@telus-uds/components-base 1.1.0 → 1.3.1
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/.turbo/turbo-build.log +8 -0
- package/CHANGELOG.json +38 -0
- package/CHANGELOG.md +35 -2
- package/__fixtures__/Accessible.js +4 -2
- package/__fixtures__/Accessible.native.js +5 -2
- package/__fixtures__/testTheme.js +9 -0
- package/__tests__/ActivityIndicator/ActivityIndicator.test.jsx +35 -0
- package/__tests__/ActivityIndicator/__snapshots__/ActivityIndicator.test.jsx.snap +287 -0
- package/__tests__/FlexGrid/Col.test.jsx +6 -10
- package/__tests__/HorizontalScroll/HorizontalScroll.test.jsx +1 -0
- package/__tests__/ToggleSwitch/ToggleSwitch.test.jsx +10 -0
- package/__tests__/ToggleSwitch/ToggleSwitchGroup.test.jsx +192 -0
- package/__tests__/utils/props.test.js +36 -0
- package/__tests__/utils/semantics.test.jsx +1 -10
- package/babel.config.js +27 -5
- package/component-docs.json +638 -1145
- package/generate-component-docs.js +3 -0
- package/lib/A11yText/index.js +6 -5
- package/lib/ActivityIndicator/Spinner.js +46 -37
- package/lib/ActivityIndicator/Spinner.native.js +26 -15
- package/lib/ActivityIndicator/index.js +3 -3
- package/lib/Box/Box.js +8 -8
- package/lib/Button/Button.js +2 -2
- package/lib/Button/ButtonBase.js +25 -12
- package/lib/Button/ButtonGroup.js +10 -12
- package/lib/Button/ButtonLink.js +4 -4
- package/lib/Button/propTypes.js +4 -2
- package/lib/Card/Card.js +6 -5
- package/lib/Card/CardBase.js +6 -9
- package/lib/Card/PressableCardBase.js +15 -14
- package/lib/Checkbox/Checkbox.js +4 -8
- package/lib/Divider/Divider.js +14 -13
- package/lib/ExpandCollapse/Control.js +7 -7
- package/lib/ExpandCollapse/ExpandCollapse.js +6 -2
- package/lib/ExpandCollapse/Panel.js +6 -7
- package/lib/Feedback/Feedback.js +6 -5
- package/lib/Fieldset/Fieldset.js +1 -3
- package/lib/FlexGrid/FlexGrid.js +4 -4
- package/lib/FlexGrid/helpers/index.js +1 -4
- package/lib/HorizontalScroll/HorizontalScroll.js +5 -6
- package/lib/IconButton/IconButton.js +14 -9
- package/lib/InputLabel/InputLabel.js +7 -2
- package/lib/InputSupports/InputSupports.js +2 -2
- package/lib/Link/LinkBase.js +21 -15
- package/lib/List/List.js +4 -6
- package/lib/List/ListItem.js +6 -2
- package/lib/Modal/Modal.js +6 -2
- package/lib/Notification/Notification.js +7 -2
- package/lib/Pagination/PageButton.js +3 -1
- package/lib/Pagination/Pagination.js +22 -5
- package/lib/Pagination/SideButton.js +3 -1
- package/lib/Progress/Progress.js +5 -4
- package/lib/Progress/ProgressBar.js +8 -7
- package/lib/Radio/Radio.js +4 -8
- package/lib/Radio/RadioButton.js +6 -3
- package/lib/Radio/RadioGroup.js +7 -2
- package/lib/RadioCard/RadioCard.js +4 -4
- package/lib/RadioCard/RadioCardGroup.js +9 -6
- package/lib/Search/Search.js +7 -2
- package/lib/Select/Select.js +10 -9
- package/lib/SideNav/Item.js +7 -7
- package/lib/SideNav/SideNav.js +7 -3
- package/lib/Skeleton/Skeleton.js +6 -2
- package/lib/Spacer/Spacer.js +9 -20
- package/lib/StackView/StackView.js +7 -7
- package/lib/StackView/StackWrapBox.js +6 -7
- package/lib/StackView/StackWrapGap.js +6 -5
- package/lib/StackView/getStackedContent.js +1 -1
- package/lib/StepTracker/Step.js +7 -3
- package/lib/StepTracker/StepTracker.js +7 -7
- package/lib/Tabs/Tabs.js +16 -4
- package/lib/Tabs/TabsItem.js +18 -11
- package/lib/Tags/Tags.js +11 -12
- package/lib/TextInput/TextArea.js +13 -14
- package/lib/TextInput/TextInput.js +13 -14
- package/lib/TextInput/TextInputBase.js +5 -3
- package/lib/ThemeProvider/useThemeTokens.js +3 -3
- package/lib/ThemeProvider/utils/theme-tokens.js +3 -3
- package/lib/ToggleSwitch/ToggleSwitch.js +106 -43
- package/lib/ToggleSwitch/ToggleSwitchGroup.js +228 -0
- package/lib/ToggleSwitch/index.js +14 -4
- package/lib/Tooltip/Tooltip.js +7 -2
- package/lib/TooltipButton/TooltipButton.js +7 -2
- package/lib/Typography/Typography.js +8 -6
- package/lib/index.js +20 -8
- package/lib/utils/a11y/semantics.js +4 -3
- package/lib/utils/children.js +5 -1
- package/lib/utils/index.js +28 -5
- package/lib/utils/pressability.js +2 -2
- package/lib/utils/props/a11yProps.js +153 -0
- package/lib/utils/props/clickProps.js +36 -0
- package/lib/utils/props/componentPropType.js +70 -0
- package/lib/utils/props/copyPropTypes.js +14 -0
- package/lib/utils/props/getPropSelector.js +13 -0
- package/lib/utils/props/hrefAttrsProp.js +41 -0
- package/lib/utils/props/index.js +158 -0
- package/lib/{InputSupports/propTypes.js → utils/props/inputSupportsProps.js} +2 -3
- package/lib/utils/props/linkProps.js +64 -0
- package/lib/utils/props/paddingProp.js +20 -0
- package/lib/utils/props/pressProps.js +57 -0
- package/lib/utils/props/rectProp.js +20 -0
- package/lib/utils/props/responsiveProps.js +40 -0
- package/lib/utils/props/selectSystemProps.js +31 -0
- package/lib/utils/props/spacingProps.js +71 -0
- package/lib/utils/props/tokens.js +145 -0
- package/lib/utils/props/variantProp.js +28 -0
- package/lib/utils/props/viewProps.js +34 -0
- package/lib/utils/ssr.js +51 -0
- package/lib/utils/useResponsiveProp.js +1 -1
- package/lib/utils/useSpacingScale.js +4 -4
- package/lib/utils/withLinkRouter.js +98 -0
- package/lib-module/A11yInfoProvider/index.js +62 -0
- package/lib-module/A11yText/index.js +55 -0
- package/lib-module/ActivityIndicator/Spinner.js +76 -0
- package/lib-module/ActivityIndicator/Spinner.native.js +143 -0
- package/lib-module/ActivityIndicator/index.js +40 -0
- package/lib-module/ActivityIndicator/shared.js +12 -0
- package/lib-module/BaseProvider/index.js +26 -0
- package/lib-module/Box/Box.js +243 -0
- package/lib-module/Box/index.js +2 -0
- package/lib-module/Button/Button.js +25 -0
- package/lib-module/Button/ButtonBase.js +254 -0
- package/lib-module/Button/ButtonGroup.js +164 -0
- package/lib-module/Button/ButtonLink.js +39 -0
- package/lib-module/Button/index.js +4 -0
- package/lib-module/Button/propTypes.js +36 -0
- package/lib-module/Card/Card.js +83 -0
- package/lib-module/Card/CardBase.js +62 -0
- package/lib-module/Card/PressableCardBase.js +113 -0
- package/lib-module/Card/index.js +4 -0
- package/lib-module/Checkbox/Checkbox.js +321 -0
- package/lib-module/Checkbox/CheckboxGroup.js +218 -0
- package/lib-module/Checkbox/CheckboxInput.js +58 -0
- package/lib-module/Checkbox/CheckboxInput.native.js +6 -0
- package/lib-module/Checkbox/index.js +3 -0
- package/lib-module/Divider/Divider.js +123 -0
- package/lib-module/Divider/index.js +2 -0
- package/lib-module/ExpandCollapse/Accordion.js +15 -0
- package/lib-module/ExpandCollapse/Control.js +130 -0
- package/lib-module/ExpandCollapse/ExpandCollapse.js +94 -0
- package/lib-module/ExpandCollapse/Panel.js +158 -0
- package/lib-module/ExpandCollapse/index.js +7 -0
- package/lib-module/Feedback/Feedback.js +144 -0
- package/lib-module/Feedback/index.js +2 -0
- package/lib-module/Fieldset/Fieldset.js +145 -0
- package/lib-module/Fieldset/FieldsetContainer.js +29 -0
- package/lib-module/Fieldset/FieldsetContainer.native.js +20 -0
- package/lib-module/Fieldset/Legend.js +21 -0
- package/lib-module/Fieldset/Legend.native.js +28 -0
- package/lib-module/Fieldset/cssReset.js +14 -0
- package/lib-module/Fieldset/index.js +2 -0
- package/lib-module/FlexGrid/Col/Col.js +265 -0
- package/lib-module/FlexGrid/Col/index.js +2 -0
- package/lib-module/FlexGrid/FlexGrid.js +147 -0
- package/lib-module/FlexGrid/Row/Row.js +177 -0
- package/lib-module/FlexGrid/Row/index.js +2 -0
- package/lib-module/FlexGrid/helpers/index.js +18 -0
- package/lib-module/FlexGrid/index.js +2 -0
- package/lib-module/FlexGrid/providers/GutterContext.js +3 -0
- package/lib-module/HorizontalScroll/HorizontalScroll.js +171 -0
- package/lib-module/HorizontalScroll/HorizontalScrollButton.js +102 -0
- package/lib-module/HorizontalScroll/ScrollViewEnd.js +47 -0
- package/lib-module/HorizontalScroll/ScrollViewEnd.native.js +24 -0
- package/lib-module/HorizontalScroll/dictionary.js +11 -0
- package/lib-module/HorizontalScroll/index.js +11 -0
- package/lib-module/HorizontalScroll/itemPositions.js +106 -0
- package/lib-module/Icon/Icon.js +61 -0
- package/lib-module/Icon/IconText.js +81 -0
- package/lib-module/Icon/index.js +4 -0
- package/lib-module/IconButton/IconButton.js +115 -0
- package/lib-module/IconButton/index.js +2 -0
- package/lib-module/InputLabel/InputLabel.js +131 -0
- package/lib-module/InputLabel/LabelContent.js +24 -0
- package/lib-module/InputLabel/LabelContent.native.js +16 -0
- package/lib-module/InputLabel/index.js +2 -0
- package/lib-module/InputSupports/InputSupports.js +88 -0
- package/lib-module/InputSupports/index.js +2 -0
- package/lib-module/InputSupports/useInputSupports.js +31 -0
- package/lib-module/Link/ChevronLink.js +51 -0
- package/lib-module/Link/InlinePressable.js +37 -0
- package/lib-module/Link/InlinePressable.native.js +85 -0
- package/lib-module/Link/Link.js +27 -0
- package/lib-module/Link/LinkBase.js +210 -0
- package/lib-module/Link/TextButton.js +43 -0
- package/lib-module/Link/index.js +5 -0
- package/lib-module/List/List.js +55 -0
- package/lib-module/List/ListItem.js +213 -0
- package/lib-module/List/index.js +5 -0
- package/lib-module/Modal/Modal.js +208 -0
- package/lib-module/Modal/dictionary.js +9 -0
- package/lib-module/Modal/index.js +2 -0
- package/lib-module/Notification/Notification.js +196 -0
- package/lib-module/Notification/dictionary.js +8 -0
- package/lib-module/Notification/index.js +2 -0
- package/lib-module/Pagination/PageButton.js +65 -0
- package/lib-module/Pagination/Pagination.js +140 -0
- package/lib-module/Pagination/SideButton.js +103 -0
- package/lib-module/Pagination/dictionary.js +18 -0
- package/lib-module/Pagination/index.js +2 -0
- package/lib-module/Pagination/usePagination.js +72 -0
- package/lib-module/Progress/Progress.js +85 -0
- package/lib-module/Progress/ProgressBar.js +134 -0
- package/lib-module/Progress/ProgressBarBackground.js +41 -0
- package/lib-module/Progress/index.js +4 -0
- package/lib-module/Radio/Radio.js +263 -0
- package/lib-module/Radio/RadioButton.js +128 -0
- package/lib-module/Radio/RadioGroup.js +225 -0
- package/lib-module/Radio/RadioInput.js +60 -0
- package/lib-module/Radio/RadioInput.native.js +6 -0
- package/lib-module/Radio/index.js +3 -0
- package/lib-module/RadioCard/RadioCard.js +218 -0
- package/lib-module/RadioCard/RadioCardGroup.js +232 -0
- package/lib-module/RadioCard/index.js +3 -0
- package/lib-module/Search/Search.js +233 -0
- package/lib-module/Search/dictionary.js +12 -0
- package/lib-module/Search/index.js +2 -0
- package/lib-module/Select/Group.js +20 -0
- package/lib-module/Select/Group.native.js +14 -0
- package/lib-module/Select/Item.js +17 -0
- package/lib-module/Select/Item.native.js +9 -0
- package/lib-module/Select/Picker.js +67 -0
- package/lib-module/Select/Picker.native.js +110 -0
- package/lib-module/Select/Select.js +317 -0
- package/lib-module/Select/index.js +6 -0
- package/lib-module/SideNav/Item.js +139 -0
- package/lib-module/SideNav/ItemContent.js +45 -0
- package/lib-module/SideNav/ItemsGroup.js +115 -0
- package/lib-module/SideNav/SideNav.js +133 -0
- package/lib-module/SideNav/index.js +1 -0
- package/lib-module/Skeleton/Skeleton.js +117 -0
- package/lib-module/Skeleton/index.js +2 -0
- package/lib-module/Skeleton/skeleton.constant.js +3 -0
- package/lib-module/Skeleton/skeletonWebAnimation.js +18 -0
- package/lib-module/Skeleton/useSkeletonNativeAnimation.js +24 -0
- package/lib-module/Spacer/Spacer.js +97 -0
- package/lib-module/Spacer/index.js +2 -0
- package/lib-module/StackView/StackView.js +124 -0
- package/lib-module/StackView/StackWrap.js +48 -0
- package/lib-module/StackView/StackWrap.native.js +3 -0
- package/lib-module/StackView/StackWrapBox.js +114 -0
- package/lib-module/StackView/StackWrapGap.js +58 -0
- package/lib-module/StackView/common.js +32 -0
- package/lib-module/StackView/getStackedContent.js +123 -0
- package/lib-module/StackView/index.js +5 -0
- package/lib-module/StepTracker/Step.js +229 -0
- package/lib-module/StepTracker/StepTracker.js +175 -0
- package/lib-module/StepTracker/dictionary.js +10 -0
- package/lib-module/StepTracker/index.js +2 -0
- package/lib-module/Tabs/Tabs.js +113 -0
- package/lib-module/Tabs/TabsItem.js +215 -0
- package/lib-module/Tabs/index.js +2 -0
- package/lib-module/Tags/Tags.js +238 -0
- package/lib-module/Tags/index.js +2 -0
- package/lib-module/TextInput/TextArea.js +88 -0
- package/lib-module/TextInput/TextInput.js +60 -0
- package/lib-module/TextInput/TextInputBase.js +233 -0
- package/lib-module/TextInput/index.js +3 -0
- package/lib-module/TextInput/propTypes.js +31 -0
- package/lib-module/ThemeProvider/ThemeProvider.js +35 -0
- package/lib-module/ThemeProvider/index.js +6 -0
- package/lib-module/ThemeProvider/useSetTheme.js +22 -0
- package/lib-module/ThemeProvider/useTheme.js +14 -0
- package/lib-module/ThemeProvider/useThemeTokens.js +105 -0
- package/lib-module/ThemeProvider/utils/index.js +2 -0
- package/lib-module/ThemeProvider/utils/styles.js +174 -0
- package/lib-module/ThemeProvider/utils/theme-tokens.js +151 -0
- package/lib-module/ToggleSwitch/ToggleSwitch.js +224 -0
- package/lib-module/ToggleSwitch/ToggleSwitchGroup.js +202 -0
- package/lib-module/ToggleSwitch/index.js +3 -0
- package/lib-module/Tooltip/Backdrop.js +52 -0
- package/lib-module/Tooltip/Backdrop.native.js +43 -0
- package/lib-module/Tooltip/Tooltip.js +332 -0
- package/lib-module/Tooltip/dictionary.js +8 -0
- package/lib-module/Tooltip/getTooltipPosition.js +164 -0
- package/lib-module/Tooltip/index.js +2 -0
- package/lib-module/TooltipButton/TooltipButton.js +71 -0
- package/lib-module/TooltipButton/index.js +2 -0
- package/lib-module/Typography/Typography.js +118 -0
- package/lib-module/Typography/index.js +2 -0
- package/lib-module/ViewportProvider/ViewportProvider.js +28 -0
- package/lib-module/ViewportProvider/index.js +3 -0
- package/lib-module/ViewportProvider/useViewport.js +3 -0
- package/lib-module/ViewportProvider/useViewportListener.js +43 -0
- package/lib-module/index.js +48 -0
- package/lib-module/utils/a11y/index.js +2 -0
- package/lib-module/utils/a11y/semantics.js +154 -0
- package/lib-module/utils/a11y/textSize.js +34 -0
- package/lib-module/utils/animation/index.js +2 -0
- package/lib-module/utils/animation/useVerticalExpandAnimation.js +49 -0
- package/lib-module/utils/children.js +118 -0
- package/lib-module/utils/index.js +15 -0
- package/lib-module/utils/info/index.js +7 -0
- package/lib-module/utils/info/platform/index.js +11 -0
- package/lib-module/utils/info/platform/platform.android.js +1 -0
- package/lib-module/utils/info/platform/platform.ios.js +1 -0
- package/lib-module/utils/info/platform/platform.js +1 -0
- package/lib-module/utils/info/platform/platform.native.js +4 -0
- package/lib-module/utils/info/versions.js +5 -0
- package/lib-module/utils/input.js +180 -0
- package/lib-module/utils/pressability.js +97 -0
- package/lib-module/utils/props/a11yProps.js +140 -0
- package/lib-module/utils/props/clickProps.js +25 -0
- package/lib-module/utils/props/componentPropType.js +63 -0
- package/lib-module/utils/props/copyPropTypes.js +2 -0
- package/lib-module/utils/props/getPropSelector.js +6 -0
- package/lib-module/utils/props/hrefAttrsProp.js +30 -0
- package/lib-module/utils/props/index.js +16 -0
- package/lib-module/utils/props/inputSupportsProps.js +54 -0
- package/lib-module/utils/props/linkProps.js +47 -0
- package/lib-module/utils/props/paddingProp.js +9 -0
- package/lib-module/utils/props/pressProps.js +42 -0
- package/lib-module/utils/props/rectProp.js +9 -0
- package/lib-module/utils/props/responsiveProps.js +30 -0
- package/lib-module/utils/props/selectSystemProps.js +24 -0
- package/lib-module/utils/props/spacingProps.js +56 -0
- package/lib-module/utils/props/tokens.js +120 -0
- package/lib-module/utils/props/variantProp.js +18 -0
- package/lib-module/utils/props/viewProps.js +22 -0
- package/lib-module/utils/ssr.js +35 -0
- package/lib-module/utils/useCopy.js +42 -0
- package/lib-module/utils/useHash.js +44 -0
- package/lib-module/utils/useHash.native.js +7 -0
- package/lib-module/utils/useResponsiveProp.js +47 -0
- package/lib-module/utils/useSpacingScale.js +123 -0
- package/lib-module/utils/useUniqueId.js +12 -0
- package/lib-module/utils/withLinkRouter.js +82 -0
- package/package.json +9 -5
- package/src/A11yText/index.jsx +7 -3
- package/src/ActivityIndicator/Spinner.jsx +56 -44
- package/src/ActivityIndicator/Spinner.native.jsx +20 -12
- package/src/ActivityIndicator/index.jsx +1 -1
- package/src/Box/Box.jsx +15 -13
- package/src/Button/Button.jsx +1 -1
- package/src/Button/ButtonBase.jsx +20 -12
- package/src/Button/ButtonGroup.jsx +17 -8
- package/src/Button/ButtonLink.jsx +1 -1
- package/src/Button/propTypes.js +2 -1
- package/src/Card/Card.jsx +7 -4
- package/src/Card/CardBase.jsx +6 -5
- package/src/Card/PressableCardBase.jsx +16 -14
- package/src/Checkbox/Checkbox.jsx +12 -7
- package/src/Divider/Divider.jsx +19 -12
- package/src/ExpandCollapse/Control.jsx +12 -7
- package/src/ExpandCollapse/ExpandCollapse.jsx +13 -3
- package/src/ExpandCollapse/Panel.jsx +15 -5
- package/src/Feedback/Feedback.jsx +13 -3
- package/src/Fieldset/Fieldset.jsx +1 -1
- package/src/FlexGrid/FlexGrid.jsx +11 -5
- package/src/FlexGrid/helpers/index.js +1 -3
- package/src/HorizontalScroll/HorizontalScroll.jsx +12 -5
- package/src/IconButton/IconButton.jsx +18 -12
- package/src/InputLabel/InputLabel.jsx +16 -2
- package/src/InputSupports/InputSupports.jsx +1 -1
- package/src/Link/LinkBase.jsx +15 -12
- package/src/List/List.jsx +12 -5
- package/src/List/ListItem.jsx +16 -2
- package/src/Modal/Modal.jsx +63 -50
- package/src/Notification/Notification.jsx +17 -3
- package/src/Pagination/PageButton.jsx +3 -2
- package/src/Pagination/Pagination.jsx +38 -4
- package/src/Pagination/SideButton.jsx +2 -2
- package/src/Progress/Progress.jsx +5 -3
- package/src/Progress/ProgressBar.jsx +8 -6
- package/src/Radio/Radio.jsx +13 -7
- package/src/Radio/RadioButton.jsx +13 -3
- package/src/Radio/RadioGroup.jsx +14 -2
- package/src/RadioCard/RadioCard.jsx +9 -6
- package/src/RadioCard/RadioCardGroup.jsx +16 -4
- package/src/Search/Search.jsx +15 -3
- package/src/Select/Select.jsx +21 -7
- package/src/SideNav/Item.jsx +15 -7
- package/src/SideNav/SideNav.jsx +13 -2
- package/src/Skeleton/Skeleton.jsx +55 -43
- package/src/Spacer/Spacer.jsx +10 -18
- package/src/StackView/StackView.jsx +13 -12
- package/src/StackView/StackWrapBox.jsx +12 -12
- package/src/StackView/StackWrapGap.jsx +9 -7
- package/src/StackView/getStackedContent.jsx +1 -1
- package/src/StepTracker/Step.jsx +7 -4
- package/src/StepTracker/StepTracker.jsx +8 -8
- package/src/Tabs/Tabs.jsx +63 -23
- package/src/Tabs/TabsItem.jsx +22 -14
- package/src/Tags/Tags.jsx +16 -7
- package/src/TextInput/TextArea.jsx +20 -8
- package/src/TextInput/TextInput.jsx +20 -8
- package/src/TextInput/TextInputBase.jsx +13 -3
- package/src/ThemeProvider/useThemeTokens.js +3 -3
- package/src/ThemeProvider/utils/theme-tokens.js +3 -3
- package/src/ToggleSwitch/ToggleSwitch.jsx +104 -41
- package/src/ToggleSwitch/ToggleSwitchGroup.jsx +211 -0
- package/src/ToggleSwitch/index.js +2 -1
- package/src/Tooltip/Tooltip.jsx +13 -3
- package/src/TooltipButton/TooltipButton.jsx +6 -4
- package/src/Typography/Typography.jsx +10 -6
- package/src/index.js +2 -2
- package/src/utils/a11y/semantics.js +3 -2
- package/src/utils/children.jsx +2 -1
- package/src/utils/index.js +3 -1
- package/src/utils/pressability.js +1 -1
- package/src/utils/props/a11yProps.js +151 -0
- package/src/utils/props/clickProps.js +31 -0
- package/src/utils/props/componentPropType.js +67 -0
- package/src/utils/props/copyPropTypes.js +3 -0
- package/src/utils/props/getPropSelector.js +14 -0
- package/src/utils/props/hrefAttrsProp.js +25 -0
- package/src/utils/props/index.js +16 -0
- package/src/{InputSupports/propTypes.js → utils/props/inputSupportsProps.js} +2 -4
- package/src/utils/props/linkProps.js +43 -0
- package/src/utils/props/paddingProp.js +10 -0
- package/src/utils/props/pressProps.js +45 -0
- package/src/utils/props/rectProp.js +10 -0
- package/src/utils/props/responsiveProps.js +30 -0
- package/src/utils/props/selectSystemProps.js +25 -0
- package/src/utils/props/spacingProps.js +58 -0
- package/src/utils/props/tokens.js +150 -0
- package/src/utils/props/variantProp.js +20 -0
- package/src/utils/props/viewProps.js +23 -0
- package/src/utils/ssr.js +35 -0
- package/src/utils/useResponsiveProp.js +1 -1
- package/src/utils/useSpacingScale.js +4 -4
- package/src/utils/withLinkRouter.jsx +68 -0
- package/stories/TextInput/TextArea.stories.jsx +1 -0
- package/stories/ToggleSwitch/ToggleSwitch.stories.jsx +5 -1
- package/stories/ToggleSwitch/ToggleSwitchGroup.stories.jsx +81 -0
- package/.ultra.cache.json +0 -1
- package/lib/utils/a11y/propTypes.js +0 -61
- package/lib/utils/a11y/propTypes.native.js +0 -47
- package/lib/utils/propTypes.js +0 -541
- package/release-context.json +0 -7
- package/src/utils/a11y/propTypes.js +0 -61
- package/src/utils/a11y/propTypes.native.js +0 -39
- package/src/utils/propTypes.js +0 -531
package/lib/Link/LinkBase.js
CHANGED
|
@@ -15,10 +15,12 @@ var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/export
|
|
|
15
15
|
|
|
16
16
|
var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _props = require("../utils/props");
|
|
19
19
|
|
|
20
20
|
var _pressability = require("../utils/pressability");
|
|
21
21
|
|
|
22
|
+
var _utils = require("../utils");
|
|
23
|
+
|
|
22
24
|
var _InlinePressable = _interopRequireDefault(require("./InlinePressable"));
|
|
23
25
|
|
|
24
26
|
var _ThemeProvider = require("../ThemeProvider");
|
|
@@ -33,6 +35,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
33
35
|
|
|
34
36
|
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; }
|
|
35
37
|
|
|
38
|
+
const [selectProps, selectedSystemPropTypes] = (0, _props.selectSystemProps)([_props.a11yProps, _props.linkProps, _props.viewProps]);
|
|
39
|
+
|
|
36
40
|
const selectOuterBorderStyles = ({
|
|
37
41
|
outerBorderColor,
|
|
38
42
|
outerBorderWidth,
|
|
@@ -120,7 +124,6 @@ const selectIconTokens = ({
|
|
|
120
124
|
|
|
121
125
|
const LinkBase = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
122
126
|
href,
|
|
123
|
-
onPress,
|
|
124
127
|
icon,
|
|
125
128
|
iconPosition = icon ? 'left' : undefined,
|
|
126
129
|
iconProps,
|
|
@@ -128,18 +131,22 @@ const LinkBase = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
128
131
|
tokens = {},
|
|
129
132
|
children,
|
|
130
133
|
accessibilityRole = 'link',
|
|
131
|
-
|
|
132
|
-
...props
|
|
134
|
+
...rawRest
|
|
133
135
|
}, ref) => {
|
|
136
|
+
const {
|
|
137
|
+
onPress,
|
|
138
|
+
...props
|
|
139
|
+
} = _props.clickProps.toPressProps(rawRest);
|
|
140
|
+
|
|
134
141
|
const {
|
|
135
142
|
hrefAttrs,
|
|
136
143
|
rest
|
|
137
|
-
} =
|
|
144
|
+
} = _props.hrefAttrsProp.bundle(props);
|
|
138
145
|
|
|
139
|
-
const
|
|
146
|
+
const selectedProps = selectProps({
|
|
140
147
|
accessibilityRole,
|
|
141
148
|
href,
|
|
142
|
-
onPress:
|
|
149
|
+
onPress: _props.linkProps.handleHref({
|
|
143
150
|
href,
|
|
144
151
|
onPress
|
|
145
152
|
}),
|
|
@@ -153,9 +160,8 @@ const LinkBase = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
153
160
|
|
|
154
161
|
|
|
155
162
|
const blockLeftStyle = _Platform.default.OS === 'web' && staticStyles.blockLeft;
|
|
156
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_InlinePressable.default, { ...
|
|
163
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_InlinePressable.default, { ...selectedProps,
|
|
157
164
|
ref: ref,
|
|
158
|
-
dataSet: dataSet,
|
|
159
165
|
style: linkState => {
|
|
160
166
|
const themeTokens = resolveLinkTokens(linkState);
|
|
161
167
|
const outerBorderStyles = selectOuterBorderStyles(themeTokens);
|
|
@@ -189,10 +195,9 @@ const LinkBase = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
189
195
|
});
|
|
190
196
|
});
|
|
191
197
|
LinkBase.displayName = 'LinkBase';
|
|
192
|
-
LinkBase.propTypes = { ...
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
variant: _propTypes2.variantProp.propType,
|
|
198
|
+
LinkBase.propTypes = { ...selectedSystemPropTypes,
|
|
199
|
+
tokens: (0, _props.getTokensPropType)('Link'),
|
|
200
|
+
variant: _props.variantProp.propType,
|
|
196
201
|
|
|
197
202
|
/**
|
|
198
203
|
* Optional variant that may be passed down to the link's icon if there is one
|
|
@@ -214,7 +219,7 @@ LinkBase.propTypes = { ..._propTypes2.a11yProps.types,
|
|
|
214
219
|
* On Web if href is passed, React Native Web maps this object's props to
|
|
215
220
|
* `rel`, `target` and `download` attrs.
|
|
216
221
|
*/
|
|
217
|
-
hrefAttrs: _propTypes.default.shape(
|
|
222
|
+
hrefAttrs: _propTypes.default.shape(_props.hrefAttrsProp.types)
|
|
218
223
|
};
|
|
219
224
|
|
|
220
225
|
const staticStyles = _StyleSheet.default.create({
|
|
@@ -231,5 +236,6 @@ const staticStyles = _StyleSheet.default.create({
|
|
|
231
236
|
}
|
|
232
237
|
});
|
|
233
238
|
|
|
234
|
-
var _default = LinkBase;
|
|
239
|
+
var _default = (0, _utils.withLinkRouter)(LinkBase);
|
|
240
|
+
|
|
235
241
|
exports.default = _default;
|
package/lib/List/List.js
CHANGED
|
@@ -15,8 +15,6 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
15
15
|
|
|
16
16
|
var _utils = require("../utils");
|
|
17
17
|
|
|
18
|
-
var _propTypes2 = require("../utils/propTypes");
|
|
19
|
-
|
|
20
18
|
var _ListItem = _interopRequireDefault(require("./ListItem"));
|
|
21
19
|
|
|
22
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -27,10 +25,12 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
27
25
|
|
|
28
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; }
|
|
29
27
|
|
|
28
|
+
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
|
|
30
29
|
/**
|
|
31
30
|
* An unordered List component has a child a ListItem that
|
|
32
31
|
* allows icon, dividers and customized typography
|
|
33
32
|
*/
|
|
33
|
+
|
|
34
34
|
const List = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
35
35
|
children,
|
|
36
36
|
showDivider,
|
|
@@ -43,8 +43,6 @@ const List = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
43
43
|
default: 'none'
|
|
44
44
|
});
|
|
45
45
|
|
|
46
|
-
const a11y = _propTypes2.a11yProps.select(rest);
|
|
47
|
-
|
|
48
46
|
const items = _react.Children.map(children, (child, index) => {
|
|
49
47
|
if (child.type.name === _ListItem.default.name) {
|
|
50
48
|
return /*#__PURE__*/(0, _react.cloneElement)(child, {
|
|
@@ -61,12 +59,12 @@ const List = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
61
59
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
62
60
|
ref: ref,
|
|
63
61
|
accessibilityRole: accessibilityRole,
|
|
64
|
-
...
|
|
62
|
+
...selectProps(rest),
|
|
65
63
|
children: items
|
|
66
64
|
});
|
|
67
65
|
});
|
|
68
66
|
List.displayName = 'List';
|
|
69
|
-
List.propTypes = { ...
|
|
67
|
+
List.propTypes = { ...selectedSystemPropTypes,
|
|
70
68
|
tokens: (0, _utils.getTokensPropType)('List'),
|
|
71
69
|
variant: _utils.variantProp.propType,
|
|
72
70
|
children: (0, _utils.componentPropType)('ListItem'),
|
package/lib/List/ListItem.js
CHANGED
|
@@ -27,6 +27,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
27
27
|
|
|
28
28
|
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; }
|
|
29
29
|
|
|
30
|
+
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
|
|
31
|
+
|
|
30
32
|
const selectBulletStyles = ({
|
|
31
33
|
itemBulletWidth,
|
|
32
34
|
itemBulletHeight,
|
|
@@ -108,7 +110,8 @@ const ListItem = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
108
110
|
iconSize,
|
|
109
111
|
showDivider,
|
|
110
112
|
children,
|
|
111
|
-
isLastItem
|
|
113
|
+
isLastItem,
|
|
114
|
+
...rest
|
|
112
115
|
}, ref) => {
|
|
113
116
|
const themeTokens = (0, _ThemeProvider.useThemeTokens)('List', tokens, variant);
|
|
114
117
|
const itemStyles = selectItemStyles(themeTokens);
|
|
@@ -182,6 +185,7 @@ const ListItem = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
182
185
|
ref: ref,
|
|
183
186
|
style: [staticStyles.itemContainer, getContainerStyle()],
|
|
184
187
|
accessibilityRole: accessibilityRole,
|
|
188
|
+
...selectProps(rest),
|
|
185
189
|
children: [renderMarker(), renderItem()]
|
|
186
190
|
});
|
|
187
191
|
});
|
|
@@ -196,7 +200,7 @@ const staticStyles = _StyleSheet.default.create({
|
|
|
196
200
|
}
|
|
197
201
|
});
|
|
198
202
|
|
|
199
|
-
ListItem.propTypes = {
|
|
203
|
+
ListItem.propTypes = { ...selectedSystemPropTypes,
|
|
200
204
|
tokens: (0, _utils.getTokensPropType)('List'),
|
|
201
205
|
variant: _utils.variantProp.propType,
|
|
202
206
|
children: _propTypes.default.node.isRequired,
|
package/lib/Modal/Modal.js
CHANGED
|
@@ -37,6 +37,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
37
37
|
|
|
38
38
|
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; }
|
|
39
39
|
|
|
40
|
+
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
|
|
41
|
+
|
|
40
42
|
const selectContainerStyles = ({
|
|
41
43
|
containerPaddingLeft,
|
|
42
44
|
containerPaddingRight,
|
|
@@ -119,7 +121,8 @@ const Modal = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
119
121
|
maxWidth,
|
|
120
122
|
tokens,
|
|
121
123
|
variant,
|
|
122
|
-
copy
|
|
124
|
+
copy,
|
|
125
|
+
...rest
|
|
123
126
|
}, ref) => {
|
|
124
127
|
const viewport = (0, _ViewportProvider.useViewport)();
|
|
125
128
|
const themeTokens = (0, _ThemeProvider.useThemeTokens)('Modal', tokens, variant, {
|
|
@@ -150,6 +153,7 @@ const Modal = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
150
153
|
|
|
151
154
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Modal.default, {
|
|
152
155
|
transparent: true,
|
|
156
|
+
...selectProps(rest),
|
|
153
157
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_View.default, {
|
|
154
158
|
style: [staticStyles.positioningContainer],
|
|
155
159
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
@@ -182,7 +186,7 @@ const Modal = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
182
186
|
});
|
|
183
187
|
});
|
|
184
188
|
Modal.displayName = 'Modal';
|
|
185
|
-
Modal.propTypes = {
|
|
189
|
+
Modal.propTypes = { ...selectedSystemPropTypes,
|
|
186
190
|
children: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.arrayOf(_propTypes.default.node)]),
|
|
187
191
|
copy: _utils.copyPropTypes,
|
|
188
192
|
isOpen: _propTypes.default.bool,
|
|
@@ -33,6 +33,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
33
33
|
|
|
34
34
|
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; }
|
|
35
35
|
|
|
36
|
+
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
|
|
37
|
+
|
|
36
38
|
const selectContainerStyles = tokens => ({ ...tokens
|
|
37
39
|
});
|
|
38
40
|
|
|
@@ -124,7 +126,8 @@ const Notification = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
124
126
|
dismissible,
|
|
125
127
|
copy = 'en',
|
|
126
128
|
tokens,
|
|
127
|
-
variant
|
|
129
|
+
variant,
|
|
130
|
+
...rest
|
|
128
131
|
}, ref) => {
|
|
129
132
|
const [isDismissed, setIsDismissed] = (0, _react.useState)(false);
|
|
130
133
|
const themeTokens = (0, _ThemeProvider.useThemeTokens)('Notification', tokens, variant, {
|
|
@@ -155,6 +158,7 @@ const Notification = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
155
158
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_View.default, {
|
|
156
159
|
ref: ref,
|
|
157
160
|
style: [staticStyles.container, selectContainerStyles(themeTokens)],
|
|
161
|
+
...selectProps(rest),
|
|
158
162
|
children: [IconComponent && /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
159
163
|
style: selectIconContainerStyles(themeTokens),
|
|
160
164
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(IconComponent, { ...selectIconProps(themeTokens)
|
|
@@ -178,7 +182,8 @@ const Notification = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
178
182
|
});
|
|
179
183
|
});
|
|
180
184
|
Notification.displayName = 'Notification';
|
|
181
|
-
Notification.propTypes = {
|
|
185
|
+
Notification.propTypes = { ...selectedSystemPropTypes,
|
|
186
|
+
|
|
182
187
|
/**
|
|
183
188
|
* Content of the `Notification`.
|
|
184
189
|
*/
|
|
@@ -85,5 +85,7 @@ PageButton.propTypes = { ..._utils.linkProps.types,
|
|
|
85
85
|
variant: _utils.variantProp.propType,
|
|
86
86
|
tokens: (0, _utils.getTokensPropType)('PaginationPageButton')
|
|
87
87
|
};
|
|
88
|
-
|
|
88
|
+
|
|
89
|
+
var _default = (0, _utils.withLinkRouter)(PageButton);
|
|
90
|
+
|
|
89
91
|
exports.default = _default;
|
|
@@ -35,6 +35,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
35
35
|
|
|
36
36
|
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; }
|
|
37
37
|
|
|
38
|
+
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
|
|
39
|
+
|
|
38
40
|
const selectTextStyles = ({
|
|
39
41
|
color,
|
|
40
42
|
fontName,
|
|
@@ -55,7 +57,10 @@ const Pagination = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
55
57
|
variant,
|
|
56
58
|
tokens,
|
|
57
59
|
sideButtonVariant,
|
|
58
|
-
sideButtonTokens
|
|
60
|
+
sideButtonTokens,
|
|
61
|
+
LinkRouter,
|
|
62
|
+
linkRouterProps,
|
|
63
|
+
...rest
|
|
59
64
|
}, ref) => {
|
|
60
65
|
const viewport = (0, _ViewportProvider.useViewport)();
|
|
61
66
|
const {
|
|
@@ -93,13 +98,21 @@ const Pagination = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
93
98
|
direction: "previous",
|
|
94
99
|
copy: copy,
|
|
95
100
|
variant: sideButtonVariant,
|
|
96
|
-
tokens: sideButtonTokens
|
|
97
|
-
|
|
101
|
+
tokens: sideButtonTokens,
|
|
102
|
+
LinkRouter: LinkRouter,
|
|
103
|
+
linkRouterProps: linkRouterProps
|
|
104
|
+
}), ...items.map((_child, itemIndex) => {
|
|
98
105
|
const buttonLabel = `${itemIndex + 1}`;
|
|
99
106
|
const itemProps = getItemProps(itemIndex);
|
|
107
|
+
const ItemLinkRouter = itemProps.LinkRouter ?? LinkRouter;
|
|
108
|
+
const itemLinkRouterProps = { ...linkRouterProps,
|
|
109
|
+
...itemProps.linkRouterProps
|
|
110
|
+
};
|
|
100
111
|
|
|
101
112
|
if (shouldRenderButton(itemIndex)) {
|
|
102
113
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PageButton.default, { ...itemProps,
|
|
114
|
+
LinkRouter: ItemLinkRouter,
|
|
115
|
+
linkRouterProps: itemLinkRouterProps,
|
|
103
116
|
label: buttonLabel,
|
|
104
117
|
copy: copy,
|
|
105
118
|
isActive: isItemActive(itemIndex)
|
|
@@ -118,11 +131,14 @@ const Pagination = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
118
131
|
direction: "next",
|
|
119
132
|
copy: copy,
|
|
120
133
|
variant: sideButtonVariant,
|
|
121
|
-
tokens: sideButtonTokens
|
|
134
|
+
tokens: sideButtonTokens,
|
|
135
|
+
LinkRouter: LinkRouter,
|
|
136
|
+
linkRouterProps: linkRouterProps
|
|
122
137
|
})];
|
|
123
138
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
124
139
|
style: staticStyles.container,
|
|
125
140
|
ref: ref,
|
|
141
|
+
...selectProps(rest),
|
|
126
142
|
children: buttons // keep the keys in-line with the page numbers regardless of which buttons are actually rendered
|
|
127
143
|
.map((element, index) => [element, `page-${index + 1}`]).filter(([element]) => element !== null).map(([element, key]) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
128
144
|
right: gap,
|
|
@@ -132,7 +148,8 @@ const Pagination = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
132
148
|
});
|
|
133
149
|
_PageButton.default.displayName = 'PageButton';
|
|
134
150
|
Pagination.PageButton = _PageButton.default;
|
|
135
|
-
Pagination.propTypes = {
|
|
151
|
+
Pagination.propTypes = { ...selectedSystemPropTypes,
|
|
152
|
+
..._utils.withLinkRouter.propTypes,
|
|
136
153
|
children: (0, _utils.componentPropType)('PageButton'),
|
|
137
154
|
copy: _utils.copyPropTypes,
|
|
138
155
|
variant: _utils.variantProp.propType,
|
package/lib/Progress/Progress.js
CHANGED
|
@@ -11,8 +11,6 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
11
11
|
|
|
12
12
|
var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
|
|
13
13
|
|
|
14
|
-
var _propTypes2 = require("../utils/propTypes");
|
|
15
|
-
|
|
16
14
|
var _ThemeProvider = require("../ThemeProvider");
|
|
17
15
|
|
|
18
16
|
var _utils = require("../utils");
|
|
@@ -25,6 +23,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
25
23
|
|
|
26
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; }
|
|
27
25
|
|
|
26
|
+
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
|
|
27
|
+
|
|
28
28
|
const selectProgressStyles = ({
|
|
29
29
|
backgroundColor,
|
|
30
30
|
borderWidth,
|
|
@@ -79,12 +79,13 @@ const Progress = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
79
79
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
80
80
|
ref: ref,
|
|
81
81
|
style: selectProgressStyles(themeTokens),
|
|
82
|
-
...
|
|
82
|
+
...selectProps(rest),
|
|
83
83
|
children: children
|
|
84
84
|
});
|
|
85
85
|
});
|
|
86
86
|
Progress.displayName = 'Progress';
|
|
87
|
-
Progress.propTypes = {
|
|
87
|
+
Progress.propTypes = { ...selectedSystemPropTypes,
|
|
88
|
+
|
|
88
89
|
/**
|
|
89
90
|
* Use the `children` prop to supply one or several `ProgressBar`s.
|
|
90
91
|
*/
|
|
@@ -17,8 +17,6 @@ var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Vi
|
|
|
17
17
|
|
|
18
18
|
var _ProgressBarBackground = _interopRequireDefault(require("./ProgressBarBackground"));
|
|
19
19
|
|
|
20
|
-
var _propTypes2 = require("../utils/propTypes");
|
|
21
|
-
|
|
22
20
|
var _ThemeProvider = require("../ThemeProvider");
|
|
23
21
|
|
|
24
22
|
var _utils = require("../utils");
|
|
@@ -31,6 +29,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
31
29
|
|
|
32
30
|
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
31
|
|
|
32
|
+
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
|
|
33
|
+
|
|
34
34
|
const selectBarStyles = ({
|
|
35
35
|
backgroundColor,
|
|
36
36
|
borderRadius,
|
|
@@ -94,7 +94,7 @@ const ProgressBar = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
94
94
|
throw new Error('ProgressBar: `percentage` cannot exceed 100');
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
const
|
|
97
|
+
const selectedProps = selectProps({
|
|
98
98
|
accessibilityRole: 'progressbar',
|
|
99
99
|
accessibilityValue: {
|
|
100
100
|
min: 0,
|
|
@@ -102,19 +102,20 @@ const ProgressBar = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
102
102
|
now: percentage,
|
|
103
103
|
text: `${percentage}%`
|
|
104
104
|
},
|
|
105
|
-
...
|
|
106
|
-
};
|
|
105
|
+
...rest
|
|
106
|
+
});
|
|
107
107
|
return percentage > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
108
108
|
ref: ref,
|
|
109
109
|
style: [staticStyles.bar, selectBarStyles(themeTokens, percentage)],
|
|
110
|
-
...
|
|
110
|
+
...selectedProps,
|
|
111
111
|
children: children ?? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ProgressBarBackground.default, {
|
|
112
112
|
variant: variant
|
|
113
113
|
})
|
|
114
114
|
}) : null;
|
|
115
115
|
});
|
|
116
116
|
ProgressBar.displayName = 'ProgressBar';
|
|
117
|
-
ProgressBar.propTypes = {
|
|
117
|
+
ProgressBar.propTypes = { ...selectedSystemPropTypes,
|
|
118
|
+
|
|
118
119
|
/**
|
|
119
120
|
* Optional children that can be used to customize the progress bar filling.
|
|
120
121
|
*/
|
package/lib/Radio/Radio.js
CHANGED
|
@@ -25,8 +25,6 @@ var _ThemeProvider = require("../ThemeProvider");
|
|
|
25
25
|
|
|
26
26
|
var _utils = require("../utils");
|
|
27
27
|
|
|
28
|
-
var _propTypes2 = require("../utils/propTypes");
|
|
29
|
-
|
|
30
28
|
var _StackView = _interopRequireDefault(require("../StackView"));
|
|
31
29
|
|
|
32
30
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -37,8 +35,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
37
35
|
|
|
38
36
|
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; }
|
|
39
37
|
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
|
|
39
|
+
|
|
42
40
|
const selectContainerStyles = ({
|
|
43
41
|
containerBackgroundColor,
|
|
44
42
|
containerBorderRadius,
|
|
@@ -165,8 +163,6 @@ const Radio = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
165
163
|
if ((event === null || event === void 0 ? void 0 : event.key) === ' ') handleChange(event);
|
|
166
164
|
};
|
|
167
165
|
|
|
168
|
-
const accessibilityProps = _propTypes2.a11yProps.select(rest);
|
|
169
|
-
|
|
170
166
|
const uniqueId = (0, _utils.useUniqueId)('radio');
|
|
171
167
|
const inputId = id ?? uniqueId;
|
|
172
168
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Pressable.default, {
|
|
@@ -179,7 +175,7 @@ const Radio = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
179
175
|
checked: isChecked,
|
|
180
176
|
disabled: inactive
|
|
181
177
|
},
|
|
182
|
-
...
|
|
178
|
+
...selectProps(rest),
|
|
183
179
|
children: ({
|
|
184
180
|
focused: focus,
|
|
185
181
|
hovered: hover,
|
|
@@ -220,7 +216,7 @@ const Radio = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
220
216
|
});
|
|
221
217
|
});
|
|
222
218
|
Radio.displayName = 'Radio';
|
|
223
|
-
Radio.propTypes = { ...
|
|
219
|
+
Radio.propTypes = { ...selectedSystemPropTypes,
|
|
224
220
|
|
|
225
221
|
/**
|
|
226
222
|
* Use `checked` for controlled Radio. For uncontrolled Radio, use the `defaultChecked` prop.
|
package/lib/Radio/RadioButton.js
CHANGED
|
@@ -29,8 +29,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
29
29
|
|
|
30
30
|
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; }
|
|
31
31
|
|
|
32
|
-
// TODO: roll out a standard approach to token sets
|
|
32
|
+
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]); // TODO: roll out a standard approach to token sets
|
|
33
33
|
// https://github.com/telus/universal-design-system/issues/782
|
|
34
|
+
|
|
34
35
|
const tokenKeys = ['checkedBackgroundColor', 'checkedSize', 'inputBackgroundColor', 'inputBorderColor', 'inputBorderWidth', 'inputOutlineColor', 'inputOutlineWidth', 'inputSize', 'outerBorderColor', 'outerBorderWidth', 'outerBorderGap', 'inputSize'];
|
|
35
36
|
|
|
36
37
|
const selectRadioButtonTokens = (themeTokens, prefix) => (0, _utils.selectTokens)(tokenKeys, themeTokens, prefix);
|
|
@@ -99,13 +100,15 @@ const RadioButton = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
99
100
|
isControlled,
|
|
100
101
|
handleChange,
|
|
101
102
|
name: inputName,
|
|
102
|
-
value
|
|
103
|
+
value,
|
|
104
|
+
...rest
|
|
103
105
|
}, ref) => {
|
|
104
106
|
const themeTokens = (0, _ThemeProvider.validateThemeTokens)((0, _ThemeProvider.resolveThemeTokens)(tokens, {
|
|
105
107
|
checked: isChecked
|
|
106
108
|
}), (0, _utils.getTokensSetPropType)(tokenKeys), 'RadioButton');
|
|
107
109
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
108
110
|
style: selectOuterBorderStyles(themeTokens),
|
|
111
|
+
...selectProps(rest),
|
|
109
112
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_View.default, {
|
|
110
113
|
style: [staticStyles.defaultInputStyles, selectInputStyles(themeTokens, isChecked)],
|
|
111
114
|
testID: "Radio-Input",
|
|
@@ -127,7 +130,7 @@ const RadioButton = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
127
130
|
});
|
|
128
131
|
});
|
|
129
132
|
RadioButton.displayName = 'RadioButton';
|
|
130
|
-
RadioButton.propTypes = {
|
|
133
|
+
RadioButton.propTypes = { ...selectedSystemPropTypes,
|
|
131
134
|
isChecked: _propTypes.default.bool,
|
|
132
135
|
tokens: (0, _utils.getTokensSetPropType)(tokenKeys, {
|
|
133
136
|
allowFunction: true
|
package/lib/Radio/RadioGroup.js
CHANGED
|
@@ -31,6 +31,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
31
31
|
|
|
32
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
33
|
|
|
34
|
+
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
|
|
34
35
|
/**
|
|
35
36
|
* A group of Radios that behave as a radio group. Use when users select a single choice from mutually
|
|
36
37
|
* exclusive options.
|
|
@@ -79,6 +80,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
79
80
|
* />
|
|
80
81
|
* ```
|
|
81
82
|
*/
|
|
83
|
+
|
|
82
84
|
const RadioGroup = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
83
85
|
tokens,
|
|
84
86
|
radioTokens,
|
|
@@ -94,7 +96,8 @@ const RadioGroup = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
94
96
|
onChange,
|
|
95
97
|
readOnly,
|
|
96
98
|
name: inputGroupName,
|
|
97
|
-
inactive
|
|
99
|
+
inactive,
|
|
100
|
+
...rest
|
|
98
101
|
}, ref) => {
|
|
99
102
|
const viewport = (0, _ViewportProvider.useViewport)();
|
|
100
103
|
const {
|
|
@@ -149,6 +152,7 @@ const RadioGroup = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
149
152
|
inactive: inactive,
|
|
150
153
|
validation: validation,
|
|
151
154
|
accessibilityRole: "radiogroup",
|
|
155
|
+
...selectProps(rest),
|
|
152
156
|
children: (0, _StackView.getStackedContent)(radios, {
|
|
153
157
|
space,
|
|
154
158
|
direction: 'column'
|
|
@@ -156,7 +160,8 @@ const RadioGroup = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
156
160
|
});
|
|
157
161
|
});
|
|
158
162
|
RadioGroup.displayName = 'RadioGroup';
|
|
159
|
-
RadioGroup.propTypes = {
|
|
163
|
+
RadioGroup.propTypes = { ...selectedSystemPropTypes,
|
|
164
|
+
|
|
160
165
|
/**
|
|
161
166
|
* Optional theme token overrides for the outer RadioGroup component
|
|
162
167
|
*/
|
|
@@ -33,6 +33,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
33
33
|
|
|
34
34
|
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; }
|
|
35
35
|
|
|
36
|
+
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
|
|
36
37
|
/**
|
|
37
38
|
* A Card that behaves like a radio button. Use when users select a single choice from mutually exclusive options
|
|
38
39
|
* with need to show additional information for each option. The whole card is interactive as one item.
|
|
@@ -68,6 +69,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
68
69
|
* accessibility role `'radio'` and accessibility state that depends on the other props (`checked`, `inactive`)
|
|
69
70
|
* or the internal state in case of uncontrolled radio button.
|
|
70
71
|
*/
|
|
72
|
+
|
|
71
73
|
const RadioCard = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
72
74
|
tokens,
|
|
73
75
|
variant,
|
|
@@ -98,8 +100,6 @@ const RadioCard = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
98
100
|
}
|
|
99
101
|
};
|
|
100
102
|
|
|
101
|
-
const a11y = _utils.a11yProps.select(rest);
|
|
102
|
-
|
|
103
103
|
const uniqueId = (0, _utils.useUniqueId)('RadioCard');
|
|
104
104
|
const inputId = id ?? uniqueId;
|
|
105
105
|
const getTokens = (0, _ThemeProvider.useThemeTokensCallback)('RadioCard', tokens, variant);
|
|
@@ -117,7 +117,7 @@ const RadioCard = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
117
117
|
checked: isChecked,
|
|
118
118
|
disabled: inactive
|
|
119
119
|
},
|
|
120
|
-
...
|
|
120
|
+
...selectProps(rest),
|
|
121
121
|
children: cardState => {
|
|
122
122
|
const {
|
|
123
123
|
radioSpace,
|
|
@@ -161,7 +161,7 @@ const RadioCard = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
161
161
|
});
|
|
162
162
|
});
|
|
163
163
|
RadioCard.displayName = 'RadioCard';
|
|
164
|
-
RadioCard.propTypes = { ...
|
|
164
|
+
RadioCard.propTypes = { ...selectedSystemPropTypes,
|
|
165
165
|
|
|
166
166
|
/**
|
|
167
167
|
* Content to be displayed at the top of the card alongside the radio button
|