SearchCtrlK

  • ↑↓navigate
  • ↵open
  • escclose

Can’t find it? Contact us

Crosshair

A small "+" mark centred on a corner of its positioned ancestor, the registration mark a ruled page draws where a rail meets a rule.

21px marks
11px marks
View code
tsx
<div mix={[raw({ position: "relative", border: "1px solid var(--ui-landing-hairline)" })]}>
	<Crosshair corner="start-start" />
	<Crosshair corner="start-end" />
	<Crosshair corner="end-start" />
	<Crosshair corner="end-end" />
	…
</div>

<Crosshair corner="end-end" size="sm" />

Demo landings

Whole pages built only from @sdxc/ui, each for an invented product with its own palette and type. They open in a new tab.

Every demo, landings and docs sites alike, is listed in the demo gallery.

Installation

An ordinary dependency: install it, import the theme once, and import the component where it is used.

Terminal
npm add @sdxc/ui remix
typescript
import "@sdxc/ui/theme.css";

Usage

typescript
import { Crosshair } from "@sdxc/ui/landing";

Draws a "+" in hairline ink, absolutely positioned and centred on one corner of the nearest positioned ancestor by a negative half-size margin on every side. Give the ancestor position: relative; logical insets put the mark on the mirrored corner in RTL.

Props

Read from the component's own types, so every prop, every default and every allowed value is listed.

PropTypeRequiredDescription
corner"start-start" | "start-end" | "end-start" | "end-end"NoCorner to centre on. Defaults to DEFAULT_CORNER.
size"sm" | "md"NoMark size. Defaults to DEFAULT_SIZE.

Also accepts everything in Omit<TagProps<"span">, "children">.

Types

NameValuesWhat it decides
Size"sm" | "md"sm is an 11px mark for dense grids; md is the 21px mark a band corner takes.
Corner"start-start" | "start-end" | "end-start" | "end-end"Corner of the positioned ancestor the mark centres on, as <block>-<inline> in logical terms, so a right-to-left page mirrors the marks with its content.
@sdxc/ui

Can’t find it? Contact us