@telus-uds/components-base 1.66.0 → 1.67.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -3
- 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 +14 -45
- 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 +216 -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 +25 -40
- 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 +12 -58
- package/lib/TextInput/index.js +0 -3
- package/lib/TextInput/propTypes.js +0 -8
- 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 +10 -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 +14 -31
- 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 +206 -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 +25 -27
- 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 +13 -39
- package/lib-module/TextInput/propTypes.js +3 -7
- 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 +13 -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/Checkbox/CheckboxGroup.jsx +10 -8
- package/src/CheckboxCardGroup/CheckboxCardGroup.jsx +231 -0
- package/src/CheckboxCardGroup/index.js +3 -0
- package/src/Modal/Modal.jsx +98 -5
- package/src/Modal/ModalContent.jsx +171 -0
- package/src/RadioCard/RadioCardGroup.jsx +23 -2
- package/src/index.js +1 -0
package/lib/Carousel/Carousel.js
CHANGED
|
@@ -4,55 +4,30 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
8
|
var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
|
|
11
|
-
|
|
12
9
|
var _Animated = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Animated"));
|
|
13
|
-
|
|
14
10
|
var _PanResponder = _interopRequireDefault(require("react-native-web/dist/cjs/exports/PanResponder"));
|
|
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 _Dimensions = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Dimensions"));
|
|
21
|
-
|
|
22
14
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
23
|
-
|
|
24
15
|
var _ThemeProvider = require("../ThemeProvider");
|
|
25
|
-
|
|
26
16
|
var _ViewportProvider = require("../ViewportProvider");
|
|
27
|
-
|
|
28
17
|
var _utils = require("../utils");
|
|
29
|
-
|
|
30
18
|
var _A11yInfoProvider = require("../A11yInfoProvider");
|
|
31
|
-
|
|
32
19
|
var _CarouselContext = require("./CarouselContext");
|
|
33
|
-
|
|
34
20
|
var _CarouselItem = _interopRequireDefault(require("./CarouselItem"));
|
|
35
|
-
|
|
36
21
|
var _IconButton = _interopRequireDefault(require("../IconButton"));
|
|
37
|
-
|
|
38
22
|
var _SkipLink = _interopRequireDefault(require("../SkipLink"));
|
|
39
|
-
|
|
40
23
|
var _A11yText = _interopRequireDefault(require("../A11yText"));
|
|
41
|
-
|
|
42
24
|
var _CarouselStepTracker = _interopRequireDefault(require("./CarouselStepTracker"));
|
|
43
|
-
|
|
44
25
|
var _CarouselThumbnailNavigation = _interopRequireDefault(require("./CarouselThumbnailNavigation"));
|
|
45
|
-
|
|
46
26
|
var _CarouselTabsPanel = _interopRequireDefault(require("./CarouselTabs/CarouselTabsPanel"));
|
|
47
|
-
|
|
48
27
|
var _CarouselTabsPanelItem = _interopRequireDefault(require("./CarouselTabs/CarouselTabsPanelItem"));
|
|
49
|
-
|
|
50
28
|
var _dictionary = _interopRequireDefault(require("./dictionary"));
|
|
51
|
-
|
|
52
29
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
53
|
-
|
|
54
30
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
55
|
-
|
|
56
31
|
const staticStyles = _StyleSheet.default.create({
|
|
57
32
|
root: {
|
|
58
33
|
backgroundColor: 'transparent',
|
|
@@ -63,26 +38,22 @@ const staticStyles = _StyleSheet.default.create({
|
|
|
63
38
|
left: 0
|
|
64
39
|
}
|
|
65
40
|
});
|
|
66
|
-
|
|
67
41
|
const selectContainerStyles = width => ({
|
|
68
42
|
backgroundColor: 'transparent',
|
|
69
43
|
overflow: 'hidden',
|
|
70
44
|
width
|
|
71
45
|
});
|
|
72
|
-
|
|
73
46
|
const selectSwipeAreaStyles = (count, width) => ({
|
|
74
47
|
width: width * count,
|
|
75
48
|
justifyContent: 'space-between',
|
|
76
49
|
flexDirection: 'row'
|
|
77
50
|
});
|
|
78
|
-
|
|
79
51
|
const selectPreviousNextNavigationButtonStyles = (previousNextNavigationButtonWidth, previousNextNavigationPosition, spaceBetweenSlideAndPreviousNextNavigation, isFirstSlide, isLastSlide, areStylesAppliedOnPreviousButton) => {
|
|
80
52
|
const styles = {
|
|
81
53
|
zIndex: 1,
|
|
82
54
|
position: 'absolute'
|
|
83
55
|
};
|
|
84
56
|
const dynamicPositionProperty = areStylesAppliedOnPreviousButton ? 'left' : 'right';
|
|
85
|
-
|
|
86
57
|
if (isFirstSlide) {
|
|
87
58
|
styles.visibility = areStylesAppliedOnPreviousButton ? 'hidden' : 'visible';
|
|
88
59
|
} else if (isLastSlide) {
|
|
@@ -90,7 +61,6 @@ const selectPreviousNextNavigationButtonStyles = (previousNextNavigationButtonWi
|
|
|
90
61
|
} else {
|
|
91
62
|
styles.visibility = 'visible';
|
|
92
63
|
}
|
|
93
|
-
|
|
94
64
|
if (previousNextNavigationPosition === 'edge') {
|
|
95
65
|
styles[dynamicPositionProperty] = -1 * (previousNextNavigationButtonWidth / 2);
|
|
96
66
|
} else if (previousNextNavigationPosition === 'inside') {
|
|
@@ -98,11 +68,10 @@ const selectPreviousNextNavigationButtonStyles = (previousNextNavigationButtonWi
|
|
|
98
68
|
} else if (previousNextNavigationPosition === 'outside') {
|
|
99
69
|
styles[dynamicPositionProperty] = -1 * (spaceBetweenSlideAndPreviousNextNavigation + previousNextNavigationButtonWidth);
|
|
100
70
|
}
|
|
101
|
-
|
|
102
71
|
return styles;
|
|
103
72
|
};
|
|
104
|
-
|
|
105
73
|
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
|
|
74
|
+
|
|
106
75
|
/**
|
|
107
76
|
* Carousel is a general-purpose content slider that can be used to render content in terms of slides.
|
|
108
77
|
|
|
@@ -157,7 +126,6 @@ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_u
|
|
|
157
126
|
- `spaceBetweenSlideAndPreviousNextNavigation` - Horizontal space between slide and previous/next navigational buttons
|
|
158
127
|
- `spaceBetweenSlideAndPanelNavigation` - Vertical space between slide area and panel navigation area
|
|
159
128
|
*/
|
|
160
|
-
|
|
161
129
|
const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
|
|
162
130
|
let {
|
|
163
131
|
tokens,
|
|
@@ -202,32 +170,27 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
|
|
|
202
170
|
showPanelTabs,
|
|
203
171
|
spaceBetweenSlideAndPreviousNextNavigation
|
|
204
172
|
} = themeTokens;
|
|
205
|
-
|
|
206
173
|
const [activeIndex, setActiveIndex] = _react.default.useState(0);
|
|
207
|
-
|
|
208
174
|
const [isAnimating, setIsAnimating] = _react.default.useState(false);
|
|
209
|
-
|
|
210
175
|
const handleAnimationStart = _react.default.useCallback(function () {
|
|
211
176
|
if (typeof onAnimationStart === 'function') onAnimationStart(...arguments);
|
|
212
177
|
setIsAnimating(true);
|
|
213
178
|
}, [onAnimationStart]);
|
|
214
|
-
|
|
215
179
|
const handleAnimationEnd = _react.default.useCallback(function () {
|
|
216
180
|
if (typeof onAnimationEnd === 'function') onAnimationEnd(...arguments);
|
|
217
181
|
setIsAnimating(false);
|
|
218
182
|
}, [onAnimationEnd]);
|
|
219
|
-
|
|
220
183
|
const getCopy = (0, _utils.useCopy)({
|
|
221
184
|
dictionary: _dictionary.default,
|
|
222
185
|
copy
|
|
223
186
|
});
|
|
224
|
-
let childrenArray = (0, _utils.unpackFragment)(children);
|
|
225
|
-
|
|
187
|
+
let childrenArray = (0, _utils.unpackFragment)(children);
|
|
188
|
+
// if `Carousel` only has one `Carousel.Item`, convert this to a single-item array
|
|
226
189
|
if (!Array.isArray(childrenArray)) {
|
|
227
190
|
childrenArray = [childrenArray];
|
|
228
191
|
}
|
|
229
|
-
|
|
230
|
-
|
|
192
|
+
const systemProps = selectProps({
|
|
193
|
+
...rest,
|
|
231
194
|
accessibilityRole,
|
|
232
195
|
accessibilityLabel,
|
|
233
196
|
accessibilityValue: {
|
|
@@ -239,26 +202,18 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
|
|
|
239
202
|
const {
|
|
240
203
|
reduceMotionEnabled
|
|
241
204
|
} = (0, _A11yInfoProvider.useA11yInfo)();
|
|
242
|
-
|
|
243
205
|
const [containerLayout, setContainerLayout] = _react.default.useState({
|
|
244
206
|
x: 0,
|
|
245
207
|
y: 0,
|
|
246
208
|
width: 0
|
|
247
209
|
});
|
|
248
|
-
|
|
249
210
|
const [previousNextNavigationButtonWidth, setPreviousNextNavigationButtonWidth] = _react.default.useState(0);
|
|
250
|
-
|
|
251
211
|
const firstFocusRef = _react.default.useRef(null);
|
|
252
|
-
|
|
253
212
|
const pan = _react.default.useRef(new _Animated.default.ValueXY()).current;
|
|
254
|
-
|
|
255
213
|
const animatedX = _react.default.useRef(0);
|
|
256
|
-
|
|
257
214
|
const animatedY = _react.default.useRef(0);
|
|
258
|
-
|
|
259
215
|
const isFirstSlide = !activeIndex;
|
|
260
216
|
const isLastSlide = activeIndex + 1 >= children.length;
|
|
261
|
-
|
|
262
217
|
const onContainerLayout = _ref2 => {
|
|
263
218
|
let {
|
|
264
219
|
nativeEvent: {
|
|
@@ -269,13 +224,13 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
|
|
|
269
224
|
}
|
|
270
225
|
}
|
|
271
226
|
} = _ref2;
|
|
272
|
-
return setContainerLayout(prevState => ({
|
|
227
|
+
return setContainerLayout(prevState => ({
|
|
228
|
+
...prevState,
|
|
273
229
|
x,
|
|
274
230
|
y,
|
|
275
231
|
width
|
|
276
232
|
}));
|
|
277
233
|
};
|
|
278
|
-
|
|
279
234
|
const onPreviousNextNavigationButtonLayout = _ref3 => {
|
|
280
235
|
let {
|
|
281
236
|
nativeEvent: {
|
|
@@ -286,7 +241,6 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
|
|
|
286
241
|
} = _ref3;
|
|
287
242
|
return setPreviousNextNavigationButtonWidth(width);
|
|
288
243
|
};
|
|
289
|
-
|
|
290
244
|
const updateOffset = _react.default.useCallback(() => {
|
|
291
245
|
animatedX.current = containerLayout.width * activeIndex * -1;
|
|
292
246
|
animatedY.current = 0;
|
|
@@ -299,16 +253,13 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
|
|
|
299
253
|
y: 0
|
|
300
254
|
});
|
|
301
255
|
}, [activeIndex, containerLayout.width, pan, animatedX]);
|
|
302
|
-
|
|
303
256
|
const animate = _react.default.useCallback((toValue, toIndex) => {
|
|
304
257
|
const handleAnimationEndToIndex = function () {
|
|
305
258
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
306
259
|
args[_key] = arguments[_key];
|
|
307
260
|
}
|
|
308
|
-
|
|
309
261
|
return handleAnimationEnd(toIndex, ...args);
|
|
310
262
|
};
|
|
311
|
-
|
|
312
263
|
if (reduceMotionEnabled) {
|
|
313
264
|
_Animated.default.timing(pan, {
|
|
314
265
|
toValue,
|
|
@@ -316,13 +267,13 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
|
|
|
316
267
|
useNativeDriver: false
|
|
317
268
|
}).start(handleAnimationEndToIndex);
|
|
318
269
|
} else {
|
|
319
|
-
_Animated.default.spring(pan, {
|
|
270
|
+
_Animated.default.spring(pan, {
|
|
271
|
+
...springConfig,
|
|
320
272
|
toValue,
|
|
321
273
|
useNativeDriver: false
|
|
322
274
|
}).start(handleAnimationEndToIndex);
|
|
323
275
|
}
|
|
324
276
|
}, [pan, springConfig, reduceMotionEnabled, handleAnimationEnd]);
|
|
325
|
-
|
|
326
277
|
const updateIndex = _react.default.useCallback(function () {
|
|
327
278
|
let delta = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
|
|
328
279
|
const toValue = {
|
|
@@ -331,7 +282,6 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
|
|
|
331
282
|
};
|
|
332
283
|
let skipChanges = !delta;
|
|
333
284
|
let calcDelta = delta;
|
|
334
|
-
|
|
335
285
|
if (activeIndex <= 0 && delta < 0) {
|
|
336
286
|
skipChanges = true;
|
|
337
287
|
calcDelta = children.length + delta;
|
|
@@ -339,47 +289,37 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
|
|
|
339
289
|
skipChanges = true;
|
|
340
290
|
calcDelta = -1 * activeIndex + delta - 1;
|
|
341
291
|
}
|
|
342
|
-
|
|
343
292
|
const index = activeIndex + calcDelta;
|
|
344
|
-
|
|
345
293
|
if (skipChanges) {
|
|
346
294
|
animate(toValue, index);
|
|
347
295
|
return calcDelta;
|
|
348
296
|
}
|
|
349
|
-
|
|
350
297
|
setActiveIndex(index);
|
|
351
298
|
toValue.x = containerLayout.width * -1 * calcDelta;
|
|
352
299
|
animate(toValue, index);
|
|
353
300
|
if (onIndexChanged) onIndexChanged(calcDelta, index);
|
|
354
301
|
return calcDelta;
|
|
355
302
|
}, [containerLayout.width, activeIndex, animate, children.length, onIndexChanged]);
|
|
356
|
-
|
|
357
303
|
const fixOffsetAndGo = _react.default.useCallback(delta => {
|
|
358
304
|
var _firstFocusRef$curren;
|
|
359
|
-
|
|
360
305
|
updateOffset();
|
|
361
306
|
handleAnimationStart(activeIndex);
|
|
362
307
|
updateIndex(delta);
|
|
363
308
|
if (refocus) (_firstFocusRef$curren = firstFocusRef.current) === null || _firstFocusRef$curren === void 0 ? void 0 : _firstFocusRef$curren.focus();
|
|
364
309
|
}, [updateIndex, updateOffset, activeIndex, handleAnimationStart, refocus]);
|
|
365
|
-
|
|
366
310
|
const goToNeighboring = _react.default.useCallback(function () {
|
|
367
311
|
let toPrev = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
368
312
|
fixOffsetAndGo(toPrev ? -1 : 1);
|
|
369
313
|
}, [fixOffsetAndGo]);
|
|
370
|
-
|
|
371
314
|
const isSwipeAllowed = _react.default.useCallback(() => {
|
|
372
315
|
if (childrenArray.length === 1) {
|
|
373
316
|
return false;
|
|
374
317
|
}
|
|
375
|
-
|
|
376
318
|
if (_Platform.default.OS === 'web') {
|
|
377
319
|
return !!(viewport === 'xs' || viewport === 'sm');
|
|
378
320
|
}
|
|
379
|
-
|
|
380
321
|
return true;
|
|
381
322
|
}, [viewport, childrenArray.length]);
|
|
382
|
-
|
|
383
323
|
const panResponder = _react.default.useMemo(() => _PanResponder.default.create({
|
|
384
324
|
onPanResponderTerminationRequest: () => false,
|
|
385
325
|
onMoveShouldSetResponderCapture: () => true,
|
|
@@ -387,7 +327,6 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
|
|
|
387
327
|
if (!isSwipeAllowed()) {
|
|
388
328
|
return false;
|
|
389
329
|
}
|
|
390
|
-
|
|
391
330
|
handleAnimationStart(activeIndex);
|
|
392
331
|
return Math.abs(gestureState.dx) > minDistanceToCapture;
|
|
393
332
|
},
|
|
@@ -399,7 +338,6 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
|
|
|
399
338
|
}),
|
|
400
339
|
onPanResponderRelease: (_, gesture) => {
|
|
401
340
|
const correction = gesture.moveX - gesture.x0;
|
|
402
|
-
|
|
403
341
|
if (Math.abs(correction) < containerLayout.width * minDistanceForAction) {
|
|
404
342
|
animate({
|
|
405
343
|
x: 0,
|
|
@@ -411,7 +349,6 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
|
|
|
411
349
|
}
|
|
412
350
|
}
|
|
413
351
|
}), [containerLayout.width, updateIndex, updateOffset, animate, isSwipeAllowed, activeIndex, minDistanceForAction, handleAnimationStart, minDistanceToCapture, pan.x]);
|
|
414
|
-
|
|
415
352
|
_react.default.useEffect(() => {
|
|
416
353
|
pan.x.addListener(_ref4 => {
|
|
417
354
|
let {
|
|
@@ -430,56 +367,48 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
|
|
|
430
367
|
pan.y.removeAllListeners();
|
|
431
368
|
};
|
|
432
369
|
}, [pan.x, pan.y]);
|
|
433
|
-
|
|
434
370
|
_react.default.useEffect(() => {
|
|
435
371
|
const subscription = _Dimensions.default.addEventListener('change', () => {
|
|
436
372
|
updateOffset();
|
|
437
373
|
});
|
|
438
|
-
|
|
439
374
|
return () => subscription === null || subscription === void 0 ? void 0 : subscription.remove();
|
|
440
375
|
});
|
|
441
|
-
|
|
442
376
|
const goToNext = _react.default.useCallback(() => {
|
|
443
377
|
goToNeighboring();
|
|
444
378
|
}, [goToNeighboring]);
|
|
445
|
-
|
|
446
379
|
const goToPrev = _react.default.useCallback(() => {
|
|
447
380
|
goToNeighboring(true);
|
|
448
381
|
}, [goToNeighboring]);
|
|
449
|
-
|
|
450
382
|
const goTo = _react.default.useCallback(function () {
|
|
451
383
|
let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
452
384
|
const delta = index - activeIndex;
|
|
453
|
-
|
|
454
385
|
if (delta) {
|
|
455
386
|
fixOffsetAndGo(delta);
|
|
456
387
|
}
|
|
457
|
-
}, [fixOffsetAndGo, activeIndex]);
|
|
388
|
+
}, [fixOffsetAndGo, activeIndex]);
|
|
389
|
+
|
|
390
|
+
// @TODO: - these are Allium-theme variants and won't have any effect in themes that don't implement them.
|
|
458
391
|
// Normally we avoid setting variants of subcomponents, however this could be re-considered.
|
|
459
392
|
// Related discussion - https://github.com/telus/universal-design-system/issues/1549
|
|
460
|
-
|
|
461
|
-
|
|
462
393
|
const previousNextIconButtonVariants = {
|
|
463
394
|
size: previousNextIconSize,
|
|
464
395
|
raised: !(variant !== null && variant !== void 0 && variant.inverse) && true,
|
|
465
396
|
inverse: variant === null || variant === void 0 ? void 0 : variant.inverse
|
|
466
397
|
};
|
|
467
|
-
|
|
468
398
|
const getCopyWithPlaceholders = _react.default.useCallback(copyKey => {
|
|
469
|
-
const copyText = getCopy(copyKey).replace(/%\{title\}/g, title).replace(/%\{itemLabel\}/g, itemLabel).replace(/%\{stepNumber\}/g, activeIndex + 1).replace(/%\{stepCount\}/g, childrenArray.length);
|
|
399
|
+
const copyText = getCopy(copyKey).replace(/%\{title\}/g, title).replace(/%\{itemLabel\}/g, itemLabel).replace(/%\{stepNumber\}/g, activeIndex + 1).replace(/%\{stepCount\}/g, childrenArray.length);
|
|
470
400
|
|
|
401
|
+
// First word might be a lowercase placeholder: capitalize the first letter
|
|
471
402
|
return `${copyText[0].toUpperCase()}${copyText.slice(1)}`;
|
|
472
403
|
}, [activeIndex, childrenArray.length, itemLabel, getCopy, title]);
|
|
473
|
-
|
|
474
404
|
const activePanelNavigation = tabs && showPanelTabs ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_CarouselTabsPanel.default, {
|
|
475
405
|
items: tabs
|
|
476
406
|
}) : panelNavigation;
|
|
477
407
|
const isFirstFocusContainer = Boolean(refocus && !skipLinkHref);
|
|
478
|
-
|
|
479
408
|
const containerRef = element => {
|
|
480
409
|
// Apply both firstFocusRef to the container
|
|
481
|
-
firstFocusRef.current = element;
|
|
482
|
-
|
|
410
|
+
firstFocusRef.current = element;
|
|
411
|
+
// Also apply forwarded ref if there is one (which could be a function ref)
|
|
483
412
|
if (ref) {
|
|
484
413
|
if (typeof ref === 'object') {
|
|
485
414
|
// eslint-disable-next-line no-param-reassign
|
|
@@ -488,10 +417,9 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
|
|
|
488
417
|
ref(element);
|
|
489
418
|
}
|
|
490
419
|
}
|
|
491
|
-
};
|
|
420
|
+
};
|
|
421
|
+
// If container isn't used for focus, give it a label of title if none is passed in,
|
|
492
422
|
// otherwise read the current position on focus
|
|
493
|
-
|
|
494
|
-
|
|
495
423
|
const containerAccessibilityLabel = systemProps.accessibilityLabel ?? isFirstFocusContainer ? `${title ? `${title} ` : ''}${getCopyWithPlaceholders('stepTrackerLabel')}` : title;
|
|
496
424
|
const containerProps = {
|
|
497
425
|
accessibilityLabel: containerAccessibilityLabel,
|
|
@@ -531,7 +459,8 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
|
|
|
531
459
|
ref: firstFocusRef,
|
|
532
460
|
href: skipLinkHref,
|
|
533
461
|
children: getCopyWithPlaceholders('skipLink')
|
|
534
|
-
}), !isFirstFocusContainer && /*#__PURE__*/(0, _jsxRuntime.jsx)(_A11yText.default
|
|
462
|
+
}), !isFirstFocusContainer && /*#__PURE__*/(0, _jsxRuntime.jsx)(_A11yText.default
|
|
463
|
+
// Read the current slide position to screen readers on slide.
|
|
535
464
|
// If it's set to refocus and doesn't have a SkipLink to focus to, focus this.
|
|
536
465
|
, {
|
|
537
466
|
accessibilityLiveRegion: !skipLinkHref && refocus ? undefined : 'polite',
|
|
@@ -553,12 +482,10 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
|
|
|
553
482
|
accessibilityLiveRegion: accessibilityLiveRegion,
|
|
554
483
|
children: childrenArray.map((element, index) => {
|
|
555
484
|
const hidden = !isAnimating && index !== activeIndex;
|
|
556
|
-
|
|
557
485
|
const clonedElement = /*#__PURE__*/_react.default.cloneElement(element, {
|
|
558
486
|
elementIndex: index,
|
|
559
487
|
hidden
|
|
560
488
|
});
|
|
561
|
-
|
|
562
489
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.default.Fragment, {
|
|
563
490
|
children: clonedElement
|
|
564
491
|
}, index.toFixed(2));
|
|
@@ -578,21 +505,18 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
|
|
|
578
505
|
}), showPanelNavigation ? activePanelNavigation : null]
|
|
579
506
|
});
|
|
580
507
|
});
|
|
581
|
-
|
|
582
|
-
|
|
508
|
+
Carousel.propTypes = {
|
|
509
|
+
...selectedSystemPropTypes,
|
|
583
510
|
tokens: (0, _utils.getTokensPropType)('Carousel'),
|
|
584
511
|
variant: _utils.variantProp.propType,
|
|
585
|
-
|
|
586
512
|
/**
|
|
587
513
|
* Prop related to StepTracker Variants
|
|
588
514
|
*/
|
|
589
515
|
stepTrackerVariant: _utils.variantProp.propType,
|
|
590
|
-
|
|
591
516
|
/**
|
|
592
517
|
* Slides to render in Carousel. Wrap individual slides in `Carousel.Item`
|
|
593
518
|
*/
|
|
594
519
|
children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node]).isRequired,
|
|
595
|
-
|
|
596
520
|
/**
|
|
597
521
|
* Lowercase language-appropriate user-facing description of what each Carousel slide represents.
|
|
598
522
|
* This is used when generating item labels. For example, if a carousel contains offers,
|
|
@@ -600,24 +524,20 @@ Carousel.propTypes = { ...selectedSystemPropTypes,
|
|
|
600
524
|
* accessible labels such as "Summer offer 1 of 3" and "Show summer offer 2 of 3".
|
|
601
525
|
*/
|
|
602
526
|
itemLabel: _propTypes.default.string,
|
|
603
|
-
|
|
604
527
|
/**
|
|
605
528
|
* `inside` renders the previous and next buttons inside the slide
|
|
606
529
|
* `outside` renders the previous and next buttons outside the slide
|
|
607
530
|
* `edge` renders the previous and next buttons at the edge of the slide
|
|
608
531
|
*/
|
|
609
532
|
previousNextNavigationPosition: _propTypes.default.oneOf(['inside', 'outside', 'edge']),
|
|
610
|
-
|
|
611
533
|
/**
|
|
612
534
|
* Defines the size of the `IconButton` which is being used to render next and previous buttons
|
|
613
535
|
*/
|
|
614
536
|
previousNextIconSize: _propTypes.default.oneOf(['default', 'small', 'large']),
|
|
615
|
-
|
|
616
537
|
/**
|
|
617
538
|
* Carousel uses `Animated.spring` to animate slide changes, use this option to pass custom animation configuration
|
|
618
539
|
*/
|
|
619
540
|
springConfig: _propTypes.default.object,
|
|
620
|
-
|
|
621
541
|
/**
|
|
622
542
|
* An array of objects containing information on the thumbnails to be rendered as navigation panel
|
|
623
543
|
*/
|
|
@@ -626,18 +546,15 @@ Carousel.propTypes = { ...selectedSystemPropTypes,
|
|
|
626
546
|
alt: _propTypes.default.string,
|
|
627
547
|
src: _propTypes.default.string
|
|
628
548
|
})),
|
|
629
|
-
|
|
630
549
|
/**
|
|
631
550
|
* Minimal part of slide width must be swiped for changing index.
|
|
632
551
|
* Otherwise animation restore current slide. Default value 0.2 means that 20% must be swiped for change index
|
|
633
552
|
*/
|
|
634
553
|
minDistanceForAction: _propTypes.default.number,
|
|
635
|
-
|
|
636
554
|
/**
|
|
637
555
|
* Initiate animation after swipe this distance.
|
|
638
556
|
*/
|
|
639
557
|
minDistanceToCapture: _propTypes.default.number,
|
|
640
|
-
|
|
641
558
|
/**
|
|
642
559
|
* Called when active index changed
|
|
643
560
|
* This function is also provided with a parameter indicating changed index (either 1, or -1)
|
|
@@ -655,20 +572,17 @@ Carousel.propTypes = { ...selectedSystemPropTypes,
|
|
|
655
572
|
* Caution: Always consider wrapping your callback for `onIndexChanged` in `useCallback` in order to avoid bugs and performance issues
|
|
656
573
|
*/
|
|
657
574
|
onIndexChanged: _propTypes.default.func,
|
|
658
|
-
|
|
659
575
|
/**
|
|
660
576
|
* If this is a complex carousel with a lot of focusable content, pass a href for a skip link. Typically, this will be an anchor link
|
|
661
577
|
* with the ID of a focusable element immediately after the Carousel, e.g. `'#section-2-heading'`.
|
|
662
578
|
*/
|
|
663
579
|
skipLinkHref: _propTypes.default.string,
|
|
664
|
-
|
|
665
580
|
/**
|
|
666
581
|
* If provided, defaults the navigation panel to a CarouselTabsPanel element passing each item as props for one tab.
|
|
667
582
|
*
|
|
668
583
|
* Be careful to ensure that the order of each element in the items array matches the order of each child in the Carousel.
|
|
669
584
|
*/
|
|
670
585
|
tabs: _propTypes.default.arrayOf(_propTypes.default.shape(_CarouselTabsPanelItem.default.propTypes || {})),
|
|
671
|
-
|
|
672
586
|
/**
|
|
673
587
|
* If true, whenever a new slide comes into view, the focus of the Carousel switches to the start.
|
|
674
588
|
*
|
|
@@ -677,7 +591,6 @@ Carousel.propTypes = { ...selectedSystemPropTypes,
|
|
|
677
591
|
* If skipLinkHref is passed, the focus target will be the SkipLink; if not, it'll be an empty element before the slide content.
|
|
678
592
|
*/
|
|
679
593
|
refocus: _propTypes.default.bool,
|
|
680
|
-
|
|
681
594
|
/**
|
|
682
595
|
* Use this to render a custom panel navigation element instead of the default StepTracker's based navigation
|
|
683
596
|
* You can make use of `useCarousel` within your custom panel navigation component to hook into various Carousel states such as:
|
|
@@ -693,7 +606,6 @@ Carousel.propTypes = { ...selectedSystemPropTypes,
|
|
|
693
606
|
* ```
|
|
694
607
|
*/
|
|
695
608
|
panelNavigation: _propTypes.default.element,
|
|
696
|
-
|
|
697
609
|
/**
|
|
698
610
|
* When slide animation start
|
|
699
611
|
* This function is also provided with a parameter indicating the current slide index before animation starts
|
|
@@ -711,7 +623,6 @@ Carousel.propTypes = { ...selectedSystemPropTypes,
|
|
|
711
623
|
* Caution: Always consider wrapping your callback for `onAnimationStart` in `useCallback` in order to avoid bugs and performance issues
|
|
712
624
|
*/
|
|
713
625
|
onAnimationStart: _propTypes.default.func,
|
|
714
|
-
|
|
715
626
|
/**
|
|
716
627
|
* When slide animation end with parameter of current index (after animation ends)
|
|
717
628
|
* This function is also provided with a parameter indicating the updated slide index after animation ends
|
|
@@ -729,7 +640,6 @@ Carousel.propTypes = { ...selectedSystemPropTypes,
|
|
|
729
640
|
* Caution: Always consider wrapping your callback for `onAnimationEnd` in `useCallback` in order to avoid bugs and performance issues
|
|
730
641
|
*/
|
|
731
642
|
onAnimationEnd: _propTypes.default.func,
|
|
732
|
-
|
|
733
643
|
/**
|
|
734
644
|
* Use this to override the default text for panel navigation
|
|
735
645
|
*/
|
|
@@ -741,17 +651,14 @@ Carousel.propTypes = { ...selectedSystemPropTypes,
|
|
|
741
651
|
stepTrackerLabel: _propTypes.default.string.isRequired
|
|
742
652
|
})
|
|
743
653
|
}),
|
|
744
|
-
|
|
745
654
|
/**
|
|
746
655
|
* Provide custom accessibilityRole for Carousel container
|
|
747
656
|
*/
|
|
748
657
|
accessibilityRole: _propTypes.default.string,
|
|
749
|
-
|
|
750
658
|
/**
|
|
751
659
|
* Provide custom accessibilityLabel for Carousel container
|
|
752
660
|
*/
|
|
753
661
|
accessibilityLabel: _propTypes.default.string,
|
|
754
|
-
|
|
755
662
|
/**
|
|
756
663
|
* HTML tag to use for the Carousel item's immediate parent. Defaults to `'ul'` so that
|
|
757
664
|
* assistive technology tools know to intepret the carousel as a list.
|
|
@@ -5,19 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.CarouselProvider = void 0;
|
|
7
7
|
exports.useCarousel = useCarousel;
|
|
8
|
-
|
|
9
8
|
var _react = _interopRequireDefault(require("react"));
|
|
10
|
-
|
|
11
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
|
-
|
|
13
10
|
var _utils = require("../utils");
|
|
14
|
-
|
|
15
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
-
|
|
17
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
|
-
|
|
19
13
|
const CarouselContext = /*#__PURE__*/_react.default.createContext();
|
|
20
|
-
|
|
21
14
|
const CarouselProvider = _ref => {
|
|
22
15
|
let {
|
|
23
16
|
activeIndex,
|
|
@@ -30,7 +23,6 @@ const CarouselProvider = _ref => {
|
|
|
30
23
|
totalItems,
|
|
31
24
|
width
|
|
32
25
|
} = _ref;
|
|
33
|
-
|
|
34
26
|
const value = _react.default.useMemo(() => ({
|
|
35
27
|
activeIndex,
|
|
36
28
|
goTo,
|
|
@@ -41,25 +33,19 @@ const CarouselProvider = _ref => {
|
|
|
41
33
|
totalItems,
|
|
42
34
|
width
|
|
43
35
|
}), [activeIndex, goTo, getCopyWithPlaceholders, itemLabel, refocus, totalItems, themeTokens, width]);
|
|
44
|
-
|
|
45
36
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(CarouselContext.Provider, {
|
|
46
37
|
value: value,
|
|
47
38
|
children: children
|
|
48
39
|
});
|
|
49
40
|
};
|
|
50
|
-
|
|
51
41
|
exports.CarouselProvider = CarouselProvider;
|
|
52
|
-
|
|
53
42
|
function useCarousel() {
|
|
54
43
|
const context = _react.default.useContext(CarouselContext);
|
|
55
|
-
|
|
56
44
|
if (context === undefined) {
|
|
57
45
|
throw new Error(`'useCarousel' must be used within a 'CarouselProvider'`);
|
|
58
46
|
}
|
|
59
|
-
|
|
60
47
|
return context;
|
|
61
48
|
}
|
|
62
|
-
|
|
63
49
|
CarouselProvider.propTypes = {
|
|
64
50
|
children: _propTypes.default.arrayOf(_propTypes.default.element).isRequired,
|
|
65
51
|
activeIndex: _propTypes.default.number.isRequired,
|
|
@@ -4,52 +4,40 @@ 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 _Pressable = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Pressable"));
|
|
11
|
-
|
|
12
9
|
var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
|
|
13
|
-
|
|
14
10
|
var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
|
|
15
|
-
|
|
16
11
|
var _propTypes = require("prop-types");
|
|
17
|
-
|
|
18
12
|
var _CarouselContext = require("../CarouselContext");
|
|
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
|
/**
|
|
29
18
|
* Focus target so that when a new slide is shown, the user can tab into
|
|
30
19
|
* its content using the keyboard.
|
|
31
20
|
*
|
|
32
21
|
* @TODO rework this after integrating with SkipLink when available.
|
|
33
|
-
*/
|
|
34
|
-
const CarouselFirstFocus = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
22
|
+
*/const CarouselFirstFocus = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
35
23
|
let {
|
|
36
24
|
title
|
|
37
25
|
} = _ref;
|
|
38
26
|
const {
|
|
39
27
|
getCopyWithPlaceholders
|
|
40
|
-
} = (0, _CarouselContext.useCarousel)();
|
|
41
|
-
// Consider moving this content to aria-live area while only the skip link is focused.
|
|
28
|
+
} = (0, _CarouselContext.useCarousel)();
|
|
42
29
|
|
|
30
|
+
// TODO: integrate skip link description if behaving as skip link.
|
|
31
|
+
// Consider moving this content to aria-live area while only the skip link is focused.
|
|
43
32
|
const accessibilityLabel = `${title}, ${getCopyWithPlaceholders('stepTrackerLabel')}`;
|
|
44
|
-
|
|
45
33
|
const accessibilityRole = _Platform.default.select({
|
|
46
34
|
web: 'link',
|
|
47
35
|
// The focused item will ultimately be a skip link.
|
|
48
36
|
default: 'button' // 'link' role usually denotes opening browser on Native.
|
|
49
|
-
|
|
50
37
|
});
|
|
51
38
|
|
|
52
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Pressable.default
|
|
39
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Pressable.default
|
|
40
|
+
// TODO: integrate skip link functionality, jump focus to after Carousel
|
|
53
41
|
, {
|
|
54
42
|
onPress: undefined,
|
|
55
43
|
ref: ref,
|