@starci/grammar 0.12.12 → 0.12.13

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 (30) hide show
  1. package/LICENSE +21 -21
  2. package/dist/.build-stamp.json +4 -4
  3. package/dist/common/components-forms.css +15 -13
  4. package/dist/common/components-navigation.css +11 -11
  5. package/dist/common/components-overlays.css +2 -2
  6. package/dist/common/styles.css +110 -24
  7. package/dist/core/HorizontalScrollFrame.d.ts +12 -0
  8. package/dist/core/HorizontalScrollFrame.d.ts.map +1 -0
  9. package/dist/core/HorizontalScrollFrame.js +36 -0
  10. package/dist/core/HorizontalScrollFrame.js.map +1 -0
  11. package/dist/core/branch/Tabs/index.d.ts +1 -1
  12. package/dist/core/branch/Tabs/index.d.ts.map +1 -1
  13. package/dist/core/branch/Tabs/index.js +2 -20
  14. package/dist/core/branch/Tabs/index.js.map +1 -1
  15. package/dist/core/composite/HorizontalScrollRegion/index.d.ts +5 -0
  16. package/dist/core/composite/HorizontalScrollRegion/index.d.ts.map +1 -1
  17. package/dist/core/composite/HorizontalScrollRegion/index.js +5 -3
  18. package/dist/core/composite/HorizontalScrollRegion/index.js.map +1 -1
  19. package/dist/core/primitive/Avatar/index.d.ts +1 -1
  20. package/dist/core/primitive/Avatar/index.d.ts.map +1 -1
  21. package/dist/core/primitive/Avatar/index.js +1 -1
  22. package/dist/core/primitive/Button/index.d.ts.map +1 -1
  23. package/dist/core/primitive/Button/index.js +2 -2
  24. package/dist/core/primitive/Button/index.js.map +1 -1
  25. package/dist/core/primitive/IconButton/index.d.ts +2 -2
  26. package/dist/core/primitive/IconButton/index.d.ts.map +1 -1
  27. package/dist/core/primitive/Switch/index.d.ts +1 -1
  28. package/dist/core/primitive/Switch/index.js +1 -1
  29. package/dist/core/primitive/Switch/index.js.map +1 -1
  30. package/package.json +1 -1
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.12.12",
4
+ "version": "0.12.13",
5
5
  "algorithm": "starci/grammar-source-digest@1",
6
- "sourceDigest": "sha256:35a80852a5bb476dcd0f515a833edfe02d8544101d978a79ffe3e99cfb672c08",
7
- "distDigest": "sha256:728233700cf64e355997b211049fd182a242c0b986bc1287961112421af66627",
8
- "builtAt": "2026-10-26T10:50:49.083Z"
6
+ "sourceDigest": "sha256:d0f747302686e5391934ba97b7fb91f582e15260a9b8e0eb4a25f365163bfdde",
7
+ "distDigest": "sha256:291edd4443f66c843492626af0a8d95c55549f58db0520c2d4d16273fb0b85d6",
8
+ "builtAt": "2026-10-26T12:54:42.809Z"
9
9
  }
@@ -119,7 +119,7 @@
119
119
  .starci-core-textarea-control {
120
120
  width: 100%;
121
121
  min-width: 0;
122
- min-height: 5rem;
122
+ min-height: var(--starci-core-control-min-size, 2.5rem);
123
123
  resize: vertical;
124
124
  }
125
125
 
@@ -145,7 +145,7 @@
145
145
  .starci-core-field-skeleton-control:is([data-grammar-field-skeleton="input"]) { block-size: 2.5rem; }
146
146
 
147
147
  /* The select trigger is HeroUI's own (min-h-9). */
148
- .starci-core-field-skeleton-control[data-grammar-field-skeleton="select"] { block-size: 2.25rem; }
148
+ .starci-core-field-skeleton-control[data-grammar-field-skeleton="select"] { block-size: var(--starci-core-control-min-size, 2.5rem); }
149
149
 
150
150
  /* Joined segments: one block, a segment-width (5rem) per option, never wider than the field; `fill` takes the whole row. */
