@scbt-ecom/ui 0.128.0 → 0.128.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/dist/lib/exports/widget.js +1 -1
  2. package/dist/lib/shared/hooks/useControlledForm.js +1 -1
  3. package/dist/lib/shared/hooks/useControlledForm.js.map +1 -1
  4. package/dist/lib/shared/hooks/useFieldsProgress.js +1 -1
  5. package/dist/lib/shared/hooks/useFieldsProgress.js.map +1 -1
  6. package/dist/lib/shared/ui/brandLogos/BrandLogos.js +1 -1
  7. package/dist/lib/shared/ui/brandLogos/BrandLogos.js.map +1 -1
  8. package/dist/lib/shared/ui/calendar/Calendar.js +1 -1
  9. package/dist/lib/shared/ui/calendar/Calendar.js.map +1 -1
  10. package/dist/lib/shared/ui/calendar/ui/Navigation.js +1 -1
  11. package/dist/lib/shared/ui/calendar/ui/Navigation.js.map +1 -1
  12. package/dist/lib/shared/ui/calendar/ui/selectDate/ui/Trigger.js +1 -1
  13. package/dist/lib/shared/ui/calendar/ui/selectDate/ui/Trigger.js.map +1 -1
  14. package/dist/lib/shared/ui/carousel/CarouselBase.js +1 -1
  15. package/dist/lib/shared/ui/carousel/CarouselBase.js.map +1 -1
  16. package/dist/lib/shared/ui/carousel/ui/CarouselContent.js +1 -1
  17. package/dist/lib/shared/ui/carousel/ui/CarouselContent.js.map +1 -1
  18. package/dist/lib/shared/ui/dialog/Dialog.js +1 -1
  19. package/dist/lib/shared/ui/dialog/Dialog.js.map +1 -1
  20. package/dist/lib/shared/ui/dropdownList/DropdownList.js +1 -1
  21. package/dist/lib/shared/ui/dropdownList/DropdownList.js.map +1 -1
  22. package/dist/lib/shared/ui/formElements/controlled/autocomplete/Autocomplete.js +1 -1
  23. package/dist/lib/shared/ui/formElements/controlled/autocomplete/Autocomplete.js.map +1 -1
  24. package/dist/lib/shared/ui/formElements/controlled/checkbox/CheckboxControl.js +1 -1
  25. package/dist/lib/shared/ui/formElements/controlled/checkbox/CheckboxControl.js.map +1 -1
  26. package/dist/lib/shared/ui/formElements/controlled/combobox/ComboboxControl.js +1 -1
  27. package/dist/lib/shared/ui/formElements/controlled/combobox/ComboboxControl.js.map +1 -1
  28. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/dayPickerControl.js +1 -1
  29. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/dayPickerControl.js.map +1 -1
  30. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/model/utils.js +1 -1
  31. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/model/utils.js.map +1 -1
  32. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/range.js +1 -1
  33. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/range.js.map +1 -1
  34. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/single.js +1 -1
  35. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/single.js.map +1 -1
  36. package/dist/lib/shared/ui/formElements/controlled/editor/EditorControl.js +1 -1
  37. package/dist/lib/shared/ui/formElements/controlled/editor/EditorControl.js.map +1 -1
  38. package/dist/lib/shared/ui/formElements/controlled/editor/model/helper.js +1 -1
  39. package/dist/lib/shared/ui/formElements/controlled/editor/model/helper.js.map +1 -1
  40. package/dist/lib/shared/ui/formElements/controlled/editor/ui/Editor.js +1 -1
  41. package/dist/lib/shared/ui/formElements/controlled/editor/ui/Editor.js.map +1 -1
  42. package/dist/lib/shared/ui/formElements/controlled/editor/ui/EditorModal.js +1 -1
  43. package/dist/lib/shared/ui/formElements/controlled/editor/ui/EditorModal.js.map +1 -1
  44. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetColor.js +1 -1
  45. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetColor.js.map +1 -1
  46. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetCoreCommands.js +1 -1
  47. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetCoreCommands.js.map +1 -1
  48. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetFontSize.js +1 -1
  49. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetFontSize.js.map +1 -1
  50. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/setCustomLink.js +1 -1
  51. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/setCustomLink.js.map +1 -1
  52. package/dist/lib/shared/ui/formElements/controlled/input/InputControl.js +1 -1
  53. package/dist/lib/shared/ui/formElements/controlled/input/InputControl.js.map +1 -1
  54. package/dist/lib/shared/ui/formElements/controlled/input/MaskInputControl.js +1 -1
  55. package/dist/lib/shared/ui/formElements/controlled/input/MaskInputControl.js.map +1 -1
  56. package/dist/lib/shared/ui/formElements/controlled/inputCurrency/InputCurrencyControl.js +1 -1
  57. package/dist/lib/shared/ui/formElements/controlled/inputCurrency/InputCurrencyControl.js.map +1 -1
  58. package/dist/lib/shared/ui/formElements/controlled/inputOtp/InputOtpControl.js +1 -1
  59. package/dist/lib/shared/ui/formElements/controlled/inputOtp/InputOtpControl.js.map +1 -1
  60. package/dist/lib/shared/ui/formElements/controlled/radio/RadioGroupControl.js +1 -1
  61. package/dist/lib/shared/ui/formElements/controlled/radio/RadioGroupControl.js.map +1 -1
  62. package/dist/lib/shared/ui/formElements/controlled/slider/SliderControl.js +1 -1
  63. package/dist/lib/shared/ui/formElements/controlled/slider/SliderControl.js.map +1 -1
  64. package/dist/lib/shared/ui/formElements/controlled/switch/SwitchControl.js +1 -1
  65. package/dist/lib/shared/ui/formElements/controlled/switch/SwitchControl.js.map +1 -1
  66. package/dist/lib/shared/ui/formElements/controlled/textarea/TextareaControl.js +1 -1
  67. package/dist/lib/shared/ui/formElements/controlled/textarea/TextareaControl.js.map +1 -1
  68. package/dist/lib/shared/ui/formElements/controlled/uploader/UploaderControl.js +1 -1
  69. package/dist/lib/shared/ui/formElements/controlled/uploader/UploaderControl.js.map +1 -1
  70. package/dist/lib/shared/ui/formElements/ui/fieldAttachment/ui/ValidateSlot.js +1 -1
  71. package/dist/lib/shared/ui/formElements/ui/fieldAttachment/ui/ValidateSlot.js.map +1 -1
  72. package/dist/lib/shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js +1 -1
  73. package/dist/lib/shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js.map +1 -1
  74. package/dist/lib/shared/ui/formElements/uncontrolled/checkbox/Checkbox.js +1 -1
  75. package/dist/lib/shared/ui/formElements/uncontrolled/checkbox/Checkbox.js.map +1 -1
  76. package/dist/lib/shared/ui/formElements/uncontrolled/combobox/combobox.js +1 -1
  77. package/dist/lib/shared/ui/formElements/uncontrolled/combobox/combobox.js.map +1 -1
  78. package/dist/lib/shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js +1 -1
  79. package/dist/lib/shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js.map +1 -1
  80. package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js +1 -1
  81. package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js.map +1 -1
  82. package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/ui/CurrencyIcon.js +1 -1
  83. package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/ui/CurrencyIcon.js.map +1 -1
  84. package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderAlgorithmic/SliderAlgorithmic.js +1 -1
  85. package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderAlgorithmic/SliderAlgorithmic.js.map +1 -1
  86. package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/SliderMarks.js +1 -1
  87. package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/SliderMarks.js.map +1 -1
  88. package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/SliderStep.js +1 -1
  89. package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/SliderStep.js.map +1 -1
  90. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/UploaderBase.js +1 -1
  91. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/UploaderBase.js.map +1 -1
  92. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/model/hooks/useUploader.js +1 -1
  93. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/model/hooks/useUploader.js.map +1 -1
  94. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFile.js +1 -1
  95. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFile.js.map +1 -1
  96. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFilename.js +1 -1
  97. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFilename.js.map +1 -1
  98. package/dist/lib/shared/ui/hint/Hint.js +1 -1
  99. package/dist/lib/shared/ui/hint/Hint.js.map +1 -1
  100. package/dist/lib/shared/ui/modal/ui/ModalHeader.js +1 -1
  101. package/dist/lib/shared/ui/modal/ui/ModalHeader.js.map +1 -1
  102. package/dist/lib/shared/ui/popover/Popover.js +1 -1
  103. package/dist/lib/shared/ui/popover/Popover.js.map +1 -1
  104. package/dist/lib/shared/ui/table/Desktop.js +1 -1
  105. package/dist/lib/shared/ui/table/Desktop.js.map +1 -1
  106. package/dist/lib/shared/ui/table/Horizontal.js +1 -1
  107. package/dist/lib/shared/ui/table/Horizontal.js.map +1 -1
  108. package/dist/lib/shared/ui/table/Table.js +1 -1
  109. package/dist/lib/shared/ui/table/Table.js.map +1 -1
  110. package/dist/lib/shared/ui/table/model/TableUtils.js +1 -1
  111. package/dist/lib/shared/ui/table/model/TableUtils.js.map +1 -1
  112. package/dist/lib/shared/ui/table/ui/dataTableColumnHeader/DataTableColumnHeader.js +1 -1
  113. package/dist/lib/shared/ui/table/ui/dataTableColumnHeader/DataTableColumnHeader.js.map +1 -1
  114. package/dist/lib/shared/ui/table/ui/editableCell/EditableCell.js +1 -1
  115. package/dist/lib/shared/ui/table/ui/editableCell/EditableCell.js.map +1 -1
  116. package/dist/lib/shared/validation/base/base.constants.js +1 -1
  117. package/dist/lib/shared/validation/base/base.constants.js.map +1 -1
  118. package/dist/lib/shared/validation/base/date.validators.js +1 -1
  119. package/dist/lib/shared/validation/base/date.validators.js.map +1 -1
  120. package/dist/lib/shared/validation/base/regex.validators.js +1 -1
  121. package/dist/lib/shared/validation/base/regex.validators.js.map +1 -1
  122. package/dist/lib/widgets/authProvider/AuthProvider.js +1 -1
  123. package/dist/lib/widgets/authProvider/AuthProvider.js.map +1 -1
  124. package/dist/lib/widgets/authProvider/ui/Esia.js +1 -1
  125. package/dist/lib/widgets/authProvider/ui/Esia.js.map +1 -1
  126. package/dist/lib/widgets/authProvider/ui/MobileId.js +1 -1
  127. package/dist/lib/widgets/authProvider/ui/MobileId.js.map +1 -1
  128. package/dist/lib/widgets/authProvider/ui/ui/AuthWrapper.js +1 -1
  129. package/dist/lib/widgets/authProvider/ui/ui/AuthWrapper.js.map +1 -1
  130. package/dist/lib/widgets/authProvider/ui/ui/Links.js +1 -1
  131. package/dist/lib/widgets/authProvider/ui/ui/Links.js.map +1 -1
  132. package/dist/lib/widgets/banner/index.js +1 -1
  133. package/dist/lib/widgets/banner/ui/banners/BannerImageFull.js +1 -1
  134. package/dist/lib/widgets/banner/ui/banners/BannerImageFull.js.map +1 -1
  135. package/dist/lib/widgets/banner/ui/banners/BannerWithSeparateImg.js +1 -1
  136. package/dist/lib/widgets/banner/ui/banners/BannerWithSeparateImg.js.map +1 -1
  137. package/dist/lib/widgets/banner/ui/banners/ui/Advantages.js +1 -1
  138. package/dist/lib/widgets/banner/ui/banners/ui/Advantages.js.map +1 -1
  139. package/dist/lib/widgets/benefit/Benefit.js +1 -1
  140. package/dist/lib/widgets/benefit/Benefit.js.map +1 -1
  141. package/dist/lib/widgets/benefit/ui/BenefitItem.js +1 -1
  142. package/dist/lib/widgets/benefit/ui/BenefitItem.js.map +1 -1
  143. package/dist/lib/widgets/breadcrumbs/Breadcrumbs.js +1 -1
  144. package/dist/lib/widgets/breadcrumbs/Breadcrumbs.js.map +1 -1
  145. package/dist/lib/widgets/buttonWithHandlers/ButtonWithHandlers.js +1 -1
  146. package/dist/lib/widgets/buttonWithHandlers/ButtonWithHandlers.js.map +1 -1
  147. package/dist/lib/widgets/calculator/Calculator.js +1 -1
  148. package/dist/lib/widgets/calculator/Calculator.js.map +1 -1
  149. package/dist/lib/widgets/calculator/CalculatorView.js +1 -1
  150. package/dist/lib/widgets/calculator/CalculatorView.js.map +1 -1
  151. package/dist/lib/widgets/calculator/ui/calculatorFields/hooks/useAdditionalSlider.js +1 -1
  152. package/dist/lib/widgets/calculator/ui/calculatorFields/hooks/useAdditionalSlider.js.map +1 -1
  153. package/dist/lib/widgets/calculator/ui/calculatorFields/ui/AdditionalSlider.js +1 -1
  154. package/dist/lib/widgets/calculator/ui/calculatorFields/ui/AdditionalSlider.js.map +1 -1
  155. package/dist/lib/widgets/calculator/ui/calculatorFields/ui/CalculatorModal.js +1 -1
  156. package/dist/lib/widgets/calculator/ui/calculatorFields/ui/CalculatorModal.js.map +1 -1
  157. package/dist/lib/widgets/calculator/ui/calculatorFields/ui/FieldsGroup.js +1 -1
  158. package/dist/lib/widgets/calculator/ui/calculatorFields/ui/FieldsGroup.js.map +1 -1
  159. package/dist/lib/widgets/calculator/ui/calculatorFields/ui/SliderFieldsGroup.js +1 -1
  160. package/dist/lib/widgets/calculator/ui/calculatorFields/ui/SliderFieldsGroup.js.map +1 -1
  161. package/dist/lib/widgets/calculator/ui/calculatorInfo/CalculatorInfo.js +1 -1
  162. package/dist/lib/widgets/calculator/ui/calculatorInfo/CalculatorInfo.js.map +1 -1
  163. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/AssistHint.js +1 -1
  164. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/AssistHint.js.map +1 -1
  165. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoBody.js +1 -1
  166. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoBody.js.map +1 -1
  167. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoHead.js +1 -1
  168. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoHead.js.map +1 -1
  169. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/InfoListItem.js +1 -1
  170. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/InfoListItem.js.map +1 -1
  171. package/dist/lib/widgets/dynamicForm/DynamicForm.js +1 -1
  172. package/dist/lib/widgets/dynamicForm/DynamicForm.js.map +1 -1
  173. package/dist/lib/widgets/dynamicFormDialog/DynamicFormDialog.js +1 -1
  174. package/dist/lib/widgets/dynamicFormDialog/DynamicFormDialog.js.map +1 -1
  175. package/dist/lib/widgets/fallbacksView/FallbacksView.js +1 -1
  176. package/dist/lib/widgets/fallbacksView/FallbacksView.js.map +1 -1
  177. package/dist/lib/widgets/fallbacksView/model/helpers.js +1 -1
  178. package/dist/lib/widgets/fallbacksView/model/helpers.js.map +1 -1
  179. package/dist/lib/widgets/fieldMapper/FieldMapper.js +1 -1
  180. package/dist/lib/widgets/fieldMapper/FieldMapper.js.map +1 -1
  181. package/dist/lib/widgets/footer/Footer.js +1 -1
  182. package/dist/lib/widgets/footer/Footer.js.map +1 -1
  183. package/dist/lib/widgets/footer/ui/FooterLogo.js +1 -1
  184. package/dist/lib/widgets/footer/ui/FooterLogo.js.map +1 -1
  185. package/dist/lib/widgets/footer/ui/NavLinks.js +1 -1
  186. package/dist/lib/widgets/footer/ui/NavLinks.js.map +1 -1
  187. package/dist/lib/widgets/footer/ui/PhonesBlock.js +1 -1
  188. package/dist/lib/widgets/footer/ui/PhonesBlock.js.map +1 -1
  189. package/dist/lib/widgets/footer/ui/SiteMap.js +1 -1
  190. package/dist/lib/widgets/footer/ui/SiteMap.js.map +1 -1
  191. package/dist/lib/widgets/footer/ui/SocialLinks.js +1 -1
  192. package/dist/lib/widgets/footer/ui/SocialLinks.js.map +1 -1
  193. package/dist/lib/widgets/header/Header.js +1 -1
  194. package/dist/lib/widgets/header/Header.js.map +1 -1
  195. package/dist/lib/widgets/header/model/helpers.js +1 -1
  196. package/dist/lib/widgets/header/model/helpers.js.map +1 -1
  197. package/dist/lib/widgets/index.js +1 -1
  198. package/dist/lib/widgets/infoBlock/InfoBlock.js +1 -1
  199. package/dist/lib/widgets/infoBlock/InfoBlock.js.map +1 -1
  200. package/dist/lib/widgets/infoBlock/ui/LinksList.js +1 -1
  201. package/dist/lib/widgets/infoBlock/ui/LinksList.js.map +1 -1
  202. package/dist/lib/widgets/infoBlock/ui/RootContent.js +1 -1
  203. package/dist/lib/widgets/infoBlock/ui/RootContent.js.map +1 -1
  204. package/dist/lib/widgets/interLinking/InterLinking.js +1 -1
  205. package/dist/lib/widgets/interLinking/InterLinking.js.map +1 -1
  206. package/dist/lib/widgets/interLinking/ui/ColumnGroup.js +1 -1
  207. package/dist/lib/widgets/interLinking/ui/ColumnGroup.js.map +1 -1
  208. package/dist/lib/widgets/interLinking/ui/LinksList.js +1 -1
  209. package/dist/lib/widgets/interLinking/ui/LinksList.js.map +1 -1
  210. package/dist/lib/widgets/longBanner/LongBanner.js +1 -1
  211. package/dist/lib/widgets/longBanner/LongBanner.js.map +1 -1
  212. package/dist/lib/widgets/longBanner/ui/TextItem.js +1 -1
  213. package/dist/lib/widgets/longBanner/ui/TextItem.js.map +1 -1
  214. package/dist/lib/widgets/model/helpers.js +2 -2
  215. package/dist/lib/widgets/model/helpers.js.map +1 -1
  216. package/dist/lib/widgets/seoHeader/SeoHeader.js +1 -1
  217. package/dist/lib/widgets/seoHeader/SeoHeader.js.map +1 -1
  218. package/dist/lib/widgets/seoHeader/ui/desktop/CategoriesDesktop.js +1 -1
  219. package/dist/lib/widgets/seoHeader/ui/desktop/CategoriesDesktop.js.map +1 -1
  220. package/dist/lib/widgets/seoHeader/ui/desktop/CategoryTabs.js +1 -1
  221. package/dist/lib/widgets/seoHeader/ui/desktop/CategoryTabs.js.map +1 -1
  222. package/dist/lib/widgets/seoHeader/ui/desktop/tab/ui/content/TabContent.js +1 -1
  223. package/dist/lib/widgets/seoHeader/ui/desktop/tab/ui/content/TabContent.js.map +1 -1
  224. package/dist/lib/widgets/seoHeader/ui/mobile/CategoriesMobile.js +1 -1
  225. package/dist/lib/widgets/seoHeader/ui/mobile/CategoriesMobile.js.map +1 -1
  226. package/dist/lib/widgets/seoHeader/ui/mobile/menu/Menu.js +1 -1
  227. package/dist/lib/widgets/seoHeader/ui/mobile/menu/Menu.js.map +1 -1
  228. package/dist/lib/widgets/seoHeader/ui/mobile/menu/MenuItem.js +1 -1
  229. package/dist/lib/widgets/seoHeader/ui/mobile/menu/MenuItem.js.map +1 -1
  230. package/dist/lib/widgets/stepper/Stepper.js +1 -1
  231. package/dist/lib/widgets/stepper/Stepper.js.map +1 -1
  232. package/dist/lib/widgets/stepper/ui/StepperCarousel.js +1 -1
  233. package/dist/lib/widgets/stepper/ui/StepperCarousel.js.map +1 -1
  234. package/dist/lib/widgets/table/InfoTable.js +1 -1
  235. package/dist/lib/widgets/table/InfoTable.js.map +1 -1
  236. package/dist/lib/widgets/usefulInfo/UsefulInfo.js +1 -1
  237. package/dist/lib/widgets/usefulInfo/UsefulInfo.js.map +1 -1
  238. package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/Documents.js +1 -1
  239. package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/Documents.js.map +1 -1
  240. package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/ui/document/Document.js +1 -1
  241. package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/ui/document/Document.js.map +1 -1
  242. package/dist/lib/widgets/usefulInfo/ui/subEntities/experts/Experts.js +1 -1
  243. package/dist/lib/widgets/usefulInfo/ui/subEntities/experts/Experts.js.map +1 -1
  244. package/dist/lib/widgets/usefulInfo/ui/subEntities/html/Html.js +1 -1
  245. package/dist/lib/widgets/usefulInfo/ui/subEntities/html/Html.js.map +1 -1
  246. package/dist/lib/widgets/usefulInfo/ui/subEntities/table/Table.js +1 -1
  247. package/dist/lib/widgets/usefulInfo/ui/subEntities/table/Table.js.map +1 -1
  248. package/dist/lib/widgets/userFeedback/UserFeedback.js +1 -1
  249. package/dist/lib/widgets/userFeedback/UserFeedback.js.map +1 -1
  250. package/dist/lib/widgets/userFeedback/ui/FeedbackTrigger.js +1 -1
  251. package/dist/lib/widgets/userFeedback/ui/FeedbackTrigger.js.map +1 -1
  252. package/dist/lib/widgets/userFeedback/ui/Finally.js +1 -1
  253. package/dist/lib/widgets/userFeedback/ui/Finally.js.map +1 -1
  254. package/dist/lib/widgets/userFeedback/ui/SelectRating.js +1 -1
  255. package/dist/lib/widgets/userFeedback/ui/SelectRating.js.map +1 -1
  256. package/dist/lib/widgets/userFeedback/ui/UserReview.js +1 -1
  257. package/dist/lib/widgets/userFeedback/ui/UserReview.js.map +1 -1
  258. package/dist/node_modules/@hookform/resolvers/dist/resolvers.js +1 -1
  259. package/dist/node_modules/@hookform/resolvers/dist/resolvers.js.map +1 -1
  260. package/dist/node_modules/@hookform/resolvers/zod/dist/zod.js +1 -1
  261. package/dist/node_modules/@hookform/resolvers/zod/dist/zod.js.map +1 -1
  262. package/dist/stats.html +1 -1
  263. package/package.json +3 -2
  264. package/dist/node_modules/react-hook-form/dist/index.esm.js +0 -2
  265. package/dist/node_modules/react-hook-form/dist/index.esm.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"combobox.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/combobox/combobox.tsx"],"sourcesContent":["import { type ForwardedRef, forwardRef } from 'react'\nimport { autoUpdate, flip, offset, useFloating } from '@floating-ui/react'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport { useCombobox, useKeyboardNavigation } from './hooks'\nimport type { ChangeHandler, ComboboxValue } from './model'\nimport type { ComboboxItemOption } from './ui'\nimport { useClickOutside } from '$/shared/hooks'\nimport { type DeepPartial } from '$/shared/types'\nimport { DropdownList, Icon, Portal } from '$/shared/ui'\nimport { type DropdownListClasses, type DropdownListProps } from '$/shared/ui/dropdownList'\nimport { type IFieldAttachmentProps } from '$/shared/ui/formElements/ui'\nimport { InputBase, type InputBaseProps } from '$/shared/ui/formElements/uncontrolled/input'\nimport { cn } from '$/shared/utils'\n\nexport type ComboboxClasses = {\n root?: string\n list?: { floating?: string } & DropdownListClasses\n input?: InputBaseProps['classes']\n}\n\nexport type ExternalHandlers<Multi extends boolean> = {\n changeHandler?: ChangeHandler<Multi>\n clickHandler?: (event: React.MouseEvent<HTMLElement>) => void\n blurHandler?: (event: React.FocusEvent<HTMLElement>) => void\n focusHandler?: (event: React.FocusEvent<HTMLElement>) => void\n inputChangeHandler?: (value: string) => void\n}\n\nexport interface ComboboxProps<Multi extends boolean>\n extends Omit<DropdownListProps<Multi>, 'options' | 'value' | 'onChange'>,\n Record<`data-${string}`, unknown> {\n /**\n * Список опций\n */\n options: ComboboxItemOption[]\n /**\n * Выбранное значение\n */\n value?: ComboboxValue<Multi>\n /**\n * Функция для изменения значения\n */\n onChange?: ChangeHandler<Multi>\n /**\n * Свойство управляющее поиском\n */\n searchable?: boolean\n /**\n * Открыть список по умолчанию\n */\n defaultOpen?: boolean\n /**\n * Свойства дополнительной иконки\n */\n attachmentProps?: DeepPartial<IFieldAttachmentProps>\n /**\n * Пометить поле как не валидное\n */\n invalid?: boolean\n /**\n * Функция для управления отображаемым значением\n */\n displayValue?: (option: ComboboxItemOption) => string\n /**\n * Отображаемый лейбл\n */\n label: string\n /**\n * Выключено поле\n */\n disabled?: boolean\n /**\n * Только для чтения\n */\n readOnly?: boolean\n /**\n * Дополнительные стили\n */\n classes?: ComboboxClasses\n /**\n * Дополнительные события\n */\n externalHandlers?: ExternalHandlers<Multi>\n /**\n * Функция для изменения значения поиска\n */\n onInputChange?: (value: string) => void\n /**\n * Значение инпута\n */\n inputValue?: string\n /**\n * Выключить фильтрацию списка\n */\n filterDisabled?: boolean\n /**\n * Включить рендеринг в портале\n * @property {false | HTMLElement} portal document.body\n */\n portal?: false | HTMLElement\n}\n\nconst InnerComponent = <Multi extends boolean>(\n {\n options: initialOptions,\n multiple,\n value,\n onChange,\n defaultOpen,\n attachmentProps,\n searchable,\n invalid,\n displayValue,\n label,\n disabled,\n readOnly,\n className,\n externalHandlers,\n inputValue,\n filterDisabled,\n onInputChange: externalInputChangeHandler,\n empty,\n classes,\n portal = globalThis ? globalThis?.document?.body : undefined\n }: ComboboxProps<Multi>,\n ref: ForwardedRef<HTMLInputElement>\n) => {\n const { floating, ...dropdownClasses } = classes?.list ?? {}\n\n const { refs, floatingStyles } = useFloating<HTMLDivElement>({\n placement: 'bottom-start',\n strategy: 'absolute',\n middleware: [\n flip({\n boundary: 'clippingAncestors',\n crossAxis: false\n }),\n offset(4)\n ],\n whileElementsMounted: autoUpdate\n })\n\n const { open, setOpen, state, changeHandler, options, search, onInputChange, comboboxDisplayValue } = useCombobox({\n multiple,\n value,\n onChange,\n searchable,\n defaultOpen,\n displayValue,\n initialOptions,\n filterDisabled,\n externalHandlers,\n externalInputValue: inputValue,\n externalOnInputChange: externalInputChangeHandler\n })\n\n useKeyboardNavigation({ ref: refs.domReference, openChangeHandler: setOpen })\n\n const getLabel = () => {\n if (!value) return ''\n\n if (multiple && searchable) {\n return comboboxDisplayValue(value)\n } else if (searchable) {\n return search\n } else {\n return comboboxDisplayValue(value)\n }\n }\n\n useClickOutside(refs.floating, () => setOpen(false))\n\n const portalContainer = portal ?? refs.domReference.current!\n\n return (\n <div ref={refs.setReference} className={cn('relative w-full', classes?.root, className)}>\n <InputBase\n ref={ref}\n label={label}\n invalid={invalid}\n readOnly={readOnly || !searchable}\n value={inputValue || getLabel()}\n onChange={onInputChange}\n disabled={disabled}\n onClick={(event) => {\n setOpen(true)\n externalHandlers?.clickHandler?.(event)\n }}\n onBlur={externalHandlers?.blurHandler}\n onFocus={externalHandlers?.focusHandler}\n classes={{\n input: cn({\n 'cursor-pointer': !searchable,\n 'cursor-default': disabled,\n 'pointer-events-none': disabled || readOnly\n }),\n ...classes?.input\n }}\n autoComplete='off'\n attachmentProps={{\n icon: (\n <Icon\n name='arrows/arrowRight'\n className={cn('size-6 rotate-90 text-color-blue-grey-600 duration-100', {\n '-rotate-90': open,\n 'text-color-negative': invalid\n })}\n />\n ),\n onClickIcon: () => setOpen((prev) => !prev),\n ...attachmentProps\n }}\n data-test-id='combobox-input'\n />\n\n <Portal root={portalContainer}>\n <AnimatePresence>\n {open && (\n <motion.div\n ref={refs.setFloating}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{ duration: 0.1 }}\n className={cn('z-[1000]', floating)}\n style={{\n ...floatingStyles,\n width: refs.reference.current?.getBoundingClientRect().width\n }}\n >\n <DropdownList\n empty={empty}\n options={options}\n multiple={multiple}\n onPick={changeHandler}\n value={state}\n displayValue={displayValue}\n classes={dropdownClasses}\n target={refs.domReference}\n />\n </motion.div>\n )}\n </AnimatePresence>\n </Portal>\n </div>\n )\n}\n\nexport const Combobox = forwardRef(InnerComponent) as <Multi extends boolean>(\n props: ComboboxProps<Multi> & { ref?: ForwardedRef<HTMLInputElement> }\n) => React.JSX.Element\n"],"names":["InnerComponent","initialOptions","multiple","value","onChange","defaultOpen","attachmentProps","searchable","invalid","displayValue","label","disabled","readOnly","className","externalHandlers","inputValue","filterDisabled","externalInputChangeHandler","empty","classes","portal","_a","ref","floating","dropdownClasses","refs","floatingStyles","useFloating","flip","offset","autoUpdate","open","setOpen","state","changeHandler","options","search","onInputChange","comboboxDisplayValue","useCombobox","useKeyboardNavigation","getLabel","useClickOutside","portalContainer","jsxs","cn","jsx","InputBase","event","Icon","prev","Portal","AnimatePresence","motion","DropdownList","Combobox","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"combobox.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/combobox/combobox.tsx"],"sourcesContent":["import { type ForwardedRef, forwardRef } from 'react'\nimport { autoUpdate, flip, offset, useFloating } from '@floating-ui/react'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport { useCombobox, useKeyboardNavigation } from './hooks'\nimport type { ChangeHandler, ComboboxValue } from './model'\nimport type { ComboboxItemOption } from './ui'\nimport { useClickOutside } from '$/shared/hooks'\nimport { type DeepPartial } from '$/shared/types'\nimport { DropdownList, Icon, Portal } from '$/shared/ui'\nimport { type DropdownListClasses, type DropdownListProps } from '$/shared/ui/dropdownList'\nimport { type IFieldAttachmentProps } from '$/shared/ui/formElements/ui'\nimport { InputBase, type InputBaseProps } from '$/shared/ui/formElements/uncontrolled/input'\nimport { cn } from '$/shared/utils'\n\nexport type ComboboxClasses = {\n root?: string\n list?: { floating?: string } & DropdownListClasses\n input?: InputBaseProps['classes']\n}\n\nexport type ExternalHandlers<Multi extends boolean> = {\n changeHandler?: ChangeHandler<Multi>\n clickHandler?: (event: React.MouseEvent<HTMLElement>) => void\n blurHandler?: (event: React.FocusEvent<HTMLElement>) => void\n focusHandler?: (event: React.FocusEvent<HTMLElement>) => void\n inputChangeHandler?: (value: string) => void\n}\n\nexport interface ComboboxProps<Multi extends boolean>\n extends Omit<DropdownListProps<Multi>, 'options' | 'value' | 'onChange'>,\n Record<`data-${string}`, unknown> {\n /**\n * Список опций\n */\n options: ComboboxItemOption[]\n /**\n * Выбранное значение\n */\n value?: ComboboxValue<Multi>\n /**\n * Функция для изменения значения\n */\n onChange?: ChangeHandler<Multi>\n /**\n * Свойство управляющее поиском\n */\n searchable?: boolean\n /**\n * Открыть список по умолчанию\n */\n defaultOpen?: boolean\n /**\n * Свойства дополнительной иконки\n */\n attachmentProps?: DeepPartial<IFieldAttachmentProps>\n /**\n * Пометить поле как не валидное\n */\n invalid?: boolean\n /**\n * Функция для управления отображаемым значением\n */\n displayValue?: (option: ComboboxItemOption) => string\n /**\n * Отображаемый лейбл\n */\n label: string\n /**\n * Выключено поле\n */\n disabled?: boolean\n /**\n * Только для чтения\n */\n readOnly?: boolean\n /**\n * Дополнительные стили\n */\n classes?: ComboboxClasses\n /**\n * Дополнительные события\n */\n externalHandlers?: ExternalHandlers<Multi>\n /**\n * Функция для изменения значения поиска\n */\n onInputChange?: (value: string) => void\n /**\n * Значение инпута\n */\n inputValue?: string\n /**\n * Выключить фильтрацию списка\n */\n filterDisabled?: boolean\n /**\n * Включить рендеринг в портале\n * @property {false | HTMLElement} portal document.body\n */\n portal?: false | HTMLElement\n}\n\nconst InnerComponent = <Multi extends boolean>(\n {\n options: initialOptions,\n multiple,\n value,\n onChange,\n defaultOpen,\n attachmentProps,\n searchable,\n invalid,\n displayValue,\n label,\n disabled,\n readOnly,\n className,\n externalHandlers,\n inputValue,\n filterDisabled,\n onInputChange: externalInputChangeHandler,\n empty,\n classes,\n portal = globalThis ? globalThis?.document?.body : undefined\n }: ComboboxProps<Multi>,\n ref: ForwardedRef<HTMLInputElement>\n) => {\n const { floating, ...dropdownClasses } = classes?.list ?? {}\n\n const { refs, floatingStyles } = useFloating<HTMLDivElement>({\n placement: 'bottom-start',\n strategy: 'absolute',\n middleware: [\n flip({\n boundary: 'clippingAncestors',\n crossAxis: false\n }),\n offset(4)\n ],\n whileElementsMounted: autoUpdate\n })\n\n const { open, setOpen, state, changeHandler, options, search, onInputChange, comboboxDisplayValue } = useCombobox({\n multiple,\n value,\n onChange,\n searchable,\n defaultOpen,\n displayValue,\n initialOptions,\n filterDisabled,\n externalHandlers,\n externalInputValue: inputValue,\n externalOnInputChange: externalInputChangeHandler\n })\n\n useKeyboardNavigation({ ref: refs.domReference, openChangeHandler: setOpen })\n\n const getLabel = () => {\n if (!value) return ''\n\n if (multiple && searchable) {\n return comboboxDisplayValue(value)\n } else if (searchable) {\n return search\n } else {\n return comboboxDisplayValue(value)\n }\n }\n\n useClickOutside(refs.floating, () => setOpen(false))\n\n const portalContainer = portal ?? refs.domReference.current!\n\n return (\n <div ref={refs.setReference} className={cn('relative w-full', classes?.root, className)}>\n <InputBase\n ref={ref}\n label={label}\n invalid={invalid}\n readOnly={readOnly || !searchable}\n value={inputValue || getLabel()}\n onChange={onInputChange}\n disabled={disabled}\n onClick={(event) => {\n setOpen(true)\n externalHandlers?.clickHandler?.(event)\n }}\n onBlur={externalHandlers?.blurHandler}\n onFocus={externalHandlers?.focusHandler}\n classes={{\n input: cn({\n 'cursor-pointer': !searchable,\n 'cursor-default': disabled,\n 'pointer-events-none': disabled || readOnly\n }),\n ...classes?.input\n }}\n autoComplete='off'\n attachmentProps={{\n icon: (\n <Icon\n name='arrows/arrowRight'\n className={cn('size-6 rotate-90 text-color-blue-grey-600 duration-100', {\n '-rotate-90': open,\n 'text-color-negative': invalid\n })}\n />\n ),\n onClickIcon: () => setOpen((prev) => !prev),\n ...attachmentProps\n }}\n data-test-id='combobox-input'\n />\n\n <Portal root={portalContainer}>\n <AnimatePresence>\n {open && (\n <motion.div\n ref={refs.setFloating}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{ duration: 0.1 }}\n className={cn('z-[1000]', floating)}\n style={{\n ...floatingStyles,\n width: refs.reference.current?.getBoundingClientRect().width\n }}\n >\n <DropdownList\n empty={empty}\n options={options}\n multiple={multiple}\n onPick={changeHandler}\n value={state}\n displayValue={displayValue}\n classes={dropdownClasses}\n target={refs.domReference}\n />\n </motion.div>\n )}\n </AnimatePresence>\n </Portal>\n </div>\n )\n}\n\nexport const Combobox = forwardRef(InnerComponent) as <Multi extends boolean>(\n props: ComboboxProps<Multi> & { ref?: ForwardedRef<HTMLInputElement> }\n) => React.JSX.Element\n"],"names":["InnerComponent","initialOptions","multiple","value","onChange","defaultOpen","attachmentProps","searchable","invalid","displayValue","label","disabled","readOnly","className","externalHandlers","inputValue","filterDisabled","externalInputChangeHandler","empty","classes","portal","_a","ref","floating","dropdownClasses","refs","floatingStyles","useFloating","flip","offset","autoUpdate","open","setOpen","state","changeHandler","options","search","onInputChange","comboboxDisplayValue","useCombobox","useKeyboardNavigation","getLabel","useClickOutside","portalContainer","jsxs","cn","jsx","InputBase","event","Icon","prev","Portal","AnimatePresence","motion","DropdownList","Combobox","forwardRef"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{jsx as n,jsxs as B}from"react/jsx-runtime";import{forwardRef as F,useRef as M,useState as p}from"react";import{createPortal as T}from"react-dom";import{useClickOutside as j}from"../../../../hooks/useClickOutside.js";import{cn as C}from"../../../../utils/cn.js";import"../../../button/Button.js";import"../../../buttonIcon/ButtonIcon.js";import{Calendar as _}from"../../../calendar/Calendar.js";import{DATE_VISIBLE_PATTERN as c}from"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"../../../modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as q}from"../../../icon/Icon.js";import"../../../table/ui/primitives/Primitives.js";import"../../../carousel/ui/CarouselContent.js";import"../../../slot/Slot.js";import"../autocomplete/Autocomplete.js";import"../checkbox/Checkbox.js";import"../combobox/combobox.js";import"../input/Input.js";import"../inputOtp/InputOtpBase.js";import{MaskInput as v}from"../maskInput/MaskInput.js";import"../radio/RadioGroup.js";import"../radio/ui/RadioItem.js";import"../slider/SliderBase.js";import"../switch/Switch.js";import"../textarea/Textarea.js";import"../uploader/UploaderBase.js";import"../inputCurrency/InputCurrency.js";import"../../../../../../src/configs/api.js";import"../../controlled/editor/ui/Editor.js";import"../../controlled/input/MaskInputControl.js";import"../../../dropdownList/ui/dropdownItem/DropdownItem.js";import{AnimatePresence as H}from"../../../../../../node_modules/framer-motion/dist/es/components/AnimatePresence/index.js";import{parse as K}from"../../../../../../node_modules/date-fns/parse.js";import{isValid as L}from"../../../../../../node_modules/date-fns/isValid.js";import{formatDate as x}from"../../../../../../node_modules/date-fns/format.js";const $=F(({defaultOpen:y=!1,value:l,onChange:e,disabled:i,externalHandlers:k,classes:w,...f},O)=>{const{onChange:o,onFocus:u,...I}=k||{},d=M(null),[P,r]=p(y),D=()=>{r(t=>!t)},[S,a]=p(new Date),[R,g]=p(x(new Date,c));j(d,()=>r(!1));const V=l?new Date(l):new Date,N=t=>{if(g(t),!/^(\d{2})\.(\d{2})\.(\d{4})$/.test(t))return;const s=K(t,c,new Date);if(L(s)){const h=s.toISOString();e&&e(h),o&&o(h),a(s)}},b=t=>{a(t);const m=t.toISOString();e&&e(m),o&&o(m),g(x(t,c)),r(!1)},{root:E,input:A}=w||{};return n("div",{ref:d,className:C("relative w-full",E),children:B(H,{mode:"sync",children:[n(v,{ref:O,...f,...I,disabled:i,mask:"##.##.####",classes:A,value:R,onChange:t=>N(t.target.value),autoComplete:"off",onFocus:t=>{r(!0),u&&u(t)},onKeyDown:t=>{(t.key==="Enter"||t.key===" ")&&D()},attachmentProps:{...f.attachmentProps,icon:n(q,{name:"general/calendar",className:C("text-icon-blue-grey-600",{"text-icon-disabled":i})}),onClickIcon:D,disabled:i}}),P&&T(n(_,{required:!0,mode:"single",month:S,onMonthChange:a,selected:V,onSelect:b,className:"absolute right-0 top-full"}),document.body)]})})});$.displayName="DayPickerBase";export{$ as DayPickerBase};
