@telus-uds/components-base 1.83.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 +36 -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 +11 -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 +308 -129
- 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 +20 -13
- package/lib/ExpandCollapse/Panel.js +15 -5
- package/lib/ExpandCollapse/dictionary.js +17 -0
- 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 +6 -6
- 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 +19 -10
- 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 +11 -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 +308 -129
- 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 +20 -11
- package/lib-module/ExpandCollapse/Panel.js +16 -4
- package/lib-module/ExpandCollapse/dictionary.js +10 -0
- 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 +5 -5
- 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 +19 -10
- 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 +11 -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 +338 -117
- 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 +15 -7
- package/src/ExpandCollapse/Panel.jsx +30 -8
- package/src/ExpandCollapse/dictionary.js +10 -0
- 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 +7 -5
- 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 +17 -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
|
@@ -17,26 +17,28 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, vie
|
|
|
17
17
|
* `Carousel.Item` is used to wrap the content of an individual slide and is suppsoed to be the
|
|
18
18
|
* only top-level component passed to the `Carousel`
|
|
19
19
|
*/
|
|
20
|
-
const CarouselItem = (
|
|
21
|
-
|
|
20
|
+
const CarouselItem = React.forwardRef(
|
|
21
|
+
({ children, elementIndex, tag = 'li', hidden, ...rest }, ref) => {
|
|
22
|
+
const { width, activeIndex } = useCarousel()
|
|
22
23
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
const selectedProps = selectProps({
|
|
25
|
+
...rest,
|
|
26
|
+
...getA11yPropsFromHtmlTag(tag, rest.accessibilityRole)
|
|
27
|
+
})
|
|
27
28
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
const focusabilityProps = activeIndex === elementIndex ? {} : a11yProps.nonFocusableProps
|
|
30
|
+
const style = { width }
|
|
31
|
+
if (hidden && Platform.OS === 'web') {
|
|
32
|
+
// On web, visibility: hidden makes all children non-focusable. It doesn't exist on native.
|
|
33
|
+
style.visibility = 'hidden'
|
|
34
|
+
}
|
|
35
|
+
return (
|
|
36
|
+
<View style={style} {...selectedProps} {...focusabilityProps} ref={ref}>
|
|
37
|
+
{children}
|
|
38
|
+
</View>
|
|
39
|
+
)
|
|
33
40
|
}
|
|
34
|
-
|
|
35
|
-
<View style={style} {...selectedProps} {...focusabilityProps}>
|
|
36
|
-
{children}
|
|
37
|
-
</View>
|
|
38
|
-
)
|
|
39
|
-
}
|
|
41
|
+
)
|
|
40
42
|
|
|
41
43
|
CarouselItem.propTypes = {
|
|
42
44
|
...selectedSystemPropTypes,
|
|
@@ -4,7 +4,7 @@ import StepTracker from '../../StepTracker'
|
|
|
4
4
|
import StackView from '../../StackView'
|
|
5
5
|
import { variantProp } from '../../utils'
|
|
6
6
|
|
|
7
|
-
const CarouselStepTracker = ({ variant }) => {
|
|
7
|
+
const CarouselStepTracker = React.forwardRef(({ variant }, ref) => {
|
|
8
8
|
const {
|
|
9
9
|
activeIndex,
|
|
10
10
|
totalItems,
|
|
@@ -27,7 +27,7 @@ const CarouselStepTracker = ({ variant }) => {
|
|
|
27
27
|
|
|
28
28
|
const steps = Array.from(Array(totalItems)).map((_, index) => String(index))
|
|
29
29
|
return (
|
|
30
|
-
<StackView direction="row" tokens={stackViewTokens}>
|
|
30
|
+
<StackView direction="row" tokens={stackViewTokens} ref={ref}>
|
|
31
31
|
<StepTracker
|
|
32
32
|
current={activeIndex}
|
|
33
33
|
steps={steps}
|
|
@@ -41,7 +41,9 @@ const CarouselStepTracker = ({ variant }) => {
|
|
|
41
41
|
/>
|
|
42
42
|
</StackView>
|
|
43
43
|
)
|
|
44
|
-
}
|
|
44
|
+
})
|
|
45
|
+
|
|
46
|
+
CarouselStepTracker.displayName = 'CarouselStepTracker'
|
|
45
47
|
|
|
46
48
|
CarouselStepTracker.propTypes = {
|
|
47
49
|
variant: variantProp.propType
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
|
|
4
4
|
import { useResponsiveProp } from '../../utils'
|
|
@@ -7,7 +7,7 @@ import Carousel from '../Carousel'
|
|
|
7
7
|
/**
|
|
8
8
|
* @deprecated Please use Carousel and pass the `tabs` prop.
|
|
9
9
|
*/
|
|
10
|
-
const CarouselTabs = forwardRef(({ items, refocus = true, ...carouselProps }, ref) => {
|
|
10
|
+
const CarouselTabs = React.forwardRef(({ items, refocus = true, ...carouselProps }, ref) => {
|
|
11
11
|
const tabs = useResponsiveProp({ md: items })
|
|
12
12
|
|
|
13
13
|
return (
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import { View } from 'react-native'
|
|
3
3
|
|
|
4
4
|
import PropTypes from 'prop-types'
|
|
@@ -11,16 +11,16 @@ const selectTabPanelStyle = () => ({
|
|
|
11
11
|
backgroundColor: 'transparent'
|
|
12
12
|
})
|
|
13
13
|
|
|
14
|
-
const CarouselTabsPanel = forwardRef(({ items }, ref) => {
|
|
14
|
+
const CarouselTabsPanel = React.forwardRef(({ items }, ref) => {
|
|
15
15
|
const { activeIndex, goTo } = useCarousel()
|
|
16
|
-
const nextFocusRef = useRef()
|
|
17
|
-
const firstTabRef = useRef()
|
|
18
|
-
const [isInverse, setIsInverse] = useState(false)
|
|
16
|
+
const nextFocusRef = React.useRef()
|
|
17
|
+
const firstTabRef = React.useRef()
|
|
18
|
+
const [isInverse, setIsInverse] = React.useState(false)
|
|
19
19
|
|
|
20
20
|
const lastTabSelected = activeIndex === items.length - 1
|
|
21
21
|
|
|
22
22
|
// Get current select tab style
|
|
23
|
-
useEffect(() => {
|
|
23
|
+
React.useEffect(() => {
|
|
24
24
|
const [selectedVariantIsInverse] = items.filter((_, index) => index === activeIndex)
|
|
25
25
|
setIsInverse(selectedVariantIsInverse?.inverse)
|
|
26
26
|
}, [items, activeIndex])
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
import { Pressable, Text, Platform } from 'react-native'
|
|
4
4
|
|
|
@@ -64,12 +64,12 @@ const selectTextStyles = ({
|
|
|
64
64
|
color
|
|
65
65
|
})
|
|
66
66
|
|
|
67
|
-
const CarouselTabsPanelItem = forwardRef(
|
|
67
|
+
const CarouselTabsPanelItem = React.forwardRef(
|
|
68
68
|
({ title, selected, inactive, variant, tokens, accessibilityRole = 'tab', ...rest }, ref) => {
|
|
69
69
|
// Workaround for React Native Web https://github.com/necolas/react-native-web/issues/2357
|
|
70
70
|
// Don't allow disabled to be set while focus is true else focus state gets locked `true`
|
|
71
71
|
// (must refocus _after_ calling `goTo`, else focus target content is not up to date)
|
|
72
|
-
const [isFocused, setIsFocused] = useState(false)
|
|
72
|
+
const [isFocused, setIsFocused] = React.useState(false)
|
|
73
73
|
const disabled = (inactive || selected) && !isFocused
|
|
74
74
|
|
|
75
75
|
const getTokens = useThemeTokensCallback('CarouselTabsPanelItem', tokens, variant)
|
|
@@ -17,7 +17,7 @@ const selectPressableTokens = ({ borderColor, borderRadius, borderWidth, margin,
|
|
|
17
17
|
* `Carousel.Thumbnail` is used to wrap the content of an individual slide and is suppsoed to be the
|
|
18
18
|
* only top-level component passed to the `Carousel`
|
|
19
19
|
*/
|
|
20
|
-
const CarouselThumbnail = ({ accessibilityLabel, alt, index, src }) => {
|
|
20
|
+
const CarouselThumbnail = React.forwardRef(({ accessibilityLabel, alt, index, src }, ref) => {
|
|
21
21
|
const { activeIndex, itemLabel, totalItems, getCopyWithPlaceholders, goTo } = useCarousel()
|
|
22
22
|
const getThumbnailTokens = useThemeTokensCallback('CarouselThumbnail')
|
|
23
23
|
const viewport = useViewport()
|
|
@@ -70,6 +70,7 @@ const CarouselThumbnail = ({ accessibilityLabel, alt, index, src }) => {
|
|
|
70
70
|
index === activeIndex ? [styles.selected, { outline: 'none' }] : styles.nonSelected
|
|
71
71
|
]
|
|
72
72
|
}}
|
|
73
|
+
ref={ref}
|
|
73
74
|
>
|
|
74
75
|
<Image
|
|
75
76
|
accessibilityIgnoresInvertColors
|
|
@@ -80,7 +81,10 @@ const CarouselThumbnail = ({ accessibilityLabel, alt, index, src }) => {
|
|
|
80
81
|
/>
|
|
81
82
|
</Pressable>
|
|
82
83
|
)
|
|
83
|
-
}
|
|
84
|
+
})
|
|
85
|
+
|
|
86
|
+
CarouselThumbnail.displayName = 'CarouselThumbnail'
|
|
87
|
+
|
|
84
88
|
CarouselThumbnail.propTypes = {
|
|
85
89
|
accessibilityLabel: PropTypes.string,
|
|
86
90
|
alt: PropTypes.string,
|
|
@@ -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 { useCarousel } from './CarouselContext'
|
|
@@ -7,7 +7,7 @@ import { StackWrap } from '../StackView'
|
|
|
7
7
|
import { useThemeTokens } from '../ThemeProvider'
|
|
8
8
|
import { useViewport } from '../ViewportProvider'
|
|
9
9
|
|
|
10
|
-
const CarouselThumbnailNavigation = forwardRef(({ thumbnails = [] }, ref) => {
|
|
10
|
+
const CarouselThumbnailNavigation = React.forwardRef(({ thumbnails = [] }, ref) => {
|
|
11
11
|
const viewport = useViewport()
|
|
12
12
|
const { alignItems } = useThemeTokens('CarouselThumbnail', {}, { viewport })
|
|
13
13
|
const { totalItems } = useCarousel()
|
|
@@ -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
|
|
|
@@ -122,7 +122,7 @@ const selectFeedbackTokens = ({ feedbackMarginBottom, feedbackMarginTop, feedbac
|
|
|
122
122
|
* or the internal state in case of uncontrolled checkbox.
|
|
123
123
|
*
|
|
124
124
|
*/
|
|
125
|
-
const Checkbox = forwardRef(
|
|
125
|
+
const Checkbox = React.forwardRef(
|
|
126
126
|
(
|
|
127
127
|
{
|
|
128
128
|
checked,
|
|
@@ -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
|
|
|
@@ -75,7 +75,7 @@ export const selectCheckboxTokens = (themeTokens, prefix) =>
|
|
|
75
75
|
* The visual toggle of a checkbox input. Is not interactive on its own, should be used inside
|
|
76
76
|
* an interactive parent that passes down props when interacted with. Used in CheckboxCard
|
|
77
77
|
*/
|
|
78
|
-
const CheckboxButton = forwardRef(
|
|
78
|
+
const CheckboxButton = React.forwardRef(
|
|
79
79
|
(
|
|
80
80
|
{
|
|
81
81
|
isChecked,
|
|
@@ -92,11 +92,9 @@ const CheckboxButton = forwardRef(
|
|
|
92
92
|
},
|
|
93
93
|
ref
|
|
94
94
|
) => {
|
|
95
|
-
const { icon: IconComponent, ...stateTokens } = useThemeTokens(
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
{ checked: isChecked }
|
|
99
|
-
)
|
|
95
|
+
const { icon: IconComponent, ...stateTokens } = useThemeTokens('Checkbox', tokens, {
|
|
96
|
+
checked: isChecked
|
|
97
|
+
})
|
|
100
98
|
const iconTokens = selectIconTokens(stateTokens)
|
|
101
99
|
|
|
102
100
|
return (
|
|
@@ -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
|
|
|
@@ -72,7 +72,7 @@ const [selectItemProps, selectedItemPropTypes] = selectSystemProps([
|
|
|
72
72
|
* />
|
|
73
73
|
* ```
|
|
74
74
|
*/
|
|
75
|
-
const CheckboxGroup = forwardRef(
|
|
75
|
+
const CheckboxGroup = React.forwardRef(
|
|
76
76
|
(
|
|
77
77
|
{
|
|
78
78
|
tokens,
|
|
@@ -1,11 +1,23 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* On Web we need to include an actual input but hide it.
|
|
6
6
|
*/
|
|
7
|
-
const CheckboxInput = forwardRef(
|
|
8
|
-
(
|
|
7
|
+
const CheckboxInput = React.forwardRef(
|
|
8
|
+
(
|
|
9
|
+
{
|
|
10
|
+
checked,
|
|
11
|
+
defaultChecked,
|
|
12
|
+
disabled = false,
|
|
13
|
+
id,
|
|
14
|
+
isControlled,
|
|
15
|
+
name,
|
|
16
|
+
onChange = () => {},
|
|
17
|
+
value
|
|
18
|
+
},
|
|
19
|
+
ref
|
|
20
|
+
) => {
|
|
9
21
|
const handleClick = (event) => {
|
|
10
22
|
// Cancel the click dispatched via the label tag, since it's already wrapped
|
|
11
23
|
// in <Pressable>
|
|
@@ -43,13 +55,4 @@ CheckboxInput.propTypes = {
|
|
|
43
55
|
value: PropTypes.string
|
|
44
56
|
}
|
|
45
57
|
|
|
46
|
-
CheckboxInput.defaultProps = {
|
|
47
|
-
checked: undefined,
|
|
48
|
-
defaultChecked: undefined,
|
|
49
|
-
disabled: false,
|
|
50
|
-
name: undefined,
|
|
51
|
-
onChange: () => {},
|
|
52
|
-
value: undefined
|
|
53
|
-
}
|
|
54
|
-
|
|
55
58
|
export default CheckboxInput
|
|
@@ -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
|
|
|
@@ -24,7 +24,7 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([
|
|
|
24
24
|
viewProps
|
|
25
25
|
])
|
|
26
26
|
|
|
27
|
-
const CheckboxCard = forwardRef(
|
|
27
|
+
const CheckboxCard = React.forwardRef(
|
|
28
28
|
(
|
|
29
29
|
{
|
|
30
30
|
tokens,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
|
|
4
4
|
import { useViewport } from '../ViewportProvider'
|
|
@@ -24,7 +24,7 @@ const [selectItemProps, selectedItemPropTypes] = selectSystemProps([
|
|
|
24
24
|
viewProps
|
|
25
25
|
])
|
|
26
26
|
|
|
27
|
-
const CheckboxCardGroup = forwardRef(
|
|
27
|
+
const CheckboxCardGroup = React.forwardRef(
|
|
28
28
|
(
|
|
29
29
|
{
|
|
30
30
|
copy = 'en',
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
|
|
4
4
|
import { View, Pressable, Platform } from 'react-native'
|
|
5
5
|
import { resolvePressableTokens } from '../utils/pressability'
|
|
6
6
|
import { applyShadowToken } from '../ThemeProvider'
|
|
7
|
+
import { getTokensPropType } from '../utils'
|
|
7
8
|
|
|
8
9
|
const selectGeneralBubbleTokens = ({
|
|
9
10
|
outerBubbleHeight,
|
|
@@ -50,13 +51,13 @@ const selectBorderBubbleTokens = ({
|
|
|
50
51
|
borderRadius: bubbleBorderRadius
|
|
51
52
|
})
|
|
52
53
|
|
|
53
|
-
const ColourBubble = forwardRef(
|
|
54
|
+
const ColourBubble = React.forwardRef(
|
|
54
55
|
({ tokens = {}, id, colourHexCode, colourName, isSelected, onPress }, ref) => {
|
|
55
56
|
const defaultTokens = tokens({ selected: isSelected })
|
|
56
57
|
|
|
57
58
|
const resolveColourBubbleTokens = (pressState) => resolvePressableTokens(tokens, pressState, {})
|
|
58
59
|
|
|
59
|
-
const themeTokens = useMemo(() => tokens(), [tokens])
|
|
60
|
+
const themeTokens = React.useMemo(() => tokens(), [tokens])
|
|
60
61
|
|
|
61
62
|
return (
|
|
62
63
|
<Pressable
|
|
@@ -83,7 +84,7 @@ ColourBubble.propTypes = {
|
|
|
83
84
|
/**
|
|
84
85
|
* Colour toggle tokens callback.
|
|
85
86
|
*/
|
|
86
|
-
tokens:
|
|
87
|
+
tokens: getTokensPropType('ColourToggle'),
|
|
87
88
|
/**
|
|
88
89
|
* ID of each colour bubble
|
|
89
90
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import { View } from 'react-native'
|
|
3
3
|
import PropTypes from 'prop-types'
|
|
4
4
|
|
|
@@ -10,9 +10,9 @@ import ColourBubble from './ColourBubble'
|
|
|
10
10
|
|
|
11
11
|
const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps])
|
|
12
12
|
|
|
13
|
-
const ColourToggle = forwardRef(
|
|
13
|
+
const ColourToggle = React.forwardRef(
|
|
14
14
|
({ tokens, variant, defaultColourId, items, onChange, ...rest }, ref) => {
|
|
15
|
-
const [currentColourId, setCurrentColourId] = useState(defaultColourId)
|
|
15
|
+
const [currentColourId, setCurrentColourId] = React.useState(defaultColourId)
|
|
16
16
|
const getTokens = useThemeTokensCallback('ColourToggle', tokens, variant)
|
|
17
17
|
|
|
18
18
|
const { space } = getTokens()
|
package/src/Divider/Divider.jsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
import { View, StyleSheet, Platform } from 'react-native'
|
|
4
4
|
import { useThemeTokens } from '../ThemeProvider'
|
|
@@ -55,7 +55,7 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, vie
|
|
|
55
55
|
*
|
|
56
56
|
* For accessibility purposes a divider component will be described with ARIA attributes, i.e. `role="separator"` and `aria-orientation="vertical/horizontal"`.
|
|
57
57
|
*/
|
|
58
|
-
const Divider = forwardRef(({ variant, vertical = false, space, tokens, ...rest }, ref) => {
|
|
58
|
+
const Divider = React.forwardRef(({ variant, vertical = false, space, tokens, ...rest }, ref) => {
|
|
59
59
|
const { color, width } = useThemeTokens('Divider', tokens, variant)
|
|
60
60
|
|
|
61
61
|
const borderStyles = vertical
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import ExpandCollapse from './ExpandCollapse'
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* 'Accordion' is a shorthand for an ExpandCollapse where only one item may be open at a time
|
|
6
6
|
*/
|
|
7
|
-
const Accordion = forwardRef((props, ref) =>
|
|
7
|
+
const Accordion = React.forwardRef((props, ref) => (
|
|
8
|
+
<ExpandCollapse ref={ref} {...props} maxOpen={1} />
|
|
9
|
+
))
|
|
8
10
|
Accordion.displayName = 'Accordion'
|
|
9
11
|
Accordion.propTypes = ExpandCollapse.propTypes
|
|
10
12
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import { Pressable, View, Platform, StyleSheet } from 'react-native'
|
|
3
3
|
import PropTypes from 'prop-types'
|
|
4
4
|
|
|
@@ -66,7 +66,7 @@ function selectIconTokens(tokens) {
|
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
const ExpandCollapseControl = forwardRef(
|
|
69
|
+
const ExpandCollapseControl = React.forwardRef(
|
|
70
70
|
(
|
|
71
71
|
{ onPress, isExpanded, children, tokens, accessibilityRole = 'button', variant, ...rest },
|
|
72
72
|
ref
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React
|
|
2
|
-
import { View } from 'react-native'
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { View, StyleSheet } from 'react-native'
|
|
3
3
|
import PropTypes from 'prop-types'
|
|
4
4
|
|
|
5
5
|
import { useThemeTokens } from '../ThemeProvider'
|
|
@@ -29,7 +29,7 @@ function selectBorderStyles(tokens) {
|
|
|
29
29
|
* <ExpandCollapse.Panel> children, and assign the panels explicit `panelId` props. The panels may be
|
|
30
30
|
* nested (they do not need to be direct children), and non-interactive items may be included too.
|
|
31
31
|
*/
|
|
32
|
-
const ExpandCollapse = forwardRef(
|
|
32
|
+
const ExpandCollapse = React.forwardRef(
|
|
33
33
|
({ children, tokens, variant, maxOpen, open, initialOpen, onChange, ...rest }, ref) => {
|
|
34
34
|
const {
|
|
35
35
|
currentValues: openIds,
|
|
@@ -46,10 +46,12 @@ const ExpandCollapse = forwardRef(
|
|
|
46
46
|
const themeTokens = useThemeTokens('ExpandCollapse', tokens, variant)
|
|
47
47
|
|
|
48
48
|
return (
|
|
49
|
-
<View
|
|
50
|
-
{
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
<View style={staticStyles.container} ref={ref} {...selectProps(rest)}>
|
|
50
|
+
<View style={selectBorderStyles(themeTokens)}>
|
|
51
|
+
{typeof children === 'function'
|
|
52
|
+
? children({ openIds, onToggle, resetValues, setValues, unsetValues })
|
|
53
|
+
: children}
|
|
54
|
+
</View>
|
|
53
55
|
</View>
|
|
54
56
|
)
|
|
55
57
|
}
|
|
@@ -86,3 +88,9 @@ ExpandCollapse.propTypes = {
|
|
|
86
88
|
}
|
|
87
89
|
|
|
88
90
|
export default ExpandCollapse
|
|
91
|
+
|
|
92
|
+
const staticStyles = StyleSheet.create({
|
|
93
|
+
container: {
|
|
94
|
+
display: 'flex'
|
|
95
|
+
}
|
|
96
|
+
})
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import { Animated, Platform, View, Text } from 'react-native'
|
|
3
3
|
import PropTypes from 'prop-types'
|
|
4
4
|
import ABBPropTypes from 'airbnb-prop-types'
|
|
@@ -11,9 +11,12 @@ import {
|
|
|
11
11
|
selectSystemProps,
|
|
12
12
|
useVerticalExpandAnimation,
|
|
13
13
|
variantProp,
|
|
14
|
-
viewProps
|
|
14
|
+
viewProps,
|
|
15
|
+
useCopy
|
|
15
16
|
} from '../utils'
|
|
16
17
|
|
|
18
|
+
import dictionary from './dictionary'
|
|
19
|
+
|
|
17
20
|
const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps])
|
|
18
21
|
|
|
19
22
|
// just void functions for now, since there are no style tokens for a panel or control at this point
|
|
@@ -78,7 +81,7 @@ const selectControlPanelStyles = ({ contentPanelBackgroundColor }) => ({
|
|
|
78
81
|
* The panel does not need to be a direct child of the `<ExpandCollapse>` (unless this is required
|
|
79
82
|
* by the chosen accessibility props for a particular accessibility tools).
|
|
80
83
|
*/
|
|
81
|
-
const ExpandCollapsePanel = forwardRef(
|
|
84
|
+
const ExpandCollapsePanel = React.forwardRef(
|
|
82
85
|
(
|
|
83
86
|
{
|
|
84
87
|
openIds = [],
|
|
@@ -92,12 +95,14 @@ const ExpandCollapsePanel = forwardRef(
|
|
|
92
95
|
variant,
|
|
93
96
|
controlRef,
|
|
94
97
|
content,
|
|
98
|
+
copy = 'en',
|
|
95
99
|
...rest
|
|
96
100
|
},
|
|
97
101
|
ref
|
|
98
102
|
) => {
|
|
99
|
-
const [containerHeight, setContainerHeight] = useState(null)
|
|
103
|
+
const [containerHeight, setContainerHeight] = React.useState(null)
|
|
100
104
|
const isExpanded = openIds.includes(panelId)
|
|
105
|
+
const getCopy = useCopy({ dictionary, copy })
|
|
101
106
|
|
|
102
107
|
const selectedProps = selectProps({
|
|
103
108
|
...rest,
|
|
@@ -130,16 +135,28 @@ const ExpandCollapsePanel = forwardRef(
|
|
|
130
135
|
})
|
|
131
136
|
|
|
132
137
|
const focusabilityProps = isExpanded ? {} : a11yProps.nonFocusableProps
|
|
138
|
+
|
|
139
|
+
const panelAccessibilityLabel = `${panelId} ${getCopy('panel')}`
|
|
140
|
+
const subPanelAccessibilityLabel = `${panelId} ${getCopy('subPanel')}`
|
|
141
|
+
|
|
133
142
|
return content ? (
|
|
134
|
-
<View
|
|
143
|
+
<View
|
|
144
|
+
style={selectContentPanelStyles(themeTokens)}
|
|
145
|
+
accessibilityLabel={panelAccessibilityLabel}
|
|
146
|
+
>
|
|
135
147
|
{typeof children === 'string' ? (
|
|
136
|
-
<Text
|
|
148
|
+
<Text
|
|
149
|
+
style={selectTextStyles(themeTokens)}
|
|
150
|
+
accessibilityLabel={subPanelAccessibilityLabel}
|
|
151
|
+
>
|
|
152
|
+
{children}
|
|
153
|
+
</Text>
|
|
137
154
|
) : (
|
|
138
155
|
children
|
|
139
156
|
)}
|
|
140
157
|
</View>
|
|
141
158
|
) : (
|
|
142
|
-
<View ref={ref} style={themeTokens}>
|
|
159
|
+
<View ref={ref} style={themeTokens} accessibilityLabel={panelAccessibilityLabel}>
|
|
143
160
|
<View style={selectControlPanelStyles(themeTokens)}>
|
|
144
161
|
<ExpandCollapseControl
|
|
145
162
|
{...selectedProps}
|
|
@@ -174,7 +191,12 @@ const ExpandCollapsePanel = forwardRef(
|
|
|
174
191
|
})
|
|
175
192
|
}}
|
|
176
193
|
>
|
|
177
|
-
<View
|
|
194
|
+
<View
|
|
195
|
+
style={selectContainerStyles(themeTokens)}
|
|
196
|
+
accessibilityLabel={subPanelAccessibilityLabel}
|
|
197
|
+
>
|
|
198
|
+
{children}
|
|
199
|
+
</View>
|
|
178
200
|
</View>
|
|
179
201
|
</Animated.View>
|
|
180
202
|
</View>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import { StyleSheet, Text, View } from 'react-native'
|
|
3
3
|
import PropTypes from 'prop-types'
|
|
4
4
|
|
|
@@ -55,7 +55,7 @@ const selectIconContainerStyles = ({ iconGap }) => ({
|
|
|
55
55
|
* ### Accessibility
|
|
56
56
|
* All accessibility props set on this component will be applied to the outer container.
|
|
57
57
|
*/
|
|
58
|
-
const Feedback = forwardRef(
|
|
58
|
+
const Feedback = React.forwardRef(
|
|
59
59
|
({ title, children, id, validation, tokens, variant, ...rest }, ref) => {
|
|
60
60
|
const themeTokens = useThemeTokens('Feedback', tokens, {
|
|
61
61
|
...variant,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
|
|
4
4
|
import Feedback from '../Feedback'
|
|
@@ -15,7 +15,7 @@ import useInputSupports from '../InputSupports/useInputSupports'
|
|
|
15
15
|
*
|
|
16
16
|
* Follows the same theming and most of the same props as InputSupports.
|
|
17
17
|
*/
|
|
18
|
-
const Fieldset = forwardRef(
|
|
18
|
+
const Fieldset = React.forwardRef(
|
|
19
19
|
(
|
|
20
20
|
{
|
|
21
21
|
copy = 'en',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
|
|
4
4
|
import cssReset from './cssReset'
|
|
@@ -10,7 +10,7 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, htm
|
|
|
10
10
|
/**
|
|
11
11
|
* On Web, wraps children with a HTML `<fieldset>` and sets its attributes as necessary.
|
|
12
12
|
*/
|
|
13
|
-
const FieldsetContainer = forwardRef(
|
|
13
|
+
const FieldsetContainer = React.forwardRef(
|
|
14
14
|
(
|
|
15
15
|
{
|
|
16
16
|
children,
|
|
@@ -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
|
|
|
@@ -8,7 +8,7 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, vie
|
|
|
8
8
|
|
|
9
9
|
// No equivalent of `<fieldset>` on native, so just apply accessibility role to container.
|
|
10
10
|
// If a11y testing finds any additional handling is needed at the container level, add it here.
|
|
11
|
-
const FieldsetContainer = forwardRef(({ children, accessibilityRole, ...rest }, ref) => (
|
|
11
|
+
const FieldsetContainer = React.forwardRef(({ children, accessibilityRole, ...rest }, ref) => (
|
|
12
12
|
<View ref={ref} accessibilityRole={accessibilityRole} {...selectProps(rest)}>
|
|
13
13
|
{children}
|
|
14
14
|
</View>
|
package/src/Fieldset/Legend.jsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
|
|
4
4
|
import cssReset from './cssReset'
|
|
@@ -7,7 +7,7 @@ import cssReset from './cssReset'
|
|
|
7
7
|
* On Web, wraps children in HTML `<legend>` tag.
|
|
8
8
|
* On Native, `<legend>` does not exist, wraps in a width 100% block to follow <legend>'s behaviour in a flex.
|
|
9
9
|
*/
|
|
10
|
-
const Legend = forwardRef(({ children }, ref) => (
|
|
10
|
+
const Legend = React.forwardRef(({ children }, ref) => (
|
|
11
11
|
<legend ref={ref} style={cssReset}>
|
|
12
12
|
{children}
|
|
13
13
|
</legend>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react'
|
|
2
2
|
import { View, StyleSheet } from 'react-native'
|
|
3
3
|
import PropTypes from 'prop-types'
|
|
4
4
|
|
|
@@ -6,7 +6,7 @@ import PropTypes from 'prop-types'
|
|
|
6
6
|
* On Web, wraps children in HTML `<legend>` tag.
|
|
7
7
|
* On Native, `<legend>` does not exist, wraps in a width 100% block to follow <legend>'s behaviour in a flex.
|
|
8
8
|
*/
|
|
9
|
-
const Legend = forwardRef(({ children }, ref) => (
|
|
9
|
+
const Legend = React.forwardRef(({ children }, ref) => (
|
|
10
10
|
<View ref={ref} style={staticStyles.stretch}>
|
|
11
11
|
{children}
|
|
12
12
|
</View>
|