@scbt-ecom/ui 0.152.5 → 0.153.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 (554) hide show
  1. package/dist/_virtual/_commonjsHelpers.js +2 -0
  2. package/dist/_virtual/_commonjsHelpers.js.map +1 -0
  3. package/dist/_virtual/index.js +2 -0
  4. package/dist/_virtual/index.js.map +1 -0
  5. package/dist/_virtual/index2.js +2 -0
  6. package/dist/_virtual/index2.js.map +1 -0
  7. package/dist/_virtual/preload-helper.js +1 -1
  8. package/dist/lib/configs/index.js +1 -1
  9. package/dist/lib/configs/tailwindConfigBase.js +1 -1
  10. package/dist/lib/configs/tailwindPresets/resetPreset.js +1 -1
  11. package/dist/lib/exports/config.js +1 -1
  12. package/dist/lib/exports/ui.js +1 -1
  13. package/dist/lib/exports/widget.js +1 -1
  14. package/dist/lib/shared/api/apiInstance.js +1 -1
  15. package/dist/lib/shared/api/apiInstance.js.map +1 -1
  16. package/dist/lib/shared/hocs/withBoundary/withBoundary.js +1 -1
  17. package/dist/lib/shared/hocs/withBoundary/withBoundary.js.map +1 -1
  18. package/dist/lib/shared/hooks/useClickOutside.js +1 -1
  19. package/dist/lib/shared/hooks/useClickOutside.js.map +1 -1
  20. package/dist/lib/shared/hooks/useClickOutsideMany.js +1 -1
  21. package/dist/lib/shared/hooks/useClickOutsideMany.js.map +1 -1
  22. package/dist/lib/shared/hooks/useFieldsProgress.js +1 -1
  23. package/dist/lib/shared/hooks/useFieldsProgress.js.map +1 -1
  24. package/dist/lib/shared/style.css +1 -1
  25. package/dist/lib/shared/ui/accordion/Accordion.js +1 -1
  26. package/dist/lib/shared/ui/accordion/Accordion.js.map +1 -1
  27. package/dist/lib/shared/ui/accordion/ui/AccordionHeader.js +1 -1
  28. package/dist/lib/shared/ui/accordion/ui/AccordionHeader.js.map +1 -1
  29. package/dist/lib/shared/ui/badge/Badge.js +1 -1
  30. package/dist/lib/shared/ui/badge/Badge.js.map +1 -1
  31. package/dist/lib/shared/ui/brandLogos/BrandLogos.js +1 -1
  32. package/dist/lib/shared/ui/brandLogos/BrandLogos.js.map +1 -1
  33. package/dist/lib/shared/ui/button/Button.js +1 -1
  34. package/dist/lib/shared/ui/button/Button.js.map +1 -1
  35. package/dist/lib/shared/ui/buttonIcon/ButtonIcon.js +1 -1
  36. package/dist/lib/shared/ui/buttonIcon/ButtonIcon.js.map +1 -1
  37. package/dist/lib/shared/ui/calendar/Calendar.js +1 -1
  38. package/dist/lib/shared/ui/calendar/Calendar.js.map +1 -1
  39. package/dist/lib/shared/ui/calendar/model/utils.js +1 -1
  40. package/dist/lib/shared/ui/calendar/model/utils.js.map +1 -1
  41. package/dist/lib/shared/ui/calendar/ui/Day.js +1 -1
  42. package/dist/lib/shared/ui/calendar/ui/Day.js.map +1 -1
  43. package/dist/lib/shared/ui/calendar/ui/DayButton.js +1 -1
  44. package/dist/lib/shared/ui/calendar/ui/DayButton.js.map +1 -1
  45. package/dist/lib/shared/ui/calendar/ui/MonthCaption.js +1 -1
  46. package/dist/lib/shared/ui/calendar/ui/MonthCaption.js.map +1 -1
  47. package/dist/lib/shared/ui/calendar/ui/Navigation.js +1 -1
  48. package/dist/lib/shared/ui/calendar/ui/Navigation.js.map +1 -1
  49. package/dist/lib/shared/ui/calendar/ui/Weekday.js +1 -1
  50. package/dist/lib/shared/ui/calendar/ui/Weekday.js.map +1 -1
  51. package/dist/lib/shared/ui/calendar/ui/selectDate/SelectDate.js +1 -1
  52. package/dist/lib/shared/ui/calendar/ui/selectDate/SelectDate.js.map +1 -1
  53. package/dist/lib/shared/ui/calendar/ui/selectDate/ui/SelectList.js +1 -1
  54. package/dist/lib/shared/ui/calendar/ui/selectDate/ui/SelectList.js.map +1 -1
  55. package/dist/lib/shared/ui/calendar/ui/selectDate/ui/Trigger.js +1 -1
  56. package/dist/lib/shared/ui/calendar/ui/selectDate/ui/Trigger.js.map +1 -1
  57. package/dist/lib/shared/ui/carousel/CarouselBase.js +1 -1
  58. package/dist/lib/shared/ui/carousel/CarouselBase.js.map +1 -1
  59. package/dist/lib/shared/ui/carousel/CarouselNative.js +1 -1
  60. package/dist/lib/shared/ui/carousel/CarouselNative.js.map +1 -1
  61. package/dist/lib/shared/ui/carousel/model/helpers.js +1 -1
  62. package/dist/lib/shared/ui/carousel/model/helpers.js.map +1 -1
  63. package/dist/lib/shared/ui/carousel/model/hooks/useCarousel.js +1 -1
  64. package/dist/lib/shared/ui/carousel/model/hooks/useCarousel.js.map +1 -1
  65. package/dist/lib/shared/ui/carousel/model/index.js +1 -1
  66. package/dist/lib/shared/ui/carousel/ui/ArrowNavigationButton.js +1 -1
  67. package/dist/lib/shared/ui/carousel/ui/ArrowNavigationButton.js.map +1 -1
  68. package/dist/lib/shared/ui/carousel/ui/CarouselContent.js +1 -1
  69. package/dist/lib/shared/ui/carousel/ui/CarouselContent.js.map +1 -1
  70. package/dist/lib/shared/ui/carousel/ui/CarouselSlide.js +1 -1
  71. package/dist/lib/shared/ui/carousel/ui/CarouselSlide.js.map +1 -1
  72. package/dist/lib/shared/ui/carousel/ui/ContainerWithNavigation.js +1 -1
  73. package/dist/lib/shared/ui/carousel/ui/ContainerWithNavigation.js.map +1 -1
  74. package/dist/lib/shared/ui/carousel/ui/DotsNavigations.js +1 -1
  75. package/dist/lib/shared/ui/carousel/ui/DotsNavigations.js.map +1 -1
  76. package/dist/lib/shared/ui/carousel/ui/index.js +1 -1
  77. package/dist/lib/shared/ui/carousel/ui/slideVariants/SlideFullScreen.js +1 -1
  78. package/dist/lib/shared/ui/carousel/ui/slideVariants/SlideFullScreen.js.map +1 -1
  79. package/dist/lib/shared/ui/carousel/ui/slideVariants/SlideOnlyImage.js +1 -1
  80. package/dist/lib/shared/ui/carousel/ui/slideVariants/SlideOnlyImage.js.map +1 -1
  81. package/dist/lib/shared/ui/carousel/ui/slideVariants/SlideProductCard.js +1 -1
  82. package/dist/lib/shared/ui/carousel/ui/slideVariants/SlideProductCard.js.map +1 -1
  83. package/dist/lib/shared/ui/chips/Chips.js +1 -1
  84. package/dist/lib/shared/ui/chips/Chips.js.map +1 -1
  85. package/dist/lib/shared/ui/customLink/CustomLink.js +1 -1
  86. package/dist/lib/shared/ui/customLink/CustomLink.js.map +1 -1
  87. package/dist/lib/shared/ui/dialog/Dialog.js +1 -1
  88. package/dist/lib/shared/ui/dialog/Dialog.js.map +1 -1
  89. package/dist/lib/shared/ui/divider/Divider.js +1 -1
  90. package/dist/lib/shared/ui/divider/Divider.js.map +1 -1
  91. package/dist/lib/shared/ui/dropdownList/DropdownList.js +1 -1
  92. package/dist/lib/shared/ui/dropdownList/DropdownList.js.map +1 -1
  93. package/dist/lib/shared/ui/dropdownList/hooks/useKeyboardNavigation.js +1 -1
  94. package/dist/lib/shared/ui/dropdownList/hooks/useKeyboardNavigation.js.map +1 -1
  95. package/dist/lib/shared/ui/dropdownList/index.js +1 -1
  96. package/dist/lib/shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js +1 -1
  97. package/dist/lib/shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js.map +1 -1
  98. package/dist/lib/shared/ui/dropdownList/ui/index.js +1 -1
  99. package/dist/lib/shared/ui/floatButton/FloatButton.js +1 -1
  100. package/dist/lib/shared/ui/floatButton/FloatButton.js.map +1 -1
  101. package/dist/lib/shared/ui/formElements/controlled/autocomplete/AutocompleteControl.js +1 -1
  102. package/dist/lib/shared/ui/formElements/controlled/autocomplete/AutocompleteControl.js.map +1 -1
  103. package/dist/lib/shared/ui/formElements/controlled/checkbox/CheckboxControl.js +1 -1
  104. package/dist/lib/shared/ui/formElements/controlled/checkbox/CheckboxControl.js.map +1 -1
  105. package/dist/lib/shared/ui/formElements/controlled/combobox/ComboboxControl.js +1 -1
  106. package/dist/lib/shared/ui/formElements/controlled/combobox/ComboboxControl.js.map +1 -1
  107. package/dist/lib/shared/ui/formElements/controlled/combobox/hooks/useComboboxControl.js +1 -1
  108. package/dist/lib/shared/ui/formElements/controlled/combobox/hooks/useComboboxControl.js.map +1 -1
  109. package/dist/lib/shared/ui/formElements/controlled/dadata/address/DadataAddress.js +1 -1
  110. package/dist/lib/shared/ui/formElements/controlled/dadata/address/DadataAddress.js.map +1 -1
  111. package/dist/lib/shared/ui/formElements/controlled/dadata/address/query.js +1 -1
  112. package/dist/lib/shared/ui/formElements/controlled/dadata/address/query.js.map +1 -1
  113. package/dist/lib/shared/ui/formElements/controlled/dadata/auto/DadataAuto.js +1 -1
  114. package/dist/lib/shared/ui/formElements/controlled/dadata/auto/DadataAuto.js.map +1 -1
  115. package/dist/lib/shared/ui/formElements/controlled/dadata/auto/query.js +1 -1
  116. package/dist/lib/shared/ui/formElements/controlled/dadata/auto/query.js.map +1 -1
  117. package/dist/lib/shared/ui/formElements/controlled/dadata/country/DadataCountry.js +1 -1
  118. package/dist/lib/shared/ui/formElements/controlled/dadata/country/DadataCountry.js.map +1 -1
  119. package/dist/lib/shared/ui/formElements/controlled/dadata/country/query.js +1 -1
  120. package/dist/lib/shared/ui/formElements/controlled/dadata/country/query.js.map +1 -1
  121. package/dist/lib/shared/ui/formElements/controlled/dadata/fio/DadataFio.js +1 -1
  122. package/dist/lib/shared/ui/formElements/controlled/dadata/fio/DadataFio.js.map +1 -1
  123. package/dist/lib/shared/ui/formElements/controlled/dadata/fio/query.js +1 -1
  124. package/dist/lib/shared/ui/formElements/controlled/dadata/fio/query.js.map +1 -1
  125. package/dist/lib/shared/ui/formElements/controlled/dadata/party/DadataOrganization.js +1 -1
  126. package/dist/lib/shared/ui/formElements/controlled/dadata/party/DadataOrganization.js.map +1 -1
  127. package/dist/lib/shared/ui/formElements/controlled/dadata/party/query.js +1 -1
  128. package/dist/lib/shared/ui/formElements/controlled/dadata/party/query.js.map +1 -1
  129. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/dayPickerControl.js +1 -1
  130. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/dayPickerControl.js.map +1 -1
  131. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/model/utils.js +1 -1
  132. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/model/utils.js.map +1 -1
  133. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/range.js +1 -1
  134. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/range.js.map +1 -1
  135. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/single.js +1 -1
  136. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/single.js.map +1 -1
  137. package/dist/lib/shared/ui/formElements/controlled/editor/model/extensions.js +1 -1
  138. package/dist/lib/shared/ui/formElements/controlled/editor/model/extensions.js.map +1 -1
  139. package/dist/lib/shared/ui/formElements/controlled/editor/model/helper.js +1 -1
  140. package/dist/lib/shared/ui/formElements/controlled/editor/model/helper.js.map +1 -1
  141. package/dist/lib/shared/ui/formElements/controlled/editor/ui/Editor.js +1 -1
  142. package/dist/lib/shared/ui/formElements/controlled/editor/ui/Editor.js.map +1 -1
  143. package/dist/lib/shared/ui/formElements/controlled/editor/ui/EditorModal.js +1 -1
  144. package/dist/lib/shared/ui/formElements/controlled/editor/ui/EditorModal.js.map +1 -1
  145. package/dist/lib/shared/ui/formElements/controlled/editor/ui/Toolbar.js +1 -1
  146. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetColor.js +1 -1
  147. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetColor.js.map +1 -1
  148. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetCoreCommands.js +1 -1
  149. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetCoreCommands.js.map +1 -1
  150. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetFontSize.js +1 -1
  151. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetFontSize.js.map +1 -1
  152. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetHardBreak.js +1 -1
  153. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetHardBreak.js.map +1 -1
  154. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetHeadings.js +1 -1
  155. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetHeadings.js.map +1 -1
  156. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/setCustomLink.js +1 -1
  157. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/setCustomLink.js.map +1 -1
  158. package/dist/lib/shared/ui/formElements/controlled/index.js +1 -1
  159. package/dist/lib/shared/ui/formElements/controlled/input/InputControl.js +1 -1
  160. package/dist/lib/shared/ui/formElements/controlled/input/InputControl.js.map +1 -1
  161. package/dist/lib/shared/ui/formElements/controlled/input/MaskInputControl.js +1 -1
  162. package/dist/lib/shared/ui/formElements/controlled/input/MaskInputControl.js.map +1 -1
  163. package/dist/lib/shared/ui/formElements/controlled/inputCurrency/InputCurrencyControl.js +1 -1
  164. package/dist/lib/shared/ui/formElements/controlled/inputCurrency/InputCurrencyControl.js.map +1 -1
  165. package/dist/lib/shared/ui/formElements/controlled/inputOtp/InputOtpControl.js +1 -1
  166. package/dist/lib/shared/ui/formElements/controlled/inputOtp/InputOtpControl.js.map +1 -1
  167. package/dist/lib/shared/ui/formElements/controlled/radio/RadioGroupCardControl.js +1 -1
  168. package/dist/lib/shared/ui/formElements/controlled/radio/RadioGroupCardControl.js.map +1 -1
  169. package/dist/lib/shared/ui/formElements/controlled/radio/RadioGroupControl.js +1 -1
  170. package/dist/lib/shared/ui/formElements/controlled/radio/RadioGroupControl.js.map +1 -1
  171. package/dist/lib/shared/ui/formElements/controlled/radio/RadioGroupTabControl.js +1 -1
  172. package/dist/lib/shared/ui/formElements/controlled/radio/RadioGroupTabControl.js.map +1 -1
  173. package/dist/lib/shared/ui/formElements/controlled/slider/SliderControl.js +1 -1
  174. package/dist/lib/shared/ui/formElements/controlled/slider/SliderControl.js.map +1 -1
  175. package/dist/lib/shared/ui/formElements/controlled/switch/SwitchControl.js +1 -1
  176. package/dist/lib/shared/ui/formElements/controlled/switch/SwitchControl.js.map +1 -1
  177. package/dist/lib/shared/ui/formElements/controlled/textarea/TextareaControl.js +1 -1
  178. package/dist/lib/shared/ui/formElements/controlled/textarea/TextareaControl.js.map +1 -1
  179. package/dist/lib/shared/ui/formElements/controlled/uploader/UploaderControl.js +1 -1
  180. package/dist/lib/shared/ui/formElements/controlled/uploader/UploaderControl.js.map +1 -1
  181. package/dist/lib/shared/ui/formElements/index.js +1 -1
  182. package/dist/lib/shared/ui/formElements/ui/MessageView.js +1 -1
  183. package/dist/lib/shared/ui/formElements/ui/MessageView.js.map +1 -1
  184. package/dist/lib/shared/ui/formElements/ui/fieldAttachment/FieldAttachment.js +1 -1
  185. package/dist/lib/shared/ui/formElements/ui/fieldAttachment/FieldAttachment.js.map +1 -1
  186. package/dist/lib/shared/ui/formElements/ui/fieldAttachment/ui/IconSlot.js +1 -1
  187. package/dist/lib/shared/ui/formElements/ui/fieldAttachment/ui/IconSlot.js.map +1 -1
  188. package/dist/lib/shared/ui/formElements/ui/fieldAttachment/ui/ValidateSlot.js +1 -1
  189. package/dist/lib/shared/ui/formElements/ui/fieldAttachment/ui/ValidateSlot.js.map +1 -1
  190. package/dist/lib/shared/ui/formElements/ui/index.js +1 -1
  191. package/dist/lib/shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js +1 -1
  192. package/dist/lib/shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js.map +1 -1
  193. package/dist/lib/shared/ui/formElements/uncontrolled/checkbox/Checkbox.js +1 -1
  194. package/dist/lib/shared/ui/formElements/uncontrolled/checkbox/Checkbox.js.map +1 -1
  195. package/dist/lib/shared/ui/formElements/uncontrolled/combobox/combobox.js +1 -1
  196. package/dist/lib/shared/ui/formElements/uncontrolled/combobox/combobox.js.map +1 -1
  197. package/dist/lib/shared/ui/formElements/uncontrolled/combobox/hooks/useCombobox.js +1 -1
  198. package/dist/lib/shared/ui/formElements/uncontrolled/combobox/hooks/useCombobox.js.map +1 -1
  199. package/dist/lib/shared/ui/formElements/uncontrolled/combobox/model/utils.js +1 -1
  200. package/dist/lib/shared/ui/formElements/uncontrolled/combobox/model/utils.js.map +1 -1
  201. package/dist/lib/shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js +1 -1
  202. package/dist/lib/shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js.map +1 -1
  203. package/dist/lib/shared/ui/formElements/uncontrolled/index.js +1 -1
  204. package/dist/lib/shared/ui/formElements/uncontrolled/index.js.map +1 -1
  205. package/dist/lib/shared/ui/formElements/uncontrolled/input/Input.js +1 -1
  206. package/dist/lib/shared/ui/formElements/uncontrolled/input/Input.js.map +1 -1
  207. package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js +1 -1
  208. package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js.map +1 -1
  209. package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/ui/CurrencyIcon.js +1 -1
  210. package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/ui/CurrencyIcon.js.map +1 -1
  211. package/dist/lib/shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js +1 -1
  212. package/dist/lib/shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js.map +1 -1
  213. package/dist/lib/shared/ui/formElements/uncontrolled/inputOtp/ui/InputOtpSlot.js +1 -1
  214. package/dist/lib/shared/ui/formElements/uncontrolled/inputOtp/ui/InputOtpSlot.js.map +1 -1
  215. package/dist/lib/shared/ui/formElements/uncontrolled/maskInput/MaskInput.js +1 -1
  216. package/dist/lib/shared/ui/formElements/uncontrolled/maskInput/MaskInput.js.map +1 -1
  217. package/dist/lib/shared/ui/formElements/uncontrolled/radio/RadioGroup.js +1 -1
  218. package/dist/lib/shared/ui/formElements/uncontrolled/radio/RadioGroup.js.map +1 -1
  219. package/dist/lib/shared/ui/formElements/uncontrolled/radio/ui/AdditionalContent.js +1 -1
  220. package/dist/lib/shared/ui/formElements/uncontrolled/radio/ui/AdditionalContent.js.map +1 -1
  221. package/dist/lib/shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js +1 -1
  222. package/dist/lib/shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js.map +1 -1
  223. package/dist/lib/shared/ui/formElements/uncontrolled/radio/ui/RadioItemCard.js +1 -1
  224. package/dist/lib/shared/ui/formElements/uncontrolled/radio/ui/RadioItemCard.js.map +1 -1
  225. package/dist/lib/shared/ui/formElements/uncontrolled/radio/ui/RadioItemTab.js +1 -1
  226. package/dist/lib/shared/ui/formElements/uncontrolled/radio/ui/RadioItemTab.js.map +1 -1
  227. package/dist/lib/shared/ui/formElements/uncontrolled/slider/SliderBase.js +1 -1
  228. package/dist/lib/shared/ui/formElements/uncontrolled/slider/model/helpers/getInputSliderSuffix.js +1 -1
  229. package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/Slider.js +1 -1
  230. package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/Slider.js.map +1 -1
  231. package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderAlgorithmic/SliderAlgorithmic.js +1 -1
  232. package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderAlgorithmic/SliderAlgorithmic.js.map +1 -1
  233. package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/SliderMarks.js +1 -1
  234. package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/SliderMarks.js.map +1 -1
  235. package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/hooks/useSliderMarks.js +1 -1
  236. package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/hooks/useSliderMarks.js.map +1 -1
  237. package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/SliderStep.js +1 -1
  238. package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/SliderStep.js.map +1 -1
  239. package/dist/lib/shared/ui/formElements/uncontrolled/switch/Switch.js +1 -1
  240. package/dist/lib/shared/ui/formElements/uncontrolled/switch/Switch.js.map +1 -1
  241. package/dist/lib/shared/ui/formElements/uncontrolled/textarea/Textarea.js +1 -1
  242. package/dist/lib/shared/ui/formElements/uncontrolled/textarea/Textarea.js.map +1 -1
  243. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/UploaderBase.js +1 -1
  244. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/UploaderBase.js.map +1 -1
  245. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/model/hooks/useUploader.js +1 -1
  246. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/model/hooks/useUploader.js.map +1 -1
  247. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFile.js +1 -1
  248. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFile.js.map +1 -1
  249. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFilename.js +1 -1
  250. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFilename.js.map +1 -1
  251. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFiles.js +1 -1
  252. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFiles.js.map +1 -1
  253. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderInput.js +1 -1
  254. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderInput.js.map +1 -1
  255. package/dist/lib/shared/ui/heading/Heading.js +1 -1
  256. package/dist/lib/shared/ui/heading/Heading.js.map +1 -1
  257. package/dist/lib/shared/ui/hint/Hint.js +1 -1
  258. package/dist/lib/shared/ui/hint/Hint.js.map +1 -1
  259. package/dist/lib/shared/ui/index.js +1 -1
  260. package/dist/lib/shared/ui/keyboardShortcuts/KeyboardShortcuts.js +1 -1
  261. package/dist/lib/shared/ui/keyboardShortcuts/KeyboardShortcuts.js.map +1 -1
  262. package/dist/lib/shared/ui/loader/Loader.js +1 -1
  263. package/dist/lib/shared/ui/loader/Loader.js.map +1 -1
  264. package/dist/lib/shared/ui/modal/Modal.js +1 -1
  265. package/dist/lib/shared/ui/modal/Modal.js.map +1 -1
  266. package/dist/lib/shared/ui/modal/ui/IframeModalContent.js +1 -1
  267. package/dist/lib/shared/ui/modal/ui/IframeModalContent.js.map +1 -1
  268. package/dist/lib/shared/ui/modal/ui/ModalHeader.js +1 -1
  269. package/dist/lib/shared/ui/modal/ui/ModalHeader.js.map +1 -1
  270. package/dist/lib/shared/ui/notification/ui/CustomToast.js +1 -1
  271. package/dist/lib/shared/ui/notification/ui/CustomToast.js.map +1 -1
  272. package/dist/lib/shared/ui/pagination/Pagination.js +1 -1
  273. package/dist/lib/shared/ui/pagination/Pagination.js.map +1 -1
  274. package/dist/lib/shared/ui/phoneView/PhoneView.js +1 -1
  275. package/dist/lib/shared/ui/phoneView/PhoneView.js.map +1 -1
  276. package/dist/lib/shared/ui/popover/Popover.js +1 -1
  277. package/dist/lib/shared/ui/popover/Popover.js.map +1 -1
  278. package/dist/lib/shared/ui/progressBar/ProgressBar.js +1 -1
  279. package/dist/lib/shared/ui/progressBar/ProgressBar.js.map +1 -1
  280. package/dist/lib/shared/ui/responsiveContainer/ResponsiveContainer.js +1 -1
  281. package/dist/lib/shared/ui/responsiveContainer/ResponsiveContainer.js.map +1 -1
  282. package/dist/lib/shared/ui/skeleton/Skeleton.js +1 -1
  283. package/dist/lib/shared/ui/skeleton/Skeleton.js.map +1 -1
  284. package/dist/lib/shared/ui/slot/model/getElementRef.js +1 -1
  285. package/dist/lib/shared/ui/slot/model/getElementRef.js.map +1 -1
  286. package/dist/lib/shared/ui/slot/model/isSlottable.js +1 -1
  287. package/dist/lib/shared/ui/slot/model/isSlottable.js.map +1 -1
  288. package/dist/lib/shared/ui/slot/ui/SlotClone.js +1 -1
  289. package/dist/lib/shared/ui/slot/ui/SlotClone.js.map +1 -1
  290. package/dist/lib/shared/ui/tabSwitcher/TabsSwitcher.js +1 -1
  291. package/dist/lib/shared/ui/tabSwitcher/TabsSwitcher.js.map +1 -1
  292. package/dist/lib/shared/ui/tabSwitcher/ui/TabContent.js +1 -1
  293. package/dist/lib/shared/ui/tabSwitcher/ui/TabContent.js.map +1 -1
  294. package/dist/lib/shared/ui/table/Desktop.js +1 -1
  295. package/dist/lib/shared/ui/table/Desktop.js.map +1 -1
  296. package/dist/lib/shared/ui/table/Horizontal.js +1 -1
  297. package/dist/lib/shared/ui/table/Horizontal.js.map +1 -1
  298. package/dist/lib/shared/ui/table/Mobile.js +1 -1
  299. package/dist/lib/shared/ui/table/Mobile.js.map +1 -1
  300. package/dist/lib/shared/ui/table/Table.js +1 -1
  301. package/dist/lib/shared/ui/table/Table.js.map +1 -1
  302. package/dist/lib/shared/ui/table/TablePagination.js +1 -1
  303. package/dist/lib/shared/ui/table/TablePagination.js.map +1 -1
  304. package/dist/lib/shared/ui/table/index.js +1 -1
  305. package/dist/lib/shared/ui/table/model/TableUtils.js +1 -1
  306. package/dist/lib/shared/ui/table/model/TableUtils.js.map +1 -1
  307. package/dist/lib/shared/ui/table/ui/dataTableColumnHeader/DataTableColumnHeader.js +1 -1
  308. package/dist/lib/shared/ui/table/ui/dataTableColumnHeader/DataTableColumnHeader.js.map +1 -1
  309. package/dist/lib/shared/ui/table/ui/editableCell/EditableCell.js +1 -1
  310. package/dist/lib/shared/ui/table/ui/editableCell/EditableCell.js.map +1 -1
  311. package/dist/lib/shared/utils/cn.js +1 -1
  312. package/dist/lib/shared/utils/cn.js.map +1 -1
  313. package/dist/lib/shared/utils/variableHolder/variableContextHolder.js +1 -1
  314. package/dist/lib/shared/utils/variableHolder/variableContextHolder.js.map +1 -1
  315. package/dist/lib/shared/utils-tailwind.css +1 -1
  316. package/dist/lib/shared/validation/base/base.constants.js +1 -1
  317. package/dist/lib/shared/validation/base/base.constants.js.map +1 -1
  318. package/dist/lib/shared/validation/base/currency.validators.js +1 -1
  319. package/dist/lib/shared/validation/base/currency.validators.js.map +1 -1
  320. package/dist/lib/shared/validation/base/date.validators.js +1 -1
  321. package/dist/lib/shared/validation/base/date.validators.js.map +1 -1
  322. package/dist/lib/shared/validation/base/email.validators.js +1 -1
  323. package/dist/lib/shared/validation/base/email.validators.js.map +1 -1
  324. package/dist/lib/shared/validation/base/number.validators.js +1 -1
  325. package/dist/lib/shared/validation/base/number.validators.js.map +1 -1
  326. package/dist/lib/shared/validation/base/passport.validators.js +1 -1
  327. package/dist/lib/shared/validation/base/passport.validators.js.map +1 -1
  328. package/dist/lib/shared/validation/base/passportDepartment.validators.js +1 -1
  329. package/dist/lib/shared/validation/base/passportDepartment.validators.js.map +1 -1
  330. package/dist/lib/shared/validation/base/phone.validators.js +1 -1
  331. package/dist/lib/shared/validation/base/phone.validators.js.map +1 -1
  332. package/dist/lib/shared/validation/base/regex.validators.js +1 -1
  333. package/dist/lib/shared/validation/base/regex.validators.js.map +1 -1
  334. package/dist/lib/shared/validation/base/select.validators.js +1 -1
  335. package/dist/lib/shared/validation/base/select.validators.js.map +1 -1
  336. package/dist/lib/shared/validation/base/string.validators.js +1 -1
  337. package/dist/lib/shared/validation/base/string.validators.js.map +1 -1
  338. package/dist/lib/shared/validation/base/url.validators.js +1 -1
  339. package/dist/lib/shared/validation/base/url.validators.js.map +1 -1
  340. package/dist/lib/shared/validation/dadata/fio.validators.js +1 -1
  341. package/dist/lib/shared/validation/dadata/fio.validators.js.map +1 -1
  342. package/dist/lib/shared/validation/index.js +1 -1
  343. package/dist/lib/shared/validation/zodValidation/calendar.js +1 -1
  344. package/dist/lib/shared/validation/zodValidation/calendar.js.map +1 -1
  345. package/dist/lib/shared/validation/zodValidation/dadataFio.js +1 -1
  346. package/dist/lib/shared/validation/zodValidation/dadataFio.js.map +1 -1
  347. package/dist/lib/widgets/authProvider/AuthProvider.js +1 -1
  348. package/dist/lib/widgets/authProvider/AuthProvider.js.map +1 -1
  349. package/dist/lib/widgets/authProvider/ui/Esia.js +1 -1
  350. package/dist/lib/widgets/authProvider/ui/Esia.js.map +1 -1
  351. package/dist/lib/widgets/authProvider/ui/MobileId.js +1 -1
  352. package/dist/lib/widgets/authProvider/ui/MobileId.js.map +1 -1
  353. package/dist/lib/widgets/authProvider/ui/ui/AuthWrapper.js +1 -1
  354. package/dist/lib/widgets/authProvider/ui/ui/AuthWrapper.js.map +1 -1
  355. package/dist/lib/widgets/authProvider/ui/ui/Links.js +1 -1
  356. package/dist/lib/widgets/authProvider/ui/ui/Links.js.map +1 -1
  357. package/dist/lib/widgets/banner/Banner.js +1 -1
  358. package/dist/lib/widgets/banner/index.js +1 -1
  359. package/dist/lib/widgets/banner/ui/banners/BannerImageFull.js +1 -1
  360. package/dist/lib/widgets/banner/ui/banners/BannerImageFull.js.map +1 -1
  361. package/dist/lib/widgets/banner/ui/banners/BannerWithSeparateImg.js +1 -1
  362. package/dist/lib/widgets/banner/ui/banners/BannerWithSeparateImg.js.map +1 -1
  363. package/dist/lib/widgets/banner/ui/banners/ui/Advantages.js +1 -1
  364. package/dist/lib/widgets/banner/ui/banners/ui/Advantages.js.map +1 -1
  365. package/dist/lib/widgets/banner/ui/banners/ui/Buttons.js +1 -1
  366. package/dist/lib/widgets/banner/ui/banners/ui/Buttons.js.map +1 -1
  367. package/dist/lib/widgets/banner/ui/index.js +1 -1
  368. package/dist/lib/widgets/benefit/Benefit.js +1 -1
  369. package/dist/lib/widgets/benefit/Benefit.js.map +1 -1
  370. package/dist/lib/widgets/benefit/ui/BenefitItem.js +1 -1
  371. package/dist/lib/widgets/benefit/ui/BenefitItem.js.map +1 -1
  372. package/dist/lib/widgets/breadcrumbs/Breadcrumb.js +1 -1
  373. package/dist/lib/widgets/breadcrumbs/Breadcrumb.js.map +1 -1
  374. package/dist/lib/widgets/breadcrumbs/Breadcrumbs.js +1 -1
  375. package/dist/lib/widgets/breadcrumbs/Breadcrumbs.js.map +1 -1
  376. package/dist/lib/widgets/buttonWithHandlers/ButtonWithHandlers.js +1 -1
  377. package/dist/lib/widgets/buttonWithHandlers/ButtonWithHandlers.js.map +1 -1
  378. package/dist/lib/widgets/buttonWithHandlers/model/useButtonHandler.js +1 -1
  379. package/dist/lib/widgets/buttonWithHandlers/model/useButtonHandler.js.map +1 -1
  380. package/dist/lib/widgets/calculator/Calculator.js +1 -1
  381. package/dist/lib/widgets/calculator/Calculator.js.map +1 -1
  382. package/dist/lib/widgets/calculator/CalculatorView.js +1 -1
  383. package/dist/lib/widgets/calculator/CalculatorView.js.map +1 -1
  384. package/dist/lib/widgets/calculator/model/helpers.js +1 -1
  385. package/dist/lib/widgets/calculator/model/helpers.js.map +1 -1
  386. package/dist/lib/widgets/calculator/ui/CalculatorTabs.js +1 -1
  387. package/dist/lib/widgets/calculator/ui/CalculatorTabs.js.map +1 -1
  388. package/dist/lib/widgets/calculator/ui/calculatorFields/CalculatorFields.js +1 -1
  389. package/dist/lib/widgets/calculator/ui/calculatorFields/CalculatorFields.js.map +1 -1
  390. package/dist/lib/widgets/calculator/ui/calculatorFields/hooks/useAdditionalSlider.js +1 -1
  391. package/dist/lib/widgets/calculator/ui/calculatorFields/hooks/useAdditionalSlider.js.map +1 -1
  392. package/dist/lib/widgets/calculator/ui/calculatorFields/ui/AdditionalSlider.js +1 -1
  393. package/dist/lib/widgets/calculator/ui/calculatorFields/ui/AdditionalSlider.js.map +1 -1
  394. package/dist/lib/widgets/calculator/ui/calculatorFields/ui/CalculatorModal.js +1 -1
  395. package/dist/lib/widgets/calculator/ui/calculatorFields/ui/CalculatorModal.js.map +1 -1
  396. package/dist/lib/widgets/calculator/ui/calculatorFields/ui/SliderFieldsGroup.js +1 -1
  397. package/dist/lib/widgets/calculator/ui/calculatorFields/ui/SliderFieldsGroup.js.map +1 -1
  398. package/dist/lib/widgets/calculator/ui/calculatorInfo/CalculatorInfo.js +1 -1
  399. package/dist/lib/widgets/calculator/ui/calculatorInfo/CalculatorInfo.js.map +1 -1
  400. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/AssistHint.js +1 -1
  401. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/AssistHint.js.map +1 -1
  402. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatedBlock.js +1 -1
  403. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatedBlock.js.map +1 -1
  404. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoBody.js +1 -1
  405. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoBody.js.map +1 -1
  406. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoFooter.js +1 -1
  407. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoFooter.js.map +1 -1
  408. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoHead.js +1 -1
  409. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoHead.js.map +1 -1
  410. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/InfoListItem.js +1 -1
  411. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/InfoListItem.js.map +1 -1
  412. package/dist/lib/widgets/calculator/ui/index.js +1 -1
  413. package/dist/lib/widgets/conditionBlock/ConditionBlock.js +1 -1
  414. package/dist/lib/widgets/conditionBlock/ConditionBlock.js.map +1 -1
  415. package/dist/lib/widgets/conditionBlock/ui/ConditionsWithCTA.js +1 -1
  416. package/dist/lib/widgets/conditionBlock/ui/ConditionsWithCTA.js.map +1 -1
  417. package/dist/lib/widgets/conditionBlock/ui/SingleCondition.js +1 -1
  418. package/dist/lib/widgets/conditionBlock/ui/SingleCondition.js.map +1 -1
  419. package/dist/lib/widgets/dynamicForm/DynamicForm.js +1 -1
  420. package/dist/lib/widgets/dynamicForm/DynamicForm.js.map +1 -1
  421. package/dist/lib/widgets/dynamicForm/model/helpers.js +1 -1
  422. package/dist/lib/widgets/dynamicForm/model/helpers.js.map +1 -1
  423. package/dist/lib/widgets/dynamicFormDialog/DynamicFormDialog.js +1 -1
  424. package/dist/lib/widgets/dynamicFormDialog/DynamicFormDialog.js.map +1 -1
  425. package/dist/lib/widgets/errorPage/ErrorPage.js +1 -1
  426. package/dist/lib/widgets/errorPage/ErrorPage.js.map +1 -1
  427. package/dist/lib/widgets/fallbacksView/FallbacksView.js +1 -1
  428. package/dist/lib/widgets/fallbacksView/FallbacksView.js.map +1 -1
  429. package/dist/lib/widgets/fallbacksView/model/helpers.js +1 -1
  430. package/dist/lib/widgets/fallbacksView/model/helpers.js.map +1 -1
  431. package/dist/lib/widgets/fieldMapper/FieldMapper.js +1 -1
  432. package/dist/lib/widgets/fieldMapper/FieldMapper.js.map +1 -1
  433. package/dist/lib/widgets/footer/Footer.js +1 -1
  434. package/dist/lib/widgets/footer/Footer.js.map +1 -1
  435. package/dist/lib/widgets/footer/ui/Copyright.js +1 -1
  436. package/dist/lib/widgets/footer/ui/Copyright.js.map +1 -1
  437. package/dist/lib/widgets/footer/ui/FooterLogo.js +1 -1
  438. package/dist/lib/widgets/footer/ui/FooterLogo.js.map +1 -1
  439. package/dist/lib/widgets/footer/ui/Ligal.js +1 -1
  440. package/dist/lib/widgets/footer/ui/Ligal.js.map +1 -1
  441. package/dist/lib/widgets/footer/ui/NavLinks.js +1 -1
  442. package/dist/lib/widgets/footer/ui/NavLinks.js.map +1 -1
  443. package/dist/lib/widgets/footer/ui/PhonesBlock.js +1 -1
  444. package/dist/lib/widgets/footer/ui/PhonesBlock.js.map +1 -1
  445. package/dist/lib/widgets/footer/ui/SiteMap.js +1 -1
  446. package/dist/lib/widgets/footer/ui/SiteMap.js.map +1 -1
  447. package/dist/lib/widgets/footer/ui/SocialLinks.js +1 -1
  448. package/dist/lib/widgets/footer/ui/SocialLinks.js.map +1 -1
  449. package/dist/lib/widgets/header/Header.js +1 -1
  450. package/dist/lib/widgets/header/Header.js.map +1 -1
  451. package/dist/lib/widgets/header/model/helpers.js +1 -1
  452. package/dist/lib/widgets/header/model/helpers.js.map +1 -1
  453. package/dist/lib/widgets/htmlParser/baseHtmlParser.js +1 -1
  454. package/dist/lib/widgets/htmlParser/baseHtmlParser.js.map +1 -1
  455. package/dist/lib/widgets/htmlParser/reactHtmlParser.js +1 -1
  456. package/dist/lib/widgets/htmlParser/reactHtmlParser.js.map +1 -1
  457. package/dist/lib/widgets/index.js +1 -1
  458. package/dist/lib/widgets/infoBlock/InfoBlock.js +1 -1
  459. package/dist/lib/widgets/infoBlock/InfoBlock.js.map +1 -1
  460. package/dist/lib/widgets/infoBlock/ui/LinksList.js +1 -1
  461. package/dist/lib/widgets/infoBlock/ui/LinksList.js.map +1 -1
  462. package/dist/lib/widgets/infoBlock/ui/RootContent.js +1 -1
  463. package/dist/lib/widgets/infoBlock/ui/RootContent.js.map +1 -1
  464. package/dist/lib/widgets/interLinking/InterLinking.js +1 -1
  465. package/dist/lib/widgets/interLinking/InterLinking.js.map +1 -1
  466. package/dist/lib/widgets/interLinking/ui/Column.js +1 -1
  467. package/dist/lib/widgets/interLinking/ui/Column.js.map +1 -1
  468. package/dist/lib/widgets/interLinking/ui/ColumnGroup.js +1 -1
  469. package/dist/lib/widgets/interLinking/ui/ColumnGroup.js.map +1 -1
  470. package/dist/lib/widgets/interLinking/ui/LinksList.js +1 -1
  471. package/dist/lib/widgets/interLinking/ui/LinksList.js.map +1 -1
  472. package/dist/lib/widgets/longBanner/LongBanner.js +1 -1
  473. package/dist/lib/widgets/longBanner/LongBanner.js.map +1 -1
  474. package/dist/lib/widgets/longBanner/ui/TextItem.js +1 -1
  475. package/dist/lib/widgets/longBanner/ui/TextItem.js.map +1 -1
  476. package/dist/lib/widgets/longBanner/ui/TextList.js +1 -1
  477. package/dist/lib/widgets/longBanner/ui/TextList.js.map +1 -1
  478. package/dist/lib/widgets/longBanner/ui/Title.js +1 -1
  479. package/dist/lib/widgets/longBanner/ui/Title.js.map +1 -1
  480. package/dist/lib/widgets/model/helpers.js +2 -2
  481. package/dist/lib/widgets/model/helpers.js.map +1 -1
  482. package/dist/lib/widgets/seoHeader/SeoHeader.js +1 -1
  483. package/dist/lib/widgets/seoHeader/SeoHeader.js.map +1 -1
  484. package/dist/lib/widgets/seoHeader/ui/desktop/CategoriesDesktop.js +1 -1
  485. package/dist/lib/widgets/seoHeader/ui/desktop/CategoriesDesktop.js.map +1 -1
  486. package/dist/lib/widgets/seoHeader/ui/desktop/CategoryTabs.js +1 -1
  487. package/dist/lib/widgets/seoHeader/ui/desktop/CategoryTabs.js.map +1 -1
  488. package/dist/lib/widgets/seoHeader/ui/desktop/rootTab/RootTab.js +1 -1
  489. package/dist/lib/widgets/seoHeader/ui/desktop/rootTab/RootTab.js.map +1 -1
  490. package/dist/lib/widgets/seoHeader/ui/desktop/tab/Tab.js +1 -1
  491. package/dist/lib/widgets/seoHeader/ui/desktop/tab/Tab.js.map +1 -1
  492. package/dist/lib/widgets/seoHeader/ui/desktop/tab/ui/content/TabContent.js +1 -1
  493. package/dist/lib/widgets/seoHeader/ui/desktop/tab/ui/content/TabContent.js.map +1 -1
  494. package/dist/lib/widgets/seoHeader/ui/mobile/CategoriesMobile.js +1 -1
  495. package/dist/lib/widgets/seoHeader/ui/mobile/CategoriesMobile.js.map +1 -1
  496. package/dist/lib/widgets/seoHeader/ui/mobile/menu/Menu.js +1 -1
  497. package/dist/lib/widgets/seoHeader/ui/mobile/menu/Menu.js.map +1 -1
  498. package/dist/lib/widgets/seoHeader/ui/mobile/menu/MenuItem.js +1 -1
  499. package/dist/lib/widgets/seoHeader/ui/mobile/menu/MenuItem.js.map +1 -1
  500. package/dist/lib/widgets/stepper/Stepper.js +1 -1
  501. package/dist/lib/widgets/stepper/Stepper.js.map +1 -1
  502. package/dist/lib/widgets/stepper/ui/SingleStep.js +1 -1
  503. package/dist/lib/widgets/stepper/ui/SingleStep.js.map +1 -1
  504. package/dist/lib/widgets/stepper/ui/StepperCarousel.js +1 -1
  505. package/dist/lib/widgets/stepper/ui/StepperCarousel.js.map +1 -1
  506. package/dist/lib/widgets/stepper/ui/StepperTabs.js +1 -1
  507. package/dist/lib/widgets/stepper/ui/StepperTabs.js.map +1 -1
  508. package/dist/lib/widgets/table/InfoTable.js +1 -1
  509. package/dist/lib/widgets/table/InfoTable.js.map +1 -1
  510. package/dist/lib/widgets/table/model/utils.js +1 -1
  511. package/dist/lib/widgets/table/model/utils.js.map +1 -1
  512. package/dist/lib/widgets/usefulInfo/UsefulInfo.js +1 -1
  513. package/dist/lib/widgets/usefulInfo/UsefulInfo.js.map +1 -1
  514. package/dist/lib/widgets/usefulInfo/ui/RenderEntity.js +1 -1
  515. package/dist/lib/widgets/usefulInfo/ui/RenderEntity.js.map +1 -1
  516. package/dist/lib/widgets/usefulInfo/ui/Tabs.js +1 -1
  517. package/dist/lib/widgets/usefulInfo/ui/Tabs.js.map +1 -1
  518. package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/Documents.js +1 -1
  519. package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/Documents.js.map +1 -1
  520. package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/ui/document/Document.js +1 -1
  521. package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/ui/document/Document.js.map +1 -1
  522. package/dist/lib/widgets/usefulInfo/ui/subEntities/experts/Experts.js +1 -1
  523. package/dist/lib/widgets/usefulInfo/ui/subEntities/experts/Experts.js.map +1 -1
  524. package/dist/lib/widgets/usefulInfo/ui/subEntities/experts/ui/ExpertCard.js +1 -1
  525. package/dist/lib/widgets/usefulInfo/ui/subEntities/experts/ui/ExpertCard.js.map +1 -1
  526. package/dist/lib/widgets/usefulInfo/ui/subEntities/html/Html.js +1 -1
  527. package/dist/lib/widgets/usefulInfo/ui/subEntities/html/Html.js.map +1 -1
  528. package/dist/lib/widgets/usefulInfo/ui/subEntities/table/Table.js +1 -1
  529. package/dist/lib/widgets/usefulInfo/ui/subEntities/table/Table.js.map +1 -1
  530. package/dist/lib/widgets/usefulInfo/ui/subEntities/table/model/utils.js +1 -1
  531. package/dist/lib/widgets/usefulInfo/ui/subEntities/table/model/utils.js.map +1 -1
  532. package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/DesktopHeadings.js +1 -1
  533. package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/DesktopHeadings.js.map +1 -1
  534. package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/DesktopRow.js +1 -1
  535. package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/DesktopRow.js.map +1 -1
  536. package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/MobileRow.js +1 -1
  537. package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/MobileRow.js.map +1 -1
  538. package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/TableBody.js +1 -1
  539. package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/TableBody.js.map +1 -1
  540. package/dist/lib/widgets/userFeedback/UserFeedback.js +1 -1
  541. package/dist/lib/widgets/userFeedback/UserFeedback.js.map +1 -1
  542. package/dist/lib/widgets/userFeedback/model/index.js +1 -1
  543. package/dist/lib/widgets/userFeedback/ui/FeedbackTrigger.js +1 -1
  544. package/dist/lib/widgets/userFeedback/ui/FeedbackTrigger.js.map +1 -1
  545. package/dist/lib/widgets/userFeedback/ui/Finally.js +1 -1
  546. package/dist/lib/widgets/userFeedback/ui/Finally.js.map +1 -1
  547. package/dist/lib/widgets/userFeedback/ui/SelectRating.js +1 -1
  548. package/dist/lib/widgets/userFeedback/ui/SelectRating.js.map +1 -1
  549. package/dist/lib/widgets/userFeedback/ui/UserReview.js +1 -1
  550. package/dist/lib/widgets/userFeedback/ui/UserReview.js.map +1 -1
  551. package/dist/src/shared/utils/getDynamicSchema.js +1 -1
  552. package/dist/src/shared/utils/getDynamicSchema.js.map +1 -1
  553. package/dist/stats.html +1 -1
  554. package/package.json +18 -24
