@transferwise/components 46.77.0 → 46.79.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 +22 -3
- package/build/accordion/AccordionItem/AccordionItem.js.map +1 -1
- package/build/accordion/AccordionItem/AccordionItem.mjs +22 -3
- package/build/accordion/AccordionItem/AccordionItem.mjs.map +1 -1
- package/build/actionButton/ActionButton.js +22 -1
- package/build/actionButton/ActionButton.js.map +1 -1
- package/build/actionButton/ActionButton.mjs +22 -1
- package/build/actionButton/ActionButton.mjs.map +1 -1
- package/build/actionOption/ActionOption.js +24 -2
- package/build/actionOption/ActionOption.js.map +1 -1
- package/build/actionOption/ActionOption.mjs +24 -2
- package/build/actionOption/ActionOption.mjs.map +1 -1
- package/build/alert/Alert.js +22 -6
- package/build/alert/Alert.js.map +1 -1
- package/build/alert/Alert.mjs +22 -6
- package/build/alert/Alert.mjs.map +1 -1
- package/build/alert/inlineMarkdown/InlineMarkdown.js +25 -2
- package/build/alert/inlineMarkdown/InlineMarkdown.js.map +1 -1
- package/build/alert/inlineMarkdown/InlineMarkdown.mjs +25 -2
- package/build/alert/inlineMarkdown/InlineMarkdown.mjs.map +1 -1
- package/build/avatar/Avatar.js +25 -9
- package/build/avatar/Avatar.js.map +1 -1
- package/build/avatar/Avatar.mjs +25 -9
- package/build/avatar/Avatar.mjs.map +1 -1
- package/build/avatarWrapper/AvatarWrapper.js +23 -3
- package/build/avatarWrapper/AvatarWrapper.js.map +1 -1
- package/build/avatarWrapper/AvatarWrapper.mjs +23 -3
- package/build/avatarWrapper/AvatarWrapper.mjs.map +1 -1
- package/build/badge/Badge.js +24 -12
- package/build/badge/Badge.js.map +1 -1
- package/build/badge/Badge.mjs +24 -12
- package/build/badge/Badge.mjs.map +1 -1
- package/build/button/Button.js +22 -6
- package/build/button/Button.js.map +1 -1
- package/build/button/Button.messages.js.map +1 -1
- package/build/button/Button.messages.mjs.map +1 -1
- package/build/button/Button.mjs +22 -6
- package/build/button/Button.mjs.map +1 -1
- package/build/button/classMap.js +24 -0
- package/build/button/classMap.js.map +1 -1
- package/build/button/classMap.mjs +24 -0
- package/build/button/classMap.mjs.map +1 -1
- package/build/button/legacyUtils/legacyUtils.js +30 -7
- package/build/button/legacyUtils/legacyUtils.js.map +1 -1
- package/build/button/legacyUtils/legacyUtils.mjs +30 -7
- package/build/button/legacyUtils/legacyUtils.mjs.map +1 -1
- package/build/card/Card.js +23 -3
- package/build/card/Card.js.map +1 -1
- package/build/card/Card.mjs +23 -3
- package/build/card/Card.mjs.map +1 -1
- package/build/checkbox/Checkbox.js +23 -1
- package/build/checkbox/Checkbox.js.map +1 -1
- package/build/checkbox/Checkbox.mjs +23 -1
- package/build/checkbox/Checkbox.mjs.map +1 -1
- package/build/checkboxOption/CheckboxOption.js +1 -1
- package/build/checkboxOption/CheckboxOption.mjs +1 -1
- package/build/chevron/Chevron.js +21 -1
- package/build/chevron/Chevron.js.map +1 -1
- package/build/chevron/Chevron.mjs +21 -1
- package/build/chevron/Chevron.mjs.map +1 -1
- package/build/chips/Chip.js +19 -1
- package/build/chips/Chip.js.map +1 -1
- package/build/chips/Chip.mjs +19 -1
- package/build/chips/Chip.mjs.map +1 -1
- package/build/circularButton/CircularButton.js +24 -5
- package/build/circularButton/CircularButton.js.map +1 -1
- package/build/circularButton/CircularButton.mjs +24 -5
- package/build/circularButton/CircularButton.mjs.map +1 -1
- package/build/common/bottomSheet/BottomSheet.js +3 -2
- package/build/common/bottomSheet/BottomSheet.js.map +1 -1
- package/build/common/bottomSheet/BottomSheet.mjs +3 -2
- package/build/common/bottomSheet/BottomSheet.mjs.map +1 -1
- package/build/common/circle/Circle.js +15 -2
- package/build/common/circle/Circle.js.map +1 -1
- package/build/common/circle/Circle.mjs +15 -2
- package/build/common/circle/Circle.mjs.map +1 -1
- package/build/common/hooks/useHasIntersected/useHasIntersected.js +10 -10
- package/build/common/hooks/useHasIntersected/useHasIntersected.js.map +1 -1
- package/build/common/hooks/useHasIntersected/useHasIntersected.mjs +10 -10
- package/build/common/hooks/useHasIntersected/useHasIntersected.mjs.map +1 -1
- package/build/common/locale/index.js +24 -0
- package/build/common/locale/index.js.map +1 -1
- package/build/common/locale/index.mjs +24 -0
- package/build/common/locale/index.mjs.map +1 -1
- package/build/common/panel/Panel.js +23 -2
- package/build/common/panel/Panel.js.map +1 -1
- package/build/common/panel/Panel.mjs +23 -2
- package/build/common/panel/Panel.mjs.map +1 -1
- package/build/common/responsivePanel/ResponsivePanel.js +27 -3
- package/build/common/responsivePanel/ResponsivePanel.js.map +1 -1
- package/build/common/responsivePanel/ResponsivePanel.mjs +27 -3
- package/build/common/responsivePanel/ResponsivePanel.mjs.map +1 -1
- package/build/criticalBanner/CriticalCommsBanner.js +22 -3
- package/build/criticalBanner/CriticalCommsBanner.js.map +1 -1
- package/build/criticalBanner/CriticalCommsBanner.mjs +22 -3
- package/build/criticalBanner/CriticalCommsBanner.mjs.map +1 -1
- package/build/dateInput/DateInput.js +22 -5
- package/build/dateInput/DateInput.js.map +1 -1
- package/build/dateInput/DateInput.mjs +22 -5
- package/build/dateInput/DateInput.mjs.map +1 -1
- package/build/dateLookup/DateLookup.js +24 -6
- package/build/dateLookup/DateLookup.js.map +1 -1
- package/build/dateLookup/DateLookup.mjs +24 -6
- package/build/dateLookup/DateLookup.mjs.map +1 -1
- package/build/dateLookup/dateHeader/DateHeader.js +26 -5
- package/build/dateLookup/dateHeader/DateHeader.js.map +1 -1
- package/build/dateLookup/dateHeader/DateHeader.mjs +26 -5
- package/build/dateLookup/dateHeader/DateHeader.mjs.map +1 -1
- package/build/dateLookup/dateTrigger/DateTrigger.js +19 -3
- package/build/dateLookup/dateTrigger/DateTrigger.js.map +1 -1
- package/build/dateLookup/dateTrigger/DateTrigger.mjs +19 -3
- package/build/dateLookup/dateTrigger/DateTrigger.mjs.map +1 -1
- package/build/decision/Decision.js +24 -3
- package/build/decision/Decision.js.map +1 -1
- package/build/decision/Decision.mjs +24 -3
- package/build/decision/Decision.mjs.map +1 -1
- package/build/definitionList/DefinitionList.js +23 -1
- package/build/definitionList/DefinitionList.js.map +1 -1
- package/build/definitionList/DefinitionList.mjs +23 -1
- package/build/definitionList/DefinitionList.mjs.map +1 -1
- package/build/dimmer/Dimmer.js +24 -2
- package/build/dimmer/Dimmer.js.map +1 -1
- package/build/dimmer/Dimmer.mjs +24 -2
- package/build/dimmer/Dimmer.mjs.map +1 -1
- package/build/display/Display.js +23 -1
- package/build/display/Display.js.map +1 -1
- package/build/display/Display.mjs +23 -1
- package/build/display/Display.mjs.map +1 -1
- package/build/drawer/Drawer.js +23 -4
- package/build/drawer/Drawer.js.map +1 -1
- package/build/drawer/Drawer.mjs +23 -4
- package/build/drawer/Drawer.mjs.map +1 -1
- package/build/field/Field.js +23 -2
- package/build/field/Field.js.map +1 -1
- package/build/field/Field.mjs +23 -2
- package/build/field/Field.mjs.map +1 -1
- package/build/flowNavigation/FlowNavigation.js +19 -2
- package/build/flowNavigation/FlowNavigation.js.map +1 -1
- package/build/flowNavigation/FlowNavigation.mjs +19 -2
- package/build/flowNavigation/FlowNavigation.mjs.map +1 -1
- package/build/header/Header.js +24 -2
- package/build/header/Header.js.map +1 -1
- package/build/header/Header.mjs +24 -2
- package/build/header/Header.mjs.map +1 -1
- package/build/i18n/de.json +5 -0
- package/build/i18n/de.json.js +5 -0
- package/build/i18n/de.json.js.map +1 -1
- package/build/i18n/de.json.mjs +5 -0
- package/build/i18n/de.json.mjs.map +1 -1
- package/build/i18n/es.json +5 -0
- package/build/i18n/es.json.js +5 -0
- package/build/i18n/es.json.js.map +1 -1
- package/build/i18n/es.json.mjs +5 -0
- package/build/i18n/es.json.mjs.map +1 -1
- package/build/i18n/fr.json +5 -0
- package/build/i18n/fr.json.js +5 -0
- package/build/i18n/fr.json.js.map +1 -1
- package/build/i18n/fr.json.mjs +5 -0
- package/build/i18n/fr.json.mjs.map +1 -1
- package/build/i18n/hu.json +5 -0
- package/build/i18n/hu.json.js +5 -0
- package/build/i18n/hu.json.js.map +1 -1
- package/build/i18n/hu.json.mjs +5 -0
- package/build/i18n/hu.json.mjs.map +1 -1
- package/build/i18n/id.json +5 -0
- package/build/i18n/id.json.js +5 -0
- package/build/i18n/id.json.js.map +1 -1
- package/build/i18n/id.json.mjs +5 -0
- package/build/i18n/id.json.mjs.map +1 -1
- package/build/i18n/it.json +5 -0
- package/build/i18n/it.json.js +5 -0
- package/build/i18n/it.json.js.map +1 -1
- package/build/i18n/it.json.mjs +5 -0
- package/build/i18n/it.json.mjs.map +1 -1
- package/build/i18n/ja.json +5 -0
- package/build/i18n/ja.json.js +5 -0
- package/build/i18n/ja.json.js.map +1 -1
- package/build/i18n/ja.json.mjs +5 -0
- package/build/i18n/ja.json.mjs.map +1 -1
- package/build/i18n/pl.json +5 -0
- package/build/i18n/pl.json.js +5 -0
- package/build/i18n/pl.json.js.map +1 -1
- package/build/i18n/pl.json.mjs +5 -0
- package/build/i18n/pl.json.mjs.map +1 -1
- package/build/i18n/pt.json +5 -0
- package/build/i18n/pt.json.js +5 -0
- package/build/i18n/pt.json.js.map +1 -1
- package/build/i18n/pt.json.mjs +5 -0
- package/build/i18n/pt.json.mjs.map +1 -1
- package/build/i18n/ro.json +5 -0
- package/build/i18n/ro.json.js +5 -0
- package/build/i18n/ro.json.js.map +1 -1
- package/build/i18n/ro.json.mjs +5 -0
- package/build/i18n/ro.json.mjs.map +1 -1
- package/build/i18n/ru.json +5 -0
- package/build/i18n/ru.json.js +5 -0
- package/build/i18n/ru.json.js.map +1 -1
- package/build/i18n/ru.json.mjs +5 -0
- package/build/i18n/ru.json.mjs.map +1 -1
- package/build/i18n/tr.json +5 -0
- package/build/i18n/tr.json.js +5 -0
- package/build/i18n/tr.json.js.map +1 -1
- package/build/i18n/tr.json.mjs +5 -0
- package/build/i18n/tr.json.mjs.map +1 -1
- package/build/image/Image.js +4 -1
- package/build/image/Image.js.map +1 -1
- package/build/image/Image.mjs +4 -1
- package/build/image/Image.mjs.map +1 -1
- package/build/index.js +69 -62
- package/build/index.js.map +1 -1
- package/build/index.mjs +27 -20
- package/build/index.mjs.map +1 -1
- package/build/info/Info.js +21 -3
- package/build/info/Info.js.map +1 -1
- package/build/info/Info.mjs +21 -3
- package/build/info/Info.mjs.map +1 -1
- package/build/inlineAlert/InlineAlert.js +24 -3
- package/build/inlineAlert/InlineAlert.js.map +1 -1
- package/build/inlineAlert/InlineAlert.mjs +24 -3
- package/build/inlineAlert/InlineAlert.mjs.map +1 -1
- package/build/inputs/SearchInput.js +23 -2
- package/build/inputs/SearchInput.js.map +1 -1
- package/build/inputs/SearchInput.mjs +23 -2
- package/build/inputs/SearchInput.mjs.map +1 -1
- package/build/instructionsList/InstructionsList.js +22 -1
- package/build/instructionsList/InstructionsList.js.map +1 -1
- package/build/instructionsList/InstructionsList.mjs +22 -1
- package/build/instructionsList/InstructionsList.mjs.map +1 -1
- package/build/loader/Loader.js +22 -1
- package/build/loader/Loader.js.map +1 -1
- package/build/loader/Loader.mjs +22 -1
- package/build/loader/Loader.mjs.map +1 -1
- package/build/main.css +46 -22
- package/build/markdown/Markdown.js +24 -1
- package/build/markdown/Markdown.js.map +1 -1
- package/build/markdown/Markdown.mjs +24 -1
- package/build/markdown/Markdown.mjs.map +1 -1
- package/build/modal/Modal.js +22 -5
- package/build/modal/Modal.js.map +1 -1
- package/build/modal/Modal.mjs +22 -5
- package/build/modal/Modal.mjs.map +1 -1
- package/build/moneyInput/MoneyInput.js +22 -3
- package/build/moneyInput/MoneyInput.js.map +1 -1
- package/build/moneyInput/MoneyInput.mjs +22 -3
- package/build/moneyInput/MoneyInput.mjs.map +1 -1
- package/build/navigationOption/NavigationOption.js +23 -2
- package/build/navigationOption/NavigationOption.js.map +1 -1
- package/build/navigationOption/NavigationOption.mjs +23 -2
- package/build/navigationOption/NavigationOption.mjs.map +1 -1
- package/build/nudge/Nudge.js +19 -1
- package/build/nudge/Nudge.js.map +1 -1
- package/build/nudge/Nudge.mjs +19 -1
- package/build/nudge/Nudge.mjs.map +1 -1
- package/build/overlayHeader/OverlayHeader.js +19 -1
- package/build/overlayHeader/OverlayHeader.js.map +1 -1
- package/build/overlayHeader/OverlayHeader.mjs +19 -1
- package/build/overlayHeader/OverlayHeader.mjs.map +1 -1
- package/build/phoneNumberInput/PhoneNumberInput.js +23 -2
- package/build/phoneNumberInput/PhoneNumberInput.js.map +1 -1
- package/build/phoneNumberInput/PhoneNumberInput.mjs +23 -2
- package/build/phoneNumberInput/PhoneNumberInput.mjs.map +1 -1
- package/build/popover/Popover.js +24 -4
- package/build/popover/Popover.js.map +1 -1
- package/build/popover/Popover.mjs +24 -4
- package/build/popover/Popover.mjs.map +1 -1
- package/build/processIndicator/ProcessIndicator.js +22 -1
- package/build/processIndicator/ProcessIndicator.js.map +1 -1
- package/build/processIndicator/ProcessIndicator.mjs +22 -1
- package/build/processIndicator/ProcessIndicator.mjs.map +1 -1
- package/build/progressBar/ProgressBar.js +24 -2
- package/build/progressBar/ProgressBar.js.map +1 -1
- package/build/progressBar/ProgressBar.mjs +24 -2
- package/build/progressBar/ProgressBar.mjs.map +1 -1
- package/build/promoCard/PromoCard.js +22 -2
- package/build/promoCard/PromoCard.js.map +1 -1
- package/build/promoCard/PromoCard.mjs +22 -2
- package/build/promoCard/PromoCard.mjs.map +1 -1
- package/build/promoCard/PromoCardIndicator.js +22 -1
- package/build/promoCard/PromoCardIndicator.js.map +1 -1
- package/build/promoCard/PromoCardIndicator.mjs +22 -1
- package/build/promoCard/PromoCardIndicator.mjs.map +1 -1
- package/build/provider/Provider.js +25 -2
- package/build/provider/Provider.js.map +1 -1
- package/build/provider/Provider.mjs +25 -2
- package/build/provider/Provider.mjs.map +1 -1
- package/build/radio/Radio.js +24 -2
- package/build/radio/Radio.js.map +1 -1
- package/build/radio/Radio.mjs +24 -2
- package/build/radio/Radio.mjs.map +1 -1
- package/build/segmentedControl/SegmentedControl.js +22 -1
- package/build/segmentedControl/SegmentedControl.js.map +1 -1
- package/build/segmentedControl/SegmentedControl.mjs +22 -1
- package/build/segmentedControl/SegmentedControl.mjs.map +1 -1
- package/build/select/Select.js +26 -4
- package/build/select/Select.js.map +1 -1
- package/build/select/Select.mjs +26 -4
- package/build/select/Select.mjs.map +1 -1
- package/build/select/option/Option.js +22 -1
- package/build/select/option/Option.js.map +1 -1
- package/build/select/option/Option.mjs +22 -1
- package/build/select/option/Option.mjs.map +1 -1
- package/build/selectOption/SelectOption.js +24 -6
- package/build/selectOption/SelectOption.js.map +1 -1
- package/build/selectOption/SelectOption.mjs +24 -6
- package/build/selectOption/SelectOption.mjs.map +1 -1
- package/build/statusIcon/StatusIcon.js +26 -8
- package/build/statusIcon/StatusIcon.js.map +1 -1
- package/build/statusIcon/StatusIcon.mjs +26 -8
- package/build/statusIcon/StatusIcon.mjs.map +1 -1
- package/build/stepper/Stepper.js +25 -3
- package/build/stepper/Stepper.js.map +1 -1
- package/build/stepper/Stepper.mjs +25 -3
- package/build/stepper/Stepper.mjs.map +1 -1
- package/build/stepper/deviceDetection.js +2 -3
- package/build/stepper/deviceDetection.js.map +1 -1
- package/build/stepper/deviceDetection.mjs +2 -3
- package/build/stepper/deviceDetection.mjs.map +1 -1
- package/build/sticky/Sticky.js +25 -2
- package/build/sticky/Sticky.js.map +1 -1
- package/build/sticky/Sticky.mjs +25 -2
- package/build/sticky/Sticky.mjs.map +1 -1
- package/build/styles/avatar/Avatar.css +29 -0
- package/build/styles/badge/Badge.css +6 -0
- package/build/styles/circularButton/CircularButton.css +2 -2
- package/build/styles/common/circle/Circle.css +4 -0
- package/build/styles/main.css +46 -22
- package/build/styles/statusIcon/StatusIcon.css +0 -20
- package/build/summary/Summary.js +21 -5
- package/build/summary/Summary.js.map +1 -1
- package/build/summary/Summary.mjs +21 -5
- package/build/summary/Summary.mjs.map +1 -1
- package/build/tabs/Tabs.js +23 -3
- package/build/tabs/Tabs.js.map +1 -1
- package/build/tabs/Tabs.mjs +23 -3
- package/build/tabs/Tabs.mjs.map +1 -1
- package/build/tile/Tile.js +24 -2
- package/build/tile/Tile.js.map +1 -1
- package/build/tile/Tile.mjs +24 -2
- package/build/tile/Tile.mjs.map +1 -1
- package/build/title/Title.js +23 -1
- package/build/title/Title.js.map +1 -1
- package/build/title/Title.mjs +23 -1
- package/build/title/Title.mjs.map +1 -1
- package/build/tooltip/Tooltip.js +22 -1
- package/build/tooltip/Tooltip.js.map +1 -1
- package/build/tooltip/Tooltip.mjs +22 -1
- package/build/tooltip/Tooltip.mjs.map +1 -1
- package/build/typeahead/Typeahead.js +22 -4
- package/build/typeahead/Typeahead.js.map +1 -1
- package/build/typeahead/Typeahead.mjs +22 -4
- package/build/typeahead/Typeahead.mjs.map +1 -1
- package/build/types/avatar/Avatar.d.ts.map +1 -1
- package/build/types/badge/Badge.d.ts.map +1 -1
- package/build/types/button/Button.d.ts.map +1 -1
- package/build/types/button/Button.messages.d.ts +7 -7
- package/build/types/button/Button.messages.d.ts.map +1 -1
- package/build/types/button/classMap.d.ts +10 -10
- package/build/types/button/classMap.d.ts.map +1 -1
- package/build/types/button/legacyUtils/index.d.ts +1 -1
- package/build/types/button/legacyUtils/index.d.ts.map +1 -1
- package/build/types/button/legacyUtils/legacyUtils.d.ts +20 -6
- package/build/types/button/legacyUtils/legacyUtils.d.ts.map +1 -1
- package/build/types/checkboxButton/index.d.ts +1 -1
- package/build/types/checkboxButton/index.d.ts.map +1 -1
- package/build/types/common/circle/Circle.d.ts +1 -1
- package/build/types/common/circle/Circle.d.ts.map +1 -1
- package/build/types/common/fakeEvents.d.ts +23 -0
- package/build/types/common/fakeEvents.d.ts.map +1 -0
- package/build/types/common/hooks/index.d.ts +4 -4
- package/build/types/common/hooks/index.d.ts.map +1 -1
- package/build/types/common/hooks/useConditionalListener/index.d.ts +1 -1
- package/build/types/common/hooks/useConditionalListener/index.d.ts.map +1 -1
- package/build/types/common/hooks/useDirection/index.d.ts +1 -1
- package/build/types/common/hooks/useDirection/index.d.ts.map +1 -1
- package/build/types/common/hooks/useHasIntersected/index.d.ts +1 -1
- package/build/types/common/hooks/useHasIntersected/index.d.ts.map +1 -1
- package/build/types/common/hooks/useHasIntersected/useHasIntersected.d.ts +15 -4
- package/build/types/common/hooks/useHasIntersected/useHasIntersected.d.ts.map +1 -1
- package/build/types/common/index.d.ts +28 -28
- package/build/types/common/index.d.ts.map +1 -1
- package/build/types/common/responsivePanel/index.d.ts +1 -1
- package/build/types/common/responsivePanel/index.d.ts.map +1 -1
- package/build/types/index.d.ts +1 -0
- package/build/types/index.d.ts.map +1 -1
- package/build/types/navigationOption/NavigationOption.d.ts +1 -0
- package/build/types/navigationOption/NavigationOption.d.ts.map +1 -1
- package/build/types/statusIcon/StatusIcon.d.ts +7 -3
- package/build/types/statusIcon/StatusIcon.d.ts.map +1 -1
- package/build/types/stepper/deviceDetection.d.ts +1 -1
- package/build/types/stepper/deviceDetection.d.ts.map +1 -1
- package/build/types/test-utils/style-mock.d.ts +1 -0
- package/build/types/test-utils/style-mock.d.ts.map +1 -0
- package/build/types/utilities/deprecatedProperty/deprecatedProperty.d.ts +8 -6
- package/build/types/utilities/deprecatedProperty/deprecatedProperty.d.ts.map +1 -1
- package/build/types/utilities/deprecatedProperty/index.d.ts +1 -1
- package/build/types/utilities/deprecatedProperty/index.d.ts.map +1 -1
- package/build/types/utilities/index.d.ts +2 -2
- package/build/types/utilities/index.d.ts.map +1 -1
- package/build/types/utilities/logActionRequired.d.ts +2 -2
- package/build/types/utilities/logActionRequired.d.ts.map +1 -1
- package/build/upload/Upload.js +21 -2
- package/build/upload/Upload.js.map +1 -1
- package/build/upload/Upload.mjs +21 -2
- package/build/upload/Upload.mjs.map +1 -1
- package/build/upload/steps/processingStep/processingStep.js +25 -3
- package/build/upload/steps/processingStep/processingStep.js.map +1 -1
- package/build/upload/steps/processingStep/processingStep.mjs +25 -3
- package/build/upload/steps/processingStep/processingStep.mjs.map +1 -1
- package/build/upload/steps/uploadImageStep/uploadImageStep.js +23 -3
- package/build/upload/steps/uploadImageStep/uploadImageStep.js.map +1 -1
- package/build/upload/steps/uploadImageStep/uploadImageStep.mjs +23 -3
- package/build/upload/steps/uploadImageStep/uploadImageStep.mjs.map +1 -1
- package/build/uploadInput/UploadInput.js +22 -3
- package/build/uploadInput/UploadInput.js.map +1 -1
- package/build/uploadInput/UploadInput.mjs +22 -3
- package/build/uploadInput/UploadInput.mjs.map +1 -1
- package/build/uploadInput/uploadButton/UploadButton.js +21 -2
- package/build/uploadInput/uploadButton/UploadButton.js.map +1 -1
- package/build/uploadInput/uploadButton/UploadButton.mjs +21 -2
- package/build/uploadInput/uploadButton/UploadButton.mjs.map +1 -1
- package/build/uploadInput/uploadButton/defaults.js +24 -0
- package/build/uploadInput/uploadButton/defaults.js.map +1 -1
- package/build/uploadInput/uploadButton/defaults.mjs +24 -0
- package/build/uploadInput/uploadButton/defaults.mjs.map +1 -1
- package/build/uploadInput/uploadItem/UploadItem.js +21 -4
- package/build/uploadInput/uploadItem/UploadItem.js.map +1 -1
- package/build/uploadInput/uploadItem/UploadItem.mjs +21 -4
- package/build/uploadInput/uploadItem/UploadItem.mjs.map +1 -1
- package/build/utilities/logActionRequired.js.map +1 -1
- package/build/utilities/logActionRequired.mjs.map +1 -1
- package/build/withDisplayFormat/WithDisplayFormat.js +25 -1
- package/build/withDisplayFormat/WithDisplayFormat.js.map +1 -1
- package/build/withDisplayFormat/WithDisplayFormat.mjs +25 -1
- package/build/withDisplayFormat/WithDisplayFormat.mjs.map +1 -1
- package/package.json +3 -3
- package/src/avatar/Avatar.css +29 -0
- package/src/avatar/Avatar.less +12 -0
- package/src/avatar/Avatar.tsx +4 -8
- package/src/avatarWrapper/__snapshots__/AvatarWrapper.spec.tsx.snap +11 -22
- package/src/badge/Badge.css +6 -0
- package/src/badge/Badge.less +6 -0
- package/src/badge/Badge.tsx +1 -11
- package/src/button/Button.tsx +0 -3
- package/src/button/legacyUtils/legacyUtils.ts +74 -0
- package/src/circularButton/CircularButton.css +2 -2
- package/src/circularButton/CircularButton.less +1 -1
- package/src/circularButton/CircularButton.story.tsx +3 -0
- package/src/circularButton/CircularButton.tsx +1 -1
- package/src/circularButton/__snapshots__/CircularButton.spec.tsx.snap +10 -10
- package/src/common/circle/Circle.css +4 -0
- package/src/common/circle/Circle.less +6 -0
- package/src/common/circle/Circle.story.tsx +2 -2
- package/src/common/circle/Circle.tsx +25 -2
- package/src/common/{fakeEvents.js → fakeEvents.ts} +1 -1
- package/src/common/hooks/useHasIntersected/{useHasIntersected.js → useHasIntersected.ts} +20 -11
- package/src/flowNavigation/{FlowNavigation.story.js → FlowNavigation.story.tsx} +34 -16
- package/src/flowNavigation/__snapshots__/FlowNavigation.spec.js.snap +4 -8
- package/src/i18n/de.json +5 -0
- package/src/i18n/es.json +5 -0
- package/src/i18n/fr.json +5 -0
- package/src/i18n/hu.json +5 -0
- package/src/i18n/id.json +5 -0
- package/src/i18n/it.json +5 -0
- package/src/i18n/ja.json +5 -0
- package/src/i18n/pl.json +5 -0
- package/src/i18n/pt.json +5 -0
- package/src/i18n/ro.json +5 -0
- package/src/i18n/ru.json +5 -0
- package/src/i18n/tr.json +5 -0
- package/src/index.ts +1 -0
- package/src/inputWithDisplayFormat/InputWithDisplayFormat.story.tsx +78 -0
- package/src/main.css +46 -22
- package/src/navigationOption/{NavigationOption.story.js → NavigationOption.story.tsx} +23 -5
- package/src/navigationOption/NavigationOption.tsx +1 -1
- package/src/overlayHeader/__snapshots__/OverlayHeader.spec.tsx.snap +2 -4
- package/src/promoCard/PromoCard.spec.tsx +1 -1
- package/src/radio/__snapshots__/Radio.rtl.spec.tsx.snap +2 -4
- package/src/select/{Select.story.js → Select.story.tsx} +97 -47
- package/src/statusIcon/StatusIcon.css +0 -20
- package/src/statusIcon/StatusIcon.less +0 -17
- package/src/statusIcon/StatusIcon.spec.tsx +2 -21
- package/src/statusIcon/StatusIcon.story.tsx +32 -1
- package/src/statusIcon/StatusIcon.tsx +11 -10
- package/src/stepper/{deviceDetection.js → deviceDetection.ts} +2 -6
- package/src/utilities/deprecatedProperty/{deprecatedProperty.spec.js → deprecatedProperty.spec.ts} +7 -13
- package/src/utilities/deprecatedProperty/{deprecatedProperty.js → deprecatedProperty.ts} +23 -4
- package/src/utilities/{logActionRequired.js → logActionRequired.ts} +2 -2
- package/src/button/legacyUtils/legacyUtils.js +0 -54
- package/src/common/requirements.js +0 -440
- package/src/inputWithDisplayFormat/InputWithDisplayFormat.story.js +0 -85
- /package/src/button/{Button.messages.js → Button.messages.ts} +0 -0
- /package/src/button/{classMap.js → classMap.ts} +0 -0
- /package/src/button/legacyUtils/{index.js → index.ts} +0 -0
- /package/src/checkboxButton/{index.js → index.ts} +0 -0
- /package/src/common/hooks/{index.js → index.ts} +0 -0
- /package/src/common/hooks/useConditionalListener/{index.js → index.ts} +0 -0
- /package/src/common/hooks/useDirection/{index.js → index.ts} +0 -0
- /package/src/common/hooks/useHasIntersected/{index.js → index.ts} +0 -0
- /package/src/common/{index.js → index.ts} +0 -0
- /package/src/common/responsivePanel/{index.js → index.ts} +0 -0
- /package/src/test-utils/{style-mock.js → style-mock.ts} +0 -0
- /package/src/utilities/deprecatedProperty/{index.js → index.ts} +0 -0
- /package/src/utilities/{index.js → index.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponsivePanel.mjs","sources":["../../../src/common/responsivePanel/ResponsivePanel.tsx"],"sourcesContent":["import { forwardRef } from 'react';\n\nimport { Position } from '..';\nimport BottomSheet from '../bottomSheet';\nimport { useLayout } from '../hooks';\nimport Panel, { type PanelProps } from '../panel';\n\nconst ResponsivePanel = forwardRef<HTMLDivElement, PanelProps>(function ResponsivePanel(\n {\n anchorRef,\n arrow = false,\n flip = true,\n children,\n className = undefined,\n onClose,\n open = false,\n position = Position.BOTTOM,\n anchorWidth = false,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n }: PanelProps,\n reference,\n) {\n const { isMobile } = useLayout();\n if (isMobile) {\n return (\n <BottomSheet\n key=\"bottomSheet\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n open={open}\n className={className}\n onClose={onClose}\n >\n {children}\n </BottomSheet>\n );\n }\n return (\n <Panel\n key=\"panel\"\n ref={reference}\n flip={flip}\n arrow={arrow}\n open={open}\n position={position}\n anchorWidth={anchorWidth}\n anchorRef={anchorRef}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n className={className}\n onClose={onClose}\n >\n {children}\n </Panel>\n );\n});\n\nexport default ResponsivePanel;\n"],"names":["ResponsivePanel","forwardRef","anchorRef","arrow","flip","children","className","undefined","onClose","open","position","Position","BOTTOM","anchorWidth","ariaLabel","ariaLabelledBy","reference","isMobile","useLayout","_jsx","BottomSheet","Panel","ref"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ResponsivePanel.mjs","sources":["../../../src/common/responsivePanel/ResponsivePanel.tsx"],"sourcesContent":["import { forwardRef } from 'react';\n\nimport { Position } from '..';\nimport BottomSheet from '../bottomSheet';\nimport { useLayout } from '../hooks';\nimport Panel, { type PanelProps } from '../panel';\n\nconst ResponsivePanel = forwardRef<HTMLDivElement, PanelProps>(function ResponsivePanel(\n {\n anchorRef,\n arrow = false,\n flip = true,\n children,\n className = undefined,\n onClose,\n open = false,\n position = Position.BOTTOM,\n anchorWidth = false,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n }: PanelProps,\n reference,\n) {\n const { isMobile } = useLayout();\n if (isMobile) {\n return (\n <BottomSheet\n key=\"bottomSheet\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n open={open}\n className={className}\n onClose={onClose}\n >\n {children}\n </BottomSheet>\n );\n }\n return (\n <Panel\n key=\"panel\"\n ref={reference}\n flip={flip}\n arrow={arrow}\n open={open}\n position={position}\n anchorWidth={anchorWidth}\n anchorRef={anchorRef}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n className={className}\n onClose={onClose}\n >\n {children}\n </Panel>\n );\n});\n\nexport default ResponsivePanel;\n"],"names":["ResponsivePanel","forwardRef","anchorRef","arrow","flip","children","className","undefined","onClose","open","position","Position","BOTTOM","anchorWidth","ariaLabel","ariaLabelledBy","reference","isMobile","useLayout","_jsx","BottomSheet","Panel","ref"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAMA,eAAe,gBAAGC,UAAU,CAA6B,SAASD,eAAeA,CACrF;EACEE,SAAS;AACTC,EAAAA,KAAK,GAAG,KAAK;AACbC,EAAAA,IAAI,GAAG,IAAI;EACXC,QAAQ;AACRC,EAAAA,SAAS,GAAGC,SAAS;EACrBC,OAAO;AACPC,EAAAA,IAAI,GAAG,KAAK;EACZC,QAAQ,GAAGC,QAAQ,CAACC,MAAM;AAC1BC,EAAAA,WAAW,GAAG,KAAK;AACnB,EAAA,YAAY,EAAEC,SAAS;AACvB,EAAA,iBAAiB,EAAEC,cAAAA;AACR,CAAA,EACbC,SAAS,EAAA;EAET,MAAM;AAAEC,IAAAA,QAAAA;GAAU,GAAGC,SAAS,EAAE,CAAA;AAChC,EAAA,IAAID,QAAQ,EAAE;IACZ,oBACEE,GAAA,CAACC,WAAW,EAAA;AAEV,MAAA,YAAA,EAAYN,SAAU;AACtB,MAAA,iBAAA,EAAiBC,cAAe;AAChCN,MAAAA,IAAI,EAAEA,IAAK;AACXH,MAAAA,SAAS,EAAEA,SAAU;AACrBE,MAAAA,OAAO,EAAEA,OAAQ;AAAAH,MAAAA,QAAA,EAEhBA,QAAAA;AAAQ,KAAA,EAPL,aAQO,CAAC,CAAA;AAElB,GAAA;EACA,oBACEc,GAAA,CAACE,KAAK,EAAA;AAEJC,IAAAA,GAAG,EAAEN,SAAU;AACfZ,IAAAA,IAAI,EAAEA,IAAK;AACXD,IAAAA,KAAK,EAAEA,KAAM;AACbM,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,QAAQ,EAAEA,QAAS;AACnBG,IAAAA,WAAW,EAAEA,WAAY;AACzBX,IAAAA,SAAS,EAAEA,SAAU;AACrB,IAAA,YAAA,EAAYY,SAAU;AACtB,IAAA,iBAAA,EAAiBC,cAAe;AAChCT,IAAAA,SAAS,EAAEA,SAAU;AACrBE,IAAAA,OAAO,EAAEA,OAAQ;AAAAH,IAAAA,QAAA,EAEhBA,QAAAA;AAAQ,GAAA,EAbL,OAcC,CAAC,CAAA;AAEZ,CAAC;;;;"}
|
|
@@ -7,11 +7,30 @@ var avatarTypes = require('../avatar/avatarTypes.js');
|
|
|
7
7
|
var Avatar = require('../avatar/Avatar.js');
|
|
8
8
|
var Body = require('../body/Body.js');
|
|
9
9
|
var Button = require('../button/Button.js');
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
require('../common/theme.js');
|
|
11
|
+
require('../common/direction.js');
|
|
12
|
+
var control = require('../common/propsValues/control.js');
|
|
13
|
+
require('../common/propsValues/breakpoint.js');
|
|
12
14
|
var size = require('../common/propsValues/size.js');
|
|
13
15
|
var typography = require('../common/propsValues/typography.js');
|
|
14
|
-
|
|
16
|
+
require('../common/propsValues/width.js');
|
|
17
|
+
require('../common/propsValues/type.js');
|
|
18
|
+
require('../common/propsValues/dateMode.js');
|
|
19
|
+
require('../common/propsValues/monthFormat.js');
|
|
20
|
+
require('../common/propsValues/position.js');
|
|
21
|
+
require('../common/propsValues/layouts.js');
|
|
22
|
+
require('../common/propsValues/status.js');
|
|
23
|
+
require('../common/propsValues/sentiment.js');
|
|
24
|
+
require('../common/propsValues/profileType.js');
|
|
25
|
+
require('../common/propsValues/variant.js');
|
|
26
|
+
require('../common/propsValues/scroll.js');
|
|
27
|
+
require('../common/propsValues/markdownNodeType.js');
|
|
28
|
+
require('../common/fileType.js');
|
|
29
|
+
require('react');
|
|
30
|
+
require('react-intl');
|
|
31
|
+
require('../common/closeButton/CloseButton.messages.js');
|
|
32
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
33
|
+
var Title = require('../title/Title.js');
|
|
15
34
|
|
|
16
35
|
function CriticalCommsBanner({
|
|
17
36
|
title,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CriticalCommsBanner.js","sources":["../../src/criticalBanner/CriticalCommsBanner.tsx"],"sourcesContent":["import { Alert as DangerIcon, AlertCircleFill } from '@transferwise/icons';\nimport { useTheme } from '@wise/components-theming';\nimport { clsx } from 'clsx';\n\nimport Avatar, { AvatarType } from '../avatar';\nimport Body from '../body';\nimport Button from '../button';\nimport { ControlType, Priority, Size, Typography } from '../common';\nimport Title from '../title';\n\nexport type CriticalCommsBannerProps = {\n title: string;\n subtitle?: string;\n action?: {\n label: string;\n href: string;\n };\n className?: string;\n};\n\nfunction CriticalCommsBanner({ title, subtitle, action, className }: CriticalCommsBannerProps) {\n const { isModern } = useTheme();\n return (\n <div className={clsx('critical-comms', className)}>\n <div className=\"critical-comms-body\">\n <Avatar\n size={Size.MEDIUM}\n type={AvatarType.ICON}\n className={clsx(isModern ? 'm-r-2' : 'm-r-1')}\n backgroundColor={\n isModern ? 'var(--color-sentiment-negative)' : 'var(--color-background-negative)'\n }\n >\n {isModern ? <AlertCircleFill /> : <DangerIcon size={24} />}\n </Avatar>\n <div className=\"critical-comms-content d-flex align-items-center flex-grow-1\">\n <div className={clsx('flex-grow-1', { 'p-x-2': !isModern })}>\n <Title\n type={isModern ? Typography.TITLE_BODY : Typography.TITLE_GROUP}\n className=\"critical-comms--title\"\n >\n {title}\n </Title>\n <Body className=\"critical-comms--subtitle\">{subtitle}</Body>\n </div>\n {action ? (\n <div className=\"critical-comms--cta\">\n <Button\n block={isModern}\n size={Size.SMALL}\n type={ControlType.NEGATIVE}\n priority={isModern ? Priority.SECONDARY : Priority.PRIMARY}\n className=\"cta-btn\"\n onClick={() => {\n if (action) {\n window.location.href = action.href;\n }\n }}\n >\n {action.label}\n </Button>\n </div>\n ) : null}\n </div>\n </div>\n </div>\n );\n}\n\nexport default CriticalCommsBanner;\n"],"names":["CriticalCommsBanner","title","subtitle","action","className","isModern","useTheme","_jsx","clsx","children","_jsxs","Avatar","size","Size","MEDIUM","type","AvatarType","ICON","backgroundColor","AlertCircleFill","DangerIcon","Title","Typography","TITLE_BODY","TITLE_GROUP","Body","Button","block","SMALL","ControlType","NEGATIVE","priority","Priority","SECONDARY","PRIMARY","onClick","window","location","href","label"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CriticalCommsBanner.js","sources":["../../src/criticalBanner/CriticalCommsBanner.tsx"],"sourcesContent":["import { Alert as DangerIcon, AlertCircleFill } from '@transferwise/icons';\nimport { useTheme } from '@wise/components-theming';\nimport { clsx } from 'clsx';\n\nimport Avatar, { AvatarType } from '../avatar';\nimport Body from '../body';\nimport Button from '../button';\nimport { ControlType, Priority, Size, Typography } from '../common';\nimport Title from '../title';\n\nexport type CriticalCommsBannerProps = {\n title: string;\n subtitle?: string;\n action?: {\n label: string;\n href: string;\n };\n className?: string;\n};\n\nfunction CriticalCommsBanner({ title, subtitle, action, className }: CriticalCommsBannerProps) {\n const { isModern } = useTheme();\n return (\n <div className={clsx('critical-comms', className)}>\n <div className=\"critical-comms-body\">\n <Avatar\n size={Size.MEDIUM}\n type={AvatarType.ICON}\n className={clsx(isModern ? 'm-r-2' : 'm-r-1')}\n backgroundColor={\n isModern ? 'var(--color-sentiment-negative)' : 'var(--color-background-negative)'\n }\n >\n {isModern ? <AlertCircleFill /> : <DangerIcon size={24} />}\n </Avatar>\n <div className=\"critical-comms-content d-flex align-items-center flex-grow-1\">\n <div className={clsx('flex-grow-1', { 'p-x-2': !isModern })}>\n <Title\n type={isModern ? Typography.TITLE_BODY : Typography.TITLE_GROUP}\n className=\"critical-comms--title\"\n >\n {title}\n </Title>\n <Body className=\"critical-comms--subtitle\">{subtitle}</Body>\n </div>\n {action ? (\n <div className=\"critical-comms--cta\">\n <Button\n block={isModern}\n size={Size.SMALL}\n type={ControlType.NEGATIVE}\n priority={isModern ? Priority.SECONDARY : Priority.PRIMARY}\n className=\"cta-btn\"\n onClick={() => {\n if (action) {\n window.location.href = action.href;\n }\n }}\n >\n {action.label}\n </Button>\n </div>\n ) : null}\n </div>\n </div>\n </div>\n );\n}\n\nexport default CriticalCommsBanner;\n"],"names":["CriticalCommsBanner","title","subtitle","action","className","isModern","useTheme","_jsx","clsx","children","_jsxs","Avatar","size","Size","MEDIUM","type","AvatarType","ICON","backgroundColor","AlertCircleFill","DangerIcon","Title","Typography","TITLE_BODY","TITLE_GROUP","Body","Button","block","SMALL","ControlType","NEGATIVE","priority","Priority","SECONDARY","PRIMARY","onClick","window","location","href","label"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,SAASA,mBAAmBA,CAAC;EAAEC,KAAK;EAAEC,QAAQ;EAAEC,MAAM;AAAEC,EAAAA,SAAAA;AAAqC,CAAA,EAAA;EAC3F,MAAM;AAAEC,IAAAA,QAAAA;GAAU,GAAGC,0BAAQ,EAAE,CAAA;AAC/B,EAAA,oBACEC,cAAA,CAAA,KAAA,EAAA;AAAKH,IAAAA,SAAS,EAAEI,SAAI,CAAC,gBAAgB,EAAEJ,SAAS,CAAE;AAAAK,IAAAA,QAAA,eAChDC,eAAA,CAAA,KAAA,EAAA;AAAKN,MAAAA,SAAS,EAAC,qBAAqB;MAAAK,QAAA,EAAA,cAClCF,cAAA,CAACI,MAAM,EAAA;QACLC,IAAI,EAAEC,SAAI,CAACC,MAAO;QAClBC,IAAI,EAAEC,sBAAU,CAACC,IAAK;QACtBb,SAAS,EAAEI,SAAI,CAACH,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAE;AAC9Ca,QAAAA,eAAe,EACbb,QAAQ,GAAG,iCAAiC,GAAG,kCAChD;QAAAI,QAAA,EAEAJ,QAAQ,gBAAGE,cAAA,CAACY,qBAAe,EAAA,EAAG,CAAA,gBAAGZ,cAAA,CAACa,WAAU,EAAA;AAACR,UAAAA,IAAI,EAAE,EAAA;SAAG,CAAA;OACjD,CACR,eAAAF,eAAA,CAAA,KAAA,EAAA;AAAKN,QAAAA,SAAS,EAAC,8DAA8D;AAAAK,QAAAA,QAAA,gBAC3EC,eAAA,CAAA,KAAA,EAAA;AAAKN,UAAAA,SAAS,EAAEI,SAAI,CAAC,aAAa,EAAE;AAAE,YAAA,OAAO,EAAE,CAACH,QAAAA;AAAU,WAAA,CAAE;UAAAI,QAAA,EAAA,cAC1DF,cAAA,CAACc,KAAK,EAAA;YACJN,IAAI,EAAEV,QAAQ,GAAGiB,qBAAU,CAACC,UAAU,GAAGD,qBAAU,CAACE,WAAY;AAChEpB,YAAAA,SAAS,EAAC,uBAAuB;AAAAK,YAAAA,QAAA,EAEhCR,KAAAA;AAAK,WACD,CACP,eAAAM,cAAA,CAACkB,IAAI,EAAA;AAACrB,YAAAA,SAAS,EAAC,0BAA0B;AAAAK,YAAAA,QAAA,EAAEP,QAAAA;AAAQ,WAAO,CAC7D,CAAA;AAAA,SAAK,CACL,EAACC,MAAM,gBACLI,cAAA,CAAA,KAAA,EAAA;AAAKH,UAAAA,SAAS,EAAC,qBAAqB;UAAAK,QAAA,eAClCF,cAAA,CAACmB,MAAM,EAAA;AACLC,YAAAA,KAAK,EAAEtB,QAAS;YAChBO,IAAI,EAAEC,SAAI,CAACe,KAAM;YACjBb,IAAI,EAAEc,mBAAW,CAACC,QAAS;YAC3BC,QAAQ,EAAE1B,QAAQ,GAAG2B,gBAAQ,CAACC,SAAS,GAAGD,gBAAQ,CAACE,OAAQ;AAC3D9B,YAAAA,SAAS,EAAC,SAAS;YACnB+B,OAAO,EAAEA,MAAK;AACZ,cAAA,IAAIhC,MAAM,EAAE;AACViC,gBAAAA,MAAM,CAACC,QAAQ,CAACC,IAAI,GAAGnC,MAAM,CAACmC,IAAI,CAAA;AACpC,eAAA;aACA;YAAA7B,QAAA,EAEDN,MAAM,CAACoC,KAAAA;WACF,CAAA;SACL,CAAC,GACJ,IAAI,CAAA;AAAA,OACL,CACP,CAAA;KAAK,CAAA;AACP,GAAK,CAAC,CAAA;AAEV;;;;"}
|
|
@@ -5,11 +5,30 @@ import { AvatarType } from '../avatar/avatarTypes.mjs';
|
|
|
5
5
|
import Avatar from '../avatar/Avatar.mjs';
|
|
6
6
|
import Body from '../body/Body.mjs';
|
|
7
7
|
import Button from '../button/Button.mjs';
|
|
8
|
-
import
|
|
9
|
-
import
|
|
8
|
+
import '../common/theme.mjs';
|
|
9
|
+
import '../common/direction.mjs';
|
|
10
|
+
import { ControlType, Priority } from '../common/propsValues/control.mjs';
|
|
11
|
+
import '../common/propsValues/breakpoint.mjs';
|
|
10
12
|
import { Size } from '../common/propsValues/size.mjs';
|
|
11
13
|
import { Typography } from '../common/propsValues/typography.mjs';
|
|
12
|
-
import
|
|
14
|
+
import '../common/propsValues/width.mjs';
|
|
15
|
+
import '../common/propsValues/type.mjs';
|
|
16
|
+
import '../common/propsValues/dateMode.mjs';
|
|
17
|
+
import '../common/propsValues/monthFormat.mjs';
|
|
18
|
+
import '../common/propsValues/position.mjs';
|
|
19
|
+
import '../common/propsValues/layouts.mjs';
|
|
20
|
+
import '../common/propsValues/status.mjs';
|
|
21
|
+
import '../common/propsValues/sentiment.mjs';
|
|
22
|
+
import '../common/propsValues/profileType.mjs';
|
|
23
|
+
import '../common/propsValues/variant.mjs';
|
|
24
|
+
import '../common/propsValues/scroll.mjs';
|
|
25
|
+
import '../common/propsValues/markdownNodeType.mjs';
|
|
26
|
+
import '../common/fileType.mjs';
|
|
27
|
+
import 'react';
|
|
28
|
+
import 'react-intl';
|
|
29
|
+
import '../common/closeButton/CloseButton.messages.mjs';
|
|
30
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
31
|
+
import Title from '../title/Title.mjs';
|
|
13
32
|
|
|
14
33
|
function CriticalCommsBanner({
|
|
15
34
|
title,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CriticalCommsBanner.mjs","sources":["../../src/criticalBanner/CriticalCommsBanner.tsx"],"sourcesContent":["import { Alert as DangerIcon, AlertCircleFill } from '@transferwise/icons';\nimport { useTheme } from '@wise/components-theming';\nimport { clsx } from 'clsx';\n\nimport Avatar, { AvatarType } from '../avatar';\nimport Body from '../body';\nimport Button from '../button';\nimport { ControlType, Priority, Size, Typography } from '../common';\nimport Title from '../title';\n\nexport type CriticalCommsBannerProps = {\n title: string;\n subtitle?: string;\n action?: {\n label: string;\n href: string;\n };\n className?: string;\n};\n\nfunction CriticalCommsBanner({ title, subtitle, action, className }: CriticalCommsBannerProps) {\n const { isModern } = useTheme();\n return (\n <div className={clsx('critical-comms', className)}>\n <div className=\"critical-comms-body\">\n <Avatar\n size={Size.MEDIUM}\n type={AvatarType.ICON}\n className={clsx(isModern ? 'm-r-2' : 'm-r-1')}\n backgroundColor={\n isModern ? 'var(--color-sentiment-negative)' : 'var(--color-background-negative)'\n }\n >\n {isModern ? <AlertCircleFill /> : <DangerIcon size={24} />}\n </Avatar>\n <div className=\"critical-comms-content d-flex align-items-center flex-grow-1\">\n <div className={clsx('flex-grow-1', { 'p-x-2': !isModern })}>\n <Title\n type={isModern ? Typography.TITLE_BODY : Typography.TITLE_GROUP}\n className=\"critical-comms--title\"\n >\n {title}\n </Title>\n <Body className=\"critical-comms--subtitle\">{subtitle}</Body>\n </div>\n {action ? (\n <div className=\"critical-comms--cta\">\n <Button\n block={isModern}\n size={Size.SMALL}\n type={ControlType.NEGATIVE}\n priority={isModern ? Priority.SECONDARY : Priority.PRIMARY}\n className=\"cta-btn\"\n onClick={() => {\n if (action) {\n window.location.href = action.href;\n }\n }}\n >\n {action.label}\n </Button>\n </div>\n ) : null}\n </div>\n </div>\n </div>\n );\n}\n\nexport default CriticalCommsBanner;\n"],"names":["CriticalCommsBanner","title","subtitle","action","className","isModern","useTheme","_jsx","clsx","children","_jsxs","Avatar","size","Size","MEDIUM","type","AvatarType","ICON","backgroundColor","AlertCircleFill","DangerIcon","Title","Typography","TITLE_BODY","TITLE_GROUP","Body","Button","block","SMALL","ControlType","NEGATIVE","priority","Priority","SECONDARY","PRIMARY","onClick","window","location","href","label"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CriticalCommsBanner.mjs","sources":["../../src/criticalBanner/CriticalCommsBanner.tsx"],"sourcesContent":["import { Alert as DangerIcon, AlertCircleFill } from '@transferwise/icons';\nimport { useTheme } from '@wise/components-theming';\nimport { clsx } from 'clsx';\n\nimport Avatar, { AvatarType } from '../avatar';\nimport Body from '../body';\nimport Button from '../button';\nimport { ControlType, Priority, Size, Typography } from '../common';\nimport Title from '../title';\n\nexport type CriticalCommsBannerProps = {\n title: string;\n subtitle?: string;\n action?: {\n label: string;\n href: string;\n };\n className?: string;\n};\n\nfunction CriticalCommsBanner({ title, subtitle, action, className }: CriticalCommsBannerProps) {\n const { isModern } = useTheme();\n return (\n <div className={clsx('critical-comms', className)}>\n <div className=\"critical-comms-body\">\n <Avatar\n size={Size.MEDIUM}\n type={AvatarType.ICON}\n className={clsx(isModern ? 'm-r-2' : 'm-r-1')}\n backgroundColor={\n isModern ? 'var(--color-sentiment-negative)' : 'var(--color-background-negative)'\n }\n >\n {isModern ? <AlertCircleFill /> : <DangerIcon size={24} />}\n </Avatar>\n <div className=\"critical-comms-content d-flex align-items-center flex-grow-1\">\n <div className={clsx('flex-grow-1', { 'p-x-2': !isModern })}>\n <Title\n type={isModern ? Typography.TITLE_BODY : Typography.TITLE_GROUP}\n className=\"critical-comms--title\"\n >\n {title}\n </Title>\n <Body className=\"critical-comms--subtitle\">{subtitle}</Body>\n </div>\n {action ? (\n <div className=\"critical-comms--cta\">\n <Button\n block={isModern}\n size={Size.SMALL}\n type={ControlType.NEGATIVE}\n priority={isModern ? Priority.SECONDARY : Priority.PRIMARY}\n className=\"cta-btn\"\n onClick={() => {\n if (action) {\n window.location.href = action.href;\n }\n }}\n >\n {action.label}\n </Button>\n </div>\n ) : null}\n </div>\n </div>\n </div>\n );\n}\n\nexport default CriticalCommsBanner;\n"],"names":["CriticalCommsBanner","title","subtitle","action","className","isModern","useTheme","_jsx","clsx","children","_jsxs","Avatar","size","Size","MEDIUM","type","AvatarType","ICON","backgroundColor","AlertCircleFill","DangerIcon","Title","Typography","TITLE_BODY","TITLE_GROUP","Body","Button","block","SMALL","ControlType","NEGATIVE","priority","Priority","SECONDARY","PRIMARY","onClick","window","location","href","label"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,SAASA,mBAAmBA,CAAC;EAAEC,KAAK;EAAEC,QAAQ;EAAEC,MAAM;AAAEC,EAAAA,SAAAA;AAAqC,CAAA,EAAA;EAC3F,MAAM;AAAEC,IAAAA,QAAAA;GAAU,GAAGC,QAAQ,EAAE,CAAA;AAC/B,EAAA,oBACEC,GAAA,CAAA,KAAA,EAAA;AAAKH,IAAAA,SAAS,EAAEI,IAAI,CAAC,gBAAgB,EAAEJ,SAAS,CAAE;AAAAK,IAAAA,QAAA,eAChDC,IAAA,CAAA,KAAA,EAAA;AAAKN,MAAAA,SAAS,EAAC,qBAAqB;MAAAK,QAAA,EAAA,cAClCF,GAAA,CAACI,MAAM,EAAA;QACLC,IAAI,EAAEC,IAAI,CAACC,MAAO;QAClBC,IAAI,EAAEC,UAAU,CAACC,IAAK;QACtBb,SAAS,EAAEI,IAAI,CAACH,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAE;AAC9Ca,QAAAA,eAAe,EACbb,QAAQ,GAAG,iCAAiC,GAAG,kCAChD;QAAAI,QAAA,EAEAJ,QAAQ,gBAAGE,GAAA,CAACY,eAAe,EAAA,EAAG,CAAA,gBAAGZ,GAAA,CAACa,KAAU,EAAA;AAACR,UAAAA,IAAI,EAAE,EAAA;SAAG,CAAA;OACjD,CACR,eAAAF,IAAA,CAAA,KAAA,EAAA;AAAKN,QAAAA,SAAS,EAAC,8DAA8D;AAAAK,QAAAA,QAAA,gBAC3EC,IAAA,CAAA,KAAA,EAAA;AAAKN,UAAAA,SAAS,EAAEI,IAAI,CAAC,aAAa,EAAE;AAAE,YAAA,OAAO,EAAE,CAACH,QAAAA;AAAU,WAAA,CAAE;UAAAI,QAAA,EAAA,cAC1DF,GAAA,CAACc,KAAK,EAAA;YACJN,IAAI,EAAEV,QAAQ,GAAGiB,UAAU,CAACC,UAAU,GAAGD,UAAU,CAACE,WAAY;AAChEpB,YAAAA,SAAS,EAAC,uBAAuB;AAAAK,YAAAA,QAAA,EAEhCR,KAAAA;AAAK,WACD,CACP,eAAAM,GAAA,CAACkB,IAAI,EAAA;AAACrB,YAAAA,SAAS,EAAC,0BAA0B;AAAAK,YAAAA,QAAA,EAAEP,QAAAA;AAAQ,WAAO,CAC7D,CAAA;AAAA,SAAK,CACL,EAACC,MAAM,gBACLI,GAAA,CAAA,KAAA,EAAA;AAAKH,UAAAA,SAAS,EAAC,qBAAqB;UAAAK,QAAA,eAClCF,GAAA,CAACmB,MAAM,EAAA;AACLC,YAAAA,KAAK,EAAEtB,QAAS;YAChBO,IAAI,EAAEC,IAAI,CAACe,KAAM;YACjBb,IAAI,EAAEc,WAAW,CAACC,QAAS;YAC3BC,QAAQ,EAAE1B,QAAQ,GAAG2B,QAAQ,CAACC,SAAS,GAAGD,QAAQ,CAACE,OAAQ;AAC3D9B,YAAAA,SAAS,EAAC,SAAS;YACnB+B,OAAO,EAAEA,MAAK;AACZ,cAAA,IAAIhC,MAAM,EAAE;AACViC,gBAAAA,MAAM,CAACC,QAAQ,CAACC,IAAI,GAAGnC,MAAM,CAACmC,IAAI,CAAA;AACpC,eAAA;aACA;YAAA7B,QAAA,EAEDN,MAAM,CAACoC,KAAAA;WACF,CAAA;SACL,CAAC,GACJ,IAAI,CAAA;AAAA,OACL,CACP,CAAA;KAAK,CAAA;AACP,GAAK,CAAC,CAAA;AAEV;;;;"}
|
|
@@ -3,6 +3,28 @@
|
|
|
3
3
|
var clsx = require('clsx');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var reactIntl = require('react-intl');
|
|
6
|
+
require('../common/theme.js');
|
|
7
|
+
require('../common/direction.js');
|
|
8
|
+
require('../common/propsValues/control.js');
|
|
9
|
+
require('../common/propsValues/breakpoint.js');
|
|
10
|
+
var size = require('../common/propsValues/size.js');
|
|
11
|
+
var typography = require('../common/propsValues/typography.js');
|
|
12
|
+
require('../common/propsValues/width.js');
|
|
13
|
+
require('../common/propsValues/type.js');
|
|
14
|
+
var dateMode = require('../common/propsValues/dateMode.js');
|
|
15
|
+
var monthFormat = require('../common/propsValues/monthFormat.js');
|
|
16
|
+
require('../common/propsValues/position.js');
|
|
17
|
+
require('../common/propsValues/layouts.js');
|
|
18
|
+
require('../common/propsValues/status.js');
|
|
19
|
+
require('../common/propsValues/sentiment.js');
|
|
20
|
+
require('../common/propsValues/profileType.js');
|
|
21
|
+
require('../common/propsValues/variant.js');
|
|
22
|
+
require('../common/propsValues/scroll.js');
|
|
23
|
+
require('../common/propsValues/markdownNodeType.js');
|
|
24
|
+
require('../common/fileType.js');
|
|
25
|
+
require('@transferwise/icons');
|
|
26
|
+
require('../common/closeButton/CloseButton.messages.js');
|
|
27
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
28
|
require('@transferwise/formatting');
|
|
7
29
|
var getMonthNames = require('../common/dateUtils/getMonthNames/getMonthNames.js');
|
|
8
30
|
var isDateValid = require('../common/dateUtils/isDateValid/isDateValid.js');
|
|
@@ -11,14 +33,9 @@ var getFormatForLocale = require('../common/dateUtils/getFormatForLocale/getForm
|
|
|
11
33
|
var contexts = require('../inputs/contexts.js');
|
|
12
34
|
var DateInput_messages = require('./DateInput.messages.js');
|
|
13
35
|
var convertToLocalMidnight = require('./utils/convertToLocalMidnight/convertToLocalMidnight.js');
|
|
14
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
15
|
-
var dateMode = require('../common/propsValues/dateMode.js');
|
|
16
|
-
var monthFormat = require('../common/propsValues/monthFormat.js');
|
|
17
36
|
var Body = require('../body/Body.js');
|
|
18
37
|
var Input = require('../inputs/Input.js');
|
|
19
38
|
var SelectInput = require('../inputs/SelectInput.js');
|
|
20
|
-
var size = require('../common/propsValues/size.js');
|
|
21
|
-
var typography = require('../common/propsValues/typography.js');
|
|
22
39
|
|
|
23
40
|
const DateInput = ({
|
|
24
41
|
'aria-labelledby': ariaLabelledByProp,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateInput.js","sources":["../../src/dateInput/DateInput.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useState } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport { Body, Input, SelectInput, SelectInputOptionContent, SelectInputProps } from '..';\nimport {\n DateMode,\n MonthFormat,\n Size,\n SizeLarge,\n SizeMedium,\n SizeSmall,\n Typography,\n} from '../common';\nimport { MDY, YMD, getMonthNames, isDateValid, isMonthAndYearFormat } from '../common/dateUtils';\nimport { useInputAttributes } from '../inputs/contexts';\nimport messages from './DateInput.messages';\nimport { convertToLocalMidnight } from './utils';\n\nexport interface DateInputProps {\n /** @deprecated Use `Field` wrapper or the `aria-labelledby` attribute instead. */\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n disabled?: boolean;\n size?: SizeSmall | SizeMedium | SizeLarge;\n value?: Date | string;\n onChange: (value: string | null) => void;\n onFocus?: React.FocusEventHandler<HTMLDivElement>;\n onBlur?: React.FocusEventHandler<HTMLDivElement>;\n dayLabel?: string;\n dayAutoComplete?: string;\n monthLabel?: string;\n yearLabel?: string;\n yearAutoComplete?: string;\n monthFormat?: `${MonthFormat}`;\n mode?: `${DateMode}`;\n placeholders?: {\n day?: string;\n month?: string;\n year?: string;\n };\n id?: string;\n selectProps?: Partial<SelectInputProps<number | null>>;\n}\n\nconst DateInput = ({\n 'aria-labelledby': ariaLabelledByProp,\n 'aria-label': ariaLabel,\n disabled = false,\n size = Size.MEDIUM,\n value,\n dayLabel,\n dayAutoComplete,\n monthLabel,\n yearLabel,\n yearAutoComplete,\n monthFormat = MonthFormat.LONG,\n mode = DateMode.DAY_MONTH_YEAR,\n onChange,\n onFocus,\n onBlur,\n placeholders,\n id: idProp,\n selectProps = {},\n}: DateInputProps) => {\n const inputAttributes = useInputAttributes({ nonLabelable: true });\n const id = idProp ?? inputAttributes.id;\n const ariaLabelledBy = ariaLabelledByProp ?? inputAttributes['aria-labelledby'];\n\n const { locale, formatMessage } = useIntl();\n\n const getDateObject = (): Date | undefined => {\n if (value && isDateValid(value)) {\n return typeof value === 'string' ? convertToLocalMidnight(value) : value;\n }\n return undefined;\n };\n\n const getInitialDate = (unit: 'year' | 'month' | 'day'): number | null => {\n if (value && isDateValid(value)) {\n const dateObject = getDateObject();\n\n if (typeof value === 'string' && isMonthAndYearFormat(value) && unit === 'day') {\n return null;\n }\n\n if (dateObject !== undefined) {\n switch (unit) {\n case 'year':\n return dateObject.getFullYear();\n case 'month':\n return dateObject.getMonth();\n case 'day':\n return dateObject.getDate();\n default:\n return null;\n }\n }\n }\n return null;\n };\n\n const [day, setDay] = useState(() => getInitialDate('day'));\n const [displayDay, setDisplayDay] = useState(day?.toString());\n const [month, setMonth] = useState(() => getInitialDate('month'));\n const [year, setYear] = useState(() => getInitialDate('year'));\n const [displayYear, setDisplayYear] = useState(year?.toString());\n const [lastBroadcastedValue, setLastBroadcastedValue] = useState<Date | null | undefined>(\n getDateObject,\n );\n const monthNames = getMonthNames(locale, monthFormat);\n\n dayLabel ||= formatMessage(messages.dayLabel);\n monthLabel ||= formatMessage(messages.monthLabel);\n yearLabel ||= formatMessage(messages.yearLabel);\n placeholders = {\n day: placeholders?.day || formatMessage(messages.dayPlaceholder),\n month: placeholders?.month || formatMessage(messages.monthLabel),\n year: placeholders?.year || formatMessage(messages.yearPlaceholder),\n };\n\n const getDateAsString = (date: Date) => {\n if (!isDateValid(date)) {\n return '';\n }\n switch (mode) {\n case DateMode.MONTH_YEAR:\n return [date.getFullYear(), `0${date.getMonth() + 1}`.slice(-2)].join('-');\n case DateMode.DAY_MONTH_YEAR:\n default:\n return [\n date.getFullYear(),\n `0${date.getMonth() + 1}`.slice(-2),\n `0${date.getDate()}`.slice(-2),\n ].join('-');\n }\n };\n\n const getSelectElement = () => {\n return (\n <label className=\"d-flex flex-column\">\n <Body type={Typography.BODY_DEFAULT}>{monthLabel}</Body>\n <SelectInput\n id={`${id}:month`}\n name=\"month\"\n disabled={disabled}\n placeholder={placeholders?.month}\n items={Array.from({ length: 12 }, (_, index) => ({ type: 'option', value: index }))}\n size={size}\n value={month}\n renderValue={(selectedValue) => (\n <SelectInputOptionContent title={monthNames[selectedValue]} />\n )}\n onChange={(selectedValue) => handleMonthChange(selectedValue)}\n {...selectProps}\n />\n </label>\n );\n };\n\n const isDayValid = (newDay: number, newMonth: number, newYear: number) => {\n const maxDay = new Date(newYear, newMonth + 1, 0).getDate();\n return newDay <= maxDay;\n };\n\n const handleInternalValue = (newDay = day, newMonth = month, newYear = year) => {\n if (newDay == null || newDay === 0 || newMonth == null || newYear == null || newYear === 0) {\n broadcastNewValue(null);\n return;\n }\n if (!isDayValid(newDay, newMonth, newYear)) {\n broadcastNewValue(null);\n return;\n }\n\n const dateValue = new Date(newYear, newMonth, newDay);\n if (newYear < 100) {\n dateValue.setFullYear(newYear);\n }\n\n if (!isDateValid(dateValue)) {\n broadcastNewValue(null);\n return;\n }\n\n if (mode === DateMode.MONTH_YEAR) {\n if (newMonth !== month || newYear !== year) {\n broadcastNewValue(dateValue);\n }\n } else if (newDay !== day || newMonth !== month || newYear !== year) {\n broadcastNewValue(dateValue);\n }\n };\n\n const handleDayChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const newDayString = event.target.value.replace(/\\D/g, '');\n const newDayNumber = Number.parseInt(newDayString, 10);\n\n setDay(newDayNumber);\n setDisplayDay(newDayString);\n handleInternalValue(newDayNumber, month, year);\n };\n\n const handleMonthChange = (selectedMonth: number | null) => {\n if (selectedMonth === null) {\n setMonth(null);\n handleInternalValue(day, null, year);\n return;\n }\n setMonth(selectedMonth);\n handleInternalValue(day, selectedMonth, year);\n };\n\n const handleYearChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const newYearString = event.target.value.replace(/\\D/g, '');\n const newYearNumber = Number.parseInt(newYearString, 10);\n\n if (newYearString.length >= 4 && newYearString.length <= 6) {\n setYear(newYearNumber);\n setDisplayYear(newYearString);\n handleInternalValue(day, month, newYearNumber);\n } else {\n setYear(null);\n setDisplayYear(newYearString);\n handleInternalValue(day, month, null);\n }\n };\n\n const broadcastNewValue = (newValue: Date | null) => {\n if (newValue !== lastBroadcastedValue) {\n setLastBroadcastedValue(newValue);\n onChange(newValue != null ? getDateAsString(newValue) : null);\n }\n };\n\n const monthYearOnly = mode === DateMode.MONTH_YEAR;\n\n const monthWidth = clsx({\n 'col-sm-8': monthYearOnly,\n 'col-sm-5': !monthYearOnly,\n });\n\n const getMonth = () => {\n return <div className={monthWidth}>{getSelectElement()}</div>;\n };\n\n const getDay = () => {\n return (\n <div className=\"col-sm-3\">\n <label>\n <Body type={Typography.BODY_DEFAULT}>{dayLabel}</Body>\n <div className={`input-group input-group-${size}`}>\n <Input\n id={`${id}:day`}\n type=\"text\"\n inputMode=\"numeric\"\n pattern=\"[0-9]*\"\n name=\"day\"\n autoComplete={dayAutoComplete}\n value={displayDay || ''}\n placeholder={placeholders?.day}\n disabled={disabled}\n min={1}\n max={31}\n maxLength={2}\n onChange={(event) => handleDayChange(event)}\n />\n </div>\n </label>\n </div>\n );\n };\n\n const getYear = () => {\n return (\n <div className=\"col-sm-4\">\n <label>\n <Body type={Typography.BODY_DEFAULT}>{yearLabel}</Body>\n <div className={`input-group input-group-${size}`}>\n <Input\n id={`${id}:year`}\n type=\"text\"\n inputMode=\"numeric\"\n pattern=\"[0-9]*\"\n name=\"year\"\n autoComplete={yearAutoComplete}\n placeholder={placeholders?.year}\n value={displayYear || ''}\n disabled={disabled}\n min={0}\n max={9999}\n maxLength={6}\n onChange={(event) => handleYearChange(event)}\n />\n </div>\n </label>\n </div>\n );\n };\n const monthBeforeDay = MDY.has(locale);\n const yearFirst = YMD.has(locale);\n\n return (\n <div\n className=\"tw-date\"\n {...inputAttributes}\n id={id}\n aria-labelledby={ariaLabelledBy}\n aria-label={ariaLabel}\n role=\"group\" // Add role attribute to indicate container for interactive elements\n onFocus={(event) =>\n shouldPropagateOnFocus(event) ? onFocus && onFocus(event) : event.stopPropagation()\n }\n onBlur={(event) =>\n shouldPropagateOnBlur(event) ? onBlur && onBlur(event) : event.stopPropagation()\n }\n >\n <div className=\"row\">\n {(() => {\n if (monthYearOnly) {\n return (\n <>\n {!yearFirst && getMonth()}\n {getYear()}\n {yearFirst && getMonth()}\n </>\n );\n }\n if (monthBeforeDay) {\n return (\n <>\n {getMonth()}\n {getDay()}\n {getYear()}\n </>\n );\n }\n if (yearFirst) {\n return (\n <>\n {getYear()}\n {getMonth()}\n {getDay()}\n </>\n );\n }\n return (\n <>\n {getDay()}\n {getMonth()}\n {getYear()}\n </>\n );\n })()}\n </div>\n </div>\n );\n};\n\n// Should only propagate if the relatedTarget is not part of this DateInput component.\nfunction shouldPropagateOnFocus({\n target,\n relatedTarget,\n}: Pick<React.FocusEvent, 'target' | 'relatedTarget'>) {\n const targetParent = target.closest('.tw-date');\n const relatedParent = relatedTarget && relatedTarget.closest('.tw-date');\n return targetParent !== relatedParent;\n}\n\n// Should only propagate if the relatedTarget or the activeElement is not part of this DateInput component.\nfunction shouldPropagateOnBlur({\n target,\n relatedTarget,\n}: Pick<React.FocusEvent, 'target' | 'relatedTarget'>) {\n const blurElementParent = target.closest('.tw-date');\n // Even though FocusEvent.relatedTarget is supported by IE\n // (https://developer.mozilla.org/en-US/docs/Web/API/FocusEvent/relatedTarget)\n // \"IE11 sets document.activeElement to the next focused element before the blur event is called.\"\n // (https://stackoverflow.com/a/49325196/986241)\n // Therefore if the relatedTarget is null, we try the document.activeElement,\n // which may contain the HTML element that is gaining focus\n const focusElement =\n relatedTarget || (document.activeElement !== target ? document.activeElement : null);\n const focusElementParent = focusElement && focusElement.closest('.tw-date');\n return blurElementParent !== focusElementParent;\n}\n\nexport default DateInput;\n"],"names":["DateInput","ariaLabelledByProp","ariaLabel","disabled","size","Size","MEDIUM","value","dayLabel","dayAutoComplete","monthLabel","yearLabel","yearAutoComplete","monthFormat","MonthFormat","LONG","mode","DateMode","DAY_MONTH_YEAR","onChange","onFocus","onBlur","placeholders","id","idProp","selectProps","inputAttributes","useInputAttributes","nonLabelable","ariaLabelledBy","locale","formatMessage","useIntl","getDateObject","isDateValid","convertToLocalMidnight","undefined","getInitialDate","unit","dateObject","isMonthAndYearFormat","getFullYear","getMonth","getDate","day","setDay","useState","displayDay","setDisplayDay","toString","month","setMonth","year","setYear","displayYear","setDisplayYear","lastBroadcastedValue","setLastBroadcastedValue","monthNames","getMonthNames","messages","dayPlaceholder","yearPlaceholder","getDateAsString","date","MONTH_YEAR","slice","join","getSelectElement","_jsxs","className","children","_jsx","Body","type","Typography","BODY_DEFAULT","SelectInput","name","placeholder","items","Array","from","length","_","index","renderValue","selectedValue","SelectInputOptionContent","title","handleMonthChange","isDayValid","newDay","newMonth","newYear","maxDay","Date","handleInternalValue","broadcastNewValue","dateValue","setFullYear","handleDayChange","event","newDayString","target","replace","newDayNumber","Number","parseInt","selectedMonth","handleYearChange","newYearString","newYearNumber","newValue","monthYearOnly","monthWidth","clsx","getDay","Input","inputMode","pattern","autoComplete","min","max","maxLength","getYear","monthBeforeDay","MDY","has","yearFirst","YMD","role","shouldPropagateOnFocus","stopPropagation","shouldPropagateOnBlur","_Fragment","relatedTarget","targetParent","closest","relatedParent","blurElementParent","focusElement","document","activeElement","focusElementParent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DateInput.js","sources":["../../src/dateInput/DateInput.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useState } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport { Body, Input, SelectInput, SelectInputOptionContent, SelectInputProps } from '..';\nimport {\n DateMode,\n MonthFormat,\n Size,\n SizeLarge,\n SizeMedium,\n SizeSmall,\n Typography,\n} from '../common';\nimport { MDY, YMD, getMonthNames, isDateValid, isMonthAndYearFormat } from '../common/dateUtils';\nimport { useInputAttributes } from '../inputs/contexts';\nimport messages from './DateInput.messages';\nimport { convertToLocalMidnight } from './utils';\n\nexport interface DateInputProps {\n /** @deprecated Use `Field` wrapper or the `aria-labelledby` attribute instead. */\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n disabled?: boolean;\n size?: SizeSmall | SizeMedium | SizeLarge;\n value?: Date | string;\n onChange: (value: string | null) => void;\n onFocus?: React.FocusEventHandler<HTMLDivElement>;\n onBlur?: React.FocusEventHandler<HTMLDivElement>;\n dayLabel?: string;\n dayAutoComplete?: string;\n monthLabel?: string;\n yearLabel?: string;\n yearAutoComplete?: string;\n monthFormat?: `${MonthFormat}`;\n mode?: `${DateMode}`;\n placeholders?: {\n day?: string;\n month?: string;\n year?: string;\n };\n id?: string;\n selectProps?: Partial<SelectInputProps<number | null>>;\n}\n\nconst DateInput = ({\n 'aria-labelledby': ariaLabelledByProp,\n 'aria-label': ariaLabel,\n disabled = false,\n size = Size.MEDIUM,\n value,\n dayLabel,\n dayAutoComplete,\n monthLabel,\n yearLabel,\n yearAutoComplete,\n monthFormat = MonthFormat.LONG,\n mode = DateMode.DAY_MONTH_YEAR,\n onChange,\n onFocus,\n onBlur,\n placeholders,\n id: idProp,\n selectProps = {},\n}: DateInputProps) => {\n const inputAttributes = useInputAttributes({ nonLabelable: true });\n const id = idProp ?? inputAttributes.id;\n const ariaLabelledBy = ariaLabelledByProp ?? inputAttributes['aria-labelledby'];\n\n const { locale, formatMessage } = useIntl();\n\n const getDateObject = (): Date | undefined => {\n if (value && isDateValid(value)) {\n return typeof value === 'string' ? convertToLocalMidnight(value) : value;\n }\n return undefined;\n };\n\n const getInitialDate = (unit: 'year' | 'month' | 'day'): number | null => {\n if (value && isDateValid(value)) {\n const dateObject = getDateObject();\n\n if (typeof value === 'string' && isMonthAndYearFormat(value) && unit === 'day') {\n return null;\n }\n\n if (dateObject !== undefined) {\n switch (unit) {\n case 'year':\n return dateObject.getFullYear();\n case 'month':\n return dateObject.getMonth();\n case 'day':\n return dateObject.getDate();\n default:\n return null;\n }\n }\n }\n return null;\n };\n\n const [day, setDay] = useState(() => getInitialDate('day'));\n const [displayDay, setDisplayDay] = useState(day?.toString());\n const [month, setMonth] = useState(() => getInitialDate('month'));\n const [year, setYear] = useState(() => getInitialDate('year'));\n const [displayYear, setDisplayYear] = useState(year?.toString());\n const [lastBroadcastedValue, setLastBroadcastedValue] = useState<Date | null | undefined>(\n getDateObject,\n );\n const monthNames = getMonthNames(locale, monthFormat);\n\n dayLabel ||= formatMessage(messages.dayLabel);\n monthLabel ||= formatMessage(messages.monthLabel);\n yearLabel ||= formatMessage(messages.yearLabel);\n placeholders = {\n day: placeholders?.day || formatMessage(messages.dayPlaceholder),\n month: placeholders?.month || formatMessage(messages.monthLabel),\n year: placeholders?.year || formatMessage(messages.yearPlaceholder),\n };\n\n const getDateAsString = (date: Date) => {\n if (!isDateValid(date)) {\n return '';\n }\n switch (mode) {\n case DateMode.MONTH_YEAR:\n return [date.getFullYear(), `0${date.getMonth() + 1}`.slice(-2)].join('-');\n case DateMode.DAY_MONTH_YEAR:\n default:\n return [\n date.getFullYear(),\n `0${date.getMonth() + 1}`.slice(-2),\n `0${date.getDate()}`.slice(-2),\n ].join('-');\n }\n };\n\n const getSelectElement = () => {\n return (\n <label className=\"d-flex flex-column\">\n <Body type={Typography.BODY_DEFAULT}>{monthLabel}</Body>\n <SelectInput\n id={`${id}:month`}\n name=\"month\"\n disabled={disabled}\n placeholder={placeholders?.month}\n items={Array.from({ length: 12 }, (_, index) => ({ type: 'option', value: index }))}\n size={size}\n value={month}\n renderValue={(selectedValue) => (\n <SelectInputOptionContent title={monthNames[selectedValue]} />\n )}\n onChange={(selectedValue) => handleMonthChange(selectedValue)}\n {...selectProps}\n />\n </label>\n );\n };\n\n const isDayValid = (newDay: number, newMonth: number, newYear: number) => {\n const maxDay = new Date(newYear, newMonth + 1, 0).getDate();\n return newDay <= maxDay;\n };\n\n const handleInternalValue = (newDay = day, newMonth = month, newYear = year) => {\n if (newDay == null || newDay === 0 || newMonth == null || newYear == null || newYear === 0) {\n broadcastNewValue(null);\n return;\n }\n if (!isDayValid(newDay, newMonth, newYear)) {\n broadcastNewValue(null);\n return;\n }\n\n const dateValue = new Date(newYear, newMonth, newDay);\n if (newYear < 100) {\n dateValue.setFullYear(newYear);\n }\n\n if (!isDateValid(dateValue)) {\n broadcastNewValue(null);\n return;\n }\n\n if (mode === DateMode.MONTH_YEAR) {\n if (newMonth !== month || newYear !== year) {\n broadcastNewValue(dateValue);\n }\n } else if (newDay !== day || newMonth !== month || newYear !== year) {\n broadcastNewValue(dateValue);\n }\n };\n\n const handleDayChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const newDayString = event.target.value.replace(/\\D/g, '');\n const newDayNumber = Number.parseInt(newDayString, 10);\n\n setDay(newDayNumber);\n setDisplayDay(newDayString);\n handleInternalValue(newDayNumber, month, year);\n };\n\n const handleMonthChange = (selectedMonth: number | null) => {\n if (selectedMonth === null) {\n setMonth(null);\n handleInternalValue(day, null, year);\n return;\n }\n setMonth(selectedMonth);\n handleInternalValue(day, selectedMonth, year);\n };\n\n const handleYearChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const newYearString = event.target.value.replace(/\\D/g, '');\n const newYearNumber = Number.parseInt(newYearString, 10);\n\n if (newYearString.length >= 4 && newYearString.length <= 6) {\n setYear(newYearNumber);\n setDisplayYear(newYearString);\n handleInternalValue(day, month, newYearNumber);\n } else {\n setYear(null);\n setDisplayYear(newYearString);\n handleInternalValue(day, month, null);\n }\n };\n\n const broadcastNewValue = (newValue: Date | null) => {\n if (newValue !== lastBroadcastedValue) {\n setLastBroadcastedValue(newValue);\n onChange(newValue != null ? getDateAsString(newValue) : null);\n }\n };\n\n const monthYearOnly = mode === DateMode.MONTH_YEAR;\n\n const monthWidth = clsx({\n 'col-sm-8': monthYearOnly,\n 'col-sm-5': !monthYearOnly,\n });\n\n const getMonth = () => {\n return <div className={monthWidth}>{getSelectElement()}</div>;\n };\n\n const getDay = () => {\n return (\n <div className=\"col-sm-3\">\n <label>\n <Body type={Typography.BODY_DEFAULT}>{dayLabel}</Body>\n <div className={`input-group input-group-${size}`}>\n <Input\n id={`${id}:day`}\n type=\"text\"\n inputMode=\"numeric\"\n pattern=\"[0-9]*\"\n name=\"day\"\n autoComplete={dayAutoComplete}\n value={displayDay || ''}\n placeholder={placeholders?.day}\n disabled={disabled}\n min={1}\n max={31}\n maxLength={2}\n onChange={(event) => handleDayChange(event)}\n />\n </div>\n </label>\n </div>\n );\n };\n\n const getYear = () => {\n return (\n <div className=\"col-sm-4\">\n <label>\n <Body type={Typography.BODY_DEFAULT}>{yearLabel}</Body>\n <div className={`input-group input-group-${size}`}>\n <Input\n id={`${id}:year`}\n type=\"text\"\n inputMode=\"numeric\"\n pattern=\"[0-9]*\"\n name=\"year\"\n autoComplete={yearAutoComplete}\n placeholder={placeholders?.year}\n value={displayYear || ''}\n disabled={disabled}\n min={0}\n max={9999}\n maxLength={6}\n onChange={(event) => handleYearChange(event)}\n />\n </div>\n </label>\n </div>\n );\n };\n const monthBeforeDay = MDY.has(locale);\n const yearFirst = YMD.has(locale);\n\n return (\n <div\n className=\"tw-date\"\n {...inputAttributes}\n id={id}\n aria-labelledby={ariaLabelledBy}\n aria-label={ariaLabel}\n role=\"group\" // Add role attribute to indicate container for interactive elements\n onFocus={(event) =>\n shouldPropagateOnFocus(event) ? onFocus && onFocus(event) : event.stopPropagation()\n }\n onBlur={(event) =>\n shouldPropagateOnBlur(event) ? onBlur && onBlur(event) : event.stopPropagation()\n }\n >\n <div className=\"row\">\n {(() => {\n if (monthYearOnly) {\n return (\n <>\n {!yearFirst && getMonth()}\n {getYear()}\n {yearFirst && getMonth()}\n </>\n );\n }\n if (monthBeforeDay) {\n return (\n <>\n {getMonth()}\n {getDay()}\n {getYear()}\n </>\n );\n }\n if (yearFirst) {\n return (\n <>\n {getYear()}\n {getMonth()}\n {getDay()}\n </>\n );\n }\n return (\n <>\n {getDay()}\n {getMonth()}\n {getYear()}\n </>\n );\n })()}\n </div>\n </div>\n );\n};\n\n// Should only propagate if the relatedTarget is not part of this DateInput component.\nfunction shouldPropagateOnFocus({\n target,\n relatedTarget,\n}: Pick<React.FocusEvent, 'target' | 'relatedTarget'>) {\n const targetParent = target.closest('.tw-date');\n const relatedParent = relatedTarget && relatedTarget.closest('.tw-date');\n return targetParent !== relatedParent;\n}\n\n// Should only propagate if the relatedTarget or the activeElement is not part of this DateInput component.\nfunction shouldPropagateOnBlur({\n target,\n relatedTarget,\n}: Pick<React.FocusEvent, 'target' | 'relatedTarget'>) {\n const blurElementParent = target.closest('.tw-date');\n // Even though FocusEvent.relatedTarget is supported by IE\n // (https://developer.mozilla.org/en-US/docs/Web/API/FocusEvent/relatedTarget)\n // \"IE11 sets document.activeElement to the next focused element before the blur event is called.\"\n // (https://stackoverflow.com/a/49325196/986241)\n // Therefore if the relatedTarget is null, we try the document.activeElement,\n // which may contain the HTML element that is gaining focus\n const focusElement =\n relatedTarget || (document.activeElement !== target ? document.activeElement : null);\n const focusElementParent = focusElement && focusElement.closest('.tw-date');\n return blurElementParent !== focusElementParent;\n}\n\nexport default DateInput;\n"],"names":["DateInput","ariaLabelledByProp","ariaLabel","disabled","size","Size","MEDIUM","value","dayLabel","dayAutoComplete","monthLabel","yearLabel","yearAutoComplete","monthFormat","MonthFormat","LONG","mode","DateMode","DAY_MONTH_YEAR","onChange","onFocus","onBlur","placeholders","id","idProp","selectProps","inputAttributes","useInputAttributes","nonLabelable","ariaLabelledBy","locale","formatMessage","useIntl","getDateObject","isDateValid","convertToLocalMidnight","undefined","getInitialDate","unit","dateObject","isMonthAndYearFormat","getFullYear","getMonth","getDate","day","setDay","useState","displayDay","setDisplayDay","toString","month","setMonth","year","setYear","displayYear","setDisplayYear","lastBroadcastedValue","setLastBroadcastedValue","monthNames","getMonthNames","messages","dayPlaceholder","yearPlaceholder","getDateAsString","date","MONTH_YEAR","slice","join","getSelectElement","_jsxs","className","children","_jsx","Body","type","Typography","BODY_DEFAULT","SelectInput","name","placeholder","items","Array","from","length","_","index","renderValue","selectedValue","SelectInputOptionContent","title","handleMonthChange","isDayValid","newDay","newMonth","newYear","maxDay","Date","handleInternalValue","broadcastNewValue","dateValue","setFullYear","handleDayChange","event","newDayString","target","replace","newDayNumber","Number","parseInt","selectedMonth","handleYearChange","newYearString","newYearNumber","newValue","monthYearOnly","monthWidth","clsx","getDay","Input","inputMode","pattern","autoComplete","min","max","maxLength","getYear","monthBeforeDay","MDY","has","yearFirst","YMD","role","shouldPropagateOnFocus","stopPropagation","shouldPropagateOnBlur","_Fragment","relatedTarget","targetParent","closest","relatedParent","blurElementParent","focusElement","document","activeElement","focusElementParent"],"mappings":"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"}
|
|
@@ -1,6 +1,28 @@
|
|
|
1
1
|
import { clsx } from 'clsx';
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { useIntl } from 'react-intl';
|
|
4
|
+
import '../common/theme.mjs';
|
|
5
|
+
import '../common/direction.mjs';
|
|
6
|
+
import '../common/propsValues/control.mjs';
|
|
7
|
+
import '../common/propsValues/breakpoint.mjs';
|
|
8
|
+
import { Size } from '../common/propsValues/size.mjs';
|
|
9
|
+
import { Typography } from '../common/propsValues/typography.mjs';
|
|
10
|
+
import '../common/propsValues/width.mjs';
|
|
11
|
+
import '../common/propsValues/type.mjs';
|
|
12
|
+
import { DateMode } from '../common/propsValues/dateMode.mjs';
|
|
13
|
+
import { MonthFormat } from '../common/propsValues/monthFormat.mjs';
|
|
14
|
+
import '../common/propsValues/position.mjs';
|
|
15
|
+
import '../common/propsValues/layouts.mjs';
|
|
16
|
+
import '../common/propsValues/status.mjs';
|
|
17
|
+
import '../common/propsValues/sentiment.mjs';
|
|
18
|
+
import '../common/propsValues/profileType.mjs';
|
|
19
|
+
import '../common/propsValues/variant.mjs';
|
|
20
|
+
import '../common/propsValues/scroll.mjs';
|
|
21
|
+
import '../common/propsValues/markdownNodeType.mjs';
|
|
22
|
+
import '../common/fileType.mjs';
|
|
23
|
+
import '@transferwise/icons';
|
|
24
|
+
import '../common/closeButton/CloseButton.messages.mjs';
|
|
25
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
4
26
|
import '@transferwise/formatting';
|
|
5
27
|
import { getMonthNames } from '../common/dateUtils/getMonthNames/getMonthNames.mjs';
|
|
6
28
|
import { isDateValid } from '../common/dateUtils/isDateValid/isDateValid.mjs';
|
|
@@ -9,14 +31,9 @@ import { MDY, YMD } from '../common/dateUtils/getFormatForLocale/getFormatForLoc
|
|
|
9
31
|
import { useInputAttributes } from '../inputs/contexts.mjs';
|
|
10
32
|
import messages from './DateInput.messages.mjs';
|
|
11
33
|
import { convertToLocalMidnight } from './utils/convertToLocalMidnight/convertToLocalMidnight.mjs';
|
|
12
|
-
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
13
|
-
import { DateMode } from '../common/propsValues/dateMode.mjs';
|
|
14
|
-
import { MonthFormat } from '../common/propsValues/monthFormat.mjs';
|
|
15
34
|
import Body from '../body/Body.mjs';
|
|
16
35
|
import { Input } from '../inputs/Input.mjs';
|
|
17
36
|
import { SelectInput, SelectInputOptionContent } from '../inputs/SelectInput.mjs';
|
|
18
|
-
import { Size } from '../common/propsValues/size.mjs';
|
|
19
|
-
import { Typography } from '../common/propsValues/typography.mjs';
|
|
20
37
|
|
|
21
38
|
const DateInput = ({
|
|
22
39
|
'aria-labelledby': ariaLabelledByProp,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateInput.mjs","sources":["../../src/dateInput/DateInput.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useState } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport { Body, Input, SelectInput, SelectInputOptionContent, SelectInputProps } from '..';\nimport {\n DateMode,\n MonthFormat,\n Size,\n SizeLarge,\n SizeMedium,\n SizeSmall,\n Typography,\n} from '../common';\nimport { MDY, YMD, getMonthNames, isDateValid, isMonthAndYearFormat } from '../common/dateUtils';\nimport { useInputAttributes } from '../inputs/contexts';\nimport messages from './DateInput.messages';\nimport { convertToLocalMidnight } from './utils';\n\nexport interface DateInputProps {\n /** @deprecated Use `Field` wrapper or the `aria-labelledby` attribute instead. */\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n disabled?: boolean;\n size?: SizeSmall | SizeMedium | SizeLarge;\n value?: Date | string;\n onChange: (value: string | null) => void;\n onFocus?: React.FocusEventHandler<HTMLDivElement>;\n onBlur?: React.FocusEventHandler<HTMLDivElement>;\n dayLabel?: string;\n dayAutoComplete?: string;\n monthLabel?: string;\n yearLabel?: string;\n yearAutoComplete?: string;\n monthFormat?: `${MonthFormat}`;\n mode?: `${DateMode}`;\n placeholders?: {\n day?: string;\n month?: string;\n year?: string;\n };\n id?: string;\n selectProps?: Partial<SelectInputProps<number | null>>;\n}\n\nconst DateInput = ({\n 'aria-labelledby': ariaLabelledByProp,\n 'aria-label': ariaLabel,\n disabled = false,\n size = Size.MEDIUM,\n value,\n dayLabel,\n dayAutoComplete,\n monthLabel,\n yearLabel,\n yearAutoComplete,\n monthFormat = MonthFormat.LONG,\n mode = DateMode.DAY_MONTH_YEAR,\n onChange,\n onFocus,\n onBlur,\n placeholders,\n id: idProp,\n selectProps = {},\n}: DateInputProps) => {\n const inputAttributes = useInputAttributes({ nonLabelable: true });\n const id = idProp ?? inputAttributes.id;\n const ariaLabelledBy = ariaLabelledByProp ?? inputAttributes['aria-labelledby'];\n\n const { locale, formatMessage } = useIntl();\n\n const getDateObject = (): Date | undefined => {\n if (value && isDateValid(value)) {\n return typeof value === 'string' ? convertToLocalMidnight(value) : value;\n }\n return undefined;\n };\n\n const getInitialDate = (unit: 'year' | 'month' | 'day'): number | null => {\n if (value && isDateValid(value)) {\n const dateObject = getDateObject();\n\n if (typeof value === 'string' && isMonthAndYearFormat(value) && unit === 'day') {\n return null;\n }\n\n if (dateObject !== undefined) {\n switch (unit) {\n case 'year':\n return dateObject.getFullYear();\n case 'month':\n return dateObject.getMonth();\n case 'day':\n return dateObject.getDate();\n default:\n return null;\n }\n }\n }\n return null;\n };\n\n const [day, setDay] = useState(() => getInitialDate('day'));\n const [displayDay, setDisplayDay] = useState(day?.toString());\n const [month, setMonth] = useState(() => getInitialDate('month'));\n const [year, setYear] = useState(() => getInitialDate('year'));\n const [displayYear, setDisplayYear] = useState(year?.toString());\n const [lastBroadcastedValue, setLastBroadcastedValue] = useState<Date | null | undefined>(\n getDateObject,\n );\n const monthNames = getMonthNames(locale, monthFormat);\n\n dayLabel ||= formatMessage(messages.dayLabel);\n monthLabel ||= formatMessage(messages.monthLabel);\n yearLabel ||= formatMessage(messages.yearLabel);\n placeholders = {\n day: placeholders?.day || formatMessage(messages.dayPlaceholder),\n month: placeholders?.month || formatMessage(messages.monthLabel),\n year: placeholders?.year || formatMessage(messages.yearPlaceholder),\n };\n\n const getDateAsString = (date: Date) => {\n if (!isDateValid(date)) {\n return '';\n }\n switch (mode) {\n case DateMode.MONTH_YEAR:\n return [date.getFullYear(), `0${date.getMonth() + 1}`.slice(-2)].join('-');\n case DateMode.DAY_MONTH_YEAR:\n default:\n return [\n date.getFullYear(),\n `0${date.getMonth() + 1}`.slice(-2),\n `0${date.getDate()}`.slice(-2),\n ].join('-');\n }\n };\n\n const getSelectElement = () => {\n return (\n <label className=\"d-flex flex-column\">\n <Body type={Typography.BODY_DEFAULT}>{monthLabel}</Body>\n <SelectInput\n id={`${id}:month`}\n name=\"month\"\n disabled={disabled}\n placeholder={placeholders?.month}\n items={Array.from({ length: 12 }, (_, index) => ({ type: 'option', value: index }))}\n size={size}\n value={month}\n renderValue={(selectedValue) => (\n <SelectInputOptionContent title={monthNames[selectedValue]} />\n )}\n onChange={(selectedValue) => handleMonthChange(selectedValue)}\n {...selectProps}\n />\n </label>\n );\n };\n\n const isDayValid = (newDay: number, newMonth: number, newYear: number) => {\n const maxDay = new Date(newYear, newMonth + 1, 0).getDate();\n return newDay <= maxDay;\n };\n\n const handleInternalValue = (newDay = day, newMonth = month, newYear = year) => {\n if (newDay == null || newDay === 0 || newMonth == null || newYear == null || newYear === 0) {\n broadcastNewValue(null);\n return;\n }\n if (!isDayValid(newDay, newMonth, newYear)) {\n broadcastNewValue(null);\n return;\n }\n\n const dateValue = new Date(newYear, newMonth, newDay);\n if (newYear < 100) {\n dateValue.setFullYear(newYear);\n }\n\n if (!isDateValid(dateValue)) {\n broadcastNewValue(null);\n return;\n }\n\n if (mode === DateMode.MONTH_YEAR) {\n if (newMonth !== month || newYear !== year) {\n broadcastNewValue(dateValue);\n }\n } else if (newDay !== day || newMonth !== month || newYear !== year) {\n broadcastNewValue(dateValue);\n }\n };\n\n const handleDayChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const newDayString = event.target.value.replace(/\\D/g, '');\n const newDayNumber = Number.parseInt(newDayString, 10);\n\n setDay(newDayNumber);\n setDisplayDay(newDayString);\n handleInternalValue(newDayNumber, month, year);\n };\n\n const handleMonthChange = (selectedMonth: number | null) => {\n if (selectedMonth === null) {\n setMonth(null);\n handleInternalValue(day, null, year);\n return;\n }\n setMonth(selectedMonth);\n handleInternalValue(day, selectedMonth, year);\n };\n\n const handleYearChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const newYearString = event.target.value.replace(/\\D/g, '');\n const newYearNumber = Number.parseInt(newYearString, 10);\n\n if (newYearString.length >= 4 && newYearString.length <= 6) {\n setYear(newYearNumber);\n setDisplayYear(newYearString);\n handleInternalValue(day, month, newYearNumber);\n } else {\n setYear(null);\n setDisplayYear(newYearString);\n handleInternalValue(day, month, null);\n }\n };\n\n const broadcastNewValue = (newValue: Date | null) => {\n if (newValue !== lastBroadcastedValue) {\n setLastBroadcastedValue(newValue);\n onChange(newValue != null ? getDateAsString(newValue) : null);\n }\n };\n\n const monthYearOnly = mode === DateMode.MONTH_YEAR;\n\n const monthWidth = clsx({\n 'col-sm-8': monthYearOnly,\n 'col-sm-5': !monthYearOnly,\n });\n\n const getMonth = () => {\n return <div className={monthWidth}>{getSelectElement()}</div>;\n };\n\n const getDay = () => {\n return (\n <div className=\"col-sm-3\">\n <label>\n <Body type={Typography.BODY_DEFAULT}>{dayLabel}</Body>\n <div className={`input-group input-group-${size}`}>\n <Input\n id={`${id}:day`}\n type=\"text\"\n inputMode=\"numeric\"\n pattern=\"[0-9]*\"\n name=\"day\"\n autoComplete={dayAutoComplete}\n value={displayDay || ''}\n placeholder={placeholders?.day}\n disabled={disabled}\n min={1}\n max={31}\n maxLength={2}\n onChange={(event) => handleDayChange(event)}\n />\n </div>\n </label>\n </div>\n );\n };\n\n const getYear = () => {\n return (\n <div className=\"col-sm-4\">\n <label>\n <Body type={Typography.BODY_DEFAULT}>{yearLabel}</Body>\n <div className={`input-group input-group-${size}`}>\n <Input\n id={`${id}:year`}\n type=\"text\"\n inputMode=\"numeric\"\n pattern=\"[0-9]*\"\n name=\"year\"\n autoComplete={yearAutoComplete}\n placeholder={placeholders?.year}\n value={displayYear || ''}\n disabled={disabled}\n min={0}\n max={9999}\n maxLength={6}\n onChange={(event) => handleYearChange(event)}\n />\n </div>\n </label>\n </div>\n );\n };\n const monthBeforeDay = MDY.has(locale);\n const yearFirst = YMD.has(locale);\n\n return (\n <div\n className=\"tw-date\"\n {...inputAttributes}\n id={id}\n aria-labelledby={ariaLabelledBy}\n aria-label={ariaLabel}\n role=\"group\" // Add role attribute to indicate container for interactive elements\n onFocus={(event) =>\n shouldPropagateOnFocus(event) ? onFocus && onFocus(event) : event.stopPropagation()\n }\n onBlur={(event) =>\n shouldPropagateOnBlur(event) ? onBlur && onBlur(event) : event.stopPropagation()\n }\n >\n <div className=\"row\">\n {(() => {\n if (monthYearOnly) {\n return (\n <>\n {!yearFirst && getMonth()}\n {getYear()}\n {yearFirst && getMonth()}\n </>\n );\n }\n if (monthBeforeDay) {\n return (\n <>\n {getMonth()}\n {getDay()}\n {getYear()}\n </>\n );\n }\n if (yearFirst) {\n return (\n <>\n {getYear()}\n {getMonth()}\n {getDay()}\n </>\n );\n }\n return (\n <>\n {getDay()}\n {getMonth()}\n {getYear()}\n </>\n );\n })()}\n </div>\n </div>\n );\n};\n\n// Should only propagate if the relatedTarget is not part of this DateInput component.\nfunction shouldPropagateOnFocus({\n target,\n relatedTarget,\n}: Pick<React.FocusEvent, 'target' | 'relatedTarget'>) {\n const targetParent = target.closest('.tw-date');\n const relatedParent = relatedTarget && relatedTarget.closest('.tw-date');\n return targetParent !== relatedParent;\n}\n\n// Should only propagate if the relatedTarget or the activeElement is not part of this DateInput component.\nfunction shouldPropagateOnBlur({\n target,\n relatedTarget,\n}: Pick<React.FocusEvent, 'target' | 'relatedTarget'>) {\n const blurElementParent = target.closest('.tw-date');\n // Even though FocusEvent.relatedTarget is supported by IE\n // (https://developer.mozilla.org/en-US/docs/Web/API/FocusEvent/relatedTarget)\n // \"IE11 sets document.activeElement to the next focused element before the blur event is called.\"\n // (https://stackoverflow.com/a/49325196/986241)\n // Therefore if the relatedTarget is null, we try the document.activeElement,\n // which may contain the HTML element that is gaining focus\n const focusElement =\n relatedTarget || (document.activeElement !== target ? document.activeElement : null);\n const focusElementParent = focusElement && focusElement.closest('.tw-date');\n return blurElementParent !== focusElementParent;\n}\n\nexport default DateInput;\n"],"names":["DateInput","ariaLabelledByProp","ariaLabel","disabled","size","Size","MEDIUM","value","dayLabel","dayAutoComplete","monthLabel","yearLabel","yearAutoComplete","monthFormat","MonthFormat","LONG","mode","DateMode","DAY_MONTH_YEAR","onChange","onFocus","onBlur","placeholders","id","idProp","selectProps","inputAttributes","useInputAttributes","nonLabelable","ariaLabelledBy","locale","formatMessage","useIntl","getDateObject","isDateValid","convertToLocalMidnight","undefined","getInitialDate","unit","dateObject","isMonthAndYearFormat","getFullYear","getMonth","getDate","day","setDay","useState","displayDay","setDisplayDay","toString","month","setMonth","year","setYear","displayYear","setDisplayYear","lastBroadcastedValue","setLastBroadcastedValue","monthNames","getMonthNames","messages","dayPlaceholder","yearPlaceholder","getDateAsString","date","MONTH_YEAR","slice","join","getSelectElement","_jsxs","className","children","_jsx","Body","type","Typography","BODY_DEFAULT","SelectInput","name","placeholder","items","Array","from","length","_","index","renderValue","selectedValue","SelectInputOptionContent","title","handleMonthChange","isDayValid","newDay","newMonth","newYear","maxDay","Date","handleInternalValue","broadcastNewValue","dateValue","setFullYear","handleDayChange","event","newDayString","target","replace","newDayNumber","Number","parseInt","selectedMonth","handleYearChange","newYearString","newYearNumber","newValue","monthYearOnly","monthWidth","clsx","getDay","Input","inputMode","pattern","autoComplete","min","max","maxLength","getYear","monthBeforeDay","MDY","has","yearFirst","YMD","role","shouldPropagateOnFocus","stopPropagation","shouldPropagateOnBlur","_Fragment","relatedTarget","targetParent","closest","relatedParent","blurElementParent","focusElement","document","activeElement","focusElementParent"],"mappings":";;;;;;;;;;;;;;;;;;;;AA6CMA,MAAAA,SAAS,GAAGA,CAAC;AACjB,EAAA,iBAAiB,EAAEC,kBAAkB;AACrC,EAAA,YAAY,EAAEC,SAAS;AACvBC,EAAAA,QAAQ,GAAG,KAAK;EAChBC,IAAI,GAAGC,IAAI,CAACC,MAAM;EAClBC,KAAK;EACLC,QAAQ;EACRC,eAAe;EACfC,UAAU;EACVC,SAAS;EACTC,gBAAgB;EAChBC,WAAW,GAAGC,WAAW,CAACC,IAAI;EAC9BC,IAAI,GAAGC,QAAQ,CAACC,cAAc;EAC9BC,QAAQ;EACRC,OAAO;EACPC,MAAM;EACNC,YAAY;AACZC,EAAAA,EAAE,EAAEC,MAAM;AACVC,EAAAA,WAAW,GAAG,EAAE;AAAA,CACD,KAAI;EACnB,MAAMC,eAAe,GAAGC,kBAAkB,CAAC;AAAEC,IAAAA,YAAY,EAAE,IAAA;AAAM,GAAA,CAAC,CAAA;AAClE,EAAA,MAAML,EAAE,GAAGC,MAAM,IAAIE,eAAe,CAACH,EAAE,CAAA;AACvC,EAAA,MAAMM,cAAc,GAAG5B,kBAAkB,IAAIyB,eAAe,CAAC,iBAAiB,CAAC,CAAA;EAE/E,MAAM;IAAEI,MAAM;AAAEC,IAAAA,aAAAA;GAAe,GAAGC,OAAO,EAAE,CAAA;EAE3C,MAAMC,aAAa,GAAGA,MAAuB;AAC3C,IAAA,IAAI1B,KAAK,IAAI2B,WAAW,CAAC3B,KAAK,CAAC,EAAE;MAC/B,OAAO,OAAOA,KAAK,KAAK,QAAQ,GAAG4B,sBAAsB,CAAC5B,KAAK,CAAC,GAAGA,KAAK,CAAA;AAC1E,KAAA;AACA,IAAA,OAAO6B,SAAS,CAAA;GACjB,CAAA;EAED,MAAMC,cAAc,GAAIC,IAA8B,IAAmB;AACvE,IAAA,IAAI/B,KAAK,IAAI2B,WAAW,CAAC3B,KAAK,CAAC,EAAE;AAC/B,MAAA,MAAMgC,UAAU,GAAGN,aAAa,EAAE,CAAA;AAElC,MAAA,IAAI,OAAO1B,KAAK,KAAK,QAAQ,IAAIiC,oBAAoB,CAACjC,KAAK,CAAC,IAAI+B,IAAI,KAAK,KAAK,EAAE;AAC9E,QAAA,OAAO,IAAI,CAAA;AACb,OAAA;MAEA,IAAIC,UAAU,KAAKH,SAAS,EAAE;AAC5B,QAAA,QAAQE,IAAI;AACV,UAAA,KAAK,MAAM;AACT,YAAA,OAAOC,UAAU,CAACE,WAAW,EAAE,CAAA;AACjC,UAAA,KAAK,OAAO;AACV,YAAA,OAAOF,UAAU,CAACG,QAAQ,EAAE,CAAA;AAC9B,UAAA,KAAK,KAAK;AACR,YAAA,OAAOH,UAAU,CAACI,OAAO,EAAE,CAAA;AAC7B,UAAA;AACE,YAAA,OAAO,IAAI,CAAA;AACf,SAAA;AACF,OAAA;AACF,KAAA;AACA,IAAA,OAAO,IAAI,CAAA;GACZ,CAAA;AAED,EAAA,MAAM,CAACC,GAAG,EAAEC,MAAM,CAAC,GAAGC,QAAQ,CAAC,MAAMT,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;AAC3D,EAAA,MAAM,CAACU,UAAU,EAAEC,aAAa,CAAC,GAAGF,QAAQ,CAACF,GAAG,EAAEK,QAAQ,EAAE,CAAC,CAAA;AAC7D,EAAA,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGL,QAAQ,CAAC,MAAMT,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;AACjE,EAAA,MAAM,CAACe,IAAI,EAAEC,OAAO,CAAC,GAAGP,QAAQ,CAAC,MAAMT,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;AAC9D,EAAA,MAAM,CAACiB,WAAW,EAAEC,cAAc,CAAC,GAAGT,QAAQ,CAACM,IAAI,EAAEH,QAAQ,EAAE,CAAC,CAAA;EAChE,MAAM,CAACO,oBAAoB,EAAEC,uBAAuB,CAAC,GAAGX,QAAQ,CAC9Db,aAAa,CACd,CAAA;AACD,EAAA,MAAMyB,UAAU,GAAGC,aAAa,CAAC7B,MAAM,EAAEjB,WAAW,CAAC,CAAA;AAErDL,EAAAA,QAAQ,KAAKuB,aAAa,CAAC6B,QAAQ,CAACpD,QAAQ,CAAC,CAAA;AAC7CE,EAAAA,UAAU,KAAKqB,aAAa,CAAC6B,QAAQ,CAAClD,UAAU,CAAC,CAAA;AACjDC,EAAAA,SAAS,KAAKoB,aAAa,CAAC6B,QAAQ,CAACjD,SAAS,CAAC,CAAA;AAC/CW,EAAAA,YAAY,GAAG;IACbsB,GAAG,EAAEtB,YAAY,EAAEsB,GAAG,IAAIb,aAAa,CAAC6B,QAAQ,CAACC,cAAc,CAAC;IAChEX,KAAK,EAAE5B,YAAY,EAAE4B,KAAK,IAAInB,aAAa,CAAC6B,QAAQ,CAAClD,UAAU,CAAC;IAChE0C,IAAI,EAAE9B,YAAY,EAAE8B,IAAI,IAAIrB,aAAa,CAAC6B,QAAQ,CAACE,eAAe,CAAA;GACnE,CAAA;EAED,MAAMC,eAAe,GAAIC,IAAU,IAAI;AACrC,IAAA,IAAI,CAAC9B,WAAW,CAAC8B,IAAI,CAAC,EAAE;AACtB,MAAA,OAAO,EAAE,CAAA;AACX,KAAA;AACA,IAAA,QAAQhD,IAAI;MACV,KAAKC,QAAQ,CAACgD,UAAU;QACtB,OAAO,CAACD,IAAI,CAACvB,WAAW,EAAE,EAAE,CAAIuB,CAAAA,EAAAA,IAAI,CAACtB,QAAQ,EAAE,GAAG,CAAC,CAAE,CAAA,CAACwB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,CAAA;MAC5E,KAAKlD,QAAQ,CAACC,cAAc,CAAA;AAC5B,MAAA;AACE,QAAA,OAAO,CACL8C,IAAI,CAACvB,WAAW,EAAE,EAClB,CAAIuB,CAAAA,EAAAA,IAAI,CAACtB,QAAQ,EAAE,GAAG,CAAC,CAAE,CAAA,CAACwB,KAAK,CAAC,CAAC,CAAC,CAAC,EACnC,CAAIF,CAAAA,EAAAA,IAAI,CAACrB,OAAO,EAAE,CAAE,CAAA,CAACuB,KAAK,CAAC,CAAC,CAAC,CAAC,CAC/B,CAACC,IAAI,CAAC,GAAG,CAAC,CAAA;AACf,KAAA;GACD,CAAA;EAED,MAAMC,gBAAgB,GAAGA,MAAK;AAC5B,IAAA,oBACEC,IAAA,CAAA,OAAA,EAAA;AAAOC,MAAAA,SAAS,EAAC,oBAAoB;MAAAC,QAAA,EAAA,cACnCC,GAAA,CAACC,IAAI,EAAA;QAACC,IAAI,EAAEC,UAAU,CAACC,YAAa;AAAAL,QAAAA,QAAA,EAAE7D,UAAAA;AAAU,OAAO,CACvD,eAAA8D,GAAA,CAACK,WAAW,EAAA;QACVtD,EAAE,EAAE,CAAGA,EAAAA,EAAE,CAAS,MAAA,CAAA;AAClBuD,QAAAA,IAAI,EAAC,OAAO;AACZ3E,QAAAA,QAAQ,EAAEA,QAAS;QACnB4E,WAAW,EAAEzD,YAAY,EAAE4B,KAAM;AACjC8B,QAAAA,KAAK,EAAEC,KAAK,CAACC,IAAI,CAAC;AAAEC,UAAAA,MAAM,EAAE,EAAA;AAAE,SAAE,EAAE,CAACC,CAAC,EAAEC,KAAK,MAAM;AAAEX,UAAAA,IAAI,EAAE,QAAQ;AAAEnE,UAAAA,KAAK,EAAE8E,KAAAA;SAAO,CAAC,CAAE;AACpFjF,QAAAA,IAAI,EAAEA,IAAK;AACXG,QAAAA,KAAK,EAAE2C,KAAM;AACboC,QAAAA,WAAW,EAAGC,aAAa,iBACzBf,GAAA,CAACgB,wBAAwB,EAAA;UAACC,KAAK,EAAE/B,UAAU,CAAC6B,aAAa,CAAA;AAAE,SAAG,CAC9D;AACFpE,QAAAA,QAAQ,EAAGoE,aAAa,IAAKG,iBAAiB,CAACH,aAAa,CAAE;QAAA,GAC1D9D,WAAAA;AAAW,OAEnB,CAAA,CAAA;AAAA,KAAO,CAAC,CAAA;GAEX,CAAA;EAED,MAAMkE,UAAU,GAAGA,CAACC,MAAc,EAAEC,QAAgB,EAAEC,OAAe,KAAI;AACvE,IAAA,MAAMC,MAAM,GAAG,IAAIC,IAAI,CAACF,OAAO,EAAED,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,CAAClD,OAAO,EAAE,CAAA;IAC3D,OAAOiD,MAAM,IAAIG,MAAM,CAAA;GACxB,CAAA;AAED,EAAA,MAAME,mBAAmB,GAAGA,CAACL,MAAM,GAAGhD,GAAG,EAAEiD,QAAQ,GAAG3C,KAAK,EAAE4C,OAAO,GAAG1C,IAAI,KAAI;AAC7E,IAAA,IAAIwC,MAAM,IAAI,IAAI,IAAIA,MAAM,KAAK,CAAC,IAAIC,QAAQ,IAAI,IAAI,IAAIC,OAAO,IAAI,IAAI,IAAIA,OAAO,KAAK,CAAC,EAAE;MAC1FI,iBAAiB,CAAC,IAAI,CAAC,CAAA;AACvB,MAAA,OAAA;AACF,KAAA;IACA,IAAI,CAACP,UAAU,CAACC,MAAM,EAAEC,QAAQ,EAAEC,OAAO,CAAC,EAAE;MAC1CI,iBAAiB,CAAC,IAAI,CAAC,CAAA;AACvB,MAAA,OAAA;AACF,KAAA;IAEA,MAAMC,SAAS,GAAG,IAAIH,IAAI,CAACF,OAAO,EAAED,QAAQ,EAAED,MAAM,CAAC,CAAA;IACrD,IAAIE,OAAO,GAAG,GAAG,EAAE;AACjBK,MAAAA,SAAS,CAACC,WAAW,CAACN,OAAO,CAAC,CAAA;AAChC,KAAA;AAEA,IAAA,IAAI,CAAC5D,WAAW,CAACiE,SAAS,CAAC,EAAE;MAC3BD,iBAAiB,CAAC,IAAI,CAAC,CAAA;AACvB,MAAA,OAAA;AACF,KAAA;AAEA,IAAA,IAAIlF,IAAI,KAAKC,QAAQ,CAACgD,UAAU,EAAE;AAChC,MAAA,IAAI4B,QAAQ,KAAK3C,KAAK,IAAI4C,OAAO,KAAK1C,IAAI,EAAE;QAC1C8C,iBAAiB,CAACC,SAAS,CAAC,CAAA;AAC9B,OAAA;AACF,KAAC,MAAM,IAAIP,MAAM,KAAKhD,GAAG,IAAIiD,QAAQ,KAAK3C,KAAK,IAAI4C,OAAO,KAAK1C,IAAI,EAAE;MACnE8C,iBAAiB,CAACC,SAAS,CAAC,CAAA;AAC9B,KAAA;GACD,CAAA;EAED,MAAME,eAAe,GAAIC,KAA0C,IAAI;AACrE,IAAA,MAAMC,YAAY,GAAGD,KAAK,CAACE,MAAM,CAACjG,KAAK,CAACkG,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC1D,MAAMC,YAAY,GAAGC,MAAM,CAACC,QAAQ,CAACL,YAAY,EAAE,EAAE,CAAC,CAAA;IAEtD1D,MAAM,CAAC6D,YAAY,CAAC,CAAA;IACpB1D,aAAa,CAACuD,YAAY,CAAC,CAAA;AAC3BN,IAAAA,mBAAmB,CAACS,YAAY,EAAExD,KAAK,EAAEE,IAAI,CAAC,CAAA;GAC/C,CAAA;EAED,MAAMsC,iBAAiB,GAAImB,aAA4B,IAAI;IACzD,IAAIA,aAAa,KAAK,IAAI,EAAE;MAC1B1D,QAAQ,CAAC,IAAI,CAAC,CAAA;AACd8C,MAAAA,mBAAmB,CAACrD,GAAG,EAAE,IAAI,EAAEQ,IAAI,CAAC,CAAA;AACpC,MAAA,OAAA;AACF,KAAA;IACAD,QAAQ,CAAC0D,aAAa,CAAC,CAAA;AACvBZ,IAAAA,mBAAmB,CAACrD,GAAG,EAAEiE,aAAa,EAAEzD,IAAI,CAAC,CAAA;GAC9C,CAAA;EAED,MAAM0D,gBAAgB,GAAIR,KAA0C,IAAI;AACtE,IAAA,MAAMS,aAAa,GAAGT,KAAK,CAACE,MAAM,CAACjG,KAAK,CAACkG,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC3D,MAAMO,aAAa,GAAGL,MAAM,CAACC,QAAQ,CAACG,aAAa,EAAE,EAAE,CAAC,CAAA;IAExD,IAAIA,aAAa,CAAC5B,MAAM,IAAI,CAAC,IAAI4B,aAAa,CAAC5B,MAAM,IAAI,CAAC,EAAE;MAC1D9B,OAAO,CAAC2D,aAAa,CAAC,CAAA;MACtBzD,cAAc,CAACwD,aAAa,CAAC,CAAA;AAC7Bd,MAAAA,mBAAmB,CAACrD,GAAG,EAAEM,KAAK,EAAE8D,aAAa,CAAC,CAAA;AAChD,KAAC,MAAM;MACL3D,OAAO,CAAC,IAAI,CAAC,CAAA;MACbE,cAAc,CAACwD,aAAa,CAAC,CAAA;AAC7Bd,MAAAA,mBAAmB,CAACrD,GAAG,EAAEM,KAAK,EAAE,IAAI,CAAC,CAAA;AACvC,KAAA;GACD,CAAA;EAED,MAAMgD,iBAAiB,GAAIe,QAAqB,IAAI;IAClD,IAAIA,QAAQ,KAAKzD,oBAAoB,EAAE;MACrCC,uBAAuB,CAACwD,QAAQ,CAAC,CAAA;MACjC9F,QAAQ,CAAC8F,QAAQ,IAAI,IAAI,GAAGlD,eAAe,CAACkD,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAA;AAC/D,KAAA;GACD,CAAA;AAED,EAAA,MAAMC,aAAa,GAAGlG,IAAI,KAAKC,QAAQ,CAACgD,UAAU,CAAA;EAElD,MAAMkD,UAAU,GAAGC,IAAI,CAAC;AACtB,IAAA,UAAU,EAAEF,aAAa;AACzB,IAAA,UAAU,EAAE,CAACA,aAAAA;AACd,GAAA,CAAC,CAAA;EAEF,MAAMxE,QAAQ,GAAGA,MAAK;AACpB,IAAA,oBAAO8B,GAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAE6C,UAAW;MAAA5C,QAAA,EAAEH,gBAAgB,EAAE;AAAA,KAAM,CAAC,CAAA;GAC9D,CAAA;EAED,MAAMiD,MAAM,GAAGA,MAAK;AAClB,IAAA,oBACE7C,GAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,UAAU;AAAAC,MAAAA,QAAA,eACvBF,IAAA,CAAA,OAAA,EAAA;QAAAE,QAAA,EAAA,cACEC,GAAA,CAACC,IAAI,EAAA;UAACC,IAAI,EAAEC,UAAU,CAACC,YAAa;AAAAL,UAAAA,QAAA,EAAE/D,QAAAA;SAAe,CACrD,eAAAgE,GAAA,CAAA,KAAA,EAAA;UAAKF,SAAS,EAAE,CAA2BlE,wBAAAA,EAAAA,IAAI,CAAG,CAAA;UAAAmE,QAAA,eAChDC,GAAA,CAAC8C,KAAK,EAAA;YACJ/F,EAAE,EAAE,CAAGA,EAAAA,EAAE,CAAO,IAAA,CAAA;AAChBmD,YAAAA,IAAI,EAAC,MAAM;AACX6C,YAAAA,SAAS,EAAC,SAAS;AACnBC,YAAAA,OAAO,EAAC,QAAQ;AAChB1C,YAAAA,IAAI,EAAC,KAAK;AACV2C,YAAAA,YAAY,EAAEhH,eAAgB;YAC9BF,KAAK,EAAEwC,UAAU,IAAI,EAAG;YACxBgC,WAAW,EAAEzD,YAAY,EAAEsB,GAAI;AAC/BzC,YAAAA,QAAQ,EAAEA,QAAS;AACnBuH,YAAAA,GAAG,EAAE,CAAE;AACPC,YAAAA,GAAG,EAAE,EAAG;AACRC,YAAAA,SAAS,EAAE,CAAE;AACbzG,YAAAA,QAAQ,EAAGmF,KAAK,IAAKD,eAAe,CAACC,KAAK,CAAA;WAE9C,CAAA;AAAA,SAAK,CACP,CAAA;OAAO,CAAA;AACT,KAAK,CAAC,CAAA;GAET,CAAA;EAED,MAAMuB,OAAO,GAAGA,MAAK;AACnB,IAAA,oBACErD,GAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,UAAU;AAAAC,MAAAA,QAAA,eACvBF,IAAA,CAAA,OAAA,EAAA;QAAAE,QAAA,EAAA,cACEC,GAAA,CAACC,IAAI,EAAA;UAACC,IAAI,EAAEC,UAAU,CAACC,YAAa;AAAAL,UAAAA,QAAA,EAAE5D,SAAAA;SAAgB,CACtD,eAAA6D,GAAA,CAAA,KAAA,EAAA;UAAKF,SAAS,EAAE,CAA2BlE,wBAAAA,EAAAA,IAAI,CAAG,CAAA;UAAAmE,QAAA,eAChDC,GAAA,CAAC8C,KAAK,EAAA;YACJ/F,EAAE,EAAE,CAAGA,EAAAA,EAAE,CAAQ,KAAA,CAAA;AACjBmD,YAAAA,IAAI,EAAC,MAAM;AACX6C,YAAAA,SAAS,EAAC,SAAS;AACnBC,YAAAA,OAAO,EAAC,QAAQ;AAChB1C,YAAAA,IAAI,EAAC,MAAM;AACX2C,YAAAA,YAAY,EAAE7G,gBAAiB;YAC/BmE,WAAW,EAAEzD,YAAY,EAAE8B,IAAK;YAChC7C,KAAK,EAAE+C,WAAW,IAAI,EAAG;AACzBnD,YAAAA,QAAQ,EAAEA,QAAS;AACnBuH,YAAAA,GAAG,EAAE,CAAE;AACPC,YAAAA,GAAG,EAAE,IAAK;AACVC,YAAAA,SAAS,EAAE,CAAE;AACbzG,YAAAA,QAAQ,EAAGmF,KAAK,IAAKQ,gBAAgB,CAACR,KAAK,CAAA;WAE/C,CAAA;AAAA,SAAK,CACP,CAAA;OAAO,CAAA;AACT,KAAK,CAAC,CAAA;GAET,CAAA;AACD,EAAA,MAAMwB,cAAc,GAAGC,GAAG,CAACC,GAAG,CAAClG,MAAM,CAAC,CAAA;AACtC,EAAA,MAAMmG,SAAS,GAAGC,GAAG,CAACF,GAAG,CAAClG,MAAM,CAAC,CAAA;AAEjC,EAAA,oBACE0C,GAAA,CAAA,KAAA,EAAA;AACEF,IAAAA,SAAS,EAAC,SAAS;AAAA,IAAA,GACf5C,eAAe;AACnBH,IAAAA,EAAE,EAAEA,EAAG;AACP,IAAA,iBAAA,EAAiBM,cAAe;AAChC,IAAA,YAAA,EAAY3B,SAAU;IACtBiI,IAAI,EAAC,OAAO;AAAC;AACb/G,IAAAA,OAAO,EAAGkF,KAAK,IACb8B,sBAAsB,CAAC9B,KAAK,CAAC,GAAGlF,OAAO,IAAIA,OAAO,CAACkF,KAAK,CAAC,GAAGA,KAAK,CAAC+B,eAAe,EAClF;AACDhH,IAAAA,MAAM,EAAGiF,KAAK,IACZgC,qBAAqB,CAAChC,KAAK,CAAC,GAAGjF,MAAM,IAAIA,MAAM,CAACiF,KAAK,CAAC,GAAGA,KAAK,CAAC+B,eAAe,EAC/E;AAAA9D,IAAAA,QAAA,eAEDC,GAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,KAAK;MAAAC,QAAA,EACjB,CAAC,MAAK;AACL,QAAA,IAAI2C,aAAa,EAAE;UACjB,oBACE7C,IAAA,CAAAkE,QAAA,EAAA;AAAAhE,YAAAA,QAAA,GACG,CAAC0D,SAAS,IAAIvF,QAAQ,EAAE,EACxBmF,OAAO,EAAE,EACTI,SAAS,IAAIvF,QAAQ,EAAE,CAAA;AAAA,WAC1B,CAAG,CAAA;AAEP,SAAA;AACA,QAAA,IAAIoF,cAAc,EAAE;UAClB,oBACEzD,IAAA,CAAAkE,QAAA,EAAA;YAAAhE,QAAA,EAAA,CACG7B,QAAQ,EAAE,EACV2E,MAAM,EAAE,EACRQ,OAAO,EAAE,CAAA;AAAA,WACZ,CAAG,CAAA;AAEP,SAAA;AACA,QAAA,IAAII,SAAS,EAAE;UACb,oBACE5D,IAAA,CAAAkE,QAAA,EAAA;YAAAhE,QAAA,EAAA,CACGsD,OAAO,EAAE,EACTnF,QAAQ,EAAE,EACV2E,MAAM,EAAE,CAAA;AAAA,WACX,CAAG,CAAA;AAEP,SAAA;QACA,oBACEhD,IAAA,CAAAkE,QAAA,EAAA;UAAAhE,QAAA,EAAA,CACG8C,MAAM,EAAE,EACR3E,QAAQ,EAAE,EACVmF,OAAO,EAAE,CAAA;AAAA,SACZ,CAAG,CAAA;AAEP,OAAC;KACE,CAAA;AACP,GAAK,CAAC,CAAA;AAEV,EAAC;AAED;AACA,SAASO,sBAAsBA,CAAC;EAC9B5B,MAAM;AACNgC,EAAAA,aAAAA;AACmD,CAAA,EAAA;AACnD,EAAA,MAAMC,YAAY,GAAGjC,MAAM,CAACkC,OAAO,CAAC,UAAU,CAAC,CAAA;EAC/C,MAAMC,aAAa,GAAGH,aAAa,IAAIA,aAAa,CAACE,OAAO,CAAC,UAAU,CAAC,CAAA;EACxE,OAAOD,YAAY,KAAKE,aAAa,CAAA;AACvC,CAAA;AAEA;AACA,SAASL,qBAAqBA,CAAC;EAC7B9B,MAAM;AACNgC,EAAAA,aAAAA;AACmD,CAAA,EAAA;AACnD,EAAA,MAAMI,iBAAiB,GAAGpC,MAAM,CAACkC,OAAO,CAAC,UAAU,CAAC,CAAA;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,MAAMG,YAAY,GAChBL,aAAa,KAAKM,QAAQ,CAACC,aAAa,KAAKvC,MAAM,GAAGsC,QAAQ,CAACC,aAAa,GAAG,IAAI,CAAC,CAAA;EACtF,MAAMC,kBAAkB,GAAGH,YAAY,IAAIA,YAAY,CAACH,OAAO,CAAC,UAAU,CAAC,CAAA;EAC3E,OAAOE,iBAAiB,KAAKI,kBAAkB,CAAA;AACjD;;;;"}
|
|
1
|
+
{"version":3,"file":"DateInput.mjs","sources":["../../src/dateInput/DateInput.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useState } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport { Body, Input, SelectInput, SelectInputOptionContent, SelectInputProps } from '..';\nimport {\n DateMode,\n MonthFormat,\n Size,\n SizeLarge,\n SizeMedium,\n SizeSmall,\n Typography,\n} from '../common';\nimport { MDY, YMD, getMonthNames, isDateValid, isMonthAndYearFormat } from '../common/dateUtils';\nimport { useInputAttributes } from '../inputs/contexts';\nimport messages from './DateInput.messages';\nimport { convertToLocalMidnight } from './utils';\n\nexport interface DateInputProps {\n /** @deprecated Use `Field` wrapper or the `aria-labelledby` attribute instead. */\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n disabled?: boolean;\n size?: SizeSmall | SizeMedium | SizeLarge;\n value?: Date | string;\n onChange: (value: string | null) => void;\n onFocus?: React.FocusEventHandler<HTMLDivElement>;\n onBlur?: React.FocusEventHandler<HTMLDivElement>;\n dayLabel?: string;\n dayAutoComplete?: string;\n monthLabel?: string;\n yearLabel?: string;\n yearAutoComplete?: string;\n monthFormat?: `${MonthFormat}`;\n mode?: `${DateMode}`;\n placeholders?: {\n day?: string;\n month?: string;\n year?: string;\n };\n id?: string;\n selectProps?: Partial<SelectInputProps<number | null>>;\n}\n\nconst DateInput = ({\n 'aria-labelledby': ariaLabelledByProp,\n 'aria-label': ariaLabel,\n disabled = false,\n size = Size.MEDIUM,\n value,\n dayLabel,\n dayAutoComplete,\n monthLabel,\n yearLabel,\n yearAutoComplete,\n monthFormat = MonthFormat.LONG,\n mode = DateMode.DAY_MONTH_YEAR,\n onChange,\n onFocus,\n onBlur,\n placeholders,\n id: idProp,\n selectProps = {},\n}: DateInputProps) => {\n const inputAttributes = useInputAttributes({ nonLabelable: true });\n const id = idProp ?? inputAttributes.id;\n const ariaLabelledBy = ariaLabelledByProp ?? inputAttributes['aria-labelledby'];\n\n const { locale, formatMessage } = useIntl();\n\n const getDateObject = (): Date | undefined => {\n if (value && isDateValid(value)) {\n return typeof value === 'string' ? convertToLocalMidnight(value) : value;\n }\n return undefined;\n };\n\n const getInitialDate = (unit: 'year' | 'month' | 'day'): number | null => {\n if (value && isDateValid(value)) {\n const dateObject = getDateObject();\n\n if (typeof value === 'string' && isMonthAndYearFormat(value) && unit === 'day') {\n return null;\n }\n\n if (dateObject !== undefined) {\n switch (unit) {\n case 'year':\n return dateObject.getFullYear();\n case 'month':\n return dateObject.getMonth();\n case 'day':\n return dateObject.getDate();\n default:\n return null;\n }\n }\n }\n return null;\n };\n\n const [day, setDay] = useState(() => getInitialDate('day'));\n const [displayDay, setDisplayDay] = useState(day?.toString());\n const [month, setMonth] = useState(() => getInitialDate('month'));\n const [year, setYear] = useState(() => getInitialDate('year'));\n const [displayYear, setDisplayYear] = useState(year?.toString());\n const [lastBroadcastedValue, setLastBroadcastedValue] = useState<Date | null | undefined>(\n getDateObject,\n );\n const monthNames = getMonthNames(locale, monthFormat);\n\n dayLabel ||= formatMessage(messages.dayLabel);\n monthLabel ||= formatMessage(messages.monthLabel);\n yearLabel ||= formatMessage(messages.yearLabel);\n placeholders = {\n day: placeholders?.day || formatMessage(messages.dayPlaceholder),\n month: placeholders?.month || formatMessage(messages.monthLabel),\n year: placeholders?.year || formatMessage(messages.yearPlaceholder),\n };\n\n const getDateAsString = (date: Date) => {\n if (!isDateValid(date)) {\n return '';\n }\n switch (mode) {\n case DateMode.MONTH_YEAR:\n return [date.getFullYear(), `0${date.getMonth() + 1}`.slice(-2)].join('-');\n case DateMode.DAY_MONTH_YEAR:\n default:\n return [\n date.getFullYear(),\n `0${date.getMonth() + 1}`.slice(-2),\n `0${date.getDate()}`.slice(-2),\n ].join('-');\n }\n };\n\n const getSelectElement = () => {\n return (\n <label className=\"d-flex flex-column\">\n <Body type={Typography.BODY_DEFAULT}>{monthLabel}</Body>\n <SelectInput\n id={`${id}:month`}\n name=\"month\"\n disabled={disabled}\n placeholder={placeholders?.month}\n items={Array.from({ length: 12 }, (_, index) => ({ type: 'option', value: index }))}\n size={size}\n value={month}\n renderValue={(selectedValue) => (\n <SelectInputOptionContent title={monthNames[selectedValue]} />\n )}\n onChange={(selectedValue) => handleMonthChange(selectedValue)}\n {...selectProps}\n />\n </label>\n );\n };\n\n const isDayValid = (newDay: number, newMonth: number, newYear: number) => {\n const maxDay = new Date(newYear, newMonth + 1, 0).getDate();\n return newDay <= maxDay;\n };\n\n const handleInternalValue = (newDay = day, newMonth = month, newYear = year) => {\n if (newDay == null || newDay === 0 || newMonth == null || newYear == null || newYear === 0) {\n broadcastNewValue(null);\n return;\n }\n if (!isDayValid(newDay, newMonth, newYear)) {\n broadcastNewValue(null);\n return;\n }\n\n const dateValue = new Date(newYear, newMonth, newDay);\n if (newYear < 100) {\n dateValue.setFullYear(newYear);\n }\n\n if (!isDateValid(dateValue)) {\n broadcastNewValue(null);\n return;\n }\n\n if (mode === DateMode.MONTH_YEAR) {\n if (newMonth !== month || newYear !== year) {\n broadcastNewValue(dateValue);\n }\n } else if (newDay !== day || newMonth !== month || newYear !== year) {\n broadcastNewValue(dateValue);\n }\n };\n\n const handleDayChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const newDayString = event.target.value.replace(/\\D/g, '');\n const newDayNumber = Number.parseInt(newDayString, 10);\n\n setDay(newDayNumber);\n setDisplayDay(newDayString);\n handleInternalValue(newDayNumber, month, year);\n };\n\n const handleMonthChange = (selectedMonth: number | null) => {\n if (selectedMonth === null) {\n setMonth(null);\n handleInternalValue(day, null, year);\n return;\n }\n setMonth(selectedMonth);\n handleInternalValue(day, selectedMonth, year);\n };\n\n const handleYearChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const newYearString = event.target.value.replace(/\\D/g, '');\n const newYearNumber = Number.parseInt(newYearString, 10);\n\n if (newYearString.length >= 4 && newYearString.length <= 6) {\n setYear(newYearNumber);\n setDisplayYear(newYearString);\n handleInternalValue(day, month, newYearNumber);\n } else {\n setYear(null);\n setDisplayYear(newYearString);\n handleInternalValue(day, month, null);\n }\n };\n\n const broadcastNewValue = (newValue: Date | null) => {\n if (newValue !== lastBroadcastedValue) {\n setLastBroadcastedValue(newValue);\n onChange(newValue != null ? getDateAsString(newValue) : null);\n }\n };\n\n const monthYearOnly = mode === DateMode.MONTH_YEAR;\n\n const monthWidth = clsx({\n 'col-sm-8': monthYearOnly,\n 'col-sm-5': !monthYearOnly,\n });\n\n const getMonth = () => {\n return <div className={monthWidth}>{getSelectElement()}</div>;\n };\n\n const getDay = () => {\n return (\n <div className=\"col-sm-3\">\n <label>\n <Body type={Typography.BODY_DEFAULT}>{dayLabel}</Body>\n <div className={`input-group input-group-${size}`}>\n <Input\n id={`${id}:day`}\n type=\"text\"\n inputMode=\"numeric\"\n pattern=\"[0-9]*\"\n name=\"day\"\n autoComplete={dayAutoComplete}\n value={displayDay || ''}\n placeholder={placeholders?.day}\n disabled={disabled}\n min={1}\n max={31}\n maxLength={2}\n onChange={(event) => handleDayChange(event)}\n />\n </div>\n </label>\n </div>\n );\n };\n\n const getYear = () => {\n return (\n <div className=\"col-sm-4\">\n <label>\n <Body type={Typography.BODY_DEFAULT}>{yearLabel}</Body>\n <div className={`input-group input-group-${size}`}>\n <Input\n id={`${id}:year`}\n type=\"text\"\n inputMode=\"numeric\"\n pattern=\"[0-9]*\"\n name=\"year\"\n autoComplete={yearAutoComplete}\n placeholder={placeholders?.year}\n value={displayYear || ''}\n disabled={disabled}\n min={0}\n max={9999}\n maxLength={6}\n onChange={(event) => handleYearChange(event)}\n />\n </div>\n </label>\n </div>\n );\n };\n const monthBeforeDay = MDY.has(locale);\n const yearFirst = YMD.has(locale);\n\n return (\n <div\n className=\"tw-date\"\n {...inputAttributes}\n id={id}\n aria-labelledby={ariaLabelledBy}\n aria-label={ariaLabel}\n role=\"group\" // Add role attribute to indicate container for interactive elements\n onFocus={(event) =>\n shouldPropagateOnFocus(event) ? onFocus && onFocus(event) : event.stopPropagation()\n }\n onBlur={(event) =>\n shouldPropagateOnBlur(event) ? onBlur && onBlur(event) : event.stopPropagation()\n }\n >\n <div className=\"row\">\n {(() => {\n if (monthYearOnly) {\n return (\n <>\n {!yearFirst && getMonth()}\n {getYear()}\n {yearFirst && getMonth()}\n </>\n );\n }\n if (monthBeforeDay) {\n return (\n <>\n {getMonth()}\n {getDay()}\n {getYear()}\n </>\n );\n }\n if (yearFirst) {\n return (\n <>\n {getYear()}\n {getMonth()}\n {getDay()}\n </>\n );\n }\n return (\n <>\n {getDay()}\n {getMonth()}\n {getYear()}\n </>\n );\n })()}\n </div>\n </div>\n );\n};\n\n// Should only propagate if the relatedTarget is not part of this DateInput component.\nfunction shouldPropagateOnFocus({\n target,\n relatedTarget,\n}: Pick<React.FocusEvent, 'target' | 'relatedTarget'>) {\n const targetParent = target.closest('.tw-date');\n const relatedParent = relatedTarget && relatedTarget.closest('.tw-date');\n return targetParent !== relatedParent;\n}\n\n// Should only propagate if the relatedTarget or the activeElement is not part of this DateInput component.\nfunction shouldPropagateOnBlur({\n target,\n relatedTarget,\n}: Pick<React.FocusEvent, 'target' | 'relatedTarget'>) {\n const blurElementParent = target.closest('.tw-date');\n // Even though FocusEvent.relatedTarget is supported by IE\n // (https://developer.mozilla.org/en-US/docs/Web/API/FocusEvent/relatedTarget)\n // \"IE11 sets document.activeElement to the next focused element before the blur event is called.\"\n // (https://stackoverflow.com/a/49325196/986241)\n // Therefore if the relatedTarget is null, we try the document.activeElement,\n // which may contain the HTML element that is gaining focus\n const focusElement =\n relatedTarget || (document.activeElement !== target ? document.activeElement : null);\n const focusElementParent = focusElement && focusElement.closest('.tw-date');\n return blurElementParent !== focusElementParent;\n}\n\nexport default DateInput;\n"],"names":["DateInput","ariaLabelledByProp","ariaLabel","disabled","size","Size","MEDIUM","value","dayLabel","dayAutoComplete","monthLabel","yearLabel","yearAutoComplete","monthFormat","MonthFormat","LONG","mode","DateMode","DAY_MONTH_YEAR","onChange","onFocus","onBlur","placeholders","id","idProp","selectProps","inputAttributes","useInputAttributes","nonLabelable","ariaLabelledBy","locale","formatMessage","useIntl","getDateObject","isDateValid","convertToLocalMidnight","undefined","getInitialDate","unit","dateObject","isMonthAndYearFormat","getFullYear","getMonth","getDate","day","setDay","useState","displayDay","setDisplayDay","toString","month","setMonth","year","setYear","displayYear","setDisplayYear","lastBroadcastedValue","setLastBroadcastedValue","monthNames","getMonthNames","messages","dayPlaceholder","yearPlaceholder","getDateAsString","date","MONTH_YEAR","slice","join","getSelectElement","_jsxs","className","children","_jsx","Body","type","Typography","BODY_DEFAULT","SelectInput","name","placeholder","items","Array","from","length","_","index","renderValue","selectedValue","SelectInputOptionContent","title","handleMonthChange","isDayValid","newDay","newMonth","newYear","maxDay","Date","handleInternalValue","broadcastNewValue","dateValue","setFullYear","handleDayChange","event","newDayString","target","replace","newDayNumber","Number","parseInt","selectedMonth","handleYearChange","newYearString","newYearNumber","newValue","monthYearOnly","monthWidth","clsx","getDay","Input","inputMode","pattern","autoComplete","min","max","maxLength","getYear","monthBeforeDay","MDY","has","yearFirst","YMD","role","shouldPropagateOnFocus","stopPropagation","shouldPropagateOnBlur","_Fragment","relatedTarget","targetParent","closest","relatedParent","blurElementParent","focusElement","document","activeElement","focusElementParent"],"mappings":"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"}
|
|
@@ -2,9 +2,33 @@
|
|
|
2
2
|
|
|
3
3
|
var clsx = require('clsx');
|
|
4
4
|
var React = require('react');
|
|
5
|
+
require('../common/theme.js');
|
|
6
|
+
require('../common/direction.js');
|
|
7
|
+
require('../common/propsValues/control.js');
|
|
8
|
+
var breakpoint = require('../common/propsValues/breakpoint.js');
|
|
9
|
+
var size = require('../common/propsValues/size.js');
|
|
10
|
+
require('../common/propsValues/typography.js');
|
|
11
|
+
require('../common/propsValues/width.js');
|
|
12
|
+
require('../common/propsValues/type.js');
|
|
13
|
+
require('../common/propsValues/dateMode.js');
|
|
14
|
+
var monthFormat = require('../common/propsValues/monthFormat.js');
|
|
15
|
+
var position = require('../common/propsValues/position.js');
|
|
16
|
+
require('../common/propsValues/layouts.js');
|
|
17
|
+
require('../common/propsValues/status.js');
|
|
18
|
+
require('../common/propsValues/sentiment.js');
|
|
19
|
+
require('../common/propsValues/profileType.js');
|
|
20
|
+
require('../common/propsValues/variant.js');
|
|
21
|
+
require('../common/propsValues/scroll.js');
|
|
22
|
+
require('../common/propsValues/markdownNodeType.js');
|
|
23
|
+
require('../common/fileType.js');
|
|
24
|
+
require('@transferwise/icons');
|
|
25
|
+
require('react-intl');
|
|
26
|
+
require('../common/closeButton/CloseButton.messages.js');
|
|
27
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
28
|
require('@transferwise/formatting');
|
|
6
29
|
var moveToWithinRange = require('../common/dateUtils/moveToWithinRange/moveToWithinRange.js');
|
|
7
30
|
var isWithinRange = require('../common/dateUtils/isWithinRange/isWithinRange.js');
|
|
31
|
+
var ResponsivePanel = require('../common/responsivePanel/ResponsivePanel.js');
|
|
8
32
|
var contexts = require('../inputs/contexts.js');
|
|
9
33
|
var OverlayIdProvider = require('../provider/overlay/OverlayIdProvider.js');
|
|
10
34
|
var DateTrigger = require('./dateTrigger/DateTrigger.js');
|
|
@@ -12,12 +36,6 @@ var DayCalendar = require('./dayCalendar/DayCalendar.js');
|
|
|
12
36
|
var getStartOfDay = require('./getStartOfDay/getStartOfDay.js');
|
|
13
37
|
var MonthCalendar = require('./monthCalendar/MonthCalendar.js');
|
|
14
38
|
var YearCalendar = require('./yearCalendar/YearCalendar.js');
|
|
15
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
16
|
-
var monthFormat = require('../common/propsValues/monthFormat.js');
|
|
17
|
-
var breakpoint = require('../common/propsValues/breakpoint.js');
|
|
18
|
-
var ResponsivePanel = require('../common/responsivePanel/ResponsivePanel.js');
|
|
19
|
-
var size = require('../common/propsValues/size.js');
|
|
20
|
-
var position = require('../common/propsValues/position.js');
|
|
21
39
|
|
|
22
40
|
class DateLookup extends React.PureComponent {
|
|
23
41
|
static defaultProps = {
|