1
+ import{jsx as n,jsxs as B}from"react/jsx-runtime";import{forwardRef as F,useRef as M,useState as p}from"react";import{createPortal as T}from"react-dom";import{useClickOutside as j}from"../../../../hooks/useClickOutside.js";import"react-hook-form";import{cn as C}from"../../../../utils/cn.js";import"../../../button/Button.js";import"../../../buttonIcon/ButtonIcon.js";import{Calendar as _}from"../../../calendar/Calendar.js";import{DATE_VISIBLE_PATTERN as c}from"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"../../../modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as q}from"../../../icon/Icon.js";import"../../../table/ui/primitives/Primitives.js";import"../../../carousel/ui/CarouselContent.js";import"../../../slot/Slot.js";import"../autocomplete/Autocomplete.js";import"../checkbox/Checkbox.js";import"../combobox/combobox.js";import"../input/Input.js";import"../inputOtp/InputOtpBase.js";import{MaskInput as v}from"../maskInput/MaskInput.js";import"../radio/RadioGroup.js";import"../radio/ui/RadioItem.js";import"../slider/SliderBase.js";import"../switch/Switch.js";import"../textarea/Textarea.js";import"../uploader/UploaderBase.js";import"../inputCurrency/InputCurrency.js";import"../../../../../../src/configs/api.js";import"../../controlled/editor/ui/Editor.js";import"../../controlled/input/MaskInputControl.js";import"../../../dropdownList/ui/dropdownItem/DropdownItem.js";import{AnimatePresence as H}from"../../../../../../node_modules/framer-motion/dist/es/components/AnimatePresence/index.js";import{parse as K}from"../../../../../../node_modules/date-fns/parse.js";import{isValid as L}from"../../../../../../node_modules/date-fns/isValid.js";import{formatDate as x}from"../../../../../../node_modules/date-fns/format.js";const $=F(({defaultOpen:y=!1,value:l,onChange:e,disabled:i,externalHandlers:k,classes:w,...f},O)=>{const{onChange:o,onFocus:u,...I}=k||{},d=M(null),[P,r]=p(y),D=()=>{r(t=>!t)},[S,a]=p(new Date),[R,g]=p(x(new Date,c));j(d,()=>r(!1));const V=l?new Date(l):new Date,N=t=>{if(g(t),!/^(\d{2})\.(\d{2})\.(\d{4})$/.test(t))return;const s=K(t,c,new Date);if(L(s)){const h=s.toISOString();e&&e(h),o&&o(h),a(s)}},b=t=>{a(t);const m=t.toISOString();e&&e(m),o&&o(m),g(x(t,c)),r(!1)},{root:E,input:A}=w||{};return n("div",{ref:d,className:C("relative w-full",E),children:B(H,{mode:"sync",children:[n(v,{ref:O,...f,...I,disabled:i,mask:"##.##.####",classes:A,value:R,onChange:t=>N(t.target.value),autoComplete:"off",onFocus:t=>{r(!0),u&&u(t)},onKeyDown:t=>{(t.key==="Enter"||t.key===" ")&&D()},attachmentProps:{...f.attachmentProps,icon:n(q,{name:"general/calendar",className:C("text-icon-blue-grey-600",{"text-icon-disabled":i})}),onClickIcon:D,disabled:i}}),P&&T(n(_,{required:!0,mode:"single",month:S,onMonthChange:a,selected:V,onSelect:b,className:"absolute right-0 top-full"}),document.body)]})})});$.displayName="DayPickerBase";export{$ as DayPickerBase};
2
2
  //# sourceMappingURL=DayPicker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DayPicker.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/dayPicker/DayPicker.tsx"],"sourcesContent":["import { forwardRef, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\nimport { format, isValid, parse } from 'date-fns'\nimport { AnimatePresence } from 'framer-motion'\nimport { type InputBaseClasses } from '../input/Input'\nimport { useClickOutside } from '$/shared/hooks'\nimport { Calendar, DATE_VISIBLE_PATTERN, Icon, MaskInput, type MaskInputProps } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\ntype ExternalHandlers = {\n onChange?: (value: string) => void\n onClick?: (event: React.MouseEvent<HTMLInputElement>) => void\n onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void\n}\n\nexport type DayPickerClasses = {\n root?: string\n input?: InputBaseClasses\n}\n\nexport type DayPickerProps = Omit<MaskInputProps, 'value' | 'onChange' | 'mask' | 'classes'> & {\n /**\n * Указывает, открыт ли календарь по умолчанию\n */\n defaultOpen?: boolean\n /**\n * Значение поля\n */\n value?: string\n /**\n * Функция изменения значения\n */\n onChange?: (value: string) => void\n /**\n * Внешние классы которыми можно поменять стили\n */\n classes?: DayPickerClasses\n /**\n * Дополнительные хендлеры\n */\n externalHandlers?: ExternalHandlers\n}\n\nexport const DayPickerBase = forwardRef<HTMLInputElement, DayPickerProps>(\n ({ defaultOpen = false, value, onChange, disabled, externalHandlers, classes, ...props }, ref) => {\n const { onChange: externalOnChange, onFocus: externalOnFocus, ...restHandlers } = externalHandlers || {}\n\n const containerRef = useRef<HTMLDivElement>(null)\n\n const [calendarOpen, setCalendarOpen] = useState<boolean>(defaultOpen)\n const onCalendarOpenChange = () => {\n setCalendarOpen((prev) => !prev)\n }\n\n const [month, setMonth] = useState<Date>(new Date())\n const [visibleValue, setVisibleValue] = useState<string>(format(new Date(), DATE_VISIBLE_PATTERN))\n\n useClickOutside(containerRef, () => setCalendarOpen(false))\n\n const date = value ? new Date(value) : new Date()\n\n const onValueChange = (value: string) => {\n setVisibleValue(value)\n\n const dateRegex = /^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/\n\n if (!dateRegex.test(value)) {\n return\n }\n\n const parsedDate = parse(value, DATE_VISIBLE_PATTERN, new Date())\n\n if (isValid(parsedDate)) {\n const isoDate = parsedDate.toISOString()\n\n if (onChange) onChange(isoDate)\n if (externalOnChange) externalOnChange(isoDate)\n setMonth(parsedDate)\n }\n }\n\n const onDateChange = (date: Date) => {\n setMonth(date)\n\n const isoDate = date.toISOString()\n\n if (onChange) onChange(isoDate)\n if (externalOnChange) externalOnChange(isoDate)\n\n setVisibleValue(format(date, DATE_VISIBLE_PATTERN))\n setCalendarOpen(false)\n }\n\n const { root, input } = classes || {}\n\n return (\n <div ref={containerRef} className={cn('relative w-full', root)}>\n <AnimatePresence mode='sync'>\n <MaskInput\n ref={ref}\n {...props}\n {...restHandlers}\n disabled={disabled}\n mask='##.##.####'\n classes={input}\n value={visibleValue}\n onChange={(event) => onValueChange(event.target.value)}\n autoComplete='off'\n onFocus={(event) => {\n setCalendarOpen(true)\n if (externalOnFocus) externalOnFocus(event)\n }}\n onKeyDown={(event) => {\n if (event.key === 'Enter' || event.key === ' ') {\n onCalendarOpenChange()\n }\n }}\n attachmentProps={{\n ...props.attachmentProps,\n icon: (\n <Icon name='general/calendar' className={cn('text-icon-blue-grey-600', { 'text-icon-disabled': disabled })} />\n ),\n onClickIcon: onCalendarOpenChange,\n disabled\n }}\n />\n {calendarOpen &&\n createPortal(\n <Calendar\n required\n mode='single'\n month={month}\n onMonthChange={setMonth}\n selected={date}\n onSelect={onDateChange}\n className='absolute right-0 top-full'\n />,\n document.body\n )}\n </AnimatePresence>\n </div>\n )\n }\n)\nDayPickerBase.displayName = 'DayPickerBase'\n"],"names":["DayPickerBase","forwardRef","defaultOpen","value","onChange","disabled","externalHandlers","classes","props","ref","externalOnChange","externalOnFocus","restHandlers","containerRef","useRef","calendarOpen","setCalendarOpen","useState","onCalendarOpenChange","prev","month","setMonth","visibleValue","setVisibleValue","format","DATE_VISIBLE_PATTERN","useClickOutside","date","onValueChange","parsedDate","parse","isValid","isoDate","onDateChange","root","input","jsx","cn","jsxs","AnimatePresence","MaskInput","event","Icon","createPortal","Calendar"],"mappings":"qxDA4CO,MAAMA,EAAgBC,EAC3B,CAAC,CAAE,YAAAC,EAAc,GAAO,MAAAC,EAAO,SAAAC,EAAU,SAAAC,EAAU,iBAAAC,EAAkB,QAAAC,EAAS,GAAGC,CAAA,EAASC,IAAQ,CAChG,KAAM,CAAE,SAAUC,EAAkB,QAASC,EAAiB,GAAGC,CAAA,EAAiBN,GAAoB,CAAA,EAEhGO,EAAeC,EAAuB,IAAI,EAE1C,CAACC,EAAcC,CAAe,EAAIC,EAAkBf,CAAW,EAC/DgB,EAAuB,IAAM,CACjCF,EAAiBG,GAAS,CAACA,CAAI,CACjC,EAEM,CAACC,EAAOC,CAAQ,EAAIJ,EAAe,IAAI,IAAM,EAC7C,CAACK,EAAcC,CAAe,EAAIN,EAAiBO,EAAO,IAAI,KAAQC,CAAoB,CAAC,EAEjGC,EAAgBb,EAAc,IAAMG,EAAgB,EAAK,CAAC,EAE1D,MAAMW,EAAOxB,EAAQ,IAAI,KAAKA,CAAK,MAAQ,KAErCyB,EAAiBzB,GAAkB,CAKvC,GAJAoB,EAAgBpB,CAAK,EAIjB,CAFc,8BAEH,KAAKA,CAAK,EACvB,OAGF,MAAM0B,EAAaC,EAAM3B,EAAOsB,EAAsB,IAAI,IAAM,EAEhE,GAAIM,EAAQF,CAAU,EAAG,CACvB,MAAMG,EAAUH,EAAW,YAAA,EAEvBzB,KAAmB4B,CAAO,EAC1BtB,KAAmCsB,CAAO,EAC9CX,EAASQ,CAAU,CACrB,CACF,EAEMI,EAAgBN,GAAe,CACnCN,EAASM,CAAI,EAEb,MAAMK,EAAUL,EAAK,YAAA,EAEjBvB,KAAmB4B,CAAO,EAC1BtB,KAAmCsB,CAAO,EAE9CT,EAAgBC,EAAOG,EAAMF,CAAoB,CAAC,EAClDT,EAAgB,EAAK,CACvB,EAEM,CAAE,KAAAkB,EAAM,MAAAC,CAAA,EAAU5B,GAAW,CAAA,EAEnC,OACE6B,EAAC,MAAA,CAAI,IAAKvB,EAAc,UAAWwB,EAAG,kBAAmBH,CAAI,EAC3D,SAAAI,EAACC,EAAA,CAAgB,KAAK,OACpB,SAAA,CAAAH,EAACI,EAAA,CACC,IAAA/B,EACC,GAAGD,EACH,GAAGI,EACJ,SAAAP,EACA,KAAK,aACL,QAAS8B,EACT,MAAOb,EACP,SAAWmB,GAAUb,EAAca,EAAM,OAAO,KAAK,EACrD,aAAa,MACb,QAAUA,GAAU,CAClBzB,EAAgB,EAAI,EAChBL,KAAiC8B,CAAK,CAC5C,EACA,UAAYA,GAAU,EAChBA,EAAM,MAAQ,SAAWA,EAAM,MAAQ,MACzCvB,EAAA,CAEJ,EACA,gBAAiB,CACf,GAAGV,EAAM,gBACT,KACE4B,EAACM,EAAA,CAAK,KAAK,mBAAmB,UAAWL,EAAG,0BAA2B,CAAE,qBAAsBhC,CAAA,CAAU,CAAA,CAAG,EAE9G,YAAaa,EACb,SAAAb,CAAA,CACF,CAAA,EAEDU,GACC4B,EACEP,EAACQ,EAAA,CACC,SAAQ,GACR,KAAK,SACL,MAAAxB,EACA,cAAeC,EACf,SAAUM,EACV,SAAUM,EACV,UAAU,2BAAA,CAAA,EAEZ,SAAS,IAAA,CACX,CAAA,CACJ,CAAA,CACF,CAEJ,CACF,EACAjC,EAAc,YAAc"}
