@scbt-ecom/ui 0.113.0 → 0.114.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/dist/_virtual/index.js +1 -1
  2. package/dist/_virtual/index2.js +1 -1
  3. package/dist/lib/exports/widget.js +1 -1
  4. package/dist/lib/shared/hooks/useClickOutside.js +1 -1
  5. package/dist/lib/shared/hooks/useClickOutside.js.map +1 -1
  6. package/dist/lib/shared/ui/brandLogos/BrandLogos.js +1 -1
  7. package/dist/lib/shared/ui/brandLogos/BrandLogos.js.map +1 -1
  8. package/dist/lib/shared/ui/carousel/model/helpers.js +1 -1
  9. package/dist/lib/shared/ui/carousel/model/helpers.js.map +1 -1
  10. package/dist/lib/shared/ui/formElements/controlled/combobox/hooks/useComboboxControl.js +1 -1
  11. package/dist/lib/shared/ui/formElements/controlled/combobox/hooks/useComboboxControl.js.map +1 -1
  12. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/model/utils.js +1 -1
  13. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/model/utils.js.map +1 -1
  14. package/dist/lib/shared/ui/formElements/controlled/editor/model/helper.js +1 -1
  15. package/dist/lib/shared/ui/formElements/controlled/editor/model/helper.js.map +1 -1
  16. package/dist/lib/shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js +1 -1
  17. package/dist/lib/shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js.map +1 -1
  18. package/dist/lib/shared/ui/formElements/uncontrolled/combobox/hooks/useCombobox.js +1 -1
  19. package/dist/lib/shared/ui/formElements/uncontrolled/combobox/hooks/useCombobox.js.map +1 -1
  20. package/dist/lib/shared/ui/formElements/uncontrolled/index.js +1 -1
  21. package/dist/lib/shared/ui/formElements/uncontrolled/index.js.map +1 -1
  22. package/dist/lib/shared/ui/formElements/uncontrolled/maskInput/MaskInput.js +1 -1
  23. package/dist/lib/shared/ui/formElements/uncontrolled/maskInput/MaskInput.js.map +1 -1
  24. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/model/hooks/useUploader.js +1 -1
  25. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/model/hooks/useUploader.js.map +1 -1
  26. package/dist/lib/shared/ui/slot/ui/SlotClone.js +1 -1
  27. package/dist/lib/shared/ui/slot/ui/SlotClone.js.map +1 -1
  28. package/dist/lib/shared/ui/table/Table.js +1 -1
  29. package/dist/lib/shared/ui/table/Table.js.map +1 -1
  30. package/dist/lib/shared/ui/table/model/TableUtils.js +1 -1
  31. package/dist/lib/shared/ui/table/model/TableUtils.js.map +1 -1
  32. package/dist/lib/shared/utils/cn.js +1 -1
  33. package/dist/lib/shared/utils/cn.js.map +1 -1
  34. package/dist/lib/shared/validation/base/base.constants.js +1 -1
  35. package/dist/lib/shared/validation/base/base.constants.js.map +1 -1
  36. package/dist/lib/shared/validation/base/currency.validators.js +1 -1
  37. package/dist/lib/shared/validation/base/currency.validators.js.map +1 -1
  38. package/dist/lib/shared/validation/base/date.validators.js +1 -1
  39. package/dist/lib/shared/validation/base/date.validators.js.map +1 -1
  40. package/dist/lib/shared/validation/base/email.validators.js +1 -1
  41. package/dist/lib/shared/validation/base/email.validators.js.map +1 -1
  42. package/dist/lib/shared/validation/base/phone.validators.js +1 -1
  43. package/dist/lib/shared/validation/base/phone.validators.js.map +1 -1
  44. package/dist/lib/shared/validation/base/regex.validators.js +1 -1
  45. package/dist/lib/shared/validation/base/regex.validators.js.map +1 -1
  46. package/dist/lib/shared/validation/base/url.validators.js +1 -1
  47. package/dist/lib/shared/validation/base/url.validators.js.map +1 -1
  48. package/dist/lib/widgets/banner/index.js +1 -1
  49. package/dist/lib/widgets/buttonWithHandlers/model/useButtonHandler.js +1 -1
  50. package/dist/lib/widgets/buttonWithHandlers/model/useButtonHandler.js.map +1 -1
  51. package/dist/lib/widgets/calculator/model/helpers.js +1 -1
  52. package/dist/lib/widgets/calculator/model/helpers.js.map +1 -1
  53. package/dist/lib/widgets/calculator/ui/calculatorFields/hooks/useAdditionalSlider.js +1 -1
  54. package/dist/lib/widgets/calculator/ui/calculatorFields/hooks/useAdditionalSlider.js.map +1 -1
  55. package/dist/lib/widgets/fallbacksView/model/helpers.js +1 -1
  56. package/dist/lib/widgets/fallbacksView/model/helpers.js.map +1 -1
  57. package/dist/lib/widgets/fieldMapper/FieldMapper.js +1 -1
  58. package/dist/lib/widgets/fieldMapper/FieldMapper.js.map +1 -1
  59. package/dist/lib/widgets/header/model/helpers.js +1 -1
  60. package/dist/lib/widgets/header/model/helpers.js.map +1 -1
  61. package/dist/lib/widgets/index.js +1 -1
  62. package/dist/lib/widgets/model/helpers.js +2 -2
  63. package/dist/lib/widgets/model/helpers.js.map +1 -1
  64. package/dist/lib/widgets/seoHeader/ui/desktop/CategoriesDesktop.js +1 -1
  65. package/dist/lib/widgets/seoHeader/ui/desktop/CategoriesDesktop.js.map +1 -1
  66. package/dist/lib/widgets/seoHeader/ui/desktop/CategoryTabs.js +1 -1
  67. package/dist/lib/widgets/seoHeader/ui/desktop/CategoryTabs.js.map +1 -1
  68. package/dist/lib/widgets/seoHeader/ui/mobile/CategoriesMobile.js +1 -1
  69. package/dist/lib/widgets/seoHeader/ui/mobile/CategoriesMobile.js.map +1 -1
  70. package/dist/lib/widgets/stepper/ui/StepperCarousel.js +1 -1
  71. package/dist/lib/widgets/stepper/ui/StepperCarousel.js.map +1 -1
  72. package/dist/lib/widgets/table/model/utils.js +1 -1
  73. package/dist/lib/widgets/table/model/utils.js.map +1 -1
  74. package/dist/node_modules/classnames/index.js +1 -1
  75. package/dist/node_modules/prop-types/index.js +1 -1
  76. package/dist/node_modules/prop-types/index.js.map +1 -1
  77. package/dist/src/shared/utils/getDynamicSchema.js +1 -1
  78. package/dist/src/shared/utils/getDynamicSchema.js.map +1 -1
  79. package/dist/stats.html +1 -1
  80. package/dist/types/lib/shared/utils/cn.d.ts +2 -2
  81. package/package.json +2 -2
@@ -1,2 +1,2 @@
1
- import"react/jsx-runtime";import{TypeGuards as E}from"../../utils/typeGuards.js";import"../../ui/button/Button.js";import"../../ui/buttonIcon/ButtonIcon.js";import"../../ui/calendar/Calendar.js";import{formatDateToLocaleString as N}from"../../ui/calendar/model/utils.js";import"../../ui/accordion/Accordion.js";import"react";import"react-dom";import"../../ui/modal/ui/IframeModalContent.js";import"../../../../node_modules/react-hot-toast/dist/index.js";import"../../ui/table/ui/primitives/Primitives.js";import"../../ui/carousel/ui/CarouselContent.js";import"../../ui/slot/Slot.js";import"../../ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../ui/formElements/uncontrolled/combobox/combobox.js";import"../../ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../ui/formElements/uncontrolled/input/Input.js";import"../../ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../ui/formElements/uncontrolled/slider/SliderBase.js";import"../../ui/formElements/uncontrolled/switch/Switch.js";import"../../ui/formElements/uncontrolled/textarea/Textarea.js";import"../../ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../ui/formElements/controlled/editor/ui/Editor.js";import"../../ui/formElements/controlled/input/MaskInputControl.js";import"../../ui/dropdownList/ui/dropdownItem/DropdownItem.js";const f={NON_EMPTY:()=>"Поле не может быть пустым",MIN_LENGTH:_=>`Поле должно содержать минимум символов: ${_}`,MAX_LENGTH:_=>`Поле должно содержать максимум символов: ${_}`,FIX_LENGTH:_=>`Поле должно быть фиксированной длины символов: ${_}`,MIN_VALUE:_=>`Значение не может быть меньше чем ${_}`,MAX_VALUE:_=>`Значение не может быть больше чем ${_}`,PHONE_NON_EMPTY:()=>"Номер телефона должен состоять из 11 цифр",PHONE_INVALID_OPERATOR:()=>"Код города/оператора должен начинаться с цифры 3, 4, 5, 6 или 9",EMAIL_INVALID:()=>"Email введен некорректно. Пример: example@domain.ru",EMAIL_NON_EMPTY:()=>"Введите адрес электронной почты",SELECT_NON_EMPTY:()=>"Выберите один из вариантов",SELECT_MULTIPLE_MIN_LENGTH:_=>`Выберите не менее ${_} вариантов`,SELECT_MULTIPLE_MAX_LENGTH:_=>`Выберите не более ${_} вариантов`,SELECT_FIX_LENGTH:_=>`Поле должно быть фиксированного количества вариантов: ${_}`,DATE_INVALID_FORMAT:()=>"Дата указана некорректно",DATE_NON_EMPTY:()=>"Укажите дату",VALUE_OUT_OF_RANGE:_=>`Выберите один из вариантов ${_.join(", ")}`,DATE_MIN:_=>{const t=E.isString(_)?new Date(_):_;return`Выбранная дата должна быть не раньше ${N(t)}`},DATE_MAX:_=>{const t=E.isString(_)?new Date(_):_;return`Выбранная дата должна быть не позже ${N(t)}`},INVALID_REGEX_STRING:()=>"Поле не соответствует требованиям",INVALID_URL:()=>"Ссылка введена некорректно. Пример: https://example.com, example.com",PASSPORT_INVALID_TYPE:()=>"Паспортные данные введены некорректно",PASSPORT_NON_EMPTY:()=>"Поле обязательно для заполнения",PASSPORT_PART_OR_NUMBER_NON_EMPTY:()=>"Серия или номер паспорта не могут быть пустыми",INVALID_PASSPORT_PART:()=>"Серия паспорта введена некорректно",INVALID_PASSPORT_NUMBER:()=>"Номер паспорта введен некорректно",DEPARTMENT_NON_EMPTY:()=>"Поле обязательно для заполнения",INVALID_DEPARTMENT:()=>"Код подразделения введён некорректно",CURRENCY_NON_EMPTY:()=>"Не выбрана валюта"};export{f as baseDefaultMessages};
1
+ import"react/jsx-runtime";import"../../../../node_modules/classnames/index.js";import{TypeGuards as E}from"../../utils/typeGuards.js";import"../../ui/button/Button.js";import"../../ui/buttonIcon/ButtonIcon.js";import"../../ui/calendar/Calendar.js";import{formatDateToLocaleString as N}from"../../ui/calendar/model/utils.js";import"../../ui/accordion/Accordion.js";import"react";import"react-dom";import"../../ui/modal/ui/IframeModalContent.js";import"../../../../node_modules/react-hot-toast/dist/index.js";import"../../ui/table/ui/primitives/Primitives.js";import"../../ui/carousel/ui/CarouselContent.js";import"../../ui/slot/Slot.js";import"../../ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../ui/formElements/uncontrolled/combobox/combobox.js";import"../../ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../ui/formElements/uncontrolled/input/Input.js";import"../../ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../ui/formElements/uncontrolled/slider/SliderBase.js";import"../../ui/formElements/uncontrolled/switch/Switch.js";import"../../ui/formElements/uncontrolled/textarea/Textarea.js";import"../../ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../ui/formElements/controlled/editor/ui/Editor.js";import"../../ui/formElements/controlled/input/MaskInputControl.js";import"../../ui/dropdownList/ui/dropdownItem/DropdownItem.js";const g={NON_EMPTY:()=>"Поле не может быть пустым",MIN_LENGTH:_=>`Поле должно содержать минимум символов: ${_}`,MAX_LENGTH:_=>`Поле должно содержать максимум символов: ${_}`,FIX_LENGTH:_=>`Поле должно быть фиксированной длины символов: ${_}`,MIN_VALUE:_=>`Значение не может быть меньше чем ${_}`,MAX_VALUE:_=>`Значение не может быть больше чем ${_}`,PHONE_NON_EMPTY:()=>"Номер телефона должен состоять из 11 цифр",PHONE_INVALID_OPERATOR:()=>"Код города/оператора должен начинаться с цифры 3, 4, 5, 6 или 9",EMAIL_INVALID:()=>"Email введен некорректно. Пример: example@domain.ru",EMAIL_NON_EMPTY:()=>"Введите адрес электронной почты",SELECT_NON_EMPTY:()=>"Выберите один из вариантов",SELECT_MULTIPLE_MIN_LENGTH:_=>`Выберите не менее ${_} вариантов`,SELECT_MULTIPLE_MAX_LENGTH:_=>`Выберите не более ${_} вариантов`,SELECT_FIX_LENGTH:_=>`Поле должно быть фиксированного количества вариантов: ${_}`,DATE_INVALID_FORMAT:()=>"Дата указана некорректно",DATE_NON_EMPTY:()=>"Укажите дату",VALUE_OUT_OF_RANGE:_=>`Выберите один из вариантов ${_.join(", ")}`,DATE_MIN:_=>{const t=E.isString(_)?new Date(_):_;return`Выбранная дата должна быть не раньше ${N(t)}`},DATE_MAX:_=>{const t=E.isString(_)?new Date(_):_;return`Выбранная дата должна быть не позже ${N(t)}`},INVALID_REGEX_STRING:()=>"Поле не соответствует требованиям",INVALID_URL:()=>"Ссылка введена некорректно. Пример: https://example.com, example.com",PASSPORT_INVALID_TYPE:()=>"Паспортные данные введены некорректно",PASSPORT_NON_EMPTY:()=>"Поле обязательно для заполнения",PASSPORT_PART_OR_NUMBER_NON_EMPTY:()=>"Серия или номер паспорта не могут быть пустыми",INVALID_PASSPORT_PART:()=>"Серия паспорта введена некорректно",INVALID_PASSPORT_NUMBER:()=>"Номер паспорта введен некорректно",DEPARTMENT_NON_EMPTY:()=>"Поле обязательно для заполнения",INVALID_DEPARTMENT:()=>"Код подразделения введён некорректно",CURRENCY_NON_EMPTY:()=>"Не выбрана валюта"};export{g as baseDefaultMessages};
2
2
  //# sourceMappingURL=base.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.constants.js","sources":["../../../../../lib/shared/validation/base/base.constants.ts"],"sourcesContent":["import { type Primitive } from 'zod'\nimport { formatDateToLocaleString } from '$/shared/ui'\nimport { TypeGuards } from '$/shared/utils'\n\nexport const baseDefaultMessages = {\n NON_EMPTY: () => 'Поле не может быть пустым',\n MIN_LENGTH: (min: number) => `Поле должно содержать минимум символов: ${min}`,\n MAX_LENGTH: (max: number) => `Поле должно содержать максимум символов: ${max}`,\n FIX_LENGTH: (length: number) => `Поле должно быть фиксированной длины символов: ${length}`,\n MIN_VALUE: (min: number) => `Значение не может быть меньше чем ${min}`,\n MAX_VALUE: (max: number) => `Значение не может быть больше чем ${max}`,\n\n PHONE_NON_EMPTY: () => 'Номер телефона должен состоять из 11 цифр',\n PHONE_INVALID_OPERATOR: () => 'Код города/оператора должен начинаться с цифры 3, 4, 5, 6 или 9',\n\n EMAIL_INVALID: () => 'Email введен некорректно. Пример: example@domain.ru',\n EMAIL_NON_EMPTY: () => 'Введите адрес электронной почты',\n\n SELECT_NON_EMPTY: () => 'Выберите один из вариантов',\n SELECT_MULTIPLE_MIN_LENGTH: (length: number) => `Выберите не менее ${length} вариантов`,\n SELECT_MULTIPLE_MAX_LENGTH: (length: number) => `Выберите не более ${length} вариантов`,\n SELECT_FIX_LENGTH: (length: number) => `Поле должно быть фиксированного количества вариантов: ${length}`,\n\n DATE_INVALID_FORMAT: () => 'Дата указана некорректно',\n DATE_NON_EMPTY: () => 'Укажите дату',\n VALUE_OUT_OF_RANGE: <T extends Primitive>(range: T[]) => `Выберите один из вариантов ${range.join(', ')}`,\n\n DATE_MIN: (min: Date | string) => {\n const date = TypeGuards.isString(min) ? new Date(min) : min\n\n return `Выбранная дата должна быть не раньше ${formatDateToLocaleString(date)}`\n },\n DATE_MAX: (max: Date | string) => {\n const date = TypeGuards.isString(max) ? new Date(max) : max\n\n return `Выбранная дата должна быть не позже ${formatDateToLocaleString(date)}`\n },\n\n INVALID_REGEX_STRING: () => 'Поле не соответствует требованиям',\n\n INVALID_URL: () => 'Ссылка введена некорректно. Пример: https://example.com, example.com',\n\n PASSPORT_INVALID_TYPE: () => 'Паспортные данные введены некорректно',\n PASSPORT_NON_EMPTY: () => 'Поле обязательно для заполнения',\n PASSPORT_PART_OR_NUMBER_NON_EMPTY: () => 'Серия или номер паспорта не могут быть пустыми',\n INVALID_PASSPORT_PART: () => 'Серия паспорта введена некорректно',\n INVALID_PASSPORT_NUMBER: () => 'Номер паспорта введен некорректно',\n\n DEPARTMENT_NON_EMPTY: () => 'Поле обязательно для заполнения',\n INVALID_DEPARTMENT: () => 'Код подразделения введён некорректно',\n\n CURRENCY_NON_EMPTY: () => 'Не выбрана валюта'\n}\n"],"names":["baseDefaultMessages","min","max","length","range","date","TypeGuards","formatDateToLocaleString"],"mappings":"ypDAIO,MAAMA,EAAsB,CACjC,UAAW,IAAM,4BACjB,WAAaC,GAAgB,2CAA2CA,CAAG,GAC3E,WAAaC,GAAgB,4CAA4CA,CAAG,GAC5E,WAAaC,GAAmB,kDAAkDA,CAAM,GACxF,UAAYF,GAAgB,qCAAqCA,CAAG,GACpE,UAAYC,GAAgB,qCAAqCA,CAAG,GAEpE,gBAAiB,IAAM,4CACvB,uBAAwB,IAAM,kEAE9B,cAAe,IAAM,sDACrB,gBAAiB,IAAM,kCAEvB,iBAAkB,IAAM,6BACxB,2BAA6BC,GAAmB,qBAAqBA,CAAM,aAC3E,2BAA6BA,GAAmB,qBAAqBA,CAAM,aAC3E,kBAAoBA,GAAmB,yDAAyDA,CAAM,GAEtG,oBAAqB,IAAM,2BAC3B,eAAgB,IAAM,eACtB,mBAA0CC,GAAe,8BAA8BA,EAAM,KAAK,IAAI,CAAC,GAEvG,SAAWH,GAAuB,CAChC,MAAMI,EAAOC,EAAW,SAASL,CAAG,EAAI,IAAI,KAAKA,CAAG,EAAIA,EAExD,MAAO,wCAAwCM,EAAyBF,CAAI,CAAC,EAC/E,EACA,SAAWH,GAAuB,CAChC,MAAMG,EAAOC,EAAW,SAASJ,CAAG,EAAI,IAAI,KAAKA,CAAG,EAAIA,EAExD,MAAO,uCAAuCK,EAAyBF,CAAI,CAAC,EAC9E,EAEA,qBAAsB,IAAM,oCAE5B,YAAa,IAAM,uEAEnB,sBAAuB,IAAM,wCAC7B,mBAAoB,IAAM,kCAC1B,kCAAmC,IAAM,iDACzC,sBAAuB,IAAM,qCAC7B,wBAAyB,IAAM,oCAE/B,qBAAsB,IAAM,kCAC5B,mBAAoB,IAAM,uCAE1B,mBAAoB,IAAM,mBAC5B"}
