@starci/grammar 0.9.7 → 0.9.9

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 (156) hide show
  1. package/LICENSE +21 -21
  2. package/dist/.build-stamp.json +4 -4
  3. package/dist/common/components-forms.css +84 -1
  4. package/dist/common/components-navigation.css +28 -2
  5. package/dist/common/components-overlays.css +8 -0
  6. package/dist/common/registry.d.ts +4 -4
  7. package/dist/common/renderers-forms.d.ts +2 -2
  8. package/dist/common/renderers-navigation.d.ts +1 -1
  9. package/dist/common/rule-catalog.generated.d.ts +23 -25
  10. package/dist/common/rule-catalog.generated.d.ts.map +1 -1
  11. package/dist/common/rule-catalog.generated.js +102 -84
  12. package/dist/common/rule-catalog.generated.js.map +1 -1
  13. package/dist/core/StateMark.d.ts +1 -1
  14. package/dist/core/StateMark.js +2 -2
  15. package/dist/core/branch/AlertDialog/index.js +1 -1
  16. package/dist/core/branch/AlertDialog/index.js.map +1 -1
  17. package/dist/core/branch/Calendar/index.d.ts +1 -1
  18. package/dist/core/branch/Calendar/index.js +2 -2
  19. package/dist/core/branch/Calendar/index.js.map +1 -1
  20. package/dist/core/branch/ComboBox/index.d.ts +1 -1
  21. package/dist/core/branch/ComboBox/index.d.ts.map +1 -1
  22. package/dist/core/branch/ComboBox/index.js +14 -1
  23. package/dist/core/branch/ComboBox/index.js.map +1 -1
  24. package/dist/core/branch/DataTable/index.d.ts +1 -1
  25. package/dist/core/branch/DataTable/index.js +2 -2
  26. package/dist/core/branch/DataTable/index.js.map +1 -1
  27. package/dist/core/branch/DatePicker/index.js +1 -1
  28. package/dist/core/branch/DatePicker/index.js.map +1 -1
  29. package/dist/core/branch/DateRangePicker/index.js +1 -1
  30. package/dist/core/branch/DateRangePicker/index.js.map +1 -1
  31. package/dist/core/branch/Dialog/index.d.ts +1 -1
  32. package/dist/core/branch/Dialog/index.js +2 -2
  33. package/dist/core/branch/Dialog/index.js.map +1 -1
  34. package/dist/core/branch/Disclosure/index.d.ts +6 -1
  35. package/dist/core/branch/Disclosure/index.d.ts.map +1 -1
  36. package/dist/core/branch/Disclosure/index.js +5 -3
  37. package/dist/core/branch/Disclosure/index.js.map +1 -1
  38. package/dist/core/branch/Drawer/index.d.ts +1 -1
  39. package/dist/core/branch/Drawer/index.js +2 -2
  40. package/dist/core/branch/Drawer/index.js.map +1 -1
  41. package/dist/core/branch/DropdownMenu/index.d.ts +2 -2
  42. package/dist/core/branch/DropdownMenu/index.js +5 -5
  43. package/dist/core/branch/DropdownMenu/index.js.map +1 -1
  44. package/dist/core/branch/FlowGraph/index.d.ts +1 -1
  45. package/dist/core/branch/FlowGraph/index.js +2 -2
  46. package/dist/core/branch/FlowGraph/index.js.map +1 -1
  47. package/dist/core/branch/ListBox/index.d.ts +1 -1
  48. package/dist/core/branch/ListBox/index.js +3 -3
  49. package/dist/core/branch/ListBox/index.js.map +1 -1
  50. package/dist/core/branch/Popover/index.d.ts +1 -1
  51. package/dist/core/branch/Popover/index.js +2 -2
  52. package/dist/core/branch/Popover/index.js.map +1 -1
  53. package/dist/core/branch/Select/index.d.ts.map +1 -1
  54. package/dist/core/branch/Select/index.js +11 -3
  55. package/dist/core/branch/Select/index.js.map +1 -1
  56. package/dist/core/branch/Toast/index.d.ts +1 -1
  57. package/dist/core/branch/Toast/index.js +2 -2
  58. package/dist/core/branch/Toast/index.js.map +1 -1
  59. package/dist/core/composite/AvatarGroup/index.d.ts +1 -1
  60. package/dist/core/composite/AvatarGroup/index.js +2 -2
  61. package/dist/core/composite/AvatarGroup/index.js.map +1 -1
  62. package/dist/core/composite/Breadcrumbs/index.d.ts +1 -1
  63. package/dist/core/composite/Breadcrumbs/index.js +2 -2
  64. package/dist/core/composite/CheckboxGroup/index.js +1 -1
  65. package/dist/core/composite/CheckboxGroup/index.js.map +1 -1
  66. package/dist/core/composite/Fieldset/index.js +1 -1
  67. package/dist/core/composite/Fieldset/index.js.map +1 -1
  68. package/dist/core/composite/Pagination/index.d.ts +1 -1
  69. package/dist/core/composite/Pagination/index.js +2 -2
  70. package/dist/core/composite/Pagination/index.js.map +1 -1
  71. package/dist/core/composite/RadioGroup/index.js +1 -1
  72. package/dist/core/composite/RadioGroup/index.js.map +1 -1
  73. package/dist/core/composite/SegmentedControl/index.js +1 -1
  74. package/dist/core/composite/SegmentedControl/index.js.map +1 -1
  75. package/dist/core/composite/Stepper/index.d.ts +1 -1
  76. package/dist/core/composite/Stepper/index.js +2 -2
  77. package/dist/core/composite/TagGroup/index.d.ts +1 -1
  78. package/dist/core/composite/TagGroup/index.js +2 -2
  79. package/dist/core/composite/TagGroup/index.js.map +1 -1
  80. package/dist/core/composite/Timeline/index.d.ts +1 -1
  81. package/dist/core/composite/Timeline/index.js +2 -2
  82. package/dist/core/composition/BottomNav/index.d.ts +1 -1
  83. package/dist/core/composition/BottomNav/index.js +2 -2
  84. package/dist/core/composition/TopBar/index.d.ts +1 -1
  85. package/dist/core/composition/TopBar/index.js +2 -2
  86. package/dist/core/composition/TopBar/index.js.map +1 -1
  87. package/dist/core/primitive/Avatar/index.d.ts +1 -1
  88. package/dist/core/primitive/Avatar/index.js +2 -2
  89. package/dist/core/primitive/Avatar/index.js.map +1 -1
  90. package/dist/core/primitive/Badge/index.d.ts +2 -2
  91. package/dist/core/primitive/Badge/index.js +3 -3
  92. package/dist/core/primitive/Badge/index.js.map +1 -1
  93. package/dist/core/primitive/Checkbox/index.js +1 -1
  94. package/dist/core/primitive/Checkbox/index.js.map +1 -1
  95. package/dist/core/primitive/CloseButton/index.js +1 -1
  96. package/dist/core/primitive/CloseButton/index.js.map +1 -1
  97. package/dist/core/primitive/DateField/index.js +1 -1
  98. package/dist/core/primitive/DateField/index.js.map +1 -1
  99. package/dist/core/primitive/Field/index.js +2 -2
  100. package/dist/core/primitive/Field/index.js.map +1 -1
  101. package/dist/core/primitive/FileDropzone/index.js +2 -2
  102. package/dist/core/primitive/FileDropzone/index.js.map +1 -1
  103. package/dist/core/primitive/Icon/index.d.ts +1 -1
  104. package/dist/core/primitive/Icon/index.js +2 -2
  105. package/dist/core/primitive/Icon/index.js.map +1 -1
  106. package/dist/core/primitive/IconButton/index.d.ts +1 -1
  107. package/dist/core/primitive/IconButton/index.d.ts.map +1 -1
  108. package/dist/core/primitive/IconButton/index.js +2 -2
  109. package/dist/core/primitive/IconButton/index.js.map +1 -1
  110. package/dist/core/primitive/Image/index.d.ts +2 -1
  111. package/dist/core/primitive/Image/index.d.ts.map +1 -1
  112. package/dist/core/primitive/Image/index.js +3 -2
  113. package/dist/core/primitive/Image/index.js.map +1 -1
  114. package/dist/core/primitive/IncludedMark/index.d.ts +1 -1
  115. package/dist/core/primitive/IncludedMark/index.js +2 -2
  116. package/dist/core/primitive/Input/index.d.ts +20 -3
  117. package/dist/core/primitive/Input/index.d.ts.map +1 -1
  118. package/dist/core/primitive/Input/index.js +13 -4
  119. package/dist/core/primitive/Input/index.js.map +1 -1
  120. package/dist/core/primitive/Kbd/index.d.ts +1 -1
  121. package/dist/core/primitive/Kbd/index.d.ts.map +1 -1
  122. package/dist/core/primitive/Kbd/index.js +2 -2
  123. package/dist/core/primitive/Kbd/index.js.map +1 -1
  124. package/dist/core/primitive/Link/index.d.ts +1 -1
  125. package/dist/core/primitive/Link/index.js +2 -2
  126. package/dist/core/primitive/NumberField/index.js +1 -1
  127. package/dist/core/primitive/NumberField/index.js.map +1 -1
  128. package/dist/core/primitive/RankArtwork/index.d.ts +1 -1
  129. package/dist/core/primitive/RankArtwork/index.js +2 -2
  130. package/dist/core/primitive/Rating/index.d.ts +1 -1
  131. package/dist/core/primitive/Rating/index.js +3 -3
  132. package/dist/core/primitive/Rating/index.js.map +1 -1
  133. package/dist/core/primitive/SearchField/index.d.ts +8 -1
  134. package/dist/core/primitive/SearchField/index.d.ts.map +1 -1
  135. package/dist/core/primitive/SearchField/index.js +1 -1
  136. package/dist/core/primitive/SearchField/index.js.map +1 -1
  137. package/dist/core/primitive/Skeleton/index.js +1 -1
  138. package/dist/core/primitive/Skeleton/index.js.map +1 -1
  139. package/dist/core/primitive/Slider/index.js +1 -1
  140. package/dist/core/primitive/Switch/index.js +1 -1
  141. package/dist/core/primitive/Switch/index.js.map +1 -1
  142. package/dist/core/primitive/Textarea/index.d.ts +8 -1
  143. package/dist/core/primitive/Textarea/index.d.ts.map +1 -1
  144. package/dist/core/primitive/Textarea/index.js +7 -4
  145. package/dist/core/primitive/Textarea/index.js.map +1 -1
  146. package/dist/core/primitive/TimeField/index.js +1 -1
  147. package/dist/core/primitive/TimeField/index.js.map +1 -1
  148. package/dist/heritage/index.d.ts.map +1 -1
  149. package/dist/heritage/index.js +4 -2
  150. package/dist/heritage/index.js.map +1 -1
  151. package/dist/offset-pop/components-forms.css +12 -0
  152. package/dist/offset-pop/conformance.d.ts +7 -9
  153. package/dist/offset-pop/conformance.d.ts.map +1 -1
  154. package/dist/offset-pop/conformance.js +7 -9
  155. package/dist/offset-pop/conformance.js.map +1 -1
  156. package/package.json +2 -2
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 StarCi
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 StarCi
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "schema": "starci/grammar-build-stamp@1",
3
3
  "package": "@starci/grammar",
