@slotted/angular 0.1.0-beta.1 → 0.1.0-beta.2

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 (88) hide show
  1. package/README.md +4 -0
  2. package/docs/AGENTS.snippet.md +10 -0
  3. package/docs/checkbox.json +7 -0
  4. package/docs/checkbox.md +1 -0
  5. package/docs/event-calendar.json +7 -0
  6. package/docs/event-calendar.md +1 -0
  7. package/docs/guidelines/README.md +27 -0
  8. package/docs/guidelines/async-feedback.md +108 -0
  9. package/docs/guidelines/browsing.md +74 -0
  10. package/docs/guidelines/builders.md +97 -0
  11. package/docs/guidelines/composition.md +129 -0
  12. package/docs/guidelines/conversations.md +59 -0
  13. package/docs/guidelines/errors-and-conflicts.md +71 -0
  14. package/docs/guidelines/forms.md +192 -0
  15. package/docs/guidelines/index.md +121 -0
  16. package/docs/guidelines/layout-alignment.md +95 -0
  17. package/docs/guidelines/ledgers.md +45 -0
  18. package/docs/guidelines/list-pages.md +165 -0
  19. package/docs/guidelines/overviews.md +66 -0
  20. package/docs/guidelines/own-elements.md +115 -0
  21. package/docs/guidelines/reading-permissions.md +55 -0
  22. package/docs/guidelines/record-pages.md +178 -0
  23. package/docs/guidelines/reports.md +123 -0
  24. package/docs/guidelines/shell-composition.md +94 -0
  25. package/docs/guidelines/workspaces.md +46 -0
  26. package/docs/index.md +12 -0
  27. package/docs/progress-indicator.json +1 -2
  28. package/docs/progress-indicator.md +2 -2
  29. package/docs/skills/build-own-element/SKILL.md +90 -0
  30. package/docs/skills/compose-screen/SKILL.md +76 -0
  31. package/docs/skills/index.md +9 -0
  32. package/docs/skills/review-screen/SKILL.md +70 -0
  33. package/docs/skills/theme-app/SKILL.md +74 -0
  34. package/docs/skills/waiting-states/SKILL.md +139 -0
  35. package/docs/stat-card.json +1 -0
  36. package/docs/stat-card.md +1 -1
  37. package/docs/tabs.json +1 -4
  38. package/docs/tabs.md +1 -1
  39. package/docs/tokens.md +424 -0
  40. package/fesm2022/slotted-angular-app-shell.mjs +2 -2
  41. package/fesm2022/slotted-angular-app-shell.mjs.map +1 -1
  42. package/fesm2022/slotted-angular-checkbox.mjs +11 -2
  43. package/fesm2022/slotted-angular-checkbox.mjs.map +1 -1
  44. package/fesm2022/slotted-angular-column-manager.mjs +1 -1
  45. package/fesm2022/slotted-angular-column-manager.mjs.map +1 -1
  46. package/fesm2022/slotted-angular-combobox.mjs +12 -6
  47. package/fesm2022/slotted-angular-combobox.mjs.map +1 -1
  48. package/fesm2022/slotted-angular-dashboard-grid.mjs +18 -22
  49. package/fesm2022/slotted-angular-dashboard-grid.mjs.map +1 -1
  50. package/fesm2022/slotted-angular-data-grid.mjs +6 -2
  51. package/fesm2022/slotted-angular-data-grid.mjs.map +1 -1
  52. package/fesm2022/slotted-angular-data-list.mjs +1 -1
  53. package/fesm2022/slotted-angular-data-list.mjs.map +1 -1
  54. package/fesm2022/slotted-angular-drawer.mjs +5 -1
  55. package/fesm2022/slotted-angular-drawer.mjs.map +1 -1
  56. package/fesm2022/slotted-angular-event-calendar.mjs +17 -7
  57. package/fesm2022/slotted-angular-event-calendar.mjs.map +1 -1
  58. package/fesm2022/slotted-angular-loading-overlay.mjs +2 -2
  59. package/fesm2022/slotted-angular-markdown.mjs +1 -1
  60. package/fesm2022/slotted-angular-markdown.mjs.map +1 -1
  61. package/fesm2022/slotted-angular-multi-select.mjs +32 -27
  62. package/fesm2022/slotted-angular-multi-select.mjs.map +1 -1
  63. package/fesm2022/slotted-angular-number-field.mjs +2 -2
  64. package/fesm2022/slotted-angular-number-field.mjs.map +1 -1
  65. package/fesm2022/slotted-angular-progress-indicator.mjs +6 -6
  66. package/fesm2022/slotted-angular-select.mjs +1 -25
  67. package/fesm2022/slotted-angular-select.mjs.map +1 -1
  68. package/fesm2022/slotted-angular-stat-card.mjs +2 -2
  69. package/fesm2022/slotted-angular-stat-card.mjs.map +1 -1
  70. package/fesm2022/slotted-angular-table.mjs +3 -3
  71. package/fesm2022/slotted-angular-table.mjs.map +1 -1
  72. package/fesm2022/slotted-angular-tabs.mjs +2 -2
  73. package/fesm2022/slotted-angular-tabs.mjs.map +1 -1
  74. package/fesm2022/slotted-angular-transfer.mjs +1 -1
  75. package/fesm2022/slotted-angular-transfer.mjs.map +1 -1
  76. package/fesm2022/slotted-angular-upload.mjs +2 -2
  77. package/package.json +3 -3
  78. package/types/slotted-angular-checkbox.d.ts +7 -1
  79. package/types/slotted-angular-checkbox.d.ts.map +1 -1
  80. package/types/slotted-angular-combobox.d.ts.map +1 -1
  81. package/types/slotted-angular-dashboard-grid.d.ts.map +1 -1
  82. package/types/slotted-angular-data-grid.d.ts.map +1 -1
  83. package/types/slotted-angular-drawer.d.ts.map +1 -1
  84. package/types/slotted-angular-event-calendar.d.ts +9 -2
  85. package/types/slotted-angular-event-calendar.d.ts.map +1 -1
  86. package/types/slotted-angular-multi-select.d.ts +10 -0
  87. package/types/slotted-angular-multi-select.d.ts.map +1 -1
  88. package/types/slotted-angular-select.d.ts.map +1 -1
