@usefragments/ui 1.6.0 → 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 +4720 -4159
- package/dist/chart.cjs +24 -6
- package/dist/chart.js +24 -6
- package/dist/codeblock.cjs +55 -29
- package/dist/codeblock.js +55 -29
- package/dist/colorpicker.cjs +3 -1
- package/dist/colorpicker.js +3 -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 +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/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 +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/Card/Card.module.scss.cjs +29 -17
- package/dist/components/Card/Card.module.scss.js +30 -18
- 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.map +1 -1
- package/dist/components/Checkbox/Checkbox.module.scss.cjs +9 -9
- package/dist/components/Checkbox/Checkbox.module.scss.js +9 -9
- package/dist/components/Checkbox/index.cjs +2 -2
- package/dist/components/Checkbox/index.d.ts.map +1 -1
- package/dist/components/Checkbox/index.js +2 -2
- 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 +2 -1
- package/dist/components/Chip/index.d.ts.map +1 -1
- package/dist/components/Chip/index.js +2 -1
- 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 +17 -3
- 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 +17 -1
- package/dist/components/Combobox/index.d.ts.map +1 -1
- package/dist/components/Combobox/index.js +17 -1
- 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 +10 -10
- package/dist/components/ConversationList/ConversationList.module.scss.js +10 -10
- 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 +27 -27
- package/dist/components/DataTable/DataTable.module.scss.js +27 -27
- 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 +29 -29
- package/dist/components/Drawer/Drawer.module.scss.js +29 -29
- 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 +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 +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/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 +15 -15
- package/dist/components/Icon/Icon.module.scss.js +15 -15
- 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 +17 -17
- package/dist/components/Input/Input.module.scss.js +17 -17
- 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/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 +1 -1
- package/dist/components/Loading/index.js +1 -1
- 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 +18 -18
- package/dist/components/Message/Message.module.scss.js +18 -18
- 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 +25 -25
- package/dist/components/Progress/Progress.module.scss.js +25 -25
- package/dist/components/Prompt/Prompt.module.scss.cjs +28 -28
- package/dist/components/Prompt/Prompt.module.scss.js +28 -28
- package/dist/components/RadioGroup/RadioGroup.module.scss.cjs +15 -15
- package/dist/components/RadioGroup/RadioGroup.module.scss.js +15 -15
- 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/Separator/Separator.module.scss.cjs +11 -11
- package/dist/components/Separator/Separator.module.scss.js +11 -11
- 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 +12 -35
- 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 +12 -35
- package/dist/components/Skeleton/Skeleton.module.scss.cjs +50 -46
- package/dist/components/Skeleton/Skeleton.module.scss.js +50 -46
- 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 +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 +26 -6
- package/dist/components/Tabs/index.d.ts.map +1 -1
- package/dist/components/Tabs/index.js +26 -6
- package/dist/components/Text/Text.module.scss.cjs +87 -75
- package/dist/components/Text/Text.module.scss.js +87 -75
- package/dist/components/Text/index.cjs +49 -41
- package/dist/components/Text/index.d.ts +12 -11
- package/dist/components/Text/index.d.ts.map +1 -1
- package/dist/components/Text/index.js +49 -41
- package/dist/components/Textarea/Textarea.module.scss.cjs +24 -24
- package/dist/components/Textarea/Textarea.module.scss.js +24 -24
- package/dist/components/Theme/index.cjs +2 -1
- package/dist/components/Theme/index.d.ts.map +1 -1
- package/dist/components/Theme/index.js +2 -1
- package/dist/components/ThemeToggle/ThemeToggle.module.scss.cjs +9 -6
- package/dist/components/ThemeToggle/ThemeToggle.module.scss.js +9 -6
- package/dist/components/ThemeToggle/index.cjs +31 -6
- package/dist/components/ThemeToggle/index.d.ts +7 -2
- package/dist/components/ThemeToggle/index.d.ts.map +1 -1
- package/dist/components/ThemeToggle/index.js +32 -7
- package/dist/components/ThinkingIndicator/ThinkingIndicator.module.scss.cjs +13 -13
- package/dist/components/ThinkingIndicator/ThinkingIndicator.module.scss.js +13 -13
- package/dist/components/Toast/Toast.module.scss.cjs +20 -20
- package/dist/components/Toast/Toast.module.scss.js +20 -20
- package/dist/components/ToggleGroup/ToggleGroup.module.scss.cjs +17 -17
- package/dist/components/ToggleGroup/ToggleGroup.module.scss.js +17 -17
- 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/index.d.ts +2 -2
- package/dist/data-table.cjs +2 -1
- package/dist/data-table.js +2 -1
- package/dist/datepicker.cjs +3 -2
- package/dist/datepicker.js +3 -2
- package/dist/editor.cjs +68 -28
- package/dist/editor.js +68 -28
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/markdown.cjs +21 -29
- package/dist/markdown.js +21 -29
- package/dist/measurements/generated.cjs +9 -1
- package/dist/measurements/generated.d.ts +7 -0
- package/dist/measurements/generated.d.ts.map +1 -1
- package/dist/measurements/generated.js +9 -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 -6
- package/dist/utils/seed-derivation.d.ts.map +1 -1
- package/dist/utils/seed-derivation.js +10 -6
- package/fragments.json +1 -1
- package/package.json +6 -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/Alert/Alert.contract.json +37 -53
- package/src/components/Alert/Alert.module.scss +24 -0
- package/src/components/Alert/index.tsx +55 -29
- package/src/components/AppShell/AppShell.contract.json +34 -51
- package/src/components/AppShell/AppShell.module.scss +53 -40
- package/src/components/Avatar/Avatar.contract.json +31 -48
- package/src/components/Avatar/Avatar.module.scss +4 -1
- package/src/components/Badge/Badge.contract.json +37 -42
- package/src/components/Badge/Badge.module.scss +9 -2
- package/src/components/BentoGrid/BentoGrid.contract.json +21 -45
- package/src/components/Box/Box.contract.json +40 -148
- package/src/components/Box/index.tsx +92 -99
- package/src/components/Breadcrumbs/Breadcrumbs.contract.json +21 -34
- package/src/components/Breadcrumbs/Breadcrumbs.module.scss +12 -7
- package/src/components/Button/Button.module.scss +8 -7
- package/src/components/ButtonGroup/ButtonGroup.contract.json +32 -47
- package/src/components/Card/Card.module.scss +82 -1
- package/src/components/Card/index.tsx +21 -2
- package/src/components/Chart/Chart.contract.json +21 -29
- package/src/components/Chart/index.tsx +36 -6
- package/src/components/Checkbox/Checkbox.contract.json +24 -24
- package/src/components/Checkbox/Checkbox.module.scss +32 -23
- package/src/components/Checkbox/index.tsx +4 -2
- package/src/components/Chip/Chip.contract.json +33 -40
- package/src/components/Chip/Chip.module.scss +2 -2
- package/src/components/Chip/index.tsx +2 -1
- package/src/components/CodeBlock/CodeBlock.contract.json +46 -76
- package/src/components/CodeBlock/CodeBlock.module.scss +40 -15
- 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/ColorPicker/ColorPicker.contract.json +29 -48
- package/src/components/ColorPicker/ColorPicker.module.scss +15 -12
- package/src/components/ColorPicker/index.tsx +5 -1
- package/src/components/Combobox/Combobox.contract.json +36 -37
- package/src/components/Combobox/Combobox.module.scss +1 -1
- package/src/components/Combobox/index.tsx +31 -5
- package/src/components/Command/Command.contract.json +21 -43
- package/src/components/Command/index.tsx +58 -47
- package/src/components/ConversationList/ConversationList.contract.json +27 -32
- package/src/components/DataTable/DataTable.icons.tsx +4 -21
- package/src/components/DataTable/DataTable.module.scss +12 -8
- package/src/components/DataTable/index.tsx +8 -7
- package/src/components/DatePicker/DatePicker.contract.json +27 -28
- package/src/components/DatePicker/DatePicker.module.scss +12 -5
- package/src/components/DatePicker/index.tsx +5 -2
- package/src/components/Dialog/Dialog.module.scss +3 -3
- package/src/components/Dialog/index.tsx +47 -37
- package/src/components/Drawer/Drawer.contract.json +22 -36
- package/src/components/Editor/Editor.contract.json +31 -48
- package/src/components/Editor/Editor.module.scss +36 -14
- package/src/components/Editor/index.tsx +240 -179
- package/src/components/EmptyState/EmptyState.contract.json +31 -43
- package/src/components/EmptyState/EmptyState.module.scss +8 -0
- package/src/components/EmptyState/index.tsx +48 -23
- package/src/components/Field/Field.contract.json +28 -46
- package/src/components/Field/index.tsx +5 -1
- package/src/components/Fieldset/Fieldset.contract.json +21 -38
- package/src/components/Fieldset/Fieldset.module.scss +10 -3
- package/src/components/Form/Form.contract.json +20 -20
- package/src/components/Grid/Grid.contract.json +28 -64
- package/src/components/Grid/index.tsx +10 -10
- package/src/components/Header/Header.contract.json +31 -67
- package/src/components/Header/Header.module.scss +36 -21
- package/src/components/Header/index.tsx +134 -122
- package/src/components/Icon/Icon.contract.json +22 -62
- package/src/components/IconButton/IconButton.contract.json +34 -18
- package/src/components/IconButton/IconButton.module.scss +6 -7
- 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 +3 -2
- package/src/components/Link/Link.contract.json +32 -52
- package/src/components/Link/Link.module.scss +23 -6
- package/src/components/Link/index.tsx +1 -1
- package/src/components/List/List.contract.json +23 -52
- package/src/components/List/List.module.scss +1 -1
- package/src/components/Listbox/Listbox.contract.json +21 -37
- package/src/components/Loading/Loading.contract.json +37 -61
- package/src/components/Loading/Loading.module.scss +10 -7
- package/src/components/Loading/index.tsx +2 -2
- 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 +43 -5
- package/src/components/Markdown/index.tsx +48 -49
- package/src/components/Menu/Menu.contract.json +25 -41
- package/src/components/Menu/Menu.module.scss +23 -8
- package/src/components/Message/Message.contract.json +29 -52
- package/src/components/Message/Message.module.scss +12 -5
- package/src/components/NavigationMenu/NavigationMenu.contract.json +36 -45
- package/src/components/NavigationMenu/NavigationMenu.module.scss +64 -19
- package/src/components/NavigationMenu/index.tsx +105 -81
- package/src/components/Pagination/Pagination.contract.json +22 -40
- package/src/components/Pagination/Pagination.module.scss +2 -2
- package/src/components/Popover/Popover.contract.json +24 -46
- package/src/components/Popover/Popover.module.scss +6 -5
- package/src/components/Progress/Progress.contract.json +32 -28
- package/src/components/Progress/Progress.module.scss +3 -2
- package/src/components/Prompt/Prompt.contract.json +31 -47
- package/src/components/Prompt/Prompt.module.scss +13 -5
- package/src/components/RadioGroup/RadioGroup.contract.json +23 -24
- package/src/components/RadioGroup/RadioGroup.module.scss +13 -14
- package/src/components/ScrollArea/ScrollArea.contract.json +18 -19
- package/src/components/ScrollArea/ScrollArea.module.scss +15 -15
- package/src/components/ScrollArea/index.tsx +16 -16
- package/src/components/ScrollArea/scroll-state.ts +24 -24
- package/src/components/Select/Select.module.scss +2 -2
- package/src/components/Separator/Separator.contract.json +24 -48
- package/src/components/Sidebar/Sidebar.contract.json +35 -67
- package/src/components/Sidebar/Sidebar.module.scss +22 -13
- package/src/components/Sidebar/index.tsx +164 -164
- package/src/components/Skeleton/Skeleton.contract.json +28 -54
- package/src/components/Skeleton/Skeleton.module.scss +27 -10
- package/src/components/Slider/Slider.contract.json +27 -39
- package/src/components/Slider/Slider.module.scss +3 -3
- package/src/components/Stack/Stack.contract.json +29 -56
- package/src/components/Stack/Stack.module.scss +13 -12
- package/src/components/Stack/index.tsx +3 -3
- package/src/components/Switch/Switch.contract.json +33 -46
- package/src/components/Switch/Switch.module.scss +64 -26
- package/src/components/Table/Table.contract.json +28 -46
- package/src/components/Table/Table.module.scss +15 -3
- package/src/components/TableOfContents/TableOfContents.contract.json +34 -21
- package/src/components/TableOfContents/TableOfContents.module.scss +15 -5
- package/src/components/TableOfContents/index.tsx +26 -9
- package/src/components/Tabs/Tabs.contract.json +24 -45
- package/src/components/Tabs/Tabs.module.scss +1 -1
- package/src/components/Tabs/index.tsx +15 -3
- package/src/components/Text/Text.contract.json +30 -72
- package/src/components/Text/Text.module.scss +21 -4
- package/src/components/Text/index.tsx +113 -75
- package/src/components/Textarea/Textarea.contract.json +25 -43
- package/src/components/Textarea/Textarea.module.scss +2 -4
- package/src/components/Theme/Theme.contract.json +32 -51
- package/src/components/Theme/index.tsx +2 -1
- package/src/components/ThemeToggle/ThemeToggle.module.scss +23 -7
- package/src/components/ThemeToggle/index.tsx +43 -7
- package/src/components/ThinkingIndicator/ThinkingIndicator.contract.json +23 -40
- package/src/components/Toast/Toast.contract.json +30 -40
- package/src/components/Toast/Toast.module.scss +1 -1
- package/src/components/ToggleGroup/ToggleGroup.contract.json +29 -30
- package/src/components/ToggleGroup/ToggleGroup.module.scss +38 -5
- package/src/components/Tooltip/Tooltip.contract.json +31 -52
- package/src/components/Tooltip/index.tsx +19 -24
- package/src/components/VisuallyHidden/VisuallyHidden.contract.json +22 -44
- package/src/components/VisuallyHidden/index.tsx +5 -5
- package/src/index.ts +2 -2
- package/src/measurements/generated.ts +9 -2
- package/src/measurements/measurements.json +7 -0
- package/src/recipes/_boolean-range.scss +3 -11
- package/src/recipes/_field.scss +5 -1
- package/src/recipes/_layout.scss +14 -7
- package/src/recipes/_popup.scss +12 -2
- package/src/recipes/_prose.scss +13 -5
- package/src/recipes/_table-chrome.scss +16 -2
- package/src/scss.d.ts +1 -1
- package/src/styles/globals.scss +20 -19
- package/src/tokens/_computed.scss +5 -16
- package/src/tokens/_derive.scss +112 -210
- package/src/tokens/_measurements.catalog.generated.css +6 -1
- package/src/tokens/_measurements.generated.scss +14 -1
- package/src/tokens/_mixins.scss +7 -8
- package/src/tokens/_palettes.scss +39 -167
- package/src/tokens/_seeds.scss +20 -20
- package/src/tokens/_variables.scss +183 -38
- 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 +10 -6
- 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
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://usefragments.com/schemas/contract.v1.json",
|
|
3
3
|
"name": "Sidebar",
|
|
4
|
-
"description": "
|
|
5
|
-
"category": "
|
|
6
|
-
"tags": [
|
|
7
|
-
"sidebar",
|
|
8
|
-
"navigation",
|
|
9
|
-
"drawer",
|
|
10
|
-
"menu",
|
|
11
|
-
"layout"
|
|
12
|
-
],
|
|
4
|
+
"description": "Collapsible navigation panel that turns into a drawer on mobile.",
|
|
5
|
+
"category": "layout",
|
|
6
|
+
"tags": ["sidebar", "navigation", "drawer", "menu", "layout"],
|
|
13
7
|
"status": "stable",
|
|
14
8
|
"sourcePath": "src/components/Sidebar/index.tsx",
|
|
15
9
|
"exportName": "Sidebar",
|
|
@@ -83,31 +77,21 @@
|
|
|
83
77
|
"description": "Sidebar position",
|
|
84
78
|
"default": "left",
|
|
85
79
|
"required": false,
|
|
86
|
-
"values": [
|
|
87
|
-
"left",
|
|
88
|
-
"right"
|
|
89
|
-
]
|
|
80
|
+
"values": ["left", "right"]
|
|
90
81
|
},
|
|
91
82
|
"collapsible": {
|
|
92
83
|
"type": "enum",
|
|
93
84
|
"description": "Collapse behavior mode",
|
|
94
85
|
"default": "icon",
|
|
95
86
|
"required": false,
|
|
96
|
-
"values": [
|
|
97
|
-
"icon",
|
|
98
|
-
"offcanvas",
|
|
99
|
-
"none"
|
|
100
|
-
]
|
|
87
|
+
"values": ["icon", "offcanvas", "none"]
|
|
101
88
|
},
|
|
102
89
|
"activeIndicator": {
|
|
103
90
|
"type": "enum",
|
|
104
91
|
"description": "Placement of the active-item affordance",
|
|
105
92
|
"default": "start",
|
|
106
93
|
"required": false,
|
|
107
|
-
"values": [
|
|
108
|
-
"start",
|
|
109
|
-
"end"
|
|
110
|
-
]
|
|
94
|
+
"values": ["start", "end"]
|
|
111
95
|
},
|
|
112
96
|
"style": {
|
|
113
97
|
"type": "object",
|
|
@@ -117,32 +101,22 @@
|
|
|
117
101
|
},
|
|
118
102
|
"usage": {
|
|
119
103
|
"when": [
|
|
120
|
-
"Primary
|
|
121
|
-
"
|
|
122
|
-
"
|
|
123
|
-
"Apps that need both mobile drawer and desktop sidebar"
|
|
104
|
+
"Primary navigation for an app shell",
|
|
105
|
+
"Navigation that must collapse to icons or hide entirely",
|
|
106
|
+
"Grouped destinations with active state"
|
|
124
107
|
],
|
|
125
108
|
"whenNot": [
|
|
126
|
-
"
|
|
127
|
-
"
|
|
128
|
-
"
|
|
129
|
-
"Mobile-only apps where bottom navigation is preferred"
|
|
109
|
+
"Top-level horizontal navigation (use Header)",
|
|
110
|
+
"Temporary side panels for one task (use Drawer)",
|
|
111
|
+
"In-page section links (use a list of links)"
|
|
130
112
|
],
|
|
131
113
|
"guidelines": [
|
|
132
|
-
"
|
|
133
|
-
"
|
|
134
|
-
"
|
|
135
|
-
"
|
|
136
|
-
"
|
|
137
|
-
"
|
|
138
|
-
"Use activeIndicator=\"end\" when the product language calls for a trailing status dot instead of the default start rail",
|
|
139
|
-
"Use `collapsedContent` on Header to show just a logo icon when collapsed",
|
|
140
|
-
"Submenus are hidden when collapsed - use tooltips for navigation hints instead",
|
|
141
|
-
"Use SidebarProvider to enable external triggers and keyboard shortcuts",
|
|
142
|
-
"Use asChild with routing libraries (Next.js Link, React Router NavLink)",
|
|
143
|
-
"Sidebar.Item and Sidebar.SubItem onClick handlers receive the click event object",
|
|
144
|
-
"Use `multiline` on Sidebar.Item when the row is a list entry rather than a nav link — a title over a status or preview line. Without it the label is one truncating line",
|
|
145
|
-
"Use Sidebar.MenuSkeleton while loading navigation data"
|
|
114
|
+
"Give every item an icon so the collapsed rail stays readable",
|
|
115
|
+
"collapsible=\"icon\" shrinks to a rail; \"offcanvas\" hides it completely",
|
|
116
|
+
"Wrap in SidebarProvider only when something outside must toggle it",
|
|
117
|
+
"An explicit collapsed prop overrides any surrounding provider",
|
|
118
|
+
"Sidebar.Rail and Sidebar.CollapseToggle are alternative toggles — pick one",
|
|
119
|
+
"Use Sidebar.MenuSkeleton while navigation data loads"
|
|
146
120
|
],
|
|
147
121
|
"accessibility": [
|
|
148
122
|
"Uses semantic <nav> element with aria-label",
|
|
@@ -157,57 +131,57 @@
|
|
|
157
131
|
"examples": [
|
|
158
132
|
{
|
|
159
133
|
"name": "Default",
|
|
160
|
-
"description": "
|
|
134
|
+
"description": "Sections group items; active marks the current page.",
|
|
161
135
|
"code": "<Sidebar>\n <Sidebar.Header>\n <Logo />\n <span>Acme App</span>\n </Sidebar.Header>\n <Sidebar.Nav>\n <Sidebar.Section>\n <Sidebar.Item icon={<HomeIcon />} active>Dashboard</Sidebar.Item>\n <Sidebar.Item icon={<ChartIcon />}>Analytics</Sidebar.Item>\n <Sidebar.Item icon={<UsersIcon />}>Team</Sidebar.Item>\n <Sidebar.Item icon={<FolderIcon />}>Projects</Sidebar.Item>\n </Sidebar.Section>\n <Sidebar.Section label=\"Settings\">\n <Sidebar.Item icon={<GearIcon />}>Preferences</Sidebar.Item>\n <Sidebar.Item icon={<HelpIcon />}>Help</Sidebar.Item>\n </Sidebar.Section>\n </Sidebar.Nav>\n <Sidebar.Footer>\n <Sidebar.CollapseToggle />\n </Sidebar.Footer>\n</Sidebar>"
|
|
162
136
|
},
|
|
163
137
|
{
|
|
164
138
|
"name": "Collapsed",
|
|
165
|
-
"description": "Icon-only
|
|
139
|
+
"description": "Icon-only rail; labels move into hover tooltips.",
|
|
166
140
|
"code": "function App() {\n const [collapsed, setCollapsed] = useState(true);\n\n return (\n <Sidebar collapsed={collapsed} onCollapsedChange={setCollapsed}>\n <Sidebar.Header collapsedContent={<Logo />}>\n <Logo />\n <span>Acme App</span>\n </Sidebar.Header>\n <Sidebar.Nav>\n <Sidebar.Section>\n <Sidebar.Item icon={<HomeIcon />} active>Dashboard</Sidebar.Item>\n <Sidebar.Item icon={<ChartIcon />}>Analytics</Sidebar.Item>\n </Sidebar.Section>\n </Sidebar.Nav>\n <Sidebar.Footer>\n <Sidebar.CollapseToggle />\n </Sidebar.Footer>\n </Sidebar>\n );\n}"
|
|
167
141
|
},
|
|
168
142
|
{
|
|
169
143
|
"name": "With Badges",
|
|
170
|
-
"description": "
|
|
144
|
+
"description": "Trailing counts for unread or pending work.",
|
|
171
145
|
"code": "<Sidebar>\n <Sidebar.Nav>\n <Sidebar.Section>\n <Sidebar.Item icon={<HomeIcon />} active>Dashboard</Sidebar.Item>\n <Sidebar.Item icon={<ChartIcon />} badge=\"3\">Analytics</Sidebar.Item>\n <Sidebar.Item icon={<UsersIcon />} badge=\"12\">Team</Sidebar.Item>\n <Sidebar.Item icon={<FolderIcon />}>Projects</Sidebar.Item>\n </Sidebar.Section>\n </Sidebar.Nav>\n</Sidebar>"
|
|
172
146
|
},
|
|
173
147
|
{
|
|
174
148
|
"name": "With Submenu",
|
|
175
|
-
"description": "Nested
|
|
149
|
+
"description": "Nested items; defaultExpanded sets the opening state.",
|
|
176
150
|
"code": "<Sidebar>\n <Sidebar.Nav>\n <Sidebar.Section>\n <Sidebar.Item icon={<HomeIcon />}>Dashboard</Sidebar.Item>\n {/* Use defaultExpanded for uncontrolled mode - no state needed! */}\n <Sidebar.Item icon={<FolderIcon />} hasSubmenu defaultExpanded>\n Projects\n </Sidebar.Item>\n <Sidebar.Submenu>\n <Sidebar.SubItem active>Website Redesign</Sidebar.SubItem>\n <Sidebar.SubItem>Mobile App</Sidebar.SubItem>\n <Sidebar.SubItem>API Integration</Sidebar.SubItem>\n </Sidebar.Submenu>\n {/* Multiple submenus work without tracking separate state */}\n <Sidebar.Item icon={<UsersIcon />} hasSubmenu>\n Team\n </Sidebar.Item>\n <Sidebar.Submenu>\n <Sidebar.SubItem>Engineering</Sidebar.SubItem>\n <Sidebar.SubItem>Design</Sidebar.SubItem>\n </Sidebar.Submenu>\n </Sidebar.Section>\n </Sidebar.Nav>\n</Sidebar>"
|
|
177
151
|
},
|
|
178
152
|
{
|
|
179
153
|
"name": "With Disabled Items",
|
|
180
|
-
"description": "
|
|
154
|
+
"description": "Items switched off by permissions or feature flags.",
|
|
181
155
|
"code": "<Sidebar>\n <Sidebar.Nav>\n <Sidebar.Section>\n <Sidebar.Item icon={<HomeIcon />} active>Dashboard</Sidebar.Item>\n <Sidebar.Item icon={<ChartIcon />}>Analytics</Sidebar.Item>\n <Sidebar.Item icon={<UsersIcon />} disabled>\n Team (Coming Soon)\n </Sidebar.Item>\n <Sidebar.Item icon={<FolderIcon />} disabled>\n Projects (Upgrade)\n </Sidebar.Item>\n </Sidebar.Section>\n </Sidebar.Nav>\n</Sidebar>"
|
|
182
156
|
},
|
|
183
157
|
{
|
|
184
158
|
"name": "With Provider & External Trigger",
|
|
185
|
-
"description": "
|
|
186
|
-
"code": "function App() {\n return (\n <SidebarProvider>\n <
|
|
159
|
+
"description": "useSidebar drives the sidebar from anywhere, plus Cmd/Ctrl+B.",
|
|
160
|
+
"code": "function App() {\n return (\n <SidebarProvider>\n <Stack direction=\"row\" gap=\"lg\" align=\"start\">\n <Sidebar>\n <Sidebar.Header>\n <Logo />\n <span>Acme App</span>\n </Sidebar.Header>\n <Sidebar.Nav>\n <Sidebar.Section>\n <Sidebar.Item icon={<HomeIcon />} active>Dashboard</Sidebar.Item>\n <Sidebar.Item icon={<ChartIcon />}>Analytics</Sidebar.Item>\n </Sidebar.Section>\n </Sidebar.Nav>\n </Sidebar>\n <MainContent />\n </Stack>\n </SidebarProvider>\n );\n}\n\nfunction MainContent() {\n const { toggleSidebar, state } = useSidebar();\n\n return (\n <Stack gap=\"sm\" align=\"start\">\n <Text size=\"sm\" color=\"secondary\">State: {state}</Text>\n <Button size=\"sm\" variant=\"secondary\" onClick={toggleSidebar}>\n Toggle sidebar\n </Button>\n </Stack>\n );\n}"
|
|
187
161
|
},
|
|
188
162
|
{
|
|
189
163
|
"name": "With asChild (Polymorphic)",
|
|
190
|
-
"description": "
|
|
191
|
-
"code": "import
|
|
164
|
+
"description": "Render items as your router's link component.",
|
|
165
|
+
"code": "import Link from 'next/link';\n\n<Sidebar>\n <Sidebar.Nav>\n <Sidebar.Section>\n <Sidebar.Item icon={<HomeIcon />} active asChild>\n <Link href=\"/dashboard\">Dashboard</Link>\n </Sidebar.Item>\n <Sidebar.Item icon={<ChartIcon />} asChild>\n <Link href=\"/analytics\">Analytics</Link>\n </Sidebar.Item>\n </Sidebar.Section>\n </Sidebar.Nav>\n</Sidebar>"
|
|
192
166
|
},
|
|
193
167
|
{
|
|
194
168
|
"name": "With Section Action",
|
|
195
|
-
"description": "
|
|
169
|
+
"description": "A section header can carry one quick action.",
|
|
196
170
|
"code": "<Sidebar>\n <Sidebar.Nav>\n <Sidebar.Section\n label=\"Projects\"\n action={\n <Sidebar.SectionAction aria-label=\"Add project\" onClick={handleAdd}>\n <PlusIcon />\n </Sidebar.SectionAction>\n }\n >\n <Sidebar.Item icon={<FolderIcon />}>Website Redesign</Sidebar.Item>\n <Sidebar.Item icon={<FolderIcon />}>Mobile App</Sidebar.Item>\n </Sidebar.Section>\n </Sidebar.Nav>\n</Sidebar>"
|
|
197
171
|
},
|
|
198
172
|
{
|
|
199
173
|
"name": "With Loading Skeleton",
|
|
200
|
-
"description": "
|
|
201
|
-
"code": "<Sidebar>\n <Sidebar.
|
|
174
|
+
"description": "Placeholder rows to show while navigation data loads.",
|
|
175
|
+
"code": "<Sidebar>\n <Sidebar.Header>\n <Logo />\n <span>Acme App</span>\n </Sidebar.Header>\n <Sidebar.Nav>\n <Sidebar.MenuSkeleton count={6} />\n </Sidebar.Nav>\n</Sidebar>"
|
|
202
176
|
},
|
|
203
177
|
{
|
|
204
178
|
"name": "With Rail Toggle",
|
|
205
|
-
"description": "
|
|
206
|
-
"code": "<Sidebar collapsed={collapsed} onCollapsedChange={setCollapsed}>\n
|
|
179
|
+
"description": "Drag-handle toggle on the sidebar edge — hover to reveal, click to collapse.",
|
|
180
|
+
"code": "function App() {\n const [collapsed, setCollapsed] = useState(false);\n\n return (\n <Sidebar collapsed={collapsed} onCollapsedChange={setCollapsed}>\n <Sidebar.Header collapsedContent={<Logo />}>\n <Logo />\n <span>Acme App</span>\n </Sidebar.Header>\n <Sidebar.Nav>\n <Sidebar.Section>\n <Sidebar.Item icon={<HomeIcon />} active>Dashboard</Sidebar.Item>\n <Sidebar.Item icon={<ChartIcon />}>Analytics</Sidebar.Item>\n <Sidebar.Item icon={<FolderIcon />}>Projects</Sidebar.Item>\n </Sidebar.Section>\n </Sidebar.Nav>\n <Sidebar.Rail />\n </Sidebar>\n );\n}"
|
|
207
181
|
},
|
|
208
182
|
{
|
|
209
183
|
"name": "Offcanvas Collapsed",
|
|
210
|
-
"description": "
|
|
184
|
+
"description": "Hides the panel entirely, leaving a floating re-open button.",
|
|
211
185
|
"code": "function App() {\n const [collapsed, setCollapsed] = useState(true);\n\n return (\n <Sidebar collapsed={collapsed} onCollapsedChange={setCollapsed} collapsible=\"offcanvas\">\n <Sidebar.Header collapsedContent={<Logo />}>\n <Logo />\n <span>Acme App</span>\n </Sidebar.Header>\n <Sidebar.Nav>\n <Sidebar.Section>\n <Sidebar.Item icon={<HomeIcon />} active>Dashboard</Sidebar.Item>\n <Sidebar.Item icon={<ChartIcon />}>Analytics</Sidebar.Item>\n </Sidebar.Section>\n </Sidebar.Nav>\n <Sidebar.Footer>\n <Sidebar.CollapseToggle />\n </Sidebar.Footer>\n </Sidebar>\n );\n}"
|
|
212
186
|
}
|
|
213
187
|
],
|
|
@@ -232,11 +206,7 @@
|
|
|
232
206
|
"active: boolean - set on Sidebar.Item to mark current page (app-controlled)",
|
|
233
207
|
"Sidebar.Item/SubItem onClick: (event) => void - click handler receives mouse event"
|
|
234
208
|
],
|
|
235
|
-
"a11yRules": [
|
|
236
|
-
"A11Y_NAV_LANDMARK",
|
|
237
|
-
"A11Y_FOCUS_TRAP",
|
|
238
|
-
"A11Y_ESCAPE_CLOSE"
|
|
239
|
-
]
|
|
209
|
+
"a11yRules": ["A11Y_NAV_LANDMARK", "A11Y_FOCUS_TRAP", "A11Y_ESCAPE_CLOSE"]
|
|
240
210
|
},
|
|
241
211
|
"ai": {
|
|
242
212
|
"compositionPattern": "compound",
|
|
@@ -255,9 +225,7 @@
|
|
|
255
225
|
"Rail",
|
|
256
226
|
"MenuSkeleton"
|
|
257
227
|
],
|
|
258
|
-
"requiredChildren": [
|
|
259
|
-
"Nav"
|
|
260
|
-
],
|
|
228
|
+
"requiredChildren": ["Nav"],
|
|
261
229
|
"commonPatterns": [
|
|
262
230
|
"<Sidebar><Sidebar.Header>{logo}</Sidebar.Header><Sidebar.Nav><Sidebar.Section><Sidebar.Item icon={icon} active>{label}</Sidebar.Item></Sidebar.Section></Sidebar.Nav><Sidebar.Footer><Sidebar.CollapseToggle /></Sidebar.Footer></Sidebar>"
|
|
263
231
|
]
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
@include navigation.properties;
|
|
9
9
|
|
|
10
10
|
--fui-sidebar-row-height: var(--fui-navigation-row-track);
|
|
11
|
-
--fui-sidebar-row-radius: var(--fui-radius-
|
|
11
|
+
--fui-sidebar-row-radius: var(--fui-radius-full, #{$fui-radius-full});
|
|
12
12
|
--fui-sidebar-gutter: var(--fui-navigation-gutter);
|
|
13
13
|
--fui-sidebar-row-gap: var(--fui-navigation-content-gap);
|
|
14
14
|
--fui-sidebar-row-padding-x: var(--fui-navigation-inline-inset);
|
|
@@ -35,7 +35,6 @@
|
|
|
35
35
|
flex-direction: column;
|
|
36
36
|
width: var(--sidebar-width);
|
|
37
37
|
height: 100%;
|
|
38
|
-
max-height: 100vh;
|
|
39
38
|
background: var(--fui-sidebar-bg, var(--fui-bg-primary, #{$fui-bg-primary}));
|
|
40
39
|
border-inline-end: var(--fui-stroke-hairline, 1px) solid
|
|
41
40
|
var(--fui-sidebar-border, var(--fui-border-default, #{$fui-border-default}));
|
|
@@ -160,8 +159,7 @@
|
|
|
160
159
|
display: flex;
|
|
161
160
|
flex-direction: column;
|
|
162
161
|
overflow: hidden;
|
|
163
|
-
padding: var(--fui-sidebar-gutter) var(--fui-sidebar-gutter)
|
|
164
|
-
var(--fui-space-3, $fui-space-3);
|
|
162
|
+
padding: var(--fui-sidebar-gutter) var(--fui-sidebar-gutter) var(--fui-space-3, $fui-space-3);
|
|
165
163
|
}
|
|
166
164
|
|
|
167
165
|
.navScrollArea {
|
|
@@ -170,7 +168,9 @@
|
|
|
170
168
|
}
|
|
171
169
|
|
|
172
170
|
.section:not(:first-child) {
|
|
173
|
-
|
|
171
|
+
// Consumers with sparse, reading-oriented navigation (docs sites) can open
|
|
172
|
+
// this up via --fui-sidebar-section-gap without touching the raw scale.
|
|
173
|
+
margin-top: var(--fui-sidebar-section-gap, var(--fui-raw-space-16, 16px));
|
|
174
174
|
}
|
|
175
175
|
|
|
176
176
|
.sectionHeader {
|
|
@@ -187,11 +187,19 @@
|
|
|
187
187
|
|
|
188
188
|
// Override section-label-text inheritance — sidebar groups read as quiet
|
|
189
189
|
// title-case headings, not shouty all-caps labels.
|
|
190
|
+
// Section labels read as small tracked eyebrows — a clearly different voice
|
|
191
|
+
// from the nav items beneath them, so groups can't be mistaken for links.
|
|
190
192
|
.sectionLabel {
|
|
191
193
|
flex: 1;
|
|
192
194
|
min-width: 0;
|
|
193
|
-
|
|
194
|
-
|
|
195
|
+
font-size: var(--fui-sidebar-section-label-size, var(--fui-font-size-2xs, #{$fui-font-size-2xs}));
|
|
196
|
+
letter-spacing: var(--fui-sidebar-section-label-tracking, 0.07em);
|
|
197
|
+
text-transform: var(--fui-sidebar-section-label-transform, uppercase);
|
|
198
|
+
color: var(--fui-sidebar-section-label-color, var(--fui-sidebar-faint));
|
|
199
|
+
font-weight: var(
|
|
200
|
+
--fui-sidebar-section-label-weight,
|
|
201
|
+
var(--fui-font-weight-medium, #{$fui-font-weight-medium})
|
|
202
|
+
);
|
|
195
203
|
}
|
|
196
204
|
|
|
197
205
|
.sectionActionWrapper {
|
|
@@ -225,7 +233,7 @@
|
|
|
225
233
|
padding: 0;
|
|
226
234
|
display: flex;
|
|
227
235
|
flex-direction: column;
|
|
228
|
-
gap: var(--fui-raw-space-2, 2px);
|
|
236
|
+
gap: var(--fui-sidebar-item-gap, var(--fui-raw-space-2, 2px));
|
|
229
237
|
}
|
|
230
238
|
|
|
231
239
|
.sectionCollapsible .sectionTrigger {
|
|
@@ -278,6 +286,8 @@
|
|
|
278
286
|
display: flex;
|
|
279
287
|
align-items: center;
|
|
280
288
|
width: 100%;
|
|
289
|
+
font-size: var(--fui-sidebar-item-font-size, var(--fui-type-ui-compact-size, 12px));
|
|
290
|
+
line-height: var(--fui-sidebar-item-line-height, var(--fui-type-ui-compact-line, 16px));
|
|
281
291
|
border: var(--fui-stroke-hairline, 1px) solid transparent;
|
|
282
292
|
border-radius: var(--fui-sidebar-row-radius);
|
|
283
293
|
color: var(--fui-sidebar-muted);
|
|
@@ -323,10 +333,7 @@
|
|
|
323
333
|
&.item:active {
|
|
324
334
|
background-color: var(--fui-sidebar-active-bg);
|
|
325
335
|
border-color: var(--fui-sidebar-active-border);
|
|
326
|
-
color: var(
|
|
327
|
-
--fui-sidebar-item-active-color,
|
|
328
|
-
var(--fui-text-primary, #{$fui-text-primary})
|
|
329
|
-
);
|
|
336
|
+
color: var(--fui-sidebar-item-active-color, var(--fui-text-primary, #{$fui-text-primary}));
|
|
330
337
|
text-decoration: none;
|
|
331
338
|
}
|
|
332
339
|
|
|
@@ -340,7 +347,9 @@
|
|
|
340
347
|
.root[data-active-indicator="end"] .itemActive {
|
|
341
348
|
@include navigation.active-indicator("end");
|
|
342
349
|
|
|
343
|
-
padding-inline-end: calc(
|
|
350
|
+
padding-inline-end: calc(
|
|
351
|
+
var(--fui-navigation-inline-inset) * 2 + var(--fui-navigation-active-dot)
|
|
352
|
+
);
|
|
344
353
|
|
|
345
354
|
&::before {
|
|
346
355
|
content: none;
|