@starci/grammar 0.4.2 → 0.4.4
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/dist/common/registry.d.ts +3 -2
- package/dist/common/registry.d.ts.map +1 -1
- package/dist/common/registry.js +3 -3
- package/dist/common/registry.js.map +1 -1
- package/dist/common/renderers.d.ts +1 -0
- package/dist/common/renderers.d.ts.map +1 -1
- package/dist/common/renderers.js +1 -0
- package/dist/common/renderers.js.map +1 -1
- package/dist/common/styles.css +795 -9
- package/dist/core/branch/MarkdownArticle/classNames.d.ts +9 -4
- package/dist/core/branch/MarkdownArticle/classNames.d.ts.map +1 -1
- package/dist/core/branch/MarkdownArticle/classNames.js +9 -4
- package/dist/core/branch/MarkdownArticle/classNames.js.map +1 -1
- package/dist/core/branch/Rail/classNames.d.ts +8 -4
- package/dist/core/branch/Rail/classNames.d.ts.map +1 -1
- package/dist/core/branch/Rail/classNames.js +8 -4
- package/dist/core/branch/Rail/classNames.js.map +1 -1
- package/dist/core/branch/Rail/index.d.ts.map +1 -1
- package/dist/core/branch/Rail/index.js +1 -2
- package/dist/core/branch/Rail/index.js.map +1 -1
- package/dist/core/branch/Subnav/classNames.d.ts +14 -7
- package/dist/core/branch/Subnav/classNames.d.ts.map +1 -1
- package/dist/core/branch/Subnav/classNames.js +14 -7
- package/dist/core/branch/Subnav/classNames.js.map +1 -1
- package/dist/core/branch/Subnav/index.d.ts.map +1 -1
- package/dist/core/branch/Subnav/index.js +2 -2
- package/dist/core/branch/Subnav/index.js.map +1 -1
- package/dist/core/branch/SurfaceAccordionCard/classNames.d.ts +16 -8
- package/dist/core/branch/SurfaceAccordionCard/classNames.d.ts.map +1 -1
- package/dist/core/branch/SurfaceAccordionCard/classNames.js +17 -9
- package/dist/core/branch/SurfaceAccordionCard/classNames.js.map +1 -1
- package/dist/core/branch/SurfaceAccordionCard/index.d.ts.map +1 -1
- package/dist/core/branch/SurfaceAccordionCard/index.js +1 -1
- package/dist/core/branch/SurfaceAccordionCard/index.js.map +1 -1
- package/dist/core/branch/SurfaceCard/classNames.d.ts +16 -7
- package/dist/core/branch/SurfaceCard/classNames.d.ts.map +1 -1
- package/dist/core/branch/SurfaceCard/classNames.js +17 -8
- package/dist/core/branch/SurfaceCard/classNames.js.map +1 -1
- package/dist/core/branch/SurfaceCard/index.d.ts.map +1 -1
- package/dist/core/branch/SurfaceCard/index.js +6 -2
- package/dist/core/branch/SurfaceCard/index.js.map +1 -1
- package/dist/core/branch/SurfaceListCard/classNames.d.ts +14 -7
- package/dist/core/branch/SurfaceListCard/classNames.d.ts.map +1 -1
- package/dist/core/branch/SurfaceListCard/classNames.js +14 -7
- package/dist/core/branch/SurfaceListCard/classNames.js.map +1 -1
- package/dist/core/branch/SurfaceListCard/index.d.ts.map +1 -1
- package/dist/core/branch/SurfaceListCard/index.js +2 -2
- package/dist/core/branch/SurfaceListCard/index.js.map +1 -1
- package/dist/core/classNames.d.ts +3 -5
- package/dist/core/classNames.d.ts.map +1 -1
- package/dist/core/classNames.js +3 -5
- package/dist/core/classNames.js.map +1 -1
- package/dist/core/composite/EmptyNotice/index.js +1 -1
- package/dist/core/composite/EmptyNotice/index.js.map +1 -1
- package/dist/core/composition/ChatWorkspace/classNames.d.ts +16 -9
- package/dist/core/composition/ChatWorkspace/classNames.d.ts.map +1 -1
- package/dist/core/composition/ChatWorkspace/classNames.js +21 -14
- package/dist/core/composition/ChatWorkspace/classNames.js.map +1 -1
- package/dist/core/composition/NavigationFeatureNav/classNames.d.ts +13 -8
- package/dist/core/composition/NavigationFeatureNav/classNames.d.ts.map +1 -1
- package/dist/core/composition/NavigationFeatureNav/classNames.js +13 -8
- package/dist/core/composition/NavigationFeatureNav/classNames.js.map +1 -1
- package/dist/core/composition/NavigationFeatureNav/index.d.ts +16 -2
- package/dist/core/composition/NavigationFeatureNav/index.d.ts.map +1 -1
- package/dist/core/composition/NavigationFeatureNav/index.js +2 -2
- package/dist/core/composition/NavigationFeatureNav/index.js.map +1 -1
- package/dist/core/composition/PrimaryRailLayout/index.d.ts +7 -1
- package/dist/core/composition/PrimaryRailLayout/index.d.ts.map +1 -1
- package/dist/core/composition/PrimaryRailLayout/index.js +1 -1
- package/dist/core/composition/PrimaryRailLayout/index.js.map +1 -1
- package/dist/core/composition/Sidebar/classNames.d.ts +11 -0
- package/dist/core/composition/Sidebar/classNames.d.ts.map +1 -0
- package/dist/core/composition/Sidebar/classNames.js +12 -0
- package/dist/core/composition/Sidebar/classNames.js.map +1 -0
- package/dist/core/composition/Sidebar/index.d.ts +7 -1
- package/dist/core/composition/Sidebar/index.d.ts.map +1 -1
- package/dist/core/composition/Sidebar/index.js +10 -9
- package/dist/core/composition/Sidebar/index.js.map +1 -1
- package/dist/core/index.d.ts +3 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/primitive/Button/index.d.ts +10 -0
- package/dist/core/primitive/Button/index.d.ts.map +1 -1
- package/dist/core/primitive/Button/index.js +3 -3
- package/dist/core/primitive/Button/index.js.map +1 -1
- package/dist/core/primitive/Divider/index.js +1 -1
- package/dist/core/primitive/Divider/index.js.map +1 -1
- package/dist/core/primitive/Icon/index.d.ts.map +1 -1
- package/dist/core/primitive/Icon/index.js +8 -7
- package/dist/core/primitive/Icon/index.js.map +1 -1
- package/dist/core/primitive/IconButton/index.d.ts.map +1 -1
- package/dist/core/primitive/IconButton/index.js +7 -5
- package/dist/core/primitive/IconButton/index.js.map +1 -1
- package/dist/core/primitive/IconTile/index.d.ts.map +1 -1
- package/dist/core/primitive/IconTile/index.js +7 -12
- package/dist/core/primitive/IconTile/index.js.map +1 -1
- package/dist/core/primitive/Input/index.d.ts.map +1 -1
- package/dist/core/primitive/Input/index.js +4 -4
- package/dist/core/primitive/Input/index.js.map +1 -1
- package/dist/core/primitive/Label/classNames.d.ts +10 -6
- package/dist/core/primitive/Label/classNames.d.ts.map +1 -1
- package/dist/core/primitive/Label/classNames.js +10 -6
- package/dist/core/primitive/Label/classNames.js.map +1 -1
- package/dist/core/primitive/Label/index.js +1 -1
- package/dist/core/primitive/Label/index.js.map +1 -1
- package/dist/core/primitive/PressableField/classNames.d.ts +5 -0
- package/dist/core/primitive/PressableField/classNames.d.ts.map +1 -0
- package/dist/core/primitive/PressableField/classNames.js +6 -0
- package/dist/core/primitive/PressableField/classNames.js.map +1 -0
- package/dist/core/primitive/PressableField/index.d.ts +22 -0
- package/dist/core/primitive/PressableField/index.d.ts.map +1 -0
- package/dist/core/primitive/PressableField/index.js +14 -0
- package/dist/core/primitive/PressableField/index.js.map +1 -0
- package/dist/core/primitive/Progress/index.d.ts.map +1 -1
- package/dist/core/primitive/Progress/index.js +6 -2
- package/dist/core/primitive/Progress/index.js.map +1 -1
- package/dist/core/primitive/Text/index.d.ts +8 -1
- package/dist/core/primitive/Text/index.d.ts.map +1 -1
- package/dist/core/primitive/Text/index.js +16 -20
- package/dist/core/primitive/Text/index.js.map +1 -1
- package/dist/core/primitive/TextAction/index.d.ts.map +1 -1
- package/dist/core/primitive/TextAction/index.js +24 -23
- package/dist/core/primitive/TextAction/index.js.map +1 -1
- package/dist/core/primitive/actionStyles.d.ts +10 -2
- package/dist/core/primitive/actionStyles.d.ts.map +1 -1
- package/dist/core/primitive/actionStyles.js +10 -18
- package/dist/core/primitive/actionStyles.js.map +1 -1
- package/package.json +2 -2
package/dist/common/styles.css
CHANGED
|
@@ -251,6 +251,89 @@
|
|
|
251
251
|
border: 0;
|
|
252
252
|
}
|
|
253
253
|
|
|
254
|
+
/*
|
|
255
|
+
* A field-shaped press target is FIELD anatomy, not a button variant.
|
|
256
|
+
*
|
|
257
|
+
* Two applications had already cloned it - a search trigger that looks exactly like the input
|
|
258
|
+
* it replaces - and both did it by pushing field geometry into a Grammar Button through
|
|
259
|
+
* `className`, which is an app override of a Grammar object. The anatomy lives here instead,
|
|
260
|
+
* reading the same `--field-*` contract the Input primitive reads, so the two clones can be
|
|
261
|
+
* deleted and no application has to restate the field's height, inset, corner or paint.
|
|
262
|
+
*/
|
|
263
|
+
.starci-core-pressable-field {
|
|
264
|
+
display: flex;
|
|
265
|
+
width: 100%;
|
|
266
|
+
min-width: 0;
|
|
267
|
+
height: 2.25rem;
|
|
268
|
+
align-items: center;
|
|
269
|
+
justify-content: space-between;
|
|
270
|
+
gap: 0.5rem;
|
|
271
|
+
border: var(--field-border-width, 1px) solid var(--field-border, var(--border, ButtonBorder));
|
|
272
|
+
border-radius: var(--field-radius, calc(var(--radius, 0.5rem) * 1.5));
|
|
273
|
+
padding-inline: 0.75rem;
|
|
274
|
+
background: var(--field-background, var(--surface, Canvas));
|
|
275
|
+
color: var(--field-foreground, var(--foreground, CanvasText));
|
|
276
|
+
box-shadow: var(--field-shadow, none);
|
|
277
|
+
font: inherit;
|
|
278
|
+
text-align: start;
|
|
279
|
+
cursor: pointer;
|
|
280
|
+
transition:
|
|
281
|
+
background-color var(--starci-core-motion-duration, 180ms) var(--starci-core-motion-easing, cubic-bezier(0.2, 0, 0, 1)),
|
|
282
|
+
border-color var(--starci-core-motion-duration, 180ms) var(--starci-core-motion-easing, cubic-bezier(0.2, 0, 0, 1));
|
|
283
|
+
-webkit-appearance: none;
|
|
284
|
+
appearance: none;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
.starci-core-pressable-field:hover {
|
|
288
|
+
border-color: var(--field-border-hover, var(--field-border, var(--border, ButtonBorder)));
|
|
289
|
+
background: var(--field-hover, var(--field-background, var(--surface, Canvas)));
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
.starci-core-pressable-field:focus-visible {
|
|
293
|
+
outline: 2px solid var(--focus, var(--starci-core-focus, Highlight));
|
|
294
|
+
outline-offset: 2px;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
.starci-core-pressable-field:disabled,
|
|
298
|
+
.starci-core-pressable-field[data-disabled="true"] {
|
|
299
|
+
opacity: 0.5;
|
|
300
|
+
cursor: default;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
.starci-core-pressable-field-content {
|
|
304
|
+
display: inline-flex;
|
|
305
|
+
min-width: 0;
|
|
306
|
+
align-items: center;
|
|
307
|
+
gap: 0.5rem;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
.starci-core-pressable-field-placeholder {
|
|
311
|
+
min-width: 0;
|
|
312
|
+
overflow: hidden;
|
|
313
|
+
font-size: 0.875rem;
|
|
314
|
+
color: var(--field-placeholder, var(--muted, GrayText));
|
|
315
|
+
text-overflow: ellipsis;
|
|
316
|
+
white-space: nowrap;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
.starci-core-pressable-field-shortcut {
|
|
320
|
+
flex-shrink: 0;
|
|
321
|
+
border: 1px solid var(--border, var(--starci-core-border, ButtonBorder));
|
|
322
|
+
border-radius: var(--radius-sm, calc(var(--radius, 0.5rem) * 0.75));
|
|
323
|
+
padding: 0.25rem;
|
|
324
|
+
background: var(--surface-secondary, var(--starci-core-surface-secondary, Canvas));
|
|
325
|
+
color: var(--muted, var(--starci-core-muted, GrayText));
|
|
326
|
+
font-family: inherit;
|
|
327
|
+
font-size: 0.75rem;
|
|
328
|
+
line-height: 1;
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
@media (prefers-reduced-motion: reduce) {
|
|
332
|
+
.starci-core-pressable-field {
|
|
333
|
+
transition: none;
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
|
|
254
337
|
.starci-core-horizontal-scroll-region {
|
|
255
338
|
width: 100%;
|
|
256
339
|
min-width: 0;
|
|
@@ -307,6 +390,14 @@
|
|
|
307
390
|
.starci-core-label {
|
|
308
391
|
min-width: 0;
|
|
309
392
|
margin: 0;
|
|
393
|
+
font-size: 0.875rem;
|
|
394
|
+
font-weight: 600;
|
|
395
|
+
line-height: 1.25rem;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
.starci-core-label[data-grammar-label-depth="nested"] {
|
|
399
|
+
font-size: 0.75rem;
|
|
400
|
+
line-height: 1rem;
|
|
310
401
|
}
|
|
311
402
|
|
|
312
403
|
.starci-core-tooltip {
|
|
@@ -517,6 +608,7 @@
|
|
|
517
608
|
.starci-core-leading-number {
|
|
518
609
|
display: inline-block;
|
|
519
610
|
flex: none;
|
|
611
|
+
font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
|
|
520
612
|
min-width: 1.25rem;
|
|
521
613
|
color: var(--muted, GrayText);
|
|
522
614
|
font-size: 0.875rem;
|
|
@@ -539,11 +631,19 @@
|
|
|
539
631
|
}
|
|
540
632
|
|
|
541
633
|
.starci-core-owned-collection {
|
|
634
|
+
width: 100%;
|
|
542
635
|
min-width: 0;
|
|
543
636
|
}
|
|
544
637
|
|
|
638
|
+
/* A verdict list is flush inside its shell; the shell already owns the corner. */
|
|
639
|
+
.starci-core-owned-collection[data-grammar-collection="verdict"] {
|
|
640
|
+
border-radius: 0 !important;
|
|
641
|
+
}
|
|
642
|
+
|
|
545
643
|
.starci-core-surface-footer {
|
|
644
|
+
display: flex;
|
|
546
645
|
min-width: 0;
|
|
646
|
+
align-items: center;
|
|
547
647
|
}
|
|
548
648
|
|
|
549
649
|
.starci-core-tabs-frame,
|
|
@@ -638,31 +738,50 @@
|
|
|
638
738
|
}
|
|
639
739
|
|
|
640
740
|
.starci-core-accordion-row {
|
|
741
|
+
width: 100% !important;
|
|
742
|
+
min-width: 0;
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
/* HeroUI's `Accordion` root sizes itself; the Grammar shell owns the measure. */
|
|
746
|
+
.starci-core-accordion-root {
|
|
747
|
+
width: 100% !important;
|
|
748
|
+
min-width: 0;
|
|
749
|
+
}
|
|
750
|
+
|
|
751
|
+
.starci-core-accordion-scroll-region {
|
|
641
752
|
width: 100%;
|
|
642
753
|
min-width: 0;
|
|
643
754
|
}
|
|
644
755
|
|
|
756
|
+
/* Expanded content starts flush beneath its trigger, keeping the bottom and inline insets. */
|
|
757
|
+
.starci-core-accordion-body {
|
|
758
|
+
width: 100% !important;
|
|
759
|
+
min-width: 0;
|
|
760
|
+
padding: 0 1rem 0.75rem 1.5rem !important;
|
|
761
|
+
color: var(--foreground, var(--starci-core-foreground, CanvasText));
|
|
762
|
+
}
|
|
763
|
+
|
|
645
764
|
.starci-core-accordion-row + .starci-core-accordion-row {
|
|
646
765
|
border-top: 1px solid var(--separator, var(--border, GrayText));
|
|
647
766
|
}
|
|
648
767
|
|
|
649
768
|
.starci-core-accordion-heading {
|
|
650
|
-
margin: 0;
|
|
769
|
+
margin: 0 !important;
|
|
651
770
|
}
|
|
652
771
|
|
|
653
772
|
.starci-core-accordion-trigger {
|
|
654
773
|
display: block;
|
|
655
|
-
width: 100
|
|
774
|
+
width: 100% !important;
|
|
656
775
|
min-width: 0;
|
|
657
776
|
min-height: 44px;
|
|
658
|
-
padding: var(--starci-core-row-inset, 1rem);
|
|
777
|
+
padding: var(--starci-core-row-inset, 1rem) !important;
|
|
659
778
|
border: 0;
|
|
660
779
|
background: transparent;
|
|
661
780
|
box-shadow: none;
|
|
662
781
|
color: inherit;
|
|
663
782
|
cursor: pointer;
|
|
664
783
|
font: inherit;
|
|
665
|
-
text-align: left;
|
|
784
|
+
text-align: left !important;
|
|
666
785
|
transform: none;
|
|
667
786
|
transition: none;
|
|
668
787
|
}
|
|
@@ -693,10 +812,11 @@
|
|
|
693
812
|
}
|
|
694
813
|
}
|
|
695
814
|
|
|
815
|
+
/* The animated vendor region owns no inset, so a closed panel collapses to zero height. */
|
|
696
816
|
.starci-core-accordion-panel {
|
|
697
|
-
width: 100
|
|
817
|
+
width: 100% !important;
|
|
698
818
|
min-width: 0;
|
|
699
|
-
padding: 0
|
|
819
|
+
padding: 0 !important;
|
|
700
820
|
}
|
|
701
821
|
|
|
702
822
|
.starci-core-markdown-article {
|
|
@@ -792,6 +912,7 @@
|
|
|
792
912
|
width: 100%;
|
|
793
913
|
min-width: 0;
|
|
794
914
|
margin: 0 0 1rem;
|
|
915
|
+
overflow: auto;
|
|
795
916
|
}
|
|
796
917
|
|
|
797
918
|
.starci-core-fenced-code-header {
|
|
@@ -936,11 +1057,19 @@
|
|
|
936
1057
|
}
|
|
937
1058
|
|
|
938
1059
|
.starci-core-rail-body {
|
|
1060
|
+
min-width: 0;
|
|
939
1061
|
min-height: 0;
|
|
1062
|
+
flex: 1 1 0%;
|
|
940
1063
|
overflow-y: auto;
|
|
941
1064
|
overscroll-behavior: contain;
|
|
942
1065
|
}
|
|
943
1066
|
|
|
1067
|
+
/* Grammar-owned content inset, selected by the attribute the branch already emits. */
|
|
1068
|
+
.starci-core-rail-body[data-grammar-rail-inset="content"] {
|
|
1069
|
+
padding-inline: 0.75rem;
|
|
1070
|
+
padding-block: 1.5rem;
|
|
1071
|
+
}
|
|
1072
|
+
|
|
944
1073
|
.starci-core-rail[data-grammar-rail-height="fill"],
|
|
945
1074
|
.starci-core-rail[data-grammar-rail-height="fill"] .starci-core-rail-frame,
|
|
946
1075
|
.starci-core-rail[data-grammar-rail-height="fill"] .starci-core-rail-body {
|
|
@@ -958,6 +1087,8 @@
|
|
|
958
1087
|
}
|
|
959
1088
|
|
|
960
1089
|
.starci-core-rail-footer {
|
|
1090
|
+
display: flex;
|
|
1091
|
+
align-items: center;
|
|
961
1092
|
flex: none;
|
|
962
1093
|
}
|
|
963
1094
|
|
|
@@ -987,6 +1118,11 @@
|
|
|
987
1118
|
.starci-core-primary-rail-layout {
|
|
988
1119
|
grid-template-columns: minmax(0, 1fr);
|
|
989
1120
|
}
|
|
1121
|
+
|
|
1122
|
+
/* Collapsed, the rail may lead - a filter or summary a reader needs before the content. */
|
|
1123
|
+
.starci-core-primary-rail-layout[data-grammar-layout-collapsed-order="rail-first"] .starci-core-rail-region {
|
|
1124
|
+
order: -1;
|
|
1125
|
+
}
|
|
990
1126
|
}
|
|
991
1127
|
|
|
992
1128
|
@container starci-core-primary-rail (max-width: 32rem) {
|
|
@@ -1052,6 +1188,14 @@
|
|
|
1052
1188
|
display: none !important;
|
|
1053
1189
|
}
|
|
1054
1190
|
|
|
1191
|
+
/*
|
|
1192
|
+
* A bar with no primary destinations renders no `nav` at all, so the grid loses a track rather
|
|
1193
|
+
* than keeping an empty one: identity leads, the remaining row belongs to what is still there.
|
|
1194
|
+
*/
|
|
1195
|
+
.starci-core-navigation-feature-nav[data-grammar-navigation-feature-nav-destinations="absent"] .starci-core-navigation-feature-nav-primary {
|
|
1196
|
+
grid-template-columns: minmax(0, 1fr) auto !important;
|
|
1197
|
+
}
|
|
1198
|
+
|
|
1055
1199
|
.starci-core-navigation-feature-nav-compact-navigation {
|
|
1056
1200
|
display: block !important;
|
|
1057
1201
|
}
|
|
@@ -1149,20 +1293,35 @@
|
|
|
1149
1293
|
white-space: nowrap;
|
|
1150
1294
|
}
|
|
1151
1295
|
|
|
1296
|
+
/*
|
|
1297
|
+
* The toggle is a HeroUI `Button`, whose own fill, corner and shadow live in the vendor's
|
|
1298
|
+
* `components` layer - declared after `starci-grammar-common`, so it wins every normal
|
|
1299
|
+
* declaration here regardless of specificity. These four are the ones the utilities used to
|
|
1300
|
+
* carry, so they are the ones that have to be important.
|
|
1301
|
+
*/
|
|
1152
1302
|
.starci-core-subnav-toggle {
|
|
1153
1303
|
display: inline-flex;
|
|
1154
1304
|
width: 2.75rem;
|
|
1155
1305
|
height: 2.75rem;
|
|
1156
1306
|
align-items: center;
|
|
1157
1307
|
justify-content: center;
|
|
1158
|
-
border-radius: 0;
|
|
1159
|
-
background: transparent;
|
|
1160
|
-
box-shadow: none;
|
|
1308
|
+
border-radius: 0 !important;
|
|
1309
|
+
background: transparent !important;
|
|
1310
|
+
box-shadow: none !important;
|
|
1161
1311
|
color: inherit;
|
|
1162
1312
|
cursor: pointer;
|
|
1163
1313
|
}
|
|
1164
1314
|
|
|
1315
|
+
.starci-core-subnav-toggle:hover,
|
|
1316
|
+
.starci-core-subnav-toggle[data-hovered="true"] {
|
|
1317
|
+
background: transparent !important;
|
|
1318
|
+
}
|
|
1319
|
+
|
|
1165
1320
|
@media (min-width: 48rem) {
|
|
1321
|
+
.starci-core-navigation-feature-nav[data-grammar-navigation-feature-nav-destinations="absent"] .starci-core-navigation-feature-nav-primary {
|
|
1322
|
+
grid-template-columns: auto minmax(0, 1fr) !important;
|
|
1323
|
+
}
|
|
1324
|
+
|
|
1166
1325
|
.starci-core-navigation-feature-nav-primary {
|
|
1167
1326
|
grid-template-columns: auto minmax(0, 1fr) auto !important;
|
|
1168
1327
|
}
|
|
@@ -1302,6 +1461,176 @@
|
|
|
1302
1461
|
overscroll-behavior: contain;
|
|
1303
1462
|
}
|
|
1304
1463
|
|
|
1464
|
+
/*
|
|
1465
|
+
* Sidebar geometry is SHIPPED, not generated.
|
|
1466
|
+
*
|
|
1467
|
+
* Every rule below used to be a Tailwind utility string in the component's JSX, which means a
|
|
1468
|
+
* consumer only saw a sidebar if its own Tailwind build happened to scan
|
|
1469
|
+
* `node_modules/@starci/grammar`. One that scans only its own source got no separator, no rail
|
|
1470
|
+
* width and square items - and `rounded-large` emitted nothing anywhere, because the theme's
|
|
1471
|
+
* radius ramp is `--radius-*`, not a HeroUI v2 name. A composition object owns its layout in
|
|
1472
|
+
* this stylesheet; the JSX carries class names and state attributes only.
|
|
1473
|
+
*
|
|
1474
|
+
* `!important` appears exactly where HeroUI's own `.list-box`, `.list-box-item`,
|
|
1475
|
+
* `.list-box-section` and `.header` rules set the same property. Those live in the vendor's
|
|
1476
|
+
* `components` layer, which is declared after `starci-grammar-common` and therefore wins every
|
|
1477
|
+
* normal declaration regardless of specificity; an important declaration in the earlier layer
|
|
1478
|
+
* is the only thing that keeps the geometry the utilities used to produce.
|
|
1479
|
+
*/
|
|
1480
|
+
.starci-core-sidebar {
|
|
1481
|
+
display: flex;
|
|
1482
|
+
min-height: 0;
|
|
1483
|
+
min-width: 0;
|
|
1484
|
+
flex-direction: column;
|
|
1485
|
+
overflow: hidden;
|
|
1486
|
+
background: var(--background, var(--starci-core-canvas, Canvas));
|
|
1487
|
+
color: var(--foreground, var(--starci-core-foreground, CanvasText));
|
|
1488
|
+
}
|
|
1489
|
+
|
|
1490
|
+
.starci-core-sidebar[data-presentation="drawer"] {
|
|
1491
|
+
width: 100%;
|
|
1492
|
+
}
|
|
1493
|
+
|
|
1494
|
+
.starci-core-sidebar[data-presentation="rail"] {
|
|
1495
|
+
width: var(--starci-core-sidebar-width, 16rem);
|
|
1496
|
+
height: 100%;
|
|
1497
|
+
border-inline-end: 1px solid var(--separator, var(--starci-core-separator, GrayText));
|
|
1498
|
+
transition: width var(--starci-core-motion-duration, 180ms) var(--starci-core-motion-easing, cubic-bezier(0.2, 0, 0, 1));
|
|
1499
|
+
}
|
|
1500
|
+
|
|
1501
|
+
.starci-core-sidebar[data-presentation="rail"][data-collapsed="true"] {
|
|
1502
|
+
width: var(--starci-core-sidebar-collapsed-width, 4rem);
|
|
1503
|
+
}
|
|
1504
|
+
|
|
1505
|
+
.starci-core-sidebar-toggle {
|
|
1506
|
+
display: flex;
|
|
1507
|
+
justify-content: flex-end;
|
|
1508
|
+
padding: 0.5rem;
|
|
1509
|
+
}
|
|
1510
|
+
|
|
1511
|
+
.starci-core-sidebar[data-collapsed="true"] .starci-core-sidebar-toggle {
|
|
1512
|
+
justify-content: center;
|
|
1513
|
+
}
|
|
1514
|
+
|
|
1515
|
+
.starci-core-sidebar-header {
|
|
1516
|
+
min-width: 0;
|
|
1517
|
+
padding-inline: 0.75rem;
|
|
1518
|
+
padding-block-end: 0.75rem;
|
|
1519
|
+
}
|
|
1520
|
+
|
|
1521
|
+
.starci-core-sidebar-list {
|
|
1522
|
+
display: flex;
|
|
1523
|
+
min-height: 0;
|
|
1524
|
+
min-width: 0;
|
|
1525
|
+
flex: 1 1 0%;
|
|
1526
|
+
flex-direction: column;
|
|
1527
|
+
gap: 0.25rem;
|
|
1528
|
+
overflow-y: auto !important;
|
|
1529
|
+
padding: 0.75rem !important;
|
|
1530
|
+
}
|
|
1531
|
+
|
|
1532
|
+
.starci-core-sidebar[data-collapsed="true"] .starci-core-sidebar-list {
|
|
1533
|
+
align-items: center;
|
|
1534
|
+
padding: 0.5rem !important;
|
|
1535
|
+
}
|
|
1536
|
+
|
|
1537
|
+
.starci-core-sidebar-section {
|
|
1538
|
+
display: flex;
|
|
1539
|
+
min-width: 0;
|
|
1540
|
+
flex-direction: column;
|
|
1541
|
+
gap: 0.25rem !important;
|
|
1542
|
+
}
|
|
1543
|
+
|
|
1544
|
+
.starci-core-sidebar[data-collapsed="true"] .starci-core-sidebar-section {
|
|
1545
|
+
align-items: center !important;
|
|
1546
|
+
}
|
|
1547
|
+
|
|
1548
|
+
.starci-core-sidebar-section-label {
|
|
1549
|
+
padding-inline: 0.5rem;
|
|
1550
|
+
padding-block: 0.75rem 0.25rem !important;
|
|
1551
|
+
font-size: 0.75rem;
|
|
1552
|
+
font-weight: 500;
|
|
1553
|
+
color: var(--muted, var(--starci-core-muted, GrayText));
|
|
1554
|
+
}
|
|
1555
|
+
|
|
1556
|
+
/* A collapsed rail keeps the group name for assistive technology and drops it from the paint. */
|
|
1557
|
+
.starci-core-sidebar[data-collapsed="true"] .starci-core-sidebar-section-label {
|
|
1558
|
+
position: absolute;
|
|
1559
|
+
width: 1px !important;
|
|
1560
|
+
height: 1px;
|
|
1561
|
+
overflow: hidden;
|
|
1562
|
+
margin: -1px;
|
|
1563
|
+
padding: 0 !important;
|
|
1564
|
+
border: 0;
|
|
1565
|
+
clip: rect(0, 0, 0, 0);
|
|
1566
|
+
white-space: nowrap;
|
|
1567
|
+
}
|
|
1568
|
+
|
|
1569
|
+
.starci-core-sidebar-item {
|
|
1570
|
+
display: flex;
|
|
1571
|
+
min-width: 0;
|
|
1572
|
+
align-items: center;
|
|
1573
|
+
gap: 0.75rem;
|
|
1574
|
+
border-radius: var(--radius-xl, calc(var(--radius, 0.5rem) * 1.5)) !important;
|
|
1575
|
+
padding: 0.5rem 0.75rem !important;
|
|
1576
|
+
color: var(--foreground, var(--starci-core-foreground, CanvasText));
|
|
1577
|
+
cursor: pointer;
|
|
1578
|
+
outline: none;
|
|
1579
|
+
}
|
|
1580
|
+
|
|
1581
|
+
.starci-core-sidebar[data-collapsed="true"] .starci-core-sidebar-item {
|
|
1582
|
+
width: 2.75rem !important;
|
|
1583
|
+
height: 2.75rem;
|
|
1584
|
+
justify-content: center !important;
|
|
1585
|
+
gap: 0 !important;
|
|
1586
|
+
border-radius: var(--starci-core-pill-radius, 999px) !important;
|
|
1587
|
+
padding: 0 !important;
|
|
1588
|
+
}
|
|
1589
|
+
|
|
1590
|
+
.starci-core-sidebar-item[data-hovered="true"] {
|
|
1591
|
+
background: var(--default, var(--starci-core-surface-secondary, Canvas));
|
|
1592
|
+
}
|
|
1593
|
+
|
|
1594
|
+
.starci-core-sidebar-item[data-selected="true"] {
|
|
1595
|
+
background: var(--accent-soft, var(--starci-core-accent, Highlight)) !important;
|
|
1596
|
+
color: var(--accent-soft-foreground, var(--starci-core-accent, HighlightText));
|
|
1597
|
+
}
|
|
1598
|
+
|
|
1599
|
+
.starci-core-sidebar-item[data-focus-visible="true"] {
|
|
1600
|
+
box-shadow: 0 0 0 2px var(--accent, var(--starci-core-accent, Highlight));
|
|
1601
|
+
}
|
|
1602
|
+
|
|
1603
|
+
.starci-core-sidebar-item[data-disabled="true"] {
|
|
1604
|
+
opacity: 0.5;
|
|
1605
|
+
cursor: default;
|
|
1606
|
+
}
|
|
1607
|
+
|
|
1608
|
+
.starci-core-sidebar-item-label {
|
|
1609
|
+
min-width: 0;
|
|
1610
|
+
flex: 1 1 0%;
|
|
1611
|
+
overflow: hidden;
|
|
1612
|
+
font-size: 0.875rem;
|
|
1613
|
+
font-weight: 500;
|
|
1614
|
+
text-overflow: ellipsis;
|
|
1615
|
+
white-space: nowrap;
|
|
1616
|
+
}
|
|
1617
|
+
|
|
1618
|
+
.starci-core-sidebar-item-trailing {
|
|
1619
|
+
flex-shrink: 0;
|
|
1620
|
+
}
|
|
1621
|
+
|
|
1622
|
+
.starci-core-sidebar-footer {
|
|
1623
|
+
min-width: 0;
|
|
1624
|
+
padding: 0.75rem;
|
|
1625
|
+
padding-block-start: 0;
|
|
1626
|
+
}
|
|
1627
|
+
|
|
1628
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1629
|
+
.starci-core-sidebar[data-presentation="rail"] {
|
|
1630
|
+
transition: none;
|
|
1631
|
+
}
|
|
1632
|
+
}
|
|
1633
|
+
|
|
1305
1634
|
.starci-core-chat-workspace {
|
|
1306
1635
|
display: flex;
|
|
1307
1636
|
height: 100%;
|
|
@@ -1562,5 +1891,462 @@
|
|
|
1562
1891
|
scroll-behavior: auto;
|
|
1563
1892
|
}
|
|
1564
1893
|
}
|
|
1894
|
+
|
|
1895
|
+
/*
|
|
1896
|
+
* ============================================================================================
|
|
1897
|
+
* SHIPPED OBJECT GEOMETRY (0.4.4)
|
|
1898
|
+
* ============================================================================================
|
|
1899
|
+
*
|
|
1900
|
+
* Everything below used to be a Tailwind utility string inside a Grammar component or its
|
|
1901
|
+
* `classNames.ts`. A class only exists if the CONSUMER's Tailwind build scanned the file that
|
|
1902
|
+
* spells it, and almost nobody scans `node_modules/@starci/grammar` - so those objects arrived
|
|
1903
|
+
* in a consuming app with no box at all. The utilities are gone; the box lives here, selected
|
|
1904
|
+
* by the data attributes each component already emits.
|
|
1905
|
+
*
|
|
1906
|
+
* `!important` appears ONLY where the class lands on a HeroUI part - `Card`, `Accordion`,
|
|
1907
|
+
* `Button`, `TextField`, `Input`, `Skeleton`, `ProgressBar`, `ScrollShadow` - whose own rules
|
|
1908
|
+
* live in the vendor's `components` layer. That layer is declared AFTER `starci-grammar-common`
|
|
1909
|
+
* and therefore wins every normal declaration regardless of specificity; an important
|
|
1910
|
+
* declaration in the earlier layer is the only thing that reproduces what the utilities did.
|
|
1911
|
+
* Corners come from the theme radius ramp (`--radius-*`), never from a HeroUI v2 radius name
|
|
1912
|
+
* such as `rounded-large`, which emits nothing anywhere.
|
|
1913
|
+
*/
|
|
1914
|
+
|
|
1915
|
+
/* --- Surface card: the card, its label row and its content shell are HeroUI `Card` parts. --- */
|
|
1916
|
+
.starci-core-surface-card {
|
|
1917
|
+
display: flex !important;
|
|
1918
|
+
width: 100% !important;
|
|
1919
|
+
min-width: 0;
|
|
1920
|
+
flex-direction: column !important;
|
|
1921
|
+
gap: var(--starci-core-section-gap, 0.75rem) !important;
|
|
1922
|
+
}
|
|
1923
|
+
|
|
1924
|
+
.starci-core-surface-label {
|
|
1925
|
+
padding: 0 !important;
|
|
1926
|
+
}
|
|
1927
|
+
|
|
1928
|
+
.starci-core-surface {
|
|
1929
|
+
padding: 0 !important;
|
|
1930
|
+
}
|
|
1931
|
+
|
|
1932
|
+
.starci-core-surface-highlight {
|
|
1933
|
+
position: relative;
|
|
1934
|
+
height: 100%;
|
|
1935
|
+
}
|
|
1936
|
+
|
|
1937
|
+
/* --- Surface list --- */
|
|
1938
|
+
.starci-core-surface-fact {
|
|
1939
|
+
color: var(--muted, var(--starci-core-muted, GrayText));
|
|
1940
|
+
font-size: 0.875rem;
|
|
1941
|
+
line-height: 1.25rem;
|
|
1942
|
+
}
|
|
1943
|
+
|
|
1944
|
+
.starci-core-surface-fact[data-grammar-surface-depth="nested"] {
|
|
1945
|
+
font-size: 0.75rem;
|
|
1946
|
+
line-height: 1rem;
|
|
1947
|
+
}
|
|
1948
|
+
|
|
1949
|
+
/* --- Empty notice --- */
|
|
1950
|
+
.starci-core-empty-notice {
|
|
1951
|
+
display: flex;
|
|
1952
|
+
min-width: 0;
|
|
1953
|
+
flex-direction: column;
|
|
1954
|
+
align-items: center;
|
|
1955
|
+
gap: 0.75rem;
|
|
1956
|
+
padding: 1rem;
|
|
1957
|
+
text-align: center;
|
|
1958
|
+
}
|
|
1959
|
+
|
|
1960
|
+
/* --- Divider --- */
|
|
1961
|
+
.starci-core-divider {
|
|
1962
|
+
display: flex;
|
|
1963
|
+
min-width: 0;
|
|
1964
|
+
flex-direction: row;
|
|
1965
|
+
align-items: center;
|
|
1966
|
+
gap: 0.75rem;
|
|
1967
|
+
}
|
|
1968
|
+
|
|
1969
|
+
.starci-core-divider-rule {
|
|
1970
|
+
height: 1px;
|
|
1971
|
+
flex: 1 1 0%;
|
|
1972
|
+
background: var(--border, var(--separator, var(--starci-core-separator, GrayText)));
|
|
1973
|
+
}
|
|
1974
|
+
|
|
1975
|
+
/* --- Icon: an app-owned SVG has no intrinsic box, so usage sizing must ship. --- */
|
|
1976
|
+
.starci-core-icon {
|
|
1977
|
+
flex: none;
|
|
1978
|
+
}
|
|
1979
|
+
|
|
1980
|
+
.starci-core-icon[data-usage="heading"] {
|
|
1981
|
+
width: 1.5rem;
|
|
1982
|
+
height: 1.5rem;
|
|
1983
|
+
}
|
|
1984
|
+
|
|
1985
|
+
.starci-core-icon[data-usage="leading"] {
|
|
1986
|
+
width: 1.25rem;
|
|
1987
|
+
height: 1.25rem;
|
|
1988
|
+
}
|
|
1989
|
+
|
|
1990
|
+
.starci-core-icon[data-usage="chip"] {
|
|
1991
|
+
width: 1rem;
|
|
1992
|
+
height: 1rem;
|
|
1993
|
+
}
|
|
1994
|
+
|
|
1995
|
+
.starci-core-icon-skeleton {
|
|
1996
|
+
display: inline-block;
|
|
1997
|
+
width: 1.25rem !important;
|
|
1998
|
+
height: 1.25rem !important;
|
|
1999
|
+
flex: none;
|
|
2000
|
+
border-radius: var(--starci-core-pill-radius, 999px) !important;
|
|
2001
|
+
}
|
|
2002
|
+
|
|
2003
|
+
/* --- Icon button: a HeroUI `Button` worn as a circle. --- */
|
|
2004
|
+
.starci-core-icon-button {
|
|
2005
|
+
border-radius: var(--starci-core-pill-radius, 999px) !important;
|
|
2006
|
+
}
|
|
2007
|
+
|
|
2008
|
+
/* --- Icon tile --- */
|
|
2009
|
+
.starci-core-icon-tile {
|
|
2010
|
+
display: inline-flex;
|
|
2011
|
+
flex: none;
|
|
2012
|
+
align-items: center;
|
|
2013
|
+
justify-content: center;
|
|
2014
|
+
overflow: hidden;
|
|
2015
|
+
}
|
|
2016
|
+
|
|
2017
|
+
.starci-core-icon-tile[data-size="sm"] {
|
|
2018
|
+
width: 2rem;
|
|
2019
|
+
height: 2rem;
|
|
2020
|
+
border-radius: var(--radius-lg, var(--radius, 0.5rem));
|
|
2021
|
+
}
|
|
2022
|
+
|
|
2023
|
+
.starci-core-icon-tile[data-size="md"] {
|
|
2024
|
+
width: 2.5rem;
|
|
2025
|
+
height: 2.5rem;
|
|
2026
|
+
border-radius: var(--radius-xl, calc(var(--radius, 0.5rem) * 1.5));
|
|
2027
|
+
}
|
|
2028
|
+
|
|
2029
|
+
/* A tone pair is painted only when the plate draws its own glyph. */
|
|
2030
|
+
.starci-core-icon-tile[data-tone="neutral"][data-artwork="false"][data-loading="false"] {
|
|
2031
|
+
background: var(--default, var(--starci-core-surface-secondary, Canvas));
|
|
2032
|
+
color: var(--muted, var(--starci-core-muted, GrayText));
|
|
2033
|
+
}
|
|
2034
|
+
|
|
2035
|
+
.starci-core-icon-tile[data-tone="accent"][data-artwork="false"][data-loading="false"] {
|
|
2036
|
+
background: var(--accent-soft, var(--starci-core-accent, Highlight));
|
|
2037
|
+
color: var(--accent-soft-foreground, var(--starci-core-accent, HighlightText));
|
|
2038
|
+
}
|
|
2039
|
+
|
|
2040
|
+
.starci-core-icon-tile[data-tone="success"][data-artwork="false"][data-loading="false"] {
|
|
2041
|
+
background: var(--success-soft, var(--success, Canvas));
|
|
2042
|
+
color: var(--success-soft-foreground, var(--success-foreground, CanvasText));
|
|
2043
|
+
}
|
|
2044
|
+
|
|
2045
|
+
.starci-core-icon-tile[data-tone="warning"][data-artwork="false"][data-loading="false"] {
|
|
2046
|
+
background: var(--warning-soft, var(--warning, Canvas));
|
|
2047
|
+
color: var(--warning-soft-foreground, var(--warning-foreground, CanvasText));
|
|
2048
|
+
}
|
|
2049
|
+
|
|
2050
|
+
.starci-core-icon-tile[data-tone="danger"][data-artwork="false"][data-loading="false"] {
|
|
2051
|
+
background: var(--danger-soft, var(--danger, Canvas));
|
|
2052
|
+
color: var(--danger-soft-foreground, var(--danger-foreground, CanvasText));
|
|
2053
|
+
}
|
|
2054
|
+
|
|
2055
|
+
/* --- Progress: a HeroUI `ProgressBar`, and a resting bar of the same measure. --- */
|
|
2056
|
+
.starci-core-progress {
|
|
2057
|
+
width: 100% !important;
|
|
2058
|
+
}
|
|
2059
|
+
|
|
2060
|
+
.starci-core-progress[data-loading="true"] {
|
|
2061
|
+
display: block;
|
|
2062
|
+
height: 0.5rem !important;
|
|
2063
|
+
}
|
|
2064
|
+
|
|
2065
|
+
/*
|
|
2066
|
+
* --- Input ---
|
|
2067
|
+
*
|
|
2068
|
+
* The reveal toggle sits on top of the control, so the field RESERVES room for it rather than
|
|
2069
|
+
* letting the value slide underneath. That inset used to be spelled `pr-9`, a utility no app in
|
|
2070
|
+
* this repository writes, so it was generated nowhere and the toggle overlapped the text at
|
|
2071
|
+
* every width.
|
|
2072
|
+
*/
|
|
2073
|
+
.starci-core-input {
|
|
2074
|
+
display: grid !important;
|
|
2075
|
+
min-width: 0;
|
|
2076
|
+
gap: 0.5rem !important;
|
|
2077
|
+
}
|
|
2078
|
+
|
|
2079
|
+
.starci-core-input-control {
|
|
2080
|
+
position: relative;
|
|
2081
|
+
display: flex;
|
|
2082
|
+
min-width: 0;
|
|
2083
|
+
align-items: center;
|
|
2084
|
+
}
|
|
2085
|
+
|
|
2086
|
+
.starci-core-input-control[data-reveal="true"] .starci-core-input-field {
|
|
2087
|
+
padding-inline-end: 2.75rem !important;
|
|
2088
|
+
}
|
|
2089
|
+
|
|
2090
|
+
.starci-core-input-reveal {
|
|
2091
|
+
position: absolute;
|
|
2092
|
+
inset-inline-end: 0.5rem;
|
|
2093
|
+
top: 50%;
|
|
2094
|
+
display: inline-flex;
|
|
2095
|
+
align-items: center;
|
|
2096
|
+
justify-content: center;
|
|
2097
|
+
transform: translateY(-50%);
|
|
2098
|
+
border: 0;
|
|
2099
|
+
background: transparent;
|
|
2100
|
+
color: var(--muted, var(--starci-core-muted, GrayText));
|
|
2101
|
+
cursor: pointer;
|
|
2102
|
+
}
|
|
2103
|
+
|
|
2104
|
+
.starci-core-input-reveal:disabled {
|
|
2105
|
+
cursor: default;
|
|
2106
|
+
}
|
|
2107
|
+
|
|
2108
|
+
.starci-core-input-reveal :where(svg),
|
|
2109
|
+
.starci-core-input-reveal-icon {
|
|
2110
|
+
width: 1rem;
|
|
2111
|
+
height: 1rem;
|
|
2112
|
+
}
|
|
2113
|
+
|
|
2114
|
+
.starci-core-input-reveal-label {
|
|
2115
|
+
font-size: 0.75rem;
|
|
2116
|
+
}
|
|
2117
|
+
|
|
2118
|
+
.starci-core-input-resting-label {
|
|
2119
|
+
width: 33.333333% !important;
|
|
2120
|
+
height: 1rem !important;
|
|
2121
|
+
border-radius: var(--radius-md, calc(var(--radius, 0.5rem) * 0.75)) !important;
|
|
2122
|
+
}
|
|
2123
|
+
|
|
2124
|
+
.starci-core-input-resting-control {
|
|
2125
|
+
width: 100% !important;
|
|
2126
|
+
height: 2.5rem !important;
|
|
2127
|
+
border-radius: var(--field-radius, calc(var(--radius, 0.5rem) * 1.5)) !important;
|
|
2128
|
+
}
|
|
2129
|
+
|
|
2130
|
+
/* --- Text: one resolved line of copy, drawn from the attributes it already emits. --- */
|
|
2131
|
+
.starci-core-text {
|
|
2132
|
+
color: var(--foreground, var(--starci-core-foreground, CanvasText));
|
|
2133
|
+
font-size: 1rem;
|
|
2134
|
+
font-weight: 400;
|
|
2135
|
+
line-height: 1.5rem;
|
|
2136
|
+
}
|
|
2137
|
+
|
|
2138
|
+
.starci-core-text[data-size="xs"] {
|
|
2139
|
+
font-size: 0.75rem;
|
|
2140
|
+
line-height: 1rem;
|
|
2141
|
+
}
|
|
2142
|
+
|
|
2143
|
+
.starci-core-text[data-size="sm"] {
|
|
2144
|
+
font-size: 0.875rem;
|
|
2145
|
+
line-height: 1.25rem;
|
|
2146
|
+
}
|
|
2147
|
+
|
|
2148
|
+
.starci-core-text[data-size="metric-lead"] {
|
|
2149
|
+
font-size: 1.875rem;
|
|
2150
|
+
line-height: 2.25rem;
|
|
2151
|
+
}
|
|
2152
|
+
|
|
2153
|
+
.starci-core-text[data-tone="muted"] {
|
|
2154
|
+
color: var(--muted, var(--starci-core-muted, GrayText));
|
|
2155
|
+
}
|
|
2156
|
+
|
|
2157
|
+
.starci-core-text[data-tone="accent"] {
|
|
2158
|
+
color: var(--accent-soft-foreground, var(--starci-core-accent, HighlightText));
|
|
2159
|
+
}
|
|
2160
|
+
|
|
2161
|
+
.starci-core-text[data-weight="medium"] { font-weight: 500; }
|
|
2162
|
+
.starci-core-text[data-weight="semibold"] { font-weight: 600; }
|
|
2163
|
+
|
|
2164
|
+
.starci-core-text[data-start-content="true"] {
|
|
2165
|
+
display: inline-flex;
|
|
2166
|
+
align-items: center;
|
|
2167
|
+
gap: 0.5rem;
|
|
2168
|
+
}
|
|
2169
|
+
|
|
2170
|
+
.starci-core-text[data-superseded="true"] {
|
|
2171
|
+
text-decoration-line: line-through;
|
|
2172
|
+
}
|
|
2173
|
+
|
|
2174
|
+
:where(.group)[data-selected="true"] .starci-core-text[data-parent-emphasis="accent-soft"] {
|
|
2175
|
+
color: var(--accent-soft-foreground, var(--starci-core-accent, HighlightText));
|
|
2176
|
+
}
|
|
2177
|
+
|
|
2178
|
+
/* Authored overflow behaviour: wrap is the resting answer, the other two are opted into. */
|
|
2179
|
+
.starci-core-text[data-overflow="wrap"] {
|
|
2180
|
+
overflow-wrap: anywhere;
|
|
2181
|
+
word-break: break-word;
|
|
2182
|
+
}
|
|
2183
|
+
|
|
2184
|
+
.starci-core-text[data-overflow="truncate"] {
|
|
2185
|
+
display: block;
|
|
2186
|
+
min-width: 0;
|
|
2187
|
+
overflow: hidden;
|
|
2188
|
+
text-overflow: ellipsis;
|
|
2189
|
+
white-space: nowrap;
|
|
2190
|
+
}
|
|
2191
|
+
|
|
2192
|
+
.starci-core-text[data-overflow="clamp-2"] {
|
|
2193
|
+
display: -webkit-box;
|
|
2194
|
+
overflow: hidden;
|
|
2195
|
+
-webkit-box-orient: vertical;
|
|
2196
|
+
-webkit-line-clamp: 2;
|
|
2197
|
+
line-clamp: 2;
|
|
2198
|
+
}
|
|
2199
|
+
|
|
2200
|
+
/* The resting line keeps its size geometry and hides its copy; no tone is visible to claim. */
|
|
2201
|
+
.starci-core-text[data-loading="true"] {
|
|
2202
|
+
display: inline-block;
|
|
2203
|
+
max-width: 100%;
|
|
2204
|
+
border-radius: var(--radius, 0.25rem);
|
|
2205
|
+
color: transparent;
|
|
2206
|
+
user-select: none;
|
|
2207
|
+
}
|
|
2208
|
+
|
|
2209
|
+
.starci-core-text[data-loading="true"][data-size="xs"] { width: 2.5rem; }
|
|
2210
|
+
.starci-core-text[data-loading="true"][data-size="sm"] { width: 3rem; }
|
|
2211
|
+
.starci-core-text[data-loading="true"][data-size="md"] { width: 10rem; }
|
|
2212
|
+
.starci-core-text[data-loading="true"][data-size="metric-lead"] { width: 10rem; }
|
|
2213
|
+
|
|
2214
|
+
/* --- Text action: one recipe, eight appearances, selected by data attributes. --- */
|
|
2215
|
+
.starci-core-text-action {
|
|
2216
|
+
display: inline-flex;
|
|
2217
|
+
width: fit-content;
|
|
2218
|
+
min-width: 0;
|
|
2219
|
+
flex: none;
|
|
2220
|
+
align-items: center;
|
|
2221
|
+
gap: 0.5rem;
|
|
2222
|
+
outline: none;
|
|
2223
|
+
text-underline-offset: 4px;
|
|
2224
|
+
}
|
|
2225
|
+
|
|
2226
|
+
.starci-core-text-action:disabled {
|
|
2227
|
+
opacity: 0.5;
|
|
2228
|
+
cursor: default;
|
|
2229
|
+
}
|
|
2230
|
+
|
|
2231
|
+
.starci-core-text-action[data-size="xs"] { font-size: 0.75rem; line-height: 1rem; }
|
|
2232
|
+
.starci-core-text-action[data-size="sm"] { font-size: 0.875rem; line-height: 1.25rem; }
|
|
2233
|
+
.starci-core-text-action[data-size="md"] { font-size: 1rem; line-height: 1.5rem; }
|
|
2234
|
+
|
|
2235
|
+
.starci-core-text-action[data-appearance="inline"] {
|
|
2236
|
+
color: var(--foreground, var(--starci-core-foreground, CanvasText));
|
|
2237
|
+
font-weight: 500;
|
|
2238
|
+
}
|
|
2239
|
+
|
|
2240
|
+
.starci-core-text-action[data-appearance="muted"] {
|
|
2241
|
+
color: var(--muted, var(--starci-core-muted, GrayText));
|
|
2242
|
+
font-weight: 500;
|
|
2243
|
+
}
|
|
2244
|
+
|
|
2245
|
+
.starci-core-text-action[data-appearance="inline"]:hover,
|
|
2246
|
+
.starci-core-text-action[data-appearance="inline"]:focus-visible,
|
|
2247
|
+
.starci-core-text-action[data-appearance="muted"]:hover,
|
|
2248
|
+
.starci-core-text-action[data-appearance="muted"]:focus-visible,
|
|
2249
|
+
.starci-core-text-action[data-appearance="disclosure"]:hover,
|
|
2250
|
+
.starci-core-text-action[data-appearance="disclosure"]:focus-visible {
|
|
2251
|
+
text-decoration-line: underline;
|
|
2252
|
+
}
|
|
2253
|
+
|
|
2254
|
+
.starci-core-text-action[data-appearance="choice"] {
|
|
2255
|
+
border-radius: var(--starci-core-pill-radius, 999px);
|
|
2256
|
+
padding: 0.25rem 0.5rem;
|
|
2257
|
+
color: var(--foreground, var(--starci-core-foreground, CanvasText));
|
|
2258
|
+
font-weight: 500;
|
|
2259
|
+
}
|
|
2260
|
+
|
|
2261
|
+
.starci-core-text-action[data-appearance="route"] {
|
|
2262
|
+
border-radius: var(--starci-core-pill-radius, 999px);
|
|
2263
|
+
padding: 0.5rem 0.75rem;
|
|
2264
|
+
color: var(--muted, var(--starci-core-muted, GrayText));
|
|
2265
|
+
}
|
|
2266
|
+
|
|
2267
|
+
.starci-core-text-action[data-appearance="section"] {
|
|
2268
|
+
border-radius: var(--radius-xl, calc(var(--radius, 0.5rem) * 1.5));
|
|
2269
|
+
padding: 0.5rem 0.75rem;
|
|
2270
|
+
color: var(--foreground, var(--starci-core-foreground, CanvasText));
|
|
2271
|
+
}
|
|
2272
|
+
|
|
2273
|
+
.starci-core-text-action[data-appearance="section"]:hover,
|
|
2274
|
+
.starci-core-text-action[data-appearance="section"]:focus-visible {
|
|
2275
|
+
background: var(--default, var(--starci-core-surface-secondary, Canvas));
|
|
2276
|
+
}
|
|
2277
|
+
|
|
2278
|
+
.starci-core-text-action[data-appearance="tab"] {
|
|
2279
|
+
border-block-end: 2px solid transparent;
|
|
2280
|
+
padding-block: 0.75rem;
|
|
2281
|
+
color: var(--muted, var(--starci-core-muted, GrayText));
|
|
2282
|
+
}
|
|
2283
|
+
|
|
2284
|
+
.starci-core-text-action[data-appearance="tab"][data-current="true"] {
|
|
2285
|
+
border-block-end-color: var(--accent, var(--starci-core-accent, Highlight));
|
|
2286
|
+
color: var(--accent, var(--starci-core-accent, Highlight));
|
|
2287
|
+
font-weight: 600;
|
|
2288
|
+
}
|
|
2289
|
+
|
|
2290
|
+
.starci-core-text-action[data-appearance="choice"][data-current="true"],
|
|
2291
|
+
.starci-core-text-action[data-appearance="route"][data-current="true"],
|
|
2292
|
+
.starci-core-text-action[data-appearance="section"][data-current="true"] {
|
|
2293
|
+
background: var(--accent-soft, var(--starci-core-accent, Highlight));
|
|
2294
|
+
color: var(--accent-soft-foreground, var(--starci-core-accent, HighlightText));
|
|
2295
|
+
}
|
|
2296
|
+
|
|
2297
|
+
.starci-core-text-action[data-appearance="route"][data-current="true"],
|
|
2298
|
+
.starci-core-text-action[data-appearance="section"][data-current="true"] {
|
|
2299
|
+
font-weight: 600;
|
|
2300
|
+
}
|
|
2301
|
+
|
|
2302
|
+
.starci-core-text-action[data-appearance="disclosure"] {
|
|
2303
|
+
color: var(--accent-soft-foreground, var(--starci-core-accent, HighlightText));
|
|
2304
|
+
font-weight: 600;
|
|
2305
|
+
}
|
|
2306
|
+
|
|
2307
|
+
.starci-core-text-action[data-appearance="plain"] {
|
|
2308
|
+
color: var(--foreground, var(--starci-core-foreground, CanvasText));
|
|
2309
|
+
text-decoration-line: none;
|
|
2310
|
+
}
|
|
2311
|
+
|
|
2312
|
+
.starci-core-text-action-resting {
|
|
2313
|
+
display: inline-flex;
|
|
2314
|
+
width: 4rem;
|
|
2315
|
+
flex: none;
|
|
2316
|
+
color: transparent;
|
|
2317
|
+
user-select: none;
|
|
2318
|
+
}
|
|
2319
|
+
|
|
2320
|
+
/*
|
|
2321
|
+
* --- Button: full width ---
|
|
2322
|
+
*
|
|
2323
|
+
* A full-width action stretches to its parent and lets its label wrap onto a second line rather
|
|
2324
|
+
* than overflow, so the vendor's fixed control height is released to the content.
|
|
2325
|
+
*/
|
|
2326
|
+
.starci-core-button[data-width="fill"] {
|
|
2327
|
+
width: 100% !important;
|
|
2328
|
+
max-width: 100% !important;
|
|
2329
|
+
height: auto !important;
|
|
2330
|
+
min-height: var(--starci-core-control-min-size, 2.75rem);
|
|
2331
|
+
white-space: normal !important;
|
|
2332
|
+
}
|
|
2333
|
+
|
|
2334
|
+
/* --- Chat workspace: the compact rail trigger's resting paint. --- */
|
|
2335
|
+
.starci-core-chat-workspace-rail-trigger {
|
|
2336
|
+
box-shadow: 0 1px 2px 0 color-mix(in srgb, CanvasText 8%, transparent);
|
|
2337
|
+
outline: none;
|
|
2338
|
+
transition: background-color var(--starci-core-motion-duration, 180ms) var(--starci-core-motion-easing, cubic-bezier(0.2, 0, 0, 1));
|
|
2339
|
+
}
|
|
2340
|
+
|
|
2341
|
+
.starci-core-chat-workspace-rail-trigger:hover {
|
|
2342
|
+
background: var(--default, var(--starci-core-surface-secondary, Canvas));
|
|
2343
|
+
}
|
|
2344
|
+
|
|
2345
|
+
@media (prefers-reduced-motion: reduce) {
|
|
2346
|
+
.starci-core-chat-workspace-rail-trigger {
|
|
2347
|
+
transition: none;
|
|
2348
|
+
}
|
|
2349
|
+
}
|
|
2350
|
+
|
|
1565
2351
|
}
|
|
1566
2352
|
|