@telus-uds/components-base 1.84.0 → 1.85.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -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 +9 -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 +9 -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 +38 -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,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import React, { forwardRef, useEffect, useRef, useState } from 'react';
|
|
1
|
+
import React from 'react';
|
|
3
2
|
import PropTypes from 'prop-types';
|
|
4
3
|
import Dimensions from "react-native-web/dist/exports/Dimensions";
|
|
5
4
|
import Platform from "react-native-web/dist/exports/Platform";
|
|
@@ -87,7 +86,7 @@ const highlight = function () {
|
|
|
87
86
|
return [...acc, item];
|
|
88
87
|
}, []);
|
|
89
88
|
};
|
|
90
|
-
const Autocomplete = /*#__PURE__*/forwardRef((_ref2, ref) => {
|
|
89
|
+
const Autocomplete = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
|
|
91
90
|
var _ref3;
|
|
92
91
|
let {
|
|
93
92
|
children,
|
|
@@ -122,23 +121,23 @@ const Autocomplete = /*#__PURE__*/forwardRef((_ref2, ref) => {
|
|
|
122
121
|
const isControlled = value !== undefined;
|
|
123
122
|
|
|
124
123
|
// We need to store current items for uncontrolled usage
|
|
125
|
-
const [currentItems, setCurrentItems] = useState(initialItems);
|
|
126
|
-
const [otherItems, setOtherItems] = useState(items);
|
|
124
|
+
const [currentItems, setCurrentItems] = React.useState(initialItems);
|
|
125
|
+
const [otherItems, setOtherItems] = React.useState(items);
|
|
127
126
|
|
|
128
127
|
// We need to store the current value as well to be able to highlight it
|
|
129
|
-
const [currentValue, setCurrentValue] = useState(value ?? initialValue);
|
|
128
|
+
const [currentValue, setCurrentValue] = React.useState(value ?? initialValue);
|
|
130
129
|
const inputTokens = {
|
|
131
130
|
paddingLeft: INPUT_LEFT_PADDING
|
|
132
131
|
};
|
|
133
132
|
|
|
134
133
|
// Setting up the overlay
|
|
135
|
-
const openOverlayRef = useRef();
|
|
136
|
-
const [isExpanded, setIsExpanded] = useState(((_ref3 = value ?? initialValue) === null || _ref3 === void 0 ? void 0 : _ref3.length) >= minToSuggestion);
|
|
137
|
-
const [isFocused, setisFocused] = useState(false);
|
|
138
|
-
const [sourceLayout, setSourceLayout] = useState(null);
|
|
134
|
+
const openOverlayRef = React.useRef();
|
|
135
|
+
const [isExpanded, setIsExpanded] = React.useState(((_ref3 = value ?? initialValue) === null || _ref3 === void 0 ? void 0 : _ref3.length) >= minToSuggestion);
|
|
136
|
+
const [isFocused, setisFocused] = React.useState(false);
|
|
137
|
+
const [sourceLayout, setSourceLayout] = React.useState(null);
|
|
139
138
|
|
|
140
139
|
// When it's nested, selected value
|
|
141
|
-
const [nestedSelectedValue, setNestedSelectedValue] = useState(null);
|
|
140
|
+
const [nestedSelectedValue, setNestedSelectedValue] = React.useState(null);
|
|
142
141
|
const {
|
|
143
142
|
supportsProps,
|
|
144
143
|
...selectedProps
|
|
@@ -160,7 +159,7 @@ const Autocomplete = /*#__PURE__*/forwardRef((_ref2, ref) => {
|
|
|
160
159
|
vertical: Platform.OS !== 'web' && (hint || inputLabel) ? 28 : 4
|
|
161
160
|
}
|
|
162
161
|
});
|
|
163
|
-
const targetRef = useRef(null);
|
|
162
|
+
const targetRef = React.useRef(null);
|
|
164
163
|
// We limit the number of suggestions displayed to avoid huge lists
|
|
165
164
|
// TODO: add a way to make the `Listbox` occupy fixed height and be scrollable
|
|
166
165
|
// within that height, which will unlock similar behaviour for `AutoComplete` as well
|
|
@@ -173,7 +172,7 @@ const Autocomplete = /*#__PURE__*/forwardRef((_ref2, ref) => {
|
|
|
173
172
|
copy
|
|
174
173
|
});
|
|
175
174
|
// Tracking input width changes to resize the listbox overlay accordingly
|
|
176
|
-
const [inputWidth, setInputWidth] = useState();
|
|
175
|
+
const [inputWidth, setInputWidth] = React.useState();
|
|
177
176
|
useSafeLayoutEffect(() => {
|
|
178
177
|
if (Platform.OS === 'web') {
|
|
179
178
|
const updateInputWidth = () => {
|
|
@@ -248,7 +247,7 @@ const Autocomplete = /*#__PURE__*/forwardRef((_ref2, ref) => {
|
|
|
248
247
|
* within the list, if doesn't exist the nested item is added to the top of the list,
|
|
249
248
|
* the nested item is added with an id equal "0"
|
|
250
249
|
*/
|
|
251
|
-
useEffect(() => {
|
|
250
|
+
React.useEffect(() => {
|
|
252
251
|
if (nestedSelectedValue && !items.find(item => item.id === 0)) {
|
|
253
252
|
const tmpItems = [...items];
|
|
254
253
|
tmpItems.unshift({
|
|
@@ -6,12 +6,13 @@ import Box from '../Box';
|
|
|
6
6
|
import StackView from '../StackView';
|
|
7
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
8
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
-
const Loading = _ref => {
|
|
9
|
+
const Loading = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
10
10
|
let {
|
|
11
11
|
label
|
|
12
12
|
} = _ref;
|
|
13
13
|
return /*#__PURE__*/_jsx(Box, {
|
|
14
14
|
space: 3,
|
|
15
|
+
ref: ref,
|
|
15
16
|
children: /*#__PURE__*/_jsxs(StackView, {
|
|
16
17
|
direction: "row",
|
|
17
18
|
space: 2,
|
|
@@ -27,7 +28,8 @@ const Loading = _ref => {
|
|
|
27
28
|
})]
|
|
28
29
|
})
|
|
29
30
|
});
|
|
30
|
-
};
|
|
31
|
+
});
|
|
32
|
+
Loading.displayName = 'Loading';
|
|
31
33
|
Loading.propTypes = {
|
|
32
34
|
label: PropTypes.string
|
|
33
35
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import A11yText from '../A11yText';
|
|
4
4
|
import Typography from '../Typography';
|
|
@@ -7,7 +7,7 @@ import Listbox from '../Listbox';
|
|
|
7
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
8
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
9
9
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
-
const Suggestions = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
10
|
+
const Suggestions = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
11
11
|
let {
|
|
12
12
|
hasResults,
|
|
13
13
|
items = [],
|
|
@@ -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 StyleSheet from "react-native-web/dist/exports/StyleSheet";
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
@@ -66,7 +66,7 @@ const getTypographyVariant = _ref5 => {
|
|
|
66
66
|
size: fontSizeMapping[fontSize]
|
|
67
67
|
};
|
|
68
68
|
};
|
|
69
|
-
const Badge = /*#__PURE__*/forwardRef((_ref6, ref) => {
|
|
69
|
+
const Badge = /*#__PURE__*/React.forwardRef((_ref6, ref) => {
|
|
70
70
|
let {
|
|
71
71
|
children,
|
|
72
72
|
tokens,
|
|
@@ -1,8 +1,8 @@
|
|
|
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 { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
-
const HydrationContext = /*#__PURE__*/createContext();
|
|
5
|
+
const HydrationContext = /*#__PURE__*/React.createContext();
|
|
6
6
|
const isSSR = typeof window === 'undefined';
|
|
7
7
|
const hasWebStyleTag = () => {
|
|
8
8
|
var _document;
|
|
@@ -19,7 +19,7 @@ const hasWebStyleTag = () => {
|
|
|
19
19
|
* during the very first client-side render or hydration, but not available on the server,
|
|
20
20
|
* to ensure no changes happen until the original SSR DOM has been hydrated.
|
|
21
21
|
*/
|
|
22
|
-
export const useHydrationContext = () => useContext(HydrationContext);
|
|
22
|
+
export const useHydrationContext = () => React.useContext(HydrationContext);
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
25
|
* Allows components and hooks to observe if SSR hydration is currently in progress
|
|
@@ -29,8 +29,8 @@ export const HydrationProvider = _ref => {
|
|
|
29
29
|
let {
|
|
30
30
|
children
|
|
31
31
|
} = _ref;
|
|
32
|
-
const [hasMounted, setHasMounted] = useState(false);
|
|
33
|
-
useEffect(() => {
|
|
32
|
+
const [hasMounted, setHasMounted] = React.useState(false);
|
|
33
|
+
React.useEffect(() => {
|
|
34
34
|
setHasMounted(true);
|
|
35
35
|
}, []);
|
|
36
36
|
|
package/lib-module/Box/Box.js
CHANGED
|
@@ -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 ScrollView from "react-native-web/dist/exports/ScrollView";
|
|
@@ -170,7 +170,7 @@ const setBackgroundImage = _ref2 => {
|
|
|
170
170
|
* text content is inside a scrollable box, as screens are not scrollable by default and even very
|
|
171
171
|
* short text will require scrolling on small devices at the highest accessibility text scaling settings.
|
|
172
172
|
*/
|
|
173
|
-
const Box = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
173
|
+
const Box = /*#__PURE__*/React.forwardRef((_ref3, ref) => {
|
|
174
174
|
let {
|
|
175
175
|
space,
|
|
176
176
|
horizontal = space,
|
|
@@ -218,8 +218,8 @@ const Box = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
|
218
218
|
const backgroundImageResizeMode = useResponsiveProp(resizeMode, 'cover');
|
|
219
219
|
const backgroundImagePosition = useResponsiveProp(position, 'none');
|
|
220
220
|
const backgroundImageAlign = useResponsiveProp(align, 'stretch');
|
|
221
|
-
const [backgroundImageWidth, setBackgroundImageWidth] = useState(0);
|
|
222
|
-
const [backgroundImageHeight, setBackgroundImageHeight] = useState(0);
|
|
221
|
+
const [backgroundImageWidth, setBackgroundImageWidth] = React.useState(0);
|
|
222
|
+
const [backgroundImageHeight, setBackgroundImageHeight] = React.useState(0);
|
|
223
223
|
if (backgroundImage) content = setBackgroundImage({
|
|
224
224
|
src,
|
|
225
225
|
alt,
|
|
@@ -230,7 +230,7 @@ const Box = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
|
230
230
|
backgroundImageHeight,
|
|
231
231
|
content
|
|
232
232
|
});
|
|
233
|
-
useEffect(() => {
|
|
233
|
+
React.useEffect(() => {
|
|
234
234
|
if (backgroundImage && backgroundImageWidth === 0 && backgroundImageHeight === 0) {
|
|
235
235
|
Image.getSize(src, (width, height) => {
|
|
236
236
|
// Only update the state if the size has changed
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import ButtonBase from './ButtonBase';
|
|
3
3
|
import buttonPropTypes, { textAndA11yText } from './propTypes';
|
|
4
4
|
import { useThemeTokensCallback } from '../ThemeProvider';
|
|
5
5
|
import { a11yProps } from '../utils/props';
|
|
6
6
|
import { useViewport } from '../ViewportProvider';
|
|
7
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
-
const Button = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
8
|
+
const Button = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
9
9
|
let {
|
|
10
10
|
accessibilityRole = 'button',
|
|
11
11
|
tokens,
|
|
@@ -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 View from "react-native-web/dist/exports/View";
|
|
@@ -218,7 +218,7 @@ const selectItemIconTokens = _ref10 => {
|
|
|
218
218
|
color: iconColor || color
|
|
219
219
|
};
|
|
220
220
|
};
|
|
221
|
-
const ButtonBase = /*#__PURE__*/forwardRef((_ref11, ref) => {
|
|
221
|
+
const ButtonBase = /*#__PURE__*/React.forwardRef((_ref11, ref) => {
|
|
222
222
|
let {
|
|
223
223
|
id,
|
|
224
224
|
href,
|
|
@@ -321,9 +321,6 @@ ButtonBase.propTypes = {
|
|
|
321
321
|
...selectedSystemPropTypes,
|
|
322
322
|
...buttonPropTypes
|
|
323
323
|
};
|
|
324
|
-
ButtonBase.defaultProps = {
|
|
325
|
-
id: undefined
|
|
326
|
-
};
|
|
327
324
|
const staticStyles = StyleSheet.create({
|
|
328
325
|
row: {
|
|
329
326
|
// Apply all button alignment horizontally; no vertical stacking within a button
|
|
@@ -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 Text from "react-native-web/dist/exports/Text";
|
|
@@ -49,7 +49,7 @@ const selectIconTokens = _ref => {
|
|
|
49
49
|
}
|
|
50
50
|
};
|
|
51
51
|
};
|
|
52
|
-
const ButtonDropdown = /*#__PURE__*/forwardRef((_ref2, ref) => {
|
|
52
|
+
const ButtonDropdown = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
|
|
53
53
|
let {
|
|
54
54
|
value,
|
|
55
55
|
initialValue,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import ABBPropTypes from 'airbnb-prop-types';
|
|
4
4
|
import Platform from "react-native-web/dist/exports/Platform";
|
|
@@ -12,7 +12,7 @@ import { getPressHandlersWithArgs } from '../utils/pressability';
|
|
|
12
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
13
|
const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps]);
|
|
14
14
|
const [selectItemProps, selectedItemPropTypes] = selectSystemProps([a11yProps, focusHandlerProps, pressProps, viewProps]);
|
|
15
|
-
const ButtonGroup = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
15
|
+
const ButtonGroup = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
16
16
|
let {
|
|
17
17
|
variant,
|
|
18
18
|
buttonVariant,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import ButtonBase from './ButtonBase';
|
|
4
4
|
import buttonPropTypes, { textAndA11yText } from './propTypes';
|
|
@@ -11,7 +11,7 @@ import { useViewport } from '../ViewportProvider';
|
|
|
11
11
|
* ButtonLink is a block-level component and should not be used inline.
|
|
12
12
|
*/
|
|
13
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
|
-
const ButtonLink = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
14
|
+
const ButtonLink = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
15
15
|
let {
|
|
16
16
|
accessibilityRole = 'link',
|
|
17
17
|
tokens,
|
package/lib-module/Card/Card.js
CHANGED
|
@@ -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 { useThemeTokens, useThemeTokensCallback, useResponsiveThemeTokens, useTheme } from '../ThemeProvider';
|
|
@@ -7,10 +7,52 @@ import { useViewport } from '../ViewportProvider';
|
|
|
7
7
|
import { a11yProps, selectSystemProps, viewProps } from '../utils/props';
|
|
8
8
|
import CardBase from './CardBase';
|
|
9
9
|
import PressableCardBase from './PressableCardBase';
|
|
10
|
+
import CheckboxButton from '../Checkbox/CheckboxButton';
|
|
11
|
+
import RadioButton from '../Radio/RadioButton';
|
|
10
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
13
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
12
14
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
15
|
const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps]);
|
|
16
|
+
const SelectionType = {
|
|
17
|
+
Checkbox: 'checkbox',
|
|
18
|
+
Radio: 'radiogroup',
|
|
19
|
+
None: undefined
|
|
20
|
+
};
|
|
21
|
+
const selectInputStyle = _ref => {
|
|
22
|
+
let {
|
|
23
|
+
paddingTop,
|
|
24
|
+
paddingRight
|
|
25
|
+
} = _ref;
|
|
26
|
+
return {
|
|
27
|
+
position: 'absolute',
|
|
28
|
+
top: paddingTop,
|
|
29
|
+
right: paddingRight
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
const getInputProps = _ref2 => {
|
|
33
|
+
let {
|
|
34
|
+
id,
|
|
35
|
+
checkColor,
|
|
36
|
+
boxBackgroundColor,
|
|
37
|
+
checkBackgroundColor,
|
|
38
|
+
isControlled,
|
|
39
|
+
isChecked,
|
|
40
|
+
isInactive,
|
|
41
|
+
handleChange
|
|
42
|
+
} = _ref2;
|
|
43
|
+
return {
|
|
44
|
+
inputId: id,
|
|
45
|
+
tokens: {
|
|
46
|
+
iconColor: checkColor,
|
|
47
|
+
inputBackgroundColor: boxBackgroundColor,
|
|
48
|
+
iconBackgroundColor: checkBackgroundColor
|
|
49
|
+
},
|
|
50
|
+
isControlled,
|
|
51
|
+
isChecked,
|
|
52
|
+
inactive: isInactive,
|
|
53
|
+
handleChange
|
|
54
|
+
};
|
|
55
|
+
};
|
|
14
56
|
|
|
15
57
|
/**
|
|
16
58
|
* A basic card component, unstyled by default.
|
|
@@ -60,16 +102,18 @@ const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, vie
|
|
|
60
102
|
* you automatically make inaccessible its children, which may or may not be appropriate
|
|
61
103
|
* depending on what you are trying to achieve.
|
|
62
104
|
*/
|
|
63
|
-
const Card = /*#__PURE__*/forwardRef((
|
|
105
|
+
const Card = /*#__PURE__*/React.forwardRef((_ref3, ref) => {
|
|
106
|
+
var _interactiveCard$vari, _interactiveCard$vari2;
|
|
64
107
|
let {
|
|
65
108
|
children,
|
|
66
109
|
tokens,
|
|
67
110
|
variant,
|
|
68
111
|
dataSet,
|
|
69
112
|
onPress,
|
|
113
|
+
id,
|
|
70
114
|
interactiveCard,
|
|
71
115
|
...rest
|
|
72
|
-
} =
|
|
116
|
+
} = _ref3;
|
|
73
117
|
const viewport = useViewport();
|
|
74
118
|
const {
|
|
75
119
|
themeOptions
|
|
@@ -81,6 +125,9 @@ const Card = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
81
125
|
const themeTokens = useTokens('Card', tokens, variant, !enableMediaQueryStyleSheet && {
|
|
82
126
|
viewport
|
|
83
127
|
});
|
|
128
|
+
const selected = interactiveCard === null || interactiveCard === void 0 ? void 0 : (_interactiveCard$vari = interactiveCard.variant) === null || _interactiveCard$vari === void 0 ? void 0 : _interactiveCard$vari.selected;
|
|
129
|
+
const inactive = interactiveCard === null || interactiveCard === void 0 ? void 0 : (_interactiveCard$vari2 = interactiveCard.variant) === null || _interactiveCard$vari2 === void 0 ? void 0 : _interactiveCard$vari2.inactive;
|
|
130
|
+
const selectionType = interactiveCard === null || interactiveCard === void 0 ? void 0 : interactiveCard.selectionType;
|
|
84
131
|
const getThemeTokens = useThemeTokensCallback('Card', interactiveCard === null || interactiveCard === void 0 ? void 0 : interactiveCard.tokens, {
|
|
85
132
|
interactive: true,
|
|
86
133
|
...((interactiveCard === null || interactiveCard === void 0 ? void 0 : interactiveCard.variant) || {})
|
|
@@ -93,7 +140,45 @@ const Card = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
93
140
|
paddingLeft,
|
|
94
141
|
paddingRight,
|
|
95
142
|
...restOfTokens
|
|
96
|
-
} = themeTokens;
|
|
143
|
+
} = selectionType ? getThemeTokens() : themeTokens;
|
|
144
|
+
const {
|
|
145
|
+
inputBackgroundColor,
|
|
146
|
+
iconBackgroundColor,
|
|
147
|
+
iconColor,
|
|
148
|
+
icon,
|
|
149
|
+
inputBorderRadius,
|
|
150
|
+
inputHeight,
|
|
151
|
+
inputWidth,
|
|
152
|
+
iconSize,
|
|
153
|
+
inputShadow,
|
|
154
|
+
inputBorderWidth,
|
|
155
|
+
inputBorderColor
|
|
156
|
+
} = getThemeTokens();
|
|
157
|
+
const checkboxTokens = {
|
|
158
|
+
inputBackgroundColor,
|
|
159
|
+
iconBackgroundColor,
|
|
160
|
+
icon,
|
|
161
|
+
iconColor,
|
|
162
|
+
inputBorderRadius,
|
|
163
|
+
inputHeight,
|
|
164
|
+
inputWidth,
|
|
165
|
+
iconSize,
|
|
166
|
+
inputShadow,
|
|
167
|
+
inputBorderWidth,
|
|
168
|
+
inputBorderColor
|
|
169
|
+
};
|
|
170
|
+
const radioTokens = {
|
|
171
|
+
iconBackgroundColor,
|
|
172
|
+
iconColor,
|
|
173
|
+
containerShadow: inputShadow,
|
|
174
|
+
icon,
|
|
175
|
+
inputBackgroundColor,
|
|
176
|
+
inputBorderRadius,
|
|
177
|
+
inputSize: inputHeight,
|
|
178
|
+
checkedSize: iconSize,
|
|
179
|
+
inputBorderWidth,
|
|
180
|
+
inputBorderColor
|
|
181
|
+
};
|
|
97
182
|
let cardStyles;
|
|
98
183
|
let mediaIds;
|
|
99
184
|
if (enableMediaQueryStyleSheet) {
|
|
@@ -109,6 +194,43 @@ const Card = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
109
194
|
} else {
|
|
110
195
|
cardStyles = themeTokens;
|
|
111
196
|
}
|
|
197
|
+
const renderInputPerSelectionType = props => {
|
|
198
|
+
switch (selectionType) {
|
|
199
|
+
case SelectionType.Checkbox:
|
|
200
|
+
return /*#__PURE__*/_jsx(View, {
|
|
201
|
+
style: selectInputStyle(getThemeTokens()),
|
|
202
|
+
children: /*#__PURE__*/_jsx(CheckboxButton, {
|
|
203
|
+
...props,
|
|
204
|
+
tokens: {
|
|
205
|
+
...checkboxTokens,
|
|
206
|
+
...(props === null || props === void 0 ? void 0 : props.tokens)
|
|
207
|
+
}
|
|
208
|
+
})
|
|
209
|
+
});
|
|
210
|
+
case SelectionType.Radio:
|
|
211
|
+
return /*#__PURE__*/_jsx(View, {
|
|
212
|
+
style: selectInputStyle(getThemeTokens()),
|
|
213
|
+
children: /*#__PURE__*/_jsx(RadioButton, {
|
|
214
|
+
...props,
|
|
215
|
+
tokens: {
|
|
216
|
+
...radioTokens,
|
|
217
|
+
...(props === null || props === void 0 ? void 0 : props.tokens)
|
|
218
|
+
}
|
|
219
|
+
})
|
|
220
|
+
});
|
|
221
|
+
default:
|
|
222
|
+
return null;
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
const renderNoSelectionView = () => /*#__PURE__*/_jsx(View, {
|
|
226
|
+
style: {
|
|
227
|
+
paddingTop,
|
|
228
|
+
paddingBottom,
|
|
229
|
+
paddingLeft,
|
|
230
|
+
paddingRight
|
|
231
|
+
},
|
|
232
|
+
children: children
|
|
233
|
+
});
|
|
112
234
|
return /*#__PURE__*/_jsx(_Fragment, {
|
|
113
235
|
children: /*#__PURE__*/_jsx(CardBase, {
|
|
114
236
|
ref: ref,
|
|
@@ -124,16 +246,31 @@ const Card = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
124
246
|
dataSet: dataSet,
|
|
125
247
|
onPress: onPress,
|
|
126
248
|
...selectProps(rest),
|
|
127
|
-
children:
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
249
|
+
children: cardState => {
|
|
250
|
+
const {
|
|
251
|
+
iconColor: checkColor,
|
|
252
|
+
inputBackgroundColor: boxBackgroundColor,
|
|
253
|
+
iconBackgroundColor: checkBackgroundColor
|
|
254
|
+
} = getThemeTokens({
|
|
255
|
+
...cardState,
|
|
256
|
+
selected,
|
|
257
|
+
interactive: true,
|
|
258
|
+
isControl: true
|
|
259
|
+
}, interactiveCard === null || interactiveCard === void 0 ? void 0 : interactiveCard.tokens);
|
|
260
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
261
|
+
children: [renderInputPerSelectionType(getInputProps({
|
|
262
|
+
id,
|
|
263
|
+
checkColor,
|
|
264
|
+
boxBackgroundColor,
|
|
265
|
+
checkBackgroundColor,
|
|
266
|
+
isControlled: true,
|
|
267
|
+
isChecked: selected || (cardState === null || cardState === void 0 ? void 0 : cardState.hover),
|
|
268
|
+
isInactive: inactive,
|
|
269
|
+
onPress
|
|
270
|
+
})), interactiveCard === null || interactiveCard === void 0 ? void 0 : interactiveCard.body]
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
}), children && selectionType !== SelectionType.None ? renderNoSelectionView() : null]
|
|
137
274
|
}) : children
|
|
138
275
|
})
|
|
139
276
|
});
|
|
@@ -158,15 +295,23 @@ Card.propTypes = {
|
|
|
158
295
|
* Note: This is only available when `interactiveCard` prop is used.
|
|
159
296
|
*/
|
|
160
297
|
onPress: PropTypes.func,
|
|
298
|
+
/**
|
|
299
|
+
* Card ID.
|
|
300
|
+
*/
|
|
301
|
+
id: PropTypes.string,
|
|
161
302
|
/**
|
|
162
303
|
* Object to set interactive card's properties
|
|
163
304
|
* - body: The body of the interactive card, can be any renderable node
|
|
164
305
|
* - tokens: The tokens to be used for the interactive card
|
|
306
|
+
* - selectionType: If the card has `isControl` variant set to `true`, the selectionType can have one of the following options:
|
|
307
|
+
- `radiogroup`
|
|
308
|
+
- `checkbox`
|
|
165
309
|
* - variant: The variant to be used for the interactive card
|
|
166
310
|
*/
|
|
167
311
|
interactiveCard: PropTypes.shape({
|
|
168
312
|
body: PropTypes.node,
|
|
169
313
|
tokens: getTokensPropType('Card'),
|
|
314
|
+
selectionType: PropTypes.oneOf(Object.values(SelectionType)),
|
|
170
315
|
variant: variantProp.propType
|
|
171
316
|
})
|
|
172
317
|
};
|
|
@@ -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 Platform from "react-native-web/dist/exports/Platform";
|
|
@@ -49,7 +49,7 @@ const selectStyles = _ref => {
|
|
|
49
49
|
* A themeless base component for Card which components can apply theme tokens to. Not
|
|
50
50
|
* intended to be used in apps or sites directly: build themed components on top of this.
|
|
51
51
|
*/
|
|
52
|
-
const CardBase = /*#__PURE__*/forwardRef((_ref2, ref) => {
|
|
52
|
+
const CardBase = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
|
|
53
53
|
let {
|
|
54
54
|
children,
|
|
55
55
|
tokens,
|
|
@@ -1,14 +1,14 @@
|
|
|
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";
|
|
5
5
|
import { useViewport } from '../ViewportProvider';
|
|
6
6
|
import { applyOuterBorder, validateThemeTokens } from '../ThemeProvider';
|
|
7
|
-
import { a11yProps, clickProps, focusHandlerProps,
|
|
7
|
+
import { a11yProps, clickProps, focusHandlerProps, getTokensSetPropType, linkProps, resolvePressableState, resolvePressableTokens, selectSystemProps, selectTokens, variantProp, viewProps, withLinkRouter } from '../utils';
|
|
8
8
|
import CardBase from './CardBase';
|
|
9
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
10
|
const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, focusHandlerProps, viewProps]);
|
|
11
|
-
const tokenKeys = [
|
|
11
|
+
const tokenKeys = ['flex', 'backgroundColor', 'borderColor', 'gradient', 'borderRadius', 'borderWidth', 'paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop', 'minWidth', 'shadow', 'contentAlignItems', 'contentJustifyContent', 'contentFlexGrow', 'contentFlexShrink',
|
|
12
12
|
// Outer border tokens. TODO: centralise common token sets like these as part of
|
|
13
13
|
// https://github.com/telus/universal-design-system/issues/782
|
|
14
14
|
'outerBorderColor', 'outerBorderWidth', 'outerBorderGap'];
|
|
@@ -19,7 +19,7 @@ export const selectPressableCardTokens = tokens => Object.fromEntries(tokenKeys.
|
|
|
19
19
|
* based on these to an outer border and a base Card component. Not intended to be used in
|
|
20
20
|
* apps or sites directly: build themed components on top of this.
|
|
21
21
|
*/
|
|
22
|
-
const PressableCardBase = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
22
|
+
const PressableCardBase = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
23
23
|
let {
|
|
24
24
|
children,
|
|
25
25
|
tokens,
|