@heymantle/litho 0.0.14 → 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/README.md +52 -0
- 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 +57 -13
- package/dist/cjs/components/Divider.js +82 -18
- package/dist/cjs/components/DropZone.js +194 -68
- 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 +37 -26
- 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 +32 -39
- 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 +63 -30
- 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 +85 -29
- package/dist/cjs/components/Tabs.js +84 -24
- 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/playwright.config.js +114 -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/cjs/styles/Table.js +2 -7
- package/dist/cjs/tests/visual/stories.spec.js +637 -0
- package/dist/cjs/utilities/dates.js +7 -7
- 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 +50 -6
- package/dist/esm/components/Divider.js +78 -20
- package/dist/esm/components/DropZone.js +194 -68
- 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 +62 -27
- 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 +79 -40
- 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 +63 -30
- 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 +85 -29
- package/dist/esm/components/Tabs.js +84 -24
- 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/playwright.config.js +104 -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/esm/styles/Table.js +2 -7
- package/dist/esm/tests/visual/stories.spec.js +633 -0
- package/dist/esm/utilities/dates.js +7 -7
- 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 +3 -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 -35
- 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 +40 -34
- 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/dist/types/styles/Table.d.ts.map +1 -1
- package/index.css +76 -14
- package/package.json +15 -5
|
@@ -56,28 +56,23 @@ function _object_without_properties_loose(source, excluded) {
|
|
|
56
56
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
57
57
|
import React, { useCallback } from "react";
|
|
58
58
|
import { tv } from "tailwind-variants";
|
|
59
|
-
var styles = tv({
|
|
60
|
-
base: "Litho-Image",
|
|
61
|
-
variants: {
|
|
62
|
-
borderRadius: {
|
|
63
|
-
default: "",
|
|
64
|
-
none: "rounded-none",
|
|
65
|
-
xs: "rounded-xs",
|
|
66
|
-
sm: "rounded-sm",
|
|
67
|
-
md: "rounded-md",
|
|
68
|
-
lg: "rounded-lg",
|
|
69
|
-
full: "rounded-full",
|
|
70
|
-
max: "rounded-max"
|
|
71
|
-
},
|
|
72
|
-
rounded: {
|
|
73
|
-
true: "rounded-md"
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
59
|
/**
|
|
78
|
-
*
|
|
60
|
+
* @component Image
|
|
61
|
+
*
|
|
62
|
+
* @description Displays a responsive content image with optional rounded corners, srcset support, and load callbacks.
|
|
63
|
+
*
|
|
64
|
+
* @usage
|
|
65
|
+
* - DO: Use for content images with descriptive `alt` text and optional responsive `sourceSet`.
|
|
66
|
+
* - DON'T: Use for small avatars or product thumbnails; use `Thumbnail` for those cases.
|
|
67
|
+
*
|
|
68
|
+
* @accessibility
|
|
69
|
+
* - Always provide meaningful `alt` text describing the image content; use empty string for purely decorative images.
|
|
70
|
+
* - When using `sourceSet`, ensure all sources serve the same visual content at different resolutions.
|
|
71
|
+
*
|
|
72
|
+
* @alternative
|
|
73
|
+
* - If you need a small, fixed-size preview image, use `Thumbnail` instead.
|
|
74
|
+
* - If you need an icon graphic, use `Icon` with a Polaris icon source instead.
|
|
79
75
|
*
|
|
80
|
-
* @component
|
|
81
76
|
* @param {Object} props - Properties passed to the Image component.
|
|
82
77
|
* @param {string} [props.alt] - Alternative text for the image.
|
|
83
78
|
* @param {Array<{source: string, descriptor: string}>} [props.sourceSet] - Array of image sources and descriptors for responsive images.
|
|
@@ -88,7 +83,7 @@ var styles = tv({
|
|
|
88
83
|
* @param {string} [props.className] - Additional classes to apply to the image.
|
|
89
84
|
* @param {('default'|'none'|'xs'|'sm'|'md'|'lg'|'full'|'max')} [props.borderRadius='default'] - The border radius variant for the image.
|
|
90
85
|
* @param {Object} [rest] - Any additional props passed to the underlying `<img>` element.
|
|
91
|
-
*
|
|
86
|
+
*
|
|
92
87
|
* @example
|
|
93
88
|
* <Image
|
|
94
89
|
* alt="Sample Image"
|
|
@@ -103,7 +98,25 @@ var styles = tv({
|
|
|
103
98
|
* />
|
|
104
99
|
*
|
|
105
100
|
* @returns {JSX.Element} A styled image component with optional responsive support.
|
|
106
|
-
*/
|
|
101
|
+
*/ var styles = tv({
|
|
102
|
+
base: "Litho-Image",
|
|
103
|
+
variants: {
|
|
104
|
+
borderRadius: {
|
|
105
|
+
default: "",
|
|
106
|
+
none: "rounded-none",
|
|
107
|
+
xs: "rounded-xs",
|
|
108
|
+
sm: "rounded-sm",
|
|
109
|
+
md: "rounded-md",
|
|
110
|
+
lg: "rounded-lg",
|
|
111
|
+
full: "rounded-full",
|
|
112
|
+
max: "rounded-max"
|
|
113
|
+
},
|
|
114
|
+
rounded: {
|
|
115
|
+
true: "rounded-md"
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
function Image() {
|
|
107
120
|
var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
108
121
|
var alt = props.alt, sourceSet = props.sourceSet, source = props.source, crossOrigin = props.crossOrigin, onLoad = props.onLoad, rounded = props.rounded, className = props.className, borderRadius = props.borderRadius, rest = _object_without_properties(props, [
|
|
109
122
|
"alt",
|
|
@@ -2,25 +2,34 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { tv } from "tailwind-variants";
|
|
3
3
|
import Icon from "./Icon.js";
|
|
4
4
|
import { CircleAlertMajor } from "@shopify/polaris-icons";
|
|
5
|
-
var styles = tv({
|
|
6
|
-
base: "Litho-InlineError flex items-start justify-start gap-2"
|
|
7
|
-
});
|
|
8
5
|
/**
|
|
9
|
-
* InlineError
|
|
10
|
-
*
|
|
11
|
-
*
|
|
6
|
+
* @component InlineError
|
|
7
|
+
*
|
|
8
|
+
* @description A small error message component displayed inline below a form field to indicate validation errors.
|
|
9
|
+
*
|
|
10
|
+
* @usage
|
|
11
|
+
* - DO: Display field-level validation errors below or near form inputs.
|
|
12
|
+
* - DON'T: Use for page-level alerts (use Banner).
|
|
13
|
+
*
|
|
14
|
+
* @accessibility
|
|
15
|
+
* - Error text should be associated with the input via `aria-describedby` for screen reader announcement.
|
|
16
|
+
*
|
|
17
|
+
* @alternative
|
|
18
|
+
* - If you need a page-level error message, use `Banner` with status="critical". If you need a tooltip hint, use `Tooltip`.
|
|
12
19
|
*
|
|
13
|
-
* @component
|
|
14
20
|
* @param {Object} props - Component properties.
|
|
15
21
|
* @param {string} props.message - The error message to display.
|
|
16
22
|
* @param {string} props.fieldID - The ID of the field this error is associated with, used to generate an accessible ID for the error element.
|
|
17
23
|
*
|
|
18
24
|
* @returns {JSX.Element} A styled inline error message with an icon.
|
|
19
|
-
*
|
|
25
|
+
*
|
|
20
26
|
* @example
|
|
21
27
|
* <InlineError message="This field is required" fieldID="username" />
|
|
22
|
-
*
|
|
23
|
-
*/
|
|
28
|
+
*
|
|
29
|
+
*/ var styles = tv({
|
|
30
|
+
base: "Litho-InlineError flex items-start justify-start gap-2"
|
|
31
|
+
});
|
|
32
|
+
function InlineError() {
|
|
24
33
|
var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
25
34
|
var message = props.message, fieldID = props.fieldID, _props_icon = props.icon, icon = _props_icon === void 0 ? CircleAlertMajor : _props_icon;
|
|
26
35
|
var classes = styles();
|
|
@@ -2,19 +2,20 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { tv } from "tailwind-variants";
|
|
3
3
|
import Text from "./Text.js";
|
|
4
4
|
import Tooltip from "./Tooltip.js";
|
|
5
|
-
var styles = tv({
|
|
6
|
-
base: "Litho-Label flex items-center gap-1 text-highest",
|
|
7
|
-
variants: {
|
|
8
|
-
hidden: {
|
|
9
|
-
true: "sr-only"
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
});
|
|
13
5
|
/**
|
|
14
|
-
* Label
|
|
6
|
+
* @component Label
|
|
7
|
+
*
|
|
8
|
+
* @description A form label component that renders a styled label element associated with a form input.
|
|
9
|
+
*
|
|
10
|
+
* @usage
|
|
11
|
+
* - DO: Use to label form inputs when building custom form controls.
|
|
12
|
+
* - DON'T: Use for standalone text (use Text).
|
|
15
13
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
14
|
+
* @accessibility
|
|
15
|
+
* - Renders a `<label>` element with `htmlFor` association to its input; critical for screen reader input identification.
|
|
16
|
+
*
|
|
17
|
+
* @alternative
|
|
18
|
+
* - If you need standalone text, use `Text`. Most form components (TextField, Select) include labels built-in.
|
|
18
19
|
*
|
|
19
20
|
* @param {Object} props - The properties passed to the component.
|
|
20
21
|
* @param {React.ReactNode} props.children - The content to be displayed within the label.
|
|
@@ -26,7 +27,15 @@ var styles = tv({
|
|
|
26
27
|
* @param {Object} [props.rest] - Additional props to be spread onto the label element.
|
|
27
28
|
*
|
|
28
29
|
* @returns {JSX.Element} The rendered label component with optional required indicator.
|
|
29
|
-
*/
|
|
30
|
+
*/ var styles = tv({
|
|
31
|
+
base: "Litho-Label flex items-center gap-1 text-highest",
|
|
32
|
+
variants: {
|
|
33
|
+
hidden: {
|
|
34
|
+
true: "sr-only"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
function Label() {
|
|
30
39
|
var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
31
40
|
var tmp = props.color, _color = tmp === void 0 ? "subdued" : tmp, children = props.children, _props_variant = props.variant, variant = _props_variant === void 0 ? "bodyMd" : _props_variant, _props_fontWeight = props.fontWeight, fontWeight = _props_fontWeight === void 0 ? "normal" : _props_fontWeight, id = props.id, hidden = props.hidden, className = props.className, requiredIndicator = props.requiredIndicator, _props_as = props.as, as = _props_as === void 0 ? "label" : _props_as, disabled = props.disabled, tooltip = props.tooltip;
|
|
32
41
|
var classes = styles({
|
|
@@ -5,9 +5,33 @@ import { tv } from "tailwind-variants";
|
|
|
5
5
|
import Section from "./LayoutSection.js";
|
|
6
6
|
import Text from "./Text.js";
|
|
7
7
|
import { useFrame } from "./Frame.js";
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
* @component Layout
|
|
10
|
+
*
|
|
11
|
+
* @description A two-column page layout component with a primary content area and optional sidebar, used for settings and detail pages.
|
|
12
|
+
*
|
|
13
|
+
* @usage
|
|
14
|
+
* - DO: Use for two-column page layouts with a primary content area and sidebar.
|
|
15
|
+
* - DON'T: Use for single-column content (use `Stack` or `Card` instead).
|
|
16
|
+
*
|
|
17
|
+
* @accessibility
|
|
18
|
+
* - Content areas maintain logical reading order regardless of visual layout.
|
|
19
|
+
*
|
|
20
|
+
* @alternative
|
|
21
|
+
* - If you need a CSS grid with custom columns, use `Grid`.
|
|
22
|
+
* - If you need a single-column layout, use `Stack`.
|
|
23
|
+
*
|
|
24
|
+
* @param {Object} props - Component props.
|
|
25
|
+
* @param {React.ReactNode} props.children - The content to render inside the layout.
|
|
26
|
+
* @param {boolean} [props.reverseOnMobile] - If true, reverses the flex direction on mobile devices.
|
|
27
|
+
* @param {boolean} [props.scrollSectionsIndependently=false] - When true, caps the layout
|
|
28
|
+
* height to the viewport and makes each section scroll its content independently.
|
|
29
|
+
* Only applies at the @lg container breakpoint when sections are side-by-side.
|
|
30
|
+
* When inside a Page, automatically removes Page content padding for full-bleed.
|
|
31
|
+
* @returns {JSX.Element} The rendered layout component.
|
|
32
|
+
*/ export var LayoutContext = /*#__PURE__*/ createContext();
|
|
9
33
|
var styles = tv({
|
|
10
|
-
base: "Litho-Layout flex
|
|
34
|
+
base: "Litho-Layout flex w-full max-w-full",
|
|
11
35
|
variants: {
|
|
12
36
|
hasSidebarSection: {
|
|
13
37
|
true: ""
|
|
@@ -15,18 +39,36 @@ var styles = tv({
|
|
|
15
39
|
reverseOnMobile: {
|
|
16
40
|
true: "flex-col-reverse @lg:flex-row",
|
|
17
41
|
false: "flex-col"
|
|
42
|
+
},
|
|
43
|
+
scrollSectionsIndependently: {
|
|
44
|
+
true: "pl-4 @lg:pl-5",
|
|
45
|
+
false: ""
|
|
18
46
|
}
|
|
19
47
|
},
|
|
20
48
|
compoundVariants: [
|
|
21
49
|
{
|
|
22
50
|
hasSidebarSection: true,
|
|
23
51
|
embedded: false,
|
|
24
|
-
|
|
52
|
+
scrollSectionsIndependently: false,
|
|
53
|
+
className: "gap-4 @lg:flex-row @lg:gap-5"
|
|
25
54
|
},
|
|
26
55
|
{
|
|
27
56
|
hasSidebarSection: true,
|
|
28
57
|
embedded: true,
|
|
29
|
-
|
|
58
|
+
scrollSectionsIndependently: false,
|
|
59
|
+
className: "gap-4 @lg-embed:flex-row @lg-embed:items-start @lg-embed:gap-5"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
hasSidebarSection: true,
|
|
63
|
+
embedded: false,
|
|
64
|
+
scrollSectionsIndependently: true,
|
|
65
|
+
className: "@lg:flex-row"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
hasSidebarSection: true,
|
|
69
|
+
embedded: true,
|
|
70
|
+
scrollSectionsIndependently: true,
|
|
71
|
+
className: "@lg-embed:flex-row @lg-embed:items-start"
|
|
30
72
|
},
|
|
31
73
|
{
|
|
32
74
|
reverseOnMobile: true,
|
|
@@ -37,24 +79,14 @@ var styles = tv({
|
|
|
37
79
|
defaultVariants: {
|
|
38
80
|
hasSidebarSection: false,
|
|
39
81
|
embedded: false,
|
|
40
|
-
reverseOnMobile: false
|
|
82
|
+
reverseOnMobile: false,
|
|
83
|
+
scrollSectionsIndependently: false
|
|
41
84
|
}
|
|
42
85
|
});
|
|
43
|
-
|
|
44
|
-
* Layout component for structuring content.
|
|
45
|
-
*
|
|
46
|
-
* The `Layout` component organizes its children into a flexible and responsive layout.
|
|
47
|
-
* If no `Layout.Section` or `Layout.AnnotatedSection` children are found, it wraps the
|
|
48
|
-
* children inside a default `Layout.Section`.
|
|
49
|
-
*
|
|
50
|
-
* @param {Object} props - Component props.
|
|
51
|
-
* @param {React.ReactNode} props.children - The content to render inside the layout.
|
|
52
|
-
* @param {boolean} [props.reverseOnMobile] - If true, reverses the flex direction on mobile devices.
|
|
53
|
-
* @returns {JSX.Element} The rendered layout component.
|
|
54
|
-
*/ function Layout() {
|
|
86
|
+
function Layout() {
|
|
55
87
|
var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
56
88
|
var embedded = useFrame().embedded;
|
|
57
|
-
var children = props.children, reverseOnMobile = props.reverseOnMobile;
|
|
89
|
+
var children = props.children, reverseOnMobile = props.reverseOnMobile, _props_scrollSectionsIndependently = props.scrollSectionsIndependently, scrollSectionsIndependently = _props_scrollSectionsIndependently === void 0 ? false : _props_scrollSectionsIndependently;
|
|
58
90
|
var analyzeChildren = function(children) {
|
|
59
91
|
var depth = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
|
|
60
92
|
if (depth > 3) return {
|
|
@@ -101,17 +133,19 @@ var styles = tv({
|
|
|
101
133
|
var classes = styles({
|
|
102
134
|
hasSidebarSection: hasSidebarSection,
|
|
103
135
|
embedded: embedded,
|
|
104
|
-
reverseOnMobile: reverseOnMobile
|
|
136
|
+
reverseOnMobile: reverseOnMobile,
|
|
137
|
+
scrollSectionsIndependently: scrollSectionsIndependently
|
|
105
138
|
});
|
|
106
139
|
var wrappedChildren = hasSection ? children : /*#__PURE__*/ _jsx(Layout.Section, {
|
|
107
140
|
children: children
|
|
108
141
|
});
|
|
109
142
|
return /*#__PURE__*/ _jsx(LayoutContext.Provider, {
|
|
110
143
|
value: {
|
|
111
|
-
parentHasSidebar: parentHasSidebar
|
|
144
|
+
parentHasSidebar: parentHasSidebar,
|
|
145
|
+
scrollSectionsIndependently: scrollSectionsIndependently
|
|
112
146
|
},
|
|
113
147
|
children: /*#__PURE__*/ _jsx("div", {
|
|
114
|
-
className: classes,
|
|
148
|
+
className: "".concat(classes).concat(scrollSectionsIndependently ? " Litho-Layout--scrollSectionsIndependently".concat(embedded ? " @lg-embed:max-h-[calc(100vh-var(--litho-top-bar-height))]" : " @lg:max-h-[calc(100vh-var(--litho-top-bar-height))]") : ""),
|
|
115
149
|
children: wrappedChildren
|
|
116
150
|
})
|
|
117
151
|
});
|
|
@@ -129,11 +163,10 @@ var annotatedSectionStyles = tv({
|
|
|
129
163
|
}
|
|
130
164
|
});
|
|
131
165
|
/**
|
|
132
|
-
*
|
|
166
|
+
* @component Layout.AnnotatedSection
|
|
133
167
|
*
|
|
134
|
-
*
|
|
135
|
-
* -
|
|
136
|
-
* - Content: Displays the main content provided as children.
|
|
168
|
+
* @usage
|
|
169
|
+
* - DO: Use for settings pages where each section has a title and description alongside form content.
|
|
137
170
|
*
|
|
138
171
|
* @param {Object} props - Component props.
|
|
139
172
|
* @param {React.ReactNode} props.children - The main content of the section.
|
|
@@ -147,11 +180,13 @@ var annotatedSectionStyles = tv({
|
|
|
147
180
|
var annotatedSectionClasses = annotatedSectionStyles({
|
|
148
181
|
embedded: embedded
|
|
149
182
|
});
|
|
183
|
+
var annotationColSpan = embedded ? "@md-embed:col-span-4" : "@md:col-span-4";
|
|
184
|
+
var contentColSpan = embedded ? "@md-embed:col-span-8" : "@md:col-span-8";
|
|
150
185
|
return /*#__PURE__*/ _jsxs("div", {
|
|
151
186
|
className: annotatedSectionClasses,
|
|
152
187
|
children: [
|
|
153
188
|
/*#__PURE__*/ _jsxs("div", {
|
|
154
|
-
className: "Litho-Layout__Annotation flex flex-col gap-1
|
|
189
|
+
className: "Litho-Layout__Annotation flex flex-col gap-1 ".concat(annotationColSpan, " py-2"),
|
|
155
190
|
children: [
|
|
156
191
|
title && (typeof title === "string" ? /*#__PURE__*/ _jsx(Text, {
|
|
157
192
|
variant: "headingMd",
|
|
@@ -164,7 +199,7 @@ var annotatedSectionStyles = tv({
|
|
|
164
199
|
]
|
|
165
200
|
}),
|
|
166
201
|
/*#__PURE__*/ _jsx("div", {
|
|
167
|
-
className: "Litho-Layout__AnnotationContent
|
|
202
|
+
className: "Litho-Layout__AnnotationContent ".concat(contentColSpan),
|
|
168
203
|
children: children
|
|
169
204
|
})
|
|
170
205
|
]
|
|
@@ -4,7 +4,30 @@ import React, { useContext } from "react";
|
|
|
4
4
|
import { tv } from "tailwind-variants";
|
|
5
5
|
import { LayoutContext } from "./Layout.js";
|
|
6
6
|
import { useFrame } from "./Frame.js";
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* @component Layout.Section
|
|
9
|
+
*
|
|
10
|
+
* @description A direct child of Layout that defines a content column, supporting primary, secondary, and full-width configurations.
|
|
11
|
+
*
|
|
12
|
+
* @usage
|
|
13
|
+
* - DO: Use as a direct child of `Layout` to define content regions.
|
|
14
|
+
* - DON'T: Use outside of a `Layout` parent.
|
|
15
|
+
*
|
|
16
|
+
* @accessibility
|
|
17
|
+
* - LayoutSection renders a semantic section; content structure is preserved for assistive technology.
|
|
18
|
+
*
|
|
19
|
+
* @alternative
|
|
20
|
+
* - If you need a standalone content section, use `Card` or `Box` instead.
|
|
21
|
+
*
|
|
22
|
+
* @param {Object} props - Component props.
|
|
23
|
+
* @param {React.ReactNode} props.children - The content to render inside the section.
|
|
24
|
+
* @param {boolean|"slim"} [props.sidebar=false] - Configures the section layout:
|
|
25
|
+
* - `true`: Makes it a sidebar with a 1/3 basis.
|
|
26
|
+
* - `"slim"`: Makes it a slim sidebar with a max width of 320px.
|
|
27
|
+
* - `false`: Allows it to grow.
|
|
28
|
+
* @params {boolean|integer} props.sticky - Specify whether the section becomes sticky or not
|
|
29
|
+
* @returns {JSX.Element} The rendered section component.
|
|
30
|
+
*/ var sectionStyles = tv({
|
|
8
31
|
base: "Litho-Layout__Section",
|
|
9
32
|
variants: {
|
|
10
33
|
sidebar: {
|
|
@@ -14,58 +37,97 @@ var sectionStyles = tv({
|
|
|
14
37
|
sibling: {
|
|
15
38
|
none: "w-full",
|
|
16
39
|
sidebar: "flex-1 basis-0 min-w-0"
|
|
40
|
+
},
|
|
41
|
+
scrollSectionsIndependently: {
|
|
42
|
+
true: "pt-4 pr-4 @lg:pr-5 @lg:pb-5",
|
|
43
|
+
false: ""
|
|
17
44
|
}
|
|
18
45
|
},
|
|
19
46
|
compoundVariants: [
|
|
47
|
+
{
|
|
48
|
+
scrollSectionsIndependently: true,
|
|
49
|
+
embedded: true,
|
|
50
|
+
className: "@lg-embed:overflow-y-auto pl-px"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
scrollSectionsIndependently: true,
|
|
54
|
+
embedded: false,
|
|
55
|
+
className: "@lg:overflow-y-auto pl-px"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
scrollSectionsIndependently: true,
|
|
59
|
+
sidebar: [
|
|
60
|
+
true,
|
|
61
|
+
"slim"
|
|
62
|
+
],
|
|
63
|
+
className: "ml-4"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
sidebar: true,
|
|
67
|
+
embedded: true,
|
|
68
|
+
scrollSectionsIndependently: false,
|
|
69
|
+
className: "@lg-embed:w-1/3 @lg-embed:max-w-120"
|
|
70
|
+
},
|
|
20
71
|
{
|
|
21
72
|
sidebar: true,
|
|
73
|
+
embedded: false,
|
|
74
|
+
scrollSectionsIndependently: false,
|
|
75
|
+
className: "@lg:w-1/3 @lg:max-w-80 @xl:max-w-120"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
sidebar: "slim",
|
|
22
79
|
embedded: true,
|
|
23
|
-
|
|
80
|
+
scrollSectionsIndependently: false,
|
|
81
|
+
className: "@lg-embed:w-1/3 @lg-embed:max-w-80"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
sidebar: "slim",
|
|
85
|
+
embedded: false,
|
|
86
|
+
scrollSectionsIndependently: false,
|
|
87
|
+
className: "@lg:w-1/3 @lg:max-w-80"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
sidebar: true,
|
|
91
|
+
embedded: true,
|
|
92
|
+
scrollSectionsIndependently: true,
|
|
93
|
+
className: "@lg-embed:w-1/3 @lg-embed:max-w-85 @xl-embed:max-w-125"
|
|
24
94
|
},
|
|
25
95
|
{
|
|
26
96
|
sidebar: true,
|
|
27
97
|
embedded: false,
|
|
28
|
-
|
|
98
|
+
scrollSectionsIndependently: true,
|
|
99
|
+
className: "@lg:w-1/3 @lg:max-w-85 @xl:max-w-125"
|
|
29
100
|
},
|
|
30
101
|
{
|
|
31
102
|
sidebar: "slim",
|
|
32
103
|
embedded: true,
|
|
33
|
-
|
|
104
|
+
scrollSectionsIndependently: true,
|
|
105
|
+
className: "@lg-embed:w-1/3 @lg-embed:max-w-85"
|
|
34
106
|
},
|
|
35
107
|
{
|
|
36
108
|
sidebar: "slim",
|
|
37
109
|
embedded: false,
|
|
38
|
-
|
|
110
|
+
scrollSectionsIndependently: true,
|
|
111
|
+
className: "@lg:w-1/3 @lg:max-w-85"
|
|
39
112
|
}
|
|
40
113
|
],
|
|
41
114
|
defaultVariants: {
|
|
42
115
|
sidebar: false,
|
|
43
|
-
embedded: false
|
|
116
|
+
embedded: false,
|
|
117
|
+
scrollSectionsIndependently: false
|
|
44
118
|
}
|
|
45
119
|
});
|
|
46
|
-
|
|
47
|
-
* Section component for flexible content grouping.
|
|
48
|
-
*
|
|
49
|
-
* The `Section` allows for configuring its layout, supporting sidebar and slim variants.
|
|
50
|
-
*
|
|
51
|
-
* @param {Object} props - Component props.
|
|
52
|
-
* @param {React.ReactNode} props.children - The content to render inside the section.
|
|
53
|
-
* @param {boolean|"slim"} [props.sidebar=false] - Configures the section layout:
|
|
54
|
-
* - `true`: Makes it a sidebar with a 1/3 basis.
|
|
55
|
-
* - `"slim"`: Makes it a slim sidebar with a max width of 320px.
|
|
56
|
-
* - `false`: Allows it to grow.
|
|
57
|
-
* @params {boolean|integer} props.sticky - Specify whether the section becomes sticky or not
|
|
58
|
-
* @returns {JSX.Element} The rendered section component.
|
|
59
|
-
*/ function Section() {
|
|
120
|
+
function Section() {
|
|
60
121
|
var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
61
122
|
var children = props.children, _props_sidebar = props.sidebar, sidebar = _props_sidebar === void 0 ? false : _props_sidebar, className = props.className, sticky = props.sticky;
|
|
62
123
|
var embedded = useFrame().embedded;
|
|
63
|
-
var
|
|
124
|
+
var _useContext = useContext(LayoutContext), parentHasSidebar = _useContext.parentHasSidebar, scrollSectionsIndependently = _useContext.scrollSectionsIndependently;
|
|
64
125
|
var sectionClasses = sectionStyles({
|
|
65
126
|
sidebar: sidebar,
|
|
66
127
|
sticky: sticky,
|
|
67
128
|
sibling: sidebar ? undefined : parentHasSidebar ? "sidebar" : "none",
|
|
68
|
-
embedded: embedded
|
|
129
|
+
embedded: embedded,
|
|
130
|
+
scrollSectionsIndependently: scrollSectionsIndependently
|
|
69
131
|
});
|
|
70
132
|
return /*#__PURE__*/ _jsx("div", {
|
|
71
133
|
className: "".concat(sectionClasses).concat(className ? " ".concat(className) : ""),
|
|
@@ -1,7 +1,40 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { tv } from "tailwind-variants";
|
|
3
3
|
import Icon from "./Icon.js";
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* @component Link
|
|
6
|
+
*
|
|
7
|
+
* @description An inline navigation element that renders as an anchor tag for linking to internal or external URLs.
|
|
8
|
+
*
|
|
9
|
+
* @usage
|
|
10
|
+
* - DO: Use for inline text navigation to other pages or external URLs.
|
|
11
|
+
* - DON'T: Use for actions that don't navigate (use Button).
|
|
12
|
+
*
|
|
13
|
+
* @accessibility
|
|
14
|
+
* - Renders as `<a>` tag; ensure link text is descriptive. External links should indicate they open in a new tab.
|
|
15
|
+
*
|
|
16
|
+
* @alternative
|
|
17
|
+
* - If you need to trigger an action (not navigation), use `Button` with `link` variant.
|
|
18
|
+
* - If you need a button styled as a link, use `Button` with `plain` prop.
|
|
19
|
+
*
|
|
20
|
+
* @param {Object} props - Props for the Link component.
|
|
21
|
+
* @param {string} props.url - The URL the link points to.
|
|
22
|
+
* @param {React.ReactNode} props.children - Content to display within the link.
|
|
23
|
+
* @param {Function} [props.onClick] - Optional click event handler for the link.
|
|
24
|
+
* @param {boolean} [props.external=false] - If true, opens the link in a new tab.
|
|
25
|
+
* @param {boolean} [props.insight=false] - If true, set the color and iconColor to insight
|
|
26
|
+
* @param {string} [props.target] - Optional target attribute for specifying where to open the link.
|
|
27
|
+
* @param {string} [props.id] - Optional id attribute for the link.
|
|
28
|
+
* @param {boolean} [props.monochrome=false] - If true, applies monochrome color scheme.
|
|
29
|
+
* @param {boolean} [props.removeUnderline=false] - If true, removes underline from the link.
|
|
30
|
+
* @param {string} [props.accessibilityLabel] - Optional aria-label for accessibility.
|
|
31
|
+
* @param {string} [props.dataPrimaryLink] - Optional data attribute for custom tracking.
|
|
32
|
+
* @param {Function} [props.onMouseEnter] - Optional mouse enter event handler for the link.
|
|
33
|
+
* @param {Function} [props.onMouseLeave] - Optional mouse leave event handler for the link.
|
|
34
|
+
* @param {React.ReactNode} [props.icon] - Optional icon to display within the link.
|
|
35
|
+
*
|
|
36
|
+
* @returns {JSX.Element} Rendered link element.
|
|
37
|
+
*/ var styles = tv({
|
|
5
38
|
base: "Litho-Link cursor-pointer hover:underline",
|
|
6
39
|
variants: {
|
|
7
40
|
monochrome: {
|
|
@@ -88,27 +121,7 @@ var styles = tv({
|
|
|
88
121
|
color: "link"
|
|
89
122
|
}
|
|
90
123
|
});
|
|
91
|
-
|
|
92
|
-
* Renders an accessible link with customizable styling based on variants.
|
|
93
|
-
*
|
|
94
|
-
* @param {Object} props - Props for the Link component.
|
|
95
|
-
* @param {string} props.url - The URL the link points to.
|
|
96
|
-
* @param {React.ReactNode} props.children - Content to display within the link.
|
|
97
|
-
* @param {Function} [props.onClick] - Optional click event handler for the link.
|
|
98
|
-
* @param {boolean} [props.external=false] - If true, opens the link in a new tab.
|
|
99
|
-
* @param {boolean} [props.insight=false] - If true, set the color and iconColor to insight
|
|
100
|
-
* @param {string} [props.target] - Optional target attribute for specifying where to open the link.
|
|
101
|
-
* @param {string} [props.id] - Optional id attribute for the link.
|
|
102
|
-
* @param {boolean} [props.monochrome=false] - If true, applies monochrome color scheme.
|
|
103
|
-
* @param {boolean} [props.removeUnderline=false] - If true, removes underline from the link.
|
|
104
|
-
* @param {string} [props.accessibilityLabel] - Optional aria-label for accessibility.
|
|
105
|
-
* @param {string} [props.dataPrimaryLink] - Optional data attribute for custom tracking.
|
|
106
|
-
* @param {Function} [props.onMouseEnter] - Optional mouse enter event handler for the link.
|
|
107
|
-
* @param {Function} [props.onMouseLeave] - Optional mouse leave event handler for the link.
|
|
108
|
-
* @param {React.ReactNode} [props.icon] - Optional icon to display within the link.
|
|
109
|
-
*
|
|
110
|
-
* @returns {JSX.Element} Rendered link element.
|
|
111
|
-
*/ function Link() {
|
|
124
|
+
function Link() {
|
|
112
125
|
var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
113
126
|
var url = props.url, children = props.children, onClick = props.onClick, external = props.external, target = props.target, _props_bold = props.bold, bold = _props_bold === void 0 ? false : _props_bold, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, _props_insight = props.insight, insight = _props_insight === void 0 ? false : _props_insight, id = props.id, monochrome = props.monochrome, removeUnderline = props.removeUnderline, accessibilityLabel = props.accessibilityLabel, dataPrimaryLink = props.dataPrimaryLink, _color = props.color, className = props.className, onMouseEnter = props.onMouseEnter, onMouseLeave = props.onMouseLeave, icon = props.icon, _iconColor = props.iconColor, _props_iconSize = props.iconSize, iconSize = _props_iconSize === void 0 ? "sm" : _props_iconSize;
|
|
114
127
|
var hasIcon = icon !== undefined;
|
|
@@ -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 List
|
|
5
|
+
*
|
|
6
|
+
* @description A semantic list component that renders ordered or unordered lists with consistent spacing and bullet/number styling.
|
|
7
|
+
*
|
|
8
|
+
* @usage
|
|
9
|
+
* - DO: Display structured text content as bulleted or numbered lists.
|
|
10
|
+
* - DON'T: Use for interactive item lists (use ResourceList).
|
|
11
|
+
*
|
|
12
|
+
* @accessibility
|
|
13
|
+
* - Renders semantic `<ul>` or `<ol>` elements; screen readers announce list structure and item count.
|
|
14
|
+
*
|
|
15
|
+
* @alternative
|
|
16
|
+
* - If you need interactive items with actions, use `ResourceList`.
|
|
17
|
+
* - If you need a data table, use `Table`.
|
|
18
|
+
*
|
|
19
|
+
* @param {Object} props - Component props.
|
|
20
|
+
* @param {React.ReactNode} props.children - The list items to render inside the list.
|
|
21
|
+
* @param {'normal' | 'loose' | 'tight'} [props.spacing='normal'] - Controls vertical spacing between list items.
|
|
22
|
+
* @param {'bullet' | 'number'} [props.type='bullet'] - Determines list type: bullet (unordered) or number (ordered).
|
|
23
|
+
* @param {string} [props.className] - Additional class names to apply to the list container.
|
|
24
|
+
* @returns {JSX.Element} The rendered List component.
|
|
25
|
+
*/ var styles = tv({
|
|
4
26
|
base: "Litho-List list-outside ml-5",
|
|
5
27
|
variants: {
|
|
6
28
|
type: {
|
|
@@ -15,16 +37,7 @@ var styles = tv({
|
|
|
15
37
|
}
|
|
16
38
|
}
|
|
17
39
|
});
|
|
18
|
-
|
|
19
|
-
* List component for rendering unordered or ordered lists.
|
|
20
|
-
*
|
|
21
|
-
* @param {Object} props - Component props.
|
|
22
|
-
* @param {React.ReactNode} props.children - The list items to render inside the list.
|
|
23
|
-
* @param {'normal' | 'loose' | 'tight'} [props.spacing='normal'] - Controls vertical spacing between list items.
|
|
24
|
-
* @param {'bullet' | 'number'} [props.type='bullet'] - Determines list type: bullet (unordered) or number (ordered).
|
|
25
|
-
* @param {string} [props.className] - Additional class names to apply to the list container.
|
|
26
|
-
* @returns {JSX.Element} The rendered List component.
|
|
27
|
-
*/ function List() {
|
|
40
|
+
function List() {
|
|
28
41
|
var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
29
42
|
var children = props.children, _props_spacing = props.spacing, spacing = _props_spacing === void 0 ? 'normal' : _props_spacing, _props_type = props.type, type = _props_type === void 0 ? 'bullet' : _props_type, className = props.className;
|
|
30
43
|
var classes = styles({
|
|
@@ -42,7 +55,10 @@ var itemStyles = tv({
|
|
|
42
55
|
base: "Litho-ListItem text-left leading-4"
|
|
43
56
|
});
|
|
44
57
|
/**
|
|
45
|
-
*
|
|
58
|
+
* @component List.Item
|
|
59
|
+
*
|
|
60
|
+
* @usage
|
|
61
|
+
* - DO: Use as direct children of List for each list entry.
|
|
46
62
|
*
|
|
47
63
|
* @param {Object} props - Component props.
|
|
48
64
|
* @param {React.ReactNode} props.children - The content of the list item.
|