@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,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
|
import {
|
|
@@ -47,7 +47,7 @@ const spaceSides = {
|
|
|
47
47
|
* Unlike the cleaner and more side-effect-free CSS gap StackWrap implementation, this renders a Box (View)
|
|
48
48
|
* between the container and the stacked children, and requires a negative margin on the container.
|
|
49
49
|
*/
|
|
50
|
-
const StackWrapBox = forwardRef(
|
|
50
|
+
const StackWrapBox = React.forwardRef(
|
|
51
51
|
(
|
|
52
52
|
{
|
|
53
53
|
space = 1,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import { View } from 'react-native'
|
|
3
3
|
|
|
4
4
|
import StackWrapBox from './StackWrapBox'
|
|
@@ -27,7 +27,7 @@ const [selectProps] = selectSystemProps([a11yProps, viewProps])
|
|
|
27
27
|
* - The `space` between items is the same as the `gap` between wrapped rows (this is the
|
|
28
28
|
* default if `gap` prop is undefined)
|
|
29
29
|
*/
|
|
30
|
-
const StackWrapGap = forwardRef(
|
|
30
|
+
const StackWrapGap = React.forwardRef(
|
|
31
31
|
(
|
|
32
32
|
{
|
|
33
33
|
space = 1,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
|
|
3
3
|
import Box from '../Box'
|
|
4
4
|
import Divider from '../Divider'
|
|
@@ -39,7 +39,7 @@ const getStackedContent = (
|
|
|
39
39
|
|
|
40
40
|
// Avoid surprises if children contains comments, nulls, or is a variable wrapped as a fragment
|
|
41
41
|
const topLevelChildren = preserveFragments ? children : unpackFragment(children)
|
|
42
|
-
const validChildren = Children.toArray(topLevelChildren).filter(Boolean)
|
|
42
|
+
const validChildren = React.Children.toArray(topLevelChildren).filter(Boolean)
|
|
43
43
|
const content = validChildren.reduce((newChildren, child, index) => {
|
|
44
44
|
const boxID = `Stack-Box-${index}`
|
|
45
45
|
const item = box ? (
|
|
@@ -109,10 +109,10 @@ const getStackedContent = (
|
|
|
109
109
|
*/
|
|
110
110
|
const unpackFragment = (child) => {
|
|
111
111
|
// If this level is a set of top-level siblings rather than one child, check each in turn
|
|
112
|
-
if (Children.count(child) > 1) return Children.map(child, unpackFragment)
|
|
112
|
+
if (React.Children.count(child) > 1) return React.Children.map(child, unpackFragment)
|
|
113
113
|
|
|
114
114
|
// When a fragment is found, unpack its children to the top level and check them
|
|
115
|
-
if (child?.type === Fragment) return unpackFragment(child.props?.children)
|
|
115
|
+
if (child?.type === React.Fragment) return unpackFragment(child.props?.children)
|
|
116
116
|
|
|
117
117
|
// Stop unpacking as soon as any non-fragment child is found
|
|
118
118
|
return child
|
package/src/StepTracker/Step.jsx
CHANGED
|
@@ -141,79 +141,87 @@ const getStepTestID = (isCompleted, isCurrent) => {
|
|
|
141
141
|
/**
|
|
142
142
|
* A single step of a StepTracker.
|
|
143
143
|
*/
|
|
144
|
-
const Step = (
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
144
|
+
const Step = React.forwardRef(
|
|
145
|
+
({ label, name, status = 0, stepCount = 0, stepIndex = 0, tokens, ...rest }, ref) => {
|
|
146
|
+
const { completedIcon, showStepLabel, showStepName, textStepTrackerLabel, ...themeTokens } =
|
|
147
|
+
tokens
|
|
148
|
+
const isFirst = stepIndex === 0
|
|
149
|
+
const isLast = stepIndex === stepCount - 1
|
|
150
|
+
const isCompleted = status > stepIndex
|
|
151
|
+
const isCurrent = status === stepIndex
|
|
152
|
+
const isActive = isCompleted || isCurrent
|
|
153
|
+
const { themeOptions } = useTheme()
|
|
153
154
|
|
|
154
|
-
|
|
155
|
-
<StackView
|
|
156
|
-
space={0}
|
|
157
|
-
tokens={{ alignItems: 'stretch', flexGrow: 1 }}
|
|
158
|
-
accessibilityLabel={label}
|
|
159
|
-
accessibilityLevel={2}
|
|
160
|
-
accessibilityCurrent={status === stepIndex}
|
|
161
|
-
{...selectProps(rest)}
|
|
162
|
-
>
|
|
155
|
+
return (
|
|
163
156
|
<StackView
|
|
164
|
-
direction="row"
|
|
165
157
|
space={0}
|
|
166
|
-
tokens={{ alignItems: '
|
|
158
|
+
tokens={{ alignItems: 'stretch', flexGrow: 1 }}
|
|
159
|
+
accessibilityLabel={label}
|
|
160
|
+
accessibilityLevel={2}
|
|
161
|
+
accessibilityCurrent={status === stepIndex}
|
|
162
|
+
ref={ref}
|
|
163
|
+
{...selectProps(rest)}
|
|
167
164
|
>
|
|
168
|
-
<
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
style={[staticStyles.knob, selectKnobStyles(themeTokens, isCompleted, isCurrent)]}
|
|
173
|
-
testID={getStepTestID(isCompleted, isCurrent)}
|
|
165
|
+
<StackView
|
|
166
|
+
direction="row"
|
|
167
|
+
space={0}
|
|
168
|
+
tokens={{ alignItems: 'center', flexGrow: 0, justifyContent: 'center' }}
|
|
174
169
|
>
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
170
|
+
<View
|
|
171
|
+
style={[
|
|
172
|
+
staticStyles.connector,
|
|
173
|
+
!isFirst && selectConnectorStyles(themeTokens, isActive)
|
|
174
|
+
]}
|
|
175
|
+
/>
|
|
176
|
+
<View
|
|
177
|
+
style={[staticStyles.knob, selectKnobStyles(themeTokens, isCompleted, isCurrent)]}
|
|
178
|
+
testID={getStepTestID(isCompleted, isCurrent)}
|
|
179
|
+
>
|
|
180
|
+
{isCompleted && completedIcon && (
|
|
181
|
+
<Icon icon={completedIcon} tokens={selectCompletedIconTokens(themeTokens)} />
|
|
182
|
+
)}
|
|
183
|
+
{((isCurrent && completedIcon) || (isCurrent && !completedIcon)) && (
|
|
184
|
+
<View style={selectCurrentInnerStyles(themeTokens)} />
|
|
185
|
+
)}
|
|
186
|
+
</View>
|
|
187
|
+
<View
|
|
188
|
+
style={[
|
|
189
|
+
staticStyles.connector,
|
|
190
|
+
!isLast && selectConnectorStyles(themeTokens, isCompleted)
|
|
191
|
+
]}
|
|
192
|
+
/>
|
|
193
|
+
</StackView>
|
|
194
|
+
{showStepLabel && (
|
|
195
|
+
<View style={[staticStyles.stepLabelContainer, selectLabelContainerStyles(tokens)]}>
|
|
196
|
+
{showStepName && (
|
|
197
|
+
<Text
|
|
198
|
+
style={[
|
|
199
|
+
staticStyles.centeredText,
|
|
200
|
+
selectStepLabelStyles(tokens, themeOptions, isCurrent)
|
|
201
|
+
]}
|
|
202
|
+
>
|
|
203
|
+
{name}
|
|
204
|
+
</Text>
|
|
205
|
+
)}
|
|
206
|
+
<StackView direction="row">
|
|
207
|
+
<Text
|
|
208
|
+
style={[
|
|
209
|
+
staticStyles.centeredText,
|
|
210
|
+
tokens.labelDirection === 'column' && staticStyles.wrappingLabel,
|
|
211
|
+
selectLabelStyles(tokens, themeOptions, isCurrent)
|
|
212
|
+
]}
|
|
213
|
+
>
|
|
214
|
+
{label}
|
|
215
|
+
</Text>
|
|
216
|
+
</StackView>
|
|
217
|
+
</View>
|
|
218
|
+
)}
|
|
188
219
|
</StackView>
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
staticStyles.centeredText,
|
|
195
|
-
selectStepLabelStyles(tokens, themeOptions, isCurrent)
|
|
196
|
-
]}
|
|
197
|
-
>
|
|
198
|
-
{name}
|
|
199
|
-
</Text>
|
|
200
|
-
)}
|
|
201
|
-
<StackView direction="row">
|
|
202
|
-
<Text
|
|
203
|
-
style={[
|
|
204
|
-
staticStyles.centeredText,
|
|
205
|
-
tokens.labelDirection === 'column' && staticStyles.wrappingLabel,
|
|
206
|
-
selectLabelStyles(tokens, themeOptions, isCurrent)
|
|
207
|
-
]}
|
|
208
|
-
>
|
|
209
|
-
{label}
|
|
210
|
-
</Text>
|
|
211
|
-
</StackView>
|
|
212
|
-
</View>
|
|
213
|
-
)}
|
|
214
|
-
</StackView>
|
|
215
|
-
)
|
|
216
|
-
}
|
|
220
|
+
)
|
|
221
|
+
}
|
|
222
|
+
)
|
|
223
|
+
|
|
224
|
+
Step.displayName = 'Step'
|
|
217
225
|
|
|
218
226
|
Step.propTypes = {
|
|
219
227
|
...selectedSystemPropTypes,
|
|
@@ -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
|
import StackView from '../StackView'
|
|
@@ -70,7 +70,7 @@ const selectStepTrackerLabelStyles = (
|
|
|
70
70
|
* - `accessibilityValue.text` (`aria-valuetext`): `<Current Step Label>`,
|
|
71
71
|
*
|
|
72
72
|
*/
|
|
73
|
-
const StepTracker = forwardRef(
|
|
73
|
+
const StepTracker = React.forwardRef(
|
|
74
74
|
(
|
|
75
75
|
{
|
|
76
76
|
current = 0,
|
package/src/Tabs/Tabs.jsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import { Platform } from 'react-native'
|
|
3
3
|
import PropTypes from 'prop-types'
|
|
4
4
|
import ABBPropTypes from 'airbnb-prop-types'
|
|
@@ -62,7 +62,7 @@ const getStackViewTokens = (variant) => {
|
|
|
62
62
|
* `navigation`as the `accessibilityRole` to te Tabs component, this will cause
|
|
63
63
|
* TabItems to default to a role of link and obtain aria-current behaviour.
|
|
64
64
|
*/
|
|
65
|
-
const Tabs = forwardRef(
|
|
65
|
+
const Tabs = React.forwardRef(
|
|
66
66
|
(
|
|
67
67
|
{
|
|
68
68
|
tokens,
|
|
@@ -85,7 +85,7 @@ const Tabs = forwardRef(
|
|
|
85
85
|
const [itemPositions, isPositioningReady] = useItemPositions()
|
|
86
86
|
|
|
87
87
|
useHash(
|
|
88
|
-
useCallback(
|
|
88
|
+
React.useCallback(
|
|
89
89
|
(hash, event) => {
|
|
90
90
|
const hashItem = hash && items.find(({ href }) => hash === href)
|
|
91
91
|
const hashId = hashItem && (hashItem.id || hashItem.label)
|
package/src/Tabs/TabsItem.jsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
import { Platform, Pressable, StyleSheet, Text, View } from 'react-native'
|
|
4
4
|
|
|
@@ -76,7 +76,7 @@ const selectContainerStyles = ({
|
|
|
76
76
|
*
|
|
77
77
|
* This is rendered automatically by `Tabs` and isn't intended be used directly.
|
|
78
78
|
*/
|
|
79
|
-
const TabsItem = forwardRef(
|
|
79
|
+
const TabsItem = React.forwardRef(
|
|
80
80
|
(
|
|
81
81
|
{
|
|
82
82
|
href,
|
|
@@ -127,7 +127,7 @@ const TabsItem = forwardRef(
|
|
|
127
127
|
...rest
|
|
128
128
|
})
|
|
129
129
|
|
|
130
|
-
useEffect(() => {
|
|
130
|
+
React.useEffect(() => {
|
|
131
131
|
// If this is selected while off-screen, scroll it into view
|
|
132
132
|
if (selected) {
|
|
133
133
|
const position = itemPositions.positions[index]
|
package/src/Tags/Tags.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
|
import { Platform, Text, View } from 'react-native'
|
|
@@ -74,7 +74,7 @@ const separateIconTextTokens = (
|
|
|
74
74
|
const selectIconTextTokens = (tokens) => separateIconTextTokens(tokens, false)
|
|
75
75
|
const selectNonIconTextTokens = (tokens) => separateIconTextTokens(tokens, true)
|
|
76
76
|
|
|
77
|
-
const Tags = forwardRef(
|
|
77
|
+
const Tags = React.forwardRef(
|
|
78
78
|
(
|
|
79
79
|
{
|
|
80
80
|
variant,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
|
|
3
3
|
import { Platform } from 'react-native'
|
|
4
4
|
import {
|
|
@@ -50,9 +50,9 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([
|
|
|
50
50
|
* or an indicator that the field is optional.
|
|
51
51
|
* It is a more usable and accessible option than the HTML `placeholder` attribute.
|
|
52
52
|
*/
|
|
53
|
-
const TextArea = forwardRef(({ tokens, variant = {}, ...rest }, ref) => {
|
|
53
|
+
const TextArea = React.forwardRef(({ tokens, variant = {}, ...rest }, ref) => {
|
|
54
54
|
const themeTokens = useThemeTokens('TextArea', tokens, variant)
|
|
55
|
-
const [inputHeight, setInputHeight] = useState()
|
|
55
|
+
const [inputHeight, setInputHeight] = React.useState()
|
|
56
56
|
|
|
57
57
|
// adjust the text area's height as new lines are added to the content
|
|
58
58
|
const onHeightChange = ({
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
import {
|
|
4
4
|
a11yProps,
|
|
@@ -42,7 +42,7 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([
|
|
|
42
42
|
* supported props and <a href="https://reactnative.dev/docs/textinput" target="_blank">React Native Web documentation</a> for
|
|
43
43
|
* their implementation on the web.
|
|
44
44
|
*/
|
|
45
|
-
const TextInput = forwardRef(({ tokens, nativeID, variant = {}, ...rest }, ref) => {
|
|
45
|
+
const TextInput = React.forwardRef(({ tokens, nativeID, variant = {}, ...rest }, ref) => {
|
|
46
46
|
const { supportsProps, ...selectedProps } = selectProps(rest)
|
|
47
47
|
|
|
48
48
|
const inputProps = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
import { Platform, StyleSheet, TextInput as NativeTextInput, View } from 'react-native'
|
|
4
4
|
import { applyTextStyles, useTheme, useThemeTokens, applyOuterBorder } from '../ThemeProvider'
|
|
@@ -161,7 +161,7 @@ const getIcon = (cardNumber = '', { defaultCreditIcon, amexIcon, visaIcon, maste
|
|
|
161
161
|
return <Icon icon={selectedIcon.icon} variant={{ size: 'large' }} testID={selectedIcon.testID} />
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
-
const TextInputBase = forwardRef(
|
|
164
|
+
const TextInputBase = React.forwardRef(
|
|
165
165
|
(
|
|
166
166
|
{
|
|
167
167
|
buttons = [],
|
|
@@ -187,8 +187,8 @@ const TextInputBase = forwardRef(
|
|
|
187
187
|
},
|
|
188
188
|
ref
|
|
189
189
|
) => {
|
|
190
|
-
const [isFocused, setIsFocused] = useState(false)
|
|
191
|
-
const [showPassword, setShowPassword] = useState(false)
|
|
190
|
+
const [isFocused, setIsFocused] = React.useState(false)
|
|
191
|
+
const [showPassword, setShowPassword] = React.useState(false)
|
|
192
192
|
const handleFocus = (event) => {
|
|
193
193
|
setIsFocused(true)
|
|
194
194
|
if (typeof onFocus === 'function') onFocus(event)
|
|
@@ -198,7 +198,7 @@ const TextInputBase = forwardRef(
|
|
|
198
198
|
if (typeof onBlur === 'function') onBlur(event)
|
|
199
199
|
}
|
|
200
200
|
|
|
201
|
-
const [isHovered, setIsHovered] = useState(false)
|
|
201
|
+
const [isHovered, setIsHovered] = React.useState(false)
|
|
202
202
|
const handleMouseOver = (event) => {
|
|
203
203
|
setIsHovered(true)
|
|
204
204
|
if (typeof onMouseOver === 'function') onMouseOver(event)
|
|
@@ -208,7 +208,7 @@ const TextInputBase = forwardRef(
|
|
|
208
208
|
if (typeof onMouseOut === 'function') onMouseOut(event)
|
|
209
209
|
}
|
|
210
210
|
|
|
211
|
-
const defaultRef = useRef()
|
|
211
|
+
const defaultRef = React.useRef()
|
|
212
212
|
const inputRef = ref ?? defaultRef
|
|
213
213
|
|
|
214
214
|
const { currentValue, resetValue, setValue, isControlled, isDirty } = useInputValue({
|
|
@@ -223,7 +223,7 @@ const TextInputBase = forwardRef(
|
|
|
223
223
|
const isPassword = password || type === 'password'
|
|
224
224
|
|
|
225
225
|
const element = inputRef?.current
|
|
226
|
-
useEffect(() => {
|
|
226
|
+
React.useEffect(() => {
|
|
227
227
|
if (Platform.OS === 'web' && pattern && element) {
|
|
228
228
|
// React Native Web doesn't support `pattern`, so we have to attach it via a ref,
|
|
229
229
|
// which a `pattern` user must provide anyway to call .checkValidity() on the element.
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
import { validateThemeTokensVersion } from './utils'
|
|
4
4
|
import responsiveProps from '../utils/props/responsiveProps'
|
|
5
5
|
|
|
6
6
|
export const uninitialisedError = new Error('Theme context used outside of ThemeProvider')
|
|
7
7
|
|
|
8
|
-
export const ThemeContext = createContext(uninitialisedError)
|
|
9
|
-
export const ThemeSetterContext = createContext(uninitialisedError)
|
|
8
|
+
export const ThemeContext = React.createContext(uninitialisedError)
|
|
9
|
+
export const ThemeSetterContext = React.createContext(uninitialisedError)
|
|
10
10
|
|
|
11
11
|
// These options default to `true` in v1.x to match legacy defaults and avoid breaking changes.
|
|
12
12
|
// This should change in future major releases to become "opt-in" legacy support.
|
|
@@ -21,9 +21,9 @@ const defaultThemeOptions = {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
const ThemeProvider = ({ children, defaultTheme, themeOptions = {} }) => {
|
|
24
|
-
const [theme, setTheme] = useState(defaultTheme)
|
|
24
|
+
const [theme, setTheme] = React.useState(defaultTheme)
|
|
25
25
|
|
|
26
|
-
useEffect(() => {
|
|
26
|
+
React.useEffect(() => {
|
|
27
27
|
if (theme.metadata.name !== defaultTheme.metadata.name) {
|
|
28
28
|
setTheme(defaultTheme)
|
|
29
29
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import PropTypes from 'prop-types'
|
|
2
|
-
import React
|
|
2
|
+
import React from 'react'
|
|
3
3
|
import { View } from 'react-native'
|
|
4
4
|
|
|
5
5
|
import { useThemeTokens } from '../ThemeProvider'
|
|
@@ -76,7 +76,7 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, vie
|
|
|
76
76
|
* ## A11y guidelines
|
|
77
77
|
* Timeline link supports all the common a11y props.
|
|
78
78
|
*/
|
|
79
|
-
const Timeline = forwardRef(
|
|
79
|
+
const Timeline = React.forwardRef(
|
|
80
80
|
(
|
|
81
81
|
{ tokens, variant = {}, children, accessibilityLabel, tag = 'ul', childrenTag = 'li', ...rest },
|
|
82
82
|
ref
|
|
@@ -1,4 +1,4 @@
|
|
|
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
|
|
|
@@ -92,7 +92,7 @@ const selectLabelTokens = ({
|
|
|
92
92
|
lineHeight: labelLineHeight
|
|
93
93
|
})
|
|
94
94
|
|
|
95
|
-
const ToggleSwitch = forwardRef(
|
|
95
|
+
const ToggleSwitch = React.forwardRef(
|
|
96
96
|
(
|
|
97
97
|
{
|
|
98
98
|
copy = 'en',
|
|
@@ -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
|
import { Platform } from 'react-native'
|
|
@@ -25,7 +25,7 @@ const [selectItemProps, selectedItemPropTypes] = selectSystemProps([
|
|
|
25
25
|
focusHandlerProps,
|
|
26
26
|
viewProps
|
|
27
27
|
])
|
|
28
|
-
const ToggleSwitchGroup = forwardRef(
|
|
28
|
+
const ToggleSwitchGroup = React.forwardRef(
|
|
29
29
|
(
|
|
30
30
|
{
|
|
31
31
|
copy = 'en',
|
package/src/Tooltip/Tooltip.jsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import { Platform, Pressable, StyleSheet, Text, View } from 'react-native'
|
|
3
3
|
import propTypes from './shared'
|
|
4
4
|
import { useFloating, arrow, offset, shift, flip, autoPlacement } from '../utils/floating-ui'
|
|
@@ -81,7 +81,7 @@ const defaultControl = (pressableState, variant) => (
|
|
|
81
81
|
* - You may use one when the information is useful only to a small percentage of users (ie. tech savvy people wouldn't need this info).
|
|
82
82
|
* - Tooltips may also be useful when vertical space is an issue.
|
|
83
83
|
*/
|
|
84
|
-
const Tooltip = forwardRef(
|
|
84
|
+
const Tooltip = React.forwardRef(
|
|
85
85
|
(
|
|
86
86
|
{
|
|
87
87
|
children,
|
|
@@ -97,10 +97,10 @@ const Tooltip = forwardRef(
|
|
|
97
97
|
},
|
|
98
98
|
ref
|
|
99
99
|
) => {
|
|
100
|
-
const [isOpen, setIsOpen] = useState(false)
|
|
101
|
-
const arrowRef = useRef()
|
|
100
|
+
const [isOpen, setIsOpen] = React.useState(false)
|
|
101
|
+
const arrowRef = React.useRef()
|
|
102
102
|
|
|
103
|
-
const [tooltipDimensions, setTooltipDimensions] = useState(null)
|
|
103
|
+
const [tooltipDimensions, setTooltipDimensions] = React.useState(null)
|
|
104
104
|
|
|
105
105
|
const positions = {
|
|
106
106
|
auto: undefined, // Auto needs to specifically bet set to undefined
|
|
@@ -161,7 +161,7 @@ const Tooltip = forwardRef(
|
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
-
useEffect(() => {
|
|
164
|
+
React.useEffect(() => {
|
|
165
165
|
if (!isOpen) {
|
|
166
166
|
setTooltipDimensions(null)
|
|
167
167
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import { Dimensions, Platform, Pressable, StyleSheet, Text, View } from 'react-native'
|
|
3
3
|
import propTypes from './shared'
|
|
4
4
|
|
|
@@ -107,7 +107,7 @@ const defaultControl = (pressableState, variant) => (
|
|
|
107
107
|
* - You may use one when the information is useful only to a small percentage of users (ie. tech savvy people wouldn't need this info).
|
|
108
108
|
* - Tooltips may also be useful when vertical space is an issue.
|
|
109
109
|
*/
|
|
110
|
-
const Tooltip = forwardRef(
|
|
110
|
+
const Tooltip = React.forwardRef(
|
|
111
111
|
(
|
|
112
112
|
{
|
|
113
113
|
children,
|
|
@@ -123,20 +123,20 @@ const Tooltip = forwardRef(
|
|
|
123
123
|
},
|
|
124
124
|
ref
|
|
125
125
|
) => {
|
|
126
|
-
const [isOpen, setIsOpen] = useState(false)
|
|
126
|
+
const [isOpen, setIsOpen] = React.useState(false)
|
|
127
127
|
|
|
128
|
-
const controlRef = useRef()
|
|
129
|
-
const [controlLayout, setControlLayout] = useState(null)
|
|
130
|
-
const [tooltipDimensions, setTooltipDimensions] = useState(null)
|
|
131
|
-
const [windowDimensions, setWindowDimensions] = useState(Dimensions.get('window'))
|
|
132
|
-
const [tooltipPosition, setTooltipPosition] = useState(null)
|
|
128
|
+
const controlRef = React.useRef()
|
|
129
|
+
const [controlLayout, setControlLayout] = React.useState(null)
|
|
130
|
+
const [tooltipDimensions, setTooltipDimensions] = React.useState(null)
|
|
131
|
+
const [windowDimensions, setWindowDimensions] = React.useState(Dimensions.get('window'))
|
|
132
|
+
const [tooltipPosition, setTooltipPosition] = React.useState(null)
|
|
133
133
|
|
|
134
134
|
const getCopy = useCopy({ dictionary, copy })
|
|
135
135
|
const themeTokens = useThemeTokens('Tooltip', tokens, variant)
|
|
136
136
|
|
|
137
137
|
const { arrowWidth, arrowOffset } = themeTokens
|
|
138
138
|
|
|
139
|
-
useEffect(() => {
|
|
139
|
+
React.useEffect(() => {
|
|
140
140
|
const subscription = Dimensions.addEventListener('change', ({ window }) => {
|
|
141
141
|
setWindowDimensions(window)
|
|
142
142
|
})
|
|
@@ -176,7 +176,7 @@ const Tooltip = forwardRef(
|
|
|
176
176
|
}
|
|
177
177
|
}
|
|
178
178
|
|
|
179
|
-
useEffect(() => {
|
|
179
|
+
React.useEffect(() => {
|
|
180
180
|
if (isOpen) {
|
|
181
181
|
controlRef.current.measureInWindow((x, y, width, height) => {
|
|
182
182
|
setControlLayout({ x, y, width, height })
|
|
@@ -188,11 +188,11 @@ const Tooltip = forwardRef(
|
|
|
188
188
|
}
|
|
189
189
|
}, [isOpen])
|
|
190
190
|
|
|
191
|
-
useEffect(() => {
|
|
191
|
+
React.useEffect(() => {
|
|
192
192
|
setIsOpen(false)
|
|
193
193
|
}, [windowDimensions])
|
|
194
194
|
|
|
195
|
-
useEffect(() => {
|
|
195
|
+
React.useEffect(() => {
|
|
196
196
|
if (
|
|
197
197
|
(tooltipPosition !== null && !tooltipPosition?.isNormalized) ||
|
|
198
198
|
!isOpen ||
|
|
@@ -24,7 +24,7 @@ const selectIconTokens = ({ iconSize, iconColor, iconScale = 1 }) => ({
|
|
|
24
24
|
* In fact though, it isn't actually a pressable - it's meant to be used as pressable's content.
|
|
25
25
|
* Due to this any interaction states (e.g. pressed, hover, etc.) has to be passed down to it as a prop.
|
|
26
26
|
*/
|
|
27
|
-
const TooltipButton = ({ pressableState, tokens, variant, ...rest }) => {
|
|
27
|
+
const TooltipButton = React.forwardRef(({ pressableState, tokens, variant, ...rest }, ref) => {
|
|
28
28
|
const themeTokens = useThemeTokens('TooltipButton', tokens, variant, pressableState)
|
|
29
29
|
|
|
30
30
|
const { icon: IconComponent } = themeTokens
|
|
@@ -39,13 +39,16 @@ const TooltipButton = ({ pressableState, tokens, variant, ...rest }) => {
|
|
|
39
39
|
staticStyles.bubblePointerEvents
|
|
40
40
|
]}
|
|
41
41
|
{...selectProps(rest)}
|
|
42
|
+
ref={ref}
|
|
42
43
|
>
|
|
43
44
|
<View style={selectInnerContainerStyles(themeTokens)}>
|
|
44
45
|
{IconComponent && <Icon icon={IconComponent} tokens={selectIconTokens(themeTokens)} />}
|
|
45
46
|
</View>
|
|
46
47
|
</View>
|
|
47
48
|
)
|
|
48
|
-
}
|
|
49
|
+
})
|
|
50
|
+
|
|
51
|
+
TooltipButton.displayName = 'TooltipButton'
|
|
49
52
|
|
|
50
53
|
const staticStyles = StyleSheet.create({
|
|
51
54
|
bubblePointerEvents: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
import { Text, View } from 'react-native'
|
|
4
4
|
|
|
@@ -55,7 +55,7 @@ const selectTextStyles = (
|
|
|
55
55
|
})
|
|
56
56
|
|
|
57
57
|
// General-purpose flexible theme-neutral base component for text
|
|
58
|
-
const Typography = forwardRef(
|
|
58
|
+
const Typography = React.forwardRef(
|
|
59
59
|
(
|
|
60
60
|
{
|
|
61
61
|
children,
|