@transferwise/components 46.50.1 → 46.51.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/AccordionItem/AccordionItem.js +3 -7
- package/build/accordion/AccordionItem/AccordionItem.js.map +1 -1
- package/build/accordion/AccordionItem/AccordionItem.mjs +3 -3
- package/build/accordion/AccordionItem/AccordionItem.mjs.map +1 -1
- package/build/actionButton/ActionButton.js +2 -6
- package/build/actionButton/ActionButton.js.map +1 -1
- package/build/actionButton/ActionButton.mjs +2 -2
- package/build/actionButton/ActionButton.mjs.map +1 -1
- package/build/actionOption/ActionOption.js +2 -6
- package/build/actionOption/ActionOption.js.map +1 -1
- package/build/actionOption/ActionOption.mjs +2 -2
- package/build/actionOption/ActionOption.mjs.map +1 -1
- package/build/alert/Alert.js +3 -7
- package/build/alert/Alert.js.map +1 -1
- package/build/alert/Alert.mjs +3 -3
- package/build/alert/Alert.mjs.map +1 -1
- package/build/avatar/Avatar.js +2 -6
- package/build/avatar/Avatar.js.map +1 -1
- package/build/avatar/Avatar.mjs +2 -2
- package/build/avatar/Avatar.mjs.map +1 -1
- package/build/badge/Badge.js +2 -6
- package/build/badge/Badge.js.map +1 -1
- package/build/badge/Badge.mjs +2 -2
- package/build/badge/Badge.mjs.map +1 -1
- package/build/body/Body.js +2 -6
- package/build/body/Body.js.map +1 -1
- package/build/body/Body.mjs +2 -2
- package/build/body/Body.mjs.map +1 -1
- package/build/button/Button.js +2 -6
- package/build/button/Button.js.map +1 -1
- package/build/button/Button.mjs +2 -2
- package/build/button/Button.mjs.map +1 -1
- package/build/card/Card.js +4 -8
- package/build/card/Card.js.map +1 -1
- package/build/card/Card.mjs +4 -4
- package/build/card/Card.mjs.map +1 -1
- package/build/carousel/Carousel.js +5 -9
- package/build/carousel/Carousel.js.map +1 -1
- package/build/carousel/Carousel.mjs +5 -5
- package/build/carousel/Carousel.mjs.map +1 -1
- package/build/checkbox/Checkbox.js +3 -7
- package/build/checkbox/Checkbox.js.map +1 -1
- package/build/checkbox/Checkbox.mjs +3 -3
- package/build/checkbox/Checkbox.mjs.map +1 -1
- package/build/checkboxButton/CheckboxButton.js +2 -6
- package/build/checkboxButton/CheckboxButton.js.map +1 -1
- package/build/checkboxButton/CheckboxButton.mjs +2 -2
- package/build/checkboxButton/CheckboxButton.mjs.map +1 -1
- package/build/chevron/Chevron.js +3 -7
- package/build/chevron/Chevron.js.map +1 -1
- package/build/chevron/Chevron.mjs +3 -3
- package/build/chevron/Chevron.mjs.map +1 -1
- package/build/chips/Chip.js +2 -6
- package/build/chips/Chip.js.map +1 -1
- package/build/chips/Chip.mjs +2 -2
- package/build/chips/Chip.mjs.map +1 -1
- package/build/chips/Chips.js +3 -7
- package/build/chips/Chips.js.map +1 -1
- package/build/chips/Chips.mjs +3 -3
- package/build/chips/Chips.mjs.map +1 -1
- package/build/circularButton/CircularButton.js +3 -7
- package/build/circularButton/CircularButton.js.map +1 -1
- package/build/circularButton/CircularButton.mjs +3 -3
- package/build/circularButton/CircularButton.mjs.map +1 -1
- package/build/common/Option/Option.js +3 -7
- package/build/common/Option/Option.js.map +1 -1
- package/build/common/Option/Option.mjs +3 -3
- package/build/common/Option/Option.mjs.map +1 -1
- package/build/common/RadioButton/RadioButton.js +2 -6
- package/build/common/RadioButton/RadioButton.js.map +1 -1
- package/build/common/RadioButton/RadioButton.mjs +2 -2
- package/build/common/RadioButton/RadioButton.mjs.map +1 -1
- package/build/common/action/Action.js +2 -6
- package/build/common/action/Action.js.map +1 -1
- package/build/common/action/Action.mjs +2 -2
- package/build/common/action/Action.mjs.map +1 -1
- package/build/common/bottomSheet/BottomSheet.js +2 -6
- package/build/common/bottomSheet/BottomSheet.js.map +1 -1
- package/build/common/bottomSheet/BottomSheet.mjs +2 -2
- package/build/common/bottomSheet/BottomSheet.mjs.map +1 -1
- package/build/common/card/Card.js +2 -6
- package/build/common/card/Card.js.map +1 -1
- package/build/common/card/Card.mjs +2 -2
- package/build/common/card/Card.mjs.map +1 -1
- package/build/common/closeButton/CloseButton.js +2 -6
- package/build/common/closeButton/CloseButton.js.map +1 -1
- package/build/common/closeButton/CloseButton.mjs +2 -2
- package/build/common/closeButton/CloseButton.mjs.map +1 -1
- package/build/common/flowHeader/FlowHeader.js +3 -6
- package/build/common/flowHeader/FlowHeader.js.map +1 -1
- package/build/common/flowHeader/FlowHeader.mjs +3 -3
- package/build/common/flowHeader/FlowHeader.mjs.map +1 -1
- package/build/common/panel/Panel.js +4 -8
- package/build/common/panel/Panel.js.map +1 -1
- package/build/common/panel/Panel.mjs +4 -4
- package/build/common/panel/Panel.mjs.map +1 -1
- package/build/criticalBanner/CriticalCommsBanner.js +4 -8
- package/build/criticalBanner/CriticalCommsBanner.js.map +1 -1
- package/build/criticalBanner/CriticalCommsBanner.mjs +4 -4
- package/build/criticalBanner/CriticalCommsBanner.mjs.map +1 -1
- package/build/dateInput/DateInput.js +2 -6
- package/build/dateInput/DateInput.js.map +1 -1
- package/build/dateInput/DateInput.mjs +2 -2
- package/build/dateInput/DateInput.mjs.map +1 -1
- package/build/dateLookup/DateLookup.js +2 -6
- package/build/dateLookup/DateLookup.js.map +1 -1
- package/build/dateLookup/DateLookup.mjs +2 -2
- package/build/dateLookup/DateLookup.mjs.map +1 -1
- package/build/dateLookup/dateHeader/DateHeader.js +2 -6
- package/build/dateLookup/dateHeader/DateHeader.js.map +1 -1
- package/build/dateLookup/dateHeader/DateHeader.mjs +2 -2
- package/build/dateLookup/dateHeader/DateHeader.mjs.map +1 -1
- package/build/dateLookup/tableLink/TableLink.js +15 -21
- package/build/dateLookup/tableLink/TableLink.js.map +1 -1
- package/build/dateLookup/tableLink/TableLink.mjs +16 -18
- package/build/dateLookup/tableLink/TableLink.mjs.map +1 -1
- package/build/decision/Decision.js +3 -7
- package/build/decision/Decision.js.map +1 -1
- package/build/decision/Decision.mjs +3 -3
- package/build/decision/Decision.mjs.map +1 -1
- package/build/definitionList/DefinitionList.js +4 -8
- package/build/definitionList/DefinitionList.js.map +1 -1
- package/build/definitionList/DefinitionList.mjs +4 -4
- package/build/definitionList/DefinitionList.mjs.map +1 -1
- package/build/dimmer/Dimmer.js +6 -10
- package/build/dimmer/Dimmer.js.map +1 -1
- package/build/dimmer/Dimmer.mjs +6 -6
- package/build/dimmer/Dimmer.mjs.map +1 -1
- package/build/display/Display.js +2 -6
- package/build/display/Display.js.map +1 -1
- package/build/display/Display.mjs +2 -2
- package/build/display/Display.mjs.map +1 -1
- package/build/drawer/Drawer.js +5 -9
- package/build/drawer/Drawer.js.map +1 -1
- package/build/drawer/Drawer.mjs +5 -5
- package/build/drawer/Drawer.mjs.map +1 -1
- package/build/field/Field.js +2 -6
- package/build/field/Field.js.map +1 -1
- package/build/field/Field.mjs +2 -2
- package/build/field/Field.mjs.map +1 -1
- package/build/flowNavigation/FlowNavigation.js +4 -8
- package/build/flowNavigation/FlowNavigation.js.map +1 -1
- package/build/flowNavigation/FlowNavigation.mjs +4 -4
- package/build/flowNavigation/FlowNavigation.mjs.map +1 -1
- package/build/flowNavigation/animatedLabel/AnimatedLabel.js +3 -7
- package/build/flowNavigation/animatedLabel/AnimatedLabel.js.map +1 -1
- package/build/flowNavigation/animatedLabel/AnimatedLabel.mjs +3 -3
- package/build/flowNavigation/animatedLabel/AnimatedLabel.mjs.map +1 -1
- package/build/flowNavigation/backButton/BackButton.js +2 -6
- package/build/flowNavigation/backButton/BackButton.js.map +1 -1
- package/build/flowNavigation/backButton/BackButton.mjs +2 -2
- package/build/flowNavigation/backButton/BackButton.mjs.map +1 -1
- package/build/header/Header.js +3 -7
- package/build/header/Header.js.map +1 -1
- package/build/header/Header.mjs +3 -3
- package/build/header/Header.mjs.map +1 -1
- package/build/i18n/zh-HK.json +2 -0
- package/build/i18n/zh-HK.json.js +2 -0
- package/build/i18n/zh-HK.json.js.map +1 -1
- package/build/i18n/zh-HK.json.mjs +2 -0
- package/build/i18n/zh-HK.json.mjs.map +1 -1
- package/build/image/Image.js +2 -6
- package/build/image/Image.js.map +1 -1
- package/build/image/Image.mjs +2 -2
- package/build/image/Image.mjs.map +1 -1
- package/build/info/Info.js +2 -6
- package/build/info/Info.js.map +1 -1
- package/build/info/Info.mjs +2 -2
- package/build/info/Info.mjs.map +1 -1
- package/build/inlineAlert/InlineAlert.js +2 -6
- package/build/inlineAlert/InlineAlert.js.map +1 -1
- package/build/inlineAlert/InlineAlert.mjs +2 -2
- package/build/inlineAlert/InlineAlert.mjs.map +1 -1
- package/build/inputs/Input.js +2 -6
- package/build/inputs/Input.js.map +1 -1
- package/build/inputs/Input.mjs +2 -2
- package/build/inputs/Input.mjs.map +1 -1
- package/build/inputs/InputGroup.js +3 -7
- package/build/inputs/InputGroup.js.map +1 -1
- package/build/inputs/InputGroup.mjs +3 -3
- package/build/inputs/InputGroup.mjs.map +1 -1
- package/build/inputs/SelectInput.js +12 -13
- package/build/inputs/SelectInput.js.map +1 -1
- package/build/inputs/SelectInput.mjs +12 -12
- package/build/inputs/SelectInput.mjs.map +1 -1
- package/build/inputs/TextArea.js +2 -6
- package/build/inputs/TextArea.js.map +1 -1
- package/build/inputs/TextArea.mjs +2 -2
- package/build/inputs/TextArea.mjs.map +1 -1
- package/build/inputs/_BottomSheet.js +2 -6
- package/build/inputs/_BottomSheet.js.map +1 -1
- package/build/inputs/_BottomSheet.mjs +2 -2
- package/build/inputs/_BottomSheet.mjs.map +1 -1
- package/build/inputs/_ButtonInput.js +2 -6
- package/build/inputs/_ButtonInput.js.map +1 -1
- package/build/inputs/_ButtonInput.mjs +2 -2
- package/build/inputs/_ButtonInput.mjs.map +1 -1
- package/build/inputs/_Popover.js +3 -7
- package/build/inputs/_Popover.js.map +1 -1
- package/build/inputs/_Popover.mjs +3 -3
- package/build/inputs/_Popover.mjs.map +1 -1
- package/build/inputs/_common.js +2 -6
- package/build/inputs/_common.js.map +1 -1
- package/build/inputs/_common.mjs +2 -2
- package/build/inputs/_common.mjs.map +1 -1
- package/build/instructionsList/InstructionsList.js +2 -6
- package/build/instructionsList/InstructionsList.js.map +1 -1
- package/build/instructionsList/InstructionsList.mjs +2 -2
- package/build/instructionsList/InstructionsList.mjs.map +1 -1
- package/build/label/Label.js +2 -6
- package/build/label/Label.js.map +1 -1
- package/build/label/Label.mjs +2 -2
- package/build/label/Label.mjs.map +1 -1
- package/build/link/Link.js +2 -6
- package/build/link/Link.js.map +1 -1
- package/build/link/Link.mjs +2 -2
- package/build/link/Link.mjs.map +1 -1
- package/build/listItem/ListItem.js +3 -7
- package/build/listItem/ListItem.js.map +1 -1
- package/build/listItem/ListItem.mjs +3 -3
- package/build/listItem/ListItem.mjs.map +1 -1
- package/build/loader/Loader.js +2 -6
- package/build/loader/Loader.js.map +1 -1
- package/build/loader/Loader.mjs +4 -4
- package/build/loader/Loader.mjs.map +1 -1
- package/build/logo/Logo.js +2 -6
- package/build/logo/Logo.js.map +1 -1
- package/build/logo/Logo.mjs +2 -2
- package/build/logo/Logo.mjs.map +1 -1
- package/build/modal/Modal.js +7 -11
- package/build/modal/Modal.js.map +1 -1
- package/build/modal/Modal.mjs +7 -7
- package/build/modal/Modal.mjs.map +1 -1
- package/build/moneyInput/MoneyInput.js +17 -39
- package/build/moneyInput/MoneyInput.js.map +1 -1
- package/build/moneyInput/MoneyInput.mjs +17 -35
- package/build/moneyInput/MoneyInput.mjs.map +1 -1
- package/build/navigationOption/NavigationOption.js +2 -6
- package/build/navigationOption/NavigationOption.js.map +1 -1
- package/build/navigationOption/NavigationOption.mjs +2 -2
- package/build/navigationOption/NavigationOption.mjs.map +1 -1
- package/build/nudge/Nudge.js +4 -8
- package/build/nudge/Nudge.js.map +1 -1
- package/build/nudge/Nudge.mjs +4 -4
- package/build/nudge/Nudge.mjs.map +1 -1
- package/build/overlayHeader/OverlayHeader.js +3 -7
- package/build/overlayHeader/OverlayHeader.js.map +1 -1
- package/build/overlayHeader/OverlayHeader.mjs +3 -3
- package/build/overlayHeader/OverlayHeader.mjs.map +1 -1
- package/build/popover/Popover.js +2 -6
- package/build/popover/Popover.js.map +1 -1
- package/build/popover/Popover.mjs +2 -2
- package/build/popover/Popover.mjs.map +1 -1
- package/build/processIndicator/ProcessIndicator.js +2 -6
- package/build/processIndicator/ProcessIndicator.js.map +1 -1
- package/build/processIndicator/ProcessIndicator.mjs +2 -2
- package/build/processIndicator/ProcessIndicator.mjs.map +1 -1
- package/build/progress/Progress.js +2 -6
- package/build/progress/Progress.js.map +1 -1
- package/build/progress/Progress.mjs +2 -2
- package/build/progress/Progress.mjs.map +1 -1
- package/build/progressBar/ProgressBar.js +2 -6
- package/build/progressBar/ProgressBar.js.map +1 -1
- package/build/progressBar/ProgressBar.mjs +2 -2
- package/build/progressBar/ProgressBar.mjs.map +1 -1
- package/build/promoCard/PromoCard.js +3 -4
- package/build/promoCard/PromoCard.js.map +1 -1
- package/build/promoCard/PromoCard.mjs +3 -3
- package/build/promoCard/PromoCard.mjs.map +1 -1
- package/build/promoCard/PromoCardGroup.js +2 -3
- package/build/promoCard/PromoCardGroup.js.map +1 -1
- package/build/promoCard/PromoCardGroup.mjs +2 -2
- package/build/promoCard/PromoCardGroup.mjs.map +1 -1
- package/build/promoCard/PromoCardIndicator.js +2 -6
- package/build/promoCard/PromoCardIndicator.js.map +1 -1
- package/build/promoCard/PromoCardIndicator.mjs +2 -2
- package/build/promoCard/PromoCardIndicator.mjs.map +1 -1
- package/build/radio/Radio.js +5 -9
- package/build/radio/Radio.js.map +1 -1
- package/build/radio/Radio.mjs +5 -5
- package/build/radio/Radio.mjs.map +1 -1
- package/build/section/Section.js +2 -6
- package/build/section/Section.js.map +1 -1
- package/build/section/Section.mjs +2 -2
- package/build/section/Section.mjs.map +1 -1
- package/build/segmentedControl/SegmentedControl.js +5 -9
- package/build/segmentedControl/SegmentedControl.js.map +1 -1
- package/build/segmentedControl/SegmentedControl.mjs +5 -5
- package/build/segmentedControl/SegmentedControl.mjs.map +1 -1
- package/build/select/Select.js +9 -10
- package/build/select/Select.js.map +1 -1
- package/build/select/Select.mjs +9 -9
- package/build/select/Select.mjs.map +1 -1
- package/build/select/option/Option.js +2 -6
- package/build/select/option/Option.js.map +1 -1
- package/build/select/option/Option.mjs +2 -2
- package/build/select/option/Option.mjs.map +1 -1
- package/build/select/searchBox/SearchBox.js +4 -8
- package/build/select/searchBox/SearchBox.js.map +1 -1
- package/build/select/searchBox/SearchBox.mjs +6 -6
- package/build/select/searchBox/SearchBox.mjs.map +1 -1
- package/build/selectOption/SelectOption.js +4 -8
- package/build/selectOption/SelectOption.js.map +1 -1
- package/build/selectOption/SelectOption.mjs +4 -4
- package/build/selectOption/SelectOption.mjs.map +1 -1
- package/build/slidingPanel/SlidingPanel.js +2 -6
- package/build/slidingPanel/SlidingPanel.js.map +1 -1
- package/build/slidingPanel/SlidingPanel.mjs +2 -2
- package/build/slidingPanel/SlidingPanel.mjs.map +1 -1
- package/build/statusIcon/StatusIcon.js +3 -7
- package/build/statusIcon/StatusIcon.js.map +1 -1
- package/build/statusIcon/StatusIcon.mjs +3 -3
- package/build/statusIcon/StatusIcon.mjs.map +1 -1
- package/build/stepper/Stepper.js +3 -7
- package/build/stepper/Stepper.js.map +1 -1
- package/build/stepper/Stepper.mjs +3 -3
- package/build/stepper/Stepper.mjs.map +1 -1
- package/build/summary/Summary.js +2 -6
- package/build/summary/Summary.js.map +1 -1
- package/build/summary/Summary.mjs +2 -2
- package/build/summary/Summary.mjs.map +1 -1
- package/build/switch/Switch.js +2 -6
- package/build/switch/Switch.js.map +1 -1
- package/build/switch/Switch.mjs +2 -2
- package/build/switch/Switch.mjs.map +1 -1
- package/build/tabs/Tab.js +6 -7
- package/build/tabs/Tab.js.map +1 -1
- package/build/tabs/Tab.mjs +6 -6
- package/build/tabs/Tab.mjs.map +1 -1
- package/build/tabs/Tabs.js +2 -3
- package/build/tabs/Tabs.js.map +1 -1
- package/build/tabs/Tabs.mjs +2 -2
- package/build/tabs/Tabs.mjs.map +1 -1
- package/build/tile/Tile.js +3 -7
- package/build/tile/Tile.js.map +1 -1
- package/build/tile/Tile.mjs +3 -3
- package/build/tile/Tile.mjs.map +1 -1
- package/build/title/Title.js +3 -7
- package/build/title/Title.js.map +1 -1
- package/build/title/Title.mjs +3 -3
- package/build/title/Title.mjs.map +1 -1
- package/build/tooltip/Tooltip.js +3 -7
- package/build/tooltip/Tooltip.js.map +1 -1
- package/build/tooltip/Tooltip.mjs +3 -3
- package/build/tooltip/Tooltip.mjs.map +1 -1
- package/build/typeahead/Typeahead.js +6 -7
- package/build/typeahead/Typeahead.js.map +1 -1
- package/build/typeahead/Typeahead.mjs +6 -6
- package/build/typeahead/Typeahead.mjs.map +1 -1
- package/build/typeahead/typeaheadInput/TypeaheadInput.js +2 -6
- package/build/typeahead/typeaheadInput/TypeaheadInput.js.map +1 -1
- package/build/typeahead/typeaheadInput/TypeaheadInput.mjs +2 -2
- package/build/typeahead/typeaheadInput/TypeaheadInput.mjs.map +1 -1
- package/build/typeahead/typeaheadOption/TypeaheadOption.js +2 -6
- package/build/typeahead/typeaheadOption/TypeaheadOption.js.map +1 -1
- package/build/typeahead/typeaheadOption/TypeaheadOption.mjs +2 -2
- package/build/typeahead/typeaheadOption/TypeaheadOption.mjs.map +1 -1
- package/build/types/accordion/AccordionItem/AccordionItem.d.ts.map +1 -1
- package/build/types/chevron/Chevron.d.ts.map +1 -1
- package/build/types/circularButton/CircularButton.d.ts.map +1 -1
- package/build/types/dateLookup/tableLink/TableLink.d.ts.map +1 -1
- package/build/types/flowNavigation/FlowNavigation.d.ts.map +1 -1
- package/build/types/link/Link.d.ts.map +1 -1
- package/build/types/modal/Modal.d.ts.map +1 -1
- package/build/types/moneyInput/MoneyInput.d.ts +0 -1
- package/build/types/moneyInput/MoneyInput.d.ts.map +1 -1
- package/build/types/select/searchBox/SearchBox.d.ts.map +1 -1
- package/build/types/tabs/Tab.d.ts.map +1 -1
- package/build/types/uploadInput/uploadButton/UploadButton.d.ts.map +1 -1
- package/build/upload/Upload.js +2 -6
- package/build/upload/Upload.js.map +1 -1
- package/build/upload/Upload.mjs +2 -2
- package/build/upload/Upload.mjs.map +1 -1
- package/build/uploadInput/UploadInput.js +2 -6
- package/build/uploadInput/UploadInput.js.map +1 -1
- package/build/uploadInput/UploadInput.mjs +2 -2
- package/build/uploadInput/UploadInput.mjs.map +1 -1
- package/build/uploadInput/uploadButton/UploadButton.js +5 -9
- package/build/uploadInput/uploadButton/UploadButton.js.map +1 -1
- package/build/uploadInput/uploadButton/UploadButton.mjs +5 -5
- package/build/uploadInput/uploadButton/UploadButton.mjs.map +1 -1
- package/build/uploadInput/uploadItem/UploadItem.js +3 -7
- package/build/uploadInput/uploadItem/UploadItem.js.map +1 -1
- package/build/uploadInput/uploadItem/UploadItem.mjs +3 -3
- package/build/uploadInput/uploadItem/UploadItem.mjs.map +1 -1
- package/build/uploadInput/uploadItem/UploadItemLink.js +2 -6
- package/build/uploadInput/uploadItem/UploadItemLink.js.map +1 -1
- package/build/uploadInput/uploadItem/UploadItemLink.mjs +2 -2
- package/build/uploadInput/uploadItem/UploadItemLink.mjs.map +1 -1
- package/package.json +4 -4
- package/src/accordion/AccordionItem/AccordionItem.tsx +5 -9
- package/src/actionButton/ActionButton.tsx +2 -2
- package/src/actionOption/ActionOption.tsx +2 -2
- package/src/alert/Alert.tsx +3 -3
- package/src/avatar/Avatar.tsx +2 -2
- package/src/badge/Badge.tsx +2 -2
- package/src/body/Body.tsx +2 -2
- package/src/button/Button.tsx +2 -2
- package/src/card/Card.tsx +4 -4
- package/src/carousel/Carousel.tsx +5 -5
- package/src/checkbox/Checkbox.tsx +3 -3
- package/src/checkboxButton/CheckboxButton.tsx +2 -2
- package/src/chevron/Chevron.tsx +3 -12
- package/src/chips/Chip.tsx +2 -2
- package/src/chips/Chips.tsx +3 -3
- package/src/circularButton/CircularButton.tsx +4 -7
- package/src/common/Option/Option.tsx +3 -3
- package/src/common/RadioButton/RadioButton.tsx +2 -2
- package/src/common/action/Action.tsx +2 -2
- package/src/common/bottomSheet/BottomSheet.tsx +2 -2
- package/src/common/card/Card.tsx +2 -2
- package/src/common/closeButton/CloseButton.tsx +2 -2
- package/src/common/flowHeader/FlowHeader.tsx +3 -3
- package/src/common/panel/Panel.tsx +4 -4
- package/src/criticalBanner/CriticalCommsBanner.tsx +4 -4
- package/src/dateInput/DateInput.tsx +2 -2
- package/src/dateLookup/DateLookup.tsx +2 -2
- package/src/dateLookup/dateHeader/DateHeader.tsx +2 -2
- package/src/dateLookup/tableLink/TableLink.tsx +3 -5
- package/src/decision/Decision.tsx +3 -3
- package/src/definitionList/DefinitionList.tsx +4 -4
- package/src/dimmer/Dimmer.tsx +6 -6
- package/src/display/Display.tsx +2 -2
- package/src/drawer/Drawer.tsx +5 -5
- package/src/field/Field.tsx +3 -3
- package/src/flowNavigation/FlowNavigation.tsx +6 -7
- package/src/flowNavigation/animatedLabel/AnimatedLabel.tsx +3 -3
- package/src/flowNavigation/backButton/BackButton.tsx +2 -2
- package/src/header/Header.tsx +3 -3
- package/src/i18n/zh-HK.json +2 -0
- package/src/image/Image.tsx +2 -2
- package/src/info/Info.tsx +2 -2
- package/src/inlineAlert/InlineAlert.tsx +2 -2
- package/src/inputs/Input.tsx +2 -2
- package/src/inputs/InputGroup.tsx +3 -3
- package/src/inputs/SelectInput.story.tsx +2 -2
- package/src/inputs/SelectInput.tsx +12 -12
- package/src/inputs/TextArea.tsx +2 -2
- package/src/inputs/_BottomSheet.tsx +2 -2
- package/src/inputs/_ButtonInput.tsx +2 -2
- package/src/inputs/_Popover.tsx +3 -3
- package/src/inputs/_common.ts +2 -2
- package/src/instructionsList/InstructionsList.tsx +3 -3
- package/src/label/Label.tsx +2 -2
- package/src/link/Link.tsx +2 -7
- package/src/listItem/ListItem.tsx +3 -3
- package/src/loader/Loader.tsx +2 -2
- package/src/logo/Logo.tsx +2 -2
- package/src/modal/Modal.tsx +9 -15
- package/src/moneyInput/MoneyInput.story.tsx +0 -34
- package/src/moneyInput/MoneyInput.tsx +6 -29
- package/src/navigationOption/NavigationOption.tsx +2 -2
- package/src/nudge/Nudge.tsx +4 -4
- package/src/overlayHeader/OverlayHeader.tsx +3 -3
- package/src/popover/Popover.tsx +2 -2
- package/src/processIndicator/ProcessIndicator.tsx +2 -2
- package/src/progress/Progress.tsx +2 -2
- package/src/progressBar/ProgressBar.tsx +2 -2
- package/src/promoCard/PromoCard.tsx +4 -4
- package/src/promoCard/PromoCardGroup.tsx +2 -2
- package/src/promoCard/PromoCardIndicator.tsx +2 -2
- package/src/radio/Radio.tsx +5 -5
- package/src/section/Section.tsx +2 -2
- package/src/segmentedControl/SegmentedControl.tsx +5 -5
- package/src/select/Select.js +9 -9
- package/src/select/option/Option.tsx +2 -2
- package/src/select/searchBox/SearchBox.tsx +4 -7
- package/src/selectOption/SelectOption.tsx +5 -5
- package/src/slidingPanel/SlidingPanel.tsx +2 -2
- package/src/statusIcon/StatusIcon.tsx +3 -3
- package/src/stepper/Stepper.tsx +3 -3
- package/src/summary/Summary.tsx +2 -2
- package/src/switch/Switch.tsx +2 -2
- package/src/tabs/Tab.js +8 -12
- package/src/tabs/Tabs.js +2 -2
- package/src/tile/Tile.tsx +3 -3
- package/src/title/Title.tsx +3 -3
- package/src/tooltip/Tooltip.tsx +3 -3
- package/src/typeahead/Typeahead.tsx +6 -6
- package/src/typeahead/typeaheadInput/TypeaheadInput.tsx +2 -2
- package/src/typeahead/typeaheadOption/TypeaheadOption.tsx +2 -2
- package/src/upload/Upload.tsx +2 -2
- package/src/uploadInput/UploadInput.tsx +2 -2
- package/src/uploadInput/uploadButton/UploadButton.tsx +5 -9
- package/src/uploadInput/uploadItem/UploadItem.tsx +3 -3
- package/src/uploadInput/uploadItem/UploadItemLink.tsx +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.mjs","sources":["../../src/switch/Switch.tsx"],"sourcesContent":["import { CheckCircleFill, CrossCircleFill } from '@transferwise/icons';\nimport { useTheme } from '@wise/components-theming';\nimport
|
|
1
|
+
{"version":3,"file":"Switch.mjs","sources":["../../src/switch/Switch.tsx"],"sourcesContent":["import { CheckCircleFill, CrossCircleFill } from '@transferwise/icons';\nimport { useTheme } from '@wise/components-theming';\nimport { clsx } from 'clsx';\nimport type { KeyboardEventHandler, MouseEvent } from 'react';\n\nimport type { CommonProps } from '../common';\nimport { useInputAttributes } from '../inputs/contexts';\n\nexport type SwitchProps = CommonProps & {\n /**\n * Used to describe the purpose of the switch. To be used if there is no external label (i.e. aria-labelledby is null)\n * @deprecated Use `Field` wrapper or the `aria-labelledby` attribute instead.\n */\n 'aria-label'?: string;\n /** A reference to a label that describes the purpose of the switch. Ignored if aria-label is provided */\n 'aria-labelledby'?: string;\n /** Whether the switch is checked or not */\n checked?: boolean;\n disabled?: boolean;\n /** ID to apply to the switch container */\n id?: string;\n /** Function called when the switch is toggled */\n onClick: (event?: MouseEvent<HTMLSpanElement>) => void;\n};\n\nconst Switch = (props: SwitchProps) => {\n const inputAttributes = useInputAttributes({ nonLabelable: true });\n\n const { isModern } = useTheme();\n const {\n checked,\n className,\n id = inputAttributes.id,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledbyProp,\n onClick,\n disabled,\n } = props;\n\n const handleKeyDown: KeyboardEventHandler = (event) => {\n if (event.key === ' ') {\n event.preventDefault();\n onClick();\n }\n };\n\n const returnIcon = () => {\n if (isModern) {\n return <span className=\"np-switch--thumb\" />;\n }\n\n if (checked) {\n return (\n <span className=\"np-switch--thumb\">\n <CheckCircleFill size={24} />\n </span>\n );\n }\n return (\n <span className=\"np-switch--thumb\">\n <CrossCircleFill size={24} />\n </span>\n );\n };\n\n const ariaLabelledby =\n (ariaLabel ? undefined : ariaLabelledbyProp) ?? inputAttributes['aria-labelledby'];\n\n return (\n <span\n className={clsx(\n 'np-switch',\n\n {\n 'np-switch--unchecked': !checked,\n 'np-switch--checked': checked,\n disabled,\n },\n className,\n )}\n tabIndex={0}\n role=\"switch\"\n aria-checked={checked}\n aria-label={ariaLabel}\n {...inputAttributes}\n aria-labelledby={ariaLabelledby}\n id={id}\n aria-disabled={disabled}\n onClick={!disabled ? onClick : undefined}\n onKeyDown={!disabled ? handleKeyDown : undefined}\n >\n {returnIcon()}\n <input type=\"checkbox\" checked={checked} readOnly />\n </span>\n );\n};\n\nexport default Switch;\n"],"names":["Switch","props","inputAttributes","useInputAttributes","nonLabelable","isModern","useTheme","checked","className","id","ariaLabel","ariaLabelledbyProp","onClick","disabled","handleKeyDown","event","key","preventDefault","returnIcon","_jsx","children","CheckCircleFill","size","CrossCircleFill","ariaLabelledby","undefined","_jsxs","clsx","tabIndex","role","onKeyDown","type","readOnly"],"mappings":";;;;;;AAyBMA,MAAAA,MAAM,GAAIC,KAAkB,IAAI;EACpC,MAAMC,eAAe,GAAGC,kBAAkB,CAAC;AAAEC,IAAAA,YAAY,EAAE,IAAA;AAAM,GAAA,CAAC,CAAA;EAElE,MAAM;AAAEC,IAAAA,QAAAA;GAAU,GAAGC,QAAQ,EAAE,CAAA;EAC/B,MAAM;IACJC,OAAO;IACPC,SAAS;IACTC,EAAE,GAAGP,eAAe,CAACO,EAAE;AACvB,IAAA,YAAY,EAAEC,SAAS;AACvB,IAAA,iBAAiB,EAAEC,kBAAkB;IACrCC,OAAO;AACPC,IAAAA,QAAAA;AAAQ,GACT,GAAGZ,KAAK,CAAA;EAET,MAAMa,aAAa,GAA0BC,KAAK,IAAI;AACpD,IAAA,IAAIA,KAAK,CAACC,GAAG,KAAK,GAAG,EAAE;MACrBD,KAAK,CAACE,cAAc,EAAE,CAAA;AACtBL,MAAAA,OAAO,EAAE,CAAA;AACX,KAAA;GACD,CAAA;EAED,MAAMM,UAAU,GAAGA,MAAK;AACtB,IAAA,IAAIb,QAAQ,EAAE;AACZ,MAAA,oBAAOc,GAAA,CAAA,MAAA,EAAA;AAAMX,QAAAA,SAAS,EAAC,kBAAA;AAAkB,QAAG,CAAA;AAC9C,KAAA;AAEA,IAAA,IAAID,OAAO,EAAE;AACX,MAAA,oBACEY,GAAA,CAAA,MAAA,EAAA;AAAMX,QAAAA,SAAS,EAAC,kBAAkB;QAAAY,QAAA,eAChCD,GAAA,CAACE,eAAe,EAAA;AAACC,UAAAA,IAAI,EAAE,EAAA;SACzB,CAAA;AAAA,OAAM,CAAC,CAAA;AAEX,KAAA;AACA,IAAA,oBACEH,GAAA,CAAA,MAAA,EAAA;AAAMX,MAAAA,SAAS,EAAC,kBAAkB;MAAAY,QAAA,eAChCD,GAAA,CAACI,eAAe,EAAA;AAACD,QAAAA,IAAI,EAAE,EAAA;OACzB,CAAA;AAAA,KAAM,CAAC,CAAA;GAEV,CAAA;AAED,EAAA,MAAME,cAAc,GAClB,CAACd,SAAS,GAAGe,SAAS,GAAGd,kBAAkB,KAAKT,eAAe,CAAC,iBAAiB,CAAC,CAAA;AAEpF,EAAA,oBACEwB,IAAA,CAAA,MAAA,EAAA;AACElB,IAAAA,SAAS,EAAEmB,IAAI,CACb,WAAW,EAEX;MACE,sBAAsB,EAAE,CAACpB,OAAO;AAChC,MAAA,oBAAoB,EAAEA,OAAO;AAC7BM,MAAAA,QAAAA;KACD,EACDL,SAAS,CACT;AACFoB,IAAAA,QAAQ,EAAE,CAAE;AACZC,IAAAA,IAAI,EAAC,QAAQ;AACb,IAAA,cAAA,EAActB,OAAQ;AACtB,IAAA,YAAA,EAAYG,SAAU;AAAA,IAAA,GAClBR,eAAe;AACnB,IAAA,iBAAA,EAAiBsB,cAAe;AAChCf,IAAAA,EAAE,EAAEA,EAAG;AACP,IAAA,eAAA,EAAeI,QAAS;AACxBD,IAAAA,OAAO,EAAE,CAACC,QAAQ,GAAGD,OAAO,GAAGa,SAAU;AACzCK,IAAAA,SAAS,EAAE,CAACjB,QAAQ,GAAGC,aAAa,GAAGW,SAAU;AAAAL,IAAAA,QAAA,EAEhDF,CAAAA,UAAU,EAAE,eACbC,GAAA,CAAA,OAAA,EAAA;AAAOY,MAAAA,IAAI,EAAC,UAAU;AAACxB,MAAAA,OAAO,EAAEA,OAAQ;MAACyB,QAAQ,EAAA,IAAA;AAAA,KACnD,CAAA,CAAA;AAAA,GAAM,CAAC,CAAA;AAEX;;;;"}
|
package/build/tabs/Tab.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var clsx = require('clsx');
|
|
4
4
|
var PropTypes = require('prop-types');
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
7
|
|
|
8
8
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
9
|
|
|
10
|
-
var classNames__default = /*#__PURE__*/_interopDefault(classNames);
|
|
11
10
|
var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
|
|
12
11
|
|
|
13
12
|
const Tab = /*#__PURE__*/React.forwardRef(({
|
|
@@ -36,10 +35,10 @@ const Tab = /*#__PURE__*/React.forwardRef(({
|
|
|
36
35
|
}, [selected]);
|
|
37
36
|
return /*#__PURE__*/jsxRuntime.jsx("li", {
|
|
38
37
|
ref: reference,
|
|
39
|
-
className:
|
|
38
|
+
className: clsx.clsx('tabs__tab', selected ? 'np-text-body-large-bold' : 'np-text-body-large', {
|
|
40
39
|
'tabs__tab--selected': selected,
|
|
41
40
|
clickable: !disabled,
|
|
42
|
-
disabled
|
|
41
|
+
disabled
|
|
43
42
|
}),
|
|
44
43
|
role: "tab",
|
|
45
44
|
id: id,
|
|
@@ -69,12 +68,12 @@ Tab.propTypes = {
|
|
|
69
68
|
selected: PropTypes__default.default.bool,
|
|
70
69
|
id: PropTypes__default.default.string.isRequired,
|
|
71
70
|
panelId: PropTypes__default.default.string.isRequired,
|
|
72
|
-
onKeyDown: PropTypes__default.default.func.isRequired,
|
|
73
|
-
onClick: PropTypes__default.default.func,
|
|
74
71
|
style: PropTypes__default.default.shape({
|
|
75
72
|
width: PropTypes__default.default.string
|
|
76
73
|
}),
|
|
77
|
-
focusTab: PropTypes__default.default.func
|
|
74
|
+
focusTab: PropTypes__default.default.func,
|
|
75
|
+
onKeyDown: PropTypes__default.default.func.isRequired,
|
|
76
|
+
onClick: PropTypes__default.default.func
|
|
78
77
|
};
|
|
79
78
|
|
|
80
79
|
module.exports = Tab;
|
package/build/tabs/Tab.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tab.js","sources":["../../src/tabs/Tab.js"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"Tab.js","sources":["../../src/tabs/Tab.js"],"sourcesContent":["import { clsx } from 'clsx';\nimport PropTypes from 'prop-types';\nimport { forwardRef, useEffect, useRef } from 'react';\n\nconst Tab = forwardRef(\n (\n { children, id, disabled, panelId, selected, onKeyDown, onClick, style, focusTab },\n reference,\n ) => {\n const firstUpdate = useRef(true);\n\n const checkFocus = () => {\n if (firstUpdate.current) {\n firstUpdate.current = false;\n return;\n }\n\n if (selected && focusTab) {\n focusTab();\n }\n };\n\n useEffect(() => {\n checkFocus();\n }, [selected]);\n\n return (\n <li\n ref={reference}\n className={clsx('tabs__tab', selected ? 'np-text-body-large-bold' : 'np-text-body-large', {\n 'tabs__tab--selected': selected,\n clickable: !disabled,\n disabled,\n })}\n role=\"tab\"\n id={id}\n aria-selected={selected ? 'true' : 'false'}\n aria-disabled={disabled ? 'true' : 'false'}\n aria-controls={disabled ? null : panelId}\n tabIndex=\"0\"\n style={style}\n onKeyDown={disabled ? null : onKeyDown}\n onClick={onClick}\n >\n <span className=\"tabs__tab__content\">{children}</span>\n </li>\n );\n },\n);\n\nTab.defaultProps = {\n disabled: false,\n selected: false,\n onClick: null,\n style: null,\n focusTab: null,\n};\n\nTab.propTypes = {\n children: PropTypes.node.isRequired,\n disabled: PropTypes.bool,\n selected: PropTypes.bool,\n id: PropTypes.string.isRequired,\n panelId: PropTypes.string.isRequired,\n style: PropTypes.shape({ width: PropTypes.string }),\n focusTab: PropTypes.func,\n onKeyDown: PropTypes.func.isRequired,\n onClick: PropTypes.func,\n};\n\nexport default Tab;\n"],"names":["Tab","forwardRef","children","id","disabled","panelId","selected","onKeyDown","onClick","style","focusTab","reference","firstUpdate","useRef","checkFocus","current","useEffect","_jsx","ref","className","clsx","clickable","role","tabIndex","defaultProps","propTypes","PropTypes","node","isRequired","bool","string","shape","width","func"],"mappings":";;;;;;;;;;;AAIA,MAAMA,GAAG,gBAAGC,gBAAU,CACpB,CACE;EAAEC,QAAQ;EAAEC,EAAE;EAAEC,QAAQ;EAAEC,OAAO;EAAEC,QAAQ;EAAEC,SAAS;EAAEC,OAAO;EAAEC,KAAK;AAAEC,EAAAA,QAAAA;AAAS,CAAC,EAClFC,SAAS,KACN;AACH,EAAA,MAAMC,WAAW,GAAGC,YAAM,CAAC,IAAI,CAAC,CAAA;EAEhC,MAAMC,UAAU,GAAGA,MAAM;IACvB,IAAIF,WAAW,CAACG,OAAO,EAAE;MACvBH,WAAW,CAACG,OAAO,GAAG,KAAK,CAAA;AAC3B,MAAA,OAAA;AACF,KAAA;IAEA,IAAIT,QAAQ,IAAII,QAAQ,EAAE;AACxBA,MAAAA,QAAQ,EAAE,CAAA;AACZ,KAAA;GACD,CAAA;AAEDM,EAAAA,eAAS,CAAC,MAAM;AACdF,IAAAA,UAAU,EAAE,CAAA;AACd,GAAC,EAAE,CAACR,QAAQ,CAAC,CAAC,CAAA;AAEd,EAAA,oBACEW,cAAA,CAAA,IAAA,EAAA;AACEC,IAAAA,GAAG,EAAEP,SAAU;IACfQ,SAAS,EAAEC,SAAI,CAAC,WAAW,EAAEd,QAAQ,GAAG,yBAAyB,GAAG,oBAAoB,EAAE;AACxF,MAAA,qBAAqB,EAAEA,QAAQ;MAC/Be,SAAS,EAAE,CAACjB,QAAQ;AACpBA,MAAAA,QAAAA;AACF,KAAC,CAAE;AACHkB,IAAAA,IAAI,EAAC,KAAK;AACVnB,IAAAA,EAAE,EAAEA,EAAG;AACP,IAAA,eAAA,EAAeG,QAAQ,GAAG,MAAM,GAAG,OAAQ;AAC3C,IAAA,eAAA,EAAeF,QAAQ,GAAG,MAAM,GAAG,OAAQ;AAC3C,IAAA,eAAA,EAAeA,QAAQ,GAAG,IAAI,GAAGC,OAAQ;AACzCkB,IAAAA,QAAQ,EAAC,GAAG;AACZd,IAAAA,KAAK,EAAEA,KAAM;AACbF,IAAAA,SAAS,EAAEH,QAAQ,GAAG,IAAI,GAAGG,SAAU;AACvCC,IAAAA,OAAO,EAAEA,OAAQ;AAAAN,IAAAA,QAAA,eAEjBe,cAAA,CAAA,MAAA,EAAA;AAAME,MAAAA,SAAS,EAAC,oBAAoB;AAAAjB,MAAAA,QAAA,EAAEA,QAAAA;KAAe,CAAA;AAAC,GACpD,CAAC,CAAA;AAET,CACF,EAAC;AAEDF,GAAG,CAACwB,YAAY,GAAG;AACjBpB,EAAAA,QAAQ,EAAE,KAAK;AACfE,EAAAA,QAAQ,EAAE,KAAK;AACfE,EAAAA,OAAO,EAAE,IAAI;AACbC,EAAAA,KAAK,EAAE,IAAI;AACXC,EAAAA,QAAQ,EAAE,IAAA;AACZ,CAAC,CAAA;AAEDV,GAAG,CAACyB,SAAS,GAAG;AACdvB,EAAAA,QAAQ,EAAEwB,0BAAS,CAACC,IAAI,CAACC,UAAU;EACnCxB,QAAQ,EAAEsB,0BAAS,CAACG,IAAI;EACxBvB,QAAQ,EAAEoB,0BAAS,CAACG,IAAI;AACxB1B,EAAAA,EAAE,EAAEuB,0BAAS,CAACI,MAAM,CAACF,UAAU;AAC/BvB,EAAAA,OAAO,EAAEqB,0BAAS,CAACI,MAAM,CAACF,UAAU;AACpCnB,EAAAA,KAAK,EAAEiB,0BAAS,CAACK,KAAK,CAAC;IAAEC,KAAK,EAAEN,0BAAS,CAACI,MAAAA;AAAO,GAAC,CAAC;EACnDpB,QAAQ,EAAEgB,0BAAS,CAACO,IAAI;AACxB1B,EAAAA,SAAS,EAAEmB,0BAAS,CAACO,IAAI,CAACL,UAAU;EACpCpB,OAAO,EAAEkB,0BAAS,CAACO,IAAAA;AACrB,CAAC;;;;"}
|
package/build/tabs/Tab.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { clsx } from 'clsx';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { forwardRef, useRef, useEffect } from 'react';
|
|
4
4
|
import { jsx } from 'react/jsx-runtime';
|
|
@@ -29,10 +29,10 @@ const Tab = /*#__PURE__*/forwardRef(({
|
|
|
29
29
|
}, [selected]);
|
|
30
30
|
return /*#__PURE__*/jsx("li", {
|
|
31
31
|
ref: reference,
|
|
32
|
-
className:
|
|
32
|
+
className: clsx('tabs__tab', selected ? 'np-text-body-large-bold' : 'np-text-body-large', {
|
|
33
33
|
'tabs__tab--selected': selected,
|
|
34
34
|
clickable: !disabled,
|
|
35
|
-
disabled
|
|
35
|
+
disabled
|
|
36
36
|
}),
|
|
37
37
|
role: "tab",
|
|
38
38
|
id: id,
|
|
@@ -62,12 +62,12 @@ Tab.propTypes = {
|
|
|
62
62
|
selected: PropTypes.bool,
|
|
63
63
|
id: PropTypes.string.isRequired,
|
|
64
64
|
panelId: PropTypes.string.isRequired,
|
|
65
|
-
onKeyDown: PropTypes.func.isRequired,
|
|
66
|
-
onClick: PropTypes.func,
|
|
67
65
|
style: PropTypes.shape({
|
|
68
66
|
width: PropTypes.string
|
|
69
67
|
}),
|
|
70
|
-
focusTab: PropTypes.func
|
|
68
|
+
focusTab: PropTypes.func,
|
|
69
|
+
onKeyDown: PropTypes.func.isRequired,
|
|
70
|
+
onClick: PropTypes.func
|
|
71
71
|
};
|
|
72
72
|
|
|
73
73
|
export { Tab as default };
|
package/build/tabs/Tab.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tab.mjs","sources":["../../src/tabs/Tab.js"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"Tab.mjs","sources":["../../src/tabs/Tab.js"],"sourcesContent":["import { clsx } from 'clsx';\nimport PropTypes from 'prop-types';\nimport { forwardRef, useEffect, useRef } from 'react';\n\nconst Tab = forwardRef(\n (\n { children, id, disabled, panelId, selected, onKeyDown, onClick, style, focusTab },\n reference,\n ) => {\n const firstUpdate = useRef(true);\n\n const checkFocus = () => {\n if (firstUpdate.current) {\n firstUpdate.current = false;\n return;\n }\n\n if (selected && focusTab) {\n focusTab();\n }\n };\n\n useEffect(() => {\n checkFocus();\n }, [selected]);\n\n return (\n <li\n ref={reference}\n className={clsx('tabs__tab', selected ? 'np-text-body-large-bold' : 'np-text-body-large', {\n 'tabs__tab--selected': selected,\n clickable: !disabled,\n disabled,\n })}\n role=\"tab\"\n id={id}\n aria-selected={selected ? 'true' : 'false'}\n aria-disabled={disabled ? 'true' : 'false'}\n aria-controls={disabled ? null : panelId}\n tabIndex=\"0\"\n style={style}\n onKeyDown={disabled ? null : onKeyDown}\n onClick={onClick}\n >\n <span className=\"tabs__tab__content\">{children}</span>\n </li>\n );\n },\n);\n\nTab.defaultProps = {\n disabled: false,\n selected: false,\n onClick: null,\n style: null,\n focusTab: null,\n};\n\nTab.propTypes = {\n children: PropTypes.node.isRequired,\n disabled: PropTypes.bool,\n selected: PropTypes.bool,\n id: PropTypes.string.isRequired,\n panelId: PropTypes.string.isRequired,\n style: PropTypes.shape({ width: PropTypes.string }),\n focusTab: PropTypes.func,\n onKeyDown: PropTypes.func.isRequired,\n onClick: PropTypes.func,\n};\n\nexport default Tab;\n"],"names":["Tab","forwardRef","children","id","disabled","panelId","selected","onKeyDown","onClick","style","focusTab","reference","firstUpdate","useRef","checkFocus","current","useEffect","_jsx","ref","className","clsx","clickable","role","tabIndex","defaultProps","propTypes","PropTypes","node","isRequired","bool","string","shape","width","func"],"mappings":";;;;;AAIA,MAAMA,GAAG,gBAAGC,UAAU,CACpB,CACE;EAAEC,QAAQ;EAAEC,EAAE;EAAEC,QAAQ;EAAEC,OAAO;EAAEC,QAAQ;EAAEC,SAAS;EAAEC,OAAO;EAAEC,KAAK;AAAEC,EAAAA,QAAAA;AAAS,CAAC,EAClFC,SAAS,KACN;AACH,EAAA,MAAMC,WAAW,GAAGC,MAAM,CAAC,IAAI,CAAC,CAAA;EAEhC,MAAMC,UAAU,GAAGA,MAAM;IACvB,IAAIF,WAAW,CAACG,OAAO,EAAE;MACvBH,WAAW,CAACG,OAAO,GAAG,KAAK,CAAA;AAC3B,MAAA,OAAA;AACF,KAAA;IAEA,IAAIT,QAAQ,IAAII,QAAQ,EAAE;AACxBA,MAAAA,QAAQ,EAAE,CAAA;AACZ,KAAA;GACD,CAAA;AAEDM,EAAAA,SAAS,CAAC,MAAM;AACdF,IAAAA,UAAU,EAAE,CAAA;AACd,GAAC,EAAE,CAACR,QAAQ,CAAC,CAAC,CAAA;AAEd,EAAA,oBACEW,GAAA,CAAA,IAAA,EAAA;AACEC,IAAAA,GAAG,EAAEP,SAAU;IACfQ,SAAS,EAAEC,IAAI,CAAC,WAAW,EAAEd,QAAQ,GAAG,yBAAyB,GAAG,oBAAoB,EAAE;AACxF,MAAA,qBAAqB,EAAEA,QAAQ;MAC/Be,SAAS,EAAE,CAACjB,QAAQ;AACpBA,MAAAA,QAAAA;AACF,KAAC,CAAE;AACHkB,IAAAA,IAAI,EAAC,KAAK;AACVnB,IAAAA,EAAE,EAAEA,EAAG;AACP,IAAA,eAAA,EAAeG,QAAQ,GAAG,MAAM,GAAG,OAAQ;AAC3C,IAAA,eAAA,EAAeF,QAAQ,GAAG,MAAM,GAAG,OAAQ;AAC3C,IAAA,eAAA,EAAeA,QAAQ,GAAG,IAAI,GAAGC,OAAQ;AACzCkB,IAAAA,QAAQ,EAAC,GAAG;AACZd,IAAAA,KAAK,EAAEA,KAAM;AACbF,IAAAA,SAAS,EAAEH,QAAQ,GAAG,IAAI,GAAGG,SAAU;AACvCC,IAAAA,OAAO,EAAEA,OAAQ;AAAAN,IAAAA,QAAA,eAEjBe,GAAA,CAAA,MAAA,EAAA;AAAME,MAAAA,SAAS,EAAC,oBAAoB;AAAAjB,MAAAA,QAAA,EAAEA,QAAAA;KAAe,CAAA;AAAC,GACpD,CAAC,CAAA;AAET,CACF,EAAC;AAEDF,GAAG,CAACwB,YAAY,GAAG;AACjBpB,EAAAA,QAAQ,EAAE,KAAK;AACfE,EAAAA,QAAQ,EAAE,KAAK;AACfE,EAAAA,OAAO,EAAE,IAAI;AACbC,EAAAA,KAAK,EAAE,IAAI;AACXC,EAAAA,QAAQ,EAAE,IAAA;AACZ,CAAC,CAAA;AAEDV,GAAG,CAACyB,SAAS,GAAG;AACdvB,EAAAA,QAAQ,EAAEwB,SAAS,CAACC,IAAI,CAACC,UAAU;EACnCxB,QAAQ,EAAEsB,SAAS,CAACG,IAAI;EACxBvB,QAAQ,EAAEoB,SAAS,CAACG,IAAI;AACxB1B,EAAAA,EAAE,EAAEuB,SAAS,CAACI,MAAM,CAACF,UAAU;AAC/BvB,EAAAA,OAAO,EAAEqB,SAAS,CAACI,MAAM,CAACF,UAAU;AACpCnB,EAAAA,KAAK,EAAEiB,SAAS,CAACK,KAAK,CAAC;IAAEC,KAAK,EAAEN,SAAS,CAACI,MAAAA;AAAO,GAAC,CAAC;EACnDpB,QAAQ,EAAEgB,SAAS,CAACO,IAAI;AACxB1B,EAAAA,SAAS,EAAEmB,SAAS,CAACO,IAAI,CAACL,UAAU;EACpCpB,OAAO,EAAEkB,SAAS,CAACO,IAAAA;AACrB,CAAC;;;;"}
|
package/build/tabs/Tabs.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var web = require('@react-spring/web');
|
|
4
|
-
var
|
|
4
|
+
var clsx = require('clsx');
|
|
5
5
|
var clamp = require('lodash.clamp');
|
|
6
6
|
var PropTypes = require('prop-types');
|
|
7
7
|
var React = require('react');
|
|
@@ -17,7 +17,6 @@ var size = require('../common/propsValues/size.js');
|
|
|
17
17
|
|
|
18
18
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
19
|
|
|
20
|
-
var classNames__default = /*#__PURE__*/_interopDefault(classNames);
|
|
21
20
|
var clamp__default = /*#__PURE__*/_interopDefault(clamp);
|
|
22
21
|
var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
|
|
23
22
|
|
|
@@ -409,7 +408,7 @@ class Tabs extends React.Component {
|
|
|
409
408
|
const isRTL = direction$1 === direction.Direction.RTL;
|
|
410
409
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
411
410
|
ref: this.containerReference,
|
|
412
|
-
className:
|
|
411
|
+
className: clsx.clsx('tabs', className, {
|
|
413
412
|
'tabs--auto-width': headerWidth === width.Width.AUTO
|
|
414
413
|
}),
|
|
415
414
|
onTouchStart: changeTabOnSwipe ? this.handleTouchStart : undefined,
|
package/build/tabs/Tabs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.js","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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"}
|
|
1
|
+
{"version":3,"file":"Tabs.js","sources":["../../src/tabs/Tabs.js"],"sourcesContent":["/* eslint-disable react/forbid-dom-props */\nimport { Spring, SpringValue, animated } from '@react-spring/web';\nimport { clsx } from 'clsx';\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={clsx('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","clsx","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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"}
|
package/build/tabs/Tabs.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Spring, animated } from '@react-spring/web';
|
|
2
|
-
import
|
|
2
|
+
import { clsx } from 'clsx';
|
|
3
3
|
import clamp from 'lodash.clamp';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
5
|
import { Component, createRef, Fragment } from 'react';
|
|
@@ -401,7 +401,7 @@ class Tabs extends Component {
|
|
|
401
401
|
const isRTL = direction === Direction.RTL;
|
|
402
402
|
return /*#__PURE__*/jsxs("div", {
|
|
403
403
|
ref: this.containerReference,
|
|
404
|
-
className:
|
|
404
|
+
className: clsx('tabs', className, {
|
|
405
405
|
'tabs--auto-width': headerWidth === Width.AUTO
|
|
406
406
|
}),
|
|
407
407
|
onTouchStart: changeTabOnSwipe ? this.handleTouchStart : undefined,
|