@telus-uds/components-base 0.0.2-prerelease.4 → 0.0.2-prerelease.8
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/.ultra.cache.json +1 -0
- package/CHANGELOG.md +76 -0
- package/__fixtures__/Accessible.js +33 -0
- package/__fixtures__/Accessible.native.js +32 -0
- package/__fixtures__/testTheme.js +940 -54
- package/__tests__/ActivityIndicator/ActivityIndicator.test.jsx +1 -1
- package/__tests__/Button/ButtonBase.test.jsx +3 -32
- package/__tests__/Button/ButtonGroup.test.jsx +2 -2
- package/__tests__/Checkbox/Checkbox.test.jsx +94 -0
- package/__tests__/Checkbox/CheckboxGroup.test.jsx +247 -0
- package/__tests__/Divider/Divider.test.jsx +26 -5
- package/__tests__/Feedback/Feedback.test.jsx +42 -0
- package/__tests__/Icon/Icon.test.jsx +3 -3
- package/__tests__/InputSupports/InputSupports.test.jsx +50 -0
- package/__tests__/List/List.test.jsx +60 -0
- package/__tests__/Modal/Modal.test.jsx +47 -0
- package/__tests__/Notification/Notification.test.jsx +20 -0
- package/__tests__/Pagination/Pagination.test.jsx +2 -2
- package/__tests__/Progress/Progress.test.jsx +79 -0
- package/__tests__/Radio/Radio.test.jsx +87 -0
- package/__tests__/Radio/RadioGroup.test.jsx +221 -0
- package/__tests__/RadioCard/RadioCard.test.jsx +87 -0
- package/__tests__/RadioCard/RadioCardGroup.test.jsx +247 -0
- package/__tests__/Search/Search.test.jsx +72 -0
- package/__tests__/Select/Select.test.jsx +93 -0
- package/__tests__/Skeleton/Skeleton.test.jsx +61 -0
- package/__tests__/Spacer/Spacer.test.jsx +63 -0
- package/__tests__/StackView/StackView.test.jsx +216 -0
- package/__tests__/StackView/StackWrap.test.jsx +47 -0
- package/__tests__/StackView/getStackedContent.test.jsx +295 -0
- package/__tests__/StepTracker/StepTracker.test.jsx +94 -0
- package/__tests__/Tabs/Tabs.test.jsx +200 -0
- package/__tests__/Tags/Tags.test.jsx +328 -0
- package/__tests__/TextInput/TextArea.test.jsx +34 -0
- package/__tests__/TextInput/TextInputBase.test.jsx +120 -0
- package/__tests__/Tooltip/Tooltip.test.jsx +65 -0
- package/__tests__/Tooltip/getTooltipPosition.test.js +79 -0
- package/__tests__/utils/input.test.js +58 -0
- package/__tests__/utils/useCopy.test.js +42 -0
- package/__tests__/utils/useResponsiveProp.test.jsx +202 -0
- package/__tests__/utils/{spacing.test.jsx → useSpacingScale.test.jsx} +1 -1
- package/__tests__/utils/useUniqueId.test.js +31 -0
- package/babel.config.js +20 -0
- package/jest.config.js +8 -2
- package/lib/A11yInfoProvider/index.js +54 -26
- package/lib/A11yText/index.js +37 -14
- package/lib/ActivityIndicator/Spinner.js +78 -0
- package/lib/ActivityIndicator/Spinner.native.js +121 -87
- package/lib/ActivityIndicator/index.js +28 -12
- package/lib/ActivityIndicator/shared.js +27 -12
- package/lib/BaseProvider/index.js +34 -11
- package/lib/Box/Box.js +56 -28
- package/lib/Box/index.js +13 -2
- package/lib/Button/Button.js +38 -10
- package/lib/Button/ButtonBase.js +120 -109
- package/lib/Button/ButtonGroup.js +98 -99
- package/lib/Button/ButtonLink.js +41 -13
- package/lib/Button/index.js +31 -4
- package/lib/Button/propTypes.js +32 -9
- package/lib/Card/Card.js +36 -41
- package/lib/Card/CardBase.js +78 -0
- package/lib/Card/PressableCardBase.js +137 -0
- package/lib/Card/index.js +40 -2
- package/lib/Checkbox/Checkbox.js +344 -0
- package/lib/Checkbox/CheckboxGroup.js +231 -0
- package/lib/Checkbox/CheckboxInput.js +74 -0
- package/lib/Checkbox/CheckboxInput.native.js +14 -0
- package/lib/Checkbox/index.js +21 -0
- package/lib/Divider/Divider.js +81 -17
- package/lib/Divider/index.js +13 -2
- package/lib/ExpandCollapse/Accordion.js +20 -7
- package/lib/ExpandCollapse/Control.js +50 -27
- package/lib/ExpandCollapse/ExpandCollapse.js +41 -24
- package/lib/ExpandCollapse/Panel.js +75 -37
- package/lib/ExpandCollapse/index.js +25 -7
- package/lib/Feedback/Feedback.js +161 -0
- package/lib/Feedback/index.js +13 -0
- package/lib/Fieldset/Fieldset.js +160 -0
- package/lib/Fieldset/FieldsetContainer.js +41 -0
- package/lib/Fieldset/FieldsetContainer.native.js +33 -0
- package/lib/Fieldset/Legend.js +33 -0
- package/lib/Fieldset/Legend.native.js +43 -0
- package/lib/Fieldset/cssReset.js +21 -0
- package/lib/Fieldset/index.js +13 -0
- package/lib/FlexGrid/Col/Col.js +67 -38
- package/lib/FlexGrid/Col/index.js +13 -2
- package/lib/FlexGrid/FlexGrid.js +70 -45
- package/lib/FlexGrid/Row/Row.js +48 -27
- package/lib/FlexGrid/Row/index.js +13 -2
- package/lib/FlexGrid/helpers/index.js +9 -1
- package/lib/FlexGrid/index.js +13 -2
- package/lib/FlexGrid/providers/GutterContext.js +15 -3
- package/lib/Icon/Icon.js +52 -47
- package/lib/Icon/IconText.js +100 -0
- package/lib/Icon/index.js +31 -3
- package/lib/InputLabel/InputLabel.js +122 -0
- package/lib/InputLabel/LabelContent.js +31 -0
- package/lib/InputLabel/LabelContent.native.js +16 -0
- package/lib/InputLabel/index.js +13 -0
- package/lib/InputSupports/InputSupports.js +104 -0
- package/lib/InputSupports/index.js +13 -0
- package/lib/InputSupports/propTypes.js +66 -0
- package/lib/InputSupports/useInputSupports.js +41 -0
- package/lib/Link/ChevronLink.js +57 -15
- package/lib/Link/InlinePressable.js +50 -0
- package/lib/Link/InlinePressable.native.js +101 -0
- package/lib/Link/Link.js +30 -13
- package/lib/Link/LinkBase.js +121 -146
- package/lib/Link/TextButton.js +47 -17
- package/lib/Link/index.js +39 -4
- package/lib/List/List.js +80 -0
- package/lib/List/ListItem.js +237 -0
- package/lib/List/index.js +13 -0
- package/lib/Modal/Modal.js +226 -0
- package/lib/Modal/dictionary.js +16 -0
- package/lib/Modal/index.js +13 -0
- package/lib/Notification/Notification.js +200 -0
- package/lib/Notification/dictionary.js +15 -0
- package/lib/Notification/index.js +13 -0
- package/lib/Pagination/PageButton.js +45 -46
- package/lib/Pagination/Pagination.js +70 -40
- package/lib/Pagination/SideButton.js +74 -58
- package/lib/Pagination/dictionary.js +9 -2
- package/lib/Pagination/index.js +13 -2
- package/lib/Pagination/usePagination.js +12 -2
- package/lib/Progress/Progress.js +99 -0
- package/lib/Progress/ProgressBar.js +146 -0
- package/lib/Progress/ProgressBarBackground.js +57 -0
- package/lib/Progress/index.js +16 -0
- package/lib/Radio/Radio.js +292 -0
- package/lib/Radio/RadioButton.js +141 -0
- package/lib/Radio/RadioGroup.js +233 -0
- package/lib/Radio/RadioInput.js +76 -0
- package/lib/Radio/RadioInput.native.js +14 -0
- package/lib/Radio/index.js +21 -0
- package/lib/RadioCard/RadioCard.js +240 -0
- package/lib/RadioCard/RadioCardGroup.js +251 -0
- package/lib/RadioCard/index.js +21 -0
- package/lib/Search/Search.js +243 -0
- package/lib/Search/dictionary.js +19 -0
- package/lib/Search/index.js +13 -0
- package/lib/Select/Group.js +33 -0
- package/lib/Select/Group.native.js +25 -0
- package/lib/Select/Item.js +29 -0
- package/lib/Select/Item.native.js +19 -0
- package/lib/Select/Picker.js +79 -0
- package/lib/Select/Picker.native.js +115 -0
- package/lib/Select/Select.js +300 -0
- package/lib/Select/index.js +19 -0
- package/lib/SideNav/Item.js +54 -33
- package/lib/SideNav/ItemContent.js +41 -15
- package/lib/SideNav/ItemsGroup.js +46 -27
- package/lib/SideNav/SideNav.js +92 -69
- package/lib/SideNav/index.js +15 -1
- package/lib/Skeleton/Skeleton.js +137 -0
- package/lib/Skeleton/index.js +13 -0
- package/lib/Skeleton/skeleton.constant.js +12 -0
- package/lib/Skeleton/skeletonWebAnimation.js +27 -0
- package/lib/Skeleton/useSkeletonNativeAnimation.js +37 -0
- package/lib/Spacer/Spacer.js +117 -0
- package/lib/Spacer/index.js +13 -0
- package/lib/StackView/StackView.js +129 -0
- package/lib/StackView/StackWrap.js +55 -0
- package/lib/StackView/StackWrap.native.js +14 -0
- package/lib/StackView/StackWrapBox.js +112 -0
- package/lib/StackView/StackWrapGap.js +71 -0
- package/lib/StackView/common.js +45 -0
- package/lib/StackView/getStackedContent.js +141 -0
- package/lib/StackView/index.js +29 -0
- package/lib/StepTracker/Step.js +245 -0
- package/lib/StepTracker/StepTracker.js +197 -0
- package/lib/StepTracker/dictionary.js +17 -0
- package/lib/StepTracker/index.js +13 -0
- package/lib/Tabs/HorizontalScroll.js +199 -0
- package/lib/Tabs/ScrollViewEnd.js +66 -0
- package/lib/Tabs/ScrollViewEnd.native.js +41 -0
- package/lib/Tabs/Tabs.js +117 -0
- package/lib/Tabs/TabsItem.js +234 -0
- package/lib/Tabs/TabsScrollButton.js +121 -0
- package/lib/Tabs/dictionary.js +18 -0
- package/lib/Tabs/index.js +13 -0
- package/lib/Tabs/itemPositions.js +128 -0
- package/lib/Tags/Tags.js +250 -0
- package/lib/Tags/index.js +13 -0
- package/lib/TextInput/TextArea.js +109 -0
- package/lib/TextInput/TextInput.js +75 -0
- package/lib/TextInput/TextInputBase.js +252 -0
- package/lib/TextInput/index.js +23 -0
- package/lib/TextInput/propTypes.js +42 -0
- package/lib/ThemeProvider/ThemeProvider.js +38 -14
- package/lib/ThemeProvider/index.js +61 -6
- package/lib/ThemeProvider/useSetTheme.js +14 -5
- package/lib/ThemeProvider/useTheme.js +13 -4
- package/lib/ThemeProvider/useThemeTokens.js +86 -19
- package/lib/ThemeProvider/utils/index.js +31 -2
- package/lib/ThemeProvider/utils/styles.js +52 -16
- package/lib/ThemeProvider/utils/theme-tokens.js +94 -16
- package/lib/ToggleSwitch/ToggleSwitch.js +76 -52
- package/lib/ToggleSwitch/index.js +13 -2
- package/lib/Tooltip/Backdrop.js +56 -0
- package/lib/Tooltip/Backdrop.native.js +59 -0
- package/lib/Tooltip/Tooltip.js +357 -0
- package/lib/Tooltip/dictionary.js +15 -0
- package/lib/Tooltip/getTooltipPosition.js +172 -0
- package/lib/Tooltip/index.js +13 -0
- package/lib/TooltipButton/TooltipButton.js +83 -0
- package/lib/TooltipButton/index.js +13 -0
- package/lib/Typography/Typography.js +58 -47
- package/lib/Typography/index.js +13 -2
- package/lib/ViewportProvider/ViewportProvider.js +46 -0
- package/lib/ViewportProvider/index.js +22 -38
- package/lib/ViewportProvider/useViewport.js +15 -0
- package/lib/ViewportProvider/useViewportListener.js +57 -0
- package/lib/index.js +509 -19
- package/lib/utils/a11y/index.js +18 -0
- package/lib/utils/a11y/textSize.js +49 -0
- package/lib/utils/animation/index.js +15 -2
- package/lib/utils/animation/useVerticalExpandAnimation.js +28 -11
- package/lib/utils/children.js +87 -0
- package/lib/utils/index.js +163 -4
- package/lib/utils/info/index.js +19 -0
- package/lib/utils/info/platform/index.js +23 -0
- package/lib/utils/info/platform/platform.android.js +8 -0
- package/lib/utils/info/platform/platform.ios.js +8 -0
- package/lib/utils/info/platform/platform.js +8 -0
- package/lib/utils/info/platform/platform.native.js +11 -0
- package/lib/utils/info/versions.js +16 -0
- package/lib/utils/input.js +54 -34
- package/lib/utils/pressability.js +120 -0
- package/lib/utils/propTypes.js +269 -108
- package/lib/utils/useCopy.js +51 -0
- package/lib/utils/useHash.js +48 -0
- package/lib/utils/useHash.native.js +15 -0
- package/lib/utils/useResponsiveProp.js +59 -0
- package/lib/utils/{spacing/useSpacingScale.js → useSpacingScale.js} +45 -12
- package/lib/utils/useUniqueId.js +21 -0
- package/package.json +11 -8
- package/release-context.json +4 -4
- package/src/ActivityIndicator/{Spinner.web.jsx → Spinner.jsx} +0 -0
- package/src/Box/Box.jsx +13 -4
- package/src/Button/Button.jsx +9 -5
- package/src/Button/ButtonBase.jsx +74 -86
- package/src/Button/ButtonGroup.jsx +24 -41
- package/src/Button/ButtonLink.jsx +14 -4
- package/src/Button/propTypes.js +12 -2
- package/src/Card/Card.jsx +4 -30
- package/src/Card/CardBase.jsx +57 -0
- package/src/Card/PressableCardBase.jsx +112 -0
- package/src/Card/index.js +3 -0
- package/src/Checkbox/Checkbox.jsx +274 -0
- package/src/Checkbox/CheckboxGroup.jsx +196 -0
- package/src/Checkbox/CheckboxInput.jsx +55 -0
- package/src/Checkbox/CheckboxInput.native.jsx +6 -0
- package/src/Checkbox/index.js +5 -0
- package/src/Divider/Divider.jsx +38 -3
- package/src/ExpandCollapse/Control.jsx +1 -1
- package/src/Feedback/Feedback.jsx +108 -0
- package/src/Feedback/index.js +3 -0
- package/src/Fieldset/Fieldset.jsx +129 -0
- package/src/Fieldset/FieldsetContainer.jsx +22 -0
- package/src/Fieldset/FieldsetContainer.native.jsx +16 -0
- package/src/Fieldset/Legend.jsx +16 -0
- package/src/Fieldset/Legend.native.jsx +22 -0
- package/src/Fieldset/cssReset.js +14 -0
- package/src/Fieldset/index.js +3 -0
- package/src/Icon/Icon.jsx +23 -27
- package/src/Icon/IconText.jsx +63 -0
- package/src/Icon/index.js +3 -2
- package/src/InputLabel/InputLabel.jsx +106 -0
- package/src/InputLabel/LabelContent.jsx +13 -0
- package/src/InputLabel/LabelContent.native.jsx +6 -0
- package/src/InputLabel/index.js +3 -0
- package/src/InputSupports/InputSupports.jsx +75 -0
- package/src/InputSupports/index.js +3 -0
- package/src/InputSupports/propTypes.js +44 -0
- package/src/InputSupports/useInputSupports.js +30 -0
- package/src/Link/ChevronLink.jsx +28 -7
- package/src/Link/InlinePressable.jsx +37 -0
- package/src/Link/InlinePressable.native.jsx +73 -0
- package/src/Link/Link.jsx +17 -13
- package/src/Link/LinkBase.jsx +71 -146
- package/src/Link/TextButton.jsx +25 -11
- package/src/Link/index.js +2 -1
- package/src/List/List.jsx +47 -0
- package/src/List/ListItem.jsx +187 -0
- package/src/List/index.js +3 -0
- package/src/Modal/Modal.jsx +185 -0
- package/src/Modal/dictionary.js +9 -0
- package/src/Modal/index.js +3 -0
- package/src/Notification/Notification.jsx +149 -0
- package/src/Notification/dictionary.js +8 -0
- package/src/Notification/index.js +3 -0
- package/src/Pagination/PageButton.jsx +3 -17
- package/src/Pagination/SideButton.jsx +27 -38
- package/src/Progress/Progress.jsx +77 -0
- package/src/Progress/ProgressBar.jsx +110 -0
- package/src/Progress/ProgressBarBackground.jsx +34 -0
- package/src/Progress/index.js +6 -0
- package/src/Radio/Radio.jsx +233 -0
- package/src/Radio/RadioButton.jsx +131 -0
- package/src/Radio/RadioGroup.jsx +198 -0
- package/src/Radio/RadioInput.jsx +57 -0
- package/src/Radio/RadioInput.native.jsx +6 -0
- package/src/Radio/index.js +5 -0
- package/src/RadioCard/RadioCard.jsx +191 -0
- package/src/RadioCard/RadioCardGroup.jsx +211 -0
- package/src/RadioCard/index.js +5 -0
- package/src/Search/Search.jsx +204 -0
- package/src/Search/dictionary.js +12 -0
- package/src/Search/index.js +3 -0
- package/src/Select/Group.jsx +15 -0
- package/src/Select/Group.native.jsx +14 -0
- package/src/Select/Item.jsx +11 -0
- package/src/Select/Item.native.jsx +10 -0
- package/src/Select/Picker.jsx +67 -0
- package/src/Select/Picker.native.jsx +95 -0
- package/src/Select/Select.jsx +255 -0
- package/src/Select/index.js +8 -0
- package/src/SideNav/Item.jsx +2 -2
- package/src/Skeleton/Skeleton.jsx +98 -0
- package/src/Skeleton/index.js +3 -0
- package/src/Skeleton/skeleton.constant.js +3 -0
- package/src/Skeleton/skeletonWebAnimation.js +13 -0
- package/src/Skeleton/useSkeletonNativeAnimation.js +27 -0
- package/src/Spacer/Spacer.jsx +91 -0
- package/src/Spacer/index.js +3 -0
- package/src/StackView/StackView.jsx +111 -0
- package/src/StackView/StackWrap.jsx +41 -0
- package/src/StackView/StackWrap.native.jsx +4 -0
- package/src/StackView/StackWrapBox.jsx +94 -0
- package/src/StackView/StackWrapGap.jsx +49 -0
- package/src/StackView/common.jsx +28 -0
- package/src/StackView/getStackedContent.jsx +112 -0
- package/src/StackView/index.js +6 -0
- package/src/StepTracker/Step.jsx +202 -0
- package/src/StepTracker/StepTracker.jsx +163 -0
- package/src/StepTracker/dictionary.js +10 -0
- package/src/StepTracker/index.js +3 -0
- package/src/Tabs/HorizontalScroll.jsx +165 -0
- package/src/Tabs/ScrollViewEnd.jsx +53 -0
- package/src/Tabs/ScrollViewEnd.native.jsx +24 -0
- package/src/Tabs/Tabs.jsx +89 -0
- package/src/Tabs/TabsItem.jsx +204 -0
- package/src/Tabs/TabsScrollButton.jsx +100 -0
- package/src/Tabs/dictionary.js +11 -0
- package/src/Tabs/index.js +3 -0
- package/src/Tabs/itemPositions.js +101 -0
- package/src/Tags/Tags.jsx +207 -0
- package/src/Tags/index.js +3 -0
- package/src/TextInput/TextArea.jsx +78 -0
- package/src/TextInput/TextInput.jsx +52 -0
- package/src/TextInput/TextInputBase.jsx +210 -0
- package/src/TextInput/index.js +4 -0
- package/src/TextInput/propTypes.js +29 -0
- package/src/ThemeProvider/useThemeTokens.js +56 -5
- package/src/ThemeProvider/utils/styles.js +18 -5
- package/src/ThemeProvider/utils/theme-tokens.js +46 -5
- package/src/ToggleSwitch/ToggleSwitch.jsx +3 -4
- package/src/Tooltip/Backdrop.jsx +60 -0
- package/src/Tooltip/Backdrop.native.jsx +33 -0
- package/src/Tooltip/Tooltip.jsx +294 -0
- package/src/Tooltip/dictionary.js +8 -0
- package/src/Tooltip/getTooltipPosition.js +161 -0
- package/src/Tooltip/index.js +3 -0
- package/src/TooltipButton/TooltipButton.jsx +49 -0
- package/src/TooltipButton/index.js +3 -0
- package/src/Typography/Typography.jsx +10 -24
- package/src/ViewportProvider/ViewportProvider.jsx +21 -0
- package/src/ViewportProvider/index.jsx +2 -41
- package/src/ViewportProvider/useViewport.js +5 -0
- package/src/ViewportProvider/useViewportListener.js +43 -0
- package/src/index.js +34 -2
- package/src/utils/a11y/index.js +1 -0
- package/src/utils/a11y/textSize.js +30 -0
- package/src/utils/children.jsx +66 -0
- package/src/utils/index.js +11 -1
- package/src/utils/info/index.js +8 -0
- package/src/utils/info/platform/index.js +11 -0
- package/src/utils/info/platform/platform.android.js +1 -0
- package/src/utils/info/platform/platform.ios.js +1 -0
- package/src/utils/info/platform/platform.js +1 -0
- package/src/utils/info/platform/platform.native.js +4 -0
- package/src/utils/info/versions.js +6 -0
- package/src/utils/input.js +22 -13
- package/src/utils/pressability.js +96 -0
- package/src/utils/propTypes.js +195 -47
- package/src/utils/useCopy.js +39 -0
- package/src/utils/useHash.js +34 -0
- package/src/utils/useHash.native.js +6 -0
- package/src/utils/useResponsiveProp.js +50 -0
- package/src/utils/{spacing/useSpacingScale.js → useSpacingScale.js} +25 -10
- package/src/utils/useUniqueId.js +14 -0
- package/stories/A11yText/A11yText.stories.jsx +15 -13
- package/stories/ActivityIndicator/ActivityIndicator.stories.jsx +11 -2
- package/stories/Box/Box.stories.jsx +29 -2
- package/stories/Button/Button.stories.jsx +21 -20
- package/stories/Button/ButtonGroup.stories.jsx +2 -1
- package/stories/Button/ButtonLink.stories.jsx +6 -4
- package/stories/Card/Card.stories.jsx +13 -1
- package/stories/Checkbox/Checkbox.stories.jsx +94 -0
- package/stories/Divider/Divider.stories.jsx +26 -2
- package/stories/ExpandCollapse/ExpandCollapse.stories.jsx +74 -79
- package/stories/Feedback/Feedback.stories.jsx +96 -0
- package/stories/FlexGrid/01 FlexGrid.stories.jsx +20 -7
- package/stories/Icon/Icon.stories.jsx +15 -6
- package/stories/InputLabel/InputLabel.stories.jsx +42 -0
- package/stories/Link/ChevronLink.stories.jsx +20 -4
- package/stories/Link/Link.stories.jsx +39 -3
- package/stories/Link/TextButton.stories.jsx +24 -2
- package/stories/List/List.stories.jsx +117 -0
- package/stories/Modal/Modal.stories.jsx +29 -0
- package/stories/Notification/Notification.stories.jsx +82 -0
- package/stories/Pagination/Pagination.stories.jsx +28 -14
- package/stories/Progress/Progress.stories.jsx +93 -0
- package/stories/Radio/Radio.stories.jsx +100 -0
- package/stories/RadioCard/RadioCard.stories.jsx +98 -0
- package/stories/Search/Search.stories.jsx +16 -0
- package/stories/Select/Select.stories.jsx +55 -0
- package/stories/SideNav/SideNav.stories.jsx +17 -2
- package/stories/Skeleton/Skeleton.stories.jsx +36 -0
- package/stories/Spacer/Spacer.stories.jsx +38 -0
- package/stories/StackView/StackView.stories.jsx +75 -0
- package/stories/StackView/StackWrap.stories.jsx +64 -0
- package/stories/StepTracker/StepTracker.stories.jsx +71 -0
- package/stories/Tabs/Tabs.stories.jsx +97 -0
- package/stories/Tags/Tags.stories.jsx +69 -0
- package/stories/TextInput/TextArea.stories.jsx +100 -0
- package/stories/TextInput/TextInput.stories.jsx +103 -0
- package/stories/ToggleSwitch/ToggleSwitch.stories.jsx +16 -3
- package/stories/Tooltip/Tooltip.stories.jsx +81 -0
- package/stories/TooltipButton/TooltipButton.stories.jsx +11 -0
- package/stories/Typography/Typography.stories.jsx +12 -3
- package/stories/{platform-supports.web.jsx → platform-supports.jsx} +1 -1
- package/stories/supports.jsx +110 -14
- package/__fixtures__/accessible.icon.svg +0 -6
- package/babel.config.json +0 -8
- package/lib/ActivityIndicator/Spinner.web.js +0 -55
- package/lib/Pagination/useCopy.js +0 -10
- package/lib/config/svgr-icons-web.js +0 -9
- package/lib/config/svgr-icons.js +0 -52
- package/lib/utils/spacing/index.js +0 -2
- package/lib/utils/spacing/utils.js +0 -32
- package/src/Pagination/useCopy.js +0 -7
- package/src/config/svgr-icons-web.js +0 -11
- package/src/config/svgr-icons.js +0 -46
- package/src/utils/spacing/index.js +0 -3
- package/src/utils/spacing/utils.js +0 -28
|
@@ -1,27 +1,36 @@
|
|
|
1
|
-
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import { View, Platform } from 'react-native';
|
|
4
|
-
import ButtonBase from './ButtonBase';
|
|
5
|
-
import { useViewport } from '../ViewportProvider';
|
|
6
|
-
import { useThemeTokens } from '../ThemeProvider';
|
|
7
|
-
import { a11yProps, pressProps, variantProp, getTokensPropType } from '../utils/propTypes';
|
|
8
|
-
import { useMultipleInputValues } from '../utils/input';
|
|
9
|
-
|
|
10
|
-
const selectContainerStyles = ({
|
|
11
|
-
direction
|
|
12
|
-
}) => ({
|
|
13
|
-
flexDirection: direction
|
|
14
|
-
});
|
|
1
|
+
"use strict";
|
|
15
2
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}, index) => ({
|
|
19
|
-
marginLeft: index && gap
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
20
5
|
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
|
|
13
|
+
|
|
14
|
+
var _ButtonBase = _interopRequireDefault(require("./ButtonBase"));
|
|
15
|
+
|
|
16
|
+
var _StackView = require("../StackView");
|
|
17
|
+
|
|
18
|
+
var _ViewportProvider = require("../ViewportProvider");
|
|
19
|
+
|
|
20
|
+
var _ThemeProvider = require("../ThemeProvider");
|
|
21
|
+
|
|
22
|
+
var _propTypes2 = require("../utils/propTypes");
|
|
23
|
+
|
|
24
|
+
var _input = require("../utils/input");
|
|
25
|
+
|
|
26
|
+
var _pressability = require("../utils/pressability");
|
|
27
|
+
|
|
28
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
29
|
+
|
|
30
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
31
|
|
|
22
32
|
const ButtonGroup = ({
|
|
23
33
|
variant,
|
|
24
|
-
buttonVariant = {},
|
|
25
34
|
tokens,
|
|
26
35
|
items = [],
|
|
27
36
|
values,
|
|
@@ -30,135 +39,124 @@ const ButtonGroup = ({
|
|
|
30
39
|
onChange,
|
|
31
40
|
readOnly = false,
|
|
32
41
|
inactive = false,
|
|
33
|
-
accessibilityRole = maxValues === 1 ? '
|
|
34
|
-
:
|
|
42
|
+
accessibilityRole = maxValues === 1 ? 'radiogroup' // radiogroup is cross-platform; only web aria has generic groups
|
|
43
|
+
: _Platform.default.select({
|
|
35
44
|
web: 'group',
|
|
36
45
|
default: 'none'
|
|
37
46
|
}),
|
|
38
47
|
...rest
|
|
39
48
|
}) => {
|
|
40
|
-
const viewport = useViewport();
|
|
41
|
-
const themeTokens = useThemeTokens('ButtonGroup', tokens, variant, {
|
|
49
|
+
const viewport = (0, _ViewportProvider.useViewport)();
|
|
50
|
+
const themeTokens = (0, _ThemeProvider.useThemeTokens)('ButtonGroup', tokens, variant, {
|
|
42
51
|
viewport
|
|
43
52
|
});
|
|
44
|
-
const
|
|
53
|
+
const stackTokens = (0, _propTypes2.selectTokens)('StackView', themeTokens);
|
|
54
|
+
const {
|
|
55
|
+
direction,
|
|
56
|
+
space
|
|
57
|
+
} = themeTokens;
|
|
58
|
+
const getButtonTokens = (0, _ThemeProvider.useThemeTokensCallback)('ButtonGroupItem', tokens, variant);
|
|
45
59
|
const {
|
|
46
60
|
currentValues,
|
|
47
61
|
toggleOneValue
|
|
48
|
-
} = useMultipleInputValues({
|
|
62
|
+
} = (0, _input.useMultipleInputValues)({
|
|
49
63
|
initialValues,
|
|
50
64
|
values,
|
|
51
65
|
maxValues,
|
|
52
66
|
onChange,
|
|
53
67
|
readOnly
|
|
54
68
|
});
|
|
55
|
-
|
|
69
|
+
|
|
70
|
+
const a11y = _propTypes2.a11yProps.select({
|
|
56
71
|
accessibilityRole,
|
|
57
72
|
...rest
|
|
58
73
|
});
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
const itemA11y = {
|
|
87
|
-
accessibilityState: {
|
|
88
|
-
checked: isSelected
|
|
89
|
-
},
|
|
90
|
-
accessibilityRole: itemA11yRole,
|
|
91
|
-
accessibilityLabel,
|
|
92
|
-
...Platform.select({
|
|
93
|
-
web: {
|
|
94
|
-
// accessibilityPosInSet etc exists in React Native Web main branch
|
|
95
|
-
// but not in a release compatible with Expo etc; just use `aria-*`
|
|
96
|
-
'aria-setsize': items.length,
|
|
97
|
-
'aria-posinset': index + 1
|
|
74
|
+
|
|
75
|
+
const itemA11yRole = a11y.accessibilityRole === 'radiogroup' ? 'radio' : 'checkbox';
|
|
76
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_StackView.StackWrap, { ...a11y,
|
|
77
|
+
space: space,
|
|
78
|
+
direction: direction,
|
|
79
|
+
tokens: stackTokens,
|
|
80
|
+
children: items.map(({
|
|
81
|
+
label,
|
|
82
|
+
id = label,
|
|
83
|
+
accessibilityLabel
|
|
84
|
+
}, index) => {
|
|
85
|
+
const isSelected = currentValues.includes(id); // Pass an object of relevant component state as first argument for any passed-in press handlers
|
|
86
|
+
|
|
87
|
+
const pressHandlers = (0, _pressability.getPressHandlersWithArgs)(rest, [{
|
|
88
|
+
id,
|
|
89
|
+
label,
|
|
90
|
+
currentValues
|
|
91
|
+
}]);
|
|
92
|
+
|
|
93
|
+
const handlePress = () => {
|
|
94
|
+
if (pressHandlers.onPress) pressHandlers.onPress();
|
|
95
|
+
toggleOneValue(id);
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
const itemA11y = {
|
|
99
|
+
accessibilityState: {
|
|
100
|
+
checked: isSelected
|
|
98
101
|
},
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
selected: isSelected,
|
|
116
|
-
inactive: inactive
|
|
117
|
-
}, itemA11y), label);
|
|
118
|
-
}));
|
|
102
|
+
accessibilityRole: itemA11yRole,
|
|
103
|
+
accessibilityLabel,
|
|
104
|
+
..._propTypes2.a11yProps.getPositionInSet(items.length, index)
|
|
105
|
+
}; // Ensure button is direct child of group as MacOS voiceover only applies "X of Y" to
|
|
106
|
+
// "radio" if it's a direct child of "radiogroup", even if aria-posinset etc exists
|
|
107
|
+
|
|
108
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ButtonBase.default, { ...pressHandlers,
|
|
109
|
+
onPress: handlePress,
|
|
110
|
+
tokens: getButtonTokens,
|
|
111
|
+
selected: isSelected,
|
|
112
|
+
inactive: inactive,
|
|
113
|
+
...itemA11y,
|
|
114
|
+
children: label
|
|
115
|
+
}, id);
|
|
116
|
+
})
|
|
117
|
+
});
|
|
119
118
|
};
|
|
120
119
|
|
|
121
|
-
ButtonGroup.propTypes = { ...a11yProps.propTypes,
|
|
122
|
-
...pressProps.propTypes,
|
|
123
|
-
tokens: getTokensPropType('ButtonGroup'),
|
|
124
|
-
variant: variantProp.propType,
|
|
125
|
-
buttonVariant: variantProp.propType,
|
|
120
|
+
ButtonGroup.propTypes = { ..._propTypes2.a11yProps.propTypes,
|
|
121
|
+
..._propTypes2.pressProps.propTypes,
|
|
122
|
+
tokens: (0, _propTypes2.getTokensPropType)('ButtonGroup'),
|
|
123
|
+
variant: _propTypes2.variantProp.propType,
|
|
126
124
|
|
|
127
125
|
/**
|
|
128
126
|
* The maximum number of items a user may select at once. Defaults to 1 and behaves
|
|
129
127
|
* like radio buttons. To have no limit and allow any number of selections, pass `null`.
|
|
130
128
|
*/
|
|
131
|
-
maxValues:
|
|
129
|
+
maxValues: _propTypes.default.number,
|
|
132
130
|
|
|
133
131
|
/**
|
|
134
132
|
* The options a user may select
|
|
135
133
|
*/
|
|
136
|
-
items:
|
|
134
|
+
items: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
137
135
|
/**
|
|
138
136
|
* The text displayed to the user in the button, describing this option,
|
|
139
137
|
* passed to the button as its child.
|
|
140
138
|
*/
|
|
141
|
-
label:
|
|
139
|
+
label: _propTypes.default.string.isRequired,
|
|
142
140
|
|
|
143
141
|
/**
|
|
144
142
|
* An optional accessibility label may be passed to ButtonGroup Buttons
|
|
145
143
|
* which is applied as normal for a React Native accessibilityLabel prop.
|
|
146
144
|
*/
|
|
147
|
-
accessibilityLabel:
|
|
145
|
+
accessibilityLabel: _propTypes.default.string,
|
|
148
146
|
|
|
149
147
|
/**
|
|
150
148
|
* An optional unique string may be provided to identify this option,
|
|
151
149
|
* which will be used in code and passed to any onChange function.
|
|
152
150
|
* If not provided, the label is used.
|
|
153
151
|
*/
|
|
154
|
-
id:
|
|
152
|
+
id: _propTypes.default.string
|
|
155
153
|
})),
|
|
156
154
|
|
|
157
155
|
/**
|
|
158
156
|
* If provided, this function is called when the current selection is changed
|
|
159
157
|
* and is passed an array of the `id`s of all currently selected `items`.
|
|
160
158
|
*/
|
|
161
|
-
onChange:
|
|
159
|
+
onChange: _propTypes.default.func,
|
|
162
160
|
|
|
163
161
|
/**
|
|
164
162
|
* If the selected item(s) in the button group are to be controlled externally by
|
|
@@ -166,13 +164,14 @@ ButtonGroup.propTypes = { ...a11yProps.propTypes,
|
|
|
166
164
|
* Passing an array for "values" makes the ButtonGroup a "controlled" component that
|
|
167
165
|
* expects its state to be handled via `onChange` and so doesn't handle it itself.
|
|
168
166
|
*/
|
|
169
|
-
values:
|
|
167
|
+
values: _propTypes.default.arrayOf(_propTypes.default.string),
|
|
170
168
|
|
|
171
169
|
/**
|
|
172
170
|
* If `values` is not passed, making the ButtonGroup an "uncontrolled" component
|
|
173
171
|
* managing its own selected state, a default set of selections may be provided.
|
|
174
172
|
* Changing the `initialValues` does not change the user's selections.
|
|
175
173
|
*/
|
|
176
|
-
initialValues:
|
|
174
|
+
initialValues: _propTypes.default.arrayOf(_propTypes.default.string)
|
|
177
175
|
};
|
|
178
|
-
|
|
176
|
+
var _default = ButtonGroup;
|
|
177
|
+
exports.default = _default;
|
package/lib/Button/ButtonLink.js
CHANGED
|
@@ -1,28 +1,56 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _ButtonBase = _interopRequireDefault(require("./ButtonBase"));
|
|
11
|
+
|
|
12
|
+
var _propTypes = _interopRequireWildcard(require("./propTypes"));
|
|
13
|
+
|
|
14
|
+
var _propTypes2 = require("../utils/propTypes");
|
|
15
|
+
|
|
16
|
+
var _ThemeProvider = require("../ThemeProvider");
|
|
17
|
+
|
|
18
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
+
|
|
20
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
|
+
|
|
22
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
|
+
|
|
24
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
+
|
|
5
26
|
/**
|
|
6
27
|
* `ButtonLink` is a component with the semantics and behaviour of a link, but with the visual appearance of a button.
|
|
7
28
|
* ButtonLink is a block-level component and should not be used inline.
|
|
8
29
|
*/
|
|
9
|
-
|
|
10
30
|
const ButtonLink = ({
|
|
11
31
|
accessibilityRole = 'link',
|
|
32
|
+
tokens,
|
|
33
|
+
variant,
|
|
12
34
|
...props
|
|
13
35
|
}) => {
|
|
14
36
|
const {
|
|
15
37
|
hrefAttrs,
|
|
16
38
|
rest
|
|
17
|
-
} = hrefAttrsProp.bundle(props);
|
|
18
|
-
|
|
39
|
+
} = _propTypes2.hrefAttrsProp.bundle(props);
|
|
40
|
+
|
|
41
|
+
const getTokens = (0, _ThemeProvider.useThemeTokensCallback)('Button', tokens, variant);
|
|
42
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ButtonBase.default, {
|
|
19
43
|
accessibilityRole: accessibilityRole,
|
|
20
|
-
|
|
21
|
-
|
|
44
|
+
tokens: getTokens,
|
|
45
|
+
hrefAttrs: hrefAttrs,
|
|
46
|
+
...rest
|
|
47
|
+
});
|
|
22
48
|
};
|
|
23
49
|
|
|
24
|
-
ButtonLink.propTypes = { ...a11yProps.types,
|
|
25
|
-
...
|
|
26
|
-
...linkProps.types
|
|
50
|
+
ButtonLink.propTypes = { ..._propTypes2.a11yProps.types,
|
|
51
|
+
..._propTypes.default,
|
|
52
|
+
..._propTypes2.linkProps.types,
|
|
53
|
+
children: _propTypes.textAndA11yText
|
|
27
54
|
};
|
|
28
|
-
|
|
55
|
+
var _default = ButtonLink;
|
|
56
|
+
exports.default = _default;
|
package/lib/Button/index.js
CHANGED
|
@@ -1,4 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "Button", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _Button.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "ButtonLink", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _ButtonLink.default;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "ButtonGroup", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _ButtonGroup.default;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
var _Button = _interopRequireDefault(require("./Button"));
|
|
26
|
+
|
|
27
|
+
var _ButtonLink = _interopRequireDefault(require("./ButtonLink"));
|
|
28
|
+
|
|
29
|
+
var _ButtonGroup = _interopRequireDefault(require("./ButtonGroup"));
|
|
30
|
+
|
|
31
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
package/lib/Button/propTypes.js
CHANGED
|
@@ -1,27 +1,50 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.textAndA11yText = void 0;
|
|
7
|
+
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
|
|
10
|
+
var _airbnbPropTypes = _interopRequireDefault(require("airbnb-prop-types"));
|
|
11
|
+
|
|
12
|
+
var _propTypes2 = require("../utils/propTypes");
|
|
13
|
+
|
|
14
|
+
var _A11yText = _interopRequireDefault(require("../A11yText"));
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
const textAndA11yText = _airbnbPropTypes.default.childrenOf(_propTypes.default.oneOfType([_airbnbPropTypes.default.elementType(_A11yText.default), _propTypes.default.string]));
|
|
19
|
+
|
|
20
|
+
exports.textAndA11yText = textAndA11yText;
|
|
3
21
|
const buttonPropTypes = {
|
|
4
22
|
/**
|
|
5
23
|
* If true, prevents the button from being pressed, changes the cursor (on web) and accessibility
|
|
6
24
|
* attributes to communicate this to the user, and applies `inactive: true` appearances from the theme
|
|
7
25
|
*/
|
|
8
|
-
inactive:
|
|
26
|
+
inactive: _propTypes.default.bool,
|
|
9
27
|
|
|
10
28
|
/**
|
|
11
29
|
* Alias for `inactive`
|
|
12
30
|
*/
|
|
13
|
-
disabled:
|
|
31
|
+
disabled: _propTypes.default.bool,
|
|
14
32
|
|
|
15
33
|
/**
|
|
16
|
-
* Button's children must be either
|
|
34
|
+
* Button's children must be either:
|
|
35
|
+
* - One or more text strings and / or A11yText components
|
|
36
|
+
* - A render function with contents that responds to current button state by being passed an object of:
|
|
37
|
+
* ```
|
|
17
38
|
* { hovered<bool>, focused<bool>, pressed<bool>, inactive<bool>, selected<bool>, textStyles<RNStyle> }
|
|
39
|
+
* ```
|
|
18
40
|
*/
|
|
19
|
-
children:
|
|
41
|
+
children: _propTypes.default.oneOfType([_propTypes.default.func, textAndA11yText]).isRequired,
|
|
20
42
|
|
|
21
43
|
/**
|
|
22
44
|
* Function called when the button is pressed. Required unless the button has a href.
|
|
23
45
|
*/
|
|
24
|
-
onPress:
|
|
25
|
-
variant: variantProp.propType
|
|
46
|
+
onPress: _propTypes.default.func,
|
|
47
|
+
variant: _propTypes2.variantProp.propType
|
|
26
48
|
};
|
|
27
|
-
|
|
49
|
+
var _default = buttonPropTypes;
|
|
50
|
+
exports.default = _default;
|
package/lib/Card/Card.js
CHANGED
|
@@ -1,32 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import { View } from 'react-native';
|
|
4
|
-
import { applyShadowToken, useThemeTokens } from '../ThemeProvider';
|
|
5
|
-
import { getTokensPropType, variantProp } from '../utils';
|
|
6
|
-
import { useViewport } from '../ViewportProvider';
|
|
7
|
-
import { a11yProps } from '../utils/propTypes'; // Ensure explicit selection of tokens
|
|
1
|
+
"use strict";
|
|
8
2
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
borderColor,
|
|
12
|
-
borderRadius,
|
|
13
|
-
borderWidth,
|
|
14
|
-
paddingBottom,
|
|
15
|
-
paddingLeft,
|
|
16
|
-
paddingRight,
|
|
17
|
-
paddingTop,
|
|
18
|
-
shadow
|
|
19
|
-
}) => ({
|
|
20
|
-
backgroundColor,
|
|
21
|
-
borderColor,
|
|
22
|
-
borderRadius,
|
|
23
|
-
borderWidth,
|
|
24
|
-
paddingBottom,
|
|
25
|
-
paddingLeft,
|
|
26
|
-
paddingRight,
|
|
27
|
-
paddingTop,
|
|
28
|
-
...applyShadowToken(shadow)
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
29
5
|
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _ThemeProvider = require("../ThemeProvider");
|
|
13
|
+
|
|
14
|
+
var _utils = require("../utils");
|
|
15
|
+
|
|
16
|
+
var _ViewportProvider = require("../ViewportProvider");
|
|
17
|
+
|
|
18
|
+
var _propTypes2 = require("../utils/propTypes");
|
|
19
|
+
|
|
20
|
+
var _CardBase = _interopRequireDefault(require("./CardBase"));
|
|
21
|
+
|
|
22
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
|
+
|
|
24
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
+
|
|
30
26
|
/**
|
|
31
27
|
* A basic card component, unstyled by default.
|
|
32
28
|
*
|
|
@@ -75,29 +71,28 @@ const selectStyles = ({
|
|
|
75
71
|
* you automatically make inaccessible its children, which may or may not be appropriate
|
|
76
72
|
* depending on what you are trying to achieve.
|
|
77
73
|
*/
|
|
78
|
-
|
|
79
|
-
|
|
80
74
|
const Card = ({
|
|
81
75
|
children,
|
|
82
76
|
tokens,
|
|
83
77
|
variant,
|
|
84
78
|
...rest
|
|
85
79
|
}) => {
|
|
86
|
-
const viewport = useViewport();
|
|
87
|
-
const themeTokens = useThemeTokens('Card', tokens, variant, {
|
|
80
|
+
const viewport = (0, _ViewportProvider.useViewport)();
|
|
81
|
+
const themeTokens = (0, _ThemeProvider.useThemeTokens)('Card', tokens, variant, {
|
|
88
82
|
viewport
|
|
89
83
|
});
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}
|
|
84
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardBase.default, {
|
|
85
|
+
tokens: themeTokens,
|
|
86
|
+
...rest,
|
|
87
|
+
children: children
|
|
88
|
+
});
|
|
95
89
|
};
|
|
96
90
|
|
|
97
91
|
Card.propTypes = {
|
|
98
|
-
children:
|
|
99
|
-
tokens: getTokensPropType('Card'),
|
|
100
|
-
variant: variantProp.propType,
|
|
101
|
-
...a11yProps.types
|
|
92
|
+
children: _propTypes.default.node,
|
|
93
|
+
tokens: (0, _utils.getTokensPropType)('Card'),
|
|
94
|
+
variant: _utils.variantProp.propType,
|
|
95
|
+
..._propTypes2.a11yProps.types
|
|
102
96
|
};
|
|
103
|
-
|
|
97
|
+
var _default = Card;
|
|
98
|
+
exports.default = _default;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
|
|
13
|
+
|
|
14
|
+
var _ThemeProvider = require("../ThemeProvider");
|
|
15
|
+
|
|
16
|
+
var _utils = require("../utils");
|
|
17
|
+
|
|
18
|
+
var _propTypes2 = require("../utils/propTypes");
|
|
19
|
+
|
|
20
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
|
+
|
|
22
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
|
+
|
|
24
|
+
// Ensure explicit selection of tokens
|
|
25
|
+
const selectStyles = ({
|
|
26
|
+
flex,
|
|
27
|
+
backgroundColor,
|
|
28
|
+
borderColor,
|
|
29
|
+
borderRadius,
|
|
30
|
+
borderWidth,
|
|
31
|
+
paddingBottom,
|
|
32
|
+
paddingLeft,
|
|
33
|
+
paddingRight,
|
|
34
|
+
paddingTop,
|
|
35
|
+
minWidth,
|
|
36
|
+
shadow
|
|
37
|
+
}) => ({
|
|
38
|
+
flex,
|
|
39
|
+
backgroundColor,
|
|
40
|
+
borderColor,
|
|
41
|
+
borderRadius,
|
|
42
|
+
borderWidth,
|
|
43
|
+
paddingBottom,
|
|
44
|
+
paddingLeft,
|
|
45
|
+
paddingRight,
|
|
46
|
+
paddingTop,
|
|
47
|
+
minWidth,
|
|
48
|
+
...(0, _ThemeProvider.applyShadowToken)(shadow)
|
|
49
|
+
});
|
|
50
|
+
/**
|
|
51
|
+
* A themeless base component for Card which components can apply theme tokens to. Not
|
|
52
|
+
* intended to be used in apps or sites directly: build themed components on top of this.
|
|
53
|
+
*/
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
const CardBase = ({
|
|
57
|
+
children,
|
|
58
|
+
tokens,
|
|
59
|
+
...rest
|
|
60
|
+
}) => {
|
|
61
|
+
const cardStyle = selectStyles(typeof tokens === 'function' ? tokens() : tokens);
|
|
62
|
+
const props = { ..._propTypes2.a11yProps.select(rest),
|
|
63
|
+
..._propTypes2.viewProps.select(rest)
|
|
64
|
+
};
|
|
65
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
66
|
+
style: cardStyle,
|
|
67
|
+
...props,
|
|
68
|
+
children: children
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
CardBase.propTypes = {
|
|
73
|
+
children: _propTypes.default.node,
|
|
74
|
+
tokens: (0, _utils.getTokensPropType)('Card'),
|
|
75
|
+
..._propTypes2.a11yProps.types
|
|
76
|
+
};
|
|
77
|
+
var _default = CardBase;
|
|
78
|
+
exports.default = _default;
|