brd-ui-kit 0.1.72 → 0.1.75

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 (252) hide show
  1. package/dist/brd-ui-kit.css +1 -1
  2. package/dist/calendar-C0DXP3T-.js +3118 -0
  3. package/dist/calendar-C0DXP3T-.js.map +1 -0
  4. package/dist/calendar-DReGV_22.cjs +2 -0
  5. package/dist/calendar-DReGV_22.cjs.map +1 -0
  6. package/dist/calendar-locale-CP2pxhFK.cjs +2 -0
  7. package/dist/calendar-locale-CP2pxhFK.cjs.map +1 -0
  8. package/dist/calendar-locale-DJf03PI9.js +592 -0
  9. package/dist/calendar-locale-DJf03PI9.js.map +1 -0
  10. package/dist/{chart-CgVfpT_X.cjs → chart-C69jBlXa.cjs} +2 -2
  11. package/dist/{chart-CgVfpT_X.cjs.map → chart-C69jBlXa.cjs.map} +1 -1
  12. package/dist/{chart-D15EtNmb.js → chart-CAPCe8o5.js} +3 -3
  13. package/dist/{chart-D15EtNmb.js.map → chart-CAPCe8o5.js.map} +1 -1
  14. package/dist/components/basic-table/basic-table.d.ts +33 -2
  15. package/dist/components/basic-table/index.d.ts +1 -1
  16. package/dist/components/data-table/data-table-actions-column.d.ts +23 -0
  17. package/dist/components/data-table/data-table-bulk-actions.d.ts +20 -0
  18. package/dist/components/data-table/data-table-column-visibility.d.ts +17 -0
  19. package/dist/components/data-table/data-table-editable-column.d.ts +12 -0
  20. package/dist/components/data-table/data-table-filter.d.ts +12 -0
  21. package/dist/components/data-table/data-table-row-actions-column.d.ts +53 -0
  22. package/dist/components/data-table/data-table-select-column.d.ts +2 -0
  23. package/dist/components/data-table/data-table.d.ts +2 -0
  24. package/dist/components/data-table/data-table.styles.d.ts +8 -0
  25. package/dist/components/data-table/index.d.ts +17 -0
  26. package/dist/components/data-table/use-data-table-editable-rows.d.ts +60 -0
  27. package/dist/components/data-table.d.ts +2 -0
  28. package/dist/components/files-uploader/files-uploader.d.ts +8 -6
  29. package/dist/components/textarea-field/index.d.ts +1 -1
  30. package/dist/components/ui/button/button.styles.d.ts +2 -2
  31. package/dist/components/ui/calendar/calendar.d.ts +14 -10
  32. package/dist/components/ui/calendar/calendar.styles.d.ts +60 -2
  33. package/dist/components/ui/calendar/index.d.ts +3 -2
  34. package/dist/components/ui/dropdown-menu/dropdown-menu.d.ts +102 -0
  35. package/dist/components/ui/dropdown-menu/dropdown-menu.styles.d.ts +9 -0
  36. package/dist/components/ui/dropdown-menu/index.d.ts +2 -0
  37. package/dist/components/ui/dropdown-menu.d.ts +2 -0
  38. package/dist/components/ui/icon/icon-presets.d.ts +5 -5
  39. package/dist/components/ui/icon/icon.d.ts +2 -1
  40. package/dist/components/ui/pagination/pagination.d.ts +6 -5
  41. package/dist/components/ui/select/select.styles.d.ts +2 -2
  42. package/dist/components/ui/select-calendar-menu/index.d.ts +1 -0
  43. package/dist/components/ui/select-calendar-menu/select-calendar-menu.d.ts +33 -0
  44. package/dist/components/ui/select-calendar-menu.d.ts +2 -0
  45. package/dist/components/ui/textarea/textarea.d.ts +2 -2
  46. package/dist/components/ui/toggle/index.d.ts +3 -0
  47. package/dist/components/ui/toggle/toggle.d.ts +5 -0
  48. package/dist/components/ui/toggle/toggle.styles.d.ts +10 -0
  49. package/dist/components/ui/toggle-group/index.d.ts +1 -0
  50. package/dist/components/ui/toggle-group/toggle-group.d.ts +13 -0
  51. package/dist/components/ui/toggle-group/toggle-group.styles.d.ts +14 -0
  52. package/dist/components/ui/toggle-group.d.ts +2 -0
  53. package/dist/components/ui/toggle.d.ts +2 -0
  54. package/dist/components-app-pagination-app-pagination.cjs +1 -1
  55. package/dist/components-app-pagination-app-pagination.cjs.map +1 -1
  56. package/dist/components-app-pagination-app-pagination.js +46 -30
  57. package/dist/components-app-pagination-app-pagination.js.map +1 -1
  58. package/dist/components-app-pagination-app-pagination.styles.cjs +2 -2
  59. package/dist/components-app-pagination-app-pagination.styles.cjs.map +1 -1
  60. package/dist/components-app-pagination-app-pagination.styles.js +12 -12
  61. package/dist/components-app-pagination-app-pagination.styles.js.map +1 -1
  62. package/dist/components-avatar-uploader-avatar-uploader.cjs +2 -2
  63. package/dist/components-avatar-uploader-avatar-uploader.cjs.map +1 -1
  64. package/dist/components-avatar-uploader-avatar-uploader.js +8 -4
  65. package/dist/components-avatar-uploader-avatar-uploader.js.map +1 -1
  66. package/dist/components-basic-avatar-basic-avatar.cjs +2 -2
  67. package/dist/components-basic-avatar-basic-avatar.cjs.map +1 -1
  68. package/dist/components-basic-avatar-basic-avatar.js +8 -4
  69. package/dist/components-basic-avatar-basic-avatar.js.map +1 -1
  70. package/dist/components-basic-chart-basic-chart.cjs +1 -1
  71. package/dist/components-basic-chart-basic-chart.js +1 -1
  72. package/dist/components-basic-drawer-basic-drawer.cjs +1 -1
  73. package/dist/components-basic-drawer-basic-drawer.cjs.map +1 -1
  74. package/dist/components-basic-drawer-basic-drawer.js +13 -14
  75. package/dist/components-basic-drawer-basic-drawer.js.map +1 -1
  76. package/dist/components-basic-table-basic-table.cjs +2 -2
  77. package/dist/components-basic-table-basic-table.cjs.map +1 -1
  78. package/dist/components-basic-table-basic-table.js +874 -757
  79. package/dist/components-basic-table-basic-table.js.map +1 -1
  80. package/dist/components-data-table-data-table-actions-column.cjs +2 -0
  81. package/dist/components-data-table-data-table-actions-column.cjs.map +1 -0
  82. package/dist/components-data-table-data-table-actions-column.js +72 -0
  83. package/dist/components-data-table-data-table-actions-column.js.map +1 -0
  84. package/dist/components-data-table-data-table-bulk-actions.cjs +2 -0
  85. package/dist/components-data-table-data-table-bulk-actions.cjs.map +1 -0
  86. package/dist/components-data-table-data-table-bulk-actions.js +60 -0
  87. package/dist/components-data-table-data-table-bulk-actions.js.map +1 -0
  88. package/dist/components-data-table-data-table-column-visibility.cjs +3 -0
  89. package/dist/components-data-table-data-table-column-visibility.cjs.map +1 -0
  90. package/dist/components-data-table-data-table-column-visibility.js +100 -0
  91. package/dist/components-data-table-data-table-column-visibility.js.map +1 -0
  92. package/dist/components-data-table-data-table-editable-column.cjs +2 -0
  93. package/dist/components-data-table-data-table-editable-column.cjs.map +1 -0
  94. package/dist/components-data-table-data-table-editable-column.js +15 -0
  95. package/dist/components-data-table-data-table-editable-column.js.map +1 -0
  96. package/dist/components-data-table-data-table-filter.cjs +2 -0
  97. package/dist/components-data-table-data-table-filter.cjs.map +1 -0
  98. package/dist/components-data-table-data-table-filter.js +39 -0
  99. package/dist/components-data-table-data-table-filter.js.map +1 -0
  100. package/dist/components-data-table-data-table-row-actions-column.cjs +2 -0
  101. package/dist/components-data-table-data-table-row-actions-column.cjs.map +1 -0
  102. package/dist/components-data-table-data-table-row-actions-column.js +174 -0
  103. package/dist/components-data-table-data-table-row-actions-column.js.map +1 -0
  104. package/dist/components-data-table-data-table-select-column.cjs +2 -0
  105. package/dist/components-data-table-data-table-select-column.cjs.map +1 -0
  106. package/dist/components-data-table-data-table-select-column.js +44 -0
  107. package/dist/components-data-table-data-table-select-column.js.map +1 -0
  108. package/dist/components-data-table-data-table.cjs +2 -0
  109. package/dist/components-data-table-data-table.cjs.map +1 -0
  110. package/dist/components-data-table-data-table.js +37 -0
  111. package/dist/components-data-table-data-table.js.map +1 -0
  112. package/dist/components-data-table-data-table.styles.cjs +4 -0
  113. package/dist/components-data-table-data-table.styles.cjs.map +1 -0
  114. package/dist/components-data-table-data-table.styles.js +22 -0
  115. package/dist/components-data-table-data-table.styles.js.map +1 -0
  116. package/dist/components-data-table-use-data-table-editable-rows.cjs +2 -0
  117. package/dist/components-data-table-use-data-table-editable-rows.cjs.map +1 -0
  118. package/dist/components-data-table-use-data-table-editable-rows.js +156 -0
  119. package/dist/components-data-table-use-data-table-editable-rows.js.map +1 -0
  120. package/dist/components-data-table.cjs +2 -0
  121. package/dist/components-data-table.cjs.map +1 -0
  122. package/dist/components-data-table.js +21 -0
  123. package/dist/components-data-table.js.map +1 -0
  124. package/dist/components-files-uploader-files-uploader.cjs +6 -6
  125. package/dist/components-files-uploader-files-uploader.cjs.map +1 -1
  126. package/dist/components-files-uploader-files-uploader.js +108 -109
  127. package/dist/components-files-uploader-files-uploader.js.map +1 -1
  128. package/dist/components-input-contact-input-contact.cjs +1 -1
  129. package/dist/components-input-contact-input-contact.cjs.map +1 -1
  130. package/dist/components-input-contact-input-contact.js +8 -4
  131. package/dist/components-input-contact-input-contact.js.map +1 -1
  132. package/dist/components-input-password-input-password.cjs +1 -1
  133. package/dist/components-input-password-input-password.cjs.map +1 -1
  134. package/dist/components-input-password-input-password.js +8 -4
  135. package/dist/components-input-password-input-password.js.map +1 -1
  136. package/dist/components-popover-modal-popover-modal.cjs.map +1 -1
  137. package/dist/components-popover-modal-popover-modal.js +27 -20
  138. package/dist/components-popover-modal-popover-modal.js.map +1 -1
  139. package/dist/components-textarea-field-textarea-field.cjs.map +1 -1
  140. package/dist/components-textarea-field-textarea-field.js.map +1 -1
  141. package/dist/components-ui-button-button.styles.cjs +18 -8
  142. package/dist/components-ui-button-button.styles.cjs.map +1 -1
  143. package/dist/components-ui-button-button.styles.js +49 -33
  144. package/dist/components-ui-button-button.styles.js.map +1 -1
  145. package/dist/components-ui-calendar-calendar.cjs +1 -12
  146. package/dist/components-ui-calendar-calendar.cjs.map +1 -1
  147. package/dist/components-ui-calendar-calendar.js +12 -3757
  148. package/dist/components-ui-calendar-calendar.js.map +1 -1
  149. package/dist/components-ui-calendar-calendar.styles.cjs +17 -13
  150. package/dist/components-ui-calendar-calendar.styles.cjs.map +1 -1
  151. package/dist/components-ui-calendar-calendar.styles.js +193 -24
  152. package/dist/components-ui-calendar-calendar.styles.js.map +1 -1
  153. package/dist/components-ui-calendar.cjs +1 -1
  154. package/dist/components-ui-calendar.js +3 -2
  155. package/dist/components-ui-calendar.js.map +1 -1
  156. package/dist/components-ui-card-card.styles.cjs +2 -2
  157. package/dist/components-ui-card-card.styles.cjs.map +1 -1
  158. package/dist/components-ui-card-card.styles.js +2 -2
  159. package/dist/components-ui-card-card.styles.js.map +1 -1
  160. package/dist/components-ui-chart-chart.cjs +1 -1
  161. package/dist/components-ui-chart-chart.js +1 -1
  162. package/dist/components-ui-chart.cjs +1 -1
  163. package/dist/components-ui-chart.js +1 -1
  164. package/dist/components-ui-dropdown-menu-dropdown-menu.cjs +3 -0
  165. package/dist/components-ui-dropdown-menu-dropdown-menu.cjs.map +1 -0
  166. package/dist/components-ui-dropdown-menu-dropdown-menu.js +293 -0
  167. package/dist/components-ui-dropdown-menu-dropdown-menu.js.map +1 -0
  168. package/dist/components-ui-dropdown-menu-dropdown-menu.styles.cjs +29 -0
  169. package/dist/components-ui-dropdown-menu-dropdown-menu.styles.cjs.map +1 -0
  170. package/dist/components-ui-dropdown-menu-dropdown-menu.styles.js +43 -0
  171. package/dist/components-ui-dropdown-menu-dropdown-menu.styles.js.map +1 -0
  172. package/dist/components-ui-dropdown-menu.cjs +2 -0
  173. package/dist/components-ui-dropdown-menu.cjs.map +1 -0
  174. package/dist/components-ui-dropdown-menu.js +17 -0
  175. package/dist/components-ui-dropdown-menu.js.map +1 -0
  176. package/dist/components-ui-field-field.cjs +1 -1
  177. package/dist/components-ui-field-field.cjs.map +1 -1
  178. package/dist/components-ui-field-field.js +14 -14
  179. package/dist/components-ui-field-field.js.map +1 -1
  180. package/dist/components-ui-icon-icon-presets.cjs +1 -1
  181. package/dist/components-ui-icon-icon-presets.cjs.map +1 -1
  182. package/dist/components-ui-icon-icon-presets.js +3 -3
  183. package/dist/components-ui-icon-icon-presets.js.map +1 -1
  184. package/dist/components-ui-icon-icon.cjs +1 -1
  185. package/dist/components-ui-icon-icon.cjs.map +1 -1
  186. package/dist/components-ui-icon-icon.js +2621 -3595
  187. package/dist/components-ui-icon-icon.js.map +1 -1
  188. package/dist/components-ui-input-group-input-group.cjs.map +1 -1
  189. package/dist/components-ui-input-group-input-group.js.map +1 -1
  190. package/dist/components-ui-pagination-pagination.cjs +2 -1
  191. package/dist/components-ui-pagination-pagination.cjs.map +1 -1
  192. package/dist/components-ui-pagination-pagination.js +93 -62
  193. package/dist/components-ui-pagination-pagination.js.map +1 -1
  194. package/dist/components-ui-popover-popover.cjs.map +1 -1
  195. package/dist/components-ui-popover-popover.js +24 -14
  196. package/dist/components-ui-popover-popover.js.map +1 -1
  197. package/dist/components-ui-popover-popover.styles.cjs.map +1 -1
  198. package/dist/components-ui-popover-popover.styles.js.map +1 -1
  199. package/dist/components-ui-select-calendar-menu-select-calendar-menu.cjs +2 -0
  200. package/dist/components-ui-select-calendar-menu-select-calendar-menu.cjs.map +1 -0
  201. package/dist/components-ui-select-calendar-menu-select-calendar-menu.js +138 -0
  202. package/dist/components-ui-select-calendar-menu-select-calendar-menu.js.map +1 -0
  203. package/dist/components-ui-select-calendar-menu.cjs +2 -0
  204. package/dist/components-ui-select-calendar-menu.cjs.map +1 -0
  205. package/dist/components-ui-select-calendar-menu.js +5 -0
  206. package/dist/components-ui-select-calendar-menu.js.map +1 -0
  207. package/dist/components-ui-select-select.cjs.map +1 -1
  208. package/dist/components-ui-select-select.js.map +1 -1
  209. package/dist/components-ui-select-select.styles.cjs +2 -2
  210. package/dist/components-ui-select-select.styles.cjs.map +1 -1
  211. package/dist/components-ui-select-select.styles.js +5 -5
  212. package/dist/components-ui-select-select.styles.js.map +1 -1
  213. package/dist/components-ui-sonner-sonner.styles.cjs.map +1 -1
  214. package/dist/components-ui-sonner-sonner.styles.js.map +1 -1
  215. package/dist/components-ui-textarea-textarea.cjs +1 -1
  216. package/dist/components-ui-textarea-textarea.cjs.map +1 -1
  217. package/dist/components-ui-textarea-textarea.js +2 -3
  218. package/dist/components-ui-textarea-textarea.js.map +1 -1
  219. package/dist/components-ui-textarea-textarea.styles.cjs +1 -1
  220. package/dist/components-ui-textarea-textarea.styles.cjs.map +1 -1
  221. package/dist/components-ui-textarea-textarea.styles.js +1 -1
  222. package/dist/components-ui-textarea-textarea.styles.js.map +1 -1
  223. package/dist/components-ui-toggle-group-toggle-group.cjs +2 -0
  224. package/dist/components-ui-toggle-group-toggle-group.cjs.map +1 -0
  225. package/dist/components-ui-toggle-group-toggle-group.js +122 -0
  226. package/dist/components-ui-toggle-group-toggle-group.js.map +1 -0
  227. package/dist/components-ui-toggle-group-toggle-group.styles.cjs +2 -0
  228. package/dist/components-ui-toggle-group-toggle-group.styles.cjs.map +1 -0
  229. package/dist/components-ui-toggle-group-toggle-group.styles.js +81 -0
  230. package/dist/components-ui-toggle-group-toggle-group.styles.js.map +1 -0
  231. package/dist/components-ui-toggle-group.cjs +2 -0
  232. package/dist/components-ui-toggle-group.cjs.map +1 -0
  233. package/dist/components-ui-toggle-group.js +6 -0
  234. package/dist/components-ui-toggle-group.js.map +1 -0
  235. package/dist/components-ui-toggle-toggle.cjs +2 -0
  236. package/dist/components-ui-toggle-toggle.cjs.map +1 -0
  237. package/dist/components-ui-toggle-toggle.js +57 -0
  238. package/dist/components-ui-toggle-toggle.js.map +1 -0
  239. package/dist/components-ui-toggle-toggle.styles.cjs +7 -0
  240. package/dist/components-ui-toggle-toggle.styles.cjs.map +1 -0
  241. package/dist/components-ui-toggle-toggle.styles.js +33 -0
  242. package/dist/components-ui-toggle-toggle.styles.js.map +1 -0
  243. package/dist/components-ui-toggle.cjs +2 -0
  244. package/dist/components-ui-toggle.cjs.map +1 -0
  245. package/dist/components-ui-toggle.js +7 -0
  246. package/dist/components-ui-toggle.js.map +1 -0
  247. package/dist/constants/calendar-locale.d.ts +5 -0
  248. package/dist/index.cjs +1 -1
  249. package/dist/index.d.ts +11 -2
  250. package/dist/index.js +227 -191
  251. package/dist/index.js.map +1 -1
  252. package/package.json +62 -17
