@telus-uds/components-base 1.65.0 → 1.67.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/CHANGELOG.md +22 -2
- package/lib/A11yInfoProvider/index.js +5 -20
- package/lib/A11yText/index.js +3 -17
- package/lib/ActivityIndicator/Spinner.js +2 -9
- package/lib/ActivityIndicator/Spinner.native.js +4 -27
- package/lib/ActivityIndicator/index.js +1 -13
- package/lib/ActivityIndicator/shared.js +0 -3
- package/lib/Autocomplete/Autocomplete.js +34 -85
- package/lib/Autocomplete/Loading.js +0 -10
- package/lib/Autocomplete/Suggestions.js +0 -11
- package/lib/Autocomplete/index.js +0 -3
- package/lib/BaseProvider/HydrationContext.js +4 -18
- package/lib/BaseProvider/index.js +0 -12
- package/lib/Box/Box.js +10 -35
- package/lib/Box/index.js +0 -3
- package/lib/Button/Button.js +4 -13
- package/lib/Button/ButtonBase.js +23 -55
- package/lib/Button/ButtonDropdown.js +7 -32
- package/lib/Button/ButtonGroup.js +15 -48
- package/lib/Button/ButtonLink.js +3 -17
- package/lib/Button/index.js +0 -5
- package/lib/Button/propTypes.js +0 -15
- package/lib/Card/Card.js +3 -14
- package/lib/Card/CardBase.js +5 -16
- package/lib/Card/PressableCardBase.js +7 -30
- package/lib/Card/index.js +0 -7
- package/lib/Carousel/Carousel.js +22 -115
- package/lib/Carousel/CarouselContext.js +0 -14
- package/lib/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +6 -18
- package/lib/Carousel/CarouselItem/CarouselItem.js +5 -20
- package/lib/Carousel/CarouselItem/index.js +0 -3
- package/lib/Carousel/CarouselStepTracker/CarouselStepTracker.js +0 -9
- package/lib/Carousel/CarouselStepTracker/index.js +0 -3
- package/lib/Carousel/CarouselTabs/CarouselTabs.js +5 -15
- package/lib/Carousel/CarouselTabs/CarouselTabsPanel.js +7 -16
- package/lib/Carousel/CarouselTabs/CarouselTabsPanelItem.js +2 -22
- package/lib/Carousel/CarouselTabs/index.js +0 -3
- package/lib/Carousel/CarouselThumbnail.js +1 -16
- package/lib/Carousel/CarouselThumbnailNavigation.js +0 -15
- package/lib/Carousel/index.js +0 -5
- package/lib/Checkbox/Checkbox.js +5 -44
- package/lib/Checkbox/CheckboxButton.js +7 -33
- package/lib/Checkbox/CheckboxGroup.js +5 -37
- package/lib/Checkbox/CheckboxInput.js +1 -11
- package/lib/Checkbox/CheckboxInput.native.js +0 -2
- package/lib/Checkbox/index.js +0 -4
- package/lib/CheckboxCard/CheckboxCard.js +4 -37
- package/lib/CheckboxCard/index.js +0 -3
- package/lib/CheckboxCardGroup/CheckboxCardGroup.js +215 -0
- package/lib/CheckboxCardGroup/index.js +10 -0
- package/lib/Divider/Divider.js +13 -24
- package/lib/Divider/index.js +0 -3
- package/lib/ExpandCollapse/Accordion.js +1 -9
- package/lib/ExpandCollapse/Control.js +10 -32
- package/lib/ExpandCollapse/ExpandCollapse.js +3 -19
- package/lib/ExpandCollapse/Panel.js +13 -38
- package/lib/ExpandCollapse/index.js +0 -5
- package/lib/Feedback/Feedback.js +13 -30
- package/lib/Feedback/index.js +0 -3
- package/lib/Fieldset/Fieldset.js +6 -37
- package/lib/Fieldset/FieldsetContainer.js +1 -10
- package/lib/Fieldset/FieldsetContainer.native.js +0 -8
- package/lib/Fieldset/Legend.js +1 -10
- package/lib/Fieldset/Legend.native.js +1 -13
- package/lib/Fieldset/index.js +0 -3
- package/lib/FlexGrid/Col/Col.js +10 -53
- package/lib/FlexGrid/Col/index.js +0 -3
- package/lib/FlexGrid/FlexGrid.js +3 -34
- package/lib/FlexGrid/Row/Row.js +0 -38
- package/lib/FlexGrid/Row/index.js +0 -3
- package/lib/FlexGrid/helpers/index.js +0 -4
- package/lib/FlexGrid/index.js +0 -3
- package/lib/FlexGrid/providers/GutterContext.js +0 -4
- package/lib/HorizontalScroll/HorizontalScroll.js +17 -45
- package/lib/HorizontalScroll/HorizontalScrollButton.js +1 -17
- package/lib/HorizontalScroll/ScrollViewEnd.js +5 -13
- package/lib/HorizontalScroll/ScrollViewEnd.native.js +1 -10
- package/lib/HorizontalScroll/index.js +0 -7
- package/lib/HorizontalScroll/itemPositions.js +8 -19
- package/lib/Icon/Icon.js +4 -17
- package/lib/Icon/IconText.js +5 -25
- package/lib/Icon/index.js +0 -6
- package/lib/IconButton/IconButton.js +5 -37
- package/lib/IconButton/index.js +0 -3
- package/lib/InputLabel/InputLabel.js +4 -28
- package/lib/InputLabel/LabelContent.js +2 -8
- package/lib/InputLabel/LabelContent.native.js +0 -8
- package/lib/InputLabel/index.js +0 -3
- package/lib/InputSupports/InputSupports.js +0 -21
- package/lib/InputSupports/index.js +0 -3
- package/lib/InputSupports/useInputSupports.js +2 -6
- package/lib/Link/ChevronLink.js +7 -18
- package/lib/Link/InlinePressable.js +0 -10
- package/lib/Link/InlinePressable.native.js +5 -18
- package/lib/Link/Link.js +0 -8
- package/lib/Link/LinkBase.js +17 -47
- package/lib/Link/TextButton.js +3 -16
- package/lib/Link/index.js +0 -5
- package/lib/List/List.js +5 -21
- package/lib/List/ListItem.js +1 -11
- package/lib/List/ListItemBase.js +5 -34
- package/lib/List/ListItemContent.js +1 -14
- package/lib/List/ListItemMark.js +3 -23
- package/lib/List/PressableListItemBase.js +2 -28
- package/lib/List/index.js +0 -4
- package/lib/Listbox/GroupControl.js +0 -14
- package/lib/Listbox/Listbox.js +15 -40
- package/lib/Listbox/ListboxContext.js +0 -7
- package/lib/Listbox/ListboxGroup.js +7 -19
- package/lib/Listbox/ListboxItem.js +3 -17
- package/lib/Listbox/ListboxOverlay.js +4 -20
- package/lib/Listbox/PressableItem.js +3 -18
- package/lib/Listbox/index.js +0 -3
- package/lib/Modal/Modal.js +94 -45
- package/lib/Modal/ModalContent.js +184 -0
- package/lib/Modal/index.js +0 -3
- package/lib/MultiSelectFilter/ModalOverlay.js +1 -20
- package/lib/MultiSelectFilter/MultiSelectFilter.js +20 -69
- package/lib/MultiSelectFilter/index.js +0 -3
- package/lib/Notification/Notification.js +11 -38
- package/lib/Notification/index.js +0 -3
- package/lib/Pagination/PageButton.js +2 -22
- package/lib/Pagination/Pagination.js +21 -42
- package/lib/Pagination/SideButton.js +0 -24
- package/lib/Pagination/index.js +0 -3
- package/lib/Pagination/usePagination.js +4 -9
- package/lib/Progress/Progress.js +3 -17
- package/lib/Progress/ProgressBar.js +3 -25
- package/lib/Progress/ProgressBarBackground.js +0 -12
- package/lib/Progress/index.js +0 -4
- package/lib/QuickLinks/QuickLinks.js +1 -18
- package/lib/QuickLinks/QuickLinksCard.js +1 -11
- package/lib/QuickLinks/QuickLinksItem.js +3 -17
- package/lib/QuickLinks/index.js +0 -4
- package/lib/QuickLinksFeature/QuickLinksFeature.js +3 -20
- package/lib/QuickLinksFeature/QuickLinksFeatureItem.js +7 -30
- package/lib/QuickLinksFeature/index.js +0 -4
- package/lib/Radio/Radio.js +5 -39
- package/lib/Radio/RadioButton.js +7 -26
- package/lib/Radio/RadioGroup.js +6 -39
- package/lib/Radio/RadioInput.js +1 -11
- package/lib/Radio/RadioInput.native.js +0 -2
- package/lib/Radio/index.js +0 -4
- package/lib/RadioCard/RadioCard.js +5 -38
- package/lib/RadioCard/RadioCardGroup.js +7 -38
- package/lib/RadioCard/index.js +0 -4
- package/lib/Responsive/Responsive.js +1 -14
- package/lib/Responsive/index.js +0 -3
- package/lib/Search/Search.js +22 -45
- package/lib/Search/index.js +0 -3
- package/lib/Select/Group.js +0 -8
- package/lib/Select/Group.native.js +0 -6
- package/lib/Select/Item.js +0 -7
- package/lib/Select/Item.native.js +0 -2
- package/lib/Select/Picker.js +0 -8
- package/lib/Select/Picker.native.js +6 -22
- package/lib/Select/Select.js +9 -52
- package/lib/Select/index.js +0 -5
- package/lib/SideNav/Item.js +5 -29
- package/lib/SideNav/ItemContent.js +1 -14
- package/lib/SideNav/ItemsGroup.js +9 -31
- package/lib/SideNav/SideNav.js +9 -33
- package/lib/SideNav/index.js +0 -2
- package/lib/Skeleton/Skeleton.js +10 -42
- package/lib/Skeleton/index.js +0 -3
- package/lib/Skeleton/skeletonWebAnimation.js +0 -2
- package/lib/Skeleton/useSkeletonNativeAnimation.js +1 -9
- package/lib/SkipLink/SkipLink.js +7 -27
- package/lib/SkipLink/index.js +0 -3
- package/lib/Spacer/Spacer.js +4 -20
- package/lib/Spacer/index.js +0 -3
- package/lib/StackView/StackView.js +3 -21
- package/lib/StackView/StackWrap.js +11 -21
- package/lib/StackView/StackWrap.native.js +0 -3
- package/lib/StackView/StackWrapBox.js +5 -21
- package/lib/StackView/StackWrapGap.js +1 -14
- package/lib/StackView/common.js +0 -6
- package/lib/StackView/getStackedContent.js +10 -21
- package/lib/StackView/index.js +0 -5
- package/lib/StepTracker/Step.js +3 -27
- package/lib/StepTracker/StepTracker.js +5 -32
- package/lib/StepTracker/index.js +0 -3
- package/lib/Tabs/Tabs.js +7 -30
- package/lib/Tabs/TabsItem.js +13 -38
- package/lib/Tabs/index.js +0 -3
- package/lib/Tags/Tags.js +9 -42
- package/lib/Tags/index.js +0 -3
- package/lib/TextInput/TextArea.js +11 -20
- package/lib/TextInput/TextInput.js +7 -16
- package/lib/TextInput/TextInputBase.js +106 -69
- package/lib/TextInput/index.js +0 -3
- package/lib/TextInput/propTypes.js +4 -7
- package/lib/ThemeProvider/ThemeProvider.js +10 -18
- package/lib/ThemeProvider/index.js +0 -9
- package/lib/ThemeProvider/useSetTheme.js +6 -9
- package/lib/ThemeProvider/useTheme.js +2 -7
- package/lib/ThemeProvider/useThemeTokens.js +1 -9
- package/lib/ThemeProvider/utils/index.js +0 -4
- package/lib/ThemeProvider/utils/styles.js +14 -35
- package/lib/ThemeProvider/utils/theme-tokens.js +15 -43
- package/lib/Timeline/Timeline.js +11 -27
- package/lib/Timeline/index.js +0 -3
- package/lib/ToggleSwitch/ToggleSwitch.js +12 -43
- package/lib/ToggleSwitch/ToggleSwitchGroup.js +4 -38
- package/lib/ToggleSwitch/index.js +0 -3
- package/lib/Tooltip/Backdrop.js +4 -11
- package/lib/Tooltip/Backdrop.native.js +1 -14
- package/lib/Tooltip/Tooltip.js +9 -37
- package/lib/Tooltip/Tooltip.native.js +14 -45
- package/lib/Tooltip/getTooltipPosition.js +26 -31
- package/lib/Tooltip/index.js +0 -5
- package/lib/Tooltip/shared.js +0 -10
- package/lib/TooltipButton/TooltipButton.js +5 -20
- package/lib/TooltipButton/index.js +0 -3
- package/lib/Typography/Typography.js +15 -38
- package/lib/Typography/index.js +0 -3
- package/lib/Validator/Validator.js +10 -58
- package/lib/Validator/index.js +0 -3
- package/lib/ViewportProvider/ViewportProvider.js +1 -13
- package/lib/ViewportProvider/index.js +0 -5
- package/lib/ViewportProvider/useViewport.js +0 -4
- package/lib/ViewportProvider/useViewportListener.js +3 -12
- package/lib/index.js +8 -71
- package/lib/utils/BaseView/BaseView.js +3 -17
- package/lib/utils/BaseView/BaseView.native.js +0 -3
- package/lib/utils/BaseView/index.js +0 -3
- package/lib/utils/a11y/index.js +0 -4
- package/lib/utils/a11y/semantics.js +14 -32
- package/lib/utils/a11y/textSize.js +1 -8
- package/lib/utils/animation/index.js +0 -2
- package/lib/utils/animation/useVerticalExpandAnimation.js +5 -18
- package/lib/utils/children.js +16 -28
- package/lib/utils/containUniqueFields.js +2 -5
- package/lib/utils/floating-ui/index.js +0 -1
- package/lib/utils/floating-ui/index.native.js +0 -1
- package/lib/utils/hasOwnProperty.js +0 -1
- package/lib/utils/htmlAttrs.js +2 -4
- package/lib/utils/index.js +0 -31
- package/lib/utils/info/index.js +0 -4
- package/lib/utils/info/platform/index.js +0 -4
- package/lib/utils/info/versions.js +0 -3
- package/lib/utils/input.js +12 -24
- package/lib/utils/pressability.js +7 -21
- package/lib/utils/props/a11yProps.js +19 -25
- package/lib/utils/props/clickProps.js +0 -4
- package/lib/utils/props/componentPropType.js +0 -14
- package/lib/utils/props/copyPropTypes.js +0 -4
- package/lib/utils/props/getPropSelector.js +11 -12
- package/lib/utils/props/handlerProps.js +2 -23
- package/lib/utils/props/hrefAttrsProp.js +0 -4
- package/lib/utils/props/index.js +0 -22
- package/lib/utils/props/inputSupportsProps.js +0 -9
- package/lib/utils/props/linkProps.js +2 -12
- package/lib/utils/props/paddingProp.js +0 -3
- package/lib/utils/props/pressProps.js +2 -8
- package/lib/utils/props/rectProp.js +0 -3
- package/lib/utils/props/responsiveProps.js +1 -5
- package/lib/utils/props/selectSystemProps.js +4 -6
- package/lib/utils/props/spacingProps.js +3 -10
- package/lib/utils/props/textInputProps.js +11 -31
- package/lib/utils/props/textProps.js +6 -11
- package/lib/utils/props/tokens.js +7 -26
- package/lib/utils/props/variantProp.js +0 -3
- package/lib/utils/props/viewProps.js +0 -5
- package/lib/utils/ssr.js +13 -33
- package/lib/utils/useCopy.js +3 -6
- package/lib/utils/useHash.js +5 -10
- package/lib/utils/useHash.native.js +0 -2
- package/lib/utils/useOverlaidPosition.js +6 -29
- package/lib/utils/useResponsiveProp.js +6 -13
- package/lib/utils/useSafeLayoutEffect.js +5 -10
- package/lib/utils/useScrollBlocking.js +3 -11
- package/lib/utils/useScrollBlocking.native.js +0 -2
- package/lib/utils/useSpacingScale.js +5 -8
- package/lib/utils/useUniqueId.js +0 -4
- package/lib/utils/withLinkRouter.js +13 -18
- package/lib-module/A11yInfoProvider/index.js +5 -9
- package/lib-module/A11yText/index.js +3 -4
- package/lib-module/ActivityIndicator/Spinner.js +2 -2
- package/lib-module/ActivityIndicator/Spinner.native.js +4 -6
- package/lib-module/ActivityIndicator/index.js +1 -5
- package/lib-module/ActivityIndicator/shared.js +2 -1
- package/lib-module/Autocomplete/Autocomplete.js +34 -59
- package/lib-module/Autocomplete/Loading.js +0 -2
- package/lib-module/BaseProvider/HydrationContext.js +4 -7
- package/lib-module/BaseProvider/index.js +0 -3
- package/lib-module/Box/Box.js +10 -24
- package/lib-module/Button/Button.js +4 -2
- package/lib-module/Button/ButtonBase.js +23 -35
- package/lib-module/Button/ButtonDropdown.js +7 -16
- package/lib-module/Button/ButtonGroup.js +15 -32
- package/lib-module/Button/ButtonLink.js +3 -2
- package/lib-module/Button/propTypes.js +0 -7
- package/lib-module/Card/Card.js +3 -2
- package/lib-module/Card/CardBase.js +5 -4
- package/lib-module/Card/PressableCardBase.js +7 -11
- package/lib-module/Carousel/Carousel.js +22 -60
- package/lib-module/Carousel/CarouselContext.js +0 -5
- package/lib-module/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +7 -5
- package/lib-module/Carousel/CarouselItem/CarouselItem.js +5 -11
- package/lib-module/Carousel/CarouselStepTracker/CarouselStepTracker.js +0 -2
- package/lib-module/Carousel/CarouselTabs/CarouselTabs.js +3 -4
- package/lib-module/Carousel/CarouselTabs/CarouselTabsPanel.js +7 -6
- package/lib-module/Carousel/CarouselTabs/CarouselTabsPanelItem.js +2 -10
- package/lib-module/Carousel/CarouselThumbnail.js +1 -7
- package/lib-module/Carousel/CarouselThumbnailNavigation.js +0 -2
- package/lib-module/Checkbox/Checkbox.js +5 -23
- package/lib-module/Checkbox/CheckboxButton.js +7 -17
- package/lib-module/Checkbox/CheckboxGroup.js +5 -23
- package/lib-module/Checkbox/CheckboxInput.js +1 -3
- package/lib-module/Checkbox/CheckboxInput.native.js +0 -1
- package/lib-module/CheckboxCard/CheckboxCard.js +4 -21
- package/lib-module/CheckboxCardGroup/CheckboxCardGroup.js +205 -0
- package/lib-module/CheckboxCardGroup/index.js +2 -0
- package/lib-module/Divider/Divider.js +13 -11
- package/lib-module/ExpandCollapse/Accordion.js +1 -1
- package/lib-module/ExpandCollapse/Control.js +10 -17
- package/lib-module/ExpandCollapse/ExpandCollapse.js +3 -9
- package/lib-module/ExpandCollapse/Panel.js +13 -23
- package/lib-module/Feedback/Feedback.js +13 -16
- package/lib-module/Fieldset/Fieldset.js +6 -25
- package/lib-module/Fieldset/FieldsetContainer.js +1 -1
- package/lib-module/Fieldset/FieldsetContainer.native.js +0 -1
- package/lib-module/Fieldset/Legend.js +1 -1
- package/lib-module/Fieldset/Legend.native.js +1 -1
- package/lib-module/FlexGrid/Col/Col.js +10 -37
- package/lib-module/FlexGrid/FlexGrid.js +3 -17
- package/lib-module/FlexGrid/Row/Row.js +0 -25
- package/lib-module/FlexGrid/helpers/index.js +0 -3
- package/lib-module/HorizontalScroll/HorizontalScroll.js +17 -27
- package/lib-module/HorizontalScroll/HorizontalScrollButton.js +1 -3
- package/lib-module/HorizontalScroll/ScrollViewEnd.js +5 -4
- package/lib-module/HorizontalScroll/ScrollViewEnd.native.js +0 -1
- package/lib-module/HorizontalScroll/itemPositions.js +11 -10
- package/lib-module/Icon/Icon.js +4 -8
- package/lib-module/Icon/IconText.js +6 -17
- package/lib-module/IconButton/IconButton.js +7 -20
- package/lib-module/InputLabel/InputLabel.js +4 -13
- package/lib-module/InputLabel/LabelContent.js +2 -1
- package/lib-module/InputLabel/LabelContent.native.js +0 -1
- package/lib-module/InputSupports/InputSupports.js +0 -9
- package/lib-module/InputSupports/useInputSupports.js +2 -4
- package/lib-module/Link/ChevronLink.js +7 -7
- package/lib-module/Link/InlinePressable.js +0 -2
- package/lib-module/Link/InlinePressable.native.js +4 -12
- package/lib-module/Link/LinkBase.js +17 -25
- package/lib-module/Link/TextButton.js +3 -5
- package/lib-module/List/List.js +5 -9
- package/lib-module/List/ListItem.js +1 -1
- package/lib-module/List/ListItemBase.js +5 -17
- package/lib-module/List/ListItemContent.js +1 -4
- package/lib-module/List/ListItemMark.js +3 -16
- package/lib-module/List/PressableListItemBase.js +2 -6
- package/lib-module/Listbox/GroupControl.js +0 -2
- package/lib-module/Listbox/Listbox.js +15 -23
- package/lib-module/Listbox/ListboxContext.js +0 -2
- package/lib-module/Listbox/ListboxGroup.js +6 -4
- package/lib-module/Listbox/ListboxItem.js +2 -1
- package/lib-module/Listbox/ListboxOverlay.js +3 -4
- package/lib-module/Listbox/PressableItem.js +2 -7
- package/lib-module/Modal/Modal.js +94 -25
- package/lib-module/Modal/ModalContent.js +175 -0
- package/lib-module/MultiSelectFilter/ModalOverlay.js +1 -4
- package/lib-module/MultiSelectFilter/MultiSelectFilter.js +20 -42
- package/lib-module/Notification/Notification.js +11 -22
- package/lib-module/Pagination/PageButton.js +2 -6
- package/lib-module/Pagination/Pagination.js +21 -21
- package/lib-module/Pagination/SideButton.js +3 -8
- package/lib-module/Pagination/usePagination.js +4 -8
- package/lib-module/Progress/Progress.js +3 -7
- package/lib-module/Progress/ProgressBar.js +3 -11
- package/lib-module/Progress/ProgressBarBackground.js +0 -2
- package/lib-module/QuickLinks/QuickLinks.js +1 -6
- package/lib-module/QuickLinks/QuickLinksCard.js +1 -3
- package/lib-module/QuickLinks/QuickLinksItem.js +3 -2
- package/lib-module/QuickLinksFeature/QuickLinksFeature.js +5 -9
- package/lib-module/QuickLinksFeature/QuickLinksFeatureItem.js +9 -13
- package/lib-module/Radio/Radio.js +5 -22
- package/lib-module/Radio/RadioButton.js +8 -10
- package/lib-module/Radio/RadioGroup.js +6 -25
- package/lib-module/Radio/RadioInput.js +1 -3
- package/lib-module/Radio/RadioInput.native.js +0 -1
- package/lib-module/RadioCard/RadioCard.js +5 -21
- package/lib-module/RadioCard/RadioCardGroup.js +7 -25
- package/lib-module/Responsive/Responsive.js +1 -6
- package/lib-module/Search/Search.js +22 -31
- package/lib-module/Select/Group.js +0 -3
- package/lib-module/Select/Group.native.js +0 -3
- package/lib-module/Select/Item.js +0 -3
- package/lib-module/Select/Item.native.js +0 -1
- package/lib-module/Select/Picker.native.js +8 -10
- package/lib-module/Select/Select.js +10 -35
- package/lib-module/SideNav/Item.js +5 -16
- package/lib-module/SideNav/ItemContent.js +1 -2
- package/lib-module/SideNav/ItemsGroup.js +9 -19
- package/lib-module/SideNav/SideNav.js +9 -22
- package/lib-module/Skeleton/Skeleton.js +10 -25
- package/lib-module/Skeleton/skeletonWebAnimation.js +0 -1
- package/lib-module/Skeleton/useSkeletonNativeAnimation.js +1 -3
- package/lib-module/SkipLink/SkipLink.js +7 -9
- package/lib-module/Spacer/Spacer.js +4 -7
- package/lib-module/StackView/StackView.js +3 -7
- package/lib-module/StackView/StackWrap.js +13 -13
- package/lib-module/StackView/StackWrap.native.js +2 -1
- package/lib-module/StackView/StackWrapBox.js +5 -8
- package/lib-module/StackView/StackWrapGap.js +1 -1
- package/lib-module/StackView/getStackedContent.js +10 -10
- package/lib-module/StepTracker/Step.js +3 -14
- package/lib-module/StepTracker/StepTracker.js +5 -13
- package/lib-module/Tabs/Tabs.js +7 -16
- package/lib-module/Tabs/TabsItem.js +13 -16
- package/lib-module/Tags/Tags.js +9 -26
- package/lib-module/TextInput/TextArea.js +11 -8
- package/lib-module/TextInput/TextInput.js +7 -5
- package/lib-module/TextInput/TextInputBase.js +107 -51
- package/lib-module/TextInput/propTypes.js +7 -6
- package/lib-module/ThemeProvider/ThemeProvider.js +10 -9
- package/lib-module/ThemeProvider/useSetTheme.js +6 -7
- package/lib-module/ThemeProvider/useTheme.js +2 -5
- package/lib-module/ThemeProvider/useThemeTokens.js +1 -2
- package/lib-module/ThemeProvider/utils/styles.js +15 -27
- package/lib-module/ThemeProvider/utils/theme-tokens.js +15 -20
- package/lib-module/Timeline/Timeline.js +11 -17
- package/lib-module/ToggleSwitch/ToggleSwitch.js +13 -26
- package/lib-module/ToggleSwitch/ToggleSwitchGroup.js +4 -23
- package/lib-module/Tooltip/Backdrop.js +4 -7
- package/lib-module/Tooltip/Backdrop.native.js +1 -4
- package/lib-module/Tooltip/Tooltip.js +9 -18
- package/lib-module/Tooltip/Tooltip.native.js +14 -23
- package/lib-module/Tooltip/getTooltipPosition.js +26 -30
- package/lib-module/Tooltip/shared.js +0 -6
- package/lib-module/TooltipButton/TooltipButton.js +5 -8
- package/lib-module/Typography/Typography.js +14 -22
- package/lib-module/Validator/Validator.js +10 -42
- package/lib-module/ViewportProvider/ViewportProvider.js +1 -3
- package/lib-module/ViewportProvider/useViewportListener.js +6 -8
- package/lib-module/index.js +1 -0
- package/lib-module/utils/BaseView/BaseView.js +3 -4
- package/lib-module/utils/BaseView/BaseView.native.js +0 -1
- package/lib-module/utils/a11y/semantics.js +14 -27
- package/lib-module/utils/a11y/textSize.js +1 -2
- package/lib-module/utils/animation/useVerticalExpandAnimation.js +8 -11
- package/lib-module/utils/children.js +17 -19
- package/lib-module/utils/containUniqueFields.js +2 -4
- package/lib-module/utils/htmlAttrs.js +2 -1
- package/lib-module/utils/info/index.js +2 -1
- package/lib-module/utils/info/platform/index.js +4 -1
- package/lib-module/utils/info/versions.js +2 -1
- package/lib-module/utils/input.js +11 -19
- package/lib-module/utils/pressability.js +8 -7
- package/lib-module/utils/props/a11yProps.js +22 -20
- package/lib-module/utils/props/clickProps.js +0 -1
- package/lib-module/utils/props/componentPropType.js +0 -13
- package/lib-module/utils/props/getPropSelector.js +12 -8
- package/lib-module/utils/props/handlerProps.js +2 -19
- package/lib-module/utils/props/hrefAttrsProp.js +2 -2
- package/lib-module/utils/props/inputSupportsProps.js +0 -6
- package/lib-module/utils/props/linkProps.js +2 -3
- package/lib-module/utils/props/pressProps.js +2 -2
- package/lib-module/utils/props/responsiveProps.js +1 -3
- package/lib-module/utils/props/selectSystemProps.js +4 -5
- package/lib-module/utils/props/spacingProps.js +4 -3
- package/lib-module/utils/props/textInputProps.js +14 -27
- package/lib-module/utils/props/textProps.js +9 -7
- package/lib-module/utils/props/tokens.js +10 -13
- package/lib-module/utils/props/variantProp.js +1 -1
- package/lib-module/utils/props/viewProps.js +0 -1
- package/lib-module/utils/ssr.js +14 -18
- package/lib-module/utils/useCopy.js +3 -5
- package/lib-module/utils/useHash.js +5 -9
- package/lib-module/utils/useHash.native.js +0 -1
- package/lib-module/utils/useOverlaidPosition.js +6 -25
- package/lib-module/utils/useResponsiveProp.js +6 -7
- package/lib-module/utils/useSafeLayoutEffect.js +5 -7
- package/lib-module/utils/useScrollBlocking.js +3 -10
- package/lib-module/utils/useSpacingScale.js +4 -4
- package/lib-module/utils/useUniqueId.js +0 -2
- package/lib-module/utils/withLinkRouter.js +13 -10
- package/package.json +2 -2
- package/src/CheckboxCardGroup/CheckboxCardGroup.jsx +230 -0
- package/src/CheckboxCardGroup/index.js +3 -0
- package/src/Modal/Modal.jsx +98 -5
- package/src/Modal/ModalContent.jsx +171 -0
- package/src/TextInput/TextInputBase.jsx +67 -12
- package/src/TextInput/propTypes.js +4 -0
- package/src/index.js +1 -0
- package/src/utils/props/textInputProps.js +1 -0
package/lib/Box/Box.js
CHANGED
|
@@ -4,28 +4,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
|
|
12
9
|
var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
|
|
13
|
-
|
|
14
10
|
var _ScrollView = _interopRequireDefault(require("react-native-web/dist/cjs/exports/ScrollView"));
|
|
15
|
-
|
|
16
11
|
var _ThemeProvider = require("../ThemeProvider");
|
|
17
|
-
|
|
18
12
|
var _utils = require("../utils");
|
|
19
|
-
|
|
20
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
|
-
|
|
22
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
|
-
|
|
24
15
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
|
-
|
|
26
16
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
|
-
|
|
28
17
|
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
|
|
18
|
+
|
|
29
19
|
/**
|
|
30
20
|
* @typedef {import('../utils/props/spacingProps.js').SpacingValue} SpacingValue
|
|
31
21
|
* @typedef {import('../utils/props/spacingProps.js').SpacingIndex} SpacingIndex
|
|
@@ -54,7 +44,6 @@ const selectBoxStyles = _ref => {
|
|
|
54
44
|
borderBottomLeftRadius,
|
|
55
45
|
borderBottomRightRadius
|
|
56
46
|
};
|
|
57
|
-
|
|
58
47
|
if (gradient) {
|
|
59
48
|
const {
|
|
60
49
|
angle,
|
|
@@ -62,9 +51,8 @@ const selectBoxStyles = _ref => {
|
|
|
62
51
|
} = gradient;
|
|
63
52
|
styles.backgroundImage = `linear-gradient(${angle}deg, ${stopOne.color}, 75% , ${stopTwo.color})`;
|
|
64
53
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
54
|
+
const paddings = ['paddingLeft', 'paddingRight', 'paddingTop', 'paddingBottom'];
|
|
55
|
+
// Only set on styles if token provided because we spread this object after the spacing scale values
|
|
68
56
|
paddings.forEach(side => {
|
|
69
57
|
if (rest[side]) {
|
|
70
58
|
styles[side] = rest[side];
|
|
@@ -72,6 +60,7 @@ const selectBoxStyles = _ref => {
|
|
|
72
60
|
});
|
|
73
61
|
return styles;
|
|
74
62
|
};
|
|
63
|
+
|
|
75
64
|
/**
|
|
76
65
|
* A layout utility component. Use Box to create space (padding) around content.
|
|
77
66
|
*
|
|
@@ -137,8 +126,6 @@ const selectBoxStyles = _ref => {
|
|
|
137
126
|
* text content is inside a scrollable box, as screens are not scrollable by default and even very
|
|
138
127
|
* short text will require scrolling on small devices at the highest accessibility text scaling settings.
|
|
139
128
|
*/
|
|
140
|
-
|
|
141
|
-
|
|
142
129
|
const Box = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
|
|
143
130
|
let {
|
|
144
131
|
space,
|
|
@@ -173,11 +160,11 @@ const Box = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
|
|
|
173
160
|
paddingBottom: (0, _utils.useSpacingScale)(bottom),
|
|
174
161
|
...selectBoxStyles(themeTokens)
|
|
175
162
|
};
|
|
176
|
-
|
|
177
163
|
if (scroll) {
|
|
178
164
|
const scrollProps = typeof scroll === 'object' ? scroll : {};
|
|
179
165
|
scrollProps.contentContainerStyle = [styles, scrollProps.contentContainerStyle];
|
|
180
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ScrollView.default, {
|
|
166
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ScrollView.default, {
|
|
167
|
+
...scrollProps,
|
|
181
168
|
...props,
|
|
182
169
|
testID: testID,
|
|
183
170
|
dataSet: dataSet,
|
|
@@ -185,8 +172,8 @@ const Box = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
|
|
|
185
172
|
children: children
|
|
186
173
|
});
|
|
187
174
|
}
|
|
188
|
-
|
|
189
|
-
|
|
175
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
176
|
+
...props,
|
|
190
177
|
style: styles,
|
|
191
178
|
testID: testID,
|
|
192
179
|
dataSet: dataSet,
|
|
@@ -195,59 +182,52 @@ const Box = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
|
|
|
195
182
|
});
|
|
196
183
|
});
|
|
197
184
|
Box.displayName = 'Box';
|
|
198
|
-
Box.propTypes = {
|
|
185
|
+
Box.propTypes = {
|
|
186
|
+
...selectedSystemPropTypes,
|
|
199
187
|
variant: _utils.variantProp.propType,
|
|
200
188
|
tokens: (0, _utils.getTokensPropType)('Box'),
|
|
201
|
-
|
|
202
189
|
/**
|
|
203
190
|
* Sets default padding on all sides of the box using the theme's spacing scale.
|
|
204
191
|
*
|
|
205
192
|
* @see {@link SpacingValue}
|
|
206
193
|
*/
|
|
207
194
|
space: _utils.spacingProps.types.spacingValue,
|
|
208
|
-
|
|
209
195
|
/**
|
|
210
196
|
* Sets top and bottom padding using the theme's spacing scale.
|
|
211
197
|
*
|
|
212
198
|
* @see {@link SpacingValue}
|
|
213
199
|
*/
|
|
214
200
|
vertical: _utils.spacingProps.types.spacingValue,
|
|
215
|
-
|
|
216
201
|
/**
|
|
217
202
|
* Sets left and right padding using the theme's spacing scale.
|
|
218
203
|
*
|
|
219
204
|
* @see {@link SpacingValue}
|
|
220
205
|
*/
|
|
221
206
|
horizontal: _utils.spacingProps.types.spacingValue,
|
|
222
|
-
|
|
223
207
|
/**
|
|
224
208
|
* Sets bottom padding using the theme's spacing scale.
|
|
225
209
|
*
|
|
226
210
|
* @see {@link SpacingValue}
|
|
227
211
|
*/
|
|
228
212
|
bottom: _utils.spacingProps.types.spacingValue,
|
|
229
|
-
|
|
230
213
|
/**
|
|
231
214
|
* Sets left padding using the theme's spacing scale.
|
|
232
215
|
*
|
|
233
216
|
* @see {@link SpacingValue}
|
|
234
217
|
*/
|
|
235
218
|
left: _utils.spacingProps.types.spacingValue,
|
|
236
|
-
|
|
237
219
|
/**
|
|
238
220
|
* Sets right padding using the theme's spacing scale.
|
|
239
221
|
*
|
|
240
222
|
* @see {@link SpacingValue}
|
|
241
223
|
*/
|
|
242
224
|
right: _utils.spacingProps.types.spacingValue,
|
|
243
|
-
|
|
244
225
|
/**
|
|
245
226
|
* Sets top padding using the theme's spacing scale.
|
|
246
227
|
*
|
|
247
228
|
* @see {@link SpacingValue}
|
|
248
229
|
*/
|
|
249
230
|
top: _utils.spacingProps.types.spacingValue,
|
|
250
|
-
|
|
251
231
|
/**
|
|
252
232
|
* Sets the `flex` style, which controls `flexGrow`, `flexShrink` and `flexBasis` styles.
|
|
253
233
|
*
|
|
@@ -257,14 +237,12 @@ Box.propTypes = { ...selectedSystemPropTypes,
|
|
|
257
237
|
* With the default `0`, the box takes its minimum width from its content.
|
|
258
238
|
*/
|
|
259
239
|
flex: _propTypes.default.number,
|
|
260
|
-
|
|
261
240
|
/**
|
|
262
241
|
* Renders a scrollable ScrollView instead of an unscrollable View.
|
|
263
242
|
*
|
|
264
243
|
* May take an object of ScrollView props which are passed to the rendered ScrollView.
|
|
265
244
|
*/
|
|
266
245
|
scroll: _propTypes.default.oneOfType([_propTypes.default.bool, _ScrollView.default.propTypes ? _propTypes.default.shape(_ScrollView.default.propTypes) : _propTypes.default.object]),
|
|
267
|
-
|
|
268
246
|
/**
|
|
269
247
|
* Optional semantic HTML tag, to apply to the container on web. Does not change styling.
|
|
270
248
|
*
|
|
@@ -272,18 +250,15 @@ Box.propTypes = { ...selectedSystemPropTypes,
|
|
|
272
250
|
* is not defined, the accessibilityRole will default to "heading".
|
|
273
251
|
*/
|
|
274
252
|
tag: _propTypes.default.oneOf(_utils.layoutTags),
|
|
275
|
-
|
|
276
253
|
/**
|
|
277
254
|
* Use in tests if the box itself needs to be targetted and no other way of selecting the
|
|
278
255
|
* box is available (e.g. it cannot be targetted using an appropriate `accessibilityRole`).
|
|
279
256
|
*/
|
|
280
257
|
testID: _propTypes.default.string,
|
|
281
|
-
|
|
282
258
|
/**
|
|
283
259
|
* @ignore
|
|
284
260
|
*/
|
|
285
261
|
dataSet: _propTypes.default.object,
|
|
286
|
-
|
|
287
262
|
/**
|
|
288
263
|
* Box accepts any content as children.
|
|
289
264
|
*/
|
package/lib/Box/index.js
CHANGED
|
@@ -4,10 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _Box = _interopRequireDefault(require("./Box"));
|
|
9
|
-
|
|
10
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
|
|
12
9
|
var _default = _Box.default;
|
|
13
10
|
exports.default = _default;
|
package/lib/Button/Button.js
CHANGED
|
@@ -4,27 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
8
|
var _ButtonBase = _interopRequireDefault(require("./ButtonBase"));
|
|
11
|
-
|
|
12
9
|
var _propTypes = _interopRequireWildcard(require("./propTypes"));
|
|
13
|
-
|
|
14
10
|
var _ThemeProvider = require("../ThemeProvider");
|
|
15
|
-
|
|
16
11
|
var _props = require("../utils/props");
|
|
17
|
-
|
|
18
12
|
var _ViewportProvider = require("../ViewportProvider");
|
|
19
|
-
|
|
20
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
|
-
|
|
22
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
|
-
|
|
24
15
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
|
-
|
|
26
16
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
|
-
|
|
28
17
|
const Button = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
29
18
|
let {
|
|
30
19
|
accessibilityRole = 'button',
|
|
@@ -38,14 +27,16 @@ const Button = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
38
27
|
...variant
|
|
39
28
|
};
|
|
40
29
|
const getTokens = (0, _ThemeProvider.useThemeTokensCallback)('Button', tokens, buttonVariant);
|
|
41
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ButtonBase.default, {
|
|
30
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ButtonBase.default, {
|
|
31
|
+
...props,
|
|
42
32
|
tokens: getTokens,
|
|
43
33
|
accessibilityRole: accessibilityRole,
|
|
44
34
|
ref: ref
|
|
45
35
|
});
|
|
46
36
|
});
|
|
47
37
|
Button.displayName = 'Button';
|
|
48
|
-
Button.propTypes = {
|
|
38
|
+
Button.propTypes = {
|
|
39
|
+
..._props.a11yProps.types,
|
|
49
40
|
..._propTypes.default,
|
|
50
41
|
children: _propTypes.textAndA11yText
|
|
51
42
|
};
|
package/lib/Button/ButtonBase.js
CHANGED
|
@@ -4,37 +4,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
|
|
12
9
|
var _Pressable = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Pressable"));
|
|
13
|
-
|
|
14
10
|
var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
|
|
15
|
-
|
|
16
11
|
var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
|
|
17
|
-
|
|
18
12
|
var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
|
|
19
|
-
|
|
20
13
|
var _ThemeProvider = require("../ThemeProvider");
|
|
21
|
-
|
|
22
14
|
var _propTypes2 = _interopRequireDefault(require("./propTypes"));
|
|
23
|
-
|
|
24
15
|
var _utils = require("../utils");
|
|
25
|
-
|
|
26
16
|
var _Icon = require("../Icon");
|
|
27
|
-
|
|
28
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
29
|
-
|
|
30
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
31
|
-
|
|
32
19
|
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); }
|
|
33
|
-
|
|
34
20
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
35
|
-
|
|
36
21
|
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.focusHandlerProps, _utils.linkProps, _utils.viewProps]);
|
|
37
|
-
|
|
38
22
|
const getOuterBorderOffset = _ref => {
|
|
39
23
|
let {
|
|
40
24
|
outerBorderGap = 0,
|
|
@@ -42,7 +26,6 @@ const getOuterBorderOffset = _ref => {
|
|
|
42
26
|
} = _ref;
|
|
43
27
|
return outerBorderGap + outerBorderWidth;
|
|
44
28
|
};
|
|
45
|
-
|
|
46
29
|
const selectOuterContainerStyles = _ref2 => {
|
|
47
30
|
let {
|
|
48
31
|
opacity,
|
|
@@ -52,7 +35,8 @@ const selectOuterContainerStyles = _ref2 => {
|
|
|
52
35
|
borderRadius,
|
|
53
36
|
outerBackgroundColor
|
|
54
37
|
} = _ref2;
|
|
55
|
-
return {
|
|
38
|
+
return {
|
|
39
|
+
..._Platform.default.select({
|
|
56
40
|
native: {
|
|
57
41
|
alignSelf: 'flex-start'
|
|
58
42
|
}
|
|
@@ -67,7 +51,6 @@ const selectOuterContainerStyles = _ref2 => {
|
|
|
67
51
|
})
|
|
68
52
|
};
|
|
69
53
|
};
|
|
70
|
-
|
|
71
54
|
const selectOuterSizeStyles = _ref3 => {
|
|
72
55
|
let {
|
|
73
56
|
outerBorderGap,
|
|
@@ -81,16 +64,16 @@ const selectOuterSizeStyles = _ref3 => {
|
|
|
81
64
|
outerBorderGap,
|
|
82
65
|
outerBorderWidth
|
|
83
66
|
});
|
|
84
|
-
const sizeStyles = {};
|
|
85
|
-
|
|
67
|
+
const sizeStyles = {};
|
|
68
|
+
// Apply width/height tokens: number === pixels, string === explicit units e.g. %
|
|
86
69
|
if (typeof width === 'number' && width > 0 || typeof height === 'number' && height > 0) {
|
|
87
70
|
sizeStyles.width = width ? width + outerBorderOffset * 2 : width;
|
|
88
71
|
sizeStyles.height = height ? height + outerBorderOffset * 2 : height;
|
|
89
72
|
return sizeStyles;
|
|
90
73
|
}
|
|
91
|
-
|
|
92
74
|
if (!width) {
|
|
93
|
-
return {
|
|
75
|
+
return {
|
|
76
|
+
...sizeStyles,
|
|
94
77
|
// Wrap content, stopping a flex parent's default align-items: stretch stretching focus ring beyond content
|
|
95
78
|
..._Platform.default.select({
|
|
96
79
|
// width: fit-content isn't supported on Firefox; can't cascade props like CSS `width: fit-content; width: --moz-fit-content;`
|
|
@@ -99,28 +82,26 @@ const selectOuterSizeStyles = _ref3 => {
|
|
|
99
82
|
}
|
|
100
83
|
})
|
|
101
84
|
};
|
|
102
|
-
}
|
|
103
|
-
|
|
85
|
+
}
|
|
104
86
|
|
|
87
|
+
// Ensure the negative margin doesn't make element off-centre
|
|
105
88
|
if (_Platform.default.OS === 'web') {
|
|
106
89
|
sizeStyles.width = `calc(${width} + ${outerBorderOffset * 2}px)`;
|
|
107
90
|
sizeStyles.height = `calc(${height} + ${outerBorderOffset * 2}px)`;
|
|
108
91
|
return sizeStyles;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
|
|
92
|
+
}
|
|
93
|
+
// Can't use calc() on native but (unlike on web) flexGrow fills the container width here
|
|
112
94
|
if (width === '100%') {
|
|
113
95
|
sizeStyles.flexGrow = 1;
|
|
114
96
|
return sizeStyles;
|
|
115
|
-
}
|
|
116
|
-
// If centering support is added (e.g. alignSelf: center), set marginHorizontal 0 when centered.
|
|
117
|
-
|
|
97
|
+
}
|
|
118
98
|
|
|
99
|
+
// Slight offset not such a concern if % width < 100%, as the button isn't centered anyway.
|
|
100
|
+
// If centering support is added (e.g. alignSelf: center), set marginHorizontal 0 when centered.
|
|
119
101
|
sizeStyles.width = width;
|
|
120
102
|
sizeStyles.height = height;
|
|
121
103
|
return sizeStyles;
|
|
122
104
|
};
|
|
123
|
-
|
|
124
105
|
const selectInnerContainerStyles = _ref4 => {
|
|
125
106
|
let {
|
|
126
107
|
backgroundColor,
|
|
@@ -136,7 +117,6 @@ const selectInnerContainerStyles = _ref4 => {
|
|
|
136
117
|
borderBottomWidth,
|
|
137
118
|
minWidth
|
|
138
119
|
} = _ref4;
|
|
139
|
-
|
|
140
120
|
// Subtract border width from padding so overall button width/height doesn't
|
|
141
121
|
// jump around if the border width changes (avoiding NaN and negative padding)
|
|
142
122
|
const offsetBorder = _ref5 => {
|
|
@@ -146,7 +126,6 @@ const selectInnerContainerStyles = _ref4 => {
|
|
|
146
126
|
} = _ref5;
|
|
147
127
|
return typeof value === 'number' && typeof borderSize === 'number' ? Math.max(0, value - borderSize) : value;
|
|
148
128
|
};
|
|
149
|
-
|
|
150
129
|
return {
|
|
151
130
|
paddingLeft: offsetBorder({
|
|
152
131
|
value: paddingLeft,
|
|
@@ -169,7 +148,6 @@ const selectInnerContainerStyles = _ref4 => {
|
|
|
169
148
|
...(0, _ThemeProvider.applyShadowToken)(shadow)
|
|
170
149
|
};
|
|
171
150
|
};
|
|
172
|
-
|
|
173
151
|
const selectBorderStyles = _ref6 => {
|
|
174
152
|
let {
|
|
175
153
|
borderColor,
|
|
@@ -190,7 +168,6 @@ const selectBorderStyles = _ref6 => {
|
|
|
190
168
|
borderBottomWidth
|
|
191
169
|
};
|
|
192
170
|
};
|
|
193
|
-
|
|
194
171
|
const selectTextStyles = (_ref7, themeOptions) => {
|
|
195
172
|
let {
|
|
196
173
|
fontSize,
|
|
@@ -214,7 +191,6 @@ const selectTextStyles = (_ref7, themeOptions) => {
|
|
|
214
191
|
textDecorationStyle: textLineStyle
|
|
215
192
|
});
|
|
216
193
|
};
|
|
217
|
-
|
|
218
194
|
const selectWebOnlyStyles = (inactive, themeTokens, _ref8) => {
|
|
219
195
|
let {
|
|
220
196
|
accessibilityRole
|
|
@@ -231,7 +207,6 @@ const selectWebOnlyStyles = (inactive, themeTokens, _ref8) => {
|
|
|
231
207
|
default: {}
|
|
232
208
|
});
|
|
233
209
|
};
|
|
234
|
-
|
|
235
210
|
const selectButtonStyles = _ref9 => {
|
|
236
211
|
let {
|
|
237
212
|
textAlign
|
|
@@ -241,7 +216,6 @@ const selectButtonStyles = _ref9 => {
|
|
|
241
216
|
justifyContent: textAlign
|
|
242
217
|
};
|
|
243
218
|
};
|
|
244
|
-
|
|
245
219
|
const selectItemIconTokens = _ref10 => {
|
|
246
220
|
let {
|
|
247
221
|
color,
|
|
@@ -253,7 +227,6 @@ const selectItemIconTokens = _ref10 => {
|
|
|
253
227
|
color: iconColor || color
|
|
254
228
|
};
|
|
255
229
|
};
|
|
256
|
-
|
|
257
230
|
const ButtonBase = /*#__PURE__*/(0, _react.forwardRef)((_ref11, ref) => {
|
|
258
231
|
let {
|
|
259
232
|
id,
|
|
@@ -270,27 +243,21 @@ const ButtonBase = /*#__PURE__*/(0, _react.forwardRef)((_ref11, ref) => {
|
|
|
270
243
|
iconProps,
|
|
271
244
|
...rawRest
|
|
272
245
|
} = _ref11;
|
|
273
|
-
|
|
274
246
|
const {
|
|
275
247
|
onPress,
|
|
276
248
|
...rest
|
|
277
249
|
} = _utils.clickProps.toPressProps(rawRest);
|
|
278
|
-
|
|
279
250
|
const extraButtonState = {
|
|
280
251
|
inactive,
|
|
281
252
|
selected,
|
|
282
253
|
iconPosition
|
|
283
254
|
};
|
|
284
|
-
|
|
285
255
|
const resolveButtonTokens = pressableState => (0, _utils.resolvePressableTokens)(tokens, pressableState, extraButtonState);
|
|
286
|
-
|
|
287
256
|
const systemProps = selectProps(rest);
|
|
288
|
-
|
|
289
257
|
const getPressableStyle = pressableState => {
|
|
290
258
|
const themeTokens = resolveButtonTokens(pressableState);
|
|
291
259
|
return [staticStyles.row, selectWebOnlyStyles(inactive, themeTokens, systemProps), selectOuterContainerStyles(themeTokens), selectOuterSizeStyles(themeTokens)];
|
|
292
260
|
};
|
|
293
|
-
|
|
294
261
|
const {
|
|
295
262
|
themeOptions
|
|
296
263
|
} = (0, _ThemeProvider.useTheme)();
|
|
@@ -312,15 +279,16 @@ const ButtonBase = /*#__PURE__*/(0, _react.forwardRef)((_ref11, ref) => {
|
|
|
312
279
|
const textStyles = [selectTextStyles(themeTokens, themeOptions), staticStyles.text, _Platform.default.select({
|
|
313
280
|
web: {
|
|
314
281
|
pointerEvents: 'none' // bubbles press event to parent `Pressable`
|
|
315
|
-
|
|
316
282
|
}
|
|
317
283
|
})];
|
|
284
|
+
|
|
318
285
|
const iconTokens = selectItemIconTokens(themeTokens);
|
|
319
286
|
const {
|
|
320
287
|
iconSpace
|
|
321
|
-
} = themeTokens;
|
|
322
|
-
// If in future we support text alignments other than center, add here.
|
|
288
|
+
} = themeTokens;
|
|
323
289
|
|
|
290
|
+
// If the container has a width set, fill it instead of sizing from content.
|
|
291
|
+
// If in future we support text alignments other than center, add here.
|
|
324
292
|
const stretchStyles = themeTokens.width ? staticStyles.stretch : staticStyles.align;
|
|
325
293
|
const IconComponent = icon || themeTokens.icon;
|
|
326
294
|
const rowStyles = selectButtonStyles(themeTokens);
|
|
@@ -341,10 +309,12 @@ const ButtonBase = /*#__PURE__*/(0, _react.forwardRef)((_ref11, ref) => {
|
|
|
341
309
|
icon: IconComponent,
|
|
342
310
|
iconPosition: iconPosition,
|
|
343
311
|
space: iconSpace,
|
|
344
|
-
iconProps: {
|
|
312
|
+
iconProps: {
|
|
313
|
+
...iconProps,
|
|
345
314
|
tokens: iconTokens
|
|
346
315
|
},
|
|
347
|
-
children: (0, _utils.wrapStringsInText)(typeof children === 'function' ? children({
|
|
316
|
+
children: (0, _utils.wrapStringsInText)(typeof children === 'function' ? children({
|
|
317
|
+
...(0, _utils.resolvePressableState)(pressableState, extraButtonState),
|
|
348
318
|
textStyles
|
|
349
319
|
}) : children, {
|
|
350
320
|
style: textStyles
|
|
@@ -363,14 +333,14 @@ ButtonBase.propTypes = {
|
|
|
363
333
|
ButtonBase.defaultProps = {
|
|
364
334
|
id: undefined
|
|
365
335
|
};
|
|
366
|
-
|
|
367
336
|
const staticStyles = _StyleSheet.default.create({
|
|
368
337
|
row: {
|
|
369
338
|
// Apply all button alignment horizontally; no vertical stacking within a button
|
|
370
339
|
flexDirection: 'row',
|
|
371
340
|
justifyContent: 'center'
|
|
372
341
|
},
|
|
373
|
-
text: {
|
|
342
|
+
text: {
|
|
343
|
+
..._Platform.default.select({
|
|
374
344
|
// TODO: https://github.com/telus/universal-design-system/issues/487
|
|
375
345
|
web: {
|
|
376
346
|
transition: 'color 200ms'
|
|
@@ -386,7 +356,5 @@ const staticStyles = _StyleSheet.default.create({
|
|
|
386
356
|
justifyContent: 'center'
|
|
387
357
|
}
|
|
388
358
|
});
|
|
389
|
-
|
|
390
359
|
var _default = (0, _utils.withLinkRouter)(ButtonBase);
|
|
391
|
-
|
|
392
360
|
exports.default = _default;
|
|
@@ -4,39 +4,22 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
|
|
12
9
|
var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
|
|
13
|
-
|
|
14
10
|
var _Text = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Text"));
|
|
15
|
-
|
|
16
11
|
var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
|
|
17
|
-
|
|
18
12
|
var _propTypes2 = _interopRequireWildcard(require("./propTypes"));
|
|
19
|
-
|
|
20
13
|
var _ButtonBase = _interopRequireDefault(require("./ButtonBase"));
|
|
21
|
-
|
|
22
14
|
var _ThemeProvider = require("../ThemeProvider");
|
|
23
|
-
|
|
24
15
|
var _utils = require("../utils");
|
|
25
|
-
|
|
26
16
|
var _Icon = _interopRequireDefault(require("../Icon"));
|
|
27
|
-
|
|
28
17
|
var _StackView = require("../StackView");
|
|
29
|
-
|
|
30
18
|
var _pressability = require("../utils/pressability");
|
|
31
|
-
|
|
32
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
33
|
-
|
|
34
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
35
|
-
|
|
36
21
|
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
|
-
|
|
38
22
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
39
|
-
|
|
40
23
|
const selectIconTokens = _ref => {
|
|
41
24
|
let {
|
|
42
25
|
icon,
|
|
@@ -75,7 +58,6 @@ const selectIconTokens = _ref => {
|
|
|
75
58
|
}
|
|
76
59
|
};
|
|
77
60
|
};
|
|
78
|
-
|
|
79
61
|
const ButtonDropdown = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
|
|
80
62
|
let {
|
|
81
63
|
value,
|
|
@@ -105,22 +87,19 @@ const ButtonDropdown = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
|
|
|
105
87
|
...variant
|
|
106
88
|
};
|
|
107
89
|
const getTokens = (0, _ThemeProvider.useThemeTokensCallback)('ButtonDropdown', tokens, extraState);
|
|
90
|
+
const getButtonTokens = buttonState => (0, _utils.selectTokens)('Button', getTokens(buttonState));
|
|
108
91
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
92
|
+
// Pass an object of relevant component state as first argument for any passed-in press handlers
|
|
112
93
|
const pressHandlers = (0, _pressability.getPressHandlersWithArgs)(props, [{
|
|
113
94
|
label,
|
|
114
95
|
open: isOpen
|
|
115
96
|
}]);
|
|
116
|
-
|
|
117
97
|
const handlePress = event => {
|
|
118
98
|
if (!inactive) {
|
|
119
99
|
if (pressHandlers.onPress) pressHandlers === null || pressHandlers === void 0 ? void 0 : pressHandlers.onPress(event);
|
|
120
100
|
setIsOpen(!isOpen, event);
|
|
121
101
|
}
|
|
122
102
|
};
|
|
123
|
-
|
|
124
103
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ButtonBase.default, {
|
|
125
104
|
ref: ref,
|
|
126
105
|
...pressHandlers,
|
|
@@ -140,6 +119,7 @@ const ButtonDropdown = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
|
|
|
140
119
|
// - Icon: https://github.com/telus/universal-design-system/issues/327
|
|
141
120
|
// - IconButton: https://github.com/telus/universal-design-system/issues/281
|
|
142
121
|
// - Token sets: https://github.com/telus/universal-design-system/issues/782
|
|
122
|
+
|
|
143
123
|
const itemTokens = getTokens(buttonState);
|
|
144
124
|
const {
|
|
145
125
|
iconTokens,
|
|
@@ -155,11 +135,10 @@ const ButtonDropdown = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
|
|
|
155
135
|
tokens: iconTokens
|
|
156
136
|
})
|
|
157
137
|
}) : null;
|
|
158
|
-
|
|
159
|
-
|
|
138
|
+
const childrenContent = () => typeof children === 'function' ? children({
|
|
139
|
+
...(0, _utils.resolvePressableState)(buttonState, extraState),
|
|
160
140
|
textStyles
|
|
161
141
|
}) : children;
|
|
162
|
-
|
|
163
142
|
const content = children ? childrenContent() : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.default, {
|
|
164
143
|
style: textStyles,
|
|
165
144
|
children: label
|
|
@@ -172,33 +151,29 @@ const ButtonDropdown = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
|
|
|
172
151
|
});
|
|
173
152
|
});
|
|
174
153
|
ButtonDropdown.displayName = 'ButtonDropdown';
|
|
175
|
-
ButtonDropdown.propTypes = {
|
|
154
|
+
ButtonDropdown.propTypes = {
|
|
155
|
+
..._utils.a11yProps.types,
|
|
176
156
|
..._utils.focusHandlerProps.types,
|
|
177
157
|
..._propTypes2.default,
|
|
178
158
|
children: _propTypes2.textAndA11yText,
|
|
179
159
|
tokens: (0, _utils.getTokensPropType)('ButtonDropdown'),
|
|
180
|
-
|
|
181
160
|
/**
|
|
182
161
|
* Callback called when a controlled ButtonDropdown gets interacted with.
|
|
183
162
|
*/
|
|
184
163
|
onChange: _propTypes.default.func,
|
|
185
|
-
|
|
186
164
|
/**
|
|
187
165
|
* `value` prop is being used to set the 'open' state of ButtonDropdown. Use it for
|
|
188
166
|
* controlled ButtonDropdown. For uncontrolled ButtonDropdown, use `initialValue`.
|
|
189
167
|
*/
|
|
190
168
|
value: _propTypes.default.bool,
|
|
191
|
-
|
|
192
169
|
/**
|
|
193
170
|
* Use `initialValue` to provide the initial value for an uncontrolled version.
|
|
194
171
|
*/
|
|
195
172
|
initialValue: _propTypes.default.bool,
|
|
196
|
-
|
|
197
173
|
/**
|
|
198
174
|
* The label of ButtonDropdown.
|
|
199
175
|
*/
|
|
200
176
|
label: _propTypes.default.string,
|
|
201
|
-
|
|
202
177
|
/**
|
|
203
178
|
* By default, `ButtonDropdown` is treated by accessibility tools as a radio button.
|
|
204
179
|
*/
|