1
+ {"version":3,"file":"base.constants.js","sources":["../../../../../lib/shared/validation/base/base.constants.ts"],"sourcesContent":["import { type Primitive } from 'zod'\nimport { formatDateToLocaleString } from '$/shared/ui'\nimport { TypeGuards } from '$/shared/utils'\n\nexport const baseDefaultMessages = {\n NON_EMPTY: () => 'Поле не может быть пустым',\n MIN_LENGTH: (min: number) => `Поле должно содержать минимум символов: ${min}`,\n MAX_LENGTH: (max: number) => `Поле должно содержать максимум символов: ${max}`,\n FIX_LENGTH: (length: number) => `Поле должно быть фиксированной длины символов: ${length}`,\n MIN_VALUE: (min: number) => `Значение не может быть меньше чем ${min}`,\n MAX_VALUE: (max: number) => `Значение не может быть больше чем ${max}`,\n\n PHONE_NON_EMPTY: () => 'Номер телефона должен состоять из 11 цифр',\n PHONE_INVALID_OPERATOR: () => 'Код города/оператора должен начинаться с цифры 3, 4, 5, 6 или 9',\n\n EMAIL_INVALID: () => 'Email введен некорректно. Пример: example@domain.ru',\n EMAIL_NON_EMPTY: () => 'Введите адрес электронной почты',\n\n SELECT_NON_EMPTY: () => 'Выберите один из вариантов',\n SELECT_MULTIPLE_MIN_LENGTH: (length: number) => `Выберите не менее ${length} вариантов`,\n SELECT_MULTIPLE_MAX_LENGTH: (length: number) => `Выберите не более ${length} вариантов`,\n SELECT_FIX_LENGTH: (length: number) => `Поле должно быть фиксированного количества вариантов: ${length}`,\n\n DATE_INVALID_FORMAT: () => 'Дата указана некорректно',\n DATE_NON_EMPTY: () => 'Укажите дату',\n VALUE_OUT_OF_RANGE: <T extends Primitive>(range: T[]) => `Выберите один из вариантов ${range.join(', ')}`,\n\n DATE_MIN: (min: Date | string) => {\n const date = TypeGuards.isString(min) ? new Date(min) : min\n\n return `Выбранная дата должна быть не раньше ${formatDateToLocaleString(date)}`\n },\n DATE_MAX: (max: Date | string) => {\n const date = TypeGuards.isString(max) ? new Date(max) : max\n\n return `Выбранная дата должна быть не позже ${formatDateToLocaleString(date)}`\n },\n\n INVALID_REGEX_STRING: () => 'Поле не соответствует требованиям',\n\n INVALID_URL: () => 'Ссылка введена некорректно. Пример: https://example.com, example.com',\n\n PASSPORT_INVALID_TYPE: () => 'Паспортные данные введены некорректно',\n PASSPORT_NON_EMPTY: () => 'Поле обязательно для заполнения',\n PASSPORT_PART_OR_NUMBER_NON_EMPTY: () => 'Серия или номер паспорта не могут быть пустыми',\n INVALID_PASSPORT_PART: () => 'Серия паспорта введена некорректно',\n INVALID_PASSPORT_NUMBER: () => 'Номер паспорта введен некорректно',\n\n DEPARTMENT_NON_EMPTY: () => 'Поле обязательно для заполнения',\n INVALID_DEPARTMENT: () => 'Код подразделения введён некорректно',\n\n CURRENCY_NON_EMPTY: () => 'Не выбрана валюта'\n}\n"],"names":["baseDefaultMessages","min","max","length","range","date","TypeGuards","formatDateToLocaleString"],"mappings":"8sDAIO,MAAMA,EAAsB,CACjC,UAAW,IAAM,4BACjB,WAAaC,GAAgB,2CAA2CA,CAAG,GAC3E,WAAaC,GAAgB,4CAA4CA,CAAG,GAC5E,WAAaC,GAAmB,kDAAkDA,CAAM,GACxF,UAAYF,GAAgB,qCAAqCA,CAAG,GACpE,UAAYC,GAAgB,qCAAqCA,CAAG,GAEpE,gBAAiB,IAAM,4CACvB,uBAAwB,IAAM,kEAE9B,cAAe,IAAM,sDACrB,gBAAiB,IAAM,kCAEvB,iBAAkB,IAAM,6BACxB,2BAA6BC,GAAmB,qBAAqBA,CAAM,aAC3E,2BAA6BA,GAAmB,qBAAqBA,CAAM,aAC3E,kBAAoBA,GAAmB,yDAAyDA,CAAM,GAEtG,oBAAqB,IAAM,2BAC3B,eAAgB,IAAM,eACtB,mBAA0CC,GAAe,8BAA8BA,EAAM,KAAK,IAAI,CAAC,GAEvG,SAAWH,GAAuB,CAChC,MAAMI,EAAOC,EAAW,SAASL,CAAG,EAAI,IAAI,KAAKA,CAAG,EAAIA,EAExD,MAAO,wCAAwCM,EAAyBF,CAAI,CAAC,EAC/E,EACA,SAAWH,GAAuB,CAChC,MAAMG,EAAOC,EAAW,SAASJ,CAAG,EAAI,IAAI,KAAKA,CAAG,EAAIA,EAExD,MAAO,uCAAuCK,EAAyBF,CAAI,CAAC,EAC9E,EAEA,qBAAsB,IAAM,oCAE5B,YAAa,IAAM,uEAEnB,sBAAuB,IAAM,wCAC7B,mBAAoB,IAAM,kCAC1B,kCAAmC,IAAM,iDACzC,sBAAuB,IAAM,qCAC7B,wBAAyB,IAAM,oCAE/B,qBAAsB,IAAM,kCAC5B,mBAAoB,IAAM,uCAE1B,mBAAoB,IAAM,mBAC5B"}
@@ -1,2 +1,2 @@
1
- import*as r from"../../../../node_modules/zod/v3/external.js";import{baseDefaultMessages as t}from"./base.constants.js";import{getSelectSchema as a}from"./select.validators.js";import{getStringSchema as l}from"./string.validators.js";import{TypeGuards as d}from"../../utils/typeGuards.js";const f={value:"",currency:null},p=o=>{const{min:s=1,max:i,message:e,defaultValue:n=f}=o??{};return r.object({value:l(),currency:a()}).superRefine(({value:m,currency:c},u)=>{d.isStringEmpty(m)&&u.addIssue({code:r.ZodIssueCode.too_small,type:"string",minimum:0,inclusive:!0,message:(e==null?void 0:e.valueEmpty)??t.NON_EMPTY()}),Number(m)<s&&u.addIssue({code:r.ZodIssueCode.too_small,type:"string",minimum:s,inclusive:!0,message:(e==null?void 0:e.min)??t.MIN_VALUE(s)}),d.isNil(c)&&u.addIssue({code:r.ZodIssueCode.invalid_type,expected:"string",received:"null",message:(e==null?void 0:e.currencyEmpty)??t.CURRENCY_NON_EMPTY()}),i&&Number(m)>i&&u.addIssue({code:r.ZodIssueCode.too_big,type:"string",maximum:i,inclusive:!0,message:(e==null?void 0:e.max)??t.MAX_VALUE(i)})}).default(n)};function N(o){return p(o)}export{N as getCurrencySchema};
1
+ import*as r from"../../../../node_modules/zod/v3/external.js";import{baseDefaultMessages as t}from"./base.constants.js";import{getSelectSchema as a}from"./select.validators.js";import{getStringSchema as l}from"./string.validators.js";import"../../../../node_modules/classnames/index.js";import{TypeGuards as d}from"../../utils/typeGuards.js";const p={value:"",currency:null},f=o=>{const{min:m=1,max:i,message:e,defaultValue:n=p}=o??{};return r.object({value:l(),currency:a()}).superRefine(({value:s,currency:c},u)=>{d.isStringEmpty(s)&&u.addIssue({code:r.ZodIssueCode.too_small,type:"string",minimum:0,inclusive:!0,message:(e==null?void 0:e.valueEmpty)??t.NON_EMPTY()}),Number(s)<m&&u.addIssue({code:r.ZodIssueCode.too_small,type:"string",minimum:m,inclusive:!0,message:(e==null?void 0:e.min)??t.MIN_VALUE(m)}),d.isNil(c)&&u.addIssue({code:r.ZodIssueCode.invalid_type,expected:"string",received:"null",message:(e==null?void 0:e.currencyEmpty)??t.CURRENCY_NON_EMPTY()}),i&&Number(s)>i&&u.addIssue({code:r.ZodIssueCode.too_big,type:"string",maximum:i,inclusive:!0,message:(e==null?void 0:e.max)??t.MAX_VALUE(i)})}).default(n)};function _(o){return f(o)}export{_ as getCurrencySchema};
2
2
  //# sourceMappingURL=currency.validators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"currency.validators.js","sources":["../../../../../lib/shared/validation/base/currency.validators.ts"],"sourcesContent":["import z from 'zod'\nimport { baseDefaultMessages } from './base.constants'\nimport { getSelectSchema } from './select.validators'\nimport { getStringSchema } from './string.validators'\nimport type { CurrencyValue } from '$/shared/ui/formElements/uncontrolled/inputCurrency'\nimport { TypeGuards } from '$/shared/utils'\n\nexport type CurrencyValidationOptions = {\n /**\n * Минимальное значение\n * @default 1\n */\n min?: number\n /**\n * Максимальное значение\n * @default undefined\n */\n max?: number\n /**\n * Значение по умолчанию\n * @default { value: '', currency: null }\n */\n defaultValue?: CurrencyValue\n /**\n * Произвольные сообщения об ошибках\n */\n message?: Partial<\n Record<keyof Omit<CurrencyValidationOptions, 'message' | 'defaultValue'> | 'currencyEmpty' | 'valueEmpty', string>\n >\n}\n\nconst defaultCurrency: CurrencyValue = {\n value: '',\n currency: null\n}\n\nconst getCurrencyRequired = (props?: CurrencyValidationOptions) => {\n const { min = 1, max, message, defaultValue = defaultCurrency } = props ?? {}\n\n return z\n .object({\n value: getStringSchema(),\n currency: getSelectSchema()\n })\n .superRefine(({ value, currency }, context) => {\n if (TypeGuards.isStringEmpty(value)) {\n context.addIssue({\n code: z.ZodIssueCode.too_small,\n type: 'string',\n minimum: 0,\n inclusive: true,\n message: message?.valueEmpty ?? baseDefaultMessages.NON_EMPTY()\n })\n }\n\n if (Number(value) < min) {\n context.addIssue({\n code: z.ZodIssueCode.too_small,\n type: 'string',\n minimum: min,\n inclusive: true,\n message: message?.min ?? baseDefaultMessages.MIN_VALUE(min)\n })\n }\n\n if (TypeGuards.isNil(currency)) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_type,\n expected: 'string',\n received: 'null',\n message: message?.currencyEmpty ?? baseDefaultMessages.CURRENCY_NON_EMPTY()\n })\n }\n\n if (max) {\n if (Number(value) > max) {\n context.addIssue({\n code: z.ZodIssueCode.too_big,\n type: 'string',\n maximum: max,\n inclusive: true,\n message: message?.max ?? baseDefaultMessages.MAX_VALUE(max)\n })\n }\n }\n })\n .default(defaultValue)\n}\ntype CurrencyRequiredSchema = ReturnType<typeof getCurrencyRequired>\n\n/**\n * Схема валидации обязательного поля валюты\n * @param {CurrencyValidationOptions} props настройки схемы\n * @typeParam `min` - `number | undefined` `default: 1`\n * @typeParam `max` - `number | undefined` `default: undefined`\n * @typeParam `message` - `{ [min | max | currencyEmpty | valueEmpty]: string }`\n * @typeParam `defaultValue` - `CurrencyValue` `default: { value: '', currency: null }`\n * @returns схема валидации поля в соответствии с настройками\n *\n * @example with required min value\n * z.object({\n * field: zodValidators.base.getCurrencySchema({ min: 10 })\n * })\n * // will returns z.object({\n * value: z.string().min(10),\n * currency: z.string().nullable()\n * })\n *\n * @example with required min, max value\n * z.object({\n * field: zodValidators.base.getCurrencySchema({ min: 10, max: 20 })\n * })\n * // will returns z.object({\n * value: z.string().min(10).max(20),\n * currency: z.string().nullable()\n * })\n */\nexport function getCurrencySchema(props?: CurrencyValidationOptions): CurrencyRequiredSchema {\n return getCurrencyRequired(props)\n}\n"],"names":["defaultCurrency","getCurrencyRequired","props","min","max","message","defaultValue","z","getStringSchema","getSelectSchema","value","currency","context","TypeGuards","baseDefaultMessages","getCurrencySchema"],"mappings":"iSA+BA,MAAMA,EAAiC,CACrC,MAAO,GACP,SAAU,IACZ,EAEMC,EAAuBC,GAAsC,CACjE,KAAM,CAAE,IAAAC,EAAM,EAAG,IAAAC,EAAK,QAAAC,EAAS,aAAAC,EAAeN,GAAoBE,GAAS,CAAA,EAE3E,OAAOK,EACJ,OAAO,CACN,MAAOC,EAAA,EACP,SAAUC,EAAA,CAAgB,CAC3B,EACA,YAAY,CAAC,CAAE,MAAAC,EAAO,SAAAC,CAAA,EAAYC,IAAY,CACzCC,EAAW,cAAcH,CAAK,GAChCE,EAAQ,SAAS,CACf,KAAML,EAAE,aAAa,UACrB,KAAM,SACN,QAAS,EACT,UAAW,GACX,SAASF,GAAA,YAAAA,EAAS,aAAcS,EAAoB,UAAA,CAAU,CAC/D,EAGC,OAAOJ,CAAK,EAAIP,GAClBS,EAAQ,SAAS,CACf,KAAML,EAAE,aAAa,UACrB,KAAM,SACN,QAASJ,EACT,UAAW,GACX,SAASE,GAAA,YAAAA,EAAS,MAAOS,EAAoB,UAAUX,CAAG,CAAA,CAC3D,EAGCU,EAAW,MAAMF,CAAQ,GAC3BC,EAAQ,SAAS,CACf,KAAML,EAAE,aAAa,aACrB,SAAU,SACV,SAAU,OACV,SAASF,GAAA,YAAAA,EAAS,gBAAiBS,EAAoB,mBAAA,CAAmB,CAC3E,EAGCV,GACE,OAAOM,CAAK,EAAIN,GAClBQ,EAAQ,SAAS,CACf,KAAML,EAAE,aAAa,QACrB,KAAM,SACN,QAASH,EACT,UAAW,GACX,SAASC,GAAA,YAAAA,EAAS,MAAOS,EAAoB,UAAUV,CAAG,CAAA,CAC3D,CAGP,CAAC,EACA,QAAQE,CAAY,CACzB,EA8BO,SAASS,EAAkBb,EAA2D,CAC3F,OAAOD,EAAoBC,CAAK,CAClC"}
