@telus-uds/components-base 1.97.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 +11 -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 +137 -145
- package/lib/Carousel/CarouselContext.js +19 -27
- package/lib/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +15 -22
- package/lib/Carousel/CarouselItem/CarouselItem.js +29 -37
- 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 +36 -44
- 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 +31 -39
- 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 +25 -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 +48 -56
- 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 +42 -52
- package/lib/Pagination/SideButton.js +25 -32
- package/lib/Pagination/constants.js +3 -12
- package/lib/Pagination/dictionary.js +2 -9
- package/lib/Pagination/index.js +2 -10
- package/lib/Pagination/usePagination.js +5 -13
- 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 +52 -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 +14 -22
- 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/Icon/IconText.jsx +0 -1
- package/src/TextInput/TextInputBase.jsx +1 -1
- package/src/Timeline/Timeline.jsx +6 -2
- package/src/index.js +9 -10
- package/src/utils/a11y/semantics.js +0 -7
- 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 -146
- 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 -145
- 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 -165
- 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 -106
- 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 -180
- 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 -218
- package/lib-module/Pagination/SideButton.js +0 -113
- package/lib-module/Pagination/constants.js +0 -3
- package/lib-module/Pagination/dictionary.js +0 -18
- package/lib-module/Pagination/index.js +0 -2
- package/lib-module/Pagination/usePagination.js +0 -79
- 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 -356
- 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 -41
- 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
|
@@ -1,24 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
var _ThemeProvider = require("../ThemeProvider");
|
|
16
|
-
var _dictionary = _interopRequireDefault(require("./dictionary"));
|
|
17
|
-
var _Card = _interopRequireDefault(require("../Card"));
|
|
18
|
-
var _IconButton = _interopRequireDefault(require("../IconButton"));
|
|
19
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
-
const staticStyles = _StyleSheet.default.create({
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import View from "react-native-web/dist/exports/View";
|
|
4
|
+
import StyleSheet from "react-native-web/dist/exports/StyleSheet";
|
|
5
|
+
import Platform from "react-native-web/dist/exports/Platform";
|
|
6
|
+
import { Portal } from '@gorhom/portal';
|
|
7
|
+
import { useCopy, copyPropTypes, getTokensPropType, variantProp } from '../utils';
|
|
8
|
+
import { useViewport } from '../ViewportProvider';
|
|
9
|
+
import { useThemeTokens } from '../ThemeProvider';
|
|
10
|
+
import dictionary from './dictionary';
|
|
11
|
+
import Card from '../Card';
|
|
12
|
+
import IconButton from '../IconButton';
|
|
13
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
+
const staticStyles = StyleSheet.create({
|
|
22
15
|
positioner: {
|
|
23
16
|
flex: 1,
|
|
24
17
|
// Grow to maxWidth when possible, shrink when not possible
|
|
@@ -27,7 +20,7 @@ const staticStyles = _StyleSheet.default.create({
|
|
|
27
20
|
elevation: 10000,
|
|
28
21
|
// Position on top of all the other overlays, including backdrops and modals,
|
|
29
22
|
borderRadius: 4,
|
|
30
|
-
...
|
|
23
|
+
...Platform.select({
|
|
31
24
|
web: {
|
|
32
25
|
boxShadow: 'rgba(0, 0, 0, 0.1) 0px 4px 8px 0px'
|
|
33
26
|
},
|
|
@@ -62,7 +55,7 @@ const staticStyles = _StyleSheet.default.create({
|
|
|
62
55
|
});
|
|
63
56
|
const selectContainerStyle = (enableFullscreen, themeTokens) => ({
|
|
64
57
|
borderColor: themeTokens.borderColor,
|
|
65
|
-
...
|
|
58
|
+
...Platform.select({
|
|
66
59
|
web: {
|
|
67
60
|
position: enableFullscreen ? 'fixed' : 'absolute'
|
|
68
61
|
},
|
|
@@ -81,7 +74,7 @@ const selectCloseButtonContainerStyles = _ref => {
|
|
|
81
74
|
paddingTop
|
|
82
75
|
};
|
|
83
76
|
};
|
|
84
|
-
const ModalOverlay = /*#__PURE__*/
|
|
77
|
+
const ModalOverlay = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
|
|
85
78
|
let {
|
|
86
79
|
children,
|
|
87
80
|
isReady = false,
|
|
@@ -98,8 +91,8 @@ const ModalOverlay = /*#__PURE__*/_react.default.forwardRef((_ref2, ref) => {
|
|
|
98
91
|
onClose,
|
|
99
92
|
enableFullscreen = false
|
|
100
93
|
} = _ref2;
|
|
101
|
-
const viewport =
|
|
102
|
-
const themeTokens =
|
|
94
|
+
const viewport = useViewport();
|
|
95
|
+
const themeTokens = useThemeTokens('Modal', tokens, variant, {
|
|
103
96
|
viewport,
|
|
104
97
|
maxWidth: false
|
|
105
98
|
});
|
|
@@ -112,21 +105,21 @@ const ModalOverlay = /*#__PURE__*/_react.default.forwardRef((_ref2, ref) => {
|
|
|
112
105
|
const {
|
|
113
106
|
closeIcon: CloseIconComponent
|
|
114
107
|
} = themeTokens;
|
|
115
|
-
const getCopy =
|
|
116
|
-
dictionary
|
|
108
|
+
const getCopy = useCopy({
|
|
109
|
+
dictionary,
|
|
117
110
|
copy
|
|
118
111
|
});
|
|
119
112
|
const closeLabel = getCopy('closeButton');
|
|
120
|
-
return /*#__PURE__*/(
|
|
121
|
-
children: /*#__PURE__*/(
|
|
113
|
+
return /*#__PURE__*/_jsx(Portal, {
|
|
114
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
122
115
|
ref: ref,
|
|
123
116
|
onLayout: onLayout,
|
|
124
117
|
style: [overlaidPosition, containerWidthHeight, staticStyles.positioner, !isReady && staticStyles.hidden, selectContainerStyle(enableFullscreen, themeTokens)],
|
|
125
|
-
children: /*#__PURE__*/(
|
|
118
|
+
children: /*#__PURE__*/_jsxs(Card, {
|
|
126
119
|
tokens: staticStyles.card,
|
|
127
|
-
children: [/*#__PURE__*/(
|
|
120
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
128
121
|
style: [staticStyles.closeButtonContainer, selectCloseButtonContainerStyles(themeTokens)],
|
|
129
|
-
children: /*#__PURE__*/(
|
|
122
|
+
children: /*#__PURE__*/_jsx(IconButton, {
|
|
130
123
|
onPress: onClose,
|
|
131
124
|
icon: CloseIconComponent,
|
|
132
125
|
accessibilityRole: "button",
|
|
@@ -139,25 +132,24 @@ const ModalOverlay = /*#__PURE__*/_react.default.forwardRef((_ref2, ref) => {
|
|
|
139
132
|
});
|
|
140
133
|
ModalOverlay.displayName = 'ModalOverlay';
|
|
141
134
|
ModalOverlay.propTypes = {
|
|
142
|
-
children:
|
|
143
|
-
isReady:
|
|
144
|
-
overlaidPosition:
|
|
145
|
-
top:
|
|
146
|
-
left:
|
|
147
|
-
width:
|
|
135
|
+
children: PropTypes.node.isRequired,
|
|
136
|
+
isReady: PropTypes.bool,
|
|
137
|
+
overlaidPosition: PropTypes.shape({
|
|
138
|
+
top: PropTypes.number,
|
|
139
|
+
left: PropTypes.number,
|
|
140
|
+
width: PropTypes.number
|
|
148
141
|
}),
|
|
149
|
-
minWidth:
|
|
150
|
-
minHeight:
|
|
151
|
-
maxHeightSize:
|
|
152
|
-
maxWidthSize:
|
|
153
|
-
maxHeight:
|
|
154
|
-
maxWidth:
|
|
155
|
-
onLayout:
|
|
156
|
-
variant:
|
|
157
|
-
tokens:
|
|
158
|
-
copy:
|
|
159
|
-
onClose:
|
|
160
|
-
enableFullscreen:
|
|
142
|
+
minWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
|
|
143
|
+
minHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
|
|
144
|
+
maxHeightSize: PropTypes.number,
|
|
145
|
+
maxWidthSize: PropTypes.number,
|
|
146
|
+
maxHeight: PropTypes.bool,
|
|
147
|
+
maxWidth: PropTypes.bool,
|
|
148
|
+
onLayout: PropTypes.func,
|
|
149
|
+
variant: variantProp.propType,
|
|
150
|
+
tokens: getTokensPropType('Modal'),
|
|
151
|
+
copy: copyPropTypes,
|
|
152
|
+
onClose: PropTypes.func,
|
|
153
|
+
enableFullscreen: PropTypes.bool
|
|
161
154
|
};
|
|
162
|
-
|
|
163
|
-
exports.default = _default;
|
|
155
|
+
export default ModalOverlay;
|
|
@@ -1,37 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
var _Spacer = _interopRequireDefault(require("../Spacer"));
|
|
25
|
-
var _StackView = _interopRequireDefault(require("../StackView"));
|
|
26
|
-
var _Typography = _interopRequireDefault(require("../Typography"));
|
|
27
|
-
var _Link = require("../Link");
|
|
28
|
-
var _ModalOverlay = _interopRequireDefault(require("./ModalOverlay"));
|
|
29
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
30
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import View from "react-native-web/dist/exports/View";
|
|
4
|
+
import StyleSheet from "react-native-web/dist/exports/StyleSheet";
|
|
5
|
+
import Dimensions from "react-native-web/dist/exports/Dimensions";
|
|
6
|
+
import SafeAreaView from "react-native-web/dist/exports/SafeAreaView";
|
|
7
|
+
import Platform from "react-native-web/dist/exports/Platform";
|
|
8
|
+
import ScrollView from "react-native-web/dist/exports/ScrollView";
|
|
9
|
+
import { useThemeTokens, useThemeTokensCallback, applyTextStyles } from '../ThemeProvider';
|
|
10
|
+
import { containUniqueFields, getTokensPropType, getPressHandlersWithArgs, selectTokens, useOverlaidPosition, useCopy, useMultipleInputValues, useResponsiveProp, variantProp, useScrollBlocking } from '../utils';
|
|
11
|
+
import defaultDictionary from './dictionary';
|
|
12
|
+
import { useViewport } from '../ViewportProvider';
|
|
13
|
+
import Box from '../Box';
|
|
14
|
+
import { Button, ButtonDropdown } from '../Button';
|
|
15
|
+
import { CheckboxGroup } from '../Checkbox';
|
|
16
|
+
import Divider from '../Divider';
|
|
17
|
+
import FlexGrid from '../FlexGrid';
|
|
18
|
+
import Spacer from '../Spacer';
|
|
19
|
+
import StackView from '../StackView';
|
|
20
|
+
import Typography from '../Typography';
|
|
21
|
+
import { TextButton } from '../Link';
|
|
22
|
+
import ModalOverlay from './ModalOverlay';
|
|
23
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
31
24
|
const {
|
|
32
25
|
Col,
|
|
33
26
|
Row
|
|
34
|
-
} =
|
|
27
|
+
} = FlexGrid;
|
|
35
28
|
const selectSubTitleTokens = _ref => {
|
|
36
29
|
let {
|
|
37
30
|
subtitleColor
|
|
@@ -87,7 +80,7 @@ const selectContainerStyle = (windowHeight, windowWidth) => ({
|
|
|
87
80
|
});
|
|
88
81
|
const TOTAL_COLUMNS = 12;
|
|
89
82
|
const MAX_ITEMS_THRESHOLD = 12;
|
|
90
|
-
const MultiSelectFilter = /*#__PURE__*/
|
|
83
|
+
const MultiSelectFilter = /*#__PURE__*/React.forwardRef((_ref5, ref) => {
|
|
91
84
|
let {
|
|
92
85
|
label,
|
|
93
86
|
subtitle,
|
|
@@ -107,27 +100,27 @@ const MultiSelectFilter = /*#__PURE__*/_react.default.forwardRef((_ref5, ref) =>
|
|
|
107
100
|
readOnly = false,
|
|
108
101
|
inactive = false,
|
|
109
102
|
rowLimit = 12,
|
|
110
|
-
dictionary =
|
|
103
|
+
dictionary = defaultDictionary,
|
|
111
104
|
...rest
|
|
112
105
|
} = _ref5;
|
|
113
|
-
const viewport =
|
|
106
|
+
const viewport = useViewport();
|
|
114
107
|
const {
|
|
115
108
|
currentValues,
|
|
116
109
|
setValues
|
|
117
|
-
} =
|
|
110
|
+
} = useMultipleInputValues({
|
|
118
111
|
initialValues,
|
|
119
112
|
values,
|
|
120
113
|
maxValues,
|
|
121
114
|
onChange,
|
|
122
115
|
readOnly
|
|
123
116
|
});
|
|
124
|
-
const [isOpen, setIsOpen] =
|
|
125
|
-
const [checkedIds, setCheckedIds] =
|
|
126
|
-
const [maxWidth, setMaxWidth] =
|
|
127
|
-
const themeTokens =
|
|
128
|
-
const getItemTokens =
|
|
129
|
-
const getButtonTokens = buttonState =>
|
|
130
|
-
const getCopy =
|
|
117
|
+
const [isOpen, setIsOpen] = React.useState(false);
|
|
118
|
+
const [checkedIds, setCheckedIds] = React.useState(currentValues ?? []);
|
|
119
|
+
const [maxWidth, setMaxWidth] = React.useState(false);
|
|
120
|
+
const themeTokens = useThemeTokens('ButtonDropdown', tokens, variant);
|
|
121
|
+
const getItemTokens = useThemeTokensCallback('ButtonDropdown', tokens, variant);
|
|
122
|
+
const getButtonTokens = buttonState => selectTokens('Button', getItemTokens(buttonState));
|
|
123
|
+
const getCopy = useCopy({
|
|
131
124
|
dictionary,
|
|
132
125
|
copy
|
|
133
126
|
});
|
|
@@ -136,11 +129,11 @@ const MultiSelectFilter = /*#__PURE__*/_react.default.forwardRef((_ref5, ref) =>
|
|
|
136
129
|
const itemsLengthNotMobile = items.length > 24 ? items.length / 2 : rowLimit;
|
|
137
130
|
const isSelected = currentValues.length > 0;
|
|
138
131
|
const rowLength = viewport !== 'xs' ? itemsLengthNotMobile : items.length;
|
|
139
|
-
|
|
132
|
+
React.useEffect(() => {
|
|
140
133
|
if (colSize === 1) return setMaxWidth(false);
|
|
141
134
|
return colSize === 2 && setMaxWidth(true);
|
|
142
135
|
}, [colSize]);
|
|
143
|
-
|
|
136
|
+
React.useEffect(() => setCheckedIds(currentValues ?? []), [currentValues]);
|
|
144
137
|
const {
|
|
145
138
|
headerFontColor,
|
|
146
139
|
headerFontSize,
|
|
@@ -155,7 +148,7 @@ const MultiSelectFilter = /*#__PURE__*/_react.default.forwardRef((_ref5, ref) =>
|
|
|
155
148
|
minHeight,
|
|
156
149
|
minWidth,
|
|
157
150
|
...restTokens
|
|
158
|
-
} =
|
|
151
|
+
} = useThemeTokens('MultiSelectFilter', tokens, {
|
|
159
152
|
...variant,
|
|
160
153
|
maxHeight,
|
|
161
154
|
maxWidth
|
|
@@ -163,17 +156,17 @@ const MultiSelectFilter = /*#__PURE__*/_react.default.forwardRef((_ref5, ref) =>
|
|
|
163
156
|
viewport
|
|
164
157
|
});
|
|
165
158
|
const uniqueFields = ['id', 'label'];
|
|
166
|
-
if (!
|
|
159
|
+
if (!containUniqueFields(items, uniqueFields)) {
|
|
167
160
|
throw new Error(`MultiSelectFilter items must have unique ${uniqueFields.join(', ')}`);
|
|
168
161
|
}
|
|
169
162
|
// Pass an object of relevant component state as first argument for any passed-in press handlers
|
|
170
|
-
const pressHandlers =
|
|
163
|
+
const pressHandlers = getPressHandlersWithArgs(rest, [{
|
|
171
164
|
id,
|
|
172
165
|
label,
|
|
173
166
|
currentValues
|
|
174
167
|
}]);
|
|
175
168
|
const handleChange = event => {
|
|
176
|
-
if (pressHandlers.onPress) pressHandlers === null || pressHandlers === void 0
|
|
169
|
+
if (pressHandlers.onPress) pressHandlers === null || pressHandlers === void 0 || pressHandlers.onPress(event);
|
|
177
170
|
if (isOpen) onOpen();
|
|
178
171
|
setIsOpen(!isOpen);
|
|
179
172
|
};
|
|
@@ -195,7 +188,7 @@ const MultiSelectFilter = /*#__PURE__*/_react.default.forwardRef((_ref5, ref) =>
|
|
|
195
188
|
const {
|
|
196
189
|
align,
|
|
197
190
|
offsets
|
|
198
|
-
} =
|
|
191
|
+
} = useResponsiveProp({
|
|
199
192
|
xs: {
|
|
200
193
|
align: {
|
|
201
194
|
top: 'top',
|
|
@@ -212,12 +205,12 @@ const MultiSelectFilter = /*#__PURE__*/_react.default.forwardRef((_ref5, ref) =>
|
|
|
212
205
|
}
|
|
213
206
|
}
|
|
214
207
|
});
|
|
215
|
-
const headerStyles =
|
|
208
|
+
const headerStyles = applyTextStyles({
|
|
216
209
|
fontSize: headerFontSize,
|
|
217
210
|
fontWeight: headerFontWeight,
|
|
218
211
|
fontColor: headerFontColor
|
|
219
212
|
});
|
|
220
|
-
const subeHeaderStyles =
|
|
213
|
+
const subeHeaderStyles = applyTextStyles({
|
|
221
214
|
fontSize: subHeaderFontSize,
|
|
222
215
|
fontWeight: subHeaderFontWeight,
|
|
223
216
|
fontColor: selectSubTitleTokens(themeTokens)
|
|
@@ -227,18 +220,18 @@ const MultiSelectFilter = /*#__PURE__*/_react.default.forwardRef((_ref5, ref) =>
|
|
|
227
220
|
onTargetLayout,
|
|
228
221
|
isReady,
|
|
229
222
|
sourceRef
|
|
230
|
-
} =
|
|
223
|
+
} = useOverlaidPosition({
|
|
231
224
|
isShown: isOpen,
|
|
232
225
|
offsets,
|
|
233
226
|
align
|
|
234
227
|
});
|
|
235
|
-
const [isScrolling, setIsScrolling] =
|
|
236
|
-
const [scrollViewHeight, setScrollViewHeight] =
|
|
237
|
-
const [rowHeight, setRowHeight] =
|
|
238
|
-
const modalRef =
|
|
239
|
-
const windowWidth =
|
|
240
|
-
const windowHeight =
|
|
241
|
-
|
|
228
|
+
const [isScrolling, setIsScrolling] = React.useState(false);
|
|
229
|
+
const [scrollViewHeight, setScrollViewHeight] = React.useState(0);
|
|
230
|
+
const [rowHeight, setRowHeight] = React.useState(0);
|
|
231
|
+
const modalRef = useScrollBlocking(isOpen);
|
|
232
|
+
const windowWidth = Dimensions.get('window').width;
|
|
233
|
+
const windowHeight = Dimensions.get('window').height;
|
|
234
|
+
React.useEffect(() => {
|
|
242
235
|
if (rowHeight > scrollViewHeight) {
|
|
243
236
|
setIsScrolling(true);
|
|
244
237
|
} else {
|
|
@@ -257,11 +250,11 @@ const MultiSelectFilter = /*#__PURE__*/_react.default.forwardRef((_ref5, ref) =>
|
|
|
257
250
|
} = event.nativeEvent.layout;
|
|
258
251
|
setRowHeight(height);
|
|
259
252
|
};
|
|
260
|
-
const headerContent = /*#__PURE__*/(
|
|
253
|
+
const headerContent = /*#__PURE__*/_jsxs(View, {
|
|
261
254
|
style: [selectHeaderTokens(restTokens), styles.container],
|
|
262
|
-
children: [/*#__PURE__*/(
|
|
263
|
-
children: /*#__PURE__*/(
|
|
264
|
-
children: /*#__PURE__*/(
|
|
255
|
+
children: [/*#__PURE__*/_jsx(Row, {
|
|
256
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
257
|
+
children: /*#__PURE__*/_jsx(Typography, {
|
|
265
258
|
tokens: {
|
|
266
259
|
...headerStyles,
|
|
267
260
|
lineHeight: headerLineHeight
|
|
@@ -269,34 +262,34 @@ const MultiSelectFilter = /*#__PURE__*/_react.default.forwardRef((_ref5, ref) =>
|
|
|
269
262
|
children: getCopy('filterByLabel').replace(/%\{filterCategory\}/g, label.toLowerCase())
|
|
270
263
|
})
|
|
271
264
|
})
|
|
272
|
-
}), subtitle && /*#__PURE__*/(
|
|
273
|
-
children: [/*#__PURE__*/(
|
|
265
|
+
}), subtitle && /*#__PURE__*/_jsxs(_Fragment, {
|
|
266
|
+
children: [/*#__PURE__*/_jsx(Spacer, {
|
|
274
267
|
space: 4
|
|
275
|
-
}), /*#__PURE__*/(
|
|
276
|
-
children: /*#__PURE__*/(
|
|
268
|
+
}), /*#__PURE__*/_jsx(Row, {
|
|
269
|
+
children: /*#__PURE__*/_jsx(Typography, {
|
|
277
270
|
tokens: {
|
|
278
271
|
...subeHeaderStyles,
|
|
279
272
|
lineHeight: subHeaderLineHeight
|
|
280
273
|
},
|
|
281
274
|
children: subtitle
|
|
282
275
|
})
|
|
283
|
-
}), /*#__PURE__*/(
|
|
276
|
+
}), /*#__PURE__*/_jsx(Spacer, {
|
|
284
277
|
space: 4
|
|
285
278
|
})]
|
|
286
|
-
}), /*#__PURE__*/(
|
|
279
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
287
280
|
style: styles.options,
|
|
288
|
-
children: /*#__PURE__*/(
|
|
281
|
+
children: /*#__PURE__*/_jsx(ScrollView, {
|
|
289
282
|
onLayout: handleScrollViewLayout,
|
|
290
|
-
children: /*#__PURE__*/(
|
|
283
|
+
children: /*#__PURE__*/_jsx(Row, {
|
|
291
284
|
distribute: "between",
|
|
292
285
|
onLayout: handleRowLayout,
|
|
293
|
-
children: [...Array(colSize).keys()].map(i => /*#__PURE__*/(
|
|
286
|
+
children: [...Array(colSize).keys()].map(i => /*#__PURE__*/_jsxs(Col, {
|
|
294
287
|
xs: TOTAL_COLUMNS / colSize,
|
|
295
|
-
children: [/*#__PURE__*/(
|
|
288
|
+
children: [/*#__PURE__*/_jsx(CheckboxGroup, {
|
|
296
289
|
items: items.slice(i * rowLength, (i + 1) * rowLength),
|
|
297
290
|
checkedIds: checkedIds,
|
|
298
291
|
onChange: e => setCheckedIds(e, i)
|
|
299
|
-
}), /*#__PURE__*/(
|
|
292
|
+
}), /*#__PURE__*/_jsx(Spacer, {
|
|
300
293
|
size: 4
|
|
301
294
|
})]
|
|
302
295
|
}, i))
|
|
@@ -304,17 +297,17 @@ const MultiSelectFilter = /*#__PURE__*/_react.default.forwardRef((_ref5, ref) =>
|
|
|
304
297
|
})
|
|
305
298
|
})]
|
|
306
299
|
});
|
|
307
|
-
const controlsContent = /*#__PURE__*/(
|
|
308
|
-
children: [isScrolling ? /*#__PURE__*/(
|
|
300
|
+
const controlsContent = /*#__PURE__*/_jsxs(_Fragment, {
|
|
301
|
+
children: [isScrolling ? /*#__PURE__*/_jsx(Divider, {
|
|
309
302
|
tokens: selectDividerTokens(themeTokens),
|
|
310
303
|
space: 4
|
|
311
|
-
}) : /*#__PURE__*/(
|
|
304
|
+
}) : /*#__PURE__*/_jsx(Spacer, {
|
|
312
305
|
space: 4
|
|
313
|
-
}), /*#__PURE__*/(
|
|
306
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
314
307
|
style: selectControlsTokens(restTokens),
|
|
315
|
-
children: /*#__PURE__*/(
|
|
308
|
+
children: /*#__PURE__*/_jsx(Row, {
|
|
316
309
|
horizontalAlign: buttonDirection === 'column' ? 'center' : 'start',
|
|
317
|
-
children: /*#__PURE__*/(
|
|
310
|
+
children: /*#__PURE__*/_jsxs(StackView, {
|
|
318
311
|
direction: buttonDirection,
|
|
319
312
|
space: 3,
|
|
320
313
|
tokens: {
|
|
@@ -323,7 +316,7 @@ const MultiSelectFilter = /*#__PURE__*/_react.default.forwardRef((_ref5, ref) =>
|
|
|
323
316
|
flexGrow: 1
|
|
324
317
|
})
|
|
325
318
|
},
|
|
326
|
-
children: [/*#__PURE__*/(
|
|
319
|
+
children: [/*#__PURE__*/_jsx(Button, {
|
|
327
320
|
onPress: () => onApply(checkedIds),
|
|
328
321
|
variant: {
|
|
329
322
|
priority: 'high',
|
|
@@ -332,8 +325,8 @@ const MultiSelectFilter = /*#__PURE__*/_react.default.forwardRef((_ref5, ref) =>
|
|
|
332
325
|
})
|
|
333
326
|
},
|
|
334
327
|
children: getCopy('applyButtonLabel')
|
|
335
|
-
}), /*#__PURE__*/(
|
|
336
|
-
children: /*#__PURE__*/(
|
|
328
|
+
}), /*#__PURE__*/_jsx(Box, {
|
|
329
|
+
children: /*#__PURE__*/_jsx(TextButton, {
|
|
337
330
|
onPress: onClear,
|
|
338
331
|
children: getCopy('clearButtonLabel')
|
|
339
332
|
})
|
|
@@ -342,8 +335,8 @@ const MultiSelectFilter = /*#__PURE__*/_react.default.forwardRef((_ref5, ref) =>
|
|
|
342
335
|
})
|
|
343
336
|
})]
|
|
344
337
|
});
|
|
345
|
-
return /*#__PURE__*/(
|
|
346
|
-
children: [/*#__PURE__*/(
|
|
338
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
339
|
+
children: [/*#__PURE__*/_jsx(ButtonDropdown, {
|
|
347
340
|
ref: sourceRef,
|
|
348
341
|
...pressHandlers,
|
|
349
342
|
value: isOpen,
|
|
@@ -352,7 +345,7 @@ const MultiSelectFilter = /*#__PURE__*/_react.default.forwardRef((_ref5, ref) =>
|
|
|
352
345
|
onChange: handleChange,
|
|
353
346
|
tokens: getButtonTokens,
|
|
354
347
|
inactive: inactive
|
|
355
|
-
}, id), isOpen && viewport === 'xs' && /*#__PURE__*/(
|
|
348
|
+
}, id), isOpen && viewport === 'xs' && /*#__PURE__*/_jsx(ModalOverlay, {
|
|
356
349
|
overlaidPosition: {
|
|
357
350
|
top: 0,
|
|
358
351
|
left: 0
|
|
@@ -372,15 +365,15 @@ const MultiSelectFilter = /*#__PURE__*/_react.default.forwardRef((_ref5, ref) =>
|
|
|
372
365
|
onLayout: onTargetLayout,
|
|
373
366
|
ref: modalRef,
|
|
374
367
|
enableFullscreen: true,
|
|
375
|
-
children: /*#__PURE__*/(
|
|
368
|
+
children: /*#__PURE__*/_jsxs(SafeAreaView, {
|
|
376
369
|
style: [selectContainerStyle(windowHeight, windowWidth), styles.content],
|
|
377
370
|
ref: ref,
|
|
378
|
-
children: [headerContent, /*#__PURE__*/(
|
|
371
|
+
children: [headerContent, /*#__PURE__*/_jsx(View, {
|
|
379
372
|
style: styles.controls,
|
|
380
373
|
children: controlsContent
|
|
381
374
|
})]
|
|
382
375
|
})
|
|
383
|
-
}), isOpen && viewport !== 'xs' && /*#__PURE__*/(
|
|
376
|
+
}), isOpen && viewport !== 'xs' && /*#__PURE__*/_jsxs(ModalOverlay, {
|
|
384
377
|
overlaidPosition: overlaidPosition,
|
|
385
378
|
onClose: onClose,
|
|
386
379
|
maxHeight: items.length > MAX_ITEMS_THRESHOLD ? true : maxHeight,
|
|
@@ -401,11 +394,11 @@ const MultiSelectFilter = /*#__PURE__*/_react.default.forwardRef((_ref5, ref) =>
|
|
|
401
394
|
});
|
|
402
395
|
});
|
|
403
396
|
MultiSelectFilter.displayName = 'MultiSelectFilter';
|
|
404
|
-
const styles =
|
|
397
|
+
const styles = StyleSheet.create({
|
|
405
398
|
container: {
|
|
406
399
|
flex: 1
|
|
407
400
|
},
|
|
408
|
-
controls:
|
|
401
|
+
controls: Platform.select({
|
|
409
402
|
web: {},
|
|
410
403
|
default: {
|
|
411
404
|
flex: 0.35
|
|
@@ -422,46 +415,46 @@ const styles = _StyleSheet.default.create({
|
|
|
422
415
|
});
|
|
423
416
|
|
|
424
417
|
// If a language dictionary entry is provided, it must contain every key
|
|
425
|
-
const dictionaryContentShape =
|
|
426
|
-
filterByLabel:
|
|
427
|
-
applyButtonLabel:
|
|
428
|
-
clearButtonLabel:
|
|
418
|
+
const dictionaryContentShape = PropTypes.shape({
|
|
419
|
+
filterByLabel: PropTypes.string.isRequired,
|
|
420
|
+
applyButtonLabel: PropTypes.string.isRequired,
|
|
421
|
+
clearButtonLabel: PropTypes.string.isRequired
|
|
429
422
|
});
|
|
430
423
|
MultiSelectFilter.propTypes = {
|
|
431
424
|
/**
|
|
432
425
|
* The text displayed to the user in a ButtonDropdown.
|
|
433
426
|
*/
|
|
434
|
-
label:
|
|
427
|
+
label: PropTypes.string.isRequired,
|
|
435
428
|
/**
|
|
436
429
|
* The text for the subtitle
|
|
437
430
|
*/
|
|
438
|
-
subtitle:
|
|
431
|
+
subtitle: PropTypes.string,
|
|
439
432
|
/**
|
|
440
433
|
* An optional unique string may be provided to identify the ButtonDropdown.
|
|
441
434
|
* If not provided, the label is used.
|
|
442
435
|
*/
|
|
443
|
-
id:
|
|
436
|
+
id: PropTypes.string,
|
|
444
437
|
/**
|
|
445
438
|
* Sets the variant for ButtonDropdown element.
|
|
446
439
|
*/
|
|
447
|
-
variant:
|
|
440
|
+
variant: variantProp.propType,
|
|
448
441
|
/**
|
|
449
442
|
* Sets the tokens for MultiSelectFilter element.
|
|
450
443
|
*/
|
|
451
|
-
tokens:
|
|
444
|
+
tokens: getTokensPropType('MultiSelectFilter'),
|
|
452
445
|
/**
|
|
453
446
|
* The options a user may select.
|
|
454
447
|
*/
|
|
455
|
-
items:
|
|
448
|
+
items: PropTypes.arrayOf(PropTypes.shape({
|
|
456
449
|
/**
|
|
457
450
|
* The text displayed to the user with a checkbox, describing this option.
|
|
458
451
|
*/
|
|
459
|
-
label:
|
|
452
|
+
label: PropTypes.string.isRequired,
|
|
460
453
|
/**
|
|
461
454
|
* An optional unique string may be provided to identify this option.
|
|
462
455
|
* If not provided, the label is used.
|
|
463
456
|
*/
|
|
464
|
-
id:
|
|
457
|
+
id: PropTypes.string
|
|
465
458
|
})),
|
|
466
459
|
/**
|
|
467
460
|
* If the selected item(s) in the checkbox group(s) are to be controlled externally by
|
|
@@ -469,64 +462,63 @@ MultiSelectFilter.propTypes = {
|
|
|
469
462
|
* Passing an array for "values" makes the MultiSelectFilter a "controlled" component that
|
|
470
463
|
* expects its state to be handled via `onChange` and so doesn't handle it itself.
|
|
471
464
|
*/
|
|
472
|
-
values:
|
|
465
|
+
values: PropTypes.arrayOf(PropTypes.string),
|
|
473
466
|
/**
|
|
474
467
|
* If `values` is not passed, making the MultiSelectFilter an "uncontrolled" component
|
|
475
468
|
* managing its own selected state, a default set of selections may be provided.
|
|
476
469
|
* Changing the `initialValues` does not change the user's selections.
|
|
477
470
|
*/
|
|
478
|
-
initialValues:
|
|
471
|
+
initialValues: PropTypes.arrayOf(PropTypes.string),
|
|
479
472
|
/**
|
|
480
473
|
* If provided, sets a maximum number of items a user may select at once.
|
|
481
474
|
*/
|
|
482
|
-
maxValues:
|
|
475
|
+
maxValues: PropTypes.number,
|
|
483
476
|
/**
|
|
484
477
|
* If provided sets maxHeight to be active
|
|
485
478
|
*/
|
|
486
|
-
maxHeight:
|
|
479
|
+
maxHeight: PropTypes.bool,
|
|
487
480
|
/**
|
|
488
481
|
* If provided, this function is called when the current selection is changed
|
|
489
482
|
* and is passed an array of the `id`s of all currently selected `items`.
|
|
490
483
|
*/
|
|
491
|
-
onChange:
|
|
484
|
+
onChange: PropTypes.func,
|
|
492
485
|
/**
|
|
493
486
|
* If provided, this function is called when the selection is confirmed.
|
|
494
487
|
*/
|
|
495
|
-
onConfirm:
|
|
488
|
+
onConfirm: PropTypes.func,
|
|
496
489
|
/**
|
|
497
490
|
* If provided, this function is called when the modal with options is opened.
|
|
498
491
|
* */
|
|
499
|
-
onOpen:
|
|
492
|
+
onOpen: PropTypes.func,
|
|
500
493
|
/**
|
|
501
494
|
* If provided, this function is called when `MultiSelectFilter` is closed.
|
|
502
495
|
* */
|
|
503
|
-
onCancel:
|
|
496
|
+
onCancel: PropTypes.func,
|
|
504
497
|
/**
|
|
505
498
|
* Select English or French copy for the accessible label.
|
|
506
499
|
*/
|
|
507
|
-
copy:
|
|
500
|
+
copy: PropTypes.oneOf(['en', 'fr']),
|
|
508
501
|
/**
|
|
509
502
|
* Custom dictionary containing the labels
|
|
510
503
|
*/
|
|
511
|
-
dictionary:
|
|
504
|
+
dictionary: PropTypes.shape({
|
|
512
505
|
en: dictionaryContentShape,
|
|
513
506
|
fr: dictionaryContentShape
|
|
514
507
|
}),
|
|
515
508
|
/**
|
|
516
509
|
* If true, the ButtonDropdown cannot be selected by the user and simply show their current state.
|
|
517
510
|
*/
|
|
518
|
-
readOnly:
|
|
511
|
+
readOnly: PropTypes.string,
|
|
519
512
|
/**
|
|
520
513
|
* If true, the MultiSelectFilter cannot be interacted with, ButtonDropdown is
|
|
521
514
|
* set as `disabled` and if the theme supports `inactive` appearances rules, these
|
|
522
515
|
* are applied.
|
|
523
516
|
*/
|
|
524
|
-
inactive:
|
|
517
|
+
inactive: PropTypes.string,
|
|
525
518
|
/**
|
|
526
519
|
* Sets the maximum number of items in one column. If number of items are more
|
|
527
520
|
* than the `rowLimit`, they will be rendered in 2 columns.
|
|
528
521
|
*/
|
|
529
|
-
rowLimit:
|
|
522
|
+
rowLimit: PropTypes.number
|
|
530
523
|
};
|
|
531
|
-
|
|
532
|
-
exports.default = _default;
|
|
524
|
+
export default MultiSelectFilter;
|