brd-ui-kit 0.1.75 → 0.1.77

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 (501) hide show
  1. package/dist/brd-ui-kit.css +1 -1
  2. package/dist/calendar-PqChui7l.cjs +2 -0
  3. package/dist/{calendar-DReGV_22.cjs.map → calendar-PqChui7l.cjs.map} +1 -1
  4. package/dist/{calendar-C0DXP3T-.js → calendar-XWqEaWHP.js} +267 -272
  5. package/dist/{calendar-C0DXP3T-.js.map → calendar-XWqEaWHP.js.map} +1 -1
  6. package/dist/{calendar-locale-CP2pxhFK.cjs → calendar-locale-CosU_VZY.cjs} +2 -2
  7. package/dist/{calendar-locale-CP2pxhFK.cjs.map → calendar-locale-CosU_VZY.cjs.map} +1 -1
  8. package/dist/{calendar-locale-DJf03PI9.js → calendar-locale-DqQZymBn.js} +2 -2
  9. package/dist/{calendar-locale-DJf03PI9.js.map → calendar-locale-DqQZymBn.js.map} +1 -1
  10. package/dist/chart-9H_9wEfR.cjs +63 -0
  11. package/dist/{chart-C69jBlXa.cjs.map → chart-9H_9wEfR.cjs.map} +1 -1
  12. package/dist/{chart-CAPCe8o5.js → chart-DFbmMKiQ.js} +2956 -2951
  13. package/dist/{chart-CAPCe8o5.js.map → chart-DFbmMKiQ.js.map} +1 -1
  14. package/dist/components/app-sidebar/app-sidebar.d.ts +2 -2
  15. package/dist/components/basic-chart/basic-chart.d.ts +1 -1
  16. package/dist/components/basic-table/basic-table.d.ts +5 -5
  17. package/dist/components/data-table/data-table-actions-column.d.ts +3 -3
  18. package/dist/components/data-table/data-table-bulk-actions.d.ts +3 -3
  19. package/dist/components/data-table/data-table-column-visibility.d.ts +2 -2
  20. package/dist/components/data-table/data-table-filter.d.ts +2 -2
  21. package/dist/components/data-table/data-table-row-actions-column.d.ts +5 -5
  22. package/dist/components/data-table/use-data-table-editable-rows.d.ts +5 -5
  23. package/dist/components/files-uploader/files-uploader.d.ts +2 -2
  24. package/dist/components/icons/ArrowCounterClockwise.d.ts +1 -0
  25. package/dist/components/icons/BoundingBox.d.ts +1 -0
  26. package/dist/components/icons/Briefcase.d.ts +1 -0
  27. package/dist/components/icons/Building.d.ts +1 -0
  28. package/dist/components/icons/Buildings.d.ts +1 -0
  29. package/dist/components/icons/CaretDown.d.ts +1 -0
  30. package/dist/components/icons/CaretLeft.d.ts +1 -0
  31. package/dist/components/icons/CaretRight.d.ts +1 -0
  32. package/dist/components/icons/CaretUp.d.ts +1 -0
  33. package/dist/components/icons/CaretUpDown.d.ts +1 -0
  34. package/dist/components/icons/ChartLine.d.ts +1 -0
  35. package/dist/components/icons/Check.d.ts +1 -0
  36. package/dist/components/icons/CheckCircle.d.ts +1 -0
  37. package/dist/components/icons/Clock.d.ts +1 -0
  38. package/dist/components/icons/CreditCard.d.ts +1 -0
  39. package/dist/components/icons/DotsThree.d.ts +1 -0
  40. package/dist/components/icons/DownloadSimple.d.ts +1 -0
  41. package/dist/components/icons/EnvelopeSimple.d.ts +1 -0
  42. package/dist/components/icons/Eye.d.ts +1 -0
  43. package/dist/components/icons/EyeSlash.d.ts +1 -0
  44. package/dist/components/icons/FileText.d.ts +1 -0
  45. package/dist/components/icons/Folder.d.ts +1 -0
  46. package/dist/components/icons/Funnel.d.ts +1 -0
  47. package/dist/components/icons/Gear.d.ts +1 -0
  48. package/dist/components/icons/Info.d.ts +1 -0
  49. package/dist/components/icons/LockKey.d.ts +1 -0
  50. package/dist/components/icons/MagnifyingGlass.d.ts +1 -0
  51. package/dist/components/icons/MaxLogo.d.ts +1 -0
  52. package/dist/components/icons/Package.d.ts +1 -0
  53. package/dist/components/icons/Pencil.d.ts +1 -0
  54. package/dist/components/icons/Phone.d.ts +1 -0
  55. package/dist/components/icons/Plus.d.ts +1 -0
  56. package/dist/components/icons/PresentationChart.d.ts +1 -0
  57. package/dist/components/icons/SpinnerGap.d.ts +1 -0
  58. package/dist/components/icons/TelegramLogo.d.ts +1 -0
  59. package/dist/components/icons/Trash.d.ts +1 -0
  60. package/dist/components/icons/UserCircleGear.d.ts +1 -0
  61. package/dist/components/icons/Users.d.ts +1 -0
  62. package/dist/components/icons/UsersFour.d.ts +1 -0
  63. package/dist/components/icons/Warning.d.ts +1 -0
  64. package/dist/components/icons/WarningCircle.d.ts +1 -0
  65. package/dist/components/icons/WhatsAppLogoFilled.d.ts +1 -0
  66. package/dist/components/icons/Wrench.d.ts +1 -0
  67. package/dist/components/icons/X.d.ts +1 -0
  68. package/dist/components/icons/XCircle.d.ts +1 -0
  69. package/dist/components/icons/index.d.ts +50 -0
  70. package/dist/components/icons/stroke-icon.d.ts +19 -0
  71. package/dist/components/icons.d.ts +2 -0
  72. package/dist/components/input-field/input-field.d.ts +3 -3
  73. package/dist/components/input-password/input-password.d.ts +1 -1
  74. package/dist/components/input-phone/input-phone.d.ts +4 -4
  75. package/dist/components/popover-modal/popover-modal.d.ts +4 -4
  76. package/dist/components/select-field/select-field.d.ts +2 -2
  77. package/dist/components/ui/avatar/avatar.d.ts +7 -7
  78. package/dist/components/ui/badge/badge.d.ts +2 -2
  79. package/dist/components/ui/button/button.d.ts +3 -3
  80. package/dist/components/ui/calendar/calendar.d.ts +6 -6
  81. package/dist/components/ui/calendar/calendar.styles.d.ts +1 -1
  82. package/dist/components/ui/card/card.d.ts +13 -13
  83. package/dist/components/ui/chart/chart.d.ts +23 -21
  84. package/dist/components/ui/checkbox/checkbox.d.ts +4 -4
  85. package/dist/components/ui/combobox/combobox.d.ts +6 -6
  86. package/dist/components/ui/dialog/dialog.d.ts +11 -11
  87. package/dist/components/ui/drawer/drawer.d.ts +11 -11
  88. package/dist/components/ui/dropdown-menu/dropdown-menu.d.ts +42 -42
  89. package/dist/components/ui/icon/icon-map.d.ts +68 -0
  90. package/dist/components/ui/icon/icon.d.ts +6 -6
  91. package/dist/components/ui/icon/index.d.ts +3 -1
  92. package/dist/components/ui/input/input.d.ts +2 -2
  93. package/dist/components/ui/input-group/input-group.d.ts +7 -7
  94. package/dist/components/ui/label/label.d.ts +4 -4
  95. package/dist/components/ui/pagination/pagination.d.ts +8 -8
  96. package/dist/components/ui/popover/popover.d.ts +8 -8
  97. package/dist/components/ui/progress/progress.d.ts +4 -4
  98. package/dist/components/ui/radio-group/radio-group.d.ts +7 -7
  99. package/dist/components/ui/select/select.d.ts +11 -11
  100. package/dist/components/ui/select-calendar-menu/select-calendar-menu.d.ts +4 -4
  101. package/dist/components/ui/separator/separator.d.ts +4 -4
  102. package/dist/components/ui/switch/switch.d.ts +4 -4
  103. package/dist/components/ui/table/table.d.ts +17 -17
  104. package/dist/components/ui/tabs/tabs.d.ts +8 -8
  105. package/dist/components/ui/toggle-group/toggle-group.styles.d.ts +1 -1
  106. package/dist/components/ui/tooltip/tooltip.d.ts +8 -8
  107. package/dist/components/ui/typography/typography.d.ts +174 -174
  108. package/dist/components-app-pagination-app-pagination.cjs +1 -1
  109. package/dist/components-app-pagination-app-pagination.cjs.map +1 -1
  110. package/dist/components-app-pagination-app-pagination.js +34 -32
  111. package/dist/components-app-pagination-app-pagination.js.map +1 -1
  112. package/dist/components-app-sidebar-app-sidebar.cjs +1 -1
  113. package/dist/components-app-sidebar-app-sidebar.cjs.map +1 -1
  114. package/dist/components-app-sidebar-app-sidebar.js +33 -32
  115. package/dist/components-app-sidebar-app-sidebar.js.map +1 -1
  116. package/dist/components-avatar-uploader-avatar-uploader.cjs +2 -2
  117. package/dist/components-avatar-uploader-avatar-uploader.cjs.map +1 -1
  118. package/dist/components-avatar-uploader-avatar-uploader.js +54 -36
  119. package/dist/components-avatar-uploader-avatar-uploader.js.map +1 -1
  120. package/dist/components-basic-avatar-basic-avatar.cjs +2 -2
  121. package/dist/components-basic-avatar-basic-avatar.cjs.map +1 -1
  122. package/dist/components-basic-avatar-basic-avatar.js +25 -5
  123. package/dist/components-basic-avatar-basic-avatar.js.map +1 -1
  124. package/dist/components-basic-chart-basic-chart.cjs +2 -2
  125. package/dist/components-basic-chart-basic-chart.cjs.map +1 -1
  126. package/dist/components-basic-chart-basic-chart.js +106 -108
  127. package/dist/components-basic-chart-basic-chart.js.map +1 -1
  128. package/dist/components-basic-table-basic-table.cjs +2 -2
  129. package/dist/components-basic-table-basic-table.cjs.map +1 -1
  130. package/dist/components-basic-table-basic-table.js +232 -231
  131. package/dist/components-basic-table-basic-table.js.map +1 -1
  132. package/dist/components-data-table-data-table-actions-column.cjs +1 -1
  133. package/dist/components-data-table-data-table-actions-column.cjs.map +1 -1
  134. package/dist/components-data-table-data-table-actions-column.js +1 -1
  135. package/dist/components-data-table-data-table-actions-column.js.map +1 -1
  136. package/dist/components-data-table-data-table-bulk-actions.cjs +1 -1
  137. package/dist/components-data-table-data-table-bulk-actions.cjs.map +1 -1
  138. package/dist/components-data-table-data-table-bulk-actions.js +9 -9
  139. package/dist/components-data-table-data-table-bulk-actions.js.map +1 -1
  140. package/dist/components-data-table-data-table-column-visibility.cjs +1 -1
  141. package/dist/components-data-table-data-table-column-visibility.cjs.map +1 -1
  142. package/dist/components-data-table-data-table-column-visibility.js +11 -10
  143. package/dist/components-data-table-data-table-column-visibility.js.map +1 -1
  144. package/dist/components-data-table-data-table-filter.cjs +1 -1
  145. package/dist/components-data-table-data-table-filter.cjs.map +1 -1
  146. package/dist/components-data-table-data-table-filter.js +15 -15
  147. package/dist/components-data-table-data-table-filter.js.map +1 -1
  148. package/dist/components-data-table-data-table-row-actions-column.cjs +1 -1
  149. package/dist/components-data-table-data-table-row-actions-column.cjs.map +1 -1
  150. package/dist/components-data-table-data-table-row-actions-column.js +1 -1
  151. package/dist/components-data-table-data-table-row-actions-column.js.map +1 -1
  152. package/dist/components-data-table-use-data-table-editable-rows.cjs +1 -1
  153. package/dist/components-data-table-use-data-table-editable-rows.cjs.map +1 -1
  154. package/dist/components-data-table-use-data-table-editable-rows.js +88 -90
  155. package/dist/components-data-table-use-data-table-editable-rows.js.map +1 -1
  156. package/dist/components-files-uploader-files-uploader.cjs +3 -3
  157. package/dist/components-files-uploader-files-uploader.cjs.map +1 -1
  158. package/dist/components-files-uploader-files-uploader.js +41 -38
  159. package/dist/components-files-uploader-files-uploader.js.map +1 -1
  160. package/dist/components-icons-ArrowCounterClockwise.cjs +2 -0
  161. package/dist/components-icons-ArrowCounterClockwise.cjs.map +1 -0
  162. package/dist/components-icons-ArrowCounterClockwise.js +5 -0
  163. package/dist/components-icons-ArrowCounterClockwise.js.map +1 -0
  164. package/dist/components-icons-BoundingBox.cjs +2 -0
  165. package/dist/components-icons-BoundingBox.cjs.map +1 -0
  166. package/dist/components-icons-BoundingBox.js +5 -0
  167. package/dist/components-icons-BoundingBox.js.map +1 -0
  168. package/dist/components-icons-Briefcase.cjs +2 -0
  169. package/dist/components-icons-Briefcase.cjs.map +1 -0
  170. package/dist/components-icons-Briefcase.js +5 -0
  171. package/dist/components-icons-Briefcase.js.map +1 -0
  172. package/dist/components-icons-Building.cjs +2 -0
  173. package/dist/components-icons-Building.cjs.map +1 -0
  174. package/dist/components-icons-Building.js +5 -0
  175. package/dist/components-icons-Building.js.map +1 -0
  176. package/dist/components-icons-Buildings.cjs +2 -0
  177. package/dist/components-icons-Buildings.cjs.map +1 -0
  178. package/dist/components-icons-Buildings.js +5 -0
  179. package/dist/components-icons-Buildings.js.map +1 -0
  180. package/dist/components-icons-CaretDown.cjs +2 -0
  181. package/dist/components-icons-CaretDown.cjs.map +1 -0
  182. package/dist/components-icons-CaretDown.js +5 -0
  183. package/dist/components-icons-CaretDown.js.map +1 -0
  184. package/dist/components-icons-CaretLeft.cjs +2 -0
  185. package/dist/components-icons-CaretLeft.cjs.map +1 -0
  186. package/dist/components-icons-CaretLeft.js +5 -0
  187. package/dist/components-icons-CaretLeft.js.map +1 -0
  188. package/dist/components-icons-CaretRight.cjs +2 -0
  189. package/dist/components-icons-CaretRight.cjs.map +1 -0
  190. package/dist/components-icons-CaretRight.js +5 -0
  191. package/dist/components-icons-CaretRight.js.map +1 -0
  192. package/dist/components-icons-CaretUp.cjs +2 -0
  193. package/dist/components-icons-CaretUp.cjs.map +1 -0
  194. package/dist/components-icons-CaretUp.js +5 -0
  195. package/dist/components-icons-CaretUp.js.map +1 -0
  196. package/dist/components-icons-CaretUpDown.cjs +2 -0
  197. package/dist/components-icons-CaretUpDown.cjs.map +1 -0
  198. package/dist/components-icons-CaretUpDown.js +5 -0
  199. package/dist/components-icons-CaretUpDown.js.map +1 -0
  200. package/dist/components-icons-ChartLine.cjs +2 -0
  201. package/dist/components-icons-ChartLine.cjs.map +1 -0
  202. package/dist/components-icons-ChartLine.js +5 -0
  203. package/dist/components-icons-ChartLine.js.map +1 -0
  204. package/dist/components-icons-Check.cjs +2 -0
  205. package/dist/components-icons-Check.cjs.map +1 -0
  206. package/dist/components-icons-Check.js +5 -0
  207. package/dist/components-icons-Check.js.map +1 -0
  208. package/dist/components-icons-CheckCircle.cjs +2 -0
  209. package/dist/components-icons-CheckCircle.cjs.map +1 -0
  210. package/dist/components-icons-CheckCircle.js +5 -0
  211. package/dist/components-icons-CheckCircle.js.map +1 -0
  212. package/dist/components-icons-Clock.cjs +2 -0
  213. package/dist/components-icons-Clock.cjs.map +1 -0
  214. package/dist/components-icons-Clock.js +5 -0
  215. package/dist/components-icons-Clock.js.map +1 -0
  216. package/dist/components-icons-CreditCard.cjs +2 -0
  217. package/dist/components-icons-CreditCard.cjs.map +1 -0
  218. package/dist/components-icons-CreditCard.js +5 -0
  219. package/dist/components-icons-CreditCard.js.map +1 -0
  220. package/dist/components-icons-DotsThree.cjs +2 -0
  221. package/dist/components-icons-DotsThree.cjs.map +1 -0
  222. package/dist/components-icons-DotsThree.js +5 -0
  223. package/dist/components-icons-DotsThree.js.map +1 -0
  224. package/dist/components-icons-DownloadSimple.cjs +2 -0
  225. package/dist/components-icons-DownloadSimple.cjs.map +1 -0
  226. package/dist/components-icons-DownloadSimple.js +5 -0
  227. package/dist/components-icons-DownloadSimple.js.map +1 -0
  228. package/dist/components-icons-EnvelopeSimple.cjs +2 -0
  229. package/dist/components-icons-EnvelopeSimple.cjs.map +1 -0
  230. package/dist/components-icons-EnvelopeSimple.js +5 -0
  231. package/dist/components-icons-EnvelopeSimple.js.map +1 -0
  232. package/dist/components-icons-Eye.cjs +2 -0
  233. package/dist/components-icons-Eye.cjs.map +1 -0
  234. package/dist/components-icons-Eye.js +5 -0
  235. package/dist/components-icons-Eye.js.map +1 -0
  236. package/dist/components-icons-EyeSlash.cjs +2 -0
  237. package/dist/components-icons-EyeSlash.cjs.map +1 -0
  238. package/dist/components-icons-EyeSlash.js +5 -0
  239. package/dist/components-icons-EyeSlash.js.map +1 -0
  240. package/dist/components-icons-FileText.cjs +2 -0
  241. package/dist/components-icons-FileText.cjs.map +1 -0
  242. package/dist/components-icons-FileText.js +5 -0
  243. package/dist/components-icons-FileText.js.map +1 -0
  244. package/dist/components-icons-Folder.cjs +2 -0
  245. package/dist/components-icons-Folder.cjs.map +1 -0
  246. package/dist/components-icons-Folder.js +5 -0
  247. package/dist/components-icons-Folder.js.map +1 -0
  248. package/dist/components-icons-Funnel.cjs +2 -0
  249. package/dist/components-icons-Funnel.cjs.map +1 -0
  250. package/dist/components-icons-Funnel.js +5 -0
  251. package/dist/components-icons-Funnel.js.map +1 -0
  252. package/dist/components-icons-Gear.cjs +2 -0
  253. package/dist/components-icons-Gear.cjs.map +1 -0
  254. package/dist/components-icons-Gear.js +5 -0
  255. package/dist/components-icons-Gear.js.map +1 -0
  256. package/dist/components-icons-Info.cjs +2 -0
  257. package/dist/components-icons-Info.cjs.map +1 -0
  258. package/dist/components-icons-Info.js +5 -0
  259. package/dist/components-icons-Info.js.map +1 -0
  260. package/dist/components-icons-LockKey.cjs +2 -0
  261. package/dist/components-icons-LockKey.cjs.map +1 -0
  262. package/dist/components-icons-LockKey.js +5 -0
  263. package/dist/components-icons-LockKey.js.map +1 -0
  264. package/dist/components-icons-MagnifyingGlass.cjs +2 -0
  265. package/dist/components-icons-MagnifyingGlass.cjs.map +1 -0
  266. package/dist/components-icons-MagnifyingGlass.js +5 -0
  267. package/dist/components-icons-MagnifyingGlass.js.map +1 -0
  268. package/dist/components-icons-MaxLogo.cjs +2 -0
  269. package/dist/components-icons-MaxLogo.cjs.map +1 -0
  270. package/dist/components-icons-MaxLogo.js +5 -0
  271. package/dist/components-icons-MaxLogo.js.map +1 -0
  272. package/dist/components-icons-Package.cjs +2 -0
  273. package/dist/components-icons-Package.cjs.map +1 -0
  274. package/dist/components-icons-Package.js +5 -0
  275. package/dist/components-icons-Package.js.map +1 -0
  276. package/dist/components-icons-Pencil.cjs +2 -0
  277. package/dist/components-icons-Pencil.cjs.map +1 -0
  278. package/dist/components-icons-Pencil.js +5 -0
  279. package/dist/components-icons-Pencil.js.map +1 -0
  280. package/dist/components-icons-Phone.cjs +2 -0
  281. package/dist/components-icons-Phone.cjs.map +1 -0
  282. package/dist/components-icons-Phone.js +5 -0
  283. package/dist/components-icons-Phone.js.map +1 -0
  284. package/dist/components-icons-Plus.cjs +2 -0
  285. package/dist/components-icons-Plus.cjs.map +1 -0
  286. package/dist/components-icons-Plus.js +5 -0
  287. package/dist/components-icons-Plus.js.map +1 -0
  288. package/dist/components-icons-PresentationChart.cjs +2 -0
  289. package/dist/components-icons-PresentationChart.cjs.map +1 -0
  290. package/dist/components-icons-PresentationChart.js +5 -0
  291. package/dist/components-icons-PresentationChart.js.map +1 -0
  292. package/dist/components-icons-SpinnerGap.cjs +2 -0
  293. package/dist/components-icons-SpinnerGap.cjs.map +1 -0
  294. package/dist/components-icons-SpinnerGap.js +5 -0
  295. package/dist/components-icons-SpinnerGap.js.map +1 -0
  296. package/dist/components-icons-TelegramLogo.cjs +2 -0
  297. package/dist/components-icons-TelegramLogo.cjs.map +1 -0
  298. package/dist/components-icons-TelegramLogo.js +5 -0
  299. package/dist/components-icons-TelegramLogo.js.map +1 -0
  300. package/dist/components-icons-Trash.cjs +2 -0
  301. package/dist/components-icons-Trash.cjs.map +1 -0
  302. package/dist/components-icons-Trash.js +5 -0
  303. package/dist/components-icons-Trash.js.map +1 -0
  304. package/dist/components-icons-UserCircleGear.cjs +2 -0
  305. package/dist/components-icons-UserCircleGear.cjs.map +1 -0
  306. package/dist/components-icons-UserCircleGear.js +5 -0
  307. package/dist/components-icons-UserCircleGear.js.map +1 -0
  308. package/dist/components-icons-Users.cjs +2 -0
  309. package/dist/components-icons-Users.cjs.map +1 -0
  310. package/dist/components-icons-Users.js +5 -0
  311. package/dist/components-icons-Users.js.map +1 -0
  312. package/dist/components-icons-UsersFour.cjs +2 -0
  313. package/dist/components-icons-UsersFour.cjs.map +1 -0
  314. package/dist/components-icons-UsersFour.js +5 -0
  315. package/dist/components-icons-UsersFour.js.map +1 -0
  316. package/dist/components-icons-Warning.cjs +2 -0
  317. package/dist/components-icons-Warning.cjs.map +1 -0
  318. package/dist/components-icons-Warning.js +5 -0
  319. package/dist/components-icons-Warning.js.map +1 -0
  320. package/dist/components-icons-WarningCircle.cjs +2 -0
  321. package/dist/components-icons-WarningCircle.cjs.map +1 -0
  322. package/dist/components-icons-WarningCircle.js +5 -0
  323. package/dist/components-icons-WarningCircle.js.map +1 -0
  324. package/dist/components-icons-WhatsAppLogoFilled.cjs +2 -0
  325. package/dist/components-icons-WhatsAppLogoFilled.cjs.map +1 -0
  326. package/dist/components-icons-WhatsAppLogoFilled.js +5 -0
  327. package/dist/components-icons-WhatsAppLogoFilled.js.map +1 -0
  328. package/dist/components-icons-Wrench.cjs +2 -0
  329. package/dist/components-icons-Wrench.cjs.map +1 -0
  330. package/dist/components-icons-Wrench.js +5 -0
  331. package/dist/components-icons-Wrench.js.map +1 -0
  332. package/dist/components-icons-X.cjs +2 -0
  333. package/dist/components-icons-X.cjs.map +1 -0
  334. package/dist/components-icons-X.js +5 -0
  335. package/dist/components-icons-X.js.map +1 -0
  336. package/dist/components-icons-XCircle.cjs +2 -0
  337. package/dist/components-icons-XCircle.cjs.map +1 -0
  338. package/dist/components-icons-XCircle.js +5 -0
  339. package/dist/components-icons-XCircle.js.map +1 -0
  340. package/dist/components-icons-stroke-icon.cjs +2 -0
  341. package/dist/components-icons-stroke-icon.cjs.map +1 -0
  342. package/dist/components-icons-stroke-icon.js +39 -0
  343. package/dist/components-icons-stroke-icon.js.map +1 -0
  344. package/dist/components-icons.cjs +2 -0
  345. package/dist/components-icons.cjs.map +1 -0
  346. package/dist/components-icons.js +97 -0
  347. package/dist/components-icons.js.map +1 -0
  348. package/dist/components-input-contact-input-contact.cjs +4 -4
  349. package/dist/components-input-contact-input-contact.cjs.map +1 -1
  350. package/dist/components-input-contact-input-contact.js +104 -75
  351. package/dist/components-input-contact-input-contact.js.map +1 -1
  352. package/dist/components-input-field-input-field.cjs +1 -1
  353. package/dist/components-input-field-input-field.cjs.map +1 -1
  354. package/dist/components-input-field-input-field.js +18 -19
  355. package/dist/components-input-field-input-field.js.map +1 -1
  356. package/dist/components-input-password-input-password.cjs +1 -1
  357. package/dist/components-input-password-input-password.cjs.map +1 -1
  358. package/dist/components-input-password-input-password.js +14 -52
  359. package/dist/components-input-password-input-password.js.map +1 -1
  360. package/dist/components-input-phone-input-phone.cjs.map +1 -1
  361. package/dist/components-input-phone-input-phone.js.map +1 -1
  362. package/dist/components-popover-modal-popover-modal.cjs +1 -1
  363. package/dist/components-popover-modal-popover-modal.cjs.map +1 -1
  364. package/dist/components-popover-modal-popover-modal.js +40 -29
  365. package/dist/components-popover-modal-popover-modal.js.map +1 -1
  366. package/dist/components-select-field-select-field.cjs.map +1 -1
  367. package/dist/components-select-field-select-field.js.map +1 -1
  368. package/dist/components-ui-avatar-avatar.cjs +1 -1
  369. package/dist/components-ui-avatar-avatar.cjs.map +1 -1
  370. package/dist/components-ui-avatar-avatar.js +12 -13
  371. package/dist/components-ui-avatar-avatar.js.map +1 -1
  372. package/dist/components-ui-badge-badge.cjs +1 -1
  373. package/dist/components-ui-badge-badge.cjs.map +1 -1
  374. package/dist/components-ui-badge-badge.js +10 -11
  375. package/dist/components-ui-badge-badge.js.map +1 -1
  376. package/dist/components-ui-button-button.cjs +1 -1
  377. package/dist/components-ui-button-button.cjs.map +1 -1
  378. package/dist/components-ui-button-button.js +10 -11
  379. package/dist/components-ui-button-button.js.map +1 -1
  380. package/dist/components-ui-button-button.styles.cjs +4 -4
  381. package/dist/components-ui-button-button.styles.cjs.map +1 -1
  382. package/dist/components-ui-button-button.styles.js +4 -4
  383. package/dist/components-ui-button-button.styles.js.map +1 -1
  384. package/dist/components-ui-calendar-calendar.cjs +1 -1
  385. package/dist/components-ui-calendar-calendar.js +4 -3
  386. package/dist/components-ui-calendar-calendar.js.map +1 -1
  387. package/dist/components-ui-calendar-calendar.styles.cjs +1 -1
  388. package/dist/components-ui-calendar-calendar.styles.cjs.map +1 -1
  389. package/dist/components-ui-calendar-calendar.styles.js +1 -1
  390. package/dist/components-ui-calendar-calendar.styles.js.map +1 -1
  391. package/dist/components-ui-calendar.cjs +1 -1
  392. package/dist/components-ui-calendar.js +2 -2
  393. package/dist/components-ui-card-card.cjs +1 -1
  394. package/dist/components-ui-card-card.cjs.map +1 -1
  395. package/dist/components-ui-card-card.js +10 -11
  396. package/dist/components-ui-card-card.js.map +1 -1
  397. package/dist/components-ui-chart-chart.cjs +1 -1
  398. package/dist/components-ui-chart-chart.js +1 -1
  399. package/dist/components-ui-chart.cjs +1 -1
  400. package/dist/components-ui-chart.js +1 -1
  401. package/dist/components-ui-checkbox-checkbox.cjs +1 -1
  402. package/dist/components-ui-checkbox-checkbox.cjs.map +1 -1
  403. package/dist/components-ui-checkbox-checkbox.js +13 -13
  404. package/dist/components-ui-checkbox-checkbox.js.map +1 -1
  405. package/dist/components-ui-combobox-combobox.cjs +5 -5
  406. package/dist/components-ui-combobox-combobox.cjs.map +1 -1
  407. package/dist/components-ui-combobox-combobox.js +1478 -1479
  408. package/dist/components-ui-combobox-combobox.js.map +1 -1
  409. package/dist/components-ui-dialog-dialog.cjs +1 -1
  410. package/dist/components-ui-dialog-dialog.cjs.map +1 -1
  411. package/dist/components-ui-dialog-dialog.js +23 -23
  412. package/dist/components-ui-dialog-dialog.js.map +1 -1
  413. package/dist/components-ui-drawer-drawer.cjs +2 -2
  414. package/dist/components-ui-drawer-drawer.cjs.map +1 -1
  415. package/dist/components-ui-drawer-drawer.js +16 -19
  416. package/dist/components-ui-drawer-drawer.js.map +1 -1
  417. package/dist/components-ui-dropdown-menu-dropdown-menu.cjs +1 -1
  418. package/dist/components-ui-dropdown-menu-dropdown-menu.cjs.map +1 -1
  419. package/dist/components-ui-dropdown-menu-dropdown-menu.js +1 -1
  420. package/dist/components-ui-dropdown-menu-dropdown-menu.js.map +1 -1
  421. package/dist/components-ui-icon-icon-map.cjs +2 -0
  422. package/dist/components-ui-icon-icon-map.cjs.map +1 -0
  423. package/dist/components-ui-icon-icon-map.js +71 -0
  424. package/dist/components-ui-icon-icon-map.js.map +1 -0
  425. package/dist/components-ui-icon-icon.cjs +1 -1
  426. package/dist/components-ui-icon-icon.cjs.map +1 -1
  427. package/dist/components-ui-icon-icon.js +29 -61735
  428. package/dist/components-ui-icon-icon.js.map +1 -1
  429. package/dist/components-ui-icon.cjs +1 -1
  430. package/dist/components-ui-icon.js +3 -1
  431. package/dist/components-ui-icon.js.map +1 -1
  432. package/dist/components-ui-input-group-input-group.cjs +1 -1
  433. package/dist/components-ui-input-group-input-group.cjs.map +1 -1
  434. package/dist/components-ui-input-group-input-group.js +12 -13
  435. package/dist/components-ui-input-group-input-group.js.map +1 -1
  436. package/dist/components-ui-input-input.cjs +1 -1
  437. package/dist/components-ui-input-input.cjs.map +1 -1
  438. package/dist/components-ui-input-input.js +2 -3
  439. package/dist/components-ui-input-input.js.map +1 -1
  440. package/dist/components-ui-label-label.cjs +1 -1
  441. package/dist/components-ui-label-label.cjs.map +1 -1
  442. package/dist/components-ui-label-label.js +1 -1
  443. package/dist/components-ui-label-label.js.map +1 -1
  444. package/dist/components-ui-pagination-pagination.cjs +2 -2
  445. package/dist/components-ui-pagination-pagination.cjs.map +1 -1
  446. package/dist/components-ui-pagination-pagination.js +48 -46
  447. package/dist/components-ui-pagination-pagination.js.map +1 -1
  448. package/dist/components-ui-popover-popover.cjs +1 -1
  449. package/dist/components-ui-popover-popover.cjs.map +1 -1
  450. package/dist/components-ui-popover-popover.js +14 -19
  451. package/dist/components-ui-popover-popover.js.map +1 -1
  452. package/dist/components-ui-progress-progress.cjs +1 -1
  453. package/dist/components-ui-progress-progress.cjs.map +1 -1
  454. package/dist/components-ui-progress-progress.js +1 -1
  455. package/dist/components-ui-progress-progress.js.map +1 -1
  456. package/dist/components-ui-radio-group-radio-group.cjs +1 -1
  457. package/dist/components-ui-radio-group-radio-group.cjs.map +1 -1
  458. package/dist/components-ui-radio-group-radio-group.js +0 -1
  459. package/dist/components-ui-radio-group-radio-group.js.map +1 -1
  460. package/dist/components-ui-select-calendar-menu-select-calendar-menu.cjs +1 -1
  461. package/dist/components-ui-select-calendar-menu-select-calendar-menu.cjs.map +1 -1
  462. package/dist/components-ui-select-calendar-menu-select-calendar-menu.js +54 -47
  463. package/dist/components-ui-select-calendar-menu-select-calendar-menu.js.map +1 -1
  464. package/dist/components-ui-select-select.cjs +1 -1
  465. package/dist/components-ui-select-select.cjs.map +1 -1
  466. package/dist/components-ui-select-select.js +36 -36
  467. package/dist/components-ui-select-select.js.map +1 -1
  468. package/dist/components-ui-separator-separator.cjs +1 -1
  469. package/dist/components-ui-separator-separator.cjs.map +1 -1
  470. package/dist/components-ui-separator-separator.js +11 -12
  471. package/dist/components-ui-separator-separator.js.map +1 -1
  472. package/dist/components-ui-sonner-sonner.cjs +1 -1
  473. package/dist/components-ui-sonner-sonner.cjs.map +1 -1
  474. package/dist/components-ui-sonner-sonner.js +38 -32
  475. package/dist/components-ui-sonner-sonner.js.map +1 -1
  476. package/dist/components-ui-switch-switch.cjs +1 -1
  477. package/dist/components-ui-switch-switch.cjs.map +1 -1
  478. package/dist/components-ui-switch-switch.js +6 -7
  479. package/dist/components-ui-switch-switch.js.map +1 -1
  480. package/dist/components-ui-table-table.cjs +1 -1
  481. package/dist/components-ui-table-table.cjs.map +1 -1
  482. package/dist/components-ui-table-table.js +0 -1
  483. package/dist/components-ui-table-table.js.map +1 -1
  484. package/dist/components-ui-tabs-tabs.cjs +2 -2
  485. package/dist/components-ui-tabs-tabs.cjs.map +1 -1
  486. package/dist/components-ui-tabs-tabs.js +16 -16
  487. package/dist/components-ui-tabs-tabs.js.map +1 -1
  488. package/dist/components-ui-tooltip-tooltip.cjs +1 -1
  489. package/dist/components-ui-tooltip-tooltip.cjs.map +1 -1
  490. package/dist/components-ui-tooltip-tooltip.js +9 -10
  491. package/dist/components-ui-tooltip-tooltip.js.map +1 -1
  492. package/dist/components-ui-typography-typography.cjs +1 -1
  493. package/dist/components-ui-typography-typography.cjs.map +1 -1
  494. package/dist/components-ui-typography-typography.js +7 -7
  495. package/dist/components-ui-typography-typography.js.map +1 -1
  496. package/dist/index.cjs +1 -1
  497. package/dist/index.js +234 -233
  498. package/dist/index.js.map +1 -1
  499. package/package.json +10 -1
  500. package/dist/calendar-DReGV_22.cjs +0 -2
  501. package/dist/chart-C69jBlXa.cjs +0 -63
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime");require("react");const b=require("./components-ui-button-button.cjs");require("./components-ui-button-button.styles.cjs");const f=require("./components-ui-dropdown-menu-dropdown-menu.cjs"),y=require("./components-ui-icon-icon.cjs");function _(c={}){const{id:i="actions",header:u,renderCell:a,trigger:s,menuItems:t,align:d="end",ariaLabel:m="Открыть действия строки"}=c;return{id:i,header:u,enableSorting:!1,enableHiding:!1,meta:{label:"Действия",headClassName:"w-[4.5625rem]",cellClassName:"w-[4.5625rem]"},cell:({row:l})=>{const n={row:l,data:l.original};if(a)return a(n);const o=typeof t=="function"?t(n):t,p=[{id:`${i}-empty`,type:"item",label:"Нет действий",readOnly:!0}],g=s?s(n):e.jsx(b.Button,{type:"button",variant:"circleGhost",size:"icon-xs","aria-label":m,children:e.jsx(y.Icon,{type:"dots-three","aria-hidden":!0})});return e.jsx("div",{className:"flex justify-end",onClick:r=>r.stopPropagation(),onKeyDown:r=>r.stopPropagation(),role:"presentation",children:e.jsx(f.ConfigurableDropdownMenu,{trigger:g,items:o&&o.length>0?o:p,contentProps:{align:d}})})}}}exports.createDataTableActionsColumn=_;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),b=require("./components-ui-button-button.cjs");require("./components-ui-button-button.styles.cjs");const f=require("./components-ui-dropdown-menu-dropdown-menu.cjs"),y=require("./components-ui-icon-icon.cjs");require("phosphor-strokes-icons/icons");function _(c={}){const{id:i="actions",header:u,renderCell:a,trigger:s,menuItems:t,align:d="end",ariaLabel:m="Открыть действия строки"}=c;return{id:i,header:u,enableSorting:!1,enableHiding:!1,meta:{label:"Действия",headClassName:"w-[4.5625rem]",cellClassName:"w-[4.5625rem]"},cell:({row:l})=>{const n={row:l,data:l.original};if(a)return a(n);const o=typeof t=="function"?t(n):t,p=[{id:`${i}-empty`,type:"item",label:"Нет действий",readOnly:!0}],g=s?s(n):e.jsx(b.Button,{type:"button",variant:"circleGhost",size:"icon-xs","aria-label":m,children:e.jsx(y.Icon,{type:"dots-three","aria-hidden":!0})});return e.jsx("div",{className:"flex justify-end",onClick:r=>r.stopPropagation(),onKeyDown:r=>r.stopPropagation(),role:"presentation",children:e.jsx(f.ConfigurableDropdownMenu,{trigger:g,items:o&&o.length>0?o:p,contentProps:{align:d}})})}}}exports.createDataTableActionsColumn=_;
2
2
  //# sourceMappingURL=components-data-table-data-table-actions-column.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"components-data-table-data-table-actions-column.cjs","sources":["../src/components/data-table/data-table-actions-column.tsx"],"sourcesContent":["import type { ColumnDef, Row } from \"@tanstack/react-table\";\nimport * as React from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport {\n ConfigurableDropdownMenu,\n type DropdownMenuConfigNode,\n} from \"@/components/ui/dropdown-menu\";\nimport { Icon } from \"@/components/ui/icon\";\n\ntype DataTableActionsColumnOptions<TData> = {\n id?: string;\n header?: ColumnDef<TData>[\"header\"];\n renderCell?: (ctx: { row: Row<TData>; data: TData }) => React.ReactNode;\n trigger?: (ctx: { row: Row<TData>; data: TData }) => React.ReactNode;\n menuItems?:\n | DropdownMenuConfigNode[]\n | ((ctx: { row: Row<TData>; data: TData }) => DropdownMenuConfigNode[]);\n align?: \"start\" | \"center\" | \"end\";\n ariaLabel?: string;\n};\n\nexport function createDataTableActionsColumn<TData>(\n options: DataTableActionsColumnOptions<TData> = {},\n): ColumnDef<TData> {\n const {\n id = \"actions\",\n header,\n renderCell,\n trigger,\n menuItems,\n align = \"end\",\n ariaLabel = \"Открыть действия строки\",\n } = options;\n\n return {\n id,\n header,\n enableSorting: false,\n enableHiding: false,\n meta: {\n label: \"Действия\",\n headClassName: \"w-[4.5625rem]\",\n cellClassName: \"w-[4.5625rem]\",\n },\n cell: ({ row }) => {\n const context = { row, data: row.original };\n\n if (renderCell) {\n return renderCell(context);\n }\n\n const resolvedItems =\n typeof menuItems === \"function\" ? menuItems(context) : menuItems;\n\n const fallbackItems: DropdownMenuConfigNode[] = [\n { id: `${id}-empty`, type: \"item\", label: \"Нет действий\", readOnly: true },\n ];\n\n const resolvedTrigger = trigger ? (\n trigger(context)\n ) : (\n <Button\n type=\"button\"\n variant=\"circleGhost\"\n size=\"icon-xs\"\n aria-label={ariaLabel}\n >\n <Icon\n type=\"dots-three\"\n aria-hidden\n />\n </Button>\n );\n\n return (\n <div\n className=\"flex justify-end\"\n onClick={(event) => event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n role=\"presentation\"\n >\n <ConfigurableDropdownMenu\n trigger={resolvedTrigger}\n items={\n resolvedItems && resolvedItems.length > 0 ? resolvedItems : fallbackItems\n }\n contentProps={{ align }}\n />\n </div>\n );\n },\n };\n}\n\nexport type { DataTableActionsColumnOptions };\n"],"names":["createDataTableActionsColumn","options","id","header","renderCell","trigger","menuItems","align","ariaLabel","row","context","resolvedItems","fallbackItems","resolvedTrigger","jsx","Button","Icon","event","ConfigurableDropdownMenu"],"mappings":"6VAsBO,SAASA,EACdC,EAAgD,GAC9B,CAClB,KAAM,CACJ,GAAAC,EAAK,UACL,OAAAC,EACA,WAAAC,EACA,QAAAC,EACA,UAAAC,EACA,MAAAC,EAAQ,MACR,UAAAC,EAAY,yBAAA,EACVP,EAEJ,MAAO,CACL,GAAAC,EACA,OAAAC,EACA,cAAe,GACf,aAAc,GACd,KAAM,CACJ,MAAO,WACP,cAAe,gBACf,cAAe,eAAA,EAEjB,KAAM,CAAC,CAAE,IAAAM,KAAU,CACjB,MAAMC,EAAU,CAAE,IAAAD,EAAK,KAAMA,EAAI,QAAA,EAEjC,GAAIL,EACF,OAAOA,EAAWM,CAAO,EAG3B,MAAMC,EACJ,OAAOL,GAAc,WAAaA,EAAUI,CAAO,EAAIJ,EAEnDM,EAA0C,CAC9C,CAAE,GAAI,GAAGV,CAAE,SAAU,KAAM,OAAQ,MAAO,eAAgB,SAAU,EAAA,CAAK,EAGrEW,EAAkBR,EACtBA,EAAQK,CAAO,EAEfI,EAAAA,IAACC,EAAAA,OAAA,CACC,KAAK,SACL,QAAQ,cACR,KAAK,UACL,aAAYP,EAEZ,SAAAM,EAAAA,IAACE,EAAAA,KAAA,CACC,KAAK,aACL,cAAW,EAAA,CAAA,CACb,CAAA,EAIJ,OACEF,EAAAA,IAAC,MAAA,CACC,UAAU,mBACV,QAAUG,GAAUA,EAAM,gBAAA,EAC1B,UAAYA,GAAUA,EAAM,gBAAA,EAC5B,KAAK,eAEL,SAAAH,EAAAA,IAACI,EAAAA,yBAAA,CACC,QAASL,EACT,MACEF,GAAiBA,EAAc,OAAS,EAAIA,EAAgBC,EAE9D,aAAc,CAAE,MAAAL,CAAA,CAAM,CAAA,CACxB,CAAA,CAGN,CAAA,CAEJ"}
