@alfalab/core-components-international-phone-input 4.0.7 → 4.0.8

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.
Files changed (86) hide show
  1. package/components/base-international-phone-input/Component.d.ts +1 -1
  2. package/components/base-international-phone-input/Component.js.map +1 -1
  3. package/components/base-international-phone-input/index.css +1 -1
  4. package/components/base-international-phone-input/index.module.css.js +1 -1
  5. package/components/base-international-phone-input/index.module.css.js.map +1 -1
  6. package/components/country-select/Component.d.ts +2 -2
  7. package/components/country-select/index.css +9 -9
  8. package/components/country-select/index.module.css.js +1 -1
  9. package/components/country-select/index.module.css.js.map +1 -1
  10. package/components/flag-icon/component.d.ts +1 -1
  11. package/components/flag-icon/index.css +2 -2
  12. package/components/flag-icon/index.module.css.js +1 -1
  13. package/components/flag-icon/index.module.css.js.map +1 -1
  14. package/components/select-field/component.d.ts +1 -1
  15. package/components/select-field/index.css +7 -7
  16. package/components/select-field/index.module.css.js +1 -1
  17. package/components/select-field/index.module.css.js.map +1 -1
  18. package/cssm/components/base-international-phone-input/Component.d.ts +1 -1
  19. package/cssm/components/base-international-phone-input/Component.js.map +1 -1
  20. package/cssm/components/country-select/Component.d.ts +2 -2
  21. package/cssm/components/flag-icon/component.d.ts +1 -1
  22. package/cssm/components/select-field/component.d.ts +1 -1
  23. package/cssm/data/country-data.d.ts +1 -1
  24. package/cssm/types.d.ts +6 -6
  25. package/cssm/utils/index.d.ts +1 -1
  26. package/cssm/utils/index.js.map +1 -1
  27. package/data/country-data.d.ts +1 -1
  28. package/esm/components/base-international-phone-input/Component.d.ts +1 -1
  29. package/esm/components/base-international-phone-input/Component.js.map +1 -1
  30. package/esm/components/base-international-phone-input/index.css +1 -1
  31. package/esm/components/base-international-phone-input/index.module.css.js +1 -1
  32. package/esm/components/base-international-phone-input/index.module.css.js.map +1 -1
  33. package/esm/components/country-select/Component.d.ts +2 -2
  34. package/esm/components/country-select/index.css +9 -9
  35. package/esm/components/country-select/index.module.css.js +1 -1
  36. package/esm/components/country-select/index.module.css.js.map +1 -1
  37. package/esm/components/flag-icon/component.d.ts +1 -1
  38. package/esm/components/flag-icon/index.css +2 -2
  39. package/esm/components/flag-icon/index.module.css.js +1 -1
  40. package/esm/components/flag-icon/index.module.css.js.map +1 -1
  41. package/esm/components/select-field/component.d.ts +1 -1
  42. package/esm/components/select-field/index.css +7 -7
  43. package/esm/components/select-field/index.module.css.js +1 -1
  44. package/esm/components/select-field/index.module.css.js.map +1 -1
  45. package/esm/data/country-data.d.ts +1 -1
  46. package/esm/types.d.ts +6 -6
  47. package/esm/utils/index.d.ts +1 -1
  48. package/esm/utils/index.js.map +1 -1
  49. package/modern/components/base-international-phone-input/Component.d.ts +1 -1
  50. package/modern/components/base-international-phone-input/Component.js.map +1 -1
  51. package/modern/components/base-international-phone-input/index.css +1 -1
  52. package/modern/components/base-international-phone-input/index.module.css.js +1 -1
  53. package/modern/components/base-international-phone-input/index.module.css.js.map +1 -1
  54. package/modern/components/country-select/Component.d.ts +2 -2
  55. package/modern/components/country-select/index.css +9 -9
  56. package/modern/components/country-select/index.module.css.js +1 -1
  57. package/modern/components/country-select/index.module.css.js.map +1 -1
  58. package/modern/components/flag-icon/component.d.ts +1 -1
  59. package/modern/components/flag-icon/index.css +2 -2
  60. package/modern/components/flag-icon/index.module.css.js +1 -1
  61. package/modern/components/flag-icon/index.module.css.js.map +1 -1
  62. package/modern/components/select-field/component.d.ts +1 -1
  63. package/modern/components/select-field/index.css +7 -7
  64. package/modern/components/select-field/index.module.css.js +1 -1
  65. package/modern/components/select-field/index.module.css.js.map +1 -1
  66. package/modern/data/country-data.d.ts +1 -1
  67. package/modern/types.d.ts +6 -6
  68. package/modern/utils/index.d.ts +1 -1
  69. package/modern/utils/index.js.map +1 -1
  70. package/moderncssm/components/base-international-phone-input/Component.d.ts +1 -1
  71. package/moderncssm/components/base-international-phone-input/Component.js.map +1 -1
  72. package/moderncssm/components/country-select/Component.d.ts +2 -2
  73. package/moderncssm/components/flag-icon/component.d.ts +1 -1
  74. package/moderncssm/components/select-field/component.d.ts +1 -1
  75. package/moderncssm/data/country-data.d.ts +1 -1
  76. package/moderncssm/types.d.ts +6 -6
  77. package/moderncssm/utils/index.d.ts +1 -1
  78. package/moderncssm/utils/index.js.map +1 -1
  79. package/package.json +7 -7
  80. package/src/components/base-international-phone-input/index.module.css +1 -1
  81. package/src/components/country-select/index.module.css +1 -1
  82. package/src/components/flag-icon/index.module.css +1 -1
  83. package/src/components/select-field/index.module.css +1 -1
  84. package/types.d.ts +6 -6
  85. package/utils/index.d.ts +1 -1
  86. package/utils/index.js.map +1 -1
