@telus-uds/components-base 0.0.2-prerelease.6 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +9 -0
- package/.ultra.cache.json +1 -1
- package/CHANGELOG.md +85 -0
- package/README.md +4 -2
- package/__fixtures__/Accessible.js +33 -0
- package/__fixtures__/Accessible.native.js +32 -0
- package/__fixtures__/test-utils.js +25 -0
- package/__fixtures__/testTheme.js +851 -57
- package/__tests__/ActivityIndicator/ActivityIndicator.test.jsx +1 -1
- package/__tests__/Button/ButtonBase.test.jsx +2 -31
- package/__tests__/Button/ButtonGroup.test.jsx +6 -7
- package/__tests__/Checkbox/Checkbox.test.jsx +94 -0
- package/__tests__/Checkbox/CheckboxGroup.test.jsx +246 -0
- package/__tests__/ExpandCollapse/ExpandCollapse.test.jsx +2 -2
- package/__tests__/HorizontalScroll/HorizontalScroll.test.jsx +164 -0
- package/__tests__/Icon/Icon.test.jsx +3 -3
- package/__tests__/IconButton/IconButton.test.jsx +52 -0
- package/__tests__/InputSupports/InputSupports.test.jsx +50 -0
- package/__tests__/Link/LinkBase.test.jsx +0 -14
- 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 +220 -0
- package/__tests__/RadioCard/RadioCard.test.jsx +87 -0
- package/__tests__/RadioCard/RadioCardGroup.test.jsx +246 -0
- package/__tests__/Search/Search.test.jsx +73 -0
- package/__tests__/Select/Select.test.jsx +94 -0
- package/__tests__/Skeleton/Skeleton.test.jsx +61 -0
- package/__tests__/StepTracker/StepTracker.test.jsx +94 -0
- package/__tests__/Tabs/Tabs.test.jsx +40 -0
- package/__tests__/Tags/Tags.test.jsx +327 -0
- package/__tests__/TextInput/TextArea.test.jsx +35 -0
- package/__tests__/TextInput/{TextInput.test.jsx → TextInputBase.test.jsx} +29 -50
- package/__tests__/ThemeProvider/ThemeProvider.test.jsx +77 -0
- package/__tests__/ThemeProvider/useThemeTokens.test.jsx +9 -5
- package/__tests__/ThemeProvider/utils/theme-tokens.test.js +41 -0
- package/__tests__/ToggleSwitch/ToggleSwitch.test.jsx +3 -2
- package/__tests__/utils/children.test.jsx +128 -0
- package/__tests__/utils/input.test.js +59 -1
- package/__tests__/utils/semantics.test.jsx +43 -0
- package/__tests__/utils/useCopy.test.js +14 -3
- package/babel.config.js +20 -0
- package/jest.config.js +8 -3
- package/lib/A11yInfoProvider/index.js +54 -26
- package/lib/A11yText/index.js +45 -17
- package/lib/ActivityIndicator/Spinner.js +81 -0
- package/lib/ActivityIndicator/Spinner.native.js +129 -91
- 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 +152 -35
- package/lib/Box/index.js +13 -2
- package/lib/Button/Button.js +41 -12
- package/lib/Button/ButtonBase.js +125 -97
- package/lib/Button/ButtonGroup.js +112 -89
- package/lib/Button/ButtonLink.js +48 -17
- package/lib/Button/index.js +31 -4
- package/lib/Button/propTypes.js +32 -9
- package/lib/Card/Card.js +38 -41
- package/lib/Card/CardBase.js +85 -0
- package/lib/Card/PressableCardBase.js +141 -0
- package/lib/Card/index.js +40 -2
- package/lib/Checkbox/Checkbox.js +355 -0
- package/lib/Checkbox/CheckboxGroup.js +241 -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 +59 -28
- package/lib/Divider/index.js +13 -2
- package/lib/ExpandCollapse/Accordion.js +26 -7
- package/lib/ExpandCollapse/Control.js +60 -31
- package/lib/ExpandCollapse/ExpandCollapse.js +50 -28
- package/lib/ExpandCollapse/Panel.js +83 -44
- package/lib/ExpandCollapse/index.js +25 -7
- package/lib/Feedback/Feedback.js +90 -39
- package/lib/Feedback/index.js +13 -2
- package/lib/Fieldset/Fieldset.js +165 -0
- package/lib/Fieldset/FieldsetContainer.js +46 -0
- package/lib/Fieldset/FieldsetContainer.native.js +38 -0
- package/lib/Fieldset/Legend.js +38 -0
- package/lib/Fieldset/Legend.native.js +48 -0
- package/lib/Fieldset/cssReset.js +21 -0
- package/lib/Fieldset/index.js +13 -0
- package/lib/FlexGrid/Col/Col.js +73 -41
- package/lib/FlexGrid/Col/index.js +13 -2
- package/lib/FlexGrid/FlexGrid.js +99 -49
- package/lib/FlexGrid/Row/Row.js +58 -30
- 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/HorizontalScroll/HorizontalScroll.js +200 -0
- package/lib/HorizontalScroll/HorizontalScrollButton.js +127 -0
- package/lib/HorizontalScroll/ScrollViewEnd.js +66 -0
- package/lib/HorizontalScroll/ScrollViewEnd.native.js +41 -0
- package/lib/HorizontalScroll/dictionary.js +18 -0
- package/lib/HorizontalScroll/index.js +35 -0
- package/lib/HorizontalScroll/itemPositions.js +128 -0
- package/lib/Icon/Icon.js +62 -50
- package/lib/Icon/IconText.js +101 -0
- package/lib/Icon/index.js +31 -3
- package/lib/IconButton/IconButton.js +140 -0
- package/lib/IconButton/index.js +13 -0
- package/lib/InputLabel/InputLabel.js +102 -40
- package/lib/InputLabel/LabelContent.js +41 -0
- package/lib/InputLabel/LabelContent.native.js +32 -6
- package/lib/InputLabel/index.js +13 -2
- package/lib/InputSupports/InputSupports.js +109 -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 +58 -31
- package/lib/Link/InlinePressable.js +56 -0
- package/lib/Link/InlinePressable.native.js +102 -0
- package/lib/Link/Link.js +39 -15
- package/lib/Link/LinkBase.js +126 -150
- package/lib/Link/TextButton.js +53 -18
- package/lib/Link/index.js +39 -4
- package/lib/List/List.js +81 -0
- package/lib/List/ListItem.js +245 -0
- package/lib/List/index.js +13 -0
- package/lib/Modal/Modal.js +231 -0
- package/lib/Modal/dictionary.js +16 -0
- package/lib/Modal/index.js +13 -0
- package/lib/Notification/Notification.js +216 -0
- package/lib/Notification/dictionary.js +15 -0
- package/lib/Notification/index.js +13 -0
- package/lib/Pagination/PageButton.js +58 -48
- package/lib/Pagination/Pagination.js +78 -43
- package/lib/Pagination/SideButton.js +79 -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 +104 -0
- package/lib/Progress/ProgressBar.js +157 -0
- package/lib/Progress/ProgressBarBackground.js +61 -0
- package/lib/Progress/index.js +16 -0
- package/lib/Radio/Radio.js +293 -0
- package/lib/Radio/RadioButton.js +152 -0
- package/lib/Radio/RadioGroup.js +244 -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 +244 -0
- package/lib/RadioCard/RadioCardGroup.js +252 -0
- package/lib/RadioCard/index.js +21 -0
- package/lib/Search/Search.js +254 -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 +84 -0
- package/lib/Select/Picker.native.js +130 -0
- package/lib/Select/Select.js +342 -0
- package/lib/Select/index.js +19 -0
- package/lib/SideNav/Item.js +63 -37
- package/lib/SideNav/ItemContent.js +41 -15
- package/lib/SideNav/ItemsGroup.js +55 -31
- package/lib/SideNav/SideNav.js +100 -73
- 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 +49 -18
- package/lib/Spacer/index.js +13 -2
- package/lib/StackView/StackView.js +71 -31
- package/lib/StackView/StackWrap.js +43 -13
- package/lib/StackView/StackWrap.native.js +13 -2
- package/lib/StackView/StackWrapBox.js +76 -29
- package/lib/StackView/StackWrapGap.js +56 -26
- package/lib/StackView/common.js +23 -6
- package/lib/StackView/getStackedContent.js +47 -17
- package/lib/StackView/index.js +29 -5
- package/lib/StepTracker/Step.js +245 -0
- package/lib/StepTracker/StepTracker.js +202 -0
- package/lib/StepTracker/dictionary.js +17 -0
- package/lib/StepTracker/index.js +13 -0
- package/lib/Tabs/Tabs.js +124 -0
- package/lib/Tabs/TabsItem.js +238 -0
- package/lib/Tabs/index.js +13 -0
- package/lib/Tags/Tags.js +266 -0
- package/lib/Tags/index.js +13 -0
- package/lib/TextInput/TextArea.js +111 -0
- package/lib/TextInput/TextInput.js +50 -304
- package/lib/TextInput/TextInputBase.js +256 -0
- package/lib/TextInput/index.js +23 -2
- package/lib/TextInput/propTypes.js +42 -0
- package/lib/ThemeProvider/ThemeProvider.js +46 -18
- package/lib/ThemeProvider/index.js +61 -6
- package/lib/ThemeProvider/useSetTheme.js +19 -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 +50 -14
- package/lib/ThemeProvider/utils/theme-tokens.js +121 -12
- package/lib/ToggleSwitch/ToggleSwitch.js +86 -57
- package/lib/ToggleSwitch/index.js +13 -2
- package/lib/Tooltip/{Backdrop.web.js → Backdrop.js} +20 -8
- package/lib/Tooltip/Backdrop.native.js +39 -15
- package/lib/Tooltip/Tooltip.js +117 -74
- package/lib/Tooltip/dictionary.js +9 -2
- package/lib/Tooltip/getTooltipPosition.js +9 -1
- package/lib/Tooltip/index.js +13 -2
- package/lib/TooltipButton/TooltipButton.js +57 -38
- package/lib/TooltipButton/index.js +13 -2
- package/lib/Typography/Typography.js +86 -55
- package/lib/Typography/index.js +13 -2
- package/lib/ViewportProvider/ViewportProvider.js +34 -13
- package/lib/ViewportProvider/index.js +28 -3
- package/lib/ViewportProvider/useViewport.js +15 -3
- package/lib/ViewportProvider/useViewportListener.js +24 -10
- package/lib/index.js +539 -26
- package/lib/utils/a11y/index.js +31 -0
- package/lib/utils/a11y/semantics.js +173 -0
- package/lib/utils/a11y/textSize.js +49 -0
- package/lib/utils/animation/index.js +15 -2
- package/lib/utils/animation/useVerticalExpandAnimation.js +27 -10
- package/lib/utils/children.js +134 -0
- package/lib/utils/index.js +163 -7
- 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 +53 -25
- package/lib/utils/pressability.js +120 -0
- package/lib/utils/propTypes.js +338 -132
- package/lib/utils/useCopy.js +40 -5
- package/lib/utils/useHash.js +52 -0
- package/lib/utils/useHash.native.js +15 -0
- package/lib/utils/useResponsiveProp.js +21 -9
- package/lib/utils/useSpacingScale.js +19 -9
- package/lib/utils/useUniqueId.js +12 -3
- package/package.json +16 -10
- package/release-context.json +4 -4
- package/src/A11yText/index.jsx +6 -4
- package/src/ActivityIndicator/{Spinner.web.jsx → Spinner.jsx} +5 -3
- package/src/ActivityIndicator/Spinner.native.jsx +5 -3
- package/src/Box/Box.jsx +131 -39
- package/src/Button/Button.jsx +13 -6
- package/src/Button/ButtonBase.jsx +134 -125
- package/src/Button/ButtonGroup.jsx +85 -86
- package/src/Button/ButtonLink.jsx +22 -7
- package/src/Button/propTypes.js +12 -2
- package/src/Card/Card.jsx +5 -31
- package/src/Card/CardBase.jsx +58 -0
- package/src/Card/PressableCardBase.jsx +119 -0
- package/src/Card/index.js +3 -0
- package/src/Checkbox/Checkbox.jsx +284 -0
- package/src/Checkbox/CheckboxGroup.jsx +206 -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 +7 -4
- package/src/ExpandCollapse/Accordion.jsx +3 -2
- package/src/ExpandCollapse/Control.jsx +40 -43
- package/src/ExpandCollapse/ExpandCollapse.jsx +26 -23
- package/src/ExpandCollapse/Panel.jsx +69 -63
- package/src/Feedback/Feedback.jsx +42 -30
- package/src/Fieldset/Fieldset.jsx +136 -0
- package/src/Fieldset/FieldsetContainer.jsx +31 -0
- package/src/Fieldset/FieldsetContainer.native.jsx +19 -0
- package/src/Fieldset/Legend.jsx +21 -0
- package/src/Fieldset/Legend.native.jsx +27 -0
- package/src/Fieldset/cssReset.js +14 -0
- package/src/Fieldset/index.js +3 -0
- package/src/FlexGrid/Col/Col.jsx +139 -132
- package/src/FlexGrid/FlexGrid.jsx +79 -51
- package/src/FlexGrid/Row/Row.jsx +55 -48
- package/src/HorizontalScroll/HorizontalScroll.jsx +168 -0
- package/src/HorizontalScroll/HorizontalScrollButton.jsx +105 -0
- package/src/HorizontalScroll/ScrollViewEnd.jsx +53 -0
- package/src/HorizontalScroll/ScrollViewEnd.native.jsx +24 -0
- package/src/HorizontalScroll/dictionary.js +11 -0
- package/src/HorizontalScroll/index.js +17 -0
- package/src/HorizontalScroll/itemPositions.js +101 -0
- package/src/Icon/Icon.jsx +46 -49
- package/src/Icon/IconText.jsx +68 -0
- package/src/Icon/index.js +3 -2
- package/src/IconButton/IconButton.jsx +114 -0
- package/src/IconButton/index.js +3 -0
- package/src/InputLabel/InputLabel.jsx +57 -35
- package/src/InputLabel/LabelContent.jsx +21 -0
- package/src/InputLabel/LabelContent.native.jsx +11 -2
- package/src/InputSupports/InputSupports.jsx +70 -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 +34 -21
- package/src/Link/InlinePressable.jsx +39 -0
- package/src/Link/InlinePressable.native.jsx +75 -0
- package/src/Link/Link.jsx +23 -13
- package/src/Link/LinkBase.jsx +98 -170
- package/src/Link/TextButton.jsx +37 -16
- package/src/Link/index.js +2 -1
- package/src/List/List.jsx +48 -0
- package/src/List/ListItem.jsx +182 -0
- package/src/List/index.js +3 -0
- package/src/Modal/Modal.jsx +190 -0
- package/src/Modal/dictionary.js +9 -0
- package/src/Modal/index.js +3 -0
- package/src/Notification/Notification.jsx +164 -0
- package/src/Notification/dictionary.js +8 -0
- package/src/Notification/index.js +3 -0
- package/src/Pagination/PageButton.jsx +42 -49
- package/src/Pagination/Pagination.jsx +88 -92
- package/src/Pagination/SideButton.jsx +58 -66
- package/src/Progress/Progress.jsx +78 -0
- package/src/Progress/ProgressBar.jsx +123 -0
- package/src/Progress/ProgressBarBackground.jsx +36 -0
- package/src/Progress/index.js +6 -0
- package/src/Radio/Radio.jsx +240 -0
- package/src/Radio/RadioButton.jsx +142 -0
- package/src/Radio/RadioGroup.jsx +209 -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 +198 -0
- package/src/RadioCard/RadioCardGroup.jsx +218 -0
- package/src/RadioCard/index.js +5 -0
- package/src/Search/Search.jsx +225 -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 +74 -0
- package/src/Select/Picker.native.jsx +102 -0
- package/src/Select/Select.jsx +298 -0
- package/src/Select/index.js +8 -0
- package/src/SideNav/Item.jsx +54 -47
- package/src/SideNav/ItemsGroup.jsx +50 -43
- package/src/SideNav/SideNav.jsx +68 -60
- package/src/Skeleton/Skeleton.jsx +94 -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 +11 -4
- package/src/StackView/StackView.jsx +53 -23
- package/src/StackView/StackWrap.jsx +16 -7
- package/src/StackView/StackWrapBox.jsx +62 -28
- package/src/StackView/StackWrapGap.jsx +46 -24
- package/src/StackView/common.jsx +3 -2
- package/src/StackView/getStackedContent.jsx +8 -2
- package/src/StepTracker/Step.jsx +202 -0
- package/src/StepTracker/StepTracker.jsx +174 -0
- package/src/StepTracker/dictionary.js +10 -0
- package/src/StepTracker/index.js +3 -0
- package/src/Tabs/Tabs.jsx +97 -0
- package/src/Tabs/TabsItem.jsx +212 -0
- package/src/Tabs/index.js +3 -0
- package/src/Tags/Tags.jsx +219 -0
- package/src/Tags/index.js +3 -0
- package/src/TextInput/TextArea.jsx +79 -0
- package/src/TextInput/TextInput.jsx +18 -284
- package/src/TextInput/TextInputBase.jsx +217 -0
- package/src/TextInput/index.js +2 -1
- package/src/TextInput/propTypes.js +29 -0
- package/src/ThemeProvider/ThemeProvider.jsx +11 -7
- package/src/ThemeProvider/useSetTheme.js +4 -0
- package/src/ThemeProvider/useThemeTokens.js +56 -5
- package/src/ThemeProvider/utils/styles.js +18 -5
- package/src/ThemeProvider/utils/theme-tokens.js +74 -5
- package/src/ToggleSwitch/ToggleSwitch.jsx +51 -53
- package/src/Tooltip/{Backdrop.web.jsx → Backdrop.jsx} +0 -0
- package/src/Tooltip/Tooltip.jsx +135 -131
- package/src/TooltipButton/TooltipButton.jsx +23 -27
- package/src/Typography/Typography.jsx +72 -59
- package/src/index.js +31 -3
- package/src/utils/a11y/index.js +2 -0
- package/src/utils/a11y/semantics.js +162 -0
- package/src/utils/a11y/textSize.js +30 -0
- package/src/utils/children.jsx +119 -0
- package/src/utils/index.js +6 -0
- 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 +36 -25
- package/src/utils/pressability.js +96 -0
- package/src/utils/propTypes.js +291 -90
- package/src/utils/useCopy.js +30 -4
- package/src/utils/useHash.js +39 -0
- package/src/utils/useHash.native.js +6 -0
- package/stories/A11yText/A11yText.stories.jsx +6 -10
- package/stories/ActivityIndicator/ActivityIndicator.stories.jsx +1 -1
- package/stories/Box/Box.stories.jsx +1 -1
- package/stories/Button/Button.stories.jsx +7 -2
- package/stories/Button/ButtonGroup.stories.jsx +1 -1
- package/stories/Button/ButtonLink.stories.jsx +1 -1
- package/stories/Card/Card.stories.jsx +1 -1
- package/stories/Checkbox/Checkbox.stories.jsx +94 -0
- package/stories/Divider/Divider.stories.jsx +1 -1
- package/stories/ExpandCollapse/ExpandCollapse.stories.jsx +2 -2
- package/stories/Feedback/Feedback.stories.jsx +5 -6
- package/stories/FlexGrid/01 FlexGrid.stories.jsx +1 -1
- package/stories/FlexGrid/02 Row.stories.jsx +1 -1
- package/stories/FlexGrid/03 Col.stories.jsx +1 -1
- package/stories/Icon/Icon.stories.jsx +27 -7
- package/stories/IconButton/IconButton.stories.jsx +50 -0
- package/stories/InputLabel/InputLabel.stories.jsx +1 -1
- package/stories/Link/ChevronLink.stories.jsx +1 -1
- package/stories/Link/Link.stories.jsx +28 -18
- package/stories/Link/TextButton.stories.jsx +1 -1
- 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 +1 -1
- 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 +1 -1
- package/stories/SideNav/SideNavItem.stories.jsx +1 -1
- package/stories/SideNav/SideNavItemsGroup.stories.jsx +1 -1
- package/stories/Skeleton/Skeleton.stories.jsx +36 -0
- package/stories/Spacer/Spacer.stories.jsx +1 -1
- package/stories/StackView/StackView.stories.jsx +1 -1
- package/stories/StackView/StackWrap.stories.jsx +1 -1
- 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 +1 -1
- package/stories/ToggleSwitch/ToggleSwitch.stories.jsx +1 -1
- package/stories/Tooltip/Tooltip.stories.jsx +1 -1
- package/stories/TooltipButton/TooltipButton.stories.jsx +1 -1
- package/stories/Typography/Typography.stories.jsx +1 -1
- package/stories/{platform-supports.web.jsx → platform-supports.jsx} +1 -1
- package/stories/supports.jsx +38 -4
- package/__fixtures__/accessible.icon.svg +0 -6
- package/babel.config.json +0 -8
- package/docs/Contributing.stories.mdx +0 -9
- package/docs/Fonts.stories.mdx +0 -104
- package/docs/Icons.stories.mdx +0 -144
- package/docs/Introduction.stories.mdx +0 -9
- package/lib/ActivityIndicator/Spinner.web.js +0 -55
- package/lib/InputLabel/LabelContent.web.js +0 -17
- package/lib/config/svgr-icons-web.js +0 -9
- package/lib/config/svgr-icons.js +0 -52
- package/src/InputLabel/LabelContent.web.jsx +0 -13
- package/src/config/svgr-icons-web.js +0 -11
- package/src/config/svgr-icons.js +0 -46
package/lib/Button/ButtonLink.js
CHANGED
|
@@ -1,28 +1,59 @@
|
|
|
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 = _interopRequireWildcard(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 _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
+
|
|
22
|
+
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); }
|
|
23
|
+
|
|
24
|
+
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; }
|
|
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
|
-
const ButtonLink = ({
|
|
30
|
+
const ButtonLink = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
11
31
|
accessibilityRole = 'link',
|
|
32
|
+
tokens,
|
|
33
|
+
variant,
|
|
34
|
+
dataSet,
|
|
12
35
|
...props
|
|
13
|
-
}) => {
|
|
36
|
+
}, ref) => {
|
|
14
37
|
const {
|
|
15
38
|
hrefAttrs,
|
|
16
39
|
rest
|
|
17
|
-
} = hrefAttrsProp.bundle(props);
|
|
18
|
-
return /*#__PURE__*/React.createElement(ButtonBase, Object.assign({
|
|
19
|
-
accessibilityRole: accessibilityRole,
|
|
20
|
-
hrefAttrs: hrefAttrs
|
|
21
|
-
}, rest));
|
|
22
|
-
};
|
|
40
|
+
} = _propTypes2.hrefAttrsProp.bundle(props);
|
|
23
41
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
42
|
+
const getTokens = (0, _ThemeProvider.useThemeTokensCallback)('Button', tokens, variant);
|
|
43
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ButtonBase.default, {
|
|
44
|
+
ref: ref,
|
|
45
|
+
accessibilityRole: accessibilityRole,
|
|
46
|
+
tokens: getTokens,
|
|
47
|
+
hrefAttrs: hrefAttrs,
|
|
48
|
+
dataSet: dataSet,
|
|
49
|
+
...rest
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
ButtonLink.displayName = 'ButtonLink';
|
|
53
|
+
ButtonLink.propTypes = { ..._propTypes2.a11yProps.types,
|
|
54
|
+
..._propTypes.default,
|
|
55
|
+
..._propTypes2.linkProps.types,
|
|
56
|
+
children: _propTypes.textAndA11yText
|
|
27
57
|
};
|
|
28
|
-
|
|
58
|
+
var _default = ButtonLink;
|
|
59
|
+
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,30 @@ 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,
|
|
78
|
+
dataSet,
|
|
84
79
|
...rest
|
|
85
80
|
}) => {
|
|
86
|
-
const viewport = useViewport();
|
|
87
|
-
const themeTokens = useThemeTokens('Card', tokens, variant, {
|
|
81
|
+
const viewport = (0, _ViewportProvider.useViewport)();
|
|
82
|
+
const themeTokens = (0, _ThemeProvider.useThemeTokens)('Card', tokens, variant, {
|
|
88
83
|
viewport
|
|
89
84
|
});
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
85
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardBase.default, {
|
|
86
|
+
tokens: themeTokens,
|
|
87
|
+
dataSet: dataSet,
|
|
88
|
+
...rest,
|
|
89
|
+
children: children
|
|
90
|
+
});
|
|
95
91
|
};
|
|
96
92
|
|
|
97
93
|
Card.propTypes = {
|
|
98
|
-
children:
|
|
99
|
-
tokens: getTokensPropType('Card'),
|
|
100
|
-
variant: variantProp.propType,
|
|
101
|
-
...a11yProps.types
|
|
94
|
+
children: _propTypes.default.node,
|
|
95
|
+
tokens: (0, _utils.getTokensPropType)('Card'),
|
|
96
|
+
variant: _utils.variantProp.propType,
|
|
97
|
+
..._propTypes2.a11yProps.types
|
|
102
98
|
};
|
|
103
|
-
|
|
99
|
+
var _default = Card;
|
|
100
|
+
exports.default = _default;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireWildcard(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
|
+
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); }
|
|
25
|
+
|
|
26
|
+
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; }
|
|
27
|
+
|
|
28
|
+
// Ensure explicit selection of tokens
|
|
29
|
+
const selectStyles = ({
|
|
30
|
+
flex,
|
|
31
|
+
backgroundColor,
|
|
32
|
+
borderColor,
|
|
33
|
+
borderRadius,
|
|
34
|
+
borderWidth,
|
|
35
|
+
paddingBottom,
|
|
36
|
+
paddingLeft,
|
|
37
|
+
paddingRight,
|
|
38
|
+
paddingTop,
|
|
39
|
+
minWidth,
|
|
40
|
+
shadow
|
|
41
|
+
}) => ({
|
|
42
|
+
flex,
|
|
43
|
+
backgroundColor,
|
|
44
|
+
borderColor,
|
|
45
|
+
borderRadius,
|
|
46
|
+
borderWidth,
|
|
47
|
+
paddingBottom,
|
|
48
|
+
paddingLeft,
|
|
49
|
+
paddingRight,
|
|
50
|
+
paddingTop,
|
|
51
|
+
minWidth,
|
|
52
|
+
...(0, _ThemeProvider.applyShadowToken)(shadow)
|
|
53
|
+
});
|
|
54
|
+
/**
|
|
55
|
+
* A themeless base component for Card which components can apply theme tokens to. Not
|
|
56
|
+
* intended to be used in apps or sites directly: build themed components on top of this.
|
|
57
|
+
*/
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
const CardBase = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
61
|
+
children,
|
|
62
|
+
tokens,
|
|
63
|
+
dataSet,
|
|
64
|
+
...rest
|
|
65
|
+
}, ref) => {
|
|
66
|
+
const cardStyle = selectStyles(typeof tokens === 'function' ? tokens() : tokens);
|
|
67
|
+
const props = { ..._propTypes2.a11yProps.select(rest),
|
|
68
|
+
..._propTypes2.viewProps.select(rest)
|
|
69
|
+
};
|
|
70
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
71
|
+
style: cardStyle,
|
|
72
|
+
dataSet: dataSet,
|
|
73
|
+
ref: ref,
|
|
74
|
+
...props,
|
|
75
|
+
children: children
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
CardBase.displayName = 'CardBase';
|
|
79
|
+
CardBase.propTypes = {
|
|
80
|
+
children: _propTypes.default.node,
|
|
81
|
+
tokens: (0, _utils.getTokensPropType)('Card'),
|
|
82
|
+
..._propTypes2.a11yProps.types
|
|
83
|
+
};
|
|
84
|
+
var _default = CardBase;
|
|
85
|
+
exports.default = _default;
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.selectPressableCardTokens = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _Pressable = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Pressable"));
|
|
13
|
+
|
|
14
|
+
var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
|
|
15
|
+
|
|
16
|
+
var _ViewportProvider = require("../ViewportProvider");
|
|
17
|
+
|
|
18
|
+
var _ThemeProvider = require("../ThemeProvider");
|
|
19
|
+
|
|
20
|
+
var _utils = require("../utils");
|
|
21
|
+
|
|
22
|
+
var _propTypes2 = require("../utils/propTypes");
|
|
23
|
+
|
|
24
|
+
var _CardBase = _interopRequireDefault(require("./CardBase"));
|
|
25
|
+
|
|
26
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
27
|
+
|
|
28
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
|
+
|
|
30
|
+
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); }
|
|
31
|
+
|
|
32
|
+
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; }
|
|
33
|
+
|
|
34
|
+
const tokenKeys = [...(0, _utils.getTokenNames)('Card'), // Outer border tokens. TODO: centralise common token sets like these as part of
|
|
35
|
+
// https://github.com/telus/universal-design-system/issues/782
|
|
36
|
+
'outerBorderColor', 'outerBorderWidth', 'outerBorderGap'];
|
|
37
|
+
|
|
38
|
+
const selectPressableCardTokens = tokens => Object.fromEntries(tokenKeys.map(key => [key, tokens[key]]));
|
|
39
|
+
/**
|
|
40
|
+
* A pressable themeless base component that handles pressable states and passes tokens
|
|
41
|
+
* based on these to an outer border and a base Card component. Not intended to be used in
|
|
42
|
+
* apps or sites directly: build themed components on top of this.
|
|
43
|
+
*/
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
exports.selectPressableCardTokens = selectPressableCardTokens;
|
|
47
|
+
const PressableCardBase = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
48
|
+
children,
|
|
49
|
+
tokens,
|
|
50
|
+
checked,
|
|
51
|
+
validation,
|
|
52
|
+
inactive,
|
|
53
|
+
href,
|
|
54
|
+
hrefAttrs,
|
|
55
|
+
onPress,
|
|
56
|
+
accessibilityRole = href ? 'link' : undefined,
|
|
57
|
+
...rest
|
|
58
|
+
}, ref) => {
|
|
59
|
+
const viewport = (0, _ViewportProvider.useViewport)();
|
|
60
|
+
|
|
61
|
+
const a11y = _propTypes2.a11yProps.select({ ...rest,
|
|
62
|
+
accessibilityRole
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
const additionalState = {
|
|
66
|
+
checked,
|
|
67
|
+
validation,
|
|
68
|
+
inactive,
|
|
69
|
+
viewport
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
const getCardState = pressableState => (0, _utils.resolvePressableState)(pressableState, additionalState);
|
|
73
|
+
|
|
74
|
+
const getTokens = pressableState => (0, _ThemeProvider.validateThemeTokens)((0, _utils.resolvePressableTokens)(tokens, pressableState, additionalState), (0, _utils.getTokensSetPropType)(tokenKeys, {
|
|
75
|
+
requireAll: true
|
|
76
|
+
}), 'PressableCard');
|
|
77
|
+
|
|
78
|
+
const getCardTokens = pressableState => (0, _utils.selectTokens)('Card', getTokens(pressableState));
|
|
79
|
+
|
|
80
|
+
const getOuterBorderStyle = pressableState => {
|
|
81
|
+
const {
|
|
82
|
+
flex,
|
|
83
|
+
minWidth,
|
|
84
|
+
outerBorderColor,
|
|
85
|
+
outerBorderGap = 0,
|
|
86
|
+
outerBorderWidth = 0,
|
|
87
|
+
borderRadius
|
|
88
|
+
} = getTokens(pressableState);
|
|
89
|
+
return {
|
|
90
|
+
flex,
|
|
91
|
+
minWidth: minWidth + outerBorderGap + outerBorderWidth,
|
|
92
|
+
...(0, _ThemeProvider.applyOuterBorder)({
|
|
93
|
+
outerBorderColor,
|
|
94
|
+
outerBorderGap,
|
|
95
|
+
outerBorderWidth,
|
|
96
|
+
borderRadius
|
|
97
|
+
}),
|
|
98
|
+
..._Platform.default.select({
|
|
99
|
+
web: {
|
|
100
|
+
outline: 'none'
|
|
101
|
+
}
|
|
102
|
+
})
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
const handleChange = _utils.linkProps.handleHref({
|
|
107
|
+
href,
|
|
108
|
+
onPress
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
const handleKeyDown = event => {
|
|
112
|
+
// The expected keyboard shortcut for selecting a focused item is the Space key
|
|
113
|
+
if ((event === null || event === void 0 ? void 0 : event.key) === ' ') handleChange(event);
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Pressable.default, {
|
|
117
|
+
ref: ref,
|
|
118
|
+
href: href,
|
|
119
|
+
onPress: handleChange,
|
|
120
|
+
onKeyDown: handleKeyDown,
|
|
121
|
+
hrefAttrs: hrefAttrs,
|
|
122
|
+
style: getOuterBorderStyle,
|
|
123
|
+
...a11y,
|
|
124
|
+
children: pressableState => /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardBase.default, {
|
|
125
|
+
tokens: getCardTokens(pressableState),
|
|
126
|
+
children: typeof children === 'function' ? children(getCardState(pressableState)) : children
|
|
127
|
+
})
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
PressableCardBase.displayName = 'PressableCardBase';
|
|
131
|
+
PressableCardBase.propTypes = {
|
|
132
|
+
children: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.node]),
|
|
133
|
+
tokens: (0, _utils.getTokensSetPropType)(tokenKeys, {
|
|
134
|
+
requireAll: true,
|
|
135
|
+
allowFunction: true
|
|
136
|
+
}),
|
|
137
|
+
variant: _utils.variantProp.propType,
|
|
138
|
+
..._propTypes2.a11yProps.types
|
|
139
|
+
};
|
|
140
|
+
var _default = PressableCardBase;
|
|
141
|
+
exports.default = _default;
|
package/lib/Card/index.js
CHANGED
|
@@ -1,2 +1,40 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
PressableCardBase: true
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "PressableCardBase", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function () {
|
|
12
|
+
return _PressableCardBase.default;
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
exports.default = void 0;
|
|
16
|
+
|
|
17
|
+
var _Card = _interopRequireDefault(require("./Card"));
|
|
18
|
+
|
|
19
|
+
var _PressableCardBase = _interopRequireWildcard(require("./PressableCardBase"));
|
|
20
|
+
|
|
21
|
+
Object.keys(_PressableCardBase).forEach(function (key) {
|
|
22
|
+
if (key === "default" || key === "__esModule") return;
|
|
23
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
24
|
+
if (key in exports && exports[key] === _PressableCardBase[key]) return;
|
|
25
|
+
Object.defineProperty(exports, key, {
|
|
26
|
+
enumerable: true,
|
|
27
|
+
get: function () {
|
|
28
|
+
return _PressableCardBase[key];
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
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); }
|
|
34
|
+
|
|
35
|
+
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; }
|
|
36
|
+
|
|
37
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
38
|
+
|
|
39
|
+
var _default = _Card.default;
|
|
40
|
+
exports.default = _default;
|