@@ -0,0 +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=_;
2
+ //# sourceMappingURL=components-data-table-data-table-actions-column.cjs.map
@@ -0,0 +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"}
@@ -0,0 +1,72 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import "react";
3
+ import { Button as u } from "./components-ui-button-button.js";
4
+ import "./components-ui-button-button.styles.js";
5
+ import { ConfigurableDropdownMenu as b } from "./components-ui-dropdown-menu-dropdown-menu.js";
6
+ import { Icon as h } from "./components-ui-icon-icon.js";
7
+ function D(m = {}) {
8
+ const {
9
+ id: a = "actions",
10
+ header: c,
11
+ renderCell: i,
12
+ trigger: l,
13
+ menuItems: t,
14
+ align: d = "end",
15
+ ariaLabel: p = "Открыть действия строки"
16
+ } = m;
17
+ return {
18
+ id: a,
19
+ header: c,
20
+ enableSorting: !1,
21
+ enableHiding: !1,
22
+ meta: {
23
+ label: "Действия",
24
+ headClassName: "w-[4.5625rem]",
25
+ cellClassName: "w-[4.5625rem]"
26
+ },
27
+ cell: ({ row: s }) => {
28
+ const r = { row: s, data: s.original };
29
+ if (i)
30
+ return i(r);
31
+ const n = typeof t == "function" ? t(r) : t, f = [
32
+ { id: `${a}-empty`, type: "item", label: "Нет действий", readOnly: !0 }
33
+ ], g = l ? l(r) : /* @__PURE__ */ e(
34
+ u,
35
+ {
36
+ type: "button",
37
+ variant: "circleGhost",
38
+ size: "icon-xs",
39
+ "aria-label": p,
40
+ children: /* @__PURE__ */ e(
41
+ h,
42
+ {
43
+ type: "dots-three",
44
+ "aria-hidden": !0
45
+ }
46
+ )
47
+ }
48
+ );
49
+ return /* @__PURE__ */ e(
50
+ "div",
51
+ {
52
+ className: "flex justify-end",
53
+ onClick: (o) => o.stopPropagation(),
54
+ onKeyDown: (o) => o.stopPropagation(),
55
+ role: "presentation",
56
+ children: /* @__PURE__ */ e(
57
+ b,
58
+ {
59
+ trigger: g,
60
+ items: n && n.length > 0 ? n : f,
61
+ contentProps: { align: d }
62
+ }
63
+ )
64
+ }
65
+ );
66
+ }
67
+ };
68
+ }
69
+ export {
70
+ D as createDataTableActionsColumn
71
+ };
72
+ //# sourceMappingURL=components-data-table-data-table-actions-column.js.map
@@ -0,0 +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;"}
@@ -0,0 +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=_;
2
+ //# sourceMappingURL=components-data-table-data-table-bulk-actions.cjs.map
@@ -0,0 +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"}
@@ -0,0 +1,60 @@
1
+ import { jsx as i, Fragment as u, jsxs as b } from "react/jsx-runtime";
2
+ import * as g from "react";
3
+ import { Button as w } from "./components-ui-button-button.js";
4
+ import "./components-ui-button-button.styles.js";
5
+ import { ConfigurableDropdownMenu as y } from "./components-ui-dropdown-menu-dropdown-menu.js";
6
+ function k({
7
+ table: e,
8
+ children: s,
9
+ trigger: o,
10
+ menuItems: r,
11
+ onDeleteSelected: a
12
+ }) {
13
+ const c = e.getFilteredSelectedRowModel().rows, t = c.length, d = g.useCallback(() => {
14
+ e.resetRowSelection();
15
+ }, [e]);
16
+ if (t === 0)
17
+ return null;
18
+ const n = {
19
+ table: e,
20
+ selectedRows: c,
21
+ selectedData: c.map((p) => p.original),
22
+ count: t,
23
+ clearSelection: d
24
+ };
25
+ if (s)
26
+ return /* @__PURE__ */ i(u, { children: s(n) });
27
+ const f = [
28
+ {
29
+ id: "delete-selected",
30
+ label: `Удалить (${t})`,
31
+ onSelect: () => {
32
+ a?.(n);
33
+ }
34
+ }
35
+ ], l = typeof r == "function" ? r(n) : r, m = typeof o == "function" ? o(n) : o || /* @__PURE__ */ b(
36
+ w,
37
+ {
38
+ type: "button",
39
+ variant: "secondary",
40
+ size: "sm",
41
+ className: "inner-border inner-border-1 inner-border-color-delicate bg-primary-bg",
42
+ children: [
43
+ "Удалить (",
44
+ t,
45
+ ")"
46
+ ]
47
+ }
48
+ );
49
+ return /* @__PURE__ */ i(
50
+ y,
51
+ {
52
+ trigger: m,
53
+ items: l && l.length > 0 ? l : f
54
+ }
55
+ );
56
+ }
57
+ export {
58
+ k as DataTableBulkActions
59
+ };
60
+ //# sourceMappingURL=components-data-table-data-table-bulk-actions.js.map
@@ -0,0 +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;"}
@@ -0,0 +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
2
+ shadow-none`)}})}exports.DataTableColumnVisibility=w;
3
+ //# sourceMappingURL=components-data-table-data-table-column-visibility.cjs.map
@@ -0,0 +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"}
@@ -0,0 +1,100 @@
1
+ import { jsx as o, jsxs as w } from "react/jsx-runtime";
2
+ import "react";
3
+ import { Button as V } from "./components-ui-button-button.js";
4
+ import "./components-ui-button-button.styles.js";
5
+ import { CheckboxDropdownMenu as D } from "./components-ui-dropdown-menu-dropdown-menu.js";
6
+ import { Icon as g } from "./components-ui-icon-icon.js";
7
+ import { cn as l } from "./lib-utils.js";
8
+ import { getTypographyClassName as u } from "./components-ui-typography-typography.styles.js";
9
+ function c(t, r) {
10
+ return t.getColumn(r)?.columnDef.meta?.label ?? r;
11
+ }
12
+ function F({
13
+ table: t,
14
+ columnVisibility: r,
15
+ onColumnVisibilityChange: n,
16
+ triggerLabel: s = "Колонки",
17
+ trigger: p,
18
+ menuLabel: h = "Видимость колонок",
19
+ includeColumnIds: m,
20
+ excludeColumnIds: a,
21
+ align: f = "end",
22
+ dropdownWidthClassName: b = "w-56"
23
+ }) {
24
+ const d = t.getAllColumns().filter((e) => typeof e.accessorFn < "u").filter((e) => e.getCanHide()).filter((e) => !m?.length || m.includes(e.id)).filter(
25
+ (e) => !a?.length || !a.includes(e.id)
26
+ );
27
+ if (!d.length)
28
+ return null;
29
+ const y = (e) => r ? r[e] ?? !0 : t.getColumn(e)?.getIsVisible() ?? !0, C = (e, i) => {
30
+ if (n) {
31
+ n((N) => ({
32
+ ...N,
33
+ [e]: i
34
+ }));
35
+ return;
36
+ }
37
+ t.getColumn(e)?.toggleVisibility(i);
38
+ }, k = p ?? /* @__PURE__ */ w(
39
+ V,
40
+ {
41
+ type: "button",
42
+ variant: "outlined",
43
+ size: "sm",
44
+ children: [
45
+ s,
46
+ /* @__PURE__ */ o(
47
+ g,
48
+ {
49
+ type: "columns-plus-right",
50
+ "aria-hidden": !0
51
+ }
52
+ )
53
+ ]
54
+ }
55
+ ), x = d.map((e) => {
56
+ const i = y(e.id);
57
+ return {
58
+ key: e.id,
59
+ checked: i,
60
+ itemIndicator: null,
61
+ className: l("rounded-none px-4 py-2", u("body-sm-regular")),
62
+ checkedClassName: l(
63
+ "bg-tertiary-bg text-primary-text data-[highlighted]:bg-tertiary-bg",
64
+ u("body-sm-medium")
65
+ ),
66
+ label: c(t, e.id),
67
+ checkedEndAdornment: /* @__PURE__ */ o(
68
+ g,
69
+ {
70
+ type: "check",
71
+ "aria-hidden": !0,
72
+ size: "small"
73
+ }
74
+ ),
75
+ textValue: c(t, e.id)
76
+ };
77
+ });
78
+ return /* @__PURE__ */ o(
79
+ D,
80
+ {
81
+ trigger: k,
82
+ items: x,
83
+ onItemCheckedChange: C,
84
+ keepOpenOnItemSelect: !0,
85
+ contentProps: {
86
+ align: f,
87
+ "aria-label": h,
88
+ className: l(
89
+ b,
90
+ `border-inp-focus-border bg-primary-bg overflow-hidden rounded-xl border py-2
91
+ shadow-none`
92
+ )
93
+ }
94
+ }
95
+ );
96
+ }
97
+ export {
98
+ F as DataTableColumnVisibility
99
+ };
100
+ //# sourceMappingURL=components-data-table-data-table-column-visibility.js.map
@@ -0,0 +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;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function i(t,e={}){const a=t.meta??{};return{...t,meta:{...a,...e,editable:!0}}}exports.withDataTableEditableColumn=i;
2
+ //# sourceMappingURL=components-data-table-data-table-editable-column.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components-data-table-data-table-editable-column.cjs","sources":["../src/components/data-table/data-table-editable-column.ts"],"sourcesContent":["import type { ColumnDef } from \"@tanstack/react-table\";\n\nimport type { DataTableColumnMeta } from \"@/components/basic-table\";\n\ntype DataTableEditableColumnOptions<TData> = {\n editKey?: DataTableColumnMeta<TData>[\"editKey\"];\n editComponent?: DataTableColumnMeta<TData>[\"editComponent\"];\n editClassName?: DataTableColumnMeta<TData>[\"editClassName\"];\n editPlaceholder?: DataTableColumnMeta<TData>[\"editPlaceholder\"];\n getEditValue?: DataTableColumnMeta<TData>[\"getEditValue\"];\n};\n\nfunction withDataTableEditableColumn<TData, TValue>(\n column: ColumnDef<TData, TValue>,\n options: DataTableEditableColumnOptions<TData> = {},\n): ColumnDef<TData, TValue> {\n const meta = (column.meta as DataTableColumnMeta<TData> | undefined) ?? {};\n\n return {\n ...column,\n meta: {\n ...meta,\n ...options,\n editable: true,\n } satisfies DataTableColumnMeta<TData>,\n };\n}\n\nexport { withDataTableEditableColumn };\nexport type { DataTableEditableColumnOptions };\n"],"names":["withDataTableEditableColumn","column","options","meta"],"mappings":"gFAYA,SAASA,EACPC,EACAC,EAAiD,GACvB,CAC1B,MAAMC,EAAQF,EAAO,MAAmD,CAAA,EAExE,MAAO,CACL,GAAGA,EACH,KAAM,CACJ,GAAGE,EACH,GAAGD,EACH,SAAU,EAAA,CACZ,CAEJ"}
@@ -0,0 +1,15 @@
1
+ function i(t, e = {}) {
2
+ const a = t.meta ?? {};
3
+ return {
4
+ ...t,
5
+ meta: {
6
+ ...a,
7
+ ...e,
8
+ editable: !0
9
+ }
10
+ };
11
+ }
12
+ export {
13
+ i as withDataTableEditableColumn
14
+ };
15
+ //# sourceMappingURL=components-data-table-data-table-editable-column.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components-data-table-data-table-editable-column.js","sources":["../src/components/data-table/data-table-editable-column.ts"],"sourcesContent":["import type { ColumnDef } from \"@tanstack/react-table\";\n\nimport type { DataTableColumnMeta } from \"@/components/basic-table\";\n\ntype DataTableEditableColumnOptions<TData> = {\n editKey?: DataTableColumnMeta<TData>[\"editKey\"];\n editComponent?: DataTableColumnMeta<TData>[\"editComponent\"];\n editClassName?: DataTableColumnMeta<TData>[\"editClassName\"];\n editPlaceholder?: DataTableColumnMeta<TData>[\"editPlaceholder\"];\n getEditValue?: DataTableColumnMeta<TData>[\"getEditValue\"];\n};\n\nfunction withDataTableEditableColumn<TData, TValue>(\n column: ColumnDef<TData, TValue>,\n options: DataTableEditableColumnOptions<TData> = {},\n): ColumnDef<TData, TValue> {\n const meta = (column.meta as DataTableColumnMeta<TData> | undefined) ?? {};\n\n return {\n ...column,\n meta: {\n ...meta,\n ...options,\n editable: true,\n } satisfies DataTableColumnMeta<TData>,\n };\n}\n\nexport { withDataTableEditableColumn };\nexport type { DataTableEditableColumnOptions };\n"],"names":["withDataTableEditableColumn","column","options","meta"],"mappings":"AAYA,SAASA,EACPC,GACAC,IAAiD,IACvB;AAC1B,QAAMC,IAAQF,EAAO,QAAmD,CAAA;AAExE,SAAO;AAAA,IACL,GAAGA;AAAA,IACH,MAAM;AAAA,MACJ,GAAGE;AAAA,MACH,GAAGD;AAAA,MACH,UAAU;AAAA,IAAA;AAAA,EACZ;AAEJ;"}
@@ -0,0 +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;
2
+ //# sourceMappingURL=components-data-table-data-table-filter.cjs.map
@@ -0,0 +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"}
@@ -0,0 +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({
5
+ table: e,
6
+ searchableColumnIds: r,
7
+ placeholder: u = "Поиск...",
8
+ inputProps: c
9
+ }) {
10
+ const l = i.useMemo(
11
+ () => r?.filter(Boolean) ?? [],
12
+ [r]
13
+ ), f = l.join("|");
14
+ i.useEffect(() => {
15
+ const t = new Set(l);
16
+ e.setOptions((o) => {
17
+ const a = o.getColumnCanGlobalFilter;
18
+ return {
19
+ ...o,
20
+ getColumnCanGlobalFilter: (s) => (a ? a(s) : !0) ? t.size === 0 ? !0 : t.has(s.id) : !1
21
+ };
22
+ });
23
+ }, [e, f, l]);
24
+ const n = e.getState().globalFilter;
25
+ return /* @__PURE__ */ m(
26
+ F,
27
+ {
28
+ sizeInput: "sm",
29
+ placeholder: u,
30
+ value: typeof n == "string" ? n : "",
31
+ onChange: (t) => e.setGlobalFilter(t.target.value),
32
+ ...c
33
+ }
34
+ );
35
+ }
36
+ export {
37
+ G as DataTableFilter
38
+ };
39
+ //# sourceMappingURL=components-data-table-data-table-filter.js.map
@@ -0,0 +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;"}
@@ -0,0 +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;
2
+ //# sourceMappingURL=components-data-table-data-table-row-actions-column.cjs.map
@@ -0,0 +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":"6bA0EA,SAASA,EACPC,EACAC,EAC+B,CAC/B,GAAID,EAAK,OACP,OAAO,KAGT,GAAIA,EAAK,OAAS,YAChB,MAAO,CACL,GAAIA,EAAK,GACT,KAAM,WAAA,EAIV,GAAIA,EAAK,OAAS,QAChB,MAAO,CACL,GAAIA,EAAK,GACT,KAAM,QACN,MAAOA,EAAK,KAAA,EAIhB,MAAME,EAAWF,EAAK,UAClB,IAAKG,GAAUJ,EAAiBI,EAAOF,CAAG,CAAC,EAC5C,OAAQE,GAA2CA,IAAU,IAAI,EAEpE,MAAO,CACL,GAAIH,EAAK,GACT,KAAM,OACN,MAAOA,EAAK,MACZ,SAAUA,EAAK,SACf,SAAUA,EAAK,SACf,MAAOA,EAAK,MACZ,KAAMA,EAAK,KACX,SAAUA,EAAK,SACf,SAAUA,EAAK,SACf,SAAAE,EACA,SAAUF,EAAK,SAAW,IAAMA,EAAK,WAAWC,CAAG,EAAI,MAAA,CAE3D,CAEO,SAASG,EACdC,EAAmD,GACjC,CAClB,KAAM,CACJ,GAAAC,EAAK,UACL,OAAAC,EACA,MAAAC,EAAQ,MACR,aAAAC,EACA,QAAAC,EACA,QAAAC,EACA,YAAAC,EACA,WAAAC,EACA,aAAAC,EACA,SAAAC,EACA,OAAAC,EACA,sBAAAC,EAAwB,EAAA,EACtBZ,EAEJ,OAAOa,+BAAoC,CACzC,GAAAZ,EACA,OAAAC,EACA,WAAY,CAAC,CAAE,IAAAY,EAAK,KAAAC,KAAW,CAC7B,MAAMnB,EAAM,CAAE,IAAAkB,EAAK,KAAAC,CAAA,EAGnB,GAFqBX,IAAiBU,EAAI,KAErBN,GAAcC,GACjC,OACEO,EAAAA,KAAC,MAAA,CACC,UAAU,mCACV,QAAUC,GAAUA,EAAM,gBAAA,EAC1B,UAAYA,GAAUA,EAAM,gBAAA,EAC5B,KAAK,eAEJ,SAAA,CAAAT,EACCU,EAAAA,IAACC,EAAAA,OAAA,CACC,KAAK,SACL,QAAQ,cACR,KAAK,UACL,aAAYR,GAAQ,eAAiB,sBACrC,QAAS,IAAMH,EAAWZ,CAAG,EAE7B,SAAAsB,EAAAA,IAACE,EAAAA,KAAA,CACC,KAAK,eACL,UAAU,oBACV,cAAW,EAAA,CAAA,CACb,CAAA,EAEA,KACHX,EACCS,EAAAA,IAACC,EAAAA,OAAA,CACC,KAAK,SACL,QAAQ,cACR,KAAK,UACL,aAAYR,GAAQ,iBAAmB,0BACvC,QAAS,IAAMF,EAAab,CAAG,EAE/B,SAAAsB,EAAAA,IAACE,EAAAA,KAAA,CACC,KAAK,WACL,UAAU,kBACV,cAAW,EAAA,CAAA,CACb,CAAA,EAEA,IAAA,CAAA,CAAA,EAKV,MAAMC,EACJ,OAAOf,GAAY,WAAaA,EAAQV,CAAG,EAAKU,GAAW,CAAA,EACvDgB,EAAkD,CACtD,GAAIf,EACA,CACE,CACE,GAAI,GAAGN,CAAE,SAASa,EAAI,EAAE,GACxB,MAAOH,GAAQ,MAAQ,gBACvB,SAAUJ,EACV,SAAU,eAAA,CACZ,EAEF,CAAA,EACJ,GAAIG,EACA,CACE,CAAE,KAAM,WAAA,EACR,CACE,GAAI,GAAGT,CAAE,WAAWa,EAAI,EAAE,GAC1B,MAAOH,GAAQ,QAAU,UACzB,SAAU,QACV,MAAO,GACP,SAAUD,CAAA,CACZ,EAEF,CAAA,CAAC,EAGDa,EAAY,CAChB,GAAGF,EACH,GAAIT,EAAwBU,EAAiB,CAAA,CAAC,EAE7C,IAAK3B,GAASD,EAAiBC,EAAMC,CAAG,CAAC,EACzC,OAAQD,GAAyCA,IAAS,IAAI,EAE3D6B,EAAkBnB,EACtBA,EAAQT,CAAG,EAEXsB,EAAAA,IAACC,EAAAA,OAAA,CACC,KAAK,SACL,QAAQ,cACR,KAAK,UACL,aAAW,0BAEX,SAAAD,EAAAA,IAACE,EAAAA,KAAA,CACC,KAAK,aACL,cAAW,EAAA,CAAA,CACb,CAAA,EAIJ,OACEF,EAAAA,IAAC,MAAA,CACC,UAAWO,EAAAA,GAAG,kBAAkB,EAChC,QAAUR,GAAUA,EAAM,gBAAA,EAC1B,UAAYA,GAAUA,EAAM,gBAAA,EAC5B,KAAK,eAEL,SAAAC,EAAAA,IAACQ,EAAAA,yBAAA,CACC,QAASF,EACT,MACED,EAAU,OAAS,EACfA,EACA,CACE,CACE,GAAI,GAAGtB,CAAE,UAAUa,EAAI,EAAE,GACzB,KAAM,OACN,MAAOH,GAAQ,OAAS,eACxB,SAAU,EAAA,CACZ,EAGR,aAAc,CAAE,MAAAR,CAAA,CAAM,CAAA,CACxB,CAAA,CAGN,CAAA,CACD,CACH"}