@heymantle/litho 0.0.15 → 0.0.16
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/AI_COMPONENTS_GUIDE.md +28 -15
- package/AI_INTEGRATION_GUIDE.md +3 -3
- package/AI_PATTERNS_GUIDE.md +59 -25
- package/COMPONENT_QUICK_REFERENCE.md +3 -3
- package/dist/cjs/components/ActionList.js +33 -25
- package/dist/cjs/components/AnnouncementBar.js +115 -18
- package/dist/cjs/components/AnnouncementCard.js +269 -0
- package/dist/cjs/components/AppProvider.js +15 -2
- package/dist/cjs/components/Autocomplete.js +58 -36
- package/dist/cjs/components/Badge.js +28 -14
- package/dist/cjs/components/Banner.js +37 -27
- package/dist/cjs/components/Box.js +50 -38
- package/dist/cjs/components/Button.js +338 -109
- package/dist/cjs/components/ButtonGroup.js +27 -14
- package/dist/cjs/components/Card.js +311 -143
- package/dist/cjs/components/Checkbox.js +55 -47
- package/dist/cjs/components/CheckboxCard.js +222 -0
- package/dist/cjs/components/CheckboxCardGroup.js +384 -0
- package/dist/cjs/components/ChoiceList.js +21 -11
- package/dist/cjs/components/Code.js +22 -8
- package/dist/cjs/components/Collapsible.js +24 -11
- package/dist/cjs/components/ColorField.js +163 -38
- package/dist/cjs/components/ContextualSaveBar.js +13 -6
- package/dist/cjs/components/DatePicker.js +48 -37
- package/dist/cjs/components/Disclosure.js +35 -22
- package/dist/cjs/components/Divider.js +82 -18
- package/dist/cjs/components/DropZone.js +111 -37
- package/dist/cjs/components/EmptyState.js +18 -6
- package/dist/cjs/components/Filters.js +84 -36
- package/dist/cjs/components/FooterHelp.js +14 -4
- package/dist/cjs/components/Form.js +13 -2
- package/dist/cjs/components/Frame.js +57 -22
- package/dist/cjs/components/FrameSaveBar.js +37 -6
- package/dist/cjs/components/Grid.js +31 -15
- package/dist/cjs/components/HorizontalStack.js +38 -25
- package/dist/cjs/components/Icon.js +683 -61
- package/dist/cjs/components/Image.js +35 -22
- package/dist/cjs/components/InlineError.js +19 -10
- package/dist/cjs/components/Label.js +21 -12
- package/dist/cjs/components/Layout.js +33 -24
- package/dist/cjs/components/LayoutSection.js +84 -22
- package/dist/cjs/components/Link.js +35 -22
- package/dist/cjs/components/List.js +28 -12
- package/dist/cjs/components/Listbox.js +53 -31
- package/dist/cjs/components/Loading.js +14 -2
- package/dist/cjs/components/Modal.js +22 -40
- package/dist/cjs/components/Navigation.js +107 -36
- package/dist/cjs/components/Page.js +44 -31
- package/dist/cjs/components/Pagination.js +20 -5
- package/dist/cjs/components/Pane.js +67 -4
- package/dist/cjs/components/Popover.js +37 -21
- package/dist/cjs/components/PopoverManager.js +14 -1
- package/dist/cjs/components/ProgressBar.js +28 -15
- package/dist/cjs/components/RadioButton.js +32 -24
- package/dist/cjs/components/RadioButtonCard.js +92 -67
- package/dist/cjs/components/RadioButtonCardGroup.js +379 -0
- package/dist/cjs/components/RangeSlider.js +34 -26
- package/dist/cjs/components/ResourceList.js +28 -14
- package/dist/cjs/components/Select.js +38 -26
- package/dist/cjs/components/SkeletonText.js +33 -18
- package/dist/cjs/components/Spinner.js +24 -12
- package/dist/cjs/components/Stack.js +131 -71
- package/dist/cjs/components/TabNavigation.js +27 -1
- package/dist/cjs/components/Table.js +58 -18
- package/dist/cjs/components/Tabs.js +52 -23
- package/dist/cjs/components/Tag.js +37 -16
- package/dist/cjs/components/Text.js +32 -18
- package/dist/cjs/components/TextField.js +119 -69
- package/dist/cjs/components/Thumbnail.js +25 -11
- package/dist/cjs/components/TimePicker.js +22 -1
- package/dist/cjs/components/Tip.js +140 -25
- package/dist/cjs/components/ToastNotification.js +107 -34
- package/dist/cjs/components/ToastProvider.js +13 -3
- package/dist/cjs/components/Tooltip.js +50 -41
- package/dist/cjs/components/TopBar.js +83 -9
- package/dist/cjs/components/VerticalStack.js +31 -16
- package/dist/cjs/index.js +24 -0
- package/dist/cjs/stories/Autocomplete.stories.js +10 -10
- package/dist/cjs/stories/Checkbox.stories.js +6 -8
- package/dist/cjs/stories/CheckboxCardGroup.stories.js +459 -0
- package/dist/cjs/stories/Collapsible.stories.js +11 -11
- package/dist/cjs/stories/ColorField.stories.js +2 -3
- package/dist/cjs/stories/ComplexExamples.stories.js +48 -77
- package/dist/cjs/stories/ContextualSaveBar.stories.js +1 -1
- package/dist/cjs/stories/Divider.stories.js +15 -16
- package/dist/cjs/stories/DropZone.stories.js +3 -3
- package/dist/cjs/stories/FooterHelp.stories.js +3 -4
- package/dist/cjs/stories/Form.stories.js +2 -4
- package/dist/cjs/stories/Grid.stories.js +24 -33
- package/dist/cjs/stories/Icon.stories.js +22 -23
- package/dist/cjs/stories/Image.stories.js +12 -15
- package/dist/cjs/stories/InlineError.stories.js +0 -1
- package/dist/cjs/stories/Layout.stories.js +96 -2
- package/dist/cjs/stories/LayoutSection.stories.js +13 -18
- package/dist/cjs/stories/List.stories.js +24 -28
- package/dist/cjs/stories/Listbox.stories.js +2 -2
- package/dist/cjs/stories/Loading.stories.js +21 -25
- package/dist/cjs/stories/Modal.stories.js +0 -1
- package/dist/cjs/stories/Pagination.stories.js +4 -4
- package/dist/cjs/stories/Pane.stories.js +10 -18
- package/dist/cjs/stories/Popover.stories.js +7 -7
- package/dist/cjs/stories/PopoverManager.stories.js +9 -9
- package/dist/cjs/stories/ProgressBar.stories.js +8 -8
- package/dist/cjs/stories/RadioButton.stories.js +2 -2
- package/dist/cjs/stories/RadioButtonCard.stories.js +2 -2
- package/dist/cjs/stories/RadioButtonCardGroup.stories.js +502 -0
- package/dist/cjs/stories/RangeSlider.stories.js +1 -3
- package/dist/cjs/stories/ResourceList.stories.js +13 -13
- package/dist/cjs/stories/Spinner.stories.js +9 -9
- package/dist/cjs/stories/Stack.stories.js +233 -51
- package/dist/cjs/stories/Tabs.stories.js +2 -2
- package/dist/cjs/stories/Tag.stories.js +1 -1
- package/dist/cjs/stories/Thumbnail.stories.js +17 -18
- package/dist/cjs/stories/TimePicker.stories.js +0 -5
- package/dist/cjs/stories/Tip.stories.js +1 -1
- package/dist/esm/components/ActionList.js +33 -25
- package/dist/esm/components/AnnouncementBar.js +115 -18
- package/dist/esm/components/AnnouncementCard.js +254 -0
- package/dist/esm/components/AppProvider.js +15 -2
- package/dist/esm/components/Autocomplete.js +58 -36
- package/dist/esm/components/Badge.js +28 -14
- package/dist/esm/components/Banner.js +37 -27
- package/dist/esm/components/Box.js +50 -38
- package/dist/esm/components/Button.js +338 -109
- package/dist/esm/components/ButtonGroup.js +27 -14
- package/dist/esm/components/Card.js +300 -140
- package/dist/esm/components/Checkbox.js +55 -47
- package/dist/esm/components/CheckboxCard.js +207 -0
- package/dist/esm/components/CheckboxCardGroup.js +370 -0
- package/dist/esm/components/ChoiceList.js +21 -11
- package/dist/esm/components/Code.js +22 -8
- package/dist/esm/components/Collapsible.js +24 -11
- package/dist/esm/components/ColorField.js +165 -40
- package/dist/esm/components/ContextualSaveBar.js +13 -6
- package/dist/esm/components/DatePicker.js +48 -37
- package/dist/esm/components/Disclosure.js +35 -22
- package/dist/esm/components/Divider.js +78 -20
- package/dist/esm/components/DropZone.js +111 -37
- package/dist/esm/components/EmptyState.js +18 -6
- package/dist/esm/components/Filters.js +84 -36
- package/dist/esm/components/FooterHelp.js +14 -4
- package/dist/esm/components/Form.js +13 -2
- package/dist/esm/components/Frame.js +57 -22
- package/dist/esm/components/FrameSaveBar.js +37 -6
- package/dist/esm/components/Grid.js +31 -15
- package/dist/esm/components/HorizontalStack.js +38 -25
- package/dist/esm/components/Icon.js +681 -62
- package/dist/esm/components/Image.js +35 -22
- package/dist/esm/components/InlineError.js +19 -10
- package/dist/esm/components/Label.js +21 -12
- package/dist/esm/components/Layout.js +58 -25
- package/dist/esm/components/LayoutSection.js +84 -22
- package/dist/esm/components/Link.js +35 -22
- package/dist/esm/components/List.js +28 -12
- package/dist/esm/components/Listbox.js +53 -31
- package/dist/esm/components/Loading.js +14 -2
- package/dist/esm/components/Modal.js +69 -41
- package/dist/esm/components/Navigation.js +107 -36
- package/dist/esm/components/Page.js +44 -31
- package/dist/esm/components/Pagination.js +20 -5
- package/dist/esm/components/Pane.js +67 -4
- package/dist/esm/components/Popover.js +37 -21
- package/dist/esm/components/PopoverManager.js +14 -1
- package/dist/esm/components/ProgressBar.js +28 -15
- package/dist/esm/components/RadioButton.js +32 -24
- package/dist/esm/components/RadioButtonCard.js +92 -67
- package/dist/esm/components/RadioButtonCardGroup.js +364 -0
- package/dist/esm/components/RangeSlider.js +34 -26
- package/dist/esm/components/ResourceList.js +28 -14
- package/dist/esm/components/Select.js +38 -26
- package/dist/esm/components/SkeletonText.js +33 -18
- package/dist/esm/components/Spinner.js +24 -12
- package/dist/esm/components/Stack.js +131 -71
- package/dist/esm/components/TabNavigation.js +27 -1
- package/dist/esm/components/Table.js +58 -18
- package/dist/esm/components/Tabs.js +52 -23
- package/dist/esm/components/Tag.js +37 -16
- package/dist/esm/components/Text.js +32 -18
- package/dist/esm/components/TextField.js +119 -69
- package/dist/esm/components/Thumbnail.js +25 -11
- package/dist/esm/components/TimePicker.js +22 -1
- package/dist/esm/components/Tip.js +140 -25
- package/dist/esm/components/ToastNotification.js +107 -34
- package/dist/esm/components/ToastProvider.js +13 -3
- package/dist/esm/components/Tooltip.js +50 -41
- package/dist/esm/components/TopBar.js +83 -9
- package/dist/esm/components/VerticalStack.js +31 -16
- package/dist/esm/index.js +6 -0
- package/dist/esm/stories/Autocomplete.stories.js +10 -10
- package/dist/esm/stories/Checkbox.stories.js +6 -8
- package/dist/esm/stories/CheckboxCardGroup.stories.js +421 -0
- package/dist/esm/stories/Collapsible.stories.js +11 -11
- package/dist/esm/stories/ColorField.stories.js +2 -3
- package/dist/esm/stories/ComplexExamples.stories.js +48 -77
- package/dist/esm/stories/ContextualSaveBar.stories.js +1 -1
- package/dist/esm/stories/Divider.stories.js +15 -16
- package/dist/esm/stories/DropZone.stories.js +3 -3
- package/dist/esm/stories/FooterHelp.stories.js +3 -4
- package/dist/esm/stories/Form.stories.js +2 -4
- package/dist/esm/stories/Grid.stories.js +24 -33
- package/dist/esm/stories/Icon.stories.js +22 -23
- package/dist/esm/stories/Image.stories.js +12 -15
- package/dist/esm/stories/InlineError.stories.js +0 -1
- package/dist/esm/stories/Layout.stories.js +93 -2
- package/dist/esm/stories/LayoutSection.stories.js +13 -18
- package/dist/esm/stories/List.stories.js +24 -28
- package/dist/esm/stories/Listbox.stories.js +2 -2
- package/dist/esm/stories/Loading.stories.js +21 -25
- package/dist/esm/stories/Modal.stories.js +0 -1
- package/dist/esm/stories/Pagination.stories.js +4 -4
- package/dist/esm/stories/Pane.stories.js +10 -18
- package/dist/esm/stories/Popover.stories.js +7 -7
- package/dist/esm/stories/PopoverManager.stories.js +9 -9
- package/dist/esm/stories/ProgressBar.stories.js +8 -8
- package/dist/esm/stories/RadioButton.stories.js +2 -2
- package/dist/esm/stories/RadioButtonCard.stories.js +2 -2
- package/dist/esm/stories/RadioButtonCardGroup.stories.js +461 -0
- package/dist/esm/stories/RangeSlider.stories.js +1 -3
- package/dist/esm/stories/ResourceList.stories.js +13 -13
- package/dist/esm/stories/Spinner.stories.js +9 -9
- package/dist/esm/stories/Stack.stories.js +224 -51
- package/dist/esm/stories/Tabs.stories.js +2 -2
- package/dist/esm/stories/Tag.stories.js +1 -1
- package/dist/esm/stories/Thumbnail.stories.js +17 -18
- package/dist/esm/stories/TimePicker.stories.js +0 -5
- package/dist/esm/stories/Tip.stories.js +1 -1
- package/dist/types/components/ActionList.d.ts +1 -31
- package/dist/types/components/ActionList.d.ts.map +1 -1
- package/dist/types/components/AnnouncementBar.d.ts +1 -19
- package/dist/types/components/AnnouncementBar.d.ts.map +1 -1
- package/dist/types/components/AnnouncementCard.d.ts +3 -0
- package/dist/types/components/AnnouncementCard.d.ts.map +1 -0
- package/dist/types/components/AppProvider.d.ts +14 -1
- package/dist/types/components/AppProvider.d.ts.map +1 -1
- package/dist/types/components/Autocomplete.d.ts +1 -71
- package/dist/types/components/Autocomplete.d.ts.map +1 -1
- package/dist/types/components/Badge.d.ts +1 -19
- package/dist/types/components/Badge.d.ts.map +1 -1
- package/dist/types/components/Banner.d.ts +1 -37
- package/dist/types/components/Banner.d.ts.map +1 -1
- package/dist/types/components/Box.d.ts +1 -68
- package/dist/types/components/Box.d.ts.map +1 -1
- package/dist/types/components/Button.d.ts +1 -131
- package/dist/types/components/Button.d.ts.map +1 -1
- package/dist/types/components/ButtonGroup.d.ts +1 -22
- package/dist/types/components/ButtonGroup.d.ts.map +1 -1
- package/dist/types/components/Card.d.ts +54 -59
- package/dist/types/components/Card.d.ts.map +1 -1
- package/dist/types/components/Checkbox.d.ts +1 -63
- package/dist/types/components/Checkbox.d.ts.map +1 -1
- package/dist/types/components/CheckboxCard.d.ts +3 -0
- package/dist/types/components/CheckboxCard.d.ts.map +1 -0
- package/dist/types/components/CheckboxCardGroup.d.ts +3 -0
- package/dist/types/components/CheckboxCardGroup.d.ts.map +1 -0
- package/dist/types/components/ChoiceList.d.ts +1 -42
- package/dist/types/components/ChoiceList.d.ts.map +1 -1
- package/dist/types/components/Code.d.ts +1 -26
- package/dist/types/components/Code.d.ts.map +1 -1
- package/dist/types/components/Collapsible.d.ts +1 -15
- package/dist/types/components/Collapsible.d.ts.map +1 -1
- package/dist/types/components/ColorField.d.ts +13 -34
- package/dist/types/components/ColorField.d.ts.map +1 -1
- package/dist/types/components/ContextualSaveBar.d.ts +13 -6
- package/dist/types/components/ContextualSaveBar.d.ts.map +1 -1
- package/dist/types/components/DatePicker.d.ts +1 -64
- package/dist/types/components/DatePicker.d.ts.map +1 -1
- package/dist/types/components/Disclosure.d.ts +1 -25
- package/dist/types/components/Disclosure.d.ts.map +1 -1
- package/dist/types/components/Divider.d.ts +1 -19
- package/dist/types/components/Divider.d.ts.map +1 -1
- package/dist/types/components/DropZone.d.ts +1 -62
- package/dist/types/components/DropZone.d.ts.map +1 -1
- package/dist/types/components/EmptyState.d.ts +1 -50
- package/dist/types/components/EmptyState.d.ts.map +1 -1
- package/dist/types/components/Filters.d.ts +13 -68
- package/dist/types/components/Filters.d.ts.map +1 -1
- package/dist/types/components/FooterHelp.d.ts +14 -4
- package/dist/types/components/FooterHelp.d.ts.map +1 -1
- package/dist/types/components/Form.d.ts +13 -2
- package/dist/types/components/Form.d.ts.map +1 -1
- package/dist/types/components/Frame.d.ts +15 -36
- package/dist/types/components/Frame.d.ts.map +1 -1
- package/dist/types/components/FrameSaveBar.d.ts +3 -6
- package/dist/types/components/FrameSaveBar.d.ts.map +1 -1
- package/dist/types/components/Grid.d.ts +5 -21
- package/dist/types/components/Grid.d.ts.map +1 -1
- package/dist/types/components/HorizontalStack.d.ts +1 -34
- package/dist/types/components/HorizontalStack.d.ts.map +1 -1
- package/dist/types/components/Icon.d.ts +1 -41
- package/dist/types/components/Icon.d.ts.map +1 -1
- package/dist/types/components/Image.d.ts +1 -43
- package/dist/types/components/Image.d.ts.map +1 -1
- package/dist/types/components/InlineError.d.ts +1 -20
- package/dist/types/components/InlineError.d.ts.map +1 -1
- package/dist/types/components/Label.d.ts +1 -26
- package/dist/types/components/Label.d.ts.map +1 -1
- package/dist/types/components/Layout.d.ts +24 -15
- package/dist/types/components/Layout.d.ts.map +1 -1
- package/dist/types/components/LayoutSection.d.ts +1 -19
- package/dist/types/components/LayoutSection.d.ts.map +1 -1
- package/dist/types/components/Link.d.ts +1 -37
- package/dist/types/components/Link.d.ts.map +1 -1
- package/dist/types/components/List.d.ts +5 -17
- package/dist/types/components/List.d.ts.map +1 -1
- package/dist/types/components/Listbox.d.ts +1 -32
- package/dist/types/components/Listbox.d.ts.map +1 -1
- package/dist/types/components/Loading.d.ts +14 -2
- package/dist/types/components/Loading.d.ts.map +1 -1
- package/dist/types/components/Modal.d.ts +26 -35
- package/dist/types/components/Modal.d.ts.map +1 -1
- package/dist/types/components/Navigation.d.ts +1 -25
- package/dist/types/components/Navigation.d.ts.map +1 -1
- package/dist/types/components/Page.d.ts +1 -57
- package/dist/types/components/Page.d.ts.map +1 -1
- package/dist/types/components/Pagination.d.ts +13 -3
- package/dist/types/components/Pagination.d.ts.map +1 -1
- package/dist/types/components/Pane.d.ts +55 -3
- package/dist/types/components/Pane.d.ts.map +1 -1
- package/dist/types/components/Popover.d.ts +5 -37
- package/dist/types/components/Popover.d.ts.map +1 -1
- package/dist/types/components/PopoverManager.d.ts.map +1 -1
- package/dist/types/components/ProgressBar.d.ts +1 -22
- package/dist/types/components/ProgressBar.d.ts.map +1 -1
- package/dist/types/components/RadioButton.d.ts +1 -37
- package/dist/types/components/RadioButton.d.ts.map +1 -1
- package/dist/types/components/RadioButtonCard.d.ts +1 -39
- package/dist/types/components/RadioButtonCard.d.ts.map +1 -1
- package/dist/types/components/RadioButtonCardGroup.d.ts +3 -0
- package/dist/types/components/RadioButtonCardGroup.d.ts.map +1 -0
- package/dist/types/components/RangeSlider.d.ts +1 -42
- package/dist/types/components/RangeSlider.d.ts.map +1 -1
- package/dist/types/components/ResourceList.d.ts +5 -30
- package/dist/types/components/ResourceList.d.ts.map +1 -1
- package/dist/types/components/Select.d.ts +1 -46
- package/dist/types/components/Select.d.ts.map +1 -1
- package/dist/types/components/SkeletonText.d.ts +1 -26
- package/dist/types/components/SkeletonText.d.ts.map +1 -1
- package/dist/types/components/Spinner.d.ts +1 -16
- package/dist/types/components/Spinner.d.ts.map +1 -1
- package/dist/types/components/Stack.d.ts +1 -47
- package/dist/types/components/Stack.d.ts.map +1 -1
- package/dist/types/components/TabNavigation.d.ts.map +1 -1
- package/dist/types/components/Table.d.ts +13 -58
- package/dist/types/components/Table.d.ts.map +1 -1
- package/dist/types/components/Tabs.d.ts +3 -41
- package/dist/types/components/Tabs.d.ts.map +1 -1
- package/dist/types/components/Tag.d.ts +1 -24
- package/dist/types/components/Tag.d.ts.map +1 -1
- package/dist/types/components/Text.d.ts +1 -30
- package/dist/types/components/Text.d.ts.map +1 -1
- package/dist/types/components/TextField.d.ts +1 -109
- package/dist/types/components/TextField.d.ts.map +1 -1
- package/dist/types/components/Thumbnail.d.ts +1 -16
- package/dist/types/components/Thumbnail.d.ts.map +1 -1
- package/dist/types/components/TimePicker.d.ts +28 -1
- package/dist/types/components/TimePicker.d.ts.map +1 -1
- package/dist/types/components/Tip.d.ts +1 -21
- package/dist/types/components/Tip.d.ts.map +1 -1
- package/dist/types/components/ToastNotification.d.ts +1 -34
- package/dist/types/components/ToastNotification.d.ts.map +1 -1
- package/dist/types/components/ToastProvider.d.ts +13 -3
- package/dist/types/components/ToastProvider.d.ts.map +1 -1
- package/dist/types/components/Tooltip.d.ts +1 -54
- package/dist/types/components/Tooltip.d.ts.map +1 -1
- package/dist/types/components/TopBar.d.ts +1 -19
- package/dist/types/components/TopBar.d.ts.map +1 -1
- package/dist/types/components/VerticalStack.d.ts +1 -25
- package/dist/types/components/VerticalStack.d.ts.map +1 -1
- package/dist/types/index.d.ts +6 -0
- package/index.css +76 -14
- package/package.json +4 -3
|
@@ -5,54 +5,20 @@ import Icon from "./Icon.js";
|
|
|
5
5
|
import Label from "./Label.js";
|
|
6
6
|
import Text from "./Text.js";
|
|
7
7
|
import { TickMinor, MinusMajor } from "@shopify/polaris-icons";
|
|
8
|
-
var styles = tv({
|
|
9
|
-
base: "Litho-Checkbox group flex gap-2 py-1",
|
|
10
|
-
variants: {
|
|
11
|
-
disabled: {
|
|
12
|
-
false: "cursor-pointer"
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
var checkboxStyles = tv({
|
|
17
|
-
base: "Litho-Checkbox__Control w-4.5 h-4.5 pt-px rounded-sm border flex items-center justify-center",
|
|
18
|
-
variants: {
|
|
19
|
-
disabled: {
|
|
20
|
-
true: "bg-form-bg-disabled border-form-border"
|
|
21
|
-
}
|
|
22
|
-
},
|
|
23
|
-
compoundVariants: [
|
|
24
|
-
{
|
|
25
|
-
hasError: true,
|
|
26
|
-
disabled: false,
|
|
27
|
-
checked: false,
|
|
28
|
-
class: "bg-form-bg-error border-form-border-error hover:bg-form-bg-error-low hover:ring hover:ring-form-focus-error"
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
hasError: true,
|
|
32
|
-
disabled: false,
|
|
33
|
-
checked: true,
|
|
34
|
-
class: "bg-critical border-form-border-error hover:ring hover:ring-form-focus-error"
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
hasError: false,
|
|
38
|
-
disabled: false,
|
|
39
|
-
checked: false,
|
|
40
|
-
class: "bg-form-bg border-form-border hover:border-form-border-focus hover:ring hover:ring-form-focus"
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
hasError: false,
|
|
44
|
-
disabled: false,
|
|
45
|
-
checked: true,
|
|
46
|
-
class: "bg-form-accent border-form-border-focus hover:border-form-border-focus hover:ring hover:ring-form-focus"
|
|
47
|
-
}
|
|
48
|
-
]
|
|
49
|
-
});
|
|
50
8
|
/**
|
|
51
|
-
* Checkbox
|
|
9
|
+
* @component Checkbox
|
|
10
|
+
*
|
|
11
|
+
* @description A boolean toggle input rendered as a checkbox with label, help text, and error state.
|
|
52
12
|
*
|
|
53
|
-
*
|
|
13
|
+
* @usage
|
|
14
|
+
* - DO: Use for toggling a single boolean option or within a group for multi-select.
|
|
15
|
+
* - DON'T: Use for mutually exclusive options (use RadioButton).
|
|
54
16
|
*
|
|
55
|
-
* @
|
|
17
|
+
* @accessibility
|
|
18
|
+
* - Always provide a `label` prop associated with the checkbox input. Supports keyboard toggling via Space key.
|
|
19
|
+
*
|
|
20
|
+
* @alternative
|
|
21
|
+
* - If you need a rich card-style checkbox, use `CheckboxCard`. If you need grouped options, use `ChoiceList`.
|
|
56
22
|
*
|
|
57
23
|
* @param {Object} props - Props for the Checkbox component.
|
|
58
24
|
* @param {string|React.ReactNode} [props.label] - The label for the checkbox. Can be a string or a React element (e.g., text with a badge).
|
|
@@ -88,11 +54,53 @@ var checkboxStyles = tv({
|
|
|
88
54
|
* @example
|
|
89
55
|
* // With React element label (e.g., text with badge)
|
|
90
56
|
* <Checkbox
|
|
91
|
-
* label={<Stack horizontal gap="xs"
|
|
57
|
+
* label={<Stack horizontal gap="xs" align="center"><span>Premium Feature</span><Badge>Pro</Badge></Stack>}
|
|
92
58
|
* checked={false}
|
|
93
59
|
* onChange={(checked) => console.log('Checkbox changed:', checked)}
|
|
94
60
|
* />
|
|
95
|
-
*/
|
|
61
|
+
*/ var styles = tv({
|
|
62
|
+
base: "Litho-Checkbox group flex gap-2 py-1",
|
|
63
|
+
variants: {
|
|
64
|
+
disabled: {
|
|
65
|
+
false: "cursor-pointer"
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
var checkboxStyles = tv({
|
|
70
|
+
base: "Litho-Checkbox__Control w-4.5 h-4.5 pt-px rounded-sm border flex items-center justify-center",
|
|
71
|
+
variants: {
|
|
72
|
+
disabled: {
|
|
73
|
+
true: "bg-form-bg-disabled border-form-border"
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
compoundVariants: [
|
|
77
|
+
{
|
|
78
|
+
hasError: true,
|
|
79
|
+
disabled: false,
|
|
80
|
+
checked: false,
|
|
81
|
+
class: "bg-form-bg-error border-form-border-error hover:bg-form-bg-error-low hover:ring hover:ring-form-focus-error"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
hasError: true,
|
|
85
|
+
disabled: false,
|
|
86
|
+
checked: true,
|
|
87
|
+
class: "bg-critical border-form-border-error hover:ring hover:ring-form-focus-error"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
hasError: false,
|
|
91
|
+
disabled: false,
|
|
92
|
+
checked: false,
|
|
93
|
+
class: "bg-form-bg border-form-border hover:border-form-border-focus hover:ring hover:ring-form-focus"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
hasError: false,
|
|
97
|
+
disabled: false,
|
|
98
|
+
checked: true,
|
|
99
|
+
class: "bg-form-accent border-form-border-focus hover:border-form-border-focus hover:ring hover:ring-form-focus"
|
|
100
|
+
}
|
|
101
|
+
]
|
|
102
|
+
});
|
|
103
|
+
function Checkbox() {
|
|
96
104
|
var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
97
105
|
var label = props.label, tooltip = props.tooltip, labelHidden = props.labelHidden, id = props.id, name = props.name, value = props.value, error = props.error, tmp = props.checked, _checked = tmp === void 0 ? false : tmp, _props_indeterminate = props.indeterminate, indeterminate = _props_indeterminate === void 0 ? false : _props_indeterminate, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, helpText = props.helpText, onChange = props.onChange, onFocus = props.onFocus, onBlur = props.onBlur, className = props.className;
|
|
98
106
|
var checked = !!_checked;
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { tv } from "tailwind-variants";
|
|
3
|
+
import { isValidElement } from "react";
|
|
4
|
+
import Icon from "./Icon.js";
|
|
5
|
+
import Text from "./Text.js";
|
|
6
|
+
import Label from "./Label.js";
|
|
7
|
+
import { TickMinor } from "@shopify/polaris-icons";
|
|
8
|
+
/**
|
|
9
|
+
* @component CheckboxCard
|
|
10
|
+
*
|
|
11
|
+
* @description A card-styled checkbox input that displays a title, description, and optional children within a selectable card container.
|
|
12
|
+
*
|
|
13
|
+
* @usage
|
|
14
|
+
* - DO: Use for visually prominent boolean selections with descriptive content.
|
|
15
|
+
* - DON'T: Use for simple inline toggles (use Checkbox).
|
|
16
|
+
*
|
|
17
|
+
* @accessibility
|
|
18
|
+
* - The entire card is clickable and keyboard accessible; ensure title clearly describes the option.
|
|
19
|
+
*
|
|
20
|
+
* @alternative
|
|
21
|
+
* - If you need a simple inline checkbox, use `Checkbox`. If you need a radio-style card, use `RadioButtonCard`.
|
|
22
|
+
*
|
|
23
|
+
* @param {Object} props - Props for the CheckboxCard component.
|
|
24
|
+
* @param {string|React.ReactNode} [props.label] - The text label for the checkbox. Can be a string or a React element.
|
|
25
|
+
* @param {boolean} [props.labelHidden=false] - If true, hides the label visually but keeps it available for screen readers.
|
|
26
|
+
* @param {string} [props.id] - The unique identifier for the checkbox input.
|
|
27
|
+
* @param {string} [props.name] - The name attribute for the checkbox input.
|
|
28
|
+
* @param {string} [props.description] - A description of the checkbox.
|
|
29
|
+
* @param {string} [props.value] - The value attribute for the checkbox input.
|
|
30
|
+
* @param {string} [props.error] - An error message associated with the checkbox, if any.
|
|
31
|
+
* @param {boolean} [props.checked=false] - Indicates whether the checkbox is checked.
|
|
32
|
+
* @param {boolean} [props.disabled=false] - Indicates whether the checkbox is disabled.
|
|
33
|
+
* @param {string} [props.helpText] - Additional descriptive text for the checkbox.
|
|
34
|
+
* @param {React.ReactNode|import("./Tooltip").TooltipContentObject} [props.tooltip] - Tooltip content for the checkbox label.
|
|
35
|
+
* @param {"left"|"right"} [props.checkboxPosition="left"] - Position of the checkbox relative to the label.
|
|
36
|
+
* @param {function} [props.onChange] - Callback function called when the checkbox state changes.
|
|
37
|
+
* @param {function} [props.onFocus] - Callback function called when the checkbox gains focus.
|
|
38
|
+
* @param {function} [props.onBlur] - Callback function called when the checkbox loses focus.
|
|
39
|
+
*
|
|
40
|
+
* @returns {JSX.Element} The rendered CheckboxCard component.
|
|
41
|
+
*/ var styles = tv({
|
|
42
|
+
base: "Litho-CheckboxCardContainer border border-transparent rounded-lg p-3 flex gap-2 hover:border-form-border-focus hover:ring hover:ring-form-focus",
|
|
43
|
+
variants: {
|
|
44
|
+
disabled: {
|
|
45
|
+
true: "bg-tint-1",
|
|
46
|
+
false: "cursor-pointer"
|
|
47
|
+
},
|
|
48
|
+
checked: {
|
|
49
|
+
true: "",
|
|
50
|
+
false: "border-edge-subdued"
|
|
51
|
+
},
|
|
52
|
+
checkboxPosition: {
|
|
53
|
+
left: "pr-4",
|
|
54
|
+
right: "pl-4 justify-between"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
compoundVariants: [
|
|
58
|
+
{
|
|
59
|
+
disabled: false,
|
|
60
|
+
checked: true,
|
|
61
|
+
class: "border-form-border-focus bg-surface-selected"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
disabled: false,
|
|
65
|
+
checked: false,
|
|
66
|
+
class: ""
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
defaultVariants: {
|
|
70
|
+
checkboxPosition: "left"
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
var checkboxStyles = tv({
|
|
74
|
+
base: "Litho-Checkbox__Control w-4.5 h-4.5 pt-px rounded-sm border flex items-center justify-center",
|
|
75
|
+
variants: {
|
|
76
|
+
disabled: {
|
|
77
|
+
true: "bg-form-bg-disabled border-form-border"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
compoundVariants: [
|
|
81
|
+
{
|
|
82
|
+
hasError: true,
|
|
83
|
+
disabled: false,
|
|
84
|
+
checked: false,
|
|
85
|
+
class: "bg-form-bg-error border-form-border-error hover:bg-form-bg-error-low hover:ring hover:ring-form-focus-error"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
hasError: true,
|
|
89
|
+
disabled: false,
|
|
90
|
+
checked: true,
|
|
91
|
+
class: "bg-critical border-form-border-error hover:ring hover:ring-form-focus-error"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
hasError: false,
|
|
95
|
+
disabled: false,
|
|
96
|
+
checked: false,
|
|
97
|
+
class: "bg-form-bg border-form-border hover:border-form-border-focus hover:ring hover:ring-form-focus"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
hasError: false,
|
|
101
|
+
disabled: false,
|
|
102
|
+
checked: true,
|
|
103
|
+
class: "bg-form-accent border-form-border-focus hover:border-form-border-focus hover:ring hover:ring-form-focus"
|
|
104
|
+
}
|
|
105
|
+
]
|
|
106
|
+
});
|
|
107
|
+
function CheckboxCard() {
|
|
108
|
+
var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
109
|
+
var label = props.label, tooltip = props.tooltip, labelHidden = props.labelHidden, id = props.id, name = props.name, description = props.description, value = props.value, error = props.error, tmp = props.checked, _checked = tmp === void 0 ? false : tmp, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, helpText = props.helpText, _props_checkboxPosition = props.checkboxPosition, checkboxPosition = _props_checkboxPosition === void 0 ? "left" : _props_checkboxPosition, onChange = props.onChange, onFocus = props.onFocus, onBlur = props.onBlur;
|
|
110
|
+
var checked = !!_checked;
|
|
111
|
+
var hasError = !!error;
|
|
112
|
+
var labelIsReactElement = /*#__PURE__*/ isValidElement(label);
|
|
113
|
+
var classes = styles({
|
|
114
|
+
checked: checked,
|
|
115
|
+
disabled: disabled,
|
|
116
|
+
hasError: hasError,
|
|
117
|
+
checkboxPosition: checkboxPosition
|
|
118
|
+
});
|
|
119
|
+
var checkboxClasses = checkboxStyles({
|
|
120
|
+
checked: checked,
|
|
121
|
+
disabled: disabled,
|
|
122
|
+
hasError: hasError
|
|
123
|
+
});
|
|
124
|
+
var handleChange = function() {
|
|
125
|
+
if (onChange) {
|
|
126
|
+
onChange(!checked);
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
var handleFocus = function(event) {
|
|
130
|
+
if (onFocus) {
|
|
131
|
+
onFocus(event);
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
var handleBlur = function(event) {
|
|
135
|
+
if (onBlur) {
|
|
136
|
+
onBlur(event);
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
var labelContent = /*#__PURE__*/ _jsxs("div", {
|
|
140
|
+
className: "flex flex-col gap-1",
|
|
141
|
+
children: [
|
|
142
|
+
label && !labelHidden && /*#__PURE__*/ _jsx(Label, {
|
|
143
|
+
tooltip: tooltip,
|
|
144
|
+
disabled: disabled,
|
|
145
|
+
as: labelIsReactElement ? "div" : "p",
|
|
146
|
+
children: label
|
|
147
|
+
}),
|
|
148
|
+
description && /*#__PURE__*/ _jsx(Text, {
|
|
149
|
+
color: disabled ? "disabled" : "subdued",
|
|
150
|
+
children: description
|
|
151
|
+
})
|
|
152
|
+
]
|
|
153
|
+
});
|
|
154
|
+
var checkboxControl = /*#__PURE__*/ _jsxs("div", {
|
|
155
|
+
className: "pointer-events-none",
|
|
156
|
+
children: [
|
|
157
|
+
/*#__PURE__*/ _jsx("input", {
|
|
158
|
+
type: "checkbox",
|
|
159
|
+
id: id,
|
|
160
|
+
name: name,
|
|
161
|
+
value: value,
|
|
162
|
+
checked: checked,
|
|
163
|
+
disabled: disabled,
|
|
164
|
+
onChange: handleChange,
|
|
165
|
+
onFocus: handleFocus,
|
|
166
|
+
onBlur: handleBlur,
|
|
167
|
+
className: "sr-only"
|
|
168
|
+
}),
|
|
169
|
+
/*#__PURE__*/ _jsx("div", {
|
|
170
|
+
className: "Litho-Checkbox__ControlContainer w-5 h-5 flex items-center justify-center",
|
|
171
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
172
|
+
className: checkboxClasses,
|
|
173
|
+
children: checked && /*#__PURE__*/ _jsx(Icon, {
|
|
174
|
+
color: disabled ? "inputFgDisabled" : hasError ? "white" : "inputFg",
|
|
175
|
+
source: TickMinor,
|
|
176
|
+
className: "pointer-events-none"
|
|
177
|
+
})
|
|
178
|
+
})
|
|
179
|
+
})
|
|
180
|
+
]
|
|
181
|
+
});
|
|
182
|
+
return /*#__PURE__*/ _jsxs("div", {
|
|
183
|
+
className: "flex flex-col gap-1",
|
|
184
|
+
children: [
|
|
185
|
+
/*#__PURE__*/ _jsx("label", {
|
|
186
|
+
className: classes,
|
|
187
|
+
children: checkboxPosition === "left" ? /*#__PURE__*/ _jsxs(_Fragment, {
|
|
188
|
+
children: [
|
|
189
|
+
checkboxControl,
|
|
190
|
+
labelContent
|
|
191
|
+
]
|
|
192
|
+
}) : /*#__PURE__*/ _jsxs(_Fragment, {
|
|
193
|
+
children: [
|
|
194
|
+
labelContent,
|
|
195
|
+
checkboxControl
|
|
196
|
+
]
|
|
197
|
+
})
|
|
198
|
+
}),
|
|
199
|
+
helpText && typeof helpText === "string" && /*#__PURE__*/ _jsx(Text, {
|
|
200
|
+
color: disabled ? "disabled" : "subdued",
|
|
201
|
+
children: helpText
|
|
202
|
+
}),
|
|
203
|
+
helpText && typeof helpText !== "string" && helpText
|
|
204
|
+
]
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
export default CheckboxCard;
|