4
- "version": "0.9.7",
4
+ "version": "0.9.9",
5
5
  "algorithm": "starci/grammar-source-digest@1",
6
- "sourceDigest": "sha256:bb9c8631d0a38a0dbfe4d8b373455913ab764f56713536d73d08d75b0a4977c9",
7
- "distDigest": "sha256:f54058f586f5dcdf2bc83a84c989e76eeb7cf3ed9c8d700ba28e42ff4ff895e2",
8
- "builtAt": "2026-10-11T22:41:22.989Z"
6
+ "sourceDigest": "sha256:b5edad115c969a15e5ed45a2aa865b82e264fa048156f930821f034e4a5f9eff",
7
+ "distDigest": "sha256:12acffdec473883d62b5612120aa978ba9bc6c3e857cc3fd61043a473b32d96d",
8
+ "builtAt": "2026-10-12T07:05:33.973Z"
9
9
  }
@@ -91,10 +91,11 @@
91
91
  .starci-core-field-control > :where(input:not([type="checkbox"], [type="radio"], [type="file"], [type="range"]), select, textarea) {
92
92
  width: 100%;
93
93
  min-width: 0;
94
- min-height: 2.25rem;
94
+ min-height: var(--starci-core-field-min-height, 2.5rem);
95
95
  border: var(--field-border-width, 1px) solid var(--field-border, var(--border, ButtonBorder));
96
96
  border-radius: var(--field-radius, calc(var(--radius, 0.5rem) * 1.5));
97
97
  padding: 0.5rem 0.75rem;
98
+ box-sizing: border-box;
98
99
  background: var(--field-background, var(--surface, Canvas));
99
100
  color: var(--field-foreground, var(--foreground, CanvasText));
100
101
  box-shadow: var(--field-shadow, none);
@@ -129,6 +130,13 @@
129
130
  * Skeleton block of the loaded control's height (the select trigger 2.5rem, with the touch floor below; the textarea
130
131
  * `rows` at 1.25rem a line plus its padding, never under the 5rem field minimum). Not focusable: no control exists.
