@starci/grammar 0.9.5 → 0.9.8

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 (93) hide show
  1. package/LICENSE +21 -21
  2. package/dist/.build-stamp.json +4 -4
  3. package/dist/common/components-forms.css +129 -1
  4. package/dist/common/components-navigation.css +101 -0
  5. package/dist/common/components-overlays.css +17 -0
  6. package/dist/common/registry.d.ts +16 -16
  7. package/dist/common/renderers-forms.d.ts +7 -7
  8. package/dist/common/renderers-navigation.d.ts +5 -5
  9. package/dist/common/renderers-overlays.d.ts +1 -1
  10. package/dist/common/renderers.d.ts +1 -1
  11. package/dist/common/renderers.d.ts.map +1 -1
  12. package/dist/common/renderers.js +1 -1
  13. package/dist/common/renderers.js.map +1 -1
  14. package/dist/common/styles.css +14 -0
  15. package/dist/core/branch/ComboBox/index.d.ts +1 -1
  16. package/dist/core/branch/ComboBox/index.d.ts.map +1 -1
  17. package/dist/core/branch/ComboBox/index.js +14 -1
  18. package/dist/core/branch/ComboBox/index.js.map +1 -1
  19. package/dist/core/branch/Disclosure/index.d.ts +6 -1
  20. package/dist/core/branch/Disclosure/index.d.ts.map +1 -1
  21. package/dist/core/branch/Disclosure/index.js +5 -3
  22. package/dist/core/branch/Disclosure/index.js.map +1 -1
  23. package/dist/core/branch/ListBox/index.d.ts +9 -1
  24. package/dist/core/branch/ListBox/index.d.ts.map +1 -1
  25. package/dist/core/branch/ListBox/index.js +8 -2
  26. package/dist/core/branch/ListBox/index.js.map +1 -1
  27. package/dist/core/branch/Select/index.d.ts +6 -1
  28. package/dist/core/branch/Select/index.d.ts.map +1 -1
  29. package/dist/core/branch/Select/index.js +15 -4
  30. package/dist/core/branch/Select/index.js.map +1 -1
  31. package/dist/core/composite/Breadcrumbs/index.d.ts +5 -0
  32. package/dist/core/composite/Breadcrumbs/index.d.ts.map +1 -1
  33. package/dist/core/composite/Breadcrumbs/index.js +3 -2
  34. package/dist/core/composite/Breadcrumbs/index.js.map +1 -1
  35. package/dist/core/composite/ChatBubble/index.d.ts +21 -3
  36. package/dist/core/composite/ChatBubble/index.d.ts.map +1 -1
  37. package/dist/core/composite/ChatBubble/index.js +10 -1
  38. package/dist/core/composite/ChatBubble/index.js.map +1 -1
  39. package/dist/core/composite/CheckboxGroup/index.d.ts +6 -1
  40. package/dist/core/composite/CheckboxGroup/index.d.ts.map +1 -1
  41. package/dist/core/composite/CheckboxGroup/index.js +2 -2
  42. package/dist/core/composite/CheckboxGroup/index.js.map +1 -1
  43. package/dist/core/composite/SegmentedControl/index.d.ts +6 -1
  44. package/dist/core/composite/SegmentedControl/index.d.ts.map +1 -1
  45. package/dist/core/composite/SegmentedControl/index.js +5 -2
  46. package/dist/core/composite/SegmentedControl/index.js.map +1 -1
  47. package/dist/core/composite/Stepper/index.d.ts +7 -1
  48. package/dist/core/composite/Stepper/index.d.ts.map +1 -1
  49. package/dist/core/composite/Stepper/index.js +2 -1
  50. package/dist/core/composite/Stepper/index.js.map +1 -1
  51. package/dist/core/composite/Timeline/index.d.ts +8 -1
  52. package/dist/core/composite/Timeline/index.d.ts.map +1 -1
  53. package/dist/core/composite/Timeline/index.js +2 -1
  54. package/dist/core/composite/Timeline/index.js.map +1 -1
  55. package/dist/core/primitive/Avatar/index.d.ts +6 -1
  56. package/dist/core/primitive/Avatar/index.d.ts.map +1 -1
  57. package/dist/core/primitive/Avatar/index.js +2 -1
  58. package/dist/core/primitive/Avatar/index.js.map +1 -1
  59. package/dist/core/primitive/Field/index.d.ts +24 -0
  60. package/dist/core/primitive/Field/index.d.ts.map +1 -1
  61. package/dist/core/primitive/Field/index.js +15 -1
  62. package/dist/core/primitive/Field/index.js.map +1 -1
  63. package/dist/core/primitive/Input/index.d.ts +20 -3
  64. package/dist/core/primitive/Input/index.d.ts.map +1 -1
  65. package/dist/core/primitive/Input/index.js +13 -4
  66. package/dist/core/primitive/Input/index.js.map +1 -1
  67. package/dist/core/primitive/Meter/index.d.ts +7 -1
  68. package/dist/core/primitive/Meter/index.d.ts.map +1 -1
  69. package/dist/core/primitive/Meter/index.js +5 -1
  70. package/dist/core/primitive/Meter/index.js.map +1 -1
  71. package/dist/core/primitive/NumberField/index.d.ts +6 -1
  72. package/dist/core/primitive/NumberField/index.d.ts.map +1 -1
  73. package/dist/core/primitive/NumberField/index.js +2 -2
  74. package/dist/core/primitive/NumberField/index.js.map +1 -1
  75. package/dist/core/primitive/SearchField/index.d.ts +13 -1
  76. package/dist/core/primitive/SearchField/index.d.ts.map +1 -1
  77. package/dist/core/primitive/SearchField/index.js +2 -2
  78. package/dist/core/primitive/SearchField/index.js.map +1 -1
  79. package/dist/core/primitive/SectionHeader/index.d.ts +8 -1
  80. package/dist/core/primitive/SectionHeader/index.d.ts.map +1 -1
  81. package/dist/core/primitive/SectionHeader/index.js +2 -1
  82. package/dist/core/primitive/SectionHeader/index.js.map +1 -1
  83. package/dist/core/primitive/Switch/index.d.ts +6 -1
  84. package/dist/core/primitive/Switch/index.d.ts.map +1 -1
  85. package/dist/core/primitive/Switch/index.js +2 -2
  86. package/dist/core/primitive/Switch/index.js.map +1 -1
  87. package/dist/core/primitive/Textarea/index.d.ts +13 -1
  88. package/dist/core/primitive/Textarea/index.d.ts.map +1 -1
  89. package/dist/core/primitive/Textarea/index.js +10 -4
  90. package/dist/core/primitive/Textarea/index.js.map +1 -1
  91. package/dist/offset-pop/components-forms.css +29 -0
  92. package/dist/offset-pop/components-navigation.css +7 -0
  93. 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.5",
