@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
|
@@ -24,7 +24,6 @@ const {
|
|
|
24
24
|
Col,
|
|
25
25
|
Row
|
|
26
26
|
} = FlexGrid;
|
|
27
|
-
|
|
28
27
|
const selectSubTitleTokens = _ref => {
|
|
29
28
|
let {
|
|
30
29
|
subtitleColor
|
|
@@ -33,7 +32,6 @@ const selectSubTitleTokens = _ref => {
|
|
|
33
32
|
color: subtitleColor
|
|
34
33
|
};
|
|
35
34
|
};
|
|
36
|
-
|
|
37
35
|
const selectDividerToknes = _ref2 => {
|
|
38
36
|
let {
|
|
39
37
|
dividerColor,
|
|
@@ -48,7 +46,6 @@ const selectDividerToknes = _ref2 => {
|
|
|
48
46
|
weight
|
|
49
47
|
};
|
|
50
48
|
};
|
|
51
|
-
|
|
52
49
|
const MultiSelectFilter = _ref3 => {
|
|
53
50
|
let {
|
|
54
51
|
label,
|
|
@@ -87,9 +84,7 @@ const MultiSelectFilter = _ref3 => {
|
|
|
87
84
|
const [maxWidth, setMaxWidth] = useState(false);
|
|
88
85
|
const themeTokens = useThemeTokens('ButtonDropdown', tokens, variant);
|
|
89
86
|
const getItemTokens = useThemeTokensCallback('ButtonDropdown', tokens, variant);
|
|
90
|
-
|
|
91
87
|
const getButtonTokens = buttonState => selectTokens('Button', getItemTokens(buttonState));
|
|
92
|
-
|
|
93
88
|
const getCopy = useCopy({
|
|
94
89
|
dictionary,
|
|
95
90
|
copy
|
|
@@ -116,48 +111,42 @@ const MultiSelectFilter = _ref3 => {
|
|
|
116
111
|
subHeaderLineHeight,
|
|
117
112
|
minHeight,
|
|
118
113
|
minWidth
|
|
119
|
-
} = useThemeTokens('MultiSelectFilter', tokens, {
|
|
114
|
+
} = useThemeTokens('MultiSelectFilter', tokens, {
|
|
115
|
+
...variant,
|
|
120
116
|
maxHeight,
|
|
121
117
|
maxWidth
|
|
122
118
|
}, {
|
|
123
119
|
viewport
|
|
124
120
|
});
|
|
125
121
|
const uniqueFields = ['id', 'label'];
|
|
126
|
-
|
|
127
122
|
if (!containUniqueFields(items, uniqueFields)) {
|
|
128
123
|
throw new Error(`MultiSelectFilter items must have unique ${uniqueFields.join(', ')}`);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
|
|
124
|
+
}
|
|
125
|
+
// Pass an object of relevant component state as first argument for any passed-in press handlers
|
|
132
126
|
const pressHandlers = getPressHandlersWithArgs(rest, [{
|
|
133
127
|
id,
|
|
134
128
|
label,
|
|
135
129
|
currentValues
|
|
136
130
|
}]);
|
|
137
|
-
|
|
138
131
|
const handleChange = event => {
|
|
139
132
|
if (pressHandlers.onPress) pressHandlers === null || pressHandlers === void 0 ? void 0 : pressHandlers.onPress(event);
|
|
140
133
|
setIsOpen(!isOpen);
|
|
141
134
|
};
|
|
142
|
-
|
|
143
135
|
const onApply = e => {
|
|
144
136
|
setValues(e);
|
|
145
137
|
setIsOpen(false);
|
|
146
138
|
onConfirm(e);
|
|
147
139
|
};
|
|
148
|
-
|
|
149
140
|
const onClear = () => {
|
|
150
141
|
setCheckedIds(() => []);
|
|
151
142
|
setValues([]);
|
|
152
143
|
setIsOpen(false);
|
|
153
144
|
onCancel();
|
|
154
145
|
};
|
|
155
|
-
|
|
156
146
|
const onClose = () => {
|
|
157
147
|
setIsOpen(false);
|
|
158
148
|
onCancel();
|
|
159
149
|
};
|
|
160
|
-
|
|
161
150
|
const {
|
|
162
151
|
align,
|
|
163
152
|
offsets
|
|
@@ -213,7 +202,8 @@ const MultiSelectFilter = _ref3 => {
|
|
|
213
202
|
onClose: onClose,
|
|
214
203
|
children: [/*#__PURE__*/_jsx(Row, {
|
|
215
204
|
children: /*#__PURE__*/_jsx(Typography, {
|
|
216
|
-
tokens: {
|
|
205
|
+
tokens: {
|
|
206
|
+
...headerStyles,
|
|
217
207
|
lineHeight: headerLineHeight
|
|
218
208
|
},
|
|
219
209
|
children: getCopy('filterByLabel').replace(/%\{filterCategory\}/g, label.toLowerCase())
|
|
@@ -223,7 +213,8 @@ const MultiSelectFilter = _ref3 => {
|
|
|
223
213
|
space: 5
|
|
224
214
|
}), /*#__PURE__*/_jsx(Row, {
|
|
225
215
|
children: /*#__PURE__*/_jsx(Typography, {
|
|
226
|
-
tokens: {
|
|
216
|
+
tokens: {
|
|
217
|
+
...subeHeaderStyles,
|
|
227
218
|
lineHeight: subHeaderLineHeight
|
|
228
219
|
},
|
|
229
220
|
children: subtitle
|
|
@@ -247,7 +238,8 @@ const MultiSelectFilter = _ref3 => {
|
|
|
247
238
|
}, i))
|
|
248
239
|
})
|
|
249
240
|
}), /*#__PURE__*/_jsx(Divider, {
|
|
250
|
-
variant: selectDividerToknes({
|
|
241
|
+
variant: selectDividerToknes({
|
|
242
|
+
...themeTokens,
|
|
251
243
|
width: 'full'
|
|
252
244
|
}),
|
|
253
245
|
space: 4
|
|
@@ -288,7 +280,8 @@ const MultiSelectFilter = _ref3 => {
|
|
|
288
280
|
maxWidthSize: maxWidthSize,
|
|
289
281
|
minHeight: minHeight,
|
|
290
282
|
minWidth: minWidth,
|
|
291
|
-
tokens: {
|
|
283
|
+
tokens: {
|
|
284
|
+
...tokens,
|
|
292
285
|
maxWidth
|
|
293
286
|
},
|
|
294
287
|
copy: copy,
|
|
@@ -298,7 +291,8 @@ const MultiSelectFilter = _ref3 => {
|
|
|
298
291
|
children: /*#__PURE__*/_jsx(View, {
|
|
299
292
|
style: styles.textContainerStyle,
|
|
300
293
|
children: /*#__PURE__*/_jsx(Typography, {
|
|
301
|
-
tokens: {
|
|
294
|
+
tokens: {
|
|
295
|
+
...headerStyles,
|
|
302
296
|
lineHeight: headerLineHeight
|
|
303
297
|
},
|
|
304
298
|
children: getCopy('filterByLabel').replace(/%\{filterCategory\}/g, label.toLowerCase())
|
|
@@ -309,7 +303,8 @@ const MultiSelectFilter = _ref3 => {
|
|
|
309
303
|
space: 5
|
|
310
304
|
}), /*#__PURE__*/_jsx(Row, {
|
|
311
305
|
children: /*#__PURE__*/_jsx(Typography, {
|
|
312
|
-
tokens: {
|
|
306
|
+
tokens: {
|
|
307
|
+
...subeHeaderStyles,
|
|
313
308
|
lineHeight: subHeaderLineHeight
|
|
314
309
|
},
|
|
315
310
|
children: subtitle
|
|
@@ -333,7 +328,8 @@ const MultiSelectFilter = _ref3 => {
|
|
|
333
328
|
}, i))
|
|
334
329
|
})
|
|
335
330
|
}), /*#__PURE__*/_jsx(Divider, {
|
|
336
|
-
variant: selectDividerToknes({
|
|
331
|
+
variant: selectDividerToknes({
|
|
332
|
+
...themeTokens,
|
|
337
333
|
width: 'full'
|
|
338
334
|
}),
|
|
339
335
|
space: 4
|
|
@@ -369,14 +365,14 @@ const MultiSelectFilter = _ref3 => {
|
|
|
369
365
|
})]
|
|
370
366
|
});
|
|
371
367
|
};
|
|
372
|
-
|
|
373
368
|
MultiSelectFilter.displayName = 'MultiSelectFilter';
|
|
374
369
|
const styles = StyleSheet.create({
|
|
375
370
|
textContainerStyle: {
|
|
376
371
|
marginRight: 52
|
|
377
372
|
}
|
|
378
|
-
});
|
|
373
|
+
});
|
|
379
374
|
|
|
375
|
+
// If a language dictionary entry is provided, it must contain every key
|
|
380
376
|
const dictionaryContentShape = PropTypes.shape({
|
|
381
377
|
filterByLabel: PropTypes.string.isRequired,
|
|
382
378
|
applyButtonLabel: PropTypes.string.isRequired,
|
|
@@ -387,28 +383,23 @@ MultiSelectFilter.propTypes = {
|
|
|
387
383
|
* The text displayed to the user in a ButtonDropdown.
|
|
388
384
|
*/
|
|
389
385
|
label: PropTypes.string.isRequired,
|
|
390
|
-
|
|
391
386
|
/**
|
|
392
387
|
* The text for the subtitle
|
|
393
388
|
*/
|
|
394
389
|
subtitle: PropTypes.string,
|
|
395
|
-
|
|
396
390
|
/**
|
|
397
391
|
* An optional unique string may be provided to identify the ButtonDropdown.
|
|
398
392
|
* If not provided, the label is used.
|
|
399
393
|
*/
|
|
400
394
|
id: PropTypes.string,
|
|
401
|
-
|
|
402
395
|
/**
|
|
403
396
|
* Sets the variant for ButtonDropdown element.
|
|
404
397
|
*/
|
|
405
398
|
variant: variantProp.propType,
|
|
406
|
-
|
|
407
399
|
/**
|
|
408
400
|
* Sets the tokens for MultiSelectFilter element.
|
|
409
401
|
*/
|
|
410
402
|
tokens: getTokensPropType('MultiSelectFilter'),
|
|
411
|
-
|
|
412
403
|
/**
|
|
413
404
|
* The options a user may select.
|
|
414
405
|
*/
|
|
@@ -417,14 +408,12 @@ MultiSelectFilter.propTypes = {
|
|
|
417
408
|
* The text displayed to the user with a checkbox, describing this option.
|
|
418
409
|
*/
|
|
419
410
|
label: PropTypes.string.isRequired,
|
|
420
|
-
|
|
421
411
|
/**
|
|
422
412
|
* An optional unique string may be provided to identify this option.
|
|
423
413
|
* If not provided, the label is used.
|
|
424
414
|
*/
|
|
425
415
|
id: PropTypes.string
|
|
426
416
|
})),
|
|
427
|
-
|
|
428
417
|
/**
|
|
429
418
|
* If the selected item(s) in the checkbox group(s) are to be controlled externally by
|
|
430
419
|
* a parent component, pass an array of strings as well as an `onChange` handler.
|
|
@@ -432,45 +421,37 @@ MultiSelectFilter.propTypes = {
|
|
|
432
421
|
* expects its state to be handled via `onChange` and so doesn't handle it itself.
|
|
433
422
|
*/
|
|
434
423
|
values: PropTypes.arrayOf(PropTypes.string),
|
|
435
|
-
|
|
436
424
|
/**
|
|
437
425
|
* If `values` is not passed, making the MultiSelectFilter an "uncontrolled" component
|
|
438
426
|
* managing its own selected state, a default set of selections may be provided.
|
|
439
427
|
* Changing the `initialValues` does not change the user's selections.
|
|
440
428
|
*/
|
|
441
429
|
initialValues: PropTypes.arrayOf(PropTypes.string),
|
|
442
|
-
|
|
443
430
|
/**
|
|
444
431
|
* If provided, sets a maximum number of items a user may select at once.
|
|
445
432
|
*/
|
|
446
433
|
maxValues: PropTypes.number,
|
|
447
|
-
|
|
448
434
|
/**
|
|
449
435
|
* If provided sets maxHeight to be active
|
|
450
436
|
*/
|
|
451
437
|
maxHeight: PropTypes.bool,
|
|
452
|
-
|
|
453
438
|
/**
|
|
454
439
|
* If provided, this function is called when the current selection is changed
|
|
455
440
|
* and is passed an array of the `id`s of all currently selected `items`.
|
|
456
441
|
*/
|
|
457
442
|
onChange: PropTypes.func,
|
|
458
|
-
|
|
459
443
|
/**
|
|
460
444
|
* If provided, this function is called when the selection is confirmed.
|
|
461
445
|
*/
|
|
462
446
|
onConfirm: PropTypes.func,
|
|
463
|
-
|
|
464
447
|
/**
|
|
465
448
|
* If provided, this function is called when `MultiSelectFilter` is closed.
|
|
466
449
|
* */
|
|
467
450
|
onCancel: PropTypes.func,
|
|
468
|
-
|
|
469
451
|
/**
|
|
470
452
|
* Select English or French copy for the accessible label.
|
|
471
453
|
*/
|
|
472
454
|
copy: PropTypes.oneOf(['en', 'fr']),
|
|
473
|
-
|
|
474
455
|
/**
|
|
475
456
|
* Custom dictionary containing the labels
|
|
476
457
|
*/
|
|
@@ -478,19 +459,16 @@ MultiSelectFilter.propTypes = {
|
|
|
478
459
|
en: dictionaryContentShape,
|
|
479
460
|
fr: dictionaryContentShape
|
|
480
461
|
}),
|
|
481
|
-
|
|
482
462
|
/**
|
|
483
463
|
* If true, the ButtonDropdown cannot be selected by the user and simply show their current state.
|
|
484
464
|
*/
|
|
485
465
|
readOnly: PropTypes.string,
|
|
486
|
-
|
|
487
466
|
/**
|
|
488
467
|
* If true, the MultiSelectFilter cannot be interacted with, ButtonDropdown is
|
|
489
468
|
* set as `disabled` and if the theme supports `inactive` appearances rules, these
|
|
490
469
|
* are applied.
|
|
491
470
|
*/
|
|
492
471
|
inactive: PropTypes.string,
|
|
493
|
-
|
|
494
472
|
/**
|
|
495
473
|
* Sets the maximum number of items in one column. If number of items are more
|
|
496
474
|
* than the `rowLimit`, they will be rendered in 2 columns.
|
|
@@ -11,14 +11,13 @@ import { useViewport } from '../ViewportProvider';
|
|
|
11
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
12
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
13
|
const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps]);
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
const selectContainerStyles = tokens => ({
|
|
15
|
+
...tokens
|
|
16
16
|
});
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
const selectTextStyles = (tokens, themeOptions) => applyTextStyles({
|
|
18
|
+
...selectTokens('Typography', tokens),
|
|
19
19
|
themeOptions
|
|
20
20
|
});
|
|
21
|
-
|
|
22
21
|
const selectIconProps = _ref => {
|
|
23
22
|
let {
|
|
24
23
|
iconSize,
|
|
@@ -29,7 +28,6 @@ const selectIconProps = _ref => {
|
|
|
29
28
|
color: iconColor
|
|
30
29
|
};
|
|
31
30
|
};
|
|
32
|
-
|
|
33
31
|
const selectIconContainerStyles = _ref2 => {
|
|
34
32
|
let {
|
|
35
33
|
iconGap
|
|
@@ -39,7 +37,6 @@ const selectIconContainerStyles = _ref2 => {
|
|
|
39
37
|
placeContent: 'center'
|
|
40
38
|
};
|
|
41
39
|
};
|
|
42
|
-
|
|
43
40
|
const selectDismissIconProps = _ref3 => {
|
|
44
41
|
let {
|
|
45
42
|
dismissIconSize,
|
|
@@ -50,7 +47,6 @@ const selectDismissIconProps = _ref3 => {
|
|
|
50
47
|
color: dismissIconColor
|
|
51
48
|
};
|
|
52
49
|
};
|
|
53
|
-
|
|
54
50
|
const selectDismissButtonContainerStyles = _ref4 => {
|
|
55
51
|
let {
|
|
56
52
|
dismissButtonGap
|
|
@@ -60,10 +56,10 @@ const selectDismissButtonContainerStyles = _ref4 => {
|
|
|
60
56
|
placeContent: 'center'
|
|
61
57
|
};
|
|
62
58
|
};
|
|
63
|
-
|
|
64
59
|
const selectContentContainerStyle = maxWidth => ({
|
|
65
60
|
width: maxWidth || '100%'
|
|
66
61
|
});
|
|
62
|
+
|
|
67
63
|
/**
|
|
68
64
|
* A banner that highlights important messages:
|
|
69
65
|
* - Status message to show there is an error or outage of services
|
|
@@ -115,8 +111,6 @@ const selectContentContainerStyle = maxWidth => ({
|
|
|
115
111
|
* Use full-width `Notifications` to show system-based messages coming from the application, not in response to user action.
|
|
116
112
|
* Show system notifications at the top of the page, below the navigation, and expands the full-width of the viewport
|
|
117
113
|
*/
|
|
118
|
-
|
|
119
|
-
|
|
120
114
|
const Notification = /*#__PURE__*/forwardRef((_ref5, ref) => {
|
|
121
115
|
let {
|
|
122
116
|
children,
|
|
@@ -141,11 +135,9 @@ const Notification = /*#__PURE__*/forwardRef((_ref5, ref) => {
|
|
|
141
135
|
themeOptions
|
|
142
136
|
} = useTheme();
|
|
143
137
|
const contentMaxWidth = useResponsiveProp(themeOptions === null || themeOptions === void 0 ? void 0 : themeOptions.contentMaxWidth);
|
|
144
|
-
|
|
145
138
|
if (isDismissed) {
|
|
146
139
|
return null;
|
|
147
140
|
}
|
|
148
|
-
|
|
149
141
|
const textStyles = selectTextStyles(themeTokens, themeOptions);
|
|
150
142
|
const content = wrapStringsInText(typeof children === 'function' ? children({
|
|
151
143
|
textStyles,
|
|
@@ -158,9 +150,7 @@ const Notification = /*#__PURE__*/forwardRef((_ref5, ref) => {
|
|
|
158
150
|
dismissIcon: DismissIconComponent,
|
|
159
151
|
dismissIconColor
|
|
160
152
|
} = themeTokens;
|
|
161
|
-
|
|
162
153
|
const onDismissPress = () => setIsDismissed(true);
|
|
163
|
-
|
|
164
154
|
return /*#__PURE__*/_jsx(View, {
|
|
165
155
|
ref: ref,
|
|
166
156
|
style: [staticStyles.container, selectContainerStyles(themeTokens)],
|
|
@@ -171,7 +161,8 @@ const Notification = /*#__PURE__*/forwardRef((_ref5, ref) => {
|
|
|
171
161
|
style: staticStyles.contentContainer,
|
|
172
162
|
children: [IconComponent && /*#__PURE__*/_jsx(View, {
|
|
173
163
|
style: selectIconContainerStyles(themeTokens),
|
|
174
|
-
children: /*#__PURE__*/_jsx(IconComponent, {
|
|
164
|
+
children: /*#__PURE__*/_jsx(IconComponent, {
|
|
165
|
+
...selectIconProps(themeTokens)
|
|
175
166
|
})
|
|
176
167
|
}), content && typeof content === 'function' ? content({
|
|
177
168
|
textStyles,
|
|
@@ -189,7 +180,8 @@ const Notification = /*#__PURE__*/forwardRef((_ref5, ref) => {
|
|
|
189
180
|
inverse: dismissIconColor === '#ffffff',
|
|
190
181
|
size: 'small'
|
|
191
182
|
},
|
|
192
|
-
children: () => /*#__PURE__*/_jsx(DismissIconComponent, {
|
|
183
|
+
children: () => /*#__PURE__*/_jsx(DismissIconComponent, {
|
|
184
|
+
...selectDismissIconProps(themeTokens)
|
|
193
185
|
})
|
|
194
186
|
})
|
|
195
187
|
})]
|
|
@@ -197,23 +189,20 @@ const Notification = /*#__PURE__*/forwardRef((_ref5, ref) => {
|
|
|
197
189
|
});
|
|
198
190
|
});
|
|
199
191
|
Notification.displayName = 'Notification';
|
|
200
|
-
Notification.propTypes = {
|
|
201
|
-
|
|
192
|
+
Notification.propTypes = {
|
|
193
|
+
...selectedSystemPropTypes,
|
|
202
194
|
/**
|
|
203
195
|
* Content of the `Notification`.
|
|
204
196
|
*/
|
|
205
197
|
children: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.func]),
|
|
206
|
-
|
|
207
198
|
/**
|
|
208
199
|
* Use `system` prop to set the visual style of the notification and denote an announcement from the system or application
|
|
209
200
|
*/
|
|
210
201
|
system: PropTypes.bool,
|
|
211
|
-
|
|
212
202
|
/**
|
|
213
203
|
* Use the `dismissible` prop to allow users to dismiss the Notification at any time.
|
|
214
204
|
*/
|
|
215
205
|
dismissible: PropTypes.bool,
|
|
216
|
-
|
|
217
206
|
/**
|
|
218
207
|
* Select English or French copy for the accessible label of the dismiss button.
|
|
219
208
|
*/
|
|
@@ -22,9 +22,7 @@ const PageButton = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
22
22
|
dictionary,
|
|
23
23
|
copy
|
|
24
24
|
});
|
|
25
|
-
|
|
26
25
|
const getButtonTokens = buttonState => selectTokens('Button', getTokens(buttonState));
|
|
27
|
-
|
|
28
26
|
const activeProps = isActive ? {
|
|
29
27
|
selected: true,
|
|
30
28
|
...a11yProps.nonFocusableProps,
|
|
@@ -56,18 +54,16 @@ const PageButton = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
56
54
|
});
|
|
57
55
|
});
|
|
58
56
|
PageButton.displayName = 'PageButton';
|
|
59
|
-
PageButton.propTypes = {
|
|
60
|
-
|
|
57
|
+
PageButton.propTypes = {
|
|
58
|
+
...linkProps.types,
|
|
61
59
|
/**
|
|
62
60
|
* To set custom label for the button
|
|
63
61
|
*/
|
|
64
62
|
label: PropTypes.string,
|
|
65
|
-
|
|
66
63
|
/**
|
|
67
64
|
* To set `PageButton` to active state
|
|
68
65
|
*/
|
|
69
66
|
isActive: PropTypes.bool,
|
|
70
|
-
|
|
71
67
|
/**
|
|
72
68
|
* To change the language for labels
|
|
73
69
|
*/
|
|
@@ -12,7 +12,6 @@ import SideButton from './SideButton';
|
|
|
12
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
13
|
import { createElement as _createElement } from "react";
|
|
14
14
|
const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps]);
|
|
15
|
-
|
|
16
15
|
const selectTextStyles = (_ref, themeOptions) => {
|
|
17
16
|
let {
|
|
18
17
|
color,
|
|
@@ -30,7 +29,6 @@ const selectTextStyles = (_ref, themeOptions) => {
|
|
|
30
29
|
themeOptions
|
|
31
30
|
});
|
|
32
31
|
};
|
|
33
|
-
|
|
34
32
|
const Pagination = /*#__PURE__*/forwardRef((_ref2, ref) => {
|
|
35
33
|
let {
|
|
36
34
|
children,
|
|
@@ -94,14 +92,14 @@ const Pagination = /*#__PURE__*/forwardRef((_ref2, ref) => {
|
|
|
94
92
|
borderColor
|
|
95
93
|
}
|
|
96
94
|
});
|
|
97
|
-
|
|
98
95
|
if (items.length === 0) {
|
|
99
96
|
return null;
|
|
100
|
-
}
|
|
101
|
-
// concatenate all items to easily wrap them in identical spacing components
|
|
102
|
-
|
|
97
|
+
}
|
|
103
98
|
|
|
104
|
-
|
|
99
|
+
// TODO: replace with a spacing component when https://github.com/telus/universal-design-system/pull/531 is implemented
|
|
100
|
+
// concatenate all items to easily wrap them in identical spacing components
|
|
101
|
+
const buttons = [showPrevious && /*#__PURE__*/_jsx(SideButton, {
|
|
102
|
+
...previousItemProps,
|
|
105
103
|
direction: "previous",
|
|
106
104
|
copy: copy,
|
|
107
105
|
variant: sideButtonVariant,
|
|
@@ -112,12 +110,13 @@ const Pagination = /*#__PURE__*/forwardRef((_ref2, ref) => {
|
|
|
112
110
|
const buttonLabel = `${itemIndex + 1}`;
|
|
113
111
|
const itemProps = getItemProps(itemIndex);
|
|
114
112
|
const ItemLinkRouter = itemProps.LinkRouter ?? LinkRouter;
|
|
115
|
-
const itemLinkRouterProps = {
|
|
113
|
+
const itemLinkRouterProps = {
|
|
114
|
+
...linkRouterProps,
|
|
116
115
|
...itemProps.linkRouterProps
|
|
117
116
|
};
|
|
118
|
-
|
|
119
117
|
if (shouldRenderButton(itemIndex)) {
|
|
120
|
-
return /*#__PURE__*/_createElement(PageButton, {
|
|
118
|
+
return /*#__PURE__*/_createElement(PageButton, {
|
|
119
|
+
...itemProps,
|
|
121
120
|
LinkRouter: ItemLinkRouter,
|
|
122
121
|
linkRouterProps: itemLinkRouterProps,
|
|
123
122
|
label: buttonLabel,
|
|
@@ -126,21 +125,22 @@ const Pagination = /*#__PURE__*/forwardRef((_ref2, ref) => {
|
|
|
126
125
|
key: buttonLabel
|
|
127
126
|
});
|
|
128
127
|
}
|
|
129
|
-
|
|
130
128
|
if (shouldRenderEllipsis(itemIndex)) {
|
|
131
129
|
return /*#__PURE__*/_jsx(View, {
|
|
132
|
-
style: {
|
|
130
|
+
style: {
|
|
131
|
+
...ellipisContainerStyles.container
|
|
133
132
|
},
|
|
134
133
|
children: /*#__PURE__*/_jsx(Text, {
|
|
135
|
-
style: {
|
|
134
|
+
style: {
|
|
135
|
+
...ellipsisTextStyles
|
|
136
136
|
},
|
|
137
137
|
children: "..."
|
|
138
138
|
})
|
|
139
139
|
}, "...");
|
|
140
140
|
}
|
|
141
|
-
|
|
142
141
|
return null;
|
|
143
|
-
}), showNext && /*#__PURE__*/_jsx(SideButton, {
|
|
142
|
+
}), showNext && /*#__PURE__*/_jsx(SideButton, {
|
|
143
|
+
...nextItemProps,
|
|
144
144
|
direction: "next",
|
|
145
145
|
copy: copy,
|
|
146
146
|
variant: sideButtonVariant,
|
|
@@ -149,7 +149,8 @@ const Pagination = /*#__PURE__*/forwardRef((_ref2, ref) => {
|
|
|
149
149
|
linkRouterProps: linkRouterProps
|
|
150
150
|
})];
|
|
151
151
|
return /*#__PURE__*/_jsx(View, {
|
|
152
|
-
style: {
|
|
152
|
+
style: {
|
|
153
|
+
...staticStyles.container
|
|
153
154
|
},
|
|
154
155
|
ref: ref,
|
|
155
156
|
...selectProps(rest),
|
|
@@ -163,7 +164,8 @@ const Pagination = /*#__PURE__*/forwardRef((_ref2, ref) => {
|
|
|
163
164
|
borderBottomWidth,
|
|
164
165
|
...staticStyles.container
|
|
165
166
|
},
|
|
166
|
-
children: buttons
|
|
167
|
+
children: buttons
|
|
168
|
+
// keep the keys in-line with the page numbers regardless of which buttons are actually rendered
|
|
167
169
|
.map((element, index) => [element, `page-${index + 1}`]).filter(_ref3 => {
|
|
168
170
|
let [element] = _ref3;
|
|
169
171
|
return element !== null;
|
|
@@ -180,22 +182,20 @@ const Pagination = /*#__PURE__*/forwardRef((_ref2, ref) => {
|
|
|
180
182
|
Pagination.displayName = 'Pagination';
|
|
181
183
|
PageButton.displayName = 'PageButton';
|
|
182
184
|
Pagination.PageButton = PageButton;
|
|
183
|
-
Pagination.propTypes = {
|
|
185
|
+
Pagination.propTypes = {
|
|
186
|
+
...selectedSystemPropTypes,
|
|
184
187
|
...withLinkRouter.propTypes,
|
|
185
188
|
children: componentPropType('PageButton'),
|
|
186
|
-
|
|
187
189
|
/**
|
|
188
190
|
* To change the language for labels
|
|
189
191
|
*/
|
|
190
192
|
copy: copyPropTypes,
|
|
191
193
|
variant: variantProp.propType,
|
|
192
194
|
tokens: getTokensPropType('Pagination'),
|
|
193
|
-
|
|
194
195
|
/**
|
|
195
196
|
* When passed as `{{ compact: true }}`, `Pagination` does not render labels along side buttons
|
|
196
197
|
*/
|
|
197
198
|
sideButtonVariant: variantProp.propType,
|
|
198
|
-
|
|
199
199
|
/**
|
|
200
200
|
* Custom tokens for `PaginationSideButton`
|
|
201
201
|
*/
|
|
@@ -7,12 +7,12 @@ import { useThemeTokensCallback } from '../ThemeProvider';
|
|
|
7
7
|
import { useViewport } from '../ViewportProvider';
|
|
8
8
|
import { copyPropTypes, hrefAttrsProp, linkProps, selectTokens, withLinkRouter } from '../utils';
|
|
9
9
|
import dictionary from './dictionary';
|
|
10
|
-
import useCopy from '../utils/useCopy';
|
|
10
|
+
import useCopy from '../utils/useCopy';
|
|
11
|
+
|
|
12
|
+
// We need to drop the icon here since it gets rendered via children and not
|
|
11
13
|
// `ButtonBase` in order to tap into the state of the button; `displayLabel` flag
|
|
12
14
|
// is also not needed
|
|
13
|
-
|
|
14
15
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
|
-
|
|
16
16
|
const selectButtonTokens = _ref => {
|
|
17
17
|
let {
|
|
18
18
|
icon: _,
|
|
@@ -21,7 +21,6 @@ const selectButtonTokens = _ref => {
|
|
|
21
21
|
} = _ref;
|
|
22
22
|
return selectTokens('Button', rest);
|
|
23
23
|
};
|
|
24
|
-
|
|
25
24
|
const selectIconTokens = (_ref2, direction) => {
|
|
26
25
|
let {
|
|
27
26
|
color,
|
|
@@ -34,7 +33,6 @@ const selectIconTokens = (_ref2, direction) => {
|
|
|
34
33
|
translateX: iconDisplace * (direction === 'previous' ? -1 : 1)
|
|
35
34
|
};
|
|
36
35
|
};
|
|
37
|
-
|
|
38
36
|
const directionToSide = {
|
|
39
37
|
previous: 'left',
|
|
40
38
|
next: 'right'
|
|
@@ -64,11 +62,8 @@ const SideButton = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
|
64
62
|
icon,
|
|
65
63
|
displayLabel
|
|
66
64
|
} = getTokens(tokens, buttonVariant);
|
|
67
|
-
|
|
68
65
|
const getButtonTokens = buttonState => selectButtonTokens(getTokens(buttonState));
|
|
69
|
-
|
|
70
66
|
const getIconTokens = buttonState => selectIconTokens(getTokens(buttonState), direction);
|
|
71
|
-
|
|
72
67
|
const label = direction === 'previous' ? getCopy('previousText') : getCopy('nextText');
|
|
73
68
|
const accessibilityLabel = direction === 'previous' ? getCopy('previousLabel') : getCopy('nextLabel');
|
|
74
69
|
const accessibilityRole = href !== undefined ? 'link' : 'button';
|
|
@@ -15,7 +15,6 @@ function usePagination(_ref) {
|
|
|
15
15
|
|
|
16
16
|
const getItemProps = index => {
|
|
17
17
|
var _items$index;
|
|
18
|
-
|
|
19
18
|
const {
|
|
20
19
|
onPress,
|
|
21
20
|
href,
|
|
@@ -31,33 +30,31 @@ function usePagination(_ref) {
|
|
|
31
30
|
tokens
|
|
32
31
|
};
|
|
33
32
|
};
|
|
34
|
-
|
|
35
33
|
const windowSize = truncateAbove > 4 ? 3 : 1;
|
|
36
34
|
const truncateEnabled = items.length > truncateAbove;
|
|
37
35
|
const truncateWindowStart = windowSize;
|
|
38
|
-
const truncateWindowEnd = items.length - 1 - windowSize;
|
|
36
|
+
const truncateWindowEnd = items.length - 1 - windowSize;
|
|
39
37
|
|
|
38
|
+
// basically how many items next to the currently active one do we want to render
|
|
40
39
|
const activeWindowStart = activeItemIndex - (windowSize - 1) / 2;
|
|
41
40
|
const activeWindowEnd = activeItemIndex + (windowSize - 1) / 2;
|
|
42
41
|
const isFirstActive = activeItemIndex === 0;
|
|
43
|
-
const isLastActive = activeItemIndex === items.length - 1;
|
|
42
|
+
const isLastActive = activeItemIndex === items.length - 1;
|
|
44
43
|
|
|
44
|
+
// start truncating when the active item is within the truncate window
|
|
45
45
|
const isLeftTruncated = truncateEnabled && activeItemIndex >= truncateWindowStart;
|
|
46
46
|
const isRightTruncated = truncateEnabled && activeItemIndex <= truncateWindowEnd;
|
|
47
|
-
|
|
48
47
|
function shouldRenderEllipsis(itemIndex) {
|
|
49
48
|
const isNextToFirst = itemIndex === 1;
|
|
50
49
|
const isNextToLast = itemIndex === items.length - 2;
|
|
51
50
|
return isLeftTruncated && isNextToFirst || isRightTruncated && isNextToLast;
|
|
52
51
|
}
|
|
53
|
-
|
|
54
52
|
function shouldRenderButton(itemIndex) {
|
|
55
53
|
const isFirst = itemIndex === 0;
|
|
56
54
|
const isLast = itemIndex === items.length - 1;
|
|
57
55
|
const isInActiveWindow = itemIndex >= activeWindowStart && itemIndex <= activeWindowEnd;
|
|
58
56
|
return isFirst || isLast || isInActiveWindow || !isLeftTruncated && itemIndex <= truncateWindowStart || !isRightTruncated && itemIndex >= truncateWindowEnd;
|
|
59
57
|
}
|
|
60
|
-
|
|
61
58
|
return {
|
|
62
59
|
showPrevious: !isFirstActive,
|
|
63
60
|
showNext: !isLastActive,
|
|
@@ -69,5 +66,4 @@ function usePagination(_ref) {
|
|
|
69
66
|
previousItemProps: getItemProps(activeItemIndex - 1)
|
|
70
67
|
};
|
|
71
68
|
}
|
|
72
|
-
|
|
73
69
|
export default usePagination;
|