@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
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import * as React from "react";
|
|
4
|
-
import { useResolvedControlSize } from "../ComponentDefaults";
|
|
5
4
|
import styles from "./Chip.module.scss";
|
|
5
|
+
import { isProductionBuild } from "../../utils/env";
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Chip for selections, filters, and tags. Use with Chip.Group for multi-select.
|
|
@@ -15,7 +15,7 @@ export interface ChipProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonEle
|
|
|
15
15
|
* @see https://usefragments.com/components/chip#variants */
|
|
16
16
|
variant?: "filled" | "outlined" | "outline" | "soft";
|
|
17
17
|
/** Chip size.
|
|
18
|
-
* @default "
|
|
18
|
+
* @default "xs" */
|
|
19
19
|
size?: "xs" | "sm" | "md" | "lg";
|
|
20
20
|
/** Whether the chip is selected */
|
|
21
21
|
selected?: boolean;
|
|
@@ -59,7 +59,7 @@ const ChipBase = React.forwardRef<HTMLButtonElement, ChipProps>(function Chip(
|
|
|
59
59
|
},
|
|
60
60
|
ref
|
|
61
61
|
) {
|
|
62
|
-
const size =
|
|
62
|
+
const size = sizeProp ?? "xs";
|
|
63
63
|
// Resolve alias: "outline" → "outlined"
|
|
64
64
|
const variant = variantProp === "outline" ? "outlined" : variantProp;
|
|
65
65
|
|
|
@@ -110,7 +110,7 @@ const ChipBase = React.forwardRef<HTMLButtonElement, ChipProps>(function Chip(
|
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
return (
|
|
113
|
-
<span className={styles.removableChip} data-disabled={disabled || undefined}>
|
|
113
|
+
<span className={styles.removableChip} data-disabled={disabled || undefined} data-size={size}>
|
|
114
114
|
{chipButton}
|
|
115
115
|
<button
|
|
116
116
|
type="button"
|
|
@@ -166,7 +166,7 @@ function ChipGroupInner(
|
|
|
166
166
|
if (child.props.value != null) return child.props.value;
|
|
167
167
|
if (typeof child.props.children === "string") return child.props.children;
|
|
168
168
|
if (child.key != null) return String(child.key);
|
|
169
|
-
if (
|
|
169
|
+
if (!isProductionBuild()) {
|
|
170
170
|
// Non-string labels need an explicit value to avoid unstable group selection keys.
|
|
171
171
|
console.warn(
|
|
172
172
|
"Chip.Group: Chips with non-string children should provide a `value` prop."
|
|
@@ -1,16 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://usefragments.com/schemas/contract.v1.json",
|
|
3
3
|
"name": "CodeBlock",
|
|
4
|
-
"description": "
|
|
4
|
+
"description": "Shows code with syntax colors, a copy button, and diff or collapse when you need them.",
|
|
5
5
|
"category": "display",
|
|
6
|
-
"tags": [
|
|
7
|
-
"code",
|
|
8
|
-
"syntax",
|
|
9
|
-
"highlighting",
|
|
10
|
-
"documentation",
|
|
11
|
-
"developer",
|
|
12
|
-
"diff"
|
|
13
|
-
],
|
|
6
|
+
"tags": ["code", "syntax", "highlighting", "documentation", "developer", "diff"],
|
|
14
7
|
"status": "stable",
|
|
15
8
|
"dependencies": [
|
|
16
9
|
{
|
|
@@ -24,7 +17,7 @@
|
|
|
24
17
|
"propsSummary": [
|
|
25
18
|
"code: string (required)",
|
|
26
19
|
"language: tsx|typescript|ts|javascript|js|jsx|bash|shell|css|scss|sass|json|html|xml|markdown|md|yaml|yml|python|py|ruby|go|rust|java|kotlin|swift|c|cpp|csharp|php|sql|graphql|diff|plaintext|text (default: tsx)",
|
|
27
|
-
"theme: synthwave-84|github-dark|github-light|one-dark-pro|dracula|nord|monokai|vitesse-dark|vitesse-light|min-dark|min-light (default:
|
|
20
|
+
"theme: css-variables|synthwave-84|github-dark|github-light|one-dark-pro|dracula|nord|monokai|vitesse-dark|vitesse-light|min-dark|min-light (default: css-variables)",
|
|
28
21
|
"showCopy: boolean (default: true)",
|
|
29
22
|
"title: string",
|
|
30
23
|
"filename: string",
|
|
@@ -96,10 +89,11 @@
|
|
|
96
89
|
},
|
|
97
90
|
"theme": {
|
|
98
91
|
"type": "enum",
|
|
99
|
-
"description": "Syntax highlighting theme",
|
|
100
|
-
"default": "
|
|
92
|
+
"description": "Syntax highlighting theme. css-variables maps spans onto --fui-code-token-* so both themes stay readable.",
|
|
93
|
+
"default": "css-variables",
|
|
101
94
|
"required": false,
|
|
102
95
|
"values": [
|
|
96
|
+
"css-variables",
|
|
103
97
|
"synthwave-84",
|
|
104
98
|
"github-dark",
|
|
105
99
|
"github-light",
|
|
@@ -190,6 +184,12 @@
|
|
|
190
184
|
"default": "5",
|
|
191
185
|
"required": false
|
|
192
186
|
},
|
|
187
|
+
"collapseAction": {
|
|
188
|
+
"type": "\"lines\" | \"expand\"",
|
|
189
|
+
"description": "Collapse control copy: line-count bar, or a single Expand / Collapse control",
|
|
190
|
+
"default": "lines",
|
|
191
|
+
"required": false
|
|
192
|
+
},
|
|
193
193
|
"compact": {
|
|
194
194
|
"type": "boolean",
|
|
195
195
|
"description": "Compact mode with reduced padding",
|
|
@@ -207,11 +207,7 @@
|
|
|
207
207
|
"description": "Where to place the copy button when not using persistentCopy",
|
|
208
208
|
"default": "auto",
|
|
209
209
|
"required": false,
|
|
210
|
-
"values": [
|
|
211
|
-
"auto",
|
|
212
|
-
"header",
|
|
213
|
-
"overlay"
|
|
214
|
-
]
|
|
210
|
+
"values": ["auto", "header", "overlay"]
|
|
215
211
|
},
|
|
216
212
|
"bg": {
|
|
217
213
|
"type": "string",
|
|
@@ -226,118 +222,97 @@
|
|
|
226
222
|
},
|
|
227
223
|
"usage": {
|
|
228
224
|
"when": [
|
|
229
|
-
"
|
|
230
|
-
"
|
|
231
|
-
"
|
|
232
|
-
"Teaching programming concepts",
|
|
233
|
-
"Showing code diffs or changes",
|
|
234
|
-
"Displaying long code files with collapse functionality"
|
|
225
|
+
"Code examples inside prose or docs",
|
|
226
|
+
"Install and config snippets",
|
|
227
|
+
"Showing what changed, as a diff"
|
|
235
228
|
],
|
|
236
229
|
"whenNot": [
|
|
237
|
-
"
|
|
238
|
-
"
|
|
239
|
-
"Non-code content (use Text or Card)"
|
|
230
|
+
"The user needs to edit it (use an editor)",
|
|
231
|
+
"A couple of words inline (use a code element)"
|
|
240
232
|
],
|
|
241
233
|
"guidelines": [
|
|
242
|
-
"
|
|
243
|
-
"
|
|
244
|
-
"
|
|
245
|
-
"
|
|
246
|
-
"
|
|
247
|
-
"
|
|
248
|
-
"Use addedLines/removedLines for diff highlighting",
|
|
249
|
-
"Set maxHeight for very long code blocks to prevent layout issues",
|
|
250
|
-
"Use collapsible for code samples that users may want to skim",
|
|
251
|
-
"Choose a theme that matches your documentation style",
|
|
252
|
-
"Keep code examples concise and focused",
|
|
253
|
-
"Use CodeBlock.Tabbed for multi-language snippets; tabs support controlled value/onValueChange and explicit tab values"
|
|
234
|
+
"Set language every time — wrong highlighting is worse than none",
|
|
235
|
+
"filename for a real file, title for a label, caption for the aside",
|
|
236
|
+
"Line numbers earn their keep once you need to point at a line",
|
|
237
|
+
"highlightLines for emphasis; addedLines and removedLines for diffs",
|
|
238
|
+
"maxHeight or collapsible keeps a long file from swallowing the page",
|
|
239
|
+
"CodeBlock.Tabbed groups the same snippet across languages"
|
|
254
240
|
],
|
|
255
241
|
"accessibility": [
|
|
256
|
-
"
|
|
257
|
-
"
|
|
258
|
-
"
|
|
259
|
-
"Collapse button has aria-expanded state"
|
|
242
|
+
"Renders as semantic pre and code",
|
|
243
|
+
"The copy button is labelled and keyboard reachable",
|
|
244
|
+
"The collapse toggle reports aria-expanded"
|
|
260
245
|
]
|
|
261
246
|
},
|
|
262
247
|
"examples": [
|
|
263
248
|
{
|
|
264
249
|
"name": "Default",
|
|
265
|
-
"description": "
|
|
250
|
+
"description": "Pass code and language; highlighting and copy come free.",
|
|
266
251
|
"code": "<CodeBlock code={`import { Button } from '@usefragments/ui';\n\nfunction App() {\n return <Button>Click me</Button>;\n}`} language=\"tsx\" />"
|
|
267
252
|
},
|
|
268
253
|
{
|
|
269
254
|
"name": "With Filename",
|
|
270
|
-
"description": "
|
|
255
|
+
"description": "A header bar names the source file and holds the copy button.",
|
|
271
256
|
"code": "<CodeBlock filename=\"app.tsx\" code={`import { Button, Card } from '@usefragments/ui';\n\nfunction App() {\n return (\n <Card>\n <Card.Header>Welcome</Card.Header>\n <Card.Content>\n <Button>Get Started</Button>\n </Card.Content>\n </Card>\n );\n}`} language=\"tsx\" />"
|
|
272
257
|
},
|
|
273
258
|
{
|
|
274
259
|
"name": "With Title",
|
|
275
|
-
"description": "
|
|
260
|
+
"description": "A label above the block, outside the code surface.",
|
|
276
261
|
"code": "<CodeBlock title=\"Installation\" code=\"npm install @usefragments/ui\" language=\"bash\" />"
|
|
277
262
|
},
|
|
278
263
|
{
|
|
279
264
|
"name": "With Caption",
|
|
280
|
-
"description": "
|
|
265
|
+
"description": "A footer line for the aside that does not belong in the code.",
|
|
281
266
|
"code": "<CodeBlock\n code={`const API_URL = process.env.NEXT_PUBLIC_API_URL;`}\n language=\"typescript\"\n caption=\"Environment variables must be prefixed with NEXT_PUBLIC_ to be available in the browser.\"\n/>"
|
|
282
267
|
},
|
|
283
268
|
{
|
|
284
269
|
"name": "With Line Numbers",
|
|
285
|
-
"description": "
|
|
270
|
+
"description": "Turn these on once a snippet is long enough to point at.",
|
|
286
271
|
"code": "<CodeBlock code={`const greeting = \"Hello\";\nconst name = \"World\";\nconsole.log(\\`\\${greeting}, \\${name}!\\`);`} language=\"typescript\" showLineNumbers />"
|
|
287
272
|
},
|
|
288
273
|
{
|
|
289
274
|
"name": "Custom Start Line",
|
|
290
|
-
"description": "
|
|
275
|
+
"description": "Numbering starts where the excerpt actually starts in the file.",
|
|
291
276
|
"code": "<CodeBlock\n code={` return (\n <button onClick={() => setCount(c => c + 1)}>\n Count: {count}\n </button>\n );\n}`}\n language=\"tsx\"\n showLineNumbers\n startLineNumber={15}\n caption=\"Lines 15-20 from Counter.tsx\"\n/>"
|
|
292
277
|
},
|
|
293
278
|
{
|
|
294
279
|
"name": "With Highlighted Lines",
|
|
295
|
-
"description": "
|
|
280
|
+
"description": "Marks the lines the prose is talking about.",
|
|
296
281
|
"code": "<CodeBlock code={`import { useState } from 'react';\n\nfunction Counter() {\n const [count, setCount] = useState(0);\n\n return (\n <button onClick={() => setCount(c => c + 1)}>\n Count: {count}\n </button>\n );\n}`} language=\"tsx\" showLineNumbers highlightLines={[4, '7-9']} />"
|
|
297
282
|
},
|
|
298
283
|
{
|
|
299
284
|
"name": "Diff View",
|
|
300
|
-
"description": "
|
|
285
|
+
"description": "Added and removed lines, side by side with the rest.",
|
|
301
286
|
"code": "<CodeBlock\n code={`import { useState } from 'react';\nimport { useCallback } from 'react';\n\nfunction Counter() {\n const [count, setCount] = useState(0);\n const increment = () => setCount(c => c + 1);\n const increment = useCallback(() => setCount(c => c + 1), []);\n\n return <button onClick={increment}>Count: {count}</button>;\n}`}\n language=\"tsx\"\n showLineNumbers\n removedLines={[6]}\n addedLines={[2, 7]}\n/>"
|
|
302
287
|
},
|
|
303
288
|
{
|
|
304
|
-
"name": "
|
|
305
|
-
"description": "
|
|
289
|
+
"name": "Custom Theme",
|
|
290
|
+
"description": "Any Shiki theme works — pass its name to theme.",
|
|
306
291
|
"code": "<CodeBlock\n code={`async function fetchUser(id: string) {\n const response = await fetch(\\`/api/users/\\${id}\\`);\n return response.json();\n}`}\n language=\"typescript\"\n theme=\"github-dark\"\n/>"
|
|
307
292
|
},
|
|
308
|
-
{
|
|
309
|
-
"name": "GitHub Light Theme",
|
|
310
|
-
"description": "Using the GitHub Light theme for light backgrounds",
|
|
311
|
-
"code": "<CodeBlock\n code={`def fibonacci(n):\n if n <= 1:\n return n\n return fibonacci(n - 1) + fibonacci(n - 2)`}\n language=\"python\"\n theme=\"github-light\"\n/>"
|
|
312
|
-
},
|
|
313
|
-
{
|
|
314
|
-
"name": "Dracula Theme",
|
|
315
|
-
"description": "Using the popular Dracula theme",
|
|
316
|
-
"code": "<CodeBlock\n code={`fn main() {\n println!(\"Hello, Rust!\");\n}`}\n language=\"rust\"\n theme=\"dracula\"\n/>"
|
|
317
|
-
},
|
|
318
293
|
{
|
|
319
294
|
"name": "Word Wrap",
|
|
320
|
-
"description": "Long lines
|
|
295
|
+
"description": "Long lines break instead of scrolling sideways.",
|
|
321
296
|
"code": "<CodeBlock\n code={`const longString = \"This is a very long string that would normally cause horizontal scrolling, but with word wrap enabled it will break to the next line instead.\";`}\n language=\"typescript\"\n wordWrap\n/>"
|
|
322
297
|
},
|
|
323
298
|
{
|
|
324
299
|
"name": "Max Height with Scroll",
|
|
325
|
-
"description": "
|
|
300
|
+
"description": "Caps the height so one snippet cannot own the page.",
|
|
326
301
|
"code": "<CodeBlock\n code={`// This code block has a maximum height\nfunction processItems(items: string[]) {\n const results = [];\n for (const item of items) {\n if (item.startsWith('_')) {\n continue;\n }\n const processed = item.trim().toLowerCase();\n if (processed.length > 0) {\n results.push(processed);\n }\n }\n return results;\n}\n\nexport default processItems;`}\n language=\"typescript\"\n maxHeight={150}\n showLineNumbers\n/>"
|
|
327
302
|
},
|
|
328
303
|
{
|
|
329
304
|
"name": "Collapsible",
|
|
330
|
-
"description": "
|
|
305
|
+
"description": "Shows the opening lines and hides the rest behind a toggle.",
|
|
331
306
|
"code": "<CodeBlock\n code={`import React, { useState, useEffect } from 'react';\n\ninterface User {\n id: string;\n name: string;\n email: string;\n avatar?: string;\n}\n\nexport function UserProfile({ userId }: { userId: string }) {\n const [user, setUser] = useState<User | null>(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<string | null>(null);\n\n useEffect(() => {\n async function fetchUser() {\n try {\n setLoading(true);\n const response = await fetch(\\`/api/users/\\${userId}\\`);\n if (!response.ok) throw new Error('Failed to fetch');\n const data = await response.json();\n setUser(data);\n } catch (err) {\n setError(err instanceof Error ? err.message : 'Unknown error');\n } finally {\n setLoading(false);\n }\n }\n fetchUser();\n }, [userId]);\n\n if (loading) return <div>Loading...</div>;\n if (error) return <div>Error: {error}</div>;\n if (!user) return null;\n\n return (\n <div>\n <h1>{user.name}</h1>\n <p>{user.email}</p>\n </div>\n );\n}`}\n language=\"tsx\"\n showLineNumbers\n collapsible\n defaultCollapsed\n collapsedLines={8}\n/>"
|
|
332
307
|
},
|
|
333
308
|
{
|
|
334
309
|
"name": "JSON",
|
|
335
|
-
"description": "
|
|
310
|
+
"description": "Config files highlight the same way source does.",
|
|
336
311
|
"code": "<CodeBlock title=\"package.json\" code={`{\n \"name\": \"my-app\",\n \"dependencies\": {\n \"@usefragments/ui\": \"^0.3.0\"\n }\n}`} language=\"json\" />"
|
|
337
312
|
},
|
|
338
313
|
{
|
|
339
314
|
"name": "Without Copy Button",
|
|
340
|
-
"description": "
|
|
315
|
+
"description": "Drop the copy button when the snippet is not meant to be reused.",
|
|
341
316
|
"code": "<CodeBlock code=\"const simple = true;\" language=\"typescript\" showCopy={false} />"
|
|
342
317
|
}
|
|
343
318
|
],
|
|
@@ -357,7 +332,7 @@
|
|
|
357
332
|
"propsSummary": [
|
|
358
333
|
"code: string - required code content",
|
|
359
334
|
"language: tsx|typescript|javascript|jsx|bash|shell|css|scss|sass|json|html|xml|markdown|md|yaml|yml|python|py|ruby|go|rust|java|kotlin|swift|c|cpp|csharp|php|sql|graphql|diff|plaintext",
|
|
360
|
-
"theme: synthwave-84|github-dark|github-light|one-dark-pro|dracula|nord|monokai|vitesse-dark|vitesse-light|min-dark|min-light (default:
|
|
335
|
+
"theme: css-variables|synthwave-84|github-dark|github-light|one-dark-pro|dracula|nord|monokai|vitesse-dark|vitesse-light|min-dark|min-light (default: css-variables)",
|
|
361
336
|
"showCopy: boolean (default: true)",
|
|
362
337
|
"copyPlacement: auto|header|overlay (default: auto)",
|
|
363
338
|
"title: string - optional external label",
|
|
@@ -373,18 +348,13 @@
|
|
|
373
348
|
"collapsible: boolean (default: false)",
|
|
374
349
|
"defaultCollapsed: boolean (default: false)",
|
|
375
350
|
"collapsedLines: number (default: 5)",
|
|
376
|
-
"CodeBlock.Tabbed: tabs[] plus optional defaultTab/value/onValueChange for multi-language snippets"
|
|
351
|
+
"CodeBlock.Tabbed: tabs[] plus optional defaultTab/value/onValueChange for multi-language snippets; collapsible/defaultCollapsed/collapsedLines forward to every panel"
|
|
377
352
|
],
|
|
378
|
-
"a11yRules": [
|
|
379
|
-
"A11Y_CODE_SEMANTIC",
|
|
380
|
-
"A11Y_BTN_LABEL"
|
|
381
|
-
]
|
|
353
|
+
"a11yRules": ["A11Y_CODE_SEMANTIC", "A11Y_BTN_LABEL"]
|
|
382
354
|
},
|
|
383
355
|
"ai": {
|
|
384
356
|
"compositionPattern": "compound",
|
|
385
|
-
"subComponents": [
|
|
386
|
-
"Tabbed"
|
|
387
|
-
]
|
|
357
|
+
"subComponents": ["Tabbed"]
|
|
388
358
|
},
|
|
389
359
|
"provenance": {
|
|
390
360
|
"source": "migrated",
|