@scbt-ecom/ui 0.147.7 → 0.147.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) 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/ui/brandLogos/BrandLogos.js +1 -1
  5. package/dist/lib/shared/ui/brandLogos/BrandLogos.js.map +1 -1
  6. package/dist/lib/shared/ui/calendar/Calendar.js +1 -1
  7. package/dist/lib/shared/ui/calendar/Calendar.js.map +1 -1
  8. package/dist/lib/shared/ui/calendar/ui/Navigation.js +1 -1
  9. package/dist/lib/shared/ui/calendar/ui/Navigation.js.map +1 -1
  10. package/dist/lib/shared/ui/calendar/ui/selectDate/ui/Trigger.js +1 -1
  11. package/dist/lib/shared/ui/calendar/ui/selectDate/ui/Trigger.js.map +1 -1
  12. package/dist/lib/shared/ui/carousel/CarouselBase.js +1 -1
  13. package/dist/lib/shared/ui/carousel/CarouselBase.js.map +1 -1
  14. package/dist/lib/shared/ui/carousel/ui/CarouselContent.js +1 -1
  15. package/dist/lib/shared/ui/carousel/ui/CarouselContent.js.map +1 -1
  16. package/dist/lib/shared/ui/dialog/Dialog.js +1 -1
  17. package/dist/lib/shared/ui/dialog/Dialog.js.map +1 -1
  18. package/dist/lib/shared/ui/dropdownList/DropdownList.js +1 -1
  19. package/dist/lib/shared/ui/dropdownList/DropdownList.js.map +1 -1
  20. package/dist/lib/shared/ui/formElements/controlled/autocomplete/AutocompleteControl.js +1 -1
  21. package/dist/lib/shared/ui/formElements/controlled/autocomplete/AutocompleteControl.js.map +1 -1
  22. package/dist/lib/shared/ui/formElements/controlled/checkbox/CheckboxControl.js +1 -1
  23. package/dist/lib/shared/ui/formElements/controlled/checkbox/CheckboxControl.js.map +1 -1
  24. package/dist/lib/shared/ui/formElements/controlled/combobox/ComboboxControl.js +1 -1
  25. package/dist/lib/shared/ui/formElements/controlled/combobox/ComboboxControl.js.map +1 -1
  26. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/dayPickerControl.js +1 -1
  27. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/dayPickerControl.js.map +1 -1
  28. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/model/utils.js +1 -1
  29. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/model/utils.js.map +1 -1
  30. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/range.js +1 -1
  31. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/range.js.map +1 -1
  32. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/single.js +1 -1
  33. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/single.js.map +1 -1
  34. package/dist/lib/shared/ui/formElements/controlled/editor/model/helper.js +1 -1
  35. package/dist/lib/shared/ui/formElements/controlled/editor/model/helper.js.map +1 -1
  36. package/dist/lib/shared/ui/formElements/controlled/editor/ui/Editor.js +1 -1
  37. package/dist/lib/shared/ui/formElements/controlled/editor/ui/Editor.js.map +1 -1
  38. package/dist/lib/shared/ui/formElements/controlled/editor/ui/EditorModal.js +1 -1
  39. package/dist/lib/shared/ui/formElements/controlled/editor/ui/EditorModal.js.map +1 -1
  40. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetColor.js +1 -1
  41. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetColor.js.map +1 -1
  42. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetCoreCommands.js +1 -1
  43. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetCoreCommands.js.map +1 -1
  44. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetFontSize.js +1 -1
  45. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetFontSize.js.map +1 -1
  46. package/dist/lib/shared/ui/formElements/controlled/input/InputControl.js +1 -1
  47. package/dist/lib/shared/ui/formElements/controlled/input/InputControl.js.map +1 -1
  48. package/dist/lib/shared/ui/formElements/controlled/input/MaskInputControl.js +1 -1
  49. package/dist/lib/shared/ui/formElements/controlled/input/MaskInputControl.js.map +1 -1
  50. package/dist/lib/shared/ui/formElements/controlled/inputCurrency/InputCurrencyControl.js +1 -1
  51. package/dist/lib/shared/ui/formElements/controlled/inputCurrency/InputCurrencyControl.js.map +1 -1
  52. package/dist/lib/shared/ui/formElements/controlled/inputOtp/InputOtpControl.js +1 -1
  53. package/dist/lib/shared/ui/formElements/controlled/inputOtp/InputOtpControl.js.map +1 -1
  54. package/dist/lib/shared/ui/formElements/controlled/radio/RadioGroupControl.js +1 -1
  55. package/dist/lib/shared/ui/formElements/controlled/radio/RadioGroupControl.js.map +1 -1
  56. package/dist/lib/shared/ui/formElements/controlled/slider/SliderControl.js +1 -1
  57. package/dist/lib/shared/ui/formElements/controlled/slider/SliderControl.js.map +1 -1
  58. package/dist/lib/shared/ui/formElements/controlled/switch/SwitchControl.js +1 -1
  59. package/dist/lib/shared/ui/formElements/controlled/switch/SwitchControl.js.map +1 -1
  60. package/dist/lib/shared/ui/formElements/controlled/textarea/TextareaControl.js +1 -1
  61. package/dist/lib/shared/ui/formElements/controlled/textarea/TextareaControl.js.map +1 -1
  62. package/dist/lib/shared/ui/formElements/controlled/uploader/UploaderControl.js +1 -1
  63. package/dist/lib/shared/ui/formElements/controlled/uploader/UploaderControl.js.map +1 -1
  64. package/dist/lib/shared/ui/formElements/ui/fieldAttachment/ui/ValidateSlot.js +1 -1
  65. package/dist/lib/shared/ui/formElements/ui/fieldAttachment/ui/ValidateSlot.js.map +1 -1
  66. package/dist/lib/shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js +1 -1
  67. package/dist/lib/shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js.map +1 -1
  68. package/dist/lib/shared/ui/formElements/uncontrolled/checkbox/Checkbox.js +1 -1
  69. package/dist/lib/shared/ui/formElements/uncontrolled/checkbox/Checkbox.js.map +1 -1
  70. package/dist/lib/shared/ui/formElements/uncontrolled/combobox/combobox.js +1 -1
  71. package/dist/lib/shared/ui/formElements/uncontrolled/combobox/combobox.js.map +1 -1
  72. package/dist/lib/shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js +1 -1
  73. package/dist/lib/shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js.map +1 -1
  74. package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js +1 -1
  75. package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js.map +1 -1
  76. package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/ui/CurrencyIcon.js +1 -1
  77. package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/ui/CurrencyIcon.js.map +1 -1
  78. package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderAlgorithmic/SliderAlgorithmic.js +1 -1
  79. package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderAlgorithmic/SliderAlgorithmic.js.map +1 -1
  80. package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/SliderMarks.js +1 -1
  81. package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/SliderMarks.js.map +1 -1
  82. package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/SliderStep.js +1 -1
  83. package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/SliderStep.js.map +1 -1
  84. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/UploaderBase.js +1 -1
  85. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/UploaderBase.js.map +1 -1
  86. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/model/hooks/useUploader.js +1 -1
  87. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/model/hooks/useUploader.js.map +1 -1
  88. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFile.js +1 -1
  89. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFile.js.map +1 -1
  90. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFilename.js +1 -1
  91. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFilename.js.map +1 -1
  92. package/dist/lib/shared/ui/hint/Hint.js +1 -1
  93. package/dist/lib/shared/ui/hint/Hint.js.map +1 -1
  94. package/dist/lib/shared/ui/modal/ui/ModalHeader.js +1 -1
  95. package/dist/lib/shared/ui/modal/ui/ModalHeader.js.map +1 -1
  96. package/dist/lib/shared/ui/popover/Popover.js +1 -1
  97. package/dist/lib/shared/ui/popover/Popover.js.map +1 -1
  98. package/dist/lib/shared/ui/table/Desktop.js +1 -1
  99. package/dist/lib/shared/ui/table/Desktop.js.map +1 -1
  100. package/dist/lib/shared/ui/table/Horizontal.js +1 -1
  101. package/dist/lib/shared/ui/table/Horizontal.js.map +1 -1
  102. package/dist/lib/shared/ui/table/Table.js +1 -1
  103. package/dist/lib/shared/ui/table/Table.js.map +1 -1
  104. package/dist/lib/shared/ui/table/model/TableUtils.js +1 -1
  105. package/dist/lib/shared/ui/table/model/TableUtils.js.map +1 -1
  106. package/dist/lib/shared/ui/table/ui/dataTableColumnHeader/DataTableColumnHeader.js +1 -1
  107. package/dist/lib/shared/ui/table/ui/dataTableColumnHeader/DataTableColumnHeader.js.map +1 -1
  108. package/dist/lib/shared/ui/table/ui/editableCell/EditableCell.js +1 -1
  109. package/dist/lib/shared/ui/table/ui/editableCell/EditableCell.js.map +1 -1
  110. package/dist/lib/shared/validation/base/base.constants.js +1 -1
  111. package/dist/lib/shared/validation/base/base.constants.js.map +1 -1
  112. package/dist/lib/shared/validation/base/date.validators.js +1 -1
  113. package/dist/lib/shared/validation/base/date.validators.js.map +1 -1
  114. package/dist/lib/shared/validation/base/regex.validators.js +1 -1
  115. package/dist/lib/shared/validation/base/regex.validators.js.map +1 -1
  116. package/dist/lib/widgets/authProvider/AuthProvider.js +1 -1
  117. package/dist/lib/widgets/authProvider/AuthProvider.js.map +1 -1
  118. package/dist/lib/widgets/authProvider/ui/Esia.js +1 -1
  119. package/dist/lib/widgets/authProvider/ui/Esia.js.map +1 -1
  120. package/dist/lib/widgets/authProvider/ui/MobileId.js +1 -1
  121. package/dist/lib/widgets/authProvider/ui/MobileId.js.map +1 -1
  122. package/dist/lib/widgets/authProvider/ui/ui/AuthWrapper.js +1 -1
  123. package/dist/lib/widgets/authProvider/ui/ui/AuthWrapper.js.map +1 -1
  124. package/dist/lib/widgets/banner/index.js +1 -1
  125. package/dist/lib/widgets/banner/ui/banners/BannerImageFull.js +1 -1
  126. package/dist/lib/widgets/banner/ui/banners/BannerImageFull.js.map +1 -1
  127. package/dist/lib/widgets/banner/ui/banners/BannerWithSeparateImg.js +1 -1
  128. package/dist/lib/widgets/banner/ui/banners/BannerWithSeparateImg.js.map +1 -1
  129. package/dist/lib/widgets/banner/ui/banners/ui/Advantages.js +1 -1
  130. package/dist/lib/widgets/banner/ui/banners/ui/Advantages.js.map +1 -1
  131. package/dist/lib/widgets/benefit/Benefit.js +1 -1
  132. package/dist/lib/widgets/benefit/Benefit.js.map +1 -1
  133. package/dist/lib/widgets/benefit/ui/BenefitItem.js +1 -1
  134. package/dist/lib/widgets/benefit/ui/BenefitItem.js.map +1 -1
  135. package/dist/lib/widgets/breadcrumbs/Breadcrumbs.js +1 -1
  136. package/dist/lib/widgets/breadcrumbs/Breadcrumbs.js.map +1 -1
  137. package/dist/lib/widgets/buttonWithHandlers/ButtonWithHandlers.js +1 -1
  138. package/dist/lib/widgets/buttonWithHandlers/ButtonWithHandlers.js.map +1 -1
  139. package/dist/lib/widgets/calculator/Calculator.js +1 -1
  140. package/dist/lib/widgets/calculator/Calculator.js.map +1 -1
  141. package/dist/lib/widgets/calculator/ui/calculatorFields/ui/AdditionalSlider.js +1 -1
  142. package/dist/lib/widgets/calculator/ui/calculatorFields/ui/AdditionalSlider.js.map +1 -1
  143. package/dist/lib/widgets/calculator/ui/calculatorFields/ui/CalculatorModal.js +1 -1
  144. package/dist/lib/widgets/calculator/ui/calculatorFields/ui/CalculatorModal.js.map +1 -1
  145. package/dist/lib/widgets/calculator/ui/calculatorInfo/CalculatorInfo.js +1 -1
  146. package/dist/lib/widgets/calculator/ui/calculatorInfo/CalculatorInfo.js.map +1 -1
  147. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/AssistHint.js +1 -1
  148. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/AssistHint.js.map +1 -1
  149. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoHead.js +1 -1
  150. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoHead.js.map +1 -1
  151. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/InfoListItem.js +1 -1
  152. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/InfoListItem.js.map +1 -1
  153. package/dist/lib/widgets/conditionBlock/ConditionBlock.js +1 -1
  154. package/dist/lib/widgets/conditionBlock/ConditionBlock.js.map +1 -1
  155. package/dist/lib/widgets/dynamicForm/model/helpers.js +1 -1
  156. package/dist/lib/widgets/dynamicForm/model/helpers.js.map +1 -1
  157. package/dist/lib/widgets/errorPage/ErrorPage.js +1 -1
  158. package/dist/lib/widgets/errorPage/ErrorPage.js.map +1 -1
  159. package/dist/lib/widgets/fallbacksView/FallbacksView.js +1 -1
  160. package/dist/lib/widgets/fallbacksView/FallbacksView.js.map +1 -1
  161. package/dist/lib/widgets/fallbacksView/model/helpers.js +1 -1
  162. package/dist/lib/widgets/fallbacksView/model/helpers.js.map +1 -1
  163. package/dist/lib/widgets/fieldMapper/FieldMapper.js +1 -1
  164. package/dist/lib/widgets/fieldMapper/FieldMapper.js.map +1 -1
  165. package/dist/lib/widgets/footer/Footer.js +1 -1
  166. package/dist/lib/widgets/footer/Footer.js.map +1 -1
  167. package/dist/lib/widgets/footer/ui/FooterLogo.js +1 -1
  168. package/dist/lib/widgets/footer/ui/FooterLogo.js.map +1 -1
  169. package/dist/lib/widgets/footer/ui/NavLinks.js +1 -1
  170. package/dist/lib/widgets/footer/ui/NavLinks.js.map +1 -1
  171. package/dist/lib/widgets/footer/ui/PhonesBlock.js +1 -1
  172. package/dist/lib/widgets/footer/ui/PhonesBlock.js.map +1 -1
  173. package/dist/lib/widgets/footer/ui/SiteMap.js +1 -1
  174. package/dist/lib/widgets/footer/ui/SiteMap.js.map +1 -1
  175. package/dist/lib/widgets/footer/ui/SocialLinks.js +1 -1
  176. package/dist/lib/widgets/footer/ui/SocialLinks.js.map +1 -1
  177. package/dist/lib/widgets/header/Header.js +1 -1
  178. package/dist/lib/widgets/header/Header.js.map +1 -1
  179. package/dist/lib/widgets/header/model/helpers.js +1 -1
  180. package/dist/lib/widgets/header/model/helpers.js.map +1 -1
  181. package/dist/lib/widgets/index.js +1 -1
  182. package/dist/lib/widgets/infoBlock/InfoBlock.js +1 -1
  183. package/dist/lib/widgets/infoBlock/InfoBlock.js.map +1 -1
  184. package/dist/lib/widgets/infoBlock/ui/LinksList.js +1 -1
  185. package/dist/lib/widgets/infoBlock/ui/LinksList.js.map +1 -1
  186. package/dist/lib/widgets/infoBlock/ui/RootContent.js +1 -1
  187. package/dist/lib/widgets/infoBlock/ui/RootContent.js.map +1 -1
  188. package/dist/lib/widgets/interLinking/InterLinking.js +1 -1
  189. package/dist/lib/widgets/interLinking/InterLinking.js.map +1 -1
  190. package/dist/lib/widgets/interLinking/ui/ColumnGroup.js +1 -1
  191. package/dist/lib/widgets/interLinking/ui/ColumnGroup.js.map +1 -1
  192. package/dist/lib/widgets/interLinking/ui/LinksList.js +1 -1
  193. package/dist/lib/widgets/interLinking/ui/LinksList.js.map +1 -1
  194. package/dist/lib/widgets/longBanner/LongBanner.js +1 -1
  195. package/dist/lib/widgets/longBanner/LongBanner.js.map +1 -1
  196. package/dist/lib/widgets/longBanner/ui/TextItem.js +1 -1
  197. package/dist/lib/widgets/longBanner/ui/TextItem.js.map +1 -1
  198. package/dist/lib/widgets/model/helpers.js +2 -2
  199. package/dist/lib/widgets/model/helpers.js.map +1 -1
  200. package/dist/lib/widgets/seoHeader/SeoHeader.js +1 -1
  201. package/dist/lib/widgets/seoHeader/SeoHeader.js.map +1 -1
  202. package/dist/lib/widgets/seoHeader/ui/desktop/CategoriesDesktop.js +1 -1
  203. package/dist/lib/widgets/seoHeader/ui/desktop/CategoriesDesktop.js.map +1 -1
  204. package/dist/lib/widgets/seoHeader/ui/desktop/CategoryTabs.js +1 -1
  205. package/dist/lib/widgets/seoHeader/ui/desktop/CategoryTabs.js.map +1 -1
  206. package/dist/lib/widgets/seoHeader/ui/desktop/tab/ui/content/TabContent.js +1 -1
  207. package/dist/lib/widgets/seoHeader/ui/desktop/tab/ui/content/TabContent.js.map +1 -1
  208. package/dist/lib/widgets/seoHeader/ui/mobile/CategoriesMobile.js +1 -1
  209. package/dist/lib/widgets/seoHeader/ui/mobile/CategoriesMobile.js.map +1 -1
  210. package/dist/lib/widgets/seoHeader/ui/mobile/menu/Menu.js +1 -1
  211. package/dist/lib/widgets/seoHeader/ui/mobile/menu/Menu.js.map +1 -1
  212. package/dist/lib/widgets/seoHeader/ui/mobile/menu/MenuItem.js +1 -1
  213. package/dist/lib/widgets/seoHeader/ui/mobile/menu/MenuItem.js.map +1 -1
  214. package/dist/lib/widgets/stepper/Stepper.js +1 -1
  215. package/dist/lib/widgets/stepper/Stepper.js.map +1 -1
  216. package/dist/lib/widgets/stepper/ui/StepperCarousel.js +1 -1
  217. package/dist/lib/widgets/stepper/ui/StepperCarousel.js.map +1 -1
  218. package/dist/lib/widgets/table/InfoTable.js +1 -1
  219. package/dist/lib/widgets/table/InfoTable.js.map +1 -1
  220. package/dist/lib/widgets/usefulInfo/UsefulInfo.js +1 -1
  221. package/dist/lib/widgets/usefulInfo/UsefulInfo.js.map +1 -1
  222. package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/Documents.js +1 -1
  223. package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/Documents.js.map +1 -1
  224. package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/ui/document/Document.js +1 -1
  225. package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/ui/document/Document.js.map +1 -1
  226. package/dist/lib/widgets/usefulInfo/ui/subEntities/experts/Experts.js +1 -1
  227. package/dist/lib/widgets/usefulInfo/ui/subEntities/experts/Experts.js.map +1 -1
  228. package/dist/lib/widgets/usefulInfo/ui/subEntities/html/Html.js +1 -1
  229. package/dist/lib/widgets/usefulInfo/ui/subEntities/html/Html.js.map +1 -1
  230. package/dist/lib/widgets/usefulInfo/ui/subEntities/table/Table.js +1 -1
  231. package/dist/lib/widgets/usefulInfo/ui/subEntities/table/Table.js.map +1 -1
  232. package/dist/lib/widgets/userFeedback/UserFeedback.js +1 -1
  233. package/dist/lib/widgets/userFeedback/UserFeedback.js.map +1 -1
  234. package/dist/lib/widgets/userFeedback/ui/FeedbackTrigger.js +1 -1
  235. package/dist/lib/widgets/userFeedback/ui/FeedbackTrigger.js.map +1 -1
  236. package/dist/lib/widgets/userFeedback/ui/Finally.js +1 -1
  237. package/dist/lib/widgets/userFeedback/ui/Finally.js.map +1 -1
  238. package/dist/lib/widgets/userFeedback/ui/SelectRating.js +1 -1
  239. package/dist/lib/widgets/userFeedback/ui/SelectRating.js.map +1 -1
  240. package/dist/stats.html +1 -1
  241. package/package.json +1 -1
