@telus-uds/components-base 1.2.0 → 1.4.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/.turbo/turbo-build.log +8 -0
- package/CHANGELOG.json +61 -0
- package/CHANGELOG.md +45 -2
- 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__/utils/props.test.js +36 -0
- package/__tests__/utils/semantics.test.jsx +1 -10
- package/babel.config.js +27 -5
- package/component-docs.json +170 -494
- 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 +7 -8
- 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 +6 -11
- package/lib/Checkbox/Checkbox.js +4 -6
- 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 +6 -6
- package/lib/InputLabel/InputLabel.js +7 -2
- package/lib/InputSupports/InputSupports.js +2 -2
- package/lib/Link/LinkBase.js +12 -13
- 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 +12 -8
- package/lib/Pagination/Pagination.js +8 -3
- package/lib/Progress/Progress.js +5 -4
- package/lib/Progress/ProgressBar.js +8 -7
- package/lib/Radio/Radio.js +4 -6
- 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 +6 -2
- package/lib/Tabs/TabsItem.js +6 -5
- 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 +10 -9
- package/lib/ToggleSwitch/ToggleSwitchGroup.js +10 -12
- 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 +7 -0
- package/lib/utils/a11y/semantics.js +4 -3
- package/lib/utils/children.js +5 -1
- package/lib/utils/index.js +18 -4
- 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-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 +9 -8
- 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 +12 -12
- package/src/Checkbox/Checkbox.jsx +12 -5
- 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 +12 -8
- package/src/InputLabel/InputLabel.jsx +16 -2
- package/src/InputSupports/InputSupports.jsx +1 -1
- package/src/Link/LinkBase.jsx +11 -10
- 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 +23 -6
- package/src/Pagination/Pagination.jsx +10 -3
- package/src/Progress/Progress.jsx +5 -3
- package/src/Progress/ProgressBar.jsx +8 -6
- package/src/Radio/Radio.jsx +13 -5
- 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 +16 -3
- package/src/Tabs/TabsItem.jsx +13 -9
- 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 +12 -7
- package/src/ToggleSwitch/ToggleSwitchGroup.jsx +14 -6
- 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 +1 -1
- package/src/utils/a11y/semantics.js +3 -2
- package/src/utils/children.jsx +2 -1
- package/src/utils/index.js +2 -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/.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 -566
- 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 -561
|
@@ -40,6 +40,9 @@ const parseComponentDocs = (name, generated) => {
|
|
|
40
40
|
const components = {}
|
|
41
41
|
|
|
42
42
|
Object.entries(allExports).forEach(([name, exp]) => {
|
|
43
|
+
// fail fast with meaningful error on typos, missing exports, etc
|
|
44
|
+
if (!exp) throw new Error(`components-base export "${name}" is ${exp} (typeof ${typeof exp})`)
|
|
45
|
+
|
|
43
46
|
if (exp.__docgenInfo) {
|
|
44
47
|
// populated by babel-plugin-react-docgen
|
|
45
48
|
components[name] = parseComponentDocs(name, exp.__docgenInfo)
|
package/lib/A11yText/index.js
CHANGED
|
@@ -15,7 +15,7 @@ var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Vi
|
|
|
15
15
|
|
|
16
16
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _props = require("../utils/props");
|
|
19
19
|
|
|
20
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
21
|
|
|
@@ -25,18 +25,20 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
25
25
|
|
|
26
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
27
|
|
|
28
|
+
const [selectProps, selectedSystemPropTypes] = (0, _props.selectSystemProps)([_props.a11yProps, _props.viewProps]);
|
|
28
29
|
/**
|
|
29
30
|
* A11yText is a zero-size invisible element that adds text to be read by screen readers.
|
|
30
31
|
*
|
|
31
32
|
* It should be used to add selectable screen-reader-only text to the main document flow,
|
|
32
33
|
* as a sibling to blocks of text like paragraphs and interactive elements like buttons.
|
|
33
34
|
*/
|
|
35
|
+
|
|
34
36
|
const A11yText = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
35
37
|
text,
|
|
36
38
|
heading,
|
|
37
39
|
...rest
|
|
38
40
|
}, ref) => {
|
|
39
|
-
const
|
|
41
|
+
const selectedProps = selectProps({
|
|
40
42
|
// On iOS, needs `accessible` to be true to be focusable without non-a11y content.
|
|
41
43
|
// On Web, `accessible` causes RNW to set attributes that may make the element be treated as a group.
|
|
42
44
|
// On Android, may cause this to be skipped when with `<Text>` siblings in an `accessible` View,
|
|
@@ -46,15 +48,14 @@ const A11yText = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
46
48
|
accessibilityRole: heading ? 'header' : 'text',
|
|
47
49
|
...rest
|
|
48
50
|
});
|
|
49
|
-
|
|
50
51
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
51
52
|
style: styles.invisible,
|
|
52
53
|
ref: ref,
|
|
53
|
-
...
|
|
54
|
+
...selectedProps
|
|
54
55
|
});
|
|
55
56
|
});
|
|
56
57
|
A11yText.displayName = 'A11yText';
|
|
57
|
-
A11yText.propTypes = {
|
|
58
|
+
A11yText.propTypes = { ...selectedSystemPropTypes,
|
|
58
59
|
text: _propTypes.default.string.isRequired,
|
|
59
60
|
heading: _propTypes.default.bool
|
|
60
61
|
};
|
|
@@ -9,6 +9,8 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
9
9
|
|
|
10
10
|
var _shared = require("./shared");
|
|
11
11
|
|
|
12
|
+
var _A11yInfoProvider = require("../A11yInfoProvider");
|
|
13
|
+
|
|
12
14
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
15
|
|
|
14
16
|
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); }
|
|
@@ -37,44 +39,51 @@ const Spinner = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
37
39
|
color,
|
|
38
40
|
thickness,
|
|
39
41
|
label
|
|
40
|
-
}, ref) =>
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
42
|
+
}, ref) => {
|
|
43
|
+
const {
|
|
44
|
+
reduceMotionEnabled
|
|
45
|
+
} = (0, _A11yInfoProvider.useA11yInfo)();
|
|
46
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", {
|
|
47
|
+
ref: ref,
|
|
48
|
+
width: `${size}px`,
|
|
49
|
+
height: `${size}px`,
|
|
50
|
+
viewBox: "0 0 48 48",
|
|
51
|
+
"aria-valuetext": label,
|
|
52
|
+
role: "progressbar",
|
|
53
|
+
"aria-busy": true,
|
|
54
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", {
|
|
55
|
+
children: [reduceMotionEnabled ? null : /*#__PURE__*/(0, _jsxRuntime.jsx)("animateTransform", {
|
|
56
|
+
attributeName: "transform",
|
|
57
|
+
type: "rotate",
|
|
58
|
+
values: `-180 24 24;${360 + _shared.MIN_STROKE_ANGLE - 180} 24 24`,
|
|
59
|
+
...animationProps
|
|
60
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("circle", {
|
|
61
|
+
fill: "none",
|
|
62
|
+
stroke: color,
|
|
63
|
+
strokeWidth: thickness * 48 / size,
|
|
64
|
+
strokeLinecap: "round",
|
|
65
|
+
cx: "24",
|
|
66
|
+
cy: "24",
|
|
67
|
+
r: "20",
|
|
68
|
+
strokeDasharray: reduceMotionEnabled ? MAX_SVG_LENGTH : [MIN_SVG_LENGTH, SVG_CIRCUMFERENCE],
|
|
69
|
+
strokeDashoffset: 0,
|
|
70
|
+
children: reduceMotionEnabled ? null : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
71
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("animate", {
|
|
72
|
+
attributeName: "stroke-dashoffset",
|
|
73
|
+
values: `0;-10;${MIN_SVG_LENGTH - SVG_CIRCUMFERENCE}`,
|
|
74
|
+
...animationProps,
|
|
75
|
+
...bezierProps
|
|
76
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("animate", {
|
|
77
|
+
attributeName: "stroke-dasharray",
|
|
78
|
+
values: `${MIN_SVG_LENGTH}, 200;${MAX_SVG_LENGTH}, 200;${MIN_SVG_LENGTH}, 200`,
|
|
79
|
+
...animationProps,
|
|
80
|
+
...bezierProps
|
|
81
|
+
})]
|
|
82
|
+
})
|
|
74
83
|
})]
|
|
75
|
-
})
|
|
76
|
-
})
|
|
77
|
-
})
|
|
84
|
+
})
|
|
85
|
+
});
|
|
86
|
+
});
|
|
78
87
|
Spinner.displayName = 'Spinner';
|
|
79
88
|
Spinner.propTypes = _shared.propTypes;
|
|
80
89
|
var _default = Spinner;
|
|
@@ -17,6 +17,8 @@ var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Vi
|
|
|
17
17
|
|
|
18
18
|
var _shared = require("./shared");
|
|
19
19
|
|
|
20
|
+
var _A11yInfoProvider = require("../A11yInfoProvider");
|
|
21
|
+
|
|
20
22
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
23
|
|
|
22
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -37,6 +39,10 @@ const Spinner = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
37
39
|
current: timer
|
|
38
40
|
} = _react.default.useRef(new _Animated.default.Value(0));
|
|
39
41
|
|
|
42
|
+
const {
|
|
43
|
+
reduceMotionEnabled
|
|
44
|
+
} = (0, _A11yInfoProvider.useA11yInfo)();
|
|
45
|
+
|
|
40
46
|
_react.default.useLayoutEffect(() => {
|
|
41
47
|
const loop = _Animated.default.timing(timer, {
|
|
42
48
|
duration: _shared.DURATION,
|
|
@@ -47,8 +53,8 @@ const Spinner = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
47
53
|
isInteraction: false
|
|
48
54
|
});
|
|
49
55
|
|
|
50
|
-
_Animated.default.loop(loop).start();
|
|
51
|
-
}, [timer]);
|
|
56
|
+
if (!reduceMotionEnabled) _Animated.default.loop(loop).start();else loop.stop();
|
|
57
|
+
}, [timer, reduceMotionEnabled]);
|
|
52
58
|
|
|
53
59
|
const frames = 60 * _shared.DURATION / 1000;
|
|
54
60
|
|
|
@@ -56,9 +62,10 @@ const Spinner = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
56
62
|
|
|
57
63
|
const containerStyle = {
|
|
58
64
|
width: size,
|
|
59
|
-
height: size / 2,
|
|
65
|
+
height: size / (reduceMotionEnabled ? 1.5 : 2),
|
|
60
66
|
overflow: 'hidden'
|
|
61
|
-
};
|
|
67
|
+
};
|
|
68
|
+
const animationFrequency = reduceMotionEnabled ? [0] : [0, 1]; // Credit to https://github.com/n4kz/react-native-indicators and https://github.com/callstack/react-native-paper for this
|
|
62
69
|
|
|
63
70
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
64
71
|
ref: ref,
|
|
@@ -75,7 +82,7 @@ const Spinner = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
75
82
|
height: size
|
|
76
83
|
}],
|
|
77
84
|
collapsable: false,
|
|
78
|
-
children:
|
|
85
|
+
children: animationFrequency.map(index => {
|
|
79
86
|
const inputRange = Array.from(new Array(frames), (_, frameIndex) => frameIndex / (frames - 1));
|
|
80
87
|
const outputRange = Array.from(new Array(frames), (_, frameIndex) => {
|
|
81
88
|
let progress = 2 * frameIndex / (frames - 1);
|
|
@@ -90,26 +97,30 @@ const Spinner = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
90
97
|
});
|
|
91
98
|
const layerStyle = {
|
|
92
99
|
width: size,
|
|
93
|
-
height: size
|
|
94
|
-
|
|
100
|
+
height: size
|
|
101
|
+
};
|
|
102
|
+
const viewportStyle = {
|
|
103
|
+
width: size,
|
|
104
|
+
height: size
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
if (!reduceMotionEnabled) {
|
|
108
|
+
layerStyle.transform = [{
|
|
95
109
|
rotate: timer.interpolate({
|
|
96
110
|
inputRange: [0, 1],
|
|
97
111
|
outputRange: [`${0 + ea + sa}deg`, `${2 * 360 + ea + sa}deg`]
|
|
98
112
|
})
|
|
99
|
-
}]
|
|
100
|
-
|
|
101
|
-
const viewportStyle = {
|
|
102
|
-
width: size,
|
|
103
|
-
height: size,
|
|
104
|
-
transform: [{
|
|
113
|
+
}];
|
|
114
|
+
viewportStyle.transform = [{
|
|
105
115
|
translateY: index ? -size / 2 : 0
|
|
106
116
|
}, {
|
|
107
117
|
rotate: timer.interpolate({
|
|
108
118
|
inputRange,
|
|
109
119
|
outputRange
|
|
110
120
|
})
|
|
111
|
-
}]
|
|
112
|
-
}
|
|
121
|
+
}];
|
|
122
|
+
}
|
|
123
|
+
|
|
113
124
|
const offsetStyle = index ? {
|
|
114
125
|
top: size / 2
|
|
115
126
|
} : null;
|
|
@@ -11,7 +11,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
11
11
|
|
|
12
12
|
var _ThemeProvider = require("../ThemeProvider");
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _props = require("../utils/props");
|
|
15
15
|
|
|
16
16
|
var _Spinner = _interopRequireDefault(require("./Spinner"));
|
|
17
17
|
|
|
@@ -42,8 +42,8 @@ const ActivityIndicator = ({
|
|
|
42
42
|
};
|
|
43
43
|
|
|
44
44
|
ActivityIndicator.propTypes = {
|
|
45
|
-
variant:
|
|
46
|
-
tokens: (0,
|
|
45
|
+
variant: _props.variantProp.propType,
|
|
46
|
+
tokens: (0, _props.getTokensPropType)('ActivityIndicator'),
|
|
47
47
|
|
|
48
48
|
/**
|
|
49
49
|
* A visually hidden accessible label describing the action taking place
|
package/lib/Box/Box.js
CHANGED
|
@@ -25,12 +25,14 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
25
25
|
|
|
26
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
27
|
|
|
28
|
+
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
|
|
28
29
|
/**
|
|
29
|
-
* @typedef {import('../utils/
|
|
30
|
-
* @typedef {import('../utils/
|
|
31
|
-
* @typedef {import('../utils/
|
|
32
|
-
* @typedef {import('../utils/
|
|
30
|
+
* @typedef {import('../utils/props/spacingProps.js').SpacingValue} SpacingValue
|
|
31
|
+
* @typedef {import('../utils/props/spacingProps.js').SpacingIndex} SpacingIndex
|
|
32
|
+
* @typedef {import('../utils/props/spacingProps.js').SpacingObject} SpacingObject
|
|
33
|
+
* @typedef {import('../utils/props/spacingProps.js').SpacingOptions} SpacingOptions
|
|
33
34
|
*/
|
|
35
|
+
|
|
34
36
|
const selectBoxStyles = tokens => {
|
|
35
37
|
const styles = {
|
|
36
38
|
backgroundColor: tokens.backgroundColor
|
|
@@ -131,8 +133,7 @@ const Box = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
131
133
|
...rest
|
|
132
134
|
}, ref) => {
|
|
133
135
|
const props = { ...(0, _utils.getA11yPropsFromHtmlTag)(tag, accessibilityRole),
|
|
134
|
-
...
|
|
135
|
-
..._utils.viewProps.select(rest)
|
|
136
|
+
...selectProps(rest)
|
|
136
137
|
};
|
|
137
138
|
const themeTokens = (0, _ThemeProvider.useThemeTokens)('Box', tokens, variant);
|
|
138
139
|
const styles = {
|
|
@@ -165,8 +166,7 @@ const Box = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
165
166
|
});
|
|
166
167
|
});
|
|
167
168
|
Box.displayName = 'Box';
|
|
168
|
-
Box.propTypes = { ...
|
|
169
|
-
..._utils.viewProps.types,
|
|
169
|
+
Box.propTypes = { ...selectedSystemPropTypes,
|
|
170
170
|
variant: _utils.variantProp.propType,
|
|
171
171
|
tokens: (0, _utils.getTokensPropType)('Box'),
|
|
172
172
|
|
package/lib/Button/Button.js
CHANGED
|
@@ -13,7 +13,7 @@ var _propTypes = _interopRequireWildcard(require("./propTypes"));
|
|
|
13
13
|
|
|
14
14
|
var _ThemeProvider = require("../ThemeProvider");
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _props = require("../utils/props");
|
|
17
17
|
|
|
18
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
19
|
|
|
@@ -37,7 +37,7 @@ const Button = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
37
37
|
});
|
|
38
38
|
});
|
|
39
39
|
Button.displayName = 'Button';
|
|
40
|
-
Button.propTypes = { ...
|
|
40
|
+
Button.propTypes = { ..._props.a11yProps.types,
|
|
41
41
|
..._propTypes.default,
|
|
42
42
|
children: _propTypes.textAndA11yText
|
|
43
43
|
};
|
package/lib/Button/ButtonBase.js
CHANGED
|
@@ -31,6 +31,8 @@ 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, _utils2.selectSystemProps)([_utils2.a11yProps, _utils2.linkProps, _utils2.viewProps]);
|
|
35
|
+
|
|
34
36
|
const getOuterBorderOffset = ({
|
|
35
37
|
outerBorderGap = 0,
|
|
36
38
|
outerBorderWidth = 0
|
|
@@ -181,7 +183,6 @@ const ButtonBase = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
181
183
|
// alias for inactive
|
|
182
184
|
inactive = disabled,
|
|
183
185
|
selected = false,
|
|
184
|
-
dataSet,
|
|
185
186
|
...rawRest
|
|
186
187
|
}, ref) => {
|
|
187
188
|
const {
|
|
@@ -196,11 +197,11 @@ const ButtonBase = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
196
197
|
|
|
197
198
|
const resolveButtonTokens = pressableState => (0, _utils2.resolvePressableTokens)(tokens, pressableState, extraButtonState);
|
|
198
199
|
|
|
199
|
-
const
|
|
200
|
+
const systemProps = selectProps(rest);
|
|
200
201
|
|
|
201
202
|
const getPressableStyle = pressableState => {
|
|
202
203
|
const themeTokens = resolveButtonTokens(pressableState);
|
|
203
|
-
return [staticStyles.row, selectWebOnlyStyles(inactive, themeTokens,
|
|
204
|
+
return [staticStyles.row, selectWebOnlyStyles(inactive, themeTokens, systemProps), selectOuterContainerStyles(themeTokens), selectOuterWidthStyles(themeTokens)];
|
|
204
205
|
};
|
|
205
206
|
|
|
206
207
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Pressable.default, {
|
|
@@ -212,9 +213,8 @@ const ButtonBase = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
212
213
|
}),
|
|
213
214
|
style: getPressableStyle,
|
|
214
215
|
disabled: inactive,
|
|
215
|
-
dataSet: dataSet,
|
|
216
216
|
hrefAttrs: hrefAttrs,
|
|
217
|
-
...
|
|
217
|
+
...systemProps,
|
|
218
218
|
children: pressableState => {
|
|
219
219
|
const themeTokens = resolveButtonTokens(pressableState);
|
|
220
220
|
const containerStyles = selectInnerContainerStyles(themeTokens);
|
|
@@ -245,9 +245,8 @@ const ButtonBase = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
245
245
|
ButtonBase.displayName = 'ButtonBase';
|
|
246
246
|
ButtonBase.propTypes = {
|
|
247
247
|
id: _propTypes.default.string,
|
|
248
|
-
...
|
|
249
|
-
..._propTypes2.default
|
|
250
|
-
..._utils2.linkProps.types
|
|
248
|
+
...selectedSystemPropTypes,
|
|
249
|
+
..._propTypes2.default
|
|
251
250
|
};
|
|
252
251
|
ButtonBase.defaultProps = {
|
|
253
252
|
id: undefined
|
|
@@ -21,7 +21,7 @@ var _ViewportProvider = require("../ViewportProvider");
|
|
|
21
21
|
|
|
22
22
|
var _ThemeProvider = require("../ThemeProvider");
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _props = require("../utils/props");
|
|
25
25
|
|
|
26
26
|
var _input = require("../utils/input");
|
|
27
27
|
|
|
@@ -35,6 +35,7 @@ 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, _props.selectSystemProps)([_props.a11yProps, _props.pressProps, _props.viewProps]);
|
|
38
39
|
const ButtonGroup = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
39
40
|
variant,
|
|
40
41
|
tokens,
|
|
@@ -56,7 +57,7 @@ const ButtonGroup = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
56
57
|
const themeTokens = (0, _ThemeProvider.useThemeTokens)('ButtonGroup', tokens, variant, {
|
|
57
58
|
viewport
|
|
58
59
|
});
|
|
59
|
-
const stackTokens = (0,
|
|
60
|
+
const stackTokens = (0, _props.selectTokens)('StackView', themeTokens);
|
|
60
61
|
const {
|
|
61
62
|
direction,
|
|
62
63
|
space
|
|
@@ -72,14 +73,12 @@ const ButtonGroup = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
72
73
|
onChange,
|
|
73
74
|
readOnly
|
|
74
75
|
});
|
|
75
|
-
|
|
76
|
-
const a11y = _propTypes2.a11yProps.select({
|
|
76
|
+
const systemProps = selectProps({
|
|
77
77
|
accessibilityRole,
|
|
78
78
|
...rest
|
|
79
79
|
});
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_StackView.StackWrap, { ...a11y,
|
|
80
|
+
const itemA11yRole = systemProps.accessibilityRole === 'radiogroup' ? 'radio' : 'checkbox';
|
|
81
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_StackView.StackWrap, { ...systemProps,
|
|
83
82
|
space: space,
|
|
84
83
|
direction: direction,
|
|
85
84
|
tokens: stackTokens,
|
|
@@ -109,7 +108,7 @@ const ButtonGroup = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
109
108
|
},
|
|
110
109
|
accessibilityRole: itemA11yRole,
|
|
111
110
|
accessibilityLabel,
|
|
112
|
-
...
|
|
111
|
+
..._props.a11yProps.getPositionInSet(items.length, index)
|
|
113
112
|
}; // Ensure button is direct child of group as MacOS voiceover only applies "X of Y" to
|
|
114
113
|
// "radio" if it's a direct child of "radiogroup", even if aria-posinset etc exists
|
|
115
114
|
|
|
@@ -127,10 +126,9 @@ const ButtonGroup = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
127
126
|
});
|
|
128
127
|
});
|
|
129
128
|
ButtonGroup.displayName = 'ButtonGroup';
|
|
130
|
-
ButtonGroup.propTypes = { ...
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
variant: _propTypes2.variantProp.propType,
|
|
129
|
+
ButtonGroup.propTypes = { ...selectedSystemPropTypes,
|
|
130
|
+
tokens: (0, _props.getTokensPropType)('ButtonGroup'),
|
|
131
|
+
variant: _props.variantProp.propType,
|
|
134
132
|
|
|
135
133
|
/**
|
|
136
134
|
* The maximum number of items a user may select at once. Defaults to 1 and behaves
|
package/lib/Button/ButtonLink.js
CHANGED
|
@@ -11,7 +11,7 @@ var _ButtonBase = _interopRequireDefault(require("./ButtonBase"));
|
|
|
11
11
|
|
|
12
12
|
var _propTypes = _interopRequireWildcard(require("./propTypes"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _props = require("../utils/props");
|
|
15
15
|
|
|
16
16
|
var _ThemeProvider = require("../ThemeProvider");
|
|
17
17
|
|
|
@@ -37,7 +37,7 @@ const ButtonLink = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
37
37
|
const {
|
|
38
38
|
hrefAttrs,
|
|
39
39
|
rest
|
|
40
|
-
} =
|
|
40
|
+
} = _props.hrefAttrsProp.bundle(props);
|
|
41
41
|
|
|
42
42
|
const getTokens = (0, _ThemeProvider.useThemeTokensCallback)('Button', tokens, variant);
|
|
43
43
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ButtonBase.default, {
|
|
@@ -50,9 +50,9 @@ const ButtonLink = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
50
50
|
});
|
|
51
51
|
});
|
|
52
52
|
ButtonLink.displayName = 'ButtonLink';
|
|
53
|
-
ButtonLink.propTypes = { ...
|
|
53
|
+
ButtonLink.propTypes = { ..._props.a11yProps.types,
|
|
54
54
|
..._propTypes.default,
|
|
55
|
-
...
|
|
55
|
+
..._props.linkProps.types,
|
|
56
56
|
children: _propTypes.textAndA11yText
|
|
57
57
|
};
|
|
58
58
|
var _default = ButtonLink;
|
package/lib/Button/propTypes.js
CHANGED
|
@@ -9,7 +9,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
9
9
|
|
|
10
10
|
var _airbnbPropTypes = _interopRequireDefault(require("airbnb-prop-types"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _props = require("../utils/props");
|
|
13
13
|
|
|
14
14
|
var _A11yText = _interopRequireDefault(require("../A11yText"));
|
|
15
15
|
|
|
@@ -19,6 +19,8 @@ const textAndA11yText = _airbnbPropTypes.default.childrenOf(_propTypes.default.o
|
|
|
19
19
|
|
|
20
20
|
exports.textAndA11yText = textAndA11yText;
|
|
21
21
|
const buttonPropTypes = {
|
|
22
|
+
tokens: (0, _props.getTokensPropType)('Button'),
|
|
23
|
+
|
|
22
24
|
/**
|
|
23
25
|
* If true, prevents the button from being pressed, changes the cursor (on web) and accessibility
|
|
24
26
|
* attributes to communicate this to the user, and applies `inactive: true` appearances from the theme
|
|
@@ -44,7 +46,7 @@ const buttonPropTypes = {
|
|
|
44
46
|
* Function called when the button is pressed. Required unless the button has a href.
|
|
45
47
|
*/
|
|
46
48
|
onPress: _propTypes.default.func,
|
|
47
|
-
variant:
|
|
49
|
+
variant: _props.variantProp.propType
|
|
48
50
|
};
|
|
49
51
|
var _default = buttonPropTypes;
|
|
50
52
|
exports.default = _default;
|
package/lib/Card/Card.js
CHANGED
|
@@ -15,7 +15,7 @@ var _utils = require("../utils");
|
|
|
15
15
|
|
|
16
16
|
var _ViewportProvider = require("../ViewportProvider");
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _props = require("../utils/props");
|
|
19
19
|
|
|
20
20
|
var _CardBase = _interopRequireDefault(require("./CardBase"));
|
|
21
21
|
|
|
@@ -23,6 +23,7 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
23
23
|
|
|
24
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
25
|
|
|
26
|
+
const [selectProps, selectedSystemPropTypes] = (0, _props.selectSystemProps)([_props.a11yProps, _props.viewProps]);
|
|
26
27
|
/**
|
|
27
28
|
* A basic card component, unstyled by default.
|
|
28
29
|
*
|
|
@@ -71,6 +72,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
71
72
|
* you automatically make inaccessible its children, which may or may not be appropriate
|
|
72
73
|
* depending on what you are trying to achieve.
|
|
73
74
|
*/
|
|
75
|
+
|
|
74
76
|
const Card = ({
|
|
75
77
|
children,
|
|
76
78
|
tokens,
|
|
@@ -85,16 +87,15 @@ const Card = ({
|
|
|
85
87
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardBase.default, {
|
|
86
88
|
tokens: themeTokens,
|
|
87
89
|
dataSet: dataSet,
|
|
88
|
-
...rest,
|
|
90
|
+
...selectProps(rest),
|
|
89
91
|
children: children
|
|
90
92
|
});
|
|
91
93
|
};
|
|
92
94
|
|
|
93
|
-
Card.propTypes = {
|
|
95
|
+
Card.propTypes = { ...selectedSystemPropTypes,
|
|
94
96
|
children: _propTypes.default.node,
|
|
95
97
|
tokens: (0, _utils.getTokensPropType)('Card'),
|
|
96
|
-
variant: _utils.variantProp.propType
|
|
97
|
-
..._propTypes2.a11yProps.types
|
|
98
|
+
variant: _utils.variantProp.propType
|
|
98
99
|
};
|
|
99
100
|
var _default = Card;
|
|
100
101
|
exports.default = _default;
|
package/lib/Card/CardBase.js
CHANGED
|
@@ -15,7 +15,7 @@ var _ThemeProvider = require("../ThemeProvider");
|
|
|
15
15
|
|
|
16
16
|
var _utils = require("../utils");
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _props = require("../utils/props");
|
|
19
19
|
|
|
20
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
21
|
|
|
@@ -25,7 +25,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
25
25
|
|
|
26
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
27
|
|
|
28
|
-
// Ensure explicit selection of tokens
|
|
28
|
+
const [selectProps, selectedSystemPropTypes] = (0, _props.selectSystemProps)([_props.a11yProps, _props.viewProps]); // Ensure explicit selection of tokens
|
|
29
|
+
|
|
29
30
|
const selectStyles = ({
|
|
30
31
|
flex,
|
|
31
32
|
backgroundColor,
|
|
@@ -64,9 +65,7 @@ const CardBase = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
64
65
|
...rest
|
|
65
66
|
}, ref) => {
|
|
66
67
|
const cardStyle = selectStyles(typeof tokens === 'function' ? tokens() : tokens);
|
|
67
|
-
const props =
|
|
68
|
-
..._propTypes2.viewProps.select(rest)
|
|
69
|
-
};
|
|
68
|
+
const props = selectProps(rest);
|
|
70
69
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
71
70
|
style: cardStyle,
|
|
72
71
|
dataSet: dataSet,
|
|
@@ -76,11 +75,9 @@ const CardBase = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
76
75
|
});
|
|
77
76
|
});
|
|
78
77
|
CardBase.displayName = 'CardBase';
|
|
79
|
-
CardBase.propTypes = {
|
|
78
|
+
CardBase.propTypes = { ...selectedSystemPropTypes,
|
|
80
79
|
children: _propTypes.default.node,
|
|
81
|
-
tokens: (0, _utils.getTokensPropType)('Card')
|
|
82
|
-
..._propTypes2.viewProps.types,
|
|
83
|
-
..._propTypes2.a11yProps.types
|
|
80
|
+
tokens: (0, _utils.getTokensPropType)('Card')
|
|
84
81
|
};
|
|
85
82
|
var _default = CardBase;
|
|
86
83
|
exports.default = _default;
|
|
@@ -19,8 +19,6 @@ var _ThemeProvider = require("../ThemeProvider");
|
|
|
19
19
|
|
|
20
20
|
var _utils = require("../utils");
|
|
21
21
|
|
|
22
|
-
var _propTypes2 = require("../utils/propTypes");
|
|
23
|
-
|
|
24
22
|
var _CardBase = _interopRequireDefault(require("./CardBase"));
|
|
25
23
|
|
|
26
24
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -31,6 +29,7 @@ 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]);
|
|
34
33
|
const tokenKeys = [...(0, _utils.getTokenNames)('Card'), // Outer border tokens. TODO: centralise common token sets like these as part of
|
|
35
34
|
// https://github.com/telus/universal-design-system/issues/782
|
|
36
35
|
'outerBorderColor', 'outerBorderWidth', 'outerBorderGap'];
|
|
@@ -61,11 +60,6 @@ const PressableCardBase = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
61
60
|
} = _utils.clickProps.toPressProps(rawRest);
|
|
62
61
|
|
|
63
62
|
const viewport = (0, _ViewportProvider.useViewport)();
|
|
64
|
-
|
|
65
|
-
const a11y = _propTypes2.a11yProps.select({ ...rest,
|
|
66
|
-
accessibilityRole
|
|
67
|
-
});
|
|
68
|
-
|
|
69
63
|
const additionalState = {
|
|
70
64
|
checked,
|
|
71
65
|
validation,
|
|
@@ -124,7 +118,9 @@ const PressableCardBase = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
124
118
|
onKeyDown: handleKeyDown,
|
|
125
119
|
hrefAttrs: hrefAttrs,
|
|
126
120
|
style: getOuterBorderStyle,
|
|
127
|
-
...
|
|
121
|
+
...selectProps({ ...rest,
|
|
122
|
+
accessibilityRole
|
|
123
|
+
}),
|
|
128
124
|
children: pressableState => /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardBase.default, {
|
|
129
125
|
tokens: getCardTokens(pressableState),
|
|
130
126
|
children: typeof children === 'function' ? children(getCardState(pressableState)) : children
|
|
@@ -132,14 +128,13 @@ const PressableCardBase = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
132
128
|
});
|
|
133
129
|
});
|
|
134
130
|
PressableCardBase.displayName = 'PressableCardBase';
|
|
135
|
-
PressableCardBase.propTypes = {
|
|
131
|
+
PressableCardBase.propTypes = { ...selectedSystemPropTypes,
|
|
136
132
|
children: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.node]),
|
|
137
133
|
tokens: (0, _utils.getTokensSetPropType)(tokenKeys, {
|
|
138
134
|
requireAll: true,
|
|
139
135
|
allowFunction: true
|
|
140
136
|
}),
|
|
141
|
-
variant: _utils.variantProp.propType
|
|
142
|
-
..._propTypes2.a11yProps.types
|
|
137
|
+
variant: _utils.variantProp.propType
|
|
143
138
|
};
|
|
144
139
|
|
|
145
140
|
var _default = (0, _utils.withLinkRouter)(PressableCardBase);
|