@transferwise/components 46.44.1 → 46.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/accordion/Accordion.js +40 -0
- package/build/accordion/Accordion.js.map +1 -0
- package/build/accordion/Accordion.mjs +38 -0
- package/build/accordion/Accordion.mjs.map +1 -0
- package/build/accordion/AccordionItem/AccordionItem.js +70 -0
- package/build/accordion/AccordionItem/AccordionItem.js.map +1 -0
- package/build/accordion/AccordionItem/AccordionItem.mjs +64 -0
- package/build/accordion/AccordionItem/AccordionItem.mjs.map +1 -0
- package/build/actionButton/ActionButton.js +31 -0
- package/build/actionButton/ActionButton.js.map +1 -0
- package/build/actionButton/ActionButton.mjs +25 -0
- package/build/actionButton/ActionButton.mjs.map +1 -0
- package/build/actionOption/ActionOption.js +61 -0
- package/build/actionOption/ActionOption.js.map +1 -0
- package/build/actionOption/ActionOption.mjs +55 -0
- package/build/actionOption/ActionOption.mjs.map +1 -0
- package/build/alert/Alert.js +159 -0
- package/build/alert/Alert.js.map +1 -0
- package/build/alert/Alert.mjs +151 -0
- package/build/alert/Alert.mjs.map +1 -0
- package/build/alert/inlineMarkdown/InlineMarkdown.js +18 -0
- package/build/alert/inlineMarkdown/InlineMarkdown.js.map +1 -0
- package/build/alert/inlineMarkdown/InlineMarkdown.mjs +16 -0
- package/build/alert/inlineMarkdown/InlineMarkdown.mjs.map +1 -0
- package/build/avatar/Avatar.js +54 -0
- package/build/avatar/Avatar.js.map +1 -0
- package/build/avatar/Avatar.mjs +48 -0
- package/build/avatar/Avatar.mjs.map +1 -0
- package/build/avatar/avatarTypes.js +11 -0
- package/build/avatar/avatarTypes.js.map +1 -0
- package/build/avatar/avatarTypes.mjs +11 -0
- package/build/avatar/avatarTypes.mjs.map +1 -0
- package/build/avatar/colors/colors.js +31 -0
- package/build/avatar/colors/colors.js.map +1 -0
- package/build/avatar/colors/colors.mjs +29 -0
- package/build/avatar/colors/colors.mjs.map +1 -0
- package/build/avatarWrapper/AvatarWrapper.js +120 -0
- package/build/avatarWrapper/AvatarWrapper.js.map +1 -0
- package/build/avatarWrapper/AvatarWrapper.mjs +118 -0
- package/build/avatarWrapper/AvatarWrapper.mjs.map +1 -0
- package/build/avatarWrapper/index.js +8 -0
- package/build/avatarWrapper/index.js.map +1 -0
- package/build/avatarWrapper/index.mjs +6 -0
- package/build/avatarWrapper/index.mjs.map +1 -0
- package/build/badge/Badge.js +36 -0
- package/build/badge/Badge.js.map +1 -0
- package/build/badge/Badge.mjs +30 -0
- package/build/badge/Badge.mjs.map +1 -0
- package/build/body/Body.js +31 -0
- package/build/body/Body.js.map +1 -0
- package/build/body/Body.mjs +25 -0
- package/build/body/Body.mjs.map +1 -0
- package/build/button/Button.js +86 -0
- package/build/button/Button.js.map +1 -0
- package/build/button/Button.messages.js +12 -0
- package/build/button/Button.messages.js.map +1 -0
- package/build/button/Button.messages.mjs +10 -0
- package/build/button/Button.messages.mjs.map +1 -0
- package/build/button/Button.mjs +80 -0
- package/build/button/Button.mjs.map +1 -0
- package/build/button/classMap.js +18 -0
- package/build/button/classMap.js.map +1 -0
- package/build/button/classMap.mjs +15 -0
- package/build/button/classMap.mjs.map +1 -0
- package/build/button/legacyUtils/legacyUtils.js +54 -0
- package/build/button/legacyUtils/legacyUtils.js.map +1 -0
- package/build/button/legacyUtils/legacyUtils.mjs +50 -0
- package/build/button/legacyUtils/legacyUtils.mjs.map +1 -0
- package/build/card/Card.js +65 -0
- package/build/card/Card.js.map +1 -0
- package/build/card/Card.mjs +59 -0
- package/build/card/Card.mjs.map +1 -0
- package/build/carousel/Carousel.js +283 -0
- package/build/carousel/Carousel.js.map +1 -0
- package/build/carousel/Carousel.mjs +277 -0
- package/build/carousel/Carousel.mjs.map +1 -0
- package/build/checkbox/Checkbox.js +64 -0
- package/build/checkbox/Checkbox.js.map +1 -0
- package/build/checkbox/Checkbox.mjs +58 -0
- package/build/checkbox/Checkbox.mjs.map +1 -0
- package/build/checkboxButton/CheckboxButton.js +40 -0
- package/build/checkboxButton/CheckboxButton.js.map +1 -0
- package/build/checkboxButton/CheckboxButton.mjs +34 -0
- package/build/checkboxButton/CheckboxButton.mjs.map +1 -0
- package/build/checkboxOption/CheckboxOption.js +27 -0
- package/build/checkboxOption/CheckboxOption.js.map +1 -0
- package/build/checkboxOption/CheckboxOption.mjs +25 -0
- package/build/checkboxOption/CheckboxOption.mjs.map +1 -0
- package/build/chevron/Chevron.js +60 -0
- package/build/chevron/Chevron.js.map +1 -0
- package/build/chevron/Chevron.mjs +54 -0
- package/build/chevron/Chevron.mjs.map +1 -0
- package/build/chips/Chip.js +71 -0
- package/build/chips/Chip.js.map +1 -0
- package/build/chips/Chip.mjs +65 -0
- package/build/chips/Chip.mjs.map +1 -0
- package/build/chips/Chips.js +62 -0
- package/build/chips/Chips.js.map +1 -0
- package/build/chips/Chips.messages.js +12 -0
- package/build/chips/Chips.messages.js.map +1 -0
- package/build/chips/Chips.messages.mjs +10 -0
- package/build/chips/Chips.messages.mjs.map +1 -0
- package/build/chips/Chips.mjs +56 -0
- package/build/chips/Chips.mjs.map +1 -0
- package/build/circularButton/CircularButton.js +46 -0
- package/build/circularButton/CircularButton.js.map +1 -0
- package/build/circularButton/CircularButton.mjs +40 -0
- package/build/circularButton/CircularButton.mjs.map +1 -0
- package/build/common/DOMOperations/DOMOperations.js +24 -0
- package/build/common/DOMOperations/DOMOperations.js.map +1 -0
- package/build/common/DOMOperations/DOMOperations.mjs +21 -0
- package/build/common/DOMOperations/DOMOperations.mjs.map +1 -0
- package/build/common/Option/Option.js +71 -0
- package/build/common/Option/Option.js.map +1 -0
- package/build/common/Option/Option.mjs +65 -0
- package/build/common/Option/Option.mjs.map +1 -0
- package/build/common/RadioButton/RadioButton.js +46 -0
- package/build/common/RadioButton/RadioButton.js.map +1 -0
- package/build/common/RadioButton/RadioButton.mjs +40 -0
- package/build/common/RadioButton/RadioButton.mjs.map +1 -0
- package/build/common/action/Action.js +37 -0
- package/build/common/action/Action.js.map +1 -0
- package/build/common/action/Action.mjs +31 -0
- package/build/common/action/Action.mjs.map +1 -0
- package/build/common/bottomSheet/BottomSheet.js +194 -0
- package/build/common/bottomSheet/BottomSheet.js.map +1 -0
- package/build/common/bottomSheet/BottomSheet.mjs +188 -0
- package/build/common/bottomSheet/BottomSheet.mjs.map +1 -0
- package/build/common/card/Card.js +49 -0
- package/build/common/card/Card.js.map +1 -0
- package/build/common/card/Card.mjs +43 -0
- package/build/common/card/Card.mjs.map +1 -0
- package/build/common/closeButton/CloseButton.js +46 -0
- package/build/common/closeButton/CloseButton.js.map +1 -0
- package/build/common/closeButton/CloseButton.messages.js +12 -0
- package/build/common/closeButton/CloseButton.messages.js.map +1 -0
- package/build/common/closeButton/CloseButton.messages.mjs +10 -0
- package/build/common/closeButton/CloseButton.messages.mjs.map +1 -0
- package/build/common/closeButton/CloseButton.mjs +40 -0
- package/build/common/closeButton/CloseButton.mjs.map +1 -0
- package/build/common/dateUtils/getDayNames/getDayNames.js +18 -0
- package/build/common/dateUtils/getDayNames/getDayNames.js.map +1 -0
- package/build/common/dateUtils/getDayNames/getDayNames.mjs +16 -0
- package/build/common/dateUtils/getDayNames/getDayNames.mjs.map +1 -0
- package/build/common/dateUtils/getFormatForLocale/getFormatForLocale.js +8 -0
- package/build/common/dateUtils/getFormatForLocale/getFormatForLocale.js.map +1 -0
- package/build/common/dateUtils/getFormatForLocale/getFormatForLocale.mjs +5 -0
- package/build/common/dateUtils/getFormatForLocale/getFormatForLocale.mjs.map +1 -0
- package/build/common/dateUtils/getMonthNames/getMonthNames.js +19 -0
- package/build/common/dateUtils/getMonthNames/getMonthNames.js.map +1 -0
- package/build/common/dateUtils/getMonthNames/getMonthNames.mjs +17 -0
- package/build/common/dateUtils/getMonthNames/getMonthNames.mjs.map +1 -0
- package/build/common/dateUtils/isDateValid/isDateValid.js +17 -0
- package/build/common/dateUtils/isDateValid/isDateValid.js.map +1 -0
- package/build/common/dateUtils/isDateValid/isDateValid.mjs +14 -0
- package/build/common/dateUtils/isDateValid/isDateValid.mjs.map +1 -0
- package/build/common/dateUtils/isMonthAndYearFormat/isMonthAndYearFormat.js +8 -0
- package/build/common/dateUtils/isMonthAndYearFormat/isMonthAndYearFormat.js.map +1 -0
- package/build/common/dateUtils/isMonthAndYearFormat/isMonthAndYearFormat.mjs +6 -0
- package/build/common/dateUtils/isMonthAndYearFormat/isMonthAndYearFormat.mjs.map +1 -0
- package/build/common/dateUtils/isWithinRange/isWithinRange.js +8 -0
- package/build/common/dateUtils/isWithinRange/isWithinRange.js.map +1 -0
- package/build/common/dateUtils/isWithinRange/isWithinRange.mjs +6 -0
- package/build/common/dateUtils/isWithinRange/isWithinRange.mjs.map +1 -0
- package/build/common/dateUtils/moveToWithinRange/moveToWithinRange.js +15 -0
- package/build/common/dateUtils/moveToWithinRange/moveToWithinRange.js.map +1 -0
- package/build/common/dateUtils/moveToWithinRange/moveToWithinRange.mjs +13 -0
- package/build/common/dateUtils/moveToWithinRange/moveToWithinRange.mjs.map +1 -0
- package/build/common/deviceDetection/deviceDetection.js +11 -0
- package/build/common/deviceDetection/deviceDetection.js.map +1 -0
- package/build/common/deviceDetection/deviceDetection.mjs +9 -0
- package/build/common/deviceDetection/deviceDetection.mjs.map +1 -0
- package/build/common/direction.js +9 -0
- package/build/common/direction.js.map +1 -0
- package/build/common/direction.mjs +9 -0
- package/build/common/direction.mjs.map +1 -0
- package/build/common/domHelpers/documentIosClick.js +39 -0
- package/build/common/domHelpers/documentIosClick.js.map +1 -0
- package/build/common/domHelpers/documentIosClick.mjs +33 -0
- package/build/common/domHelpers/documentIosClick.mjs.map +1 -0
- package/build/common/fileType.js +10 -0
- package/build/common/fileType.js.map +1 -0
- package/build/common/fileType.mjs +10 -0
- package/build/common/fileType.mjs.map +1 -0
- package/build/common/flowHeader/FlowHeader.js +53 -0
- package/build/common/flowHeader/FlowHeader.js.map +1 -0
- package/build/common/flowHeader/FlowHeader.mjs +28 -0
- package/build/common/flowHeader/FlowHeader.mjs.map +1 -0
- package/build/common/focusBoundary/FocusBoundary.js +28 -0
- package/build/common/focusBoundary/FocusBoundary.js.map +1 -0
- package/build/common/focusBoundary/FocusBoundary.mjs +26 -0
- package/build/common/focusBoundary/FocusBoundary.mjs.map +1 -0
- package/build/common/historyNavigator/historyNavigator.js +39 -0
- package/build/common/historyNavigator/historyNavigator.js.map +1 -0
- package/build/common/historyNavigator/historyNavigator.mjs +37 -0
- package/build/common/historyNavigator/historyNavigator.mjs.map +1 -0
- package/build/common/hooks/useConditionalListener/useConditionalListener.js +25 -0
- package/build/common/hooks/useConditionalListener/useConditionalListener.js.map +1 -0
- package/build/common/hooks/useConditionalListener/useConditionalListener.mjs +23 -0
- package/build/common/hooks/useConditionalListener/useConditionalListener.mjs.map +1 -0
- package/build/common/hooks/useDirection/useDirection.js +15 -0
- package/build/common/hooks/useDirection/useDirection.js.map +1 -0
- package/build/common/hooks/useDirection/useDirection.mjs +13 -0
- package/build/common/hooks/useDirection/useDirection.mjs.map +1 -0
- package/build/common/hooks/useEffectEvent.js +22 -0
- package/build/common/hooks/useEffectEvent.js.map +1 -0
- package/build/common/hooks/useEffectEvent.mjs +20 -0
- package/build/common/hooks/useEffectEvent.mjs.map +1 -0
- package/build/common/hooks/useHasIntersected/useHasIntersected.js +64 -0
- package/build/common/hooks/useHasIntersected/useHasIntersected.js.map +1 -0
- package/build/common/hooks/useHasIntersected/useHasIntersected.mjs +62 -0
- package/build/common/hooks/useHasIntersected/useHasIntersected.mjs.map +1 -0
- package/build/common/hooks/useLayout/useLayout.js +26 -0
- package/build/common/hooks/useLayout/useLayout.js.map +1 -0
- package/build/common/hooks/useLayout/useLayout.mjs +24 -0
- package/build/common/hooks/useLayout/useLayout.mjs.map +1 -0
- package/build/common/hooks/useMedia.js +16 -0
- package/build/common/hooks/useMedia.js.map +1 -0
- package/build/common/hooks/useMedia.mjs +14 -0
- package/build/common/hooks/useMedia.mjs.map +1 -0
- package/build/common/hooks/useResizeObserver.js +25 -0
- package/build/common/hooks/useResizeObserver.js.map +1 -0
- package/build/common/hooks/useResizeObserver.mjs +23 -0
- package/build/common/hooks/useResizeObserver.mjs.map +1 -0
- package/build/common/hooks/useScreenSize.js +10 -0
- package/build/common/hooks/useScreenSize.js.map +1 -0
- package/build/common/hooks/useScreenSize.mjs +8 -0
- package/build/common/hooks/useScreenSize.mjs.map +1 -0
- package/build/common/hooks/useVirtualKeyboard.js +26 -0
- package/build/common/hooks/useVirtualKeyboard.js.map +1 -0
- package/build/common/hooks/useVirtualKeyboard.mjs +24 -0
- package/build/common/hooks/useVirtualKeyboard.mjs.map +1 -0
- package/build/common/locale/index.js +85 -0
- package/build/common/locale/index.js.map +1 -0
- package/build/common/locale/index.mjs +76 -0
- package/build/common/locale/index.mjs.map +1 -0
- package/build/common/panel/Panel.js +133 -0
- package/build/common/panel/Panel.js.map +1 -0
- package/build/common/panel/Panel.mjs +127 -0
- package/build/common/panel/Panel.mjs.map +1 -0
- package/build/common/polymorphicWithOverrides/PolymorphicWithOverrides.js +21 -0
- package/build/common/polymorphicWithOverrides/PolymorphicWithOverrides.js.map +1 -0
- package/build/common/polymorphicWithOverrides/PolymorphicWithOverrides.mjs +19 -0
- package/build/common/polymorphicWithOverrides/PolymorphicWithOverrides.mjs.map +1 -0
- package/build/common/preventScroll/PreventScroll.js +11 -0
- package/build/common/preventScroll/PreventScroll.js.map +1 -0
- package/build/common/preventScroll/PreventScroll.mjs +9 -0
- package/build/common/preventScroll/PreventScroll.mjs.map +1 -0
- package/build/common/propsValues/breakpoint.js +12 -0
- package/build/common/propsValues/breakpoint.js.map +1 -0
- package/build/common/propsValues/breakpoint.mjs +12 -0
- package/build/common/propsValues/breakpoint.mjs.map +1 -0
- package/build/common/propsValues/control.js +15 -0
- package/build/common/propsValues/control.js.map +1 -0
- package/build/common/propsValues/control.mjs +15 -0
- package/build/common/propsValues/control.mjs.map +1 -0
- package/build/common/propsValues/dateMode.js +8 -0
- package/build/common/propsValues/dateMode.js.map +1 -0
- package/build/common/propsValues/dateMode.mjs +8 -0
- package/build/common/propsValues/dateMode.mjs.map +1 -0
- package/build/common/propsValues/layouts.js +13 -0
- package/build/common/propsValues/layouts.js.map +1 -0
- package/build/common/propsValues/layouts.mjs +13 -0
- package/build/common/propsValues/layouts.mjs.map +1 -0
- package/build/common/propsValues/markdownNodeType.js +22 -0
- package/build/common/propsValues/markdownNodeType.js.map +1 -0
- package/build/common/propsValues/markdownNodeType.mjs +22 -0
- package/build/common/propsValues/markdownNodeType.mjs.map +1 -0
- package/build/common/propsValues/monthFormat.js +8 -0
- package/build/common/propsValues/monthFormat.js.map +1 -0
- package/build/common/propsValues/monthFormat.mjs +8 -0
- package/build/common/propsValues/monthFormat.mjs.map +1 -0
- package/build/common/propsValues/position.js +15 -0
- package/build/common/propsValues/position.js.map +1 -0
- package/build/common/propsValues/position.mjs +15 -0
- package/build/common/propsValues/position.mjs.map +1 -0
- package/build/common/propsValues/profileType.js +8 -0
- package/build/common/propsValues/profileType.js.map +1 -0
- package/build/common/propsValues/profileType.mjs +8 -0
- package/build/common/propsValues/profileType.mjs.map +1 -0
- package/build/common/propsValues/scroll.js +8 -0
- package/build/common/propsValues/scroll.js.map +1 -0
- package/build/common/propsValues/scroll.mjs +8 -0
- package/build/common/propsValues/scroll.mjs.map +1 -0
- package/build/common/propsValues/sentiment.js +23 -0
- package/build/common/propsValues/sentiment.js.map +1 -0
- package/build/common/propsValues/sentiment.mjs +23 -0
- package/build/common/propsValues/sentiment.mjs.map +1 -0
- package/build/common/propsValues/size.js +11 -0
- package/build/common/propsValues/size.js.map +1 -0
- package/build/common/propsValues/size.mjs +11 -0
- package/build/common/propsValues/size.mjs.map +1 -0
- package/build/common/propsValues/status.js +13 -0
- package/build/common/propsValues/status.js.map +1 -0
- package/build/common/propsValues/status.mjs +13 -0
- package/build/common/propsValues/status.mjs.map +1 -0
- package/build/common/propsValues/type.js +17 -0
- package/build/common/propsValues/type.js.map +1 -0
- package/build/common/propsValues/type.mjs +17 -0
- package/build/common/propsValues/type.mjs.map +1 -0
- package/build/common/propsValues/typography.js +25 -0
- package/build/common/propsValues/typography.js.map +1 -0
- package/build/common/propsValues/typography.mjs +25 -0
- package/build/common/propsValues/typography.mjs.map +1 -0
- package/build/common/propsValues/variant.js +8 -0
- package/build/common/propsValues/variant.js.map +1 -0
- package/build/common/propsValues/variant.mjs +8 -0
- package/build/common/propsValues/variant.mjs.map +1 -0
- package/build/common/propsValues/width.js +8 -0
- package/build/common/propsValues/width.js.map +1 -0
- package/build/common/propsValues/width.mjs +8 -0
- package/build/common/propsValues/width.mjs.map +1 -0
- package/build/common/responsivePanel/ResponsivePanel.js +45 -0
- package/build/common/responsivePanel/ResponsivePanel.js.map +1 -0
- package/build/common/responsivePanel/ResponsivePanel.mjs +43 -0
- package/build/common/responsivePanel/ResponsivePanel.mjs.map +1 -0
- package/build/common/textFormat/formatWithPattern/formatWithPattern.js +27 -0
- package/build/common/textFormat/formatWithPattern/formatWithPattern.js.map +1 -0
- package/build/common/textFormat/formatWithPattern/formatWithPattern.mjs +25 -0
- package/build/common/textFormat/formatWithPattern/formatWithPattern.mjs.map +1 -0
- package/build/common/textFormat/getCountOfSymbolsInSelection/getCountOfSymbolsInSelection.js +8 -0
- package/build/common/textFormat/getCountOfSymbolsInSelection/getCountOfSymbolsInSelection.js.map +1 -0
- package/build/common/textFormat/getCountOfSymbolsInSelection/getCountOfSymbolsInSelection.mjs +6 -0
- package/build/common/textFormat/getCountOfSymbolsInSelection/getCountOfSymbolsInSelection.mjs.map +1 -0
- package/build/common/textFormat/getCursorPositionAfterKeystroke/getCursorPositionAfterKeystroke.js +30 -0
- package/build/common/textFormat/getCursorPositionAfterKeystroke/getCursorPositionAfterKeystroke.js.map +1 -0
- package/build/common/textFormat/getCursorPositionAfterKeystroke/getCursorPositionAfterKeystroke.mjs +28 -0
- package/build/common/textFormat/getCursorPositionAfterKeystroke/getCursorPositionAfterKeystroke.mjs.map +1 -0
- package/build/common/textFormat/getDistanceToSymbol/getDistanceToSymbol.js +32 -0
- package/build/common/textFormat/getDistanceToSymbol/getDistanceToSymbol.js.map +1 -0
- package/build/common/textFormat/getDistanceToSymbol/getDistanceToSymbol.mjs +29 -0
- package/build/common/textFormat/getDistanceToSymbol/getDistanceToSymbol.mjs.map +1 -0
- package/build/common/textFormat/getSymbolsInPatternWithPosition/getSymbolsInPatternWithPosition.js +18 -0
- package/build/common/textFormat/getSymbolsInPatternWithPosition/getSymbolsInPatternWithPosition.js.map +1 -0
- package/build/common/textFormat/getSymbolsInPatternWithPosition/getSymbolsInPatternWithPosition.mjs +16 -0
- package/build/common/textFormat/getSymbolsInPatternWithPosition/getSymbolsInPatternWithPosition.mjs.map +1 -0
- package/build/common/textFormat/unformatWithPattern/unformatWithPattern.js +14 -0
- package/build/common/textFormat/unformatWithPattern/unformatWithPattern.js.map +1 -0
- package/build/common/textFormat/unformatWithPattern/unformatWithPattern.mjs +12 -0
- package/build/common/textFormat/unformatWithPattern/unformatWithPattern.mjs.map +1 -0
- package/build/common/theme.js +13 -0
- package/build/common/theme.js.map +1 -0
- package/build/common/theme.mjs +13 -0
- package/build/common/theme.mjs.map +1 -0
- package/build/criticalBanner/CriticalCommsBanner.js +77 -0
- package/build/criticalBanner/CriticalCommsBanner.js.map +1 -0
- package/build/criticalBanner/CriticalCommsBanner.mjs +71 -0
- package/build/criticalBanner/CriticalCommsBanner.mjs.map +1 -0
- package/build/dateInput/DateInput.js +329 -0
- package/build/dateInput/DateInput.js.map +1 -0
- package/build/dateInput/DateInput.messages.js +24 -0
- package/build/dateInput/DateInput.messages.js.map +1 -0
- package/build/dateInput/DateInput.messages.mjs +22 -0
- package/build/dateInput/DateInput.messages.mjs.map +1 -0
- package/build/dateInput/DateInput.mjs +323 -0
- package/build/dateInput/DateInput.mjs.map +1 -0
- package/build/dateInput/utils/convertToLocalMidnight/convertToLocalMidnight.js +9 -0
- package/build/dateInput/utils/convertToLocalMidnight/convertToLocalMidnight.js.map +1 -0
- package/build/dateInput/utils/convertToLocalMidnight/convertToLocalMidnight.mjs +7 -0
- package/build/dateInput/utils/convertToLocalMidnight/convertToLocalMidnight.mjs.map +1 -0
- package/build/dateLookup/DateLookup.js +339 -0
- package/build/dateLookup/DateLookup.js.map +1 -0
- package/build/dateLookup/DateLookup.messages.js +33 -0
- package/build/dateLookup/DateLookup.messages.js.map +1 -0
- package/build/dateLookup/DateLookup.messages.mjs +31 -0
- package/build/dateLookup/DateLookup.messages.mjs.map +1 -0
- package/build/dateLookup/DateLookup.mjs +333 -0
- package/build/dateLookup/DateLookup.mjs.map +1 -0
- package/build/dateLookup/dateHeader/DateHeader.js +73 -0
- package/build/dateLookup/dateHeader/DateHeader.js.map +1 -0
- package/build/dateLookup/dateHeader/DateHeader.mjs +67 -0
- package/build/dateLookup/dateHeader/DateHeader.mjs.map +1 -0
- package/build/dateLookup/dateTrigger/DateTrigger.js +70 -0
- package/build/dateLookup/dateTrigger/DateTrigger.js.map +1 -0
- package/build/dateLookup/dateTrigger/DateTrigger.messages.js +12 -0
- package/build/dateLookup/dateTrigger/DateTrigger.messages.js.map +1 -0
- package/build/dateLookup/dateTrigger/DateTrigger.messages.mjs +10 -0
- package/build/dateLookup/dateTrigger/DateTrigger.messages.mjs.map +1 -0
- package/build/dateLookup/dateTrigger/DateTrigger.mjs +68 -0
- package/build/dateLookup/dateTrigger/DateTrigger.mjs.map +1 -0
- package/build/dateLookup/dayCalendar/DayCalendar.js +71 -0
- package/build/dateLookup/dayCalendar/DayCalendar.js.map +1 -0
- package/build/dateLookup/dayCalendar/DayCalendar.mjs +69 -0
- package/build/dateLookup/dayCalendar/DayCalendar.mjs.map +1 -0
- package/build/dateLookup/dayCalendar/table/DayCalendarTable.js +150 -0
- package/build/dateLookup/dayCalendar/table/DayCalendarTable.js.map +1 -0
- package/build/dateLookup/dayCalendar/table/DayCalendarTable.mjs +148 -0
- package/build/dateLookup/dayCalendar/table/DayCalendarTable.mjs.map +1 -0
- package/build/dateLookup/getFocusableTime/getFocusableTime.js +8 -0
- package/build/dateLookup/getFocusableTime/getFocusableTime.js.map +1 -0
- package/build/dateLookup/getFocusableTime/getFocusableTime.mjs +6 -0
- package/build/dateLookup/getFocusableTime/getFocusableTime.mjs.map +1 -0
- package/build/dateLookup/getStartOfDay/getStartOfDay.js +15 -0
- package/build/dateLookup/getStartOfDay/getStartOfDay.js.map +1 -0
- package/build/dateLookup/getStartOfDay/getStartOfDay.mjs +13 -0
- package/build/dateLookup/getStartOfDay/getStartOfDay.mjs.map +1 -0
- package/build/dateLookup/monthCalendar/MonthCalendar.js +64 -0
- package/build/dateLookup/monthCalendar/MonthCalendar.js.map +1 -0
- package/build/dateLookup/monthCalendar/MonthCalendar.mjs +62 -0
- package/build/dateLookup/monthCalendar/MonthCalendar.mjs.map +1 -0
- package/build/dateLookup/monthCalendar/table/MonthCalendarTable.js +83 -0
- package/build/dateLookup/monthCalendar/table/MonthCalendarTable.js.map +1 -0
- package/build/dateLookup/monthCalendar/table/MonthCalendarTable.mjs +81 -0
- package/build/dateLookup/monthCalendar/table/MonthCalendarTable.mjs.map +1 -0
- package/build/dateLookup/tableLink/TableLink.js +65 -0
- package/build/dateLookup/tableLink/TableLink.js.map +1 -0
- package/build/dateLookup/tableLink/TableLink.mjs +59 -0
- package/build/dateLookup/tableLink/TableLink.mjs.map +1 -0
- package/build/dateLookup/yearCalendar/YearCalendar.js +57 -0
- package/build/dateLookup/yearCalendar/YearCalendar.js.map +1 -0
- package/build/dateLookup/yearCalendar/YearCalendar.mjs +55 -0
- package/build/dateLookup/yearCalendar/YearCalendar.mjs.map +1 -0
- package/build/dateLookup/yearCalendar/table/YearCalendarTable.js +83 -0
- package/build/dateLookup/yearCalendar/table/YearCalendarTable.js.map +1 -0
- package/build/dateLookup/yearCalendar/table/YearCalendarTable.mjs +81 -0
- package/build/dateLookup/yearCalendar/table/YearCalendarTable.mjs.map +1 -0
- package/build/decision/Decision.js +108 -0
- package/build/decision/Decision.js.map +1 -0
- package/build/decision/Decision.mjs +100 -0
- package/build/decision/Decision.mjs.map +1 -0
- package/build/definitionList/DefinitionList.js +72 -0
- package/build/definitionList/DefinitionList.js.map +1 -0
- package/build/definitionList/DefinitionList.mjs +66 -0
- package/build/definitionList/DefinitionList.mjs.map +1 -0
- package/build/dimmer/Dimmer.js +184 -0
- package/build/dimmer/Dimmer.js.map +1 -0
- package/build/dimmer/Dimmer.mjs +172 -0
- package/build/dimmer/Dimmer.mjs.map +1 -0
- package/build/dimmer/dimmerManager/DimmerManager.js +36 -0
- package/build/dimmer/dimmerManager/DimmerManager.js.map +1 -0
- package/build/dimmer/dimmerManager/DimmerManager.mjs +34 -0
- package/build/dimmer/dimmerManager/DimmerManager.mjs.map +1 -0
- package/build/display/Display.js +26 -0
- package/build/display/Display.js.map +1 -0
- package/build/display/Display.mjs +20 -0
- package/build/display/Display.mjs.map +1 -0
- package/build/drawer/Drawer.js +68 -0
- package/build/drawer/Drawer.js.map +1 -0
- package/build/drawer/Drawer.mjs +62 -0
- package/build/drawer/Drawer.mjs.map +1 -0
- package/build/dropFade/DropFade.js +48 -0
- package/build/dropFade/DropFade.js.map +1 -0
- package/build/dropFade/DropFade.mjs +42 -0
- package/build/dropFade/DropFade.mjs.map +1 -0
- package/build/emphasis/Emphasis.js +24 -0
- package/build/emphasis/Emphasis.js.map +1 -0
- package/build/emphasis/Emphasis.mjs +22 -0
- package/build/emphasis/Emphasis.mjs.map +1 -0
- package/build/emphasis/EmphasisHtmlTransformer.js +39 -0
- package/build/emphasis/EmphasisHtmlTransformer.js.map +1 -0
- package/build/emphasis/EmphasisHtmlTransformer.mjs +37 -0
- package/build/emphasis/EmphasisHtmlTransformer.mjs.map +1 -0
- package/build/field/Field.js +63 -0
- package/build/field/Field.js.map +1 -0
- package/build/field/Field.mjs +57 -0
- package/build/field/Field.mjs.map +1 -0
- package/build/flowNavigation/FlowNavigation.js +80 -0
- package/build/flowNavigation/FlowNavigation.js.map +1 -0
- package/build/flowNavigation/FlowNavigation.messages.js +12 -0
- package/build/flowNavigation/FlowNavigation.messages.js.map +1 -0
- package/build/flowNavigation/FlowNavigation.messages.mjs +10 -0
- package/build/flowNavigation/FlowNavigation.messages.mjs.map +1 -0
- package/build/flowNavigation/FlowNavigation.mjs +74 -0
- package/build/flowNavigation/FlowNavigation.mjs.map +1 -0
- package/build/flowNavigation/animatedLabel/AnimatedLabel.js +34 -0
- package/build/flowNavigation/animatedLabel/AnimatedLabel.js.map +1 -0
- package/build/flowNavigation/animatedLabel/AnimatedLabel.mjs +28 -0
- package/build/flowNavigation/animatedLabel/AnimatedLabel.mjs.map +1 -0
- package/build/flowNavigation/backButton/BackButton.js +34 -0
- package/build/flowNavigation/backButton/BackButton.js.map +1 -0
- package/build/flowNavigation/backButton/BackButton.mjs +28 -0
- package/build/flowNavigation/backButton/BackButton.mjs.map +1 -0
- package/build/header/Header.js +87 -0
- package/build/header/Header.js.map +1 -0
- package/build/header/Header.mjs +78 -0
- package/build/header/Header.mjs.map +1 -0
- package/build/i18n/cs.json.js +61 -0
- package/build/i18n/cs.json.js.map +1 -0
- package/build/i18n/cs.json.mjs +59 -0
- package/build/i18n/cs.json.mjs.map +1 -0
- package/build/i18n/de.json.js +62 -0
- package/build/i18n/de.json.js.map +1 -0
- package/build/i18n/de.json.mjs +60 -0
- package/build/i18n/de.json.mjs.map +1 -0
- package/build/i18n/en.json.js +62 -0
- package/build/i18n/en.json.js.map +1 -0
- package/build/i18n/en.json.mjs +60 -0
- package/build/i18n/en.json.mjs.map +1 -0
- package/build/i18n/es.json.js +62 -0
- package/build/i18n/es.json.js.map +1 -0
- package/build/i18n/es.json.mjs +60 -0
- package/build/i18n/es.json.mjs.map +1 -0
- package/build/i18n/fr.json.js +62 -0
- package/build/i18n/fr.json.js.map +1 -0
- package/build/i18n/fr.json.mjs +60 -0
- package/build/i18n/fr.json.mjs.map +1 -0
- package/build/i18n/hu.json.js +62 -0
- package/build/i18n/hu.json.js.map +1 -0
- package/build/i18n/hu.json.mjs +60 -0
- package/build/i18n/hu.json.mjs.map +1 -0
- package/build/i18n/id.json.js +62 -0
- package/build/i18n/id.json.js.map +1 -0
- package/build/i18n/id.json.mjs +60 -0
- package/build/i18n/id.json.mjs.map +1 -0
- package/build/i18n/index.js +45 -0
- package/build/i18n/index.js.map +1 -0
- package/build/i18n/index.mjs +43 -0
- package/build/i18n/index.mjs.map +1 -0
- package/build/i18n/it.json.js +62 -0
- package/build/i18n/it.json.js.map +1 -0
- package/build/i18n/it.json.mjs +60 -0
- package/build/i18n/it.json.mjs.map +1 -0
- package/build/i18n/ja.json.js +62 -0
- package/build/i18n/ja.json.js.map +1 -0
- package/build/i18n/ja.json.mjs +60 -0
- package/build/i18n/ja.json.mjs.map +1 -0
- package/build/i18n/pl.json.js +62 -0
- package/build/i18n/pl.json.js.map +1 -0
- package/build/i18n/pl.json.mjs +60 -0
- package/build/i18n/pl.json.mjs.map +1 -0
- package/build/i18n/pt.json.js +62 -0
- package/build/i18n/pt.json.js.map +1 -0
- package/build/i18n/pt.json.mjs +60 -0
- package/build/i18n/pt.json.mjs.map +1 -0
- package/build/i18n/ro.json.js +62 -0
- package/build/i18n/ro.json.js.map +1 -0
- package/build/i18n/ro.json.mjs +60 -0
- package/build/i18n/ro.json.mjs.map +1 -0
- package/build/i18n/ru.json.js +62 -0
- package/build/i18n/ru.json.js.map +1 -0
- package/build/i18n/ru.json.mjs +60 -0
- package/build/i18n/ru.json.mjs.map +1 -0
- package/build/i18n/th.json.js +62 -0
- package/build/i18n/th.json.js.map +1 -0
- package/build/i18n/th.json.mjs +60 -0
- package/build/i18n/th.json.mjs.map +1 -0
- package/build/i18n/tr.json.js +62 -0
- package/build/i18n/tr.json.js.map +1 -0
- package/build/i18n/tr.json.mjs +60 -0
- package/build/i18n/tr.json.mjs.map +1 -0
- package/build/i18n/uk.json.js +61 -0
- package/build/i18n/uk.json.js.map +1 -0
- package/build/i18n/uk.json.mjs +59 -0
- package/build/i18n/uk.json.mjs.map +1 -0
- package/build/i18n/zh-CN.json.js +62 -0
- package/build/i18n/zh-CN.json.js.map +1 -0
- package/build/i18n/zh-CN.json.mjs +60 -0
- package/build/i18n/zh-CN.json.mjs.map +1 -0
- package/build/i18n/zh-HK.json.js +62 -0
- package/build/i18n/zh-HK.json.js.map +1 -0
- package/build/i18n/zh-HK.json.mjs +60 -0
- package/build/i18n/zh-HK.json.mjs.map +1 -0
- package/build/image/Image.js +55 -0
- package/build/image/Image.js.map +1 -0
- package/build/image/Image.mjs +46 -0
- package/build/image/Image.mjs.map +1 -0
- package/build/index.js +278 -14434
- package/build/index.js.map +1 -1
- package/build/index.mjs +118 -14359
- package/build/index.mjs.map +1 -1
- package/build/info/Info.js +80 -0
- package/build/info/Info.js.map +1 -0
- package/build/info/Info.messages.js +12 -0
- package/build/info/Info.messages.js.map +1 -0
- package/build/info/Info.messages.mjs +10 -0
- package/build/info/Info.messages.mjs.map +1 -0
- package/build/info/Info.mjs +74 -0
- package/build/info/Info.mjs.map +1 -0
- package/build/info/infoPresentations.js +9 -0
- package/build/info/infoPresentations.js.map +1 -0
- package/build/info/infoPresentations.mjs +9 -0
- package/build/info/infoPresentations.mjs.map +1 -0
- package/build/inlineAlert/InlineAlert.js +35 -0
- package/build/inlineAlert/InlineAlert.js.map +1 -0
- package/build/inlineAlert/InlineAlert.mjs +29 -0
- package/build/inlineAlert/InlineAlert.mjs.map +1 -0
- package/build/inputWithDisplayFormat/InputWithDisplayFormat.js +15 -0
- package/build/inputWithDisplayFormat/InputWithDisplayFormat.js.map +1 -0
- package/build/inputWithDisplayFormat/InputWithDisplayFormat.mjs +13 -0
- package/build/inputWithDisplayFormat/InputWithDisplayFormat.mjs.map +1 -0
- package/build/inputs/Input.js +39 -0
- package/build/inputs/Input.js.map +1 -0
- package/build/inputs/Input.mjs +33 -0
- package/build/inputs/Input.mjs.map +1 -0
- package/build/inputs/InputGroup.js +116 -0
- package/build/inputs/InputGroup.js.map +1 -0
- package/build/inputs/InputGroup.mjs +109 -0
- package/build/inputs/InputGroup.mjs.map +1 -0
- package/build/inputs/SearchInput.js +38 -0
- package/build/inputs/SearchInput.js.map +1 -0
- package/build/inputs/SearchInput.mjs +36 -0
- package/build/inputs/SearchInput.mjs.map +1 -0
- package/build/inputs/SelectInput.js +585 -0
- package/build/inputs/SelectInput.js.map +1 -0
- package/build/inputs/SelectInput.messages.js +12 -0
- package/build/inputs/SelectInput.messages.js.map +1 -0
- package/build/inputs/SelectInput.messages.mjs +10 -0
- package/build/inputs/SelectInput.messages.mjs.map +1 -0
- package/build/inputs/SelectInput.mjs +576 -0
- package/build/inputs/SelectInput.mjs.map +1 -0
- package/build/inputs/TextArea.js +27 -0
- package/build/inputs/TextArea.js.map +1 -0
- package/build/inputs/TextArea.mjs +21 -0
- package/build/inputs/TextArea.mjs.map +1 -0
- package/build/inputs/_BottomSheet.js +115 -0
- package/build/inputs/_BottomSheet.js.map +1 -0
- package/build/inputs/_BottomSheet.mjs +109 -0
- package/build/inputs/_BottomSheet.mjs.map +1 -0
- package/build/inputs/_ButtonInput.js +37 -0
- package/build/inputs/_ButtonInput.js.map +1 -0
- package/build/inputs/_ButtonInput.mjs +31 -0
- package/build/inputs/_ButtonInput.mjs.map +1 -0
- package/build/inputs/_Popover.js +120 -0
- package/build/inputs/_Popover.js.map +1 -0
- package/build/inputs/_Popover.mjs +114 -0
- package/build/inputs/_Popover.mjs.map +1 -0
- package/build/inputs/_common.js +23 -0
- package/build/inputs/_common.js.map +1 -0
- package/build/inputs/_common.mjs +17 -0
- package/build/inputs/_common.mjs.map +1 -0
- package/build/inputs/contexts.js +42 -0
- package/build/inputs/contexts.js.map +1 -0
- package/build/inputs/contexts.mjs +35 -0
- package/build/inputs/contexts.mjs.map +1 -0
- package/build/instructionsList/InstructionsList.js +66 -0
- package/build/instructionsList/InstructionsList.js.map +1 -0
- package/build/instructionsList/InstructionsList.mjs +60 -0
- package/build/instructionsList/InstructionsList.mjs.map +1 -0
- package/build/label/Label.js +25 -0
- package/build/label/Label.js.map +1 -0
- package/build/label/Label.mjs +19 -0
- package/build/label/Label.mjs.map +1 -0
- package/build/link/Link.js +42 -0
- package/build/link/Link.js.map +1 -0
- package/build/link/Link.messages.js +12 -0
- package/build/link/Link.messages.js.map +1 -0
- package/build/link/Link.messages.mjs +10 -0
- package/build/link/Link.messages.mjs.map +1 -0
- package/build/link/Link.mjs +36 -0
- package/build/link/Link.mjs.map +1 -0
- package/build/listItem/ListItem.js +50 -0
- package/build/listItem/ListItem.js.map +1 -0
- package/build/listItem/ListItem.mjs +44 -0
- package/build/listItem/ListItem.mjs.map +1 -0
- package/build/loader/Loader.js +68 -0
- package/build/loader/Loader.js.map +1 -0
- package/build/loader/Loader.mjs +62 -0
- package/build/loader/Loader.mjs.map +1 -0
- package/build/logo/Logo.js +176 -0
- package/build/logo/Logo.js.map +1 -0
- package/build/logo/Logo.mjs +168 -0
- package/build/logo/Logo.mjs.map +1 -0
- package/build/markdown/Markdown.js +75 -0
- package/build/markdown/Markdown.js.map +1 -0
- package/build/markdown/Markdown.mjs +69 -0
- package/build/markdown/Markdown.mjs.map +1 -0
- package/build/modal/Modal.js +113 -0
- package/build/modal/Modal.js.map +1 -0
- package/build/modal/Modal.mjs +107 -0
- package/build/modal/Modal.mjs.map +1 -0
- package/build/money/Money.js +20 -0
- package/build/money/Money.js.map +1 -0
- package/build/money/Money.mjs +18 -0
- package/build/money/Money.mjs.map +1 -0
- package/build/moneyInput/MoneyInput.js +369 -0
- package/build/moneyInput/MoneyInput.js.map +1 -0
- package/build/moneyInput/MoneyInput.messages.js +12 -0
- package/build/moneyInput/MoneyInput.messages.js.map +1 -0
- package/build/moneyInput/MoneyInput.messages.mjs +10 -0
- package/build/moneyInput/MoneyInput.messages.mjs.map +1 -0
- package/build/moneyInput/MoneyInput.mjs +363 -0
- package/build/moneyInput/MoneyInput.mjs.map +1 -0
- package/build/moneyInput/currencyFormatting.js +70 -0
- package/build/moneyInput/currencyFormatting.js.map +1 -0
- package/build/moneyInput/currencyFormatting.mjs +64 -0
- package/build/moneyInput/currencyFormatting.mjs.map +1 -0
- package/build/navigationOption/NavigationOption.js +48 -0
- package/build/navigationOption/NavigationOption.js.map +1 -0
- package/build/navigationOption/NavigationOption.mjs +42 -0
- package/build/navigationOption/NavigationOption.mjs.map +1 -0
- package/build/navigationOptionsList/NavigationOptionsList.js +19 -0
- package/build/navigationOptionsList/NavigationOptionsList.js.map +1 -0
- package/build/navigationOptionsList/NavigationOptionsList.mjs +17 -0
- package/build/navigationOptionsList/NavigationOptionsList.mjs.map +1 -0
- package/build/nudge/Nudge.js +121 -0
- package/build/nudge/Nudge.js.map +1 -0
- package/build/nudge/Nudge.mjs +112 -0
- package/build/nudge/Nudge.mjs.map +1 -0
- package/build/overlayHeader/OverlayHeader.js +40 -0
- package/build/overlayHeader/OverlayHeader.js.map +1 -0
- package/build/overlayHeader/OverlayHeader.mjs +34 -0
- package/build/overlayHeader/OverlayHeader.mjs.map +1 -0
- package/build/phoneNumberInput/PhoneNumberInput.js +161 -0
- package/build/phoneNumberInput/PhoneNumberInput.js.map +1 -0
- package/build/phoneNumberInput/PhoneNumberInput.messages.js +12 -0
- package/build/phoneNumberInput/PhoneNumberInput.messages.js.map +1 -0
- package/build/phoneNumberInput/PhoneNumberInput.messages.mjs +10 -0
- package/build/phoneNumberInput/PhoneNumberInput.messages.mjs.map +1 -0
- package/build/phoneNumberInput/PhoneNumberInput.mjs +159 -0
- package/build/phoneNumberInput/PhoneNumberInput.mjs.map +1 -0
- package/build/phoneNumberInput/data/countries.js +1278 -0
- package/build/phoneNumberInput/data/countries.js.map +1 -0
- package/build/phoneNumberInput/data/countries.mjs +1276 -0
- package/build/phoneNumberInput/data/countries.mjs.map +1 -0
- package/build/phoneNumberInput/utils/cleanNumber/cleanNumber.js +7 -0
- package/build/phoneNumberInput/utils/cleanNumber/cleanNumber.js.map +1 -0
- package/build/phoneNumberInput/utils/cleanNumber/cleanNumber.mjs +5 -0
- package/build/phoneNumberInput/utils/cleanNumber/cleanNumber.mjs.map +1 -0
- package/build/phoneNumberInput/utils/excludeCountries/excludeCountries.js +19 -0
- package/build/phoneNumberInput/utils/excludeCountries/excludeCountries.js.map +1 -0
- package/build/phoneNumberInput/utils/excludeCountries/excludeCountries.mjs +17 -0
- package/build/phoneNumberInput/utils/excludeCountries/excludeCountries.mjs.map +1 -0
- package/build/phoneNumberInput/utils/explodeNumberModel/index.js +21 -0
- package/build/phoneNumberInput/utils/explodeNumberModel/index.js.map +1 -0
- package/build/phoneNumberInput/utils/explodeNumberModel/index.mjs +19 -0
- package/build/phoneNumberInput/utils/explodeNumberModel/index.mjs.map +1 -0
- package/build/phoneNumberInput/utils/findCountryByCode/index.js +17 -0
- package/build/phoneNumberInput/utils/findCountryByCode/index.js.map +1 -0
- package/build/phoneNumberInput/utils/findCountryByCode/index.mjs +15 -0
- package/build/phoneNumberInput/utils/findCountryByCode/index.mjs.map +1 -0
- package/build/phoneNumberInput/utils/findCountryByPrefix/index.js +17 -0
- package/build/phoneNumberInput/utils/findCountryByPrefix/index.js.map +1 -0
- package/build/phoneNumberInput/utils/findCountryByPrefix/index.mjs +15 -0
- package/build/phoneNumberInput/utils/findCountryByPrefix/index.mjs.map +1 -0
- package/build/phoneNumberInput/utils/groupCountriesByPrefix/groupCountriesByPrefix.js +12 -0
- package/build/phoneNumberInput/utils/groupCountriesByPrefix/groupCountriesByPrefix.js.map +1 -0
- package/build/phoneNumberInput/utils/groupCountriesByPrefix/groupCountriesByPrefix.mjs +10 -0
- package/build/phoneNumberInput/utils/groupCountriesByPrefix/groupCountriesByPrefix.mjs.map +1 -0
- package/build/phoneNumberInput/utils/isValidPhoneNumber/isValidPhoneNumber.js +11 -0
- package/build/phoneNumberInput/utils/isValidPhoneNumber/isValidPhoneNumber.js.map +1 -0
- package/build/phoneNumberInput/utils/isValidPhoneNumber/isValidPhoneNumber.mjs +9 -0
- package/build/phoneNumberInput/utils/isValidPhoneNumber/isValidPhoneNumber.mjs.map +1 -0
- package/build/phoneNumberInput/utils/longestMatchingPrefix/index.js +6 -0
- package/build/phoneNumberInput/utils/longestMatchingPrefix/index.js.map +1 -0
- package/build/phoneNumberInput/utils/longestMatchingPrefix/index.mjs +4 -0
- package/build/phoneNumberInput/utils/longestMatchingPrefix/index.mjs.map +1 -0
- package/build/phoneNumberInput/utils/setDefaultPrefix/index.js +22 -0
- package/build/phoneNumberInput/utils/setDefaultPrefix/index.js.map +1 -0
- package/build/phoneNumberInput/utils/setDefaultPrefix/index.mjs +20 -0
- package/build/phoneNumberInput/utils/setDefaultPrefix/index.mjs.map +1 -0
- package/build/phoneNumberInput/utils/sortArrayByProperty/sortArrayByProperty.js +8 -0
- package/build/phoneNumberInput/utils/sortArrayByProperty/sortArrayByProperty.js.map +1 -0
- package/build/phoneNumberInput/utils/sortArrayByProperty/sortArrayByProperty.mjs +6 -0
- package/build/phoneNumberInput/utils/sortArrayByProperty/sortArrayByProperty.mjs.map +1 -0
- package/build/popover/Popover.js +79 -0
- package/build/popover/Popover.js.map +1 -0
- package/build/popover/Popover.mjs +73 -0
- package/build/popover/Popover.mjs.map +1 -0
- package/build/processIndicator/ProcessIndicator.js +120 -0
- package/build/processIndicator/ProcessIndicator.js.map +1 -0
- package/build/processIndicator/ProcessIndicator.mjs +114 -0
- package/build/processIndicator/ProcessIndicator.mjs.map +1 -0
- package/build/progress/Progress.js +24 -0
- package/build/progress/Progress.js.map +1 -0
- package/build/progress/Progress.mjs +18 -0
- package/build/progress/Progress.mjs.map +1 -0
- package/build/progressBar/ProgressBar.js +51 -0
- package/build/progressBar/ProgressBar.js.map +1 -0
- package/build/progressBar/ProgressBar.mjs +45 -0
- package/build/progressBar/ProgressBar.mjs.map +1 -0
- package/build/promoCard/PromoCard.js +189 -0
- package/build/promoCard/PromoCard.js.map +1 -0
- package/build/promoCard/PromoCard.mjs +182 -0
- package/build/promoCard/PromoCard.mjs.map +1 -0
- package/build/promoCard/PromoCardContext.js +33 -0
- package/build/promoCard/PromoCardContext.js.map +1 -0
- package/build/promoCard/PromoCardContext.mjs +27 -0
- package/build/promoCard/PromoCardContext.mjs.map +1 -0
- package/build/promoCard/PromoCardGroup.js +80 -0
- package/build/promoCard/PromoCardGroup.js.map +1 -0
- package/build/promoCard/PromoCardGroup.mjs +73 -0
- package/build/promoCard/PromoCardGroup.mjs.map +1 -0
- package/build/promoCard/PromoCardIndicator.js +53 -0
- package/build/promoCard/PromoCardIndicator.js.map +1 -0
- package/build/promoCard/PromoCardIndicator.mjs +47 -0
- package/build/promoCard/PromoCardIndicator.mjs.map +1 -0
- package/build/provider/Provider.js +53 -0
- package/build/provider/Provider.js.map +1 -0
- package/build/provider/Provider.mjs +51 -0
- package/build/provider/Provider.mjs.map +1 -0
- package/build/provider/direction/DirectionProvider.js +20 -0
- package/build/provider/direction/DirectionProvider.js.map +1 -0
- package/build/provider/direction/DirectionProvider.mjs +17 -0
- package/build/provider/direction/DirectionProvider.mjs.map +1 -0
- package/build/provider/language/LanguageProvider.js +20 -0
- package/build/provider/language/LanguageProvider.js.map +1 -0
- package/build/provider/language/LanguageProvider.mjs +17 -0
- package/build/provider/language/LanguageProvider.mjs.map +1 -0
- package/build/radio/Radio.js +63 -0
- package/build/radio/Radio.js.map +1 -0
- package/build/radio/Radio.mjs +57 -0
- package/build/radio/Radio.mjs.map +1 -0
- package/build/radioGroup/RadioGroup.js +40 -0
- package/build/radioGroup/RadioGroup.js.map +1 -0
- package/build/radioGroup/RadioGroup.mjs +38 -0
- package/build/radioGroup/RadioGroup.mjs.map +1 -0
- package/build/radioOption/RadioOption.js +46 -0
- package/build/radioOption/RadioOption.js.map +1 -0
- package/build/radioOption/RadioOption.mjs +44 -0
- package/build/radioOption/RadioOption.mjs.map +1 -0
- package/build/section/Section.js +24 -0
- package/build/section/Section.js.map +1 -0
- package/build/section/Section.mjs +18 -0
- package/build/section/Section.mjs.map +1 -0
- package/build/segmentedControl/SegmentedControl.js +115 -0
- package/build/segmentedControl/SegmentedControl.js.map +1 -0
- package/build/segmentedControl/SegmentedControl.mjs +109 -0
- package/build/segmentedControl/SegmentedControl.mjs.map +1 -0
- package/build/select/Select.js +579 -0
- package/build/select/Select.js.map +1 -0
- package/build/select/Select.messages.js +12 -0
- package/build/select/Select.messages.js.map +1 -0
- package/build/select/Select.messages.mjs +10 -0
- package/build/select/Select.messages.mjs.map +1 -0
- package/build/select/Select.mjs +572 -0
- package/build/select/Select.mjs.map +1 -0
- package/build/select/index.js +8 -0
- package/build/select/index.js.map +1 -0
- package/build/select/index.mjs +6 -0
- package/build/select/index.mjs.map +1 -0
- package/build/select/option/Option.js +58 -0
- package/build/select/option/Option.js.map +1 -0
- package/build/select/option/Option.mjs +52 -0
- package/build/select/option/Option.mjs.map +1 -0
- package/build/select/option/index.js +8 -0
- package/build/select/option/index.js.map +1 -0
- package/build/select/option/index.mjs +6 -0
- package/build/select/option/index.mjs.map +1 -0
- package/build/select/searchBox/SearchBox.js +54 -0
- package/build/select/searchBox/SearchBox.js.map +1 -0
- package/build/select/searchBox/SearchBox.mjs +48 -0
- package/build/select/searchBox/SearchBox.mjs.map +1 -0
- package/build/slidingPanel/SlidingPanel.js +51 -0
- package/build/slidingPanel/SlidingPanel.js.map +1 -0
- package/build/slidingPanel/SlidingPanel.mjs +42 -0
- package/build/slidingPanel/SlidingPanel.mjs.map +1 -0
- package/build/snackbar/Snackbar.js +128 -0
- package/build/snackbar/Snackbar.js.map +1 -0
- package/build/snackbar/Snackbar.mjs +123 -0
- package/build/snackbar/Snackbar.mjs.map +1 -0
- package/build/snackbar/SnackbarContext.js +12 -0
- package/build/snackbar/SnackbarContext.js.map +1 -0
- package/build/snackbar/SnackbarContext.mjs +9 -0
- package/build/snackbar/SnackbarContext.mjs.map +1 -0
- package/build/snackbar/SnackbarProvider.js +48 -0
- package/build/snackbar/SnackbarProvider.js.map +1 -0
- package/build/snackbar/SnackbarProvider.mjs +46 -0
- package/build/snackbar/SnackbarProvider.mjs.map +1 -0
- package/build/snackbar/useSnackbar.js +14 -0
- package/build/snackbar/useSnackbar.js.map +1 -0
- package/build/snackbar/useSnackbar.mjs +12 -0
- package/build/snackbar/useSnackbar.mjs.map +1 -0
- package/build/statusIcon/StatusIcon.js +37 -0
- package/build/statusIcon/StatusIcon.js.map +1 -0
- package/build/statusIcon/StatusIcon.mjs +31 -0
- package/build/statusIcon/StatusIcon.mjs.map +1 -0
- package/build/stepper/Stepper.js +80 -0
- package/build/stepper/Stepper.js.map +1 -0
- package/build/stepper/Stepper.mjs +74 -0
- package/build/stepper/Stepper.mjs.map +1 -0
- package/build/stepper/deviceDetection.js +22 -0
- package/build/stepper/deviceDetection.js.map +1 -0
- package/build/stepper/deviceDetection.mjs +20 -0
- package/build/stepper/deviceDetection.mjs.map +1 -0
- package/build/sticky/Sticky.js +24 -0
- package/build/sticky/Sticky.js.map +1 -0
- package/build/sticky/Sticky.mjs +22 -0
- package/build/sticky/Sticky.mjs.map +1 -0
- package/build/summary/Summary.js +119 -0
- package/build/summary/Summary.js.map +1 -0
- package/build/summary/Summary.messages.js +18 -0
- package/build/summary/Summary.messages.js.map +1 -0
- package/build/summary/Summary.messages.mjs +16 -0
- package/build/summary/Summary.messages.mjs.map +1 -0
- package/build/summary/Summary.mjs +113 -0
- package/build/summary/Summary.mjs.map +1 -0
- package/build/switch/Switch.js +82 -0
- package/build/switch/Switch.js.map +1 -0
- package/build/switch/Switch.mjs +76 -0
- package/build/switch/Switch.mjs.map +1 -0
- package/build/switchOption/SwitchOption.js +59 -0
- package/build/switchOption/SwitchOption.js.map +1 -0
- package/build/switchOption/SwitchOption.mjs +57 -0
- package/build/switchOption/SwitchOption.mjs.map +1 -0
- package/build/tabs/Tab.js +81 -0
- package/build/tabs/Tab.js.map +1 -0
- package/build/tabs/Tab.mjs +74 -0
- package/build/tabs/Tab.mjs.map +1 -0
- package/build/tabs/TabList.js +24 -0
- package/build/tabs/TabList.js.map +1 -0
- package/build/tabs/TabList.mjs +18 -0
- package/build/tabs/TabList.mjs.map +1 -0
- package/build/tabs/TabPanel.js +35 -0
- package/build/tabs/TabPanel.js.map +1 -0
- package/build/tabs/TabPanel.mjs +29 -0
- package/build/tabs/TabPanel.mjs.map +1 -0
- package/build/tabs/Tabs.js +541 -0
- package/build/tabs/Tabs.js.map +1 -0
- package/build/tabs/Tabs.mjs +533 -0
- package/build/tabs/Tabs.mjs.map +1 -0
- package/build/tabs/utils.js +50 -0
- package/build/tabs/utils.js.map +1 -0
- package/build/tabs/utils.mjs +42 -0
- package/build/tabs/utils.mjs.map +1 -0
- package/build/textareaWithDisplayFormat/TextareaWithDisplayFormat.js +15 -0
- package/build/textareaWithDisplayFormat/TextareaWithDisplayFormat.js.map +1 -0
- package/build/textareaWithDisplayFormat/TextareaWithDisplayFormat.mjs +13 -0
- package/build/textareaWithDisplayFormat/TextareaWithDisplayFormat.mjs.map +1 -0
- package/build/tile/Tile.js +58 -0
- package/build/tile/Tile.js.map +1 -0
- package/build/tile/Tile.mjs +52 -0
- package/build/tile/Tile.mjs.map +1 -0
- package/build/title/Title.js +42 -0
- package/build/title/Title.js.map +1 -0
- package/build/title/Title.mjs +36 -0
- package/build/title/Title.mjs.map +1 -0
- package/build/tooltip/Tooltip.js +103 -0
- package/build/tooltip/Tooltip.js.map +1 -0
- package/build/tooltip/Tooltip.mjs +97 -0
- package/build/tooltip/Tooltip.mjs.map +1 -0
- package/build/typeahead/Typeahead.js +468 -0
- package/build/typeahead/Typeahead.js.map +1 -0
- package/build/typeahead/Typeahead.mjs +460 -0
- package/build/typeahead/Typeahead.mjs.map +1 -0
- package/build/typeahead/typeaheadInput/TypeaheadInput.js +120 -0
- package/build/typeahead/typeaheadInput/TypeaheadInput.js.map +1 -0
- package/build/typeahead/typeaheadInput/TypeaheadInput.mjs +114 -0
- package/build/typeahead/typeaheadInput/TypeaheadInput.mjs.map +1 -0
- package/build/typeahead/typeaheadOption/TypeaheadOption.js +49 -0
- package/build/typeahead/typeaheadOption/TypeaheadOption.js.map +1 -0
- package/build/typeahead/typeaheadOption/TypeaheadOption.mjs +43 -0
- package/build/typeahead/typeaheadOption/TypeaheadOption.mjs.map +1 -0
- package/build/typeahead/util/highlight.js +21 -0
- package/build/typeahead/util/highlight.js.map +1 -0
- package/build/typeahead/util/highlight.mjs +19 -0
- package/build/typeahead/util/highlight.mjs.map +1 -0
- package/build/types/definitionList/DefinitionList.d.ts +2 -2
- package/build/types/definitionList/DefinitionList.d.ts.map +1 -1
- package/build/types/definitionList/index.d.ts +1 -1
- package/build/types/definitionList/index.d.ts.map +1 -1
- package/build/types/index.d.ts +1 -1
- package/build/types/index.d.ts.map +1 -1
- package/build/upload/Upload.js +366 -0
- package/build/upload/Upload.js.map +1 -0
- package/build/upload/Upload.messages.js +39 -0
- package/build/upload/Upload.messages.js.map +1 -0
- package/build/upload/Upload.messages.mjs +37 -0
- package/build/upload/Upload.messages.mjs.map +1 -0
- package/build/upload/Upload.mjs +356 -0
- package/build/upload/Upload.mjs.map +1 -0
- package/build/upload/steps/completeStep/completeStep.js +65 -0
- package/build/upload/steps/completeStep/completeStep.js.map +1 -0
- package/build/upload/steps/completeStep/completeStep.mjs +63 -0
- package/build/upload/steps/completeStep/completeStep.mjs.map +1 -0
- package/build/upload/steps/processingStep/processingStep.js +50 -0
- package/build/upload/steps/processingStep/processingStep.js.map +1 -0
- package/build/upload/steps/processingStep/processingStep.mjs +48 -0
- package/build/upload/steps/processingStep/processingStep.mjs.map +1 -0
- package/build/upload/steps/uploadImageStep/uploadImageStep.js +88 -0
- package/build/upload/steps/uploadImageStep/uploadImageStep.js.map +1 -0
- package/build/upload/steps/uploadImageStep/uploadImageStep.mjs +86 -0
- package/build/upload/steps/uploadImageStep/uploadImageStep.mjs.map +1 -0
- package/build/upload/utils/asyncFileRead/asyncFileRead.js +17 -0
- package/build/upload/utils/asyncFileRead/asyncFileRead.js.map +1 -0
- package/build/upload/utils/asyncFileRead/asyncFileRead.mjs +15 -0
- package/build/upload/utils/asyncFileRead/asyncFileRead.mjs.map +1 -0
- package/build/upload/utils/getFileType/getFileType.js +18 -0
- package/build/upload/utils/getFileType/getFileType.js.map +1 -0
- package/build/upload/utils/getFileType/getFileType.mjs +16 -0
- package/build/upload/utils/getFileType/getFileType.mjs.map +1 -0
- package/build/upload/utils/isSizeValid/isSizeValid.js +8 -0
- package/build/upload/utils/isSizeValid/isSizeValid.js.map +1 -0
- package/build/upload/utils/isSizeValid/isSizeValid.mjs +6 -0
- package/build/upload/utils/isSizeValid/isSizeValid.mjs.map +1 -0
- package/build/upload/utils/isTypeValid/isTypeValid.js +21 -0
- package/build/upload/utils/isTypeValid/isTypeValid.js.map +1 -0
- package/build/upload/utils/isTypeValid/isTypeValid.mjs +19 -0
- package/build/upload/utils/isTypeValid/isTypeValid.mjs.map +1 -0
- package/build/upload/utils/postData/postData.js +31 -0
- package/build/upload/utils/postData/postData.js.map +1 -0
- package/build/upload/utils/postData/postData.mjs +28 -0
- package/build/upload/utils/postData/postData.mjs.map +1 -0
- package/build/uploadInput/UploadInput.js +259 -0
- package/build/uploadInput/UploadInput.js.map +1 -0
- package/build/uploadInput/UploadInput.messages.js +30 -0
- package/build/uploadInput/UploadInput.messages.js.map +1 -0
- package/build/uploadInput/UploadInput.messages.mjs +28 -0
- package/build/uploadInput/UploadInput.messages.mjs.map +1 -0
- package/build/uploadInput/UploadInput.mjs +253 -0
- package/build/uploadInput/UploadInput.mjs.map +1 -0
- package/build/uploadInput/uploadButton/UploadButton.js +186 -0
- package/build/uploadInput/uploadButton/UploadButton.js.map +1 -0
- package/build/uploadInput/uploadButton/UploadButton.messages.js +24 -0
- package/build/uploadInput/uploadButton/UploadButton.messages.js.map +1 -0
- package/build/uploadInput/uploadButton/UploadButton.messages.mjs +22 -0
- package/build/uploadInput/uploadButton/UploadButton.messages.mjs.map +1 -0
- package/build/uploadInput/uploadButton/UploadButton.mjs +178 -0
- package/build/uploadInput/uploadButton/UploadButton.mjs.map +1 -0
- package/build/uploadInput/uploadButton/defaults.js +10 -0
- package/build/uploadInput/uploadButton/defaults.js.map +1 -0
- package/build/uploadInput/uploadButton/defaults.mjs +7 -0
- package/build/uploadInput/uploadButton/defaults.mjs.map +1 -0
- package/build/uploadInput/uploadButton/getAllowedFileTypes.js +8 -0
- package/build/uploadInput/uploadButton/getAllowedFileTypes.js.map +1 -0
- package/build/uploadInput/uploadButton/getAllowedFileTypes.mjs +6 -0
- package/build/uploadInput/uploadButton/getAllowedFileTypes.mjs.map +1 -0
- package/build/uploadInput/uploadItem/UploadItem.js +174 -0
- package/build/uploadInput/uploadItem/UploadItem.js.map +1 -0
- package/build/uploadInput/uploadItem/UploadItem.messages.js +27 -0
- package/build/uploadInput/uploadItem/UploadItem.messages.js.map +1 -0
- package/build/uploadInput/uploadItem/UploadItem.messages.mjs +25 -0
- package/build/uploadInput/uploadItem/UploadItem.messages.mjs.map +1 -0
- package/build/uploadInput/uploadItem/UploadItem.mjs +166 -0
- package/build/uploadInput/uploadItem/UploadItem.mjs.map +1 -0
- package/build/uploadInput/uploadItem/UploadItemBody.js +27 -0
- package/build/uploadInput/uploadItem/UploadItemBody.js.map +1 -0
- package/build/uploadInput/uploadItem/UploadItemBody.mjs +25 -0
- package/build/uploadInput/uploadItem/UploadItemBody.mjs.map +1 -0
- package/build/utilities/cssValueWithUnit.js +8 -0
- package/build/utilities/cssValueWithUnit.js.map +1 -0
- package/build/utilities/cssValueWithUnit.mjs +6 -0
- package/build/utilities/cssValueWithUnit.mjs.map +1 -0
- package/build/utilities/logActionRequired.js +17 -0
- package/build/utilities/logActionRequired.js.map +1 -0
- package/build/utilities/logActionRequired.mjs +14 -0
- package/build/utilities/logActionRequired.mjs.map +1 -0
- package/build/withDisplayFormat/WithDisplayFormat.js +304 -0
- package/build/withDisplayFormat/WithDisplayFormat.js.map +1 -0
- package/build/withDisplayFormat/WithDisplayFormat.mjs +282 -0
- package/build/withDisplayFormat/WithDisplayFormat.mjs.map +1 -0
- package/build/withNextPortal/withNextPortal.js +20 -0
- package/build/withNextPortal/withNextPortal.js.map +1 -0
- package/build/withNextPortal/withNextPortal.mjs +18 -0
- package/build/withNextPortal/withNextPortal.mjs.map +1 -0
- package/package.json +4 -3
- package/src/common/hooks/useVirtualKeyboard.ts +1 -1
- package/src/definitionList/DefinitionList.tsx +6 -3
- package/src/definitionList/index.ts +1 -1
- package/src/index.ts +1 -1
|
@@ -0,0 +1,533 @@
|
|
|
1
|
+
import { Spring, animated } from '@react-spring/web';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
import clamp from 'lodash.clamp';
|
|
4
|
+
import PropTypes from 'prop-types';
|
|
5
|
+
import { Component, createRef, Fragment } from 'react';
|
|
6
|
+
import { DirectionContext } from '../provider/direction/DirectionProvider.mjs';
|
|
7
|
+
import Tab from './Tab.mjs';
|
|
8
|
+
import TabList from './TabList.mjs';
|
|
9
|
+
import TabPanel from './TabPanel.mjs';
|
|
10
|
+
import { swipedLeftToRight, swipedRightToLeft, getSwipeDifference, getVelocity, swipeShouldChangeTab, getElasticDragDifference } from './utils.mjs';
|
|
11
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
12
|
+
import { Width } from '../common/propsValues/width.mjs';
|
|
13
|
+
import { Direction } from '../common/direction.mjs';
|
|
14
|
+
import { Size } from '../common/propsValues/size.mjs';
|
|
15
|
+
|
|
16
|
+
/* eslint-disable react/forbid-dom-props */
|
|
17
|
+
const MIN_INDEX = 0;
|
|
18
|
+
const enabledTabsFilter = tab => !tab.disabled;
|
|
19
|
+
const SpacerWidth = {
|
|
20
|
+
default: 0,
|
|
21
|
+
xs: 8,
|
|
22
|
+
sm: 16,
|
|
23
|
+
md: 24,
|
|
24
|
+
lg: 32
|
|
25
|
+
};
|
|
26
|
+
class Tabs extends Component {
|
|
27
|
+
/** @type {React.RefObject<HTMLDivElement | null>} */
|
|
28
|
+
containerReference = /*#__PURE__*/createRef();
|
|
29
|
+
constructor(props) {
|
|
30
|
+
super(props);
|
|
31
|
+
this.state = {
|
|
32
|
+
start: null,
|
|
33
|
+
translateX: 0,
|
|
34
|
+
translateFrom: 0,
|
|
35
|
+
translateTo: 0,
|
|
36
|
+
translateLineX: null,
|
|
37
|
+
isAnimating: false,
|
|
38
|
+
isSwiping: false,
|
|
39
|
+
isScrolling: false,
|
|
40
|
+
lastSwipeVelocity: 0,
|
|
41
|
+
fullWidthTabs: props.headerWidth === Width.BLOCK
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
container = null;
|
|
45
|
+
containerWidth = 0;
|
|
46
|
+
tabRefs = [];
|
|
47
|
+
get filteredTabsLength() {
|
|
48
|
+
return this.props.tabs.filter(enabledTabsFilter).length;
|
|
49
|
+
}
|
|
50
|
+
get MAX_INDEX() {
|
|
51
|
+
return this.props.tabs.length - 1;
|
|
52
|
+
}
|
|
53
|
+
componentDidMount() {
|
|
54
|
+
const {
|
|
55
|
+
selected
|
|
56
|
+
} = this.props;
|
|
57
|
+
this.setTabWidth();
|
|
58
|
+
this.switchTab(clamp(selected, MIN_INDEX, this.MAX_INDEX));
|
|
59
|
+
this.animateToTab(clamp(selected, MIN_INDEX, this.MAX_INDEX), true);
|
|
60
|
+
document.body.addEventListener('touchmove', this.disableScroll, {
|
|
61
|
+
passive: false
|
|
62
|
+
});
|
|
63
|
+
document.body.addEventListener('touchforcechange', this.disableScroll, {
|
|
64
|
+
passive: false
|
|
65
|
+
});
|
|
66
|
+
window.addEventListener('resize', this.handleResize);
|
|
67
|
+
}
|
|
68
|
+
componentDidUpdate(previousProps, previousState) {
|
|
69
|
+
const currentSelected = this.props.selected;
|
|
70
|
+
const previousSelected = previousProps.selected;
|
|
71
|
+
const currentSelectedTab = this.props.tabs[currentSelected];
|
|
72
|
+
const currentSelectedTabIsDisabled = currentSelectedTab && currentSelectedTab.disabled;
|
|
73
|
+
const previousSelectedTab = previousProps.tabs[previousSelected];
|
|
74
|
+
const previousSelectedTabIsDisabled = previousSelectedTab && previousSelectedTab.disabled;
|
|
75
|
+
const currentTabsLength = this.props.tabs.length;
|
|
76
|
+
const previousTabsLength = previousProps.tabs.length;
|
|
77
|
+
const currentDisabledTabsLength = this.props.tabs.filter(enabledTabsFilter).length;
|
|
78
|
+
const previousDisabledTabsLength = previousProps.tabs.filter(enabledTabsFilter).length;
|
|
79
|
+
const currentHeaderWidth = this.props.headerWidth;
|
|
80
|
+
const previousFullHeaderWidth = previousProps.headerWidth;
|
|
81
|
+
const {
|
|
82
|
+
animatePanelsOnClick
|
|
83
|
+
} = this.props;
|
|
84
|
+
const instantOnClick = !animatePanelsOnClick && !previousState.isSwiping;
|
|
85
|
+
if (currentHeaderWidth !== previousFullHeaderWidth || currentTabsLength !== previousTabsLength) {
|
|
86
|
+
this.setTabWidth();
|
|
87
|
+
}
|
|
88
|
+
if (currentSelected !== previousSelected || currentDisabledTabsLength !== previousDisabledTabsLength || currentSelectedTabIsDisabled !== previousSelectedTabIsDisabled) {
|
|
89
|
+
this.animateToTab(clamp(currentSelected, MIN_INDEX, this.MAX_INDEX), currentSelected === previousSelected || instantOnClick);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
componentWillUnmount() {
|
|
93
|
+
document.body.removeEventListener('touchmove', this.disableScroll);
|
|
94
|
+
document.body.removeEventListener('touchforcechange', this.disableScroll);
|
|
95
|
+
window.removeEventListener('resize', this.handleResize);
|
|
96
|
+
}
|
|
97
|
+
handleResize = () => {
|
|
98
|
+
this.setContainerWidth(this.container);
|
|
99
|
+
this.setState(({
|
|
100
|
+
selectedTabIndex
|
|
101
|
+
}) => ({
|
|
102
|
+
translateTo: -(this.containerWidth * selectedTabIndex)
|
|
103
|
+
}));
|
|
104
|
+
};
|
|
105
|
+
setContainerRefAndWidth = node => {
|
|
106
|
+
this.container = node;
|
|
107
|
+
this.setContainerWidth(node);
|
|
108
|
+
};
|
|
109
|
+
setContainerWidth = node => {
|
|
110
|
+
if (!node) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
const {
|
|
114
|
+
width
|
|
115
|
+
} = node.getBoundingClientRect();
|
|
116
|
+
this.containerWidth = width;
|
|
117
|
+
};
|
|
118
|
+
isTabDisabled = index => {
|
|
119
|
+
const {
|
|
120
|
+
tabs
|
|
121
|
+
} = this.props;
|
|
122
|
+
return tabs[index] && tabs[index].disabled;
|
|
123
|
+
};
|
|
124
|
+
getAllTabsWidth = () => {
|
|
125
|
+
return this.tabRefs.map(reference => {
|
|
126
|
+
return reference ? reference.getBoundingClientRect().width : 0;
|
|
127
|
+
}).reduce((a, b) => a + b, 0);
|
|
128
|
+
};
|
|
129
|
+
getDistanceToSelectedTab = selectedTabIndex => {
|
|
130
|
+
return this.tabRefs.filter((_, idx) => idx < selectedTabIndex).map(reference => reference ? reference.getBoundingClientRect().width : 0).reduce((a, b) => a + b, 0);
|
|
131
|
+
};
|
|
132
|
+
setTabWidth = () => {
|
|
133
|
+
const {
|
|
134
|
+
fullWidthTabs
|
|
135
|
+
} = this.state;
|
|
136
|
+
const {
|
|
137
|
+
headerWidth,
|
|
138
|
+
selected
|
|
139
|
+
} = this.props;
|
|
140
|
+
const allTabsWidth = this.getAllTabsWidth();
|
|
141
|
+
if (!fullWidthTabs && (headerWidth === Width.BLOCK || this.containerWidth < allTabsWidth)) {
|
|
142
|
+
this.setState({
|
|
143
|
+
fullWidthTabs: true,
|
|
144
|
+
translateLineX: `${selected * 100}%`
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
if (fullWidthTabs && headerWidth === Width.AUTO && this.containerWidth >= allTabsWidth) {
|
|
148
|
+
this.setState({
|
|
149
|
+
fullWidthTabs: false,
|
|
150
|
+
translateLineX: `${this.getDistanceToSelectedTab(selected)}px`
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
getTabLineWidth = () => {
|
|
155
|
+
const {
|
|
156
|
+
fullWidthTabs
|
|
157
|
+
} = this.state;
|
|
158
|
+
const {
|
|
159
|
+
selected,
|
|
160
|
+
tabs
|
|
161
|
+
} = this.props;
|
|
162
|
+
if (fullWidthTabs) {
|
|
163
|
+
return `${1 / tabs.length * 100}%`;
|
|
164
|
+
}
|
|
165
|
+
const reference = this.tabRefs[selected] || this.tabRefs[this.tabRefs.length - 1];
|
|
166
|
+
const width = reference ? reference.getBoundingClientRect().width : 0;
|
|
167
|
+
return `${width}px`;
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
/*
|
|
171
|
+
* Gets the next tab that should be selected based on the swipe direction
|
|
172
|
+
* and the current selected tab (is called recursively to account for disabled tabs).
|
|
173
|
+
*/
|
|
174
|
+
getTabToSelect = (selected, start, end) => {
|
|
175
|
+
let nextSelected = selected;
|
|
176
|
+
if (swipedLeftToRight(start, end)) {
|
|
177
|
+
nextSelected -= 1;
|
|
178
|
+
if (nextSelected > MIN_INDEX && this.isTabDisabled(nextSelected)) {
|
|
179
|
+
return this.getTabToSelect(nextSelected, start, end);
|
|
180
|
+
}
|
|
181
|
+
} else if (swipedRightToLeft(start, end)) {
|
|
182
|
+
nextSelected += 1;
|
|
183
|
+
if (nextSelected < this.MAX_INDEX && this.isTabDisabled(nextSelected)) {
|
|
184
|
+
return this.getTabToSelect(nextSelected, start, end);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
nextSelected = clamp(nextSelected, Math.max(selected - 1, MIN_INDEX), Math.min(selected + 1, this.MAX_INDEX));
|
|
188
|
+
if (this.isTabDisabled(nextSelected)) {
|
|
189
|
+
return selected;
|
|
190
|
+
}
|
|
191
|
+
return nextSelected;
|
|
192
|
+
};
|
|
193
|
+
swipedOverHalfOfContainer = difference => difference / this.containerWidth >= 0.5;
|
|
194
|
+
calculateApplicableDragDifference = ({
|
|
195
|
+
currentSelected,
|
|
196
|
+
nextSelected,
|
|
197
|
+
start,
|
|
198
|
+
end
|
|
199
|
+
}) => {
|
|
200
|
+
const difference = getSwipeDifference(start, end);
|
|
201
|
+
const elasticDrag = getElasticDragDifference(difference);
|
|
202
|
+
if (swipedLeftToRight(start, end)) {
|
|
203
|
+
if (currentSelected > MIN_INDEX && currentSelected !== nextSelected) {
|
|
204
|
+
return Math.min(difference, this.containerWidth);
|
|
205
|
+
}
|
|
206
|
+
return elasticDrag;
|
|
207
|
+
}
|
|
208
|
+
if (swipedRightToLeft(start, end)) {
|
|
209
|
+
if (currentSelected < this.MAX_INDEX && currentSelected !== nextSelected) {
|
|
210
|
+
return -Math.min(difference, this.containerWidth);
|
|
211
|
+
}
|
|
212
|
+
return -elasticDrag;
|
|
213
|
+
}
|
|
214
|
+
return false;
|
|
215
|
+
};
|
|
216
|
+
switchTab = index => {
|
|
217
|
+
const {
|
|
218
|
+
onTabSelect
|
|
219
|
+
} = this.props;
|
|
220
|
+
onTabSelect(index);
|
|
221
|
+
};
|
|
222
|
+
getTabIndexWithoutDisabledTabs(index) {
|
|
223
|
+
return index - this.props.tabs.slice(0, index).filter(tab => !enabledTabsFilter(tab)).length;
|
|
224
|
+
}
|
|
225
|
+
animateToTab = (index, instant) => {
|
|
226
|
+
this.animateLine(index);
|
|
227
|
+
this.animatePanel(this.getTabIndexWithoutDisabledTabs(index), instant);
|
|
228
|
+
};
|
|
229
|
+
animateLine = index => {
|
|
230
|
+
this.setState(previousState => ({
|
|
231
|
+
translateLineX: previousState.fullWidthTabs ? `${index * 100}%` : `${this.getDistanceToSelectedTab(index)}px`
|
|
232
|
+
}));
|
|
233
|
+
};
|
|
234
|
+
|
|
235
|
+
// Pass `instant` to set the `translateX` to the new panel with no transition
|
|
236
|
+
animatePanel = (index, instant = false) => {
|
|
237
|
+
const {
|
|
238
|
+
translateTo: currentTranslateTo
|
|
239
|
+
} = this.state;
|
|
240
|
+
const translateFrom = currentTranslateTo;
|
|
241
|
+
const translateTo = -(this.containerWidth * index);
|
|
242
|
+
this.setState({
|
|
243
|
+
selectedTabIndex: index,
|
|
244
|
+
isAnimating: !instant && translateFrom !== translateTo,
|
|
245
|
+
translateFrom,
|
|
246
|
+
translateTo
|
|
247
|
+
});
|
|
248
|
+
};
|
|
249
|
+
disableScroll = event => {
|
|
250
|
+
const {
|
|
251
|
+
isSwiping
|
|
252
|
+
} = this.state;
|
|
253
|
+
if (isSwiping) {
|
|
254
|
+
event.preventDefault();
|
|
255
|
+
}
|
|
256
|
+
};
|
|
257
|
+
handleTabClick = index => () => {
|
|
258
|
+
this.switchTab(index);
|
|
259
|
+
};
|
|
260
|
+
onKeyDown = index => event => {
|
|
261
|
+
if (event && event.key === 'Enter') {
|
|
262
|
+
this.switchTab(index);
|
|
263
|
+
}
|
|
264
|
+
};
|
|
265
|
+
handleTouchStart = event => {
|
|
266
|
+
const start = {
|
|
267
|
+
x: event.nativeEvent.touches[0].clientX,
|
|
268
|
+
y: event.nativeEvent.touches[0].clientY,
|
|
269
|
+
time: Date.now()
|
|
270
|
+
};
|
|
271
|
+
this.setState({
|
|
272
|
+
start,
|
|
273
|
+
currentSwipe: [start]
|
|
274
|
+
});
|
|
275
|
+
event.persist();
|
|
276
|
+
};
|
|
277
|
+
handleTouchMove = event => {
|
|
278
|
+
const {
|
|
279
|
+
start
|
|
280
|
+
} = this.state;
|
|
281
|
+
const {
|
|
282
|
+
selected: currentSelectedFromProps
|
|
283
|
+
} = this.props;
|
|
284
|
+
const selected = this.getTabIndexWithoutDisabledTabs(currentSelectedFromProps);
|
|
285
|
+
const end = {
|
|
286
|
+
x: event.nativeEvent.changedTouches[0].clientX,
|
|
287
|
+
y: event.nativeEvent.changedTouches[0].clientY,
|
|
288
|
+
time: Date.now()
|
|
289
|
+
};
|
|
290
|
+
const difference = getSwipeDifference(start, end);
|
|
291
|
+
const yAxisDifference = getSwipeDifference(start, end, 'y');
|
|
292
|
+
let {
|
|
293
|
+
isScrolling,
|
|
294
|
+
isSwiping
|
|
295
|
+
} = this.state;
|
|
296
|
+
event.persist();
|
|
297
|
+
if (!isScrolling && !isSwiping) {
|
|
298
|
+
if (difference > yAxisDifference) {
|
|
299
|
+
isSwiping = true;
|
|
300
|
+
} else {
|
|
301
|
+
isScrolling = true;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
this.setState({
|
|
305
|
+
isScrolling,
|
|
306
|
+
isSwiping
|
|
307
|
+
});
|
|
308
|
+
if (isSwiping) {
|
|
309
|
+
const nextSelected = this.getTabToSelect(currentSelectedFromProps, start, end);
|
|
310
|
+
this.animateLine(this.swipedOverHalfOfContainer(difference) ? nextSelected : currentSelectedFromProps);
|
|
311
|
+
const dragDifference = this.calculateApplicableDragDifference({
|
|
312
|
+
currentSelected: currentSelectedFromProps,
|
|
313
|
+
nextSelected,
|
|
314
|
+
start,
|
|
315
|
+
end
|
|
316
|
+
});
|
|
317
|
+
const translateX = dragDifference ? -(this.containerWidth * selected) + dragDifference : false;
|
|
318
|
+
this.setState(state => ({
|
|
319
|
+
currentSwipe: [...state.currentSwipe, end],
|
|
320
|
+
translateFrom: translateX || state.translateFrom,
|
|
321
|
+
translateTo: translateX || state.translateTo
|
|
322
|
+
}));
|
|
323
|
+
}
|
|
324
|
+
};
|
|
325
|
+
handleTouchEnd = event => {
|
|
326
|
+
const {
|
|
327
|
+
start,
|
|
328
|
+
isSwiping
|
|
329
|
+
} = this.state;
|
|
330
|
+
const {
|
|
331
|
+
selected
|
|
332
|
+
} = this.props;
|
|
333
|
+
const end = {
|
|
334
|
+
x: event.nativeEvent.changedTouches[0].clientX,
|
|
335
|
+
y: event.nativeEvent.changedTouches[0].clientY,
|
|
336
|
+
time: Date.now()
|
|
337
|
+
};
|
|
338
|
+
const difference = getSwipeDifference(start, end);
|
|
339
|
+
const velocity = getVelocity([...this.state.currentSwipe, end]);
|
|
340
|
+
this.setState({
|
|
341
|
+
currentSwipe: []
|
|
342
|
+
});
|
|
343
|
+
let nextSelected = selected;
|
|
344
|
+
event.persist();
|
|
345
|
+
if (isSwiping) {
|
|
346
|
+
if (swipeShouldChangeTab(start, end) || this.swipedOverHalfOfContainer(difference)) {
|
|
347
|
+
nextSelected = this.getTabToSelect(nextSelected, start, end);
|
|
348
|
+
}
|
|
349
|
+
if (nextSelected !== selected) {
|
|
350
|
+
this.switchTab(nextSelected);
|
|
351
|
+
this.setState({
|
|
352
|
+
lastSwipeVelocity: velocity
|
|
353
|
+
});
|
|
354
|
+
} else {
|
|
355
|
+
this.animateToTab(nextSelected);
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
this.setState({
|
|
359
|
+
isSwiping: false,
|
|
360
|
+
isScrolling: false
|
|
361
|
+
});
|
|
362
|
+
};
|
|
363
|
+
render() {
|
|
364
|
+
const {
|
|
365
|
+
tabs,
|
|
366
|
+
changeTabOnSwipe,
|
|
367
|
+
name,
|
|
368
|
+
selected,
|
|
369
|
+
className,
|
|
370
|
+
transitionSpacing,
|
|
371
|
+
headerWidth
|
|
372
|
+
} = this.props;
|
|
373
|
+
const {
|
|
374
|
+
isSwiping,
|
|
375
|
+
translateLineX,
|
|
376
|
+
isAnimating,
|
|
377
|
+
translateFrom,
|
|
378
|
+
translateTo,
|
|
379
|
+
lastSwipeVelocity,
|
|
380
|
+
fullWidthTabs
|
|
381
|
+
} = this.state;
|
|
382
|
+
const spacer = SpacerWidth[transitionSpacing];
|
|
383
|
+
const tabsLength = this.filteredTabsLength;
|
|
384
|
+
const distanceSwiped = Math.abs(-translateFrom - this.containerWidth * selected);
|
|
385
|
+
const remainingContainerToTravel = isSwiping ? 1 - distanceSwiped / this.containerWidth : 1 - Math.abs(distanceSwiped / this.containerWidth - 1);
|
|
386
|
+
const restrictedVelocity = (Number.isNaN(remainingContainerToTravel) ? 0 : remainingContainerToTravel) * Math.min(10 * Math.E, lastSwipeVelocity * 10 * Math.E);
|
|
387
|
+
const hidePanelOverflow = isAnimating || isSwiping;
|
|
388
|
+
const sliderWidth = tabsLength * this.containerWidth + spacer * 2;
|
|
389
|
+
|
|
390
|
+
// Uses `props.panelTransitionSpacing` to add a spacer in-between the `TabPanel` you're transitioning to/from
|
|
391
|
+
const Spacer = ({
|
|
392
|
+
id
|
|
393
|
+
}) => spacer > 0 && /*#__PURE__*/jsx("div", {
|
|
394
|
+
style: {
|
|
395
|
+
width: spacer,
|
|
396
|
+
display: hidePanelOverflow ? 'block' : 'none'
|
|
397
|
+
}
|
|
398
|
+
}, id);
|
|
399
|
+
return /*#__PURE__*/jsx(DirectionContext.Consumer, {
|
|
400
|
+
children: direction => {
|
|
401
|
+
const isRTL = direction === Direction.RTL;
|
|
402
|
+
return /*#__PURE__*/jsxs("div", {
|
|
403
|
+
ref: this.containerReference,
|
|
404
|
+
className: classNames('tabs', className, {
|
|
405
|
+
'tabs--auto-width': headerWidth === Width.AUTO
|
|
406
|
+
}),
|
|
407
|
+
onTouchStart: changeTabOnSwipe ? this.handleTouchStart : undefined,
|
|
408
|
+
onTouchEnd: changeTabOnSwipe ? this.handleTouchEnd : undefined,
|
|
409
|
+
onTouchMove: changeTabOnSwipe ? this.handleTouchMove : undefined,
|
|
410
|
+
children: [/*#__PURE__*/jsxs(TabList, {
|
|
411
|
+
children: [tabs.map(({
|
|
412
|
+
title,
|
|
413
|
+
disabled
|
|
414
|
+
}, index) => {
|
|
415
|
+
return /*#__PURE__*/jsx(Tab, {
|
|
416
|
+
ref: node => {
|
|
417
|
+
this.tabRefs[index] = node;
|
|
418
|
+
},
|
|
419
|
+
id: `${name}-tab-${index}`,
|
|
420
|
+
panelId: `${name}-panel-${index}`,
|
|
421
|
+
selected: selected === index,
|
|
422
|
+
disabled: disabled,
|
|
423
|
+
focusTab: () => {
|
|
424
|
+
if (this.containerReference.current?.contains(document.activeElement)) {
|
|
425
|
+
this.tabRefs[index].focus();
|
|
426
|
+
}
|
|
427
|
+
},
|
|
428
|
+
onClick: disabled ? null : this.handleTabClick(index),
|
|
429
|
+
onKeyDown: this.onKeyDown(index),
|
|
430
|
+
...(fullWidthTabs ? {
|
|
431
|
+
style: {
|
|
432
|
+
width: `${1 / tabs.length * 100}%`
|
|
433
|
+
}
|
|
434
|
+
} : {}),
|
|
435
|
+
children: title
|
|
436
|
+
}, title);
|
|
437
|
+
}), translateLineX ? /*#__PURE__*/jsx("li", {
|
|
438
|
+
role: "none",
|
|
439
|
+
className: "tabs__line",
|
|
440
|
+
style: {
|
|
441
|
+
width: this.getTabLineWidth(),
|
|
442
|
+
transform: isRTL ? `translateX(-${translateLineX})` : `translateX(${translateLineX})`
|
|
443
|
+
}
|
|
444
|
+
}) : null]
|
|
445
|
+
}), /*#__PURE__*/jsx("div", {
|
|
446
|
+
ref: this.setContainerRefAndWidth,
|
|
447
|
+
className: "tabs__panel-container",
|
|
448
|
+
style: {
|
|
449
|
+
overflow: hidePanelOverflow ? 'hidden' : 'visible'
|
|
450
|
+
},
|
|
451
|
+
children: /*#__PURE__*/jsx(Spring, {
|
|
452
|
+
from: {
|
|
453
|
+
transform: `translateX(${translateFrom - spacer}px)`
|
|
454
|
+
},
|
|
455
|
+
to: {
|
|
456
|
+
transform: `translateX(${translateTo - spacer}px)`
|
|
457
|
+
},
|
|
458
|
+
config: {
|
|
459
|
+
precision: isSwiping ? 1 : 0.01,
|
|
460
|
+
velocity: !isSwiping ? restrictedVelocity : 0,
|
|
461
|
+
clamp: true
|
|
462
|
+
},
|
|
463
|
+
onRest: () => {
|
|
464
|
+
if (isAnimating) {
|
|
465
|
+
this.setState({
|
|
466
|
+
isAnimating: false,
|
|
467
|
+
lastSwipeVelocity: 0
|
|
468
|
+
});
|
|
469
|
+
}
|
|
470
|
+
},
|
|
471
|
+
children: props => /*#__PURE__*/jsx(animated.div, {
|
|
472
|
+
className: "tabs__slider",
|
|
473
|
+
style: {
|
|
474
|
+
width: hidePanelOverflow ? `${sliderWidth}px` : '100%',
|
|
475
|
+
transform: hidePanelOverflow ? props.transform : 'translateX(0px)'
|
|
476
|
+
},
|
|
477
|
+
children: tabs.map(({
|
|
478
|
+
content,
|
|
479
|
+
disabled
|
|
480
|
+
}, index) => !disabled ? /*#__PURE__*/jsxs(Fragment, {
|
|
481
|
+
children: [index === selected && /*#__PURE__*/jsx(Spacer, {
|
|
482
|
+
id: "left-spacer"
|
|
483
|
+
}), /*#__PURE__*/jsx(TabPanel, {
|
|
484
|
+
tabId: `${name}-tab-${index}`,
|
|
485
|
+
id: `${name}-panel-${index}`,
|
|
486
|
+
style: {
|
|
487
|
+
width: hidePanelOverflow ? `${this.containerWidth}px` : '100%',
|
|
488
|
+
display: hidePanelOverflow || index === selected ? 'block' : 'none'
|
|
489
|
+
},
|
|
490
|
+
children: content
|
|
491
|
+
}, tabs[index].title), index === selected && /*#__PURE__*/jsx(Spacer, {
|
|
492
|
+
id: "right-spacer"
|
|
493
|
+
})]
|
|
494
|
+
}, `${tabs[index].title}-fragment`) : null)
|
|
495
|
+
})
|
|
496
|
+
})
|
|
497
|
+
})]
|
|
498
|
+
});
|
|
499
|
+
}
|
|
500
|
+
});
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
const SpacerSizes = {
|
|
504
|
+
...Size,
|
|
505
|
+
NONE: 'default'
|
|
506
|
+
};
|
|
507
|
+
Tabs.propTypes = {
|
|
508
|
+
tabs: PropTypes.arrayOf(PropTypes.shape({
|
|
509
|
+
title: PropTypes.string.isRequired,
|
|
510
|
+
content: PropTypes.node.isRequired,
|
|
511
|
+
disabled: PropTypes.bool.isRequired
|
|
512
|
+
})).isRequired,
|
|
513
|
+
selected: PropTypes.number.isRequired,
|
|
514
|
+
name: PropTypes.string.isRequired,
|
|
515
|
+
animatePanelsOnClick: PropTypes.bool,
|
|
516
|
+
changeTabOnSwipe: PropTypes.bool,
|
|
517
|
+
className: PropTypes.string,
|
|
518
|
+
transitionSpacing: PropTypes.oneOf(['default', 'xs', 'sm', 'md', 'lg']),
|
|
519
|
+
headerWidth: PropTypes.oneOf(['auto', 'block']),
|
|
520
|
+
id: PropTypes.string,
|
|
521
|
+
onTabSelect: PropTypes.func.isRequired
|
|
522
|
+
};
|
|
523
|
+
Tabs.defaultProps = {
|
|
524
|
+
animatePanelsOnClick: false,
|
|
525
|
+
changeTabOnSwipe: true,
|
|
526
|
+
className: '',
|
|
527
|
+
transitionSpacing: SpacerSizes.NONE,
|
|
528
|
+
headerWidth: Width.BLOCK
|
|
529
|
+
};
|
|
530
|
+
var Tabs$1 = Tabs;
|
|
531
|
+
|
|
532
|
+
export { Tabs$1 as default };
|
|
533
|
+
//# sourceMappingURL=Tabs.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tabs.mjs","sources":["../../src/tabs/Tabs.js"],"sourcesContent":["/* eslint-disable react/forbid-dom-props */\nimport { Spring, SpringValue, animated } from '@react-spring/web';\nimport classNames from 'classnames';\nimport clamp from 'lodash.clamp';\nimport PropTypes from 'prop-types';\nimport { Component, createRef, Fragment } from 'react';\n\nimport { Size, Width, Direction } from '../common';\nimport { DirectionContext } from '../provider/direction';\n\nimport Tab from './Tab';\nimport TabList from './TabList';\nimport TabPanel from './TabPanel';\nimport {\n getElasticDragDifference,\n getSwipeDifference,\n swipedLeftToRight,\n swipedRightToLeft,\n swipeShouldChangeTab,\n getVelocity,\n} from './utils';\n\nconst MIN_INDEX = 0;\n\nconst enabledTabsFilter = (tab) => !tab.disabled;\n\nconst SpacerWidth = { default: 0, xs: 8, sm: 16, md: 24, lg: 32 };\n\nclass Tabs extends Component {\n /** @type {React.RefObject<HTMLDivElement | null>} */\n containerReference = createRef();\n\n constructor(props) {\n super(props);\n this.state = {\n start: null,\n translateX: 0,\n translateFrom: 0,\n translateTo: 0,\n translateLineX: null,\n isAnimating: false,\n isSwiping: false,\n isScrolling: false,\n lastSwipeVelocity: 0,\n fullWidthTabs: props.headerWidth === Width.BLOCK,\n };\n }\n\n container = null;\n\n containerWidth = 0;\n\n tabRefs = [];\n\n get filteredTabsLength() {\n return this.props.tabs.filter(enabledTabsFilter).length;\n }\n\n get MAX_INDEX() {\n return this.props.tabs.length - 1;\n }\n\n componentDidMount() {\n const { selected } = this.props;\n\n this.setTabWidth();\n this.switchTab(clamp(selected, MIN_INDEX, this.MAX_INDEX));\n this.animateToTab(clamp(selected, MIN_INDEX, this.MAX_INDEX), true);\n document.body.addEventListener('touchmove', this.disableScroll, { passive: false });\n document.body.addEventListener('touchforcechange', this.disableScroll, { passive: false });\n window.addEventListener('resize', this.handleResize);\n }\n\n componentDidUpdate(previousProps, previousState) {\n const currentSelected = this.props.selected;\n const previousSelected = previousProps.selected;\n const currentSelectedTab = this.props.tabs[currentSelected];\n const currentSelectedTabIsDisabled = currentSelectedTab && currentSelectedTab.disabled;\n const previousSelectedTab = previousProps.tabs[previousSelected];\n const previousSelectedTabIsDisabled = previousSelectedTab && previousSelectedTab.disabled;\n const currentTabsLength = this.props.tabs.length;\n const previousTabsLength = previousProps.tabs.length;\n const currentDisabledTabsLength = this.props.tabs.filter(enabledTabsFilter).length;\n const previousDisabledTabsLength = previousProps.tabs.filter(enabledTabsFilter).length;\n const currentHeaderWidth = this.props.headerWidth;\n const previousFullHeaderWidth = previousProps.headerWidth;\n const { animatePanelsOnClick } = this.props;\n const instantOnClick = !animatePanelsOnClick && !previousState.isSwiping;\n\n if (\n currentHeaderWidth !== previousFullHeaderWidth ||\n currentTabsLength !== previousTabsLength\n ) {\n this.setTabWidth();\n }\n\n if (\n currentSelected !== previousSelected ||\n currentDisabledTabsLength !== previousDisabledTabsLength ||\n currentSelectedTabIsDisabled !== previousSelectedTabIsDisabled\n ) {\n this.animateToTab(\n clamp(currentSelected, MIN_INDEX, this.MAX_INDEX),\n currentSelected === previousSelected || instantOnClick,\n );\n }\n }\n\n componentWillUnmount() {\n document.body.removeEventListener('touchmove', this.disableScroll);\n document.body.removeEventListener('touchforcechange', this.disableScroll);\n window.removeEventListener('resize', this.handleResize);\n }\n\n handleResize = () => {\n this.setContainerWidth(this.container);\n\n this.setState(({ selectedTabIndex }) => ({\n translateTo: -(this.containerWidth * selectedTabIndex),\n }));\n };\n\n setContainerRefAndWidth = (node) => {\n this.container = node;\n this.setContainerWidth(node);\n };\n\n setContainerWidth = (node) => {\n if (!node) {\n return;\n }\n\n const { width } = node.getBoundingClientRect();\n\n this.containerWidth = width;\n };\n\n isTabDisabled = (index) => {\n const { tabs } = this.props;\n\n return tabs[index] && tabs[index].disabled;\n };\n\n getAllTabsWidth = () => {\n return this.tabRefs\n .map((reference) => {\n return reference ? reference.getBoundingClientRect().width : 0;\n })\n .reduce((a, b) => a + b, 0);\n };\n\n getDistanceToSelectedTab = (selectedTabIndex) => {\n return this.tabRefs\n .filter((_, idx) => idx < selectedTabIndex)\n .map((reference) => (reference ? reference.getBoundingClientRect().width : 0))\n .reduce((a, b) => a + b, 0);\n };\n\n setTabWidth = () => {\n const { fullWidthTabs } = this.state;\n const { headerWidth, selected } = this.props;\n\n const allTabsWidth = this.getAllTabsWidth();\n\n if (!fullWidthTabs && (headerWidth === Width.BLOCK || this.containerWidth < allTabsWidth)) {\n this.setState({ fullWidthTabs: true, translateLineX: `${selected * 100}%` });\n }\n if (fullWidthTabs && headerWidth === Width.AUTO && this.containerWidth >= allTabsWidth) {\n this.setState({\n fullWidthTabs: false,\n translateLineX: `${this.getDistanceToSelectedTab(selected)}px`,\n });\n }\n };\n\n getTabLineWidth = () => {\n const { fullWidthTabs } = this.state;\n const { selected, tabs } = this.props;\n\n if (fullWidthTabs) {\n return `${(1 / tabs.length) * 100}%`;\n }\n\n const reference = this.tabRefs[selected] || this.tabRefs[this.tabRefs.length - 1];\n const width = reference ? reference.getBoundingClientRect().width : 0;\n return `${width}px`;\n };\n\n /*\n * Gets the next tab that should be selected based on the swipe direction\n * and the current selected tab (is called recursively to account for disabled tabs).\n */\n getTabToSelect = (selected, start, end) => {\n let nextSelected = selected;\n\n if (swipedLeftToRight(start, end)) {\n nextSelected -= 1;\n\n if (nextSelected > MIN_INDEX && this.isTabDisabled(nextSelected)) {\n return this.getTabToSelect(nextSelected, start, end);\n }\n } else if (swipedRightToLeft(start, end)) {\n nextSelected += 1;\n\n if (nextSelected < this.MAX_INDEX && this.isTabDisabled(nextSelected)) {\n return this.getTabToSelect(nextSelected, start, end);\n }\n }\n\n nextSelected = clamp(\n nextSelected,\n Math.max(selected - 1, MIN_INDEX),\n Math.min(selected + 1, this.MAX_INDEX),\n );\n\n if (this.isTabDisabled(nextSelected)) {\n return selected;\n }\n\n return nextSelected;\n };\n\n swipedOverHalfOfContainer = (difference) => difference / this.containerWidth >= 0.5;\n\n calculateApplicableDragDifference = ({ currentSelected, nextSelected, start, end }) => {\n const difference = getSwipeDifference(start, end);\n const elasticDrag = getElasticDragDifference(difference);\n\n if (swipedLeftToRight(start, end)) {\n if (currentSelected > MIN_INDEX && currentSelected !== nextSelected) {\n return Math.min(difference, this.containerWidth);\n }\n return elasticDrag;\n }\n if (swipedRightToLeft(start, end)) {\n if (currentSelected < this.MAX_INDEX && currentSelected !== nextSelected) {\n return -Math.min(difference, this.containerWidth);\n }\n return -elasticDrag;\n }\n\n return false;\n };\n\n switchTab = (index) => {\n const { onTabSelect } = this.props;\n onTabSelect(index);\n };\n\n getTabIndexWithoutDisabledTabs(index) {\n return index - this.props.tabs.slice(0, index).filter((tab) => !enabledTabsFilter(tab)).length;\n }\n\n animateToTab = (index, instant) => {\n this.animateLine(index);\n\n this.animatePanel(this.getTabIndexWithoutDisabledTabs(index), instant);\n };\n\n animateLine = (index) => {\n this.setState((previousState) => ({\n translateLineX: previousState.fullWidthTabs\n ? `${index * 100}%`\n : `${this.getDistanceToSelectedTab(index)}px`,\n }));\n };\n\n // Pass `instant` to set the `translateX` to the new panel with no transition\n animatePanel = (index, instant = false) => {\n const { translateTo: currentTranslateTo } = this.state;\n\n const translateFrom = currentTranslateTo;\n const translateTo = -(this.containerWidth * index);\n\n this.setState({\n selectedTabIndex: index,\n isAnimating: !instant && translateFrom !== translateTo,\n translateFrom,\n translateTo,\n });\n };\n\n disableScroll = (event) => {\n const { isSwiping } = this.state;\n\n if (isSwiping) {\n event.preventDefault();\n }\n };\n\n handleTabClick = (index) => () => {\n this.switchTab(index);\n };\n\n onKeyDown = (index) => (event) => {\n if (event && event.key === 'Enter') {\n this.switchTab(index);\n }\n };\n\n handleTouchStart = (event) => {\n const start = {\n x: event.nativeEvent.touches[0].clientX,\n y: event.nativeEvent.touches[0].clientY,\n time: Date.now(),\n };\n this.setState({\n start,\n currentSwipe: [start],\n });\n\n event.persist();\n };\n\n handleTouchMove = (event) => {\n const { start } = this.state;\n const { selected: currentSelectedFromProps } = this.props;\n const selected = this.getTabIndexWithoutDisabledTabs(currentSelectedFromProps);\n const end = {\n x: event.nativeEvent.changedTouches[0].clientX,\n y: event.nativeEvent.changedTouches[0].clientY,\n time: Date.now(),\n };\n const difference = getSwipeDifference(start, end);\n const yAxisDifference = getSwipeDifference(start, end, 'y');\n let { isScrolling, isSwiping } = this.state;\n\n event.persist();\n\n if (!isScrolling && !isSwiping) {\n if (difference > yAxisDifference) {\n isSwiping = true;\n } else {\n isScrolling = true;\n }\n }\n\n this.setState({ isScrolling, isSwiping });\n\n if (isSwiping) {\n const nextSelected = this.getTabToSelect(currentSelectedFromProps, start, end);\n\n this.animateLine(\n this.swipedOverHalfOfContainer(difference) ? nextSelected : currentSelectedFromProps,\n );\n\n const dragDifference = this.calculateApplicableDragDifference({\n currentSelected: currentSelectedFromProps,\n nextSelected,\n start,\n end,\n });\n\n const translateX = dragDifference\n ? -(this.containerWidth * selected) + dragDifference\n : false;\n\n this.setState((state) => ({\n currentSwipe: [...state.currentSwipe, end],\n translateFrom: translateX || state.translateFrom,\n translateTo: translateX || state.translateTo,\n }));\n }\n };\n\n handleTouchEnd = (event) => {\n const { start, isSwiping } = this.state;\n const { selected } = this.props;\n const end = {\n x: event.nativeEvent.changedTouches[0].clientX,\n y: event.nativeEvent.changedTouches[0].clientY,\n time: Date.now(),\n };\n const difference = getSwipeDifference(start, end);\n const velocity = getVelocity([...this.state.currentSwipe, end]);\n\n this.setState({\n currentSwipe: [],\n });\n\n let nextSelected = selected;\n\n event.persist();\n\n if (isSwiping) {\n if (swipeShouldChangeTab(start, end) || this.swipedOverHalfOfContainer(difference)) {\n nextSelected = this.getTabToSelect(nextSelected, start, end);\n }\n\n if (nextSelected !== selected) {\n this.switchTab(nextSelected);\n\n this.setState({\n lastSwipeVelocity: velocity,\n });\n } else {\n this.animateToTab(nextSelected);\n }\n }\n\n this.setState({ isSwiping: false, isScrolling: false });\n };\n\n render() {\n const { tabs, changeTabOnSwipe, name, selected, className, transitionSpacing, headerWidth } =\n this.props;\n const {\n isSwiping,\n translateLineX,\n isAnimating,\n translateFrom,\n translateTo,\n lastSwipeVelocity,\n fullWidthTabs,\n } = this.state;\n\n const spacer = SpacerWidth[transitionSpacing];\n\n const tabsLength = this.filteredTabsLength;\n\n const distanceSwiped = Math.abs(-translateFrom - this.containerWidth * selected);\n\n const remainingContainerToTravel = isSwiping\n ? 1 - distanceSwiped / this.containerWidth\n : 1 - Math.abs(distanceSwiped / this.containerWidth - 1);\n\n const restrictedVelocity =\n (Number.isNaN(remainingContainerToTravel) ? 0 : remainingContainerToTravel) *\n Math.min(10 * Math.E, lastSwipeVelocity * 10 * Math.E);\n\n const hidePanelOverflow = isAnimating || isSwiping;\n\n const sliderWidth = tabsLength * this.containerWidth + spacer * 2;\n\n // Uses `props.panelTransitionSpacing` to add a spacer in-between the `TabPanel` you're transitioning to/from\n const Spacer = ({ id }) =>\n spacer > 0 && (\n <div\n key={id}\n style={{\n width: spacer,\n display: hidePanelOverflow ? 'block' : 'none',\n }}\n />\n );\n\n return (\n <DirectionContext.Consumer>\n {(direction) => {\n const isRTL = direction === Direction.RTL;\n return (\n <div\n ref={this.containerReference}\n className={classNames('tabs', className, {\n 'tabs--auto-width': headerWidth === Width.AUTO,\n })}\n onTouchStart={changeTabOnSwipe ? this.handleTouchStart : undefined}\n onTouchEnd={changeTabOnSwipe ? this.handleTouchEnd : undefined}\n onTouchMove={changeTabOnSwipe ? this.handleTouchMove : undefined}\n >\n <TabList>\n {tabs.map(({ title, disabled }, index) => {\n return (\n <Tab\n key={title}\n ref={(node) => {\n this.tabRefs[index] = node;\n }}\n id={`${name}-tab-${index}`}\n panelId={`${name}-panel-${index}`}\n selected={selected === index}\n disabled={disabled}\n focusTab={() => {\n if (this.containerReference.current?.contains(document.activeElement)) {\n this.tabRefs[index].focus();\n }\n }}\n onClick={disabled ? null : this.handleTabClick(index)}\n onKeyDown={this.onKeyDown(index)}\n {...(fullWidthTabs\n ? { style: { width: `${(1 / tabs.length) * 100}%` } }\n : {})}\n >\n {title}\n </Tab>\n );\n })}\n {translateLineX ? (\n <li\n role=\"none\"\n className=\"tabs__line\"\n style={{\n width: this.getTabLineWidth(),\n transform: isRTL\n ? `translateX(-${translateLineX})`\n : `translateX(${translateLineX})`,\n }}\n />\n ) : null}\n </TabList>\n <div\n ref={this.setContainerRefAndWidth}\n className=\"tabs__panel-container\"\n style={{\n overflow: hidePanelOverflow ? 'hidden' : 'visible',\n }}\n >\n <Spring\n from={{\n transform: `translateX(${translateFrom - spacer}px)`,\n }}\n to={{\n transform: `translateX(${translateTo - spacer}px)`,\n }}\n config={{\n precision: isSwiping ? 1 : 0.01,\n velocity: !isSwiping ? restrictedVelocity : 0,\n clamp: true,\n }}\n onRest={() => {\n if (isAnimating) {\n this.setState({\n isAnimating: false,\n lastSwipeVelocity: 0,\n });\n }\n }}\n >\n {(props) => (\n <animated.div\n className=\"tabs__slider\"\n style={{\n width: hidePanelOverflow ? `${sliderWidth}px` : '100%',\n transform: hidePanelOverflow ? props.transform : 'translateX(0px)',\n }}\n >\n {tabs.map(({ content, disabled }, index) =>\n !disabled ? (\n <Fragment key={`${tabs[index].title}-fragment`}>\n {index === selected && <Spacer id=\"left-spacer\" />}\n <TabPanel\n key={tabs[index].title}\n tabId={`${name}-tab-${index}`}\n id={`${name}-panel-${index}`}\n style={{\n width: hidePanelOverflow ? `${this.containerWidth}px` : '100%',\n display: hidePanelOverflow || index === selected ? 'block' : 'none',\n }}\n >\n {content}\n </TabPanel>\n {index === selected && <Spacer id=\"right-spacer\" />}\n </Fragment>\n ) : null,\n )}\n </animated.div>\n )}\n </Spring>\n </div>\n </div>\n );\n }}\n </DirectionContext.Consumer>\n );\n }\n}\n\nconst SpacerSizes = { ...Size, NONE: 'default' };\n\nTabs.propTypes = {\n tabs: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string.isRequired,\n content: PropTypes.node.isRequired,\n disabled: PropTypes.bool.isRequired,\n }),\n ).isRequired,\n selected: PropTypes.number.isRequired,\n name: PropTypes.string.isRequired,\n animatePanelsOnClick: PropTypes.bool,\n changeTabOnSwipe: PropTypes.bool,\n className: PropTypes.string,\n transitionSpacing: PropTypes.oneOf(['default', 'xs', 'sm', 'md', 'lg']),\n headerWidth: PropTypes.oneOf(['auto', 'block']),\n id: PropTypes.string,\n onTabSelect: PropTypes.func.isRequired,\n};\n\nTabs.defaultProps = {\n animatePanelsOnClick: false,\n changeTabOnSwipe: true,\n className: '',\n transitionSpacing: SpacerSizes.NONE,\n headerWidth: Width.BLOCK,\n};\n\nexport default Tabs;\n"],"names":["MIN_INDEX","enabledTabsFilter","tab","disabled","SpacerWidth","default","xs","sm","md","lg","Tabs","Component","containerReference","createRef","constructor","props","state","start","translateX","translateFrom","translateTo","translateLineX","isAnimating","isSwiping","isScrolling","lastSwipeVelocity","fullWidthTabs","headerWidth","Width","BLOCK","container","containerWidth","tabRefs","filteredTabsLength","tabs","filter","length","MAX_INDEX","componentDidMount","selected","setTabWidth","switchTab","clamp","animateToTab","document","body","addEventListener","disableScroll","passive","window","handleResize","componentDidUpdate","previousProps","previousState","currentSelected","previousSelected","currentSelectedTab","currentSelectedTabIsDisabled","previousSelectedTab","previousSelectedTabIsDisabled","currentTabsLength","previousTabsLength","currentDisabledTabsLength","previousDisabledTabsLength","currentHeaderWidth","previousFullHeaderWidth","animatePanelsOnClick","instantOnClick","componentWillUnmount","removeEventListener","setContainerWidth","setState","selectedTabIndex","setContainerRefAndWidth","node","width","getBoundingClientRect","isTabDisabled","index","getAllTabsWidth","map","reference","reduce","a","b","getDistanceToSelectedTab","_","idx","allTabsWidth","AUTO","getTabLineWidth","getTabToSelect","end","nextSelected","swipedLeftToRight","swipedRightToLeft","Math","max","min","swipedOverHalfOfContainer","difference","calculateApplicableDragDifference","getSwipeDifference","elasticDrag","getElasticDragDifference","onTabSelect","getTabIndexWithoutDisabledTabs","slice","instant","animateLine","animatePanel","currentTranslateTo","event","preventDefault","handleTabClick","onKeyDown","key","handleTouchStart","x","nativeEvent","touches","clientX","y","clientY","time","Date","now","currentSwipe","persist","handleTouchMove","currentSelectedFromProps","changedTouches","yAxisDifference","dragDifference","handleTouchEnd","velocity","getVelocity","swipeShouldChangeTab","render","changeTabOnSwipe","name","className","transitionSpacing","spacer","tabsLength","distanceSwiped","abs","remainingContainerToTravel","restrictedVelocity","Number","isNaN","E","hidePanelOverflow","sliderWidth","Spacer","id","_jsx","style","display","DirectionContext","Consumer","children","direction","isRTL","Direction","RTL","_jsxs","ref","classNames","onTouchStart","undefined","onTouchEnd","onTouchMove","TabList","title","Tab","panelId","focusTab","current","contains","activeElement","focus","onClick","role","transform","overflow","Spring","from","to","config","precision","onRest","animated","div","content","Fragment","TabPanel","tabId","SpacerSizes","Size","NONE","propTypes","PropTypes","arrayOf","shape","string","isRequired","bool","number","oneOf","func","defaultProps"],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const MIN_SWIPE_DISTANCE = 50;
|
|
4
|
+
const MIN_SWIPE_VELOCITY = 0.1;
|
|
5
|
+
const swipedSignificantDistance = difference => Math.abs(difference) > MIN_SWIPE_DISTANCE;
|
|
6
|
+
const swipedWithSignificantVelocity = velocity => velocity > MIN_SWIPE_VELOCITY;
|
|
7
|
+
const getSwipeVelocity = (start, end) => {
|
|
8
|
+
const timePassed = end.time - start.time;
|
|
9
|
+
return getSwipeDifference(start, end) / timePassed;
|
|
10
|
+
};
|
|
11
|
+
const getSwipeDifference = (start, end, axis = 'x') => {
|
|
12
|
+
return Math.abs(start[axis] - end[axis]);
|
|
13
|
+
};
|
|
14
|
+
const swipedLeftToRight = (start, end) => {
|
|
15
|
+
return end.x > start.x;
|
|
16
|
+
};
|
|
17
|
+
const swipedRightToLeft = (start, end) => {
|
|
18
|
+
return start.x > end.x;
|
|
19
|
+
};
|
|
20
|
+
const swipeShouldChangeTab = (start, end) => {
|
|
21
|
+
const difference = getSwipeDifference(start, end);
|
|
22
|
+
const velocity = getSwipeVelocity(start, end);
|
|
23
|
+
return swipedSignificantDistance(difference) && swipedWithSignificantVelocity(velocity);
|
|
24
|
+
};
|
|
25
|
+
function getVelocity(coords) {
|
|
26
|
+
try {
|
|
27
|
+
const relevant = coords.slice(Math.max(coords.length - 5, 1));
|
|
28
|
+
const first = relevant[0];
|
|
29
|
+
const last = relevant[relevant.length - 1];
|
|
30
|
+
return Math.abs(first.x - last.x) / (last.time - first.time);
|
|
31
|
+
} catch {
|
|
32
|
+
return 0;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/*
|
|
37
|
+
`elasticDrag` is the translateX value, which slows down as the difference increases
|
|
38
|
+
`1 - Math.E ** (-0.005 * difference)` provides a % value of how far we want to translate (0.005 being the rate)
|
|
39
|
+
`Math.min(150, window.innerWidth / 3)` provides the maximum translate value
|
|
40
|
+
*/
|
|
41
|
+
const getElasticDragDifference = difference => Math.min(150, window.innerWidth / 3) * (1 - Math.E ** (-0.005 * difference));
|
|
42
|
+
|
|
43
|
+
exports.getElasticDragDifference = getElasticDragDifference;
|
|
44
|
+
exports.getSwipeDifference = getSwipeDifference;
|
|
45
|
+
exports.getSwipeVelocity = getSwipeVelocity;
|
|
46
|
+
exports.getVelocity = getVelocity;
|
|
47
|
+
exports.swipeShouldChangeTab = swipeShouldChangeTab;
|
|
48
|
+
exports.swipedLeftToRight = swipedLeftToRight;
|
|
49
|
+
exports.swipedRightToLeft = swipedRightToLeft;
|
|
50
|
+
//# sourceMappingURL=utils.js.map
|