@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 ScrollView from "react-native-web/dist/exports/ScrollView";
|
|
4
4
|
import debounce from 'lodash.debounce';
|
|
@@ -12,16 +12,16 @@ const DEBOUNCE_MS = 100;
|
|
|
12
12
|
* so we need to work around it with debouncing on `onScroll`. See:
|
|
13
13
|
* https://github.com/necolas/react-native-web/issues/1021
|
|
14
14
|
*/
|
|
15
|
-
const ScrollViewEnd = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
15
|
+
const ScrollViewEnd = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
16
16
|
let {
|
|
17
17
|
onScrollEnd,
|
|
18
|
-
onScroll,
|
|
18
|
+
onScroll = null,
|
|
19
19
|
...props
|
|
20
20
|
} = _ref;
|
|
21
21
|
// Return debounced function directly from useCallback so it has .cancel method etc.
|
|
22
22
|
// Linter complains this stops it automatically scanning the deps, but we can check them manually.
|
|
23
23
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
24
|
-
const debounceScrollEnd = useCallback(debounce(event => onScrollEnd(event), DEBOUNCE_MS), [onScrollEnd]);
|
|
24
|
+
const debounceScrollEnd = React.useCallback(debounce(event => onScrollEnd(event), DEBOUNCE_MS), [onScrollEnd]);
|
|
25
25
|
|
|
26
26
|
// Call any onScroll handler immediately, and any onScrollEnd handler after 100ms of no scrolling
|
|
27
27
|
const handleScroll = event => {
|
|
@@ -30,7 +30,7 @@ const ScrollViewEnd = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
30
30
|
};
|
|
31
31
|
|
|
32
32
|
// Cancel any lingering debounce timeouts on dismount
|
|
33
|
-
useEffect(() => debounceScrollEnd.cancel);
|
|
33
|
+
React.useEffect(() => debounceScrollEnd.cancel);
|
|
34
34
|
return /*#__PURE__*/_jsx(ScrollView, {
|
|
35
35
|
ref: ref,
|
|
36
36
|
...props,
|
|
@@ -43,7 +43,4 @@ ScrollViewEnd.propTypes = {
|
|
|
43
43
|
onScrollEnd: PropTypes.func.isRequired,
|
|
44
44
|
onScroll: PropTypes.func
|
|
45
45
|
};
|
|
46
|
-
ScrollViewEnd.defaultProps = {
|
|
47
|
-
onScroll: null
|
|
48
|
-
};
|
|
49
46
|
export default ScrollViewEnd;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import ScrollView from "react-native-web/dist/exports/ScrollView";
|
|
4
4
|
/**
|
|
@@ -7,7 +7,7 @@ import ScrollView from "react-native-web/dist/exports/ScrollView";
|
|
|
7
7
|
* React Native has two scroll end handlers, we want to treat them both the same.
|
|
8
8
|
*/
|
|
9
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
|
-
const ScrollViewEnd = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
10
|
+
const ScrollViewEnd = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
11
11
|
let {
|
|
12
12
|
onScrollEnd,
|
|
13
13
|
...props
|
package/lib-module/Icon/Icon.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import Platform from "react-native-web/dist/exports/Platform";
|
|
3
3
|
import View from "react-native-web/dist/exports/View";
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
5
|
import { useThemeTokens } from '../ThemeProvider';
|
|
6
6
|
import { getTokensPropType, scaleWithText, variantProp } from '../utils';
|
|
7
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
-
const Icon = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
8
|
+
const Icon = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
9
9
|
let {
|
|
10
10
|
icon: IconComponent,
|
|
11
11
|
accessibilityLabel,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import Platform from "react-native-web/dist/exports/Platform";
|
|
4
4
|
import View from "react-native-web/dist/exports/View";
|
|
@@ -15,7 +15,7 @@ import { spacingProps } from '../utils';
|
|
|
15
15
|
* - within a container with `flexDirection: 'row'`
|
|
16
16
|
*/
|
|
17
17
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
18
|
-
const IconText = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
18
|
+
const IconText = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
19
19
|
var _iconProps$tokens, _iconProps$tokens2;
|
|
20
20
|
let {
|
|
21
21
|
space,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import Pressable from "react-native-web/dist/exports/Pressable";
|
|
4
4
|
import Platform from "react-native-web/dist/exports/Platform";
|
|
@@ -114,7 +114,7 @@ const selectInnerStyle = (_ref2, password) => {
|
|
|
114
114
|
* based on these to an outer border and a base Card component. Not intended to be used in
|
|
115
115
|
* apps or sites directly: build themed components on top of this.
|
|
116
116
|
*/
|
|
117
|
-
const IconButton = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
117
|
+
const IconButton = /*#__PURE__*/React.forwardRef((_ref3, ref) => {
|
|
118
118
|
let {
|
|
119
119
|
tokens,
|
|
120
120
|
variant = {},
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import StyleSheet from "react-native-web/dist/exports/StyleSheet";
|
|
3
3
|
import Text from "react-native-web/dist/exports/Text";
|
|
4
4
|
import View from "react-native-web/dist/exports/View";
|
|
@@ -40,7 +40,7 @@ const selectGapStyles = _ref2 => {
|
|
|
40
40
|
marginRight: gap
|
|
41
41
|
};
|
|
42
42
|
};
|
|
43
|
-
const InputLabel = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
43
|
+
const InputLabel = /*#__PURE__*/React.forwardRef((_ref3, ref) => {
|
|
44
44
|
let {
|
|
45
45
|
copy = 'en',
|
|
46
46
|
label,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
-
const LabelContent = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
4
|
+
const LabelContent = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
5
5
|
let {
|
|
6
6
|
children,
|
|
7
7
|
forId
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import View from "react-native-web/dist/exports/View"; // Since there's no equivalent for web's <label> element we're simply rendering whatever is passed to this component.
|
|
4
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
-
const LabelContent = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
5
|
+
const LabelContent = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
6
6
|
let {
|
|
7
7
|
children
|
|
8
8
|
} = _ref;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import InputLabel from '../InputLabel';
|
|
4
4
|
import Feedback from '../Feedback';
|
|
5
5
|
import StackView from '../StackView';
|
|
6
6
|
import { useThemeTokens } from '../ThemeProvider';
|
|
7
7
|
import useInputSupports from './useInputSupports';
|
|
8
|
+
import { getTokensPropType } from '../utils';
|
|
8
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
10
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
-
const InputSupports = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
11
|
+
const InputSupports = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
11
12
|
let {
|
|
12
13
|
children,
|
|
13
14
|
copy = 'en',
|
|
@@ -84,7 +85,7 @@ InputSupports.propTypes = {
|
|
|
84
85
|
/**
|
|
85
86
|
* Additional tokens to override the default feedback tokens.
|
|
86
87
|
*/
|
|
87
|
-
feedbackTokens:
|
|
88
|
+
feedbackTokens: getTokensPropType('Feedback'),
|
|
88
89
|
/**
|
|
89
90
|
* Content of an optional `Tooltip`. If set, a tooltip button will be shown next to the label.
|
|
90
91
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { useThemeTokensCallback } from '../ThemeProvider';
|
|
4
4
|
import { selectTokens, getTokensPropType, linkProps } from '../utils';
|
|
@@ -11,7 +11,7 @@ import LinkBase from './LinkBase';
|
|
|
11
11
|
* ChevronLink is not intended to be deeply themable; variants passed to ChevronLink are forwarded to Link.
|
|
12
12
|
*/
|
|
13
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
|
-
const ChevronLink = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
14
|
+
const ChevronLink = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
15
15
|
let {
|
|
16
16
|
direction = 'right',
|
|
17
17
|
children,
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import Pressable from "react-native-web/dist/exports/Pressable";
|
|
3
3
|
import StyleSheet from "react-native-web/dist/exports/StyleSheet";
|
|
4
|
+
import PropTypes from 'prop-types';
|
|
5
|
+
|
|
4
6
|
/**
|
|
5
7
|
* @typedef {import('react-native').PressableProps} PressableProps
|
|
6
8
|
*/
|
|
9
|
+
|
|
7
10
|
/**
|
|
8
11
|
* InlinePressable is an alternative to React Native's Pressable that works better when nested
|
|
9
12
|
* inline inside Text. It accepts the same props as React Native's Pressable.
|
|
@@ -12,10 +15,8 @@ import StyleSheet from "react-native-web/dist/exports/StyleSheet";
|
|
|
12
15
|
*
|
|
13
16
|
* @param {PressableProps} PressableProps
|
|
14
17
|
*/
|
|
15
|
-
// React Native exports prop Types but not propTypes, use JSDoc types here rather than duplicate RN
|
|
16
|
-
// eslint-disable-next-line react/prop-types
|
|
17
18
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
18
|
-
const InlinePressable = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
19
|
+
const InlinePressable = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
19
20
|
let {
|
|
20
21
|
children,
|
|
21
22
|
inlineFlex = true,
|
|
@@ -30,6 +31,11 @@ const InlinePressable = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
30
31
|
});
|
|
31
32
|
});
|
|
32
33
|
InlinePressable.displayName = 'InlinePressable';
|
|
34
|
+
InlinePressable.propTypes = {
|
|
35
|
+
children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
|
|
36
|
+
inlineFlex: PropTypes.bool,
|
|
37
|
+
style: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.func])
|
|
38
|
+
};
|
|
33
39
|
const staticStyles = StyleSheet.create({
|
|
34
40
|
inline: {
|
|
35
41
|
// Stop Pressable defaulting to (block) flex
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
/* eslint-disable camelcase */
|
|
2
|
-
import React
|
|
2
|
+
import React from 'react';
|
|
3
3
|
import Text from "react-native-web/dist/exports/Text";
|
|
4
4
|
import TouchableWithoutFeedback from "react-native-web/dist/exports/TouchableWithoutFeedback";
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
|
|
5
7
|
/**
|
|
6
8
|
* @typedef {import('react-native').PressableProps} PressableProps
|
|
7
9
|
*/
|
|
10
|
+
|
|
8
11
|
// TouchableWithoutFeedback and Pressable have similar but not identical props APIs
|
|
9
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
13
|
const pressablePropsToTouchable = _ref => {
|
|
@@ -40,19 +43,17 @@ const pressablePropsToTouchable = _ref => {
|
|
|
40
43
|
*
|
|
41
44
|
* @param {PressableProps} PressableProps
|
|
42
45
|
*/
|
|
43
|
-
|
|
44
|
-
// eslint-disable-next-line react/prop-types
|
|
45
|
-
const InlinePressable = /*#__PURE__*/forwardRef((_ref2, ref) => {
|
|
46
|
+
const InlinePressable = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
|
|
46
47
|
let {
|
|
47
48
|
onPress,
|
|
48
49
|
children,
|
|
49
50
|
style,
|
|
50
51
|
...rest
|
|
51
52
|
} = _ref2;
|
|
52
|
-
const [isFocused, setIsFocused] = useState(false);
|
|
53
|
+
const [isFocused, setIsFocused] = React.useState(false);
|
|
53
54
|
const handleFocus = () => setIsFocused(true);
|
|
54
55
|
const handleBlur = () => setIsFocused(false);
|
|
55
|
-
const [isPressed, setIsPressed] = useState(false);
|
|
56
|
+
const [isPressed, setIsPressed] = React.useState(false);
|
|
56
57
|
const handlePressIn = () => setIsPressed(true);
|
|
57
58
|
const handlePressOut = () => setIsPressed(false);
|
|
58
59
|
const pressState = {
|
|
@@ -78,4 +79,9 @@ const InlinePressable = /*#__PURE__*/forwardRef((_ref2, ref) => {
|
|
|
78
79
|
});
|
|
79
80
|
});
|
|
80
81
|
InlinePressable.displayName = 'InlinePressable';
|
|
82
|
+
InlinePressable.propTypes = {
|
|
83
|
+
children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
|
|
84
|
+
style: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.func]),
|
|
85
|
+
onPress: PropTypes.func
|
|
86
|
+
};
|
|
81
87
|
export default InlinePressable;
|
package/lib-module/Link/Link.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import { useThemeTokensCallback } from '../ThemeProvider';
|
|
3
3
|
import LinkBase from './LinkBase';
|
|
4
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
-
const Link = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
5
|
+
const Link = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
6
6
|
let {
|
|
7
7
|
href,
|
|
8
8
|
children,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import Text from "react-native-web/dist/exports/Text";
|
|
4
4
|
import Platform from "react-native-web/dist/exports/Platform";
|
|
@@ -131,7 +131,7 @@ const selectIconTokens = _ref5 => {
|
|
|
131
131
|
* dropped in favour of investigating if a full-featured CSS-in-JS package could or
|
|
132
132
|
* should be used more widely (e.g. styled components)
|
|
133
133
|
*/
|
|
134
|
-
const LinkBase = /*#__PURE__*/forwardRef((_ref6, ref) => {
|
|
134
|
+
const LinkBase = /*#__PURE__*/React.forwardRef((_ref6, ref) => {
|
|
135
135
|
let {
|
|
136
136
|
href,
|
|
137
137
|
icon,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { useThemeTokensCallback } from '../ThemeProvider';
|
|
4
4
|
import LinkBase from './LinkBase';
|
|
@@ -10,7 +10,7 @@ import { variantProp } from '../utils';
|
|
|
10
10
|
* take place on the current page, or for navigation within an app.
|
|
11
11
|
*/
|
|
12
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
-
const TextButton = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
13
|
+
const TextButton = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
14
14
|
let {
|
|
15
15
|
onPress,
|
|
16
16
|
children,
|
package/lib-module/List/List.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import View from "react-native-web/dist/exports/View";
|
|
3
3
|
import Platform from "react-native-web/dist/exports/Platform";
|
|
4
|
+
import StyleSheet from "react-native-web/dist/exports/StyleSheet";
|
|
4
5
|
import PropTypes from 'prop-types';
|
|
5
6
|
import { a11yProps, getTokensPropType, selectSystemProps, variantProp, viewProps } from '../utils';
|
|
6
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -16,7 +17,7 @@ const isListItem = element => {
|
|
|
16
17
|
* An unordered List component has a child a ListItem that
|
|
17
18
|
* allows icon, dividers and customized typography
|
|
18
19
|
*/
|
|
19
|
-
const List = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
20
|
+
const List = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
20
21
|
let {
|
|
21
22
|
children,
|
|
22
23
|
showDivider,
|
|
@@ -28,12 +29,12 @@ const List = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
28
29
|
}),
|
|
29
30
|
...rest
|
|
30
31
|
} = _ref;
|
|
31
|
-
const items = Children.map(children, (child, index) => {
|
|
32
|
+
const items = React.Children.map(children, (child, index) => {
|
|
32
33
|
// Pass ListItem-specific props to children (by name so teams can add their own ListItems)
|
|
33
34
|
if (isListItem(child)) {
|
|
34
|
-
return /*#__PURE__*/cloneElement(child, {
|
|
35
|
+
return /*#__PURE__*/React.cloneElement(child, {
|
|
35
36
|
showDivider,
|
|
36
|
-
isLastItem: index + 1 === Children.count(children),
|
|
37
|
+
isLastItem: index + 1 === React.Children.count(children),
|
|
37
38
|
tokens,
|
|
38
39
|
variant,
|
|
39
40
|
...child.props
|
|
@@ -43,15 +44,18 @@ const List = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
43
44
|
});
|
|
44
45
|
return /*#__PURE__*/_jsx(View, {
|
|
45
46
|
ref: ref,
|
|
46
|
-
style:
|
|
47
|
-
flexShrink: 1,
|
|
48
|
-
flex: 1
|
|
49
|
-
},
|
|
47
|
+
style: styles.list,
|
|
50
48
|
accessibilityRole: accessibilityRole,
|
|
51
49
|
...selectProps(rest),
|
|
52
50
|
children: items
|
|
53
51
|
});
|
|
54
52
|
});
|
|
53
|
+
const styles = StyleSheet.create({
|
|
54
|
+
list: {
|
|
55
|
+
flex: 1,
|
|
56
|
+
flexShrink: 1
|
|
57
|
+
}
|
|
58
|
+
});
|
|
55
59
|
List.displayName = 'List';
|
|
56
60
|
List.propTypes = {
|
|
57
61
|
...selectedSystemPropTypes,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import ListItemBase from './ListItemBase';
|
|
3
3
|
import { useThemeTokens } from '../ThemeProvider';
|
|
4
4
|
import { variantProp } from '../utils';
|
|
@@ -7,7 +7,7 @@ import { variantProp } from '../utils';
|
|
|
7
7
|
* ListItem is responsible for rendering icon or a bullet as side item
|
|
8
8
|
*/
|
|
9
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
|
-
const ListItem = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
10
|
+
const ListItem = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
11
11
|
let {
|
|
12
12
|
tokens,
|
|
13
13
|
variant,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import View from "react-native-web/dist/exports/View";
|
|
3
3
|
import Platform from "react-native-web/dist/exports/Platform";
|
|
4
4
|
import StyleSheet from "react-native-web/dist/exports/StyleSheet";
|
|
@@ -36,7 +36,7 @@ const selectDividerStyles = _ref2 => {
|
|
|
36
36
|
/**
|
|
37
37
|
* ListItem is responsible for rendering icon or a bullet as side item
|
|
38
38
|
*/
|
|
39
|
-
const ListItemBase = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
39
|
+
const ListItemBase = /*#__PURE__*/React.forwardRef((_ref3, ref) => {
|
|
40
40
|
let {
|
|
41
41
|
tokens,
|
|
42
42
|
icon,
|
|
@@ -86,7 +86,7 @@ const ListItemBase = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
|
86
86
|
};
|
|
87
87
|
return /*#__PURE__*/_jsx(View, {
|
|
88
88
|
ref: ref,
|
|
89
|
-
style: [staticStyles.
|
|
89
|
+
style: [staticStyles.container, getContainerStyle()],
|
|
90
90
|
accessibilityRole: accessibilityRole,
|
|
91
91
|
...selectProps(rest),
|
|
92
92
|
children: typeof children === 'function' ? children({
|
|
@@ -96,10 +96,7 @@ const ListItemBase = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
|
96
96
|
iconSize,
|
|
97
97
|
isLastItem
|
|
98
98
|
}) : /*#__PURE__*/_jsxs(View, {
|
|
99
|
-
style:
|
|
100
|
-
flex: 1,
|
|
101
|
-
flexDirection: 'row'
|
|
102
|
-
}],
|
|
99
|
+
style: staticStyles.container,
|
|
103
100
|
children: [/*#__PURE__*/_jsx(ListItemMark, {
|
|
104
101
|
tokens: {
|
|
105
102
|
...tokens,
|
|
@@ -126,7 +123,8 @@ const ListItemBase = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
|
126
123
|
});
|
|
127
124
|
ListItemBase.displayName = 'ListItem';
|
|
128
125
|
const staticStyles = StyleSheet.create({
|
|
129
|
-
|
|
126
|
+
container: {
|
|
127
|
+
flex: 1,
|
|
130
128
|
flexDirection: 'row'
|
|
131
129
|
},
|
|
132
130
|
titleAndContentContainer: {
|
|
@@ -38,7 +38,7 @@ const selectItemTextStyles = (_ref, themeOptions) => {
|
|
|
38
38
|
* It's the responsibility of themes to make sure that these text tokens align the first line of
|
|
39
39
|
* text nicely against the bullet or icon rendered by ListIconMark.
|
|
40
40
|
*/
|
|
41
|
-
const ListItemContent = _ref2 => {
|
|
41
|
+
const ListItemContent = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
|
|
42
42
|
let {
|
|
43
43
|
tokens,
|
|
44
44
|
children
|
|
@@ -52,11 +52,13 @@ const ListItemContent = _ref2 => {
|
|
|
52
52
|
textDecorationLine: tokens.itemUnderline,
|
|
53
53
|
textDecorationColor: tokens.itemFontColor
|
|
54
54
|
}],
|
|
55
|
+
ref: ref,
|
|
55
56
|
children: wrapStringsInText(children, {
|
|
56
57
|
style: textStyles
|
|
57
58
|
})
|
|
58
59
|
});
|
|
59
|
-
};
|
|
60
|
+
});
|
|
61
|
+
ListItemContent.displayName = 'ListItemContent';
|
|
60
62
|
const staticStyles = StyleSheet.create({
|
|
61
63
|
wrap: {
|
|
62
64
|
flex: 1,
|
|
@@ -60,7 +60,7 @@ const selectBulletContainerStyles = _ref4 => {
|
|
|
60
60
|
* It's the responsibility of themes to make sure that the supplied tokens align the
|
|
61
61
|
* icon or bullet nicely against the first line of text in a ListIconContent.
|
|
62
62
|
*/
|
|
63
|
-
const ListItemMark = _ref5 => {
|
|
63
|
+
const ListItemMark = /*#__PURE__*/React.forwardRef((_ref5, ref) => {
|
|
64
64
|
let {
|
|
65
65
|
icon,
|
|
66
66
|
iconColor,
|
|
@@ -88,6 +88,7 @@ const ListItemMark = _ref5 => {
|
|
|
88
88
|
const itemBulletPositioningStyles = selectBulletPositioningStyles(themeTokens);
|
|
89
89
|
return /*#__PURE__*/_jsx(View, {
|
|
90
90
|
style: [sideItemContainerStyles, itemBulletContainerStyles],
|
|
91
|
+
ref: ref,
|
|
91
92
|
children: /*#__PURE__*/_jsx(View, {
|
|
92
93
|
style: [staticStyles.bulletPositioning, itemBulletPositioningStyles],
|
|
93
94
|
testID: "unordered-item-bullet",
|
|
@@ -99,7 +100,8 @@ const ListItemMark = _ref5 => {
|
|
|
99
100
|
})
|
|
100
101
|
})
|
|
101
102
|
});
|
|
102
|
-
};
|
|
103
|
+
});
|
|
104
|
+
ListItemMark.displayName = 'ListItemMark';
|
|
103
105
|
ListItemMark.propTypes = {
|
|
104
106
|
tokens: PropTypes.shape(tokenTypes).isRequired,
|
|
105
107
|
/**
|
|
@@ -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 Pressable from "react-native-web/dist/exports/Pressable";
|
|
@@ -36,7 +36,7 @@ const selectPressableStyles = _ref => {
|
|
|
36
36
|
})
|
|
37
37
|
};
|
|
38
38
|
};
|
|
39
|
-
const PressableListItemBase = /*#__PURE__*/forwardRef((_ref2, ref) => {
|
|
39
|
+
const PressableListItemBase = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
|
|
40
40
|
let {
|
|
41
41
|
href,
|
|
42
42
|
tokens,
|
|
@@ -19,7 +19,7 @@ const styles = StyleSheet.create({
|
|
|
19
19
|
boxSizing: 'border-box'
|
|
20
20
|
}
|
|
21
21
|
});
|
|
22
|
-
const GroupControl = _ref => {
|
|
22
|
+
const GroupControl = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
23
23
|
let {
|
|
24
24
|
expanded,
|
|
25
25
|
pressed,
|
|
@@ -73,6 +73,7 @@ const GroupControl = _ref => {
|
|
|
73
73
|
paddingTop: groupPaddingTop - groupBorderWidth,
|
|
74
74
|
paddingBottom: groupPaddingBottom - groupBorderWidth
|
|
75
75
|
}],
|
|
76
|
+
ref: ref,
|
|
76
77
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
77
78
|
children: label
|
|
78
79
|
}), /*#__PURE__*/_jsx(Spacer, {
|
|
@@ -88,7 +89,8 @@ const GroupControl = _ref => {
|
|
|
88
89
|
}
|
|
89
90
|
})]
|
|
90
91
|
});
|
|
91
|
-
};
|
|
92
|
+
});
|
|
93
|
+
GroupControl.displayName = 'GroupControl';
|
|
92
94
|
GroupControl.propTypes = {
|
|
93
95
|
id: PropTypes.string,
|
|
94
96
|
expanded: PropTypes.bool,
|
|
@@ -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-web/dist/exports/View";
|
|
4
4
|
import StyleSheet from "react-native-web/dist/exports/StyleSheet";
|
|
@@ -19,7 +19,7 @@ const styles = StyleSheet.create({
|
|
|
19
19
|
}
|
|
20
20
|
});
|
|
21
21
|
const getInitialOpen = (items, selectedId) => items.filter(item => item.items && item.items.some(nestedItem => (nestedItem.id ?? nestedItem.label) === selectedId)).map(item => item.id ?? item.label);
|
|
22
|
-
const Listbox = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
22
|
+
const Listbox = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
23
23
|
let {
|
|
24
24
|
items = [],
|
|
25
25
|
firstItemRef = null,
|
|
@@ -34,7 +34,7 @@ const Listbox = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
34
34
|
tokens
|
|
35
35
|
} = _ref;
|
|
36
36
|
const initialOpen = getInitialOpen(items, defaultSelectedId);
|
|
37
|
-
const [selectedId, setSelectedId] = useState(defaultSelectedId);
|
|
37
|
+
const [selectedId, setSelectedId] = React.useState(defaultSelectedId);
|
|
38
38
|
const {
|
|
39
39
|
minHeight,
|
|
40
40
|
minWidth
|
|
@@ -42,10 +42,10 @@ const Listbox = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
42
42
|
|
|
43
43
|
// We need to keep track of each item's ref in order to be able to
|
|
44
44
|
// focus on a specific item via keyboard navigation
|
|
45
|
-
const itemRefs = useRef([]);
|
|
45
|
+
const itemRefs = React.useRef([]);
|
|
46
46
|
if (firstItemRef !== null && firstItemRef !== void 0 && firstItemRef.current) itemRefs.current[0] = firstItemRef.current;
|
|
47
|
-
const [focusedIndex, setFocusedIndex] = useState(0);
|
|
48
|
-
const handleKeydown = useCallback(event => {
|
|
47
|
+
const [focusedIndex, setFocusedIndex] = React.useState(0);
|
|
48
|
+
const handleKeydown = React.useCallback(event => {
|
|
49
49
|
const nextItemRef = itemRefs.current[focusedIndex + 1];
|
|
50
50
|
const prevItemRef = itemRefs.current[focusedIndex - 1];
|
|
51
51
|
if (event.key === 'ArrowUp' || event.shiftKey && event.key === 'Tab') {
|
|
@@ -77,7 +77,7 @@ const Listbox = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
77
77
|
}, [focusedIndex, onClose, parentRef, firstItemRef]);
|
|
78
78
|
|
|
79
79
|
// Add listeners for mouse clicks outside and for key presses
|
|
80
|
-
useEffect(() => {
|
|
80
|
+
React.useEffect(() => {
|
|
81
81
|
if (Platform.OS === 'web') {
|
|
82
82
|
window.addEventListener('click', onClose);
|
|
83
83
|
window.addEventListener('keydown', handleKeydown);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
const ListboxContext = /*#__PURE__*/React.createContext({});
|
|
3
|
-
const useListboxContext = () => useContext(ListboxContext);
|
|
3
|
+
const useListboxContext = () => React.useContext(ListboxContext);
|
|
4
4
|
export { ListboxContext, useListboxContext };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable react-native-a11y/has-valid-accessibility-role */
|
|
2
|
-
import React
|
|
2
|
+
import React from 'react';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import View from "react-native-web/dist/exports/View";
|
|
5
5
|
import StyleSheet from "react-native-web/dist/exports/StyleSheet";
|
|
@@ -26,7 +26,7 @@ const getAccessibilityRole = () => Platform.select({
|
|
|
26
26
|
android: 'none',
|
|
27
27
|
web: 'listitem'
|
|
28
28
|
});
|
|
29
|
-
const ListboxGroup = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
29
|
+
const ListboxGroup = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
30
30
|
let {
|
|
31
31
|
id,
|
|
32
32
|
label,
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import React, { forwardRef } from 'react';
|
|
1
|
+
import React from 'react';
|
|
3
2
|
import PropTypes from 'prop-types';
|
|
4
3
|
import View from "react-native-web/dist/exports/View";
|
|
5
4
|
import StyleSheet from "react-native-web/dist/exports/StyleSheet";
|
|
@@ -20,7 +19,7 @@ const styles = StyleSheet.create({
|
|
|
20
19
|
paddingLeft: 24
|
|
21
20
|
}
|
|
22
21
|
});
|
|
23
|
-
const ListboxItem = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
22
|
+
const ListboxItem = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
24
23
|
let {
|
|
25
24
|
href,
|
|
26
25
|
label,
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import React, { forwardRef } from 'react';
|
|
1
|
+
import React from 'react';
|
|
3
2
|
import PropTypes from 'prop-types';
|
|
4
3
|
import View from "react-native-web/dist/exports/View";
|
|
5
4
|
import StyleSheet from "react-native-web/dist/exports/StyleSheet";
|
|
@@ -24,7 +23,7 @@ const staticStyles = StyleSheet.create({
|
|
|
24
23
|
});
|
|
25
24
|
const paddingVertical = 0;
|
|
26
25
|
const paddingHorizontal = 0;
|
|
27
|
-
const DropdownOverlay = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
26
|
+
const DropdownOverlay = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
28
27
|
let {
|
|
29
28
|
children,
|
|
30
29
|
isReady = false,
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import React, { forwardRef } from 'react';
|
|
1
|
+
import React from 'react';
|
|
3
2
|
import PropTypes from 'prop-types';
|
|
4
3
|
import Pressable from "react-native-web/dist/exports/Pressable";
|
|
5
4
|
import Text from "react-native-web/dist/exports/Text";
|
|
@@ -51,7 +50,7 @@ const getItemStyles = _ref => {
|
|
|
51
50
|
justifyContent: 'center'
|
|
52
51
|
};
|
|
53
52
|
};
|
|
54
|
-
const PressableItem = /*#__PURE__*/forwardRef((_ref2, ref) => {
|
|
53
|
+
const PressableItem = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
|
|
55
54
|
let {
|
|
56
55
|
children,
|
|
57
56
|
href,
|