@transferwise/components 46.78.0 → 46.79.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +23 -2
- package/build/avatar/Avatar.js.map +1 -1
- package/build/avatar/Avatar.mjs +23 -2
- 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 +23 -2
- package/build/badge/Badge.js.map +1 -1
- package/build/badge/Badge.mjs +23 -2
- 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 +23 -4
- package/build/circularButton/CircularButton.js.map +1 -1
- package/build/circularButton/CircularButton.mjs +23 -4
- 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/dateUtils/getDateView/getDateView.js +10 -0
- package/build/common/dateUtils/getDateView/getDateView.js.map +1 -0
- package/build/common/dateUtils/getDateView/getDateView.mjs +8 -0
- package/build/common/dateUtils/getDateView/getDateView.mjs.map +1 -0
- 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 +30 -12
- package/build/dateLookup/DateLookup.js.map +1 -1
- package/build/dateLookup/DateLookup.mjs +30 -12
- 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/dateLookup/dayCalendar/table/DayCalendarTable.js +4 -1
- package/build/dateLookup/dayCalendar/table/DayCalendarTable.js.map +1 -1
- package/build/dateLookup/dayCalendar/table/DayCalendarTable.mjs +4 -1
- package/build/dateLookup/dayCalendar/table/DayCalendarTable.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/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/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 +22 -4
- package/build/statusIcon/StatusIcon.js.map +1 -1
- package/build/statusIcon/StatusIcon.mjs +22 -4
- 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/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/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/dateUtils/getDateView/getDateView.d.ts +2 -0
- package/build/types/common/dateUtils/getDateView/getDateView.d.ts.map +1 -0
- package/build/types/common/dateUtils/index.d.ts +1 -0
- package/build/types/common/dateUtils/index.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/dateLookup/DateLookup.d.ts +1 -1
- package/build/types/dateLookup/DateLookup.d.ts.map +1 -1
- package/build/types/dateLookup/dayCalendar/table/DayCalendarTable.d.ts +1 -1
- package/build/types/dateLookup/dayCalendar/table/DayCalendarTable.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/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 +2 -2
- package/src/button/Button.tsx +0 -3
- package/src/button/legacyUtils/legacyUtils.ts +74 -0
- package/src/common/dateUtils/getDateView/getDateView.ts +5 -0
- package/src/common/dateUtils/index.ts +1 -0
- package/src/common/{fakeEvents.js → fakeEvents.ts} +1 -1
- package/src/common/hooks/useHasIntersected/{useHasIntersected.js → useHasIntersected.ts} +20 -11
- package/src/dateLookup/DateLookup.tests.story.tsx +40 -5
- package/src/dateLookup/DateLookup.tsx +9 -11
- package/src/dateLookup/dayCalendar/table/DayCalendarTable.tsx +5 -2
- package/src/flowNavigation/{FlowNavigation.story.js → FlowNavigation.story.tsx} +34 -16
- package/src/index.ts +1 -0
- package/src/inputWithDisplayFormat/InputWithDisplayFormat.story.tsx +78 -0
- package/src/navigationOption/{NavigationOption.story.js → NavigationOption.story.tsx} +23 -5
- package/src/navigationOption/NavigationOption.tsx +1 -1
- package/src/select/{Select.story.js → Select.story.tsx} +97 -47
- 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
|
@@ -2,7 +2,7 @@ import { text, boolean, select } from '@storybook/addon-knobs';
|
|
|
2
2
|
import { Person as ProfileIcon, Globe as GlobeIcon } from '@transferwise/icons';
|
|
3
3
|
import { useState } from 'react';
|
|
4
4
|
|
|
5
|
-
import Select from './Select';
|
|
5
|
+
import Select, { SelectItem, SelectOptionItem } from './Select';
|
|
6
6
|
|
|
7
7
|
export default {
|
|
8
8
|
component: Select,
|
|
@@ -17,8 +17,16 @@ const ImageIcon = () => (
|
|
|
17
17
|
/>
|
|
18
18
|
);
|
|
19
19
|
|
|
20
|
+
interface SelectItemWithCountries extends SelectItem {
|
|
21
|
+
countries?: string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const isSelectOptionItem = (option: SelectItem | null): option is SelectOptionItem => {
|
|
25
|
+
return option !== null && typeof option.value !== 'undefined';
|
|
26
|
+
};
|
|
27
|
+
|
|
20
28
|
export const Basic = () => {
|
|
21
|
-
const [selected, setSelected] = useState({
|
|
29
|
+
const [selected, setSelected] = useState<SelectOptionItem>({
|
|
22
30
|
value: 0,
|
|
23
31
|
label: 'A thing',
|
|
24
32
|
note: 'with a note',
|
|
@@ -26,7 +34,7 @@ export const Basic = () => {
|
|
|
26
34
|
|
|
27
35
|
const size = select('size', ['sm', 'md', 'lg'], 'md');
|
|
28
36
|
const dropdownRight = select('dropdownRight', ['xs', 'sm', 'md', 'lg', 'xl'], 'md');
|
|
29
|
-
const dropdownWidth = select('dropdownWidth', [
|
|
37
|
+
const dropdownWidth = select('dropdownWidth', [undefined, 'sm', 'md', 'lg'], 'md');
|
|
30
38
|
|
|
31
39
|
const id = text('id', 'basic-button');
|
|
32
40
|
const placeholder = text('placeholder', 'Placeholder text');
|
|
@@ -35,14 +43,12 @@ export const Basic = () => {
|
|
|
35
43
|
const required = boolean('required', false);
|
|
36
44
|
const dropdownUp = boolean('dropdownUp', false);
|
|
37
45
|
const disabled = boolean('disabled', false);
|
|
38
|
-
const search = boolean('search',
|
|
39
|
-
const hasError = boolean('hasError', false);
|
|
46
|
+
const search = boolean('search', true);
|
|
40
47
|
|
|
41
48
|
return (
|
|
42
49
|
<Select
|
|
43
50
|
id={id}
|
|
44
51
|
size={size}
|
|
45
|
-
classNames={hasError ? 'has-error' : ''}
|
|
46
52
|
placeholder={placeholder}
|
|
47
53
|
dropdownRight={dropdownRight}
|
|
48
54
|
dropdownWidth={dropdownWidth}
|
|
@@ -108,13 +114,17 @@ export const Basic = () => {
|
|
|
108
114
|
'and with lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation secondary text',
|
|
109
115
|
},
|
|
110
116
|
]}
|
|
111
|
-
onChange={(
|
|
117
|
+
onChange={(option) => {
|
|
118
|
+
if (isSelectOptionItem(option)) {
|
|
119
|
+
setSelected(option);
|
|
120
|
+
}
|
|
121
|
+
}}
|
|
112
122
|
/>
|
|
113
123
|
);
|
|
114
124
|
};
|
|
115
125
|
|
|
116
126
|
export const CustomSearchFunction = () => {
|
|
117
|
-
const [selected, setSelected] = useState({
|
|
127
|
+
const [selected, setSelected] = useState<SelectOptionItem>({
|
|
118
128
|
value: 1,
|
|
119
129
|
label: 'EUR',
|
|
120
130
|
currency: 'EUR',
|
|
@@ -122,7 +132,7 @@ export const CustomSearchFunction = () => {
|
|
|
122
132
|
|
|
123
133
|
const size = select('size', ['sm', 'md', 'lg'], 'md');
|
|
124
134
|
const dropdownRight = select('dropdownRight', ['xs', 'sm', 'md', 'lg', 'xl'], 'md');
|
|
125
|
-
const dropdownWidth = select('dropdownWidth', [
|
|
135
|
+
const dropdownWidth = select('dropdownWidth', [undefined, 'sm', 'md', 'lg'], 'md');
|
|
126
136
|
|
|
127
137
|
const id = text('id', 'custom-search-button');
|
|
128
138
|
const placeholder = text('placeholder', 'placeholder');
|
|
@@ -144,12 +154,7 @@ export const CustomSearchFunction = () => {
|
|
|
144
154
|
block={block}
|
|
145
155
|
selected={selected}
|
|
146
156
|
disabled={disabled}
|
|
147
|
-
search={
|
|
148
|
-
search
|
|
149
|
-
? (option, keyword) =>
|
|
150
|
-
option.countries && option.countries.toLowerCase().includes(keyword.toLowerCase())
|
|
151
|
-
: false
|
|
152
|
-
}
|
|
157
|
+
search={search}
|
|
153
158
|
required={required}
|
|
154
159
|
searchPlaceholder="Search placeholder"
|
|
155
160
|
dropdownUp={dropdownUp}
|
|
@@ -159,106 +164,143 @@ export const CustomSearchFunction = () => {
|
|
|
159
164
|
value: 1,
|
|
160
165
|
label: 'EUR',
|
|
161
166
|
currency: 'EUR',
|
|
162
|
-
|
|
163
|
-
'
|
|
167
|
+
searchStrings: [
|
|
168
|
+
'Austria',
|
|
169
|
+
'Belgium',
|
|
170
|
+
'Cyprus',
|
|
171
|
+
'Estonia',
|
|
172
|
+
'Finland',
|
|
173
|
+
'France',
|
|
174
|
+
'Germany',
|
|
175
|
+
'Greece',
|
|
176
|
+
'Ireland',
|
|
177
|
+
'Italy',
|
|
178
|
+
'Latvia',
|
|
179
|
+
'Lithuania',
|
|
180
|
+
'Luxembourg',
|
|
181
|
+
'Malta',
|
|
182
|
+
'Netherlands',
|
|
183
|
+
'Portugal',
|
|
184
|
+
'Slovakia',
|
|
185
|
+
'Slovenia',
|
|
186
|
+
'Spain',
|
|
187
|
+
'Andorra',
|
|
188
|
+
'Monaco',
|
|
189
|
+
'San Marino',
|
|
190
|
+
'Vatican City',
|
|
191
|
+
'Kosovo',
|
|
192
|
+
'Montenegro',
|
|
193
|
+
],
|
|
164
194
|
},
|
|
165
195
|
{
|
|
166
196
|
value: 2,
|
|
167
197
|
label: 'GBP',
|
|
168
198
|
currency: 'GBP',
|
|
169
|
-
|
|
199
|
+
searchStrings: ['Isle of Man', 'United Kingdom'],
|
|
170
200
|
},
|
|
171
201
|
{
|
|
172
202
|
value: 3,
|
|
173
203
|
label: 'INR',
|
|
174
204
|
currency: 'INR',
|
|
175
|
-
|
|
205
|
+
searchStrings: ['India'],
|
|
176
206
|
},
|
|
177
207
|
{
|
|
178
208
|
value: 4,
|
|
179
209
|
label: 'USD',
|
|
180
210
|
currency: 'USD',
|
|
181
|
-
|
|
182
|
-
|
|
211
|
+
searchStrings: [
|
|
212
|
+
'United States',
|
|
213
|
+
'Ecuador',
|
|
214
|
+
'El Salvador',
|
|
215
|
+
'Panama',
|
|
216
|
+
'East Timor',
|
|
217
|
+
'Zimbabwe',
|
|
218
|
+
'Micronesia',
|
|
219
|
+
'Marshall Islands',
|
|
220
|
+
'Palau',
|
|
221
|
+
'Turks and Caicos Islands',
|
|
222
|
+
'British Virgin Islands',
|
|
223
|
+
'Caribbean Netherlands',
|
|
224
|
+
'Bermuda',
|
|
225
|
+
'Bahamas',
|
|
226
|
+
'Puerto Rico',
|
|
227
|
+
'Guam',
|
|
228
|
+
'Northern Mariana Islands',
|
|
229
|
+
'American Samoa',
|
|
230
|
+
'U.S. Virgin Islands',
|
|
231
|
+
],
|
|
183
232
|
},
|
|
184
233
|
{
|
|
185
234
|
value: 5,
|
|
186
235
|
label: 'DOP',
|
|
187
236
|
currency: 'dop',
|
|
188
|
-
countries: 'Dop',
|
|
189
237
|
},
|
|
190
238
|
{
|
|
191
239
|
value: 6,
|
|
192
240
|
label: 'UZS',
|
|
193
241
|
currency: 'uzs',
|
|
194
|
-
countries: 'Uzs',
|
|
195
242
|
},
|
|
196
243
|
{
|
|
197
244
|
value: 7,
|
|
198
245
|
label: 'TTD',
|
|
199
246
|
currency: 'ttd',
|
|
200
|
-
countries: 'Ttd',
|
|
201
247
|
},
|
|
202
248
|
{ header: 'All currencies' },
|
|
203
249
|
{
|
|
204
250
|
currency: 'aed',
|
|
205
251
|
value: 'AED',
|
|
206
252
|
label: 'AED',
|
|
207
|
-
|
|
253
|
+
searchStrings: ['United Arab Emirates'],
|
|
208
254
|
},
|
|
209
255
|
{
|
|
210
256
|
currency: 'aud',
|
|
211
257
|
value: 'AUD',
|
|
212
258
|
label: 'AUD',
|
|
213
259
|
note: 'Australian dollar',
|
|
214
|
-
|
|
215
|
-
classNames: {},
|
|
260
|
+
searchStrings: ['Australia'],
|
|
216
261
|
secondary: '',
|
|
217
262
|
icon: null,
|
|
218
|
-
selected: false,
|
|
219
263
|
},
|
|
220
264
|
{
|
|
221
265
|
currency: 'bgn',
|
|
222
266
|
value: 'BGN',
|
|
223
267
|
label: 'BGN',
|
|
224
268
|
note: 'Bulgarian lev',
|
|
225
|
-
|
|
226
|
-
classNames: {},
|
|
269
|
+
searchStrings: ['Bulgaria'],
|
|
227
270
|
secondary: '',
|
|
228
271
|
icon: null,
|
|
229
|
-
selected: false,
|
|
230
272
|
},
|
|
231
273
|
{
|
|
232
274
|
currency: 'brl',
|
|
233
275
|
value: 'BRL',
|
|
234
276
|
label: 'BRL',
|
|
235
277
|
note: 'Brazilian real',
|
|
236
|
-
|
|
237
|
-
classNames: {},
|
|
278
|
+
searchStrings: ['Brazil'],
|
|
238
279
|
secondary: '',
|
|
239
280
|
icon: null,
|
|
240
|
-
selected: false,
|
|
241
281
|
},
|
|
242
282
|
{
|
|
243
|
-
currency:
|
|
283
|
+
currency: undefined,
|
|
244
284
|
value: 'USD',
|
|
245
285
|
label: 'USD',
|
|
246
286
|
note: 'United States dollar - Outside of the US',
|
|
247
|
-
|
|
248
|
-
classNames: {},
|
|
287
|
+
searchStrings: ['United States'],
|
|
249
288
|
secondary: '',
|
|
250
289
|
icon: <GlobeIcon />,
|
|
251
|
-
selected: false,
|
|
252
290
|
},
|
|
253
291
|
]}
|
|
254
|
-
onChange={(
|
|
292
|
+
onChange={(option) => {
|
|
293
|
+
if (isSelectOptionItem(option)) {
|
|
294
|
+
setSelected(option);
|
|
295
|
+
}
|
|
296
|
+
}}
|
|
255
297
|
/>
|
|
256
298
|
);
|
|
257
299
|
};
|
|
258
300
|
|
|
259
301
|
export const AdvancedSearch = () => {
|
|
260
302
|
const [searchValue, setSearchValue] = useState('');
|
|
261
|
-
const [selected, setSelected] = useState({
|
|
303
|
+
const [selected, setSelected] = useState<SelectOptionItem>({
|
|
262
304
|
value: 0,
|
|
263
305
|
label: 'A thing',
|
|
264
306
|
note: 'with a note',
|
|
@@ -266,7 +308,7 @@ export const AdvancedSearch = () => {
|
|
|
266
308
|
|
|
267
309
|
const size = select('size', ['sm', 'md', 'lg'], 'md');
|
|
268
310
|
const dropdownRight = select('dropdownRight', ['xs', 'sm', 'md', 'lg', 'xl'], 'md');
|
|
269
|
-
const dropdownWidth = select('dropdownWidth', [
|
|
311
|
+
const dropdownWidth = select('dropdownWidth', [undefined, 'sm', 'md', 'lg'], 'md');
|
|
270
312
|
|
|
271
313
|
const id = text('id', 'advanced-search-button');
|
|
272
314
|
const placeholder = text('placeholder', 'placeholder');
|
|
@@ -318,15 +360,19 @@ export const AdvancedSearch = () => {
|
|
|
318
360
|
label: 'A thing with searchable alternatives',
|
|
319
361
|
searchStrings: ['abbreviation', 'acronym', 'nickname'],
|
|
320
362
|
},
|
|
321
|
-
].filter((option) => option.label
|
|
322
|
-
onChange={(
|
|
363
|
+
].filter((option) => option.label?.toLowerCase().includes(searchValue))}
|
|
364
|
+
onChange={(option) => {
|
|
365
|
+
if (isSelectOptionItem(option)) {
|
|
366
|
+
setSelected(option);
|
|
367
|
+
}
|
|
368
|
+
}}
|
|
323
369
|
onSearchChange={(v) => setSearchValue(v)}
|
|
324
370
|
/>
|
|
325
371
|
);
|
|
326
372
|
};
|
|
327
373
|
|
|
328
374
|
export const SearchingLargeLists = () => {
|
|
329
|
-
const [selected, setSelected] = useState({
|
|
375
|
+
const [selected, setSelected] = useState<SelectOptionItem>({
|
|
330
376
|
value: 'option1',
|
|
331
377
|
label: 'Option 1',
|
|
332
378
|
secondary: 'Here we have a description describing option 1',
|
|
@@ -334,7 +380,7 @@ export const SearchingLargeLists = () => {
|
|
|
334
380
|
|
|
335
381
|
const size = select('size', ['sm', 'md', 'lg'], 'md');
|
|
336
382
|
const dropdownRight = select('dropdownRight', ['xs', 'sm', 'md', 'lg', 'xl'], 'md');
|
|
337
|
-
const dropdownWidth = select('dropdownWidth', [
|
|
383
|
+
const dropdownWidth = select('dropdownWidth', [undefined, 'sm', 'md', 'lg'], 'md');
|
|
338
384
|
|
|
339
385
|
const id = text('id', 'large-list-button');
|
|
340
386
|
const placeholder = text('placeholder', 'Placeholder text');
|
|
@@ -359,12 +405,16 @@ export const SearchingLargeLists = () => {
|
|
|
359
405
|
required={required}
|
|
360
406
|
searchPlaceholder="Search placeholder"
|
|
361
407
|
dropdownUp={dropdownUp}
|
|
362
|
-
options={new Array(1500).fill().map((x, index) => ({
|
|
408
|
+
options={new Array(1500).fill(null).map((x, index) => ({
|
|
363
409
|
value: `option${index + 1}`,
|
|
364
410
|
label: `Option ${index + 1}`,
|
|
365
411
|
secondary: `Here we have a description describing option ${index + 1}`,
|
|
366
412
|
}))}
|
|
367
|
-
onChange={(
|
|
413
|
+
onChange={(option) => {
|
|
414
|
+
if (isSelectOptionItem(option)) {
|
|
415
|
+
setSelected(option);
|
|
416
|
+
}
|
|
417
|
+
}}
|
|
368
418
|
/>
|
|
369
419
|
);
|
|
370
420
|
};
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
function supportsTouchEvents() {
|
|
2
2
|
const onTouchStartIsDefined = typeof window !== 'undefined' && window.ontouchstart !== undefined;
|
|
3
3
|
const maxTouchPointsIsDefined = typeof navigator !== 'undefined' && navigator.maxTouchPoints;
|
|
4
|
-
const documentTouchIsDefined =
|
|
5
|
-
typeof window !== 'undefined' &&
|
|
6
|
-
window.DocumentTouch &&
|
|
7
|
-
document instanceof window.DocumentTouch;
|
|
8
4
|
|
|
9
|
-
return !!(onTouchStartIsDefined || maxTouchPointsIsDefined
|
|
5
|
+
return !!(onTouchStartIsDefined || maxTouchPointsIsDefined);
|
|
10
6
|
}
|
|
11
7
|
|
|
12
8
|
function userAgentSuggestsTouchDevice() {
|
|
@@ -21,7 +17,7 @@ function userAgentSuggestsTouchDevice() {
|
|
|
21
17
|
];
|
|
22
18
|
const matchString = sampleTouchDevices.map((device) => `(${device})`).join('|');
|
|
23
19
|
const regex = new RegExp(matchString, 'gi');
|
|
24
|
-
return typeof navigator !== 'undefined' && !!navigator.userAgent
|
|
20
|
+
return typeof navigator !== 'undefined' && !!regex.test(navigator.userAgent);
|
|
25
21
|
}
|
|
26
22
|
// Important: this is not fool-proof! It gives false positives and negatives, and will be outdated.
|
|
27
23
|
// Only use this for small vanity changes where it still works either way.
|
package/src/utilities/deprecatedProperty/{deprecatedProperty.spec.js → deprecatedProperty.spec.ts}
RENAMED
|
@@ -5,6 +5,7 @@ const props = { prop1: 'prop1', prop2: 'prop2' };
|
|
|
5
5
|
const validator = jest.fn();
|
|
6
6
|
|
|
7
7
|
describe('deprecated', () => {
|
|
8
|
+
const component = 'Test';
|
|
8
9
|
const origWarn = console.warn;
|
|
9
10
|
let mockedWarn;
|
|
10
11
|
|
|
@@ -22,11 +23,10 @@ describe('deprecated', () => {
|
|
|
22
23
|
});
|
|
23
24
|
|
|
24
25
|
describe('if prop has been listed as deprecated', () => {
|
|
26
|
+
const propertyName = 'prop1';
|
|
27
|
+
|
|
25
28
|
it('calls console.warn with the correct message', () => {
|
|
26
|
-
const component = 'Test';
|
|
27
29
|
const newProperty = 'newProp';
|
|
28
|
-
const propertyName = 'prop1';
|
|
29
|
-
|
|
30
30
|
const expiryDate = new Date('01-01-2000');
|
|
31
31
|
const expiryDateString = expiryDate.toLocaleString('en-GB', {
|
|
32
32
|
year: 'numeric',
|
|
@@ -42,10 +42,6 @@ describe('deprecated', () => {
|
|
|
42
42
|
});
|
|
43
43
|
|
|
44
44
|
it('calls console.warn with correct message if newProp is not provided', () => {
|
|
45
|
-
const component = 'Test';
|
|
46
|
-
|
|
47
|
-
const propertyName = 'prop1';
|
|
48
|
-
|
|
49
45
|
const expiryDate = new Date('01-01-2000');
|
|
50
46
|
const expiryDateString = expiryDate.toLocaleString('en-GB', {
|
|
51
47
|
year: 'numeric',
|
|
@@ -61,8 +57,6 @@ describe('deprecated', () => {
|
|
|
61
57
|
});
|
|
62
58
|
|
|
63
59
|
it('calls console.warn with correct message if message is provided', () => {
|
|
64
|
-
const component = 'Test';
|
|
65
|
-
const propertyName = 'prop1';
|
|
66
60
|
const message = 'Some custom message.';
|
|
67
61
|
|
|
68
62
|
deprecated(validator, { component, message })(props, propertyName);
|
|
@@ -74,15 +68,15 @@ describe('deprecated', () => {
|
|
|
74
68
|
});
|
|
75
69
|
|
|
76
70
|
describe('if prop has not been listed as deprecated', () => {
|
|
71
|
+
const propertyName = 'prop3';
|
|
72
|
+
|
|
77
73
|
it('calls validator with props', () => {
|
|
78
|
-
|
|
79
|
-
deprecated(validator, {})(props, propertyName);
|
|
74
|
+
deprecated(validator, { component })(props, propertyName);
|
|
80
75
|
expect(console.warn).not.toHaveBeenCalled();
|
|
81
76
|
});
|
|
82
77
|
|
|
83
78
|
it('calls validator with expected args', () => {
|
|
84
|
-
|
|
85
|
-
deprecated(validator, {})(props, propertyName);
|
|
79
|
+
deprecated(validator, { component })(props, propertyName);
|
|
86
80
|
expect(validator).toHaveBeenCalledWith({ prop1: 'prop1', prop2: 'prop2' }, 'prop3');
|
|
87
81
|
});
|
|
88
82
|
});
|
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
import { logActionRequired } from '../logActionRequired';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
type DeprecatedMessageType = {
|
|
4
|
+
component: string;
|
|
5
|
+
propName: string;
|
|
6
|
+
message: string;
|
|
7
|
+
expiryDate?: Date;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
type ValidatorType = (props: Record<string, any>, propName: string, ...rest: any[]) => Error | null;
|
|
11
|
+
|
|
12
|
+
type DeprecatedOptionsType = {
|
|
13
|
+
component: string;
|
|
14
|
+
message?: string;
|
|
15
|
+
newProp?: string;
|
|
16
|
+
expiryDate?: Date;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
const deprecatedMessage = ({ component, propName, message, expiryDate }: DeprecatedMessageType) => {
|
|
4
20
|
const messages = [`${component} has deprecated the use of ${propName}.`];
|
|
5
21
|
|
|
6
22
|
if (message) {
|
|
@@ -21,11 +37,14 @@ const deprecatedMessage = ({ component, propName, message, expiryDate }) => {
|
|
|
21
37
|
};
|
|
22
38
|
|
|
23
39
|
const deprecated =
|
|
24
|
-
(
|
|
25
|
-
|
|
40
|
+
(
|
|
41
|
+
validator: ValidatorType,
|
|
42
|
+
{ component, message = '', newProp: newProperty, expiryDate }: DeprecatedOptionsType,
|
|
43
|
+
) =>
|
|
44
|
+
(props: Record<string, any>, propertyName: string, ...rest: any[]) => {
|
|
26
45
|
const newPropertyMessage = newProperty ? `Please use ${newProperty} instead.` : message;
|
|
27
46
|
|
|
28
|
-
if (props[propertyName]
|
|
47
|
+
if (props[propertyName] !== null && props[propertyName] !== undefined) {
|
|
29
48
|
logActionRequired(
|
|
30
49
|
deprecatedMessage({
|
|
31
50
|
component,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export function logActionRequired(message) {
|
|
1
|
+
export function logActionRequired(message: string) {
|
|
2
2
|
if (typeof process !== 'undefined' && process.env?.NODE_ENV !== 'production') {
|
|
3
3
|
// eslint-disable-next-line no-console
|
|
4
4
|
console.warn(message);
|
|
5
5
|
}
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
export function logActionRequiredIf(message, conditional) {
|
|
8
|
+
export function logActionRequiredIf(message: string, conditional: boolean) {
|
|
9
9
|
if (conditional) {
|
|
10
10
|
logActionRequired(message);
|
|
11
11
|
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { ControlType, Priority, Size, Type } from '../../common';
|
|
2
|
-
import { logActionRequiredIf } from '../../utilities';
|
|
3
|
-
|
|
4
|
-
const deprecatedTypeMap = {
|
|
5
|
-
[Type.PRIMARY]: ControlType.ACCENT,
|
|
6
|
-
[Type.SECONDARY]: ControlType.ACCENT,
|
|
7
|
-
[Type.LINK]: ControlType.ACCENT,
|
|
8
|
-
[Type.PAY]: ControlType.POSITIVE,
|
|
9
|
-
[Type.DANGER]: ControlType.NEGATIVE,
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
const oldTypePriorityMap = {
|
|
13
|
-
[Type.DANGER]: Priority.SECONDARY,
|
|
14
|
-
[Type.LINK]: Priority.TERTIARY,
|
|
15
|
-
[Type.SECONDARY]: Priority.SECONDARY,
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
const deprecatedTypeMapMessage = {
|
|
19
|
-
[Type.DANGER]: 'Type.NEGATIVE',
|
|
20
|
-
[Type.LINK]: 'ControlType.ACCENT with priority Priority.TERTIARY',
|
|
21
|
-
[Type.PAY]: 'ControlType.POSITIVE',
|
|
22
|
-
[Type.PRIMARY]: 'ControlType.ACCENT',
|
|
23
|
-
[Type.SECONDARY]: 'ControlType.ACCENT with priority Priority.SECONDARY',
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
const deprecatedTypes = Object.keys(deprecatedTypeMap);
|
|
27
|
-
|
|
28
|
-
export const establishNewType = (originalType) => deprecatedTypeMap[originalType] || originalType;
|
|
29
|
-
|
|
30
|
-
export const establishNewPriority = (originalPriority, originalType) => {
|
|
31
|
-
const type = establishNewType(originalType);
|
|
32
|
-
|
|
33
|
-
// The old SECONDARY and LINK types now map to priorities. If they're still using one of
|
|
34
|
-
// these old types, ignore whatever priority they've passed and use this instead.
|
|
35
|
-
if (oldTypePriorityMap[originalType]) {
|
|
36
|
-
return oldTypePriorityMap[originalType];
|
|
37
|
-
}
|
|
38
|
-
// Only ControlType.ACCENT supports tertiary styles
|
|
39
|
-
if (originalPriority === Priority.TERTIARY && type !== ControlType.ACCENT) {
|
|
40
|
-
return Priority.SECONDARY;
|
|
41
|
-
}
|
|
42
|
-
return originalPriority;
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
export const logDeprecationNotices = ({ size, type }) => {
|
|
46
|
-
logActionRequiredIf(
|
|
47
|
-
'Button has deprecated the `Size.EXTRA_SMALL` value for the `size` prop. Please use Size.SMALL instead.',
|
|
48
|
-
size === Size.EXTRA_SMALL,
|
|
49
|
-
);
|
|
50
|
-
logActionRequiredIf(
|
|
51
|
-
`Button has deprecated the ${type} value for the \`type\` prop. Please update to ${deprecatedTypeMapMessage[type]}.`,
|
|
52
|
-
deprecatedTypes.includes(type),
|
|
53
|
-
);
|
|
54
|
-
};
|