@reliability-design/web 1.4.9 → 1.4.10

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.
Files changed (54) hide show
  1. package/CHANGELOG.md +155 -2
  2. package/custom-elements.json +18600 -0
  3. package/dist/components/rel-accordion/README.md +9 -2
  4. package/dist/components/rel-alert/README.md +4 -7
  5. package/dist/components/rel-autocomplete/README.md +209 -209
  6. package/dist/components/rel-avatar/README.md +228 -118
  7. package/dist/components/rel-breadcrumb/README.md +1 -0
  8. package/dist/components/rel-button/README.md +9 -9
  9. package/dist/components/rel-calendar/README.md +111 -109
  10. package/dist/components/rel-cardmedia/README.md +1 -1
  11. package/dist/components/rel-carousel/README.md +187 -187
  12. package/dist/components/rel-checkbox/README.md +159 -147
  13. package/dist/components/rel-chip/README.md +141 -138
  14. package/dist/components/rel-container/README.md +1 -1
  15. package/dist/components/rel-date-picker/README.md +221 -206
  16. package/dist/components/rel-drawer/README.md +4 -4
  17. package/dist/components/rel-kbd/README.md +188 -141
  18. package/dist/components/rel-layout/README.md +34 -34
  19. package/dist/components/rel-menu/README.md +17 -10
  20. package/dist/components/rel-menubar/README.md +218 -218
  21. package/dist/components/rel-otp/README.md +4 -8
  22. package/dist/components/rel-pagination/README.md +141 -100
  23. package/dist/components/rel-popover/README.md +220 -203
  24. package/dist/components/rel-radio/README.md +142 -131
  25. package/dist/components/rel-range-picker/README.md +194 -171
  26. package/dist/components/rel-resizable/README.md +220 -199
  27. package/dist/components/rel-segmented-button/README.md +158 -157
  28. package/dist/components/rel-select/README.md +20 -17
  29. package/dist/components/rel-sheet/README.md +3 -2
  30. package/dist/components/rel-signature-pad/README.md +161 -0
  31. package/dist/components/rel-slider/README.md +140 -131
  32. package/dist/components/rel-snackbar/README.md +170 -168
  33. package/dist/components/rel-split-button/README.md +129 -0
  34. package/dist/components/rel-stepper/README.md +171 -171
  35. package/dist/components/rel-switch/README.md +122 -117
  36. package/dist/components/rel-tab/README.md +184 -174
  37. package/dist/components/rel-textfield/README.md +21 -28
  38. package/dist/components/rel-time-picker/README.md +188 -170
  39. package/dist/components/rel-toast/README.md +20 -11
  40. package/dist/components/rel-tooltip/README.md +5 -4
  41. package/dist/components/rel-tree/README.md +157 -0
  42. package/dist/components/rel-upload/README.md +8 -5
  43. package/dist/index.d.mts +1602 -624
  44. package/dist/index.d.ts +1602 -624
  45. package/dist/index.js +11755 -6673
  46. package/dist/index.js.map +1 -1
  47. package/dist/index.mjs +10955 -5880
  48. package/dist/index.mjs.map +1 -1
  49. package/dist/styles/motion.css +31 -0
  50. package/dist/styles/motion.tokens.json +38 -0
  51. package/dist/styles/vars.css +88 -64
  52. package/dist/{vars-DXX6QOAG.css → vars-E22LYFMV.css} +88 -64
  53. package/package.json +60 -37
  54. package/dist/styles/focus-ring.ts +0 -84
