@telus-uds/components-base 1.96.0 → 1.97.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 +30 -2
- package/babel.config.cjs +35 -0
- package/{jest.config-android.js → jest.config-android.cjs} +1 -1
- package/{jest.config-ios.js → jest.config-ios.cjs} +1 -1
- package/{jest.config-web.js → jest.config-web.cjs} +1 -1
- package/jest.config.cjs +40 -0
- package/lib/A11yInfoProvider/index.js +29 -35
- package/lib/A11yText/index.js +16 -24
- package/lib/ActionCard/ActionCard.js +47 -55
- package/lib/ActionCard/index.js +2 -10
- package/lib/ActivityIndicator/Spinner.js +20 -28
- package/lib/ActivityIndicator/Spinner.native.js +32 -40
- package/lib/ActivityIndicator/index.js +18 -22
- package/lib/ActivityIndicator/shared.js +12 -23
- package/lib/Autocomplete/Autocomplete.js +90 -99
- package/lib/Autocomplete/Loading.js +14 -22
- package/lib/Autocomplete/Suggestions.js +23 -31
- package/lib/Autocomplete/constants.js +4 -14
- package/lib/Autocomplete/dictionary.js +2 -9
- package/lib/Autocomplete/index.js +2 -10
- package/lib/Badge/Badge.js +18 -26
- package/lib/Badge/index.js +2 -10
- package/lib/BaseProvider/HydrationContext.js +13 -23
- package/lib/BaseProvider/index.js +24 -29
- package/lib/Box/Box.js +60 -68
- package/lib/Box/backgroundImageStylesMap.js +2 -9
- package/lib/Box/index.js +2 -10
- package/lib/Button/Button.js +15 -25
- package/lib/Button/ButtonBase.js +37 -46
- package/lib/Button/ButtonDropdown.js +37 -47
- package/lib/Button/ButtonGroup.js +53 -61
- package/lib/Button/ButtonLink.js +21 -29
- package/lib/Button/index.js +5 -34
- package/lib/Button/propTypes.js +16 -25
- package/lib/Card/Card.js +47 -55
- package/lib/Card/CardBase.js +27 -35
- package/lib/Card/PressableCardBase.js +26 -35
- package/lib/Card/index.js +4 -33
- package/lib/CardGroup/CardGroup.js +45 -55
- package/lib/CardGroup/dictionary.js +2 -9
- package/lib/CardGroup/index.js +2 -10
- package/lib/Carousel/Carousel.js +138 -146
- package/lib/Carousel/CarouselContext.js +19 -27
- package/lib/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +15 -22
- package/lib/Carousel/CarouselItem/CarouselItem.js +44 -56
- package/lib/Carousel/CarouselItem/index.js +2 -10
- package/lib/Carousel/CarouselStepTracker/CarouselStepTracker.js +12 -20
- package/lib/Carousel/CarouselStepTracker/index.js +2 -10
- package/lib/Carousel/CarouselTabs/CarouselTabs.js +16 -23
- package/lib/Carousel/CarouselTabs/CarouselTabsPanel.js +20 -28
- package/lib/Carousel/CarouselTabs/CarouselTabsPanelItem.js +23 -31
- package/lib/Carousel/CarouselTabs/index.js +2 -10
- package/lib/Carousel/CarouselThumbnail.js +19 -27
- package/lib/Carousel/CarouselThumbnailNavigation.js +22 -30
- package/lib/Carousel/dictionary.js +2 -9
- package/lib/Carousel/index.js +3 -36
- package/lib/Checkbox/Checkbox.js +52 -60
- package/lib/Checkbox/CheckboxButton.js +32 -41
- package/lib/Checkbox/CheckboxGroup.js +41 -49
- package/lib/Checkbox/CheckboxInput.js +15 -21
- package/lib/Checkbox/CheckboxInput.native.js +1 -8
- package/lib/Checkbox/index.js +3 -17
- package/lib/CheckboxCard/CheckboxCard.js +45 -55
- package/lib/CheckboxCard/index.js +2 -10
- package/lib/CheckboxCardGroup/CheckboxCardGroup.js +42 -52
- package/lib/CheckboxCardGroup/index.js +2 -10
- package/lib/ColourToggle/ColourBubble.js +23 -31
- package/lib/ColourToggle/ColourToggle.js +27 -35
- package/lib/ColourToggle/index.js +2 -10
- package/lib/Divider/Divider.js +23 -31
- package/lib/Divider/index.js +2 -10
- package/lib/DownloadApp/DownloadApp.js +32 -40
- package/lib/DownloadApp/dictionary.js +2 -9
- package/lib/DownloadApp/index.js +2 -10
- package/lib/ExpandCollapse/Accordion.js +7 -13
- package/lib/ExpandCollapse/Control.js +26 -34
- package/lib/ExpandCollapse/ExpandCollapse.js +22 -30
- package/lib/ExpandCollapse/Panel.js +43 -51
- package/lib/ExpandCollapse/dictionary.js +2 -9
- package/lib/ExpandCollapse/index.js +7 -20
- package/lib/Feedback/Feedback.js +33 -41
- package/lib/Feedback/index.js +2 -10
- package/lib/Fieldset/Fieldset.js +37 -43
- package/lib/Fieldset/FieldsetContainer.js +17 -25
- package/lib/Fieldset/FieldsetContainer.native.js +12 -20
- package/lib/Fieldset/Legend.js +10 -16
- package/lib/Fieldset/Legend.native.js +11 -17
- package/lib/Fieldset/cssReset.js +2 -9
- package/lib/Fieldset/index.js +2 -10
- package/lib/FileUpload/FileUpload.js +50 -58
- package/lib/FileUpload/NotificationContent.js +12 -18
- package/lib/FileUpload/dictionary.js +2 -9
- package/lib/FileUpload/index.js +2 -10
- package/lib/FlexGrid/Col/Col.js +35 -43
- package/lib/FlexGrid/Col/index.js +2 -10
- package/lib/FlexGrid/FlexGrid.js +38 -46
- package/lib/FlexGrid/Row/Row.js +24 -32
- package/lib/FlexGrid/Row/index.js +2 -10
- package/lib/FlexGrid/helpers/index.js +1 -8
- package/lib/FlexGrid/index.js +2 -10
- package/lib/FlexGrid/providers/GutterContext.js +3 -11
- package/lib/Footnote/Footnote.js +63 -71
- package/lib/Footnote/FootnoteLink.js +30 -38
- package/lib/Footnote/dictionary.js +2 -9
- package/lib/Footnote/index.js +4 -12
- package/lib/HorizontalScroll/HorizontalScroll.js +32 -41
- package/lib/HorizontalScroll/HorizontalScrollButton.js +25 -33
- package/lib/HorizontalScroll/ScrollViewEnd.js +12 -20
- package/lib/HorizontalScroll/ScrollViewEnd.native.js +9 -16
- package/lib/HorizontalScroll/dictionary.js +2 -9
- package/lib/HorizontalScroll/index.js +11 -28
- package/lib/HorizontalScroll/itemPositions.js +17 -27
- package/lib/Icon/Icon.js +21 -30
- package/lib/Icon/IconText.js +29 -39
- package/lib/Icon/index.js +4 -25
- package/lib/IconButton/IconButton.js +35 -42
- package/lib/IconButton/index.js +2 -10
- package/lib/InputLabel/InputLabel.js +38 -47
- package/lib/InputLabel/LabelContent.js +8 -16
- package/lib/InputLabel/LabelContent.native.js +8 -17
- package/lib/InputLabel/index.js +2 -10
- package/lib/InputSupports/InputSupports.js +27 -35
- package/lib/InputSupports/index.js +2 -10
- package/lib/InputSupports/useInputSupports.js +5 -13
- package/lib/Link/ChevronLink.js +22 -28
- package/lib/Link/InlinePressable.js +13 -19
- package/lib/Link/InlinePressable.native.js +14 -23
- package/lib/Link/Link.js +9 -17
- package/lib/Link/LinkBase.js +40 -48
- package/lib/Link/TextButton.js +16 -22
- package/lib/Link/index.js +5 -34
- package/lib/List/List.js +22 -30
- package/lib/List/ListItem.js +12 -18
- package/lib/List/ListItemBase.js +33 -40
- package/lib/List/ListItemContent.js +22 -31
- package/lib/List/ListItemMark.js +24 -33
- package/lib/List/PressableListItemBase.js +32 -40
- package/lib/List/index.js +5 -24
- package/lib/Listbox/GroupControl.js +29 -33
- package/lib/Listbox/Listbox.js +40 -50
- package/lib/Listbox/ListboxContext.js +4 -12
- package/lib/Listbox/ListboxGroup.js +31 -40
- package/lib/Listbox/ListboxItem.js +23 -31
- package/lib/Listbox/ListboxOverlay.js +26 -35
- package/lib/Listbox/PressableItem.js +22 -30
- package/lib/Listbox/index.js +2 -10
- package/lib/Modal/Modal.js +75 -85
- package/lib/Modal/ModalContent.js +51 -58
- package/lib/Modal/WebModal.js +15 -23
- package/lib/Modal/dictionary.js +2 -9
- package/lib/Modal/index.js +2 -10
- package/lib/MultiSelectFilter/ModalOverlay.js +45 -53
- package/lib/MultiSelectFilter/MultiSelectFilter.js +110 -118
- package/lib/MultiSelectFilter/dictionary.js +2 -9
- package/lib/MultiSelectFilter/index.js +2 -10
- package/lib/Notification/Notification.js +59 -67
- package/lib/Notification/dictionary.js +2 -9
- package/lib/Notification/index.js +2 -10
- package/lib/OrderedList/Item.js +31 -39
- package/lib/OrderedList/ItemBase.js +13 -22
- package/lib/OrderedList/OrderedList.js +17 -25
- package/lib/OrderedList/OrderedListBase.js +12 -21
- package/lib/OrderedList/index.js +2 -10
- package/lib/Pagination/PageButton.js +22 -32
- package/lib/Pagination/Pagination.js +48 -51
- package/lib/Pagination/SideButton.js +25 -32
- package/lib/Pagination/constants.js +3 -0
- package/lib/Pagination/dictionary.js +2 -9
- package/lib/Pagination/index.js +2 -10
- package/lib/Pagination/usePagination.js +14 -12
- package/lib/Portal/Portal.js +8 -15
- package/lib/Portal/Portal.native.js +2 -9
- package/lib/Portal/index.js +2 -10
- package/lib/PriceLockup/PriceLockup.js +37 -45
- package/lib/PriceLockup/index.js +2 -10
- package/lib/PriceLockup/utils/renderFootnoteContent.js +20 -28
- package/lib/PriceLockup/utils/renderFootnoteLinks.js +5 -13
- package/lib/PriceLockup/utils/renderPrice.js +30 -38
- package/lib/PriceLockup/utils/renderTypography.js +5 -13
- package/lib/ProductCard/ProductCard.js +62 -70
- package/lib/ProductCard/dictionary.js +2 -9
- package/lib/ProductCard/index.js +2 -10
- package/lib/ProductCardGroup/ProductCardGroup.js +20 -28
- package/lib/ProductCardGroup/index.js +2 -10
- package/lib/Progress/Progress.js +15 -23
- package/lib/Progress/ProgressBar.js +23 -31
- package/lib/Progress/ProgressBarBackground.js +10 -18
- package/lib/Progress/index.js +4 -12
- package/lib/QuickLinks/QuickLinks.js +23 -29
- package/lib/QuickLinks/QuickLinksCard.js +14 -20
- package/lib/QuickLinks/QuickLinksItem.js +22 -28
- package/lib/QuickLinks/index.js +4 -12
- package/lib/QuickLinksFeature/QuickLinksFeature.js +20 -27
- package/lib/QuickLinksFeature/QuickLinksFeatureItem.js +31 -38
- package/lib/QuickLinksFeature/index.js +4 -12
- package/lib/Radio/Radio.js +43 -53
- package/lib/Radio/RadioButton.js +34 -43
- package/lib/Radio/RadioGroup.js +43 -51
- package/lib/Radio/RadioInput.js +15 -21
- package/lib/Radio/RadioInput.native.js +1 -8
- package/lib/Radio/index.js +3 -17
- package/lib/RadioCard/RadioCard.js +43 -53
- package/lib/RadioCard/RadioCardGroup.js +42 -52
- package/lib/RadioCard/index.js +3 -17
- package/lib/Responsive/Responsive.js +16 -22
- package/lib/Responsive/ResponsiveProp.js +13 -21
- package/lib/Responsive/ResponsiveWithMediaQueryStyleSheet.js +15 -23
- package/lib/Responsive/index.js +2 -10
- package/lib/Search/Search.js +47 -55
- package/lib/Search/dictionary.js +2 -9
- package/lib/Search/index.js +2 -10
- package/lib/Select/Group.js +9 -17
- package/lib/Select/Group.native.js +5 -13
- package/lib/Select/Item.js +8 -16
- package/lib/Select/Item.native.js +1 -8
- package/lib/Select/Picker.js +27 -35
- package/lib/Select/Picker.native.js +34 -41
- package/lib/Select/Select.js +45 -54
- package/lib/Select/constants.js +4 -14
- package/lib/Select/index.js +6 -14
- package/lib/SideNav/Item.js +29 -37
- package/lib/SideNav/ItemContent.js +17 -26
- package/lib/SideNav/ItemsGroup.js +25 -32
- package/lib/SideNav/SideNav.js +28 -38
- package/lib/SideNav/index.js +1 -13
- package/lib/Skeleton/Skeleton.js +32 -40
- package/lib/Skeleton/index.js +2 -10
- package/lib/Skeleton/skeleton.constant.js +2 -10
- package/lib/Skeleton/skeletonWebAnimation.js +1 -8
- package/lib/Skeleton/useSkeletonNativeAnimation.js +14 -22
- package/lib/SkipLink/SkipLink.js +24 -33
- package/lib/SkipLink/index.js +2 -10
- package/lib/Spacer/Spacer.js +15 -21
- package/lib/Spacer/index.js +2 -10
- package/lib/StackView/StackView.js +28 -36
- package/lib/StackView/StackWrap.js +14 -21
- package/lib/StackView/StackWrap.native.js +2 -9
- package/lib/StackView/StackWrapBox.js +27 -35
- package/lib/StackView/StackWrapGap.js +22 -30
- package/lib/StackView/common.js +4 -13
- package/lib/StackView/getStackedContent.js +14 -22
- package/lib/StackView/index.js +5 -24
- package/lib/Status/Status.js +27 -35
- package/lib/Status/index.js +2 -10
- package/lib/StepTracker/Step.js +35 -43
- package/lib/StepTracker/StepTracker.js +38 -46
- package/lib/StepTracker/dictionary.js +2 -9
- package/lib/StepTracker/index.js +2 -10
- package/lib/TabBar/TabBar.js +28 -36
- package/lib/TabBar/TabBarItem.js +33 -42
- package/lib/TabBar/index.js +2 -10
- package/lib/Tabs/Tabs.js +38 -48
- package/lib/Tabs/TabsItem.js +45 -53
- package/lib/Tabs/index.js +2 -10
- package/lib/Tags/Tags.js +47 -55
- package/lib/Tags/index.js +2 -10
- package/lib/TextInput/TextArea.js +19 -27
- package/lib/TextInput/TextInput.js +18 -26
- package/lib/TextInput/TextInputBase.js +64 -73
- package/lib/TextInput/dictionary.js +2 -9
- package/lib/TextInput/index.js +3 -20
- package/lib/TextInput/propTypes.js +8 -15
- package/lib/ThemeProvider/ThemeProvider.js +25 -36
- package/lib/ThemeProvider/index.js +7 -60
- package/lib/ThemeProvider/useResponsiveThemeTokens.js +10 -18
- package/lib/ThemeProvider/useSetTheme.js +5 -12
- package/lib/ThemeProvider/useTheme.js +4 -11
- package/lib/ThemeProvider/useThemeTokens.js +15 -24
- package/lib/ThemeProvider/utils/index.js +2 -27
- package/lib/ThemeProvider/utils/styles.js +12 -24
- package/lib/ThemeProvider/utils/theme-tokens.js +19 -34
- package/lib/Timeline/Timeline.js +28 -34
- package/lib/Timeline/index.js +2 -10
- package/lib/ToggleSwitch/ToggleSwitch.js +40 -48
- package/lib/ToggleSwitch/ToggleSwitchGroup.js +43 -51
- package/lib/ToggleSwitch/index.js +3 -20
- package/lib/Tooltip/Backdrop.js +8 -16
- package/lib/Tooltip/Backdrop.native.js +16 -22
- package/lib/Tooltip/Tooltip.js +42 -50
- package/lib/Tooltip/Tooltip.native.js +80 -61
- package/lib/Tooltip/dictionary.js +2 -9
- package/lib/Tooltip/getTooltipPosition.js +1 -9
- package/lib/Tooltip/index.js +5 -13
- package/lib/Tooltip/shared.js +17 -20
- package/lib/TooltipButton/TooltipButton.js +25 -33
- package/lib/TooltipButton/index.js +2 -10
- package/lib/Typography/Typography.js +39 -46
- package/lib/Typography/index.js +2 -10
- package/lib/Validator/Validator.js +42 -50
- package/lib/Validator/index.js +2 -10
- package/lib/ViewportProvider/ViewportProvider.js +13 -19
- package/lib/ViewportProvider/index.js +3 -23
- package/lib/ViewportProvider/useViewport.js +3 -11
- package/lib/ViewportProvider/useViewportListener.js +10 -17
- package/lib/index.js +71 -772
- package/lib/server.js +4 -40
- package/lib/utils/BaseView/BaseView.js +14 -20
- package/lib/utils/BaseView/BaseView.native.js +2 -10
- package/lib/utils/BaseView/index.js +2 -10
- package/lib/utils/a11y/index.js +2 -27
- package/lib/utils/a11y/semantics.js +11 -35
- package/lib/utils/a11y/textSize.js +7 -16
- package/lib/utils/animation/index.js +2 -13
- package/lib/utils/animation/useVerticalExpandAnimation.js +19 -26
- package/lib/utils/children.js +12 -20
- package/lib/utils/containUniqueFields.js +1 -8
- package/lib/utils/convertFromMegaByteToByte.js +1 -7
- package/lib/utils/floating-ui/index.js +1 -42
- package/lib/utils/floating-ui/index.native.js +1 -42
- package/lib/utils/formatImageSource.js +1 -8
- package/lib/utils/hasOwnProperty.js +1 -7
- package/lib/utils/htmlAttrs.js +11 -19
- package/lib/utils/index.js +25 -245
- package/lib/utils/info/index.js +6 -13
- package/lib/utils/info/platform/index.js +8 -13
- package/lib/utils/info/platform/platform.android.js +1 -8
- package/lib/utils/info/platform/platform.ios.js +1 -8
- package/lib/utils/info/platform/platform.js +1 -8
- package/lib/utils/info/platform/platform.native.js +1 -8
- package/lib/utils/info/versions.js +4 -11
- package/lib/utils/input.js +13 -21
- package/lib/utils/pressability.js +14 -22
- package/lib/utils/props/a11yProps.js +90 -98
- package/lib/utils/props/clickProps.js +4 -12
- package/lib/utils/props/componentPropType.js +1 -7
- package/lib/utils/props/copyPropTypes.js +2 -10
- package/lib/utils/props/getPropSelector.js +6 -11
- package/lib/utils/props/handlerProps.js +23 -31
- package/lib/utils/props/hrefAttrsProp.js +6 -13
- package/lib/utils/props/index.js +19 -168
- package/lib/utils/props/inputSupportsProps.js +12 -20
- package/lib/utils/props/linkProps.js +16 -24
- package/lib/utils/props/paddingProp.js +8 -16
- package/lib/utils/props/pressProps.js +22 -31
- package/lib/utils/props/rectProp.js +8 -16
- package/lib/utils/props/responsiveProps.js +5 -13
- package/lib/utils/props/selectSystemProps.js +1 -7
- package/lib/utils/props/spacingProps.js +12 -19
- package/lib/utils/props/textInputProps.js +56 -62
- package/lib/utils/props/textProps.js +18 -24
- package/lib/utils/props/tokens.js +16 -26
- package/lib/utils/props/variantProp.js +4 -11
- package/lib/utils/props/viewProps.js +10 -18
- package/lib/utils/ssr-media-query/create-stylesheet/create-stylesheet-mobile.js +8 -16
- package/lib/utils/ssr-media-query/create-stylesheet/index.android.js +2 -10
- package/lib/utils/ssr-media-query/create-stylesheet/index.ios.js +2 -10
- package/lib/utils/ssr-media-query/create-stylesheet/index.js +12 -20
- package/lib/utils/ssr-media-query/hash.js +1 -7
- package/lib/utils/ssr-media-query/index.js +4 -17
- package/lib/utils/ssr-media-query/utils/common.js +1 -12
- package/lib/utils/ssr-media-query/utils/create-declaration-block.js +6 -14
- package/lib/utils/ssr-media-query/utils/create-media-query-styles.js +5 -12
- package/lib/utils/ssr-media-query/utils/hyphenate-style-name.js +1 -8
- package/lib/utils/ssr-media-query/utils/inject.js +8 -18
- package/lib/utils/ssr.js +19 -28
- package/lib/utils/transformGradient.js +3 -11
- package/lib/utils/useCopy.js +2 -10
- package/lib/utils/useHash.js +7 -14
- package/lib/utils/useHash.native.js +1 -8
- package/lib/utils/useOverlaidPosition.js +17 -25
- package/lib/utils/useResponsiveProp.js +10 -19
- package/lib/utils/useSafeLayoutEffect.js +6 -13
- package/lib/utils/useScrollBlocking.js +10 -17
- package/lib/utils/useScrollBlocking.native.js +1 -8
- package/lib/utils/useSpacingScale.js +7 -14
- package/lib/utils/useUniqueId.js +3 -10
- package/lib/utils/withLinkRouter.js +13 -19
- package/package.json +20 -25
- package/src/A11yInfoProvider/index.jsx +5 -2
- package/src/ActivityIndicator/index.jsx +12 -3
- package/src/BaseProvider/index.jsx +5 -2
- package/src/Carousel/Carousel.jsx +1 -1
- package/src/Carousel/CarouselItem/CarouselItem.jsx +16 -22
- package/src/Icon/IconText.jsx +0 -1
- package/src/InputLabel/InputLabel.jsx +2 -3
- package/src/List/ListItemBase.jsx +6 -1
- package/src/Listbox/GroupControl.jsx +6 -1
- package/src/Modal/ModalContent.jsx +3 -2
- package/src/Pagination/Pagination.jsx +9 -2
- package/src/Pagination/constants.js +3 -0
- package/src/Pagination/usePagination.js +14 -3
- package/src/TextInput/TextInputBase.jsx +1 -1
- package/src/Timeline/Timeline.jsx +6 -2
- package/src/Tooltip/Tooltip.native.jsx +31 -3
- package/src/Tooltip/shared.js +5 -0
- package/src/index.js +9 -10
- package/src/utils/a11y/semantics.js +0 -7
- package/types/FileUpload.d.ts +40 -0
- package/types/index.d.ts +3 -0
- package/lib-module/A11yInfoProvider/index.js +0 -62
- package/lib-module/A11yText/index.js +0 -68
- package/lib-module/ActionCard/ActionCard.js +0 -343
- package/lib-module/ActionCard/index.js +0 -2
- package/lib-module/ActivityIndicator/Spinner.js +0 -80
- package/lib-module/ActivityIndicator/Spinner.native.js +0 -144
- package/lib-module/ActivityIndicator/index.js +0 -44
- package/lib-module/ActivityIndicator/shared.js +0 -14
- package/lib-module/Autocomplete/Autocomplete.js +0 -481
- package/lib-module/Autocomplete/Loading.js +0 -36
- package/lib-module/Autocomplete/Suggestions.js +0 -66
- package/lib-module/Autocomplete/constants.js +0 -4
- package/lib-module/Autocomplete/dictionary.js +0 -12
- package/lib-module/Autocomplete/index.js +0 -2
- package/lib-module/Badge/Badge.js +0 -102
- package/lib-module/Badge/index.js +0 -2
- package/lib-module/BaseProvider/HydrationContext.js +0 -48
- package/lib-module/BaseProvider/index.js +0 -38
- package/lib-module/Box/Box.js +0 -379
- package/lib-module/Box/backgroundImageStylesMap.js +0 -94
- package/lib-module/Box/index.js +0 -2
- package/lib-module/Button/Button.js +0 -34
- package/lib-module/Button/ButtonBase.js +0 -347
- package/lib-module/Button/ButtonDropdown.js +0 -173
- package/lib-module/Button/ButtonGroup.js +0 -272
- package/lib-module/Button/ButtonLink.js +0 -50
- package/lib-module/Button/index.js +0 -5
- package/lib-module/Button/propTypes.js +0 -46
- package/lib-module/Card/Card.js +0 -330
- package/lib-module/Card/CardBase.js +0 -114
- package/lib-module/Card/PressableCardBase.js +0 -112
- package/lib-module/Card/index.js +0 -4
- package/lib-module/CardGroup/CardGroup.js +0 -210
- package/lib-module/CardGroup/dictionary.js +0 -8
- package/lib-module/CardGroup/index.js +0 -2
- package/lib-module/Carousel/Carousel.js +0 -894
- package/lib-module/Carousel/CarouselContext.js +0 -51
- package/lib-module/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +0 -53
- package/lib-module/Carousel/CarouselItem/CarouselItem.js +0 -150
- package/lib-module/Carousel/CarouselItem/index.js +0 -2
- package/lib-module/Carousel/CarouselStepTracker/CarouselStepTracker.js +0 -54
- package/lib-module/Carousel/CarouselStepTracker/index.js +0 -2
- package/lib-module/Carousel/CarouselTabs/CarouselTabs.js +0 -50
- package/lib-module/Carousel/CarouselTabs/CarouselTabsPanel.js +0 -89
- package/lib-module/Carousel/CarouselTabs/CarouselTabsPanelItem.js +0 -118
- package/lib-module/Carousel/CarouselTabs/index.js +0 -2
- package/lib-module/Carousel/CarouselThumbnail.js +0 -113
- package/lib-module/Carousel/CarouselThumbnailNavigation.js +0 -71
- package/lib-module/Carousel/dictionary.js +0 -22
- package/lib-module/Carousel/index.js +0 -3
- package/lib-module/Checkbox/Checkbox.js +0 -343
- package/lib-module/Checkbox/CheckboxButton.js +0 -164
- package/lib-module/Checkbox/CheckboxGroup.js +0 -240
- package/lib-module/Checkbox/CheckboxInput.js +0 -50
- package/lib-module/Checkbox/CheckboxInput.native.js +0 -5
- package/lib-module/Checkbox/index.js +0 -3
- package/lib-module/CheckboxCard/CheckboxCard.js +0 -183
- package/lib-module/CheckboxCard/index.js +0 -2
- package/lib-module/CheckboxCardGroup/CheckboxCardGroup.js +0 -206
- package/lib-module/CheckboxCardGroup/index.js +0 -2
- package/lib-module/ColourToggle/ColourBubble.js +0 -126
- package/lib-module/ColourToggle/ColourToggle.js +0 -92
- package/lib-module/ColourToggle/index.js +0 -2
- package/lib-module/Divider/Divider.js +0 -133
- package/lib-module/Divider/index.js +0 -2
- package/lib-module/DownloadApp/DownloadApp.js +0 -160
- package/lib-module/DownloadApp/dictionary.js +0 -10
- package/lib-module/DownloadApp/index.js +0 -2
- package/lib-module/ExpandCollapse/Accordion.js +0 -15
- package/lib-module/ExpandCollapse/Control.js +0 -165
- package/lib-module/ExpandCollapse/ExpandCollapse.js +0 -98
- package/lib-module/ExpandCollapse/Panel.js +0 -242
- package/lib-module/ExpandCollapse/dictionary.js +0 -10
- package/lib-module/ExpandCollapse/index.js +0 -7
- package/lib-module/Feedback/Feedback.js +0 -161
- package/lib-module/Feedback/index.js +0 -2
- package/lib-module/Fieldset/Fieldset.js +0 -194
- package/lib-module/Fieldset/FieldsetContainer.js +0 -48
- package/lib-module/Fieldset/FieldsetContainer.native.js +0 -32
- package/lib-module/Fieldset/Legend.js +0 -24
- package/lib-module/Fieldset/Legend.native.js +0 -31
- package/lib-module/Fieldset/cssReset.js +0 -14
- package/lib-module/Fieldset/index.js +0 -2
- package/lib-module/FileUpload/FileUpload.js +0 -329
- package/lib-module/FileUpload/NotificationContent.js +0 -55
- package/lib-module/FileUpload/dictionary.js +0 -40
- package/lib-module/FileUpload/index.js +0 -2
- package/lib-module/FlexGrid/Col/Col.js +0 -257
- package/lib-module/FlexGrid/Col/index.js +0 -2
- package/lib-module/FlexGrid/FlexGrid.js +0 -158
- package/lib-module/FlexGrid/Row/Row.js +0 -181
- package/lib-module/FlexGrid/Row/index.js +0 -2
- package/lib-module/FlexGrid/helpers/index.js +0 -15
- package/lib-module/FlexGrid/index.js +0 -2
- package/lib-module/FlexGrid/providers/GutterContext.js +0 -3
- package/lib-module/Footnote/Footnote.js +0 -317
- package/lib-module/Footnote/FootnoteLink.js +0 -107
- package/lib-module/Footnote/dictionary.js +0 -12
- package/lib-module/Footnote/index.js +0 -4
- package/lib-module/HorizontalScroll/HorizontalScroll.js +0 -165
- package/lib-module/HorizontalScroll/HorizontalScrollButton.js +0 -79
- package/lib-module/HorizontalScroll/ScrollViewEnd.js +0 -46
- package/lib-module/HorizontalScroll/ScrollViewEnd.native.js +0 -26
- package/lib-module/HorizontalScroll/dictionary.js +0 -11
- package/lib-module/HorizontalScroll/index.js +0 -11
- package/lib-module/HorizontalScroll/itemPositions.js +0 -113
- package/lib-module/Icon/Icon.js +0 -93
- package/lib-module/Icon/IconText.js +0 -114
- package/lib-module/Icon/index.js +0 -4
- package/lib-module/IconButton/IconButton.js +0 -203
- package/lib-module/IconButton/index.js +0 -2
- package/lib-module/InputLabel/InputLabel.js +0 -146
- package/lib-module/InputLabel/LabelContent.js +0 -28
- package/lib-module/InputLabel/LabelContent.native.js +0 -18
- package/lib-module/InputLabel/index.js +0 -2
- package/lib-module/InputSupports/InputSupports.js +0 -108
- package/lib-module/InputSupports/index.js +0 -2
- package/lib-module/InputSupports/useInputSupports.js +0 -31
- package/lib-module/Link/ChevronLink.js +0 -68
- package/lib-module/Link/InlinePressable.js +0 -48
- package/lib-module/Link/InlinePressable.native.js +0 -87
- package/lib-module/Link/Link.js +0 -28
- package/lib-module/Link/LinkBase.js +0 -269
- package/lib-module/Link/TextButton.js +0 -43
- package/lib-module/Link/index.js +0 -5
- package/lib-module/List/List.js +0 -77
- package/lib-module/List/ListItem.js +0 -32
- package/lib-module/List/ListItemBase.js +0 -164
- package/lib-module/List/ListItemContent.js +0 -73
- package/lib-module/List/ListItemMark.js +0 -126
- package/lib-module/List/PressableListItemBase.js +0 -112
- package/lib-module/List/index.js +0 -5
- package/lib-module/Listbox/GroupControl.js +0 -102
- package/lib-module/Listbox/Listbox.js +0 -172
- package/lib-module/Listbox/ListboxContext.js +0 -4
- package/lib-module/Listbox/ListboxGroup.js +0 -125
- package/lib-module/Listbox/ListboxItem.js +0 -76
- package/lib-module/Listbox/ListboxOverlay.js +0 -78
- package/lib-module/Listbox/PressableItem.js +0 -140
- package/lib-module/Listbox/index.js +0 -2
- package/lib-module/Modal/Modal.js +0 -373
- package/lib-module/Modal/ModalContent.js +0 -179
- package/lib-module/Modal/WebModal.js +0 -76
- package/lib-module/Modal/dictionary.js +0 -9
- package/lib-module/Modal/index.js +0 -2
- package/lib-module/MultiSelectFilter/ModalOverlay.js +0 -156
- package/lib-module/MultiSelectFilter/MultiSelectFilter.js +0 -526
- package/lib-module/MultiSelectFilter/dictionary.js +0 -12
- package/lib-module/MultiSelectFilter/index.js +0 -2
- package/lib-module/Notification/Notification.js +0 -429
- package/lib-module/Notification/dictionary.js +0 -8
- package/lib-module/Notification/index.js +0 -2
- package/lib-module/OrderedList/Item.js +0 -160
- package/lib-module/OrderedList/ItemBase.js +0 -43
- package/lib-module/OrderedList/OrderedList.js +0 -64
- package/lib-module/OrderedList/OrderedListBase.js +0 -36
- package/lib-module/OrderedList/index.js +0 -2
- package/lib-module/Pagination/PageButton.js +0 -74
- package/lib-module/Pagination/Pagination.js +0 -211
- package/lib-module/Pagination/SideButton.js +0 -113
- package/lib-module/Pagination/dictionary.js +0 -18
- package/lib-module/Pagination/index.js +0 -2
- package/lib-module/Pagination/usePagination.js +0 -69
- package/lib-module/Portal/Portal.js +0 -50
- package/lib-module/Portal/Portal.native.js +0 -2
- package/lib-module/Portal/index.js +0 -2
- package/lib-module/PriceLockup/PriceLockup.js +0 -225
- package/lib-module/PriceLockup/index.js +0 -2
- package/lib-module/PriceLockup/utils/renderFootnoteContent.js +0 -87
- package/lib-module/PriceLockup/utils/renderFootnoteLinks.js +0 -28
- package/lib-module/PriceLockup/utils/renderPrice.js +0 -141
- package/lib-module/PriceLockup/utils/renderTypography.js +0 -23
- package/lib-module/ProductCard/ProductCard.js +0 -232
- package/lib-module/ProductCard/dictionary.js +0 -38
- package/lib-module/ProductCard/index.js +0 -2
- package/lib-module/ProductCardGroup/ProductCardGroup.js +0 -70
- package/lib-module/ProductCardGroup/index.js +0 -2
- package/lib-module/Progress/Progress.js +0 -88
- package/lib-module/Progress/ProgressBar.js +0 -133
- package/lib-module/Progress/ProgressBarBackground.js +0 -40
- package/lib-module/Progress/index.js +0 -4
- package/lib-module/QuickLinks/QuickLinks.js +0 -78
- package/lib-module/QuickLinks/QuickLinksCard.js +0 -33
- package/lib-module/QuickLinks/QuickLinksItem.js +0 -51
- package/lib-module/QuickLinks/index.js +0 -4
- package/lib-module/QuickLinksFeature/QuickLinksFeature.js +0 -69
- package/lib-module/QuickLinksFeature/QuickLinksFeatureItem.js +0 -147
- package/lib-module/QuickLinksFeature/index.js +0 -4
- package/lib-module/Radio/Radio.js +0 -283
- package/lib-module/Radio/RadioButton.js +0 -184
- package/lib-module/Radio/RadioGroup.js +0 -255
- package/lib-module/Radio/RadioInput.js +0 -50
- package/lib-module/Radio/RadioInput.native.js +0 -5
- package/lib-module/Radio/index.js +0 -3
- package/lib-module/RadioCard/RadioCard.js +0 -211
- package/lib-module/RadioCard/RadioCardGroup.js +0 -257
- package/lib-module/RadioCard/index.js +0 -3
- package/lib-module/Responsive/Responsive.js +0 -65
- package/lib-module/Responsive/ResponsiveProp.js +0 -39
- package/lib-module/Responsive/ResponsiveWithMediaQueryStyleSheet.js +0 -68
- package/lib-module/Responsive/index.js +0 -2
- package/lib-module/Search/Search.js +0 -242
- package/lib-module/Search/dictionary.js +0 -12
- package/lib-module/Search/index.js +0 -2
- package/lib-module/Select/Group.js +0 -24
- package/lib-module/Select/Group.native.js +0 -16
- package/lib-module/Select/Item.js +0 -23
- package/lib-module/Select/Item.native.js +0 -2
- package/lib-module/Select/Picker.js +0 -97
- package/lib-module/Select/Picker.native.js +0 -120
- package/lib-module/Select/Select.js +0 -337
- package/lib-module/Select/constants.js +0 -5
- package/lib-module/Select/index.js +0 -6
- package/lib-module/SideNav/Item.js +0 -143
- package/lib-module/SideNav/ItemContent.js +0 -50
- package/lib-module/SideNav/ItemsGroup.js +0 -121
- package/lib-module/SideNav/SideNav.js +0 -131
- package/lib-module/SideNav/index.js +0 -1
- package/lib-module/Skeleton/Skeleton.js +0 -177
- package/lib-module/Skeleton/index.js +0 -2
- package/lib-module/Skeleton/skeleton.constant.js +0 -2
- package/lib-module/Skeleton/skeletonWebAnimation.js +0 -14
- package/lib-module/Skeleton/useSkeletonNativeAnimation.js +0 -28
- package/lib-module/SkipLink/SkipLink.js +0 -190
- package/lib-module/SkipLink/index.js +0 -2
- package/lib-module/Spacer/Spacer.js +0 -95
- package/lib-module/Spacer/index.js +0 -2
- package/lib-module/StackView/StackView.js +0 -126
- package/lib-module/StackView/StackWrap.js +0 -51
- package/lib-module/StackView/StackWrap.native.js +0 -4
- package/lib-module/StackView/StackWrapBox.js +0 -114
- package/lib-module/StackView/StackWrapGap.js +0 -61
- package/lib-module/StackView/common.js +0 -35
- package/lib-module/StackView/getStackedContent.js +0 -123
- package/lib-module/StackView/index.js +0 -5
- package/lib-module/Status/Status.js +0 -167
- package/lib-module/Status/index.js +0 -2
- package/lib-module/StepTracker/Step.js +0 -265
- package/lib-module/StepTracker/StepTracker.js +0 -208
- package/lib-module/StepTracker/dictionary.js +0 -30
- package/lib-module/StepTracker/index.js +0 -2
- package/lib-module/TabBar/TabBar.js +0 -125
- package/lib-module/TabBar/TabBarItem.js +0 -177
- package/lib-module/TabBar/index.js +0 -2
- package/lib-module/Tabs/Tabs.js +0 -179
- package/lib-module/Tabs/TabsItem.js +0 -239
- package/lib-module/Tabs/index.js +0 -2
- package/lib-module/Tags/Tags.js +0 -245
- package/lib-module/Tags/index.js +0 -2
- package/lib-module/TextInput/TextArea.js +0 -97
- package/lib-module/TextInput/TextInput.js +0 -80
- package/lib-module/TextInput/TextInputBase.js +0 -436
- package/lib-module/TextInput/dictionary.js +0 -12
- package/lib-module/TextInput/index.js +0 -3
- package/lib-module/TextInput/propTypes.js +0 -34
- package/lib-module/ThemeProvider/ThemeProvider.js +0 -84
- package/lib-module/ThemeProvider/index.js +0 -7
- package/lib-module/ThemeProvider/useResponsiveThemeTokens.js +0 -81
- package/lib-module/ThemeProvider/useSetTheme.js +0 -24
- package/lib-module/ThemeProvider/useTheme.js +0 -11
- package/lib-module/ThemeProvider/useThemeTokens.js +0 -109
- package/lib-module/ThemeProvider/utils/index.js +0 -2
- package/lib-module/ThemeProvider/utils/styles.js +0 -198
- package/lib-module/ThemeProvider/utils/theme-tokens.js +0 -160
- package/lib-module/Timeline/Timeline.js +0 -168
- package/lib-module/Timeline/index.js +0 -2
- package/lib-module/ToggleSwitch/ToggleSwitch.js +0 -280
- package/lib-module/ToggleSwitch/ToggleSwitchGroup.js +0 -208
- package/lib-module/ToggleSwitch/index.js +0 -3
- package/lib-module/Tooltip/Backdrop.js +0 -50
- package/lib-module/Tooltip/Backdrop.native.js +0 -41
- package/lib-module/Tooltip/Tooltip.js +0 -280
- package/lib-module/Tooltip/Tooltip.native.js +0 -328
- package/lib-module/Tooltip/dictionary.js +0 -8
- package/lib-module/Tooltip/getTooltipPosition.js +0 -170
- package/lib-module/Tooltip/index.js +0 -5
- package/lib-module/Tooltip/shared.js +0 -36
- package/lib-module/TooltipButton/TooltipButton.js +0 -90
- package/lib-module/TooltipButton/index.js +0 -2
- package/lib-module/Typography/Typography.js +0 -254
- package/lib-module/Typography/index.js +0 -2
- package/lib-module/Validator/Validator.js +0 -222
- package/lib-module/Validator/index.js +0 -2
- package/lib-module/ViewportProvider/ViewportProvider.js +0 -27
- package/lib-module/ViewportProvider/index.js +0 -3
- package/lib-module/ViewportProvider/useViewport.js +0 -3
- package/lib-module/ViewportProvider/useViewportListener.js +0 -37
- package/lib-module/index.js +0 -76
- package/lib-module/server.js +0 -4
- package/lib-module/utils/BaseView/BaseView.js +0 -42
- package/lib-module/utils/BaseView/BaseView.native.js +0 -5
- package/lib-module/utils/BaseView/index.js +0 -2
- package/lib-module/utils/a11y/index.js +0 -2
- package/lib-module/utils/a11y/semantics.js +0 -144
- package/lib-module/utils/a11y/textSize.js +0 -35
- package/lib-module/utils/animation/index.js +0 -2
- package/lib-module/utils/animation/useVerticalExpandAnimation.js +0 -86
- package/lib-module/utils/children.js +0 -117
- package/lib-module/utils/containUniqueFields.js +0 -24
- package/lib-module/utils/convertFromMegaByteToByte.js +0 -10
- package/lib-module/utils/floating-ui/index.js +0 -1
- package/lib-module/utils/floating-ui/index.native.js +0 -1
- package/lib-module/utils/formatImageSource.js +0 -27
- package/lib-module/utils/hasOwnProperty.js +0 -11
- package/lib-module/utils/htmlAttrs.js +0 -23
- package/lib-module/utils/index.js +0 -25
- package/lib-module/utils/info/index.js +0 -8
- package/lib-module/utils/info/platform/index.js +0 -14
- package/lib-module/utils/info/platform/platform.android.js +0 -1
- package/lib-module/utils/info/platform/platform.ios.js +0 -1
- package/lib-module/utils/info/platform/platform.js +0 -1
- package/lib-module/utils/info/platform/platform.native.js +0 -4
- package/lib-module/utils/info/versions.js +0 -6
- package/lib-module/utils/input.js +0 -185
- package/lib-module/utils/pressability.js +0 -112
- package/lib-module/utils/props/a11yProps.js +0 -310
- package/lib-module/utils/props/clickProps.js +0 -25
- package/lib-module/utils/props/componentPropType.js +0 -50
- package/lib-module/utils/props/copyPropTypes.js +0 -2
- package/lib-module/utils/props/getPropSelector.js +0 -52
- package/lib-module/utils/props/handlerProps.js +0 -105
- package/lib-module/utils/props/hrefAttrsProp.js +0 -33
- package/lib-module/utils/props/index.js +0 -19
- package/lib-module/utils/props/inputSupportsProps.js +0 -68
- package/lib-module/utils/props/linkProps.js +0 -43
- package/lib-module/utils/props/paddingProp.js +0 -9
- package/lib-module/utils/props/pressProps.js +0 -42
- package/lib-module/utils/props/rectProp.js +0 -9
- package/lib-module/utils/props/responsiveProps.js +0 -28
- package/lib-module/utils/props/selectSystemProps.js +0 -23
- package/lib-module/utils/props/spacingProps.js +0 -57
- package/lib-module/utils/props/textInputProps.js +0 -188
- package/lib-module/utils/props/textProps.js +0 -61
- package/lib-module/utils/props/tokens.js +0 -130
- package/lib-module/utils/props/variantProp.js +0 -18
- package/lib-module/utils/props/viewProps.js +0 -21
- package/lib-module/utils/ssr-media-query/create-stylesheet/create-stylesheet-mobile.js +0 -48
- package/lib-module/utils/ssr-media-query/create-stylesheet/index.android.js +0 -2
- package/lib-module/utils/ssr-media-query/create-stylesheet/index.ios.js +0 -2
- package/lib-module/utils/ssr-media-query/create-stylesheet/index.js +0 -36
- package/lib-module/utils/ssr-media-query/hash.js +0 -13
- package/lib-module/utils/ssr-media-query/index.js +0 -6
- package/lib-module/utils/ssr-media-query/utils/common.js +0 -33
- package/lib-module/utils/ssr-media-query/utils/create-declaration-block.js +0 -16
- package/lib-module/utils/ssr-media-query/utils/create-media-query-styles.js +0 -60
- package/lib-module/utils/ssr-media-query/utils/hyphenate-style-name.js +0 -12
- package/lib-module/utils/ssr-media-query/utils/inject.js +0 -39
- package/lib-module/utils/ssr.js +0 -142
- package/lib-module/utils/transformGradient.js +0 -15
- package/lib-module/utils/useCopy.js +0 -42
- package/lib-module/utils/useHash.js +0 -41
- package/lib-module/utils/useHash.native.js +0 -6
- package/lib-module/utils/useOverlaidPosition.js +0 -214
- package/lib-module/utils/useResponsiveProp.js +0 -45
- package/lib-module/utils/useSafeLayoutEffect.js +0 -28
- package/lib-module/utils/useScrollBlocking.js +0 -51
- package/lib-module/utils/useScrollBlocking.native.js +0 -2
- package/lib-module/utils/useSpacingScale.js +0 -123
- package/lib-module/utils/useUniqueId.js +0 -11
- package/lib-module/utils/withLinkRouter.js +0 -84
package/lib/Button/ButtonLink.js
CHANGED
|
@@ -1,24 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import ButtonBase from './ButtonBase';
|
|
4
|
+
import buttonPropTypes, { textAndA11yText } from './propTypes';
|
|
5
|
+
import { a11yProps, hrefAttrsProp, linkProps } from '../utils/props';
|
|
6
|
+
import { useThemeTokensCallback } from '../ThemeProvider';
|
|
7
|
+
import { useViewport } from '../ViewportProvider';
|
|
2
8
|
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
var _ButtonBase = _interopRequireDefault(require("./ButtonBase"));
|
|
10
|
-
var _propTypes2 = _interopRequireWildcard(require("./propTypes"));
|
|
11
|
-
var _props = require("../utils/props");
|
|
12
|
-
var _ThemeProvider = require("../ThemeProvider");
|
|
13
|
-
var _ViewportProvider = require("../ViewportProvider");
|
|
14
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
16
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
9
|
/**
|
|
19
10
|
* `ButtonLink` is a component with the semantics and behaviour of a link, but with the visual appearance of a button.
|
|
20
11
|
* ButtonLink is a block-level component and should not be used inline.
|
|
21
|
-
*/
|
|
12
|
+
*/
|
|
13
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
|
+
const ButtonLink = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
22
15
|
let {
|
|
23
16
|
accessibilityRole = 'link',
|
|
24
17
|
tokens,
|
|
@@ -29,14 +22,14 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
29
22
|
const {
|
|
30
23
|
hrefAttrs,
|
|
31
24
|
rest
|
|
32
|
-
} =
|
|
33
|
-
const viewport =
|
|
25
|
+
} = hrefAttrsProp.bundle(props);
|
|
26
|
+
const viewport = useViewport();
|
|
34
27
|
const buttonVariant = {
|
|
35
28
|
viewport,
|
|
36
29
|
...variant
|
|
37
30
|
};
|
|
38
|
-
const getTokens =
|
|
39
|
-
return /*#__PURE__*/(
|
|
31
|
+
const getTokens = useThemeTokensCallback('Button', tokens, buttonVariant);
|
|
32
|
+
return /*#__PURE__*/_jsx(ButtonBase, {
|
|
40
33
|
ref: ref,
|
|
41
34
|
accessibilityRole: accessibilityRole,
|
|
42
35
|
tokens: getTokens,
|
|
@@ -47,12 +40,11 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
47
40
|
});
|
|
48
41
|
ButtonLink.displayName = 'ButtonLink';
|
|
49
42
|
ButtonLink.propTypes = {
|
|
50
|
-
...
|
|
51
|
-
...
|
|
52
|
-
...
|
|
53
|
-
children:
|
|
54
|
-
dataSet:
|
|
55
|
-
accessibilityRole:
|
|
43
|
+
...a11yProps.types,
|
|
44
|
+
...buttonPropTypes,
|
|
45
|
+
...linkProps.types,
|
|
46
|
+
children: textAndA11yText,
|
|
47
|
+
dataSet: PropTypes.object,
|
|
48
|
+
accessibilityRole: PropTypes.string
|
|
56
49
|
};
|
|
57
|
-
|
|
58
|
-
exports.default = _default;
|
|
50
|
+
export default ButtonLink;
|
package/lib/Button/index.js
CHANGED
|
@@ -1,34 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
Object.defineProperty(exports, "Button", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function () {
|
|
9
|
-
return _Button.default;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
Object.defineProperty(exports, "ButtonDropdown", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function () {
|
|
15
|
-
return _ButtonDropdown.default;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
Object.defineProperty(exports, "ButtonGroup", {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get: function () {
|
|
21
|
-
return _ButtonGroup.default;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
Object.defineProperty(exports, "ButtonLink", {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
get: function () {
|
|
27
|
-
return _ButtonLink.default;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
var _Button = _interopRequireDefault(require("./Button"));
|
|
31
|
-
var _ButtonLink = _interopRequireDefault(require("./ButtonLink"));
|
|
32
|
-
var _ButtonGroup = _interopRequireDefault(require("./ButtonGroup"));
|
|
33
|
-
var _ButtonDropdown = _interopRequireDefault(require("./ButtonDropdown"));
|
|
34
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
1
|
+
import Button from './Button';
|
|
2
|
+
import ButtonLink from './ButtonLink';
|
|
3
|
+
import ButtonGroup from './ButtonGroup';
|
|
4
|
+
import ButtonDropdown from './ButtonDropdown';
|
|
5
|
+
export { Button, ButtonDropdown, ButtonGroup, ButtonLink };
|
package/lib/Button/propTypes.js
CHANGED
|
@@ -1,28 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
8
|
-
var _airbnbPropTypes = _interopRequireDefault(require("airbnb-prop-types"));
|
|
9
|
-
var _props = require("../utils/props");
|
|
10
|
-
var _A11yText = _interopRequireDefault(require("../A11yText"));
|
|
11
|
-
var _Icon = require("../Icon");
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
const textAndA11yText = _airbnbPropTypes.default.childrenOf(_propTypes.default.oneOfType([_airbnbPropTypes.default.elementType(_A11yText.default), _propTypes.default.string]));
|
|
14
|
-
exports.textAndA11yText = textAndA11yText;
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
|
+
import ABBPropTypes from 'airbnb-prop-types';
|
|
3
|
+
import { variantProp, getTokensPropType } from '../utils/props';
|
|
4
|
+
import A11yText from '../A11yText';
|
|
5
|
+
import { iconComponentPropTypes } from '../Icon';
|
|
6
|
+
export const textAndA11yText = ABBPropTypes.childrenOf(PropTypes.oneOfType([ABBPropTypes.elementType(A11yText), PropTypes.string]));
|
|
15
7
|
const buttonPropTypes = {
|
|
16
|
-
tokens:
|
|
8
|
+
tokens: getTokensPropType('Button'),
|
|
17
9
|
/**
|
|
18
10
|
* If true, prevents the button from being pressed, changes the cursor (on web) and accessibility
|
|
19
11
|
* attributes to communicate this to the user, and applies `inactive: true` appearances from the theme
|
|
20
12
|
*/
|
|
21
|
-
inactive:
|
|
13
|
+
inactive: PropTypes.bool,
|
|
22
14
|
/**
|
|
23
15
|
* Alias for `inactive`
|
|
24
16
|
*/
|
|
25
|
-
disabled:
|
|
17
|
+
disabled: PropTypes.bool,
|
|
26
18
|
/**
|
|
27
19
|
* Button's children must be either:
|
|
28
20
|
* - One or more text strings and / or A11yText components
|
|
@@ -31,25 +23,24 @@ const buttonPropTypes = {
|
|
|
31
23
|
* { hovered<bool>, focused<bool>, pressed<bool>, inactive<bool>, selected<bool>, textStyles<RNStyle> }
|
|
32
24
|
* ```
|
|
33
25
|
*/
|
|
34
|
-
children:
|
|
26
|
+
children: PropTypes.oneOfType([PropTypes.func, textAndA11yText]).isRequired,
|
|
35
27
|
/**
|
|
36
28
|
* Function called when the button is pressed. Required unless the button has a href.
|
|
37
29
|
*/
|
|
38
|
-
onPress:
|
|
30
|
+
onPress: PropTypes.func,
|
|
39
31
|
/**
|
|
40
32
|
* Optional variant that may be passed down to the link's icon if there is one
|
|
41
33
|
*/
|
|
42
|
-
iconProps:
|
|
34
|
+
iconProps: PropTypes.exact(iconComponentPropTypes),
|
|
43
35
|
/**
|
|
44
36
|
* When `icon` is provided, use `iconPosition` to place the Icon to the left or right side of the button.
|
|
45
37
|
*/
|
|
46
|
-
iconPosition:
|
|
38
|
+
iconPosition: PropTypes.oneOf(['left', 'right']),
|
|
47
39
|
/**
|
|
48
40
|
* A function component for an SVG icon to render inside the link. Inherits size and color from
|
|
49
41
|
* the link and any Typography the link is nested inside.
|
|
50
42
|
*/
|
|
51
|
-
icon:
|
|
52
|
-
variant:
|
|
43
|
+
icon: PropTypes.func,
|
|
44
|
+
variant: variantProp.propType
|
|
53
45
|
};
|
|
54
|
-
|
|
55
|
-
exports.default = _default;
|
|
46
|
+
export default buttonPropTypes;
|
package/lib/Card/Card.js
CHANGED
|
@@ -1,23 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
var _CardBase = _interopRequireDefault(require("./CardBase"));
|
|
15
|
-
var _PressableCardBase = _interopRequireDefault(require("./PressableCardBase"));
|
|
16
|
-
var _CheckboxButton = _interopRequireDefault(require("../Checkbox/CheckboxButton"));
|
|
17
|
-
var _RadioButton = _interopRequireDefault(require("../Radio/RadioButton"));
|
|
18
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
20
|
-
const [selectProps, selectedSystemPropTypes] = (0, _props.selectSystemProps)([_props.a11yProps, _props.viewProps, _props.linkProps]);
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import View from "react-native-web/dist/exports/View";
|
|
4
|
+
import { useThemeTokens, useThemeTokensCallback, useResponsiveThemeTokens, useTheme } from '../ThemeProvider';
|
|
5
|
+
import { getTokensPropType, variantProp, StyleSheet, createMediaQueryStyles } from '../utils';
|
|
6
|
+
import { useViewport } from '../ViewportProvider';
|
|
7
|
+
import { a11yProps, linkProps, selectSystemProps, viewProps, responsiveProps } from '../utils/props';
|
|
8
|
+
import CardBase from './CardBase';
|
|
9
|
+
import PressableCardBase from './PressableCardBase';
|
|
10
|
+
import CheckboxButton from '../Checkbox/CheckboxButton';
|
|
11
|
+
import RadioButton from '../Radio/RadioButton';
|
|
12
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps, linkProps]);
|
|
21
14
|
const SelectionType = {
|
|
22
15
|
Checkbox: 'checkbox',
|
|
23
16
|
Radio: 'radiogroup',
|
|
@@ -107,7 +100,7 @@ const getInputProps = _ref2 => {
|
|
|
107
100
|
* you automatically make inaccessible its children, which may or may not be appropriate
|
|
108
101
|
* depending on what you are trying to achieve.
|
|
109
102
|
*/
|
|
110
|
-
const Card = /*#__PURE__*/
|
|
103
|
+
const Card = /*#__PURE__*/React.forwardRef((_ref3, ref) => {
|
|
111
104
|
var _interactiveCard$vari, _interactiveCard$vari2;
|
|
112
105
|
let {
|
|
113
106
|
children,
|
|
@@ -120,21 +113,21 @@ const Card = /*#__PURE__*/_react.default.forwardRef((_ref3, ref) => {
|
|
|
120
113
|
backgroundImage,
|
|
121
114
|
...rest
|
|
122
115
|
} = _ref3;
|
|
123
|
-
const viewport =
|
|
116
|
+
const viewport = useViewport();
|
|
124
117
|
const {
|
|
125
118
|
themeOptions
|
|
126
|
-
} =
|
|
119
|
+
} = useTheme();
|
|
127
120
|
const {
|
|
128
121
|
enableMediaQueryStyleSheet
|
|
129
122
|
} = themeOptions;
|
|
130
|
-
const useTokens = enableMediaQueryStyleSheet ?
|
|
123
|
+
const useTokens = enableMediaQueryStyleSheet ? useResponsiveThemeTokens : useThemeTokens;
|
|
131
124
|
const themeTokens = useTokens('Card', tokens, variant, !enableMediaQueryStyleSheet && {
|
|
132
125
|
viewport
|
|
133
126
|
});
|
|
134
|
-
const selected = interactiveCard === null || interactiveCard === void 0
|
|
135
|
-
const inactive = interactiveCard === null || interactiveCard === void 0
|
|
127
|
+
const selected = interactiveCard === null || interactiveCard === void 0 || (_interactiveCard$vari = interactiveCard.variant) === null || _interactiveCard$vari === void 0 ? void 0 : _interactiveCard$vari.selected;
|
|
128
|
+
const inactive = interactiveCard === null || interactiveCard === void 0 || (_interactiveCard$vari2 = interactiveCard.variant) === null || _interactiveCard$vari2 === void 0 ? void 0 : _interactiveCard$vari2.inactive;
|
|
136
129
|
const selectionType = interactiveCard === null || interactiveCard === void 0 ? void 0 : interactiveCard.selectionType;
|
|
137
|
-
const getThemeTokens =
|
|
130
|
+
const getThemeTokens = useThemeTokensCallback('Card', interactiveCard === null || interactiveCard === void 0 ? void 0 : interactiveCard.tokens, {
|
|
138
131
|
interactive: true,
|
|
139
132
|
...((interactiveCard === null || interactiveCard === void 0 ? void 0 : interactiveCard.variant) || {})
|
|
140
133
|
});
|
|
@@ -188,11 +181,11 @@ const Card = /*#__PURE__*/_react.default.forwardRef((_ref3, ref) => {
|
|
|
188
181
|
let cardStyles;
|
|
189
182
|
let mediaIds;
|
|
190
183
|
if (enableMediaQueryStyleSheet) {
|
|
191
|
-
const mediaQueryStyleSheet =
|
|
184
|
+
const mediaQueryStyleSheet = createMediaQueryStyles(themeTokens);
|
|
192
185
|
const {
|
|
193
186
|
ids,
|
|
194
187
|
styles
|
|
195
|
-
} =
|
|
188
|
+
} = StyleSheet.create({
|
|
196
189
|
card: mediaQueryStyleSheet
|
|
197
190
|
});
|
|
198
191
|
cardStyles = styles.card;
|
|
@@ -203,9 +196,9 @@ const Card = /*#__PURE__*/_react.default.forwardRef((_ref3, ref) => {
|
|
|
203
196
|
const renderInputPerSelectionType = props => {
|
|
204
197
|
switch (selectionType) {
|
|
205
198
|
case SelectionType.Checkbox:
|
|
206
|
-
return /*#__PURE__*/(
|
|
199
|
+
return /*#__PURE__*/_jsx(View, {
|
|
207
200
|
style: selectInputStyle(getThemeTokens()),
|
|
208
|
-
children: /*#__PURE__*/(
|
|
201
|
+
children: /*#__PURE__*/_jsx(CheckboxButton, {
|
|
209
202
|
...props,
|
|
210
203
|
tokens: {
|
|
211
204
|
...checkboxTokens,
|
|
@@ -214,9 +207,9 @@ const Card = /*#__PURE__*/_react.default.forwardRef((_ref3, ref) => {
|
|
|
214
207
|
})
|
|
215
208
|
});
|
|
216
209
|
case SelectionType.Radio:
|
|
217
|
-
return /*#__PURE__*/(
|
|
210
|
+
return /*#__PURE__*/_jsx(View, {
|
|
218
211
|
style: selectInputStyle(getThemeTokens()),
|
|
219
|
-
children: /*#__PURE__*/(
|
|
212
|
+
children: /*#__PURE__*/_jsx(RadioButton, {
|
|
220
213
|
...props,
|
|
221
214
|
tokens: {
|
|
222
215
|
...radioTokens,
|
|
@@ -228,7 +221,7 @@ const Card = /*#__PURE__*/_react.default.forwardRef((_ref3, ref) => {
|
|
|
228
221
|
return null;
|
|
229
222
|
}
|
|
230
223
|
};
|
|
231
|
-
const renderNoSelectionView = () => /*#__PURE__*/(
|
|
224
|
+
const renderNoSelectionView = () => /*#__PURE__*/_jsx(View, {
|
|
232
225
|
style: {
|
|
233
226
|
paddingTop,
|
|
234
227
|
paddingBottom,
|
|
@@ -237,8 +230,8 @@ const Card = /*#__PURE__*/_react.default.forwardRef((_ref3, ref) => {
|
|
|
237
230
|
},
|
|
238
231
|
children: children
|
|
239
232
|
});
|
|
240
|
-
return /*#__PURE__*/(
|
|
241
|
-
children: /*#__PURE__*/(
|
|
233
|
+
return /*#__PURE__*/_jsx(_Fragment, {
|
|
234
|
+
children: /*#__PURE__*/_jsx(CardBase, {
|
|
242
235
|
ref: ref,
|
|
243
236
|
tokens: interactiveCard !== null && interactiveCard !== void 0 && interactiveCard.body ? restOfTokens : cardStyles,
|
|
244
237
|
backgroundImage: backgroundImage,
|
|
@@ -246,8 +239,8 @@ const Card = /*#__PURE__*/_react.default.forwardRef((_ref3, ref) => {
|
|
|
246
239
|
media: mediaIds
|
|
247
240
|
},
|
|
248
241
|
...selectProps(rest),
|
|
249
|
-
children: interactiveCard !== null && interactiveCard !== void 0 && interactiveCard.body ? /*#__PURE__*/(
|
|
250
|
-
children: [/*#__PURE__*/(
|
|
242
|
+
children: interactiveCard !== null && interactiveCard !== void 0 && interactiveCard.body ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
243
|
+
children: [/*#__PURE__*/_jsx(PressableCardBase, {
|
|
251
244
|
ref: ref,
|
|
252
245
|
tokens: getThemeTokens,
|
|
253
246
|
dataSet: dataSet,
|
|
@@ -264,7 +257,7 @@ const Card = /*#__PURE__*/_react.default.forwardRef((_ref3, ref) => {
|
|
|
264
257
|
interactive: true,
|
|
265
258
|
isControl: true
|
|
266
259
|
}, interactiveCard === null || interactiveCard === void 0 ? void 0 : interactiveCard.tokens);
|
|
267
|
-
return /*#__PURE__*/(
|
|
260
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
268
261
|
children: [renderInputPerSelectionType(getInputProps({
|
|
269
262
|
id,
|
|
270
263
|
checkColor,
|
|
@@ -288,24 +281,24 @@ Card.propTypes = {
|
|
|
288
281
|
/**
|
|
289
282
|
* Card content.
|
|
290
283
|
*/
|
|
291
|
-
children:
|
|
284
|
+
children: PropTypes.node,
|
|
292
285
|
/**
|
|
293
286
|
* Card tokens.
|
|
294
287
|
*/
|
|
295
|
-
tokens:
|
|
288
|
+
tokens: getTokensPropType('Card'),
|
|
296
289
|
/**
|
|
297
290
|
* Card variant.
|
|
298
291
|
*/
|
|
299
|
-
variant:
|
|
292
|
+
variant: variantProp.propType,
|
|
300
293
|
/**
|
|
301
294
|
* Function to call on pressing the card.
|
|
302
295
|
* Note: This is only available when `interactiveCard` prop is used.
|
|
303
296
|
*/
|
|
304
|
-
onPress:
|
|
297
|
+
onPress: PropTypes.func,
|
|
305
298
|
/**
|
|
306
299
|
* Card ID.
|
|
307
300
|
*/
|
|
308
|
-
id:
|
|
301
|
+
id: PropTypes.string,
|
|
309
302
|
/**
|
|
310
303
|
* Object to set interactive card's properties
|
|
311
304
|
* - body: The body of the interactive card, can be any renderable node
|
|
@@ -315,22 +308,21 @@ Card.propTypes = {
|
|
|
315
308
|
- `checkbox`
|
|
316
309
|
* - variant: The variant to be used for the interactive card
|
|
317
310
|
*/
|
|
318
|
-
interactiveCard:
|
|
319
|
-
body:
|
|
320
|
-
tokens:
|
|
321
|
-
selectionType:
|
|
322
|
-
variant:
|
|
311
|
+
interactiveCard: PropTypes.shape({
|
|
312
|
+
body: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
|
|
313
|
+
tokens: getTokensPropType('Card'),
|
|
314
|
+
selectionType: PropTypes.oneOf(Object.values(SelectionType)),
|
|
315
|
+
variant: variantProp.propType
|
|
323
316
|
}),
|
|
324
317
|
/**
|
|
325
318
|
* Apply background image to the card.
|
|
326
319
|
*/
|
|
327
|
-
backgroundImage:
|
|
320
|
+
backgroundImage: PropTypes.shape({
|
|
328
321
|
// The image src is either a URI string or a number (when a local image src is bundled in IOS or Android app)
|
|
329
322
|
// src is an object when used responsively to provide different image sources for different screen sizes
|
|
330
|
-
src:
|
|
331
|
-
alt:
|
|
332
|
-
resizeMode:
|
|
323
|
+
src: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]).isRequired,
|
|
324
|
+
alt: PropTypes.string,
|
|
325
|
+
resizeMode: responsiveProps.getTypeOptionallyByViewport(PropTypes.oneOf(['cover', 'contain', 'stretch', 'repeat', 'center']))
|
|
333
326
|
})
|
|
334
327
|
};
|
|
335
|
-
|
|
336
|
-
exports.default = _default;
|
|
328
|
+
export default Card;
|
package/lib/Card/CardBase.js
CHANGED
|
@@ -1,21 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
|
|
13
|
-
var _ThemeProvider = require("../ThemeProvider");
|
|
14
|
-
var _utils = require("../utils");
|
|
15
|
-
var _props = require("../utils/props");
|
|
16
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
|
-
const [selectProps, selectedSystemPropTypes] = (0, _props.selectSystemProps)([_props.a11yProps, _props.viewProps]);
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import View from "react-native-web/dist/exports/View";
|
|
4
|
+
import Platform from "react-native-web/dist/exports/Platform";
|
|
5
|
+
import ImageBackground from "react-native-web/dist/exports/ImageBackground";
|
|
6
|
+
import StyleSheet from "react-native-web/dist/exports/StyleSheet";
|
|
7
|
+
import { applyShadowToken } from '../ThemeProvider';
|
|
8
|
+
import { getTokensPropType, responsiveProps, useResponsiveProp, formatImageSource } from '../utils';
|
|
9
|
+
import { a11yProps, viewProps, selectSystemProps } from '../utils/props';
|
|
10
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
+
const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps]);
|
|
19
12
|
|
|
20
13
|
// Ensure explicit selection of tokens
|
|
21
14
|
const selectStyles = _ref => {
|
|
@@ -45,14 +38,14 @@ const selectStyles = _ref => {
|
|
|
45
38
|
paddingRight,
|
|
46
39
|
paddingTop,
|
|
47
40
|
minWidth,
|
|
48
|
-
...
|
|
49
|
-
...(gradient &&
|
|
41
|
+
...applyShadowToken(shadow),
|
|
42
|
+
...(gradient && Platform.OS === 'web' ? {
|
|
50
43
|
backgroundImage: `linear-gradient(${gradient.angle}deg, ${gradient.stops[0].color}, ${gradient.stops[1].color})`,
|
|
51
44
|
backgroundOrigin: `border-box`,
|
|
52
45
|
boxShadow: `inset 0 1000px white`,
|
|
53
46
|
border: `${borderWidth}px solid transparent`
|
|
54
47
|
} : {}),
|
|
55
|
-
...(backgroundGradient &&
|
|
48
|
+
...(backgroundGradient && Platform.OS === 'web' ? {
|
|
56
49
|
backgroundImage: `linear-gradient(${backgroundGradient.angle}deg, ${backgroundGradient.stops[0].color}, ${backgroundGradient.stops[1].color})`
|
|
57
50
|
} : {})
|
|
58
51
|
};
|
|
@@ -62,7 +55,7 @@ const selectStyles = _ref => {
|
|
|
62
55
|
* A themeless base component for Card which components can apply theme tokens to. Not
|
|
63
56
|
* intended to be used in apps or sites directly: build themed components on top of this.
|
|
64
57
|
*/
|
|
65
|
-
const CardBase = /*#__PURE__*/
|
|
58
|
+
const CardBase = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
|
|
66
59
|
let {
|
|
67
60
|
children,
|
|
68
61
|
tokens,
|
|
@@ -77,14 +70,14 @@ const CardBase = /*#__PURE__*/_react.default.forwardRef((_ref2, ref) => {
|
|
|
77
70
|
alt = '',
|
|
78
71
|
resizeMode = ''
|
|
79
72
|
} = backgroundImage || {};
|
|
80
|
-
const backgroundImageResizeMode =
|
|
81
|
-
const imageSourceViewport =
|
|
82
|
-
return /*#__PURE__*/(
|
|
73
|
+
const backgroundImageResizeMode = useResponsiveProp(resizeMode, 'cover');
|
|
74
|
+
const imageSourceViewport = formatImageSource(useResponsiveProp(src));
|
|
75
|
+
return /*#__PURE__*/_jsx(View, {
|
|
83
76
|
style: cardStyle,
|
|
84
77
|
dataSet: dataSet,
|
|
85
78
|
ref: ref,
|
|
86
79
|
...props,
|
|
87
|
-
children: src ? /*#__PURE__*/(
|
|
80
|
+
children: src ? /*#__PURE__*/_jsx(ImageBackground, {
|
|
88
81
|
alt: alt,
|
|
89
82
|
source: imageSourceViewport,
|
|
90
83
|
imageStyle: {
|
|
@@ -97,7 +90,7 @@ const CardBase = /*#__PURE__*/_react.default.forwardRef((_ref2, ref) => {
|
|
|
97
90
|
});
|
|
98
91
|
});
|
|
99
92
|
CardBase.displayName = 'CardBase';
|
|
100
|
-
const styles =
|
|
93
|
+
const styles = StyleSheet.create({
|
|
101
94
|
imageBackground: {
|
|
102
95
|
width: '100%',
|
|
103
96
|
height: '100%'
|
|
@@ -105,18 +98,17 @@ const styles = _StyleSheet.default.create({
|
|
|
105
98
|
});
|
|
106
99
|
CardBase.propTypes = {
|
|
107
100
|
...selectedSystemPropTypes,
|
|
108
|
-
children:
|
|
109
|
-
tokens:
|
|
101
|
+
children: PropTypes.node,
|
|
102
|
+
tokens: getTokensPropType('Card'),
|
|
110
103
|
/**
|
|
111
104
|
* Apply background image to the card.
|
|
112
105
|
*/
|
|
113
|
-
backgroundImage:
|
|
106
|
+
backgroundImage: PropTypes.shape({
|
|
114
107
|
// The image src is either a URI string or a number (when a local image src is bundled in IOS or Android app)
|
|
115
108
|
// src is an object when used responsively to provide different image sources for different screen sizes
|
|
116
|
-
src:
|
|
117
|
-
alt:
|
|
118
|
-
resizeMode:
|
|
109
|
+
src: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]).isRequired,
|
|
110
|
+
alt: PropTypes.string,
|
|
111
|
+
resizeMode: responsiveProps.getTypeOptionallyByViewport(PropTypes.oneOf(['cover', 'contain', 'stretch', 'repeat', 'center']))
|
|
119
112
|
})
|
|
120
113
|
};
|
|
121
|
-
|
|
122
|
-
exports.default = _default;
|
|
114
|
+
export default CardBase;
|
|
@@ -1,33 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
var _ViewportProvider = require("../ViewportProvider");
|
|
12
|
-
var _ThemeProvider = require("../ThemeProvider");
|
|
13
|
-
var _utils = require("../utils");
|
|
14
|
-
var _CardBase = _interopRequireDefault(require("./CardBase"));
|
|
15
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
-
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.focusHandlerProps, _utils.viewProps]);
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import Pressable from "react-native-web/dist/exports/Pressable";
|
|
4
|
+
import Platform from "react-native-web/dist/exports/Platform";
|
|
5
|
+
import { useViewport } from '../ViewportProvider';
|
|
6
|
+
import { applyOuterBorder, validateThemeTokens } from '../ThemeProvider';
|
|
7
|
+
import { a11yProps, clickProps, focusHandlerProps, getTokensSetPropType, linkProps, resolvePressableState, resolvePressableTokens, selectSystemProps, selectTokens, variantProp, viewProps, withLinkRouter } from '../utils';
|
|
8
|
+
import CardBase from './CardBase';
|
|
9
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
|
+
const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, focusHandlerProps, viewProps]);
|
|
18
11
|
const tokenKeys = ['flex', 'backgroundColor', 'borderColor', 'gradient', 'borderRadius', 'borderWidth', 'paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop', 'minWidth', 'shadow', 'contentAlignItems', 'contentJustifyContent', 'contentFlexGrow', 'contentFlexShrink',
|
|
19
12
|
// Outer border tokens. TODO: centralise common token sets like these as part of
|
|
20
13
|
// https://github.com/telus/universal-design-system/issues/782
|
|
21
14
|
'outerBorderColor', 'outerBorderWidth', 'outerBorderGap'];
|
|
22
|
-
const selectPressableCardTokens = tokens => Object.fromEntries(tokenKeys.map(key => [key, tokens[key]]));
|
|
15
|
+
export const selectPressableCardTokens = tokens => Object.fromEntries(tokenKeys.map(key => [key, tokens[key]]));
|
|
23
16
|
|
|
24
17
|
/**
|
|
25
18
|
* A pressable themeless base component that handles pressable states and passes tokens
|
|
26
19
|
* based on these to an outer border and a base Card component. Not intended to be used in
|
|
27
20
|
* apps or sites directly: build themed components on top of this.
|
|
28
21
|
*/
|
|
29
|
-
|
|
30
|
-
const PressableCardBase = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
|
|
22
|
+
const PressableCardBase = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
31
23
|
let {
|
|
32
24
|
children,
|
|
33
25
|
tokens,
|
|
@@ -43,19 +35,19 @@ const PressableCardBase = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =>
|
|
|
43
35
|
const {
|
|
44
36
|
onPress,
|
|
45
37
|
...rest
|
|
46
|
-
} =
|
|
47
|
-
const viewport =
|
|
38
|
+
} = clickProps.toPressProps(rawRest);
|
|
39
|
+
const viewport = useViewport();
|
|
48
40
|
const additionalState = {
|
|
49
41
|
checked,
|
|
50
42
|
validation,
|
|
51
43
|
inactive,
|
|
52
44
|
viewport
|
|
53
45
|
};
|
|
54
|
-
const getCardState = pressableState =>
|
|
55
|
-
const getTokens = pressableState =>
|
|
46
|
+
const getCardState = pressableState => resolvePressableState(pressableState, additionalState);
|
|
47
|
+
const getTokens = pressableState => validateThemeTokens(resolvePressableTokens(tokens, pressableState, additionalState), getTokensSetPropType(tokenKeys, {
|
|
56
48
|
requireAll: true
|
|
57
49
|
}), 'PressableCard');
|
|
58
|
-
const getCardTokens = pressableState =>
|
|
50
|
+
const getCardTokens = pressableState => selectTokens('Card', getTokens(pressableState));
|
|
59
51
|
const getOuterBorderStyle = pressableState => {
|
|
60
52
|
const {
|
|
61
53
|
flex,
|
|
@@ -68,20 +60,20 @@ const PressableCardBase = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =>
|
|
|
68
60
|
return {
|
|
69
61
|
flex,
|
|
70
62
|
minWidth: minWidth + outerBorderGap + outerBorderWidth,
|
|
71
|
-
...
|
|
63
|
+
...applyOuterBorder({
|
|
72
64
|
outerBorderColor,
|
|
73
65
|
outerBorderGap,
|
|
74
66
|
outerBorderWidth,
|
|
75
67
|
borderRadius
|
|
76
68
|
}),
|
|
77
|
-
...
|
|
69
|
+
...Platform.select({
|
|
78
70
|
web: {
|
|
79
71
|
outline: 'none'
|
|
80
72
|
}
|
|
81
73
|
})
|
|
82
74
|
};
|
|
83
75
|
};
|
|
84
|
-
const handleChange =
|
|
76
|
+
const handleChange = linkProps.handleHref({
|
|
85
77
|
href,
|
|
86
78
|
onPress
|
|
87
79
|
});
|
|
@@ -89,7 +81,7 @@ const PressableCardBase = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =>
|
|
|
89
81
|
// The expected keyboard shortcut for selecting a focused item is the Space key
|
|
90
82
|
if ((event === null || event === void 0 ? void 0 : event.key) === ' ') handleChange(event);
|
|
91
83
|
};
|
|
92
|
-
return /*#__PURE__*/(
|
|
84
|
+
return /*#__PURE__*/_jsx(Pressable, {
|
|
93
85
|
ref: ref,
|
|
94
86
|
href: href,
|
|
95
87
|
onPress: handleChange,
|
|
@@ -101,7 +93,7 @@ const PressableCardBase = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =>
|
|
|
101
93
|
...rest,
|
|
102
94
|
accessibilityRole
|
|
103
95
|
}),
|
|
104
|
-
children: pressableState => /*#__PURE__*/(
|
|
96
|
+
children: pressableState => /*#__PURE__*/_jsx(CardBase, {
|
|
105
97
|
tokens: getCardTokens(pressableState),
|
|
106
98
|
children: typeof children === 'function' ? children(getCardState(pressableState)) : children
|
|
107
99
|
})
|
|
@@ -110,12 +102,11 @@ const PressableCardBase = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =>
|
|
|
110
102
|
PressableCardBase.displayName = 'PressableCardBase';
|
|
111
103
|
PressableCardBase.propTypes = {
|
|
112
104
|
...selectedSystemPropTypes,
|
|
113
|
-
children:
|
|
114
|
-
tokens:
|
|
105
|
+
children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),
|
|
106
|
+
tokens: getTokensSetPropType(tokenKeys, {
|
|
115
107
|
partial: true,
|
|
116
108
|
allowFunction: true
|
|
117
109
|
}),
|
|
118
|
-
variant:
|
|
110
|
+
variant: variantProp.propType
|
|
119
111
|
};
|
|
120
|
-
|
|
121
|
-
exports.default = _default;
|
|
112
|
+
export default withLinkRouter(PressableCardBase);
|