@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
|
@@ -10,7 +10,6 @@ import dictionary from './dictionary';
|
|
|
10
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
11
|
const [selectContainerProps, selectedContainerPropTypes] = selectSystemProps([a11yProps, viewProps]);
|
|
12
12
|
const [selectInputProps, selectedInputPropTypes] = selectSystemProps([textInputHandlerProps, textInputProps]);
|
|
13
|
-
|
|
14
13
|
const selectInputTokens = _ref => {
|
|
15
14
|
let {
|
|
16
15
|
searchTokens,
|
|
@@ -29,13 +28,12 @@ const selectInputTokens = _ref => {
|
|
|
29
28
|
} = buttonTokens;
|
|
30
29
|
const buttonWidth = paddingLeft + paddingRight + iconSize;
|
|
31
30
|
const paddingWithButtons = inputPaddingRight + (submitButtonIcon ? buttonWidth : 0) + (clearButtonIcon ? buttonsGapSize + buttonWidth : 0);
|
|
32
|
-
return {
|
|
31
|
+
return {
|
|
32
|
+
...selectTokens('TextInput', searchTokens),
|
|
33
33
|
paddingRight: paddingWithButtons
|
|
34
34
|
};
|
|
35
35
|
};
|
|
36
|
-
|
|
37
36
|
const selectButtonTokens = tokens => selectTokens('Button', tokens);
|
|
38
|
-
|
|
39
37
|
const selectIconTokens = _ref2 => {
|
|
40
38
|
let {
|
|
41
39
|
iconSize,
|
|
@@ -46,6 +44,7 @@ const selectIconTokens = _ref2 => {
|
|
|
46
44
|
size: iconSize
|
|
47
45
|
};
|
|
48
46
|
};
|
|
47
|
+
|
|
49
48
|
/**
|
|
50
49
|
* The `Search` component is a combination of a `TextInput` and 2 different kinds of custom buttons.
|
|
51
50
|
* Use `Search` to feature autocomplete interactions.
|
|
@@ -59,8 +58,6 @@ const selectIconTokens = _ref2 => {
|
|
|
59
58
|
* Use the following props to supply additional accessibility labels for the input - `accessibilityLabel`,
|
|
60
59
|
* clear button - `clearButtonAccessibilityLabel`, and submit button - `submitButtonAccessibilityLabel`.
|
|
61
60
|
*/
|
|
62
|
-
|
|
63
|
-
|
|
64
61
|
const Search = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
65
62
|
let {
|
|
66
63
|
initialValue,
|
|
@@ -92,8 +89,9 @@ const Search = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
|
92
89
|
});
|
|
93
90
|
const buttonTokens = useThemeTokens('SearchButton', tokens, variant);
|
|
94
91
|
const getThemeTokens = useThemeTokensCallback('Search', tokens, variant);
|
|
95
|
-
const getButtonTokens = useThemeTokensCallback('SearchButton', tokens, variant);
|
|
92
|
+
const getButtonTokens = useThemeTokensCallback('SearchButton', tokens, variant);
|
|
96
93
|
|
|
94
|
+
// TODO: support overriding the a11y props using a custom dictionary
|
|
97
95
|
const getCopy = useCopy({
|
|
98
96
|
dictionary,
|
|
99
97
|
copy
|
|
@@ -103,39 +101,37 @@ const Search = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
|
103
101
|
buttonsGap,
|
|
104
102
|
clearButtonIcon: ClearButtonIcon,
|
|
105
103
|
submitButtonIcon: SubmitButtonIcon
|
|
106
|
-
} = themeTokens;
|
|
104
|
+
} = themeTokens;
|
|
107
105
|
|
|
106
|
+
// get the actual gap value for the current viewport
|
|
108
107
|
const buttonsGapSize = useSpacingScale(buttonsGap);
|
|
109
|
-
|
|
110
108
|
const handleSubmit = event => {
|
|
111
109
|
if (onSubmit !== undefined) {
|
|
112
110
|
onSubmit(currentValue, event);
|
|
113
111
|
}
|
|
114
112
|
};
|
|
115
|
-
|
|
116
113
|
const handleClear = event => {
|
|
117
114
|
var _ref$current;
|
|
118
|
-
|
|
119
115
|
setValue('', event);
|
|
120
116
|
onClear === null || onClear === void 0 ? void 0 : onClear('', event);
|
|
121
117
|
ref === null || ref === void 0 ? void 0 : (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.focus();
|
|
122
118
|
};
|
|
123
|
-
|
|
124
119
|
const handleFocus = event => {
|
|
125
120
|
if (onFocus !== undefined) onFocus(event);
|
|
126
121
|
};
|
|
122
|
+
const isEmpty = currentValue === '';
|
|
127
123
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
124
|
+
// Accessibility label should always be present and correctly localised
|
|
125
|
+
const a11yLabelText = accessibilityLabel || getCopy('accessibilityLabel');
|
|
126
|
+
// Placeholder is optional and may be unset by passing an empty string
|
|
132
127
|
const placeholderText = placeholder ?? a11yLabelText;
|
|
133
128
|
const {
|
|
134
129
|
nativeID,
|
|
135
130
|
testID,
|
|
136
131
|
...containerProps
|
|
137
132
|
} = selectContainerProps(rest);
|
|
138
|
-
return /*#__PURE__*/_jsx(View, {
|
|
133
|
+
return /*#__PURE__*/_jsx(View, {
|
|
134
|
+
...containerProps,
|
|
139
135
|
children: /*#__PURE__*/_jsx(TextInputBase, {
|
|
140
136
|
nativeID: nativeID,
|
|
141
137
|
testID: testID,
|
|
@@ -163,18 +159,22 @@ const Search = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
|
163
159
|
inactive: inactive,
|
|
164
160
|
onPress: handleClear,
|
|
165
161
|
tokens: appearances => selectButtonTokens(getButtonTokens(appearances)),
|
|
166
|
-
children: buttonState => /*#__PURE__*/_jsx(ClearButtonIcon, {
|
|
162
|
+
children: buttonState => /*#__PURE__*/_jsx(ClearButtonIcon, {
|
|
163
|
+
...selectIconTokens(getButtonTokens(buttonState))
|
|
167
164
|
})
|
|
168
165
|
}, "clear"), SubmitButtonIcon && /*#__PURE__*/_jsx(ButtonBase, {
|
|
169
166
|
accessibilityLabel: getCopy('submitButtonAccessibilityLabel'),
|
|
170
167
|
accessibilityRole: "button",
|
|
171
168
|
inactive: inactive,
|
|
172
169
|
onPress: handleSubmit,
|
|
173
|
-
tokens: buttonState => selectButtonTokens(getButtonTokens({
|
|
170
|
+
tokens: buttonState => selectButtonTokens(getButtonTokens({
|
|
171
|
+
...buttonState,
|
|
174
172
|
priority: 'high'
|
|
175
173
|
})),
|
|
176
174
|
nativeID: nativeSubmitBtnID,
|
|
177
|
-
children: buttonState => /*#__PURE__*/_jsx(SubmitButtonIcon, {
|
|
175
|
+
children: buttonState => /*#__PURE__*/_jsx(SubmitButtonIcon, {
|
|
176
|
+
...selectIconTokens(getButtonTokens({
|
|
177
|
+
...buttonState,
|
|
178
178
|
priority: 'high'
|
|
179
179
|
}))
|
|
180
180
|
})
|
|
@@ -183,54 +183,46 @@ const Search = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
|
183
183
|
});
|
|
184
184
|
});
|
|
185
185
|
Search.displayName = 'Search';
|
|
186
|
-
Search.propTypes = {
|
|
186
|
+
Search.propTypes = {
|
|
187
|
+
...selectedContainerPropTypes,
|
|
187
188
|
...selectedInputPropTypes,
|
|
188
|
-
|
|
189
189
|
/**
|
|
190
190
|
* Use this to set the initial value of the search input.
|
|
191
191
|
* Updating `initialValue` will **not** update the actual value.
|
|
192
192
|
*/
|
|
193
193
|
initialValue: PropTypes.string,
|
|
194
|
-
|
|
195
194
|
/**
|
|
196
195
|
* Label rendered in the search input when it has no value.
|
|
197
196
|
*/
|
|
198
197
|
placeholder: PropTypes.string,
|
|
199
|
-
|
|
200
198
|
/**
|
|
201
199
|
* Disables all user interactions with the search input.
|
|
202
200
|
*/
|
|
203
201
|
inactive: PropTypes.bool,
|
|
204
|
-
|
|
205
202
|
/**
|
|
206
203
|
* Use to react upon search input's value changes.
|
|
207
204
|
* Will receive the searched value as an argument.
|
|
208
205
|
*/
|
|
209
206
|
onChange: PropTypes.func,
|
|
210
|
-
|
|
211
207
|
/**
|
|
212
208
|
* Triggered when the search input is submitted,
|
|
213
209
|
* either by pressing the submit button, "Enter" key on web,
|
|
214
210
|
* or "Search" key in a mobile keyboard.
|
|
215
211
|
*/
|
|
216
212
|
onSubmit: PropTypes.func,
|
|
217
|
-
|
|
218
213
|
/**
|
|
219
214
|
* Triggered when the clear button is pressed.
|
|
220
215
|
*/
|
|
221
216
|
onClear: PropTypes.func,
|
|
222
|
-
|
|
223
217
|
/**
|
|
224
218
|
* Triggered when the search input is focused.
|
|
225
219
|
*/
|
|
226
220
|
onFocus: PropTypes.func,
|
|
227
|
-
|
|
228
221
|
/**
|
|
229
222
|
*
|
|
230
223
|
* Use to provide an accessible label for the input (visually hidden).
|
|
231
224
|
*/
|
|
232
225
|
accessibilityLabel: PropTypes.string,
|
|
233
|
-
|
|
234
226
|
/**
|
|
235
227
|
* Select English or French copy for the accessible labels.
|
|
236
228
|
* You may also pass in a custom dictionary object.
|
|
@@ -242,7 +234,6 @@ Search.propTypes = { ...selectedContainerPropTypes,
|
|
|
242
234
|
})]),
|
|
243
235
|
tokens: getTokensPropType('Search'),
|
|
244
236
|
variant: variantProp.propType,
|
|
245
|
-
|
|
246
237
|
/**
|
|
247
238
|
* ID for Submit button element on web
|
|
248
239
|
*/
|
|
@@ -2,7 +2,6 @@ import React from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { componentPropType } from '../utils';
|
|
4
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
-
|
|
6
5
|
const Group = _ref => {
|
|
7
6
|
let {
|
|
8
7
|
children,
|
|
@@ -13,11 +12,9 @@ const Group = _ref => {
|
|
|
13
12
|
children: children
|
|
14
13
|
});
|
|
15
14
|
};
|
|
16
|
-
|
|
17
15
|
export default Group;
|
|
18
16
|
Group.propTypes = {
|
|
19
17
|
children: componentPropType('Item'),
|
|
20
|
-
|
|
21
18
|
/**
|
|
22
19
|
* The label for the group.
|
|
23
20
|
*/
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
import PropTypes from 'prop-types';
|
|
2
2
|
import { componentPropType } from '../utils';
|
|
3
|
-
|
|
4
3
|
const Group = _ref => {
|
|
5
4
|
let {
|
|
6
5
|
children
|
|
7
6
|
} = _ref;
|
|
8
7
|
return children;
|
|
9
8
|
};
|
|
10
|
-
|
|
11
9
|
export default Group;
|
|
12
10
|
Group.propTypes = {
|
|
13
11
|
children: componentPropType('Item'),
|
|
14
|
-
|
|
15
12
|
/**
|
|
16
13
|
* The label for the group.
|
|
17
14
|
*/
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
-
|
|
5
4
|
const Item = _ref => {
|
|
6
5
|
let {
|
|
7
6
|
children,
|
|
@@ -12,11 +11,9 @@ const Item = _ref => {
|
|
|
12
11
|
children: children
|
|
13
12
|
});
|
|
14
13
|
};
|
|
15
|
-
|
|
16
14
|
export default Item;
|
|
17
15
|
Item.propTypes = {
|
|
18
16
|
children: PropTypes.string.isRequired,
|
|
19
|
-
|
|
20
17
|
/**
|
|
21
18
|
* The value of the option
|
|
22
19
|
*/
|
|
@@ -5,11 +5,11 @@ import Platform from "react-native-web/dist/exports/Platform";
|
|
|
5
5
|
import NativePicker from 'react-native-picker-select';
|
|
6
6
|
import { a11yProps, componentPropType } from '../utils';
|
|
7
7
|
import Group from './Group';
|
|
8
|
-
import { ANDROID_HEIGHT_OFFSET, ANDROID_HORIZONTAL_PADDING_OFFSET, ANDROID_DEFAULT_PADDING } from './constants';
|
|
8
|
+
import { ANDROID_HEIGHT_OFFSET, ANDROID_HORIZONTAL_PADDING_OFFSET, ANDROID_DEFAULT_PADDING } from './constants';
|
|
9
9
|
|
|
10
|
+
// Styling of the native input is very limited, most of the styles have to be applied to an additional View
|
|
10
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
12
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
12
|
-
|
|
13
13
|
const selectAndroidInputStyles = _ref => {
|
|
14
14
|
let {
|
|
15
15
|
height = 0,
|
|
@@ -21,16 +21,17 @@ const selectAndroidInputStyles = _ref => {
|
|
|
21
21
|
paddingTop: 0,
|
|
22
22
|
color
|
|
23
23
|
};
|
|
24
|
-
};
|
|
25
|
-
|
|
24
|
+
};
|
|
26
25
|
|
|
26
|
+
// The native input has a side padding of 8px, which can't be adjusted, so we have to account for that in the container
|
|
27
27
|
const selectAndroidContainerStyles = _ref2 => {
|
|
28
28
|
let {
|
|
29
29
|
paddingLeft = ANDROID_DEFAULT_PADDING,
|
|
30
30
|
paddingRight = ANDROID_DEFAULT_PADDING,
|
|
31
31
|
...rest
|
|
32
32
|
} = _ref2;
|
|
33
|
-
return {
|
|
33
|
+
return {
|
|
34
|
+
...rest,
|
|
34
35
|
paddingLeft: paddingLeft > ANDROID_HORIZONTAL_PADDING_OFFSET ? paddingLeft - ANDROID_HORIZONTAL_PADDING_OFFSET : ANDROID_DEFAULT_PADDING,
|
|
35
36
|
paddingRight: paddingRight > ANDROID_HORIZONTAL_PADDING_OFFSET ? paddingRight - ANDROID_HORIZONTAL_PADDING_OFFSET : ANDROID_DEFAULT_PADDING,
|
|
36
37
|
paddingBottom: ANDROID_DEFAULT_PADDING,
|
|
@@ -38,7 +39,6 @@ const selectAndroidContainerStyles = _ref2 => {
|
|
|
38
39
|
height: rest.height + ANDROID_HEIGHT_OFFSET
|
|
39
40
|
};
|
|
40
41
|
};
|
|
41
|
-
|
|
42
42
|
const Picker = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
43
43
|
let {
|
|
44
44
|
value,
|
|
@@ -56,7 +56,6 @@ const Picker = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
|
56
56
|
if (child.type === Group) {
|
|
57
57
|
return child.props.children;
|
|
58
58
|
}
|
|
59
|
-
|
|
60
59
|
return child;
|
|
61
60
|
});
|
|
62
61
|
const items = flatChildren.map(_ref4 => {
|
|
@@ -67,8 +66,9 @@ const Picker = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
|
67
66
|
label: props.children,
|
|
68
67
|
value: props.value
|
|
69
68
|
};
|
|
70
|
-
});
|
|
69
|
+
});
|
|
71
70
|
|
|
71
|
+
// Unlike other input components, react-native-picker-select doesn't pass an event to its change fn.
|
|
72
72
|
const handleChange = (newValue, index) => {
|
|
73
73
|
if (onChange) onChange(newValue, {
|
|
74
74
|
// TODO: see if it's possible to pass a real React SyntheticEvent here. For now, just pass an
|
|
@@ -79,7 +79,6 @@ const Picker = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
|
79
79
|
}
|
|
80
80
|
});
|
|
81
81
|
};
|
|
82
|
-
|
|
83
82
|
const picker = /*#__PURE__*/_jsx(NativePicker, {
|
|
84
83
|
pickerProps: {
|
|
85
84
|
ref
|
|
@@ -97,7 +96,6 @@ const Picker = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
|
97
96
|
},
|
|
98
97
|
placeholder: placeholder !== undefined ? placeholder : {}
|
|
99
98
|
});
|
|
100
|
-
|
|
101
99
|
return /*#__PURE__*/_jsx(_Fragment, {
|
|
102
100
|
children: Platform.OS === 'android' ? /*#__PURE__*/_jsx(View, {
|
|
103
101
|
style: selectAndroidContainerStyles(style),
|
|
@@ -11,7 +11,6 @@ import { ANDROID_VALIDATION_ICON_CONTAINER_OFFSET } from './constants';
|
|
|
11
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
12
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
13
|
const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, inputSupportsProps, viewProps]);
|
|
14
|
-
|
|
15
14
|
const selectInputStyles = (_ref, themeOptions, inactive) => {
|
|
16
15
|
let {
|
|
17
16
|
backgroundColor,
|
|
@@ -33,11 +32,9 @@ const selectInputStyles = (_ref, themeOptions, inactive) => {
|
|
|
33
32
|
validationIconSize = 0,
|
|
34
33
|
height
|
|
35
34
|
} = _ref;
|
|
36
|
-
|
|
37
35
|
// Subtract border width from padding so overall input width/height doesn't
|
|
38
36
|
// jump around if the border width changes (avoiding NaN and negative padding)
|
|
39
37
|
const offsetBorder = value => typeof value === 'number' ? Math.max(0, value - borderWidth) : value;
|
|
40
|
-
|
|
41
38
|
const textStyles = applyTextStyles({
|
|
42
39
|
fontName,
|
|
43
40
|
fontSize,
|
|
@@ -53,21 +50,18 @@ const selectInputStyles = (_ref, themeOptions, inactive) => {
|
|
|
53
50
|
outline: 'none',
|
|
54
51
|
cursor: inactive ? 'not-allowed' : undefined,
|
|
55
52
|
opacity: inactive ? 1 : undefined // override Chrome's default fadeout of a disabled select
|
|
56
|
-
|
|
57
53
|
}
|
|
58
54
|
});
|
|
59
|
-
let paddingWithIcons = paddingRight;
|
|
60
55
|
|
|
56
|
+
let paddingWithIcons = paddingRight;
|
|
61
57
|
if (Platform.OS !== 'android') {
|
|
62
58
|
if (icon) {
|
|
63
59
|
paddingWithIcons += iconSize;
|
|
64
60
|
}
|
|
65
|
-
|
|
66
61
|
if (validationIcon) {
|
|
67
62
|
paddingWithIcons += validationIconSize;
|
|
68
63
|
}
|
|
69
64
|
}
|
|
70
|
-
|
|
71
65
|
return {
|
|
72
66
|
backgroundColor,
|
|
73
67
|
color,
|
|
@@ -83,7 +77,6 @@ const selectInputStyles = (_ref, themeOptions, inactive) => {
|
|
|
83
77
|
...webStyles
|
|
84
78
|
};
|
|
85
79
|
};
|
|
86
|
-
|
|
87
80
|
const selectOuterBorderStyles = _ref2 => {
|
|
88
81
|
let {
|
|
89
82
|
outerBackgroundColor,
|
|
@@ -100,7 +93,6 @@ const selectOuterBorderStyles = _ref2 => {
|
|
|
100
93
|
})
|
|
101
94
|
};
|
|
102
95
|
};
|
|
103
|
-
|
|
104
96
|
const selectIconTokens = _ref3 => {
|
|
105
97
|
let {
|
|
106
98
|
iconSize,
|
|
@@ -111,7 +103,6 @@ const selectIconTokens = _ref3 => {
|
|
|
111
103
|
color: iconColor
|
|
112
104
|
};
|
|
113
105
|
};
|
|
114
|
-
|
|
115
106
|
const selectIconContainerStyles = _ref4 => {
|
|
116
107
|
let {
|
|
117
108
|
paddingRight,
|
|
@@ -123,7 +114,6 @@ const selectIconContainerStyles = _ref4 => {
|
|
|
123
114
|
paddingBottom
|
|
124
115
|
};
|
|
125
116
|
};
|
|
126
|
-
|
|
127
117
|
const selectValidationIconTokens = _ref5 => {
|
|
128
118
|
let {
|
|
129
119
|
validationIconSize,
|
|
@@ -134,7 +124,6 @@ const selectValidationIconTokens = _ref5 => {
|
|
|
134
124
|
color: validationIconColor
|
|
135
125
|
};
|
|
136
126
|
};
|
|
137
|
-
|
|
138
127
|
const selectValidationIconContainerStyles = _ref6 => {
|
|
139
128
|
let {
|
|
140
129
|
icon,
|
|
@@ -151,7 +140,6 @@ const selectValidationIconContainerStyles = _ref6 => {
|
|
|
151
140
|
})
|
|
152
141
|
};
|
|
153
142
|
};
|
|
154
|
-
|
|
155
143
|
const selectCustomFeedbackStyles = _ref7 => {
|
|
156
144
|
let {
|
|
157
145
|
feedbackBackgroundColor
|
|
@@ -160,6 +148,7 @@ const selectCustomFeedbackStyles = _ref7 => {
|
|
|
160
148
|
backgroundColor: feedbackBackgroundColor
|
|
161
149
|
};
|
|
162
150
|
};
|
|
151
|
+
|
|
163
152
|
/**
|
|
164
153
|
* A basic form single-choice select component. Use in forms or individually to receive user's input.
|
|
165
154
|
*
|
|
@@ -192,8 +181,6 @@ const selectCustomFeedbackStyles = _ref7 => {
|
|
|
192
181
|
* NOTE: this does not work on native platforms - the grouped items will be shown at the same level as the non-grouped items.
|
|
193
182
|
*
|
|
194
183
|
*/
|
|
195
|
-
|
|
196
|
-
|
|
197
184
|
const Select = /*#__PURE__*/forwardRef((_ref8, ref) => {
|
|
198
185
|
let {
|
|
199
186
|
value,
|
|
@@ -219,17 +206,11 @@ const Select = /*#__PURE__*/forwardRef((_ref8, ref) => {
|
|
|
219
206
|
readOnly
|
|
220
207
|
});
|
|
221
208
|
const [isFocused, setIsFocused] = useState(false);
|
|
222
|
-
|
|
223
209
|
const handleFocus = () => setIsFocused(true);
|
|
224
|
-
|
|
225
210
|
const handleBlur = () => setIsFocused(false);
|
|
226
|
-
|
|
227
211
|
const [isHovered, setIsHovered] = useState(false);
|
|
228
|
-
|
|
229
212
|
const handleMouseOver = () => setIsHovered(true);
|
|
230
|
-
|
|
231
213
|
const handleMouseOut = () => setIsHovered(false);
|
|
232
|
-
|
|
233
214
|
const {
|
|
234
215
|
supportsProps,
|
|
235
216
|
...selectedProps
|
|
@@ -247,7 +228,8 @@ const Select = /*#__PURE__*/forwardRef((_ref8, ref) => {
|
|
|
247
228
|
const {
|
|
248
229
|
themeOptions
|
|
249
230
|
} = useTheme();
|
|
250
|
-
return /*#__PURE__*/_jsx(InputSupports, {
|
|
231
|
+
return /*#__PURE__*/_jsx(InputSupports, {
|
|
232
|
+
...supportsProps,
|
|
251
233
|
...selectedProps,
|
|
252
234
|
validation: validation,
|
|
253
235
|
feedbackTokens: selectCustomFeedbackStyles(themeTokens),
|
|
@@ -279,7 +261,8 @@ const Select = /*#__PURE__*/forwardRef((_ref8, ref) => {
|
|
|
279
261
|
}), ValidationIconComponent && /*#__PURE__*/_jsx(View, {
|
|
280
262
|
pointerEvents: "none",
|
|
281
263
|
style: [staticStyles.iconContainer, selectValidationIconContainerStyles(themeTokens)],
|
|
282
|
-
children: /*#__PURE__*/_jsx(ValidationIconComponent, {
|
|
264
|
+
children: /*#__PURE__*/_jsx(ValidationIconComponent, {
|
|
265
|
+
...selectValidationIconTokens(themeTokens)
|
|
283
266
|
})
|
|
284
267
|
}), IconComponent && Platform.OS !== 'android' &&
|
|
285
268
|
/*#__PURE__*/
|
|
@@ -287,7 +270,8 @@ const Select = /*#__PURE__*/forwardRef((_ref8, ref) => {
|
|
|
287
270
|
_jsx(View, {
|
|
288
271
|
pointerEvents: "none",
|
|
289
272
|
style: [staticStyles.iconContainer, selectIconContainerStyles(themeTokens)],
|
|
290
|
-
children: /*#__PURE__*/_jsx(IconComponent, {
|
|
273
|
+
children: /*#__PURE__*/_jsx(IconComponent, {
|
|
274
|
+
...selectIconTokens(themeTokens)
|
|
291
275
|
})
|
|
292
276
|
})]
|
|
293
277
|
});
|
|
@@ -295,54 +279,45 @@ const Select = /*#__PURE__*/forwardRef((_ref8, ref) => {
|
|
|
295
279
|
});
|
|
296
280
|
});
|
|
297
281
|
Select.displayName = 'Select';
|
|
298
|
-
Select.propTypes = {
|
|
299
|
-
|
|
282
|
+
Select.propTypes = {
|
|
283
|
+
...selectedSystemPropTypes,
|
|
300
284
|
/**
|
|
301
285
|
* Initial value for the uncontrolled version.
|
|
302
286
|
*/
|
|
303
287
|
initialValue: PropTypes.string,
|
|
304
|
-
|
|
305
288
|
/**
|
|
306
289
|
* Current value to be set as selected.
|
|
307
290
|
*/
|
|
308
291
|
value: PropTypes.string,
|
|
309
|
-
|
|
310
292
|
/**
|
|
311
293
|
* Callback to be called when the value changes.
|
|
312
294
|
*/
|
|
313
295
|
onChange: PropTypes.func,
|
|
314
|
-
|
|
315
296
|
/**
|
|
316
297
|
* An array of items or item groups to be used as options.
|
|
317
298
|
*/
|
|
318
299
|
children: componentPropType(['Item', 'Group']),
|
|
319
|
-
|
|
320
300
|
/**
|
|
321
301
|
* Whether the select is disabled.
|
|
322
302
|
*/
|
|
323
303
|
inactive: PropTypes.bool,
|
|
324
|
-
|
|
325
304
|
/**
|
|
326
305
|
* Whether the select is read-only.
|
|
327
306
|
*/
|
|
328
307
|
readOnly: PropTypes.bool,
|
|
329
|
-
|
|
330
308
|
/**
|
|
331
309
|
* A placeholder to provide instructions (such as "Please select...")
|
|
332
310
|
* as an unselectable option
|
|
333
311
|
*/
|
|
334
312
|
placeholder: PropTypes.string,
|
|
335
|
-
|
|
336
313
|
/**
|
|
337
314
|
* Select tokens.
|
|
338
315
|
*/
|
|
339
316
|
tokens: getTokensPropType('Select'),
|
|
340
|
-
|
|
341
317
|
/**
|
|
342
318
|
* Select variant.
|
|
343
319
|
*/
|
|
344
320
|
variant: variantProp.propType,
|
|
345
|
-
|
|
346
321
|
/**
|
|
347
322
|
* Dedicated ID for testing.
|
|
348
323
|
*/
|
|
@@ -7,7 +7,6 @@ import { useThemeTokensCallback, verticalAlignRow } from '../ThemeProvider';
|
|
|
7
7
|
import ItemContent from './ItemContent';
|
|
8
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
9
|
const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, linkProps, viewProps]);
|
|
10
|
-
|
|
11
10
|
function selectItemStyles(_ref) {
|
|
12
11
|
let {
|
|
13
12
|
backgroundColor,
|
|
@@ -34,13 +33,12 @@ function selectItemStyles(_ref) {
|
|
|
34
33
|
...verticalAlignRow(verticalAlign)
|
|
35
34
|
};
|
|
36
35
|
}
|
|
36
|
+
|
|
37
37
|
/**
|
|
38
38
|
`SideNav.Item` is a navigational element that is used within `SideNav` or `SideNav.ItemsGroup`.
|
|
39
39
|
|
|
40
40
|
This component can only be accessed as a name-spaced component: `SideNav.Item`.
|
|
41
41
|
*/
|
|
42
|
-
|
|
43
|
-
|
|
44
42
|
const Item = /*#__PURE__*/forwardRef((_ref2, ref) => {
|
|
45
43
|
let {
|
|
46
44
|
children,
|
|
@@ -56,9 +54,7 @@ const Item = /*#__PURE__*/forwardRef((_ref2, ref) => {
|
|
|
56
54
|
testID,
|
|
57
55
|
...props
|
|
58
56
|
} = _ref2;
|
|
59
|
-
|
|
60
57
|
const handlePress = () => onPress(itemId, groupId);
|
|
61
|
-
|
|
62
58
|
const {
|
|
63
59
|
hrefAttrs,
|
|
64
60
|
rest
|
|
@@ -71,7 +67,6 @@ const Item = /*#__PURE__*/forwardRef((_ref2, ref) => {
|
|
|
71
67
|
...rest
|
|
72
68
|
});
|
|
73
69
|
const getTokens = useThemeTokensCallback('SideNavItem', tokens, variant);
|
|
74
|
-
|
|
75
70
|
const getAppearanceState = _ref3 => {
|
|
76
71
|
let {
|
|
77
72
|
hovered,
|
|
@@ -84,13 +79,12 @@ const Item = /*#__PURE__*/forwardRef((_ref2, ref) => {
|
|
|
84
79
|
focus: focused
|
|
85
80
|
};
|
|
86
81
|
};
|
|
87
|
-
|
|
88
|
-
|
|
82
|
+
const getPressableStyle = pressableState => ({
|
|
83
|
+
...selectItemStyles(getTokens(getAppearanceState(pressableState))),
|
|
89
84
|
...(Platform.OS === 'web' ? {
|
|
90
85
|
outline: 'none'
|
|
91
86
|
} : {})
|
|
92
87
|
});
|
|
93
|
-
|
|
94
88
|
return /*#__PURE__*/_jsx(Pressable, {
|
|
95
89
|
ref: ref,
|
|
96
90
|
style: getPressableStyle,
|
|
@@ -108,19 +102,17 @@ const Item = /*#__PURE__*/forwardRef((_ref2, ref) => {
|
|
|
108
102
|
});
|
|
109
103
|
});
|
|
110
104
|
Item.displayName = 'Item';
|
|
111
|
-
Item.propTypes = {
|
|
112
|
-
|
|
105
|
+
Item.propTypes = {
|
|
106
|
+
...selectedSystemPropTypes,
|
|
113
107
|
/**
|
|
114
108
|
* Text content of the `Item`.
|
|
115
109
|
*/
|
|
116
110
|
children: PropTypes.node.isRequired,
|
|
117
|
-
|
|
118
111
|
/**
|
|
119
112
|
* @ignore
|
|
120
113
|
* Set internally in `SideNav` render function - used to keep track of active item.
|
|
121
114
|
*/
|
|
122
115
|
itemId: PropTypes.string,
|
|
123
|
-
|
|
124
116
|
/**
|
|
125
117
|
* @ignore
|
|
126
118
|
* Set internally in `SideNav` render function - used to keep track of expanded items groups.
|
|
@@ -128,19 +120,16 @@ Item.propTypes = { ...selectedSystemPropTypes,
|
|
|
128
120
|
groupId: PropTypes.string,
|
|
129
121
|
onPress: PropTypes.func,
|
|
130
122
|
href: PropTypes.string,
|
|
131
|
-
|
|
132
123
|
/**
|
|
133
124
|
* On Web if href is passed, React Native Web maps this object's props to
|
|
134
125
|
* `rel`, `target` and `download` attrs.
|
|
135
126
|
*/
|
|
136
127
|
hrefAttrs: PropTypes.shape(hrefAttrsProp.types),
|
|
137
|
-
|
|
138
128
|
/**
|
|
139
129
|
* @ignore
|
|
140
130
|
* Set internally in `SideNav` render function.
|
|
141
131
|
*/
|
|
142
132
|
isActive: PropTypes.bool,
|
|
143
|
-
|
|
144
133
|
/**
|
|
145
134
|
* @ignore
|
|
146
135
|
* Set internally in `SideNav.ItemsGroup` render function. Used to mark expanded `ItemsGroup` parent.
|
|
@@ -17,10 +17,10 @@ export function selectAccentStyles(tokens) {
|
|
|
17
17
|
position: 'absolute'
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
|
+
|
|
20
21
|
/**
|
|
21
22
|
* Content inside an item or control in a SideNav, themed by the SideNavItem theme
|
|
22
23
|
*/
|
|
23
|
-
|
|
24
24
|
const ItemContent = _ref => {
|
|
25
25
|
let {
|
|
26
26
|
children,
|
|
@@ -36,7 +36,6 @@ const ItemContent = _ref => {
|
|
|
36
36
|
})]
|
|
37
37
|
});
|
|
38
38
|
};
|
|
39
|
-
|
|
40
39
|
ItemContent.propTypes = {
|
|
41
40
|
tokens: getTokensPropType('SideNavItem'),
|
|
42
41
|
children: PropTypes.node
|