@telus-uds/components-base 2.0.0 → 2.0.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 +1050 -3
- package/README.md +35 -0
- 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/jest.setup.js +7 -0
- package/lib/A11yInfoProvider/index.js +33 -64
- package/lib/A11yText/index.js +29 -40
- package/lib/ActionCard/ActionCard.js +342 -0
- package/lib/ActionCard/index.js +2 -0
- package/lib/ActivityIndicator/Spinner.js +27 -42
- package/lib/ActivityIndicator/Spinner.native.js +37 -70
- package/lib/ActivityIndicator/index.js +17 -33
- package/lib/ActivityIndicator/shared.js +12 -26
- package/lib/Autocomplete/Autocomplete.js +478 -0
- package/lib/Autocomplete/Loading.js +35 -0
- package/lib/Autocomplete/Suggestions.js +64 -0
- package/lib/Autocomplete/constants.js +4 -0
- package/lib/Autocomplete/dictionary.js +12 -0
- package/lib/Autocomplete/index.js +2 -0
- package/lib/Badge/Badge.js +102 -0
- package/lib/Badge/index.js +2 -0
- package/lib/BaseProvider/HydrationContext.js +17 -43
- package/lib/BaseProvider/index.js +24 -41
- package/lib/Box/Box.js +191 -93
- package/lib/Box/backgroundImageStylesMap.js +94 -0
- package/lib/Box/index.js +2 -13
- package/lib/Button/Button.js +21 -33
- package/lib/Button/ButtonBase.js +143 -136
- package/lib/Button/ButtonDropdown.js +41 -75
- package/lib/Button/ButtonGroup.js +92 -110
- package/lib/Button/ButtonLink.js +25 -36
- package/lib/Button/index.js +5 -39
- package/lib/Button/propTypes.js +16 -40
- package/lib/Card/Card.js +266 -45
- package/lib/Card/CardBase.js +67 -40
- package/lib/Card/PressableCardBase.js +35 -67
- package/lib/Card/index.js +4 -40
- package/lib/CardGroup/CardGroup.js +210 -0
- package/lib/CardGroup/dictionary.js +8 -0
- package/lib/CardGroup/index.js +2 -0
- package/lib/Carousel/Carousel.js +476 -332
- package/lib/Carousel/CarouselContext.js +20 -42
- package/lib/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +18 -39
- package/lib/Carousel/CarouselItem/CarouselItem.js +106 -58
- package/lib/Carousel/CarouselItem/index.js +2 -13
- package/lib/Carousel/CarouselStepTracker/CarouselStepTracker.js +21 -32
- package/lib/Carousel/CarouselStepTracker/index.js +2 -13
- package/lib/Carousel/CarouselTabs/CarouselTabs.js +17 -36
- package/lib/Carousel/CarouselTabs/CarouselTabsPanel.js +36 -51
- package/lib/Carousel/CarouselTabs/CarouselTabsPanelItem.js +25 -55
- package/lib/Carousel/CarouselTabs/index.js +2 -13
- package/lib/Carousel/CarouselThumbnail.js +76 -62
- package/lib/Carousel/CarouselThumbnailNavigation.js +31 -47
- package/lib/Carousel/dictionary.js +13 -16
- package/lib/Carousel/index.js +3 -41
- package/lib/Checkbox/Checkbox.js +64 -107
- package/lib/Checkbox/CheckboxButton.js +163 -0
- package/lib/Checkbox/CheckboxGroup.js +64 -90
- package/lib/Checkbox/CheckboxInput.js +16 -42
- package/lib/Checkbox/CheckboxInput.native.js +1 -10
- package/lib/Checkbox/index.js +3 -21
- package/{lib-module/RadioCard/RadioCard.js → lib/CheckboxCard/CheckboxCard.js} +43 -88
- package/lib/CheckboxCard/index.js +2 -0
- package/lib/CheckboxCardGroup/CheckboxCardGroup.js +206 -0
- package/lib/CheckboxCardGroup/index.js +2 -0
- package/lib/ColourToggle/ColourBubble.js +126 -0
- package/lib/ColourToggle/ColourToggle.js +91 -0
- package/lib/ColourToggle/index.js +2 -0
- package/lib/Divider/Divider.js +37 -54
- package/lib/Divider/index.js +2 -13
- package/lib/DownloadApp/DownloadApp.js +160 -0
- package/lib/DownloadApp/dictionary.js +10 -0
- package/lib/DownloadApp/index.js +2 -0
- package/lib/ExpandCollapse/Accordion.js +6 -22
- package/lib/ExpandCollapse/Control.js +72 -67
- package/lib/ExpandCollapse/ExpandCollapse.js +39 -56
- package/lib/ExpandCollapse/Panel.js +144 -86
- package/lib/ExpandCollapse/dictionary.js +10 -0
- package/lib/ExpandCollapse/index.js +7 -25
- package/lib/Feedback/Feedback.js +41 -69
- package/lib/Feedback/index.js +2 -13
- package/lib/Fieldset/Fieldset.js +81 -90
- package/lib/Fieldset/FieldsetContainer.js +26 -33
- package/lib/Fieldset/FieldsetContainer.native.js +18 -27
- package/lib/Fieldset/Legend.js +9 -26
- package/lib/Fieldset/Legend.native.js +10 -30
- package/lib/Fieldset/cssReset.js +2 -9
- package/lib/Fieldset/index.js +2 -13
- package/lib/FileUpload/FileUpload.js +328 -0
- package/lib/FileUpload/NotificationContent.js +54 -0
- package/lib/FileUpload/dictionary.js +40 -0
- package/lib/FileUpload/index.js +2 -0
- package/lib/FlexGrid/Col/Col.js +104 -148
- package/lib/FlexGrid/Col/index.js +2 -13
- package/lib/FlexGrid/FlexGrid.js +92 -110
- package/lib/FlexGrid/Row/Row.js +82 -108
- package/lib/FlexGrid/Row/index.js +2 -13
- package/lib/FlexGrid/helpers/index.js +1 -12
- package/lib/FlexGrid/index.js +2 -13
- package/lib/FlexGrid/providers/GutterContext.js +3 -15
- package/lib/Footnote/Footnote.js +316 -0
- package/lib/Footnote/FootnoteLink.js +107 -0
- package/lib/Footnote/dictionary.js +12 -0
- package/lib/Footnote/index.js +4 -0
- package/lib/HorizontalScroll/HorizontalScroll.js +48 -87
- package/lib/HorizontalScroll/HorizontalScrollButton.js +26 -52
- package/lib/HorizontalScroll/ScrollViewEnd.js +17 -38
- package/lib/HorizontalScroll/ScrollViewEnd.native.js +8 -26
- package/lib/HorizontalScroll/dictionary.js +2 -9
- package/lib/HorizontalScroll/index.js +11 -35
- package/lib/HorizontalScroll/itemPositions.js +25 -46
- package/lib/Icon/Icon.js +59 -48
- package/lib/Icon/IconText.js +59 -55
- package/lib/Icon/index.js +4 -31
- package/lib/IconButton/IconButton.js +127 -85
- package/lib/IconButton/index.js +2 -13
- package/lib/InputLabel/InputLabel.js +42 -76
- package/lib/InputLabel/LabelContent.js +10 -26
- package/lib/InputLabel/LabelContent.native.js +8 -27
- package/lib/InputLabel/index.js +2 -13
- package/lib/InputSupports/InputSupports.js +39 -56
- package/lib/InputSupports/index.js +2 -13
- package/lib/InputSupports/useInputSupports.js +7 -19
- package/lib/Link/ChevronLink.js +35 -38
- package/lib/Link/InlinePressable.js +14 -29
- package/lib/Link/InlinePressable.native.js +20 -40
- package/lib/Link/Link.js +9 -27
- package/lib/Link/LinkBase.js +96 -103
- package/lib/Link/TextButton.js +19 -29
- package/lib/Link/index.js +5 -39
- package/lib/List/List.js +39 -50
- package/lib/List/ListItem.js +13 -37
- package/lib/List/ListItemBase.js +72 -70
- package/lib/List/ListItemContent.js +36 -48
- package/lib/List/ListItemMark.js +42 -75
- package/lib/List/PressableListItemBase.js +35 -69
- package/lib/List/index.js +5 -28
- package/lib/Listbox/GroupControl.js +105 -0
- package/lib/Listbox/Listbox.js +171 -0
- package/lib/Listbox/ListboxContext.js +4 -0
- package/lib/Listbox/ListboxGroup.js +125 -0
- package/lib/Listbox/ListboxItem.js +76 -0
- package/lib/Listbox/ListboxOverlay.js +77 -0
- package/lib/Listbox/PressableItem.js +139 -0
- package/lib/Listbox/index.js +2 -0
- package/lib/Modal/Modal.js +212 -96
- package/lib/Modal/ModalContent.js +179 -0
- package/lib/Modal/WebModal.js +76 -0
- package/lib/Modal/dictionary.js +2 -9
- package/lib/Modal/index.js +2 -13
- package/lib/MultiSelectFilter/ModalOverlay.js +114 -95
- package/lib/MultiSelectFilter/MultiSelectFilter.js +380 -170
- package/lib/MultiSelectFilter/dictionary.js +2 -9
- package/lib/MultiSelectFilter/index.js +2 -13
- package/lib/Notification/Notification.js +290 -116
- package/lib/Notification/dictionary.js +2 -9
- package/lib/Notification/index.js +2 -13
- package/lib/OrderedList/Item.js +159 -0
- package/lib/OrderedList/ItemBase.js +43 -0
- package/lib/OrderedList/OrderedList.js +64 -0
- package/lib/OrderedList/OrderedListBase.js +36 -0
- package/lib/OrderedList/index.js +2 -0
- package/lib/Pagination/PageButton.js +38 -57
- package/lib/Pagination/Pagination.js +124 -95
- package/lib/Pagination/SideButton.js +25 -58
- package/lib/Pagination/constants.js +3 -0
- package/lib/Pagination/dictionary.js +5 -12
- package/lib/Pagination/index.js +2 -13
- package/lib/Pagination/usePagination.js +20 -23
- package/lib/Portal/Portal.js +50 -0
- package/lib/Portal/Portal.native.js +2 -0
- package/lib/Portal/index.js +2 -0
- package/lib/PriceLockup/PriceLockup.js +223 -0
- package/lib/PriceLockup/index.js +2 -0
- package/lib/PriceLockup/utils/renderFootnoteContent.js +85 -0
- package/lib/PriceLockup/utils/renderFootnoteLinks.js +28 -0
- package/lib/PriceLockup/utils/renderPrice.js +139 -0
- package/lib/PriceLockup/utils/renderTypography.js +23 -0
- package/lib/ProductCard/ProductCard.js +231 -0
- package/lib/ProductCard/dictionary.js +38 -0
- package/lib/ProductCard/index.js +2 -0
- package/lib/ProductCardGroup/ProductCardGroup.js +70 -0
- package/lib/ProductCardGroup/index.js +2 -0
- package/lib/Progress/Progress.js +22 -43
- package/lib/Progress/ProgressBar.js +31 -60
- package/lib/Progress/ProgressBarBackground.js +13 -35
- package/lib/Progress/index.js +4 -16
- package/lib/QuickLinks/QuickLinks.js +31 -44
- package/lib/QuickLinks/QuickLinksCard.js +16 -30
- package/lib/QuickLinks/QuickLinksItem.js +22 -44
- package/lib/QuickLinks/index.js +4 -16
- package/lib/QuickLinksFeature/QuickLinksFeature.js +25 -47
- package/lib/QuickLinksFeature/QuickLinksFeatureItem.js +88 -99
- package/lib/QuickLinksFeature/index.js +4 -16
- package/lib/Radio/Radio.js +63 -95
- package/lib/Radio/RadioButton.js +94 -76
- package/lib/Radio/RadioGroup.js +70 -94
- package/lib/Radio/RadioInput.js +18 -46
- package/lib/Radio/RadioInput.native.js +1 -10
- package/lib/Radio/index.js +3 -21
- package/lib/RadioCard/RadioCard.js +47 -90
- package/lib/RadioCard/RadioCardGroup.js +66 -91
- package/lib/RadioCard/index.js +3 -21
- package/lib/Responsive/Responsive.js +48 -41
- package/{lib-module/Responsive/Responsive.js → lib/Responsive/ResponsiveProp.js} +13 -20
- package/lib/Responsive/ResponsiveWithMediaQueryStyleSheet.js +68 -0
- package/lib/Responsive/index.js +2 -13
- package/lib/Search/Search.js +73 -96
- package/lib/Search/dictionary.js +2 -9
- package/lib/Search/index.js +2 -13
- package/lib/Select/Group.js +15 -25
- package/lib/Select/Group.native.js +8 -18
- package/lib/Select/Item.js +14 -23
- package/lib/Select/Item.native.js +1 -10
- package/lib/Select/Picker.js +71 -60
- package/lib/Select/Picker.native.js +40 -65
- package/lib/Select/Select.js +70 -109
- package/lib/Select/constants.js +4 -14
- package/lib/Select/index.js +6 -19
- package/lib/SideNav/Item.js +41 -65
- package/lib/SideNav/ItemContent.js +22 -41
- package/lib/SideNav/ItemsGroup.js +43 -60
- package/lib/SideNav/SideNav.js +42 -68
- package/lib/SideNav/index.js +1 -15
- package/lib/Skeleton/Skeleton.js +54 -86
- package/lib/Skeleton/index.js +2 -13
- package/lib/Skeleton/skeleton.constant.js +2 -12
- package/lib/Skeleton/skeletonWebAnimation.js +12 -25
- package/lib/Skeleton/useSkeletonNativeAnimation.js +22 -33
- package/lib/SkipLink/SkipLink.js +48 -75
- package/lib/SkipLink/index.js +2 -13
- package/lib/Spacer/Spacer.js +17 -41
- package/lib/Spacer/index.js +2 -13
- package/lib/StackView/StackView.js +34 -59
- package/lib/StackView/StackWrap.js +23 -44
- package/lib/StackView/StackWrap.native.js +2 -12
- package/lib/StackView/StackWrapBox.js +32 -58
- package/lib/StackView/StackWrapGap.js +22 -45
- package/lib/StackView/common.js +4 -19
- package/lib/StackView/getStackedContent.js +21 -41
- package/lib/StackView/index.js +5 -29
- package/lib/Status/Status.js +165 -0
- package/lib/Status/index.js +2 -0
- package/lib/StepTracker/Step.js +70 -79
- package/lib/StepTracker/StepTracker.js +67 -79
- package/lib/StepTracker/dictionary.js +26 -13
- package/lib/StepTracker/index.js +2 -13
- package/lib/TabBar/TabBar.js +125 -0
- package/lib/TabBar/TabBarItem.js +175 -0
- package/lib/TabBar/index.js +2 -0
- package/lib/Tabs/Tabs.js +75 -71
- package/lib/Tabs/TabsItem.js +70 -91
- package/lib/Tabs/index.js +2 -13
- package/lib/Tags/Tags.js +59 -97
- package/lib/Tags/index.js +2 -13
- package/lib/TextInput/TextArea.js +27 -46
- package/lib/TextInput/TextInput.js +38 -54
- package/lib/TextInput/TextInputBase.js +210 -137
- package/lib/TextInput/dictionary.js +8 -11
- package/lib/TextInput/index.js +3 -23
- package/lib/TextInput/propTypes.js +11 -21
- package/lib/ThemeProvider/ThemeProvider.js +40 -52
- package/lib/ThemeProvider/index.js +7 -61
- package/lib/ThemeProvider/useResponsiveThemeTokens.js +81 -0
- package/lib/ThemeProvider/useSetTheme.js +10 -20
- package/lib/ThemeProvider/useTheme.js +5 -17
- package/lib/ThemeProvider/useThemeTokens.js +16 -33
- package/lib/ThemeProvider/utils/index.js +2 -31
- package/lib/ThemeProvider/utils/styles.js +48 -60
- package/lib/ThemeProvider/utils/theme-tokens.js +37 -78
- package/lib/Timeline/Timeline.js +39 -63
- package/lib/Timeline/index.js +2 -13
- package/lib/ToggleSwitch/ToggleSwitch.js +105 -108
- package/lib/ToggleSwitch/ToggleSwitchGroup.js +47 -91
- package/lib/ToggleSwitch/index.js +3 -23
- package/lib/Tooltip/Backdrop.js +22 -29
- package/lib/Tooltip/Backdrop.native.js +14 -33
- package/lib/Tooltip/Tooltip.js +65 -92
- package/lib/Tooltip/Tooltip.native.js +107 -110
- package/lib/Tooltip/dictionary.js +2 -9
- package/lib/Tooltip/getTooltipPosition.js +35 -49
- package/lib/Tooltip/index.js +5 -18
- package/lib/Tooltip/shared.js +26 -24
- package/lib/TooltipButton/TooltipButton.js +48 -53
- package/lib/TooltipButton/index.js +2 -13
- package/lib/Typography/Typography.js +164 -87
- package/lib/Typography/index.js +2 -13
- package/lib/Validator/Validator.js +222 -0
- package/lib/Validator/index.js +2 -0
- package/lib/ViewportProvider/ViewportProvider.js +11 -31
- package/lib/ViewportProvider/index.js +3 -28
- package/lib/ViewportProvider/useViewport.js +3 -15
- package/lib/ViewportProvider/useViewportListener.js +13 -29
- package/lib/index.js +71 -681
- package/lib/server.js +4 -0
- package/lib/utils/BaseView/BaseView.js +14 -36
- package/lib/utils/BaseView/BaseView.native.js +2 -13
- package/lib/utils/BaseView/index.js +2 -13
- package/lib/utils/a11y/index.js +2 -31
- package/lib/utils/a11y/semantics.js +18 -60
- package/lib/utils/a11y/textSize.js +8 -24
- package/lib/utils/animation/index.js +2 -15
- package/lib/utils/animation/useVerticalExpandAnimation.js +27 -47
- package/lib/utils/children.js +25 -47
- package/lib/utils/containUniqueFields.js +3 -13
- package/lib/utils/convertFromMegaByteToByte.js +10 -0
- package/lib/utils/floating-ui/index.js +1 -43
- package/lib/utils/floating-ui/index.native.js +1 -43
- package/lib/utils/formatImageSource.js +27 -0
- package/lib/utils/hasOwnProperty.js +1 -8
- package/lib/utils/htmlAttrs.js +23 -0
- package/lib/utils/index.js +25 -222
- package/lib/utils/info/index.js +6 -17
- package/lib/utils/info/platform/index.js +8 -17
- 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 -14
- package/lib/utils/input.js +38 -52
- package/lib/utils/pressability.js +18 -40
- package/lib/utils/props/a11yProps.js +105 -119
- package/lib/utils/props/clickProps.js +4 -16
- package/lib/utils/props/componentPropType.js +4 -24
- package/lib/utils/props/copyPropTypes.js +2 -14
- package/lib/utils/props/getPropSelector.js +15 -21
- package/lib/utils/props/handlerProps.js +28 -52
- package/lib/utils/props/hrefAttrsProp.js +6 -17
- package/lib/utils/props/index.js +19 -190
- package/lib/utils/props/inputSupportsProps.js +22 -27
- package/lib/utils/props/linkProps.js +17 -35
- package/lib/utils/props/paddingProp.js +8 -19
- package/lib/utils/props/pressProps.js +23 -38
- package/lib/utils/props/rectProp.js +8 -19
- package/lib/utils/props/responsiveProps.js +6 -18
- package/lib/utils/props/selectSystemProps.js +7 -15
- package/lib/utils/props/spacingProps.js +13 -27
- package/lib/utils/props/textInputProps.js +64 -90
- package/lib/utils/props/textProps.js +23 -34
- package/lib/utils/props/tokens.js +26 -55
- package/lib/utils/props/variantProp.js +4 -14
- package/lib/utils/props/viewProps.js +10 -23
- package/lib/utils/ssr-media-query/create-stylesheet/create-stylesheet-mobile.js +48 -0
- package/lib/utils/ssr-media-query/create-stylesheet/index.android.js +2 -0
- package/lib/utils/ssr-media-query/create-stylesheet/index.ios.js +2 -0
- package/lib/utils/ssr-media-query/create-stylesheet/index.js +36 -0
- package/lib/utils/ssr-media-query/hash.js +13 -0
- package/lib/utils/ssr-media-query/index.js +6 -0
- package/lib/utils/ssr-media-query/utils/common.js +33 -0
- package/lib/utils/ssr-media-query/utils/create-declaration-block.js +16 -0
- package/lib/utils/ssr-media-query/utils/create-media-query-styles.js +60 -0
- package/lib/utils/ssr-media-query/utils/hyphenate-style-name.js +12 -0
- package/lib/utils/ssr-media-query/utils/inject.js +39 -0
- package/lib/utils/ssr.js +27 -55
- package/lib/utils/transformGradient.js +15 -0
- package/lib/utils/useCopy.js +4 -15
- package/lib/utils/useHash.js +11 -23
- package/lib/utils/useHash.native.js +1 -10
- package/lib/utils/useOverlaidPosition.js +214 -0
- package/lib/utils/useResponsiveProp.js +13 -29
- package/lib/utils/useSafeLayoutEffect.js +10 -22
- package/lib/utils/useScrollBlocking.js +13 -28
- package/lib/utils/useScrollBlocking.native.js +1 -10
- package/lib/utils/useSpacingScale.js +12 -24
- package/lib/utils/useUniqueId.js +4 -15
- package/lib/utils/withLinkRouter.js +23 -36
- package/package.json +32 -22
- package/src/A11yInfoProvider/index.jsx +13 -20
- package/src/A11yText/index.jsx +14 -4
- package/src/ActionCard/ActionCard.jsx +306 -0
- package/src/ActionCard/index.js +3 -0
- package/src/ActivityIndicator/Spinner.jsx +3 -2
- package/src/ActivityIndicator/Spinner.native.jsx +2 -2
- package/src/ActivityIndicator/index.jsx +12 -3
- package/src/Autocomplete/Autocomplete.jsx +486 -0
- package/src/Autocomplete/Loading.jsx +21 -0
- package/src/Autocomplete/Suggestions.jsx +54 -0
- package/src/Autocomplete/constants.js +4 -0
- package/src/Autocomplete/dictionary.js +12 -0
- package/src/Autocomplete/index.js +3 -0
- package/src/Badge/Badge.jsx +76 -0
- package/src/Badge/index.js +3 -0
- package/src/BaseProvider/HydrationContext.jsx +5 -5
- package/src/BaseProvider/index.jsx +5 -2
- package/src/Box/Box.jsx +162 -20
- package/src/Box/backgroundImageStylesMap.js +21 -0
- package/src/Button/Button.jsx +12 -7
- package/src/Button/ButtonBase.jsx +76 -35
- package/src/Button/ButtonDropdown.jsx +5 -2
- package/src/Button/ButtonGroup.jsx +20 -3
- package/src/Button/ButtonLink.jsx +10 -4
- package/src/Card/Card.jsx +269 -17
- package/src/Card/CardBase.jsx +79 -28
- package/src/Card/PressableCardBase.jsx +21 -5
- 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 +406 -117
- package/src/Carousel/CarouselFirstFocus/CarouselFirstFocus.jsx +2 -2
- package/src/Carousel/CarouselItem/CarouselItem.jsx +99 -18
- package/src/Carousel/CarouselStepTracker/CarouselStepTracker.jsx +15 -5
- package/src/Carousel/CarouselTabs/CarouselTabs.jsx +2 -2
- package/src/Carousel/CarouselTabs/CarouselTabsPanel.jsx +22 -12
- package/src/Carousel/CarouselTabs/CarouselTabsPanelItem.jsx +3 -3
- package/src/Carousel/CarouselThumbnail.jsx +45 -27
- package/src/Carousel/CarouselThumbnailNavigation.jsx +11 -7
- package/src/Carousel/dictionary.js +11 -7
- package/src/Checkbox/Checkbox.jsx +8 -4
- package/src/Checkbox/CheckboxButton.jsx +178 -0
- package/src/Checkbox/CheckboxGroup.jsx +24 -4
- package/src/Checkbox/CheckboxInput.jsx +15 -12
- package/src/CheckboxCard/CheckboxCard.jsx +190 -0
- package/src/CheckboxCard/index.js +3 -0
- package/src/CheckboxCardGroup/CheckboxCardGroup.jsx +231 -0
- package/src/CheckboxCardGroup/index.js +3 -0
- package/src/ColourToggle/ColourBubble.jsx +112 -0
- package/src/ColourToggle/ColourToggle.jsx +83 -0
- package/src/ColourToggle/index.js +3 -0
- package/src/Divider/Divider.jsx +5 -2
- package/src/DownloadApp/DownloadApp.jsx +165 -0
- package/src/DownloadApp/dictionary.js +10 -0
- package/src/DownloadApp/index.js +3 -0
- package/src/ExpandCollapse/Accordion.jsx +4 -2
- package/src/ExpandCollapse/Control.jsx +44 -14
- package/src/ExpandCollapse/ExpandCollapse.jsx +15 -7
- package/src/ExpandCollapse/Panel.jsx +119 -24
- package/src/ExpandCollapse/dictionary.js +10 -0
- package/src/Feedback/Feedback.jsx +3 -4
- package/src/Fieldset/Fieldset.jsx +47 -23
- package/src/Fieldset/FieldsetContainer.jsx +15 -7
- package/src/Fieldset/FieldsetContainer.native.jsx +15 -7
- package/src/Fieldset/Legend.jsx +2 -2
- package/src/Fieldset/Legend.native.jsx +2 -2
- package/src/FileUpload/FileUpload.jsx +396 -0
- package/src/FileUpload/NotificationContent.jsx +44 -0
- package/src/FileUpload/dictionary.js +40 -0
- package/src/FileUpload/index.js +3 -0
- package/src/FlexGrid/Col/Col.jsx +76 -79
- package/src/FlexGrid/FlexGrid.jsx +62 -43
- package/src/FlexGrid/Row/Row.jsx +60 -54
- package/src/Footnote/Footnote.jsx +326 -0
- package/src/Footnote/FootnoteLink.jsx +110 -0
- package/src/Footnote/dictionary.js +12 -0
- package/src/Footnote/index.js +6 -0
- 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 +53 -6
- package/src/Icon/IconText.jsx +46 -14
- package/src/IconButton/IconButton.jsx +116 -20
- package/src/InputLabel/InputLabel.jsx +8 -6
- package/src/InputLabel/LabelContent.jsx +2 -2
- package/src/InputLabel/LabelContent.native.jsx +2 -2
- package/src/InputSupports/InputSupports.jsx +22 -3
- package/src/Link/ChevronLink.jsx +24 -7
- package/src/Link/InlinePressable.jsx +23 -15
- package/src/Link/InlinePressable.native.jsx +12 -6
- package/src/Link/Link.jsx +2 -2
- package/src/Link/LinkBase.jsx +75 -31
- package/src/Link/TextButton.jsx +11 -4
- package/src/List/List.jsx +26 -8
- package/src/List/ListItem.jsx +3 -5
- package/src/List/ListItemBase.jsx +38 -9
- package/src/List/ListItemContent.jsx +24 -6
- package/src/List/ListItemMark.jsx +14 -13
- package/src/List/PressableListItemBase.jsx +4 -2
- package/src/Listbox/GroupControl.jsx +101 -0
- package/src/Listbox/Listbox.jsx +177 -0
- package/src/Listbox/ListboxContext.js +6 -0
- package/src/Listbox/ListboxGroup.jsx +127 -0
- package/src/Listbox/ListboxItem.jsx +87 -0
- package/src/Listbox/ListboxOverlay.jsx +81 -0
- package/src/Listbox/PressableItem.jsx +138 -0
- package/src/Listbox/index.js +3 -0
- package/src/Modal/Modal.jsx +190 -16
- package/src/Modal/ModalContent.jsx +180 -0
- package/src/Modal/WebModal.jsx +70 -0
- package/src/MultiSelectFilter/ModalOverlay.jsx +103 -30
- package/src/MultiSelectFilter/MultiSelectFilter.jsx +326 -68
- package/src/Notification/Notification.jsx +273 -49
- package/src/OrderedList/Item.jsx +147 -0
- package/src/OrderedList/ItemBase.jsx +43 -0
- package/src/OrderedList/OrderedList.jsx +64 -0
- package/src/OrderedList/OrderedListBase.jsx +33 -0
- package/src/OrderedList/index.js +3 -0
- package/src/Pagination/PageButton.jsx +14 -5
- package/src/Pagination/Pagination.jsx +83 -17
- package/src/Pagination/SideButton.jsx +2 -2
- package/src/Pagination/constants.js +3 -0
- package/src/Pagination/dictionary.js +3 -3
- package/src/Pagination/usePagination.js +14 -3
- package/src/Portal/Portal.jsx +52 -0
- package/src/Portal/Portal.native.jsx +3 -0
- package/src/Portal/index.js +3 -0
- package/src/PriceLockup/PriceLockup.jsx +237 -0
- package/src/PriceLockup/index.js +3 -0
- package/src/PriceLockup/utils/renderFootnoteContent.jsx +77 -0
- package/src/PriceLockup/utils/renderFootnoteLinks.jsx +38 -0
- package/src/PriceLockup/utils/renderPrice.jsx +201 -0
- package/src/PriceLockup/utils/renderTypography.jsx +13 -0
- package/src/ProductCard/ProductCard.jsx +199 -0
- package/src/ProductCard/dictionary.js +38 -0
- package/src/ProductCard/index.js +3 -0
- package/src/ProductCardGroup/ProductCardGroup.jsx +75 -0
- package/src/ProductCardGroup/index.js +3 -0
- package/src/Progress/Progress.jsx +8 -5
- package/src/Progress/ProgressBar.jsx +6 -4
- package/src/Progress/ProgressBarBackground.jsx +6 -4
- package/src/QuickLinks/QuickLinks.jsx +11 -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 +43 -36
- package/src/Radio/Radio.jsx +24 -6
- package/src/Radio/RadioButton.jsx +58 -6
- package/src/Radio/RadioGroup.jsx +27 -5
- package/src/Radio/RadioInput.jsx +15 -14
- package/src/RadioCard/RadioCard.jsx +2 -2
- package/src/RadioCard/RadioCardGroup.jsx +25 -4
- package/src/Responsive/Responsive.jsx +43 -13
- package/src/Responsive/ResponsiveProp.jsx +33 -0
- package/src/Responsive/ResponsiveWithMediaQueryStyleSheet.jsx +67 -0
- package/src/Search/Search.jsx +10 -5
- package/src/Select/Group.jsx +12 -3
- package/src/Select/Group.native.jsx +3 -0
- package/src/Select/Item.jsx +10 -1
- package/src/Select/Picker.jsx +32 -5
- package/src/Select/Picker.native.jsx +3 -3
- package/src/Select/Select.jsx +27 -10
- package/src/SideNav/Item.jsx +12 -7
- package/src/SideNav/ItemContent.jsx +14 -6
- package/src/SideNav/ItemsGroup.jsx +15 -4
- package/src/SideNav/SideNav.jsx +11 -3
- package/src/Skeleton/Skeleton.jsx +19 -7
- package/src/Skeleton/skeleton.constant.js +0 -1
- package/src/Skeleton/skeletonWebAnimation.js +11 -11
- package/src/Skeleton/useSkeletonNativeAnimation.js +5 -4
- package/src/SkipLink/SkipLink.jsx +14 -14
- package/src/Spacer/Spacer.jsx +2 -2
- package/src/StackView/StackView.jsx +5 -4
- 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 +16 -7
- package/src/Status/Status.jsx +153 -0
- package/src/Status/index.js +3 -0
- package/src/StepTracker/Step.jsx +102 -70
- package/src/StepTracker/StepTracker.jsx +28 -6
- package/src/StepTracker/dictionary.js +24 -4
- package/src/TabBar/TabBar.jsx +123 -0
- package/src/TabBar/TabBarItem.jsx +149 -0
- package/src/TabBar/index.js +3 -0
- package/src/Tabs/Tabs.jsx +37 -5
- package/src/Tabs/TabsItem.jsx +19 -7
- package/src/Tags/Tags.jsx +7 -3
- package/src/TextInput/TextArea.jsx +3 -3
- package/src/TextInput/TextInput.jsx +11 -7
- package/src/TextInput/TextInputBase.jsx +145 -29
- package/src/TextInput/dictionary.js +6 -2
- package/src/TextInput/propTypes.js +4 -0
- package/src/ThemeProvider/ThemeProvider.jsx +17 -7
- package/src/ThemeProvider/index.js +1 -0
- package/src/ThemeProvider/useResponsiveThemeTokens.js +85 -0
- package/src/ThemeProvider/utils/styles.js +34 -2
- package/src/Timeline/Timeline.jsx +10 -6
- package/src/ToggleSwitch/ToggleSwitch.jsx +28 -11
- package/src/ToggleSwitch/ToggleSwitchGroup.jsx +2 -2
- package/src/Tooltip/Tooltip.jsx +38 -9
- package/src/Tooltip/Tooltip.native.jsx +82 -20
- package/src/Tooltip/getTooltipPosition.js +12 -13
- package/src/Tooltip/shared.js +17 -0
- package/src/TooltipButton/TooltipButton.jsx +34 -8
- package/src/Typography/Typography.jsx +173 -29
- package/src/Validator/Validator.jsx +230 -0
- package/src/Validator/index.js +3 -0
- package/src/ViewportProvider/ViewportProvider.jsx +2 -2
- package/src/index.js +31 -12
- package/src/server.js +4 -0
- package/src/utils/BaseView/BaseView.jsx +2 -2
- package/src/utils/a11y/semantics.js +7 -14
- package/src/utils/animation/useVerticalExpandAnimation.js +3 -3
- package/src/utils/children.jsx +4 -4
- package/src/utils/convertFromMegaByteToByte.js +11 -0
- package/src/utils/formatImageSource.js +29 -0
- package/src/utils/htmlAttrs.js +29 -0
- package/src/utils/index.js +6 -1
- package/src/utils/props/handlerProps.js +5 -1
- package/src/utils/props/inputSupportsProps.js +21 -1
- package/src/utils/props/textInputProps.js +1 -0
- package/src/utils/props/tokens.js +4 -2
- package/src/utils/ssr-media-query/create-stylesheet/create-stylesheet-mobile.js +41 -0
- package/src/utils/ssr-media-query/create-stylesheet/index.android.js +3 -0
- package/src/utils/ssr-media-query/create-stylesheet/index.ios.js +3 -0
- package/src/utils/ssr-media-query/create-stylesheet/index.js +35 -0
- package/src/utils/ssr-media-query/hash.js +16 -0
- package/src/utils/ssr-media-query/index.js +8 -0
- package/src/utils/ssr-media-query/utils/common.js +38 -0
- package/src/utils/ssr-media-query/utils/create-declaration-block.js +21 -0
- package/src/utils/ssr-media-query/utils/create-media-query-styles.js +46 -0
- package/src/utils/ssr-media-query/utils/hyphenate-style-name.js +15 -0
- package/src/utils/ssr-media-query/utils/inject.js +43 -0
- package/src/utils/ssr.jsx +3 -1
- package/src/utils/transformGradient.js +17 -0
- package/src/utils/useOverlaidPosition.js +224 -0
- package/src/utils/withLinkRouter.jsx +3 -3
- package/types/Badge.d.ts +28 -0
- package/types/Box.d.ts +52 -0
- package/types/Checkbox.d.ts +47 -0
- package/types/CheckboxCardGroup.d.ts +72 -0
- package/types/ChevronLink.d.ts +47 -0
- package/types/Common.d.ts +106 -0
- package/types/Divider.d.ts +19 -0
- package/types/ExpandCollapse.d.ts +65 -0
- package/types/FileUpload.d.ts +40 -0
- package/types/HorizontalScrollButton.d.ts +16 -0
- package/types/Icon.d.ts +21 -0
- package/types/Link.d.ts +48 -0
- package/types/List.d.ts +48 -0
- package/types/Portal.d.ts +5 -0
- package/types/Search.d.ts +38 -0
- package/types/Select.d.ts +57 -0
- package/types/Spacer.d.ts +5 -0
- package/types/StackView.d.ts +28 -0
- package/types/Tabs.d.ts +46 -0
- package/types/TextButton.d.ts +11 -0
- package/types/ToggleSwitch.d.ts +54 -0
- package/types/ToolTip.d.ts +40 -0
- package/types/Typography.d.ts +40 -0
- package/types/index.d.ts +78 -0
- package/.eslintrc.js +0 -9
- package/__tests17__/A11yText/A11yText.test.jsx +0 -34
- package/__tests17__/ActivityIndicator/ActivityIndicator.test.jsx +0 -68
- package/__tests17__/ActivityIndicator/__snapshots__/ActivityIndicator.test.jsx.snap +0 -299
- package/__tests17__/Box/Box.test.jsx +0 -111
- package/__tests17__/Button/Button.test.jsx +0 -86
- package/__tests17__/Button/ButtonBase.test.jsx +0 -82
- package/__tests17__/Button/ButtonGroup.test.jsx +0 -347
- package/__tests17__/Button/ButtonLink.test.jsx +0 -61
- package/__tests17__/Card/Card.test.jsx +0 -63
- package/__tests17__/Carousel/Carousel.test.jsx +0 -128
- package/__tests17__/Carousel/CarouselTabs.test.jsx +0 -142
- package/__tests17__/Checkbox/Checkbox.test.jsx +0 -94
- package/__tests17__/Checkbox/CheckboxGroup.test.jsx +0 -246
- package/__tests17__/Divider/Divider.test.jsx +0 -91
- package/__tests17__/ExpandCollapse/ExpandCollapse.test.jsx +0 -109
- package/__tests17__/Feedback/Feedback.test.jsx +0 -42
- package/__tests17__/FlexGrid/Col.test.jsx +0 -261
- package/__tests17__/FlexGrid/FlexGrid.test.jsx +0 -136
- package/__tests17__/FlexGrid/Row.test.jsx +0 -273
- package/__tests17__/HorizontalScroll/HorizontalScroll.test.jsx +0 -165
- package/__tests17__/Icon/Icon.test.jsx +0 -61
- package/__tests17__/IconButton/IconButton.test.jsx +0 -52
- package/__tests17__/InputLabel/InputLabel.test.jsx +0 -28
- package/__tests17__/InputLabel/__snapshots__/InputLabel.test.jsx.snap +0 -3
- package/__tests17__/InputSupports/InputSupports.test.jsx +0 -60
- package/__tests17__/Link/Link.test.jsx +0 -63
- package/__tests17__/Link/TextButton.test.jsx +0 -35
- package/__tests17__/List/List.test.jsx +0 -82
- package/__tests17__/Modal/Modal.test.jsx +0 -47
- package/__tests17__/Notification/Notification.test.jsx +0 -20
- package/__tests17__/Pagination/Pagination.test.jsx +0 -160
- package/__tests17__/Progress/Progress.test.jsx +0 -79
- package/__tests17__/Radio/Radio.test.jsx +0 -87
- package/__tests17__/Radio/RadioGroup.test.jsx +0 -220
- package/__tests17__/RadioCard/RadioCard.test.jsx +0 -87
- package/__tests17__/RadioCard/RadioCardGroup.test.jsx +0 -246
- package/__tests17__/Search/Search.test.jsx +0 -87
- package/__tests17__/Select/Select.test.jsx +0 -94
- package/__tests17__/SideNav/SideNav.test.jsx +0 -110
- package/__tests17__/Skeleton/Skeleton.test.jsx +0 -61
- package/__tests17__/SkipLink/SkipLink.test.jsx +0 -61
- package/__tests17__/Spacer/Spacer.test.jsx +0 -63
- package/__tests17__/StackView/StackView.test.jsx +0 -211
- package/__tests17__/StackView/StackWrap.test.jsx +0 -47
- package/__tests17__/StackView/getStackedContent.test.jsx +0 -295
- package/__tests17__/StepTracker/StepTracker.test.jsx +0 -108
- package/__tests17__/Tabs/Tabs.test.jsx +0 -49
- package/__tests17__/Tags/Tags.test.jsx +0 -327
- package/__tests17__/TextInput/TextArea.test.jsx +0 -35
- package/__tests17__/TextInput/TextInputBase.test.jsx +0 -125
- package/__tests17__/ThemeProvider/ThemeProvider.test.jsx +0 -82
- package/__tests17__/ThemeProvider/useThemeTokens.test.jsx +0 -514
- package/__tests17__/ThemeProvider/utils/theme-tokens.test.js +0 -41
- package/__tests17__/ToggleSwitch/ToggleSwitch.test.jsx +0 -82
- package/__tests17__/ToggleSwitch/ToggleSwitchGroup.test.jsx +0 -192
- package/__tests17__/Tooltip/Tooltip.test.jsx +0 -65
- package/__tests17__/Tooltip/getTooltipPosition.test.js +0 -79
- package/__tests17__/Typography/typography.test.jsx +0 -90
- package/__tests17__/utils/children.test.jsx +0 -128
- package/__tests17__/utils/containUniqueFields.test.js +0 -25
- package/__tests17__/utils/input.test.js +0 -375
- package/__tests17__/utils/props.test.js +0 -36
- package/__tests17__/utils/semantics.test.jsx +0 -34
- package/__tests17__/utils/useCopy.test.js +0 -42
- package/__tests17__/utils/useResponsiveProp.test.jsx +0 -202
- package/__tests17__/utils/useSpacingScale.test.jsx +0 -273
- package/__tests17__/utils/useUniqueId.test.js +0 -31
- package/component-docs.json +0 -13646
- package/lib-module/A11yInfoProvider/index.js +0 -73
- package/lib-module/A11yText/index.js +0 -56
- package/lib-module/ActivityIndicator/Spinner.js +0 -79
- package/lib-module/ActivityIndicator/Spinner.native.js +0 -146
- package/lib-module/ActivityIndicator/index.js +0 -48
- package/lib-module/ActivityIndicator/shared.js +0 -13
- package/lib-module/BaseProvider/HydrationContext.js +0 -51
- package/lib-module/BaseProvider/index.js +0 -41
- package/lib-module/Box/Box.js +0 -259
- package/lib-module/Box/index.js +0 -2
- package/lib-module/Button/Button.js +0 -26
- package/lib-module/Button/ButtonBase.js +0 -309
- package/lib-module/Button/ButtonDropdown.js +0 -181
- package/lib-module/Button/ButtonGroup.js +0 -264
- package/lib-module/Button/ButtonLink.js +0 -40
- package/lib-module/Button/index.js +0 -5
- package/lib-module/Button/propTypes.js +0 -53
- package/lib-module/Card/Card.js +0 -85
- package/lib-module/Card/CardBase.js +0 -66
- package/lib-module/Card/PressableCardBase.js +0 -114
- package/lib-module/Card/index.js +0 -4
- package/lib-module/Carousel/Carousel.js +0 -690
- package/lib-module/Carousel/CarouselContext.js +0 -56
- package/lib-module/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +0 -51
- package/lib-module/Carousel/CarouselItem/CarouselItem.js +0 -81
- package/lib-module/Carousel/CarouselItem/index.js +0 -2
- package/lib-module/Carousel/CarouselStepTracker/CarouselStepTracker.js +0 -50
- package/lib-module/Carousel/CarouselStepTracker/index.js +0 -2
- package/lib-module/Carousel/CarouselTabs/CarouselTabs.js +0 -51
- package/lib-module/Carousel/CarouselTabs/CarouselTabsPanel.js +0 -84
- package/lib-module/Carousel/CarouselTabs/CarouselTabsPanelItem.js +0 -126
- package/lib-module/Carousel/CarouselTabs/index.js +0 -2
- package/lib-module/Carousel/CarouselThumbnail.js +0 -85
- package/lib-module/Carousel/CarouselThumbnailNavigation.js +0 -66
- package/lib-module/Carousel/dictionary.js +0 -18
- package/lib-module/Carousel/index.js +0 -3
- package/lib-module/Checkbox/Checkbox.js +0 -355
- package/lib-module/Checkbox/CheckboxGroup.js +0 -242
- package/lib-module/Checkbox/CheckboxInput.js +0 -60
- package/lib-module/Checkbox/CheckboxInput.native.js +0 -6
- package/lib-module/Checkbox/index.js +0 -3
- package/lib-module/Divider/Divider.js +0 -127
- package/lib-module/Divider/index.js +0 -2
- package/lib-module/ExpandCollapse/Accordion.js +0 -15
- package/lib-module/ExpandCollapse/Control.js +0 -139
- package/lib-module/ExpandCollapse/ExpandCollapse.js +0 -95
- package/lib-module/ExpandCollapse/Panel.js +0 -160
- package/lib-module/ExpandCollapse/index.js +0 -7
- package/lib-module/Feedback/Feedback.js +0 -165
- package/lib-module/Feedback/index.js +0 -2
- package/lib-module/Fieldset/Fieldset.js +0 -182
- package/lib-module/Fieldset/FieldsetContainer.js +0 -38
- package/lib-module/Fieldset/FieldsetContainer.native.js +0 -23
- 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/FlexGrid/Col/Col.js +0 -275
- package/lib-module/FlexGrid/Col/index.js +0 -2
- package/lib-module/FlexGrid/FlexGrid.js +0 -149
- package/lib-module/FlexGrid/Row/Row.js +0 -184
- package/lib-module/FlexGrid/Row/index.js +0 -2
- package/lib-module/FlexGrid/helpers/index.js +0 -18
- package/lib-module/FlexGrid/index.js +0 -2
- package/lib-module/FlexGrid/providers/GutterContext.js +0 -3
- package/lib-module/HorizontalScroll/HorizontalScroll.js +0 -175
- package/lib-module/HorizontalScroll/HorizontalScrollButton.js +0 -81
- package/lib-module/HorizontalScroll/ScrollViewEnd.js +0 -48
- package/lib-module/HorizontalScroll/ScrollViewEnd.native.js +0 -27
- package/lib-module/HorizontalScroll/dictionary.js +0 -11
- package/lib-module/HorizontalScroll/index.js +0 -11
- package/lib-module/HorizontalScroll/itemPositions.js +0 -112
- package/lib-module/Icon/Icon.js +0 -62
- package/lib-module/Icon/IconText.js +0 -88
- package/lib-module/Icon/index.js +0 -4
- package/lib-module/IconButton/IconButton.js +0 -132
- package/lib-module/IconButton/index.js +0 -2
- package/lib-module/InputLabel/InputLabel.js +0 -154
- package/lib-module/InputLabel/LabelContent.js +0 -27
- package/lib-module/InputLabel/LabelContent.native.js +0 -19
- package/lib-module/InputLabel/index.js +0 -2
- package/lib-module/InputSupports/InputSupports.js +0 -103
- package/lib-module/InputSupports/index.js +0 -2
- package/lib-module/InputSupports/useInputSupports.js +0 -33
- package/lib-module/Link/ChevronLink.js +0 -52
- package/lib-module/Link/InlinePressable.js +0 -44
- package/lib-module/Link/InlinePressable.native.js +0 -89
- package/lib-module/Link/Link.js +0 -28
- package/lib-module/Link/LinkBase.js +0 -244
- package/lib-module/Link/TextButton.js +0 -35
- package/lib-module/Link/index.js +0 -5
- package/lib-module/List/List.js +0 -66
- package/lib-module/List/ListItem.js +0 -38
- package/lib-module/List/ListItemBase.js +0 -139
- package/lib-module/List/ListItemContent.js +0 -66
- package/lib-module/List/ListItemMark.js +0 -143
- package/lib-module/List/PressableListItemBase.js +0 -114
- package/lib-module/List/index.js +0 -5
- package/lib-module/Modal/Modal.js +0 -225
- package/lib-module/Modal/dictionary.js +0 -9
- package/lib-module/Modal/index.js +0 -2
- package/lib-module/MultiSelectFilter/ModalOverlay.js +0 -112
- package/lib-module/MultiSelectFilter/MultiSelectFilter.js +0 -286
- package/lib-module/MultiSelectFilter/dictionary.js +0 -12
- package/lib-module/MultiSelectFilter/index.js +0 -2
- package/lib-module/Notification/Notification.js +0 -230
- package/lib-module/Notification/dictionary.js +0 -8
- package/lib-module/Notification/index.js +0 -2
- package/lib-module/Pagination/PageButton.js +0 -66
- package/lib-module/Pagination/Pagination.js +0 -159
- package/lib-module/Pagination/SideButton.js +0 -118
- package/lib-module/Pagination/dictionary.js +0 -18
- package/lib-module/Pagination/index.js +0 -2
- package/lib-module/Pagination/usePagination.js +0 -73
- package/lib-module/Progress/Progress.js +0 -89
- package/lib-module/Progress/ProgressBar.js +0 -138
- package/lib-module/Progress/ProgressBarBackground.js +0 -42
- package/lib-module/Progress/index.js +0 -4
- package/lib-module/QuickLinks/QuickLinks.js +0 -71
- package/lib-module/QuickLinks/QuickLinksCard.js +0 -33
- package/lib-module/QuickLinks/QuickLinksItem.js +0 -50
- package/lib-module/QuickLinks/index.js +0 -4
- package/lib-module/QuickLinksFeature/QuickLinksFeature.js +0 -69
- package/lib-module/QuickLinksFeature/QuickLinksFeatureItem.js +0 -130
- package/lib-module/QuickLinksFeature/index.js +0 -4
- package/lib-module/Radio/Radio.js +0 -288
- package/lib-module/Radio/RadioButton.js +0 -138
- package/lib-module/Radio/RadioGroup.js +0 -255
- package/lib-module/Radio/RadioInput.js +0 -62
- package/lib-module/Radio/RadioInput.native.js +0 -6
- package/lib-module/Radio/index.js +0 -3
- package/lib-module/RadioCard/RadioCardGroup.js +0 -259
- package/lib-module/RadioCard/index.js +0 -3
- package/lib-module/Responsive/index.js +0 -2
- package/lib-module/Search/Search.js +0 -241
- package/lib-module/Search/dictionary.js +0 -12
- package/lib-module/Search/index.js +0 -2
- package/lib-module/Select/Group.js +0 -21
- package/lib-module/Select/Group.native.js +0 -15
- package/lib-module/Select/Item.js +0 -20
- package/lib-module/Select/Item.native.js +0 -3
- package/lib-module/Select/Picker.js +0 -68
- package/lib-module/Select/Picker.native.js +0 -122
- package/lib-module/Select/Select.js +0 -347
- package/lib-module/Select/constants.js +0 -5
- package/lib-module/Select/index.js +0 -6
- package/lib-module/SideNav/Item.js +0 -145
- package/lib-module/SideNav/ItemContent.js +0 -48
- package/lib-module/SideNav/ItemsGroup.js +0 -117
- package/lib-module/SideNav/SideNav.js +0 -136
- package/lib-module/SideNav/index.js +0 -1
- package/lib-module/Skeleton/Skeleton.js +0 -182
- package/lib-module/Skeleton/index.js +0 -2
- package/lib-module/Skeleton/skeleton.constant.js +0 -3
- package/lib-module/Skeleton/skeletonWebAnimation.js +0 -18
- package/lib-module/Skeleton/useSkeletonNativeAnimation.js +0 -25
- package/lib-module/SkipLink/SkipLink.js +0 -188
- package/lib-module/SkipLink/index.js +0 -2
- package/lib-module/Spacer/Spacer.js +0 -98
- package/lib-module/Spacer/index.js +0 -2
- package/lib-module/StackView/StackView.js +0 -127
- package/lib-module/StackView/StackWrap.js +0 -53
- package/lib-module/StackView/StackWrap.native.js +0 -3
- package/lib-module/StackView/StackWrapBox.js +0 -117
- package/lib-module/StackView/StackWrapGap.js +0 -61
- package/lib-module/StackView/common.js +0 -35
- package/lib-module/StackView/getStackedContent.js +0 -124
- package/lib-module/StackView/index.js +0 -5
- package/lib-module/StepTracker/Step.js +0 -253
- package/lib-module/StepTracker/StepTracker.js +0 -191
- package/lib-module/StepTracker/dictionary.js +0 -10
- package/lib-module/StepTracker/index.js +0 -2
- package/lib-module/Tabs/Tabs.js +0 -152
- package/lib-module/Tabs/TabsItem.js +0 -228
- package/lib-module/Tabs/index.js +0 -2
- package/lib-module/Tags/Tags.js +0 -257
- package/lib-module/Tags/index.js +0 -2
- package/lib-module/TextInput/TextArea.js +0 -94
- package/lib-module/TextInput/TextInput.js +0 -73
- package/lib-module/TextInput/TextInputBase.js +0 -333
- package/lib-module/TextInput/dictionary.js +0 -8
- package/lib-module/TextInput/index.js +0 -3
- package/lib-module/TextInput/propTypes.js +0 -33
- package/lib-module/ThemeProvider/ThemeProvider.js +0 -74
- package/lib-module/ThemeProvider/index.js +0 -6
- package/lib-module/ThemeProvider/useSetTheme.js +0 -25
- package/lib-module/ThemeProvider/useTheme.js +0 -14
- package/lib-module/ThemeProvider/useThemeTokens.js +0 -110
- package/lib-module/ThemeProvider/utils/index.js +0 -2
- package/lib-module/ThemeProvider/utils/styles.js +0 -188
- package/lib-module/ThemeProvider/utils/theme-tokens.js +0 -163
- package/lib-module/Timeline/Timeline.js +0 -174
- package/lib-module/Timeline/index.js +0 -2
- package/lib-module/ToggleSwitch/ToggleSwitch.js +0 -255
- package/lib-module/ToggleSwitch/ToggleSwitchGroup.js +0 -227
- package/lib-module/ToggleSwitch/index.js +0 -3
- package/lib-module/Tooltip/Backdrop.js +0 -45
- package/lib-module/Tooltip/Backdrop.native.js +0 -44
- package/lib-module/Tooltip/Tooltip.js +0 -278
- package/lib-module/Tooltip/Tooltip.native.js +0 -326
- package/lib-module/Tooltip/dictionary.js +0 -8
- package/lib-module/Tooltip/getTooltipPosition.js +0 -175
- package/lib-module/Tooltip/index.js +0 -5
- package/lib-module/Tooltip/shared.js +0 -27
- package/lib-module/TooltipButton/TooltipButton.js +0 -78
- package/lib-module/TooltipButton/index.js +0 -2
- package/lib-module/Typography/Typography.js +0 -154
- package/lib-module/Typography/index.js +0 -2
- package/lib-module/ViewportProvider/ViewportProvider.js +0 -29
- package/lib-module/ViewportProvider/index.js +0 -3
- package/lib-module/ViewportProvider/useViewport.js +0 -3
- package/lib-module/ViewportProvider/useViewportListener.js +0 -39
- package/lib-module/index.js +0 -58
- package/lib-module/utils/BaseView/BaseView.js +0 -43
- package/lib-module/utils/BaseView/BaseView.native.js +0 -6
- 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 -157
- package/lib-module/utils/a11y/textSize.js +0 -36
- package/lib-module/utils/animation/index.js +0 -2
- package/lib-module/utils/animation/useVerticalExpandAnimation.js +0 -89
- package/lib-module/utils/children.js +0 -119
- package/lib-module/utils/containUniqueFields.js +0 -26
- 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/hasOwnProperty.js +0 -11
- package/lib-module/utils/index.js +0 -19
- package/lib-module/utils/info/index.js +0 -7
- package/lib-module/utils/info/platform/index.js +0 -11
- 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 -5
- package/lib-module/utils/input.js +0 -187
- package/lib-module/utils/pressability.js +0 -111
- package/lib-module/utils/props/a11yProps.js +0 -308
- package/lib-module/utils/props/clickProps.js +0 -26
- package/lib-module/utils/props/componentPropType.js +0 -63
- package/lib-module/utils/props/copyPropTypes.js +0 -2
- package/lib-module/utils/props/getPropSelector.js +0 -48
- package/lib-module/utils/props/handlerProps.js +0 -117
- 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 -62
- package/lib-module/utils/props/linkProps.js +0 -44
- 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 -30
- package/lib-module/utils/props/selectSystemProps.js +0 -24
- package/lib-module/utils/props/spacingProps.js +0 -56
- package/lib-module/utils/props/textInputProps.js +0 -201
- package/lib-module/utils/props/textProps.js +0 -59
- package/lib-module/utils/props/tokens.js +0 -133
- package/lib-module/utils/props/variantProp.js +0 -18
- package/lib-module/utils/props/viewProps.js +0 -22
- package/lib-module/utils/ssr.js +0 -144
- package/lib-module/utils/useCopy.js +0 -44
- package/lib-module/utils/useHash.js +0 -45
- package/lib-module/utils/useHash.native.js +0 -7
- package/lib-module/utils/useResponsiveProp.js +0 -46
- package/lib-module/utils/useSafeLayoutEffect.js +0 -30
- package/lib-module/utils/useScrollBlocking.js +0 -58
- package/lib-module/utils/useScrollBlocking.native.js +0 -2
- package/lib-module/utils/useSpacingScale.js +0 -125
- package/lib-module/utils/useUniqueId.js +0 -13
- package/lib-module/utils/withLinkRouter.js +0 -81
|
@@ -1,38 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import ABBPropTypes from 'airbnb-prop-types';
|
|
4
|
+
import { useViewport } from '../ViewportProvider';
|
|
5
|
+
import { useThemeTokens } from '../ThemeProvider';
|
|
6
|
+
import { a11yProps, containUniqueFields, focusHandlerProps, getTokensPropType, selectSystemProps, useMultipleInputValues, variantProp, viewProps } from '../utils';
|
|
7
|
+
import { getStackedContent } from '../StackView';
|
|
8
|
+
import Checkbox from './Checkbox';
|
|
9
|
+
import Fieldset from '../Fieldset';
|
|
10
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
+
const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps]);
|
|
12
|
+
const [selectItemProps, selectedItemPropTypes] = selectSystemProps([a11yProps, focusHandlerProps, viewProps]);
|
|
2
13
|
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
|
|
12
|
-
var _airbnbPropTypes = _interopRequireDefault(require("airbnb-prop-types"));
|
|
13
|
-
|
|
14
|
-
var _ViewportProvider = require("../ViewportProvider");
|
|
15
|
-
|
|
16
|
-
var _ThemeProvider = require("../ThemeProvider");
|
|
17
|
-
|
|
18
|
-
var _utils = require("../utils");
|
|
19
|
-
|
|
20
|
-
var _StackView = require("../StackView");
|
|
21
|
-
|
|
22
|
-
var _Checkbox = _interopRequireDefault(require("./Checkbox"));
|
|
23
|
-
|
|
24
|
-
var _Fieldset = _interopRequireDefault(require("../Fieldset"));
|
|
25
|
-
|
|
26
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
27
|
-
|
|
28
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
|
-
|
|
30
|
-
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); }
|
|
31
|
-
|
|
32
|
-
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; }
|
|
33
|
-
|
|
34
|
-
const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
|
|
35
|
-
const [selectItemProps, selectedItemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.focusHandlerProps, _utils.viewProps]);
|
|
36
14
|
/**
|
|
37
15
|
* A group of Checkboxs that behave as a fieldset. Use when users select any number of choices from options.
|
|
38
16
|
*
|
|
@@ -80,8 +58,7 @@ const [selectItemProps, selectedItemPropTypes] = (0, _utils.selectSystemProps)([
|
|
|
80
58
|
* />
|
|
81
59
|
* ```
|
|
82
60
|
*/
|
|
83
|
-
|
|
84
|
-
const CheckboxGroup = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
61
|
+
const CheckboxGroup = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
85
62
|
let {
|
|
86
63
|
tokens,
|
|
87
64
|
radioTokens,
|
|
@@ -101,28 +78,41 @@ const CheckboxGroup = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
101
78
|
inactive,
|
|
102
79
|
...rest
|
|
103
80
|
} = _ref;
|
|
104
|
-
const viewport =
|
|
81
|
+
const viewport = useViewport();
|
|
105
82
|
const {
|
|
106
83
|
space,
|
|
107
|
-
fieldSpace
|
|
108
|
-
|
|
84
|
+
fieldSpace,
|
|
85
|
+
showIcon,
|
|
86
|
+
outlineWidth,
|
|
87
|
+
borderTopLeftRadius,
|
|
88
|
+
borderTopRightRadius,
|
|
89
|
+
borderBottomLeftRadius,
|
|
90
|
+
borderBottomRightRadius,
|
|
91
|
+
outlineOffset
|
|
92
|
+
} = useThemeTokens('CheckboxGroup', tokens, variant, {
|
|
109
93
|
viewport
|
|
110
94
|
});
|
|
95
|
+
const borderTokens = {
|
|
96
|
+
outlineWidth,
|
|
97
|
+
borderTopLeftRadius,
|
|
98
|
+
borderTopRightRadius,
|
|
99
|
+
borderBottomLeftRadius,
|
|
100
|
+
borderBottomRightRadius,
|
|
101
|
+
outlineOffset
|
|
102
|
+
};
|
|
111
103
|
const {
|
|
112
104
|
currentValues,
|
|
113
105
|
toggleOneValue
|
|
114
|
-
} =
|
|
106
|
+
} = useMultipleInputValues({
|
|
115
107
|
values: checkedIds,
|
|
116
108
|
initialValues: initialCheckedIds,
|
|
117
109
|
onChange,
|
|
118
110
|
readOnly: readOnly || inactive
|
|
119
111
|
});
|
|
120
112
|
const uniqueFields = ['id', 'label'];
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
throw new Error("CheckboxGroup items must have unique ".concat(uniqueFields.join(', ')));
|
|
113
|
+
if (!containUniqueFields(items, uniqueFields)) {
|
|
114
|
+
throw new Error(`CheckboxGroup items must have unique ${uniqueFields.join(', ')}`);
|
|
124
115
|
}
|
|
125
|
-
|
|
126
116
|
const checkboxes = items.map((_ref2, index) => {
|
|
127
117
|
let {
|
|
128
118
|
label,
|
|
@@ -131,14 +121,12 @@ const CheckboxGroup = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
131
121
|
ref: itemRef,
|
|
132
122
|
...itemRest
|
|
133
123
|
} = _ref2;
|
|
134
|
-
const checkboxId = id ||
|
|
135
|
-
|
|
124
|
+
const checkboxId = id || `Checkbox[${index}]`;
|
|
136
125
|
const handleChange = (newCheckedState, event) => {
|
|
137
126
|
if (typeof itemOnChange === 'function') itemOnChange(newCheckedState, event);
|
|
138
127
|
toggleOneValue(checkboxId, event);
|
|
139
128
|
};
|
|
140
|
-
|
|
141
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.default, {
|
|
129
|
+
return /*#__PURE__*/_jsx(Checkbox, {
|
|
142
130
|
ref: itemRef,
|
|
143
131
|
id: checkboxId,
|
|
144
132
|
checked: currentValues.includes(checkboxId),
|
|
@@ -151,7 +139,7 @@ const CheckboxGroup = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
151
139
|
...selectItemProps(itemRest)
|
|
152
140
|
}, checkboxId);
|
|
153
141
|
});
|
|
154
|
-
return /*#__PURE__*/(
|
|
142
|
+
return /*#__PURE__*/_jsx(Fieldset, {
|
|
155
143
|
ref: ref,
|
|
156
144
|
name: inputGroupName,
|
|
157
145
|
legend: legend,
|
|
@@ -162,105 +150,91 @@ const CheckboxGroup = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
162
150
|
feedback: feedback,
|
|
163
151
|
inactive: inactive,
|
|
164
152
|
validation: validation,
|
|
165
|
-
showIcon: true,
|
|
166
153
|
showErrorBorder: true,
|
|
154
|
+
tokens: borderTokens,
|
|
155
|
+
showIcon: showIcon,
|
|
167
156
|
...selectProps(rest),
|
|
168
|
-
children:
|
|
157
|
+
children: getStackedContent(checkboxes, {
|
|
169
158
|
space,
|
|
170
159
|
direction: 'column'
|
|
171
160
|
})
|
|
172
161
|
});
|
|
173
162
|
});
|
|
174
163
|
CheckboxGroup.displayName = 'CheckboxGroup';
|
|
175
|
-
CheckboxGroup.propTypes = {
|
|
176
|
-
|
|
164
|
+
CheckboxGroup.propTypes = {
|
|
165
|
+
...selectedSystemPropTypes,
|
|
177
166
|
/**
|
|
178
167
|
* Optional theme token overrides for the outer CheckboxGroup component
|
|
179
168
|
*/
|
|
180
|
-
tokens:
|
|
181
|
-
|
|
169
|
+
tokens: getTokensPropType('CheckboxGroup'),
|
|
182
170
|
/**
|
|
183
171
|
* Optional theme token overrides for each inner Checkbox component
|
|
184
172
|
*/
|
|
185
|
-
radioTokens:
|
|
186
|
-
|
|
173
|
+
radioTokens: getTokensPropType('Checkbox'),
|
|
187
174
|
/**
|
|
188
175
|
* Theme variants, shared between both CheckboxGroup and Checkbox
|
|
189
176
|
*/
|
|
190
|
-
variant:
|
|
191
|
-
|
|
177
|
+
variant: variantProp.propType,
|
|
192
178
|
/**
|
|
193
179
|
* Array of objects containing specifics for each Checkbox to be rendered in the group.
|
|
194
180
|
*/
|
|
195
|
-
items:
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
181
|
+
items: PropTypes.arrayOf(PropTypes.exact({
|
|
182
|
+
...selectedItemPropTypes,
|
|
183
|
+
label: PropTypes.string,
|
|
184
|
+
id: PropTypes.string,
|
|
185
|
+
onChange: PropTypes.func,
|
|
186
|
+
ref: ABBPropTypes.ref()
|
|
200
187
|
})),
|
|
201
|
-
|
|
202
188
|
/**
|
|
203
189
|
* Main text used to describe this group, used in Fieldset's Legend element.
|
|
204
190
|
*/
|
|
205
|
-
legend:
|
|
206
|
-
|
|
191
|
+
legend: PropTypes.string,
|
|
207
192
|
/**
|
|
208
193
|
* Optional additional text giving more detail to help a user make a choice.
|
|
209
194
|
*/
|
|
210
|
-
hint:
|
|
211
|
-
|
|
195
|
+
hint: PropTypes.string,
|
|
212
196
|
/**
|
|
213
197
|
* Position of the hint relative to label. Use `below` to display a larger hint below the label.
|
|
214
198
|
*/
|
|
215
|
-
hintPosition:
|
|
216
|
-
|
|
199
|
+
hintPosition: PropTypes.oneOf(['inline', 'below']),
|
|
217
200
|
/**
|
|
218
201
|
* Optional tooltip text content to include alongside the legend and hint.
|
|
219
202
|
*/
|
|
220
|
-
tooltip:
|
|
221
|
-
|
|
203
|
+
tooltip: PropTypes.string,
|
|
222
204
|
/**
|
|
223
205
|
* Current validation status of the group, passed to the feedback element if there is one.
|
|
224
206
|
*/
|
|
225
|
-
validation:
|
|
226
|
-
|
|
207
|
+
validation: PropTypes.oneOf(['error', 'success']),
|
|
227
208
|
/**
|
|
228
209
|
* If provided, a Feedback element is rendered containing this text.
|
|
229
210
|
*/
|
|
230
|
-
feedback:
|
|
231
|
-
|
|
211
|
+
feedback: PropTypes.string,
|
|
232
212
|
/**
|
|
233
213
|
* If provided, the checkboxed with this ids are selected on first render.
|
|
234
214
|
*/
|
|
235
|
-
initialCheckedIds:
|
|
236
|
-
|
|
215
|
+
initialCheckedIds: PropTypes.arrayOf(PropTypes.string),
|
|
237
216
|
/**
|
|
238
217
|
* If not undefined, the checkboxes with these ids is selected, and the
|
|
239
218
|
* element's selection state will be controlled by its parent using the `onChange` function.
|
|
240
219
|
*/
|
|
241
|
-
checkedIds:
|
|
242
|
-
|
|
220
|
+
checkedIds: PropTypes.arrayOf(PropTypes.string),
|
|
243
221
|
/**
|
|
244
222
|
* Function to call on change in selection state. Is required if the selection state is controlled
|
|
245
223
|
* by a parent using checkedId and the input is not readOnly.
|
|
246
224
|
*/
|
|
247
|
-
onChange:
|
|
248
|
-
|
|
225
|
+
onChange: PropTypes.func,
|
|
249
226
|
/**
|
|
250
227
|
* If true, the checkboxes cannot be selected by the user and simply show their current state.
|
|
251
228
|
*/
|
|
252
|
-
readOnly:
|
|
253
|
-
|
|
229
|
+
readOnly: PropTypes.bool,
|
|
254
230
|
/**
|
|
255
231
|
* If true, the checkboxes cannot be interacted with, elements are set as `disabled` and if the
|
|
256
232
|
* theme supports `inactive` appearances rules, these are applied.
|
|
257
233
|
*/
|
|
258
|
-
inactive:
|
|
259
|
-
|
|
234
|
+
inactive: PropTypes.bool,
|
|
260
235
|
/**
|
|
261
236
|
* On Web, this is passed to the `name` attribute of the fieldset and each checkbox input.
|
|
262
237
|
*/
|
|
263
|
-
name:
|
|
238
|
+
name: PropTypes.string
|
|
264
239
|
};
|
|
265
|
-
|
|
266
|
-
exports.default = _default;
|
|
240
|
+
export default CheckboxGroup;
|
|
@@ -1,45 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
|
|
12
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
-
|
|
14
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
-
|
|
16
|
-
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); }
|
|
17
|
-
|
|
18
|
-
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; }
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
19
3
|
|
|
20
4
|
/**
|
|
21
5
|
* On Web we need to include an actual input but hide it.
|
|
22
6
|
*/
|
|
23
|
-
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
const CheckboxInput = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
24
9
|
let {
|
|
25
10
|
checked,
|
|
26
11
|
defaultChecked,
|
|
27
|
-
disabled,
|
|
12
|
+
disabled = false,
|
|
28
13
|
id,
|
|
29
14
|
isControlled,
|
|
30
15
|
name,
|
|
31
|
-
onChange,
|
|
16
|
+
onChange = () => {},
|
|
32
17
|
value
|
|
33
18
|
} = _ref;
|
|
34
|
-
|
|
35
19
|
const handleClick = event => {
|
|
36
20
|
// Cancel the click dispatched via the label tag, since it's already wrapped
|
|
37
21
|
// in <Pressable>
|
|
38
22
|
event.preventDefault();
|
|
39
23
|
event.stopPropagation();
|
|
40
24
|
};
|
|
41
|
-
|
|
42
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)("input", {
|
|
25
|
+
return /*#__PURE__*/_jsx("input", {
|
|
43
26
|
checked: isControlled ? checked : undefined,
|
|
44
27
|
defaultChecked: isControlled ? undefined : defaultChecked,
|
|
45
28
|
disabled: disabled,
|
|
@@ -55,22 +38,13 @@ const CheckboxInput = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
55
38
|
});
|
|
56
39
|
CheckboxInput.displayName = 'CheckboxInput';
|
|
57
40
|
CheckboxInput.propTypes = {
|
|
58
|
-
checked:
|
|
59
|
-
defaultChecked:
|
|
60
|
-
disabled:
|
|
61
|
-
id:
|
|
62
|
-
isControlled:
|
|
63
|
-
name:
|
|
64
|
-
onChange:
|
|
65
|
-
value:
|
|
66
|
-
};
|
|
67
|
-
CheckboxInput.defaultProps = {
|
|
68
|
-
checked: undefined,
|
|
69
|
-
defaultChecked: undefined,
|
|
70
|
-
disabled: false,
|
|
71
|
-
name: undefined,
|
|
72
|
-
onChange: () => {},
|
|
73
|
-
value: undefined
|
|
41
|
+
checked: PropTypes.bool,
|
|
42
|
+
defaultChecked: PropTypes.bool,
|
|
43
|
+
disabled: PropTypes.bool,
|
|
44
|
+
id: PropTypes.string.isRequired,
|
|
45
|
+
isControlled: PropTypes.bool.isRequired,
|
|
46
|
+
name: PropTypes.string,
|
|
47
|
+
onChange: PropTypes.func,
|
|
48
|
+
value: PropTypes.string
|
|
74
49
|
};
|
|
75
|
-
|
|
76
|
-
exports.default = _default;
|
|
50
|
+
export default CheckboxInput;
|
|
@@ -1,14 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
1
|
/**
|
|
9
2
|
* There's no checkbox input on native platforms, so this is a noop.
|
|
10
3
|
*/
|
|
11
4
|
const CheckboxInput = () => null;
|
|
12
|
-
|
|
13
|
-
var _default = CheckboxInput;
|
|
14
|
-
exports.default = _default;
|
|
5
|
+
export default CheckboxInput;
|
package/lib/Checkbox/index.js
CHANGED
|
@@ -1,21 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "CheckboxGroup", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function () {
|
|
9
|
-
return _CheckboxGroup.default;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
exports.default = void 0;
|
|
13
|
-
|
|
14
|
-
var _Checkbox = _interopRequireDefault(require("./Checkbox"));
|
|
15
|
-
|
|
16
|
-
var _CheckboxGroup = _interopRequireDefault(require("./CheckboxGroup"));
|
|
17
|
-
|
|
18
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
-
|
|
20
|
-
var _default = _Checkbox.default;
|
|
21
|
-
exports.default = _default;
|
|
1
|
+
import Checkbox from './Checkbox';
|
|
2
|
+
export default Checkbox;
|
|
3
|
+
export { default as CheckboxGroup } from './CheckboxGroup';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import StyleSheet from "react-native-web/dist/exports/StyleSheet";
|
|
4
4
|
import Text from "react-native-web/dist/exports/Text";
|
|
@@ -7,47 +7,10 @@ import { applyTextStyles, useTheme, useThemeTokensCallback } from '../ThemeProvi
|
|
|
7
7
|
import { a11yProps, focusHandlerProps, getTokensPropType, selectSystemProps, selectTokens, useInputValue, useUniqueId, variantProp, viewProps } from '../utils';
|
|
8
8
|
import { PressableCardBase, selectPressableCardTokens } from '../Card';
|
|
9
9
|
import StackView from '../StackView';
|
|
10
|
-
import
|
|
11
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
import CheckboxButton, { selectCheckboxTokens } from '../Checkbox/CheckboxButton';
|
|
11
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
12
|
const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, focusHandlerProps, viewProps]);
|
|
14
|
-
|
|
15
|
-
* A Card that behaves like a radio button. Use when users select a single choice from mutually exclusive options
|
|
16
|
-
* with need to show additional information for each option. The whole card is interactive as one item.
|
|
17
|
-
*
|
|
18
|
-
* ## Component API
|
|
19
|
-
*
|
|
20
|
-
* Use `title` prop to provide a main description, and `children` for additional content. Avoid including
|
|
21
|
-
* interactive elements within the RadioCard content.
|
|
22
|
-
*
|
|
23
|
-
* For a disabled `RadioCard`, set the `inactive` prop to `true`.
|
|
24
|
-
*
|
|
25
|
-
* ### Controlled version
|
|
26
|
-
*
|
|
27
|
-
* If the radio card is controlled from outside, it needs to receive `checked` and `onChange` props.
|
|
28
|
-
*
|
|
29
|
-
* ### Uncontrolled version
|
|
30
|
-
*
|
|
31
|
-
* In case of uncontrolled radio card you can use `defaultChecked` prop to provide the initial value.
|
|
32
|
-
* Whenever the radio card gets toggled, it calls the `onChange` callback with the new value (boolean).
|
|
33
|
-
*
|
|
34
|
-
* ### Using within forms
|
|
35
|
-
*
|
|
36
|
-
* You can pass `name` and `value` props if you need a particular radio card to be a part of a radio group
|
|
37
|
-
* on a form.
|
|
38
|
-
*
|
|
39
|
-
* ### Validation
|
|
40
|
-
*
|
|
41
|
-
* You can mark a radio card as failing validation by setting the `error` prop to `true`.
|
|
42
|
-
*
|
|
43
|
-
* ## A11y guidelines
|
|
44
|
-
*
|
|
45
|
-
* Radio card accepts all the common accessibility props, but also sets some defaults, including
|
|
46
|
-
* accessibility role `'radio'` and accessibility state that depends on the other props (`checked`, `inactive`)
|
|
47
|
-
* or the internal state in case of uncontrolled radio button.
|
|
48
|
-
*/
|
|
49
|
-
|
|
50
|
-
const RadioCard = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
13
|
+
const CheckboxCard = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
51
14
|
let {
|
|
52
15
|
tokens,
|
|
53
16
|
variant,
|
|
@@ -59,6 +22,7 @@ const RadioCard = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
59
22
|
name: inputName,
|
|
60
23
|
value,
|
|
61
24
|
id,
|
|
25
|
+
iconId,
|
|
62
26
|
onChange,
|
|
63
27
|
...rest
|
|
64
28
|
} = _ref;
|
|
@@ -71,24 +35,22 @@ const RadioCard = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
71
35
|
initialValue: defaultChecked,
|
|
72
36
|
onChange
|
|
73
37
|
});
|
|
74
|
-
|
|
75
38
|
const handleChange = event => {
|
|
76
|
-
if (!inactive
|
|
77
|
-
setIsChecked(
|
|
39
|
+
if (!inactive) {
|
|
40
|
+
setIsChecked(!isChecked, event);
|
|
78
41
|
}
|
|
79
42
|
};
|
|
80
|
-
|
|
81
|
-
const
|
|
82
|
-
const
|
|
83
|
-
const
|
|
84
|
-
|
|
43
|
+
const uniqueId = useUniqueId('CheckboxCard');
|
|
44
|
+
const inputId = id ?? uniqueId;
|
|
45
|
+
const uniqueIconId = useUniqueId('CheckboxIcon');
|
|
46
|
+
const iconCheckboxId = iconId ?? uniqueIconId;
|
|
47
|
+
const getTokens = useThemeTokensCallback('CheckboxCard', tokens, variant);
|
|
85
48
|
const getCardTokens = cardState => selectPressableCardTokens(getTokens(cardState));
|
|
86
|
-
|
|
87
49
|
const {
|
|
88
50
|
themeOptions
|
|
89
51
|
} = useTheme();
|
|
90
52
|
const selectedProps = selectProps({
|
|
91
|
-
accessibilityRole: '
|
|
53
|
+
accessibilityRole: 'checkbox',
|
|
92
54
|
accessibilityState: {
|
|
93
55
|
checked: isChecked,
|
|
94
56
|
disabled: inactive
|
|
@@ -104,29 +66,31 @@ const RadioCard = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
104
66
|
...selectedProps,
|
|
105
67
|
children: cardState => {
|
|
106
68
|
const {
|
|
107
|
-
|
|
69
|
+
checkboxSpace,
|
|
108
70
|
contentSpace,
|
|
109
71
|
...themeTokens
|
|
110
72
|
} = getTokens(cardState);
|
|
111
|
-
const
|
|
73
|
+
const checkboxTokens = selectCheckboxTokens(themeTokens, 'checkbox');
|
|
112
74
|
const titleTokens = selectTokens('Typography', themeTokens);
|
|
113
|
-
const textStyle = applyTextStyles({
|
|
75
|
+
const textStyle = applyTextStyles({
|
|
76
|
+
...titleTokens,
|
|
114
77
|
themeOptions
|
|
115
78
|
});
|
|
116
79
|
return /*#__PURE__*/_jsxs(StackView, {
|
|
117
80
|
direction: "row",
|
|
118
|
-
space:
|
|
81
|
+
space: checkboxSpace,
|
|
119
82
|
children: [/*#__PURE__*/_jsx(View, {
|
|
120
83
|
style: [staticStyles.alignWithText, {
|
|
121
84
|
height: textStyle.lineHeight
|
|
122
85
|
}],
|
|
123
|
-
children: /*#__PURE__*/_jsx(
|
|
124
|
-
tokens:
|
|
86
|
+
children: /*#__PURE__*/_jsx(CheckboxButton, {
|
|
87
|
+
tokens: checkboxTokens,
|
|
125
88
|
isControlled: isControlled,
|
|
126
89
|
isChecked: isChecked,
|
|
127
90
|
inactive: inactive,
|
|
128
91
|
defaultChecked: defaultChecked,
|
|
129
92
|
inputId: inputId,
|
|
93
|
+
iconId: iconCheckboxId,
|
|
130
94
|
handleChange: handleChange,
|
|
131
95
|
name: inputName,
|
|
132
96
|
value: value
|
|
@@ -137,91 +101,82 @@ const RadioCard = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
137
101
|
tokens: {
|
|
138
102
|
flexShrink: 1
|
|
139
103
|
},
|
|
140
|
-
children: [title
|
|
104
|
+
children: [title ? /*#__PURE__*/_jsx(Text, {
|
|
141
105
|
style: textStyle,
|
|
142
106
|
children: title
|
|
143
|
-
}), typeof children === 'function' ? children(cardState, textStyle) : children]
|
|
107
|
+
}) : null, typeof children === 'function' ? children(cardState, textStyle) : children]
|
|
144
108
|
})]
|
|
145
109
|
});
|
|
146
110
|
}
|
|
147
111
|
});
|
|
148
112
|
});
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
113
|
+
CheckboxCard.displayName = 'CheckboxCard';
|
|
114
|
+
CheckboxCard.propTypes = {
|
|
115
|
+
...selectedSystemPropTypes,
|
|
152
116
|
/**
|
|
153
|
-
* Content to be displayed at the top of the card alongside the
|
|
117
|
+
* Content to be displayed at the top of the card alongside the checkbox
|
|
154
118
|
*/
|
|
155
119
|
title: PropTypes.string,
|
|
156
|
-
|
|
157
120
|
/**
|
|
158
|
-
* Additional content to be displayed below the
|
|
121
|
+
* Additional content to be displayed below the checkbox.
|
|
159
122
|
*/
|
|
160
123
|
children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
|
|
161
|
-
|
|
162
124
|
/**
|
|
163
|
-
* Use `checked` for controlled
|
|
125
|
+
* Use `checked` for controlled checkbox. For uncontrolled checkbox, use the `defaultChecked` prop.
|
|
164
126
|
*/
|
|
165
127
|
checked: PropTypes.bool,
|
|
166
|
-
|
|
167
128
|
/**
|
|
168
|
-
* Use `defaultChecked` to provide the initial value for an uncontrolled
|
|
129
|
+
* Use `defaultChecked` to provide the initial value for an uncontrolled checkbox.
|
|
169
130
|
*/
|
|
170
131
|
defaultChecked: PropTypes.bool,
|
|
171
|
-
|
|
172
132
|
/**
|
|
173
|
-
* An optional
|
|
133
|
+
* An optional checkboxdescription.
|
|
174
134
|
*/
|
|
175
135
|
description: PropTypes.string,
|
|
176
|
-
|
|
177
136
|
/**
|
|
178
|
-
*
|
|
137
|
+
* Checkbox card ID.
|
|
179
138
|
*/
|
|
180
139
|
id: PropTypes.string,
|
|
181
|
-
|
|
140
|
+
/**
|
|
141
|
+
* Checkbox icon ID.
|
|
142
|
+
*/
|
|
143
|
+
iconId: PropTypes.string,
|
|
182
144
|
/**
|
|
183
145
|
* Whether the corresponding input is disabled or active.
|
|
184
146
|
*/
|
|
185
147
|
inactive: PropTypes.bool,
|
|
186
|
-
|
|
187
148
|
/**
|
|
188
149
|
* The label.
|
|
189
150
|
*/
|
|
190
151
|
label: PropTypes.string,
|
|
191
|
-
|
|
192
152
|
/**
|
|
193
|
-
* Associate this
|
|
153
|
+
* Associate this checkbox card with a group (set as the name attribute).
|
|
194
154
|
*/
|
|
195
155
|
name: PropTypes.string,
|
|
196
|
-
|
|
197
156
|
/**
|
|
198
157
|
* Whether the underlying input triggered a validation error or not.
|
|
199
158
|
*/
|
|
200
159
|
error: PropTypes.bool,
|
|
201
|
-
|
|
202
160
|
/**
|
|
203
161
|
* The value. Must be unique within the group.
|
|
204
162
|
*/
|
|
205
163
|
value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.bool]),
|
|
206
|
-
|
|
207
164
|
/**
|
|
208
|
-
* Callback called when a controlled
|
|
165
|
+
* Callback called when a controlled checkbox card gets interacted with.
|
|
209
166
|
*/
|
|
210
167
|
onChange: PropTypes.func,
|
|
211
|
-
|
|
212
168
|
/**
|
|
213
|
-
*
|
|
169
|
+
* checkbox card tokens.
|
|
214
170
|
*/
|
|
215
|
-
tokens: getTokensPropType('
|
|
216
|
-
|
|
171
|
+
tokens: getTokensPropType('CheckboxCard'),
|
|
217
172
|
/**
|
|
218
|
-
*
|
|
173
|
+
* checkbox variant.
|
|
219
174
|
*/
|
|
220
175
|
variant: variantProp.propType
|
|
221
176
|
};
|
|
177
|
+
export default CheckboxCard;
|
|
222
178
|
const staticStyles = StyleSheet.create({
|
|
223
179
|
alignWithText: {
|
|
224
180
|
justifyContent: 'center'
|
|
225
181
|
}
|
|
226
|
-
});
|
|
227
|
-
export default RadioCard;
|
|
182
|
+
});
|