1
+ {"version":3,"file":"DayPicker.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/dayPicker/DayPicker.tsx"],"sourcesContent":["import { forwardRef, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\nimport { format, isValid, parse } from 'date-fns'\nimport { AnimatePresence } from 'framer-motion'\nimport { type InputBaseClasses } from '../input/Input'\nimport { useClickOutside } from '$/shared/hooks'\nimport { Calendar, DATE_VISIBLE_PATTERN, Icon, MaskInput, type MaskInputProps } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\ntype ExternalHandlers = {\n onChange?: (value: string) => void\n onClick?: (event: React.MouseEvent<HTMLInputElement>) => void\n onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void\n}\n\nexport type DayPickerClasses = {\n root?: string\n input?: InputBaseClasses\n}\n\nexport type DayPickerProps = Omit<MaskInputProps, 'value' | 'onChange' | 'mask' | 'classes'> & {\n /**\n * Указывает, открыт ли календарь по умолчанию\n */\n defaultOpen?: boolean\n /**\n * Значение поля\n */\n value?: string\n /**\n * Функция изменения значения\n */\n onChange?: (value: string) => void\n /**\n * Внешние классы которыми можно поменять стили\n */\n classes?: DayPickerClasses\n /**\n * Дополнительные хендлеры\n */\n externalHandlers?: ExternalHandlers\n}\n\nexport const DayPickerBase = forwardRef<HTMLInputElement, DayPickerProps>(\n ({ defaultOpen = false, value, onChange, disabled, externalHandlers, classes, ...props }, ref) => {\n const { onChange: externalOnChange, onFocus: externalOnFocus, ...restHandlers } = externalHandlers || {}\n\n const containerRef = useRef<HTMLDivElement>(null)\n\n const [calendarOpen, setCalendarOpen] = useState<boolean>(defaultOpen)\n const onCalendarOpenChange = () => {\n setCalendarOpen((prev) => !prev)\n }\n\n const [month, setMonth] = useState<Date>(new Date())\n const [visibleValue, setVisibleValue] = useState<string>(format(new Date(), DATE_VISIBLE_PATTERN))\n\n useClickOutside(containerRef, () => setCalendarOpen(false))\n\n const date = value ? new Date(value) : new Date()\n\n const onValueChange = (value: string) => {\n setVisibleValue(value)\n\n const dateRegex = /^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/\n\n if (!dateRegex.test(value)) {\n return\n }\n\n const parsedDate = parse(value, DATE_VISIBLE_PATTERN, new Date())\n\n if (isValid(parsedDate)) {\n const isoDate = parsedDate.toISOString()\n\n if (onChange) onChange(isoDate)\n if (externalOnChange) externalOnChange(isoDate)\n setMonth(parsedDate)\n }\n }\n\n const onDateChange = (date: Date) => {\n setMonth(date)\n\n const isoDate = date.toISOString()\n\n if (onChange) onChange(isoDate)\n if (externalOnChange) externalOnChange(isoDate)\n\n setVisibleValue(format(date, DATE_VISIBLE_PATTERN))\n setCalendarOpen(false)\n }\n\n const { root, input } = classes || {}\n\n return (\n <div ref={containerRef} className={cn('relative w-full', root)}>\n <AnimatePresence mode='sync'>\n <MaskInput\n ref={ref}\n {...props}\n {...restHandlers}\n disabled={disabled}\n mask='##.##.####'\n classes={input}\n value={visibleValue}\n onChange={(event) => onValueChange(event.target.value)}\n autoComplete='off'\n onFocus={(event) => {\n setCalendarOpen(true)\n if (externalOnFocus) externalOnFocus(event)\n }}\n onKeyDown={(event) => {\n if (event.key === 'Enter' || event.key === ' ') {\n onCalendarOpenChange()\n }\n }}\n attachmentProps={{\n ...props.attachmentProps,\n icon: (\n <Icon name='general/calendar' className={cn('text-icon-blue-grey-600', { 'text-icon-disabled': disabled })} />\n ),\n onClickIcon: onCalendarOpenChange,\n disabled\n }}\n />\n {calendarOpen &&\n createPortal(\n <Calendar\n required\n mode='single'\n month={month}\n onMonthChange={setMonth}\n selected={date}\n onSelect={onDateChange}\n className='absolute right-0 top-full'\n />,\n document.body\n )}\n </AnimatePresence>\n </div>\n )\n }\n)\nDayPickerBase.displayName = 'DayPickerBase'\n"],"names":["DayPickerBase","forwardRef","defaultOpen","value","onChange","disabled","externalHandlers","classes","props","ref","externalOnChange","externalOnFocus","restHandlers","containerRef","useRef","calendarOpen","setCalendarOpen","useState","onCalendarOpenChange","prev","month","setMonth","visibleValue","setVisibleValue","format","DATE_VISIBLE_PATTERN","useClickOutside","date","onValueChange","parsedDate","parse","isValid","isoDate","onDateChange","root","input","jsx","cn","jsxs","AnimatePresence","MaskInput","event","Icon","createPortal","Calendar"],"mappings":"6yDA4CO,MAAMA,EAAgBC,EAC3B,CAAC,CAAE,YAAAC,EAAc,GAAO,MAAAC,EAAO,SAAAC,EAAU,SAAAC,EAAU,iBAAAC,EAAkB,QAAAC,EAAS,GAAGC,CAAA,EAASC,IAAQ,CAChG,KAAM,CAAE,SAAUC,EAAkB,QAASC,EAAiB,GAAGC,CAAA,EAAiBN,GAAoB,CAAA,EAEhGO,EAAeC,EAAuB,IAAI,EAE1C,CAACC,EAAcC,CAAe,EAAIC,EAAkBf,CAAW,EAC/DgB,EAAuB,IAAM,CACjCF,EAAiBG,GAAS,CAACA,CAAI,CACjC,EAEM,CAACC,EAAOC,CAAQ,EAAIJ,EAAe,IAAI,IAAM,EAC7C,CAACK,EAAcC,CAAe,EAAIN,EAAiBO,EAAO,IAAI,KAAQC,CAAoB,CAAC,EAEjGC,EAAgBb,EAAc,IAAMG,EAAgB,EAAK,CAAC,EAE1D,MAAMW,EAAOxB,EAAQ,IAAI,KAAKA,CAAK,MAAQ,KAErCyB,EAAiBzB,GAAkB,CAKvC,GAJAoB,EAAgBpB,CAAK,EAIjB,CAFc,8BAEH,KAAKA,CAAK,EACvB,OAGF,MAAM0B,EAAaC,EAAM3B,EAAOsB,EAAsB,IAAI,IAAM,EAEhE,GAAIM,EAAQF,CAAU,EAAG,CACvB,MAAMG,EAAUH,EAAW,YAAA,EAEvBzB,KAAmB4B,CAAO,EAC1BtB,KAAmCsB,CAAO,EAC9CX,EAASQ,CAAU,CACrB,CACF,EAEMI,EAAgBN,GAAe,CACnCN,EAASM,CAAI,EAEb,MAAMK,EAAUL,EAAK,YAAA,EAEjBvB,KAAmB4B,CAAO,EAC1BtB,KAAmCsB,CAAO,EAE9CT,EAAgBC,EAAOG,EAAMF,CAAoB,CAAC,EAClDT,EAAgB,EAAK,CACvB,EAEM,CAAE,KAAAkB,EAAM,MAAAC,CAAA,EAAU5B,GAAW,CAAA,EAEnC,OACE6B,EAAC,MAAA,CAAI,IAAKvB,EAAc,UAAWwB,EAAG,kBAAmBH,CAAI,EAC3D,SAAAI,EAACC,EAAA,CAAgB,KAAK,OACpB,SAAA,CAAAH,EAACI,EAAA,CACC,IAAA/B,EACC,GAAGD,EACH,GAAGI,EACJ,SAAAP,EACA,KAAK,aACL,QAAS8B,EACT,MAAOb,EACP,SAAWmB,GAAUb,EAAca,EAAM,OAAO,KAAK,EACrD,aAAa,MACb,QAAUA,GAAU,CAClBzB,EAAgB,EAAI,EAChBL,KAAiC8B,CAAK,CAC5C,EACA,UAAYA,GAAU,EAChBA,EAAM,MAAQ,SAAWA,EAAM,MAAQ,MACzCvB,EAAA,CAEJ,EACA,gBAAiB,CACf,GAAGV,EAAM,gBACT,KACE4B,EAACM,EAAA,CAAK,KAAK,mBAAmB,UAAWL,EAAG,0BAA2B,CAAE,qBAAsBhC,CAAA,CAAU,CAAA,CAAG,EAE9G,YAAaa,EACb,SAAAb,CAAA,CACF,CAAA,EAEDU,GACC4B,EACEP,EAACQ,EAAA,CACC,SAAQ,GACR,KAAK,SACL,MAAAxB,EACA,cAAeC,EACf,SAAUM,EACV,SAAUM,EACV,UAAU,2BAAA,CAAA,EAEZ,SAAS,IAAA,CACX,CAAA,CACJ,CAAA,CACF,CAEJ,CACF,EACAjC,EAAc,YAAc"}
@@ -1,2 +1,2 @@
1
- import{jsxs as R,jsx as t}from"react/jsx-runtime";import{forwardRef as v}from"react";import{useFloating as F,useClick as O,useInteractions as b}from"../../../../../../node_modules/@floating-ui/react/dist/floating-ui.react.js";import"../../../dropdownList/ui/dropdownItem/DropdownItem.js";import{cn as c}from"../../../../utils/cn.js";import{DropdownList as A}from"../../../dropdownList/DropdownList.js";import{InputBase as B}from"../input/Input.js";import{useCurrencyControl as M}from"./hooks/useCurrencyControl.js";import{useCurrencyFormat as j}from"./hooks/useCurrencyFormat.js";import{CurrencyIcon as L}from"./ui/CurrencyIcon.js";import{useClickOutside as N}from"../../../../hooks/useClickOutside.js";import{Portal as z}from"../../../portal/Portal.js";import{mergeRefs as D}from"../../../../utils/mergeRefs.js";import{autoUpdate as E}from"../../../../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.js";import{flip as H,offset as S}from"../../../../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js";import{AnimatePresence as U}from"../../../../../../node_modules/framer-motion/dist/es/components/AnimatePresence/index.js";import{motion as q}from"../../../../../../node_modules/framer-motion/dist/es/render/components/motion/proxy.js";const io=v(({classes:o,value:e,onChange:u,currencies:m,portal:d=document.body,attachmentProps:l,...g},s)=>{var a;const{currency:p,onCurrencyChange:C,onInputChange:y,open:n,setOpen:i}=M({currencies:m,value:e,onChange:u}),{refs:r,floatingStyles:h,context:w}=F({middleware:[H({boundary:"clippingAncestors",crossAxis:!1}),S(4)],whileElementsMounted:E,open:n,onOpenChange:i}),k=O(w,{ignoreMouse:!0,keyboardHandlers:!0,stickIfOpen:!0}),{getReferenceProps:x,getFloatingProps:I}=b([k]);N(r.floating,()=>i(!1));const f=j(e.value);return R("div",{...x({ref:r.setReference,className:c("relative w-full",o==null?void 0:o.root)}),children:[t(B,{ref:D(s,f),...g,autoComplete:"off",inputMode:"decimal",value:e.value,onChange:y,classes:o==null?void 0:o.input,attachmentProps:{classes:{icon:"flex items-center gap-2 w-max"},icon:t(L,{currency:p,open:n}),onClickIcon:()=>i(P=>!P),...l}}),t(z,{root:d,children:t(U,{children:n&&t(q.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.1},...I({ref:r.setFloating,className:c("z-[1000]"),style:{...h,width:(a=r.reference.current)==null?void 0:a.getBoundingClientRect().width}}),children:t(A,{target:f,options:m,value:p,onPick:C,classes:o==null?void 0:o.dropdownList})})})})]})});export{io as InputCurrencyBase};
1
+ import{jsxs as R,jsx as t}from"react/jsx-runtime";import{forwardRef as v}from"react";import{useFloating as F,useClick as O,useInteractions as b}from"../../../../../../node_modules/@floating-ui/react/dist/floating-ui.react.js";import"../../../dropdownList/ui/dropdownItem/DropdownItem.js";import{cn as c}from"../../../../utils/cn.js";import{DropdownList as A}from"../../../dropdownList/DropdownList.js";import{InputBase as B}from"../input/Input.js";import{useCurrencyControl as M}from"./hooks/useCurrencyControl.js";import{useCurrencyFormat as j}from"./hooks/useCurrencyFormat.js";import{CurrencyIcon as L}from"./ui/CurrencyIcon.js";import{useClickOutside as N}from"../../../../hooks/useClickOutside.js";import"react-hook-form";import{Portal as z}from"../../../portal/Portal.js";import{mergeRefs as D}from"../../../../utils/mergeRefs.js";import{autoUpdate as E}from"../../../../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.js";import{flip as H,offset as S}from"../../../../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js";import{AnimatePresence as U}from"../../../../../../node_modules/framer-motion/dist/es/components/AnimatePresence/index.js";import{motion as q}from"../../../../../../node_modules/framer-motion/dist/es/render/components/motion/proxy.js";const mo=v(({classes:o,value:e,onChange:u,currencies:m,portal:d=document.body,attachmentProps:l,...g},s)=>{var a;const{currency:p,onCurrencyChange:C,onInputChange:y,open:n,setOpen:i}=M({currencies:m,value:e,onChange:u}),{refs:r,floatingStyles:h,context:w}=F({middleware:[H({boundary:"clippingAncestors",crossAxis:!1}),S(4)],whileElementsMounted:E,open:n,onOpenChange:i}),k=O(w,{ignoreMouse:!0,keyboardHandlers:!0,stickIfOpen:!0}),{getReferenceProps:x,getFloatingProps:I}=b([k]);N(r.floating,()=>i(!1));const f=j(e.value);return R("div",{...x({ref:r.setReference,className:c("relative w-full",o==null?void 0:o.root)}),children:[t(B,{ref:D(s,f),...g,autoComplete:"off",inputMode:"decimal",value:e.value,onChange:y,classes:o==null?void 0:o.input,attachmentProps:{classes:{icon:"flex items-center gap-2 w-max"},icon:t(L,{currency:p,open:n}),onClickIcon:()=>i(P=>!P),...l}}),t(z,{root:d,children:t(U,{children:n&&t(q.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.1},...I({ref:r.setFloating,className:c("z-[1000]"),style:{...h,width:(a=r.reference.current)==null?void 0:a.getBoundingClientRect().width}}),children:t(A,{target:f,options:m,value:p,onPick:C,classes:o==null?void 0:o.dropdownList})})})})]})});export{mo as InputCurrencyBase};
2
2
  //# sourceMappingURL=InputCurrency.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputCurrency.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { autoUpdate, flip, offset, useClick, useFloating, useInteractions } from '@floating-ui/react'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport { type DropdownItemOption, DropdownList, type DropdownListProps } from '../../../dropdownList'\nimport { InputBase, type InputBaseProps } from '../input'\nimport { useCurrencyControl, useCurrencyFormat } from './hooks'\nimport { CurrencyIcon } from './ui'\nimport { useClickOutside } from '$/shared/hooks'\nimport { Portal } from '$/shared/ui/portal'\nimport { cn, mergeRefs } from '$/shared/utils'\n\nexport type CurrencyValue = {\n value: string\n currency: string | null\n}\n\ntype InputCurrencyBaseClasses = {\n root?: string\n input?: InputBaseProps['classes']\n dropdownList?: DropdownListProps['classes']\n}\n\nexport interface InputCurrencyBaseProps extends Omit<InputBaseProps, 'value' | 'onChange' | 'classes'> {\n /**\n * Выбранное значение\n */\n value: CurrencyValue\n /**\n * Функция для изменения значения\n * @param value\n */\n onChange: (value: CurrencyValue) => void\n /**\n * Список валют для выбора\n */\n currencies: DropdownItemOption[]\n /**\n * Дополнительные стили для переопределения\n */\n classes?: InputCurrencyBaseClasses\n /**\n * Включить рендеринг в портале\n * @property {false | HTMLElement} portal document.body\n */\n portal?: false | HTMLElement\n}\n\nexport const InputCurrencyBase = forwardRef<HTMLInputElement, InputCurrencyBaseProps>(\n ({ classes, value, onChange, currencies, portal = document.body, attachmentProps, ...props }, ref) => {\n const { currency, onCurrencyChange, onInputChange, open, setOpen } = useCurrencyControl({ currencies, value, onChange })\n\n const { refs, floatingStyles, context } = useFloating({\n middleware: [\n flip({\n boundary: 'clippingAncestors',\n crossAxis: false\n }),\n offset(4)\n ],\n whileElementsMounted: autoUpdate,\n open,\n onOpenChange: setOpen\n })\n\n const click = useClick(context, {\n ignoreMouse: true,\n keyboardHandlers: true,\n stickIfOpen: true\n })\n\n const { getReferenceProps, getFloatingProps } = useInteractions([click])\n\n useClickOutside(refs.floating, () => setOpen(false))\n\n const formatRef = useCurrencyFormat(value.value)\n\n return (\n <div\n {...getReferenceProps({\n ref: refs.setReference,\n className: cn('relative w-full', classes?.root)\n })}\n >\n <InputBase\n ref={mergeRefs(ref, formatRef)}\n {...props}\n autoComplete='off'\n inputMode='decimal'\n value={value.value}\n onChange={onInputChange}\n classes={classes?.input}\n attachmentProps={{\n classes: {\n icon: 'flex items-center gap-2 w-max'\n },\n icon: <CurrencyIcon currency={currency} open={open} />,\n onClickIcon: () => setOpen((prev) => !prev),\n ...attachmentProps\n }}\n />\n <Portal root={portal}>\n <AnimatePresence>\n {open && (\n <motion.div\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{ duration: 0.1 }}\n {...getFloatingProps({\n ref: refs.setFloating,\n className: cn('z-[1000]'),\n style: {\n ...floatingStyles,\n width: refs.reference.current?.getBoundingClientRect().width\n }\n })}\n >\n <DropdownList\n target={formatRef}\n options={currencies}\n value={currency}\n onPick={onCurrencyChange}\n classes={classes?.dropdownList}\n />\n </motion.div>\n )}\n </AnimatePresence>\n </Portal>\n </div>\n )\n }\n)\n"],"names":["InputCurrencyBase","forwardRef","classes","value","onChange","currencies","portal","attachmentProps","props","ref","currency","onCurrencyChange","onInputChange","open","setOpen","useCurrencyControl","refs","floatingStyles","context","useFloating","flip","offset","autoUpdate","click","useClick","getReferenceProps","getFloatingProps","useInteractions","useClickOutside","formatRef","useCurrencyFormat","jsxs","cn","jsx","InputBase","mergeRefs","CurrencyIcon","prev","Portal","AnimatePresence","motion","_a","DropdownList"],"mappings":"ovCA+CO,MAAMA,GAAoBC,EAC/B,CAAC,CAAE,QAAAC,EAAS,MAAAC,EAAO,SAAAC,EAAU,WAAAC,EAAY,OAAAC,EAAS,SAAS,KAAM,gBAAAC,EAAiB,GAAGC,CAAA,EAASC,IAAQ,OACpG,KAAM,CAAE,SAAAC,EAAU,iBAAAC,EAAkB,cAAAC,EAAe,KAAAC,EAAM,QAAAC,GAAYC,EAAmB,CAAE,WAAAV,EAAY,MAAAF,EAAO,SAAAC,CAAA,CAAU,EAEjH,CAAE,KAAAY,EAAM,eAAAC,EAAgB,QAAAC,CAAA,EAAYC,EAAY,CACpD,WAAY,CACVC,EAAK,CACH,SAAU,oBACV,UAAW,EAAA,CACZ,EACDC,EAAO,CAAC,CAAA,EAEV,qBAAsBC,EACtB,KAAAT,EACA,aAAcC,CAAA,CACf,EAEKS,EAAQC,EAASN,EAAS,CAC9B,YAAa,GACb,iBAAkB,GAClB,YAAa,EAAA,CACd,EAEK,CAAE,kBAAAO,EAAmB,iBAAAC,CAAA,EAAqBC,EAAgB,CAACJ,CAAK,CAAC,EAEvEK,EAAgBZ,EAAK,SAAU,IAAMF,EAAQ,EAAK,CAAC,EAEnD,MAAMe,EAAYC,EAAkB3B,EAAM,KAAK,EAE/C,OACE4B,EAAC,MAAA,CACE,GAAGN,EAAkB,CACpB,IAAKT,EAAK,aACV,UAAWgB,EAAG,kBAAmB9B,GAAA,YAAAA,EAAS,IAAI,CAAA,CAC/C,EAED,SAAA,CAAA+B,EAACC,EAAA,CACC,IAAKC,EAAU1B,EAAKoB,CAAS,EAC5B,GAAGrB,EACJ,aAAa,MACb,UAAU,UACV,MAAOL,EAAM,MACb,SAAUS,EACV,QAASV,GAAA,YAAAA,EAAS,MAClB,gBAAiB,CACf,QAAS,CACP,KAAM,+BAAA,EAER,KAAM+B,EAACG,EAAA,CAAa,SAAA1B,EAAoB,KAAAG,CAAA,CAAY,EACpD,YAAa,IAAMC,EAASuB,GAAS,CAACA,CAAI,EAC1C,GAAG9B,CAAA,CACL,CAAA,IAED+B,EAAA,CAAO,KAAMhC,EACZ,SAAA2B,EAACM,GACE,SAAA1B,GACCoB,EAACO,EAAO,IAAP,CACC,QAAS,CAAE,QAAS,CAAA,EACpB,QAAS,CAAE,QAAS,CAAA,EACpB,WAAY,CAAE,SAAU,EAAA,EACvB,GAAGd,EAAiB,CACnB,IAAKV,EAAK,YACV,UAAWgB,EAAG,UAAU,EACxB,MAAO,CACL,GAAGf,EACH,OAAOwB,EAAAzB,EAAK,UAAU,UAAf,YAAAyB,EAAwB,wBAAwB,KAAA,CACzD,CACD,EAED,SAAAR,EAACS,EAAA,CACC,OAAQb,EACR,QAASxB,EACT,MAAOK,EACP,OAAQC,EACR,QAAST,GAAA,YAAAA,EAAS,YAAA,CAAA,CACpB,CAAA,EAGN,CAAA,CACF,CAAA,CAAA,CAAA,CAGN,CACF"}