@@ -4,6 +4,6 @@ import { type InputAutocompleteProps } from '@alfalab/core-components-input-auto
4
4
  export declare const BaseInternationalPhoneInput: React.ForwardRefExoticComponent<import("../../types").CommonPhoneInputProps & {
5
5
  Input: React.FC<InputProps>;
6
6
  InputAutocomplete: React.FC<InputAutocompleteProps>;
7
- SelectComponent: React.ElementType<any, keyof React.JSX.IntrinsicElements>;
7
+ SelectComponent: React.ElementType;
8
8
  view: "desktop" | "mobile";
9
9
  } & Omit<InputProps, "onBlur" | "onFocus" | "onChange" | "onScroll" | "onInput"> & Partial<Omit<InputAutocompleteProps, "onChange" | "onScroll" | "onInput" | "leftAddons">> & React.RefAttributes<HTMLInputElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","sources":["../../src/components/base-international-phone-input/Component.tsx"],"sourcesContent":["import React, {\n type ChangeEvent,\n forwardRef,\n type MouseEvent,\n type RefAttributes,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport { maskitoTransform } from '@maskito/core';\nimport { useMaskito } from '@maskito/react';\n\nimport { type InputProps } from '@alfalab/core-components-input';\nimport { type InputAutocompleteProps } from '@alfalab/core-components-input-autocomplete';\nimport { type AnyObject, BaseOption } from '@alfalab/core-components-select/shared';\nimport { type BaseSelectChangePayload } from '@alfalab/core-components-select/typings';\n\nimport { type BaseInternationalPhoneInputProps, type Country } from '../../types';\nimport {\n createMaskOptions,\n filterPhones,\n findCountry,\n getClear,\n getInitialValueFromCountry,\n getPhoneData,\n initCountries,\n} from '../../utils';\nimport { CountrySelect } from '../country-select';\n\nimport styles from './index.module.css';\n\nexport const BaseInternationalPhoneInput = forwardRef<\n HTMLInputElement,\n BaseInternationalPhoneInputProps\n>(\n (\n {\n clearableCountryCode: clearableCountryCodeFromProps = true,\n value,\n country: countryProp,\n filterFn,\n onChange,\n onCountryChange,\n countrySelectProps,\n countries,\n defaultIso2,\n disabled,\n options,\n size = 56,\n Input,\n InputAutocomplete,\n SelectComponent,\n view,\n clear: clearProp,\n open: openProps,\n defaultOpen,\n customCountriesList,\n autoFill,\n ...restProps\n },\n ref,\n ) => {\n const { readOnly } = restProps;\n const countriesData = useMemo(\n () => initCountries(countries, customCountriesList),\n [countries, customCountriesList],\n );\n const inputRef = useRef<HTMLInputElement>(null);\n const inputWrapperRef = useRef<HTMLDivElement>(null);\n\n const [open, setOpen] = useState<boolean | undefined>(defaultOpen);\n const [openCountry, setOpenCountry] = useState<boolean | undefined>(\n countrySelectProps?.defaultOpen,\n );\n const beforeAutofillValueRef = useRef('');\n const [selectedCountry, setSelectedCountry] = useState<Country | undefined>(() =>\n findCountry(countriesData, value, defaultIso2, countryProp),\n );\n const filteredOptions = filterPhones(value, options, filterFn);\n const country = countryProp ?? selectedCountry;\n\n const handleCountryChange = (nextCountry?: Country) => {\n if (countryProp === undefined) setSelectedCountry(nextCountry);\n onCountryChange?.(nextCountry);\n };\n\n const preserveCountryCode = clearableCountryCodeFromProps === 'preserve';\n const clearableCountryCode = preserveCountryCode || clearableCountryCodeFromProps;\n const maskOptions = useMemo(\n () =>\n createMaskOptions(\n country,\n clearableCountryCode,\n preserveCountryCode,\n beforeAutofillValueRef,\n ),\n [country, clearableCountryCode, preserveCountryCode],\n );\n\n const maskRef = useMaskito({ options: maskOptions });\n\n const changeNumber = (phone: string) => {\n onChange?.(phone);\n };\n\n const updatePhoneData = (phone: string) => {\n const { nextCountry, nextPhone } = getPhoneData(phone, countriesData, defaultIso2);\n\n if (nextCountry !== country) {\n handleCountryChange?.(nextCountry);\n }\n changeNumber(nextPhone);\n };\n\n const handleSelectCountry = ({ selected }: BaseSelectChangePayload) => {\n const nextCountry = selected?.value as Country;\n\n handleCountryChange?.(nextCountry);\n\n if (nextCountry) {\n changeNumber(getInitialValueFromCountry(nextCountry.countryCode));\n }\n\n requestAnimationFrame(() => inputRef.current?.focus());\n };\n\n const handleOptionSelect = (payload: BaseSelectChangePayload | string) => {\n updatePhoneData(\n maskitoTransform(\n typeof payload === 'string' ? payload : payload.selected?.key || '',\n maskOptions,\n ),\n );\n };\n\n const handleInput = ({ target: { value: inputValue } }: ChangeEvent<HTMLInputElement>) => {\n updatePhoneData(inputValue);\n };\n\n const handleClear = (event: MouseEvent<HTMLButtonElement>) => {\n restProps.inputProps?.onClear?.(event);\n\n if (clearableCountryCode) {\n const nextCountry = findCountry(countriesData, '', defaultIso2, countryProp);\n\n changeNumber('');\n handleCountryChange(nextCountry);\n } else {\n changeNumber(country ? getInitialValueFromCountry(country.countryCode) : '');\n }\n };\n\n useEffect(() => {\n if (value) {\n const newValue = maskitoTransform(value, maskOptions);\n\n if (value !== newValue) {\n updatePhoneData(newValue);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value, maskOptions]);\n\n const openPhoneSelect: InputAutocompleteProps['onOpen'] = (payload) => {\n if (openProps === undefined) setOpen(payload.open);\n restProps.onOpen?.(payload);\n };\n\n const openCountrySelect: InputAutocompleteProps['onOpen'] = (payload) => {\n if (countrySelectProps?.open === undefined) setOpenCountry(payload.open);\n countrySelectProps?.onOpen?.(payload);\n };\n\n const handlePhoneSelectOpen: InputAutocompleteProps['onOpen'] = (payload) => {\n if (payload.open) {\n openCountrySelect({ open: false });\n }\n\n openPhoneSelect(payload);\n };\n\n const handleCountrySelectOpen: InputAutocompleteProps['onOpen'] = (payload) => {\n if (payload.open) {\n openPhoneSelect({ open: false });\n }\n openCountrySelect(payload);\n };\n\n const showPhoneSelect = Boolean(open || openProps);\n const showCountrySelect = Boolean(openCountry || countrySelectProps?.open);\n\n const renderCountrySelect = (compact = false) => {\n if (disabled || readOnly) {\n return undefined;\n }\n\n return (\n <CountrySelect\n dataTestId={restProps?.dataTestId}\n size={size}\n {...countrySelectProps}\n view={view}\n SelectComponent={SelectComponent}\n disabled={disabled || countrySelectProps?.disabled}\n onChange={handleSelectCountry}\n country={country}\n countries={compact ? [] : countriesData}\n fieldWidth={inputWrapperRef.current?.getBoundingClientRect().width}\n onOpen={handleCountrySelectOpen}\n open={showCountrySelect}\n />\n );\n };\n\n const inputProps: InputProps & RefAttributes<HTMLInputElement> = {\n className: styles.component,\n ref: mergeRefs([maskRef, ref, inputRef]),\n wrapperRef: inputWrapperRef,\n addonsClassName: styles.addons,\n type: 'tel',\n autoComplete: 'tel',\n clear: getClear(clearProp, clearableCountryCode, value, country?.countryCode),\n ...restProps.inputProps,\n };\n\n return Array.isArray(options) ? (\n <InputAutocomplete\n closeOnSelect={true}\n Option={BaseOption}\n size={size}\n {...(restProps as InputAutocompleteProps)}\n disabled={disabled}\n options={filteredOptions}\n value={value}\n open={showPhoneSelect}\n onOpen={handlePhoneSelectOpen}\n onChange={handleOptionSelect}\n onInput={(phone) => updatePhoneData(phone)}\n inputProps={{\n ...inputProps,\n onClear: handleClear,\n onInput: handleInput,\n leftAddons: renderCountrySelect(view === 'mobile'),\n }}\n fieldProps={{\n ...(restProps.fieldProps as AnyObject),\n className: inputProps.className,\n addonsClassName: inputProps.addonsClassName,\n ...(view === 'mobile' ? { leftAddons: renderCountrySelect() } : null),\n }}\n />\n ) : (\n <Input\n {...restProps}\n {...inputProps}\n onClear={inputProps.clear ? handleClear : undefined}\n leftAddons={renderCountrySelect()}\n size={size}\n onInput={handleInput}\n value={value}\n disabled={disabled}\n />\n );\n },\n);\n"],"names":["forwardRef","__rest","useMemo","initCountries","useRef","useState","findCountry","filterPhones","createMaskOptions","useMaskito","getPhoneData","getInitialValueFromCountry","maskitoTransform","useEffect","React","CountrySelect","__assign","styles","mergeRefs","getClear","BaseOption"],"mappings":"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"}
1
+ {"version":3,"file":"Component.js","sources":["../../src/components/base-international-phone-input/Component.tsx"],"sourcesContent":["import React, {\n type ChangeEvent,\n forwardRef,\n type MouseEvent,\n type RefAttributes,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport { maskitoTransform } from '@maskito/core';\nimport { useMaskito } from '@maskito/react';\n\nimport { type InputProps } from '@alfalab/core-components-input';\nimport { type InputAutocompleteProps } from '@alfalab/core-components-input-autocomplete';\nimport { type AnyObject, BaseOption } from '@alfalab/core-components-select/shared';\nimport { type BaseSelectChangePayload } from '@alfalab/core-components-select/typings';\n\nimport { type BaseInternationalPhoneInputProps, type Country } from '../../types';\nimport {\n createMaskOptions,\n filterPhones,\n findCountry,\n getClear,\n getInitialValueFromCountry,\n getPhoneData,\n initCountries,\n} from '../../utils';\nimport { CountrySelect } from '../country-select';\n\nimport styles from './index.module.css';\n\nexport const BaseInternationalPhoneInput = forwardRef<\n HTMLInputElement,\n BaseInternationalPhoneInputProps\n>(\n (\n {\n clearableCountryCode: clearableCountryCodeFromProps = true,\n value,\n country: countryProp,\n filterFn,\n onChange,\n onCountryChange,\n countrySelectProps,\n countries,\n defaultIso2,\n disabled,\n options,\n size = 56,\n Input,\n InputAutocomplete,\n SelectComponent,\n view,\n clear: clearProp,\n open: openProps,\n defaultOpen,\n customCountriesList,\n autoFill,\n ...restProps\n },\n ref,\n ) => {\n const { readOnly } = restProps;\n const countriesData = useMemo(\n () => initCountries(countries, customCountriesList),\n [countries, customCountriesList],\n );\n const inputRef = useRef<HTMLInputElement>(null);\n const inputWrapperRef = useRef<HTMLDivElement>(null);\n\n const [open, setOpen] = useState<boolean | undefined>(defaultOpen);\n const [openCountry, setOpenCountry] = useState<boolean | undefined>(\n countrySelectProps?.defaultOpen,\n );\n const beforeAutofillValueRef = useRef('');\n const [selectedCountry, setSelectedCountry] = useState<Country | undefined>(() =>\n findCountry(countriesData, value, defaultIso2, countryProp),\n );\n const filteredOptions = filterPhones(value, options, filterFn);\n const country = countryProp ?? selectedCountry;\n\n const handleCountryChange = (nextCountry?: Country) => {\n if (countryProp === undefined) setSelectedCountry(nextCountry);\n onCountryChange?.(nextCountry);\n };\n\n const preserveCountryCode = clearableCountryCodeFromProps === 'preserve';\n const clearableCountryCode = preserveCountryCode || clearableCountryCodeFromProps;\n const maskOptions = useMemo(\n () =>\n createMaskOptions(\n country,\n clearableCountryCode,\n preserveCountryCode,\n beforeAutofillValueRef,\n ),\n [country, clearableCountryCode, preserveCountryCode],\n );\n\n const maskRef = useMaskito({ options: maskOptions });\n\n const changeNumber = (phone: string) => {\n onChange?.(phone);\n };\n\n const updatePhoneData = (phone: string) => {\n const { nextCountry, nextPhone } = getPhoneData(phone, countriesData, defaultIso2);\n\n if (nextCountry !== country) {\n handleCountryChange?.(nextCountry);\n }\n changeNumber(nextPhone);\n };\n\n const handleSelectCountry = ({ selected }: BaseSelectChangePayload) => {\n const nextCountry = selected?.value as Country;\n\n handleCountryChange?.(nextCountry);\n\n if (nextCountry) {\n changeNumber(getInitialValueFromCountry(nextCountry.countryCode));\n }\n\n requestAnimationFrame(() => inputRef.current?.focus());\n };\n\n const handleOptionSelect = (payload: BaseSelectChangePayload | string) => {\n updatePhoneData(\n maskitoTransform(\n typeof payload === 'string' ? payload : payload.selected?.key || '',\n maskOptions,\n ),\n );\n };\n\n const handleInput = ({ target: { value: inputValue } }: ChangeEvent<HTMLInputElement>) => {\n updatePhoneData(inputValue);\n };\n\n const handleClear = (event: MouseEvent<HTMLButtonElement>) => {\n restProps.inputProps?.onClear?.(event);\n\n if (clearableCountryCode) {\n const nextCountry = findCountry(countriesData, '', defaultIso2, countryProp);\n\n changeNumber('');\n handleCountryChange(nextCountry);\n } else {\n changeNumber(country ? getInitialValueFromCountry(country.countryCode) : '');\n }\n };\n\n useEffect(() => {\n if (value) {\n const newValue = maskitoTransform(value, maskOptions);\n\n if (value !== newValue) {\n updatePhoneData(newValue);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value, maskOptions]);\n\n const openPhoneSelect: InputAutocompleteProps['onOpen'] = (payload) => {\n if (openProps === undefined) setOpen(payload.open);\n restProps.onOpen?.(payload);\n };\n\n const openCountrySelect: InputAutocompleteProps['onOpen'] = (payload) => {\n if (countrySelectProps?.open === undefined) setOpenCountry(payload.open);\n countrySelectProps?.onOpen?.(payload);\n };\n\n const handlePhoneSelectOpen: InputAutocompleteProps['onOpen'] = (payload) => {\n if (payload.open) {\n openCountrySelect({ open: false });\n }\n\n openPhoneSelect(payload);\n };\n\n const handleCountrySelectOpen: InputAutocompleteProps['onOpen'] = (payload) => {\n if (payload.open) {\n openPhoneSelect({ open: false });\n }\n openCountrySelect(payload);\n };\n\n const showPhoneSelect = Boolean(open || openProps);\n const showCountrySelect = Boolean(openCountry || countrySelectProps?.open);\n\n const renderCountrySelect = (compact = false) => {\n if (disabled || readOnly) {\n return undefined;\n }\n\n return (\n <CountrySelect\n dataTestId={restProps?.dataTestId}\n size={size}\n {...countrySelectProps}\n view={view}\n SelectComponent={SelectComponent}\n disabled={disabled || countrySelectProps?.disabled}\n onChange={handleSelectCountry}\n country={country}\n countries={compact ? [] : countriesData}\n fieldWidth={inputWrapperRef.current?.getBoundingClientRect().width}\n onOpen={handleCountrySelectOpen}\n open={showCountrySelect}\n />\n );\n };\n\n const inputProps: InputProps & RefAttributes<HTMLInputElement> = {\n className: styles.component,\n ref: mergeRefs([maskRef, ref, inputRef]),\n wrapperRef: inputWrapperRef,\n addonsClassName: styles.addons,\n type: 'tel',\n autoComplete: 'tel',\n clear: getClear(clearProp, clearableCountryCode, value, country?.countryCode),\n ...restProps.inputProps,\n };\n\n return Array.isArray(options) ? (\n <InputAutocomplete\n closeOnSelect={true}\n Option={BaseOption}\n size={size}\n {...(restProps as InputAutocompleteProps)}\n disabled={disabled}\n options={filteredOptions}\n value={value}\n open={showPhoneSelect}\n onOpen={handlePhoneSelectOpen}\n onChange={handleOptionSelect}\n onInput={(phone) => updatePhoneData(phone)}\n inputProps={{\n ...inputProps,\n onClear: handleClear,\n onInput: handleInput,\n leftAddons: renderCountrySelect(view === 'mobile'),\n }}\n fieldProps={{\n ...(restProps.fieldProps as AnyObject),\n className: inputProps.className,\n addonsClassName: inputProps.addonsClassName,\n ...(view === 'mobile' ? { leftAddons: renderCountrySelect() } : null),\n }}\n />\n ) : (\n <Input\n {...restProps}\n {...inputProps}\n onClear={inputProps.clear ? handleClear : undefined}\n leftAddons={renderCountrySelect()}\n size={size}\n onInput={handleInput}\n value={value}\n disabled={disabled}\n />\n );\n },\n);\n"],"names":["forwardRef","__rest","useMemo","initCountries","useRef","useState","findCountry","filterPhones","createMaskOptions","useMaskito","getPhoneData","getInitialValueFromCountry","maskitoTransform","useEffect","React","CountrySelect","__assign","styles","mergeRefs","getClear","BaseOption"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  :root {
2
2
  --gap-0: 0px;
3
3
  }
4
- .international-phone-input__component_1ukve .international-phone-input__addons_1ukve {
4
+ .international-phone-input__component_1boov .international-phone-input__addons_1boov {
5
5
  padding-left: var(--gap-0);
6
6
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"component":"international-phone-input__component_1ukve","addons":"international-phone-input__addons_1ukve"};
5
+ var styles = {"component":"international-phone-input__component_1boov","addons":"international-phone-input__addons_1boov"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/base-international-phone-input/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n\n.component {\n & .addons {\n padding-left: var(--gap-0);\n }\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,4CAA4C,CAAC,QAAQ,CAAC,yCAAyC,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/base-international-phone-input/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n.component {\n & .addons {\n padding-left: var(--gap-0);\n }\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,4CAA4C,CAAC,QAAQ,CAAC,yCAAyC,CAAC;;;;"}
@@ -1,14 +1,14 @@
1
1
  import React, { type ElementType } from 'react';
2
2
  import { type BaseSelectProps } from '@alfalab/core-components-select/shared';
3
3
  import { type Country } from '../../types';
4
- export declare type SharedCountrySelectProps = Omit<BaseSelectProps, 'fieldProps' | 'options' | 'Field' | 'OptionsList' | 'selected'> & {
4
+ export type SharedCountrySelectProps = Omit<BaseSelectProps, 'fieldProps' | 'options' | 'Field' | 'OptionsList' | 'selected'> & {
5
5
  /**
6
6
  * Пропсы, которые будут прокинуты в компонент поля
7
7
  */
8
8
  fieldProps?: Record<string, unknown>;
9
9
  hideCountrySelect?: boolean;
10
10
  };
11
- declare type CountrySelectProps = SharedCountrySelectProps & {
11
+ type CountrySelectProps = SharedCountrySelectProps & {
12
12
  countries?: Country[][];
13
13
  country?: Country;
14
14
  fieldWidth?: number;
@@ -10,33 +10,33 @@
10
10
  --gap-12: var(--gap-s);
11
11
  --gap-16: var(--gap-m);
12
12
  }
13
- .international-phone-input__component_5oax6 {
13
+ .international-phone-input__component_oy6pb {
14
14
  position: static;
15
15
  display: flex;
16
16
  min-width: 0;
17
17
  min-width: initial;
18
18
  height: 100%;
19
19
  }
20
- .international-phone-input__option_5oax6 {
20
+ .international-phone-input__option_oy6pb {
21
21
  display: flex;
22
22
  align-items: flex-start;
23
23
  padding: var(--gap-12);
24
24
  }
25
- .international-phone-input__option_5oax6.international-phone-input__mobile_5oax6,
26
- .international-phone-input__option_5oax6.international-phone-input__size-72_5oax6 {
25
+ .international-phone-input__option_oy6pb.international-phone-input__mobile_oy6pb,
26
+ .international-phone-input__option_oy6pb.international-phone-input__size-72_oy6pb {
27
27
  padding-left: var(--gap-16);
28
28
  }
29
- .international-phone-input__flag_5oax6 {
29
+ .international-phone-input__flag_oy6pb {
30
30
  flex-shrink: 0;
31
31
  margin-right: var(--gap-8);
32
32
  }
33
- .international-phone-input__countryName_5oax6 {
33
+ .international-phone-input__countryName_oy6pb {
34
34
  margin-right: var(--gap-8);
35
35
  }
36
- .international-phone-input__dialCode_5oax6 {
36
+ .international-phone-input__dialCode_oy6pb {
37
37
  color: var(--color-light-text-secondary);
38
38
  }
39
- .international-phone-input__flagIconWrapper_5oax6 {
39
+ .international-phone-input__flagIconWrapper_oy6pb {
40
40
  display: flex;
41
41
  justify-content: center;
42
42
  align-items: center;
@@ -44,6 +44,6 @@
44
44
  height: 24px;
45
45
  margin-left: var(--gap-12);
46
46
  }
47
- .international-phone-input__emptyCountryIcon_5oax6 {
47
+ .international-phone-input__emptyCountryIcon_oy6pb {
48
48
  color: var(--color-light-neutral-translucent-700);
49
49
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"component":"international-phone-input__component_5oax6","option":"international-phone-input__option_5oax6","mobile":"international-phone-input__mobile_5oax6","size-72":"international-phone-input__size-72_5oax6","flag":"international-phone-input__flag_5oax6","countryName":"international-phone-input__countryName_5oax6","dialCode":"international-phone-input__dialCode_5oax6","flagIconWrapper":"international-phone-input__flagIconWrapper_5oax6","emptyCountryIcon":"international-phone-input__emptyCountryIcon_5oax6"};
5
+ var styles = {"component":"international-phone-input__component_oy6pb","option":"international-phone-input__option_oy6pb","mobile":"international-phone-input__mobile_oy6pb","size-72":"international-phone-input__size-72_oy6pb","flag":"international-phone-input__flag_oy6pb","countryName":"international-phone-input__countryName_oy6pb","dialCode":"international-phone-input__dialCode_oy6pb","flagIconWrapper":"international-phone-input__flagIconWrapper_oy6pb","emptyCountryIcon":"international-phone-input__emptyCountryIcon_oy6pb"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/country-select/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n\n.component {\n position: static;\n display: flex;\n min-width: initial;\n height: 100%;\n}\n\n.option {\n display: flex;\n align-items: flex-start;\n padding: var(--gap-12);\n\n &.mobile,\n &.size-72 {\n padding-left: var(--gap-16);\n }\n}\n\n.flag {\n flex-shrink: 0;\n margin-right: var(--gap-8);\n}\n\n.countryName {\n margin-right: var(--gap-8);\n}\n\n.dialCode {\n color: var(--color-light-text-secondary);\n}\n\n.flagIconWrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 24px;\n height: 24px;\n margin-left: var(--gap-12);\n}\n\n.emptyCountryIcon {\n color: var(--color-light-neutral-translucent-700);\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,4CAA4C,CAAC,QAAQ,CAAC,yCAAyC,CAAC,QAAQ,CAAC,yCAAyC,CAAC,SAAS,CAAC,0CAA0C,CAAC,MAAM,CAAC,uCAAuC,CAAC,aAAa,CAAC,8CAA8C,CAAC,UAAU,CAAC,2CAA2C,CAAC,iBAAiB,CAAC,kDAAkD,CAAC,kBAAkB,CAAC,mDAAmD,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/country-select/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n.component {\n position: static;\n display: flex;\n min-width: initial;\n height: 100%;\n}\n\n.option {\n display: flex;\n align-items: flex-start;\n padding: var(--gap-12);\n\n &.mobile,\n &.size-72 {\n padding-left: var(--gap-16);\n }\n}\n\n.flag {\n flex-shrink: 0;\n margin-right: var(--gap-8);\n}\n\n.countryName {\n margin-right: var(--gap-8);\n}\n\n.dialCode {\n color: var(--color-light-text-secondary);\n}\n\n.flagIconWrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 24px;\n height: 24px;\n margin-left: var(--gap-12);\n}\n\n.emptyCountryIcon {\n color: var(--color-light-neutral-translucent-700);\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,4CAA4C,CAAC,QAAQ,CAAC,yCAAyC,CAAC,QAAQ,CAAC,yCAAyC,CAAC,SAAS,CAAC,0CAA0C,CAAC,MAAM,CAAC,uCAAuC,CAAC,aAAa,CAAC,8CAA8C,CAAC,UAAU,CAAC,2CAA2C,CAAC,iBAAiB,CAAC,kDAAkD,CAAC,kBAAkB,CAAC,mDAAmD,CAAC;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { type FC } from 'react';
2
- export declare type FlagIconProps = {
2
+ export type FlagIconProps = {
3
3
  /**
4
4
  * Код страны из <a href="https://ru.wikipedia.org/wiki/ISO_3166-1_alpha-2" target="_blank">ISO 3166-1 alpha-2</a>
5
5
  */
@@ -9,11 +9,11 @@
9
9
  --gap-3xs: 2px;
10
10
  --gap-2: var(--gap-3xs);
11
11
  }
12
- .international-phone-input__flagIcon_wwmyv {
12
+ .international-phone-input__flagIcon_7l72t {
13
13
  max-width: 24px;
14
14
  max-height: 24px;
15
15
  }
16
- .international-phone-input__flagPlaceholder_wwmyv {
16
+ .international-phone-input__flagPlaceholder_7l72t {
17
17
  width: 24px;
18
18
  height: 16px;
19
19
  max-height: 16px;
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"flagIcon":"international-phone-input__flagIcon_wwmyv","flagPlaceholder":"international-phone-input__flagPlaceholder_wwmyv"};
5
+ var styles = {"flagIcon":"international-phone-input__flagIcon_7l72t","flagPlaceholder":"international-phone-input__flagPlaceholder_7l72t"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/flag-icon/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n\n.flagIcon {\n max-width: 24px;\n max-height: 24px;\n}\n\n.flagPlaceholder {\n width: 24px;\n height: 16px;\n max-height: 16px;\n border-radius: var(--border-radius-2);\n margin-top: var(--gap-2);\n background-color: var(--color-light-neutral-translucent-100);\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,UAAU,CAAC,2CAA2C,CAAC,iBAAiB,CAAC,kDAAkD,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/flag-icon/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n.flagIcon {\n max-width: 24px;\n max-height: 24px;\n}\n\n.flagPlaceholder {\n width: 24px;\n height: 16px;\n max-height: 16px;\n border-radius: var(--border-radius-2);\n margin-top: var(--gap-2);\n background-color: var(--color-light-neutral-translucent-100);\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,UAAU,CAAC,2CAA2C,CAAC,iBAAiB,CAAC,kDAAkD,CAAC;;;;"}
@@ -4,7 +4,7 @@ export declare const EMPTY_COUNTRY_SELECT_FIELD: {
4
4
  value: string;
5
5
  key: string;
6
6
  };
7
- declare type SelectFieldProps = FieldProps & {
7
+ type SelectFieldProps = FieldProps & {
8
8
  size?: 48 | 56 | 64 | 72;
9
9
  };
10
10
  export declare const SelectField: FC<SelectFieldProps>;
@@ -14,13 +14,13 @@
14
14
  --focus-color: var(--color-light-status-info);
15
15
  --disabled-cursor: not-allowed;
16
16
  }
17
- .international-phone-input__component_e0htg {
17
+ .international-phone-input__component_htn2e {
18
18
  height: 100%;
19
19
  cursor: pointer;
20
20
  outline: none;
21
21
  position: relative;
22
22
  }
23
- .international-phone-input__flagIconContainer_e0htg {
23
+ .international-phone-input__flagIconContainer_htn2e {
24
24
  display: flex;
25
25
  justify-content: center;
26
26
  align-items: center;
@@ -28,13 +28,13 @@
28
28
  height: 24px;
29
29
  margin-right: var(--gap-4);
30
30
  }
31
- .international-phone-input__emptyCountryIcon_e0htg {
31
+ .international-phone-input__emptyCountryIcon_htn2e {
32
32
  color: var(--color-light-neutral-translucent-700);
33
33
  }
34
- .international-phone-input__disabled_e0htg {
34
+ .international-phone-input__disabled_htn2e {
35
35
  cursor: var(--disabled-cursor);
36
36
  }
37
- .international-phone-input__inner_e0htg {
37
+ .international-phone-input__inner_htn2e {
38
38
  position: relative;
39
39
  display: flex;
40
40
  align-items: center;
@@ -42,10 +42,10 @@
42
42
  padding-left: var(--gap-12);
43
43
  outline: none;
44
44
  }
45
- .international-phone-input__size-72_e0htg .international-phone-input__inner_e0htg {
45
+ .international-phone-input__size-72_htn2e .international-phone-input__inner_htn2e {
46
46
  padding-left: var(--gap-16);
47
47
  }
48
- .international-phone-input__focusVisible_e0htg {
48
+ .international-phone-input__focusVisible_htn2e {
49
49
  outline: 2px solid var(--focus-color);
50
50
  outline-offset: 2px;
51
51
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"component":"international-phone-input__component_e0htg","flagIconContainer":"international-phone-input__flagIconContainer_e0htg","emptyCountryIcon":"international-phone-input__emptyCountryIcon_e0htg","disabled":"international-phone-input__disabled_e0htg","inner":"international-phone-input__inner_e0htg","size-72":"international-phone-input__size-72_e0htg","focusVisible":"international-phone-input__focusVisible_e0htg"};
5
+ var styles = {"component":"international-phone-input__component_htn2e","flagIconContainer":"international-phone-input__flagIconContainer_htn2e","emptyCountryIcon":"international-phone-input__emptyCountryIcon_htn2e","disabled":"international-phone-input__disabled_htn2e","inner":"international-phone-input__inner_htn2e","size-72":"international-phone-input__size-72_htn2e","focusVisible":"international-phone-input__focusVisible_htn2e"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/select-field/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n\n.component {\n height: 100%;\n cursor: pointer;\n outline: none;\n position: relative;\n}\n\n.flagIconContainer {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 24px;\n height: 24px;\n margin-right: var(--gap-4);\n}\n\n.emptyCountryIcon {\n color: var(--color-light-neutral-translucent-700);\n}\n\n.disabled {\n cursor: var(--disabled-cursor);\n}\n\n.inner {\n position: relative;\n display: flex;\n align-items: center;\n height: 100%;\n padding-left: var(--gap-12);\n outline: none;\n}\n\n.size-72 .inner {\n padding-left: var(--gap-16);\n}\n\n.focusVisible {\n @mixin focus-outline;\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,4CAA4C,CAAC,mBAAmB,CAAC,oDAAoD,CAAC,kBAAkB,CAAC,mDAAmD,CAAC,UAAU,CAAC,2CAA2C,CAAC,OAAO,CAAC,wCAAwC,CAAC,SAAS,CAAC,0CAA0C,CAAC,cAAc,CAAC,+CAA+C,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/select-field/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n.component {\n height: 100%;\n cursor: pointer;\n outline: none;\n position: relative;\n}\n\n.flagIconContainer {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 24px;\n height: 24px;\n margin-right: var(--gap-4);\n}\n\n.emptyCountryIcon {\n color: var(--color-light-neutral-translucent-700);\n}\n\n.disabled {\n cursor: var(--disabled-cursor);\n}\n\n.inner {\n position: relative;\n display: flex;\n align-items: center;\n height: 100%;\n padding-left: var(--gap-12);\n outline: none;\n}\n\n.size-72 .inner {\n padding-left: var(--gap-16);\n}\n\n.focusVisible {\n @mixin focus-outline;\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,4CAA4C,CAAC,mBAAmB,CAAC,oDAAoD,CAAC,kBAAkB,CAAC,mDAAmD,CAAC,UAAU,CAAC,2CAA2C,CAAC,OAAO,CAAC,wCAAwC,CAAC,SAAS,CAAC,0CAA0C,CAAC,cAAc,CAAC,+CAA+C,CAAC;;;;"}
@@ -4,6 +4,6 @@ import { type InputAutocompleteProps } from '@alfalab/core-components-input-auto
4
4
  export declare const BaseInternationalPhoneInput: React.ForwardRefExoticComponent<import("../../types").CommonPhoneInputProps & {
5
5
  Input: React.FC<InputProps>;
6
6
  InputAutocomplete: React.FC<InputAutocompleteProps>;
7
- SelectComponent: React.ElementType<any, keyof React.JSX.IntrinsicElements>;
7
+ SelectComponent: React.ElementType;
8
8
  view: "desktop" | "mobile";
9
9
  } & Omit<InputProps, "onBlur" | "onFocus" | "onChange" | "onScroll" | "onInput"> & Partial<Omit<InputAutocompleteProps, "onChange" | "onScroll" | "onInput" | "leftAddons">> & React.RefAttributes<HTMLInputElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","sources":["../../../src/components/base-international-phone-input/Component.tsx"],"sourcesContent":["import React, {\n type ChangeEvent,\n forwardRef,\n type MouseEvent,\n type RefAttributes,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport { maskitoTransform } from '@maskito/core';\nimport { useMaskito } from '@maskito/react';\n\nimport { type InputProps } from '@alfalab/core-components-input';\nimport { type InputAutocompleteProps } from '@alfalab/core-components-input-autocomplete';\nimport { type AnyObject, BaseOption } from '@alfalab/core-components-select/shared';\nimport { type BaseSelectChangePayload } from '@alfalab/core-components-select/typings';\n\nimport { type BaseInternationalPhoneInputProps, type Country } from '../../types';\nimport {\n createMaskOptions,\n filterPhones,\n findCountry,\n getClear,\n getInitialValueFromCountry,\n getPhoneData,\n initCountries,\n} from '../../utils';\nimport { CountrySelect } from '../country-select';\n\nimport styles from './index.module.css';\n\nexport const BaseInternationalPhoneInput = forwardRef<\n HTMLInputElement,\n BaseInternationalPhoneInputProps\n>(\n (\n {\n clearableCountryCode: clearableCountryCodeFromProps = true,\n value,\n country: countryProp,\n filterFn,\n onChange,\n onCountryChange,\n countrySelectProps,\n countries,\n defaultIso2,\n disabled,\n options,\n size = 56,\n Input,\n InputAutocomplete,\n SelectComponent,\n view,\n clear: clearProp,\n open: openProps,\n defaultOpen,\n customCountriesList,\n autoFill,\n ...restProps\n },\n ref,\n ) => {\n const { readOnly } = restProps;\n const countriesData = useMemo(\n () => initCountries(countries, customCountriesList),\n [countries, customCountriesList],\n );\n const inputRef = useRef<HTMLInputElement>(null);\n const inputWrapperRef = useRef<HTMLDivElement>(null);\n\n const [open, setOpen] = useState<boolean | undefined>(defaultOpen);\n const [openCountry, setOpenCountry] = useState<boolean | undefined>(\n countrySelectProps?.defaultOpen,\n );\n const beforeAutofillValueRef = useRef('');\n const [selectedCountry, setSelectedCountry] = useState<Country | undefined>(() =>\n findCountry(countriesData, value, defaultIso2, countryProp),\n );\n const filteredOptions = filterPhones(value, options, filterFn);\n const country = countryProp ?? selectedCountry;\n\n const handleCountryChange = (nextCountry?: Country) => {\n if (countryProp === undefined) setSelectedCountry(nextCountry);\n onCountryChange?.(nextCountry);\n };\n\n const preserveCountryCode = clearableCountryCodeFromProps === 'preserve';\n const clearableCountryCode = preserveCountryCode || clearableCountryCodeFromProps;\n const maskOptions = useMemo(\n () =>\n createMaskOptions(\n country,\n clearableCountryCode,\n preserveCountryCode,\n beforeAutofillValueRef,\n ),\n [country, clearableCountryCode, preserveCountryCode],\n );\n\n const maskRef = useMaskito({ options: maskOptions });\n\n const changeNumber = (phone: string) => {\n onChange?.(phone);\n };\n\n const updatePhoneData = (phone: string) => {\n const { nextCountry, nextPhone } = getPhoneData(phone, countriesData, defaultIso2);\n\n if (nextCountry !== country) {\n handleCountryChange?.(nextCountry);\n }\n changeNumber(nextPhone);\n };\n\n const handleSelectCountry = ({ selected }: BaseSelectChangePayload) => {\n const nextCountry = selected?.value as Country;\n\n handleCountryChange?.(nextCountry);\n\n if (nextCountry) {\n changeNumber(getInitialValueFromCountry(nextCountry.countryCode));\n }\n\n requestAnimationFrame(() => inputRef.current?.focus());\n };\n\n const handleOptionSelect = (payload: BaseSelectChangePayload | string) => {\n updatePhoneData(\n maskitoTransform(\n typeof payload === 'string' ? payload : payload.selected?.key || '',\n maskOptions,\n ),\n );\n };\n\n const handleInput = ({ target: { value: inputValue } }: ChangeEvent<HTMLInputElement>) => {\n updatePhoneData(inputValue);\n };\n\n const handleClear = (event: MouseEvent<HTMLButtonElement>) => {\n restProps.inputProps?.onClear?.(event);\n\n if (clearableCountryCode) {\n const nextCountry = findCountry(countriesData, '', defaultIso2, countryProp);\n\n changeNumber('');\n handleCountryChange(nextCountry);\n } else {\n changeNumber(country ? getInitialValueFromCountry(country.countryCode) : '');\n }\n };\n\n useEffect(() => {\n if (value) {\n const newValue = maskitoTransform(value, maskOptions);\n\n if (value !== newValue) {\n updatePhoneData(newValue);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value, maskOptions]);\n\n const openPhoneSelect: InputAutocompleteProps['onOpen'] = (payload) => {\n if (openProps === undefined) setOpen(payload.open);\n restProps.onOpen?.(payload);\n };\n\n const openCountrySelect: InputAutocompleteProps['onOpen'] = (payload) => {\n if (countrySelectProps?.open === undefined) setOpenCountry(payload.open);\n countrySelectProps?.onOpen?.(payload);\n };\n\n const handlePhoneSelectOpen: InputAutocompleteProps['onOpen'] = (payload) => {\n if (payload.open) {\n openCountrySelect({ open: false });\n }\n\n openPhoneSelect(payload);\n };\n\n const handleCountrySelectOpen: InputAutocompleteProps['onOpen'] = (payload) => {\n if (payload.open) {\n openPhoneSelect({ open: false });\n }\n openCountrySelect(payload);\n };\n\n const showPhoneSelect = Boolean(open || openProps);\n const showCountrySelect = Boolean(openCountry || countrySelectProps?.open);\n\n const renderCountrySelect = (compact = false) => {\n if (disabled || readOnly) {\n return undefined;\n }\n\n return (\n <CountrySelect\n dataTestId={restProps?.dataTestId}\n size={size}\n {...countrySelectProps}\n view={view}\n SelectComponent={SelectComponent}\n disabled={disabled || countrySelectProps?.disabled}\n onChange={handleSelectCountry}\n country={country}\n countries={compact ? [] : countriesData}\n fieldWidth={inputWrapperRef.current?.getBoundingClientRect().width}\n onOpen={handleCountrySelectOpen}\n open={showCountrySelect}\n />\n );\n };\n\n const inputProps: InputProps & RefAttributes<HTMLInputElement> = {\n className: styles.component,\n ref: mergeRefs([maskRef, ref, inputRef]),\n wrapperRef: inputWrapperRef,\n addonsClassName: styles.addons,\n type: 'tel',\n autoComplete: 'tel',\n clear: getClear(clearProp, clearableCountryCode, value, country?.countryCode),\n ...restProps.inputProps,\n };\n\n return Array.isArray(options) ? (\n <InputAutocomplete\n closeOnSelect={true}\n Option={BaseOption}\n size={size}\n {...(restProps as InputAutocompleteProps)}\n disabled={disabled}\n options={filteredOptions}\n value={value}\n open={showPhoneSelect}\n onOpen={handlePhoneSelectOpen}\n onChange={handleOptionSelect}\n onInput={(phone) => updatePhoneData(phone)}\n inputProps={{\n ...inputProps,\n onClear: handleClear,\n onInput: handleInput,\n leftAddons: renderCountrySelect(view === 'mobile'),\n }}\n fieldProps={{\n ...(restProps.fieldProps as AnyObject),\n className: inputProps.className,\n addonsClassName: inputProps.addonsClassName,\n ...(view === 'mobile' ? { leftAddons: renderCountrySelect() } : null),\n }}\n />\n ) : (\n <Input\n {...restProps}\n {...inputProps}\n onClear={inputProps.clear ? handleClear : undefined}\n leftAddons={renderCountrySelect()}\n size={size}\n onInput={handleInput}\n value={value}\n disabled={disabled}\n />\n );\n },\n);\n"],"names":["forwardRef","__rest","useMemo","initCountries","useRef","useState","findCountry","filterPhones","createMaskOptions","useMaskito","getPhoneData","getInitialValueFromCountry","maskitoTransform","useEffect","React","CountrySelect","__assign","styles","mergeRefs","getClear","BaseOption"],"mappings":";;;;;;;;;;;;;;;;;;;;IAiCa,2BAA2B,GAAGA,gBAAU,CAIjD,UACI,EAuBC,EACD,GAAG,EAAA;AAvBC,IAAA,IAAA,EAA0D,GAAA,EAAA,CAAA,oBAAA,CAAA,CAApC,6BAA6B,GAAA,EAAA,KAAA,MAAA,GAAG,IAAI,GAAA,EAAA,CAAA,CAC1D,KAAK,GAAA,EAAA,CAAA,KAAA,EACI,WAAW,GAAA,EAAA,CAAA,OAAA,CACpB,CAAA,QAAQ,cAAA,CACR,CAAA,QAAQ,GAAA,EAAA,CAAA,QAAA,CAAA,CACR,eAAe,GAAA,EAAA,CAAA,eAAA,CAAA,CACf,kBAAkB,GAAA,EAAA,CAAA,kBAAA,EAClB,SAAS,GAAA,EAAA,CAAA,SAAA,CACT,CAAA,WAAW,iBAAA,CACX,CAAA,QAAQ,GAAA,EAAA,CAAA,QAAA,CAAA,CACR,OAAO,GAAA,EAAA,CAAA,OAAA,CAAA,CACP,EAAS,GAAA,EAAA,CAAA,IAAA,CAAA,CAAT,IAAI,GAAA,EAAA,KAAA,MAAA,GAAG,EAAE,GAAA,EAAA,EACT,KAAK,GAAA,EAAA,CAAA,KAAA,CACL,CAAA,iBAAiB,uBAAA,CACjB,CAAA,eAAe,GAAA,EAAA,CAAA,eAAA,CAAA,CACf,IAAI,GAAA,EAAA,CAAA,IAAA,CAAA,CACG,SAAS,GAAA,EAAA,CAAA,KAAA,EACV,SAAS,GAAA,EAAA,CAAA,IAAA,CACf,CAAA,WAAW,iBAAA,CACX,CAAA,mBAAmB,GAAA,EAAA,CAAA,mBAAA,CAAA,CACX,EAAA,CAAA,QAAA,CAAA,KACL,SAAS,GAAAC,YAAA,CAAA,EAAA,EAtBhB,oSAuBC;AAGO,IAAA,IAAA,QAAQ,GAAK,SAAS,CAAA,QAAd;IAChB,IAAM,aAAa,GAAGC,aAAO,CACzB,cAAM,OAAAC,mBAAa,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAA,EAAA,EACnD,CAAC,SAAS,EAAE,mBAAmB,CAAC,CACnC;AACD,IAAA,IAAM,QAAQ,GAAGC,YAAM,CAAmB,IAAI,CAAC;AAC/C,IAAA,IAAM,eAAe,GAAGA,YAAM,CAAiB,IAAI,CAAC;IAE9C,IAAA,EAAA,GAAkBC,cAAQ,CAAsB,WAAW,CAAC,EAA3D,IAAI,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,OAAO,GAAA,EAAA,CAAA,CAAA,CAA8C;AAC5D,IAAA,IAAA,KAAgCA,cAAQ,CAC1C,kBAAkB,KAAA,IAAA,IAAlB,kBAAkB,KAAlB,MAAA,GAAA,MAAA,GAAA,kBAAkB,CAAE,WAAW,CAClC,EAFM,WAAW,QAAA,EAAE,cAAc,QAEjC;AACD,IAAA,IAAM,sBAAsB,GAAGD,YAAM,CAAC,EAAE,CAAC;IACnC,IAAA,EAAA,GAAwCC,cAAQ,CAAsB,YAAA;QACxE,OAAAC,iBAAW,CAAC,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC;AAA3D,KAA2D,CAC9D,EAFM,eAAe,QAAA,EAAE,kBAAkB,QAEzC;IACD,IAAM,eAAe,GAAGC,kBAAY,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC;IAC9D,IAAM,OAAO,GAAG,WAAW,KAAA,IAAA,IAAX,WAAW,KAAX,MAAA,GAAA,WAAW,GAAI,eAAe;IAE9C,IAAM,mBAAmB,GAAG,UAAC,WAAqB,EAAA;QAC9C,IAAI,WAAW,KAAK,SAAS;YAAE,kBAAkB,CAAC,WAAW,CAAC;AAC9D,QAAA,eAAe,aAAf,eAAe,KAAA,MAAA,GAAA,MAAA,GAAf,eAAe,CAAG,WAAW,CAAC;AAClC,KAAC;AAED,IAAA,IAAM,mBAAmB,GAAG,6BAA6B,KAAK,UAAU;AACxE,IAAA,IAAM,oBAAoB,GAAG,mBAAmB,IAAI,6BAA6B;IACjF,IAAM,WAAW,GAAGL,aAAO,CACvB,YAAA;QACI,OAAAM,uBAAiB,CACb,OAAO,EACP,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,CACzB;KAAA,EACL,CAAC,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,CAAC,CACvD;IAED,IAAM,OAAO,GAAGC,gBAAU,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAEpD,IAAM,YAAY,GAAG,UAAC,KAAa,EAAA;AAC/B,QAAA,QAAQ,aAAR,QAAQ,KAAA,MAAA,GAAA,MAAA,GAAR,QAAQ,CAAG,KAAK,CAAC;AACrB,KAAC;IAED,IAAM,eAAe,GAAG,UAAC,KAAa,EAAA;AAC5B,QAAA,IAAA,EAA6B,GAAAC,kBAAY,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC,EAA1E,WAAW,GAAA,EAAA,CAAA,WAAA,EAAE,SAAS,eAAoD;QAElF,IAAI,WAAW,KAAK,OAAO,EAAE;AACzB,YAAA,mBAAmB,aAAnB,mBAAmB,KAAA,MAAA,GAAA,MAAA,GAAnB,mBAAmB,CAAG,WAAW,CAAC;AACrC;QACD,YAAY,CAAC,SAAS,CAAC;AAC3B,KAAC;IAED,IAAM,mBAAmB,GAAG,UAAC,EAAqC,EAAA;AAAnC,QAAA,IAAA,QAAQ,GAAA,EAAA,CAAA,QAAA;QACnC,IAAM,WAAW,GAAG,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAR,MAAA,GAAA,MAAA,GAAA,QAAQ,CAAE,KAAgB;AAE9C,QAAA,mBAAmB,aAAnB,mBAAmB,KAAA,MAAA,GAAA,MAAA,GAAnB,mBAAmB,CAAG,WAAW,CAAC;AAElC,QAAA,IAAI,WAAW,EAAE;YACb,YAAY,CAACC,gCAA0B,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AACpE;AAED,QAAA,qBAAqB,CAAC,YAAA,EAAA,IAAA,EAAA,CAAA,CAAM,OAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,KAAK,EAAE,CAAA,EAAA,CAAC;AAC1D,KAAC;IAED,IAAM,kBAAkB,GAAG,UAAC,OAAyC,EAAA;;QACjE,eAAe,CACXC,qBAAgB,CACZ,OAAO,OAAO,KAAK,QAAQ,GAAG,OAAO,GAAG,CAAA,CAAA,EAAA,GAAA,OAAO,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,GAAG,KAAI,EAAE,EACnE,WAAW,CACd,CACJ;AACL,KAAC;IAED,IAAM,WAAW,GAAG,UAAC,EAAgE,EAAA;AAA7C,QAAA,IAAA,UAAU,GAAA,EAAA,CAAA,MAAA,CAAA,KAAA;QAC9C,eAAe,CAAC,UAAU,CAAC;AAC/B,KAAC;IAED,IAAM,WAAW,GAAG,UAAC,KAAoC,EAAA;;QACrD,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,SAAS,CAAC,UAAU,0CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAG,KAAK,CAAC;AAEtC,QAAA,IAAI,oBAAoB,EAAE;AACtB,YAAA,IAAM,WAAW,GAAGN,iBAAW,CAAC,aAAa,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC;YAE5E,YAAY,CAAC,EAAE,CAAC;YAChB,mBAAmB,CAAC,WAAW,CAAC;AACnC;AAAM,aAAA;AACH,YAAA,YAAY,CAAC,OAAO,GAAGK,gCAA0B,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;AAC/E;AACL,KAAC;AAED,IAAAE,eAAS,CAAC,YAAA;AACN,QAAA,IAAI,KAAK,EAAE;YACP,IAAM,QAAQ,GAAGD,qBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC;YAErD,IAAI,KAAK,KAAK,QAAQ,EAAE;gBACpB,eAAe,CAAC,QAAQ,CAAC;AAC5B;AACJ;;AAEL,KAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAExB,IAAM,eAAe,GAAqC,UAAC,OAAO,EAAA;;QAC9D,IAAI,SAAS,KAAK,SAAS;AAAE,YAAA,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;AAClD,QAAA,CAAA,EAAA,GAAA,SAAS,CAAC,MAAM,MAAG,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,SAAA,EAAA,OAAO,CAAC;AAC/B,KAAC;IAED,IAAM,iBAAiB,GAAqC,UAAC,OAAO,EAAA;;QAChE,IAAI,CAAA,kBAAkB,KAAlB,IAAA,IAAA,kBAAkB,uBAAlB,kBAAkB,CAAE,IAAI,MAAK,SAAS;AAAE,YAAA,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC;QACxE,CAAA,EAAA,GAAA,kBAAkB,KAAlB,IAAA,IAAA,kBAAkB,KAAlB,MAAA,GAAA,MAAA,GAAA,kBAAkB,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,kBAAA,EAAG,OAAO,CAAC;AACzC,KAAC;IAED,IAAM,qBAAqB,GAAqC,UAAC,OAAO,EAAA;QACpE,IAAI,OAAO,CAAC,IAAI,EAAE;AACd,YAAA,iBAAiB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACrC;QAED,eAAe,CAAC,OAAO,CAAC;AAC5B,KAAC;IAED,IAAM,uBAAuB,GAAqC,UAAC,OAAO,EAAA;QACtE,IAAI,OAAO,CAAC,IAAI,EAAE;AACd,YAAA,eAAe,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACnC;QACD,iBAAiB,CAAC,OAAO,CAAC;AAC9B,KAAC;IAED,IAAM,eAAe,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC;AAClD,IAAA,IAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,KAAI,kBAAkB,KAAlB,IAAA,IAAA,kBAAkB,uBAAlB,kBAAkB,CAAE,IAAI,CAAA,CAAC;IAE1E,IAAM,mBAAmB,GAAG,UAAC,OAAe,EAAA;;AAAf,QAAA,IAAA,OAAA,KAAA,MAAA,EAAA,EAAA,OAAe,GAAA,KAAA,CAAA;QACxC,IAAI,QAAQ,IAAI,QAAQ,EAAE;AACtB,YAAA,OAAO,SAAS;AACnB;AAED,QAAA,QACIE,sBAAC,CAAA,aAAA,CAAAC,uBAAa,EACVC,cAAA,CAAA,EAAA,UAAU,EAAE,SAAS,KAAA,IAAA,IAAT,SAAS,KAAA,MAAA,GAAA,MAAA,GAAT,SAAS,CAAE,UAAU,EACjC,IAAI,EAAE,IAAI,EACN,EAAA,kBAAkB,EACtB,EAAA,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,QAAQ,KAAI,kBAAkB,KAAA,IAAA,IAAlB,kBAAkB,KAAlB,MAAA,GAAA,MAAA,GAAA,kBAAkB,CAAE,QAAQ,CAAA,EAClD,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,OAAO,GAAG,EAAE,GAAG,aAAa,EACvC,UAAU,EAAE,MAAA,eAAe,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,qBAAqB,GAAG,KAAK,EAClE,MAAM,EAAE,uBAAuB,EAC/B,IAAI,EAAE,iBAAiB,EAAA,CAAA,CACzB;AAEV,KAAC;AAED,IAAA,IAAM,UAAU,GAAAA,cAAA,CAAA,EACZ,SAAS,EAAEC,uBAAM,CAAC,SAAS,EAC3B,GAAG,EAAEC,0BAAS,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,EACxC,UAAU,EAAE,eAAe,EAC3B,eAAe,EAAED,uBAAM,CAAC,MAAM,EAC9B,IAAI,EAAE,KAAK,EACX,YAAY,EAAE,KAAK,EACnB,KAAK,EAAEE,cAAQ,CAAC,SAAS,EAAE,oBAAoB,EAAE,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,MAAA,GAAA,MAAA,GAAP,OAAO,CAAE,WAAW,CAAC,EAC1E,EAAA,SAAS,CAAC,UAAU,CAC1B;AAED,IAAA,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IACzBL,qCAAC,iBAAiB,EAAAE,cAAA,CAAA,EACd,aAAa,EAAE,IAAI,EACnB,MAAM,EAAEI,iBAAU,EAClB,IAAI,EAAE,IAAI,IACL,SAAoC,EAAA,EACzC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,qBAAqB,EAC7B,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,UAAC,KAAK,EAAK,EAAA,OAAA,eAAe,CAAC,KAAK,CAAC,CAAtB,EAAsB,EAC1C,UAAU,oCACH,UAAU,CAAA,EAAA,EACb,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,mBAAmB,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAA,CAAA,EAEtD,UAAU,EAAAJ,cAAA,CAAAA,cAAA,CAAAA,cAAA,CAAA,EAAA,EACF,SAAS,CAAC,UAAwB,CACtC,EAAA,EAAA,SAAS,EAAE,UAAU,CAAC,SAAS,EAC/B,eAAe,EAAE,UAAU,CAAC,eAAe,EAAA,CAAA,GACvC,IAAI,KAAK,QAAQ,GAAG,EAAE,UAAU,EAAE,mBAAmB,EAAE,EAAE,GAAG,IAAI,EAAC,EAAA,CAAA,CAE3E,KAEFF,sBAAA,CAAA,aAAA,CAAC,KAAK,EAAAE,cAAA,CAAA,EAAA,EACE,SAAS,EACT,UAAU,IACd,OAAO,EAAE,UAAU,CAAC,KAAK,GAAG,WAAW,GAAG,SAAS,EACnD,UAAU,EAAE,mBAAmB,EAAE,EACjC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAAA,CAAA,CACpB,CACL;AACL,CAAC;;;;"}
1
+ {"version":3,"file":"Component.js","sources":["../../../src/components/base-international-phone-input/Component.tsx"],"sourcesContent":["import React, {\n type ChangeEvent,\n forwardRef,\n type MouseEvent,\n type RefAttributes,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport { maskitoTransform } from '@maskito/core';\nimport { useMaskito } from '@maskito/react';\n\nimport { type InputProps } from '@alfalab/core-components-input';\nimport { type InputAutocompleteProps } from '@alfalab/core-components-input-autocomplete';\nimport { type AnyObject, BaseOption } from '@alfalab/core-components-select/shared';\nimport { type BaseSelectChangePayload } from '@alfalab/core-components-select/typings';\n\nimport { type BaseInternationalPhoneInputProps, type Country } from '../../types';\nimport {\n createMaskOptions,\n filterPhones,\n findCountry,\n getClear,\n getInitialValueFromCountry,\n getPhoneData,\n initCountries,\n} from '../../utils';\nimport { CountrySelect } from '../country-select';\n\nimport styles from './index.module.css';\n\nexport const BaseInternationalPhoneInput = forwardRef<\n HTMLInputElement,\n BaseInternationalPhoneInputProps\n>(\n (\n {\n clearableCountryCode: clearableCountryCodeFromProps = true,\n value,\n country: countryProp,\n filterFn,\n onChange,\n onCountryChange,\n countrySelectProps,\n countries,\n defaultIso2,\n disabled,\n options,\n size = 56,\n Input,\n InputAutocomplete,\n SelectComponent,\n view,\n clear: clearProp,\n open: openProps,\n defaultOpen,\n customCountriesList,\n autoFill,\n ...restProps\n },\n ref,\n ) => {\n const { readOnly } = restProps;\n const countriesData = useMemo(\n () => initCountries(countries, customCountriesList),\n [countries, customCountriesList],\n );\n const inputRef = useRef<HTMLInputElement>(null);\n const inputWrapperRef = useRef<HTMLDivElement>(null);\n\n const [open, setOpen] = useState<boolean | undefined>(defaultOpen);\n const [openCountry, setOpenCountry] = useState<boolean | undefined>(\n countrySelectProps?.defaultOpen,\n );\n const beforeAutofillValueRef = useRef('');\n const [selectedCountry, setSelectedCountry] = useState<Country | undefined>(() =>\n findCountry(countriesData, value, defaultIso2, countryProp),\n );\n const filteredOptions = filterPhones(value, options, filterFn);\n const country = countryProp ?? selectedCountry;\n\n const handleCountryChange = (nextCountry?: Country) => {\n if (countryProp === undefined) setSelectedCountry(nextCountry);\n onCountryChange?.(nextCountry);\n };\n\n const preserveCountryCode = clearableCountryCodeFromProps === 'preserve';\n const clearableCountryCode = preserveCountryCode || clearableCountryCodeFromProps;\n const maskOptions = useMemo(\n () =>\n createMaskOptions(\n country,\n clearableCountryCode,\n preserveCountryCode,\n beforeAutofillValueRef,\n ),\n [country, clearableCountryCode, preserveCountryCode],\n );\n\n const maskRef = useMaskito({ options: maskOptions });\n\n const changeNumber = (phone: string) => {\n onChange?.(phone);\n };\n\n const updatePhoneData = (phone: string) => {\n const { nextCountry, nextPhone } = getPhoneData(phone, countriesData, defaultIso2);\n\n if (nextCountry !== country) {\n handleCountryChange?.(nextCountry);\n }\n changeNumber(nextPhone);\n };\n\n const handleSelectCountry = ({ selected }: BaseSelectChangePayload) => {\n const nextCountry = selected?.value as Country;\n\n handleCountryChange?.(nextCountry);\n\n if (nextCountry) {\n changeNumber(getInitialValueFromCountry(nextCountry.countryCode));\n }\n\n requestAnimationFrame(() => inputRef.current?.focus());\n };\n\n const handleOptionSelect = (payload: BaseSelectChangePayload | string) => {\n updatePhoneData(\n maskitoTransform(\n typeof payload === 'string' ? payload : payload.selected?.key || '',\n maskOptions,\n ),\n );\n };\n\n const handleInput = ({ target: { value: inputValue } }: ChangeEvent<HTMLInputElement>) => {\n updatePhoneData(inputValue);\n };\n\n const handleClear = (event: MouseEvent<HTMLButtonElement>) => {\n restProps.inputProps?.onClear?.(event);\n\n if (clearableCountryCode) {\n const nextCountry = findCountry(countriesData, '', defaultIso2, countryProp);\n\n changeNumber('');\n handleCountryChange(nextCountry);\n } else {\n changeNumber(country ? getInitialValueFromCountry(country.countryCode) : '');\n }\n };\n\n useEffect(() => {\n if (value) {\n const newValue = maskitoTransform(value, maskOptions);\n\n if (value !== newValue) {\n updatePhoneData(newValue);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value, maskOptions]);\n\n const openPhoneSelect: InputAutocompleteProps['onOpen'] = (payload) => {\n if (openProps === undefined) setOpen(payload.open);\n restProps.onOpen?.(payload);\n };\n\n const openCountrySelect: InputAutocompleteProps['onOpen'] = (payload) => {\n if (countrySelectProps?.open === undefined) setOpenCountry(payload.open);\n countrySelectProps?.onOpen?.(payload);\n };\n\n const handlePhoneSelectOpen: InputAutocompleteProps['onOpen'] = (payload) => {\n if (payload.open) {\n openCountrySelect({ open: false });\n }\n\n openPhoneSelect(payload);\n };\n\n const handleCountrySelectOpen: InputAutocompleteProps['onOpen'] = (payload) => {\n if (payload.open) {\n openPhoneSelect({ open: false });\n }\n openCountrySelect(payload);\n };\n\n const showPhoneSelect = Boolean(open || openProps);\n const showCountrySelect = Boolean(openCountry || countrySelectProps?.open);\n\n const renderCountrySelect = (compact = false) => {\n if (disabled || readOnly) {\n return undefined;\n }\n\n return (\n <CountrySelect\n dataTestId={restProps?.dataTestId}\n size={size}\n {...countrySelectProps}\n view={view}\n SelectComponent={SelectComponent}\n disabled={disabled || countrySelectProps?.disabled}\n onChange={handleSelectCountry}\n country={country}\n countries={compact ? [] : countriesData}\n fieldWidth={inputWrapperRef.current?.getBoundingClientRect().width}\n onOpen={handleCountrySelectOpen}\n open={showCountrySelect}\n />\n );\n };\n\n const inputProps: InputProps & RefAttributes<HTMLInputElement> = {\n className: styles.component,\n ref: mergeRefs([maskRef, ref, inputRef]),\n wrapperRef: inputWrapperRef,\n addonsClassName: styles.addons,\n type: 'tel',\n autoComplete: 'tel',\n clear: getClear(clearProp, clearableCountryCode, value, country?.countryCode),\n ...restProps.inputProps,\n };\n\n return Array.isArray(options) ? (\n <InputAutocomplete\n closeOnSelect={true}\n Option={BaseOption}\n size={size}\n {...(restProps as InputAutocompleteProps)}\n disabled={disabled}\n options={filteredOptions}\n value={value}\n open={showPhoneSelect}\n onOpen={handlePhoneSelectOpen}\n onChange={handleOptionSelect}\n onInput={(phone) => updatePhoneData(phone)}\n inputProps={{\n ...inputProps,\n onClear: handleClear,\n onInput: handleInput,\n leftAddons: renderCountrySelect(view === 'mobile'),\n }}\n fieldProps={{\n ...(restProps.fieldProps as AnyObject),\n className: inputProps.className,\n addonsClassName: inputProps.addonsClassName,\n ...(view === 'mobile' ? { leftAddons: renderCountrySelect() } : null),\n }}\n />\n ) : (\n <Input\n {...restProps}\n {...inputProps}\n onClear={inputProps.clear ? handleClear : undefined}\n leftAddons={renderCountrySelect()}\n size={size}\n onInput={handleInput}\n value={value}\n disabled={disabled}\n />\n );\n },\n);\n"],"names":["forwardRef","__rest","useMemo","initCountries","useRef","useState","findCountry","filterPhones","createMaskOptions","useMaskito","getPhoneData","getInitialValueFromCountry","maskitoTransform","useEffect","React","CountrySelect","__assign","styles","mergeRefs","getClear","BaseOption"],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  import React, { type ElementType } from 'react';
2
2
  import { type BaseSelectProps } from '@alfalab/core-components-select/cssm/shared';
3
3
  import { type Country } from '../../types';
4
- export declare type SharedCountrySelectProps = Omit<BaseSelectProps, 'fieldProps' | 'options' | 'Field' | 'OptionsList' | 'selected'> & {
4
+ export type SharedCountrySelectProps = Omit<BaseSelectProps, 'fieldProps' | 'options' | 'Field' | 'OptionsList' | 'selected'> & {
5
5
  /**
6
6
  * Пропсы, которые будут прокинуты в компонент поля
7
7
  */
8
8
  fieldProps?: Record<string, unknown>;
9
9
  hideCountrySelect?: boolean;
10
10
  };
11
- declare type CountrySelectProps = SharedCountrySelectProps & {
11
+ type CountrySelectProps = SharedCountrySelectProps & {
12
12
  countries?: Country[][];
13
13
  country?: Country;
14
14
  fieldWidth?: number;
@@ -1,5 +1,5 @@
1
1
  import { type FC } from 'react';
2
- export declare type FlagIconProps = {
2
+ export type FlagIconProps = {
3
3
  /**
4
4
  * Код страны из <a href="https://ru.wikipedia.org/wiki/ISO_3166-1_alpha-2" target="_blank">ISO 3166-1 alpha-2</a>
5
5
  */
@@ -4,7 +4,7 @@ export declare const EMPTY_COUNTRY_SELECT_FIELD: {
4
4
  value: string;
5
5
  key: string;
6
6
  };
7
- declare type SelectFieldProps = FieldProps & {
7
+ type SelectFieldProps = FieldProps & {
8
8
  size?: 48 | 56 | 64 | 72;
9
9
  };
10
10
  export declare const SelectField: FC<SelectFieldProps>;
@@ -1,2 +1,2 @@
1
- export declare type CountriesData = [string, string[], string, string, string?, number?, string[]?];
1
+ export type CountriesData = [string, string[], string, string, string?, number?, string[]?];
2
2
  export declare const countriesData: CountriesData[];
package/cssm/types.d.ts CHANGED
@@ -10,11 +10,11 @@ import { type Country } from '@alfalab/core-components-types/cssm';
10
10
  import { type SharedCountrySelectProps } from './components/country-select';
11
11
  import { type CountriesData } from './data/country-data';
12
12
  export type { Country } from '@alfalab/core-components-types/cssm';
13
- export declare type AreaItem = Country & {
13
+ export type AreaItem = Country & {
14
14
  isAreaCode: boolean;
15
15
  areaCodeLength: number;
16
16
  };
17
- export declare type CommonPhoneInputProps = {
17
+ export type CommonPhoneInputProps = {
18
18
  /**
19
19
  * Выбранная страна
20
20
  */
@@ -73,15 +73,15 @@ export declare type CommonPhoneInputProps = {
73
73
  */
74
74
  autoFill?: boolean;
75
75
  };
76
- export declare type BaseInternationalPhoneInputProps = CommonPhoneInputProps & {
76
+ export type BaseInternationalPhoneInputProps = CommonPhoneInputProps & {
77
77
  Input: FC<InputProps>;
78
78
  InputAutocomplete: FC<InputAutocompleteProps>;
79
79
  SelectComponent: ElementType;
80
80
  view: 'desktop' | 'mobile';
81
81
  } & Omit<InputProps, 'onFocus' | 'onBlur' | 'onScroll' | 'onInput' | 'onChange'> & Partial<Omit<InputAutocompleteProps, 'onChange' | 'leftAddons' | 'onScroll' | 'onInput'>>;
82
- export declare type InternationalPhoneInputDesktopProps = CommonPhoneInputProps & (Omit<InputDesktopProps, 'onFocus' | 'onBlur' | 'clear' | 'onClear' | 'onChange' | 'onInput'> | (Required<Pick<InputAutocompleteDesktopProps, 'options'>> & Omit<InputAutocompleteDesktopProps, 'onChange' | 'onInput' | 'onClear'>));
83
- export declare type InternationalPhoneInputMobileProps = CommonPhoneInputProps & (Omit<InputMobileProps, 'onFocus' | 'onBlur' | 'clear' | 'onClear' | 'onChange' | 'onInput'> | (Required<Pick<InputAutocompleteMobileProps, 'options'>> & Omit<InputAutocompleteMobileProps, 'onChange' | 'onInput' | 'onClear'>));
84
- export declare type InternationalPhoneInputProps = InternationalPhoneInputDesktopProps & InternationalPhoneInputMobileProps & {
82
+ export type InternationalPhoneInputDesktopProps = CommonPhoneInputProps & (Omit<InputDesktopProps, 'onFocus' | 'onBlur' | 'clear' | 'onClear' | 'onChange' | 'onInput'> | (Required<Pick<InputAutocompleteDesktopProps, 'options'>> & Omit<InputAutocompleteDesktopProps, 'onChange' | 'onInput' | 'onClear'>));
83
+ export type InternationalPhoneInputMobileProps = CommonPhoneInputProps & (Omit<InputMobileProps, 'onFocus' | 'onBlur' | 'clear' | 'onClear' | 'onChange' | 'onInput'> | (Required<Pick<InputAutocompleteMobileProps, 'options'>> & Omit<InputAutocompleteMobileProps, 'onChange' | 'onInput' | 'onClear'>));
84
+ export type InternationalPhoneInputProps = InternationalPhoneInputDesktopProps & InternationalPhoneInputMobileProps & {
85
85
  /**
86
86
  * Контрольная точка, с нее начинается desktop версия
87
87
  * @default 1024
@@ -11,7 +11,7 @@ export declare function clearMask(value: string): string;
11
11
  export declare function createPhoneMaskExpression(country: Country | undefined, clearableCountryCode: boolean): Array<RegExp | string>;
12
12
  export declare function createMaskOptions(country: Country | undefined, clearableCountryCode: boolean, preserveCountryCode: boolean, beforeAutofillValueRef: MutableRefObject<string>): MaskitoOptions;
13
13
  declare function defaultFilterFn(value: string | undefined, option: OptionShape): boolean;
14
- export declare const filterPhones: (value?: string, options?: InputAutocompleteDesktopProps['options'], filterFn?: typeof defaultFilterFn) => (OptionShape | GroupShape)[];
14
+ export declare const filterPhones: (value?: string, options?: InputAutocompleteDesktopProps["options"], filterFn?: typeof defaultFilterFn) => (OptionShape | GroupShape)[];
15
15
  export declare function getPhoneData(phone: string, countries: Country[][], defaultIso2?: string): {
16
16
  nextPhone: string;
17
17
  nextCountry: Country | undefined;