1
+ {"version":3,"file":"currency.validators.js","sources":["../../../../../lib/shared/validation/base/currency.validators.ts"],"sourcesContent":["import z from 'zod'\nimport { baseDefaultMessages } from './base.constants'\nimport { getSelectSchema } from './select.validators'\nimport { getStringSchema } from './string.validators'\nimport type { CurrencyValue } from '$/shared/ui/formElements/uncontrolled/inputCurrency'\nimport { TypeGuards } from '$/shared/utils'\n\nexport type CurrencyValidationOptions = {\n /**\n * Минимальное значение\n * @default 1\n */\n min?: number\n /**\n * Максимальное значение\n * @default undefined\n */\n max?: number\n /**\n * Значение по умолчанию\n * @default { value: '', currency: null }\n */\n defaultValue?: CurrencyValue\n /**\n * Произвольные сообщения об ошибках\n */\n message?: Partial<\n Record<keyof Omit<CurrencyValidationOptions, 'message' | 'defaultValue'> | 'currencyEmpty' | 'valueEmpty', string>\n >\n}\n\nconst defaultCurrency: CurrencyValue = {\n value: '',\n currency: null\n}\n\nconst getCurrencyRequired = (props?: CurrencyValidationOptions) => {\n const { min = 1, max, message, defaultValue = defaultCurrency } = props ?? {}\n\n return z\n .object({\n value: getStringSchema(),\n currency: getSelectSchema()\n })\n .superRefine(({ value, currency }, context) => {\n if (TypeGuards.isStringEmpty(value)) {\n context.addIssue({\n code: z.ZodIssueCode.too_small,\n type: 'string',\n minimum: 0,\n inclusive: true,\n message: message?.valueEmpty ?? baseDefaultMessages.NON_EMPTY()\n })\n }\n\n if (Number(value) < min) {\n context.addIssue({\n code: z.ZodIssueCode.too_small,\n type: 'string',\n minimum: min,\n inclusive: true,\n message: message?.min ?? baseDefaultMessages.MIN_VALUE(min)\n })\n }\n\n if (TypeGuards.isNil(currency)) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_type,\n expected: 'string',\n received: 'null',\n message: message?.currencyEmpty ?? baseDefaultMessages.CURRENCY_NON_EMPTY()\n })\n }\n\n if (max) {\n if (Number(value) > max) {\n context.addIssue({\n code: z.ZodIssueCode.too_big,\n type: 'string',\n maximum: max,\n inclusive: true,\n message: message?.max ?? baseDefaultMessages.MAX_VALUE(max)\n })\n }\n }\n })\n .default(defaultValue)\n}\ntype CurrencyRequiredSchema = ReturnType<typeof getCurrencyRequired>\n\n/**\n * Схема валидации обязательного поля валюты\n * @param {CurrencyValidationOptions} props настройки схемы\n * @typeParam `min` - `number | undefined` `default: 1`\n * @typeParam `max` - `number | undefined` `default: undefined`\n * @typeParam `message` - `{ [min | max | currencyEmpty | valueEmpty]: string }`\n * @typeParam `defaultValue` - `CurrencyValue` `default: { value: '', currency: null }`\n * @returns схема валидации поля в соответствии с настройками\n *\n * @example with required min value\n * z.object({\n * field: zodValidators.base.getCurrencySchema({ min: 10 })\n * })\n * // will returns z.object({\n * value: z.string().min(10),\n * currency: z.string().nullable()\n * })\n *\n * @example with required min, max value\n * z.object({\n * field: zodValidators.base.getCurrencySchema({ min: 10, max: 20 })\n * })\n * // will returns z.object({\n * value: z.string().min(10).max(20),\n * currency: z.string().nullable()\n * })\n */\nexport function getCurrencySchema(props?: CurrencyValidationOptions): CurrencyRequiredSchema {\n return getCurrencyRequired(props)\n}\n"],"names":["defaultCurrency","getCurrencyRequired","props","min","max","message","defaultValue","z","getStringSchema","getSelectSchema","value","currency","context","TypeGuards","baseDefaultMessages","getCurrencySchema"],"mappings":"sVA+BA,MAAMA,EAAiC,CACrC,MAAO,GACP,SAAU,IACZ,EAEMC,EAAuBC,GAAsC,CACjE,KAAM,CAAE,IAAAC,EAAM,EAAG,IAAAC,EAAK,QAAAC,EAAS,aAAAC,EAAeN,GAAoBE,GAAS,CAAA,EAE3E,OAAOK,EACJ,OAAO,CACN,MAAOC,EAAA,EACP,SAAUC,EAAA,CAAgB,CAC3B,EACA,YAAY,CAAC,CAAE,MAAAC,EAAO,SAAAC,CAAA,EAAYC,IAAY,CACzCC,EAAW,cAAcH,CAAK,GAChCE,EAAQ,SAAS,CACf,KAAML,EAAE,aAAa,UACrB,KAAM,SACN,QAAS,EACT,UAAW,GACX,SAASF,GAAA,YAAAA,EAAS,aAAcS,EAAoB,UAAA,CAAU,CAC/D,EAGC,OAAOJ,CAAK,EAAIP,GAClBS,EAAQ,SAAS,CACf,KAAML,EAAE,aAAa,UACrB,KAAM,SACN,QAASJ,EACT,UAAW,GACX,SAASE,GAAA,YAAAA,EAAS,MAAOS,EAAoB,UAAUX,CAAG,CAAA,CAC3D,EAGCU,EAAW,MAAMF,CAAQ,GAC3BC,EAAQ,SAAS,CACf,KAAML,EAAE,aAAa,aACrB,SAAU,SACV,SAAU,OACV,SAASF,GAAA,YAAAA,EAAS,gBAAiBS,EAAoB,mBAAA,CAAmB,CAC3E,EAGCV,GACE,OAAOM,CAAK,EAAIN,GAClBQ,EAAQ,SAAS,CACf,KAAML,EAAE,aAAa,QACrB,KAAM,SACN,QAASH,EACT,UAAW,GACX,SAASC,GAAA,YAAAA,EAAS,MAAOS,EAAoB,UAAUV,CAAG,CAAA,CAC3D,CAGP,CAAC,EACA,QAAQE,CAAY,CACzB,EA8BO,SAASS,EAAkBb,EAA2D,CAC3F,OAAOD,EAAoBC,CAAK,CAClC"}
@@ -1,2 +1,2 @@
1
- import*as o from"../../../../node_modules/zod/v3/external.js";import{baseDefaultMessages as a}from"./base.constants.js";import"react/jsx-runtime";import{TypeGuards as n}from"../../utils/typeGuards.js";import"../../ui/button/Button.js";import"../../ui/buttonIcon/ButtonIcon.js";import"../../ui/calendar/Calendar.js";import{DATE_VISIBLE_PATTERN as D}from"../../ui/calendar/model/utils.js";import"../../ui/accordion/Accordion.js";import"react";import"react-dom";import"../../ui/modal/ui/IframeModalContent.js";import"../../../../node_modules/react-hot-toast/dist/index.js";import"../../ui/table/ui/primitives/Primitives.js";import"../../ui/carousel/ui/CarouselContent.js";import"../../ui/slot/Slot.js";import"../../ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../ui/formElements/uncontrolled/combobox/combobox.js";import"../../ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../ui/formElements/uncontrolled/input/Input.js";import"../../ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../ui/formElements/uncontrolled/slider/SliderBase.js";import"../../ui/formElements/uncontrolled/switch/Switch.js";import"../../ui/formElements/uncontrolled/textarea/Textarea.js";import"../../ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../ui/formElements/controlled/editor/ui/Editor.js";import"../../ui/formElements/controlled/input/MaskInputControl.js";import"../../ui/dropdownList/ui/dropdownItem/DropdownItem.js";import{parse as _}from"../../../../node_modules/date-fns/parse.js";import{isValid as f}from"../../../../node_modules/date-fns/isValid.js";const g=l=>{const{iso:u=!0,pattern:p=D,min:t,max:d,defaultValue:i,message:e}=l||{};return o.string().min(8,(e==null?void 0:e.min)||a.DATE_NON_EMPTY()).superRefine((r,m)=>{const I=p.replace(/\W/g,"").length;if(r.replace(/[._-]/g,"").length<I&&m.addIssue({code:o.ZodIssueCode.too_small,minimum:I,type:"date",inclusive:!0,message:(e==null?void 0:e.min)||a.DATE_NON_EMPTY()}),u){let T=null;try{T=new Date(r)}catch{m.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.invalidDate)||a.DATE_INVALID_FORMAT()})}t&&T.getTime()<(n.isString(t)?new Date(t).getTime():t.getTime())&&m.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.min)||a.DATE_MIN(t)}),d&&T.getTime()>(n.isString(d)?new Date(d).getTime():d.getTime())&&m.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.max)||a.DATE_MAX(d)})}else{const T=_(r,p,new Date);f(T)||m.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.invalidDate)||a.DATE_INVALID_FORMAT()}),t&&T.getTime()<(n.isString(t)?new Date(t).getTime():t.getTime())&&m.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.min)||a.DATE_MIN(t)}),d&&T.getTime()>(n.isString(d)?new Date(d).getTime():d.getTime())&&m.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.max)||a.DATE_MAX(d)})}}).default(i??"")},c=l=>{const{iso:u=!0,pattern:p=D,min:t,max:d,message:i}=l||{};return o.string().transform(e=>e||void 0).superRefine((e,r)=>{if(n.isString(e)&&e.length){const m=p.replace(/\W/g,"").length;if(e.replace(/[._-]/g,"").length<m&&r.addIssue({code:o.ZodIssueCode.too_small,minimum:m,type:"date",inclusive:!0,message:(i==null?void 0:i.min)||a.DATE_NON_EMPTY()}),u){let s=null;try{s=new Date(e)}catch{r.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.invalidDate)||a.DATE_INVALID_FORMAT()})}t&&s.getTime()<(n.isString(t)?new Date(t).getTime():t.getTime())&&r.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.min)||a.DATE_MIN(t)}),d&&s.getTime()>(n.isString(d)?new Date(d).getTime():d.getTime())&&r.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.max)||a.DATE_MAX(d)})}else{const s=_(e,p,new Date);f(s)||r.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.invalidDate)||a.DATE_INVALID_FORMAT()}),t&&s.getTime()<(n.isString(t)?new Date(t).getTime():t.getTime())&&r.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.min)||a.DATE_MIN(t)}),d&&s.getTime()>(n.isString(d)?new Date(d).getTime():d.getTime())&&r.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.max)||a.DATE_MAX(d)})}}}).optional()};function ee(l){const{required:u=!0}=l||{};return u?g(l):c(l)}export{ee as getDateSchema};
1
+ import*as o from"../../../../node_modules/zod/v3/external.js";import{baseDefaultMessages as a}from"./base.constants.js";import"react/jsx-runtime";import"../../../../node_modules/classnames/index.js";import{TypeGuards as n}from"../../utils/typeGuards.js";import"../../ui/button/Button.js";import"../../ui/buttonIcon/ButtonIcon.js";import"../../ui/calendar/Calendar.js";import{DATE_VISIBLE_PATTERN as D}from"../../ui/calendar/model/utils.js";import"../../ui/accordion/Accordion.js";import"react";import"react-dom";import"../../ui/modal/ui/IframeModalContent.js";import"../../../../node_modules/react-hot-toast/dist/index.js";import"../../ui/table/ui/primitives/Primitives.js";import"../../ui/carousel/ui/CarouselContent.js";import"../../ui/slot/Slot.js";import"../../ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../ui/formElements/uncontrolled/combobox/combobox.js";import"../../ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../ui/formElements/uncontrolled/input/Input.js";import"../../ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../ui/formElements/uncontrolled/slider/SliderBase.js";import"../../ui/formElements/uncontrolled/switch/Switch.js";import"../../ui/formElements/uncontrolled/textarea/Textarea.js";import"../../ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../ui/formElements/controlled/editor/ui/Editor.js";import"../../ui/formElements/controlled/input/MaskInputControl.js";import"../../ui/dropdownList/ui/dropdownItem/DropdownItem.js";import{parse as _}from"../../../../node_modules/date-fns/parse.js";import{isValid as f}from"../../../../node_modules/date-fns/isValid.js";const g=l=>{const{iso:u=!0,pattern:p=D,min:t,max:d,defaultValue:i,message:e}=l||{};return o.string().min(8,(e==null?void 0:e.min)||a.DATE_NON_EMPTY()).superRefine((r,m)=>{const I=p.replace(/\W/g,"").length;if(r.replace(/[._-]/g,"").length<I&&m.addIssue({code:o.ZodIssueCode.too_small,minimum:I,type:"date",inclusive:!0,message:(e==null?void 0:e.min)||a.DATE_NON_EMPTY()}),u){let T=null;try{T=new Date(r)}catch{m.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.invalidDate)||a.DATE_INVALID_FORMAT()})}t&&T.getTime()<(n.isString(t)?new Date(t).getTime():t.getTime())&&m.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.min)||a.DATE_MIN(t)}),d&&T.getTime()>(n.isString(d)?new Date(d).getTime():d.getTime())&&m.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.max)||a.DATE_MAX(d)})}else{const T=_(r,p,new Date);f(T)||m.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.invalidDate)||a.DATE_INVALID_FORMAT()}),t&&T.getTime()<(n.isString(t)?new Date(t).getTime():t.getTime())&&m.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.min)||a.DATE_MIN(t)}),d&&T.getTime()>(n.isString(d)?new Date(d).getTime():d.getTime())&&m.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.max)||a.DATE_MAX(d)})}}).default(i??"")},c=l=>{const{iso:u=!0,pattern:p=D,min:t,max:d,message:i}=l||{};return o.string().transform(e=>e||void 0).superRefine((e,r)=>{if(n.isString(e)&&e.length){const m=p.replace(/\W/g,"").length;if(e.replace(/[._-]/g,"").length<m&&r.addIssue({code:o.ZodIssueCode.too_small,minimum:m,type:"date",inclusive:!0,message:(i==null?void 0:i.min)||a.DATE_NON_EMPTY()}),u){let s=null;try{s=new Date(e)}catch{r.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.invalidDate)||a.DATE_INVALID_FORMAT()})}t&&s.getTime()<(n.isString(t)?new Date(t).getTime():t.getTime())&&r.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.min)||a.DATE_MIN(t)}),d&&s.getTime()>(n.isString(d)?new Date(d).getTime():d.getTime())&&r.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.max)||a.DATE_MAX(d)})}else{const s=_(e,p,new Date);f(s)||r.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.invalidDate)||a.DATE_INVALID_FORMAT()}),t&&s.getTime()<(n.isString(t)?new Date(t).getTime():t.getTime())&&r.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.min)||a.DATE_MIN(t)}),d&&s.getTime()>(n.isString(d)?new Date(d).getTime():d.getTime())&&r.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.max)||a.DATE_MAX(d)})}}}).optional()};function ie(l){const{required:u=!0}=l||{};return u?g(l):c(l)}export{ie as getDateSchema};
2
2
  //# sourceMappingURL=date.validators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date.validators.js","sources":["../../../../../lib/shared/validation/base/date.validators.ts"],"sourcesContent":["import { isValid, parse } from 'date-fns'\nimport z from 'zod'\nimport { baseDefaultMessages } from './base.constants'\nimport { DATE_VISIBLE_PATTERN } from '$/shared/ui'\nimport { TypeGuards } from '$/shared/utils'\n\nexport type DateValidationOptions<Required extends boolean> = {\n /**\n * валидация строки с учетом ISO формата\n * @default true\n */\n iso?: boolean\n /**\n * шаблон для валидации строки (будет проигнорирован, если `iso = true`)\n * @default 'dd.MM.yyyy'\n */\n pattern?: string\n /**\n * минимальная дата\n * `Date | ISO string`\n */\n min?: Date | string\n /**\n * максимальная дата\n * `Date | ISO string`\n */\n max?: Date | string\n /**\n * указывает что поле обязательное\n */\n required?: Required\n /**\n * значение по умолчанию\n * @default undefined\n */\n defaultValue?: string\n message?: {\n min?: string\n max?: string\n invalidDate?: string\n }\n}\n\n/**\n * Схема валидации обязательного поля даты\n */\nconst getDateRequired = (props?: Omit<DateValidationOptions<boolean>, 'required'>) => {\n const { iso = true, pattern = DATE_VISIBLE_PATTERN, min, max, defaultValue, message } = props || {}\n\n return z\n .string()\n .min(8, message?.min || baseDefaultMessages.DATE_NON_EMPTY())\n .superRefine((value, context) => {\n const validSymbolsLength = pattern.replace(/\\W/g, '').length\n const cleanedValue = value.replace(/[._-]/g, '')\n\n if (cleanedValue.length < validSymbolsLength) {\n context.addIssue({\n code: z.ZodIssueCode.too_small,\n minimum: validSymbolsLength,\n type: 'date',\n inclusive: true,\n message: message?.min || baseDefaultMessages.DATE_NON_EMPTY()\n })\n }\n\n if (iso) {\n let date: Date | null = null\n\n try {\n date = new Date(value)\n } catch {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.invalidDate || baseDefaultMessages.DATE_INVALID_FORMAT()\n })\n }\n\n if (min) {\n if (date!.getTime() < (TypeGuards.isString(min) ? new Date(min).getTime() : min.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.min || baseDefaultMessages.DATE_MIN(min)\n })\n }\n }\n\n if (max) {\n if (date!.getTime() > (TypeGuards.isString(max) ? new Date(max).getTime() : max.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.max || baseDefaultMessages.DATE_MAX(max)\n })\n }\n }\n } else {\n const date = parse(value, pattern, new Date())\n\n if (!isValid(date)) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.invalidDate || baseDefaultMessages.DATE_INVALID_FORMAT()\n })\n }\n\n if (min) {\n if (date.getTime() < (TypeGuards.isString(min) ? new Date(min).getTime() : min.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.min || baseDefaultMessages.DATE_MIN(min)\n })\n }\n }\n\n if (max) {\n if (date.getTime() > (TypeGuards.isString(max) ? new Date(max).getTime() : max.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.max || baseDefaultMessages.DATE_MAX(max)\n })\n }\n }\n }\n })\n .default(defaultValue ?? '')\n}\ntype DateRequiredSchema = ReturnType<typeof getDateRequired>\n\n/**\n * Схема валидации опционального поля даты\n */\nconst getDateOptional = (props?: Omit<DateValidationOptions<boolean>, 'required'>) => {\n const { iso = true, pattern = DATE_VISIBLE_PATTERN, min, max, message } = props || {}\n\n return z\n .string()\n .transform((value) => (!value ? undefined : value))\n .superRefine((value, context) => {\n if (TypeGuards.isString(value) && Boolean(value.length)) {\n const validSymbolsLength = pattern.replace(/\\W/g, '').length\n const cleanedValue = value.replace(/[._-]/g, '')\n\n if (cleanedValue.length < validSymbolsLength) {\n context.addIssue({\n code: z.ZodIssueCode.too_small,\n minimum: validSymbolsLength,\n type: 'date',\n inclusive: true,\n message: message?.min || baseDefaultMessages.DATE_NON_EMPTY()\n })\n }\n\n if (iso) {\n let date: Date | null = null\n\n try {\n date = new Date(value)\n } catch {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.invalidDate || baseDefaultMessages.DATE_INVALID_FORMAT()\n })\n }\n\n if (min) {\n if (date!.getTime() < (TypeGuards.isString(min) ? new Date(min).getTime() : min.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.min || baseDefaultMessages.DATE_MIN(min)\n })\n }\n }\n\n if (max) {\n if (date!.getTime() > (TypeGuards.isString(max) ? new Date(max).getTime() : max.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.max || baseDefaultMessages.DATE_MAX(max)\n })\n }\n }\n } else {\n const date = parse(value, pattern, new Date())\n\n if (!isValid(date)) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.invalidDate || baseDefaultMessages.DATE_INVALID_FORMAT()\n })\n }\n\n if (min) {\n if (date.getTime() < (TypeGuards.isString(min) ? new Date(min).getTime() : min.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.min || baseDefaultMessages.DATE_MIN(min)\n })\n }\n }\n\n if (max) {\n if (date.getTime() > (TypeGuards.isString(max) ? new Date(max).getTime() : max.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.max || baseDefaultMessages.DATE_MAX(max)\n })\n }\n }\n }\n }\n })\n .optional()\n}\ntype DateOptionalSchema = ReturnType<typeof getDateOptional>\n\n/**\n * Схема валидации поля даты\n * @param {DateValidationOptions} props настройки схемы\n * @typeParam `required` - `boolean`\n * @typeParam `iso` - `boolean | undefined`\n * @typeParam `pattern` - `string | undefined`\n * @typeParam `message` - `{ [min | invalidOperator]: string }`\n * @returns схема валидации поля в соответствии с настройками\n *\n * @example with required value\n * z.object({\n * field: zodValidators.base.getDateSchema()\n * })\n * // will returns z.string()\n *\n * @example with required value\n * z.object({\n * field: zodValidators.base.getDateSchema({ required: false })\n * })\n * // will returns z.string().optional()\n */\nexport function getDateSchema(props?: DateValidationOptions<true>): DateRequiredSchema\nexport function getDateSchema(props?: DateValidationOptions<false>): DateOptionalSchema\nexport function getDateSchema<Required extends boolean>(\n props?: DateValidationOptions<Required>\n): DateRequiredSchema | DateOptionalSchema {\n const { required = true } = props || {}\n\n return required ? getDateRequired(props) : getDateOptional(props)\n}\n"],"names":["getDateRequired","props","iso","pattern","DATE_VISIBLE_PATTERN","min","max","defaultValue","message","z","baseDefaultMessages","value","context","validSymbolsLength","date","TypeGuards","parse","isValid","getDateOptional","getDateSchema","required"],"mappings":"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"}