@@ -0,0 +1,74 @@
1
+ ---
2
+ name: theme-app
3
+ description: Use when changing how an application built with @slotted/angular looks, as a whole or in one region — its brand colour, a light, dark or high-contrast scheme, density, fonts, corners, or the shape of a control. Chooses the narrowest level that reaches the change — a seed, a token, a family token or a theme rule — and where it is declared.
4
+ ---
5
+
6
+ # Theme an application
7
+
8
+ The theme decides every value a family paints. A change of look is made in a
9
+ theme or on a scope, never by CSS of the application on a family's parts.
10
+
11
+ ## 1. Choose the level
12
+
13
+ Take the first row that reaches the change.
14
+
15
+ | The change | Level | Declared in |
16
+ | ------------------------------------------------------ | --------------------------------------------------------------- | ----------------------------------------------------------------------------- |
17
+ | The brand colour, or the colour of one intent | a seed: `--slotted-seed-accent` or another name of `SEED_NAMES` | the theme's `seeds`, or a scope |
18
+ | Light, dark, high contrast, or the system's preference | the scheme: `light`, `dark`, `high-contrast`, `system` | `data-slotted-scheme`, or the scheme of the `slThemeScope` directive from `@slotted/angular/theme` |
19
+ | How tight controls and rows are | the density: `comfortable`, `compact`, `dense` | `data-slotted-density`, or the density of the `slThemeScope` directive from `@slotted/angular/theme` |
20
+ | Spacing, corners, type, lines, shadows or motion | a token of a group in `node_modules/@slotted/angular/docs/tokens.md` | the theme's `base`; `schemes` for a value per scheme; `densities` per density |
21
+ | One family's look | a token the family's page lists under Tokens | the theme's `components` |
22
+ | What no token reaches | a theme rule | the theme's `rules` |
23
+
24
+ Every colour token derives from the five seeds within contrast bounds, so a
25
+ new seed keeps the ratios of every scheme. A colour of the `tone`, `surface`,
26
+ `text` or `border` groups is changed through its seed, never declared by hand.
27
+
28
+ ## 2. One theme for the product
29
+
30
+ 1. Build it with `extendTheme` on the theme of `@slotted/themes/default`: a
31
+ name of its own, and only what changes — `seeds`, then `base`, `schemes`
32
+ and `densities`, then `components`, then `rules`. A face the product brings
33
+ goes in `fonts`, and the `font-family` group names it; headings read
34
+ `--slotted-font-family-heading`.
35
+ 2. Compile it with `slotted-build-theme`, load the stylesheet it writes in
36
+ place of `@slotted/themes/default.css`, and set the theme's name in
37
+ `data-slotted-theme` and the scheme in `data-slotted-scheme` on the root
38
+ element.
39
+ 3. A theme chosen at runtime is applied with `applyTheme`, in a module the
40
+ application loads on demand: `@slotted/theme` carries the whole token
41
+ contract and its validator.
42
+ 4. In a test of the theme, `themeConformance` from `@slotted/theme/conformance`
43
+ checks the structure, the contrast of every scheme and the glyphs, under
44
+ Node's test runner. It takes the `contract`, the theme passed through
45
+ `flattenTheme`, and the compiled stylesheet.
46
+
47
+ ## 3. One region
48
+
49
+ 1. A scheme or a density for a subtree: the `slThemeScope` directive from `@slotted/angular/theme`, which carries both to
50
+ an overlay opened inside it, or the `data-slotted-scheme` and
51
+ `data-slotted-density` attributes on the subtree's root.
52
+ 2. A seed for a subtree: the seed property on an element that also carries
53
+ `data-slotted-seeds`, or the seeds of the `slThemeScope` directive from `@slotted/angular/theme`. Every colour under it
54
+ derives again from that seed.
55
+ 3. A colour the reader picks at runtime: write the seed property on the element
56
+ that carries `data-slotted-theme`, with `seedStyle` from
57
+ `@slotted/theme/seeds`, which leaves the token contract out of the bundle.
58
+
59
+ ## 4. Restyle a control
60
+
61
+ 1. A token every control reads, in `base`, `schemes` or `densities`.
62
+ 2. Else a token of the family, in `components`; it falls back to the control
63
+ token.
64
+ 3. Else a theme rule. It lives in `slotted.theme-rules`, selects only
65
+ `data-ui`, `data-part`, the attributes a family writes and the theme's
66
+ attributes, and reads only tokens; the compiler names the file, the line
67
+ and the selector of a rule it refuses.
68
+
69
+ ## 5. Done
70
+
71
+ 1. The application's own CSS declares no token of the `tone`, `surface`,
72
+ `text` or `border` groups, and sets no colour, border, radius, padding or
73
+ type on a family's `data-ui` or `data-part`.
74
+ 2. `themeConformance` passes for the theme.
@@ -0,0 +1,139 @@
1
+ ---
2
+ name: waiting-states
3
+ description: Use when building or reviewing anything a person waits in front of in an application built with @slotted/angular — placeholders, a control's own loading state, a loading overlay, a progress indicator, or the empty and error states beside them. Decides which indicator answers which wait and how placeholders are built from the anatomy they stand in for.
4
+ ---
5
+
6
+ # Waiting states
7
+
8
+ A waiting state is a screen the reader sees, not a gap in one. It is built from
9
+ the anatomy it stands in for, and it is finished when the loaded screen and the
10
+ pending screen occupy the same boxes.
11
+
12
+ The failure this skill prevents: three grey bars of equal length where a table,
13
+ a card and a list should have been.
14
+
15
+ Rules cited here are in `node_modules/@slotted/angular/docs/guidelines/async-feedback.md`. Each family
16
+ named here has its page: `node_modules/@slotted/angular/docs/<family>.md`.
17
+
18
+ ## 1. Which indicator answers which wait
19
+
20
+ Answer in order and stop at the first row that decides.
21
+
22
+ | The wait | The indicator |
23
+ | ---------------------------------------------------------------------------------- | ------------------------------------------------- |
24
+ | Structure is known before the data arrives — a list, a table, a card, a form | `skeleton` placeholders |
25
+ | A control started the request and stays on screen — a button, a field, a menu item | that family's own `loading` state |
26
+ | A region already painted is being replaced and must not be touched meanwhile | `loading-overlay` |
27
+ | The work reports how much is done | `progress-indicator` with a value |
28
+ | Nothing above: duration unknown, structure unknown, area small | `progress-indicator` in its `indeterminate` state |
29
+
30
+ Two indicators never answer the same wait in the same region. Placeholders
31
+ under an overlay, an indeterminate indicator inside placeholders, and a
32
+ progress indicator over a control that already waits are each one indicator
33
+ too many.
34
+
35
+ A region that already shows items is busy, not pending: it keeps its items,
36
+ carries `aria-busy`, and swaps them when the newer answer arrives (AF-02,
37
+ AF-07). Replacing read content with placeholders on every refresh is how a
38
+ screen flickers. A change of view or page is different: the rows on screen are
39
+ removed and placeholders stand in their place (AF-04).
40
+
41
+ A control that starts a request waits on it: it is in its `loading` state from
42
+ activation until the answer, refuses a second activation and shows the
43
+ family's indicator (AF-03).
44
+
45
+ ## 2. Placeholders are the anatomy, not rectangles
46
+
47
+ Placeholders are the same layout as the content, drawn in one colour. Build
48
+ them from the loaded markup:
49
+
50
+ 1. Keep the container, the parts, the grid, the inset and the gap tokens the
51
+ loaded content uses. Copy the structure; replace only what carries data.
52
+ 2. Text becomes `skeleton` text lines at the same type size, so the reserved
53
+ height is the height the text will take.
54
+ 3. Media — avatar, thumbnail, chart — becomes a shape of its own measured box.
55
+ 4. Repetition takes the real count: a list reserves the rows its first page
56
+ returns, a table reserves its columns at their real widths, a card reserves
57
+ the avatar and the two lines that card holds.
58
+ 5. Stop where the reader stops. A row's badge, a trailing icon and a caption
59
+ belong to the loaded row, not to its placeholder.
60
+
61
+ Line lengths vary the way text varies: the last line of a paragraph is short,
62
+ a name is shorter than a description. A stack of bars of equal length is the
63
+ defect this section names.
64
+
65
+ ### What never gets placeholders
66
+
67
+ Chrome that is already painted renders with its real content: the application
68
+ bar, the navigation column, the page header's title, a toolbar, a tab strip, a
69
+ section heading. Only what is being fetched is reserved. An action nobody can
70
+ press yet is absent, not drawn as a placeholder.
71
+
72
+ ## 3. The test: nothing moves
73
+
74
+ The pending state and the loaded state occupy the same boxes. Capture both at
75
+ the same width, in the same scheme, and compare their bounding boxes: any box
76
+ that moves between them is a defect.
77
+
78
+ Where the two cannot match exactly — an unknown number of rows, a description
79
+ of unknown length — reserve the smaller of the two and let the content grow
80
+ downward, never a box that shrinks.
81
+
82
+ ## 4. Timing
83
+
84
+ - A region's placeholders appear at once; they are never delayed (AF-05).
85
+ - A control's indicator may wait for the family's `loadingDelay`, so a request
86
+ that answers first shows no indicator; the control still refuses a second
87
+ activation (AF-05).
88
+ - Once painted, placeholders stay for one minimum duration the application
89
+ states once for the whole product — the `minDuration` of `skeleton` and
90
+ `loading-overlay` — even when the answer has already arrived (AF-06).
91
+
92
+ ## 5. Announcement and focus
93
+
94
+ - Placeholders are out of the accessibility tree. They describe nothing; the
95
+ region says what is happening.
96
+ - One announcement per region, `polite`, once — not one per placeholder.
97
+ `skeleton` and `loading-overlay` announce through their `live` axis, `polite`
98
+ by default: keep it on the one that stands for the region and set it to `off`
99
+ on every other placeholder in that region.
100
+ - The region carries `aria-busy` while it waits and drops it when the answer
101
+ arrives.
102
+ - Focus does not move, on entry or on arrival. Content that lands under the
103
+ reader's focus does not take it, and a placeholder never holds a tab stop.
104
+
105
+ ## 6. Motion
106
+
107
+ One shimmer per region, from the family's own animation, not one per bar.
108
+ Under `prefers-reduced-motion: reduce` the animation stops and the reserved
109
+ shape stays.
110
+
111
+ ## 7. Pending, empty and error are three states
112
+
113
+ | State | What it says | What it offers |
114
+ | ---------- | ----------------------------------------- | ----------------------------------------- |
115
+ | Pending | the answer is coming | nothing to press |
116
+ | Empty | an answer arrived and it holds zero items | the action that creates the first one |
117
+ | No results | the filter excluded everything | clearing the filter |
118
+ | Error | the answer did not arrive | retry; the data that is still valid stays |
119
+
120
+ The empty state appears only after an answer holding zero items, never while
121
+ the first answer is pending (AF-01). Empty, no results and error are drawn by
122
+ `result-state`. An error replaces the indicator; it never leaves placeholders
123
+ animating behind a message.
124
+
125
+ ## 8. Before calling a wait done
126
+
127
+ - [ ] The indicator matches the wait, by the table in section 1, and there is
128
+ only one.
129
+ - [ ] Placeholders mirror the anatomy: same parts, same grid, same tokens, real
130
+ counts.
131
+ - [ ] Loaded and pending captured at the same width: no box moves.
132
+ - [ ] Line lengths vary; no stack of equal bars.
133
+ - [ ] Chrome that already exists is painted with its real content.
134
+ - [ ] Placeholders are not delayed; the minimum duration is stated once.
135
+ - [ ] One polite announcement per region, `aria-busy` on the region, focus
136
+ untouched.
137
+ - [ ] Reduced motion stops the animation and keeps the shape.
138
+ - [ ] Empty, no results and error are distinct states, each with its next step.
139
+ - [ ] Each `Check` of AF-01 to AF-07 passes.
@@ -428,6 +428,7 @@
428
428
  "--slotted-stat-card-value-line-height-sm",
