@starci/grammar 0.12.11 → 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.
- package/LICENSE +21 -21
- package/dist/.build-stamp.json +4 -4
- package/dist/common/components-forms.css +27 -13
- package/dist/common/components-navigation.css +11 -11
- package/dist/common/components-overlays.css +2 -2
- package/dist/common/registry.d.ts +3 -3
- package/dist/common/renderers-forms.d.ts +2 -2
- package/dist/common/renderers-forms.d.ts.map +1 -1
- package/dist/common/renderers-forms.js.map +1 -1
- package/dist/common/renderers-navigation.d.ts +1 -1
- package/dist/common/renderers.d.ts +1 -1
- package/dist/common/renderers.d.ts.map +1 -1
- package/dist/common/renderers.js.map +1 -1
- package/dist/common/styles.css +155 -25
- package/dist/core/HorizontalScrollFrame.d.ts +12 -0
- package/dist/core/HorizontalScrollFrame.d.ts.map +1 -0
- package/dist/core/HorizontalScrollFrame.js +36 -0
- package/dist/core/HorizontalScrollFrame.js.map +1 -0
- package/dist/core/branch/ListBox/index.d.ts +7 -1
- package/dist/core/branch/ListBox/index.d.ts.map +1 -1
- package/dist/core/branch/ListBox/index.js +2 -2
- package/dist/core/branch/ListBox/index.js.map +1 -1
- package/dist/core/branch/Tabs/index.d.ts +1 -1
- package/dist/core/branch/Tabs/index.d.ts.map +1 -1
- package/dist/core/branch/Tabs/index.js +2 -20
- package/dist/core/branch/Tabs/index.js.map +1 -1
- package/dist/core/composite/ChatBubble/index.d.ts +4 -1
- package/dist/core/composite/ChatBubble/index.d.ts.map +1 -1
- package/dist/core/composite/ChatBubble/index.js +2 -1
- package/dist/core/composite/ChatBubble/index.js.map +1 -1
- package/dist/core/composite/HorizontalScrollRegion/index.d.ts +5 -0
- package/dist/core/composite/HorizontalScrollRegion/index.d.ts.map +1 -1
- package/dist/core/composite/HorizontalScrollRegion/index.js +5 -3
- package/dist/core/composite/HorizontalScrollRegion/index.js.map +1 -1
- package/dist/core/composite/SegmentedControl/index.d.ts +7 -1
- package/dist/core/composite/SegmentedControl/index.d.ts.map +1 -1
- package/dist/core/composite/SegmentedControl/index.js +3 -3
- package/dist/core/composite/SegmentedControl/index.js.map +1 -1
- package/dist/core/composite/VerticalScrollRegion/index.d.ts +7 -0
- package/dist/core/composite/VerticalScrollRegion/index.d.ts.map +1 -1
- package/dist/core/composite/VerticalScrollRegion/index.js +4 -3
- package/dist/core/composite/VerticalScrollRegion/index.js.map +1 -1
- package/dist/core/primitive/Avatar/index.d.ts +1 -1
- package/dist/core/primitive/Avatar/index.d.ts.map +1 -1
- package/dist/core/primitive/Avatar/index.js +1 -1
- package/dist/core/primitive/Button/index.d.ts.map +1 -1
- package/dist/core/primitive/Button/index.js +2 -2
- package/dist/core/primitive/Button/index.js.map +1 -1
- package/dist/core/primitive/Divider/index.d.ts +7 -0
- package/dist/core/primitive/Divider/index.d.ts.map +1 -1
- package/dist/core/primitive/Divider/index.js +2 -1
- package/dist/core/primitive/Divider/index.js.map +1 -1
- package/dist/core/primitive/Field/index.d.ts +3 -1
- package/dist/core/primitive/Field/index.d.ts.map +1 -1
- package/dist/core/primitive/Field/index.js +2 -2
- package/dist/core/primitive/Field/index.js.map +1 -1
- package/dist/core/primitive/IconButton/index.d.ts +5 -3
- package/dist/core/primitive/IconButton/index.d.ts.map +1 -1
- package/dist/core/primitive/IconButton/index.js +6 -2
- package/dist/core/primitive/IconButton/index.js.map +1 -1
- package/dist/core/primitive/Switch/index.d.ts +1 -1
- package/dist/core/primitive/Switch/index.js +1 -1
- package/dist/core/primitive/Switch/index.js.map +1 -1
- package/package.json +1 -1
package/dist/common/styles.css
CHANGED
|
@@ -550,7 +550,7 @@
|
|
|
550
550
|
display: flex;
|
|
551
551
|
width: 100%;
|
|
552
552
|
min-width: 0;
|
|
553
|
-
height: 2.
|
|
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.
|
|
1864
|
-
min-block-size: var(--starci-core-control-min-size, 2.
|
|
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.
|
|
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.
|
|
1957
|
-
height: 2.
|
|
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.
|
|
1980
|
-
min-block-size: var(--starci-core-control-min-size, 2.
|
|
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.
|
|
2387
|
-
height: 2.
|
|
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.
|
|
2471
|
-
min-height: 2.
|
|
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;
|
|
@@ -2767,6 +2813,17 @@
|
|
|
2767
2813
|
flex: 1 1 0%;
|
|
2768
2814
|
}
|
|
2769
2815
|
|
|
2816
|
+
/* A vertical hairline between touching columns of one joined surface: it fills the row, whatever its height. */
|
|
2817
|
+
.starci-core-divider-bare[data-grammar-divider-orientation="vertical"] {
|
|
2818
|
+
align-self: stretch;
|
|
2819
|
+
flex: 0 0 auto;
|
|
2820
|
+
}
|
|
2821
|
+
|
|
2822
|
+
/* A scroll region on the page tone: the surface's content scrolls on the background so what it holds (bubbles) stands out. */
|
|
2823
|
+
[data-grammar-scroll-region-tone="background"] {
|
|
2824
|
+
background-color: var(--background);
|
|
2825
|
+
}
|
|
2826
|
+
|
|
2770
2827
|
/* Region, List, ListItem: semantic page structure that draws nothing of its own. */
|
|
2771
2828
|
.starci-core-region[data-grammar-region-spacing="spaced"] {
|
|
2772
2829
|
padding-block-end: 2rem;
|
|
@@ -2844,15 +2901,55 @@
|
|
|
2844
2901
|
/* --- Icon button: a HeroUI `Button` worn as a circle. --- */
|
|
2845
2902
|
.starci-core-control-size .starci-core-field-skeleton-control {
|
|
2846
2903
|
box-sizing: border-box;
|
|
2847
|
-
block-size: var(--starci-core-control-min-size, 2.
|
|
2848
|
-
min-block-size: var(--starci-core-control-min-size, 2.
|
|
2849
|
-
max-block-size: var(--starci-core-control-min-size, 2.
|
|
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;
|
|
2850
2930
|
}
|
|
2851
2931
|
|
|
2852
|
-
.starci-core-
|
|
2853
|
-
|
|
2854
|
-
|
|
2855
|
-
|
|
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;
|
|
2946
|
+
}
|
|
2947
|
+
|
|
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);
|
|
2856
2953
|
}
|
|
2857
2954
|
|
|
2858
2955
|
.starci-core-text-action[data-size="control"] {
|
|
@@ -2865,9 +2962,9 @@
|
|
|
2865
2962
|
}
|
|
2866
2963
|
|
|
2867
2964
|
.starci-core-icon-button[data-size="lg"] {
|
|
2868
|
-
width:
|
|
2869
|
-
height:
|
|
2870
|
-
min-width:
|
|
2965
|
+
width: 3rem !important;
|
|
2966
|
+
height: 3rem !important;
|
|
2967
|
+
min-width: 3rem !important;
|
|
2871
2968
|
}
|
|
2872
2969
|
|
|
2873
2970
|
.starci-core-icon-button[data-size="lg"] > :is(svg, [data-slot="icon"]) {
|
|
@@ -3243,7 +3340,7 @@
|
|
|
3243
3340
|
display: inline-flex;
|
|
3244
3341
|
width: fit-content;
|
|
3245
3342
|
min-width: 0;
|
|
3246
|
-
min-block-size: var(--starci-core-control-min-size, 2.
|
|
3343
|
+
min-block-size: var(--starci-core-control-min-size, 2.5rem);
|
|
3247
3344
|
flex: none;
|
|
3248
3345
|
align-items: center;
|
|
3249
3346
|
gap: 0.5rem;
|
|
@@ -3298,7 +3395,7 @@
|
|
|
3298
3395
|
.starci-core-text-action[data-appearance="route"] {
|
|
3299
3396
|
border-radius: var(--starci-core-pill-radius, 999px);
|
|
3300
3397
|
padding: 0.5rem 0.75rem;
|
|
3301
|
-
min-block-size: var(--starci-core-control-min-size, 2.
|
|
3398
|
+
min-block-size: var(--starci-core-control-min-size, 2.5rem);
|
|
3302
3399
|
color: var(--muted, var(--starci-core-muted, GrayText));
|
|
3303
3400
|
}
|
|
3304
3401
|
|
|
@@ -3464,13 +3561,46 @@
|
|
|
3464
3561
|
.starci-core-chat-bubble[data-grammar-bubble-footer="true"] .starci-core-chat-bubble-stack { width: min(40rem, 85%); }
|
|
3465
3562
|
.starci-core-chat-bubble-footer { align-self: stretch; width: 100%; min-width: 0; max-width: 100%; }
|
|
3466
3563
|
|
|
3564
|
+
/*
|
|
3565
|
+
* Message actions (copy, reply, open): a small floating toolbar beside the bubble, on a bordered surface, centred on the
|
|
3566
|
+
* stack's outer side (the end side of an incoming bubble, the start side of an outgoing one). It takes no height in the
|
|
3567
|
+
* thread and never overlaps text; it shows on hover or focus inside the message. Touch has no hover: there it is a quiet
|
|
3568
|
+
* in-flow row under the bubble, always visible.
|
|
3569
|
+
*/
|
|
3467
3570
|
.starci-core-chat-bubble-actions {
|
|
3468
3571
|
display: flex;
|
|
3469
|
-
|
|
3572
|
+
align-items: center;
|
|
3573
|
+
gap: 0.125rem;
|
|
3470
3574
|
opacity: 0;
|
|
3471
3575
|
transition: opacity var(--starci-core-motion-duration, 150ms) cubic-bezier(0.4, 0, 0.2, 1);
|
|
3472
3576
|
}
|
|
3473
3577
|
|
|
3578
|
+
@media (hover: hover) {
|
|
3579
|
+
.starci-core-chat-bubble-actions {
|
|
3580
|
+
position: absolute;
|
|
3581
|
+
z-index: 1;
|
|
3582
|
+
inset-block-start: 50%;
|
|
3583
|
+
transform: translateY(-50%);
|
|
3584
|
+
padding: 0.125rem;
|
|
3585
|
+
border: 1px solid var(--border, GrayText);
|
|
3586
|
+
border-radius: 0.75rem;
|
|
3587
|
+
background: var(--surface, Canvas);
|
|
3588
|
+
box-shadow: var(--shadow-surface, 0 1px 3px rgb(0 0 0 / 0.16));
|
|
3589
|
+
pointer-events: none;
|
|
3590
|
+
}
|
|
3591
|
+
|
|
3592
|
+
.starci-core-chat-bubble[data-grammar-bubble-side="incoming"] .starci-core-chat-bubble-actions {
|
|
3593
|
+
inset-inline-start: calc(100% + 0.5rem);
|
|
3594
|
+
}
|
|
3595
|
+
|
|
3596
|
+
.starci-core-chat-bubble[data-grammar-bubble-side="outgoing"] .starci-core-chat-bubble-actions {
|
|
3597
|
+
inset-inline-end: calc(100% + 0.5rem);
|
|
3598
|
+
}
|
|
3599
|
+
|
|
3600
|
+
.starci-core-chat-bubble:hover .starci-core-chat-bubble-actions,
|
|
3601
|
+
.starci-core-chat-bubble:focus-within .starci-core-chat-bubble-actions { pointer-events: auto; }
|
|
3602
|
+
}
|
|
3603
|
+
|
|
3474
3604
|
.starci-core-chat-bubble:hover .starci-core-chat-bubble-actions,
|
|
3475
3605
|
.starci-core-chat-bubble:focus-within .starci-core-chat-bubble-actions { opacity: 1; }
|
|
3476
3606
|
|
|
@@ -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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"}
|
|
@@ -50,6 +50,12 @@ export type ListBoxProps = ListBoxContent & {
|
|
|
50
50
|
readonly defaultSelectedIds?: ReadonlyArray<string>;
|
|
51
51
|
readonly onSelectionChange?: (ids: ReadonlyArray<string>) => void;
|
|
52
52
|
readonly onAction?: (id: string) => void;
|
|
53
|
+
/**
|
|
54
|
+
* The vendor selection indicator (the check at the end of a selected row). `check` (default) keeps HeroUI's anatomy; `none`
|
|
55
|
+
* omits `ListBox.ItemIndicator` for a list whose selected row already reads from its fill (a conversation list), so the
|
|
56
|
+
* row shows the fill and no check. Selection, `aria-selected` and keyboard behaviour are unchanged.
|
|
57
|
+
*/
|
|
58
|
+
readonly selectionIndicator?: "check" | "none";
|
|
53
59
|
readonly emptyContent?: ReactNode;
|
|
54
60
|
/**
|
|
55
61
|
* The options are loading (knowledge STATE-8). With no `items` it draws `loadingRows` skeleton options (a label line and a
|
|
@@ -67,6 +73,6 @@ export type ListBoxProps = ListBoxContent & {
|
|
|
67
73
|
* selection indicator at the end of the row; the selected row carries the vendor `aria-selected`.
|
|
68
74
|
* Contract: list FOCUS-2 STATE-1, empty STATE-3, leading and title-line glyphs A11Y-2.
|
|
69
75
|
*/
|
|
70
|
-
export declare const ListBox: ({ label, items, sections, inset, size, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, onAction, emptyContent, isLoading, loadingRows, className, }: ListBoxProps) => import("react").JSX.Element;
|
|
76
|
+
export declare const ListBox: ({ label, items, sections, inset, size, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, onAction, selectionIndicator, emptyContent, isLoading, loadingRows, className, }: ListBoxProps) => import("react").JSX.Element;
|
|
71
77
|
export {};
|
|
72
78
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/ListBox/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAyB,SAAS,EAAE,MAAM,OAAO,CAAA;AAK7D,OAAO,EAAiC,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAElG,oGAAoG;AACpG,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAE5C,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAA;IAChC,kHAAkH;IAClH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,oBAAoB,CAAA;IAChD,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;IAC5B,kFAAkF;IAClF,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;IAC5B,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAA;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,2GAA2G;AAC3G,MAAM,MAAM,cAAc,GAAG;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;CAC7C,CAAA;AAED,KAAK,cAAc,GACb;IAAE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;CAAE,GACzE;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;CAAE,CAAA;AAqBlF,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG;IACxC,sCAAsC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,2GAA2G;IAC3G,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;IACpC,sFAAsF;IACtF,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAA;IAC3B,wFAAwF;IACxF,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAA;IACvD,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC5C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACnD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IACjE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,2EAA2E;IAC3E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/ListBox/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAyB,SAAS,EAAE,MAAM,OAAO,CAAA;AAK7D,OAAO,EAAiC,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAElG,oGAAoG;AACpG,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAE5C,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAA;IAChC,kHAAkH;IAClH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,oBAAoB,CAAA;IAChD,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;IAC5B,kFAAkF;IAClF,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;IAC5B,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAA;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,2GAA2G;AAC3G,MAAM,MAAM,cAAc,GAAG;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;CAC7C,CAAA;AAED,KAAK,cAAc,GACb;IAAE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;CAAE,GACzE;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;CAAE,CAAA;AAqBlF,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG;IACxC,sCAAsC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,2GAA2G;IAC3G,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;IACpC,sFAAsF;IACtF,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAA;IAC3B,wFAAwF;IACxF,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAA;IACvD,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC5C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACnD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IACjE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC;;;;OAIG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAC9C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,2EAA2E;IAC3E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAAI,4LAgBrB,YAAY,gCA0Ed,CAAA"}
|
|
@@ -18,13 +18,13 @@ const loadingSkeleton = (rows) => (_jsx("div", { className: "starci-core-list-bo
|
|
|
18
18
|
* selection indicator at the end of the row; the selected row carries the vendor `aria-selected`.
|
|
19
19
|
* Contract: list FOCUS-2 STATE-1, empty STATE-3, leading and title-line glyphs A11Y-2.
|
|
20
20
|
*/
|
|
21
|
-
export const ListBox = ({ label, items = [], sections, inset, size = "md", selectionMode = "single", selectedIds, defaultSelectedIds, onSelectionChange, onAction, emptyContent, isLoading = false, loadingRows = 3, className, }) => {
|
|
21
|
+
export const ListBox = ({ label, items = [], sections, inset, size = "md", selectionMode = "single", selectedIds, defaultSelectedIds, onSelectionChange, onAction, selectionIndicator = "check", emptyContent, isLoading = false, loadingRows = 3, className, }) => {
|
|
22
22
|
const presentation = useCollectionItemPresentation();
|
|
23
23
|
const nested = useSurfaceNesting();
|
|
24
24
|
const resolvedInset = inset ?? (nested ? "panel" : "default");
|
|
25
25
|
const allItems = sections === undefined ? items : sections.flatMap((section) => section.items);
|
|
26
26
|
const renderLabel = (item) => (_jsxs(HeroLabel, { "data-grammar-item-label": "true", style: item.emphasis === "unread" ? { fontWeight: presentation.unreadWeight } : undefined, children: [item.labelLeading === undefined ? null : (_jsxs(_Fragment, { children: [_jsx("span", { "aria-hidden": "true", "data-grammar-list-leading": "label", "data-contract": "A11Y-2", children: item.labelLeading }), " "] })), item.label] }));
|
|
27
|
-
const renderItem = (item) => (_jsx(HeroListBox.Item, { id: item.id, "aria-label": item.label, className: "starci-core-list-box-item", "data-grammar-list-item": "true", "data-grammar-list-size": item.size ?? size, "data-grammar-list-emphasis": item.emphasis, textValue: item.label, ...(item.isDisabled === undefined ? {} : { isDisabled: item.isDisabled }), children: _jsxs(ButtonPlacementProvider, { placement: "item", children: [item.leading === undefined ? null : _jsx("span", { "aria-hidden": "true", "data-grammar-list-leading": "true", "data-contract": "A11Y-2", children: item.leading }), item.description === undefined ? renderLabel(item) : (_jsxs("div", { "data-grammar-list-copy": "true", children: [renderLabel(item), _jsx(HeroDescription, { "data-grammar-item-description": "true", "data-grammar-description-lines": item.descriptionLines ?? presentation.descriptionLines, style: item.emphasis === "unread" ? { fontWeight: presentation.unreadWeight } : undefined, children: item.description })] })), item.trailing === undefined ? null : _jsx("span", { "data-grammar-list-trailing": "true", children: item.trailing }), selectionMode === "none" ? null : _jsx(HeroListBox.ItemIndicator, {})] }) }, item.id));
|
|
27
|
+
const renderItem = (item) => (_jsx(HeroListBox.Item, { id: item.id, "aria-label": item.label, className: "starci-core-list-box-item", "data-grammar-list-item": "true", "data-grammar-list-size": item.size ?? size, "data-grammar-list-emphasis": item.emphasis, textValue: item.label, ...(item.isDisabled === undefined ? {} : { isDisabled: item.isDisabled }), children: _jsxs(ButtonPlacementProvider, { placement: "item", children: [item.leading === undefined ? null : _jsx("span", { "aria-hidden": "true", "data-grammar-list-leading": "true", "data-contract": "A11Y-2", children: item.leading }), item.description === undefined ? renderLabel(item) : (_jsxs("div", { "data-grammar-list-copy": "true", children: [renderLabel(item), _jsx(HeroDescription, { "data-grammar-item-description": "true", "data-grammar-description-lines": item.descriptionLines ?? presentation.descriptionLines, style: item.emphasis === "unread" ? { fontWeight: presentation.unreadWeight } : undefined, children: item.description })] })), item.trailing === undefined ? null : _jsx("span", { "data-grammar-list-trailing": "true", children: item.trailing }), selectionMode === "none" || selectionIndicator === "none" ? null : _jsx(HeroListBox.ItemIndicator, {})] }) }, item.id));
|
|
28
28
|
return (_jsx(HeroListBox, { "aria-label": label, className: navigationClassName("starci-core-list-box", className), "data-component": "ListBox", "data-contract": "FOCUS-2 STATE-1 PADDING-0", "data-tier": "branch", "data-loading": String(isLoading), ...(isLoading ? { render: (domProps) => _jsxs("div", { ...domProps, "aria-busy": "true", children: [domProps.children, allItems.length === 0 ? loadingSkeleton(loadingRows) : null] }) } : {}), "data-grammar-list-inset": resolvedInset, "data-grammar-list-size": size, "data-grammar-list-selection": selectionMode, selectionMode: selectionMode, ...(selectedIds === undefined ? {} : { selectedKeys: new Set(selectedIds) }), ...(defaultSelectedIds === undefined ? {} : { defaultSelectedKeys: new Set(defaultSelectedIds) }), ...(onSelectionChange === undefined ? {} : {
|
|
29
29
|
onSelectionChange: (selection) => onSelectionChange(selection === "all" ? allItems.map((item) => item.id) : [...selection].map(String)),
|
|
30
30
|
}), ...(onAction === undefined ? {} : { onAction: (key) => onAction(String(key)) }), ...(isLoading
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/ListBox/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,IAAI,UAAU,EAAE,KAAK,IAAI,SAAS,EAAE,OAAO,IAAI,WAAW,EAAE,SAAS,IAAI,aAAa,EAAkB,MAAM,eAAe,CAAA;AAE5K,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,6BAA6B,EAA6B,MAAM,yBAAyB,CAAA;AAuClG,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAE3G;;;GAGG;AACH,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CACtC,cAAK,SAAS,EAAC,+BAA+B,gCAA4B,MAAM,YAC3E,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CACnD,6BAA6B,MAAM,EAAC,SAAS,EAAC,sCAAsC,2BAAuB,MAAM,YAC7G,0CAA6B,MAAM,aAC/B,eAAM,SAAS,EAAC,4BAA4B,YAAC,KAAC,QAAQ,IAAC,KAAK,EAAC,MAAM,GAAG,GAAO,EAC7E,eAAM,SAAS,EAAC,kCAAkC,YAAC,KAAC,QAAQ,IAAC,KAAK,EAAC,MAAM,GAAG,GAAO,IAChF,IAJD,KAAK,CAKT,CACT,CAAC,GACA,CACT,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/ListBox/index.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
|
|
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;
|
|
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.
|
|
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":"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
|
|
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"}
|
|
@@ -13,7 +13,10 @@ export type ChatBubbleProps = {
|
|
|
13
13
|
readonly meta?: ReactNode;
|
|
14
14
|
/** A short marker beside the author, e.g. a neutral `Badge` "AI". */
|
|
15
15
|
readonly status?: ReactNode;
|
|
16
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* Message actions (copy, reply, open): `IconButton`s (each with a `Tooltip`) drawn as a small floating toolbar beside the bubble on a
|
|
18
|
+
* bordered surface, revealed on hover and keyboard focus inside the message. They take `chrome` placement (neutral = ghost).
|
|
19
|
+
*/
|
|
17
20
|
readonly actions?: ReactNode;
|
|
18
21
|
/** Content under the body that is not part of the message text: an attachment, an approval card, a reaction row. */
|
|
19
22
|
readonly footer?: ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/ChatBubble/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/ChatBubble/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC,wIAAwI;AACxI,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,UAAU,CAAA;AAEpD,MAAM,MAAM,eAAe,GAAG;IAC1B,qGAAqG;IACrG,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAA;IAC9B,6FAA6F;IAC7F,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,mHAAmH;IACnH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;IACzB,qEAAqE;IACrE,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;IAC5B,oHAAoH;IACpH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,sFAAsF;IACtF,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,kDAAkD;IAClD,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,iGAYxB,eAAe,gCAgDjB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACnC,6FAA6F;IAC7F,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,iEAAiE;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAC/B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,sBAAkC,wBAAwB,gCAM7F,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ButtonPlacementProvider } from "../../buttonIntent.js";
|
|
2
3
|
import { Skeleton } from "../../primitive/Skeleton/index.js";
|
|
3
4
|
/**
|
|
4
5
|
* One chat message. The app owns the thread (order, grouping, day dividers with `Divider label`, scroll with
|
|
@@ -11,7 +12,7 @@ export const ChatBubble = ({ children, side = "incoming", author, avatar, meta,
|
|
|
11
12
|
return (_jsxs("div", { "aria-hidden": "true", className: "starci-core-chat-bubble", "data-component": "ChatBubble", "data-tier": "composite", "data-contract": "SURFACE-3 SURFACE-4 RADIUS-6 STATE-8", "data-grammar-bubble-side": side, "data-grammar-bubble-highlight": "false", "data-grammar-bubble-footer": "false", "data-grammar-skeleton": "true", children: [avatar == null ? null : _jsx("div", { className: "starci-core-chat-bubble-avatar", children: _jsx(Skeleton, { shape: "circle", size: "sm" }) }), _jsx("div", { className: "starci-core-chat-bubble-stack", children: _jsx("div", { className: "starci-core-chat-bubble-body starci-core-chat-bubble-skeleton-body", children: _jsx(Skeleton, { shape: "text", lines: 2 }) }) })] }));
|
|
12
13
|
}
|
|
13
14
|
const hasHead = author != null || meta != null || status != null;
|
|
14
|
-
return (_jsxs("div", { ...(id === undefined ? {} : { id }), className: "starci-core-chat-bubble", "data-component": "ChatBubble", "data-tier": "composite", "data-contract": "SURFACE-3 SURFACE-4 RADIUS-6", "data-grammar-bubble-side": side, "data-grammar-bubble-highlight": isHighlight ? "true" : "false", "data-grammar-bubble-footer": footer == null ? "false" : "true", children: [avatar == null ? null : _jsx("div", { className: "starci-core-chat-bubble-avatar", children: avatar }), _jsxs("div", { className: "starci-core-chat-bubble-stack", children: [hasHead ? (_jsxs("div", { className: "starci-core-chat-bubble-head", children: [author == null ? null : _jsx("span", { className: "starci-core-chat-bubble-author", children: author }), status, meta == null ? null : _jsx("span", { className: "starci-core-chat-bubble-meta", children: meta })] })) : null, _jsx("div", { className: "starci-core-chat-bubble-body", children: children }), footer == null ? null : _jsx("div", { className: "starci-core-chat-bubble-footer", children: footer }), actions == null ? null : _jsx("div", { className: "starci-core-chat-bubble-actions", children: actions })] })] }));
|
|
15
|
+
return (_jsxs("div", { ...(id === undefined ? {} : { id }), className: "starci-core-chat-bubble", "data-component": "ChatBubble", "data-tier": "composite", "data-contract": "SURFACE-3 SURFACE-4 RADIUS-6", "data-grammar-bubble-side": side, "data-grammar-bubble-highlight": isHighlight ? "true" : "false", "data-grammar-bubble-footer": footer == null ? "false" : "true", children: [avatar == null ? null : _jsx("div", { className: "starci-core-chat-bubble-avatar", children: avatar }), _jsxs("div", { className: "starci-core-chat-bubble-stack", children: [hasHead ? (_jsxs("div", { className: "starci-core-chat-bubble-head", children: [author == null ? null : _jsx("span", { className: "starci-core-chat-bubble-author", children: author }), status, meta == null ? null : _jsx("span", { className: "starci-core-chat-bubble-meta", children: meta })] })) : null, _jsx("div", { className: "starci-core-chat-bubble-body", children: children }), footer == null ? null : _jsx("div", { className: "starci-core-chat-bubble-footer", children: footer }), actions == null ? null : _jsx("div", { className: "starci-core-chat-bubble-actions", "data-grammar-bubble-actions": "toolbar", children: _jsx(ButtonPlacementProvider, { placement: "chrome", children: actions }) })] })] }));
|
|
15
16
|
};
|
|
16
17
|
/**
|
|
17
18
|
* A loading conversation: `count` skeleton bubbles that alternate incoming and outgoing, inside one `aria-busy` thread.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/ChatBubble/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/ChatBubble/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAqC5D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACvB,QAAQ,EACR,IAAI,GAAG,UAAU,EACjB,MAAM,EACN,MAAM,EACN,IAAI,EACJ,MAAM,EACN,OAAO,EACP,MAAM,EACN,WAAW,GAAG,KAAK,EACnB,EAAE,EACF,UAAU,GAAG,KAAK,GACJ,EAAE,EAAE;IAClB,IAAI,UAAU,EAAE,CAAC;QACb,OAAO,CACH,8BACgB,MAAM,EAClB,SAAS,EAAC,yBAAyB,oBACpB,YAAY,eACjB,WAAW,mBACP,sCAAsC,8BAC1B,IAAI,mCACA,OAAO,gCACV,OAAO,2BACZ,MAAM,aAE3B,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,gCAAgC,YAAC,KAAC,QAAQ,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,GAAG,GAAM,EACpH,cAAK,SAAS,EAAC,+BAA+B,YAC1C,cAAK,SAAS,EAAC,oEAAoE,YAAC,KAAC,QAAQ,IAAC,KAAK,EAAC,MAAM,EAAC,KAAK,EAAE,CAAC,GAAI,GAAM,GAC3H,IACJ,CACT,CAAA;IACL,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,CAAA;IAChE,OAAO,CACH,kBACQ,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EACpC,SAAS,EAAC,yBAAyB,oBACpB,YAAY,eACjB,WAAW,mBACP,8BAA8B,8BAClB,IAAI,mCACC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,gCACjC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,aAE5D,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,gCAAgC,YAAE,MAAM,GAAO,EACvF,eAAK,SAAS,EAAC,+BAA+B,aACzC,OAAO,CAAC,CAAC,CAAC,CACP,eAAK,SAAS,EAAC,8BAA8B,aACxC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,gCAAgC,YAAE,MAAM,GAAQ,EACxF,MAAM,EACN,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,8BAA8B,YAAE,IAAI,GAAQ,IACjF,CACT,CAAC,CAAC,CAAC,IAAI,EACR,cAAK,SAAS,EAAC,8BAA8B,YAAE,QAAQ,GAAO,EAC7D,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,gCAAgC,YAAE,MAAM,GAAO,EACtF,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,iCAAiC,iCAA6B,SAAS,YAAC,KAAC,uBAAuB,IAAC,SAAS,EAAC,QAAQ,YAAE,OAAO,GAA2B,GAAM,IACpM,IACJ,CACT,CAAA;AACL,CAAC,CAAA;AASD;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,SAAS,GAAG,KAAK,EAA4B,EAAE,EAAE,CAAC,CAC/F,cAAK,SAAS,EAAC,gCAAgC,uCAAmC,MAAM,kBAAc,MAAM,eAAW,MAAM,YACxH,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAC7G,KAAC,UAAU,IAAa,UAAU,QAAC,IAAI,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAQ,CAAC,CAAC,CAAC,SAAS,IAA9H,KAAK,CAA6H,CACtJ,CAAC,GACA,CACT,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":"
|
|
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"}
|