@scattered-light/loomiere-mojave 0.8.0 → 0.10.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 +3 -3
- package/dist/exports/catalog.json +6 -0
- package/dist/exports/design-system/README.md +3 -3
- 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/PickerButton/README.md +56 -0
- package/dist/exports/design-system/components/PickerButton/preview.html +19 -0
- package/dist/exports/design-system/components/SideNav/README.md +73 -0
- package/dist/exports/design-system/components/SideNav/preview.html +19 -0
- 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 +604 -163
- package/dist/exports/design-system/components/bundle.js +7 -7
- package/dist/exports/design-system/components/index.d.ts +1 -1
- package/dist/exports/figma.json +1 -1
- package/dist/exports/tailwind.css +63 -0
- package/dist/exports/tokens.dtcg.json +169 -0
- package/dist/tokens.css +204 -106
- package/dist/tokens.d.ts +43 -0
- package/dist/tokens.js +43 -0
- package/dist/tokens.json +322 -1
- package/package.json +2 -2
|
@@ -794,6 +794,7 @@
|
|
|
794
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%. */
|
|
795
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. */
|
|
796
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. */
|
|
797
798
|
--sl-preview-card-popup-min-width: 300px; /** Narrowest a preview card gets, so a short title still has room for its image. */
|
|
798
799
|
--sl-preview-card-popup-max-width: 450px; /** Widest a preview card gets, so its description keeps a comfortable line length. */
|
|
799
800
|
--sl-slider-vertical-height: 200px; /** Default length of a vertical slider. */
|
|
@@ -1680,111 +1681,6 @@
|
|
|
1680
1681
|
--sl-font-link-minimize-font-weight: var(--sl-font-weight-normal); /** font-weight of font.link-minimize. */
|
|
1681
1682
|
--sl-font-link-minimize-line-height: var(--sl-line-height-xs); /** line-height of font.link-minimize. */
|
|
1682
1683
|
--sl-font-link-minimize-letter-spacing: var(--sl-letter-spacing-normal); /** letter-spacing of font.link-minimize. */
|
|
1683
|
-
--sl-a11y-focus-ring-radius: var(--sl-radius-focus); /** Rounds the focus ring to match the small control radius. */
|
|
1684
|
-
--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. */
|
|
1685
|
-
--sl-calendar-day-radius: var(--sl-radius-pill); /** Selected days are circles. The pill radius is the same full radius badges and switches use. */
|
|
1686
|
-
--sl-check-border-width: var(--sl-stroke-default); /** Edge thickness. */
|
|
1687
|
-
--sl-check-radius: var(--sl-radius-box); /** Checkbox corners. Radios are always round. */
|
|
1688
|
-
--sl-check-transition: var(--sl-transition-input); /** Changes at the same speed as a field. */
|
|
1689
|
-
--sl-status-error: var(--sl-scope-error-signal); /** Errors and destructive actions. */
|
|
1690
|
-
--sl-status-error-dark: var(--sl-scope-error-fg); /** Error color for text or icons that need more contrast than the base color. */
|
|
1691
|
-
--sl-status-error-light: var(--sl-scope-error-soft); /** Error tint for backgrounds behind error messages. */
|
|
1692
|
-
--sl-status-info: var(--sl-scope-info-signal); /** Neutral notices and help. */
|
|
1693
|
-
--sl-status-info-dark: var(--sl-scope-info-fg); /** Info color for text or icons that need more contrast. */
|
|
1694
|
-
--sl-status-info-light: var(--sl-scope-info-soft); /** Info tint for notice backgrounds. */
|
|
1695
|
-
--sl-status-success: var(--sl-scope-success-signal); /** Confirmations and completed states. */
|
|
1696
|
-
--sl-status-success-dark: var(--sl-scope-success-fg); /** Success color for text or icons that need more contrast. */
|
|
1697
|
-
--sl-status-success-light: var(--sl-scope-success-soft); /** Success tint for confirmation backgrounds. */
|
|
1698
|
-
--sl-status-warning: var(--sl-scope-warning-signal); /** Warnings, and the required-field marker. */
|
|
1699
|
-
--sl-status-warning-dark: var(--sl-scope-warning-fg); /** Warning color for text or icons that need more contrast. */
|
|
1700
|
-
--sl-status-warning-light: var(--sl-scope-warning-soft); /** Warning tint for caution backgrounds. */
|
|
1701
|
-
--sl-text-primary: var(--sl-scope-chrome-fg); /** Body text and headings. The highest-contrast neutral. */
|
|
1702
|
-
--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. */
|
|
1703
|
-
--sl-disclosure-indicator-width: var(--sl-stroke-emphasis); /** Selected tab line thickness. */
|
|
1704
|
-
--sl-field-border-width: var(--sl-stroke-default); /** Field edge thickness. */
|
|
1705
|
-
--sl-field-radius: var(--sl-radius-control); /** Field corners, the same as every other control. */
|
|
1706
|
-
--sl-field-transition: var(--sl-transition-input); /** Border and halo ease in, never snap. */
|
|
1707
|
-
--sl-gauge-radius: var(--sl-radius-pill); /** Round ends on the track and the fill. */
|
|
1708
|
-
--sl-icon-button-radius: var(--sl-radius-item); /** Rounded like a menu item, since its hover fill reads as a highlighted item. */
|
|
1709
|
-
--sl-icon-button-transition: var(--sl-transition-button); /** Responds as fast as a button. */
|
|
1710
|
-
--sl-item-radius: var(--sl-radius-item); /** Row corners inside the popup. */
|
|
1711
|
-
--sl-modal-border-width: var(--sl-stroke-default); /** Modal edge thickness. */
|
|
1712
|
-
--sl-modal-radius: var(--sl-radius-modal); /** The largest radius, so a modal reads as its own layer. A drawer rounds only the edge facing the page. */
|
|
1713
|
-
--sl-modal-shadow: var(--sl-elevation-xl); /** The deepest shadow, because a modal sits above everything but popups and toasts. */
|
|
1714
|
-
--sl-modal-backdrop: color-mix(in srgb, var(--sl-overlay-base) 50%, transparent); /** Scrim that dims the page behind a modal. */
|
|
1715
|
-
--sl-popup-border-width: var(--sl-stroke-default); /** Popup edge thickness. */
|
|
1716
|
-
--sl-popup-radius: var(--sl-radius-surface); /** Corners of a free-floating popup. */
|
|
1717
|
-
--sl-popup-radius-field: var(--sl-radius-control); /** Corners of a list that drops from a field, matching the field so the two read as one control. */
|
|
1718
|
-
--sl-popup-shadow: var(--sl-elevation-lg); /** Lifts the popup above the page. */
|
|
1719
|
-
--sl-popup-empty-padding-block: var(--sl-empty-padding-block-compact); /** Room around a plain 'No results' line. The same padding as a compact empty state, so a sentence and an EmptyState in that slot take the same space. An EmptyState drops this padding and uses its own. */
|
|
1720
|
-
--sl-table-row-height: var(--sl-control-height-sm); /** Row height: the small control height, so a checkbox, input or button in a cell fits without growing the row. */
|
|
1721
|
-
--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. */
|
|
1722
|
-
--sl-table-cell-padding-inline: var(--sl-control-padding-inline-sm); /** Space either side of cell text, matching small controls. */
|
|
1723
|
-
--sl-table-radius: var(--sl-radius-surface); /** Grid corners, like any card or panel. */
|
|
1724
|
-
--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. */
|
|
1725
|
-
--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. */
|
|
1726
|
-
--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. */
|
|
1727
|
-
--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. */
|
|
1728
|
-
--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. */
|
|
1729
|
-
--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. */
|
|
1730
|
-
--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. */
|
|
1731
|
-
--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. */
|
|
1732
|
-
--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. */
|
|
1733
|
-
--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. */
|
|
1734
|
-
--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. */
|
|
1735
|
-
--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. */
|
|
1736
|
-
--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. */
|
|
1737
|
-
--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. */
|
|
1738
|
-
--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. */
|
|
1739
|
-
--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. */
|
|
1740
|
-
--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. */
|
|
1741
|
-
--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. */
|
|
1742
|
-
--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. */
|
|
1743
|
-
--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. */
|
|
1744
|
-
--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. */
|
|
1745
|
-
--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. */
|
|
1746
|
-
--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. */
|
|
1747
|
-
--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. */
|
|
1748
|
-
--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. */
|
|
1749
|
-
--sl-focus-shadow-3px-error: 0 0 0 3px var(--sl-status-error); /** Focus halo for a field with an error. */
|
|
1750
|
-
--sl-calendar-day-color: var(--sl-text-primary); /** A day in the month being shown. */
|
|
1751
|
-
--sl-border-accent: var(--sl-scope-accent-border); /** Borders that signal selection or the active item. */
|
|
1752
|
-
--sl-border-default: var(--sl-scope-chrome-divider); /** Everyday dividers and control outlines. Darkens under prefers-contrast: more. */
|
|
1753
|
-
--sl-border-strong: var(--sl-scope-chrome-border-strong); /** Borders that identify a control, such as inputs and unchecked checkboxes. 3:1 against the canvas, as WCAG asks for control boundaries. */
|
|
1754
|
-
--sl-border-subtle: var(--sl-scope-chrome-border-subtle); /** Hairlines inside a surface (table rows, list separators) that should barely register. */
|
|
1755
|
-
--sl-border-control: var(--sl-scope-chrome-border); /** Edge of a small control (checkbox, radio, switch) that must be found before it is filled. */
|
|
1756
|
-
--sl-border-control-hover: var(--sl-scope-chrome-border-hover); /** Control edge under the pointer: one clear step darker than border.control. */
|
|
1757
|
-
--sl-interactive-active: var(--sl-scope-accent-solid-active); /** Pressed state of the main accent. Darker than hover so the press is felt. */
|
|
1758
|
-
--sl-interactive-default: var(--sl-scope-accent-solid); /** Primary accent for buttons, links and selected states. Step 600 is 6.1:1 on paper; step 400 is 5.6:1 on the dark canvas. */
|
|
1759
|
-
--sl-interactive-disabled: var(--sl-scope-chrome-soft-active); /** Fill for disabled accent controls. Low contrast on purpose, but never invisible. */
|
|
1760
|
-
--sl-interactive-hover: var(--sl-scope-accent-solid-hover); /** Hover state of the main accent. One step away from default in the direction of more contrast. */
|
|
1761
|
-
--sl-interactive-tint: var(--sl-scope-accent-soft); /** Faint accent wash behind a ghost or outline control on hover, or a selected row. */
|
|
1762
|
-
--sl-interactive-tint-hover: var(--sl-scope-accent-soft-hover); /** Accent wash for a highlighted menu item or a pressed toggle. */
|
|
1763
|
-
--sl-interactive-tint-active: var(--sl-scope-accent-soft-active); /** Accent wash for a selected or pressed item: one step past tint-hover. */
|
|
1764
|
-
--sl-interactive-tint-strong: var(--sl-scope-accent-soft-strong); /** Strongest accent wash, for hovering an item that is already pressed. */
|
|
1765
|
-
--sl-surface-canvas: var(--sl-scope-chrome-canvas); /** The page itself. Paper in light mode, the darkest neutral in dark mode. */
|
|
1766
|
-
--sl-surface-overlay: var(--sl-scope-chrome-overlay); /** Popups, menus and code blocks that sit above raised surfaces. */
|
|
1767
|
-
--sl-surface-raised: var(--sl-scope-chrome-raised); /** Cards and panels one level above the canvas. */
|
|
1768
|
-
--sl-surface-modal: var(--sl-scope-chrome-modal); /** Dialogs and drawers. Paper in light mode; in dark mode one step lighter than the page, so a modal lifts off the dimmed page under it. */
|
|
1769
|
-
--sl-surface-tray: var(--sl-scope-chrome-tray); /** The strip behind a row of controls (toolbars, toggle groups). A step off the page in both themes, so the controls sitting on it stand out, while secondary and accent text on it still pass AA. */
|
|
1770
|
-
--sl-surface-inverse: var(--sl-scope-chrome-inverse); /** Dark-on-light flip for small floating things such as tooltips. Inside a brand pair it becomes the pair's text color. */
|
|
1771
|
-
--sl-text-accent: var(--sl-scope-accent-fg); /** Accent text such as active tabs. One step darker than the interactive color so it stays AA as text. */
|
|
1772
|
-
--sl-text-disabled: var(--sl-scope-chrome-fg-disabled); /** Text in disabled controls. Deliberately below AA, which WCAG allows for disabled UI. */
|
|
1773
|
-
--sl-text-secondary: var(--sl-scope-chrome-fg-secondary); /** Supporting text such as descriptions and helper copy. Over 7:1 on every surface, and darker still under prefers-contrast: more. */
|
|
1774
|
-
--sl-text-tertiary: var(--sl-scope-chrome-fg-tertiary); /** Placeholders, captions and metadata. The lightest text that still passes AA (4.5:1) on every surface. */
|
|
1775
|
-
--sl-text-on-tint: var(--sl-scope-accent-on-soft); /** Text on an accent wash (interactive.tint*). Stays in the accent family. */
|
|
1776
|
-
--sl-text-on-tint-strong: var(--sl-scope-accent-ink); /** Text on the selected accent wash, a step darker than on-tint. */
|
|
1777
|
-
--sl-fill-subtle: var(--sl-scope-chrome-soft); /** Lightest fill: hovered rows, chips, empty tracks. */
|
|
1778
|
-
--sl-fill-default: var(--sl-scope-chrome-soft-hover); /** Standard fill: slider and switch tracks, pressed rows. */
|
|
1779
|
-
--sl-fill-strong: var(--sl-scope-chrome-soft-active); /** Heaviest fill: scroll thumbs, slider marks, hovered tracks. */
|
|
1780
|
-
--sl-fill-inverse: var(--sl-scope-chrome-solid); /** A small solid chip in the chrome color that flips with the theme: dark on light pages, light on dark ones. Keyboard keys use it. */
|
|
1781
|
-
--sl-fill-stronger: var(--sl-scope-chrome-soft-strong); /** One step past fill.strong, for the hover state of a strong fill such as a scrollbar thumb. */
|
|
1782
|
-
--sl-fill-track: var(--sl-scope-chrome-track); /** The empty part of a meter or progress bar. Light like fill.subtle in light mode; near the page in dark mode, so any palette's fill reads 3:1 against it. */
|
|
1783
|
-
--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. */
|
|
1784
|
-
--sl-content-selection-text: var(--sl-text-primary); /** Selected text stays body text so it reads the same on the tint. */
|
|
1785
|
-
--sl-field-border-color-error: var(--sl-status-error); /** Field edge when the value is invalid. */
|
|
1786
|
-
--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". */
|
|
1787
|
-
--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. */
|
|
1788
1684
|
--sl-font-subtitle-minimize-font-family: var(--sl-font-family-body); /** font-family of font.subtitle-minimize. */
|
|
1789
1685
|
--sl-font-subtitle-minimize-font-size: var(--sl-font-size-xs); /** font-size of font.subtitle-minimize. */
|
|
1790
1686
|
--sl-font-subtitle-minimize-font-weight: var(--sl-font-weight-bold); /** font-weight of font.subtitle-minimize. */
|
|
@@ -1952,6 +1848,10 @@
|
|
|
1952
1848
|
--sl-scope-info-signal: var(--sl-color-info-500); /** info signal: 500 in light, 400 in dark */
|
|
1953
1849
|
--sl-scope-info-focus: var(--sl-color-info-500); /** info focus: 500 in light, 400 in dark */
|
|
1954
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. */
|
|
1955
1855
|
--sl-avatar-size-xs: var(--sl-space-8); /** 32px, inline with text and in dense lists. */
|
|
1956
1856
|
--sl-avatar-size-sm: var(--sl-space-10); /** 40px, in list rows and comments. */
|
|
1957
1857
|
--sl-avatar-size-md: var(--sl-space-12); /** 48px, the default. */
|
|
@@ -1999,6 +1899,13 @@
|
|
|
1999
1899
|
--sl-sheet-tab-padding-inline: var(--sl-space-3-5); /** Space either side of the tab label's text. */
|
|
2000
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. */
|
|
2001
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. */
|
|
1902
|
+
--sl-side-nav-item-padding-inline: var(--sl-space-5); /** Space at each end of a row. */
|
|
1903
|
+
--sl-side-nav-item-gap: var(--sl-space-2); /** Space between a row's label and its count. */
|
|
1904
|
+
--sl-side-nav-indicator-width: var(--sl-stroke-medium); /** The line under the current row. */
|
|
1905
|
+
--sl-side-nav-group-padding-top: var(--sl-space-5); /** Space above a group heading. */
|
|
1906
|
+
--sl-side-nav-toggle-size: var(--sl-space-6); /** The collapse button's width and height. It sits on the column's edge. */
|
|
1907
|
+
--sl-side-nav-toggle-offset: var(--sl-space-4); /** Distance of the collapse button from the top of the column. */
|
|
1908
|
+
--sl-side-nav-collapsed-width: var(--sl-space-11); /** Width of the column when it is collapsed, wide enough for the collapse button. */
|
|
2002
1909
|
--sl-slider-thumb-size: var(--sl-space-5); /** Knob diameter, big enough to grab with a finger on a 4px track. */
|
|
2003
1910
|
--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. */
|
|
2004
1911
|
--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. */
|
|
@@ -2039,7 +1946,72 @@
|
|
|
2039
1946
|
--sl-color-chrome-on-1000: var(--sl-color-neutral-on-1000);
|
|
2040
1947
|
--sl-color-chrome-on-1100: var(--sl-color-neutral-on-1100);
|
|
2041
1948
|
--sl-color-chrome-on-1200: var(--sl-color-neutral-on-1200);
|
|
2042
|
-
--sl-
|
|
1949
|
+
--sl-a11y-focus-ring-radius: var(--sl-radius-focus); /** Rounds the focus ring to match the small control radius. */
|
|
1950
|
+
--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. */
|
|
1951
|
+
--sl-calendar-day-radius: var(--sl-radius-pill); /** Selected days are circles. The pill radius is the same full radius badges and switches use. */
|
|
1952
|
+
--sl-check-border-width: var(--sl-stroke-default); /** Edge thickness. */
|
|
1953
|
+
--sl-check-radius: var(--sl-radius-box); /** Checkbox corners. Radios are always round. */
|
|
1954
|
+
--sl-check-transition: var(--sl-transition-input); /** Changes at the same speed as a field. */
|
|
1955
|
+
--sl-status-error: var(--sl-scope-error-signal); /** Errors and destructive actions. */
|
|
1956
|
+
--sl-status-error-dark: var(--sl-scope-error-fg); /** Error color for text or icons that need more contrast than the base color. */
|
|
1957
|
+
--sl-status-error-light: var(--sl-scope-error-soft); /** Error tint for backgrounds behind error messages. */
|
|
1958
|
+
--sl-status-info: var(--sl-scope-info-signal); /** Neutral notices and help. */
|
|
1959
|
+
--sl-status-info-dark: var(--sl-scope-info-fg); /** Info color for text or icons that need more contrast. */
|
|
1960
|
+
--sl-status-info-light: var(--sl-scope-info-soft); /** Info tint for notice backgrounds. */
|
|
1961
|
+
--sl-status-success: var(--sl-scope-success-signal); /** Confirmations and completed states. */
|
|
1962
|
+
--sl-status-success-dark: var(--sl-scope-success-fg); /** Success color for text or icons that need more contrast. */
|
|
1963
|
+
--sl-status-success-light: var(--sl-scope-success-soft); /** Success tint for confirmation backgrounds. */
|
|
1964
|
+
--sl-status-warning: var(--sl-scope-warning-signal); /** Warnings, and the required-field marker. */
|
|
1965
|
+
--sl-status-warning-dark: var(--sl-scope-warning-fg); /** Warning color for text or icons that need more contrast. */
|
|
1966
|
+
--sl-status-warning-light: var(--sl-scope-warning-soft); /** Warning tint for caution backgrounds. */
|
|
1967
|
+
--sl-text-primary: var(--sl-scope-chrome-fg); /** Body text and headings. The highest-contrast neutral. */
|
|
1968
|
+
--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. */
|
|
1969
|
+
--sl-disclosure-indicator-width: var(--sl-stroke-emphasis); /** Selected tab line thickness. */
|
|
1970
|
+
--sl-field-border-width: var(--sl-stroke-default); /** Field edge thickness. */
|
|
1971
|
+
--sl-field-radius: var(--sl-radius-control); /** Field corners, the same as every other control. */
|
|
1972
|
+
--sl-field-transition: var(--sl-transition-input); /** Border and halo ease in, never snap. */
|
|
1973
|
+
--sl-gauge-radius: var(--sl-radius-pill); /** Round ends on the track and the fill. */
|
|
1974
|
+
--sl-icon-button-radius: var(--sl-radius-item); /** Rounded like a menu item, since its hover fill reads as a highlighted item. */
|
|
1975
|
+
--sl-icon-button-transition: var(--sl-transition-button); /** Responds as fast as a button. */
|
|
1976
|
+
--sl-item-radius: var(--sl-radius-item); /** Row corners inside the popup. */
|
|
1977
|
+
--sl-modal-border-width: var(--sl-stroke-default); /** Modal edge thickness. */
|
|
1978
|
+
--sl-modal-radius: var(--sl-radius-modal); /** The largest radius, so a modal reads as its own layer. A drawer rounds only the edge facing the page. */
|
|
1979
|
+
--sl-modal-shadow: var(--sl-elevation-xl); /** The deepest shadow, because a modal sits above everything but popups and toasts. */
|
|
1980
|
+
--sl-modal-backdrop: color-mix(in srgb, var(--sl-overlay-base) 50%, transparent); /** Scrim that dims the page behind a modal. */
|
|
1981
|
+
--sl-popup-border-width: var(--sl-stroke-default); /** Popup edge thickness. */
|
|
1982
|
+
--sl-popup-radius: var(--sl-radius-surface); /** Corners of a free-floating popup. */
|
|
1983
|
+
--sl-popup-radius-field: var(--sl-radius-control); /** Corners of a list that drops from a field, matching the field so the two read as one control. */
|
|
1984
|
+
--sl-popup-shadow: var(--sl-elevation-lg); /** Lifts the popup above the page. */
|
|
1985
|
+
--sl-popup-empty-padding-block: var(--sl-empty-padding-block-compact); /** Room around a plain 'No results' line. The same padding as a compact empty state, so a sentence and an EmptyState in that slot take the same space. An EmptyState drops this padding and uses its own. */
|
|
1986
|
+
--sl-table-row-height: var(--sl-control-height-sm); /** Row height: the small control height, so a checkbox, input or button in a cell fits without growing the row. */
|
|
1987
|
+
--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. */
|
|
1988
|
+
--sl-table-cell-padding-inline: var(--sl-control-padding-inline-sm); /** Space either side of cell text, matching small controls. */
|
|
1989
|
+
--sl-table-radius: var(--sl-radius-surface); /** Grid corners, like any card or panel. */
|
|
1990
|
+
--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. */
|
|
1991
|
+
--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. */
|
|
1992
|
+
--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. */
|
|
1993
|
+
--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. */
|
|
1994
|
+
--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. */
|
|
1995
|
+
--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. */
|
|
1996
|
+
--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. */
|
|
1997
|
+
--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. */
|
|
1998
|
+
--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. */
|
|
1999
|
+
--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. */
|
|
2000
|
+
--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. */
|
|
2001
|
+
--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. */
|
|
2002
|
+
--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. */
|
|
2003
|
+
--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. */
|
|
2004
|
+
--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. */
|
|
2005
|
+
--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. */
|
|
2006
|
+
--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. */
|
|
2007
|
+
--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. */
|
|
2008
|
+
--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. */
|
|
2009
|
+
--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. */
|
|
2010
|
+
--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. */
|
|
2011
|
+
--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. */
|
|
2012
|
+
--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. */
|
|
2013
|
+
--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. */
|
|
2014
|
+
--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. */
|
|
2043
2015
|
--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. */
|
|
2044
2016
|
--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. */
|
|
2045
2017
|
--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. */
|
|
@@ -2197,6 +2169,7 @@
|
|
|
2197
2169
|
--sl-status-level-error-quiet-fg: var(--sl-scope-error-fg); /** quiet in error: outline in error */
|
|
2198
2170
|
--sl-status-level-error-quiet-border: var(--sl-scope-error-border); /** quiet in error: outline in error */
|
|
2199
2171
|
--sl-status-level-error-quiet-border-hover: var(--sl-scope-error-solid-hover); /** quiet in error: outline in error */
|
|
2172
|
+
--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. */
|
|
2200
2173
|
--sl-button-radius: var(--sl-radius-pill); /** Buttons are pills, so they read as actions and never as fields or cards. */
|
|
2201
2174
|
--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. */
|
|
2202
2175
|
--sl-collection-row-height-md: var(--sl-control-height-md); /** A roomier row when the collection is the page rather than a dense register. */
|
|
@@ -2205,7 +2178,48 @@
|
|
|
2205
2178
|
--sl-description-list-leader-width: var(--sl-stroke-default); /** Thickness of the dotted leader. */
|
|
2206
2179
|
--sl-sheet-border-width: var(--sl-stroke-default); /** Thickness of the sides and bottom. */
|
|
2207
2180
|
--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. */
|
|
2181
|
+
--sl-side-nav-item-height: var(--sl-control-height-md); /** Least height of a row: the regular control height, so a row is as tall as a button. */
|
|
2208
2182
|
--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. */
|
|
2183
|
+
--sl-focus-shadow-3px-error: 0 0 0 3px var(--sl-status-error); /** Focus halo for a field with an error. */
|
|
2184
|
+
--sl-calendar-day-color: var(--sl-text-primary); /** A day in the month being shown. */
|
|
2185
|
+
--sl-border-accent: var(--sl-scope-accent-border); /** Borders that signal selection or the active item. */
|
|
2186
|
+
--sl-border-default: var(--sl-scope-chrome-divider); /** Everyday dividers and control outlines. Darkens under prefers-contrast: more. */
|
|
2187
|
+
--sl-border-strong: var(--sl-scope-chrome-border-strong); /** Borders that identify a control, such as inputs and unchecked checkboxes. 3:1 against the canvas, as WCAG asks for control boundaries. */
|
|
2188
|
+
--sl-border-subtle: var(--sl-scope-chrome-border-subtle); /** Hairlines inside a surface (table rows, list separators) that should barely register. */
|
|
2189
|
+
--sl-border-control: var(--sl-scope-chrome-border); /** Edge of a small control (checkbox, radio, switch) that must be found before it is filled. */
|
|
2190
|
+
--sl-border-control-hover: var(--sl-scope-chrome-border-hover); /** Control edge under the pointer: one clear step darker than border.control. */
|
|
2191
|
+
--sl-interactive-active: var(--sl-scope-accent-solid-active); /** Pressed state of the main accent. Darker than hover so the press is felt. */
|
|
2192
|
+
--sl-interactive-default: var(--sl-scope-accent-solid); /** Primary accent for buttons, links and selected states. Step 600 is 6.1:1 on paper; step 400 is 5.6:1 on the dark canvas. */
|
|
2193
|
+
--sl-interactive-disabled: var(--sl-scope-chrome-soft-active); /** Fill for disabled accent controls. Low contrast on purpose, but never invisible. */
|
|
2194
|
+
--sl-interactive-hover: var(--sl-scope-accent-solid-hover); /** Hover state of the main accent. One step away from default in the direction of more contrast. */
|
|
2195
|
+
--sl-interactive-tint: var(--sl-scope-accent-soft); /** Faint accent wash behind a ghost or outline control on hover, or a selected row. */
|
|
2196
|
+
--sl-interactive-tint-hover: var(--sl-scope-accent-soft-hover); /** Accent wash for a highlighted menu item or a pressed toggle. */
|
|
2197
|
+
--sl-interactive-tint-active: var(--sl-scope-accent-soft-active); /** Accent wash for a selected or pressed item: one step past tint-hover. */
|
|
2198
|
+
--sl-interactive-tint-strong: var(--sl-scope-accent-soft-strong); /** Strongest accent wash, for hovering an item that is already pressed. */
|
|
2199
|
+
--sl-surface-canvas: var(--sl-scope-chrome-canvas); /** The page itself. Paper in light mode, the darkest neutral in dark mode. */
|
|
2200
|
+
--sl-surface-overlay: var(--sl-scope-chrome-overlay); /** Popups, menus and code blocks that sit above raised surfaces. */
|
|
2201
|
+
--sl-surface-raised: var(--sl-scope-chrome-raised); /** Cards and panels one level above the canvas. */
|
|
2202
|
+
--sl-surface-modal: var(--sl-scope-chrome-modal); /** Dialogs and drawers. Paper in light mode; in dark mode one step lighter than the page, so a modal lifts off the dimmed page under it. */
|
|
2203
|
+
--sl-surface-tray: var(--sl-scope-chrome-tray); /** The strip behind a row of controls (toolbars, toggle groups). A step off the page in both themes, so the controls sitting on it stand out, while secondary and accent text on it still pass AA. */
|
|
2204
|
+
--sl-surface-inverse: var(--sl-scope-chrome-inverse); /** Dark-on-light flip for small floating things such as tooltips. Inside a brand pair it becomes the pair's text color. */
|
|
2205
|
+
--sl-text-accent: var(--sl-scope-accent-fg); /** Accent text such as active tabs. One step darker than the interactive color so it stays AA as text. */
|
|
2206
|
+
--sl-text-disabled: var(--sl-scope-chrome-fg-disabled); /** Text in disabled controls. Deliberately below AA, which WCAG allows for disabled UI. */
|
|
2207
|
+
--sl-text-secondary: var(--sl-scope-chrome-fg-secondary); /** Supporting text such as descriptions and helper copy. Over 7:1 on every surface, and darker still under prefers-contrast: more. */
|
|
2208
|
+
--sl-text-tertiary: var(--sl-scope-chrome-fg-tertiary); /** Placeholders, captions and metadata. The lightest text that still passes AA (4.5:1) on every surface. */
|
|
2209
|
+
--sl-text-on-tint: var(--sl-scope-accent-on-soft); /** Text on an accent wash (interactive.tint*). Stays in the accent family. */
|
|
2210
|
+
--sl-text-on-tint-strong: var(--sl-scope-accent-ink); /** Text on the selected accent wash, a step darker than on-tint. */
|
|
2211
|
+
--sl-fill-subtle: var(--sl-scope-chrome-soft); /** Lightest fill: hovered rows, chips, empty tracks. */
|
|
2212
|
+
--sl-fill-default: var(--sl-scope-chrome-soft-hover); /** Standard fill: slider and switch tracks, pressed rows. */
|
|
2213
|
+
--sl-fill-strong: var(--sl-scope-chrome-soft-active); /** Heaviest fill: scroll thumbs, slider marks, hovered tracks. */
|
|
2214
|
+
--sl-fill-inverse: var(--sl-scope-chrome-solid); /** A small solid chip in the chrome color that flips with the theme: dark on light pages, light on dark ones. Keyboard keys use it. */
|
|
2215
|
+
--sl-fill-stronger: var(--sl-scope-chrome-soft-strong); /** One step past fill.strong, for the hover state of a strong fill such as a scrollbar thumb. */
|
|
2216
|
+
--sl-fill-track: var(--sl-scope-chrome-track); /** The empty part of a meter or progress bar. Light like fill.subtle in light mode; near the page in dark mode, so any palette's fill reads 3:1 against it. */
|
|
2217
|
+
--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. */
|
|
2218
|
+
--sl-content-selection-text: var(--sl-text-primary); /** Selected text stays body text so it reads the same on the tint. */
|
|
2219
|
+
--sl-field-border-color-error: var(--sl-status-error); /** Field edge when the value is invalid. */
|
|
2220
|
+
--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". */
|
|
2221
|
+
--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. */
|
|
2222
|
+
--sl-bar-border-width: var(--sl-stroke-default); /** Strip edge thickness. */
|
|
2209
2223
|
--sl-field-color: var(--sl-text-primary); /** The value you typed. */
|
|
2210
2224
|
--sl-gauge-label-color: var(--sl-text-primary); /** What is being measured. */
|
|
2211
2225
|
--sl-icon-button-color-hover: var(--sl-text-primary); /** Darkens on hover to confirm it's the target. */
|
|
@@ -2264,6 +2278,7 @@
|
|
|
2264
2278
|
--sl-status-level-warning-bold-fg: var(--sl-scope-warning-on-solid); /** bold in warning: solid in warning */
|
|
2265
2279
|
--sl-status-level-error-bold-fg: var(--sl-scope-error-on-solid); /** bold in error: solid in error */
|
|
2266
2280
|
--sl-description-list-value-color: var(--sl-text-primary); /** Values. */
|
|
2281
|
+
--sl-side-nav-item-color: var(--sl-text-primary); /** A row's text. */
|
|
2267
2282
|
--sl-stat-figure-figure-color: var(--sl-text-primary); /** The figure's color. */
|
|
2268
2283
|
--sl-focus-shadow-3px-primary: 0 0 0 3px var(--sl-interactive-tint-hover); /** Soft focus halo for inputs. */
|
|
2269
2284
|
--sl-focus-shadow-3px-primary-soft: 0 0 0 3px var(--sl-interactive-tint-active); /** Slightly stronger focus halo for inputs on tinted surfaces. */
|
|
@@ -2349,16 +2364,32 @@
|
|
|
2349
2364
|
--sl-table-range-background: var(--sl-interactive-tint); /** Cells inside a dragged range selection. */
|
|
2350
2365
|
--sl-emphasis-bold-fg: var(--sl-scope-accent-on-solid); /** bold in default: solid in accent (primary) */
|
|
2351
2366
|
--sl-status-level-default-bold-fg: var(--sl-scope-accent-on-solid); /** bold in default: solid in accent (primary) */
|
|
2367
|
+
--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. */
|
|
2368
|
+
--sl-app-bar-divider-color: var(--sl-border-strong); /** Color of a vertical Separator in the bar. */
|
|
2352
2369
|
--sl-description-list-row-border-color: var(--sl-border-subtle); /** Hairline between pairs, as quiet as a table's row lines. */
|
|
2353
2370
|
--sl-description-list-label-color: var(--sl-text-secondary); /** Labels. */
|
|
2354
2371
|
--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. */
|
|
2355
2372
|
--sl-drawer-handle-color: var(--sl-border-strong); /** The grab bar on bottom drawers. Strong border so it reads as something to drag. */
|
|
2373
|
+
--sl-picker-button-label-color: var(--sl-text-secondary); /** The caps label, quieter than the choice it names. */
|
|
2356
2374
|
--sl-sheet-background: var(--sl-surface-raised); /** The sheet's fill: the raised surface, one level above the page like any card or panel. */
|
|
2357
2375
|
--sl-sheet-border-color: var(--sl-border-default); /** The sheet's sides and bottom, the everyday divider. */
|
|
2358
2376
|
--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. */
|
|
2377
|
+
--sl-side-nav-background: var(--sl-surface-tray); /** The column's fill: the tray surface, a step off the page, so the current row on the raised surface stands out from it. */
|
|
2378
|
+
--sl-side-nav-border-color: var(--sl-border-default); /** The line between the column and the page. */
|
|
2379
|
+
--sl-side-nav-item-divider-color: var(--sl-border-subtle); /** The hairline under each row. */
|
|
2380
|
+
--sl-side-nav-item-color-disabled: var(--sl-text-secondary); /** A row that is not available yet. Secondary text, not the faded disabled color, so its hint stays readable. */
|
|
2381
|
+
--sl-side-nav-item-background-hover: var(--sl-fill-subtle); /** A row under the pointer. */
|
|
2382
|
+
--sl-side-nav-item-background-current: var(--sl-surface-raised); /** The current row: the raised surface, so it reads as the open page. */
|
|
2383
|
+
--sl-side-nav-count-color: var(--sl-text-accent); /** A count at the end of a row, such as items open. Accent text so it asks for attention. */
|
|
2384
|
+
--sl-side-nav-count-color-quiet: var(--sl-text-secondary); /** A count that is only information (tone="quiet"), such as a total. */
|
|
2385
|
+
--sl-side-nav-group-label-color: var(--sl-text-secondary); /** A group heading's caps label. */
|
|
2386
|
+
--sl-side-nav-toggle-background: var(--sl-surface-raised); /** The collapse button's fill. */
|
|
2387
|
+
--sl-side-nav-toggle-border-color: var(--sl-border-strong); /** The collapse button's outline. */
|
|
2359
2388
|
--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). */
|
|
2360
2389
|
--sl-stat-figure-label-color: var(--sl-text-secondary); /** The caps label above the figure. */
|
|
2361
2390
|
--sl-stat-figure-caption-color: var(--sl-text-secondary); /** The caption under the figure. */
|
|
2391
|
+
--sl-toggle-group-segmented-background: var(--sl-surface-raised); /** Fill of a toggle that is not pressed. */
|
|
2392
|
+
--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. */
|
|
2362
2393
|
--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. */
|
|
2363
2394
|
--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. */
|
|
2364
2395
|
--sl-check-mark-color: var(--sl-text-on-primary); /** Check mark, dash or dot on a ticked fill. */
|
|
@@ -2376,9 +2407,13 @@
|
|
|
2376
2407
|
--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. */
|
|
2377
2408
|
--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. */
|
|
2378
2409
|
--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. */
|
|
2410
|
+
--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. */
|
|
2379
2411
|
--sl-sheet-rule-color: var(--sl-rule-color); /** The top rule's color: the working-paper rule color, so sheets and ruled tables match. */
|
|
2380
2412
|
--sl-sheet-tab-color: var(--sl-text-on-inverse-surface); /** Text on the tab label. */
|
|
2413
|
+
--sl-side-nav-indicator-color: var(--sl-rule-color); /** The current row's line: the working-paper rule color, so the nav and the sheets share one ink. */
|
|
2381
2414
|
--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. */
|
|
2415
|
+
--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. */
|
|
2416
|
+
--sl-toggle-group-segmented-pressed-color: var(--sl-text-on-inverse); /** Text on the pressed toggle. */
|
|
2382
2417
|
--sl-check-background: var(--sl-field-background); /** Empty box, the same fill as a field so it reads as something to fill in. */
|
|
2383
2418
|
--sl-popup-arrow-fill: var(--sl-popup-background); /** The arrow is part of the popup, so it takes the popup's fill. */
|
|
2384
2419
|
}
|
|
@@ -5862,21 +5897,42 @@
|
|
|
5862
5897
|
--sl-table-range-border: var(--sl-focus-ring);
|
|
5863
5898
|
--sl-table-total-rule-color: var(--sl-rule-color);
|
|
5864
5899
|
--sl-table-total-background: var(--sl-table-background);
|
|
5900
|
+
--sl-app-bar-background: var(--sl-surface-raised);
|
|
5901
|
+
--sl-app-bar-border-color: var(--sl-rule-color);
|
|
5902
|
+
--sl-app-bar-divider-color: var(--sl-border-strong);
|
|
5865
5903
|
--sl-description-list-row-border-color: var(--sl-border-subtle);
|
|
5866
5904
|
--sl-description-list-label-color: var(--sl-text-secondary);
|
|
5867
5905
|
--sl-description-list-value-color: var(--sl-text-primary);
|
|
5868
5906
|
--sl-description-list-leader-color: var(--sl-border-control);
|
|
5869
5907
|
--sl-drawer-handle-color: var(--sl-border-strong);
|
|
5908
|
+
--sl-picker-button-label-color: var(--sl-text-secondary);
|
|
5870
5909
|
--sl-sheet-background: var(--sl-surface-raised);
|
|
5871
5910
|
--sl-sheet-border-color: var(--sl-border-default);
|
|
5872
5911
|
--sl-sheet-rule-color: var(--sl-rule-color);
|
|
5873
5912
|
--sl-sheet-tab-background: var(--sl-surface-inverse);
|
|
5874
5913
|
--sl-sheet-tab-color: var(--sl-text-on-inverse-surface);
|
|
5914
|
+
--sl-side-nav-background: var(--sl-surface-tray);
|
|
5915
|
+
--sl-side-nav-border-color: var(--sl-border-default);
|
|
5916
|
+
--sl-side-nav-item-divider-color: var(--sl-border-subtle);
|
|
5917
|
+
--sl-side-nav-item-color: var(--sl-text-primary);
|
|
5918
|
+
--sl-side-nav-item-color-disabled: var(--sl-text-secondary);
|
|
5919
|
+
--sl-side-nav-item-background-hover: var(--sl-fill-subtle);
|
|
5920
|
+
--sl-side-nav-item-background-current: var(--sl-surface-raised);
|
|
5921
|
+
--sl-side-nav-indicator-color: var(--sl-rule-color);
|
|
5922
|
+
--sl-side-nav-count-color: var(--sl-text-accent);
|
|
5923
|
+
--sl-side-nav-count-color-quiet: var(--sl-text-secondary);
|
|
5924
|
+
--sl-side-nav-group-label-color: var(--sl-text-secondary);
|
|
5925
|
+
--sl-side-nav-toggle-background: var(--sl-surface-raised);
|
|
5926
|
+
--sl-side-nav-toggle-border-color: var(--sl-border-strong);
|
|
5875
5927
|
--sl-stat-figure-figure-color: var(--sl-text-primary);
|
|
5876
5928
|
--sl-stat-figure-figure-color-accent: var(--sl-text-accent);
|
|
5877
5929
|
--sl-stat-figure-underline-color: var(--sl-rule-color);
|
|
5878
5930
|
--sl-stat-figure-label-color: var(--sl-text-secondary);
|
|
5879
5931
|
--sl-stat-figure-caption-color: var(--sl-text-secondary);
|
|
5932
|
+
--sl-toggle-group-segmented-border-color: var(--sl-rule-color);
|
|
5933
|
+
--sl-toggle-group-segmented-background: var(--sl-surface-raised);
|
|
5934
|
+
--sl-toggle-group-segmented-pressed-background: var(--sl-fill-inverse);
|
|
5935
|
+
--sl-toggle-group-segmented-pressed-color: var(--sl-text-on-inverse);
|
|
5880
5936
|
--sl-calendar-day-background-hover: var(--sl-item-background-hover);
|
|
5881
5937
|
--sl-check-background: var(--sl-field-background);
|
|
5882
5938
|
}
|
|
@@ -6025,21 +6081,42 @@
|
|
|
6025
6081
|
--sl-table-range-border: var(--sl-focus-ring);
|
|
6026
6082
|
--sl-table-total-rule-color: var(--sl-rule-color);
|
|
6027
6083
|
--sl-table-total-background: var(--sl-table-background);
|
|
6084
|
+
--sl-app-bar-background: var(--sl-surface-raised);
|
|
6085
|
+
--sl-app-bar-border-color: var(--sl-rule-color);
|
|
6086
|
+
--sl-app-bar-divider-color: var(--sl-border-strong);
|
|
6028
6087
|
--sl-description-list-row-border-color: var(--sl-border-subtle);
|
|
6029
6088
|
--sl-description-list-label-color: var(--sl-text-secondary);
|
|
6030
6089
|
--sl-description-list-value-color: var(--sl-text-primary);
|
|
6031
6090
|
--sl-description-list-leader-color: var(--sl-border-control);
|
|
6032
6091
|
--sl-drawer-handle-color: var(--sl-border-strong);
|
|
6092
|
+
--sl-picker-button-label-color: var(--sl-text-secondary);
|
|
6033
6093
|
--sl-sheet-background: var(--sl-surface-raised);
|
|
6034
6094
|
--sl-sheet-border-color: var(--sl-border-default);
|
|
6035
6095
|
--sl-sheet-rule-color: var(--sl-rule-color);
|
|
6036
6096
|
--sl-sheet-tab-background: var(--sl-surface-inverse);
|
|
6037
6097
|
--sl-sheet-tab-color: var(--sl-text-on-inverse-surface);
|
|
6098
|
+
--sl-side-nav-background: var(--sl-surface-tray);
|
|
6099
|
+
--sl-side-nav-border-color: var(--sl-border-default);
|
|
6100
|
+
--sl-side-nav-item-divider-color: var(--sl-border-subtle);
|
|
6101
|
+
--sl-side-nav-item-color: var(--sl-text-primary);
|
|
6102
|
+
--sl-side-nav-item-color-disabled: var(--sl-text-secondary);
|
|
6103
|
+
--sl-side-nav-item-background-hover: var(--sl-fill-subtle);
|
|
6104
|
+
--sl-side-nav-item-background-current: var(--sl-surface-raised);
|
|
6105
|
+
--sl-side-nav-indicator-color: var(--sl-rule-color);
|
|
6106
|
+
--sl-side-nav-count-color: var(--sl-text-accent);
|
|
6107
|
+
--sl-side-nav-count-color-quiet: var(--sl-text-secondary);
|
|
6108
|
+
--sl-side-nav-group-label-color: var(--sl-text-secondary);
|
|
6109
|
+
--sl-side-nav-toggle-background: var(--sl-surface-raised);
|
|
6110
|
+
--sl-side-nav-toggle-border-color: var(--sl-border-strong);
|
|
6038
6111
|
--sl-stat-figure-figure-color: var(--sl-text-primary);
|
|
6039
6112
|
--sl-stat-figure-figure-color-accent: var(--sl-text-accent);
|
|
6040
6113
|
--sl-stat-figure-underline-color: var(--sl-rule-color);
|
|
6041
6114
|
--sl-stat-figure-label-color: var(--sl-text-secondary);
|
|
6042
6115
|
--sl-stat-figure-caption-color: var(--sl-text-secondary);
|
|
6116
|
+
--sl-toggle-group-segmented-border-color: var(--sl-rule-color);
|
|
6117
|
+
--sl-toggle-group-segmented-background: var(--sl-surface-raised);
|
|
6118
|
+
--sl-toggle-group-segmented-pressed-background: var(--sl-fill-inverse);
|
|
6119
|
+
--sl-toggle-group-segmented-pressed-color: var(--sl-text-on-inverse);
|
|
6043
6120
|
--sl-calendar-day-background-hover: var(--sl-item-background-hover);
|
|
6044
6121
|
--sl-check-background: var(--sl-field-background);
|
|
6045
6122
|
}
|
|
@@ -6188,21 +6265,42 @@
|
|
|
6188
6265
|
--sl-table-range-border: var(--sl-focus-ring);
|
|
6189
6266
|
--sl-table-total-rule-color: var(--sl-rule-color);
|
|
6190
6267
|
--sl-table-total-background: var(--sl-table-background);
|
|
6268
|
+
--sl-app-bar-background: var(--sl-surface-raised);
|
|
6269
|
+
--sl-app-bar-border-color: var(--sl-rule-color);
|
|
6270
|
+
--sl-app-bar-divider-color: var(--sl-border-strong);
|
|
6191
6271
|
--sl-description-list-row-border-color: var(--sl-border-subtle);
|
|
6192
6272
|
--sl-description-list-label-color: var(--sl-text-secondary);
|
|
6193
6273
|
--sl-description-list-value-color: var(--sl-text-primary);
|
|
6194
6274
|
--sl-description-list-leader-color: var(--sl-border-control);
|
|
6195
6275
|
--sl-drawer-handle-color: var(--sl-border-strong);
|
|
6276
|
+
--sl-picker-button-label-color: var(--sl-text-secondary);
|
|
6196
6277
|
--sl-sheet-background: var(--sl-surface-raised);
|
|
6197
6278
|
--sl-sheet-border-color: var(--sl-border-default);
|
|
6198
6279
|
--sl-sheet-rule-color: var(--sl-rule-color);
|
|
6199
6280
|
--sl-sheet-tab-background: var(--sl-surface-inverse);
|
|
6200
6281
|
--sl-sheet-tab-color: var(--sl-text-on-inverse-surface);
|
|
6282
|
+
--sl-side-nav-background: var(--sl-surface-tray);
|
|
6283
|
+
--sl-side-nav-border-color: var(--sl-border-default);
|
|
6284
|
+
--sl-side-nav-item-divider-color: var(--sl-border-subtle);
|
|
6285
|
+
--sl-side-nav-item-color: var(--sl-text-primary);
|
|
6286
|
+
--sl-side-nav-item-color-disabled: var(--sl-text-secondary);
|
|
6287
|
+
--sl-side-nav-item-background-hover: var(--sl-fill-subtle);
|
|
6288
|
+
--sl-side-nav-item-background-current: var(--sl-surface-raised);
|
|
6289
|
+
--sl-side-nav-indicator-color: var(--sl-rule-color);
|
|
6290
|
+
--sl-side-nav-count-color: var(--sl-text-accent);
|
|
6291
|
+
--sl-side-nav-count-color-quiet: var(--sl-text-secondary);
|
|
6292
|
+
--sl-side-nav-group-label-color: var(--sl-text-secondary);
|
|
6293
|
+
--sl-side-nav-toggle-background: var(--sl-surface-raised);
|
|
6294
|
+
--sl-side-nav-toggle-border-color: var(--sl-border-strong);
|
|
6201
6295
|
--sl-stat-figure-figure-color: var(--sl-text-primary);
|
|
6202
6296
|
--sl-stat-figure-figure-color-accent: var(--sl-text-accent);
|
|
6203
6297
|
--sl-stat-figure-underline-color: var(--sl-rule-color);
|
|
6204
6298
|
--sl-stat-figure-label-color: var(--sl-text-secondary);
|
|
6205
6299
|
--sl-stat-figure-caption-color: var(--sl-text-secondary);
|
|
6300
|
+
--sl-toggle-group-segmented-border-color: var(--sl-rule-color);
|
|
6301
|
+
--sl-toggle-group-segmented-background: var(--sl-surface-raised);
|
|
6302
|
+
--sl-toggle-group-segmented-pressed-background: var(--sl-fill-inverse);
|
|
6303
|
+
--sl-toggle-group-segmented-pressed-color: var(--sl-text-on-inverse);
|
|
6206
6304
|
--sl-calendar-day-background-hover: var(--sl-item-background-hover);
|
|
6207
6305
|
--sl-check-background: var(--sl-field-background);
|
|
6208
6306
|
}
|
|
@@ -6559,7 +6657,7 @@
|
|
|
6559
6657
|
}
|
|
6560
6658
|
|
|
6561
6659
|
|
|
6562
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
6660
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
6563
6661
|
/* Loomiere for Base UI: component styles. Brand-free: every value is a --sl- variable from a
|
|
6564
6662
|
Loomiere theme. Load the theme first:
|
|
6565
6663
|
@import '<your theme>/tokens.css';
|
|
@@ -6569,7 +6667,7 @@
|
|
|
6569
6667
|
/* Document defaults, in the reset layer so any unlayered rule wins over them, and so layered
|
|
6570
6668
|
frameworks (Chakra's recipes, Tailwind's utilities) are not undone by them. */
|
|
6571
6669
|
@layer reset {
|
|
6572
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
6670
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
6573
6671
|
/* CSS Reset - Mojave Theme */
|
|
6574
6672
|
|
|
6575
6673
|
/* ============================================
|
|
@@ -7013,7 +7111,7 @@ hr {
|
|
|
7013
7111
|
}
|
|
7014
7112
|
}
|
|
7015
7113
|
@layer reset {
|
|
7016
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
7114
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
7017
7115
|
/* Accessibility — base rules (no theme color dependencies). Theme-specific focus/invalid: accessibility-theme.css */
|
|
7018
7116
|
|
|
7019
7117
|
/* Remove default focus; keyboard focus styled in accessibility-theme.css */
|
|
@@ -7126,7 +7224,7 @@ main:focus {
|
|
|
7126
7224
|
|
|
7127
7225
|
}
|
|
7128
7226
|
@layer reset {
|
|
7129
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
7227
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
7130
7228
|
/* Focus, invalid, contrast — requires theme tokens (after theme-accessibility.css). */
|
|
7131
7229
|
|
|
7132
7230
|
:focus-visible {
|
|
@@ -7194,7 +7292,7 @@ button,
|
|
|
7194
7292
|
|
|
7195
7293
|
}
|
|
7196
7294
|
/* Component styles */
|
|
7197
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
7295
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
7198
7296
|
/* Accordion - Mojave Theme
|
|
7199
7297
|
*
|
|
7200
7298
|
* No component tokens. Hover, press, chevron, divider and motion are the disclosure
|
|
@@ -7315,7 +7413,7 @@ button,
|
|
|
7315
7413
|
overflow: hidden;
|
|
7316
7414
|
}
|
|
7317
7415
|
|
|
7318
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
7416
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
7319
7417
|
/* Alert Dialog - Mojave Theme
|
|
7320
7418
|
*
|
|
7321
7419
|
* No component tokens and no rules of its own. An alert dialog looks exactly like a
|
|
@@ -7324,7 +7422,7 @@ button,
|
|
|
7324
7422
|
* cancel quiet, and a destructive one bold with data-color="error".
|
|
7325
7423
|
*/
|
|
7326
7424
|
|
|
7327
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
7425
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
7328
7426
|
/* Autocomplete - Mojave Theme
|
|
7329
7427
|
*
|
|
7330
7428
|
* No component tokens. The input is Input (Input.css), the clear button is an icon
|
|
@@ -7526,7 +7624,7 @@ button,
|
|
|
7526
7624
|
(reset-accessibility.css).
|
|
7527
7625
|
============================================ */
|
|
7528
7626
|
|
|
7529
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
7627
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
7530
7628
|
/* Avatar - Mojave Theme
|
|
7531
7629
|
*
|
|
7532
7630
|
* A round picture with a ring in the page color, so avatars in a group cut out of each other in
|
|
@@ -7634,7 +7732,7 @@ button,
|
|
|
7634
7732
|
}
|
|
7635
7733
|
}
|
|
7636
7734
|
|
|
7637
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
7735
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
7638
7736
|
/* Button - Mojave Theme
|
|
7639
7737
|
*
|
|
7640
7738
|
* Colors are the brand's emphasis levels, sizes are control.*, text is the trigger
|
|
@@ -7784,7 +7882,7 @@ button,
|
|
|
7784
7882
|
font-size: var(--sl-icon-size-maximize);
|
|
7785
7883
|
}
|
|
7786
7884
|
|
|
7787
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
7885
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
7788
7886
|
/* Checkbox - Mojave Theme
|
|
7789
7887
|
* Sizes follow the label: the box is the icon size one tier above the label's text
|
|
7790
7888
|
* tier (like a button's icon) and the check mark one tier below it.
|
|
@@ -7941,7 +8039,7 @@ button,
|
|
|
7941
8039
|
border-radius: var(--sl-radius-pill);
|
|
7942
8040
|
}
|
|
7943
8041
|
|
|
7944
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
8042
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
7945
8043
|
/* Checkbox Group - Mojave Theme */
|
|
7946
8044
|
|
|
7947
8045
|
/* Each checkbox row is already a full tap target tall, so the rows sit close. */
|
|
@@ -7957,7 +8055,7 @@ button,
|
|
|
7957
8055
|
pointer-events: none;
|
|
7958
8056
|
}
|
|
7959
8057
|
|
|
7960
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
8058
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
7961
8059
|
/* Collapsible - Mojave Theme
|
|
7962
8060
|
*
|
|
7963
8061
|
* No component tokens. Hover, press, chevron and motion are the disclosure concept
|
|
@@ -8073,7 +8171,7 @@ button,
|
|
|
8073
8171
|
background: var(--sl-surface-raised);
|
|
8074
8172
|
}
|
|
8075
8173
|
|
|
8076
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
8174
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
8077
8175
|
/* Combobox - Mojave Theme
|
|
8078
8176
|
*
|
|
8079
8177
|
* No component tokens. The input is Input (Input.css); the chips box is a field; the
|
|
@@ -8558,7 +8656,7 @@ button,
|
|
|
8558
8656
|
color: var(--sl-text-tertiary);
|
|
8559
8657
|
}
|
|
8560
8658
|
|
|
8561
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
8659
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
8562
8660
|
/* Context Menu - Mojave Theme
|
|
8563
8661
|
*
|
|
8564
8662
|
* 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
|
|
@@ -8727,7 +8825,7 @@ button,
|
|
|
8727
8825
|
stroke-width: var(--sl-stroke-default);
|
|
8728
8826
|
}
|
|
8729
8827
|
|
|
8730
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
8828
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
8731
8829
|
/* Dialog and Alert dialog - Mojave Theme
|
|
8732
8830
|
*
|
|
8733
8831
|
* Both are centered modals built from the modal concept (tokens/semantic/modal.json):
|
|
@@ -8873,7 +8971,7 @@ button,
|
|
|
8873
8971
|
margin-top: var(--sl-modal-actions-spacing);
|
|
8874
8972
|
}
|
|
8875
8973
|
|
|
8876
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
8974
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
8877
8975
|
/* Drawer - a panel that slides in from an edge and can be swiped away.
|
|
8878
8976
|
The surface, scrim, heading and motion are the modal concept's (--sl-modal-*), so a
|
|
8879
8977
|
drawer reads as a dialog's sibling; only its size and grab bar are its own
|
|
@@ -9006,7 +9104,7 @@ button,
|
|
|
9006
9104
|
color: var(--sl-modal-description-color);
|
|
9007
9105
|
}
|
|
9008
9106
|
|
|
9009
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
9107
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
9010
9108
|
/* Field - Mojave Theme
|
|
9011
9109
|
*
|
|
9012
9110
|
* Label, control, description and error. No component tokens: spacing is the field
|
|
@@ -9067,7 +9165,7 @@ textarea.FieldControl {
|
|
|
9067
9165
|
height: auto;
|
|
9068
9166
|
}
|
|
9069
9167
|
|
|
9070
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
9168
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
9071
9169
|
/* Fieldset - Mojave Theme
|
|
9072
9170
|
*
|
|
9073
9171
|
* No component tokens: a titled group of fields, spaced by the stack gaps, with
|
|
@@ -9109,7 +9207,7 @@ textarea.FieldControl {
|
|
|
9109
9207
|
color: var(--sl-text-secondary);
|
|
9110
9208
|
}
|
|
9111
9209
|
|
|
9112
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
9210
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
9113
9211
|
/* Form - Mojave Theme
|
|
9114
9212
|
*
|
|
9115
9213
|
* No component tokens: fields stack with the large block space, and the action
|
|
@@ -9129,7 +9227,7 @@ textarea.FieldControl {
|
|
|
9129
9227
|
margin-top: var(--sl-space-block-md);
|
|
9130
9228
|
}
|
|
9131
9229
|
|
|
9132
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
9230
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
9133
9231
|
/* Input - Mojave Theme
|
|
9134
9232
|
*
|
|
9135
9233
|
* No component tokens: the look is the field concept (tokens/semantic/field.json),
|
|
@@ -9266,7 +9364,7 @@ textarea.FieldControl {
|
|
|
9266
9364
|
padding-inline: var(--sl-control-padding-inline-lg);
|
|
9267
9365
|
}
|
|
9268
9366
|
|
|
9269
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
9367
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
9270
9368
|
/* Menu - Mojave Theme
|
|
9271
9369
|
*
|
|
9272
9370
|
* No component tokens. The trigger is a Button. The popup is the popup concept, rows are item rows at the
|
|
@@ -9415,7 +9513,7 @@ textarea.FieldControl {
|
|
|
9415
9513
|
color: var(--sl-text-tertiary);
|
|
9416
9514
|
}
|
|
9417
9515
|
|
|
9418
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
9516
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
9419
9517
|
/* Menubar - Mojave Theme
|
|
9420
9518
|
*
|
|
9421
9519
|
* No component tokens. A row of quiet triggers, each opening a menu. The popup is the popup concept, rows are item rows at the
|
|
@@ -9608,7 +9706,7 @@ textarea.FieldControl {
|
|
|
9608
9706
|
color: var(--sl-text-tertiary);
|
|
9609
9707
|
}
|
|
9610
9708
|
|
|
9611
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
9709
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
9612
9710
|
/* Meter - Mojave Theme
|
|
9613
9711
|
*
|
|
9614
9712
|
* A gauge (tokens/semantic/gauge.json). The fill is the solid color of the scope around it:
|
|
@@ -9671,7 +9769,7 @@ textarea.FieldControl {
|
|
|
9671
9769
|
height: var(--sl-gauge-height-lg);
|
|
9672
9770
|
}
|
|
9673
9771
|
|
|
9674
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
9772
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
9675
9773
|
/* Navigation Menu - Mojave Theme
|
|
9676
9774
|
*
|
|
9677
9775
|
* The strip is the bar concept, the panel is the popup concept and each link is an item
|
|
@@ -10091,7 +10189,7 @@ textarea.FieldControl {
|
|
|
10091
10189
|
width: 100%;
|
|
10092
10190
|
}
|
|
10093
10191
|
|
|
10094
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
10192
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
10095
10193
|
/* Number Field - Mojave Theme
|
|
10096
10194
|
*
|
|
10097
10195
|
* No component tokens. The input is Input (Input.css) and the label, description and
|
|
@@ -10182,7 +10280,7 @@ textarea.FieldControl {
|
|
|
10182
10280
|
user-select: none;
|
|
10183
10281
|
}
|
|
10184
10282
|
|
|
10185
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
10283
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
10186
10284
|
/* OTP Field - Mojave Theme
|
|
10187
10285
|
*
|
|
10188
10286
|
* One-time code entry: a row of single-character inputs. Each slot is the same control as Input
|
|
@@ -10245,7 +10343,7 @@ textarea.FieldControl {
|
|
|
10245
10343
|
letter-spacing: var(--sl-font-body-magnify-letter-spacing);
|
|
10246
10344
|
}
|
|
10247
10345
|
|
|
10248
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
10346
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
10249
10347
|
/* Popover - Mojave Theme */
|
|
10250
10348
|
|
|
10251
10349
|
/* ============================================
|
|
@@ -10410,7 +10508,7 @@ textarea.FieldControl {
|
|
|
10410
10508
|
fill: var(--sl-popup-arrow-stroke);
|
|
10411
10509
|
}
|
|
10412
10510
|
|
|
10413
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
10511
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
10414
10512
|
/* Preview Card - Mojave Theme
|
|
10415
10513
|
*
|
|
10416
10514
|
* The popup concept (surface, arrow, motion) with a title-magnify title and condense
|
|
@@ -10527,7 +10625,7 @@ textarea.FieldControl {
|
|
|
10527
10625
|
fill: var(--sl-popup-arrow-stroke);
|
|
10528
10626
|
}
|
|
10529
10627
|
|
|
10530
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
10628
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
10531
10629
|
/* Progress - Mojave Theme
|
|
10532
10630
|
*
|
|
10533
10631
|
* A gauge (tokens/semantic/gauge.json), the same bar as Meter. The fill is the solid color of
|
|
@@ -10604,7 +10702,7 @@ textarea.FieldControl {
|
|
|
10604
10702
|
height: var(--sl-gauge-height-lg);
|
|
10605
10703
|
}
|
|
10606
10704
|
|
|
10607
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
10705
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
10608
10706
|
/* Radio - Mojave Theme
|
|
10609
10707
|
* Same box as Checkbox, always round. Sizes follow the label the same way, and the
|
|
10610
10708
|
* dot is a share of the circle (check.dot-scale).
|
|
@@ -10756,7 +10854,7 @@ textarea.FieldControl {
|
|
|
10756
10854
|
gap: var(--sl-gap-stack-sm);
|
|
10757
10855
|
}
|
|
10758
10856
|
|
|
10759
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
10857
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
10760
10858
|
/* Scroll Area - Mojave Theme
|
|
10761
10859
|
*
|
|
10762
10860
|
* The scrollbar is the content scrollbar (content.scrollbar-*): a track that stays clear until
|
|
@@ -10838,7 +10936,7 @@ textarea.FieldControl {
|
|
|
10838
10936
|
background: transparent;
|
|
10839
10937
|
}
|
|
10840
10938
|
|
|
10841
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
10939
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
10842
10940
|
/* Select - Mojave Theme
|
|
10843
10941
|
*
|
|
10844
10942
|
* The trigger is a field (the field pattern, control sizes, the base text style); the
|
|
@@ -11123,7 +11221,7 @@ textarea.FieldControl {
|
|
|
11123
11221
|
stroke-width: var(--sl-stroke-default);
|
|
11124
11222
|
}
|
|
11125
11223
|
|
|
11126
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
11224
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
11127
11225
|
/* Separator - Mojave Theme
|
|
11128
11226
|
*
|
|
11129
11227
|
* A hairline in the everyday divider color (border.default), one stroke thick, with a step of
|
|
@@ -11151,7 +11249,7 @@ textarea.FieldControl {
|
|
|
11151
11249
|
margin-inline: var(--sl-space-4);
|
|
11152
11250
|
}
|
|
11153
11251
|
|
|
11154
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
11252
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
11155
11253
|
/* Slider - Mojave Theme
|
|
11156
11254
|
*
|
|
11157
11255
|
* A slider is a gauge you can drag: the track, fill and label row are gauge.* (the same bar as
|
|
@@ -11317,7 +11415,7 @@ textarea.FieldControl {
|
|
|
11317
11415
|
transform: translate(-50%, 50%);
|
|
11318
11416
|
}
|
|
11319
11417
|
|
|
11320
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
11418
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
11321
11419
|
/* Switch - Mojave Theme
|
|
11322
11420
|
* Switch keeps its track sizes. The thumb, its travel and the ON/OFF text are
|
|
11323
11421
|
* worked out from them: the thumb fills the track's height inside the padding,
|
|
@@ -11483,7 +11581,7 @@ textarea.FieldControl {
|
|
|
11483
11581
|
color: var(--sl-text-disabled);
|
|
11484
11582
|
}
|
|
11485
11583
|
|
|
11486
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
11584
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
11487
11585
|
/* Tabs - Mojave Theme
|
|
11488
11586
|
*
|
|
11489
11587
|
* No component tokens. The divider, the selected line and color, hover and the disabled
|
|
@@ -11619,7 +11717,7 @@ textarea.FieldControl {
|
|
|
11619
11717
|
padding: var(--sl-space-6);
|
|
11620
11718
|
}
|
|
11621
11719
|
|
|
11622
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
11720
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
11623
11721
|
/* Toast - Mojave Theme
|
|
11624
11722
|
*
|
|
11625
11723
|
* A toast is a notice (tokens/semantic/notice.json) on the popup surface. A toast whose type
|
|
@@ -11855,7 +11953,7 @@ textarea.FieldControl {
|
|
|
11855
11953
|
flex-shrink: 0;
|
|
11856
11954
|
}
|
|
11857
11955
|
|
|
11858
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
11956
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
11859
11957
|
/* Toggle - Mojave Theme
|
|
11860
11958
|
* A toggle is a button that stays pressed: the same heights, padding, gap and
|
|
11861
11959
|
* trigger text style as a button of the same size. Pressed, it takes its emphasis level's
|
|
@@ -11967,7 +12065,7 @@ textarea.FieldControl {
|
|
|
11967
12065
|
height: var(--sl-icon-size-maximize);
|
|
11968
12066
|
}
|
|
11969
12067
|
|
|
11970
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
12068
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
11971
12069
|
/* Toggle Group - Mojave Theme
|
|
11972
12070
|
*
|
|
11973
12071
|
* No component tokens. The strip is the bar concept (tokens/semantic/bar.json); the
|
|
@@ -11988,7 +12086,48 @@ textarea.FieldControl {
|
|
|
11988
12086
|
border-radius: var(--sl-radius-item);
|
|
11989
12087
|
}
|
|
11990
12088
|
|
|
11991
|
-
/*
|
|
12089
|
+
/* ============================================
|
|
12090
|
+
SEGMENTED (data-variant="segmented")
|
|
12091
|
+
Joined toggles in one outline, the pressed one filled solid: a switch between a few
|
|
12092
|
+
views or modules. Tokens: toggle-group.segmented-* (tokens/component/toggle-group.json).
|
|
12093
|
+
============================================ */
|
|
12094
|
+
|
|
12095
|
+
.ToggleGroup[data-variant='segmented'] {
|
|
12096
|
+
padding: 0;
|
|
12097
|
+
gap: 0;
|
|
12098
|
+
background: var(--sl-toggle-group-segmented-background);
|
|
12099
|
+
border: var(--sl-stroke-default) solid var(--sl-toggle-group-segmented-border-color);
|
|
12100
|
+
border-radius: var(--sl-radius-chrome);
|
|
12101
|
+
overflow: hidden;
|
|
12102
|
+
}
|
|
12103
|
+
|
|
12104
|
+
.ToggleGroup[data-variant='segmented'] .Toggle {
|
|
12105
|
+
height: calc(var(--sl-control-height-md) - 2 * var(--sl-stroke-default));
|
|
12106
|
+
border: 0;
|
|
12107
|
+
border-radius: 0;
|
|
12108
|
+
background: transparent;
|
|
12109
|
+
color: var(--sl-text-primary);
|
|
12110
|
+
}
|
|
12111
|
+
|
|
12112
|
+
.ToggleGroup[data-variant='segmented'] .Toggle + .Toggle {
|
|
12113
|
+
border-inline-start: var(--sl-stroke-default) solid var(--sl-toggle-group-segmented-border-color);
|
|
12114
|
+
}
|
|
12115
|
+
|
|
12116
|
+
.ToggleGroup[data-variant='segmented'] .Toggle:hover:not([data-disabled]):not(:disabled) {
|
|
12117
|
+
background: var(--sl-fill-subtle);
|
|
12118
|
+
}
|
|
12119
|
+
|
|
12120
|
+
.ToggleGroup[data-variant='segmented'] .Toggle[data-pressed],
|
|
12121
|
+
.ToggleGroup[data-variant='segmented'] .Toggle[data-pressed]:hover:not([data-disabled]):not(:disabled) {
|
|
12122
|
+
background: var(--sl-toggle-group-segmented-pressed-background);
|
|
12123
|
+
color: var(--sl-toggle-group-segmented-pressed-color);
|
|
12124
|
+
}
|
|
12125
|
+
|
|
12126
|
+
.ToggleGroup[data-variant='segmented'] .Toggle:focus-visible {
|
|
12127
|
+
outline-offset: var(--sl-focus-outline-offset-inset);
|
|
12128
|
+
}
|
|
12129
|
+
|
|
12130
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
11992
12131
|
/* Toolbar - Mojave Theme
|
|
11993
12132
|
*
|
|
11994
12133
|
* The strip is the bar concept (tokens/semantic/bar.json). Buttons, toggles, selects
|
|
@@ -12050,7 +12189,7 @@ textarea.FieldControl {
|
|
|
12050
12189
|
max-width: var(--sl-toolbar-input-max-width);
|
|
12051
12190
|
}
|
|
12052
12191
|
|
|
12053
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
12192
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
12054
12193
|
/* Tooltip - Mojave Theme
|
|
12055
12194
|
*
|
|
12056
12195
|
* The inverse surface (surface.inverse, text.on-inverse-surface) with condense text, so a tooltip
|
|
@@ -12111,7 +12250,7 @@ textarea.FieldControl {
|
|
|
12111
12250
|
}
|
|
12112
12251
|
|
|
12113
12252
|
/* Custom components: not Base UI parts. Built from existing concepts and tokens. */
|
|
12114
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
12253
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
12115
12254
|
/* Badge
|
|
12116
12255
|
*
|
|
12117
12256
|
* A status or count label. Not a Base UI part, and not interactive: no hover or focus.
|
|
@@ -12216,7 +12355,7 @@ textarea.FieldControl {
|
|
|
12216
12355
|
height: var(--sl-badge-dot-base);
|
|
12217
12356
|
}
|
|
12218
12357
|
|
|
12219
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
12358
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
12220
12359
|
/*
|
|
12221
12360
|
* DatePicker: a field that opens a calendar for one date or a period.
|
|
12222
12361
|
* Not a Base UI part. The popup is Popover on a wide viewport and Drawer
|
|
@@ -12789,7 +12928,7 @@ textarea.FieldControl {
|
|
|
12789
12928
|
flex-basis: 100%;
|
|
12790
12929
|
}
|
|
12791
12930
|
|
|
12792
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
12931
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
12793
12932
|
/* Money field
|
|
12794
12933
|
*
|
|
12795
12934
|
* An amount of money, built on Number field. The value is an integer in minor units
|
|
@@ -13134,7 +13273,7 @@ textarea.FieldControl {
|
|
|
13134
13273
|
letter-spacing: var(--sl-font-body-base-letter-spacing);
|
|
13135
13274
|
}
|
|
13136
13275
|
|
|
13137
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
13276
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
13138
13277
|
/* ListDetail
|
|
13139
13278
|
*
|
|
13140
13279
|
* The detail of one item, next to its list. Not a Base UI part. It is a Splitter
|
|
@@ -13261,7 +13400,7 @@ textarea.FieldControl {
|
|
|
13261
13400
|
background: transparent;
|
|
13262
13401
|
}
|
|
13263
13402
|
|
|
13264
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
13403
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
13265
13404
|
/* Splitter
|
|
13266
13405
|
*
|
|
13267
13406
|
* Two or more panels and a handle between them. Not a Base UI part. It follows the
|
|
@@ -13469,7 +13608,7 @@ textarea.FieldControl {
|
|
|
13469
13608
|
background: var(--sl-border-default);
|
|
13470
13609
|
}
|
|
13471
13610
|
|
|
13472
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
13611
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
13473
13612
|
/* EmptyState
|
|
13474
13613
|
*
|
|
13475
13614
|
* The block a page, pane, table, list or popup shows when it has nothing to show.
|
|
@@ -13725,7 +13864,7 @@ textarea.FieldControl {
|
|
|
13725
13864
|
color: inherit;
|
|
13726
13865
|
}
|
|
13727
13866
|
|
|
13728
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
13867
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
13729
13868
|
/* Table - Mojave Theme
|
|
13730
13869
|
*
|
|
13731
13870
|
* Base UI has no table, so this styles the native <table class="Table"> elements with the
|
|
@@ -13959,7 +14098,7 @@ textarea.FieldControl {
|
|
|
13959
14098
|
color: inherit;
|
|
13960
14099
|
}
|
|
13961
14100
|
|
|
13962
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
14101
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
13963
14102
|
/* Collection
|
|
13964
14103
|
*
|
|
13965
14104
|
* DataTable, DataList, the toolbar and the pagination, in one place so the two views
|
|
@@ -13970,7 +14109,7 @@ textarea.FieldControl {
|
|
|
13970
14109
|
* the tabs and the search where they are, so selecting rows does not grow the toolbar.
|
|
13971
14110
|
*/
|
|
13972
14111
|
|
|
13973
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
14112
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
13974
14113
|
/* Collection toolbar
|
|
13975
14114
|
*
|
|
13976
14115
|
* The wrap follows the toolbar's own width, not the window: a table in a narrow pane wraps
|
|
@@ -14111,7 +14250,7 @@ textarea.FieldControl {
|
|
|
14111
14250
|
letter-spacing: var(--sl-font-body-condense-letter-spacing);
|
|
14112
14251
|
}
|
|
14113
14252
|
|
|
14114
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
14253
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
14115
14254
|
/* DataTable additions on top of .Table.
|
|
14116
14255
|
*
|
|
14117
14256
|
* Sort buttons fill the header cell and inherit its hover, so old aria-sort markup keeps
|
|
@@ -14232,7 +14371,7 @@ textarea.FieldControl {
|
|
|
14232
14371
|
color: var(--sl-table-subtle-color);
|
|
14233
14372
|
}
|
|
14234
14373
|
|
|
14235
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
14374
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
14236
14375
|
/* DataList
|
|
14237
14376
|
*
|
|
14238
14377
|
* The same rows as the table, in one container with the table's borders, hover, selected
|
|
@@ -14374,7 +14513,7 @@ textarea.FieldControl {
|
|
|
14374
14513
|
transition: opacity var(--sl-duration-fast) var(--sl-easing-default);
|
|
14375
14514
|
}
|
|
14376
14515
|
|
|
14377
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
14516
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
14378
14517
|
/* Pagination
|
|
14379
14518
|
*
|
|
14380
14519
|
* Not tied to a collection. Anything with a page, a page count and a total can use it.
|
|
@@ -14399,7 +14538,7 @@ textarea.FieldControl {
|
|
|
14399
14538
|
margin: 0;
|
|
14400
14539
|
}
|
|
14401
14540
|
|
|
14402
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
14541
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
14403
14542
|
/* EditableList
|
|
14404
14543
|
*
|
|
14405
14544
|
* One table at every width, so a field is not submitted twice. Under the stack width each
|
|
@@ -14498,7 +14637,7 @@ textarea.FieldControl {
|
|
|
14498
14637
|
}
|
|
14499
14638
|
}
|
|
14500
14639
|
|
|
14501
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
14640
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
14502
14641
|
/* Sheet
|
|
14503
14642
|
*
|
|
14504
14643
|
* A working-paper surface: the raised surface with a heavier rule across its top
|
|
@@ -14589,7 +14728,7 @@ textarea.FieldControl {
|
|
|
14589
14728
|
border-top: 0;
|
|
14590
14729
|
}
|
|
14591
14730
|
|
|
14592
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
14731
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
14593
14732
|
/* StatFigure
|
|
14594
14733
|
*
|
|
14595
14734
|
* One large figure with a caps label above and a caption under it. The label is
|
|
@@ -14650,7 +14789,7 @@ textarea.FieldControl {
|
|
|
14650
14789
|
color: var(--sl-stat-figure-caption-color);
|
|
14651
14790
|
}
|
|
14652
14791
|
|
|
14653
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
14792
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
14654
14793
|
/* DescriptionList
|
|
14655
14794
|
*
|
|
14656
14795
|
* Label and value pairs in a native dl, one DescriptionItem (a div holding a dt and a dd)
|
|
@@ -14725,3 +14864,305 @@ textarea.FieldControl {
|
|
|
14725
14864
|
max-width: 60%;
|
|
14726
14865
|
text-align: end;
|
|
14727
14866
|
}
|
|
14867
|
+
|
|
14868
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
14869
|
+
/* AppBar
|
|
14870
|
+
*
|
|
14871
|
+
* The bar across the top of an app window, one row on a line in the rule color. The line is
|
|
14872
|
+
* app-bar.border-width while rule.width is 0, and the thicker of the two once a brand turns the
|
|
14873
|
+
* rule on, so an ink-rule brand gets the working-paper rule under its app bar.
|
|
14874
|
+
* AppBarSpacer pushes what follows it to the end. A vertical Separator inside is a short
|
|
14875
|
+
* divider between groups of icon actions. Tokens: app-bar.* (tokens/component/app-bar.json).
|
|
14876
|
+
*/
|
|
14877
|
+
|
|
14878
|
+
.AppBar {
|
|
14879
|
+
box-sizing: border-box;
|
|
14880
|
+
display: flex;
|
|
14881
|
+
align-items: center;
|
|
14882
|
+
gap: var(--sl-app-bar-gap);
|
|
14883
|
+
min-height: var(--sl-app-bar-height);
|
|
14884
|
+
padding-inline: var(--sl-app-bar-padding-inline);
|
|
14885
|
+
padding-block: var(--sl-space-2);
|
|
14886
|
+
background: var(--sl-app-bar-background);
|
|
14887
|
+
border-bottom: max(var(--sl-app-bar-border-width), var(--sl-rule-width)) solid var(--sl-app-bar-border-color);
|
|
14888
|
+
min-width: 0;
|
|
14889
|
+
}
|
|
14890
|
+
|
|
14891
|
+
.AppBarSpacer {
|
|
14892
|
+
flex: 1 1 var(--sl-space-4);
|
|
14893
|
+
min-width: 0;
|
|
14894
|
+
}
|
|
14895
|
+
|
|
14896
|
+
.AppBar .Separator[data-orientation='vertical'] {
|
|
14897
|
+
height: var(--sl-app-bar-divider-height);
|
|
14898
|
+
margin-inline: var(--sl-space-1);
|
|
14899
|
+
background: var(--sl-app-bar-divider-color);
|
|
14900
|
+
}
|
|
14901
|
+
|
|
14902
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
14903
|
+
/* PickerButton
|
|
14904
|
+
*
|
|
14905
|
+
* A trigger with a caps label before the current choice: CLIENT Alpha Services. The field
|
|
14906
|
+
* look and states of a Select trigger; the label is caps-condense in picker-button.label-color,
|
|
14907
|
+
* the choice is cut with an ellipsis at picker-button.max-width and the chevron turns while
|
|
14908
|
+
* its popup is open. Tokens: picker-button.* (tokens/component/picker-button.json) and field.*.
|
|
14909
|
+
*/
|
|
14910
|
+
|
|
14911
|
+
.PickerButton {
|
|
14912
|
+
box-sizing: border-box;
|
|
14913
|
+
color: var(--sl-field-color);
|
|
14914
|
+
background: var(--sl-field-background);
|
|
14915
|
+
border: var(--sl-field-border-width) solid var(--sl-field-border-color);
|
|
14916
|
+
border-radius: var(--sl-field-radius);
|
|
14917
|
+
transition: var(--sl-field-transition);
|
|
14918
|
+
outline: none;
|
|
14919
|
+
font-family: var(--sl-font-body-base-font-family);
|
|
14920
|
+
font-size: var(--sl-font-body-base-font-size);
|
|
14921
|
+
font-weight: var(--sl-font-body-base-font-weight);
|
|
14922
|
+
line-height: var(--sl-font-body-base-line-height);
|
|
14923
|
+
letter-spacing: var(--sl-font-body-base-letter-spacing);
|
|
14924
|
+
display: inline-flex;
|
|
14925
|
+
align-items: center;
|
|
14926
|
+
gap: var(--sl-gap-control);
|
|
14927
|
+
max-width: var(--sl-picker-button-max-width);
|
|
14928
|
+
min-width: 0;
|
|
14929
|
+
height: var(--sl-control-height-md);
|
|
14930
|
+
margin: 0;
|
|
14931
|
+
padding-block: var(--sl-control-padding-block);
|
|
14932
|
+
padding-inline: var(--sl-control-padding-inline);
|
|
14933
|
+
cursor: pointer;
|
|
14934
|
+
white-space: nowrap;
|
|
14935
|
+
}
|
|
14936
|
+
|
|
14937
|
+
.PickerButton:hover:not(:disabled) {
|
|
14938
|
+
border-color: var(--sl-field-border-color-hover);
|
|
14939
|
+
}
|
|
14940
|
+
|
|
14941
|
+
.PickerButton:focus-visible {
|
|
14942
|
+
border-color: var(--sl-field-border-color-focus);
|
|
14943
|
+
box-shadow: var(--sl-field-shadow-focus);
|
|
14944
|
+
}
|
|
14945
|
+
|
|
14946
|
+
.PickerButton:disabled {
|
|
14947
|
+
background: var(--sl-field-background-disabled);
|
|
14948
|
+
color: var(--sl-field-color-disabled);
|
|
14949
|
+
cursor: not-allowed;
|
|
14950
|
+
}
|
|
14951
|
+
|
|
14952
|
+
.PickerButtonLabel {
|
|
14953
|
+
font-family: var(--sl-font-caps-condense-font-family);
|
|
14954
|
+
font-size: var(--sl-font-caps-condense-font-size);
|
|
14955
|
+
font-weight: var(--sl-font-caps-condense-font-weight);
|
|
14956
|
+
line-height: var(--sl-font-caps-condense-line-height);
|
|
14957
|
+
letter-spacing: var(--sl-font-caps-condense-letter-spacing);
|
|
14958
|
+
text-transform: var(--sl-font-caps-condense-text-transform);
|
|
14959
|
+
flex: none;
|
|
14960
|
+
color: var(--sl-picker-button-label-color);
|
|
14961
|
+
}
|
|
14962
|
+
|
|
14963
|
+
.PickerButtonValue {
|
|
14964
|
+
flex: 0 1 auto;
|
|
14965
|
+
min-width: 0;
|
|
14966
|
+
overflow: hidden;
|
|
14967
|
+
text-overflow: ellipsis;
|
|
14968
|
+
color: var(--sl-field-color);
|
|
14969
|
+
}
|
|
14970
|
+
|
|
14971
|
+
.PickerButtonValue[data-placeholder] {
|
|
14972
|
+
color: var(--sl-field-placeholder-color);
|
|
14973
|
+
}
|
|
14974
|
+
|
|
14975
|
+
.PickerButtonIcon {
|
|
14976
|
+
flex: none;
|
|
14977
|
+
width: var(--sl-icon-size-base);
|
|
14978
|
+
height: var(--sl-icon-size-base);
|
|
14979
|
+
color: var(--sl-text-tertiary);
|
|
14980
|
+
transition: transform var(--sl-duration-normal) var(--sl-easing-default);
|
|
14981
|
+
}
|
|
14982
|
+
|
|
14983
|
+
.PickerButton[aria-expanded='true'] .PickerButtonIcon,
|
|
14984
|
+
.PickerButton[data-popup-open] .PickerButtonIcon {
|
|
14985
|
+
transform: rotate(180deg);
|
|
14986
|
+
}
|
|
14987
|
+
|
|
14988
|
+
/* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
|
|
14989
|
+
/* SideNav
|
|
14990
|
+
*
|
|
14991
|
+
* The column of links down the side of a workspace. Rows are ruled apart with a hairline; the
|
|
14992
|
+
* current row (aria-current="page") sits on the raised surface with a rule under it in the
|
|
14993
|
+
* working-paper ink; counts are figures; group headings are caps labels. SideNavToggle is a
|
|
14994
|
+
* small round button on the column's edge, whose chevron turns with the state. The parent
|
|
14995
|
+
* sets the width and must not clip the toggle (overflow: visible), since it hangs over the edge.
|
|
14996
|
+
* Tokens: side-nav.* (tokens/component/side-nav.json).
|
|
14997
|
+
*/
|
|
14998
|
+
|
|
14999
|
+
.SideNav {
|
|
15000
|
+
position: relative;
|
|
15001
|
+
box-sizing: border-box;
|
|
15002
|
+
display: flex;
|
|
15003
|
+
flex-direction: column;
|
|
15004
|
+
height: 100%;
|
|
15005
|
+
min-width: 0;
|
|
15006
|
+
padding-block: var(--sl-space-4);
|
|
15007
|
+
background: var(--sl-side-nav-background);
|
|
15008
|
+
border-inline-end: var(--sl-stroke-default) solid var(--sl-side-nav-border-color);
|
|
15009
|
+
}
|
|
15010
|
+
|
|
15011
|
+
.SideNav[data-collapsed] {
|
|
15012
|
+
min-width: var(--sl-side-nav-collapsed-width);
|
|
15013
|
+
}
|
|
15014
|
+
|
|
15015
|
+
/* Collapsed: only the toggle stays. */
|
|
15016
|
+
.SideNav[data-collapsed] > :not(.SideNavToggle) {
|
|
15017
|
+
display: none;
|
|
15018
|
+
}
|
|
15019
|
+
|
|
15020
|
+
.SideNavItem {
|
|
15021
|
+
font-family: var(--sl-font-body-base-font-family);
|
|
15022
|
+
font-size: var(--sl-font-body-base-font-size);
|
|
15023
|
+
font-weight: var(--sl-font-body-base-font-weight);
|
|
15024
|
+
line-height: var(--sl-font-body-base-line-height);
|
|
15025
|
+
letter-spacing: var(--sl-font-body-base-letter-spacing);
|
|
15026
|
+
box-sizing: border-box;
|
|
15027
|
+
display: flex;
|
|
15028
|
+
align-items: center;
|
|
15029
|
+
justify-content: space-between;
|
|
15030
|
+
gap: var(--sl-side-nav-item-gap);
|
|
15031
|
+
min-height: var(--sl-side-nav-item-height);
|
|
15032
|
+
padding-inline: var(--sl-side-nav-item-padding-inline);
|
|
15033
|
+
color: var(--sl-side-nav-item-color);
|
|
15034
|
+
text-decoration: none;
|
|
15035
|
+
border-bottom: var(--sl-stroke-default) solid var(--sl-side-nav-item-divider-color);
|
|
15036
|
+
cursor: pointer;
|
|
15037
|
+
transition: background var(--sl-duration-fast) var(--sl-easing-default);
|
|
15038
|
+
}
|
|
15039
|
+
|
|
15040
|
+
.SideNavItemText {
|
|
15041
|
+
display: flex;
|
|
15042
|
+
flex-direction: column;
|
|
15043
|
+
min-width: 0;
|
|
15044
|
+
}
|
|
15045
|
+
|
|
15046
|
+
.SideNavItemLabel {
|
|
15047
|
+
overflow: hidden;
|
|
15048
|
+
text-overflow: ellipsis;
|
|
15049
|
+
white-space: nowrap;
|
|
15050
|
+
}
|
|
15051
|
+
|
|
15052
|
+
.SideNavItemHint {
|
|
15053
|
+
font-family: var(--sl-font-body-minimize-font-family);
|
|
15054
|
+
font-size: var(--sl-font-body-minimize-font-size);
|
|
15055
|
+
font-weight: var(--sl-font-body-minimize-font-weight);
|
|
15056
|
+
line-height: var(--sl-font-body-minimize-line-height);
|
|
15057
|
+
letter-spacing: var(--sl-font-body-minimize-letter-spacing);
|
|
15058
|
+
color: var(--sl-side-nav-item-color-disabled);
|
|
15059
|
+
}
|
|
15060
|
+
|
|
15061
|
+
.SideNavItem:hover:not([data-current]):not([data-disabled]) {
|
|
15062
|
+
background: var(--sl-side-nav-item-background-hover);
|
|
15063
|
+
}
|
|
15064
|
+
|
|
15065
|
+
.SideNavItem:focus-visible {
|
|
15066
|
+
outline: var(--sl-focus-outline);
|
|
15067
|
+
outline-offset: var(--sl-focus-outline-offset-inset);
|
|
15068
|
+
}
|
|
15069
|
+
|
|
15070
|
+
.SideNavItem[data-current] {
|
|
15071
|
+
background: var(--sl-side-nav-item-background-current);
|
|
15072
|
+
font-weight: var(--sl-font-weight-semibold);
|
|
15073
|
+
box-shadow: inset 0 calc(-1 * var(--sl-side-nav-indicator-width)) 0 var(--sl-side-nav-indicator-color);
|
|
15074
|
+
}
|
|
15075
|
+
|
|
15076
|
+
.SideNavItem[data-disabled] {
|
|
15077
|
+
color: var(--sl-side-nav-item-color-disabled);
|
|
15078
|
+
cursor: default;
|
|
15079
|
+
}
|
|
15080
|
+
|
|
15081
|
+
.SideNavItemCount {
|
|
15082
|
+
flex: none;
|
|
15083
|
+
font-family: var(--sl-font-figures-condense-font-family);
|
|
15084
|
+
font-variant-numeric: var(--sl-font-figures-condense-font-variant-numeric);
|
|
15085
|
+
font-size: var(--sl-font-figures-condense-font-size);
|
|
15086
|
+
font-weight: var(--sl-font-weight-semibold);
|
|
15087
|
+
line-height: var(--sl-font-figures-condense-line-height);
|
|
15088
|
+
color: var(--sl-side-nav-count-color);
|
|
15089
|
+
}
|
|
15090
|
+
|
|
15091
|
+
.SideNavItemCount[data-tone='quiet'] {
|
|
15092
|
+
color: var(--sl-side-nav-count-color-quiet);
|
|
15093
|
+
}
|
|
15094
|
+
|
|
15095
|
+
.SideNavGroupLabel {
|
|
15096
|
+
font-family: var(--sl-font-caps-condense-font-family);
|
|
15097
|
+
font-size: var(--sl-font-caps-condense-font-size);
|
|
15098
|
+
font-weight: var(--sl-font-caps-condense-font-weight);
|
|
15099
|
+
line-height: var(--sl-font-caps-condense-line-height);
|
|
15100
|
+
letter-spacing: var(--sl-font-caps-condense-letter-spacing);
|
|
15101
|
+
text-transform: var(--sl-font-caps-condense-text-transform);
|
|
15102
|
+
padding-top: var(--sl-side-nav-group-padding-top);
|
|
15103
|
+
padding-bottom: var(--sl-space-1-5);
|
|
15104
|
+
padding-inline: var(--sl-side-nav-item-padding-inline);
|
|
15105
|
+
color: var(--sl-side-nav-group-label-color);
|
|
15106
|
+
}
|
|
15107
|
+
|
|
15108
|
+
/* ============================================
|
|
15109
|
+
COLLAPSE BUTTON
|
|
15110
|
+
============================================ */
|
|
15111
|
+
|
|
15112
|
+
.SideNavToggle {
|
|
15113
|
+
all: unset;
|
|
15114
|
+
box-sizing: border-box;
|
|
15115
|
+
position: absolute;
|
|
15116
|
+
z-index: 1;
|
|
15117
|
+
top: var(--sl-side-nav-toggle-offset);
|
|
15118
|
+
inset-inline-end: calc(-0.5 * var(--sl-side-nav-toggle-size));
|
|
15119
|
+
display: inline-flex;
|
|
15120
|
+
align-items: center;
|
|
15121
|
+
justify-content: center;
|
|
15122
|
+
width: var(--sl-side-nav-toggle-size);
|
|
15123
|
+
height: var(--sl-side-nav-toggle-size);
|
|
15124
|
+
border-radius: var(--sl-radius-pill);
|
|
15125
|
+
background: var(--sl-side-nav-toggle-background);
|
|
15126
|
+
border: var(--sl-stroke-default) solid var(--sl-side-nav-toggle-border-color);
|
|
15127
|
+
color: var(--sl-text-secondary);
|
|
15128
|
+
cursor: pointer;
|
|
15129
|
+
transition: color var(--sl-duration-fast) var(--sl-easing-default),
|
|
15130
|
+
border-color var(--sl-duration-fast) var(--sl-easing-default);
|
|
15131
|
+
}
|
|
15132
|
+
|
|
15133
|
+
.SideNavToggle:hover {
|
|
15134
|
+
color: var(--sl-text-primary);
|
|
15135
|
+
border-color: var(--sl-text-primary);
|
|
15136
|
+
}
|
|
15137
|
+
|
|
15138
|
+
.SideNavToggle:focus-visible {
|
|
15139
|
+
outline: var(--sl-focus-outline);
|
|
15140
|
+
outline-offset: var(--sl-focus-outline-offset);
|
|
15141
|
+
}
|
|
15142
|
+
|
|
15143
|
+
.SideNavToggleIcon {
|
|
15144
|
+
width: var(--sl-icon-size-minimize);
|
|
15145
|
+
height: var(--sl-icon-size-minimize);
|
|
15146
|
+
transition: transform var(--sl-duration-normal) var(--sl-easing-default);
|
|
15147
|
+
}
|
|
15148
|
+
|
|
15149
|
+
/* The chevron points the way the column will go: left to collapse, right to expand. */
|
|
15150
|
+
.SideNavToggle[aria-expanded='false'] .SideNavToggleIcon {
|
|
15151
|
+
transform: rotate(180deg);
|
|
15152
|
+
}
|
|
15153
|
+
|
|
15154
|
+
[dir='rtl'] .SideNavToggleIcon {
|
|
15155
|
+
transform: scaleX(-1);
|
|
15156
|
+
}
|
|
15157
|
+
|
|
15158
|
+
[dir='rtl'] .SideNavToggle[aria-expanded='false'] .SideNavToggleIcon {
|
|
15159
|
+
transform: scaleX(-1) rotate(180deg);
|
|
15160
|
+
}
|
|
15161
|
+
|
|
15162
|
+
@media (prefers-reduced-motion: reduce) {
|
|
15163
|
+
.SideNavToggleIcon,
|
|
15164
|
+
.SideNavItem,
|
|
15165
|
+
.SideNavToggle {
|
|
15166
|
+
transition: none;
|
|
15167
|
+
}
|
|
15168
|
+
}
|