131
132
  */
133
+ /* The loading root (Field, Select, NumberField, SearchField, SegmentedControl, CheckboxGroup, Switch, Textarea): inert geometry that can shrink inside its row or column. */
134
+ .starci-core-field-skeleton {
135
+ min-width: 0;
136
+ pointer-events: none;
137
+ user-select: none;
138
+ }
139
+
132
140
  .starci-core-field-skeleton-control { display: block; min-width: 0; }
133
141
 
134
142
  .starci-core-field-skeleton-control > .starci-core-skeleton {
@@ -185,6 +193,81 @@
185
193
  min-width: 0;
186
194
  }
187
195
 
196
+ /*
197
+ * ONE SINGLE-LINE FIELD ANATOMY (0.9.8). Input, Select, ComboBox, SearchField, NumberField, DateField, TimeField
198
+ * (and the pickers built on the date group) draw one box: the same radius token, the same minimum height
199
+ * (`--starci-core-field-min-height`, 2.5rem: the height the loading skeletons already promise), the same border-box
200
+ * sizing, the same 0.75rem inline padding, and a trigger or chevron 0.5rem from the inline end. The box of a
201
+ * ComboBox is its input group, not the vendor's inner input, so it carries the radius and height too and the input
202
+ * inside inherits the corner (no square right side behind the trigger) and stretches to the group's height.
203
+ */
204
+ .starci-core-input-field,
205
+ .starci-core-select-trigger,
206
+ .starci-core-combo-box-group,
207
+ .starci-core-search-field-group,
208
+ .starci-core-number-field-group,
209
+ .starci-core-date-group {
210
+ box-sizing: border-box;
211
+ min-block-size: var(--starci-core-field-min-height, 2.5rem);
212
+ border-radius: var(--field-radius, calc(var(--radius, 0.5rem) * 1.5));
213
+ }
214
+
215
+ .starci-core-select-trigger {
216
+ align-items: center;
217
+ padding-inline: 0.75rem 1.75rem;
218
+ }
219
+
220
+ .starci-core-combo-box-group {
221
+ align-items: stretch;
222
+ }
223
+
224
+ .starci-core-combo-box-input {
225
+ box-sizing: border-box;
226
+ flex: 1 1 0;
227
+ border-radius: inherit;
228
+ padding-inline: 0.75rem 1.75rem;
229
+ text-overflow: ellipsis;
230
+ }
231
+
232
+ .starci-core-combo-box-trigger {
233
+ inset-inline-end: 0;
234
+ padding-inline-end: 0.5rem;
235
+ }
236
+
237
+ /*
238
+ * The selected value of a Select stays ONE line and keeps the field height: it ellipsizes (the trigger carries the
239
+ * full text as its title) and shows only the option's label, never its description. Popover options still wrap.
240
+ */
241
+ .starci-core-select-value {
242
+ flex: 1 1 0;
243
+ overflow: hidden;
244
+ overflow-wrap: normal;
245
+ text-overflow: ellipsis;
246
+ white-space: nowrap;
247
+ }
248
+
249
+ .starci-core-select-value-text {
250
+ display: block;
251
+ min-width: 0;
252
+ overflow: hidden;
253
+ text-overflow: ellipsis;
254
+ }
255
+
256
+ .starci-core-select-value .starci-core-list-option-copy {
257
+ display: block;
258
+ overflow: hidden;
259
+ text-overflow: ellipsis;
260
+ }
261
+
262
+ .starci-core-select-value .starci-core-list-option-label {
263
+ overflow-wrap: normal;
264
+ }
265
+
266
+ .starci-core-select-value .starci-core-list-option-description,
267
+ .starci-core-select-value [data-slot="list-box-item-indicator"] {
268
+ display: none;
269
+ }
270
+
188
271
  .starci-core-date-input {
189
272
  min-width: 0;
190
273
  flex: 1;
@@ -1020,6 +1020,13 @@
1020
1020
  flex: 0 0 auto;
1021
1021
  }