429
429
  "--slotted-surface-raised",
430
430
  "--slotted-surface-sunken",
431
+ "--slotted-target-comfortable",
431
432
  "--slotted-text",
432
433
  "--slotted-text-muted",
433
434
  "--slotted-tone-accent-text",
package/docs/stat-card.md CHANGED
@@ -110,7 +110,7 @@ Excerpt — not a complete module
110
110
 
111
111
  ## Tokens
112
112
 
113
- `--slotted-border-subtle`, `--slotted-border-width-thin`, `--slotted-control-icon-size-md`, `--slotted-control-icon-size-sm`, `--slotted-font-family-sans`, `--slotted-font-size-2xl`, `--slotted-font-size-3xl`, `--slotted-font-size-4xl`, `--slotted-font-size-md`, `--slotted-font-size-sm`, `--slotted-font-size-xl`, `--slotted-font-size-xs`, `--slotted-font-weight-medium`, `--slotted-font-weight-semibold`, `--slotted-line-height-2xl`, `--slotted-line-height-3xl`, `--slotted-line-height-4xl`, `--slotted-line-height-md`, `--slotted-line-height-sm`, `--slotted-line-height-xl`, `--slotted-line-height-xs`, `--slotted-radius-lg`, `--slotted-radius-none`, `--slotted-shadow-md`, `--slotted-space-1`, `--slotted-space-11`, `--slotted-space-12`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-space-4`, `--slotted-space-5`, `--slotted-space-6`, `--slotted-space-7`, `--slotted-space-8`, `--slotted-space-9`, `--slotted-sparkline-block-size`, `--slotted-sparkline-block-size-lg`, `--slotted-sparkline-block-size-sm`, `--slotted-stat-card-background`, `--slotted-stat-card-background-subtle`, `--slotted-stat-card-border-color`, `--slotted-stat-card-border-width`, `--slotted-stat-card-color`, `--slotted-stat-card-color-muted`, `--slotted-stat-card-delta-font-size`, `--slotted-stat-card-delta-font-size-lg`, `--slotted-stat-card-delta-font-size-sm`, `--slotted-stat-card-indicator-size`, `--slotted-stat-card-indicator-size-lg`, `--slotted-stat-card-label-font-size`, `--slotted-stat-card-label-font-size-lg`, `--slotted-stat-card-label-font-size-sm`, `--slotted-stat-card-label-line-height`, `--slotted-stat-card-label-line-height-lg`, `--slotted-stat-card-label-line-height-sm`, `--slotted-stat-card-min-inline-size`, `--slotted-stat-card-padding-block`, `--slotted-stat-card-padding-block-lg`, `--slotted-stat-card-padding-block-sm`, `--slotted-stat-card-padding-inline`, `--slotted-stat-card-padding-inline-lg`, `--slotted-stat-card-padding-inline-sm`, `--slotted-stat-card-prose-font-size`, `--slotted-stat-card-prose-font-size-lg`, `--slotted-stat-card-prose-line-height`, `--slotted-stat-card-prose-line-height-lg`, `--slotted-stat-card-radius`, `--slotted-stat-card-region-gap`, `--slotted-stat-card-region-gap-lg`, `--slotted-stat-card-region-gap-sm`, `--slotted-stat-card-shadow`, `--slotted-stat-card-shadow-elevated`, `--slotted-stat-card-trend-gap`, `--slotted-stat-card-trend-gap-lg`, `--slotted-stat-card-trend-gap-sm`, `--slotted-stat-card-trend-inline-size`, `--slotted-stat-card-trend-inline-size-lg`, `--slotted-stat-card-trend-inline-size-sm`, `--slotted-stat-card-value-font-size`, `--slotted-stat-card-value-font-size-lg`, `--slotted-stat-card-value-font-size-sm`, `--slotted-stat-card-value-line-height`, `--slotted-stat-card-value-line-height-lg`, `--slotted-stat-card-value-line-height-sm`, `--slotted-surface-raised`, `--slotted-surface-sunken`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-text`, `--slotted-tone-danger-text`, `--slotted-tone-secondary-text`, `--slotted-tone-success-text`, `--slotted-tone-warning-text`
113
+ `--slotted-border-subtle`, `--slotted-border-width-thin`, `--slotted-control-icon-size-md`, `--slotted-control-icon-size-sm`, `--slotted-font-family-sans`, `--slotted-font-size-2xl`, `--slotted-font-size-3xl`, `--slotted-font-size-4xl`, `--slotted-font-size-md`, `--slotted-font-size-sm`, `--slotted-font-size-xl`, `--slotted-font-size-xs`, `--slotted-font-weight-medium`, `--slotted-font-weight-semibold`, `--slotted-line-height-2xl`, `--slotted-line-height-3xl`, `--slotted-line-height-4xl`, `--slotted-line-height-md`, `--slotted-line-height-sm`, `--slotted-line-height-xl`, `--slotted-line-height-xs`, `--slotted-radius-lg`, `--slotted-radius-none`, `--slotted-shadow-md`, `--slotted-space-1`, `--slotted-space-11`, `--slotted-space-12`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-space-4`, `--slotted-space-5`, `--slotted-space-6`, `--slotted-space-7`, `--slotted-space-8`, `--slotted-space-9`, `--slotted-sparkline-block-size`, `--slotted-sparkline-block-size-lg`, `--slotted-sparkline-block-size-sm`, `--slotted-stat-card-background`, `--slotted-stat-card-background-subtle`, `--slotted-stat-card-border-color`, `--slotted-stat-card-border-width`, `--slotted-stat-card-color`, `--slotted-stat-card-color-muted`, `--slotted-stat-card-delta-font-size`, `--slotted-stat-card-delta-font-size-lg`, `--slotted-stat-card-delta-font-size-sm`, `--slotted-stat-card-indicator-size`, `--slotted-stat-card-indicator-size-lg`, `--slotted-stat-card-label-font-size`, `--slotted-stat-card-label-font-size-lg`, `--slotted-stat-card-label-font-size-sm`, `--slotted-stat-card-label-line-height`, `--slotted-stat-card-label-line-height-lg`, `--slotted-stat-card-label-line-height-sm`, `--slotted-stat-card-min-inline-size`, `--slotted-stat-card-padding-block`, `--slotted-stat-card-padding-block-lg`, `--slotted-stat-card-padding-block-sm`, `--slotted-stat-card-padding-inline`, `--slotted-stat-card-padding-inline-lg`, `--slotted-stat-card-padding-inline-sm`, `--slotted-stat-card-prose-font-size`, `--slotted-stat-card-prose-font-size-lg`, `--slotted-stat-card-prose-line-height`, `--slotted-stat-card-prose-line-height-lg`, `--slotted-stat-card-radius`, `--slotted-stat-card-region-gap`, `--slotted-stat-card-region-gap-lg`, `--slotted-stat-card-region-gap-sm`, `--slotted-stat-card-shadow`, `--slotted-stat-card-shadow-elevated`, `--slotted-stat-card-trend-gap`, `--slotted-stat-card-trend-gap-lg`, `--slotted-stat-card-trend-gap-sm`, `--slotted-stat-card-trend-inline-size`, `--slotted-stat-card-trend-inline-size-lg`, `--slotted-stat-card-trend-inline-size-sm`, `--slotted-stat-card-value-font-size`, `--slotted-stat-card-value-font-size-lg`, `--slotted-stat-card-value-font-size-sm`, `--slotted-stat-card-value-line-height`, `--slotted-stat-card-value-line-height-lg`, `--slotted-stat-card-value-line-height-sm`, `--slotted-surface-raised`, `--slotted-surface-sunken`, `--slotted-target-comfortable`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-text`, `--slotted-tone-danger-text`, `--slotted-tone-secondary-text`, `--slotted-tone-success-text`, `--slotted-tone-warning-text`
114
114
 