@@ -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":"ijEAuBO,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":"qjEAuBO,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"uuid";import"../../../../button/Button.js";import"../../../../button/model/helpers.js";import"../../../../buttonIcon/ButtonIcon.js";import"../../../../loader/model/helpers.js";import"../../../../calendar/Calendar.js";import"../../../../calendar/model/utils.js";import"../../../../accordion/Accordion.js";import{Hint as a}from"../../../../hint/Hint.js";import"@radix-ui/react-popover";import"@radix-ui/react-tabs";import"react-dom";import"framer-motion";import"../../../../modal/ui/IframeModalContent.js";import"react-hot-toast";import"../../../../notification/ui/CustomToast.js";import"../../../../table/ui/primitives/Primitives.js";import"react-hook-form";import"@hookform/resolvers";import"@tanstack/react-table";import"../../../../heading/Heading.js";import"embla-carousel-autoplay";import"embla-carousel-react";import"../../../../carousel/ui/CarouselContent.js";import"../../../../customLink/model/helpers.js";import"../../../../slot/Slot.js";import"../../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"@radix-ui/react-radio-group";import"../../slider/SliderBase.js";import"../../switch/Switch.js";import"../../textarea/Textarea.js";import"../UploaderBase.js";import"../../inputCurrency/InputCurrency.js";import"../../../ui/MessageView.js";import"@tanstack/react-query";import"../../../../../../../src/configs/api.js";import"@floating-ui/react";import"date-fns";import"../../../controlled/editor/ui/Editor.js";import"../../../controlled/input/MaskInputControl.js";import"classnames";import"../../../../dropdownList/ui/dropdownItem/DropdownItem.js";const sr=({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{sr 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"uuid";import"../../../../button/Button.js";import"../../../../button/model/helpers.js";import"../../../../buttonIcon/ButtonIcon.js";import"../../../../loader/model/helpers.js";import"../../../../calendar/Calendar.js";import"../../../../calendar/model/utils.js";import"../../../../accordion/Accordion.js";import{Hint as a}from"../../../../hint/Hint.js";import"@radix-ui/react-popover";import"@radix-ui/react-tabs";import"react-dom";import"framer-motion";import"../../../../modal/ui/IframeModalContent.js";import"react-hot-toast";import"../../../../notification/ui/CustomToast.js";import"../../../../table/ui/primitives/Primitives.js";import"react-hook-form";import"@hookform/resolvers/zod";import"@tanstack/react-table";import"../../../../heading/Heading.js";import"embla-carousel-autoplay";import"embla-carousel-react";import"../../../../carousel/ui/CarouselContent.js";import"../../../../customLink/model/helpers.js";import"../../../../slot/Slot.js";import"../../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"@radix-ui/react-radio-group";import"../../slider/SliderBase.js";import"../../switch/Switch.js";import"../../textarea/Textarea.js";import"../UploaderBase.js";import"../../inputCurrency/InputCurrency.js";import"../../../ui/MessageView.js";import"@tanstack/react-query";import"../../../../../../../src/configs/api.js";import"@floating-ui/react";import"date-fns";import"../../../controlled/editor/ui/Editor.js";import"../../../controlled/input/MaskInputControl.js";import"classnames";import"../../../../dropdownList/ui/dropdownItem/DropdownItem.js";const sr=({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{sr as UploaderFilename};
2
2
  //# sourceMappingURL=UploaderFilename.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UploaderFilename.js","sources":["../../../../../../../../lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFilename.tsx"],"sourcesContent":["import { useRef } from 'react'\nimport { useOverflow } from '$/shared/hooks/useOverflow'\nimport { Hint } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type UploaderFileNameClasses = {\n fileText?: string\n}\n\ninterface UploaderFilenameProps {\n file: File\n classes?: UploaderFileNameClasses\n}\n\nexport const UploaderFilename = ({ file, classes }: UploaderFilenameProps) => {\n const fileRef = useRef<HTMLParagraphElement>(null)\n const isOverflow = useOverflow(fileRef)\n\n const { fileText } = classes || {}\n\n return (\n <div className='w-[300px]'>\n {isOverflow ? (\n <Hint triggerElement={<p className={cn('desk-body-regular-m truncate text-color-dark', fileText)}>{file.name}</p>}>\n {file.name}\n </Hint>\n ) : (\n <p ref={fileRef} className={cn('desk-body-regular-m text-nowrap text-color-dark', fileText)}>\n {file.name}\n </p>\n )}\n </div>\n )\n}\n"],"names":["UploaderFilename","file","classes","fileRef","useRef","isOverflow","useOverflow","fileText","jsx","Hint","cn"],"mappings":"g+DAcO,MAAMA,GAAmB,CAAC,CAAE,KAAAC,EAAM,QAAAC,KAAqC,CAC5E,MAAMC,EAAUC,EAA6B,IAAI,EAC3CC,EAAaC,EAAYH,CAAO,EAEhC,CAAE,SAAAI,GAAaL,GAAW,CAAA,EAEhC,OACEM,EAAC,MAAA,CAAI,UAAU,YACZ,WACCA,EAACC,EAAA,CAAK,eAAgBD,EAAC,IAAA,CAAE,UAAWE,EAAG,+CAAgDH,CAAQ,EAAI,SAAAN,EAAK,KAAK,EAC1G,SAAAA,EAAK,IAAA,CACR,EAEAO,EAAC,KAAE,IAAKL,EAAS,UAAWO,EAAG,kDAAmDH,CAAQ,EACvF,SAAAN,EAAK,KACR,EAEJ,CAEJ"}
1
+ {"version":3,"file":"UploaderFilename.js","sources":["../../../../../../../../lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFilename.tsx"],"sourcesContent":["import { useRef } from 'react'\nimport { useOverflow } from '$/shared/hooks/useOverflow'\nimport { Hint } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type UploaderFileNameClasses = {\n fileText?: string\n}\n\ninterface UploaderFilenameProps {\n file: File\n classes?: UploaderFileNameClasses\n}\n\nexport const UploaderFilename = ({ file, classes }: UploaderFilenameProps) => {\n const fileRef = useRef<HTMLParagraphElement>(null)\n const isOverflow = useOverflow(fileRef)\n\n const { fileText } = classes || {}\n\n return (\n <div className='w-[300px]'>\n {isOverflow ? (\n <Hint triggerElement={<p className={cn('desk-body-regular-m truncate text-color-dark', fileText)}>{file.name}</p>}>\n {file.name}\n </Hint>\n ) : (\n <p ref={fileRef} className={cn('desk-body-regular-m text-nowrap text-color-dark', fileText)}>\n {file.name}\n </p>\n )}\n </div>\n )\n}\n"],"names":["UploaderFilename","file","classes","fileRef","useRef","isOverflow","useOverflow","fileText","jsx","Hint","cn"],"mappings":"o+DAcO,MAAMA,GAAmB,CAAC,CAAE,KAAAC,EAAM,QAAAC,KAAqC,CAC5E,MAAMC,EAAUC,EAA6B,IAAI,EAC3CC,EAAaC,EAAYH,CAAO,EAEhC,CAAE,SAAAI,GAAaL,GAAW,CAAA,EAEhC,OACEM,EAAC,MAAA,CAAI,UAAU,YACZ,WACCA,EAACC,EAAA,CAAK,eAAgBD,EAAC,IAAA,CAAE,UAAWE,EAAG,+CAAgDH,CAAQ,EAAI,SAAAN,EAAK,KAAK,EAC1G,SAAAA,EAAK,IAAA,CACR,EAEAO,EAAC,KAAE,IAAKL,EAAS,UAAWO,EAAG,kDAAmDH,CAAQ,EACvF,SAAAN,EAAK,KACR,EAEJ,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{jsx as t,jsxs as m}from"react/jsx-runtime";import*as p from"react";import*as o from"@radix-ui/react-tooltip";import{useDevice as k}from"../../hooks/useDevice.js";import{useClickOutside as x}from"../../hooks/useClickOutside.js";import"react-hook-form";import"@hookform/resolvers";import{cn as e}from"../../utils/cn.js";import"uuid";const y=({triggerElement:d,children:f,delayDuration:u=250,sideOffset:h=6,align:g="center",side:w="top",defaultOpen:c=!1,classes:r,...a})=>{const[l,i]=p.useState(!1),n=p.useRef(null),{isMobile:v}=k();return x(n,()=>i(!1)),t(o.Provider,{children:t(o.Root,{open:l,onOpenChange:i,defaultOpen:c,delayDuration:u,children:m("div",{className:e(r==null?void 0:r.wrapper),onClick:()=>i(v),children:[t(o.Trigger,{type:"button",className:e("cursor-pointer",r==null?void 0:r.trigger),children:d}),m(o.Content,{onPointerDownOutside:b=>b.preventDefault(),className:e("desk-body-regular-m w-48 origin-center animate-scale-in rounded-sm bg-color-white p-4 text-color-dark shadow-sm",r==null?void 0:r.content),sideOffset:h,align:g,side:w,ref:n,...a,children:[f,t(o.Arrow,{width:12,height:6,className:e("fill-white",r==null?void 0:r.arrow)})]})]})})})};export{y as Hint};
1
+ import{jsx as t,jsxs as m}from"react/jsx-runtime";import*as p from"react";import*as o from"@radix-ui/react-tooltip";import{useDevice as k}from"../../hooks/useDevice.js";import{useClickOutside as x}from"../../hooks/useClickOutside.js";import"react-hook-form";import"@hookform/resolvers/zod";import{cn as e}from"../../utils/cn.js";import"uuid";const y=({triggerElement:d,children:f,delayDuration:u=250,sideOffset:h=6,align:g="center",side:w="top",defaultOpen:c=!1,classes:r,...a})=>{const[l,i]=p.useState(!1),n=p.useRef(null),{isMobile:v}=k();return x(n,()=>i(!1)),t(o.Provider,{children:t(o.Root,{open:l,onOpenChange:i,defaultOpen:c,delayDuration:u,children:m("div",{className:e(r==null?void 0:r.wrapper),onClick:()=>i(v),children:[t(o.Trigger,{type:"button",className:e("cursor-pointer",r==null?void 0:r.trigger),children:d}),m(o.Content,{onPointerDownOutside:b=>b.preventDefault(),className:e("desk-body-regular-m w-48 origin-center animate-scale-in rounded-sm bg-color-white p-4 text-color-dark shadow-sm",r==null?void 0:r.content),sideOffset:h,align:g,side:w,ref:n,...a,children:[f,t(o.Arrow,{width:12,height:6,className:e("fill-white",r==null?void 0:r.arrow)})]})]})})})};export{y as Hint};
2
2
  //# sourceMappingURL=Hint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Hint.js","sources":["../../../../../lib/shared/ui/hint/Hint.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\nimport { useClickOutside, useDevice } from '$/shared/hooks'\nimport { cn } from '$/shared/utils'\n\ntype HintClasses = {\n wrapper?: string\n content?: string\n arrow?: string\n trigger?: string\n}\n\nexport interface HintContentProps extends TooltipPrimitive.TooltipContentProps {\n delayDuration?: number\n sideOffset?: number\n align?: 'end' | 'center' | 'start'\n side?: 'top' | 'right' | 'bottom' | 'left'\n defaultOpen?: boolean\n}\n\nexport interface IHintProps extends HintContentProps {\n triggerElement: React.ReactElement\n children: React.ReactElement | string\n classes?: HintClasses\n}\n\nexport const Hint = ({\n triggerElement,\n children,\n delayDuration = 250,\n sideOffset = 6,\n align = 'center',\n side = 'top',\n defaultOpen = false,\n classes,\n ...contentProps\n}: IHintProps) => {\n const [open, setOpen] = React.useState(false)\n const contentRef = React.useRef<HTMLDivElement>(null)\n const { isMobile } = useDevice()\n\n useClickOutside(contentRef, () => setOpen(false))\n return (\n <TooltipPrimitive.Provider>\n <TooltipPrimitive.Root open={open} onOpenChange={setOpen} defaultOpen={defaultOpen} delayDuration={delayDuration}>\n <div className={cn(classes?.wrapper)} onClick={() => setOpen(isMobile)}>\n <TooltipPrimitive.Trigger type='button' className={cn('cursor-pointer', classes?.trigger)}>\n {triggerElement}\n </TooltipPrimitive.Trigger>\n <TooltipPrimitive.Content\n onPointerDownOutside={(event) => event.preventDefault()}\n className={cn(\n 'desk-body-regular-m w-48 origin-center animate-scale-in rounded-sm bg-color-white p-4 text-color-dark shadow-sm',\n classes?.content\n )}\n sideOffset={sideOffset}\n align={align}\n side={side}\n ref={contentRef}\n {...contentProps}\n >\n {children}\n <TooltipPrimitive.Arrow width={12} height={6} className={cn('fill-white', classes?.arrow)} />\n </TooltipPrimitive.Content>\n </div>\n </TooltipPrimitive.Root>\n </TooltipPrimitive.Provider>\n )\n}\n"],"names":["Hint","triggerElement","children","delayDuration","sideOffset","align","side","defaultOpen","classes","contentProps","open","setOpen","React","contentRef","isMobile","useDevice","useClickOutside","jsx","TooltipPrimitive","jsxs","cn","event"],"mappings":"kVA4BO,MAAMA,EAAO,CAAC,CACnB,eAAAC,EACA,SAAAC,EACA,cAAAC,EAAgB,IAChB,WAAAC,EAAa,EACb,MAAAC,EAAQ,SACR,KAAAC,EAAO,MACP,YAAAC,EAAc,GACd,QAAAC,EACA,GAAGC,CACL,IAAkB,CAChB,KAAM,CAACC,EAAMC,CAAO,EAAIC,EAAM,SAAS,EAAK,EACtCC,EAAaD,EAAM,OAAuB,IAAI,EAC9C,CAAE,SAAAE,CAAA,EAAaC,EAAA,EAErB,OAAAC,EAAgBH,EAAY,IAAMF,EAAQ,EAAK,CAAC,EAE9CM,EAACC,EAAiB,SAAjB,CACC,SAAAD,EAACC,EAAiB,KAAjB,CAAsB,KAAAR,EAAY,aAAcC,EAAS,YAAAJ,EAA0B,cAAAJ,EAClF,SAAAgB,EAAC,MAAA,CAAI,UAAWC,EAAGZ,GAAA,YAAAA,EAAS,OAAO,EAAG,QAAS,IAAMG,EAAQG,CAAQ,EACnE,SAAA,CAAAG,EAACC,EAAiB,QAAjB,CAAyB,KAAK,SAAS,UAAWE,EAAG,iBAAkBZ,GAAA,YAAAA,EAAS,OAAO,EACrF,SAAAP,CAAA,CACH,EACAkB,EAACD,EAAiB,QAAjB,CACC,qBAAuBG,GAAUA,EAAM,eAAA,EACvC,UAAWD,EACT,kHACAZ,GAAA,YAAAA,EAAS,OAAA,EAEX,WAAAJ,EACA,MAAAC,EACA,KAAAC,EACA,IAAKO,EACJ,GAAGJ,EAEH,SAAA,CAAAP,EACDe,EAACC,EAAiB,MAAjB,CAAuB,MAAO,GAAI,OAAQ,EAAG,UAAWE,EAAG,aAAcZ,GAAA,YAAAA,EAAS,KAAK,CAAA,CAAG,CAAA,CAAA,CAAA,CAC7F,CAAA,CACF,EACF,EACF,CAEJ"}
1
+ {"version":3,"file":"Hint.js","sources":["../../../../../lib/shared/ui/hint/Hint.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\nimport { useClickOutside, useDevice } from '$/shared/hooks'\nimport { cn } from '$/shared/utils'\n\ntype HintClasses = {\n wrapper?: string\n content?: string\n arrow?: string\n trigger?: string\n}\n\nexport interface HintContentProps extends TooltipPrimitive.TooltipContentProps {\n delayDuration?: number\n sideOffset?: number\n align?: 'end' | 'center' | 'start'\n side?: 'top' | 'right' | 'bottom' | 'left'\n defaultOpen?: boolean\n}\n\nexport interface IHintProps extends HintContentProps {\n triggerElement: React.ReactElement\n children: React.ReactElement | string\n classes?: HintClasses\n}\n\nexport const Hint = ({\n triggerElement,\n children,\n delayDuration = 250,\n sideOffset = 6,\n align = 'center',\n side = 'top',\n defaultOpen = false,\n classes,\n ...contentProps\n}: IHintProps) => {\n const [open, setOpen] = React.useState(false)\n const contentRef = React.useRef<HTMLDivElement>(null)\n const { isMobile } = useDevice()\n\n useClickOutside(contentRef, () => setOpen(false))\n return (\n <TooltipPrimitive.Provider>\n <TooltipPrimitive.Root open={open} onOpenChange={setOpen} defaultOpen={defaultOpen} delayDuration={delayDuration}>\n <div className={cn(classes?.wrapper)} onClick={() => setOpen(isMobile)}>\n <TooltipPrimitive.Trigger type='button' className={cn('cursor-pointer', classes?.trigger)}>\n {triggerElement}\n </TooltipPrimitive.Trigger>\n <TooltipPrimitive.Content\n onPointerDownOutside={(event) => event.preventDefault()}\n className={cn(\n 'desk-body-regular-m w-48 origin-center animate-scale-in rounded-sm bg-color-white p-4 text-color-dark shadow-sm',\n classes?.content\n )}\n sideOffset={sideOffset}\n align={align}\n side={side}\n ref={contentRef}\n {...contentProps}\n >\n {children}\n <TooltipPrimitive.Arrow width={12} height={6} className={cn('fill-white', classes?.arrow)} />\n </TooltipPrimitive.Content>\n </div>\n </TooltipPrimitive.Root>\n </TooltipPrimitive.Provider>\n )\n}\n"],"names":["Hint","triggerElement","children","delayDuration","sideOffset","align","side","defaultOpen","classes","contentProps","open","setOpen","React","contentRef","isMobile","useDevice","useClickOutside","jsx","TooltipPrimitive","jsxs","cn","event"],"mappings":"sVA4BO,MAAMA,EAAO,CAAC,CACnB,eAAAC,EACA,SAAAC,EACA,cAAAC,EAAgB,IAChB,WAAAC,EAAa,EACb,MAAAC,EAAQ,SACR,KAAAC,EAAO,MACP,YAAAC,EAAc,GACd,QAAAC,EACA,GAAGC,CACL,IAAkB,CAChB,KAAM,CAACC,EAAMC,CAAO,EAAIC,EAAM,SAAS,EAAK,EACtCC,EAAaD,EAAM,OAAuB,IAAI,EAC9C,CAAE,SAAAE,CAAA,EAAaC,EAAA,EAErB,OAAAC,EAAgBH,EAAY,IAAMF,EAAQ,EAAK,CAAC,EAE9CM,EAACC,EAAiB,SAAjB,CACC,SAAAD,EAACC,EAAiB,KAAjB,CAAsB,KAAAR,EAAY,aAAcC,EAAS,YAAAJ,EAA0B,cAAAJ,EAClF,SAAAgB,EAAC,MAAA,CAAI,UAAWC,EAAGZ,GAAA,YAAAA,EAAS,OAAO,EAAG,QAAS,IAAMG,EAAQG,CAAQ,EACnE,SAAA,CAAAG,EAACC,EAAiB,QAAjB,CAAyB,KAAK,SAAS,UAAWE,EAAG,iBAAkBZ,GAAA,YAAAA,EAAS,OAAO,EACrF,SAAAP,CAAA,CACH,EACAkB,EAACD,EAAiB,QAAjB,CACC,qBAAuBG,GAAUA,EAAM,eAAA,EACvC,UAAWD,EACT,kHACAZ,GAAA,YAAAA,EAAS,OAAA,EAEX,WAAAJ,EACA,MAAAC,EACA,KAAAC,EACA,IAAKO,EACJ,GAAGJ,EAEH,SAAA,CAAAP,EACDe,EAACC,EAAiB,MAAjB,CAAuB,MAAO,GAAI,OAAQ,EAAG,UAAWE,EAAG,aAAcZ,GAAA,YAAAA,EAAS,KAAK,CAAA,CAAG,CAAA,CAAA,CAAA,CAC7F,CAAA,CACF,EACF,EACF,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import{cn as r}from"../../../utils/cn.js";import"uuid";import"react";import"../../button/Button.js";import"../../button/model/helpers.js";import"../../buttonIcon/ButtonIcon.js";import"../../loader/model/helpers.js";import"../../calendar/Calendar.js";import"../../calendar/model/utils.js";import"../../accordion/Accordion.js";import"@radix-ui/react-tooltip";import"react-hook-form";import"@hookform/resolvers";import"@radix-ui/react-popover";import"@radix-ui/react-tabs";import"react-dom";import"framer-motion";import"./IframeModalContent.js";import"react-hot-toast";import"../../notification/ui/CustomToast.js";import"../../table/ui/primitives/Primitives.js";import{Icon as n}from"../../icon/Icon.js";import"@tanstack/react-table";import{Heading as d}from"../../heading/Heading.js";import"embla-carousel-autoplay";import"embla-carousel-react";import"../../carousel/ui/CarouselContent.js";import"../../customLink/model/helpers.js";import"../../slot/Slot.js";import"../../formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../formElements/uncontrolled/checkbox/Checkbox.js";import"../../formElements/uncontrolled/combobox/combobox.js";import"../../formElements/uncontrolled/dayPicker/DayPicker.js";import"../../formElements/uncontrolled/input/Input.js";import"../../formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../formElements/uncontrolled/maskInput/MaskInput.js";import"../../formElements/uncontrolled/radio/RadioGroup.js";import"../../formElements/uncontrolled/radio/ui/RadioItem.js";import"@radix-ui/react-radio-group";import"../../formElements/uncontrolled/slider/SliderBase.js";import"../../formElements/uncontrolled/switch/Switch.js";import"../../formElements/uncontrolled/textarea/Textarea.js";import"../../formElements/uncontrolled/uploader/UploaderBase.js";import"../../formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../formElements/ui/MessageView.js";import"@tanstack/react-query";import"../../../../../src/configs/api.js";import"@floating-ui/react";import"date-fns";import"../../formElements/controlled/editor/ui/Editor.js";import"../../formElements/controlled/input/MaskInputControl.js";import"classnames";import"../../dropdownList/ui/dropdownItem/DropdownItem.js";const lo=({title:i,closeModal:m,classes:o})=>e("div",{className:r("flex items-start justify-between gap-4",o==null?void 0:o.header),children:[i&&t(d,{as:"h3",className:r("flex-1 text-color-dark",o==null?void 0:o.title),children:i}),t("span",{onClick:m,onKeyDown:p=>{p.key==="Enter"&&m()},role:"button","aria-label":"Close modal",tabIndex:0,className:r("rounded-sm p-0.5 outline-none transition-colors hover:bg-color-blue-grey-200 focus-visible:bg-color-blue-grey-200"),children:t(n,{name:"general/close",className:r("ml-auto size-6 cursor-pointer text-icon-dark-hover outline-0",o==null?void 0:o.icon)})})]});export{lo as ModalHeader};
1
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{cn as r}from"../../../utils/cn.js";import"uuid";import"react";import"../../button/Button.js";import"../../button/model/helpers.js";import"../../buttonIcon/ButtonIcon.js";import"../../loader/model/helpers.js";import"../../calendar/Calendar.js";import"../../calendar/model/utils.js";import"../../accordion/Accordion.js";import"@radix-ui/react-tooltip";import"react-hook-form";import"@hookform/resolvers/zod";import"@radix-ui/react-popover";import"@radix-ui/react-tabs";import"react-dom";import"framer-motion";import"./IframeModalContent.js";import"react-hot-toast";import"../../notification/ui/CustomToast.js";import"../../table/ui/primitives/Primitives.js";import{Icon as n}from"../../icon/Icon.js";import"@tanstack/react-table";import{Heading as d}from"../../heading/Heading.js";import"embla-carousel-autoplay";import"embla-carousel-react";import"../../carousel/ui/CarouselContent.js";import"../../customLink/model/helpers.js";import"../../slot/Slot.js";import"../../formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../formElements/uncontrolled/checkbox/Checkbox.js";import"../../formElements/uncontrolled/combobox/combobox.js";import"../../formElements/uncontrolled/dayPicker/DayPicker.js";import"../../formElements/uncontrolled/input/Input.js";import"../../formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../formElements/uncontrolled/maskInput/MaskInput.js";import"../../formElements/uncontrolled/radio/RadioGroup.js";import"../../formElements/uncontrolled/radio/ui/RadioItem.js";import"@radix-ui/react-radio-group";import"../../formElements/uncontrolled/slider/SliderBase.js";import"../../formElements/uncontrolled/switch/Switch.js";import"../../formElements/uncontrolled/textarea/Textarea.js";import"../../formElements/uncontrolled/uploader/UploaderBase.js";import"../../formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../formElements/ui/MessageView.js";import"@tanstack/react-query";import"../../../../../src/configs/api.js";import"@floating-ui/react";import"date-fns";import"../../formElements/controlled/editor/ui/Editor.js";import"../../formElements/controlled/input/MaskInputControl.js";import"classnames";import"../../dropdownList/ui/dropdownItem/DropdownItem.js";const lo=({title:i,closeModal:m,classes:o})=>e("div",{className:r("flex items-start justify-between gap-4",o==null?void 0:o.header),children:[i&&t(d,{as:"h3",className:r("flex-1 text-color-dark",o==null?void 0:o.title),children:i}),t("span",{onClick:m,onKeyDown:p=>{p.key==="Enter"&&m()},role:"button","aria-label":"Close modal",tabIndex:0,className:r("rounded-sm p-0.5 outline-none transition-colors hover:bg-color-blue-grey-200 focus-visible:bg-color-blue-grey-200"),children:t(n,{name:"general/close",className:r("ml-auto size-6 cursor-pointer text-icon-dark-hover outline-0",o==null?void 0:o.icon)})})]});export{lo as ModalHeader};
2
2
  //# sourceMappingURL=ModalHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalHeader.js","sources":["../../../../../../lib/shared/ui/modal/ui/ModalHeader.tsx"],"sourcesContent":["import type { ModalProps } from '../Modal'\nimport { Heading, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type TModalHeaderClasses = {\n header?: string\n title?: string\n icon?: string\n}\n\nexport interface IModalHeaderProps extends Pick<ModalProps, 'closeModal' | 'title'> {\n classes?: TModalHeaderClasses\n}\n\nexport const ModalHeader = ({ title, closeModal, classes }: IModalHeaderProps) => {\n return (\n <div className={cn('flex items-start justify-between gap-4', classes?.header)}>\n {title && (\n <Heading as='h3' className={cn('flex-1 text-color-dark', classes?.title)}>\n {title}\n </Heading>\n )}\n <span\n onClick={closeModal}\n onKeyDown={(event) => {\n if (event.key === 'Enter') closeModal()\n }}\n role='button'\n aria-label='Close modal'\n tabIndex={0}\n className={cn(\n 'rounded-sm p-0.5 outline-none transition-colors hover:bg-color-blue-grey-200 focus-visible:bg-color-blue-grey-200'\n )}\n >\n <Icon\n name='general/close'\n className={cn('ml-auto size-6 cursor-pointer text-icon-dark-hover outline-0', classes?.icon)}\n />\n </span>\n </div>\n )\n}\n"],"names":["ModalHeader","title","closeModal","classes","cn","jsx","Heading","event","Icon"],"mappings":"suEAcO,MAAMA,GAAc,CAAC,CAAE,MAAAC,EAAO,WAAAC,EAAY,QAAAC,OAE5C,MAAA,CAAI,UAAWC,EAAG,yCAA0CD,GAAA,YAAAA,EAAS,MAAM,EACzE,SAAA,CAAAF,GACCI,EAACC,EAAA,CAAQ,GAAG,KAAK,UAAWF,EAAG,yBAA0BD,GAAA,YAAAA,EAAS,KAAK,EACpE,SAAAF,CAAA,CACH,EAEFI,EAAC,OAAA,CACC,QAASH,EACT,UAAYK,GAAU,CAChBA,EAAM,MAAQ,SAASL,EAAA,CAC7B,EACA,KAAK,SACL,aAAW,cACX,SAAU,EACV,UAAWE,EACT,mHAAA,EAGF,SAAAC,EAACG,EAAA,CACC,KAAK,gBACL,UAAWJ,EAAG,+DAAgED,GAAA,YAAAA,EAAS,IAAI,CAAA,CAAA,CAC7F,CAAA,CACF,EACF"}
1
+ {"version":3,"file":"ModalHeader.js","sources":["../../../../../../lib/shared/ui/modal/ui/ModalHeader.tsx"],"sourcesContent":["import type { ModalProps } from '../Modal'\nimport { Heading, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type TModalHeaderClasses = {\n header?: string\n title?: string\n icon?: string\n}\n\nexport interface IModalHeaderProps extends Pick<ModalProps, 'closeModal' | 'title'> {\n classes?: TModalHeaderClasses\n}\n\nexport const ModalHeader = ({ title, closeModal, classes }: IModalHeaderProps) => {\n return (\n <div className={cn('flex items-start justify-between gap-4', classes?.header)}>\n {title && (\n <Heading as='h3' className={cn('flex-1 text-color-dark', classes?.title)}>\n {title}\n </Heading>\n )}\n <span\n onClick={closeModal}\n onKeyDown={(event) => {\n if (event.key === 'Enter') closeModal()\n }}\n role='button'\n aria-label='Close modal'\n tabIndex={0}\n className={cn(\n 'rounded-sm p-0.5 outline-none transition-colors hover:bg-color-blue-grey-200 focus-visible:bg-color-blue-grey-200'\n )}\n >\n <Icon\n name='general/close'\n className={cn('ml-auto size-6 cursor-pointer text-icon-dark-hover outline-0', classes?.icon)}\n />\n </span>\n </div>\n )\n}\n"],"names":["ModalHeader","title","closeModal","classes","cn","jsx","Heading","event","Icon"],"mappings":"0uEAcO,MAAMA,GAAc,CAAC,CAAE,MAAAC,EAAO,WAAAC,EAAY,QAAAC,OAE5C,MAAA,CAAI,UAAWC,EAAG,yCAA0CD,GAAA,YAAAA,EAAS,MAAM,EACzE,SAAA,CAAAF,GACCI,EAACC,EAAA,CAAQ,GAAG,KAAK,UAAWF,EAAG,yBAA0BD,GAAA,YAAAA,EAAS,KAAK,EACpE,SAAAF,CAAA,CACH,EAEFI,EAAC,OAAA,CACC,QAASH,EACT,UAAYK,GAAU,CAChBA,EAAM,MAAQ,SAASL,EAAA,CAC7B,EACA,KAAK,SACL,aAAW,cACX,SAAU,EACV,UAAWE,EACT,mHAAA,EAGF,SAAAC,EAACG,EAAA,CACC,KAAK,gBACL,UAAWJ,EAAG,+DAAgED,GAAA,YAAAA,EAAS,IAAI,CAAA,CAAA,CAC7F,CAAA,CACF,EACF"}
@@ -1,2 +1,2 @@
1
- import{jsxs as m,jsx as o}from"react/jsx-runtime";import*as t from"@radix-ui/react-popover";import{cn as i}from"../../utils/cn.js";import"uuid";import"react";import"../button/Button.js";import"../button/model/helpers.js";import"../buttonIcon/ButtonIcon.js";import"../loader/model/helpers.js";import"../calendar/Calendar.js";import"../calendar/model/utils.js";import"../accordion/Accordion.js";import"@radix-ui/react-tooltip";import"react-hook-form";import"@hookform/resolvers";import"@radix-ui/react-tabs";import"react-dom";import"framer-motion";import"../modal/ui/IframeModalContent.js";import"react-hot-toast";import"../notification/ui/CustomToast.js";import"../table/ui/primitives/Primitives.js";import{Icon as N}from"../icon/Icon.js";import"@tanstack/react-table";import"../heading/Heading.js";import"embla-carousel-autoplay";import"embla-carousel-react";import"../carousel/ui/CarouselContent.js";import"../customLink/model/helpers.js";import"../slot/Slot.js";import"../formElements/uncontrolled/autocomplete/Autocomplete.js";import"../formElements/uncontrolled/checkbox/Checkbox.js";import"../formElements/uncontrolled/combobox/combobox.js";import"../formElements/uncontrolled/dayPicker/DayPicker.js";import"../formElements/uncontrolled/input/Input.js";import"../formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../formElements/uncontrolled/maskInput/MaskInput.js";import"../formElements/uncontrolled/radio/RadioGroup.js";import"../formElements/uncontrolled/radio/ui/RadioItem.js";import"@radix-ui/react-radio-group";import"../formElements/uncontrolled/slider/SliderBase.js";import"../formElements/uncontrolled/switch/Switch.js";import"../formElements/uncontrolled/textarea/Textarea.js";import"../formElements/uncontrolled/uploader/UploaderBase.js";import"../formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../formElements/ui/MessageView.js";import"@tanstack/react-query";import"../../../../src/configs/api.js";import"@floating-ui/react";import"date-fns";import"../formElements/controlled/editor/ui/Editor.js";import"../formElements/controlled/input/MaskInputControl.js";import"classnames";import"../dropdownList/ui/dropdownItem/DropdownItem.js";const Nr=({triggerElement:p,classes:r,sideOffset:e=4,alignOffset:n,align:u,side:g,defaultOpen:d=!1,avoidCollisions:f=!0,children:h,arrowPadding:x,portalContainer:l,withCloseBtn:w=!0,withArrow:a=!0,...b})=>m(t.Root,{defaultOpen:d,children:[o("div",{className:i("flex w-max items-center gap-2",r==null?void 0:r.root),children:o(t.Trigger,{"aria-label":"tooltip",className:i("flex cursor-pointer items-center justify-center",r==null?void 0:r.trigger),children:p})}),o(t.Portal,{container:l,children:m(t.Content,{className:i("desk-body-regular-m flex w-fit max-w-64 items-start gap-2 rounded-sm bg-color-white p-4 shadow-sm outline-none",r==null?void 0:r.content),sideOffset:e,alignOffset:n,avoidCollisions:f,arrowPadding:x,align:u,side:g,...b,children:[h,w&&o(t.Close,{"aria-label":"Close",className:i("flex size-5 items-center justify-center outline-0 outline-transparent",r==null?void 0:r.closeTrigger),children:o(N,{name:"general/close",className:i("size-5 cursor-pointer text-icon-blue-grey-600 transition-colors hover:text-icon-blue-grey-800",r==null?void 0:r.closeIcon)})}),a&&o(t.Arrow,{width:12,height:6,className:i("fill-white",r==null?void 0:r.arrowIcon)})]})})]});export{Nr as Popover};
1
+ import{jsxs as m,jsx as o}from"react/jsx-runtime";import*as t from"@radix-ui/react-popover";import{cn as i}from"../../utils/cn.js";import"uuid";import"react";import"../button/Button.js";import"../button/model/helpers.js";import"../buttonIcon/ButtonIcon.js";import"../loader/model/helpers.js";import"../calendar/Calendar.js";import"../calendar/model/utils.js";import"../accordion/Accordion.js";import"@radix-ui/react-tooltip";import"react-hook-form";import"@hookform/resolvers/zod";import"@radix-ui/react-tabs";import"react-dom";import"framer-motion";import"../modal/ui/IframeModalContent.js";import"react-hot-toast";import"../notification/ui/CustomToast.js";import"../table/ui/primitives/Primitives.js";import{Icon as N}from"../icon/Icon.js";import"@tanstack/react-table";import"../heading/Heading.js";import"embla-carousel-autoplay";import"embla-carousel-react";import"../carousel/ui/CarouselContent.js";import"../customLink/model/helpers.js";import"../slot/Slot.js";import"../formElements/uncontrolled/autocomplete/Autocomplete.js";import"../formElements/uncontrolled/checkbox/Checkbox.js";import"../formElements/uncontrolled/combobox/combobox.js";import"../formElements/uncontrolled/dayPicker/DayPicker.js";import"../formElements/uncontrolled/input/Input.js";import"../formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../formElements/uncontrolled/maskInput/MaskInput.js";import"../formElements/uncontrolled/radio/RadioGroup.js";import"../formElements/uncontrolled/radio/ui/RadioItem.js";import"@radix-ui/react-radio-group";import"../formElements/uncontrolled/slider/SliderBase.js";import"../formElements/uncontrolled/switch/Switch.js";import"../formElements/uncontrolled/textarea/Textarea.js";import"../formElements/uncontrolled/uploader/UploaderBase.js";import"../formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../formElements/ui/MessageView.js";import"@tanstack/react-query";import"../../../../src/configs/api.js";import"@floating-ui/react";import"date-fns";import"../formElements/controlled/editor/ui/Editor.js";import"../formElements/controlled/input/MaskInputControl.js";import"classnames";import"../dropdownList/ui/dropdownItem/DropdownItem.js";const Nr=({triggerElement:p,classes:r,sideOffset:e=4,alignOffset:n,align:u,side:g,defaultOpen:d=!1,avoidCollisions:f=!0,children:h,arrowPadding:x,portalContainer:l,withCloseBtn:w=!0,withArrow:a=!0,...b})=>m(t.Root,{defaultOpen:d,children:[o("div",{className:i("flex w-max items-center gap-2",r==null?void 0:r.root),children:o(t.Trigger,{"aria-label":"tooltip",className:i("flex cursor-pointer items-center justify-center",r==null?void 0:r.trigger),children:p})}),o(t.Portal,{container:l,children:m(t.Content,{className:i("desk-body-regular-m flex w-fit max-w-64 items-start gap-2 rounded-sm bg-color-white p-4 shadow-sm outline-none",r==null?void 0:r.content),sideOffset:e,alignOffset:n,avoidCollisions:f,arrowPadding:x,align:u,side:g,...b,children:[h,w&&o(t.Close,{"aria-label":"Close",className:i("flex size-5 items-center justify-center outline-0 outline-transparent",r==null?void 0:r.closeTrigger),children:o(N,{name:"general/close",className:i("size-5 cursor-pointer text-icon-blue-grey-600 transition-colors hover:text-icon-blue-grey-800",r==null?void 0:r.closeIcon)})}),a&&o(t.Arrow,{width:12,height:6,className:i("fill-white",r==null?void 0:r.arrowIcon)})]})})]});export{Nr as Popover};
2
2
  //# sourceMappingURL=Popover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","sources":["../../../../../lib/shared/ui/popover/Popover.tsx"],"sourcesContent":["'use client'\n\nimport type { ReactElement, ReactNode } from 'react'\nimport type { PopoverContentProps as PopoverContentPropsBase } from '@radix-ui/react-popover'\nimport * as PopoverPrimitive from '@radix-ui/react-popover'\nimport { Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\ntype PopoverClasses = {\n root?: string\n content?: string\n trigger?: string\n arrowIcon?: string\n closeIcon?: string\n closeTrigger?: string\n}\n\ninterface PopoverContentProps extends PopoverContentPropsBase {\n sideOffset?: number\n alignOffset?: number\n align?: 'end' | 'center' | 'start'\n side?: 'top' | 'right' | 'bottom' | 'left'\n defaultOpen?: boolean\n avoidCollisions?: boolean\n withCloseBtn?: boolean\n withArrow?: boolean\n}\n\nexport interface PopoverProps extends PopoverContentProps {\n triggerElement: ReactElement\n children: ReactNode\n classes?: PopoverClasses\n portalContainer?: PopoverPrimitive.PopoverPortalProps['container']\n}\n\nexport const Popover = ({\n triggerElement,\n classes,\n sideOffset = 4,\n alignOffset,\n align,\n side,\n defaultOpen = false,\n avoidCollisions = true,\n children,\n arrowPadding,\n portalContainer,\n withCloseBtn = true,\n withArrow = true,\n ...contentProps\n}: PopoverProps) => {\n return (\n <PopoverPrimitive.Root defaultOpen={defaultOpen}>\n <div className={cn('flex w-max items-center gap-2', classes?.root)}>\n <PopoverPrimitive.Trigger\n aria-label='tooltip'\n className={cn('flex cursor-pointer items-center justify-center', classes?.trigger)}\n >\n {triggerElement}\n </PopoverPrimitive.Trigger>\n </div>\n <PopoverPrimitive.Portal container={portalContainer}>\n <PopoverPrimitive.Content\n className={cn(\n 'desk-body-regular-m flex w-fit max-w-64 items-start gap-2 rounded-sm bg-color-white p-4 shadow-sm outline-none',\n classes?.content\n )}\n sideOffset={sideOffset}\n alignOffset={alignOffset}\n avoidCollisions={avoidCollisions}\n arrowPadding={arrowPadding}\n align={align}\n side={side}\n {...contentProps}\n >\n {children}\n\n {withCloseBtn && (\n <PopoverPrimitive.Close\n aria-label='Close'\n className={cn('flex size-5 items-center justify-center outline-0 outline-transparent', classes?.closeTrigger)}\n >\n <Icon\n name='general/close'\n className={cn(\n 'size-5 cursor-pointer text-icon-blue-grey-600 transition-colors hover:text-icon-blue-grey-800',\n classes?.closeIcon\n )}\n />\n </PopoverPrimitive.Close>\n )}\n {withArrow && <PopoverPrimitive.Arrow width={12} height={6} className={cn('fill-white', classes?.arrowIcon)} />}\n </PopoverPrimitive.Content>\n </PopoverPrimitive.Portal>\n </PopoverPrimitive.Root>\n )\n}\n"],"names":["Popover","triggerElement","classes","sideOffset","alignOffset","align","side","defaultOpen","avoidCollisions","children","arrowPadding","portalContainer","withCloseBtn","withArrow","contentProps","jsxs","PopoverPrimitive","jsx","cn","Icon"],"mappings":"koEAmCO,MAAMA,GAAU,CAAC,CACtB,eAAAC,EACA,QAAAC,EACA,WAAAC,EAAa,EACb,YAAAC,EACA,MAAAC,EACA,KAAAC,EACA,YAAAC,EAAc,GACd,gBAAAC,EAAkB,GAClB,SAAAC,EACA,aAAAC,EACA,gBAAAC,EACA,aAAAC,EAAe,GACf,UAAAC,EAAY,GACZ,GAAGC,CACL,IAEIC,EAACC,EAAiB,KAAjB,CAAsB,YAAAT,EACrB,SAAA,CAAAU,EAAC,OAAI,UAAWC,EAAG,gCAAiChB,GAAA,YAAAA,EAAS,IAAI,EAC/D,SAAAe,EAACD,EAAiB,QAAjB,CACC,aAAW,UACX,UAAWE,EAAG,kDAAmDhB,GAAA,YAAAA,EAAS,OAAO,EAEhF,SAAAD,CAAA,CAAA,EAEL,EACAgB,EAACD,EAAiB,OAAjB,CAAwB,UAAWL,EAClC,SAAAI,EAACC,EAAiB,QAAjB,CACC,UAAWE,EACT,iHACAhB,GAAA,YAAAA,EAAS,OAAA,EAEX,WAAAC,EACA,YAAAC,EACA,gBAAAI,EACA,aAAAE,EACA,MAAAL,EACA,KAAAC,EACC,GAAGQ,EAEH,SAAA,CAAAL,EAEAG,GACCK,EAACD,EAAiB,MAAjB,CACC,aAAW,QACX,UAAWE,EAAG,wEAAyEhB,GAAA,YAAAA,EAAS,YAAY,EAE5G,SAAAe,EAACE,EAAA,CACC,KAAK,gBACL,UAAWD,EACT,gGACAhB,GAAA,YAAAA,EAAS,SAAA,CACX,CAAA,CACF,CAAA,EAGHW,GAAaI,EAACD,EAAiB,MAAjB,CAAuB,MAAO,GAAI,OAAQ,EAAG,UAAWE,EAAG,aAAchB,GAAA,YAAAA,EAAS,SAAS,CAAA,CAAG,CAAA,CAAA,CAAA,CAC/G,CACF,CAAA,EACF"}
1
+ {"version":3,"file":"Popover.js","sources":["../../../../../lib/shared/ui/popover/Popover.tsx"],"sourcesContent":["'use client'\n\nimport type { ReactElement, ReactNode } from 'react'\nimport type { PopoverContentProps as PopoverContentPropsBase } from '@radix-ui/react-popover'\nimport * as PopoverPrimitive from '@radix-ui/react-popover'\nimport { Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\ntype PopoverClasses = {\n root?: string\n content?: string\n trigger?: string\n arrowIcon?: string\n closeIcon?: string\n closeTrigger?: string\n}\n\ninterface PopoverContentProps extends PopoverContentPropsBase {\n sideOffset?: number\n alignOffset?: number\n align?: 'end' | 'center' | 'start'\n side?: 'top' | 'right' | 'bottom' | 'left'\n defaultOpen?: boolean\n avoidCollisions?: boolean\n withCloseBtn?: boolean\n withArrow?: boolean\n}\n\nexport interface PopoverProps extends PopoverContentProps {\n triggerElement: ReactElement\n children: ReactNode\n classes?: PopoverClasses\n portalContainer?: PopoverPrimitive.PopoverPortalProps['container']\n}\n\nexport const Popover = ({\n triggerElement,\n classes,\n sideOffset = 4,\n alignOffset,\n align,\n side,\n defaultOpen = false,\n avoidCollisions = true,\n children,\n arrowPadding,\n portalContainer,\n withCloseBtn = true,\n withArrow = true,\n ...contentProps\n}: PopoverProps) => {\n return (\n <PopoverPrimitive.Root defaultOpen={defaultOpen}>\n <div className={cn('flex w-max items-center gap-2', classes?.root)}>\n <PopoverPrimitive.Trigger\n aria-label='tooltip'\n className={cn('flex cursor-pointer items-center justify-center', classes?.trigger)}\n >\n {triggerElement}\n </PopoverPrimitive.Trigger>\n </div>\n <PopoverPrimitive.Portal container={portalContainer}>\n <PopoverPrimitive.Content\n className={cn(\n 'desk-body-regular-m flex w-fit max-w-64 items-start gap-2 rounded-sm bg-color-white p-4 shadow-sm outline-none',\n classes?.content\n )}\n sideOffset={sideOffset}\n alignOffset={alignOffset}\n avoidCollisions={avoidCollisions}\n arrowPadding={arrowPadding}\n align={align}\n side={side}\n {...contentProps}\n >\n {children}\n\n {withCloseBtn && (\n <PopoverPrimitive.Close\n aria-label='Close'\n className={cn('flex size-5 items-center justify-center outline-0 outline-transparent', classes?.closeTrigger)}\n >\n <Icon\n name='general/close'\n className={cn(\n 'size-5 cursor-pointer text-icon-blue-grey-600 transition-colors hover:text-icon-blue-grey-800',\n classes?.closeIcon\n )}\n />\n </PopoverPrimitive.Close>\n )}\n {withArrow && <PopoverPrimitive.Arrow width={12} height={6} className={cn('fill-white', classes?.arrowIcon)} />}\n </PopoverPrimitive.Content>\n </PopoverPrimitive.Portal>\n </PopoverPrimitive.Root>\n )\n}\n"],"names":["Popover","triggerElement","classes","sideOffset","alignOffset","align","side","defaultOpen","avoidCollisions","children","arrowPadding","portalContainer","withCloseBtn","withArrow","contentProps","jsxs","PopoverPrimitive","jsx","cn","Icon"],"mappings":"soEAmCO,MAAMA,GAAU,CAAC,CACtB,eAAAC,EACA,QAAAC,EACA,WAAAC,EAAa,EACb,YAAAC,EACA,MAAAC,EACA,KAAAC,EACA,YAAAC,EAAc,GACd,gBAAAC,EAAkB,GAClB,SAAAC,EACA,aAAAC,EACA,gBAAAC,EACA,aAAAC,EAAe,GACf,UAAAC,EAAY,GACZ,GAAGC,CACL,IAEIC,EAACC,EAAiB,KAAjB,CAAsB,YAAAT,EACrB,SAAA,CAAAU,EAAC,OAAI,UAAWC,EAAG,gCAAiChB,GAAA,YAAAA,EAAS,IAAI,EAC/D,SAAAe,EAACD,EAAiB,QAAjB,CACC,aAAW,UACX,UAAWE,EAAG,kDAAmDhB,GAAA,YAAAA,EAAS,OAAO,EAEhF,SAAAD,CAAA,CAAA,EAEL,EACAgB,EAACD,EAAiB,OAAjB,CAAwB,UAAWL,EAClC,SAAAI,EAACC,EAAiB,QAAjB,CACC,UAAWE,EACT,iHACAhB,GAAA,YAAAA,EAAS,OAAA,EAEX,WAAAC,EACA,YAAAC,EACA,gBAAAI,EACA,aAAAE,EACA,MAAAL,EACA,KAAAC,EACC,GAAGQ,EAEH,SAAA,CAAAL,EAEAG,GACCK,EAACD,EAAiB,MAAjB,CACC,aAAW,QACX,UAAWE,EAAG,wEAAyEhB,GAAA,YAAAA,EAAS,YAAY,EAE5G,SAAAe,EAACE,EAAA,CACC,KAAK,gBACL,UAAWD,EACT,gGACAhB,GAAA,YAAAA,EAAS,SAAA,CACX,CAAA,CACF,CAAA,EAGHW,GAAaI,EAACD,EAAiB,MAAjB,CAAuB,MAAO,GAAI,OAAQ,EAAG,UAAWE,EAAG,aAAchB,GAAA,YAAAA,EAAS,SAAS,CAAA,CAAG,CAAA,CAAA,CAAA,CAC/G,CACF,CAAA,EACF"}
@@ -1,2 +1,2 @@
1
- import{jsxs as u,jsx as r}from"react/jsx-runtime";import{flexRender as f}from"@tanstack/react-table";import{TablePagination as N}from"./TablePagination.js";import{Table as P,TableHeader as T,TableRow as l,TableHead as R,TableBody as S,TableCell as h}from"./ui/primitives/Primitives.js";import"react";import{cn as p}from"../../utils/cn.js";import"uuid";import"react-hook-form";import"@hookform/resolvers";import"../button/Button.js";import"../button/model/helpers.js";import"../buttonIcon/ButtonIcon.js";import"../loader/model/helpers.js";import"../calendar/Calendar.js";import"../calendar/model/utils.js";import"../accordion/Accordion.js";import"@radix-ui/react-tooltip";import"@radix-ui/react-popover";import"@radix-ui/react-tabs";import"react-dom";import"framer-motion";import"../modal/ui/IframeModalContent.js";import"react-hot-toast";import"../notification/ui/CustomToast.js";import"../heading/Heading.js";import"embla-carousel-autoplay";import"embla-carousel-react";import"../carousel/ui/CarouselContent.js";import"../customLink/model/helpers.js";import"../slot/Slot.js";import"../formElements/uncontrolled/autocomplete/Autocomplete.js";import"../formElements/uncontrolled/checkbox/Checkbox.js";import"../formElements/uncontrolled/combobox/combobox.js";import"../formElements/uncontrolled/dayPicker/DayPicker.js";import"../formElements/uncontrolled/input/Input.js";import"../formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../formElements/uncontrolled/maskInput/MaskInput.js";import"../formElements/uncontrolled/radio/RadioGroup.js";import"../formElements/uncontrolled/radio/ui/RadioItem.js";import"@radix-ui/react-radio-group";import"../formElements/uncontrolled/slider/SliderBase.js";import"../formElements/uncontrolled/switch/Switch.js";import"../formElements/uncontrolled/textarea/Textarea.js";import"../formElements/uncontrolled/uploader/UploaderBase.js";import"../formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../formElements/ui/MessageView.js";import"@tanstack/react-query";import"../../../../src/configs/api.js";import"@floating-ui/react";import"date-fns";import"../formElements/controlled/editor/ui/Editor.js";import"../formElements/controlled/input/MaskInputControl.js";import"classnames";import"../dropdownList/ui/dropdownItem/DropdownItem.js";const Ho=({mode:m,enableHeaders:b,table:t,classes:o,pagination:n,empty:x="Ничего не найдено"})=>{const w=n!==!1&&t.getPageCount()>1,g={pageCount:t.getPageCount(),rowsCount:t.getCoreRowModel().rows.length,pageSize:t.getState().pagination.pageSize,page:t.getState().pagination.pageIndex+1,onPageIndexChange:t.setPageIndex,classes:o==null?void 0:o.pagination};return u("div",{className:p("flex w-full flex-col gap-y-4",o==null?void 0:o.root),children:[u(P,{className:p("w-full",o==null?void 0:o.table),children:[b&&r(T,{className:"px-2",children:t.getHeaderGroups().map(e=>r(l,{className:p("w-full",{"border-b border-b-[rgba(234,237,241,1)]":m==="solid"},o==null?void 0:o.tableHeader),children:e.headers.map(i=>r(R,{className:p("py-3",{"px-2":m==="odd"},o==null?void 0:o.tableHead),children:i.isPlaceholder?null:f(i.column.columnDef.header,i.getContext())},i.id))},e.id))}),r(S,{children:t.getRowModel().rows.length?t.getRowModel().rows.map((e,i)=>r(l,{className:p("w-full",{"[&:not(:last-child)]:border-b [&:not(:last-child)]:border-b-[rgba(234,237,241,1)]":m==="solid","[&:nth-child(odd)]:bg-color-primary-light-default":m==="odd"},o==null?void 0:o.tableRow),children:e.getVisibleCells().map((d,C)=>{const a=d.getContext(),y=a.column.getSize();return r(h,{style:{width:y},className:p("py-3",{"px-3":m==="odd","font-medium":C!==0},o==null?void 0:o.tableCell),children:f(d.column.columnDef.cell,{...a,rowIndex:i})},d.id)})},e.id)):r(l,{children:r(h,{className:"py-4 text-center",colSpan:t.getAllColumns().length,children:x})})})]}),typeof n=="function"?n(g):w?r(N,{...g}):null]})};export{Ho as Desktop};
1
+ import{jsxs as u,jsx as r}from"react/jsx-runtime";import{flexRender as f}from"@tanstack/react-table";import{TablePagination as N}from"./TablePagination.js";import{Table as P,TableHeader as T,TableRow as l,TableHead as R,TableBody as S,TableCell as h}from"./ui/primitives/Primitives.js";import"react";import{cn as p}from"../../utils/cn.js";import"uuid";import"react-hook-form";import"@hookform/resolvers/zod";import"../button/Button.js";import"../button/model/helpers.js";import"../buttonIcon/ButtonIcon.js";import"../loader/model/helpers.js";import"../calendar/Calendar.js";import"../calendar/model/utils.js";import"../accordion/Accordion.js";import"@radix-ui/react-tooltip";import"@radix-ui/react-popover";import"@radix-ui/react-tabs";import"react-dom";import"framer-motion";import"../modal/ui/IframeModalContent.js";import"react-hot-toast";import"../notification/ui/CustomToast.js";import"../heading/Heading.js";import"embla-carousel-autoplay";import"embla-carousel-react";import"../carousel/ui/CarouselContent.js";import"../customLink/model/helpers.js";import"../slot/Slot.js";import"../formElements/uncontrolled/autocomplete/Autocomplete.js";import"../formElements/uncontrolled/checkbox/Checkbox.js";import"../formElements/uncontrolled/combobox/combobox.js";import"../formElements/uncontrolled/dayPicker/DayPicker.js";import"../formElements/uncontrolled/input/Input.js";import"../formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../formElements/uncontrolled/maskInput/MaskInput.js";import"../formElements/uncontrolled/radio/RadioGroup.js";import"../formElements/uncontrolled/radio/ui/RadioItem.js";import"@radix-ui/react-radio-group";import"../formElements/uncontrolled/slider/SliderBase.js";import"../formElements/uncontrolled/switch/Switch.js";import"../formElements/uncontrolled/textarea/Textarea.js";import"../formElements/uncontrolled/uploader/UploaderBase.js";import"../formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../formElements/ui/MessageView.js";import"@tanstack/react-query";import"../../../../src/configs/api.js";import"@floating-ui/react";import"date-fns";import"../formElements/controlled/editor/ui/Editor.js";import"../formElements/controlled/input/MaskInputControl.js";import"classnames";import"../dropdownList/ui/dropdownItem/DropdownItem.js";const Ho=({mode:m,enableHeaders:b,table:t,classes:o,pagination:n,empty:x="Ничего не найдено"})=>{const w=n!==!1&&t.getPageCount()>1,g={pageCount:t.getPageCount(),rowsCount:t.getCoreRowModel().rows.length,pageSize:t.getState().pagination.pageSize,page:t.getState().pagination.pageIndex+1,onPageIndexChange:t.setPageIndex,classes:o==null?void 0:o.pagination};return u("div",{className:p("flex w-full flex-col gap-y-4",o==null?void 0:o.root),children:[u(P,{className:p("w-full",o==null?void 0:o.table),children:[b&&r(T,{className:"px-2",children:t.getHeaderGroups().map(e=>r(l,{className:p("w-full",{"border-b border-b-[rgba(234,237,241,1)]":m==="solid"},o==null?void 0:o.tableHeader),children:e.headers.map(i=>r(R,{className:p("py-3",{"px-2":m==="odd"},o==null?void 0:o.tableHead),children:i.isPlaceholder?null:f(i.column.columnDef.header,i.getContext())},i.id))},e.id))}),r(S,{children:t.getRowModel().rows.length?t.getRowModel().rows.map((e,i)=>r(l,{className:p("w-full",{"[&:not(:last-child)]:border-b [&:not(:last-child)]:border-b-[rgba(234,237,241,1)]":m==="solid","[&:nth-child(odd)]:bg-color-primary-light-default":m==="odd"},o==null?void 0:o.tableRow),children:e.getVisibleCells().map((d,C)=>{const a=d.getContext(),y=a.column.getSize();return r(h,{style:{width:y},className:p("py-3",{"px-3":m==="odd","font-medium":C!==0},o==null?void 0:o.tableCell),children:f(d.column.columnDef.cell,{...a,rowIndex:i})},d.id)})},e.id)):r(l,{children:r(h,{className:"py-4 text-center",colSpan:t.getAllColumns().length,children:x})})})]}),typeof n=="function"?n(g):w?r(N,{...g}):null]})};export{Ho as Desktop};
2
2
  //# sourceMappingURL=Desktop.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Desktop.js","sources":["../../../../../lib/shared/ui/table/Desktop.tsx"],"sourcesContent":["import { flexRender, type Table as TTable } from '@tanstack/react-table'\nimport type { DataTableProps } from './model'\nimport { TablePagination } from './TablePagination'\nimport { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from './ui'\nimport { cn } from '$/shared/utils'\n\ntype DesktopTableProps<TData extends {}> = Pick<\n DataTableProps<TData>,\n 'enableHeaders' | 'classes' | 'mode' | 'pagination' | 'empty'\n> & {\n table: TTable<TData>\n}\n\nexport const Desktop = <TData extends {}>({\n mode,\n enableHeaders,\n table,\n classes,\n pagination,\n empty = 'Ничего не найдено'\n}: DesktopTableProps<TData>) => {\n const paginationEnabled = pagination !== false && table.getPageCount() > 1\n\n const paginationProps = {\n pageCount: table.getPageCount(),\n rowsCount: table.getCoreRowModel().rows.length,\n pageSize: table.getState().pagination.pageSize,\n page: table.getState().pagination.pageIndex + 1,\n onPageIndexChange: table.setPageIndex,\n classes: classes?.pagination\n }\n\n return (\n <div className={cn('flex w-full flex-col gap-y-4', classes?.root)}>\n <Table className={cn('w-full', classes?.table)}>\n {enableHeaders && (\n <TableHeader className='px-2'>\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow\n key={headerGroup.id}\n className={cn(\n 'w-full',\n {\n 'border-b border-b-[rgba(234,237,241,1)]': mode === 'solid'\n },\n classes?.tableHeader\n )}\n >\n {headerGroup.headers.map((header) => (\n <TableHead\n key={header.id}\n className={cn(\n 'py-3',\n {\n 'px-2': mode === 'odd'\n },\n classes?.tableHead\n )}\n >\n {header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext())}\n </TableHead>\n ))}\n </TableRow>\n ))}\n </TableHeader>\n )}\n <TableBody>\n {table.getRowModel().rows.length ? (\n table.getRowModel().rows.map((row, rowIndex) => (\n <TableRow\n key={row.id}\n className={cn(\n 'w-full',\n {\n '[&:not(:last-child)]:border-b [&:not(:last-child)]:border-b-[rgba(234,237,241,1)]': mode === 'solid',\n '[&:nth-child(odd)]:bg-color-primary-light-default': mode === 'odd'\n },\n classes?.tableRow\n )}\n >\n {row.getVisibleCells().map((cell, cellIndex) => {\n const cellContext = cell.getContext()\n const size = cellContext.column.getSize()\n\n return (\n <TableCell\n key={cell.id}\n style={{ width: size }}\n className={cn(\n 'py-3',\n {\n 'px-3': mode === 'odd',\n 'font-medium': cellIndex !== 0\n },\n classes?.tableCell\n )}\n >\n {flexRender(cell.column.columnDef.cell, { ...cellContext, rowIndex })}\n </TableCell>\n )\n })}\n </TableRow>\n ))\n ) : (\n <TableRow>\n <TableCell className='py-4 text-center' colSpan={table.getAllColumns().length}>\n {empty}\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n {typeof pagination === 'function' ? (\n pagination(paginationProps)\n ) : paginationEnabled ? (\n <TablePagination {...paginationProps} />\n ) : null}\n </div>\n )\n}\n"],"names":["Desktop","mode","enableHeaders","table","classes","pagination","empty","paginationEnabled","paginationProps","cn","jsxs","Table","jsx","TableHeader","headerGroup","TableRow","header","TableHead","flexRender","TableBody","row","rowIndex","cell","cellIndex","cellContext","size","TableCell","TablePagination"],"mappings":"kvEAaO,MAAMA,GAAU,CAAmB,CACxC,KAAAC,EACA,cAAAC,EACA,MAAAC,EACA,QAAAC,EACA,WAAAC,EACA,MAAAC,EAAQ,mBACV,IAAgC,CAC9B,MAAMC,EAAoBF,IAAe,IAASF,EAAM,eAAiB,EAEnEK,EAAkB,CACtB,UAAWL,EAAM,aAAA,EACjB,UAAWA,EAAM,gBAAA,EAAkB,KAAK,OACxC,SAAUA,EAAM,SAAA,EAAW,WAAW,SACtC,KAAMA,EAAM,SAAA,EAAW,WAAW,UAAY,EAC9C,kBAAmBA,EAAM,aACzB,QAASC,GAAA,YAAAA,EAAS,UAAA,EAGpB,SACG,MAAA,CAAI,UAAWK,EAAG,+BAAgCL,GAAA,YAAAA,EAAS,IAAI,EAC9D,SAAA,CAAAM,EAACC,GAAM,UAAWF,EAAG,SAAUL,GAAA,YAAAA,EAAS,KAAK,EAC1C,SAAA,CAAAF,GACCU,EAACC,GAAY,UAAU,OACpB,WAAM,gBAAA,EAAkB,IAAKC,GAC5BF,EAACG,EAAA,CAEC,UAAWN,EACT,SACA,CACE,0CAA2CR,IAAS,OAAA,EAEtDG,GAAA,YAAAA,EAAS,WAAA,EAGV,SAAAU,EAAY,QAAQ,IAAKE,GACxBJ,EAACK,EAAA,CAEC,UAAWR,EACT,OACA,CACE,OAAQR,IAAS,KAAA,EAEnBG,GAAA,YAAAA,EAAS,SAAA,EAGV,SAAAY,EAAO,cAAgB,KAAOE,EAAWF,EAAO,OAAO,UAAU,OAAQA,EAAO,WAAA,CAAY,CAAA,EATxFA,EAAO,EAAA,CAWf,CAAA,EAtBIF,EAAY,EAAA,CAwBpB,EACH,EAEFF,EAACO,EAAA,CACE,SAAAhB,EAAM,YAAA,EAAc,KAAK,OACxBA,EAAM,YAAA,EAAc,KAAK,IAAI,CAACiB,EAAKC,IACjCT,EAACG,EAAA,CAEC,UAAWN,EACT,SACA,CACE,oFAAqFR,IAAS,QAC9F,oDAAqDA,IAAS,KAAA,EAEhEG,GAAA,YAAAA,EAAS,QAAA,EAGV,WAAI,gBAAA,EAAkB,IAAI,CAACkB,EAAMC,IAAc,CAC9C,MAAMC,EAAcF,EAAK,WAAA,EACnBG,EAAOD,EAAY,OAAO,QAAA,EAEhC,OACEZ,EAACc,EAAA,CAEC,MAAO,CAAE,MAAOD,CAAA,EAChB,UAAWhB,EACT,OACA,CACE,OAAQR,IAAS,MACjB,cAAesB,IAAc,CAAA,EAE/BnB,GAAA,YAAAA,EAAS,SAAA,EAGV,SAAAc,EAAWI,EAAK,OAAO,UAAU,KAAM,CAAE,GAAGE,EAAa,SAAAH,CAAA,CAAU,CAAA,EAX/DC,EAAK,EAAA,CAchB,CAAC,CAAA,EA9BIF,EAAI,EAAA,CAgCZ,EAEDR,EAACG,EAAA,CACC,WAACW,EAAA,CAAU,UAAU,mBAAmB,QAASvB,EAAM,gBAAgB,OACpE,SAAAG,CAAA,CACH,EACF,CAAA,CAEJ,CAAA,EACF,EACC,OAAOD,GAAe,WACrBA,EAAWG,CAAe,EACxBD,EACFK,EAACe,EAAA,CAAiB,GAAGnB,CAAA,CAAiB,EACpC,IAAA,EACN,CAEJ"}
1
+ {"version":3,"file":"Desktop.js","sources":["../../../../../lib/shared/ui/table/Desktop.tsx"],"sourcesContent":["import { flexRender, type Table as TTable } from '@tanstack/react-table'\nimport type { DataTableProps } from './model'\nimport { TablePagination } from './TablePagination'\nimport { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from './ui'\nimport { cn } from '$/shared/utils'\n\ntype DesktopTableProps<TData extends {}> = Pick<\n DataTableProps<TData>,\n 'enableHeaders' | 'classes' | 'mode' | 'pagination' | 'empty'\n> & {\n table: TTable<TData>\n}\n\nexport const Desktop = <TData extends {}>({\n mode,\n enableHeaders,\n table,\n classes,\n pagination,\n empty = 'Ничего не найдено'\n}: DesktopTableProps<TData>) => {\n const paginationEnabled = pagination !== false && table.getPageCount() > 1\n\n const paginationProps = {\n pageCount: table.getPageCount(),\n rowsCount: table.getCoreRowModel().rows.length,\n pageSize: table.getState().pagination.pageSize,\n page: table.getState().pagination.pageIndex + 1,\n onPageIndexChange: table.setPageIndex,\n classes: classes?.pagination\n }\n\n return (\n <div className={cn('flex w-full flex-col gap-y-4', classes?.root)}>\n <Table className={cn('w-full', classes?.table)}>\n {enableHeaders && (\n <TableHeader className='px-2'>\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow\n key={headerGroup.id}\n className={cn(\n 'w-full',\n {\n 'border-b border-b-[rgba(234,237,241,1)]': mode === 'solid'\n },\n classes?.tableHeader\n )}\n >\n {headerGroup.headers.map((header) => (\n <TableHead\n key={header.id}\n className={cn(\n 'py-3',\n {\n 'px-2': mode === 'odd'\n },\n classes?.tableHead\n )}\n >\n {header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext())}\n </TableHead>\n ))}\n </TableRow>\n ))}\n </TableHeader>\n )}\n <TableBody>\n {table.getRowModel().rows.length ? (\n table.getRowModel().rows.map((row, rowIndex) => (\n <TableRow\n key={row.id}\n className={cn(\n 'w-full',\n {\n '[&:not(:last-child)]:border-b [&:not(:last-child)]:border-b-[rgba(234,237,241,1)]': mode === 'solid',\n '[&:nth-child(odd)]:bg-color-primary-light-default': mode === 'odd'\n },\n classes?.tableRow\n )}\n >\n {row.getVisibleCells().map((cell, cellIndex) => {\n const cellContext = cell.getContext()\n const size = cellContext.column.getSize()\n\n return (\n <TableCell\n key={cell.id}\n style={{ width: size }}\n className={cn(\n 'py-3',\n {\n 'px-3': mode === 'odd',\n 'font-medium': cellIndex !== 0\n },\n classes?.tableCell\n )}\n >\n {flexRender(cell.column.columnDef.cell, { ...cellContext, rowIndex })}\n </TableCell>\n )\n })}\n </TableRow>\n ))\n ) : (\n <TableRow>\n <TableCell className='py-4 text-center' colSpan={table.getAllColumns().length}>\n {empty}\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n {typeof pagination === 'function' ? (\n pagination(paginationProps)\n ) : paginationEnabled ? (\n <TablePagination {...paginationProps} />\n ) : null}\n </div>\n )\n}\n"],"names":["Desktop","mode","enableHeaders","table","classes","pagination","empty","paginationEnabled","paginationProps","cn","jsxs","Table","jsx","TableHeader","headerGroup","TableRow","header","TableHead","flexRender","TableBody","row","rowIndex","cell","cellIndex","cellContext","size","TableCell","TablePagination"],"mappings":"svEAaO,MAAMA,GAAU,CAAmB,CACxC,KAAAC,EACA,cAAAC,EACA,MAAAC,EACA,QAAAC,EACA,WAAAC,EACA,MAAAC,EAAQ,mBACV,IAAgC,CAC9B,MAAMC,EAAoBF,IAAe,IAASF,EAAM,eAAiB,EAEnEK,EAAkB,CACtB,UAAWL,EAAM,aAAA,EACjB,UAAWA,EAAM,gBAAA,EAAkB,KAAK,OACxC,SAAUA,EAAM,SAAA,EAAW,WAAW,SACtC,KAAMA,EAAM,SAAA,EAAW,WAAW,UAAY,EAC9C,kBAAmBA,EAAM,aACzB,QAASC,GAAA,YAAAA,EAAS,UAAA,EAGpB,SACG,MAAA,CAAI,UAAWK,EAAG,+BAAgCL,GAAA,YAAAA,EAAS,IAAI,EAC9D,SAAA,CAAAM,EAACC,GAAM,UAAWF,EAAG,SAAUL,GAAA,YAAAA,EAAS,KAAK,EAC1C,SAAA,CAAAF,GACCU,EAACC,GAAY,UAAU,OACpB,WAAM,gBAAA,EAAkB,IAAKC,GAC5BF,EAACG,EAAA,CAEC,UAAWN,EACT,SACA,CACE,0CAA2CR,IAAS,OAAA,EAEtDG,GAAA,YAAAA,EAAS,WAAA,EAGV,SAAAU,EAAY,QAAQ,IAAKE,GACxBJ,EAACK,EAAA,CAEC,UAAWR,EACT,OACA,CACE,OAAQR,IAAS,KAAA,EAEnBG,GAAA,YAAAA,EAAS,SAAA,EAGV,SAAAY,EAAO,cAAgB,KAAOE,EAAWF,EAAO,OAAO,UAAU,OAAQA,EAAO,WAAA,CAAY,CAAA,EATxFA,EAAO,EAAA,CAWf,CAAA,EAtBIF,EAAY,EAAA,CAwBpB,EACH,EAEFF,EAACO,EAAA,CACE,SAAAhB,EAAM,YAAA,EAAc,KAAK,OACxBA,EAAM,YAAA,EAAc,KAAK,IAAI,CAACiB,EAAKC,IACjCT,EAACG,EAAA,CAEC,UAAWN,EACT,SACA,CACE,oFAAqFR,IAAS,QAC9F,oDAAqDA,IAAS,KAAA,EAEhEG,GAAA,YAAAA,EAAS,QAAA,EAGV,WAAI,gBAAA,EAAkB,IAAI,CAACkB,EAAMC,IAAc,CAC9C,MAAMC,EAAcF,EAAK,WAAA,EACnBG,EAAOD,EAAY,OAAO,QAAA,EAEhC,OACEZ,EAACc,EAAA,CAEC,MAAO,CAAE,MAAOD,CAAA,EAChB,UAAWhB,EACT,OACA,CACE,OAAQR,IAAS,MACjB,cAAesB,IAAc,CAAA,EAE/BnB,GAAA,YAAAA,EAAS,SAAA,EAGV,SAAAc,EAAWI,EAAK,OAAO,UAAU,KAAM,CAAE,GAAGE,EAAa,SAAAH,CAAA,CAAU,CAAA,EAX/DC,EAAK,EAAA,CAchB,CAAC,CAAA,EA9BIF,EAAI,EAAA,CAgCZ,EAEDR,EAACG,EAAA,CACC,WAACW,EAAA,CAAU,UAAU,mBAAmB,QAASvB,EAAM,gBAAgB,OACpE,SAAAG,CAAA,CACH,EACF,CAAA,CAEJ,CAAA,EACF,EACC,OAAOD,GAAe,WACrBA,EAAWG,CAAe,EACxBD,EACFK,EAACe,EAAA,CAAiB,GAAGnB,CAAA,CAAiB,EACpC,IAAA,EACN,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{jsxs as h,jsx as e}from"react/jsx-runtime";import{useRef as T,useState as v,useLayoutEffect as E}from"react";import{flexRender as w}from"@tanstack/react-table";import{TablePagination as H}from"./TablePagination.js";import{Table as M,TableBody as z,TableRow as x,TableHead as I,TableCell as b}from"./ui/primitives/Primitives.js";import{cn as m}from"../../utils/cn.js";import"uuid";import"react-hook-form";import"@hookform/resolvers";import"../button/Button.js";import"../button/model/helpers.js";import"../buttonIcon/ButtonIcon.js";import"../loader/model/helpers.js";import"../calendar/Calendar.js";import"../calendar/model/utils.js";import"../accordion/Accordion.js";import"@radix-ui/react-tooltip";import"@radix-ui/react-popover";import"@radix-ui/react-tabs";import"react-dom";import"framer-motion";import"../modal/ui/IframeModalContent.js";import"react-hot-toast";import"../notification/ui/CustomToast.js";import"../heading/Heading.js";import"embla-carousel-autoplay";import"embla-carousel-react";import"../carousel/ui/CarouselContent.js";import"../customLink/model/helpers.js";import"../slot/Slot.js";import"../formElements/uncontrolled/autocomplete/Autocomplete.js";import"../formElements/uncontrolled/checkbox/Checkbox.js";import"../formElements/uncontrolled/combobox/combobox.js";import"../formElements/uncontrolled/dayPicker/DayPicker.js";import"../formElements/uncontrolled/input/Input.js";import"../formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../formElements/uncontrolled/maskInput/MaskInput.js";import"../formElements/uncontrolled/radio/RadioGroup.js";import"../formElements/uncontrolled/radio/ui/RadioItem.js";import"@radix-ui/react-radio-group";import"../formElements/uncontrolled/slider/SliderBase.js";import"../formElements/uncontrolled/switch/Switch.js";import"../formElements/uncontrolled/textarea/Textarea.js";import"../formElements/uncontrolled/uploader/UploaderBase.js";import"../formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../formElements/ui/MessageView.js";import"@tanstack/react-query";import"../../../../src/configs/api.js";import"@floating-ui/react";import"date-fns";import"../formElements/controlled/editor/ui/Editor.js";import"../formElements/controlled/input/MaskInputControl.js";import"classnames";import"../dropdownList/ui/dropdownItem/DropdownItem.js";const jt=({mode:p,enableHeaders:C,table:o,classes:t,pagination:d,empty:y="Ничего не найдено"})=>{const l=T(null),[N,R]=v(!1);E(()=>{if(!l.current)return;const i=l.current,r=new AbortController;return l.current.addEventListener("scroll",()=>{const n=i.scrollLeft;R(n!==0)},{signal:r.signal}),()=>{r.abort()}},[]);const S=d!==!1&&o.getPageCount()>1,g={pageCount:o.getPageCount(),rowsCount:o.getCoreRowModel().rows.length,pageSize:o.getState().pagination.pageSize,page:o.getState().pagination.pageIndex+1,onPageIndexChange:o.setPageIndex,classes:t==null?void 0:t.pagination},u=o.getRowModel().rows,f=o.getAllLeafColumns(),c=new Map;return o.getHeaderGroups().forEach(i=>{i.headers.forEach(r=>{c.set(r.column.id,r)})}),h("div",{className:m("flex w-full flex-col gap-y-4",t==null?void 0:t.root),children:[e("div",{ref:l,className:"customScrollbar-y relative overflow-x-auto pb-2",children:e(M,{className:m("min-w-full",t==null?void 0:t.table),children:e(z,{children:f.length&&u.length?f.map((i,r)=>{const n=c.get(i.id);return h(x,{className:m("w-full",{"[&:not(:last-child)]:border-b":p==="solid"},t==null?void 0:t.tableRow),children:[C&&e(I,{className:m("sticky left-0 bg-color-white py-3 text-left text-color-tetriary desktop:whitespace-nowrap desktop:px-4 desktop:py-[17px]",{"px-3":p==="odd","bg-color-primary-light-default":p==="odd"&&r%2===0,"[&:not(:last-child)]:border-b-[rgba(234,237,241,1)]":p==="solid","drop-shadow-xl":N},t==null?void 0:t.tableHead),children:n&&w(n.column.columnDef.header,n.getContext())}),u.map((k,L)=>{const a=k.getVisibleCells().find(P=>P.column.id===i.id);return a?e(b,{className:m("whitespace-nowrap py-3",{"bg-color-primary-light-default":p==="odd"&&r%2===0,"font-medium":r!==0,"px-3 desktop:p-4 desktop:pl-5":p==="odd"},t==null?void 0:t.tableCell),children:w(a.column.columnDef.cell,{...a.getContext(),rowIndex:L})},a.id):null})]},i.id)}):e(x,{children:e(b,{className:"py-4 text-center",colSpan:f.length+1,children:y})})})})}),S?typeof d=="function"?d(g):e(H,{...g}):null]})};export{jt as Horizontal};
1
+ import{jsxs as h,jsx as e}from"react/jsx-runtime";import{useRef as T,useState as v,useLayoutEffect as E}from"react";import{flexRender as w}from"@tanstack/react-table";import{TablePagination as H}from"./TablePagination.js";import{Table as M,TableBody as z,TableRow as x,TableHead as I,TableCell as b}from"./ui/primitives/Primitives.js";import{cn as m}from"../../utils/cn.js";import"uuid";import"react-hook-form";import"@hookform/resolvers/zod";import"../button/Button.js";import"../button/model/helpers.js";import"../buttonIcon/ButtonIcon.js";import"../loader/model/helpers.js";import"../calendar/Calendar.js";import"../calendar/model/utils.js";import"../accordion/Accordion.js";import"@radix-ui/react-tooltip";import"@radix-ui/react-popover";import"@radix-ui/react-tabs";import"react-dom";import"framer-motion";import"../modal/ui/IframeModalContent.js";import"react-hot-toast";import"../notification/ui/CustomToast.js";import"../heading/Heading.js";import"embla-carousel-autoplay";import"embla-carousel-react";import"../carousel/ui/CarouselContent.js";import"../customLink/model/helpers.js";import"../slot/Slot.js";import"../formElements/uncontrolled/autocomplete/Autocomplete.js";import"../formElements/uncontrolled/checkbox/Checkbox.js";import"../formElements/uncontrolled/combobox/combobox.js";import"../formElements/uncontrolled/dayPicker/DayPicker.js";import"../formElements/uncontrolled/input/Input.js";import"../formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../formElements/uncontrolled/maskInput/MaskInput.js";import"../formElements/uncontrolled/radio/RadioGroup.js";import"../formElements/uncontrolled/radio/ui/RadioItem.js";import"@radix-ui/react-radio-group";import"../formElements/uncontrolled/slider/SliderBase.js";import"../formElements/uncontrolled/switch/Switch.js";import"../formElements/uncontrolled/textarea/Textarea.js";import"../formElements/uncontrolled/uploader/UploaderBase.js";import"../formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../formElements/ui/MessageView.js";import"@tanstack/react-query";import"../../../../src/configs/api.js";import"@floating-ui/react";import"date-fns";import"../formElements/controlled/editor/ui/Editor.js";import"../formElements/controlled/input/MaskInputControl.js";import"classnames";import"../dropdownList/ui/dropdownItem/DropdownItem.js";const jt=({mode:p,enableHeaders:C,table:o,classes:t,pagination:d,empty:y="Ничего не найдено"})=>{const l=T(null),[N,R]=v(!1);E(()=>{if(!l.current)return;const i=l.current,r=new AbortController;return l.current.addEventListener("scroll",()=>{const n=i.scrollLeft;R(n!==0)},{signal:r.signal}),()=>{r.abort()}},[]);const S=d!==!1&&o.getPageCount()>1,g={pageCount:o.getPageCount(),rowsCount:o.getCoreRowModel().rows.length,pageSize:o.getState().pagination.pageSize,page:o.getState().pagination.pageIndex+1,onPageIndexChange:o.setPageIndex,classes:t==null?void 0:t.pagination},u=o.getRowModel().rows,f=o.getAllLeafColumns(),c=new Map;return o.getHeaderGroups().forEach(i=>{i.headers.forEach(r=>{c.set(r.column.id,r)})}),h("div",{className:m("flex w-full flex-col gap-y-4",t==null?void 0:t.root),children:[e("div",{ref:l,className:"customScrollbar-y relative overflow-x-auto pb-2",children:e(M,{className:m("min-w-full",t==null?void 0:t.table),children:e(z,{children:f.length&&u.length?f.map((i,r)=>{const n=c.get(i.id);return h(x,{className:m("w-full",{"[&:not(:last-child)]:border-b":p==="solid"},t==null?void 0:t.tableRow),children:[C&&e(I,{className:m("sticky left-0 bg-color-white py-3 text-left text-color-tetriary desktop:whitespace-nowrap desktop:px-4 desktop:py-[17px]",{"px-3":p==="odd","bg-color-primary-light-default":p==="odd"&&r%2===0,"[&:not(:last-child)]:border-b-[rgba(234,237,241,1)]":p==="solid","drop-shadow-xl":N},t==null?void 0:t.tableHead),children:n&&w(n.column.columnDef.header,n.getContext())}),u.map((k,L)=>{const a=k.getVisibleCells().find(P=>P.column.id===i.id);return a?e(b,{className:m("whitespace-nowrap py-3",{"bg-color-primary-light-default":p==="odd"&&r%2===0,"font-medium":r!==0,"px-3 desktop:p-4 desktop:pl-5":p==="odd"},t==null?void 0:t.tableCell),children:w(a.column.columnDef.cell,{...a.getContext(),rowIndex:L})},a.id):null})]},i.id)}):e(x,{children:e(b,{className:"py-4 text-center",colSpan:f.length+1,children:y})})})})}),S?typeof d=="function"?d(g):e(H,{...g}):null]})};export{jt as Horizontal};
2
2
  //# sourceMappingURL=Horizontal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Horizontal.js","sources":["../../../../../lib/shared/ui/table/Horizontal.tsx"],"sourcesContent":["import { useLayoutEffect, useRef, useState } from 'react'\nimport { flexRender, type Header, type Table as TTable } from '@tanstack/react-table'\nimport type { DataTableProps } from './model'\nimport { TablePagination } from './TablePagination'\nimport { Table, TableBody, TableCell, TableHead, TableRow } from './ui'\nimport { cn } from '$/shared/utils'\n\ntype DesktopTableProps<TData extends {}> = Pick<\n DataTableProps<TData>,\n 'enableHeaders' | 'classes' | 'mode' | 'pagination' | 'empty'\n> & {\n table: TTable<TData>\n}\n\nexport const Horizontal = <TData extends {}>({\n mode,\n enableHeaders,\n table,\n classes,\n pagination,\n empty = 'Ничего не найдено'\n}: DesktopTableProps<TData>) => {\n const containerRef = useRef<HTMLDivElement>(null)\n const [hasLeftOffset, setLeftOffset] = useState<boolean>(false)\n\n useLayoutEffect(() => {\n if (!containerRef.current) return\n const container = containerRef.current\n\n const abortController = new AbortController()\n\n containerRef.current.addEventListener(\n 'scroll',\n () => {\n const offset = container.scrollLeft\n setLeftOffset(offset !== 0)\n },\n { signal: abortController.signal }\n )\n\n return () => {\n abortController.abort()\n }\n }, [])\n\n const paginationEnabled = pagination !== false && table.getPageCount() > 1\n\n const paginationProps = {\n pageCount: table.getPageCount(),\n rowsCount: table.getCoreRowModel().rows.length,\n pageSize: table.getState().pagination.pageSize,\n page: table.getState().pagination.pageIndex + 1,\n onPageIndexChange: table.setPageIndex,\n classes: classes?.pagination\n }\n\n const rows = table.getRowModel().rows\n const columns = table.getAllLeafColumns()\n\n // карта column.id -> header\n const headersMap = new Map<string, Header<TData, unknown>>()\n table.getHeaderGroups().forEach((group) => {\n group.headers.forEach((header) => {\n headersMap.set(header.column.id, header)\n })\n })\n\n return (\n <div className={cn('flex w-full flex-col gap-y-4', classes?.root)}>\n <div ref={containerRef} className='customScrollbar-y relative overflow-x-auto pb-2'>\n <Table className={cn('min-w-full', classes?.table)}>\n <TableBody>\n {columns.length && rows.length ? (\n columns.map((column, index) => {\n const header = headersMap.get(column.id)\n\n return (\n <TableRow\n key={column.id}\n className={cn(\n 'w-full',\n {\n '[&:not(:last-child)]:border-b': mode === 'solid'\n },\n classes?.tableRow\n )}\n >\n {enableHeaders && (\n <TableHead\n className={cn(\n 'sticky left-0 bg-color-white py-3 text-left text-color-tetriary desktop:whitespace-nowrap desktop:px-4 desktop:py-[17px]',\n {\n 'px-3': mode === 'odd',\n 'bg-color-primary-light-default': mode === 'odd' && index % 2 === 0,\n '[&:not(:last-child)]:border-b-[rgba(234,237,241,1)]': mode === 'solid',\n 'drop-shadow-xl': hasLeftOffset\n },\n classes?.tableHead\n )}\n >\n {header && flexRender(header.column.columnDef.header, header.getContext())}\n </TableHead>\n )}\n\n {rows.map((row, rowIndex) => {\n const cell = row.getVisibleCells().find((c) => c.column.id === column.id)\n if (!cell) return null\n\n return (\n <TableCell\n key={cell.id}\n className={cn(\n 'whitespace-nowrap py-3',\n {\n 'bg-color-primary-light-default': mode === 'odd' && index % 2 === 0,\n 'font-medium': index !== 0,\n 'px-3 desktop:p-4 desktop:pl-5': mode === 'odd'\n },\n classes?.tableCell\n )}\n >\n {flexRender(cell.column.columnDef.cell, {\n ...cell.getContext(),\n rowIndex\n })}\n </TableCell>\n )\n })}\n </TableRow>\n )\n })\n ) : (\n <TableRow>\n <TableCell className='py-4 text-center' colSpan={columns.length + 1}>\n {empty}\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n </div>\n\n {paginationEnabled ? (\n typeof pagination === 'function' ? (\n pagination(paginationProps)\n ) : (\n <TablePagination {...paginationProps} />\n )\n ) : null}\n </div>\n )\n}\n"],"names":["Horizontal","mode","enableHeaders","table","classes","pagination","empty","containerRef","useRef","hasLeftOffset","setLeftOffset","useState","useLayoutEffect","container","abortController","offset","paginationEnabled","paginationProps","rows","columns","headersMap","group","header","cn","jsx","Table","TableBody","column","index","jsxs","TableRow","TableHead","flexRender","row","rowIndex","cell","c","TableCell","TablePagination"],"mappings":"qxEAcO,MAAMA,GAAa,CAAmB,CAC3C,KAAAC,EACA,cAAAC,EACA,MAAAC,EACA,QAAAC,EACA,WAAAC,EACA,MAAAC,EAAQ,mBACV,IAAgC,CAC9B,MAAMC,EAAeC,EAAuB,IAAI,EAC1C,CAACC,EAAeC,CAAa,EAAIC,EAAkB,EAAK,EAE9DC,EAAgB,IAAM,CACpB,GAAI,CAACL,EAAa,QAAS,OAC3B,MAAMM,EAAYN,EAAa,QAEzBO,EAAkB,IAAI,gBAE5B,OAAAP,EAAa,QAAQ,iBACnB,SACA,IAAM,CACJ,MAAMQ,EAASF,EAAU,WACzBH,EAAcK,IAAW,CAAC,CAC5B,EACA,CAAE,OAAQD,EAAgB,MAAA,CAAO,EAG5B,IAAM,CACXA,EAAgB,MAAA,CAClB,CACF,EAAG,CAAA,CAAE,EAEL,MAAME,EAAoBX,IAAe,IAASF,EAAM,eAAiB,EAEnEc,EAAkB,CACtB,UAAWd,EAAM,aAAA,EACjB,UAAWA,EAAM,gBAAA,EAAkB,KAAK,OACxC,SAAUA,EAAM,SAAA,EAAW,WAAW,SACtC,KAAMA,EAAM,SAAA,EAAW,WAAW,UAAY,EAC9C,kBAAmBA,EAAM,aACzB,QAASC,GAAA,YAAAA,EAAS,UAAA,EAGdc,EAAOf,EAAM,YAAA,EAAc,KAC3BgB,EAAUhB,EAAM,kBAAA,EAGhBiB,MAAiB,IACvB,OAAAjB,EAAM,gBAAA,EAAkB,QAASkB,GAAU,CACzCA,EAAM,QAAQ,QAASC,GAAW,CAChCF,EAAW,IAAIE,EAAO,OAAO,GAAIA,CAAM,CACzC,CAAC,CACH,CAAC,IAGE,MAAA,CAAI,UAAWC,EAAG,+BAAgCnB,GAAA,YAAAA,EAAS,IAAI,EAC9D,SAAA,CAAAoB,EAAC,MAAA,CAAI,IAAKjB,EAAc,UAAU,kDAChC,SAAAiB,EAACC,EAAA,CAAM,UAAWF,EAAG,aAAcnB,GAAA,YAAAA,EAAS,KAAK,EAC/C,SAAAoB,EAACE,EAAA,CACE,SAAAP,EAAQ,QAAUD,EAAK,OACtBC,EAAQ,IAAI,CAACQ,EAAQC,IAAU,CAC7B,MAAMN,EAASF,EAAW,IAAIO,EAAO,EAAE,EAEvC,OACEE,EAACC,EAAA,CAEC,UAAWP,EACT,SACA,CACE,gCAAiCtB,IAAS,OAAA,EAE5CG,GAAA,YAAAA,EAAS,QAAA,EAGV,SAAA,CAAAF,GACCsB,EAACO,EAAA,CACC,UAAWR,EACT,2HACA,CACE,OAAQtB,IAAS,MACjB,iCAAkCA,IAAS,OAAS2B,EAAQ,IAAM,EAClE,sDAAuD3B,IAAS,QAChE,iBAAkBQ,CAAA,EAEpBL,GAAA,YAAAA,EAAS,SAAA,EAGV,SAAAkB,GAAUU,EAAWV,EAAO,OAAO,UAAU,OAAQA,EAAO,YAAY,CAAA,CAAA,EAI5EJ,EAAK,IAAI,CAACe,EAAKC,IAAa,CAC3B,MAAMC,EAAOF,EAAI,gBAAA,EAAkB,KAAMG,GAAMA,EAAE,OAAO,KAAOT,EAAO,EAAE,EACxE,OAAKQ,EAGHX,EAACa,EAAA,CAEC,UAAWd,EACT,yBACA,CACE,iCAAkCtB,IAAS,OAAS2B,EAAQ,IAAM,EAClE,cAAeA,IAAU,EACzB,gCAAiC3B,IAAS,KAAA,EAE5CG,GAAA,YAAAA,EAAS,SAAA,EAGV,SAAA4B,EAAWG,EAAK,OAAO,UAAU,KAAM,CACtC,GAAGA,EAAK,WAAA,EACR,SAAAD,CAAA,CACD,CAAA,EAdIC,EAAK,EAAA,EAJI,IAqBpB,CAAC,CAAA,CAAA,EAjDIR,EAAO,EAAA,CAoDlB,CAAC,EAEDH,EAACM,EAAA,CACC,SAAAN,EAACa,GAAU,UAAU,mBAAmB,QAASlB,EAAQ,OAAS,EAC/D,SAAAb,CAAA,CACH,EACF,CAAA,CAEJ,EACF,EACF,EAECU,EACC,OAAOX,GAAe,WACpBA,EAAWY,CAAe,EAE1BO,EAACc,EAAA,CAAiB,GAAGrB,CAAA,CAAiB,EAEtC,IAAA,EACN,CAEJ"}
1
+ {"version":3,"file":"Horizontal.js","sources":["../../../../../lib/shared/ui/table/Horizontal.tsx"],"sourcesContent":["import { useLayoutEffect, useRef, useState } from 'react'\nimport { flexRender, type Header, type Table as TTable } from '@tanstack/react-table'\nimport type { DataTableProps } from './model'\nimport { TablePagination } from './TablePagination'\nimport { Table, TableBody, TableCell, TableHead, TableRow } from './ui'\nimport { cn } from '$/shared/utils'\n\ntype DesktopTableProps<TData extends {}> = Pick<\n DataTableProps<TData>,\n 'enableHeaders' | 'classes' | 'mode' | 'pagination' | 'empty'\n> & {\n table: TTable<TData>\n}\n\nexport const Horizontal = <TData extends {}>({\n mode,\n enableHeaders,\n table,\n classes,\n pagination,\n empty = 'Ничего не найдено'\n}: DesktopTableProps<TData>) => {\n const containerRef = useRef<HTMLDivElement>(null)\n const [hasLeftOffset, setLeftOffset] = useState<boolean>(false)\n\n useLayoutEffect(() => {\n if (!containerRef.current) return\n const container = containerRef.current\n\n const abortController = new AbortController()\n\n containerRef.current.addEventListener(\n 'scroll',\n () => {\n const offset = container.scrollLeft\n setLeftOffset(offset !== 0)\n },\n { signal: abortController.signal }\n )\n\n return () => {\n abortController.abort()\n }\n }, [])\n\n const paginationEnabled = pagination !== false && table.getPageCount() > 1\n\n const paginationProps = {\n pageCount: table.getPageCount(),\n rowsCount: table.getCoreRowModel().rows.length,\n pageSize: table.getState().pagination.pageSize,\n page: table.getState().pagination.pageIndex + 1,\n onPageIndexChange: table.setPageIndex,\n classes: classes?.pagination\n }\n\n const rows = table.getRowModel().rows\n const columns = table.getAllLeafColumns()\n\n // карта column.id -> header\n const headersMap = new Map<string, Header<TData, unknown>>()\n table.getHeaderGroups().forEach((group) => {\n group.headers.forEach((header) => {\n headersMap.set(header.column.id, header)\n })\n })\n\n return (\n <div className={cn('flex w-full flex-col gap-y-4', classes?.root)}>\n <div ref={containerRef} className='customScrollbar-y relative overflow-x-auto pb-2'>\n <Table className={cn('min-w-full', classes?.table)}>\n <TableBody>\n {columns.length && rows.length ? (\n columns.map((column, index) => {\n const header = headersMap.get(column.id)\n\n return (\n <TableRow\n key={column.id}\n className={cn(\n 'w-full',\n {\n '[&:not(:last-child)]:border-b': mode === 'solid'\n },\n classes?.tableRow\n )}\n >\n {enableHeaders && (\n <TableHead\n className={cn(\n 'sticky left-0 bg-color-white py-3 text-left text-color-tetriary desktop:whitespace-nowrap desktop:px-4 desktop:py-[17px]',\n {\n 'px-3': mode === 'odd',\n 'bg-color-primary-light-default': mode === 'odd' && index % 2 === 0,\n '[&:not(:last-child)]:border-b-[rgba(234,237,241,1)]': mode === 'solid',\n 'drop-shadow-xl': hasLeftOffset\n },\n classes?.tableHead\n )}\n >\n {header && flexRender(header.column.columnDef.header, header.getContext())}\n </TableHead>\n )}\n\n {rows.map((row, rowIndex) => {\n const cell = row.getVisibleCells().find((c) => c.column.id === column.id)\n if (!cell) return null\n\n return (\n <TableCell\n key={cell.id}\n className={cn(\n 'whitespace-nowrap py-3',\n {\n 'bg-color-primary-light-default': mode === 'odd' && index % 2 === 0,\n 'font-medium': index !== 0,\n 'px-3 desktop:p-4 desktop:pl-5': mode === 'odd'\n },\n classes?.tableCell\n )}\n >\n {flexRender(cell.column.columnDef.cell, {\n ...cell.getContext(),\n rowIndex\n })}\n </TableCell>\n )\n })}\n </TableRow>\n )\n })\n ) : (\n <TableRow>\n <TableCell className='py-4 text-center' colSpan={columns.length + 1}>\n {empty}\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n </div>\n\n {paginationEnabled ? (\n typeof pagination === 'function' ? (\n pagination(paginationProps)\n ) : (\n <TablePagination {...paginationProps} />\n )\n ) : null}\n </div>\n )\n}\n"],"names":["Horizontal","mode","enableHeaders","table","classes","pagination","empty","containerRef","useRef","hasLeftOffset","setLeftOffset","useState","useLayoutEffect","container","abortController","offset","paginationEnabled","paginationProps","rows","columns","headersMap","group","header","cn","jsx","Table","TableBody","column","index","jsxs","TableRow","TableHead","flexRender","row","rowIndex","cell","c","TableCell","TablePagination"],"mappings":"yxEAcO,MAAMA,GAAa,CAAmB,CAC3C,KAAAC,EACA,cAAAC,EACA,MAAAC,EACA,QAAAC,EACA,WAAAC,EACA,MAAAC,EAAQ,mBACV,IAAgC,CAC9B,MAAMC,EAAeC,EAAuB,IAAI,EAC1C,CAACC,EAAeC,CAAa,EAAIC,EAAkB,EAAK,EAE9DC,EAAgB,IAAM,CACpB,GAAI,CAACL,EAAa,QAAS,OAC3B,MAAMM,EAAYN,EAAa,QAEzBO,EAAkB,IAAI,gBAE5B,OAAAP,EAAa,QAAQ,iBACnB,SACA,IAAM,CACJ,MAAMQ,EAASF,EAAU,WACzBH,EAAcK,IAAW,CAAC,CAC5B,EACA,CAAE,OAAQD,EAAgB,MAAA,CAAO,EAG5B,IAAM,CACXA,EAAgB,MAAA,CAClB,CACF,EAAG,CAAA,CAAE,EAEL,MAAME,EAAoBX,IAAe,IAASF,EAAM,eAAiB,EAEnEc,EAAkB,CACtB,UAAWd,EAAM,aAAA,EACjB,UAAWA,EAAM,gBAAA,EAAkB,KAAK,OACxC,SAAUA,EAAM,SAAA,EAAW,WAAW,SACtC,KAAMA,EAAM,SAAA,EAAW,WAAW,UAAY,EAC9C,kBAAmBA,EAAM,aACzB,QAASC,GAAA,YAAAA,EAAS,UAAA,EAGdc,EAAOf,EAAM,YAAA,EAAc,KAC3BgB,EAAUhB,EAAM,kBAAA,EAGhBiB,MAAiB,IACvB,OAAAjB,EAAM,gBAAA,EAAkB,QAASkB,GAAU,CACzCA,EAAM,QAAQ,QAASC,GAAW,CAChCF,EAAW,IAAIE,EAAO,OAAO,GAAIA,CAAM,CACzC,CAAC,CACH,CAAC,IAGE,MAAA,CAAI,UAAWC,EAAG,+BAAgCnB,GAAA,YAAAA,EAAS,IAAI,EAC9D,SAAA,CAAAoB,EAAC,MAAA,CAAI,IAAKjB,EAAc,UAAU,kDAChC,SAAAiB,EAACC,EAAA,CAAM,UAAWF,EAAG,aAAcnB,GAAA,YAAAA,EAAS,KAAK,EAC/C,SAAAoB,EAACE,EAAA,CACE,SAAAP,EAAQ,QAAUD,EAAK,OACtBC,EAAQ,IAAI,CAACQ,EAAQC,IAAU,CAC7B,MAAMN,EAASF,EAAW,IAAIO,EAAO,EAAE,EAEvC,OACEE,EAACC,EAAA,CAEC,UAAWP,EACT,SACA,CACE,gCAAiCtB,IAAS,OAAA,EAE5CG,GAAA,YAAAA,EAAS,QAAA,EAGV,SAAA,CAAAF,GACCsB,EAACO,EAAA,CACC,UAAWR,EACT,2HACA,CACE,OAAQtB,IAAS,MACjB,iCAAkCA,IAAS,OAAS2B,EAAQ,IAAM,EAClE,sDAAuD3B,IAAS,QAChE,iBAAkBQ,CAAA,EAEpBL,GAAA,YAAAA,EAAS,SAAA,EAGV,SAAAkB,GAAUU,EAAWV,EAAO,OAAO,UAAU,OAAQA,EAAO,YAAY,CAAA,CAAA,EAI5EJ,EAAK,IAAI,CAACe,EAAKC,IAAa,CAC3B,MAAMC,EAAOF,EAAI,gBAAA,EAAkB,KAAMG,GAAMA,EAAE,OAAO,KAAOT,EAAO,EAAE,EACxE,OAAKQ,EAGHX,EAACa,EAAA,CAEC,UAAWd,EACT,yBACA,CACE,iCAAkCtB,IAAS,OAAS2B,EAAQ,IAAM,EAClE,cAAeA,IAAU,EACzB,gCAAiC3B,IAAS,KAAA,EAE5CG,GAAA,YAAAA,EAAS,SAAA,EAGV,SAAA4B,EAAWG,EAAK,OAAO,UAAU,KAAM,CACtC,GAAGA,EAAK,WAAA,EACR,SAAAD,CAAA,CACD,CAAA,EAdIC,EAAK,EAAA,EAJI,IAqBpB,CAAC,CAAA,CAAA,EAjDIR,EAAO,EAAA,CAoDlB,CAAC,EAEDH,EAACM,EAAA,CACC,SAAAN,EAACa,GAAU,UAAU,mBAAmB,QAASlB,EAAQ,OAAS,EAC/D,SAAAb,CAAA,CACH,EACF,CAAA,CAEJ,EACF,EACF,EAECU,EACC,OAAOX,GAAe,WACpBA,EAAWY,CAAe,EAE1BO,EAACc,EAAA,CAAiB,GAAGrB,CAAA,CAAiB,EAEtC,IAAA,EACN,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{jsx as a}from"react/jsx-runtime";import{useState as g}from"react";import{useReactTable as f,getPaginationRowModel as C,getFacetedUniqueValues as S,getFacetedRowModel as b,getSortedRowModel as P,getFilteredRowModel as x,getCoreRowModel as D}from"@tanstack/react-table";import{Desktop as T}from"./Desktop.js";import{Horizontal as q}from"./Horizontal.js";import{Mobile as U}from"./Mobile.js";import{useDevice as V}from"../../hooks/useDevice.js";import"classnames";import"tailwind-merge";import{TypeGuards as h}from"../../utils/typeGuards.js";import"uuid";import"react-hook-form";import"@hookform/resolvers";const Q=({columns:l,data:d,enableHeaders:o=!0,mode:t="solid",classes:e,pagination:m=!0,empty:i,horizontal:r,pageSize:p=10})=>{const[s,u]=g([]),[c,M]=g([]),[R,w]=g({pageIndex:0,pageSize:p}),n=f({data:d,columns:l,state:{columnFilters:s,sorting:c,pagination:R},enableRowSelection:!0,onSortingChange:M,onColumnFiltersChange:u,onPaginationChange:w,getCoreRowModel:D(),getFilteredRowModel:x(),getSortedRowModel:P(),getFacetedRowModel:b(),getFacetedUniqueValues:S(),getPaginationRowModel:C()}),{isMobile:F}=V();return(h.isFunction(r)?r(l):r)?a(q,{table:n,enableHeaders:o,pagination:m,empty:i,mode:t,classes:e}):F?a(U,{table:n,enableHeaders:o,empty:i,mode:t,classes:e}):a(T,{table:n,enableHeaders:o,empty:i,pagination:m,mode:t,classes:e})};export{Q as DataTable};
1
+ import{jsx as a}from"react/jsx-runtime";import{useState as g}from"react";import{useReactTable as f,getPaginationRowModel as C,getFacetedUniqueValues as S,getFacetedRowModel as b,getSortedRowModel as P,getFilteredRowModel as x,getCoreRowModel as D}from"@tanstack/react-table";import{Desktop as T}from"./Desktop.js";import{Horizontal as q}from"./Horizontal.js";import{Mobile as U}from"./Mobile.js";import{useDevice as V}from"../../hooks/useDevice.js";import"classnames";import"tailwind-merge";import{TypeGuards as h}from"../../utils/typeGuards.js";import"uuid";import"react-hook-form";import"@hookform/resolvers/zod";const Q=({columns:l,data:d,enableHeaders:o=!0,mode:t="solid",classes:e,pagination:m=!0,empty:i,horizontal:r,pageSize:p=10})=>{const[s,u]=g([]),[c,M]=g([]),[R,w]=g({pageIndex:0,pageSize:p}),n=f({data:d,columns:l,state:{columnFilters:s,sorting:c,pagination:R},enableRowSelection:!0,onSortingChange:M,onColumnFiltersChange:u,onPaginationChange:w,getCoreRowModel:D(),getFilteredRowModel:x(),getSortedRowModel:P(),getFacetedRowModel:b(),getFacetedUniqueValues:S(),getPaginationRowModel:C()}),{isMobile:F}=V();return(h.isFunction(r)?r(l):r)?a(q,{table:n,enableHeaders:o,pagination:m,empty:i,mode:t,classes:e}):F?a(U,{table:n,enableHeaders:o,empty:i,mode:t,classes:e}):a(T,{table:n,enableHeaders:o,empty:i,pagination:m,mode:t,classes:e})};export{Q as DataTable};
2
2
  //# sourceMappingURL=Table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","sources":["../../../../../lib/shared/ui/table/Table.tsx"],"sourcesContent":["import { useState } from 'react'\nimport {\n type ColumnFiltersState,\n getCoreRowModel,\n getFacetedRowModel,\n getFacetedUniqueValues,\n getFilteredRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n type PaginationState,\n type SortingState,\n useReactTable\n} from '@tanstack/react-table'\nimport { Desktop } from './Desktop'\nimport { Horizontal } from './Horizontal'\nimport { Mobile } from './Mobile'\nimport { type DataTableProps } from './model'\nimport { useDevice } from '$/shared/hooks'\nimport { TypeGuards } from '$/shared/utils'\n\nexport const DataTable = <TData extends {}>({\n columns,\n data,\n enableHeaders = true,\n mode = 'solid',\n classes,\n pagination = true,\n empty,\n horizontal,\n pageSize = 10\n}: DataTableProps<TData>) => {\n const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([])\n const [sorting, setSorting] = useState<SortingState>([])\n const [paginationState, setPagination] = useState<PaginationState>({\n pageIndex: 0,\n pageSize\n })\n\n const table = useReactTable({\n data,\n columns,\n state: { columnFilters, sorting, pagination: paginationState },\n enableRowSelection: true,\n onSortingChange: setSorting,\n onColumnFiltersChange: setColumnFilters,\n onPaginationChange: setPagination,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getFacetedRowModel: getFacetedRowModel(),\n getFacetedUniqueValues: getFacetedUniqueValues(),\n getPaginationRowModel: getPaginationRowModel()\n })\n\n const { isMobile } = useDevice()\n\n if (TypeGuards.isFunction(horizontal) ? horizontal(columns) : horizontal) {\n return (\n <Horizontal\n table={table}\n enableHeaders={enableHeaders}\n pagination={pagination}\n empty={empty}\n mode={mode}\n classes={classes}\n />\n )\n }\n\n return isMobile ? (\n <Mobile table={table} enableHeaders={enableHeaders} empty={empty} mode={mode} classes={classes} />\n ) : (\n <Desktop table={table} enableHeaders={enableHeaders} empty={empty} pagination={pagination} mode={mode} classes={classes} />\n )\n}\n"],"names":["DataTable","columns","data","enableHeaders","mode","classes","pagination","empty","horizontal","pageSize","columnFilters","setColumnFilters","useState","sorting","setSorting","paginationState","setPagination","table","useReactTable","getCoreRowModel","getFilteredRowModel","getSortedRowModel","getFacetedRowModel","getFacetedUniqueValues","getPaginationRowModel","isMobile","useDevice","TypeGuards","jsx","Horizontal","Mobile","Desktop"],"mappings":"mmBAoBO,MAAMA,EAAY,CAAmB,CAC1C,QAAAC,EACA,KAAAC,EACA,cAAAC,EAAgB,GAChB,KAAAC,EAAO,QACP,QAAAC,EACA,WAAAC,EAAa,GACb,MAAAC,EACA,WAAAC,EACA,SAAAC,EAAW,EACb,IAA6B,CAC3B,KAAM,CAACC,EAAeC,CAAgB,EAAIC,EAA6B,CAAA,CAAE,EACnE,CAACC,EAASC,CAAU,EAAIF,EAAuB,CAAA,CAAE,EACjD,CAACG,EAAiBC,CAAa,EAAIJ,EAA0B,CACjE,UAAW,EACX,SAAAH,CAAA,CACD,EAEKQ,EAAQC,EAAc,CAC1B,KAAAhB,EACA,QAAAD,EACA,MAAO,CAAE,cAAAS,EAAe,QAAAG,EAAS,WAAYE,CAAA,EAC7C,mBAAoB,GACpB,gBAAiBD,EACjB,sBAAuBH,EACvB,mBAAoBK,EACpB,gBAAiBG,EAAA,EACjB,oBAAqBC,EAAA,EACrB,kBAAmBC,EAAA,EACnB,mBAAoBC,EAAA,EACpB,uBAAwBC,EAAA,EACxB,sBAAuBC,EAAA,CAAsB,CAC9C,EAEK,CAAE,SAAAC,CAAA,EAAaC,EAAA,EAErB,OAAIC,EAAW,WAAWnB,CAAU,EAAIA,EAAWP,CAAO,EAAIO,GAE1DoB,EAACC,EAAA,CACC,MAAAZ,EACA,cAAAd,EACA,WAAAG,EACA,MAAAC,EACA,KAAAH,EACA,QAAAC,CAAA,CAAA,EAKCoB,EACLG,EAACE,EAAA,CAAO,MAAAb,EAAc,cAAAd,EAA8B,MAAAI,EAAc,KAAAH,EAAY,QAAAC,CAAA,CAAkB,EAEhGuB,EAACG,GAAQ,MAAAd,EAAc,cAAAd,EAA8B,MAAAI,EAAc,WAAAD,EAAwB,KAAAF,EAAY,QAAAC,EAAkB,CAE7H"}
1
+ {"version":3,"file":"Table.js","sources":["../../../../../lib/shared/ui/table/Table.tsx"],"sourcesContent":["import { useState } from 'react'\nimport {\n type ColumnFiltersState,\n getCoreRowModel,\n getFacetedRowModel,\n getFacetedUniqueValues,\n getFilteredRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n type PaginationState,\n type SortingState,\n useReactTable\n} from '@tanstack/react-table'\nimport { Desktop } from './Desktop'\nimport { Horizontal } from './Horizontal'\nimport { Mobile } from './Mobile'\nimport { type DataTableProps } from './model'\nimport { useDevice } from '$/shared/hooks'\nimport { TypeGuards } from '$/shared/utils'\n\nexport const DataTable = <TData extends {}>({\n columns,\n data,\n enableHeaders = true,\n mode = 'solid',\n classes,\n pagination = true,\n empty,\n horizontal,\n pageSize = 10\n}: DataTableProps<TData>) => {\n const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([])\n const [sorting, setSorting] = useState<SortingState>([])\n const [paginationState, setPagination] = useState<PaginationState>({\n pageIndex: 0,\n pageSize\n })\n\n const table = useReactTable({\n data,\n columns,\n state: { columnFilters, sorting, pagination: paginationState },\n enableRowSelection: true,\n onSortingChange: setSorting,\n onColumnFiltersChange: setColumnFilters,\n onPaginationChange: setPagination,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getFacetedRowModel: getFacetedRowModel(),\n getFacetedUniqueValues: getFacetedUniqueValues(),\n getPaginationRowModel: getPaginationRowModel()\n })\n\n const { isMobile } = useDevice()\n\n if (TypeGuards.isFunction(horizontal) ? horizontal(columns) : horizontal) {\n return (\n <Horizontal\n table={table}\n enableHeaders={enableHeaders}\n pagination={pagination}\n empty={empty}\n mode={mode}\n classes={classes}\n />\n )\n }\n\n return isMobile ? (\n <Mobile table={table} enableHeaders={enableHeaders} empty={empty} mode={mode} classes={classes} />\n ) : (\n <Desktop table={table} enableHeaders={enableHeaders} empty={empty} pagination={pagination} mode={mode} classes={classes} />\n )\n}\n"],"names":["DataTable","columns","data","enableHeaders","mode","classes","pagination","empty","horizontal","pageSize","columnFilters","setColumnFilters","useState","sorting","setSorting","paginationState","setPagination","table","useReactTable","getCoreRowModel","getFilteredRowModel","getSortedRowModel","getFacetedRowModel","getFacetedUniqueValues","getPaginationRowModel","isMobile","useDevice","TypeGuards","jsx","Horizontal","Mobile","Desktop"],"mappings":"umBAoBO,MAAMA,EAAY,CAAmB,CAC1C,QAAAC,EACA,KAAAC,EACA,cAAAC,EAAgB,GAChB,KAAAC,EAAO,QACP,QAAAC,EACA,WAAAC,EAAa,GACb,MAAAC,EACA,WAAAC,EACA,SAAAC,EAAW,EACb,IAA6B,CAC3B,KAAM,CAACC,EAAeC,CAAgB,EAAIC,EAA6B,CAAA,CAAE,EACnE,CAACC,EAASC,CAAU,EAAIF,EAAuB,CAAA,CAAE,EACjD,CAACG,EAAiBC,CAAa,EAAIJ,EAA0B,CACjE,UAAW,EACX,SAAAH,CAAA,CACD,EAEKQ,EAAQC,EAAc,CAC1B,KAAAhB,EACA,QAAAD,EACA,MAAO,CAAE,cAAAS,EAAe,QAAAG,EAAS,WAAYE,CAAA,EAC7C,mBAAoB,GACpB,gBAAiBD,EACjB,sBAAuBH,EACvB,mBAAoBK,EACpB,gBAAiBG,EAAA,EACjB,oBAAqBC,EAAA,EACrB,kBAAmBC,EAAA,EACnB,mBAAoBC,EAAA,EACpB,uBAAwBC,EAAA,EACxB,sBAAuBC,EAAA,CAAsB,CAC9C,EAEK,CAAE,SAAAC,CAAA,EAAaC,EAAA,EAErB,OAAIC,EAAW,WAAWnB,CAAU,EAAIA,EAAWP,CAAO,EAAIO,GAE1DoB,EAACC,EAAA,CACC,MAAAZ,EACA,cAAAd,EACA,WAAAG,EACA,MAAAC,EACA,KAAAH,EACA,QAAAC,CAAA,CAAA,EAKCoB,EACLG,EAACE,EAAA,CAAO,MAAAb,EAAc,cAAAd,EAA8B,MAAAI,EAAc,KAAAH,EAAY,QAAAC,CAAA,CAAkB,EAEhGuB,EAACG,GAAQ,MAAAd,EAAc,cAAAd,EAA8B,MAAAI,EAAc,WAAAD,EAAwB,KAAAF,EAAY,QAAAC,EAAkB,CAE7H"}
@@ -1,2 +1,2 @@
1
- import{jsx as d}from"react/jsx-runtime";import{createColumnHelper as S}from"@tanstack/react-table";import"../ui/primitives/Primitives.js";import{DataTableColumnHeader as b}from"../ui/dataTableColumnHeader/DataTableColumnHeader.js";import"react";import"classnames";import"tailwind-merge";import{TypeGuards as c}from"../../../utils/typeGuards.js";import"uuid";import"react-hook-form";import"@hookform/resolvers";import"../../button/Button.js";import"../../button/model/helpers.js";import"../../buttonIcon/ButtonIcon.js";import"../../loader/model/helpers.js";import"../../calendar/Calendar.js";import"../../calendar/model/utils.js";import"../../accordion/Accordion.js";import"@radix-ui/react-tooltip";import"@radix-ui/react-popover";import"@radix-ui/react-tabs";import"react-dom";import"framer-motion";import"../../modal/ui/IframeModalContent.js";import"react-hot-toast";import"../../notification/ui/CustomToast.js";import"../../heading/Heading.js";import"embla-carousel-autoplay";import"embla-carousel-react";import"../../carousel/ui/CarouselContent.js";import"../../customLink/model/helpers.js";import"../../slot/Slot.js";import"../../formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../formElements/uncontrolled/checkbox/Checkbox.js";import"../../formElements/uncontrolled/combobox/combobox.js";import"../../formElements/uncontrolled/dayPicker/DayPicker.js";import"../../formElements/uncontrolled/input/Input.js";import"../../formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../formElements/uncontrolled/maskInput/MaskInput.js";import"../../formElements/uncontrolled/radio/RadioGroup.js";import"../../formElements/uncontrolled/radio/ui/RadioItem.js";import"@radix-ui/react-radio-group";import"../../formElements/uncontrolled/slider/SliderBase.js";import"../../formElements/uncontrolled/switch/Switch.js";import"../../formElements/uncontrolled/textarea/Textarea.js";import"../../formElements/uncontrolled/uploader/UploaderBase.js";import"../../formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../formElements/ui/MessageView.js";import"@tanstack/react-query";import"../../../../../src/configs/api.js";import"@floating-ui/react";import"date-fns";import"../../formElements/controlled/editor/ui/Editor.js";import"../../formElements/controlled/input/MaskInputControl.js";import"../../dropdownList/ui/dropdownItem/DropdownItem.js";class xr{static getColumnHelper(){return S()}static getColumns(a,g){const{helper:u=this.getColumnHelper(),enableColumnFilter:i=!1,enableSorting:m=!1,cellAccessor:n,headerAccessor:l,sortingFn:p,size:e}=g||{};return Object.keys(a).map(r=>u.accessor(r,{header:o=>{const{column:t}=o,s=l?l[r]:null;return d(b,{isSorted:t.getIsSorted()==="desc",nextSortingOrder:t.getNextSortingOrder(),toggleSorting:t.toggleSorting,canSort:t.getCanSort(),children:s?s(r,o):r})},cell:o=>{const t=n?n[r]:null;return t?t(o):o.getValue()},enableColumnFilter:c.isBoolean(i)?i:i.includes(r),enableSorting:c.isBoolean(m)?m:m.includes(r),sortingFn:typeof p=="object"?p[r]:p,...e==null?void 0:e[r]}))}}export{xr as TableUtils};
1
+ import{jsx as d}from"react/jsx-runtime";import{createColumnHelper as S}from"@tanstack/react-table";import"../ui/primitives/Primitives.js";import{DataTableColumnHeader as b}from"../ui/dataTableColumnHeader/DataTableColumnHeader.js";import"react";import"classnames";import"tailwind-merge";import{TypeGuards as c}from"../../../utils/typeGuards.js";import"uuid";import"react-hook-form";import"@hookform/resolvers/zod";import"../../button/Button.js";import"../../button/model/helpers.js";import"../../buttonIcon/ButtonIcon.js";import"../../loader/model/helpers.js";import"../../calendar/Calendar.js";import"../../calendar/model/utils.js";import"../../accordion/Accordion.js";import"@radix-ui/react-tooltip";import"@radix-ui/react-popover";import"@radix-ui/react-tabs";import"react-dom";import"framer-motion";import"../../modal/ui/IframeModalContent.js";import"react-hot-toast";import"../../notification/ui/CustomToast.js";import"../../heading/Heading.js";import"embla-carousel-autoplay";import"embla-carousel-react";import"../../carousel/ui/CarouselContent.js";import"../../customLink/model/helpers.js";import"../../slot/Slot.js";import"../../formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../formElements/uncontrolled/checkbox/Checkbox.js";import"../../formElements/uncontrolled/combobox/combobox.js";import"../../formElements/uncontrolled/dayPicker/DayPicker.js";import"../../formElements/uncontrolled/input/Input.js";import"../../formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../formElements/uncontrolled/maskInput/MaskInput.js";import"../../formElements/uncontrolled/radio/RadioGroup.js";import"../../formElements/uncontrolled/radio/ui/RadioItem.js";import"@radix-ui/react-radio-group";import"../../formElements/uncontrolled/slider/SliderBase.js";import"../../formElements/uncontrolled/switch/Switch.js";import"../../formElements/uncontrolled/textarea/Textarea.js";import"../../formElements/uncontrolled/uploader/UploaderBase.js";import"../../formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../formElements/ui/MessageView.js";import"@tanstack/react-query";import"../../../../../src/configs/api.js";import"@floating-ui/react";import"date-fns";import"../../formElements/controlled/editor/ui/Editor.js";import"../../formElements/controlled/input/MaskInputControl.js";import"../../dropdownList/ui/dropdownItem/DropdownItem.js";class xr{static getColumnHelper(){return S()}static getColumns(a,g){const{helper:u=this.getColumnHelper(),enableColumnFilter:i=!1,enableSorting:m=!1,cellAccessor:n,headerAccessor:l,sortingFn:p,size:e}=g||{};return Object.keys(a).map(r=>u.accessor(r,{header:o=>{const{column:t}=o,s=l?l[r]:null;return d(b,{isSorted:t.getIsSorted()==="desc",nextSortingOrder:t.getNextSortingOrder(),toggleSorting:t.toggleSorting,canSort:t.getCanSort(),children:s?s(r,o):r})},cell:o=>{const t=n?n[r]:null;return t?t(o):o.getValue()},enableColumnFilter:c.isBoolean(i)?i:i.includes(r),enableSorting:c.isBoolean(m)?m:m.includes(r),sortingFn:typeof p=="object"?p[r]:p,...e==null?void 0:e[r]}))}}export{xr as TableUtils};
2
2
  //# sourceMappingURL=TableUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableUtils.js","sources":["../../../../../../lib/shared/ui/table/model/TableUtils.tsx"],"sourcesContent":["import {\n type CellContext,\n type ColumnDef,\n type ColumnHelper,\n createColumnHelper,\n type HeaderContext,\n type SortingFnOption\n} from '@tanstack/react-table'\nimport { DataTableColumnHeader } from '../ui'\nimport { TypeGuards } from '$/shared/utils'\n\ntype SizeOptions = {\n size?: number\n minSize?: number\n maxSize?: number\n}\n\ntype ColumnDefOptions<TData, TValue> = {\n enableSorting?: (keyof TData)[] | boolean\n sortingFn?: SortingFnOption<TData> | Partial<Record<keyof TData, SortingFnOption<TData>>>\n enableColumnFilter?: (keyof TData)[] | boolean\n size?: Partial<Record<keyof TData, SizeOptions>>\n helper?: ColumnHelper<TData>\n cellAccessor?: Partial<Record<keyof TData, (cellContext: CellContext<TData, TValue>) => React.ReactNode>>\n headerAccessor?: Partial<\n Record<keyof TData, (key: keyof TData, headerContext: HeaderContext<TData, TValue>) => React.ReactNode>\n >\n}\n\nexport class TableUtils {\n static getColumnHelper<TData extends {}>(): ColumnHelper<TData> {\n return createColumnHelper<TData>()\n }\n\n static getColumns<TData extends {}, TValue = TData[keyof TData]>(\n template: TData,\n options?: ColumnDefOptions<TData, TValue>\n ): ColumnDef<TData>[] {\n const {\n helper = this.getColumnHelper<TData>(),\n enableColumnFilter = false,\n enableSorting = false,\n cellAccessor,\n headerAccessor,\n sortingFn,\n size\n } = options || {}\n\n const keys = Object.keys(template) as (keyof TData)[]\n\n return keys.map((key) => {\n return helper.accessor<any, TValue>(key, {\n header: (header) => {\n const { column } = header\n const accessor = headerAccessor ? headerAccessor[key] : null\n\n return (\n <DataTableColumnHeader\n isSorted={column.getIsSorted() === 'desc'}\n nextSortingOrder={column.getNextSortingOrder()}\n toggleSorting={column.toggleSorting}\n canSort={column.getCanSort()}\n >\n {accessor ? accessor(key, header) : (key as string)}\n </DataTableColumnHeader>\n )\n },\n cell: (cell) => {\n const accessor = cellAccessor ? cellAccessor[key] : null\n\n return accessor ? accessor(cell) : cell.getValue()\n },\n enableColumnFilter: TypeGuards.isBoolean(enableColumnFilter) ? enableColumnFilter : enableColumnFilter.includes(key),\n enableSorting: TypeGuards.isBoolean(enableSorting) ? enableSorting : enableSorting.includes(key),\n sortingFn: typeof sortingFn === 'object' ? sortingFn[key] : sortingFn,\n ...size?.[key]\n })\n }) as ColumnDef<TData>[]\n }\n}\n"],"names":["TableUtils","createColumnHelper","template","options","helper","enableColumnFilter","enableSorting","cellAccessor","headerAccessor","sortingFn","size","key","header","column","accessor","jsx","DataTableColumnHeader","cell","TypeGuards"],"mappings":"q0EA6BO,MAAMA,EAAW,CACtB,OAAO,iBAAyD,CAC9D,OAAOC,EAAA,CACT,CAEA,OAAO,WACLC,EACAC,EACoB,CACpB,KAAM,CACJ,OAAAC,EAAS,KAAK,gBAAA,EACd,mBAAAC,EAAqB,GACrB,cAAAC,EAAgB,GAChB,aAAAC,EACA,eAAAC,EACA,UAAAC,EACA,KAAAC,CAAA,EACEP,GAAW,CAAA,EAIf,OAFa,OAAO,KAAKD,CAAQ,EAErB,IAAKS,GACRP,EAAO,SAAsBO,EAAK,CACvC,OAASC,GAAW,CAClB,KAAM,CAAE,OAAAC,GAAWD,EACbE,EAAWN,EAAiBA,EAAeG,CAAG,EAAI,KAExD,OACEI,EAACC,EAAA,CACC,SAAUH,EAAO,YAAA,IAAkB,OACnC,iBAAkBA,EAAO,oBAAA,EACzB,cAAeA,EAAO,cACtB,QAASA,EAAO,WAAA,EAEf,SAAAC,EAAWA,EAASH,EAAKC,CAAM,EAAKD,CAAA,CAAA,CAG3C,EACA,KAAOM,GAAS,CACd,MAAMH,EAAWP,EAAeA,EAAaI,CAAG,EAAI,KAEpD,OAAOG,EAAWA,EAASG,CAAI,EAAIA,EAAK,SAAA,CAC1C,EACA,mBAAoBC,EAAW,UAAUb,CAAkB,EAAIA,EAAqBA,EAAmB,SAASM,CAAG,EACnH,cAAeO,EAAW,UAAUZ,CAAa,EAAIA,EAAgBA,EAAc,SAASK,CAAG,EAC/F,UAAW,OAAOF,GAAc,SAAWA,EAAUE,CAAG,EAAIF,EAC5D,GAAGC,GAAA,YAAAA,EAAOC,EAAG,CACd,CACF,CACH,CACF"}
1
+ {"version":3,"file":"TableUtils.js","sources":["../../../../../../lib/shared/ui/table/model/TableUtils.tsx"],"sourcesContent":["import {\n type CellContext,\n type ColumnDef,\n type ColumnHelper,\n createColumnHelper,\n type HeaderContext,\n type SortingFnOption\n} from '@tanstack/react-table'\nimport { DataTableColumnHeader } from '../ui'\nimport { TypeGuards } from '$/shared/utils'\n\ntype SizeOptions = {\n size?: number\n minSize?: number\n maxSize?: number\n}\n\ntype ColumnDefOptions<TData, TValue> = {\n enableSorting?: (keyof TData)[] | boolean\n sortingFn?: SortingFnOption<TData> | Partial<Record<keyof TData, SortingFnOption<TData>>>\n enableColumnFilter?: (keyof TData)[] | boolean\n size?: Partial<Record<keyof TData, SizeOptions>>\n helper?: ColumnHelper<TData>\n cellAccessor?: Partial<Record<keyof TData, (cellContext: CellContext<TData, TValue>) => React.ReactNode>>\n headerAccessor?: Partial<\n Record<keyof TData, (key: keyof TData, headerContext: HeaderContext<TData, TValue>) => React.ReactNode>\n >\n}\n\nexport class TableUtils {\n static getColumnHelper<TData extends {}>(): ColumnHelper<TData> {\n return createColumnHelper<TData>()\n }\n\n static getColumns<TData extends {}, TValue = TData[keyof TData]>(\n template: TData,\n options?: ColumnDefOptions<TData, TValue>\n ): ColumnDef<TData>[] {\n const {\n helper = this.getColumnHelper<TData>(),\n enableColumnFilter = false,\n enableSorting = false,\n cellAccessor,\n headerAccessor,\n sortingFn,\n size\n } = options || {}\n\n const keys = Object.keys(template) as (keyof TData)[]\n\n return keys.map((key) => {\n return helper.accessor<any, TValue>(key, {\n header: (header) => {\n const { column } = header\n const accessor = headerAccessor ? headerAccessor[key] : null\n\n return (\n <DataTableColumnHeader\n isSorted={column.getIsSorted() === 'desc'}\n nextSortingOrder={column.getNextSortingOrder()}\n toggleSorting={column.toggleSorting}\n canSort={column.getCanSort()}\n >\n {accessor ? accessor(key, header) : (key as string)}\n </DataTableColumnHeader>\n )\n },\n cell: (cell) => {\n const accessor = cellAccessor ? cellAccessor[key] : null\n\n return accessor ? accessor(cell) : cell.getValue()\n },\n enableColumnFilter: TypeGuards.isBoolean(enableColumnFilter) ? enableColumnFilter : enableColumnFilter.includes(key),\n enableSorting: TypeGuards.isBoolean(enableSorting) ? enableSorting : enableSorting.includes(key),\n sortingFn: typeof sortingFn === 'object' ? sortingFn[key] : sortingFn,\n ...size?.[key]\n })\n }) as ColumnDef<TData>[]\n }\n}\n"],"names":["TableUtils","createColumnHelper","template","options","helper","enableColumnFilter","enableSorting","cellAccessor","headerAccessor","sortingFn","size","key","header","column","accessor","jsx","DataTableColumnHeader","cell","TypeGuards"],"mappings":"y0EA6BO,MAAMA,EAAW,CACtB,OAAO,iBAAyD,CAC9D,OAAOC,EAAA,CACT,CAEA,OAAO,WACLC,EACAC,EACoB,CACpB,KAAM,CACJ,OAAAC,EAAS,KAAK,gBAAA,EACd,mBAAAC,EAAqB,GACrB,cAAAC,EAAgB,GAChB,aAAAC,EACA,eAAAC,EACA,UAAAC,EACA,KAAAC,CAAA,EACEP,GAAW,CAAA,EAIf,OAFa,OAAO,KAAKD,CAAQ,EAErB,IAAKS,GACRP,EAAO,SAAsBO,EAAK,CACvC,OAASC,GAAW,CAClB,KAAM,CAAE,OAAAC,GAAWD,EACbE,EAAWN,EAAiBA,EAAeG,CAAG,EAAI,KAExD,OACEI,EAACC,EAAA,CACC,SAAUH,EAAO,YAAA,IAAkB,OACnC,iBAAkBA,EAAO,oBAAA,EACzB,cAAeA,EAAO,cACtB,QAASA,EAAO,WAAA,EAEf,SAAAC,EAAWA,EAASH,EAAKC,CAAM,EAAKD,CAAA,CAAA,CAG3C,EACA,KAAOM,GAAS,CACd,MAAMH,EAAWP,EAAeA,EAAaI,CAAG,EAAI,KAEpD,OAAOG,EAAWA,EAASG,CAAI,EAAIA,EAAK,SAAA,CAC1C,EACA,mBAAoBC,EAAW,UAAUb,CAAkB,EAAIA,EAAqBA,EAAmB,SAASM,CAAG,EACnH,cAAeO,EAAW,UAAUZ,CAAa,EAAIA,EAAgBA,EAAc,SAASK,CAAG,EAC/F,UAAW,OAAOF,GAAc,SAAWA,EAAUE,CAAG,EAAIF,EAC5D,GAAGC,GAAA,YAAAA,EAAOC,EAAG,CACd,CACF,CACH,CACF"}
@@ -1,2 +1,2 @@
1
- import{jsxs as d,jsx as r}from"react/jsx-runtime";import{useDevice as b}from"../../../../hooks/useDevice.js";import"react";import{cn as t}from"../../../../utils/cn.js";import"uuid";import"react-hook-form";import"@hookform/resolvers";import{Icon as x}from"../../../icon/Icon.js";const w=({children:e,canSort:s,toggleSorting:a,nextSortingOrder:i,isSorted:n,classes:c})=>{const{root:m,content:l,icon:p}=c||{},{isDesktop:u}=b(),o=s&&u;return d("button",{type:"button",className:t("mob-body-regular-s flex items-center justify-center gap-x-2 text-start text-color-tetriary desktop:desk-body-regular-l",m),onClick:()=>a(!n),disabled:!o,children:[r("span",{className:t("",l),children:e}),o&&r(x,{name:"arrows/arrowRight",className:t("size-4 rotate-90 text-color-current duration-100",{"-rotate-90":!i},p)})]})};export{w as DataTableColumnHeader};
1
+ import{jsxs as d,jsx as r}from"react/jsx-runtime";import{useDevice as b}from"../../../../hooks/useDevice.js";import"react";import{cn as t}from"../../../../utils/cn.js";import"uuid";import"react-hook-form";import"@hookform/resolvers/zod";import{Icon as x}from"../../../icon/Icon.js";const w=({children:e,canSort:s,toggleSorting:a,nextSortingOrder:i,isSorted:n,classes:c})=>{const{root:m,content:l,icon:p}=c||{},{isDesktop:u}=b(),o=s&&u;return d("button",{type:"button",className:t("mob-body-regular-s flex items-center justify-center gap-x-2 text-start text-color-tetriary desktop:desk-body-regular-l",m),onClick:()=>a(!n),disabled:!o,children:[r("span",{className:t("",l),children:e}),o&&r(x,{name:"arrows/arrowRight",className:t("size-4 rotate-90 text-color-current duration-100",{"-rotate-90":!i},p)})]})};export{w as DataTableColumnHeader};
2
2
  //# sourceMappingURL=DataTableColumnHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableColumnHeader.js","sources":["../../../../../../../lib/shared/ui/table/ui/dataTableColumnHeader/DataTableColumnHeader.tsx"],"sourcesContent":["import { type SortDirection } from '@tanstack/react-table'\nimport { useDevice } from '$/shared/hooks'\nimport { Icon } from '$/shared/ui/icon'\nimport { cn } from '$/shared/utils'\n\ntype DataTableColumnHeaderClasses = {\n root?: string\n content?: string\n icon?: string\n}\n\ntype DataTableColumnHeaderProps = {\n children: React.ReactNode\n isSorted: boolean | SortDirection\n toggleSorting: (desc: boolean) => void\n nextSortingOrder: boolean | SortDirection\n canSort: boolean\n classes?: DataTableColumnHeaderClasses\n}\n\nexport const DataTableColumnHeader = ({\n children,\n canSort,\n toggleSorting,\n nextSortingOrder,\n isSorted,\n classes\n}: DataTableColumnHeaderProps) => {\n const { root, content, icon } = classes || {}\n\n const { isDesktop } = useDevice()\n\n const isSortable = canSort && isDesktop\n\n return (\n <button\n type='button'\n className={cn(\n 'mob-body-regular-s flex items-center justify-center gap-x-2 text-start text-color-tetriary desktop:desk-body-regular-l',\n root\n )}\n onClick={() => toggleSorting(!isSorted)}\n disabled={!isSortable}\n >\n <span className={cn('', content)}>{children}</span>\n {isSortable && (\n <Icon\n name='arrows/arrowRight'\n className={cn(\n 'size-4 rotate-90 text-color-current duration-100',\n {\n '-rotate-90': !nextSortingOrder\n },\n icon\n )}\n />\n )}\n </button>\n )\n}\n"],"names":["DataTableColumnHeader","children","canSort","toggleSorting","nextSortingOrder","isSorted","classes","root","content","icon","isDesktop","useDevice","isSortable","jsxs","cn","jsx","Icon"],"mappings":"sRAoBO,MAAMA,EAAwB,CAAC,CACpC,SAAAC,EACA,QAAAC,EACA,cAAAC,EACA,iBAAAC,EACA,SAAAC,EACA,QAAAC,CACF,IAAkC,CAChC,KAAM,CAAE,KAAAC,EAAM,QAAAC,EAAS,KAAAC,CAAA,EAASH,GAAW,CAAA,EAErC,CAAE,UAAAI,CAAA,EAAcC,EAAA,EAEhBC,EAAaV,GAAWQ,EAE9B,OACEG,EAAC,SAAA,CACC,KAAK,SACL,UAAWC,EACT,yHACAP,CAAA,EAEF,QAAS,IAAMJ,EAAc,CAACE,CAAQ,EACtC,SAAU,CAACO,EAEX,SAAA,CAAAG,EAAC,QAAK,UAAWD,EAAG,GAAIN,CAAO,EAAI,SAAAP,EAAS,EAC3CW,GACCG,EAACC,EAAA,CACC,KAAK,oBACL,UAAWF,EACT,mDACA,CACE,aAAc,CAACV,CAAA,EAEjBK,CAAA,CACF,CAAA,CACF,CAAA,CAAA,CAIR"}
1
+ {"version":3,"file":"DataTableColumnHeader.js","sources":["../../../../../../../lib/shared/ui/table/ui/dataTableColumnHeader/DataTableColumnHeader.tsx"],"sourcesContent":["import { type SortDirection } from '@tanstack/react-table'\nimport { useDevice } from '$/shared/hooks'\nimport { Icon } from '$/shared/ui/icon'\nimport { cn } from '$/shared/utils'\n\ntype DataTableColumnHeaderClasses = {\n root?: string\n content?: string\n icon?: string\n}\n\ntype DataTableColumnHeaderProps = {\n children: React.ReactNode\n isSorted: boolean | SortDirection\n toggleSorting: (desc: boolean) => void\n nextSortingOrder: boolean | SortDirection\n canSort: boolean\n classes?: DataTableColumnHeaderClasses\n}\n\nexport const DataTableColumnHeader = ({\n children,\n canSort,\n toggleSorting,\n nextSortingOrder,\n isSorted,\n classes\n}: DataTableColumnHeaderProps) => {\n const { root, content, icon } = classes || {}\n\n const { isDesktop } = useDevice()\n\n const isSortable = canSort && isDesktop\n\n return (\n <button\n type='button'\n className={cn(\n 'mob-body-regular-s flex items-center justify-center gap-x-2 text-start text-color-tetriary desktop:desk-body-regular-l',\n root\n )}\n onClick={() => toggleSorting(!isSorted)}\n disabled={!isSortable}\n >\n <span className={cn('', content)}>{children}</span>\n {isSortable && (\n <Icon\n name='arrows/arrowRight'\n className={cn(\n 'size-4 rotate-90 text-color-current duration-100',\n {\n '-rotate-90': !nextSortingOrder\n },\n icon\n )}\n />\n )}\n </button>\n )\n}\n"],"names":["DataTableColumnHeader","children","canSort","toggleSorting","nextSortingOrder","isSorted","classes","root","content","icon","isDesktop","useDevice","isSortable","jsxs","cn","jsx","Icon"],"mappings":"0RAoBO,MAAMA,EAAwB,CAAC,CACpC,SAAAC,EACA,QAAAC,EACA,cAAAC,EACA,iBAAAC,EACA,SAAAC,EACA,QAAAC,CACF,IAAkC,CAChC,KAAM,CAAE,KAAAC,EAAM,QAAAC,EAAS,KAAAC,CAAA,EAASH,GAAW,CAAA,EAErC,CAAE,UAAAI,CAAA,EAAcC,EAAA,EAEhBC,EAAaV,GAAWQ,EAE9B,OACEG,EAAC,SAAA,CACC,KAAK,SACL,UAAWC,EACT,yHACAP,CAAA,EAEF,QAAS,IAAMJ,EAAc,CAACE,CAAQ,EACtC,SAAU,CAACO,EAEX,SAAA,CAAAG,EAAC,QAAK,UAAWD,EAAG,GAAIN,CAAO,EAAI,SAAAP,EAAS,EAC3CW,GACCG,EAACC,EAAA,CACC,KAAK,oBACL,UAAWF,EACT,mDACA,CACE,aAAc,CAACV,CAAA,EAEjBK,CAAA,CACF,CAAA,CACF,CAAA,CAAA,CAIR"}
@@ -1,2 +1,2 @@
1
- import{jsxs as C,jsx as m}from"react/jsx-runtime";import{useState as y,useRef as s}from"react";import{useClickOutside as N}from"../../../../hooks/useClickOutside.js";import"react-hook-form";import"@hookform/resolvers";import"classnames";import"tailwind-merge";import"uuid";import{Button as j}from"../../../button/Button.js";import"../../../button/model/helpers.js";import"../../../buttonIcon/ButtonIcon.js";import"../../../loader/model/helpers.js";import"../../../calendar/Calendar.js";import"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"@radix-ui/react-tooltip";import"@radix-ui/react-popover";import"@radix-ui/react-tabs";import"react-dom";import"framer-motion";import"../../../modal/ui/IframeModalContent.js";import"react-hot-toast";import"../../../notification/ui/CustomToast.js";import"../primitives/Primitives.js";import{Icon as k}from"../../../icon/Icon.js";import"@tanstack/react-table";import"../../../heading/Heading.js";import"embla-carousel-autoplay";import"embla-carousel-react";import"../../../carousel/ui/CarouselContent.js";import"../../../customLink/model/helpers.js";import"../../../slot/Slot.js";import"../../../formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../../formElements/uncontrolled/checkbox/Checkbox.js";import"../../../formElements/uncontrolled/combobox/combobox.js";import"../../../formElements/uncontrolled/dayPicker/DayPicker.js";import"../../../formElements/uncontrolled/input/Input.js";import"../../../formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../../formElements/uncontrolled/maskInput/MaskInput.js";import"../../../formElements/uncontrolled/radio/RadioGroup.js";import"../../../formElements/uncontrolled/radio/ui/RadioItem.js";import"@radix-ui/react-radio-group";import"../../../formElements/uncontrolled/slider/SliderBase.js";import"../../../formElements/uncontrolled/switch/Switch.js";import"../../../formElements/uncontrolled/textarea/Textarea.js";import"../../../formElements/uncontrolled/uploader/UploaderBase.js";import"../../../formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../formElements/ui/MessageView.js";import"@tanstack/react-query";import"../../../../../../src/configs/api.js";import"@floating-ui/react";import"date-fns";import"../../../formElements/controlled/editor/ui/Editor.js";import"../../../formElements/controlled/input/MaskInputControl.js";import"../../../dropdownList/ui/dropdownItem/DropdownItem.js";const Ro=({row:l,getValue:u,update:f,target:c,rowIndex:d=-1,attachment:r,readOnly:a=!1})=>{const[i,g]=y(u()),t=s(!1),e=s(null),{original:w}=l,x=o=>{g(o.target.value),t.current=!0},p=()=>{if(t.current){const o={...w,[c]:i};f(d,o),t.current=!1}};return N(e,p),C("div",{className:"flex items-center justify-between pr-1",children:[m("input",{ref:e,className:"mr-2 w-full outline-none",type:"text",readOnly:a,value:i,onChange:x,onBlur:p,onKeyDown:o=>{o.key==="Enter"&&(o.preventDefault(),p())}}),r&&m(j,{intent:"ghost",onClick:o=>{var n;return(n=r==null?void 0:r.handler)==null?void 0:n.call(r,i,o)},className:"mr-1 h-6 w-6 p-0",children:m(k,{name:r.icon,className:"size-4"})})]})};export{Ro as EditableCell};
1
+ import{jsxs as C,jsx as m}from"react/jsx-runtime";import{useState as y,useRef as s}from"react";import{useClickOutside as N}from"../../../../hooks/useClickOutside.js";import"react-hook-form";import"@hookform/resolvers/zod";import"classnames";import"tailwind-merge";import"uuid";import{Button as j}from"../../../button/Button.js";import"../../../button/model/helpers.js";import"../../../buttonIcon/ButtonIcon.js";import"../../../loader/model/helpers.js";import"../../../calendar/Calendar.js";import"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"@radix-ui/react-tooltip";import"@radix-ui/react-popover";import"@radix-ui/react-tabs";import"react-dom";import"framer-motion";import"../../../modal/ui/IframeModalContent.js";import"react-hot-toast";import"../../../notification/ui/CustomToast.js";import"../primitives/Primitives.js";import{Icon as k}from"../../../icon/Icon.js";import"@tanstack/react-table";import"../../../heading/Heading.js";import"embla-carousel-autoplay";import"embla-carousel-react";import"../../../carousel/ui/CarouselContent.js";import"../../../customLink/model/helpers.js";import"../../../slot/Slot.js";import"../../../formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../../formElements/uncontrolled/checkbox/Checkbox.js";import"../../../formElements/uncontrolled/combobox/combobox.js";import"../../../formElements/uncontrolled/dayPicker/DayPicker.js";import"../../../formElements/uncontrolled/input/Input.js";import"../../../formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../../formElements/uncontrolled/maskInput/MaskInput.js";import"../../../formElements/uncontrolled/radio/RadioGroup.js";import"../../../formElements/uncontrolled/radio/ui/RadioItem.js";import"@radix-ui/react-radio-group";import"../../../formElements/uncontrolled/slider/SliderBase.js";import"../../../formElements/uncontrolled/switch/Switch.js";import"../../../formElements/uncontrolled/textarea/Textarea.js";import"../../../formElements/uncontrolled/uploader/UploaderBase.js";import"../../../formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../formElements/ui/MessageView.js";import"@tanstack/react-query";import"../../../../../../src/configs/api.js";import"@floating-ui/react";import"date-fns";import"../../../formElements/controlled/editor/ui/Editor.js";import"../../../formElements/controlled/input/MaskInputControl.js";import"../../../dropdownList/ui/dropdownItem/DropdownItem.js";const Ro=({row:l,getValue:u,update:f,target:c,rowIndex:d=-1,attachment:r,readOnly:a=!1})=>{const[i,g]=y(u()),t=s(!1),e=s(null),{original:w}=l,x=o=>{g(o.target.value),t.current=!0},p=()=>{if(t.current){const o={...w,[c]:i};f(d,o),t.current=!1}};return N(e,p),C("div",{className:"flex items-center justify-between pr-1",children:[m("input",{ref:e,className:"mr-2 w-full outline-none",type:"text",readOnly:a,value:i,onChange:x,onBlur:p,onKeyDown:o=>{o.key==="Enter"&&(o.preventDefault(),p())}}),r&&m(j,{intent:"ghost",onClick:o=>{var n;return(n=r==null?void 0:r.handler)==null?void 0:n.call(r,i,o)},className:"mr-1 h-6 w-6 p-0",children:m(k,{name:r.icon,className:"size-4"})})]})};export{Ro as EditableCell};
2
2
  //# sourceMappingURL=EditableCell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditableCell.js","sources":["../../../../../../../lib/shared/ui/table/ui/editableCell/EditableCell.tsx"],"sourcesContent":["import { useRef, useState } from 'react'\nimport { type CellContext } from '@tanstack/react-table'\nimport { useClickOutside } from '$/shared/hooks'\nimport { type AllowedIcons, Button, Icon } from '$/shared/ui'\n\ntype Cell<TData, TValue> = CellContext<TData, TValue> & { rowIndex?: number; readOnly?: boolean }\n\ninterface EditableCellProps<TData, TValue> extends Cell<TData, TValue> {\n target: keyof TData\n update: (target: number, values: TData) => void\n attachment?: {\n icon: AllowedIcons\n handler?: (value: TValue | string, event: React.MouseEvent<HTMLButtonElement>) => void\n }\n}\n\nexport const EditableCell = <TData, TValue extends string | undefined>({\n row,\n getValue,\n update,\n target,\n rowIndex = -1,\n attachment,\n readOnly = false\n}: EditableCellProps<TData, TValue>) => {\n const [value, setValue] = useState<TValue | string>(getValue())\n const changed = useRef<boolean>(false)\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n const { original } = row\n\n const onValueChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setValue(event.target.value)\n\n changed.current = true\n }\n\n const onInputBlur = () => {\n if (changed.current) {\n const updatedRow = { ...original, [target]: value }\n update(rowIndex, updatedRow)\n\n changed.current = false\n }\n }\n\n useClickOutside(inputRef, onInputBlur)\n\n return (\n <div className='flex items-center justify-between pr-1'>\n <input\n ref={inputRef}\n className='mr-2 w-full outline-none'\n type='text'\n readOnly={readOnly}\n value={value}\n onChange={onValueChange}\n onBlur={onInputBlur}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n event.preventDefault()\n\n onInputBlur()\n }\n }}\n />\n {attachment && (\n <Button intent='ghost' onClick={(event) => attachment?.handler?.(value, event)} className='mr-1 h-6 w-6 p-0'>\n <Icon name={attachment.icon} className='size-4' />\n </Button>\n )}\n </div>\n )\n}\n"],"names":["EditableCell","row","getValue","update","target","rowIndex","attachment","readOnly","value","setValue","useState","changed","useRef","inputRef","original","onValueChange","event","onInputBlur","updatedRow","useClickOutside","jsxs","jsx","Button","_a","Icon"],"mappings":"45EAgBO,MAAMA,GAAe,CAA2C,CACrE,IAAAC,EACA,SAAAC,EACA,OAAAC,EACA,OAAAC,EACA,SAAAC,EAAW,GACX,WAAAC,EACA,SAAAC,EAAW,EACb,IAAwC,CACtC,KAAM,CAACC,EAAOC,CAAQ,EAAIC,EAA0BR,GAAU,EACxDS,EAAUC,EAAgB,EAAK,EAE/BC,EAAWD,EAAyB,IAAI,EAExC,CAAE,SAAAE,GAAab,EAEfc,EAAiBC,GAA+C,CACpEP,EAASO,EAAM,OAAO,KAAK,EAE3BL,EAAQ,QAAU,EACpB,EAEMM,EAAc,IAAM,CACxB,GAAIN,EAAQ,QAAS,CACnB,MAAMO,EAAa,CAAE,GAAGJ,EAAU,CAACV,CAAM,EAAGI,CAAA,EAC5CL,EAAOE,EAAUa,CAAU,EAE3BP,EAAQ,QAAU,EACpB,CACF,EAEA,OAAAQ,EAAgBN,EAAUI,CAAW,EAGnCG,EAAC,MAAA,CAAI,UAAU,yCACb,SAAA,CAAAC,EAAC,QAAA,CACC,IAAKR,EACL,UAAU,2BACV,KAAK,OACL,SAAAN,EACA,MAAAC,EACA,SAAUO,EACV,OAAQE,EACR,UAAYD,GAAU,CAChBA,EAAM,MAAQ,UAChBA,EAAM,eAAA,EAENC,EAAA,EAEJ,CAAA,CAAA,EAEDX,KACEgB,EAAA,CAAO,OAAO,QAAQ,QAAUN,GAAA,OAAU,OAAAO,EAAAjB,GAAA,YAAAA,EAAY,UAAZ,YAAAiB,EAAA,KAAAjB,EAAsBE,EAAOQ,IAAQ,UAAU,mBACxF,SAAAK,EAACG,EAAA,CAAK,KAAMlB,EAAW,KAAM,UAAU,QAAA,CAAS,CAAA,CAClD,CAAA,EAEJ,CAEJ"}
1
+ {"version":3,"file":"EditableCell.js","sources":["../../../../../../../lib/shared/ui/table/ui/editableCell/EditableCell.tsx"],"sourcesContent":["import { useRef, useState } from 'react'\nimport { type CellContext } from '@tanstack/react-table'\nimport { useClickOutside } from '$/shared/hooks'\nimport { type AllowedIcons, Button, Icon } from '$/shared/ui'\n\ntype Cell<TData, TValue> = CellContext<TData, TValue> & { rowIndex?: number; readOnly?: boolean }\n\ninterface EditableCellProps<TData, TValue> extends Cell<TData, TValue> {\n target: keyof TData\n update: (target: number, values: TData) => void\n attachment?: {\n icon: AllowedIcons\n handler?: (value: TValue | string, event: React.MouseEvent<HTMLButtonElement>) => void\n }\n}\n\nexport const EditableCell = <TData, TValue extends string | undefined>({\n row,\n getValue,\n update,\n target,\n rowIndex = -1,\n attachment,\n readOnly = false\n}: EditableCellProps<TData, TValue>) => {\n const [value, setValue] = useState<TValue | string>(getValue())\n const changed = useRef<boolean>(false)\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n const { original } = row\n\n const onValueChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setValue(event.target.value)\n\n changed.current = true\n }\n\n const onInputBlur = () => {\n if (changed.current) {\n const updatedRow = { ...original, [target]: value }\n update(rowIndex, updatedRow)\n\n changed.current = false\n }\n }\n\n useClickOutside(inputRef, onInputBlur)\n\n return (\n <div className='flex items-center justify-between pr-1'>\n <input\n ref={inputRef}\n className='mr-2 w-full outline-none'\n type='text'\n readOnly={readOnly}\n value={value}\n onChange={onValueChange}\n onBlur={onInputBlur}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n event.preventDefault()\n\n onInputBlur()\n }\n }}\n />\n {attachment && (\n <Button intent='ghost' onClick={(event) => attachment?.handler?.(value, event)} className='mr-1 h-6 w-6 p-0'>\n <Icon name={attachment.icon} className='size-4' />\n </Button>\n )}\n </div>\n )\n}\n"],"names":["EditableCell","row","getValue","update","target","rowIndex","attachment","readOnly","value","setValue","useState","changed","useRef","inputRef","original","onValueChange","event","onInputBlur","updatedRow","useClickOutside","jsxs","jsx","Button","_a","Icon"],"mappings":"g6EAgBO,MAAMA,GAAe,CAA2C,CACrE,IAAAC,EACA,SAAAC,EACA,OAAAC,EACA,OAAAC,EACA,SAAAC,EAAW,GACX,WAAAC,EACA,SAAAC,EAAW,EACb,IAAwC,CACtC,KAAM,CAACC,EAAOC,CAAQ,EAAIC,EAA0BR,GAAU,EACxDS,EAAUC,EAAgB,EAAK,EAE/BC,EAAWD,EAAyB,IAAI,EAExC,CAAE,SAAAE,GAAab,EAEfc,EAAiBC,GAA+C,CACpEP,EAASO,EAAM,OAAO,KAAK,EAE3BL,EAAQ,QAAU,EACpB,EAEMM,EAAc,IAAM,CACxB,GAAIN,EAAQ,QAAS,CACnB,MAAMO,EAAa,CAAE,GAAGJ,EAAU,CAACV,CAAM,EAAGI,CAAA,EAC5CL,EAAOE,EAAUa,CAAU,EAE3BP,EAAQ,QAAU,EACpB,CACF,EAEA,OAAAQ,EAAgBN,EAAUI,CAAW,EAGnCG,EAAC,MAAA,CAAI,UAAU,yCACb,SAAA,CAAAC,EAAC,QAAA,CACC,IAAKR,EACL,UAAU,2BACV,KAAK,OACL,SAAAN,EACA,MAAAC,EACA,SAAUO,EACV,OAAQE,EACR,UAAYD,GAAU,CAChBA,EAAM,MAAQ,UAChBA,EAAM,eAAA,EAENC,EAAA,EAEJ,CAAA,CAAA,EAEDX,KACEgB,EAAA,CAAO,OAAO,QAAQ,QAAUN,GAAA,OAAU,OAAAO,EAAAjB,GAAA,YAAAA,EAAY,UAAZ,YAAAiB,EAAA,KAAAjB,EAAsBE,EAAOQ,IAAQ,UAAU,mBACxF,SAAAK,EAACG,EAAA,CAAK,KAAMlB,EAAW,KAAM,UAAU,QAAA,CAAS,CAAA,CAClD,CAAA,EAEJ,CAEJ"}
@@ -1,2 +1,2 @@
1
- import"react/jsx-runtime";import"classnames";import"tailwind-merge";import{TypeGuards as r}from"../../utils/typeGuards.js";import"uuid";import"react";import"../../ui/button/Button.js";import"../../ui/button/model/helpers.js";import"../../ui/buttonIcon/ButtonIcon.js";import"../../ui/loader/model/helpers.js";import"../../ui/calendar/Calendar.js";import{formatDateToLocaleString as i}from"../../ui/calendar/model/utils.js";import"../../ui/accordion/Accordion.js";import"@radix-ui/react-tooltip";import"react-hook-form";import"@hookform/resolvers";import"@radix-ui/react-popover";import"@radix-ui/react-tabs";import"react-dom";import"framer-motion";import"../../ui/modal/ui/IframeModalContent.js";import"react-hot-toast";import"../../ui/notification/ui/CustomToast.js";import"../../ui/table/ui/primitives/Primitives.js";import"@tanstack/react-table";import"../../ui/heading/Heading.js";import"embla-carousel-autoplay";import"embla-carousel-react";import"../../ui/carousel/ui/CarouselContent.js";import"../../ui/customLink/model/helpers.js";import"../../ui/slot/Slot.js";import"../../ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../ui/formElements/uncontrolled/combobox/combobox.js";import"../../ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../ui/formElements/uncontrolled/input/Input.js";import"../../ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"@radix-ui/react-radio-group";import"../../ui/formElements/uncontrolled/slider/SliderBase.js";import"../../ui/formElements/uncontrolled/switch/Switch.js";import"../../ui/formElements/uncontrolled/textarea/Textarea.js";import"../../ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../ui/formElements/ui/MessageView.js";import"@tanstack/react-query";import"../../../../src/configs/api.js";import"@floating-ui/react";import"date-fns";import"../../ui/formElements/controlled/editor/ui/Editor.js";import"../../ui/formElements/controlled/input/MaskInputControl.js";import"../../ui/dropdownList/ui/dropdownItem/DropdownItem.js";const mt={NON_EMPTY:()=>"Поле не может быть пустым",MIN_LENGTH:t=>`Поле должно содержать минимум символов: ${t}`,MAX_LENGTH:t=>`Поле должно содержать максимум символов: ${t}`,FIX_LENGTH:t=>`Поле должно быть фиксированной длины символов: ${t}`,MIN_VALUE:t=>`Значение не может быть меньше чем ${t}`,MAX_VALUE:t=>`Значение не может быть больше чем ${t}`,PHONE_NON_EMPTY:()=>"Номер телефона должен состоять из 11 цифр",PHONE_INVALID_OPERATOR:()=>"Код города/оператора должен начинаться с цифры 3, 4, 5, 6 или 9",EMAIL_INVALID:()=>"Email введен некорректно. Пример: example@domain.ru",EMAIL_NON_EMPTY:()=>"Введите адрес электронной почты",SELECT_NON_EMPTY:()=>"Выберите один из вариантов",SELECT_MULTIPLE_MIN_LENGTH:t=>`Выберите не менее ${t} вариантов`,SELECT_MULTIPLE_MAX_LENGTH:t=>`Выберите не более ${t} вариантов`,SELECT_FIX_LENGTH:t=>`Поле должно быть фиксированного количества вариантов: ${t}`,DATE_INVALID_FORMAT:()=>"Дата указана некорректно",DATE_NON_EMPTY:()=>"Укажите дату",VALUE_OUT_OF_RANGE:t=>`Выберите один из вариантов ${t.join(", ")}`,DATE_MIN:t=>{const o=r.isString(t)?new Date(t):t;return`Выбранная дата должна быть не раньше ${i(o)}`},DATE_MAX:t=>{const o=r.isString(t)?new Date(t):t;return`Выбранная дата должна быть не позже ${i(o)}`},INVALID_REGEX_STRING:()=>"Поле не соответствует требованиям",INVALID_URL:()=>"Ссылка введена некорректно. Пример: https://example.com, example.com",PASSPORT_INVALID_TYPE:()=>"Паспортные данные введены некорректно",PASSPORT_NON_EMPTY:()=>"Поле обязательно для заполнения",PASSPORT_PART_OR_NUMBER_NON_EMPTY:()=>"Серия или номер паспорта не могут быть пустыми",INVALID_PASSPORT_PART:()=>"Серия паспорта введена некорректно",INVALID_PASSPORT_NUMBER:()=>"Номер паспорта введен некорректно",DEPARTMENT_NON_EMPTY:()=>"Поле обязательно для заполнения",INVALID_DEPARTMENT:()=>"Код подразделения введён некорректно",CURRENCY_NON_EMPTY:()=>"Не выбрана валюта"};export{mt as baseDefaultMessages};
1
+ import"react/jsx-runtime";import"classnames";import"tailwind-merge";import{TypeGuards as r}from"../../utils/typeGuards.js";import"uuid";import"react";import"../../ui/button/Button.js";import"../../ui/button/model/helpers.js";import"../../ui/buttonIcon/ButtonIcon.js";import"../../ui/loader/model/helpers.js";import"../../ui/calendar/Calendar.js";import{formatDateToLocaleString as i}from"../../ui/calendar/model/utils.js";import"../../ui/accordion/Accordion.js";import"@radix-ui/react-tooltip";import"react-hook-form";import"@hookform/resolvers/zod";import"@radix-ui/react-popover";import"@radix-ui/react-tabs";import"react-dom";import"framer-motion";import"../../ui/modal/ui/IframeModalContent.js";import"react-hot-toast";import"../../ui/notification/ui/CustomToast.js";import"../../ui/table/ui/primitives/Primitives.js";import"@tanstack/react-table";import"../../ui/heading/Heading.js";import"embla-carousel-autoplay";import"embla-carousel-react";import"../../ui/carousel/ui/CarouselContent.js";import"../../ui/customLink/model/helpers.js";import"../../ui/slot/Slot.js";import"../../ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../ui/formElements/uncontrolled/combobox/combobox.js";import"../../ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../ui/formElements/uncontrolled/input/Input.js";import"../../ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"@radix-ui/react-radio-group";import"../../ui/formElements/uncontrolled/slider/SliderBase.js";import"../../ui/formElements/uncontrolled/switch/Switch.js";import"../../ui/formElements/uncontrolled/textarea/Textarea.js";import"../../ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../ui/formElements/ui/MessageView.js";import"@tanstack/react-query";import"../../../../src/configs/api.js";import"@floating-ui/react";import"date-fns";import"../../ui/formElements/controlled/editor/ui/Editor.js";import"../../ui/formElements/controlled/input/MaskInputControl.js";import"../../ui/dropdownList/ui/dropdownItem/DropdownItem.js";const mt={NON_EMPTY:()=>"Поле не может быть пустым",MIN_LENGTH:t=>`Поле должно содержать минимум символов: ${t}`,MAX_LENGTH:t=>`Поле должно содержать максимум символов: ${t}`,FIX_LENGTH:t=>`Поле должно быть фиксированной длины символов: ${t}`,MIN_VALUE:t=>`Значение не может быть меньше чем ${t}`,MAX_VALUE:t=>`Значение не может быть больше чем ${t}`,PHONE_NON_EMPTY:()=>"Номер телефона должен состоять из 11 цифр",PHONE_INVALID_OPERATOR:()=>"Код города/оператора должен начинаться с цифры 3, 4, 5, 6 или 9",EMAIL_INVALID:()=>"Email введен некорректно. Пример: example@domain.ru",EMAIL_NON_EMPTY:()=>"Введите адрес электронной почты",SELECT_NON_EMPTY:()=>"Выберите один из вариантов",SELECT_MULTIPLE_MIN_LENGTH:t=>`Выберите не менее ${t} вариантов`,SELECT_MULTIPLE_MAX_LENGTH:t=>`Выберите не более ${t} вариантов`,SELECT_FIX_LENGTH:t=>`Поле должно быть фиксированного количества вариантов: ${t}`,DATE_INVALID_FORMAT:()=>"Дата указана некорректно",DATE_NON_EMPTY:()=>"Укажите дату",VALUE_OUT_OF_RANGE:t=>`Выберите один из вариантов ${t.join(", ")}`,DATE_MIN:t=>{const o=r.isString(t)?new Date(t):t;return`Выбранная дата должна быть не раньше ${i(o)}`},DATE_MAX:t=>{const o=r.isString(t)?new Date(t):t;return`Выбранная дата должна быть не позже ${i(o)}`},INVALID_REGEX_STRING:()=>"Поле не соответствует требованиям",INVALID_URL:()=>"Ссылка введена некорректно. Пример: https://example.com, example.com",PASSPORT_INVALID_TYPE:()=>"Паспортные данные введены некорректно",PASSPORT_NON_EMPTY:()=>"Поле обязательно для заполнения",PASSPORT_PART_OR_NUMBER_NON_EMPTY:()=>"Серия или номер паспорта не могут быть пустыми",INVALID_PASSPORT_PART:()=>"Серия паспорта введена некорректно",INVALID_PASSPORT_NUMBER:()=>"Номер паспорта введен некорректно",DEPARTMENT_NON_EMPTY:()=>"Поле обязательно для заполнения",INVALID_DEPARTMENT:()=>"Код подразделения введён некорректно",CURRENCY_NON_EMPTY:()=>"Не выбрана валюта"};export{mt as baseDefaultMessages};
2
2
  //# sourceMappingURL=base.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.constants.js","sources":["../../../../../lib/shared/validation/base/base.constants.ts"],"sourcesContent":["import { type Primitive } from 'zod'\nimport { formatDateToLocaleString } from '$/shared/ui'\nimport { TypeGuards } from '$/shared/utils'\n\nexport const baseDefaultMessages = {\n NON_EMPTY: () => 'Поле не может быть пустым',\n MIN_LENGTH: (min: number) => `Поле должно содержать минимум символов: ${min}`,\n MAX_LENGTH: (max: number) => `Поле должно содержать максимум символов: ${max}`,\n FIX_LENGTH: (length: number) => `Поле должно быть фиксированной длины символов: ${length}`,\n MIN_VALUE: (min: number) => `Значение не может быть меньше чем ${min}`,\n MAX_VALUE: (max: number) => `Значение не может быть больше чем ${max}`,\n\n PHONE_NON_EMPTY: () => 'Номер телефона должен состоять из 11 цифр',\n PHONE_INVALID_OPERATOR: () => 'Код города/оператора должен начинаться с цифры 3, 4, 5, 6 или 9',\n\n EMAIL_INVALID: () => 'Email введен некорректно. Пример: example@domain.ru',\n EMAIL_NON_EMPTY: () => 'Введите адрес электронной почты',\n\n SELECT_NON_EMPTY: () => 'Выберите один из вариантов',\n SELECT_MULTIPLE_MIN_LENGTH: (length: number) => `Выберите не менее ${length} вариантов`,\n SELECT_MULTIPLE_MAX_LENGTH: (length: number) => `Выберите не более ${length} вариантов`,\n SELECT_FIX_LENGTH: (length: number) => `Поле должно быть фиксированного количества вариантов: ${length}`,\n\n DATE_INVALID_FORMAT: () => 'Дата указана некорректно',\n DATE_NON_EMPTY: () => 'Укажите дату',\n VALUE_OUT_OF_RANGE: <T extends Primitive>(range: T[]) => `Выберите один из вариантов ${range.join(', ')}`,\n\n DATE_MIN: (min: Date | string) => {\n const date = TypeGuards.isString(min) ? new Date(min) : min\n\n return `Выбранная дата должна быть не раньше ${formatDateToLocaleString(date)}`\n },\n DATE_MAX: (max: Date | string) => {\n const date = TypeGuards.isString(max) ? new Date(max) : max\n\n return `Выбранная дата должна быть не позже ${formatDateToLocaleString(date)}`\n },\n\n INVALID_REGEX_STRING: () => 'Поле не соответствует требованиям',\n\n INVALID_URL: () => 'Ссылка введена некорректно. Пример: https://example.com, example.com',\n\n PASSPORT_INVALID_TYPE: () => 'Паспортные данные введены некорректно',\n PASSPORT_NON_EMPTY: () => 'Поле обязательно для заполнения',\n PASSPORT_PART_OR_NUMBER_NON_EMPTY: () => 'Серия или номер паспорта не могут быть пустыми',\n INVALID_PASSPORT_PART: () => 'Серия паспорта введена некорректно',\n INVALID_PASSPORT_NUMBER: () => 'Номер паспорта введен некорректно',\n\n DEPARTMENT_NON_EMPTY: () => 'Поле обязательно для заполнения',\n INVALID_DEPARTMENT: () => 'Код подразделения введён некорректно',\n\n CURRENCY_NON_EMPTY: () => 'Не выбрана валюта'\n}\n"],"names":["baseDefaultMessages","min","max","length","range","date","TypeGuards","formatDateToLocaleString"],"mappings":"m0EAIO,MAAMA,GAAsB,CACjC,UAAW,IAAM,4BACjB,WAAaC,GAAgB,2CAA2CA,CAAG,GAC3E,WAAaC,GAAgB,4CAA4CA,CAAG,GAC5E,WAAaC,GAAmB,kDAAkDA,CAAM,GACxF,UAAYF,GAAgB,qCAAqCA,CAAG,GACpE,UAAYC,GAAgB,qCAAqCA,CAAG,GAEpE,gBAAiB,IAAM,4CACvB,uBAAwB,IAAM,kEAE9B,cAAe,IAAM,sDACrB,gBAAiB,IAAM,kCAEvB,iBAAkB,IAAM,6BACxB,2BAA6BC,GAAmB,qBAAqBA,CAAM,aAC3E,2BAA6BA,GAAmB,qBAAqBA,CAAM,aAC3E,kBAAoBA,GAAmB,yDAAyDA,CAAM,GAEtG,oBAAqB,IAAM,2BAC3B,eAAgB,IAAM,eACtB,mBAA0CC,GAAe,8BAA8BA,EAAM,KAAK,IAAI,CAAC,GAEvG,SAAWH,GAAuB,CAChC,MAAMI,EAAOC,EAAW,SAASL,CAAG,EAAI,IAAI,KAAKA,CAAG,EAAIA,EAExD,MAAO,wCAAwCM,EAAyBF,CAAI,CAAC,EAC/E,EACA,SAAWH,GAAuB,CAChC,MAAMG,EAAOC,EAAW,SAASJ,CAAG,EAAI,IAAI,KAAKA,CAAG,EAAIA,EAExD,MAAO,uCAAuCK,EAAyBF,CAAI,CAAC,EAC9E,EAEA,qBAAsB,IAAM,oCAE5B,YAAa,IAAM,uEAEnB,sBAAuB,IAAM,wCAC7B,mBAAoB,IAAM,kCAC1B,kCAAmC,IAAM,iDACzC,sBAAuB,IAAM,qCAC7B,wBAAyB,IAAM,oCAE/B,qBAAsB,IAAM,kCAC5B,mBAAoB,IAAM,uCAE1B,mBAAoB,IAAM,mBAC5B"}
1
+ {"version":3,"file":"base.constants.js","sources":["../../../../../lib/shared/validation/base/base.constants.ts"],"sourcesContent":["import { type Primitive } from 'zod'\nimport { formatDateToLocaleString } from '$/shared/ui'\nimport { TypeGuards } from '$/shared/utils'\n\nexport const baseDefaultMessages = {\n NON_EMPTY: () => 'Поле не может быть пустым',\n MIN_LENGTH: (min: number) => `Поле должно содержать минимум символов: ${min}`,\n MAX_LENGTH: (max: number) => `Поле должно содержать максимум символов: ${max}`,\n FIX_LENGTH: (length: number) => `Поле должно быть фиксированной длины символов: ${length}`,\n MIN_VALUE: (min: number) => `Значение не может быть меньше чем ${min}`,\n MAX_VALUE: (max: number) => `Значение не может быть больше чем ${max}`,\n\n PHONE_NON_EMPTY: () => 'Номер телефона должен состоять из 11 цифр',\n PHONE_INVALID_OPERATOR: () => 'Код города/оператора должен начинаться с цифры 3, 4, 5, 6 или 9',\n\n EMAIL_INVALID: () => 'Email введен некорректно. Пример: example@domain.ru',\n EMAIL_NON_EMPTY: () => 'Введите адрес электронной почты',\n\n SELECT_NON_EMPTY: () => 'Выберите один из вариантов',\n SELECT_MULTIPLE_MIN_LENGTH: (length: number) => `Выберите не менее ${length} вариантов`,\n SELECT_MULTIPLE_MAX_LENGTH: (length: number) => `Выберите не более ${length} вариантов`,\n SELECT_FIX_LENGTH: (length: number) => `Поле должно быть фиксированного количества вариантов: ${length}`,\n\n DATE_INVALID_FORMAT: () => 'Дата указана некорректно',\n DATE_NON_EMPTY: () => 'Укажите дату',\n VALUE_OUT_OF_RANGE: <T extends Primitive>(range: T[]) => `Выберите один из вариантов ${range.join(', ')}`,\n\n DATE_MIN: (min: Date | string) => {\n const date = TypeGuards.isString(min) ? new Date(min) : min\n\n return `Выбранная дата должна быть не раньше ${formatDateToLocaleString(date)}`\n },\n DATE_MAX: (max: Date | string) => {\n const date = TypeGuards.isString(max) ? new Date(max) : max\n\n return `Выбранная дата должна быть не позже ${formatDateToLocaleString(date)}`\n },\n\n INVALID_REGEX_STRING: () => 'Поле не соответствует требованиям',\n\n INVALID_URL: () => 'Ссылка введена некорректно. Пример: https://example.com, example.com',\n\n PASSPORT_INVALID_TYPE: () => 'Паспортные данные введены некорректно',\n PASSPORT_NON_EMPTY: () => 'Поле обязательно для заполнения',\n PASSPORT_PART_OR_NUMBER_NON_EMPTY: () => 'Серия или номер паспорта не могут быть пустыми',\n INVALID_PASSPORT_PART: () => 'Серия паспорта введена некорректно',\n INVALID_PASSPORT_NUMBER: () => 'Номер паспорта введен некорректно',\n\n DEPARTMENT_NON_EMPTY: () => 'Поле обязательно для заполнения',\n INVALID_DEPARTMENT: () => 'Код подразделения введён некорректно',\n\n CURRENCY_NON_EMPTY: () => 'Не выбрана валюта'\n}\n"],"names":["baseDefaultMessages","min","max","length","range","date","TypeGuards","formatDateToLocaleString"],"mappings":"u0EAIO,MAAMA,GAAsB,CACjC,UAAW,IAAM,4BACjB,WAAaC,GAAgB,2CAA2CA,CAAG,GAC3E,WAAaC,GAAgB,4CAA4CA,CAAG,GAC5E,WAAaC,GAAmB,kDAAkDA,CAAM,GACxF,UAAYF,GAAgB,qCAAqCA,CAAG,GACpE,UAAYC,GAAgB,qCAAqCA,CAAG,GAEpE,gBAAiB,IAAM,4CACvB,uBAAwB,IAAM,kEAE9B,cAAe,IAAM,sDACrB,gBAAiB,IAAM,kCAEvB,iBAAkB,IAAM,6BACxB,2BAA6BC,GAAmB,qBAAqBA,CAAM,aAC3E,2BAA6BA,GAAmB,qBAAqBA,CAAM,aAC3E,kBAAoBA,GAAmB,yDAAyDA,CAAM,GAEtG,oBAAqB,IAAM,2BAC3B,eAAgB,IAAM,eACtB,mBAA0CC,GAAe,8BAA8BA,EAAM,KAAK,IAAI,CAAC,GAEvG,SAAWH,GAAuB,CAChC,MAAMI,EAAOC,EAAW,SAASL,CAAG,EAAI,IAAI,KAAKA,CAAG,EAAIA,EAExD,MAAO,wCAAwCM,EAAyBF,CAAI,CAAC,EAC/E,EACA,SAAWH,GAAuB,CAChC,MAAMG,EAAOC,EAAW,SAASJ,CAAG,EAAI,IAAI,KAAKA,CAAG,EAAIA,EAExD,MAAO,uCAAuCK,EAAyBF,CAAI,CAAC,EAC9E,EAEA,qBAAsB,IAAM,oCAE5B,YAAa,IAAM,uEAEnB,sBAAuB,IAAM,wCAC7B,mBAAoB,IAAM,kCAC1B,kCAAmC,IAAM,iDACzC,sBAAuB,IAAM,qCAC7B,wBAAyB,IAAM,oCAE/B,qBAAsB,IAAM,kCAC5B,mBAAoB,IAAM,uCAE1B,mBAAoB,IAAM,mBAC5B"}