@@ -1,138 +1,141 @@
1
- # rel-chip
2
-
3
- `<rel-chip>` is the compact chip from the Figma "Chip" component: a short label with tone × variant colouring, an optional leading icon or initials avatar, an optional trailing icon, a remove control and opt-in drag-and-drop. Use it for tags, active filters, selected values in a multi-select and small status labels. Do not use it as a general button (use `rel-button`) or for status counts (use `rel-badge`); for long-lived toggles use `rel-switch` or `rel-checkbox`.
4
-
5
- ## Usage
6
-
7
- ```html
8
- <!-- Basic chip (tone="neutral" variant="fill" size="medium" border="default") -->
9
- <rel-chip label="Active"></rel-chip>
10
-
11
- <!-- Tones -->
12
- <rel-chip label="Info" tone="info"></rel-chip>
13
- <rel-chip label="Warning" tone="warning"></rel-chip>
14
- <rel-chip label="Error" tone="destructive"></rel-chip>
15
- <rel-chip label="Success" tone="success"></rel-chip>
16
-
17
- <!-- Subtle variant: tinted background, tone-coloured text -->
18
- <rel-chip label="Subtle" tone="info" variant="subtle"></rel-chip>
19
-
20
- <!-- Sizes -->
21
- <rel-chip label="Small" size="small"></rel-chip>
22
- <rel-chip label="Medium" size="medium"></rel-chip>
23
- <rel-chip label="Large" size="large"></rel-chip>
24
-
25
- <!-- Deprecated aliases — these still render, but prefer the canonical spellings above.
26
- tone="danger" is an alias of tone="destructive" and logs a one-time console notice.
27
- size="sm" / "md" / "lg" are alternative spellings (NOT deprecated, no notice). -->
28
- <rel-chip label="Error" tone="danger"></rel-chip>
29
- <rel-chip label="Small" size="sm"></rel-chip>
30
-
31
- <!-- Fully rounded corners -->
32
- <rel-chip label="Rounded" border="rounded"></rel-chip>
33
-
34
- <!-- Leading / trailing icons (icon dictionary names, rendered via <rel-icon>) -->
35
- <rel-chip label="Settings" leading-icon="settings"></rel-chip>
36
- <rel-chip label="Next" trailing-icon="chevron-right"></rel-chip>
37
-
38
- <!-- Initials avatar (takes precedence over leading-icon) -->
39
- <rel-chip label="John Doe" avatar="JD"></rel-chip>
40
-
41
- <!-- Removable chip -->
42
- <rel-chip id="removableChip" label="Removable" removable></rel-chip>
43
- <script>
44
- document.getElementById("removableChip").addEventListener("removed", () => {
45
- console.log("Chip was removed");
46
- });
47
- </script>
48
-
49
- <!-- Draggable chip: native drag-and-drop plus Left/Right arrow reordering -->
50
- <rel-chip id="dragChip" label="Reorder me" draggable-chip></rel-chip>
51
- <script>
52
- document.getElementById("dragChip").addEventListener("chip-move", (e) => {
53
- console.log("move", e.detail.direction); // -1 = left, 1 = right
54
- });
55
- </script>
56
- ```
57
-
58
- <!-- readme-gen:start -->
59
-
60
- <!-- Generated from rel-chip.ts — do not edit; run readme-generate.mjs -->
61
-
62
- ## API
63
-
64
- ### Attributes / Properties
65
-
66
- | Property | Attribute | Type | Default | Description |
67
- | --- | --- | --- | --- | --- |
68
- | `label` | `label` | `string` | `"Label"` | Text shown in the chip; also its accessible name and the drag payload. |
69
- | `tone` | `tone` | `"neutral" \| "destructive" \| "warning" \| "success" \| "info" \| "danger"` | `"neutral"` | Colour tone (Figma Tone): `neutral`, `destructive`, `warning`, `success` or `info`. Combined with `variant`. `"danger"` is a deprecated alias of `"destructive"`: it keeps working, logs a one-time console notice, and is normalised to `"destructive"` on the property and the reflected attribute. Reflected. |
70
- | `variant` | `variant` | `"fill" \| "subtle" \| "primary" \| "secondary"` | `"fill"` | Emphasis (Figma Style): `fill` = solid tone background, `subtle` = tinted background with tone-coloured text. Figma's own spellings `primary` and `secondary` are accepted and normalised to `fill` / `subtle`. Reflected. |
71
- | `size` | `size` | `"small" \| "medium" \| "large" \| "sm" \| "md" \| "lg"` | `"medium"` | Height scale (Figma Size): `small` 24px / body-sm, `medium` 28px / body-md, `large` 32px / body-lg. Icon size follows (12 / 14 / 16px). `sm` / `md` / `lg` are accepted and normalised to the full words. Reflected. |
72
- | `border` | `border` | `"default" \| "rounded"` | `"default"` | Corner shape (Figma Border): `default` = 4px radius, `rounded` = fully rounded with 12px horizontal padding. Reflected. |
73
- | `leadingIcon` | `leading-icon` | `string` | `undefined` | Icon name from the generated icon dictionary (e.g. "settings") — rendered via <rel-icon> before the label. Ignored when `avatar` is set. |
74
- | `trailingIcon` | `trailing-icon` | `string` | `undefined` | Icon name from the generated icon dictionary, rendered after the label. |
75
- | `avatar` | `avatar` | `string` | `undefined` | Initials text for the avatar (e.g. "JD"), rendered as a `<rel-avatar type="text">` before the label. Mutually exclusive with leadingIcon (avatar wins). |
76
- | `removable` | `removable` | `boolean` | `false` | Shows a remove (close) button after the label; clicking it sets `removed` and fires `removed`. |
77
- | `removed` | `removed` | `boolean` | `false` | `true` once the chip has been removed — the host is hidden via `:host([removed])`. Reflected so CSS and Angular can see it; reset to `false` to show the chip again. Reflected. |
78
- | `draggableChip` | `draggable-chip` | `boolean` | `false` | Opt-in native drag-and-drop: sets `draggable="true"` on the host, shows the Figma "Dragged" state during a real drag gesture, and makes Left/Right arrow keys fire `chip-move`. |
79
-
80
- ## Events
81
-
82
- | Event | Detail | Bubbles / composed | Description |
83
- | --- | --- | --- | --- |
84
- | `chip-move` | `{ direction: e.key === "ArrowLeft" ? -1 : 1 }` | bubbles / composed | Fired on Left/Right arrow keys when `draggable-chip` is set — the keyboard alternative to drag-and-drop; the container should reorder the chip. Detail: `{ direction: -1 \| 1 }` (-1 = left, 1 = right). |
85
- | `removed` | — | bubbles / composed | Fired when the chip is removed via its remove button or Delete/Backspace (after `removed` is set to `true`). No detail. |
86
-
87
- ## Slots
88
-
89
- | Slot | Description |
90
- | --- | --- |
91
- | — | This element has no slots. |
92
-
93
- ## CSS Parts
94
-
95
- | Part | Description |
96
- | --- | --- |
97
- | `base` | The chip body (`.chip`) that carries size, tone, variant and border styling |
98
- | `icon` | The leading `<rel-icon>` (rendered only when `leading-icon` is set and no avatar) |
99
- | `label` | The label text |
100
-
101
- ## Tokens / CSS Variables
102
-
103
- ### Component hooks
104
-
105
- Set these on the host (or an ancestor) to customise the element without touching design tokens.
106
-
107
- | Custom property | Default | Description |
108
- | --- | --- | --- |
109
- | `--rel-chip-focus-ring` | `var(--rel-border-focus)` | Colour of the keyboard focus outline; default `var(--rel-border-focus)` |
110
-
111
- <!-- readme-gen:end -->
112
-
113
- ## Accessibility
114
-
115
- - The chip body is a `<span role="button" tabindex="0">` whose `aria-label` is the `label` text. The shadow root uses `delegatesFocus`, so calling `focus()` on the host focuses that inner span.
116
- - The remove control is a real `<button>` labelled `Remove {label}`; it is a second Tab stop after the chip body.
117
- - Removing a chip (button or keyboard) calls the shared `announce()` helper with `"{label} removed"`, so screen readers hear the removal even though the chip disappears.
118
- - Icons and the avatar are decorative; the accessible name comes only from `label`.
119
-
120
- | Key | Action |
121
- |-----|--------|
122
- | `Tab` | Focus the chip body, then the remove button (when `removable`) |
123
- | `Enter` / `Space` | Re-dispatches a `click` on the host so consumer `click` handlers run |
124
- | `Delete` / `Backspace` | Removes the chip when `removable` (sets `removed`, fires `removed`) |
125
- | `ArrowLeft` / `ArrowRight` | Fires `chip-move` with `direction: -1` / `1` when `draggable-chip` is set |
126
-
127
- Focus is shown as a 1.5px outline in `--rel-chip-focus-ring` (defaults to `--rel-border-focus`) around the whole chip, plus an inner `--rel-border-focus-inner` ring, only for keyboard focus (`:focus-visible`). The remove button gets its own `currentColor` outline.
128
-
129
- ## Notes / Edge Cases
130
-
131
- - `avatar` and `leading-icon` are mutually exclusive: when both are set the avatar wins and a console warning is logged. The avatar is a `rel-avatar type="text"` sized to fill the chip's content box — 16 / 20 / 24px for `sm` / `md` / `lg`, driven through `--rel-avatar-size` rather than the avatar's own `size` presets (the small chip needs 16px, below the 20px `xs` floor).
132
- - The trailing icon has no CSS part; only the leading icon is exposed as `icon`.
133
- - The remove `✕` is drawn at the same size as the leading/trailing icons (12 / 14 / 16px) and in the same colour as the label — it carries no opacity dulling, so it keeps the label's contrast ratio on the `subtle` tones.
134
- - `border="rounded"` also widens the horizontal padding to 12px at every size, per the Figma spec.
135
- - `removed` is reflected: once `true` the host is `display: none` via `:host([removed])`. Set it back to `false` to show the chip again. Clicking the remove button stops propagation, so chip-level `click` handlers do not fire on removal.
136
- - `draggable-chip` sets the native `draggable="true"` attribute on the host and puts the label in `dataTransfer` as `text/plain`. During a real drag the host carries a `dragging` attribute that maps to the Figma "Dragged" state; the same look is used for `:active`. The component does not reorder anything itself — the container must handle `drop` / `chip-move`.
137
- - The remove button has no hover state of its own; the hover/pressed colours belong to the whole chip (per-tone action tokens).
138
- - The host is `display: inline-flex` with `flex: 0 0 auto`, so chips flow inline and never stretch in a flex row.
1
+ # rel-chip
2
+
3
+ `<rel-chip>` is the compact chip from the Figma "Chip" component: a short label with tone × variant colouring, an optional leading icon or initials avatar, an optional trailing icon, a remove control and opt-in drag-and-drop. Use it for tags, active filters, selected values in a multi-select and small status labels. Do not use it as a general button (use `rel-button`) or for status counts (use `rel-badge`); for long-lived toggles use `rel-switch` or `rel-checkbox`.
4
+
5
+ ## Usage
6
+
7
+ ```html
8
+ <!-- Basic chip (tone="neutral" variant="fill" size="medium" border="default") -->
9
+ <rel-chip label="Active"></rel-chip>
10
+
11
+ <!-- Tones -->
12
+ <rel-chip label="Info" tone="info"></rel-chip>
13
+ <rel-chip label="Warning" tone="warning"></rel-chip>
14
+ <rel-chip label="Error" tone="destructive"></rel-chip>
15
+ <rel-chip label="Success" tone="success"></rel-chip>
16
+
17
+ <!-- Subtle variant: tinted background, tone-coloured text -->
18
+ <rel-chip label="Subtle" tone="info" variant="subtle"></rel-chip>
19
+
20
+ <!-- Sizes -->
21
+ <rel-chip label="Small" size="small"></rel-chip>
22
+ <rel-chip label="Medium" size="medium"></rel-chip>
23
+ <rel-chip label="Large" size="large"></rel-chip>
24
+
25
+ <!-- Deprecated aliases — these still render, but prefer the canonical spellings above.
26
+ tone="danger" is an alias of tone="destructive" and logs a one-time console notice.
27
+ size="sm" / "md" / "lg" are alternative spellings (NOT deprecated, no notice). -->
28
+ <rel-chip label="Error" tone="danger"></rel-chip>
29
+ <rel-chip label="Small" size="sm"></rel-chip>
30
+
31
+ <!-- Fully rounded corners -->
32
+ <rel-chip label="Rounded" border="rounded"></rel-chip>
33
+
34
+ <!-- Leading / trailing icons (icon dictionary names, rendered via <rel-icon>) -->
35
+ <rel-chip label="Settings" leading-icon="settings"></rel-chip>
36
+ <rel-chip label="Next" trailing-icon="chevron-right"></rel-chip>
37
+
38
+ <!-- Initials avatar (takes precedence over leading-icon) -->
39
+ <rel-chip label="John Doe" avatar="JD"></rel-chip>
40
+
41
+ <!-- Removable chip -->
42
+ <rel-chip id="removableChip" label="Removable" removable></rel-chip>
43
+ <script>
44
+ document.getElementById("removableChip").addEventListener("removed", () => {
45
+ console.log("Chip was removed");
46
+ });
47
+ </script>
48
+
49
+ <!-- Draggable chip: native drag-and-drop plus Left/Right arrow reordering -->
50
+ <rel-chip id="dragChip" label="Reorder me" draggable-chip></rel-chip>
51
+ <script>
52
+ document.getElementById("dragChip").addEventListener("chip-move", (e) => {
53
+ console.log("move", e.detail.direction); // -1 = left, 1 = right
54
+ });
55
+ </script>
56
+ ```
57
+
58
+ <!-- readme-gen:start -->
59
+
60
+ <!-- Generated from rel-chip.ts — do not edit; run readme-generate.mjs -->
61
+
62
+ ## API
63
+
64
+ ### Attributes / Properties
65
+
66
+ | Property | Attribute | Type | Default | Description |
67
+ | --- | --- | --- | --- | --- |
68
+ | `label` | `label` | `string` | `"Label"` | Text shown in the chip; also its accessible name and the drag payload. |
69
+ | `fieldAriaLabel` | `field-aria-label` | `string` | `undefined` | Accessible name for an icon-only or intentionally unlabelled chip; overrides `label` for the chip and its remove button. |
70
+ | `tone` | `tone` | `"neutral" \| "destructive" \| "warning" \| "success" \| "info" \| "danger"` | `"neutral"` | Colour tone (Figma Tone): `neutral`, `destructive`, `warning`, `success` or `info`. Combined with `variant`. `"danger"` is a deprecated alias of `"destructive"`: it keeps working, logs a one-time console notice, and is normalised to `"destructive"` on the property and the reflected attribute. Reflected. |
71
+ | `variant` | `variant` | `"fill" \| "subtle" \| "primary" \| "secondary"` | `"fill"` | Emphasis (Figma Style): `fill` = solid tone background, `subtle` = tinted background with tone-coloured text. Figma's own spellings `primary` and `secondary` are accepted and normalised to `fill` / `subtle`. Reflected. |
72
+ | `size` | `size` | `"small" \| "medium" \| "large" \| "sm" \| "md" \| "lg"` | `"medium"` | Height scale (Figma Size): `small` 24px / body-sm, `medium` 28px / body-md, `large` 32px / body-lg. Icon size follows (12 / 14 / 16px). `sm` / `md` / `lg` are accepted and normalised to the full words. Reflected. |
73
+ | `border` | `border` | `"default" \| "rounded"` | `"default"` | Corner shape (Figma Border): `default` = 4px radius, `rounded` = fully rounded with 12px horizontal padding. Reflected. |
74
+ | `leadingIcon` | `leading-icon` | `string` | `undefined` | Icon name from the generated icon dictionary (e.g. "settings") — rendered via <rel-icon> before the label. Ignored when `avatar` is set. |
75
+ | `trailingIcon` | `trailing-icon` | `string` | `undefined` | Icon name from the generated icon dictionary, rendered after the label. |
76
+ | `avatar` | `avatar` | `string` | `undefined` | Initials text for the avatar (e.g. "JD"), rendered as a `<rel-avatar type="text">` before the label. Mutually exclusive with leadingIcon (avatar wins). |
77
+ | `removable` | `removable` | `boolean` | `false` | Shows a remove (close) button after the label; clicking it sets `removed` and fires `removed`. |
78
+ | `presentational` | `presentational` | `boolean` | `false` | New in 1.5.0. Makes the chip body plain text: no `button` role, no Tab stop, no Enter / Space / Delete handling and no host click re-dispatch. The remove button (when `removable`) stays a real button. For chips that only display a value inside another control, e.g. rel-select's multi-select chips. Reflected. |
79
+ | `removed` | `removed` | `boolean` | `false` | `true` once the chip has been removed — the host is hidden via `:host([removed])`. Reflected so CSS and Angular can see it; reset to `false` to show the chip again. Reflected. |
80
+ | `draggableChip` | `draggable-chip` | `boolean` | `false` | Opt-in native drag-and-drop: sets `draggable="true"` on the host, shows the Figma "Dragged" state during a real drag gesture, and makes Left/Right arrow keys fire `chip-move`. |
81
+
82
+ ## Events
83
+
84
+ | Event | Detail | Bubbles / composed | Description |
85
+ | --- | --- | --- | --- |
86
+ | `chip-move` | `{ direction: e.key === "ArrowLeft" ? -1 : 1 }` | bubbles / composed | Fired on Left/Right arrow keys when `draggable-chip` is set — the keyboard alternative to drag-and-drop; the container should reorder the chip. Detail: `{ direction: -1 \| 1 }` (-1 = left, 1 = right). |
87
+ | `removed` | — | bubbles / composed | Fired when the chip is removed via its remove button or Delete/Backspace (after `removed` is set to `true`). No detail. |
88
+
89
+ ## Slots
90
+
91
+ | Slot | Description |
92
+ | --- | --- |
93
+ | — | This element has no slots. |
94
+
95
+ ## CSS Parts
96
+
97
+ | Part | Description |
98
+ | --- | --- |
99
+ | `base` | The chip body (`.chip`) that carries size, tone, variant and border styling |
100
+ | `icon` | The leading `<rel-icon>` (rendered only when `leading-icon` is set and no avatar) |
101
+ | `label` | The label text |
102
+ | `remove` | The remove `<button>` (rendered only when `removable`) |
103
+
104
+ ## Tokens / CSS Variables
105
+
106
+ ### Component hooks
107
+
108
+ Set these on the host (or an ancestor) to customise the element without touching design tokens.
109
+
110
+ | Custom property | Default | Description |
111
+ | --- | --- | --- |
112
+ | `--rel-chip-focus-ring` | `var(--rel-border-focus)` | Colour of the keyboard focus outline; default `var(--rel-border-focus)` |
113
+
114
+ <!-- readme-gen:end -->
115
+
116
+ ## Accessibility
117
+
118
+ - The chip body is a `<span role="button" tabindex="0">` whose `aria-label` is the `label` text. The shadow root uses `delegatesFocus`, so calling `focus()` on the host focuses that inner span.
119
+ - The remove control is a real `<button>` labelled `Remove {label}`; it is a second Tab stop after the chip body.
120
+ - Removing a chip (button or keyboard) calls the shared `announce()` helper with `"{label} removed"`, so screen readers hear the removal even though the chip disappears.
121
+ - Icons and the avatar are decorative; the accessible name comes only from `label`.
122
+
123
+ | Key | Action |
124
+ |-----|--------|
125
+ | `Tab` | Focus the chip body, then the remove button (when `removable`) |
126
+ | `Enter` / `Space` | Re-dispatches a `click` on the host so consumer `click` handlers run |
127
+ | `Delete` / `Backspace` | Removes the chip when `removable` (sets `removed`, fires `removed`) |
128
+ | `ArrowLeft` / `ArrowRight` | Fires `chip-move` with `direction: -1` / `1` when `draggable-chip` is set |
129
+
130
+ Focus is shown as a 1.5px outline in `--rel-chip-focus-ring` (defaults to `--rel-border-focus`) around the whole chip, plus an inner `--rel-border-focus-inner` ring, only for keyboard focus (`:focus-visible`). The remove button gets its own `currentColor` outline.
131
+
132
+ ## Notes / Edge Cases
133
+
134
+ - `avatar` and `leading-icon` are mutually exclusive: when both are set the avatar wins and a console warning is logged. The avatar is a `rel-avatar type="text"` sized to fill the chip's content box — 16 / 20 / 24px for `sm` / `md` / `lg`, driven through `--rel-avatar-size` rather than the avatar's own `size` presets (the small chip needs 16px, below the 20px `xs` floor).
135
+ - The trailing icon has no CSS part; only the leading icon is exposed as `icon`.
136
+ - The remove `✕` is drawn at the same size as the leading/trailing icons (12 / 14 / 16px) and in the same colour as the label — it carries no opacity dulling, so it keeps the label's contrast ratio on the `subtle` tones.
137
+ - `border="rounded"` also widens the horizontal padding to 12px at every size, per the Figma spec.
138
+ - `removed` is reflected: once `true` the host is `display: none` via `:host([removed])`. Set it back to `false` to show the chip again. Clicking the remove button stops propagation, so chip-level `click` handlers do not fire on removal.
139
+ - `draggable-chip` sets the native `draggable="true"` attribute on the host and puts the label in `dataTransfer` as `text/plain`. During a real drag the host carries a `dragging` attribute that maps to the Figma "Dragged" state; the same look is used for `:active`. The component does not reorder anything itself — the container must handle `drop` / `chip-move`.
140
+ - The remove button has no hover state of its own; the hover/pressed colours belong to the whole chip (per-tone action tokens).
141
+ - The host is `display: inline-flex` with `flex: 0 0 auto`, so chips flow inline and never stretch in a flex row.
@@ -57,7 +57,7 @@
57
57
  | --- | --- | --- | --- | --- |
58
58
  | `padding` | `padding` | `"small" \| "medium" \| "large" \| "extra-large" \| "sm" \| "md" \| "lg" \| "xl"` | `"medium"` | Inner padding step: `small` = spacing-xs, `medium` = spacing-md, `large` = spacing-lg. `extra-large` = spacing-2xl is a code-only extension — Figma publishes only the three steps above — and is supported, not deprecated. `sm` / `md` / `lg` / `xl` are alternative spellings and stay supported, normalised to the full words. Reflected. |
59
59
  | `shadow` | `shadow` | `boolean` | `false` | Adds the shadow-300 elevation box-shadow to the surface. |
60
- | `surface` | `surface` | `"default" \| "elevated" \| "transparent"` | `undefined` | Surface fill: default (page surface) \| elevated (raised surface) \| transparent. Takes precedence over the deprecated `background` prop. Reflected. |
60
+ | `surface` | `surface` | `"default" \| "elevated" \| "transparent"` | `undefined` | Surface fill: `"default"` (the default: page surface) \| `"elevated"` (raised surface) \| `"transparent"`. Takes precedence over the deprecated `background` prop. Reflected. |
61
61
 
62
62
  #### Deprecated (still supported — removal targeted for 3.0)
63
63