115
115
  ## Examples
116
116
 
package/docs/tabs.json CHANGED
@@ -412,6 +412,7 @@
412
412
  "--slotted-focus-ring-color",
413
413
  "--slotted-focus-ring-offset",
414
414
  "--slotted-focus-ring-width",
415
+ "--slotted-radius-full",
415
416
  "--slotted-radius-md",
416
417
  "--slotted-radius-sm",
417
418
  "--slotted-radius-xs",
@@ -446,13 +447,9 @@
446
447
  "--slotted-target-comfortable",
447
448
  "--slotted-target-min",
448
449
  "--slotted-text",
449
- "--slotted-text-inverse",
450
450
  "--slotted-text-muted",
451
451
  "--slotted-tone-accent-solid",
452
452
  "--slotted-tone-accent-text",
453
- "--slotted-tone-danger-border",
454
- "--slotted-tone-danger-surface",
455
- "--slotted-tone-danger-text",
456
453
  "--slotted-tone-secondary-subtle-active",
457
454
  "--slotted-tone-secondary-subtle-hover"
458
455
  ],
package/docs/tabs.md CHANGED
@@ -204,7 +204,7 @@ export class TabsBasic {
204
204
 
205
205
  ## Tokens
206
206
 
207
- `--slotted-border-strong`, `--slotted-border-subtle`, `--slotted-border-width-thick`, `--slotted-border-width-thin`, `--slotted-control-font-family`, `--slotted-control-font-size-lg`, `--slotted-control-font-size-md`, `--slotted-control-font-size-sm`, `--slotted-control-font-weight`, `--slotted-control-gap-lg`, `--slotted-control-gap-md`, `--slotted-control-gap-sm`, `--slotted-control-height-lg`, `--slotted-control-height-md`, `--slotted-control-height-sm`, `--slotted-control-icon-size-lg`, `--slotted-control-icon-size-md`, `--slotted-control-icon-size-sm`, `--slotted-control-inner-size-lg`, `--slotted-control-inner-size-md`, `--slotted-control-inner-size-sm`, `--slotted-control-letter-spacing`, `--slotted-control-line-height`, `--slotted-control-padding-inline-lg`, `--slotted-control-padding-inline-md`, `--slotted-control-padding-inline-sm`, `--slotted-control-radius`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-disabled-background`, `--slotted-disabled-border`, `--slotted-disabled-foreground`, `--slotted-duration-short`, `--slotted-easing-enter`, `--slotted-focus-ring-color`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-radius-md`, `--slotted-radius-sm`, `--slotted-radius-xs`, `--slotted-shadow-xs`, `--slotted-space-1`, `--slotted-space-2`, `--slotted-space-4`, `--slotted-space-6`, `--slotted-surface`, `--slotted-surface-sunken`, `--slotted-tabs-actions-gap`, `--slotted-tabs-active-background`, `--slotted-tabs-active-marker-color`, `--slotted-tabs-color`, `--slotted-tabs-contained-background`, `--slotted-tabs-contained-selected-background`, `--slotted-tabs-dismiss-active-background`, `--slotted-tabs-dismiss-active-color`, `--slotted-tabs-dismiss-color`, `--slotted-tabs-dismiss-hover-background`, `--slotted-tabs-dismiss-hover-color`, `--slotted-tabs-fade-size`, `--slotted-tabs-gap`, `--slotted-tabs-hover-background`, `--slotted-tabs-hover-color`, `--slotted-tabs-hover-marker-color`, `--slotted-tabs-list-gap`, `--slotted-tabs-marker-color`, `--slotted-tabs-scroll-color`, `--slotted-tabs-selected-color`, `--slotted-tabs-track-color`, `--slotted-target-comfortable`, `--slotted-target-min`, `--slotted-text`, `--slotted-text-inverse`, `--slotted-text-muted`, `--slotted-tone-accent-solid`, `--slotted-tone-accent-text`, `--slotted-tone-danger-border`, `--slotted-tone-danger-surface`, `--slotted-tone-danger-text`, `--slotted-tone-secondary-subtle-active`, `--slotted-tone-secondary-subtle-hover`
207
+ `--slotted-border-strong`, `--slotted-border-subtle`, `--slotted-border-width-thick`, `--slotted-border-width-thin`, `--slotted-control-font-family`, `--slotted-control-font-size-lg`, `--slotted-control-font-size-md`, `--slotted-control-font-size-sm`, `--slotted-control-font-weight`, `--slotted-control-gap-lg`, `--slotted-control-gap-md`, `--slotted-control-gap-sm`, `--slotted-control-height-lg`, `--slotted-control-height-md`, `--slotted-control-height-sm`, `--slotted-control-icon-size-lg`, `--slotted-control-icon-size-md`, `--slotted-control-icon-size-sm`, `--slotted-control-inner-size-lg`, `--slotted-control-inner-size-md`, `--slotted-control-inner-size-sm`, `--slotted-control-letter-spacing`, `--slotted-control-line-height`, `--slotted-control-padding-inline-lg`, `--slotted-control-padding-inline-md`, `--slotted-control-padding-inline-sm`, `--slotted-control-radius`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-disabled-background`, `--slotted-disabled-border`, `--slotted-disabled-foreground`, `--slotted-duration-short`, `--slotted-easing-enter`, `--slotted-focus-ring-color`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-radius-full`, `--slotted-radius-md`, `--slotted-radius-sm`, `--slotted-radius-xs`, `--slotted-shadow-xs`, `--slotted-space-1`, `--slotted-space-2`, `--slotted-space-4`, `--slotted-space-6`, `--slotted-surface`, `--slotted-surface-sunken`, `--slotted-tabs-actions-gap`, `--slotted-tabs-active-background`, `--slotted-tabs-active-marker-color`, `--slotted-tabs-color`, `--slotted-tabs-contained-background`, `--slotted-tabs-contained-selected-background`, `--slotted-tabs-dismiss-active-background`, `--slotted-tabs-dismiss-active-color`, `--slotted-tabs-dismiss-color`, `--slotted-tabs-dismiss-hover-background`, `--slotted-tabs-dismiss-hover-color`, `--slotted-tabs-fade-size`, `--slotted-tabs-gap`, `--slotted-tabs-hover-background`, `--slotted-tabs-hover-color`, `--slotted-tabs-hover-marker-color`, `--slotted-tabs-list-gap`, `--slotted-tabs-marker-color`, `--slotted-tabs-scroll-color`, `--slotted-tabs-selected-color`, `--slotted-tabs-track-color`, `--slotted-target-comfortable`, `--slotted-target-min`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-solid`, `--slotted-tone-accent-text`, `--slotted-tone-secondary-subtle-active`, `--slotted-tone-secondary-subtle-hover`
208
208
 
209
209
  ## Examples
210
210