@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
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
function _array_like_to_array(arr, len) {
|
|
2
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
3
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
4
|
+
return arr2;
|
|
5
|
+
}
|
|
6
|
+
function _array_without_holes(arr) {
|
|
7
|
+
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
8
|
+
}
|
|
9
|
+
function _define_property(obj, key, value) {
|
|
10
|
+
if (key in obj) {
|
|
11
|
+
Object.defineProperty(obj, key, {
|
|
12
|
+
value: value,
|
|
13
|
+
enumerable: true,
|
|
14
|
+
configurable: true,
|
|
15
|
+
writable: true
|
|
16
|
+
});
|
|
17
|
+
} else {
|
|
18
|
+
obj[key] = value;
|
|
19
|
+
}
|
|
20
|
+
return obj;
|
|
21
|
+
}
|
|
22
|
+
function _iterable_to_array(iter) {
|
|
23
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
24
|
+
}
|
|
25
|
+
function _non_iterable_spread() {
|
|
26
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
27
|
+
}
|
|
28
|
+
function _object_spread(target) {
|
|
29
|
+
for(var i = 1; i < arguments.length; i++){
|
|
30
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
31
|
+
var ownKeys = Object.keys(source);
|
|
32
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
33
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
34
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
ownKeys.forEach(function(key) {
|
|
38
|
+
_define_property(target, key, source[key]);
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
return target;
|
|
42
|
+
}
|
|
43
|
+
function ownKeys(object, enumerableOnly) {
|
|
44
|
+
var keys = Object.keys(object);
|
|
45
|
+
if (Object.getOwnPropertySymbols) {
|
|
46
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
47
|
+
if (enumerableOnly) {
|
|
48
|
+
symbols = symbols.filter(function(sym) {
|
|
49
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
keys.push.apply(keys, symbols);
|
|
53
|
+
}
|
|
54
|
+
return keys;
|
|
55
|
+
}
|
|
56
|
+
function _object_spread_props(target, source) {
|
|
57
|
+
source = source != null ? source : {};
|
|
58
|
+
if (Object.getOwnPropertyDescriptors) {
|
|
59
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
60
|
+
} else {
|
|
61
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
62
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
return target;
|
|
66
|
+
}
|
|
67
|
+
function _object_without_properties(source, excluded) {
|
|
68
|
+
if (source == null) return {};
|
|
69
|
+
var target = _object_without_properties_loose(source, excluded);
|
|
70
|
+
var key, i;
|
|
71
|
+
if (Object.getOwnPropertySymbols) {
|
|
72
|
+
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
73
|
+
for(i = 0; i < sourceSymbolKeys.length; i++){
|
|
74
|
+
key = sourceSymbolKeys[i];
|
|
75
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
76
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
77
|
+
target[key] = source[key];
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return target;
|
|
81
|
+
}
|
|
82
|
+
function _object_without_properties_loose(source, excluded) {
|
|
83
|
+
if (source == null) return {};
|
|
84
|
+
var target = {};
|
|
85
|
+
var sourceKeys = Object.keys(source);
|
|
86
|
+
var key, i;
|
|
87
|
+
for(i = 0; i < sourceKeys.length; i++){
|
|
88
|
+
key = sourceKeys[i];
|
|
89
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
90
|
+
target[key] = source[key];
|
|
91
|
+
}
|
|
92
|
+
return target;
|
|
93
|
+
}
|
|
94
|
+
function _to_consumable_array(arr) {
|
|
95
|
+
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
96
|
+
}
|
|
97
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
98
|
+
if (!o) return;
|
|
99
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
100
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
101
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
102
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
103
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
104
|
+
}
|
|
105
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
106
|
+
import { tv } from "tailwind-variants";
|
|
107
|
+
import Text from "./Text.js";
|
|
108
|
+
import Label from "./Label.js";
|
|
109
|
+
import Icon from "./Icon.js";
|
|
110
|
+
import { TickMinor } from "@shopify/polaris-icons";
|
|
111
|
+
import { CircleAlertMajor } from "@shopify/polaris-icons";
|
|
112
|
+
/**
|
|
113
|
+
* @component CheckboxCardGroup
|
|
114
|
+
*
|
|
115
|
+
* @description A grouped checkbox selection component that renders options in a single bordered container with dividers between items, supporting multi-select.
|
|
116
|
+
*
|
|
117
|
+
* @usage
|
|
118
|
+
* - DO: Use for multi-select options that benefit from a compact grouped list layout with descriptions and icons.
|
|
119
|
+
* - DON'T: Use when each option needs its own standalone card appearance (use CheckboxCard individually).
|
|
120
|
+
*
|
|
121
|
+
* @accessibility
|
|
122
|
+
* - Each option uses a native checkbox input (sr-only) wrapped in a label for keyboard accessibility and screen reader support.
|
|
123
|
+
* - Focus-visible ring appears on keyboard navigation.
|
|
124
|
+
*
|
|
125
|
+
* @alternative
|
|
126
|
+
* - If you need standalone card-styled checkboxes, use `CheckboxCard`.
|
|
127
|
+
* - If you need single-select grouped options, use `RadioButtonCardGroup`.
|
|
128
|
+
* - If you need a simple inline radio/checkbox list, use `ChoiceList`.
|
|
129
|
+
*
|
|
130
|
+
* @param {Object} [props={}] - Component props.
|
|
131
|
+
* @param {string} [props.title] - Optional title rendered above the group.
|
|
132
|
+
* @param {React.ReactNode} [props.tooltip] - Tooltip content for the title.
|
|
133
|
+
* @param {boolean} [props.titleHidden=false] - Visually hides the title while keeping it accessible to screen readers.
|
|
134
|
+
* @param {Array<CheckboxCardGroupOption>} [props.options=[]] - Array of option objects to render.
|
|
135
|
+
* @param {string} props.options[].value - The value of the option.
|
|
136
|
+
* @param {string} props.options[].label - The display label of the option.
|
|
137
|
+
* @param {string} [props.options[].description] - A description displayed below the label.
|
|
138
|
+
* @param {React.ReactNode} [props.options[].icon] - Optional icon JSX displayed on the left.
|
|
139
|
+
* @param {boolean} [props.options[].disabled=false] - Whether this specific option is disabled.
|
|
140
|
+
* @param {string|React.ReactNode} [props.options[].helpText] - Additional descriptive text for the option.
|
|
141
|
+
* @param {React.ReactNode} [props.options[].tooltip] - Tooltip content for this option's label.
|
|
142
|
+
* @param {Array<string>} [props.selected=[]] - Currently selected values.
|
|
143
|
+
* @param {Function} [props.onChange] - Callback when selection changes. Receives updated array of selected values.
|
|
144
|
+
* @param {string} [props.name] - The name attribute for the checkbox inputs.
|
|
145
|
+
* @param {string} [props.error] - Error message displayed below the group.
|
|
146
|
+
* @param {boolean} [props.disabled=false] - Disables all options.
|
|
147
|
+
* @param {boolean} [props.hideCheckbox=false] - Hides the checkbox controls.
|
|
148
|
+
* @param {"left"|"right"} [props.checkboxPosition="left"] - Position of the checkbox control relative to the content.
|
|
149
|
+
* @param {string} [props.labelFontWeight="semibold"] - Font weight for option labels.
|
|
150
|
+
* @param {Object} [restProps] - Additional props passed to the root element.
|
|
151
|
+
*
|
|
152
|
+
* @returns {JSX.Element} The rendered CheckboxCardGroup component.
|
|
153
|
+
*
|
|
154
|
+
* @example
|
|
155
|
+
* <CheckboxCardGroup
|
|
156
|
+
* title="Select features"
|
|
157
|
+
* name="features"
|
|
158
|
+
* options={[
|
|
159
|
+
* { value: "analytics", label: "Analytics", description: "Track user behavior" },
|
|
160
|
+
* { value: "notifications", label: "Notifications", description: "Email and push alerts" },
|
|
161
|
+
* { value: "api", label: "API Access", description: "Integrate with other tools" },
|
|
162
|
+
* ]}
|
|
163
|
+
* selected={["analytics", "api"]}
|
|
164
|
+
* onChange={(selected) => setSelected(selected)}
|
|
165
|
+
* />
|
|
166
|
+
*/ var containerStyles = tv({
|
|
167
|
+
base: "Litho-CheckboxCardGroup border rounded-lg overflow-hidden",
|
|
168
|
+
variants: {
|
|
169
|
+
hasError: {
|
|
170
|
+
true: "border-form-border-error",
|
|
171
|
+
false: "border-edge-light"
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
defaultVariants: {
|
|
175
|
+
hasError: false
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
var itemStyles = tv({
|
|
179
|
+
base: "Litho-CheckboxCardGroup__Item p-3 pl-4 flex items-center gap-3 has-[:focus-visible]:ring-2 has-[:focus-visible]:ring-form-focus has-[:focus-visible]:ring-inset",
|
|
180
|
+
variants: {
|
|
181
|
+
checked: {
|
|
182
|
+
true: "",
|
|
183
|
+
false: ""
|
|
184
|
+
},
|
|
185
|
+
disabled: {
|
|
186
|
+
true: "bg-tint-1",
|
|
187
|
+
false: "cursor-pointer hover"
|
|
188
|
+
},
|
|
189
|
+
isLast: {
|
|
190
|
+
true: "",
|
|
191
|
+
false: "border-b border-edge-subdued"
|
|
192
|
+
},
|
|
193
|
+
checkboxPosition: {
|
|
194
|
+
right: "justify-between",
|
|
195
|
+
left: ""
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
defaultVariants: {
|
|
199
|
+
checkboxPosition: "left"
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
var checkboxStyles = tv({
|
|
203
|
+
base: "Litho-Checkbox__Control w-4.5 h-4.5 pt-px rounded-sm border flex items-center justify-center",
|
|
204
|
+
variants: {
|
|
205
|
+
disabled: {
|
|
206
|
+
true: "bg-form-bg-disabled border-form-border"
|
|
207
|
+
}
|
|
208
|
+
},
|
|
209
|
+
compoundVariants: [
|
|
210
|
+
{
|
|
211
|
+
hasError: true,
|
|
212
|
+
disabled: false,
|
|
213
|
+
checked: false,
|
|
214
|
+
class: "bg-form-bg-error border-form-border-error hover:bg-form-bg-error-low hover:ring hover:ring-form-focus-error"
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
hasError: true,
|
|
218
|
+
disabled: false,
|
|
219
|
+
checked: true,
|
|
220
|
+
class: "bg-critical border-form-border-error hover:ring hover:ring-form-focus-error"
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
hasError: false,
|
|
224
|
+
disabled: false,
|
|
225
|
+
checked: false,
|
|
226
|
+
class: "bg-form-bg border-form-border hover:border-form-border-focus hover:ring hover:ring-form-focus"
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
hasError: false,
|
|
230
|
+
disabled: false,
|
|
231
|
+
checked: true,
|
|
232
|
+
class: "bg-form-accent border-form-border-focus hover:border-form-border-focus hover:ring hover:ring-form-focus"
|
|
233
|
+
}
|
|
234
|
+
]
|
|
235
|
+
});
|
|
236
|
+
function CheckboxCardGroup() {
|
|
237
|
+
var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
238
|
+
var title = props.title, tooltip = props.tooltip, _props_titleHidden = props.titleHidden, titleHidden = _props_titleHidden === void 0 ? false : _props_titleHidden, _props_options = props.options, options = _props_options === void 0 ? [] : _props_options, _props_selected = props.selected, selected = _props_selected === void 0 ? [] : _props_selected, onChange = props.onChange, name = props.name, error = props.error, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, _props_hideCheckbox = props.hideCheckbox, hideCheckbox = _props_hideCheckbox === void 0 ? false : _props_hideCheckbox, _props_checkboxPosition = props.checkboxPosition, checkboxPosition = _props_checkboxPosition === void 0 ? "left" : _props_checkboxPosition, _props_labelFontWeight = props.labelFontWeight, labelFontWeight = _props_labelFontWeight === void 0 ? "semibold" : _props_labelFontWeight, restProps = _object_without_properties(props, [
|
|
239
|
+
"title",
|
|
240
|
+
"tooltip",
|
|
241
|
+
"titleHidden",
|
|
242
|
+
"options",
|
|
243
|
+
"selected",
|
|
244
|
+
"onChange",
|
|
245
|
+
"name",
|
|
246
|
+
"error",
|
|
247
|
+
"disabled",
|
|
248
|
+
"hideCheckbox",
|
|
249
|
+
"checkboxPosition",
|
|
250
|
+
"labelFontWeight"
|
|
251
|
+
]);
|
|
252
|
+
var hasError = !!error;
|
|
253
|
+
var containerClasses = containerStyles({
|
|
254
|
+
hasError: hasError
|
|
255
|
+
});
|
|
256
|
+
var handleOptionChange = function(optionValue) {
|
|
257
|
+
if (selected.includes(optionValue)) {
|
|
258
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(selected.filter(function(v) {
|
|
259
|
+
return v !== optionValue;
|
|
260
|
+
}));
|
|
261
|
+
} else {
|
|
262
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(_to_consumable_array(selected).concat([
|
|
263
|
+
optionValue
|
|
264
|
+
]));
|
|
265
|
+
}
|
|
266
|
+
};
|
|
267
|
+
return /*#__PURE__*/ _jsxs("div", _object_spread_props(_object_spread({
|
|
268
|
+
className: "Litho-CheckboxCardGroupContainer flex flex-col gap-1"
|
|
269
|
+
}, restProps), {
|
|
270
|
+
children: [
|
|
271
|
+
title && !titleHidden && /*#__PURE__*/ _jsx(Label, {
|
|
272
|
+
as: "p",
|
|
273
|
+
tooltip: tooltip,
|
|
274
|
+
children: title
|
|
275
|
+
}),
|
|
276
|
+
/*#__PURE__*/ _jsx("div", {
|
|
277
|
+
className: containerClasses,
|
|
278
|
+
children: options.map(function(option, index) {
|
|
279
|
+
var isChecked = selected.includes(option.value);
|
|
280
|
+
var isDisabled = disabled || option.disabled;
|
|
281
|
+
var isLast = index === options.length - 1;
|
|
282
|
+
var itemClasses = itemStyles({
|
|
283
|
+
checked: isChecked,
|
|
284
|
+
disabled: isDisabled,
|
|
285
|
+
isLast: isLast,
|
|
286
|
+
checkboxPosition: checkboxPosition
|
|
287
|
+
});
|
|
288
|
+
var checkboxClasses = checkboxStyles({
|
|
289
|
+
checked: isChecked,
|
|
290
|
+
disabled: isDisabled,
|
|
291
|
+
hasError: hasError
|
|
292
|
+
});
|
|
293
|
+
var checkboxControl = !hideCheckbox && /*#__PURE__*/ _jsx("div", {
|
|
294
|
+
className: "Litho-Checkbox__ControlContainer w-5 h-5 flex items-center justify-center flex-shrink-0",
|
|
295
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
296
|
+
className: checkboxClasses,
|
|
297
|
+
children: isChecked && /*#__PURE__*/ _jsx(Icon, {
|
|
298
|
+
color: isDisabled ? "inputFgDisabled" : hasError ? "white" : "inputFg",
|
|
299
|
+
source: TickMinor,
|
|
300
|
+
className: "pointer-events-none"
|
|
301
|
+
})
|
|
302
|
+
})
|
|
303
|
+
});
|
|
304
|
+
return /*#__PURE__*/ _jsxs("label", {
|
|
305
|
+
className: itemClasses,
|
|
306
|
+
children: [
|
|
307
|
+
checkboxPosition === "left" && checkboxControl,
|
|
308
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
309
|
+
className: "flex items-center gap-4",
|
|
310
|
+
children: [
|
|
311
|
+
option.icon && /*#__PURE__*/ _jsx("div", {
|
|
312
|
+
className: "flex-shrink-0",
|
|
313
|
+
children: option.icon
|
|
314
|
+
}),
|
|
315
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
316
|
+
children: [
|
|
317
|
+
option.label && /*#__PURE__*/ _jsx(Label, {
|
|
318
|
+
tooltip: option.tooltip,
|
|
319
|
+
disabled: isDisabled,
|
|
320
|
+
fontWeight: labelFontWeight,
|
|
321
|
+
as: "p",
|
|
322
|
+
children: option.label
|
|
323
|
+
}),
|
|
324
|
+
option.description && /*#__PURE__*/ _jsx(Text, {
|
|
325
|
+
color: isDisabled ? "disabled" : "subdued",
|
|
326
|
+
children: option.description
|
|
327
|
+
}),
|
|
328
|
+
option.helpText && typeof option.helpText === "string" && /*#__PURE__*/ _jsx(Text, {
|
|
329
|
+
color: isDisabled ? "disabled" : "subdued",
|
|
330
|
+
variant: "bodySm",
|
|
331
|
+
children: option.helpText
|
|
332
|
+
}),
|
|
333
|
+
option.helpText && typeof option.helpText !== "string" && option.helpText
|
|
334
|
+
]
|
|
335
|
+
})
|
|
336
|
+
]
|
|
337
|
+
}),
|
|
338
|
+
/*#__PURE__*/ _jsx("input", {
|
|
339
|
+
type: "checkbox",
|
|
340
|
+
name: name,
|
|
341
|
+
value: option.value,
|
|
342
|
+
checked: isChecked,
|
|
343
|
+
disabled: isDisabled,
|
|
344
|
+
onChange: function() {
|
|
345
|
+
return handleOptionChange(option.value);
|
|
346
|
+
},
|
|
347
|
+
className: "sr-only"
|
|
348
|
+
}),
|
|
349
|
+
checkboxPosition === "right" && checkboxControl
|
|
350
|
+
]
|
|
351
|
+
}, option.value);
|
|
352
|
+
})
|
|
353
|
+
}),
|
|
354
|
+
error && /*#__PURE__*/ _jsxs("div", {
|
|
355
|
+
className: "flex gap-2 items-center",
|
|
356
|
+
children: [
|
|
357
|
+
/*#__PURE__*/ _jsx(Icon, {
|
|
358
|
+
source: CircleAlertMajor,
|
|
359
|
+
color: "critical"
|
|
360
|
+
}),
|
|
361
|
+
/*#__PURE__*/ _jsx(Text, {
|
|
362
|
+
color: "critical",
|
|
363
|
+
children: error
|
|
364
|
+
})
|
|
365
|
+
]
|
|
366
|
+
})
|
|
367
|
+
]
|
|
368
|
+
}));
|
|
369
|
+
}
|
|
370
|
+
export default CheckboxCardGroup;
|
|
@@ -32,19 +32,20 @@ import RadioButton from "./RadioButton.js";
|
|
|
32
32
|
import Text from "./Text.js";
|
|
33
33
|
import Stack from "./Stack.js";
|
|
34
34
|
import { CircleAlertMajor } from "@shopify/polaris-icons";
|
|
35
|
-
var styles = tv({
|
|
36
|
-
base: "Litho-ChoiceList flex flex-col gap-1"
|
|
37
|
-
});
|
|
38
35
|
/**
|
|
39
|
-
* @
|
|
40
|
-
*
|
|
41
|
-
* @
|
|
42
|
-
*
|
|
43
|
-
* @
|
|
44
|
-
|
|
45
|
-
*
|
|
36
|
+
* @component ChoiceList
|
|
37
|
+
*
|
|
38
|
+
* @description A grouped set of checkboxes or radio buttons for selecting one or multiple options from a predefined list.
|
|
39
|
+
*
|
|
40
|
+
* @usage
|
|
41
|
+
* - DO: Use for presenting a labeled group of related choices (single or multi-select).
|
|
42
|
+
* - DON'T: Use for a single boolean toggle (use Checkbox).
|
|
46
43
|
*
|
|
47
|
-
* @
|
|
44
|
+
* @accessibility
|
|
45
|
+
* - Renders with a fieldset and legend for proper grouping; screen readers announce the group label.
|
|
46
|
+
*
|
|
47
|
+
* @alternative
|
|
48
|
+
* - If you need a dropdown selection, use `Select`. If you need individual checkboxes, use `Checkbox`.
|
|
48
49
|
*
|
|
49
50
|
* @param {Object} props - The properties object.
|
|
50
51
|
* @param {string} [props.title] - The title of the choice list.
|
|
@@ -71,6 +72,15 @@ var styles = tv({
|
|
|
71
72
|
* onChange={(selected) => console.log(selected)}
|
|
72
73
|
* error="Please select at least one option."
|
|
73
74
|
* />
|
|
75
|
+
*/ var styles = tv({
|
|
76
|
+
base: "Litho-ChoiceList flex flex-col gap-1"
|
|
77
|
+
});
|
|
78
|
+
/**
|
|
79
|
+
* @typedef {Object} ChoiceListItem
|
|
80
|
+
* @property {string} value - The value of the choice.
|
|
81
|
+
* @property {string} label - The display label of the choice.
|
|
82
|
+
* @property {boolean} [disabled=false] - Whether the choice is disabled.
|
|
83
|
+
* @property {React.ReactNode} [renderChildren] - A function that returns a React node to render as children of the choice.
|
|
74
84
|
*/ function ChoiceList() {
|
|
75
85
|
var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
76
86
|
var title = props.title, tooltip = props.tooltip, titleHidden = props.titleHidden, allowMultiple = props.allowMultiple, choices = props.choices, selected = props.selected, onChange = props.onChange, error = props.error, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, name = props.name;
|
|
@@ -129,14 +129,22 @@ import { useState } from "react";
|
|
|
129
129
|
import { tv } from "tailwind-variants";
|
|
130
130
|
import { ClipboardMinor, ClipboardCheckFilledMajor } from "@shopify/polaris-icons";
|
|
131
131
|
import Button from "./Button.js";
|
|
132
|
-
var styles = tv({
|
|
133
|
-
base: "Litho-Code p-2.5 bg-surface-normal shadow-inset rounded-md font-mono text-xs overflow-x-auto whitespace-pre"
|
|
134
|
-
});
|
|
135
|
-
var containerStyles = tv({
|
|
136
|
-
base: "Litho-Code-container relative group"
|
|
137
|
-
});
|
|
138
132
|
/**
|
|
139
|
-
*
|
|
133
|
+
* @component Code
|
|
134
|
+
*
|
|
135
|
+
* @description A monospace code block component with optional copy-to-clipboard functionality for displaying code snippets and technical values.
|
|
136
|
+
*
|
|
137
|
+
* @usage
|
|
138
|
+
* - DO: Use for displaying code snippets, API keys, or technical values with monospace font and optional copy button.
|
|
139
|
+
* - DON'T: Use for regular prose or body text; use `Text` for non-code content.
|
|
140
|
+
*
|
|
141
|
+
* @accessibility
|
|
142
|
+
* - Renders in a `<code>` element inside a `<pre>` block for proper semantic markup.
|
|
143
|
+
* - The copy button is keyboard accessible; ensure keyboard users can reach it via tab navigation.
|
|
144
|
+
*
|
|
145
|
+
* @alternative
|
|
146
|
+
* - If you need inline code within a sentence, use a native `<code>` HTML element directly.
|
|
147
|
+
* - If you need styled body text, use `Text` instead.
|
|
140
148
|
*
|
|
141
149
|
* @param {Object} props - Properties to customize the code component.
|
|
142
150
|
* @param {string} [props.className] - Additional CSS class names.
|
|
@@ -155,7 +163,13 @@ var containerStyles = tv({
|
|
|
155
163
|
* }}>
|
|
156
164
|
* {`const example = "code";`}
|
|
157
165
|
* </Code>
|
|
158
|
-
*/
|
|
166
|
+
*/ var styles = tv({
|
|
167
|
+
base: "Litho-Code p-2.5 bg-surface-normal shadow-inset rounded-md font-mono text-xs overflow-x-auto whitespace-pre"
|
|
168
|
+
});
|
|
169
|
+
var containerStyles = tv({
|
|
170
|
+
base: "Litho-Code-container relative group"
|
|
171
|
+
});
|
|
172
|
+
function Code() {
|
|
159
173
|
var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
160
174
|
var className = props.className, onCopy = props.onCopy, children = props.children, rest = _object_without_properties(props, [
|
|
161
175
|
"className",
|
|
@@ -1,6 +1,28 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { tv } from "tailwind-variants";
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* @component Collapsible
|
|
5
|
+
*
|
|
6
|
+
* @description A container that shows or hides its children based on an `open` prop, used for progressive disclosure of content.
|
|
7
|
+
*
|
|
8
|
+
* @usage
|
|
9
|
+
* - DO: Use to progressively disclose content controlled by a toggle button or link.
|
|
10
|
+
* - DON'T: Use for tabbed content or navigation; use `Tabs` or `Disclosure` instead.
|
|
11
|
+
*
|
|
12
|
+
* @accessibility
|
|
13
|
+
* - Ensure the toggle element has `aria-expanded` matching the `open` prop and `aria-controls` pointing to the collapsible region.
|
|
14
|
+
* - Content inside is hidden via CSS overflow when collapsed; screen readers will not read hidden content.
|
|
15
|
+
*
|
|
16
|
+
* @alternative
|
|
17
|
+
* - If you need a styled container with disclosure styling, use `Disclosure` instead.
|
|
18
|
+
* - If you need tabbed content switching, use `Tabs` instead.
|
|
19
|
+
*
|
|
20
|
+
* @param {Object} props - Properties passed to component.
|
|
21
|
+
* @param {boolean} props.open - If true, the collapsible is open (expanded); otherwise, it's closed (collapsed).
|
|
22
|
+
* @param {React.ReactNode} props.children - Content displayed inside the collapsible component.
|
|
23
|
+
* @param {string} [props.className] - Additional CSS classes to append to the generated styles.
|
|
24
|
+
* @returns {JSX.Element} A collapsible container that shows or hides its children based on the `open` state.
|
|
25
|
+
*/ var styles = tv({
|
|
4
26
|
base: "Litho-Collapsible",
|
|
5
27
|
variants: {
|
|
6
28
|
open: {
|
|
@@ -9,16 +31,7 @@ var styles = tv({
|
|
|
9
31
|
}
|
|
10
32
|
}
|
|
11
33
|
});
|
|
12
|
-
|
|
13
|
-
* Collapsible Component
|
|
14
|
-
*
|
|
15
|
-
* @component
|
|
16
|
-
* @param {Object} props - Properties passed to component.
|
|
17
|
-
* @param {boolean} props.open - If true, the collapsible is open (expanded); otherwise, it's closed (collapsed).
|
|
18
|
-
* @param {React.ReactNode} props.children - Content displayed inside the collapsible component.
|
|
19
|
-
* @param {string} [props.className] - Additional CSS classes to append to the generated styles.
|
|
20
|
-
* @returns {JSX.Element} A collapsible container that shows or hides its children based on the `open` state.
|
|
21
|
-
*/ function Collapsible() {
|
|
34
|
+
function Collapsible() {
|
|
22
35
|
var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
23
36
|
var open = props.open, children = props.children, className = props.className;
|
|
24
37
|
var classes = styles({
|