1
+ {"version":3,"file":"components-data-table-data-table-actions-column.cjs","sources":["../src/components/data-table/data-table-actions-column.tsx"],"sourcesContent":["import type { ColumnDef, Row } from \"@tanstack/react-table\";\nimport type { ReactNode } from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport {\n ConfigurableDropdownMenu,\n type DropdownMenuConfigNode,\n} from \"@/components/ui/dropdown-menu\";\nimport { Icon } from \"@/components/ui/icon\";\n\ntype DataTableActionsColumnOptions<TData> = {\n id?: string;\n header?: ColumnDef<TData>[\"header\"];\n renderCell?: (ctx: { row: Row<TData>; data: TData }) => ReactNode;\n trigger?: (ctx: { row: Row<TData>; data: TData }) => ReactNode;\n menuItems?:\n | DropdownMenuConfigNode[]\n | ((ctx: { row: Row<TData>; data: TData }) => DropdownMenuConfigNode[]);\n align?: \"start\" | \"center\" | \"end\";\n ariaLabel?: string;\n};\n\nexport function createDataTableActionsColumn<TData>(\n options: DataTableActionsColumnOptions<TData> = {},\n): ColumnDef<TData> {\n const {\n id = \"actions\",\n header,\n renderCell,\n trigger,\n menuItems,\n align = \"end\",\n ariaLabel = \"Открыть действия строки\",\n } = options;\n\n return {\n id,\n header,\n enableSorting: false,\n enableHiding: false,\n meta: {\n label: \"Действия\",\n headClassName: \"w-[4.5625rem]\",\n cellClassName: \"w-[4.5625rem]\",\n },\n cell: ({ row }) => {\n const context = { row, data: row.original };\n\n if (renderCell) {\n return renderCell(context);\n }\n\n const resolvedItems =\n typeof menuItems === \"function\" ? menuItems(context) : menuItems;\n\n const fallbackItems: DropdownMenuConfigNode[] = [\n { id: `${id}-empty`, type: \"item\", label: \"Нет действий\", readOnly: true },\n ];\n\n const resolvedTrigger = trigger ? (\n trigger(context)\n ) : (\n <Button\n type=\"button\"\n variant=\"circleGhost\"\n size=\"icon-xs\"\n aria-label={ariaLabel}\n >\n <Icon\n type=\"dots-three\"\n aria-hidden\n />\n </Button>\n );\n\n return (\n <div\n className=\"flex justify-end\"\n onClick={(event) => event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n role=\"presentation\"\n >\n <ConfigurableDropdownMenu\n trigger={resolvedTrigger}\n items={\n resolvedItems && resolvedItems.length > 0 ? resolvedItems : fallbackItems\n }\n contentProps={{ align }}\n />\n </div>\n );\n },\n };\n}\n\nexport type { DataTableActionsColumnOptions };\n"],"names":["createDataTableActionsColumn","options","id","header","renderCell","trigger","menuItems","align","ariaLabel","row","context","resolvedItems","fallbackItems","resolvedTrigger","jsx","Button","Icon","event","ConfigurableDropdownMenu"],"mappings":"8WAsBO,SAASA,EACdC,EAAgD,GAC9B,CAClB,KAAM,CACJ,GAAAC,EAAK,UACL,OAAAC,EACA,WAAAC,EACA,QAAAC,EACA,UAAAC,EACA,MAAAC,EAAQ,MACR,UAAAC,EAAY,yBAAA,EACVP,EAEJ,MAAO,CACL,GAAAC,EACA,OAAAC,EACA,cAAe,GACf,aAAc,GACd,KAAM,CACJ,MAAO,WACP,cAAe,gBACf,cAAe,eAAA,EAEjB,KAAM,CAAC,CAAE,IAAAM,KAAU,CACjB,MAAMC,EAAU,CAAE,IAAAD,EAAK,KAAMA,EAAI,QAAA,EAEjC,GAAIL,EACF,OAAOA,EAAWM,CAAO,EAG3B,MAAMC,EACJ,OAAOL,GAAc,WAAaA,EAAUI,CAAO,EAAIJ,EAEnDM,EAA0C,CAC9C,CAAE,GAAI,GAAGV,CAAE,SAAU,KAAM,OAAQ,MAAO,eAAgB,SAAU,EAAA,CAAK,EAGrEW,EAAkBR,EACtBA,EAAQK,CAAO,EAEfI,EAAAA,IAACC,EAAAA,OAAA,CACC,KAAK,SACL,QAAQ,cACR,KAAK,UACL,aAAYP,EAEZ,SAAAM,EAAAA,IAACE,EAAAA,KAAA,CACC,KAAK,aACL,cAAW,EAAA,CAAA,CACb,CAAA,EAIJ,OACEF,EAAAA,IAAC,MAAA,CACC,UAAU,mBACV,QAAUG,GAAUA,EAAM,gBAAA,EAC1B,UAAYA,GAAUA,EAAM,gBAAA,EAC5B,KAAK,eAEL,SAAAH,EAAAA,IAACI,EAAAA,yBAAA,CACC,QAASL,EACT,MACEF,GAAiBA,EAAc,OAAS,EAAIA,EAAgBC,EAE9D,aAAc,CAAE,MAAAL,CAAA,CAAM,CAAA,CACxB,CAAA,CAGN,CAAA,CAEJ"}
@@ -1,9 +1,9 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import "react";
3
2
  import { Button as u } from "./components-ui-button-button.js";