@@ -1 +1 @@
1
- {"version":3,"file":"TableUtils.js","sources":["../../../../../../lib/shared/ui/table/model/TableUtils.tsx"],"sourcesContent":["import {\n type CellContext,\n type ColumnDef,\n type ColumnHelper,\n createColumnHelper,\n type HeaderContext,\n type SortingFnOption\n} from '@tanstack/react-table'\nimport { DataTableColumnHeader } from '../ui'\nimport { TypeGuards } from '$/shared/utils'\n\ntype SizeOptions = {\n size?: number\n minSize?: number\n maxSize?: number\n}\n\ntype ColumnDefOptions<TData, TValue> = {\n enableSorting?: (keyof TData)[] | boolean\n sortingFn?: SortingFnOption<TData> | Partial<Record<keyof TData, SortingFnOption<TData>>>\n enableColumnFilter?: (keyof TData)[] | boolean\n size?: Partial<Record<keyof TData, SizeOptions>>\n helper?: ColumnHelper<TData>\n cellAccessor?: Partial<Record<keyof TData, (cellContext: CellContext<TData, TValue>) => React.ReactNode>>\n headerAccessor?: Partial<\n Record<keyof TData, (key: keyof TData, headerContext: HeaderContext<TData, TValue>) => React.ReactNode>\n >\n}\n\nexport class TableUtils {\n static getColumnHelper<TData extends {}>(): ColumnHelper<TData> {\n return createColumnHelper<TData>()\n }\n\n static getColumns<TData extends {}, TValue = TData[keyof TData]>(\n template: TData,\n options?: ColumnDefOptions<TData, TValue>\n ): ColumnDef<TData>[] {\n const {\n helper = this.getColumnHelper<TData>(),\n enableColumnFilter = false,\n enableSorting = false,\n cellAccessor,\n headerAccessor,\n sortingFn,\n size\n } = options || {}\n\n const keys = Object.keys(template) as (keyof TData)[]\n\n return keys.map((key) => {\n return helper.accessor<any, TValue>(key, {\n header: (header) => {\n const { column } = header\n const accessor = headerAccessor ? headerAccessor[key] : null\n\n return (\n <DataTableColumnHeader\n isSorted={column.getIsSorted() === 'desc'}\n nextSortingOrder={column.getNextSortingOrder()}\n toggleSorting={column.toggleSorting}\n canSort={column.getCanSort()}\n >\n {accessor ? accessor(key, header) : (key as string)}\n </DataTableColumnHeader>\n )\n },\n cell: (cell) => {\n const accessor = cellAccessor ? cellAccessor[key] : null\n\n return accessor ? accessor(cell) : cell.getValue()\n },\n enableColumnFilter: TypeGuards.isBoolean(enableColumnFilter) ? enableColumnFilter : enableColumnFilter.includes(key),\n enableSorting: TypeGuards.isBoolean(enableSorting) ? enableSorting : enableSorting.includes(key),\n sortingFn: typeof sortingFn === 'object' ? sortingFn[key] : sortingFn,\n ...size?.[key]\n })\n }) as ColumnDef<TData>[]\n }\n}\n"],"names":["TableUtils","createColumnHelper","template","options","helper","enableColumnFilter","enableSorting","cellAccessor","headerAccessor","sortingFn","size","key","header","column","accessor","jsx","DataTableColumnHeader","cell","TypeGuards"],"mappings":"y0EA6BO,MAAMA,EAAW,CACtB,OAAO,iBAAyD,CAC9D,OAAOC,EAAA,CACT,CAEA,OAAO,WACLC,EACAC,EACoB,CACpB,KAAM,CACJ,OAAAC,EAAS,KAAK,gBAAA,EACd,mBAAAC,EAAqB,GACrB,cAAAC,EAAgB,GAChB,aAAAC,EACA,eAAAC,EACA,UAAAC,EACA,KAAAC,CAAA,EACEP,GAAW,CAAA,EAIf,OAFa,OAAO,KAAKD,CAAQ,EAErB,IAAKS,GACRP,EAAO,SAAsBO,EAAK,CACvC,OAASC,GAAW,CAClB,KAAM,CAAE,OAAAC,GAAWD,EACbE,EAAWN,EAAiBA,EAAeG,CAAG,EAAI,KAExD,OACEI,EAACC,EAAA,CACC,SAAUH,EAAO,YAAA,IAAkB,OACnC,iBAAkBA,EAAO,oBAAA,EACzB,cAAeA,EAAO,cACtB,QAASA,EAAO,WAAA,EAEf,SAAAC,EAAWA,EAASH,EAAKC,CAAM,EAAKD,CAAA,CAAA,CAG3C,EACA,KAAOM,GAAS,CACd,MAAMH,EAAWP,EAAeA,EAAaI,CAAG,EAAI,KAEpD,OAAOG,EAAWA,EAASG,CAAI,EAAIA,EAAK,SAAA,CAC1C,EACA,mBAAoBC,EAAW,UAAUb,CAAkB,EAAIA,EAAqBA,EAAmB,SAASM,CAAG,EACnH,cAAeO,EAAW,UAAUZ,CAAa,EAAIA,EAAgBA,EAAc,SAASK,CAAG,EAC/F,UAAW,OAAOF,GAAc,SAAWA,EAAUE,CAAG,EAAIF,EAC5D,GAAGC,GAAA,YAAAA,EAAOC,EAAG,CACd,CACF,CACH,CACF"}
1
+ {"version":3,"file":"TableUtils.js","sources":["../../../../../../lib/shared/ui/table/model/TableUtils.tsx"],"sourcesContent":["import {\n type CellContext,\n type ColumnDef,\n type ColumnHelper,\n createColumnHelper,\n type HeaderContext,\n type SortingFnOption\n} from '@tanstack/react-table'\nimport { DataTableColumnHeader } from '../ui'\nimport { TypeGuards } from '$/shared/utils'\n\ntype SizeOptions = {\n size?: number\n minSize?: number\n maxSize?: number\n}\n\ntype ColumnDefOptions<TData, TValue> = {\n enableSorting?: (keyof TData)[] | boolean\n sortingFn?: SortingFnOption<TData> | Partial<Record<keyof TData, SortingFnOption<TData>>>\n enableColumnFilter?: (keyof TData)[] | boolean\n size?: Partial<Record<keyof TData, SizeOptions>>\n helper?: ColumnHelper<TData>\n cellAccessor?: Partial<Record<keyof TData, (cellContext: CellContext<TData, TValue>) => React.ReactNode>>\n headerAccessor?: Partial<\n Record<keyof TData, (key: keyof TData, headerContext: HeaderContext<TData, TValue>) => React.ReactNode>\n >\n}\n\nexport class TableUtils {\n static getColumnHelper<TData extends {}>(): ColumnHelper<TData> {\n return createColumnHelper<TData>()\n }\n\n static getColumns<TData extends {}, TValue = TData[keyof TData]>(\n template: TData,\n options?: ColumnDefOptions<TData, TValue>\n ): ColumnDef<TData>[] {\n const {\n helper = this.getColumnHelper<TData>(),\n enableColumnFilter = false,\n enableSorting = false,\n cellAccessor,\n headerAccessor,\n sortingFn,\n size\n } = options || {}\n\n const keys = Object.keys(template) as (keyof TData)[]\n\n return keys.map((key) => {\n return helper.accessor<any, TValue>(key, {\n header: (header) => {\n const { column } = header\n const accessor = headerAccessor ? headerAccessor[key] : null\n\n return (\n <DataTableColumnHeader\n isSorted={column.getIsSorted() === 'desc'}\n nextSortingOrder={column.getNextSortingOrder()}\n toggleSorting={column.toggleSorting}\n canSort={column.getCanSort()}\n >\n {accessor ? accessor(key, header) : (key as string)}\n </DataTableColumnHeader>\n )\n },\n cell: (cell) => {\n const accessor = cellAccessor ? cellAccessor[key] : null\n\n return accessor ? accessor(cell) : cell.getValue()\n },\n enableColumnFilter: TypeGuards.isBoolean(enableColumnFilter) ? enableColumnFilter : enableColumnFilter.includes(key),\n enableSorting: TypeGuards.isBoolean(enableSorting) ? enableSorting : enableSorting.includes(key),\n sortingFn: typeof sortingFn === 'object' ? sortingFn[key] : sortingFn,\n ...size?.[key]\n })\n }) as ColumnDef<TData>[]\n }\n}\n"],"names":["TableUtils","createColumnHelper","template","options","helper","enableColumnFilter","enableSorting","cellAccessor","headerAccessor","sortingFn","size","key","header","column","accessor","jsx","DataTableColumnHeader","cell","TypeGuards"],"mappings":"0PA6BO,MAAMA,CAAW,CACtB,OAAO,iBAAyD,CAC9D,OAAOC,EAAA,CACT,CAEA,OAAO,WACLC,EACAC,EACoB,CACpB,KAAM,CACJ,OAAAC,EAAS,KAAK,gBAAA,EACd,mBAAAC,EAAqB,GACrB,cAAAC,EAAgB,GAChB,aAAAC,EACA,eAAAC,EACA,UAAAC,EACA,KAAAC,CAAA,EACEP,GAAW,CAAA,EAIf,OAFa,OAAO,KAAKD,CAAQ,EAErB,IAAKS,GACRP,EAAO,SAAsBO,EAAK,CACvC,OAASC,GAAW,CAClB,KAAM,CAAE,OAAAC,GAAWD,EACbE,EAAWN,EAAiBA,EAAeG,CAAG,EAAI,KAExD,OACEI,EAACC,EAAA,CACC,SAAUH,EAAO,YAAA,IAAkB,OACnC,iBAAkBA,EAAO,oBAAA,EACzB,cAAeA,EAAO,cACtB,QAASA,EAAO,WAAA,EAEf,SAAAC,EAAWA,EAASH,EAAKC,CAAM,EAAKD,CAAA,CAAA,CAG3C,EACA,KAAOM,GAAS,CACd,MAAMH,EAAWP,EAAeA,EAAaI,CAAG,EAAI,KAEpD,OAAOG,EAAWA,EAASG,CAAI,EAAIA,EAAK,SAAA,CAC1C,EACA,mBAAoBC,EAAW,UAAUb,CAAkB,EAAIA,EAAqBA,EAAmB,SAASM,CAAG,EACnH,cAAeO,EAAW,UAAUZ,CAAa,EAAIA,EAAgBA,EAAc,SAASK,CAAG,EAC/F,UAAW,OAAOF,GAAc,SAAWA,EAAUE,CAAG,EAAIF,EAC5D,GAAGC,IAAOC,CAAG,CAAA,CACd,CACF,CACH,CACF"}
@@ -1,2 +1,2 @@
1
- import{jsxs as d,jsx as r}from"react/jsx-runtime";import{useDevice as b}from"../../../../hooks/useDevice.js";import"react";import{cn as t}from"../../../../utils/cn.js";import"uuid";import"react-hook-form";import"@hookform/resolvers/zod";import{Icon as x}from"../../../icon/Icon.js";const w=({children:e,canSort:s,toggleSorting:a,nextSortingOrder:i,isSorted:n,classes:c})=>{const{root:m,content:l,icon:p}=c||{},{isDesktop:u}=b(),o=s&&u;return d("button",{type:"button",className:t("mob-body-regular-s flex items-center justify-center gap-x-2 text-start text-color-tetriary desktop:desk-body-regular-l",m),onClick:()=>a(!n),disabled:!o,children:[r("span",{className:t("",l),children:e}),o&&r(x,{name:"arrows/arrowRight",className:t("size-4 rotate-90 text-color-current duration-100",{"-rotate-90":!i},p)})]})};export{w as DataTableColumnHeader};
1
+ import{jsxs as d,jsx as e}from"react/jsx-runtime";import{cn as t}from"../../../../utils/cn.js";import{Icon as b}from"../../../icon/Icon.js";import{useDevice as x}from"../../../../hooks/useDevice.js";const j=({children:r,canSort:s,toggleSorting:a,nextSortingOrder:n,isSorted:c,classes:i})=>{const{root:l,content:m,icon:p}=i||{},{isDesktop:u}=x(),o=s&&u;return d("button",{type:"button",className:t("mob-body-regular-s flex items-center justify-center gap-x-2 text-start text-color-tetriary desktop:desk-body-regular-l",l),onClick:()=>a(!c),disabled:!o,children:[e("span",{className:t("",m),children:r}),o&&e(b,{name:"arrows/arrowRight",className:t("size-4 rotate-90 text-color-current duration-100",{"-rotate-90":!n},p)})]})};export{j as DataTableColumnHeader};
2
2
  //# sourceMappingURL=DataTableColumnHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableColumnHeader.js","sources":["../../../../../../../lib/shared/ui/table/ui/dataTableColumnHeader/DataTableColumnHeader.tsx"],"sourcesContent":["import { type SortDirection } from '@tanstack/react-table'\nimport { useDevice } from '$/shared/hooks'\nimport { Icon } from '$/shared/ui/icon'\nimport { cn } from '$/shared/utils'\n\ntype DataTableColumnHeaderClasses = {\n root?: string\n content?: string\n icon?: string\n}\n\ntype DataTableColumnHeaderProps = {\n children: React.ReactNode\n isSorted: boolean | SortDirection\n toggleSorting: (desc: boolean) => void\n nextSortingOrder: boolean | SortDirection\n canSort: boolean\n classes?: DataTableColumnHeaderClasses\n}\n\nexport const DataTableColumnHeader = ({\n children,\n canSort,\n toggleSorting,\n nextSortingOrder,\n isSorted,\n classes\n}: DataTableColumnHeaderProps) => {\n const { root, content, icon } = classes || {}\n\n const { isDesktop } = useDevice()\n\n const isSortable = canSort && isDesktop\n\n return (\n <button\n type='button'\n className={cn(\n 'mob-body-regular-s flex items-center justify-center gap-x-2 text-start text-color-tetriary desktop:desk-body-regular-l',\n root\n )}\n onClick={() => toggleSorting(!isSorted)}\n disabled={!isSortable}\n >\n <span className={cn('', content)}>{children}</span>\n {isSortable && (\n <Icon\n name='arrows/arrowRight'\n className={cn(\n 'size-4 rotate-90 text-color-current duration-100',\n {\n '-rotate-90': !nextSortingOrder\n },\n icon\n )}\n />\n )}\n </button>\n )\n}\n"],"names":["DataTableColumnHeader","children","canSort","toggleSorting","nextSortingOrder","isSorted","classes","root","content","icon","isDesktop","useDevice","isSortable","jsxs","cn","jsx","Icon"],"mappings":"0RAoBO,MAAMA,EAAwB,CAAC,CACpC,SAAAC,EACA,QAAAC,EACA,cAAAC,EACA,iBAAAC,EACA,SAAAC,EACA,QAAAC,CACF,IAAkC,CAChC,KAAM,CAAE,KAAAC,EAAM,QAAAC,EAAS,KAAAC,CAAA,EAASH,GAAW,CAAA,EAErC,CAAE,UAAAI,CAAA,EAAcC,EAAA,EAEhBC,EAAaV,GAAWQ,EAE9B,OACEG,EAAC,SAAA,CACC,KAAK,SACL,UAAWC,EACT,yHACAP,CAAA,EAEF,QAAS,IAAMJ,EAAc,CAACE,CAAQ,EACtC,SAAU,CAACO,EAEX,SAAA,CAAAG,EAAC,QAAK,UAAWD,EAAG,GAAIN,CAAO,EAAI,SAAAP,EAAS,EAC3CW,GACCG,EAACC,EAAA,CACC,KAAK,oBACL,UAAWF,EACT,mDACA,CACE,aAAc,CAACV,CAAA,EAEjBK,CAAA,CACF,CAAA,CACF,CAAA,CAAA,CAIR"}
