@telus-uds/components-base 1.65.0 → 1.67.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -2
- package/lib/A11yInfoProvider/index.js +5 -20
- package/lib/A11yText/index.js +3 -17
- package/lib/ActivityIndicator/Spinner.js +2 -9
- package/lib/ActivityIndicator/Spinner.native.js +4 -27
- package/lib/ActivityIndicator/index.js +1 -13
- package/lib/ActivityIndicator/shared.js +0 -3
- package/lib/Autocomplete/Autocomplete.js +34 -85
- package/lib/Autocomplete/Loading.js +0 -10
- package/lib/Autocomplete/Suggestions.js +0 -11
- package/lib/Autocomplete/index.js +0 -3
- package/lib/BaseProvider/HydrationContext.js +4 -18
- package/lib/BaseProvider/index.js +0 -12
- package/lib/Box/Box.js +10 -35
- package/lib/Box/index.js +0 -3
- package/lib/Button/Button.js +4 -13
- package/lib/Button/ButtonBase.js +23 -55
- package/lib/Button/ButtonDropdown.js +7 -32
- package/lib/Button/ButtonGroup.js +15 -48
- package/lib/Button/ButtonLink.js +3 -17
- package/lib/Button/index.js +0 -5
- package/lib/Button/propTypes.js +0 -15
- package/lib/Card/Card.js +3 -14
- package/lib/Card/CardBase.js +5 -16
- package/lib/Card/PressableCardBase.js +7 -30
- package/lib/Card/index.js +0 -7
- package/lib/Carousel/Carousel.js +22 -115
- package/lib/Carousel/CarouselContext.js +0 -14
- package/lib/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +6 -18
- package/lib/Carousel/CarouselItem/CarouselItem.js +5 -20
- package/lib/Carousel/CarouselItem/index.js +0 -3
- package/lib/Carousel/CarouselStepTracker/CarouselStepTracker.js +0 -9
- package/lib/Carousel/CarouselStepTracker/index.js +0 -3
- package/lib/Carousel/CarouselTabs/CarouselTabs.js +5 -15
- package/lib/Carousel/CarouselTabs/CarouselTabsPanel.js +7 -16
- package/lib/Carousel/CarouselTabs/CarouselTabsPanelItem.js +2 -22
- package/lib/Carousel/CarouselTabs/index.js +0 -3
- package/lib/Carousel/CarouselThumbnail.js +1 -16
- package/lib/Carousel/CarouselThumbnailNavigation.js +0 -15
- package/lib/Carousel/index.js +0 -5
- package/lib/Checkbox/Checkbox.js +5 -44
- package/lib/Checkbox/CheckboxButton.js +7 -33
- package/lib/Checkbox/CheckboxGroup.js +5 -37
- package/lib/Checkbox/CheckboxInput.js +1 -11
- package/lib/Checkbox/CheckboxInput.native.js +0 -2
- package/lib/Checkbox/index.js +0 -4
- package/lib/CheckboxCard/CheckboxCard.js +4 -37
- package/lib/CheckboxCard/index.js +0 -3
- package/lib/CheckboxCardGroup/CheckboxCardGroup.js +215 -0
- package/lib/CheckboxCardGroup/index.js +10 -0
- package/lib/Divider/Divider.js +13 -24
- package/lib/Divider/index.js +0 -3
- package/lib/ExpandCollapse/Accordion.js +1 -9
- package/lib/ExpandCollapse/Control.js +10 -32
- package/lib/ExpandCollapse/ExpandCollapse.js +3 -19
- package/lib/ExpandCollapse/Panel.js +13 -38
- package/lib/ExpandCollapse/index.js +0 -5
- package/lib/Feedback/Feedback.js +13 -30
- package/lib/Feedback/index.js +0 -3
- package/lib/Fieldset/Fieldset.js +6 -37
- package/lib/Fieldset/FieldsetContainer.js +1 -10
- package/lib/Fieldset/FieldsetContainer.native.js +0 -8
- package/lib/Fieldset/Legend.js +1 -10
- package/lib/Fieldset/Legend.native.js +1 -13
- package/lib/Fieldset/index.js +0 -3
- package/lib/FlexGrid/Col/Col.js +10 -53
- package/lib/FlexGrid/Col/index.js +0 -3
- package/lib/FlexGrid/FlexGrid.js +3 -34
- package/lib/FlexGrid/Row/Row.js +0 -38
- package/lib/FlexGrid/Row/index.js +0 -3
- package/lib/FlexGrid/helpers/index.js +0 -4
- package/lib/FlexGrid/index.js +0 -3
- package/lib/FlexGrid/providers/GutterContext.js +0 -4
- package/lib/HorizontalScroll/HorizontalScroll.js +17 -45
- package/lib/HorizontalScroll/HorizontalScrollButton.js +1 -17
- package/lib/HorizontalScroll/ScrollViewEnd.js +5 -13
- package/lib/HorizontalScroll/ScrollViewEnd.native.js +1 -10
- package/lib/HorizontalScroll/index.js +0 -7
- package/lib/HorizontalScroll/itemPositions.js +8 -19
- package/lib/Icon/Icon.js +4 -17
- package/lib/Icon/IconText.js +5 -25
- package/lib/Icon/index.js +0 -6
- package/lib/IconButton/IconButton.js +5 -37
- package/lib/IconButton/index.js +0 -3
- package/lib/InputLabel/InputLabel.js +4 -28
- package/lib/InputLabel/LabelContent.js +2 -8
- package/lib/InputLabel/LabelContent.native.js +0 -8
- package/lib/InputLabel/index.js +0 -3
- package/lib/InputSupports/InputSupports.js +0 -21
- package/lib/InputSupports/index.js +0 -3
- package/lib/InputSupports/useInputSupports.js +2 -6
- package/lib/Link/ChevronLink.js +7 -18
- package/lib/Link/InlinePressable.js +0 -10
- package/lib/Link/InlinePressable.native.js +5 -18
- package/lib/Link/Link.js +0 -8
- package/lib/Link/LinkBase.js +17 -47
- package/lib/Link/TextButton.js +3 -16
- package/lib/Link/index.js +0 -5
- package/lib/List/List.js +5 -21
- package/lib/List/ListItem.js +1 -11
- package/lib/List/ListItemBase.js +5 -34
- package/lib/List/ListItemContent.js +1 -14
- package/lib/List/ListItemMark.js +3 -23
- package/lib/List/PressableListItemBase.js +2 -28
- package/lib/List/index.js +0 -4
- package/lib/Listbox/GroupControl.js +0 -14
- package/lib/Listbox/Listbox.js +15 -40
- package/lib/Listbox/ListboxContext.js +0 -7
- package/lib/Listbox/ListboxGroup.js +7 -19
- package/lib/Listbox/ListboxItem.js +3 -17
- package/lib/Listbox/ListboxOverlay.js +4 -20
- package/lib/Listbox/PressableItem.js +3 -18
- package/lib/Listbox/index.js +0 -3
- package/lib/Modal/Modal.js +94 -45
- package/lib/Modal/ModalContent.js +184 -0
- package/lib/Modal/index.js +0 -3
- package/lib/MultiSelectFilter/ModalOverlay.js +1 -20
- package/lib/MultiSelectFilter/MultiSelectFilter.js +20 -69
- package/lib/MultiSelectFilter/index.js +0 -3
- package/lib/Notification/Notification.js +11 -38
- package/lib/Notification/index.js +0 -3
- package/lib/Pagination/PageButton.js +2 -22
- package/lib/Pagination/Pagination.js +21 -42
- package/lib/Pagination/SideButton.js +0 -24
- package/lib/Pagination/index.js +0 -3
- package/lib/Pagination/usePagination.js +4 -9
- package/lib/Progress/Progress.js +3 -17
- package/lib/Progress/ProgressBar.js +3 -25
- package/lib/Progress/ProgressBarBackground.js +0 -12
- package/lib/Progress/index.js +0 -4
- package/lib/QuickLinks/QuickLinks.js +1 -18
- package/lib/QuickLinks/QuickLinksCard.js +1 -11
- package/lib/QuickLinks/QuickLinksItem.js +3 -17
- package/lib/QuickLinks/index.js +0 -4
- package/lib/QuickLinksFeature/QuickLinksFeature.js +3 -20
- package/lib/QuickLinksFeature/QuickLinksFeatureItem.js +7 -30
- package/lib/QuickLinksFeature/index.js +0 -4
- package/lib/Radio/Radio.js +5 -39
- package/lib/Radio/RadioButton.js +7 -26
- package/lib/Radio/RadioGroup.js +6 -39
- package/lib/Radio/RadioInput.js +1 -11
- package/lib/Radio/RadioInput.native.js +0 -2
- package/lib/Radio/index.js +0 -4
- package/lib/RadioCard/RadioCard.js +5 -38
- package/lib/RadioCard/RadioCardGroup.js +7 -38
- package/lib/RadioCard/index.js +0 -4
- package/lib/Responsive/Responsive.js +1 -14
- package/lib/Responsive/index.js +0 -3
- package/lib/Search/Search.js +22 -45
- package/lib/Search/index.js +0 -3
- package/lib/Select/Group.js +0 -8
- package/lib/Select/Group.native.js +0 -6
- package/lib/Select/Item.js +0 -7
- package/lib/Select/Item.native.js +0 -2
- package/lib/Select/Picker.js +0 -8
- package/lib/Select/Picker.native.js +6 -22
- package/lib/Select/Select.js +9 -52
- package/lib/Select/index.js +0 -5
- package/lib/SideNav/Item.js +5 -29
- package/lib/SideNav/ItemContent.js +1 -14
- package/lib/SideNav/ItemsGroup.js +9 -31
- package/lib/SideNav/SideNav.js +9 -33
- package/lib/SideNav/index.js +0 -2
- package/lib/Skeleton/Skeleton.js +10 -42
- package/lib/Skeleton/index.js +0 -3
- package/lib/Skeleton/skeletonWebAnimation.js +0 -2
- package/lib/Skeleton/useSkeletonNativeAnimation.js +1 -9
- package/lib/SkipLink/SkipLink.js +7 -27
- package/lib/SkipLink/index.js +0 -3
- package/lib/Spacer/Spacer.js +4 -20
- package/lib/Spacer/index.js +0 -3
- package/lib/StackView/StackView.js +3 -21
- package/lib/StackView/StackWrap.js +11 -21
- package/lib/StackView/StackWrap.native.js +0 -3
- package/lib/StackView/StackWrapBox.js +5 -21
- package/lib/StackView/StackWrapGap.js +1 -14
- package/lib/StackView/common.js +0 -6
- package/lib/StackView/getStackedContent.js +10 -21
- package/lib/StackView/index.js +0 -5
- package/lib/StepTracker/Step.js +3 -27
- package/lib/StepTracker/StepTracker.js +5 -32
- package/lib/StepTracker/index.js +0 -3
- package/lib/Tabs/Tabs.js +7 -30
- package/lib/Tabs/TabsItem.js +13 -38
- package/lib/Tabs/index.js +0 -3
- package/lib/Tags/Tags.js +9 -42
- package/lib/Tags/index.js +0 -3
- package/lib/TextInput/TextArea.js +11 -20
- package/lib/TextInput/TextInput.js +7 -16
- package/lib/TextInput/TextInputBase.js +106 -69
- package/lib/TextInput/index.js +0 -3
- package/lib/TextInput/propTypes.js +4 -7
- package/lib/ThemeProvider/ThemeProvider.js +10 -18
- package/lib/ThemeProvider/index.js +0 -9
- package/lib/ThemeProvider/useSetTheme.js +6 -9
- package/lib/ThemeProvider/useTheme.js +2 -7
- package/lib/ThemeProvider/useThemeTokens.js +1 -9
- package/lib/ThemeProvider/utils/index.js +0 -4
- package/lib/ThemeProvider/utils/styles.js +14 -35
- package/lib/ThemeProvider/utils/theme-tokens.js +15 -43
- package/lib/Timeline/Timeline.js +11 -27
- package/lib/Timeline/index.js +0 -3
- package/lib/ToggleSwitch/ToggleSwitch.js +12 -43
- package/lib/ToggleSwitch/ToggleSwitchGroup.js +4 -38
- package/lib/ToggleSwitch/index.js +0 -3
- package/lib/Tooltip/Backdrop.js +4 -11
- package/lib/Tooltip/Backdrop.native.js +1 -14
- package/lib/Tooltip/Tooltip.js +9 -37
- package/lib/Tooltip/Tooltip.native.js +14 -45
- package/lib/Tooltip/getTooltipPosition.js +26 -31
- package/lib/Tooltip/index.js +0 -5
- package/lib/Tooltip/shared.js +0 -10
- package/lib/TooltipButton/TooltipButton.js +5 -20
- package/lib/TooltipButton/index.js +0 -3
- package/lib/Typography/Typography.js +15 -38
- package/lib/Typography/index.js +0 -3
- package/lib/Validator/Validator.js +10 -58
- package/lib/Validator/index.js +0 -3
- package/lib/ViewportProvider/ViewportProvider.js +1 -13
- package/lib/ViewportProvider/index.js +0 -5
- package/lib/ViewportProvider/useViewport.js +0 -4
- package/lib/ViewportProvider/useViewportListener.js +3 -12
- package/lib/index.js +8 -71
- package/lib/utils/BaseView/BaseView.js +3 -17
- package/lib/utils/BaseView/BaseView.native.js +0 -3
- package/lib/utils/BaseView/index.js +0 -3
- package/lib/utils/a11y/index.js +0 -4
- package/lib/utils/a11y/semantics.js +14 -32
- package/lib/utils/a11y/textSize.js +1 -8
- package/lib/utils/animation/index.js +0 -2
- package/lib/utils/animation/useVerticalExpandAnimation.js +5 -18
- package/lib/utils/children.js +16 -28
- package/lib/utils/containUniqueFields.js +2 -5
- package/lib/utils/floating-ui/index.js +0 -1
- package/lib/utils/floating-ui/index.native.js +0 -1
- package/lib/utils/hasOwnProperty.js +0 -1
- package/lib/utils/htmlAttrs.js +2 -4
- package/lib/utils/index.js +0 -31
- package/lib/utils/info/index.js +0 -4
- package/lib/utils/info/platform/index.js +0 -4
- package/lib/utils/info/versions.js +0 -3
- package/lib/utils/input.js +12 -24
- package/lib/utils/pressability.js +7 -21
- package/lib/utils/props/a11yProps.js +19 -25
- package/lib/utils/props/clickProps.js +0 -4
- package/lib/utils/props/componentPropType.js +0 -14
- package/lib/utils/props/copyPropTypes.js +0 -4
- package/lib/utils/props/getPropSelector.js +11 -12
- package/lib/utils/props/handlerProps.js +2 -23
- package/lib/utils/props/hrefAttrsProp.js +0 -4
- package/lib/utils/props/index.js +0 -22
- package/lib/utils/props/inputSupportsProps.js +0 -9
- package/lib/utils/props/linkProps.js +2 -12
- package/lib/utils/props/paddingProp.js +0 -3
- package/lib/utils/props/pressProps.js +2 -8
- package/lib/utils/props/rectProp.js +0 -3
- package/lib/utils/props/responsiveProps.js +1 -5
- package/lib/utils/props/selectSystemProps.js +4 -6
- package/lib/utils/props/spacingProps.js +3 -10
- package/lib/utils/props/textInputProps.js +11 -31
- package/lib/utils/props/textProps.js +6 -11
- package/lib/utils/props/tokens.js +7 -26
- package/lib/utils/props/variantProp.js +0 -3
- package/lib/utils/props/viewProps.js +0 -5
- package/lib/utils/ssr.js +13 -33
- package/lib/utils/useCopy.js +3 -6
- package/lib/utils/useHash.js +5 -10
- package/lib/utils/useHash.native.js +0 -2
- package/lib/utils/useOverlaidPosition.js +6 -29
- package/lib/utils/useResponsiveProp.js +6 -13
- package/lib/utils/useSafeLayoutEffect.js +5 -10
- package/lib/utils/useScrollBlocking.js +3 -11
- package/lib/utils/useScrollBlocking.native.js +0 -2
- package/lib/utils/useSpacingScale.js +5 -8
- package/lib/utils/useUniqueId.js +0 -4
- package/lib/utils/withLinkRouter.js +13 -18
- package/lib-module/A11yInfoProvider/index.js +5 -9
- package/lib-module/A11yText/index.js +3 -4
- package/lib-module/ActivityIndicator/Spinner.js +2 -2
- package/lib-module/ActivityIndicator/Spinner.native.js +4 -6
- package/lib-module/ActivityIndicator/index.js +1 -5
- package/lib-module/ActivityIndicator/shared.js +2 -1
- package/lib-module/Autocomplete/Autocomplete.js +34 -59
- package/lib-module/Autocomplete/Loading.js +0 -2
- package/lib-module/BaseProvider/HydrationContext.js +4 -7
- package/lib-module/BaseProvider/index.js +0 -3
- package/lib-module/Box/Box.js +10 -24
- package/lib-module/Button/Button.js +4 -2
- package/lib-module/Button/ButtonBase.js +23 -35
- package/lib-module/Button/ButtonDropdown.js +7 -16
- package/lib-module/Button/ButtonGroup.js +15 -32
- package/lib-module/Button/ButtonLink.js +3 -2
- package/lib-module/Button/propTypes.js +0 -7
- package/lib-module/Card/Card.js +3 -2
- package/lib-module/Card/CardBase.js +5 -4
- package/lib-module/Card/PressableCardBase.js +7 -11
- package/lib-module/Carousel/Carousel.js +22 -60
- package/lib-module/Carousel/CarouselContext.js +0 -5
- package/lib-module/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +7 -5
- package/lib-module/Carousel/CarouselItem/CarouselItem.js +5 -11
- package/lib-module/Carousel/CarouselStepTracker/CarouselStepTracker.js +0 -2
- package/lib-module/Carousel/CarouselTabs/CarouselTabs.js +3 -4
- package/lib-module/Carousel/CarouselTabs/CarouselTabsPanel.js +7 -6
- package/lib-module/Carousel/CarouselTabs/CarouselTabsPanelItem.js +2 -10
- package/lib-module/Carousel/CarouselThumbnail.js +1 -7
- package/lib-module/Carousel/CarouselThumbnailNavigation.js +0 -2
- package/lib-module/Checkbox/Checkbox.js +5 -23
- package/lib-module/Checkbox/CheckboxButton.js +7 -17
- package/lib-module/Checkbox/CheckboxGroup.js +5 -23
- package/lib-module/Checkbox/CheckboxInput.js +1 -3
- package/lib-module/Checkbox/CheckboxInput.native.js +0 -1
- package/lib-module/CheckboxCard/CheckboxCard.js +4 -21
- package/lib-module/CheckboxCardGroup/CheckboxCardGroup.js +205 -0
- package/lib-module/CheckboxCardGroup/index.js +2 -0
- package/lib-module/Divider/Divider.js +13 -11
- package/lib-module/ExpandCollapse/Accordion.js +1 -1
- package/lib-module/ExpandCollapse/Control.js +10 -17
- package/lib-module/ExpandCollapse/ExpandCollapse.js +3 -9
- package/lib-module/ExpandCollapse/Panel.js +13 -23
- package/lib-module/Feedback/Feedback.js +13 -16
- package/lib-module/Fieldset/Fieldset.js +6 -25
- package/lib-module/Fieldset/FieldsetContainer.js +1 -1
- package/lib-module/Fieldset/FieldsetContainer.native.js +0 -1
- package/lib-module/Fieldset/Legend.js +1 -1
- package/lib-module/Fieldset/Legend.native.js +1 -1
- package/lib-module/FlexGrid/Col/Col.js +10 -37
- package/lib-module/FlexGrid/FlexGrid.js +3 -17
- package/lib-module/FlexGrid/Row/Row.js +0 -25
- package/lib-module/FlexGrid/helpers/index.js +0 -3
- package/lib-module/HorizontalScroll/HorizontalScroll.js +17 -27
- package/lib-module/HorizontalScroll/HorizontalScrollButton.js +1 -3
- package/lib-module/HorizontalScroll/ScrollViewEnd.js +5 -4
- package/lib-module/HorizontalScroll/ScrollViewEnd.native.js +0 -1
- package/lib-module/HorizontalScroll/itemPositions.js +11 -10
- package/lib-module/Icon/Icon.js +4 -8
- package/lib-module/Icon/IconText.js +6 -17
- package/lib-module/IconButton/IconButton.js +7 -20
- package/lib-module/InputLabel/InputLabel.js +4 -13
- package/lib-module/InputLabel/LabelContent.js +2 -1
- package/lib-module/InputLabel/LabelContent.native.js +0 -1
- package/lib-module/InputSupports/InputSupports.js +0 -9
- package/lib-module/InputSupports/useInputSupports.js +2 -4
- package/lib-module/Link/ChevronLink.js +7 -7
- package/lib-module/Link/InlinePressable.js +0 -2
- package/lib-module/Link/InlinePressable.native.js +4 -12
- package/lib-module/Link/LinkBase.js +17 -25
- package/lib-module/Link/TextButton.js +3 -5
- package/lib-module/List/List.js +5 -9
- package/lib-module/List/ListItem.js +1 -1
- package/lib-module/List/ListItemBase.js +5 -17
- package/lib-module/List/ListItemContent.js +1 -4
- package/lib-module/List/ListItemMark.js +3 -16
- package/lib-module/List/PressableListItemBase.js +2 -6
- package/lib-module/Listbox/GroupControl.js +0 -2
- package/lib-module/Listbox/Listbox.js +15 -23
- package/lib-module/Listbox/ListboxContext.js +0 -2
- package/lib-module/Listbox/ListboxGroup.js +6 -4
- package/lib-module/Listbox/ListboxItem.js +2 -1
- package/lib-module/Listbox/ListboxOverlay.js +3 -4
- package/lib-module/Listbox/PressableItem.js +2 -7
- package/lib-module/Modal/Modal.js +94 -25
- package/lib-module/Modal/ModalContent.js +175 -0
- package/lib-module/MultiSelectFilter/ModalOverlay.js +1 -4
- package/lib-module/MultiSelectFilter/MultiSelectFilter.js +20 -42
- package/lib-module/Notification/Notification.js +11 -22
- package/lib-module/Pagination/PageButton.js +2 -6
- package/lib-module/Pagination/Pagination.js +21 -21
- package/lib-module/Pagination/SideButton.js +3 -8
- package/lib-module/Pagination/usePagination.js +4 -8
- package/lib-module/Progress/Progress.js +3 -7
- package/lib-module/Progress/ProgressBar.js +3 -11
- package/lib-module/Progress/ProgressBarBackground.js +0 -2
- package/lib-module/QuickLinks/QuickLinks.js +1 -6
- package/lib-module/QuickLinks/QuickLinksCard.js +1 -3
- package/lib-module/QuickLinks/QuickLinksItem.js +3 -2
- package/lib-module/QuickLinksFeature/QuickLinksFeature.js +5 -9
- package/lib-module/QuickLinksFeature/QuickLinksFeatureItem.js +9 -13
- package/lib-module/Radio/Radio.js +5 -22
- package/lib-module/Radio/RadioButton.js +8 -10
- package/lib-module/Radio/RadioGroup.js +6 -25
- package/lib-module/Radio/RadioInput.js +1 -3
- package/lib-module/Radio/RadioInput.native.js +0 -1
- package/lib-module/RadioCard/RadioCard.js +5 -21
- package/lib-module/RadioCard/RadioCardGroup.js +7 -25
- package/lib-module/Responsive/Responsive.js +1 -6
- package/lib-module/Search/Search.js +22 -31
- package/lib-module/Select/Group.js +0 -3
- package/lib-module/Select/Group.native.js +0 -3
- package/lib-module/Select/Item.js +0 -3
- package/lib-module/Select/Item.native.js +0 -1
- package/lib-module/Select/Picker.native.js +8 -10
- package/lib-module/Select/Select.js +10 -35
- package/lib-module/SideNav/Item.js +5 -16
- package/lib-module/SideNav/ItemContent.js +1 -2
- package/lib-module/SideNav/ItemsGroup.js +9 -19
- package/lib-module/SideNav/SideNav.js +9 -22
- package/lib-module/Skeleton/Skeleton.js +10 -25
- package/lib-module/Skeleton/skeletonWebAnimation.js +0 -1
- package/lib-module/Skeleton/useSkeletonNativeAnimation.js +1 -3
- package/lib-module/SkipLink/SkipLink.js +7 -9
- package/lib-module/Spacer/Spacer.js +4 -7
- package/lib-module/StackView/StackView.js +3 -7
- package/lib-module/StackView/StackWrap.js +13 -13
- package/lib-module/StackView/StackWrap.native.js +2 -1
- package/lib-module/StackView/StackWrapBox.js +5 -8
- package/lib-module/StackView/StackWrapGap.js +1 -1
- package/lib-module/StackView/getStackedContent.js +10 -10
- package/lib-module/StepTracker/Step.js +3 -14
- package/lib-module/StepTracker/StepTracker.js +5 -13
- package/lib-module/Tabs/Tabs.js +7 -16
- package/lib-module/Tabs/TabsItem.js +13 -16
- package/lib-module/Tags/Tags.js +9 -26
- package/lib-module/TextInput/TextArea.js +11 -8
- package/lib-module/TextInput/TextInput.js +7 -5
- package/lib-module/TextInput/TextInputBase.js +107 -51
- package/lib-module/TextInput/propTypes.js +7 -6
- package/lib-module/ThemeProvider/ThemeProvider.js +10 -9
- package/lib-module/ThemeProvider/useSetTheme.js +6 -7
- package/lib-module/ThemeProvider/useTheme.js +2 -5
- package/lib-module/ThemeProvider/useThemeTokens.js +1 -2
- package/lib-module/ThemeProvider/utils/styles.js +15 -27
- package/lib-module/ThemeProvider/utils/theme-tokens.js +15 -20
- package/lib-module/Timeline/Timeline.js +11 -17
- package/lib-module/ToggleSwitch/ToggleSwitch.js +13 -26
- package/lib-module/ToggleSwitch/ToggleSwitchGroup.js +4 -23
- package/lib-module/Tooltip/Backdrop.js +4 -7
- package/lib-module/Tooltip/Backdrop.native.js +1 -4
- package/lib-module/Tooltip/Tooltip.js +9 -18
- package/lib-module/Tooltip/Tooltip.native.js +14 -23
- package/lib-module/Tooltip/getTooltipPosition.js +26 -30
- package/lib-module/Tooltip/shared.js +0 -6
- package/lib-module/TooltipButton/TooltipButton.js +5 -8
- package/lib-module/Typography/Typography.js +14 -22
- package/lib-module/Validator/Validator.js +10 -42
- package/lib-module/ViewportProvider/ViewportProvider.js +1 -3
- package/lib-module/ViewportProvider/useViewportListener.js +6 -8
- package/lib-module/index.js +1 -0
- package/lib-module/utils/BaseView/BaseView.js +3 -4
- package/lib-module/utils/BaseView/BaseView.native.js +0 -1
- package/lib-module/utils/a11y/semantics.js +14 -27
- package/lib-module/utils/a11y/textSize.js +1 -2
- package/lib-module/utils/animation/useVerticalExpandAnimation.js +8 -11
- package/lib-module/utils/children.js +17 -19
- package/lib-module/utils/containUniqueFields.js +2 -4
- package/lib-module/utils/htmlAttrs.js +2 -1
- package/lib-module/utils/info/index.js +2 -1
- package/lib-module/utils/info/platform/index.js +4 -1
- package/lib-module/utils/info/versions.js +2 -1
- package/lib-module/utils/input.js +11 -19
- package/lib-module/utils/pressability.js +8 -7
- package/lib-module/utils/props/a11yProps.js +22 -20
- package/lib-module/utils/props/clickProps.js +0 -1
- package/lib-module/utils/props/componentPropType.js +0 -13
- package/lib-module/utils/props/getPropSelector.js +12 -8
- package/lib-module/utils/props/handlerProps.js +2 -19
- package/lib-module/utils/props/hrefAttrsProp.js +2 -2
- package/lib-module/utils/props/inputSupportsProps.js +0 -6
- package/lib-module/utils/props/linkProps.js +2 -3
- package/lib-module/utils/props/pressProps.js +2 -2
- package/lib-module/utils/props/responsiveProps.js +1 -3
- package/lib-module/utils/props/selectSystemProps.js +4 -5
- package/lib-module/utils/props/spacingProps.js +4 -3
- package/lib-module/utils/props/textInputProps.js +14 -27
- package/lib-module/utils/props/textProps.js +9 -7
- package/lib-module/utils/props/tokens.js +10 -13
- package/lib-module/utils/props/variantProp.js +1 -1
- package/lib-module/utils/props/viewProps.js +0 -1
- package/lib-module/utils/ssr.js +14 -18
- package/lib-module/utils/useCopy.js +3 -5
- package/lib-module/utils/useHash.js +5 -9
- package/lib-module/utils/useHash.native.js +0 -1
- package/lib-module/utils/useOverlaidPosition.js +6 -25
- package/lib-module/utils/useResponsiveProp.js +6 -7
- package/lib-module/utils/useSafeLayoutEffect.js +5 -7
- package/lib-module/utils/useScrollBlocking.js +3 -10
- package/lib-module/utils/useSpacingScale.js +4 -4
- package/lib-module/utils/useUniqueId.js +0 -2
- package/lib-module/utils/withLinkRouter.js +13 -10
- package/package.json +2 -2
- package/src/CheckboxCardGroup/CheckboxCardGroup.jsx +230 -0
- package/src/CheckboxCardGroup/index.js +3 -0
- package/src/Modal/Modal.jsx +98 -5
- package/src/Modal/ModalContent.jsx +171 -0
- package/src/TextInput/TextInputBase.jsx +67 -12
- package/src/TextInput/propTypes.js +4 -0
- package/src/index.js +1 -0
- package/src/utils/props/textInputProps.js +1 -0
|
@@ -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,
|
|
@@ -102,11 +102,9 @@ const CheckboxGroup = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
102
102
|
readOnly: readOnly || inactive
|
|
103
103
|
});
|
|
104
104
|
const uniqueFields = ['id', 'label'];
|
|
105
|
-
|
|
106
105
|
if (!containUniqueFields(items, uniqueFields)) {
|
|
107
106
|
throw new Error(`CheckboxGroup items must have unique ${uniqueFields.join(', ')}`);
|
|
108
107
|
}
|
|
109
|
-
|
|
110
108
|
const checkboxes = items.map((_ref2, index) => {
|
|
111
109
|
let {
|
|
112
110
|
label,
|
|
@@ -116,12 +114,10 @@ const CheckboxGroup = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
116
114
|
...itemRest
|
|
117
115
|
} = _ref2;
|
|
118
116
|
const checkboxId = id || `Checkbox[${index}]`;
|
|
119
|
-
|
|
120
117
|
const handleChange = (newCheckedState, event) => {
|
|
121
118
|
if (typeof itemOnChange === 'function') itemOnChange(newCheckedState, event);
|
|
122
119
|
toggleOneValue(checkboxId, event);
|
|
123
120
|
};
|
|
124
|
-
|
|
125
121
|
return /*#__PURE__*/_jsx(Checkbox, {
|
|
126
122
|
ref: itemRef,
|
|
127
123
|
id: checkboxId,
|
|
@@ -164,91 +160,77 @@ const CheckboxGroup = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
164
160
|
});
|
|
165
161
|
});
|
|
166
162
|
CheckboxGroup.displayName = 'CheckboxGroup';
|
|
167
|
-
CheckboxGroup.propTypes = {
|
|
168
|
-
|
|
163
|
+
CheckboxGroup.propTypes = {
|
|
164
|
+
...selectedSystemPropTypes,
|
|
169
165
|
/**
|
|
170
166
|
* Optional theme token overrides for the outer CheckboxGroup component
|
|
171
167
|
*/
|
|
172
168
|
tokens: getTokensPropType('CheckboxGroup'),
|
|
173
|
-
|
|
174
169
|
/**
|
|
175
170
|
* Optional theme token overrides for each inner Checkbox component
|
|
176
171
|
*/
|
|
177
172
|
radioTokens: getTokensPropType('Checkbox'),
|
|
178
|
-
|
|
179
173
|
/**
|
|
180
174
|
* Theme variants, shared between both CheckboxGroup and Checkbox
|
|
181
175
|
*/
|
|
182
176
|
variant: variantProp.propType,
|
|
183
|
-
|
|
184
177
|
/**
|
|
185
178
|
* Array of objects containing specifics for each Checkbox to be rendered in the group.
|
|
186
179
|
*/
|
|
187
|
-
items: PropTypes.arrayOf(PropTypes.exact({
|
|
180
|
+
items: PropTypes.arrayOf(PropTypes.exact({
|
|
181
|
+
...selectedItemPropTypes,
|
|
188
182
|
label: PropTypes.string,
|
|
189
183
|
id: PropTypes.string,
|
|
190
184
|
onChange: PropTypes.func,
|
|
191
185
|
ref: ABBPropTypes.ref()
|
|
192
186
|
})),
|
|
193
|
-
|
|
194
187
|
/**
|
|
195
188
|
* Main text used to describe this group, used in Fieldset's Legend element.
|
|
196
189
|
*/
|
|
197
190
|
legend: PropTypes.string,
|
|
198
|
-
|
|
199
191
|
/**
|
|
200
192
|
* Optional additional text giving more detail to help a user make a choice.
|
|
201
193
|
*/
|
|
202
194
|
hint: PropTypes.string,
|
|
203
|
-
|
|
204
195
|
/**
|
|
205
196
|
* Position of the hint relative to label. Use `below` to display a larger hint below the label.
|
|
206
197
|
*/
|
|
207
198
|
hintPosition: PropTypes.oneOf(['inline', 'below']),
|
|
208
|
-
|
|
209
199
|
/**
|
|
210
200
|
* Optional tooltip text content to include alongside the legend and hint.
|
|
211
201
|
*/
|
|
212
202
|
tooltip: PropTypes.string,
|
|
213
|
-
|
|
214
203
|
/**
|
|
215
204
|
* Current validation status of the group, passed to the feedback element if there is one.
|
|
216
205
|
*/
|
|
217
206
|
validation: PropTypes.oneOf(['error', 'success']),
|
|
218
|
-
|
|
219
207
|
/**
|
|
220
208
|
* If provided, a Feedback element is rendered containing this text.
|
|
221
209
|
*/
|
|
222
210
|
feedback: PropTypes.string,
|
|
223
|
-
|
|
224
211
|
/**
|
|
225
212
|
* If provided, the checkboxed with this ids are selected on first render.
|
|
226
213
|
*/
|
|
227
214
|
initialCheckedIds: PropTypes.arrayOf(PropTypes.string),
|
|
228
|
-
|
|
229
215
|
/**
|
|
230
216
|
* If not undefined, the checkboxes with these ids is selected, and the
|
|
231
217
|
* element's selection state will be controlled by its parent using the `onChange` function.
|
|
232
218
|
*/
|
|
233
219
|
checkedIds: PropTypes.arrayOf(PropTypes.string),
|
|
234
|
-
|
|
235
220
|
/**
|
|
236
221
|
* Function to call on change in selection state. Is required if the selection state is controlled
|
|
237
222
|
* by a parent using checkedId and the input is not readOnly.
|
|
238
223
|
*/
|
|
239
224
|
onChange: PropTypes.func,
|
|
240
|
-
|
|
241
225
|
/**
|
|
242
226
|
* If true, the checkboxes cannot be selected by the user and simply show their current state.
|
|
243
227
|
*/
|
|
244
228
|
readOnly: PropTypes.bool,
|
|
245
|
-
|
|
246
229
|
/**
|
|
247
230
|
* If true, the checkboxes cannot be interacted with, elements are set as `disabled` and if the
|
|
248
231
|
* theme supports `inactive` appearances rules, these are applied.
|
|
249
232
|
*/
|
|
250
233
|
inactive: PropTypes.bool,
|
|
251
|
-
|
|
252
234
|
/**
|
|
253
235
|
* On Web, this is passed to the `name` attribute of the fieldset and each checkbox input.
|
|
254
236
|
*/
|
|
@@ -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
|
*/
|