@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
|
@@ -14,9 +14,9 @@ var _utils = require("./utils");
|
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
-
* @typedef {import('../utils/
|
|
18
|
-
* @typedef {import('../utils/
|
|
19
|
-
* @typedef {import('../utils/
|
|
17
|
+
* @typedef {import('../utils/props/variantProp.js').AppearanceSet} AppearanceSet
|
|
18
|
+
* @typedef {import('../utils/props/tokens.js').TokensProp} TokensProp
|
|
19
|
+
* @typedef {import('../utils/props/tokens.js').TokensSet} TokensSet
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
22
|
/**
|
|
@@ -14,9 +14,9 @@ var _package = _interopRequireDefault(require("../../../package.json"));
|
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
-
* @typedef {import('../../utils/
|
|
18
|
-
* @typedef {import('../../utils/
|
|
19
|
-
* @typedef {import('../../utils/
|
|
17
|
+
* @typedef {import('../../utils/props/variantProp.js').AppearanceSet} AppearanceSet
|
|
18
|
+
* @typedef {import('../../utils/props/tokens.js').TokensProp} TokensProp
|
|
19
|
+
* @typedef {import('../../utils/props/tokens.js').TokensSet} TokensSet
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
22
|
/**
|
|
@@ -23,12 +23,10 @@ var _StackView = _interopRequireDefault(require("../StackView"));
|
|
|
23
23
|
|
|
24
24
|
var _ThemeProvider = require("../ThemeProvider");
|
|
25
25
|
|
|
26
|
-
var
|
|
26
|
+
var _utils = require("../utils");
|
|
27
27
|
|
|
28
28
|
var _input = require("../utils/input");
|
|
29
29
|
|
|
30
|
-
var _utils = require("../utils");
|
|
31
|
-
|
|
32
30
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
33
31
|
|
|
34
32
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -37,7 +35,9 @@ 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
|
-
const
|
|
38
|
+
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.pressProps, _utils.viewProps]);
|
|
39
|
+
|
|
40
|
+
const selectButtonTokens = tokens => (0, _utils.selectTokens)('Button', { ...tokens,
|
|
41
41
|
// Width tokens are applied to our inner track. Disable Button width token so it wraps our track width.
|
|
42
42
|
width: null
|
|
43
43
|
}); // Map and rename icon-specific tokens to name used within Icon
|
|
@@ -117,7 +117,8 @@ const ToggleSwitch = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
117
117
|
tooltip,
|
|
118
118
|
variant,
|
|
119
119
|
accessibilityRole = 'switch',
|
|
120
|
-
accessibilityLabel = label
|
|
120
|
+
accessibilityLabel = label,
|
|
121
|
+
...rest
|
|
121
122
|
}, ref) => {
|
|
122
123
|
const getTokens = (0, _ThemeProvider.useThemeTokensCallback)('ToggleSwitch', tokens, variant);
|
|
123
124
|
const themeTokens = getTokens();
|
|
@@ -159,6 +160,7 @@ const ToggleSwitch = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
159
160
|
checked: currentValue
|
|
160
161
|
},
|
|
161
162
|
onPress: handlePress,
|
|
163
|
+
...selectProps(rest),
|
|
162
164
|
children: buttonState => {
|
|
163
165
|
const stateTokens = getTokens(buttonState);
|
|
164
166
|
const IconComponent = stateTokens.icon;
|
|
@@ -188,10 +190,9 @@ const ToggleSwitch = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
188
190
|
});
|
|
189
191
|
});
|
|
190
192
|
ToggleSwitch.displayName = 'ToggleSwitch';
|
|
191
|
-
ToggleSwitch.propTypes = { ...
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
variant: _propTypes2.variantProp.propType,
|
|
193
|
+
ToggleSwitch.propTypes = { ...selectedSystemPropTypes,
|
|
194
|
+
tokens: (0, _utils.getTokensPropType)('ToggleSwitch'),
|
|
195
|
+
variant: _utils.variantProp.propType,
|
|
195
196
|
|
|
196
197
|
/**
|
|
197
198
|
* If this is a "controlled" component and a parent handles its selected state,
|
|
@@ -23,7 +23,7 @@ var _ViewportProvider = require("../ViewportProvider");
|
|
|
23
23
|
|
|
24
24
|
var _ThemeProvider = require("../ThemeProvider");
|
|
25
25
|
|
|
26
|
-
var
|
|
26
|
+
var _props = require("../utils/props");
|
|
27
27
|
|
|
28
28
|
var _input = require("../utils/input");
|
|
29
29
|
|
|
@@ -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 ToggleSwitchGroup = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
39
40
|
variant,
|
|
40
41
|
tokens,
|
|
@@ -76,13 +77,11 @@ const ToggleSwitchGroup = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
76
77
|
onChange,
|
|
77
78
|
readOnly
|
|
78
79
|
});
|
|
79
|
-
|
|
80
|
-
const a11y = _propTypes2.a11yProps.select({
|
|
80
|
+
const selectedProps = selectProps({
|
|
81
81
|
accessibilityRole,
|
|
82
82
|
...rest
|
|
83
83
|
});
|
|
84
|
-
|
|
85
|
-
const itemA11yRole = a11y.accessibilityRole === 'radiogroup' ? 'radio' : 'switch';
|
|
84
|
+
const itemA11yRole = selectedProps.accessibilityRole === 'radiogroup' ? 'radio' : 'switch';
|
|
86
85
|
const toggleSwitches = items.map(({
|
|
87
86
|
label,
|
|
88
87
|
id = label,
|
|
@@ -104,7 +103,7 @@ const ToggleSwitchGroup = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
104
103
|
},
|
|
105
104
|
accessibilityRole: itemA11yRole,
|
|
106
105
|
accessibilityLabel,
|
|
107
|
-
...
|
|
106
|
+
..._props.a11yProps.getPositionInSet(items.length, index)
|
|
108
107
|
};
|
|
109
108
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ToggleSwitch.default, {
|
|
110
109
|
id: id,
|
|
@@ -128,7 +127,7 @@ const ToggleSwitchGroup = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
128
127
|
feedback: feedback,
|
|
129
128
|
inactive: inactive,
|
|
130
129
|
validation: validation,
|
|
131
|
-
...
|
|
130
|
+
...selectedProps,
|
|
132
131
|
children: (0, _StackView.getStackedContent)(toggleSwitches, {
|
|
133
132
|
space,
|
|
134
133
|
direction: 'column'
|
|
@@ -136,10 +135,9 @@ const ToggleSwitchGroup = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
136
135
|
});
|
|
137
136
|
});
|
|
138
137
|
ToggleSwitchGroup.displayName = 'ToggleSwitchGroup';
|
|
139
|
-
ToggleSwitchGroup.propTypes = { ...
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
variant: _propTypes2.variantProp.propType,
|
|
138
|
+
ToggleSwitchGroup.propTypes = { ...selectedSystemPropTypes,
|
|
139
|
+
tokens: (0, _props.getTokensPropType)('ToggleSwitchGroup'),
|
|
140
|
+
variant: _props.variantProp.propType,
|
|
143
141
|
|
|
144
142
|
/**
|
|
145
143
|
* The maximum number of items a user may select at once. Defaults to 1 and behaves
|
|
@@ -219,7 +217,7 @@ ToggleSwitchGroup.propTypes = { ..._propTypes2.a11yProps.propTypes,
|
|
|
219
217
|
/**
|
|
220
218
|
* Toggle switch token overrides.
|
|
221
219
|
*/
|
|
222
|
-
toggleSwitchTokens: (0,
|
|
220
|
+
toggleSwitchTokens: (0, _props.getTokensPropType)('ToggleSwitch'),
|
|
223
221
|
|
|
224
222
|
/**
|
|
225
223
|
* Current validation status of the group, passed to the feedback element if there is one.
|
package/lib/Tooltip/Tooltip.js
CHANGED
|
@@ -43,6 +43,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
43
43
|
|
|
44
44
|
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; }
|
|
45
45
|
|
|
46
|
+
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
|
|
47
|
+
|
|
46
48
|
const selectTooltipStyles = ({
|
|
47
49
|
backgroundColor,
|
|
48
50
|
paddingTop,
|
|
@@ -167,7 +169,8 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
167
169
|
position = 'auto',
|
|
168
170
|
copy = 'en',
|
|
169
171
|
tokens,
|
|
170
|
-
variant
|
|
172
|
+
variant,
|
|
173
|
+
...rest
|
|
171
174
|
}, ref) => {
|
|
172
175
|
const [isOpen, setIsOpen] = (0, _react.useState)(false);
|
|
173
176
|
const controlRef = (0, _react.useRef)();
|
|
@@ -280,6 +283,7 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
280
283
|
} : undefined;
|
|
281
284
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_View.default, {
|
|
282
285
|
style: staticStyles.container,
|
|
286
|
+
...selectProps(rest),
|
|
283
287
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Pressable.default, {
|
|
284
288
|
onPress: toggleIsOpen,
|
|
285
289
|
ref: controlRef,
|
|
@@ -312,7 +316,8 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
312
316
|
});
|
|
313
317
|
});
|
|
314
318
|
Tooltip.displayName = 'Tooltip';
|
|
315
|
-
Tooltip.propTypes = {
|
|
319
|
+
Tooltip.propTypes = { ...selectedSystemPropTypes,
|
|
320
|
+
|
|
316
321
|
/**
|
|
317
322
|
* Used to render the control (i.e. tooltip trigger). If a render function is used it will receive the
|
|
318
323
|
* pressable state and tooltip variant as an argument.
|
|
@@ -21,6 +21,8 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
21
21
|
|
|
22
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
23
|
|
|
24
|
+
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
|
|
25
|
+
|
|
24
26
|
const selectInnerContainerStyles = ({
|
|
25
27
|
borderRadius,
|
|
26
28
|
width
|
|
@@ -49,7 +51,8 @@ const selectIconTokens = ({
|
|
|
49
51
|
const TooltipButton = ({
|
|
50
52
|
pressableState,
|
|
51
53
|
tokens,
|
|
52
|
-
variant
|
|
54
|
+
variant,
|
|
55
|
+
...rest
|
|
53
56
|
}) => {
|
|
54
57
|
const themeTokens = (0, _ThemeProvider.useThemeTokens)('TooltipButton', tokens, variant, pressableState);
|
|
55
58
|
const {
|
|
@@ -57,6 +60,7 @@ const TooltipButton = ({
|
|
|
57
60
|
} = themeTokens;
|
|
58
61
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
59
62
|
style: (0, _ThemeProvider.applyOuterBorder)(themeTokens),
|
|
63
|
+
...selectProps(rest),
|
|
60
64
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
61
65
|
style: selectInnerContainerStyles(themeTokens),
|
|
62
66
|
children: IconComponent && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.default, {
|
|
@@ -67,7 +71,8 @@ const TooltipButton = ({
|
|
|
67
71
|
});
|
|
68
72
|
};
|
|
69
73
|
|
|
70
|
-
TooltipButton.propTypes = {
|
|
74
|
+
TooltipButton.propTypes = { ...selectedSystemPropTypes,
|
|
75
|
+
|
|
71
76
|
/**
|
|
72
77
|
* Used as appearances when resolving theme tokens.
|
|
73
78
|
*/
|
|
@@ -32,6 +32,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
32
32
|
/**
|
|
33
33
|
* @typedef {import('../utils/a11y/semantics').TextTag} TextTag
|
|
34
34
|
*/
|
|
35
|
+
const [selectProps, selectedSystemPropTypes] = (0, _utils2.selectSystemProps)([_utils2.a11yProps, _utils2.viewProps]);
|
|
36
|
+
|
|
35
37
|
const selectTextStyles = ({
|
|
36
38
|
fontWeight,
|
|
37
39
|
fontSize,
|
|
@@ -76,24 +78,24 @@ const Typography = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
76
78
|
dataSet,
|
|
77
79
|
maxFontSizeMultiplier: (0, _utils2.getMaxFontMultiplier)(themeTokens)
|
|
78
80
|
};
|
|
79
|
-
const
|
|
80
|
-
...
|
|
81
|
-
};
|
|
81
|
+
const selectedProps = selectProps({ ...(0, _utils2.getA11yPropsFromHtmlTag)(tag, accessibilityRole),
|
|
82
|
+
...rest
|
|
83
|
+
});
|
|
82
84
|
return block ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
83
85
|
ref: ref,
|
|
84
|
-
...
|
|
86
|
+
...selectedProps,
|
|
85
87
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.default, { ...textProps,
|
|
86
88
|
children: children
|
|
87
89
|
})
|
|
88
90
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.default, {
|
|
89
91
|
ref: ref,
|
|
90
92
|
...textProps,
|
|
91
|
-
...
|
|
93
|
+
...selectedProps,
|
|
92
94
|
children: children
|
|
93
95
|
});
|
|
94
96
|
});
|
|
95
97
|
Typography.displayName = 'Typography';
|
|
96
|
-
Typography.propTypes = { ...
|
|
98
|
+
Typography.propTypes = { ...selectedSystemPropTypes,
|
|
97
99
|
tokens: (0, _utils2.getTokensPropType)('Typography'),
|
|
98
100
|
variant: _utils2.variantProp.propType,
|
|
99
101
|
|
package/lib/index.js
CHANGED
|
@@ -46,6 +46,7 @@ var _exportNames = {
|
|
|
46
46
|
BaseProvider: true,
|
|
47
47
|
ViewportProvider: true,
|
|
48
48
|
useViewport: true,
|
|
49
|
+
ViewportContext: true,
|
|
49
50
|
ThemeProvider: true,
|
|
50
51
|
useTheme: true,
|
|
51
52
|
useSetTheme: true,
|
|
@@ -304,6 +305,12 @@ Object.defineProperty(exports, "useViewport", {
|
|
|
304
305
|
return _ViewportProvider.useViewport;
|
|
305
306
|
}
|
|
306
307
|
});
|
|
308
|
+
Object.defineProperty(exports, "ViewportContext", {
|
|
309
|
+
enumerable: true,
|
|
310
|
+
get: function () {
|
|
311
|
+
return _ViewportProvider.ViewportContext;
|
|
312
|
+
}
|
|
313
|
+
});
|
|
307
314
|
Object.defineProperty(exports, "ThemeProvider", {
|
|
308
315
|
enumerable: true,
|
|
309
316
|
get: function () {
|
|
@@ -154,9 +154,10 @@ const getA11yPropsFromHtmlTag = (tag, nativeRole) => {
|
|
|
154
154
|
};
|
|
155
155
|
|
|
156
156
|
if (tag) {
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
157
|
+
// aria roles don't have native counterparts and RN may throw an error if an unrecognised role is passed
|
|
158
|
+
const ariaRole = _Platform.default.OS === 'web' && tagsToRoles[tag];
|
|
159
|
+
if (ariaRole) return {
|
|
160
|
+
accessibilityRole: ariaRole
|
|
160
161
|
};
|
|
161
162
|
const accessibilityLevel = getHeadingLevel(tag);
|
|
162
163
|
if (accessibilityLevel) return {
|
package/lib/utils/children.js
CHANGED
|
@@ -67,7 +67,11 @@ exports.unpackFragment = unpackFragment;
|
|
|
67
67
|
const isStringOrNumber = child => typeof child === 'string' || typeof child === 'number'; // Wrap an A11yText with neighouring text strings so it doesn't split them into multiple <Text>s
|
|
68
68
|
|
|
69
69
|
|
|
70
|
-
const isWrapable = child =>
|
|
70
|
+
const isWrapable = child => {
|
|
71
|
+
var _child$type;
|
|
72
|
+
|
|
73
|
+
return isStringOrNumber(child) || child.type === _A11yText.default || ((_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.name) === 'FootnoteLink';
|
|
74
|
+
};
|
|
71
75
|
|
|
72
76
|
const combineKeys = childrenArray => childrenArray.reduce((newKey, child) => `${newKey}${child.key || ''}`, ''); // Group wrappable children for one `<Text>` parent, merging adjacent text nodes
|
|
73
77
|
|
package/lib/utils/index.js
CHANGED
|
@@ -125,16 +125,16 @@ Object.keys(_pressability).forEach(function (key) {
|
|
|
125
125
|
});
|
|
126
126
|
});
|
|
127
127
|
|
|
128
|
-
var
|
|
128
|
+
var _props = require("./props");
|
|
129
129
|
|
|
130
|
-
Object.keys(
|
|
130
|
+
Object.keys(_props).forEach(function (key) {
|
|
131
131
|
if (key === "default" || key === "__esModule") return;
|
|
132
132
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
133
|
-
if (key in exports && exports[key] ===
|
|
133
|
+
if (key in exports && exports[key] === _props[key]) return;
|
|
134
134
|
Object.defineProperty(exports, key, {
|
|
135
135
|
enumerable: true,
|
|
136
136
|
get: function () {
|
|
137
|
-
return
|
|
137
|
+
return _props[key];
|
|
138
138
|
}
|
|
139
139
|
});
|
|
140
140
|
});
|
|
@@ -165,6 +165,20 @@ var _useUniqueId = _interopRequireDefault(require("./useUniqueId"));
|
|
|
165
165
|
|
|
166
166
|
var _withLinkRouter = _interopRequireDefault(require("./withLinkRouter"));
|
|
167
167
|
|
|
168
|
+
var _ssr = require("./ssr");
|
|
169
|
+
|
|
170
|
+
Object.keys(_ssr).forEach(function (key) {
|
|
171
|
+
if (key === "default" || key === "__esModule") return;
|
|
172
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
173
|
+
if (key in exports && exports[key] === _ssr[key]) return;
|
|
174
|
+
Object.defineProperty(exports, key, {
|
|
175
|
+
enumerable: true,
|
|
176
|
+
get: function () {
|
|
177
|
+
return _ssr[key];
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
|
|
168
182
|
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); }
|
|
169
183
|
|
|
170
184
|
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; }
|
|
@@ -9,7 +9,7 @@ var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/export
|
|
|
9
9
|
|
|
10
10
|
var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _pressProps = _interopRequireDefault(require("./props/pressProps"));
|
|
13
13
|
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
15
|
|
|
@@ -108,7 +108,7 @@ const staticStyles = _StyleSheet.default.create(_Platform.default.select({
|
|
|
108
108
|
|
|
109
109
|
const getPressHandlersWithArgs = (pressableProps = {}, args = []) => {
|
|
110
110
|
// Allow handlers to be passed down for blur, hover, focus, pressIn, etc
|
|
111
|
-
const pressHandlers = Object.fromEntries(Object.entries(
|
|
111
|
+
const pressHandlers = Object.fromEntries(Object.entries(_pressProps.default.selectHandlers(pressableProps)).map(([key, handler]) => ({
|
|
112
112
|
[key]: (...defaultArgs) => {
|
|
113
113
|
// Pass each handler data on this button and current selection
|
|
114
114
|
handler(...args, ...defaultArgs);
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
|
|
10
|
+
var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
|
|
11
|
+
|
|
12
|
+
var _getPropSelector = _interopRequireDefault(require("./getPropSelector"));
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
// React Native exports a11y prop definitions as TypeScript Interfaces, but no longer exports PropTypes
|
|
17
|
+
// so we have to define them ourselves.
|
|
18
|
+
const nativeA11yPropTypes = {
|
|
19
|
+
accessible: _propTypes.default.bool,
|
|
20
|
+
focusable: _propTypes.default.bool,
|
|
21
|
+
accessibilityElementsHidden: _propTypes.default.bool,
|
|
22
|
+
accessibilityHint: _propTypes.default.string,
|
|
23
|
+
// react-native-web ignores `accessibilityHint`
|
|
24
|
+
accessibilityIgnoresInvertColors: _propTypes.default.bool,
|
|
25
|
+
accessibilityLabel: _propTypes.default.string,
|
|
26
|
+
accessibilityRole: _propTypes.default.string,
|
|
27
|
+
accessibilityActions: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
28
|
+
name: _propTypes.default.string.isRequired,
|
|
29
|
+
label: _propTypes.default.string
|
|
30
|
+
})),
|
|
31
|
+
accessibilityLiveRegion: _propTypes.default.oneOf(['none', 'polite', 'assertive']),
|
|
32
|
+
accessibilityState: _propTypes.default.shape({
|
|
33
|
+
disabled: _propTypes.default.bool,
|
|
34
|
+
selected: _propTypes.default.bool,
|
|
35
|
+
checked: _propTypes.default.oneOf([true, false, 'mixed']),
|
|
36
|
+
busy: _propTypes.default.bool,
|
|
37
|
+
expanded: _propTypes.default.bool
|
|
38
|
+
}),
|
|
39
|
+
accessibilityValue: _propTypes.default.shape({
|
|
40
|
+
min: _propTypes.default.number,
|
|
41
|
+
max: _propTypes.default.number,
|
|
42
|
+
now: _propTypes.default.number,
|
|
43
|
+
text: _propTypes.default.string
|
|
44
|
+
}),
|
|
45
|
+
accessibilityViewIsModal: _propTypes.default.bool,
|
|
46
|
+
importantForAccessibility: _propTypes.default.oneOf(['auto', 'yes', 'no', 'no-hide-descendants']),
|
|
47
|
+
onAccessibilityAction: _propTypes.default.func,
|
|
48
|
+
onAccessibilityEscape: _propTypes.default.func,
|
|
49
|
+
onAccessibilityTap: _propTypes.default.func
|
|
50
|
+
};
|
|
51
|
+
const a11yPropTypes = { ...nativeA11yPropTypes,
|
|
52
|
+
// React Native Web adds many a11y props that alias aria-* attributes
|
|
53
|
+
// Types based on https://necolas.github.io/react-native-web/docs/accessibility/
|
|
54
|
+
accessibilityActiveDescendant: _propTypes.default.string,
|
|
55
|
+
accessibilityAtomic: _propTypes.default.bool,
|
|
56
|
+
accessibilityAutoComplete: _propTypes.default.string,
|
|
57
|
+
accessibilityBusy: _propTypes.default.bool,
|
|
58
|
+
accessibilityChecked: _propTypes.default.oneOf([true, false, 'mixed']),
|
|
59
|
+
accessibilityColumnCount: _propTypes.default.number,
|
|
60
|
+
accessibilityColumnIndex: _propTypes.default.number,
|
|
61
|
+
accessibilityColumnSpan: _propTypes.default.number,
|
|
62
|
+
accessibilityControls: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.string)]),
|
|
63
|
+
accessibilityCurrent: _propTypes.default.oneOf([true, false, 'page', 'step', 'location', 'date', 'time']),
|
|
64
|
+
accessibilityDescribedBy: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.string)]),
|
|
65
|
+
accessibilityDetails: _propTypes.default.string,
|
|
66
|
+
accessibilityDisabled: _propTypes.default.bool,
|
|
67
|
+
accessibilityErrorMessage: _propTypes.default.string,
|
|
68
|
+
accessibilityExpanded: _propTypes.default.bool,
|
|
69
|
+
accessibilityFlowTo: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.string)]),
|
|
70
|
+
accessibilityHasPopup: _propTypes.default.string,
|
|
71
|
+
accessibilityHidden: _propTypes.default.bool,
|
|
72
|
+
accessibilityInvalid: _propTypes.default.bool,
|
|
73
|
+
accessibilityKeyShortcuts: _propTypes.default.string,
|
|
74
|
+
accessibilityLabelledBy: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.string)]),
|
|
75
|
+
accessibilityLevel: _propTypes.default.number,
|
|
76
|
+
accessibilityModal: _propTypes.default.bool,
|
|
77
|
+
accessibilityMultiline: _propTypes.default.bool,
|
|
78
|
+
accessibilityMultiSelectable: _propTypes.default.bool,
|
|
79
|
+
accessibilityOrientation: _propTypes.default.oneOf(['horizontal', 'vertical']),
|
|
80
|
+
accessibilityOwns: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.string)]),
|
|
81
|
+
accessibilityPlaceholder: _propTypes.default.string,
|
|
82
|
+
accessibilityPosInSet: _propTypes.default.number,
|
|
83
|
+
accessibilityPressed: _propTypes.default.bool,
|
|
84
|
+
accessibilityReadOnly: _propTypes.default.bool,
|
|
85
|
+
accessibilityRequired: _propTypes.default.bool,
|
|
86
|
+
accessibilityRoleDescription: _propTypes.default.string,
|
|
87
|
+
accessibilityRowCount: _propTypes.default.number,
|
|
88
|
+
accessibilityRowIndex: _propTypes.default.number,
|
|
89
|
+
accessibilityRowSpan: _propTypes.default.number,
|
|
90
|
+
accessibilitySelected: _propTypes.default.bool,
|
|
91
|
+
accessibilitySetSize: _propTypes.default.number,
|
|
92
|
+
accessibilitySort: _propTypes.default.oneOf(['ascending', 'descending', 'none', 'other']),
|
|
93
|
+
accessibilityValueMax: _propTypes.default.number,
|
|
94
|
+
accessibilityValueMin: _propTypes.default.number,
|
|
95
|
+
accessibilityValueNow: _propTypes.default.number,
|
|
96
|
+
accessibilityValueText: _propTypes.default.string
|
|
97
|
+
};
|
|
98
|
+
var _default = {
|
|
99
|
+
/**
|
|
100
|
+
* Proptypes for recognised React Native accessiblity (a11y) props.
|
|
101
|
+
* Spread this in the propTypes of components that accept React Native a11y props.
|
|
102
|
+
*/
|
|
103
|
+
types: a11yPropTypes,
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Filters a props object, returning only recognised React Native accessiblity (a11y) props.
|
|
107
|
+
*
|
|
108
|
+
* Where components accept React Native a11y props, pass { ...rest } from its props to this,
|
|
109
|
+
* then spread the returned object into the component's props (usually its outer container).
|
|
110
|
+
*/
|
|
111
|
+
select: (0, _getPropSelector.default)(a11yPropTypes, /^aria-/),
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Use this to disable focus for elements which are visually hidden but still rendered.
|
|
115
|
+
*/
|
|
116
|
+
nonFocusableProps: {
|
|
117
|
+
focusable: false,
|
|
118
|
+
// for android, and for keyboard nav in web
|
|
119
|
+
..._Platform.default.select({
|
|
120
|
+
web: {
|
|
121
|
+
accessibilityHidden: true // web screenreaders
|
|
122
|
+
|
|
123
|
+
},
|
|
124
|
+
android: {
|
|
125
|
+
importantForAccessibility: 'no-hide-descendants'
|
|
126
|
+
},
|
|
127
|
+
ios: {
|
|
128
|
+
accessibilityElementsHidden: true
|
|
129
|
+
}
|
|
130
|
+
})
|
|
131
|
+
},
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Generates an object of platform-appropriate a11y props describing an item that has an
|
|
135
|
+
* ordered position in a set. Examples of usage by accessibility tools includes screenreaders
|
|
136
|
+
* saying "Item X of Y" when this item is select.
|
|
137
|
+
*
|
|
138
|
+
* @param {number} itemsCount - the number of items in the set
|
|
139
|
+
* @param {number} index - the current item's index in the set
|
|
140
|
+
* @returns {object} - platform-applicable a11y props describing this position (if available)
|
|
141
|
+
*/
|
|
142
|
+
getPositionInSet: (itemsCount, index) => _Platform.default.select({
|
|
143
|
+
web: {
|
|
144
|
+
// accessibilityPosInSet etc exists in React Native Web main branch
|
|
145
|
+
// but not in a release compatible with Expo etc; just use `aria-*`
|
|
146
|
+
'aria-setsize': itemsCount,
|
|
147
|
+
'aria-posinset': index + 1
|
|
148
|
+
},
|
|
149
|
+
// No equivalents exist on the native side
|
|
150
|
+
default: {}
|
|
151
|
+
})
|
|
152
|
+
};
|
|
153
|
+
exports.default = _default;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
const clickHandlerMapping = {
|
|
13
|
+
onClick: 'onPress',
|
|
14
|
+
mouseDown: 'onPressIn',
|
|
15
|
+
mouseUp: 'onPressOut'
|
|
16
|
+
};
|
|
17
|
+
var _default = {
|
|
18
|
+
/**
|
|
19
|
+
* Web-oriented HTML click handlers that may be mapped to React Native press handlers
|
|
20
|
+
*/
|
|
21
|
+
types: Object.fromEntries(Object.keys(clickHandlerMapping).map(mouseName => [mouseName, _propTypes.default.func])),
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Takes a set of props and converts HTML mouse click oriented event handlers to closest
|
|
25
|
+
* equivalent React Native press event handler.
|
|
26
|
+
*
|
|
27
|
+
* Use this when a component that expects press-oriented props may need to support third-party
|
|
28
|
+
* web-oriented tooling that injects web-oriented event handlers directly. For example, for
|
|
29
|
+
* to support use with NextJS's 'next/link' component, which injects `onClick` prop into its child.
|
|
30
|
+
*/
|
|
31
|
+
toPressProps: props => Object.fromEntries(Object.entries(props).map(([originalName, value]) => {
|
|
32
|
+
const translatedName = clickHandlerMapping[originalName];
|
|
33
|
+
return translatedName ? [translatedName, value] : [originalName, value];
|
|
34
|
+
}))
|
|
35
|
+
};
|
|
36
|
+
exports.default = _default;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = componentPropType;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Returns a prop type validator which checks whether a prop is either a component or an array of
|
|
10
|
+
* components of a given type, based on their `name` or `displayName` properties.
|
|
11
|
+
* Use an array of strings for `passedName` to accept more than one component type.
|
|
12
|
+
* For an array the validation fails on the first occurrence of an invalid element.
|
|
13
|
+
*
|
|
14
|
+
* @param {string|string[]} passedName
|
|
15
|
+
* @return {function}
|
|
16
|
+
*/
|
|
17
|
+
function componentPropType(passedName) {
|
|
18
|
+
const passedNames = typeof passedName === 'string' ? [passedName] : passedName;
|
|
19
|
+
|
|
20
|
+
const checkProp = (props, propName, componentName) => {
|
|
21
|
+
var _props$propName$type, _props$propName$type2;
|
|
22
|
+
|
|
23
|
+
if (props[propName] === undefined || props[propName] === null) {
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if (Array.isArray(props[propName])) {
|
|
28
|
+
// Iterates through every child and try to find the first element that does not match the passed name
|
|
29
|
+
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean
|
|
30
|
+
return props[propName].map((_, index) => checkProp(props[propName], index, componentName)).find(Boolean);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const nameInProp = ((_props$propName$type = props[propName].type) === null || _props$propName$type === void 0 ? void 0 : _props$propName$type.displayName) || ((_props$propName$type2 = props[propName].type) === null || _props$propName$type2 === void 0 ? void 0 : _props$propName$type2.name);
|
|
34
|
+
|
|
35
|
+
if (!nameInProp || !passedNames.includes(nameInProp)) {
|
|
36
|
+
const propDescription = nameInProp ? `Component ${nameInProp}` : typeof props[propName];
|
|
37
|
+
return new Error(`${componentName}: ${propDescription} was passed to \`${propName}\` prop; should be ${passedNames.join(' or ')}`);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return undefined;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
const checkRequired = (props, propName, componentName) => {
|
|
44
|
+
if (props[propName] === undefined) {
|
|
45
|
+
return new Error(`The prop \`${propName}\` is marked as required in \`${componentName}\`, but its value is ${props[propName]}.`);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return undefined;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
const createValidate = isRequired => {
|
|
52
|
+
if (isRequired) {
|
|
53
|
+
return (props, propName, componentName) => {
|
|
54
|
+
const checkForError = checkProp(props, propName, componentName);
|
|
55
|
+
|
|
56
|
+
if (checkForError) {
|
|
57
|
+
return checkForError;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return checkRequired(props, propName, componentName);
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
return checkProp;
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
const validate = createValidate();
|
|
68
|
+
validate.isRequired = createValidate(true);
|
|
69
|
+
return validate;
|
|
70
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
var _default = _propTypes.default.oneOf(['en', 'fr']);
|
|
13
|
+
|
|
14
|
+
exports.default = _default;
|