@scattered-light/loomiere-mojave 0.7.1 → 0.9.0
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/exports/AGENTS.md +8 -5
- package/dist/exports/catalog.json +10 -0
- package/dist/exports/design-system/README.md +8 -5
- package/dist/exports/design-system/components/AppBar/README.md +58 -0
- package/dist/exports/design-system/components/AppBar/preview.html +19 -0
- package/dist/exports/design-system/components/ContextMenu/README.md +1 -1
- package/dist/exports/design-system/components/ContextMenu/preview.html +1 -1
- package/dist/exports/design-system/components/DataList/README.md +1 -1
- package/dist/exports/design-system/components/DataList/preview.html +1 -1
- package/dist/exports/design-system/components/DataTable/README.md +1 -1
- package/dist/exports/design-system/components/DataTable/preview.html +38 -38
- package/dist/exports/design-system/components/DescriptionList/README.md +41 -0
- package/dist/exports/design-system/components/DescriptionList/preview.html +19 -0
- package/dist/exports/design-system/components/Drawer/README.md +1 -1
- package/dist/exports/design-system/components/PickerButton/README.md +56 -0
- package/dist/exports/design-system/components/PickerButton/preview.html +19 -0
- package/dist/exports/design-system/components/ScrollArea/preview.html +2 -2
- package/dist/exports/design-system/components/Sheet/README.md +46 -0
- package/dist/exports/design-system/components/Sheet/preview.html +19 -0
- package/dist/exports/design-system/components/StatFigure/README.md +38 -0
- package/dist/exports/design-system/components/StatFigure/preview.html +19 -0
- package/dist/exports/design-system/components/Table/README.md +2 -2
- package/dist/exports/design-system/components/Table/preview.html +2 -2
- package/dist/exports/design-system/components/ToggleGroup/README.md +2 -2
- package/dist/exports/design-system/components/ToggleGroup/preview.html +1 -1
- package/dist/exports/design-system/components/bundle.css +743 -85
- package/dist/exports/design-system/components/bundle.js +7 -7
- package/dist/exports/design-system/components/index.d.ts +1 -1
- package/dist/exports/design-system/tokens.json +35 -0
- package/dist/exports/figma.json +1 -1
- package/dist/exports/tailwind.css +105 -0
- package/dist/exports/tokens.dtcg.json +383 -26
- package/dist/tokens.css +182 -29
- package/dist/tokens.d.ts +98 -0
- package/dist/tokens.js +99 -1
- package/dist/tokens.json +707 -27
- package/dist/utilities.css +30 -0
- package/package.json +2 -2
|
@@ -94,6 +94,7 @@
|
|
|
94
94
|
--sl-letter-spacing-normal: 0; /** Body text. */
|
|
95
95
|
--sl-letter-spacing-wide: 0.025em; /** Small text that needs air. */
|
|
96
96
|
--sl-letter-spacing-wider: 0.05em; /** Small caps and labels. */
|
|
97
|
+
--sl-letter-spacing-caps: 0.08em; /** Uppercase labels that sit beside figures, such as a column head or a working-paper caption. Between wider and widest. */
|
|
97
98
|
--sl-letter-spacing-widest: 0.1em; /** Uppercase group labels. */
|
|
98
99
|
--sl-font-family-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; /** Platform UI font. Fallback when a brand typeface is unavailable. */
|
|
99
100
|
--sl-font-family-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif; /** Platform serif stack. */
|
|
@@ -764,8 +765,12 @@
|
|
|
764
765
|
--sl-popup-scale-closed: 0.95; /** Popups grow from just under full size as they open, so they seem to come from the trigger. */
|
|
765
766
|
--sl-popup-list-max-height: 300px; /** A long list scrolls inside the popup after about seven rows. */
|
|
766
767
|
--sl-popup-min-width: 200px; /** Narrowest a free-floating popup or menu gets, so short labels don't make a sliver. */
|
|
768
|
+
--sl-rule-width: 0px; /** Thickness of the top rule. 0 turns it off and leaves every top edge as it was. Point it at a stroke step (stroke.medium or stroke.thick) to turn it on. */
|
|
767
769
|
--sl-color-scheme: light; /** Which way native browser parts (scrollbars, date pickers, autofill) draw: light, or dark wherever the dark theme is on. Set as color-scheme on the root and handed to AG Grid's browserColorScheme, so they follow data-theme as well as the system setting. */
|
|
770
|
+
--sl-font-figures-base-font-variant-numeric: tabular-nums; /** font-variant-numeric of font.figures-base. */
|
|
771
|
+
--sl-font-figures-condense-font-variant-numeric: tabular-nums; /** font-variant-numeric of font.figures-condense. */
|
|
768
772
|
--sl-font-eyebrow-condense-text-transform: uppercase; /** text-transform of font.eyebrow-condense. */
|
|
773
|
+
--sl-font-caps-condense-text-transform: uppercase; /** text-transform of font.caps-condense. */
|
|
769
774
|
--sl-font-eyebrow-minimize-text-transform: uppercase; /** text-transform of font.eyebrow-minimize. */
|
|
770
775
|
--sl-emphasis-standard-bg: transparent; /** standard in default: outline in accent (primary) */
|
|
771
776
|
--sl-emphasis-quiet-bg: transparent; /** quiet in default: outline in chrome (neutral) */
|
|
@@ -780,6 +785,7 @@
|
|
|
780
785
|
--sl-status-level-error-standard-bg: transparent; /** standard in error: outline in error */
|
|
781
786
|
--sl-status-level-error-quiet-bg: transparent; /** quiet in error: outline in error */
|
|
782
787
|
--sl-button-opacity-disabled: 0.5; /** A disabled button fades as a whole, keeping its shape so the layout doesn't jump. */
|
|
788
|
+
--sl-description-list-label-width: minmax(8rem, 1fr); /** The label column in the default variant. The value column takes twice the room. */
|
|
783
789
|
--sl-drawer-popup-size: min(420px, 90vw); /** Width of a side drawer. A bottom or top drawer sizes to its content up to max-size. */
|
|
784
790
|
--sl-drawer-popup-max-size: 85vh; /** Tallest a bottom or top drawer gets, leaving the page visible above it. */
|
|
785
791
|
--sl-list-detail-split-min-width: 720px; /** Side by side once this element, not the window, is this wide. Dryden used 1100px of the window. A container needs less: a list around 320px and a form around 400px still read at 720px. Narrower, the detail becomes a drawer or a page. */
|
|
@@ -788,6 +794,7 @@
|
|
|
788
794
|
--sl-list-detail-detail-max-size: 65%; /** The detail cannot cover more than this, so the list stays usable. Dryden kept the detail between 35% and 65%. */
|
|
789
795
|
--sl-navigation-menu-popup-min-width: 400px; /** Narrowest a navigation panel gets on wider screens, and the widest a single column of links grows. */
|
|
790
796
|
--sl-navigation-menu-column-width: 12rem; /** Width of each column in a two-column link list. */
|
|
797
|
+
--sl-picker-button-max-width: 18rem; /** Widest the button grows. A longer choice is cut with an ellipsis; the label never is. */
|
|
791
798
|
--sl-preview-card-popup-min-width: 300px; /** Narrowest a preview card gets, so a short title still has room for its image. */
|
|
792
799
|
--sl-preview-card-popup-max-width: 450px; /** Widest a preview card gets, so its description keeps a comfortable line length. */
|
|
793
800
|
--sl-slider-vertical-height: 200px; /** Default length of a vertical slider. */
|
|
@@ -1444,7 +1451,6 @@
|
|
|
1444
1451
|
--sl-vision-achromatopsia-color-data-19: var(--sl-vision-achromatopsia-color-data-chartreuse); /** Data series 19: chartreuse. Categorical; use in order. */
|
|
1445
1452
|
--sl-vision-achromatopsia-color-data-20: var(--sl-vision-achromatopsia-color-data-ivory); /** Data series 20: ivory. Categorical; use in order. */
|
|
1446
1453
|
--sl-focus-ring-width: var(--sl-a11y-focus-outline-width); /** Alias for the focus outline width, kept for components that style rings with box-shadow. */
|
|
1447
|
-
--sl-focus-outline: var(--sl-a11y-focus-outline-width) solid var(--sl-focus-ring); /** The one keyboard focus ring. Every control uses it, outside or inset. */
|
|
1448
1454
|
--sl-focus-outline-offset: var(--sl-a11y-focus-outline-offset); /** Outside ring: a gap between the control and the ring so it never blends into the control border. The default. */
|
|
1449
1455
|
--sl-focus-outline-offset-inset: calc(-1 * var(--sl-a11y-focus-outline-width)); /** Inset ring: drawn just inside the control's edge, for controls packed into a container (menus, tab lists, steppers) where an outside ring would be clipped or overlap a neighbor. */
|
|
1450
1456
|
--sl-focus-halo-spread: calc(var(--sl-a11y-focus-outline-offset) + var(--sl-a11y-focus-outline-width) + 2px); /** A soft glow just outside the focus ring: the gap, the ring, then 2px of tint. The ring carries the contrast (WCAG 1.4.11), so the glow can stay pale. */
|
|
@@ -1549,6 +1555,7 @@
|
|
|
1549
1555
|
--sl-spacing-stack-md: var(--sl-space-6);
|
|
1550
1556
|
--sl-spacing-stack-sm: var(--sl-space-4);
|
|
1551
1557
|
--sl-spacing-stack-xs: var(--sl-space-2);
|
|
1558
|
+
--sl-table-grand-total-rule-width: var(--sl-stroke-thick); /** The double line under a grand total row (tr data-total="grand"). It is drawn as a CSS double border, which needs at least 3px to show two strokes. */
|
|
1552
1559
|
--sl-font-body-base-font-family: var(--sl-font-family-body); /** font-family of font.body-base. */
|
|
1553
1560
|
--sl-font-body-base-font-size: var(--sl-font-size-md); /** font-size of font.body-base. */
|
|
1554
1561
|
--sl-font-body-base-font-weight: var(--sl-font-weight-normal); /** font-weight of font.body-base. */
|
|
@@ -1584,11 +1591,21 @@
|
|
|
1584
1591
|
--sl-font-title-base-font-weight: var(--sl-font-weight-semibold); /** font-weight of font.title-base. */
|
|
1585
1592
|
--sl-font-title-base-line-height: var(--sl-line-height-md); /** line-height of font.title-base. */
|
|
1586
1593
|
--sl-font-title-base-letter-spacing: var(--sl-letter-spacing-normal); /** letter-spacing of font.title-base. */
|
|
1594
|
+
--sl-font-figures-base-font-family: var(--sl-font-family-mono); /** font-family of font.figures-base. */
|
|
1595
|
+
--sl-font-figures-base-font-size: var(--sl-font-size-md); /** font-size of font.figures-base. */
|
|
1596
|
+
--sl-font-figures-base-font-weight: var(--sl-font-weight-normal); /** font-weight of font.figures-base. */
|
|
1597
|
+
--sl-font-figures-base-line-height: var(--sl-line-height-md); /** line-height of font.figures-base. */
|
|
1598
|
+
--sl-font-figures-base-letter-spacing: var(--sl-letter-spacing-normal); /** letter-spacing of font.figures-base. */
|
|
1587
1599
|
--sl-font-code-condense-font-family: var(--sl-font-family-mono); /** font-family of font.code-condense. */
|
|
1588
1600
|
--sl-font-code-condense-font-size: var(--sl-font-size-sm); /** font-size of font.code-condense. */
|
|
1589
1601
|
--sl-font-code-condense-font-weight: var(--sl-font-weight-normal); /** font-weight of font.code-condense. */
|
|
1590
1602
|
--sl-font-code-condense-line-height: var(--sl-line-height-sm); /** line-height of font.code-condense. */
|
|
1591
1603
|
--sl-font-code-condense-letter-spacing: var(--sl-letter-spacing-normal); /** letter-spacing of font.code-condense. */
|
|
1604
|
+
--sl-font-figures-condense-font-family: var(--sl-font-family-mono); /** font-family of font.figures-condense. */
|
|
1605
|
+
--sl-font-figures-condense-font-size: var(--sl-font-size-sm); /** font-size of font.figures-condense. */
|
|
1606
|
+
--sl-font-figures-condense-font-weight: var(--sl-font-weight-normal); /** font-weight of font.figures-condense. */
|
|
1607
|
+
--sl-font-figures-condense-line-height: var(--sl-line-height-sm); /** line-height of font.figures-condense. */
|
|
1608
|
+
--sl-font-figures-condense-letter-spacing: var(--sl-letter-spacing-normal); /** letter-spacing of font.figures-condense. */
|
|
1592
1609
|
--sl-font-body-condense-font-family: var(--sl-font-family-body); /** font-family of font.body-condense. */
|
|
1593
1610
|
--sl-font-body-condense-font-size: var(--sl-font-size-sm); /** font-size of font.body-condense. */
|
|
1594
1611
|
--sl-font-body-condense-font-weight: var(--sl-font-weight-normal); /** font-weight of font.body-condense. */
|
|
@@ -1619,6 +1636,11 @@
|
|
|
1619
1636
|
--sl-font-eyebrow-condense-font-weight: var(--sl-font-weight-semibold); /** font-weight of font.eyebrow-condense. */
|
|
1620
1637
|
--sl-font-eyebrow-condense-line-height: var(--sl-line-height-sm); /** line-height of font.eyebrow-condense. */
|
|
1621
1638
|
--sl-font-eyebrow-condense-letter-spacing: var(--sl-letter-spacing-wider); /** letter-spacing of font.eyebrow-condense. */
|
|
1639
|
+
--sl-font-caps-condense-font-family: var(--sl-font-family-body); /** font-family of font.caps-condense. */
|
|
1640
|
+
--sl-font-caps-condense-font-size: var(--sl-font-size-sm); /** font-size of font.caps-condense. */
|
|
1641
|
+
--sl-font-caps-condense-font-weight: var(--sl-font-weight-semibold); /** font-weight of font.caps-condense. */
|
|
1642
|
+
--sl-font-caps-condense-line-height: var(--sl-line-height-sm); /** line-height of font.caps-condense. */
|
|
1643
|
+
--sl-font-caps-condense-letter-spacing: var(--sl-letter-spacing-caps); /** letter-spacing of font.caps-condense. */
|
|
1622
1644
|
--sl-font-title-condense-font-family: var(--sl-font-family-display); /** font-family of font.title-condense. */
|
|
1623
1645
|
--sl-font-title-condense-font-size: var(--sl-font-size-sm); /** font-size of font.title-condense. */
|
|
1624
1646
|
--sl-font-title-condense-font-weight: var(--sl-font-weight-semibold); /** font-weight of font.title-condense. */
|
|
@@ -1826,6 +1848,10 @@
|
|
|
1826
1848
|
--sl-scope-info-signal: var(--sl-color-info-500); /** info signal: 500 in light, 400 in dark */
|
|
1827
1849
|
--sl-scope-info-focus: var(--sl-color-info-500); /** info focus: 500 in light, 400 in dark */
|
|
1828
1850
|
--sl-scope-chrome-fg: var(--sl-color-primary-1000); /** chrome fg, picked in the brand file (roles.concepts). */
|
|
1851
|
+
--sl-app-bar-height: var(--sl-space-16); /** Least height of the bar. It grows if its contents wrap. */
|
|
1852
|
+
--sl-app-bar-padding-inline: var(--sl-space-6); /** Space at the bar's start and end. */
|
|
1853
|
+
--sl-app-bar-gap: var(--sl-space-2-5); /** Space between the things in the bar. */
|
|
1854
|
+
--sl-app-bar-divider-height: var(--sl-space-6); /** Height of a vertical Separator between groups of actions in the bar. */
|
|
1829
1855
|
--sl-avatar-size-xs: var(--sl-space-8); /** 32px, inline with text and in dense lists. */
|
|
1830
1856
|
--sl-avatar-size-sm: var(--sl-space-10); /** 40px, in list rows and comments. */
|
|
1831
1857
|
--sl-avatar-size-md: var(--sl-space-12); /** 48px, the default. */
|
|
@@ -1856,6 +1882,10 @@
|
|
|
1856
1882
|
--sl-collection-narrow-width: var(--sl-space-96); /** Below this, a table with narrow="list" becomes a list, and the toolbar's search takes the full width. A 360px pane is under it. */
|
|
1857
1883
|
--sl-collection-editable-list-stack-width: var(--sl-space-80); /** Below this, editable rows stack and show their own labels. 320px matches. */
|
|
1858
1884
|
--sl-collection-selection-column-width: var(--sl-space-10); /** The checkbox column. Wide enough for the control, no wider, so the data keeps the room. */
|
|
1885
|
+
--sl-description-list-row-padding-block: var(--sl-space-2); /** Space above and below each pair. */
|
|
1886
|
+
--sl-description-list-row-padding-inline: var(--sl-space-4); /** Space either side of each pair, so pairs inside a sheet line up with its tab label. */
|
|
1887
|
+
--sl-description-list-column-gap: var(--sl-space-4); /** Space between the label column and the value column in the default variant. */
|
|
1888
|
+
--sl-description-list-leader-gap: var(--sl-space-1-5); /** Space between the leader and the label or value either side of it. */
|
|
1859
1889
|
--sl-drawer-handle-width: var(--sl-space-10); /** Grab bar length. */
|
|
1860
1890
|
--sl-drawer-handle-height: var(--sl-space-1); /** Grab bar thickness. */
|
|
1861
1891
|
--sl-list-detail-header-gap: var(--sl-space-3); /** Space between the title, the actions and Close. */
|
|
@@ -1863,9 +1893,22 @@
|
|
|
1863
1893
|
--sl-money-field-picker-min-inline-size: var(--sl-space-56); /** The currency list shows a code, a name and a symbol, so the popup is wider than the code trigger inside the field. */
|
|
1864
1894
|
--sl-popover-text-max-width: var(--sl-measure-narrow); /** Keeps the title and description to a readable line length. The popup itself has no fixed cap, so wider content such as a calendar or a form fits; it stops at the space Base UI reports beside the trigger. */
|
|
1865
1895
|
--sl-popover-popup-min-width: var(--sl-popup-min-width); /** Narrow enough for a short note, wide enough that a title doesn't wrap word by word. */
|
|
1896
|
+
--sl-sheet-rule-width: var(--sl-stroke-medium); /** The top rule. A sheet always has one, so it is its own token rather than rule.width (which is 0 until a brand turns it on for tables and drawers). */
|
|
1897
|
+
--sl-sheet-padding: var(--sl-space-4); /** Space inside a sheet with inset set. Without it, rows and tables inside run edge to edge. */
|
|
1898
|
+
--sl-sheet-tab-height: var(--sl-space-7); /** Height of the tab label. */
|
|
1899
|
+
--sl-sheet-tab-padding-inline: var(--sl-space-3-5); /** Space either side of the tab label's text. */
|
|
1900
|
+
--sl-sheet-tab-radius: var(--sl-radius-sm); /** The tab label's top corners. Its bottom corners stay square where it meets the rule. */
|
|
1901
|
+
--sl-sheet-header-gap: var(--sl-space-3); /** Space between the tab label and an action at the end of the header row, such as an Edit link. */
|
|
1866
1902
|
--sl-slider-thumb-size: var(--sl-space-5); /** Knob diameter, big enough to grab with a finger on a 4px track. */
|
|
1867
1903
|
--sl-splitter-handle-hit-size: var(--sl-a11y-min-touch-target); /** The part a finger grabs. The line stays one stroke. A fine pointer uses a11y.min-target (24px) instead, so the grab area does not cover the panel's scrollbar. Coarse pointers keep this 44px. */
|
|
1868
1904
|
--sl-splitter-grip-size: var(--sl-space-1); /** 4px. The diameter of one grip dot. Small enough to sit on the hairline without becoming a second control. */
|
|
1905
|
+
--sl-stat-figure-figure-font-size: var(--sl-font-size-4xl); /** Size of the figure. Large enough to lead the page, a step under the page title. */
|
|
1906
|
+
--sl-stat-figure-figure-font-size-sm: var(--sl-font-size-2xl); /** Size of the figure at size="sm", for a row of figures in a card or a sheet header. */
|
|
1907
|
+
--sl-stat-figure-figure-line-height: var(--sl-line-height-4xl); /** Line height paired with figure-font-size. */
|
|
1908
|
+
--sl-stat-figure-figure-line-height-sm: var(--sl-line-height-2xl); /** Line height paired with figure-font-size-sm. */
|
|
1909
|
+
--sl-stat-figure-figure-font-weight: var(--sl-font-weight-semibold); /** Weight of the figure. */
|
|
1910
|
+
--sl-stat-figure-underline-width: var(--sl-stroke-thick); /** The double underline at underline="double", the accountant's mark for a final total. A CSS double border, so at least 3px. */
|
|
1911
|
+
--sl-stat-figure-gap: var(--sl-space-1); /** Space between the label, the figure and the caption. */
|
|
1869
1912
|
--sl-switch-track-text-font-size: var(--sl-font-size-xs); /** Sized to the track, not a text style: the ON/OFF label has to fit inside the switch at each size. The rest of the label uses condense-subtitle-label. */
|
|
1870
1913
|
--sl-switch-track-text-font-size-sm: var(--sl-font-size-xxs); /** Sized to the track, not a text style: the ON/OFF label has to fit inside the switch at each size. The rest of the label uses condense-subtitle-label. */
|
|
1871
1914
|
--sl-switch-track-text-font-size-lg: var(--sl-font-size-sm); /** Sized to the track, not a text style: the ON/OFF label has to fit inside the switch at each size. The rest of the label uses condense-subtitle-label. */
|
|
@@ -1897,7 +1940,6 @@
|
|
|
1897
1940
|
--sl-color-chrome-on-1100: var(--sl-color-neutral-on-1100);
|
|
1898
1941
|
--sl-color-chrome-on-1200: var(--sl-color-neutral-on-1200);
|
|
1899
1942
|
--sl-a11y-focus-ring-radius: var(--sl-radius-focus); /** Rounds the focus ring to match the small control radius. */
|
|
1900
|
-
--sl-bar-border-width: var(--sl-stroke-default); /** Strip edge thickness. */
|
|
1901
1943
|
--sl-bar-radius: var(--sl-radius-surface); /** Strip corners. Controls inside a toggle group take radius.item, so the inner corners follow the outer ones. */
|
|
1902
1944
|
--sl-calendar-day-radius: var(--sl-radius-pill); /** Selected days are circles. The pill radius is the same full radius badges and switches use. */
|
|
1903
1945
|
--sl-check-border-width: var(--sl-stroke-default); /** Edge thickness. */
|
|
@@ -1916,6 +1958,7 @@
|
|
|
1916
1958
|
--sl-status-warning-dark: var(--sl-scope-warning-fg); /** Warning color for text or icons that need more contrast. */
|
|
1917
1959
|
--sl-status-warning-light: var(--sl-scope-warning-soft); /** Warning tint for caution backgrounds. */
|
|
1918
1960
|
--sl-text-primary: var(--sl-scope-chrome-fg); /** Body text and headings. The highest-contrast neutral. */
|
|
1961
|
+
--sl-content-pre-radius: var(--sl-radius-surface); /** Code block corners, like any panel, so a brand that squares its surfaces squares code blocks too. */
|
|
1919
1962
|
--sl-disclosure-indicator-width: var(--sl-stroke-emphasis); /** Selected tab line thickness. */
|
|
1920
1963
|
--sl-field-border-width: var(--sl-stroke-default); /** Field edge thickness. */
|
|
1921
1964
|
--sl-field-radius: var(--sl-radius-control); /** Field corners, the same as every other control. */
|
|
@@ -1937,32 +1980,36 @@
|
|
|
1937
1980
|
--sl-table-header-height: var(--sl-control-height-md); /** Header row height: the regular control height, a little taller than rows so the header reads as its own band. */
|
|
1938
1981
|
--sl-table-cell-padding-inline: var(--sl-control-padding-inline-sm); /** Space either side of cell text, matching small controls. */
|
|
1939
1982
|
--sl-table-radius: var(--sl-radius-surface); /** Grid corners, like any card or panel. */
|
|
1940
|
-
--sl-
|
|
1941
|
-
--sl-font-
|
|
1942
|
-
--sl-font-
|
|
1943
|
-
--sl-font-
|
|
1944
|
-
--sl-font-
|
|
1945
|
-
--sl-font-
|
|
1946
|
-
--sl-font-
|
|
1947
|
-
--sl-font-
|
|
1948
|
-
--sl-font-
|
|
1949
|
-
--sl-font-
|
|
1950
|
-
--sl-font-
|
|
1951
|
-
--sl-font-
|
|
1952
|
-
--sl-font-
|
|
1953
|
-
--sl-font-
|
|
1954
|
-
--sl-font-
|
|
1955
|
-
--sl-font-
|
|
1956
|
-
--sl-font-
|
|
1957
|
-
--sl-font-
|
|
1958
|
-
--sl-font-
|
|
1959
|
-
--sl-font-
|
|
1960
|
-
--sl-font-
|
|
1961
|
-
--sl-font-
|
|
1962
|
-
--sl-font-
|
|
1963
|
-
--sl-font-
|
|
1964
|
-
--sl-font-
|
|
1965
|
-
--sl-font-
|
|
1983
|
+
--sl-table-subtotal-rule-width: var(--sl-stroke-default); /** The single line above a subtotal row (tr data-total="subtotal"), the line an accountant draws before adding a column. */
|
|
1984
|
+
--sl-font-body-base-font: var(--sl-font-body-base-font-weight) var(--sl-font-body-base-font-size) / var(--sl-font-body-base-line-height) var(--sl-font-body-base-font-family); /** Body copy in the base tier, the default UI and body text. As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
1985
|
+
--sl-font-selected-base-font: var(--sl-font-selected-base-font-weight) var(--sl-font-selected-base-font-size) / var(--sl-font-selected-base-line-height) var(--sl-font-selected-base-font-family); /** The selected or current item in the base tier (the default UI and body text): selected tabs and toggles, the current nav item or page. Base body text at semibold, so selection reads without changing size. As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
1986
|
+
--sl-font-label-base-font: var(--sl-font-label-base-font-weight) var(--sl-font-label-base-font-size) / var(--sl-font-label-base-line-height) var(--sl-font-label-base-font-family); /** Form labels in the base tier, the default UI and body text. As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
1987
|
+
--sl-font-link-base-font: var(--sl-font-link-base-font-weight) var(--sl-font-link-base-font-size) / var(--sl-font-link-base-line-height) var(--sl-font-link-base-font-family); /** Links in the base tier. The same type as base body text: a link stands out by color and underline, not by its type. As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
1988
|
+
--sl-font-subtitle-base-font: var(--sl-font-subtitle-base-font-weight) var(--sl-font-subtitle-base-font-size) / var(--sl-font-subtitle-base-line-height) var(--sl-font-subtitle-base-font-family); /** Subtitles in the base tier, the default UI and body text. As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
1989
|
+
--sl-font-trigger-base-font: var(--sl-font-trigger-base-font-weight) var(--sl-font-trigger-base-font-size) / var(--sl-font-trigger-base-line-height) var(--sl-font-trigger-base-font-family); /** Buttons and triggers in the base tier, the default UI and body text. As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
1990
|
+
--sl-font-title-base-font: var(--sl-font-title-base-font-weight) var(--sl-font-title-base-font-size) / var(--sl-font-title-base-line-height) var(--sl-font-title-base-font-family); /** Titles in the base tier: a toast, an accordion row, a list item heading. Titles use the display family; the tier sets the size. As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
1991
|
+
--sl-font-figures-base-font: var(--sl-font-figures-base-font-weight) var(--sl-font-figures-base-font-size) / var(--sl-font-figures-base-line-height) var(--sl-font-figures-base-font-family); /** Figures in the base tier: an amount beside base text, a balance in a card. The mono family with tabular numbers, so digits line up. As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
1992
|
+
--sl-font-code-condense-font: var(--sl-font-code-condense-font-weight) var(--sl-font-code-condense-font-size) / var(--sl-font-code-condense-line-height) var(--sl-font-code-condense-font-family); /** Code uses the mono family so characters line up. As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
1993
|
+
--sl-font-figures-condense-font: var(--sl-font-figures-condense-font-weight) var(--sl-font-figures-condense-font-size) / var(--sl-font-figures-condense-line-height) var(--sl-font-figures-condense-font-family); /** Figures in the condense tier: amounts and counts in tables and dense rows. The mono family with tabular numbers, so digits line up down a column. As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
1994
|
+
--sl-font-body-condense-font: var(--sl-font-body-condense-font-weight) var(--sl-font-body-condense-font-size) / var(--sl-font-body-condense-line-height) var(--sl-font-body-condense-font-family); /** Body copy in the condense tier, dense UI text (tables, secondary labels). As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
1995
|
+
--sl-font-trigger-condense-font: var(--sl-font-trigger-condense-font-weight) var(--sl-font-trigger-condense-font-size) / var(--sl-font-trigger-condense-line-height) var(--sl-font-trigger-condense-font-family); /** Buttons and triggers in the condense tier (dense UI): condense body text at medium, like base-trigger one tier down. As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
1996
|
+
--sl-font-selected-condense-font: var(--sl-font-selected-condense-font-weight) var(--sl-font-selected-condense-font-size) / var(--sl-font-selected-condense-line-height) var(--sl-font-selected-condense-font-family); /** The selected or current item in the condense tier (dense UI text): selected tabs and toggles, the current nav item or page. Condense body text at semibold, so selection reads without changing size. As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
1997
|
+
--sl-font-link-condense-font: var(--sl-font-link-condense-font-weight) var(--sl-font-link-condense-font-size) / var(--sl-font-link-condense-line-height) var(--sl-font-link-condense-font-family); /** Links in the condense tier. The same type as condense body text: a link stands out by color and underline, not by its type. As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
1998
|
+
--sl-font-subtitle-condense-font: var(--sl-font-subtitle-condense-font-weight) var(--sl-font-subtitle-condense-font-size) / var(--sl-font-subtitle-condense-line-height) var(--sl-font-subtitle-condense-font-family); /** Subtitles in the condense tier, dense UI text (tables, secondary labels). As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
1999
|
+
--sl-font-eyebrow-condense-font: var(--sl-font-eyebrow-condense-font-weight) var(--sl-font-eyebrow-condense-font-size) / var(--sl-font-eyebrow-condense-line-height) var(--sl-font-eyebrow-condense-font-family); /** Small uppercase eyebrow labels in the condense tier, dense UI text (tables, secondary labels). As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
2000
|
+
--sl-font-caps-condense-font: var(--sl-font-caps-condense-font-weight) var(--sl-font-caps-condense-font-size) / var(--sl-font-caps-condense-line-height) var(--sl-font-caps-condense-font-family); /** Caps labels in the condense tier: a working-paper caption, a column head over figures, a sheet's tab label. Uppercase and tracked a little wider than an eyebrow, so it reads as a label and not a heading. As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
2001
|
+
--sl-font-title-condense-font: var(--sl-font-title-condense-font-weight) var(--sl-font-title-condense-font-size) / var(--sl-font-title-condense-line-height) var(--sl-font-title-condense-font-family); /** Titles in the condense tier: group headers in tables, menus and dense panels. Titles use the display family; the tier sets the size. As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
2002
|
+
--sl-font-body-magnify-font: var(--sl-font-body-magnify-font-weight) var(--sl-font-body-magnify-font-size) / var(--sl-font-body-magnify-line-height) var(--sl-font-body-magnify-font-family); /** Body copy in the magnify tier, emphasized body text (lead paragraphs). As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
2003
|
+
--sl-font-trigger-magnify-font: var(--sl-font-trigger-magnify-font-weight) var(--sl-font-trigger-magnify-font-size) / var(--sl-font-trigger-magnify-line-height) var(--sl-font-trigger-magnify-font-family); /** Buttons and triggers in the magnify tier (emphasized, larger UI): magnify body text at medium, like base-trigger one tier up. As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
2004
|
+
--sl-font-title-magnify-font: var(--sl-font-title-magnify-font-weight) var(--sl-font-title-magnify-font-size) / var(--sl-font-title-magnify-line-height) var(--sl-font-title-magnify-font-family); /** Titles in the magnify tier: popovers, cards and fieldsets. Titles use the display family; the tier sets the size. As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
2005
|
+
--sl-font-body-minimize-font: var(--sl-font-body-minimize-font-weight) var(--sl-font-body-minimize-font-size) / var(--sl-font-body-minimize-line-height) var(--sl-font-body-minimize-font-family); /** Body copy in the minimize tier, the smallest functional text (captions, fine print). As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
2006
|
+
--sl-font-trigger-minimize-font: var(--sl-font-trigger-minimize-font-weight) var(--sl-font-trigger-minimize-font-size) / var(--sl-font-trigger-minimize-line-height) var(--sl-font-trigger-minimize-font-family); /** Buttons and triggers in the minimize tier (the smallest UI): minimize body text at medium, like base-trigger one tier down. As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
2007
|
+
--sl-font-selected-minimize-font: var(--sl-font-selected-minimize-font-weight) var(--sl-font-selected-minimize-font-size) / var(--sl-font-selected-minimize-line-height) var(--sl-font-selected-minimize-font-family); /** The selected or current item in the minimize tier (the smallest functional text): selected tabs and toggles, the current nav item or page. Minimize body text at semibold, so selection reads without changing size. As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
2008
|
+
--sl-font-link-minimize-font: var(--sl-font-link-minimize-font-weight) var(--sl-font-link-minimize-font-size) / var(--sl-font-link-minimize-line-height) var(--sl-font-link-minimize-font-family); /** Links in the minimize tier. The same type as minimize body text: a link stands out by color and underline, not by its type. As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
2009
|
+
--sl-font-subtitle-minimize-font: var(--sl-font-subtitle-minimize-font-weight) var(--sl-font-subtitle-minimize-font-size) / var(--sl-font-subtitle-minimize-line-height) var(--sl-font-subtitle-minimize-font-family); /** Subtitles in the minimize tier, the smallest functional text (captions, fine print). As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
2010
|
+
--sl-font-eyebrow-minimize-font: var(--sl-font-eyebrow-minimize-font-weight) var(--sl-font-eyebrow-minimize-font-size) / var(--sl-font-eyebrow-minimize-line-height) var(--sl-font-eyebrow-minimize-font-family); /** Small uppercase eyebrow labels in the minimize tier, the smallest functional text (captions, fine print). As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
2011
|
+
--sl-font-title-amplify-font: var(--sl-font-title-amplify-font-weight) var(--sl-font-title-amplify-font-size) / var(--sl-font-title-amplify-line-height) var(--sl-font-title-amplify-font-family); /** Titles in the amplify tier: dialogs, drawers and page sections. Titles use the display family; the tier sets the size. As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
2012
|
+
--sl-font-title-maximize-font: var(--sl-font-title-maximize-font-weight) var(--sl-font-title-maximize-font-size) / var(--sl-font-title-maximize-line-height) var(--sl-font-title-maximize-font-family); /** Titles in the maximize tier: the page head. Titles use the display family; the tier sets the size. As a font shorthand; letter-spacing, text-transform and font-variant-numeric are separate. */
|
|
1966
2013
|
--sl-emphasis-quiet-fg: var(--sl-scope-chrome-fg); /** quiet in default: outline in chrome (neutral) */
|
|
1967
2014
|
--sl-pair-ember-dune-hover: color-mix(in oklab, var(--sl-pair-ember-dune-accent) 85%, var(--sl-pair-ember-dune-bg)); /** Accent on hover: accent moved 15% toward bg. 4.76:1 against bg, which is the button label. */
|
|
1968
2015
|
--sl-pair-ember-dune-active: var(--sl-pair-ember-dune-accent); /** Accent while pressed: the accent itself, because moving it would drop the button label below AA. */
|
|
@@ -2115,11 +2162,15 @@
|
|
|
2115
2162
|
--sl-status-level-error-quiet-fg: var(--sl-scope-error-fg); /** quiet in error: outline in error */
|
|
2116
2163
|
--sl-status-level-error-quiet-border: var(--sl-scope-error-border); /** quiet in error: outline in error */
|
|
2117
2164
|
--sl-status-level-error-quiet-border-hover: var(--sl-scope-error-solid-hover); /** quiet in error: outline in error */
|
|
2165
|
+
--sl-app-bar-border-width: var(--sl-stroke-default); /** The line under the bar while rule.width is 0. With rule.width on, the line takes the thicker of the two. */
|
|
2118
2166
|
--sl-button-radius: var(--sl-radius-pill); /** Buttons are pills, so they read as actions and never as fields or cards. */
|
|
2119
2167
|
--sl-collection-row-height-sm: var(--sl-control-height-sm); /** The dense row, the same height the plain table already uses, so a checkbox fits. */
|
|
2120
2168
|
--sl-collection-row-height-md: var(--sl-control-height-md); /** A roomier row when the collection is the page rather than a dense register. */
|
|
2121
2169
|
--sl-collection-header-height-sm: var(--sl-control-height-md); /** The dense header, a step above the dense row, matching today's table header. */
|
|
2122
2170
|
--sl-collection-header-height-md: var(--sl-control-height-lg); /** The header for the roomier row. */
|
|
2171
|
+
--sl-description-list-leader-width: var(--sl-stroke-default); /** Thickness of the dotted leader. */
|
|
2172
|
+
--sl-sheet-border-width: var(--sl-stroke-default); /** Thickness of the sides and bottom. */
|
|
2173
|
+
--sl-sheet-radius: var(--sl-radius-surface); /** Corners, like any card or panel. The top corners stay square under a tab label, so the tab sits flush on the rule. */
|
|
2123
2174
|
--sl-splitter-handle-size: var(--sl-stroke-default); /** The visible separator. One stroke, the same hairline as Separator, so a splitter reads as a divider you can grab. */
|
|
2124
2175
|
--sl-focus-shadow-3px-error: 0 0 0 3px var(--sl-status-error); /** Focus halo for a field with an error. */
|
|
2125
2176
|
--sl-calendar-day-color: var(--sl-text-primary); /** A day in the month being shown. */
|
|
@@ -2158,6 +2209,9 @@
|
|
|
2158
2209
|
--sl-content-prose-color: var(--sl-text-primary); /** Long-form body text. The same as body text, so prose and UI read as one voice. */
|
|
2159
2210
|
--sl-content-selection-text: var(--sl-text-primary); /** Selected text stays body text so it reads the same on the tint. */
|
|
2160
2211
|
--sl-field-border-color-error: var(--sl-status-error); /** Field edge when the value is invalid. */
|
|
2212
|
+
--sl-focus-ring: var(--sl-interactive-default); /** Focus ring color. Uses the interactive accent so focus reads as "this is the thing you can act on". */
|
|
2213
|
+
--sl-focus-outline: var(--sl-a11y-focus-outline-width) solid var(--sl-focus-ring); /** The one keyboard focus ring. Every control uses it, outside or inset. */
|
|
2214
|
+
--sl-bar-border-width: var(--sl-stroke-default); /** Strip edge thickness. */
|
|
2161
2215
|
--sl-field-color: var(--sl-text-primary); /** The value you typed. */
|
|
2162
2216
|
--sl-gauge-label-color: var(--sl-text-primary); /** What is being measured. */
|
|
2163
2217
|
--sl-icon-button-color-hover: var(--sl-text-primary); /** Darkens on hover to confirm it's the target. */
|
|
@@ -2215,7 +2269,8 @@
|
|
|
2215
2269
|
--sl-status-level-success-bold-fg: var(--sl-scope-success-on-solid); /** bold in success: solid in success */
|
|
2216
2270
|
--sl-status-level-warning-bold-fg: var(--sl-scope-warning-on-solid); /** bold in warning: solid in warning */
|
|
2217
2271
|
--sl-status-level-error-bold-fg: var(--sl-scope-error-on-solid); /** bold in error: solid in error */
|
|
2218
|
-
--sl-
|
|
2272
|
+
--sl-description-list-value-color: var(--sl-text-primary); /** Values. */
|
|
2273
|
+
--sl-stat-figure-figure-color: var(--sl-text-primary); /** The figure's color. */
|
|
2219
2274
|
--sl-focus-shadow-3px-primary: 0 0 0 3px var(--sl-interactive-tint-hover); /** Soft focus halo for inputs. */
|
|
2220
2275
|
--sl-focus-shadow-3px-primary-soft: 0 0 0 3px var(--sl-interactive-tint-active); /** Slightly stronger focus halo for inputs on tinted surfaces. */
|
|
2221
2276
|
--sl-focus-halo-color: var(--sl-interactive-tint-hover); /** The pale tint of the focus glow. Components on a colored scope use that scope's soft-hover instead. */
|
|
@@ -2287,6 +2342,7 @@
|
|
|
2287
2342
|
--sl-notice-description-color: var(--sl-text-secondary); /** Description on the plain surface. A tinted notice uses its palette's text color for both lines. */
|
|
2288
2343
|
--sl-popup-border-color: var(--sl-border-default); /** Popup edge, a quiet line that separates it from the page under it. */
|
|
2289
2344
|
--sl-popup-separator-color: var(--sl-border-subtle); /** Line between groups of rows, quieter than the popup edge. */
|
|
2345
|
+
--sl-rule-color: var(--sl-border-strong); /** Color of the top rule. The chrome's strong border, so the rule reads as structure, not as an accent or a selection. A brand can point it at text.primary for an ink rule. */
|
|
2290
2346
|
--sl-table-background: var(--sl-surface-canvas); /** Cell area. The page color, so a grid sits on the page like body text. */
|
|
2291
2347
|
--sl-table-subtle-color: var(--sl-text-secondary); /** Secondary text in cells and panels: counts, hints, group totals. */
|
|
2292
2348
|
--sl-table-header-background: var(--sl-surface-tray); /** Header row, side bar and other grid chrome. The tray step, so it sits a step off the cells in both themes and secondary text on it still passes AA. */
|
|
@@ -2299,7 +2355,21 @@
|
|
|
2299
2355
|
--sl-table-range-background: var(--sl-interactive-tint); /** Cells inside a dragged range selection. */
|
|
2300
2356
|
--sl-emphasis-bold-fg: var(--sl-scope-accent-on-solid); /** bold in default: solid in accent (primary) */
|
|
2301
2357
|
--sl-status-level-default-bold-fg: var(--sl-scope-accent-on-solid); /** bold in default: solid in accent (primary) */
|
|
2358
|
+
--sl-app-bar-background: var(--sl-surface-raised); /** The bar's fill: one step off the page, like a card, so the page reads as sitting under it. */
|
|
2359
|
+
--sl-app-bar-divider-color: var(--sl-border-strong); /** Color of a vertical Separator in the bar. */
|
|
2360
|
+
--sl-description-list-row-border-color: var(--sl-border-subtle); /** Hairline between pairs, as quiet as a table's row lines. */
|
|
2361
|
+
--sl-description-list-label-color: var(--sl-text-secondary); /** Labels. */
|
|
2362
|
+
--sl-description-list-leader-color: var(--sl-border-control); /** The dotted leader at variant="leader". The control edge color: dark enough to lead the eye, still lighter than the text. */
|
|
2302
2363
|
--sl-drawer-handle-color: var(--sl-border-strong); /** The grab bar on bottom drawers. Strong border so it reads as something to drag. */
|
|
2364
|
+
--sl-picker-button-label-color: var(--sl-text-secondary); /** The caps label, quieter than the choice it names. */
|
|
2365
|
+
--sl-sheet-background: var(--sl-surface-raised); /** The sheet's fill: the raised surface, one level above the page like any card or panel. */
|
|
2366
|
+
--sl-sheet-border-color: var(--sl-border-default); /** The sheet's sides and bottom, the everyday divider. */
|
|
2367
|
+
--sl-sheet-tab-background: var(--sl-surface-inverse); /** The tab label's fill: the inverse surface, so the label reads as the sheet's name, and its text passes AA in every theme. */
|
|
2368
|
+
--sl-stat-figure-figure-color-accent: var(--sl-text-accent); /** The figure's color at tone="accent", for a figure that asks for action (open questions, items to review). */
|
|
2369
|
+
--sl-stat-figure-label-color: var(--sl-text-secondary); /** The caps label above the figure. */
|
|
2370
|
+
--sl-stat-figure-caption-color: var(--sl-text-secondary); /** The caption under the figure. */
|
|
2371
|
+
--sl-toggle-group-segmented-background: var(--sl-surface-raised); /** Fill of a toggle that is not pressed. */
|
|
2372
|
+
--sl-toggle-group-segmented-pressed-background: var(--sl-fill-inverse); /** Fill of the pressed toggle: the solid chrome color, dark on light pages and light on dark ones. */
|
|
2303
2373
|
--sl-shadow-outline: 0 0 0 3px color-mix(in oklab, var(--sl-focus-ring) 60%, transparent); /** Focus halo for controls that use box-shadow instead of outline: the focus ring color at 60% opacity, so it follows the accent and the theme. Becomes currentColor under prefers-contrast: more. */
|
|
2304
2374
|
--sl-calendar-day-background-hover: var(--sl-item-background-hover); /** The same hover tint as a list item, so a day feels like a choice in a list. */
|
|
2305
2375
|
--sl-check-mark-color: var(--sl-text-on-primary); /** Check mark, dash or dot on a ticked fill. */
|
|
@@ -2315,6 +2385,14 @@
|
|
|
2315
2385
|
--sl-table-row-hover: var(--sl-item-background-hover); /** Row under the pointer. Same tint as a highlighted menu row. */
|
|
2316
2386
|
--sl-table-row-selected: var(--sl-item-background-selected); /** Selected rows. Same tint as the chosen menu row. */
|
|
2317
2387
|
--sl-table-range-border: var(--sl-focus-ring); /** Edge of a range selection and of the focused cell, the same color as every focus ring. */
|
|
2388
|
+
--sl-table-total-rule-color: var(--sl-rule-color); /** The line above a subtotal or total row and the double line under a grand total. The working-paper rule color, so totals and sheet tops are ruled in the same ink. */
|
|
2389
|
+
--sl-table-total-background: var(--sl-table-background); /** Fill of a subtotal or grand total row: the cell color, so the rules mark the total instead of a band. The footer's default totals row keeps the header tray. */
|
|
2390
|
+
--sl-app-bar-border-color: var(--sl-rule-color); /** The line under the bar, in the rule color, so an ink rule brand gets an ink line here too. */
|
|
2391
|
+
--sl-sheet-rule-color: var(--sl-rule-color); /** The top rule's color: the working-paper rule color, so sheets and ruled tables match. */
|
|
2392
|
+
--sl-sheet-tab-color: var(--sl-text-on-inverse-surface); /** Text on the tab label. */
|
|
2393
|
+
--sl-stat-figure-underline-color: var(--sl-rule-color); /** The double underline's color: the working-paper rule color, like a grand total's double rule. */
|
|
2394
|
+
--sl-toggle-group-segmented-border-color: var(--sl-rule-color); /** The outline around a segmented group and the line between its toggles. The rule color, so it is a control edge by default and ink with an ink rule. */
|
|
2395
|
+
--sl-toggle-group-segmented-pressed-color: var(--sl-text-on-inverse); /** Text on the pressed toggle. */
|
|
2318
2396
|
--sl-check-background: var(--sl-field-background); /** Empty box, the same fill as a field so it reads as something to fill in. */
|
|
2319
2397
|
--sl-popup-arrow-fill: var(--sl-popup-background); /** The arrow is part of the popup, so it takes the popup's fill. */
|
|
2320
2398
|
}
|
|
@@ -5780,6 +5858,7 @@
|
|
|
5780
5858
|
--sl-popup-arrow-fill: var(--sl-popup-background);
|
|
5781
5859
|
--sl-popup-arrow-stroke: var(--sl-popup-border-color);
|
|
5782
5860
|
--sl-popup-separator-color: var(--sl-border-subtle);
|
|
5861
|
+
--sl-rule-color: var(--sl-border-strong);
|
|
5783
5862
|
--sl-table-background: var(--sl-surface-canvas);
|
|
5784
5863
|
--sl-table-color: var(--sl-text-primary);
|
|
5785
5864
|
--sl-table-subtle-color: var(--sl-text-secondary);
|
|
@@ -5795,7 +5874,31 @@
|
|
|
5795
5874
|
--sl-table-column-hover: var(--sl-fill-subtle);
|
|
5796
5875
|
--sl-table-range-background: var(--sl-interactive-tint);
|
|
5797
5876
|
--sl-table-range-border: var(--sl-focus-ring);
|
|
5877
|
+
--sl-table-total-rule-color: var(--sl-rule-color);
|
|
5878
|
+
--sl-table-total-background: var(--sl-table-background);
|
|
5879
|
+
--sl-app-bar-background: var(--sl-surface-raised);
|
|
5880
|
+
--sl-app-bar-border-color: var(--sl-rule-color);
|
|
5881
|
+
--sl-app-bar-divider-color: var(--sl-border-strong);
|
|
5882
|
+
--sl-description-list-row-border-color: var(--sl-border-subtle);
|
|
5883
|
+
--sl-description-list-label-color: var(--sl-text-secondary);
|
|
5884
|
+
--sl-description-list-value-color: var(--sl-text-primary);
|
|
5885
|
+
--sl-description-list-leader-color: var(--sl-border-control);
|
|
5798
5886
|
--sl-drawer-handle-color: var(--sl-border-strong);
|
|
5887
|
+
--sl-picker-button-label-color: var(--sl-text-secondary);
|
|
5888
|
+
--sl-sheet-background: var(--sl-surface-raised);
|
|
5889
|
+
--sl-sheet-border-color: var(--sl-border-default);
|
|
5890
|
+
--sl-sheet-rule-color: var(--sl-rule-color);
|
|
5891
|
+
--sl-sheet-tab-background: var(--sl-surface-inverse);
|
|
5892
|
+
--sl-sheet-tab-color: var(--sl-text-on-inverse-surface);
|
|
5893
|
+
--sl-stat-figure-figure-color: var(--sl-text-primary);
|
|
5894
|
+
--sl-stat-figure-figure-color-accent: var(--sl-text-accent);
|
|
5895
|
+
--sl-stat-figure-underline-color: var(--sl-rule-color);
|
|
5896
|
+
--sl-stat-figure-label-color: var(--sl-text-secondary);
|
|
5897
|
+
--sl-stat-figure-caption-color: var(--sl-text-secondary);
|
|
5898
|
+
--sl-toggle-group-segmented-border-color: var(--sl-rule-color);
|
|
5899
|
+
--sl-toggle-group-segmented-background: var(--sl-surface-raised);
|
|
5900
|
+
--sl-toggle-group-segmented-pressed-background: var(--sl-fill-inverse);
|
|
5901
|
+
--sl-toggle-group-segmented-pressed-color: var(--sl-text-on-inverse);
|
|
5799
5902
|
--sl-calendar-day-background-hover: var(--sl-item-background-hover);
|
|
5800
5903
|
--sl-check-background: var(--sl-field-background);
|
|
5801
5904
|
}
|
|
@@ -5926,6 +6029,7 @@
|
|
|
5926
6029
|
--sl-popup-arrow-fill: var(--sl-popup-background);
|
|
5927
6030
|
--sl-popup-arrow-stroke: var(--sl-popup-border-color);
|
|
5928
6031
|
--sl-popup-separator-color: var(--sl-border-subtle);
|
|
6032
|
+
--sl-rule-color: var(--sl-border-strong);
|
|
5929
6033
|
--sl-table-background: var(--sl-surface-canvas);
|
|
5930
6034
|
--sl-table-color: var(--sl-text-primary);
|
|
5931
6035
|
--sl-table-subtle-color: var(--sl-text-secondary);
|
|
@@ -5941,7 +6045,31 @@
|
|
|
5941
6045
|
--sl-table-column-hover: var(--sl-fill-subtle);
|
|
5942
6046
|
--sl-table-range-background: var(--sl-interactive-tint);
|
|
5943
6047
|
--sl-table-range-border: var(--sl-focus-ring);
|
|
6048
|
+
--sl-table-total-rule-color: var(--sl-rule-color);
|
|
6049
|
+
--sl-table-total-background: var(--sl-table-background);
|
|
6050
|
+
--sl-app-bar-background: var(--sl-surface-raised);
|
|
6051
|
+
--sl-app-bar-border-color: var(--sl-rule-color);
|
|
6052
|
+
--sl-app-bar-divider-color: var(--sl-border-strong);
|
|
6053
|
+
--sl-description-list-row-border-color: var(--sl-border-subtle);
|
|
6054
|
+
--sl-description-list-label-color: var(--sl-text-secondary);
|
|
6055
|
+
--sl-description-list-value-color: var(--sl-text-primary);
|
|
6056
|
+
--sl-description-list-leader-color: var(--sl-border-control);
|
|
5944
6057
|
--sl-drawer-handle-color: var(--sl-border-strong);
|
|
6058
|
+
--sl-picker-button-label-color: var(--sl-text-secondary);
|
|
6059
|
+
--sl-sheet-background: var(--sl-surface-raised);
|
|
6060
|
+
--sl-sheet-border-color: var(--sl-border-default);
|
|
6061
|
+
--sl-sheet-rule-color: var(--sl-rule-color);
|
|
6062
|
+
--sl-sheet-tab-background: var(--sl-surface-inverse);
|
|
6063
|
+
--sl-sheet-tab-color: var(--sl-text-on-inverse-surface);
|
|
6064
|
+
--sl-stat-figure-figure-color: var(--sl-text-primary);
|
|
6065
|
+
--sl-stat-figure-figure-color-accent: var(--sl-text-accent);
|
|
6066
|
+
--sl-stat-figure-underline-color: var(--sl-rule-color);
|
|
6067
|
+
--sl-stat-figure-label-color: var(--sl-text-secondary);
|
|
6068
|
+
--sl-stat-figure-caption-color: var(--sl-text-secondary);
|
|
6069
|
+
--sl-toggle-group-segmented-border-color: var(--sl-rule-color);
|
|
6070
|
+
--sl-toggle-group-segmented-background: var(--sl-surface-raised);
|
|
6071
|
+
--sl-toggle-group-segmented-pressed-background: var(--sl-fill-inverse);
|
|
6072
|
+
--sl-toggle-group-segmented-pressed-color: var(--sl-text-on-inverse);
|
|
5945
6073
|
--sl-calendar-day-background-hover: var(--sl-item-background-hover);
|
|
5946
6074
|
--sl-check-background: var(--sl-field-background);
|
|
5947
6075
|
}
|
|
@@ -6072,6 +6200,7 @@
|
|
|
6072
6200
|
--sl-popup-arrow-fill: var(--sl-popup-background);
|
|
6073
6201
|
--sl-popup-arrow-stroke: var(--sl-popup-border-color);
|
|
6074
6202
|
--sl-popup-separator-color: var(--sl-border-subtle);
|
|
6203
|
+
--sl-rule-color: var(--sl-border-strong);
|
|
6075
6204
|
--sl-table-background: var(--sl-surface-canvas);
|
|
6076
6205
|
--sl-table-color: var(--sl-text-primary);
|
|
6077
6206
|
--sl-table-subtle-color: var(--sl-text-secondary);
|
|
@@ -6087,7 +6216,31 @@
|
|
|
6087
6216
|
--sl-table-column-hover: var(--sl-fill-subtle);
|
|
6088
6217
|
--sl-table-range-background: var(--sl-interactive-tint);
|
|
6089
6218
|
--sl-table-range-border: var(--sl-focus-ring);
|
|
6219
|
+
--sl-table-total-rule-color: var(--sl-rule-color);
|
|
6220
|
+
--sl-table-total-background: var(--sl-table-background);
|
|
6221
|
+
--sl-app-bar-background: var(--sl-surface-raised);
|
|
6222
|
+
--sl-app-bar-border-color: var(--sl-rule-color);
|
|
6223
|
+
--sl-app-bar-divider-color: var(--sl-border-strong);
|
|
6224
|
+
--sl-description-list-row-border-color: var(--sl-border-subtle);
|
|
6225
|
+
--sl-description-list-label-color: var(--sl-text-secondary);
|
|
6226
|
+
--sl-description-list-value-color: var(--sl-text-primary);
|
|
6227
|
+
--sl-description-list-leader-color: var(--sl-border-control);
|
|
6090
6228
|
--sl-drawer-handle-color: var(--sl-border-strong);
|
|
6229
|
+
--sl-picker-button-label-color: var(--sl-text-secondary);
|
|
6230
|
+
--sl-sheet-background: var(--sl-surface-raised);
|
|
6231
|
+
--sl-sheet-border-color: var(--sl-border-default);
|
|
6232
|
+
--sl-sheet-rule-color: var(--sl-rule-color);
|
|
6233
|
+
--sl-sheet-tab-background: var(--sl-surface-inverse);
|
|
6234
|
+
--sl-sheet-tab-color: var(--sl-text-on-inverse-surface);
|
|
6235
|
+
--sl-stat-figure-figure-color: var(--sl-text-primary);
|
|
6236
|
+
--sl-stat-figure-figure-color-accent: var(--sl-text-accent);
|
|
6237
|
+
--sl-stat-figure-underline-color: var(--sl-rule-color);
|
|
6238
|
+
--sl-stat-figure-label-color: var(--sl-text-secondary);
|
|
6239
|
+
--sl-stat-figure-caption-color: var(--sl-text-secondary);
|
|
6240
|
+
--sl-toggle-group-segmented-border-color: var(--sl-rule-color);
|
|
6241
|
+
--sl-toggle-group-segmented-background: var(--sl-surface-raised);
|
|
6242
|
+
--sl-toggle-group-segmented-pressed-background: var(--sl-fill-inverse);
|
|
6243
|
+
--sl-toggle-group-segmented-pressed-color: var(--sl-text-on-inverse);
|
|
6091
6244
|
--sl-calendar-day-background-hover: var(--sl-item-background-hover);
|
|
6092
6245
|
--sl-check-background: var(--sl-field-background);
|
|
6093
6246
|
}
|
|
@@ -6160,6 +6313,16 @@
|
|
|
6160
6313
|
letter-spacing: var(--sl-font-title-base-letter-spacing);
|
|
6161
6314
|
}
|
|
6162
6315
|
|
|
6316
|
+
/* Figures in the base tier: an amount beside base text, a balance in a card. The mono family with tabular numbers, so digits line up. */
|
|
6317
|
+
.text-style-figures-base {
|
|
6318
|
+
font-family: var(--sl-font-figures-base-font-family);
|
|
6319
|
+
font-size: var(--sl-font-figures-base-font-size);
|
|
6320
|
+
font-weight: var(--sl-font-figures-base-font-weight);
|
|
6321
|
+
line-height: var(--sl-font-figures-base-line-height);
|
|
6322
|
+
letter-spacing: var(--sl-font-figures-base-letter-spacing);
|
|
6323
|
+
font-variant-numeric: var(--sl-font-figures-base-font-variant-numeric);
|
|
6324
|
+
}
|
|
6325
|
+
|
|
6163
6326
|
/* Code uses the mono family so characters line up. */
|
|
6164
6327
|
.text-style-code-condense {
|
|
6165
6328
|
font-family: var(--sl-font-code-condense-font-family);
|
|
@@ -6169,6 +6332,16 @@
|
|
|
6169
6332
|
letter-spacing: var(--sl-font-code-condense-letter-spacing);
|
|
6170
6333
|
}
|
|
6171
6334
|
|
|
6335
|
+
/* Figures in the condense tier: amounts and counts in tables and dense rows. The mono family with tabular numbers, so digits line up down a column. */
|
|
6336
|
+
.text-style-figures-condense {
|
|
6337
|
+
font-family: var(--sl-font-figures-condense-font-family);
|
|
6338
|
+
font-size: var(--sl-font-figures-condense-font-size);
|
|
6339
|
+
font-weight: var(--sl-font-figures-condense-font-weight);
|
|
6340
|
+
line-height: var(--sl-font-figures-condense-line-height);
|
|
6341
|
+
letter-spacing: var(--sl-font-figures-condense-letter-spacing);
|
|
6342
|
+
font-variant-numeric: var(--sl-font-figures-condense-font-variant-numeric);
|
|
6343
|
+
}
|
|
6344
|
+
|
|
6172
6345
|
/* Body copy in the condense tier, dense UI text (tables, secondary labels). */
|
|
6173
6346
|
.text-style-body-condense {
|
|
6174
6347
|
font-family: var(--sl-font-body-condense-font-family);
|
|
@@ -6224,6 +6397,16 @@
|
|
|
6224
6397
|
text-transform: var(--sl-font-eyebrow-condense-text-transform);
|
|
6225
6398
|
}
|
|
6226
6399
|
|
|
6400
|
+
/* Caps labels in the condense tier: a working-paper caption, a column head over figures, a sheet's tab label. Uppercase and tracked a little wider than an eyebrow, so it reads as a label and not a heading. */
|
|
6401
|
+
.text-style-caps-condense {
|
|
6402
|
+
font-family: var(--sl-font-caps-condense-font-family);
|
|
6403
|
+
font-size: var(--sl-font-caps-condense-font-size);
|
|
6404
|
+
font-weight: var(--sl-font-caps-condense-font-weight);
|
|
6405
|
+
line-height: var(--sl-font-caps-condense-line-height);
|
|
6406
|
+
letter-spacing: var(--sl-font-caps-condense-letter-spacing);
|
|
6407
|
+
text-transform: var(--sl-font-caps-condense-text-transform);
|
|
6408
|
+
}
|
|
6409
|
+
|
|
6227
6410
|
/* Titles in the condense tier: group headers in tables, menus and dense panels. Titles use the display family; the tier sets the size. */
|
|
6228
6411
|
.text-style-title-condense {
|
|
6229
6412
|
font-family: var(--sl-font-title-condense-font-family);
|
|
@@ -6414,7 +6597,7 @@
|
|
|
6414
6597
|
}
|
|
6415
6598
|
|
|
6416
6599
|
|
|
6417
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
6600
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
6418
6601
|
/* Loomiere for Base UI: component styles. Brand-free: every value is a --sl- variable from a
|
|
6419
6602
|
Loomiere theme. Load the theme first:
|
|
6420
6603
|
@import '<your theme>/tokens.css';
|
|
@@ -6424,7 +6607,7 @@
|
|
|
6424
6607
|
/* Document defaults, in the reset layer so any unlayered rule wins over them, and so layered
|
|
6425
6608
|
frameworks (Chakra's recipes, Tailwind's utilities) are not undone by them. */
|
|
6426
6609
|
@layer reset {
|
|
6427
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
6610
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
6428
6611
|
/* CSS Reset - Mojave Theme */
|
|
6429
6612
|
|
|
6430
6613
|
/* ============================================
|
|
@@ -6698,7 +6881,7 @@ pre {
|
|
|
6698
6881
|
background: var(--sl-content-pre-background);
|
|
6699
6882
|
border: var(--sl-stroke-thin) solid var(--sl-content-pre-border);
|
|
6700
6883
|
color: var(--sl-content-pre-text);
|
|
6701
|
-
border-radius: var(--sl-
|
|
6884
|
+
border-radius: var(--sl-content-pre-radius);
|
|
6702
6885
|
overflow-x: auto;
|
|
6703
6886
|
margin-block: var(--sl-space-6);
|
|
6704
6887
|
}
|
|
@@ -6868,7 +7051,7 @@ hr {
|
|
|
6868
7051
|
}
|
|
6869
7052
|
}
|
|
6870
7053
|
@layer reset {
|
|
6871
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
7054
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
6872
7055
|
/* Accessibility — base rules (no theme color dependencies). Theme-specific focus/invalid: accessibility-theme.css */
|
|
6873
7056
|
|
|
6874
7057
|
/* Remove default focus; keyboard focus styled in accessibility-theme.css */
|
|
@@ -6981,7 +7164,7 @@ main:focus {
|
|
|
6981
7164
|
|
|
6982
7165
|
}
|
|
6983
7166
|
@layer reset {
|
|
6984
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
7167
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
6985
7168
|
/* Focus, invalid, contrast — requires theme tokens (after theme-accessibility.css). */
|
|
6986
7169
|
|
|
6987
7170
|
:focus-visible {
|
|
@@ -7049,7 +7232,7 @@ button,
|
|
|
7049
7232
|
|
|
7050
7233
|
}
|
|
7051
7234
|
/* Component styles */
|
|
7052
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
7235
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
7053
7236
|
/* Accordion - Mojave Theme
|
|
7054
7237
|
*
|
|
7055
7238
|
* No component tokens. Hover, press, chevron, divider and motion are the disclosure
|
|
@@ -7170,7 +7353,7 @@ button,
|
|
|
7170
7353
|
overflow: hidden;
|
|
7171
7354
|
}
|
|
7172
7355
|
|
|
7173
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
7356
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
7174
7357
|
/* Alert Dialog - Mojave Theme
|
|
7175
7358
|
*
|
|
7176
7359
|
* No component tokens and no rules of its own. An alert dialog looks exactly like a
|
|
@@ -7179,7 +7362,7 @@ button,
|
|
|
7179
7362
|
* cancel quiet, and a destructive one bold with data-color="error".
|
|
7180
7363
|
*/
|
|
7181
7364
|
|
|
7182
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
7365
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
7183
7366
|
/* Autocomplete - Mojave Theme
|
|
7184
7367
|
*
|
|
7185
7368
|
* No component tokens. The input is Input (Input.css), the clear button is an icon
|
|
@@ -7381,7 +7564,7 @@ button,
|
|
|
7381
7564
|
(reset-accessibility.css).
|
|
7382
7565
|
============================================ */
|
|
7383
7566
|
|
|
7384
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
7567
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
7385
7568
|
/* Avatar - Mojave Theme
|
|
7386
7569
|
*
|
|
7387
7570
|
* A round picture with a ring in the page color, so avatars in a group cut out of each other in
|
|
@@ -7489,7 +7672,7 @@ button,
|
|
|
7489
7672
|
}
|
|
7490
7673
|
}
|
|
7491
7674
|
|
|
7492
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
7675
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
7493
7676
|
/* Button - Mojave Theme
|
|
7494
7677
|
*
|
|
7495
7678
|
* Colors are the brand's emphasis levels, sizes are control.*, text is the trigger
|
|
@@ -7639,7 +7822,7 @@ button,
|
|
|
7639
7822
|
font-size: var(--sl-icon-size-maximize);
|
|
7640
7823
|
}
|
|
7641
7824
|
|
|
7642
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
7825
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
7643
7826
|
/* Checkbox - Mojave Theme
|
|
7644
7827
|
* Sizes follow the label: the box is the icon size one tier above the label's text
|
|
7645
7828
|
* tier (like a button's icon) and the check mark one tier below it.
|
|
@@ -7796,7 +7979,7 @@ button,
|
|
|
7796
7979
|
border-radius: var(--sl-radius-pill);
|
|
7797
7980
|
}
|
|
7798
7981
|
|
|
7799
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
7982
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
7800
7983
|
/* Checkbox Group - Mojave Theme */
|
|
7801
7984
|
|
|
7802
7985
|
/* Each checkbox row is already a full tap target tall, so the rows sit close. */
|
|
@@ -7812,7 +7995,7 @@ button,
|
|
|
7812
7995
|
pointer-events: none;
|
|
7813
7996
|
}
|
|
7814
7997
|
|
|
7815
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
7998
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
7816
7999
|
/* Collapsible - Mojave Theme
|
|
7817
8000
|
*
|
|
7818
8001
|
* No component tokens. Hover, press, chevron and motion are the disclosure concept
|
|
@@ -7928,7 +8111,7 @@ button,
|
|
|
7928
8111
|
background: var(--sl-surface-raised);
|
|
7929
8112
|
}
|
|
7930
8113
|
|
|
7931
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
8114
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
7932
8115
|
/* Combobox - Mojave Theme
|
|
7933
8116
|
*
|
|
7934
8117
|
* No component tokens. The input is Input (Input.css); the chips box is a field; the
|
|
@@ -8413,7 +8596,7 @@ button,
|
|
|
8413
8596
|
color: var(--sl-text-tertiary);
|
|
8414
8597
|
}
|
|
8415
8598
|
|
|
8416
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
8599
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
8417
8600
|
/* Context Menu - Mojave Theme
|
|
8418
8601
|
*
|
|
8419
8602
|
* No component tokens. Opens on right-click; the trigger area only sets the cursor. The popup is the popup concept, rows are item rows at the
|
|
@@ -8582,7 +8765,7 @@ button,
|
|
|
8582
8765
|
stroke-width: var(--sl-stroke-default);
|
|
8583
8766
|
}
|
|
8584
8767
|
|
|
8585
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
8768
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
8586
8769
|
/* Dialog and Alert dialog - Mojave Theme
|
|
8587
8770
|
*
|
|
8588
8771
|
* Both are centered modals built from the modal concept (tokens/semantic/modal.json):
|
|
@@ -8728,12 +8911,14 @@ button,
|
|
|
8728
8911
|
margin-top: var(--sl-modal-actions-spacing);
|
|
8729
8912
|
}
|
|
8730
8913
|
|
|
8731
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
8914
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
8732
8915
|
/* Drawer - a panel that slides in from an edge and can be swiped away.
|
|
8733
8916
|
The surface, scrim, heading and motion are the modal concept's (--sl-modal-*), so a
|
|
8734
8917
|
drawer reads as a dialog's sibling; only its size and grab bar are its own
|
|
8735
8918
|
(--sl-drawer-*). Base UI supplies the swipe through
|
|
8736
|
-
--drawer-swipe-movement-x/y and data-swipe-direction on the popup.
|
|
8919
|
+
--drawer-swipe-movement-x/y and data-swipe-direction on the popup.
|
|
8920
|
+
The working-paper rule (rule.width, 0 by default) replaces the top border with a heavier
|
|
8921
|
+
line in rule.color. It is an inset shadow, so it stays put while the drawer scrolls. */
|
|
8737
8922
|
|
|
8738
8923
|
.DrawerBackdrop {
|
|
8739
8924
|
position: fixed;
|
|
@@ -8770,6 +8955,8 @@ button,
|
|
|
8770
8955
|
overflow-y: auto;
|
|
8771
8956
|
overscroll-behavior: contain;
|
|
8772
8957
|
pointer-events: auto;
|
|
8958
|
+
border-top-width: max(0px, var(--sl-modal-border-width) - var(--sl-rule-width) * 1000);
|
|
8959
|
+
box-shadow: inset 0 var(--sl-rule-width) 0 0 var(--sl-rule-color), var(--sl-modal-shadow);
|
|
8773
8960
|
transform: translate(var(--drawer-swipe-movement-x, 0px), var(--drawer-swipe-movement-y, 0px));
|
|
8774
8961
|
transition: transform calc(var(--sl-modal-animation-duration) * var(--drawer-swipe-strength, 1)) var(--sl-modal-animation-easing);
|
|
8775
8962
|
}
|
|
@@ -8800,6 +8987,8 @@ button,
|
|
|
8800
8987
|
max-height: var(--sl-drawer-popup-max-size);
|
|
8801
8988
|
border-top: 0;
|
|
8802
8989
|
border-radius: 0 0 var(--sl-modal-radius) var(--sl-modal-radius);
|
|
8990
|
+
/* Its top edge is the screen's, so no rule. */
|
|
8991
|
+
box-shadow: var(--sl-modal-shadow);
|
|
8803
8992
|
}
|
|
8804
8993
|
|
|
8805
8994
|
.DrawerPopup[data-swipe-direction='right'] {
|
|
@@ -8855,7 +9044,7 @@ button,
|
|
|
8855
9044
|
color: var(--sl-modal-description-color);
|
|
8856
9045
|
}
|
|
8857
9046
|
|
|
8858
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
9047
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
8859
9048
|
/* Field - Mojave Theme
|
|
8860
9049
|
*
|
|
8861
9050
|
* Label, control, description and error. No component tokens: spacing is the field
|
|
@@ -8916,7 +9105,7 @@ textarea.FieldControl {
|
|
|
8916
9105
|
height: auto;
|
|
8917
9106
|
}
|
|
8918
9107
|
|
|
8919
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
9108
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
8920
9109
|
/* Fieldset - Mojave Theme
|
|
8921
9110
|
*
|
|
8922
9111
|
* No component tokens: a titled group of fields, spaced by the stack gaps, with
|
|
@@ -8958,7 +9147,7 @@ textarea.FieldControl {
|
|
|
8958
9147
|
color: var(--sl-text-secondary);
|
|
8959
9148
|
}
|
|
8960
9149
|
|
|
8961
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
9150
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
8962
9151
|
/* Form - Mojave Theme
|
|
8963
9152
|
*
|
|
8964
9153
|
* No component tokens: fields stack with the large block space, and the action
|
|
@@ -8978,7 +9167,7 @@ textarea.FieldControl {
|
|
|
8978
9167
|
margin-top: var(--sl-space-block-md);
|
|
8979
9168
|
}
|
|
8980
9169
|
|
|
8981
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
9170
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
8982
9171
|
/* Input - Mojave Theme
|
|
8983
9172
|
*
|
|
8984
9173
|
* No component tokens: the look is the field concept (tokens/semantic/field.json),
|
|
@@ -9115,7 +9304,7 @@ textarea.FieldControl {
|
|
|
9115
9304
|
padding-inline: var(--sl-control-padding-inline-lg);
|
|
9116
9305
|
}
|
|
9117
9306
|
|
|
9118
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
9307
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
9119
9308
|
/* Menu - Mojave Theme
|
|
9120
9309
|
*
|
|
9121
9310
|
* No component tokens. The trigger is a Button. The popup is the popup concept, rows are item rows at the
|
|
@@ -9264,7 +9453,7 @@ textarea.FieldControl {
|
|
|
9264
9453
|
color: var(--sl-text-tertiary);
|
|
9265
9454
|
}
|
|
9266
9455
|
|
|
9267
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
9456
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
9268
9457
|
/* Menubar - Mojave Theme
|
|
9269
9458
|
*
|
|
9270
9459
|
* No component tokens. A row of quiet triggers, each opening a menu. The popup is the popup concept, rows are item rows at the
|
|
@@ -9457,7 +9646,7 @@ textarea.FieldControl {
|
|
|
9457
9646
|
color: var(--sl-text-tertiary);
|
|
9458
9647
|
}
|
|
9459
9648
|
|
|
9460
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
9649
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
9461
9650
|
/* Meter - Mojave Theme
|
|
9462
9651
|
*
|
|
9463
9652
|
* A gauge (tokens/semantic/gauge.json). The fill is the solid color of the scope around it:
|
|
@@ -9520,7 +9709,7 @@ textarea.FieldControl {
|
|
|
9520
9709
|
height: var(--sl-gauge-height-lg);
|
|
9521
9710
|
}
|
|
9522
9711
|
|
|
9523
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
9712
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
9524
9713
|
/* Navigation Menu - Mojave Theme
|
|
9525
9714
|
*
|
|
9526
9715
|
* The strip is the bar concept, the panel is the popup concept and each link is an item
|
|
@@ -9940,7 +10129,7 @@ textarea.FieldControl {
|
|
|
9940
10129
|
width: 100%;
|
|
9941
10130
|
}
|
|
9942
10131
|
|
|
9943
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
10132
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
9944
10133
|
/* Number Field - Mojave Theme
|
|
9945
10134
|
*
|
|
9946
10135
|
* No component tokens. The input is Input (Input.css) and the label, description and
|
|
@@ -10031,7 +10220,7 @@ textarea.FieldControl {
|
|
|
10031
10220
|
user-select: none;
|
|
10032
10221
|
}
|
|
10033
10222
|
|
|
10034
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
10223
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
10035
10224
|
/* OTP Field - Mojave Theme
|
|
10036
10225
|
*
|
|
10037
10226
|
* One-time code entry: a row of single-character inputs. Each slot is the same control as Input
|
|
@@ -10094,7 +10283,7 @@ textarea.FieldControl {
|
|
|
10094
10283
|
letter-spacing: var(--sl-font-body-magnify-letter-spacing);
|
|
10095
10284
|
}
|
|
10096
10285
|
|
|
10097
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
10286
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
10098
10287
|
/* Popover - Mojave Theme */
|
|
10099
10288
|
|
|
10100
10289
|
/* ============================================
|
|
@@ -10259,7 +10448,7 @@ textarea.FieldControl {
|
|
|
10259
10448
|
fill: var(--sl-popup-arrow-stroke);
|
|
10260
10449
|
}
|
|
10261
10450
|
|
|
10262
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
10451
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
10263
10452
|
/* Preview Card - Mojave Theme
|
|
10264
10453
|
*
|
|
10265
10454
|
* The popup concept (surface, arrow, motion) with a title-magnify title and condense
|
|
@@ -10376,7 +10565,7 @@ textarea.FieldControl {
|
|
|
10376
10565
|
fill: var(--sl-popup-arrow-stroke);
|
|
10377
10566
|
}
|
|
10378
10567
|
|
|
10379
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
10568
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
10380
10569
|
/* Progress - Mojave Theme
|
|
10381
10570
|
*
|
|
10382
10571
|
* A gauge (tokens/semantic/gauge.json), the same bar as Meter. The fill is the solid color of
|
|
@@ -10453,7 +10642,7 @@ textarea.FieldControl {
|
|
|
10453
10642
|
height: var(--sl-gauge-height-lg);
|
|
10454
10643
|
}
|
|
10455
10644
|
|
|
10456
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
10645
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
10457
10646
|
/* Radio - Mojave Theme
|
|
10458
10647
|
* Same box as Checkbox, always round. Sizes follow the label the same way, and the
|
|
10459
10648
|
* dot is a share of the circle (check.dot-scale).
|
|
@@ -10605,7 +10794,7 @@ textarea.FieldControl {
|
|
|
10605
10794
|
gap: var(--sl-gap-stack-sm);
|
|
10606
10795
|
}
|
|
10607
10796
|
|
|
10608
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
10797
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
10609
10798
|
/* Scroll Area - Mojave Theme
|
|
10610
10799
|
*
|
|
10611
10800
|
* The scrollbar is the content scrollbar (content.scrollbar-*): a track that stays clear until
|
|
@@ -10687,7 +10876,7 @@ textarea.FieldControl {
|
|
|
10687
10876
|
background: transparent;
|
|
10688
10877
|
}
|
|
10689
10878
|
|
|
10690
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
10879
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
10691
10880
|
/* Select - Mojave Theme
|
|
10692
10881
|
*
|
|
10693
10882
|
* The trigger is a field (the field pattern, control sizes, the base text style); the
|
|
@@ -10972,7 +11161,7 @@ textarea.FieldControl {
|
|
|
10972
11161
|
stroke-width: var(--sl-stroke-default);
|
|
10973
11162
|
}
|
|
10974
11163
|
|
|
10975
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
11164
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
10976
11165
|
/* Separator - Mojave Theme
|
|
10977
11166
|
*
|
|
10978
11167
|
* A hairline in the everyday divider color (border.default), one stroke thick, with a step of
|
|
@@ -11000,7 +11189,7 @@ textarea.FieldControl {
|
|
|
11000
11189
|
margin-inline: var(--sl-space-4);
|
|
11001
11190
|
}
|
|
11002
11191
|
|
|
11003
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
11192
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
11004
11193
|
/* Slider - Mojave Theme
|
|
11005
11194
|
*
|
|
11006
11195
|
* A slider is a gauge you can drag: the track, fill and label row are gauge.* (the same bar as
|
|
@@ -11166,7 +11355,7 @@ textarea.FieldControl {
|
|
|
11166
11355
|
transform: translate(-50%, 50%);
|
|
11167
11356
|
}
|
|
11168
11357
|
|
|
11169
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
11358
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
11170
11359
|
/* Switch - Mojave Theme
|
|
11171
11360
|
* Switch keeps its track sizes. The thumb, its travel and the ON/OFF text are
|
|
11172
11361
|
* worked out from them: the thumb fills the track's height inside the padding,
|
|
@@ -11332,7 +11521,7 @@ textarea.FieldControl {
|
|
|
11332
11521
|
color: var(--sl-text-disabled);
|
|
11333
11522
|
}
|
|
11334
11523
|
|
|
11335
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
11524
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
11336
11525
|
/* Tabs - Mojave Theme
|
|
11337
11526
|
*
|
|
11338
11527
|
* No component tokens. The divider, the selected line and color, hover and the disabled
|
|
@@ -11468,7 +11657,7 @@ textarea.FieldControl {
|
|
|
11468
11657
|
padding: var(--sl-space-6);
|
|
11469
11658
|
}
|
|
11470
11659
|
|
|
11471
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
11660
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
11472
11661
|
/* Toast - Mojave Theme
|
|
11473
11662
|
*
|
|
11474
11663
|
* A toast is a notice (tokens/semantic/notice.json) on the popup surface. A toast whose type
|
|
@@ -11704,7 +11893,7 @@ textarea.FieldControl {
|
|
|
11704
11893
|
flex-shrink: 0;
|
|
11705
11894
|
}
|
|
11706
11895
|
|
|
11707
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
11896
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
11708
11897
|
/* Toggle - Mojave Theme
|
|
11709
11898
|
* A toggle is a button that stays pressed: the same heights, padding, gap and
|
|
11710
11899
|
* trigger text style as a button of the same size. Pressed, it takes its emphasis level's
|
|
@@ -11816,7 +12005,7 @@ textarea.FieldControl {
|
|
|
11816
12005
|
height: var(--sl-icon-size-maximize);
|
|
11817
12006
|
}
|
|
11818
12007
|
|
|
11819
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
12008
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
11820
12009
|
/* Toggle Group - Mojave Theme
|
|
11821
12010
|
*
|
|
11822
12011
|
* No component tokens. The strip is the bar concept (tokens/semantic/bar.json); the
|
|
@@ -11837,7 +12026,48 @@ textarea.FieldControl {
|
|
|
11837
12026
|
border-radius: var(--sl-radius-item);
|
|
11838
12027
|
}
|
|
11839
12028
|
|
|
11840
|
-
/*
|
|
12029
|
+
/* ============================================
|
|
12030
|
+
SEGMENTED (data-variant="segmented")
|
|
12031
|
+
Joined toggles in one outline, the pressed one filled solid: a switch between a few
|
|
12032
|
+
views or modules. Tokens: toggle-group.segmented-* (tokens/component/toggle-group.json).
|
|
12033
|
+
============================================ */
|
|
12034
|
+
|
|
12035
|
+
.ToggleGroup[data-variant='segmented'] {
|
|
12036
|
+
padding: 0;
|
|
12037
|
+
gap: 0;
|
|
12038
|
+
background: var(--sl-toggle-group-segmented-background);
|
|
12039
|
+
border: var(--sl-stroke-default) solid var(--sl-toggle-group-segmented-border-color);
|
|
12040
|
+
border-radius: var(--sl-radius-chrome);
|
|
12041
|
+
overflow: hidden;
|
|
12042
|
+
}
|
|
12043
|
+
|
|
12044
|
+
.ToggleGroup[data-variant='segmented'] .Toggle {
|
|
12045
|
+
height: calc(var(--sl-control-height-md) - 2 * var(--sl-stroke-default));
|
|
12046
|
+
border: 0;
|
|
12047
|
+
border-radius: 0;
|
|
12048
|
+
background: transparent;
|
|
12049
|
+
color: var(--sl-text-primary);
|
|
12050
|
+
}
|
|
12051
|
+
|
|
12052
|
+
.ToggleGroup[data-variant='segmented'] .Toggle + .Toggle {
|
|
12053
|
+
border-inline-start: var(--sl-stroke-default) solid var(--sl-toggle-group-segmented-border-color);
|
|
12054
|
+
}
|
|
12055
|
+
|
|
12056
|
+
.ToggleGroup[data-variant='segmented'] .Toggle:hover:not([data-disabled]):not(:disabled) {
|
|
12057
|
+
background: var(--sl-fill-subtle);
|
|
12058
|
+
}
|
|
12059
|
+
|
|
12060
|
+
.ToggleGroup[data-variant='segmented'] .Toggle[data-pressed],
|
|
12061
|
+
.ToggleGroup[data-variant='segmented'] .Toggle[data-pressed]:hover:not([data-disabled]):not(:disabled) {
|
|
12062
|
+
background: var(--sl-toggle-group-segmented-pressed-background);
|
|
12063
|
+
color: var(--sl-toggle-group-segmented-pressed-color);
|
|
12064
|
+
}
|
|
12065
|
+
|
|
12066
|
+
.ToggleGroup[data-variant='segmented'] .Toggle:focus-visible {
|
|
12067
|
+
outline-offset: var(--sl-focus-outline-offset-inset);
|
|
12068
|
+
}
|
|
12069
|
+
|
|
12070
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
11841
12071
|
/* Toolbar - Mojave Theme
|
|
11842
12072
|
*
|
|
11843
12073
|
* The strip is the bar concept (tokens/semantic/bar.json). Buttons, toggles, selects
|
|
@@ -11899,7 +12129,7 @@ textarea.FieldControl {
|
|
|
11899
12129
|
max-width: var(--sl-toolbar-input-max-width);
|
|
11900
12130
|
}
|
|
11901
12131
|
|
|
11902
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
12132
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
11903
12133
|
/* Tooltip - Mojave Theme
|
|
11904
12134
|
*
|
|
11905
12135
|
* The inverse surface (surface.inverse, text.on-inverse-surface) with condense text, so a tooltip
|
|
@@ -11960,7 +12190,7 @@ textarea.FieldControl {
|
|
|
11960
12190
|
}
|
|
11961
12191
|
|
|
11962
12192
|
/* Custom components: not Base UI parts. Built from existing concepts and tokens. */
|
|
11963
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
12193
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
11964
12194
|
/* Badge
|
|
11965
12195
|
*
|
|
11966
12196
|
* A status or count label. Not a Base UI part, and not interactive: no hover or focus.
|
|
@@ -12065,7 +12295,7 @@ textarea.FieldControl {
|
|
|
12065
12295
|
height: var(--sl-badge-dot-base);
|
|
12066
12296
|
}
|
|
12067
12297
|
|
|
12068
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
12298
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
12069
12299
|
/*
|
|
12070
12300
|
* DatePicker: a field that opens a calendar for one date or a period.
|
|
12071
12301
|
* Not a Base UI part. The popup is Popover on a wide viewport and Drawer
|
|
@@ -12638,7 +12868,7 @@ textarea.FieldControl {
|
|
|
12638
12868
|
flex-basis: 100%;
|
|
12639
12869
|
}
|
|
12640
12870
|
|
|
12641
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
12871
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
12642
12872
|
/* Money field
|
|
12643
12873
|
*
|
|
12644
12874
|
* An amount of money, built on Number field. The value is an integer in minor units
|
|
@@ -12983,7 +13213,7 @@ textarea.FieldControl {
|
|
|
12983
13213
|
letter-spacing: var(--sl-font-body-base-letter-spacing);
|
|
12984
13214
|
}
|
|
12985
13215
|
|
|
12986
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
13216
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
12987
13217
|
/* ListDetail
|
|
12988
13218
|
*
|
|
12989
13219
|
* The detail of one item, next to its list. Not a Base UI part. It is a Splitter
|
|
@@ -13110,7 +13340,7 @@ textarea.FieldControl {
|
|
|
13110
13340
|
background: transparent;
|
|
13111
13341
|
}
|
|
13112
13342
|
|
|
13113
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
13343
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
13114
13344
|
/* Splitter
|
|
13115
13345
|
*
|
|
13116
13346
|
* Two or more panels and a handle between them. Not a Base UI part. It follows the
|
|
@@ -13318,7 +13548,7 @@ textarea.FieldControl {
|
|
|
13318
13548
|
background: var(--sl-border-default);
|
|
13319
13549
|
}
|
|
13320
13550
|
|
|
13321
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
13551
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
13322
13552
|
/* EmptyState
|
|
13323
13553
|
*
|
|
13324
13554
|
* The block a page, pane, table, list or popup shows when it has nothing to show.
|
|
@@ -13574,7 +13804,7 @@ textarea.FieldControl {
|
|
|
13574
13804
|
color: inherit;
|
|
13575
13805
|
}
|
|
13576
13806
|
|
|
13577
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
13807
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
13578
13808
|
/* Table - Mojave Theme
|
|
13579
13809
|
*
|
|
13580
13810
|
* Base UI has no table, so this styles the native <table class="Table"> elements with the
|
|
@@ -13587,6 +13817,13 @@ textarea.FieldControl {
|
|
|
13587
13817
|
* `<tr><td data-empty colSpan={n}><EmptyState size="compact" … /></td></tr>`. A cell with
|
|
13588
13818
|
* only text still uses this rule's padding. A cell whose child is an EmptyState lets the
|
|
13589
13819
|
* empty state pad itself. The empty row does not take the row hover.
|
|
13820
|
+
*
|
|
13821
|
+
* Totals: tr data-total="subtotal" draws a single rule above the row, and data-total="grand"
|
|
13822
|
+
* a rule above and a double rule under, as on a working paper (table.total-*). They work in
|
|
13823
|
+
* tbody or tfoot. A tfoot row without data-total keeps the header tray band.
|
|
13824
|
+
*
|
|
13825
|
+
* The working-paper rule (rule.width, 0 by default) replaces the table's top border with a
|
|
13826
|
+
* heavier line in rule.color, drawn on the first row's cells so it stays with a sticky header.
|
|
13590
13827
|
*/
|
|
13591
13828
|
|
|
13592
13829
|
.Table {
|
|
@@ -13605,6 +13842,15 @@ textarea.FieldControl {
|
|
|
13605
13842
|
border-radius: var(--sl-table-radius);
|
|
13606
13843
|
overflow: hidden;
|
|
13607
13844
|
font-variant-numeric: tabular-nums;
|
|
13845
|
+
/* The top border steps aside while the working-paper rule is on (any rule.width above 0). */
|
|
13846
|
+
border-top-width: max(0px, var(--sl-stroke-default) - var(--sl-rule-width) * 1000);
|
|
13847
|
+
}
|
|
13848
|
+
|
|
13849
|
+
/* The working-paper rule, on the first row: the header, or the body when there is none.
|
|
13850
|
+
At rule.width 0 this is no border at all. */
|
|
13851
|
+
.Table > thead > tr:first-child > *,
|
|
13852
|
+
.Table:not(:has(> thead)) > tbody:first-of-type > tr:first-child > * {
|
|
13853
|
+
border-top: var(--sl-rule-width) solid var(--sl-rule-color);
|
|
13608
13854
|
}
|
|
13609
13855
|
|
|
13610
13856
|
.Table caption {
|
|
@@ -13716,6 +13962,52 @@ textarea.FieldControl {
|
|
|
13716
13962
|
border-bottom: none;
|
|
13717
13963
|
}
|
|
13718
13964
|
|
|
13965
|
+
/* Subtotal and grand total rows: rules instead of a band, in the subtitle weight.
|
|
13966
|
+
Hover and selection don't apply: a total is not a record. */
|
|
13967
|
+
.Table tr[data-total] > * {
|
|
13968
|
+
font-family: var(--sl-font-subtitle-condense-font-family);
|
|
13969
|
+
font-size: var(--sl-font-subtitle-condense-font-size);
|
|
13970
|
+
font-weight: var(--sl-font-subtitle-condense-font-weight);
|
|
13971
|
+
line-height: var(--sl-font-subtitle-condense-line-height);
|
|
13972
|
+
letter-spacing: var(--sl-font-subtitle-condense-letter-spacing);
|
|
13973
|
+
background: var(--sl-table-total-background);
|
|
13974
|
+
color: var(--sl-table-color);
|
|
13975
|
+
border-top: var(--sl-table-subtotal-rule-width) solid var(--sl-table-total-rule-color);
|
|
13976
|
+
}
|
|
13977
|
+
|
|
13978
|
+
.Table tbody tr[data-total] > * {
|
|
13979
|
+
border-bottom: var(--sl-stroke-default) solid var(--sl-table-row-border-color);
|
|
13980
|
+
}
|
|
13981
|
+
|
|
13982
|
+
.Table tbody tr[data-total]:last-child:not([data-total='grand']) > * {
|
|
13983
|
+
border-bottom: none;
|
|
13984
|
+
}
|
|
13985
|
+
|
|
13986
|
+
/* The grand total: a double rule under the figures. */
|
|
13987
|
+
.Table :is(tbody, tfoot) tr[data-total='grand'] > * {
|
|
13988
|
+
border-bottom: var(--sl-table-grand-total-rule-width) double var(--sl-table-total-rule-color);
|
|
13989
|
+
}
|
|
13990
|
+
|
|
13991
|
+
/* A label or blank cell in a total row can leave the rules off, so they only run under the
|
|
13992
|
+
figures: data-rule="none" on the cell. */
|
|
13993
|
+
.Table :is(tbody, tfoot) tr[data-total] > [data-rule='none'] {
|
|
13994
|
+
border-top-color: transparent;
|
|
13995
|
+
border-bottom-color: transparent;
|
|
13996
|
+
}
|
|
13997
|
+
|
|
13998
|
+
/* In the footer the body's last row has no line under it, so those cells keep the footer's
|
|
13999
|
+
usual line on top. */
|
|
14000
|
+
.Table tfoot tr[data-total] > [data-rule='none'] {
|
|
14001
|
+
border-top: var(--sl-stroke-default) solid var(--sl-table-border-color);
|
|
14002
|
+
}
|
|
14003
|
+
|
|
14004
|
+
@media (hover: hover) {
|
|
14005
|
+
.Table tbody tr[data-total]:hover > * {
|
|
14006
|
+
background: var(--sl-table-total-background);
|
|
14007
|
+
color: var(--sl-table-color);
|
|
14008
|
+
}
|
|
14009
|
+
}
|
|
14010
|
+
|
|
13719
14011
|
/* A header that stays put while the body scrolls (the table's wrapper scrolls) */
|
|
13720
14012
|
.Table[data-sticky-header] thead th {
|
|
13721
14013
|
position: sticky;
|
|
@@ -13746,7 +14038,7 @@ textarea.FieldControl {
|
|
|
13746
14038
|
color: inherit;
|
|
13747
14039
|
}
|
|
13748
14040
|
|
|
13749
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
14041
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
13750
14042
|
/* Collection
|
|
13751
14043
|
*
|
|
13752
14044
|
* DataTable, DataList, the toolbar and the pagination, in one place so the two views
|
|
@@ -13757,7 +14049,7 @@ textarea.FieldControl {
|
|
|
13757
14049
|
* the tabs and the search where they are, so selecting rows does not grow the toolbar.
|
|
13758
14050
|
*/
|
|
13759
14051
|
|
|
13760
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
14052
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
13761
14053
|
/* Collection toolbar
|
|
13762
14054
|
*
|
|
13763
14055
|
* The wrap follows the toolbar's own width, not the window: a table in a narrow pane wraps
|
|
@@ -13898,7 +14190,7 @@ textarea.FieldControl {
|
|
|
13898
14190
|
letter-spacing: var(--sl-font-body-condense-letter-spacing);
|
|
13899
14191
|
}
|
|
13900
14192
|
|
|
13901
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
14193
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
13902
14194
|
/* DataTable additions on top of .Table.
|
|
13903
14195
|
*
|
|
13904
14196
|
* Sort buttons fill the header cell and inherit its hover, so old aria-sort markup keeps
|
|
@@ -14019,12 +14311,15 @@ textarea.FieldControl {
|
|
|
14019
14311
|
color: var(--sl-table-subtle-color);
|
|
14020
14312
|
}
|
|
14021
14313
|
|
|
14022
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
14314
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
14023
14315
|
/* DataList
|
|
14024
14316
|
*
|
|
14025
14317
|
* The same rows as the table, in one container with the table's borders, hover, selected
|
|
14026
14318
|
* and current states. Not a stack of floating cards: the two views should read as one family.
|
|
14027
14319
|
* variant=cards adds the surface radius and a gap when a queue should read as separate items.
|
|
14320
|
+
*
|
|
14321
|
+
* The working-paper rule (rule.width, 0 by default) replaces the top border with a heavier
|
|
14322
|
+
* line in rule.color: on the first row, or on each card's top edge.
|
|
14028
14323
|
*/
|
|
14029
14324
|
|
|
14030
14325
|
.DataList {
|
|
@@ -14043,6 +14338,13 @@ textarea.FieldControl {
|
|
|
14043
14338
|
background: var(--sl-table-background);
|
|
14044
14339
|
border: var(--sl-stroke-default) solid var(--sl-table-border-color);
|
|
14045
14340
|
border-radius: var(--sl-table-radius);
|
|
14341
|
+
/* The top border steps aside while the working-paper rule is on (any rule.width above 0). */
|
|
14342
|
+
border-top-width: max(0px, var(--sl-stroke-default) - var(--sl-rule-width) * 1000);
|
|
14343
|
+
}
|
|
14344
|
+
|
|
14345
|
+
/* The working-paper rule on the first row. At rule.width 0 this is no border at all. */
|
|
14346
|
+
.DataList ul > li:first-child {
|
|
14347
|
+
border-top: var(--sl-rule-width) solid var(--sl-rule-color);
|
|
14046
14348
|
}
|
|
14047
14349
|
|
|
14048
14350
|
.DataList li {
|
|
@@ -14136,6 +14438,14 @@ textarea.FieldControl {
|
|
|
14136
14438
|
background: var(--sl-table-background);
|
|
14137
14439
|
border: var(--sl-stroke-default) solid var(--sl-table-border-color);
|
|
14138
14440
|
border-radius: var(--sl-table-radius);
|
|
14441
|
+
border-top-width: max(0px, var(--sl-stroke-default) - var(--sl-rule-width) * 1000);
|
|
14442
|
+
box-shadow: inset 0 var(--sl-rule-width) 0 0 var(--sl-rule-color);
|
|
14443
|
+
}
|
|
14444
|
+
|
|
14445
|
+
.DataList[data-variant='cards'] li[aria-current='true'] {
|
|
14446
|
+
box-shadow:
|
|
14447
|
+
inset var(--sl-stroke-strong) 0 0 0 var(--sl-border-accent),
|
|
14448
|
+
inset 0 var(--sl-rule-width) 0 0 var(--sl-rule-color);
|
|
14139
14449
|
}
|
|
14140
14450
|
|
|
14141
14451
|
.DataList[data-loading] ul {
|
|
@@ -14143,7 +14453,7 @@ textarea.FieldControl {
|
|
|
14143
14453
|
transition: opacity var(--sl-duration-fast) var(--sl-easing-default);
|
|
14144
14454
|
}
|
|
14145
14455
|
|
|
14146
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
14456
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
14147
14457
|
/* Pagination
|
|
14148
14458
|
*
|
|
14149
14459
|
* Not tied to a collection. Anything with a page, a page count and a total can use it.
|
|
@@ -14168,7 +14478,7 @@ textarea.FieldControl {
|
|
|
14168
14478
|
margin: 0;
|
|
14169
14479
|
}
|
|
14170
14480
|
|
|
14171
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
14481
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
14172
14482
|
/* EditableList
|
|
14173
14483
|
*
|
|
14174
14484
|
* One table at every width, so a field is not submitted twice. Under the stack width each
|
|
@@ -14266,3 +14576,351 @@ textarea.FieldControl {
|
|
|
14266
14576
|
letter-spacing: var(--sl-font-subtitle-condense-letter-spacing);
|
|
14267
14577
|
}
|
|
14268
14578
|
}
|
|
14579
|
+
|
|
14580
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
14581
|
+
/* Sheet
|
|
14582
|
+
*
|
|
14583
|
+
* A working-paper surface: the raised surface with a heavier rule across its top
|
|
14584
|
+
* (sheet.rule-width in sheet.rule-color) instead of its top border, and an optional tab
|
|
14585
|
+
* label that sits on the rule like the tab of a ledger page. The tab is caps-condense on
|
|
14586
|
+
* the inverse surface. An action (an Edit link, a count) sits at the end of the header row.
|
|
14587
|
+
* Tokens: sheet.* (tokens/component/sheet.json).
|
|
14588
|
+
*
|
|
14589
|
+
* Content runs edge to edge, so a Table, DataList or leader DescriptionList inside lines up
|
|
14590
|
+
* with the sheet's sides; data-inset on SheetBody pads it by sheet.padding instead. A Table
|
|
14591
|
+
* inside drops its own outer border and corners, since the sheet is its frame.
|
|
14592
|
+
*/
|
|
14593
|
+
|
|
14594
|
+
.Sheet {
|
|
14595
|
+
box-sizing: border-box;
|
|
14596
|
+
display: flex;
|
|
14597
|
+
flex-direction: column;
|
|
14598
|
+
min-width: 0;
|
|
14599
|
+
}
|
|
14600
|
+
|
|
14601
|
+
.SheetHeader {
|
|
14602
|
+
display: flex;
|
|
14603
|
+
align-items: flex-end;
|
|
14604
|
+
gap: var(--sl-sheet-header-gap);
|
|
14605
|
+
min-height: var(--sl-sheet-tab-height);
|
|
14606
|
+
}
|
|
14607
|
+
|
|
14608
|
+
.SheetTab {
|
|
14609
|
+
font-family: var(--sl-font-caps-condense-font-family);
|
|
14610
|
+
font-size: var(--sl-font-caps-condense-font-size);
|
|
14611
|
+
font-weight: var(--sl-font-caps-condense-font-weight);
|
|
14612
|
+
line-height: var(--sl-font-caps-condense-line-height);
|
|
14613
|
+
letter-spacing: var(--sl-font-caps-condense-letter-spacing);
|
|
14614
|
+
text-transform: var(--sl-font-caps-condense-text-transform);
|
|
14615
|
+
display: inline-flex;
|
|
14616
|
+
align-items: center;
|
|
14617
|
+
height: var(--sl-sheet-tab-height);
|
|
14618
|
+
padding-inline: var(--sl-sheet-tab-padding-inline);
|
|
14619
|
+
background: var(--sl-sheet-tab-background);
|
|
14620
|
+
color: var(--sl-sheet-tab-color);
|
|
14621
|
+
border-radius: var(--sl-sheet-tab-radius) var(--sl-sheet-tab-radius) 0 0;
|
|
14622
|
+
white-space: nowrap;
|
|
14623
|
+
}
|
|
14624
|
+
|
|
14625
|
+
.SheetAction {
|
|
14626
|
+
font-family: var(--sl-font-subtitle-condense-font-family);
|
|
14627
|
+
font-size: var(--sl-font-subtitle-condense-font-size);
|
|
14628
|
+
font-weight: var(--sl-font-subtitle-condense-font-weight);
|
|
14629
|
+
line-height: var(--sl-font-subtitle-condense-line-height);
|
|
14630
|
+
letter-spacing: var(--sl-font-subtitle-condense-letter-spacing);
|
|
14631
|
+
margin-inline-start: auto;
|
|
14632
|
+
padding-block-end: var(--sl-space-1);
|
|
14633
|
+
}
|
|
14634
|
+
|
|
14635
|
+
.SheetBody {
|
|
14636
|
+
box-sizing: border-box;
|
|
14637
|
+
flex: 1;
|
|
14638
|
+
min-width: 0;
|
|
14639
|
+
background: var(--sl-sheet-background);
|
|
14640
|
+
border: var(--sl-sheet-border-width) solid var(--sl-sheet-border-color);
|
|
14641
|
+
border-top: var(--sl-sheet-rule-width) solid var(--sl-sheet-rule-color);
|
|
14642
|
+
border-radius: var(--sl-sheet-radius);
|
|
14643
|
+
/* Rows inside keep to the rounded corners. clip, not hidden, so a sticky header still sticks. */
|
|
14644
|
+
overflow: clip;
|
|
14645
|
+
}
|
|
14646
|
+
|
|
14647
|
+
/* Under a tab the top corners stay square, so the tab sits flush on the rule. */
|
|
14648
|
+
.Sheet[data-tab] > .SheetBody {
|
|
14649
|
+
border-start-start-radius: 0;
|
|
14650
|
+
border-start-end-radius: 0;
|
|
14651
|
+
}
|
|
14652
|
+
|
|
14653
|
+
.SheetBody[data-inset] {
|
|
14654
|
+
padding: var(--sl-sheet-padding);
|
|
14655
|
+
}
|
|
14656
|
+
|
|
14657
|
+
/* The sheet is the frame: a table or list inside drops its own outer edge. */
|
|
14658
|
+
.SheetBody > .Table,
|
|
14659
|
+
.SheetBody > .CollectionView .Table,
|
|
14660
|
+
.SheetBody > .DataList ul {
|
|
14661
|
+
border: 0;
|
|
14662
|
+
border-radius: 0;
|
|
14663
|
+
}
|
|
14664
|
+
|
|
14665
|
+
.SheetBody > .Table > thead > tr:first-child > *,
|
|
14666
|
+
.SheetBody > .Table:not(:has(> thead)) > tbody:first-of-type > tr:first-child > *,
|
|
14667
|
+
.SheetBody > .DataList ul > li:first-child {
|
|
14668
|
+
border-top: 0;
|
|
14669
|
+
}
|
|
14670
|
+
|
|
14671
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
14672
|
+
/* StatFigure
|
|
14673
|
+
*
|
|
14674
|
+
* One large figure with a caps label above and a caption under it. The label is
|
|
14675
|
+
* caps-condense, the figure uses the figures text family (mono, tabular numbers) at
|
|
14676
|
+
* stat-figure.figure-font-size, the caption is body-condense. data-underline="double"
|
|
14677
|
+
* draws a double rule under the figure only, the accountant's mark for a final total;
|
|
14678
|
+
* data-tone="accent" colors the figure; data-size="sm" makes it smaller for a row of figures.
|
|
14679
|
+
* Tokens: stat-figure.* (tokens/component/stat-figure.json).
|
|
14680
|
+
*/
|
|
14681
|
+
|
|
14682
|
+
.StatFigure {
|
|
14683
|
+
display: inline-flex;
|
|
14684
|
+
flex-direction: column;
|
|
14685
|
+
align-items: flex-start;
|
|
14686
|
+
gap: var(--sl-stat-figure-gap);
|
|
14687
|
+
min-width: 0;
|
|
14688
|
+
}
|
|
14689
|
+
|
|
14690
|
+
.StatFigureLabel {
|
|
14691
|
+
font-family: var(--sl-font-caps-condense-font-family);
|
|
14692
|
+
font-size: var(--sl-font-caps-condense-font-size);
|
|
14693
|
+
font-weight: var(--sl-font-caps-condense-font-weight);
|
|
14694
|
+
line-height: var(--sl-font-caps-condense-line-height);
|
|
14695
|
+
letter-spacing: var(--sl-font-caps-condense-letter-spacing);
|
|
14696
|
+
text-transform: var(--sl-font-caps-condense-text-transform);
|
|
14697
|
+
color: var(--sl-stat-figure-label-color);
|
|
14698
|
+
}
|
|
14699
|
+
|
|
14700
|
+
.StatFigureValue {
|
|
14701
|
+
font-family: var(--sl-font-figures-base-font-family);
|
|
14702
|
+
font-variant-numeric: var(--sl-font-figures-base-font-variant-numeric);
|
|
14703
|
+
font-size: var(--sl-stat-figure-figure-font-size);
|
|
14704
|
+
font-weight: var(--sl-stat-figure-figure-font-weight);
|
|
14705
|
+
line-height: var(--sl-stat-figure-figure-line-height);
|
|
14706
|
+
color: var(--sl-stat-figure-figure-color);
|
|
14707
|
+
white-space: nowrap;
|
|
14708
|
+
}
|
|
14709
|
+
|
|
14710
|
+
.StatFigure[data-size='sm'] .StatFigureValue {
|
|
14711
|
+
font-size: var(--sl-stat-figure-figure-font-size-sm);
|
|
14712
|
+
line-height: var(--sl-stat-figure-figure-line-height-sm);
|
|
14713
|
+
}
|
|
14714
|
+
|
|
14715
|
+
.StatFigure[data-tone='accent'] .StatFigureValue {
|
|
14716
|
+
color: var(--sl-stat-figure-figure-color-accent);
|
|
14717
|
+
}
|
|
14718
|
+
|
|
14719
|
+
.StatFigure[data-underline='double'] .StatFigureValue {
|
|
14720
|
+
border-bottom: var(--sl-stat-figure-underline-width) double var(--sl-stat-figure-underline-color);
|
|
14721
|
+
}
|
|
14722
|
+
|
|
14723
|
+
.StatFigureCaption {
|
|
14724
|
+
font-family: var(--sl-font-body-condense-font-family);
|
|
14725
|
+
font-size: var(--sl-font-body-condense-font-size);
|
|
14726
|
+
font-weight: var(--sl-font-body-condense-font-weight);
|
|
14727
|
+
line-height: var(--sl-font-body-condense-line-height);
|
|
14728
|
+
letter-spacing: var(--sl-font-body-condense-letter-spacing);
|
|
14729
|
+
color: var(--sl-stat-figure-caption-color);
|
|
14730
|
+
}
|
|
14731
|
+
|
|
14732
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
14733
|
+
/* DescriptionList
|
|
14734
|
+
*
|
|
14735
|
+
* Label and value pairs in a native dl, one DescriptionItem (a div holding a dt and a dd)
|
|
14736
|
+
* per pair, with a hairline between pairs. The default variant sets labels in a column
|
|
14737
|
+
* beside their values. data-variant="leader" runs a dotted leader from each label to its
|
|
14738
|
+
* value, which sits at the end of the row, as on a working paper. Labels are body text
|
|
14739
|
+
* in the secondary color, values primary text with tabular numbers.
|
|
14740
|
+
* Tokens: description-list.* (tokens/component/description-list.json).
|
|
14741
|
+
*/
|
|
14742
|
+
|
|
14743
|
+
.DescriptionList {
|
|
14744
|
+
font-family: var(--sl-font-body-base-font-family);
|
|
14745
|
+
font-size: var(--sl-font-body-base-font-size);
|
|
14746
|
+
font-weight: var(--sl-font-body-base-font-weight);
|
|
14747
|
+
line-height: var(--sl-font-body-base-line-height);
|
|
14748
|
+
letter-spacing: var(--sl-font-body-base-letter-spacing);
|
|
14749
|
+
margin: 0;
|
|
14750
|
+
padding: 0;
|
|
14751
|
+
font-variant-numeric: tabular-nums;
|
|
14752
|
+
}
|
|
14753
|
+
|
|
14754
|
+
.DescriptionItem {
|
|
14755
|
+
display: grid;
|
|
14756
|
+
grid-template-columns: var(--sl-description-list-label-width) 2fr;
|
|
14757
|
+
align-items: baseline;
|
|
14758
|
+
column-gap: var(--sl-description-list-column-gap);
|
|
14759
|
+
padding-block: var(--sl-description-list-row-padding-block);
|
|
14760
|
+
padding-inline: var(--sl-description-list-row-padding-inline);
|
|
14761
|
+
border-bottom: var(--sl-stroke-default) solid var(--sl-description-list-row-border-color);
|
|
14762
|
+
}
|
|
14763
|
+
|
|
14764
|
+
.DescriptionItem:last-child {
|
|
14765
|
+
border-bottom: none;
|
|
14766
|
+
}
|
|
14767
|
+
|
|
14768
|
+
.DescriptionTerm {
|
|
14769
|
+
margin: 0;
|
|
14770
|
+
color: var(--sl-description-list-label-color);
|
|
14771
|
+
}
|
|
14772
|
+
|
|
14773
|
+
.DescriptionDetails {
|
|
14774
|
+
margin: 0;
|
|
14775
|
+
min-width: 0;
|
|
14776
|
+
color: var(--sl-description-list-value-color);
|
|
14777
|
+
overflow-wrap: anywhere;
|
|
14778
|
+
}
|
|
14779
|
+
|
|
14780
|
+
/* Leader: the label grows to fill the row, and its ::after is the dotted line that leads
|
|
14781
|
+
to the value. The line sits on the text's baseline. */
|
|
14782
|
+
.DescriptionList[data-variant='leader'] .DescriptionItem {
|
|
14783
|
+
display: flex;
|
|
14784
|
+
column-gap: var(--sl-description-list-leader-gap);
|
|
14785
|
+
}
|
|
14786
|
+
|
|
14787
|
+
.DescriptionList[data-variant='leader'] .DescriptionTerm {
|
|
14788
|
+
display: flex;
|
|
14789
|
+
flex: 1 1 auto;
|
|
14790
|
+
align-items: baseline;
|
|
14791
|
+
gap: var(--sl-description-list-leader-gap);
|
|
14792
|
+
min-width: 0;
|
|
14793
|
+
}
|
|
14794
|
+
|
|
14795
|
+
.DescriptionList[data-variant='leader'] .DescriptionTerm::after {
|
|
14796
|
+
content: '';
|
|
14797
|
+
flex: 1 1 var(--sl-space-6);
|
|
14798
|
+
min-width: var(--sl-space-6);
|
|
14799
|
+
border-bottom: var(--sl-description-list-leader-width) dotted var(--sl-description-list-leader-color);
|
|
14800
|
+
}
|
|
14801
|
+
|
|
14802
|
+
.DescriptionList[data-variant='leader'] .DescriptionDetails {
|
|
14803
|
+
flex: 0 1 auto;
|
|
14804
|
+
max-width: 60%;
|
|
14805
|
+
text-align: end;
|
|
14806
|
+
}
|
|
14807
|
+
|
|
14808
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
14809
|
+
/* AppBar
|
|
14810
|
+
*
|
|
14811
|
+
* The bar across the top of an app window, one row on a line in the rule color. The line is
|
|
14812
|
+
* app-bar.border-width while rule.width is 0, and the thicker of the two once a brand turns the
|
|
14813
|
+
* rule on, so an ink-rule brand gets the working-paper rule under its app bar.
|
|
14814
|
+
* AppBarSpacer pushes what follows it to the end. A vertical Separator inside is a short
|
|
14815
|
+
* divider between groups of icon actions. Tokens: app-bar.* (tokens/component/app-bar.json).
|
|
14816
|
+
*/
|
|
14817
|
+
|
|
14818
|
+
.AppBar {
|
|
14819
|
+
box-sizing: border-box;
|
|
14820
|
+
display: flex;
|
|
14821
|
+
align-items: center;
|
|
14822
|
+
gap: var(--sl-app-bar-gap);
|
|
14823
|
+
min-height: var(--sl-app-bar-height);
|
|
14824
|
+
padding-inline: var(--sl-app-bar-padding-inline);
|
|
14825
|
+
padding-block: var(--sl-space-2);
|
|
14826
|
+
background: var(--sl-app-bar-background);
|
|
14827
|
+
border-bottom: max(var(--sl-app-bar-border-width), var(--sl-rule-width)) solid var(--sl-app-bar-border-color);
|
|
14828
|
+
min-width: 0;
|
|
14829
|
+
}
|
|
14830
|
+
|
|
14831
|
+
.AppBarSpacer {
|
|
14832
|
+
flex: 1 1 var(--sl-space-4);
|
|
14833
|
+
min-width: 0;
|
|
14834
|
+
}
|
|
14835
|
+
|
|
14836
|
+
.AppBar .Separator[data-orientation='vertical'] {
|
|
14837
|
+
height: var(--sl-app-bar-divider-height);
|
|
14838
|
+
margin-inline: var(--sl-space-1);
|
|
14839
|
+
background: var(--sl-app-bar-divider-color);
|
|
14840
|
+
}
|
|
14841
|
+
|
|
14842
|
+
/* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
|
|
14843
|
+
/* PickerButton
|
|
14844
|
+
*
|
|
14845
|
+
* A trigger with a caps label before the current choice: CLIENT Alpha Services. The field
|
|
14846
|
+
* look and states of a Select trigger; the label is caps-condense in picker-button.label-color,
|
|
14847
|
+
* the choice is cut with an ellipsis at picker-button.max-width and the chevron turns while
|
|
14848
|
+
* its popup is open. Tokens: picker-button.* (tokens/component/picker-button.json) and field.*.
|
|
14849
|
+
*/
|
|
14850
|
+
|
|
14851
|
+
.PickerButton {
|
|
14852
|
+
box-sizing: border-box;
|
|
14853
|
+
color: var(--sl-field-color);
|
|
14854
|
+
background: var(--sl-field-background);
|
|
14855
|
+
border: var(--sl-field-border-width) solid var(--sl-field-border-color);
|
|
14856
|
+
border-radius: var(--sl-field-radius);
|
|
14857
|
+
transition: var(--sl-field-transition);
|
|
14858
|
+
outline: none;
|
|
14859
|
+
font-family: var(--sl-font-body-base-font-family);
|
|
14860
|
+
font-size: var(--sl-font-body-base-font-size);
|
|
14861
|
+
font-weight: var(--sl-font-body-base-font-weight);
|
|
14862
|
+
line-height: var(--sl-font-body-base-line-height);
|
|
14863
|
+
letter-spacing: var(--sl-font-body-base-letter-spacing);
|
|
14864
|
+
display: inline-flex;
|
|
14865
|
+
align-items: center;
|
|
14866
|
+
gap: var(--sl-gap-control);
|
|
14867
|
+
max-width: var(--sl-picker-button-max-width);
|
|
14868
|
+
min-width: 0;
|
|
14869
|
+
height: var(--sl-control-height-md);
|
|
14870
|
+
margin: 0;
|
|
14871
|
+
padding-block: var(--sl-control-padding-block);
|
|
14872
|
+
padding-inline: var(--sl-control-padding-inline);
|
|
14873
|
+
cursor: pointer;
|
|
14874
|
+
white-space: nowrap;
|
|
14875
|
+
}
|
|
14876
|
+
|
|
14877
|
+
.PickerButton:hover:not(:disabled) {
|
|
14878
|
+
border-color: var(--sl-field-border-color-hover);
|
|
14879
|
+
}
|
|
14880
|
+
|
|
14881
|
+
.PickerButton:focus-visible {
|
|
14882
|
+
border-color: var(--sl-field-border-color-focus);
|
|
14883
|
+
box-shadow: var(--sl-field-shadow-focus);
|
|
14884
|
+
}
|
|
14885
|
+
|
|
14886
|
+
.PickerButton:disabled {
|
|
14887
|
+
background: var(--sl-field-background-disabled);
|
|
14888
|
+
color: var(--sl-field-color-disabled);
|
|
14889
|
+
cursor: not-allowed;
|
|
14890
|
+
}
|
|
14891
|
+
|
|
14892
|
+
.PickerButtonLabel {
|
|
14893
|
+
font-family: var(--sl-font-caps-condense-font-family);
|
|
14894
|
+
font-size: var(--sl-font-caps-condense-font-size);
|
|
14895
|
+
font-weight: var(--sl-font-caps-condense-font-weight);
|
|
14896
|
+
line-height: var(--sl-font-caps-condense-line-height);
|
|
14897
|
+
letter-spacing: var(--sl-font-caps-condense-letter-spacing);
|
|
14898
|
+
text-transform: var(--sl-font-caps-condense-text-transform);
|
|
14899
|
+
flex: none;
|
|
14900
|
+
color: var(--sl-picker-button-label-color);
|
|
14901
|
+
}
|
|
14902
|
+
|
|
14903
|
+
.PickerButtonValue {
|
|
14904
|
+
flex: 0 1 auto;
|
|
14905
|
+
min-width: 0;
|
|
14906
|
+
overflow: hidden;
|
|
14907
|
+
text-overflow: ellipsis;
|
|
14908
|
+
color: var(--sl-field-color);
|
|
14909
|
+
}
|
|
14910
|
+
|
|
14911
|
+
.PickerButtonValue[data-placeholder] {
|
|
14912
|
+
color: var(--sl-field-placeholder-color);
|
|
14913
|
+
}
|
|
14914
|
+
|
|
14915
|
+
.PickerButtonIcon {
|
|
14916
|
+
flex: none;
|
|
14917
|
+
width: var(--sl-icon-size-base);
|
|
14918
|
+
height: var(--sl-icon-size-base);
|
|
14919
|
+
color: var(--sl-text-tertiary);
|
|
14920
|
+
transition: transform var(--sl-duration-normal) var(--sl-easing-default);
|
|
14921
|
+
}
|
|
14922
|
+
|
|
14923
|
+
.PickerButton[aria-expanded='true'] .PickerButtonIcon,
|
|
14924
|
+
.PickerButton[data-popup-open] .PickerButtonIcon {
|
|
14925
|
+
transform: rotate(180deg);
|
|
14926
|
+
}
|