4
+ "version": "0.9.8",
5
5
  "algorithm": "starci/grammar-source-digest@1",
6
- "sourceDigest": "sha256:5e06ab35c59bdb6d3b3b19ec8a4e0263df365ebbad219603304091b708a3421e",
7
- "distDigest": "sha256:0e854f8925ecf978f6e1153debd167ac6d2230c0ca6e20e3071c0bc685ec66dc",
8
- "builtAt": "2026-10-11T14:02:49.571Z"
6
+ "sourceDigest": "sha256:78708b310e7c5a27759d26b772203287745b152d8086326a6ac57f4bacea752d",
7
+ "distDigest": "sha256:2bca9b80fdb6f0be415e009ea6469099c946b666e972c27cc54a6a030a0bc359",
8
+ "builtAt": "2026-10-12T06:28:20.014Z"
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);
@@ -124,6 +125,58 @@
124
125
  resize: vertical;
125
126
  }
126
127
 
128
+ /*
129
+ * Loading field (knowledge STATE-8, Select and Textarea `isSkeleton`): the label stays real, the control is one
130
+ * Skeleton block of the loaded control's height (the select trigger 2.5rem, with the touch floor below; the textarea
131
+ * `rows` at 1.25rem a line plus its padding, never under the 5rem field minimum). Not focusable: no control exists.
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
+
140
+ .starci-core-field-skeleton-control { display: block; min-width: 0; }
141
+
142
+ .starci-core-field-skeleton-control > .starci-core-skeleton {
143
+ block-size: 100%;
144
+ aspect-ratio: auto;
145
+ border-radius: var(--field-radius, calc(var(--radius, 0.5rem) * 1.5));
146
+ }
147
+
148
+ .starci-core-field-skeleton-control:is([data-grammar-field-skeleton="select"], [data-grammar-field-skeleton="input"]) { block-size: 2.5rem; }
149
+
150
+ /* Joined segments: one block, a segment-width (5rem) per option, never wider than the field; `fill` takes the whole row. */
151
+ .starci-core-field-skeleton-control[data-grammar-field-skeleton="segmented"] {
152
+ block-size: 2.5rem;
153
+ inline-size: min(100%, calc(var(--starci-core-skeleton-segments, 2) * 5rem));
154
+ }
155
+
156
+ .starci-core-field-skeleton-control[data-grammar-field-skeleton="segmented"][data-width="fill"] { inline-size: 100%; }
157
+
158
+ /* A checkbox box and a switch track beside their real labels. */
159
+ .starci-core-field-skeleton-control[data-grammar-field-skeleton="choice"] { flex: none; block-size: 1rem; inline-size: 1rem; }
160
+ .starci-core-field-skeleton-control[data-grammar-field-skeleton="choice"] > .starci-core-skeleton { border-radius: 0.25rem; }
161
+ .starci-core-field-skeleton-control[data-grammar-field-skeleton="switch"] { flex: none; block-size: 1.25rem; inline-size: 2rem; }
162
+ .starci-core-field-skeleton-control[data-grammar-field-skeleton="switch"] > .starci-core-skeleton { border-radius: 999px; }
163
+
164
+ .starci-core-field-skeleton-choice-label {
165
+ color: var(--foreground, CanvasText);
166
+ font-size: 0.875rem;
167
+ line-height: 1.25;
168
+ }
169
+
170
+ .starci-core-field-skeleton-control[data-grammar-field-skeleton="textarea"] {
171
+ block-size: max(5rem, calc(var(--starci-core-skeleton-rows, 4) * 1.25rem + 1rem));
172
+ }
173
+
174
+ @media (pointer: coarse), (max-width: 40rem) {
175
+ .starci-core-field-skeleton-control:is([data-grammar-field-skeleton="select"], [data-grammar-field-skeleton="input"], [data-grammar-field-skeleton="segmented"]) {
176
+ min-block-size: var(--starci-core-control-min-size, 2.75rem);
177
+ }
178
+ }
179
+
127
180
  .starci-core-select-trigger,
128
181
  .starci-core-combo-box-group,
129
182
  .starci-core-search-field-group,
@@ -140,6 +193,81 @@
140
193
  min-width: 0;
141
194
  }
142
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
+
143
271
  .starci-core-date-input {
144
272
  min-width: 0;
145
273
  flex: 1;
@@ -122,6 +122,11 @@
122
122
  font-weight: 600;
123
123
  }
124
124
 
125
+ /* A crumb whose label is not known yet (knowledge STATE-8): a short Skeleton text line of the label's size. */
126
+ .starci-core-breadcrumb-skeleton { display: inline-block; inline-size: 6rem; }
127
+ .starci-core-breadcrumb-skeleton > .starci-core-skeleton-group { gap: 0; }
128
+ .starci-core-breadcrumb-skeleton .starci-core-skeleton { block-size: 0.875rem; }
129
+
125
130
  @media (max-width: 30rem) {
126
131
  .starci-core-breadcrumb-label {
127
132
  max-width: 8rem;
@@ -289,6 +294,12 @@
289
294
  color: var(--danger, CanvasText);
290
295
  }
291
296
 
297
+ /* Loading stepper (knowledge STATE-8): a static Skeleton circle for the mark, labels stay real. */
298
+ .starci-core-step-skeleton-marker { border: 0; background: transparent; }
299
+ .starci-core-step-skeleton-label { display: block; inline-size: 5rem; }
300
+ .starci-core-step-skeleton-label > .starci-core-skeleton-group { gap: 0; }
301
+ .starci-core-step-skeleton-label .starci-core-skeleton { block-size: 0.875rem; }
302
+
292
303
  .starci-core-step-copy {
293
304
  display: flex;
294
305
  min-width: 0;
@@ -641,6 +652,9 @@
641
652
  flex: 0 0 auto;
642
653
  }
643
654
 
655
+ /* A loading avatar (knowledge STATE-8): the Skeleton circle at the avatar's size. */
656
+ .starci-core-avatar-skeleton { display: inline-flex; }
657
+
644
658
  .starci-core-avatar[data-grammar-current="true"] {
645
659
  box-shadow: 0 0 0 2px var(--background, Canvas), 0 0 0 4px var(--accent, Highlight);
646
660
  }
@@ -685,6 +699,42 @@
685
699
  color: var(--accent-soft-foreground, HighlightText);
686
700
  }
