@usefragments/ui 1.5.4 → 1.7.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 +4 -4
- 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/ui.css +10468 -6909
- package/dist/chart.cjs +31 -26
- package/dist/chart.js +31 -26
- package/dist/codeblock.cjs +55 -29
- package/dist/codeblock.js +55 -29
- package/dist/colorpicker.cjs +5 -2
- package/dist/colorpicker.js +5 -2
- 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 +15 -12
- package/dist/components/Alert/Alert.module.scss.js +15 -12
- package/dist/components/Alert/index.cjs +7 -1
- package/dist/components/Alert/index.d.ts +12 -6
- package/dist/components/Alert/index.d.ts.map +1 -1
- package/dist/components/Alert/index.js +7 -1
- 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 +5 -3
- package/dist/components/AppShell/index.d.ts +4 -2
- package/dist/components/AppShell/index.d.ts.map +1 -1
- package/dist/components/AppShell/index.js +5 -3
- package/dist/components/Avatar/Avatar.module.scss.cjs +17 -14
- package/dist/components/Avatar/Avatar.module.scss.js +17 -14
- package/dist/components/Avatar/index.cjs +100 -118
- package/dist/components/Avatar/index.d.ts +7 -5
- package/dist/components/Avatar/index.d.ts.map +1 -1
- package/dist/components/Avatar/index.js +100 -118
- package/dist/components/Badge/Badge.module.scss.cjs +19 -19
- package/dist/components/Badge/Badge.module.scss.js +19 -19
- 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 +8 -8
- package/dist/components/Breadcrumbs/Breadcrumbs.module.scss.js +8 -8
- package/dist/components/Button/Button.module.scss.cjs +14 -14
- package/dist/components/Button/Button.module.scss.js +14 -14
- 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 +30 -18
- package/dist/components/Card/Card.module.scss.js +31 -19
- package/dist/components/Card/index.cjs +8 -0
- package/dist/components/Card/index.d.ts +12 -2
- package/dist/components/Card/index.d.ts.map +1 -1
- package/dist/components/Card/index.js +8 -0
- 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 +7 -7
- package/dist/components/Chart/index.d.ts.map +1 -1
- package/dist/components/Checkbox/Checkbox.module.scss.cjs +9 -15
- package/dist/components/Checkbox/Checkbox.module.scss.js +9 -15
- package/dist/components/Checkbox/index.cjs +6 -8
- package/dist/components/Checkbox/index.d.ts.map +1 -1
- package/dist/components/Checkbox/index.js +6 -8
- package/dist/components/Chip/Chip.module.scss.cjs +15 -15
- package/dist/components/Chip/Chip.module.scss.js +15 -15
- package/dist/components/Chip/index.cjs +6 -6
- package/dist/components/Chip/index.d.ts +1 -1
- package/dist/components/Chip/index.js +4 -4
- package/dist/components/CodeBlock/CodeBlock.module.scss.cjs +27 -24
- package/dist/components/CodeBlock/CodeBlock.module.scss.js +27 -24
- 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 +17 -3
- package/dist/components/CodeBlock/index.d.ts.map +1 -1
- package/dist/components/Collapsible/Collapsible.module.scss.cjs +9 -12
- package/dist/components/Collapsible/Collapsible.module.scss.js +9 -12
- package/dist/components/Collapsible/index.cjs +3 -2
- package/dist/components/Collapsible/index.d.ts +3 -3
- package/dist/components/Collapsible/index.d.ts.map +1 -1
- package/dist/components/Collapsible/index.js +3 -2
- package/dist/components/ColorPicker/ColorPicker.module.scss.cjs +16 -16
- package/dist/components/ColorPicker/ColorPicker.module.scss.js +16 -16
- package/dist/components/ColorPicker/index.d.ts.map +1 -1
- package/dist/components/Combobox/Combobox.module.scss.cjs +21 -27
- package/dist/components/Combobox/Combobox.module.scss.js +21 -27
- package/dist/components/Combobox/index.cjs +21 -5
- package/dist/components/Combobox/index.d.ts.map +1 -1
- package/dist/components/Combobox/index.js +21 -5
- package/dist/components/Command/Command.module.scss.cjs +11 -11
- package/dist/components/Command/Command.module.scss.js +11 -11
- package/dist/components/Command/index.cjs +26 -15
- package/dist/components/Command/index.d.ts +2 -2
- package/dist/components/Command/index.d.ts.map +1 -1
- package/dist/components/Command/index.js +26 -15
- package/dist/components/ConversationList/ConversationList.module.scss.cjs +11 -14
- package/dist/components/ConversationList/ConversationList.module.scss.js +11 -14
- package/dist/components/ConversationList/index.cjs +40 -44
- package/dist/components/ConversationList/index.d.ts +3 -3
- package/dist/components/ConversationList/index.d.ts.map +1 -1
- package/dist/components/ConversationList/index.js +40 -44
- 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 +32 -56
- package/dist/components/DataTable/DataTable.module.scss.js +32 -56
- package/dist/components/DataTable/index.d.ts +5 -4
- 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 +11 -14
- package/dist/components/Dialog/index.d.ts +7 -7
- package/dist/components/Dialog/index.d.ts.map +1 -1
- package/dist/components/Dialog/index.js +11 -14
- package/dist/components/Drawer/Drawer.module.scss.cjs +31 -28
- package/dist/components/Drawer/Drawer.module.scss.js +31 -28
- package/dist/components/Drawer/index.cjs +1 -1
- package/dist/components/Drawer/index.js +1 -1
- package/dist/components/Editor/Editor.module.scss.cjs +23 -23
- package/dist/components/Editor/Editor.module.scss.js +23 -23
- 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 +15 -12
- package/dist/components/EmptyState/EmptyState.module.scss.js +15 -12
- package/dist/components/EmptyState/index.cjs +8 -6
- package/dist/components/EmptyState/index.d.ts +9 -4
- package/dist/components/EmptyState/index.d.ts.map +1 -1
- package/dist/components/EmptyState/index.js +8 -6
- package/dist/components/Field/Field.module.scss.cjs +8 -5
- package/dist/components/Field/Field.module.scss.js +8 -5
- package/dist/components/Field/index.cjs +18 -1
- package/dist/components/Field/index.d.ts +9 -2
- package/dist/components/Field/index.d.ts.map +1 -1
- package/dist/components/Field/index.js +18 -1
- package/dist/components/Fieldset/Fieldset.module.scss.cjs +3 -3
- package/dist/components/Fieldset/Fieldset.module.scss.js +3 -3
- package/dist/components/Form/Form.module.scss.cjs +5 -2
- package/dist/components/Form/Form.module.scss.js +5 -2
- package/dist/components/Form/index.cjs +6 -1
- package/dist/components/Form/index.d.ts +8 -3
- package/dist/components/Form/index.d.ts.map +1 -1
- package/dist/components/Form/index.js +6 -1
- package/dist/components/Grid/Grid.module.scss.cjs +54 -72
- package/dist/components/Grid/Grid.module.scss.js +54 -72
- package/dist/components/Grid/index.cjs +57 -77
- package/dist/components/Grid/index.d.ts +11 -11
- package/dist/components/Grid/index.d.ts.map +1 -1
- package/dist/components/Grid/index.js +57 -77
- 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 +18 -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 +18 -38
- package/dist/components/Icon/Icon.module.scss.cjs +29 -8
- package/dist/components/Icon/Icon.module.scss.js +30 -9
- package/dist/components/Icon/index.cjs +30 -48
- package/dist/components/Icon/index.d.ts +6 -6
- package/dist/components/Icon/index.d.ts.map +1 -1
- package/dist/components/Icon/index.js +30 -48
- package/dist/components/IconButton/IconButton.module.scss.cjs +8 -8
- package/dist/components/IconButton/IconButton.module.scss.js +8 -8
- package/dist/components/IconButton/index.cjs +2 -1
- 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 +19 -25
- package/dist/components/Input/Input.module.scss.js +19 -25
- package/dist/components/Input/index.cjs +1 -2
- package/dist/components/Input/index.d.ts.map +1 -1
- package/dist/components/Input/index.js +1 -2
- package/dist/components/Link/Link.module.scss.cjs +14 -10
- package/dist/components/Link/Link.module.scss.js +14 -10
- package/dist/components/Link/index.d.ts +1 -1
- package/dist/components/Link/index.d.ts.map +1 -1
- package/dist/components/List/List.module.scss.cjs +19 -19
- package/dist/components/List/List.module.scss.js +19 -19
- package/dist/components/List/index.cjs +4 -7
- package/dist/components/List/index.d.ts.map +1 -1
- package/dist/components/List/index.js +4 -7
- package/dist/components/Listbox/Listbox.module.scss.cjs +9 -9
- package/dist/components/Listbox/Listbox.module.scss.js +9 -9
- 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 +39 -67
- package/dist/components/Loading/index.d.ts +6 -6
- package/dist/components/Loading/index.d.ts.map +1 -1
- package/dist/components/Loading/index.js +39 -67
- package/dist/components/Main/Main.module.scss.cjs +7 -7
- package/dist/components/Main/Main.module.scss.js +7 -7
- 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 +16 -16
- package/dist/components/Menu/Menu.module.scss.js +16 -16
- package/dist/components/Menu/index.cjs +19 -61
- package/dist/components/Menu/index.d.ts +10 -10
- package/dist/components/Menu/index.d.ts.map +1 -1
- package/dist/components/Menu/index.js +19 -61
- package/dist/components/Message/Message.module.scss.cjs +18 -21
- package/dist/components/Message/Message.module.scss.js +18 -21
- package/dist/components/Message/index.cjs +15 -2
- package/dist/components/Message/index.d.ts.map +1 -1
- package/dist/components/Message/index.js +15 -2
- 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 +18 -9
- package/dist/components/Pagination/Pagination.module.scss.js +19 -10
- package/dist/components/Pagination/index.cjs +5 -2
- package/dist/components/Pagination/index.d.ts +3 -1
- package/dist/components/Pagination/index.d.ts.map +1 -1
- package/dist/components/Pagination/index.js +5 -2
- 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 +29 -32
- package/dist/components/Progress/Progress.module.scss.js +29 -32
- package/dist/components/Progress/geometry.cjs +30 -0
- package/dist/components/Progress/geometry.d.ts +8 -0
- package/dist/components/Progress/geometry.d.ts.map +1 -0
- package/dist/components/Progress/geometry.js +30 -0
- package/dist/components/Progress/index.cjs +40 -29
- package/dist/components/Progress/index.d.ts +4 -3
- package/dist/components/Progress/index.d.ts.map +1 -1
- package/dist/components/Progress/index.js +40 -29
- package/dist/components/Prompt/Prompt.module.scss.cjs +29 -29
- package/dist/components/Prompt/Prompt.module.scss.js +29 -29
- package/dist/components/Prompt/index.cjs +5 -4
- package/dist/components/Prompt/index.d.ts.map +1 -1
- package/dist/components/Prompt/index.js +5 -4
- package/dist/components/RadioGroup/RadioGroup.module.scss.cjs +15 -21
- package/dist/components/RadioGroup/RadioGroup.module.scss.js +15 -21
- package/dist/components/RadioGroup/index.cjs +7 -6
- package/dist/components/RadioGroup/index.d.ts.map +1 -1
- package/dist/components/RadioGroup/index.js +7 -6
- package/dist/components/ScrollArea/ScrollArea.module.scss.cjs +7 -22
- package/dist/components/ScrollArea/ScrollArea.module.scss.js +7 -22
- package/dist/components/ScrollArea/index.cjs +66 -42
- package/dist/components/ScrollArea/index.d.ts +6 -5
- package/dist/components/ScrollArea/index.d.ts.map +1 -1
- package/dist/components/ScrollArea/index.js +66 -42
- package/dist/components/ScrollArea/scroll-state.cjs +58 -0
- package/dist/components/ScrollArea/scroll-state.d.ts +16 -0
- package/dist/components/ScrollArea/scroll-state.d.ts.map +1 -0
- package/dist/components/ScrollArea/scroll-state.js +58 -0
- 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 +3 -2
- package/dist/components/Select/index.d.ts.map +1 -1
- package/dist/components/Select/index.js +3 -2
- package/dist/components/Separator/Separator.module.scss.cjs +13 -10
- package/dist/components/Separator/Separator.module.scss.js +13 -10
- package/dist/components/Separator/index.cjs +37 -38
- package/dist/components/Separator/index.d.ts +4 -4
- package/dist/components/Separator/index.d.ts.map +1 -1
- package/dist/components/Separator/index.js +37 -38
- 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 +17 -38
- package/dist/components/Sidebar/index.d.ts +23 -18
- package/dist/components/Sidebar/index.d.ts.map +1 -1
- package/dist/components/Sidebar/index.js +17 -38
- package/dist/components/Skeleton/Skeleton.module.scss.cjs +56 -40
- package/dist/components/Skeleton/Skeleton.module.scss.js +56 -40
- package/dist/components/Skeleton/index.cjs +41 -55
- package/dist/components/Skeleton/index.d.ts +7 -7
- package/dist/components/Skeleton/index.d.ts.map +1 -1
- package/dist/components/Skeleton/index.js +41 -55
- 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 -45
- package/dist/components/Stack/Stack.module.scss.js +25 -45
- package/dist/components/Stack/index.cjs +106 -101
- package/dist/components/Stack/index.d.ts +7 -7
- package/dist/components/Stack/index.d.ts.map +1 -1
- package/dist/components/Stack/index.js +106 -101
- package/dist/components/Switch/Switch.module.scss.cjs +32 -0
- package/dist/components/Switch/Switch.module.scss.js +32 -0
- package/dist/components/{Toggle → Switch}/index.cjs +9 -14
- package/dist/components/Switch/index.d.ts +37 -1
- package/dist/components/Switch/index.d.ts.map +1 -1
- package/dist/components/{Toggle → Switch}/index.js +5 -10
- package/dist/components/Table/Table.module.scss.cjs +21 -30
- package/dist/components/Table/Table.module.scss.js +21 -30
- package/dist/components/Table/index.d.ts +6 -5
- package/dist/components/Table/index.d.ts.map +1 -1
- 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 +13 -9
- 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 +13 -9
- package/dist/components/Tabs/Tabs.module.scss.cjs +12 -12
- package/dist/components/Tabs/Tabs.module.scss.js +12 -12
- package/dist/components/Tabs/index.cjs +28 -8
- package/dist/components/Tabs/index.d.ts.map +1 -1
- package/dist/components/Tabs/index.js +28 -8
- package/dist/components/Text/Text.module.scss.cjs +105 -57
- package/dist/components/Text/Text.module.scss.js +105 -57
- package/dist/components/Text/index.cjs +49 -33
- package/dist/components/Text/index.d.ts +30 -19
- package/dist/components/Text/index.d.ts.map +1 -1
- package/dist/components/Text/index.js +49 -33
- package/dist/components/Textarea/Textarea.module.scss.cjs +26 -23
- package/dist/components/Textarea/Textarea.module.scss.js +26 -23
- package/dist/components/Textarea/index.cjs +5 -10
- package/dist/components/Textarea/index.d.ts.map +1 -1
- package/dist/components/Textarea/index.js +5 -10
- package/dist/components/Theme/context.cjs +39 -0
- package/dist/components/Theme/context.d.ts +21 -0
- package/dist/components/Theme/context.d.ts.map +1 -0
- package/dist/components/Theme/context.js +22 -0
- package/dist/components/Theme/index.cjs +16 -210
- package/dist/components/Theme/index.d.ts +4 -37
- package/dist/components/Theme/index.d.ts.map +1 -1
- package/dist/components/Theme/index.js +11 -205
- package/dist/components/{Theme → ThemeToggle}/ThemeToggle.module.scss.cjs +9 -6
- package/dist/components/ThemeToggle/ThemeToggle.module.scss.js +26 -0
- package/dist/components/ThemeToggle/index.cjs +140 -0
- package/dist/components/ThemeToggle/index.d.ts +26 -0
- package/dist/components/ThemeToggle/index.d.ts.map +1 -0
- package/dist/components/ThemeToggle/index.js +140 -0
- package/dist/components/ThinkingIndicator/ThinkingIndicator.module.scss.cjs +13 -13
- package/dist/components/ThinkingIndicator/ThinkingIndicator.module.scss.js +13 -13
- package/dist/components/ThinkingIndicator/index.cjs +34 -41
- package/dist/components/ThinkingIndicator/index.d.ts +4 -4
- package/dist/components/ThinkingIndicator/index.d.ts.map +1 -1
- package/dist/components/ThinkingIndicator/index.js +34 -41
- package/dist/components/Toast/Toast.module.scss.cjs +20 -20
- package/dist/components/Toast/Toast.module.scss.js +20 -20
- package/dist/components/Toggle/index.d.ts +2 -42
- package/dist/components/Toggle/index.d.ts.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroup.module.scss.cjs +20 -20
- package/dist/components/ToggleGroup/ToggleGroup.module.scss.js +20 -20
- package/dist/components/ToggleGroup/index.cjs +3 -2
- package/dist/components/ToggleGroup/index.d.ts +2 -1
- package/dist/components/ToggleGroup/index.d.ts.map +1 -1
- package/dist/components/ToggleGroup/index.js +3 -2
- 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.cjs +14 -10
- package/dist/data-table.js +14 -10
- package/dist/datepicker.cjs +5 -3
- package/dist/datepicker.js +5 -3
- package/dist/editor.cjs +68 -28
- package/dist/editor.js +68 -28
- package/dist/index.cjs +101 -99
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -4
- package/dist/markdown.cjs +21 -29
- package/dist/markdown.js +22 -30
- package/dist/measurements/generated.cjs +304 -0
- package/dist/measurements/generated.d.ts +268 -0
- package/dist/measurements/generated.d.ts.map +1 -0
- package/dist/measurements/generated.js +304 -0
- package/dist/measurements/index.d.ts +2 -0
- package/dist/measurements/index.d.ts.map +1 -0
- package/dist/measurements.cjs +6 -0
- package/dist/measurements.js +6 -0
- package/dist/recipes/popup.cjs +14 -0
- package/dist/recipes/popup.d.ts +4 -0
- package/dist/recipes/popup.d.ts.map +1 -0
- package/dist/recipes/popup.js +14 -0
- package/dist/recipes/table-chrome.cjs +18 -0
- package/dist/recipes/table-chrome.d.ts +10 -0
- package/dist/recipes/table-chrome.d.ts.map +1 -0
- package/dist/recipes/table-chrome.js +18 -0
- package/dist/table.cjs +5 -2
- package/dist/table.js +5 -2
- 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/layout-spacing.cjs +27 -0
- package/dist/utils/layout-spacing.d.ts +5 -0
- package/dist/utils/layout-spacing.d.ts.map +1 -0
- package/dist/utils/layout-spacing.js +27 -0
- package/dist/utils/seed-derivation.cjs +14 -48
- package/dist/utils/seed-derivation.d.ts +4 -3
- package/dist/utils/seed-derivation.d.ts.map +1 -1
- package/dist/utils/seed-derivation.js +14 -48
- package/dist/utils/theme-presets.cjs +1 -0
- package/dist/utils/theme-presets.d.ts +3 -2
- package/dist/utils/theme-presets.d.ts.map +1 -1
- package/dist/utils/theme-presets.js +1 -0
- package/fragments.json +1 -1
- package/package.json +25 -4
- package/src/assets/fragments-logo.tsx +2 -2
- package/src/assets/fragments-wordmark.tsx +4 -2
- package/src/components/Accordion/Accordion.contract.json +24 -48
- package/src/components/Accordion/Accordion.module.scss +31 -52
- package/src/components/Alert/Alert.contract.json +37 -53
- package/src/components/Alert/Alert.module.scss +52 -44
- package/src/components/Alert/index.tsx +55 -29
- package/src/components/AppShell/AppShell.contract.json +34 -51
- package/src/components/AppShell/AppShell.module.scss +59 -43
- package/src/components/AppShell/index.tsx +8 -4
- package/src/components/Avatar/Avatar.contract.json +31 -48
- package/src/components/Avatar/Avatar.module.scss +25 -60
- package/src/components/Avatar/index.tsx +152 -146
- package/src/components/Badge/Badge.contract.json +37 -42
- package/src/components/Badge/Badge.module.scss +59 -47
- package/src/components/BentoGrid/BentoGrid.contract.json +21 -45
- package/src/components/BentoGrid/BentoGrid.module.scss +11 -32
- package/src/components/Box/Box.contract.json +40 -148
- package/src/components/Box/Box.module.scss +253 -81
- package/src/components/Box/index.tsx +92 -99
- package/src/components/Breadcrumbs/Breadcrumbs.contract.json +21 -34
- package/src/components/Breadcrumbs/Breadcrumbs.module.scss +19 -15
- package/src/components/Button/Button.module.scss +60 -64
- package/src/components/ButtonGroup/ButtonGroup.contract.json +32 -47
- package/src/components/ButtonGroup/ButtonGroup.module.scss +5 -5
- package/src/components/Card/Card.consumer-fixture.module.scss +8 -0
- package/src/components/Card/Card.module.scss +284 -167
- package/src/components/Card/index.tsx +21 -2
- package/src/components/Chart/Chart.contract.json +21 -29
- package/src/components/Chart/Chart.module.scss +28 -29
- package/src/components/Chart/index.tsx +72 -55
- package/src/components/Checkbox/Checkbox.contract.json +24 -24
- package/src/components/Checkbox/Checkbox.module.scss +75 -87
- package/src/components/Checkbox/index.tsx +8 -11
- package/src/components/Chip/Chip.contract.json +36 -42
- package/src/components/Chip/Chip.module.scss +25 -36
- package/src/components/Chip/index.tsx +5 -5
- package/src/components/CodeBlock/CodeBlock.contract.json +46 -76
- package/src/components/CodeBlock/CodeBlock.module.scss +129 -217
- package/src/components/CodeBlock/css-variables-theme.ts +102 -0
- package/src/components/CodeBlock/index.tsx +91 -35
- package/src/components/Collapsible/Collapsible.contract.json +21 -36
- package/src/components/Collapsible/Collapsible.module.scss +29 -63
- package/src/components/Collapsible/index.tsx +22 -26
- package/src/components/ColorPicker/ColorPicker.contract.json +29 -48
- package/src/components/ColorPicker/ColorPicker.module.scss +54 -33
- package/src/components/ColorPicker/index.tsx +7 -2
- package/src/components/Combobox/Combobox.contract.json +36 -37
- package/src/components/Combobox/Combobox.module.scss +61 -74
- package/src/components/Combobox/index.tsx +34 -6
- package/src/components/Command/Command.contract.json +21 -43
- package/src/components/Command/Command.module.scss +47 -77
- package/src/components/Command/index.tsx +58 -47
- package/src/components/ConversationList/ConversationList.contract.json +27 -32
- package/src/components/ConversationList/ConversationList.module.scss +20 -78
- package/src/components/ConversationList/index.tsx +55 -59
- package/src/components/DataTable/DataTable.icons.tsx +4 -21
- package/src/components/DataTable/DataTable.module.scss +81 -217
- package/src/components/DataTable/index.tsx +28 -32
- package/src/components/DatePicker/DatePicker.contract.json +27 -28
- package/src/components/DatePicker/DatePicker.module.scss +66 -38
- package/src/components/DatePicker/index.tsx +7 -3
- package/src/components/Dialog/Dialog.module.scss +45 -69
- package/src/components/Dialog/index.tsx +47 -37
- package/src/components/Drawer/Drawer.contract.json +22 -36
- package/src/components/Drawer/Drawer.module.scss +93 -99
- package/src/components/Drawer/index.tsx +1 -1
- package/src/components/Editor/Editor.contract.json +31 -48
- package/src/components/Editor/Editor.module.scss +137 -220
- package/src/components/Editor/index.tsx +240 -179
- package/src/components/EmptyState/EmptyState.contract.json +31 -43
- package/src/components/EmptyState/EmptyState.module.scss +45 -84
- package/src/components/EmptyState/index.tsx +48 -23
- package/src/components/Field/Field.contract.json +28 -45
- package/src/components/Field/Field.module.scss +9 -11
- package/src/components/Field/index.tsx +31 -1
- package/src/components/Fieldset/Fieldset.contract.json +21 -38
- package/src/components/Fieldset/Fieldset.module.scss +23 -8
- package/src/components/Form/Form.contract.json +27 -40
- package/src/components/Form/Form.module.scss +9 -4
- package/src/components/Form/index.tsx +22 -7
- package/src/components/Grid/Grid.contract.json +28 -64
- package/src/components/Grid/Grid.module.scss +159 -63
- package/src/components/Grid/index.tsx +114 -133
- package/src/components/Header/Header.contract.json +31 -67
- package/src/components/Header/Header.module.scss +56 -48
- package/src/components/Header/index.tsx +134 -121
- package/src/components/Icon/Icon.contract.json +22 -62
- package/src/components/Icon/Icon.module.scss +16 -0
- package/src/components/Icon/index.tsx +74 -86
- package/src/components/IconButton/IconButton.contract.json +34 -18
- package/src/components/IconButton/IconButton.module.scss +15 -26
- package/src/components/IconButton/index.tsx +2 -1
- package/src/components/Image/Image.contract.json +23 -56
- package/src/components/Input/Input.contract.json +26 -32
- package/src/components/Input/Input.module.scss +69 -56
- package/src/components/Input/index.tsx +1 -2
- package/src/components/Link/Link.contract.json +32 -52
- package/src/components/Link/Link.module.scss +29 -13
- package/src/components/Link/index.tsx +1 -1
- package/src/components/List/List.contract.json +23 -52
- package/src/components/List/List.module.scss +16 -21
- package/src/components/List/index.tsx +4 -10
- package/src/components/Listbox/Listbox.contract.json +21 -37
- package/src/components/Listbox/Listbox.module.scss +26 -54
- package/src/components/Loading/Loading.contract.json +37 -61
- package/src/components/Loading/Loading.module.scss +33 -40
- package/src/components/Loading/index.tsx +68 -97
- package/src/components/Main/Main.contract.json +17 -9
- package/src/components/Main/Main.module.scss +3 -5
- package/src/components/Markdown/Markdown.contract.json +22 -43
- package/src/components/Markdown/Markdown.module.scss +72 -182
- package/src/components/Markdown/index.tsx +50 -51
- package/src/components/Menu/Menu.contract.json +25 -41
- package/src/components/Menu/Menu.module.scss +63 -133
- package/src/components/Menu/index.tsx +57 -89
- package/src/components/Message/Message.contract.json +29 -52
- package/src/components/Message/Message.module.scss +60 -143
- package/src/components/Message/index.tsx +16 -6
- package/src/components/NavigationMenu/NavigationMenu.contract.json +36 -45
- package/src/components/NavigationMenu/NavigationMenu.module.scss +123 -71
- package/src/components/NavigationMenu/index.tsx +105 -81
- package/src/components/Pagination/Pagination.contract.json +22 -40
- package/src/components/Pagination/Pagination.module.scss +34 -27
- package/src/components/Pagination/index.tsx +7 -2
- package/src/components/Popover/Popover.contract.json +24 -46
- package/src/components/Popover/Popover.module.scss +43 -78
- package/src/components/Progress/Progress.contract.json +32 -28
- package/src/components/Progress/Progress.module.scss +64 -43
- package/src/components/Progress/geometry.ts +41 -0
- package/src/components/Progress/index.tsx +44 -30
- package/src/components/Prompt/Prompt.contract.json +31 -47
- package/src/components/Prompt/Prompt.module.scss +58 -87
- package/src/components/Prompt/index.tsx +6 -5
- package/src/components/RadioGroup/RadioGroup.contract.json +23 -24
- package/src/components/RadioGroup/RadioGroup.module.scss +63 -83
- package/src/components/RadioGroup/index.tsx +7 -9
- package/src/components/ScrollArea/ScrollArea.contract.json +23 -40
- package/src/components/ScrollArea/ScrollArea.module.scss +123 -97
- package/src/components/ScrollArea/index.tsx +85 -67
- package/src/components/ScrollArea/scroll-state.ts +87 -0
- package/src/components/Select/Select.module.scss +55 -43
- package/src/components/Select/index.tsx +6 -2
- package/src/components/Separator/Separator.contract.json +24 -48
- package/src/components/Separator/Separator.module.scss +29 -19
- package/src/components/Separator/index.tsx +55 -51
- package/src/components/Sidebar/Sidebar.contract.json +42 -62
- package/src/components/Sidebar/Sidebar.module.scss +117 -106
- package/src/components/Sidebar/index.tsx +169 -162
- package/src/components/Skeleton/Skeleton.contract.json +28 -54
- package/src/components/Skeleton/Skeleton.module.scss +51 -34
- package/src/components/Skeleton/index.tsx +65 -72
- package/src/components/Slider/Slider.contract.json +27 -39
- package/src/components/Slider/Slider.module.scss +33 -27
- package/src/components/Stack/Stack.contract.json +29 -56
- package/src/components/Stack/Stack.module.scss +110 -38
- package/src/components/Stack/index.tsx +157 -127
- package/src/components/{Toggle/Toggle.contract.json → Switch/Switch.contract.json} +34 -47
- package/src/components/Switch/Switch.module.scss +255 -0
- package/src/components/{Toggle → Switch}/index.tsx +5 -21
- package/src/components/Table/Table.contract.json +28 -46
- package/src/components/Table/Table.module.scss +50 -129
- package/src/components/Table/index.tsx +13 -6
- package/src/components/TableOfContents/TableOfContents.contract.json +34 -21
- package/src/components/TableOfContents/TableOfContents.module.scss +35 -182
- package/src/components/TableOfContents/index.tsx +26 -9
- package/src/components/Tabs/Tabs.contract.json +24 -45
- package/src/components/Tabs/Tabs.module.scss +28 -23
- package/src/components/Tabs/index.tsx +17 -5
- package/src/components/Text/Text.contract.json +30 -72
- package/src/components/Text/Text.module.scss +43 -7
- package/src/components/Text/index.tsx +136 -63
- package/src/components/Textarea/Textarea.contract.json +25 -43
- package/src/components/Textarea/Textarea.module.scss +58 -40
- package/src/components/Textarea/index.tsx +5 -12
- package/src/components/Theme/Theme.contract.json +32 -51
- package/src/components/Theme/context.ts +42 -0
- package/src/components/Theme/index.tsx +16 -310
- package/src/components/ThemeToggle/ThemeToggle.module.scss +89 -0
- package/src/components/ThemeToggle/index.tsx +180 -0
- package/src/components/ThinkingIndicator/ThinkingIndicator.contract.json +23 -40
- package/src/components/ThinkingIndicator/ThinkingIndicator.module.scss +24 -19
- package/src/components/ThinkingIndicator/index.tsx +44 -54
- package/src/components/Toast/Toast.contract.json +35 -61
- package/src/components/Toast/Toast.module.scss +62 -139
- package/src/components/Toggle/index.ts +7 -0
- package/src/components/ToggleGroup/ToggleGroup.contract.json +40 -68
- package/src/components/ToggleGroup/ToggleGroup.module.scss +166 -89
- package/src/components/ToggleGroup/index.tsx +5 -3
- package/src/components/Tooltip/Tooltip.contract.json +31 -52
- package/src/components/Tooltip/Tooltip.module.scss +23 -39
- package/src/components/Tooltip/index.tsx +19 -24
- package/src/components/VisuallyHidden/VisuallyHidden.contract.json +22 -44
- package/src/components/VisuallyHidden/VisuallyHidden.module.scss +3 -0
- package/src/components/VisuallyHidden/index.tsx +5 -5
- package/src/index.ts +4 -3
- package/src/measurements/MeasurementTargets.module.scss +229 -0
- package/src/measurements/generated.ts +324 -0
- package/src/measurements/index.ts +8 -0
- package/src/measurements/measurements.json +368 -0
- package/src/recipes/_action.scss +138 -0
- package/src/recipes/_boolean-range.scss +116 -0
- package/src/recipes/_feedback.scss +171 -0
- package/src/recipes/_field.scss +102 -0
- package/src/recipes/_layout.scss +74 -0
- package/src/recipes/_navigation.scss +110 -0
- package/src/recipes/_overlay.scss +191 -0
- package/src/recipes/_popup.scss +102 -0
- package/src/recipes/_prose.scss +182 -0
- package/src/recipes/_representation.scss +193 -0
- package/src/recipes/_segmented.scss +26 -0
- package/src/recipes/_surface.scss +13 -0
- package/src/recipes/_table-chrome.scss +119 -0
- package/src/recipes/_target.scss +31 -0
- package/src/recipes/_typography.scss +38 -0
- package/src/recipes/popup.ts +12 -0
- package/src/recipes/table-chrome.ts +30 -0
- package/src/scss.d.ts +1 -1
- package/src/styles/globals.scss +21 -20
- package/src/tokens/_component-properties.scss +2 -2
- package/src/tokens/_computed.scss +14 -25
- package/src/tokens/_density.scss +41 -132
- package/src/tokens/_derive.scss +112 -210
- package/src/tokens/_measurements.catalog.generated.css +96 -0
- package/src/tokens/_measurements.generated.scss +617 -0
- package/src/tokens/_mixins.scss +7 -284
- package/src/tokens/_palettes.scss +39 -167
- package/src/tokens/_property-registrations.scss +96 -92
- package/src/tokens/_radius.scss +16 -70
- package/src/tokens/_seeds.scss +24 -23
- package/src/tokens/_variables.scss +338 -178
- 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/layout-spacing.ts +31 -0
- package/src/utils/seed-derivation.ts +144 -178
- package/src/utils/theme-presets.ts +58 -30
- package/dist/components/Theme/ThemeToggle.module.scss.js +0 -23
- package/dist/components/Toggle/Toggle.module.scss.cjs +0 -44
- package/dist/components/Toggle/Toggle.module.scss.js +0 -44
- 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/Switch/index.ts +0 -3
- package/src/components/Theme/ThemeToggle.module.scss +0 -91
- package/src/components/Toggle/Toggle.module.scss +0 -244
package/src/tokens/_density.scss
CHANGED
|
@@ -2,109 +2,43 @@
|
|
|
2
2
|
// @usefragments/ui Density Scales
|
|
3
3
|
// ============================================
|
|
4
4
|
//
|
|
5
|
-
//
|
|
6
|
-
//
|
|
5
|
+
// Compatibility adapter over the generated Measurement Module. Existing Sass
|
|
6
|
+
// callers keep their flat map/function API, while measurements.json remains the
|
|
7
|
+
// only editable numeric owner.
|
|
7
8
|
//
|
|
8
9
|
// ============================================
|
|
9
10
|
|
|
10
|
-
@use "sass:math";
|
|
11
11
|
@use "sass:map";
|
|
12
|
+
@use "sass:math";
|
|
13
|
+
@use "measurements.generated" as measurements;
|
|
12
14
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
// 6 units
|
|
29
|
-
// Input height
|
|
30
|
-
input-height: 32px,
|
|
31
|
-
input-height-sm: 32px,
|
|
32
|
-
input-height-lg: 36px,
|
|
33
|
-
// 6 units
|
|
34
|
-
// Touch targets
|
|
35
|
-
touch-sm: 32px,
|
|
36
|
-
touch-md: 32px,
|
|
37
|
-
touch-lg: 40px,
|
|
38
|
-
// Sidebar navigation
|
|
39
|
-
sidebar-item-height: 32px,
|
|
40
|
-
);
|
|
41
|
-
|
|
42
|
-
$density-default: (
|
|
43
|
-
base-unit: 7px,
|
|
44
|
-
base-font-size: 14px,
|
|
45
|
-
// Button heights align with field heights at each size
|
|
46
|
-
button-height-xs: 32px,
|
|
47
|
-
button-height-sm: 32px,
|
|
48
|
-
button-height-md: 40px,
|
|
49
|
-
button-height-lg: 44px,
|
|
50
|
-
// ~6 units
|
|
51
|
-
// Input height
|
|
52
|
-
input-height: 40px,
|
|
53
|
-
// ~6 units
|
|
54
|
-
input-height-sm: 32px,
|
|
55
|
-
// ~4.5 units
|
|
56
|
-
input-height-lg: 44px,
|
|
57
|
-
// ~6 units
|
|
58
|
-
// Touch targets (baseline)
|
|
59
|
-
touch-sm: 32px,
|
|
60
|
-
touch-md: 32px,
|
|
61
|
-
touch-lg: 44px,
|
|
62
|
-
// WCAG AAA recommended
|
|
63
|
-
// Sidebar navigation
|
|
64
|
-
sidebar-item-height: 32px,
|
|
65
|
-
);
|
|
15
|
+
@function _adapt-density($name) {
|
|
16
|
+
@return (
|
|
17
|
+
base-unit: measurements.density-value($name, "baseUnit"),
|
|
18
|
+
base-font-size: measurements.density-value($name, "baseFontSize"),
|
|
19
|
+
spacing-multipliers: measurements.density-value($name, "spacingMultipliers"),
|
|
20
|
+
control-height-xs: measurements.density-nested-value($name, "controlHeight", "xs"),
|
|
21
|
+
control-height-sm: measurements.density-nested-value($name, "controlHeight", "sm"),
|
|
22
|
+
control-height-md: measurements.density-nested-value($name, "controlHeight", "md"),
|
|
23
|
+
control-height-lg: measurements.density-nested-value($name, "controlHeight", "lg"),
|
|
24
|
+
touch-sm: measurements.density-nested-value($name, "touch", "sm"),
|
|
25
|
+
touch-md: measurements.density-nested-value($name, "touch", "md"),
|
|
26
|
+
touch-lg: measurements.density-nested-value($name, "touch", "lg"),
|
|
27
|
+
sidebar-item-height: measurements.density-value($name, "sidebarItemHeight")
|
|
28
|
+
);
|
|
29
|
+
}
|
|
66
30
|
|
|
67
|
-
$density-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
// Button heights align with field heights at each size
|
|
71
|
-
button-height-xs: 32px,
|
|
72
|
-
button-height-sm: 32px,
|
|
73
|
-
button-height-md: 44px,
|
|
74
|
-
button-height-lg: 48px,
|
|
75
|
-
// 6 units
|
|
76
|
-
// Input height
|
|
77
|
-
input-height: 44px,
|
|
78
|
-
// ~5.5 units
|
|
79
|
-
input-height-sm: 32px,
|
|
80
|
-
// 4 units
|
|
81
|
-
input-height-lg: 48px,
|
|
82
|
-
// 6 units
|
|
83
|
-
// Touch targets (proportional from default, not blown out)
|
|
84
|
-
touch-sm: 32px,
|
|
85
|
-
touch-md: 40px,
|
|
86
|
-
touch-lg: 48px,
|
|
87
|
-
// +9% from default (unchanged)
|
|
88
|
-
// Sidebar navigation
|
|
89
|
-
sidebar-item-height: 36px,
|
|
90
|
-
);
|
|
31
|
+
$density-compact: _adapt-density("compact");
|
|
32
|
+
$density-default: _adapt-density("default");
|
|
33
|
+
$density-relaxed: _adapt-density("relaxed");
|
|
91
34
|
|
|
92
|
-
// --------------------------------------------
|
|
93
|
-
// Density Map for Dynamic Access
|
|
94
|
-
// --------------------------------------------
|
|
95
35
|
$densities: (
|
|
96
36
|
"compact": $density-compact,
|
|
97
37
|
"default": $density-default,
|
|
98
38
|
"relaxed": $density-relaxed,
|
|
99
39
|
);
|
|
100
40
|
|
|
101
|
-
|
|
102
|
-
// Helper Functions
|
|
103
|
-
// --------------------------------------------
|
|
104
|
-
|
|
105
|
-
/// Get a density configuration by name
|
|
106
|
-
/// @param {String} $name - Density name (compact, default, relaxed)
|
|
107
|
-
/// @return {Map} The density configuration map
|
|
41
|
+
/// Get a density configuration by name.
|
|
108
42
|
@function get-density($name) {
|
|
109
43
|
@if not map.has-key($densities, $name) {
|
|
110
44
|
@warn "Unknown density '#{$name}'. Using 'default' as fallback.";
|
|
@@ -113,10 +47,7 @@ $densities: (
|
|
|
113
47
|
@return map.get($densities, $name);
|
|
114
48
|
}
|
|
115
49
|
|
|
116
|
-
/// Get a specific value from a density configuration
|
|
117
|
-
/// @param {Map} $density - A density configuration map
|
|
118
|
-
/// @param {String} $key - The key to retrieve
|
|
119
|
-
/// @return {*} The value
|
|
50
|
+
/// Get a specific value from a density configuration.
|
|
120
51
|
@function density-value($density, $key) {
|
|
121
52
|
@if not map.has-key($density, $key) {
|
|
122
53
|
@warn "Unknown density key '#{$key}'.";
|
|
@@ -125,52 +56,30 @@ $densities: (
|
|
|
125
56
|
@return map.get($density, $key);
|
|
126
57
|
}
|
|
127
58
|
|
|
128
|
-
/// Derive spacing
|
|
129
|
-
/// Returns a map with spacing tokens
|
|
130
|
-
/// @param {Map} $density - A density configuration map
|
|
131
|
-
/// @return {Map} Spacing tokens
|
|
59
|
+
/// Derive the legacy density-responsive spacing map from generated values.
|
|
132
60
|
@function derive-spacing($density) {
|
|
133
61
|
$base: map.get($density, base-unit);
|
|
134
62
|
$font-size: map.get($density, base-font-size);
|
|
135
|
-
|
|
136
|
-
// Convert to rem based on font size
|
|
137
|
-
// 1 unit = base-unit / font-size * 1rem
|
|
138
63
|
$unit-rem: math.div($base, $font-size) * 1rem;
|
|
64
|
+
$multipliers: map.get($density, spacing-multipliers);
|
|
139
65
|
|
|
140
66
|
@return (
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
0-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
3: $unit-rem * 3,
|
|
154
|
-
// 3 units
|
|
155
|
-
4: $unit-rem * 4,
|
|
156
|
-
// 4 units
|
|
157
|
-
5: $unit-rem * 5,
|
|
158
|
-
// 5 units
|
|
159
|
-
6: $unit-rem * 6,
|
|
160
|
-
// 6 units
|
|
161
|
-
8: $unit-rem * 8,
|
|
162
|
-
// 8 units
|
|
163
|
-
10: $unit-rem * 10,
|
|
164
|
-
// 10 units
|
|
165
|
-
12: $unit-rem * 12 // 12 units
|
|
67
|
+
px: map.get($multipliers, "px"),
|
|
68
|
+
0-5: $unit-rem * map.get($multipliers, "0-5"),
|
|
69
|
+
0-75: $unit-rem * map.get($multipliers, "0-75"),
|
|
70
|
+
1: $unit-rem * map.get($multipliers, "1"),
|
|
71
|
+
2: $unit-rem * map.get($multipliers, "2"),
|
|
72
|
+
3: $unit-rem * map.get($multipliers, "3"),
|
|
73
|
+
4: $unit-rem * map.get($multipliers, "4"),
|
|
74
|
+
5: $unit-rem * map.get($multipliers, "5"),
|
|
75
|
+
6: $unit-rem * map.get($multipliers, "6"),
|
|
76
|
+
8: $unit-rem * map.get($multipliers, "8"),
|
|
77
|
+
10: $unit-rem * map.get($multipliers, "10"),
|
|
78
|
+
12: $unit-rem * map.get($multipliers, "12")
|
|
166
79
|
);
|
|
167
80
|
}
|
|
168
81
|
|
|
169
|
-
/// Convert pixel value to rem based on density
|
|
170
|
-
/// @param {Map} $density - A density configuration map
|
|
171
|
-
/// @param {Number} $px - Pixel value to convert
|
|
172
|
-
/// @return {Number} Value in rem
|
|
82
|
+
/// Convert a pixel value to rem based on a density profile.
|
|
173
83
|
@function px-to-rem($density, $px) {
|
|
174
|
-
$
|
|
175
|
-
@return math.div($px, $font-size) * 1rem;
|
|
84
|
+
@return math.div($px, map.get($density, base-font-size)) * 1rem;
|
|
176
85
|
}
|
package/src/tokens/_derive.scss
CHANGED
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
//
|
|
9
9
|
// ============================================
|
|
10
10
|
|
|
11
|
-
@use
|
|
12
|
-
@use
|
|
13
|
-
@use
|
|
11
|
+
@use "sass:color";
|
|
12
|
+
@use "sass:math";
|
|
13
|
+
@use "palettes" as *;
|
|
14
14
|
|
|
15
15
|
// --------------------------------------------
|
|
16
16
|
// Color Utility Functions
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
/// @return {Boolean} True if dark
|
|
22
22
|
@function is-dark-color($color) {
|
|
23
23
|
// oklch lightness is perceptually uniform (0-1 range)
|
|
24
|
-
@return color.channel($color,
|
|
24
|
+
@return color.channel($color, "lightness", $space: oklch) < 0.5;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
/// Get appropriate contrast color (black or white)
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
/// @param {Boolean} $is-dark - Whether in dark mode
|
|
47
47
|
/// @return {Color} Hover state color
|
|
48
48
|
@function derive-accent-hover($base, $is-dark: false) {
|
|
49
|
-
$l: color.channel($base,
|
|
49
|
+
$l: color.channel($base, "lightness", $space: oklch);
|
|
50
50
|
|
|
51
51
|
@if $is-dark {
|
|
52
52
|
@if $l > 0.85 {
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
/// @param {Boolean} $is-dark - Whether in dark mode
|
|
73
73
|
/// @return {Color} Active state color
|
|
74
74
|
@function derive-accent-active($base, $is-dark: false) {
|
|
75
|
-
$l: color.channel($base,
|
|
75
|
+
$l: color.channel($base, "lightness", $space: oklch);
|
|
76
76
|
|
|
77
77
|
@if $is-dark {
|
|
78
78
|
@if $l > 0.85 {
|
|
@@ -102,8 +102,8 @@
|
|
|
102
102
|
/// @param {Color} $brand - Brand color
|
|
103
103
|
/// @return {Color} Dark-mode accent
|
|
104
104
|
@function derive-dark-accent($brand) {
|
|
105
|
-
$l: color.channel($brand,
|
|
106
|
-
$c: color.channel($brand,
|
|
105
|
+
$l: color.channel($brand, "lightness", $space: oklch);
|
|
106
|
+
$c: color.channel($brand, "chroma", $space: oklch);
|
|
107
107
|
// color.channel returns lightness as a percentage; normalize to a unitless 0–1
|
|
108
108
|
// ratio so the comparisons below share a scale with the 0.55/0.85 bounds.
|
|
109
109
|
$l-num: $l;
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
// grey-lift only kicks in for low-chroma brands; vibrant brands keep their own L.
|
|
114
114
|
$target-l: math.max($l-num, 0.95 - 2 * $c);
|
|
115
115
|
$clamped-l: math.max(0.55, math.min($target-l, 0.85));
|
|
116
|
-
@return oklch($clamped-l $c color.channel($brand,
|
|
116
|
+
@return oklch($clamped-l $c color.channel($brand, "hue", $space: oklch));
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
// --------------------------------------------
|
|
@@ -146,185 +146,103 @@
|
|
|
146
146
|
// Surface/Background Derivation
|
|
147
147
|
// --------------------------------------------
|
|
148
148
|
|
|
149
|
-
/// Derive surface/background tokens
|
|
149
|
+
/// Derive surface/background tokens for the paper ramp.
|
|
150
150
|
/// Maps shade levels to semantic surface tokens for visual depth layering.
|
|
151
|
-
/// For colorful palettes (ice, earth, sand, fire), light mode uses tinted backgrounds.
|
|
152
151
|
/// @param {Map} $palette - Neutral palette map
|
|
153
152
|
/// @param {Boolean} $is-dark - Whether in dark mode
|
|
154
|
-
/// @param {String} $palette-name - Palette name for colorful detection (default: 'stone')
|
|
155
153
|
/// @return {Map} Surface token values
|
|
156
|
-
@function derive-surfaces($palette, $is-dark: false, $palette-name:
|
|
154
|
+
@function derive-surfaces($palette, $is-dark: false, $palette-name: "paper") {
|
|
157
155
|
@if $is-dark {
|
|
158
|
-
//
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
primary: #212121, // page / body background
|
|
162
|
-
secondary: #171717, // sidebar, recessed panels, surface
|
|
163
|
-
tertiary: #2f2f2f, // raised / hover / active row (surface-2)
|
|
164
|
-
elevated: #2f2f2f, // cards float above the page tone
|
|
165
|
-
subtle: #171717, // recessed (code wells, insets)
|
|
166
|
-
hover: rgba(255, 255, 255, 0.055),
|
|
167
|
-
active: rgba(255, 255, 255, 0.085)
|
|
168
|
-
);
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
@if $palette-name == 'stone' or $palette-name == 'mono' {
|
|
172
|
-
@return (
|
|
173
|
-
primary: #000000,
|
|
174
|
-
secondary: #050505,
|
|
175
|
-
tertiary: #111111,
|
|
176
|
-
elevated: #151515,
|
|
177
|
-
subtle: #080808,
|
|
178
|
-
hover: rgba(255, 255, 255, 0.055),
|
|
179
|
-
active: rgba(255, 255, 255, 0.085)
|
|
180
|
-
);
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
// Dark mode: darker = more recessed, lighter = elevated
|
|
184
|
-
// Hover/active opacities tuned for subdued dense-UI aesthetic: hairlines and
|
|
185
|
-
// alpha overlays do most of the depth work rather than heavy color shifts.
|
|
156
|
+
// The cream canvas moved onto a warm charcoal plane with a real elevation
|
|
157
|
+
// ladder: bands step up from the page, cards step up from bands — the
|
|
158
|
+
// dark mirror of canvas / tinted band / white card in light mode.
|
|
186
159
|
@return (
|
|
187
|
-
primary:
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
160
|
+
primary: #171614,
|
|
161
|
+
// page background
|
|
162
|
+
secondary: #171614,
|
|
163
|
+
// shell/sidebar on the same plane
|
|
164
|
+
tertiary: #1e1c19,
|
|
165
|
+
// tinted section band, raised chrome
|
|
166
|
+
elevated: #262421,
|
|
167
|
+
// cards and overlays float clearly above bands
|
|
168
|
+
subtle: #1b1a17,
|
|
169
|
+
// barely-raised wells
|
|
170
|
+
hover: #2a2723,
|
|
171
|
+
// transient interaction
|
|
172
|
+
active: #322e29 // transient pressed interaction
|
|
194
173
|
);
|
|
195
174
|
}
|
|
196
175
|
|
|
197
|
-
// Light mode
|
|
198
|
-
//
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
@return (
|
|
202
|
-
primary: get-shade($palette, 50), // Tinted page background
|
|
203
|
-
secondary: get-shade($palette, 100), // Tinted secondary panels
|
|
204
|
-
tertiary: get-shade($palette, 200), // Deeper tint for nested sections
|
|
205
|
-
elevated: #ffffff, // Cards, modals (floats above)
|
|
206
|
-
subtle: get-shade($palette, 50), // Very subtle tinted background
|
|
207
|
-
hover: rgba(0, 0, 0, 0.04), // Interactive hover
|
|
208
|
-
active: rgba(0, 0, 0, 0.06) // Interactive active
|
|
209
|
-
);
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
// Stone palette: neutral white backgrounds
|
|
176
|
+
// Light mode — the warm gallery scheme: a cream page canvas, white cards
|
|
177
|
+
// floating above it, and a deeper cream band for nested sections.
|
|
178
|
+
// Hover/active are warm alpha tints so interaction chrome never goes cold
|
|
179
|
+
// grey on the warm canvas.
|
|
213
180
|
@return (
|
|
214
|
-
primary: #
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
181
|
+
primary: #faf8f5,
|
|
182
|
+
// page canvas (cream)
|
|
183
|
+
secondary: #faf8f5,
|
|
184
|
+
// shell/sidebar on the same plane
|
|
185
|
+
tertiary: #f2ede7,
|
|
186
|
+
// tinted section band, hover-on-paper
|
|
187
|
+
elevated: #ffffff,
|
|
188
|
+
// cards and overlays float white
|
|
189
|
+
subtle: #fdfcfa,
|
|
190
|
+
// barely-raised wells
|
|
191
|
+
hover: rgba(96, 48, 16, 0.06),
|
|
192
|
+
// warm transient interaction
|
|
193
|
+
active: rgba(96, 48, 16, 0.1) // warm pressed interaction
|
|
221
194
|
);
|
|
222
195
|
}
|
|
223
196
|
|
|
224
197
|
/// Derive document/application canvas tokens used by base body styles and
|
|
225
|
-
/// large layout containers.
|
|
226
|
-
///
|
|
227
|
-
/// the focused content region.
|
|
198
|
+
/// large layout containers. Body and main share the paper canvas so app
|
|
199
|
+
/// shells sit on one plane; raised component roles provide the contrast.
|
|
228
200
|
/// @param {Map} $palette - Neutral palette map
|
|
229
201
|
/// @param {Boolean} $is-dark - Whether in dark mode
|
|
230
|
-
/// @param {String} $palette-name - Palette name for colorful detection
|
|
231
202
|
/// @return {Map} Body and main background values
|
|
232
|
-
@function derive-app-surfaces($palette, $is-dark: false, $palette-name:
|
|
203
|
+
@function derive-app-surfaces($palette, $is-dark: false, $palette-name: "paper") {
|
|
233
204
|
@if $is-dark {
|
|
234
|
-
|
|
235
|
-
@if $palette-name == 'carbon' {
|
|
236
|
-
@return (
|
|
237
|
-
body: #212121,
|
|
238
|
-
main: #212121
|
|
239
|
-
);
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
@if $palette-name == 'stone' or $palette-name == 'mono' or $palette-name == 'wind' {
|
|
243
|
-
@return (
|
|
244
|
-
body: #000000,
|
|
245
|
-
main: #050505
|
|
246
|
-
);
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
@return (
|
|
250
|
-
body: get-shade($palette, 800),
|
|
251
|
-
main: get-shade($palette, 900)
|
|
252
|
-
);
|
|
205
|
+
@return (body: #171614, main: #171614);
|
|
253
206
|
}
|
|
254
|
-
|
|
255
|
-
@if $palette-name == 'stone' or $palette-name == 'carbon' or $palette-name == 'wind' {
|
|
256
|
-
@return (
|
|
257
|
-
body: get-shade($palette, 100),
|
|
258
|
-
main: #ffffff
|
|
259
|
-
);
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
@return (
|
|
263
|
-
body: get-shade($palette, 100),
|
|
264
|
-
main: get-shade($palette, 50)
|
|
265
|
-
);
|
|
207
|
+
@return (body: #faf8f5, main: #faf8f5);
|
|
266
208
|
}
|
|
267
209
|
|
|
268
210
|
// --------------------------------------------
|
|
269
211
|
// Text Color Derivation
|
|
270
212
|
// --------------------------------------------
|
|
271
213
|
|
|
272
|
-
/// Derive text tokens
|
|
273
|
-
///
|
|
274
|
-
///
|
|
214
|
+
/// Derive text tokens for the paper ramp.
|
|
215
|
+
/// Light mode applies ensure-contrast() to meet WCAG AAA (7:1) against the
|
|
216
|
+
/// cream canvas; dark mode uses warm ink tiers so text keeps the scheme's
|
|
217
|
+
/// warmth instead of snapping to pure white.
|
|
275
218
|
/// @param {Map} $palette - Neutral palette map
|
|
276
219
|
/// @param {Boolean} $is-dark - Whether in dark mode
|
|
277
|
-
/// @param {String} $palette-name - Palette name for background detection (default: 'stone')
|
|
278
220
|
/// @return {Map} Text token values
|
|
279
|
-
@function derive-text($palette, $is-dark: false, $palette-name:
|
|
221
|
+
@function derive-text($palette, $is-dark: false, $palette-name: "paper") {
|
|
280
222
|
@if $is-dark {
|
|
281
|
-
// Carbon (Fragments default) — ink / muted / faint text tiers.
|
|
282
|
-
@if $palette-name == 'carbon' {
|
|
283
|
-
@return (
|
|
284
|
-
primary: #ececec, // ink
|
|
285
|
-
secondary: #b4b4b4, // muted
|
|
286
|
-
tertiary: #8f8f8f, // faint / placeholder
|
|
287
|
-
inverse: #212121 // text on light (sage) accents
|
|
288
|
-
);
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
@if $palette-name == 'stone' or $palette-name == 'mono' {
|
|
292
|
-
@return (
|
|
293
|
-
primary: #ededed,
|
|
294
|
-
secondary: #a1a1a1,
|
|
295
|
-
tertiary: #7a7a7a,
|
|
296
|
-
inverse: #000000
|
|
297
|
-
);
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
// Dark mode: neutral white text on all palettes.
|
|
301
|
-
// Palette-tinted text (e.g. green-on-green-dark) looks muddy and reduces
|
|
302
|
-
// readability. Major polished dark themes use neutral white text regardless
|
|
303
|
-
// of background tint.
|
|
304
|
-
// Opacity ladder tuned for a subdued, product-chrome aesthetic — secondary
|
|
305
|
-
// and tertiary are lifted closer to primary so dense UI reads cleanly
|
|
306
|
-
// without needing to bump to primary for every chrome label.
|
|
307
223
|
@return (
|
|
308
|
-
primary: #
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
224
|
+
primary: #f0ede9,
|
|
225
|
+
// warm ink
|
|
226
|
+
secondary: #b6b0a8,
|
|
227
|
+
// muted
|
|
228
|
+
tertiary: #8d8780,
|
|
229
|
+
// faint / placeholder
|
|
230
|
+
inverse: #171614 // text on light (cream) accents
|
|
312
231
|
);
|
|
313
232
|
}
|
|
314
233
|
|
|
315
|
-
|
|
316
|
-
$bg: #ffffff;
|
|
317
|
-
@if $palette-name != 'stone' and $palette-name != 'carbon' {
|
|
318
|
-
$bg: get-shade($palette, 50);
|
|
319
|
-
}
|
|
234
|
+
$bg: get-shade($palette, 50);
|
|
320
235
|
|
|
321
236
|
@return (
|
|
322
|
-
primary: get-shade($palette, 900),
|
|
237
|
+
primary: get-shade($palette, 900),
|
|
238
|
+
// Main text (high contrast)
|
|
323
239
|
secondary: ensure-contrast(get-shade($palette, 600), $bg, 7),
|
|
324
240
|
tertiary: ensure-contrast(
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
241
|
+
color.mix(get-shade($palette, 600), get-shade($palette, 500), 20%),
|
|
242
|
+
$bg,
|
|
243
|
+
7
|
|
244
|
+
),
|
|
245
|
+
inverse: get-shade($palette, 100) // Text on dark accents
|
|
328
246
|
);
|
|
329
247
|
}
|
|
330
248
|
|
|
@@ -332,41 +250,22 @@
|
|
|
332
250
|
// Border Color Derivation
|
|
333
251
|
// --------------------------------------------
|
|
334
252
|
|
|
335
|
-
/// Derive border tokens
|
|
253
|
+
/// Derive border tokens for the paper ramp
|
|
336
254
|
/// @param {Map} $palette - Neutral palette map
|
|
337
255
|
/// @param {Boolean} $is-dark - Whether in dark mode
|
|
338
256
|
/// @return {Map} Border token values
|
|
339
|
-
@function derive-borders($palette, $is-dark: false, $palette-name:
|
|
257
|
+
@function derive-borders($palette, $is-dark: false, $palette-name: "paper") {
|
|
340
258
|
@if $is-dark {
|
|
341
|
-
//
|
|
342
|
-
@if $palette-name == 'carbon' {
|
|
343
|
-
@return (
|
|
344
|
-
default: #323232, // hairline
|
|
345
|
-
strong: #4b4b4b // strong border
|
|
346
|
-
);
|
|
347
|
-
}
|
|
348
|
-
|
|
349
|
-
@if $palette-name == 'stone' or $palette-name == 'mono' {
|
|
350
|
-
@return (
|
|
351
|
-
default: rgba(255, 255, 255, 0.075),
|
|
352
|
-
strong: rgba(255, 255, 255, 0.14)
|
|
353
|
-
);
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
// Dark mode: subtle white-alpha hairlines. Tight opacities keep panel
|
|
357
|
-
// edges barely-there so borders define structure without adding visual
|
|
358
|
-
// weight — matches the dense dashboard aesthetic.
|
|
259
|
+
// Solid warm hairline + strong border on the charcoal plane.
|
|
359
260
|
@return (
|
|
360
|
-
default:
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
} @else {
|
|
364
|
-
// Light mode: reduced opacity (ChatGPT --border-light ~5%)
|
|
365
|
-
@return (
|
|
366
|
-
default: rgba(0, 0, 0, 0.05),
|
|
367
|
-
strong: rgba(0, 0, 0, 0.10)
|
|
261
|
+
default: #343029,
|
|
262
|
+
// hairline
|
|
263
|
+
strong: #4a4641 // strong border
|
|
368
264
|
);
|
|
369
265
|
}
|
|
266
|
+
// Warm-tinted hairlines so edges on the cream canvas never read as cold
|
|
267
|
+
// grey lines cutting through a warm scheme.
|
|
268
|
+
@return (default: rgba(60, 45, 30, 0.1), strong: rgba(60, 45, 30, 0.18));
|
|
370
269
|
}
|
|
371
270
|
|
|
372
271
|
// --------------------------------------------
|
|
@@ -381,17 +280,33 @@
|
|
|
381
280
|
// Dark mode: near-zero shadows — hairlines and alpha overlays carry
|
|
382
281
|
// elevation instead, matching dense product-chrome aesthetics.
|
|
383
282
|
@return (
|
|
384
|
-
sm: (
|
|
385
|
-
|
|
386
|
-
|
|
283
|
+
sm: (
|
|
284
|
+
0 1px 2px 0 rgba(0, 0, 0, 0.15),
|
|
285
|
+
),
|
|
286
|
+
md: (
|
|
287
|
+
0 2px 4px -1px rgba(0, 0, 0, 0.2),
|
|
288
|
+
0 1px 3px -2px rgba(0, 0, 0, 0.15),
|
|
289
|
+
),
|
|
290
|
+
lg: (
|
|
291
|
+
0 8px 12px -3px rgba(0, 0, 0, 0.25),
|
|
292
|
+
0 3px 5px -4px rgba(0, 0, 0, 0.18),
|
|
293
|
+
)
|
|
387
294
|
);
|
|
388
295
|
} @else {
|
|
389
296
|
// Light mode: flatter aesthetic — near-zero shadows so layout reads
|
|
390
297
|
// as structure rather than floating chrome.
|
|
391
298
|
@return (
|
|
392
|
-
sm: (
|
|
393
|
-
|
|
394
|
-
|
|
299
|
+
sm: (
|
|
300
|
+
0 1px 2px 0 rgba(0, 0, 0, 0.02),
|
|
301
|
+
),
|
|
302
|
+
md: (
|
|
303
|
+
0 2px 4px -1px rgba(0, 0, 0, 0.04),
|
|
304
|
+
0 1px 3px -2px rgba(0, 0, 0, 0.03),
|
|
305
|
+
),
|
|
306
|
+
lg: (
|
|
307
|
+
0 8px 12px -3px rgba(0, 0, 0, 0.06),
|
|
308
|
+
0 3px 5px -4px rgba(0, 0, 0, 0.04),
|
|
309
|
+
)
|
|
395
310
|
);
|
|
396
311
|
}
|
|
397
312
|
}
|
|
@@ -400,33 +315,20 @@
|
|
|
400
315
|
// Scrollbar Derivation
|
|
401
316
|
// --------------------------------------------
|
|
402
317
|
|
|
403
|
-
/// Derive scrollbar tokens
|
|
318
|
+
/// Derive scrollbar tokens for the paper ramp
|
|
404
319
|
/// @param {Map} $palette - Neutral palette map
|
|
405
320
|
/// @param {Boolean} $is-dark - Whether in dark mode
|
|
406
321
|
/// @return {Map} Scrollbar token values
|
|
407
|
-
@function derive-scrollbar($palette, $is-dark: false, $palette-name:
|
|
322
|
+
@function derive-scrollbar($palette, $is-dark: false, $palette-name: "paper") {
|
|
408
323
|
@if $is-dark {
|
|
409
|
-
//
|
|
410
|
-
@
|
|
411
|
-
@return (
|
|
412
|
-
track: transparent,
|
|
413
|
-
thumb: #4b4b4b,
|
|
414
|
-
thumb-hover: #b4b4b4
|
|
415
|
-
);
|
|
416
|
-
}
|
|
417
|
-
|
|
418
|
-
@return (
|
|
419
|
-
track: get-shade($palette, 800),
|
|
420
|
-
thumb: get-shade($palette, 600),
|
|
421
|
-
thumb-hover: get-shade($palette, 500)
|
|
422
|
-
);
|
|
423
|
-
} @else {
|
|
424
|
-
@return (
|
|
425
|
-
track: get-shade($palette, 100),
|
|
426
|
-
thumb: get-shade($palette, 300),
|
|
427
|
-
thumb-hover: get-shade($palette, 400)
|
|
428
|
-
);
|
|
324
|
+
// Transparent track, strong-border thumb on the warm charcoal plane.
|
|
325
|
+
@return (track: transparent, thumb: #4a4641, thumb-hover: #b6b0a8);
|
|
429
326
|
}
|
|
327
|
+
@return (
|
|
328
|
+
track: get-shade($palette, 100),
|
|
329
|
+
thumb: get-shade($palette, 300),
|
|
330
|
+
thumb-hover: get-shade($palette, 400)
|
|
331
|
+
);
|
|
430
332
|
}
|
|
431
333
|
|
|
432
334
|
// --------------------------------------------
|
|
@@ -510,9 +412,9 @@
|
|
|
510
412
|
/// @param {Color} $color - Color to measure
|
|
511
413
|
/// @return {Number} Relative luminance 0-1
|
|
512
414
|
@function _wcag-luminance($color) {
|
|
513
|
-
$r: _srgb-linearize(color.channel($color,
|
|
514
|
-
$g: _srgb-linearize(color.channel($color,
|
|
515
|
-
$b: _srgb-linearize(color.channel($color,
|
|
415
|
+
$r: _srgb-linearize(color.channel($color, "red", $space: rgb));
|
|
416
|
+
$g: _srgb-linearize(color.channel($color, "green", $space: rgb));
|
|
417
|
+
$b: _srgb-linearize(color.channel($color, "blue", $space: rgb));
|
|
516
418
|
@return 0.2126 * $r + 0.7152 * $g + 0.0722 * $b;
|
|
517
419
|
}
|
|
518
420
|
|