@stackone/malachite 0.65.1 → 0.67.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/COMPONENTS.md CHANGED
@@ -9,6 +9,8 @@ The catalog of components exported from `@stackone/malachite`. **Reach for one o
9
9
  - **`Surface`** — Rounded, bordered card container with the standard elevation shadow. Use `overflow="clip"` to keep the rounded clipping while letting a `position: sticky` descendant still pin (`hidden` would trap it); `visible` disables clipping. _Key props:_ `children`, `padding`, `overflow`, `className`, `style`.
10
10
  - **`SurfaceRow`** — A full-bleed row inside a Surface (used as `Surface.Row`). Owns hover highlight, colour transition and an optional bottom divider. Pass `onClick`/`href` to make the whole row clickable (renders as a real button/anchor, so keyboard nav works). For a selectable row use `role="radio"` + `selected` and put a presentational `<Radio>` inside as the indicator. _Key props:_ `divider`, `disabled`, `onClick`, `href`, `selected`, `role`, `className`, `style`.
11
11
  - **`Card`** — Generic content card.
12
+ - **`SelectableCard`** — A card that is one option in a radio group — eyebrow, optional status tag, title, description, a count label and a footer action slot. Use inside a `CardStrip`. Selection is controlled by the consumer: pass `selected`, which drives both the visual treatment and `aria-checked`. `footerActions` renders outside the control so a menu or icon button inside it stays clickable and keeps its own tab stop. For a row-shaped selectable use `Surface.Row` instead. _Key props:_ `value`, `title`, `titleIcon`, `eyebrow`, `status` (`label`, `type`), `description`, `countLabel`, `footerActions`, `selected`, `selectedLabel`, `disabled`, `dimmed`, `onSelect`, `tabIndex`, `aria-label`, `className`, `style`.
13
+ - **`CardStrip`** — Horizontally scrolling radio group of cards, with edge arrows that appear only when the content overflows, an edge fade, scroll-snap and arrow-key navigation matching `SegmentedControl`. Owns interaction only: it finds its options by looking for `role="radio"` descendants carrying `data-value`, so any such child works (`SelectableCard` emits both). Pass a non-selectable terminal tile as `CardStrip.AddTile` — it sits inside the group but outside the radio set. Use `leading` to pin a card that should not scroll away. _Key props:_ `value`, `onChange`, `children`, `leading`, `arrows`, `fadeEdges`, `snap`, `scrollSelectedIntoView`, `aria-label`, `aria-labelledby`, `className`, `style`. `CardStrip.AddTile`: `label`, `icon`, `onClick`, `disabled`, `className`.
12
14
  - **`SplitScreenLayout`** — Two-pane full-screen layout (content + preview/aside) with an optional dismiss button.
13
15
  - **`WizardLayout`** — Full-screen wizard scaffold: top bar (back button, right-aligned stepper, trailing slot), pinned `header` slot, centered scrolling content column, and a pinned footer (above sticky body content). `footerGlass` gives the footer a frosted translucent + backdrop-blur treatment. _Key props:_ `showBack`, `onBack`, `stepper`, `trailing`, `header`, `footer`, `footerGlass`, `center`, `contentWidth`, `minWidth`.
14
16
  - **`Toolbar`** — Flat, opaque horizontal bar for a sub-header / filter row (e.g. a Search). Owns its chrome — opaque `card-background` (so it can pin over scrolling content) + optional bottom `divider` — so consumers don’t hand-roll background/border tokens. Positioning (incl. sticky) is left to the consumer. _Key props:_ `divider`, `padding`, `className`, `style`.
@@ -39,15 +41,15 @@ The catalog of components exported from `@stackone/malachite`. **Reach for one o
39
41
  - **`Form`** — Form container coordinating field layout and submission.
40
42
  - **`FormItem`** — Labelled form field wrapper (label, help text, error).
41
43
  - **`BaseFormComponent`** — Low-level base used by form controls; rarely used directly.
