@telus-uds/components-base 1.84.0 → 1.85.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -2
- package/lib/A11yInfoProvider/index.js +8 -10
- package/lib/A11yText/index.js +2 -4
- package/lib/ActivityIndicator/Spinner.js +3 -4
- package/lib/ActivityIndicator/Spinner.native.js +2 -4
- package/lib/Autocomplete/Autocomplete.js +13 -17
- package/lib/Autocomplete/Loading.js +4 -2
- package/lib/Autocomplete/Suggestions.js +2 -4
- package/lib/Badge/Badge.js +2 -4
- package/lib/BaseProvider/HydrationContext.js +5 -7
- package/lib/Box/Box.js +5 -7
- package/lib/Button/Button.js +3 -3
- package/lib/Button/ButtonBase.js +2 -7
- package/lib/Button/ButtonDropdown.js +3 -3
- package/lib/Button/ButtonGroup.js +2 -4
- package/lib/Button/ButtonLink.js +3 -3
- package/lib/Card/Card.js +159 -16
- package/lib/Card/CardBase.js +2 -4
- package/lib/Card/PressableCardBase.js +3 -5
- package/lib/CardGroup/CardGroup.js +220 -0
- package/lib/CardGroup/dictionary.js +15 -0
- package/lib/CardGroup/index.js +10 -0
- package/lib/Carousel/Carousel.js +67 -57
- package/lib/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +2 -4
- package/lib/Carousel/CarouselItem/CarouselItem.js +3 -2
- package/lib/Carousel/CarouselStepTracker/CarouselStepTracker.js +4 -2
- package/lib/Carousel/CarouselTabs/CarouselTabs.js +2 -4
- package/lib/Carousel/CarouselTabs/CarouselTabsPanel.js +6 -8
- package/lib/Carousel/CarouselTabs/CarouselTabsPanelItem.js +3 -5
- package/lib/Carousel/CarouselThumbnail.js +4 -2
- package/lib/Carousel/CarouselThumbnailNavigation.js +2 -4
- package/lib/Checkbox/Checkbox.js +2 -4
- package/lib/Checkbox/CheckboxButton.js +3 -5
- package/lib/Checkbox/CheckboxGroup.js +2 -4
- package/lib/Checkbox/CheckboxInput.js +4 -14
- package/lib/CheckboxCard/CheckboxCard.js +3 -3
- package/lib/CheckboxCardGroup/CheckboxCardGroup.js +3 -3
- package/lib/ColourToggle/ColourBubble.js +5 -6
- package/lib/ColourToggle/ColourToggle.js +3 -5
- package/lib/Divider/Divider.js +2 -4
- package/lib/ExpandCollapse/Accordion.js +2 -4
- package/lib/ExpandCollapse/Control.js +2 -4
- package/lib/ExpandCollapse/ExpandCollapse.js +2 -4
- package/lib/ExpandCollapse/Panel.js +3 -5
- package/lib/Feedback/Feedback.js +2 -4
- package/lib/Fieldset/Fieldset.js +2 -4
- package/lib/Fieldset/FieldsetContainer.js +2 -4
- package/lib/Fieldset/FieldsetContainer.native.js +2 -4
- package/lib/Fieldset/Legend.js +2 -4
- package/lib/Fieldset/Legend.native.js +2 -4
- package/lib/FlexGrid/Col/Col.js +3 -5
- package/lib/FlexGrid/FlexGrid.js +2 -4
- package/lib/FlexGrid/Row/Row.js +2 -4
- package/lib/Footnote/Footnote.js +9 -9
- package/lib/Footnote/FootnoteLink.js +5 -3
- package/lib/HorizontalScroll/HorizontalScroll.js +8 -10
- package/lib/HorizontalScroll/HorizontalScrollButton.js +2 -4
- package/lib/HorizontalScroll/ScrollViewEnd.js +5 -10
- package/lib/HorizontalScroll/ScrollViewEnd.native.js +2 -4
- package/lib/Icon/Icon.js +2 -4
- package/lib/Icon/IconText.js +3 -3
- package/lib/IconButton/IconButton.js +2 -4
- package/lib/InputLabel/InputLabel.js +2 -4
- package/lib/InputLabel/LabelContent.js +2 -4
- package/lib/InputLabel/LabelContent.native.js +2 -4
- package/lib/InputSupports/InputSupports.js +4 -5
- package/lib/Link/ChevronLink.js +2 -4
- package/lib/Link/InlinePressable.js +8 -7
- package/lib/Link/InlinePressable.native.js +10 -8
- package/lib/Link/Link.js +2 -4
- package/lib/Link/LinkBase.js +2 -4
- package/lib/Link/TextButton.js +2 -4
- package/lib/List/List.js +13 -11
- package/lib/List/ListItem.js +2 -4
- package/lib/List/ListItemBase.js +6 -10
- package/lib/List/ListItemContent.js +4 -2
- package/lib/List/ListItemMark.js +4 -2
- package/lib/List/PressableListItemBase.js +2 -4
- package/lib/Listbox/GroupControl.js +4 -2
- package/lib/Listbox/Listbox.js +6 -6
- package/lib/Listbox/ListboxContext.js +3 -4
- package/lib/Listbox/ListboxGroup.js +2 -4
- package/lib/Listbox/ListboxItem.js +2 -6
- package/lib/Listbox/ListboxOverlay.js +2 -6
- package/lib/Listbox/PressableItem.js +2 -6
- package/lib/Modal/Modal.js +5 -7
- package/lib/Modal/ModalContent.js +7 -7
- package/lib/Modal/WebModal.js +16 -9
- package/lib/MultiSelectFilter/ModalOverlay.js +2 -4
- package/lib/MultiSelectFilter/MultiSelectFilter.js +10 -10
- package/lib/Notification/Notification.js +5 -7
- package/lib/OrderedList/Item.js +4 -10
- package/lib/OrderedList/ItemBase.js +2 -4
- package/lib/OrderedList/OrderedList.js +5 -13
- package/lib/OrderedList/OrderedListBase.js +2 -4
- package/lib/Pagination/PageButton.js +1 -1
- package/lib/Pagination/Pagination.js +1 -1
- package/lib/Pagination/SideButton.js +2 -4
- package/lib/PriceLockup/PriceLockup.js +5 -5
- package/lib/ProductCard/ProductCard.js +3 -2
- package/lib/ProductCardGroup/ProductCardGroup.js +5 -6
- package/lib/Progress/Progress.js +2 -4
- package/lib/Progress/ProgressBar.js +2 -4
- package/lib/Progress/ProgressBarBackground.js +2 -4
- package/lib/QuickLinks/QuickLinks.js +2 -4
- package/lib/QuickLinks/QuickLinksCard.js +4 -2
- package/lib/QuickLinks/QuickLinksItem.js +2 -4
- package/lib/QuickLinksFeature/QuickLinksFeature.js +9 -7
- package/lib/QuickLinksFeature/QuickLinksFeatureItem.js +10 -12
- package/lib/Radio/Radio.js +3 -3
- package/lib/Radio/RadioButton.js +61 -15
- package/lib/Radio/RadioGroup.js +2 -4
- package/lib/Radio/RadioInput.js +6 -18
- package/lib/RadioCard/RadioCard.js +3 -3
- package/lib/RadioCard/RadioCardGroup.js +3 -3
- package/lib/Responsive/Responsive.js +3 -2
- package/lib/Responsive/ResponsiveWithMediaQueryStyleSheet.js +3 -2
- package/lib/Search/Search.js +2 -4
- package/lib/Select/Group.js +4 -2
- package/lib/Select/Item.js +4 -2
- package/lib/Select/Picker.js +2 -4
- package/lib/Select/Picker.native.js +3 -5
- package/lib/Select/Select.js +4 -6
- package/lib/SideNav/Item.js +2 -4
- package/lib/SideNav/ItemContent.js +4 -2
- package/lib/SideNav/ItemsGroup.js +2 -4
- package/lib/SideNav/SideNav.js +2 -2
- package/lib/Skeleton/Skeleton.js +2 -4
- package/lib/SkipLink/SkipLink.js +2 -4
- package/lib/Spacer/Spacer.js +2 -4
- package/lib/StackView/StackView.js +2 -4
- package/lib/StackView/StackWrap.js +3 -5
- package/lib/StackView/StackWrapBox.js +2 -4
- package/lib/StackView/StackWrapGap.js +2 -4
- package/lib/StackView/getStackedContent.js +3 -3
- package/lib/StepTracker/Step.js +4 -2
- package/lib/StepTracker/StepTracker.js +2 -4
- package/lib/Tabs/Tabs.js +4 -4
- package/lib/Tabs/TabsItem.js +3 -5
- package/lib/Tags/Tags.js +2 -4
- package/lib/TextInput/TextArea.js +3 -5
- package/lib/TextInput/TextInput.js +2 -4
- package/lib/TextInput/TextInputBase.js +7 -9
- package/lib/ThemeProvider/ThemeProvider.js +5 -7
- package/lib/Timeline/Timeline.js +2 -4
- package/lib/ToggleSwitch/ToggleSwitch.js +2 -4
- package/lib/ToggleSwitch/ToggleSwitchGroup.js +2 -4
- package/lib/Tooltip/Tooltip.js +6 -8
- package/lib/Tooltip/Tooltip.native.js +12 -14
- package/lib/TooltipButton/TooltipButton.js +4 -2
- package/lib/Typography/Typography.js +2 -4
- package/lib/Validator/Validator.js +11 -13
- package/lib/ViewportProvider/ViewportProvider.js +2 -4
- package/lib/index.js +8 -0
- package/lib/utils/BaseView/BaseView.js +2 -4
- package/lib/utils/children.js +4 -6
- package/lib/utils/withLinkRouter.js +3 -5
- package/lib-module/A11yInfoProvider/index.js +8 -8
- package/lib-module/A11yText/index.js +2 -2
- package/lib-module/ActivityIndicator/Spinner.js +2 -2
- package/lib-module/ActivityIndicator/Spinner.native.js +2 -2
- package/lib-module/Autocomplete/Autocomplete.js +13 -14
- package/lib-module/Autocomplete/Loading.js +4 -2
- package/lib-module/Autocomplete/Suggestions.js +2 -2
- package/lib-module/Badge/Badge.js +2 -2
- package/lib-module/BaseProvider/HydrationContext.js +5 -5
- package/lib-module/Box/Box.js +5 -5
- package/lib-module/Button/Button.js +2 -2
- package/lib-module/Button/ButtonBase.js +2 -5
- package/lib-module/Button/ButtonDropdown.js +2 -2
- package/lib-module/Button/ButtonGroup.js +2 -2
- package/lib-module/Button/ButtonLink.js +2 -2
- package/lib-module/Card/Card.js +159 -14
- package/lib-module/Card/CardBase.js +2 -2
- package/lib-module/Card/PressableCardBase.js +4 -4
- package/lib-module/CardGroup/CardGroup.js +210 -0
- package/lib-module/CardGroup/dictionary.js +8 -0
- package/lib-module/CardGroup/index.js +2 -0
- package/lib-module/Carousel/Carousel.js +67 -55
- package/lib-module/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +2 -2
- package/lib-module/Carousel/CarouselItem/CarouselItem.js +3 -2
- package/lib-module/Carousel/CarouselStepTracker/CarouselStepTracker.js +4 -2
- package/lib-module/Carousel/CarouselTabs/CarouselTabs.js +2 -2
- package/lib-module/Carousel/CarouselTabs/CarouselTabsPanel.js +6 -6
- package/lib-module/Carousel/CarouselTabs/CarouselTabsPanelItem.js +3 -3
- package/lib-module/Carousel/CarouselThumbnail.js +4 -2
- package/lib-module/Carousel/CarouselThumbnailNavigation.js +2 -2
- package/lib-module/Checkbox/Checkbox.js +2 -2
- package/lib-module/Checkbox/CheckboxButton.js +3 -3
- package/lib-module/Checkbox/CheckboxGroup.js +2 -2
- package/lib-module/Checkbox/CheckboxInput.js +4 -12
- package/lib-module/CheckboxCard/CheckboxCard.js +2 -2
- package/lib-module/CheckboxCardGroup/CheckboxCardGroup.js +2 -2
- package/lib-module/ColourToggle/ColourBubble.js +5 -4
- package/lib-module/ColourToggle/ColourToggle.js +3 -3
- package/lib-module/Divider/Divider.js +2 -2
- package/lib-module/ExpandCollapse/Accordion.js +2 -2
- package/lib-module/ExpandCollapse/Control.js +2 -2
- package/lib-module/ExpandCollapse/ExpandCollapse.js +2 -2
- package/lib-module/ExpandCollapse/Panel.js +3 -3
- package/lib-module/Feedback/Feedback.js +2 -2
- package/lib-module/Fieldset/Fieldset.js +2 -2
- package/lib-module/Fieldset/FieldsetContainer.js +2 -2
- package/lib-module/Fieldset/FieldsetContainer.native.js +2 -2
- package/lib-module/Fieldset/Legend.js +2 -2
- package/lib-module/Fieldset/Legend.native.js +2 -2
- package/lib-module/FlexGrid/Col/Col.js +3 -3
- package/lib-module/FlexGrid/FlexGrid.js +2 -2
- package/lib-module/FlexGrid/Row/Row.js +2 -2
- package/lib-module/Footnote/Footnote.js +9 -7
- package/lib-module/Footnote/FootnoteLink.js +5 -4
- package/lib-module/HorizontalScroll/HorizontalScroll.js +8 -8
- package/lib-module/HorizontalScroll/HorizontalScrollButton.js +2 -2
- package/lib-module/HorizontalScroll/ScrollViewEnd.js +5 -8
- package/lib-module/HorizontalScroll/ScrollViewEnd.native.js +2 -2
- package/lib-module/Icon/Icon.js +2 -2
- package/lib-module/Icon/IconText.js +2 -2
- package/lib-module/IconButton/IconButton.js +2 -2
- package/lib-module/InputLabel/InputLabel.js +2 -2
- package/lib-module/InputLabel/LabelContent.js +2 -2
- package/lib-module/InputLabel/LabelContent.native.js +2 -2
- package/lib-module/InputSupports/InputSupports.js +4 -3
- package/lib-module/Link/ChevronLink.js +2 -2
- package/lib-module/Link/InlinePressable.js +10 -4
- package/lib-module/Link/InlinePressable.native.js +12 -6
- package/lib-module/Link/Link.js +2 -2
- package/lib-module/Link/LinkBase.js +2 -2
- package/lib-module/Link/TextButton.js +2 -2
- package/lib-module/List/List.js +13 -9
- package/lib-module/List/ListItem.js +2 -2
- package/lib-module/List/ListItemBase.js +6 -8
- package/lib-module/List/ListItemContent.js +4 -2
- package/lib-module/List/ListItemMark.js +4 -2
- package/lib-module/List/PressableListItemBase.js +2 -2
- package/lib-module/Listbox/GroupControl.js +4 -2
- package/lib-module/Listbox/Listbox.js +7 -7
- package/lib-module/Listbox/ListboxContext.js +2 -2
- package/lib-module/Listbox/ListboxGroup.js +2 -2
- package/lib-module/Listbox/ListboxItem.js +2 -3
- package/lib-module/Listbox/ListboxOverlay.js +2 -3
- package/lib-module/Listbox/PressableItem.js +2 -3
- package/lib-module/Modal/Modal.js +5 -5
- package/lib-module/Modal/ModalContent.js +7 -5
- package/lib-module/Modal/WebModal.js +16 -9
- package/lib-module/MultiSelectFilter/ModalOverlay.js +2 -2
- package/lib-module/MultiSelectFilter/MultiSelectFilter.js +10 -8
- package/lib-module/Notification/Notification.js +5 -5
- package/lib-module/OrderedList/Item.js +4 -8
- package/lib-module/OrderedList/ItemBase.js +2 -2
- package/lib-module/OrderedList/OrderedList.js +6 -12
- package/lib-module/OrderedList/OrderedListBase.js +2 -2
- package/lib-module/Pagination/PageButton.js +2 -2
- package/lib-module/Pagination/Pagination.js +2 -2
- package/lib-module/Pagination/SideButton.js +2 -2
- package/lib-module/PriceLockup/PriceLockup.js +5 -5
- package/lib-module/ProductCard/ProductCard.js +3 -2
- package/lib-module/ProductCardGroup/ProductCardGroup.js +5 -4
- package/lib-module/Progress/Progress.js +2 -2
- package/lib-module/Progress/ProgressBar.js +2 -2
- package/lib-module/Progress/ProgressBarBackground.js +2 -2
- package/lib-module/QuickLinks/QuickLinks.js +2 -2
- package/lib-module/QuickLinks/QuickLinksCard.js +4 -2
- package/lib-module/QuickLinks/QuickLinksItem.js +2 -2
- package/lib-module/QuickLinksFeature/QuickLinksFeature.js +9 -5
- package/lib-module/QuickLinksFeature/QuickLinksFeatureItem.js +10 -10
- package/lib-module/Radio/Radio.js +2 -2
- package/lib-module/Radio/RadioButton.js +62 -14
- package/lib-module/Radio/RadioGroup.js +2 -2
- package/lib-module/Radio/RadioInput.js +6 -16
- package/lib-module/RadioCard/RadioCard.js +2 -2
- package/lib-module/RadioCard/RadioCardGroup.js +2 -2
- package/lib-module/Responsive/Responsive.js +3 -2
- package/lib-module/Responsive/ResponsiveWithMediaQueryStyleSheet.js +3 -2
- package/lib-module/Search/Search.js +2 -2
- package/lib-module/Select/Group.js +4 -2
- package/lib-module/Select/Item.js +4 -2
- package/lib-module/Select/Picker.js +2 -2
- package/lib-module/Select/Picker.native.js +3 -3
- package/lib-module/Select/Select.js +4 -4
- package/lib-module/SideNav/Item.js +2 -2
- package/lib-module/SideNav/ItemContent.js +4 -2
- package/lib-module/SideNav/ItemsGroup.js +2 -2
- package/lib-module/SideNav/SideNav.js +3 -3
- package/lib-module/Skeleton/Skeleton.js +2 -2
- package/lib-module/SkipLink/SkipLink.js +2 -2
- package/lib-module/Spacer/Spacer.js +2 -2
- package/lib-module/StackView/StackView.js +2 -2
- package/lib-module/StackView/StackWrap.js +3 -3
- package/lib-module/StackView/StackWrapBox.js +2 -2
- package/lib-module/StackView/StackWrapGap.js +2 -2
- package/lib-module/StackView/getStackedContent.js +4 -4
- package/lib-module/StepTracker/Step.js +4 -2
- package/lib-module/StepTracker/StepTracker.js +2 -2
- package/lib-module/Tabs/Tabs.js +3 -3
- package/lib-module/Tabs/TabsItem.js +3 -3
- package/lib-module/Tags/Tags.js +2 -2
- package/lib-module/TextInput/TextArea.js +3 -3
- package/lib-module/TextInput/TextInput.js +2 -2
- package/lib-module/TextInput/TextInputBase.js +7 -7
- package/lib-module/ThemeProvider/ThemeProvider.js +5 -5
- package/lib-module/Timeline/Timeline.js +2 -2
- package/lib-module/ToggleSwitch/ToggleSwitch.js +2 -2
- package/lib-module/ToggleSwitch/ToggleSwitchGroup.js +2 -2
- package/lib-module/Tooltip/Tooltip.js +6 -6
- package/lib-module/Tooltip/Tooltip.native.js +12 -12
- package/lib-module/TooltipButton/TooltipButton.js +4 -2
- package/lib-module/Typography/Typography.js +2 -2
- package/lib-module/Validator/Validator.js +11 -11
- package/lib-module/ViewportProvider/ViewportProvider.js +2 -2
- package/lib-module/index.js +1 -0
- package/lib-module/utils/BaseView/BaseView.js +2 -2
- package/lib-module/utils/children.js +4 -4
- package/lib-module/utils/withLinkRouter.js +3 -3
- package/package.json +2 -2
- package/src/A11yInfoProvider/index.jsx +8 -8
- package/src/A11yText/index.jsx +2 -2
- package/src/ActivityIndicator/Spinner.jsx +2 -2
- package/src/ActivityIndicator/Spinner.native.jsx +2 -2
- package/src/Autocomplete/Autocomplete.jsx +15 -14
- package/src/Autocomplete/Loading.jsx +6 -3
- package/src/Autocomplete/Suggestions.jsx +2 -2
- package/src/Badge/Badge.jsx +2 -2
- package/src/BaseProvider/HydrationContext.jsx +5 -5
- package/src/Box/Box.jsx +5 -5
- package/src/Button/Button.jsx +11 -9
- package/src/Button/ButtonBase.jsx +2 -3
- package/src/Button/ButtonDropdown.jsx +2 -2
- package/src/Button/ButtonGroup.jsx +2 -2
- package/src/Button/ButtonLink.jsx +2 -2
- package/src/Card/Card.jsx +151 -11
- package/src/Card/CardBase.jsx +2 -2
- package/src/Card/PressableCardBase.jsx +18 -4
- package/src/CardGroup/CardGroup.jsx +249 -0
- package/src/CardGroup/dictionary.js +8 -0
- package/src/CardGroup/index.js +3 -0
- package/src/Carousel/Carousel.jsx +69 -53
- package/src/Carousel/CarouselFirstFocus/CarouselFirstFocus.jsx +2 -2
- package/src/Carousel/CarouselItem/CarouselItem.jsx +19 -17
- package/src/Carousel/CarouselStepTracker/CarouselStepTracker.jsx +5 -3
- package/src/Carousel/CarouselTabs/CarouselTabs.jsx +2 -2
- package/src/Carousel/CarouselTabs/CarouselTabsPanel.jsx +6 -6
- package/src/Carousel/CarouselTabs/CarouselTabsPanelItem.jsx +3 -3
- package/src/Carousel/CarouselThumbnail.jsx +6 -2
- package/src/Carousel/CarouselThumbnailNavigation.jsx +2 -2
- package/src/Checkbox/Checkbox.jsx +2 -2
- package/src/Checkbox/CheckboxButton.jsx +5 -7
- package/src/Checkbox/CheckboxGroup.jsx +2 -2
- package/src/Checkbox/CheckboxInput.jsx +15 -12
- package/src/CheckboxCard/CheckboxCard.jsx +2 -2
- package/src/CheckboxCardGroup/CheckboxCardGroup.jsx +2 -2
- package/src/ColourToggle/ColourBubble.jsx +5 -4
- package/src/ColourToggle/ColourToggle.jsx +3 -3
- package/src/Divider/Divider.jsx +2 -2
- package/src/ExpandCollapse/Accordion.jsx +4 -2
- package/src/ExpandCollapse/Control.jsx +2 -2
- package/src/ExpandCollapse/ExpandCollapse.jsx +2 -2
- package/src/ExpandCollapse/Panel.jsx +3 -3
- package/src/Feedback/Feedback.jsx +2 -2
- package/src/Fieldset/Fieldset.jsx +2 -2
- package/src/Fieldset/FieldsetContainer.jsx +2 -2
- package/src/Fieldset/FieldsetContainer.native.jsx +2 -2
- package/src/Fieldset/Legend.jsx +2 -2
- package/src/Fieldset/Legend.native.jsx +2 -2
- package/src/FlexGrid/Col/Col.jsx +3 -3
- package/src/FlexGrid/FlexGrid.jsx +2 -2
- package/src/FlexGrid/Row/Row.jsx +2 -2
- package/src/Footnote/Footnote.jsx +111 -98
- package/src/Footnote/FootnoteLink.jsx +35 -31
- package/src/HorizontalScroll/HorizontalScroll.jsx +8 -8
- package/src/HorizontalScroll/HorizontalScrollButton.jsx +2 -2
- package/src/HorizontalScroll/ScrollViewEnd.jsx +4 -8
- package/src/HorizontalScroll/ScrollViewEnd.native.jsx +2 -2
- package/src/Icon/Icon.jsx +2 -2
- package/src/Icon/IconText.jsx +2 -2
- package/src/IconButton/IconButton.jsx +2 -2
- package/src/InputLabel/InputLabel.jsx +2 -2
- package/src/InputLabel/LabelContent.jsx +2 -2
- package/src/InputLabel/LabelContent.native.jsx +2 -2
- package/src/InputSupports/InputSupports.jsx +4 -3
- package/src/Link/ChevronLink.jsx +2 -2
- package/src/Link/InlinePressable.jsx +22 -15
- package/src/Link/InlinePressable.native.jsx +12 -6
- package/src/Link/Link.jsx +2 -2
- package/src/Link/LinkBase.jsx +2 -2
- package/src/Link/TextButton.jsx +2 -2
- package/src/List/List.jsx +15 -7
- package/src/List/ListItem.jsx +2 -2
- package/src/List/ListItemBase.jsx +6 -12
- package/src/List/ListItemContent.jsx +5 -2
- package/src/List/ListItemMark.jsx +5 -3
- package/src/List/PressableListItemBase.jsx +2 -2
- package/src/Listbox/GroupControl.jsx +5 -2
- package/src/Listbox/Listbox.jsx +7 -7
- package/src/Listbox/ListboxContext.js +2 -2
- package/src/Listbox/ListboxGroup.jsx +2 -2
- package/src/Listbox/ListboxItem.jsx +2 -3
- package/src/Listbox/ListboxOverlay.jsx +2 -3
- package/src/Listbox/PressableItem.jsx +2 -3
- package/src/Modal/Modal.jsx +5 -5
- package/src/Modal/ModalContent.jsx +132 -125
- package/src/Modal/WebModal.jsx +13 -8
- package/src/MultiSelectFilter/ModalOverlay.jsx +2 -2
- package/src/MultiSelectFilter/MultiSelectFilter.jsx +263 -252
- package/src/Notification/Notification.jsx +5 -5
- package/src/OrderedList/Item.jsx +4 -6
- package/src/OrderedList/ItemBase.jsx +2 -2
- package/src/OrderedList/OrderedList.jsx +4 -7
- package/src/OrderedList/OrderedListBase.jsx +2 -2
- package/src/Pagination/PageButton.jsx +2 -2
- package/src/Pagination/Pagination.jsx +2 -2
- package/src/Pagination/SideButton.jsx +2 -2
- package/src/PriceLockup/PriceLockup.jsx +93 -88
- package/src/ProductCard/ProductCard.jsx +90 -84
- package/src/ProductCardGroup/ProductCardGroup.jsx +5 -5
- package/src/Progress/Progress.jsx +2 -2
- package/src/Progress/ProgressBar.jsx +2 -2
- package/src/Progress/ProgressBarBackground.jsx +4 -2
- package/src/QuickLinks/QuickLinks.jsx +2 -2
- package/src/QuickLinks/QuickLinksCard.jsx +9 -3
- package/src/QuickLinks/QuickLinksItem.jsx +2 -2
- package/src/QuickLinksFeature/QuickLinksFeature.jsx +31 -27
- package/src/QuickLinksFeature/QuickLinksFeatureItem.jsx +3 -3
- package/src/Radio/Radio.jsx +2 -2
- package/src/Radio/RadioButton.jsx +58 -6
- package/src/Radio/RadioGroup.jsx +2 -2
- package/src/Radio/RadioInput.jsx +15 -14
- package/src/RadioCard/RadioCard.jsx +2 -2
- package/src/RadioCard/RadioCardGroup.jsx +2 -2
- package/src/Responsive/Responsive.jsx +8 -3
- package/src/Responsive/ResponsiveWithMediaQueryStyleSheet.jsx +23 -16
- package/src/Search/Search.jsx +2 -2
- package/src/Select/Group.jsx +9 -3
- package/src/Select/Item.jsx +7 -1
- package/src/Select/Picker.jsx +2 -2
- package/src/Select/Picker.native.jsx +3 -3
- package/src/Select/Select.jsx +4 -4
- package/src/SideNav/Item.jsx +2 -2
- package/src/SideNav/ItemContent.jsx +7 -3
- package/src/SideNav/ItemsGroup.jsx +2 -2
- package/src/SideNav/SideNav.jsx +3 -3
- package/src/Skeleton/Skeleton.jsx +2 -2
- package/src/SkipLink/SkipLink.jsx +2 -2
- package/src/Spacer/Spacer.jsx +2 -2
- package/src/StackView/StackView.jsx +2 -2
- package/src/StackView/StackWrap.jsx +3 -3
- package/src/StackView/StackWrapBox.jsx +2 -2
- package/src/StackView/StackWrapGap.jsx +2 -2
- package/src/StackView/getStackedContent.jsx +4 -4
- package/src/StepTracker/Step.jsx +75 -67
- package/src/StepTracker/StepTracker.jsx +2 -2
- package/src/Tabs/Tabs.jsx +3 -3
- package/src/Tabs/TabsItem.jsx +3 -3
- package/src/Tags/Tags.jsx +2 -2
- package/src/TextInput/TextArea.jsx +3 -3
- package/src/TextInput/TextInput.jsx +2 -2
- package/src/TextInput/TextInputBase.jsx +7 -7
- package/src/ThemeProvider/ThemeProvider.jsx +5 -5
- package/src/Timeline/Timeline.jsx +2 -2
- package/src/ToggleSwitch/ToggleSwitch.jsx +2 -2
- package/src/ToggleSwitch/ToggleSwitchGroup.jsx +2 -2
- package/src/Tooltip/Tooltip.jsx +6 -6
- package/src/Tooltip/Tooltip.native.jsx +12 -12
- package/src/TooltipButton/TooltipButton.jsx +5 -2
- package/src/Typography/Typography.jsx +2 -2
- package/src/Validator/Validator.jsx +11 -11
- package/src/ViewportProvider/ViewportProvider.jsx +2 -2
- package/src/index.js +1 -0
- package/src/utils/BaseView/BaseView.jsx +2 -2
- package/src/utils/children.jsx +4 -4
- package/src/utils/withLinkRouter.jsx +3 -3
- package/types/ExpandCollapse.d.ts +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
import { StackWrap } from '../StackView'
|
|
4
|
-
|
|
4
|
+
import { useViewport } from '../ViewportProvider'
|
|
5
5
|
import { useThemeTokens } from '../ThemeProvider'
|
|
6
6
|
import { a11yProps, getTokensPropType, selectSystemProps, variantProp, viewProps } from '../utils'
|
|
7
7
|
|
|
@@ -17,34 +17,38 @@ const isQuickListItem = (element) => {
|
|
|
17
17
|
* QuickLinksFeature renders a list of interactive items.
|
|
18
18
|
* - This is the base component that is used as a wrapper and accepts a List of `QuickLinksFeature.Item`
|
|
19
19
|
*/
|
|
20
|
-
const QuickLinksFeature = forwardRef(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
const QuickLinksFeature = React.forwardRef(
|
|
21
|
+
({ tokens, variant, tag = 'ul', children, ...rest }, ref) => {
|
|
22
|
+
const viewport = useViewport()
|
|
23
|
+
const { stackGap, stackJustify, stackSpace } = useThemeTokens(
|
|
24
|
+
'QuickLinksFeature',
|
|
25
|
+
tokens,
|
|
26
|
+
variant,
|
|
27
|
+
{ viewport }
|
|
28
|
+
)
|
|
26
29
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
30
|
+
const items = React.Children.map(children, (child) => {
|
|
31
|
+
if (isQuickListItem(child)) {
|
|
32
|
+
return React.cloneElement(child, child.props)
|
|
33
|
+
}
|
|
31
34
|
|
|
32
|
-
|
|
33
|
-
|
|
35
|
+
return null
|
|
36
|
+
})
|
|
34
37
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
38
|
+
return (
|
|
39
|
+
<StackWrap
|
|
40
|
+
space={stackSpace}
|
|
41
|
+
gap={stackGap}
|
|
42
|
+
tokens={{ justifyContent: stackJustify }}
|
|
43
|
+
tag={tag}
|
|
44
|
+
ref={ref}
|
|
45
|
+
{...selectProps(rest)}
|
|
46
|
+
>
|
|
47
|
+
{items}
|
|
48
|
+
</StackWrap>
|
|
49
|
+
)
|
|
50
|
+
}
|
|
51
|
+
)
|
|
48
52
|
|
|
49
53
|
QuickLinksFeature.displayName = 'QuickLinksFeature'
|
|
50
54
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
|
|
4
4
|
import { Image, Platform, Text, View } from 'react-native'
|
|
@@ -48,7 +48,7 @@ const selectLinkToken = ({ outerBorderColor }) => ({ outerBorderColor })
|
|
|
48
48
|
*
|
|
49
49
|
* It will receive a image source and a accessibility label and will render a link accordingly with the theme tokens
|
|
50
50
|
*/
|
|
51
|
-
const QuickLinksFeatureItem = forwardRef(
|
|
51
|
+
const QuickLinksFeatureItem = React.forwardRef(
|
|
52
52
|
({ tokens, variant, children, imageAccessibilityLabel, imageSource, ...rest }, ref) => {
|
|
53
53
|
const viewport = useViewport()
|
|
54
54
|
const getTokens = useThemeTokensCallback('QuickLinksFeatureItem', tokens, variant)
|
|
@@ -86,8 +86,8 @@ const QuickLinksFeatureItem = forwardRef(
|
|
|
86
86
|
source={imageSource}
|
|
87
87
|
style={selectImageStyle(imageDimension)}
|
|
88
88
|
/>
|
|
89
|
+
<Text style={textStyle}>{children}</Text>
|
|
89
90
|
</View>
|
|
90
|
-
<Text style={textStyle}>{children}</Text>
|
|
91
91
|
</StackWrap>
|
|
92
92
|
</View>
|
|
93
93
|
)
|
package/src/Radio/Radio.jsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
import { Pressable, StyleSheet, Text, View } from 'react-native'
|
|
4
4
|
|
|
@@ -111,7 +111,7 @@ const selectLabelStyles = ({
|
|
|
111
111
|
* or the internal state in case of uncontrolled radio button.
|
|
112
112
|
*
|
|
113
113
|
*/
|
|
114
|
-
const Radio = forwardRef(
|
|
114
|
+
const Radio = React.forwardRef(
|
|
115
115
|
(
|
|
116
116
|
{
|
|
117
117
|
checked,
|
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
import { Platform, StyleSheet, View } from 'react-native'
|
|
4
4
|
|
|
5
5
|
import RadioInput from './RadioInput'
|
|
6
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
applyOuterBorder,
|
|
8
|
+
applyShadowToken,
|
|
9
|
+
resolveThemeTokens,
|
|
10
|
+
validateThemeTokens,
|
|
11
|
+
useThemeTokens
|
|
12
|
+
} from '../ThemeProvider'
|
|
7
13
|
import {
|
|
8
14
|
a11yProps,
|
|
9
15
|
getTokensSetPropType,
|
|
@@ -43,6 +49,32 @@ const selectCheckedStyles = ({ checkedBackgroundColor, checkedSize }) => ({
|
|
|
43
49
|
width: checkedSize
|
|
44
50
|
})
|
|
45
51
|
|
|
52
|
+
const selectIconTokens = ({ icon, iconColor, checkedSize }) => ({
|
|
53
|
+
icon,
|
|
54
|
+
color: iconColor,
|
|
55
|
+
size: checkedSize
|
|
56
|
+
})
|
|
57
|
+
|
|
58
|
+
const selectInputIconStyles = (
|
|
59
|
+
{
|
|
60
|
+
iconBackgroundColor,
|
|
61
|
+
inputBackgroundColor,
|
|
62
|
+
inputBorderColor,
|
|
63
|
+
inputBorderWidth,
|
|
64
|
+
inputSize,
|
|
65
|
+
containerShadow
|
|
66
|
+
},
|
|
67
|
+
isChecked
|
|
68
|
+
) => ({
|
|
69
|
+
borderColor: inputBorderColor,
|
|
70
|
+
borderRadius: getBorderRadius(inputSize),
|
|
71
|
+
borderWidth: inputBorderWidth,
|
|
72
|
+
backgroundColor: isChecked ? iconBackgroundColor : inputBackgroundColor,
|
|
73
|
+
height: inputSize,
|
|
74
|
+
width: inputSize,
|
|
75
|
+
...applyShadowToken(containerShadow)
|
|
76
|
+
})
|
|
77
|
+
|
|
46
78
|
const selectInputStyles = ({
|
|
47
79
|
inputBackgroundColor,
|
|
48
80
|
inputBorderColor,
|
|
@@ -84,7 +116,7 @@ const selectOuterBorderStyles = ({
|
|
|
84
116
|
* The visual toggle of a radio input. Is not interactive on its own, should be used inside
|
|
85
117
|
* an interactive parent that passes down props when interacted with.
|
|
86
118
|
*/
|
|
87
|
-
const RadioButton = forwardRef(
|
|
119
|
+
const RadioButton = React.forwardRef(
|
|
88
120
|
(
|
|
89
121
|
{
|
|
90
122
|
isChecked,
|
|
@@ -96,20 +128,40 @@ const RadioButton = forwardRef(
|
|
|
96
128
|
handleChange,
|
|
97
129
|
name: inputName,
|
|
98
130
|
value,
|
|
131
|
+
testID = 'Radio-Checked',
|
|
99
132
|
...rest
|
|
100
133
|
},
|
|
101
134
|
ref
|
|
102
135
|
) => {
|
|
136
|
+
const radioTokens = useThemeTokens('Radio', tokens, {
|
|
137
|
+
checked: isChecked
|
|
138
|
+
})
|
|
139
|
+
const { icon: IconComponent, ...iconTokens } = selectIconTokens(radioTokens)
|
|
103
140
|
const themeTokens = validateThemeTokens(
|
|
104
|
-
resolveThemeTokens(
|
|
141
|
+
resolveThemeTokens(IconComponent ? radioTokens : tokens, {
|
|
142
|
+
checked: isChecked
|
|
143
|
+
}),
|
|
105
144
|
getTokensSetPropType(tokenKeys),
|
|
106
145
|
'RadioButton'
|
|
107
146
|
)
|
|
108
147
|
|
|
148
|
+
const getCheckedInput = (checked) => {
|
|
149
|
+
if (!checked) return null
|
|
150
|
+
if (!IconComponent) {
|
|
151
|
+
return <View style={selectCheckedStyles(themeTokens)} testID={testID} />
|
|
152
|
+
}
|
|
153
|
+
return <IconComponent {...iconTokens} />
|
|
154
|
+
}
|
|
155
|
+
|
|
109
156
|
return (
|
|
110
157
|
<View style={selectOuterBorderStyles(themeTokens)} {...selectProps(rest)}>
|
|
111
158
|
<View
|
|
112
|
-
style={[
|
|
159
|
+
style={[
|
|
160
|
+
staticStyles.defaultInputStyles,
|
|
161
|
+
IconComponent
|
|
162
|
+
? selectInputIconStyles(themeTokens, isChecked)
|
|
163
|
+
: selectInputStyles(themeTokens)
|
|
164
|
+
]}
|
|
113
165
|
testID="Radio-Input"
|
|
114
166
|
>
|
|
115
167
|
{/* Add a real input on Web, skip on native platforms */}
|
|
@@ -124,7 +176,7 @@ const RadioButton = forwardRef(
|
|
|
124
176
|
name={inputName}
|
|
125
177
|
value={value}
|
|
126
178
|
/>
|
|
127
|
-
{isChecked
|
|
179
|
+
{getCheckedInput(isChecked)}
|
|
128
180
|
</View>
|
|
129
181
|
</View>
|
|
130
182
|
)
|
package/src/Radio/RadioGroup.jsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
import ABBPropTypes from 'airbnb-prop-types'
|
|
4
4
|
|
|
@@ -73,7 +73,7 @@ const [selectItemProps, selectedItemPropTypes] = selectSystemProps([
|
|
|
73
73
|
* />
|
|
74
74
|
* ```
|
|
75
75
|
*/
|
|
76
|
-
const RadioGroup = forwardRef(
|
|
76
|
+
const RadioGroup = React.forwardRef(
|
|
77
77
|
(
|
|
78
78
|
{
|
|
79
79
|
copy = 'en',
|
package/src/Radio/RadioInput.jsx
CHANGED
|
@@ -1,11 +1,23 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* On Web we need to include an actual input but hide it.
|
|
6
6
|
*/
|
|
7
|
-
const RadioInput = forwardRef(
|
|
8
|
-
(
|
|
7
|
+
const RadioInput = React.forwardRef(
|
|
8
|
+
(
|
|
9
|
+
{
|
|
10
|
+
checked,
|
|
11
|
+
defaultChecked,
|
|
12
|
+
disabled = false,
|
|
13
|
+
id = null,
|
|
14
|
+
isControlled = false,
|
|
15
|
+
name,
|
|
16
|
+
onChange = () => {},
|
|
17
|
+
value
|
|
18
|
+
},
|
|
19
|
+
ref
|
|
20
|
+
) => {
|
|
9
21
|
const handleClick = (event) => {
|
|
10
22
|
// Cancel the click dispatched via the label tag, since it's already wrapped
|
|
11
23
|
// in <Pressable>
|
|
@@ -43,15 +55,4 @@ RadioInput.propTypes = {
|
|
|
43
55
|
value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.bool])
|
|
44
56
|
}
|
|
45
57
|
|
|
46
|
-
RadioInput.defaultProps = {
|
|
47
|
-
checked: undefined,
|
|
48
|
-
defaultChecked: undefined,
|
|
49
|
-
disabled: false,
|
|
50
|
-
id: null,
|
|
51
|
-
isControlled: false,
|
|
52
|
-
name: undefined,
|
|
53
|
-
onChange: () => {},
|
|
54
|
-
value: undefined
|
|
55
|
-
}
|
|
56
|
-
|
|
57
58
|
export default RadioInput
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
import { StyleSheet, Text, View } from 'react-native'
|
|
4
4
|
|
|
@@ -59,7 +59,7 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([
|
|
|
59
59
|
* accessibility role `'radio'` and accessibility state that depends on the other props (`checked`, `inactive`)
|
|
60
60
|
* or the internal state in case of uncontrolled radio button.
|
|
61
61
|
*/
|
|
62
|
-
const RadioCard = forwardRef(
|
|
62
|
+
const RadioCard = React.forwardRef(
|
|
63
63
|
(
|
|
64
64
|
{
|
|
65
65
|
tokens,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
|
|
4
4
|
import { useViewport } from '../ViewportProvider'
|
|
@@ -74,7 +74,7 @@ const [selectItemProps, selectedItemPropTypes] = selectSystemProps([
|
|
|
74
74
|
* />
|
|
75
75
|
* ```
|
|
76
76
|
*/
|
|
77
|
-
const RadioCardGroup = forwardRef(
|
|
77
|
+
const RadioCardGroup = React.forwardRef(
|
|
78
78
|
(
|
|
79
79
|
{
|
|
80
80
|
copy = 'en',
|
|
@@ -17,13 +17,18 @@ import ResponsiveWithMediaQueryStyleSheet from './ResponsiveWithMediaQueryStyleS
|
|
|
17
17
|
* is used to hide and show children of `Responsive` within a View.
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
|
-
const Responsive = ({ min = 'xs', max, inheritedStyles = [], children }) => {
|
|
20
|
+
const Responsive = React.forwardRef(({ min = 'xs', max, inheritedStyles = [], children }, ref) => {
|
|
21
21
|
const {
|
|
22
22
|
themeOptions: { enableMediaQueryStyleSheet }
|
|
23
23
|
} = useTheme()
|
|
24
24
|
if (enableMediaQueryStyleSheet) {
|
|
25
25
|
return (
|
|
26
|
-
<ResponsiveWithMediaQueryStyleSheet
|
|
26
|
+
<ResponsiveWithMediaQueryStyleSheet
|
|
27
|
+
inheritedStyles={inheritedStyles}
|
|
28
|
+
min={min}
|
|
29
|
+
max={max}
|
|
30
|
+
ref={ref}
|
|
31
|
+
>
|
|
27
32
|
{children}
|
|
28
33
|
</ResponsiveWithMediaQueryStyleSheet>
|
|
29
34
|
)
|
|
@@ -33,7 +38,7 @@ const Responsive = ({ min = 'xs', max, inheritedStyles = [], children }) => {
|
|
|
33
38
|
{children}
|
|
34
39
|
</ResponsiveProp>
|
|
35
40
|
)
|
|
36
|
-
}
|
|
41
|
+
})
|
|
37
42
|
|
|
38
43
|
Responsive.displayName = 'Responsive'
|
|
39
44
|
|
|
@@ -25,22 +25,29 @@ function generateResponsiveStyles(min, max) {
|
|
|
25
25
|
})
|
|
26
26
|
return createMediaQueryStyles(styles, false)
|
|
27
27
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
28
|
+
|
|
29
|
+
const ResponsiveWithMediaQueryStyleSheet = React.forwardRef(
|
|
30
|
+
({ min, max, inheritedStyles = [], children }, ref) => {
|
|
31
|
+
const { ids, styles } = StyleSheet.create({
|
|
32
|
+
responsive: {
|
|
33
|
+
...inheritedStyles.reduce((acc, prop) => {
|
|
34
|
+
acc[prop] = 'inherit'
|
|
35
|
+
return acc
|
|
36
|
+
}, {}),
|
|
37
|
+
...generateResponsiveStyles(min, max)
|
|
38
|
+
}
|
|
39
|
+
})
|
|
40
|
+
return (
|
|
41
|
+
<BaseView
|
|
42
|
+
style={styles.responsive}
|
|
43
|
+
dataSet={ids.responsive && { media: ids.responsive }}
|
|
44
|
+
ref={ref}
|
|
45
|
+
>
|
|
46
|
+
{children}
|
|
47
|
+
</BaseView>
|
|
48
|
+
)
|
|
49
|
+
}
|
|
50
|
+
)
|
|
44
51
|
|
|
45
52
|
ResponsiveWithMediaQueryStyleSheet.displayName = 'Responsive'
|
|
46
53
|
|
package/src/Search/Search.jsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import { View } from 'react-native'
|
|
3
3
|
|
|
4
4
|
import PropTypes from 'prop-types'
|
|
@@ -56,7 +56,7 @@ const selectIconTokens = ({ iconSize, iconColor }) => ({ color: iconColor, size:
|
|
|
56
56
|
* Use the following props to supply additional accessibility labels for the input - `accessibilityLabel`,
|
|
57
57
|
* clear button - `clearButtonAccessibilityLabel`, and submit button - `submitButtonAccessibilityLabel`.
|
|
58
58
|
*/
|
|
59
|
-
const Search = forwardRef(
|
|
59
|
+
const Search = React.forwardRef(
|
|
60
60
|
(
|
|
61
61
|
{
|
|
62
62
|
initialValue,
|
package/src/Select/Group.jsx
CHANGED
|
@@ -3,9 +3,15 @@ import PropTypes from 'prop-types'
|
|
|
3
3
|
|
|
4
4
|
import { componentPropType } from '../utils'
|
|
5
5
|
|
|
6
|
-
const Group = ({ children, label }) => {
|
|
7
|
-
return
|
|
8
|
-
}
|
|
6
|
+
const Group = React.forwardRef(({ children, label }, ref) => {
|
|
7
|
+
return (
|
|
8
|
+
<optgroup label={label} ref={ref}>
|
|
9
|
+
{children}
|
|
10
|
+
</optgroup>
|
|
11
|
+
)
|
|
12
|
+
})
|
|
13
|
+
|
|
14
|
+
Group.displayName = 'Group'
|
|
9
15
|
|
|
10
16
|
export default Group
|
|
11
17
|
|
package/src/Select/Item.jsx
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
|
|
4
|
-
const Item = ({ children, value }) =>
|
|
4
|
+
const Item = React.forwardRef(({ children, value }, ref) => (
|
|
5
|
+
<option value={value} ref={ref}>
|
|
6
|
+
{children}
|
|
7
|
+
</option>
|
|
8
|
+
))
|
|
9
|
+
|
|
10
|
+
Item.displayName = 'Item'
|
|
5
11
|
|
|
6
12
|
export default Item
|
|
7
13
|
|
package/src/Select/Picker.jsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
import { View, Platform } from 'react-native'
|
|
4
4
|
import NativePicker from 'react-native-picker-select'
|
|
@@ -40,10 +40,10 @@ const selectAndroidContainerStyles = ({
|
|
|
40
40
|
height: rest.height + ANDROID_HEIGHT_OFFSET
|
|
41
41
|
})
|
|
42
42
|
|
|
43
|
-
const Picker = forwardRef(
|
|
43
|
+
const Picker = React.forwardRef(
|
|
44
44
|
({ value, onChange, onFocus, onBlur, style, inactive, children, placeholder, ...rest }, ref) => {
|
|
45
45
|
// Ungroup items, since there's no way to support groups on native
|
|
46
|
-
const flatChildren = Children.toArray(children).flatMap((child) => {
|
|
46
|
+
const flatChildren = React.Children.toArray(children).flatMap((child) => {
|
|
47
47
|
if (child.type === Group) {
|
|
48
48
|
return child.props.children
|
|
49
49
|
}
|
package/src/Select/Select.jsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
|
|
3
3
|
import { View, Platform, StyleSheet } from 'react-native'
|
|
4
4
|
import PropTypes from 'prop-types'
|
|
@@ -179,7 +179,7 @@ const selectCustomFeedbackStyles = ({ feedbackBackgroundColor }) => ({
|
|
|
179
179
|
* NOTE: this does not work on native platforms - the grouped items will be shown at the same level as the non-grouped items.
|
|
180
180
|
*
|
|
181
181
|
*/
|
|
182
|
-
const Select = forwardRef(
|
|
182
|
+
const Select = React.forwardRef(
|
|
183
183
|
(
|
|
184
184
|
{
|
|
185
185
|
value,
|
|
@@ -204,11 +204,11 @@ const Select = forwardRef(
|
|
|
204
204
|
readOnly
|
|
205
205
|
})
|
|
206
206
|
|
|
207
|
-
const [isFocused, setIsFocused] = useState(false)
|
|
207
|
+
const [isFocused, setIsFocused] = React.useState(false)
|
|
208
208
|
const handleFocus = () => setIsFocused(true)
|
|
209
209
|
const handleBlur = () => setIsFocused(false)
|
|
210
210
|
|
|
211
|
-
const [isHovered, setIsHovered] = useState(false)
|
|
211
|
+
const [isHovered, setIsHovered] = React.useState(false)
|
|
212
212
|
const handleMouseOver = () => setIsHovered(true)
|
|
213
213
|
const handleMouseOut = () => setIsHovered(false)
|
|
214
214
|
|
package/src/SideNav/Item.jsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import { Pressable, Platform } from 'react-native'
|
|
3
3
|
import PropTypes from 'prop-types'
|
|
4
4
|
import {
|
|
@@ -46,7 +46,7 @@ function selectItemStyles({
|
|
|
46
46
|
|
|
47
47
|
This component can only be accessed as a name-spaced component: `SideNav.Item`.
|
|
48
48
|
*/
|
|
49
|
-
const Item = forwardRef(
|
|
49
|
+
const Item = React.forwardRef(
|
|
50
50
|
(
|
|
51
51
|
{
|
|
52
52
|
children,
|
|
@@ -19,16 +19,20 @@ export function selectAccentStyles(tokens) {
|
|
|
19
19
|
/**
|
|
20
20
|
* Content inside an item or control in a SideNav, themed by the SideNavItem theme
|
|
21
21
|
*/
|
|
22
|
-
const ItemContent = ({ children, tokens }) => {
|
|
22
|
+
const ItemContent = React.forwardRef(({ children, tokens }, ref) => {
|
|
23
23
|
const typographyTokens = selectTokens('Typography', tokens)
|
|
24
24
|
|
|
25
25
|
return (
|
|
26
26
|
<>
|
|
27
|
-
<Typography tokens={typographyTokens}
|
|
27
|
+
<Typography tokens={typographyTokens} ref={ref}>
|
|
28
|
+
{children}
|
|
29
|
+
</Typography>
|
|
28
30
|
<View style={[staticStyles.absolute, selectAccentStyles(tokens)]} />
|
|
29
31
|
</>
|
|
30
32
|
)
|
|
31
|
-
}
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
ItemContent.displayName = 'ItemContent'
|
|
32
36
|
|
|
33
37
|
ItemContent.propTypes = {
|
|
34
38
|
tokens: getTokensPropType('SideNavItem'),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
|
|
4
4
|
import ItemContent from './ItemContent'
|
|
@@ -16,7 +16,7 @@ import { useThemeTokensCallback } from '../ThemeProvider'
|
|
|
16
16
|
## Usage Criteria
|
|
17
17
|
- Use `SideNav.ItemsGroup` with large pages that have multiple sections
|
|
18
18
|
*/
|
|
19
|
-
const ItemsGroup = forwardRef(
|
|
19
|
+
const ItemsGroup = React.forwardRef(
|
|
20
20
|
(
|
|
21
21
|
{
|
|
22
22
|
children,
|
package/src/SideNav/SideNav.jsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
|
|
4
4
|
import ExpandCollapse from '../ExpandCollapse'
|
|
@@ -29,10 +29,10 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, vie
|
|
|
29
29
|
- Use in conjunction with a large amount of educational / informational content
|
|
30
30
|
- Allow the user to navigate between options frequently and efficiently
|
|
31
31
|
*/
|
|
32
|
-
const SideNav = forwardRef(
|
|
32
|
+
const SideNav = React.forwardRef(
|
|
33
33
|
({ children, variant = {}, tokens, accordion = true, itemTokens, groupTokens, ...rest }, ref) => {
|
|
34
34
|
const themeTokens = useThemeTokens('SideNav', tokens, variant)
|
|
35
|
-
const [active, setActive] = useState({ groupId: undefined, itemId: undefined })
|
|
35
|
+
const [active, setActive] = React.useState({ groupId: undefined, itemId: undefined })
|
|
36
36
|
|
|
37
37
|
const onItemPress = (itemId, groupId) => {
|
|
38
38
|
setActive({ itemId, groupId })
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import { Animated, Platform, StyleSheet, View } from 'react-native'
|
|
3
3
|
import propTypes from 'prop-types'
|
|
4
4
|
import StackView from '../StackView'
|
|
@@ -40,7 +40,7 @@ const selectSquareStyles = ({ radius }) => ({
|
|
|
40
40
|
borderRadius: radius
|
|
41
41
|
})
|
|
42
42
|
|
|
43
|
-
const Skeleton = forwardRef(
|
|
43
|
+
const Skeleton = React.forwardRef(
|
|
44
44
|
(
|
|
45
45
|
{
|
|
46
46
|
tokens,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import { Platform, Pressable, StyleSheet, Text } from 'react-native'
|
|
3
3
|
import PropTypes from 'prop-types'
|
|
4
4
|
|
|
@@ -100,7 +100,7 @@ const selectTextStyles = ({ color, textLine, fontName, fontSize, fontWeight, lin
|
|
|
100
100
|
*
|
|
101
101
|
* Skip link supports all the common a11y and link props.
|
|
102
102
|
*/
|
|
103
|
-
const SkipLink = forwardRef(({ tokens, variant, href, children, ...rawRest }, ref) => {
|
|
103
|
+
const SkipLink = React.forwardRef(({ tokens, variant, href, children, ...rawRest }, ref) => {
|
|
104
104
|
const { onPress, ...rest } = clickProps.toPressProps(rawRest)
|
|
105
105
|
|
|
106
106
|
const getTokens = useThemeTokensCallback('SkipLink', tokens, variant)
|
package/src/Spacer/Spacer.jsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
import { StyleSheet, View } from 'react-native'
|
|
4
4
|
import { a11yProps, selectSystemProps, spacingProps, useSpacingScale, viewProps } from '../utils'
|
|
@@ -56,7 +56,7 @@ const selectSizeStyle = (size, direction) => ({
|
|
|
56
56
|
* Spacer has no content and is ignored by tools such as screen readers. Use `Divider` for
|
|
57
57
|
* separations between elements that may be treated as semantically meaningful on web.
|
|
58
58
|
*/
|
|
59
|
-
const Spacer = forwardRef(({ space = 1, direction = 'column', ...rest }, ref) => {
|
|
59
|
+
const Spacer = React.forwardRef(({ space = 1, direction = 'column', ...rest }, ref) => {
|
|
60
60
|
const size = useSpacingScale(space)
|
|
61
61
|
const sizeStyle = selectSizeStyle(size, direction)
|
|
62
62
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
import { View } from 'react-native'
|
|
4
4
|
|
|
@@ -64,7 +64,7 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, vie
|
|
|
64
64
|
* It applies no accessibility props of its own, unless `divider` prop is passed (`Divider` has a
|
|
65
65
|
* semantic role but only on web, not within native apps).
|
|
66
66
|
*/
|
|
67
|
-
const StackView = forwardRef(
|
|
67
|
+
const StackView = React.forwardRef(
|
|
68
68
|
(
|
|
69
69
|
{
|
|
70
70
|
space = 0,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import { Platform } from 'react-native'
|
|
3
3
|
|
|
4
4
|
import useSafeLayoutEffect from '../utils/useSafeLayoutEffect'
|
|
@@ -23,8 +23,8 @@ const exampleGapValue = '1px'
|
|
|
23
23
|
* wrapped lines of items. By default, this `gap` is the same as the gap between spaced items.
|
|
24
24
|
* If a different spacing is desired between wrapped lines, pass a spacing value to the `gap` prop.
|
|
25
25
|
*/
|
|
26
|
-
const StackWrap = forwardRef((props, ref) => {
|
|
27
|
-
const [canUseCSSGap, setCanUseCSSGap] = useState(false)
|
|
26
|
+
const StackWrap = React.forwardRef((props, ref) => {
|
|
27
|
+
const [canUseCSSGap, setCanUseCSSGap] = React.useState(false)
|
|
28
28
|
const { space } = props
|
|
29
29
|
// Don't apply separate gap if `null` or `undefined`, so can be unset in Storybook etc
|
|
30
30
|
const gap = props.gap ?? space
|