1022
1022
 
1023
+ /* Loading list (knowledge STATE-8): the stack of skeleton options, in the same column the real options use. */
1024
+ .starci-core-list-box-skeleton {
1025
+ display: flex;
1026
+ min-width: 0;
1027
+ flex-direction: column;
1028
+ }
1029
+
1023
1030
  /* Loading options (knowledge STATE-8): a label line and a description line, at the loaded option's height. */
1024
1031
  .starci-core-list-box-skeleton-option {
1025
1032
  display: flex;
@@ -1077,6 +1084,21 @@
1077
1084
  overflow-wrap: anywhere;
1078
1085
  }
1079
1086
 
1087
+ /* The trailing summary: muted, one line, whatever room the title leaves. */
1088
+ .starci-core-disclosure-summary {
1089
+ min-width: 0;
1090
+ flex: 1 1 0;
1091
+ overflow: hidden;
1092
+ color: var(--muted, GrayText);
1093
+ font-size: 0.875rem;
1094
+ font-weight: 400;
1095
+ text-align: end;
1096
+ text-overflow: ellipsis;
1097
+ white-space: nowrap;
1098
+ }
1099
+
1100
+ .starci-core-disclosure-title { flex: 0 1 auto; }
1101
+
1080
1102
  .starci-core-disclosure-indicator,