1
+ {"version":3,"file":"date.validators.js","sources":["../../../../../lib/shared/validation/base/date.validators.ts"],"sourcesContent":["import { isValid, parse } from 'date-fns'\nimport z from 'zod'\nimport { baseDefaultMessages } from './base.constants'\nimport { DATE_VISIBLE_PATTERN } from '$/shared/ui'\nimport { TypeGuards } from '$/shared/utils'\n\nexport type DateValidationOptions<Required extends boolean> = {\n /**\n * валидация строки с учетом ISO формата\n * @default true\n */\n iso?: boolean\n /**\n * шаблон для валидации строки (будет проигнорирован, если `iso = true`)\n * @default 'dd.MM.yyyy'\n */\n pattern?: string\n /**\n * минимальная дата\n * `Date | ISO string`\n */\n min?: Date | string\n /**\n * максимальная дата\n * `Date | ISO string`\n */\n max?: Date | string\n /**\n * указывает что поле обязательное\n */\n required?: Required\n /**\n * значение по умолчанию\n * @default undefined\n */\n defaultValue?: string\n message?: {\n min?: string\n max?: string\n invalidDate?: string\n }\n}\n\n/**\n * Схема валидации обязательного поля даты\n */\nconst getDateRequired = (props?: Omit<DateValidationOptions<boolean>, 'required'>) => {\n const { iso = true, pattern = DATE_VISIBLE_PATTERN, min, max, defaultValue, message } = props || {}\n\n return z\n .string()\n .min(8, message?.min || baseDefaultMessages.DATE_NON_EMPTY())\n .superRefine((value, context) => {\n const validSymbolsLength = pattern.replace(/\\W/g, '').length\n const cleanedValue = value.replace(/[._-]/g, '')\n\n if (cleanedValue.length < validSymbolsLength) {\n context.addIssue({\n code: z.ZodIssueCode.too_small,\n minimum: validSymbolsLength,\n type: 'date',\n inclusive: true,\n message: message?.min || baseDefaultMessages.DATE_NON_EMPTY()\n })\n }\n\n if (iso) {\n let date: Date | null = null\n\n try {\n date = new Date(value)\n } catch {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.invalidDate || baseDefaultMessages.DATE_INVALID_FORMAT()\n })\n }\n\n if (min) {\n if (date!.getTime() < (TypeGuards.isString(min) ? new Date(min).getTime() : min.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.min || baseDefaultMessages.DATE_MIN(min)\n })\n }\n }\n\n if (max) {\n if (date!.getTime() > (TypeGuards.isString(max) ? new Date(max).getTime() : max.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.max || baseDefaultMessages.DATE_MAX(max)\n })\n }\n }\n } else {\n const date = parse(value, pattern, new Date())\n\n if (!isValid(date)) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.invalidDate || baseDefaultMessages.DATE_INVALID_FORMAT()\n })\n }\n\n if (min) {\n if (date.getTime() < (TypeGuards.isString(min) ? new Date(min).getTime() : min.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.min || baseDefaultMessages.DATE_MIN(min)\n })\n }\n }\n\n if (max) {\n if (date.getTime() > (TypeGuards.isString(max) ? new Date(max).getTime() : max.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.max || baseDefaultMessages.DATE_MAX(max)\n })\n }\n }\n }\n })\n .default(defaultValue ?? '')\n}\ntype DateRequiredSchema = ReturnType<typeof getDateRequired>\n\n/**\n * Схема валидации опционального поля даты\n */\nconst getDateOptional = (props?: Omit<DateValidationOptions<boolean>, 'required'>) => {\n const { iso = true, pattern = DATE_VISIBLE_PATTERN, min, max, message } = props || {}\n\n return z\n .string()\n .transform((value) => (!value ? undefined : value))\n .superRefine((value, context) => {\n if (TypeGuards.isString(value) && Boolean(value.length)) {\n const validSymbolsLength = pattern.replace(/\\W/g, '').length\n const cleanedValue = value.replace(/[._-]/g, '')\n\n if (cleanedValue.length < validSymbolsLength) {\n context.addIssue({\n code: z.ZodIssueCode.too_small,\n minimum: validSymbolsLength,\n type: 'date',\n inclusive: true,\n message: message?.min || baseDefaultMessages.DATE_NON_EMPTY()\n })\n }\n\n if (iso) {\n let date: Date | null = null\n\n try {\n date = new Date(value)\n } catch {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.invalidDate || baseDefaultMessages.DATE_INVALID_FORMAT()\n })\n }\n\n if (min) {\n if (date!.getTime() < (TypeGuards.isString(min) ? new Date(min).getTime() : min.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.min || baseDefaultMessages.DATE_MIN(min)\n })\n }\n }\n\n if (max) {\n if (date!.getTime() > (TypeGuards.isString(max) ? new Date(max).getTime() : max.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.max || baseDefaultMessages.DATE_MAX(max)\n })\n }\n }\n } else {\n const date = parse(value, pattern, new Date())\n\n if (!isValid(date)) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.invalidDate || baseDefaultMessages.DATE_INVALID_FORMAT()\n })\n }\n\n if (min) {\n if (date.getTime() < (TypeGuards.isString(min) ? new Date(min).getTime() : min.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.min || baseDefaultMessages.DATE_MIN(min)\n })\n }\n }\n\n if (max) {\n if (date.getTime() > (TypeGuards.isString(max) ? new Date(max).getTime() : max.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.max || baseDefaultMessages.DATE_MAX(max)\n })\n }\n }\n }\n }\n })\n .optional()\n}\ntype DateOptionalSchema = ReturnType<typeof getDateOptional>\n\n/**\n * Схема валидации поля даты\n * @param {DateValidationOptions} props настройки схемы\n * @typeParam `required` - `boolean`\n * @typeParam `iso` - `boolean | undefined`\n * @typeParam `pattern` - `string | undefined`\n * @typeParam `message` - `{ [min | invalidOperator]: string }`\n * @returns схема валидации поля в соответствии с настройками\n *\n * @example with required value\n * z.object({\n * field: zodValidators.base.getDateSchema()\n * })\n * // will returns z.string()\n *\n * @example with required value\n * z.object({\n * field: zodValidators.base.getDateSchema({ required: false })\n * })\n * // will returns z.string().optional()\n */\nexport function getDateSchema(props?: DateValidationOptions<true>): DateRequiredSchema\nexport function getDateSchema(props?: DateValidationOptions<false>): DateOptionalSchema\nexport function getDateSchema<Required extends boolean>(\n props?: DateValidationOptions<Required>\n): DateRequiredSchema | DateOptionalSchema {\n const { required = true } = props || {}\n\n return required ? getDateRequired(props) : getDateOptional(props)\n}\n"],"names":["getDateRequired","props","iso","pattern","DATE_VISIBLE_PATTERN","min","max","defaultValue","message","z","baseDefaultMessages","value","context","validSymbolsLength","date","TypeGuards","parse","isValid","getDateOptional","getDateSchema","required"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import*as s from"../../../../node_modules/zod/v3/external.js";import{baseDefaultMessages as o}from"./base.constants.js";import{TypeGuards as g}from"../../utils/typeGuards.js";const E=/^[\w-.]+@([\w-]+\.)+[\w-]{2,4}$/g,m=e=>{const{message:t,defaultValue:n,regexp:i=E}=e||{},r=g.isString(i)?new RegExp(i):i;return s.string().min(1,(t==null?void 0:t.min)||o.EMAIL_NON_EMPTY()).regex(r,(t==null?void 0:t.invalid)||o.EMAIL_INVALID()).default(n??"")},c=e=>{const{message:t,regexp:n=E}=e||{},i=g.isString(n)?new RegExp(n):n;return s.string().refine(r=>g.isStringEmpty(r)?!0:i.test(r),{message:(t==null?void 0:t.invalid)||o.EMAIL_INVALID()}).optional().transform(r=>(r==null?void 0:r.length)===0?void 0:r)};function u(e){const{required:t=!0}=e||{};return t?m(e):c(e)}export{u as getEmailSchema};
1
+ import*as s from"../../../../node_modules/zod/v3/external.js";import{baseDefaultMessages as o}from"./base.constants.js";import"../../../../node_modules/classnames/index.js";import{TypeGuards as g}from"../../utils/typeGuards.js";const E=/^[\w-.]+@([\w-]+\.)+[\w-]{2,4}$/g,m=e=>{const{message:t,defaultValue:n,regexp:i=E}=e||{},r=g.isString(i)?new RegExp(i):i;return s.string().min(1,(t==null?void 0:t.min)||o.EMAIL_NON_EMPTY()).regex(r,(t==null?void 0:t.invalid)||o.EMAIL_INVALID()).default(n??"")},c=e=>{const{message:t,regexp:n=E}=e||{},i=g.isString(n)?new RegExp(n):n;return s.string().refine(r=>g.isStringEmpty(r)?!0:i.test(r),{message:(t==null?void 0:t.invalid)||o.EMAIL_INVALID()}).optional().transform(r=>(r==null?void 0:r.length)===0?void 0:r)};function u(e){const{required:t=!0}=e||{};return t?m(e):c(e)}export{u as getEmailSchema};
2
2
  //# sourceMappingURL=email.validators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"email.validators.js","sources":["../../../../../lib/shared/validation/base/email.validators.ts"],"sourcesContent":["import z from 'zod'\nimport { baseDefaultMessages } from './base.constants'\nimport { TypeGuards } from '$/shared/utils'\n\nexport type EmailValidationOptions<Required extends boolean> = {\n /**\n * указывает что поле обязательное\n * @default true\n */\n required?: Required\n /**\n * Регулярное выражение для проверки email на валидность\n */\n regexp?: RegExp | string\n /**\n * значение по умолчанию\n * @default undefined\n */\n defaultValue?: string\n message?: {\n min?: string\n invalid?: string\n }\n}\n\nconst EMAIL_REGEX = /^[\\w-.]+@([\\w-]+\\.)+[\\w-]{2,4}$/g\n\n/**\n * Схема валидации обязательного поля типа email\n */\nconst getEmailRequired = (props?: Omit<EmailValidationOptions<true>, 'required'>) => {\n const { message, defaultValue, regexp = EMAIL_REGEX } = props || {}\n\n const regex = TypeGuards.isString(regexp) ? new RegExp(regexp) : regexp\n\n return z\n .string()\n .min(1, message?.min || baseDefaultMessages.EMAIL_NON_EMPTY())\n .regex(regex, message?.invalid || baseDefaultMessages.EMAIL_INVALID())\n .default(defaultValue ?? '')\n}\ntype EmailRequiredSchema = ReturnType<typeof getEmailRequired>\n\n/**\n * Схема валидации опционального поля типа email\n */\nconst getEmailOptional = (props?: Omit<EmailValidationOptions<false>, 'required'>) => {\n const { message, regexp = EMAIL_REGEX } = props || {}\n\n const regex = TypeGuards.isString(regexp) ? new RegExp(regexp) : regexp\n\n return z\n .string()\n .refine(\n (value) => {\n if (TypeGuards.isStringEmpty(value)) return true\n return regex.test(value)\n },\n {\n message: message?.invalid || baseDefaultMessages.EMAIL_INVALID()\n }\n )\n .optional()\n .transform((value) => (value?.length === 0 ? undefined : value))\n}\ntype EmailOptionalSchema = ReturnType<typeof getEmailOptional>\n\n/**\n * Схема валидации поля типа email\n * @param {EmailValidationOptions} props настройки схемы\n * @typeParam `required` - `boolean`\n * @typeParam `regexp` - `RegExp`\n * @typeParam `message` - `{ [min | invalid]: string }`\n * @returns схема валидации поля в соответствии с настройками\n *\n * @example with required value\n * z.object({\n * field: zodValidators.base.getEmailSchema()\n * })\n * // will returns z.string().min(1).email()\n *\n * @example with optional value\n * z.object({\n * field: zodValidators.base.getEmailSchema({ required: false })\n * })\n * // will returns z.string().min(1).email().optional()\n */\nexport function getEmailSchema(props?: EmailValidationOptions<true>): EmailRequiredSchema\nexport function getEmailSchema(props?: EmailValidationOptions<false>): EmailOptionalSchema\nexport function getEmailSchema<Required extends boolean>(\n props?: EmailValidationOptions<Required>\n): EmailRequiredSchema | EmailOptionalSchema {\n const { required = true } = props || {}\n\n return required ? getEmailRequired(props) : getEmailOptional(props)\n}\n"],"names":["EMAIL_REGEX","getEmailRequired","props","message","defaultValue","regexp","regex","TypeGuards","z","baseDefaultMessages","getEmailOptional","value","getEmailSchema","required"],"mappings":"+KAyBA,MAAMA,EAAc,mCAKdC,EAAoBC,GAA2D,CACnF,KAAM,CAAE,QAAAC,EAAS,aAAAC,EAAc,OAAAC,EAASL,CAAA,EAAgBE,GAAS,CAAA,EAE3DI,EAAQC,EAAW,SAASF,CAAM,EAAI,IAAI,OAAOA,CAAM,EAAIA,EAEjE,OAAOG,EACJ,SACA,IAAI,GAAGL,GAAA,YAAAA,EAAS,MAAOM,EAAoB,gBAAA,CAAiB,EAC5D,MAAMH,GAAOH,GAAA,YAAAA,EAAS,UAAWM,EAAoB,eAAe,EACpE,QAAQL,GAAgB,EAAE,CAC/B,EAMMM,EAAoBR,GAA4D,CACpF,KAAM,CAAE,QAAAC,EAAS,OAAAE,EAASL,CAAA,EAAgBE,GAAS,CAAA,EAE7CI,EAAQC,EAAW,SAASF,CAAM,EAAI,IAAI,OAAOA,CAAM,EAAIA,EAEjE,OAAOG,EACJ,SACA,OACEG,GACKJ,EAAW,cAAcI,CAAK,EAAU,GACrCL,EAAM,KAAKK,CAAK,EAEzB,CACE,SAASR,GAAA,YAAAA,EAAS,UAAWM,EAAoB,cAAA,CAAc,CACjE,EAED,SAAA,EACA,UAAWE,IAAWA,GAAA,YAAAA,EAAO,UAAW,EAAI,OAAYA,CAAM,CACnE,EAyBO,SAASC,EACdV,EAC2C,CAC3C,KAAM,CAAE,SAAAW,EAAW,EAAA,EAASX,GAAS,CAAA,EAErC,OAAOW,EAAWZ,EAAiBC,CAAK,EAAIQ,EAAiBR,CAAK,CACpE"}
1
+ {"version":3,"file":"email.validators.js","sources":["../../../../../lib/shared/validation/base/email.validators.ts"],"sourcesContent":["import z from 'zod'\nimport { baseDefaultMessages } from './base.constants'\nimport { TypeGuards } from '$/shared/utils'\n\nexport type EmailValidationOptions<Required extends boolean> = {\n /**\n * указывает что поле обязательное\n * @default true\n */\n required?: Required\n /**\n * Регулярное выражение для проверки email на валидность\n */\n regexp?: RegExp | string\n /**\n * значение по умолчанию\n * @default undefined\n */\n defaultValue?: string\n message?: {\n min?: string\n invalid?: string\n }\n}\n\nconst EMAIL_REGEX = /^[\\w-.]+@([\\w-]+\\.)+[\\w-]{2,4}$/g\n\n/**\n * Схема валидации обязательного поля типа email\n */\nconst getEmailRequired = (props?: Omit<EmailValidationOptions<true>, 'required'>) => {\n const { message, defaultValue, regexp = EMAIL_REGEX } = props || {}\n\n const regex = TypeGuards.isString(regexp) ? new RegExp(regexp) : regexp\n\n return z\n .string()\n .min(1, message?.min || baseDefaultMessages.EMAIL_NON_EMPTY())\n .regex(regex, message?.invalid || baseDefaultMessages.EMAIL_INVALID())\n .default(defaultValue ?? '')\n}\ntype EmailRequiredSchema = ReturnType<typeof getEmailRequired>\n\n/**\n * Схема валидации опционального поля типа email\n */\nconst getEmailOptional = (props?: Omit<EmailValidationOptions<false>, 'required'>) => {\n const { message, regexp = EMAIL_REGEX } = props || {}\n\n const regex = TypeGuards.isString(regexp) ? new RegExp(regexp) : regexp\n\n return z\n .string()\n .refine(\n (value) => {\n if (TypeGuards.isStringEmpty(value)) return true\n return regex.test(value)\n },\n {\n message: message?.invalid || baseDefaultMessages.EMAIL_INVALID()\n }\n )\n .optional()\n .transform((value) => (value?.length === 0 ? undefined : value))\n}\ntype EmailOptionalSchema = ReturnType<typeof getEmailOptional>\n\n/**\n * Схема валидации поля типа email\n * @param {EmailValidationOptions} props настройки схемы\n * @typeParam `required` - `boolean`\n * @typeParam `regexp` - `RegExp`\n * @typeParam `message` - `{ [min | invalid]: string }`\n * @returns схема валидации поля в соответствии с настройками\n *\n * @example with required value\n * z.object({\n * field: zodValidators.base.getEmailSchema()\n * })\n * // will returns z.string().min(1).email()\n *\n * @example with optional value\n * z.object({\n * field: zodValidators.base.getEmailSchema({ required: false })\n * })\n * // will returns z.string().min(1).email().optional()\n */\nexport function getEmailSchema(props?: EmailValidationOptions<true>): EmailRequiredSchema\nexport function getEmailSchema(props?: EmailValidationOptions<false>): EmailOptionalSchema\nexport function getEmailSchema<Required extends boolean>(\n props?: EmailValidationOptions<Required>\n): EmailRequiredSchema | EmailOptionalSchema {\n const { required = true } = props || {}\n\n return required ? getEmailRequired(props) : getEmailOptional(props)\n}\n"],"names":["EMAIL_REGEX","getEmailRequired","props","message","defaultValue","regexp","regex","TypeGuards","z","baseDefaultMessages","getEmailOptional","value","getEmailSchema","required"],"mappings":"oOAyBA,MAAMA,EAAc,mCAKdC,EAAoBC,GAA2D,CACnF,KAAM,CAAE,QAAAC,EAAS,aAAAC,EAAc,OAAAC,EAASL,CAAA,EAAgBE,GAAS,CAAA,EAE3DI,EAAQC,EAAW,SAASF,CAAM,EAAI,IAAI,OAAOA,CAAM,EAAIA,EAEjE,OAAOG,EACJ,SACA,IAAI,GAAGL,GAAA,YAAAA,EAAS,MAAOM,EAAoB,gBAAA,CAAiB,EAC5D,MAAMH,GAAOH,GAAA,YAAAA,EAAS,UAAWM,EAAoB,eAAe,EACpE,QAAQL,GAAgB,EAAE,CAC/B,EAMMM,EAAoBR,GAA4D,CACpF,KAAM,CAAE,QAAAC,EAAS,OAAAE,EAASL,CAAA,EAAgBE,GAAS,CAAA,EAE7CI,EAAQC,EAAW,SAASF,CAAM,EAAI,IAAI,OAAOA,CAAM,EAAIA,EAEjE,OAAOG,EACJ,SACA,OACEG,GACKJ,EAAW,cAAcI,CAAK,EAAU,GACrCL,EAAM,KAAKK,CAAK,EAEzB,CACE,SAASR,GAAA,YAAAA,EAAS,UAAWM,EAAoB,cAAA,CAAc,CACjE,EAED,SAAA,EACA,UAAWE,IAAWA,GAAA,YAAAA,EAAO,UAAW,EAAI,OAAYA,CAAM,CACnE,EAyBO,SAASC,EACdV,EAC2C,CAC3C,KAAM,CAAE,SAAAW,EAAW,EAAA,EAASX,GAAS,CAAA,EAErC,OAAOW,EAAWZ,EAAiBC,CAAK,EAAIQ,EAAiBR,CAAK,CACpE"}
@@ -1,2 +1,2 @@
1
- import*as a from"../../../../node_modules/zod/v3/external.js";import{baseDefaultMessages as u}from"./base.constants.js";import{TypeGuards as g}from"../../utils/typeGuards.js";const f=t=>{const{ignoreMask:d=!0,maskSymbols:o=/[()+_ -]/g,message:e,defaultValue:m,validOperatorCodes:l=["3","4","5","6","9"]}=t||{},n=g.isString(o)?new RegExp(o):o;let r=a.string().superRefine((s,i)=>{const c=s.replace(n,""),p=c.charAt(1);l.includes(p)||i.addIssue({code:a.ZodIssueCode.invalid_string,validation:"regex",message:(e==null?void 0:e.invalidOperator)||u.PHONE_INVALID_OPERATOR()}),c.length<11&&i.addIssue({code:a.ZodIssueCode.too_small,minimum:11,inclusive:!0,type:"string",message:(e==null?void 0:e.min)||u.PHONE_NON_EMPTY()})});return d&&(r=r.transform(s=>s.replace(n,""))),r.default(m??"")},O=t=>{const{ignoreMask:d=!0,maskSymbols:o=/[()+_ -]/g,message:e,validOperatorCodes:m=["3","4","5","6","9"]}=t||{},l=g.isString(o)?new RegExp(o):o;let n=a.string().superRefine((r,s)=>{const i=r.replace(l,"");if(!i.length)return;const c=i.charAt(1);m.includes(c)||s.addIssue({code:a.ZodIssueCode.invalid_string,validation:"regex",message:(e==null?void 0:e.invalidOperator)||u.PHONE_INVALID_OPERATOR()}),i.length<11&&s.addIssue({code:a.ZodIssueCode.too_small,minimum:11,inclusive:!0,type:"string",message:(e==null?void 0:e.min)||u.PHONE_NON_EMPTY()})});return d&&(n=n.transform(r=>r.replace(l,""))),n.optional().transform(r=>!r||(r==null?void 0:r.replace(l,"").length)!==0?void 0:r)};function I(t){const{required:d=!0}=t||{};return d?f(t):O(t)}export{I as getPhoneSchema};
1
+ import*as a from"../../../../node_modules/zod/v3/external.js";import{baseDefaultMessages as u}from"./base.constants.js";import"../../../../node_modules/classnames/index.js";import{TypeGuards as g}from"../../utils/typeGuards.js";const f=t=>{const{ignoreMask:d=!0,maskSymbols:o=/[()+_ -]/g,message:e,defaultValue:m,validOperatorCodes:l=["3","4","5","6","9"]}=t||{},n=g.isString(o)?new RegExp(o):o;let r=a.string().superRefine((s,i)=>{const c=s.replace(n,""),p=c.charAt(1);l.includes(p)||i.addIssue({code:a.ZodIssueCode.invalid_string,validation:"regex",message:(e==null?void 0:e.invalidOperator)||u.PHONE_INVALID_OPERATOR()}),c.length<11&&i.addIssue({code:a.ZodIssueCode.too_small,minimum:11,inclusive:!0,type:"string",message:(e==null?void 0:e.min)||u.PHONE_NON_EMPTY()})});return d&&(r=r.transform(s=>s.replace(n,""))),r.default(m??"")},O=t=>{const{ignoreMask:d=!0,maskSymbols:o=/[()+_ -]/g,message:e,validOperatorCodes:m=["3","4","5","6","9"]}=t||{},l=g.isString(o)?new RegExp(o):o;let n=a.string().superRefine((r,s)=>{const i=r.replace(l,"");if(!i.length)return;const c=i.charAt(1);m.includes(c)||s.addIssue({code:a.ZodIssueCode.invalid_string,validation:"regex",message:(e==null?void 0:e.invalidOperator)||u.PHONE_INVALID_OPERATOR()}),i.length<11&&s.addIssue({code:a.ZodIssueCode.too_small,minimum:11,inclusive:!0,type:"string",message:(e==null?void 0:e.min)||u.PHONE_NON_EMPTY()})});return d&&(n=n.transform(r=>r.replace(l,""))),n.optional().transform(r=>!r||(r==null?void 0:r.replace(l,"").length)!==0?void 0:r)};function P(t){const{required:d=!0}=t||{};return d?f(t):O(t)}export{P as getPhoneSchema};
2
2
  //# sourceMappingURL=phone.validators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"phone.validators.js","sources":["../../../../../lib/shared/validation/base/phone.validators.ts"],"sourcesContent":["import z from 'zod'\nimport { baseDefaultMessages } from './base.constants'\nimport { TypeGuards } from '$/shared/utils'\n\nexport type PhoneValidationOptions<Required extends boolean> = {\n /**\n * исключает маску в возвращаемом значении\n * @default true\n */\n ignoreMask?: boolean\n /**\n * игнорирует символы для проверки поля исключая данные символы\n * @default /[()+_ -]/g\n */\n maskSymbols?: RegExp | string\n /**\n * указывает что поле обязательное\n */\n required?: Required\n /**\n * значение по умолчанию\n * @default undefined\n */\n defaultValue?: string\n message?: {\n min?: string\n invalidOperator?: string\n }\n /**\n * указываем валидные коды оператор\n * @default ['3', '4', '5', '6', '9']\n * @param string[]\n */\n validOperatorCodes?: string[]\n}\n\n/**\n * Схема валидации обязательного поля номера телефона\n */\nconst getPhoneRequired = (props?: Omit<PhoneValidationOptions<true>, 'required'>) => {\n const {\n ignoreMask = true,\n maskSymbols = /[()+_ -]/g,\n message,\n defaultValue,\n validOperatorCodes = ['3', '4', '5', '6', '9']\n } = props || {}\n\n const mask = TypeGuards.isString(maskSymbols) ? new RegExp(maskSymbols) : maskSymbols\n\n let schema = z.string().superRefine((value, context) => {\n const cleanValue = value.replace(mask, '')\n\n const operatorCode = cleanValue.charAt(1)\n\n if (!validOperatorCodes.includes(operatorCode)) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_string,\n validation: 'regex',\n message: message?.invalidOperator || baseDefaultMessages.PHONE_INVALID_OPERATOR()\n })\n }\n\n if (cleanValue.length < 11) {\n context.addIssue({\n code: z.ZodIssueCode.too_small,\n minimum: 11,\n inclusive: true,\n type: 'string',\n message: message?.min || baseDefaultMessages.PHONE_NON_EMPTY()\n })\n }\n })\n\n if (ignoreMask) {\n schema = schema.transform((value) => value.replace(mask, '')) as unknown as typeof schema\n }\n\n return schema.default(defaultValue ?? '')\n}\ntype PhoneRequiredSchema = ReturnType<typeof getPhoneRequired>\n\n/**\n * Схема валидации опционального поля номера телефона\n */\nconst getPhoneOptional = (props?: Omit<PhoneValidationOptions<false>, 'required'>) => {\n const { ignoreMask = true, maskSymbols = /[()+_ -]/g, message, validOperatorCodes = ['3', '4', '5', '6', '9'] } = props || {}\n\n const mask = TypeGuards.isString(maskSymbols) ? new RegExp(maskSymbols) : maskSymbols\n\n let schema = z.string().superRefine((value, context) => {\n const cleanValue = value.replace(mask, '')\n\n if (!cleanValue.length) return\n\n const operatorCode = cleanValue.charAt(1)\n\n if (!validOperatorCodes.includes(operatorCode)) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_string,\n validation: 'regex',\n message: message?.invalidOperator || baseDefaultMessages.PHONE_INVALID_OPERATOR()\n })\n }\n\n if (cleanValue.length < 11) {\n context.addIssue({\n code: z.ZodIssueCode.too_small,\n minimum: 11,\n inclusive: true,\n type: 'string',\n message: message?.min || baseDefaultMessages.PHONE_NON_EMPTY()\n })\n }\n })\n\n if (ignoreMask) {\n schema = schema.transform((value) => value.replace(mask, '')) as unknown as typeof schema\n }\n\n return schema.optional().transform((value) => (!value || value?.replace(mask, '').length !== 0 ? undefined : value))\n}\ntype PhoneOptionalSchema = ReturnType<typeof getPhoneOptional>\n\n/**\n * Схема валидации опционального поля номера телефона\n * @param {PhoneValidationOptions} props настройки схемы\n * @typeParam `required` - `boolean`\n * @typeParam `ignoreSeparators` - `boolean | undefined` `default: false`\n * @typeParam `maskSymbols` - `RegExp | undefined` `default: /[()+_ -]/g`\n * @typeParam `message` - `{ [min | invalidOperator]: string }`\n * @returns схема валидации поля в соответствии с настройками\n *\n * @example with required value\n * z.object({\n * field: zodValidators.base.getPhoneSchema()\n * })\n * // will returns z.string()\n *\n * @example with optional value\n * z.object({\n * field: zodValidators.base.getPhoneSchema({ required: false })\n * })\n * // will returns z.string().optional()\n */\nexport function getPhoneSchema(props?: PhoneValidationOptions<true>): PhoneRequiredSchema\nexport function getPhoneSchema(props?: PhoneValidationOptions<false>): PhoneOptionalSchema\nexport function getPhoneSchema<Required extends boolean>(\n props?: PhoneValidationOptions<Required>\n): PhoneRequiredSchema | PhoneOptionalSchema {\n const { required = true } = props || {}\n\n return required ? getPhoneRequired(props) : getPhoneOptional(props)\n}\n"],"names":["getPhoneRequired","props","ignoreMask","maskSymbols","message","defaultValue","validOperatorCodes","mask","TypeGuards","schema","z","value","context","cleanValue","operatorCode","baseDefaultMessages","getPhoneOptional","getPhoneSchema","required"],"mappings":"+KAuCA,MAAMA,EAAoBC,GAA2D,CACnF,KAAM,CACJ,WAAAC,EAAa,GACb,YAAAC,EAAc,YACd,QAAAC,EACA,aAAAC,EACA,mBAAAC,EAAqB,CAAC,IAAK,IAAK,IAAK,IAAK,GAAG,CAAA,EAC3CL,GAAS,CAAA,EAEPM,EAAOC,EAAW,SAASL,CAAW,EAAI,IAAI,OAAOA,CAAW,EAAIA,EAE1E,IAAIM,EAASC,EAAE,OAAA,EAAS,YAAY,CAACC,EAAOC,IAAY,CACtD,MAAMC,EAAaF,EAAM,QAAQJ,EAAM,EAAE,EAEnCO,EAAeD,EAAW,OAAO,CAAC,EAEnCP,EAAmB,SAASQ,CAAY,GAC3CF,EAAQ,SAAS,CACf,KAAMF,EAAE,aAAa,eACrB,WAAY,QACZ,SAASN,GAAA,YAAAA,EAAS,kBAAmBW,EAAoB,uBAAA,CAAuB,CACjF,EAGCF,EAAW,OAAS,IACtBD,EAAQ,SAAS,CACf,KAAMF,EAAE,aAAa,UACrB,QAAS,GACT,UAAW,GACX,KAAM,SACN,SAASN,GAAA,YAAAA,EAAS,MAAOW,EAAoB,gBAAA,CAAgB,CAC9D,CAEL,CAAC,EAED,OAAIb,IACFO,EAASA,EAAO,UAAWE,GAAUA,EAAM,QAAQJ,EAAM,EAAE,CAAC,GAGvDE,EAAO,QAAQJ,GAAgB,EAAE,CAC1C,EAMMW,EAAoBf,GAA4D,CACpF,KAAM,CAAE,WAAAC,EAAa,GAAM,YAAAC,EAAc,YAAa,QAAAC,EAAS,mBAAAE,EAAqB,CAAC,IAAK,IAAK,IAAK,IAAK,GAAG,CAAA,EAAML,GAAS,CAAA,EAErHM,EAAOC,EAAW,SAASL,CAAW,EAAI,IAAI,OAAOA,CAAW,EAAIA,EAE1E,IAAIM,EAASC,EAAE,OAAA,EAAS,YAAY,CAACC,EAAOC,IAAY,CACtD,MAAMC,EAAaF,EAAM,QAAQJ,EAAM,EAAE,EAEzC,GAAI,CAACM,EAAW,OAAQ,OAExB,MAAMC,EAAeD,EAAW,OAAO,CAAC,EAEnCP,EAAmB,SAASQ,CAAY,GAC3CF,EAAQ,SAAS,CACf,KAAMF,EAAE,aAAa,eACrB,WAAY,QACZ,SAASN,GAAA,YAAAA,EAAS,kBAAmBW,EAAoB,uBAAA,CAAuB,CACjF,EAGCF,EAAW,OAAS,IACtBD,EAAQ,SAAS,CACf,KAAMF,EAAE,aAAa,UACrB,QAAS,GACT,UAAW,GACX,KAAM,SACN,SAASN,GAAA,YAAAA,EAAS,MAAOW,EAAoB,gBAAA,CAAgB,CAC9D,CAEL,CAAC,EAED,OAAIb,IACFO,EAASA,EAAO,UAAWE,GAAUA,EAAM,QAAQJ,EAAM,EAAE,CAAC,GAGvDE,EAAO,SAAA,EAAW,UAAWE,GAAW,CAACA,IAASA,GAAA,YAAAA,EAAO,QAAQJ,EAAM,IAAI,UAAW,EAAI,OAAYI,CAAM,CACrH,EA0BO,SAASM,EACdhB,EAC2C,CAC3C,KAAM,CAAE,SAAAiB,EAAW,EAAA,EAASjB,GAAS,CAAA,EAErC,OAAOiB,EAAWlB,EAAiBC,CAAK,EAAIe,EAAiBf,CAAK,CACpE"}
1
+ {"version":3,"file":"phone.validators.js","sources":["../../../../../lib/shared/validation/base/phone.validators.ts"],"sourcesContent":["import z from 'zod'\nimport { baseDefaultMessages } from './base.constants'\nimport { TypeGuards } from '$/shared/utils'\n\nexport type PhoneValidationOptions<Required extends boolean> = {\n /**\n * исключает маску в возвращаемом значении\n * @default true\n */\n ignoreMask?: boolean\n /**\n * игнорирует символы для проверки поля исключая данные символы\n * @default /[()+_ -]/g\n */\n maskSymbols?: RegExp | string\n /**\n * указывает что поле обязательное\n */\n required?: Required\n /**\n * значение по умолчанию\n * @default undefined\n */\n defaultValue?: string\n message?: {\n min?: string\n invalidOperator?: string\n }\n /**\n * указываем валидные коды оператор\n * @default ['3', '4', '5', '6', '9']\n * @param string[]\n */\n validOperatorCodes?: string[]\n}\n\n/**\n * Схема валидации обязательного поля номера телефона\n */\nconst getPhoneRequired = (props?: Omit<PhoneValidationOptions<true>, 'required'>) => {\n const {\n ignoreMask = true,\n maskSymbols = /[()+_ -]/g,\n message,\n defaultValue,\n validOperatorCodes = ['3', '4', '5', '6', '9']\n } = props || {}\n\n const mask = TypeGuards.isString(maskSymbols) ? new RegExp(maskSymbols) : maskSymbols\n\n let schema = z.string().superRefine((value, context) => {\n const cleanValue = value.replace(mask, '')\n\n const operatorCode = cleanValue.charAt(1)\n\n if (!validOperatorCodes.includes(operatorCode)) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_string,\n validation: 'regex',\n message: message?.invalidOperator || baseDefaultMessages.PHONE_INVALID_OPERATOR()\n })\n }\n\n if (cleanValue.length < 11) {\n context.addIssue({\n code: z.ZodIssueCode.too_small,\n minimum: 11,\n inclusive: true,\n type: 'string',\n message: message?.min || baseDefaultMessages.PHONE_NON_EMPTY()\n })\n }\n })\n\n if (ignoreMask) {\n schema = schema.transform((value) => value.replace(mask, '')) as unknown as typeof schema\n }\n\n return schema.default(defaultValue ?? '')\n}\ntype PhoneRequiredSchema = ReturnType<typeof getPhoneRequired>\n\n/**\n * Схема валидации опционального поля номера телефона\n */\nconst getPhoneOptional = (props?: Omit<PhoneValidationOptions<false>, 'required'>) => {\n const { ignoreMask = true, maskSymbols = /[()+_ -]/g, message, validOperatorCodes = ['3', '4', '5', '6', '9'] } = props || {}\n\n const mask = TypeGuards.isString(maskSymbols) ? new RegExp(maskSymbols) : maskSymbols\n\n let schema = z.string().superRefine((value, context) => {\n const cleanValue = value.replace(mask, '')\n\n if (!cleanValue.length) return\n\n const operatorCode = cleanValue.charAt(1)\n\n if (!validOperatorCodes.includes(operatorCode)) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_string,\n validation: 'regex',\n message: message?.invalidOperator || baseDefaultMessages.PHONE_INVALID_OPERATOR()\n })\n }\n\n if (cleanValue.length < 11) {\n context.addIssue({\n code: z.ZodIssueCode.too_small,\n minimum: 11,\n inclusive: true,\n type: 'string',\n message: message?.min || baseDefaultMessages.PHONE_NON_EMPTY()\n })\n }\n })\n\n if (ignoreMask) {\n schema = schema.transform((value) => value.replace(mask, '')) as unknown as typeof schema\n }\n\n return schema.optional().transform((value) => (!value || value?.replace(mask, '').length !== 0 ? undefined : value))\n}\ntype PhoneOptionalSchema = ReturnType<typeof getPhoneOptional>\n\n/**\n * Схема валидации опционального поля номера телефона\n * @param {PhoneValidationOptions} props настройки схемы\n * @typeParam `required` - `boolean`\n * @typeParam `ignoreSeparators` - `boolean | undefined` `default: false`\n * @typeParam `maskSymbols` - `RegExp | undefined` `default: /[()+_ -]/g`\n * @typeParam `message` - `{ [min | invalidOperator]: string }`\n * @returns схема валидации поля в соответствии с настройками\n *\n * @example with required value\n * z.object({\n * field: zodValidators.base.getPhoneSchema()\n * })\n * // will returns z.string()\n *\n * @example with optional value\n * z.object({\n * field: zodValidators.base.getPhoneSchema({ required: false })\n * })\n * // will returns z.string().optional()\n */\nexport function getPhoneSchema(props?: PhoneValidationOptions<true>): PhoneRequiredSchema\nexport function getPhoneSchema(props?: PhoneValidationOptions<false>): PhoneOptionalSchema\nexport function getPhoneSchema<Required extends boolean>(\n props?: PhoneValidationOptions<Required>\n): PhoneRequiredSchema | PhoneOptionalSchema {\n const { required = true } = props || {}\n\n return required ? getPhoneRequired(props) : getPhoneOptional(props)\n}\n"],"names":["getPhoneRequired","props","ignoreMask","maskSymbols","message","defaultValue","validOperatorCodes","mask","TypeGuards","schema","z","value","context","cleanValue","operatorCode","baseDefaultMessages","getPhoneOptional","getPhoneSchema","required"],"mappings":"oOAuCA,MAAMA,EAAoBC,GAA2D,CACnF,KAAM,CACJ,WAAAC,EAAa,GACb,YAAAC,EAAc,YACd,QAAAC,EACA,aAAAC,EACA,mBAAAC,EAAqB,CAAC,IAAK,IAAK,IAAK,IAAK,GAAG,CAAA,EAC3CL,GAAS,CAAA,EAEPM,EAAOC,EAAW,SAASL,CAAW,EAAI,IAAI,OAAOA,CAAW,EAAIA,EAE1E,IAAIM,EAASC,EAAE,OAAA,EAAS,YAAY,CAACC,EAAOC,IAAY,CACtD,MAAMC,EAAaF,EAAM,QAAQJ,EAAM,EAAE,EAEnCO,EAAeD,EAAW,OAAO,CAAC,EAEnCP,EAAmB,SAASQ,CAAY,GAC3CF,EAAQ,SAAS,CACf,KAAMF,EAAE,aAAa,eACrB,WAAY,QACZ,SAASN,GAAA,YAAAA,EAAS,kBAAmBW,EAAoB,uBAAA,CAAuB,CACjF,EAGCF,EAAW,OAAS,IACtBD,EAAQ,SAAS,CACf,KAAMF,EAAE,aAAa,UACrB,QAAS,GACT,UAAW,GACX,KAAM,SACN,SAASN,GAAA,YAAAA,EAAS,MAAOW,EAAoB,gBAAA,CAAgB,CAC9D,CAEL,CAAC,EAED,OAAIb,IACFO,EAASA,EAAO,UAAWE,GAAUA,EAAM,QAAQJ,EAAM,EAAE,CAAC,GAGvDE,EAAO,QAAQJ,GAAgB,EAAE,CAC1C,EAMMW,EAAoBf,GAA4D,CACpF,KAAM,CAAE,WAAAC,EAAa,GAAM,YAAAC,EAAc,YAAa,QAAAC,EAAS,mBAAAE,EAAqB,CAAC,IAAK,IAAK,IAAK,IAAK,GAAG,CAAA,EAAML,GAAS,CAAA,EAErHM,EAAOC,EAAW,SAASL,CAAW,EAAI,IAAI,OAAOA,CAAW,EAAIA,EAE1E,IAAIM,EAASC,EAAE,OAAA,EAAS,YAAY,CAACC,EAAOC,IAAY,CACtD,MAAMC,EAAaF,EAAM,QAAQJ,EAAM,EAAE,EAEzC,GAAI,CAACM,EAAW,OAAQ,OAExB,MAAMC,EAAeD,EAAW,OAAO,CAAC,EAEnCP,EAAmB,SAASQ,CAAY,GAC3CF,EAAQ,SAAS,CACf,KAAMF,EAAE,aAAa,eACrB,WAAY,QACZ,SAASN,GAAA,YAAAA,EAAS,kBAAmBW,EAAoB,uBAAA,CAAuB,CACjF,EAGCF,EAAW,OAAS,IACtBD,EAAQ,SAAS,CACf,KAAMF,EAAE,aAAa,UACrB,QAAS,GACT,UAAW,GACX,KAAM,SACN,SAASN,GAAA,YAAAA,EAAS,MAAOW,EAAoB,gBAAA,CAAgB,CAC9D,CAEL,CAAC,EAED,OAAIb,IACFO,EAASA,EAAO,UAAWE,GAAUA,EAAM,QAAQJ,EAAM,EAAE,CAAC,GAGvDE,EAAO,SAAA,EAAW,UAAWE,GAAW,CAACA,IAASA,GAAA,YAAAA,EAAO,QAAQJ,EAAM,IAAI,UAAW,EAAI,OAAYI,CAAM,CACrH,EA0BO,SAASM,EACdhB,EAC2C,CAC3C,KAAM,CAAE,SAAAiB,EAAW,EAAA,EAASjB,GAAS,CAAA,EAErC,OAAOiB,EAAWlB,EAAiBC,CAAK,EAAIe,EAAiBf,CAAK,CACpE"}
@@ -1,2 +1,2 @@
1
- import*as e from"../../../../node_modules/zod/v3/external.js";import"../zodValidation/dadataFio.js";import"../zodValidation/calendar.js";import"../zodValidation/phone.js";import"../zodValidation/otpCode.js";import{baseDefaultMessages as m}from"./base.constants.js";import"react/jsx-runtime";import"../../ui/button/Button.js";import"../../ui/buttonIcon/ButtonIcon.js";import"../../ui/calendar/Calendar.js";import"../../ui/calendar/model/utils.js";import"../../ui/accordion/Accordion.js";import"react";import"react-dom";import"../../ui/modal/ui/IframeModalContent.js";import"../../../../node_modules/react-hot-toast/dist/index.js";import"../../ui/table/ui/primitives/Primitives.js";import"../../ui/carousel/ui/CarouselContent.js";import"../../ui/slot/Slot.js";import"../../ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../ui/formElements/uncontrolled/combobox/combobox.js";import"../../ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../ui/formElements/uncontrolled/input/Input.js";import"../../ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../ui/formElements/uncontrolled/slider/SliderBase.js";import"../../ui/formElements/uncontrolled/switch/Switch.js";import"../../ui/formElements/uncontrolled/textarea/Textarea.js";import"../../ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../ui/formElements/controlled/editor/ui/Editor.js";import"../../ui/formElements/controlled/input/MaskInputControl.js";import"../../ui/dropdownList/ui/dropdownItem/DropdownItem.js";const p=(r,o)=>{const{message:t,defaultValue:i=""}=o||{};return e.string().nonempty(m.NON_EMPTY()).regex(r,t||m.INVALID_REGEX_STRING()).default(i)},n=(r,o)=>p(r,o).optional().transform(t=>t!=null&&t.length?t:void 0);function C(r,o){const{required:t=!0,...i}=o||{};return t?p(r,i):n(r,i)}export{C as getRegexSchema};
1
+ import*as e from"../../../../node_modules/zod/v3/external.js";import"../zodValidation/dadataFio.js";import"../zodValidation/calendar.js";import"../zodValidation/phone.js";import"../zodValidation/otpCode.js";import{baseDefaultMessages as m}from"./base.constants.js";import"../../../../node_modules/classnames/index.js";import"react/jsx-runtime";import"../../ui/button/Button.js";import"../../ui/buttonIcon/ButtonIcon.js";import"../../ui/calendar/Calendar.js";import"../../ui/calendar/model/utils.js";import"../../ui/accordion/Accordion.js";import"react";import"react-dom";import"../../ui/modal/ui/IframeModalContent.js";import"../../../../node_modules/react-hot-toast/dist/index.js";import"../../ui/table/ui/primitives/Primitives.js";import"../../ui/carousel/ui/CarouselContent.js";import"../../ui/slot/Slot.js";import"../../ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../ui/formElements/uncontrolled/combobox/combobox.js";import"../../ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../ui/formElements/uncontrolled/input/Input.js";import"../../ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../ui/formElements/uncontrolled/slider/SliderBase.js";import"../../ui/formElements/uncontrolled/switch/Switch.js";import"../../ui/formElements/uncontrolled/textarea/Textarea.js";import"../../ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../ui/formElements/controlled/editor/ui/Editor.js";import"../../ui/formElements/controlled/input/MaskInputControl.js";import"../../ui/dropdownList/ui/dropdownItem/DropdownItem.js";const p=(r,o)=>{const{message:t,defaultValue:i=""}=o||{};return e.string().nonempty(m.NON_EMPTY()).regex(r,t||m.INVALID_REGEX_STRING()).default(i)},n=(r,o)=>p(r,o).optional().transform(t=>t!=null&&t.length?t:void 0);function F(r,o){const{required:t=!0,...i}=o||{};return t?p(r,i):n(r,i)}export{F as getRegexSchema};
2
2
  //# sourceMappingURL=regex.validators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"regex.validators.js","sources":["../../../../../lib/shared/validation/base/regex.validators.ts"],"sourcesContent":["import z from 'zod'\nimport { baseDefaultMessages } from '$/shared/validation'\n\nexport type RegexValidatorsOptions<Required extends boolean> = {\n /**\n * указывает что поле обязательное\n * @default true\n */\n required?: Required\n /**\n * значение по умолчанию\n * @default undefined\n */\n defaultValue?: string\n message?: string\n}\n\nconst getRegexRequired = (regex: RegExp, props?: Omit<RegexValidatorsOptions<true>, 'required'>) => {\n const { message, defaultValue = '' } = props || {}\n\n return z\n .string()\n .nonempty(baseDefaultMessages.NON_EMPTY())\n .regex(regex, message || baseDefaultMessages.INVALID_REGEX_STRING())\n .default(defaultValue)\n}\ntype RegexRequiredSchema = ReturnType<typeof getRegexRequired>\n\nconst getRegexOptional = (regex: RegExp, props?: Omit<RegexValidatorsOptions<false>, 'required'>) => {\n return getRegexRequired(regex, props)\n .optional()\n .transform((value) => (!value?.length ? undefined : value))\n}\ntype RegexOptionalSchema = ReturnType<typeof getRegexOptional>\n\nexport function getRegexSchema(regex: RegExp, props?: RegexValidatorsOptions<true>): RegexRequiredSchema\nexport function getRegexSchema(regex: RegExp, props?: RegexValidatorsOptions<false>): RegexOptionalSchema\nexport function getRegexSchema<Required extends boolean>(\n regex: RegExp,\n props?: RegexValidatorsOptions<Required>\n): RegexRequiredSchema | RegexOptionalSchema {\n const { required = true, ...restProps } = props || {}\n\n return required ? getRegexRequired(regex, restProps) : getRegexOptional(regex, restProps)\n}\n"],"names":["getRegexRequired","regex","props","message","defaultValue","z","baseDefaultMessages","getRegexOptional","value","getRegexSchema","required","restProps"],"mappings":"w0DAiBA,MAAMA,EAAmB,CAACC,EAAeC,IAA2D,CAClG,KAAM,CAAE,QAAAC,EAAS,aAAAC,EAAe,EAAA,EAAOF,GAAS,CAAA,EAEhD,OAAOG,EACJ,OAAA,EACA,SAASC,EAAoB,WAAW,EACxC,MAAML,EAAOE,GAAWG,EAAoB,qBAAA,CAAsB,EAClE,QAAQF,CAAY,CACzB,EAGMG,EAAmB,CAACN,EAAeC,IAChCF,EAAiBC,EAAOC,CAAK,EACjC,SAAA,EACA,UAAWM,GAAYA,GAAA,MAAAA,EAAO,OAAqBA,EAAZ,MAAkB,EAMvD,SAASC,EACdR,EACAC,EAC2C,CAC3C,KAAM,CAAE,SAAAQ,EAAW,GAAM,GAAGC,CAAA,EAAcT,GAAS,CAAA,EAEnD,OAAOQ,EAAWV,EAAiBC,EAAOU,CAAS,EAAIJ,EAAiBN,EAAOU,CAAS,CAC1F"}
1
+ {"version":3,"file":"regex.validators.js","sources":["../../../../../lib/shared/validation/base/regex.validators.ts"],"sourcesContent":["import z from 'zod'\nimport { baseDefaultMessages } from '$/shared/validation'\n\nexport type RegexValidatorsOptions<Required extends boolean> = {\n /**\n * указывает что поле обязательное\n * @default true\n */\n required?: Required\n /**\n * значение по умолчанию\n * @default undefined\n */\n defaultValue?: string\n message?: string\n}\n\nconst getRegexRequired = (regex: RegExp, props?: Omit<RegexValidatorsOptions<true>, 'required'>) => {\n const { message, defaultValue = '' } = props || {}\n\n return z\n .string()\n .nonempty(baseDefaultMessages.NON_EMPTY())\n .regex(regex, message || baseDefaultMessages.INVALID_REGEX_STRING())\n .default(defaultValue)\n}\ntype RegexRequiredSchema = ReturnType<typeof getRegexRequired>\n\nconst getRegexOptional = (regex: RegExp, props?: Omit<RegexValidatorsOptions<false>, 'required'>) => {\n return getRegexRequired(regex, props)\n .optional()\n .transform((value) => (!value?.length ? undefined : value))\n}\ntype RegexOptionalSchema = ReturnType<typeof getRegexOptional>\n\nexport function getRegexSchema(regex: RegExp, props?: RegexValidatorsOptions<true>): RegexRequiredSchema\nexport function getRegexSchema(regex: RegExp, props?: RegexValidatorsOptions<false>): RegexOptionalSchema\nexport function getRegexSchema<Required extends boolean>(\n regex: RegExp,\n props?: RegexValidatorsOptions<Required>\n): RegexRequiredSchema | RegexOptionalSchema {\n const { required = true, ...restProps } = props || {}\n\n return required ? getRegexRequired(regex, restProps) : getRegexOptional(regex, restProps)\n}\n"],"names":["getRegexRequired","regex","props","message","defaultValue","z","baseDefaultMessages","getRegexOptional","value","getRegexSchema","required","restProps"],"mappings":"63DAiBA,MAAMA,EAAmB,CAACC,EAAeC,IAA2D,CAClG,KAAM,CAAE,QAAAC,EAAS,aAAAC,EAAe,EAAA,EAAOF,GAAS,CAAA,EAEhD,OAAOG,EACJ,OAAA,EACA,SAASC,EAAoB,WAAW,EACxC,MAAML,EAAOE,GAAWG,EAAoB,qBAAA,CAAsB,EAClE,QAAQF,CAAY,CACzB,EAGMG,EAAmB,CAACN,EAAeC,IAChCF,EAAiBC,EAAOC,CAAK,EACjC,SAAA,EACA,UAAWM,GAAYA,GAAA,MAAAA,EAAO,OAAqBA,EAAZ,MAAkB,EAMvD,SAASC,EACdR,EACAC,EAC2C,CAC3C,KAAM,CAAE,SAAAQ,EAAW,GAAM,GAAGC,CAAA,EAAcT,GAAS,CAAA,EAEnD,OAAOQ,EAAWV,EAAiBC,EAAOU,CAAS,EAAIJ,EAAiBN,EAAOU,CAAS,CAC1F"}
@@ -1,2 +1,2 @@
1
- import{baseDefaultMessages as o}from"./base.constants.js";import{TypeGuards as g}from"../../utils/typeGuards.js";import{string as p}from"../../../../node_modules/zod/v3/types.js";const s=/^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-z0-9]+([-.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/,c=n=>{const{message:t,defaultValue:e,regexp:i=s}=n||{},r=g.isString(i)?new RegExp(i):i;return p().min(1,(t==null?void 0:t.min)||o.NON_EMPTY()).regex(r,(t==null?void 0:t.invalid)||o.INVALID_URL()).default(e??"")},f=n=>{const{message:t,regexp:e=s}=n||{},i=g.isString(e)?new RegExp(e):e;return p().refine(r=>g.isStringEmpty(r)?!0:i.test(r),(t==null?void 0:t.invalid)||o.INVALID_URL()).optional().transform(r=>r!=null&&r.length?r:void 0)};function x(n){const{required:t=!0}=n||{};return t?c(n):f(n)}export{x as getUrlSchema};
1
+ import{baseDefaultMessages as o}from"./base.constants.js";import"../../../../node_modules/classnames/index.js";import{TypeGuards as p}from"../../utils/typeGuards.js";import{string as g}from"../../../../node_modules/zod/v3/types.js";const s=/^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-z0-9]+([-.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/,c=n=>{const{message:t,defaultValue:e,regexp:i=s}=n||{},r=p.isString(i)?new RegExp(i):i;return g().min(1,(t==null?void 0:t.min)||o.NON_EMPTY()).regex(r,(t==null?void 0:t.invalid)||o.INVALID_URL()).default(e??"")},f=n=>{const{message:t,regexp:e=s}=n||{},i=p.isString(e)?new RegExp(e):e;return g().refine(r=>p.isStringEmpty(r)?!0:i.test(r),(t==null?void 0:t.invalid)||o.INVALID_URL()).optional().transform(r=>r!=null&&r.length?r:void 0)};function x(n){const{required:t=!0}=n||{};return t?c(n):f(n)}export{x as getUrlSchema};
2
2
  //# sourceMappingURL=url.validators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"url.validators.js","sources":["../../../../../lib/shared/validation/base/url.validators.ts"],"sourcesContent":["import { string } from 'zod'\nimport { baseDefaultMessages } from './base.constants'\nimport { TypeGuards } from '$/shared/utils'\n\nexport type UrlValidationOptions<Required extends boolean> = {\n /**\n * указывает что поле обязательное\n * @default true\n */\n required?: Required\n /**\n * Регулярное выражение для проверки url на валидность\n */\n regexp?: RegExp | string\n /**\n * значение по умолчанию\n */\n defaultValue?: string\n message?: {\n min?: string\n invalid?: string\n }\n}\n\nconst URL_REGEX =\n /^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)?[a-z0-9]+([-.]{1}[a-z0-9]+)*\\.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?$/\n\n/**\n * Схема валидации обязательного поля ссылки\n */\nconst getUrlRequired = (props?: Omit<UrlValidationOptions<true>, 'required'>) => {\n const { message, defaultValue, regexp = URL_REGEX } = props || {}\n\n const regex = TypeGuards.isString(regexp) ? new RegExp(regexp) : regexp\n\n return string()\n .min(1, message?.min || baseDefaultMessages.NON_EMPTY())\n .regex(regex, message?.invalid || baseDefaultMessages.INVALID_URL())\n .default(defaultValue ?? '')\n}\ntype UrlRequiredSchema = ReturnType<typeof getUrlRequired>\n\n/**\n * Схема валидации опционального поля ссылки\n */\nconst getUrlOptional = (props?: Omit<UrlValidationOptions<false>, 'required'>) => {\n const { message, regexp = URL_REGEX } = props || {}\n\n const regex = TypeGuards.isString(regexp) ? new RegExp(regexp) : regexp\n\n return string()\n .refine((value) => {\n if (TypeGuards.isStringEmpty(value)) return true\n return regex.test(value)\n }, message?.invalid || baseDefaultMessages.INVALID_URL())\n .optional()\n .transform((value) => (!value?.length ? undefined : value))\n}\ntype UrlOptionalSchema = ReturnType<typeof getUrlOptional>\n\nexport function getUrlSchema(props?: UrlValidationOptions<true>): UrlRequiredSchema\nexport function getUrlSchema(props?: UrlValidationOptions<false>): UrlOptionalSchema\n/**\n * Схема валидации поля ссылки\n * @param {UrlValidationOptions} props настройки схемы\n * @typeParam `required` - `boolean`\n * @typeParam `regexp` - `RegExp`\n * @typeParam `message` - `{ [min | invalid]: string }`\n * @returns схема валидации поля в соответствии с настройками\n */\nexport function getUrlSchema<Required extends boolean>(\n props?: UrlValidationOptions<Required>\n): UrlRequiredSchema | UrlOptionalSchema {\n const { required = true } = props || {}\n\n return required ? getUrlRequired(props) : getUrlOptional(props)\n}\n"],"names":["URL_REGEX","getUrlRequired","props","message","defaultValue","regexp","regex","TypeGuards","string","baseDefaultMessages","getUrlOptional","value","getUrlSchema","required"],"mappings":"mLAwBA,MAAMA,EACJ,wHAKIC,EAAkBC,GAAyD,CAC/E,KAAM,CAAE,QAAAC,EAAS,aAAAC,EAAc,OAAAC,EAASL,CAAA,EAAcE,GAAS,CAAA,EAEzDI,EAAQC,EAAW,SAASF,CAAM,EAAI,IAAI,OAAOA,CAAM,EAAIA,EAEjE,OAAOG,EAAA,EACJ,IAAI,GAAGL,GAAA,YAAAA,EAAS,MAAOM,EAAoB,WAAW,EACtD,MAAMH,GAAOH,GAAA,YAAAA,EAAS,UAAWM,EAAoB,YAAA,CAAa,EAClE,QAAQL,GAAgB,EAAE,CAC/B,EAMMM,EAAkBR,GAA0D,CAChF,KAAM,CAAE,QAAAC,EAAS,OAAAE,EAASL,CAAA,EAAcE,GAAS,CAAA,EAE3CI,EAAQC,EAAW,SAASF,CAAM,EAAI,IAAI,OAAOA,CAAM,EAAIA,EAEjE,OAAOG,EAAA,EACJ,OAAQG,GACHJ,EAAW,cAAcI,CAAK,EAAU,GACrCL,EAAM,KAAKK,CAAK,GACtBR,GAAA,YAAAA,EAAS,UAAWM,EAAoB,YAAA,CAAa,EACvD,SAAA,EACA,UAAWE,GAAYA,GAAA,MAAAA,EAAO,OAAqBA,EAAZ,MAAkB,CAC9D,EAaO,SAASC,EACdV,EACuC,CACvC,KAAM,CAAE,SAAAW,EAAW,EAAA,EAASX,GAAS,CAAA,EAErC,OAAOW,EAAWZ,EAAeC,CAAK,EAAIQ,EAAeR,CAAK,CAChE"}
1
+ {"version":3,"file":"url.validators.js","sources":["../../../../../lib/shared/validation/base/url.validators.ts"],"sourcesContent":["import { string } from 'zod'\nimport { baseDefaultMessages } from './base.constants'\nimport { TypeGuards } from '$/shared/utils'\n\nexport type UrlValidationOptions<Required extends boolean> = {\n /**\n * указывает что поле обязательное\n * @default true\n */\n required?: Required\n /**\n * Регулярное выражение для проверки url на валидность\n */\n regexp?: RegExp | string\n /**\n * значение по умолчанию\n */\n defaultValue?: string\n message?: {\n min?: string\n invalid?: string\n }\n}\n\nconst URL_REGEX =\n /^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)?[a-z0-9]+([-.]{1}[a-z0-9]+)*\\.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?$/\n\n/**\n * Схема валидации обязательного поля ссылки\n */\nconst getUrlRequired = (props?: Omit<UrlValidationOptions<true>, 'required'>) => {\n const { message, defaultValue, regexp = URL_REGEX } = props || {}\n\n const regex = TypeGuards.isString(regexp) ? new RegExp(regexp) : regexp\n\n return string()\n .min(1, message?.min || baseDefaultMessages.NON_EMPTY())\n .regex(regex, message?.invalid || baseDefaultMessages.INVALID_URL())\n .default(defaultValue ?? '')\n}\ntype UrlRequiredSchema = ReturnType<typeof getUrlRequired>\n\n/**\n * Схема валидации опционального поля ссылки\n */\nconst getUrlOptional = (props?: Omit<UrlValidationOptions<false>, 'required'>) => {\n const { message, regexp = URL_REGEX } = props || {}\n\n const regex = TypeGuards.isString(regexp) ? new RegExp(regexp) : regexp\n\n return string()\n .refine((value) => {\n if (TypeGuards.isStringEmpty(value)) return true\n return regex.test(value)\n }, message?.invalid || baseDefaultMessages.INVALID_URL())\n .optional()\n .transform((value) => (!value?.length ? undefined : value))\n}\ntype UrlOptionalSchema = ReturnType<typeof getUrlOptional>\n\nexport function getUrlSchema(props?: UrlValidationOptions<true>): UrlRequiredSchema\nexport function getUrlSchema(props?: UrlValidationOptions<false>): UrlOptionalSchema\n/**\n * Схема валидации поля ссылки\n * @param {UrlValidationOptions} props настройки схемы\n * @typeParam `required` - `boolean`\n * @typeParam `regexp` - `RegExp`\n * @typeParam `message` - `{ [min | invalid]: string }`\n * @returns схема валидации поля в соответствии с настройками\n */\nexport function getUrlSchema<Required extends boolean>(\n props?: UrlValidationOptions<Required>\n): UrlRequiredSchema | UrlOptionalSchema {\n const { required = true } = props || {}\n\n return required ? getUrlRequired(props) : getUrlOptional(props)\n}\n"],"names":["URL_REGEX","getUrlRequired","props","message","defaultValue","regexp","regex","TypeGuards","string","baseDefaultMessages","getUrlOptional","value","getUrlSchema","required"],"mappings":"wOAwBA,MAAMA,EACJ,wHAKIC,EAAkBC,GAAyD,CAC/E,KAAM,CAAE,QAAAC,EAAS,aAAAC,EAAc,OAAAC,EAASL,CAAA,EAAcE,GAAS,CAAA,EAEzDI,EAAQC,EAAW,SAASF,CAAM,EAAI,IAAI,OAAOA,CAAM,EAAIA,EAEjE,OAAOG,EAAA,EACJ,IAAI,GAAGL,GAAA,YAAAA,EAAS,MAAOM,EAAoB,WAAW,EACtD,MAAMH,GAAOH,GAAA,YAAAA,EAAS,UAAWM,EAAoB,YAAA,CAAa,EAClE,QAAQL,GAAgB,EAAE,CAC/B,EAMMM,EAAkBR,GAA0D,CAChF,KAAM,CAAE,QAAAC,EAAS,OAAAE,EAASL,CAAA,EAAcE,GAAS,CAAA,EAE3CI,EAAQC,EAAW,SAASF,CAAM,EAAI,IAAI,OAAOA,CAAM,EAAIA,EAEjE,OAAOG,EAAA,EACJ,OAAQG,GACHJ,EAAW,cAAcI,CAAK,EAAU,GACrCL,EAAM,KAAKK,CAAK,GACtBR,GAAA,YAAAA,EAAS,UAAWM,EAAoB,YAAA,CAAa,EACvD,SAAA,EACA,UAAWE,GAAYA,GAAA,MAAAA,EAAO,OAAqBA,EAAZ,MAAkB,CAC9D,EAaO,SAASC,EACdV,EACuC,CACvC,KAAM,CAAE,SAAAW,EAAW,EAAA,EAASX,GAAS,CAAA,EAErC,OAAOW,EAAWZ,EAAeC,CAAK,EAAIQ,EAAeR,CAAK,CAChE"}
@@ -1,2 +1,2 @@
1
- import"react/jsx-runtime";import"react";import"../../shared/ui/button/Button.js";import"../../shared/ui/buttonIcon/ButtonIcon.js";import"../../shared/ui/calendar/Calendar.js";import"../../shared/ui/calendar/model/utils.js";import"../../shared/ui/accordion/Accordion.js";import"react-dom";import"../../shared/ui/modal/ui/IframeModalContent.js";import"../../../node_modules/react-hot-toast/dist/index.js";import"../../shared/ui/table/ui/primitives/Primitives.js";import"../../shared/ui/carousel/ui/CarouselContent.js";import"../../shared/ui/slot/Slot.js";import"../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";import"../model/helpers.js";import{Banner as Q}from"./Banner.js";import"../stepper/ui/StepperTabs.js";import"../../shared/validation/zodValidation/dadataFio.js";import"../../shared/validation/zodValidation/calendar.js";import"../../shared/validation/zodValidation/phone.js";import"../../shared/validation/zodValidation/otpCode.js";import"../queryClientProvider/QueryClientProvider.js";import"../seoHeader/ui/desktop/CategoryTabs.js";import"../calculator/ui/CalculatorTabs.js";import"../userFeedback/model/schema.js";import"../userFeedback/ui/FeedbackTrigger.js";import"../userFeedback/ui/SelectRating.js";import{BannerWithSeparateImg as T}from"./ui/banners/BannerWithSeparateImg.js";export{Q as Banner,T as BannerWithSeparateImg};
1
+ import"react/jsx-runtime";import"../../../node_modules/classnames/index.js";import"react";import"../../shared/ui/button/Button.js";import"../../shared/ui/buttonIcon/ButtonIcon.js";import"../../shared/ui/calendar/Calendar.js";import"../../shared/ui/calendar/model/utils.js";import"../../shared/ui/accordion/Accordion.js";import"react-dom";import"../../shared/ui/modal/ui/IframeModalContent.js";import"../../../node_modules/react-hot-toast/dist/index.js";import"../../shared/ui/table/ui/primitives/Primitives.js";import"../../shared/ui/carousel/ui/CarouselContent.js";import"../../shared/ui/slot/Slot.js";import"../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";import"../model/helpers.js";import{Banner as R}from"./Banner.js";import"../stepper/ui/StepperTabs.js";import"../../shared/validation/zodValidation/dadataFio.js";import"../../shared/validation/zodValidation/calendar.js";import"../../shared/validation/zodValidation/phone.js";import"../../shared/validation/zodValidation/otpCode.js";import"../queryClientProvider/QueryClientProvider.js";import"../seoHeader/ui/desktop/CategoryTabs.js";import"../calculator/ui/CalculatorTabs.js";import"../userFeedback/model/schema.js";import"../userFeedback/ui/FeedbackTrigger.js";import"../userFeedback/ui/SelectRating.js";import{BannerWithSeparateImg as U}from"./ui/banners/BannerWithSeparateImg.js";export{R as Banner,U as BannerWithSeparateImg};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import{useCallback as l}from"react";import{scrollToElement as a}from"../../../shared/utils/scrollToElement.js";import{isClient as t}from"../../../shared/utils/isClient.js";const m=o=>l(()=>{switch(o.handler){case"navigate":{const{url:e,target:r,rel:c}=o;t&&(window==null||window.open(e,r,c));break}case"scroll":{const{widgetId:e}=o??"";a({widgetId:e});break}case"dialog":{if(!t)return;const{dialogId:e}=o??{},r=document.getElementById(e);if(!r){console.error("Такого элемента в DOM не существует",e);break}r.show()}}},[o]);export{m as useButtonHandler};
1
+ import{useCallback as l}from"react";import{scrollToElement as a}from"../../../shared/utils/scrollToElement.js";import"../../../../node_modules/classnames/index.js";import{isClient as t}from"../../../shared/utils/isClient.js";const g=o=>l(()=>{switch(o.handler){case"navigate":{const{url:e,target:r,rel:c}=o;t&&(window==null||window.open(e,r,c));break}case"scroll":{const{widgetId:e}=o??"";a({widgetId:e});break}case"dialog":{if(!t)return;const{dialogId:e}=o??{},r=document.getElementById(e);if(!r){console.error("Такого элемента в DOM не существует",e);break}r.show()}}},[o]);export{g as useButtonHandler};
2
2
  //# sourceMappingURL=useButtonHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useButtonHandler.js","sources":["../../../../../lib/widgets/buttonWithHandlers/model/useButtonHandler.ts"],"sourcesContent":["'use client'\n\nimport { useCallback } from 'react'\nimport type { ButtonHandlerOptions } from './types'\nimport { isClient, scrollToElement } from '$/shared/utils'\n\nexport const useButtonHandler = (handlerOptions: ButtonHandlerOptions) => {\n const handleClick = useCallback(() => {\n switch (handlerOptions.handler) {\n case 'navigate': {\n const { url, target, rel } = handlerOptions\n if (isClient) {\n window?.open(url, target, rel)\n }\n\n break\n }\n case 'scroll': {\n const { widgetId } = handlerOptions ?? ''\n scrollToElement({ widgetId })\n break\n }\n\n case 'dialog': {\n if (!isClient) return\n\n const { dialogId } = handlerOptions ?? {}\n\n const dialog = document.getElementById(dialogId) as HTMLDialogElement | null\n\n if (!dialog) {\n console.error('Такого элемента в DOM не существует', dialogId)\n break\n }\n\n dialog.show()\n }\n }\n }, [handlerOptions])\n\n return handleClick\n}\n"],"names":["useButtonHandler","handlerOptions","useCallback","url","target","rel","isClient","widgetId","scrollToElement","dialogId","dialog"],"mappings":"4KAMO,MAAMA,EAAoBC,GACXC,EAAY,IAAM,CACpC,OAAQD,EAAe,QAAA,CACrB,IAAK,WAAY,CACf,KAAM,CAAE,IAAAE,EAAK,OAAAC,EAAQ,IAAAC,CAAA,EAAQJ,EACzBK,IACF,qBAAQ,KAAKH,EAAKC,EAAQC,IAG5B,KACF,CACA,IAAK,SAAU,CACb,KAAM,CAAE,SAAAE,GAAaN,GAAkB,GACvCO,EAAgB,CAAE,SAAAD,EAAU,EAC5B,KACF,CAEA,IAAK,SAAU,CACb,GAAI,CAACD,EAAU,OAEf,KAAM,CAAE,SAAAG,GAAaR,GAAkB,CAAA,EAEjCS,EAAS,SAAS,eAAeD,CAAQ,EAE/C,GAAI,CAACC,EAAQ,CACX,QAAQ,MAAM,sCAAuCD,CAAQ,EAC7D,KACF,CAEAC,EAAO,KAAA,CACT,CAAA,CAEJ,EAAG,CAACT,CAAc,CAAC"}
1
+ {"version":3,"file":"useButtonHandler.js","sources":["../../../../../lib/widgets/buttonWithHandlers/model/useButtonHandler.ts"],"sourcesContent":["'use client'\n\nimport { useCallback } from 'react'\nimport type { ButtonHandlerOptions } from './types'\nimport { isClient, scrollToElement } from '$/shared/utils'\n\nexport const useButtonHandler = (handlerOptions: ButtonHandlerOptions) => {\n const handleClick = useCallback(() => {\n switch (handlerOptions.handler) {\n case 'navigate': {\n const { url, target, rel } = handlerOptions\n if (isClient) {\n window?.open(url, target, rel)\n }\n\n break\n }\n case 'scroll': {\n const { widgetId } = handlerOptions ?? ''\n scrollToElement({ widgetId })\n break\n }\n\n case 'dialog': {\n if (!isClient) return\n\n const { dialogId } = handlerOptions ?? {}\n\n const dialog = document.getElementById(dialogId) as HTMLDialogElement | null\n\n if (!dialog) {\n console.error('Такого элемента в DOM не существует', dialogId)\n break\n }\n\n dialog.show()\n }\n }\n }, [handlerOptions])\n\n return handleClick\n}\n"],"names":["useButtonHandler","handlerOptions","useCallback","url","target","rel","isClient","widgetId","scrollToElement","dialogId","dialog"],"mappings":"iOAMO,MAAMA,EAAoBC,GACXC,EAAY,IAAM,CACpC,OAAQD,EAAe,QAAA,CACrB,IAAK,WAAY,CACf,KAAM,CAAE,IAAAE,EAAK,OAAAC,EAAQ,IAAAC,CAAA,EAAQJ,EACzBK,IACF,qBAAQ,KAAKH,EAAKC,EAAQC,IAG5B,KACF,CACA,IAAK,SAAU,CACb,KAAM,CAAE,SAAAE,GAAaN,GAAkB,GACvCO,EAAgB,CAAE,SAAAD,EAAU,EAC5B,KACF,CAEA,IAAK,SAAU,CACb,GAAI,CAACD,EAAU,OAEf,KAAM,CAAE,SAAAG,GAAaR,GAAkB,CAAA,EAEjCS,EAAS,SAAS,eAAeD,CAAQ,EAE/C,GAAI,CAACC,EAAQ,CACX,QAAQ,MAAM,sCAAuCD,CAAQ,EAC7D,KACF,CAEAC,EAAO,KAAA,CACT,CAAA,CAEJ,EAAG,CAACT,CAAc,CAAC"}
@@ -1,2 +1,2 @@
1
- import{TypeGuards as u}from"../../../shared/utils/typeGuards.js";import{isFormula as m}from"./utils.js";const c=(a,e)=>(a.match(/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[]).filter(s=>!(s in e)).length>0?"":a,b=(a,e)=>{const r=Object.entries(e).map(([t,i])=>[t,u.isNil(i)?"1":i]),n=r.map(([t])=>t),s=r.map(([,t])=>t),o=c(a,Object.fromEntries(r)),l=new Function(...n,`return ${o};`)(...s.map(Number));return Number.isNaN(Number(l))?"0":l.toString()},F=(a,e)=>a.map(r=>({...r,value:m(r.value)?b(r.value.formula,e):r.value}));export{b as evaluateFormula,F as formatInfoList};
1
+ import"../../../../node_modules/classnames/index.js";import{TypeGuards as u}from"../../../shared/utils/typeGuards.js";import{isFormula as m}from"./utils.js";const c=(a,e)=>(a.match(/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[]).filter(s=>!(s in e)).length>0?"":a,b=(a,e)=>{const r=Object.entries(e).map(([t,l])=>[t,u.isNil(l)?"1":l]),n=r.map(([t])=>t),s=r.map(([,t])=>t),o=c(a,Object.fromEntries(r)),i=new Function(...n,`return ${o};`)(...s.map(Number));return Number.isNaN(Number(i))?"0":i.toString()},N=(a,e)=>a.map(r=>({...r,value:m(r.value)?b(r.value.formula,e):r.value}));export{b as evaluateFormula,N as formatInfoList};
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sources":["../../../../../lib/widgets/calculator/model/helpers.ts"],"sourcesContent":["import { TypeGuards } from '../../../shared/utils'\nimport type { InfoListItemDTO, InfoListItemProps } from '../ui'\nimport type { CalculatorVariables } from './types'\nimport { isFormula } from './utils'\n\nconst validateFormula = (formula: string, variables: CalculatorVariables) => {\n const variablesInFormula = formula.match(/[a-zA-Z_$][a-zA-Z0-9_$]*/g) || []\n const missingVariables = variablesInFormula.filter((varName) => !(varName in variables))\n\n if (missingVariables.length > 0) {\n return ''\n // throw new Error(`Отсутствуют переменные для калькулятора: ${missingVariables.join(', ')}`) 12 + 14 / select1\n }\n\n return formula\n}\n\nexport const evaluateFormula = (formula: string, variables: CalculatorVariables): string => {\n const entries = Object.entries(variables).map(([key, value]) => [key, !TypeGuards.isNil(value) ? value : '1'])\n\n const variablesKeys = entries.map(([key]) => key)\n const variablesValues = entries.map(([, value]) => value)\n\n const validatedFormula = validateFormula(formula, Object.fromEntries(entries))\n\n const replaceVariables = new Function(...variablesKeys, `return ${validatedFormula};`)\n\n const replaceResult: number = replaceVariables(...variablesValues.map(Number))\n\n if (Number.isNaN(Number(replaceResult))) {\n return '0'\n }\n\n return replaceResult.toString()\n}\n\nexport const formatInfoList = (list: InfoListItemDTO[], variables: CalculatorVariables): InfoListItemProps[] => {\n return list.map((item) => {\n return {\n ...item,\n value: isFormula(item.value) ? evaluateFormula(item.value.formula, variables) : item.value\n }\n })\n}\n"],"names":["validateFormula","formula","variables","varName","evaluateFormula","entries","key","value","TypeGuards","variablesKeys","variablesValues","validatedFormula","replaceResult","formatInfoList","list","item","isFormula"],"mappings":"wGAKA,MAAMA,EAAkB,CAACC,EAAiBC,KACbD,EAAQ,MAAM,2BAA2B,GAAK,CAAA,GAC7B,OAAQE,GAAY,EAAEA,KAAWD,EAAU,EAElE,OAAS,EACrB,GAIFD,EAGIG,EAAkB,CAACH,EAAiBC,IAA2C,CAC1F,MAAMG,EAAU,OAAO,QAAQH,CAAS,EAAE,IAAI,CAAC,CAACI,EAAKC,CAAK,IAAM,CAACD,EAAME,EAAW,MAAMD,CAAK,EAAY,IAARA,CAAW,CAAC,EAEvGE,EAAgBJ,EAAQ,IAAI,CAAC,CAACC,CAAG,IAAMA,CAAG,EAC1CI,EAAkBL,EAAQ,IAAI,CAAC,CAAA,CAAGE,CAAK,IAAMA,CAAK,EAElDI,EAAmBX,EAAgBC,EAAS,OAAO,YAAYI,CAAO,CAAC,EAIvEO,EAFmB,IAAI,SAAS,GAAGH,EAAe,UAAUE,CAAgB,GAAG,EAEtC,GAAGD,EAAgB,IAAI,MAAM,CAAC,EAE7E,OAAI,OAAO,MAAM,OAAOE,CAAa,CAAC,EAC7B,IAGFA,EAAc,SAAA,CACvB,EAEaC,EAAiB,CAACC,EAAyBZ,IAC/CY,EAAK,IAAKC,IACR,CACL,GAAGA,EACH,MAAOC,EAAUD,EAAK,KAAK,EAAIX,EAAgBW,EAAK,MAAM,QAASb,CAAS,EAAIa,EAAK,KAAA,EAExF"}
1
+ {"version":3,"file":"helpers.js","sources":["../../../../../lib/widgets/calculator/model/helpers.ts"],"sourcesContent":["import { TypeGuards } from '../../../shared/utils'\nimport type { InfoListItemDTO, InfoListItemProps } from '../ui'\nimport type { CalculatorVariables } from './types'\nimport { isFormula } from './utils'\n\nconst validateFormula = (formula: string, variables: CalculatorVariables) => {\n const variablesInFormula = formula.match(/[a-zA-Z_$][a-zA-Z0-9_$]*/g) || []\n const missingVariables = variablesInFormula.filter((varName) => !(varName in variables))\n\n if (missingVariables.length > 0) {\n return ''\n // throw new Error(`Отсутствуют переменные для калькулятора: ${missingVariables.join(', ')}`) 12 + 14 / select1\n }\n\n return formula\n}\n\nexport const evaluateFormula = (formula: string, variables: CalculatorVariables): string => {\n const entries = Object.entries(variables).map(([key, value]) => [key, !TypeGuards.isNil(value) ? value : '1'])\n\n const variablesKeys = entries.map(([key]) => key)\n const variablesValues = entries.map(([, value]) => value)\n\n const validatedFormula = validateFormula(formula, Object.fromEntries(entries))\n\n const replaceVariables = new Function(...variablesKeys, `return ${validatedFormula};`)\n\n const replaceResult: number = replaceVariables(...variablesValues.map(Number))\n\n if (Number.isNaN(Number(replaceResult))) {\n return '0'\n }\n\n return replaceResult.toString()\n}\n\nexport const formatInfoList = (list: InfoListItemDTO[], variables: CalculatorVariables): InfoListItemProps[] => {\n return list.map((item) => {\n return {\n ...item,\n value: isFormula(item.value) ? evaluateFormula(item.value.formula, variables) : item.value\n }\n })\n}\n"],"names":["validateFormula","formula","variables","varName","evaluateFormula","entries","key","value","TypeGuards","variablesKeys","variablesValues","validatedFormula","replaceResult","formatInfoList","list","item","isFormula"],"mappings":"6JAKA,MAAMA,EAAkB,CAACC,EAAiBC,KACbD,EAAQ,MAAM,2BAA2B,GAAK,CAAA,GAC7B,OAAQE,GAAY,EAAEA,KAAWD,EAAU,EAElE,OAAS,EACrB,GAIFD,EAGIG,EAAkB,CAACH,EAAiBC,IAA2C,CAC1F,MAAMG,EAAU,OAAO,QAAQH,CAAS,EAAE,IAAI,CAAC,CAACI,EAAKC,CAAK,IAAM,CAACD,EAAME,EAAW,MAAMD,CAAK,EAAY,IAARA,CAAW,CAAC,EAEvGE,EAAgBJ,EAAQ,IAAI,CAAC,CAACC,CAAG,IAAMA,CAAG,EAC1CI,EAAkBL,EAAQ,IAAI,CAAC,CAAA,CAAGE,CAAK,IAAMA,CAAK,EAElDI,EAAmBX,EAAgBC,EAAS,OAAO,YAAYI,CAAO,CAAC,EAIvEO,EAFmB,IAAI,SAAS,GAAGH,EAAe,UAAUE,CAAgB,GAAG,EAEtC,GAAGD,EAAgB,IAAI,MAAM,CAAC,EAE7E,OAAI,OAAO,MAAM,OAAOE,CAAa,CAAC,EAC7B,IAGFA,EAAc,SAAA,CACvB,EAEaC,EAAiB,CAACC,EAAyBZ,IAC/CY,EAAK,IAAKC,IACR,CACL,GAAGA,EACH,MAAOC,EAAUD,EAAK,KAAK,EAAIX,EAAgBW,EAAK,MAAM,QAASb,CAAS,EAAIa,EAAK,KAAA,EAExF"}
@@ -1,2 +1,2 @@
1
- import{useState as u,useEffect as h}from"react";import{useFormContext as y}from"../../../../../../node_modules/react-hook-form/dist/index.esm.js";import{TypeGuards as T}from"../../../../../shared/utils/typeGuards.js";const d=2e4,O=({slidersGroupConfig:l,additionalSliderGroupConfig:i})=>{const[r,m]=u(!1),{watch:M,setValue:a}=y(),e=l==null?void 0:l.fields.find(({args:f})=>f.name==="sum"),{args:x}=e||{},{max:s,name:o,defaultValue:V}=x||{},t=M(o),{min:b,name:c}=(i==null?void 0:i.args)??{},N=M(c),n=Number(s??0)-(t??V);return h(()=>{N>n&&a(c,n)},[n,N,a,t]),h(()=>{Number(s)===t&&m(!1)},[m,s,t]),{sliderVisible:r,setSliderVisible:m,sumMax:s,sumName:o,sumDefaultValue:V,sumValue:t,additionalSliderMax:n,onCheckedChange:()=>{m(f=>!f),N<=0&&a(c,b),Number(s)===t&&(a(o??"",t-d),a(c,b))},sliderSumExist:!T.isObjectEmpty(e==null?void 0:e.args),sliderSumCorrectType:(e==null?void 0:e.args.componentType)==="algorithmic"||(e==null?void 0:e.args.componentType)==="step"}};export{O as useAdditionalSlider};
1
+ import{useState as u,useEffect as b}from"react";import{useFormContext as y}from"../../../../../../node_modules/react-hook-form/dist/index.esm.js";import"../../../../../../node_modules/classnames/index.js";import{TypeGuards as T}from"../../../../../shared/utils/typeGuards.js";const d=2e4,k=({slidersGroupConfig:i,additionalSliderGroupConfig:l})=>{const[h,m]=u(!1),{watch:r,setValue:a}=y(),e=i==null?void 0:i.fields.find(({args:f})=>f.name==="sum"),{args:x}=e||{},{max:s,name:o,defaultValue:M}=x||{},t=r(o),{min:V,name:c}=(l==null?void 0:l.args)??{},N=r(c),n=Number(s??0)-(t??M);return b(()=>{N>n&&a(c,n)},[n,N,a,t]),b(()=>{Number(s)===t&&m(!1)},[m,s,t]),{sliderVisible:h,setSliderVisible:m,sumMax:s,sumName:o,sumDefaultValue:M,sumValue:t,additionalSliderMax:n,onCheckedChange:()=>{m(f=>!f),N<=0&&a(c,V),Number(s)===t&&(a(o??"",t-d),a(c,V))},sliderSumExist:!T.isObjectEmpty(e==null?void 0:e.args),sliderSumCorrectType:(e==null?void 0:e.args.componentType)==="algorithmic"||(e==null?void 0:e.args.componentType)==="step"}};export{k as useAdditionalSlider};
2
2
  //# sourceMappingURL=useAdditionalSlider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAdditionalSlider.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorFields/hooks/useAdditionalSlider.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport { type FieldValues, type Path, type PathValue, useFormContext } from 'react-hook-form'\nimport { TypeGuards } from '../../../../../shared/utils'\nimport { type AdditionalSliderGroupConfig, type SlidersGroupProps } from '../ui'\n\ninterface UseAdditionalSlider<T extends FieldValues> {\n additionalSliderGroupConfig?: AdditionalSliderGroupConfig<T>\n slidersGroupConfig?: SlidersGroupProps<T>\n}\n\nconst ADDITIONAL_MONEY_MINIMUM = 20_000\n\nexport const useAdditionalSlider = <T extends FieldValues>({\n slidersGroupConfig,\n additionalSliderGroupConfig\n}: UseAdditionalSlider<T>) => {\n const [sliderVisible, setSliderVisible] = useState<boolean>(false)\n\n const { watch, setValue } = useFormContext<T>()\n\n const sliderSumGroup = slidersGroupConfig?.fields.find(({ args }) => args.name === 'sum')\n const { args } = sliderSumGroup || {}\n const { max: sumMax, name: sumName, defaultValue: sumDefaultValue } = args || {}\n const sumValue = watch(sumName as Path<T>)\n\n const { min: additionalSliderMin, name: additionalSliderName } = additionalSliderGroupConfig?.args ?? {}\n const additionalSliderValue = watch(additionalSliderName as Path<T>)\n const additionalSliderMax = Number(sumMax ?? 0) - (sumValue ?? sumDefaultValue)\n\n useEffect(() => {\n if (additionalSliderValue > additionalSliderMax) {\n setValue(additionalSliderName as Path<T>, additionalSliderMax as PathValue<T, Path<T>>)\n }\n }, [additionalSliderMax, additionalSliderValue, setValue, sumValue])\n\n useEffect(() => {\n if (Number(sumMax) === sumValue) {\n setSliderVisible(false)\n }\n }, [setSliderVisible, sumMax, sumValue])\n\n const onCheckedChange = () => {\n setSliderVisible((prevValue) => !prevValue)\n\n if (additionalSliderValue <= 0) {\n setValue(additionalSliderName as Path<T>, additionalSliderMin as PathValue<T, Path<T>>)\n }\n\n if (Number(sumMax) === sumValue) {\n setValue((sumName ?? '') as Path<T>, (sumValue - ADDITIONAL_MONEY_MINIMUM) as PathValue<T, Path<T>>)\n setValue(additionalSliderName as Path<T>, additionalSliderMin as PathValue<T, Path<T>>)\n }\n }\n\n return {\n sliderVisible,\n setSliderVisible,\n sumMax,\n sumName,\n sumDefaultValue,\n sumValue,\n additionalSliderMax,\n onCheckedChange,\n sliderSumExist: !TypeGuards.isObjectEmpty(sliderSumGroup?.args),\n sliderSumCorrectType: sliderSumGroup?.args.componentType === 'algorithmic' || sliderSumGroup?.args.componentType === 'step'\n }\n}\n"],"names":["ADDITIONAL_MONEY_MINIMUM","useAdditionalSlider","slidersGroupConfig","additionalSliderGroupConfig","sliderVisible","setSliderVisible","useState","watch","setValue","useFormContext","sliderSumGroup","args","sumMax","sumName","sumDefaultValue","sumValue","additionalSliderMin","additionalSliderName","additionalSliderValue","additionalSliderMax","useEffect","prevValue","TypeGuards"],"mappings":"yNAUA,MAAMA,EAA2B,IAEpBC,EAAsB,CAAwB,CACzD,mBAAAC,EACA,4BAAAC,CACF,IAA8B,CAC5B,KAAM,CAACC,EAAeC,CAAgB,EAAIC,EAAkB,EAAK,EAE3D,CAAE,MAAAC,EAAO,SAAAC,CAAA,EAAaC,EAAA,EAEtBC,EAAiBR,GAAA,YAAAA,EAAoB,OAAO,KAAK,CAAC,CAAE,KAAAS,CAAAA,IAAWA,EAAK,OAAS,OAC7E,CAAE,KAAAA,GAASD,GAAkB,CAAA,EAC7B,CAAE,IAAKE,EAAQ,KAAMC,EAAS,aAAcC,GAAoBH,GAAQ,CAAA,EACxEI,EAAWR,EAAMM,CAAkB,EAEnC,CAAE,IAAKG,EAAqB,KAAMC,IAAyBd,GAAA,YAAAA,EAA6B,OAAQ,CAAA,EAChGe,EAAwBX,EAAMU,CAA+B,EAC7DE,EAAsB,OAAOP,GAAU,CAAC,GAAKG,GAAYD,GAE/D,OAAAM,EAAU,IAAM,CACVF,EAAwBC,GAC1BX,EAASS,EAAiCE,CAA4C,CAE1F,EAAG,CAACA,EAAqBD,EAAuBV,EAAUO,CAAQ,CAAC,EAEnEK,EAAU,IAAM,CACV,OAAOR,CAAM,IAAMG,GACrBV,EAAiB,EAAK,CAE1B,EAAG,CAACA,EAAkBO,EAAQG,CAAQ,CAAC,EAehC,CACL,cAAAX,EACA,iBAAAC,EACA,OAAAO,EACA,QAAAC,EACA,gBAAAC,EACA,SAAAC,EACA,oBAAAI,EACA,gBArBsB,IAAM,CAC5Bd,EAAkBgB,GAAc,CAACA,CAAS,EAEtCH,GAAyB,GAC3BV,EAASS,EAAiCD,CAA4C,EAGpF,OAAOJ,CAAM,IAAMG,IACrBP,EAAUK,GAAW,GAAiBE,EAAWf,CAAkD,EACnGQ,EAASS,EAAiCD,CAA4C,EAE1F,EAWE,eAAgB,CAACM,EAAW,cAAcZ,GAAA,YAAAA,EAAgB,IAAI,EAC9D,sBAAsBA,GAAA,YAAAA,EAAgB,KAAK,iBAAkB,gBAAiBA,GAAA,YAAAA,EAAgB,KAAK,iBAAkB,MAAA,CAEzH"}
1
+ {"version":3,"file":"useAdditionalSlider.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorFields/hooks/useAdditionalSlider.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport { type FieldValues, type Path, type PathValue, useFormContext } from 'react-hook-form'\nimport { TypeGuards } from '../../../../../shared/utils'\nimport { type AdditionalSliderGroupConfig, type SlidersGroupProps } from '../ui'\n\ninterface UseAdditionalSlider<T extends FieldValues> {\n additionalSliderGroupConfig?: AdditionalSliderGroupConfig<T>\n slidersGroupConfig?: SlidersGroupProps<T>\n}\n\nconst ADDITIONAL_MONEY_MINIMUM = 20_000\n\nexport const useAdditionalSlider = <T extends FieldValues>({\n slidersGroupConfig,\n additionalSliderGroupConfig\n}: UseAdditionalSlider<T>) => {\n const [sliderVisible, setSliderVisible] = useState<boolean>(false)\n\n const { watch, setValue } = useFormContext<T>()\n\n const sliderSumGroup = slidersGroupConfig?.fields.find(({ args }) => args.name === 'sum')\n const { args } = sliderSumGroup || {}\n const { max: sumMax, name: sumName, defaultValue: sumDefaultValue } = args || {}\n const sumValue = watch(sumName as Path<T>)\n\n const { min: additionalSliderMin, name: additionalSliderName } = additionalSliderGroupConfig?.args ?? {}\n const additionalSliderValue = watch(additionalSliderName as Path<T>)\n const additionalSliderMax = Number(sumMax ?? 0) - (sumValue ?? sumDefaultValue)\n\n useEffect(() => {\n if (additionalSliderValue > additionalSliderMax) {\n setValue(additionalSliderName as Path<T>, additionalSliderMax as PathValue<T, Path<T>>)\n }\n }, [additionalSliderMax, additionalSliderValue, setValue, sumValue])\n\n useEffect(() => {\n if (Number(sumMax) === sumValue) {\n setSliderVisible(false)\n }\n }, [setSliderVisible, sumMax, sumValue])\n\n const onCheckedChange = () => {\n setSliderVisible((prevValue) => !prevValue)\n\n if (additionalSliderValue <= 0) {\n setValue(additionalSliderName as Path<T>, additionalSliderMin as PathValue<T, Path<T>>)\n }\n\n if (Number(sumMax) === sumValue) {\n setValue((sumName ?? '') as Path<T>, (sumValue - ADDITIONAL_MONEY_MINIMUM) as PathValue<T, Path<T>>)\n setValue(additionalSliderName as Path<T>, additionalSliderMin as PathValue<T, Path<T>>)\n }\n }\n\n return {\n sliderVisible,\n setSliderVisible,\n sumMax,\n sumName,\n sumDefaultValue,\n sumValue,\n additionalSliderMax,\n onCheckedChange,\n sliderSumExist: !TypeGuards.isObjectEmpty(sliderSumGroup?.args),\n sliderSumCorrectType: sliderSumGroup?.args.componentType === 'algorithmic' || sliderSumGroup?.args.componentType === 'step'\n }\n}\n"],"names":["ADDITIONAL_MONEY_MINIMUM","useAdditionalSlider","slidersGroupConfig","additionalSliderGroupConfig","sliderVisible","setSliderVisible","useState","watch","setValue","useFormContext","sliderSumGroup","args","sumMax","sumName","sumDefaultValue","sumValue","additionalSliderMin","additionalSliderName","additionalSliderValue","additionalSliderMax","useEffect","prevValue","TypeGuards"],"mappings":"oRAUA,MAAMA,EAA2B,IAEpBC,EAAsB,CAAwB,CACzD,mBAAAC,EACA,4BAAAC,CACF,IAA8B,CAC5B,KAAM,CAACC,EAAeC,CAAgB,EAAIC,EAAkB,EAAK,EAE3D,CAAE,MAAAC,EAAO,SAAAC,CAAA,EAAaC,EAAA,EAEtBC,EAAiBR,GAAA,YAAAA,EAAoB,OAAO,KAAK,CAAC,CAAE,KAAAS,CAAAA,IAAWA,EAAK,OAAS,OAC7E,CAAE,KAAAA,GAASD,GAAkB,CAAA,EAC7B,CAAE,IAAKE,EAAQ,KAAMC,EAAS,aAAcC,GAAoBH,GAAQ,CAAA,EACxEI,EAAWR,EAAMM,CAAkB,EAEnC,CAAE,IAAKG,EAAqB,KAAMC,IAAyBd,GAAA,YAAAA,EAA6B,OAAQ,CAAA,EAChGe,EAAwBX,EAAMU,CAA+B,EAC7DE,EAAsB,OAAOP,GAAU,CAAC,GAAKG,GAAYD,GAE/D,OAAAM,EAAU,IAAM,CACVF,EAAwBC,GAC1BX,EAASS,EAAiCE,CAA4C,CAE1F,EAAG,CAACA,EAAqBD,EAAuBV,EAAUO,CAAQ,CAAC,EAEnEK,EAAU,IAAM,CACV,OAAOR,CAAM,IAAMG,GACrBV,EAAiB,EAAK,CAE1B,EAAG,CAACA,EAAkBO,EAAQG,CAAQ,CAAC,EAehC,CACL,cAAAX,EACA,iBAAAC,EACA,OAAAO,EACA,QAAAC,EACA,gBAAAC,EACA,SAAAC,EACA,oBAAAI,EACA,gBArBsB,IAAM,CAC5Bd,EAAkBgB,GAAc,CAACA,CAAS,EAEtCH,GAAyB,GAC3BV,EAASS,EAAiCD,CAA4C,EAGpF,OAAOJ,CAAM,IAAMG,IACrBP,EAAUK,GAAW,GAAiBE,EAAWf,CAAkD,EACnGQ,EAASS,EAAiCD,CAA4C,EAE1F,EAWE,eAAgB,CAACM,EAAW,cAAcZ,GAAA,YAAAA,EAAgB,IAAI,EAC9D,sBAAsBA,GAAA,YAAAA,EAAgB,KAAK,iBAAkB,gBAAiBA,GAAA,YAAAA,EAAgB,KAAK,iBAAkB,MAAA,CAEzH"}
@@ -1,2 +1,2 @@
1
- import{jsxs as i,jsx as t,Fragment as o}from"react/jsx-runtime";import"../../../shared/ui/button/Button.js";import"../../../shared/ui/buttonIcon/ButtonIcon.js";import"../../../shared/ui/calendar/Calendar.js";import"../../../shared/ui/calendar/model/utils.js";import"../../../shared/ui/accordion/Accordion.js";import"react";import"react-dom";import"../../../shared/ui/modal/ui/IframeModalContent.js";import"../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as r}from"../../../shared/ui/icon/Icon.js";import"../../../shared/ui/table/ui/primitives/Primitives.js";import"../../../shared/ui/carousel/ui/CarouselContent.js";import"../../../shared/ui/slot/Slot.js";import"../../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";const D=()=>({approve:{icon:{element:t(r,{name:"status/iconMark"}),bg:"bg-color-positive-light"},title:"Ваша заявка отправлена",description:i(o,{children:["В ближайшее время с Вами свяжутся ",t("br",{})," специалисты нашего Банка"]}),button:{text:"Вернуться на главную"}},repeated:{icon:{element:t(r,{name:"status/iconUser"}),bg:"bg-color-positive-light"},title:"Мы вас узнали",description:i(o,{children:["Решение по прошлой заявке ещё активно. ",t("br",{}),"Возвращайтесь к нам позже"]}),button:{text:"Вернуться на главную"}},error:{icon:{element:t(r,{name:"status/iconRetry"}),bg:"bg-color-warning-light"},title:"Что-то пошло не так",description:i(o,{children:["Обновите страницу или попробуйте ",t("br",{})," снова через 5 минут"]}),button:{text:"Обновить страницу"}},reject:{icon:{element:t(r,{name:"status/badSmile"}),bg:"bg-color-negative-light"},title:"Нам очень жаль",description:i(o,{children:["К сожалению, сейчас мы не можем ",t("br",{})," принять вашу заявку"]}),button:{text:"Вернуться на главную"}}});export{D as statusConfig};
1
+ import{jsxs as i,jsx as t,Fragment as o}from"react/jsx-runtime";import"../../../../node_modules/classnames/index.js";import"../../../shared/ui/button/Button.js";import"../../../shared/ui/buttonIcon/ButtonIcon.js";import"../../../shared/ui/calendar/Calendar.js";import"../../../shared/ui/calendar/model/utils.js";import"../../../shared/ui/accordion/Accordion.js";import"react";import"react-dom";import"../../../shared/ui/modal/ui/IframeModalContent.js";import"../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as r}from"../../../shared/ui/icon/Icon.js";import"../../../shared/ui/table/ui/primitives/Primitives.js";import"../../../shared/ui/carousel/ui/CarouselContent.js";import"../../../shared/ui/slot/Slot.js";import"../../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";const E=()=>({approve:{icon:{element:t(r,{name:"status/iconMark"}),bg:"bg-color-positive-light"},title:"Ваша заявка отправлена",description:i(o,{children:["В ближайшее время с Вами свяжутся ",t("br",{})," специалисты нашего Банка"]}),button:{text:"Вернуться на главную"}},repeated:{icon:{element:t(r,{name:"status/iconUser"}),bg:"bg-color-positive-light"},title:"Мы вас узнали",description:i(o,{children:["Решение по прошлой заявке ещё активно. ",t("br",{}),"Возвращайтесь к нам позже"]}),button:{text:"Вернуться на главную"}},error:{icon:{element:t(r,{name:"status/iconRetry"}),bg:"bg-color-warning-light"},title:"Что-то пошло не так",description:i(o,{children:["Обновите страницу или попробуйте ",t("br",{})," снова через 5 минут"]}),button:{text:"Обновить страницу"}},reject:{icon:{element:t(r,{name:"status/badSmile"}),bg:"bg-color-negative-light"},title:"Нам очень жаль",description:i(o,{children:["К сожалению, сейчас мы не можем ",t("br",{})," принять вашу заявку"]}),button:{text:"Вернуться на главную"}}});export{E as statusConfig};
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sources":["../../../../../lib/widgets/fallbacksView/model/helpers.tsx"],"sourcesContent":["import { type StatusConfig, type StatusVariant } from './types'\nimport { Icon } from '$/shared/ui'\n\nexport const statusConfig = (): Record<StatusVariant, StatusConfig> => {\n return {\n approve: {\n icon: {\n element: <Icon name='status/iconMark' />,\n bg: 'bg-color-positive-light'\n },\n title: 'Ваша заявка отправлена',\n description: (\n <>\n В ближайшее время с Вами свяжутся <br /> специалисты нашего Банка\n </>\n ),\n button: {\n text: 'Вернуться на главную'\n }\n },\n repeated: {\n icon: {\n element: <Icon name='status/iconUser' />,\n bg: 'bg-color-positive-light'\n },\n title: 'Мы вас узнали',\n description: (\n <>\n Решение по прошлой заявке ещё активно. <br />\n Возвращайтесь к нам позже\n </>\n ),\n button: {\n text: 'Вернуться на главную'\n }\n },\n error: {\n icon: {\n element: <Icon name='status/iconRetry' />,\n bg: 'bg-color-warning-light'\n },\n title: 'Что-то пошло не так',\n description: (\n <>\n Обновите страницу или попробуйте <br /> снова через 5 минут\n </>\n ),\n button: {\n text: 'Обновить страницу'\n }\n },\n reject: {\n icon: {\n element: <Icon name='status/badSmile' />,\n bg: 'bg-color-negative-light'\n },\n title: 'Нам очень жаль',\n description: (\n <>\n К сожалению, сейчас мы не можем <br /> принять вашу заявку\n </>\n ),\n button: {\n text: 'Вернуться на главную'\n }\n }\n }\n}\n"],"names":["statusConfig","jsx","Icon","jsxs","Fragment"],"mappings":"g6DAGO,MAAMA,EAAe,KACnB,CACL,QAAS,CACP,KAAM,CACJ,QAASC,EAACC,EAAA,CAAK,KAAK,iBAAA,CAAkB,EACtC,GAAI,yBAAA,EAEN,MAAO,yBACP,YACEC,EAAAC,EAAA,CAAE,SAAA,CAAA,uCACmC,KAAA,EAAG,EAAE,2BAAA,EAC1C,EAEF,OAAQ,CACN,KAAM,sBAAA,CACR,EAEF,SAAU,CACR,KAAM,CACJ,QAASH,EAACC,EAAA,CAAK,KAAK,iBAAA,CAAkB,EACtC,GAAI,yBAAA,EAEN,MAAO,gBACP,YACEC,EAAAC,EAAA,CAAE,SAAA,CAAA,4CACwC,KAAA,EAAG,EAAE,2BAAA,EAE/C,EAEF,OAAQ,CACN,KAAM,sBAAA,CACR,EAEF,MAAO,CACL,KAAM,CACJ,QAASH,EAACC,EAAA,CAAK,KAAK,kBAAA,CAAmB,EACvC,GAAI,wBAAA,EAEN,MAAO,sBACP,YACEC,EAAAC,EAAA,CAAE,SAAA,CAAA,sCACkC,KAAA,EAAG,EAAE,sBAAA,EACzC,EAEF,OAAQ,CACN,KAAM,mBAAA,CACR,EAEF,OAAQ,CACN,KAAM,CACJ,QAASH,EAACC,EAAA,CAAK,KAAK,iBAAA,CAAkB,EACtC,GAAI,yBAAA,EAEN,MAAO,iBACP,YACEC,EAAAC,EAAA,CAAE,SAAA,CAAA,qCACiC,KAAA,EAAG,EAAE,sBAAA,EACxC,EAEF,OAAQ,CACN,KAAM,sBAAA,CACR,CACF"}
1
+ {"version":3,"file":"helpers.js","sources":["../../../../../lib/widgets/fallbacksView/model/helpers.tsx"],"sourcesContent":["import { type StatusConfig, type StatusVariant } from './types'\nimport { Icon } from '$/shared/ui'\n\nexport const statusConfig = (): Record<StatusVariant, StatusConfig> => {\n return {\n approve: {\n icon: {\n element: <Icon name='status/iconMark' />,\n bg: 'bg-color-positive-light'\n },\n title: 'Ваша заявка отправлена',\n description: (\n <>\n В ближайшее время с Вами свяжутся <br /> специалисты нашего Банка\n </>\n ),\n button: {\n text: 'Вернуться на главную'\n }\n },\n repeated: {\n icon: {\n element: <Icon name='status/iconUser' />,\n bg: 'bg-color-positive-light'\n },\n title: 'Мы вас узнали',\n description: (\n <>\n Решение по прошлой заявке ещё активно. <br />\n Возвращайтесь к нам позже\n </>\n ),\n button: {\n text: 'Вернуться на главную'\n }\n },\n error: {\n icon: {\n element: <Icon name='status/iconRetry' />,\n bg: 'bg-color-warning-light'\n },\n title: 'Что-то пошло не так',\n description: (\n <>\n Обновите страницу или попробуйте <br /> снова через 5 минут\n </>\n ),\n button: {\n text: 'Обновить страницу'\n }\n },\n reject: {\n icon: {\n element: <Icon name='status/badSmile' />,\n bg: 'bg-color-negative-light'\n },\n title: 'Нам очень жаль',\n description: (\n <>\n К сожалению, сейчас мы не можем <br /> принять вашу заявку\n </>\n ),\n button: {\n text: 'Вернуться на главную'\n }\n }\n }\n}\n"],"names":["statusConfig","jsx","Icon","jsxs","Fragment"],"mappings":"q9DAGO,MAAMA,EAAe,KACnB,CACL,QAAS,CACP,KAAM,CACJ,QAASC,EAACC,EAAA,CAAK,KAAK,iBAAA,CAAkB,EACtC,GAAI,yBAAA,EAEN,MAAO,yBACP,YACEC,EAAAC,EAAA,CAAE,SAAA,CAAA,uCACmC,KAAA,EAAG,EAAE,2BAAA,EAC1C,EAEF,OAAQ,CACN,KAAM,sBAAA,CACR,EAEF,SAAU,CACR,KAAM,CACJ,QAASH,EAACC,EAAA,CAAK,KAAK,iBAAA,CAAkB,EACtC,GAAI,yBAAA,EAEN,MAAO,gBACP,YACEC,EAAAC,EAAA,CAAE,SAAA,CAAA,4CACwC,KAAA,EAAG,EAAE,2BAAA,EAE/C,EAEF,OAAQ,CACN,KAAM,sBAAA,CACR,EAEF,MAAO,CACL,KAAM,CACJ,QAASH,EAACC,EAAA,CAAK,KAAK,kBAAA,CAAmB,EACvC,GAAI,wBAAA,EAEN,MAAO,sBACP,YACEC,EAAAC,EAAA,CAAE,SAAA,CAAA,sCACkC,KAAA,EAAG,EAAE,sBAAA,EACzC,EAEF,OAAQ,CACN,KAAM,mBAAA,CACR,EAEF,OAAQ,CACN,KAAM,CACJ,QAASH,EAACC,EAAA,CAAK,KAAK,iBAAA,CAAkB,EACtC,GAAI,yBAAA,EAEN,MAAO,iBACP,YACEC,EAAAC,EAAA,CAAE,SAAA,CAAA,qCACiC,KAAA,EAAG,EAAE,sBAAA,EACxC,EAEF,OAAQ,CACN,KAAM,sBAAA,CACR,CACF"}
@@ -1,2 +1,2 @@
1
- import{createElement as i}from"react";import"react/jsx-runtime";import"../../shared/ui/button/Button.js";import"../../shared/ui/buttonIcon/ButtonIcon.js";import"../../shared/ui/calendar/Calendar.js";import"../../shared/ui/calendar/model/utils.js";import"../../shared/ui/accordion/Accordion.js";import"react-dom";import"../../shared/ui/modal/ui/IframeModalContent.js";import"../../../node_modules/react-hot-toast/dist/index.js";import"../../shared/ui/table/ui/primitives/Primitives.js";import"../../shared/ui/carousel/ui/CarouselContent.js";import"../../shared/ui/slot/Slot.js";import"../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../shared/ui/formElements/controlled/input/MaskInputControl.js";import{Controlled as n}from"../../shared/ui/formElements/controlled/index.js";import"../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";const L=({fields:m,control:p})=>m.map(({type:o,args:r})=>{const t=n[o];return t?i(t,{...r,key:r.name,control:p}):(console.warn(`Cannot find component for type ${o}, skip.`),null)});export{L as FieldMapper};
1
+ import{createElement as i}from"react";import"react/jsx-runtime";import"../../../node_modules/classnames/index.js";import"../../shared/ui/button/Button.js";import"../../shared/ui/buttonIcon/ButtonIcon.js";import"../../shared/ui/calendar/Calendar.js";import"../../shared/ui/calendar/model/utils.js";import"../../shared/ui/accordion/Accordion.js";import"react-dom";import"../../shared/ui/modal/ui/IframeModalContent.js";import"../../../node_modules/react-hot-toast/dist/index.js";import"../../shared/ui/table/ui/primitives/Primitives.js";import"../../shared/ui/carousel/ui/CarouselContent.js";import"../../shared/ui/slot/Slot.js";import"../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../shared/ui/formElements/controlled/input/MaskInputControl.js";import{Controlled as n}from"../../shared/ui/formElements/controlled/index.js";import"../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";const N=({fields:m,control:p})=>m.map(({type:o,args:r})=>{const t=n[o];return t?i(t,{...r,key:r.name,control:p}):(console.warn(`Cannot find component for type ${o}, skip.`),null)});export{N as FieldMapper};
2
2
  //# sourceMappingURL=FieldMapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FieldMapper.js","sources":["../../../../lib/widgets/fieldMapper/FieldMapper.tsx"],"sourcesContent":["import { type Control, type FieldValues } from 'react-hook-form'\nimport type { FieldElement } from './model/types'\nimport { Controlled } from '$/shared/ui'\n\ntype FieldMapperProps<TFieldValues extends FieldValues> = {\n control: Control<TFieldValues>\n fields: FieldElement<TFieldValues>[]\n}\n\nexport const FieldMapper = <TFieldValues extends FieldValues>({ fields, control }: FieldMapperProps<TFieldValues>) => {\n return fields.map(({ type, args }) => {\n const Component = Controlled[type] as React.ComponentType<typeof args>\n\n if (!Component) {\n console.warn(`Cannot find component for type ${type}, skip.`)\n return null\n }\n\n return <Component {...args} key={args.name} control={control as Control} />\n })\n}\n"],"names":["FieldMapper","fields","control","type","args","Component","Controlled"],"mappings":"w1DASO,MAAMA,EAAc,CAAmC,CAAE,OAAAC,EAAQ,QAAAC,KAC/DD,EAAO,IAAI,CAAC,CAAE,KAAAE,EAAM,KAAAC,KAAW,CACpC,MAAMC,EAAYC,EAAWH,CAAI,EAEjC,OAAKE,IAKGA,EAAA,CAAW,GAAGD,EAAM,IAAKA,EAAK,KAAM,QAAAF,EAA6B,GAJvE,QAAQ,KAAK,kCAAkCC,CAAI,SAAS,EACrD,KAIX,CAAC"}
1
+ {"version":3,"file":"FieldMapper.js","sources":["../../../../lib/widgets/fieldMapper/FieldMapper.tsx"],"sourcesContent":["import { type Control, type FieldValues } from 'react-hook-form'\nimport type { FieldElement } from './model/types'\nimport { Controlled } from '$/shared/ui'\n\ntype FieldMapperProps<TFieldValues extends FieldValues> = {\n control: Control<TFieldValues>\n fields: FieldElement<TFieldValues>[]\n}\n\nexport const FieldMapper = <TFieldValues extends FieldValues>({ fields, control }: FieldMapperProps<TFieldValues>) => {\n return fields.map(({ type, args }) => {\n const Component = Controlled[type] as React.ComponentType<typeof args>\n\n if (!Component) {\n console.warn(`Cannot find component for type ${type}, skip.`)\n return null\n }\n\n return <Component {...args} key={args.name} control={control as Control} />\n })\n}\n"],"names":["FieldMapper","fields","control","type","args","Component","Controlled"],"mappings":"04DASO,MAAMA,EAAc,CAAmC,CAAE,OAAAC,EAAQ,QAAAC,KAC/DD,EAAO,IAAI,CAAC,CAAE,KAAAE,EAAM,KAAAC,KAAW,CACpC,MAAMC,EAAYC,EAAWH,CAAI,EAEjC,OAAKE,IAKGA,EAAA,CAAW,GAAGD,EAAM,IAAKA,EAAK,KAAM,QAAAF,EAA6B,GAJvE,QAAQ,KAAK,kCAAkCC,CAAI,SAAS,EACrD,KAIX,CAAC"}
@@ -1,2 +1,2 @@
1
- import{jsx as t}from"react/jsx-runtime";import{ButtonWithHandlers as m}from"../../buttonWithHandlers/ButtonWithHandlers.js";import{createPhoneNumber as i}from"../../../shared/utils/createPhoneNumber.js";import"../../../shared/ui/button/Button.js";import"../../../shared/ui/buttonIcon/ButtonIcon.js";import{PhoneView as p}from"../../../shared/ui/phoneView/PhoneView.js";import"../../../shared/ui/calendar/Calendar.js";import"../../../shared/ui/calendar/model/utils.js";import"../../../shared/ui/accordion/Accordion.js";import"react";import"react-dom";import"../../../shared/ui/modal/ui/IframeModalContent.js";import"../../../../node_modules/react-hot-toast/dist/index.js";import"../../../shared/ui/table/ui/primitives/Primitives.js";import"../../../shared/ui/carousel/ui/CarouselContent.js";import"../../../shared/ui/slot/Slot.js";import"../../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";const J=({variant:o,details:r})=>{switch(o){case"withButton":return t(m,{...r});case"withPhone":return t(p,{classes:{root:"items-end"},...r,phone:i(r.phone)});default:return null}};export{J as renderContentVariant};
1
+ import{jsx as t}from"react/jsx-runtime";import{ButtonWithHandlers as m}from"../../buttonWithHandlers/ButtonWithHandlers.js";import{createPhoneNumber as i}from"../../../shared/utils/createPhoneNumber.js";import"../../../../node_modules/classnames/index.js";import"../../../shared/ui/button/Button.js";import"../../../shared/ui/buttonIcon/ButtonIcon.js";import{PhoneView as p}from"../../../shared/ui/phoneView/PhoneView.js";import"../../../shared/ui/calendar/Calendar.js";import"../../../shared/ui/calendar/model/utils.js";import"../../../shared/ui/accordion/Accordion.js";import"react";import"react-dom";import"../../../shared/ui/modal/ui/IframeModalContent.js";import"../../../../node_modules/react-hot-toast/dist/index.js";import"../../../shared/ui/table/ui/primitives/Primitives.js";import"../../../shared/ui/carousel/ui/CarouselContent.js";import"../../../shared/ui/slot/Slot.js";import"../../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";const K=({variant:o,details:r})=>{switch(o){case"withButton":return t(m,{...r});case"withPhone":return t(p,{classes:{root:"items-end"},...r,phone:i(r.phone)});default:return null}};export{K as renderContentVariant};
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sources":["../../../../../lib/widgets/header/model/helpers.tsx"],"sourcesContent":["import { ButtonWithHandlers } from '../../buttonWithHandlers'\nimport type { HeaderProps, HeaderVariantType } from './types'\nimport { PhoneView } from '$/shared/ui'\nimport { createPhoneNumber } from '$/shared/utils'\n\nexport const renderContentVariant = <Type extends HeaderVariantType>({ variant, details }: HeaderProps<Type>) => {\n switch (variant) {\n case 'withButton':\n return <ButtonWithHandlers {...details} />\n case 'withPhone':\n return <PhoneView classes={{ root: 'items-end' }} {...details} phone={createPhoneNumber(details.phone)} />\n default:\n return null\n }\n}\n"],"names":["renderContentVariant","variant","details","jsx","ButtonWithHandlers","PhoneView","createPhoneNumber"],"mappings":"0jEAKO,MAAMA,EAAuB,CAAiC,CAAE,QAAAC,EAAS,QAAAC,KAAiC,CAC/G,OAAQD,EAAA,CACN,IAAK,aACH,OAAOE,EAACC,EAAA,CAAoB,GAAGF,CAAA,CAAS,EAC1C,IAAK,YACH,OAAOC,EAACE,EAAA,CAAU,QAAS,CAAE,KAAM,WAAA,EAAgB,GAAGH,EAAS,MAAOI,EAAkBJ,EAAQ,KAAK,CAAA,CAAG,EAC1G,QACE,OAAO,IAAA,CAEb"}
1
+ {"version":3,"file":"helpers.js","sources":["../../../../../lib/widgets/header/model/helpers.tsx"],"sourcesContent":["import { ButtonWithHandlers } from '../../buttonWithHandlers'\nimport type { HeaderProps, HeaderVariantType } from './types'\nimport { PhoneView } from '$/shared/ui'\nimport { createPhoneNumber } from '$/shared/utils'\n\nexport const renderContentVariant = <Type extends HeaderVariantType>({ variant, details }: HeaderProps<Type>) => {\n switch (variant) {\n case 'withButton':\n return <ButtonWithHandlers {...details} />\n case 'withPhone':\n return <PhoneView classes={{ root: 'items-end' }} {...details} phone={createPhoneNumber(details.phone)} />\n default:\n return null\n }\n}\n"],"names":["renderContentVariant","variant","details","jsx","ButtonWithHandlers","PhoneView","createPhoneNumber"],"mappings":"+mEAKO,MAAMA,EAAuB,CAAiC,CAAE,QAAAC,EAAS,QAAAC,KAAiC,CAC/G,OAAQD,EAAA,CACN,IAAK,aACH,OAAOE,EAACC,EAAA,CAAoB,GAAGF,CAAA,CAAS,EAC1C,IAAK,YACH,OAAOC,EAACE,EAAA,CAAU,QAAS,CAAE,KAAM,WAAA,EAAgB,GAAGH,EAAS,MAAOI,EAAkBJ,EAAQ,KAAK,CAAA,CAAG,EAC1G,QACE,OAAO,IAAA,CAEb"}