42
- - **`Input`** — Single-line text input.
43
- - **`TextArea`** — Multi-line text input.
44
+ - **`Input`** — Single-line text input. _Key props:_ `label`, `type`, `InputSize`, `InputVariant` (`default` | `ghost`), `required`, `error`, `helperText`, `loading`, `formControl`, `showCopyButton`, `showPasswordToggle`, `aria-label`, `aria-labelledby`, `id`.
45
+ - **`TextArea`** — Multi-line text input. _Key props:_ `label`, `rows`, `maxLength`, `resize`, `required`, `error`, `loading`, `formControl`, `aria-label`, `aria-labelledby`, `id`.
44
46
  - **`Search`** — Search input with a leading icon; `filled` and `muted` variants. _Key props:_ `value`, `onChange`, `placeholder`, `variant`, `size`, `disabled`.
45
47
  - **`Checkbox`** — Checkbox supporting checked/indeterminate/disabled. Pass `presentational` to render a visual-only, non-focusable indicator for use inside a clickable row/card. _Key props:_ `checked`, `indeterminate`, `disabled`, `onChange`, `presentational`.
46
48
  - **`Radio`** — Single radio control with hover state; parent manages the group. Pass `presentational` to render a visual-only, non-focusable indicator for use inside a clickable row/card. _Key props:_ `checked`, `onChange`, `disabled`, `size`, `presentational`.
47
49
  - **`SegmentedControl`** — A pill track of mutually-exclusive options — the segmented “one of these” control. Owns the track background, the selected-thumb chrome and the `radiogroup` semantics, so consumers never hand-roll a track around `PillButton` (whose `default` variant tokens are tuned for standalone filter pills, not a sunken track). Single tab stop with arrow-key move-and-select; selection is conveyed via `aria-checked` and a foreground change, not background colour alone. Restyle via the `segmentedControl` theme tokens. _Key props:_ `options` (`value`, `label`, `icon`, `disabled`), `value`, `onChange`, `SegmentedControlSize` (`small` | `medium`), `fullWidth`, `disabled`, `aria-label`, `aria-labelledby`, `className`.
48
50
  - **`Toggle`** — On/off switch. Add `label` for a visible caption, and `variant` to give it standalone toolbar-filter chrome — pick the family it sits beside: `pill` matches the filter-bar inputs (`Search`, `MultiSelect`), `button` renders the whole control as an outline `Button` with the switch as its trailing icon. `bordered` is shorthand for `variant="pill"`. _Key props:_ `checked`, `onChange`, `disabled`, `ToggleSize` (`small` | `medium`), `label`, `ToggleVariant` (`pill` | `button`), `bordered`, `aria-label`, `aria-labelledby`, `id`.
49
- - **`Dropdown`** — Single-select dropdown. _Key props:_ `DropdownItem[]`, `DropdownSize`.
50
- - **`MultiSelect`** — Multi-select dropdown. _Key props:_ `MultiSelectOption[]`, `MultiSelectSize`.
51
+ - **`Dropdown`** — Single-select dropdown. _Key props:_ `DropdownItem[]`, `DropdownSize`, `label`, `search`, `required`, `error`, `helperText`, `loading`, `formControl`, `aria-label`, `aria-labelledby`, `id`.
52
+ - **`MultiSelect`** — Multi-select dropdown. _Key props:_ `MultiSelectOption[]`, `MultiSelectSize`, `label`, `searchable`, `inlineSearch`, `chips`, `chipsRemovable`, `required`, `aria-label`, `aria-labelledby`, `id`.
51
53
 
52
54
  ## Buttons & actions
53
55
 
@@ -1,5 +1,5 @@
1
1
  import { jsx as On } from "react/jsx-runtime";
2
- import { _ as ce, a as ue, C as rn, b as se } from "./index-C7oEKZwO.js";
2
+ import { _ as ce, a as ue, C as rn, b as se } from "./index-DP5h64uw.js";
3
3
  import H from "react";
4
4
  function fe(n, e) {
5
5
  if (n == null) return {};
@@ -2751,4 +2751,4 @@ const pt = {
2751
2751
  export {
2752
2752
  vt as default
2753
2753
  };
2754
- //# sourceMappingURL=CodeBlockHighlighter-DwFkP12v.js.map
2754
+ //# sourceMappingURL=CodeBlockHighlighter-2KYTmjt2.js.map