687
701
 
702
+ /*
703
+ * Selectable chips (0.9.6, selectionMode single or multiple): a group of choices reads as secondary
704
+ * buttons with a border. Unselected = the secondary-button face (--default, hover --default-hover,
705
+ * the same tokens `.button--secondary` uses) with a 1px inset --border and the default foreground;
706
+ * selected = the accent-soft fill plus a 1px inset accent border. Static groups (selectionMode
707
+ * "none") and off chips are not matched and keep their look. The vendor `.tag--default` paint lives
708
+ * in the later `components` layer, which beats any earlier layer, so only the background takes
709
+ * `!important` (the same documented approach as the off chip); a family restyles it through
710
+ * `--starci-core-tag-bg` and `--starci-core-tag-bg-hover`, never by out-ranking this rule.
711
+ */
712
+ .starci-core-tag-group:is([data-grammar-tag-selection="single"], [data-grammar-tag-selection="multiple"]) .starci-core-tag:not([data-grammar-tag-state="off"]) {
713
+ box-shadow: inset 0 0 0 1px var(--starci-core-tag-ring, var(--border, GrayText));
714
+ }
715
+
716
+ .starci-core-tag-group:is([data-grammar-tag-selection="single"], [data-grammar-tag-selection="multiple"]) .starci-core-tag:not([data-grammar-tag-state="off"]):not([data-selected="true"]):not(:has(> [data-grammar-selected="true"])) {
717
+ background: var(--starci-core-tag-bg, var(--default, ButtonFace)) !important;
718
+ color: var(--default-foreground, var(--foreground, ButtonText));
719
+ }
720
+
721
+ @media (hover: hover) {
722
+ .starci-core-tag-group:is([data-grammar-tag-selection="single"], [data-grammar-tag-selection="multiple"]) .starci-core-tag:not([data-grammar-tag-state="off"]):not([data-selected="true"]):not([data-disabled="true"]):not(:has(> [data-grammar-selected="true"])):is(:hover, [data-hovered="true"]) {
723
+ background: var(--starci-core-tag-bg-hover, var(--default-hover, ButtonFace)) !important;
724
+ }
725
+ }
726
+
727
+ .starci-core-tag-group:is([data-grammar-tag-selection="single"], [data-grammar-tag-selection="multiple"]) .starci-core-tag:not([data-grammar-tag-state="off"]):is([data-selected="true"], :has(> [data-grammar-selected="true"])) {
728
+ --starci-core-tag-ring: var(--accent, Highlight);
729
+ }
730
+
731
+ @media (forced-colors: active) {
732
+ .starci-core-tag-group:is([data-grammar-tag-selection="single"], [data-grammar-tag-selection="multiple"]) .starci-core-tag:not([data-grammar-tag-state="off"]):not([data-selected="true"]):not(:has(> [data-grammar-selected="true"])):not([data-focus-visible="true"]) {
733
+ outline: 1px solid ButtonText;
734
+ outline-offset: -1px;
735
+ }
736
+ }
737
+
688
738
  /*
689
739
  * An off chip (0.6.0, `TagGroupItem.isOff`): HeroUI's tertiary chip - a transparent ground - with a
690
740
  * 1px --border outline and the muted foreground, so it reads as present-but-off beside its filled
@@ -970,6 +1020,29 @@
970
1020
  flex: 0 0 auto;
971
1021
  }
972
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
+
1030
+ /* Loading options (knowledge STATE-8): a label line and a description line, at the loaded option's height. */
1031
+ .starci-core-list-box-skeleton-option {
1032
+ display: flex;
1033
+ align-items: center;
1034
+ padding-inline: 0.75rem;
1035
+ padding-block: 0.375rem;
1036
+ pointer-events: none;
1037
+ }
1038
+
1039
+ .starci-core-list-box-skeleton-option .starci-core-list-box-label,
1040
+ .starci-core-list-box-skeleton-option .starci-core-list-box-description { display: block; }
1041
+ .starci-core-list-box-skeleton-option .starci-core-list-box-label > .starci-core-skeleton-group { inline-size: 55%; }
1042
+ .starci-core-list-box-skeleton-option .starci-core-list-box-description > .starci-core-skeleton-group { inline-size: 80%; }
1043
+ .starci-core-list-box-skeleton-option .starci-core-skeleton { block-size: 0.75rem; }
1044
+ .starci-core-list-box-skeleton-option .starci-core-skeleton-group { gap: 0; margin-block: 0.125rem; }
1045
+
973
1046
  .starci-core-list-box-empty {
974
1047
  padding: var(--grammar-section-gap, 1rem);
975
1048
  color: var(--muted, GrayText);
@@ -1011,6 +1084,21 @@
1011
1084
  overflow-wrap: anywhere;
1012
1085
  }
1013
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
+
1014
1102
  .starci-core-disclosure-indicator,
1015
1103
  .starci-core-generic-accordion-indicator {
1016
1104
  flex: 0 0 auto;
@@ -1200,6 +1288,15 @@
1200
1288
  background: currentColor;
1201
1289
  }
1202
1290
 