151
151
  .starci-core-field-skeleton-control[data-grammar-field-skeleton="segmented"] {
@@ -160,7 +160,7 @@
160
160
  .starci-core-field-skeleton-control[data-grammar-field-skeleton="choice"] { flex: none; block-size: 1rem; inline-size: 1rem; }
161
161
  .starci-core-field-skeleton-control[data-grammar-field-skeleton="switch"] { flex: none; block-size: 1.25rem; inline-size: 2rem; }
162
162
  .starci-core-field-skeleton-control[data-grammar-field-skeleton="switch"][data-grammar-switch-size="lg"] { block-size: 1.5rem; inline-size: 3rem; }
163
- .starci-core-field-skeleton-control[data-grammar-field-skeleton="switch"][data-grammar-switch-size="control"] { block-size: var(--starci-core-control-min-size, 2.75rem); inline-size: 4.875rem; }
163
+ .starci-core-field-skeleton-control[data-grammar-field-skeleton="switch"][data-grammar-switch-size="control"] { block-size: var(--starci-core-control-min-size, 2.5rem); inline-size: 4.5rem; }
164
164
 
165
165
  .starci-core-field-skeleton-choice-label {
166
166
  color: var(--foreground, CanvasText);
@@ -174,7 +174,7 @@
174
174
 
175
175
  @media (pointer: coarse), (max-width: 40rem) {
176
176
  .starci-core-field-skeleton-control:is([data-grammar-field-skeleton="select"], [data-grammar-field-skeleton="input"], [data-grammar-field-skeleton="segmented"]) {
177
- min-block-size: var(--starci-core-control-min-size, 2.75rem);
177
+ min-block-size: var(--starci-core-control-min-size, 2.5rem);
178
178
  }
179
179
  }
180
180
 
@@ -310,24 +310,26 @@
310
310
 
311
311
  /*
312
312
  * --- Switch size "control" ---
313
- * HeroUI's `lg` switch scaled to the shared control height (2.75rem) so a theme switch lines up with the IconButtons and the avatar of a
313
+ * HeroUI's `lg` switch scaled to the shared control height (2.5rem, 40px) so a theme switch lines up with the IconButtons and the avatar of a
314
314
  * bar. Keyed on the stamps the component emits (`data-grammar-switch-size`, `data-grammar-switch-thumb`), never on vendor class names.
315
315
  * The geometry is `!important` because consumers import this sheet on either side of `@heroui/styles`, so layer rank cannot decide
316
316
  * against the vendor `.switch--*` size rules. The on position is a margin (as HeroUI's own thumb), the percentage resolving against
317
317
  * the track: 100% - thumb - inset.
318
318
  */
319
319
  [data-component="Switch"][data-grammar-switch-size="control"] {
320
- --grammar-switch-height: var(--starci-core-control-min-size, 2.75rem);
321
- --grammar-switch-width: 4.875rem;
320
+ --grammar-switch-height: var(--starci-core-control-min-size, 2.5rem);
321
+ --grammar-switch-width: 4.5rem;
322
322
  --grammar-switch-thumb: calc(var(--grammar-switch-height) - 0.5rem);
323
323
  }
324
324
 
325
- [data-component="Switch"][data-grammar-switch-size="control"] [data-grammar-choice-control="switch"] {
325
+ [data-component="Switch"][data-grammar-switch-size="control"] [data-grammar-switch-track] {
326
326
  inline-size: var(--grammar-switch-width) !important;
327
+ block-size: var(--grammar-switch-height) !important;
327
328
  }
328
329
 
329
330
  [data-component="Switch"][data-grammar-switch-size="control"] [data-grammar-switch-thumb] {
330
331
  inline-size: var(--grammar-switch-thumb) !important;
332
+ block-size: var(--grammar-switch-thumb) !important;
331
333
  align-items: center;
332
334
  justify-content: center;
333
335
  }
@@ -559,7 +561,7 @@
559
561
  .starci-core-list-option,
560
562
  .starci-core-button-group > *,
561
563
  .starci-core-field-control > :where(input:not([type="checkbox"], [type="radio"], [type="range"]), select) {
562
- min-block-size: var(--starci-core-control-min-size, 2.75rem);
564
+ min-block-size: var(--starci-core-control-min-size, 2.5rem);
563
565
  }
564
566
 
565
567
  .starci-core-number-field-step,
@@ -568,16 +570,16 @@
568
570
  .starci-core-date-trigger,
569
571
  .starci-core-calendar-nav,
570
572
  .starci-core-calendar-cell {
571
- min-inline-size: var(--starci-core-control-min-size, 2.75rem);
572
- min-block-size: var(--starci-core-control-min-size, 2.75rem);
573
+ min-inline-size: var(--starci-core-control-min-size, 2.5rem);
574
+ min-block-size: var(--starci-core-control-min-size, 2.5rem);
573
575
  }
574
576
 
575
577
  .starci-core-slider-thumb::after {
576
578
  position: absolute;
577
579
  inset-block-start: 50%;
578
580
  inset-inline-start: 50%;
579
- width: var(--starci-core-control-min-size, 2.75rem);
580
- height: var(--starci-core-control-min-size, 2.75rem);
581
+ width: var(--starci-core-control-min-size, 2.5rem);
582
+ height: var(--starci-core-control-min-size, 2.5rem);
581
583
  translate: -50% -50%;
582
584
  content: "";
583
585
  }
@@ -142,7 +142,7 @@
142
142
 
143
143
  .starci-core-pagination-page,
144
144
  .starci-core-pagination-step {
145
- min-inline-size: 2.75rem;
145
+ min-inline-size: var(--starci-core-control-min-size, 2.5rem);
146
146
  }
147
147
 
148
148
  .starci-core-pagination-step {
@@ -219,7 +219,7 @@
219
219
  }
220
220
 
221
221
  .starci-core-step-control {
222
- min-block-size: 2.75rem;
222
+ min-block-size: var(--starci-core-control-min-size, 2.5rem);
223
223
  cursor: pointer;
224
224
  }
225
225
 
@@ -360,8 +360,8 @@
360
360
  }
361
361
 
362
362
  .starci-core-top-bar-menu-trigger {
363
- min-inline-size: 2.75rem;
364
- min-block-size: 2.75rem;
363
+ min-inline-size: var(--starci-core-control-min-size, 2.5rem);
364
+ min-block-size: var(--starci-core-control-min-size, 2.5rem);
365
365
  flex: 0 0 auto;
366
366
  }
367
367
 
@@ -487,7 +487,7 @@
487
487
  .starci-core-bottom-nav-icon {
488
488
  position: relative;
489
489
  display: inline-flex;
490
- min-inline-size: 2.75rem;
490
+ min-inline-size: var(--starci-core-control-min-size, 2.5rem);
491
491
  min-block-size: 1.75rem;
492
492
  align-items: center;
493
493
  justify-content: center;
@@ -869,7 +869,7 @@
869
869
 
870
870
  .starci-core-data-table-column[data-grammar-table-selection="true"],
871
871
  .starci-core-data-table-cell[data-grammar-table-selection="true"] {
872
- width: 2.75rem;
872
+ width: var(--starci-core-control-min-size, 2.5rem);
873
873
  }
874
874
 
875
875
  .starci-core-data-table-row[data-grammar-selected="true"] {
@@ -1103,7 +1103,7 @@
1103
1103
  /* The touch floor: a row is at least 44px tall on a coarse pointer or a narrow viewport (a minimum, which the vendor never sets). */
1104
1104
  @media (pointer: coarse), (max-width: 40rem) {
1105
1105
  .starci-core-list-box-item {
1106
- min-block-size: var(--starci-core-control-min-size, 2.75rem);
1106
+ min-block-size: var(--starci-core-control-min-size, 2.5rem);
1107
1107
  }
1108
1108
  }
1109
1109
 
@@ -1152,7 +1152,7 @@
1152
1152
  .starci-core-generic-accordion-trigger {
1153
1153
  display: flex;
1154
1154
  width: 100%;
1155
- min-block-size: 2.75rem;
1155
+ min-block-size: var(--starci-core-control-min-size, 2.5rem);
1156
1156
  align-items: center;
1157
1157
  justify-content: space-between;
1158
1158
  gap: var(--grammar-row-gap, 0.75rem);
@@ -1269,8 +1269,8 @@
1269
1269
  }
1270
1270
 
1271
1271
  .starci-core-rating[data-grammar-rating-mode="interactive"] .starci-core-rating-item {
1272
- min-inline-size: 2.75rem;
1273
- min-block-size: 2.75rem;
1272
+ min-inline-size: var(--starci-core-control-min-size, 2.5rem);
1273
+ min-block-size: var(--starci-core-control-min-size, 2.5rem);
1274
1274
  cursor: pointer;
1275
1275
  }
1276
1276
 
@@ -1421,7 +1421,7 @@
1421
1421
  }
1422
1422
 
1423
1423
  .starci-core-calendar-nav {
1424
- min-inline-size: 2.75rem;
1424
+ min-inline-size: var(--starci-core-control-min-size, 2.5rem);
1425
1425
  }
1426
1426
 
1427
1427
  .starci-core-calendar-month {
@@ -569,8 +569,8 @@
569
569
  flex: none;
570
570
  align-items: center;
571
571
  justify-content: center;
572
- width: var(--starci-core-control-min-size, 2.75rem);
573
- height: var(--starci-core-control-min-size, 2.75rem);
572
+ width: var(--starci-core-control-min-size, 2.5rem);
573
+ height: var(--starci-core-control-min-size, 2.5rem);
574
574
  margin: -0.5rem -0.5rem 0 0;
575
575
  padding: 0;
576
576
  border: 0;
@@ -550,7 +550,7 @@
550
550
  display: flex;
551
551
  width: 100%;
552
552
  min-width: 0;
553
- height: 2.25rem;
553
+ height: var(--starci-core-control-min-size, 2.5rem);
554
554
  align-items: center;
555
555
  justify-content: space-between;
556
556
  gap: 0.5rem;
@@ -628,6 +628,52 @@
628
628
  * `overflow: auto auto` - two scrolling axes under an OVERFLOW-3 claim that promises one. Naming
629
629
  * both axes here keeps the render at the one axis the claim describes.
630
630
  */
631
+ .starci-horizontal-scroll-frame {
632
+ position: relative;
633
+ width: 100%;
634
+ min-width: 0;
635
+ }
636
+
637
+ .starci-horizontal-scroll-prev,
638
+ .starci-horizontal-scroll-next {
639
+ position: absolute;
640
+ z-index: 2;
641
+ top: 50%;
642
+ transform: translateY(-50%);
643
+ display: none;
644
+ }
645
+
646
+ .starci-horizontal-scroll-prev { inset-inline-start: 0.25rem; }
647
+ .starci-horizontal-scroll-next { inset-inline-end: 0.25rem; }
648
+ .starci-horizontal-scroll-next svg { rotate: 180deg; }
649
+ .starci-horizontal-scroll-frame:dir(rtl) > :is(.starci-horizontal-scroll-prev, .starci-horizontal-scroll-next) svg { scale: -1 1; }
650
+
651
+ .starci-horizontal-scroll-frame:has(> :is([data-left-scroll="true"], [data-left-right-scroll="true"])) > .starci-horizontal-scroll-prev,
652
+ .starci-horizontal-scroll-frame:has(> :is([data-right-scroll="true"], [data-left-right-scroll="true"])) > .starci-horizontal-scroll-next {
653
+ display: inline-flex;
654
+ }
655
+
656
+ /* Preserve the Tabs glyph's vendor size and center, with a small IconButton hit target. */
657
+ .starci-horizontal-scroll-frame[data-scroll-appearance="tabs"] > .starci-horizontal-scroll-prev { inset-inline-start: -0.25rem; }
658
+ .starci-horizontal-scroll-frame[data-scroll-appearance="tabs"] > .starci-horizontal-scroll-next { inset-inline-end: -0.25rem; }
659
+ .starci-horizontal-scroll-frame[data-scroll-appearance="tabs"] .starci-core-icon-button {
660
+ --button-bg-hover: transparent;
661
+ --button-bg-pressed: transparent;
662
+ --button-fg: var(--foreground);
663
+ transform: none;
664
+ transition: opacity 150ms var(--ease-smooth);
665
+ }
666
+ @media (hover: hover) {
667
+ .starci-horizontal-scroll-frame[data-scroll-appearance="tabs"] .starci-core-icon-button:hover { opacity: 0.7; }
668
+ }
669
+ @media (prefers-reduced-motion: reduce) {
670
+ .starci-horizontal-scroll-frame[data-scroll-appearance="tabs"] .starci-core-icon-button { transition: none; }
671
+ }
672
+ .starci-horizontal-scroll-frame[data-scroll-appearance="tabs"] .starci-core-icon {
673
+ width: 1rem;
674
+ height: 1rem;
675
+ }
676
+
631
677
  .starci-core-horizontal-scroll-region {
632
678
  width: 100%;
633
679
  min-width: 0;
@@ -1860,8 +1906,8 @@
1860
1906
  .starci-core-navigation-feature-nav-actions :where(button, [role="button"], a[href]),
1861
1907
  .starci-core-navigation-feature-nav-navigation :where(button, [role="button"], a[href]),
1862
1908
  .starci-core-navigation-feature-nav-compact-navigation :where(button, [role="button"], a[href]) {
1863
- min-inline-size: var(--starci-core-control-min-size, 2.75rem);
1864
- min-block-size: var(--starci-core-control-min-size, 2.75rem);
1909
+ min-inline-size: var(--starci-core-control-min-size, 2.5rem);
1910
+ min-block-size: var(--starci-core-control-min-size, 2.5rem);
1865
1911
  }
1866
1912
 
1867
1913
  /*
@@ -1872,7 +1918,7 @@
1872
1918
  * touch target.
1873
1919
  */
1874
1920
  .starci-core-navigation-feature-nav-identity .starci-core-text-action[data-appearance="plain"] {
1875
- min-block-size: var(--starci-core-control-min-size, 2.75rem);
1921
+ min-block-size: var(--starci-core-control-min-size, 2.5rem);
1876
1922
  }
1877
1923
 
1878
1924
  .starci-core-navigation-feature-nav-feature {
@@ -1953,8 +1999,8 @@
1953
1999
  */
1954
2000
  .starci-core-subnav-toggle {
1955
2001
  display: inline-flex;
1956
- width: 2.75rem !important;
1957
- height: 2.75rem !important;
2002
+ width: var(--starci-core-control-min-size, 2.5rem) !important;
2003
+ height: var(--starci-core-control-min-size, 2.5rem) !important;
1958
2004
  align-items: center;
1959
2005
  justify-content: center;
1960
2006
  border-radius: 0 !important;
@@ -1976,8 +2022,8 @@
1976
2022
  */
1977
2023
  @media (pointer: coarse), (max-width: 40rem) {
1978
2024
  .starci-core-subnav-toggle {
1979
- min-inline-size: var(--starci-core-control-min-size, 2.75rem);
1980
- min-block-size: var(--starci-core-control-min-size, 2.75rem);
2025
+ min-inline-size: var(--starci-core-control-min-size, 2.5rem);
2026
+ min-block-size: var(--starci-core-control-min-size, 2.5rem);
1981
2027
  }
1982
2028
  }
1983
2029
 
@@ -2383,8 +2429,8 @@
2383
2429
  }
2384
2430
 
2385
2431
  .starci-core-sidebar[data-collapsed="true"] .starci-core-sidebar-item {
2386
- width: 2.75rem !important;
2387
- height: 2.75rem;
2432
+ width: var(--starci-core-control-min-size, 2.5rem) !important;
2433
+ height: var(--starci-core-control-min-size, 2.5rem);
2388
2434
  justify-content: center !important;
2389
2435
  gap: 0 !important;
2390
2436
  border-radius: var(--starci-core-pill-radius, 999px) !important;
@@ -2467,8 +2513,8 @@
2467
2513
 
2468
2514
  .starci-core-chat-workspace-rail-trigger {
2469
2515
  display: inline-flex;
2470
- min-width: 2.75rem;
2471
- min-height: 2.75rem;
2516
+ min-width: var(--starci-core-control-min-size, 2.5rem);
2517
+ min-height: var(--starci-core-control-min-size, 2.5rem);
2472
2518
  align-items: center;
2473
2519
  justify-content: center;
2474
2520
  padding-inline: 0.75rem;
@@ -2855,15 +2901,55 @@
2855
2901
  /* --- Icon button: a HeroUI `Button` worn as a circle. --- */
2856
2902
  .starci-core-control-size .starci-core-field-skeleton-control {
2857
2903
  box-sizing: border-box;
2858
- block-size: var(--starci-core-control-min-size, 2.75rem) !important;
2859
- min-block-size: var(--starci-core-control-min-size, 2.75rem) !important;
2860
- max-block-size: var(--starci-core-control-min-size, 2.75rem) !important;
2904
+ block-size: var(--starci-core-control-min-size, 2.5rem) !important;
2905
+ min-block-size: var(--starci-core-control-min-size, 2.5rem) !important;
2906
+ max-block-size: var(--starci-core-control-min-size, 2.5rem) !important;
2907
+ }
2908
+
2909
+ /*
2910
+ * Owner ruling `control-height-40`: one control height, 2.5rem (40px, HeroUI's own h-10), is the default of every
2911
+ * standalone control. `md` and `control` are the same square circle in both axes (the vendor's md:h-9 desktop step
2912
+ * is overridden, and a square needs both axes or it collapses into an oval); `sm` (2rem) is for a control nested in
2913
+ * an item or a dense toolbar; `lg` (3rem) is the landing hero step.
2914
+ */
2915
+ .starci-core-icon-button[data-size="md"],
2916
+ .starci-core-icon-button[data-size="control"] {
2917
+ inline-size: var(--starci-core-control-min-size, 2.5rem) !important;
2918
+ min-inline-size: var(--starci-core-control-min-size, 2.5rem) !important;
2919
+ max-inline-size: var(--starci-core-control-min-size, 2.5rem) !important;
2920
+ block-size: var(--starci-core-control-min-size, 2.5rem) !important;
2921
+ min-block-size: var(--starci-core-control-min-size, 2.5rem) !important;
2922
+ max-block-size: var(--starci-core-control-min-size, 2.5rem) !important;
2923
+ }
2924
+
2925
+ .starci-core-icon-button[data-size="sm"] {
2926
+ inline-size: 2rem !important;
2927
+ min-inline-size: 2rem !important;
2928
+ block-size: 2rem !important;
2929
+ min-block-size: 2rem !important;
2930
+ }
2931
+
2932
+ .starci-core-button[data-size="md"]:not([data-width="fill"]),
2933
+ .starci-core-button[data-size="control"]:not([data-width="fill"]) {
2934
+ block-size: var(--starci-core-control-min-size, 2.5rem) !important;
2935
+ min-block-size: var(--starci-core-control-min-size, 2.5rem) !important;
2936
+ }
2937
+
2938
+ .starci-core-button[data-size="sm"]:not([data-width="fill"]) {
2939
+ block-size: 2rem !important;
2940
+ min-block-size: 2rem !important;
2941
+ }
2942
+
2943
+ .starci-core-button[data-size="lg"]:not([data-width="fill"]) {
2944
+ block-size: 3rem !important;
2945
+ min-block-size: 3rem !important;
2861
2946
  }
2862
2947
 
2863
- .starci-core-icon-button[data-grammar-control-size="control"] {
2864
- inline-size: var(--starci-core-control-min-size, 2.75rem) !important;
2865
- min-inline-size: var(--starci-core-control-min-size, 2.75rem) !important;
2866
- max-inline-size: var(--starci-core-control-min-size, 2.75rem) !important;
2948
+ /* The chrome avatar (`control`) is drawn here over the vendor `lg` box: the shared control height. */
2949
+ [data-component="Avatar"][data-grammar-avatar-size="control"] {
2950
+ --avatar-size: var(--starci-core-control-min-size, 2.5rem);
2951
+ inline-size: var(--starci-core-control-min-size, 2.5rem);
2952
+ block-size: var(--starci-core-control-min-size, 2.5rem);
2867
2953
  }
2868
2954
 
2869
2955
  .starci-core-text-action[data-size="control"] {
@@ -2876,9 +2962,9 @@
2876
2962
  }
2877
2963
 
2878
2964
  .starci-core-icon-button[data-size="lg"] {
2879
- width: 3.5rem !important;
2880
- height: 3.5rem !important;
2881
- min-width: 3.5rem !important;
2965
+ width: 3rem !important;
2966
+ height: 3rem !important;
2967
+ min-width: 3rem !important;
2882
2968
  }
2883
2969
 
2884
2970
  .starci-core-icon-button[data-size="lg"] > :is(svg, [data-slot="icon"]) {
@@ -3254,7 +3340,7 @@
3254
3340
  display: inline-flex;
3255
3341
  width: fit-content;
3256
3342
  min-width: 0;
3257
- min-block-size: var(--starci-core-control-min-size, 2.75rem);
3343
+ min-block-size: var(--starci-core-control-min-size, 2.5rem);
3258
3344
  flex: none;
3259
3345
  align-items: center;
3260
3346
  gap: 0.5rem;
@@ -3309,7 +3395,7 @@
3309
3395
  .starci-core-text-action[data-appearance="route"] {
3310
3396
  border-radius: var(--starci-core-pill-radius, 999px);
3311
3397
  padding: 0.5rem 0.75rem;
3312
- min-block-size: var(--starci-core-control-min-size, 2.75rem);
3398
+ min-block-size: var(--starci-core-control-min-size, 2.5rem);
3313
3399
  color: var(--muted, var(--starci-core-muted, GrayText));
3314
3400
  }
3315
3401
 
@@ -0,0 +1,12 @@
1
+ import { ScrollShadow } from "@heroui/react";
2
+ import { type ComponentProps } from "react";
3
+ type HorizontalScrollFrameProps = ComponentProps<typeof ScrollShadow> & {
4
+ readonly carets?: boolean;
5
+ readonly appearance?: "region" | "tabs";
6
+ readonly scrollPreviousLabel: string;
7
+ readonly scrollNextLabel: string;
8
+ };
9
+ /** One horizontal scroller, with HeroUI's fading edges and directional page controls. */
10
+ export declare const HorizontalScrollFrame: import("react").ForwardRefExoticComponent<Omit<HorizontalScrollFrameProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
11
+ export {};
12
+ //# sourceMappingURL=HorizontalScrollFrame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HorizontalScrollFrame.d.ts","sourceRoot":"","sources":["../../src/core/HorizontalScrollFrame.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAM,MAAM,eAAe,CAAA;AAChD,OAAO,EAAmC,KAAK,cAAc,EAAE,MAAM,OAAO,CAAA;AAS5E,KAAK,0BAA0B,GAAG,cAAc,CAAC,OAAO,YAAY,CAAC,GAAG;IACpE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IACvC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;IACpC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CACnC,CAAA;AAED,yFAAyF;AACzF,eAAO,MAAM,qBAAqB,oIAoChC,CAAA"}
@@ -0,0 +1,36 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { ScrollShadow, cn } from "@heroui/react";
4
+ import { forwardRef, useCallback, useRef } from "react";
5
+ import { IconButton } from "./primitive/IconButton/index.js";
6
+ /** HeroUI's horizontal chevron geometry, shared by both directional controls. */
7
+ const ScrollChevron = (props) => _jsx("svg", { ...props, viewBox: "0 0 16 16", fill: "none", children: _jsx("path", { d: "M10.53 2.97a.75.75 0 0 1 0 1.06L6.56 8l3.97 3.97a.75.75 0 1 1-1.06 1.06l-4.5-4.5a.75.75 0 0 1 0-1.06l4.5-4.5a.75.75 0 0 1 1.06 0", fill: "currentColor", fillRule: "evenodd", clipRule: "evenodd" }) });
8
+ /** One horizontal scroller, with HeroUI's fading edges and directional page controls. */
9
+ export const HorizontalScrollFrame = forwardRef(({ carets = true, appearance = "region", scrollPreviousLabel, scrollNextLabel, className, ...props }, forwardedRef) => {
10
+ const scrollerRef = useRef(null);
11
+ const setRef = useCallback((node) => {
12
+ scrollerRef.current = node;
13
+ if (typeof forwardedRef === "function")
14
+ forwardedRef(node);
15
+ else if (forwardedRef !== null)
16
+ forwardedRef.current = node;
17
+ }, [forwardedRef]);
18
+ const scrollPage = (direction) => {
19
+ const node = scrollerRef.current;
20
+ if (node === null)
21
+ return;
22
+ const rtl = getComputedStyle(node).direction === "rtl";
23
+ const maximum = Math.max(0, node.scrollWidth - node.clientWidth);
24
+ const target = node.scrollLeft + direction * node.clientWidth * 0.8 * (rtl ? -1 : 1);
25
+ node.scrollTo({
26
+ left: Math.min(rtl ? 0 : maximum, Math.max(rtl ? -maximum : 0, target)),
27
+ behavior: "smooth",
28
+ });
29
+ };
30
+ const scroller = _jsx(ScrollShadow, { ...props, ref: setRef, orientation: "horizontal", className: cn(className, appearance === "tabs" ? "tabs__list-container__scroller" : undefined) });
31
+ if (!carets)
32
+ return scroller;
33
+ return _jsxs("div", { className: cn("starci-horizontal-scroll-frame", appearance === "tabs" ? "tabs__list-container" : undefined), "data-scroll-appearance": appearance, children: [scroller, _jsx("span", { className: "starci-horizontal-scroll-prev", children: _jsx(IconButton, { source: ScrollChevron, label: scrollPreviousLabel, variant: "ghost", size: "sm", onPress: () => scrollPage(-1) }) }), _jsx("span", { className: "starci-horizontal-scroll-next", children: _jsx(IconButton, { source: ScrollChevron, label: scrollNextLabel, variant: "ghost", size: "sm", onPress: () => scrollPage(1) }) })] });
34
+ });
35
+ HorizontalScrollFrame.displayName = "HorizontalScrollFrame";
36
+ //# sourceMappingURL=HorizontalScrollFrame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HorizontalScrollFrame.js","sourceRoot":"","sources":["../../src/core/HorizontalScrollFrame.tsx"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export type TabItem = {
6
6
  readonly leading?: ReactNode;
7
7
  };
8
8
  /**
9
- * Business-neutral controlled peer tabs with HeroUI's ListContainer owning overflow,
9
+ * Business-neutral controlled peer tabs with the shared horizontal frame owning overflow,
10
10
  * scroll shadows and the directional controls.
11
11
  */
12
12
  export type TabsProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/Tabs/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAgD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AASpF,mEAAmE;AACnE,MAAM,MAAM,OAAO,GAAG;IAClB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;CAC/B,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;IAC1C,uLAAuL;IACvL,QAAQ,CAAC,eAAe,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAA;IAClD,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAA;IAC1C,4IAA4I;IAC5I,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IACrC,sFAAsF;IACtF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CACpC,CAAA;AAED,qFAAqF;AACrF,eAAO,MAAM,IAAI,GAAI,OAAO,SAAS,gCA+FpC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/Tabs/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAgD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAUpF,mEAAmE;AACnE,MAAM,MAAM,OAAO,GAAG;IAClB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;CAC/B,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;IAC1C,uLAAuL;IACvL,QAAQ,CAAC,eAAe,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAA;IAClD,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAA;IAC1C,4IAA4I;IAC5I,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IACrC,sFAAsF;IACtF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CACpC,CAAA;AAED,qFAAqF;AACrF,eAAO,MAAM,IAAI,GAAI,OAAO,SAAS,gCAgFpC,CAAA"}
@@ -2,6 +2,7 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { Tabs as HeroTabs } from "@heroui/react";
4
4
  import { useEffect, useLayoutEffect, useRef, useState } from "react";
5
+ import { HorizontalScrollFrame } from "../../HorizontalScrollFrame.js";
5
6
  import { useSurfaceNesting } from "../../surfaceContext.js";
6
7
  import { tabContentClassName, tabLabelClassName, tabsClassName, tabsFrameClassName, } from "./classNames.js";
7
8
  /** Render peer tabs through Core's selected, accessible and responsive treatment. */
@@ -50,25 +51,6 @@ export const Tabs = (props) => {
50
51
  }, [isClientReady, props.items, props.panelId, props.selectedKey]);
51
52
  const scrollPreviousLabel = props.scrollPreviousLabel ?? "Scroll tabs left";
52
53
  const scrollNextLabel = props.scrollNextLabel ?? "Scroll tabs right";
53
- useLayoutEffect(() => {
54
- const frame = frameRef.current;
55
- if (!isClientReady || frame === null)
56
- return;
57
- // The vendor renders the carets with fixed English aria-labels and no label prop; name them from props.
58
- const nameCarets = () => {
59
- const carets = [[".tabs__list-container__scroll-prev", scrollPreviousLabel], [".tabs__list-container__scroll-next", scrollNextLabel]];
60
- carets.forEach(([selector, text]) => {
61
- frame.querySelectorAll(selector).forEach((caret) => {
62
- if (caret.getAttribute("aria-label") !== text)
63
- caret.setAttribute("aria-label", text);
64
- });
65
- });
66
- };
67
- const observer = new MutationObserver(nameCarets);
68
- observer.observe(frame, { childList: true, subtree: true, attributes: true, attributeFilter: ["aria-label"] });
69
- nameCarets();
70
- return () => observer.disconnect();
71
- }, [isClientReady, scrollPreviousLabel, scrollNextLabel]);
72
54
  const inset = props.inset ?? "none";
73
55
  const variant = props.variant ?? (nested ? "secondary" : "primary");
74
56
  // STATE-6 names the page underline "primary" and the nested pill "secondary".
@@ -77,6 +59,6 @@ export const Tabs = (props) => {
77
59
  const frameContract = inset === "page" ? "PADDING-5" : undefined;
78
60
  if (!isClientReady)
79
61
  return _jsx("div", { "aria-hidden": "true", className: tabsFrameClassName, "data-contract": frameContract, "data-component": "Tabs", "data-tier": "branch", "data-grammar-tabs": "true", "data-grammar-tabs-client": "pending", "data-grammar-tabs-inset": inset, "data-grammar-tabs-variant": variant, style: { minHeight: "3rem" } });
80
- return _jsx("div", { ref: frameRef, className: tabsFrameClassName, "data-contract": frameContract, "data-component": "Tabs", "data-tier": "branch", "data-grammar-tabs": "true", "data-grammar-tabs-client": "ready", "data-grammar-tabs-inset": inset, "data-grammar-tabs-variant": variant, "data-grammar-tab-labels": props.labelVisibility ?? "responsive", children: _jsx(HeroTabs, { variant: vendorVariant, selectedKey: props.selectedKey, onSelectionChange: (key) => props.onSelect?.(String(key)), className: tabsClassName ?? "", "data-contract": "FLOW-2", children: _jsx(HeroTabs.ListContainer, { children: _jsx(HeroTabs.List, { "aria-label": props.label, children: props.items.map((item) => (_jsxs(HeroTabs.Tab, { id: item.id, "aria-label": item.label, "data-contract": "PADDING-3", children: [_jsxs("span", { className: tabContentClassName, "data-contract": "GAP-2", "data-grammar-tab-id": item.id, children: [item.leading, _jsx("span", { className: tabLabelClassName, style: props.labelVisibility === "always" || item.leading == null ? { display: "inline" } : undefined, children: item.label })] }), _jsx(HeroTabs.Indicator, {})] }, item.id))) }) }) }) });
62
+ return _jsx("div", { ref: frameRef, className: tabsFrameClassName, "data-contract": frameContract, "data-component": "Tabs", "data-tier": "branch", "data-grammar-tabs": "true", "data-grammar-tabs-client": "ready", "data-grammar-tabs-inset": inset, "data-grammar-tabs-variant": variant, "data-grammar-tab-labels": props.labelVisibility ?? "responsive", children: _jsx(HeroTabs, { variant: vendorVariant, selectedKey: props.selectedKey, onSelectionChange: (key) => props.onSelect?.(String(key)), className: tabsClassName ?? "", "data-contract": "FLOW-2", children: _jsx(HeroTabs.List, { "aria-label": props.label, render: ({ children, ref, ...listProps }) => (_jsx(HorizontalScrollFrame, { appearance: "tabs", hideScrollBar: true, size: 64, scrollPreviousLabel: scrollPreviousLabel, scrollNextLabel: scrollNextLabel, children: _jsx("div", { ...listProps, ref: ref, children: children }) })), children: props.items.map((item) => (_jsxs(HeroTabs.Tab, { id: item.id, "aria-label": item.label, "data-contract": "PADDING-3", children: [_jsxs("span", { className: tabContentClassName, "data-contract": "GAP-2", "data-grammar-tab-id": item.id, children: [item.leading, _jsx("span", { className: tabLabelClassName, style: props.labelVisibility === "always" || item.leading == null ? { display: "inline" } : undefined, children: item.label })] }), _jsx(HeroTabs.Indicator, {})] }, item.id))) }) }) });
81
63
  };
82
64
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/Tabs/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAA;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EACH,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,GACrB,MAAM,iBAAiB,CAAA;AAqCxB,qFAAqF;AACrF,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,KAAgB,EAAE,EAAE;IACrC,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAA;IAClC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACzD,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAC7C,SAAS,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;IAC3C,eAAe,CAAC,GAAG,EAAE;QACjB,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAA;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;QAC7B,IAAI,CAAC,aAAa,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;YAAE,OAAM;QAErE,4EAA4E;QAC5E,+EAA+E;QAC/E,MAAM,aAAa,GAAG,IAAI,GAAG,EAA6D,CAAA;QAC1F,MAAM,YAAY,GAAG,GAAG,EAAE;YACtB,KAAK,CAAC,gBAAgB,CAAc,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAC9E,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAA;gBAC5C,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAc,cAAc,CAAC,CAAA;gBACzD,IAAI,MAAM,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;oBAAE,OAAM;gBAChD,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;gBACjD,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;gBAChC,MAAM,QAAQ,GAAG,QAAQ,KAAK,SAAS,IAAI,OAAO,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAA;gBACrG,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;gBACvD,IAAI,OAAO,KAAK,QAAQ;oBAAE,GAAG,CAAC,YAAY,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;YACzE,CAAC,CAAC,CAAA;QACN,CAAC,CAAA;QACD,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,YAAY,CAAC,CAAA;QACnD,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,eAAe,EAAE,qBAAqB,CAAC,EAAE,CAAC,CAAA;QACxI,YAAY,EAAE,CAAA;QACd,OAAO,GAAG,EAAE;YACR,QAAQ,CAAC,UAAU,EAAE,CAAA;YACrB,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE;gBACjD,IAAI,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,OAAO;oBAAE,OAAM;gBACzD,IAAI,QAAQ,KAAK,IAAI;oBAAE,GAAG,CAAC,eAAe,CAAC,eAAe,CAAC,CAAA;;oBACtD,GAAG,CAAC,YAAY,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;YACpD,CAAC,CAAC,CAAA;QACN,CAAC,CAAA;IACL,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAA;IAElE,MAAM,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,IAAI,kBAAkB,CAAA;IAC3E,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,IAAI,mBAAmB,CAAA;IACpE,eAAe,CAAC,GAAG,EAAE;QACjB,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAA;QAC9B,IAAI,CAAC,aAAa,IAAI,KAAK,KAAK,IAAI;YAAE,OAAM;QAC5C,wGAAwG;QACxG,MAAM,UAAU,GAAG,GAAG,EAAE;YACpB,MAAM,MAAM,GAA6C,CAAC,CAAC,oCAAoC,EAAE,mBAAmB,CAAC,EAAE,CAAC,oCAAoC,EAAE,eAAe,CAAC,CAAC,CAAA;YAC/K,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;gBAChC,KAAK,CAAC,gBAAgB,CAAc,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC5D,IAAI,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,IAAI;wBAAE,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;gBACzF,CAAC,CAAC,CAAA;YACN,CAAC,CAAC,CAAA;QACN,CAAC,CAAA;QACD,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAAA;QACjD,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;QAC9G,UAAU,EAAE,CAAA;QACZ,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAA;IACtC,CAAC,EAAE,CAAC,aAAa,EAAE,mBAAmB,EAAE,eAAe,CAAC,CAAC,CAAA;IAEzD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,MAAM,CAAA;IACnC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACnE,8EAA8E;IAC9E,+DAA+D;IAC/D,MAAM,aAAa,GAAG,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAA;IACvE,MAAM,aAAa,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAA;IAChE,IAAI,CAAC,aAAa;QAAE,OAAO,6BAAiB,MAAM,EAAC,SAAS,EAAE,kBAAkB,mBAAiB,aAAa,oBAAiB,MAAM,eAAW,QAAQ,uBAAmB,MAAM,8BAA0B,SAAS,6BAA0B,KAAK,+BAA6B,OAAO,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAI,CAAA;IAEzT,OAAO,cAAK,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,kBAAkB,mBAAiB,aAAa,oBAAiB,MAAM,eAAW,QAAQ,uBAAmB,MAAM,8BAA0B,OAAO,6BAA0B,KAAK,+BAA6B,OAAO,6BAA2B,KAAK,CAAC,eAAe,IAAI,YAAY,YACzT,KAAC,QAAQ,IACL,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EACzD,SAAS,EAAE,aAAa,IAAI,EAAE,mBAChB,QAAQ,YAEtB,KAAC,QAAQ,CAAC,aAAa,cACnB,KAAC,QAAQ,CAAC,IAAI,kBAAa,KAAK,CAAC,KAAK,YACjC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACvB,MAAC,QAAQ,CAAC,GAAG,IAET,EAAE,EAAE,IAAI,CAAC,EAAE,gBACC,IAAI,CAAC,KAAK,mBACR,WAAW,aAEzB,gBAAM,SAAS,EAAE,mBAAmB,mBAAgB,OAAO,yBAAsB,IAAI,CAAC,EAAE,aACnF,IAAI,CAAC,OAAO,EACb,eAAM,SAAS,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,CAAC,eAAe,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,YAAG,IAAI,CAAC,KAAK,GAAQ,IAC3J,EACP,KAAC,QAAQ,CAAC,SAAS,KAAG,KATjB,IAAI,CAAC,EAAE,CAUD,CAClB,CAAC,GACU,GACK,GAClB,GACT,CAAA;AACV,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/Tabs/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAA;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EACH,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,GACrB,MAAM,iBAAiB,CAAA;AAqCxB,qFAAqF;AACrF,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,KAAgB,EAAE,EAAE;IACrC,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAA;IAClC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACzD,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAC7C,SAAS,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;IAC3C,eAAe,CAAC,GAAG,EAAE;QACjB,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAA;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;QAC7B,IAAI,CAAC,aAAa,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;YAAE,OAAM;QAErE,4EAA4E;QAC5E,+EAA+E;QAC/E,MAAM,aAAa,GAAG,IAAI,GAAG,EAA6D,CAAA;QAC1F,MAAM,YAAY,GAAG,GAAG,EAAE;YACtB,KAAK,CAAC,gBAAgB,CAAc,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAC9E,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAA;gBAC5C,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAc,cAAc,CAAC,CAAA;gBACzD,IAAI,MAAM,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;oBAAE,OAAM;gBAChD,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;gBACjD,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;gBAChC,MAAM,QAAQ,GAAG,QAAQ,KAAK,SAAS,IAAI,OAAO,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAA;gBACrG,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;gBACvD,IAAI,OAAO,KAAK,QAAQ;oBAAE,GAAG,CAAC,YAAY,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;YACzE,CAAC,CAAC,CAAA;QACN,CAAC,CAAA;QACD,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,YAAY,CAAC,CAAA;QACnD,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,eAAe,EAAE,qBAAqB,CAAC,EAAE,CAAC,CAAA;QACxI,YAAY,EAAE,CAAA;QACd,OAAO,GAAG,EAAE;YACR,QAAQ,CAAC,UAAU,EAAE,CAAA;YACrB,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE;gBACjD,IAAI,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,OAAO;oBAAE,OAAM;gBACzD,IAAI,QAAQ,KAAK,IAAI;oBAAE,GAAG,CAAC,eAAe,CAAC,eAAe,CAAC,CAAA;;oBACtD,GAAG,CAAC,YAAY,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;YACpD,CAAC,CAAC,CAAA;QACN,CAAC,CAAA;IACL,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAA;IAElE,MAAM,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,IAAI,kBAAkB,CAAA;IAC3E,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,IAAI,mBAAmB,CAAA;IAEpE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,MAAM,CAAA;IACnC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACnE,8EAA8E;IAC9E,+DAA+D;IAC/D,MAAM,aAAa,GAAG,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAA;IACvE,MAAM,aAAa,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAA;IAChE,IAAI,CAAC,aAAa;QAAE,OAAO,6BAAiB,MAAM,EAAC,SAAS,EAAE,kBAAkB,mBAAiB,aAAa,oBAAiB,MAAM,eAAW,QAAQ,uBAAmB,MAAM,8BAA0B,SAAS,6BAA0B,KAAK,+BAA6B,OAAO,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAI,CAAA;IAEzT,OAAO,cAAK,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,kBAAkB,mBAAiB,aAAa,oBAAiB,MAAM,eAAW,QAAQ,uBAAmB,MAAM,8BAA0B,OAAO,6BAA0B,KAAK,+BAA6B,OAAO,6BAA2B,KAAK,CAAC,eAAe,IAAI,YAAY,YACzT,KAAC,QAAQ,IACL,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EACzD,SAAS,EAAE,aAAa,IAAI,EAAE,mBAChB,QAAQ,YAEtB,KAAC,QAAQ,CAAC,IAAI,kBAAa,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC,CACjF,KAAC,qBAAqB,IAAC,UAAU,EAAC,MAAM,EAAC,aAAa,QAAC,IAAI,EAAE,EAAE,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,YACvI,iBAAS,SAAS,EAAE,GAAG,EAAE,GAAG,YAAG,QAAQ,GAAO,GAC1B,CAC3B,YACI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACvB,MAAC,QAAQ,CAAC,GAAG,IAET,EAAE,EAAE,IAAI,CAAC,EAAE,gBACC,IAAI,CAAC,KAAK,mBACR,WAAW,aAEzB,gBAAM,SAAS,EAAE,mBAAmB,mBAAgB,OAAO,yBAAsB,IAAI,CAAC,EAAE,aACnF,IAAI,CAAC,OAAO,EACb,eAAM,SAAS,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,CAAC,eAAe,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,YAAG,IAAI,CAAC,KAAK,GAAQ,IAC3J,EACP,KAAC,QAAQ,CAAC,SAAS,KAAG,KATjB,IAAI,CAAC,EAAE,CAUD,CAClB,CAAC,GACU,GACT,GACT,CAAA;AACV,CAAC,CAAA"}
@@ -14,6 +14,11 @@ export type HorizontalScrollRegionProps = Omit<ComponentProps<"div">, "children"
14
14
  readonly hideScrollBar?: boolean;
15
15
  /** The region's own overflow answer; the stamp and the render both follow it. */
16
16
  readonly overflow?: HorizontalScrollRegionOverflow;
17
+ /** Directional page controls, shown only at edges with more content. Default `true`. */
18
+ readonly carets?: boolean;
19
+ /** Localized accessible names for the previous and next page controls. */
20
+ readonly scrollPreviousLabel?: string;
21
+ readonly scrollNextLabel?: string;
17
22
  /**
18
23
  * Keyboard reachability (WCAG 2.1.1). Default `true`: the region is a Tab stop and, when named,
19
24
  * a `role="region"`. Pass `false` when every scrolled item is itself focusable (tabs, OTP slots).
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/HorizontalScrollRegion/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAIvE;;;;;;;GAOG;AACH,MAAM,MAAM,8BAA8B,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAEhE,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG;IAChF,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,+FAA+F;IAC/F,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,CAAC,EAAE,8BAA8B,CAAA;IAClD;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CACjC,CAAA;AAED,4FAA4F;AAC5F,eAAO,MAAM,sBAAsB,qIAmBjC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/HorizontalScrollRegion/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAKvE;;;;;;;GAOG;AACH,MAAM,MAAM,8BAA8B,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAEhE,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG;IAChF,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,+FAA+F;IAC/F,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,CAAC,EAAE,8BAA8B,CAAA;IAClD,wFAAwF;IACxF,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,0EAA0E;IAC1E,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CACjC,CAAA;AAED,4FAA4F;AAC5F,eAAO,MAAM,sBAAsB,qIAsBjC,CAAA"}
@@ -1,14 +1,16 @@
1
+ "use client";
1
2
  import { jsx as _jsx } from "react/jsx-runtime";
2
3
  import { forwardRef } from "react";
3
- import { ScrollShadow, cn } from "@heroui/react";
4
+ import { cn } from "@heroui/react";
5
+ import { HorizontalScrollFrame } from "../../HorizontalScrollFrame.js";
4
6
  import { scrollRegionFocusProps } from "../VerticalScrollRegion/index.js";
5
7
  /** Preserve intrinsic inline content and expose HeroUI's horizontal overflow affordance. */
6
8
  export const HorizontalScrollRegion = forwardRef((props, ref) => {
7
- const { hideScrollBar = true, overflow = "always", isFocusable = true, className, ...regionProps } = props;
9
+ const { hideScrollBar = true, overflow = "always", isFocusable = true, carets = true, scrollPreviousLabel = "Scroll left", scrollNextLabel = "Scroll right", className, ...regionProps } = props;
8
10
  const contract = overflow === "needed"
9
11
  ? "PADDING-1 MEASURE-3 OVERFLOW-4 OVERFLOW-5"
10
12
  : "PADDING-1 MEASURE-3 OVERFLOW-3 OVERFLOW-5";
11
- return (_jsx(ScrollShadow, { "data-component": "HorizontalScrollRegion", "data-tier": "composite", ...regionProps, ...scrollRegionFocusProps(regionProps, isFocusable), ref: ref, className: cn("starci-core-horizontal-scroll-region", className), "data-contract": contract, "data-grammar-overflow": overflow, hideScrollBar: hideScrollBar, orientation: "horizontal" }));
13
+ return (_jsx(HorizontalScrollFrame, { carets: carets, scrollPreviousLabel: scrollPreviousLabel, scrollNextLabel: scrollNextLabel, "data-component": "HorizontalScrollRegion", "data-tier": "composite", ...regionProps, ...scrollRegionFocusProps(regionProps, isFocusable), ref: ref, className: cn("starci-core-horizontal-scroll-region", className), "data-contract": contract, "data-grammar-overflow": overflow, hideScrollBar: hideScrollBar, orientation: "horizontal" }));
12
14
  });
13
15
  HorizontalScrollRegion.displayName = "HorizontalScrollRegion";
14
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/HorizontalScrollRegion/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAuC,MAAM,OAAO,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AAyBzE,4FAA4F;AAC5F,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAA8C,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACzG,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,WAAW,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,GAAG,KAAK,CAAA;IAC1G,MAAM,QAAQ,GAAG,QAAQ,KAAK,QAAQ;QAClC,CAAC,CAAC,2CAA2C;QAC7C,CAAC,CAAC,2CAA2C,CAAA;IACjD,OAAO,CACH,KAAC,YAAY,sBACM,wBAAwB,eAC7B,WAAW,KACjB,WAAW,KACX,sBAAsB,CAAC,WAAW,EAAE,WAAW,CAAC,EACpD,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,sCAAsC,EAAE,SAAS,CAAC,mBACjD,QAAQ,2BACA,QAAQ,EAC/B,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAC,YAAY,GAC1B,CACL,CAAA;AACL,CAAC,CAAC,CAAA;AAEF,sBAAsB,CAAC,WAAW,GAAG,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/HorizontalScrollRegion/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,UAAU,EAAuC,MAAM,OAAO,CAAA;AACvE,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AA8BzE,4FAA4F;AAC5F,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAA8C,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACzG,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,WAAW,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,mBAAmB,GAAG,aAAa,EAAE,eAAe,GAAG,cAAc,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,GAAG,KAAK,CAAA;IAChM,MAAM,QAAQ,GAAG,QAAQ,KAAK,QAAQ;QAClC,CAAC,CAAC,2CAA2C;QAC7C,CAAC,CAAC,2CAA2C,CAAA;IACjD,OAAO,CACH,KAAC,qBAAqB,IAClB,MAAM,EAAE,MAAM,EACd,mBAAmB,EAAE,mBAAmB,EACxC,eAAe,EAAE,eAAe,oBACjB,wBAAwB,eAC7B,WAAW,KACjB,WAAW,KACX,sBAAsB,CAAC,WAAW,EAAE,WAAW,CAAC,EACpD,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,sCAAsC,EAAE,SAAS,CAAC,mBACjD,QAAQ,2BACA,QAAQ,EAC/B,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAC,YAAY,GAC1B,CACL,CAAA;AACL,CAAC,CAAC,CAAA;AAEF,sBAAsB,CAAC,WAAW,GAAG,wBAAwB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { type ReactNode } from "react";
2
- /** `control` follows the shared 2.75rem control height. */
2
+ /** `control` follows the shared 2.5rem (40px) control height. */
3
3
  export type AvatarSize = "sm" | "md" | "lg" | "control";
4
4
  export type AvatarKind = "person" | "agent";
5
5
  export type AvatarShape = "circle" | "square" | "rounded";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Avatar/index.tsx"],"names":[],"mappings":"AAMA,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAKnE,2DAA2D;AAC3D,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAA;AACvD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAA;AAC3C,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAA;AAEzD,+DAA+D;AAC/D,eAAO,MAAM,gBAAgB,GAAI,MAAM,UAAU,KAAG,IAAI,GAAG,IAAI,GAAG,IAAwC,CAAA;AAE1G,MAAM,MAAM,WAAW,GAAG;IACtB,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,6FAA6F;IAC7F,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,0FAA0F;IAC1F,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,uFAAuF;IACvF,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,uFAAuF;IACvF,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,yFAAyF;AACzF,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,KAAG,MAI7C,CAAA;AAKD,+GAA+G;AAC/G,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,EAAE,aAA2B,KAAG,MAyBxF,CAAA;AAED,4GAA4G;AAC5G,eAAO,MAAM,mBAAmB,GAAI,sBAAsB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,gCAIlI,CAAA;AAED,oFAAoF;AACpF,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,EAAE,KAAK,MAAM,GAAG,SAAS,EAAE,UAAU,SAAS,GAAG,SAAS,EAAE,OAAO,MAAM,gCAK9G,CAAA;AAEH,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,EAAE,OAAM,UAAqB,KAAG,MAAkD,CAAA;AAEnI,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,cAAc,OAAO,EAAE,OAAM,UAAqB;;;;;;;;CAElB,CAAA;AAI9E,gGAAgG;AAChG,eAAO,MAAM,gBAAgB,GAAI,oDAAwD;IACrF,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IAClF,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC/D,gUAOA,CAAA;AAED,0GAA0G;AAC1G,eAAO,MAAM,MAAM,GAAI,kGAAuJ,WAAW,gCAmBxL,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Avatar/index.tsx"],"names":[],"mappings":"AAMA,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAKnE,iEAAiE;AACjE,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAA;AACvD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAA;AAC3C,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAA;AAEzD,+DAA+D;AAC/D,eAAO,MAAM,gBAAgB,GAAI,MAAM,UAAU,KAAG,IAAI,GAAG,IAAI,GAAG,IAAwC,CAAA;AAE1G,MAAM,MAAM,WAAW,GAAG;IACtB,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,6FAA6F;IAC7F,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,0FAA0F;IAC1F,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,uFAAuF;IACvF,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,uFAAuF;IACvF,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,yFAAyF;AACzF,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,KAAG,MAI7C,CAAA;AAKD,+GAA+G;AAC/G,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,EAAE,aAA2B,KAAG,MAyBxF,CAAA;AAED,4GAA4G;AAC5G,eAAO,MAAM,mBAAmB,GAAI,sBAAsB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,gCAIlI,CAAA;AAED,oFAAoF;AACpF,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,EAAE,KAAK,MAAM,GAAG,SAAS,EAAE,UAAU,SAAS,GAAG,SAAS,EAAE,OAAO,MAAM,gCAK9G,CAAA;AAEH,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,EAAE,OAAM,UAAqB,KAAG,MAAkD,CAAA;AAEnI,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,cAAc,OAAO,EAAE,OAAM,UAAqB;;;;;;;;CAElB,CAAA;AAI9E,gGAAgG;AAChG,eAAO,MAAM,gBAAgB,GAAI,oDAAwD;IACrF,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IAClF,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC/D,gUAOA,CAAA;AAED,0GAA0G;AAC1G,eAAO,MAAM,MAAM,GAAI,kGAAuJ,WAAW,gCAmBxL,CAAA"}
@@ -57,7 +57,7 @@ export const avatarAccessibleName = (name, kind = "person") => kind === "agent"
57
57
  export const avatarA11yProps = (name, isDecorative, kind = "person") => isDecorative
58
58
  ? { "aria-hidden": true }
59
59
  : { role: "img", "aria-label": avatarAccessibleName(name, kind) };
60
- const avatarPixels = { sm: 32, md: 40, lg: 48, control: 44 };
60
+ const avatarPixels = { sm: 32, md: 40, lg: 48, control: 40 };
61
61
  /** Multicolumn group cells pass their half-size scale; badges disappear below the DNA floor. */
62
62
  export const AvatarAgentBadge = ({ children, kind, size, renderedScale = 1, className }) => kind !== "agent" || avatarPixels[size] * renderedScale < STARCI_CORE_DNA.avatar.agentBadgeMinSize ? children : (_jsxs(HeroBadge.Anchor, { className: navigationClassName(`avatar avatar--${vendorAvatarSize(size)} starci-core-avatar-agent-anchor`, className), "data-grammar-avatar-size": size, children: [children, _jsx(HeroBadge, { "aria-hidden": "true", className: "starci-core-avatar-agent-badge", placement: "bottom-right", size: "sm", children: _jsx(HeroBadge.Label, { children: _jsx(CpuChipIcon, { "aria-hidden": "true", className: "starci-core-avatar-agent-glyph" }) }) })] }));
63
63
  /** Uploaded image or local DiceBear initials, with the same person name rule for an AI agent (A11Y-2). */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Button/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAA0B,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAEtF;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,aAAa,CAAA;AACjH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAA;AACvD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;AACtD,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,CAAA;AAE5C,KAAK,UAAU,GAAG;IACd,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,4FAA4F;IAC5F,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAA;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,oGAAoG;IACpG,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAA;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,qFAAqF;IACrF,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,wFAAwF;IACxF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;CAC/B,CAAA;AAED;;;;GAIG;AACH,KAAK,iBAAiB,GAAG;IACrB,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACpC,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAA;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CACxB,CAAA;AAED,4FAA4F;AAC5F,KAAK,aAAa,GAAG;IACjB,8FAA8F;IAC9F,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAA;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;CAC5B,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,iBAAiB,GAAG,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAA;AAiB9F,0FAA0F;AAC1F,eAAO,MAAM,MAAM,GAAI,OAAO,WAAW,gCAyExC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Button/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAA0B,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAEtF;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,aAAa,CAAA;AACjH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAA;AACvD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;AACtD,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,CAAA;AAE5C,KAAK,UAAU,GAAG;IACd,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,4FAA4F;IAC5F,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAA;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,oGAAoG;IACpG,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAA;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,qFAAqF;IACrF,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,wFAAwF;IACxF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;CAC/B,CAAA;AAED;;;;GAIG;AACH,KAAK,iBAAiB,GAAG;IACrB,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACpC,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAA;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CACxB,CAAA;AAED,4FAA4F;AAC5F,KAAK,aAAa,GAAG;IACjB,8FAA8F;IAC9F,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAA;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;CAC5B,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,iBAAiB,GAAG,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAA;AAiB9F,0FAA0F;AAC1F,eAAO,MAAM,MAAM,GAAI,OAAO,WAAW,gCA2ExC,CAAA"}
@@ -23,9 +23,9 @@ export const Button = (props) => {
23
23
  const content = (_jsxs(_Fragment, { children: [isSkeleton ? null : isPending ? _jsx(HeroSpinner, { size: "sm", color: "current", "aria-hidden": "true" }) : startContent, _jsx("span", { "aria-busy": isPending || undefined, children: children }), isPending || isSkeleton ? null : endContent] }));
24
24
  if (props.href !== undefined) {
25
25
  const { href, target, rel, download, onFollow } = props;
26
- return (_jsx(HeroLink, { "data-tier": "atom", "data-component": "Button", "data-grammar-control-size": size === "control" ? "control" : undefined, "data-element": unavailable ? "span" : "a", "data-loading": isSkeleton ? "true" : "false", "data-action-pending": isPending ? "true" : "false", isDisabled: unavailable, "aria-busy": isPending || undefined, "aria-hidden": isSkeleton || undefined, "data-width": width, "data-contract": width === "fill" ? "MEASURE-2" : undefined, className: buttonVariants({ variant: VARIANTS[variant], size: SIZES[size], fullWidth: width === "fill", className: isSkeleton ? `starci-core-button ${SKELETON_CLASS_NAME}` : "starci-core-button" }), ...(unavailable ? {} : { href }), ...(target === undefined ? {} : { target }), ...(rel === undefined ? target === "_blank" ? { rel: "noopener noreferrer" } : {} : { rel }), ...(download === undefined ? {} : { download }), ...(onFollow === undefined || unavailable ? {} : { onClick: onFollow }), children: content }));
26
+ return (_jsx(HeroLink, { "data-tier": "atom", "data-component": "Button", "data-size": size, "data-grammar-control-size": size === "control" ? "control" : undefined, "data-element": unavailable ? "span" : "a", "data-loading": isSkeleton ? "true" : "false", "data-action-pending": isPending ? "true" : "false", isDisabled: unavailable, "aria-busy": isPending || undefined, "aria-hidden": isSkeleton || undefined, "data-width": width, "data-contract": width === "fill" ? "MEASURE-2" : undefined, className: buttonVariants({ variant: VARIANTS[variant], size: SIZES[size], fullWidth: width === "fill", className: isSkeleton ? `starci-core-button ${SKELETON_CLASS_NAME}` : "starci-core-button" }), ...(unavailable ? {} : { href }), ...(target === undefined ? {} : { target }), ...(rel === undefined ? target === "_blank" ? { rel: "noopener noreferrer" } : {} : { rel }), ...(download === undefined ? {} : { download }), ...(onFollow === undefined || unavailable ? {} : { onClick: onFollow }), children: content }));
27
27
  }
28
28
  const { onPress, type = "button" } = props;
29
- return (_jsx(HeroButton, { "data-tier": "atom", "data-component": "Button", "data-grammar-control-size": size === "control" ? "control" : undefined, "data-element": "button", "data-loading": isSkeleton ? "true" : "false", "data-action-pending": isPending ? "true" : "false", type: type, variant: VARIANTS[variant], size: SIZES[size], isDisabled: unavailable, isPending: isPending, "data-width": width, "data-contract": width === "fill" ? "MEASURE-2" : undefined, fullWidth: width === "fill", ...(props["aria-pressed"] === undefined ? {} : { "aria-pressed": props["aria-pressed"] }), className: isSkeleton ? `starci-core-button ${SKELETON_CLASS_NAME}` : "starci-core-button", ...(unavailable || onPress === undefined ? {} : { onPress }), children: content }));
29
+ return (_jsx(HeroButton, { "data-tier": "atom", "data-component": "Button", "data-size": size, "data-grammar-control-size": size === "control" ? "control" : undefined, "data-element": "button", "data-loading": isSkeleton ? "true" : "false", "data-action-pending": isPending ? "true" : "false", type: type, variant: VARIANTS[variant], size: SIZES[size], isDisabled: unavailable, isPending: isPending, "data-width": width, "data-contract": width === "fill" ? "MEASURE-2" : undefined, fullWidth: width === "fill", ...(props["aria-pressed"] === undefined ? {} : { "aria-pressed": props["aria-pressed"] }), className: isSkeleton ? `starci-core-button ${SKELETON_CLASS_NAME}` : "starci-core-button", ...(unavailable || onPress === undefined ? {} : { onPress }), children: content }));
30
30
  };
31
31
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Button/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Button/index.tsx"],"names":[],"mappings":"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"}
@@ -17,8 +17,8 @@ export type IconButtonProps = {
17
17
  readonly label: string;
18
18
  /** Grammar internals and stories may select paint directly; applications declare intent. */
19
19
  readonly variant?: IconButtonVariant;
20
- /** `md` (default, 2.25rem), `control` (2.75rem, the navbar control height), or a floating `lg` (3.5rem). */
21
- readonly size?: "md" | "lg" | "control";
20
+ /** `md` and `control` are the one control height (2.5rem, 40px: the default), `sm` (2rem) is for a control nested in an item or a dense toolbar, `lg` (3rem) is the landing hero step. */
21
+ readonly size?: "sm" | "md" | "lg" | "control";
22
22
  /** Lifts the button with the overlay elevation, for an action floating over content (it owns no position). */
23
23
  readonly isFloating?: boolean;
24
24
  readonly isActive?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/IconButton/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAA0B,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACtF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAA;AAE7C,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,4FAA4F;IAC5F,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAA;IACpC,4GAA4G;IAC5G,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAA;IACvC,8GAA8G;IAC9G,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,uIAAuI;IACvI,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,sFAAsF;IACtF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,qEAAqE;IACrE,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC7B,GAAG,iBAAiB,GAAG,CAClB;IACE;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IAC/B,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC9B,GACC;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAA;CAAE,CAC5D,CAAA;AAED,gGAAgG;AAChG,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,YAAQ,KAAG,MAAM,GAAG,IAI3F,CAAA;AAQD,4EAA4E;AAC5E,eAAO,MAAM,UAAU,GAAI,gNAkBxB,eAAe,gCAsDjB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/IconButton/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAA0B,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACtF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAA;AAE7C,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,4FAA4F;IAC5F,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAA;IACpC,0LAA0L;IAC1L,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAA;IAC9C,8GAA8G;IAC9G,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,uIAAuI;IACvI,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,sFAAsF;IACtF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,qEAAqE;IACrE,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC7B,GAAG,iBAAiB,GAAG,CAClB;IACE;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IAC/B,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC9B,GACC;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAA;CAAE,CAC5D,CAAA;AAED,gGAAgG;AAChG,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,YAAQ,KAAG,MAAM,GAAG,IAI3F,CAAA;AAQD,4EAA4E;AAC5E,eAAO,MAAM,UAAU,GAAI,gNAkBxB,eAAe,gCAsDjB,CAAA"}
@@ -8,7 +8,7 @@ export type SwitchProps = FieldControlProps & {
8
8
  readonly onSelectedChange?: (isSelected: boolean) => void;
9
9
  /**
10
10
  * `md` (default) and `lg` are HeroUI's own Switch sizes, track and thumb included. `control` is the one StarCi size: the HeroUI `lg` switch
11
- * scaled to the shared control height (2.75rem, the IconButton and bar control height), so a theme switch lines up with the buttons beside it.
11
+ * scaled to the shared control height (2.5rem, 40px, the IconButton and bar control height), so a theme switch lines up with the buttons beside it.
12
12
  * With `isLabelHidden` the label stays the accessible name and draws nothing, for a switch that carries only an aria label.
13
13
  */
14
14
  readonly size?: SwitchSize;
@@ -12,5 +12,5 @@ import { FieldDescription, FieldErrorText, FieldLabel, FieldSkeleton, vendorFiel
12
12
  * An immediate on/off setting (`role="switch"`). Use Checkbox for a choice that only takes effect
13
13
  * on submit. The label is part of the hit area; Space toggles.
14
14
  */
15
- export const Switch = ({ value, isSelected, defaultSelected, onSelectedChange, size = "md", thumbIcon, selectedThumbIcon, isSkeleton = false, ...field }) => isSkeleton ? (_jsx(FieldSkeleton, { component: "Switch", tier: "atom", label: field.label, isLabelHidden: field.isLabelHidden, isRequired: field.isRequired, kind: "switch", switchSize: size, className: "starci-core-switch" })) : (_jsxs(HeroSwitch, { "data-tier": "atom", "data-component": "Switch", "data-contract": "A11Y-1 STATE-1", "data-grammar-switch-size": size, "data-grammar-switch-icons": thumbIcon === undefined ? "none" : selectedThumbIcon === undefined ? "single" : "swap", className: "starci-core-choice starci-core-switch", size: size === "control" ? "lg" : size, ...vendorFieldProps(field), isReadOnly: field.isReadOnly === true, ...(value === undefined ? {} : { value }), ...(isSelected === undefined ? defaultSelected === undefined ? {} : { defaultSelected } : { isSelected }), ...(onSelectedChange === undefined ? {} : { onChange: onSelectedChange }), children: [_jsxs(HeroSwitch.Content, { className: "starci-core-choice-content", "data-grammar-choice-target": "true", children: [_jsx(HeroSwitch.Control, { className: "starci-core-choice-control", "data-grammar-choice-control": "switch", children: _jsx(HeroSwitch.Thumb, { "data-grammar-switch-thumb": "true", children: thumbIcon === undefined ? null : (_jsxs(HeroSwitch.Icon, { children: [_jsx("span", { "aria-hidden": "true", className: "starci-core-switch-icon", "data-grammar-switch-icon": "off", children: _jsx(Icon, { source: thumbIcon, usage: size === "md" ? "chip" : "leading" }) }), selectedThumbIcon === undefined ? null : (_jsx("span", { "aria-hidden": "true", className: "starci-core-switch-icon", "data-grammar-switch-icon": "on", children: _jsx(Icon, { source: selectedThumbIcon, usage: size === "md" ? "chip" : "leading" }) }))] })) }) }), _jsx(FieldLabel, { isHidden: field.isLabelHidden === true, children: field.label })] }), _jsx(FieldDescription, { children: field.description }), _jsx(FieldErrorText, { children: field.errorMessage })] }));
15
+ export const Switch = ({ value, isSelected, defaultSelected, onSelectedChange, size = "md", thumbIcon, selectedThumbIcon, isSkeleton = false, ...field }) => isSkeleton ? (_jsx(FieldSkeleton, { component: "Switch", tier: "atom", label: field.label, isLabelHidden: field.isLabelHidden, isRequired: field.isRequired, kind: "switch", switchSize: size, className: "starci-core-switch" })) : (_jsxs(HeroSwitch, { "data-tier": "atom", "data-component": "Switch", "data-contract": "A11Y-1 STATE-1", "data-grammar-switch-size": size, "data-grammar-switch-icons": thumbIcon === undefined ? "none" : selectedThumbIcon === undefined ? "single" : "swap", className: "starci-core-choice starci-core-switch", size: size === "control" ? "lg" : size, ...vendorFieldProps(field), isReadOnly: field.isReadOnly === true, ...(value === undefined ? {} : { value }), ...(isSelected === undefined ? defaultSelected === undefined ? {} : { defaultSelected } : { isSelected }), ...(onSelectedChange === undefined ? {} : { onChange: onSelectedChange }), children: [_jsxs(HeroSwitch.Content, { className: "starci-core-choice-content", "data-grammar-choice-target": "true", children: [_jsx(HeroSwitch.Control, { className: "starci-core-choice-control", "data-grammar-choice-control": "switch", "data-grammar-switch-track": "true", children: _jsx(HeroSwitch.Thumb, { "data-grammar-switch-thumb": "true", children: thumbIcon === undefined ? null : (_jsxs(HeroSwitch.Icon, { children: [_jsx("span", { "aria-hidden": "true", className: "starci-core-switch-icon", "data-grammar-switch-icon": "off", children: _jsx(Icon, { source: thumbIcon, usage: size === "md" ? "chip" : "leading" }) }), selectedThumbIcon === undefined ? null : (_jsx("span", { "aria-hidden": "true", className: "starci-core-switch-icon", "data-grammar-switch-icon": "on", children: _jsx(Icon, { source: selectedThumbIcon, usage: size === "md" ? "chip" : "leading" }) }))] })) }) }), _jsx(FieldLabel, { isHidden: field.isLabelHidden === true, children: field.label })] }), _jsx(FieldDescription, { children: field.description }), _jsx(FieldErrorText, { children: field.errorMessage })] }));
16
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Switch/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Switch/index.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@starci/grammar",
3
- "version": "0.12.12",
3
+ "version": "0.12.13",
4
4
  "description": "Reusable StarCi React components, compositions, and packaged visual DNA.",
5
5
  "keywords": [
6
6
  "starci",