@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
|
@@ -8,7 +8,6 @@ import { selectSystemProps, a11yProps, pressProps, viewProps, textProps, getToke
|
|
|
8
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
9
|
const [selectPressProps, pressPropTypes] = selectSystemProps([a11yProps, pressProps, viewProps]);
|
|
10
10
|
const [selectTextProps, textPropTypes] = selectSystemProps([textProps]);
|
|
11
|
-
|
|
12
11
|
const selectContainerStyles = _ref => {
|
|
13
12
|
let {
|
|
14
13
|
paddingLeft,
|
|
@@ -41,7 +40,6 @@ const selectContainerStyles = _ref => {
|
|
|
41
40
|
})
|
|
42
41
|
};
|
|
43
42
|
};
|
|
44
|
-
|
|
45
43
|
const selectTextStyles = _ref2 => {
|
|
46
44
|
let {
|
|
47
45
|
fontSize,
|
|
@@ -62,7 +60,6 @@ const selectTextStyles = _ref2 => {
|
|
|
62
60
|
color
|
|
63
61
|
});
|
|
64
62
|
};
|
|
65
|
-
|
|
66
63
|
const CarouselTabsPanelItem = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
67
64
|
let {
|
|
68
65
|
title,
|
|
@@ -79,25 +76,19 @@ const CarouselTabsPanelItem = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
|
79
76
|
const [isFocused, setIsFocused] = useState(false);
|
|
80
77
|
const disabled = (inactive || selected) && !isFocused;
|
|
81
78
|
const getTokens = useThemeTokensCallback('CarouselTabsPanelItem', tokens, variant);
|
|
82
|
-
|
|
83
79
|
const resolveTokens = pressState => getTokens(resolvePressableState(pressState, {
|
|
84
80
|
selected
|
|
85
81
|
}));
|
|
86
|
-
|
|
87
82
|
const getContainerStyle = pressState => selectContainerStyles(resolveTokens(pressState));
|
|
88
|
-
|
|
89
83
|
const getTextStyle = pressState => selectTextStyles(resolveTokens(pressState));
|
|
90
|
-
|
|
91
84
|
const {
|
|
92
85
|
onPress,
|
|
93
86
|
...selectedPressProps
|
|
94
87
|
} = selectPressProps(rest);
|
|
95
|
-
|
|
96
88
|
const handleKeyDown = event => {
|
|
97
89
|
// Allow using the spacebar for navigation
|
|
98
90
|
if ((event === null || event === void 0 ? void 0 : event.key) === ' ') onPress(event);
|
|
99
91
|
};
|
|
100
|
-
|
|
101
92
|
return /*#__PURE__*/_jsx(Pressable, {
|
|
102
93
|
onPress: onPress,
|
|
103
94
|
style: getContainerStyle,
|
|
@@ -116,7 +107,8 @@ const CarouselTabsPanelItem = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
|
116
107
|
});
|
|
117
108
|
});
|
|
118
109
|
CarouselTabsPanelItem.displayName = 'CarouselTabsPanelItem';
|
|
119
|
-
CarouselTabsPanelItem.propTypes = {
|
|
110
|
+
CarouselTabsPanelItem.propTypes = {
|
|
111
|
+
...pressPropTypes,
|
|
120
112
|
...textPropTypes,
|
|
121
113
|
title: PropTypes.string.isRequired,
|
|
122
114
|
selected: PropTypes.bool,
|
|
@@ -6,7 +6,6 @@ import { useCarousel } from './CarouselContext';
|
|
|
6
6
|
import { useThemeTokensCallback } from '../ThemeProvider';
|
|
7
7
|
import { useViewport } from '../ViewportProvider';
|
|
8
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
-
|
|
10
9
|
const selectPressableTokens = _ref => {
|
|
11
10
|
let {
|
|
12
11
|
borderColor,
|
|
@@ -23,12 +22,11 @@ const selectPressableTokens = _ref => {
|
|
|
23
22
|
padding
|
|
24
23
|
};
|
|
25
24
|
};
|
|
25
|
+
|
|
26
26
|
/**
|
|
27
27
|
* `Carousel.Thumbnail` is used to wrap the content of an individual slide and is suppsoed to be the
|
|
28
28
|
* only top-level component passed to the `Carousel`
|
|
29
29
|
*/
|
|
30
|
-
|
|
31
|
-
|
|
32
30
|
const CarouselThumbnail = _ref2 => {
|
|
33
31
|
let {
|
|
34
32
|
accessibilityLabel,
|
|
@@ -46,14 +44,11 @@ const CarouselThumbnail = _ref2 => {
|
|
|
46
44
|
const getThumbnailTokens = useThemeTokensCallback('CarouselThumbnail');
|
|
47
45
|
const viewport = useViewport();
|
|
48
46
|
const thumbnailTitle = alt ?? getCopyWithPlaceholders('stepTrackerLabel').replace(/%\{itemLabel\}/g, itemLabel).replace(/%\{stepNumber\}/g, index).replace(/%\{stepCount\}/g, totalItems);
|
|
49
|
-
|
|
50
47
|
const handlePress = () => goTo(index);
|
|
51
|
-
|
|
52
48
|
const handleKeyDown = event => {
|
|
53
49
|
// Allow using the spacebar for navigation
|
|
54
50
|
if ((event === null || event === void 0 ? void 0 : event.key) === ' ') goTo(index);
|
|
55
51
|
};
|
|
56
|
-
|
|
57
52
|
const {
|
|
58
53
|
borderWidth,
|
|
59
54
|
padding,
|
|
@@ -101,7 +96,6 @@ const CarouselThumbnail = _ref2 => {
|
|
|
101
96
|
})
|
|
102
97
|
}, src);
|
|
103
98
|
};
|
|
104
|
-
|
|
105
99
|
CarouselThumbnail.propTypes = {
|
|
106
100
|
accessibilityLabel: PropTypes.string,
|
|
107
101
|
alt: PropTypes.string,
|
|
@@ -20,11 +20,9 @@ const CarouselThumbnailNavigation = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
20
20
|
const {
|
|
21
21
|
totalItems
|
|
22
22
|
} = useCarousel();
|
|
23
|
-
|
|
24
23
|
if (thumbnails.length !== totalItems) {
|
|
25
24
|
throw new Error('Thumbnail set provided does not match the number of slides in the carousel');
|
|
26
25
|
}
|
|
27
|
-
|
|
28
26
|
const {
|
|
29
27
|
containerPaddingTop: thumbnailContainerPaddingTop,
|
|
30
28
|
margin: thumbnailMargin
|
|
@@ -15,7 +15,6 @@ import useUniqueId from '../utils/useUniqueId';
|
|
|
15
15
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
16
16
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
17
|
const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, focusHandlerProps, viewProps]);
|
|
18
|
-
|
|
19
18
|
const selectInputStyles = (_ref, isChecked) => {
|
|
20
19
|
let {
|
|
21
20
|
iconBackgroundColor,
|
|
@@ -48,7 +47,6 @@ const selectInputStyles = (_ref, isChecked) => {
|
|
|
48
47
|
})
|
|
49
48
|
};
|
|
50
49
|
};
|
|
51
|
-
|
|
52
50
|
const selectLabelStyles = (_ref2, themeOptions) => {
|
|
53
51
|
let {
|
|
54
52
|
labelColor,
|
|
@@ -70,7 +68,6 @@ const selectLabelStyles = (_ref2, themeOptions) => {
|
|
|
70
68
|
})
|
|
71
69
|
};
|
|
72
70
|
};
|
|
73
|
-
|
|
74
71
|
const selectIconTokens = _ref3 => {
|
|
75
72
|
let {
|
|
76
73
|
icon,
|
|
@@ -83,7 +80,6 @@ const selectIconTokens = _ref3 => {
|
|
|
83
80
|
size: iconSize
|
|
84
81
|
};
|
|
85
82
|
};
|
|
86
|
-
|
|
87
83
|
const selectFeedbackTokens = _ref4 => {
|
|
88
84
|
let {
|
|
89
85
|
feedbackMarginBottom,
|
|
@@ -96,6 +92,7 @@ const selectFeedbackTokens = _ref4 => {
|
|
|
96
92
|
feedbackMarginTop
|
|
97
93
|
};
|
|
98
94
|
};
|
|
95
|
+
|
|
99
96
|
/**
|
|
100
97
|
* Basic Checkbox component.
|
|
101
98
|
*
|
|
@@ -131,8 +128,6 @@ const selectFeedbackTokens = _ref4 => {
|
|
|
131
128
|
* or the internal state in case of uncontrolled checkbox.
|
|
132
129
|
*
|
|
133
130
|
*/
|
|
134
|
-
|
|
135
|
-
|
|
136
131
|
const Checkbox = /*#__PURE__*/forwardRef((_ref5, ref) => {
|
|
137
132
|
let {
|
|
138
133
|
checked,
|
|
@@ -176,18 +171,15 @@ const Checkbox = /*#__PURE__*/forwardRef((_ref5, ref) => {
|
|
|
176
171
|
marginBottom: feedbackMarginBottom
|
|
177
172
|
}
|
|
178
173
|
});
|
|
179
|
-
|
|
180
174
|
const handleChange = event => {
|
|
181
175
|
if (!inactive) {
|
|
182
176
|
setIsChecked(!isChecked, event);
|
|
183
177
|
}
|
|
184
178
|
};
|
|
185
|
-
|
|
186
179
|
const handleKeyDown = event => {
|
|
187
180
|
// The expected keyboard shortcut for activating a checkbox is the Space key
|
|
188
181
|
if ((event === null || event === void 0 ? void 0 : event.key) === ' ') handleChange(event);
|
|
189
182
|
};
|
|
190
|
-
|
|
191
183
|
const uniqueId = useUniqueId('checkbox');
|
|
192
184
|
const inputId = id ?? uniqueId;
|
|
193
185
|
const {
|
|
@@ -248,7 +240,8 @@ const Checkbox = /*#__PURE__*/forwardRef((_ref5, ref) => {
|
|
|
248
240
|
value: value
|
|
249
241
|
}), isChecked && IconComponent && /*#__PURE__*/_jsx(View, {
|
|
250
242
|
testID: "Checkbox-Icon",
|
|
251
|
-
children: /*#__PURE__*/_jsx(IconComponent, {
|
|
243
|
+
children: /*#__PURE__*/_jsx(IconComponent, {
|
|
244
|
+
...iconTokens
|
|
252
245
|
})
|
|
253
246
|
})]
|
|
254
247
|
})
|
|
@@ -275,63 +268,52 @@ const Checkbox = /*#__PURE__*/forwardRef((_ref5, ref) => {
|
|
|
275
268
|
});
|
|
276
269
|
});
|
|
277
270
|
Checkbox.displayName = 'Checkbox';
|
|
278
|
-
Checkbox.propTypes = {
|
|
279
|
-
|
|
271
|
+
Checkbox.propTypes = {
|
|
272
|
+
...selectedSystemPropTypes,
|
|
280
273
|
/**
|
|
281
274
|
* Use `checked` for controlled Checkbox. For uncontrolled Checkbox, use the `defaultChecked` prop.
|
|
282
275
|
*/
|
|
283
276
|
checked: PropTypes.bool,
|
|
284
|
-
|
|
285
277
|
/**
|
|
286
278
|
* Use `defaultChecked` to provide the initial value for an uncontrolled Checkbox.
|
|
287
279
|
*/
|
|
288
280
|
defaultChecked: PropTypes.bool,
|
|
289
|
-
|
|
290
281
|
/**
|
|
291
282
|
* A detailed description of related validation error or additional instructions (depending on the `error` prop).
|
|
292
283
|
*/
|
|
293
284
|
feedback: PropTypes.string,
|
|
294
|
-
|
|
295
285
|
/**
|
|
296
286
|
* Checkbox ID.
|
|
297
287
|
*/
|
|
298
288
|
id: PropTypes.string,
|
|
299
|
-
|
|
300
289
|
/**
|
|
301
290
|
* Whether the corresponding input is disabled or active.
|
|
302
291
|
*/
|
|
303
292
|
inactive: PropTypes.bool,
|
|
304
|
-
|
|
305
293
|
/**
|
|
306
294
|
* The label.
|
|
307
295
|
*/
|
|
308
296
|
label: PropTypes.string,
|
|
309
|
-
|
|
310
297
|
/**
|
|
311
298
|
* Associate this checkbox with a group (set as the name attribute).
|
|
312
299
|
*/
|
|
313
300
|
name: PropTypes.string,
|
|
314
|
-
|
|
315
301
|
/**
|
|
316
302
|
* Whether the underlying input triggered a validation error or not.
|
|
317
303
|
*/
|
|
318
304
|
error: PropTypes.bool,
|
|
319
|
-
|
|
320
305
|
/**
|
|
321
306
|
* The value. Must be unique within the group.
|
|
322
307
|
*/
|
|
323
308
|
value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.bool]),
|
|
324
|
-
|
|
325
309
|
/**
|
|
326
310
|
* Callback called when a controlled checkbox gets interacted with.
|
|
327
311
|
*/
|
|
328
312
|
onChange: PropTypes.func,
|
|
329
|
-
|
|
330
313
|
/**
|
|
331
314
|
* Checkbox tokens.
|
|
332
315
|
*/
|
|
333
316
|
tokens: getTokensPropType('Checkbox'),
|
|
334
|
-
|
|
335
317
|
/**
|
|
336
318
|
* Checkbox variant.
|
|
337
319
|
*/
|
|
@@ -9,7 +9,6 @@ import { a11yProps, getTokensSetPropType, selectSystemProps, selectTokens, viewP
|
|
|
9
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
10
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
11
|
const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps]);
|
|
12
|
-
|
|
13
12
|
const selectInputStyles = (_ref, isChecked) => {
|
|
14
13
|
let {
|
|
15
14
|
iconBackgroundColor,
|
|
@@ -42,7 +41,6 @@ const selectInputStyles = (_ref, isChecked) => {
|
|
|
42
41
|
})
|
|
43
42
|
};
|
|
44
43
|
};
|
|
45
|
-
|
|
46
44
|
const selectIconTokens = _ref2 => {
|
|
47
45
|
let {
|
|
48
46
|
icon,
|
|
@@ -55,14 +53,13 @@ const selectIconTokens = _ref2 => {
|
|
|
55
53
|
size: iconSize
|
|
56
54
|
};
|
|
57
55
|
};
|
|
58
|
-
|
|
59
56
|
const tokenKeys = ['checkedBackgroundColor', 'checkedSize', 'inputBackgroundColor', 'inputBorderColor', 'inputBorderWidth', 'inputOutlineColor', 'inputOutlineWidth', 'inputSize', 'outerBorderColor', 'outerBorderWidth', 'outerBorderGap', 'inputSize'];
|
|
60
57
|
export const selectCheckboxTokens = (themeTokens, prefix) => selectTokens(tokenKeys, themeTokens, prefix);
|
|
58
|
+
|
|
61
59
|
/**
|
|
62
60
|
* The visual toggle of a checkbox input. Is not interactive on its own, should be used inside
|
|
63
61
|
* an interactive parent that passes down props when interacted with. Used in CheckboxCard
|
|
64
62
|
*/
|
|
65
|
-
|
|
66
63
|
const CheckboxButton = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
67
64
|
let {
|
|
68
65
|
isChecked,
|
|
@@ -84,7 +81,8 @@ const CheckboxButton = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
|
84
81
|
checked: isChecked
|
|
85
82
|
});
|
|
86
83
|
const iconTokens = selectIconTokens(stateTokens);
|
|
87
|
-
return /*#__PURE__*/_jsx(View, {
|
|
84
|
+
return /*#__PURE__*/_jsx(View, {
|
|
85
|
+
...selectProps(rest),
|
|
88
86
|
children: /*#__PURE__*/_jsxs(View, {
|
|
89
87
|
style: [staticStyles.defaultInputStyles, selectInputStyles(stateTokens, isChecked)],
|
|
90
88
|
testID: inputId,
|
|
@@ -100,62 +98,54 @@ const CheckboxButton = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
|
100
98
|
value: value
|
|
101
99
|
}), isChecked && IconComponent && /*#__PURE__*/_jsx(View, {
|
|
102
100
|
testID: iconId,
|
|
103
|
-
children: /*#__PURE__*/_jsx(IconComponent, {
|
|
101
|
+
children: /*#__PURE__*/_jsx(IconComponent, {
|
|
102
|
+
...iconTokens
|
|
104
103
|
})
|
|
105
104
|
})]
|
|
106
105
|
})
|
|
107
106
|
});
|
|
108
107
|
});
|
|
109
108
|
CheckboxButton.displayName = 'CheckboxButton';
|
|
110
|
-
CheckboxButton.propTypes = {
|
|
111
|
-
|
|
109
|
+
CheckboxButton.propTypes = {
|
|
110
|
+
...selectedSystemPropTypes,
|
|
112
111
|
/**
|
|
113
112
|
* Use `checked` for controlled Checkbox. For uncontrolled Checkbox, use the `defaultChecked` prop.
|
|
114
113
|
*/
|
|
115
114
|
isChecked: PropTypes.bool,
|
|
116
|
-
|
|
117
115
|
/**
|
|
118
116
|
* Checkbox tokens.
|
|
119
117
|
*/
|
|
120
118
|
tokens: getTokensSetPropType(tokenKeys, {
|
|
121
119
|
allowFunction: true
|
|
122
120
|
}),
|
|
123
|
-
|
|
124
121
|
/**
|
|
125
122
|
* Whether the corresponding input is disabled or active.
|
|
126
123
|
*/
|
|
127
124
|
inactive: PropTypes.bool,
|
|
128
|
-
|
|
129
125
|
/**
|
|
130
126
|
* Use `defaultChecked` to provide the initial value for an uncontrolled Checkbox.
|
|
131
127
|
*/
|
|
132
128
|
defaultChecked: PropTypes.bool,
|
|
133
|
-
|
|
134
129
|
/**
|
|
135
130
|
* Checkbox input ID.
|
|
136
131
|
*/
|
|
137
132
|
inputId: PropTypes.string,
|
|
138
|
-
|
|
139
133
|
/**
|
|
140
134
|
* Checkbox icon ID.
|
|
141
135
|
*/
|
|
142
136
|
iconId: PropTypes.string,
|
|
143
|
-
|
|
144
137
|
/**
|
|
145
138
|
* Can control the checkbox on the card.
|
|
146
139
|
*/
|
|
147
140
|
isControlled: PropTypes.bool,
|
|
148
|
-
|
|
149
141
|
/**
|
|
150
142
|
* Callback called when a controlled checkbox gets interacted with.
|
|
151
143
|
*/
|
|
152
144
|
handleChange: PropTypes.func,
|
|
153
|
-
|
|
154
145
|
/**
|
|
155
146
|
* Associate this checkbox with a group (set as the name attribute).
|
|
156
147
|
*/
|
|
157
148
|
name: PropTypes.string,
|
|
158
|
-
|
|
159
149
|
/**
|
|
160
150
|
* The value of the checkbox: true or false
|
|
161
151
|
*/
|
|
@@ -10,6 +10,7 @@ import Fieldset from '../Fieldset';
|
|
|
10
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
11
|
const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps]);
|
|
12
12
|
const [selectItemProps, selectedItemPropTypes] = selectSystemProps([a11yProps, focusHandlerProps, viewProps]);
|
|
13
|
+
|
|
13
14
|
/**
|
|
14
15
|
* A group of Checkboxs that behave as a fieldset. Use when users select any number of choices from options.
|
|
15
16
|
*
|
|
@@ -57,7 +58,6 @@ const [selectItemProps, selectedItemPropTypes] = selectSystemProps([a11yProps, f
|
|
|
57
58
|
* />
|
|
58
59
|
* ```
|
|
59
60
|
*/
|
|
60
|
-
|
|
61
61
|
const CheckboxGroup = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
62
62
|
let {
|
|
63
63
|
tokens,
|
|
@@ -92,6 +92,14 @@ const CheckboxGroup = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
92
92
|
} = useThemeTokens('CheckboxGroup', tokens, variant, {
|
|
93
93
|
viewport
|
|
94
94
|
});
|
|
95
|
+
const borderTokens = {
|
|
96
|
+
outlineWidth,
|
|
97
|
+
borderTopLeftRadius,
|
|
98
|
+
borderTopRightRadius,
|
|
99
|
+
borderBottomLeftRadius,
|
|
100
|
+
borderBottomRightRadius,
|
|
101
|
+
outlineOffset
|
|
102
|
+
};
|
|
95
103
|
const {
|
|
96
104
|
currentValues,
|
|
97
105
|
toggleOneValue
|
|
@@ -102,11 +110,9 @@ const CheckboxGroup = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
102
110
|
readOnly: readOnly || inactive
|
|
103
111
|
});
|
|
104
112
|
const uniqueFields = ['id', 'label'];
|
|
105
|
-
|
|
106
113
|
if (!containUniqueFields(items, uniqueFields)) {
|
|
107
114
|
throw new Error(`CheckboxGroup items must have unique ${uniqueFields.join(', ')}`);
|
|
108
115
|
}
|
|
109
|
-
|
|
110
116
|
const checkboxes = items.map((_ref2, index) => {
|
|
111
117
|
let {
|
|
112
118
|
label,
|
|
@@ -116,12 +122,10 @@ const CheckboxGroup = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
116
122
|
...itemRest
|
|
117
123
|
} = _ref2;
|
|
118
124
|
const checkboxId = id || `Checkbox[${index}]`;
|
|
119
|
-
|
|
120
125
|
const handleChange = (newCheckedState, event) => {
|
|
121
126
|
if (typeof itemOnChange === 'function') itemOnChange(newCheckedState, event);
|
|
122
127
|
toggleOneValue(checkboxId, event);
|
|
123
128
|
};
|
|
124
|
-
|
|
125
129
|
return /*#__PURE__*/_jsx(Checkbox, {
|
|
126
130
|
ref: itemRef,
|
|
127
131
|
id: checkboxId,
|
|
@@ -147,14 +151,7 @@ const CheckboxGroup = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
147
151
|
inactive: inactive,
|
|
148
152
|
validation: validation,
|
|
149
153
|
showErrorBorder: true,
|
|
150
|
-
tokens:
|
|
151
|
-
outlineWidth,
|
|
152
|
-
borderTopLeftRadius,
|
|
153
|
-
borderTopRightRadius,
|
|
154
|
-
borderBottomLeftRadius,
|
|
155
|
-
borderBottomRightRadius,
|
|
156
|
-
outlineOffset
|
|
157
|
-
},
|
|
154
|
+
tokens: borderTokens,
|
|
158
155
|
showIcon: showIcon,
|
|
159
156
|
...selectProps(rest),
|
|
160
157
|
children: getStackedContent(checkboxes, {
|
|
@@ -164,91 +161,77 @@ const CheckboxGroup = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
164
161
|
});
|
|
165
162
|
});
|
|
166
163
|
CheckboxGroup.displayName = 'CheckboxGroup';
|
|
167
|
-
CheckboxGroup.propTypes = {
|
|
168
|
-
|
|
164
|
+
CheckboxGroup.propTypes = {
|
|
165
|
+
...selectedSystemPropTypes,
|
|
169
166
|
/**
|
|
170
167
|
* Optional theme token overrides for the outer CheckboxGroup component
|
|
171
168
|
*/
|
|
172
169
|
tokens: getTokensPropType('CheckboxGroup'),
|
|
173
|
-
|
|
174
170
|
/**
|
|
175
171
|
* Optional theme token overrides for each inner Checkbox component
|
|
176
172
|
*/
|
|
177
173
|
radioTokens: getTokensPropType('Checkbox'),
|
|
178
|
-
|
|
179
174
|
/**
|
|
180
175
|
* Theme variants, shared between both CheckboxGroup and Checkbox
|
|
181
176
|
*/
|
|
182
177
|
variant: variantProp.propType,
|
|
183
|
-
|
|
184
178
|
/**
|
|
185
179
|
* Array of objects containing specifics for each Checkbox to be rendered in the group.
|
|
186
180
|
*/
|
|
187
|
-
items: PropTypes.arrayOf(PropTypes.exact({
|
|
181
|
+
items: PropTypes.arrayOf(PropTypes.exact({
|
|
182
|
+
...selectedItemPropTypes,
|
|
188
183
|
label: PropTypes.string,
|
|
189
184
|
id: PropTypes.string,
|
|
190
185
|
onChange: PropTypes.func,
|
|
191
186
|
ref: ABBPropTypes.ref()
|
|
192
187
|
})),
|
|
193
|
-
|
|
194
188
|
/**
|
|
195
189
|
* Main text used to describe this group, used in Fieldset's Legend element.
|
|
196
190
|
*/
|
|
197
191
|
legend: PropTypes.string,
|
|
198
|
-
|
|
199
192
|
/**
|
|
200
193
|
* Optional additional text giving more detail to help a user make a choice.
|
|
201
194
|
*/
|
|
202
195
|
hint: PropTypes.string,
|
|
203
|
-
|
|
204
196
|
/**
|
|
205
197
|
* Position of the hint relative to label. Use `below` to display a larger hint below the label.
|
|
206
198
|
*/
|
|
207
199
|
hintPosition: PropTypes.oneOf(['inline', 'below']),
|
|
208
|
-
|
|
209
200
|
/**
|
|
210
201
|
* Optional tooltip text content to include alongside the legend and hint.
|
|
211
202
|
*/
|
|
212
203
|
tooltip: PropTypes.string,
|
|
213
|
-
|
|
214
204
|
/**
|
|
215
205
|
* Current validation status of the group, passed to the feedback element if there is one.
|
|
216
206
|
*/
|
|
217
207
|
validation: PropTypes.oneOf(['error', 'success']),
|
|
218
|
-
|
|
219
208
|
/**
|
|
220
209
|
* If provided, a Feedback element is rendered containing this text.
|
|
221
210
|
*/
|
|
222
211
|
feedback: PropTypes.string,
|
|
223
|
-
|
|
224
212
|
/**
|
|
225
213
|
* If provided, the checkboxed with this ids are selected on first render.
|
|
226
214
|
*/
|
|
227
215
|
initialCheckedIds: PropTypes.arrayOf(PropTypes.string),
|
|
228
|
-
|
|
229
216
|
/**
|
|
230
217
|
* If not undefined, the checkboxes with these ids is selected, and the
|
|
231
218
|
* element's selection state will be controlled by its parent using the `onChange` function.
|
|
232
219
|
*/
|
|
233
220
|
checkedIds: PropTypes.arrayOf(PropTypes.string),
|
|
234
|
-
|
|
235
221
|
/**
|
|
236
222
|
* Function to call on change in selection state. Is required if the selection state is controlled
|
|
237
223
|
* by a parent using checkedId and the input is not readOnly.
|
|
238
224
|
*/
|
|
239
225
|
onChange: PropTypes.func,
|
|
240
|
-
|
|
241
226
|
/**
|
|
242
227
|
* If true, the checkboxes cannot be selected by the user and simply show their current state.
|
|
243
228
|
*/
|
|
244
229
|
readOnly: PropTypes.bool,
|
|
245
|
-
|
|
246
230
|
/**
|
|
247
231
|
* If true, the checkboxes cannot be interacted with, elements are set as `disabled` and if the
|
|
248
232
|
* theme supports `inactive` appearances rules, these are applied.
|
|
249
233
|
*/
|
|
250
234
|
inactive: PropTypes.bool,
|
|
251
|
-
|
|
252
235
|
/**
|
|
253
236
|
* On Web, this is passed to the `name` attribute of the fieldset and each checkbox input.
|
|
254
237
|
*/
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React, { forwardRef } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
+
|
|
3
4
|
/**
|
|
4
5
|
* On Web we need to include an actual input but hide it.
|
|
5
6
|
*/
|
|
6
|
-
|
|
7
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
8
|
const CheckboxInput = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
9
9
|
let {
|
|
@@ -16,14 +16,12 @@ const CheckboxInput = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
16
16
|
onChange,
|
|
17
17
|
value
|
|
18
18
|
} = _ref;
|
|
19
|
-
|
|
20
19
|
const handleClick = event => {
|
|
21
20
|
// Cancel the click dispatched via the label tag, since it's already wrapped
|
|
22
21
|
// in <Pressable>
|
|
23
22
|
event.preventDefault();
|
|
24
23
|
event.stopPropagation();
|
|
25
24
|
};
|
|
26
|
-
|
|
27
25
|
return /*#__PURE__*/_jsx("input", {
|
|
28
26
|
checked: isControlled ? checked : undefined,
|
|
29
27
|
defaultChecked: isControlled ? undefined : defaultChecked,
|
|
@@ -36,21 +36,17 @@ const CheckboxCard = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
36
36
|
initialValue: defaultChecked,
|
|
37
37
|
onChange
|
|
38
38
|
});
|
|
39
|
-
|
|
40
39
|
const handleChange = event => {
|
|
41
40
|
if (!inactive) {
|
|
42
41
|
setIsChecked(!isChecked, event);
|
|
43
42
|
}
|
|
44
43
|
};
|
|
45
|
-
|
|
46
44
|
const uniqueId = useUniqueId('CheckboxCard');
|
|
47
45
|
const inputId = id ?? uniqueId;
|
|
48
46
|
const uniqueIconId = useUniqueId('CheckboxIcon');
|
|
49
47
|
const iconCheckboxId = iconId ?? uniqueIconId;
|
|
50
48
|
const getTokens = useThemeTokensCallback('CheckboxCard', tokens, variant);
|
|
51
|
-
|
|
52
49
|
const getCardTokens = cardState => selectPressableCardTokens(getTokens(cardState));
|
|
53
|
-
|
|
54
50
|
const {
|
|
55
51
|
themeOptions
|
|
56
52
|
} = useTheme();
|
|
@@ -77,7 +73,8 @@ const CheckboxCard = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
77
73
|
} = getTokens(cardState);
|
|
78
74
|
const checkboxTokens = selectCheckboxTokens(themeTokens, 'checkbox');
|
|
79
75
|
const titleTokens = selectTokens('Typography', themeTokens);
|
|
80
|
-
const textStyle = applyTextStyles({
|
|
76
|
+
const textStyle = applyTextStyles({
|
|
77
|
+
...titleTokens,
|
|
81
78
|
themeOptions
|
|
82
79
|
});
|
|
83
80
|
return /*#__PURE__*/_jsxs(StackView, {
|
|
@@ -115,78 +112,64 @@ const CheckboxCard = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
115
112
|
});
|
|
116
113
|
});
|
|
117
114
|
CheckboxCard.displayName = 'CheckboxCard';
|
|
118
|
-
CheckboxCard.propTypes = {
|
|
119
|
-
|
|
115
|
+
CheckboxCard.propTypes = {
|
|
116
|
+
...selectedSystemPropTypes,
|
|
120
117
|
/**
|
|
121
118
|
* Content to be displayed at the top of the card alongside the checkbox
|
|
122
119
|
*/
|
|
123
120
|
title: PropTypes.string,
|
|
124
|
-
|
|
125
121
|
/**
|
|
126
122
|
* Additional content to be displayed below the checkbox.
|
|
127
123
|
*/
|
|
128
124
|
children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
|
|
129
|
-
|
|
130
125
|
/**
|
|
131
126
|
* Use `checked` for controlled checkbox. For uncontrolled checkbox, use the `defaultChecked` prop.
|
|
132
127
|
*/
|
|
133
128
|
checked: PropTypes.bool,
|
|
134
|
-
|
|
135
129
|
/**
|
|
136
130
|
* Use `defaultChecked` to provide the initial value for an uncontrolled checkbox.
|
|
137
131
|
*/
|
|
138
132
|
defaultChecked: PropTypes.bool,
|
|
139
|
-
|
|
140
133
|
/**
|
|
141
134
|
* An optional checkboxdescription.
|
|
142
135
|
*/
|
|
143
136
|
description: PropTypes.string,
|
|
144
|
-
|
|
145
137
|
/**
|
|
146
138
|
* Checkbox card ID.
|
|
147
139
|
*/
|
|
148
140
|
id: PropTypes.string,
|
|
149
|
-
|
|
150
141
|
/**
|
|
151
142
|
* Checkbox icon ID.
|
|
152
143
|
*/
|
|
153
144
|
iconId: PropTypes.string,
|
|
154
|
-
|
|
155
145
|
/**
|
|
156
146
|
* Whether the corresponding input is disabled or active.
|
|
157
147
|
*/
|
|
158
148
|
inactive: PropTypes.bool,
|
|
159
|
-
|
|
160
149
|
/**
|
|
161
150
|
* The label.
|
|
162
151
|
*/
|
|
163
152
|
label: PropTypes.string,
|
|
164
|
-
|
|
165
153
|
/**
|
|
166
154
|
* Associate this checkbox card with a group (set as the name attribute).
|
|
167
155
|
*/
|
|
168
156
|
name: PropTypes.string,
|
|
169
|
-
|
|
170
157
|
/**
|
|
171
158
|
* Whether the underlying input triggered a validation error or not.
|
|
172
159
|
*/
|
|
173
160
|
error: PropTypes.bool,
|
|
174
|
-
|
|
175
161
|
/**
|
|
176
162
|
* The value. Must be unique within the group.
|
|
177
163
|
*/
|
|
178
164
|
value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.bool]),
|
|
179
|
-
|
|
180
165
|
/**
|
|
181
166
|
* Callback called when a controlled checkbox card gets interacted with.
|
|
182
167
|
*/
|
|
183
168
|
onChange: PropTypes.func,
|
|
184
|
-
|
|
185
169
|
/**
|
|
186
170
|
* checkbox card tokens.
|
|
187
171
|
*/
|
|
188
172
|
tokens: getTokensPropType('CheckboxCard'),
|
|
189
|
-
|
|
190
173
|
/**
|
|
191
174
|
* checkbox variant.
|
|
192
175
|
*/
|