1
+ {"version":3,"file":"InputCurrency.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { autoUpdate, flip, offset, useClick, useFloating, useInteractions } from '@floating-ui/react'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport { type DropdownItemOption, DropdownList, type DropdownListProps } from '../../../dropdownList'\nimport { InputBase, type InputBaseProps } from '../input'\nimport { useCurrencyControl, useCurrencyFormat } from './hooks'\nimport { CurrencyIcon } from './ui'\nimport { useClickOutside } from '$/shared/hooks'\nimport { Portal } from '$/shared/ui/portal'\nimport { cn, mergeRefs } from '$/shared/utils'\n\nexport type CurrencyValue = {\n value: string\n currency: string | null\n}\n\ntype InputCurrencyBaseClasses = {\n root?: string\n input?: InputBaseProps['classes']\n dropdownList?: DropdownListProps['classes']\n}\n\nexport interface InputCurrencyBaseProps extends Omit<InputBaseProps, 'value' | 'onChange' | 'classes'> {\n /**\n * Выбранное значение\n */\n value: CurrencyValue\n /**\n * Функция для изменения значения\n * @param value\n */\n onChange: (value: CurrencyValue) => void\n /**\n * Список валют для выбора\n */\n currencies: DropdownItemOption[]\n /**\n * Дополнительные стили для переопределения\n */\n classes?: InputCurrencyBaseClasses\n /**\n * Включить рендеринг в портале\n * @property {false | HTMLElement} portal document.body\n */\n portal?: false | HTMLElement\n}\n\nexport const InputCurrencyBase = forwardRef<HTMLInputElement, InputCurrencyBaseProps>(\n ({ classes, value, onChange, currencies, portal = document.body, attachmentProps, ...props }, ref) => {\n const { currency, onCurrencyChange, onInputChange, open, setOpen } = useCurrencyControl({ currencies, value, onChange })\n\n const { refs, floatingStyles, context } = useFloating({\n middleware: [\n flip({\n boundary: 'clippingAncestors',\n crossAxis: false\n }),\n offset(4)\n ],\n whileElementsMounted: autoUpdate,\n open,\n onOpenChange: setOpen\n })\n\n const click = useClick(context, {\n ignoreMouse: true,\n keyboardHandlers: true,\n stickIfOpen: true\n })\n\n const { getReferenceProps, getFloatingProps } = useInteractions([click])\n\n useClickOutside(refs.floating, () => setOpen(false))\n\n const formatRef = useCurrencyFormat(value.value)\n\n return (\n <div\n {...getReferenceProps({\n ref: refs.setReference,\n className: cn('relative w-full', classes?.root)\n })}\n >\n <InputBase\n ref={mergeRefs(ref, formatRef)}\n {...props}\n autoComplete='off'\n inputMode='decimal'\n value={value.value}\n onChange={onInputChange}\n classes={classes?.input}\n attachmentProps={{\n classes: {\n icon: 'flex items-center gap-2 w-max'\n },\n icon: <CurrencyIcon currency={currency} open={open} />,\n onClickIcon: () => setOpen((prev) => !prev),\n ...attachmentProps\n }}\n />\n <Portal root={portal}>\n <AnimatePresence>\n {open && (\n <motion.div\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{ duration: 0.1 }}\n {...getFloatingProps({\n ref: refs.setFloating,\n className: cn('z-[1000]'),\n style: {\n ...floatingStyles,\n width: refs.reference.current?.getBoundingClientRect().width\n }\n })}\n >\n <DropdownList\n target={formatRef}\n options={currencies}\n value={currency}\n onPick={onCurrencyChange}\n classes={classes?.dropdownList}\n />\n </motion.div>\n )}\n </AnimatePresence>\n </Portal>\n </div>\n )\n }\n)\n"],"names":["InputCurrencyBase","forwardRef","classes","value","onChange","currencies","portal","attachmentProps","props","ref","currency","onCurrencyChange","onInputChange","open","setOpen","useCurrencyControl","refs","floatingStyles","context","useFloating","flip","offset","autoUpdate","click","useClick","getReferenceProps","getFloatingProps","useInteractions","useClickOutside","formatRef","useCurrencyFormat","jsxs","cn","jsx","InputBase","mergeRefs","CurrencyIcon","prev","Portal","AnimatePresence","motion","_a","DropdownList"],"mappings":"4wCA+CO,MAAMA,GAAoBC,EAC/B,CAAC,CAAE,QAAAC,EAAS,MAAAC,EAAO,SAAAC,EAAU,WAAAC,EAAY,OAAAC,EAAS,SAAS,KAAM,gBAAAC,EAAiB,GAAGC,CAAA,EAASC,IAAQ,OACpG,KAAM,CAAE,SAAAC,EAAU,iBAAAC,EAAkB,cAAAC,EAAe,KAAAC,EAAM,QAAAC,GAAYC,EAAmB,CAAE,WAAAV,EAAY,MAAAF,EAAO,SAAAC,CAAA,CAAU,EAEjH,CAAE,KAAAY,EAAM,eAAAC,EAAgB,QAAAC,CAAA,EAAYC,EAAY,CACpD,WAAY,CACVC,EAAK,CACH,SAAU,oBACV,UAAW,EAAA,CACZ,EACDC,EAAO,CAAC,CAAA,EAEV,qBAAsBC,EACtB,KAAAT,EACA,aAAcC,CAAA,CACf,EAEKS,EAAQC,EAASN,EAAS,CAC9B,YAAa,GACb,iBAAkB,GAClB,YAAa,EAAA,CACd,EAEK,CAAE,kBAAAO,EAAmB,iBAAAC,CAAA,EAAqBC,EAAgB,CAACJ,CAAK,CAAC,EAEvEK,EAAgBZ,EAAK,SAAU,IAAMF,EAAQ,EAAK,CAAC,EAEnD,MAAMe,EAAYC,EAAkB3B,EAAM,KAAK,EAE/C,OACE4B,EAAC,MAAA,CACE,GAAGN,EAAkB,CACpB,IAAKT,EAAK,aACV,UAAWgB,EAAG,kBAAmB9B,GAAA,YAAAA,EAAS,IAAI,CAAA,CAC/C,EAED,SAAA,CAAA+B,EAACC,EAAA,CACC,IAAKC,EAAU1B,EAAKoB,CAAS,EAC5B,GAAGrB,EACJ,aAAa,MACb,UAAU,UACV,MAAOL,EAAM,MACb,SAAUS,EACV,QAASV,GAAA,YAAAA,EAAS,MAClB,gBAAiB,CACf,QAAS,CACP,KAAM,+BAAA,EAER,KAAM+B,EAACG,EAAA,CAAa,SAAA1B,EAAoB,KAAAG,CAAA,CAAY,EACpD,YAAa,IAAMC,EAASuB,GAAS,CAACA,CAAI,EAC1C,GAAG9B,CAAA,CACL,CAAA,IAED+B,EAAA,CAAO,KAAMhC,EACZ,SAAA2B,EAACM,GACE,SAAA1B,GACCoB,EAACO,EAAO,IAAP,CACC,QAAS,CAAE,QAAS,CAAA,EACpB,QAAS,CAAE,QAAS,CAAA,EACpB,WAAY,CAAE,SAAU,EAAA,EACvB,GAAGd,EAAiB,CACnB,IAAKV,EAAK,YACV,UAAWgB,EAAG,UAAU,EACxB,MAAO,CACL,GAAGf,EACH,OAAOwB,EAAAzB,EAAK,UAAU,UAAf,YAAAyB,EAAwB,wBAAwB,KAAA,CACzD,CACD,EAED,SAAAR,EAACS,EAAA,CACC,OAAQb,EACR,QAASxB,EACT,MAAOK,EACP,OAAQC,EACR,QAAST,GAAA,YAAAA,EAAS,YAAA,CAAA,CACpB,CAAA,EAGN,CAAA,CACF,CAAA,CAAA,CAAA,CAGN,CACF"}
@@ -1,2 +1,2 @@
1
- import{jsxs as i,Fragment as d,jsx as t}from"react/jsx-runtime";import{cn as m}from"../../../../../utils/cn.js";import"react";import"../../../../button/Button.js";import"../../../../buttonIcon/ButtonIcon.js";import"../../../../calendar/Calendar.js";import"../../../../calendar/model/utils.js";import"../../../../accordion/Accordion.js";import"react-dom";import"../../../../modal/ui/IframeModalContent.js";import"../../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as c}from"../../../../icon/Icon.js";import"../../../../table/ui/primitives/Primitives.js";import"../../../../carousel/ui/CarouselContent.js";import"../../../../slot/Slot.js";import"../../autocomplete/Autocomplete.js";import"../../checkbox/Checkbox.js";import"../../combobox/combobox.js";import"../../dayPicker/DayPicker.js";import"../../input/Input.js";import"../../inputOtp/InputOtpBase.js";import"../../maskInput/MaskInput.js";import"../../radio/RadioGroup.js";import"../../radio/ui/RadioItem.js";import"../../slider/SliderBase.js";import"../../switch/Switch.js";import"../../textarea/Textarea.js";import"../../uploader/UploaderBase.js";import"../InputCurrency.js";import"../../../../../../../src/configs/api.js";import"../../../controlled/editor/ui/Editor.js";import"../../../controlled/input/MaskInputControl.js";import"../../../../dropdownList/ui/dropdownItem/DropdownItem.js";import{Divider as g}from"../../../../divider/Divider.js";const Y=({currency:o,classes:p,open:e})=>{var r;const{divider:a,root:l,icon:s,label:n}=p??{};return i(d,{children:[t(g,{color:"bg-color-blue-grey-500",height:16,className:a}),i("div",{className:m("desk-body-regular-l flex items-center gap-1 text-color-tetriary",l),children:[(r=o==null?void 0:o.attachment)==null?void 0:r.left,t("span",{className:n,children:o?o.label:"CUR"}),t(c,{name:"arrows/arrowRight",className:m("size-6 rotate-90 duration-100",{"-rotate-90":e},s)})]})]})};export{Y as CurrencyIcon};
1
+ import{jsxs as i,Fragment as d,jsx as t}from"react/jsx-runtime";import{cn as m}from"../../../../../utils/cn.js";import"react";import"../../../../button/Button.js";import"../../../../buttonIcon/ButtonIcon.js";import"../../../../calendar/Calendar.js";import"../../../../calendar/model/utils.js";import"../../../../accordion/Accordion.js";import"react-hook-form";import"react-dom";import"../../../../modal/ui/IframeModalContent.js";import"../../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as c}from"../../../../icon/Icon.js";import"../../../../table/ui/primitives/Primitives.js";import"../../../../carousel/ui/CarouselContent.js";import"../../../../slot/Slot.js";import"../../autocomplete/Autocomplete.js";import"../../checkbox/Checkbox.js";import"../../combobox/combobox.js";import"../../dayPicker/DayPicker.js";import"../../input/Input.js";import"../../inputOtp/InputOtpBase.js";import"../../maskInput/MaskInput.js";import"../../radio/RadioGroup.js";import"../../radio/ui/RadioItem.js";import"../../slider/SliderBase.js";import"../../switch/Switch.js";import"../../textarea/Textarea.js";import"../../uploader/UploaderBase.js";import"../InputCurrency.js";import"../../../../../../../src/configs/api.js";import"../../../controlled/editor/ui/Editor.js";import"../../../controlled/input/MaskInputControl.js";import"../../../../dropdownList/ui/dropdownItem/DropdownItem.js";import{Divider as g}from"../../../../divider/Divider.js";const Z=({currency:o,classes:p,open:e})=>{var r;const{divider:a,root:l,icon:s,label:n}=p??{};return i(d,{children:[t(g,{color:"bg-color-blue-grey-500",height:16,className:a}),i("div",{className:m("desk-body-regular-l flex items-center gap-1 text-color-tetriary",l),children:[(r=o==null?void 0:o.attachment)==null?void 0:r.left,t("span",{className:n,children:o?o.label:"CUR"}),t(c,{name:"arrows/arrowRight",className:m("size-6 rotate-90 duration-100",{"-rotate-90":e},s)})]})]})};export{Z as CurrencyIcon};
2
2
  //# sourceMappingURL=CurrencyIcon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CurrencyIcon.js","sources":["../../../../../../../../lib/shared/ui/formElements/uncontrolled/inputCurrency/ui/CurrencyIcon.tsx"],"sourcesContent":["import { Icon } from '$/shared/ui'\nimport { Divider } from '$/shared/ui/divider'\nimport { type DropdownItemOption } from '$/shared/ui/dropdownList'\nimport { cn } from '$/shared/utils'\n\ntype CurrencyIconClasses = {\n root?: string\n divider?: string\n label?: string\n icon?: string\n}\n\nexport interface CurrencyIconProps {\n currency: DropdownItemOption | null\n classes?: CurrencyIconClasses\n open: boolean\n}\n\nexport const CurrencyIcon = ({ currency, classes, open }: CurrencyIconProps) => {\n const { divider, root, icon, label } = classes ?? {}\n\n return (\n <>\n <Divider color='bg-color-blue-grey-500' height={16} className={divider} />\n <div className={cn('desk-body-regular-l flex items-center gap-1 text-color-tetriary', root)}>\n {currency?.attachment?.left}\n <span className={label}>{currency ? currency.label : 'CUR'}</span>\n <Icon\n name='arrows/arrowRight'\n className={cn(\n 'size-6 rotate-90 duration-100',\n {\n '-rotate-90': open\n },\n icon\n )}\n />\n </div>\n </>\n )\n}\n"],"names":["CurrencyIcon","currency","classes","open","divider","root","icon","label","jsxs","Fragment","jsx","Divider","cn","_a","Icon"],"mappings":"o5CAkBO,MAAMA,EAAe,CAAC,CAAE,SAAAC,EAAU,QAAAC,EAAS,KAAAC,KAA8B,OAC9E,KAAM,CAAE,QAAAC,EAAS,KAAAC,EAAM,KAAAC,EAAM,MAAAC,CAAA,EAAUL,GAAW,CAAA,EAElD,OACEM,EAAAC,EAAA,CACE,SAAA,CAAAC,EAACC,GAAQ,MAAM,yBAAyB,OAAQ,GAAI,UAAWP,EAAS,IACvE,MAAA,CAAI,UAAWQ,EAAG,kEAAmEP,CAAI,EACvF,SAAA,EAAAQ,EAAAZ,GAAA,YAAAA,EAAU,aAAV,YAAAY,EAAsB,OACtB,OAAA,CAAK,UAAWN,EAAQ,SAAAN,EAAWA,EAAS,MAAQ,MAAM,EAC3DS,EAACI,EAAA,CACC,KAAK,oBACL,UAAWF,EACT,gCACA,CACE,aAAcT,CAAA,EAEhBG,CAAA,CACF,CAAA,CACF,CAAA,CACF,CAAA,EACF,CAEJ"}
1
+ {"version":3,"file":"CurrencyIcon.js","sources":["../../../../../../../../lib/shared/ui/formElements/uncontrolled/inputCurrency/ui/CurrencyIcon.tsx"],"sourcesContent":["import { Icon } from '$/shared/ui'\nimport { Divider } from '$/shared/ui/divider'\nimport { type DropdownItemOption } from '$/shared/ui/dropdownList'\nimport { cn } from '$/shared/utils'\n\ntype CurrencyIconClasses = {\n root?: string\n divider?: string\n label?: string\n icon?: string\n}\n\nexport interface CurrencyIconProps {\n currency: DropdownItemOption | null\n classes?: CurrencyIconClasses\n open: boolean\n}\n\nexport const CurrencyIcon = ({ currency, classes, open }: CurrencyIconProps) => {\n const { divider, root, icon, label } = classes ?? {}\n\n return (\n <>\n <Divider color='bg-color-blue-grey-500' height={16} className={divider} />\n <div className={cn('desk-body-regular-l flex items-center gap-1 text-color-tetriary', root)}>\n {currency?.attachment?.left}\n <span className={label}>{currency ? currency.label : 'CUR'}</span>\n <Icon\n name='arrows/arrowRight'\n className={cn(\n 'size-6 rotate-90 duration-100',\n {\n '-rotate-90': open\n },\n icon\n )}\n />\n </div>\n </>\n )\n}\n"],"names":["CurrencyIcon","currency","classes","open","divider","root","icon","label","jsxs","Fragment","jsx","Divider","cn","_a","Icon"],"mappings":"46CAkBO,MAAMA,EAAe,CAAC,CAAE,SAAAC,EAAU,QAAAC,EAAS,KAAAC,KAA8B,OAC9E,KAAM,CAAE,QAAAC,EAAS,KAAAC,EAAM,KAAAC,EAAM,MAAAC,CAAA,EAAUL,GAAW,CAAA,EAElD,OACEM,EAAAC,EAAA,CACE,SAAA,CAAAC,EAACC,GAAQ,MAAM,yBAAyB,OAAQ,GAAI,UAAWP,EAAS,IACvE,MAAA,CAAI,UAAWQ,EAAG,kEAAmEP,CAAI,EACvF,SAAA,EAAAQ,EAAAZ,GAAA,YAAAA,EAAU,aAAV,YAAAY,EAAsB,OACtB,OAAA,CAAK,UAAWN,EAAQ,SAAAN,EAAWA,EAAS,MAAQ,MAAM,EAC3DS,EAACI,EAAA,CACC,KAAK,oBACL,UAAWF,EACT,gCACA,CACE,aAAcT,CAAA,EAEhBG,CAAA,CACF,CAAA,CACF,CAAA,CACF,CAAA,EACF,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{jsxs as d,jsx as c}from"react/jsx-runtime";import*as N from"react";import{forwardRef as J}from"react";import{NumericFormat as K}from"../../../../../../../../node_modules/react-number-format/dist/react-number-format.es.js";import{getInputSliderSuffix as n}from"../../model/helpers/getInputSliderSuffix.js";import{SliderInner as Q}from"../Slider.js";import{useSliderAlgorithmic as T}from"./hooks/useSliderAlgorithmic.js";import{cn as m}from"../../../../../../utils/cn.js";import{mergeRefs as U}from"../../../../../../utils/mergeRefs.js";import"../../../../../button/Button.js";import"../../../../../buttonIcon/ButtonIcon.js";import"../../../../../calendar/Calendar.js";import"../../../../../calendar/model/utils.js";import"../../../../../accordion/Accordion.js";import"react-dom";import"../../../../../modal/ui/IframeModalContent.js";import"../../../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as W}from"../../../../../icon/Icon.js";import"../../../../../table/ui/primitives/Primitives.js";import"../../../../../carousel/ui/CarouselContent.js";import"../../../../../slot/Slot.js";import"../../../autocomplete/Autocomplete.js";import"../../../checkbox/Checkbox.js";import"../../../combobox/combobox.js";import"../../../dayPicker/DayPicker.js";import{InputBase as X}from"../../../input/Input.js";import"../../../inputOtp/InputOtpBase.js";import"../../../maskInput/MaskInput.js";import"../../../radio/RadioGroup.js";import"../../../radio/ui/RadioItem.js";import"../../SliderBase.js";import"../../../switch/Switch.js";import"../../../textarea/Textarea.js";import"../../../uploader/UploaderBase.js";import"../../../inputCurrency/InputCurrency.js";import"../../../../../../../../src/configs/api.js";import"../../../../controlled/editor/ui/Editor.js";import"../../../../controlled/input/MaskInputControl.js";import"../../../../../dropdownList/ui/dropdownItem/DropdownItem.js";const Y=c(W,{name:"general/edit",className:"size-[19px] text-icon-blue-grey-600 transition-[color] group-focus-within/icon:text-icon-blue-grey-800"}),Vi=J(({classes:h,invalid:k,externalHandlers:i,disabled:b,value:u,onChange:l,min:p,max:s,suffix:g,label:w,attachmentProps:t,additionalSuffix:S,readOnly:f,componentType:C,...r},v)=>{const y=N.useId(),e=N.useRef(null),B=()=>{var o;(o=e==null?void 0:e.current)==null||o.focus()},{sliderValue:R,sliderStep:j,sliderMin:A,sliderMax:F,handleChangeSlider:M}=T({min:p,max:s,defaultValue:0,value:u,onChange:l}),{root:V,slider:$,textLeft:z,textRight:G,inputRoot:L,textContainer:q,input:D,field:E}=h||{};return d("div",{"aria-label":C,className:m("flex w-full flex-col gap-1",V),children:[d("div",{className:m("relative w-full select-none",{"select-none":f},E),children:[c(X,{label:w,value:u,attachmentProps:{onClickIcon:f?void 0:(t==null?void 0:t.onClickIcon)||B,icon:f?void 0:(t==null?void 0:t.icon)||Y,...t},classes:{container:"border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800",...L},onBlur:o=>{r!=null&&r.onBlur&&(r==null||r.onBlur(o)),i!=null&&i.onBlur&&i.onBlur(o)},onClick:i==null?void 0:i.onClick,onFocus:i==null?void 0:i.onBlur,renderValues:()=>c(K,{id:y,readOnly:f,"aria-invalid":k?"true":"false",value:u,disabled:b,suffix:` ${n(g,u)} ${S??""}`,thousandsGroupStyle:"thousand",thousandSeparator:" ",allowNegative:!1,getInputRef:U(e,v),onValueChange:({floatValue:o})=>{var I;o!==void 0&&(l&&l(o),(I=i==null?void 0:i.onInputChange)==null||I.call(i,o))},"data-test-id":"slider",className:m("group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all",D),...r})}),c(Q,{classes:{...$},step:j,value:R,disabled:b,min:Number(A),max:Number(F),onChange:M,externalHandlers:i})]}),d("div",{className:m("flex justify-between",q),children:[p&&c("span",{className:m("desk-body-regular-m text-color-tetriary",z),children:n(g,p,!1)}),s&&c("span",{className:m("desk-body-regular-m text-color-tetriary",G),children:n(g,s,!1)})]})]})});export{Vi as SliderAlgorithmic};
1
+ import{jsxs as d,jsx as c}from"react/jsx-runtime";import*as N from"react";import{forwardRef as J}from"react";import{NumericFormat as K}from"../../../../../../../../node_modules/react-number-format/dist/react-number-format.es.js";import{getInputSliderSuffix as n}from"../../model/helpers/getInputSliderSuffix.js";import{SliderInner as Q}from"../Slider.js";import{useSliderAlgorithmic as T}from"./hooks/useSliderAlgorithmic.js";import{cn as m}from"../../../../../../utils/cn.js";import{mergeRefs as U}from"../../../../../../utils/mergeRefs.js";import"../../../../../button/Button.js";import"../../../../../buttonIcon/ButtonIcon.js";import"../../../../../calendar/Calendar.js";import"../../../../../calendar/model/utils.js";import"../../../../../accordion/Accordion.js";import"react-hook-form";import"react-dom";import"../../../../../modal/ui/IframeModalContent.js";import"../../../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as W}from"../../../../../icon/Icon.js";import"../../../../../table/ui/primitives/Primitives.js";import"../../../../../carousel/ui/CarouselContent.js";import"../../../../../slot/Slot.js";import"../../../autocomplete/Autocomplete.js";import"../../../checkbox/Checkbox.js";import"../../../combobox/combobox.js";import"../../../dayPicker/DayPicker.js";import{InputBase as X}from"../../../input/Input.js";import"../../../inputOtp/InputOtpBase.js";import"../../../maskInput/MaskInput.js";import"../../../radio/RadioGroup.js";import"../../../radio/ui/RadioItem.js";import"../../SliderBase.js";import"../../../switch/Switch.js";import"../../../textarea/Textarea.js";import"../../../uploader/UploaderBase.js";import"../../../inputCurrency/InputCurrency.js";import"../../../../../../../../src/configs/api.js";import"../../../../controlled/editor/ui/Editor.js";import"../../../../controlled/input/MaskInputControl.js";import"../../../../../dropdownList/ui/dropdownItem/DropdownItem.js";const Y=c(W,{name:"general/edit",className:"size-[19px] text-icon-blue-grey-600 transition-[color] group-focus-within/icon:text-icon-blue-grey-800"}),$i=J(({classes:h,invalid:k,externalHandlers:i,disabled:b,value:u,onChange:l,min:p,max:s,suffix:g,label:w,attachmentProps:t,additionalSuffix:S,readOnly:f,componentType:C,...r},v)=>{const y=N.useId(),e=N.useRef(null),B=()=>{var o;(o=e==null?void 0:e.current)==null||o.focus()},{sliderValue:R,sliderStep:j,sliderMin:A,sliderMax:F,handleChangeSlider:M}=T({min:p,max:s,defaultValue:0,value:u,onChange:l}),{root:V,slider:$,textLeft:z,textRight:G,inputRoot:L,textContainer:q,input:D,field:E}=h||{};return d("div",{"aria-label":C,className:m("flex w-full flex-col gap-1",V),children:[d("div",{className:m("relative w-full select-none",{"select-none":f},E),children:[c(X,{label:w,value:u,attachmentProps:{onClickIcon:f?void 0:(t==null?void 0:t.onClickIcon)||B,icon:f?void 0:(t==null?void 0:t.icon)||Y,...t},classes:{container:"border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800",...L},onBlur:o=>{r!=null&&r.onBlur&&(r==null||r.onBlur(o)),i!=null&&i.onBlur&&i.onBlur(o)},onClick:i==null?void 0:i.onClick,onFocus:i==null?void 0:i.onBlur,renderValues:()=>c(K,{id:y,readOnly:f,"aria-invalid":k?"true":"false",value:u,disabled:b,suffix:` ${n(g,u)} ${S??""}`,thousandsGroupStyle:"thousand",thousandSeparator:" ",allowNegative:!1,getInputRef:U(e,v),onValueChange:({floatValue:o})=>{var I;o!==void 0&&(l&&l(o),(I=i==null?void 0:i.onInputChange)==null||I.call(i,o))},"data-test-id":"slider",className:m("group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all",D),...r})}),c(Q,{classes:{...$},step:j,value:R,disabled:b,min:Number(A),max:Number(F),onChange:M,externalHandlers:i})]}),d("div",{className:m("flex justify-between",q),children:[p&&c("span",{className:m("desk-body-regular-m text-color-tetriary",z),children:n(g,p,!1)}),s&&c("span",{className:m("desk-body-regular-m text-color-tetriary",G),children:n(g,s,!1)})]})]})});export{$i as SliderAlgorithmic};
2
2
  //# sourceMappingURL=SliderAlgorithmic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SliderAlgorithmic.js","sources":["../../../../../../../../../lib/shared/ui/formElements/uncontrolled/slider/ui/sliderAlgorithmic/SliderAlgorithmic.tsx"],"sourcesContent":["import * as React from 'react'\nimport { forwardRef } from 'react'\nimport { NumericFormat } from 'react-number-format'\nimport { type SliderAlgorithmicProps } from '../../model'\nimport { getInputSliderSuffix } from '../../model/helpers'\nimport { SliderInner } from '../Slider'\nimport { useSliderAlgorithmic } from './hooks'\nimport { Icon, InputBase } from '$/shared/ui'\nimport { cn, mergeRefs } from '$/shared/utils'\n\nconst defaultIcon = (\n <Icon\n name='general/edit'\n className='size-[19px] text-icon-blue-grey-600 transition-[color] group-focus-within/icon:text-icon-blue-grey-800'\n />\n)\n\nexport const SliderAlgorithmic = forwardRef<HTMLInputElement, SliderAlgorithmicProps>(\n (\n {\n classes,\n invalid,\n externalHandlers,\n disabled,\n value,\n onChange,\n min,\n max,\n suffix,\n label,\n attachmentProps,\n additionalSuffix,\n readOnly,\n componentType,\n ...props\n },\n ref\n ) => {\n const inputId = React.useId()\n\n const inputRef = React.useRef<HTMLInputElement>(null)\n\n const handleIconClick = () => {\n inputRef?.current?.focus()\n }\n\n const { sliderValue, sliderStep, sliderMin, sliderMax, handleChangeSlider } = useSliderAlgorithmic({\n min,\n max,\n defaultValue: 0,\n value,\n onChange\n })\n\n const { root, slider, textLeft, textRight, inputRoot, textContainer, input, field } = classes || {}\n\n return (\n <div aria-label={componentType} className={cn('flex w-full flex-col gap-1', root)}>\n <div className={cn('relative w-full select-none', { ['select-none']: readOnly }, field)}>\n <InputBase\n label={label}\n value={value}\n attachmentProps={{\n onClickIcon: readOnly ? undefined : attachmentProps?.onClickIcon || handleIconClick,\n icon: readOnly ? undefined : attachmentProps?.icon || defaultIcon,\n ...attachmentProps\n }}\n classes={{\n container: 'border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800',\n ...inputRoot\n }}\n onBlur={(e) => {\n if (props?.onBlur) props?.onBlur(e)\n if (externalHandlers?.onBlur) externalHandlers.onBlur(e)\n }}\n onClick={externalHandlers?.onClick}\n onFocus={externalHandlers?.onBlur}\n renderValues={() => (\n <NumericFormat\n id={inputId}\n readOnly={readOnly}\n aria-invalid={invalid ? 'true' : 'false'}\n value={value}\n disabled={disabled}\n suffix={` ${getInputSliderSuffix(suffix, value)} ${additionalSuffix ?? ''}`}\n thousandsGroupStyle='thousand'\n thousandSeparator={' '}\n allowNegative={false}\n getInputRef={mergeRefs(inputRef, ref)}\n onValueChange={({ floatValue }) => {\n if (floatValue !== undefined) {\n if (onChange) onChange(floatValue)\n externalHandlers?.onInputChange?.(floatValue)\n }\n }}\n data-test-id='slider'\n className={cn(\n 'group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all',\n\n input\n )}\n {...props}\n />\n )}\n />\n <SliderInner\n classes={{ ...slider }}\n step={sliderStep}\n value={sliderValue}\n disabled={disabled}\n min={Number(sliderMin)}\n max={Number(sliderMax)}\n onChange={handleChangeSlider}\n externalHandlers={externalHandlers}\n />\n </div>\n <div className={cn('flex justify-between', textContainer)}>\n {min && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textLeft)}>\n {getInputSliderSuffix(suffix, min, false)}\n </span>\n )}\n {max && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textRight)}>\n {getInputSliderSuffix(suffix, max, false)}\n </span>\n )}\n </div>\n </div>\n )\n }\n)\n"],"names":["defaultIcon","jsx","Icon","SliderAlgorithmic","forwardRef","classes","invalid","externalHandlers","disabled","value","onChange","min","max","suffix","label","attachmentProps","additionalSuffix","readOnly","componentType","props","ref","inputId","React","inputRef","handleIconClick","_a","sliderValue","sliderStep","sliderMin","sliderMax","handleChangeSlider","useSliderAlgorithmic","root","slider","textLeft","textRight","inputRoot","textContainer","input","field","jsxs","cn","InputBase","e","NumericFormat","getInputSliderSuffix","mergeRefs","floatValue","SliderInner"],"mappings":"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"}
