@usefragments/ui 1.6.0 → 2.0.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/README.md +54 -66
- package/dist/assets/fragments-wordmark.cjs +2 -2
- package/dist/assets/fragments-wordmark.d.ts.map +1 -1
- package/dist/assets/fragments-wordmark.js +2 -2
- package/dist/assets/nav-glyph.cjs +139 -0
- package/dist/assets/nav-glyph.d.ts +28 -0
- package/dist/assets/nav-glyph.d.ts.map +1 -0
- package/dist/assets/nav-glyph.js +139 -0
- package/dist/assets/nav-glyph.module.scss.cjs +71 -0
- package/dist/assets/nav-glyph.module.scss.js +71 -0
- package/dist/assets/ui.css +6885 -6308
- package/dist/blocks/components/StatsCard.d.ts +1 -1
- package/dist/blocks/components/StatsCard.d.ts.map +1 -1
- package/dist/chart.cjs +24 -6
- package/dist/chart.js +24 -6
- package/dist/codeblock.cjs +76 -43
- package/dist/codeblock.js +71 -38
- package/dist/colorpicker.cjs +4 -1
- package/dist/colorpicker.js +4 -1
- package/dist/components/Accordion/Accordion.module.scss.cjs +8 -8
- package/dist/components/Accordion/Accordion.module.scss.js +8 -8
- package/dist/components/Alert/Alert.module.scss.cjs +23 -20
- package/dist/components/Alert/Alert.module.scss.js +23 -20
- package/dist/components/Alert/index.cjs +20 -8
- package/dist/components/Alert/index.d.ts +17 -11
- package/dist/components/Alert/index.d.ts.map +1 -1
- package/dist/components/Alert/index.js +20 -8
- package/dist/components/AppShell/AppShell.module.scss.cjs +14 -14
- package/dist/components/AppShell/AppShell.module.scss.js +14 -14
- package/dist/components/AppShell/index.cjs +2 -2
- package/dist/components/AppShell/index.js +2 -2
- package/dist/components/Avatar/Avatar.module.scss.cjs +14 -14
- package/dist/components/Avatar/Avatar.module.scss.js +14 -14
- package/dist/components/Badge/Badge.module.scss.cjs +33 -31
- package/dist/components/Badge/Badge.module.scss.js +33 -31
- package/dist/components/Badge/index.cjs +13 -3
- package/dist/components/Badge/index.d.ts +18 -13
- package/dist/components/Badge/index.d.ts.map +1 -1
- package/dist/components/Badge/index.js +13 -3
- package/dist/components/BentoGrid/BentoGrid.module.scss.cjs +14 -14
- package/dist/components/BentoGrid/BentoGrid.module.scss.js +14 -14
- package/dist/components/Box/Box.module.scss.cjs +152 -152
- package/dist/components/Box/Box.module.scss.js +152 -152
- package/dist/components/Box/index.cjs +64 -75
- package/dist/components/Box/index.d.ts +16 -16
- package/dist/components/Box/index.d.ts.map +1 -1
- package/dist/components/Box/index.js +64 -75
- package/dist/components/Breadcrumbs/Breadcrumbs.module.scss.cjs +11 -8
- package/dist/components/Breadcrumbs/Breadcrumbs.module.scss.js +11 -8
- package/dist/components/Breadcrumbs/index.cjs +1 -1
- package/dist/components/Breadcrumbs/index.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/index.js +1 -1
- package/dist/components/Button/Button.module.scss.cjs +36 -27
- package/dist/components/Button/Button.module.scss.js +36 -27
- package/dist/components/Button/index.cjs +20 -4
- package/dist/components/Button/index.d.ts +18 -10
- package/dist/components/Button/index.d.ts.map +1 -1
- package/dist/components/Button/index.js +20 -4
- package/dist/components/ButtonGroup/ButtonGroup.module.scss.cjs +15 -15
- package/dist/components/ButtonGroup/ButtonGroup.module.scss.js +15 -15
- package/dist/components/Card/Card.module.scss.cjs +31 -26
- package/dist/components/Card/Card.module.scss.js +32 -27
- package/dist/components/Card/index.cjs +16 -3
- package/dist/components/Card/index.d.ts +23 -15
- package/dist/components/Card/index.d.ts.map +1 -1
- package/dist/components/Card/index.js +16 -3
- package/dist/components/Chart/Chart.module.scss.cjs +15 -15
- package/dist/components/Chart/Chart.module.scss.js +15 -15
- package/dist/components/Chart/index.d.ts.map +1 -1
- package/dist/components/Checkbox/Checkbox.module.scss.cjs +11 -11
- package/dist/components/Checkbox/Checkbox.module.scss.js +11 -11
- package/dist/components/Checkbox/index.cjs +4 -4
- package/dist/components/Checkbox/index.d.ts +4 -6
- package/dist/components/Checkbox/index.d.ts.map +1 -1
- package/dist/components/Checkbox/index.js +4 -4
- package/dist/components/Chip/Chip.module.scss.cjs +19 -19
- package/dist/components/Chip/Chip.module.scss.js +19 -19
- package/dist/components/Chip/index.cjs +3 -3
- package/dist/components/Chip/index.d.ts +8 -3
- package/dist/components/Chip/index.d.ts.map +1 -1
- package/dist/components/Chip/index.js +3 -3
- package/dist/components/CodeBlock/CodeBlock.module.scss.cjs +26 -23
- package/dist/components/CodeBlock/CodeBlock.module.scss.js +26 -23
- package/dist/components/CodeBlock/css-variables-theme.cjs +98 -0
- package/dist/components/CodeBlock/css-variables-theme.d.ts +27 -0
- package/dist/components/CodeBlock/css-variables-theme.d.ts.map +1 -0
- package/dist/components/CodeBlock/css-variables-theme.js +98 -0
- package/dist/components/CodeBlock/index.d.ts +20 -5
- package/dist/components/CodeBlock/index.d.ts.map +1 -1
- package/dist/components/Collapsible/Collapsible.module.scss.cjs +9 -9
- package/dist/components/Collapsible/Collapsible.module.scss.js +9 -9
- package/dist/components/ColorPicker/ColorPicker.module.scss.cjs +14 -14
- package/dist/components/ColorPicker/ColorPicker.module.scss.js +14 -14
- package/dist/components/ColorPicker/index.d.ts.map +1 -1
- package/dist/components/Combobox/Combobox.module.scss.cjs +21 -21
- package/dist/components/Combobox/Combobox.module.scss.js +21 -21
- package/dist/components/Combobox/index.cjs +26 -6
- package/dist/components/Combobox/index.d.ts.map +1 -1
- package/dist/components/Combobox/index.js +26 -6
- package/dist/components/Command/Command.module.scss.cjs +14 -11
- package/dist/components/Command/Command.module.scss.js +14 -11
- package/dist/components/Command/index.cjs +28 -16
- package/dist/components/Command/index.d.ts +8 -3
- package/dist/components/Command/index.d.ts.map +1 -1
- package/dist/components/Command/index.js +28 -16
- package/dist/components/ConversationList/ConversationList.module.scss.cjs +10 -10
- package/dist/components/ConversationList/ConversationList.module.scss.js +10 -10
- package/dist/components/ConversationList/index.cjs +2 -2
- package/dist/components/ConversationList/index.js +2 -2
- package/dist/components/DataTable/DataTable.icons.cjs +6 -33
- package/dist/components/DataTable/DataTable.icons.d.ts.map +1 -1
- package/dist/components/DataTable/DataTable.icons.js +6 -33
- package/dist/components/DataTable/DataTable.module.scss.cjs +31 -28
- package/dist/components/DataTable/DataTable.module.scss.js +31 -28
- package/dist/components/DataTable/DataTable.virtual.d.ts.map +1 -1
- package/dist/components/DataTable/index.d.ts.map +1 -1
- package/dist/components/DatePicker/DatePicker.module.scss.cjs +33 -33
- package/dist/components/DatePicker/DatePicker.module.scss.js +33 -33
- package/dist/components/DatePicker/index.d.ts.map +1 -1
- package/dist/components/Dialog/Dialog.module.scss.cjs +14 -14
- package/dist/components/Dialog/Dialog.module.scss.js +14 -14
- package/dist/components/Dialog/index.cjs +13 -16
- package/dist/components/Dialog/index.d.ts +11 -10
- package/dist/components/Dialog/index.d.ts.map +1 -1
- package/dist/components/Dialog/index.js +13 -16
- package/dist/components/Drawer/Drawer.module.scss.cjs +39 -39
- package/dist/components/Drawer/Drawer.module.scss.js +40 -40
- package/dist/components/Drawer/index.cjs +2 -2
- package/dist/components/Drawer/index.d.ts +5 -4
- package/dist/components/Drawer/index.d.ts.map +1 -1
- package/dist/components/Drawer/index.js +2 -2
- package/dist/components/Editor/Editor.module.scss.cjs +17 -17
- package/dist/components/Editor/Editor.module.scss.js +17 -17
- package/dist/components/Editor/index.d.ts +10 -10
- package/dist/components/Editor/index.d.ts.map +1 -1
- package/dist/components/EmptyState/EmptyState.module.scss.cjs +11 -8
- package/dist/components/EmptyState/EmptyState.module.scss.js +11 -8
- package/dist/components/EmptyState/index.cjs +13 -6
- package/dist/components/EmptyState/index.d.ts +13 -5
- package/dist/components/EmptyState/index.d.ts.map +1 -1
- package/dist/components/EmptyState/index.js +13 -6
- package/dist/components/Field/Field.module.scss.cjs +5 -5
- package/dist/components/Field/Field.module.scss.js +5 -5
- package/dist/components/Field/index.cjs +9 -1
- package/dist/components/Field/index.d.ts.map +1 -1
- package/dist/components/Field/index.js +9 -1
- package/dist/components/Fieldset/Fieldset.module.scss.cjs +3 -3
- package/dist/components/Fieldset/Fieldset.module.scss.js +3 -3
- package/dist/components/Grid/Grid.module.scss.cjs +54 -54
- package/dist/components/Grid/Grid.module.scss.js +54 -54
- package/dist/components/Grid/index.cjs +1 -1
- package/dist/components/Grid/index.js +1 -1
- package/dist/components/Header/Header.module.scss.cjs +33 -33
- package/dist/components/Header/Header.module.scss.js +33 -33
- package/dist/components/Header/index.cjs +17 -38
- package/dist/components/Header/index.d.ts +15 -11
- package/dist/components/Header/index.d.ts.map +1 -1
- package/dist/components/Header/index.js +17 -38
- package/dist/components/Icon/Icon.module.scss.cjs +30 -33
- package/dist/components/Icon/Icon.module.scss.js +30 -33
- package/dist/components/Icon/index.cjs +15 -14
- package/dist/components/Icon/index.d.ts +23 -12
- package/dist/components/Icon/index.d.ts.map +1 -1
- package/dist/components/Icon/index.js +15 -14
- package/dist/components/IconButton/IconButton.module.scss.cjs +12 -12
- package/dist/components/IconButton/IconButton.module.scss.js +12 -12
- package/dist/components/IconButton/index.cjs +2 -1
- package/dist/components/IconButton/index.d.ts +4 -4
- package/dist/components/IconButton/index.d.ts.map +1 -1
- package/dist/components/IconButton/index.js +2 -1
- package/dist/components/Image/Image.module.scss.cjs +27 -27
- package/dist/components/Image/Image.module.scss.js +27 -27
- package/dist/components/Input/Input.module.scss.cjs +15 -21
- package/dist/components/Input/Input.module.scss.js +15 -21
- package/dist/components/Input/index.cjs +2 -14
- package/dist/components/Input/index.d.ts +0 -2
- package/dist/components/Input/index.d.ts.map +1 -1
- package/dist/components/Input/index.js +2 -14
- package/dist/components/Link/Link.module.scss.cjs +26 -14
- package/dist/components/Link/Link.module.scss.js +26 -14
- package/dist/components/Link/index.cjs +13 -2
- package/dist/components/Link/index.d.ts +11 -4
- package/dist/components/Link/index.d.ts.map +1 -1
- package/dist/components/Link/index.js +13 -2
- package/dist/components/List/List.module.scss.cjs +23 -19
- package/dist/components/List/List.module.scss.js +23 -19
- package/dist/components/List/index.cjs +7 -7
- package/dist/components/List/index.d.ts +10 -7
- package/dist/components/List/index.d.ts.map +1 -1
- package/dist/components/List/index.js +7 -7
- package/dist/components/Listbox/Listbox.module.scss.cjs +8 -8
- package/dist/components/Listbox/Listbox.module.scss.js +8 -8
- package/dist/components/Loading/Loading.module.scss.cjs +34 -34
- package/dist/components/Loading/Loading.module.scss.js +34 -34
- package/dist/components/Loading/index.cjs +5 -5
- package/dist/components/Loading/index.d.ts +8 -7
- package/dist/components/Loading/index.d.ts.map +1 -1
- package/dist/components/Loading/index.js +5 -5
- package/dist/components/Markdown/Markdown.module.scss.cjs +1 -1
- package/dist/components/Markdown/Markdown.module.scss.js +1 -1
- package/dist/components/Markdown/index.d.ts +2 -2
- package/dist/components/Markdown/index.d.ts.map +1 -1
- package/dist/components/Menu/Menu.module.scss.cjs +14 -14
- package/dist/components/Menu/Menu.module.scss.js +14 -14
- package/dist/components/Message/Message.module.scss.cjs +20 -20
- package/dist/components/Message/Message.module.scss.js +20 -20
- package/dist/components/Message/index.cjs +1 -1
- package/dist/components/Message/index.d.ts +1 -1
- package/dist/components/Message/index.js +1 -1
- package/dist/components/NavigationMenu/NavigationMenu.module.scss.cjs +34 -31
- package/dist/components/NavigationMenu/NavigationMenu.module.scss.js +34 -31
- package/dist/components/NavigationMenu/index.cjs +32 -15
- package/dist/components/NavigationMenu/index.d.ts +12 -6
- package/dist/components/NavigationMenu/index.d.ts.map +1 -1
- package/dist/components/NavigationMenu/index.js +32 -15
- package/dist/components/Pagination/Pagination.module.scss.cjs +10 -10
- package/dist/components/Pagination/Pagination.module.scss.js +10 -10
- package/dist/components/Popover/Popover.module.scss.cjs +10 -10
- package/dist/components/Popover/Popover.module.scss.js +10 -10
- package/dist/components/Progress/Progress.module.scss.cjs +28 -25
- package/dist/components/Progress/Progress.module.scss.js +28 -25
- package/dist/components/Progress/index.cjs +21 -12
- package/dist/components/Progress/index.d.ts +10 -6
- package/dist/components/Progress/index.d.ts.map +1 -1
- package/dist/components/Progress/index.js +21 -12
- package/dist/components/Prompt/Prompt.module.scss.cjs +30 -30
- package/dist/components/Prompt/Prompt.module.scss.js +30 -30
- package/dist/components/Prompt/index.cjs +7 -7
- package/dist/components/Prompt/index.d.ts +11 -9
- package/dist/components/Prompt/index.d.ts.map +1 -1
- package/dist/components/Prompt/index.js +7 -7
- package/dist/components/RadioGroup/RadioGroup.module.scss.cjs +20 -17
- package/dist/components/RadioGroup/RadioGroup.module.scss.js +20 -17
- package/dist/components/RadioGroup/index.cjs +10 -5
- package/dist/components/RadioGroup/index.d.ts +11 -7
- package/dist/components/RadioGroup/index.d.ts.map +1 -1
- package/dist/components/RadioGroup/index.js +10 -5
- package/dist/components/ScrollArea/ScrollArea.module.scss.cjs +5 -5
- package/dist/components/ScrollArea/ScrollArea.module.scss.js +5 -5
- package/dist/components/ScrollArea/index.d.ts +4 -4
- package/dist/components/ScrollArea/index.d.ts.map +1 -1
- package/dist/components/ScrollArea/scroll-state.d.ts +5 -5
- package/dist/components/Select/Select.module.scss.cjs +21 -21
- package/dist/components/Select/Select.module.scss.js +21 -21
- package/dist/components/Select/index.cjs +26 -20
- package/dist/components/Select/index.d.ts +5 -5
- package/dist/components/Select/index.d.ts.map +1 -1
- package/dist/components/Select/index.js +26 -20
- package/dist/components/Separator/Separator.module.scss.cjs +25 -19
- package/dist/components/Separator/Separator.module.scss.js +25 -19
- package/dist/components/Separator/index.cjs +10 -8
- package/dist/components/Separator/index.d.ts +4 -2
- package/dist/components/Separator/index.d.ts.map +1 -1
- package/dist/components/Separator/index.js +10 -8
- package/dist/components/Sidebar/Sidebar.module.scss.cjs +43 -43
- package/dist/components/Sidebar/Sidebar.module.scss.js +43 -43
- package/dist/components/Sidebar/index.cjs +15 -38
- package/dist/components/Sidebar/index.d.ts +19 -19
- package/dist/components/Sidebar/index.d.ts.map +1 -1
- package/dist/components/Sidebar/index.js +15 -38
- package/dist/components/Skeleton/Skeleton.module.scss.cjs +50 -46
- package/dist/components/Skeleton/Skeleton.module.scss.js +50 -46
- package/dist/components/Skeleton/index.cjs +7 -7
- package/dist/components/Skeleton/index.d.ts +8 -7
- package/dist/components/Skeleton/index.d.ts.map +1 -1
- package/dist/components/Skeleton/index.js +7 -7
- package/dist/components/Slider/Slider.module.scss.cjs +12 -12
- package/dist/components/Slider/Slider.module.scss.js +12 -12
- package/dist/components/Stack/Stack.module.scss.cjs +25 -25
- package/dist/components/Stack/Stack.module.scss.js +25 -25
- package/dist/components/Stack/index.cjs +1 -1
- package/dist/components/Stack/index.js +1 -1
- package/dist/components/Switch/Switch.module.scss.cjs +9 -9
- package/dist/components/Switch/Switch.module.scss.js +9 -9
- package/dist/components/Table/Table.module.scss.cjs +19 -19
- package/dist/components/Table/Table.module.scss.js +19 -19
- package/dist/components/TableOfContents/TableOfContents.module.scss.cjs +15 -15
- package/dist/components/TableOfContents/TableOfContents.module.scss.js +15 -15
- package/dist/components/TableOfContents/index.cjs +14 -10
- package/dist/components/TableOfContents/index.d.ts +5 -3
- package/dist/components/TableOfContents/index.d.ts.map +1 -1
- package/dist/components/TableOfContents/index.js +14 -10
- package/dist/components/Tabs/Tabs.module.scss.cjs +18 -18
- package/dist/components/Tabs/Tabs.module.scss.js +18 -18
- package/dist/components/Tabs/index.cjs +30 -11
- package/dist/components/Tabs/index.d.ts +8 -6
- package/dist/components/Tabs/index.d.ts.map +1 -1
- package/dist/components/Tabs/index.js +30 -11
- package/dist/components/Text/Text.module.scss.cjs +109 -97
- package/dist/components/Text/Text.module.scss.js +109 -97
- package/dist/components/Text/index.cjs +45 -41
- package/dist/components/Text/index.d.ts +24 -19
- package/dist/components/Text/index.d.ts.map +1 -1
- package/dist/components/Text/index.js +45 -41
- package/dist/components/Textarea/Textarea.module.scss.cjs +22 -28
- package/dist/components/Textarea/Textarea.module.scss.js +22 -28
- package/dist/components/Textarea/index.cjs +3 -10
- package/dist/components/Textarea/index.d.ts +0 -2
- package/dist/components/Textarea/index.d.ts.map +1 -1
- package/dist/components/Textarea/index.js +3 -10
- package/dist/components/Theme/index.cjs +22 -5
- package/dist/components/Theme/index.d.ts +6 -12
- package/dist/components/Theme/index.d.ts.map +1 -1
- package/dist/components/Theme/index.js +22 -5
- package/dist/components/ThemeToggle/ThemeButton.cjs +51 -0
- package/dist/components/ThemeToggle/ThemeButton.d.ts +16 -0
- package/dist/components/ThemeToggle/ThemeButton.d.ts.map +1 -0
- package/dist/components/ThemeToggle/ThemeButton.js +34 -0
- package/dist/components/ThemeToggle/ThemeToggle.module.scss.cjs +6 -6
- package/dist/components/ThemeToggle/ThemeToggle.module.scss.js +6 -6
- package/dist/components/ThemeToggle/icons.cjs +48 -0
- package/dist/components/ThemeToggle/icons.d.ts +10 -0
- package/dist/components/ThemeToggle/icons.d.ts.map +1 -0
- package/dist/components/ThemeToggle/icons.js +48 -0
- package/dist/components/ThemeToggle/index.cjs +6 -50
- package/dist/components/ThemeToggle/index.d.ts +5 -3
- package/dist/components/ThemeToggle/index.d.ts.map +1 -1
- package/dist/components/ThemeToggle/index.js +3 -47
- package/dist/components/ThinkingIndicator/ThinkingIndicator.module.scss.cjs +18 -15
- package/dist/components/ThinkingIndicator/ThinkingIndicator.module.scss.js +18 -15
- package/dist/components/ThinkingIndicator/index.cjs +7 -8
- package/dist/components/ThinkingIndicator/index.d.ts +6 -5
- package/dist/components/ThinkingIndicator/index.d.ts.map +1 -1
- package/dist/components/ThinkingIndicator/index.js +7 -8
- package/dist/components/Toast/Toast.module.scss.cjs +28 -29
- package/dist/components/Toast/Toast.module.scss.js +29 -30
- package/dist/components/Toast/index.cjs +28 -30
- package/dist/components/Toast/index.d.ts +9 -8
- package/dist/components/Toast/index.d.ts.map +1 -1
- package/dist/components/Toast/index.js +28 -30
- package/dist/components/ToggleGroup/ToggleGroup.module.scss.cjs +21 -19
- package/dist/components/ToggleGroup/ToggleGroup.module.scss.js +22 -20
- package/dist/components/ToggleGroup/index.cjs +4 -5
- package/dist/components/ToggleGroup/index.d.ts +7 -6
- package/dist/components/ToggleGroup/index.d.ts.map +1 -1
- package/dist/components/ToggleGroup/index.js +4 -5
- package/dist/components/Tooltip/Tooltip.module.scss.cjs +3 -3
- package/dist/components/Tooltip/Tooltip.module.scss.js +3 -3
- package/dist/components/Tooltip/index.cjs +24 -40
- package/dist/components/Tooltip/index.d.ts +4 -4
- package/dist/components/Tooltip/index.d.ts.map +1 -1
- package/dist/components/Tooltip/index.js +24 -40
- package/dist/components/VisuallyHidden/VisuallyHidden.module.scss.cjs +1 -1
- package/dist/components/VisuallyHidden/VisuallyHidden.module.scss.js +1 -1
- package/dist/components/VisuallyHidden/index.d.ts +2 -2
- package/dist/data-table-virtual.cjs +3 -2
- package/dist/data-table-virtual.js +3 -2
- package/dist/data-table.cjs +3 -2
- package/dist/data-table.js +3 -2
- package/dist/datepicker.cjs +26 -13
- package/dist/datepicker.js +26 -13
- package/dist/editor.cjs +68 -28
- package/dist/editor.js +68 -28
- package/dist/index.cjs +6 -2
- package/dist/index.d.ts +9 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -4
- package/dist/markdown.cjs +21 -29
- package/dist/markdown.js +21 -29
- package/dist/measurements/generated.cjs +46 -94
- package/dist/measurements/generated.d.ts +44 -92
- package/dist/measurements/generated.d.ts.map +1 -1
- package/dist/measurements/generated.js +46 -94
- package/dist/measurements/index.d.ts +1 -1
- package/dist/measurements/index.d.ts.map +1 -1
- package/dist/utils/a11y.cjs +5 -2
- package/dist/utils/a11y.d.ts +5 -5
- package/dist/utils/a11y.d.ts.map +1 -1
- package/dist/utils/a11y.js +5 -2
- package/dist/utils/canonical-stamp.cjs +2 -8
- package/dist/utils/canonical-stamp.d.ts.map +1 -1
- package/dist/utils/canonical-stamp.js +1 -7
- package/dist/utils/css-warning.cjs +1 -1
- package/dist/utils/css-warning.js +1 -1
- package/dist/utils/env.cjs +17 -0
- package/dist/utils/env.d.ts +3 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +17 -0
- package/dist/utils/keyboard-shortcuts.cjs +3 -10
- package/dist/utils/keyboard-shortcuts.d.ts +4 -4
- package/dist/utils/keyboard-shortcuts.d.ts.map +1 -1
- package/dist/utils/keyboard-shortcuts.js +3 -10
- package/dist/utils/seed-derivation.cjs +10 -7
- package/dist/utils/seed-derivation.d.ts +1 -3
- package/dist/utils/seed-derivation.d.ts.map +1 -1
- package/dist/utils/seed-derivation.js +10 -7
- package/dist/utils/theme-presets.cjs +5 -10
- package/dist/utils/theme-presets.d.ts +1 -2
- package/dist/utils/theme-presets.d.ts.map +1 -1
- package/dist/utils/theme-presets.js +5 -10
- package/fragments.json +1 -1
- package/package.json +9 -10
- package/src/assets/fragments-logo.tsx +2 -2
- package/src/assets/fragments-wordmark.tsx +4 -2
- package/src/assets/nav-glyph.module.scss +166 -0
- package/src/assets/nav-glyph.tsx +188 -0
- package/src/components/Accordion/Accordion.contract.json +24 -48
- package/src/components/Accordion/Accordion.module.scss +5 -3
- package/src/components/Alert/Alert.contract.json +49 -65
- package/src/components/Alert/Alert.module.scss +57 -47
- package/src/components/Alert/index.tsx +72 -39
- package/src/components/AppShell/AppShell.contract.json +34 -51
- package/src/components/AppShell/AppShell.module.scss +99 -54
- package/src/components/AppShell/index.tsx +2 -2
- package/src/components/Avatar/Avatar.contract.json +31 -48
- package/src/components/Avatar/Avatar.module.scss +4 -2
- package/src/components/Badge/Badge.contract.json +86 -55
- package/src/components/Badge/Badge.module.scss +80 -48
- package/src/components/Badge/index.tsx +34 -17
- package/src/components/BentoGrid/BentoGrid.contract.json +21 -45
- package/src/components/BentoGrid/BentoGrid.module.scss +4 -8
- package/src/components/Box/Box.contract.json +40 -148
- package/src/components/Box/Box.module.scss +7 -6
- package/src/components/Box/index.tsx +92 -99
- package/src/components/Breadcrumbs/Breadcrumbs.contract.json +21 -34
- package/src/components/Breadcrumbs/Breadcrumbs.module.scss +27 -12
- package/src/components/Breadcrumbs/index.tsx +5 -1
- package/src/components/Button/Button.module.scss +261 -185
- package/src/components/Button/index.tsx +41 -28
- package/src/components/ButtonGroup/ButtonGroup.contract.json +34 -49
- package/src/components/ButtonGroup/ButtonGroup.module.scss +8 -6
- package/src/components/Card/Card.consumer-fixture.module.scss +5 -2
- package/src/components/Card/Card.module.scss +97 -76
- package/src/components/Card/index.tsx +44 -20
- package/src/components/Chart/Chart.contract.json +21 -29
- package/src/components/Chart/Chart.module.scss +6 -5
- package/src/components/Chart/index.tsx +36 -6
- package/src/components/Checkbox/Checkbox.contract.json +28 -27
- package/src/components/Checkbox/Checkbox.module.scss +47 -54
- package/src/components/Checkbox/index.tsx +10 -10
- package/src/components/Chip/Chip.contract.json +38 -45
- package/src/components/Chip/Chip.module.scss +24 -23
- package/src/components/Chip/index.tsx +12 -7
- package/src/components/CodeBlock/CodeBlock.contract.json +46 -76
- package/src/components/CodeBlock/CodeBlock.module.scss +75 -73
- package/src/components/CodeBlock/css-variables-theme.ts +102 -0
- package/src/components/CodeBlock/index.tsx +114 -51
- package/src/components/Collapsible/Collapsible.contract.json +21 -36
- package/src/components/Collapsible/Collapsible.module.scss +1 -7
- package/src/components/ColorPicker/ColorPicker.contract.json +29 -48
- package/src/components/ColorPicker/ColorPicker.module.scss +34 -24
- package/src/components/ColorPicker/index.tsx +6 -1
- package/src/components/Combobox/Combobox.contract.json +36 -37
- package/src/components/Combobox/Combobox.module.scss +16 -19
- package/src/components/Combobox/index.tsx +41 -6
- package/src/components/Command/Command.contract.json +28 -44
- package/src/components/Command/Command.module.scss +19 -21
- package/src/components/Command/index.tsx +64 -47
- package/src/components/ComponentDefaults/ComponentDefaults.contract.json +91 -0
- package/src/components/ConversationList/ConversationList.contract.json +27 -32
- package/src/components/ConversationList/ConversationList.module.scss +2 -3
- package/src/components/ConversationList/index.tsx +2 -2
- package/src/components/DataTable/DataTable.icons.tsx +4 -21
- package/src/components/DataTable/DataTable.module.scss +24 -17
- package/src/components/DataTable/DataTable.virtual.tsx +3 -2
- package/src/components/DataTable/index.tsx +9 -8
- package/src/components/DatePicker/DatePicker.contract.json +27 -28
- package/src/components/DatePicker/DatePicker.module.scss +41 -44
- package/src/components/DatePicker/index.tsx +23 -9
- package/src/components/Dialog/Dialog.module.scss +26 -32
- package/src/components/Dialog/index.tsx +51 -39
- package/src/components/Drawer/Drawer.contract.json +28 -42
- package/src/components/Drawer/Drawer.module.scss +123 -64
- package/src/components/Drawer/index.tsx +7 -5
- package/src/components/Editor/Editor.contract.json +32 -49
- package/src/components/Editor/Editor.module.scss +60 -25
- package/src/components/Editor/index.tsx +240 -179
- package/src/components/EmptyState/EmptyState.contract.json +33 -45
- package/src/components/EmptyState/EmptyState.module.scss +37 -21
- package/src/components/EmptyState/index.tsx +56 -23
- package/src/components/Field/Field.contract.json +28 -46
- package/src/components/Field/Field.module.scss +2 -1
- package/src/components/Field/index.tsx +5 -1
- package/src/components/Fieldset/Fieldset.contract.json +21 -38
- package/src/components/Fieldset/Fieldset.module.scss +15 -7
- package/src/components/Form/Form.contract.json +23 -23
- package/src/components/Grid/Grid.contract.json +28 -64
- package/src/components/Grid/Grid.module.scss +2 -2
- package/src/components/Grid/index.tsx +10 -10
- package/src/components/Header/Header.contract.json +31 -67
- package/src/components/Header/Header.module.scss +57 -54
- package/src/components/Header/index.tsx +134 -122
- package/src/components/Icon/Icon.contract.json +37 -81
- package/src/components/Icon/Icon.module.scss +13 -12
- package/src/components/Icon/index.tsx +31 -31
- package/src/components/IconButton/IconButton.contract.json +37 -21
- package/src/components/IconButton/IconButton.module.scss +19 -11
- package/src/components/IconButton/index.tsx +6 -5
- package/src/components/Image/Image.contract.json +23 -56
- package/src/components/Input/Input.contract.json +25 -44
- package/src/components/Input/Input.module.scss +6 -55
- package/src/components/Input/index.tsx +2 -18
- package/src/components/Link/Link.contract.json +46 -58
- package/src/components/Link/Link.module.scss +41 -10
- package/src/components/Link/index.tsx +27 -6
- package/src/components/List/List.contract.json +33 -62
- package/src/components/List/List.module.scss +10 -5
- package/src/components/List/index.tsx +17 -13
- package/src/components/Listbox/Listbox.contract.json +21 -37
- package/src/components/Listbox/Listbox.module.scss +14 -20
- package/src/components/Loading/Loading.contract.json +41 -65
- package/src/components/Loading/Loading.module.scss +37 -31
- package/src/components/Loading/index.tsx +15 -14
- package/src/components/Main/Main.contract.json +17 -9
- package/src/components/Markdown/Markdown.contract.json +22 -43
- package/src/components/Markdown/Markdown.module.scss +45 -6
- package/src/components/Markdown/index.tsx +48 -49
- package/src/components/Menu/Menu.contract.json +30 -46
- package/src/components/Menu/Menu.module.scss +32 -16
- package/src/components/Message/Message.contract.json +31 -54
- package/src/components/Message/Message.module.scss +18 -9
- package/src/components/Message/index.tsx +2 -2
- package/src/components/NavigationMenu/NavigationMenu.contract.json +36 -45
- package/src/components/NavigationMenu/NavigationMenu.module.scss +66 -66
- package/src/components/NavigationMenu/index.tsx +105 -81
- package/src/components/Pagination/Pagination.contract.json +22 -40
- package/src/components/Pagination/Pagination.module.scss +9 -16
- package/src/components/Popover/Popover.contract.json +28 -50
- package/src/components/Popover/Popover.module.scss +30 -28
- package/src/components/Progress/Progress.contract.json +39 -35
- package/src/components/Progress/Progress.module.scss +16 -10
- package/src/components/Progress/index.tsx +34 -16
- package/src/components/Prompt/Prompt.contract.json +40 -56
- package/src/components/Prompt/Prompt.module.scss +49 -48
- package/src/components/Prompt/index.tsx +17 -15
- package/src/components/RadioGroup/RadioGroup.contract.json +29 -28
- package/src/components/RadioGroup/RadioGroup.module.scss +50 -45
- package/src/components/RadioGroup/index.tsx +23 -10
- package/src/components/ScrollArea/ScrollArea.contract.json +18 -19
- package/src/components/ScrollArea/ScrollArea.module.scss +45 -48
- package/src/components/ScrollArea/index.tsx +16 -16
- package/src/components/ScrollArea/scroll-state.ts +24 -24
- package/src/components/Select/Select.module.scss +20 -19
- package/src/components/Select/index.tsx +26 -24
- package/src/components/Separator/Separator.contract.json +29 -53
- package/src/components/Separator/Separator.module.scss +24 -40
- package/src/components/Separator/index.tsx +16 -11
- package/src/components/Sidebar/Sidebar.contract.json +35 -67
- package/src/components/Sidebar/Sidebar.module.scss +94 -88
- package/src/components/Sidebar/index.tsx +167 -167
- package/src/components/Skeleton/Skeleton.contract.json +34 -60
- package/src/components/Skeleton/Skeleton.module.scss +50 -26
- package/src/components/Skeleton/index.tsx +16 -15
- package/src/components/Slider/Slider.contract.json +27 -39
- package/src/components/Slider/Slider.module.scss +9 -22
- package/src/components/Stack/Stack.contract.json +30 -57
- package/src/components/Stack/Stack.module.scss +26 -24
- package/src/components/Stack/index.tsx +3 -3
- package/src/components/Switch/Switch.contract.json +33 -46
- package/src/components/Switch/Switch.module.scss +106 -59
- package/src/components/Table/Table.contract.json +28 -46
- package/src/components/Table/Table.module.scss +24 -16
- package/src/components/TableOfContents/TableOfContents.contract.json +34 -21
- package/src/components/TableOfContents/TableOfContents.module.scss +17 -13
- package/src/components/TableOfContents/index.tsx +27 -10
- package/src/components/Tabs/Tabs.contract.json +35 -56
- package/src/components/Tabs/Tabs.module.scss +27 -31
- package/src/components/Tabs/index.tsx +30 -15
- package/src/components/Text/Text.contract.json +52 -72
- package/src/components/Text/Text.module.scss +34 -18
- package/src/components/Text/index.tsx +123 -83
- package/src/components/Textarea/Textarea.contract.json +24 -55
- package/src/components/Textarea/Textarea.module.scss +22 -52
- package/src/components/Textarea/index.tsx +3 -14
- package/src/components/Theme/Theme.contract.json +35 -53
- package/src/components/Theme/index.tsx +41 -13
- package/src/components/ThemeToggle/ThemeButton.tsx +49 -0
- package/src/components/ThemeToggle/ThemeToggle.module.scss +20 -27
- package/src/components/ThemeToggle/icons.tsx +46 -0
- package/src/components/ThemeToggle/index.tsx +9 -55
- package/src/components/ThinkingIndicator/ThinkingIndicator.contract.json +34 -50
- package/src/components/ThinkingIndicator/ThinkingIndicator.module.scss +9 -7
- package/src/components/ThinkingIndicator/index.tsx +12 -14
- package/src/components/Toast/Toast.contract.json +55 -49
- package/src/components/Toast/Toast.module.scss +50 -105
- package/src/components/Toast/index.tsx +39 -34
- package/src/components/ToggleGroup/ToggleGroup.contract.json +39 -40
- package/src/components/ToggleGroup/ToggleGroup.module.scss +30 -27
- package/src/components/ToggleGroup/index.tsx +11 -11
- package/src/components/Tooltip/Tooltip.contract.json +31 -52
- package/src/components/Tooltip/Tooltip.module.scss +16 -10
- package/src/components/Tooltip/index.tsx +19 -24
- package/src/components/VisuallyHidden/VisuallyHidden.contract.json +22 -44
- package/src/components/VisuallyHidden/VisuallyHidden.module.scss +4 -14
- package/src/components/VisuallyHidden/index.tsx +5 -5
- package/src/index.ts +16 -12
- package/src/measurements/MeasurementTargets.module.scss +6 -7
- package/src/measurements/generated.ts +46 -97
- package/src/measurements/index.ts +0 -1
- package/src/measurements/measurements.json +44 -116
- package/src/recipes/_action.scss +4 -4
- package/src/recipes/_boolean-range.scss +12 -16
- package/src/recipes/_feedback.scss +17 -16
- package/src/recipes/_field.scss +28 -16
- package/src/recipes/_layout.scss +14 -7
- package/src/recipes/_navigation.scss +84 -29
- package/src/recipes/_overlay.scss +143 -43
- package/src/recipes/_popup.scss +54 -34
- package/src/recipes/_prose.scss +48 -28
- package/src/recipes/_representation.scss +10 -9
- package/src/recipes/_segmented.scss +1 -1
- package/src/recipes/_table-chrome.scss +42 -17
- package/src/recipes/_target.scss +2 -4
- package/src/recipes/_typography.scss +10 -0
- package/src/scss.d.ts +1 -1
- package/src/styles/globals.scss +31 -25
- package/src/tokens/_component-properties.scss +19 -1
- package/src/tokens/_computed.scss +32 -49
- package/src/tokens/_derive.scss +112 -210
- package/src/tokens/_measurements.catalog.generated.css +62 -44
- package/src/tokens/_measurements.generated.scss +119 -249
- package/src/tokens/_mixins.scss +49 -48
- package/src/tokens/_palettes.scss +39 -167
- package/src/tokens/_property-registrations.scss +9 -0
- package/src/tokens/_seeds.scss +20 -31
- package/src/tokens/_variables.scss +251 -94
- package/src/utils/a11y.tsx +69 -69
- package/src/utils/aria.ts +3 -3
- package/src/utils/canonical-stamp.ts +2 -12
- package/src/utils/css-warning.ts +7 -7
- package/src/utils/env.ts +25 -0
- package/src/utils/keyboard-shortcuts.ts +131 -126
- package/src/utils/seed-derivation.ts +11 -14
- package/src/utils/theme-presets.ts +5 -12
- package/dist/blocks/AccountSettings.block.d.ts +0 -3
- package/dist/blocks/AccountSettings.block.d.ts.map +0 -1
- package/dist/blocks/ActivityFeedSkeleton.block.d.ts +0 -3
- package/dist/blocks/ActivityFeedSkeleton.block.d.ts.map +0 -1
- package/dist/blocks/BlogEditor.block.d.ts +0 -3
- package/dist/blocks/BlogEditor.block.d.ts.map +0 -1
- package/dist/blocks/ChatInterface.block.d.ts +0 -3
- package/dist/blocks/ChatInterface.block.d.ts.map +0 -1
- package/dist/blocks/ChatMessages.block.d.ts +0 -3
- package/dist/blocks/ChatMessages.block.d.ts.map +0 -1
- package/dist/blocks/CheckoutForm.block.d.ts +0 -3
- package/dist/blocks/CheckoutForm.block.d.ts.map +0 -1
- package/dist/blocks/CommandPalette.block.d.ts +0 -3
- package/dist/blocks/CommandPalette.block.d.ts.map +0 -1
- package/dist/blocks/ContactForm.block.d.ts +0 -3
- package/dist/blocks/ContactForm.block.d.ts.map +0 -1
- package/dist/blocks/DashboardPage.block.d.ts +0 -3
- package/dist/blocks/DashboardPage.block.d.ts.map +0 -1
- package/dist/blocks/DashboardSkeleton.block.d.ts +0 -3
- package/dist/blocks/DashboardSkeleton.block.d.ts.map +0 -1
- package/dist/blocks/DataTable.block.d.ts +0 -3
- package/dist/blocks/DataTable.block.d.ts.map +0 -1
- package/dist/blocks/EmptyState.block.d.ts +0 -3
- package/dist/blocks/EmptyState.block.d.ts.map +0 -1
- package/dist/blocks/FAQSection.block.d.ts +0 -3
- package/dist/blocks/FAQSection.block.d.ts.map +0 -1
- package/dist/blocks/FeatureGrid.block.d.ts +0 -3
- package/dist/blocks/FeatureGrid.block.d.ts.map +0 -1
- package/dist/blocks/HeroSection.block.d.ts +0 -3
- package/dist/blocks/HeroSection.block.d.ts.map +0 -1
- package/dist/blocks/NavigationHeader.block.d.ts +0 -3
- package/dist/blocks/NavigationHeader.block.d.ts.map +0 -1
- package/dist/blocks/PaginatedTable.block.d.ts +0 -3
- package/dist/blocks/PaginatedTable.block.d.ts.map +0 -1
- package/dist/blocks/PricingComparison.block.d.ts +0 -3
- package/dist/blocks/PricingComparison.block.d.ts.map +0 -1
- package/dist/blocks/ProductCard.block.d.ts +0 -3
- package/dist/blocks/ProductCard.block.d.ts.map +0 -1
- package/dist/blocks/RegistrationForm.block.d.ts +0 -3
- package/dist/blocks/RegistrationForm.block.d.ts.map +0 -1
- package/dist/blocks/SettingsDrawer.block.d.ts +0 -3
- package/dist/blocks/SettingsDrawer.block.d.ts.map +0 -1
- package/dist/blocks/SettingsPanel.block.d.ts +0 -3
- package/dist/blocks/SettingsPanel.block.d.ts.map +0 -1
- package/dist/blocks/ShoppingCart.block.d.ts +0 -3
- package/dist/blocks/ShoppingCart.block.d.ts.map +0 -1
- package/dist/blocks/StatsCardSkeleton.block.d.ts +0 -3
- package/dist/blocks/StatsCardSkeleton.block.d.ts.map +0 -1
- package/dist/blocks/TableSkeleton.block.d.ts +0 -3
- package/dist/blocks/TableSkeleton.block.d.ts.map +0 -1
- package/dist/blocks/ThinkingStates.block.d.ts +0 -3
- package/dist/blocks/ThinkingStates.block.d.ts.map +0 -1
- package/dist/components/Toggle/index.d.ts +0 -3
- package/dist/components/Toggle/index.d.ts.map +0 -1
- package/src/components/Button/Button.contract.json +0 -218
- package/src/components/Card/Card.contract.json +0 -175
- package/src/components/DataTable/DataTable.contract.json +0 -302
- package/src/components/Dialog/Dialog.contract.json +0 -159
- package/src/components/Select/Select.contract.json +0 -259
- package/src/components/Toggle/index.ts +0 -7
- package/src/tokens/_density.scss +0 -85
|
@@ -14,7 +14,6 @@
|
|
|
14
14
|
// @use '@usefragments/ui/styles' with (
|
|
15
15
|
// $fui-brand: #0066ff,
|
|
16
16
|
// $fui-neutral: "ice",
|
|
17
|
-
// $fui-density: "compact"
|
|
18
17
|
// );
|
|
19
18
|
//
|
|
20
19
|
// 2. CSS CUSTOM PROPERTIES (Runtime theming):
|
|
@@ -40,15 +39,18 @@ $fui-base-unit: computed.$computed-base-unit !default;
|
|
|
40
39
|
// Helper function to convert base units to rem
|
|
41
40
|
// Usage: fui-unit(2) = 2 * 7px = 14px = 1rem (when base is 14px)
|
|
42
41
|
@function fui-unit($multiplier) {
|
|
43
|
-
@return calc(
|
|
42
|
+
@return calc(
|
|
43
|
+
#{$multiplier} * #{$fui-base-unit} / #{$fui-base-font-size} * 1rem *
|
|
44
|
+
var(--fui-scale, #{$fui-scale})
|
|
45
|
+
);
|
|
44
46
|
}
|
|
45
47
|
|
|
46
48
|
// --------------------------------------------
|
|
47
49
|
// Typography
|
|
48
50
|
// --------------------------------------------
|
|
49
51
|
$fui-font-sans:
|
|
50
|
-
"
|
|
51
|
-
|
|
52
|
+
"Onest Variable",
|
|
53
|
+
Onest,
|
|
52
54
|
-apple-system,
|
|
53
55
|
BlinkMacSystemFont,
|
|
54
56
|
"Segoe UI",
|
|
@@ -147,7 +149,7 @@ $fui-letter-spacing-wide: map.get(
|
|
|
147
149
|
) !default;
|
|
148
150
|
|
|
149
151
|
// --------------------------------------------
|
|
150
|
-
// Spacing (derived from
|
|
152
|
+
// Spacing (derived from the measurement spacing record)
|
|
151
153
|
// --------------------------------------------
|
|
152
154
|
// Micro-spacing for small internal alignments (margins, thumb offsets)
|
|
153
155
|
$fui-space-px: computed.$computed-space-px !default;
|
|
@@ -187,6 +189,40 @@ $fui-radius-md: computed.$computed-radius-md !default;
|
|
|
187
189
|
$fui-radius-lg: computed.$computed-radius-lg !default;
|
|
188
190
|
$fui-radius-xl: computed.$computed-radius-xl !default;
|
|
189
191
|
$fui-radius-full: computed.$computed-radius-full !default;
|
|
192
|
+
/// Square corners where a shape must not follow the radius profile (joined
|
|
193
|
+
/// segments, skeleton blocks, code gutters).
|
|
194
|
+
$fui-radius-none: 0px !default;
|
|
195
|
+
|
|
196
|
+
// Radius nesting levels. A surface (l1) holds controls (l2) which hold marks
|
|
197
|
+
// (l3); each level maps onto the active radius profile, so concentric corners
|
|
198
|
+
// stay concentric when a consumer switches `sharp`, `rounded`, or `pill`.
|
|
199
|
+
$fui-radius-l1: $fui-radius-lg !default;
|
|
200
|
+
$fui-radius-l2: $fui-radius-md !default;
|
|
201
|
+
$fui-radius-l3: $fui-radius-sm !default;
|
|
202
|
+
|
|
203
|
+
// --------------------------------------------
|
|
204
|
+
// Strokes + control tracks (mirror the measurement CSS vars for SCSS fallbacks)
|
|
205
|
+
// --------------------------------------------
|
|
206
|
+
$fui-stroke-hairline: measurements.target-value("stroke", "hairline") !default;
|
|
207
|
+
$fui-stroke-default: measurements.target-value("stroke", "default") !default;
|
|
208
|
+
$fui-stroke-strong: measurements.target-value("stroke", "strong") !default;
|
|
209
|
+
|
|
210
|
+
// The one disabled treatment: every disabled control fades by this amount.
|
|
211
|
+
$fui-opacity-disabled: 0.5 !default;
|
|
212
|
+
/// Dimmed-but-live: secondary glyphs, collapsed rails, decorative rules.
|
|
213
|
+
$fui-opacity-muted: 0.7 !default;
|
|
214
|
+
/// Barely-there: pulse rings and glow tracks that animate up from almost nothing.
|
|
215
|
+
$fui-opacity-faint: 0.3 !default;
|
|
216
|
+
/// Hairline drawn around a selected segmented item (transparent unless a theme wants it).
|
|
217
|
+
$fui-control-selected-border: transparent !default;
|
|
218
|
+
|
|
219
|
+
// Runtime multiplier on the base unit. `fui-unit()` reads it so a consumer can
|
|
220
|
+
// scale the whole measurement system from one custom property.
|
|
221
|
+
$fui-scale: 1 !default;
|
|
222
|
+
$fui-control-track-micro: measurements.target-value("controlTrack", "micro") !default;
|
|
223
|
+
$fui-control-track-sm: measurements.target-value("controlTrack", "sm") !default;
|
|
224
|
+
$fui-control-track-md: measurements.target-value("controlTrack", "md") !default;
|
|
225
|
+
$fui-control-track-lg: measurements.target-value("controlTrack", "lg") !default;
|
|
190
226
|
|
|
191
227
|
// --------------------------------------------
|
|
192
228
|
// Transitions
|
|
@@ -236,9 +272,10 @@ $fui-bg-elevated: computed.$computed-bg-elevated !default;
|
|
|
236
272
|
$fui-bg-subtle: computed.$computed-bg-subtle !default;
|
|
237
273
|
$fui-bg-hover: computed.$computed-bg-hover !default;
|
|
238
274
|
$fui-bg-active: computed.$computed-bg-active !default;
|
|
239
|
-
// The document canvas
|
|
240
|
-
//
|
|
241
|
-
|
|
275
|
+
// The document canvas is the derived "paper" tone in light mode (carbon 100).
|
|
276
|
+
// Body and main stay on that shared plane; raised component roles provide the
|
|
277
|
+
// contrast instead of consumer-specific page overrides.
|
|
278
|
+
$fui-body-bg: computed.$computed-body-bg !default;
|
|
242
279
|
$fui-main-bg: computed.$computed-main-bg !default;
|
|
243
280
|
|
|
244
281
|
// Text colors (derived from $fui-neutral palette)
|
|
@@ -370,8 +407,8 @@ $fui-breakpoint-xl: 1280px !default;
|
|
|
370
407
|
// Component-specific tokens
|
|
371
408
|
// --------------------------------------------
|
|
372
409
|
|
|
373
|
-
// Interactive control heights are fixed geometry
|
|
374
|
-
//
|
|
410
|
+
// Interactive control heights are fixed geometry; the spacing scale cannot
|
|
411
|
+
// resize a named control.
|
|
375
412
|
$fui-control-height-xs: measurements.target-value("controlTrack", "micro") !default;
|
|
376
413
|
$fui-control-height-sm: measurements.target-value("controlTrack", "sm") !default;
|
|
377
414
|
$fui-control-height-md: measurements.target-value("controlTrack", "md") !default;
|
|
@@ -388,7 +425,7 @@ $fui-input-height-sm: measurements.target-value("fieldTrack", "sm") !default;
|
|
|
388
425
|
$fui-input-height: measurements.target-value("fieldTrack", "md") !default;
|
|
389
426
|
$fui-input-height-lg: measurements.target-value("fieldTrack", "lg") !default;
|
|
390
427
|
|
|
391
|
-
// Touch targets (
|
|
428
|
+
// Touch targets (from the measurement spacing record)
|
|
392
429
|
$fui-touch-sm: computed.$computed-touch-sm !default;
|
|
393
430
|
$fui-touch-md: computed.$computed-touch-md !default;
|
|
394
431
|
$fui-touch-lg: computed.$computed-touch-lg !default;
|
|
@@ -413,8 +450,22 @@ $fui-icon-2xl: measurements.target-value("icon", "2xl") !default;
|
|
|
413
450
|
$fui-anim-offset-sm: 4px !default; // Small slide animation
|
|
414
451
|
$fui-anim-offset-md: 8px !default; // Medium slide animation
|
|
415
452
|
|
|
453
|
+
// Ambient loop durations — infinite animations (spinners, pulses, shimmer).
|
|
454
|
+
// Easing stays per-effect; duration is the system knob.
|
|
455
|
+
$fui-duration-spin: 800ms !default; // Busy indicators
|
|
456
|
+
$fui-duration-pulse: 1500ms !default; // Breathing / attention loops
|
|
457
|
+
$fui-duration-shimmer: 2000ms !default; // Placeholder shimmer
|
|
458
|
+
|
|
459
|
+
// Overlay stacking layers (kept adjacent so relative order is auditable)
|
|
460
|
+
$fui-overlay-layer-swipe: 49 !default;
|
|
461
|
+
$fui-overlay-layer-backdrop: 50 !default;
|
|
462
|
+
$fui-overlay-layer-modal: 51 !default;
|
|
463
|
+
$fui-overlay-layer-anchored: 52 !default;
|
|
464
|
+
$fui-overlay-layer-toast: 55 !default;
|
|
465
|
+
$fui-overlay-layer-tooltip: 60 !default;
|
|
466
|
+
|
|
416
467
|
// Sidebar (multi-consumer — used by Sidebar, NavigationMenu, Theme)
|
|
417
|
-
$fui-sidebar-item-height: computed.$computed-sidebar-item-height !default;
|
|
468
|
+
$fui-sidebar-item-height: computed.$computed-sidebar-item-height !default;
|
|
418
469
|
|
|
419
470
|
// AppShell Layout
|
|
420
471
|
$fui-appshell-header-height: map.get(
|
|
@@ -427,12 +478,48 @@ $fui-header-z-index: 40 !default;
|
|
|
427
478
|
// CodeBlock background — shared with Markdown's <pre> prose styling — and
|
|
428
479
|
// selection tint are runtime hooks so consuming apps can preserve their own
|
|
429
480
|
// code-surface treatment without forking either component.
|
|
430
|
-
|
|
481
|
+
// Light stop is the paper tertiary well — not a second dark grey.
|
|
482
|
+
$fui-code-bg: light-dark(#{$fui-bg-tertiary}, #{$fui-dark-bg-tertiary}) !default;
|
|
483
|
+
// Accent capsule — the tertiary well + wash/hairline, so the earned moment
|
|
484
|
+
// sits *into* the page rather than floating a white slab on it (lifted-verdict
|
|
485
|
+
// direction, 2026-08-22). Do not mix toward black: that paints a dark slab on
|
|
486
|
+
// the light canvas.
|
|
487
|
+
$fui-card-accent-bg: $fui-bg-tertiary !default;
|
|
488
|
+
$fui-card-accent-border: color-mix(in srgb, $fui-color-accent 30%, $fui-border) !default;
|
|
489
|
+
// Softer than a panel: the capsule is a moment, not another card.
|
|
490
|
+
$fui-card-accent-radius: $fui-radius-xl !default;
|
|
491
|
+
// Selection tint tracks the accent (pine light / sage dark), not the button
|
|
492
|
+
// chrome — the ink-first default theme paints buttons with the inverse
|
|
493
|
+
// surface, which would grey out code selection.
|
|
431
494
|
$fui-code-selection-bg: color-mix(
|
|
432
495
|
in srgb,
|
|
433
|
-
var(--fui-
|
|
496
|
+
var(--fui-color-accent, #f56138) 30%,
|
|
434
497
|
transparent
|
|
435
498
|
) !default;
|
|
499
|
+
// Default code ink follows primary text so unhighlighted fallback and shiki
|
|
500
|
+
// `css-variables` foreground stay on the same contrast floor.
|
|
501
|
+
$fui-code-text: $fui-text-primary !default;
|
|
502
|
+
// Syntax ink for CodeBlock's css-variables theme. Each light stop is ≥ 4.5:1
|
|
503
|
+
// on the light code well; each dark stop is ≥ 4.5:1 on the dark code well
|
|
504
|
+
// (gated by read-safe-contrast.test.ts).
|
|
505
|
+
$fui-code-token-keyword: #9a3412 !default;
|
|
506
|
+
$fui-code-token-string: #166534 !default;
|
|
507
|
+
$fui-code-token-comment: #5c5348 !default;
|
|
508
|
+
$fui-code-token-function: #1e3a8a !default;
|
|
509
|
+
$fui-code-token-number: #92400e !default;
|
|
510
|
+
$fui-code-token-punctuation: #3d3429 !default;
|
|
511
|
+
$fui-code-token-variable: #3d3429 !default;
|
|
512
|
+
$fui-dark-code-token-keyword: #f56138 !default;
|
|
513
|
+
$fui-dark-code-token-string: #7dcea0 !default;
|
|
514
|
+
$fui-dark-code-token-comment: #a89b8c !default;
|
|
515
|
+
$fui-dark-code-token-function: #8cb4e8 !default;
|
|
516
|
+
$fui-dark-code-token-number: #e8b86d !default;
|
|
517
|
+
$fui-dark-code-token-punctuation: #c9c2b8 !default;
|
|
518
|
+
$fui-dark-code-token-variable: #f0ede9 !default;
|
|
519
|
+
// Prose/link ink. Light is a darker accent step so 4.5:1 holds on
|
|
520
|
+
// --fui-app-main-bg; dark keeps the theme accent (already ≥ 4.5).
|
|
521
|
+
$fui-link-ink: #9a3412 !default;
|
|
522
|
+
$fui-dark-link-ink: $fui-dark-color-accent !default;
|
|
436
523
|
|
|
437
524
|
// --------------------------------------------
|
|
438
525
|
// CSS Custom Properties Export
|
|
@@ -493,19 +580,19 @@ $fui-code-selection-bg: color-mix(
|
|
|
493
580
|
|
|
494
581
|
// Spacing (micro)
|
|
495
582
|
--fui-space-px: #{$fui-space-px};
|
|
496
|
-
--fui-space-0-5: #{$fui-space-0-5};
|
|
497
|
-
--fui-space-0-75: #{$fui-space-0-75};
|
|
583
|
+
--fui-space-0-5: calc(var(--fui-scale, #{$fui-scale}) * #{$fui-space-0-5});
|
|
584
|
+
--fui-space-0-75: calc(var(--fui-scale, #{$fui-scale}) * #{$fui-space-0-75});
|
|
498
585
|
|
|
499
586
|
// Spacing
|
|
500
|
-
--fui-space-1: #{$fui-space-1};
|
|
501
|
-
--fui-space-2: #{$fui-space-2};
|
|
502
|
-
--fui-space-3: #{$fui-space-3};
|
|
503
|
-
--fui-space-4: #{$fui-space-4};
|
|
504
|
-
--fui-space-5: #{$fui-space-5};
|
|
505
|
-
--fui-space-6: #{$fui-space-6};
|
|
506
|
-
--fui-space-8: #{$fui-space-8};
|
|
507
|
-
--fui-space-10: #{$fui-space-10};
|
|
508
|
-
--fui-space-12: #{$fui-space-12};
|
|
587
|
+
--fui-space-1: calc(var(--fui-scale, #{$fui-scale}) * #{$fui-space-1});
|
|
588
|
+
--fui-space-2: calc(var(--fui-scale, #{$fui-scale}) * #{$fui-space-2});
|
|
589
|
+
--fui-space-3: calc(var(--fui-scale, #{$fui-scale}) * #{$fui-space-3});
|
|
590
|
+
--fui-space-4: calc(var(--fui-scale, #{$fui-scale}) * #{$fui-space-4});
|
|
591
|
+
--fui-space-5: calc(var(--fui-scale, #{$fui-scale}) * #{$fui-space-5});
|
|
592
|
+
--fui-space-6: calc(var(--fui-scale, #{$fui-scale}) * #{$fui-space-6});
|
|
593
|
+
--fui-space-8: calc(var(--fui-scale, #{$fui-scale}) * #{$fui-space-8});
|
|
594
|
+
--fui-space-10: calc(var(--fui-scale, #{$fui-scale}) * #{$fui-space-10});
|
|
595
|
+
--fui-space-12: calc(var(--fui-scale, #{$fui-scale}) * #{$fui-space-12});
|
|
509
596
|
|
|
510
597
|
// Popup geometry — the numbers Select/Listbox/Combobox derive their scroll
|
|
511
598
|
// viewport from. Override these and the peek height follows.
|
|
@@ -520,11 +607,34 @@ $fui-code-selection-bg: color-mix(
|
|
|
520
607
|
--fui-radius-lg: #{$fui-radius-lg};
|
|
521
608
|
--fui-radius-xl: #{$fui-radius-xl};
|
|
522
609
|
--fui-radius-full: #{$fui-radius-full};
|
|
610
|
+
--fui-radius-none: #{$fui-radius-none};
|
|
611
|
+
--fui-radius-l1: var(--fui-radius-lg);
|
|
612
|
+
--fui-radius-l2: var(--fui-radius-md);
|
|
613
|
+
--fui-radius-l3: var(--fui-radius-sm);
|
|
523
614
|
|
|
524
615
|
// Transitions
|
|
525
616
|
--fui-transition-fast: #{$fui-transition-fast};
|
|
617
|
+
--fui-opacity-disabled: #{$fui-opacity-disabled};
|
|
618
|
+
--fui-opacity-muted: #{$fui-opacity-muted};
|
|
619
|
+
--fui-opacity-faint: #{$fui-opacity-faint};
|
|
620
|
+
--fui-scale: #{$fui-scale};
|
|
526
621
|
--fui-transition-normal: #{$fui-transition-normal};
|
|
527
622
|
|
|
623
|
+
// Motion primitives
|
|
624
|
+
--fui-anim-offset-sm: #{$fui-anim-offset-sm};
|
|
625
|
+
--fui-anim-offset-md: #{$fui-anim-offset-md};
|
|
626
|
+
--fui-duration-spin: #{$fui-duration-spin};
|
|
627
|
+
--fui-duration-pulse: #{$fui-duration-pulse};
|
|
628
|
+
--fui-duration-shimmer: #{$fui-duration-shimmer};
|
|
629
|
+
|
|
630
|
+
// Overlay stacking layers
|
|
631
|
+
--fui-overlay-layer-swipe: #{$fui-overlay-layer-swipe};
|
|
632
|
+
--fui-overlay-layer-backdrop: #{$fui-overlay-layer-backdrop};
|
|
633
|
+
--fui-overlay-layer-modal: #{$fui-overlay-layer-modal};
|
|
634
|
+
--fui-overlay-layer-anchored: #{$fui-overlay-layer-anchored};
|
|
635
|
+
--fui-overlay-layer-toast: #{$fui-overlay-layer-toast};
|
|
636
|
+
--fui-overlay-layer-tooltip: #{$fui-overlay-layer-tooltip};
|
|
637
|
+
|
|
528
638
|
// Colors — Accent (light-dark for automatic dark mode)
|
|
529
639
|
--fui-color-accent: light-dark(#{$fui-color-accent}, #{$fui-dark-color-accent});
|
|
530
640
|
--fui-color-on-accent: light-dark(#{$fui-color-on-accent}, #{$fui-dark-color-on-accent});
|
|
@@ -626,27 +736,40 @@ $fui-code-selection-bg: color-mix(
|
|
|
626
736
|
--fui-border-strong: light-dark(#{$fui-border-strong}, #{$fui-dark-border-strong});
|
|
627
737
|
--fui-border-subtle: color-mix(in srgb, var(--fui-border-default) 68%, transparent);
|
|
628
738
|
|
|
739
|
+
// Placeholder fills. A skeleton has to read as a *missing fact* against the
|
|
740
|
+
// card it sits in — a hairline-weight tint is invisible on paper, so the
|
|
741
|
+
// base leans on the border colour and the highlight is the shimmer stop.
|
|
742
|
+
--fui-skeleton: color-mix(in srgb, var(--fui-border-default) 62%, var(--fui-bg-secondary));
|
|
743
|
+
--fui-skeleton-hi: color-mix(in srgb, var(--fui-border-default) 24%, var(--fui-bg-secondary));
|
|
744
|
+
|
|
629
745
|
// Native browser text selection tracks the accent (pine in light, sage in
|
|
630
746
|
// dark) as a soft wash — matching the Flight Recorder accent-tint.
|
|
631
747
|
// Component-selected states stay tuned per control density.
|
|
632
748
|
--fui-selection-bg: light-dark(
|
|
633
|
-
color-mix(in srgb, var(--fui-color-accent, #
|
|
634
|
-
color-mix(in srgb, var(--fui-color-accent, #
|
|
749
|
+
color-mix(in srgb, var(--fui-color-accent, #f56138) 18%, transparent),
|
|
750
|
+
color-mix(in srgb, var(--fui-color-accent, #f56138) 22%, transparent)
|
|
635
751
|
);
|
|
636
752
|
--fui-selection-color: var(--fui-text-primary);
|
|
637
753
|
|
|
638
|
-
//
|
|
639
|
-
//
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
--fui-
|
|
643
|
-
--fui-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
--fui-
|
|
649
|
-
--fui-
|
|
754
|
+
// Persistent neutral selection for navigation, segmented controls, fields,
|
|
755
|
+
// and rows. Keep this separate from --fui-bg-active: active is the brief
|
|
756
|
+
// pointer-down state; selected must remain visible without dominating its
|
|
757
|
+
// surrounding surface.
|
|
758
|
+
--fui-control-selected-bg: color-mix(in srgb, var(--fui-text-primary) 9%, transparent);
|
|
759
|
+
--fui-control-selected-border: #{$fui-control-selected-border};
|
|
760
|
+
|
|
761
|
+
// Checked/value controls carry product meaning, so they follow the accent
|
|
762
|
+
// rather than button chrome. This keeps Checkbox, RadioGroup, and Switch
|
|
763
|
+
// stable when a consumer customizes primary actions independently.
|
|
764
|
+
--fui-control-checked-bg: var(--fui-color-accent);
|
|
765
|
+
--fui-control-checked-bg-hover: var(--fui-color-accent-hover);
|
|
766
|
+
--fui-control-checked-border: var(--fui-color-accent);
|
|
767
|
+
--fui-control-checked-border-hover: var(--fui-color-accent-hover);
|
|
768
|
+
--fui-control-checked-color: var(--fui-color-on-accent);
|
|
769
|
+
|
|
770
|
+
// Field shells take their edge and ground from --fui-border / --fui-bg-primary
|
|
771
|
+
// through the field recipe; only selection chrome needs its own hooks.
|
|
772
|
+
--fui-field-selection-bg: var(--fui-control-selected-bg);
|
|
650
773
|
--fui-field-selection-bg-hover: color-mix(in srgb, var(--fui-text-primary) 11%, transparent);
|
|
651
774
|
--fui-field-selection-border: var(--fui-border-strong);
|
|
652
775
|
--fui-field-selection-color: var(--fui-text-primary);
|
|
@@ -673,28 +796,36 @@ $fui-code-selection-bg: color-mix(
|
|
|
673
796
|
|
|
674
797
|
// Button chrome. Every theme uses flat fills: hierarchy comes from colour,
|
|
675
798
|
// border, and state contrast rather than a second raised/gradient material.
|
|
676
|
-
//
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
black 14%
|
|
684
|
-
);
|
|
685
|
-
--fui-button-primary-border: color-mix(
|
|
686
|
-
in srgb,
|
|
687
|
-
var(--fui-button-primary-active) 74%,
|
|
688
|
-
black 26%
|
|
689
|
-
);
|
|
690
|
-
--fui-button-primary-color: #fff;
|
|
691
|
-
|
|
799
|
+
//
|
|
800
|
+
// The Fragments default is ink-first: the primary action wears the inverse
|
|
801
|
+
// surface (near-black on paper, near-white on charcoal) with the accent
|
|
802
|
+
// reserved for meaning — links, selection, focus, "contract passing".
|
|
803
|
+
// A consumer-supplied $fui-brand switches primary chrome to the accent
|
|
804
|
+
// ramp so their brand colour actually paints their buttons (previously the
|
|
805
|
+
// chrome stayed pine regardless of seed).
|
|
692
806
|
@if $fui-brand-is-default {
|
|
693
|
-
--fui-button-
|
|
807
|
+
--fui-button-primary-base: var(--fui-bg-inverse);
|
|
808
|
+
--fui-button-primary-hover: light-dark(
|
|
809
|
+
color-mix(in srgb, var(--fui-bg-inverse) 88%, white),
|
|
810
|
+
#ffffff
|
|
811
|
+
);
|
|
812
|
+
--fui-button-primary-active: light-dark(
|
|
813
|
+
color-mix(in srgb, var(--fui-bg-inverse) 92%, black),
|
|
814
|
+
color-mix(in srgb, var(--fui-bg-inverse) 94%, black)
|
|
815
|
+
);
|
|
816
|
+
--fui-button-primary-color: var(--fui-text-inverse);
|
|
817
|
+
--fui-button-radius: var(--fui-radius-xl);
|
|
694
818
|
} @else {
|
|
819
|
+
--fui-button-primary-base: var(--fui-color-accent);
|
|
820
|
+
--fui-button-primary-hover: var(--fui-color-accent-hover);
|
|
821
|
+
--fui-button-primary-active: var(--fui-color-accent-active);
|
|
822
|
+
--fui-button-primary-color: var(--fui-color-on-accent);
|
|
695
823
|
--fui-button-radius: var(--fui-radius-lg);
|
|
696
824
|
}
|
|
697
825
|
|
|
826
|
+
--fui-button-primary-border: var(--fui-button-primary-base);
|
|
827
|
+
--fui-button-primary-border-hover: var(--fui-button-primary-hover);
|
|
828
|
+
|
|
698
829
|
--fui-button-primary-bg: var(--fui-button-primary-base);
|
|
699
830
|
--fui-button-primary-bg-hover: var(--fui-button-primary-hover);
|
|
700
831
|
--fui-button-primary-bg-active: var(--fui-button-primary-active);
|
|
@@ -730,6 +861,33 @@ $fui-code-selection-bg: color-mix(
|
|
|
730
861
|
|
|
731
862
|
--fui-code-bg: #{$fui-code-bg};
|
|
732
863
|
--fui-code-selection-bg: #{$fui-code-selection-bg};
|
|
864
|
+
--fui-code-text: var(--fui-text-primary);
|
|
865
|
+
--fui-code-token-keyword: light-dark(
|
|
866
|
+
#{$fui-code-token-keyword},
|
|
867
|
+
#{$fui-dark-code-token-keyword}
|
|
868
|
+
);
|
|
869
|
+
--fui-code-token-string: light-dark(#{$fui-code-token-string}, #{$fui-dark-code-token-string});
|
|
870
|
+
--fui-code-token-comment: light-dark(
|
|
871
|
+
#{$fui-code-token-comment},
|
|
872
|
+
#{$fui-dark-code-token-comment}
|
|
873
|
+
);
|
|
874
|
+
--fui-code-token-function: light-dark(
|
|
875
|
+
#{$fui-code-token-function},
|
|
876
|
+
#{$fui-dark-code-token-function}
|
|
877
|
+
);
|
|
878
|
+
--fui-code-token-number: light-dark(#{$fui-code-token-number}, #{$fui-dark-code-token-number});
|
|
879
|
+
--fui-code-token-punctuation: light-dark(
|
|
880
|
+
#{$fui-code-token-punctuation},
|
|
881
|
+
#{$fui-dark-code-token-punctuation}
|
|
882
|
+
);
|
|
883
|
+
--fui-code-token-variable: light-dark(
|
|
884
|
+
#{$fui-code-token-variable},
|
|
885
|
+
#{$fui-dark-code-token-variable}
|
|
886
|
+
);
|
|
887
|
+
--fui-link-ink: light-dark(#{$fui-link-ink}, #{$fui-dark-link-ink});
|
|
888
|
+
--fui-card-accent-bg: var(--fui-bg-tertiary);
|
|
889
|
+
--fui-card-accent-border: color-mix(in srgb, var(--fui-color-accent) 30%, var(--fui-border));
|
|
890
|
+
--fui-card-accent-radius: #{$fui-card-accent-radius};
|
|
733
891
|
|
|
734
892
|
// Popup/menu active-item highlight — neutral, deliberately stronger than
|
|
735
893
|
// --fui-bg-hover (which is tuned for subtle surface hovers and reads as ~invisible
|
|
@@ -740,15 +898,20 @@ $fui-code-selection-bg: color-mix(
|
|
|
740
898
|
// Product shell and navigation chrome. These stay neutral-first so a
|
|
741
899
|
// dashboard page reads as one system instead of brand-tinted islands.
|
|
742
900
|
--fui-app-canvas-bg: var(--fui-body-bg);
|
|
743
|
-
|
|
744
|
-
|
|
901
|
+
// Same surface order in both themes: the rail is recessed, the main
|
|
902
|
+
// reading sheet is raised. Light: tertiary paper rail, body-bg sheet.
|
|
903
|
+
// Dark keeps the lifted rail on a deeper body.
|
|
904
|
+
--fui-app-main-bg: var(--fui-body-bg);
|
|
905
|
+
--fui-app-sidebar-bg: var(--fui-bg-tertiary);
|
|
745
906
|
--fui-sidebar-bg: var(--fui-app-sidebar-bg);
|
|
746
907
|
--fui-sidebar-border: var(--fui-border-default);
|
|
747
908
|
--fui-sidebar-item-color: var(--fui-text-secondary);
|
|
748
909
|
--fui-sidebar-item-icon-color: var(--fui-text-tertiary);
|
|
910
|
+
--fui-sidebar-item-radius: var(--fui-radius-full);
|
|
911
|
+
--fui-sidebar-section-label-size: var(--fui-font-size-xs);
|
|
749
912
|
--fui-sidebar-item-hover-bg: var(--fui-bg-hover);
|
|
750
913
|
--fui-sidebar-item-hover-color: var(--fui-text-primary);
|
|
751
|
-
--fui-sidebar-item-active-bg:
|
|
914
|
+
--fui-sidebar-item-active-bg: var(--fui-control-selected-bg);
|
|
752
915
|
--fui-sidebar-item-active-border: transparent;
|
|
753
916
|
--fui-sidebar-item-active-color: var(--fui-text-primary);
|
|
754
917
|
--fui-sidebar-item-active-indicator: transparent;
|
|
@@ -759,6 +922,11 @@ $fui-code-selection-bg: color-mix(
|
|
|
759
922
|
--fui-badge-dot-color: currentColor;
|
|
760
923
|
--fui-card-radius: var(--fui-radius-lg);
|
|
761
924
|
--fui-card-bg: color-mix(in srgb, var(--fui-bg-elevated) 92%, transparent);
|
|
925
|
+
// Full-bleed card chrome (for example `Card.Header divided`) shares the
|
|
926
|
+
// raised-neutral plane with shell controls. Keep the semantic alias
|
|
927
|
+
// component-specific so consumers can tune card hierarchy without
|
|
928
|
+
// changing every subtle surface.
|
|
929
|
+
--fui-card-header-bg: var(--fui-bg-subtle);
|
|
762
930
|
--fui-card-border: color-mix(in srgb, var(--fui-border-default) 86%, transparent);
|
|
763
931
|
--fui-card-outlined-border: var(--fui-card-border);
|
|
764
932
|
--fui-card-shadow: inset 0 1px 0
|
|
@@ -791,7 +959,7 @@ $fui-code-selection-bg: color-mix(
|
|
|
791
959
|
--fui-table-header-border: var(--fui-border-strong);
|
|
792
960
|
--fui-table-row-hover-bg: var(--fui-bg-hover);
|
|
793
961
|
--fui-table-row-active-bg: var(--fui-bg-active);
|
|
794
|
-
--fui-table-row-selected-bg:
|
|
962
|
+
--fui-table-row-selected-bg: var(--fui-control-selected-bg);
|
|
795
963
|
--fui-table-row-selected-border: var(--fui-border-strong);
|
|
796
964
|
--fui-table-subrow-bg: color-mix(in srgb, var(--fui-bg-secondary) 62%, transparent);
|
|
797
965
|
|
|
@@ -799,16 +967,11 @@ $fui-code-selection-bg: color-mix(
|
|
|
799
967
|
--fui-tabs-pills-bg: color-mix(in srgb, var(--fui-text-primary) 5%, transparent);
|
|
800
968
|
--fui-tabs-pills-border: var(--fui-border-default);
|
|
801
969
|
--fui-tabs-pill-hover-bg: transparent;
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
--fui-
|
|
807
|
-
in srgb,
|
|
808
|
-
var(--fui-color-accent) 42%,
|
|
809
|
-
transparent
|
|
810
|
-
);
|
|
811
|
-
--fui-toggle-group-selected-shadow: none;
|
|
970
|
+
|
|
971
|
+
// Header search is persistent shell chrome rather than a ghost action.
|
|
972
|
+
// One surface step above divided card headers keeps this global affordance
|
|
973
|
+
// easy to find in both themes without turning it into a selected control.
|
|
974
|
+
--fui-header-search-bg: var(--fui-bg-hover);
|
|
812
975
|
|
|
813
976
|
// Shadows (not <color> type — light-dark() can't be used, handled in dark overrides)
|
|
814
977
|
--fui-shadow-sm: #{$fui-shadow-sm};
|
|
@@ -842,13 +1005,13 @@ $fui-code-selection-bg: color-mix(
|
|
|
842
1005
|
--fui-input-height: var(--fui-field-track-md);
|
|
843
1006
|
--fui-input-height-lg: var(--fui-field-track-lg);
|
|
844
1007
|
|
|
845
|
-
// Touch targets (
|
|
1008
|
+
// Touch targets (Fragments control floor: ≥32px)
|
|
846
1009
|
--fui-touch-sm: #{$fui-touch-sm};
|
|
847
1010
|
--fui-touch-md: #{$fui-touch-md};
|
|
848
1011
|
--fui-touch-lg: #{$fui-touch-lg};
|
|
849
1012
|
--fui-target-size-min: #{$fui-target-size-min};
|
|
850
1013
|
|
|
851
|
-
// Sidebar
|
|
1014
|
+
// Sidebar
|
|
852
1015
|
--fui-sidebar-item-height: #{$fui-sidebar-item-height};
|
|
853
1016
|
|
|
854
1017
|
// AppShell Layout
|
|
@@ -860,12 +1023,6 @@ $fui-code-selection-bg: color-mix(
|
|
|
860
1023
|
// Sass seeds. Attribute specificity intentionally matches :root so these
|
|
861
1024
|
// later rules can override the compiled default on either the document root
|
|
862
1025
|
// or a scoped provider without inline numeric maps.
|
|
863
|
-
@each $density in measurements.$density-profile-names {
|
|
864
|
-
[data-fui-density="#{$density}"] {
|
|
865
|
-
@include measurements.emit-density-profile($density);
|
|
866
|
-
}
|
|
867
|
-
}
|
|
868
|
-
|
|
869
1026
|
@each $radius-style in measurements.$radius-profile-names {
|
|
870
1027
|
[data-fui-radius-style="#{$radius-style}"] {
|
|
871
1028
|
@include measurements.emit-radius-profile($radius-style);
|
|
@@ -1019,31 +1176,32 @@ $fui-code-selection-bg: color-mix(
|
|
|
1019
1176
|
* {
|
|
1020
1177
|
// Firefox
|
|
1021
1178
|
scrollbar-width: thin;
|
|
1022
|
-
scrollbar-color: var(--fui-scrollbar-thumb
|
|
1179
|
+
scrollbar-color: var(--fui-scrollbar-thumb, #{$fui-scrollbar-thumb})
|
|
1180
|
+
var(--fui-scrollbar-track, #{$fui-scrollbar-track});
|
|
1023
1181
|
}
|
|
1024
1182
|
|
|
1025
1183
|
// Webkit browsers (Chrome, Safari, Edge)
|
|
1026
1184
|
*::-webkit-scrollbar {
|
|
1027
|
-
width: var(--fui-scrollbar-width);
|
|
1028
|
-
height: var(--fui-scrollbar-width);
|
|
1185
|
+
width: var(--fui-scrollbar-width, #{$fui-scrollbar-width});
|
|
1186
|
+
height: var(--fui-scrollbar-width, #{$fui-scrollbar-width});
|
|
1029
1187
|
}
|
|
1030
1188
|
|
|
1031
1189
|
*::-webkit-scrollbar-track {
|
|
1032
|
-
background: var(--fui-scrollbar-track);
|
|
1033
|
-
border-radius: calc(var(--fui-scrollbar-width) / 2);
|
|
1190
|
+
background: var(--fui-scrollbar-track, #{$fui-scrollbar-track});
|
|
1191
|
+
border-radius: calc(var(--fui-scrollbar-width, #{$fui-scrollbar-width}) / 2);
|
|
1034
1192
|
}
|
|
1035
1193
|
|
|
1036
1194
|
*::-webkit-scrollbar-thumb {
|
|
1037
|
-
background: var(--fui-scrollbar-thumb);
|
|
1038
|
-
border-radius: calc(var(--fui-scrollbar-width) / 2);
|
|
1195
|
+
background: var(--fui-scrollbar-thumb, #{$fui-scrollbar-thumb});
|
|
1196
|
+
border-radius: calc(var(--fui-scrollbar-width, #{$fui-scrollbar-width}) / 2);
|
|
1039
1197
|
|
|
1040
1198
|
&:hover {
|
|
1041
|
-
background: var(--fui-scrollbar-thumb-hover);
|
|
1199
|
+
background: var(--fui-scrollbar-thumb-hover, #{$fui-scrollbar-thumb-hover});
|
|
1042
1200
|
}
|
|
1043
1201
|
}
|
|
1044
1202
|
|
|
1045
1203
|
*::-webkit-scrollbar-corner {
|
|
1046
|
-
background: var(--fui-scrollbar-track);
|
|
1204
|
+
background: var(--fui-scrollbar-track, #{$fui-scrollbar-track});
|
|
1047
1205
|
}
|
|
1048
1206
|
}
|
|
1049
1207
|
|
|
@@ -1059,16 +1217,10 @@ $fui-code-selection-bg: color-mix(
|
|
|
1059
1217
|
// Ensure minimum contrast on interactive elements
|
|
1060
1218
|
--fui-bg-hover: rgba(0, 0, 0, 0.12);
|
|
1061
1219
|
--fui-bg-active: rgba(0, 0, 0, 0.18);
|
|
1062
|
-
--fui-field-border: var(--fui-text-primary);
|
|
1063
|
-
--fui-field-border-hover: var(--fui-text-primary);
|
|
1064
|
-
--fui-field-border-focus: var(--fui-color-accent);
|
|
1065
1220
|
--fui-field-selection-border: var(--fui-color-accent);
|
|
1066
1221
|
--fui-form-group-border: var(--fui-text-primary);
|
|
1067
1222
|
--fui-sidebar-item-active-border: var(--fui-text-primary);
|
|
1068
|
-
--fui-
|
|
1069
|
-
--fui-tabs-pill-active-shadow: inset 0 0 0 1px var(--fui-tabs-pill-active-border);
|
|
1070
|
-
--fui-toggle-group-selected-border: var(--fui-text-primary);
|
|
1071
|
-
--fui-toggle-group-selected-shadow: inset 0 0 0 1px var(--fui-toggle-group-selected-border);
|
|
1223
|
+
--fui-control-selected-border: var(--fui-text-primary);
|
|
1072
1224
|
}
|
|
1073
1225
|
|
|
1074
1226
|
// Private mixin for dark mode token values
|
|
@@ -1091,6 +1243,11 @@ $fui-code-selection-bg: color-mix(
|
|
|
1091
1243
|
--fui-bg-highlight: color-mix(in srgb, var(--fui-text-primary) 10%, transparent);
|
|
1092
1244
|
--fui-body-bg: #{$fui-dark-body-bg};
|
|
1093
1245
|
--fui-main-bg: #{$fui-dark-main-bg};
|
|
1246
|
+
--fui-app-main-bg: var(--fui-main-bg);
|
|
1247
|
+
// Paper primary == secondary in dark, so a mix of the two is a no-op.
|
|
1248
|
+
// Tertiary is the lifted rail; main stays the deeper body.
|
|
1249
|
+
--fui-app-sidebar-bg: var(--fui-bg-tertiary);
|
|
1250
|
+
--fui-sidebar-bg: var(--fui-app-sidebar-bg);
|
|
1094
1251
|
--fui-bg-inverse: #{$fui-dark-bg-inverse};
|
|
1095
1252
|
|
|
1096
1253
|
// Text
|