@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
|
@@ -4,40 +4,25 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
|
|
12
9
|
var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
|
|
13
|
-
|
|
14
10
|
var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
|
|
15
|
-
|
|
16
11
|
var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
|
|
17
|
-
|
|
18
12
|
var _InputLabel = _interopRequireDefault(require("../InputLabel"));
|
|
19
|
-
|
|
20
13
|
var _ButtonBase = _interopRequireDefault(require("../Button/ButtonBase"));
|
|
21
|
-
|
|
22
14
|
var _StackView = _interopRequireDefault(require("../StackView"));
|
|
23
|
-
|
|
24
15
|
var _ThemeProvider = require("../ThemeProvider");
|
|
25
|
-
|
|
26
16
|
var _utils = require("../utils");
|
|
27
|
-
|
|
28
17
|
var _input = require("../utils/input");
|
|
29
|
-
|
|
30
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
31
|
-
|
|
32
19
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
33
|
-
|
|
34
20
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
35
|
-
|
|
36
21
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
22
|
+
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.focusHandlerProps, _utils.pressProps, _utils.viewProps]);
|
|
37
23
|
|
|
38
|
-
|
|
24
|
+
// We need to drop the icon before passing it to the `ButtonBase`, because it's
|
|
39
25
|
// being handled separately in this case
|
|
40
|
-
|
|
41
26
|
const selectButtonTokens = (_ref, _ref2) => {
|
|
42
27
|
let {
|
|
43
28
|
icon: _,
|
|
@@ -47,15 +32,16 @@ const selectButtonTokens = (_ref, _ref2) => {
|
|
|
47
32
|
trackHeight,
|
|
48
33
|
outerBorderGapButton
|
|
49
34
|
} = _ref2;
|
|
50
|
-
return (0, _utils.selectTokens)('Button', {
|
|
35
|
+
return (0, _utils.selectTokens)('Button', {
|
|
36
|
+
...tokens,
|
|
51
37
|
// Width tokens are applied to our inner track. Disable Button width token so it wraps our track width.
|
|
52
38
|
outerBorderGap: outerBorderGapButton,
|
|
53
39
|
height: trackHeight,
|
|
54
40
|
width: null
|
|
55
41
|
});
|
|
56
|
-
};
|
|
57
|
-
|
|
42
|
+
};
|
|
58
43
|
|
|
44
|
+
// Map and rename icon-specific tokens to name used within Icon
|
|
59
45
|
const selectIconTokens = _ref3 => {
|
|
60
46
|
let {
|
|
61
47
|
iconSize,
|
|
@@ -66,7 +52,6 @@ const selectIconTokens = _ref3 => {
|
|
|
66
52
|
color: iconColor
|
|
67
53
|
};
|
|
68
54
|
};
|
|
69
|
-
|
|
70
55
|
const selectTrackSwitchStyles = _ref4 => {
|
|
71
56
|
let {
|
|
72
57
|
switchSize,
|
|
@@ -78,7 +63,6 @@ const selectTrackSwitchStyles = _ref4 => {
|
|
|
78
63
|
height: Math.max(switchSize, trackHeight)
|
|
79
64
|
};
|
|
80
65
|
};
|
|
81
|
-
|
|
82
66
|
const selectTrackStyles = _ref5 => {
|
|
83
67
|
let {
|
|
84
68
|
trackBorderWidth,
|
|
@@ -93,7 +77,6 @@ const selectTrackStyles = _ref5 => {
|
|
|
93
77
|
width
|
|
94
78
|
};
|
|
95
79
|
};
|
|
96
|
-
|
|
97
80
|
const selectSwitchStyles = _ref6 => {
|
|
98
81
|
let {
|
|
99
82
|
switchSize,
|
|
@@ -120,7 +103,6 @@ const selectSwitchStyles = _ref6 => {
|
|
|
120
103
|
})
|
|
121
104
|
};
|
|
122
105
|
};
|
|
123
|
-
|
|
124
106
|
const selectLabelStyles = _ref7 => {
|
|
125
107
|
let {
|
|
126
108
|
labelMarginLeft
|
|
@@ -129,7 +111,6 @@ const selectLabelStyles = _ref7 => {
|
|
|
129
111
|
marginLeft: labelMarginLeft
|
|
130
112
|
};
|
|
131
113
|
};
|
|
132
|
-
|
|
133
114
|
const selectLabelTokens = _ref8 => {
|
|
134
115
|
let {
|
|
135
116
|
labelColor,
|
|
@@ -146,7 +127,6 @@ const selectLabelTokens = _ref8 => {
|
|
|
146
127
|
lineHeight: labelLineHeight
|
|
147
128
|
};
|
|
148
129
|
};
|
|
149
|
-
|
|
150
130
|
const ToggleSwitch = /*#__PURE__*/(0, _react.forwardRef)((_ref9, ref) => {
|
|
151
131
|
let {
|
|
152
132
|
copy = 'en',
|
|
@@ -173,11 +153,8 @@ const ToggleSwitch = /*#__PURE__*/(0, _react.forwardRef)((_ref9, ref) => {
|
|
|
173
153
|
initialValue,
|
|
174
154
|
onChange
|
|
175
155
|
});
|
|
176
|
-
|
|
177
156
|
const handlePress = event => setValue(!currentValue, event);
|
|
178
|
-
|
|
179
157
|
const getButtonTokens = buttonState => selectButtonTokens(getTokens(buttonState), getTokens(themeTokens));
|
|
180
|
-
|
|
181
158
|
const uniqueId = (0, _utils.useUniqueId)('toggleSwitch');
|
|
182
159
|
const inputId = id ?? uniqueId;
|
|
183
160
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_StackView.default, {
|
|
@@ -220,10 +197,10 @@ const ToggleSwitch = /*#__PURE__*/(0, _react.forwardRef)((_ref9, ref) => {
|
|
|
220
197
|
trackHeight,
|
|
221
198
|
width,
|
|
222
199
|
trackBorderWidth
|
|
223
|
-
} = stateTokens;
|
|
200
|
+
} = stateTokens;
|
|
201
|
+
// If drag-slide support is needed, use a PanResponder and apply these to an Animated value.
|
|
224
202
|
// Use translate transforms for smoothest non-thread-blocking animations and to allow drag.
|
|
225
203
|
// Two different translates depending on the switchSize and trackSize relationship.
|
|
226
|
-
|
|
227
204
|
const isSwitchTallerThanTrack = switchSize >= trackHeight;
|
|
228
205
|
const slideStart = isSwitchTallerThanTrack ? 0 : trackBorderWidth;
|
|
229
206
|
const slideEnd = isSwitchTallerThanTrack ? width - switchSize : width - switchSize - trackBorderWidth;
|
|
@@ -240,7 +217,8 @@ const ToggleSwitch = /*#__PURE__*/(0, _react.forwardRef)((_ref9, ref) => {
|
|
|
240
217
|
style: [staticStyles.track, trackStyles]
|
|
241
218
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
242
219
|
style: [staticStyles.switch, switchStyles, switchPositionStyle],
|
|
243
|
-
children: IconComponent && /*#__PURE__*/(0, _jsxRuntime.jsx)(IconComponent, {
|
|
220
|
+
children: IconComponent && /*#__PURE__*/(0, _jsxRuntime.jsx)(IconComponent, {
|
|
221
|
+
...iconTokens
|
|
244
222
|
})
|
|
245
223
|
})]
|
|
246
224
|
});
|
|
@@ -249,56 +227,48 @@ const ToggleSwitch = /*#__PURE__*/(0, _react.forwardRef)((_ref9, ref) => {
|
|
|
249
227
|
});
|
|
250
228
|
});
|
|
251
229
|
ToggleSwitch.displayName = 'ToggleSwitch';
|
|
252
|
-
ToggleSwitch.propTypes = {
|
|
253
|
-
|
|
230
|
+
ToggleSwitch.propTypes = {
|
|
231
|
+
...selectedSystemPropTypes,
|
|
254
232
|
/**
|
|
255
233
|
* Whether the English or French copy will be used (e.g. for accessibility labels).
|
|
256
234
|
*/
|
|
257
235
|
copy: _propTypes.default.oneOf(['en', 'fr']),
|
|
258
236
|
tokens: (0, _utils.getTokensPropType)('ToggleSwitch'),
|
|
259
237
|
variant: _utils.variantProp.propType,
|
|
260
|
-
|
|
261
238
|
/**
|
|
262
239
|
* If this is a "controlled" component and a parent handles its selected state,
|
|
263
240
|
* tells the switch if it is on (true) or off (false).
|
|
264
241
|
*/
|
|
265
242
|
value: _propTypes.default.bool,
|
|
266
|
-
|
|
267
243
|
/**
|
|
268
244
|
* If this is an "uncontrolled" component that handles its own selected state,
|
|
269
245
|
* optionally tells the switch if it should default to on (true) or off (false).
|
|
270
246
|
*/
|
|
271
247
|
initialValue: _propTypes.default.bool,
|
|
272
|
-
|
|
273
248
|
/**
|
|
274
249
|
* Function called when the switch is toggled, with one boolean argument that is the
|
|
275
250
|
* new position of the switch, on (true) or off (false). For "controlled" components,
|
|
276
251
|
* this should always be passed and used to control the state of the switch.
|
|
277
252
|
*/
|
|
278
253
|
onChange: _propTypes.default.func,
|
|
279
|
-
|
|
280
254
|
/**
|
|
281
255
|
* Input ID.
|
|
282
256
|
*/
|
|
283
257
|
id: _propTypes.default.string,
|
|
284
|
-
|
|
285
258
|
/**
|
|
286
259
|
* An optional label.
|
|
287
260
|
*/
|
|
288
261
|
label: _propTypes.default.string,
|
|
289
|
-
|
|
290
262
|
/**
|
|
291
263
|
* If passed, the switch does not respond to user input and may recieve different
|
|
292
264
|
* theme tokens if the theme supports inactive appearance.
|
|
293
265
|
*/
|
|
294
266
|
inactive: _propTypes.default.bool,
|
|
295
|
-
|
|
296
267
|
/**
|
|
297
268
|
* Content of an optional Tooltip. If set, a tooltip button will be shown next to the label.
|
|
298
269
|
*/
|
|
299
270
|
tooltip: _propTypes.default.string
|
|
300
271
|
};
|
|
301
|
-
|
|
302
272
|
const staticStyles = _StyleSheet.default.create({
|
|
303
273
|
track: {
|
|
304
274
|
flexDirection: 'row'
|
|
@@ -315,6 +285,5 @@ const staticStyles = _StyleSheet.default.create({
|
|
|
315
285
|
alignItems: 'center'
|
|
316
286
|
}
|
|
317
287
|
});
|
|
318
|
-
|
|
319
288
|
var _default = ToggleSwitch;
|
|
320
289
|
exports.default = _default;
|
|
@@ -4,35 +4,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
|
|
12
9
|
var _airbnbPropTypes = _interopRequireDefault(require("airbnb-prop-types"));
|
|
13
|
-
|
|
14
10
|
var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
|
|
15
|
-
|
|
16
11
|
var _ToggleSwitch = _interopRequireDefault(require("./ToggleSwitch"));
|
|
17
|
-
|
|
18
12
|
var _Fieldset = _interopRequireDefault(require("../Fieldset"));
|
|
19
|
-
|
|
20
13
|
var _StackView = require("../StackView");
|
|
21
|
-
|
|
22
14
|
var _ViewportProvider = require("../ViewportProvider");
|
|
23
|
-
|
|
24
15
|
var _ThemeProvider = require("../ThemeProvider");
|
|
25
|
-
|
|
26
16
|
var _utils = require("../utils");
|
|
27
|
-
|
|
28
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
29
|
-
|
|
30
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
31
|
-
|
|
32
19
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
33
|
-
|
|
34
20
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
35
|
-
|
|
36
21
|
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
|
|
37
22
|
const [selectItemProps, selectedItemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.focusHandlerProps, _utils.viewProps]);
|
|
38
23
|
const ToggleSwitchGroup = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
@@ -85,11 +70,9 @@ const ToggleSwitchGroup = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
85
70
|
});
|
|
86
71
|
const itemA11yRole = selectedProps.accessibilityRole === 'radiogroup' ? 'radio' : 'switch';
|
|
87
72
|
const uniqueFields = ['id', 'label'];
|
|
88
|
-
|
|
89
73
|
if (!(0, _utils.containUniqueFields)(items, uniqueFields)) {
|
|
90
74
|
throw new Error(`ToggleSwitchGroup items must have unique ${uniqueFields.join(', ')}`);
|
|
91
75
|
}
|
|
92
|
-
|
|
93
76
|
const toggleSwitches = items.map((_ref2, index) => {
|
|
94
77
|
let {
|
|
95
78
|
label,
|
|
@@ -101,12 +84,10 @@ const ToggleSwitchGroup = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
101
84
|
...itemRest
|
|
102
85
|
} = _ref2;
|
|
103
86
|
const isSelected = currentValues.includes(id);
|
|
104
|
-
|
|
105
87
|
const handleChange = (newCheckedState, event) => {
|
|
106
88
|
if (typeof itemOnChange === 'function') itemOnChange(newCheckedState, event);
|
|
107
89
|
toggleOneValue(id, event);
|
|
108
90
|
};
|
|
109
|
-
|
|
110
91
|
const itemA11y = {
|
|
111
92
|
accessibilityState: {
|
|
112
93
|
checked: isSelected
|
|
@@ -148,56 +129,49 @@ const ToggleSwitchGroup = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
148
129
|
});
|
|
149
130
|
});
|
|
150
131
|
ToggleSwitchGroup.displayName = 'ToggleSwitchGroup';
|
|
151
|
-
ToggleSwitchGroup.propTypes = {
|
|
152
|
-
|
|
132
|
+
ToggleSwitchGroup.propTypes = {
|
|
133
|
+
...selectedSystemPropTypes,
|
|
153
134
|
/**
|
|
154
135
|
* Whether the English or French copy will be used (e.g. for accessibility labels).
|
|
155
136
|
*/
|
|
156
137
|
copy: _propTypes.default.oneOf(['en', 'fr']),
|
|
157
138
|
tokens: (0, _utils.getTokensPropType)('ToggleSwitchGroup'),
|
|
158
139
|
variant: _utils.variantProp.propType,
|
|
159
|
-
|
|
160
140
|
/**
|
|
161
141
|
* The maximum number of items a user may select at once. Defaults to 1 and behaves
|
|
162
142
|
* like radio buttons. To have no limit and allow any number of selections, pass `null`.
|
|
163
143
|
*/
|
|
164
144
|
maxValues: _propTypes.default.number,
|
|
165
|
-
|
|
166
145
|
/**
|
|
167
146
|
* The options a user may select
|
|
168
147
|
*/
|
|
169
|
-
items: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
170
|
-
|
|
148
|
+
items: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
149
|
+
...selectedItemPropTypes,
|
|
171
150
|
/**
|
|
172
151
|
* The text displayed to the user on the label.
|
|
173
152
|
*/
|
|
174
153
|
label: _propTypes.default.string.isRequired,
|
|
175
|
-
|
|
176
154
|
/**
|
|
177
155
|
* An optional accessibility label may be passed to each ToggleSwitch
|
|
178
156
|
* and will be applied as normal for a React Native accessibilityLabel prop.
|
|
179
157
|
*/
|
|
180
158
|
accessibilityLabel: _propTypes.default.string,
|
|
181
|
-
|
|
182
159
|
/**
|
|
183
160
|
* An optional unique string may be provided to identify this option,
|
|
184
161
|
* which will be used in code and passed to any onChange function.
|
|
185
162
|
* If not provided, the label is used.
|
|
186
163
|
*/
|
|
187
164
|
id: _propTypes.default.string,
|
|
188
|
-
|
|
189
165
|
/**
|
|
190
166
|
* An optional ref for one individual ToggleSwitch in the ToggleSwitchGroup
|
|
191
167
|
*/
|
|
192
168
|
ref: _airbnbPropTypes.default.ref()
|
|
193
169
|
})),
|
|
194
|
-
|
|
195
170
|
/**
|
|
196
171
|
* If provided, this function is called when the current selection is changed
|
|
197
172
|
* and is passed an array of the `id`s of all currently selected `items`.
|
|
198
173
|
*/
|
|
199
174
|
onChange: _propTypes.default.func,
|
|
200
|
-
|
|
201
175
|
/**
|
|
202
176
|
* If the selected item(s) in the toggle switch group are to be controlled externally by
|
|
203
177
|
* a parent component, pass an array of strings as well as an `onChange` handler.
|
|
@@ -205,44 +179,36 @@ ToggleSwitchGroup.propTypes = { ...selectedSystemPropTypes,
|
|
|
205
179
|
* expects its state to be handled via `onChange` and so doesn't handle it itself.
|
|
206
180
|
*/
|
|
207
181
|
values: _propTypes.default.arrayOf(_propTypes.default.string),
|
|
208
|
-
|
|
209
182
|
/**
|
|
210
183
|
* If `values` is not passed, making the ToggleSwitchGroup an "uncontrolled" component
|
|
211
184
|
* managing its own selected state, a default set of selections may be provided.
|
|
212
185
|
* Changing the `initialValues` does not change the user's selections.
|
|
213
186
|
*/
|
|
214
187
|
initialValues: _propTypes.default.arrayOf(_propTypes.default.string),
|
|
215
|
-
|
|
216
188
|
/**
|
|
217
189
|
* Optional additional text giving more detail to help a user make a choice.
|
|
218
190
|
*/
|
|
219
191
|
hint: _propTypes.default.string,
|
|
220
|
-
|
|
221
192
|
/**
|
|
222
193
|
* Position of the hint relative to label. Use `below` to display a larger hint below the label.
|
|
223
194
|
*/
|
|
224
195
|
hintPosition: _propTypes.default.oneOf(['inline', 'below']),
|
|
225
|
-
|
|
226
196
|
/**
|
|
227
197
|
* Optional tooltip text content to include alongside the legend and hint.
|
|
228
198
|
*/
|
|
229
199
|
tooltip: _propTypes.default.string,
|
|
230
|
-
|
|
231
200
|
/**
|
|
232
201
|
* If provided, a Feedback element is rendered containing this text.
|
|
233
202
|
*/
|
|
234
203
|
feedback: _propTypes.default.string,
|
|
235
|
-
|
|
236
204
|
/**
|
|
237
205
|
* Main text used to describe this group, used in Fieldset's Legend element.
|
|
238
206
|
*/
|
|
239
207
|
legend: _propTypes.default.string,
|
|
240
|
-
|
|
241
208
|
/**
|
|
242
209
|
* Toggle switch token overrides.
|
|
243
210
|
*/
|
|
244
211
|
toggleSwitchTokens: (0, _utils.getTokensPropType)('ToggleSwitch'),
|
|
245
|
-
|
|
246
212
|
/**
|
|
247
213
|
* Current validation status of the group, passed to the feedback element if there is one.
|
|
248
214
|
*/
|
|
@@ -15,9 +15,6 @@ Object.defineProperty(exports, "ToggleSwitchGroup", {
|
|
|
15
15
|
return _ToggleSwitchGroup.default;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
|
-
|
|
19
18
|
var _ToggleSwitch = _interopRequireDefault(require("./ToggleSwitch"));
|
|
20
|
-
|
|
21
19
|
var _ToggleSwitchGroup = _interopRequireDefault(require("./ToggleSwitchGroup"));
|
|
22
|
-
|
|
23
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
package/lib/Tooltip/Backdrop.js
CHANGED
|
@@ -4,21 +4,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = require("react");
|
|
9
|
-
|
|
10
8
|
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
11
|
-
|
|
12
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
-
|
|
14
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
-
|
|
16
11
|
function createPortalNode(nodeId) {
|
|
17
12
|
const node = document.createElement('div');
|
|
18
|
-
node.id = nodeId;
|
|
13
|
+
node.id = nodeId;
|
|
14
|
+
|
|
15
|
+
// we're mimicking React Native's Modal component, except for using an `absolute` position
|
|
19
16
|
// this way the backdrop stays in place when scrolling the window - that's why we need to
|
|
20
17
|
// position it at the scroll position when rendering
|
|
21
|
-
|
|
22
18
|
node.style.cssText = `
|
|
23
19
|
position: absolute;
|
|
24
20
|
top: ${window.scrollY}px;
|
|
@@ -31,17 +27,15 @@ function createPortalNode(nodeId) {
|
|
|
31
27
|
document.body.appendChild(node);
|
|
32
28
|
return node;
|
|
33
29
|
}
|
|
34
|
-
|
|
35
30
|
function removePortalNode(nodeId) {
|
|
36
31
|
const node = document.getElementById(nodeId);
|
|
37
32
|
node.parentElement.removeChild(node);
|
|
38
33
|
}
|
|
34
|
+
|
|
39
35
|
/**
|
|
40
36
|
* The Web version of Backdrop utilizes React Portal for overlaying page content, so it is
|
|
41
37
|
* dependent on ReactDOM. Tooltip's closing is handled by the onBlur callback of the control.
|
|
42
38
|
*/
|
|
43
|
-
|
|
44
|
-
|
|
45
39
|
function Backdrop(_ref) {
|
|
46
40
|
let {
|
|
47
41
|
children
|
|
@@ -57,7 +51,6 @@ function Backdrop(_ref) {
|
|
|
57
51
|
}, []);
|
|
58
52
|
return portalNode ? /*#__PURE__*/_reactDom.default.createPortal(children, portalNode) : null;
|
|
59
53
|
}
|
|
60
|
-
|
|
61
54
|
Backdrop.propTypes = {
|
|
62
55
|
children: _propTypes.default.node
|
|
63
56
|
};
|
|
@@ -4,30 +4,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
8
|
var _TouchableWithoutFeedback = _interopRequireDefault(require("react-native-web/dist/cjs/exports/TouchableWithoutFeedback"));
|
|
11
|
-
|
|
12
9
|
var _Modal = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Modal"));
|
|
13
|
-
|
|
14
10
|
var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
|
|
15
|
-
|
|
16
11
|
var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
|
|
17
|
-
|
|
18
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
19
|
-
|
|
20
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
|
-
|
|
22
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
|
-
|
|
24
15
|
/**
|
|
25
16
|
* The Native version of Backdrop utilizes React Native's Modal component for overlaying
|
|
26
17
|
* the app's content, since this is the only reliable to do it. The only drawback of this
|
|
27
18
|
* approach is that a press on the Backdrop will actually stop the press event from propagating,
|
|
28
19
|
* i.e. anything rendered beneath the Backdrop can't be pressed until the Backdrop is closed.
|
|
29
|
-
*/
|
|
30
|
-
function Backdrop(_ref) {
|
|
20
|
+
*/function Backdrop(_ref) {
|
|
31
21
|
let {
|
|
32
22
|
onPress,
|
|
33
23
|
children
|
|
@@ -43,18 +33,15 @@ function Backdrop(_ref) {
|
|
|
43
33
|
})
|
|
44
34
|
});
|
|
45
35
|
}
|
|
46
|
-
|
|
47
36
|
var _default = Backdrop;
|
|
48
37
|
exports.default = _default;
|
|
49
38
|
Backdrop.propTypes = {
|
|
50
39
|
onPress: _propTypes.default.func,
|
|
51
40
|
children: _propTypes.default.node
|
|
52
41
|
};
|
|
53
|
-
|
|
54
42
|
const staticStyles = _StyleSheet.default.create({
|
|
55
43
|
backdrop: {
|
|
56
44
|
flexBasis: '100%',
|
|
57
45
|
backgroundColor: 'rgba(255, 255, 255, 0.5)' // to visually mark that the content beneath is not pressable
|
|
58
|
-
|
|
59
46
|
}
|
|
60
47
|
});
|
package/lib/Tooltip/Tooltip.js
CHANGED
|
@@ -4,43 +4,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
8
|
var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
|
|
11
|
-
|
|
12
9
|
var _Pressable = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Pressable"));
|
|
13
|
-
|
|
14
10
|
var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
|
|
15
|
-
|
|
16
11
|
var _Text = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Text"));
|
|
17
|
-
|
|
18
12
|
var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
|
|
19
|
-
|
|
20
13
|
var _shared = _interopRequireDefault(require("./shared"));
|
|
21
|
-
|
|
22
14
|
var _floatingUi = require("../utils/floating-ui");
|
|
23
|
-
|
|
24
15
|
var _ThemeProvider = require("../ThemeProvider");
|
|
25
|
-
|
|
26
16
|
var _utils = require("../utils");
|
|
27
|
-
|
|
28
17
|
var _TooltipButton = _interopRequireDefault(require("../TooltipButton"));
|
|
29
|
-
|
|
30
18
|
var _useCopy = _interopRequireDefault(require("../utils/useCopy"));
|
|
31
|
-
|
|
32
19
|
var _dictionary = _interopRequireDefault(require("./dictionary"));
|
|
33
|
-
|
|
34
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
35
|
-
|
|
36
21
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
37
|
-
|
|
38
22
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
39
|
-
|
|
40
23
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
41
|
-
|
|
42
24
|
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
|
|
43
|
-
|
|
44
25
|
const selectTooltipStyles = _ref => {
|
|
45
26
|
let {
|
|
46
27
|
backgroundColor,
|
|
@@ -59,7 +40,6 @@ const selectTooltipStyles = _ref => {
|
|
|
59
40
|
borderRadius
|
|
60
41
|
};
|
|
61
42
|
};
|
|
62
|
-
|
|
63
43
|
const selectTooltipShadowStyles = _ref2 => {
|
|
64
44
|
let {
|
|
65
45
|
shadow,
|
|
@@ -70,7 +50,6 @@ const selectTooltipShadowStyles = _ref2 => {
|
|
|
70
50
|
...(0, _ThemeProvider.applyShadowToken)(shadow)
|
|
71
51
|
};
|
|
72
52
|
};
|
|
73
|
-
|
|
74
53
|
const selectMobileTooltipPositionStyles = _ref3 => {
|
|
75
54
|
let {
|
|
76
55
|
top,
|
|
@@ -83,7 +62,6 @@ const selectMobileTooltipPositionStyles = _ref3 => {
|
|
|
83
62
|
position
|
|
84
63
|
};
|
|
85
64
|
};
|
|
86
|
-
|
|
87
65
|
const selectMobileArrowStyles = (_ref4, _ref5) => {
|
|
88
66
|
let {
|
|
89
67
|
backgroundColor,
|
|
@@ -119,13 +97,12 @@ const selectMobileArrowStyles = (_ref4, _ref5) => {
|
|
|
119
97
|
[staticSide]: '-4px'
|
|
120
98
|
};
|
|
121
99
|
};
|
|
122
|
-
|
|
123
100
|
const selectTextStyles = tokens => (0, _ThemeProvider.applyTextStyles)((0, _utils.selectTokens)('Typography', tokens));
|
|
124
|
-
|
|
125
101
|
const defaultControl = (pressableState, variant) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_TooltipButton.default, {
|
|
126
102
|
pressableState: pressableState,
|
|
127
103
|
variant: variant
|
|
128
104
|
});
|
|
105
|
+
|
|
129
106
|
/**
|
|
130
107
|
* Tooltip provides a descriptive and detailed explanation or instructions. It can be used next to an input label
|
|
131
108
|
* to help a user fill it in, or as a standalone component.
|
|
@@ -141,8 +118,6 @@ const defaultControl = (pressableState, variant) => /*#__PURE__*/(0, _jsxRuntime
|
|
|
141
118
|
* - You may use one when the information is useful only to a small percentage of users (ie. tech savvy people wouldn't need this info).
|
|
142
119
|
* - Tooltips may also be useful when vertical space is an issue.
|
|
143
120
|
*/
|
|
144
|
-
|
|
145
|
-
|
|
146
121
|
const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
|
|
147
122
|
let {
|
|
148
123
|
children,
|
|
@@ -166,8 +141,9 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
|
|
|
166
141
|
right: 'right',
|
|
167
142
|
below: 'bottom',
|
|
168
143
|
left: 'left'
|
|
169
|
-
};
|
|
144
|
+
};
|
|
170
145
|
|
|
146
|
+
// "AutoPlacement" can't be used with "flip"
|
|
171
147
|
const additionalMiddleware = position !== 'auto' ? _floatingUi.autoPlacement : _floatingUi.flip;
|
|
172
148
|
const {
|
|
173
149
|
x,
|
|
@@ -190,14 +166,11 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
|
|
|
190
166
|
copy
|
|
191
167
|
});
|
|
192
168
|
const themeTokens = (0, _ThemeProvider.useThemeTokens)('Tooltip', tokens, variant);
|
|
193
|
-
|
|
194
169
|
const toggleIsOpen = () => {
|
|
195
170
|
onPress();
|
|
196
171
|
setIsOpen(!isOpen);
|
|
197
172
|
};
|
|
198
|
-
|
|
199
173
|
const close = () => setIsOpen(false);
|
|
200
|
-
|
|
201
174
|
const getPressableState = _ref7 => {
|
|
202
175
|
let {
|
|
203
176
|
pressed,
|
|
@@ -210,7 +183,6 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
|
|
|
210
183
|
focus: focused
|
|
211
184
|
};
|
|
212
185
|
};
|
|
213
|
-
|
|
214
186
|
const onTooltipLayout = _ref8 => {
|
|
215
187
|
let {
|
|
216
188
|
nativeEvent: {
|
|
@@ -220,7 +192,6 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
|
|
|
220
192
|
}
|
|
221
193
|
}
|
|
222
194
|
} = _ref8;
|
|
223
|
-
|
|
224
195
|
if (tooltipDimensions === null || tooltipDimensions.width !== width || tooltipDimensions.height !== height) {
|
|
225
196
|
setTooltipDimensions({
|
|
226
197
|
width: _Platform.default.select({
|
|
@@ -232,7 +203,6 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
|
|
|
232
203
|
});
|
|
233
204
|
}
|
|
234
205
|
};
|
|
235
|
-
|
|
236
206
|
(0, _react.useEffect)(() => {
|
|
237
207
|
if (!isOpen) {
|
|
238
208
|
setTooltipDimensions(null);
|
|
@@ -270,7 +240,8 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
|
|
|
270
240
|
children: typeof control === 'function' ? pressableState => control(getPressableState(pressableState), variant) : control
|
|
271
241
|
}), isOpen && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_View.default, {
|
|
272
242
|
ref: floating,
|
|
273
|
-
style: [selectTooltipShadowStyles(themeTokens), staticStyles.tooltip,
|
|
243
|
+
style: [selectTooltipShadowStyles(themeTokens), staticStyles.tooltip,
|
|
244
|
+
// applied separately so that it doesn't cover the arrow
|
|
274
245
|
selectMobileTooltipPositionStyles({
|
|
275
246
|
position: strategy,
|
|
276
247
|
top: y ?? 0,
|
|
@@ -279,7 +250,8 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
|
|
|
279
250
|
onLayout: onTooltipLayout,
|
|
280
251
|
accessibilityRole: "alert",
|
|
281
252
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
|
|
282
|
-
style: [staticStyles.arrow, selectMobileArrowStyles(themeTokens, {
|
|
253
|
+
style: [staticStyles.arrow, selectMobileArrowStyles(themeTokens, {
|
|
254
|
+
...arrowData,
|
|
283
255
|
placement
|
|
284
256
|
})],
|
|
285
257
|
ref: arrowRef
|
|
@@ -294,12 +266,12 @@ const Tooltip = /*#__PURE__*/(0, _react.forwardRef)((_ref6, ref) => {
|
|
|
294
266
|
});
|
|
295
267
|
});
|
|
296
268
|
Tooltip.displayName = 'Tooltip';
|
|
297
|
-
Tooltip.propTypes = {
|
|
269
|
+
Tooltip.propTypes = {
|
|
270
|
+
...selectedSystemPropTypes,
|
|
298
271
|
..._shared.default
|
|
299
272
|
};
|
|
300
273
|
var _default = Tooltip;
|
|
301
274
|
exports.default = _default;
|
|
302
|
-
|
|
303
275
|
const staticStyles = _StyleSheet.default.create({
|
|
304
276
|
container: {
|
|
305
277
|
alignItems: 'flex-start',
|