1291
+ /* Loading timeline (knowledge STATE-8): static mark and connector tint, three Skeleton lines of the entry's rhythm. */
1292
+ .starci-core-timeline-skeleton-marker > .starci-core-skeleton { inline-size: 1rem; block-size: 1rem; }
1293
+ .starci-core-timeline[data-loading="true"] .starci-core-timeline-item:not(:last-child)::before { background: color-mix(in srgb, var(--foreground, CanvasText) 9%, transparent); }
1294
+ .starci-core-timeline-item[data-grammar-skeleton="true"] .starci-core-timeline-title > .starci-core-skeleton-group { inline-size: 50%; }
1295
+ .starci-core-timeline-item[data-grammar-skeleton="true"] .starci-core-timeline-time > .starci-core-skeleton-group { inline-size: 25%; }
1296
+ .starci-core-timeline-item[data-grammar-skeleton="true"] .starci-core-timeline-description > .starci-core-skeleton-group { inline-size: 80%; }
1297
+ .starci-core-timeline-item[data-grammar-skeleton="true"] .starci-core-skeleton-group { gap: 0; }
1298
+ .starci-core-timeline-item[data-grammar-skeleton="true"] .starci-core-skeleton { block-size: 0.8125rem; }
1299
+
1203
1300
  .starci-core-timeline-copy {
1204
1301
  display: flex;
1205
1302
  min-width: 0;
@@ -1328,9 +1425,13 @@
1328
1425
  .starci-core-flow-graph .react-flow__viewport { transform-origin: 0 0; z-index: 2; pointer-events: none; }
1329
1426
  .starci-core-flow-graph .react-flow__renderer { z-index: 4; }
1330
1427
  .starci-core-flow-graph .react-flow__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%; }
1331
1430
  .starci-core-flow-graph .react-flow__edges { position: absolute; }
1332
1431
  .starci-core-flow-graph .react-flow__edges svg { position: absolute; overflow: visible; pointer-events: none; }
1333
1432
  .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; }
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; }
1334
1435
  .starci-core-flow-graph .starci-core-flow-graph-edge-placeholder .react-flow__edge-path { stroke-dasharray: 4 5; }
1335
1436
  .starci-core-flow-graph .react-flow__nodes { pointer-events: none; transform-origin: 0 0; }
