@transferwise/components 46.161.1 → 46.161.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/Accordion/Accordion.js.map +1 -1
- package/build/Accordion/Accordion.mjs.map +1 -1
- package/build/Accordion/AccordionItem/AccordionItem.js.map +1 -1
- package/build/Accordion/AccordionItem/AccordionItem.mjs.map +1 -1
- package/build/AvatarLayout/AvatarLayout.js.map +1 -1
- package/build/AvatarLayout/AvatarLayout.mjs.map +1 -1
- package/build/AvatarView/AvatarView.js.map +1 -1
- package/build/AvatarView/AvatarView.mjs.map +1 -1
- package/build/AvatarView/Dot/Dot.js.map +1 -1
- package/build/AvatarView/Dot/Dot.mjs.map +1 -1
- package/build/Body/Body.js.map +1 -1
- package/build/Body/Body.mjs.map +1 -1
- package/build/Button/Button.js.map +1 -1
- package/build/Button/Button.mjs.map +1 -1
- package/build/Button/Button.resolver.js.map +1 -1
- package/build/Button/Button.resolver.mjs.map +1 -1
- package/build/Button/LegacyButton/LegacyButton.js.map +1 -1
- package/build/Button/LegacyButton/LegacyButton.mjs.map +1 -1
- package/build/Button/LegacyButton/utils/legacyUtils.js.map +1 -1
- package/build/Button/LegacyButton/utils/legacyUtils.mjs.map +1 -1
- package/build/Button/classMap.js.map +1 -1
- package/build/Button/classMap.mjs.map +1 -1
- package/build/Calendar/Calendar.constants.js.map +1 -1
- package/build/Calendar/Calendar.constants.mjs.map +1 -1
- package/build/Calendar/Calendar.js.map +1 -1
- package/build/Calendar/Calendar.messages.js.map +1 -1
- package/build/Calendar/Calendar.messages.mjs.map +1 -1
- package/build/Calendar/Calendar.mjs.map +1 -1
- package/build/Calendar/DateHeader/DateHeader.js.map +1 -1
- package/build/Calendar/DateHeader/DateHeader.mjs.map +1 -1
- package/build/Calendar/DayCalendar/DayCalendar.js.map +1 -1
- package/build/Calendar/DayCalendar/DayCalendar.mjs.map +1 -1
- package/build/Calendar/DayCalendar/Table/DayCalendarTable.js.map +1 -1
- package/build/Calendar/DayCalendar/Table/DayCalendarTable.mjs.map +1 -1
- package/build/Calendar/GetFocusableTime/GetFocusableTime.js.map +1 -1
- package/build/Calendar/GetFocusableTime/GetFocusableTime.mjs.map +1 -1
- package/build/Calendar/GetStartOfDay/GetStartOfDay.js.map +1 -1
- package/build/Calendar/GetStartOfDay/GetStartOfDay.mjs.map +1 -1
- package/build/Calendar/MonthCalendar/MonthCalendar.js.map +1 -1
- package/build/Calendar/MonthCalendar/MonthCalendar.mjs.map +1 -1
- package/build/Calendar/MonthCalendar/Table/MonthCalendarTable.js.map +1 -1
- package/build/Calendar/MonthCalendar/Table/MonthCalendarTable.mjs.map +1 -1
- package/build/Calendar/TableLink/TableLink.js.map +1 -1
- package/build/Calendar/TableLink/TableLink.mjs.map +1 -1
- package/build/Calendar/YearCalendar/Table/YearCalendarTable.js.map +1 -1
- package/build/Calendar/YearCalendar/Table/YearCalendarTable.mjs.map +1 -1
- package/build/Calendar/YearCalendar/YearCalendar.js.map +1 -1
- package/build/Calendar/YearCalendar/YearCalendar.mjs.map +1 -1
- package/build/Calendar/_helpers/clampToDayViewBoundary/clampToDayViewBoundary.js.map +1 -1
- package/build/Calendar/_helpers/clampToDayViewBoundary/clampToDayViewBoundary.mjs.map +1 -1
- package/build/Calendar/_helpers/hasDisabledDatesInMonth/hasDisabledDatesInMonth.js.map +1 -1
- package/build/Calendar/_helpers/hasDisabledDatesInMonth/hasDisabledDatesInMonth.mjs.map +1 -1
- package/build/Calendar/_helpers/isDateDisabled/isDateDisabled.js.map +1 -1
- package/build/Calendar/_helpers/isDateDisabled/isDateDisabled.mjs.map +1 -1
- package/build/Carousel/Carousel.js.map +1 -1
- package/build/Carousel/Carousel.mjs.map +1 -1
- package/build/Checkbox/Checkbox.js.map +1 -1
- package/build/Checkbox/Checkbox.mjs.map +1 -1
- package/build/CheckboxButton/CheckboxButton.js.map +1 -1
- package/build/CheckboxButton/CheckboxButton.mjs.map +1 -1
- package/build/Chevron/Chevron.js.map +1 -1
- package/build/Chevron/Chevron.mjs.map +1 -1
- package/build/Chips/Chip/Chip.js.map +1 -1
- package/build/Chips/Chip/Chip.mjs.map +1 -1
- package/build/Chips/Chips.js.map +1 -1
- package/build/Chips/Chips.messages.js.map +1 -1
- package/build/Chips/Chips.messages.mjs.map +1 -1
- package/build/Chips/Chips.mjs.map +1 -1
- package/build/CircularButton/CircularButton.js.map +1 -1
- package/build/CircularButton/CircularButton.mjs.map +1 -1
- package/build/Container/Container.js.map +1 -1
- package/build/Container/Container.mjs.map +1 -1
- package/build/DateInput/DateInput.js.map +1 -1
- package/build/DateInput/DateInput.messages.js.map +1 -1
- package/build/DateInput/DateInput.messages.mjs.map +1 -1
- package/build/DateInput/DateInput.mjs.map +1 -1
- package/build/DateInput/utils/convertToLocalMidnight/convertToLocalMidnight.js.map +1 -1
- package/build/DateInput/utils/convertToLocalMidnight/convertToLocalMidnight.mjs.map +1 -1
- package/build/DateLookup/DateLookup.js.map +1 -1
- package/build/DateLookup/DateLookup.mjs.map +1 -1
- package/build/DateLookup/DateTrigger/DateTrigger.js.map +1 -1
- package/build/DateLookup/DateTrigger/DateTrigger.messages.js.map +1 -1
- package/build/DateLookup/DateTrigger/DateTrigger.messages.mjs.map +1 -1
- package/build/DateLookup/DateTrigger/DateTrigger.mjs.map +1 -1
- package/build/Decision/Decision.js.map +1 -1
- package/build/Decision/Decision.mjs.map +1 -1
- package/build/DefinitionList/DefinitionList.js.map +1 -1
- package/build/DefinitionList/DefinitionList.mjs.map +1 -1
- package/build/Dimmer/Dimmer.js.map +1 -1
- package/build/Dimmer/Dimmer.mjs.map +1 -1
- package/build/Dimmer/dimmerManager/dimmerManager.js.map +1 -1
- package/build/Dimmer/dimmerManager/dimmerManager.mjs.map +1 -1
- package/build/Display/Display.js.map +1 -1
- package/build/Display/Display.mjs.map +1 -1
- package/build/Divider/Divider.js.map +1 -1
- package/build/Divider/Divider.mjs.map +1 -1
- package/build/Drawer/Drawer.js.map +1 -1
- package/build/Drawer/Drawer.mjs.map +1 -1
- package/build/DropFade/DropFade.js.map +1 -1
- package/build/DropFade/DropFade.mjs.map +1 -1
- package/build/Emphasis/Emphasis.js.map +1 -1
- package/build/Emphasis/Emphasis.mjs.map +1 -1
- package/build/Emphasis/EmphasisHtmlTransformer.js.map +1 -1
- package/build/Emphasis/EmphasisHtmlTransformer.mjs.map +1 -1
- package/build/ExpressiveMoneyInput/AmountInput/AmountInput.js.map +1 -1
- package/build/ExpressiveMoneyInput/AmountInput/AmountInput.mjs.map +1 -1
- package/build/ExpressiveMoneyInput/AmountInput/utils.js.map +1 -1
- package/build/ExpressiveMoneyInput/AmountInput/utils.mjs.map +1 -1
- package/build/ExpressiveMoneyInput/AnimatedNumber/AnimatedNumber.js.map +1 -1
- package/build/ExpressiveMoneyInput/AnimatedNumber/AnimatedNumber.mjs.map +1 -1
- package/build/ExpressiveMoneyInput/Chevron/Chevron.js.map +1 -1
- package/build/ExpressiveMoneyInput/Chevron/Chevron.mjs.map +1 -1
- package/build/ExpressiveMoneyInput/CurrencySelector/CurrencySelector.js.map +1 -1
- package/build/ExpressiveMoneyInput/CurrencySelector/CurrencySelector.mjs.map +1 -1
- package/build/ExpressiveMoneyInput/ExpressiveMoneyInput.js.map +1 -1
- package/build/ExpressiveMoneyInput/ExpressiveMoneyInput.messages.js.map +1 -1
- package/build/ExpressiveMoneyInput/ExpressiveMoneyInput.messages.mjs.map +1 -1
- package/build/ExpressiveMoneyInput/ExpressiveMoneyInput.mjs.map +1 -1
- package/build/ExpressiveMoneyInput/hooks/useFocus.js.map +1 -1
- package/build/ExpressiveMoneyInput/hooks/useFocus.mjs.map +1 -1
- package/build/ExpressiveMoneyInput/hooks/useInputStyle.js.map +1 -1
- package/build/ExpressiveMoneyInput/hooks/useInputStyle.mjs.map +1 -1
- package/build/Field/Field.js.map +1 -1
- package/build/Field/Field.messages.js.map +1 -1
- package/build/Field/Field.messages.mjs.map +1 -1
- package/build/Field/Field.mjs.map +1 -1
- package/build/FlowNavigation/AnimatedLabel/AnimatedLabel.js.map +1 -1
- package/build/FlowNavigation/AnimatedLabel/AnimatedLabel.mjs.map +1 -1
- package/build/FlowNavigation/FlowNavigation.js.map +1 -1
- package/build/FlowNavigation/FlowNavigation.messages.js.map +1 -1
- package/build/FlowNavigation/FlowNavigation.messages.mjs.map +1 -1
- package/build/FlowNavigation/FlowNavigation.mjs.map +1 -1
- package/build/Header/Header.js.map +1 -1
- package/build/Header/Header.mjs.map +1 -1
- package/build/IconButton/IconButton.js.map +1 -1
- package/build/IconButton/IconButton.mjs.map +1 -1
- package/build/Image/Image.js.map +1 -1
- package/build/Image/Image.mjs.map +1 -1
- package/build/Info/Info.js.map +1 -1
- package/build/Info/Info.messages.js.map +1 -1
- package/build/Info/Info.messages.mjs.map +1 -1
- package/build/Info/Info.mjs.map +1 -1
- package/build/Info/infoPresentations.js.map +1 -1
- package/build/Info/infoPresentations.mjs.map +1 -1
- package/build/InputWithDisplayFormat/InputWithDisplayFormat.js.map +1 -1
- package/build/InputWithDisplayFormat/InputWithDisplayFormat.mjs.map +1 -1
- package/build/Inputs/Input/Input.js.map +1 -1
- package/build/Inputs/Input/Input.mjs.map +1 -1
- package/build/Inputs/InputGroup/InputGroup.js.map +1 -1
- package/build/Inputs/InputGroup/InputGroup.mjs.map +1 -1
- package/build/Inputs/SearchInput/SearchInput.js.map +1 -1
- package/build/Inputs/SearchInput/SearchInput.mjs.map +1 -1
- package/build/Inputs/SelectInput/BottomSheet/SelectInputBottomSheet.js.map +1 -1
- package/build/Inputs/SelectInput/BottomSheet/SelectInputBottomSheet.mjs.map +1 -1
- package/build/Inputs/SelectInput/ButtonInput/SelectInputButtonInput.js.map +1 -1
- package/build/Inputs/SelectInput/ButtonInput/SelectInputButtonInput.mjs.map +1 -1
- package/build/Inputs/SelectInput/ClearButton/SelectInputClearButton.js.map +1 -1
- package/build/Inputs/SelectInput/ClearButton/SelectInputClearButton.mjs.map +1 -1
- package/build/Inputs/SelectInput/DefaultRenderTrigger/SelectInputDefaultRenderTrigger.js.map +1 -1
- package/build/Inputs/SelectInput/DefaultRenderTrigger/SelectInputDefaultRenderTrigger.mjs.map +1 -1
- package/build/Inputs/SelectInput/ItemView/GroupItemView/SelectInputGroupItemView.js.map +1 -1
- package/build/Inputs/SelectInput/ItemView/GroupItemView/SelectInputGroupItemView.mjs.map +1 -1
- package/build/Inputs/SelectInput/ItemView/SelectInputItemView.js.map +1 -1
- package/build/Inputs/SelectInput/ItemView/SelectInputItemView.mjs.map +1 -1
- package/build/Inputs/SelectInput/Option/SelectInputOption.js.map +1 -1
- package/build/Inputs/SelectInput/Option/SelectInputOption.mjs.map +1 -1
- package/build/Inputs/SelectInput/OptionContent/SelectInputOptionContent.js.map +1 -1
- package/build/Inputs/SelectInput/OptionContent/SelectInputOptionContent.mjs.map +1 -1
- package/build/Inputs/SelectInput/Options/OptionsContainer/SelectInputOptionsContainer.js.map +1 -1
- package/build/Inputs/SelectInput/Options/OptionsContainer/SelectInputOptionsContainer.mjs.map +1 -1
- package/build/Inputs/SelectInput/Options/SelectInputOptions.js.map +1 -1
- package/build/Inputs/SelectInput/Options/SelectInputOptions.mjs.map +1 -1
- package/build/Inputs/SelectInput/Popover/SelectInputPopover.js.map +1 -1
- package/build/Inputs/SelectInput/Popover/SelectInputPopover.mjs.map +1 -1
- package/build/Inputs/SelectInput/SelectInput.contexts.js.map +1 -1
- package/build/Inputs/SelectInput/SelectInput.contexts.mjs.map +1 -1
- package/build/Inputs/SelectInput/SelectInput.js.map +1 -1
- package/build/Inputs/SelectInput/SelectInput.messages.js.map +1 -1
- package/build/Inputs/SelectInput/SelectInput.messages.mjs.map +1 -1
- package/build/Inputs/SelectInput/SelectInput.mjs.map +1 -1
- package/build/Inputs/SelectInput/SelectInput.utils.js.map +1 -1
- package/build/Inputs/SelectInput/SelectInput.utils.mjs.map +1 -1
- package/build/Inputs/SelectInput/TriggerButton/SelectInputTriggerButton.js.map +1 -1
- package/build/Inputs/SelectInput/TriggerButton/SelectInputTriggerButton.mjs.map +1 -1
- package/build/Inputs/SelectInput/constants.js.map +1 -1
- package/build/Inputs/SelectInput/constants.mjs.map +1 -1
- package/build/Inputs/SelectInput/hooks/useTypeahead.js.map +1 -1
- package/build/Inputs/SelectInput/hooks/useTypeahead.mjs.map +1 -1
- package/build/Inputs/TextArea/TextArea.js.map +1 -1
- package/build/Inputs/TextArea/TextArea.mjs.map +1 -1
- package/build/Inputs/_common.js.map +1 -1
- package/build/Inputs/_common.mjs.map +1 -1
- package/build/Inputs/contexts.js.map +1 -1
- package/build/Inputs/contexts.mjs.map +1 -1
- package/build/InstructionsList/InstructionsList.js.map +1 -1
- package/build/InstructionsList/InstructionsList.mjs.map +1 -1
- package/build/Label/Label.js.map +1 -1
- package/build/Label/Label.messages.js.map +1 -1
- package/build/Label/Label.messages.mjs.map +1 -1
- package/build/Label/Label.mjs.map +1 -1
- package/build/Link/Link.js.map +1 -1
- package/build/Link/Link.messages.js.map +1 -1
- package/build/Link/Link.messages.mjs.map +1 -1
- package/build/Link/Link.mjs.map +1 -1
- package/build/List/List.js.map +1 -1
- package/build/List/List.mjs.map +1 -1
- package/build/ListItem/AdditionalInfo/ListItemAdditionalInfo.js.map +1 -1
- package/build/ListItem/AdditionalInfo/ListItemAdditionalInfo.mjs.map +1 -1
- package/build/ListItem/AvatarLayout/ListItemAvatarLayout.js.map +1 -1
- package/build/ListItem/AvatarLayout/ListItemAvatarLayout.mjs.map +1 -1
- package/build/ListItem/AvatarView/ListItemAvatarView.js.map +1 -1
- package/build/ListItem/AvatarView/ListItemAvatarView.mjs.map +1 -1
- package/build/ListItem/Button/ListItemButton.js.map +1 -1
- package/build/ListItem/Button/ListItemButton.mjs.map +1 -1
- package/build/ListItem/Checkbox/ListItemCheckbox.js.map +1 -1
- package/build/ListItem/Checkbox/ListItemCheckbox.mjs.map +1 -1
- package/build/ListItem/IconButton/ListItemIconButton.js.map +1 -1
- package/build/ListItem/IconButton/ListItemIconButton.mjs.map +1 -1
- package/build/ListItem/Image/ListItemImage.js.map +1 -1
- package/build/ListItem/Image/ListItemImage.mjs.map +1 -1
- package/build/ListItem/ListItem.js.map +1 -1
- package/build/ListItem/ListItem.mjs.map +1 -1
- package/build/ListItem/ListItemContext.js.map +1 -1
- package/build/ListItem/ListItemContext.mjs.map +1 -1
- package/build/ListItem/Navigation/ListItemNavigation.js.map +1 -1
- package/build/ListItem/Navigation/ListItemNavigation.mjs.map +1 -1
- package/build/ListItem/Prompt/ListItemPrompt.js.map +1 -1
- package/build/ListItem/Prompt/ListItemPrompt.mjs.map +1 -1
- package/build/ListItem/Radio/ListItemRadio.js.map +1 -1
- package/build/ListItem/Radio/ListItemRadio.mjs.map +1 -1
- package/build/ListItem/Switch/ListItemSwitch.js.map +1 -1
- package/build/ListItem/Switch/ListItemSwitch.mjs.map +1 -1
- package/build/ListItem/useListItemControl.js.map +1 -1
- package/build/ListItem/useListItemControl.mjs.map +1 -1
- package/build/ListItem/useListItemMedia.js.map +1 -1
- package/build/ListItem/useListItemMedia.mjs.map +1 -1
- package/build/Loader/Loader.js.map +1 -1
- package/build/Loader/Loader.mjs.map +1 -1
- package/build/Logo/Logo.js.map +1 -1
- package/build/Logo/Logo.mjs.map +1 -1
- package/build/Logo/logo-assets.js.map +1 -1
- package/build/Logo/logo-assets.mjs.map +1 -1
- package/build/Markdown/Markdown.js.map +1 -1
- package/build/Markdown/Markdown.mjs.map +1 -1
- package/build/Markup/Markup.js.map +1 -1
- package/build/Markup/Markup.mjs.map +1 -1
- package/build/Markup/constants.js.map +1 -1
- package/build/Markup/constants.mjs.map +1 -1
- package/build/Markup/utils/parseMarkup.js.map +1 -1
- package/build/Markup/utils/parseMarkup.mjs.map +1 -1
- package/build/Markup/utils/sanitise.js.map +1 -1
- package/build/Markup/utils/sanitise.mjs.map +1 -1
- package/build/Modal/Modal.js.map +1 -1
- package/build/Modal/Modal.mjs.map +1 -1
- package/build/Money/Money.js.map +1 -1
- package/build/Money/Money.mjs.map +1 -1
- package/build/MoneyInput/MoneyInput.js.map +1 -1
- package/build/MoneyInput/MoneyInput.messages.js.map +1 -1
- package/build/MoneyInput/MoneyInput.messages.mjs.map +1 -1
- package/build/MoneyInput/MoneyInput.mjs.map +1 -1
- package/build/MoneyInput/currencyFormatting.js.map +1 -1
- package/build/MoneyInput/currencyFormatting.mjs.map +1 -1
- package/build/Nudge/Nudge.js.map +1 -1
- package/build/Nudge/Nudge.mjs.map +1 -1
- package/build/PhoneNumberInput/Data/countries.js.map +1 -1
- package/build/PhoneNumberInput/Data/countries.mjs.map +1 -1
- package/build/PhoneNumberInput/PhoneNumberInput.js.map +1 -1
- package/build/PhoneNumberInput/PhoneNumberInput.messages.js.map +1 -1
- package/build/PhoneNumberInput/PhoneNumberInput.messages.mjs.map +1 -1
- package/build/PhoneNumberInput/PhoneNumberInput.mjs.map +1 -1
- package/build/PhoneNumberInput/utils/cleanNumber/cleanNumber.js.map +1 -1
- package/build/PhoneNumberInput/utils/cleanNumber/cleanNumber.mjs.map +1 -1
- package/build/PhoneNumberInput/utils/excludeCountries/excludeCountries.js.map +1 -1
- package/build/PhoneNumberInput/utils/excludeCountries/excludeCountries.mjs.map +1 -1
- package/build/PhoneNumberInput/utils/explodeNumberModel/index.js.map +1 -1
- package/build/PhoneNumberInput/utils/explodeNumberModel/index.mjs.map +1 -1
- package/build/PhoneNumberInput/utils/findCountryByCode/index.js.map +1 -1
- package/build/PhoneNumberInput/utils/findCountryByCode/index.mjs.map +1 -1
- package/build/PhoneNumberInput/utils/findCountryByPrefix/index.js.map +1 -1
- package/build/PhoneNumberInput/utils/findCountryByPrefix/index.mjs.map +1 -1
- package/build/PhoneNumberInput/utils/groupCountriesByPrefix/groupCountriesByPrefix.js.map +1 -1
- package/build/PhoneNumberInput/utils/groupCountriesByPrefix/groupCountriesByPrefix.mjs.map +1 -1
- package/build/PhoneNumberInput/utils/isValidPhoneNumber/isValidPhoneNumber.js.map +1 -1
- package/build/PhoneNumberInput/utils/isValidPhoneNumber/isValidPhoneNumber.mjs.map +1 -1
- package/build/PhoneNumberInput/utils/longestMatchingPrefix/index.js.map +1 -1
- package/build/PhoneNumberInput/utils/longestMatchingPrefix/index.mjs.map +1 -1
- package/build/PhoneNumberInput/utils/setDefaultPrefix/index.js.map +1 -1
- package/build/PhoneNumberInput/utils/setDefaultPrefix/index.mjs.map +1 -1
- package/build/PhoneNumberInput/utils/sortArrayByProperty/sortArrayByProperty.js.map +1 -1
- package/build/PhoneNumberInput/utils/sortArrayByProperty/sortArrayByProperty.mjs.map +1 -1
- package/build/Popover/Popover.js.map +1 -1
- package/build/Popover/Popover.mjs.map +1 -1
- package/build/Primitives/PrimitiveAnchor/PrimitiveAnchor.js.map +1 -1
- package/build/Primitives/PrimitiveAnchor/PrimitiveAnchor.mjs.map +1 -1
- package/build/Primitives/PrimitiveButton/PrimitiveButton.js.map +1 -1
- package/build/Primitives/PrimitiveButton/PrimitiveButton.mjs.map +1 -1
- package/build/ProcessIndicator/ProcessIndicator.js.map +1 -1
- package/build/ProcessIndicator/ProcessIndicator.mjs.map +1 -1
- package/build/Progress/Progress.js.map +1 -1
- package/build/Progress/Progress.mjs.map +1 -1
- package/build/ProgressBar/ProgressBar.js.map +1 -1
- package/build/ProgressBar/ProgressBar.mjs.map +1 -1
- package/build/PromoCard/CardGroup/PromoCardGroup.js.map +1 -1
- package/build/PromoCard/CardGroup/PromoCardGroup.mjs.map +1 -1
- package/build/PromoCard/Indicator/PromoCardIndicator.js.map +1 -1
- package/build/PromoCard/Indicator/PromoCardIndicator.mjs.map +1 -1
- package/build/PromoCard/PromoCard.js.map +1 -1
- package/build/PromoCard/PromoCard.mjs.map +1 -1
- package/build/PromoCard/PromoCardContext.js.map +1 -1
- package/build/PromoCard/PromoCardContext.mjs.map +1 -1
- package/build/Prompt/ActionPrompt/ActionPrompt.js.map +1 -1
- package/build/Prompt/ActionPrompt/ActionPrompt.mjs.map +1 -1
- package/build/Prompt/CriticalBanner/CriticalBanner.js.map +1 -1
- package/build/Prompt/CriticalBanner/CriticalBanner.mjs.map +1 -1
- package/build/Prompt/CriticalBanner/helpers.js.map +1 -1
- package/build/Prompt/CriticalBanner/helpers.mjs.map +1 -1
- package/build/Prompt/InfoPrompt/InfoPrompt.js.map +1 -1
- package/build/Prompt/InfoPrompt/InfoPrompt.mjs.map +1 -1
- package/build/Prompt/InlinePrompt/InlinePrompt.js.map +1 -1
- package/build/Prompt/InlinePrompt/InlinePrompt.mjs.map +1 -1
- package/build/Prompt/PrimitivePrompt/PrimitivePrompt.js.map +1 -1
- package/build/Prompt/PrimitivePrompt/PrimitivePrompt.mjs.map +1 -1
- package/build/Prompt/common/Expander/Expander.js.map +1 -1
- package/build/Prompt/common/Expander/Expander.messages.js.map +1 -1
- package/build/Prompt/common/Expander/Expander.messages.mjs.map +1 -1
- package/build/Prompt/common/Expander/Expander.mjs.map +1 -1
- package/build/Prompt/helpers/promptMedia.js.map +1 -1
- package/build/Prompt/helpers/promptMedia.mjs.map +1 -1
- package/build/Provider/Direction/DirectionProvider.js.map +1 -1
- package/build/Provider/Direction/DirectionProvider.mjs.map +1 -1
- package/build/Provider/Language/LanguageProvider.js.map +1 -1
- package/build/Provider/Language/LanguageProvider.mjs.map +1 -1
- package/build/Provider/Provider.js.map +1 -1
- package/build/Provider/Provider.mjs.map +1 -1
- package/build/Provider/overlay/OverlayIdProvider.js.map +1 -1
- package/build/Provider/overlay/OverlayIdProvider.mjs.map +1 -1
- package/build/Radio/Radio.js.map +1 -1
- package/build/Radio/Radio.mjs.map +1 -1
- package/build/RadioGroup/RadioGroup.js.map +1 -1
- package/build/RadioGroup/RadioGroup.mjs.map +1 -1
- package/build/Section/Section.js.map +1 -1
- package/build/Section/Section.mjs.map +1 -1
- package/build/SegmentedControl/SegmentedControl.js.map +1 -1
- package/build/SegmentedControl/SegmentedControl.mjs.map +1 -1
- package/build/SentimentSurface/SentimentSurface.js.map +1 -1
- package/build/SentimentSurface/SentimentSurface.mjs.map +1 -1
- package/build/SlidingPanel/SlidingPanel.js.map +1 -1
- package/build/SlidingPanel/SlidingPanel.mjs.map +1 -1
- package/build/Snackbar/Snackbar.js.map +1 -1
- package/build/Snackbar/Snackbar.mjs.map +1 -1
- package/build/Snackbar/SnackbarContext.js.map +1 -1
- package/build/Snackbar/SnackbarContext.mjs.map +1 -1
- package/build/Snackbar/SnackbarProvider.js.map +1 -1
- package/build/Snackbar/SnackbarProvider.mjs.map +1 -1
- package/build/Snackbar/useSnackbar.js.map +1 -1
- package/build/Snackbar/useSnackbar.mjs.map +1 -1
- package/build/StatusIcon/StatusIcon.js.map +1 -1
- package/build/StatusIcon/StatusIcon.messages.js.map +1 -1
- package/build/StatusIcon/StatusIcon.messages.mjs.map +1 -1
- package/build/StatusIcon/StatusIcon.mjs.map +1 -1
- package/build/Stepper/Stepper.js.map +1 -1
- package/build/Stepper/Stepper.mjs.map +1 -1
- package/build/Stepper/deviceDetection.js.map +1 -1
- package/build/Stepper/deviceDetection.mjs.map +1 -1
- package/build/Sticky/Sticky.js.map +1 -1
- package/build/Sticky/Sticky.mjs.map +1 -1
- package/build/Switch/Switch.js.map +1 -1
- package/build/Switch/Switch.mjs.map +1 -1
- package/build/Table/Cell/TableCell.js.map +1 -1
- package/build/Table/Cell/TableCell.mjs.map +1 -1
- package/build/Table/Header/TableHeader.js.map +1 -1
- package/build/Table/Header/TableHeader.mjs.map +1 -1
- package/build/Table/Row/TableRow.js.map +1 -1
- package/build/Table/Row/TableRow.mjs.map +1 -1
- package/build/Table/StatusText/TableStatusText.js.map +1 -1
- package/build/Table/StatusText/TableStatusText.mjs.map +1 -1
- package/build/Table/Table.js.map +1 -1
- package/build/Table/Table.messages.js.map +1 -1
- package/build/Table/Table.messages.mjs.map +1 -1
- package/build/Table/Table.mjs.map +1 -1
- package/build/Tabs/Tab/Tab.js.map +1 -1
- package/build/Tabs/Tab/Tab.mjs.map +1 -1
- package/build/Tabs/TabList/TabList.js.map +1 -1
- package/build/Tabs/TabList/TabList.mjs.map +1 -1
- package/build/Tabs/TabPanel/TabPanel.js.map +1 -1
- package/build/Tabs/TabPanel/TabPanel.mjs.map +1 -1
- package/build/Tabs/Tabs.js.map +1 -1
- package/build/Tabs/Tabs.mjs.map +1 -1
- package/build/Tabs/utils.js.map +1 -1
- package/build/Tabs/utils.mjs.map +1 -1
- package/build/Tag/Tag.js.map +1 -1
- package/build/Tag/Tag.mjs.map +1 -1
- package/build/TextareaWithDisplayFormat/TextareaWithDisplayFormat.js.map +1 -1
- package/build/TextareaWithDisplayFormat/TextareaWithDisplayFormat.mjs.map +1 -1
- package/build/Tile/Tile.js.map +1 -1
- package/build/Tile/Tile.mjs.map +1 -1
- package/build/Title/Title.js.map +1 -1
- package/build/Title/Title.mjs.map +1 -1
- package/build/Tooltip/Tooltip.js.map +1 -1
- package/build/Tooltip/Tooltip.mjs.map +1 -1
- package/build/Typeahead/Typeahead.js.map +1 -1
- package/build/Typeahead/Typeahead.messages.js.map +1 -1
- package/build/Typeahead/Typeahead.messages.mjs.map +1 -1
- package/build/Typeahead/Typeahead.mjs.map +1 -1
- package/build/Typeahead/TypeaheadInput/TypeaheadInput.js.map +1 -1
- package/build/Typeahead/TypeaheadInput/TypeaheadInput.mjs.map +1 -1
- package/build/Typeahead/TypeaheadOption/TypeaheadOption.js.map +1 -1
- package/build/Typeahead/TypeaheadOption/TypeaheadOption.mjs.map +1 -1
- package/build/Typeahead/Util/highlight.js.map +1 -1
- package/build/Typeahead/Util/highlight.mjs.map +1 -1
- package/build/Upload/Steps/CompleteStep/CompleteStep.js.map +1 -1
- package/build/Upload/Steps/CompleteStep/CompleteStep.mjs.map +1 -1
- package/build/Upload/Steps/ProcessingStep/ProcessingStep.js.map +1 -1
- package/build/Upload/Steps/ProcessingStep/ProcessingStep.mjs.map +1 -1
- package/build/Upload/Steps/UploadImageStep/UploadImageStep.js.map +1 -1
- package/build/Upload/Steps/UploadImageStep/UploadImageStep.mjs.map +1 -1
- package/build/Upload/Upload.js.map +1 -1
- package/build/Upload/Upload.messages.js.map +1 -1
- package/build/Upload/Upload.messages.mjs.map +1 -1
- package/build/Upload/Upload.mjs.map +1 -1
- package/build/Upload/utils/asyncFileRead/asyncFileRead.js.map +1 -1
- package/build/Upload/utils/asyncFileRead/asyncFileRead.mjs.map +1 -1
- package/build/Upload/utils/getFileType/getFileType.js.map +1 -1
- package/build/Upload/utils/getFileType/getFileType.mjs.map +1 -1
- package/build/Upload/utils/isSizeValid/isSizeValid.js.map +1 -1
- package/build/Upload/utils/isSizeValid/isSizeValid.mjs.map +1 -1
- package/build/Upload/utils/isTypeValid/isTypeValid.js.map +1 -1
- package/build/Upload/utils/isTypeValid/isTypeValid.mjs.map +1 -1
- package/build/Upload/utils/postData/postData.js.map +1 -1
- package/build/Upload/utils/postData/postData.mjs.map +1 -1
- package/build/UploadInput/UploadButton/UploadButton.js.map +1 -1
- package/build/UploadInput/UploadButton/UploadButton.messages.js.map +1 -1
- package/build/UploadInput/UploadButton/UploadButton.messages.mjs.map +1 -1
- package/build/UploadInput/UploadButton/UploadButton.mjs.map +1 -1
- package/build/UploadInput/UploadButton/defaults.js.map +1 -1
- package/build/UploadInput/UploadButton/defaults.mjs.map +1 -1
- package/build/UploadInput/UploadButton/getAllowedFileTypes.js.map +1 -1
- package/build/UploadInput/UploadButton/getAllowedFileTypes.mjs.map +1 -1
- package/build/UploadInput/UploadInput.js.map +1 -1
- package/build/UploadInput/UploadInput.messages.js.map +1 -1
- package/build/UploadInput/UploadInput.messages.mjs.map +1 -1
- package/build/UploadInput/UploadInput.mjs.map +1 -1
- package/build/UploadInput/UploadItem/UploadItem.js.map +1 -1
- package/build/UploadInput/UploadItem/UploadItem.messages.js.map +1 -1
- package/build/UploadInput/UploadItem/UploadItem.messages.mjs.map +1 -1
- package/build/UploadInput/UploadItem/UploadItem.mjs.map +1 -1
- package/build/UploadInput/UploadItem/UploadItemLink.js.map +1 -1
- package/build/UploadInput/UploadItem/UploadItemLink.mjs.map +1 -1
- package/build/WithDisplayFormat/WithDisplayFormat.js.map +1 -1
- package/build/WithDisplayFormat/WithDisplayFormat.mjs.map +1 -1
- package/build/WithId/WithId.js.map +1 -1
- package/build/WithId/WithId.mjs.map +1 -1
- package/build/WithNextPortal/WithNextPortal.js.map +1 -1
- package/build/WithNextPortal/WithNextPortal.mjs.map +1 -1
- package/build/_deprecated/ActionButton/ActionButton.js.map +1 -1
- package/build/_deprecated/ActionButton/ActionButton.mjs.map +1 -1
- package/build/_deprecated/ActionOption/ActionOption.js.map +1 -1
- package/build/_deprecated/ActionOption/ActionOption.mjs.map +1 -1
- package/build/_deprecated/Alert/Alert.js.map +1 -1
- package/build/_deprecated/Alert/Alert.mjs.map +1 -1
- package/build/_deprecated/Alert/InlineMarkdown/InlineMarkdown.js.map +1 -1
- package/build/_deprecated/Alert/InlineMarkdown/InlineMarkdown.mjs.map +1 -1
- package/build/_deprecated/Avatar/Avatar.js.map +1 -1
- package/build/_deprecated/Avatar/Avatar.mjs.map +1 -1
- package/build/_deprecated/Avatar/types.js.map +1 -1
- package/build/_deprecated/Avatar/types.mjs.map +1 -1
- package/build/_deprecated/AvatarWrapper/AvatarWrapper.js.map +1 -1
- package/build/_deprecated/AvatarWrapper/AvatarWrapper.mjs.map +1 -1
- package/build/_deprecated/Badge/Badge.js.map +1 -1
- package/build/_deprecated/Badge/Badge.mjs.map +1 -1
- package/build/_deprecated/Badge/BadgeAssets.js.map +1 -1
- package/build/_deprecated/Badge/BadgeAssets.mjs.map +1 -1
- package/build/_deprecated/Card/Card.js.map +1 -1
- package/build/_deprecated/Card/Card.mjs.map +1 -1
- package/build/_deprecated/CheckboxOption/CheckboxOption.js.map +1 -1
- package/build/_deprecated/CheckboxOption/CheckboxOption.mjs.map +1 -1
- package/build/_deprecated/CriticalBanner/CriticalCommsBanner.js.map +1 -1
- package/build/_deprecated/CriticalBanner/CriticalCommsBanner.mjs.map +1 -1
- package/build/_deprecated/InlineAlert/InlineAlert.js.map +1 -1
- package/build/_deprecated/InlineAlert/InlineAlert.mjs.map +1 -1
- package/build/_deprecated/LegacyListItem/LegacyListItem.js.map +1 -1
- package/build/_deprecated/LegacyListItem/LegacyListItem.mjs.map +1 -1
- package/build/_deprecated/NavigationOption/NavigationOption.js.map +1 -1
- package/build/_deprecated/NavigationOption/NavigationOption.mjs.map +1 -1
- package/build/_deprecated/NavigationOptionsList/NavigationOptionsList.js.map +1 -1
- package/build/_deprecated/NavigationOptionsList/NavigationOptionsList.mjs.map +1 -1
- package/build/_deprecated/OverlayHeader/OverlayHeader.js.map +1 -1
- package/build/_deprecated/OverlayHeader/OverlayHeader.mjs.map +1 -1
- package/build/_deprecated/RadioOption/RadioOption.js.map +1 -1
- package/build/_deprecated/RadioOption/RadioOption.mjs.map +1 -1
- package/build/_deprecated/Select/Option/Option.js.map +1 -1
- package/build/_deprecated/Select/Option/Option.mjs.map +1 -1
- package/build/_deprecated/Select/SearchBox/SearchBox.js.map +1 -1
- package/build/_deprecated/Select/SearchBox/SearchBox.mjs.map +1 -1
- package/build/_deprecated/Select/Select.js.map +1 -1
- package/build/_deprecated/Select/Select.messages.js.map +1 -1
- package/build/_deprecated/Select/Select.messages.mjs.map +1 -1
- package/build/_deprecated/Select/Select.mjs.map +1 -1
- package/build/_deprecated/Summary/Summary.js.map +1 -1
- package/build/_deprecated/Summary/Summary.messages.js.map +1 -1
- package/build/_deprecated/Summary/Summary.messages.mjs.map +1 -1
- package/build/_deprecated/Summary/Summary.mjs.map +1 -1
- package/build/_deprecated/SwitchOption/SwitchOption.js.map +1 -1
- package/build/_deprecated/SwitchOption/SwitchOption.mjs.map +1 -1
- package/build/common/BaseCard/BaseCard.js.map +1 -1
- package/build/common/BaseCard/BaseCard.mjs.map +1 -1
- package/build/common/BottomSheet/BottomSheet.js.map +1 -1
- package/build/common/BottomSheet/BottomSheet.mjs.map +1 -1
- package/build/common/Circle/Circle.js.map +1 -1
- package/build/common/Circle/Circle.mjs.map +1 -1
- package/build/common/CloseButton/CloseButton.js.map +1 -1
- package/build/common/CloseButton/CloseButton.messages.js.map +1 -1
- package/build/common/CloseButton/CloseButton.messages.mjs.map +1 -1
- package/build/common/CloseButton/CloseButton.mjs.map +1 -1
- package/build/common/DOMOperations/DOMOperations.js.map +1 -1
- package/build/common/DOMOperations/DOMOperations.mjs.map +1 -1
- package/build/common/DateUtils/getDateView/getDateView.js.map +1 -1
- package/build/common/DateUtils/getDateView/getDateView.mjs.map +1 -1
- package/build/common/DateUtils/getDayNames/getDayNames.js.map +1 -1
- package/build/common/DateUtils/getDayNames/getDayNames.mjs.map +1 -1
- package/build/common/DateUtils/getFormatForLocale/getFormatForLocale.js.map +1 -1
- package/build/common/DateUtils/getFormatForLocale/getFormatForLocale.mjs.map +1 -1
- package/build/common/DateUtils/getMonthNames/getMonthNames.js.map +1 -1
- package/build/common/DateUtils/getMonthNames/getMonthNames.mjs.map +1 -1
- package/build/common/DateUtils/isDateValid/isDateValid.js.map +1 -1
- package/build/common/DateUtils/isDateValid/isDateValid.mjs.map +1 -1
- package/build/common/DateUtils/isMonthAndYearFormat/isMonthAndYearFormat.js.map +1 -1
- package/build/common/DateUtils/isMonthAndYearFormat/isMonthAndYearFormat.mjs.map +1 -1
- package/build/common/DateUtils/isWithinRange/isWithinRange.js.map +1 -1
- package/build/common/DateUtils/isWithinRange/isWithinRange.mjs.map +1 -1
- package/build/common/DateUtils/moveToWithinRange/moveToWithinRange.js.map +1 -1
- package/build/common/DateUtils/moveToWithinRange/moveToWithinRange.mjs.map +1 -1
- package/build/common/DomHelpers/documentIosClick.js.map +1 -1
- package/build/common/DomHelpers/documentIosClick.mjs.map +1 -1
- package/build/common/FlowHeader/FlowHeader.js.map +1 -1
- package/build/common/FlowHeader/FlowHeader.mjs.map +1 -1
- package/build/common/FocusBoundary/FocusBoundary.js.map +1 -1
- package/build/common/FocusBoundary/FocusBoundary.mjs.map +1 -1
- package/build/common/LiveRegion/LiveRegion.js.map +1 -1
- package/build/common/LiveRegion/LiveRegion.mjs.map +1 -1
- package/build/common/Locale/index.js.map +1 -1
- package/build/common/Locale/index.mjs.map +1 -1
- package/build/common/Option/Option.js.map +1 -1
- package/build/common/Option/Option.mjs.map +1 -1
- package/build/common/Panel/Panel.js.map +1 -1
- package/build/common/Panel/Panel.mjs.map +1 -1
- package/build/common/Panel/Panel.positionUtils.js.map +1 -1
- package/build/common/Panel/Panel.positionUtils.mjs.map +1 -1
- package/build/common/PolymorphicWithOverrides/PolymorphicWithOverrides.js.map +1 -1
- package/build/common/PolymorphicWithOverrides/PolymorphicWithOverrides.mjs.map +1 -1
- package/build/common/PreventScroll/PreventScroll.js.map +1 -1
- package/build/common/PreventScroll/PreventScroll.mjs.map +1 -1
- package/build/common/PropsValues/control.js.map +1 -1
- package/build/common/PropsValues/control.mjs.map +1 -1
- package/build/common/PropsValues/dateMode.js.map +1 -1
- package/build/common/PropsValues/dateMode.mjs.map +1 -1
- package/build/common/PropsValues/layouts.js.map +1 -1
- package/build/common/PropsValues/layouts.mjs.map +1 -1
- package/build/common/PropsValues/markdownNodeType.js.map +1 -1
- package/build/common/PropsValues/markdownNodeType.mjs.map +1 -1
- package/build/common/PropsValues/monthFormat.js.map +1 -1
- package/build/common/PropsValues/monthFormat.mjs.map +1 -1
- package/build/common/PropsValues/position.js.map +1 -1
- package/build/common/PropsValues/position.mjs.map +1 -1
- package/build/common/PropsValues/profileType.js.map +1 -1
- package/build/common/PropsValues/profileType.mjs.map +1 -1
- package/build/common/PropsValues/scroll.js.map +1 -1
- package/build/common/PropsValues/scroll.mjs.map +1 -1
- package/build/common/PropsValues/sentiment.js.map +1 -1
- package/build/common/PropsValues/sentiment.mjs.map +1 -1
- package/build/common/PropsValues/size.js.map +1 -1
- package/build/common/PropsValues/size.mjs.map +1 -1
- package/build/common/PropsValues/status.js.map +1 -1
- package/build/common/PropsValues/status.mjs.map +1 -1
- package/build/common/PropsValues/type.js.map +1 -1
- package/build/common/PropsValues/type.mjs.map +1 -1
- package/build/common/PropsValues/typography.js.map +1 -1
- package/build/common/PropsValues/typography.mjs.map +1 -1
- package/build/common/PropsValues/variant.js.map +1 -1
- package/build/common/PropsValues/variant.mjs.map +1 -1
- package/build/common/PropsValues/width.js.map +1 -1
- package/build/common/PropsValues/width.mjs.map +1 -1
- package/build/common/RadioButton/RadioButton.js.map +1 -1
- package/build/common/RadioButton/RadioButton.mjs.map +1 -1
- package/build/common/ResponsivePanel/ResponsivePanel.js.map +1 -1
- package/build/common/ResponsivePanel/ResponsivePanel.mjs.map +1 -1
- package/build/common/TextFormat/formatWithPattern/formatWithPattern.js.map +1 -1
- package/build/common/TextFormat/formatWithPattern/formatWithPattern.mjs.map +1 -1
- package/build/common/TextFormat/getCountOfSymbolsInSelection/getCountOfSymbolsInSelection.js.map +1 -1
- package/build/common/TextFormat/getCountOfSymbolsInSelection/getCountOfSymbolsInSelection.mjs.map +1 -1
- package/build/common/TextFormat/getCursorPositionAfterKeystroke/getCursorPositionAfterKeystroke.js.map +1 -1
- package/build/common/TextFormat/getCursorPositionAfterKeystroke/getCursorPositionAfterKeystroke.mjs.map +1 -1
- package/build/common/TextFormat/getDistanceToSymbol/getDistanceToSymbol.js.map +1 -1
- package/build/common/TextFormat/getDistanceToSymbol/getDistanceToSymbol.mjs.map +1 -1
- package/build/common/TextFormat/getSymbolsInPatternWithPosition/getSymbolsInPatternWithPosition.js.map +1 -1
- package/build/common/TextFormat/getSymbolsInPatternWithPosition/getSymbolsInPatternWithPosition.mjs.map +1 -1
- package/build/common/TextFormat/unformatWithPattern/unformatWithPattern.js.map +1 -1
- package/build/common/TextFormat/unformatWithPattern/unformatWithPattern.mjs.map +1 -1
- package/build/common/colors.js.map +1 -1
- package/build/common/colors.mjs.map +1 -1
- package/build/common/constants.js.map +1 -1
- package/build/common/constants.mjs.map +1 -1
- package/build/common/deviceDetection/deviceDetection.js.map +1 -1
- package/build/common/deviceDetection/deviceDetection.mjs.map +1 -1
- package/build/common/direction.js.map +1 -1
- package/build/common/direction.mjs.map +1 -1
- package/build/common/fileType.js.map +1 -1
- package/build/common/fileType.mjs.map +1 -1
- package/build/common/historyNavigator/historyNavigator.js.map +1 -1
- package/build/common/historyNavigator/historyNavigator.mjs.map +1 -1
- package/build/common/hooks/useConditionalListener/useConditionalListener.js.map +1 -1
- package/build/common/hooks/useConditionalListener/useConditionalListener.mjs.map +1 -1
- package/build/common/hooks/useContainerSize.js.map +1 -1
- package/build/common/hooks/useContainerSize.mjs.map +1 -1
- package/build/common/hooks/useDirection/useDirection.js.map +1 -1
- package/build/common/hooks/useDirection/useDirection.mjs.map +1 -1
- package/build/common/hooks/useEffectEvent.js.map +1 -1
- package/build/common/hooks/useEffectEvent.mjs.map +1 -1
- package/build/common/hooks/useHasIntersected/useHasIntersected.js.map +1 -1
- package/build/common/hooks/useHasIntersected/useHasIntersected.mjs.map +1 -1
- package/build/common/hooks/useLayout/useLayout.js.map +1 -1
- package/build/common/hooks/useLayout/useLayout.mjs.map +1 -1
- package/build/common/hooks/useMedia.js.map +1 -1
- package/build/common/hooks/useMedia.mjs.map +1 -1
- package/build/common/hooks/useResizeObserver.js.map +1 -1
- package/build/common/hooks/useResizeObserver.mjs.map +1 -1
- package/build/common/hooks/useScreenSize.js.map +1 -1
- package/build/common/hooks/useScreenSize.mjs.map +1 -1
- package/build/common/hooks/useVirtualKeyboard.js.map +1 -1
- package/build/common/hooks/useVirtualKeyboard.mjs.map +1 -1
- package/build/common/initials.js.map +1 -1
- package/build/common/initials.mjs.map +1 -1
- package/build/common/injectIntl.js.map +1 -1
- package/build/common/injectIntl.mjs.map +1 -1
- package/build/common/theme.js.map +1 -1
- package/build/common/theme.mjs.map +1 -1
- package/build/i18n/commonMessages/Button.messages.js.map +1 -1
- package/build/i18n/commonMessages/Button.messages.mjs.map +1 -1
- package/build/i18n/cs.json.js.map +1 -1
- package/build/i18n/cs.json.mjs.map +1 -1
- package/build/i18n/de.json.js.map +1 -1
- package/build/i18n/de.json.mjs.map +1 -1
- package/build/i18n/en.json.js.map +1 -1
- package/build/i18n/en.json.mjs.map +1 -1
- package/build/i18n/es.json.js.map +1 -1
- package/build/i18n/es.json.mjs.map +1 -1
- package/build/i18n/fr.json.js.map +1 -1
- package/build/i18n/fr.json.mjs.map +1 -1
- package/build/i18n/hu.json.js.map +1 -1
- package/build/i18n/hu.json.mjs.map +1 -1
- package/build/i18n/id.json.js.map +1 -1
- package/build/i18n/id.json.mjs.map +1 -1
- package/build/i18n/index.js.map +1 -1
- package/build/i18n/index.mjs.map +1 -1
- package/build/i18n/it.json.js.map +1 -1
- package/build/i18n/it.json.mjs.map +1 -1
- package/build/i18n/ja.json.js.map +1 -1
- package/build/i18n/ja.json.mjs.map +1 -1
- package/build/i18n/nl.json.js.map +1 -1
- package/build/i18n/nl.json.mjs.map +1 -1
- package/build/i18n/pl.json.js.map +1 -1
- package/build/i18n/pl.json.mjs.map +1 -1
- package/build/i18n/pt.json.js.map +1 -1
- package/build/i18n/pt.json.mjs.map +1 -1
- package/build/i18n/ro.json.js.map +1 -1
- package/build/i18n/ro.json.mjs.map +1 -1
- package/build/i18n/ru.json.js.map +1 -1
- package/build/i18n/ru.json.mjs.map +1 -1
- package/build/i18n/th.json.js.map +1 -1
- package/build/i18n/th.json.mjs.map +1 -1
- package/build/i18n/tr.json.js.map +1 -1
- package/build/i18n/tr.json.mjs.map +1 -1
- package/build/i18n/uk.json.js.map +1 -1
- package/build/i18n/uk.json.mjs.map +1 -1
- package/build/i18n/zh-CN.json.js.map +1 -1
- package/build/i18n/zh-CN.json.mjs.map +1 -1
- package/build/i18n/zh-HK.json.js.map +1 -1
- package/build/i18n/zh-HK.json.mjs.map +1 -1
- package/build/main.css +5 -6
- package/build/mocks.js.map +1 -1
- package/build/mocks.mjs.map +1 -1
- package/build/styles/FlowNavigation/FlowNavigation.css +5 -6
- package/build/styles/main.css +5 -6
- package/build/utilities/cssValueWithUnit.js.map +1 -1
- package/build/utilities/cssValueWithUnit.mjs.map +1 -1
- package/build/utilities/logActionRequired.js.map +1 -1
- package/build/utilities/logActionRequired.mjs.map +1 -1
- package/package.json +14 -14
- package/src/FlowNavigation/FlowNavigation.css +5 -6
- package/src/FlowNavigation/FlowNavigation.less +7 -8
- package/src/main.css +5 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhoneNumberInput.js","sources":["../../src/PhoneNumberInput/PhoneNumberInput.tsx"],"sourcesContent":["import { useState, useEffect, useMemo, useRef } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport { Size, SizeLarge, SizeMedium, SizeSmall } from '../common';\nimport { useFieldLabelRef, useInputAttributes } from '../Inputs/contexts';\nimport { useInputPaddings } from '../Inputs/InputGroup/InputGroup';\nimport { SelectInput, SelectInputOptionContent, SelectInputProps } from '../Inputs/SelectInput';\nimport messages from './PhoneNumberInput.messages';\nimport countries from './Data/countries';\nimport {\n explodeNumberModel,\n isValidPhoneNumber,\n cleanNumber,\n setDefaultPrefix,\n sortArrayByProperty,\n groupCountriesByPrefix,\n excludeCountries,\n findCountryByPrefix,\n} from './utils';\nimport { PhoneNumber } from './utils/explodeNumberModel';\nimport { Input } from '../Inputs/Input/Input';\n\nconst ALLOWED_PHONE_CHARS = /^$|^[\\d-\\s]+$/;\n\nexport interface PhoneNumberInputProps {\n id?: string;\n 'aria-labelledby'?: string;\n required?: boolean;\n disabled?: boolean;\n initialValue?: string;\n onChange: (value: string | null, prefix: string) => void;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: () => void;\n countryCode?: string;\n /** @default 'Prefix' */\n searchPlaceholder?: string;\n /** @default 'md' */\n size?: SizeSmall | SizeMedium | SizeLarge;\n placeholder?: string;\n /** @default {} */\n selectProps?: Partial<SelectInputProps<string | null>>;\n /**\n * List of iso3 codes of countries to remove from the list\n * @default []\n */\n disabledCountries?: readonly string[];\n}\n\nconst defaultSelectProps = {} satisfies PhoneNumberInputProps['selectProps'];\nconst defaultDisabledCountries = [] satisfies PhoneNumberInputProps['disabledCountries'];\n\nconst PhoneNumberInput = ({\n id,\n 'aria-labelledby': ariaLabelledByProp,\n required,\n disabled,\n initialValue,\n onChange,\n onFocus,\n onBlur,\n countryCode,\n searchPlaceholder,\n size = Size.MEDIUM,\n placeholder,\n selectProps = defaultSelectProps,\n disabledCountries = defaultDisabledCountries,\n}: PhoneNumberInputProps) => {\n const countryCodeSelectRef = useRef<HTMLButtonElement>(null);\n const phoneNumberInputRef = useRef<HTMLInputElement>(null);\n const inputAttributes = useInputAttributes({ nonLabelable: true });\n const { paddingInlineStart } = useInputPaddings();\n const hasInputGroupAddonStart = paddingInlineStart != null;\n const fieldLabelRef = useFieldLabelRef();\n const ariaLabelledBy = ariaLabelledByProp ?? inputAttributes['aria-labelledby'];\n\n const { locale, formatMessage } = useIntl();\n\n const [randomId] = useState(() => Math.random().toString(36).slice(2, 8));\n\n const createId = (customID: string | undefined, backup: string): string => {\n if (customID) {\n return customID + (backup ? `-${backup}` : '');\n }\n return `${backup}-${randomId}`;\n };\n\n // Link the first non-disabled input to the the Field label, if present\n const ids = {\n countryCode: {\n label: createId(id, 'country-code-label'),\n select: createId(id, 'country-code-select'),\n },\n phoneNumber: {\n label: createId(id, 'phone-number-label'),\n input: createId(id, id ? '' : 'phone-number-input'),\n },\n };\n\n const [internalValue, setInternalValue] = useState<PhoneNumber>(() => {\n const cleanValue = initialValue ? cleanNumber(initialValue) : null;\n\n if (!cleanValue || !isValidPhoneNumber(cleanValue, 1)) {\n return {\n prefix: setDefaultPrefix(locale, countryCode),\n suffix: '',\n };\n }\n\n return explodeNumberModel(cleanValue);\n });\n const broadcastedValueRef = useRef<PhoneNumber>(internalValue);\n\n const [suffixDirty, setSuffixDirty] = useState(false);\n\n useEffect(() => {\n if (!suffixDirty && internalValue.suffix) {\n // eslint-disable-next-line react-hooks/set-state-in-effect -- Tracking when suffix becomes dirty\n setSuffixDirty(true);\n }\n }, [internalValue.suffix, suffixDirty]);\n\n const countriesByPrefix = useMemo(\n () =>\n groupCountriesByPrefix(\n sortArrayByProperty(excludeCountries(countries, disabledCountries), 'iso3'),\n ),\n [disabledCountries],\n );\n\n const onSuffixChange: React.ChangeEventHandler<HTMLInputElement> = (event) => {\n const suffix = event.target.value;\n if (ALLOWED_PHONE_CHARS.test(suffix)) {\n setInternalValue((prev) => ({ ...prev, suffix }));\n }\n };\n\n const onPaste: React.ClipboardEventHandler<HTMLInputElement> = (event) => {\n if (!event.nativeEvent.clipboardData) {\n return;\n }\n\n const pastedValue = (event.nativeEvent.clipboardData.getData('text/plain') || '').replace(\n /(\\s|-)+/g,\n '',\n );\n const pastedNumber = explodeNumberModel(pastedValue);\n\n if (\n pastedNumber.prefix != null &&\n countriesByPrefix.has(pastedNumber.prefix) &&\n ALLOWED_PHONE_CHARS.test(pastedNumber.suffix)\n ) {\n setInternalValue(pastedNumber);\n }\n };\n\n useEffect(() => {\n const internalPhoneNumber = `${internalValue.prefix ?? ''}${internalValue.suffix}`;\n const broadcastedPhoneNumber = `${broadcastedValueRef.current.prefix ?? ''}${broadcastedValueRef.current.suffix}`;\n\n if (internalPhoneNumber === broadcastedPhoneNumber) {\n return;\n }\n\n const newValue = isValidPhoneNumber(internalPhoneNumber)\n ? cleanNumber(internalPhoneNumber)\n : null;\n\n onChange(\n newValue,\n internalValue.prefix ?? '', // TODO: Allow `null` in public API\n );\n broadcastedValueRef.current = internalValue;\n }, [onChange, internalValue]);\n\n useEffect(() => {\n const labelRef = fieldLabelRef?.current;\n\n if (labelRef) {\n const handleLabelClick = () => {\n if (!selectProps.disabled) {\n countryCodeSelectRef.current?.click();\n } else {\n phoneNumberInputRef.current?.focus();\n }\n };\n\n labelRef.addEventListener('click', handleLabelClick);\n\n return () => {\n labelRef?.removeEventListener('click', handleLabelClick);\n };\n }\n }, [fieldLabelRef, selectProps.disabled]);\n\n return (\n <fieldset {...inputAttributes} aria-labelledby={ariaLabelledBy} className=\"tw-telephone\">\n <label className=\"sr-only\" id={ids.countryCode.label} htmlFor={ids.countryCode.select}>\n {formatMessage(messages.countryCodeLabel)}\n </label>\n <div\n className={`tw-telephone__country-select${\n hasInputGroupAddonStart\n ? ' tw-telephone__country-select--with-input-group-addon-start'\n : ''\n }`}\n >\n <SelectInput\n triggerRef={countryCodeSelectRef}\n placeholder={formatMessage(messages.selectInputPlaceholder)}\n items={[...countriesByPrefix].map(([prefix, countries]) => ({\n type: 'option',\n value: prefix,\n filterMatchers: [\n prefix,\n ...countries.map((country) => country.name),\n ...countries.map((country) => country.iso3),\n ],\n }))}\n value={internalValue.prefix}\n renderValue={(prefix, withinTrigger) => (\n <SelectInputOptionContent\n title={prefix}\n note={\n withinTrigger\n ? undefined\n : countriesByPrefix\n .get(prefix)\n ?.map((country) => country.iso3)\n .join(', ')\n }\n />\n )}\n filterable\n filterPlaceholder={searchPlaceholder ?? formatMessage(messages.phoneNumberPrefix)}\n disabled={disabled}\n size={size}\n id={ids.countryCode.select}\n UNSAFE_triggerButtonProps={{\n id: ids.countryCode.select,\n 'aria-labelledby': ids.countryCode.label,\n 'aria-describedby': undefined,\n 'aria-invalid': undefined,\n }}\n onChange={(prefix) => {\n const country = prefix != null ? findCountryByPrefix(prefix) : null;\n setInternalValue((prev) => ({ ...prev, prefix, format: country?.phoneFormat }));\n }}\n onClose={() => {\n if (suffixDirty) {\n onBlur?.();\n }\n }}\n {...selectProps}\n />\n </div>\n <label className=\"sr-only\" id={ids.phoneNumber.label} htmlFor={ids.phoneNumber.input}>\n {formatMessage(messages.phoneNumberLabel)}\n </label>\n <div className=\"tw-telephone__number-input\">\n <div className={`input-group input-group-${size} ${disabled ? 'disabled' : ''}`}>\n <Input\n ref={phoneNumberInputRef}\n className=\"tw-telephone__number-input-field\"\n id={ids.phoneNumber.input}\n autoComplete=\"tel-national\"\n name=\"phoneNumber\"\n inputMode=\"numeric\"\n value={internalValue.suffix}\n disabled={disabled}\n required={required}\n placeholder={placeholder}\n aria-labelledby={ids.phoneNumber.label}\n onChange={onSuffixChange}\n onPaste={onPaste}\n onFocus={onFocus}\n onBlur={() => onBlur?.()}\n />\n </div>\n </div>\n </fieldset>\n );\n};\n\nexport default PhoneNumberInput;\n"],"names":["ALLOWED_PHONE_CHARS","defaultSelectProps","defaultDisabledCountries","PhoneNumberInput","id","ariaLabelledByProp","required","disabled","initialValue","onChange","onFocus","onBlur","countryCode","searchPlaceholder","size","Size","MEDIUM","placeholder","selectProps","disabledCountries","countryCodeSelectRef","useRef","phoneNumberInputRef","inputAttributes","useInputAttributes","nonLabelable","paddingInlineStart","useInputPaddings","hasInputGroupAddonStart","fieldLabelRef","useFieldLabelRef","ariaLabelledBy","locale","formatMessage","useIntl","randomId","useState","Math","random","toString","slice","createId","customID","backup","ids","label","select","phoneNumber","input","internalValue","setInternalValue","cleanValue","cleanNumber","isValidPhoneNumber","prefix","setDefaultPrefix","suffix","explodeNumberModel","broadcastedValueRef","suffixDirty","setSuffixDirty","useEffect","countriesByPrefix","useMemo","groupCountriesByPrefix","sortArrayByProperty","excludeCountries","countries","onSuffixChange","event","target","value","test","prev","onPaste","nativeEvent","clipboardData","pastedValue","getData","replace","pastedNumber","has","internalPhoneNumber","broadcastedPhoneNumber","current","newValue","labelRef","handleLabelClick","click","focus","addEventListener","removeEventListener","_jsxs","className","children","_jsx","htmlFor","messages","countryCodeLabel","SelectInput","triggerRef","selectInputPlaceholder","items","map","type","filterMatchers","country","name","iso3","renderValue","withinTrigger","SelectInputOptionContent","title","note","undefined","get","join","filterable","filterPlaceholder","phoneNumberPrefix","UNSAFE_triggerButtonProps","findCountryByPrefix","format","phoneFormat","onClose","phoneNumberLabel","Input","ref","autoComplete","inputMode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PhoneNumberInput.js","sources":["../../src/PhoneNumberInput/PhoneNumberInput.tsx"],"sourcesContent":["import { useState, useEffect, useMemo, useRef } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport { Size, SizeLarge, SizeMedium, SizeSmall } from '../common';\nimport { useFieldLabelRef, useInputAttributes } from '../Inputs/contexts';\nimport { useInputPaddings } from '../Inputs/InputGroup/InputGroup';\nimport { SelectInput, SelectInputOptionContent, SelectInputProps } from '../Inputs/SelectInput';\nimport messages from './PhoneNumberInput.messages';\nimport countries from './Data/countries';\nimport {\n explodeNumberModel,\n isValidPhoneNumber,\n cleanNumber,\n setDefaultPrefix,\n sortArrayByProperty,\n groupCountriesByPrefix,\n excludeCountries,\n findCountryByPrefix,\n} from './utils';\nimport { PhoneNumber } from './utils/explodeNumberModel';\nimport { Input } from '../Inputs/Input/Input';\n\nconst ALLOWED_PHONE_CHARS = /^$|^[\\d-\\s]+$/;\n\nexport interface PhoneNumberInputProps {\n id?: string;\n 'aria-labelledby'?: string;\n required?: boolean;\n disabled?: boolean;\n initialValue?: string;\n onChange: (value: string | null, prefix: string) => void;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: () => void;\n countryCode?: string;\n /** @default 'Prefix' */\n searchPlaceholder?: string;\n /** @default 'md' */\n size?: SizeSmall | SizeMedium | SizeLarge;\n placeholder?: string;\n /** @default {} */\n selectProps?: Partial<SelectInputProps<string | null>>;\n /**\n * List of iso3 codes of countries to remove from the list\n * @default []\n */\n disabledCountries?: readonly string[];\n}\n\nconst defaultSelectProps = {} satisfies PhoneNumberInputProps['selectProps'];\nconst defaultDisabledCountries = [] satisfies PhoneNumberInputProps['disabledCountries'];\n\nconst PhoneNumberInput = ({\n id,\n 'aria-labelledby': ariaLabelledByProp,\n required,\n disabled,\n initialValue,\n onChange,\n onFocus,\n onBlur,\n countryCode,\n searchPlaceholder,\n size = Size.MEDIUM,\n placeholder,\n selectProps = defaultSelectProps,\n disabledCountries = defaultDisabledCountries,\n}: PhoneNumberInputProps) => {\n const countryCodeSelectRef = useRef<HTMLButtonElement>(null);\n const phoneNumberInputRef = useRef<HTMLInputElement>(null);\n const inputAttributes = useInputAttributes({ nonLabelable: true });\n const { paddingInlineStart } = useInputPaddings();\n const hasInputGroupAddonStart = paddingInlineStart != null;\n const fieldLabelRef = useFieldLabelRef();\n const ariaLabelledBy = ariaLabelledByProp ?? inputAttributes['aria-labelledby'];\n\n const { locale, formatMessage } = useIntl();\n\n const [randomId] = useState(() => Math.random().toString(36).slice(2, 8));\n\n const createId = (customID: string | undefined, backup: string): string => {\n if (customID) {\n return customID + (backup ? `-${backup}` : '');\n }\n return `${backup}-${randomId}`;\n };\n\n // Link the first non-disabled input to the the Field label, if present\n const ids = {\n countryCode: {\n label: createId(id, 'country-code-label'),\n select: createId(id, 'country-code-select'),\n },\n phoneNumber: {\n label: createId(id, 'phone-number-label'),\n input: createId(id, id ? '' : 'phone-number-input'),\n },\n };\n\n const [internalValue, setInternalValue] = useState<PhoneNumber>(() => {\n const cleanValue = initialValue ? cleanNumber(initialValue) : null;\n\n if (!cleanValue || !isValidPhoneNumber(cleanValue, 1)) {\n return {\n prefix: setDefaultPrefix(locale, countryCode),\n suffix: '',\n };\n }\n\n return explodeNumberModel(cleanValue);\n });\n const broadcastedValueRef = useRef<PhoneNumber>(internalValue);\n\n const [suffixDirty, setSuffixDirty] = useState(false);\n\n useEffect(() => {\n if (!suffixDirty && internalValue.suffix) {\n // eslint-disable-next-line react-hooks/set-state-in-effect -- Tracking when suffix becomes dirty\n setSuffixDirty(true);\n }\n }, [internalValue.suffix, suffixDirty]);\n\n const countriesByPrefix = useMemo(\n () =>\n groupCountriesByPrefix(\n sortArrayByProperty(excludeCountries(countries, disabledCountries), 'iso3'),\n ),\n [disabledCountries],\n );\n\n const onSuffixChange: React.ChangeEventHandler<HTMLInputElement> = (event) => {\n const suffix = event.target.value;\n if (ALLOWED_PHONE_CHARS.test(suffix)) {\n setInternalValue((prev) => ({ ...prev, suffix }));\n }\n };\n\n const onPaste: React.ClipboardEventHandler<HTMLInputElement> = (event) => {\n if (!event.nativeEvent.clipboardData) {\n return;\n }\n\n const pastedValue = (event.nativeEvent.clipboardData.getData('text/plain') || '').replace(\n /(\\s|-)+/g,\n '',\n );\n const pastedNumber = explodeNumberModel(pastedValue);\n\n if (\n pastedNumber.prefix != null &&\n countriesByPrefix.has(pastedNumber.prefix) &&\n ALLOWED_PHONE_CHARS.test(pastedNumber.suffix)\n ) {\n setInternalValue(pastedNumber);\n }\n };\n\n useEffect(() => {\n const internalPhoneNumber = `${internalValue.prefix ?? ''}${internalValue.suffix}`;\n const broadcastedPhoneNumber = `${broadcastedValueRef.current.prefix ?? ''}${broadcastedValueRef.current.suffix}`;\n\n if (internalPhoneNumber === broadcastedPhoneNumber) {\n return;\n }\n\n const newValue = isValidPhoneNumber(internalPhoneNumber)\n ? cleanNumber(internalPhoneNumber)\n : null;\n\n onChange(\n newValue,\n internalValue.prefix ?? '', // TODO: Allow `null` in public API\n );\n broadcastedValueRef.current = internalValue;\n }, [onChange, internalValue]);\n\n useEffect(() => {\n const labelRef = fieldLabelRef?.current;\n\n if (labelRef) {\n const handleLabelClick = () => {\n if (!selectProps.disabled) {\n countryCodeSelectRef.current?.click();\n } else {\n phoneNumberInputRef.current?.focus();\n }\n };\n\n labelRef.addEventListener('click', handleLabelClick);\n\n return () => {\n labelRef?.removeEventListener('click', handleLabelClick);\n };\n }\n }, [fieldLabelRef, selectProps.disabled]);\n\n return (\n <fieldset {...inputAttributes} aria-labelledby={ariaLabelledBy} className=\"tw-telephone\">\n <label className=\"sr-only\" id={ids.countryCode.label} htmlFor={ids.countryCode.select}>\n {formatMessage(messages.countryCodeLabel)}\n </label>\n <div\n className={`tw-telephone__country-select${\n hasInputGroupAddonStart\n ? ' tw-telephone__country-select--with-input-group-addon-start'\n : ''\n }`}\n >\n <SelectInput\n triggerRef={countryCodeSelectRef}\n placeholder={formatMessage(messages.selectInputPlaceholder)}\n items={[...countriesByPrefix].map(([prefix, countries]) => ({\n type: 'option',\n value: prefix,\n filterMatchers: [\n prefix,\n ...countries.map((country) => country.name),\n ...countries.map((country) => country.iso3),\n ],\n }))}\n value={internalValue.prefix}\n renderValue={(prefix, withinTrigger) => (\n <SelectInputOptionContent\n title={prefix}\n note={\n withinTrigger\n ? undefined\n : countriesByPrefix\n .get(prefix)\n ?.map((country) => country.iso3)\n .join(', ')\n }\n />\n )}\n filterable\n filterPlaceholder={searchPlaceholder ?? formatMessage(messages.phoneNumberPrefix)}\n disabled={disabled}\n size={size}\n id={ids.countryCode.select}\n UNSAFE_triggerButtonProps={{\n id: ids.countryCode.select,\n 'aria-labelledby': ids.countryCode.label,\n 'aria-describedby': undefined,\n 'aria-invalid': undefined,\n }}\n onChange={(prefix) => {\n const country = prefix != null ? findCountryByPrefix(prefix) : null;\n setInternalValue((prev) => ({ ...prev, prefix, format: country?.phoneFormat }));\n }}\n onClose={() => {\n if (suffixDirty) {\n onBlur?.();\n }\n }}\n {...selectProps}\n />\n </div>\n <label className=\"sr-only\" id={ids.phoneNumber.label} htmlFor={ids.phoneNumber.input}>\n {formatMessage(messages.phoneNumberLabel)}\n </label>\n <div className=\"tw-telephone__number-input\">\n <div className={`input-group input-group-${size} ${disabled ? 'disabled' : ''}`}>\n <Input\n ref={phoneNumberInputRef}\n className=\"tw-telephone__number-input-field\"\n id={ids.phoneNumber.input}\n autoComplete=\"tel-national\"\n name=\"phoneNumber\"\n inputMode=\"numeric\"\n value={internalValue.suffix}\n disabled={disabled}\n required={required}\n placeholder={placeholder}\n aria-labelledby={ids.phoneNumber.label}\n onChange={onSuffixChange}\n onPaste={onPaste}\n onFocus={onFocus}\n onBlur={() => onBlur?.()}\n />\n </div>\n </div>\n </fieldset>\n );\n};\n\nexport default PhoneNumberInput;\n"],"names":["ALLOWED_PHONE_CHARS","defaultSelectProps","defaultDisabledCountries","PhoneNumberInput","id","ariaLabelledByProp","required","disabled","initialValue","onChange","onFocus","onBlur","countryCode","searchPlaceholder","size","Size","MEDIUM","placeholder","selectProps","disabledCountries","countryCodeSelectRef","useRef","phoneNumberInputRef","inputAttributes","useInputAttributes","nonLabelable","paddingInlineStart","useInputPaddings","hasInputGroupAddonStart","fieldLabelRef","useFieldLabelRef","ariaLabelledBy","locale","formatMessage","useIntl","randomId","useState","Math","random","toString","slice","createId","customID","backup","ids","label","select","phoneNumber","input","internalValue","setInternalValue","cleanValue","cleanNumber","isValidPhoneNumber","prefix","setDefaultPrefix","suffix","explodeNumberModel","broadcastedValueRef","suffixDirty","setSuffixDirty","useEffect","countriesByPrefix","useMemo","groupCountriesByPrefix","sortArrayByProperty","excludeCountries","countries","onSuffixChange","event","target","value","test","prev","onPaste","nativeEvent","clipboardData","pastedValue","getData","replace","pastedNumber","has","internalPhoneNumber","broadcastedPhoneNumber","current","newValue","labelRef","handleLabelClick","click","focus","addEventListener","removeEventListener","_jsxs","className","children","_jsx","htmlFor","messages","countryCodeLabel","SelectInput","triggerRef","selectInputPlaceholder","items","map","type","filterMatchers","country","name","iso3","renderValue","withinTrigger","SelectInputOptionContent","title","note","undefined","get","join","filterable","filterPlaceholder","phoneNumberPrefix","UNSAFE_triggerButtonProps","findCountryByPrefix","format","phoneFormat","onClose","phoneNumberLabel","Input","ref","autoComplete","inputMode"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhoneNumberInput.messages.js","sources":["../../src/PhoneNumberInput/PhoneNumberInput.messages.ts"],"sourcesContent":["import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n selectInputPlaceholder: {\n id: 'neptune.PhoneNumberInput.SelectInput.placeholder',\n defaultMessage: 'Select an option...',\n },\n countryCodeLabel: {\n id: 'neptune.PhoneNumberInput.countryCodeLabel',\n defaultMessage: 'Country code',\n },\n phoneNumberLabel: {\n id: 'neptune.PhoneNumberInput.phoneNumberLabel',\n defaultMessage: 'Phone number',\n },\n phoneNumberPrefix: {\n id: 'neptune.PhoneNumberInput.phoneNumberPrefix',\n defaultMessage: 'Prefix',\n description: 'phone number prefix / country code',\n },\n});\n"],"names":["defineMessages","selectInputPlaceholder","id","countryCodeLabel","phoneNumberLabel","phoneNumberPrefix"],"mappings":";;;;;;AAEA,eAAeA,wBAAc,CAAC;AAC5BC,EAAAA,sBAAsB,EAAE;IACtBC,EAAE,EAAA;GAEH;AACDC,EAAAA,gBAAgB,EAAE;IAChBD,EAAE,EAAA;GAEH;AACDE,EAAAA,gBAAgB,EAAE;IAChBF,EAAE,EAAA;GAEH;AACDG,EAAAA,iBAAiB,EAAE;IACjBH,EAAE,EAAA;AAGH;AACF,CAAA,CAAC
|
|
1
|
+
{"version":3,"file":"PhoneNumberInput.messages.js","sources":["../../src/PhoneNumberInput/PhoneNumberInput.messages.ts"],"sourcesContent":["import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n selectInputPlaceholder: {\n id: 'neptune.PhoneNumberInput.SelectInput.placeholder',\n defaultMessage: 'Select an option...',\n },\n countryCodeLabel: {\n id: 'neptune.PhoneNumberInput.countryCodeLabel',\n defaultMessage: 'Country code',\n },\n phoneNumberLabel: {\n id: 'neptune.PhoneNumberInput.phoneNumberLabel',\n defaultMessage: 'Phone number',\n },\n phoneNumberPrefix: {\n id: 'neptune.PhoneNumberInput.phoneNumberPrefix',\n defaultMessage: 'Prefix',\n description: 'phone number prefix / country code',\n },\n});\n"],"names":["defineMessages","selectInputPlaceholder","id","countryCodeLabel","phoneNumberLabel","phoneNumberPrefix"],"mappings":";;;;;;AAEA,eAAeA,wBAAc,CAAC;AAC5BC,EAAAA,sBAAsB,EAAE;IACtBC,EAAE,EAAA;GAEH;AACDC,EAAAA,gBAAgB,EAAE;IAChBD,EAAE,EAAA;GAEH;AACDE,EAAAA,gBAAgB,EAAE;IAChBF,EAAE,EAAA;GAEH;AACDG,EAAAA,iBAAiB,EAAE;IACjBH,EAAE,EAAA;AAGH;AACF,CAAA,CAAC;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhoneNumberInput.messages.mjs","sources":["../../src/PhoneNumberInput/PhoneNumberInput.messages.ts"],"sourcesContent":["import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n selectInputPlaceholder: {\n id: 'neptune.PhoneNumberInput.SelectInput.placeholder',\n defaultMessage: 'Select an option...',\n },\n countryCodeLabel: {\n id: 'neptune.PhoneNumberInput.countryCodeLabel',\n defaultMessage: 'Country code',\n },\n phoneNumberLabel: {\n id: 'neptune.PhoneNumberInput.phoneNumberLabel',\n defaultMessage: 'Phone number',\n },\n phoneNumberPrefix: {\n id: 'neptune.PhoneNumberInput.phoneNumberPrefix',\n defaultMessage: 'Prefix',\n description: 'phone number prefix / country code',\n },\n});\n"],"names":["defineMessages","selectInputPlaceholder","id","countryCodeLabel","phoneNumberLabel","phoneNumberPrefix"],"mappings":";;AAEA,eAAeA,cAAc,CAAC;AAC5BC,EAAAA,sBAAsB,EAAE;IACtBC,EAAE,EAAA;GAEH;AACDC,EAAAA,gBAAgB,EAAE;IAChBD,EAAE,EAAA;GAEH;AACDE,EAAAA,gBAAgB,EAAE;IAChBF,EAAE,EAAA;GAEH;AACDG,EAAAA,iBAAiB,EAAE;IACjBH,EAAE,EAAA;AAGH;AACF,CAAA,CAAC
|
|
1
|
+
{"version":3,"file":"PhoneNumberInput.messages.mjs","sources":["../../src/PhoneNumberInput/PhoneNumberInput.messages.ts"],"sourcesContent":["import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n selectInputPlaceholder: {\n id: 'neptune.PhoneNumberInput.SelectInput.placeholder',\n defaultMessage: 'Select an option...',\n },\n countryCodeLabel: {\n id: 'neptune.PhoneNumberInput.countryCodeLabel',\n defaultMessage: 'Country code',\n },\n phoneNumberLabel: {\n id: 'neptune.PhoneNumberInput.phoneNumberLabel',\n defaultMessage: 'Phone number',\n },\n phoneNumberPrefix: {\n id: 'neptune.PhoneNumberInput.phoneNumberPrefix',\n defaultMessage: 'Prefix',\n description: 'phone number prefix / country code',\n },\n});\n"],"names":["defineMessages","selectInputPlaceholder","id","countryCodeLabel","phoneNumberLabel","phoneNumberPrefix"],"mappings":";;AAEA,eAAeA,cAAc,CAAC;AAC5BC,EAAAA,sBAAsB,EAAE;IACtBC,EAAE,EAAA;GAEH;AACDC,EAAAA,gBAAgB,EAAE;IAChBD,EAAE,EAAA;GAEH;AACDE,EAAAA,gBAAgB,EAAE;IAChBF,EAAE,EAAA;GAEH;AACDG,EAAAA,iBAAiB,EAAE;IACjBH,EAAE,EAAA;AAGH;AACF,CAAA,CAAC;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhoneNumberInput.mjs","sources":["../../src/PhoneNumberInput/PhoneNumberInput.tsx"],"sourcesContent":["import { useState, useEffect, useMemo, useRef } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport { Size, SizeLarge, SizeMedium, SizeSmall } from '../common';\nimport { useFieldLabelRef, useInputAttributes } from '../Inputs/contexts';\nimport { useInputPaddings } from '../Inputs/InputGroup/InputGroup';\nimport { SelectInput, SelectInputOptionContent, SelectInputProps } from '../Inputs/SelectInput';\nimport messages from './PhoneNumberInput.messages';\nimport countries from './Data/countries';\nimport {\n explodeNumberModel,\n isValidPhoneNumber,\n cleanNumber,\n setDefaultPrefix,\n sortArrayByProperty,\n groupCountriesByPrefix,\n excludeCountries,\n findCountryByPrefix,\n} from './utils';\nimport { PhoneNumber } from './utils/explodeNumberModel';\nimport { Input } from '../Inputs/Input/Input';\n\nconst ALLOWED_PHONE_CHARS = /^$|^[\\d-\\s]+$/;\n\nexport interface PhoneNumberInputProps {\n id?: string;\n 'aria-labelledby'?: string;\n required?: boolean;\n disabled?: boolean;\n initialValue?: string;\n onChange: (value: string | null, prefix: string) => void;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: () => void;\n countryCode?: string;\n /** @default 'Prefix' */\n searchPlaceholder?: string;\n /** @default 'md' */\n size?: SizeSmall | SizeMedium | SizeLarge;\n placeholder?: string;\n /** @default {} */\n selectProps?: Partial<SelectInputProps<string | null>>;\n /**\n * List of iso3 codes of countries to remove from the list\n * @default []\n */\n disabledCountries?: readonly string[];\n}\n\nconst defaultSelectProps = {} satisfies PhoneNumberInputProps['selectProps'];\nconst defaultDisabledCountries = [] satisfies PhoneNumberInputProps['disabledCountries'];\n\nconst PhoneNumberInput = ({\n id,\n 'aria-labelledby': ariaLabelledByProp,\n required,\n disabled,\n initialValue,\n onChange,\n onFocus,\n onBlur,\n countryCode,\n searchPlaceholder,\n size = Size.MEDIUM,\n placeholder,\n selectProps = defaultSelectProps,\n disabledCountries = defaultDisabledCountries,\n}: PhoneNumberInputProps) => {\n const countryCodeSelectRef = useRef<HTMLButtonElement>(null);\n const phoneNumberInputRef = useRef<HTMLInputElement>(null);\n const inputAttributes = useInputAttributes({ nonLabelable: true });\n const { paddingInlineStart } = useInputPaddings();\n const hasInputGroupAddonStart = paddingInlineStart != null;\n const fieldLabelRef = useFieldLabelRef();\n const ariaLabelledBy = ariaLabelledByProp ?? inputAttributes['aria-labelledby'];\n\n const { locale, formatMessage } = useIntl();\n\n const [randomId] = useState(() => Math.random().toString(36).slice(2, 8));\n\n const createId = (customID: string | undefined, backup: string): string => {\n if (customID) {\n return customID + (backup ? `-${backup}` : '');\n }\n return `${backup}-${randomId}`;\n };\n\n // Link the first non-disabled input to the the Field label, if present\n const ids = {\n countryCode: {\n label: createId(id, 'country-code-label'),\n select: createId(id, 'country-code-select'),\n },\n phoneNumber: {\n label: createId(id, 'phone-number-label'),\n input: createId(id, id ? '' : 'phone-number-input'),\n },\n };\n\n const [internalValue, setInternalValue] = useState<PhoneNumber>(() => {\n const cleanValue = initialValue ? cleanNumber(initialValue) : null;\n\n if (!cleanValue || !isValidPhoneNumber(cleanValue, 1)) {\n return {\n prefix: setDefaultPrefix(locale, countryCode),\n suffix: '',\n };\n }\n\n return explodeNumberModel(cleanValue);\n });\n const broadcastedValueRef = useRef<PhoneNumber>(internalValue);\n\n const [suffixDirty, setSuffixDirty] = useState(false);\n\n useEffect(() => {\n if (!suffixDirty && internalValue.suffix) {\n // eslint-disable-next-line react-hooks/set-state-in-effect -- Tracking when suffix becomes dirty\n setSuffixDirty(true);\n }\n }, [internalValue.suffix, suffixDirty]);\n\n const countriesByPrefix = useMemo(\n () =>\n groupCountriesByPrefix(\n sortArrayByProperty(excludeCountries(countries, disabledCountries), 'iso3'),\n ),\n [disabledCountries],\n );\n\n const onSuffixChange: React.ChangeEventHandler<HTMLInputElement> = (event) => {\n const suffix = event.target.value;\n if (ALLOWED_PHONE_CHARS.test(suffix)) {\n setInternalValue((prev) => ({ ...prev, suffix }));\n }\n };\n\n const onPaste: React.ClipboardEventHandler<HTMLInputElement> = (event) => {\n if (!event.nativeEvent.clipboardData) {\n return;\n }\n\n const pastedValue = (event.nativeEvent.clipboardData.getData('text/plain') || '').replace(\n /(\\s|-)+/g,\n '',\n );\n const pastedNumber = explodeNumberModel(pastedValue);\n\n if (\n pastedNumber.prefix != null &&\n countriesByPrefix.has(pastedNumber.prefix) &&\n ALLOWED_PHONE_CHARS.test(pastedNumber.suffix)\n ) {\n setInternalValue(pastedNumber);\n }\n };\n\n useEffect(() => {\n const internalPhoneNumber = `${internalValue.prefix ?? ''}${internalValue.suffix}`;\n const broadcastedPhoneNumber = `${broadcastedValueRef.current.prefix ?? ''}${broadcastedValueRef.current.suffix}`;\n\n if (internalPhoneNumber === broadcastedPhoneNumber) {\n return;\n }\n\n const newValue = isValidPhoneNumber(internalPhoneNumber)\n ? cleanNumber(internalPhoneNumber)\n : null;\n\n onChange(\n newValue,\n internalValue.prefix ?? '', // TODO: Allow `null` in public API\n );\n broadcastedValueRef.current = internalValue;\n }, [onChange, internalValue]);\n\n useEffect(() => {\n const labelRef = fieldLabelRef?.current;\n\n if (labelRef) {\n const handleLabelClick = () => {\n if (!selectProps.disabled) {\n countryCodeSelectRef.current?.click();\n } else {\n phoneNumberInputRef.current?.focus();\n }\n };\n\n labelRef.addEventListener('click', handleLabelClick);\n\n return () => {\n labelRef?.removeEventListener('click', handleLabelClick);\n };\n }\n }, [fieldLabelRef, selectProps.disabled]);\n\n return (\n <fieldset {...inputAttributes} aria-labelledby={ariaLabelledBy} className=\"tw-telephone\">\n <label className=\"sr-only\" id={ids.countryCode.label} htmlFor={ids.countryCode.select}>\n {formatMessage(messages.countryCodeLabel)}\n </label>\n <div\n className={`tw-telephone__country-select${\n hasInputGroupAddonStart\n ? ' tw-telephone__country-select--with-input-group-addon-start'\n : ''\n }`}\n >\n <SelectInput\n triggerRef={countryCodeSelectRef}\n placeholder={formatMessage(messages.selectInputPlaceholder)}\n items={[...countriesByPrefix].map(([prefix, countries]) => ({\n type: 'option',\n value: prefix,\n filterMatchers: [\n prefix,\n ...countries.map((country) => country.name),\n ...countries.map((country) => country.iso3),\n ],\n }))}\n value={internalValue.prefix}\n renderValue={(prefix, withinTrigger) => (\n <SelectInputOptionContent\n title={prefix}\n note={\n withinTrigger\n ? undefined\n : countriesByPrefix\n .get(prefix)\n ?.map((country) => country.iso3)\n .join(', ')\n }\n />\n )}\n filterable\n filterPlaceholder={searchPlaceholder ?? formatMessage(messages.phoneNumberPrefix)}\n disabled={disabled}\n size={size}\n id={ids.countryCode.select}\n UNSAFE_triggerButtonProps={{\n id: ids.countryCode.select,\n 'aria-labelledby': ids.countryCode.label,\n 'aria-describedby': undefined,\n 'aria-invalid': undefined,\n }}\n onChange={(prefix) => {\n const country = prefix != null ? findCountryByPrefix(prefix) : null;\n setInternalValue((prev) => ({ ...prev, prefix, format: country?.phoneFormat }));\n }}\n onClose={() => {\n if (suffixDirty) {\n onBlur?.();\n }\n }}\n {...selectProps}\n />\n </div>\n <label className=\"sr-only\" id={ids.phoneNumber.label} htmlFor={ids.phoneNumber.input}>\n {formatMessage(messages.phoneNumberLabel)}\n </label>\n <div className=\"tw-telephone__number-input\">\n <div className={`input-group input-group-${size} ${disabled ? 'disabled' : ''}`}>\n <Input\n ref={phoneNumberInputRef}\n className=\"tw-telephone__number-input-field\"\n id={ids.phoneNumber.input}\n autoComplete=\"tel-national\"\n name=\"phoneNumber\"\n inputMode=\"numeric\"\n value={internalValue.suffix}\n disabled={disabled}\n required={required}\n placeholder={placeholder}\n aria-labelledby={ids.phoneNumber.label}\n onChange={onSuffixChange}\n onPaste={onPaste}\n onFocus={onFocus}\n onBlur={() => onBlur?.()}\n />\n </div>\n </div>\n </fieldset>\n );\n};\n\nexport default PhoneNumberInput;\n"],"names":["ALLOWED_PHONE_CHARS","defaultSelectProps","defaultDisabledCountries","PhoneNumberInput","id","ariaLabelledByProp","required","disabled","initialValue","onChange","onFocus","onBlur","countryCode","searchPlaceholder","size","Size","MEDIUM","placeholder","selectProps","disabledCountries","countryCodeSelectRef","useRef","phoneNumberInputRef","inputAttributes","useInputAttributes","nonLabelable","paddingInlineStart","useInputPaddings","hasInputGroupAddonStart","fieldLabelRef","useFieldLabelRef","ariaLabelledBy","locale","formatMessage","useIntl","randomId","useState","Math","random","toString","slice","createId","customID","backup","ids","label","select","phoneNumber","input","internalValue","setInternalValue","cleanValue","cleanNumber","isValidPhoneNumber","prefix","setDefaultPrefix","suffix","explodeNumberModel","broadcastedValueRef","suffixDirty","setSuffixDirty","useEffect","countriesByPrefix","useMemo","groupCountriesByPrefix","sortArrayByProperty","excludeCountries","countries","onSuffixChange","event","target","value","test","prev","onPaste","nativeEvent","clipboardData","pastedValue","getData","replace","pastedNumber","has","internalPhoneNumber","broadcastedPhoneNumber","current","newValue","labelRef","handleLabelClick","click","focus","addEventListener","removeEventListener","_jsxs","className","children","_jsx","htmlFor","messages","countryCodeLabel","SelectInput","triggerRef","selectInputPlaceholder","items","map","type","filterMatchers","country","name","iso3","renderValue","withinTrigger","SelectInputOptionContent","title","note","undefined","get","join","filterable","filterPlaceholder","phoneNumberPrefix","UNSAFE_triggerButtonProps","findCountryByPrefix","format","phoneFormat","onClose","phoneNumberLabel","Input","ref","autoComplete","inputMode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PhoneNumberInput.mjs","sources":["../../src/PhoneNumberInput/PhoneNumberInput.tsx"],"sourcesContent":["import { useState, useEffect, useMemo, useRef } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport { Size, SizeLarge, SizeMedium, SizeSmall } from '../common';\nimport { useFieldLabelRef, useInputAttributes } from '../Inputs/contexts';\nimport { useInputPaddings } from '../Inputs/InputGroup/InputGroup';\nimport { SelectInput, SelectInputOptionContent, SelectInputProps } from '../Inputs/SelectInput';\nimport messages from './PhoneNumberInput.messages';\nimport countries from './Data/countries';\nimport {\n explodeNumberModel,\n isValidPhoneNumber,\n cleanNumber,\n setDefaultPrefix,\n sortArrayByProperty,\n groupCountriesByPrefix,\n excludeCountries,\n findCountryByPrefix,\n} from './utils';\nimport { PhoneNumber } from './utils/explodeNumberModel';\nimport { Input } from '../Inputs/Input/Input';\n\nconst ALLOWED_PHONE_CHARS = /^$|^[\\d-\\s]+$/;\n\nexport interface PhoneNumberInputProps {\n id?: string;\n 'aria-labelledby'?: string;\n required?: boolean;\n disabled?: boolean;\n initialValue?: string;\n onChange: (value: string | null, prefix: string) => void;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: () => void;\n countryCode?: string;\n /** @default 'Prefix' */\n searchPlaceholder?: string;\n /** @default 'md' */\n size?: SizeSmall | SizeMedium | SizeLarge;\n placeholder?: string;\n /** @default {} */\n selectProps?: Partial<SelectInputProps<string | null>>;\n /**\n * List of iso3 codes of countries to remove from the list\n * @default []\n */\n disabledCountries?: readonly string[];\n}\n\nconst defaultSelectProps = {} satisfies PhoneNumberInputProps['selectProps'];\nconst defaultDisabledCountries = [] satisfies PhoneNumberInputProps['disabledCountries'];\n\nconst PhoneNumberInput = ({\n id,\n 'aria-labelledby': ariaLabelledByProp,\n required,\n disabled,\n initialValue,\n onChange,\n onFocus,\n onBlur,\n countryCode,\n searchPlaceholder,\n size = Size.MEDIUM,\n placeholder,\n selectProps = defaultSelectProps,\n disabledCountries = defaultDisabledCountries,\n}: PhoneNumberInputProps) => {\n const countryCodeSelectRef = useRef<HTMLButtonElement>(null);\n const phoneNumberInputRef = useRef<HTMLInputElement>(null);\n const inputAttributes = useInputAttributes({ nonLabelable: true });\n const { paddingInlineStart } = useInputPaddings();\n const hasInputGroupAddonStart = paddingInlineStart != null;\n const fieldLabelRef = useFieldLabelRef();\n const ariaLabelledBy = ariaLabelledByProp ?? inputAttributes['aria-labelledby'];\n\n const { locale, formatMessage } = useIntl();\n\n const [randomId] = useState(() => Math.random().toString(36).slice(2, 8));\n\n const createId = (customID: string | undefined, backup: string): string => {\n if (customID) {\n return customID + (backup ? `-${backup}` : '');\n }\n return `${backup}-${randomId}`;\n };\n\n // Link the first non-disabled input to the the Field label, if present\n const ids = {\n countryCode: {\n label: createId(id, 'country-code-label'),\n select: createId(id, 'country-code-select'),\n },\n phoneNumber: {\n label: createId(id, 'phone-number-label'),\n input: createId(id, id ? '' : 'phone-number-input'),\n },\n };\n\n const [internalValue, setInternalValue] = useState<PhoneNumber>(() => {\n const cleanValue = initialValue ? cleanNumber(initialValue) : null;\n\n if (!cleanValue || !isValidPhoneNumber(cleanValue, 1)) {\n return {\n prefix: setDefaultPrefix(locale, countryCode),\n suffix: '',\n };\n }\n\n return explodeNumberModel(cleanValue);\n });\n const broadcastedValueRef = useRef<PhoneNumber>(internalValue);\n\n const [suffixDirty, setSuffixDirty] = useState(false);\n\n useEffect(() => {\n if (!suffixDirty && internalValue.suffix) {\n // eslint-disable-next-line react-hooks/set-state-in-effect -- Tracking when suffix becomes dirty\n setSuffixDirty(true);\n }\n }, [internalValue.suffix, suffixDirty]);\n\n const countriesByPrefix = useMemo(\n () =>\n groupCountriesByPrefix(\n sortArrayByProperty(excludeCountries(countries, disabledCountries), 'iso3'),\n ),\n [disabledCountries],\n );\n\n const onSuffixChange: React.ChangeEventHandler<HTMLInputElement> = (event) => {\n const suffix = event.target.value;\n if (ALLOWED_PHONE_CHARS.test(suffix)) {\n setInternalValue((prev) => ({ ...prev, suffix }));\n }\n };\n\n const onPaste: React.ClipboardEventHandler<HTMLInputElement> = (event) => {\n if (!event.nativeEvent.clipboardData) {\n return;\n }\n\n const pastedValue = (event.nativeEvent.clipboardData.getData('text/plain') || '').replace(\n /(\\s|-)+/g,\n '',\n );\n const pastedNumber = explodeNumberModel(pastedValue);\n\n if (\n pastedNumber.prefix != null &&\n countriesByPrefix.has(pastedNumber.prefix) &&\n ALLOWED_PHONE_CHARS.test(pastedNumber.suffix)\n ) {\n setInternalValue(pastedNumber);\n }\n };\n\n useEffect(() => {\n const internalPhoneNumber = `${internalValue.prefix ?? ''}${internalValue.suffix}`;\n const broadcastedPhoneNumber = `${broadcastedValueRef.current.prefix ?? ''}${broadcastedValueRef.current.suffix}`;\n\n if (internalPhoneNumber === broadcastedPhoneNumber) {\n return;\n }\n\n const newValue = isValidPhoneNumber(internalPhoneNumber)\n ? cleanNumber(internalPhoneNumber)\n : null;\n\n onChange(\n newValue,\n internalValue.prefix ?? '', // TODO: Allow `null` in public API\n );\n broadcastedValueRef.current = internalValue;\n }, [onChange, internalValue]);\n\n useEffect(() => {\n const labelRef = fieldLabelRef?.current;\n\n if (labelRef) {\n const handleLabelClick = () => {\n if (!selectProps.disabled) {\n countryCodeSelectRef.current?.click();\n } else {\n phoneNumberInputRef.current?.focus();\n }\n };\n\n labelRef.addEventListener('click', handleLabelClick);\n\n return () => {\n labelRef?.removeEventListener('click', handleLabelClick);\n };\n }\n }, [fieldLabelRef, selectProps.disabled]);\n\n return (\n <fieldset {...inputAttributes} aria-labelledby={ariaLabelledBy} className=\"tw-telephone\">\n <label className=\"sr-only\" id={ids.countryCode.label} htmlFor={ids.countryCode.select}>\n {formatMessage(messages.countryCodeLabel)}\n </label>\n <div\n className={`tw-telephone__country-select${\n hasInputGroupAddonStart\n ? ' tw-telephone__country-select--with-input-group-addon-start'\n : ''\n }`}\n >\n <SelectInput\n triggerRef={countryCodeSelectRef}\n placeholder={formatMessage(messages.selectInputPlaceholder)}\n items={[...countriesByPrefix].map(([prefix, countries]) => ({\n type: 'option',\n value: prefix,\n filterMatchers: [\n prefix,\n ...countries.map((country) => country.name),\n ...countries.map((country) => country.iso3),\n ],\n }))}\n value={internalValue.prefix}\n renderValue={(prefix, withinTrigger) => (\n <SelectInputOptionContent\n title={prefix}\n note={\n withinTrigger\n ? undefined\n : countriesByPrefix\n .get(prefix)\n ?.map((country) => country.iso3)\n .join(', ')\n }\n />\n )}\n filterable\n filterPlaceholder={searchPlaceholder ?? formatMessage(messages.phoneNumberPrefix)}\n disabled={disabled}\n size={size}\n id={ids.countryCode.select}\n UNSAFE_triggerButtonProps={{\n id: ids.countryCode.select,\n 'aria-labelledby': ids.countryCode.label,\n 'aria-describedby': undefined,\n 'aria-invalid': undefined,\n }}\n onChange={(prefix) => {\n const country = prefix != null ? findCountryByPrefix(prefix) : null;\n setInternalValue((prev) => ({ ...prev, prefix, format: country?.phoneFormat }));\n }}\n onClose={() => {\n if (suffixDirty) {\n onBlur?.();\n }\n }}\n {...selectProps}\n />\n </div>\n <label className=\"sr-only\" id={ids.phoneNumber.label} htmlFor={ids.phoneNumber.input}>\n {formatMessage(messages.phoneNumberLabel)}\n </label>\n <div className=\"tw-telephone__number-input\">\n <div className={`input-group input-group-${size} ${disabled ? 'disabled' : ''}`}>\n <Input\n ref={phoneNumberInputRef}\n className=\"tw-telephone__number-input-field\"\n id={ids.phoneNumber.input}\n autoComplete=\"tel-national\"\n name=\"phoneNumber\"\n inputMode=\"numeric\"\n value={internalValue.suffix}\n disabled={disabled}\n required={required}\n placeholder={placeholder}\n aria-labelledby={ids.phoneNumber.label}\n onChange={onSuffixChange}\n onPaste={onPaste}\n onFocus={onFocus}\n onBlur={() => onBlur?.()}\n />\n </div>\n </div>\n </fieldset>\n );\n};\n\nexport default PhoneNumberInput;\n"],"names":["ALLOWED_PHONE_CHARS","defaultSelectProps","defaultDisabledCountries","PhoneNumberInput","id","ariaLabelledByProp","required","disabled","initialValue","onChange","onFocus","onBlur","countryCode","searchPlaceholder","size","Size","MEDIUM","placeholder","selectProps","disabledCountries","countryCodeSelectRef","useRef","phoneNumberInputRef","inputAttributes","useInputAttributes","nonLabelable","paddingInlineStart","useInputPaddings","hasInputGroupAddonStart","fieldLabelRef","useFieldLabelRef","ariaLabelledBy","locale","formatMessage","useIntl","randomId","useState","Math","random","toString","slice","createId","customID","backup","ids","label","select","phoneNumber","input","internalValue","setInternalValue","cleanValue","cleanNumber","isValidPhoneNumber","prefix","setDefaultPrefix","suffix","explodeNumberModel","broadcastedValueRef","suffixDirty","setSuffixDirty","useEffect","countriesByPrefix","useMemo","groupCountriesByPrefix","sortArrayByProperty","excludeCountries","countries","onSuffixChange","event","target","value","test","prev","onPaste","nativeEvent","clipboardData","pastedValue","getData","replace","pastedNumber","has","internalPhoneNumber","broadcastedPhoneNumber","current","newValue","labelRef","handleLabelClick","click","focus","addEventListener","removeEventListener","_jsxs","className","children","_jsx","htmlFor","messages","countryCodeLabel","SelectInput","triggerRef","selectInputPlaceholder","items","map","type","filterMatchers","country","name","iso3","renderValue","withinTrigger","SelectInputOptionContent","title","note","undefined","get","join","filterable","filterPlaceholder","phoneNumberPrefix","UNSAFE_triggerButtonProps","findCountryByPrefix","format","phoneFormat","onClose","phoneNumberLabel","Input","ref","autoComplete","inputMode"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanNumber.js","sources":["../../../../src/PhoneNumberInput/utils/cleanNumber/cleanNumber.ts"],"sourcesContent":["const DIGITS_MATCH = /^$|^(\\+)|(\\d+)/g;\n\nexport const cleanNumber = (number: string) => number.match(DIGITS_MATCH)?.join('') ?? '';\n"],"names":["DIGITS_MATCH","cleanNumber","number","match","join"],"mappings":";;AAAA,MAAMA,YAAY,GAAG,iBAAiB;MAEzBC,WAAW,GAAIC,MAAc,IAAKA,MAAM,CAACC,KAAK,CAACH,YAAY,CAAC,EAAEI,IAAI,CAAC,EAAE,CAAC,IAAI
|
|
1
|
+
{"version":3,"file":"cleanNumber.js","sources":["../../../../src/PhoneNumberInput/utils/cleanNumber/cleanNumber.ts"],"sourcesContent":["const DIGITS_MATCH = /^$|^(\\+)|(\\d+)/g;\n\nexport const cleanNumber = (number: string) => number.match(DIGITS_MATCH)?.join('') ?? '';\n"],"names":["DIGITS_MATCH","cleanNumber","number","match","join"],"mappings":";;AAAA,MAAMA,YAAY,GAAG,iBAAiB;MAEzBC,WAAW,GAAIC,MAAc,IAAKA,MAAM,CAACC,KAAK,CAACH,YAAY,CAAC,EAAEI,IAAI,CAAC,EAAE,CAAC,IAAI;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanNumber.mjs","sources":["../../../../src/PhoneNumberInput/utils/cleanNumber/cleanNumber.ts"],"sourcesContent":["const DIGITS_MATCH = /^$|^(\\+)|(\\d+)/g;\n\nexport const cleanNumber = (number: string) => number.match(DIGITS_MATCH)?.join('') ?? '';\n"],"names":["DIGITS_MATCH","cleanNumber","number","match","join"],"mappings":"AAAA,MAAMA,YAAY,GAAG,iBAAiB;MAEzBC,WAAW,GAAIC,MAAc,IAAKA,MAAM,CAACC,KAAK,CAACH,YAAY,CAAC,EAAEI,IAAI,CAAC,EAAE,CAAC,IAAI
|
|
1
|
+
{"version":3,"file":"cleanNumber.mjs","sources":["../../../../src/PhoneNumberInput/utils/cleanNumber/cleanNumber.ts"],"sourcesContent":["const DIGITS_MATCH = /^$|^(\\+)|(\\d+)/g;\n\nexport const cleanNumber = (number: string) => number.match(DIGITS_MATCH)?.join('') ?? '';\n"],"names":["DIGITS_MATCH","cleanNumber","number","match","join"],"mappings":"AAAA,MAAMA,YAAY,GAAG,iBAAiB;MAEzBC,WAAW,GAAIC,MAAc,IAAKA,MAAM,CAACC,KAAK,CAACH,YAAY,CAAC,EAAEI,IAAI,CAAC,EAAE,CAAC,IAAI;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"excludeCountries.js","sources":["../../../../src/PhoneNumberInput/utils/excludeCountries/excludeCountries.ts"],"sourcesContent":["import type { Country } from '../../Data/countries';\n\n// Reference fro localeCompare : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare\nconst filterCountriesByIso3 = (countries: readonly Country[], iso3Codes: readonly string[]) => {\n const iso3CodesSet = new Set(iso3Codes);\n return countries.filter((country) => !iso3CodesSet.has(country.iso3));\n};\n\n/**\n * Removes the countries sepecified in the second param\n *\n * @param countries list of country metadata objects\n * @param disabledCountries list of iso3 country codes to remove from the list\n */\nexport const excludeCountries = (\n countries: readonly Country[],\n disabledCountries: readonly string[],\n) => {\n return disabledCountries.length > 0\n ? filterCountriesByIso3(countries, disabledCountries)\n : countries;\n};\n"],"names":["filterCountriesByIso3","countries","iso3Codes","iso3CodesSet","Set","filter","country","has","iso3","excludeCountries","disabledCountries","length"],"mappings":";;AAEA;AACA,MAAMA,qBAAqB,GAAGA,CAACC,SAA6B,EAAEC,SAA4B,KAAI;AAC5F,EAAA,MAAMC,YAAY,GAAG,IAAIC,GAAG,CAACF,SAAS,CAAC;AACvC,EAAA,OAAOD,SAAS,CAACI,MAAM,CAAEC,OAAO,IAAK,CAACH,YAAY,CAACI,GAAG,CAACD,OAAO,CAACE,IAAI,CAAC,CAAC;AACvE,CAAC;AAED;;;;;AAKG;MACUC,gBAAgB,GAAGA,CAC9BR,SAA6B,EAC7BS,iBAAoC,KAClC;AACF,EAAA,OAAOA,iBAAiB,CAACC,MAAM,GAAG,CAAC,GAC/BX,qBAAqB,CAACC,SAAS,EAAES,iBAAiB,CAAC,GACnDT,SAAS;AACf
|
|
1
|
+
{"version":3,"file":"excludeCountries.js","sources":["../../../../src/PhoneNumberInput/utils/excludeCountries/excludeCountries.ts"],"sourcesContent":["import type { Country } from '../../Data/countries';\n\n// Reference fro localeCompare : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare\nconst filterCountriesByIso3 = (countries: readonly Country[], iso3Codes: readonly string[]) => {\n const iso3CodesSet = new Set(iso3Codes);\n return countries.filter((country) => !iso3CodesSet.has(country.iso3));\n};\n\n/**\n * Removes the countries sepecified in the second param\n *\n * @param countries list of country metadata objects\n * @param disabledCountries list of iso3 country codes to remove from the list\n */\nexport const excludeCountries = (\n countries: readonly Country[],\n disabledCountries: readonly string[],\n) => {\n return disabledCountries.length > 0\n ? filterCountriesByIso3(countries, disabledCountries)\n : countries;\n};\n"],"names":["filterCountriesByIso3","countries","iso3Codes","iso3CodesSet","Set","filter","country","has","iso3","excludeCountries","disabledCountries","length"],"mappings":";;AAEA;AACA,MAAMA,qBAAqB,GAAGA,CAACC,SAA6B,EAAEC,SAA4B,KAAI;AAC5F,EAAA,MAAMC,YAAY,GAAG,IAAIC,GAAG,CAACF,SAAS,CAAC;AACvC,EAAA,OAAOD,SAAS,CAACI,MAAM,CAAEC,OAAO,IAAK,CAACH,YAAY,CAACI,GAAG,CAACD,OAAO,CAACE,IAAI,CAAC,CAAC;AACvE,CAAC;AAED;;;;;AAKG;MACUC,gBAAgB,GAAGA,CAC9BR,SAA6B,EAC7BS,iBAAoC,KAClC;AACF,EAAA,OAAOA,iBAAiB,CAACC,MAAM,GAAG,CAAC,GAC/BX,qBAAqB,CAACC,SAAS,EAAES,iBAAiB,CAAC,GACnDT,SAAS;AACf;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"excludeCountries.mjs","sources":["../../../../src/PhoneNumberInput/utils/excludeCountries/excludeCountries.ts"],"sourcesContent":["import type { Country } from '../../Data/countries';\n\n// Reference fro localeCompare : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare\nconst filterCountriesByIso3 = (countries: readonly Country[], iso3Codes: readonly string[]) => {\n const iso3CodesSet = new Set(iso3Codes);\n return countries.filter((country) => !iso3CodesSet.has(country.iso3));\n};\n\n/**\n * Removes the countries sepecified in the second param\n *\n * @param countries list of country metadata objects\n * @param disabledCountries list of iso3 country codes to remove from the list\n */\nexport const excludeCountries = (\n countries: readonly Country[],\n disabledCountries: readonly string[],\n) => {\n return disabledCountries.length > 0\n ? filterCountriesByIso3(countries, disabledCountries)\n : countries;\n};\n"],"names":["filterCountriesByIso3","countries","iso3Codes","iso3CodesSet","Set","filter","country","has","iso3","excludeCountries","disabledCountries","length"],"mappings":"AAEA;AACA,MAAMA,qBAAqB,GAAGA,CAACC,SAA6B,EAAEC,SAA4B,KAAI;AAC5F,EAAA,MAAMC,YAAY,GAAG,IAAIC,GAAG,CAACF,SAAS,CAAC;AACvC,EAAA,OAAOD,SAAS,CAACI,MAAM,CAAEC,OAAO,IAAK,CAACH,YAAY,CAACI,GAAG,CAACD,OAAO,CAACE,IAAI,CAAC,CAAC;AACvE,CAAC;AAED;;;;;AAKG;MACUC,gBAAgB,GAAGA,CAC9BR,SAA6B,EAC7BS,iBAAoC,KAClC;AACF,EAAA,OAAOA,iBAAiB,CAACC,MAAM,GAAG,CAAC,GAC/BX,qBAAqB,CAACC,SAAS,EAAES,iBAAiB,CAAC,GACnDT,SAAS;AACf
|
|
1
|
+
{"version":3,"file":"excludeCountries.mjs","sources":["../../../../src/PhoneNumberInput/utils/excludeCountries/excludeCountries.ts"],"sourcesContent":["import type { Country } from '../../Data/countries';\n\n// Reference fro localeCompare : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare\nconst filterCountriesByIso3 = (countries: readonly Country[], iso3Codes: readonly string[]) => {\n const iso3CodesSet = new Set(iso3Codes);\n return countries.filter((country) => !iso3CodesSet.has(country.iso3));\n};\n\n/**\n * Removes the countries sepecified in the second param\n *\n * @param countries list of country metadata objects\n * @param disabledCountries list of iso3 country codes to remove from the list\n */\nexport const excludeCountries = (\n countries: readonly Country[],\n disabledCountries: readonly string[],\n) => {\n return disabledCountries.length > 0\n ? filterCountriesByIso3(countries, disabledCountries)\n : countries;\n};\n"],"names":["filterCountriesByIso3","countries","iso3Codes","iso3CodesSet","Set","filter","country","has","iso3","excludeCountries","disabledCountries","length"],"mappings":"AAEA;AACA,MAAMA,qBAAqB,GAAGA,CAACC,SAA6B,EAAEC,SAA4B,KAAI;AAC5F,EAAA,MAAMC,YAAY,GAAG,IAAIC,GAAG,CAACF,SAAS,CAAC;AACvC,EAAA,OAAOD,SAAS,CAACI,MAAM,CAAEC,OAAO,IAAK,CAACH,YAAY,CAACI,GAAG,CAACD,OAAO,CAACE,IAAI,CAAC,CAAC;AACvE,CAAC;AAED;;;;;AAKG;MACUC,gBAAgB,GAAGA,CAC9BR,SAA6B,EAC7BS,iBAAoC,KAClC;AACF,EAAA,OAAOA,iBAAiB,CAACC,MAAM,GAAG,CAAC,GAC/BX,qBAAqB,CAACC,SAAS,EAAES,iBAAiB,CAAC,GACnDT,SAAS;AACf;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/PhoneNumberInput/utils/explodeNumberModel/index.ts"],"sourcesContent":["import { findCountryByPrefix } from '../findCountryByPrefix';\n\nexport interface PhoneNumber {\n prefix: string | null;\n suffix: string;\n format?: string;\n}\n\n/**\n * @param number Phone number in a format like \"+447573135343\"\n */\nexport const explodeNumberModel = (number: string): PhoneNumber => {\n const country = findCountryByPrefix(number);\n return country\n ? {\n prefix: country.phone,\n suffix: number.slice(country.phone.length),\n format: country.phoneFormat,\n }\n : {\n prefix: null,\n suffix: number.slice(1),\n };\n};\n"],"names":["explodeNumberModel","number","country","findCountryByPrefix","prefix","phone","suffix","slice","length","format","phoneFormat"],"mappings":";;;;AAQA;;AAEG;AACI,MAAMA,kBAAkB,GAAIC,MAAc,IAAiB;AAChE,EAAA,MAAMC,OAAO,GAAGC,yBAAmB,CAACF,MAAM,CAAC;AAC3C,EAAA,OAAOC,OAAO,GACV;IACEE,MAAM,EAAEF,OAAO,CAACG,KAAK;IACrBC,MAAM,EAAEL,MAAM,CAACM,KAAK,CAACL,OAAO,CAACG,KAAK,CAACG,MAAM,CAAC;IAC1CC,MAAM,EAAEP,OAAO,CAACQ;AACjB,GAAA,GACD;AACEN,IAAAA,MAAM,EAAE,IAAI;AACZE,IAAAA,MAAM,EAAEL,MAAM,CAACM,KAAK,CAAC,CAAC;GACvB;AACP
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/PhoneNumberInput/utils/explodeNumberModel/index.ts"],"sourcesContent":["import { findCountryByPrefix } from '../findCountryByPrefix';\n\nexport interface PhoneNumber {\n prefix: string | null;\n suffix: string;\n format?: string;\n}\n\n/**\n * @param number Phone number in a format like \"+447573135343\"\n */\nexport const explodeNumberModel = (number: string): PhoneNumber => {\n const country = findCountryByPrefix(number);\n return country\n ? {\n prefix: country.phone,\n suffix: number.slice(country.phone.length),\n format: country.phoneFormat,\n }\n : {\n prefix: null,\n suffix: number.slice(1),\n };\n};\n"],"names":["explodeNumberModel","number","country","findCountryByPrefix","prefix","phone","suffix","slice","length","format","phoneFormat"],"mappings":";;;;AAQA;;AAEG;AACI,MAAMA,kBAAkB,GAAIC,MAAc,IAAiB;AAChE,EAAA,MAAMC,OAAO,GAAGC,yBAAmB,CAACF,MAAM,CAAC;AAC3C,EAAA,OAAOC,OAAO,GACV;IACEE,MAAM,EAAEF,OAAO,CAACG,KAAK;IACrBC,MAAM,EAAEL,MAAM,CAACM,KAAK,CAACL,OAAO,CAACG,KAAK,CAACG,MAAM,CAAC;IAC1CC,MAAM,EAAEP,OAAO,CAACQ;AACjB,GAAA,GACD;AACEN,IAAAA,MAAM,EAAE,IAAI;AACZE,IAAAA,MAAM,EAAEL,MAAM,CAACM,KAAK,CAAC,CAAC;GACvB;AACP;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../src/PhoneNumberInput/utils/explodeNumberModel/index.ts"],"sourcesContent":["import { findCountryByPrefix } from '../findCountryByPrefix';\n\nexport interface PhoneNumber {\n prefix: string | null;\n suffix: string;\n format?: string;\n}\n\n/**\n * @param number Phone number in a format like \"+447573135343\"\n */\nexport const explodeNumberModel = (number: string): PhoneNumber => {\n const country = findCountryByPrefix(number);\n return country\n ? {\n prefix: country.phone,\n suffix: number.slice(country.phone.length),\n format: country.phoneFormat,\n }\n : {\n prefix: null,\n suffix: number.slice(1),\n };\n};\n"],"names":["explodeNumberModel","number","country","findCountryByPrefix","prefix","phone","suffix","slice","length","format","phoneFormat"],"mappings":";;AAQA;;AAEG;AACI,MAAMA,kBAAkB,GAAIC,MAAc,IAAiB;AAChE,EAAA,MAAMC,OAAO,GAAGC,mBAAmB,CAACF,MAAM,CAAC;AAC3C,EAAA,OAAOC,OAAO,GACV;IACEE,MAAM,EAAEF,OAAO,CAACG,KAAK;IACrBC,MAAM,EAAEL,MAAM,CAACM,KAAK,CAACL,OAAO,CAACG,KAAK,CAACG,MAAM,CAAC;IAC1CC,MAAM,EAAEP,OAAO,CAACQ;AACjB,GAAA,GACD;AACEN,IAAAA,MAAM,EAAE,IAAI;AACZE,IAAAA,MAAM,EAAEL,MAAM,CAACM,KAAK,CAAC,CAAC;GACvB;AACP
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../src/PhoneNumberInput/utils/explodeNumberModel/index.ts"],"sourcesContent":["import { findCountryByPrefix } from '../findCountryByPrefix';\n\nexport interface PhoneNumber {\n prefix: string | null;\n suffix: string;\n format?: string;\n}\n\n/**\n * @param number Phone number in a format like \"+447573135343\"\n */\nexport const explodeNumberModel = (number: string): PhoneNumber => {\n const country = findCountryByPrefix(number);\n return country\n ? {\n prefix: country.phone,\n suffix: number.slice(country.phone.length),\n format: country.phoneFormat,\n }\n : {\n prefix: null,\n suffix: number.slice(1),\n };\n};\n"],"names":["explodeNumberModel","number","country","findCountryByPrefix","prefix","phone","suffix","slice","length","format","phoneFormat"],"mappings":";;AAQA;;AAEG;AACI,MAAMA,kBAAkB,GAAIC,MAAc,IAAiB;AAChE,EAAA,MAAMC,OAAO,GAAGC,mBAAmB,CAACF,MAAM,CAAC;AAC3C,EAAA,OAAOC,OAAO,GACV;IACEE,MAAM,EAAEF,OAAO,CAACG,KAAK;IACrBC,MAAM,EAAEL,MAAM,CAACM,KAAK,CAACL,OAAO,CAACG,KAAK,CAACG,MAAM,CAAC;IAC1CC,MAAM,EAAEP,OAAO,CAACQ;AACjB,GAAA,GACD;AACEN,IAAAA,MAAM,EAAE,IAAI;AACZE,IAAAA,MAAM,EAAEL,MAAM,CAACM,KAAK,CAAC,CAAC;GACvB;AACP;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/PhoneNumberInput/utils/findCountryByCode/index.ts"],"sourcesContent":["import countries from '../../Data/countries';\nimport { longestMatchingPrefix } from '../longestMatchingPrefix';\n\nexport const findCountryByCode = (code: string) => {\n if (code.length === 2) {\n const matchingCodes = countries.filter((country) => code.toUpperCase() === country.iso2);\n if (matchingCodes.length > 0) {\n return longestMatchingPrefix(matchingCodes);\n }\n }\n return null;\n};\n"],"names":["findCountryByCode","code","length","matchingCodes","countries","filter","country","toUpperCase","iso2","longestMatchingPrefix"],"mappings":";;;;;AAGO,MAAMA,iBAAiB,GAAIC,IAAY,IAAI;AAChD,EAAA,IAAIA,IAAI,CAACC,MAAM,KAAK,CAAC,EAAE;AACrB,IAAA,MAAMC,aAAa,GAAGC,iBAAS,CAACC,MAAM,CAAEC,OAAO,IAAKL,IAAI,CAACM,WAAW,EAAE,KAAKD,OAAO,CAACE,IAAI,CAAC;AACxF,IAAA,IAAIL,aAAa,CAACD,MAAM,GAAG,CAAC,EAAE;MAC5B,OAAOO,2BAAqB,CAACN,aAAa,CAAC;AAC7C,IAAA;AACF,EAAA;AACA,EAAA,OAAO,IAAI;AACb
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/PhoneNumberInput/utils/findCountryByCode/index.ts"],"sourcesContent":["import countries from '../../Data/countries';\nimport { longestMatchingPrefix } from '../longestMatchingPrefix';\n\nexport const findCountryByCode = (code: string) => {\n if (code.length === 2) {\n const matchingCodes = countries.filter((country) => code.toUpperCase() === country.iso2);\n if (matchingCodes.length > 0) {\n return longestMatchingPrefix(matchingCodes);\n }\n }\n return null;\n};\n"],"names":["findCountryByCode","code","length","matchingCodes","countries","filter","country","toUpperCase","iso2","longestMatchingPrefix"],"mappings":";;;;;AAGO,MAAMA,iBAAiB,GAAIC,IAAY,IAAI;AAChD,EAAA,IAAIA,IAAI,CAACC,MAAM,KAAK,CAAC,EAAE;AACrB,IAAA,MAAMC,aAAa,GAAGC,iBAAS,CAACC,MAAM,CAAEC,OAAO,IAAKL,IAAI,CAACM,WAAW,EAAE,KAAKD,OAAO,CAACE,IAAI,CAAC;AACxF,IAAA,IAAIL,aAAa,CAACD,MAAM,GAAG,CAAC,EAAE;MAC5B,OAAOO,2BAAqB,CAACN,aAAa,CAAC;AAC7C,IAAA;AACF,EAAA;AACA,EAAA,OAAO,IAAI;AACb;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../src/PhoneNumberInput/utils/findCountryByCode/index.ts"],"sourcesContent":["import countries from '../../Data/countries';\nimport { longestMatchingPrefix } from '../longestMatchingPrefix';\n\nexport const findCountryByCode = (code: string) => {\n if (code.length === 2) {\n const matchingCodes = countries.filter((country) => code.toUpperCase() === country.iso2);\n if (matchingCodes.length > 0) {\n return longestMatchingPrefix(matchingCodes);\n }\n }\n return null;\n};\n"],"names":["findCountryByCode","code","length","matchingCodes","countries","filter","country","toUpperCase","iso2","longestMatchingPrefix"],"mappings":";;;AAGO,MAAMA,iBAAiB,GAAIC,IAAY,IAAI;AAChD,EAAA,IAAIA,IAAI,CAACC,MAAM,KAAK,CAAC,EAAE;AACrB,IAAA,MAAMC,aAAa,GAAGC,SAAS,CAACC,MAAM,CAAEC,OAAO,IAAKL,IAAI,CAACM,WAAW,EAAE,KAAKD,OAAO,CAACE,IAAI,CAAC;AACxF,IAAA,IAAIL,aAAa,CAACD,MAAM,GAAG,CAAC,EAAE;MAC5B,OAAOO,qBAAqB,CAACN,aAAa,CAAC;AAC7C,IAAA;AACF,EAAA;AACA,EAAA,OAAO,IAAI;AACb
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../src/PhoneNumberInput/utils/findCountryByCode/index.ts"],"sourcesContent":["import countries from '../../Data/countries';\nimport { longestMatchingPrefix } from '../longestMatchingPrefix';\n\nexport const findCountryByCode = (code: string) => {\n if (code.length === 2) {\n const matchingCodes = countries.filter((country) => code.toUpperCase() === country.iso2);\n if (matchingCodes.length > 0) {\n return longestMatchingPrefix(matchingCodes);\n }\n }\n return null;\n};\n"],"names":["findCountryByCode","code","length","matchingCodes","countries","filter","country","toUpperCase","iso2","longestMatchingPrefix"],"mappings":";;;AAGO,MAAMA,iBAAiB,GAAIC,IAAY,IAAI;AAChD,EAAA,IAAIA,IAAI,CAACC,MAAM,KAAK,CAAC,EAAE;AACrB,IAAA,MAAMC,aAAa,GAAGC,SAAS,CAACC,MAAM,CAAEC,OAAO,IAAKL,IAAI,CAACM,WAAW,EAAE,KAAKD,OAAO,CAACE,IAAI,CAAC;AACxF,IAAA,IAAIL,aAAa,CAACD,MAAM,GAAG,CAAC,EAAE;MAC5B,OAAOO,qBAAqB,CAACN,aAAa,CAAC;AAC7C,IAAA;AACF,EAAA;AACA,EAAA,OAAO,IAAI;AACb;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/PhoneNumberInput/utils/findCountryByPrefix/index.ts"],"sourcesContent":["import countries from '../../Data/countries';\nimport { longestMatchingPrefix } from '../longestMatchingPrefix';\n\nexport const findCountryByPrefix = (number: string) => {\n if (number.length > 1) {\n const matchingCodes = countries.filter((country) => number.startsWith(country.phone));\n if (matchingCodes.length > 0) {\n return longestMatchingPrefix(matchingCodes);\n }\n }\n return null;\n};\n"],"names":["findCountryByPrefix","number","length","matchingCodes","countries","filter","country","startsWith","phone","longestMatchingPrefix"],"mappings":";;;;;AAGO,MAAMA,mBAAmB,GAAIC,MAAc,IAAI;AACpD,EAAA,IAAIA,MAAM,CAACC,MAAM,GAAG,CAAC,EAAE;AACrB,IAAA,MAAMC,aAAa,GAAGC,iBAAS,CAACC,MAAM,CAAEC,OAAO,IAAKL,MAAM,CAACM,UAAU,CAACD,OAAO,CAACE,KAAK,CAAC,CAAC;AACrF,IAAA,IAAIL,aAAa,CAACD,MAAM,GAAG,CAAC,EAAE;MAC5B,OAAOO,2BAAqB,CAACN,aAAa,CAAC;AAC7C,IAAA;AACF,EAAA;AACA,EAAA,OAAO,IAAI;AACb
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/PhoneNumberInput/utils/findCountryByPrefix/index.ts"],"sourcesContent":["import countries from '../../Data/countries';\nimport { longestMatchingPrefix } from '../longestMatchingPrefix';\n\nexport const findCountryByPrefix = (number: string) => {\n if (number.length > 1) {\n const matchingCodes = countries.filter((country) => number.startsWith(country.phone));\n if (matchingCodes.length > 0) {\n return longestMatchingPrefix(matchingCodes);\n }\n }\n return null;\n};\n"],"names":["findCountryByPrefix","number","length","matchingCodes","countries","filter","country","startsWith","phone","longestMatchingPrefix"],"mappings":";;;;;AAGO,MAAMA,mBAAmB,GAAIC,MAAc,IAAI;AACpD,EAAA,IAAIA,MAAM,CAACC,MAAM,GAAG,CAAC,EAAE;AACrB,IAAA,MAAMC,aAAa,GAAGC,iBAAS,CAACC,MAAM,CAAEC,OAAO,IAAKL,MAAM,CAACM,UAAU,CAACD,OAAO,CAACE,KAAK,CAAC,CAAC;AACrF,IAAA,IAAIL,aAAa,CAACD,MAAM,GAAG,CAAC,EAAE;MAC5B,OAAOO,2BAAqB,CAACN,aAAa,CAAC;AAC7C,IAAA;AACF,EAAA;AACA,EAAA,OAAO,IAAI;AACb;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../src/PhoneNumberInput/utils/findCountryByPrefix/index.ts"],"sourcesContent":["import countries from '../../Data/countries';\nimport { longestMatchingPrefix } from '../longestMatchingPrefix';\n\nexport const findCountryByPrefix = (number: string) => {\n if (number.length > 1) {\n const matchingCodes = countries.filter((country) => number.startsWith(country.phone));\n if (matchingCodes.length > 0) {\n return longestMatchingPrefix(matchingCodes);\n }\n }\n return null;\n};\n"],"names":["findCountryByPrefix","number","length","matchingCodes","countries","filter","country","startsWith","phone","longestMatchingPrefix"],"mappings":";;;AAGO,MAAMA,mBAAmB,GAAIC,MAAc,IAAI;AACpD,EAAA,IAAIA,MAAM,CAACC,MAAM,GAAG,CAAC,EAAE;AACrB,IAAA,MAAMC,aAAa,GAAGC,SAAS,CAACC,MAAM,CAAEC,OAAO,IAAKL,MAAM,CAACM,UAAU,CAACD,OAAO,CAACE,KAAK,CAAC,CAAC;AACrF,IAAA,IAAIL,aAAa,CAACD,MAAM,GAAG,CAAC,EAAE;MAC5B,OAAOO,qBAAqB,CAACN,aAAa,CAAC;AAC7C,IAAA;AACF,EAAA;AACA,EAAA,OAAO,IAAI;AACb
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../src/PhoneNumberInput/utils/findCountryByPrefix/index.ts"],"sourcesContent":["import countries from '../../Data/countries';\nimport { longestMatchingPrefix } from '../longestMatchingPrefix';\n\nexport const findCountryByPrefix = (number: string) => {\n if (number.length > 1) {\n const matchingCodes = countries.filter((country) => number.startsWith(country.phone));\n if (matchingCodes.length > 0) {\n return longestMatchingPrefix(matchingCodes);\n }\n }\n return null;\n};\n"],"names":["findCountryByPrefix","number","length","matchingCodes","countries","filter","country","startsWith","phone","longestMatchingPrefix"],"mappings":";;;AAGO,MAAMA,mBAAmB,GAAIC,MAAc,IAAI;AACpD,EAAA,IAAIA,MAAM,CAACC,MAAM,GAAG,CAAC,EAAE;AACrB,IAAA,MAAMC,aAAa,GAAGC,SAAS,CAACC,MAAM,CAAEC,OAAO,IAAKL,MAAM,CAACM,UAAU,CAACD,OAAO,CAACE,KAAK,CAAC,CAAC;AACrF,IAAA,IAAIL,aAAa,CAACD,MAAM,GAAG,CAAC,EAAE;MAC5B,OAAOO,qBAAqB,CAACN,aAAa,CAAC;AAC7C,IAAA;AACF,EAAA;AACA,EAAA,OAAO,IAAI;AACb;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groupCountriesByPrefix.js","sources":["../../../../src/PhoneNumberInput/utils/groupCountriesByPrefix/groupCountriesByPrefix.ts"],"sourcesContent":["import { Country } from '../../Data/countries';\n\nexport const groupCountriesByPrefix = (countries: readonly Country[]) => {\n const countriesByPrefix = new Map<string, Country[]>();\n countries.forEach((country) => {\n countriesByPrefix.set(country.phone, [\n ...(countriesByPrefix.get(country.phone) ?? []),\n country,\n ]);\n });\n return countriesByPrefix;\n};\n"],"names":["groupCountriesByPrefix","countries","countriesByPrefix","Map","forEach","country","set","phone","get"],"mappings":";;AAEO,MAAMA,sBAAsB,GAAIC,SAA6B,IAAI;AACtE,EAAA,MAAMC,iBAAiB,GAAG,IAAIC,GAAG,EAAqB;AACtDF,EAAAA,SAAS,CAACG,OAAO,CAAEC,OAAO,IAAI;IAC5BH,iBAAiB,CAACI,GAAG,CAACD,OAAO,CAACE,KAAK,EAAE,CACnC,IAAIL,iBAAiB,CAACM,GAAG,CAACH,OAAO,CAACE,KAAK,CAAC,IAAI,EAAE,CAAC,EAC/CF,OAAO,CACR,CAAC;AACJ,EAAA,CAAC,CAAC;AACF,EAAA,OAAOH,iBAAiB;AAC1B
|
|
1
|
+
{"version":3,"file":"groupCountriesByPrefix.js","sources":["../../../../src/PhoneNumberInput/utils/groupCountriesByPrefix/groupCountriesByPrefix.ts"],"sourcesContent":["import { Country } from '../../Data/countries';\n\nexport const groupCountriesByPrefix = (countries: readonly Country[]) => {\n const countriesByPrefix = new Map<string, Country[]>();\n countries.forEach((country) => {\n countriesByPrefix.set(country.phone, [\n ...(countriesByPrefix.get(country.phone) ?? []),\n country,\n ]);\n });\n return countriesByPrefix;\n};\n"],"names":["groupCountriesByPrefix","countries","countriesByPrefix","Map","forEach","country","set","phone","get"],"mappings":";;AAEO,MAAMA,sBAAsB,GAAIC,SAA6B,IAAI;AACtE,EAAA,MAAMC,iBAAiB,GAAG,IAAIC,GAAG,EAAqB;AACtDF,EAAAA,SAAS,CAACG,OAAO,CAAEC,OAAO,IAAI;IAC5BH,iBAAiB,CAACI,GAAG,CAACD,OAAO,CAACE,KAAK,EAAE,CACnC,IAAIL,iBAAiB,CAACM,GAAG,CAACH,OAAO,CAACE,KAAK,CAAC,IAAI,EAAE,CAAC,EAC/CF,OAAO,CACR,CAAC;AACJ,EAAA,CAAC,CAAC;AACF,EAAA,OAAOH,iBAAiB;AAC1B;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groupCountriesByPrefix.mjs","sources":["../../../../src/PhoneNumberInput/utils/groupCountriesByPrefix/groupCountriesByPrefix.ts"],"sourcesContent":["import { Country } from '../../Data/countries';\n\nexport const groupCountriesByPrefix = (countries: readonly Country[]) => {\n const countriesByPrefix = new Map<string, Country[]>();\n countries.forEach((country) => {\n countriesByPrefix.set(country.phone, [\n ...(countriesByPrefix.get(country.phone) ?? []),\n country,\n ]);\n });\n return countriesByPrefix;\n};\n"],"names":["groupCountriesByPrefix","countries","countriesByPrefix","Map","forEach","country","set","phone","get"],"mappings":"AAEO,MAAMA,sBAAsB,GAAIC,SAA6B,IAAI;AACtE,EAAA,MAAMC,iBAAiB,GAAG,IAAIC,GAAG,EAAqB;AACtDF,EAAAA,SAAS,CAACG,OAAO,CAAEC,OAAO,IAAI;IAC5BH,iBAAiB,CAACI,GAAG,CAACD,OAAO,CAACE,KAAK,EAAE,CACnC,IAAIL,iBAAiB,CAACM,GAAG,CAACH,OAAO,CAACE,KAAK,CAAC,IAAI,EAAE,CAAC,EAC/CF,OAAO,CACR,CAAC;AACJ,EAAA,CAAC,CAAC;AACF,EAAA,OAAOH,iBAAiB;AAC1B
|
|
1
|
+
{"version":3,"file":"groupCountriesByPrefix.mjs","sources":["../../../../src/PhoneNumberInput/utils/groupCountriesByPrefix/groupCountriesByPrefix.ts"],"sourcesContent":["import { Country } from '../../Data/countries';\n\nexport const groupCountriesByPrefix = (countries: readonly Country[]) => {\n const countriesByPrefix = new Map<string, Country[]>();\n countries.forEach((country) => {\n countriesByPrefix.set(country.phone, [\n ...(countriesByPrefix.get(country.phone) ?? []),\n country,\n ]);\n });\n return countriesByPrefix;\n};\n"],"names":["groupCountriesByPrefix","countries","countriesByPrefix","Map","forEach","country","set","phone","get"],"mappings":"AAEO,MAAMA,sBAAsB,GAAIC,SAA6B,IAAI;AACtE,EAAA,MAAMC,iBAAiB,GAAG,IAAIC,GAAG,EAAqB;AACtDF,EAAAA,SAAS,CAACG,OAAO,CAAEC,OAAO,IAAI;IAC5BH,iBAAiB,CAACI,GAAG,CAACD,OAAO,CAACE,KAAK,EAAE,CACnC,IAAIL,iBAAiB,CAACM,GAAG,CAACH,OAAO,CAACE,KAAK,CAAC,IAAI,EAAE,CAAC,EAC/CF,OAAO,CACR,CAAC;AACJ,EAAA,CAAC,CAAC;AACF,EAAA,OAAOH,iBAAiB;AAC1B;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isValidPhoneNumber.js","sources":["../../../../src/PhoneNumberInput/utils/isValidPhoneNumber/isValidPhoneNumber.ts"],"sourcesContent":["/**\n *\n * @param phoneNumber\n * @returns True if number that starts with \"+\" and contains a mix of digits and spaces with a configurable min length that defaults to 4.\n */\nexport const isValidPhoneNumber = (phoneNumber: string, minLength = 4) =>\n /^\\+[\\d-\\s]+$/.test(phoneNumber) &&\n (phoneNumber.match(/\\d+/g)?.join('').length ?? 0) >= minLength;\n"],"names":["isValidPhoneNumber","phoneNumber","minLength","test","match","join","length"],"mappings":";;AAAA;;;;AAIG;AACI,MAAMA,kBAAkB,GAAGA,CAACC,WAAmB,EAAEC,SAAS,GAAG,CAAC,KACnE,cAAc,CAACC,IAAI,CAACF,WAAW,CAAC,IAChC,CAACA,WAAW,CAACG,KAAK,CAAC,MAAM,CAAC,EAAEC,IAAI,CAAC,EAAE,CAAC,CAACC,MAAM,IAAI,CAAC,KAAKJ
|
|
1
|
+
{"version":3,"file":"isValidPhoneNumber.js","sources":["../../../../src/PhoneNumberInput/utils/isValidPhoneNumber/isValidPhoneNumber.ts"],"sourcesContent":["/**\n *\n * @param phoneNumber\n * @returns True if number that starts with \"+\" and contains a mix of digits and spaces with a configurable min length that defaults to 4.\n */\nexport const isValidPhoneNumber = (phoneNumber: string, minLength = 4) =>\n /^\\+[\\d-\\s]+$/.test(phoneNumber) &&\n (phoneNumber.match(/\\d+/g)?.join('').length ?? 0) >= minLength;\n"],"names":["isValidPhoneNumber","phoneNumber","minLength","test","match","join","length"],"mappings":";;AAAA;;;;AAIG;AACI,MAAMA,kBAAkB,GAAGA,CAACC,WAAmB,EAAEC,SAAS,GAAG,CAAC,KACnE,cAAc,CAACC,IAAI,CAACF,WAAW,CAAC,IAChC,CAACA,WAAW,CAACG,KAAK,CAAC,MAAM,CAAC,EAAEC,IAAI,CAAC,EAAE,CAAC,CAACC,MAAM,IAAI,CAAC,KAAKJ;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isValidPhoneNumber.mjs","sources":["../../../../src/PhoneNumberInput/utils/isValidPhoneNumber/isValidPhoneNumber.ts"],"sourcesContent":["/**\n *\n * @param phoneNumber\n * @returns True if number that starts with \"+\" and contains a mix of digits and spaces with a configurable min length that defaults to 4.\n */\nexport const isValidPhoneNumber = (phoneNumber: string, minLength = 4) =>\n /^\\+[\\d-\\s]+$/.test(phoneNumber) &&\n (phoneNumber.match(/\\d+/g)?.join('').length ?? 0) >= minLength;\n"],"names":["isValidPhoneNumber","phoneNumber","minLength","test","match","join","length"],"mappings":"AAAA;;;;AAIG;AACI,MAAMA,kBAAkB,GAAGA,CAACC,WAAmB,EAAEC,SAAS,GAAG,CAAC,KACnE,cAAc,CAACC,IAAI,CAACF,WAAW,CAAC,IAChC,CAACA,WAAW,CAACG,KAAK,CAAC,MAAM,CAAC,EAAEC,IAAI,CAAC,EAAE,CAAC,CAACC,MAAM,IAAI,CAAC,KAAKJ
|
|
1
|
+
{"version":3,"file":"isValidPhoneNumber.mjs","sources":["../../../../src/PhoneNumberInput/utils/isValidPhoneNumber/isValidPhoneNumber.ts"],"sourcesContent":["/**\n *\n * @param phoneNumber\n * @returns True if number that starts with \"+\" and contains a mix of digits and spaces with a configurable min length that defaults to 4.\n */\nexport const isValidPhoneNumber = (phoneNumber: string, minLength = 4) =>\n /^\\+[\\d-\\s]+$/.test(phoneNumber) &&\n (phoneNumber.match(/\\d+/g)?.join('').length ?? 0) >= minLength;\n"],"names":["isValidPhoneNumber","phoneNumber","minLength","test","match","join","length"],"mappings":"AAAA;;;;AAIG;AACI,MAAMA,kBAAkB,GAAGA,CAACC,WAAmB,EAAEC,SAAS,GAAG,CAAC,KACnE,cAAc,CAACC,IAAI,CAACF,WAAW,CAAC,IAChC,CAACA,WAAW,CAACG,KAAK,CAAC,MAAM,CAAC,EAAEC,IAAI,CAAC,EAAE,CAAC,CAACC,MAAM,IAAI,CAAC,KAAKJ;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/PhoneNumberInput/utils/longestMatchingPrefix/index.ts"],"sourcesContent":["import { Country } from '../../Data/countries';\n\nexport const longestMatchingPrefix = (matchingCodes: readonly Country[]) =>\n matchingCodes.reduce((a, b) => (a.phone.length > b.phone.length ? a : b));\n"],"names":["longestMatchingPrefix","matchingCodes","reduce","a","b","phone","length"],"mappings":";;AAEO,MAAMA,qBAAqB,GAAIC,aAAiC,IACrEA,aAAa,CAACC,MAAM,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAMD,CAAC,CAACE,KAAK,CAACC,MAAM,GAAGF,CAAC,CAACC,KAAK,CAACC,MAAM,GAAGH,CAAC,GAAGC,CAAE
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/PhoneNumberInput/utils/longestMatchingPrefix/index.ts"],"sourcesContent":["import { Country } from '../../Data/countries';\n\nexport const longestMatchingPrefix = (matchingCodes: readonly Country[]) =>\n matchingCodes.reduce((a, b) => (a.phone.length > b.phone.length ? a : b));\n"],"names":["longestMatchingPrefix","matchingCodes","reduce","a","b","phone","length"],"mappings":";;AAEO,MAAMA,qBAAqB,GAAIC,aAAiC,IACrEA,aAAa,CAACC,MAAM,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAMD,CAAC,CAACE,KAAK,CAACC,MAAM,GAAGF,CAAC,CAACC,KAAK,CAACC,MAAM,GAAGH,CAAC,GAAGC,CAAE;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../src/PhoneNumberInput/utils/longestMatchingPrefix/index.ts"],"sourcesContent":["import { Country } from '../../Data/countries';\n\nexport const longestMatchingPrefix = (matchingCodes: readonly Country[]) =>\n matchingCodes.reduce((a, b) => (a.phone.length > b.phone.length ? a : b));\n"],"names":["longestMatchingPrefix","matchingCodes","reduce","a","b","phone","length"],"mappings":"AAEO,MAAMA,qBAAqB,GAAIC,aAAiC,IACrEA,aAAa,CAACC,MAAM,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAMD,CAAC,CAACE,KAAK,CAACC,MAAM,GAAGF,CAAC,CAACC,KAAK,CAACC,MAAM,GAAGH,CAAC,GAAGC,CAAE
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../src/PhoneNumberInput/utils/longestMatchingPrefix/index.ts"],"sourcesContent":["import { Country } from '../../Data/countries';\n\nexport const longestMatchingPrefix = (matchingCodes: readonly Country[]) =>\n matchingCodes.reduce((a, b) => (a.phone.length > b.phone.length ? a : b));\n"],"names":["longestMatchingPrefix","matchingCodes","reduce","a","b","phone","length"],"mappings":"AAEO,MAAMA,qBAAqB,GAAIC,aAAiC,IACrEA,aAAa,CAACC,MAAM,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAMD,CAAC,CAACE,KAAK,CAACC,MAAM,GAAGF,CAAC,CAACC,KAAK,CAACC,MAAM,GAAGH,CAAC,GAAGC,CAAE;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/PhoneNumberInput/utils/setDefaultPrefix/index.ts"],"sourcesContent":["import { getCountryFromLocale } from '../../../common/Locale';\nimport { findCountryByCode } from '../findCountryByCode';\n\n/**\n * Default phone code, the UK one `+44`\n */\nconst DEFAULT_PHONE_CODE = '+44';\n\n/**\n * Given a valid locale it returns the correspondent prefix if found or +44 otherwise.\n *\n * @param locale BCP 47 language tag of locale, e.g. `\"es-ES\"`.\n * @param countryCode Two-letter country code (ISO 3166-1 alpha-2).\n */\nexport const setDefaultPrefix = (locale: string, countryCode?: string) => {\n const country =\n (countryCode != null ? findCountryByCode(countryCode) : null) ??\n findCountryByCode(getCountryFromLocale(locale) ?? locale);\n return country?.phone ?? DEFAULT_PHONE_CODE;\n};\n"],"names":["DEFAULT_PHONE_CODE","setDefaultPrefix","locale","countryCode","country","findCountryByCode","getCountryFromLocale","phone"],"mappings":";;;;;AAGA;;AAEG;AACH,MAAMA,kBAAkB,GAAG,KAAK;AAEhC;;;;;AAKG;MACUC,gBAAgB,GAAGA,CAACC,MAAc,EAAEC,WAAoB,KAAI;EACvE,MAAMC,OAAO,GACX,CAACD,WAAW,IAAI,IAAI,GAAGE,uBAAiB,CAACF,WAAW,CAAC,GAAG,IAAI,KAC5DE,uBAAiB,CAACC,4BAAoB,CAACJ,MAAM,CAAC,IAAIA,MAAM,CAAC;AAC3D,EAAA,OAAOE,OAAO,EAAEG,KAAK,IAAIP,kBAAkB;AAC7C
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/PhoneNumberInput/utils/setDefaultPrefix/index.ts"],"sourcesContent":["import { getCountryFromLocale } from '../../../common/Locale';\nimport { findCountryByCode } from '../findCountryByCode';\n\n/**\n * Default phone code, the UK one `+44`\n */\nconst DEFAULT_PHONE_CODE = '+44';\n\n/**\n * Given a valid locale it returns the correspondent prefix if found or +44 otherwise.\n *\n * @param locale BCP 47 language tag of locale, e.g. `\"es-ES\"`.\n * @param countryCode Two-letter country code (ISO 3166-1 alpha-2).\n */\nexport const setDefaultPrefix = (locale: string, countryCode?: string) => {\n const country =\n (countryCode != null ? findCountryByCode(countryCode) : null) ??\n findCountryByCode(getCountryFromLocale(locale) ?? locale);\n return country?.phone ?? DEFAULT_PHONE_CODE;\n};\n"],"names":["DEFAULT_PHONE_CODE","setDefaultPrefix","locale","countryCode","country","findCountryByCode","getCountryFromLocale","phone"],"mappings":";;;;;AAGA;;AAEG;AACH,MAAMA,kBAAkB,GAAG,KAAK;AAEhC;;;;;AAKG;MACUC,gBAAgB,GAAGA,CAACC,MAAc,EAAEC,WAAoB,KAAI;EACvE,MAAMC,OAAO,GACX,CAACD,WAAW,IAAI,IAAI,GAAGE,uBAAiB,CAACF,WAAW,CAAC,GAAG,IAAI,KAC5DE,uBAAiB,CAACC,4BAAoB,CAACJ,MAAM,CAAC,IAAIA,MAAM,CAAC;AAC3D,EAAA,OAAOE,OAAO,EAAEG,KAAK,IAAIP,kBAAkB;AAC7C;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../src/PhoneNumberInput/utils/setDefaultPrefix/index.ts"],"sourcesContent":["import { getCountryFromLocale } from '../../../common/Locale';\nimport { findCountryByCode } from '../findCountryByCode';\n\n/**\n * Default phone code, the UK one `+44`\n */\nconst DEFAULT_PHONE_CODE = '+44';\n\n/**\n * Given a valid locale it returns the correspondent prefix if found or +44 otherwise.\n *\n * @param locale BCP 47 language tag of locale, e.g. `\"es-ES\"`.\n * @param countryCode Two-letter country code (ISO 3166-1 alpha-2).\n */\nexport const setDefaultPrefix = (locale: string, countryCode?: string) => {\n const country =\n (countryCode != null ? findCountryByCode(countryCode) : null) ??\n findCountryByCode(getCountryFromLocale(locale) ?? locale);\n return country?.phone ?? DEFAULT_PHONE_CODE;\n};\n"],"names":["DEFAULT_PHONE_CODE","setDefaultPrefix","locale","countryCode","country","findCountryByCode","getCountryFromLocale","phone"],"mappings":";;;AAGA;;AAEG;AACH,MAAMA,kBAAkB,GAAG,KAAK;AAEhC;;;;;AAKG;MACUC,gBAAgB,GAAGA,CAACC,MAAc,EAAEC,WAAoB,KAAI;EACvE,MAAMC,OAAO,GACX,CAACD,WAAW,IAAI,IAAI,GAAGE,iBAAiB,CAACF,WAAW,CAAC,GAAG,IAAI,KAC5DE,iBAAiB,CAACC,oBAAoB,CAACJ,MAAM,CAAC,IAAIA,MAAM,CAAC;AAC3D,EAAA,OAAOE,OAAO,EAAEG,KAAK,IAAIP,kBAAkB;AAC7C
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../src/PhoneNumberInput/utils/setDefaultPrefix/index.ts"],"sourcesContent":["import { getCountryFromLocale } from '../../../common/Locale';\nimport { findCountryByCode } from '../findCountryByCode';\n\n/**\n * Default phone code, the UK one `+44`\n */\nconst DEFAULT_PHONE_CODE = '+44';\n\n/**\n * Given a valid locale it returns the correspondent prefix if found or +44 otherwise.\n *\n * @param locale BCP 47 language tag of locale, e.g. `\"es-ES\"`.\n * @param countryCode Two-letter country code (ISO 3166-1 alpha-2).\n */\nexport const setDefaultPrefix = (locale: string, countryCode?: string) => {\n const country =\n (countryCode != null ? findCountryByCode(countryCode) : null) ??\n findCountryByCode(getCountryFromLocale(locale) ?? locale);\n return country?.phone ?? DEFAULT_PHONE_CODE;\n};\n"],"names":["DEFAULT_PHONE_CODE","setDefaultPrefix","locale","countryCode","country","findCountryByCode","getCountryFromLocale","phone"],"mappings":";;;AAGA;;AAEG;AACH,MAAMA,kBAAkB,GAAG,KAAK;AAEhC;;;;;AAKG;MACUC,gBAAgB,GAAGA,CAACC,MAAc,EAAEC,WAAoB,KAAI;EACvE,MAAMC,OAAO,GACX,CAACD,WAAW,IAAI,IAAI,GAAGE,iBAAiB,CAACF,WAAW,CAAC,GAAG,IAAI,KAC5DE,iBAAiB,CAACC,oBAAoB,CAACJ,MAAM,CAAC,IAAIA,MAAM,CAAC;AAC3D,EAAA,OAAOE,OAAO,EAAEG,KAAK,IAAIP,kBAAkB;AAC7C;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sortArrayByProperty.js","sources":["../../../../src/PhoneNumberInput/utils/sortArrayByProperty/sortArrayByProperty.ts"],"sourcesContent":["export function sortArrayByProperty<T extends Record<PropertyKey, string>>(\n arrayToSort: readonly T[],\n property: keyof T,\n) {\n return [...arrayToSort].sort((a, b) => a[property].localeCompare(b[property]));\n}\n"],"names":["sortArrayByProperty","arrayToSort","property","sort","a","b","localeCompare"],"mappings":";;AAAM,SAAUA,mBAAmBA,CACjCC,WAAyB,EACzBC,QAAiB,EAAA;EAEjB,OAAO,CAAC,GAAGD,WAAW,CAAC,CAACE,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACF,QAAQ,CAAC,CAACI,aAAa,CAACD,CAAC,CAACH,QAAQ,CAAC,CAAC,CAAC;AAChF
|
|
1
|
+
{"version":3,"file":"sortArrayByProperty.js","sources":["../../../../src/PhoneNumberInput/utils/sortArrayByProperty/sortArrayByProperty.ts"],"sourcesContent":["export function sortArrayByProperty<T extends Record<PropertyKey, string>>(\n arrayToSort: readonly T[],\n property: keyof T,\n) {\n return [...arrayToSort].sort((a, b) => a[property].localeCompare(b[property]));\n}\n"],"names":["sortArrayByProperty","arrayToSort","property","sort","a","b","localeCompare"],"mappings":";;AAAM,SAAUA,mBAAmBA,CACjCC,WAAyB,EACzBC,QAAiB,EAAA;EAEjB,OAAO,CAAC,GAAGD,WAAW,CAAC,CAACE,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACF,QAAQ,CAAC,CAACI,aAAa,CAACD,CAAC,CAACH,QAAQ,CAAC,CAAC,CAAC;AAChF;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sortArrayByProperty.mjs","sources":["../../../../src/PhoneNumberInput/utils/sortArrayByProperty/sortArrayByProperty.ts"],"sourcesContent":["export function sortArrayByProperty<T extends Record<PropertyKey, string>>(\n arrayToSort: readonly T[],\n property: keyof T,\n) {\n return [...arrayToSort].sort((a, b) => a[property].localeCompare(b[property]));\n}\n"],"names":["sortArrayByProperty","arrayToSort","property","sort","a","b","localeCompare"],"mappings":"AAAM,SAAUA,mBAAmBA,CACjCC,WAAyB,EACzBC,QAAiB,EAAA;EAEjB,OAAO,CAAC,GAAGD,WAAW,CAAC,CAACE,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACF,QAAQ,CAAC,CAACI,aAAa,CAACD,CAAC,CAACH,QAAQ,CAAC,CAAC,CAAC;AAChF
|
|
1
|
+
{"version":3,"file":"sortArrayByProperty.mjs","sources":["../../../../src/PhoneNumberInput/utils/sortArrayByProperty/sortArrayByProperty.ts"],"sourcesContent":["export function sortArrayByProperty<T extends Record<PropertyKey, string>>(\n arrayToSort: readonly T[],\n property: keyof T,\n) {\n return [...arrayToSort].sort((a, b) => a[property].localeCompare(b[property]));\n}\n"],"names":["sortArrayByProperty","arrayToSort","property","sort","a","b","localeCompare"],"mappings":"AAAM,SAAUA,mBAAmBA,CACjCC,WAAyB,EACzBC,QAAiB,EAAA;EAEjB,OAAO,CAAC,GAAGD,WAAW,CAAC,CAACE,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACF,QAAQ,CAAC,CAACI,aAAa,CAACD,CAAC,CAACH,QAAQ,CAAC,CAAC,CAAC;AAChF;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.js","sources":["../../src/Popover/Popover.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useRef, useState, cloneElement, useEffect, isValidElement, useId } from 'react';\n\nimport { Position, Typography } from '../common';\nimport ResponsivePanel from '../common/ResponsivePanel';\nimport Title from '../Title';\nimport { logActionRequired } from '../utilities';\n\n/** @deprecated Use `\"top\" | \"bottom\"` instead. */\ntype PopoverPreferredPlacementDeprecated =\n | `${Position.TOP_LEFT}`\n | `${Position.TOP_RIGHT}`\n | `${Position.LEFT_TOP}`\n | `${Position.RIGHT_TOP}`\n | `${Position.BOTTOM_RIGHT}`\n | `${Position.BOTTOM_LEFT}`\n | `${Position.LEFT_BOTTOM}`\n | `${Position.RIGHT_BOTTOM}`;\n\nexport type PopoverPreferredPlacement =\n | `${Position.TOP}`\n | `${Position.RIGHT}`\n | `${Position.BOTTOM}`\n | `${Position.LEFT}`\n | PopoverPreferredPlacementDeprecated;\n\nexport interface PopoverProps {\n children?: React.ReactNode;\n title?: React.ReactNode;\n /** Screen-reader-friendly title. Must be provided if `title` prop is not set. */\n 'aria-label'?: string;\n /** @default 'right' */\n preferredPlacement?: PopoverPreferredPlacement;\n content: React.ReactNode;\n onClose?: () => void;\n className?: string;\n}\n\nfunction resolvePlacement(preferredPlacement: PopoverPreferredPlacement) {\n switch (preferredPlacement) {\n case 'top-left':\n case 'top-right':\n case 'left-top':\n case 'right-top':\n return 'top';\n case 'bottom-left':\n case 'bottom-right':\n case 'left-bottom':\n case 'right-bottom':\n return 'bottom';\n default:\n return preferredPlacement;\n }\n}\n\nexport default function Popover({\n children,\n className,\n content,\n preferredPlacement = Position.RIGHT,\n title,\n onClose,\n 'aria-label': ariaLabel,\n}: PopoverProps) {\n const titleId = useId();\n\n const resolvedPlacement = resolvePlacement(preferredPlacement);\n useEffect(() => {\n if (resolvedPlacement !== preferredPlacement) {\n logActionRequired(\n `Popover has deprecated ${preferredPlacement} value for the 'preferredPlacement' prop. Please use ${resolvedPlacement} instead.`,\n );\n }\n }, [preferredPlacement, resolvedPlacement]);\n\n const anchorReference = useRef(null);\n const [open, setOpen] = useState(false);\n\n const handleOnClose = () => {\n setOpen(false);\n onClose?.();\n };\n\n return (\n <span className=\"np-popover\">\n <span ref={anchorReference} className=\"d-inline-block\">\n {isValidElement<{ onClick?: () => void }>(children)\n ? cloneElement(children, {\n onClick: () => {\n children.props.onClick?.();\n setOpen((prevOpen) => !prevOpen);\n },\n })\n : children}\n </span>\n <ResponsivePanel\n aria-label={ariaLabel}\n aria-labelledby={title && !ariaLabel ? titleId : undefined}\n open={open}\n anchorRef={anchorReference}\n position={resolvedPlacement}\n arrow\n className={clsx('np-popover__container', className)}\n onClose={handleOnClose}\n >\n <div className=\"np-popover__content np-text-default-body\">\n {title && (\n <Title type={Typography.TITLE_BODY} id={titleId} className=\"m-b-1\">\n {title}\n </Title>\n )}\n {content}\n </div>\n </ResponsivePanel>\n </span>\n );\n}\n"],"names":["resolvePlacement","preferredPlacement","Popover","children","className","content","Position","RIGHT","title","onClose","ariaLabel","titleId","useId","resolvedPlacement","useEffect","logActionRequired","anchorReference","useRef","open","setOpen","useState","handleOnClose","_jsxs","_jsx","ref","isValidElement","cloneElement","onClick","props","prevOpen","ResponsivePanel","undefined","anchorRef","position","arrow","clsx","Title","type","Typography","TITLE_BODY","id"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Popover.js","sources":["../../src/Popover/Popover.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useRef, useState, cloneElement, useEffect, isValidElement, useId } from 'react';\n\nimport { Position, Typography } from '../common';\nimport ResponsivePanel from '../common/ResponsivePanel';\nimport Title from '../Title';\nimport { logActionRequired } from '../utilities';\n\n/** @deprecated Use `\"top\" | \"bottom\"` instead. */\ntype PopoverPreferredPlacementDeprecated =\n | `${Position.TOP_LEFT}`\n | `${Position.TOP_RIGHT}`\n | `${Position.LEFT_TOP}`\n | `${Position.RIGHT_TOP}`\n | `${Position.BOTTOM_RIGHT}`\n | `${Position.BOTTOM_LEFT}`\n | `${Position.LEFT_BOTTOM}`\n | `${Position.RIGHT_BOTTOM}`;\n\nexport type PopoverPreferredPlacement =\n | `${Position.TOP}`\n | `${Position.RIGHT}`\n | `${Position.BOTTOM}`\n | `${Position.LEFT}`\n | PopoverPreferredPlacementDeprecated;\n\nexport interface PopoverProps {\n children?: React.ReactNode;\n title?: React.ReactNode;\n /** Screen-reader-friendly title. Must be provided if `title` prop is not set. */\n 'aria-label'?: string;\n /** @default 'right' */\n preferredPlacement?: PopoverPreferredPlacement;\n content: React.ReactNode;\n onClose?: () => void;\n className?: string;\n}\n\nfunction resolvePlacement(preferredPlacement: PopoverPreferredPlacement) {\n switch (preferredPlacement) {\n case 'top-left':\n case 'top-right':\n case 'left-top':\n case 'right-top':\n return 'top';\n case 'bottom-left':\n case 'bottom-right':\n case 'left-bottom':\n case 'right-bottom':\n return 'bottom';\n default:\n return preferredPlacement;\n }\n}\n\nexport default function Popover({\n children,\n className,\n content,\n preferredPlacement = Position.RIGHT,\n title,\n onClose,\n 'aria-label': ariaLabel,\n}: PopoverProps) {\n const titleId = useId();\n\n const resolvedPlacement = resolvePlacement(preferredPlacement);\n useEffect(() => {\n if (resolvedPlacement !== preferredPlacement) {\n logActionRequired(\n `Popover has deprecated ${preferredPlacement} value for the 'preferredPlacement' prop. Please use ${resolvedPlacement} instead.`,\n );\n }\n }, [preferredPlacement, resolvedPlacement]);\n\n const anchorReference = useRef(null);\n const [open, setOpen] = useState(false);\n\n const handleOnClose = () => {\n setOpen(false);\n onClose?.();\n };\n\n return (\n <span className=\"np-popover\">\n <span ref={anchorReference} className=\"d-inline-block\">\n {isValidElement<{ onClick?: () => void }>(children)\n ? cloneElement(children, {\n onClick: () => {\n children.props.onClick?.();\n setOpen((prevOpen) => !prevOpen);\n },\n })\n : children}\n </span>\n <ResponsivePanel\n aria-label={ariaLabel}\n aria-labelledby={title && !ariaLabel ? titleId : undefined}\n open={open}\n anchorRef={anchorReference}\n position={resolvedPlacement}\n arrow\n className={clsx('np-popover__container', className)}\n onClose={handleOnClose}\n >\n <div className=\"np-popover__content np-text-default-body\">\n {title && (\n <Title type={Typography.TITLE_BODY} id={titleId} className=\"m-b-1\">\n {title}\n </Title>\n )}\n {content}\n </div>\n </ResponsivePanel>\n </span>\n );\n}\n"],"names":["resolvePlacement","preferredPlacement","Popover","children","className","content","Position","RIGHT","title","onClose","ariaLabel","titleId","useId","resolvedPlacement","useEffect","logActionRequired","anchorReference","useRef","open","setOpen","useState","handleOnClose","_jsxs","_jsx","ref","isValidElement","cloneElement","onClick","props","prevOpen","ResponsivePanel","undefined","anchorRef","position","arrow","clsx","Title","type","Typography","TITLE_BODY","id"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.mjs","sources":["../../src/Popover/Popover.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useRef, useState, cloneElement, useEffect, isValidElement, useId } from 'react';\n\nimport { Position, Typography } from '../common';\nimport ResponsivePanel from '../common/ResponsivePanel';\nimport Title from '../Title';\nimport { logActionRequired } from '../utilities';\n\n/** @deprecated Use `\"top\" | \"bottom\"` instead. */\ntype PopoverPreferredPlacementDeprecated =\n | `${Position.TOP_LEFT}`\n | `${Position.TOP_RIGHT}`\n | `${Position.LEFT_TOP}`\n | `${Position.RIGHT_TOP}`\n | `${Position.BOTTOM_RIGHT}`\n | `${Position.BOTTOM_LEFT}`\n | `${Position.LEFT_BOTTOM}`\n | `${Position.RIGHT_BOTTOM}`;\n\nexport type PopoverPreferredPlacement =\n | `${Position.TOP}`\n | `${Position.RIGHT}`\n | `${Position.BOTTOM}`\n | `${Position.LEFT}`\n | PopoverPreferredPlacementDeprecated;\n\nexport interface PopoverProps {\n children?: React.ReactNode;\n title?: React.ReactNode;\n /** Screen-reader-friendly title. Must be provided if `title` prop is not set. */\n 'aria-label'?: string;\n /** @default 'right' */\n preferredPlacement?: PopoverPreferredPlacement;\n content: React.ReactNode;\n onClose?: () => void;\n className?: string;\n}\n\nfunction resolvePlacement(preferredPlacement: PopoverPreferredPlacement) {\n switch (preferredPlacement) {\n case 'top-left':\n case 'top-right':\n case 'left-top':\n case 'right-top':\n return 'top';\n case 'bottom-left':\n case 'bottom-right':\n case 'left-bottom':\n case 'right-bottom':\n return 'bottom';\n default:\n return preferredPlacement;\n }\n}\n\nexport default function Popover({\n children,\n className,\n content,\n preferredPlacement = Position.RIGHT,\n title,\n onClose,\n 'aria-label': ariaLabel,\n}: PopoverProps) {\n const titleId = useId();\n\n const resolvedPlacement = resolvePlacement(preferredPlacement);\n useEffect(() => {\n if (resolvedPlacement !== preferredPlacement) {\n logActionRequired(\n `Popover has deprecated ${preferredPlacement} value for the 'preferredPlacement' prop. Please use ${resolvedPlacement} instead.`,\n );\n }\n }, [preferredPlacement, resolvedPlacement]);\n\n const anchorReference = useRef(null);\n const [open, setOpen] = useState(false);\n\n const handleOnClose = () => {\n setOpen(false);\n onClose?.();\n };\n\n return (\n <span className=\"np-popover\">\n <span ref={anchorReference} className=\"d-inline-block\">\n {isValidElement<{ onClick?: () => void }>(children)\n ? cloneElement(children, {\n onClick: () => {\n children.props.onClick?.();\n setOpen((prevOpen) => !prevOpen);\n },\n })\n : children}\n </span>\n <ResponsivePanel\n aria-label={ariaLabel}\n aria-labelledby={title && !ariaLabel ? titleId : undefined}\n open={open}\n anchorRef={anchorReference}\n position={resolvedPlacement}\n arrow\n className={clsx('np-popover__container', className)}\n onClose={handleOnClose}\n >\n <div className=\"np-popover__content np-text-default-body\">\n {title && (\n <Title type={Typography.TITLE_BODY} id={titleId} className=\"m-b-1\">\n {title}\n </Title>\n )}\n {content}\n </div>\n </ResponsivePanel>\n </span>\n );\n}\n"],"names":["resolvePlacement","preferredPlacement","Popover","children","className","content","Position","RIGHT","title","onClose","ariaLabel","titleId","useId","resolvedPlacement","useEffect","logActionRequired","anchorReference","useRef","open","setOpen","useState","handleOnClose","_jsxs","_jsx","ref","isValidElement","cloneElement","onClick","props","prevOpen","ResponsivePanel","undefined","anchorRef","position","arrow","clsx","Title","type","Typography","TITLE_BODY","id"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,SAASA,gBAAgBA,CAACC,kBAA6C,EAAA;AACrE,EAAA,QAAQA,kBAAkB;AACxB,IAAA,KAAK,UAAU;AACf,IAAA,KAAK,WAAW;AAChB,IAAA,KAAK,UAAU;AACf,IAAA,KAAK,WAAW;AACd,MAAA,OAAO,KAAK;AACd,IAAA,KAAK,aAAa;AAClB,IAAA,KAAK,cAAc;AACnB,IAAA,KAAK,aAAa;AAClB,IAAA,KAAK,cAAc;AACjB,MAAA,OAAO,QAAQ;AACjB,IAAA;AACE,MAAA,OAAOA,kBAAkB;AAC7B;AACF;AAEc,SAAUC,OAAOA,CAAC;EAC9BC,QAAQ;EACRC,SAAS;EACTC,OAAO;EACPJ,kBAAkB,GAAGK,QAAQ,CAACC,KAAK;EACnCC,KAAK;EACLC,OAAO;AACP,EAAA,YAAY,EAAEC;AAAS,CACV,EAAA;AACb,EAAA,MAAMC,OAAO,GAAGC,KAAK,EAAE;AAEvB,EAAA,MAAMC,iBAAiB,GAAGb,gBAAgB,CAACC,kBAAkB,CAAC;AAC9Da,EAAAA,SAAS,CAAC,MAAK;IACb,IAAID,iBAAiB,KAAKZ,kBAAkB,EAAE;AAC5Cc,MAAAA,iBAAiB,CACf,CAAA,uBAAA,EAA0Bd,kBAAkB,CAAA,qDAAA,EAAwDY,iBAAiB,WAAW,CACjI;AACH,IAAA;AACF,EAAA,CAAC,EAAE,CAACZ,kBAAkB,EAAEY,iBAAiB,CAAC,CAAC;AAE3C,EAAA,MAAMG,eAAe,GAAGC,MAAM,CAAC,IAAI,CAAC;EACpC,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGC,QAAQ,CAAC,KAAK,CAAC;EAEvC,MAAMC,aAAa,GAAGA,MAAK;IACzBF,OAAO,CAAC,KAAK,CAAC;AACdV,IAAAA,OAAO,IAAI;EACb,CAAC;AAED,EAAA,oBACEa,IAAA,CAAA,MAAA,EAAA;AAAMlB,IAAAA,SAAS,EAAC,YAAY;AAAAD,IAAAA,QAAA,gBAC1BoB,GAAA,CAAA,MAAA,EAAA;AAAMC,MAAAA,GAAG,EAAER,eAAgB;AAACZ,MAAAA,SAAS,EAAC,gBAAgB;MAAAD,QAAA,eACnDsB,cAAc,CAA2BtB,QAAQ,CAAC,gBAC/CuB,YAAY,CAACvB,QAAQ,EAAE;QACrBwB,OAAO,EAAEA,MAAK;AACZxB,UAAAA,QAAQ,CAACyB,KAAK,CAACD,OAAO,IAAI;AAC1BR,UAAAA,OAAO,CAAEU,QAAQ,IAAK,CAACA,QAAQ,CAAC;AAClC,QAAA;OACD,CAAC,GACF1B;AAAQ,KACR,CACN,eAAAoB,GAAA,CAACO,eAAe,EAAA;AACd,MAAA,YAAA,EAAYpB,SAAU;AACtB,MAAA,iBAAA,EAAiBF,KAAK,IAAI,CAACE,SAAS,GAAGC,OAAO,GAAGoB,SAAU;AAC3Db,MAAAA,IAAI,EAAEA,IAAK;AACXc,MAAAA,SAAS,EAAEhB,eAAgB;AAC3BiB,MAAAA,QAAQ,EAAEpB,iBAAkB;MAC5BqB,KAAK,EAAA,IAAA;AACL9B,MAAAA,SAAS,EAAE+B,IAAI,CAAC,uBAAuB,EAAE/B,SAAS,CAAE;AACpDK,MAAAA,OAAO,EAAEY,aAAc;AAAAlB,MAAAA,QAAA,eAEvBmB,IAAA,CAAA,KAAA,EAAA;AAAKlB,QAAAA,SAAS,EAAC,0CAA0C;AAAAD,QAAAA,QAAA,EAAA,CACtDK,KAAK,iBACJe,GAAA,CAACa,KAAK,EAAA;UAACC,IAAI,EAAEC,UAAU,CAACC,UAAW;AAACC,UAAAA,EAAE,EAAE7B,OAAQ;AAACP,UAAAA,SAAS,EAAC,OAAO;AAAAD,UAAAA,QAAA,EAC/DK;SACI,CACR,EACAH,OAAO;OACL;AACP,KAAiB,CACnB;AAAA,GAAM,CAAC;AAEX
|
|
1
|
+
{"version":3,"file":"Popover.mjs","sources":["../../src/Popover/Popover.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useRef, useState, cloneElement, useEffect, isValidElement, useId } from 'react';\n\nimport { Position, Typography } from '../common';\nimport ResponsivePanel from '../common/ResponsivePanel';\nimport Title from '../Title';\nimport { logActionRequired } from '../utilities';\n\n/** @deprecated Use `\"top\" | \"bottom\"` instead. */\ntype PopoverPreferredPlacementDeprecated =\n | `${Position.TOP_LEFT}`\n | `${Position.TOP_RIGHT}`\n | `${Position.LEFT_TOP}`\n | `${Position.RIGHT_TOP}`\n | `${Position.BOTTOM_RIGHT}`\n | `${Position.BOTTOM_LEFT}`\n | `${Position.LEFT_BOTTOM}`\n | `${Position.RIGHT_BOTTOM}`;\n\nexport type PopoverPreferredPlacement =\n | `${Position.TOP}`\n | `${Position.RIGHT}`\n | `${Position.BOTTOM}`\n | `${Position.LEFT}`\n | PopoverPreferredPlacementDeprecated;\n\nexport interface PopoverProps {\n children?: React.ReactNode;\n title?: React.ReactNode;\n /** Screen-reader-friendly title. Must be provided if `title` prop is not set. */\n 'aria-label'?: string;\n /** @default 'right' */\n preferredPlacement?: PopoverPreferredPlacement;\n content: React.ReactNode;\n onClose?: () => void;\n className?: string;\n}\n\nfunction resolvePlacement(preferredPlacement: PopoverPreferredPlacement) {\n switch (preferredPlacement) {\n case 'top-left':\n case 'top-right':\n case 'left-top':\n case 'right-top':\n return 'top';\n case 'bottom-left':\n case 'bottom-right':\n case 'left-bottom':\n case 'right-bottom':\n return 'bottom';\n default:\n return preferredPlacement;\n }\n}\n\nexport default function Popover({\n children,\n className,\n content,\n preferredPlacement = Position.RIGHT,\n title,\n onClose,\n 'aria-label': ariaLabel,\n}: PopoverProps) {\n const titleId = useId();\n\n const resolvedPlacement = resolvePlacement(preferredPlacement);\n useEffect(() => {\n if (resolvedPlacement !== preferredPlacement) {\n logActionRequired(\n `Popover has deprecated ${preferredPlacement} value for the 'preferredPlacement' prop. Please use ${resolvedPlacement} instead.`,\n );\n }\n }, [preferredPlacement, resolvedPlacement]);\n\n const anchorReference = useRef(null);\n const [open, setOpen] = useState(false);\n\n const handleOnClose = () => {\n setOpen(false);\n onClose?.();\n };\n\n return (\n <span className=\"np-popover\">\n <span ref={anchorReference} className=\"d-inline-block\">\n {isValidElement<{ onClick?: () => void }>(children)\n ? cloneElement(children, {\n onClick: () => {\n children.props.onClick?.();\n setOpen((prevOpen) => !prevOpen);\n },\n })\n : children}\n </span>\n <ResponsivePanel\n aria-label={ariaLabel}\n aria-labelledby={title && !ariaLabel ? titleId : undefined}\n open={open}\n anchorRef={anchorReference}\n position={resolvedPlacement}\n arrow\n className={clsx('np-popover__container', className)}\n onClose={handleOnClose}\n >\n <div className=\"np-popover__content np-text-default-body\">\n {title && (\n <Title type={Typography.TITLE_BODY} id={titleId} className=\"m-b-1\">\n {title}\n </Title>\n )}\n {content}\n </div>\n </ResponsivePanel>\n </span>\n );\n}\n"],"names":["resolvePlacement","preferredPlacement","Popover","children","className","content","Position","RIGHT","title","onClose","ariaLabel","titleId","useId","resolvedPlacement","useEffect","logActionRequired","anchorReference","useRef","open","setOpen","useState","handleOnClose","_jsxs","_jsx","ref","isValidElement","cloneElement","onClick","props","prevOpen","ResponsivePanel","undefined","anchorRef","position","arrow","clsx","Title","type","Typography","TITLE_BODY","id"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrimitiveAnchor.js","sources":["../../../src/Primitives/PrimitiveAnchor/PrimitiveAnchor.tsx"],"sourcesContent":["import React, { forwardRef, useCallback } from 'react';\nimport { clsx } from 'clsx';\nimport type { PrimitiveAnchorProps } from '.';\n\n/**\n * The Primitive `PrimitiveAnchor` component is customisable link element that can be\n * used in various parts of the Wise Design System internally. It supports\n * different states such as disabled and provides event handlers for common\n * interactions like click, focus, blur, mouse enter, mouse leave, and key down.\n *\n * @see {@link PrimitiveAnchor} for further information.\n * @see {@link https://storybook.wise.design/?path=/docs/primitive-anchor--docs|Storybook Wise Design}\n */\nconst PrimitiveAnchor = forwardRef<HTMLAnchorElement, PrimitiveAnchorProps>(\n (\n {\n children,\n className,\n href,\n id,\n disabled = false,\n testId,\n onClick,\n onFocus,\n onBlur,\n onMouseEnter,\n onMouseLeave,\n onKeyDown,\n ...props\n },\n ref,\n ) => {\n const anchorClasses = clsx(className);\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n if (disabled) {\n event.preventDefault();\n } else {\n onClick?.(event);\n }\n },\n [disabled, onClick],\n );\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLAnchorElement>) => {\n onFocus?.(event);\n },\n [onFocus],\n );\n\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLAnchorElement>) => {\n onBlur?.(event);\n },\n [onBlur],\n );\n\n const handleMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n onMouseEnter?.(event);\n },\n [onMouseEnter],\n );\n\n const handleMouseLeave = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n onMouseLeave?.(event);\n },\n [onMouseLeave],\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLAnchorElement>) => {\n onKeyDown?.(event);\n },\n [onKeyDown],\n );\n\n /**\n * The following props are set to handle the `disabled` state for the link:\n *\n * - `aria-disabled`: Exposes the link as disabled to assistive technologies.\n * - `href`: Removed when `disabled` is true to prevent navigation.\n * - `role`: Set to 'link' when `disabled` is true to ensure the element\n * is still exposed as a link.\n *\n * For more details, refer to Scott O'Hara's article on disabling links:\n * https://www.scottohara.me/blog/2021/05/28/disabled-links.html\n */\n const anchorProps = {\n 'aria-disabled': disabled || undefined,\n className: anchorClasses,\n 'data-testid': testId,\n href: disabled ? undefined : href,\n id,\n ref,\n role: disabled ? 'link' : undefined,\n rel: props.target === '_blank' ? 'noopener noreferrer' : undefined,\n onClick: handleClick,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n onKeyDown: handleKeyDown,\n ...props,\n };\n\n return <a {...anchorProps}>{children}</a>;\n },\n);\n\nPrimitiveAnchor.displayName = 'PrimitiveAnchor';\n\nexport default PrimitiveAnchor;\n"],"names":["PrimitiveAnchor","forwardRef","children","className","href","id","disabled","testId","onClick","onFocus","onBlur","onMouseEnter","onMouseLeave","onKeyDown","props","ref","anchorClasses","clsx","handleClick","useCallback","event","preventDefault","handleFocus","handleBlur","handleMouseEnter","handleMouseLeave","handleKeyDown","anchorProps","undefined","role","rel","target","_jsx","displayName"],"mappings":";;;;;;;;AAaA,MAAMA,eAAe,gBAAGC,gBAAU,CAChC,CACE;EACEC,QAAQ;EACRC,SAAS;EACTC,IAAI;EACJC,EAAE;AACFC,EAAAA,QAAQ,GAAG,KAAK;EAChBC,MAAM;EACNC,OAAO;EACPC,OAAO;EACPC,MAAM;EACNC,YAAY;EACZC,YAAY;EACZC,SAAS;EACT,GAAGC;CACJ,EACDC,GAAG,KACD;AACF,EAAA,MAAMC,aAAa,GAAGC,SAAI,CAACd,SAAS,CAAC;AAErC,EAAA,MAAMe,WAAW,GAAGC,iBAAW,CAC5BC,KAA0C,IAAI;AAC7C,IAAA,IAAId,QAAQ,EAAE;MACZc,KAAK,CAACC,cAAc,EAAE;AACxB,IAAA,CAAC,MAAM;MACLb,OAAO,GAAGY,KAAK,CAAC;AAClB,IAAA;AACF,EAAA,CAAC,EACD,CAACd,QAAQ,EAAEE,OAAO,CAAC,CACpB;AAED,EAAA,MAAMc,WAAW,GAAGH,iBAAW,CAC5BC,KAA0C,IAAI;IAC7CX,OAAO,GAAGW,KAAK,CAAC;AAClB,EAAA,CAAC,EACD,CAACX,OAAO,CAAC,CACV;AAED,EAAA,MAAMc,UAAU,GAAGJ,iBAAW,CAC3BC,KAA0C,IAAI;IAC7CV,MAAM,GAAGU,KAAK,CAAC;AACjB,EAAA,CAAC,EACD,CAACV,MAAM,CAAC,CACT;AAED,EAAA,MAAMc,gBAAgB,GAAGL,iBAAW,CACjCC,KAA0C,IAAI;IAC7CT,YAAY,GAAGS,KAAK,CAAC;AACvB,EAAA,CAAC,EACD,CAACT,YAAY,CAAC,CACf;AAED,EAAA,MAAMc,gBAAgB,GAAGN,iBAAW,CACjCC,KAA0C,IAAI;IAC7CR,YAAY,GAAGQ,KAAK,CAAC;AACvB,EAAA,CAAC,EACD,CAACR,YAAY,CAAC,CACf;AAED,EAAA,MAAMc,aAAa,GAAGP,iBAAW,CAC9BC,KAA6C,IAAI;IAChDP,SAAS,GAAGO,KAAK,CAAC;AACpB,EAAA,CAAC,EACD,CAACP,SAAS,CAAC,CACZ;AAED;;;;;;;;;;AAUG;AACH,EAAA,MAAMc,WAAW,GAAG;IAClB,eAAe,EAAErB,QAAQ,IAAIsB,SAAS;AACtCzB,IAAAA,SAAS,EAAEa,aAAa;AACxB,IAAA,aAAa,EAAET,MAAM;AACrBH,IAAAA,IAAI,EAAEE,QAAQ,GAAGsB,SAAS,GAAGxB,IAAI;IACjCC,EAAE;IACFU,GAAG;AACHc,IAAAA,IAAI,EAAEvB,QAAQ,GAAG,MAAM,GAAGsB,SAAS;IACnCE,GAAG,EAAEhB,KAAK,CAACiB,MAAM,KAAK,QAAQ,GAAG,qBAAqB,GAAGH,SAAS;AAClEpB,IAAAA,OAAO,EAAEU,WAAW;AACpBT,IAAAA,OAAO,EAAEa,WAAW;AACpBZ,IAAAA,MAAM,EAAEa,UAAU;AAClBZ,IAAAA,YAAY,EAAEa,gBAAgB;AAC9BZ,IAAAA,YAAY,EAAEa,gBAAgB;AAC9BZ,IAAAA,SAAS,EAAEa,aAAa;IACxB,GAAGZ;GACJ;AAED,EAAA,oBAAOkB,cAAA,CAAA,GAAA,EAAA;AAAA,IAAA,GAAOL,WAAW;AAAAzB,IAAAA,QAAA,EAAGA;AAAQ,GAAI,CAAC;AAC3C,CAAC;AAGHF,eAAe,CAACiC,WAAW,GAAG,iBAAiB
|
|
1
|
+
{"version":3,"file":"PrimitiveAnchor.js","sources":["../../../src/Primitives/PrimitiveAnchor/PrimitiveAnchor.tsx"],"sourcesContent":["import React, { forwardRef, useCallback } from 'react';\nimport { clsx } from 'clsx';\nimport type { PrimitiveAnchorProps } from '.';\n\n/**\n * The Primitive `PrimitiveAnchor` component is customisable link element that can be\n * used in various parts of the Wise Design System internally. It supports\n * different states such as disabled and provides event handlers for common\n * interactions like click, focus, blur, mouse enter, mouse leave, and key down.\n *\n * @see {@link PrimitiveAnchor} for further information.\n * @see {@link https://storybook.wise.design/?path=/docs/primitive-anchor--docs|Storybook Wise Design}\n */\nconst PrimitiveAnchor = forwardRef<HTMLAnchorElement, PrimitiveAnchorProps>(\n (\n {\n children,\n className,\n href,\n id,\n disabled = false,\n testId,\n onClick,\n onFocus,\n onBlur,\n onMouseEnter,\n onMouseLeave,\n onKeyDown,\n ...props\n },\n ref,\n ) => {\n const anchorClasses = clsx(className);\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n if (disabled) {\n event.preventDefault();\n } else {\n onClick?.(event);\n }\n },\n [disabled, onClick],\n );\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLAnchorElement>) => {\n onFocus?.(event);\n },\n [onFocus],\n );\n\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLAnchorElement>) => {\n onBlur?.(event);\n },\n [onBlur],\n );\n\n const handleMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n onMouseEnter?.(event);\n },\n [onMouseEnter],\n );\n\n const handleMouseLeave = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n onMouseLeave?.(event);\n },\n [onMouseLeave],\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLAnchorElement>) => {\n onKeyDown?.(event);\n },\n [onKeyDown],\n );\n\n /**\n * The following props are set to handle the `disabled` state for the link:\n *\n * - `aria-disabled`: Exposes the link as disabled to assistive technologies.\n * - `href`: Removed when `disabled` is true to prevent navigation.\n * - `role`: Set to 'link' when `disabled` is true to ensure the element\n * is still exposed as a link.\n *\n * For more details, refer to Scott O'Hara's article on disabling links:\n * https://www.scottohara.me/blog/2021/05/28/disabled-links.html\n */\n const anchorProps = {\n 'aria-disabled': disabled || undefined,\n className: anchorClasses,\n 'data-testid': testId,\n href: disabled ? undefined : href,\n id,\n ref,\n role: disabled ? 'link' : undefined,\n rel: props.target === '_blank' ? 'noopener noreferrer' : undefined,\n onClick: handleClick,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n onKeyDown: handleKeyDown,\n ...props,\n };\n\n return <a {...anchorProps}>{children}</a>;\n },\n);\n\nPrimitiveAnchor.displayName = 'PrimitiveAnchor';\n\nexport default PrimitiveAnchor;\n"],"names":["PrimitiveAnchor","forwardRef","children","className","href","id","disabled","testId","onClick","onFocus","onBlur","onMouseEnter","onMouseLeave","onKeyDown","props","ref","anchorClasses","clsx","handleClick","useCallback","event","preventDefault","handleFocus","handleBlur","handleMouseEnter","handleMouseLeave","handleKeyDown","anchorProps","undefined","role","rel","target","_jsx","displayName"],"mappings":";;;;;;;;AAaA,MAAMA,eAAe,gBAAGC,gBAAU,CAChC,CACE;EACEC,QAAQ;EACRC,SAAS;EACTC,IAAI;EACJC,EAAE;AACFC,EAAAA,QAAQ,GAAG,KAAK;EAChBC,MAAM;EACNC,OAAO;EACPC,OAAO;EACPC,MAAM;EACNC,YAAY;EACZC,YAAY;EACZC,SAAS;EACT,GAAGC;CACJ,EACDC,GAAG,KACD;AACF,EAAA,MAAMC,aAAa,GAAGC,SAAI,CAACd,SAAS,CAAC;AAErC,EAAA,MAAMe,WAAW,GAAGC,iBAAW,CAC5BC,KAA0C,IAAI;AAC7C,IAAA,IAAId,QAAQ,EAAE;MACZc,KAAK,CAACC,cAAc,EAAE;AACxB,IAAA,CAAC,MAAM;MACLb,OAAO,GAAGY,KAAK,CAAC;AAClB,IAAA;AACF,EAAA,CAAC,EACD,CAACd,QAAQ,EAAEE,OAAO,CAAC,CACpB;AAED,EAAA,MAAMc,WAAW,GAAGH,iBAAW,CAC5BC,KAA0C,IAAI;IAC7CX,OAAO,GAAGW,KAAK,CAAC;AAClB,EAAA,CAAC,EACD,CAACX,OAAO,CAAC,CACV;AAED,EAAA,MAAMc,UAAU,GAAGJ,iBAAW,CAC3BC,KAA0C,IAAI;IAC7CV,MAAM,GAAGU,KAAK,CAAC;AACjB,EAAA,CAAC,EACD,CAACV,MAAM,CAAC,CACT;AAED,EAAA,MAAMc,gBAAgB,GAAGL,iBAAW,CACjCC,KAA0C,IAAI;IAC7CT,YAAY,GAAGS,KAAK,CAAC;AACvB,EAAA,CAAC,EACD,CAACT,YAAY,CAAC,CACf;AAED,EAAA,MAAMc,gBAAgB,GAAGN,iBAAW,CACjCC,KAA0C,IAAI;IAC7CR,YAAY,GAAGQ,KAAK,CAAC;AACvB,EAAA,CAAC,EACD,CAACR,YAAY,CAAC,CACf;AAED,EAAA,MAAMc,aAAa,GAAGP,iBAAW,CAC9BC,KAA6C,IAAI;IAChDP,SAAS,GAAGO,KAAK,CAAC;AACpB,EAAA,CAAC,EACD,CAACP,SAAS,CAAC,CACZ;AAED;;;;;;;;;;AAUG;AACH,EAAA,MAAMc,WAAW,GAAG;IAClB,eAAe,EAAErB,QAAQ,IAAIsB,SAAS;AACtCzB,IAAAA,SAAS,EAAEa,aAAa;AACxB,IAAA,aAAa,EAAET,MAAM;AACrBH,IAAAA,IAAI,EAAEE,QAAQ,GAAGsB,SAAS,GAAGxB,IAAI;IACjCC,EAAE;IACFU,GAAG;AACHc,IAAAA,IAAI,EAAEvB,QAAQ,GAAG,MAAM,GAAGsB,SAAS;IACnCE,GAAG,EAAEhB,KAAK,CAACiB,MAAM,KAAK,QAAQ,GAAG,qBAAqB,GAAGH,SAAS;AAClEpB,IAAAA,OAAO,EAAEU,WAAW;AACpBT,IAAAA,OAAO,EAAEa,WAAW;AACpBZ,IAAAA,MAAM,EAAEa,UAAU;AAClBZ,IAAAA,YAAY,EAAEa,gBAAgB;AAC9BZ,IAAAA,YAAY,EAAEa,gBAAgB;AAC9BZ,IAAAA,SAAS,EAAEa,aAAa;IACxB,GAAGZ;GACJ;AAED,EAAA,oBAAOkB,cAAA,CAAA,GAAA,EAAA;AAAA,IAAA,GAAOL,WAAW;AAAAzB,IAAAA,QAAA,EAAGA;AAAQ,GAAI,CAAC;AAC3C,CAAC;AAGHF,eAAe,CAACiC,WAAW,GAAG,iBAAiB;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrimitiveAnchor.mjs","sources":["../../../src/Primitives/PrimitiveAnchor/PrimitiveAnchor.tsx"],"sourcesContent":["import React, { forwardRef, useCallback } from 'react';\nimport { clsx } from 'clsx';\nimport type { PrimitiveAnchorProps } from '.';\n\n/**\n * The Primitive `PrimitiveAnchor` component is customisable link element that can be\n * used in various parts of the Wise Design System internally. It supports\n * different states such as disabled and provides event handlers for common\n * interactions like click, focus, blur, mouse enter, mouse leave, and key down.\n *\n * @see {@link PrimitiveAnchor} for further information.\n * @see {@link https://storybook.wise.design/?path=/docs/primitive-anchor--docs|Storybook Wise Design}\n */\nconst PrimitiveAnchor = forwardRef<HTMLAnchorElement, PrimitiveAnchorProps>(\n (\n {\n children,\n className,\n href,\n id,\n disabled = false,\n testId,\n onClick,\n onFocus,\n onBlur,\n onMouseEnter,\n onMouseLeave,\n onKeyDown,\n ...props\n },\n ref,\n ) => {\n const anchorClasses = clsx(className);\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n if (disabled) {\n event.preventDefault();\n } else {\n onClick?.(event);\n }\n },\n [disabled, onClick],\n );\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLAnchorElement>) => {\n onFocus?.(event);\n },\n [onFocus],\n );\n\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLAnchorElement>) => {\n onBlur?.(event);\n },\n [onBlur],\n );\n\n const handleMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n onMouseEnter?.(event);\n },\n [onMouseEnter],\n );\n\n const handleMouseLeave = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n onMouseLeave?.(event);\n },\n [onMouseLeave],\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLAnchorElement>) => {\n onKeyDown?.(event);\n },\n [onKeyDown],\n );\n\n /**\n * The following props are set to handle the `disabled` state for the link:\n *\n * - `aria-disabled`: Exposes the link as disabled to assistive technologies.\n * - `href`: Removed when `disabled` is true to prevent navigation.\n * - `role`: Set to 'link' when `disabled` is true to ensure the element\n * is still exposed as a link.\n *\n * For more details, refer to Scott O'Hara's article on disabling links:\n * https://www.scottohara.me/blog/2021/05/28/disabled-links.html\n */\n const anchorProps = {\n 'aria-disabled': disabled || undefined,\n className: anchorClasses,\n 'data-testid': testId,\n href: disabled ? undefined : href,\n id,\n ref,\n role: disabled ? 'link' : undefined,\n rel: props.target === '_blank' ? 'noopener noreferrer' : undefined,\n onClick: handleClick,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n onKeyDown: handleKeyDown,\n ...props,\n };\n\n return <a {...anchorProps}>{children}</a>;\n },\n);\n\nPrimitiveAnchor.displayName = 'PrimitiveAnchor';\n\nexport default PrimitiveAnchor;\n"],"names":["PrimitiveAnchor","forwardRef","children","className","href","id","disabled","testId","onClick","onFocus","onBlur","onMouseEnter","onMouseLeave","onKeyDown","props","ref","anchorClasses","clsx","handleClick","useCallback","event","preventDefault","handleFocus","handleBlur","handleMouseEnter","handleMouseLeave","handleKeyDown","anchorProps","undefined","role","rel","target","_jsx","displayName"],"mappings":";;;;AAaA,MAAMA,eAAe,gBAAGC,UAAU,CAChC,CACE;EACEC,QAAQ;EACRC,SAAS;EACTC,IAAI;EACJC,EAAE;AACFC,EAAAA,QAAQ,GAAG,KAAK;EAChBC,MAAM;EACNC,OAAO;EACPC,OAAO;EACPC,MAAM;EACNC,YAAY;EACZC,YAAY;EACZC,SAAS;EACT,GAAGC;CACJ,EACDC,GAAG,KACD;AACF,EAAA,MAAMC,aAAa,GAAGC,IAAI,CAACd,SAAS,CAAC;AAErC,EAAA,MAAMe,WAAW,GAAGC,WAAW,CAC5BC,KAA0C,IAAI;AAC7C,IAAA,IAAId,QAAQ,EAAE;MACZc,KAAK,CAACC,cAAc,EAAE;AACxB,IAAA,CAAC,MAAM;MACLb,OAAO,GAAGY,KAAK,CAAC;AAClB,IAAA;AACF,EAAA,CAAC,EACD,CAACd,QAAQ,EAAEE,OAAO,CAAC,CACpB;AAED,EAAA,MAAMc,WAAW,GAAGH,WAAW,CAC5BC,KAA0C,IAAI;IAC7CX,OAAO,GAAGW,KAAK,CAAC;AAClB,EAAA,CAAC,EACD,CAACX,OAAO,CAAC,CACV;AAED,EAAA,MAAMc,UAAU,GAAGJ,WAAW,CAC3BC,KAA0C,IAAI;IAC7CV,MAAM,GAAGU,KAAK,CAAC;AACjB,EAAA,CAAC,EACD,CAACV,MAAM,CAAC,CACT;AAED,EAAA,MAAMc,gBAAgB,GAAGL,WAAW,CACjCC,KAA0C,IAAI;IAC7CT,YAAY,GAAGS,KAAK,CAAC;AACvB,EAAA,CAAC,EACD,CAACT,YAAY,CAAC,CACf;AAED,EAAA,MAAMc,gBAAgB,GAAGN,WAAW,CACjCC,KAA0C,IAAI;IAC7CR,YAAY,GAAGQ,KAAK,CAAC;AACvB,EAAA,CAAC,EACD,CAACR,YAAY,CAAC,CACf;AAED,EAAA,MAAMc,aAAa,GAAGP,WAAW,CAC9BC,KAA6C,IAAI;IAChDP,SAAS,GAAGO,KAAK,CAAC;AACpB,EAAA,CAAC,EACD,CAACP,SAAS,CAAC,CACZ;AAED;;;;;;;;;;AAUG;AACH,EAAA,MAAMc,WAAW,GAAG;IAClB,eAAe,EAAErB,QAAQ,IAAIsB,SAAS;AACtCzB,IAAAA,SAAS,EAAEa,aAAa;AACxB,IAAA,aAAa,EAAET,MAAM;AACrBH,IAAAA,IAAI,EAAEE,QAAQ,GAAGsB,SAAS,GAAGxB,IAAI;IACjCC,EAAE;IACFU,GAAG;AACHc,IAAAA,IAAI,EAAEvB,QAAQ,GAAG,MAAM,GAAGsB,SAAS;IACnCE,GAAG,EAAEhB,KAAK,CAACiB,MAAM,KAAK,QAAQ,GAAG,qBAAqB,GAAGH,SAAS;AAClEpB,IAAAA,OAAO,EAAEU,WAAW;AACpBT,IAAAA,OAAO,EAAEa,WAAW;AACpBZ,IAAAA,MAAM,EAAEa,UAAU;AAClBZ,IAAAA,YAAY,EAAEa,gBAAgB;AAC9BZ,IAAAA,YAAY,EAAEa,gBAAgB;AAC9BZ,IAAAA,SAAS,EAAEa,aAAa;IACxB,GAAGZ;GACJ;AAED,EAAA,oBAAOkB,GAAA,CAAA,GAAA,EAAA;AAAA,IAAA,GAAOL,WAAW;AAAAzB,IAAAA,QAAA,EAAGA;AAAQ,GAAI,CAAC;AAC3C,CAAC;AAGHF,eAAe,CAACiC,WAAW,GAAG,iBAAiB
|
|
1
|
+
{"version":3,"file":"PrimitiveAnchor.mjs","sources":["../../../src/Primitives/PrimitiveAnchor/PrimitiveAnchor.tsx"],"sourcesContent":["import React, { forwardRef, useCallback } from 'react';\nimport { clsx } from 'clsx';\nimport type { PrimitiveAnchorProps } from '.';\n\n/**\n * The Primitive `PrimitiveAnchor` component is customisable link element that can be\n * used in various parts of the Wise Design System internally. It supports\n * different states such as disabled and provides event handlers for common\n * interactions like click, focus, blur, mouse enter, mouse leave, and key down.\n *\n * @see {@link PrimitiveAnchor} for further information.\n * @see {@link https://storybook.wise.design/?path=/docs/primitive-anchor--docs|Storybook Wise Design}\n */\nconst PrimitiveAnchor = forwardRef<HTMLAnchorElement, PrimitiveAnchorProps>(\n (\n {\n children,\n className,\n href,\n id,\n disabled = false,\n testId,\n onClick,\n onFocus,\n onBlur,\n onMouseEnter,\n onMouseLeave,\n onKeyDown,\n ...props\n },\n ref,\n ) => {\n const anchorClasses = clsx(className);\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n if (disabled) {\n event.preventDefault();\n } else {\n onClick?.(event);\n }\n },\n [disabled, onClick],\n );\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLAnchorElement>) => {\n onFocus?.(event);\n },\n [onFocus],\n );\n\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLAnchorElement>) => {\n onBlur?.(event);\n },\n [onBlur],\n );\n\n const handleMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n onMouseEnter?.(event);\n },\n [onMouseEnter],\n );\n\n const handleMouseLeave = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n onMouseLeave?.(event);\n },\n [onMouseLeave],\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLAnchorElement>) => {\n onKeyDown?.(event);\n },\n [onKeyDown],\n );\n\n /**\n * The following props are set to handle the `disabled` state for the link:\n *\n * - `aria-disabled`: Exposes the link as disabled to assistive technologies.\n * - `href`: Removed when `disabled` is true to prevent navigation.\n * - `role`: Set to 'link' when `disabled` is true to ensure the element\n * is still exposed as a link.\n *\n * For more details, refer to Scott O'Hara's article on disabling links:\n * https://www.scottohara.me/blog/2021/05/28/disabled-links.html\n */\n const anchorProps = {\n 'aria-disabled': disabled || undefined,\n className: anchorClasses,\n 'data-testid': testId,\n href: disabled ? undefined : href,\n id,\n ref,\n role: disabled ? 'link' : undefined,\n rel: props.target === '_blank' ? 'noopener noreferrer' : undefined,\n onClick: handleClick,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n onKeyDown: handleKeyDown,\n ...props,\n };\n\n return <a {...anchorProps}>{children}</a>;\n },\n);\n\nPrimitiveAnchor.displayName = 'PrimitiveAnchor';\n\nexport default PrimitiveAnchor;\n"],"names":["PrimitiveAnchor","forwardRef","children","className","href","id","disabled","testId","onClick","onFocus","onBlur","onMouseEnter","onMouseLeave","onKeyDown","props","ref","anchorClasses","clsx","handleClick","useCallback","event","preventDefault","handleFocus","handleBlur","handleMouseEnter","handleMouseLeave","handleKeyDown","anchorProps","undefined","role","rel","target","_jsx","displayName"],"mappings":";;;;AAaA,MAAMA,eAAe,gBAAGC,UAAU,CAChC,CACE;EACEC,QAAQ;EACRC,SAAS;EACTC,IAAI;EACJC,EAAE;AACFC,EAAAA,QAAQ,GAAG,KAAK;EAChBC,MAAM;EACNC,OAAO;EACPC,OAAO;EACPC,MAAM;EACNC,YAAY;EACZC,YAAY;EACZC,SAAS;EACT,GAAGC;CACJ,EACDC,GAAG,KACD;AACF,EAAA,MAAMC,aAAa,GAAGC,IAAI,CAACd,SAAS,CAAC;AAErC,EAAA,MAAMe,WAAW,GAAGC,WAAW,CAC5BC,KAA0C,IAAI;AAC7C,IAAA,IAAId,QAAQ,EAAE;MACZc,KAAK,CAACC,cAAc,EAAE;AACxB,IAAA,CAAC,MAAM;MACLb,OAAO,GAAGY,KAAK,CAAC;AAClB,IAAA;AACF,EAAA,CAAC,EACD,CAACd,QAAQ,EAAEE,OAAO,CAAC,CACpB;AAED,EAAA,MAAMc,WAAW,GAAGH,WAAW,CAC5BC,KAA0C,IAAI;IAC7CX,OAAO,GAAGW,KAAK,CAAC;AAClB,EAAA,CAAC,EACD,CAACX,OAAO,CAAC,CACV;AAED,EAAA,MAAMc,UAAU,GAAGJ,WAAW,CAC3BC,KAA0C,IAAI;IAC7CV,MAAM,GAAGU,KAAK,CAAC;AACjB,EAAA,CAAC,EACD,CAACV,MAAM,CAAC,CACT;AAED,EAAA,MAAMc,gBAAgB,GAAGL,WAAW,CACjCC,KAA0C,IAAI;IAC7CT,YAAY,GAAGS,KAAK,CAAC;AACvB,EAAA,CAAC,EACD,CAACT,YAAY,CAAC,CACf;AAED,EAAA,MAAMc,gBAAgB,GAAGN,WAAW,CACjCC,KAA0C,IAAI;IAC7CR,YAAY,GAAGQ,KAAK,CAAC;AACvB,EAAA,CAAC,EACD,CAACR,YAAY,CAAC,CACf;AAED,EAAA,MAAMc,aAAa,GAAGP,WAAW,CAC9BC,KAA6C,IAAI;IAChDP,SAAS,GAAGO,KAAK,CAAC;AACpB,EAAA,CAAC,EACD,CAACP,SAAS,CAAC,CACZ;AAED;;;;;;;;;;AAUG;AACH,EAAA,MAAMc,WAAW,GAAG;IAClB,eAAe,EAAErB,QAAQ,IAAIsB,SAAS;AACtCzB,IAAAA,SAAS,EAAEa,aAAa;AACxB,IAAA,aAAa,EAAET,MAAM;AACrBH,IAAAA,IAAI,EAAEE,QAAQ,GAAGsB,SAAS,GAAGxB,IAAI;IACjCC,EAAE;IACFU,GAAG;AACHc,IAAAA,IAAI,EAAEvB,QAAQ,GAAG,MAAM,GAAGsB,SAAS;IACnCE,GAAG,EAAEhB,KAAK,CAACiB,MAAM,KAAK,QAAQ,GAAG,qBAAqB,GAAGH,SAAS;AAClEpB,IAAAA,OAAO,EAAEU,WAAW;AACpBT,IAAAA,OAAO,EAAEa,WAAW;AACpBZ,IAAAA,MAAM,EAAEa,UAAU;AAClBZ,IAAAA,YAAY,EAAEa,gBAAgB;AAC9BZ,IAAAA,YAAY,EAAEa,gBAAgB;AAC9BZ,IAAAA,SAAS,EAAEa,aAAa;IACxB,GAAGZ;GACJ;AAED,EAAA,oBAAOkB,GAAA,CAAA,GAAA,EAAA;AAAA,IAAA,GAAOL,WAAW;AAAAzB,IAAAA,QAAA,EAAGA;AAAQ,GAAI,CAAC;AAC3C,CAAC;AAGHF,eAAe,CAACiC,WAAW,GAAG,iBAAiB;;"}
|