1081
1103
  .starci-core-generic-accordion-indicator {
1082
1104
  flex: 0 0 auto;
@@ -1402,10 +1424,14 @@
1402
1424
  .starci-core-flow-graph[data-grammar-flow-interactive="true"] .react-flow__pane.dragging { cursor: grabbing; }
1403
1425
  .starci-core-flow-graph .react-flow__viewport { transform-origin: 0 0; z-index: 2; pointer-events: none; }
1404
1426
  .starci-core-flow-graph .react-flow__renderer { z-index: 4; }
1405
- .starci-core-flow-graph .react-flow__background { pointer-events: none; z-index: -1; }
1427
+ .starci-core-flow-graph .starci-core-flow-graph-background { pointer-events: none; z-index: -1; }
1428
+ /* The background layer fills the canvas behind the viewport (the vendor sheet is not shipped, so the fill is ours). */
1429
+ .starci-core-flow-graph .starci-core-flow-graph-background { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; }
1406
1430
  .starci-core-flow-graph .react-flow__edges { position: absolute; }
1407
1431
  .starci-core-flow-graph .react-flow__edges svg { position: absolute; overflow: visible; pointer-events: none; }
1408
- .starci-core-flow-graph .react-flow__edge-path { fill: none; stroke: var(--xy-edge-stroke); stroke-width: var(--xy-edge-stroke-width); stroke-linecap: round; }
1432
+ .starci-core-flow-graph :where(.starci-core-flow-graph-edge) .react-flow__edge-path { fill: none; stroke: var(--xy-edge-stroke); stroke-width: var(--xy-edge-stroke-width); stroke-linecap: round; }
1433
+ /* An edge is a decoration: never a pointer or focus target (it is neither selectable nor focusable), and its group draws no fill. */
1434
+ .starci-core-flow-graph .starci-core-flow-graph-edge { fill: none; pointer-events: none; }
1409
1435
  .starci-core-flow-graph .starci-core-flow-graph-edge-placeholder .react-flow__edge-path { stroke-dasharray: 4 5; }
1410
1436
  .starci-core-flow-graph .react-flow__nodes { pointer-events: none; transform-origin: 0 0; }
1411
1437
  .starci-core-flow-graph .react-flow__node {
@@ -915,6 +915,14 @@
915
915
  transition: width var(--starci-core-motion-duration, 180ms) var(--starci-core-motion-easing, cubic-bezier(0.2, 0, 0, 1));
916
916
  }
917
917
 
918
+ /* The loading meter root keeps the meter's column (label above the bar) and is inert. */
919
+ .starci-core-meter-skeleton {
920
+ display: flex;
921
+ min-width: 0;
922
+ flex-direction: column;
923
+ pointer-events: none;
924
+ }
925
+
918
926
  /* Loading meter (knowledge STATE-8, `isSkeleton`): the label stays real, the bar is a static Skeleton bar of the track height. */
919
927
  .starci-core-meter-skeleton-bar { display: block; block-size: 0.5rem; overflow: hidden; border-radius: 999px; }
920
928
 
@@ -16,7 +16,7 @@ export declare const COMMON_GRAMMAR_COMPONENTS: Readonly<{
16
16
  readonly Calendar: ({ label, value, defaultValue, onChange, minValue, maxValue, isDateUnavailable, isDisabled, isReadOnly, previousLabel, nextLabel, className, }: import("./renderers-navigation.js").CalendarProps) => import("react").JSX.Element;
17
17
  readonly DataTable: <Row extends import("./renderers-navigation.js").DataTableRow>({ label, columns, rows, renderCell, sort, onSortChange, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, selectAllLabel, selectRowLabel, isLoading, loadingContent, loadingRows, emptyContent, stickyHeader, maxBlockSize, onRowAction, className, }: import("./renderers-navigation.js").DataTableProps<Row>) => import("react").JSX.Element;
18
18
  readonly DescriptionList: (props: import("./renderers-navigation.js").DescriptionListProps) => import("react").JSX.Element;
19
- readonly Disclosure: ({ title, children, isExpanded, defaultExpanded, onExpandedChange, isDisabled, headingLevel, className, }: import("./renderers-navigation.js").DisclosureProps) => import("react").JSX.Element;
19
+ readonly Disclosure: ({ title, children, summary, isExpanded, defaultExpanded, onExpandedChange, isDisabled, headingLevel, className, }: import("./renderers-navigation.js").DisclosureProps) => import("react").JSX.Element;
20
20
  readonly FlowGraph: ({ label, nodes, edges, selectedId, onSelect, height, isInteractive, showControls, layout, emptyLabel, isLoading, className, }: import("./renderers-navigation.js").FlowGraphProps) => import("react").JSX.Element;
21
21
  readonly Footer: ({ label, brand, groups, legal, externalHint, children, className }: import("./renderers-navigation.js").FooterProps) => import("react").JSX.Element;
22
22
  readonly Image: ({ src, alt, aspect, fit, fallback, loading, srcSet, sizes, width, height, onLoadStateChange, plate, className, ...assetSlot }: import("./renderers-navigation.js").ImageProps) => import("react").JSX.Element;
@@ -55,12 +55,12 @@ export declare const COMMON_GRAMMAR_COMPONENTS: Readonly<{
55
55
  readonly Form: ({ children, label, id, onSubmit, onReset, action, method, validationErrors, validationBehavior, isPending, }: import("./renderers-forms.js").FormProps) => import("react").JSX.Element;
56
56
  readonly NumberField: ({ id, placeholder, value, defaultValue, onValueChange, minValue, maxValue, step, formatOptions, hideSteppers, variant, isSkeleton, ...field }: import("./renderers-forms.js").NumberFieldProps) => import("react").JSX.Element;
57
57
  readonly RadioGroup: ({ options, value, defaultValue, onValueChange, orientation, variant, ...field }: import("./renderers-forms.js").RadioGroupProps) => import("react").JSX.Element;
58
- readonly SearchField: ({ id, placeholder, value, defaultValue, onValueChange, onSubmit, onClear, isPending, clearLabel, variant, isSkeleton, ...field }: import("./renderers-forms.js").SearchFieldProps) => import("react").JSX.Element;
58
+ readonly SearchField: ({ id, placeholder, value, defaultValue, onValueChange, onSubmit, onClear, isPending, clearLabel, variant, isSkeleton, onBlur, onPaste, autoFocus, ...field }: import("./renderers-forms.js").SearchFieldProps) => import("react").JSX.Element;
59
59
  readonly SegmentedControl: ({ options, value, defaultValue, onValueChange, width, label, isLabelHidden, description, errorMessage, isInvalid, isRequired, isDisabled, isReadOnly, name, isSkeleton, }: import("./renderers-forms.js").SegmentedControlProps) => import("react").JSX.Element;
60
60
  readonly Select: ({ options, placeholder, value, defaultValue, onValueChange, isPending, isSkeleton, variant, ...field }: import("./renderers-forms.js").SelectProps) => import("react").JSX.Element;
61
61
  readonly Slider: ({ value, defaultValue, onValueChange, onValueCommit, minValue, maxValue, step, formatOptions, thumbLabels, orientation, label, isLabelHidden, description, errorMessage, isInvalid, isRequired, isDisabled, isReadOnly, name, }: import("./renderers-forms.js").SliderProps) => import("react").JSX.Element;
62
62
  readonly Switch: ({ value, isSelected, defaultSelected, onSelectedChange, isSkeleton, ...field }: import("./renderers-forms.js").SwitchProps) => import("react").JSX.Element;
63
- readonly Textarea: ({ id, placeholder, value, defaultValue, rows, isSkeleton, maxLength, minLength, onValueChange, variant, onSubmitShortcut, mentions, ...field }: import("./renderers-forms.js").TextareaProps) => import("react").JSX.Element;
63
+ readonly Textarea: ({ id, placeholder, value, defaultValue, rows, isSkeleton, maxLength, minLength, onValueChange, variant, onSubmitShortcut, mentions, onBlur, onPaste, autoFocus, ...field }: import("./renderers-forms.js").TextareaProps) => import("react").JSX.Element;
64
64
  readonly TimeField: ({ value, defaultValue, onValueChange, minValue, maxValue, granularity, hourCycle, variant, ...field }: import("./renderers-forms.js").TimeFieldProps) => import("react").JSX.Element;
65
65
  readonly Badge: ({ children, startContent, tone, isDot, isSkeleton }: import("./renderers.js").BadgeProps) => import("react").JSX.Element;
66
66
  readonly Button: (props: import("./renderers.js").ButtonProps) => import("react").JSX.Element;
@@ -77,7 +77,7 @@ export declare const COMMON_GRAMMAR_COMPONENTS: Readonly<{
77
77
  readonly IconButton: ({ source, label, variant, size, isFloating, isActive, isDisabled, isSkeleton, onPress, "aria-controls": controls, "aria-expanded": expanded, badge, badgeLabel, badgeMax, }: import("./renderers.js").IconButtonProps) => import("react").JSX.Element;
78
78
  readonly IconTile: ({ source, artwork, ariaLabel, tone, size, isSkeleton, }: import("./renderers.js").IconTileProps) => import("react").JSX.Element;
79
79
  readonly IncludedMark: ({ className, label, ...props }: import("./renderers.js").IncludedMarkProps) => import("react").JSX.Element;
80
- readonly Input: ({ id, name, label, kind: kindName, variant, placeholder, defaultValue, value, hint, errorMessage, isError, isDisabled, isRequired, isSkeleton, isReadOnly, isCopyable, copyLabel, copiedLabel, copyIcon: CopyIcon, copiedIcon: CopiedIcon, onCopy, revealLabel, hideLabel, revealIcon: RevealIcon, hideIcon: HideIcon, onValueChange, }: import("./renderers.js").InputProps) => import("react").JSX.Element;
80
+ readonly Input: ({ id, name, label, isLabelHidden, kind: kindName, variant, placeholder, defaultValue, value, hint, errorMessage, isError, isDisabled, isRequired, isSkeleton, isReadOnly, isCopyable, copyLabel, copiedLabel, copyIcon: CopyIcon, copiedIcon: CopiedIcon, onCopy, revealLabel, hideLabel, revealIcon: RevealIcon, hideIcon: HideIcon, onValueChange, onBlur, onPaste, autoFocus, }: import("./renderers.js").InputProps) => import("react").JSX.Element;
81
81
  readonly Label: ({ id, children, depth, as }: import("./renderers.js").LabelProps) => import("react").DetailedReactHTMLElement<{
82
82
  readonly id: string | undefined;
83
83
  readonly className: string;
@@ -33,12 +33,12 @@ export declare const COMMON_FORMS_COMPONENTS: Readonly<{
33
33
  readonly Form: ({ children, label, id, onSubmit, onReset, action, method, validationErrors, validationBehavior, isPending, }: import("./renderers-forms.js").FormProps) => import("react").JSX.Element;
34
34
  readonly NumberField: ({ id, placeholder, value, defaultValue, onValueChange, minValue, maxValue, step, formatOptions, hideSteppers, variant, isSkeleton, ...field }: import("./renderers-forms.js").NumberFieldProps) => import("react").JSX.Element;
35
35
  readonly RadioGroup: ({ options, value, defaultValue, onValueChange, orientation, variant, ...field }: import("./renderers-forms.js").RadioGroupProps) => import("react").JSX.Element;
36
- readonly SearchField: ({ id, placeholder, value, defaultValue, onValueChange, onSubmit, onClear, isPending, clearLabel, variant, isSkeleton, ...field }: import("./renderers-forms.js").SearchFieldProps) => import("react").JSX.Element;
36
+ readonly SearchField: ({ id, placeholder, value, defaultValue, onValueChange, onSubmit, onClear, isPending, clearLabel, variant, isSkeleton, onBlur, onPaste, autoFocus, ...field }: import("./renderers-forms.js").SearchFieldProps) => import("react").JSX.Element;
37
37
  readonly SegmentedControl: ({ options, value, defaultValue, onValueChange, width, label, isLabelHidden, description, errorMessage, isInvalid, isRequired, isDisabled, isReadOnly, name, isSkeleton, }: import("./renderers-forms.js").SegmentedControlProps) => import("react").JSX.Element;
38
38
  readonly Select: ({ options, placeholder, value, defaultValue, onValueChange, isPending, isSkeleton, variant, ...field }: import("./renderers-forms.js").SelectProps) => import("react").JSX.Element;
39
39
  readonly Slider: ({ value, defaultValue, onValueChange, onValueCommit, minValue, maxValue, step, formatOptions, thumbLabels, orientation, label, isLabelHidden, description, errorMessage, isInvalid, isRequired, isDisabled, isReadOnly, name, }: import("./renderers-forms.js").SliderProps) => import("react").JSX.Element;
40
40
  readonly Switch: ({ value, isSelected, defaultSelected, onSelectedChange, isSkeleton, ...field }: import("./renderers-forms.js").SwitchProps) => import("react").JSX.Element;
41
- readonly Textarea: ({ id, placeholder, value, defaultValue, rows, isSkeleton, maxLength, minLength, onValueChange, variant, onSubmitShortcut, mentions, ...field }: import("./renderers-forms.js").TextareaProps) => import("react").JSX.Element;
41
+ readonly Textarea: ({ id, placeholder, value, defaultValue, rows, isSkeleton, maxLength, minLength, onValueChange, variant, onSubmitShortcut, mentions, onBlur, onPaste, autoFocus, ...field }: import("./renderers-forms.js").TextareaProps) => import("react").JSX.Element;
42
42
  readonly TimeField: ({ value, defaultValue, onValueChange, minValue, maxValue, granularity, hourCycle, variant, ...field }: import("./renderers-forms.js").TimeFieldProps) => import("react").JSX.Element;
43
43
  }>;
44
44
  //# sourceMappingURL=renderers-forms.d.ts.map
@@ -28,7 +28,7 @@ export declare const COMMON_NAVIGATION_COMPONENTS: Readonly<{
28
28
  readonly Calendar: ({ label, value, defaultValue, onChange, minValue, maxValue, isDateUnavailable, isDisabled, isReadOnly, previousLabel, nextLabel, className, }: import("./renderers-navigation.js").CalendarProps) => import("react").JSX.Element;
29
29
  readonly DataTable: <Row extends import("./renderers-navigation.js").DataTableRow>({ label, columns, rows, renderCell, sort, onSortChange, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, selectAllLabel, selectRowLabel, isLoading, loadingContent, loadingRows, emptyContent, stickyHeader, maxBlockSize, onRowAction, className, }: import("./renderers-navigation.js").DataTableProps<Row>) => import("react").JSX.Element;
30
30
  readonly DescriptionList: (props: import("./renderers-navigation.js").DescriptionListProps) => import("react").JSX.Element;
31
- readonly Disclosure: ({ title, children, isExpanded, defaultExpanded, onExpandedChange, isDisabled, headingLevel, className, }: import("./renderers-navigation.js").DisclosureProps) => import("react").JSX.Element;
31
+ readonly Disclosure: ({ title, children, summary, isExpanded, defaultExpanded, onExpandedChange, isDisabled, headingLevel, className, }: import("./renderers-navigation.js").DisclosureProps) => import("react").JSX.Element;
32
32
  readonly FlowGraph: ({ label, nodes, edges, selectedId, onSelect, height, isInteractive, showControls, layout, emptyLabel, isLoading, className, }: import("./renderers-navigation.js").FlowGraphProps) => import("react").JSX.Element;
33
33
  readonly Footer: ({ label, brand, groups, legal, externalHint, children, className }: import("./renderers-navigation.js").FooterProps) => import("react").JSX.Element;
34
34
  readonly Image: ({ src, alt, aspect, fit, fallback, loading, srcSet, sizes, width, height, onLoadStateChange, plate, className, ...assetSlot }: import("./renderers-navigation.js").ImageProps) => import("react").JSX.Element;
@@ -1,40 +1,38 @@
1
- /** How many rule ids each family publishes. Reported for coverage summaries, never expanded. */
1
+ /** The number of declared rule ids in each family, never expanded into addresses. */
2
2
  export declare const RULE_FAMILY_COUNTS: Readonly<{
3
- readonly A11Y: 4;
4
- readonly ACCENT: 5;
5
- readonly ACTION: 4;
3
+ readonly A11Y: 5;
4
+ readonly ACCENT: 6;
5
+ readonly ACTION: 3;
6
+ readonly ANATOMY: 5;
6
7
  readonly BOUNDARY: 6;
8
+ readonly BRAND: 3;
9
+ readonly COLLECTION: 2;
7
10
  readonly COLOR: 2;
8
- readonly "CONTROL-STATE": 4;
9
- readonly "CORE-BOUNDARY": 5;
10
- readonly "CORE-SURFACE": 5;
11
+ readonly CONTRAST: 1;
12
+ readonly COVERAGE: 1;
11
13
  readonly CTA: 5;
12
- readonly FEEDBACK: 4;
13
- readonly FIELD: 4;
14
+ readonly DISCIPLINE: 3;
15
+ readonly FEEDBACK: 3;
14
16
  readonly FLOW: 5;
15
- readonly FOCUS: 5;
17
+ readonly FOCUS: 6;
16
18
  readonly FONT: 6;
17
19
  readonly GAP: 7;
18
- readonly HIERARCHY: 5;
19
- readonly ICON: 6;
20
- readonly LAYOUT: 5;
21
- readonly MARGIN: 7;
20
+ readonly HIERARCHY: 6;
21
+ readonly LAYOUT: 4;
22
+ readonly MARGIN: 8;
22
23
  readonly MEASURE: 7;
23
- readonly MEDIA: 6;
24
- readonly MOTION: 4;
24
+ readonly MOTION: 5;
25
25
  readonly OVERFLOW: 5;
26
- readonly PADDING: 9;
27
- readonly RESPONSIVE: 5;
26
+ readonly PADDING: 10;
27
+ readonly RADIUS: 6;
28
+ readonly RESPONSIVE: 4;
28
29
  readonly STATE: 7;
29
30
  readonly SURFACE: 6;
31
+ readonly TASTE: 13;
30
32
  readonly TONE: 3;
31
- readonly TRUTH: 4;
33
+ readonly TRUTH: 5;
34
+ readonly UX: 12;
32
35
  }>;
33
- /**
34
- * Every canonical rule id, exactly as the tree spells it.
35
- *
36
- * The ids are listed rather than expanded from the counts above: the spacing families start at
37
- * `-0`, so a `1..count` expansion would both invent `PADDING-9` and lose `PADDING-0`.
38
- */
36
+ /** Every declared canonical rule id, preserving each topic's authored order. */
39
37
  export declare const CANONICAL_RULE_IDS: ReadonlyArray<string>;
40
38
  //# sourceMappingURL=rule-catalog.generated.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rule-catalog.generated.d.ts","sourceRoot":"","sources":["../../src/common/rule-catalog.generated.ts"],"names":[],"mappings":"AAWA,gGAAgG;AAChG,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BpB,CAAA;AAEX;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,MAAM,CAoLnD,CAAA"}
1
+ {"version":3,"file":"rule-catalog.generated.d.ts","sourceRoot":"","sources":["../../src/common/rule-catalog.generated.ts"],"names":[],"mappings":"AAQA,qFAAqF;AACrF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCpB,CAAA;AAEX,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,MAAM,CA2MnD,CAAA"}