1
+ {"version":3,"file":"SliderAlgorithmic.js","sources":["../../../../../../../../../lib/shared/ui/formElements/uncontrolled/slider/ui/sliderAlgorithmic/SliderAlgorithmic.tsx"],"sourcesContent":["import * as React from 'react'\nimport { forwardRef } from 'react'\nimport { NumericFormat } from 'react-number-format'\nimport { type SliderAlgorithmicProps } from '../../model'\nimport { getInputSliderSuffix } from '../../model/helpers'\nimport { SliderInner } from '../Slider'\nimport { useSliderAlgorithmic } from './hooks'\nimport { Icon, InputBase } from '$/shared/ui'\nimport { cn, mergeRefs } from '$/shared/utils'\n\nconst defaultIcon = (\n <Icon\n name='general/edit'\n className='size-[19px] text-icon-blue-grey-600 transition-[color] group-focus-within/icon:text-icon-blue-grey-800'\n />\n)\n\nexport const SliderAlgorithmic = forwardRef<HTMLInputElement, SliderAlgorithmicProps>(\n (\n {\n classes,\n invalid,\n externalHandlers,\n disabled,\n value,\n onChange,\n min,\n max,\n suffix,\n label,\n attachmentProps,\n additionalSuffix,\n readOnly,\n componentType,\n ...props\n },\n ref\n ) => {\n const inputId = React.useId()\n\n const inputRef = React.useRef<HTMLInputElement>(null)\n\n const handleIconClick = () => {\n inputRef?.current?.focus()\n }\n\n const { sliderValue, sliderStep, sliderMin, sliderMax, handleChangeSlider } = useSliderAlgorithmic({\n min,\n max,\n defaultValue: 0,\n value,\n onChange\n })\n\n const { root, slider, textLeft, textRight, inputRoot, textContainer, input, field } = classes || {}\n\n return (\n <div aria-label={componentType} className={cn('flex w-full flex-col gap-1', root)}>\n <div className={cn('relative w-full select-none', { ['select-none']: readOnly }, field)}>\n <InputBase\n label={label}\n value={value}\n attachmentProps={{\n onClickIcon: readOnly ? undefined : attachmentProps?.onClickIcon || handleIconClick,\n icon: readOnly ? undefined : attachmentProps?.icon || defaultIcon,\n ...attachmentProps\n }}\n classes={{\n container: 'border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800',\n ...inputRoot\n }}\n onBlur={(e) => {\n if (props?.onBlur) props?.onBlur(e)\n if (externalHandlers?.onBlur) externalHandlers.onBlur(e)\n }}\n onClick={externalHandlers?.onClick}\n onFocus={externalHandlers?.onBlur}\n renderValues={() => (\n <NumericFormat\n id={inputId}\n readOnly={readOnly}\n aria-invalid={invalid ? 'true' : 'false'}\n value={value}\n disabled={disabled}\n suffix={` ${getInputSliderSuffix(suffix, value)} ${additionalSuffix ?? ''}`}\n thousandsGroupStyle='thousand'\n thousandSeparator={' '}\n allowNegative={false}\n getInputRef={mergeRefs(inputRef, ref)}\n onValueChange={({ floatValue }) => {\n if (floatValue !== undefined) {\n if (onChange) onChange(floatValue)\n externalHandlers?.onInputChange?.(floatValue)\n }\n }}\n data-test-id='slider'\n className={cn(\n 'group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all',\n\n input\n )}\n {...props}\n />\n )}\n />\n <SliderInner\n classes={{ ...slider }}\n step={sliderStep}\n value={sliderValue}\n disabled={disabled}\n min={Number(sliderMin)}\n max={Number(sliderMax)}\n onChange={handleChangeSlider}\n externalHandlers={externalHandlers}\n />\n </div>\n <div className={cn('flex justify-between', textContainer)}>\n {min && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textLeft)}>\n {getInputSliderSuffix(suffix, min, false)}\n </span>\n )}\n {max && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textRight)}>\n {getInputSliderSuffix(suffix, max, false)}\n </span>\n )}\n </div>\n </div>\n )\n }\n)\n"],"names":["defaultIcon","jsx","Icon","SliderAlgorithmic","forwardRef","classes","invalid","externalHandlers","disabled","value","onChange","min","max","suffix","label","attachmentProps","additionalSuffix","readOnly","componentType","props","ref","inputId","React","inputRef","handleIconClick","_a","sliderValue","sliderStep","sliderMin","sliderMax","handleChangeSlider","useSliderAlgorithmic","root","slider","textLeft","textRight","inputRoot","textContainer","input","field","jsxs","cn","InputBase","e","NumericFormat","getInputSliderSuffix","mergeRefs","floatValue","SliderInner"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{jsxs as f,jsx as m}from"react/jsx-runtime";import*as l from"react";import{forwardRef as L}from"react";import{NumericFormat as O}from"../../../../../../../../node_modules/react-number-format/dist/react-number-format.es.js";import{getInputSliderSuffix as e}from"../../model/helpers/getInputSliderSuffix.js";import{SliderInner as P}from"../Slider.js";import{useSliderMarks as q}from"./hooks/useSliderMarks.js";import{cn as i}from"../../../../../../utils/cn.js";import{mergeRefs as z}from"../../../../../../utils/mergeRefs.js";import"../../../../../button/Button.js";import"../../../../../buttonIcon/ButtonIcon.js";import"../../../../../calendar/Calendar.js";import"../../../../../calendar/model/utils.js";import"../../../../../accordion/Accordion.js";import"react-dom";import"../../../../../modal/ui/IframeModalContent.js";import"../../../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../../../table/ui/primitives/Primitives.js";import"../../../../../carousel/ui/CarouselContent.js";import"../../../../../slot/Slot.js";import"../../../autocomplete/Autocomplete.js";import"../../../checkbox/Checkbox.js";import"../../../combobox/combobox.js";import"../../../dayPicker/DayPicker.js";import{InputBase as A}from"../../../input/Input.js";import"../../../inputOtp/InputOtpBase.js";import"../../../maskInput/MaskInput.js";import"../../../radio/RadioGroup.js";import"../../../radio/ui/RadioItem.js";import"../../SliderBase.js";import"../../../switch/Switch.js";import"../../../textarea/Textarea.js";import"../../../uploader/UploaderBase.js";import"../../../inputCurrency/InputCurrency.js";import"../../../../../../../../src/configs/api.js";import"../../../../controlled/editor/ui/Editor.js";import"../../../../controlled/input/MaskInputControl.js";import"../../../../../dropdownList/ui/dropdownItem/DropdownItem.js";const ao=L(({classes:d,invalid:n,externalHandlers:o,disabled:g,value:t,onChange:p,suffix:u,label:b,marks:h,attachmentProps:N,additionalSuffix:y,componentType:w,...I},R)=>{const S=l.useId(),a=l.useRef(null),{sliderMin:s,sliderMax:c,handleChangeSlider:k}=q({marks:h,onChange:p,value:t}),{root:C,slider:B,textLeft:M,textRight:j,inputRoot:v,textContainer:F,input:$,field:G}=d||{};return f("div",{"aria-label":w,className:i("flex w-full flex-col gap-1",C),children:[f("div",{className:i("relative w-full select-none",G),children:[m(A,{label:b,value:t,attachmentProps:{...N},classes:{container:"border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800",...v},onClick:o==null?void 0:o.onClick,onFocus:o==null?void 0:o.onBlur,onBlur:r=>{o!=null&&o.onBlur&&(o==null||o.onBlur(r))},renderValues:()=>m(O,{id:S,readOnly:!0,"aria-invalid":n?"true":"false",value:t,disabled:g,suffix:` ${e(u,t)} ${y??""}`,thousandsGroupStyle:"thousand",thousandSeparator:" ",allowNegative:!1,getInputRef:z(a,R),onValueChange:({floatValue:r})=>{r&&(p&&p(r),o!=null&&o.onInputChange&&o.onInputChange(r))},"data-test-id":"slider",className:i("group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all",$),...I})}),m(P,{classes:{...B},marks:h,step:null,value:t??0,disabled:g,min:Number(s),max:Number(c),onChange:k})]}),f("div",{className:i("flex justify-between",F),children:[s&&m("span",{className:i("desk-body-regular-m text-color-tetriary",M),children:e(u,s,!1)}),c&&m("span",{className:i("desk-body-regular-m text-color-tetriary",j),children:e(u,c,!1)})]})]})});export{ao as SliderMarks};
1
+ import{jsxs as f,jsx as m}from"react/jsx-runtime";import*as l from"react";import{forwardRef as L}from"react";import{NumericFormat as O}from"../../../../../../../../node_modules/react-number-format/dist/react-number-format.es.js";import{getInputSliderSuffix as e}from"../../model/helpers/getInputSliderSuffix.js";import{SliderInner as P}from"../Slider.js";import{useSliderMarks as q}from"./hooks/useSliderMarks.js";import{cn as i}from"../../../../../../utils/cn.js";import{mergeRefs as z}from"../../../../../../utils/mergeRefs.js";import"../../../../../button/Button.js";import"../../../../../buttonIcon/ButtonIcon.js";import"../../../../../calendar/Calendar.js";import"../../../../../calendar/model/utils.js";import"../../../../../accordion/Accordion.js";import"react-hook-form";import"react-dom";import"../../../../../modal/ui/IframeModalContent.js";import"../../../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../../../table/ui/primitives/Primitives.js";import"../../../../../carousel/ui/CarouselContent.js";import"../../../../../slot/Slot.js";import"../../../autocomplete/Autocomplete.js";import"../../../checkbox/Checkbox.js";import"../../../combobox/combobox.js";import"../../../dayPicker/DayPicker.js";import{InputBase as A}from"../../../input/Input.js";import"../../../inputOtp/InputOtpBase.js";import"../../../maskInput/MaskInput.js";import"../../../radio/RadioGroup.js";import"../../../radio/ui/RadioItem.js";import"../../SliderBase.js";import"../../../switch/Switch.js";import"../../../textarea/Textarea.js";import"../../../uploader/UploaderBase.js";import"../../../inputCurrency/InputCurrency.js";import"../../../../../../../../src/configs/api.js";import"../../../../controlled/editor/ui/Editor.js";import"../../../../controlled/input/MaskInputControl.js";import"../../../../../dropdownList/ui/dropdownItem/DropdownItem.js";const ko=L(({classes:d,invalid:n,externalHandlers:o,disabled:g,value:t,onChange:p,suffix:u,label:b,marks:h,attachmentProps:N,additionalSuffix:y,componentType:w,...I},R)=>{const S=l.useId(),a=l.useRef(null),{sliderMin:s,sliderMax:c,handleChangeSlider:k}=q({marks:h,onChange:p,value:t}),{root:C,slider:B,textLeft:M,textRight:j,inputRoot:v,textContainer:F,input:$,field:G}=d||{};return f("div",{"aria-label":w,className:i("flex w-full flex-col gap-1",C),children:[f("div",{className:i("relative w-full select-none",G),children:[m(A,{label:b,value:t,attachmentProps:{...N},classes:{container:"border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800",...v},onClick:o==null?void 0:o.onClick,onFocus:o==null?void 0:o.onBlur,onBlur:r=>{o!=null&&o.onBlur&&(o==null||o.onBlur(r))},renderValues:()=>m(O,{id:S,readOnly:!0,"aria-invalid":n?"true":"false",value:t,disabled:g,suffix:` ${e(u,t)} ${y??""}`,thousandsGroupStyle:"thousand",thousandSeparator:" ",allowNegative:!1,getInputRef:z(a,R),onValueChange:({floatValue:r})=>{r&&(p&&p(r),o!=null&&o.onInputChange&&o.onInputChange(r))},"data-test-id":"slider",className:i("group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all",$),...I})}),m(P,{classes:{...B},marks:h,step:null,value:t??0,disabled:g,min:Number(s),max:Number(c),onChange:k})]}),f("div",{className:i("flex justify-between",F),children:[s&&m("span",{className:i("desk-body-regular-m text-color-tetriary",M),children:e(u,s,!1)}),c&&m("span",{className:i("desk-body-regular-m text-color-tetriary",j),children:e(u,c,!1)})]})]})});export{ko as SliderMarks};
2
2
  //# sourceMappingURL=SliderMarks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SliderMarks.js","sources":["../../../../../../../../../lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/SliderMarks.tsx"],"sourcesContent":["import * as React from 'react'\nimport { forwardRef } from 'react'\nimport { NumericFormat } from 'react-number-format'\nimport { type SliderMarksProps } from '../../model'\nimport { getInputSliderSuffix } from '../../model/helpers'\nimport { SliderInner } from '../Slider'\nimport { useSliderMarks } from './hooks'\nimport { InputBase } from '$/shared/ui'\nimport { cn, mergeRefs } from '$/shared/utils'\n\nexport const SliderMarks = forwardRef<HTMLInputElement, SliderMarksProps>(\n (\n {\n classes,\n invalid,\n externalHandlers,\n disabled,\n value,\n onChange,\n suffix,\n label,\n marks,\n attachmentProps,\n additionalSuffix,\n componentType,\n ...props\n },\n ref\n ) => {\n const inputId = React.useId()\n\n const inputRef = React.useRef<HTMLInputElement>(null)\n\n const { sliderMin, sliderMax, handleChangeSlider } = useSliderMarks({\n marks,\n onChange,\n value\n })\n\n const { root, slider, textLeft, textRight, inputRoot, textContainer, input, field } = classes || {}\n return (\n <div aria-label={componentType} className={cn('flex w-full flex-col gap-1', root)}>\n <div className={cn('relative w-full select-none', field)}>\n <InputBase\n label={label}\n value={value}\n attachmentProps={{\n ...attachmentProps\n }}\n classes={{\n container: 'border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800',\n ...inputRoot\n }}\n onClick={externalHandlers?.onClick}\n onFocus={externalHandlers?.onBlur}\n onBlur={(e) => {\n if (externalHandlers?.onBlur) {\n externalHandlers?.onBlur(e)\n }\n }}\n renderValues={() => (\n <NumericFormat\n id={inputId}\n readOnly\n aria-invalid={invalid ? 'true' : 'false'}\n value={value}\n disabled={disabled}\n suffix={` ${getInputSliderSuffix(suffix, value)} ${additionalSuffix ?? ''}`}\n thousandsGroupStyle='thousand'\n thousandSeparator={' '}\n allowNegative={false}\n getInputRef={mergeRefs(inputRef, ref)}\n onValueChange={({ floatValue }) => {\n if (floatValue) {\n if (onChange) onChange(floatValue)\n if (externalHandlers?.onInputChange) {\n externalHandlers.onInputChange(floatValue)\n }\n }\n }}\n data-test-id='slider'\n className={cn(\n 'group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all',\n input\n )}\n {...props}\n />\n )}\n />\n <SliderInner\n classes={{ ...slider }}\n marks={marks}\n step={null}\n value={value ?? 0}\n disabled={disabled}\n min={Number(sliderMin)}\n max={Number(sliderMax)}\n onChange={handleChangeSlider}\n />\n </div>\n <div className={cn('flex justify-between', textContainer)}>\n {sliderMin && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textLeft)}>\n {getInputSliderSuffix(suffix, sliderMin, false)}\n </span>\n )}\n {sliderMax && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textRight)}>\n {getInputSliderSuffix(suffix, sliderMax, false)}\n </span>\n )}\n </div>\n </div>\n )\n }\n)\n"],"names":["SliderMarks","forwardRef","classes","invalid","externalHandlers","disabled","value","onChange","suffix","label","marks","attachmentProps","additionalSuffix","componentType","props","ref","inputId","React","inputRef","sliderMin","sliderMax","handleChangeSlider","useSliderMarks","root","slider","textLeft","textRight","inputRoot","textContainer","input","field","jsxs","cn","jsx","InputBase","e","NumericFormat","getInputSliderSuffix","mergeRefs","floatValue","SliderInner"],"mappings":"8yDAUO,MAAMA,GAAcC,EACzB,CACE,CACE,QAAAC,EACA,QAAAC,EACA,iBAAAC,EACA,SAAAC,EACA,MAAAC,EACA,SAAAC,EACA,OAAAC,EACA,MAAAC,EACA,MAAAC,EACA,gBAAAC,EACA,iBAAAC,EACA,cAAAC,EACA,GAAGC,CAAA,EAELC,IACG,CACH,MAAMC,EAAUC,EAAM,MAAA,EAEhBC,EAAWD,EAAM,OAAyB,IAAI,EAE9C,CAAE,UAAAE,EAAW,UAAAC,EAAW,mBAAAC,CAAA,EAAuBC,EAAe,CAClE,MAAAZ,EACA,SAAAH,EACA,MAAAD,CAAA,CACD,EAEK,CAAE,KAAAiB,EAAM,OAAAC,EAAQ,SAAAC,EAAU,UAAAC,EAAW,UAAAC,EAAW,cAAAC,EAAe,MAAAC,EAAO,MAAAC,CAAA,EAAU5B,GAAW,CAAA,EACjG,OACE6B,EAAC,OAAI,aAAYlB,EAAe,UAAWmB,EAAG,6BAA8BT,CAAI,EAC9E,SAAA,CAAAQ,EAAC,MAAA,CAAI,UAAWC,EAAG,8BAA+BF,CAAK,EACrD,SAAA,CAAAG,EAACC,EAAA,CACC,MAAAzB,EACA,MAAAH,EACA,gBAAiB,CACf,GAAGK,CAAA,EAEL,QAAS,CACP,UAAW,qFACX,GAAGgB,CAAA,EAEL,QAASvB,GAAA,YAAAA,EAAkB,QAC3B,QAASA,GAAA,YAAAA,EAAkB,OAC3B,OAAS+B,GAAM,CACT/B,GAAA,MAAAA,EAAkB,SACpBA,GAAA,MAAAA,EAAkB,OAAO+B,GAE7B,EACA,aAAc,IACZF,EAACG,EAAA,CACC,GAAIpB,EACJ,SAAQ,GACR,eAAcb,EAAU,OAAS,QACjC,MAAAG,EACA,SAAAD,EACA,OAAQ,IAAIgC,EAAqB7B,EAAQF,CAAK,CAAC,IAAIM,GAAoB,EAAE,GACzE,oBAAoB,WACpB,kBAAmB,IACnB,cAAe,GACf,YAAa0B,EAAUpB,EAAUH,CAAG,EACpC,cAAe,CAAC,CAAE,WAAAwB,KAAiB,CAC7BA,IACEhC,KAAmBgC,CAAU,EAC7BnC,GAAA,MAAAA,EAAkB,eACpBA,EAAiB,cAAcmC,CAAU,EAG/C,EACA,eAAa,SACb,UAAWP,EACT,yGACAH,CAAA,EAED,GAAGf,CAAA,CAAA,CACN,CAAA,EAGJmB,EAACO,EAAA,CACC,QAAS,CAAE,GAAGhB,CAAA,EACd,MAAAd,EACA,KAAM,KACN,MAAOJ,GAAS,EAChB,SAAAD,EACA,IAAK,OAAOc,CAAS,EACrB,IAAK,OAAOC,CAAS,EACrB,SAAUC,CAAA,CAAA,CACZ,EACF,IACC,MAAA,CAAI,UAAWW,EAAG,uBAAwBJ,CAAa,EACrD,SAAA,CAAAT,GACCc,EAAC,OAAA,CAAK,UAAWD,EAAG,0CAA2CP,CAAQ,EACpE,SAAAY,EAAqB7B,EAAQW,EAAW,EAAK,CAAA,CAChD,EAEDC,GACCa,EAAC,OAAA,CAAK,UAAWD,EAAG,0CAA2CN,CAAS,EACrE,SAAAW,EAAqB7B,EAAQY,EAAW,EAAK,CAAA,CAChD,CAAA,CAAA,CAEJ,CAAA,EACF,CAEJ,CACF"}
1
+ {"version":3,"file":"SliderMarks.js","sources":["../../../../../../../../../lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/SliderMarks.tsx"],"sourcesContent":["import * as React from 'react'\nimport { forwardRef } from 'react'\nimport { NumericFormat } from 'react-number-format'\nimport { type SliderMarksProps } from '../../model'\nimport { getInputSliderSuffix } from '../../model/helpers'\nimport { SliderInner } from '../Slider'\nimport { useSliderMarks } from './hooks'\nimport { InputBase } from '$/shared/ui'\nimport { cn, mergeRefs } from '$/shared/utils'\n\nexport const SliderMarks = forwardRef<HTMLInputElement, SliderMarksProps>(\n (\n {\n classes,\n invalid,\n externalHandlers,\n disabled,\n value,\n onChange,\n suffix,\n label,\n marks,\n attachmentProps,\n additionalSuffix,\n componentType,\n ...props\n },\n ref\n ) => {\n const inputId = React.useId()\n\n const inputRef = React.useRef<HTMLInputElement>(null)\n\n const { sliderMin, sliderMax, handleChangeSlider } = useSliderMarks({\n marks,\n onChange,\n value\n })\n\n const { root, slider, textLeft, textRight, inputRoot, textContainer, input, field } = classes || {}\n return (\n <div aria-label={componentType} className={cn('flex w-full flex-col gap-1', root)}>\n <div className={cn('relative w-full select-none', field)}>\n <InputBase\n label={label}\n value={value}\n attachmentProps={{\n ...attachmentProps\n }}\n classes={{\n container: 'border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800',\n ...inputRoot\n }}\n onClick={externalHandlers?.onClick}\n onFocus={externalHandlers?.onBlur}\n onBlur={(e) => {\n if (externalHandlers?.onBlur) {\n externalHandlers?.onBlur(e)\n }\n }}\n renderValues={() => (\n <NumericFormat\n id={inputId}\n readOnly\n aria-invalid={invalid ? 'true' : 'false'}\n value={value}\n disabled={disabled}\n suffix={` ${getInputSliderSuffix(suffix, value)} ${additionalSuffix ?? ''}`}\n thousandsGroupStyle='thousand'\n thousandSeparator={' '}\n allowNegative={false}\n getInputRef={mergeRefs(inputRef, ref)}\n onValueChange={({ floatValue }) => {\n if (floatValue) {\n if (onChange) onChange(floatValue)\n if (externalHandlers?.onInputChange) {\n externalHandlers.onInputChange(floatValue)\n }\n }\n }}\n data-test-id='slider'\n className={cn(\n 'group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all',\n input\n )}\n {...props}\n />\n )}\n />\n <SliderInner\n classes={{ ...slider }}\n marks={marks}\n step={null}\n value={value ?? 0}\n disabled={disabled}\n min={Number(sliderMin)}\n max={Number(sliderMax)}\n onChange={handleChangeSlider}\n />\n </div>\n <div className={cn('flex justify-between', textContainer)}>\n {sliderMin && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textLeft)}>\n {getInputSliderSuffix(suffix, sliderMin, false)}\n </span>\n )}\n {sliderMax && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textRight)}>\n {getInputSliderSuffix(suffix, sliderMax, false)}\n </span>\n )}\n </div>\n </div>\n )\n }\n)\n"],"names":["SliderMarks","forwardRef","classes","invalid","externalHandlers","disabled","value","onChange","suffix","label","marks","attachmentProps","additionalSuffix","componentType","props","ref","inputId","React","inputRef","sliderMin","sliderMax","handleChangeSlider","useSliderMarks","root","slider","textLeft","textRight","inputRoot","textContainer","input","field","jsxs","cn","jsx","InputBase","e","NumericFormat","getInputSliderSuffix","mergeRefs","floatValue","SliderInner"],"mappings":"s0DAUO,MAAMA,GAAcC,EACzB,CACE,CACE,QAAAC,EACA,QAAAC,EACA,iBAAAC,EACA,SAAAC,EACA,MAAAC,EACA,SAAAC,EACA,OAAAC,EACA,MAAAC,EACA,MAAAC,EACA,gBAAAC,EACA,iBAAAC,EACA,cAAAC,EACA,GAAGC,CAAA,EAELC,IACG,CACH,MAAMC,EAAUC,EAAM,MAAA,EAEhBC,EAAWD,EAAM,OAAyB,IAAI,EAE9C,CAAE,UAAAE,EAAW,UAAAC,EAAW,mBAAAC,CAAA,EAAuBC,EAAe,CAClE,MAAAZ,EACA,SAAAH,EACA,MAAAD,CAAA,CACD,EAEK,CAAE,KAAAiB,EAAM,OAAAC,EAAQ,SAAAC,EAAU,UAAAC,EAAW,UAAAC,EAAW,cAAAC,EAAe,MAAAC,EAAO,MAAAC,CAAA,EAAU5B,GAAW,CAAA,EACjG,OACE6B,EAAC,OAAI,aAAYlB,EAAe,UAAWmB,EAAG,6BAA8BT,CAAI,EAC9E,SAAA,CAAAQ,EAAC,MAAA,CAAI,UAAWC,EAAG,8BAA+BF,CAAK,EACrD,SAAA,CAAAG,EAACC,EAAA,CACC,MAAAzB,EACA,MAAAH,EACA,gBAAiB,CACf,GAAGK,CAAA,EAEL,QAAS,CACP,UAAW,qFACX,GAAGgB,CAAA,EAEL,QAASvB,GAAA,YAAAA,EAAkB,QAC3B,QAASA,GAAA,YAAAA,EAAkB,OAC3B,OAAS+B,GAAM,CACT/B,GAAA,MAAAA,EAAkB,SACpBA,GAAA,MAAAA,EAAkB,OAAO+B,GAE7B,EACA,aAAc,IACZF,EAACG,EAAA,CACC,GAAIpB,EACJ,SAAQ,GACR,eAAcb,EAAU,OAAS,QACjC,MAAAG,EACA,SAAAD,EACA,OAAQ,IAAIgC,EAAqB7B,EAAQF,CAAK,CAAC,IAAIM,GAAoB,EAAE,GACzE,oBAAoB,WACpB,kBAAmB,IACnB,cAAe,GACf,YAAa0B,EAAUpB,EAAUH,CAAG,EACpC,cAAe,CAAC,CAAE,WAAAwB,KAAiB,CAC7BA,IACEhC,KAAmBgC,CAAU,EAC7BnC,GAAA,MAAAA,EAAkB,eACpBA,EAAiB,cAAcmC,CAAU,EAG/C,EACA,eAAa,SACb,UAAWP,EACT,yGACAH,CAAA,EAED,GAAGf,CAAA,CAAA,CACN,CAAA,EAGJmB,EAACO,EAAA,CACC,QAAS,CAAE,GAAGhB,CAAA,EACd,MAAAd,EACA,KAAM,KACN,MAAOJ,GAAS,EAChB,SAAAD,EACA,IAAK,OAAOc,CAAS,EACrB,IAAK,OAAOC,CAAS,EACrB,SAAUC,CAAA,CAAA,CACZ,EACF,IACC,MAAA,CAAI,UAAWW,EAAG,uBAAwBJ,CAAa,EACrD,SAAA,CAAAT,GACCc,EAAC,OAAA,CAAK,UAAWD,EAAG,0CAA2CP,CAAQ,EACpE,SAAAY,EAAqB7B,EAAQW,EAAW,EAAK,CAAA,CAChD,EAEDC,GACCa,EAAC,OAAA,CAAK,UAAWD,EAAG,0CAA2CN,CAAS,EACrE,SAAAW,EAAqB7B,EAAQY,EAAW,EAAK,CAAA,CAChD,CAAA,CAAA,CAEJ,CAAA,EACF,CAEJ,CACF"}
@@ -1,2 +1,2 @@
1
- import{jsxs as d,jsx as c}from"react/jsx-runtime";import*as I from"react";import{forwardRef as J}from"react";import{NumericFormat as K}from"../../../../../../../../node_modules/react-number-format/dist/react-number-format.es.js";import{getInputSliderSuffix as g}from"../../model/helpers/getInputSliderSuffix.js";import{SliderInner as Q}from"../Slider.js";import{useSliderStep as T}from"./hooks/useSliderStep.js";import{cn as m}from"../../../../../../utils/cn.js";import{mergeRefs as U}from"../../../../../../utils/mergeRefs.js";import"../../../../../button/Button.js";import"../../../../../buttonIcon/ButtonIcon.js";import"../../../../../calendar/Calendar.js";import"../../../../../calendar/model/utils.js";import"../../../../../accordion/Accordion.js";import"react-dom";import"../../../../../modal/ui/IframeModalContent.js";import"../../../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as V}from"../../../../../icon/Icon.js";import"../../../../../table/ui/primitives/Primitives.js";import"../../../../../carousel/ui/CarouselContent.js";import"../../../../../slot/Slot.js";import"../../../autocomplete/Autocomplete.js";import"../../../checkbox/Checkbox.js";import"../../../combobox/combobox.js";import"../../../dayPicker/DayPicker.js";import{InputBase as W}from"../../../input/Input.js";import"../../../inputOtp/InputOtpBase.js";import"../../../maskInput/MaskInput.js";import"../../../radio/RadioGroup.js";import"../../../radio/ui/RadioItem.js";import"../../SliderBase.js";import"../../../switch/Switch.js";import"../../../textarea/Textarea.js";import"../../../uploader/UploaderBase.js";import"../../../inputCurrency/InputCurrency.js";import"../../../../../../../../src/configs/api.js";import"../../../../controlled/editor/ui/Editor.js";import"../../../../controlled/input/MaskInputControl.js";import"../../../../../dropdownList/ui/dropdownItem/DropdownItem.js";const X=c(V,{name:"general/edit",className:"size-[19px] text-icon-blue-grey-600 transition-[color] group-focus-within/icon:text-icon-blue-grey-800"}),zo=J(({classes:N,invalid:S,externalHandlers:o,disabled:b,value:u,onChange:l,min:p,max:n,suffix:s,label:k,step:w,attachmentProps:t,additionalSuffix:C,readOnly:e,componentType:h,...r},y)=>{const B=I.useId(),f=I.useRef(null),R=()=>{var i;(i=f==null?void 0:f.current)==null||i.focus()},{sliderStep:v,sliderMin:j,sliderMax:F,handleChangeSlider:M}=T({min:p,max:n,step:w,onChange:l,value:u}),{root:$,slider:z,textLeft:G,textRight:L,inputRoot:q,textContainer:A,input:D,field:E}=N||{};return d("div",{"aria-label":h,className:m("flex w-full flex-col gap-1",$),children:[d("div",{className:m("relative w-full select-none",{"select-none":e},E),children:[c(W,{label:k,value:u,attachmentProps:{onClickIcon:e?void 0:(t==null?void 0:t.onClickIcon)||R,icon:e?void 0:(t==null?void 0:t.icon)||X,...t},classes:{container:"border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800",...q},onBlur:i=>{r!=null&&r.onBlur&&(r==null||r.onBlur(i)),o!=null&&o.onBlur&&o.onBlur(i)},onClick:o==null?void 0:o.onClick,onFocus:o==null?void 0:o.onBlur,renderValues:()=>c(K,{id:B,readOnly:e,"aria-invalid":S?"true":"false",value:u,disabled:b,suffix:` ${g(s,u)} ${C??""}`,thousandsGroupStyle:"thousand",thousandSeparator:" ",allowNegative:!1,getInputRef:U(f,y),onValueChange:({floatValue:i})=>{i&&(l&&l(i),o!=null&&o.onInputChange&&o.onInputChange(i))},"data-test-id":"slider",className:m("group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all",D),...r})}),c(Q,{classes:{...z},step:v,value:u??0,disabled:b,min:Number(j),max:Number(F),onChange:M})]}),d("div",{className:m("flex justify-between",A),children:[p&&c("span",{className:m("desk-body-regular-m text-color-tetriary",G),children:g(s,p,!1)}),n&&c("span",{className:m("desk-body-regular-m text-color-tetriary",L),children:g(s,n,!1)})]})]})});export{zo as SliderStep};
1
+ import{jsxs as d,jsx as c}from"react/jsx-runtime";import*as I from"react";import{forwardRef as J}from"react";import{NumericFormat as K}from"../../../../../../../../node_modules/react-number-format/dist/react-number-format.es.js";import{getInputSliderSuffix as g}from"../../model/helpers/getInputSliderSuffix.js";import{SliderInner as Q}from"../Slider.js";import{useSliderStep as T}from"./hooks/useSliderStep.js";import{cn as m}from"../../../../../../utils/cn.js";import{mergeRefs as U}from"../../../../../../utils/mergeRefs.js";import"../../../../../button/Button.js";import"../../../../../buttonIcon/ButtonIcon.js";import"../../../../../calendar/Calendar.js";import"../../../../../calendar/model/utils.js";import"../../../../../accordion/Accordion.js";import"react-hook-form";import"react-dom";import"../../../../../modal/ui/IframeModalContent.js";import"../../../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as V}from"../../../../../icon/Icon.js";import"../../../../../table/ui/primitives/Primitives.js";import"../../../../../carousel/ui/CarouselContent.js";import"../../../../../slot/Slot.js";import"../../../autocomplete/Autocomplete.js";import"../../../checkbox/Checkbox.js";import"../../../combobox/combobox.js";import"../../../dayPicker/DayPicker.js";import{InputBase as W}from"../../../input/Input.js";import"../../../inputOtp/InputOtpBase.js";import"../../../maskInput/MaskInput.js";import"../../../radio/RadioGroup.js";import"../../../radio/ui/RadioItem.js";import"../../SliderBase.js";import"../../../switch/Switch.js";import"../../../textarea/Textarea.js";import"../../../uploader/UploaderBase.js";import"../../../inputCurrency/InputCurrency.js";import"../../../../../../../../src/configs/api.js";import"../../../../controlled/editor/ui/Editor.js";import"../../../../controlled/input/MaskInputControl.js";import"../../../../../dropdownList/ui/dropdownItem/DropdownItem.js";const X=c(V,{name:"general/edit",className:"size-[19px] text-icon-blue-grey-600 transition-[color] group-focus-within/icon:text-icon-blue-grey-800"}),Go=J(({classes:N,invalid:S,externalHandlers:o,disabled:b,value:u,onChange:p,min:l,max:n,suffix:s,label:k,step:w,attachmentProps:t,additionalSuffix:C,readOnly:e,componentType:h,...r},y)=>{const B=I.useId(),f=I.useRef(null),R=()=>{var i;(i=f==null?void 0:f.current)==null||i.focus()},{sliderStep:v,sliderMin:j,sliderMax:F,handleChangeSlider:M}=T({min:l,max:n,step:w,onChange:p,value:u}),{root:$,slider:z,textLeft:G,textRight:L,inputRoot:q,textContainer:A,input:D,field:E}=N||{};return d("div",{"aria-label":h,className:m("flex w-full flex-col gap-1",$),children:[d("div",{className:m("relative w-full select-none",{"select-none":e},E),children:[c(W,{label:k,value:u,attachmentProps:{onClickIcon:e?void 0:(t==null?void 0:t.onClickIcon)||R,icon:e?void 0:(t==null?void 0:t.icon)||X,...t},classes:{container:"border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800",...q},onBlur:i=>{r!=null&&r.onBlur&&(r==null||r.onBlur(i)),o!=null&&o.onBlur&&o.onBlur(i)},onClick:o==null?void 0:o.onClick,onFocus:o==null?void 0:o.onBlur,renderValues:()=>c(K,{id:B,readOnly:e,"aria-invalid":S?"true":"false",value:u,disabled:b,suffix:` ${g(s,u)} ${C??""}`,thousandsGroupStyle:"thousand",thousandSeparator:" ",allowNegative:!1,getInputRef:U(f,y),onValueChange:({floatValue:i})=>{i&&(p&&p(i),o!=null&&o.onInputChange&&o.onInputChange(i))},"data-test-id":"slider",className:m("group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all",D),...r})}),c(Q,{classes:{...z},step:v,value:u??0,disabled:b,min:Number(j),max:Number(F),onChange:M})]}),d("div",{className:m("flex justify-between",A),children:[l&&c("span",{className:m("desk-body-regular-m text-color-tetriary",G),children:g(s,l,!1)}),n&&c("span",{className:m("desk-body-regular-m text-color-tetriary",L),children:g(s,n,!1)})]})]})});export{Go as SliderStep};
2
2
  //# sourceMappingURL=SliderStep.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SliderStep.js","sources":["../../../../../../../../../lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/SliderStep.tsx"],"sourcesContent":["import * as React from 'react'\nimport { forwardRef } from 'react'\nimport { NumericFormat } from 'react-number-format'\nimport { type SliderStepProps } from '../../model'\nimport { getInputSliderSuffix } from '../../model/helpers'\nimport { SliderInner } from '../Slider'\nimport { useSliderStep } from './hooks'\nimport { Icon, InputBase } from '$/shared/ui'\nimport { cn, mergeRefs } from '$/shared/utils'\n\nconst defaultIcon = (\n <Icon\n name='general/edit'\n className='size-[19px] text-icon-blue-grey-600 transition-[color] group-focus-within/icon:text-icon-blue-grey-800'\n />\n)\n\nexport const SliderStep = forwardRef<HTMLInputElement, SliderStepProps>(\n (\n {\n classes,\n invalid,\n externalHandlers,\n disabled,\n value,\n onChange,\n min,\n max,\n suffix,\n label,\n step,\n attachmentProps,\n additionalSuffix,\n readOnly,\n componentType,\n ...props\n },\n ref\n ) => {\n const inputId = React.useId()\n\n const inputRef = React.useRef<HTMLInputElement>(null)\n\n const handleIconClick = () => {\n inputRef?.current?.focus()\n }\n\n const { sliderStep, sliderMin, sliderMax, handleChangeSlider } = useSliderStep({\n min,\n max,\n step,\n onChange,\n value\n })\n\n const { root, slider, textLeft, textRight, inputRoot, textContainer, input, field } = classes || {}\n\n return (\n <div aria-label={componentType} className={cn('flex w-full flex-col gap-1', root)}>\n <div className={cn('relative w-full select-none', { ['select-none']: readOnly }, field)}>\n <InputBase\n label={label}\n value={value}\n attachmentProps={{\n onClickIcon: readOnly ? undefined : attachmentProps?.onClickIcon || handleIconClick,\n icon: readOnly ? undefined : attachmentProps?.icon || defaultIcon,\n ...attachmentProps\n }}\n classes={{\n container: 'border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800',\n ...inputRoot\n }}\n onBlur={(e) => {\n if (props?.onBlur) props?.onBlur(e)\n if (externalHandlers?.onBlur) externalHandlers.onBlur(e)\n }}\n onClick={externalHandlers?.onClick}\n onFocus={externalHandlers?.onBlur}\n renderValues={() => (\n <NumericFormat\n id={inputId}\n readOnly={readOnly}\n aria-invalid={invalid ? 'true' : 'false'}\n value={value}\n disabled={disabled}\n suffix={` ${getInputSliderSuffix(suffix, value)} ${additionalSuffix ?? ''}`}\n thousandsGroupStyle='thousand'\n thousandSeparator={' '}\n allowNegative={false}\n getInputRef={mergeRefs(inputRef, ref)}\n onValueChange={({ floatValue }) => {\n if (floatValue) {\n if (onChange) onChange(floatValue)\n if (externalHandlers?.onInputChange) {\n externalHandlers.onInputChange(floatValue)\n }\n }\n }}\n data-test-id='slider'\n className={cn(\n 'group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all',\n\n input\n )}\n {...props}\n />\n )}\n />\n <SliderInner\n classes={{ ...slider }}\n step={sliderStep}\n value={value ?? 0}\n disabled={disabled}\n min={Number(sliderMin)}\n max={Number(sliderMax)}\n onChange={handleChangeSlider}\n />\n </div>\n <div className={cn('flex justify-between', textContainer)}>\n {min && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textLeft)}>\n {getInputSliderSuffix(suffix, min, false)}\n </span>\n )}\n {max && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textRight)}>\n {getInputSliderSuffix(suffix, max, false)}\n </span>\n )}\n </div>\n </div>\n )\n }\n)\n"],"names":["defaultIcon","jsx","Icon","SliderStep","forwardRef","classes","invalid","externalHandlers","disabled","value","onChange","min","max","suffix","label","step","attachmentProps","additionalSuffix","readOnly","componentType","props","ref","inputId","React","inputRef","handleIconClick","_a","sliderStep","sliderMin","sliderMax","handleChangeSlider","useSliderStep","root","slider","textLeft","textRight","inputRoot","textContainer","input","field","jsxs","cn","InputBase","e","NumericFormat","getInputSliderSuffix","mergeRefs","floatValue","SliderInner"],"mappings":"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"}
1
+ {"version":3,"file":"SliderStep.js","sources":["../../../../../../../../../lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/SliderStep.tsx"],"sourcesContent":["import * as React from 'react'\nimport { forwardRef } from 'react'\nimport { NumericFormat } from 'react-number-format'\nimport { type SliderStepProps } from '../../model'\nimport { getInputSliderSuffix } from '../../model/helpers'\nimport { SliderInner } from '../Slider'\nimport { useSliderStep } from './hooks'\nimport { Icon, InputBase } from '$/shared/ui'\nimport { cn, mergeRefs } from '$/shared/utils'\n\nconst defaultIcon = (\n <Icon\n name='general/edit'\n className='size-[19px] text-icon-blue-grey-600 transition-[color] group-focus-within/icon:text-icon-blue-grey-800'\n />\n)\n\nexport const SliderStep = forwardRef<HTMLInputElement, SliderStepProps>(\n (\n {\n classes,\n invalid,\n externalHandlers,\n disabled,\n value,\n onChange,\n min,\n max,\n suffix,\n label,\n step,\n attachmentProps,\n additionalSuffix,\n readOnly,\n componentType,\n ...props\n },\n ref\n ) => {\n const inputId = React.useId()\n\n const inputRef = React.useRef<HTMLInputElement>(null)\n\n const handleIconClick = () => {\n inputRef?.current?.focus()\n }\n\n const { sliderStep, sliderMin, sliderMax, handleChangeSlider } = useSliderStep({\n min,\n max,\n step,\n onChange,\n value\n })\n\n const { root, slider, textLeft, textRight, inputRoot, textContainer, input, field } = classes || {}\n\n return (\n <div aria-label={componentType} className={cn('flex w-full flex-col gap-1', root)}>\n <div className={cn('relative w-full select-none', { ['select-none']: readOnly }, field)}>\n <InputBase\n label={label}\n value={value}\n attachmentProps={{\n onClickIcon: readOnly ? undefined : attachmentProps?.onClickIcon || handleIconClick,\n icon: readOnly ? undefined : attachmentProps?.icon || defaultIcon,\n ...attachmentProps\n }}\n classes={{\n container: 'border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800',\n ...inputRoot\n }}\n onBlur={(e) => {\n if (props?.onBlur) props?.onBlur(e)\n if (externalHandlers?.onBlur) externalHandlers.onBlur(e)\n }}\n onClick={externalHandlers?.onClick}\n onFocus={externalHandlers?.onBlur}\n renderValues={() => (\n <NumericFormat\n id={inputId}\n readOnly={readOnly}\n aria-invalid={invalid ? 'true' : 'false'}\n value={value}\n disabled={disabled}\n suffix={` ${getInputSliderSuffix(suffix, value)} ${additionalSuffix ?? ''}`}\n thousandsGroupStyle='thousand'\n thousandSeparator={' '}\n allowNegative={false}\n getInputRef={mergeRefs(inputRef, ref)}\n onValueChange={({ floatValue }) => {\n if (floatValue) {\n if (onChange) onChange(floatValue)\n if (externalHandlers?.onInputChange) {\n externalHandlers.onInputChange(floatValue)\n }\n }\n }}\n data-test-id='slider'\n className={cn(\n 'group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all',\n\n input\n )}\n {...props}\n />\n )}\n />\n <SliderInner\n classes={{ ...slider }}\n step={sliderStep}\n value={value ?? 0}\n disabled={disabled}\n min={Number(sliderMin)}\n max={Number(sliderMax)}\n onChange={handleChangeSlider}\n />\n </div>\n <div className={cn('flex justify-between', textContainer)}>\n {min && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textLeft)}>\n {getInputSliderSuffix(suffix, min, false)}\n </span>\n )}\n {max && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textRight)}>\n {getInputSliderSuffix(suffix, max, false)}\n </span>\n )}\n </div>\n </div>\n )\n }\n)\n"],"names":["defaultIcon","jsx","Icon","SliderStep","forwardRef","classes","invalid","externalHandlers","disabled","value","onChange","min","max","suffix","label","step","attachmentProps","additionalSuffix","readOnly","componentType","props","ref","inputId","React","inputRef","handleIconClick","_a","sliderStep","sliderMin","sliderMax","handleChangeSlider","useSliderStep","root","slider","textLeft","textRight","inputRoot","textContainer","input","field","jsxs","cn","InputBase","e","NumericFormat","getInputSliderSuffix","mergeRefs","floatValue","SliderInner"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{jsxs as x,Fragment as h,jsx as o}from"react/jsx-runtime";import{forwardRef as j}from"react";import{defaultDropzoneOptions as v}from"./model/helpers.js";import{useUploader as w}from"./model/hooks/useUploader.js";import{UploaderFiles as z}from"./ui/UploaderFiles.js";import{cn as S}from"../../../../utils/cn.js";import"../../../button/Button.js";import"../../../buttonIcon/ButtonIcon.js";import"../../../calendar/Calendar.js";import"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"react-dom";import"../../../modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../table/ui/primitives/Primitives.js";import"../../../carousel/ui/CarouselContent.js";import"../../../slot/Slot.js";import"../autocomplete/Autocomplete.js";import"../checkbox/Checkbox.js";import"../combobox/combobox.js";import"../dayPicker/DayPicker.js";import"../input/Input.js";import"../inputOtp/InputOtpBase.js";import"../maskInput/MaskInput.js";import"../radio/RadioGroup.js";import"../radio/ui/RadioItem.js";import"../slider/SliderBase.js";import"../switch/Switch.js";import"../textarea/Textarea.js";import"../inputCurrency/InputCurrency.js";import"../../../../../../src/configs/api.js";import"../../controlled/editor/ui/Editor.js";import"../../controlled/input/MaskInputControl.js";import"../../../dropdownList/ui/dropdownItem/DropdownItem.js";import{UploaderInput as b}from"./ui/UploaderInput.js";const eo=j(({classes:i,dropzoneOptions:m=v,name:p,value:r,disabled:e,invalid:s,onChange:l,externalHandlers:t,...f},a)=>{const{filesStatus:n,removeFile:c,dropzoneState:d}=w({controlledFiles:r,dropzoneOptions:m,onChange:l,externalHandlers:t}),{root:u,input:F,files:U}=i||{};return x(h,{children:[o("div",{className:S("relative mb-3 w-[476px]",u),children:o(b,{...f,ref:a,name:p,classes:F,disabled:e,invalid:s,dropzoneState:d,externalHandlers:t})}),o(z,{files:r,removeFile:c,classes:U,filesStatus:n})]})});export{eo as UploaderBase};
1
+ import{jsxs as x,Fragment as h,jsx as o}from"react/jsx-runtime";import{forwardRef as j}from"react";import{defaultDropzoneOptions as v}from"./model/helpers.js";import{useUploader as w}from"./model/hooks/useUploader.js";import{UploaderFiles as z}from"./ui/UploaderFiles.js";import{cn as S}from"../../../../utils/cn.js";import"../../../button/Button.js";import"../../../buttonIcon/ButtonIcon.js";import"../../../calendar/Calendar.js";import"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"react-hook-form";import"react-dom";import"../../../modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../table/ui/primitives/Primitives.js";import"../../../carousel/ui/CarouselContent.js";import"../../../slot/Slot.js";import"../autocomplete/Autocomplete.js";import"../checkbox/Checkbox.js";import"../combobox/combobox.js";import"../dayPicker/DayPicker.js";import"../input/Input.js";import"../inputOtp/InputOtpBase.js";import"../maskInput/MaskInput.js";import"../radio/RadioGroup.js";import"../radio/ui/RadioItem.js";import"../slider/SliderBase.js";import"../switch/Switch.js";import"../textarea/Textarea.js";import"../inputCurrency/InputCurrency.js";import"../../../../../../src/configs/api.js";import"../../controlled/editor/ui/Editor.js";import"../../controlled/input/MaskInputControl.js";import"../../../dropdownList/ui/dropdownItem/DropdownItem.js";import{UploaderInput as b}from"./ui/UploaderInput.js";const so=j(({classes:i,dropzoneOptions:m=v,name:p,value:r,disabled:e,invalid:s,onChange:l,externalHandlers:t,...f},a)=>{const{filesStatus:n,removeFile:c,dropzoneState:d}=w({controlledFiles:r,dropzoneOptions:m,onChange:l,externalHandlers:t}),{root:u,input:F,files:U}=i||{};return x(h,{children:[o("div",{className:S("relative mb-3 w-[476px]",u),children:o(b,{...f,ref:a,name:p,classes:F,disabled:e,invalid:s,dropzoneState:d,externalHandlers:t})}),o(z,{files:r,removeFile:c,classes:U,filesStatus:n})]})});export{so as UploaderBase};
2
2
  //# sourceMappingURL=UploaderBase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UploaderBase.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/uploader/UploaderBase.tsx"],"sourcesContent":["import { forwardRef, type InputHTMLAttributes } from 'react'\nimport { type DropzoneOptions } from 'react-dropzone'\nimport { defaultDropzoneOptions } from './model'\nimport { useUploader } from './model/hooks/useUploader'\nimport { UploaderFiles, type UploaderFilesClasses, UploaderInput, type UploaderInputClasses } from './ui'\nimport { cn } from '$/shared/utils'\n\ntype UploaderBaseClasses = {\n root?: string\n input?: UploaderInputClasses\n files?: UploaderFilesClasses\n}\n\nexport type ExternalHandlers = {\n onChange?: (files: File[]) => void\n onClick?: (event: React.MouseEvent<HTMLInputElement>) => void\n}\n\nexport interface UploaderBaseProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'placeholder' | 'value' | 'onChange'> {\n /**\n * Опции uploader-а, в нем можно валидировать файлы, указывать максимум и минимум для файлов\n * Подробнее можно узнать в типе DropzoneOptions\n */\n dropzoneOptions?: DropzoneOptions\n /**\n * Объект классов которые можно переопределить\n */\n classes?: UploaderBaseClasses\n /**\n * Доп текст под инпутом\n */\n helperText?: string\n /**\n * Сеттер значение\n * @param file - файлы\n */\n onChange?: (file: File[]) => void\n /**\n * Валидное ли значение\n */\n invalid?: boolean\n /**\n * Значение\n */\n value?: File[]\n /**\n * Внешние объект handlers\n */\n externalHandlers?: ExternalHandlers\n}\n\nexport const UploaderBase = forwardRef<HTMLInputElement, UploaderBaseProps>(\n (\n {\n classes,\n dropzoneOptions = defaultDropzoneOptions,\n name,\n value,\n disabled,\n invalid,\n onChange,\n externalHandlers,\n ...props\n }: UploaderBaseProps,\n ref\n ) => {\n const { filesStatus, removeFile, dropzoneState } = useUploader({\n controlledFiles: value,\n dropzoneOptions,\n onChange,\n externalHandlers\n })\n\n const { root, input, files } = classes || {}\n\n return (\n <>\n <div className={cn('relative mb-3 w-[476px]', root)}>\n <UploaderInput\n {...props}\n ref={ref}\n name={name}\n classes={input}\n disabled={disabled}\n invalid={invalid}\n dropzoneState={dropzoneState}\n externalHandlers={externalHandlers}\n />\n </div>\n <UploaderFiles files={value} removeFile={removeFile} classes={files} filesStatus={filesStatus} />\n </>\n )\n }\n)\n"],"names":["UploaderBase","forwardRef","classes","dropzoneOptions","defaultDropzoneOptions","name","value","disabled","invalid","onChange","externalHandlers","props","ref","filesStatus","removeFile","dropzoneState","useUploader","root","input","files","jsxs","Fragment","jsx","cn","UploaderInput","UploaderFiles"],"mappings":"y7CAoDO,MAAMA,GAAeC,EAC1B,CACE,CACE,QAAAC,EACA,gBAAAC,EAAkBC,EAClB,KAAAC,EACA,MAAAC,EACA,SAAAC,EACA,QAAAC,EACA,SAAAC,EACA,iBAAAC,EACA,GAAGC,CAAA,EAELC,IACG,CACH,KAAM,CAAE,YAAAC,EAAa,WAAAC,EAAY,cAAAC,CAAA,EAAkBC,EAAY,CAC7D,gBAAiBV,EACjB,gBAAAH,EACA,SAAAM,EACA,iBAAAC,CAAA,CACD,EAEK,CAAE,KAAAO,EAAM,MAAAC,EAAO,MAAAC,CAAA,EAAUjB,GAAW,CAAA,EAE1C,OACEkB,EAAAC,EAAA,CACE,SAAA,CAAAC,EAAC,MAAA,CAAI,UAAWC,EAAG,0BAA2BN,CAAI,EAChD,SAAAK,EAACE,EAAA,CACE,GAAGb,EACJ,IAAAC,EACA,KAAAP,EACA,QAASa,EACT,SAAAX,EACA,QAAAC,EACA,cAAAO,EACA,iBAAAL,CAAA,CAAA,EAEJ,IACCe,EAAA,CAAc,MAAOnB,EAAO,WAAAQ,EAAwB,QAASK,EAAO,YAAAN,CAAA,CAA0B,CAAA,EACjG,CAEJ,CACF"}
1
+ {"version":3,"file":"UploaderBase.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/uploader/UploaderBase.tsx"],"sourcesContent":["import { forwardRef, type InputHTMLAttributes } from 'react'\nimport { type DropzoneOptions } from 'react-dropzone'\nimport { defaultDropzoneOptions } from './model'\nimport { useUploader } from './model/hooks/useUploader'\nimport { UploaderFiles, type UploaderFilesClasses, UploaderInput, type UploaderInputClasses } from './ui'\nimport { cn } from '$/shared/utils'\n\ntype UploaderBaseClasses = {\n root?: string\n input?: UploaderInputClasses\n files?: UploaderFilesClasses\n}\n\nexport type ExternalHandlers = {\n onChange?: (files: File[]) => void\n onClick?: (event: React.MouseEvent<HTMLInputElement>) => void\n}\n\nexport interface UploaderBaseProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'placeholder' | 'value' | 'onChange'> {\n /**\n * Опции uploader-а, в нем можно валидировать файлы, указывать максимум и минимум для файлов\n * Подробнее можно узнать в типе DropzoneOptions\n */\n dropzoneOptions?: DropzoneOptions\n /**\n * Объект классов которые можно переопределить\n */\n classes?: UploaderBaseClasses\n /**\n * Доп текст под инпутом\n */\n helperText?: string\n /**\n * Сеттер значение\n * @param file - файлы\n */\n onChange?: (file: File[]) => void\n /**\n * Валидное ли значение\n */\n invalid?: boolean\n /**\n * Значение\n */\n value?: File[]\n /**\n * Внешние объект handlers\n */\n externalHandlers?: ExternalHandlers\n}\n\nexport const UploaderBase = forwardRef<HTMLInputElement, UploaderBaseProps>(\n (\n {\n classes,\n dropzoneOptions = defaultDropzoneOptions,\n name,\n value,\n disabled,\n invalid,\n onChange,\n externalHandlers,\n ...props\n }: UploaderBaseProps,\n ref\n ) => {\n const { filesStatus, removeFile, dropzoneState } = useUploader({\n controlledFiles: value,\n dropzoneOptions,\n onChange,\n externalHandlers\n })\n\n const { root, input, files } = classes || {}\n\n return (\n <>\n <div className={cn('relative mb-3 w-[476px]', root)}>\n <UploaderInput\n {...props}\n ref={ref}\n name={name}\n classes={input}\n disabled={disabled}\n invalid={invalid}\n dropzoneState={dropzoneState}\n externalHandlers={externalHandlers}\n />\n </div>\n <UploaderFiles files={value} removeFile={removeFile} classes={files} filesStatus={filesStatus} />\n </>\n )\n }\n)\n"],"names":["UploaderBase","forwardRef","classes","dropzoneOptions","defaultDropzoneOptions","name","value","disabled","invalid","onChange","externalHandlers","props","ref","filesStatus","removeFile","dropzoneState","useUploader","root","input","files","jsxs","Fragment","jsx","cn","UploaderInput","UploaderFiles"],"mappings":"i9CAoDO,MAAMA,GAAeC,EAC1B,CACE,CACE,QAAAC,EACA,gBAAAC,EAAkBC,EAClB,KAAAC,EACA,MAAAC,EACA,SAAAC,EACA,QAAAC,EACA,SAAAC,EACA,iBAAAC,EACA,GAAGC,CAAA,EAELC,IACG,CACH,KAAM,CAAE,YAAAC,EAAa,WAAAC,EAAY,cAAAC,CAAA,EAAkBC,EAAY,CAC7D,gBAAiBV,EACjB,gBAAAH,EACA,SAAAM,EACA,iBAAAC,CAAA,CACD,EAEK,CAAE,KAAAO,EAAM,MAAAC,EAAO,MAAAC,CAAA,EAAUjB,GAAW,CAAA,EAE1C,OACEkB,EAAAC,EAAA,CACE,SAAA,CAAAC,EAAC,MAAA,CAAI,UAAWC,EAAG,0BAA2BN,CAAI,EAChD,SAAAK,EAACE,EAAA,CACE,GAAGb,EACJ,IAAAC,EACA,KAAAP,EACA,QAASa,EACT,SAAAX,EACA,QAAAC,EACA,cAAAO,EACA,iBAAAL,CAAA,CAAA,EAEJ,IACCe,EAAA,CAAc,MAAOnB,EAAO,WAAAQ,EAAwB,QAASK,EAAO,YAAAN,CAAA,CAA0B,CAAA,EACjG,CAEJ,CACF"}
@@ -1,2 +1,2 @@
1
- import{useState as k}from"react";import{useDropzone as D}from"../../../../../../../../node_modules/react-dropzone/dist/es/index.js";import{FilesErrorCode as c,bytesToMegabytes as v}from"../helpers.js";import"react/jsx-runtime";import"../../../../../../../../node_modules/classnames/index.js";import"../../../../../button/Button.js";import"../../../../../buttonIcon/ButtonIcon.js";import"../../../../../calendar/Calendar.js";import"../../../../../calendar/model/utils.js";import"../../../../../accordion/Accordion.js";import"react-dom";import"../../../../../modal/ui/IframeModalContent.js";import{Notification as u}from"../../../../../notification/Notification.js";import"../../../../../table/ui/primitives/Primitives.js";import"../../../../../carousel/ui/CarouselContent.js";import"../../../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../../../slot/Slot.js";import"../../../autocomplete/Autocomplete.js";import"../../../checkbox/Checkbox.js";import"../../../combobox/combobox.js";import"../../../dayPicker/DayPicker.js";import"../../../input/Input.js";import"../../../inputOtp/InputOtpBase.js";import"../../../maskInput/MaskInput.js";import"../../../radio/RadioGroup.js";import"../../../radio/ui/RadioItem.js";import"../../../slider/SliderBase.js";import"../../../switch/Switch.js";import"../../../textarea/Textarea.js";import"../../UploaderBase.js";import"../../../inputCurrency/InputCurrency.js";import"../../../../../../../../src/configs/api.js";import"../../../../controlled/editor/ui/Editor.js";import"../../../../controlled/input/MaskInputControl.js";import"../../../../../dropdownList/ui/dropdownItem/DropdownItem.js";const ro=({dropzoneOptions:t,controlledFiles:i=[],onChange:r,externalHandlers:o})=>{const[g,S]=k({}),F=m=>{const e=i==null?void 0:i.filter((s,p)=>p!==m);r&&r(e)},T=D({onDrop:(m,e)=>{var p,b;switch(m.forEach(f=>{const y=new FileReader;S(a=>({...a,[f.name]:"loading"})),y.onload=()=>{S(a=>({...a,[f.name]:"success"}))},y.readAsArrayBuffer(f)}),(b=(p=e[0])==null?void 0:p.errors[0])==null?void 0:b.code){case c.FileInvalidType:u({intent:"error",text:"Неверный формат файла. Загрузите в формате jpg/png/pdf"});break;case c.FileTooLarge:u({intent:"error",text:`Файл слишком большой. Максимальный размер ${t.maxSize?v(t.maxSize):0} МБ`});break;case c.TooManyFiles:u({intent:"error",text:`Вы загрузили слишком много файлов. Максимальное количество ${t.maxFiles}`});break}const s=[...i,...m];r&&r(s),o!=null&&o.onChange&&(o==null||o.onChange(s))},...t});return{filesStatus:g,removeFile:F,dropzoneState:T}};export{ro as useUploader};
1
+ import{useState as k}from"react";import{useDropzone as D}from"../../../../../../../../node_modules/react-dropzone/dist/es/index.js";import{FilesErrorCode as c,bytesToMegabytes as v}from"../helpers.js";import"react/jsx-runtime";import"../../../../../../../../node_modules/classnames/index.js";import"../../../../../button/Button.js";import"../../../../../buttonIcon/ButtonIcon.js";import"../../../../../calendar/Calendar.js";import"../../../../../calendar/model/utils.js";import"../../../../../accordion/Accordion.js";import"react-hook-form";import"react-dom";import"../../../../../modal/ui/IframeModalContent.js";import{Notification as u}from"../../../../../notification/Notification.js";import"../../../../../table/ui/primitives/Primitives.js";import"../../../../../carousel/ui/CarouselContent.js";import"../../../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../../../slot/Slot.js";import"../../../autocomplete/Autocomplete.js";import"../../../checkbox/Checkbox.js";import"../../../combobox/combobox.js";import"../../../dayPicker/DayPicker.js";import"../../../input/Input.js";import"../../../inputOtp/InputOtpBase.js";import"../../../maskInput/MaskInput.js";import"../../../radio/RadioGroup.js";import"../../../radio/ui/RadioItem.js";import"../../../slider/SliderBase.js";import"../../../switch/Switch.js";import"../../../textarea/Textarea.js";import"../../UploaderBase.js";import"../../../inputCurrency/InputCurrency.js";import"../../../../../../../../src/configs/api.js";import"../../../../controlled/editor/ui/Editor.js";import"../../../../controlled/input/MaskInputControl.js";import"../../../../../dropdownList/ui/dropdownItem/DropdownItem.js";const mo=({dropzoneOptions:t,controlledFiles:i=[],onChange:r,externalHandlers:o})=>{const[g,S]=k({}),F=m=>{const e=i==null?void 0:i.filter((s,p)=>p!==m);r&&r(e)},T=D({onDrop:(m,e)=>{var p,b;switch(m.forEach(f=>{const y=new FileReader;S(a=>({...a,[f.name]:"loading"})),y.onload=()=>{S(a=>({...a,[f.name]:"success"}))},y.readAsArrayBuffer(f)}),(b=(p=e[0])==null?void 0:p.errors[0])==null?void 0:b.code){case c.FileInvalidType:u({intent:"error",text:"Неверный формат файла. Загрузите в формате jpg/png/pdf"});break;case c.FileTooLarge:u({intent:"error",text:`Файл слишком большой. Максимальный размер ${t.maxSize?v(t.maxSize):0} МБ`});break;case c.TooManyFiles:u({intent:"error",text:`Вы загрузили слишком много файлов. Максимальное количество ${t.maxFiles}`});break}const s=[...i,...m];r&&r(s),o!=null&&o.onChange&&(o==null||o.onChange(s))},...t});return{filesStatus:g,removeFile:F,dropzoneState:T}};export{mo as useUploader};
2
2
  //# sourceMappingURL=useUploader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUploader.js","sources":["../../../../../../../../../lib/shared/ui/formElements/uncontrolled/uploader/model/hooks/useUploader.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { type DropzoneOptions, type FileRejection, useDropzone } from 'react-dropzone'\nimport { type ExternalHandlers } from '../../UploaderBase'\nimport { bytesToMegabytes, FilesErrorCode } from '../helpers'\nimport { Notification } from '$/shared/ui/'\n\nexport type TUseUploader = {\n controlledFiles?: File[]\n dropzoneOptions: DropzoneOptions\n onChange?: (files: File[]) => void\n externalHandlers?: ExternalHandlers\n}\n\nexport const useUploader = ({ dropzoneOptions, controlledFiles = [], onChange, externalHandlers }: TUseUploader) => {\n const [filesStatus, setFilesStatus] = useState<Record<string, 'loading' | 'success' | 'error'>>({})\n\n const removeFile = (index: number) => {\n const updatedFiles = controlledFiles?.filter((_, idx) => idx !== index)\n if (onChange) onChange(updatedFiles)\n }\n\n const onDrop = (acceptedFiles: File[], rejectedFiles: FileRejection[]) => {\n acceptedFiles.forEach((file) => {\n const reader = new FileReader()\n setFilesStatus((prev) => ({ ...prev, [file.name]: 'loading' }))\n\n reader.onload = () => {\n setFilesStatus((prev) => ({ ...prev, [file.name]: 'success' }))\n }\n\n reader.readAsArrayBuffer(file)\n })\n\n switch (rejectedFiles[0]?.errors[0]?.code) {\n case FilesErrorCode.FileInvalidType:\n Notification({\n intent: 'error',\n text: 'Неверный формат файла. Загрузите в формате jpg/png/pdf'\n })\n break\n case FilesErrorCode.FileTooLarge:\n Notification({\n intent: 'error',\n text: `Файл слишком большой. Максимальный размер ${dropzoneOptions.maxSize ? bytesToMegabytes(dropzoneOptions.maxSize) : 0} МБ`\n })\n break\n case FilesErrorCode.TooManyFiles:\n Notification({\n intent: 'error',\n text: `Вы загрузили слишком много файлов. Максимальное количество ${dropzoneOptions.maxFiles}`\n })\n break\n default:\n break\n }\n\n const updatedFiles = [...controlledFiles, ...acceptedFiles]\n\n if (onChange) onChange(updatedFiles)\n if (externalHandlers?.onChange) externalHandlers?.onChange(updatedFiles)\n }\n\n const dropzoneState = useDropzone({\n onDrop,\n ...dropzoneOptions\n })\n\n return { filesStatus, removeFile, dropzoneState }\n}\n"],"names":["useUploader","dropzoneOptions","controlledFiles","onChange","externalHandlers","filesStatus","setFilesStatus","useState","removeFile","index","updatedFiles","_","idx","dropzoneState","useDropzone","acceptedFiles","rejectedFiles","file","reader","prev","_b","_a","FilesErrorCode","Notification","bytesToMegabytes"],"mappings":"qnDAaO,MAAMA,GAAc,CAAC,CAAE,gBAAAC,EAAiB,gBAAAC,EAAkB,CAAA,EAAI,SAAAC,EAAU,iBAAAC,KAAqC,CAClH,KAAM,CAACC,EAAaC,CAAc,EAAIC,EAA0D,CAAA,CAAE,EAE5FC,EAAcC,GAAkB,CACpC,MAAMC,EAAeR,GAAA,YAAAA,EAAiB,OAAO,CAACS,EAAGC,IAAQA,IAAQH,GAC7DN,KAAmBO,CAAY,CACrC,EA2CMG,EAAgBC,EAAY,CAChC,OA1Ca,CAACC,EAAuBC,IAAmC,SAYxE,OAXAD,EAAc,QAASE,GAAS,CAC9B,MAAMC,EAAS,IAAI,WACnBZ,EAAgBa,IAAU,CAAE,GAAGA,EAAM,CAACF,EAAK,IAAI,EAAG,SAAA,EAAY,EAE9DC,EAAO,OAAS,IAAM,CACpBZ,EAAgBa,IAAU,CAAE,GAAGA,EAAM,CAACF,EAAK,IAAI,EAAG,SAAA,EAAY,CAChE,EAEAC,EAAO,kBAAkBD,CAAI,CAC/B,CAAC,GAEOG,GAAAC,EAAAL,EAAc,CAAC,IAAf,YAAAK,EAAkB,OAAO,KAAzB,YAAAD,EAA6B,KAAA,CACnC,KAAKE,EAAe,gBAClBC,EAAa,CACX,OAAQ,QACR,KAAM,wDAAA,CACP,EACD,MACF,KAAKD,EAAe,aAClBC,EAAa,CACX,OAAQ,QACR,KAAM,6CAA6CtB,EAAgB,QAAUuB,EAAiBvB,EAAgB,OAAO,EAAI,CAAC,KAAA,CAC3H,EACD,MACF,KAAKqB,EAAe,aAClBC,EAAa,CACX,OAAQ,QACR,KAAM,8DAA8DtB,EAAgB,QAAQ,EAAA,CAC7F,EACD,KAEA,CAGJ,MAAMS,EAAe,CAAC,GAAGR,EAAiB,GAAGa,CAAa,EAEtDZ,KAAmBO,CAAY,EAC/BN,GAAA,MAAAA,EAAkB,WAAUA,GAAA,MAAAA,EAAkB,SAASM,GAC7D,EAIE,GAAGT,CAAA,CACJ,EAED,MAAO,CAAE,YAAAI,EAAa,WAAAG,EAAY,cAAAK,CAAA,CACpC"}
1
+ {"version":3,"file":"useUploader.js","sources":["../../../../../../../../../lib/shared/ui/formElements/uncontrolled/uploader/model/hooks/useUploader.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { type DropzoneOptions, type FileRejection, useDropzone } from 'react-dropzone'\nimport { type ExternalHandlers } from '../../UploaderBase'\nimport { bytesToMegabytes, FilesErrorCode } from '../helpers'\nimport { Notification } from '$/shared/ui/'\n\nexport type TUseUploader = {\n controlledFiles?: File[]\n dropzoneOptions: DropzoneOptions\n onChange?: (files: File[]) => void\n externalHandlers?: ExternalHandlers\n}\n\nexport const useUploader = ({ dropzoneOptions, controlledFiles = [], onChange, externalHandlers }: TUseUploader) => {\n const [filesStatus, setFilesStatus] = useState<Record<string, 'loading' | 'success' | 'error'>>({})\n\n const removeFile = (index: number) => {\n const updatedFiles = controlledFiles?.filter((_, idx) => idx !== index)\n if (onChange) onChange(updatedFiles)\n }\n\n const onDrop = (acceptedFiles: File[], rejectedFiles: FileRejection[]) => {\n acceptedFiles.forEach((file) => {\n const reader = new FileReader()\n setFilesStatus((prev) => ({ ...prev, [file.name]: 'loading' }))\n\n reader.onload = () => {\n setFilesStatus((prev) => ({ ...prev, [file.name]: 'success' }))\n }\n\n reader.readAsArrayBuffer(file)\n })\n\n switch (rejectedFiles[0]?.errors[0]?.code) {\n case FilesErrorCode.FileInvalidType:\n Notification({\n intent: 'error',\n text: 'Неверный формат файла. Загрузите в формате jpg/png/pdf'\n })\n break\n case FilesErrorCode.FileTooLarge:\n Notification({\n intent: 'error',\n text: `Файл слишком большой. Максимальный размер ${dropzoneOptions.maxSize ? bytesToMegabytes(dropzoneOptions.maxSize) : 0} МБ`\n })\n break\n case FilesErrorCode.TooManyFiles:\n Notification({\n intent: 'error',\n text: `Вы загрузили слишком много файлов. Максимальное количество ${dropzoneOptions.maxFiles}`\n })\n break\n default:\n break\n }\n\n const updatedFiles = [...controlledFiles, ...acceptedFiles]\n\n if (onChange) onChange(updatedFiles)\n if (externalHandlers?.onChange) externalHandlers?.onChange(updatedFiles)\n }\n\n const dropzoneState = useDropzone({\n onDrop,\n ...dropzoneOptions\n })\n\n return { filesStatus, removeFile, dropzoneState }\n}\n"],"names":["useUploader","dropzoneOptions","controlledFiles","onChange","externalHandlers","filesStatus","setFilesStatus","useState","removeFile","index","updatedFiles","_","idx","dropzoneState","useDropzone","acceptedFiles","rejectedFiles","file","reader","prev","_b","_a","FilesErrorCode","Notification","bytesToMegabytes"],"mappings":"6oDAaO,MAAMA,GAAc,CAAC,CAAE,gBAAAC,EAAiB,gBAAAC,EAAkB,CAAA,EAAI,SAAAC,EAAU,iBAAAC,KAAqC,CAClH,KAAM,CAACC,EAAaC,CAAc,EAAIC,EAA0D,CAAA,CAAE,EAE5FC,EAAcC,GAAkB,CACpC,MAAMC,EAAeR,GAAA,YAAAA,EAAiB,OAAO,CAACS,EAAGC,IAAQA,IAAQH,GAC7DN,KAAmBO,CAAY,CACrC,EA2CMG,EAAgBC,EAAY,CAChC,OA1Ca,CAACC,EAAuBC,IAAmC,SAYxE,OAXAD,EAAc,QAASE,GAAS,CAC9B,MAAMC,EAAS,IAAI,WACnBZ,EAAgBa,IAAU,CAAE,GAAGA,EAAM,CAACF,EAAK,IAAI,EAAG,SAAA,EAAY,EAE9DC,EAAO,OAAS,IAAM,CACpBZ,EAAgBa,IAAU,CAAE,GAAGA,EAAM,CAACF,EAAK,IAAI,EAAG,SAAA,EAAY,CAChE,EAEAC,EAAO,kBAAkBD,CAAI,CAC/B,CAAC,GAEOG,GAAAC,EAAAL,EAAc,CAAC,IAAf,YAAAK,EAAkB,OAAO,KAAzB,YAAAD,EAA6B,KAAA,CACnC,KAAKE,EAAe,gBAClBC,EAAa,CACX,OAAQ,QACR,KAAM,wDAAA,CACP,EACD,MACF,KAAKD,EAAe,aAClBC,EAAa,CACX,OAAQ,QACR,KAAM,6CAA6CtB,EAAgB,QAAUuB,EAAiBvB,EAAgB,OAAO,EAAI,CAAC,KAAA,CAC3H,EACD,MACF,KAAKqB,EAAe,aAClBC,EAAa,CACX,OAAQ,QACR,KAAM,8DAA8DtB,EAAgB,QAAQ,EAAA,CAC7F,EACD,KAEA,CAGJ,MAAMS,EAAe,CAAC,GAAGR,EAAiB,GAAGa,CAAa,EAEtDZ,KAAmBO,CAAY,EAC/BN,GAAA,MAAAA,EAAkB,WAAUA,GAAA,MAAAA,EAAkB,SAASM,GAC7D,EAIE,GAAGT,CAAA,CACJ,EAED,MAAO,CAAE,YAAAI,EAAa,WAAAG,EAAY,cAAAK,CAAA,CACpC"}
@@ -1,2 +1,2 @@
1
- import{jsxs as r,jsx as e}from"react/jsx-runtime";import{bytesToMegabytes as g}from"../model/helpers.js";import{UploaderFilename as f}from"./UploaderFilename.js";import{cn as t}from"../../../../../utils/cn.js";import"react";import"../../../../button/Button.js";import"../../../../buttonIcon/ButtonIcon.js";import{Loader as h}from"../../../../loader/Loader.js";import"../../../../calendar/Calendar.js";import"../../../../calendar/model/utils.js";import"../../../../accordion/Accordion.js";import"react-dom";import"../../../../modal/ui/IframeModalContent.js";import"../../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as i}from"../../../../icon/Icon.js";import"../../../../table/ui/primitives/Primitives.js";import"../../../../carousel/ui/CarouselContent.js";import"../../../../slot/Slot.js";import"../../autocomplete/Autocomplete.js";import"../../checkbox/Checkbox.js";import"../../combobox/combobox.js";import"../../dayPicker/DayPicker.js";import"../../input/Input.js";import"../../inputOtp/InputOtpBase.js";import"../../maskInput/MaskInput.js";import"../../radio/RadioGroup.js";import"../../radio/ui/RadioItem.js";import"../../slider/SliderBase.js";import"../../switch/Switch.js";import"../../textarea/Textarea.js";import"../UploaderBase.js";import"../../inputCurrency/InputCurrency.js";import"../../../../../../../src/configs/api.js";import"../../../controlled/editor/ui/Editor.js";import"../../../controlled/input/MaskInputControl.js";import"../../../../dropdownList/ui/dropdownItem/DropdownItem.js";const oe=({filesStatus:m,removeFile:p,classes:s,file:o,index:n})=>{const c=g(o.size),{root:a,deleteIcon:l,buttonDelete:d,content:b,buttonRoot:u,...x}=s||{};return r("li",{className:t("flex h-6 items-center justify-between p-1",a),children:[r("div",{className:t("flex items-center gap-2",b),children:[m[o.name]==="loading"&&e(h,{size:"sm"}),m[o.name]==="success"&&e(i,{name:"general/check",className:"text-icon-positive-default"}),e(f,{file:o,classes:x})]}),r("div",{className:t("flex items-center gap-2",u),children:[e("p",{className:"desk-body-regular-m text-color-blue-grey-600",children:`${c.toFixed(1)} MB`}),e("button",{className:t("cursor-pointer",d),onClick:()=>p(n),children:e(i,{name:"general/close",className:t("text-icon-blue-grey-600",l)})})]})]},o.name)};export{oe as UploaderFile};
1
+ import{jsxs as r,jsx as o}from"react/jsx-runtime";import{bytesToMegabytes as g}from"../model/helpers.js";import{UploaderFilename as f}from"./UploaderFilename.js";import{cn as e}from"../../../../../utils/cn.js";import"react";import"../../../../button/Button.js";import"../../../../buttonIcon/ButtonIcon.js";import{Loader as h}from"../../../../loader/Loader.js";import"../../../../calendar/Calendar.js";import"../../../../calendar/model/utils.js";import"../../../../accordion/Accordion.js";import"react-hook-form";import"react-dom";import"../../../../modal/ui/IframeModalContent.js";import"../../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as i}from"../../../../icon/Icon.js";import"../../../../table/ui/primitives/Primitives.js";import"../../../../carousel/ui/CarouselContent.js";import"../../../../slot/Slot.js";import"../../autocomplete/Autocomplete.js";import"../../checkbox/Checkbox.js";import"../../combobox/combobox.js";import"../../dayPicker/DayPicker.js";import"../../input/Input.js";import"../../inputOtp/InputOtpBase.js";import"../../maskInput/MaskInput.js";import"../../radio/RadioGroup.js";import"../../radio/ui/RadioItem.js";import"../../slider/SliderBase.js";import"../../switch/Switch.js";import"../../textarea/Textarea.js";import"../UploaderBase.js";import"../../inputCurrency/InputCurrency.js";import"../../../../../../../src/configs/api.js";import"../../../controlled/editor/ui/Editor.js";import"../../../controlled/input/MaskInputControl.js";import"../../../../dropdownList/ui/dropdownItem/DropdownItem.js";const eo=({filesStatus:m,removeFile:p,classes:s,file:t,index:n})=>{const c=g(t.size),{root:a,deleteIcon:l,buttonDelete:d,content:b,buttonRoot:u,...x}=s||{};return r("li",{className:e("flex h-6 items-center justify-between p-1",a),children:[r("div",{className:e("flex items-center gap-2",b),children:[m[t.name]==="loading"&&o(h,{size:"sm"}),m[t.name]==="success"&&o(i,{name:"general/check",className:"text-icon-positive-default"}),o(f,{file:t,classes:x})]}),r("div",{className:e("flex items-center gap-2",u),children:[o("p",{className:"desk-body-regular-m text-color-blue-grey-600",children:`${c.toFixed(1)} MB`}),o("button",{className:e("cursor-pointer",d),onClick:()=>p(n),children:o(i,{name:"general/close",className:e("text-icon-blue-grey-600",l)})})]})]},t.name)};export{eo as UploaderFile};
2
2
  //# sourceMappingURL=UploaderFile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UploaderFile.js","sources":["../../../../../../../../lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFile.tsx"],"sourcesContent":["import { bytesToMegabytes } from '../model/helpers'\nimport { UploaderFilename, type UploaderFileNameClasses } from './UploaderFilename'\nimport { Icon, Loader } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type UploaderFileClasses = UploaderFileNameClasses & {\n root?: string\n content?: string\n deleteIcon?: string\n buttonRoot?: string\n buttonDelete?: string\n}\n\ninterface UploaderFileProps {\n filesStatus: {\n [key: string]: 'loading' | 'success' | 'error'\n }\n removeFile: (index: number) => void\n classes?: UploaderFileClasses\n file: File\n index: number\n}\n\nexport const UploaderFile = ({ filesStatus, removeFile, classes, file, index }: UploaderFileProps) => {\n const fileSizeMb = bytesToMegabytes(file.size)\n\n const { root, deleteIcon, buttonDelete, content, buttonRoot, ...restClasses } = classes || {}\n\n return (\n <li key={file.name} className={cn('flex h-6 items-center justify-between p-1', root)}>\n <div className={cn('flex items-center gap-2', content)}>\n {filesStatus[file.name] === 'loading' && <Loader size='sm' />}\n {filesStatus[file.name] === 'success' && <Icon name='general/check' className='text-icon-positive-default' />}\n <UploaderFilename file={file} classes={restClasses} />\n </div>\n <div className={cn('flex items-center gap-2', buttonRoot)}>\n <p className='desk-body-regular-m text-color-blue-grey-600'>{`${fileSizeMb.toFixed(1)} MB`}</p>\n <button className={cn('cursor-pointer', buttonDelete)} onClick={() => removeFile(index)}>\n <Icon name='general/close' className={cn('text-icon-blue-grey-600', deleteIcon)} />\n </button>\n </div>\n </li>\n )\n}\n"],"names":["UploaderFile","filesStatus","removeFile","classes","file","index","fileSizeMb","bytesToMegabytes","root","deleteIcon","buttonDelete","content","buttonRoot","restClasses","cn","jsxs","jsx","Loader","Icon","UploaderFilename"],"mappings":"w/CAuBO,MAAMA,GAAe,CAAC,CAAE,YAAAC,EAAa,WAAAC,EAAY,QAAAC,EAAS,KAAAC,EAAM,MAAAC,KAA+B,CACpG,MAAMC,EAAaC,EAAiBH,EAAK,IAAI,EAEvC,CAAE,KAAAI,EAAM,WAAAC,EAAY,aAAAC,EAAc,QAAAC,EAAS,WAAAC,EAAY,GAAGC,GAAgBV,GAAW,CAAA,EAE3F,SACG,KAAA,CAAmB,UAAWW,EAAG,4CAA6CN,CAAI,EACjF,SAAA,CAAAO,EAAC,MAAA,CAAI,UAAWD,EAAG,0BAA2BH,CAAO,EAClD,SAAA,CAAAV,EAAYG,EAAK,IAAI,IAAM,WAAaY,EAACC,EAAA,CAAO,KAAK,KAAK,EAC1DhB,EAAYG,EAAK,IAAI,IAAM,aAAcc,EAAA,CAAK,KAAK,gBAAgB,UAAU,4BAAA,CAA6B,EAC3GF,EAACG,EAAA,CAAiB,KAAAf,EAAY,QAASS,CAAA,CAAa,CAAA,EACtD,IACC,MAAA,CAAI,UAAWC,EAAG,0BAA2BF,CAAU,EACtD,SAAA,CAAAI,EAAC,IAAA,CAAE,UAAU,+CAAgD,SAAA,GAAGV,EAAW,QAAQ,CAAC,CAAC,KAAA,CAAM,EAC3FU,EAAC,UAAO,UAAWF,EAAG,iBAAkBJ,CAAY,EAAG,QAAS,IAAMR,EAAWG,CAAK,EACpF,SAAAW,EAACE,GAAK,KAAK,gBAAgB,UAAWJ,EAAG,0BAA2BL,CAAU,CAAA,CAAG,CAAA,CACnF,CAAA,CAAA,CACF,CAAA,CAAA,EAXOL,EAAK,IAYd,CAEJ"}
1
+ {"version":3,"file":"UploaderFile.js","sources":["../../../../../../../../lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFile.tsx"],"sourcesContent":["import { bytesToMegabytes } from '../model/helpers'\nimport { UploaderFilename, type UploaderFileNameClasses } from './UploaderFilename'\nimport { Icon, Loader } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type UploaderFileClasses = UploaderFileNameClasses & {\n root?: string\n content?: string\n deleteIcon?: string\n buttonRoot?: string\n buttonDelete?: string\n}\n\ninterface UploaderFileProps {\n filesStatus: {\n [key: string]: 'loading' | 'success' | 'error'\n }\n removeFile: (index: number) => void\n classes?: UploaderFileClasses\n file: File\n index: number\n}\n\nexport const UploaderFile = ({ filesStatus, removeFile, classes, file, index }: UploaderFileProps) => {\n const fileSizeMb = bytesToMegabytes(file.size)\n\n const { root, deleteIcon, buttonDelete, content, buttonRoot, ...restClasses } = classes || {}\n\n return (\n <li key={file.name} className={cn('flex h-6 items-center justify-between p-1', root)}>\n <div className={cn('flex items-center gap-2', content)}>\n {filesStatus[file.name] === 'loading' && <Loader size='sm' />}\n {filesStatus[file.name] === 'success' && <Icon name='general/check' className='text-icon-positive-default' />}\n <UploaderFilename file={file} classes={restClasses} />\n </div>\n <div className={cn('flex items-center gap-2', buttonRoot)}>\n <p className='desk-body-regular-m text-color-blue-grey-600'>{`${fileSizeMb.toFixed(1)} MB`}</p>\n <button className={cn('cursor-pointer', buttonDelete)} onClick={() => removeFile(index)}>\n <Icon name='general/close' className={cn('text-icon-blue-grey-600', deleteIcon)} />\n </button>\n </div>\n </li>\n )\n}\n"],"names":["UploaderFile","filesStatus","removeFile","classes","file","index","fileSizeMb","bytesToMegabytes","root","deleteIcon","buttonDelete","content","buttonRoot","restClasses","cn","jsxs","jsx","Loader","Icon","UploaderFilename"],"mappings":"ghDAuBO,MAAMA,GAAe,CAAC,CAAE,YAAAC,EAAa,WAAAC,EAAY,QAAAC,EAAS,KAAAC,EAAM,MAAAC,KAA+B,CACpG,MAAMC,EAAaC,EAAiBH,EAAK,IAAI,EAEvC,CAAE,KAAAI,EAAM,WAAAC,EAAY,aAAAC,EAAc,QAAAC,EAAS,WAAAC,EAAY,GAAGC,GAAgBV,GAAW,CAAA,EAE3F,SACG,KAAA,CAAmB,UAAWW,EAAG,4CAA6CN,CAAI,EACjF,SAAA,CAAAO,EAAC,MAAA,CAAI,UAAWD,EAAG,0BAA2BH,CAAO,EAClD,SAAA,CAAAV,EAAYG,EAAK,IAAI,IAAM,WAAaY,EAACC,EAAA,CAAO,KAAK,KAAK,EAC1DhB,EAAYG,EAAK,IAAI,IAAM,aAAcc,EAAA,CAAK,KAAK,gBAAgB,UAAU,4BAAA,CAA6B,EAC3GF,EAACG,EAAA,CAAiB,KAAAf,EAAY,QAASS,CAAA,CAAa,CAAA,EACtD,IACC,MAAA,CAAI,UAAWC,EAAG,0BAA2BF,CAAU,EACtD,SAAA,CAAAI,EAAC,IAAA,CAAE,UAAU,+CAAgD,SAAA,GAAGV,EAAW,QAAQ,CAAC,CAAC,KAAA,CAAM,EAC3FU,EAAC,UAAO,UAAWF,EAAG,iBAAkBJ,CAAY,EAAG,QAAS,IAAMR,EAAWG,CAAK,EACpF,SAAAW,EAACE,GAAK,KAAK,gBAAgB,UAAWJ,EAAG,0BAA2BL,CAAU,CAAA,CAAG,CAAA,CACnF,CAAA,CAAA,CACF,CAAA,CAAA,EAXOL,EAAK,IAYd,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{jsx as r}from"react/jsx-runtime";import{useRef as n}from"react";import{useOverflow as l}from"../../../../../hooks/useOverflow.js";import{cn as i}from"../../../../../utils/cn.js";import"../../../../button/Button.js";import"../../../../buttonIcon/ButtonIcon.js";import"../../../../calendar/Calendar.js";import"../../../../calendar/model/utils.js";import"../../../../accordion/Accordion.js";import{Hint as a}from"../../../../hint/Hint.js";import"react-dom";import"../../../../modal/ui/IframeModalContent.js";import"../../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../../table/ui/primitives/Primitives.js";import"../../../../carousel/ui/CarouselContent.js";import"../../../../slot/Slot.js";import"../../autocomplete/Autocomplete.js";import"../../checkbox/Checkbox.js";import"../../combobox/combobox.js";import"../../dayPicker/DayPicker.js";import"../../input/Input.js";import"../../inputOtp/InputOtpBase.js";import"../../maskInput/MaskInput.js";import"../../radio/RadioGroup.js";import"../../radio/ui/RadioItem.js";import"../../slider/SliderBase.js";import"../../switch/Switch.js";import"../../textarea/Textarea.js";import"../UploaderBase.js";import"../../inputCurrency/InputCurrency.js";import"../../../../../../../src/configs/api.js";import"../../../controlled/editor/ui/Editor.js";import"../../../controlled/input/MaskInputControl.js";import"../../../../dropdownList/ui/dropdownItem/DropdownItem.js";const P=({file:o,classes:p})=>{const t=n(null),e=l(t),{fileText:m}=p||{};return r("div",{className:"w-[300px]",children:e?r(a,{triggerElement:r("p",{className:i("desk-body-regular-m truncate text-color-dark",m),children:o.name}),children:o.name}):r("p",{ref:t,className:i("desk-body-regular-m text-nowrap text-color-dark",m),children:o.name})})};export{P as UploaderFilename};
1
+ import{jsx as r}from"react/jsx-runtime";import{useRef as n}from"react";import{useOverflow as l}from"../../../../../hooks/useOverflow.js";import{cn as i}from"../../../../../utils/cn.js";import"../../../../button/Button.js";import"../../../../buttonIcon/ButtonIcon.js";import"../../../../calendar/Calendar.js";import"../../../../calendar/model/utils.js";import"../../../../accordion/Accordion.js";import{Hint as a}from"../../../../hint/Hint.js";import"react-dom";import"../../../../modal/ui/IframeModalContent.js";import"../../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../../table/ui/primitives/Primitives.js";import"react-hook-form";import"../../../../carousel/ui/CarouselContent.js";import"../../../../slot/Slot.js";import"../../autocomplete/Autocomplete.js";import"../../checkbox/Checkbox.js";import"../../combobox/combobox.js";import"../../dayPicker/DayPicker.js";import"../../input/Input.js";import"../../inputOtp/InputOtpBase.js";import"../../maskInput/MaskInput.js";import"../../radio/RadioGroup.js";import"../../radio/ui/RadioItem.js";import"../../slider/SliderBase.js";import"../../switch/Switch.js";import"../../textarea/Textarea.js";import"../UploaderBase.js";import"../../inputCurrency/InputCurrency.js";import"../../../../../../../src/configs/api.js";import"../../../controlled/editor/ui/Editor.js";import"../../../controlled/input/MaskInputControl.js";import"../../../../dropdownList/ui/dropdownItem/DropdownItem.js";const Q=({file:o,classes:p})=>{const t=n(null),e=l(t),{fileText:m}=p||{};return r("div",{className:"w-[300px]",children:e?r(a,{triggerElement:r("p",{className:i("desk-body-regular-m truncate text-color-dark",m),children:o.name}),children:o.name}):r("p",{ref:t,className:i("desk-body-regular-m text-nowrap text-color-dark",m),children:o.name})})};export{Q as UploaderFilename};
2
2
  //# sourceMappingURL=UploaderFilename.js.map