1
+ {"version":3,"file":"DataTableColumnHeader.js","sources":["../../../../../../../lib/shared/ui/table/ui/dataTableColumnHeader/DataTableColumnHeader.tsx"],"sourcesContent":["import { type SortDirection } from '@tanstack/react-table'\nimport { useDevice } from '$/shared/hooks'\nimport { Icon } from '$/shared/ui/icon'\nimport { cn } from '$/shared/utils'\n\ntype DataTableColumnHeaderClasses = {\n root?: string\n content?: string\n icon?: string\n}\n\ntype DataTableColumnHeaderProps = {\n children: React.ReactNode\n isSorted: boolean | SortDirection\n toggleSorting: (desc: boolean) => void\n nextSortingOrder: boolean | SortDirection\n canSort: boolean\n classes?: DataTableColumnHeaderClasses\n}\n\nexport const DataTableColumnHeader = ({\n children,\n canSort,\n toggleSorting,\n nextSortingOrder,\n isSorted,\n classes\n}: DataTableColumnHeaderProps) => {\n const { root, content, icon } = classes || {}\n\n const { isDesktop } = useDevice()\n\n const isSortable = canSort && isDesktop\n\n return (\n <button\n type='button'\n className={cn(\n 'mob-body-regular-s flex items-center justify-center gap-x-2 text-start text-color-tetriary desktop:desk-body-regular-l',\n root\n )}\n onClick={() => toggleSorting(!isSorted)}\n disabled={!isSortable}\n >\n <span className={cn('', content)}>{children}</span>\n {isSortable && (\n <Icon\n name='arrows/arrowRight'\n className={cn(\n 'size-4 rotate-90 text-color-current duration-100',\n {\n '-rotate-90': !nextSortingOrder\n },\n icon\n )}\n />\n )}\n </button>\n )\n}\n"],"names":["DataTableColumnHeader","children","canSort","toggleSorting","nextSortingOrder","isSorted","classes","root","content","icon","isDesktop","useDevice","isSortable","jsxs","cn","jsx","Icon"],"mappings":"uMAoBO,MAAMA,EAAwB,CAAC,CACpC,SAAAC,EACA,QAAAC,EACA,cAAAC,EACA,iBAAAC,EACA,SAAAC,EACA,QAAAC,CACF,IAAkC,CAChC,KAAM,CAAE,KAAAC,EAAM,QAAAC,EAAS,KAAAC,CAAA,EAASH,GAAW,CAAA,EAErC,CAAE,UAAAI,CAAA,EAAcC,EAAA,EAEhBC,EAAaV,GAAWQ,EAE9B,OACEG,EAAC,SAAA,CACC,KAAK,SACL,UAAWC,EACT,yHACAP,CAAA,EAEF,QAAS,IAAMJ,EAAc,CAACE,CAAQ,EACtC,SAAU,CAACO,EAEX,SAAA,CAAAG,EAAC,QAAK,UAAWD,EAAG,GAAIN,CAAO,EAAI,SAAAP,EAAS,EAC3CW,GACCG,EAACC,EAAA,CACC,KAAK,oBACL,UAAWF,EACT,mDACA,CACE,aAAc,CAACV,CAAA,EAEjBK,CAAA,CACF,CAAA,CACF,CAAA,CAAA,CAIR"}
@@ -1,2 +1,2 @@
1
- import{jsxs as C,jsx as m}from"react/jsx-runtime";import{useState as y,useRef as s}from"react";import{useClickOutside as N}from"../../../../hooks/useClickOutside.js";import"react-hook-form";import"@hookform/resolvers/zod";import"classnames";import"tailwind-merge";import"uuid";import{Button as j}from"../../../button/Button.js";import"../../../button/model/helpers.js";import"../../../buttonIcon/ButtonIcon.js";import"../../../loader/model/helpers.js";import"../../../calendar/Calendar.js";import"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"@radix-ui/react-tooltip";import"@radix-ui/react-popover";import"@radix-ui/react-tabs";import"react-dom";import"framer-motion";import"../../../modal/ui/IframeModalContent.js";import"react-hot-toast";import"../../../notification/ui/CustomToast.js";import"../primitives/Primitives.js";import{Icon as k}from"../../../icon/Icon.js";import"@tanstack/react-table";import"../../../heading/Heading.js";import"embla-carousel-autoplay";import"embla-carousel-react";import"../../../carousel/ui/CarouselContent.js";import"../../../customLink/model/helpers.js";import"../../../slot/Slot.js";import"../../../formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../../formElements/uncontrolled/checkbox/Checkbox.js";import"../../../formElements/uncontrolled/combobox/combobox.js";import"../../../formElements/uncontrolled/dayPicker/DayPicker.js";import"../../../formElements/uncontrolled/input/Input.js";import"../../../formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../../formElements/uncontrolled/maskInput/MaskInput.js";import"../../../formElements/uncontrolled/radio/RadioGroup.js";import"../../../formElements/uncontrolled/radio/ui/RadioItem.js";import"@radix-ui/react-radio-group";import"../../../formElements/uncontrolled/slider/SliderBase.js";import"../../../formElements/uncontrolled/switch/Switch.js";import"../../../formElements/uncontrolled/textarea/Textarea.js";import"../../../formElements/uncontrolled/uploader/UploaderBase.js";import"../../../formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../formElements/ui/MessageView.js";import"@tanstack/react-query";import"../../../../../../src/configs/api.js";import"@floating-ui/react";import"date-fns";import"../../../formElements/controlled/editor/ui/Editor.js";import"../../../formElements/controlled/input/MaskInputControl.js";import"../../../dropdownList/ui/dropdownItem/DropdownItem.js";const Ro=({row:l,getValue:u,update:f,target:c,rowIndex:d=-1,attachment:r,readOnly:a=!1})=>{const[i,g]=y(u()),t=s(!1),e=s(null),{original:w}=l,x=o=>{g(o.target.value),t.current=!0},p=()=>{if(t.current){const o={...w,[c]:i};f(d,o),t.current=!1}};return N(e,p),C("div",{className:"flex items-center justify-between pr-1",children:[m("input",{ref:e,className:"mr-2 w-full outline-none",type:"text",readOnly:a,value:i,onChange:x,onBlur:p,onKeyDown:o=>{o.key==="Enter"&&(o.preventDefault(),p())}}),r&&m(j,{intent:"ghost",onClick:o=>{var n;return(n=r==null?void 0:r.handler)==null?void 0:n.call(r,i,o)},className:"mr-1 h-6 w-6 p-0",children:m(k,{name:r.icon,className:"size-4"})})]})};export{Ro as EditableCell};
1
+ import{jsxs as w,jsx as s}from"react/jsx-runtime";import{useState as x,useRef as u}from"react";import{Button as C}from"../../../button/Button.js";import{useClickOutside as y}from"../../../../hooks/useClickOutside.js";import{Icon as N}from"../../../icon/Icon.js";const b=({row:i,getValue:a,update:c,target:f,rowIndex:m=-1,attachment:n,readOnly:p=!1})=>{const[t,d]=x(a()),o=u(!1),l=u(null),{original:g}=i,h=e=>{d(e.target.value),o.current=!0},r=()=>{if(o.current){const e={...g,[f]:t};c(m,e),o.current=!1}};return y(l,r),w("div",{className:"flex items-center justify-between pr-1",children:[s("input",{ref:l,className:"mr-2 w-full outline-none",type:"text",readOnly:p,value:t,onChange:h,onBlur:r,onKeyDown:e=>{e.key==="Enter"&&(e.preventDefault(),r())}}),n&&s(C,{intent:"ghost",onClick:e=>n?.handler?.(t,e),className:"mr-1 h-6 w-6 p-0",children:s(N,{name:n.icon,className:"size-4"})})]})};export{b as EditableCell};
2
2
  //# sourceMappingURL=EditableCell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditableCell.js","sources":["../../../../../../../lib/shared/ui/table/ui/editableCell/EditableCell.tsx"],"sourcesContent":["import { useRef, useState } from 'react'\nimport { type CellContext } from '@tanstack/react-table'\nimport { useClickOutside } from '$/shared/hooks'\nimport { type AllowedIcons, Button, Icon } from '$/shared/ui'\n\ntype Cell<TData, TValue> = CellContext<TData, TValue> & { rowIndex?: number; readOnly?: boolean }\n\ninterface EditableCellProps<TData, TValue> extends Cell<TData, TValue> {\n target: keyof TData\n update: (target: number, values: TData) => void\n attachment?: {\n icon: AllowedIcons\n handler?: (value: TValue | string, event: React.MouseEvent<HTMLButtonElement>) => void\n }\n}\n\nexport const EditableCell = <TData, TValue extends string | undefined>({\n row,\n getValue,\n update,\n target,\n rowIndex = -1,\n attachment,\n readOnly = false\n}: EditableCellProps<TData, TValue>) => {\n const [value, setValue] = useState<TValue | string>(getValue())\n const changed = useRef<boolean>(false)\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n const { original } = row\n\n const onValueChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setValue(event.target.value)\n\n changed.current = true\n }\n\n const onInputBlur = () => {\n if (changed.current) {\n const updatedRow = { ...original, [target]: value }\n update(rowIndex, updatedRow)\n\n changed.current = false\n }\n }\n\n useClickOutside(inputRef, onInputBlur)\n\n return (\n <div className='flex items-center justify-between pr-1'>\n <input\n ref={inputRef}\n className='mr-2 w-full outline-none'\n type='text'\n readOnly={readOnly}\n value={value}\n onChange={onValueChange}\n onBlur={onInputBlur}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n event.preventDefault()\n\n onInputBlur()\n }\n }}\n />\n {attachment && (\n <Button intent='ghost' onClick={(event) => attachment?.handler?.(value, event)} className='mr-1 h-6 w-6 p-0'>\n <Icon name={attachment.icon} className='size-4' />\n </Button>\n )}\n </div>\n )\n}\n"],"names":["EditableCell","row","getValue","update","target","rowIndex","attachment","readOnly","value","setValue","useState","changed","useRef","inputRef","original","onValueChange","event","onInputBlur","updatedRow","useClickOutside","jsxs","jsx","Button","_a","Icon"],"mappings":"g6EAgBO,MAAMA,GAAe,CAA2C,CACrE,IAAAC,EACA,SAAAC,EACA,OAAAC,EACA,OAAAC,EACA,SAAAC,EAAW,GACX,WAAAC,EACA,SAAAC,EAAW,EACb,IAAwC,CACtC,KAAM,CAACC,EAAOC,CAAQ,EAAIC,EAA0BR,GAAU,EACxDS,EAAUC,EAAgB,EAAK,EAE/BC,EAAWD,EAAyB,IAAI,EAExC,CAAE,SAAAE,GAAab,EAEfc,EAAiBC,GAA+C,CACpEP,EAASO,EAAM,OAAO,KAAK,EAE3BL,EAAQ,QAAU,EACpB,EAEMM,EAAc,IAAM,CACxB,GAAIN,EAAQ,QAAS,CACnB,MAAMO,EAAa,CAAE,GAAGJ,EAAU,CAACV,CAAM,EAAGI,CAAA,EAC5CL,EAAOE,EAAUa,CAAU,EAE3BP,EAAQ,QAAU,EACpB,CACF,EAEA,OAAAQ,EAAgBN,EAAUI,CAAW,EAGnCG,EAAC,MAAA,CAAI,UAAU,yCACb,SAAA,CAAAC,EAAC,QAAA,CACC,IAAKR,EACL,UAAU,2BACV,KAAK,OACL,SAAAN,EACA,MAAAC,EACA,SAAUO,EACV,OAAQE,EACR,UAAYD,GAAU,CAChBA,EAAM,MAAQ,UAChBA,EAAM,eAAA,EAENC,EAAA,EAEJ,CAAA,CAAA,EAEDX,KACEgB,EAAA,CAAO,OAAO,QAAQ,QAAUN,GAAA,OAAU,OAAAO,EAAAjB,GAAA,YAAAA,EAAY,UAAZ,YAAAiB,EAAA,KAAAjB,EAAsBE,EAAOQ,IAAQ,UAAU,mBACxF,SAAAK,EAACG,EAAA,CAAK,KAAMlB,EAAW,KAAM,UAAU,QAAA,CAAS,CAAA,CAClD,CAAA,EAEJ,CAEJ"}