4
3
  import "./components-ui-button-button.styles.js";
5
4
  import { ConfigurableDropdownMenu as b } from "./components-ui-dropdown-menu-dropdown-menu.js";
6
5
  import { Icon as h } from "./components-ui-icon-icon.js";
6
+ import "phosphor-strokes-icons/icons";
7
7
  function D(m = {}) {
8
8
  const {
9
9
  id: a = "actions",
@@ -1 +1 @@
1
- {"version":3,"file":"components-data-table-data-table-actions-column.js","sources":["../src/components/data-table/data-table-actions-column.tsx"],"sourcesContent":["import type { ColumnDef, Row } from \"@tanstack/react-table\";\nimport * as React from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport {\n ConfigurableDropdownMenu,\n type DropdownMenuConfigNode,\n} from \"@/components/ui/dropdown-menu\";\nimport { Icon } from \"@/components/ui/icon\";\n\ntype DataTableActionsColumnOptions<TData> = {\n id?: string;\n header?: ColumnDef<TData>[\"header\"];\n renderCell?: (ctx: { row: Row<TData>; data: TData }) => React.ReactNode;\n trigger?: (ctx: { row: Row<TData>; data: TData }) => React.ReactNode;\n menuItems?:\n | DropdownMenuConfigNode[]\n | ((ctx: { row: Row<TData>; data: TData }) => DropdownMenuConfigNode[]);\n align?: \"start\" | \"center\" | \"end\";\n ariaLabel?: string;\n};\n\nexport function createDataTableActionsColumn<TData>(\n options: DataTableActionsColumnOptions<TData> = {},\n): ColumnDef<TData> {\n const {\n id = \"actions\",\n header,\n renderCell,\n trigger,\n menuItems,\n align = \"end\",\n ariaLabel = \"Открыть действия строки\",\n } = options;\n\n return {\n id,\n header,\n enableSorting: false,\n enableHiding: false,\n meta: {\n label: \"Действия\",\n headClassName: \"w-[4.5625rem]\",\n cellClassName: \"w-[4.5625rem]\",\n },\n cell: ({ row }) => {\n const context = { row, data: row.original };\n\n if (renderCell) {\n return renderCell(context);\n }\n\n const resolvedItems =\n typeof menuItems === \"function\" ? menuItems(context) : menuItems;\n\n const fallbackItems: DropdownMenuConfigNode[] = [\n { id: `${id}-empty`, type: \"item\", label: \"Нет действий\", readOnly: true },\n ];\n\n const resolvedTrigger = trigger ? (\n trigger(context)\n ) : (\n <Button\n type=\"button\"\n variant=\"circleGhost\"\n size=\"icon-xs\"\n aria-label={ariaLabel}\n >\n <Icon\n type=\"dots-three\"\n aria-hidden\n />\n </Button>\n );\n\n return (\n <div\n className=\"flex justify-end\"\n onClick={(event) => event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n role=\"presentation\"\n >\n <ConfigurableDropdownMenu\n trigger={resolvedTrigger}\n items={\n resolvedItems && resolvedItems.length > 0 ? resolvedItems : fallbackItems\n }\n contentProps={{ align }}\n />\n </div>\n );\n },\n };\n}\n\nexport type { DataTableActionsColumnOptions };\n"],"names":["createDataTableActionsColumn","options","id","header","renderCell","trigger","menuItems","align","ariaLabel","row","context","resolvedItems","fallbackItems","resolvedTrigger","jsx","Button","Icon","event","ConfigurableDropdownMenu"],"mappings":";;;;;;AAsBO,SAASA,EACdC,IAAgD,IAC9B;AAClB,QAAM;AAAA,IACJ,IAAAC,IAAK;AAAA,IACL,QAAAC;AAAA,IACA,YAAAC;AAAA,IACA,SAAAC;AAAA,IACA,WAAAC;AAAA,IACA,OAAAC,IAAQ;AAAA,IACR,WAAAC,IAAY;AAAA,EAAA,IACVP;AAEJ,SAAO;AAAA,IACL,IAAAC;AAAA,IACA,QAAAC;AAAA,IACA,eAAe;AAAA,IACf,cAAc;AAAA,IACd,MAAM;AAAA,MACJ,OAAO;AAAA,MACP,eAAe;AAAA,MACf,eAAe;AAAA,IAAA;AAAA,IAEjB,MAAM,CAAC,EAAE,KAAAM,QAAU;AACjB,YAAMC,IAAU,EAAE,KAAAD,GAAK,MAAMA,EAAI,SAAA;AAEjC,UAAIL;AACF,eAAOA,EAAWM,CAAO;AAG3B,YAAMC,IACJ,OAAOL,KAAc,aAAaA,EAAUI,CAAO,IAAIJ,GAEnDM,IAA0C;AAAA,QAC9C,EAAE,IAAI,GAAGV,CAAE,UAAU,MAAM,QAAQ,OAAO,gBAAgB,UAAU,GAAA;AAAA,MAAK,GAGrEW,IAAkBR,IACtBA,EAAQK,CAAO,IAEf,gBAAAI;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,SAAQ;AAAA,UACR,MAAK;AAAA,UACL,cAAYP;AAAA,UAEZ,UAAA,gBAAAM;AAAA,YAACE;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,eAAW;AAAA,YAAA;AAAA,UAAA;AAAA,QACb;AAAA,MAAA;AAIJ,aACE,gBAAAF;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,SAAS,CAACG,MAAUA,EAAM,gBAAA;AAAA,UAC1B,WAAW,CAACA,MAAUA,EAAM,gBAAA;AAAA,UAC5B,MAAK;AAAA,UAEL,UAAA,gBAAAH;AAAA,YAACI;AAAA,YAAA;AAAA,cACC,SAASL;AAAA,cACT,OACEF,KAAiBA,EAAc,SAAS,IAAIA,IAAgBC;AAAA,cAE9D,cAAc,EAAE,OAAAL,EAAA;AAAA,YAAM;AAAA,UAAA;AAAA,QACxB;AAAA,MAAA;AAAA,IAGN;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"components-data-table-data-table-actions-column.js","sources":["../src/components/data-table/data-table-actions-column.tsx"],"sourcesContent":["import type { ColumnDef, Row } from \"@tanstack/react-table\";\nimport type { ReactNode } from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport {\n ConfigurableDropdownMenu,\n type DropdownMenuConfigNode,\n} from \"@/components/ui/dropdown-menu\";\nimport { Icon } from \"@/components/ui/icon\";\n\ntype DataTableActionsColumnOptions<TData> = {\n id?: string;\n header?: ColumnDef<TData>[\"header\"];\n renderCell?: (ctx: { row: Row<TData>; data: TData }) => ReactNode;\n trigger?: (ctx: { row: Row<TData>; data: TData }) => ReactNode;\n menuItems?:\n | DropdownMenuConfigNode[]\n | ((ctx: { row: Row<TData>; data: TData }) => DropdownMenuConfigNode[]);\n align?: \"start\" | \"center\" | \"end\";\n ariaLabel?: string;\n};\n\nexport function createDataTableActionsColumn<TData>(\n options: DataTableActionsColumnOptions<TData> = {},\n): ColumnDef<TData> {\n const {\n id = \"actions\",\n header,\n renderCell,\n trigger,\n menuItems,\n align = \"end\",\n ariaLabel = \"Открыть действия строки\",\n } = options;\n\n return {\n id,\n header,\n enableSorting: false,\n enableHiding: false,\n meta: {\n label: \"Действия\",\n headClassName: \"w-[4.5625rem]\",\n cellClassName: \"w-[4.5625rem]\",\n },\n cell: ({ row }) => {\n const context = { row, data: row.original };\n\n if (renderCell) {\n return renderCell(context);\n }\n\n const resolvedItems =\n typeof menuItems === \"function\" ? menuItems(context) : menuItems;\n\n const fallbackItems: DropdownMenuConfigNode[] = [\n { id: `${id}-empty`, type: \"item\", label: \"Нет действий\", readOnly: true },\n ];\n\n const resolvedTrigger = trigger ? (\n trigger(context)\n ) : (\n <Button\n type=\"button\"\n variant=\"circleGhost\"\n size=\"icon-xs\"\n aria-label={ariaLabel}\n >\n <Icon\n type=\"dots-three\"\n aria-hidden\n />\n </Button>\n );\n\n return (\n <div\n className=\"flex justify-end\"\n onClick={(event) => event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n role=\"presentation\"\n >\n <ConfigurableDropdownMenu\n trigger={resolvedTrigger}\n items={\n resolvedItems && resolvedItems.length > 0 ? resolvedItems : fallbackItems\n }\n contentProps={{ align }}\n />\n </div>\n );\n },\n };\n}\n\nexport type { DataTableActionsColumnOptions };\n"],"names":["createDataTableActionsColumn","options","id","header","renderCell","trigger","menuItems","align","ariaLabel","row","context","resolvedItems","fallbackItems","resolvedTrigger","jsx","Button","Icon","event","ConfigurableDropdownMenu"],"mappings":";;;;;;AAsBO,SAASA,EACdC,IAAgD,IAC9B;AAClB,QAAM;AAAA,IACJ,IAAAC,IAAK;AAAA,IACL,QAAAC;AAAA,IACA,YAAAC;AAAA,IACA,SAAAC;AAAA,IACA,WAAAC;AAAA,IACA,OAAAC,IAAQ;AAAA,IACR,WAAAC,IAAY;AAAA,EAAA,IACVP;AAEJ,SAAO;AAAA,IACL,IAAAC;AAAA,IACA,QAAAC;AAAA,IACA,eAAe;AAAA,IACf,cAAc;AAAA,IACd,MAAM;AAAA,MACJ,OAAO;AAAA,MACP,eAAe;AAAA,MACf,eAAe;AAAA,IAAA;AAAA,IAEjB,MAAM,CAAC,EAAE,KAAAM,QAAU;AACjB,YAAMC,IAAU,EAAE,KAAAD,GAAK,MAAMA,EAAI,SAAA;AAEjC,UAAIL;AACF,eAAOA,EAAWM,CAAO;AAG3B,YAAMC,IACJ,OAAOL,KAAc,aAAaA,EAAUI,CAAO,IAAIJ,GAEnDM,IAA0C;AAAA,QAC9C,EAAE,IAAI,GAAGV,CAAE,UAAU,MAAM,QAAQ,OAAO,gBAAgB,UAAU,GAAA;AAAA,MAAK,GAGrEW,IAAkBR,IACtBA,EAAQK,CAAO,IAEf,gBAAAI;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,SAAQ;AAAA,UACR,MAAK;AAAA,UACL,cAAYP;AAAA,UAEZ,UAAA,gBAAAM;AAAA,YAACE;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,eAAW;AAAA,YAAA;AAAA,UAAA;AAAA,QACb;AAAA,MAAA;AAIJ,aACE,gBAAAF;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,SAAS,CAACG,MAAUA,EAAM,gBAAA;AAAA,UAC1B,WAAW,CAACA,MAAUA,EAAM,gBAAA;AAAA,UAC5B,MAAK;AAAA,UAEL,UAAA,gBAAAH;AAAA,YAACI;AAAA,YAAA;AAAA,cACC,SAASL;AAAA,cACT,OACEF,KAAiBA,EAAc,SAAS,IAAIA,IAAgBC;AAAA,cAE9D,cAAc,EAAE,OAAAL,EAAA;AAAA,YAAM;AAAA,UAAA;AAAA,QACxB;AAAA,MAAA;AAAA,IAGN;AAAA,EAAA;AAEJ;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),p=require("react"),g=require("./components-ui-button-button.cjs");require("./components-ui-button-button.styles.cjs");const m=require("./components-ui-dropdown-menu-dropdown-menu.cjs");function y(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,o.get?o:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const j=y(p);function _({table:e,children:n,trigger:t,menuItems:o,onDeleteSelected:u}){const l=e.getFilteredSelectedRowModel().rows,r=l.length,a=j.useCallback(()=>{e.resetRowSelection()},[e]);if(r===0)return null;const c={table:e,selectedRows:l,selectedData:l.map(f=>f.original),count:r,clearSelection:a};if(n)return s.jsx(s.Fragment,{children:n(c)});const d=[{id:"delete-selected",label:`Удалить (${r})`,onSelect:()=>{u?.(c)}}],i=typeof o=="function"?o(c):o,b=typeof t=="function"?t(c):t||s.jsxs(g.Button,{type:"button",variant:"secondary",size:"sm",className:"inner-border inner-border-1 inner-border-color-delicate bg-primary-bg",children:["Удалить (",r,")"]});return s.jsx(m.ConfigurableDropdownMenu,{trigger:b,items:i&&i.length>0?i:d})}exports.DataTableBulkActions=_;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),f=require("react"),g=require("./components-ui-button-button.cjs");require("./components-ui-button-button.styles.cjs");const m=require("./components-ui-dropdown-menu-dropdown-menu.cjs");function w({table:e,children:l,trigger:t,menuItems:c,onDeleteSelected:u}){const s=e.getFilteredSelectedRowModel().rows,n=s.length,a=f.useCallback(()=>{e.resetRowSelection()},[e]);if(n===0)return null;const o={table:e,selectedRows:s,selectedData:s.map(p=>p.original),count:n,clearSelection:a};if(l)return r.jsx(r.Fragment,{children:l(o)});const d=[{id:"delete-selected",label:`Удалить (${n})`,onSelect:()=>{u?.(o)}}],i=typeof c=="function"?c(o):c,b=typeof t=="function"?t(o):t||r.jsxs(g.Button,{type:"button",variant:"secondary",size:"sm",className:"inner-border inner-border-1 inner-border-color-delicate bg-primary-bg",children:["Удалить (",n,")"]});return r.jsx(m.ConfigurableDropdownMenu,{trigger:b,items:i&&i.length>0?i:d})}exports.DataTableBulkActions=w;
2
2
  //# sourceMappingURL=components-data-table-data-table-bulk-actions.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"components-data-table-data-table-bulk-actions.cjs","sources":["../src/components/data-table/data-table-bulk-actions.tsx"],"sourcesContent":["import type { Row, Table } from \"@tanstack/react-table\";\nimport * as React from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport {\n ConfigurableDropdownMenu,\n type DropdownMenuConfigNode,\n} from \"@/components/ui/dropdown-menu\";\n\ntype DataTableBulkActionsContext<TData> = {\n table: Table<TData>;\n selectedRows: Row<TData>[];\n selectedData: TData[];\n count: number;\n clearSelection: () => void;\n};\n\ntype DataTableBulkActionsProps<TData> = {\n table: Table<TData>;\n children?: (ctx: DataTableBulkActionsContext<TData>) => React.ReactNode;\n trigger?:\n | React.ReactNode\n | ((ctx: DataTableBulkActionsContext<TData>) => React.ReactNode);\n menuItems?:\n | DropdownMenuConfigNode[]\n | ((ctx: DataTableBulkActionsContext<TData>) => DropdownMenuConfigNode[]);\n onDeleteSelected?: (ctx: DataTableBulkActionsContext<TData>) => void;\n};\n\nfunction DataTableBulkActions<TData>({\n table,\n children,\n trigger,\n menuItems,\n onDeleteSelected,\n}: DataTableBulkActionsProps<TData>) {\n const selectedRows = table.getFilteredSelectedRowModel().rows;\n const count = selectedRows.length;\n\n const clearSelection = React.useCallback(() => {\n table.resetRowSelection();\n }, [table]);\n\n if (count === 0) {\n return null;\n }\n\n const context: DataTableBulkActionsContext<TData> = {\n table,\n selectedRows,\n selectedData: selectedRows.map((row) => row.original),\n count,\n clearSelection,\n };\n\n if (children) {\n return <>{children(context)}</>;\n }\n\n const fallbackItems: DropdownMenuConfigNode[] = [\n {\n id: \"delete-selected\",\n label: `Удалить (${count})`,\n onSelect: () => {\n onDeleteSelected?.(context);\n },\n },\n ];\n const resolvedItems = typeof menuItems === \"function\" ? menuItems(context) : menuItems;\n const resolvedTrigger =\n typeof trigger === \"function\" ? (\n trigger(context)\n ) : trigger ? (\n trigger\n ) : (\n <Button\n type=\"button\"\n variant=\"secondary\"\n size=\"sm\"\n className=\"inner-border inner-border-1 inner-border-color-delicate bg-primary-bg\"\n >\n Удалить ({count})\n </Button>\n );\n\n return (\n <ConfigurableDropdownMenu\n trigger={resolvedTrigger}\n items={resolvedItems && resolvedItems.length > 0 ? resolvedItems : fallbackItems}\n />\n );\n}\n\nexport { DataTableBulkActions };\nexport type { DataTableBulkActionsContext, DataTableBulkActionsProps };\n"],"names":["DataTableBulkActions","table","children","trigger","menuItems","onDeleteSelected","selectedRows","count","clearSelection","React","context","row","jsx","Fragment","fallbackItems","resolvedItems","resolvedTrigger","jsxs","Button","ConfigurableDropdownMenu"],"mappings":"wkBA6BA,SAASA,EAA4B,CACnC,MAAAC,EACA,SAAAC,EACA,QAAAC,EACA,UAAAC,EACA,iBAAAC,CACF,EAAqC,CACnC,MAAMC,EAAeL,EAAM,4BAAA,EAA8B,KACnDM,EAAQD,EAAa,OAErBE,EAAiBC,EAAM,YAAY,IAAM,CAC7CR,EAAM,kBAAA,CACR,EAAG,CAACA,CAAK,CAAC,EAEV,GAAIM,IAAU,EACZ,OAAO,KAGT,MAAMG,EAA8C,CAClD,MAAAT,EACA,aAAAK,EACA,aAAcA,EAAa,IAAKK,GAAQA,EAAI,QAAQ,EACpD,MAAAJ,EACA,eAAAC,CAAA,EAGF,GAAIN,EACF,OAAOU,EAAAA,IAAAC,EAAAA,SAAA,CAAG,SAAAX,EAASQ,CAAO,EAAE,EAG9B,MAAMI,EAA0C,CAC9C,CACE,GAAI,kBACJ,MAAO,YAAYP,CAAK,IACxB,SAAU,IAAM,CACdF,IAAmBK,CAAO,CAC5B,CAAA,CACF,EAEIK,EAAgB,OAAOX,GAAc,WAAaA,EAAUM,CAAO,EAAIN,EACvEY,EACJ,OAAOb,GAAY,WACjBA,EAAQO,CAAO,EACbP,GAGFc,EAAAA,KAACC,EAAAA,OAAA,CACC,KAAK,SACL,QAAQ,YACR,KAAK,KACL,UAAU,wEACX,SAAA,CAAA,YACWX,EAAM,GAAA,CAAA,CAAA,EAItB,OACEK,EAAAA,IAACO,EAAAA,yBAAA,CACC,QAASH,EACT,MAAOD,GAAiBA,EAAc,OAAS,EAAIA,EAAgBD,CAAA,CAAA,CAGzE"}
1
+ {"version":3,"file":"components-data-table-data-table-bulk-actions.cjs","sources":["../src/components/data-table/data-table-bulk-actions.tsx"],"sourcesContent":["import type { Row, Table } from \"@tanstack/react-table\";\nimport { useCallback } from \"react\";\nimport type { ReactNode } from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport {\n ConfigurableDropdownMenu,\n type DropdownMenuConfigNode,\n} from \"@/components/ui/dropdown-menu\";\n\ntype DataTableBulkActionsContext<TData> = {\n table: Table<TData>;\n selectedRows: Row<TData>[];\n selectedData: TData[];\n count: number;\n clearSelection: () => void;\n};\n\ntype DataTableBulkActionsProps<TData> = {\n table: Table<TData>;\n children?: (ctx: DataTableBulkActionsContext<TData>) => ReactNode;\n trigger?: ReactNode | ((ctx: DataTableBulkActionsContext<TData>) => ReactNode);\n menuItems?:\n | DropdownMenuConfigNode[]\n | ((ctx: DataTableBulkActionsContext<TData>) => DropdownMenuConfigNode[]);\n onDeleteSelected?: (ctx: DataTableBulkActionsContext<TData>) => void;\n};\n\nfunction DataTableBulkActions<TData>({\n table,\n children,\n trigger,\n menuItems,\n onDeleteSelected,\n}: DataTableBulkActionsProps<TData>) {\n const selectedRows = table.getFilteredSelectedRowModel().rows;\n const count = selectedRows.length;\n\n const clearSelection = useCallback(() => {\n table.resetRowSelection();\n }, [table]);\n\n if (count === 0) {\n return null;\n }\n\n const context: DataTableBulkActionsContext<TData> = {\n table,\n selectedRows,\n selectedData: selectedRows.map((row) => row.original),\n count,\n clearSelection,\n };\n\n if (children) {\n return <>{children(context)}</>;\n }\n\n const fallbackItems: DropdownMenuConfigNode[] = [\n {\n id: \"delete-selected\",\n label: `Удалить (${count})`,\n onSelect: () => {\n onDeleteSelected?.(context);\n },\n },\n ];\n const resolvedItems = typeof menuItems === \"function\" ? menuItems(context) : menuItems;\n const resolvedTrigger =\n typeof trigger === \"function\" ? (\n trigger(context)\n ) : trigger ? (\n trigger\n ) : (\n <Button\n type=\"button\"\n variant=\"secondary\"\n size=\"sm\"\n className=\"inner-border inner-border-1 inner-border-color-delicate bg-primary-bg\"\n >\n Удалить ({count})\n </Button>\n );\n\n return (\n <ConfigurableDropdownMenu\n trigger={resolvedTrigger}\n items={resolvedItems && resolvedItems.length > 0 ? resolvedItems : fallbackItems}\n />\n );\n}\n\nexport { DataTableBulkActions };\nexport type { DataTableBulkActionsContext, DataTableBulkActionsProps };\n"],"names":["DataTableBulkActions","table","children","trigger","menuItems","onDeleteSelected","selectedRows","count","clearSelection","useCallback","context","row","jsx","Fragment","fallbackItems","resolvedItems","resolvedTrigger","jsxs","Button","ConfigurableDropdownMenu"],"mappings":"8SA4BA,SAASA,EAA4B,CACnC,MAAAC,EACA,SAAAC,EACA,QAAAC,EACA,UAAAC,EACA,iBAAAC,CACF,EAAqC,CACnC,MAAMC,EAAeL,EAAM,4BAAA,EAA8B,KACnDM,EAAQD,EAAa,OAErBE,EAAiBC,EAAAA,YAAY,IAAM,CACvCR,EAAM,kBAAA,CACR,EAAG,CAACA,CAAK,CAAC,EAEV,GAAIM,IAAU,EACZ,OAAO,KAGT,MAAMG,EAA8C,CAClD,MAAAT,EACA,aAAAK,EACA,aAAcA,EAAa,IAAKK,GAAQA,EAAI,QAAQ,EACpD,MAAAJ,EACA,eAAAC,CAAA,EAGF,GAAIN,EACF,OAAOU,EAAAA,IAAAC,EAAAA,SAAA,CAAG,SAAAX,EAASQ,CAAO,EAAE,EAG9B,MAAMI,EAA0C,CAC9C,CACE,GAAI,kBACJ,MAAO,YAAYP,CAAK,IACxB,SAAU,IAAM,CACdF,IAAmBK,CAAO,CAC5B,CAAA,CACF,EAEIK,EAAgB,OAAOX,GAAc,WAAaA,EAAUM,CAAO,EAAIN,EACvEY,EACJ,OAAOb,GAAY,WACjBA,EAAQO,CAAO,EACbP,GAGFc,EAAAA,KAACC,EAAAA,OAAA,CACC,KAAK,SACL,QAAQ,YACR,KAAK,KACL,UAAU,wEACX,SAAA,CAAA,YACWX,EAAM,GAAA,CAAA,CAAA,EAItB,OACEK,EAAAA,IAACO,EAAAA,yBAAA,CACC,QAASH,EACT,MAAOD,GAAiBA,EAAc,OAAS,EAAIA,EAAgBD,CAAA,CAAA,CAGzE"}
@@ -1,16 +1,16 @@
1
- import { jsx as i, Fragment as u, jsxs as b } from "react/jsx-runtime";
2
- import * as g from "react";
1
+ import { jsx as s, Fragment as u, jsxs as b } from "react/jsx-runtime";
2
+ import { useCallback as g } from "react";
3
3
  import { Button as w } from "./components-ui-button-button.js";
4
4
  import "./components-ui-button-button.styles.js";
5
5
  import { ConfigurableDropdownMenu as y } from "./components-ui-dropdown-menu-dropdown-menu.js";
6
- function k({
6
+ function D({
7
7
  table: e,
8
- children: s,
8
+ children: i,
9
9
  trigger: o,
10
10
  menuItems: r,
11
11
  onDeleteSelected: a
12
12
  }) {
13
- const c = e.getFilteredSelectedRowModel().rows, t = c.length, d = g.useCallback(() => {
13
+ const c = e.getFilteredSelectedRowModel().rows, t = c.length, d = g(() => {
14
14
  e.resetRowSelection();
15
15
  }, [e]);
16
16
  if (t === 0)
@@ -22,8 +22,8 @@ function k({
22
22
  count: t,
23
23
  clearSelection: d
24
24
  };
25
- if (s)
26
- return /* @__PURE__ */ i(u, { children: s(n) });
25
+ if (i)
26
+ return /* @__PURE__ */ s(u, { children: i(n) });
27
27
  const f = [
28
28
  {
29
29
  id: "delete-selected",
@@ -46,7 +46,7 @@ function k({
46
46
  ]
47
47
  }
48
48
  );
49
- return /* @__PURE__ */ i(
49
+ return /* @__PURE__ */ s(
50
50
  y,
51
51
  {
52
52
  trigger: m,
@@ -55,6 +55,6 @@ function k({
55
55
  );
56
56
  }
57
57
  export {
58
- k as DataTableBulkActions
58
+ D as DataTableBulkActions
59
59
  };
60
60
  //# sourceMappingURL=components-data-table-data-table-bulk-actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components-data-table-data-table-bulk-actions.js","sources":["../src/components/data-table/data-table-bulk-actions.tsx"],"sourcesContent":["import type { Row, Table } from \"@tanstack/react-table\";\nimport * as React from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport {\n ConfigurableDropdownMenu,\n type DropdownMenuConfigNode,\n} from \"@/components/ui/dropdown-menu\";\n\ntype DataTableBulkActionsContext<TData> = {\n table: Table<TData>;\n selectedRows: Row<TData>[];\n selectedData: TData[];\n count: number;\n clearSelection: () => void;\n};\n\ntype DataTableBulkActionsProps<TData> = {\n table: Table<TData>;\n children?: (ctx: DataTableBulkActionsContext<TData>) => React.ReactNode;\n trigger?:\n | React.ReactNode\n | ((ctx: DataTableBulkActionsContext<TData>) => React.ReactNode);\n menuItems?:\n | DropdownMenuConfigNode[]\n | ((ctx: DataTableBulkActionsContext<TData>) => DropdownMenuConfigNode[]);\n onDeleteSelected?: (ctx: DataTableBulkActionsContext<TData>) => void;\n};\n\nfunction DataTableBulkActions<TData>({\n table,\n children,\n trigger,\n menuItems,\n onDeleteSelected,\n}: DataTableBulkActionsProps<TData>) {\n const selectedRows = table.getFilteredSelectedRowModel().rows;\n const count = selectedRows.length;\n\n const clearSelection = React.useCallback(() => {\n table.resetRowSelection();\n }, [table]);\n\n if (count === 0) {\n return null;\n }\n\n const context: DataTableBulkActionsContext<TData> = {\n table,\n selectedRows,\n selectedData: selectedRows.map((row) => row.original),\n count,\n clearSelection,\n };\n\n if (children) {\n return <>{children(context)}</>;\n }\n\n const fallbackItems: DropdownMenuConfigNode[] = [\n {\n id: \"delete-selected\",\n label: `Удалить (${count})`,\n onSelect: () => {\n onDeleteSelected?.(context);\n },\n },\n ];\n const resolvedItems = typeof menuItems === \"function\" ? menuItems(context) : menuItems;\n const resolvedTrigger =\n typeof trigger === \"function\" ? (\n trigger(context)\n ) : trigger ? (\n trigger\n ) : (\n <Button\n type=\"button\"\n variant=\"secondary\"\n size=\"sm\"\n className=\"inner-border inner-border-1 inner-border-color-delicate bg-primary-bg\"\n >\n Удалить ({count})\n </Button>\n );\n\n return (\n <ConfigurableDropdownMenu\n trigger={resolvedTrigger}\n items={resolvedItems && resolvedItems.length > 0 ? resolvedItems : fallbackItems}\n />\n );\n}\n\nexport { DataTableBulkActions };\nexport type { DataTableBulkActionsContext, DataTableBulkActionsProps };\n"],"names":["DataTableBulkActions","table","children","trigger","menuItems","onDeleteSelected","selectedRows","count","clearSelection","React","context","row","jsx","Fragment","fallbackItems","resolvedItems","resolvedTrigger","jsxs","Button","ConfigurableDropdownMenu"],"mappings":";;;;;AA6BA,SAASA,EAA4B;AAAA,EACnC,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,kBAAAC;AACF,GAAqC;AACnC,QAAMC,IAAeL,EAAM,4BAAA,EAA8B,MACnDM,IAAQD,EAAa,QAErBE,IAAiBC,EAAM,YAAY,MAAM;AAC7C,IAAAR,EAAM,kBAAA;AAAA,EACR,GAAG,CAACA,CAAK,CAAC;AAEV,MAAIM,MAAU;AACZ,WAAO;AAGT,QAAMG,IAA8C;AAAA,IAClD,OAAAT;AAAA,IACA,cAAAK;AAAA,IACA,cAAcA,EAAa,IAAI,CAACK,MAAQA,EAAI,QAAQ;AAAA,IACpD,OAAAJ;AAAA,IACA,gBAAAC;AAAA,EAAA;AAGF,MAAIN;AACF,WAAO,gBAAAU,EAAAC,GAAA,EAAG,UAAAX,EAASQ,CAAO,GAAE;AAG9B,QAAMI,IAA0C;AAAA,IAC9C;AAAA,MACE,IAAI;AAAA,MACJ,OAAO,YAAYP,CAAK;AAAA,MACxB,UAAU,MAAM;AACd,QAAAF,IAAmBK,CAAO;AAAA,MAC5B;AAAA,IAAA;AAAA,EACF,GAEIK,IAAgB,OAAOX,KAAc,aAAaA,EAAUM,CAAO,IAAIN,GACvEY,IACJ,OAAOb,KAAY,aACjBA,EAAQO,CAAO,IACbP,KAGF,gBAAAc;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,WAAU;AAAA,MACX,UAAA;AAAA,QAAA;AAAA,QACWX;AAAA,QAAM;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAItB,SACE,gBAAAK;AAAA,IAACO;AAAA,IAAA;AAAA,MACC,SAASH;AAAA,MACT,OAAOD,KAAiBA,EAAc,SAAS,IAAIA,IAAgBD;AAAA,IAAA;AAAA,EAAA;AAGzE;"}
1
+ {"version":3,"file":"components-data-table-data-table-bulk-actions.js","sources":["../src/components/data-table/data-table-bulk-actions.tsx"],"sourcesContent":["import type { Row, Table } from \"@tanstack/react-table\";\nimport { useCallback } from \"react\";\nimport type { ReactNode } from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport {\n ConfigurableDropdownMenu,\n type DropdownMenuConfigNode,\n} from \"@/components/ui/dropdown-menu\";\n\ntype DataTableBulkActionsContext<TData> = {\n table: Table<TData>;\n selectedRows: Row<TData>[];\n selectedData: TData[];\n count: number;\n clearSelection: () => void;\n};\n\ntype DataTableBulkActionsProps<TData> = {\n table: Table<TData>;\n children?: (ctx: DataTableBulkActionsContext<TData>) => ReactNode;\n trigger?: ReactNode | ((ctx: DataTableBulkActionsContext<TData>) => ReactNode);\n menuItems?:\n | DropdownMenuConfigNode[]\n | ((ctx: DataTableBulkActionsContext<TData>) => DropdownMenuConfigNode[]);\n onDeleteSelected?: (ctx: DataTableBulkActionsContext<TData>) => void;\n};\n\nfunction DataTableBulkActions<TData>({\n table,\n children,\n trigger,\n menuItems,\n onDeleteSelected,\n}: DataTableBulkActionsProps<TData>) {\n const selectedRows = table.getFilteredSelectedRowModel().rows;\n const count = selectedRows.length;\n\n const clearSelection = useCallback(() => {\n table.resetRowSelection();\n }, [table]);\n\n if (count === 0) {\n return null;\n }\n\n const context: DataTableBulkActionsContext<TData> = {\n table,\n selectedRows,\n selectedData: selectedRows.map((row) => row.original),\n count,\n clearSelection,\n };\n\n if (children) {\n return <>{children(context)}</>;\n }\n\n const fallbackItems: DropdownMenuConfigNode[] = [\n {\n id: \"delete-selected\",\n label: `Удалить (${count})`,\n onSelect: () => {\n onDeleteSelected?.(context);\n },\n },\n ];\n const resolvedItems = typeof menuItems === \"function\" ? menuItems(context) : menuItems;\n const resolvedTrigger =\n typeof trigger === \"function\" ? (\n trigger(context)\n ) : trigger ? (\n trigger\n ) : (\n <Button\n type=\"button\"\n variant=\"secondary\"\n size=\"sm\"\n className=\"inner-border inner-border-1 inner-border-color-delicate bg-primary-bg\"\n >\n Удалить ({count})\n </Button>\n );\n\n return (\n <ConfigurableDropdownMenu\n trigger={resolvedTrigger}\n items={resolvedItems && resolvedItems.length > 0 ? resolvedItems : fallbackItems}\n />\n );\n}\n\nexport { DataTableBulkActions };\nexport type { DataTableBulkActionsContext, DataTableBulkActionsProps };\n"],"names":["DataTableBulkActions","table","children","trigger","menuItems","onDeleteSelected","selectedRows","count","clearSelection","useCallback","context","row","jsx","Fragment","fallbackItems","resolvedItems","resolvedTrigger","jsxs","Button","ConfigurableDropdownMenu"],"mappings":";;;;;AA4BA,SAASA,EAA4B;AAAA,EACnC,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,kBAAAC;AACF,GAAqC;AACnC,QAAMC,IAAeL,EAAM,4BAAA,EAA8B,MACnDM,IAAQD,EAAa,QAErBE,IAAiBC,EAAY,MAAM;AACvC,IAAAR,EAAM,kBAAA;AAAA,EACR,GAAG,CAACA,CAAK,CAAC;AAEV,MAAIM,MAAU;AACZ,WAAO;AAGT,QAAMG,IAA8C;AAAA,IAClD,OAAAT;AAAA,IACA,cAAAK;AAAA,IACA,cAAcA,EAAa,IAAI,CAACK,MAAQA,EAAI,QAAQ;AAAA,IACpD,OAAAJ;AAAA,IACA,gBAAAC;AAAA,EAAA;AAGF,MAAIN;AACF,WAAO,gBAAAU,EAAAC,GAAA,EAAG,UAAAX,EAASQ,CAAO,GAAE;AAG9B,QAAMI,IAA0C;AAAA,IAC9C;AAAA,MACE,IAAI;AAAA,MACJ,OAAO,YAAYP,CAAK;AAAA,MACxB,UAAU,MAAM;AACd,QAAAF,IAAmBK,CAAO;AAAA,MAC5B;AAAA,IAAA;AAAA,EACF,GAEIK,IAAgB,OAAOX,KAAc,aAAaA,EAAUM,CAAO,IAAIN,GACvEY,IACJ,OAAOb,KAAY,aACjBA,EAAQO,CAAO,IACbP,KAGF,gBAAAc;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,WAAU;AAAA,MACX,UAAA;AAAA,QAAA;AAAA,QACWX;AAAA,QAAM;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAItB,SACE,gBAAAK;AAAA,IAACO;AAAA,IAAA;AAAA,MACC,SAASH;AAAA,MACT,OAAOD,KAAiBA,EAAc,SAAS,IAAIA,IAAgBD;AAAA,IAAA;AAAA,EAAA;AAGzE;"}
@@ -1,3 +1,3 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime");require("react");const q=require("./components-ui-button-button.cjs");require("./components-ui-button-button.styles.cjs");const j=require("./components-ui-dropdown-menu-dropdown-menu.cjs"),d=require("./components-ui-icon-icon.cjs"),s=require("./lib-utils.cjs"),g=require("./components-ui-typography-typography.styles.cjs");function m(t,n){return t.getColumn(n)?.columnDef.meta?.label??n}function w({table:t,columnVisibility:n,onColumnVisibilityChange:o,triggerLabel:l="Колонки",trigger:p,menuLabel:y="Видимость колонок",includeColumnIds:u,excludeColumnIds:a,align:b="end",dropdownWidthClassName:h="w-56"}){const c=t.getAllColumns().filter(e=>typeof e.accessorFn<"u").filter(e=>e.getCanHide()).filter(e=>!u?.length||u.includes(e.id)).filter(e=>!a?.length||!a.includes(e.id));if(!c.length)return null;const f=e=>n?n[e]??!0:t.getColumn(e)?.getIsVisible()??!0,_=(e,r)=>{if(o){o(k=>({...k,[e]:r}));return}t.getColumn(e)?.toggleVisibility(r)},C=p??i.jsxs(q.Button,{type:"button",variant:"outlined",size:"sm",children:[l,i.jsx(d.Icon,{type:"columns-plus-right","aria-hidden":!0})]}),x=c.map(e=>{const r=f(e.id);return{key:e.id,checked:r,itemIndicator:null,className:s.cn("rounded-none px-4 py-2",g.getTypographyClassName("body-sm-regular")),checkedClassName:s.cn("bg-tertiary-bg text-primary-text data-[highlighted]:bg-tertiary-bg",g.getTypographyClassName("body-sm-medium")),label:m(t,e.id),checkedEndAdornment:i.jsx(d.Icon,{type:"check","aria-hidden":!0,size:"small"}),textValue:m(t,e.id)}});return i.jsx(j.CheckboxDropdownMenu,{trigger:C,items:x,onItemCheckedChange:_,keepOpenOnItemSelect:!0,contentProps:{align:b,"aria-label":y,className:s.cn(h,`border-inp-focus-border bg-primary-bg overflow-hidden rounded-xl border py-2
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),k=require("./components-ui-button-button.cjs");require("./components-ui-button-button.styles.cjs");const j=require("./components-ui-dropdown-menu-dropdown-menu.cjs"),d=require("./components-ui-icon-icon.cjs");require("phosphor-strokes-icons/icons");const s=require("./lib-utils.cjs");require("react");const g=require("./components-ui-typography-typography.styles.cjs");function m(t,n){return t.getColumn(n)?.columnDef.meta?.label??n}function w({table:t,columnVisibility:n,onColumnVisibilityChange:o,triggerLabel:u="Колонки",trigger:p,menuLabel:y="Видимость колонок",includeColumnIds:l,excludeColumnIds:a,align:b="end",dropdownWidthClassName:h="w-56"}){const c=t.getAllColumns().filter(e=>typeof e.accessorFn<"u").filter(e=>e.getCanHide()).filter(e=>!l?.length||l.includes(e.id)).filter(e=>!a?.length||!a.includes(e.id));if(!c.length)return null;const f=e=>n?n[e]??!0:t.getColumn(e)?.getIsVisible()??!0,_=(e,r)=>{if(o){o(q=>({...q,[e]:r}));return}t.getColumn(e)?.toggleVisibility(r)},C=p??i.jsxs(k.Button,{type:"button",variant:"outlined",size:"sm",children:[u,i.jsx(d.Icon,{type:"columns-plus-right","aria-hidden":!0})]}),x=c.map(e=>{const r=f(e.id);return{key:e.id,checked:r,itemIndicator:null,className:s.cn("rounded-none px-4 py-2",g.getTypographyClassName("body-sm-regular")),checkedClassName:s.cn("bg-tertiary-bg text-primary-text data-[highlighted]:bg-tertiary-bg",g.getTypographyClassName("body-sm-medium")),label:m(t,e.id),checkedEndAdornment:i.jsx(d.Icon,{type:"check","aria-hidden":!0,size:"small"}),textValue:m(t,e.id)}});return i.jsx(j.CheckboxDropdownMenu,{trigger:C,items:x,onItemCheckedChange:_,keepOpenOnItemSelect:!0,contentProps:{align:b,"aria-label":y,className:s.cn(h,`border-inp-focus-border bg-primary-bg overflow-hidden rounded-xl border py-2
2
2
  shadow-none`)}})}exports.DataTableColumnVisibility=w;
3
3
  //# sourceMappingURL=components-data-table-data-table-column-visibility.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"components-data-table-data-table-column-visibility.cjs","sources":["../src/components/data-table/data-table-column-visibility.tsx"],"sourcesContent":["import type { Table, Updater, VisibilityState } from \"@tanstack/react-table\";\nimport * as React from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { CheckboxDropdownMenu } from \"@/components/ui/dropdown-menu\";\nimport { Icon } from \"@/components/ui/icon\";\nimport { cn } from \"@/lib/utils\";\nimport { getTypographyClassName } from \"../ui/typography\";\n\ntype DataTableColumnVisibilityProps<TData> = {\n table: Table<TData>;\n columnVisibility?: VisibilityState;\n onColumnVisibilityChange?: (updater: Updater<VisibilityState>) => void;\n triggerLabel?: string;\n trigger?: React.ReactNode;\n menuLabel?: string;\n includeColumnIds?: string[];\n excludeColumnIds?: string[];\n align?: \"start\" | \"center\" | \"end\";\n dropdownWidthClassName?: string;\n};\n\nfunction getColumnTitle<TData>(table: Table<TData>, columnId: string): string {\n const column = table.getColumn(columnId);\n const meta = column?.columnDef.meta as { label?: string } | undefined;\n return meta?.label ?? columnId;\n}\n\nfunction DataTableColumnVisibility<TData>({\n table,\n columnVisibility,\n onColumnVisibilityChange,\n triggerLabel = \"Колонки\",\n trigger,\n menuLabel = \"Видимость колонок\",\n includeColumnIds,\n excludeColumnIds,\n align = \"end\",\n dropdownWidthClassName = \"w-56\",\n}: DataTableColumnVisibilityProps<TData>) {\n const hideableColumns = table\n .getAllColumns()\n .filter((column) => typeof column.accessorFn !== \"undefined\")\n .filter((column) => column.getCanHide())\n .filter((column) => !includeColumnIds?.length || includeColumnIds.includes(column.id))\n .filter(\n (column) => !excludeColumnIds?.length || !excludeColumnIds.includes(column.id),\n );\n\n if (!hideableColumns.length) {\n return null;\n }\n\n const getIsColumnVisible = (columnId: string) =>\n columnVisibility\n ? (columnVisibility[columnId] ?? true)\n : (table.getColumn(columnId)?.getIsVisible() ?? true);\n\n const toggleColumnVisibility = (columnId: string, isVisible: boolean) => {\n if (onColumnVisibilityChange) {\n onColumnVisibilityChange((previousState) => ({\n ...previousState,\n [columnId]: isVisible,\n }));\n return;\n }\n\n table.getColumn(columnId)?.toggleVisibility(isVisible);\n };\n\n const triggerNode = trigger ?? (\n <Button\n type=\"button\"\n variant=\"outlined\"\n size=\"sm\"\n >\n {triggerLabel}\n <Icon\n type=\"columns-plus-right\"\n aria-hidden\n />\n </Button>\n );\n\n const items = hideableColumns.map((column) => {\n const isVisible = getIsColumnVisible(column.id);\n\n return {\n key: column.id,\n checked: isVisible,\n itemIndicator: null,\n className: cn(\"rounded-none px-4 py-2\", getTypographyClassName(\"body-sm-regular\")),\n checkedClassName: cn(\n \"bg-tertiary-bg text-primary-text data-[highlighted]:bg-tertiary-bg\",\n getTypographyClassName(\"body-sm-medium\"),\n ),\n label: getColumnTitle(table, column.id),\n checkedEndAdornment: (\n <Icon\n type=\"check\"\n aria-hidden\n size=\"small\"\n />\n ),\n textValue: getColumnTitle(table, column.id),\n };\n });\n\n return (\n <CheckboxDropdownMenu\n trigger={triggerNode}\n items={items}\n onItemCheckedChange={toggleColumnVisibility}\n keepOpenOnItemSelect\n contentProps={{\n align,\n \"aria-label\": menuLabel,\n className: cn(\n dropdownWidthClassName,\n `border-inp-focus-border bg-primary-bg overflow-hidden rounded-xl border py-2\n shadow-none`,\n ),\n }}\n />\n );\n}\n\nexport { DataTableColumnVisibility };\nexport type { DataTableColumnVisibilityProps };\n"],"names":["getColumnTitle","table","columnId","DataTableColumnVisibility","columnVisibility","onColumnVisibilityChange","triggerLabel","trigger","menuLabel","includeColumnIds","excludeColumnIds","align","dropdownWidthClassName","hideableColumns","column","getIsColumnVisible","toggleColumnVisibility","isVisible","previousState","triggerNode","jsxs","Button","jsx","Icon","items","cn","getTypographyClassName","CheckboxDropdownMenu"],"mappings":"wbAsBA,SAASA,EAAsBC,EAAqBC,EAA0B,CAG5E,OAFeD,EAAM,UAAUC,CAAQ,GAClB,UAAU,MAClB,OAASA,CACxB,CAEA,SAASC,EAAiC,CACxC,MAAAF,EACA,iBAAAG,EACA,yBAAAC,EACA,aAAAC,EAAe,UACf,QAAAC,EACA,UAAAC,EAAY,oBACZ,iBAAAC,EACA,iBAAAC,EACA,MAAAC,EAAQ,MACR,uBAAAC,EAAyB,MAC3B,EAA0C,CACxC,MAAMC,EAAkBZ,EACrB,cAAA,EACA,OAAQa,GAAW,OAAOA,EAAO,WAAe,GAAW,EAC3D,OAAQA,GAAWA,EAAO,WAAA,CAAY,EACtC,OAAQA,GAAW,CAACL,GAAkB,QAAUA,EAAiB,SAASK,EAAO,EAAE,CAAC,EACpF,OACEA,GAAW,CAACJ,GAAkB,QAAU,CAACA,EAAiB,SAASI,EAAO,EAAE,CAAA,EAGjF,GAAI,CAACD,EAAgB,OACnB,OAAO,KAGT,MAAME,EAAsBb,GAC1BE,EACKA,EAAiBF,CAAQ,GAAK,GAC9BD,EAAM,UAAUC,CAAQ,GAAG,gBAAkB,GAE9Cc,EAAyB,CAACd,EAAkBe,IAAuB,CACvE,GAAIZ,EAA0B,CAC5BA,EAA0Ba,IAAmB,CAC3C,GAAGA,EACH,CAAChB,CAAQ,EAAGe,CAAA,EACZ,EACF,MACF,CAEAhB,EAAM,UAAUC,CAAQ,GAAG,iBAAiBe,CAAS,CACvD,EAEME,EAAcZ,GAClBa,EAAAA,KAACC,EAAAA,OAAA,CACC,KAAK,SACL,QAAQ,WACR,KAAK,KAEJ,SAAA,CAAAf,EACDgB,EAAAA,IAACC,EAAAA,KAAA,CACC,KAAK,qBACL,cAAW,EAAA,CAAA,CACb,CAAA,CAAA,EAIEC,EAAQX,EAAgB,IAAKC,GAAW,CAC5C,MAAMG,EAAYF,EAAmBD,EAAO,EAAE,EAE9C,MAAO,CACL,IAAKA,EAAO,GACZ,QAASG,EACT,cAAe,KACf,UAAWQ,EAAAA,GAAG,yBAA0BC,EAAAA,uBAAuB,iBAAiB,CAAC,EACjF,iBAAkBD,EAAAA,GAChB,qEACAC,EAAAA,uBAAuB,gBAAgB,CAAA,EAEzC,MAAO1B,EAAeC,EAAOa,EAAO,EAAE,EACtC,oBACEQ,EAAAA,IAACC,EAAAA,KAAA,CACC,KAAK,QACL,cAAW,GACX,KAAK,OAAA,CAAA,EAGT,UAAWvB,EAAeC,EAAOa,EAAO,EAAE,CAAA,CAE9C,CAAC,EAED,OACEQ,EAAAA,IAACK,EAAAA,qBAAA,CACC,QAASR,EACT,MAAAK,EACA,oBAAqBR,EACrB,qBAAoB,GACpB,aAAc,CACZ,MAAAL,EACA,aAAcH,EACd,UAAWiB,EAAAA,GACTb,EACA;AAAA,sBAAA,CAEF,CACF,CAAA,CAGN"}
1
+ {"version":3,"file":"components-data-table-data-table-column-visibility.cjs","sources":["../src/components/data-table/data-table-column-visibility.tsx"],"sourcesContent":["import type { Table, Updater, VisibilityState } from \"@tanstack/react-table\";\nimport type { ReactNode } from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { CheckboxDropdownMenu } from \"@/components/ui/dropdown-menu\";\nimport { Icon } from \"@/components/ui/icon\";\nimport { cn } from \"@/lib/utils\";\nimport { getTypographyClassName } from \"../ui/typography\";\n\ntype DataTableColumnVisibilityProps<TData> = {\n table: Table<TData>;\n columnVisibility?: VisibilityState;\n onColumnVisibilityChange?: (updater: Updater<VisibilityState>) => void;\n triggerLabel?: string;\n trigger?: ReactNode;\n menuLabel?: string;\n includeColumnIds?: string[];\n excludeColumnIds?: string[];\n align?: \"start\" | \"center\" | \"end\";\n dropdownWidthClassName?: string;\n};\n\nfunction getColumnTitle<TData>(table: Table<TData>, columnId: string): string {\n const column = table.getColumn(columnId);\n const meta = column?.columnDef.meta as { label?: string } | undefined;\n return meta?.label ?? columnId;\n}\n\nfunction DataTableColumnVisibility<TData>({\n table,\n columnVisibility,\n onColumnVisibilityChange,\n triggerLabel = \"Колонки\",\n trigger,\n menuLabel = \"Видимость колонок\",\n includeColumnIds,\n excludeColumnIds,\n align = \"end\",\n dropdownWidthClassName = \"w-56\",\n}: DataTableColumnVisibilityProps<TData>) {\n const hideableColumns = table\n .getAllColumns()\n .filter((column) => typeof column.accessorFn !== \"undefined\")\n .filter((column) => column.getCanHide())\n .filter((column) => !includeColumnIds?.length || includeColumnIds.includes(column.id))\n .filter(\n (column) => !excludeColumnIds?.length || !excludeColumnIds.includes(column.id),\n );\n\n if (!hideableColumns.length) {\n return null;\n }\n\n const getIsColumnVisible = (columnId: string) =>\n columnVisibility\n ? (columnVisibility[columnId] ?? true)\n : (table.getColumn(columnId)?.getIsVisible() ?? true);\n\n const toggleColumnVisibility = (columnId: string, isVisible: boolean) => {\n if (onColumnVisibilityChange) {\n onColumnVisibilityChange((previousState) => ({\n ...previousState,\n [columnId]: isVisible,\n }));\n return;\n }\n\n table.getColumn(columnId)?.toggleVisibility(isVisible);\n };\n\n const triggerNode = trigger ?? (\n <Button\n type=\"button\"\n variant=\"outlined\"\n size=\"sm\"\n >\n {triggerLabel}\n <Icon\n type=\"columns-plus-right\"\n aria-hidden\n />\n </Button>\n );\n\n const items = hideableColumns.map((column) => {\n const isVisible = getIsColumnVisible(column.id);\n\n return {\n key: column.id,\n checked: isVisible,\n itemIndicator: null,\n className: cn(\"rounded-none px-4 py-2\", getTypographyClassName(\"body-sm-regular\")),\n checkedClassName: cn(\n \"bg-tertiary-bg text-primary-text data-[highlighted]:bg-tertiary-bg\",\n getTypographyClassName(\"body-sm-medium\"),\n ),\n label: getColumnTitle(table, column.id),\n checkedEndAdornment: (\n <Icon\n type=\"check\"\n aria-hidden\n size=\"small\"\n />\n ),\n textValue: getColumnTitle(table, column.id),\n };\n });\n\n return (\n <CheckboxDropdownMenu\n trigger={triggerNode}\n items={items}\n onItemCheckedChange={toggleColumnVisibility}\n keepOpenOnItemSelect\n contentProps={{\n align,\n \"aria-label\": menuLabel,\n className: cn(\n dropdownWidthClassName,\n `border-inp-focus-border bg-primary-bg overflow-hidden rounded-xl border py-2\n shadow-none`,\n ),\n }}\n />\n );\n}\n\nexport { DataTableColumnVisibility };\nexport type { DataTableColumnVisibilityProps };\n"],"names":["getColumnTitle","table","columnId","DataTableColumnVisibility","columnVisibility","onColumnVisibilityChange","triggerLabel","trigger","menuLabel","includeColumnIds","excludeColumnIds","align","dropdownWidthClassName","hideableColumns","column","getIsColumnVisible","toggleColumnVisibility","isVisible","previousState","triggerNode","jsxs","Button","jsx","Icon","items","cn","getTypographyClassName","CheckboxDropdownMenu"],"mappings":"seAsBA,SAASA,EAAsBC,EAAqBC,EAA0B,CAG5E,OAFeD,EAAM,UAAUC,CAAQ,GAClB,UAAU,MAClB,OAASA,CACxB,CAEA,SAASC,EAAiC,CACxC,MAAAF,EACA,iBAAAG,EACA,yBAAAC,EACA,aAAAC,EAAe,UACf,QAAAC,EACA,UAAAC,EAAY,oBACZ,iBAAAC,EACA,iBAAAC,EACA,MAAAC,EAAQ,MACR,uBAAAC,EAAyB,MAC3B,EAA0C,CACxC,MAAMC,EAAkBZ,EACrB,cAAA,EACA,OAAQa,GAAW,OAAOA,EAAO,WAAe,GAAW,EAC3D,OAAQA,GAAWA,EAAO,WAAA,CAAY,EACtC,OAAQA,GAAW,CAACL,GAAkB,QAAUA,EAAiB,SAASK,EAAO,EAAE,CAAC,EACpF,OACEA,GAAW,CAACJ,GAAkB,QAAU,CAACA,EAAiB,SAASI,EAAO,EAAE,CAAA,EAGjF,GAAI,CAACD,EAAgB,OACnB,OAAO,KAGT,MAAME,EAAsBb,GAC1BE,EACKA,EAAiBF,CAAQ,GAAK,GAC9BD,EAAM,UAAUC,CAAQ,GAAG,gBAAkB,GAE9Cc,EAAyB,CAACd,EAAkBe,IAAuB,CACvE,GAAIZ,EAA0B,CAC5BA,EAA0Ba,IAAmB,CAC3C,GAAGA,EACH,CAAChB,CAAQ,EAAGe,CAAA,EACZ,EACF,MACF,CAEAhB,EAAM,UAAUC,CAAQ,GAAG,iBAAiBe,CAAS,CACvD,EAEME,EAAcZ,GAClBa,EAAAA,KAACC,EAAAA,OAAA,CACC,KAAK,SACL,QAAQ,WACR,KAAK,KAEJ,SAAA,CAAAf,EACDgB,EAAAA,IAACC,EAAAA,KAAA,CACC,KAAK,qBACL,cAAW,EAAA,CAAA,CACb,CAAA,CAAA,EAIEC,EAAQX,EAAgB,IAAKC,GAAW,CAC5C,MAAMG,EAAYF,EAAmBD,EAAO,EAAE,EAE9C,MAAO,CACL,IAAKA,EAAO,GACZ,QAASG,EACT,cAAe,KACf,UAAWQ,EAAAA,GAAG,yBAA0BC,EAAAA,uBAAuB,iBAAiB,CAAC,EACjF,iBAAkBD,EAAAA,GAChB,qEACAC,EAAAA,uBAAuB,gBAAgB,CAAA,EAEzC,MAAO1B,EAAeC,EAAOa,EAAO,EAAE,EACtC,oBACEQ,EAAAA,IAACC,EAAAA,KAAA,CACC,KAAK,QACL,cAAW,GACX,KAAK,OAAA,CAAA,EAGT,UAAWvB,EAAeC,EAAOa,EAAO,EAAE,CAAA,CAE9C,CAAC,EAED,OACEQ,EAAAA,IAACK,EAAAA,qBAAA,CACC,QAASR,EACT,MAAAK,EACA,oBAAqBR,EACrB,qBAAoB,GACpB,aAAc,CACZ,MAAAL,EACA,aAAcH,EACd,UAAWiB,EAAAA,GACTb,EACA;AAAA,sBAAA,CAEF,CACF,CAAA,CAGN"}
@@ -1,18 +1,19 @@
1
- import { jsx as o, jsxs as w } from "react/jsx-runtime";
2
- import "react";
1
+ import { jsx as n, jsxs as w } from "react/jsx-runtime";
3
2
  import { Button as V } from "./components-ui-button-button.js";
4
3
  import "./components-ui-button-button.styles.js";
5
4
  import { CheckboxDropdownMenu as D } from "./components-ui-dropdown-menu-dropdown-menu.js";
6
5
  import { Icon as g } from "./components-ui-icon-icon.js";
6
+ import "phosphor-strokes-icons/icons";
7
7
  import { cn as l } from "./lib-utils.js";
8
+ import "react";
8
9
  import { getTypographyClassName as u } from "./components-ui-typography-typography.styles.js";
9
10
  function c(t, r) {
10
11
  return t.getColumn(r)?.columnDef.meta?.label ?? r;
11
12
  }
12
- function F({
13
+ function H({
13
14
  table: t,
14
15
  columnVisibility: r,
15
- onColumnVisibilityChange: n,
16
+ onColumnVisibilityChange: o,
16
17
  triggerLabel: s = "Колонки",
17
18
  trigger: p,
18
19
  menuLabel: h = "Видимость колонок",
@@ -27,8 +28,8 @@ function F({
27
28
  if (!d.length)
28
29
  return null;
29
30
  const y = (e) => r ? r[e] ?? !0 : t.getColumn(e)?.getIsVisible() ?? !0, C = (e, i) => {
30
- if (n) {
31
- n((N) => ({
31
+ if (o) {
32
+ o((N) => ({
32
33
  ...N,
33
34
  [e]: i
34
35
  }));
@@ -43,7 +44,7 @@ function F({
43
44
  size: "sm",
44
45
  children: [
45
46
  s,
46
- /* @__PURE__ */ o(
47
+ /* @__PURE__ */ n(
47
48
  g,
48
49
  {
49
50
  type: "columns-plus-right",
@@ -64,7 +65,7 @@ function F({
64
65
  u("body-sm-medium")
65
66
  ),
66
67
  label: c(t, e.id),
67
- checkedEndAdornment: /* @__PURE__ */ o(
68
+ checkedEndAdornment: /* @__PURE__ */ n(
68
69
  g,
69
70
  {
70
71
  type: "check",
@@ -75,7 +76,7 @@ function F({
75
76
  textValue: c(t, e.id)
76
77
  };
77
78
  });
78
- return /* @__PURE__ */ o(
79
+ return /* @__PURE__ */ n(
79
80
  D,
80
81
  {
81
82
  trigger: k,
@@ -95,6 +96,6 @@ function F({
95
96
  );
96
97
  }
97
98
  export {
98
- F as DataTableColumnVisibility
99
+ H as DataTableColumnVisibility
99
100
  };
100
101
  //# sourceMappingURL=components-data-table-data-table-column-visibility.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components-data-table-data-table-column-visibility.js","sources":["../src/components/data-table/data-table-column-visibility.tsx"],"sourcesContent":["import type { Table, Updater, VisibilityState } from \"@tanstack/react-table\";\nimport * as React from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { CheckboxDropdownMenu } from \"@/components/ui/dropdown-menu\";\nimport { Icon } from \"@/components/ui/icon\";\nimport { cn } from \"@/lib/utils\";\nimport { getTypographyClassName } from \"../ui/typography\";\n\ntype DataTableColumnVisibilityProps<TData> = {\n table: Table<TData>;\n columnVisibility?: VisibilityState;\n onColumnVisibilityChange?: (updater: Updater<VisibilityState>) => void;\n triggerLabel?: string;\n trigger?: React.ReactNode;\n menuLabel?: string;\n includeColumnIds?: string[];\n excludeColumnIds?: string[];\n align?: \"start\" | \"center\" | \"end\";\n dropdownWidthClassName?: string;\n};\n\nfunction getColumnTitle<TData>(table: Table<TData>, columnId: string): string {\n const column = table.getColumn(columnId);\n const meta = column?.columnDef.meta as { label?: string } | undefined;\n return meta?.label ?? columnId;\n}\n\nfunction DataTableColumnVisibility<TData>({\n table,\n columnVisibility,\n onColumnVisibilityChange,\n triggerLabel = \"Колонки\",\n trigger,\n menuLabel = \"Видимость колонок\",\n includeColumnIds,\n excludeColumnIds,\n align = \"end\",\n dropdownWidthClassName = \"w-56\",\n}: DataTableColumnVisibilityProps<TData>) {\n const hideableColumns = table\n .getAllColumns()\n .filter((column) => typeof column.accessorFn !== \"undefined\")\n .filter((column) => column.getCanHide())\n .filter((column) => !includeColumnIds?.length || includeColumnIds.includes(column.id))\n .filter(\n (column) => !excludeColumnIds?.length || !excludeColumnIds.includes(column.id),\n );\n\n if (!hideableColumns.length) {\n return null;\n }\n\n const getIsColumnVisible = (columnId: string) =>\n columnVisibility\n ? (columnVisibility[columnId] ?? true)\n : (table.getColumn(columnId)?.getIsVisible() ?? true);\n\n const toggleColumnVisibility = (columnId: string, isVisible: boolean) => {\n if (onColumnVisibilityChange) {\n onColumnVisibilityChange((previousState) => ({\n ...previousState,\n [columnId]: isVisible,\n }));\n return;\n }\n\n table.getColumn(columnId)?.toggleVisibility(isVisible);\n };\n\n const triggerNode = trigger ?? (\n <Button\n type=\"button\"\n variant=\"outlined\"\n size=\"sm\"\n >\n {triggerLabel}\n <Icon\n type=\"columns-plus-right\"\n aria-hidden\n />\n </Button>\n );\n\n const items = hideableColumns.map((column) => {\n const isVisible = getIsColumnVisible(column.id);\n\n return {\n key: column.id,\n checked: isVisible,\n itemIndicator: null,\n className: cn(\"rounded-none px-4 py-2\", getTypographyClassName(\"body-sm-regular\")),\n checkedClassName: cn(\n \"bg-tertiary-bg text-primary-text data-[highlighted]:bg-tertiary-bg\",\n getTypographyClassName(\"body-sm-medium\"),\n ),\n label: getColumnTitle(table, column.id),\n checkedEndAdornment: (\n <Icon\n type=\"check\"\n aria-hidden\n size=\"small\"\n />\n ),\n textValue: getColumnTitle(table, column.id),\n };\n });\n\n return (\n <CheckboxDropdownMenu\n trigger={triggerNode}\n items={items}\n onItemCheckedChange={toggleColumnVisibility}\n keepOpenOnItemSelect\n contentProps={{\n align,\n \"aria-label\": menuLabel,\n className: cn(\n dropdownWidthClassName,\n `border-inp-focus-border bg-primary-bg overflow-hidden rounded-xl border py-2\n shadow-none`,\n ),\n }}\n />\n );\n}\n\nexport { DataTableColumnVisibility };\nexport type { DataTableColumnVisibilityProps };\n"],"names":["getColumnTitle","table","columnId","DataTableColumnVisibility","columnVisibility","onColumnVisibilityChange","triggerLabel","trigger","menuLabel","includeColumnIds","excludeColumnIds","align","dropdownWidthClassName","hideableColumns","column","getIsColumnVisible","toggleColumnVisibility","isVisible","previousState","triggerNode","jsxs","Button","jsx","Icon","items","cn","getTypographyClassName","CheckboxDropdownMenu"],"mappings":";;;;;;;;AAsBA,SAASA,EAAsBC,GAAqBC,GAA0B;AAG5E,SAFeD,EAAM,UAAUC,CAAQ,GAClB,UAAU,MAClB,SAASA;AACxB;AAEA,SAASC,EAAiC;AAAA,EACxC,OAAAF;AAAA,EACA,kBAAAG;AAAA,EACA,0BAAAC;AAAA,EACA,cAAAC,IAAe;AAAA,EACf,SAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,wBAAAC,IAAyB;AAC3B,GAA0C;AACxC,QAAMC,IAAkBZ,EACrB,cAAA,EACA,OAAO,CAACa,MAAW,OAAOA,EAAO,aAAe,GAAW,EAC3D,OAAO,CAACA,MAAWA,EAAO,WAAA,CAAY,EACtC,OAAO,CAACA,MAAW,CAACL,GAAkB,UAAUA,EAAiB,SAASK,EAAO,EAAE,CAAC,EACpF;AAAA,IACC,CAACA,MAAW,CAACJ,GAAkB,UAAU,CAACA,EAAiB,SAASI,EAAO,EAAE;AAAA,EAAA;AAGjF,MAAI,CAACD,EAAgB;AACnB,WAAO;AAGT,QAAME,IAAqB,CAACb,MAC1BE,IACKA,EAAiBF,CAAQ,KAAK,KAC9BD,EAAM,UAAUC,CAAQ,GAAG,kBAAkB,IAE9Cc,IAAyB,CAACd,GAAkBe,MAAuB;AACvE,QAAIZ,GAA0B;AAC5B,MAAAA,EAAyB,CAACa,OAAmB;AAAA,QAC3C,GAAGA;AAAA,QACH,CAAChB,CAAQ,GAAGe;AAAA,MAAA,EACZ;AACF;AAAA,IACF;AAEA,IAAAhB,EAAM,UAAUC,CAAQ,GAAG,iBAAiBe,CAAS;AAAA,EACvD,GAEME,IAAcZ,KAClB,gBAAAa;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,SAAQ;AAAA,MACR,MAAK;AAAA,MAEJ,UAAA;AAAA,QAAAf;AAAA,QACD,gBAAAgB;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,eAAW;AAAA,UAAA;AAAA,QAAA;AAAA,MACb;AAAA,IAAA;AAAA,EAAA,GAIEC,IAAQX,EAAgB,IAAI,CAACC,MAAW;AAC5C,UAAMG,IAAYF,EAAmBD,EAAO,EAAE;AAE9C,WAAO;AAAA,MACL,KAAKA,EAAO;AAAA,MACZ,SAASG;AAAA,MACT,eAAe;AAAA,MACf,WAAWQ,EAAG,0BAA0BC,EAAuB,iBAAiB,CAAC;AAAA,MACjF,kBAAkBD;AAAA,QAChB;AAAA,QACAC,EAAuB,gBAAgB;AAAA,MAAA;AAAA,MAEzC,OAAO1B,EAAeC,GAAOa,EAAO,EAAE;AAAA,MACtC,qBACE,gBAAAQ;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,eAAW;AAAA,UACX,MAAK;AAAA,QAAA;AAAA,MAAA;AAAA,MAGT,WAAWvB,EAAeC,GAAOa,EAAO,EAAE;AAAA,IAAA;AAAA,EAE9C,CAAC;AAED,SACE,gBAAAQ;AAAA,IAACK;AAAA,IAAA;AAAA,MACC,SAASR;AAAA,MACT,OAAAK;AAAA,MACA,qBAAqBR;AAAA,MACrB,sBAAoB;AAAA,MACpB,cAAc;AAAA,QACZ,OAAAL;AAAA,QACA,cAAcH;AAAA,QACd,WAAWiB;AAAA,UACTb;AAAA,UACA;AAAA;AAAA,QAAA;AAAA,MAEF;AAAA,IACF;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"components-data-table-data-table-column-visibility.js","sources":["../src/components/data-table/data-table-column-visibility.tsx"],"sourcesContent":["import type { Table, Updater, VisibilityState } from \"@tanstack/react-table\";\nimport type { ReactNode } from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { CheckboxDropdownMenu } from \"@/components/ui/dropdown-menu\";\nimport { Icon } from \"@/components/ui/icon\";\nimport { cn } from \"@/lib/utils\";\nimport { getTypographyClassName } from \"../ui/typography\";\n\ntype DataTableColumnVisibilityProps<TData> = {\n table: Table<TData>;\n columnVisibility?: VisibilityState;\n onColumnVisibilityChange?: (updater: Updater<VisibilityState>) => void;\n triggerLabel?: string;\n trigger?: ReactNode;\n menuLabel?: string;\n includeColumnIds?: string[];\n excludeColumnIds?: string[];\n align?: \"start\" | \"center\" | \"end\";\n dropdownWidthClassName?: string;\n};\n\nfunction getColumnTitle<TData>(table: Table<TData>, columnId: string): string {\n const column = table.getColumn(columnId);\n const meta = column?.columnDef.meta as { label?: string } | undefined;\n return meta?.label ?? columnId;\n}\n\nfunction DataTableColumnVisibility<TData>({\n table,\n columnVisibility,\n onColumnVisibilityChange,\n triggerLabel = \"Колонки\",\n trigger,\n menuLabel = \"Видимость колонок\",\n includeColumnIds,\n excludeColumnIds,\n align = \"end\",\n dropdownWidthClassName = \"w-56\",\n}: DataTableColumnVisibilityProps<TData>) {\n const hideableColumns = table\n .getAllColumns()\n .filter((column) => typeof column.accessorFn !== \"undefined\")\n .filter((column) => column.getCanHide())\n .filter((column) => !includeColumnIds?.length || includeColumnIds.includes(column.id))\n .filter(\n (column) => !excludeColumnIds?.length || !excludeColumnIds.includes(column.id),\n );\n\n if (!hideableColumns.length) {\n return null;\n }\n\n const getIsColumnVisible = (columnId: string) =>\n columnVisibility\n ? (columnVisibility[columnId] ?? true)\n : (table.getColumn(columnId)?.getIsVisible() ?? true);\n\n const toggleColumnVisibility = (columnId: string, isVisible: boolean) => {\n if (onColumnVisibilityChange) {\n onColumnVisibilityChange((previousState) => ({\n ...previousState,\n [columnId]: isVisible,\n }));\n return;\n }\n\n table.getColumn(columnId)?.toggleVisibility(isVisible);\n };\n\n const triggerNode = trigger ?? (\n <Button\n type=\"button\"\n variant=\"outlined\"\n size=\"sm\"\n >\n {triggerLabel}\n <Icon\n type=\"columns-plus-right\"\n aria-hidden\n />\n </Button>\n );\n\n const items = hideableColumns.map((column) => {\n const isVisible = getIsColumnVisible(column.id);\n\n return {\n key: column.id,\n checked: isVisible,\n itemIndicator: null,\n className: cn(\"rounded-none px-4 py-2\", getTypographyClassName(\"body-sm-regular\")),\n checkedClassName: cn(\n \"bg-tertiary-bg text-primary-text data-[highlighted]:bg-tertiary-bg\",\n getTypographyClassName(\"body-sm-medium\"),\n ),\n label: getColumnTitle(table, column.id),\n checkedEndAdornment: (\n <Icon\n type=\"check\"\n aria-hidden\n size=\"small\"\n />\n ),\n textValue: getColumnTitle(table, column.id),\n };\n });\n\n return (\n <CheckboxDropdownMenu\n trigger={triggerNode}\n items={items}\n onItemCheckedChange={toggleColumnVisibility}\n keepOpenOnItemSelect\n contentProps={{\n align,\n \"aria-label\": menuLabel,\n className: cn(\n dropdownWidthClassName,\n `border-inp-focus-border bg-primary-bg overflow-hidden rounded-xl border py-2\n shadow-none`,\n ),\n }}\n />\n );\n}\n\nexport { DataTableColumnVisibility };\nexport type { DataTableColumnVisibilityProps };\n"],"names":["getColumnTitle","table","columnId","DataTableColumnVisibility","columnVisibility","onColumnVisibilityChange","triggerLabel","trigger","menuLabel","includeColumnIds","excludeColumnIds","align","dropdownWidthClassName","hideableColumns","column","getIsColumnVisible","toggleColumnVisibility","isVisible","previousState","triggerNode","jsxs","Button","jsx","Icon","items","cn","getTypographyClassName","CheckboxDropdownMenu"],"mappings":";;;;;;;;;AAsBA,SAASA,EAAsBC,GAAqBC,GAA0B;AAG5E,SAFeD,EAAM,UAAUC,CAAQ,GAClB,UAAU,MAClB,SAASA;AACxB;AAEA,SAASC,EAAiC;AAAA,EACxC,OAAAF;AAAA,EACA,kBAAAG;AAAA,EACA,0BAAAC;AAAA,EACA,cAAAC,IAAe;AAAA,EACf,SAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,wBAAAC,IAAyB;AAC3B,GAA0C;AACxC,QAAMC,IAAkBZ,EACrB,cAAA,EACA,OAAO,CAACa,MAAW,OAAOA,EAAO,aAAe,GAAW,EAC3D,OAAO,CAACA,MAAWA,EAAO,WAAA,CAAY,EACtC,OAAO,CAACA,MAAW,CAACL,GAAkB,UAAUA,EAAiB,SAASK,EAAO,EAAE,CAAC,EACpF;AAAA,IACC,CAACA,MAAW,CAACJ,GAAkB,UAAU,CAACA,EAAiB,SAASI,EAAO,EAAE;AAAA,EAAA;AAGjF,MAAI,CAACD,EAAgB;AACnB,WAAO;AAGT,QAAME,IAAqB,CAACb,MAC1BE,IACKA,EAAiBF,CAAQ,KAAK,KAC9BD,EAAM,UAAUC,CAAQ,GAAG,kBAAkB,IAE9Cc,IAAyB,CAACd,GAAkBe,MAAuB;AACvE,QAAIZ,GAA0B;AAC5B,MAAAA,EAAyB,CAACa,OAAmB;AAAA,QAC3C,GAAGA;AAAA,QACH,CAAChB,CAAQ,GAAGe;AAAA,MAAA,EACZ;AACF;AAAA,IACF;AAEA,IAAAhB,EAAM,UAAUC,CAAQ,GAAG,iBAAiBe,CAAS;AAAA,EACvD,GAEME,IAAcZ,KAClB,gBAAAa;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,SAAQ;AAAA,MACR,MAAK;AAAA,MAEJ,UAAA;AAAA,QAAAf;AAAA,QACD,gBAAAgB;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,eAAW;AAAA,UAAA;AAAA,QAAA;AAAA,MACb;AAAA,IAAA;AAAA,EAAA,GAIEC,IAAQX,EAAgB,IAAI,CAACC,MAAW;AAC5C,UAAMG,IAAYF,EAAmBD,EAAO,EAAE;AAE9C,WAAO;AAAA,MACL,KAAKA,EAAO;AAAA,MACZ,SAASG;AAAA,MACT,eAAe;AAAA,MACf,WAAWQ,EAAG,0BAA0BC,EAAuB,iBAAiB,CAAC;AAAA,MACjF,kBAAkBD;AAAA,QAChB;AAAA,QACAC,EAAuB,gBAAgB;AAAA,MAAA;AAAA,MAEzC,OAAO1B,EAAeC,GAAOa,EAAO,EAAE;AAAA,MACtC,qBACE,gBAAAQ;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,eAAW;AAAA,UACX,MAAK;AAAA,QAAA;AAAA,MAAA;AAAA,MAGT,WAAWvB,EAAeC,GAAOa,EAAO,EAAE;AAAA,IAAA;AAAA,EAE9C,CAAC;AAED,SACE,gBAAAQ;AAAA,IAACK;AAAA,IAAA;AAAA,MACC,SAASR;AAAA,MACT,OAAAK;AAAA,MACA,qBAAqBR;AAAA,MACrB,sBAAoB;AAAA,MACpB,cAAc;AAAA,QACZ,OAAAL;AAAA,QACA,cAAcH;AAAA,QACd,WAAWiB;AAAA,UACTb;AAAA,UACA;AAAA;AAAA,QAAA;AAAA,MAEF;AAAA,IACF;AAAA,EAAA;AAGN;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime"),p=require("react"),b=require("./components-ui-input-input.cjs");function m(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const c=m(p);function F({table:e,searchableColumnIds:t,placeholder:n="Поиск...",inputProps:r}){const o=c.useMemo(()=>t?.filter(Boolean)??[],[t]),f=o.join("|");c.useEffect(()=>{const l=new Set(o);e.setOptions(u=>{const i=u.getColumnCanGlobalFilter;return{...u,getColumnCanGlobalFilter:s=>(i?i(s):!0)?l.size===0?!0:l.has(s.id):!1}})},[e,f,o]);const a=e.getState().globalFilter,g=typeof a=="string"?a:"";return d.jsx(b.Input,{sizeInput:"sm",placeholder:n,value:g,onChange:l=>e.setGlobalFilter(l.target.value),...r})}exports.DataTableFilter=F;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("react/jsx-runtime"),u=require("react"),d=require("./components-ui-input-input.cjs");function m({table:e,searchableColumnIds:l,placeholder:a="Поиск...",inputProps:c}){const n=u.useMemo(()=>l?.filter(Boolean)??[],[l]),f=n.join("|");u.useEffect(()=>{const t=new Set(n);e.setOptions(o=>{const i=o.getColumnCanGlobalFilter;return{...o,getColumnCanGlobalFilter:s=>(i?i(s):!0)?t.size===0?!0:t.has(s.id):!1}})},[e,f,n]);const r=e.getState().globalFilter,F=typeof r=="string"?r:"";return g.jsx(d.Input,{sizeInput:"sm",placeholder:a,value:F,onChange:t=>e.setGlobalFilter(t.target.value),...c})}exports.DataTableFilter=m;
2
2
  //# sourceMappingURL=components-data-table-data-table-filter.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"components-data-table-data-table-filter.cjs","sources":["../src/components/data-table/data-table-filter.tsx"],"sourcesContent":["import type { Table } from \"@tanstack/react-table\";\nimport * as React from \"react\";\n\nimport { Input } from \"@/components/ui/input\";\n\ntype DataTableFilterProps<TData> = {\n table: Table<TData>;\n searchableColumnIds?: string[];\n placeholder?: string;\n inputProps?: Omit<React.ComponentProps<typeof Input>, \"value\" | \"onChange\">;\n};\n\nfunction DataTableFilter<TData>({\n table,\n searchableColumnIds,\n placeholder = \"Поиск...\",\n inputProps,\n}: DataTableFilterProps<TData>) {\n const selectedColumnIds = React.useMemo(\n () => searchableColumnIds?.filter(Boolean) ?? [],\n [searchableColumnIds],\n );\n const selectedColumnIdsKey = selectedColumnIds.join(\"|\");\n\n React.useEffect(() => {\n const selectedIdsSet = new Set(selectedColumnIds);\n\n table.setOptions((previousOptions) => {\n const previousCanGlobalFilter = previousOptions.getColumnCanGlobalFilter;\n\n return {\n ...previousOptions,\n getColumnCanGlobalFilter: (column) => {\n const canFilterByDefault = previousCanGlobalFilter\n ? previousCanGlobalFilter(column)\n : true;\n\n if (!canFilterByDefault) {\n return false;\n }\n\n if (selectedIdsSet.size === 0) {\n return true;\n }\n\n return selectedIdsSet.has(column.id);\n },\n };\n });\n }, [table, selectedColumnIdsKey, selectedColumnIds]);\n\n const rawGlobalFilter = table.getState().globalFilter;\n const value = typeof rawGlobalFilter === \"string\" ? rawGlobalFilter : \"\";\n\n return (\n <Input\n sizeInput=\"sm\"\n placeholder={placeholder}\n value={value}\n onChange={(event) => table.setGlobalFilter(event.target.value)}\n {...inputProps}\n />\n );\n}\n\nexport { DataTableFilter };\nexport type { DataTableFilterProps };\n"],"names":["DataTableFilter","table","searchableColumnIds","placeholder","inputProps","selectedColumnIds","React","selectedColumnIdsKey","selectedIdsSet","previousOptions","previousCanGlobalFilter","column","rawGlobalFilter","value","jsx","Input","event"],"mappings":"+cAYA,SAASA,EAAuB,CAC9B,MAAAC,EACA,oBAAAC,EACA,YAAAC,EAAc,WACd,WAAAC,CACF,EAAgC,CAC9B,MAAMC,EAAoBC,EAAM,QAC9B,IAAMJ,GAAqB,OAAO,OAAO,GAAK,CAAA,EAC9C,CAACA,CAAmB,CAAA,EAEhBK,EAAuBF,EAAkB,KAAK,GAAG,EAEvDC,EAAM,UAAU,IAAM,CACpB,MAAME,EAAiB,IAAI,IAAIH,CAAiB,EAEhDJ,EAAM,WAAYQ,GAAoB,CACpC,MAAMC,EAA0BD,EAAgB,yBAEhD,MAAO,CACL,GAAGA,EACH,yBAA2BE,IACED,EACvBA,EAAwBC,CAAM,EAC9B,IAMAH,EAAe,OAAS,EACnB,GAGFA,EAAe,IAAIG,EAAO,EAAE,EAP1B,EAQX,CAEJ,CAAC,CACH,EAAG,CAACV,EAAOM,EAAsBF,CAAiB,CAAC,EAEnD,MAAMO,EAAkBX,EAAM,SAAA,EAAW,aACnCY,EAAQ,OAAOD,GAAoB,SAAWA,EAAkB,GAEtE,OACEE,EAAAA,IAACC,EAAAA,MAAA,CACC,UAAU,KACV,YAAAZ,EACA,MAAAU,EACA,SAAWG,GAAUf,EAAM,gBAAgBe,EAAM,OAAO,KAAK,EAC5D,GAAGZ,CAAA,CAAA,CAGV"}
1
+ {"version":3,"file":"components-data-table-data-table-filter.cjs","sources":["../src/components/data-table/data-table-filter.tsx"],"sourcesContent":["import type { Table } from \"@tanstack/react-table\";\nimport { useEffect, useMemo } from \"react\";\nimport type { ComponentProps } from \"react\";\n\nimport { Input } from \"@/components/ui/input\";\n\ntype DataTableFilterProps<TData> = {\n table: Table<TData>;\n searchableColumnIds?: string[];\n placeholder?: string;\n inputProps?: Omit<ComponentProps<typeof Input>, \"value\" | \"onChange\">;\n};\n\nfunction DataTableFilter<TData>({\n table,\n searchableColumnIds,\n placeholder = \"Поиск...\",\n inputProps,\n}: DataTableFilterProps<TData>) {\n const selectedColumnIds = useMemo(\n () => searchableColumnIds?.filter(Boolean) ?? [],\n [searchableColumnIds],\n );\n const selectedColumnIdsKey = selectedColumnIds.join(\"|\");\n\n useEffect(() => {\n const selectedIdsSet = new Set(selectedColumnIds);\n\n table.setOptions((previousOptions) => {\n const previousCanGlobalFilter = previousOptions.getColumnCanGlobalFilter;\n\n return {\n ...previousOptions,\n getColumnCanGlobalFilter: (column) => {\n const canFilterByDefault = previousCanGlobalFilter\n ? previousCanGlobalFilter(column)\n : true;\n\n if (!canFilterByDefault) {\n return false;\n }\n\n if (selectedIdsSet.size === 0) {\n return true;\n }\n\n return selectedIdsSet.has(column.id);\n },\n };\n });\n }, [table, selectedColumnIdsKey, selectedColumnIds]);\n\n const rawGlobalFilter = table.getState().globalFilter;\n const value = typeof rawGlobalFilter === \"string\" ? rawGlobalFilter : \"\";\n\n return (\n <Input\n sizeInput=\"sm\"\n placeholder={placeholder}\n value={value}\n onChange={(event) => table.setGlobalFilter(event.target.value)}\n {...inputProps}\n />\n );\n}\n\nexport { DataTableFilter };\nexport type { DataTableFilterProps };\n"],"names":["DataTableFilter","table","searchableColumnIds","placeholder","inputProps","selectedColumnIds","useMemo","selectedColumnIdsKey","useEffect","selectedIdsSet","previousOptions","previousCanGlobalFilter","column","rawGlobalFilter","value","jsx","Input","event"],"mappings":"qLAaA,SAASA,EAAuB,CAC9B,MAAAC,EACA,oBAAAC,EACA,YAAAC,EAAc,WACd,WAAAC,CACF,EAAgC,CAC9B,MAAMC,EAAoBC,EAAAA,QACxB,IAAMJ,GAAqB,OAAO,OAAO,GAAK,CAAA,EAC9C,CAACA,CAAmB,CAAA,EAEhBK,EAAuBF,EAAkB,KAAK,GAAG,EAEvDG,EAAAA,UAAU,IAAM,CACd,MAAMC,EAAiB,IAAI,IAAIJ,CAAiB,EAEhDJ,EAAM,WAAYS,GAAoB,CACpC,MAAMC,EAA0BD,EAAgB,yBAEhD,MAAO,CACL,GAAGA,EACH,yBAA2BE,IACED,EACvBA,EAAwBC,CAAM,EAC9B,IAMAH,EAAe,OAAS,EACnB,GAGFA,EAAe,IAAIG,EAAO,EAAE,EAP1B,EAQX,CAEJ,CAAC,CACH,EAAG,CAACX,EAAOM,EAAsBF,CAAiB,CAAC,EAEnD,MAAMQ,EAAkBZ,EAAM,SAAA,EAAW,aACnCa,EAAQ,OAAOD,GAAoB,SAAWA,EAAkB,GAEtE,OACEE,EAAAA,IAACC,EAAAA,MAAA,CACC,UAAU,KACV,YAAAb,EACA,MAAAW,EACA,SAAWG,GAAUhB,EAAM,gBAAgBgB,EAAM,OAAO,KAAK,EAC5D,GAAGb,CAAA,CAAA,CAGV"}
@@ -1,39 +1,39 @@
1
- import { jsx as m } from "react/jsx-runtime";
2
- import * as i from "react";
3
- import { Input as F } from "./components-ui-input-input.js";
4
- function G({
1
+ import { jsx as c } from "react/jsx-runtime";
2
+ import { useMemo as m, useEffect as F } from "react";
3
+ import { Input as g } from "./components-ui-input-input.js";
4
+ function I({
5
5
  table: e,
6
6
  searchableColumnIds: r,
7
- placeholder: u = "Поиск...",
8
- inputProps: c
7
+ placeholder: i = "Поиск...",
8
+ inputProps: u
9
9
  }) {
10
- const l = i.useMemo(
10
+ const l = m(
11
11
  () => r?.filter(Boolean) ?? [],
12
12
  [r]
13
13
  ), f = l.join("|");
14
- i.useEffect(() => {
14
+ F(() => {
15
15
  const t = new Set(l);
16
16
  e.setOptions((o) => {
17
- const a = o.getColumnCanGlobalFilter;
17
+ const s = o.getColumnCanGlobalFilter;
18
18
  return {
19
19
  ...o,
20
- getColumnCanGlobalFilter: (s) => (a ? a(s) : !0) ? t.size === 0 ? !0 : t.has(s.id) : !1
20
+ getColumnCanGlobalFilter: (a) => (s ? s(a) : !0) ? t.size === 0 ? !0 : t.has(a.id) : !1
21
21
  };
22
22
  });
23
23
  }, [e, f, l]);
24
24
  const n = e.getState().globalFilter;
25
- return /* @__PURE__ */ m(
26
- F,
25
+ return /* @__PURE__ */ c(
26
+ g,
27
27
  {
28
28
  sizeInput: "sm",
29
- placeholder: u,
29
+ placeholder: i,
30
30
  value: typeof n == "string" ? n : "",
31
31
  onChange: (t) => e.setGlobalFilter(t.target.value),
32
- ...c
32
+ ...u
33
33
  }
34
34
  );
35
35
  }
36
36
  export {
37
- G as DataTableFilter
37
+ I as DataTableFilter
38
38
  };
39
39
  //# sourceMappingURL=components-data-table-data-table-filter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components-data-table-data-table-filter.js","sources":["../src/components/data-table/data-table-filter.tsx"],"sourcesContent":["import type { Table } from \"@tanstack/react-table\";\nimport * as React from \"react\";\n\nimport { Input } from \"@/components/ui/input\";\n\ntype DataTableFilterProps<TData> = {\n table: Table<TData>;\n searchableColumnIds?: string[];\n placeholder?: string;\n inputProps?: Omit<React.ComponentProps<typeof Input>, \"value\" | \"onChange\">;\n};\n\nfunction DataTableFilter<TData>({\n table,\n searchableColumnIds,\n placeholder = \"Поиск...\",\n inputProps,\n}: DataTableFilterProps<TData>) {\n const selectedColumnIds = React.useMemo(\n () => searchableColumnIds?.filter(Boolean) ?? [],\n [searchableColumnIds],\n );\n const selectedColumnIdsKey = selectedColumnIds.join(\"|\");\n\n React.useEffect(() => {\n const selectedIdsSet = new Set(selectedColumnIds);\n\n table.setOptions((previousOptions) => {\n const previousCanGlobalFilter = previousOptions.getColumnCanGlobalFilter;\n\n return {\n ...previousOptions,\n getColumnCanGlobalFilter: (column) => {\n const canFilterByDefault = previousCanGlobalFilter\n ? previousCanGlobalFilter(column)\n : true;\n\n if (!canFilterByDefault) {\n return false;\n }\n\n if (selectedIdsSet.size === 0) {\n return true;\n }\n\n return selectedIdsSet.has(column.id);\n },\n };\n });\n }, [table, selectedColumnIdsKey, selectedColumnIds]);\n\n const rawGlobalFilter = table.getState().globalFilter;\n const value = typeof rawGlobalFilter === \"string\" ? rawGlobalFilter : \"\";\n\n return (\n <Input\n sizeInput=\"sm\"\n placeholder={placeholder}\n value={value}\n onChange={(event) => table.setGlobalFilter(event.target.value)}\n {...inputProps}\n />\n );\n}\n\nexport { DataTableFilter };\nexport type { DataTableFilterProps };\n"],"names":["DataTableFilter","table","searchableColumnIds","placeholder","inputProps","selectedColumnIds","React","selectedColumnIdsKey","selectedIdsSet","previousOptions","previousCanGlobalFilter","column","rawGlobalFilter","jsx","Input","event"],"mappings":";;;AAYA,SAASA,EAAuB;AAAA,EAC9B,OAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,YAAAC;AACF,GAAgC;AAC9B,QAAMC,IAAoBC,EAAM;AAAA,IAC9B,MAAMJ,GAAqB,OAAO,OAAO,KAAK,CAAA;AAAA,IAC9C,CAACA,CAAmB;AAAA,EAAA,GAEhBK,IAAuBF,EAAkB,KAAK,GAAG;AAEvD,EAAAC,EAAM,UAAU,MAAM;AACpB,UAAME,IAAiB,IAAI,IAAIH,CAAiB;AAEhD,IAAAJ,EAAM,WAAW,CAACQ,MAAoB;AACpC,YAAMC,IAA0BD,EAAgB;AAEhD,aAAO;AAAA,QACL,GAAGA;AAAA,QACH,0BAA0B,CAACE,OACED,IACvBA,EAAwBC,CAAM,IAC9B,MAMAH,EAAe,SAAS,IACnB,KAGFA,EAAe,IAAIG,EAAO,EAAE,IAP1B;AAAA,MAQX;AAAA,IAEJ,CAAC;AAAA,EACH,GAAG,CAACV,GAAOM,GAAsBF,CAAiB,CAAC;AAEnD,QAAMO,IAAkBX,EAAM,SAAA,EAAW;AAGzC,SACE,gBAAAY;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,aAAAX;AAAA,MACA,OANU,OAAOS,KAAoB,WAAWA,IAAkB;AAAA,MAOlE,UAAU,CAACG,MAAUd,EAAM,gBAAgBc,EAAM,OAAO,KAAK;AAAA,MAC5D,GAAGX;AAAA,IAAA;AAAA,EAAA;AAGV;"}
1
+ {"version":3,"file":"components-data-table-data-table-filter.js","sources":["../src/components/data-table/data-table-filter.tsx"],"sourcesContent":["import type { Table } from \"@tanstack/react-table\";\nimport { useEffect, useMemo } from \"react\";\nimport type { ComponentProps } from \"react\";\n\nimport { Input } from \"@/components/ui/input\";\n\ntype DataTableFilterProps<TData> = {\n table: Table<TData>;\n searchableColumnIds?: string[];\n placeholder?: string;\n inputProps?: Omit<ComponentProps<typeof Input>, \"value\" | \"onChange\">;\n};\n\nfunction DataTableFilter<TData>({\n table,\n searchableColumnIds,\n placeholder = \"Поиск...\",\n inputProps,\n}: DataTableFilterProps<TData>) {\n const selectedColumnIds = useMemo(\n () => searchableColumnIds?.filter(Boolean) ?? [],\n [searchableColumnIds],\n );\n const selectedColumnIdsKey = selectedColumnIds.join(\"|\");\n\n useEffect(() => {\n const selectedIdsSet = new Set(selectedColumnIds);\n\n table.setOptions((previousOptions) => {\n const previousCanGlobalFilter = previousOptions.getColumnCanGlobalFilter;\n\n return {\n ...previousOptions,\n getColumnCanGlobalFilter: (column) => {\n const canFilterByDefault = previousCanGlobalFilter\n ? previousCanGlobalFilter(column)\n : true;\n\n if (!canFilterByDefault) {\n return false;\n }\n\n if (selectedIdsSet.size === 0) {\n return true;\n }\n\n return selectedIdsSet.has(column.id);\n },\n };\n });\n }, [table, selectedColumnIdsKey, selectedColumnIds]);\n\n const rawGlobalFilter = table.getState().globalFilter;\n const value = typeof rawGlobalFilter === \"string\" ? rawGlobalFilter : \"\";\n\n return (\n <Input\n sizeInput=\"sm\"\n placeholder={placeholder}\n value={value}\n onChange={(event) => table.setGlobalFilter(event.target.value)}\n {...inputProps}\n />\n );\n}\n\nexport { DataTableFilter };\nexport type { DataTableFilterProps };\n"],"names":["DataTableFilter","table","searchableColumnIds","placeholder","inputProps","selectedColumnIds","useMemo","selectedColumnIdsKey","useEffect","selectedIdsSet","previousOptions","previousCanGlobalFilter","column","rawGlobalFilter","jsx","Input","event"],"mappings":";;;AAaA,SAASA,EAAuB;AAAA,EAC9B,OAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,YAAAC;AACF,GAAgC;AAC9B,QAAMC,IAAoBC;AAAA,IACxB,MAAMJ,GAAqB,OAAO,OAAO,KAAK,CAAA;AAAA,IAC9C,CAACA,CAAmB;AAAA,EAAA,GAEhBK,IAAuBF,EAAkB,KAAK,GAAG;AAEvD,EAAAG,EAAU,MAAM;AACd,UAAMC,IAAiB,IAAI,IAAIJ,CAAiB;AAEhD,IAAAJ,EAAM,WAAW,CAACS,MAAoB;AACpC,YAAMC,IAA0BD,EAAgB;AAEhD,aAAO;AAAA,QACL,GAAGA;AAAA,QACH,0BAA0B,CAACE,OACED,IACvBA,EAAwBC,CAAM,IAC9B,MAMAH,EAAe,SAAS,IACnB,KAGFA,EAAe,IAAIG,EAAO,EAAE,IAP1B;AAAA,MAQX;AAAA,IAEJ,CAAC;AAAA,EACH,GAAG,CAACX,GAAOM,GAAsBF,CAAiB,CAAC;AAEnD,QAAMQ,IAAkBZ,EAAM,SAAA,EAAW;AAGzC,SACE,gBAAAa;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,aAAAZ;AAAA,MACA,OANU,OAAOU,KAAoB,WAAWA,IAAkB;AAAA,MAOlE,UAAU,CAACG,MAAUf,EAAM,gBAAgBe,EAAM,OAAO,KAAK;AAAA,MAC5D,GAAGZ;AAAA,IAAA;AAAA,EAAA;AAGV;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime");require("react");const p=require("./components-ui-button-button.cjs");require("./components-ui-button-button.styles.cjs");const A=require("./components-ui-dropdown-menu-dropdown-menu.cjs"),b=require("./components-ui-icon-icon.cjs"),S=require("./lib-utils.cjs"),q=require("./components-data-table-data-table-actions-column.cjs");function f(e,o){if(e.hidden)return null;if(e.type==="separator")return{id:e.id,type:"separator"};if(e.type==="label")return{id:e.id,type:"label",label:e.label};const c=e.children?.map(i=>f(i,o)).filter(i=>i!==null);return{id:e.id,type:"item",label:e.label,disabled:e.disabled,readOnly:e.readOnly,alert:e.alert,icon:e.icon,iconType:e.iconType,shortcut:e.shortcut,children:c,onSelect:e.onSelect?()=>e.onSelect?.(o):void 0}}function D(e={}){const{id:o="actions",header:c,align:i="end",editingRowId:j,trigger:y,actions:s,onStartEdit:h,onSaveEdit:d,onCancelEdit:u,onDelete:g,labels:l,includeDefaultActions:m=!0}=e;return q.createDataTableActionsColumn({id:o,header:c,renderCell:({row:r,data:_})=>{const a={row:r,data:_};if(j===r.id&&(d||u))return n.jsxs("div",{className:"flex flex-col items-center gap-6",onClick:t=>t.stopPropagation(),onKeyDown:t=>t.stopPropagation(),role:"presentation",children:[d?n.jsx(p.Button,{type:"button",variant:"circleGhost",size:"icon-md","aria-label":l?.saveAriaLabel??"Сохранить изменения",onClick:()=>d(a),children:n.jsx(b.Icon,{type:"check-circle",className:"text-success-text","aria-hidden":!0})}):null,u?n.jsx(p.Button,{type:"button",variant:"circleGhost",size:"icon-md","aria-label":l?.cancelAriaLabel??"Отменить редактирование",onClick:()=>u(a),children:n.jsx(b.Icon,{type:"x-circle",className:"text-error-text","aria-hidden":!0})}):null]});const v=typeof s=="function"?s(a):s??[],C=[...h?[{id:`${o}-edit-${r.id}`,label:l?.edit??"Редактировать",onSelect:h,iconType:"pencil-simple"}]:[],...g?[{type:"separator"},{id:`${o}-delete-${r.id}`,label:l?.delete??"Удалить",iconType:"trash",alert:!0,onSelect:g}]:[]],x=[...v,...m?C:[]].map(t=>f(t,a)).filter(t=>t!==null),T=y?y(a):n.jsx(p.Button,{type:"button",variant:"circleGhost",size:"icon-xs","aria-label":"Открыть действия строки",children:n.jsx(b.Icon,{type:"dots-three","aria-hidden":!0})});return n.jsx("div",{className:S.cn("flex justify-end"),onClick:t=>t.stopPropagation(),onKeyDown:t=>t.stopPropagation(),role:"presentation",children:n.jsx(A.ConfigurableDropdownMenu,{trigger:T,items:x.length>0?x:[{id:`${o}-empty-${r.id}`,type:"item",label:l?.empty??"Нет действий",readOnly:!0}],contentProps:{align:i}})})}})}exports.createDataTableRowActionsColumn=D;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),p=require("./components-ui-button-button.cjs");require("./components-ui-button-button.styles.cjs");const A=require("./components-ui-dropdown-menu-dropdown-menu.cjs"),b=require("./components-ui-icon-icon.cjs");require("phosphor-strokes-icons/icons");const S=require("./lib-utils.cjs"),q=require("./components-data-table-data-table-actions-column.cjs");function f(e,o){if(e.hidden)return null;if(e.type==="separator")return{id:e.id,type:"separator"};if(e.type==="label")return{id:e.id,type:"label",label:e.label};const c=e.children?.map(i=>f(i,o)).filter(i=>i!==null);return{id:e.id,type:"item",label:e.label,disabled:e.disabled,readOnly:e.readOnly,alert:e.alert,icon:e.icon,iconType:e.iconType,shortcut:e.shortcut,children:c,onSelect:e.onSelect?()=>e.onSelect?.(o):void 0}}function D(e={}){const{id:o="actions",header:c,align:i="end",editingRowId:j,trigger:y,actions:s,onStartEdit:h,onSaveEdit:d,onCancelEdit:u,onDelete:g,labels:l,includeDefaultActions:m=!0}=e;return q.createDataTableActionsColumn({id:o,header:c,renderCell:({row:r,data:_})=>{const a={row:r,data:_};if(j===r.id&&(d||u))return n.jsxs("div",{className:"flex flex-col items-center gap-6",onClick:t=>t.stopPropagation(),onKeyDown:t=>t.stopPropagation(),role:"presentation",children:[d?n.jsx(p.Button,{type:"button",variant:"circleGhost",size:"icon-md","aria-label":l?.saveAriaLabel??"Сохранить изменения",onClick:()=>d(a),children:n.jsx(b.Icon,{type:"check-circle",className:"text-success-text","aria-hidden":!0})}):null,u?n.jsx(p.Button,{type:"button",variant:"circleGhost",size:"icon-md","aria-label":l?.cancelAriaLabel??"Отменить редактирование",onClick:()=>u(a),children:n.jsx(b.Icon,{type:"x-circle",className:"text-error-text","aria-hidden":!0})}):null]});const v=typeof s=="function"?s(a):s??[],C=[...h?[{id:`${o}-edit-${r.id}`,label:l?.edit??"Редактировать",onSelect:h,iconType:"pencil-simple"}]:[],...g?[{type:"separator"},{id:`${o}-delete-${r.id}`,label:l?.delete??"Удалить",iconType:"trash",alert:!0,onSelect:g}]:[]],x=[...v,...m?C:[]].map(t=>f(t,a)).filter(t=>t!==null),T=y?y(a):n.jsx(p.Button,{type:"button",variant:"circleGhost",size:"icon-xs","aria-label":"Открыть действия строки",children:n.jsx(b.Icon,{type:"dots-three","aria-hidden":!0})});return n.jsx("div",{className:S.cn("flex justify-end"),onClick:t=>t.stopPropagation(),onKeyDown:t=>t.stopPropagation(),role:"presentation",children:n.jsx(A.ConfigurableDropdownMenu,{trigger:T,items:x.length>0?x:[{id:`${o}-empty-${r.id}`,type:"item",label:l?.empty??"Нет действий",readOnly:!0}],contentProps:{align:i}})})}})}exports.createDataTableRowActionsColumn=D;
2
2
  //# sourceMappingURL=components-data-table-data-table-row-actions-column.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"components-data-table-data-table-row-actions-column.cjs","sources":["../src/components/data-table/data-table-row-actions-column.tsx"],"sourcesContent":["import type { ColumnDef, Row } from \"@tanstack/react-table\";\nimport type { IconName } from \"phosphor-strokes-icons/by-name\";\nimport * as React from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport {\n ConfigurableDropdownMenu,\n type DropdownMenuConfigNode,\n} from \"@/components/ui/dropdown-menu\";\nimport { Icon } from \"@/components/ui/icon\";\nimport { cn } from \"@/lib/utils\";\n\nimport { createDataTableActionsColumn } from \"./data-table-actions-column\";\n\ntype DataTableRowActionContext<TData> = {\n row: Row<TData>;\n data: TData;\n};\n\ntype DataTableRowActionBase = {\n hidden?: boolean;\n id?: string;\n};\n\ntype DataTableRowActionLabel = DataTableRowActionBase & {\n label: string;\n type: \"label\";\n};\n\ntype DataTableRowActionSeparator = DataTableRowActionBase & {\n type: \"separator\";\n};\n\ntype DataTableRowActionItem<TData> = DataTableRowActionBase & {\n type?: \"item\";\n label: string;\n icon?: React.ReactNode;\n iconType?: IconName;\n shortcut?: string;\n disabled?: boolean;\n readOnly?: boolean;\n alert?: boolean;\n children?: DataTableRowActionNode<TData>[];\n onSelect?: (ctx: DataTableRowActionContext<TData>) => void;\n};\n\ntype DataTableRowActionNode<TData> =\n | DataTableRowActionItem<TData>\n | DataTableRowActionLabel\n | DataTableRowActionSeparator;\n\ntype DataTableRowActionsColumnOptions<TData> = {\n id?: string;\n header?: ColumnDef<TData>[\"header\"];\n align?: \"start\" | \"center\" | \"end\";\n editingRowId?: string | null;\n trigger?: (ctx: DataTableRowActionContext<TData>) => React.ReactNode;\n actions?:\n | DataTableRowActionNode<TData>[]\n | ((ctx: DataTableRowActionContext<TData>) => DataTableRowActionNode<TData>[]);\n onStartEdit?: (ctx: DataTableRowActionContext<TData>) => void;\n onSaveEdit?: (ctx: DataTableRowActionContext<TData>) => void;\n onCancelEdit?: (ctx: DataTableRowActionContext<TData>) => void;\n onDelete?: (ctx: DataTableRowActionContext<TData>) => void;\n includeDefaultActions?: boolean;\n labels?: {\n cancelAriaLabel?: string;\n delete?: string;\n edit?: string;\n empty?: string;\n saveAriaLabel?: string;\n };\n};\n\nfunction mapRowActionNode<TData>(\n item: DataTableRowActionNode<TData>,\n ctx: DataTableRowActionContext<TData>,\n): DropdownMenuConfigNode | null {\n if (item.hidden) {\n return null;\n }\n\n if (item.type === \"separator\") {\n return {\n id: item.id,\n type: \"separator\",\n };\n }\n\n if (item.type === \"label\") {\n return {\n id: item.id,\n type: \"label\",\n label: item.label,\n };\n }\n\n const children = item.children\n ?.map((child) => mapRowActionNode(child, ctx))\n .filter((child): child is DropdownMenuConfigNode => child !== null);\n\n return {\n id: item.id,\n type: \"item\",\n label: item.label,\n disabled: item.disabled,\n readOnly: item.readOnly,\n alert: item.alert,\n icon: item.icon,\n iconType: item.iconType,\n shortcut: item.shortcut,\n children,\n onSelect: item.onSelect ? () => item.onSelect?.(ctx) : undefined,\n };\n}\n\nexport function createDataTableRowActionsColumn<TData>(\n options: DataTableRowActionsColumnOptions<TData> = {},\n): ColumnDef<TData> {\n const {\n id = \"actions\",\n header,\n align = \"end\",\n editingRowId,\n trigger,\n actions,\n onStartEdit,\n onSaveEdit,\n onCancelEdit,\n onDelete,\n labels,\n includeDefaultActions = true,\n } = options;\n\n return createDataTableActionsColumn<TData>({\n id,\n header,\n renderCell: ({ row, data }) => {\n const ctx = { row, data };\n const isEditingRow = editingRowId === row.id;\n\n if (isEditingRow && (onSaveEdit || onCancelEdit)) {\n return (\n <div\n className=\"flex flex-col items-center gap-6\"\n onClick={(event) => event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n role=\"presentation\"\n >\n {onSaveEdit ? (\n <Button\n type=\"button\"\n variant=\"circleGhost\"\n size=\"icon-md\"\n aria-label={labels?.saveAriaLabel ?? \"Сохранить изменения\"}\n onClick={() => onSaveEdit(ctx)}\n >\n <Icon\n type=\"check-circle\"\n className=\"text-success-text\"\n aria-hidden\n />\n </Button>\n ) : null}\n {onCancelEdit ? (\n <Button\n type=\"button\"\n variant=\"circleGhost\"\n size=\"icon-md\"\n aria-label={labels?.cancelAriaLabel ?? \"Отменить редактирование\"}\n onClick={() => onCancelEdit(ctx)}\n >\n <Icon\n type=\"x-circle\"\n className=\"text-error-text\"\n aria-hidden\n />\n </Button>\n ) : null}\n </div>\n );\n }\n\n const resolvedActions =\n typeof actions === \"function\" ? actions(ctx) : (actions ?? []);\n const defaultActions: DataTableRowActionNode<TData>[] = [\n ...(onStartEdit\n ? [\n {\n id: `${id}-edit-${row.id}`,\n label: labels?.edit ?? \"Редактировать\",\n onSelect: onStartEdit,\n iconType: \"pencil-simple\",\n } satisfies DataTableRowActionItem<TData>,\n ]\n : []),\n ...(onDelete\n ? [\n { type: \"separator\" } satisfies DataTableRowActionSeparator,\n {\n id: `${id}-delete-${row.id}`,\n label: labels?.delete ?? \"Удалить\",\n iconType: \"trash\",\n alert: true,\n onSelect: onDelete,\n } satisfies DataTableRowActionItem<TData>,\n ]\n : []),\n ];\n\n const menuItems = [\n ...resolvedActions,\n ...(includeDefaultActions ? defaultActions : []),\n ]\n .map((item) => mapRowActionNode(item, ctx))\n .filter((item): item is DropdownMenuConfigNode => item !== null);\n\n const resolvedTrigger = trigger ? (\n trigger(ctx)\n ) : (\n <Button\n type=\"button\"\n variant=\"circleGhost\"\n size=\"icon-xs\"\n aria-label=\"Открыть действия строки\"\n >\n <Icon\n type=\"dots-three\"\n aria-hidden\n />\n </Button>\n );\n\n return (\n <div\n className={cn(\"flex justify-end\")}\n onClick={(event) => event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n role=\"presentation\"\n >\n <ConfigurableDropdownMenu\n trigger={resolvedTrigger}\n items={\n menuItems.length > 0\n ? menuItems\n : [\n {\n id: `${id}-empty-${row.id}`,\n type: \"item\",\n label: labels?.empty ?? \"Нет действий\",\n readOnly: true,\n },\n ]\n }\n contentProps={{ align }}\n />\n </div>\n );\n },\n });\n}\n\nexport type {\n DataTableRowActionContext,\n DataTableRowActionItem,\n DataTableRowActionLabel,\n DataTableRowActionNode,\n DataTableRowActionSeparator,\n DataTableRowActionsColumnOptions,\n};\n"],"names":["mapRowActionNode","item","ctx","children","child","createDataTableRowActionsColumn","options","id","header","align","editingRowId","trigger","actions","onStartEdit","onSaveEdit","onCancelEdit","onDelete","labels","includeDefaultActions","createDataTableActionsColumn","row","data","jsxs","event","jsx","Button","Icon","resolvedActions","defaultActions","menuItems","resolvedTrigger","cn","ConfigurableDropdownMenu"],"mappings":"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"}
1
+ {"version":3,"file":"components-data-table-data-table-row-actions-column.cjs","sources":["../src/components/data-table/data-table-row-actions-column.tsx"],"sourcesContent":["import type { ColumnDef, Row } from \"@tanstack/react-table\";\nimport type { ReactNode } from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport {\n ConfigurableDropdownMenu,\n type DropdownMenuConfigNode,\n} from \"@/components/ui/dropdown-menu\";\nimport { Icon } from \"@/components/ui/icon\";\nimport type { IconType } from \"@/components/ui/icon\";\nimport { cn } from \"@/lib/utils\";\n\nimport { createDataTableActionsColumn } from \"./data-table-actions-column\";\n\ntype DataTableRowActionContext<TData> = {\n row: Row<TData>;\n data: TData;\n};\n\ntype DataTableRowActionBase = {\n hidden?: boolean;\n id?: string;\n};\n\ntype DataTableRowActionLabel = DataTableRowActionBase & {\n label: string;\n type: \"label\";\n};\n\ntype DataTableRowActionSeparator = DataTableRowActionBase & {\n type: \"separator\";\n};\n\ntype DataTableRowActionItem<TData> = DataTableRowActionBase & {\n type?: \"item\";\n label: string;\n icon?: ReactNode;\n iconType?: IconType;\n shortcut?: string;\n disabled?: boolean;\n readOnly?: boolean;\n alert?: boolean;\n children?: DataTableRowActionNode<TData>[];\n onSelect?: (ctx: DataTableRowActionContext<TData>) => void;\n};\n\ntype DataTableRowActionNode<TData> =\n | DataTableRowActionItem<TData>\n | DataTableRowActionLabel\n | DataTableRowActionSeparator;\n\ntype DataTableRowActionsColumnOptions<TData> = {\n id?: string;\n header?: ColumnDef<TData>[\"header\"];\n align?: \"start\" | \"center\" | \"end\";\n editingRowId?: string | null;\n trigger?: (ctx: DataTableRowActionContext<TData>) => ReactNode;\n actions?:\n | DataTableRowActionNode<TData>[]\n | ((ctx: DataTableRowActionContext<TData>) => DataTableRowActionNode<TData>[]);\n onStartEdit?: (ctx: DataTableRowActionContext<TData>) => void;\n onSaveEdit?: (ctx: DataTableRowActionContext<TData>) => void;\n onCancelEdit?: (ctx: DataTableRowActionContext<TData>) => void;\n onDelete?: (ctx: DataTableRowActionContext<TData>) => void;\n includeDefaultActions?: boolean;\n labels?: {\n cancelAriaLabel?: string;\n delete?: string;\n edit?: string;\n empty?: string;\n saveAriaLabel?: string;\n };\n};\n\nfunction mapRowActionNode<TData>(\n item: DataTableRowActionNode<TData>,\n ctx: DataTableRowActionContext<TData>,\n): DropdownMenuConfigNode | null {\n if (item.hidden) {\n return null;\n }\n\n if (item.type === \"separator\") {\n return {\n id: item.id,\n type: \"separator\",\n };\n }\n\n if (item.type === \"label\") {\n return {\n id: item.id,\n type: \"label\",\n label: item.label,\n };\n }\n\n const children = item.children\n ?.map((child) => mapRowActionNode(child, ctx))\n .filter((child): child is DropdownMenuConfigNode => child !== null);\n\n return {\n id: item.id,\n type: \"item\",\n label: item.label,\n disabled: item.disabled,\n readOnly: item.readOnly,\n alert: item.alert,\n icon: item.icon,\n iconType: item.iconType,\n shortcut: item.shortcut,\n children,\n onSelect: item.onSelect ? () => item.onSelect?.(ctx) : undefined,\n };\n}\n\nexport function createDataTableRowActionsColumn<TData>(\n options: DataTableRowActionsColumnOptions<TData> = {},\n): ColumnDef<TData> {\n const {\n id = \"actions\",\n header,\n align = \"end\",\n editingRowId,\n trigger,\n actions,\n onStartEdit,\n onSaveEdit,\n onCancelEdit,\n onDelete,\n labels,\n includeDefaultActions = true,\n } = options;\n\n return createDataTableActionsColumn<TData>({\n id,\n header,\n renderCell: ({ row, data }) => {\n const ctx = { row, data };\n const isEditingRow = editingRowId === row.id;\n\n if (isEditingRow && (onSaveEdit || onCancelEdit)) {\n return (\n <div\n className=\"flex flex-col items-center gap-6\"\n onClick={(event) => event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n role=\"presentation\"\n >\n {onSaveEdit ? (\n <Button\n type=\"button\"\n variant=\"circleGhost\"\n size=\"icon-md\"\n aria-label={labels?.saveAriaLabel ?? \"Сохранить изменения\"}\n onClick={() => onSaveEdit(ctx)}\n >\n <Icon\n type=\"check-circle\"\n className=\"text-success-text\"\n aria-hidden\n />\n </Button>\n ) : null}\n {onCancelEdit ? (\n <Button\n type=\"button\"\n variant=\"circleGhost\"\n size=\"icon-md\"\n aria-label={labels?.cancelAriaLabel ?? \"Отменить редактирование\"}\n onClick={() => onCancelEdit(ctx)}\n >\n <Icon\n type=\"x-circle\"\n className=\"text-error-text\"\n aria-hidden\n />\n </Button>\n ) : null}\n </div>\n );\n }\n\n const resolvedActions =\n typeof actions === \"function\" ? actions(ctx) : (actions ?? []);\n const defaultActions: DataTableRowActionNode<TData>[] = [\n ...(onStartEdit\n ? [\n {\n id: `${id}-edit-${row.id}`,\n label: labels?.edit ?? \"Редактировать\",\n onSelect: onStartEdit,\n iconType: \"pencil-simple\",\n } satisfies DataTableRowActionItem<TData>,\n ]\n : []),\n ...(onDelete\n ? [\n { type: \"separator\" } satisfies DataTableRowActionSeparator,\n {\n id: `${id}-delete-${row.id}`,\n label: labels?.delete ?? \"Удалить\",\n iconType: \"trash\",\n alert: true,\n onSelect: onDelete,\n } satisfies DataTableRowActionItem<TData>,\n ]\n : []),\n ];\n\n const menuItems = [\n ...resolvedActions,\n ...(includeDefaultActions ? defaultActions : []),\n ]\n .map((item) => mapRowActionNode(item, ctx))\n .filter((item): item is DropdownMenuConfigNode => item !== null);\n\n const resolvedTrigger = trigger ? (\n trigger(ctx)\n ) : (\n <Button\n type=\"button\"\n variant=\"circleGhost\"\n size=\"icon-xs\"\n aria-label=\"Открыть действия строки\"\n >\n <Icon\n type=\"dots-three\"\n aria-hidden\n />\n </Button>\n );\n\n return (\n <div\n className={cn(\"flex justify-end\")}\n onClick={(event) => event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n role=\"presentation\"\n >\n <ConfigurableDropdownMenu\n trigger={resolvedTrigger}\n items={\n menuItems.length > 0\n ? menuItems\n : [\n {\n id: `${id}-empty-${row.id}`,\n type: \"item\",\n label: labels?.empty ?? \"Нет действий\",\n readOnly: true,\n },\n ]\n }\n contentProps={{ align }}\n />\n </div>\n );\n },\n });\n}\n\nexport type {\n DataTableRowActionContext,\n DataTableRowActionItem,\n DataTableRowActionLabel,\n DataTableRowActionNode,\n DataTableRowActionSeparator,\n DataTableRowActionsColumnOptions,\n};\n"],"names":["mapRowActionNode","item","ctx","children","child","createDataTableRowActionsColumn","options","id","header","align","editingRowId","trigger","actions","onStartEdit","onSaveEdit","onCancelEdit","onDelete","labels","includeDefaultActions","createDataTableActionsColumn","row","data","jsxs","event","jsx","Button","Icon","resolvedActions","defaultActions","menuItems","resolvedTrigger","cn","ConfigurableDropdownMenu"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { jsxs as T, jsx as n } from "react/jsx-runtime";
2
- import "react";
3
2
  import { Button as u } from "./components-ui-button-button.js";
4
3
  import "./components-ui-button-button.styles.js";
5
4
  import { ConfigurableDropdownMenu as $ } from "./components-ui-dropdown-menu-dropdown-menu.js";
6
5
  import { Icon as y } from "./components-ui-icon-icon.js";
6
+ import "phosphor-strokes-icons/icons";
7
7
  import { cn as k } from "./lib-utils.js";
8
8
  import { createDataTableActionsColumn as E } from "./components-data-table-data-table-actions-column.js";
9
9
  function g(e, o) {
@@ -1 +1 @@
1
- {"version":3,"file":"components-data-table-data-table-row-actions-column.js","sources":["../src/components/data-table/data-table-row-actions-column.tsx"],"sourcesContent":["import type { ColumnDef, Row } from \"@tanstack/react-table\";\nimport type { IconName } from \"phosphor-strokes-icons/by-name\";\nimport * as React from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport {\n ConfigurableDropdownMenu,\n type DropdownMenuConfigNode,\n} from \"@/components/ui/dropdown-menu\";\nimport { Icon } from \"@/components/ui/icon\";\nimport { cn } from \"@/lib/utils\";\n\nimport { createDataTableActionsColumn } from \"./data-table-actions-column\";\n\ntype DataTableRowActionContext<TData> = {\n row: Row<TData>;\n data: TData;\n};\n\ntype DataTableRowActionBase = {\n hidden?: boolean;\n id?: string;\n};\n\ntype DataTableRowActionLabel = DataTableRowActionBase & {\n label: string;\n type: \"label\";\n};\n\ntype DataTableRowActionSeparator = DataTableRowActionBase & {\n type: \"separator\";\n};\n\ntype DataTableRowActionItem<TData> = DataTableRowActionBase & {\n type?: \"item\";\n label: string;\n icon?: React.ReactNode;\n iconType?: IconName;\n shortcut?: string;\n disabled?: boolean;\n readOnly?: boolean;\n alert?: boolean;\n children?: DataTableRowActionNode<TData>[];\n onSelect?: (ctx: DataTableRowActionContext<TData>) => void;\n};\n\ntype DataTableRowActionNode<TData> =\n | DataTableRowActionItem<TData>\n | DataTableRowActionLabel\n | DataTableRowActionSeparator;\n\ntype DataTableRowActionsColumnOptions<TData> = {\n id?: string;\n header?: ColumnDef<TData>[\"header\"];\n align?: \"start\" | \"center\" | \"end\";\n editingRowId?: string | null;\n trigger?: (ctx: DataTableRowActionContext<TData>) => React.ReactNode;\n actions?:\n | DataTableRowActionNode<TData>[]\n | ((ctx: DataTableRowActionContext<TData>) => DataTableRowActionNode<TData>[]);\n onStartEdit?: (ctx: DataTableRowActionContext<TData>) => void;\n onSaveEdit?: (ctx: DataTableRowActionContext<TData>) => void;\n onCancelEdit?: (ctx: DataTableRowActionContext<TData>) => void;\n onDelete?: (ctx: DataTableRowActionContext<TData>) => void;\n includeDefaultActions?: boolean;\n labels?: {\n cancelAriaLabel?: string;\n delete?: string;\n edit?: string;\n empty?: string;\n saveAriaLabel?: string;\n };\n};\n\nfunction mapRowActionNode<TData>(\n item: DataTableRowActionNode<TData>,\n ctx: DataTableRowActionContext<TData>,\n): DropdownMenuConfigNode | null {\n if (item.hidden) {\n return null;\n }\n\n if (item.type === \"separator\") {\n return {\n id: item.id,\n type: \"separator\",\n };\n }\n\n if (item.type === \"label\") {\n return {\n id: item.id,\n type: \"label\",\n label: item.label,\n };\n }\n\n const children = item.children\n ?.map((child) => mapRowActionNode(child, ctx))\n .filter((child): child is DropdownMenuConfigNode => child !== null);\n\n return {\n id: item.id,\n type: \"item\",\n label: item.label,\n disabled: item.disabled,\n readOnly: item.readOnly,\n alert: item.alert,\n icon: item.icon,\n iconType: item.iconType,\n shortcut: item.shortcut,\n children,\n onSelect: item.onSelect ? () => item.onSelect?.(ctx) : undefined,\n };\n}\n\nexport function createDataTableRowActionsColumn<TData>(\n options: DataTableRowActionsColumnOptions<TData> = {},\n): ColumnDef<TData> {\n const {\n id = \"actions\",\n header,\n align = \"end\",\n editingRowId,\n trigger,\n actions,\n onStartEdit,\n onSaveEdit,\n onCancelEdit,\n onDelete,\n labels,\n includeDefaultActions = true,\n } = options;\n\n return createDataTableActionsColumn<TData>({\n id,\n header,\n renderCell: ({ row, data }) => {\n const ctx = { row, data };\n const isEditingRow = editingRowId === row.id;\n\n if (isEditingRow && (onSaveEdit || onCancelEdit)) {\n return (\n <div\n className=\"flex flex-col items-center gap-6\"\n onClick={(event) => event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n role=\"presentation\"\n >\n {onSaveEdit ? (\n <Button\n type=\"button\"\n variant=\"circleGhost\"\n size=\"icon-md\"\n aria-label={labels?.saveAriaLabel ?? \"Сохранить изменения\"}\n onClick={() => onSaveEdit(ctx)}\n >\n <Icon\n type=\"check-circle\"\n className=\"text-success-text\"\n aria-hidden\n />\n </Button>\n ) : null}\n {onCancelEdit ? (\n <Button\n type=\"button\"\n variant=\"circleGhost\"\n size=\"icon-md\"\n aria-label={labels?.cancelAriaLabel ?? \"Отменить редактирование\"}\n onClick={() => onCancelEdit(ctx)}\n >\n <Icon\n type=\"x-circle\"\n className=\"text-error-text\"\n aria-hidden\n />\n </Button>\n ) : null}\n </div>\n );\n }\n\n const resolvedActions =\n typeof actions === \"function\" ? actions(ctx) : (actions ?? []);\n const defaultActions: DataTableRowActionNode<TData>[] = [\n ...(onStartEdit\n ? [\n {\n id: `${id}-edit-${row.id}`,\n label: labels?.edit ?? \"Редактировать\",\n onSelect: onStartEdit,\n iconType: \"pencil-simple\",\n } satisfies DataTableRowActionItem<TData>,\n ]\n : []),\n ...(onDelete\n ? [\n { type: \"separator\" } satisfies DataTableRowActionSeparator,\n {\n id: `${id}-delete-${row.id}`,\n label: labels?.delete ?? \"Удалить\",\n iconType: \"trash\",\n alert: true,\n onSelect: onDelete,\n } satisfies DataTableRowActionItem<TData>,\n ]\n : []),\n ];\n\n const menuItems = [\n ...resolvedActions,\n ...(includeDefaultActions ? defaultActions : []),\n ]\n .map((item) => mapRowActionNode(item, ctx))\n .filter((item): item is DropdownMenuConfigNode => item !== null);\n\n const resolvedTrigger = trigger ? (\n trigger(ctx)\n ) : (\n <Button\n type=\"button\"\n variant=\"circleGhost\"\n size=\"icon-xs\"\n aria-label=\"Открыть действия строки\"\n >\n <Icon\n type=\"dots-three\"\n aria-hidden\n />\n </Button>\n );\n\n return (\n <div\n className={cn(\"flex justify-end\")}\n onClick={(event) => event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n role=\"presentation\"\n >\n <ConfigurableDropdownMenu\n trigger={resolvedTrigger}\n items={\n menuItems.length > 0\n ? menuItems\n : [\n {\n id: `${id}-empty-${row.id}`,\n type: \"item\",\n label: labels?.empty ?? \"Нет действий\",\n readOnly: true,\n },\n ]\n }\n contentProps={{ align }}\n />\n </div>\n );\n },\n });\n}\n\nexport type {\n DataTableRowActionContext,\n DataTableRowActionItem,\n DataTableRowActionLabel,\n DataTableRowActionNode,\n DataTableRowActionSeparator,\n DataTableRowActionsColumnOptions,\n};\n"],"names":["mapRowActionNode","item","ctx","children","child","createDataTableRowActionsColumn","options","id","header","align","editingRowId","trigger","actions","onStartEdit","onSaveEdit","onCancelEdit","onDelete","labels","includeDefaultActions","createDataTableActionsColumn","row","data","jsxs","event","jsx","Button","Icon","resolvedActions","defaultActions","menuItems","resolvedTrigger","cn","ConfigurableDropdownMenu"],"mappings":"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"}
1
+ {"version":3,"file":"components-data-table-data-table-row-actions-column.js","sources":["../src/components/data-table/data-table-row-actions-column.tsx"],"sourcesContent":["import type { ColumnDef, Row } from \"@tanstack/react-table\";\nimport type { ReactNode } from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport {\n ConfigurableDropdownMenu,\n type DropdownMenuConfigNode,\n} from \"@/components/ui/dropdown-menu\";\nimport { Icon } from \"@/components/ui/icon\";\nimport type { IconType } from \"@/components/ui/icon\";\nimport { cn } from \"@/lib/utils\";\n\nimport { createDataTableActionsColumn } from \"./data-table-actions-column\";\n\ntype DataTableRowActionContext<TData> = {\n row: Row<TData>;\n data: TData;\n};\n\ntype DataTableRowActionBase = {\n hidden?: boolean;\n id?: string;\n};\n\ntype DataTableRowActionLabel = DataTableRowActionBase & {\n label: string;\n type: \"label\";\n};\n\ntype DataTableRowActionSeparator = DataTableRowActionBase & {\n type: \"separator\";\n};\n\ntype DataTableRowActionItem<TData> = DataTableRowActionBase & {\n type?: \"item\";\n label: string;\n icon?: ReactNode;\n iconType?: IconType;\n shortcut?: string;\n disabled?: boolean;\n readOnly?: boolean;\n alert?: boolean;\n children?: DataTableRowActionNode<TData>[];\n onSelect?: (ctx: DataTableRowActionContext<TData>) => void;\n};\n\ntype DataTableRowActionNode<TData> =\n | DataTableRowActionItem<TData>\n | DataTableRowActionLabel\n | DataTableRowActionSeparator;\n\ntype DataTableRowActionsColumnOptions<TData> = {\n id?: string;\n header?: ColumnDef<TData>[\"header\"];\n align?: \"start\" | \"center\" | \"end\";\n editingRowId?: string | null;\n trigger?: (ctx: DataTableRowActionContext<TData>) => ReactNode;\n actions?:\n | DataTableRowActionNode<TData>[]\n | ((ctx: DataTableRowActionContext<TData>) => DataTableRowActionNode<TData>[]);\n onStartEdit?: (ctx: DataTableRowActionContext<TData>) => void;\n onSaveEdit?: (ctx: DataTableRowActionContext<TData>) => void;\n onCancelEdit?: (ctx: DataTableRowActionContext<TData>) => void;\n onDelete?: (ctx: DataTableRowActionContext<TData>) => void;\n includeDefaultActions?: boolean;\n labels?: {\n cancelAriaLabel?: string;\n delete?: string;\n edit?: string;\n empty?: string;\n saveAriaLabel?: string;\n };\n};\n\nfunction mapRowActionNode<TData>(\n item: DataTableRowActionNode<TData>,\n ctx: DataTableRowActionContext<TData>,\n): DropdownMenuConfigNode | null {\n if (item.hidden) {\n return null;\n }\n\n if (item.type === \"separator\") {\n return {\n id: item.id,\n type: \"separator\",\n };\n }\n\n if (item.type === \"label\") {\n return {\n id: item.id,\n type: \"label\",\n label: item.label,\n };\n }\n\n const children = item.children\n ?.map((child) => mapRowActionNode(child, ctx))\n .filter((child): child is DropdownMenuConfigNode => child !== null);\n\n return {\n id: item.id,\n type: \"item\",\n label: item.label,\n disabled: item.disabled,\n readOnly: item.readOnly,\n alert: item.alert,\n icon: item.icon,\n iconType: item.iconType,\n shortcut: item.shortcut,\n children,\n onSelect: item.onSelect ? () => item.onSelect?.(ctx) : undefined,\n };\n}\n\nexport function createDataTableRowActionsColumn<TData>(\n options: DataTableRowActionsColumnOptions<TData> = {},\n): ColumnDef<TData> {\n const {\n id = \"actions\",\n header,\n align = \"end\",\n editingRowId,\n trigger,\n actions,\n onStartEdit,\n onSaveEdit,\n onCancelEdit,\n onDelete,\n labels,\n includeDefaultActions = true,\n } = options;\n\n return createDataTableActionsColumn<TData>({\n id,\n header,\n renderCell: ({ row, data }) => {\n const ctx = { row, data };\n const isEditingRow = editingRowId === row.id;\n\n if (isEditingRow && (onSaveEdit || onCancelEdit)) {\n return (\n <div\n className=\"flex flex-col items-center gap-6\"\n onClick={(event) => event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n role=\"presentation\"\n >\n {onSaveEdit ? (\n <Button\n type=\"button\"\n variant=\"circleGhost\"\n size=\"icon-md\"\n aria-label={labels?.saveAriaLabel ?? \"Сохранить изменения\"}\n onClick={() => onSaveEdit(ctx)}\n >\n <Icon\n type=\"check-circle\"\n className=\"text-success-text\"\n aria-hidden\n />\n </Button>\n ) : null}\n {onCancelEdit ? (\n <Button\n type=\"button\"\n variant=\"circleGhost\"\n size=\"icon-md\"\n aria-label={labels?.cancelAriaLabel ?? \"Отменить редактирование\"}\n onClick={() => onCancelEdit(ctx)}\n >\n <Icon\n type=\"x-circle\"\n className=\"text-error-text\"\n aria-hidden\n />\n </Button>\n ) : null}\n </div>\n );\n }\n\n const resolvedActions =\n typeof actions === \"function\" ? actions(ctx) : (actions ?? []);\n const defaultActions: DataTableRowActionNode<TData>[] = [\n ...(onStartEdit\n ? [\n {\n id: `${id}-edit-${row.id}`,\n label: labels?.edit ?? \"Редактировать\",\n onSelect: onStartEdit,\n iconType: \"pencil-simple\",\n } satisfies DataTableRowActionItem<TData>,\n ]\n : []),\n ...(onDelete\n ? [\n { type: \"separator\" } satisfies DataTableRowActionSeparator,\n {\n id: `${id}-delete-${row.id}`,\n label: labels?.delete ?? \"Удалить\",\n iconType: \"trash\",\n alert: true,\n onSelect: onDelete,\n } satisfies DataTableRowActionItem<TData>,\n ]\n : []),\n ];\n\n const menuItems = [\n ...resolvedActions,\n ...(includeDefaultActions ? defaultActions : []),\n ]\n .map((item) => mapRowActionNode(item, ctx))\n .filter((item): item is DropdownMenuConfigNode => item !== null);\n\n const resolvedTrigger = trigger ? (\n trigger(ctx)\n ) : (\n <Button\n type=\"button\"\n variant=\"circleGhost\"\n size=\"icon-xs\"\n aria-label=\"Открыть действия строки\"\n >\n <Icon\n type=\"dots-three\"\n aria-hidden\n />\n </Button>\n );\n\n return (\n <div\n className={cn(\"flex justify-end\")}\n onClick={(event) => event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n role=\"presentation\"\n >\n <ConfigurableDropdownMenu\n trigger={resolvedTrigger}\n items={\n menuItems.length > 0\n ? menuItems\n : [\n {\n id: `${id}-empty-${row.id}`,\n type: \"item\",\n label: labels?.empty ?? \"Нет действий\",\n readOnly: true,\n },\n ]\n }\n contentProps={{ align }}\n />\n </div>\n );\n },\n });\n}\n\nexport type {\n DataTableRowActionContext,\n DataTableRowActionItem,\n DataTableRowActionLabel,\n DataTableRowActionNode,\n DataTableRowActionSeparator,\n DataTableRowActionsColumnOptions,\n};\n"],"names":["mapRowActionNode","item","ctx","children","child","createDataTableRowActionsColumn","options","id","header","align","editingRowId","trigger","actions","onStartEdit","onSaveEdit","onCancelEdit","onDelete","labels","includeDefaultActions","createDataTableActionsColumn","row","data","jsxs","event","jsx","Button","Icon","resolvedActions","defaultActions","menuItems","resolvedTrigger","cn","ConfigurableDropdownMenu"],"mappings":"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"}