1336
1437
  .starci-core-flow-graph .react-flow__node {
@@ -915,6 +915,23 @@
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
+
926
+ /* Loading meter (knowledge STATE-8, `isSkeleton`): the label stays real, the bar is a static Skeleton bar of the track height. */
927
+ .starci-core-meter-skeleton-bar { display: block; block-size: 0.5rem; overflow: hidden; border-radius: 999px; }
928
+
929
+ .starci-core-meter-skeleton-bar > .starci-core-skeleton {
930
+ block-size: 100%;
931
+ aspect-ratio: auto;
932
+ border-radius: inherit;
933
+ }
934
+
918
935
  /*
919
936
  * Segmented meter (owner ruling 2026-09-27): the track spans the full width of its container,
920
937
  * like a Progress track, at HeroUI's h-1 (0.25rem, 4px) - thinner than the plain meter's h-2 -
@@ -9,24 +9,24 @@ type ExtensionWithoutCommonCollisions<Common extends GrammarRendererRegistry, Ex
9
9
  };
10
10
  export declare const COMMON_GRAMMAR_COMPONENTS: Readonly<{
11
11
  readonly Accordion: ({ label, items, expandedIds, defaultExpandedIds, onExpandedChange, allowsMultipleExpanded, headingLevel, className, }: import("./renderers-navigation.js").AccordionProps) => import("react").JSX.Element;
12
- readonly Avatar: ({ name, src, fallback, size, isDecorative, isCurrent, className }: import("./renderers-navigation.js").AvatarProps) => import("react").JSX.Element;
12
+ readonly Avatar: ({ name, src, fallback, size, isDecorative, isCurrent, className, isSkeleton }: import("./renderers-navigation.js").AvatarProps) => import("react").JSX.Element;
13
13
  readonly AvatarGroup: ({ label, items, max, size, overflowLabel, className }: import("./renderers-navigation.js").AvatarGroupProps) => import("react").JSX.Element;
14
14
  readonly BottomNav: ({ label, items, currentId, onSelect, position, visibility, className }: import("./renderers-navigation.js").BottomNavProps) => import("react").JSX.Element;
15
15
  readonly Breadcrumbs: ({ label, items, separator, onAction, className }: import("./renderers-navigation.js").BreadcrumbsProps) => import("react").JSX.Element;
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;
23
23
  readonly Link: ({ children, href, kind, isCurrent, visited, externalHint, externalIcon, isDisabled, onFollow, className, }: import("./renderers-navigation.js").LinkProps) => import("react").JSX.Element;
24
- readonly ListBox: ({ label, items, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, onAction, emptyContent, className, }: import("./renderers-navigation.js").ListBoxProps) => import("react").JSX.Element;
24
+ readonly ListBox: ({ label, items, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, onAction, emptyContent, isLoading, loadingRows, className, }: import("./renderers-navigation.js").ListBoxProps) => import("react").JSX.Element;
25
25
  readonly Pagination: ({ label, page, pageCount, onPageChange, siblingCount, previousLabel, nextLabel, pageLabel, summary, className, }: import("./renderers-navigation.js").PaginationProps) => import("react").JSX.Element;
26
26
  readonly Rating: ({ label, value, defaultValue, onChange, max, isReadOnly, isDisabled, valueLabel, icon, name, className, }: import("./renderers-navigation.js").RatingProps) => import("react").JSX.Element;
27
- readonly Stepper: ({ label, steps, currentStepId, orientation, onStepSelect, stateLabel, renderMarker, className, }: import("./renderers-navigation.js").StepperProps) => import("react").JSX.Element;
27
+ readonly Stepper: ({ label, steps, currentStepId, orientation, onStepSelect, stateLabel, renderMarker, className, isLoading, }: import("./renderers-navigation.js").StepperProps) => import("react").JSX.Element;
28
28
  readonly TagGroup: ({ label, items, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, onRemove, removeLabel, emptyContent, size, className, }: import("./renderers-navigation.js").TagGroupProps) => import("react").JSX.Element;
29
- readonly Timeline: ({ label, items, className }: import("./renderers-navigation.js").TimelineProps) => import("react").JSX.Element;
29
+ readonly Timeline: ({ label, items, className, isLoading, loadingRows }: import("./renderers-navigation.js").TimelineProps) => import("react").JSX.Element;
30
30
  readonly TopBar: ({ brand, navigation, actions, menu, position, className, ...headerProps }: import("./renderers-navigation.js").TopBarProps) => import("react").JSX.Element;
31
31
  readonly Alert: (props: import("./renderers-overlays.js").AlertProps) => import("react").JSX.Element | null;
32
32
  readonly AlertDialog: ({ title, description, children, tone, confirmLabel, cancelLabel, onConfirm, onCancel, isConfirmPending, trigger, isKeyboardDismissDisabled, ...openState }: import("./renderers-overlays.js").AlertDialogProps) => import("react").JSX.Element;
@@ -35,7 +35,7 @@ export declare const COMMON_GRAMMAR_COMPONENTS: Readonly<{
35
35
  readonly Drawer: ({ title, description, children, footer, trigger, closeLabel, placement, showHandle, isDismissable, isKeyboardDismissDisabled, ...openState }: import("./renderers-overlays.js").DrawerProps) => import("react").JSX.Element;
36
36
  readonly DropdownMenu: ({ trigger, entries, onAction, placement, ...openState }: import("./renderers-overlays.js").DropdownMenuProps) => import("react").JSX.Element;
37
37
  readonly Kbd: ({ keys }: import("./renderers-overlays.js").KbdProps) => import("react").JSX.Element;
38
- readonly Meter: ({ label, value, minValue, maxValue, valueLabel, tone, isLabelHidden, segments, }: import("./renderers-overlays.js").MeterProps) => import("react").JSX.Element;
38
+ readonly Meter: ({ label, value, minValue, maxValue, valueLabel, tone, isLabelHidden, segments, isSkeleton, }: import("./renderers-overlays.js").MeterProps) => import("react").JSX.Element;
39
39
  readonly Popover: ({ trigger, children, placement, showArrow, title, label, ...openState }: import("./renderers-overlays.js").PopoverProps) => import("react").JSX.Element;
40
40
  readonly ProgressCircle: ({ label, value, isIndeterminate, size }: import("./renderers-overlays.js").ProgressCircleProps) => import("react").JSX.Element;
41
41
  readonly Skeleton: ({ shape, lines, ratio, size }: import("./renderers-overlays.js").SkeletonProps) => import("react").JSX.Element;
@@ -44,7 +44,7 @@ export declare const COMMON_GRAMMAR_COMPONENTS: Readonly<{
44
44
  readonly Toaster: ({ label, dismissLabel, queue, placement, maxVisible }: import("./renderers-overlays.js").ToasterProps) => import("react").JSX.Element;
45
45
  readonly ButtonGroup: ({ label, children, orientation, isDisabled, width }: import("./renderers-forms.js").ButtonGroupProps) => import("react").JSX.Element;
46
46
  readonly Checkbox: ({ value, isSelected, defaultSelected, onSelectedChange, isIndeterminate, variant, ...field }: import("./renderers-forms.js").CheckboxProps) => import("react").JSX.Element;
47
- readonly CheckboxGroup: ({ options, value, defaultValue, onValueChange, orientation, variant, ...field }: import("./renderers-forms.js").CheckboxGroupProps) => import("react").JSX.Element;
47
+ readonly CheckboxGroup: ({ options, value, defaultValue, onValueChange, orientation, variant, isSkeleton, ...field }: import("./renderers-forms.js").CheckboxGroupProps) => import("react").JSX.Element;
48
48
  readonly ComboBox: ({ id, options, placeholder, value, defaultValue, onValueChange, inputValue, defaultInputValue, onInputChange, allowsCustomValue, emptyState, isPending, menuTrigger, variant, ...field }: import("./renderers-forms.js").ComboBoxProps) => import("react").JSX.Element;
49
49
  readonly DateField: ({ value, defaultValue, onValueChange, minValue, maxValue, granularity, variant, ...field }: import("./renderers-forms.js").DateFieldProps) => import("react").JSX.Element;
50
50
  readonly DatePicker: ({ value, defaultValue, onValueChange, minValue, maxValue, isDateUnavailable, granularity, variant, ...field }: import("./renderers-forms.js").DatePickerProps) => import("react").JSX.Element;
@@ -53,18 +53,18 @@ export declare const COMMON_GRAMMAR_COMPONENTS: Readonly<{
53
53
  readonly Fieldset: ({ legend, isLegendHidden, description, errorMessage, children, actions, isDisabled }: import("./renderers-forms.js").FieldsetProps) => import("react").JSX.Element;
54
54
  readonly FileDropzone: ({ id: idProp, accept, multiple, onFilesChange, prompt, icon, hideFileList, label, isLabelHidden, description, errorMessage, isInvalid, isRequired, isDisabled, isReadOnly, name, }: import("./renderers-forms.js").FileDropzoneProps) => import("react").JSX.Element;
55
55
  readonly Form: ({ children, label, id, onSubmit, onReset, action, method, validationErrors, validationBehavior, isPending, }: import("./renderers-forms.js").FormProps) => import("react").JSX.Element;
56
- readonly NumberField: ({ id, placeholder, value, defaultValue, onValueChange, minValue, maxValue, step, formatOptions, hideSteppers, variant, ...field }: import("./renderers-forms.js").NumberFieldProps) => import("react").JSX.Element;
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, ...field }: import("./renderers-forms.js").SearchFieldProps) => import("react").JSX.Element;
59
- readonly SegmentedControl: ({ options, value, defaultValue, onValueChange, width, label, isLabelHidden, description, errorMessage, isInvalid, isRequired, isDisabled, isReadOnly, name, }: import("./renderers-forms.js").SegmentedControlProps) => import("react").JSX.Element;
60
- readonly Select: ({ options, placeholder, value, defaultValue, onValueChange, isPending, variant, ...field }: import("./renderers-forms.js").SelectProps) => 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
+ 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
+ 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
- readonly Switch: ({ value, isSelected, defaultSelected, onSelectedChange, ...field }: import("./renderers-forms.js").SwitchProps) => import("react").JSX.Element;
63
- readonly Textarea: ({ id, placeholder, value, defaultValue, rows, maxLength, minLength, onValueChange, variant, onSubmitShortcut, mentions, ...field }: import("./renderers-forms.js").TextareaProps) => import("react").JSX.Element;
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, 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;
67
- readonly ChatBubble: ({ children, side, author, avatar, meta, status, actions, footer, isHighlight, id, }: import("./renderers.js").ChatBubbleProps) => import("react").JSX.Element;
67
+ readonly ChatBubble: ({ children, side, author, avatar, meta, status, actions, footer, isHighlight, id, isSkeleton, }: import("./renderers.js").ChatBubbleProps) => import("react").JSX.Element;
68
68
  readonly ChatWorkspace: (props: import("./renderers.js").ChatWorkspaceProps) => import("react").JSX.Element;
69
69
  readonly Divider: (props: import("./renderers.js").DividerProps) => import("react").JSX.Element;
70
70
  readonly EmptyNotice: ({ message, description, iconSource, actionLabel, actionStartContent, actionVariant, isActionPending, onAction, }: import("./renderers.js").EmptyNoticeProps) => 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;
@@ -105,7 +105,7 @@ export declare const COMMON_GRAMMAR_COMPONENTS: Readonly<{
105
105
  readonly Rail: (props: import("./renderers.js").RailProps) => import("react").JSX.Element;
106
106
  readonly RankArtwork: ({ className, kind, label, ...props }: import("./renderers.js").RankArtworkProps) => import("react").JSX.Element;
107
107
  readonly Region: (props: import("./renderers.js").RegionProps) => import("react").JSX.Element;
108
- readonly SectionHeader: ({ title, description, eyebrow, action, count, meta, level, className, id, composition, }: import("./renderers.js").SectionHeaderProps) => import("react").JSX.Element;
108
+ readonly SectionHeader: ({ title, description, eyebrow, action, count, meta, level, className, id, composition, isSkeleton, }: import("./renderers.js").SectionHeaderProps) => import("react").JSX.Element;
109
109
  readonly Sidebar: ({ label, groups, selectedKey, presentation, isCollapsed, collapseLabel, expandLabel, toggleSource, header, footer, onAction, onCollapsedChange, }: import("./renderers.js").SidebarProps) => import("react").JSX.Element;
110
110
  readonly StateMark: (props: import("./renderers.js").StateMarkProps) => import("react").JSX.Element | null;
111
111
  readonly StaticStateRow: (props: import("./renderers.js").StaticStateRowProps) => import("react").JSX.Element;
@@ -22,7 +22,7 @@ export { DateRangePicker, type DateRangePickerProps, type DateRangeValue } from
22
22
  export declare const COMMON_FORMS_COMPONENTS: Readonly<{
23
23
  readonly ButtonGroup: ({ label, children, orientation, isDisabled, width }: import("./renderers-forms.js").ButtonGroupProps) => import("react").JSX.Element;
24
24
  readonly Checkbox: ({ value, isSelected, defaultSelected, onSelectedChange, isIndeterminate, variant, ...field }: import("./renderers-forms.js").CheckboxProps) => import("react").JSX.Element;
25
- readonly CheckboxGroup: ({ options, value, defaultValue, onValueChange, orientation, variant, ...field }: import("./renderers-forms.js").CheckboxGroupProps) => import("react").JSX.Element;
25
+ readonly CheckboxGroup: ({ options, value, defaultValue, onValueChange, orientation, variant, isSkeleton, ...field }: import("./renderers-forms.js").CheckboxGroupProps) => import("react").JSX.Element;
26
26
  readonly ComboBox: ({ id, options, placeholder, value, defaultValue, onValueChange, inputValue, defaultInputValue, onInputChange, allowsCustomValue, emptyState, isPending, menuTrigger, variant, ...field }: import("./renderers-forms.js").ComboBoxProps) => import("react").JSX.Element;
27
27
  readonly DateField: ({ value, defaultValue, onValueChange, minValue, maxValue, granularity, variant, ...field }: import("./renderers-forms.js").DateFieldProps) => import("react").JSX.Element;
28
28
  readonly DatePicker: ({ value, defaultValue, onValueChange, minValue, maxValue, isDateUnavailable, granularity, variant, ...field }: import("./renderers-forms.js").DatePickerProps) => import("react").JSX.Element;
@@ -31,14 +31,14 @@ export declare const COMMON_FORMS_COMPONENTS: Readonly<{
31
31
  readonly Fieldset: ({ legend, isLegendHidden, description, errorMessage, children, actions, isDisabled }: import("./renderers-forms.js").FieldsetProps) => import("react").JSX.Element;
32
32
  readonly FileDropzone: ({ id: idProp, accept, multiple, onFilesChange, prompt, icon, hideFileList, label, isLabelHidden, description, errorMessage, isInvalid, isRequired, isDisabled, isReadOnly, name, }: import("./renderers-forms.js").FileDropzoneProps) => import("react").JSX.Element;
33
33
  readonly Form: ({ children, label, id, onSubmit, onReset, action, method, validationErrors, validationBehavior, isPending, }: import("./renderers-forms.js").FormProps) => import("react").JSX.Element;
34
- readonly NumberField: ({ id, placeholder, value, defaultValue, onValueChange, minValue, maxValue, step, formatOptions, hideSteppers, variant, ...field }: import("./renderers-forms.js").NumberFieldProps) => import("react").JSX.Element;
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, ...field }: import("./renderers-forms.js").SearchFieldProps) => import("react").JSX.Element;
37
- readonly SegmentedControl: ({ options, value, defaultValue, onValueChange, width, label, isLabelHidden, description, errorMessage, isInvalid, isRequired, isDisabled, isReadOnly, name, }: import("./renderers-forms.js").SegmentedControlProps) => import("react").JSX.Element;
38
- readonly Select: ({ options, placeholder, value, defaultValue, onValueChange, isPending, variant, ...field }: import("./renderers-forms.js").SelectProps) => 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
+ 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
+ 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
- readonly Switch: ({ value, isSelected, defaultSelected, onSelectedChange, ...field }: import("./renderers-forms.js").SwitchProps) => import("react").JSX.Element;
41
- readonly Textarea: ({ id, placeholder, value, defaultValue, rows, maxLength, minLength, onValueChange, variant, onSubmitShortcut, mentions, ...field }: import("./renderers-forms.js").TextareaProps) => import("react").JSX.Element;
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, 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
@@ -21,24 +21,24 @@ export { Rating, type RatingProps } from "../core/primitive/Rating/index.js";
21
21
  /** Every navigation-group renderer, spread into `COMMON_GRAMMAR_COMPONENTS`. */
22
22
  export declare const COMMON_NAVIGATION_COMPONENTS: Readonly<{
23
23
  readonly Accordion: ({ label, items, expandedIds, defaultExpandedIds, onExpandedChange, allowsMultipleExpanded, headingLevel, className, }: import("./renderers-navigation.js").AccordionProps) => import("react").JSX.Element;
24
- readonly Avatar: ({ name, src, fallback, size, isDecorative, isCurrent, className }: import("./renderers-navigation.js").AvatarProps) => import("react").JSX.Element;
24
+ readonly Avatar: ({ name, src, fallback, size, isDecorative, isCurrent, className, isSkeleton }: import("./renderers-navigation.js").AvatarProps) => import("react").JSX.Element;
25
25
  readonly AvatarGroup: ({ label, items, max, size, overflowLabel, className }: import("./renderers-navigation.js").AvatarGroupProps) => import("react").JSX.Element;
26
26
  readonly BottomNav: ({ label, items, currentId, onSelect, position, visibility, className }: import("./renderers-navigation.js").BottomNavProps) => import("react").JSX.Element;
27
27
  readonly Breadcrumbs: ({ label, items, separator, onAction, className }: import("./renderers-navigation.js").BreadcrumbsProps) => import("react").JSX.Element;
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;
35
35
  readonly Link: ({ children, href, kind, isCurrent, visited, externalHint, externalIcon, isDisabled, onFollow, className, }: import("./renderers-navigation.js").LinkProps) => import("react").JSX.Element;
36
- readonly ListBox: ({ label, items, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, onAction, emptyContent, className, }: import("./renderers-navigation.js").ListBoxProps) => import("react").JSX.Element;
36
+ readonly ListBox: ({ label, items, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, onAction, emptyContent, isLoading, loadingRows, className, }: import("./renderers-navigation.js").ListBoxProps) => import("react").JSX.Element;
37
37
  readonly Pagination: ({ label, page, pageCount, onPageChange, siblingCount, previousLabel, nextLabel, pageLabel, summary, className, }: import("./renderers-navigation.js").PaginationProps) => import("react").JSX.Element;
38
38
  readonly Rating: ({ label, value, defaultValue, onChange, max, isReadOnly, isDisabled, valueLabel, icon, name, className, }: import("./renderers-navigation.js").RatingProps) => import("react").JSX.Element;
39
- readonly Stepper: ({ label, steps, currentStepId, orientation, onStepSelect, stateLabel, renderMarker, className, }: import("./renderers-navigation.js").StepperProps) => import("react").JSX.Element;
39
+ readonly Stepper: ({ label, steps, currentStepId, orientation, onStepSelect, stateLabel, renderMarker, className, isLoading, }: import("./renderers-navigation.js").StepperProps) => import("react").JSX.Element;
40
40
  readonly TagGroup: ({ label, items, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, onRemove, removeLabel, emptyContent, size, className, }: import("./renderers-navigation.js").TagGroupProps) => import("react").JSX.Element;
41
- readonly Timeline: ({ label, items, className }: import("./renderers-navigation.js").TimelineProps) => import("react").JSX.Element;
41
+ readonly Timeline: ({ label, items, className, isLoading, loadingRows }: import("./renderers-navigation.js").TimelineProps) => import("react").JSX.Element;
42
42
  readonly TopBar: ({ brand, navigation, actions, menu, position, className, ...headerProps }: import("./renderers-navigation.js").TopBarProps) => import("react").JSX.Element;
43
43
  }>;
44
44
  //# sourceMappingURL=renderers-navigation.d.ts.map
@@ -21,7 +21,7 @@ export declare const COMMON_OVERLAYS_COMPONENTS: Readonly<{
21
21
  readonly Drawer: ({ title, description, children, footer, trigger, closeLabel, placement, showHandle, isDismissable, isKeyboardDismissDisabled, ...openState }: import("./renderers-overlays.js").DrawerProps) => import("react").JSX.Element;
22
22
  readonly DropdownMenu: ({ trigger, entries, onAction, placement, ...openState }: import("./renderers-overlays.js").DropdownMenuProps) => import("react").JSX.Element;
23
23
  readonly Kbd: ({ keys }: import("./renderers-overlays.js").KbdProps) => import("react").JSX.Element;
24
- readonly Meter: ({ label, value, minValue, maxValue, valueLabel, tone, isLabelHidden, segments, }: import("./renderers-overlays.js").MeterProps) => import("react").JSX.Element;
24
+ readonly Meter: ({ label, value, minValue, maxValue, valueLabel, tone, isLabelHidden, segments, isSkeleton, }: import("./renderers-overlays.js").MeterProps) => import("react").JSX.Element;
25
25
  readonly Popover: ({ trigger, children, placement, showArrow, title, label, ...openState }: import("./renderers-overlays.js").PopoverProps) => import("react").JSX.Element;
26
26
  readonly ProgressCircle: ({ label, value, isIndeterminate, size }: import("./renderers-overlays.js").ProgressCircleProps) => import("react").JSX.Element;
27
27
  readonly Skeleton: ({ shape, lines, ratio, size }: import("./renderers-overlays.js").SkeletonProps) => import("react").JSX.Element;
@@ -34,7 +34,7 @@ export { OtpInput, type OtpInputProps } from "../core/OtpInput.js";
34
34
  export { StaticStateRow, type RowVerdict, type StaticStateRowData, type StaticStateRowProps } from "../core/composite/StaticStateRow/index.js";
35
35
  export { ListRow, type ListRowProps } from "../core/composite/ListRow/index.js";
36
36
  export { EmptyNotice, type EmptyNoticeProps } from "../core/composite/EmptyNotice/index.js";
37
- export { ChatBubble, type ChatBubbleProps, type ChatBubbleSide } from "../core/composite/ChatBubble/index.js";
37
+ export { ChatBubble, ChatBubbleSkeletons, type ChatBubbleProps, type ChatBubbleSide, type ChatBubbleSkeletonsProps } from "../core/composite/ChatBubble/index.js";
38
38
  export { FillViewport, type FillViewportBottomInset, type FillViewportMinHeight, type FillViewportProps } from "../core/composite/FillViewport/index.js";
39
39
  export { HorizontalScrollRegion, type HorizontalScrollRegionProps } from "../core/composite/HorizontalScrollRegion/index.js";
40
40
  export { VerticalScrollRegion, type VerticalScrollRegionProps } from "../core/composite/VerticalScrollRegion/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"renderers.d.ts","sourceRoot":"","sources":["../../src/common/renderers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAC3F,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,0CAA0C,CAAA;AACjG,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,kCAAkC,CAAA;AACzF,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAClI,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACtG,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AACnH,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAChG,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAClF,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACrH,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAC7H,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,qCAAqC,CAAA;AACxH,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAChH,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACnG,OAAO,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC5G,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AACpG,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAClF,OAAO,EAAE,IAAI,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,iCAAiC,CAAA;AACjJ,OAAO,EAAE,UAAU,EAAE,KAAK,oBAAoB,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,uCAAuC,CAAA;AACxI,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,0CAA0C,CAAA;AACjG,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,uCAAuC,CAAA;AACxF,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,KAAK,yBAAyB,EAAE,MAAM,4CAA4C,CAAA;AACvI,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAC9F,OAAO,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AACjH,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,6CAA6C,CAAA;AAC1G,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,gDAAgD,CAAA;AAC/G,OAAO,EAAE,oBAAoB,EAAE,KAAK,yBAAyB,EAAE,MAAM,mDAAmD,CAAA;AACxH,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACtH,OAAO,EAAE,cAAc,EAAE,KAAK,4BAA4B,EAAE,KAAK,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AACzI,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,4CAA4C,CAAA;AACnG,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AACjF,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AAC9I,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAC3F,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,uCAAuC,CAAA;AAC7G,OAAO,EAAE,YAAY,EAAE,KAAK,uBAAuB,EAAE,KAAK,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AACxJ,OAAO,EAAE,sBAAsB,EAAE,KAAK,2BAA2B,EAAE,MAAM,mDAAmD,CAAA;AAC5H,OAAO,EAAE,oBAAoB,EAAE,KAAK,yBAAyB,EAAE,MAAM,iDAAiD,CAAA;AACtH,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,qCAAqC,CAAA;AAC9G,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAA;AACtG,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AAChI,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,KAAK,oBAAoB,EAAE,KAAK,uBAAuB,EAAE,MAAM,yCAAyC,CAAA;AAClM,OAAO,EAAE,oBAAoB,EAAE,KAAK,wBAAwB,EAAE,KAAK,yBAAyB,EAAE,MAAM,8CAA8C,CAAA;AAClJ,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,EAAE,IAAI,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,8BAA8B,CAAA;AACjF,OAAO,EAAE,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAA;AACnG,OAAO,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAA;AAC9N,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA"}
1
+ {"version":3,"file":"renderers.d.ts","sourceRoot":"","sources":["../../src/common/renderers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAC3F,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,0CAA0C,CAAA;AACjG,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,kCAAkC,CAAA;AACzF,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAClI,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACtG,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AACnH,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAChG,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAClF,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACrH,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAC7H,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,qCAAqC,CAAA;AACxH,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAChH,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACnG,OAAO,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC5G,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AACpG,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAClF,OAAO,EAAE,IAAI,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,iCAAiC,CAAA;AACjJ,OAAO,EAAE,UAAU,EAAE,KAAK,oBAAoB,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,uCAAuC,CAAA;AACxI,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,0CAA0C,CAAA;AACjG,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,uCAAuC,CAAA;AACxF,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,KAAK,yBAAyB,EAAE,MAAM,4CAA4C,CAAA;AACvI,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAC9F,OAAO,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AACjH,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,6CAA6C,CAAA;AAC1G,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,gDAAgD,CAAA;AAC/G,OAAO,EAAE,oBAAoB,EAAE,KAAK,yBAAyB,EAAE,MAAM,mDAAmD,CAAA;AACxH,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACtH,OAAO,EAAE,cAAc,EAAE,KAAK,4BAA4B,EAAE,KAAK,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AACzI,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,4CAA4C,CAAA;AACnG,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AACjF,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AAC9I,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAC3F,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,KAAK,wBAAwB,EAAE,MAAM,uCAAuC,CAAA;AACjK,OAAO,EAAE,YAAY,EAAE,KAAK,uBAAuB,EAAE,KAAK,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AACxJ,OAAO,EAAE,sBAAsB,EAAE,KAAK,2BAA2B,EAAE,MAAM,mDAAmD,CAAA;AAC5H,OAAO,EAAE,oBAAoB,EAAE,KAAK,yBAAyB,EAAE,MAAM,iDAAiD,CAAA;AACtH,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,qCAAqC,CAAA;AAC9G,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAA;AACtG,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AAChI,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,KAAK,oBAAoB,EAAE,KAAK,uBAAuB,EAAE,MAAM,yCAAyC,CAAA;AAClM,OAAO,EAAE,oBAAoB,EAAE,KAAK,wBAAwB,EAAE,KAAK,yBAAyB,EAAE,MAAM,8CAA8C,CAAA;AAClJ,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,EAAE,IAAI,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,8BAA8B,CAAA;AACjF,OAAO,EAAE,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAA;AACnG,OAAO,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAA;AAC9N,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA"}