1
+ {"version":3,"file":"EditableCell.js","sources":["../../../../../../../lib/shared/ui/table/ui/editableCell/EditableCell.tsx"],"sourcesContent":["import { useRef, useState } from 'react'\nimport { type CellContext } from '@tanstack/react-table'\nimport { useClickOutside } from '$/shared/hooks'\nimport { type AllowedIcons, Button, Icon } from '$/shared/ui'\n\ntype Cell<TData, TValue> = CellContext<TData, TValue> & { rowIndex?: number; readOnly?: boolean }\n\ninterface EditableCellProps<TData, TValue> extends Cell<TData, TValue> {\n target: keyof TData\n update: (target: number, values: TData) => void\n attachment?: {\n icon: AllowedIcons\n handler?: (value: TValue | string, event: React.MouseEvent<HTMLButtonElement>) => void\n }\n}\n\nexport const EditableCell = <TData, TValue extends string | undefined>({\n row,\n getValue,\n update,\n target,\n rowIndex = -1,\n attachment,\n readOnly = false\n}: EditableCellProps<TData, TValue>) => {\n const [value, setValue] = useState<TValue | string>(getValue())\n const changed = useRef<boolean>(false)\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n const { original } = row\n\n const onValueChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setValue(event.target.value)\n\n changed.current = true\n }\n\n const onInputBlur = () => {\n if (changed.current) {\n const updatedRow = { ...original, [target]: value }\n update(rowIndex, updatedRow)\n\n changed.current = false\n }\n }\n\n useClickOutside(inputRef, onInputBlur)\n\n return (\n <div className='flex items-center justify-between pr-1'>\n <input\n ref={inputRef}\n className='mr-2 w-full outline-none'\n type='text'\n readOnly={readOnly}\n value={value}\n onChange={onValueChange}\n onBlur={onInputBlur}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n event.preventDefault()\n\n onInputBlur()\n }\n }}\n />\n {attachment && (\n <Button intent='ghost' onClick={(event) => attachment?.handler?.(value, event)} className='mr-1 h-6 w-6 p-0'>\n <Icon name={attachment.icon} className='size-4' />\n </Button>\n )}\n </div>\n )\n}\n"],"names":["EditableCell","row","getValue","update","target","rowIndex","attachment","readOnly","value","setValue","useState","changed","useRef","inputRef","original","onValueChange","event","onInputBlur","updatedRow","useClickOutside","jsxs","jsx","Button","Icon"],"mappings":"sQAgBO,MAAMA,EAAe,CAA2C,CACrE,IAAAC,EACA,SAAAC,EACA,OAAAC,EACA,OAAAC,EACA,SAAAC,EAAW,GACX,WAAAC,EACA,SAAAC,EAAW,EACb,IAAwC,CACtC,KAAM,CAACC,EAAOC,CAAQ,EAAIC,EAA0BR,GAAU,EACxDS,EAAUC,EAAgB,EAAK,EAE/BC,EAAWD,EAAyB,IAAI,EAExC,CAAE,SAAAE,GAAab,EAEfc,EAAiBC,GAA+C,CACpEP,EAASO,EAAM,OAAO,KAAK,EAE3BL,EAAQ,QAAU,EACpB,EAEMM,EAAc,IAAM,CACxB,GAAIN,EAAQ,QAAS,CACnB,MAAMO,EAAa,CAAE,GAAGJ,EAAU,CAACV,CAAM,EAAGI,CAAA,EAC5CL,EAAOE,EAAUa,CAAU,EAE3BP,EAAQ,QAAU,EACpB,CACF,EAEA,OAAAQ,EAAgBN,EAAUI,CAAW,EAGnCG,EAAC,MAAA,CAAI,UAAU,yCACb,SAAA,CAAAC,EAAC,QAAA,CACC,IAAKR,EACL,UAAU,2BACV,KAAK,OACL,SAAAN,EACA,MAAAC,EACA,SAAUO,EACV,OAAQE,EACR,UAAYD,GAAU,CAChBA,EAAM,MAAQ,UAChBA,EAAM,eAAA,EAENC,EAAA,EAEJ,CAAA,CAAA,EAEDX,KACEgB,EAAA,CAAO,OAAO,QAAQ,QAAUN,GAAUV,GAAY,UAAUE,EAAOQ,CAAK,EAAG,UAAU,mBACxF,SAAAK,EAACE,EAAA,CAAK,KAAMjB,EAAW,KAAM,UAAU,QAAA,CAAS,CAAA,CAClD,CAAA,EAEJ,CAEJ"}
@@ -1,2 +1,2 @@
1
- import o from"classnames";import{twMerge as t}from"tailwind-merge";const c=(...r)=>t(o(r));export{c as cn};
1
+ import o from"../../../_virtual/index.js";import{twMerge as t}from"tailwind-merge";const s=(...r)=>t(o(r));export{s as cn};
2
2
  //# sourceMappingURL=cn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cn.js","sources":["../../../../lib/shared/utils/cn.ts"],"sourcesContent":["import clsx, { type ArgumentArray } from 'classnames'\nimport { twMerge } from 'tailwind-merge'\n\nexport const cn = (...inputs: ArgumentArray) => {\n return twMerge(clsx(inputs))\n}\n"],"names":["cn","inputs","twMerge","clsx"],"mappings":"mEAGO,MAAMA,EAAK,IAAIC,IACbC,EAAQC,EAAKF,CAAM,CAAC"}
1
+ {"version":3,"file":"cn.js","sources":["../../../../lib/shared/utils/cn.ts"],"sourcesContent":["import clsx, { type ArgumentArray } from 'classnames'\nimport { twMerge } from 'tailwind-merge'\n\nexport const cn = (...inputs: ArgumentArray) => {\n return twMerge(clsx(inputs))\n}\n"],"names":["cn","inputs","twMerge","clsx"],"mappings":"mFAGO,MAAMA,EAAK,IAAIC,IACbC,EAAQC,EAAKF,CAAM,CAAC"}
@@ -1,2 +1,2 @@
1
- var l=Object.defineProperty;var o=(a,t,e)=>t in a?l(a,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[t]=e;var s=(a,t,e)=>o(a,typeof t!="symbol"?t+"":t,e);import{localStorageActions as h}from"../localStorageActions.js";class _{constructor(){s(this,"_store",new Map)}clearItems(...t){for(const e of t)this._store.delete(e)}getItem(t){return this._store.get(t)??null}setItem(t,e){this._store.set(t,e)}}const i=class i{constructor(t){s(this,"_variables",[]);s(this,"_listeners",new Map);s(this,"_nextListenerId",0);s(this,"_storeContext");s(this,"get",t=>this._variables.find(e=>e._id===t));s(this,"append",t=>{this._variables.push(t),this.collect()});s(this,"clear",()=>{this._variables=[],this.collect()});s(this,"entriesOf",(...t)=>{const e=[];for(const r of this._variables)t.includes(r.key)&&e.push([r.key,r.value]);return e});s(this,"remove",t=>{this._variables=this._variables.filter(e=>e.key!==t),this.collect()});s(this,"replace",t=>(this._variables=t,this.collect()));s(this,"update",(t,e)=>{const r=this._variables.map(n=>n._id===t?e:n);return this.replace(r)});s(this,"observe",t=>{const e=Symbol(this._nextListenerId++);return this._listeners.set(e,t),()=>{this._listeners.delete(e)}});this._store=t,typeof window>"u"?this._storeContext=new _:this._storeContext=h,this._variables=this._storeContext.getItem(this._store)??[]}static unwrap(t){return t.replace(/\$\{|}/g,"")}static wrap(t){return this._VARIABLE_PATTERN.replace("variable",t)}static match(t){return t.match(this._VARIABLE_REGEX)}static getInstance(t){const e=i._instance.get(t);if(!e){const r=new i(t);return i._instance.set(t,r),r}return e}get variables(){return this._variables}collect(){return this._storeContext.setItem(this._store,this._variables),this._listeners.forEach(t=>t(this._variables)),this._variables}has(t){return this._variables.some(e=>e.key===t)}};s(i,"_VARIABLE_REGEX",/\$\{([^}]+)}/g),s(i,"_VARIABLE_PATTERN","${variable}"),s(i,"_instance",new Map);let c=i;export{c as VariableContextHolder};
1
+ import{localStorageActions as a}from"../localStorageActions.js";class n{_store=new Map;constructor(){}clearItems(...t){for(const e of t)this._store.delete(e)}getItem(t){return this._store.get(t)??null}setItem(t,e){this._store.set(t,e)}}class r{constructor(t){this._store=t,typeof window>"u"?this._storeContext=new n:this._storeContext=a,this._variables=this._storeContext.getItem(this._store)??[]}_variables=[];_listeners=new Map;_nextListenerId=0;_storeContext;static _VARIABLE_REGEX=/\$\{([^}]+)}/g;static _VARIABLE_PATTERN="${variable}";static _instance=new Map;static unwrap(t){return t.replace(/\$\{|}/g,"")}static wrap(t){return this._VARIABLE_PATTERN.replace("variable",t)}static match(t){return t.match(this._VARIABLE_REGEX)}static getInstance(t){const e=r._instance.get(t);if(!e){const s=new r(t);return r._instance.set(t,s),s}return e}get variables(){return this._variables}collect(){return this._storeContext.setItem(this._store,this._variables),this._listeners.forEach(t=>t(this._variables)),this._variables}get=t=>this._variables.find(e=>e._id===t);append=t=>{this._variables.push(t),this.collect()};clear=()=>{this._variables=[],this.collect()};entriesOf=(...t)=>{const e=[];for(const s of this._variables)t.includes(s.key)&&e.push([s.key,s.value]);return e};remove=t=>{this._variables=this._variables.filter(e=>e.key!==t),this.collect()};replace=t=>(this._variables=t,this.collect());update=(t,e)=>{const s=this._variables.map(i=>i._id===t?e:i);return this.replace(s)};observe=t=>{const e=Symbol(this._nextListenerId++);return this._listeners.set(e,t),()=>{this._listeners.delete(e)}};has(t){return this._variables.some(e=>e.key===t)}}export{r as VariableContextHolder};
2
2
  //# sourceMappingURL=variableContextHolder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"variableContextHolder.js","sources":["../../../../../lib/shared/utils/variableHolder/variableContextHolder.ts"],"sourcesContent":["import { localStorageActions } from '../localStorageActions'\n\nexport interface Variable<Key = string, Value = string> {\n _id: string\n key: Key\n value: Value\n createdAt: string\n updatedAt: string\n description: string\n}\n\nexport type VariableEntry<Key = string, Value = string> = [Key, Value]\n\nexport interface IVariableContextHolder<Key, Value> {\n /**\n * список переменных, находящихся в имплементации\n */\n variables: Variable<Key, Value>[]\n /**\n * метод для добавления переменной\n * @param variable\n */\n append: (variable: Variable<Key, Value>) => void\n /**\n * метод для удаления переменной\n * @param key\n */\n remove: (key: Key) => void\n /**\n * метод для проверки наличия переменной по ключу\n * @param key\n */\n has: (key: Key) => boolean\n /**\n * метод для замены всех переменных\n * @param variables\n */\n replace: (variables: Variable<Key, Value>[]) => void\n /**\n * метод для очистки переменных\n */\n clear: () => void\n /**\n * метод для обновления переменной, по её идентификатору\n * @param id\n * @param variable\n */\n update: (id: string, variable: Variable<Key, Value>) => void\n /**\n * получение вхождений переменных по ключам\n * @param keys\n * @returns {VariableEntry<Key, Value>[]} entries `Array<[Key, Value]>`\n */\n entriesOf: (...keys: Key[]) => VariableEntry<Key, Value>[]\n /**\n * метод для подписки на изменения переменных\n * @param listener\n * @returns функция для отписки\n */\n observe: (listener: (variables: Variable<Key, Value>[]) => void) => () => void\n /**\n * получение переменной по ключу\n * @param key\n * @returns `Variable<Key, Value>` если переменная присутствует, `undefined` если переменной не существует\n */\n get: (key: Key) => Variable<Key, Value> | undefined\n}\n\nexport interface VariableStore {\n setItem: <T>(key: string, value: T) => void\n getItem: <T>(key: string) => T | null\n clearItems: (...keys: string[]) => void\n}\n\nclass InMemoryVariableStore implements VariableStore {\n private _store = new Map<string, unknown>()\n\n constructor() {}\n\n clearItems(...keys: string[]): void {\n for (const key of keys) {\n this._store.delete(key)\n }\n }\n\n getItem<T>(key: string): T | null {\n return (this._store.get(key) as T) ?? null\n }\n\n setItem<T>(key: string, value: T): void {\n this._store.set(key, value)\n }\n}\n\n/**\n * Класс для управления переменными.\n * Присутствует возможность использования в среде исполнения NodeJS, при этом будет использоваться in-memory хранилище переменных, что может потреблять дополнительную память приложения\n *\n * @example Базовое использование\n * ```ts\n * // используем статичный метод класса для получения инстанса\n * const holder = VariableContextHolder.getInstance('VARIABLE_STORE')\n *\n * // эмулируем создание переменной\n * const variable: Variable = {\n * _id: Math.random().toString(36).substring(2),\n * // ключ должен быть обёрнут в шаблон переменной\n * // чтобы это сделать, используем статичный метод\n * key: VariableContextHolder.wrap('variable_key'),\n * value: 'variable_value',\n * createdAt: new Date().toISOString(),\n * updatedAt: new Date().toISOString(),\n * description: ''\n * }\n *\n * holder.append(variable)\n *\n * holder.variables.forEach((v) => {\n * // рендерим переменные как в соответствии с требованиями\n * })\n * ```\n *\n * @example Использование с react\n * ```tsx\n * const Component = () => {\n * // создадим ref с экземпляром класса (это нужно чтобы не изменять ссылку при ре-рендере)\n * const holder = useRef(VariableContextHolder.getInstance('VARIABLE_STORE'))\n * // подключаем и подписываемся на мутацию переменных\n * const variables = useSyncExternalStore(holder.current.observe, () => holder.current.variables)\n *\n * return (\n * <div>\n * {variables.map((variable) => (\n * // рендерим переменные как в соответствии с требованиями\n * ))}\n * </div>\n * )\n * }\n * ```\n *\n * @example Синхронизация с сервером\n * ```ts\n * const holder = VariableContextHolder.getInstance('VARIABLE_STORE')\n *\n * // загружаем переменные с сервера\n * fetch('https://backend.url/variables')\n * .then((response) => response.json())\n * .then((data) => holder.replace(data))\n * ```\n *\n * @example Обход строки для замены переменных на их значения\n * ```ts\n * const holder = VariableContextHolder.getInstance('VARIABLE_STORE')\n *\n * const transformVariable = (value: string): string => {\n * let str = value\n * // находим все переменные в строке\n * let matches = VariableContextHolder.match(str)\n * // получаем вхождения по найденным переменным\n * let variables = holder.entriesOf(...(matches ?? []))\n *\n * // выполняем замену переменных до тех пор, пока в строке содержатся переменные\n * while (!TypeGuards.isArrayEmpty(variables)) {\n * variables.forEach(([key, value]) => {\n * // заменяем каждую переменную на её значение\n * str = str.replace(key, value)\n * })\n * // пробуем снова получить переменные в строке,\n * // так как переменная может содержать другую переменную\n * matches = VariableContextHolder.match(str)\n * variables = holder.entriesOf(...(matches ?? []))\n * }\n *\n * return str\n * }\n *\n * const stringWithVariables = 'Процентная ставка \\${percent}% годовых до \\${months} месяцев'\n * const processedString = transformVariable(stringWithVariables)\n * ```\n */\nexport class VariableContextHolder<Key extends string = string, Value = string> implements IVariableContextHolder<Key, Value> {\n private _variables: Variable<Key, Value>[] = []\n private _listeners = new Map<symbol, (variables: Variable<Key, Value>[]) => void>()\n private _nextListenerId: number = 0\n private _storeContext: VariableStore\n\n private static _VARIABLE_REGEX: RegExp = /\\$\\{([^}]+)}/g\n private static _VARIABLE_PATTERN: string = '${variable}'\n private static _instance = new Map<string, VariableContextHolder>()\n\n private constructor(private _store: string) {\n // create in-memory store if instance created out of browser\n if (typeof window === 'undefined') {\n this._storeContext = new InMemoryVariableStore()\n } else {\n this._storeContext = localStorageActions\n }\n\n this._variables = this._storeContext.getItem<Variable<Key, Value>[]>(this._store) ?? []\n }\n\n /**\n * метод для извлечения ключа переменной из шаблона\n * @param variable\n */\n public static unwrap(variable: string): string {\n return variable.replace(/\\$\\{|}/g, '')\n }\n\n /**\n * метод для оборачивания ключа переменной в шаблон\n * @param variable\n */\n public static wrap(variable: string): string {\n return this._VARIABLE_PATTERN.replace('variable', variable)\n }\n\n /**\n * метод для поиска переменных в строке\n * @param pattern\n * @returns `string[]` если переменные присутствуют в строке, иначе `null`\n */\n public static match(pattern: string): string[] | null {\n return pattern.match(this._VARIABLE_REGEX) as string[] | null\n }\n\n /**\n * метод для получения синглтон экземпляра класса по ключу хранилища\n * @param store\n * @returns экземпляр подключенный к in-memory хранилищу если код выполняется в NodeJS, `localStorage` если в браузере\n */\n public static getInstance(store: string): VariableContextHolder {\n const instance = VariableContextHolder._instance.get(store)\n\n if (!instance) {\n const holder = new VariableContextHolder(store)\n VariableContextHolder._instance.set(store, holder)\n\n return holder\n }\n\n return instance\n }\n\n get variables() {\n return this._variables\n }\n\n private collect() {\n this._storeContext.setItem(this._store, this._variables)\n this._listeners.forEach((listener) => listener(this._variables))\n\n return this._variables\n }\n\n get = (id: string) => {\n return this._variables.find((variable) => variable._id === id)\n }\n\n append = (variable: Variable<Key, Value>) => {\n this._variables.push(variable)\n this.collect()\n }\n\n clear = () => {\n this._variables = []\n this.collect()\n }\n\n entriesOf = (...keys: Key[]): VariableEntry<Key, Value>[] => {\n const entries: VariableEntry<Key, Value>[] = []\n\n for (const variable of this._variables) {\n if (keys.includes(variable.key)) entries.push([variable.key, variable.value])\n }\n\n return entries\n }\n\n remove = (key: Key) => {\n this._variables = this._variables.filter((v) => v.key !== key)\n this.collect()\n }\n\n replace = (variables: Variable<Key, Value>[]): Variable<Key, Value>[] => {\n this._variables = variables\n\n return this.collect()\n }\n\n update = (id: string, variable: Variable<Key, Value>): Variable<Key, Value>[] => {\n const updated = this._variables.map((v) => (v._id === id ? variable : v))\n\n return this.replace(updated)\n }\n\n observe = (listener: (variables: Variable<Key, Value>[]) => void): (() => void) => {\n const listenerId = Symbol(this._nextListenerId++)\n this._listeners.set(listenerId, listener)\n\n return () => {\n this._listeners.delete(listenerId)\n }\n }\n\n has(key: Key): boolean {\n return this._variables.some((variable) => variable.key === key)\n }\n}\n"],"names":["InMemoryVariableStore","__publicField","keys","key","value","_VariableContextHolder","_store","id","variable","entries","v","variables","updated","listener","listenerId","localStorageActions","pattern","store","instance","holder","VariableContextHolder"],"mappings":"oOA0EA,MAAMA,CAA+C,CAGnD,aAAc,CAFNC,EAAA,kBAAa,IAEN,CAEf,cAAcC,EAAsB,CAClC,UAAWC,KAAOD,EAChB,KAAK,OAAO,OAAOC,CAAG,CAE1B,CAEA,QAAWA,EAAuB,CAChC,OAAQ,KAAK,OAAO,IAAIA,CAAG,GAAW,IACxC,CAEA,QAAWA,EAAaC,EAAgB,CACtC,KAAK,OAAO,IAAID,EAAKC,CAAK,CAC5B,CACF,CAwFO,MAAMC,EAAN,MAAMA,CAAiH,CAUpH,YAAoBC,EAAgB,CATpCL,EAAA,kBAAqC,CAAA,GACrCA,EAAA,sBAAiB,KACjBA,EAAA,uBAA0B,GAC1BA,EAAA,sBAuERA,EAAA,WAAOM,GACE,KAAK,WAAW,KAAMC,GAAaA,EAAS,MAAQD,CAAE,GAG/DN,EAAA,cAAUO,GAAmC,CAC3C,KAAK,WAAW,KAAKA,CAAQ,EAC7B,KAAK,QAAA,CACP,GAEAP,EAAA,aAAQ,IAAM,CACZ,KAAK,WAAa,CAAA,EAClB,KAAK,QAAA,CACP,GAEAA,EAAA,iBAAY,IAAIC,IAA6C,CAC3D,MAAMO,EAAuC,CAAA,EAE7C,UAAWD,KAAY,KAAK,WACtBN,EAAK,SAASM,EAAS,GAAG,GAAGC,EAAQ,KAAK,CAACD,EAAS,IAAKA,EAAS,KAAK,CAAC,EAG9E,OAAOC,CACT,GAEAR,EAAA,cAAUE,GAAa,CACrB,KAAK,WAAa,KAAK,WAAW,OAAQO,GAAMA,EAAE,MAAQP,CAAG,EAC7D,KAAK,QAAA,CACP,GAEAF,EAAA,eAAWU,IACT,KAAK,WAAaA,EAEX,KAAK,QAAA,IAGdV,EAAA,cAAS,CAACM,EAAYC,IAA2D,CAC/E,MAAMI,EAAU,KAAK,WAAW,IAAKF,GAAOA,EAAE,MAAQH,EAAKC,EAAWE,CAAE,EAExE,OAAO,KAAK,QAAQE,CAAO,CAC7B,GAEAX,EAAA,eAAWY,GAAwE,CACjF,MAAMC,EAAa,OAAO,KAAK,iBAAiB,EAChD,YAAK,WAAW,IAAIA,EAAYD,CAAQ,EAEjC,IAAM,CACX,KAAK,WAAW,OAAOC,CAAU,CACnC,CACF,GAjH4B,KAAA,OAAAR,EAEtB,OAAO,OAAW,IACpB,KAAK,cAAgB,IAAIN,EAEzB,KAAK,cAAgBe,EAGvB,KAAK,WAAa,KAAK,cAAc,QAAgC,KAAK,MAAM,GAAK,CAAA,CACvF,CAMA,OAAc,OAAOP,EAA0B,CAC7C,OAAOA,EAAS,QAAQ,UAAW,EAAE,CACvC,CAMA,OAAc,KAAKA,EAA0B,CAC3C,OAAO,KAAK,kBAAkB,QAAQ,WAAYA,CAAQ,CAC5D,CAOA,OAAc,MAAMQ,EAAkC,CACpD,OAAOA,EAAQ,MAAM,KAAK,eAAe,CAC3C,CAOA,OAAc,YAAYC,EAAsC,CAC9D,MAAMC,EAAWb,EAAsB,UAAU,IAAIY,CAAK,EAE1D,GAAI,CAACC,EAAU,CACb,MAAMC,EAAS,IAAId,EAAsBY,CAAK,EAC9C,OAAAZ,EAAsB,UAAU,IAAIY,EAAOE,CAAM,EAE1CA,CACT,CAEA,OAAOD,CACT,CAEA,IAAI,WAAY,CACd,OAAO,KAAK,UACd,CAEQ,SAAU,CAChB,YAAK,cAAc,QAAQ,KAAK,OAAQ,KAAK,UAAU,EACvD,KAAK,WAAW,QAASL,GAAaA,EAAS,KAAK,UAAU,CAAC,EAExD,KAAK,UACd,CAoDA,IAAIV,EAAmB,CACrB,OAAO,KAAK,WAAW,KAAMK,GAAaA,EAAS,MAAQL,CAAG,CAChE,CACF,EA1HEF,EANWI,EAMI,kBAA0B,iBACzCJ,EAPWI,EAOI,oBAA4B,eAC3CJ,EARWI,EAQI,YAAY,IAAI,KAR1B,IAAMe,EAANf"}
1
+ {"version":3,"file":"variableContextHolder.js","sources":["../../../../../lib/shared/utils/variableHolder/variableContextHolder.ts"],"sourcesContent":["import { localStorageActions } from '../localStorageActions'\n\nexport interface Variable<Key = string, Value = string> {\n _id: string\n key: Key\n value: Value\n createdAt: string\n updatedAt: string\n description: string\n}\n\nexport type VariableEntry<Key = string, Value = string> = [Key, Value]\n\nexport interface IVariableContextHolder<Key, Value> {\n /**\n * список переменных, находящихся в имплементации\n */\n variables: Variable<Key, Value>[]\n /**\n * метод для добавления переменной\n * @param variable\n */\n append: (variable: Variable<Key, Value>) => void\n /**\n * метод для удаления переменной\n * @param key\n */\n remove: (key: Key) => void\n /**\n * метод для проверки наличия переменной по ключу\n * @param key\n */\n has: (key: Key) => boolean\n /**\n * метод для замены всех переменных\n * @param variables\n */\n replace: (variables: Variable<Key, Value>[]) => void\n /**\n * метод для очистки переменных\n */\n clear: () => void\n /**\n * метод для обновления переменной, по её идентификатору\n * @param id\n * @param variable\n */\n update: (id: string, variable: Variable<Key, Value>) => void\n /**\n * получение вхождений переменных по ключам\n * @param keys\n * @returns {VariableEntry<Key, Value>[]} entries `Array<[Key, Value]>`\n */\n entriesOf: (...keys: Key[]) => VariableEntry<Key, Value>[]\n /**\n * метод для подписки на изменения переменных\n * @param listener\n * @returns функция для отписки\n */\n observe: (listener: (variables: Variable<Key, Value>[]) => void) => () => void\n /**\n * получение переменной по ключу\n * @param key\n * @returns `Variable<Key, Value>` если переменная присутствует, `undefined` если переменной не существует\n */\n get: (key: Key) => Variable<Key, Value> | undefined\n}\n\nexport interface VariableStore {\n setItem: <T>(key: string, value: T) => void\n getItem: <T>(key: string) => T | null\n clearItems: (...keys: string[]) => void\n}\n\nclass InMemoryVariableStore implements VariableStore {\n private _store = new Map<string, unknown>()\n\n constructor() {}\n\n clearItems(...keys: string[]): void {\n for (const key of keys) {\n this._store.delete(key)\n }\n }\n\n getItem<T>(key: string): T | null {\n return (this._store.get(key) as T) ?? null\n }\n\n setItem<T>(key: string, value: T): void {\n this._store.set(key, value)\n }\n}\n\n/**\n * Класс для управления переменными.\n * Присутствует возможность использования в среде исполнения NodeJS, при этом будет использоваться in-memory хранилище переменных, что может потреблять дополнительную память приложения\n *\n * @example Базовое использование\n * ```ts\n * // используем статичный метод класса для получения инстанса\n * const holder = VariableContextHolder.getInstance('VARIABLE_STORE')\n *\n * // эмулируем создание переменной\n * const variable: Variable = {\n * _id: Math.random().toString(36).substring(2),\n * // ключ должен быть обёрнут в шаблон переменной\n * // чтобы это сделать, используем статичный метод\n * key: VariableContextHolder.wrap('variable_key'),\n * value: 'variable_value',\n * createdAt: new Date().toISOString(),\n * updatedAt: new Date().toISOString(),\n * description: ''\n * }\n *\n * holder.append(variable)\n *\n * holder.variables.forEach((v) => {\n * // рендерим переменные как в соответствии с требованиями\n * })\n * ```\n *\n * @example Использование с react\n * ```tsx\n * const Component = () => {\n * // создадим ref с экземпляром класса (это нужно чтобы не изменять ссылку при ре-рендере)\n * const holder = useRef(VariableContextHolder.getInstance('VARIABLE_STORE'))\n * // подключаем и подписываемся на мутацию переменных\n * const variables = useSyncExternalStore(holder.current.observe, () => holder.current.variables)\n *\n * return (\n * <div>\n * {variables.map((variable) => (\n * // рендерим переменные как в соответствии с требованиями\n * ))}\n * </div>\n * )\n * }\n * ```\n *\n * @example Синхронизация с сервером\n * ```ts\n * const holder = VariableContextHolder.getInstance('VARIABLE_STORE')\n *\n * // загружаем переменные с сервера\n * fetch('https://backend.url/variables')\n * .then((response) => response.json())\n * .then((data) => holder.replace(data))\n * ```\n *\n * @example Обход строки для замены переменных на их значения\n * ```ts\n * const holder = VariableContextHolder.getInstance('VARIABLE_STORE')\n *\n * const transformVariable = (value: string): string => {\n * let str = value\n * // находим все переменные в строке\n * let matches = VariableContextHolder.match(str)\n * // получаем вхождения по найденным переменным\n * let variables = holder.entriesOf(...(matches ?? []))\n *\n * // выполняем замену переменных до тех пор, пока в строке содержатся переменные\n * while (!TypeGuards.isArrayEmpty(variables)) {\n * variables.forEach(([key, value]) => {\n * // заменяем каждую переменную на её значение\n * str = str.replace(key, value)\n * })\n * // пробуем снова получить переменные в строке,\n * // так как переменная может содержать другую переменную\n * matches = VariableContextHolder.match(str)\n * variables = holder.entriesOf(...(matches ?? []))\n * }\n *\n * return str\n * }\n *\n * const stringWithVariables = 'Процентная ставка \\${percent}% годовых до \\${months} месяцев'\n * const processedString = transformVariable(stringWithVariables)\n * ```\n */\nexport class VariableContextHolder<Key extends string = string, Value = string> implements IVariableContextHolder<Key, Value> {\n private _variables: Variable<Key, Value>[] = []\n private _listeners = new Map<symbol, (variables: Variable<Key, Value>[]) => void>()\n private _nextListenerId: number = 0\n private _storeContext: VariableStore\n\n private static _VARIABLE_REGEX: RegExp = /\\$\\{([^}]+)}/g\n private static _VARIABLE_PATTERN: string = '${variable}'\n private static _instance = new Map<string, VariableContextHolder>()\n\n private constructor(private _store: string) {\n // create in-memory store if instance created out of browser\n if (typeof window === 'undefined') {\n this._storeContext = new InMemoryVariableStore()\n } else {\n this._storeContext = localStorageActions\n }\n\n this._variables = this._storeContext.getItem<Variable<Key, Value>[]>(this._store) ?? []\n }\n\n /**\n * метод для извлечения ключа переменной из шаблона\n * @param variable\n */\n public static unwrap(variable: string): string {\n return variable.replace(/\\$\\{|}/g, '')\n }\n\n /**\n * метод для оборачивания ключа переменной в шаблон\n * @param variable\n */\n public static wrap(variable: string): string {\n return this._VARIABLE_PATTERN.replace('variable', variable)\n }\n\n /**\n * метод для поиска переменных в строке\n * @param pattern\n * @returns `string[]` если переменные присутствуют в строке, иначе `null`\n */\n public static match(pattern: string): string[] | null {\n return pattern.match(this._VARIABLE_REGEX) as string[] | null\n }\n\n /**\n * метод для получения синглтон экземпляра класса по ключу хранилища\n * @param store\n * @returns экземпляр подключенный к in-memory хранилищу если код выполняется в NodeJS, `localStorage` если в браузере\n */\n public static getInstance(store: string): VariableContextHolder {\n const instance = VariableContextHolder._instance.get(store)\n\n if (!instance) {\n const holder = new VariableContextHolder(store)\n VariableContextHolder._instance.set(store, holder)\n\n return holder\n }\n\n return instance\n }\n\n get variables() {\n return this._variables\n }\n\n private collect() {\n this._storeContext.setItem(this._store, this._variables)\n this._listeners.forEach((listener) => listener(this._variables))\n\n return this._variables\n }\n\n get = (id: string) => {\n return this._variables.find((variable) => variable._id === id)\n }\n\n append = (variable: Variable<Key, Value>) => {\n this._variables.push(variable)\n this.collect()\n }\n\n clear = () => {\n this._variables = []\n this.collect()\n }\n\n entriesOf = (...keys: Key[]): VariableEntry<Key, Value>[] => {\n const entries: VariableEntry<Key, Value>[] = []\n\n for (const variable of this._variables) {\n if (keys.includes(variable.key)) entries.push([variable.key, variable.value])\n }\n\n return entries\n }\n\n remove = (key: Key) => {\n this._variables = this._variables.filter((v) => v.key !== key)\n this.collect()\n }\n\n replace = (variables: Variable<Key, Value>[]): Variable<Key, Value>[] => {\n this._variables = variables\n\n return this.collect()\n }\n\n update = (id: string, variable: Variable<Key, Value>): Variable<Key, Value>[] => {\n const updated = this._variables.map((v) => (v._id === id ? variable : v))\n\n return this.replace(updated)\n }\n\n observe = (listener: (variables: Variable<Key, Value>[]) => void): (() => void) => {\n const listenerId = Symbol(this._nextListenerId++)\n this._listeners.set(listenerId, listener)\n\n return () => {\n this._listeners.delete(listenerId)\n }\n }\n\n has(key: Key): boolean {\n return this._variables.some((variable) => variable.key === key)\n }\n}\n"],"names":["InMemoryVariableStore","keys","key","value","VariableContextHolder","_store","localStorageActions","variable","pattern","store","instance","holder","listener","id","entries","v","variables","updated","listenerId"],"mappings":"gEA0EA,MAAMA,CAA+C,CAC3C,WAAa,IAErB,aAAc,CAAC,CAEf,cAAcC,EAAsB,CAClC,UAAWC,KAAOD,EAChB,KAAK,OAAO,OAAOC,CAAG,CAE1B,CAEA,QAAWA,EAAuB,CAChC,OAAQ,KAAK,OAAO,IAAIA,CAAG,GAAW,IACxC,CAEA,QAAWA,EAAaC,EAAgB,CACtC,KAAK,OAAO,IAAID,EAAKC,CAAK,CAC5B,CACF,CAwFO,MAAMC,CAAiH,CAUpH,YAAoBC,EAAgB,CAAhB,KAAA,OAAAA,EAEtB,OAAO,OAAW,IACpB,KAAK,cAAgB,IAAIL,EAEzB,KAAK,cAAgBM,EAGvB,KAAK,WAAa,KAAK,cAAc,QAAgC,KAAK,MAAM,GAAK,CAAA,CACvF,CAlBQ,WAAqC,CAAA,EACrC,eAAiB,IACjB,gBAA0B,EAC1B,cAER,OAAe,gBAA0B,gBACzC,OAAe,kBAA4B,cAC3C,OAAe,UAAY,IAAI,IAiB/B,OAAc,OAAOC,EAA0B,CAC7C,OAAOA,EAAS,QAAQ,UAAW,EAAE,CACvC,CAMA,OAAc,KAAKA,EAA0B,CAC3C,OAAO,KAAK,kBAAkB,QAAQ,WAAYA,CAAQ,CAC5D,CAOA,OAAc,MAAMC,EAAkC,CACpD,OAAOA,EAAQ,MAAM,KAAK,eAAe,CAC3C,CAOA,OAAc,YAAYC,EAAsC,CAC9D,MAAMC,EAAWN,EAAsB,UAAU,IAAIK,CAAK,EAE1D,GAAI,CAACC,EAAU,CACb,MAAMC,EAAS,IAAIP,EAAsBK,CAAK,EAC9C,OAAAL,EAAsB,UAAU,IAAIK,EAAOE,CAAM,EAE1CA,CACT,CAEA,OAAOD,CACT,CAEA,IAAI,WAAY,CACd,OAAO,KAAK,UACd,CAEQ,SAAU,CAChB,YAAK,cAAc,QAAQ,KAAK,OAAQ,KAAK,UAAU,EACvD,KAAK,WAAW,QAASE,GAAaA,EAAS,KAAK,UAAU,CAAC,EAExD,KAAK,UACd,CAEA,IAAOC,GACE,KAAK,WAAW,KAAMN,GAAaA,EAAS,MAAQM,CAAE,EAG/D,OAAUN,GAAmC,CAC3C,KAAK,WAAW,KAAKA,CAAQ,EAC7B,KAAK,QAAA,CACP,EAEA,MAAQ,IAAM,CACZ,KAAK,WAAa,CAAA,EAClB,KAAK,QAAA,CACP,EAEA,UAAY,IAAIN,IAA6C,CAC3D,MAAMa,EAAuC,CAAA,EAE7C,UAAWP,KAAY,KAAK,WACtBN,EAAK,SAASM,EAAS,GAAG,GAAGO,EAAQ,KAAK,CAACP,EAAS,IAAKA,EAAS,KAAK,CAAC,EAG9E,OAAOO,CACT,EAEA,OAAUZ,GAAa,CACrB,KAAK,WAAa,KAAK,WAAW,OAAQa,GAAMA,EAAE,MAAQb,CAAG,EAC7D,KAAK,QAAA,CACP,EAEA,QAAWc,IACT,KAAK,WAAaA,EAEX,KAAK,QAAA,GAGd,OAAS,CAACH,EAAYN,IAA2D,CAC/E,MAAMU,EAAU,KAAK,WAAW,IAAKF,GAAOA,EAAE,MAAQF,EAAKN,EAAWQ,CAAE,EAExE,OAAO,KAAK,QAAQE,CAAO,CAC7B,EAEA,QAAWL,GAAwE,CACjF,MAAMM,EAAa,OAAO,KAAK,iBAAiB,EAChD,YAAK,WAAW,IAAIA,EAAYN,CAAQ,EAEjC,IAAM,CACX,KAAK,WAAW,OAAOM,CAAU,CACnC,CACF,EAEA,IAAIhB,EAAmB,CACrB,OAAO,KAAK,WAAW,KAAMK,GAAaA,EAAS,MAAQL,CAAG,CAChE,CACF"}
@@ -1 +1 @@
1
- .customScrollbar-y::-webkit-scrollbar{width:4px;height:4px}.customScrollbar-y::-webkit-scrollbar-track{border-radius:8px;background:#d4dbe2;cursor:default}.customScrollbar-y::-webkit-scrollbar-thumb{background:#a9b6c5;border-radius:8px;cursor:default}.scrollHidden::-webkit-scrollbar{width:0;height:0}.hidden-scroll{scrollbar-width:none;-ms-overflow-style:none}.hidden-scroll ::-webkit-scrollbar{display:none}.progressBar-apply{background-image:repeating-linear-gradient(-33deg,#d4dbe2,#d4dbe2 5px,#f3f4f7 0,#f3f4f7 14px);background-size:2000% 2000%}.unset-all-apply{all:unset}.skeleton-apply{background:linear-gradient(80deg,#ececec 8%,#f5f5f5 18%,#ececec 33%);background-size:200% 100%;animation:1.5s shine linear infinite}.gradient-apply{background:linear-gradient(97.94deg,#dae4f2 -14.21%,#afcffc 47.44%,#79aef8 107.86%)}.text-balance{text-wrap:balance}@keyframes shine{to{background-position-x:-200%}}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{transition:background-color 5000s ease-in-out 0s}
1
+ .customScrollbar-y::-webkit-scrollbar{width:4px;height:4px}.customScrollbar-y::-webkit-scrollbar-track{border-radius:8px;background:#d4dbe2;cursor:default}.customScrollbar-y::-webkit-scrollbar-thumb{background:#a9b6c5;border-radius:8px;cursor:default}.scrollHidden::-webkit-scrollbar{width:0;height:0}.hidden-scroll{scrollbar-width:none;-ms-overflow-style:none}.hidden-scroll ::-webkit-scrollbar{display:none}.progressBar-apply{background-image:repeating-linear-gradient(-33deg,#d4dbe2,#d4dbe2 5px,#f3f4f7 0 14px);background-size:2000% 2000%}.unset-all-apply{all:unset}.skeleton-apply{background:linear-gradient(80deg,#ececec 8%,#f5f5f5 18%,#ececec 33%);background-size:200% 100%;animation:1.5s shine linear infinite}.gradient-apply{background:linear-gradient(97.94deg,#dae4f2 -14.21%,#afcffc 47.44%,#79aef8 107.86%)}.text-balance{text-wrap:balance}@keyframes shine{to{background-position-x:-200%}}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{transition:background-color 5000s ease-in-out 0s}
@@ -1,2 +1,2 @@
1
- import"react/jsx-runtime";import"classnames";import"tailwind-merge";import{TypeGuards as r}from"../../utils/typeGuards.js";import"uuid";import"react";import"../../ui/button/Button.js";import"../../ui/button/model/helpers.js";import"../../ui/buttonIcon/ButtonIcon.js";import"../../ui/loader/model/helpers.js";import"../../ui/calendar/Calendar.js";import{formatDateToLocaleString as i}from"../../ui/calendar/model/utils.js";import"../../ui/accordion/Accordion.js";import"@radix-ui/react-tooltip";import"react-hook-form";import"@hookform/resolvers/zod";import"@radix-ui/react-popover";import"@radix-ui/react-tabs";import"react-dom";import"framer-motion";import"../../ui/modal/ui/IframeModalContent.js";import"react-hot-toast";import"../../ui/notification/ui/CustomToast.js";import"../../ui/table/ui/primitives/Primitives.js";import"@tanstack/react-table";import"../../ui/heading/Heading.js";import"embla-carousel-autoplay";import"embla-carousel-react";import"../../ui/carousel/ui/CarouselContent.js";import"../../ui/customLink/model/helpers.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"@radix-ui/react-radio-group";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/ui/MessageView.js";import"@tanstack/react-query";import"../../../../src/configs/api.js";import"@floating-ui/react";import"date-fns";import"../../ui/formElements/controlled/editor/ui/Editor.js";import"../../ui/formElements/controlled/input/MaskInputControl.js";import"../../ui/dropdownList/ui/dropdownItem/DropdownItem.js";const mt={NON_EMPTY:()=>"Поле не может быть пустым",MIN_LENGTH:t=>`Поле должно содержать минимум символов: ${t}`,MAX_LENGTH:t=>`Поле должно содержать максимум символов: ${t}`,FIX_LENGTH:t=>`Поле должно быть фиксированной длины символов: ${t}`,MIN_VALUE:t=>`Значение не может быть меньше чем ${t}`,MAX_VALUE:t=>`Значение не может быть больше чем ${t}`,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:t=>`Выберите не менее ${t} вариантов`,SELECT_MULTIPLE_MAX_LENGTH:t=>`Выберите не более ${t} вариантов`,SELECT_FIX_LENGTH:t=>`Поле должно быть фиксированного количества вариантов: ${t}`,DATE_INVALID_FORMAT:()=>"Дата указана некорректно",DATE_NON_EMPTY:()=>"Укажите дату",VALUE_OUT_OF_RANGE:t=>`Выберите один из вариантов ${t.join(", ")}`,DATE_MIN:t=>{const o=r.isString(t)?new Date(t):t;return`Выбранная дата должна быть не раньше ${i(o)}`},DATE_MAX:t=>{const o=r.isString(t)?new Date(t):t;return`Выбранная дата должна быть не позже ${i(o)}`},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{mt as baseDefaultMessages};
1
+ import{TypeGuards as N}from"../../utils/typeGuards.js";import{formatDateToLocaleString as T}from"../../ui/calendar/model/utils.js";const I={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 E=N.isString(_)?new Date(_):_;return`Выбранная дата должна быть не раньше ${T(E)}`},DATE_MAX:_=>{const E=N.isString(_)?new Date(_):_;return`Выбранная дата должна быть не позже ${T(E)}`},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{I 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":"u0EAIO,MAAMA,GAAsB,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":"mIAIO,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 r from"zod";import{baseDefaultMessages as u}from"./base.constants.js";import{getSelectSchema as l}from"./select.validators.js";import{getStringSchema as p}from"./string.validators.js";import"classnames";import"tailwind-merge";import{TypeGuards as d}from"../../utils/typeGuards.js";import"uuid";import"react";const a={value:"",currency:null},f=o=>{const{min:m=1,max:i,message:e,defaultValue:n=a}=o??{};return r.object({value:p(),currency:l()}).superRefine(({value:s,currency:c},t)=>{d.isStringEmpty(s)&&t.addIssue({code:r.ZodIssueCode.too_small,type:"string",minimum:0,inclusive:!0,message:(e==null?void 0:e.valueEmpty)??u.NON_EMPTY()}),Number(s)<m&&t.addIssue({code:r.ZodIssueCode.too_small,type:"string",minimum:m,inclusive:!0,message:(e==null?void 0:e.min)??u.MIN_VALUE(m)}),d.isNil(c)&&t.addIssue({code:r.ZodIssueCode.invalid_type,expected:"string",received:"null",message:(e==null?void 0:e.currencyEmpty)??u.CURRENCY_NON_EMPTY()}),i&&Number(s)>i&&t.addIssue({code:r.ZodIssueCode.too_big,type:"string",maximum:i,inclusive:!0,message:(e==null?void 0:e.max)??u.MAX_VALUE(i)})}).default(n)};function b(o){return f(o)}export{b as getCurrencySchema};
1
+ import e from"zod";import{baseDefaultMessages as u}from"./base.constants.js";import{getSelectSchema as c}from"./select.validators.js";import{getStringSchema as l}from"./string.validators.js";import{TypeGuards as d}from"../../utils/typeGuards.js";const g={value:"",currency:null},f=m=>{const{min:t=1,max:s,message:r,defaultValue:a=g}=m??{};return e.object({value:l(),currency:c()}).superRefine(({value:o,currency:n},i)=>{d.isStringEmpty(o)&&i.addIssue({code:e.ZodIssueCode.too_small,type:"string",minimum:0,inclusive:!0,message:r?.valueEmpty??u.NON_EMPTY()}),Number(o)<t&&i.addIssue({code:e.ZodIssueCode.too_small,type:"string",minimum:t,inclusive:!0,message:r?.min??u.MIN_VALUE(t)}),d.isNil(n)&&i.addIssue({code:e.ZodIssueCode.invalid_type,expected:"string",received:"null",message:r?.currencyEmpty??u.CURRENCY_NON_EMPTY()}),s&&Number(o)>s&&i.addIssue({code:e.ZodIssueCode.too_big,type:"string",maximum:s,inclusive:!0,message:r?.max??u.MAX_VALUE(s)})}).default(a)};function _(m){return f(m)}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":"2TA+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":"sPA+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,QAASF,GAAS,YAAcS,EAAoB,UAAA,CAAU,CAC/D,EAGC,OAAOJ,CAAK,EAAIP,GAClBS,EAAQ,SAAS,CACf,KAAML,EAAE,aAAa,UACrB,KAAM,SACN,QAASJ,EACT,UAAW,GACX,QAASE,GAAS,KAAOS,EAAoB,UAAUX,CAAG,CAAA,CAC3D,EAGCU,EAAW,MAAMF,CAAQ,GAC3BC,EAAQ,SAAS,CACf,KAAML,EAAE,aAAa,aACrB,SAAU,SACV,SAAU,OACV,QAASF,GAAS,eAAiBS,EAAoB,mBAAA,CAAmB,CAC3E,EAGCV,GACE,OAAOM,CAAK,EAAIN,GAClBQ,EAAQ,SAAS,CACf,KAAML,EAAE,aAAa,QACrB,KAAM,SACN,QAASH,EACT,UAAW,GACX,QAASC,GAAS,KAAOS,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{parse as D,isValid as _}from"date-fns";import o from"zod";import{baseDefaultMessages as m}from"./base.constants.js";import"react/jsx-runtime";import"classnames";import"tailwind-merge";import{TypeGuards as n}from"../../utils/typeGuards.js";import"uuid";import"react";import"../../ui/button/Button.js";import"../../ui/button/model/helpers.js";import"../../ui/buttonIcon/ButtonIcon.js";import"../../ui/loader/model/helpers.js";import"../../ui/calendar/Calendar.js";import{DATE_VISIBLE_PATTERN as g}from"../../ui/calendar/model/utils.js";import"../../ui/accordion/Accordion.js";import"@radix-ui/react-tooltip";import"react-hook-form";import"@hookform/resolvers/zod";import"@radix-ui/react-popover";import"@radix-ui/react-tabs";import"react-dom";import"framer-motion";import"../../ui/modal/ui/IframeModalContent.js";import"react-hot-toast";import"../../ui/notification/ui/CustomToast.js";import"../../ui/table/ui/primitives/Primitives.js";import"@tanstack/react-table";import"../../ui/heading/Heading.js";import"embla-carousel-autoplay";import"embla-carousel-react";import"../../ui/carousel/ui/CarouselContent.js";import"../../ui/customLink/model/helpers.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"@radix-ui/react-radio-group";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/ui/MessageView.js";import"@tanstack/react-query";import"../../../../src/configs/api.js";import"@floating-ui/react";import"../../ui/formElements/controlled/editor/ui/Editor.js";import"../../ui/formElements/controlled/input/MaskInputControl.js";import"../../ui/dropdownList/ui/dropdownItem/DropdownItem.js";const f=p=>{const{iso:T=!0,pattern:u=g,min:t,max:d,defaultValue:e,message:i}=p||{};return o.string().min(8,(i==null?void 0:i.min)||m.DATE_NON_EMPTY()).superRefine((r,a)=>{const I=u.replace(/\W/g,"").length;if(r.replace(/[._-]/g,"").length<I&&a.addIssue({code:o.ZodIssueCode.too_small,minimum:I,type:"date",inclusive:!0,message:(i==null?void 0:i.min)||m.DATE_NON_EMPTY()}),T){let l=null;try{l=new Date(r)}catch{a.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.invalidDate)||m.DATE_INVALID_FORMAT()})}t&&l.getTime()<(n.isString(t)?new Date(t).getTime():t.getTime())&&a.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.min)||m.DATE_MIN(t)}),d&&l.getTime()>(n.isString(d)?new Date(d).getTime():d.getTime())&&a.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.max)||m.DATE_MAX(d)})}else{const l=D(r,u,new Date);_(l)||a.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.invalidDate)||m.DATE_INVALID_FORMAT()}),t&&l.getTime()<(n.isString(t)?new Date(t).getTime():t.getTime())&&a.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.min)||m.DATE_MIN(t)}),d&&l.getTime()>(n.isString(d)?new Date(d).getTime():d.getTime())&&a.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.max)||m.DATE_MAX(d)})}}).default(e??"")},c=p=>{const{iso:T=!0,pattern:u=g,min:t,max:d,message:e}=p||{};return o.string().transform(i=>i||void 0).superRefine((i,r)=>{if(n.isString(i)&&i.length){const a=u.replace(/\W/g,"").length;if(i.replace(/[._-]/g,"").length<a&&r.addIssue({code:o.ZodIssueCode.too_small,minimum:a,type:"date",inclusive:!0,message:(e==null?void 0:e.min)||m.DATE_NON_EMPTY()}),T){let s=null;try{s=new Date(i)}catch{r.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.invalidDate)||m.DATE_INVALID_FORMAT()})}t&&s.getTime()<(n.isString(t)?new Date(t).getTime():t.getTime())&&r.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.min)||m.DATE_MIN(t)}),d&&s.getTime()>(n.isString(d)?new Date(d).getTime():d.getTime())&&r.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.max)||m.DATE_MAX(d)})}else{const s=D(i,u,new Date);_(s)||r.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.invalidDate)||m.DATE_INVALID_FORMAT()}),t&&s.getTime()<(n.isString(t)?new Date(t).getTime():t.getTime())&&r.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.min)||m.DATE_MIN(t)}),d&&s.getTime()>(n.isString(d)?new Date(d).getTime():d.getTime())&&r.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.max)||m.DATE_MAX(d)})}}}).optional()};function Mi(p){const{required:T=!0}=p||{};return T?f(p):c(p)}export{Mi as getDateSchema};
1
+ import{parse as D,isValid as _}from"date-fns";import d from"zod";import{baseDefaultMessages as a}from"./base.constants.js";import{TypeGuards as g}from"../../utils/typeGuards.js";import{DATE_VISIBLE_PATTERN as f}from"../../ui/calendar/model/utils.js";const c=l=>{const{iso:u=!0,pattern:r=f,min:e,max:i,defaultValue:n,message:s}=l||{};return d.string().min(8,s?.min||a.DATE_NON_EMPTY()).superRefine((t,m)=>{const I=r.replace(/\W/g,"").length;if(t.replace(/[._-]/g,"").length<I&&m.addIssue({code:d.ZodIssueCode.too_small,minimum:I,type:"date",inclusive:!0,message:s?.min||a.DATE_NON_EMPTY()}),u){let T=null;try{T=new Date(t)}catch{m.addIssue({code:d.ZodIssueCode.invalid_date,message:s?.invalidDate||a.DATE_INVALID_FORMAT()})}e&&T.getTime()<(g.isString(e)?new Date(e).getTime():e.getTime())&&m.addIssue({code:d.ZodIssueCode.invalid_date,message:s?.min||a.DATE_MIN(e)}),i&&T.getTime()>(g.isString(i)?new Date(i).getTime():i.getTime())&&m.addIssue({code:d.ZodIssueCode.invalid_date,message:s?.max||a.DATE_MAX(i)})}else{const T=D(t,r,new Date);_(T)||m.addIssue({code:d.ZodIssueCode.invalid_date,message:s?.invalidDate||a.DATE_INVALID_FORMAT()}),e&&T.getTime()<(g.isString(e)?new Date(e).getTime():e.getTime())&&m.addIssue({code:d.ZodIssueCode.invalid_date,message:s?.min||a.DATE_MIN(e)}),i&&T.getTime()>(g.isString(i)?new Date(i).getTime():i.getTime())&&m.addIssue({code:d.ZodIssueCode.invalid_date,message:s?.max||a.DATE_MAX(i)})}}).default(n??"")},A=l=>{const{iso:u=!0,pattern:r=f,min:e,max:i,message:n}=l||{};return d.string().transform(s=>s||void 0).superRefine((s,t)=>{if(g.isString(s)&&s.length){const m=r.replace(/\W/g,"").length;if(s.replace(/[._-]/g,"").length<m&&t.addIssue({code:d.ZodIssueCode.too_small,minimum:m,type:"date",inclusive:!0,message:n?.min||a.DATE_NON_EMPTY()}),u){let o=null;try{o=new Date(s)}catch{t.addIssue({code:d.ZodIssueCode.invalid_date,message:n?.invalidDate||a.DATE_INVALID_FORMAT()})}e&&o.getTime()<(g.isString(e)?new Date(e).getTime():e.getTime())&&t.addIssue({code:d.ZodIssueCode.invalid_date,message:n?.min||a.DATE_MIN(e)}),i&&o.getTime()>(g.isString(i)?new Date(i).getTime():i.getTime())&&t.addIssue({code:d.ZodIssueCode.invalid_date,message:n?.max||a.DATE_MAX(i)})}else{const o=D(s,r,new Date);_(o)||t.addIssue({code:d.ZodIssueCode.invalid_date,message:n?.invalidDate||a.DATE_INVALID_FORMAT()}),e&&o.getTime()<(g.isString(e)?new Date(e).getTime():e.getTime())&&t.addIssue({code:d.ZodIssueCode.invalid_date,message:n?.min||a.DATE_MIN(e)}),i&&o.getTime()>(g.isString(i)?new Date(i).getTime():i.getTime())&&t.addIssue({code:d.ZodIssueCode.invalid_date,message:n?.max||a.DATE_MAX(i)})}}}).optional()};function C(l){const{required:u=!0}=l||{};return u?c(l):A(l)}export{C 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":"66EA8CA,MAAMA,EAAmBC,GAA6D,CACpF,KAAM,CAAE,IAAAC,EAAM,GAAM,QAAAC,EAAUC,EAAsB,IAAAC,EAAK,IAAAC,EAAK,aAAAC,EAAc,QAAAC,CAAA,EAAYP,GAAS,CAAA,EAEjG,OAAOQ,EACJ,OAAA,EACA,IAAI,GAAGD,GAAA,YAAAA,EAAS,MAAOE,EAAoB,eAAA,CAAgB,EAC3D,YAAY,CAACC,EAAOC,IAAY,CAC/B,MAAMC,EAAqBV,EAAQ,QAAQ,MAAO,EAAE,EAAE,OAatD,GAZqBQ,EAAM,QAAQ,SAAU,EAAE,EAE9B,OAASE,GACxBD,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,UACrB,QAASI,EACT,KAAM,OACN,UAAW,GACX,SAASL,GAAA,YAAAA,EAAS,MAAOE,EAAoB,eAAA,CAAe,CAC7D,EAGCR,EAAK,CACP,IAAIY,EAAoB,KAExB,GAAI,CACFA,EAAO,IAAI,KAAKH,CAAK,CACvB,MAAQ,CACNC,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,aACrB,SAASD,GAAA,YAAAA,EAAS,cAAeE,EAAoB,oBAAA,CAAoB,CAC1E,CACH,CAEIL,GACES,EAAM,QAAA,GAAaC,EAAW,SAASV,CAAG,EAAI,IAAI,KAAKA,CAAG,EAAE,QAAA,EAAYA,EAAI,YAC9EO,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,aACrB,SAASD,GAAA,YAAAA,EAAS,MAAOE,EAAoB,SAASL,CAAG,CAAA,CAC1D,EAIDC,GACEQ,EAAM,QAAA,GAAaC,EAAW,SAAST,CAAG,EAAI,IAAI,KAAKA,CAAG,EAAE,QAAA,EAAYA,EAAI,YAC9EM,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,aACrB,SAASD,GAAA,YAAAA,EAAS,MAAOE,EAAoB,SAASJ,CAAG,CAAA,CAC1D,CAGP,KAAO,CACL,MAAMQ,EAAOE,EAAML,EAAOR,EAAS,IAAI,IAAM,EAExCc,EAAQH,CAAI,GACfF,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,aACrB,SAASD,GAAA,YAAAA,EAAS,cAAeE,EAAoB,oBAAA,CAAoB,CAC1E,EAGCL,GACES,EAAK,QAAA,GAAaC,EAAW,SAASV,CAAG,EAAI,IAAI,KAAKA,CAAG,EAAE,QAAA,EAAYA,EAAI,YAC7EO,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,aACrB,SAASD,GAAA,YAAAA,EAAS,MAAOE,EAAoB,SAASL,CAAG,CAAA,CAC1D,EAIDC,GACEQ,EAAK,QAAA,GAAaC,EAAW,SAAST,CAAG,EAAI,IAAI,KAAKA,CAAG,EAAE,QAAA,EAAYA,EAAI,YAC7EM,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,aACrB,SAASD,GAAA,YAAAA,EAAS,MAAOE,EAAoB,SAASJ,CAAG,CAAA,CAC1D,CAGP,CACF,CAAC,EACA,QAAQC,GAAgB,EAAE,CAC/B,EAMMW,EAAmBjB,GAA6D,CACpF,KAAM,CAAE,IAAAC,EAAM,GAAM,QAAAC,EAAUC,EAAsB,IAAAC,EAAK,IAAAC,EAAK,QAAAE,GAAYP,GAAS,CAAA,EAEnF,OAAOQ,EACJ,OAAA,EACA,UAAWE,GAAYA,GAAQ,MAAkB,EACjD,YAAY,CAACA,EAAOC,IAAY,CAC/B,GAAIG,EAAW,SAASJ,CAAK,GAAaA,EAAM,OAAS,CACvD,MAAME,EAAqBV,EAAQ,QAAQ,MAAO,EAAE,EAAE,OAatD,GAZqBQ,EAAM,QAAQ,SAAU,EAAE,EAE9B,OAASE,GACxBD,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,UACrB,QAASI,EACT,KAAM,OACN,UAAW,GACX,SAASL,GAAA,YAAAA,EAAS,MAAOE,EAAoB,eAAA,CAAe,CAC7D,EAGCR,EAAK,CACP,IAAIY,EAAoB,KAExB,GAAI,CACFA,EAAO,IAAI,KAAKH,CAAK,CACvB,MAAQ,CACNC,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,aACrB,SAASD,GAAA,YAAAA,EAAS,cAAeE,EAAoB,oBAAA,CAAoB,CAC1E,CACH,CAEIL,GACES,EAAM,QAAA,GAAaC,EAAW,SAASV,CAAG,EAAI,IAAI,KAAKA,CAAG,EAAE,QAAA,EAAYA,EAAI,YAC9EO,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,aACrB,SAASD,GAAA,YAAAA,EAAS,MAAOE,EAAoB,SAASL,CAAG,CAAA,CAC1D,EAIDC,GACEQ,EAAM,QAAA,GAAaC,EAAW,SAAST,CAAG,EAAI,IAAI,KAAKA,CAAG,EAAE,QAAA,EAAYA,EAAI,YAC9EM,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,aACrB,SAASD,GAAA,YAAAA,EAAS,MAAOE,EAAoB,SAASJ,CAAG,CAAA,CAC1D,CAGP,KAAO,CACL,MAAMQ,EAAOE,EAAML,EAAOR,EAAS,IAAI,IAAM,EAExCc,EAAQH,CAAI,GACfF,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,aACrB,SAASD,GAAA,YAAAA,EAAS,cAAeE,EAAoB,oBAAA,CAAoB,CAC1E,EAGCL,GACES,EAAK,QAAA,GAAaC,EAAW,SAASV,CAAG,EAAI,IAAI,KAAKA,CAAG,EAAE,QAAA,EAAYA,EAAI,YAC7EO,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,aACrB,SAASD,GAAA,YAAAA,EAAS,MAAOE,EAAoB,SAASL,CAAG,CAAA,CAC1D,EAIDC,GACEQ,EAAK,QAAA,GAAaC,EAAW,SAAST,CAAG,EAAI,IAAI,KAAKA,CAAG,EAAE,QAAA,EAAYA,EAAI,YAC7EM,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,aACrB,SAASD,GAAA,YAAAA,EAAS,MAAOE,EAAoB,SAASJ,CAAG,CAAA,CAC1D,CAGP,CACF,CACF,CAAC,EACA,SAAA,CACL,EA0BO,SAASa,GACdlB,EACyC,CACzC,KAAM,CAAE,SAAAmB,EAAW,EAAA,EAASnB,GAAS,CAAA,EAErC,OAAOmB,EAAWpB,EAAgBC,CAAK,EAAIiB,EAAgBjB,CAAK,CAClE"}
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":"0PA8CA,MAAMA,EAAmBC,GAA6D,CACpF,KAAM,CAAE,IAAAC,EAAM,GAAM,QAAAC,EAAUC,EAAsB,IAAAC,EAAK,IAAAC,EAAK,aAAAC,EAAc,QAAAC,CAAA,EAAYP,GAAS,CAAA,EAEjG,OAAOQ,EACJ,OAAA,EACA,IAAI,EAAGD,GAAS,KAAOE,EAAoB,eAAA,CAAgB,EAC3D,YAAY,CAACC,EAAOC,IAAY,CAC/B,MAAMC,EAAqBV,EAAQ,QAAQ,MAAO,EAAE,EAAE,OAatD,GAZqBQ,EAAM,QAAQ,SAAU,EAAE,EAE9B,OAASE,GACxBD,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,UACrB,QAASI,EACT,KAAM,OACN,UAAW,GACX,QAASL,GAAS,KAAOE,EAAoB,eAAA,CAAe,CAC7D,EAGCR,EAAK,CACP,IAAIY,EAAoB,KAExB,GAAI,CACFA,EAAO,IAAI,KAAKH,CAAK,CACvB,MAAQ,CACNC,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,aACrB,QAASD,GAAS,aAAeE,EAAoB,oBAAA,CAAoB,CAC1E,CACH,CAEIL,GACES,EAAM,QAAA,GAAaC,EAAW,SAASV,CAAG,EAAI,IAAI,KAAKA,CAAG,EAAE,QAAA,EAAYA,EAAI,YAC9EO,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,aACrB,QAASD,GAAS,KAAOE,EAAoB,SAASL,CAAG,CAAA,CAC1D,EAIDC,GACEQ,EAAM,QAAA,GAAaC,EAAW,SAAST,CAAG,EAAI,IAAI,KAAKA,CAAG,EAAE,QAAA,EAAYA,EAAI,YAC9EM,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,aACrB,QAASD,GAAS,KAAOE,EAAoB,SAASJ,CAAG,CAAA,CAC1D,CAGP,KAAO,CACL,MAAMQ,EAAOE,EAAML,EAAOR,EAAS,IAAI,IAAM,EAExCc,EAAQH,CAAI,GACfF,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,aACrB,QAASD,GAAS,aAAeE,EAAoB,oBAAA,CAAoB,CAC1E,EAGCL,GACES,EAAK,QAAA,GAAaC,EAAW,SAASV,CAAG,EAAI,IAAI,KAAKA,CAAG,EAAE,QAAA,EAAYA,EAAI,YAC7EO,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,aACrB,QAASD,GAAS,KAAOE,EAAoB,SAASL,CAAG,CAAA,CAC1D,EAIDC,GACEQ,EAAK,QAAA,GAAaC,EAAW,SAAST,CAAG,EAAI,IAAI,KAAKA,CAAG,EAAE,QAAA,EAAYA,EAAI,YAC7EM,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,aACrB,QAASD,GAAS,KAAOE,EAAoB,SAASJ,CAAG,CAAA,CAC1D,CAGP,CACF,CAAC,EACA,QAAQC,GAAgB,EAAE,CAC/B,EAMMW,EAAmBjB,GAA6D,CACpF,KAAM,CAAE,IAAAC,EAAM,GAAM,QAAAC,EAAUC,EAAsB,IAAAC,EAAK,IAAAC,EAAK,QAAAE,GAAYP,GAAS,CAAA,EAEnF,OAAOQ,EACJ,OAAA,EACA,UAAWE,GAAYA,GAAQ,MAAkB,EACjD,YAAY,CAACA,EAAOC,IAAY,CAC/B,GAAIG,EAAW,SAASJ,CAAK,GAAaA,EAAM,OAAS,CACvD,MAAME,EAAqBV,EAAQ,QAAQ,MAAO,EAAE,EAAE,OAatD,GAZqBQ,EAAM,QAAQ,SAAU,EAAE,EAE9B,OAASE,GACxBD,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,UACrB,QAASI,EACT,KAAM,OACN,UAAW,GACX,QAASL,GAAS,KAAOE,EAAoB,eAAA,CAAe,CAC7D,EAGCR,EAAK,CACP,IAAIY,EAAoB,KAExB,GAAI,CACFA,EAAO,IAAI,KAAKH,CAAK,CACvB,MAAQ,CACNC,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,aACrB,QAASD,GAAS,aAAeE,EAAoB,oBAAA,CAAoB,CAC1E,CACH,CAEIL,GACES,EAAM,QAAA,GAAaC,EAAW,SAASV,CAAG,EAAI,IAAI,KAAKA,CAAG,EAAE,QAAA,EAAYA,EAAI,YAC9EO,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,aACrB,QAASD,GAAS,KAAOE,EAAoB,SAASL,CAAG,CAAA,CAC1D,EAIDC,GACEQ,EAAM,QAAA,GAAaC,EAAW,SAAST,CAAG,EAAI,IAAI,KAAKA,CAAG,EAAE,QAAA,EAAYA,EAAI,YAC9EM,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,aACrB,QAASD,GAAS,KAAOE,EAAoB,SAASJ,CAAG,CAAA,CAC1D,CAGP,KAAO,CACL,MAAMQ,EAAOE,EAAML,EAAOR,EAAS,IAAI,IAAM,EAExCc,EAAQH,CAAI,GACfF,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,aACrB,QAASD,GAAS,aAAeE,EAAoB,oBAAA,CAAoB,CAC1E,EAGCL,GACES,EAAK,QAAA,GAAaC,EAAW,SAASV,CAAG,EAAI,IAAI,KAAKA,CAAG,EAAE,QAAA,EAAYA,EAAI,YAC7EO,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,aACrB,QAASD,GAAS,KAAOE,EAAoB,SAASL,CAAG,CAAA,CAC1D,EAIDC,GACEQ,EAAK,QAAA,GAAaC,EAAW,SAAST,CAAG,EAAI,IAAI,KAAKA,CAAG,EAAE,QAAA,EAAYA,EAAI,YAC7EM,EAAQ,SAAS,CACf,KAAMH,EAAE,aAAa,aACrB,QAASD,GAAS,KAAOE,EAAoB,SAASJ,CAAG,CAAA,CAC1D,CAGP,CACF,CACF,CAAC,EACA,SAAA,CACL,EA0BO,SAASa,EACdlB,EACyC,CACzC,KAAM,CAAE,SAAAmB,EAAW,EAAA,EAASnB,GAAS,CAAA,EAErC,OAAOmB,EAAWpB,EAAgBC,CAAK,EAAIiB,EAAgBjB,CAAK,CAClE"}
@@ -1,2 +1,2 @@
1
- import m from"zod";import{baseDefaultMessages as o}from"./base.constants.js";import"classnames";import"tailwind-merge";import{TypeGuards as g}from"../../utils/typeGuards.js";import"uuid";import"react";const E=/^[\w-.]+@([\w-]+\.)+[\w-]{2,4}$/g,p=i=>{const{message:t,defaultValue:n,regexp:e=E}=i||{},r=g.isString(e)?new RegExp(e):e;return m.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??"")},s=i=>{const{message:t,regexp:n=E}=i||{},e=g.isString(n)?new RegExp(n):n;return m.string().refine(r=>g.isStringEmpty(r)?!0:e.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 l(i){const{required:t=!0}=i||{};return t?p(i):s(i)}export{l as getEmailSchema};
1
+ import o from"zod";import{baseDefaultMessages as s}from"./base.constants.js";import{TypeGuards as g}from"../../utils/typeGuards.js";const a=/^[\w-.]+@([\w-]+\.)+[\w-]{2,4}$/g,m=e=>{const{message:r,defaultValue:n,regexp:i=a}=e||{},t=g.isString(i)?new RegExp(i):i;return o.string().min(1,r?.min||s.EMAIL_NON_EMPTY()).regex(t,r?.invalid||s.EMAIL_INVALID()).default(n??"")},u=e=>{const{message:r,regexp:n=a}=e||{},i=g.isString(n)?new RegExp(n):n;return o.string().refine(t=>g.isStringEmpty(t)?!0:i.test(t),{message:r?.invalid||s.EMAIL_INVALID()}).optional().transform(t=>t?.length===0?void 0:t)};function l(e){const{required:r=!0}=e||{};return r?m(e):u(e)}export{l 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":"yMAyBA,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":"oIAyBA,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,EAAGL,GAAS,KAAOM,EAAoB,gBAAA,CAAiB,EAC5D,MAAMH,EAAOH,GAAS,SAAWM,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,QAASR,GAAS,SAAWM,EAAoB,cAAA,CAAc,CACjE,EAED,SAAA,EACA,UAAWE,GAAWA,GAAO,SAAW,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 a from"zod";import{baseDefaultMessages as m}from"./base.constants.js";const o=e=>{const{min:t,max:i,message:r,defaultValue:u}=e||{};let n=a.coerce.number();return t&&(n=n.min(t,(r==null?void 0:r.min)||m.MIN_VALUE(t))),i&&(n=n.max(i,(r==null?void 0:r.min)||m.MAX_VALUE(i))),n.default(u??0)},c=e=>o(e).optional().transform(t=>t||void 0);function b(e){const{required:t=!0}=e||{};return t?o(e):c(e)}export{b as getNumberSchema};
1
+ import a from"zod";import{baseDefaultMessages as i}from"./base.constants.js";const o=t=>{const{min:e,max:m,message:n,defaultValue:u}=t||{};let r=a.coerce.number();return e&&(r=r.min(e,n?.min||i.MIN_VALUE(e))),m&&(r=r.max(m,n?.min||i.MAX_VALUE(m))),r.default(u??0)},s=t=>o(t).optional().transform(e=>e||void 0);function l(t){const{required:e=!0}=t||{};return e?o(t):s(t)}export{l as getNumberSchema};
2
2
  //# sourceMappingURL=number.validators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"number.validators.js","sources":["../../../../../lib/shared/validation/base/number.validators.ts"],"sourcesContent":["import z from 'zod'\nimport { baseDefaultMessages } from './base.constants'\n\nexport type NumberValidationOptions<Required extends boolean> = {\n /**\n * минимальное значение\n * @default 0\n */\n min?: number\n /**\n * максимальное значение\n * @default undefined\n */\n max?: number\n /**\n * указывает что поле обязательное\n * @default true\n */\n required?: Required\n /**\n * значение по умолчанию\n * @default undefined\n */\n defaultValue?: number\n message?: Partial<Record<keyof Omit<NumberValidationOptions<Required>, 'message'>, string>>\n}\n\n/**\n * Схема валидации обязательного поля числового типа\n */\nconst getNumberRequired = (props?: Omit<NumberValidationOptions<true>, 'required'>) => {\n const { min, max, message, defaultValue } = props || {}\n\n let schema = z.coerce.number()\n\n if (min) {\n schema = schema.min(min, message?.min || baseDefaultMessages.MIN_VALUE(min))\n }\n\n if (max) {\n schema = schema.max(max, message?.min || baseDefaultMessages.MAX_VALUE(max))\n }\n\n return schema.default(defaultValue ?? 0)\n}\ntype NumberRequiredSchema = ReturnType<typeof getNumberRequired>\n\n/**\n * Схема валидации опционального поля числового типа\n */\nconst getNumberOptional = (props?: Omit<NumberValidationOptions<false>, 'required'>) => {\n return getNumberRequired(props)\n .optional()\n .transform((value) => (!value ? undefined : value))\n}\ntype NumberOptionalSchema = ReturnType<typeof getNumberOptional>\n\n/**\n * Схема валидации опционального поля числового типа\n * @param {NumberValidationOptions} props настройки схемы\n @typeParam `required` - `boolean`\n * @typeParam `min` - `number | undefined` `default: 1`\n * @typeParam `max` - `number | undefined` `default: undefined`\n * @typeParam `message` - `{ [min | max]: string }`\n * @returns схема валидации поля в соответствии с настройками\n *\n * @example with required min, max value\n * z.object({\n * field: zodValidators.base.getNumberSchema({ min: 10, max: 20 })\n * })\n * // will returns z.coerce.number().min(10).max(20)\n *\n * @example with optional min, max value\n * z.object({\n * field: zodValidators.base.getNumberSchema({ min: 10, max: 20, required: false })\n * })\n * // will returns z.coerce.number().min(10).max(20).optional()\n */\nexport function getNumberSchema(props?: NumberValidationOptions<true>): NumberRequiredSchema\nexport function getNumberSchema(props?: NumberValidationOptions<false>): NumberOptionalSchema\nexport function getNumberSchema<Required extends boolean>(\n props?: NumberValidationOptions<Required>\n): NumberRequiredSchema | NumberOptionalSchema {\n const { required = true } = props || {}\n\n return required ? getNumberRequired(props) : getNumberOptional(props)\n}\n"],"names":["getNumberRequired","props","min","max","message","defaultValue","schema","z","baseDefaultMessages","getNumberOptional","value","getNumberSchema","required"],"mappings":"6EA8BA,MAAMA,EAAqBC,GAA4D,CACrF,KAAM,CAAE,IAAAC,EAAK,IAAAC,EAAK,QAAAC,EAAS,aAAAC,CAAA,EAAiBJ,GAAS,CAAA,EAErD,IAAIK,EAASC,EAAE,OAAO,OAAA,EAEtB,OAAIL,IACFI,EAASA,EAAO,IAAIJ,GAAKE,GAAA,YAAAA,EAAS,MAAOI,EAAoB,UAAUN,CAAG,CAAC,GAGzEC,IACFG,EAASA,EAAO,IAAIH,GAAKC,GAAA,YAAAA,EAAS,MAAOI,EAAoB,UAAUL,CAAG,CAAC,GAGtEG,EAAO,QAAQD,GAAgB,CAAC,CACzC,EAMMI,EAAqBR,GAClBD,EAAkBC,CAAK,EAC3B,WACA,UAAWS,GAAYA,GAAQ,MAAkB,EA2B/C,SAASC,EACdV,EAC6C,CAC7C,KAAM,CAAE,SAAAW,EAAW,EAAA,EAASX,GAAS,CAAA,EAErC,OAAOW,EAAWZ,EAAkBC,CAAK,EAAIQ,EAAkBR,CAAK,CACtE"}
1
+ {"version":3,"file":"number.validators.js","sources":["../../../../../lib/shared/validation/base/number.validators.ts"],"sourcesContent":["import z from 'zod'\nimport { baseDefaultMessages } from './base.constants'\n\nexport type NumberValidationOptions<Required extends boolean> = {\n /**\n * минимальное значение\n * @default 0\n */\n min?: number\n /**\n * максимальное значение\n * @default undefined\n */\n max?: number\n /**\n * указывает что поле обязательное\n * @default true\n */\n required?: Required\n /**\n * значение по умолчанию\n * @default undefined\n */\n defaultValue?: number\n message?: Partial<Record<keyof Omit<NumberValidationOptions<Required>, 'message'>, string>>\n}\n\n/**\n * Схема валидации обязательного поля числового типа\n */\nconst getNumberRequired = (props?: Omit<NumberValidationOptions<true>, 'required'>) => {\n const { min, max, message, defaultValue } = props || {}\n\n let schema = z.coerce.number()\n\n if (min) {\n schema = schema.min(min, message?.min || baseDefaultMessages.MIN_VALUE(min))\n }\n\n if (max) {\n schema = schema.max(max, message?.min || baseDefaultMessages.MAX_VALUE(max))\n }\n\n return schema.default(defaultValue ?? 0)\n}\ntype NumberRequiredSchema = ReturnType<typeof getNumberRequired>\n\n/**\n * Схема валидации опционального поля числового типа\n */\nconst getNumberOptional = (props?: Omit<NumberValidationOptions<false>, 'required'>) => {\n return getNumberRequired(props)\n .optional()\n .transform((value) => (!value ? undefined : value))\n}\ntype NumberOptionalSchema = ReturnType<typeof getNumberOptional>\n\n/**\n * Схема валидации опционального поля числового типа\n * @param {NumberValidationOptions} props настройки схемы\n @typeParam `required` - `boolean`\n * @typeParam `min` - `number | undefined` `default: 1`\n * @typeParam `max` - `number | undefined` `default: undefined`\n * @typeParam `message` - `{ [min | max]: string }`\n * @returns схема валидации поля в соответствии с настройками\n *\n * @example with required min, max value\n * z.object({\n * field: zodValidators.base.getNumberSchema({ min: 10, max: 20 })\n * })\n * // will returns z.coerce.number().min(10).max(20)\n *\n * @example with optional min, max value\n * z.object({\n * field: zodValidators.base.getNumberSchema({ min: 10, max: 20, required: false })\n * })\n * // will returns z.coerce.number().min(10).max(20).optional()\n */\nexport function getNumberSchema(props?: NumberValidationOptions<true>): NumberRequiredSchema\nexport function getNumberSchema(props?: NumberValidationOptions<false>): NumberOptionalSchema\nexport function getNumberSchema<Required extends boolean>(\n props?: NumberValidationOptions<Required>\n): NumberRequiredSchema | NumberOptionalSchema {\n const { required = true } = props || {}\n\n return required ? getNumberRequired(props) : getNumberOptional(props)\n}\n"],"names":["getNumberRequired","props","min","max","message","defaultValue","schema","z","baseDefaultMessages","getNumberOptional","value","getNumberSchema","required"],"mappings":"6EA8BA,MAAMA,EAAqBC,GAA4D,CACrF,KAAM,CAAE,IAAAC,EAAK,IAAAC,EAAK,QAAAC,EAAS,aAAAC,CAAA,EAAiBJ,GAAS,CAAA,EAErD,IAAIK,EAASC,EAAE,OAAO,OAAA,EAEtB,OAAIL,IACFI,EAASA,EAAO,IAAIJ,EAAKE,GAAS,KAAOI,EAAoB,UAAUN,CAAG,CAAC,GAGzEC,IACFG,EAASA,EAAO,IAAIH,EAAKC,GAAS,KAAOI,EAAoB,UAAUL,CAAG,CAAC,GAGtEG,EAAO,QAAQD,GAAgB,CAAC,CACzC,EAMMI,EAAqBR,GAClBD,EAAkBC,CAAK,EAC3B,WACA,UAAWS,GAAYA,GAAQ,MAAkB,EA2B/C,SAASC,EACdV,EAC6C,CAC7C,KAAM,CAAE,SAAAW,EAAW,EAAA,EAASX,GAAS,CAAA,EAErC,OAAOW,EAAWZ,EAAkBC,CAAK,EAAIQ,EAAkBR,CAAK,CACtE"}
@@ -1,2 +1,2 @@
1
- import l,{ZodIssueCode as r}from"zod";import{baseDefaultMessages as e}from"./base.constants.js";const A=["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99"],S=n=>{const{defaultValue:P,message:d}=n||{},{root:m,empty:c,invalidPart:u,invalidNumber:i}=d||{},g=new Date;return l.string({message:m??e.PASSPORT_INVALID_TYPE()}).nonempty(c??e.PASSPORT_NON_EMPTY()).superRefine((I,t)=>{const[s,a]=I.replace(/_/g,"").split(" ");if((s==null?void 0:s.length)+(a==null?void 0:a.length)!==10)return t.addIssue({code:r.custom,message:u??e.PASSPORT_INVALID_TYPE()});if(!s.length||!a.length)return t.addIssue({code:r.custom,message:c??e.PASSPORT_PART_OR_NUMBER_NON_EMPTY()});if(/^0{2,4}/.test(s))return t.addIssue({code:r.custom,message:u??e.INVALID_PASSPORT_PART()});const o=parseInt(s.slice(2,4),10),_=g.getFullYear().toString().slice(2,4);if(!(o>=97&&o<=99)&&!(o>=0&&o<=Number(_)))return t.addIssue({code:r.custom,message:u??e.INVALID_PASSPORT_PART()});if(!A.includes(s.slice(0,2)))return t.addIssue({code:r.custom,message:u??e.INVALID_PASSPORT_PART()});if(Number(a.replace(/^0+/g,""))<101)return t.addIssue({code:r.custom,message:i??e.INVALID_PASSPORT_NUMBER()})}).default(P??"")};function f(n){return S(n)}export{f as getPassportSchema};
1
+ import l,{ZodIssueCode as t}from"zod";import{baseDefaultMessages as e}from"./base.constants.js";const A=["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99"],S=o=>{const{defaultValue:m,message:P}=o||{},{root:d,empty:c,invalidPart:a,invalidNumber:i}=P||{},g=new Date;return l.string({message:d??e.PASSPORT_INVALID_TYPE()}).nonempty(c??e.PASSPORT_NON_EMPTY()).superRefine((I,s)=>{const[r,n]=I.replace(/_/g,"").split(" ");if(r?.length+n?.length!==10)return s.addIssue({code:t.custom,message:a??e.PASSPORT_INVALID_TYPE()});if(!r.length||!n.length)return s.addIssue({code:t.custom,message:c??e.PASSPORT_PART_OR_NUMBER_NON_EMPTY()});if(/^0{2,4}/.test(r))return s.addIssue({code:t.custom,message:a??e.INVALID_PASSPORT_PART()});const u=parseInt(r.slice(2,4),10),_=g.getFullYear().toString().slice(2,4);if(!(u>=97&&u<=99)&&!(u>=0&&u<=Number(_)))return s.addIssue({code:t.custom,message:a??e.INVALID_PASSPORT_PART()});if(!A.includes(r.slice(0,2)))return s.addIssue({code:t.custom,message:a??e.INVALID_PASSPORT_PART()});if(Number(n.replace(/^0+/g,""))<101)return s.addIssue({code:t.custom,message:i??e.INVALID_PASSPORT_NUMBER()})}).default(m??"")};function f(o){return S(o)}export{f as getPassportSchema};
2
2
  //# sourceMappingURL=passport.validators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"passport.validators.js","sources":["../../../../../lib/shared/validation/base/passport.validators.ts"],"sourcesContent":["import z, { ZodIssueCode } from 'zod'\nimport { baseDefaultMessages } from './base.constants'\n\nconst okato = [\n '01',\n '02',\n '03',\n '04',\n '05',\n '06',\n '07',\n '08',\n '09',\n '10',\n '11',\n '12',\n '13',\n '14',\n '15',\n '16',\n '17',\n '18',\n '19',\n '20',\n '21',\n '22',\n '23',\n '24',\n '25',\n '26',\n '27',\n '28',\n '29',\n '30',\n '31',\n '32',\n '33',\n '34',\n '35',\n '36',\n '37',\n '38',\n '39',\n '40',\n '41',\n '42',\n '43',\n '44',\n '45',\n '46',\n '47',\n '48',\n '49',\n '50',\n '51',\n '52',\n '53',\n '54',\n '55',\n '56',\n '57',\n '58',\n '59',\n '60',\n '61',\n '62',\n '63',\n '64',\n '65',\n '66',\n '67',\n '68',\n '69',\n '70',\n '71',\n '72',\n '73',\n '74',\n '75',\n '76',\n '77',\n '78',\n '79',\n '80',\n '81',\n '82',\n '83',\n '84',\n '85',\n '86',\n '87',\n '88',\n '89',\n '90',\n '91',\n '92',\n '93',\n '94',\n '95',\n '96',\n '97',\n '98',\n '99'\n]\n\nexport type PassportValidationOptions = {\n /**\n * значение по умолчанию\n * @default undefined\n */\n defaultValue?: string\n message?: Partial<Record<'empty' | 'root' | 'invalidPart' | 'invalidNumber', string>>\n}\n\n/**\n * Схема валидации обязательного поля паспорта\n */\nconst getPassportRequired = (props?: PassportValidationOptions) => {\n const { defaultValue, message } = props || {}\n const { root, empty, invalidPart, invalidNumber } = message || {}\n\n const currentDate = new Date()\n\n const schema = z\n .string({ message: root ?? baseDefaultMessages.PASSPORT_INVALID_TYPE() })\n .nonempty(empty ?? baseDefaultMessages.PASSPORT_NON_EMPTY())\n .superRefine((value, context) => {\n const [part, number] = value.replace(/_/g, '').split(' ')\n\n if (part?.length + number?.length !== 10) {\n return context.addIssue({\n code: ZodIssueCode.custom,\n message: invalidPart ?? baseDefaultMessages.PASSPORT_INVALID_TYPE()\n })\n }\n\n // паспорт должен содержать серию и номер\n if (!part.length || !number.length) {\n return context.addIssue({\n code: ZodIssueCode.custom,\n message: empty ?? baseDefaultMessages.PASSPORT_PART_OR_NUMBER_NON_EMPTY()\n })\n }\n\n // серия паспорта не может начинаться с нуля или иметь более 2 нулей подряд\n if (/^0{2,4}/.test(part)) {\n return context.addIssue({\n code: ZodIssueCode.custom,\n message: invalidPart ?? baseDefaultMessages.INVALID_PASSPORT_PART()\n })\n }\n\n // год выпуска паспорта должен быть в диапазоне 97-99 или 00 по настоящий год\n const year = parseInt(part.slice(2, 4), 10)\n const currentYear = currentDate.getFullYear().toString().slice(2, 4)\n if (!(year >= 97 && year <= 99) && !(year >= 0 && year <= Number(currentYear))) {\n return context.addIssue({\n code: ZodIssueCode.custom,\n message: invalidPart ?? baseDefaultMessages.INVALID_PASSPORT_PART()\n })\n }\n\n // первые 2 цифры должны содержать валидный код ОКАТО и ОКТМО\n if (!okato.includes(part.slice(0, 2))) {\n return context.addIssue({\n code: ZodIssueCode.custom,\n message: invalidPart ?? baseDefaultMessages.INVALID_PASSPORT_PART()\n })\n }\n\n // номер паспорта не может быть меньше 000101\n if (Number(number.replace(/^0+/g, '')) < 101) {\n return context.addIssue({\n code: ZodIssueCode.custom,\n message: invalidNumber ?? baseDefaultMessages.INVALID_PASSPORT_NUMBER()\n })\n }\n })\n\n return schema.default(defaultValue ?? '')\n}\ntype PassportRequiredSchema = ReturnType<typeof getPassportRequired>\n\n/**\n * Схема валидации обязательного поля паспорта\n * @param {PassportValidationOptions} props настройки схемы\n * @typeParam `message` - `{ [root]: string }`\n * @returns схема валидации поля в соответствии с настройками\n *\n * @example with required min value\n * z.object({\n * field: zodValidators.base.getPassportSchema()\n * })\n * // will return z.string()\n */\nexport function getPassportSchema(props?: PassportValidationOptions): PassportRequiredSchema {\n return getPassportRequired(props)\n}\n"],"names":["okato","getPassportRequired","props","defaultValue","message","root","empty","invalidPart","invalidNumber","currentDate","z","baseDefaultMessages","value","context","part","number","ZodIssueCode","year","currentYear","getPassportSchema"],"mappings":"gGAGA,MAAMA,EAAQ,CACZ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACF,EAcMC,EAAuBC,GAAsC,CACjE,KAAM,CAAE,aAAAC,EAAc,QAAAC,CAAA,EAAYF,GAAS,CAAA,EACrC,CAAE,KAAAG,EAAM,MAAAC,EAAO,YAAAC,EAAa,cAAAC,CAAA,EAAkBJ,GAAW,CAAA,EAEzDK,MAAkB,KA0DxB,OAxDeC,EACZ,OAAO,CAAE,QAASL,GAAQM,EAAoB,uBAAsB,CAAG,EACvE,SAASL,GAASK,EAAoB,mBAAA,CAAoB,EAC1D,YAAY,CAACC,EAAOC,IAAY,CAC/B,KAAM,CAACC,EAAMC,CAAM,EAAIH,EAAM,QAAQ,KAAM,EAAE,EAAE,MAAM,GAAG,EAExD,IAAIE,GAAA,YAAAA,EAAM,SAASC,GAAA,YAAAA,EAAQ,UAAW,GACpC,OAAOF,EAAQ,SAAS,CACtB,KAAMG,EAAa,OACnB,QAAST,GAAeI,EAAoB,sBAAA,CAAsB,CACnE,EAIH,GAAI,CAACG,EAAK,QAAU,CAACC,EAAO,OAC1B,OAAOF,EAAQ,SAAS,CACtB,KAAMG,EAAa,OACnB,QAASV,GAASK,EAAoB,kCAAA,CAAkC,CACzE,EAIH,GAAI,UAAU,KAAKG,CAAI,EACrB,OAAOD,EAAQ,SAAS,CACtB,KAAMG,EAAa,OACnB,QAAST,GAAeI,EAAoB,sBAAA,CAAsB,CACnE,EAIH,MAAMM,EAAO,SAASH,EAAK,MAAM,EAAG,CAAC,EAAG,EAAE,EACpCI,EAAcT,EAAY,YAAA,EAAc,WAAW,MAAM,EAAG,CAAC,EACnE,GAAI,EAAEQ,GAAQ,IAAMA,GAAQ,KAAO,EAAEA,GAAQ,GAAKA,GAAQ,OAAOC,CAAW,GAC1E,OAAOL,EAAQ,SAAS,CACtB,KAAMG,EAAa,OACnB,QAAST,GAAeI,EAAoB,sBAAA,CAAsB,CACnE,EAIH,GAAI,CAACX,EAAM,SAASc,EAAK,MAAM,EAAG,CAAC,CAAC,EAClC,OAAOD,EAAQ,SAAS,CACtB,KAAMG,EAAa,OACnB,QAAST,GAAeI,EAAoB,sBAAA,CAAsB,CACnE,EAIH,GAAI,OAAOI,EAAO,QAAQ,OAAQ,EAAE,CAAC,EAAI,IACvC,OAAOF,EAAQ,SAAS,CACtB,KAAMG,EAAa,OACnB,QAASR,GAAiBG,EAAoB,wBAAA,CAAwB,CACvE,CAEL,CAAC,EAEW,QAAQR,GAAgB,EAAE,CAC1C,EAeO,SAASgB,EAAkBjB,EAA2D,CAC3F,OAAOD,EAAoBC,CAAK,CAClC"}
1
+ {"version":3,"file":"passport.validators.js","sources":["../../../../../lib/shared/validation/base/passport.validators.ts"],"sourcesContent":["import z, { ZodIssueCode } from 'zod'\nimport { baseDefaultMessages } from './base.constants'\n\nconst okato = [\n '01',\n '02',\n '03',\n '04',\n '05',\n '06',\n '07',\n '08',\n '09',\n '10',\n '11',\n '12',\n '13',\n '14',\n '15',\n '16',\n '17',\n '18',\n '19',\n '20',\n '21',\n '22',\n '23',\n '24',\n '25',\n '26',\n '27',\n '28',\n '29',\n '30',\n '31',\n '32',\n '33',\n '34',\n '35',\n '36',\n '37',\n '38',\n '39',\n '40',\n '41',\n '42',\n '43',\n '44',\n '45',\n '46',\n '47',\n '48',\n '49',\n '50',\n '51',\n '52',\n '53',\n '54',\n '55',\n '56',\n '57',\n '58',\n '59',\n '60',\n '61',\n '62',\n '63',\n '64',\n '65',\n '66',\n '67',\n '68',\n '69',\n '70',\n '71',\n '72',\n '73',\n '74',\n '75',\n '76',\n '77',\n '78',\n '79',\n '80',\n '81',\n '82',\n '83',\n '84',\n '85',\n '86',\n '87',\n '88',\n '89',\n '90',\n '91',\n '92',\n '93',\n '94',\n '95',\n '96',\n '97',\n '98',\n '99'\n]\n\nexport type PassportValidationOptions = {\n /**\n * значение по умолчанию\n * @default undefined\n */\n defaultValue?: string\n message?: Partial<Record<'empty' | 'root' | 'invalidPart' | 'invalidNumber', string>>\n}\n\n/**\n * Схема валидации обязательного поля паспорта\n */\nconst getPassportRequired = (props?: PassportValidationOptions) => {\n const { defaultValue, message } = props || {}\n const { root, empty, invalidPart, invalidNumber } = message || {}\n\n const currentDate = new Date()\n\n const schema = z\n .string({ message: root ?? baseDefaultMessages.PASSPORT_INVALID_TYPE() })\n .nonempty(empty ?? baseDefaultMessages.PASSPORT_NON_EMPTY())\n .superRefine((value, context) => {\n const [part, number] = value.replace(/_/g, '').split(' ')\n\n if (part?.length + number?.length !== 10) {\n return context.addIssue({\n code: ZodIssueCode.custom,\n message: invalidPart ?? baseDefaultMessages.PASSPORT_INVALID_TYPE()\n })\n }\n\n // паспорт должен содержать серию и номер\n if (!part.length || !number.length) {\n return context.addIssue({\n code: ZodIssueCode.custom,\n message: empty ?? baseDefaultMessages.PASSPORT_PART_OR_NUMBER_NON_EMPTY()\n })\n }\n\n // серия паспорта не может начинаться с нуля или иметь более 2 нулей подряд\n if (/^0{2,4}/.test(part)) {\n return context.addIssue({\n code: ZodIssueCode.custom,\n message: invalidPart ?? baseDefaultMessages.INVALID_PASSPORT_PART()\n })\n }\n\n // год выпуска паспорта должен быть в диапазоне 97-99 или 00 по настоящий год\n const year = parseInt(part.slice(2, 4), 10)\n const currentYear = currentDate.getFullYear().toString().slice(2, 4)\n if (!(year >= 97 && year <= 99) && !(year >= 0 && year <= Number(currentYear))) {\n return context.addIssue({\n code: ZodIssueCode.custom,\n message: invalidPart ?? baseDefaultMessages.INVALID_PASSPORT_PART()\n })\n }\n\n // первые 2 цифры должны содержать валидный код ОКАТО и ОКТМО\n if (!okato.includes(part.slice(0, 2))) {\n return context.addIssue({\n code: ZodIssueCode.custom,\n message: invalidPart ?? baseDefaultMessages.INVALID_PASSPORT_PART()\n })\n }\n\n // номер паспорта не может быть меньше 000101\n if (Number(number.replace(/^0+/g, '')) < 101) {\n return context.addIssue({\n code: ZodIssueCode.custom,\n message: invalidNumber ?? baseDefaultMessages.INVALID_PASSPORT_NUMBER()\n })\n }\n })\n\n return schema.default(defaultValue ?? '')\n}\ntype PassportRequiredSchema = ReturnType<typeof getPassportRequired>\n\n/**\n * Схема валидации обязательного поля паспорта\n * @param {PassportValidationOptions} props настройки схемы\n * @typeParam `message` - `{ [root]: string }`\n * @returns схема валидации поля в соответствии с настройками\n *\n * @example with required min value\n * z.object({\n * field: zodValidators.base.getPassportSchema()\n * })\n * // will return z.string()\n */\nexport function getPassportSchema(props?: PassportValidationOptions): PassportRequiredSchema {\n return getPassportRequired(props)\n}\n"],"names":["okato","getPassportRequired","props","defaultValue","message","root","empty","invalidPart","invalidNumber","currentDate","z","baseDefaultMessages","value","context","part","number","ZodIssueCode","year","currentYear","getPassportSchema"],"mappings":"gGAGA,MAAMA,EAAQ,CACZ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACF,EAcMC,EAAuBC,GAAsC,CACjE,KAAM,CAAE,aAAAC,EAAc,QAAAC,CAAA,EAAYF,GAAS,CAAA,EACrC,CAAE,KAAAG,EAAM,MAAAC,EAAO,YAAAC,EAAa,cAAAC,CAAA,EAAkBJ,GAAW,CAAA,EAEzDK,MAAkB,KA0DxB,OAxDeC,EACZ,OAAO,CAAE,QAASL,GAAQM,EAAoB,uBAAsB,CAAG,EACvE,SAASL,GAASK,EAAoB,mBAAA,CAAoB,EAC1D,YAAY,CAACC,EAAOC,IAAY,CAC/B,KAAM,CAACC,EAAMC,CAAM,EAAIH,EAAM,QAAQ,KAAM,EAAE,EAAE,MAAM,GAAG,EAExD,GAAIE,GAAM,OAASC,GAAQ,SAAW,GACpC,OAAOF,EAAQ,SAAS,CACtB,KAAMG,EAAa,OACnB,QAAST,GAAeI,EAAoB,sBAAA,CAAsB,CACnE,EAIH,GAAI,CAACG,EAAK,QAAU,CAACC,EAAO,OAC1B,OAAOF,EAAQ,SAAS,CACtB,KAAMG,EAAa,OACnB,QAASV,GAASK,EAAoB,kCAAA,CAAkC,CACzE,EAIH,GAAI,UAAU,KAAKG,CAAI,EACrB,OAAOD,EAAQ,SAAS,CACtB,KAAMG,EAAa,OACnB,QAAST,GAAeI,EAAoB,sBAAA,CAAsB,CACnE,EAIH,MAAMM,EAAO,SAASH,EAAK,MAAM,EAAG,CAAC,EAAG,EAAE,EACpCI,EAAcT,EAAY,YAAA,EAAc,WAAW,MAAM,EAAG,CAAC,EACnE,GAAI,EAAEQ,GAAQ,IAAMA,GAAQ,KAAO,EAAEA,GAAQ,GAAKA,GAAQ,OAAOC,CAAW,GAC1E,OAAOL,EAAQ,SAAS,CACtB,KAAMG,EAAa,OACnB,QAAST,GAAeI,EAAoB,sBAAA,CAAsB,CACnE,EAIH,GAAI,CAACX,EAAM,SAASc,EAAK,MAAM,EAAG,CAAC,CAAC,EAClC,OAAOD,EAAQ,SAAS,CACtB,KAAMG,EAAa,OACnB,QAAST,GAAeI,EAAoB,sBAAA,CAAsB,CACnE,EAIH,GAAI,OAAOI,EAAO,QAAQ,OAAQ,EAAE,CAAC,EAAI,IACvC,OAAOF,EAAQ,SAAS,CACtB,KAAMG,EAAa,OACnB,QAASR,GAAiBG,EAAoB,wBAAA,CAAwB,CACvE,CAEL,CAAC,EAEW,QAAQR,GAAgB,EAAE,CAC1C,EAeO,SAASgB,EAAkBjB,EAA2D,CAC3F,OAAOD,EAAoBC,CAAK,CAClC"}
@@ -1,2 +1,2 @@
1
- import E,{ZodIssueCode as r}from"zod";import{baseDefaultMessages as s}from"./base.constants.js";const N=["0","1","2","3"],T=n=>{const{defaultValue:o,message:d}=n||{},{root:c,empty:u,invalidDepartment:m}=d||{};return E.string({message:c??s.DEPARTMENT_NON_EMPTY()}).nonempty(u??s.DEPARTMENT_NON_EMPTY()).superRefine((g,t)=>{const[e,a]=g.replace(/_/g,"").split("-");if((e==null?void 0:e.length)+(a==null?void 0:a.length)!==6)return t.addIssue({code:r.custom,message:u??s.INVALID_DEPARTMENT()});if(!e.length||!a.length)return t.addIssue({code:r.custom,message:u??s.DEPARTMENT_NON_EMPTY()});if(/^0{2,3}/.test(e))return t.addIssue({code:r.custom,message:m??s.INVALID_DEPARTMENT()});if(!N.includes(e[e.length-1]))return t.addIssue({code:r.custom,message:m??s.INVALID_DEPARTMENT()});if(!a.replace(/^0+/g,"").length)return t.addIssue({code:r.custom,message:m??s.INVALID_DEPARTMENT()})}).default(o??"")};function i(n){return T(n)}export{i as getPassportDepartmentSchema};
1
+ import l,{ZodIssueCode as r}from"zod";import{baseDefaultMessages as e}from"./base.constants.js";const E=["0","1","2","3"],N=a=>{const{defaultValue:o,message:d}=a||{},{root:g,empty:n,invalidDepartment:u}=d||{};return l.string({message:g??e.DEPARTMENT_NON_EMPTY()}).nonempty(n??e.DEPARTMENT_NON_EMPTY()).superRefine((c,s)=>{const[t,m]=c.replace(/_/g,"").split("-");if(t?.length+m?.length!==6)return s.addIssue({code:r.custom,message:n??e.INVALID_DEPARTMENT()});if(!t.length||!m.length)return s.addIssue({code:r.custom,message:n??e.DEPARTMENT_NON_EMPTY()});if(/^0{2,3}/.test(t))return s.addIssue({code:r.custom,message:u??e.INVALID_DEPARTMENT()});if(!E.includes(t[t.length-1]))return s.addIssue({code:r.custom,message:u??e.INVALID_DEPARTMENT()});if(!m.replace(/^0+/g,"").length)return s.addIssue({code:r.custom,message:u??e.INVALID_DEPARTMENT()})}).default(o??"")};function D(a){return N(a)}export{D as getPassportDepartmentSchema};
2
2
  //# sourceMappingURL=passportDepartment.validators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"passportDepartment.validators.js","sources":["../../../../../lib/shared/validation/base/passportDepartment.validators.ts"],"sourcesContent":["import z, { ZodIssueCode } from 'zod'\nimport { baseDefaultMessages } from './base.constants'\n\nconst departmentLevels = ['0', '1', '2', '3']\n\nexport type PassportDepartmentValidationOptions = {\n /**\n * значение по умолчанию\n * @default undefined\n */\n defaultValue?: string\n message?: Partial<Record<'empty' | 'root' | 'invalidDepartment', string>>\n}\n\n/**\n * Схема валидации обязательного поля паспорта\n */\nconst getPassportDepartmentRequired = (props?: PassportDepartmentValidationOptions) => {\n const { defaultValue, message } = props || {}\n const { root, empty, invalidDepartment } = message || {}\n\n const schema = z\n .string({ message: root ?? baseDefaultMessages.DEPARTMENT_NON_EMPTY() })\n .nonempty(empty ?? baseDefaultMessages.DEPARTMENT_NON_EMPTY())\n .superRefine((value, context) => {\n const [left, right] = value.replace(/_/g, '').split('-')\n\n if (left?.length + right?.length !== 6) {\n return context.addIssue({\n code: ZodIssueCode.custom,\n message: empty ?? baseDefaultMessages.INVALID_DEPARTMENT()\n })\n }\n\n if (!left.length || !right.length) {\n return context.addIssue({\n code: ZodIssueCode.custom,\n message: empty ?? baseDefaultMessages.DEPARTMENT_NON_EMPTY()\n })\n }\n\n if (/^0{2,3}/.test(left)) {\n return context.addIssue({\n code: ZodIssueCode.custom,\n message: invalidDepartment ?? baseDefaultMessages.INVALID_DEPARTMENT()\n })\n }\n\n if (!departmentLevels.includes(left[left.length - 1])) {\n return context.addIssue({\n code: ZodIssueCode.custom,\n message: invalidDepartment ?? baseDefaultMessages.INVALID_DEPARTMENT()\n })\n }\n\n if (!right.replace(/^0+/g, '').length) {\n return context.addIssue({\n code: ZodIssueCode.custom,\n message: invalidDepartment ?? baseDefaultMessages.INVALID_DEPARTMENT()\n })\n }\n })\n\n return schema.default(defaultValue ?? '')\n}\ntype PassportDepartmentRequiredSchema = ReturnType<typeof getPassportDepartmentRequired>\n\n/**\n * Схема валидации обязательного поля кода подразделения паспорта\n * @param {PassportDepartmentValidationOptions} props настройки схемы\n * @typeParam `message` - `{ ['empty' | 'root' | 'invalidDepartment']: string }`\n * @returns схема валидации поля в соответствии с настройками\n *\n * @example with required value\n * z.object({\n * field: zodValidators.base.getPassportDepartmentSchema()\n * })\n * // will return z.string()\n */\nexport function getPassportDepartmentSchema(props?: PassportDepartmentValidationOptions): PassportDepartmentRequiredSchema {\n return getPassportDepartmentRequired(props)\n}\n"],"names":["departmentLevels","getPassportDepartmentRequired","props","defaultValue","message","root","empty","invalidDepartment","z","baseDefaultMessages","value","context","left","right","ZodIssueCode","getPassportDepartmentSchema"],"mappings":"gGAGA,MAAMA,EAAmB,CAAC,IAAK,IAAK,IAAK,GAAG,EActCC,EAAiCC,GAAgD,CACrF,KAAM,CAAE,aAAAC,EAAc,QAAAC,CAAA,EAAYF,GAAS,CAAA,EACrC,CAAE,KAAAG,EAAM,MAAAC,EAAO,kBAAAC,CAAA,EAAsBH,GAAW,CAAA,EA4CtD,OA1CeI,EACZ,OAAO,CAAE,QAASH,GAAQI,EAAoB,sBAAqB,CAAG,EACtE,SAASH,GAASG,EAAoB,qBAAA,CAAsB,EAC5D,YAAY,CAACC,EAAOC,IAAY,CAC/B,KAAM,CAACC,EAAMC,CAAK,EAAIH,EAAM,QAAQ,KAAM,EAAE,EAAE,MAAM,GAAG,EAEvD,IAAIE,GAAA,YAAAA,EAAM,SAASC,GAAA,YAAAA,EAAO,UAAW,EACnC,OAAOF,EAAQ,SAAS,CACtB,KAAMG,EAAa,OACnB,QAASR,GAASG,EAAoB,mBAAA,CAAmB,CAC1D,EAGH,GAAI,CAACG,EAAK,QAAU,CAACC,EAAM,OACzB,OAAOF,EAAQ,SAAS,CACtB,KAAMG,EAAa,OACnB,QAASR,GAASG,EAAoB,qBAAA,CAAqB,CAC5D,EAGH,GAAI,UAAU,KAAKG,CAAI,EACrB,OAAOD,EAAQ,SAAS,CACtB,KAAMG,EAAa,OACnB,QAASP,GAAqBE,EAAoB,mBAAA,CAAmB,CACtE,EAGH,GAAI,CAACT,EAAiB,SAASY,EAAKA,EAAK,OAAS,CAAC,CAAC,EAClD,OAAOD,EAAQ,SAAS,CACtB,KAAMG,EAAa,OACnB,QAASP,GAAqBE,EAAoB,mBAAA,CAAmB,CACtE,EAGH,GAAI,CAACI,EAAM,QAAQ,OAAQ,EAAE,EAAE,OAC7B,OAAOF,EAAQ,SAAS,CACtB,KAAMG,EAAa,OACnB,QAASP,GAAqBE,EAAoB,mBAAA,CAAmB,CACtE,CAEL,CAAC,EAEW,QAAQN,GAAgB,EAAE,CAC1C,EAeO,SAASY,EAA4Bb,EAA+E,CACzH,OAAOD,EAA8BC,CAAK,CAC5C"}
1
+ {"version":3,"file":"passportDepartment.validators.js","sources":["../../../../../lib/shared/validation/base/passportDepartment.validators.ts"],"sourcesContent":["import z, { ZodIssueCode } from 'zod'\nimport { baseDefaultMessages } from './base.constants'\n\nconst departmentLevels = ['0', '1', '2', '3']\n\nexport type PassportDepartmentValidationOptions = {\n /**\n * значение по умолчанию\n * @default undefined\n */\n defaultValue?: string\n message?: Partial<Record<'empty' | 'root' | 'invalidDepartment', string>>\n}\n\n/**\n * Схема валидации обязательного поля паспорта\n */\nconst getPassportDepartmentRequired = (props?: PassportDepartmentValidationOptions) => {\n const { defaultValue, message } = props || {}\n const { root, empty, invalidDepartment } = message || {}\n\n const schema = z\n .string({ message: root ?? baseDefaultMessages.DEPARTMENT_NON_EMPTY() })\n .nonempty(empty ?? baseDefaultMessages.DEPARTMENT_NON_EMPTY())\n .superRefine((value, context) => {\n const [left, right] = value.replace(/_/g, '').split('-')\n\n if (left?.length + right?.length !== 6) {\n return context.addIssue({\n code: ZodIssueCode.custom,\n message: empty ?? baseDefaultMessages.INVALID_DEPARTMENT()\n })\n }\n\n if (!left.length || !right.length) {\n return context.addIssue({\n code: ZodIssueCode.custom,\n message: empty ?? baseDefaultMessages.DEPARTMENT_NON_EMPTY()\n })\n }\n\n if (/^0{2,3}/.test(left)) {\n return context.addIssue({\n code: ZodIssueCode.custom,\n message: invalidDepartment ?? baseDefaultMessages.INVALID_DEPARTMENT()\n })\n }\n\n if (!departmentLevels.includes(left[left.length - 1])) {\n return context.addIssue({\n code: ZodIssueCode.custom,\n message: invalidDepartment ?? baseDefaultMessages.INVALID_DEPARTMENT()\n })\n }\n\n if (!right.replace(/^0+/g, '').length) {\n return context.addIssue({\n code: ZodIssueCode.custom,\n message: invalidDepartment ?? baseDefaultMessages.INVALID_DEPARTMENT()\n })\n }\n })\n\n return schema.default(defaultValue ?? '')\n}\ntype PassportDepartmentRequiredSchema = ReturnType<typeof getPassportDepartmentRequired>\n\n/**\n * Схема валидации обязательного поля кода подразделения паспорта\n * @param {PassportDepartmentValidationOptions} props настройки схемы\n * @typeParam `message` - `{ ['empty' | 'root' | 'invalidDepartment']: string }`\n * @returns схема валидации поля в соответствии с настройками\n *\n * @example with required value\n * z.object({\n * field: zodValidators.base.getPassportDepartmentSchema()\n * })\n * // will return z.string()\n */\nexport function getPassportDepartmentSchema(props?: PassportDepartmentValidationOptions): PassportDepartmentRequiredSchema {\n return getPassportDepartmentRequired(props)\n}\n"],"names":["departmentLevels","getPassportDepartmentRequired","props","defaultValue","message","root","empty","invalidDepartment","z","baseDefaultMessages","value","context","left","right","ZodIssueCode","getPassportDepartmentSchema"],"mappings":"gGAGA,MAAMA,EAAmB,CAAC,IAAK,IAAK,IAAK,GAAG,EActCC,EAAiCC,GAAgD,CACrF,KAAM,CAAE,aAAAC,EAAc,QAAAC,CAAA,EAAYF,GAAS,CAAA,EACrC,CAAE,KAAAG,EAAM,MAAAC,EAAO,kBAAAC,CAAA,EAAsBH,GAAW,CAAA,EA4CtD,OA1CeI,EACZ,OAAO,CAAE,QAASH,GAAQI,EAAoB,sBAAqB,CAAG,EACtE,SAASH,GAASG,EAAoB,qBAAA,CAAsB,EAC5D,YAAY,CAACC,EAAOC,IAAY,CAC/B,KAAM,CAACC,EAAMC,CAAK,EAAIH,EAAM,QAAQ,KAAM,EAAE,EAAE,MAAM,GAAG,EAEvD,GAAIE,GAAM,OAASC,GAAO,SAAW,EACnC,OAAOF,EAAQ,SAAS,CACtB,KAAMG,EAAa,OACnB,QAASR,GAASG,EAAoB,mBAAA,CAAmB,CAC1D,EAGH,GAAI,CAACG,EAAK,QAAU,CAACC,EAAM,OACzB,OAAOF,EAAQ,SAAS,CACtB,KAAMG,EAAa,OACnB,QAASR,GAASG,EAAoB,qBAAA,CAAqB,CAC5D,EAGH,GAAI,UAAU,KAAKG,CAAI,EACrB,OAAOD,EAAQ,SAAS,CACtB,KAAMG,EAAa,OACnB,QAASP,GAAqBE,EAAoB,mBAAA,CAAmB,CACtE,EAGH,GAAI,CAACT,EAAiB,SAASY,EAAKA,EAAK,OAAS,CAAC,CAAC,EAClD,OAAOD,EAAQ,SAAS,CACtB,KAAMG,EAAa,OACnB,QAASP,GAAqBE,EAAoB,mBAAA,CAAmB,CACtE,EAGH,GAAI,CAACI,EAAM,QAAQ,OAAQ,EAAE,EAAE,OAC7B,OAAOF,EAAQ,SAAS,CACtB,KAAMG,EAAa,OACnB,QAASP,GAAqBE,EAAoB,mBAAA,CAAmB,CACtE,CAEL,CAAC,EAEW,QAAQN,GAAgB,EAAE,CAC1C,EAeO,SAASY,EAA4Bb,EAA+E,CACzH,OAAOD,EAA8BC,CAAK,CAC5C"}