@ayasofyazilim/ui 0.0.0 → 0.0.2

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 (667) hide show
  1. package/dist/aria/index.js +2 -0
  2. package/dist/aria/index.js.map +1 -0
  3. package/dist/aria/number-field.js +46 -0
  4. package/dist/aria/number-field.js.map +1 -0
  5. package/dist/components/accordion.js +66 -0
  6. package/dist/components/accordion.js.map +1 -0
  7. package/dist/components/alert-dialog.js +148 -0
  8. package/dist/components/alert-dialog.js.map +1 -0
  9. package/dist/components/alert.js +69 -0
  10. package/dist/components/alert.js.map +1 -0
  11. package/dist/components/aspect-ratio.js +12 -0
  12. package/dist/components/aspect-ratio.js.map +1 -0
  13. package/dist/components/avatar.js +55 -0
  14. package/dist/components/avatar.js.map +1 -0
  15. package/dist/components/badge.js +62 -0
  16. package/dist/components/badge.js.map +1 -0
  17. package/dist/components/breadcrumb.js +104 -0
  18. package/dist/components/breadcrumb.js.map +1 -0
  19. package/dist/components/button-group.js +77 -0
  20. package/dist/components/button-group.js.map +1 -0
  21. package/dist/components/button.js +56 -0
  22. package/dist/components/button.js.map +1 -0
  23. package/dist/components/calendar.js +196 -0
  24. package/dist/components/calendar.js.map +1 -0
  25. package/dist/components/card.js +91 -0
  26. package/dist/components/card.js.map +1 -0
  27. package/dist/components/carousel.js +200 -0
  28. package/dist/components/carousel.js.map +1 -0
  29. package/dist/components/chart.js +250 -0
  30. package/dist/components/chart.js.map +1 -0
  31. package/dist/components/checkbox.js +33 -0
  32. package/dist/components/checkbox.js.map +1 -0
  33. package/dist/components/collapsible.js +36 -0
  34. package/dist/components/collapsible.js.map +1 -0
  35. package/dist/components/command.js +178 -0
  36. package/dist/components/command.js.map +1 -0
  37. package/dist/components/context-menu.js +225 -0
  38. package/dist/components/context-menu.js.map +1 -0
  39. package/dist/components/dialog.js +139 -0
  40. package/dist/components/dialog.js.map +1 -0
  41. package/dist/components/drawer.js +130 -0
  42. package/dist/components/drawer.js.map +1 -0
  43. package/dist/components/dropdown-menu.js +234 -0
  44. package/dist/components/dropdown-menu.js.map +1 -0
  45. package/dist/components/empty.js +100 -0
  46. package/dist/components/empty.js.map +1 -0
  47. package/dist/components/field.js +231 -0
  48. package/dist/components/field.js.map +1 -0
  49. package/dist/components/form.js +124 -0
  50. package/dist/components/form.js.map +1 -0
  51. package/dist/components/hover-card.js +40 -0
  52. package/dist/components/hover-card.js.map +1 -0
  53. package/dist/components/input-group.js +156 -0
  54. package/dist/components/input-group.js.map +1 -0
  55. package/dist/components/input-otp.js +68 -0
  56. package/dist/components/input-otp.js.map +1 -0
  57. package/dist/components/input.js +22 -0
  58. package/dist/components/input.js.map +1 -0
  59. package/dist/components/item.js +188 -0
  60. package/dist/components/item.js.map +1 -0
  61. package/dist/components/kbd.js +32 -0
  62. package/dist/components/kbd.js.map +1 -0
  63. package/dist/components/label.js +24 -0
  64. package/dist/components/label.js.map +1 -0
  65. package/dist/components/menubar.js +253 -0
  66. package/dist/components/menubar.js.map +1 -0
  67. package/dist/components/navigation-menu.js +171 -0
  68. package/dist/components/navigation-menu.js.map +1 -0
  69. package/dist/components/pagination.js +125 -0
  70. package/dist/components/pagination.js.map +1 -0
  71. package/dist/components/popover.js +82 -0
  72. package/dist/components/popover.js.map +1 -0
  73. package/dist/components/progress.js +33 -0
  74. package/dist/components/progress.js.map +1 -0
  75. package/dist/components/radio-group.js +47 -0
  76. package/dist/components/radio-group.js.map +1 -0
  77. package/dist/components/resizable.js +50 -0
  78. package/dist/components/resizable.js.map +1 -0
  79. package/dist/components/scroll-area.js +62 -0
  80. package/dist/components/scroll-area.js.map +1 -0
  81. package/dist/components/select.js +173 -0
  82. package/dist/components/select.js.map +1 -0
  83. package/dist/components/separator.js +28 -0
  84. package/dist/components/separator.js.map +1 -0
  85. package/dist/components/sheet.js +129 -0
  86. package/dist/components/sheet.js.map +1 -0
  87. package/dist/components/sidebar.js +759 -0
  88. package/dist/components/sidebar.js.map +1 -0
  89. package/dist/components/skeleton.js +16 -0
  90. package/dist/components/skeleton.js.map +1 -0
  91. package/dist/components/slider.js +65 -0
  92. package/dist/components/slider.js.map +1 -0
  93. package/dist/components/sonner.js +40 -0
  94. package/dist/components/sonner.js.map +1 -0
  95. package/dist/components/spinner.js +18 -0
  96. package/dist/components/spinner.js.map +1 -0
  97. package/dist/components/stepper.js +220 -0
  98. package/dist/components/stepper.js.map +1 -0
  99. package/dist/components/switch.js +33 -0
  100. package/dist/components/switch.js.map +1 -0
  101. package/dist/components/table.js +131 -0
  102. package/dist/components/table.js.map +1 -0
  103. package/dist/components/tabs.js +69 -0
  104. package/dist/components/tabs.js.map +1 -0
  105. package/dist/components/textarea.js +19 -0
  106. package/dist/components/textarea.js.map +1 -0
  107. package/dist/components/toggle-group.js +70 -0
  108. package/dist/components/toggle-group.js.map +1 -0
  109. package/dist/components/toggle.js +45 -0
  110. package/dist/components/toggle.js.map +1 -0
  111. package/dist/components/tooltip.js +65 -0
  112. package/dist/components/tooltip.js.map +1 -0
  113. package/dist/custom/action-button.js +38 -0
  114. package/dist/custom/action-button.js.map +1 -0
  115. package/dist/custom/async-select.js +249 -0
  116. package/dist/custom/async-select.js.map +1 -0
  117. package/dist/custom/awesome-not-found.js +113 -0
  118. package/dist/custom/awesome-not-found.js.map +1 -0
  119. package/dist/custom/charts/area-chart.js +125 -0
  120. package/dist/custom/charts/area-chart.js.map +1 -0
  121. package/dist/custom/charts/bar-chart.js +232 -0
  122. package/dist/custom/charts/bar-chart.js.map +1 -0
  123. package/dist/custom/charts/chart-card.js +71 -0
  124. package/dist/custom/charts/chart-card.js.map +1 -0
  125. package/dist/custom/charts/index.js +5 -0
  126. package/dist/custom/charts/index.js.map +1 -0
  127. package/dist/custom/charts/pie-chart.js +153 -0
  128. package/dist/custom/charts/pie-chart.js.map +1 -0
  129. package/dist/custom/charts/radar-chart.js +112 -0
  130. package/dist/custom/charts/radar-chart.js.map +1 -0
  131. package/dist/custom/checkbox-tree.js +70 -0
  132. package/dist/custom/checkbox-tree.js.map +1 -0
  133. package/dist/custom/combobox.js +233 -0
  134. package/dist/custom/combobox.js.map +1 -0
  135. package/dist/custom/confirm-dialog.js +90 -0
  136. package/dist/custom/confirm-dialog.js.map +1 -0
  137. package/dist/custom/country-selector.js +151 -0
  138. package/dist/custom/country-selector.js.map +1 -0
  139. package/dist/custom/date-picker/calendar-rac.js +91 -0
  140. package/dist/custom/date-picker/calendar-rac.js.map +1 -0
  141. package/dist/custom/date-picker/datefield-rac.js +77 -0
  142. package/dist/custom/date-picker/datefield-rac.js.map +1 -0
  143. package/dist/custom/date-picker/index.js +251 -0
  144. package/dist/custom/date-picker/index.js.map +1 -0
  145. package/dist/custom/date-picker/types/index.js +1 -0
  146. package/dist/custom/date-picker/types/index.js.map +1 -0
  147. package/dist/custom/date-picker/utils/index.js +30 -0
  148. package/dist/custom/date-picker/utils/index.js.map +1 -0
  149. package/dist/custom/date-picker-old.js +46 -0
  150. package/dist/custom/date-picker-old.js.map +1 -0
  151. package/dist/custom/date-tooltip.js +89 -0
  152. package/dist/custom/date-tooltip.js.map +1 -0
  153. package/dist/custom/document-scanner/consts.js +13 -0
  154. package/dist/custom/document-scanner/consts.js.map +1 -0
  155. package/dist/custom/document-scanner/corner-adjustment/action-buttons.js +24 -0
  156. package/dist/custom/document-scanner/corner-adjustment/action-buttons.js.map +1 -0
  157. package/dist/custom/document-scanner/corner-adjustment/corner-handle.js +44 -0
  158. package/dist/custom/document-scanner/corner-adjustment/corner-handle.js.map +1 -0
  159. package/dist/custom/document-scanner/corner-adjustment/hooks/use-corner-drag.js +60 -0
  160. package/dist/custom/document-scanner/corner-adjustment/hooks/use-corner-drag.js.map +1 -0
  161. package/dist/custom/document-scanner/corner-adjustment/index.js +124 -0
  162. package/dist/custom/document-scanner/corner-adjustment/index.js.map +1 -0
  163. package/dist/custom/document-scanner/corner-adjustment/types.js +1 -0
  164. package/dist/custom/document-scanner/corner-adjustment/types.js.map +1 -0
  165. package/dist/custom/document-scanner/corner-adjustment/utils/clip-path.js +16 -0
  166. package/dist/custom/document-scanner/corner-adjustment/utils/clip-path.js.map +1 -0
  167. package/dist/custom/document-scanner/corner-adjustment/zoom-magnifier.js +85 -0
  168. package/dist/custom/document-scanner/corner-adjustment/zoom-magnifier.js.map +1 -0
  169. package/dist/custom/document-scanner/hooks/use-document-capture.js +61 -0
  170. package/dist/custom/document-scanner/hooks/use-document-capture.js.map +1 -0
  171. package/dist/custom/document-scanner/hooks/use-document-scanner.js +59 -0
  172. package/dist/custom/document-scanner/hooks/use-document-scanner.js.map +1 -0
  173. package/dist/custom/document-scanner/hooks/use-perspective-crop.js +31 -0
  174. package/dist/custom/document-scanner/hooks/use-perspective-crop.js.map +1 -0
  175. package/dist/custom/document-scanner/index.js +229 -0
  176. package/dist/custom/document-scanner/index.js.map +1 -0
  177. package/dist/custom/document-scanner/lib.js +289 -0
  178. package/dist/custom/document-scanner/lib.js.map +1 -0
  179. package/dist/custom/document-scanner/types.js +1 -0
  180. package/dist/custom/document-scanner/types.js.map +1 -0
  181. package/dist/custom/document-scanner/utils/perspective-correction.js +100 -0
  182. package/dist/custom/document-scanner/utils/perspective-correction.js.map +1 -0
  183. package/dist/custom/document-viewer/controllers.js +76 -0
  184. package/dist/custom/document-viewer/controllers.js.map +1 -0
  185. package/dist/custom/document-viewer/index.js +36 -0
  186. package/dist/custom/document-viewer/index.js.map +1 -0
  187. package/dist/custom/document-viewer/renderers/image.js +40 -0
  188. package/dist/custom/document-viewer/renderers/image.js.map +1 -0
  189. package/dist/custom/document-viewer/renderers/index.js +3 -0
  190. package/dist/custom/document-viewer/renderers/index.js.map +1 -0
  191. package/dist/custom/document-viewer/renderers/pdf.js +95 -0
  192. package/dist/custom/document-viewer/renderers/pdf.js.map +1 -0
  193. package/dist/custom/email-input/email.js +184 -0
  194. package/dist/custom/email-input/email.js.map +1 -0
  195. package/dist/custom/email-input/index.js +8 -0
  196. package/dist/custom/email-input/index.js.map +1 -0
  197. package/dist/custom/email-input/types.js +13 -0
  198. package/dist/custom/email-input/types.js.map +1 -0
  199. package/dist/custom/file-uploader.js +389 -0
  200. package/dist/custom/file-uploader.js.map +1 -0
  201. package/dist/custom/filter-component/fields/async-select.js +31 -0
  202. package/dist/custom/filter-component/fields/async-select.js.map +1 -0
  203. package/dist/custom/filter-component/fields/date.js +56 -0
  204. package/dist/custom/filter-component/fields/date.js.map +1 -0
  205. package/dist/custom/filter-component/fields/multi-select.js +28 -0
  206. package/dist/custom/filter-component/fields/multi-select.js.map +1 -0
  207. package/dist/custom/filter-component/index.js +149 -0
  208. package/dist/custom/filter-component/index.js.map +1 -0
  209. package/dist/custom/image-canvas.js +193 -0
  210. package/dist/custom/image-canvas.js.map +1 -0
  211. package/dist/custom/json-editor.js +30 -0
  212. package/dist/custom/json-editor.js.map +1 -0
  213. package/dist/custom/master-data-grid/components/dialogs/column-settings-dialog.js +84 -0
  214. package/dist/custom/master-data-grid/components/dialogs/column-settings-dialog.js.map +1 -0
  215. package/dist/custom/master-data-grid/components/dialogs/index.js +5 -0
  216. package/dist/custom/master-data-grid/components/dialogs/index.js.map +1 -0
  217. package/dist/custom/master-data-grid/components/filters/client-filter.js +310 -0
  218. package/dist/custom/master-data-grid/components/filters/client-filter.js.map +1 -0
  219. package/dist/custom/master-data-grid/components/filters/filter-input.js +209 -0
  220. package/dist/custom/master-data-grid/components/filters/filter-input.js.map +1 -0
  221. package/dist/custom/master-data-grid/components/filters/index.js +9 -0
  222. package/dist/custom/master-data-grid/components/filters/index.js.map +1 -0
  223. package/dist/custom/master-data-grid/components/filters/inline-column-filter.js +188 -0
  224. package/dist/custom/master-data-grid/components/filters/inline-column-filter.js.map +1 -0
  225. package/dist/custom/master-data-grid/components/filters/multi-filter-dialog.js +65 -0
  226. package/dist/custom/master-data-grid/components/filters/multi-filter-dialog.js.map +1 -0
  227. package/dist/custom/master-data-grid/components/filters/server-filter.js +213 -0
  228. package/dist/custom/master-data-grid/components/filters/server-filter.js.map +1 -0
  229. package/dist/custom/master-data-grid/components/master-data-grid.js +421 -0
  230. package/dist/custom/master-data-grid/components/master-data-grid.js.map +1 -0
  231. package/dist/custom/master-data-grid/components/pagination/index.js +5 -0
  232. package/dist/custom/master-data-grid/components/pagination/index.js.map +1 -0
  233. package/dist/custom/master-data-grid/components/pagination/pagination.js +159 -0
  234. package/dist/custom/master-data-grid/components/pagination/pagination.js.map +1 -0
  235. package/dist/custom/master-data-grid/components/table/cell-renderer.js +442 -0
  236. package/dist/custom/master-data-grid/components/table/cell-renderer.js.map +1 -0
  237. package/dist/custom/master-data-grid/components/table/header-cell.js +116 -0
  238. package/dist/custom/master-data-grid/components/table/header-cell.js.map +1 -0
  239. package/dist/custom/master-data-grid/components/table/index.js +5 -0
  240. package/dist/custom/master-data-grid/components/table/index.js.map +1 -0
  241. package/dist/custom/master-data-grid/components/table/table-body-renderer.js +79 -0
  242. package/dist/custom/master-data-grid/components/table/table-body-renderer.js.map +1 -0
  243. package/dist/custom/master-data-grid/components/table/virtual-body.js +86 -0
  244. package/dist/custom/master-data-grid/components/table/virtual-body.js.map +1 -0
  245. package/dist/custom/master-data-grid/components/toolbar/index.js +5 -0
  246. package/dist/custom/master-data-grid/components/toolbar/index.js.map +1 -0
  247. package/dist/custom/master-data-grid/components/toolbar/toolbar.js +238 -0
  248. package/dist/custom/master-data-grid/components/toolbar/toolbar.js.map +1 -0
  249. package/dist/custom/master-data-grid/hooks/index.js +7 -0
  250. package/dist/custom/master-data-grid/hooks/index.js.map +1 -0
  251. package/dist/custom/master-data-grid/hooks/use-columns.js +278 -0
  252. package/dist/custom/master-data-grid/hooks/use-columns.js.map +1 -0
  253. package/dist/custom/master-data-grid/hooks/use-editing.js +75 -0
  254. package/dist/custom/master-data-grid/hooks/use-editing.js.map +1 -0
  255. package/dist/custom/master-data-grid/hooks/use-table-state-reducer.js +96 -0
  256. package/dist/custom/master-data-grid/hooks/use-table-state-reducer.js.map +1 -0
  257. package/dist/custom/master-data-grid/hooks/use-table-state.js +25 -0
  258. package/dist/custom/master-data-grid/hooks/use-table-state.js.map +1 -0
  259. package/dist/custom/master-data-grid/index.js +5 -0
  260. package/dist/custom/master-data-grid/index.js.map +1 -0
  261. package/dist/custom/master-data-grid/types.js +1 -0
  262. package/dist/custom/master-data-grid/types.js.map +1 -0
  263. package/dist/custom/master-data-grid/utils/column-generator.js +203 -0
  264. package/dist/custom/master-data-grid/utils/column-generator.js.map +1 -0
  265. package/dist/custom/master-data-grid/utils/export-utils.js +46 -0
  266. package/dist/custom/master-data-grid/utils/export-utils.js.map +1 -0
  267. package/dist/custom/master-data-grid/utils/filter-fns.js +218 -0
  268. package/dist/custom/master-data-grid/utils/filter-fns.js.map +1 -0
  269. package/dist/custom/master-data-grid/utils/index.js +16 -0
  270. package/dist/custom/master-data-grid/utils/index.js.map +1 -0
  271. package/dist/custom/master-data-grid/utils/pinning-utils.js +70 -0
  272. package/dist/custom/master-data-grid/utils/pinning-utils.js.map +1 -0
  273. package/dist/custom/master-data-grid/utils/translation-utils.js +33 -0
  274. package/dist/custom/master-data-grid/utils/translation-utils.js.map +1 -0
  275. package/dist/custom/multi-select.js +339 -0
  276. package/dist/custom/multi-select.js.map +1 -0
  277. package/dist/custom/password-input.js +158 -0
  278. package/dist/custom/password-input.js.map +1 -0
  279. package/dist/custom/phone-input.js +127 -0
  280. package/dist/custom/phone-input.js.map +1 -0
  281. package/dist/custom/schema-form/custom/index.js +2 -0
  282. package/dist/custom/schema-form/custom/index.js.map +1 -0
  283. package/dist/custom/schema-form/custom/label.js +39 -0
  284. package/dist/custom/schema-form/custom/label.js.map +1 -0
  285. package/dist/custom/schema-form/fields/base-input-field.js +73 -0
  286. package/dist/custom/schema-form/fields/base-input-field.js.map +1 -0
  287. package/dist/custom/schema-form/fields/field.js +72 -0
  288. package/dist/custom/schema-form/fields/field.js.map +1 -0
  289. package/dist/custom/schema-form/fields/index.js +6 -0
  290. package/dist/custom/schema-form/fields/index.js.map +1 -0
  291. package/dist/custom/schema-form/fields/object.js +9 -0
  292. package/dist/custom/schema-form/fields/object.js.map +1 -0
  293. package/dist/custom/schema-form/fields/table-array/array-field-item.js +58 -0
  294. package/dist/custom/schema-form/fields/table-array/array-field-item.js.map +1 -0
  295. package/dist/custom/schema-form/fields/table-array/array-field-template.js +104 -0
  296. package/dist/custom/schema-form/fields/table-array/array-field-template.js.map +1 -0
  297. package/dist/custom/schema-form/index.js +219 -0
  298. package/dist/custom/schema-form/index.js.map +1 -0
  299. package/dist/custom/schema-form/templates/description.js +19 -0
  300. package/dist/custom/schema-form/templates/description.js.map +1 -0
  301. package/dist/custom/schema-form/templates/index.js +3 -0
  302. package/dist/custom/schema-form/templates/index.js.map +1 -0
  303. package/dist/custom/schema-form/templates/submit.js +31 -0
  304. package/dist/custom/schema-form/templates/submit.js.map +1 -0
  305. package/dist/custom/schema-form/types.js +1 -0
  306. package/dist/custom/schema-form/types.js.map +1 -0
  307. package/dist/custom/schema-form/utils/index.js +10 -0
  308. package/dist/custom/schema-form/utils/index.js.map +1 -0
  309. package/dist/custom/schema-form/utils/schema-dependency.js +349 -0
  310. package/dist/custom/schema-form/utils/schema-dependency.js.map +1 -0
  311. package/dist/custom/schema-form/utils/schemas.js +190 -0
  312. package/dist/custom/schema-form/utils/schemas.js.map +1 -0
  313. package/dist/custom/schema-form/utils/validation.js +19 -0
  314. package/dist/custom/schema-form/utils/validation.js.map +1 -0
  315. package/dist/custom/schema-form/widgets/boolean.js +73 -0
  316. package/dist/custom/schema-form/widgets/boolean.js.map +1 -0
  317. package/dist/custom/schema-form/widgets/combobox.js +222 -0
  318. package/dist/custom/schema-form/widgets/combobox.js.map +1 -0
  319. package/dist/custom/schema-form/widgets/date.js +56 -0
  320. package/dist/custom/schema-form/widgets/date.js.map +1 -0
  321. package/dist/custom/schema-form/widgets/email.js +37 -0
  322. package/dist/custom/schema-form/widgets/email.js.map +1 -0
  323. package/dist/custom/schema-form/widgets/index.js +11 -0
  324. package/dist/custom/schema-form/widgets/index.js.map +1 -0
  325. package/dist/custom/schema-form/widgets/password.js +42 -0
  326. package/dist/custom/schema-form/widgets/password.js.map +1 -0
  327. package/dist/custom/schema-form/widgets/phone.js +39 -0
  328. package/dist/custom/schema-form/widgets/phone.js.map +1 -0
  329. package/dist/custom/schema-form/widgets/select.js +78 -0
  330. package/dist/custom/schema-form/widgets/select.js.map +1 -0
  331. package/dist/custom/schema-form/widgets/selectable.js +25 -0
  332. package/dist/custom/schema-form/widgets/selectable.js.map +1 -0
  333. package/dist/custom/schema-form/widgets/string-array.js +237 -0
  334. package/dist/custom/schema-form/widgets/string-array.js.map +1 -0
  335. package/dist/custom/schema-form/widgets/url.js +53 -0
  336. package/dist/custom/schema-form/widgets/url.js.map +1 -0
  337. package/dist/custom/section-layout-v2.js +150 -0
  338. package/dist/custom/section-layout-v2.js.map +1 -0
  339. package/dist/custom/select-tabs.js +66 -0
  340. package/dist/custom/select-tabs.js.map +1 -0
  341. package/dist/custom/selectable.js +231 -0
  342. package/dist/custom/selectable.js.map +1 -0
  343. package/dist/custom/stepper.js +166 -0
  344. package/dist/custom/stepper.js.map +1 -0
  345. package/dist/custom/tab-layout.js +182 -0
  346. package/dist/custom/tab-layout.js.map +1 -0
  347. package/dist/custom/tanstack-table/fields/index.js +13 -0
  348. package/dist/custom/tanstack-table/fields/index.js.map +1 -0
  349. package/dist/custom/tanstack-table/fields/tanstack-table-action-dialogs.js +76 -0
  350. package/dist/custom/tanstack-table/fields/tanstack-table-action-dialogs.js.map +1 -0
  351. package/dist/custom/tanstack-table/fields/tanstack-table-column-header.js +47 -0
  352. package/dist/custom/tanstack-table/fields/tanstack-table-column-header.js.map +1 -0
  353. package/dist/custom/tanstack-table/fields/tanstack-table-filter-date.js +132 -0
  354. package/dist/custom/tanstack-table/fields/tanstack-table-filter-date.js.map +1 -0
  355. package/dist/custom/tanstack-table/fields/tanstack-table-filter-faceted.js +131 -0
  356. package/dist/custom/tanstack-table/fields/tanstack-table-filter-faceted.js.map +1 -0
  357. package/dist/custom/tanstack-table/fields/tanstack-table-filter-text.js +64 -0
  358. package/dist/custom/tanstack-table/fields/tanstack-table-filter-text.js.map +1 -0
  359. package/dist/custom/tanstack-table/fields/tanstack-table-pagination.js +135 -0
  360. package/dist/custom/tanstack-table/fields/tanstack-table-pagination.js.map +1 -0
  361. package/dist/custom/tanstack-table/fields/tanstack-table-plain-table.js +111 -0
  362. package/dist/custom/tanstack-table/fields/tanstack-table-plain-table.js.map +1 -0
  363. package/dist/custom/tanstack-table/fields/tanstack-table-row-actions-confirmation.js +65 -0
  364. package/dist/custom/tanstack-table/fields/tanstack-table-row-actions-confirmation.js.map +1 -0
  365. package/dist/custom/tanstack-table/fields/tanstack-table-row-actions-custom-dialog.js +69 -0
  366. package/dist/custom/tanstack-table/fields/tanstack-table-row-actions-custom-dialog.js.map +1 -0
  367. package/dist/custom/tanstack-table/fields/tanstack-table-row-actions.js +119 -0
  368. package/dist/custom/tanstack-table/fields/tanstack-table-row-actions.js.map +1 -0
  369. package/dist/custom/tanstack-table/fields/tanstack-table-table-actions-custom-dialog.js +75 -0
  370. package/dist/custom/tanstack-table/fields/tanstack-table-table-actions-custom-dialog.js.map +1 -0
  371. package/dist/custom/tanstack-table/fields/tanstack-table-table-actions-schemaform-dialog.js +41 -0
  372. package/dist/custom/tanstack-table/fields/tanstack-table-table-actions-schemaform-dialog.js.map +1 -0
  373. package/dist/custom/tanstack-table/fields/tanstack-table-toolbar.js +106 -0
  374. package/dist/custom/tanstack-table/fields/tanstack-table-toolbar.js.map +1 -0
  375. package/dist/custom/tanstack-table/fields/tanstack-table-view-options.js +132 -0
  376. package/dist/custom/tanstack-table/fields/tanstack-table-view-options.js.map +1 -0
  377. package/dist/custom/tanstack-table/index.js +217 -0
  378. package/dist/custom/tanstack-table/index.js.map +1 -0
  379. package/dist/custom/tanstack-table/types/index.js +1 -0
  380. package/dist/custom/tanstack-table/types/index.js.map +1 -0
  381. package/dist/custom/tanstack-table/utils/cell-with-actions.js +16 -0
  382. package/dist/custom/tanstack-table/utils/cell-with-actions.js.map +1 -0
  383. package/dist/custom/tanstack-table/utils/column-names.js +15 -0
  384. package/dist/custom/tanstack-table/utils/column-names.js.map +1 -0
  385. package/dist/custom/tanstack-table/utils/columns-by-row-data.js +246 -0
  386. package/dist/custom/tanstack-table/utils/columns-by-row-data.js.map +1 -0
  387. package/dist/custom/tanstack-table/utils/editable-columns-by-row-data.js +187 -0
  388. package/dist/custom/tanstack-table/utils/editable-columns-by-row-data.js.map +1 -0
  389. package/dist/custom/tanstack-table/utils/faceted-boolean-options.js +25 -0
  390. package/dist/custom/tanstack-table/utils/faceted-boolean-options.js.map +1 -0
  391. package/dist/custom/tanstack-table/utils/index.js +10 -0
  392. package/dist/custom/tanstack-table/utils/index.js.map +1 -0
  393. package/dist/custom/tanstack-table/utils/pinning-styles.js +38 -0
  394. package/dist/custom/tanstack-table/utils/pinning-styles.js.map +1 -0
  395. package/dist/custom/tanstack-table/utils/table.js +66 -0
  396. package/dist/custom/tanstack-table/utils/table.js.map +1 -0
  397. package/dist/custom/tanstack-table/utils/test-conditions.js +10 -0
  398. package/dist/custom/tanstack-table/utils/test-conditions.js.map +1 -0
  399. package/dist/custom/timeline.js +165 -0
  400. package/dist/custom/timeline.js.map +1 -0
  401. package/dist/custom/tree.js +130 -0
  402. package/dist/custom/tree.js.map +1 -0
  403. package/dist/custom/tscanify/browser.js +36 -0
  404. package/dist/custom/tscanify/browser.js.map +1 -0
  405. package/dist/custom/tscanify/index.js +34 -0
  406. package/dist/custom/tscanify/index.js.map +1 -0
  407. package/dist/custom/tscanify/tscanify-browser.js +363 -0
  408. package/dist/custom/tscanify/tscanify-browser.js.map +1 -0
  409. package/dist/custom/tscanify/tscanify.js +197 -0
  410. package/dist/custom/tscanify/tscanify.js.map +1 -0
  411. package/dist/custom/tscanify/types.js +1 -0
  412. package/dist/custom/tscanify/types.js.map +1 -0
  413. package/dist/custom/webcam.js +519 -0
  414. package/dist/custom/webcam.js.map +1 -0
  415. package/dist/hooks/use-callback-ref.js +15 -0
  416. package/dist/hooks/use-callback-ref.js.map +1 -0
  417. package/dist/hooks/use-controllable-state.js +49 -0
  418. package/dist/hooks/use-controllable-state.js.map +1 -0
  419. package/dist/hooks/use-debounce.js +18 -0
  420. package/dist/hooks/use-debounce.js.map +1 -0
  421. package/dist/hooks/use-is-visible.js +22 -0
  422. package/dist/hooks/use-is-visible.js.map +1 -0
  423. package/dist/hooks/use-media-query.js +19 -0
  424. package/dist/hooks/use-media-query.js.map +1 -0
  425. package/dist/hooks/use-mobile.js +21 -0
  426. package/dist/hooks/use-mobile.js.map +1 -0
  427. package/dist/hooks/use-on-window-resize.js +15 -0
  428. package/dist/hooks/use-on-window-resize.js.map +1 -0
  429. package/dist/hooks/use-scroll.js +20 -0
  430. package/dist/hooks/use-scroll.js.map +1 -0
  431. package/dist/lib/utils.js +48 -0
  432. package/dist/lib/utils.js.map +1 -0
  433. package/dist/lib/zod.js +7 -0
  434. package/dist/lib/zod.js.map +1 -0
  435. package/package.json +34 -8
  436. package/src/aria/index.tsx +1 -1
  437. package/src/aria/number-field.tsx +41 -41
  438. package/src/components/accordion.tsx +66 -66
  439. package/src/components/alert-dialog.tsx +157 -157
  440. package/src/components/alert.tsx +70 -70
  441. package/src/components/aspect-ratio.tsx +11 -11
  442. package/src/components/avatar.tsx +53 -53
  443. package/src/components/badge.tsx +74 -67
  444. package/src/components/breadcrumb.tsx +109 -109
  445. package/src/components/button-group.tsx +83 -83
  446. package/src/components/button.tsx +69 -68
  447. package/src/components/calendar.tsx +216 -219
  448. package/src/components/card.tsx +92 -92
  449. package/src/components/carousel.tsx +241 -241
  450. package/src/components/chart.tsx +363 -363
  451. package/src/components/checkbox.tsx +32 -32
  452. package/src/components/collapsible.tsx +33 -33
  453. package/src/components/command.tsx +184 -184
  454. package/src/components/context-menu.tsx +252 -252
  455. package/src/components/dialog.tsx +144 -144
  456. package/src/components/drawer.tsx +135 -135
  457. package/src/components/dropdown-menu.tsx +258 -258
  458. package/src/components/empty.tsx +100 -100
  459. package/src/components/field.tsx +248 -248
  460. package/src/components/form.tsx +169 -169
  461. package/src/components/hover-card.tsx +44 -44
  462. package/src/components/input-group.tsx +170 -170
  463. package/src/components/input-otp.tsx +77 -77
  464. package/src/components/input.tsx +21 -21
  465. package/src/components/item.tsx +193 -193
  466. package/src/components/kbd.tsx +28 -28
  467. package/src/components/label.tsx +24 -24
  468. package/src/components/menubar.tsx +276 -276
  469. package/src/components/navigation-menu.tsx +168 -168
  470. package/src/components/pagination.tsx +127 -130
  471. package/src/components/popover.tsx +88 -88
  472. package/src/components/progress.tsx +31 -31
  473. package/src/components/radio-group.tsx +45 -45
  474. package/src/components/resizable.tsx +56 -56
  475. package/src/components/scroll-area.tsx +58 -58
  476. package/src/components/select.tsx +189 -189
  477. package/src/components/separator.tsx +28 -28
  478. package/src/components/sheet.tsx +140 -140
  479. package/src/components/sidebar.tsx +862 -862
  480. package/src/components/skeleton.tsx +13 -13
  481. package/src/components/slider.tsx +63 -63
  482. package/src/components/sonner.tsx +40 -40
  483. package/src/components/spinner.tsx +16 -16
  484. package/src/components/stepper.tsx +290 -291
  485. package/src/components/switch.tsx +31 -31
  486. package/src/components/table.tsx +133 -133
  487. package/src/components/tabs.tsx +66 -66
  488. package/src/components/textarea.tsx +18 -18
  489. package/src/components/toggle-group.tsx +83 -83
  490. package/src/components/toggle.tsx +47 -47
  491. package/src/components/tooltip.tsx +66 -66
  492. package/src/custom/action-button.tsx +45 -48
  493. package/src/custom/async-select.tsx +287 -287
  494. package/src/custom/awesome-not-found.tsx +116 -116
  495. package/src/custom/charts/area-chart.tsx +147 -147
  496. package/src/custom/charts/bar-chart.tsx +233 -233
  497. package/src/custom/charts/chart-card.tsx +103 -103
  498. package/src/custom/charts/index.tsx +16 -16
  499. package/src/custom/charts/pie-chart.tsx +168 -168
  500. package/src/custom/charts/radar-chart.tsx +126 -126
  501. package/src/custom/checkbox-tree.tsx +100 -100
  502. package/src/custom/combobox.tsx +296 -296
  503. package/src/custom/confirm-dialog.tsx +114 -102
  504. package/src/custom/country-selector.tsx +204 -204
  505. package/src/custom/date-picker/calendar-rac.tsx +109 -109
  506. package/src/custom/date-picker/datefield-rac.tsx +84 -84
  507. package/src/custom/date-picker/index.tsx +273 -273
  508. package/src/custom/date-picker/types/index.ts +4 -4
  509. package/src/custom/date-picker/utils/index.ts +42 -42
  510. package/src/custom/date-picker-old.tsx +50 -50
  511. package/src/custom/date-tooltip.tsx +98 -98
  512. package/src/custom/document-scanner/consts.ts +5 -5
  513. package/src/custom/document-scanner/corner-adjustment/action-buttons.tsx +33 -33
  514. package/src/custom/document-scanner/corner-adjustment/corner-handle.tsx +43 -43
  515. package/src/custom/document-scanner/corner-adjustment/hooks/use-corner-drag.ts +85 -85
  516. package/src/custom/document-scanner/corner-adjustment/index.tsx +125 -125
  517. package/src/custom/document-scanner/corner-adjustment/types.ts +53 -53
  518. package/src/custom/document-scanner/corner-adjustment/utils/clip-path.ts +22 -22
  519. package/src/custom/document-scanner/corner-adjustment/zoom-magnifier.tsx +115 -115
  520. package/src/custom/document-scanner/hooks/use-document-capture.ts +81 -81
  521. package/src/custom/document-scanner/hooks/use-document-scanner.ts +80 -80
  522. package/src/custom/document-scanner/hooks/use-perspective-crop.ts +38 -38
  523. package/src/custom/document-scanner/index.tsx +255 -255
  524. package/src/custom/document-scanner/lib.ts +407 -407
  525. package/src/custom/document-scanner/types.ts +205 -205
  526. package/src/custom/document-scanner/utils/perspective-correction.ts +139 -139
  527. package/src/custom/document-viewer/controllers.tsx +98 -98
  528. package/src/custom/document-viewer/index.tsx +43 -43
  529. package/src/custom/document-viewer/renderers/image.tsx +37 -37
  530. package/src/custom/document-viewer/renderers/index.tsx +2 -2
  531. package/src/custom/document-viewer/renderers/pdf.tsx +105 -105
  532. package/src/custom/email-input/domains.json +159 -159
  533. package/src/custom/email-input/email.tsx +231 -229
  534. package/src/custom/email-input/index.tsx +4 -4
  535. package/src/custom/email-input/types.ts +104 -104
  536. package/src/custom/file-uploader.tsx +541 -541
  537. package/src/custom/filter-component/fields/async-select.tsx +33 -33
  538. package/src/custom/filter-component/fields/date.tsx +60 -60
  539. package/src/custom/filter-component/fields/multi-select.tsx +30 -30
  540. package/src/custom/filter-component/index.tsx +217 -217
  541. package/src/custom/image-canvas.tsx +260 -260
  542. package/src/custom/json-editor.tsx +22 -22
  543. package/src/custom/master-data-grid/components/dialogs/column-settings-dialog.tsx +100 -100
  544. package/src/custom/master-data-grid/components/dialogs/index.ts +1 -1
  545. package/src/custom/master-data-grid/components/filters/client-filter.tsx +369 -368
  546. package/src/custom/master-data-grid/components/filters/filter-input.tsx +256 -256
  547. package/src/custom/master-data-grid/components/filters/index.ts +3 -3
  548. package/src/custom/master-data-grid/components/filters/inline-column-filter.tsx +233 -233
  549. package/src/custom/master-data-grid/components/filters/multi-filter-dialog.tsx +91 -90
  550. package/src/custom/master-data-grid/components/filters/server-filter.tsx +265 -255
  551. package/src/custom/master-data-grid/components/master-data-grid.tsx +472 -472
  552. package/src/custom/master-data-grid/components/pagination/index.ts +1 -1
  553. package/src/custom/master-data-grid/components/pagination/pagination.tsx +178 -178
  554. package/src/custom/master-data-grid/components/table/cell-renderer.tsx +621 -634
  555. package/src/custom/master-data-grid/components/table/header-cell.tsx +162 -162
  556. package/src/custom/master-data-grid/components/table/index.ts +4 -4
  557. package/src/custom/master-data-grid/components/table/table-body-renderer.tsx +113 -113
  558. package/src/custom/master-data-grid/components/table/virtual-body.tsx +138 -138
  559. package/src/custom/master-data-grid/components/toolbar/index.ts +1 -1
  560. package/src/custom/master-data-grid/components/toolbar/toolbar.tsx +314 -314
  561. package/src/custom/master-data-grid/hooks/index.ts +3 -3
  562. package/src/custom/master-data-grid/hooks/use-columns.tsx +353 -332
  563. package/src/custom/master-data-grid/hooks/use-editing.ts +106 -106
  564. package/src/custom/master-data-grid/hooks/use-table-state-reducer.ts +157 -157
  565. package/src/custom/master-data-grid/hooks/use-table-state.ts +31 -31
  566. package/src/custom/master-data-grid/index.ts +16 -16
  567. package/src/custom/master-data-grid/types.ts +487 -466
  568. package/src/custom/master-data-grid/utils/column-generator.tsx +324 -306
  569. package/src/custom/master-data-grid/utils/export-utils.ts +67 -67
  570. package/src/custom/master-data-grid/utils/filter-fns.ts +310 -290
  571. package/src/custom/master-data-grid/utils/index.ts +8 -8
  572. package/src/custom/master-data-grid/utils/pinning-utils.ts +88 -88
  573. package/src/custom/master-data-grid/utils/translation-utils.ts +42 -42
  574. package/src/custom/multi-select.tsx +434 -432
  575. package/src/custom/password-input.tsx +194 -194
  576. package/src/custom/phone-input.tsx +172 -172
  577. package/src/custom/schema-form/custom/index.tsx +1 -1
  578. package/src/custom/schema-form/custom/label.tsx +53 -53
  579. package/src/custom/schema-form/fields/base-input-field.tsx +82 -82
  580. package/src/custom/schema-form/fields/field.tsx +67 -67
  581. package/src/custom/schema-form/fields/index.tsx +5 -5
  582. package/src/custom/schema-form/fields/object.tsx +12 -12
  583. package/src/custom/schema-form/fields/table-array/array-field-item.tsx +90 -90
  584. package/src/custom/schema-form/fields/table-array/array-field-template.tsx +115 -115
  585. package/src/custom/schema-form/index.tsx +259 -259
  586. package/src/custom/schema-form/templates/description.tsx +20 -20
  587. package/src/custom/schema-form/templates/index.tsx +2 -2
  588. package/src/custom/schema-form/templates/submit.tsx +32 -32
  589. package/src/custom/schema-form/types.ts +64 -64
  590. package/src/custom/schema-form/utils/index.ts +4 -4
  591. package/src/custom/schema-form/utils/schema-dependency.ts +655 -655
  592. package/src/custom/schema-form/utils/schemas.ts +289 -289
  593. package/src/custom/schema-form/utils/validation.ts +23 -23
  594. package/src/custom/schema-form/widgets/boolean.tsx +77 -77
  595. package/src/custom/schema-form/widgets/combobox.tsx +274 -274
  596. package/src/custom/schema-form/widgets/date.tsx +59 -59
  597. package/src/custom/schema-form/widgets/email.tsx +34 -34
  598. package/src/custom/schema-form/widgets/index.tsx +10 -10
  599. package/src/custom/schema-form/widgets/password.tsx +40 -40
  600. package/src/custom/schema-form/widgets/phone.tsx +40 -40
  601. package/src/custom/schema-form/widgets/select.tsx +105 -105
  602. package/src/custom/schema-form/widgets/selectable.tsx +25 -25
  603. package/src/custom/schema-form/widgets/string-array.tsx +296 -296
  604. package/src/custom/schema-form/widgets/url.tsx +56 -56
  605. package/src/custom/section-layout-v2.tsx +212 -212
  606. package/src/custom/select-tabs.tsx +109 -109
  607. package/src/custom/selectable.tsx +316 -316
  608. package/src/custom/stepper.tsx +236 -236
  609. package/src/custom/tab-layout.tsx +213 -213
  610. package/src/custom/tanstack-table/fields/index.tsx +12 -12
  611. package/src/custom/tanstack-table/fields/tanstack-table-action-dialogs.tsx +89 -89
  612. package/src/custom/tanstack-table/fields/tanstack-table-column-header.tsx +68 -66
  613. package/src/custom/tanstack-table/fields/tanstack-table-filter-date.tsx +180 -180
  614. package/src/custom/tanstack-table/fields/tanstack-table-filter-faceted.tsx +158 -158
  615. package/src/custom/tanstack-table/fields/tanstack-table-filter-text.tsx +73 -76
  616. package/src/custom/tanstack-table/fields/tanstack-table-pagination.tsx +136 -136
  617. package/src/custom/tanstack-table/fields/tanstack-table-plain-table.tsx +142 -142
  618. package/src/custom/tanstack-table/fields/tanstack-table-row-actions-confirmation.tsx +77 -77
  619. package/src/custom/tanstack-table/fields/tanstack-table-row-actions-custom-dialog.tsx +87 -87
  620. package/src/custom/tanstack-table/fields/tanstack-table-row-actions.tsx +151 -151
  621. package/src/custom/tanstack-table/fields/tanstack-table-table-actions-custom-dialog.tsx +88 -88
  622. package/src/custom/tanstack-table/fields/tanstack-table-table-actions-schemaform-dialog.tsx +47 -47
  623. package/src/custom/tanstack-table/fields/tanstack-table-toolbar.tsx +143 -143
  624. package/src/custom/tanstack-table/fields/tanstack-table-view-options.tsx +171 -171
  625. package/src/custom/tanstack-table/index.tsx +244 -244
  626. package/src/custom/tanstack-table/types/index.ts +328 -328
  627. package/src/custom/tanstack-table/utils/cell-with-actions.tsx +21 -21
  628. package/src/custom/tanstack-table/utils/column-names.ts +26 -26
  629. package/src/custom/tanstack-table/utils/columns-by-row-data.tsx +312 -312
  630. package/src/custom/tanstack-table/utils/editable-columns-by-row-data.tsx +219 -219
  631. package/src/custom/tanstack-table/utils/faceted-boolean-options.tsx +22 -22
  632. package/src/custom/tanstack-table/utils/index.tsx +10 -10
  633. package/src/custom/tanstack-table/utils/pinning-styles.ts +57 -57
  634. package/src/custom/tanstack-table/utils/table.tsx +83 -83
  635. package/src/custom/tanstack-table/utils/test-conditions.ts +17 -17
  636. package/src/custom/timeline.tsx +208 -208
  637. package/src/custom/tree.tsx +202 -200
  638. package/src/custom/tscanify/browser.ts +66 -66
  639. package/src/custom/tscanify/index.ts +51 -51
  640. package/src/custom/tscanify/tscanify-browser.ts +522 -522
  641. package/src/custom/tscanify/tscanify.ts +262 -262
  642. package/src/custom/tscanify/types.ts +22 -22
  643. package/src/custom/webcam.tsx +737 -737
  644. package/src/hooks/use-callback-ref.ts +27 -27
  645. package/src/hooks/use-controllable-state.ts +67 -67
  646. package/src/hooks/use-debounce.ts +19 -19
  647. package/src/hooks/use-is-visible.ts +23 -23
  648. package/src/hooks/use-media-query.ts +21 -21
  649. package/src/hooks/use-mobile.ts +21 -21
  650. package/src/hooks/use-on-window-resize.ts +15 -15
  651. package/src/hooks/use-scroll.tsx +22 -22
  652. package/src/lib/utils.ts +61 -61
  653. package/src/lib/zod.ts +2 -2
  654. package/src/styles/core.css +57 -57
  655. package/src/test/email-input.test.tsx +217 -217
  656. package/src/test/password-input.test.tsx +92 -92
  657. package/src/test/select-tabs.test.tsx +302 -302
  658. package/src/test/selectable.test.tsx +1093 -1093
  659. package/__mocks__/canvas.ts +0 -8
  660. package/components.json +0 -21
  661. package/eslint.config.js +0 -4
  662. package/jest-environment.js +0 -37
  663. package/jest.config.ts +0 -47
  664. package/jest.setup.ts +0 -69
  665. package/postcss.config.mjs +0 -6
  666. package/tsconfig.json +0 -13
  667. package/tsconfig.lint.json +0 -8
@@ -0,0 +1,203 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { HeaderCell, CellRenderer } from "../components/table";
3
+ import { getFilterOperators, masterFilter } from "./filter-fns";
4
+ import { getColumnName } from "./translation-utils";
5
+ function generateColumnsFromSchema(schema, localization, t, editingContext, cellClassName, dateOptions, customRenderers, errorDisplayMode, enableColumnVisibility, expanderColumns, schemaColumns) {
6
+ if (!schema.properties) return [];
7
+ const columns = [];
8
+ Object.entries(schema.properties).forEach(([key, property]) => {
9
+ if (schemaColumns) {
10
+ const isInList = schemaColumns.columns.includes(
11
+ key
12
+ );
13
+ const shouldSkip = schemaColumns.mode === "include" && !isInList || schemaColumns.mode === "exclude" && isInList;
14
+ if (shouldSkip) {
15
+ return;
16
+ }
17
+ }
18
+ const column = createColumnFromProperty(
19
+ key,
20
+ property,
21
+ localization,
22
+ t,
23
+ editingContext,
24
+ cellClassName,
25
+ dateOptions,
26
+ customRenderers,
27
+ errorDisplayMode,
28
+ enableColumnVisibility,
29
+ expanderColumns
30
+ );
31
+ if (column) {
32
+ columns.push(column);
33
+ }
34
+ });
35
+ return columns;
36
+ }
37
+ function createColumnFromProperty(key, property, localization, t, editingContext, cellClassName, dateOptions, customRenderers, errorDisplayMode, enableColumnVisibility, expanderColumns) {
38
+ if (property.type === "object") {
39
+ return null;
40
+ }
41
+ const filterOperators = getFilterOperators(property.type, property.format);
42
+ return {
43
+ id: key,
44
+ accessorKey: key,
45
+ header: ({
46
+ column,
47
+ header
48
+ }) => /* @__PURE__ */ jsx(
49
+ HeaderCell,
50
+ {
51
+ column,
52
+ header,
53
+ label: getColumnName(key, t, property.title),
54
+ t
55
+ }
56
+ ),
57
+ cell: ({
58
+ getValue,
59
+ row,
60
+ column
61
+ }) => {
62
+ const rowId = editingContext?.getRowId(row.original, row.index) || String(row.index);
63
+ const isEditing = editingContext?.editingRows[rowId] !== void 0;
64
+ const editedValue = editingContext?.editingRows[rowId]?.[key];
65
+ const displayValue = isEditing && editedValue !== void 0 ? editedValue : getValue();
66
+ const className = typeof cellClassName === "function" ? cellClassName({ row: row.original, columnId: key }) : cellClassName;
67
+ return /* @__PURE__ */ jsx(
68
+ CellRenderer,
69
+ {
70
+ value: displayValue,
71
+ row,
72
+ column,
73
+ columnId: key,
74
+ schemaProperty: property,
75
+ t,
76
+ isEditing,
77
+ onUpdate: isEditing ? (value) => editingContext?.onCellUpdate(rowId, key, value) : void 0,
78
+ className,
79
+ dateOptions,
80
+ localization,
81
+ fieldName: key,
82
+ customRenderers,
83
+ errorDisplayMode
84
+ }
85
+ );
86
+ },
87
+ enableSorting: !property.readOnly,
88
+ enableFiltering: !property.readOnly,
89
+ enableHiding: enableColumnVisibility ?? true,
90
+ filterFn: masterFilter,
91
+ meta: {
92
+ schemaProperty: property,
93
+ filterOperators,
94
+ isExpanderColumn: expanderColumns?.includes(key) ?? false
95
+ }
96
+ };
97
+ }
98
+ function mergeColumns(schemaColumns, customColumns, editingContext, enableColumnVisibility, t) {
99
+ if (!customColumns || customColumns.length === 0) {
100
+ return schemaColumns;
101
+ }
102
+ const merged = [];
103
+ const customColumnMap = new Map(customColumns.map((c) => [c.id, c]));
104
+ schemaColumns.forEach((schemaCol) => {
105
+ if (!schemaCol.id) return;
106
+ const custom = customColumnMap.get(schemaCol.id);
107
+ if (custom) {
108
+ const customCell = custom.cell;
109
+ const schemaCell = schemaCol.cell;
110
+ let finalCell = customCell || schemaCell;
111
+ if (customCell && schemaCell && typeof schemaCell === "function" && editingContext) {
112
+ finalCell = (props) => {
113
+ const rowId = editingContext.getRowId(props.row.original, props.row.index) || String(props.row.index);
114
+ const isEditing = editingContext.editingRows[rowId] !== void 0;
115
+ if (isEditing) {
116
+ return typeof schemaCell === "function" ? schemaCell(props) : schemaCell;
117
+ }
118
+ return typeof customCell === "function" ? customCell(props) : customCell;
119
+ };
120
+ }
121
+ let finalHeader = custom.header || schemaCol.header;
122
+ if (custom.header && custom.extendHeader !== false && typeof custom.header === "string") {
123
+ finalHeader = ({
124
+ column,
125
+ header
126
+ }) => /* @__PURE__ */ jsx(
127
+ HeaderCell,
128
+ {
129
+ column,
130
+ header,
131
+ label: custom.header,
132
+ t
133
+ }
134
+ );
135
+ } else if (custom.header && custom.extendHeader === false) {
136
+ finalHeader = custom.header;
137
+ }
138
+ merged.push({
139
+ ...schemaCol,
140
+ ...custom,
141
+ header: finalHeader,
142
+ cell: finalCell,
143
+ enableHiding: custom.enableHiding ?? enableColumnVisibility ?? true,
144
+ meta: {
145
+ ...schemaCol.meta,
146
+ ...custom.meta
147
+ }
148
+ });
149
+ if (schemaCol.id) customColumnMap.delete(schemaCol.id);
150
+ } else {
151
+ merged.push(schemaCol);
152
+ }
153
+ });
154
+ customColumnMap.forEach((custom) => {
155
+ let header;
156
+ if (custom.extendHeader !== false) {
157
+ header = ({
158
+ column,
159
+ header: headerObj
160
+ }) => {
161
+ const label = typeof custom.header === "string" ? custom.header : custom.id;
162
+ return /* @__PURE__ */ jsx(
163
+ HeaderCell,
164
+ {
165
+ column,
166
+ header: headerObj,
167
+ label,
168
+ t
169
+ }
170
+ );
171
+ };
172
+ } else if (typeof custom.header === "function") {
173
+ header = custom.header;
174
+ } else {
175
+ header = custom.header || custom.id;
176
+ }
177
+ merged.push({
178
+ id: custom.id,
179
+ accessorKey: custom.accessorKey,
180
+ accessorFn: custom.accessorFn,
181
+ header,
182
+ cell: custom.cell,
183
+ enableSorting: custom.enableSorting ?? true,
184
+ enableFiltering: custom.enableFiltering ?? true,
185
+ enableGrouping: custom.enableGrouping ?? false,
186
+ enablePinning: custom.enablePinning ?? true,
187
+ enableResizing: custom.enableResizing ?? true,
188
+ enableHiding: custom.enableHiding ?? enableColumnVisibility ?? true,
189
+ size: custom.width,
190
+ minSize: custom.minWidth,
191
+ maxSize: custom.maxWidth,
192
+ footer: custom.footer,
193
+ filterFn: masterFilter,
194
+ meta: custom.meta
195
+ });
196
+ });
197
+ return merged;
198
+ }
199
+ export {
200
+ generateColumnsFromSchema,
201
+ mergeColumns
202
+ };
203
+ //# sourceMappingURL=column-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/custom/master-data-grid/utils/column-generator.tsx"],"sourcesContent":["import type { Column, ColumnDef, Row, Header } from \"@tanstack/react-table\";\r\nimport { HeaderCell, CellRenderer } from \"../components/table\";\r\nimport type {\r\n ColumnConfig,\r\n CustomRenderers,\r\n GeneratedColumn,\r\n JSONSchema,\r\n JSONSchemaProperty,\r\n Localization,\r\n MasterDataGridResources,\r\n} from \"../types\";\r\nimport { getFilterOperators, masterFilter } from \"./filter-fns\";\r\nimport { getColumnName } from \"./translation-utils\";\r\nimport { GenericObjectType } from \"@rjsf/utils\";\r\n\r\nexport function generateColumnsFromSchema<TData = unknown>(\r\n schema: JSONSchema | GenericObjectType,\r\n localization: Localization,\r\n t?: MasterDataGridResources,\r\n editingContext?: {\r\n editingRows: Record<string, Record<string, unknown>>;\r\n onCellUpdate: (rowId: string, columnId: string, value: unknown) => void;\r\n getRowId: (row: TData, index: number) => string;\r\n },\r\n cellClassName?: string | ((cell: { row: TData; columnId: string }) => string),\r\n dateOptions?: Intl.DateTimeFormatOptions,\r\n customRenderers?: CustomRenderers<TData>,\r\n errorDisplayMode?: \"tooltip\" | \"inline\" | \"both\",\r\n enableColumnVisibility?: boolean,\r\n expanderColumns?: Array<keyof TData> | Array<string>,\r\n schemaColumns?: {\r\n mode: \"include\" | \"exclude\";\r\n columns: Array<keyof TData> | Array<string>;\r\n }\r\n): GeneratedColumn<TData>[] {\r\n if (!schema.properties) return [];\r\n\r\n const columns: GeneratedColumn<TData>[] = [];\r\n\r\n Object.entries(schema.properties).forEach(([key, property]) => {\r\n // Handle schema column filtering\r\n if (schemaColumns) {\r\n const isInList = schemaColumns.columns.includes(\r\n key as keyof TData & string\r\n );\r\n const shouldSkip =\r\n (schemaColumns.mode === \"include\" && !isInList) ||\r\n (schemaColumns.mode === \"exclude\" && isInList);\r\n\r\n if (shouldSkip) {\r\n return;\r\n }\r\n }\r\n\r\n const column = createColumnFromProperty<TData>(\r\n key,\r\n property as JSONSchemaProperty,\r\n localization,\r\n t,\r\n editingContext,\r\n cellClassName,\r\n dateOptions,\r\n customRenderers,\r\n errorDisplayMode,\r\n enableColumnVisibility,\r\n expanderColumns\r\n );\r\n if (column) {\r\n columns.push(column);\r\n }\r\n });\r\n\r\n return columns;\r\n}\r\n\r\nfunction createColumnFromProperty<TData = unknown>(\r\n key: string,\r\n property: JSONSchemaProperty,\r\n localization: Localization,\r\n t?: MasterDataGridResources,\r\n editingContext?: {\r\n editingRows: Record<string, Record<string, unknown>>;\r\n onCellUpdate: (rowId: string, columnId: string, value: unknown) => void;\r\n getRowId: (row: TData, index: number) => string;\r\n },\r\n cellClassName?: string | ((cell: { row: TData; columnId: string }) => string),\r\n dateOptions?: Intl.DateTimeFormatOptions,\r\n customRenderers?: CustomRenderers<TData>,\r\n errorDisplayMode?: \"tooltip\" | \"inline\" | \"both\",\r\n enableColumnVisibility?: boolean,\r\n expanderColumns?: Array<keyof TData> | Array<string>\r\n): GeneratedColumn<TData> | null {\r\n if (property.type === \"object\") {\r\n return null;\r\n }\r\n\r\n const filterOperators = getFilterOperators(property.type, property.format);\r\n\r\n return {\r\n id: key,\r\n accessorKey: key,\r\n header: ({\r\n column,\r\n header,\r\n }: {\r\n column: Column<TData>;\r\n header: Header<TData, unknown>;\r\n }) => (\r\n <HeaderCell<TData>\r\n column={column}\r\n header={header}\r\n label={getColumnName(key, t, property.title)}\r\n t={t}\r\n />\r\n ),\r\n cell: ({\r\n getValue,\r\n row,\r\n column,\r\n }: {\r\n getValue: () => unknown;\r\n row: Row<TData>;\r\n column: Column<TData>;\r\n }) => {\r\n const rowId =\r\n editingContext?.getRowId(row.original, row.index) || String(row.index);\r\n const isEditing = editingContext?.editingRows[rowId] !== undefined;\r\n const editedValue = editingContext?.editingRows[rowId]?.[key];\r\n const displayValue =\r\n isEditing && editedValue !== undefined ? editedValue : getValue();\r\n\r\n const className =\r\n typeof cellClassName === \"function\"\r\n ? cellClassName({ row: row.original, columnId: key })\r\n : cellClassName;\r\n\r\n return (\r\n <CellRenderer\r\n value={displayValue}\r\n row={row}\r\n column={column}\r\n columnId={key}\r\n schemaProperty={property}\r\n t={t}\r\n isEditing={isEditing}\r\n onUpdate={\r\n isEditing\r\n ? (value: unknown) =>\r\n editingContext?.onCellUpdate(rowId, key, value)\r\n : undefined\r\n }\r\n className={className}\r\n dateOptions={dateOptions}\r\n localization={localization}\r\n fieldName={key as keyof TData & string}\r\n customRenderers={customRenderers}\r\n errorDisplayMode={errorDisplayMode}\r\n />\r\n );\r\n },\r\n enableSorting: !property.readOnly,\r\n enableFiltering: !property.readOnly,\r\n enableHiding: enableColumnVisibility ?? true,\r\n filterFn: masterFilter,\r\n meta: {\r\n schemaProperty: property,\r\n filterOperators,\r\n isExpanderColumn:\r\n expanderColumns?.includes(key as keyof TData & string) ?? false,\r\n },\r\n } as GeneratedColumn<TData>;\r\n}\r\n\r\nexport function mergeColumns<TData = unknown>(\r\n schemaColumns: GeneratedColumn<TData>[],\r\n customColumns?: ColumnConfig<TData>[],\r\n editingContext?: {\r\n readonly editingRows: Record<string, Record<string, unknown>>;\r\n getRowId: (row: TData, index: number) => string;\r\n },\r\n enableColumnVisibility?: boolean,\r\n t?: MasterDataGridResources\r\n): ColumnDef<TData>[] {\r\n if (!customColumns || customColumns.length === 0) {\r\n return schemaColumns;\r\n }\r\n\r\n const merged: ColumnDef<TData>[] = [];\r\n const customColumnMap = new Map(customColumns.map((c) => [c.id, c]));\r\n\r\n schemaColumns.forEach((schemaCol) => {\r\n if (!schemaCol.id) return;\r\n\r\n const custom = customColumnMap.get(schemaCol.id);\r\n\r\n if (custom) {\r\n const customCell = custom.cell;\r\n const schemaCell = schemaCol.cell;\r\n\r\n let finalCell = customCell || schemaCell;\r\n\r\n if (\r\n customCell &&\r\n schemaCell &&\r\n typeof schemaCell === \"function\" &&\r\n editingContext\r\n ) {\r\n finalCell = (props) => {\r\n const rowId =\r\n editingContext.getRowId(props.row.original, props.row.index) ||\r\n String(props.row.index);\r\n const isEditing = editingContext.editingRows[rowId] !== undefined;\r\n\r\n if (isEditing) {\r\n return typeof schemaCell === \"function\"\r\n ? schemaCell(props)\r\n : schemaCell;\r\n }\r\n\r\n return typeof customCell === \"function\"\r\n ? customCell(props)\r\n : customCell;\r\n };\r\n }\r\n\r\n let finalHeader = custom.header || schemaCol.header;\r\n\r\n if (\r\n custom.header &&\r\n custom.extendHeader !== false &&\r\n typeof custom.header === \"string\"\r\n ) {\r\n finalHeader = ({\r\n column,\r\n header,\r\n }: {\r\n column: Column<TData>;\r\n header: Header<TData, unknown>;\r\n }) => (\r\n <HeaderCell<TData>\r\n column={column}\r\n header={header}\r\n label={custom.header as string}\r\n t={t}\r\n />\r\n );\r\n } else if (custom.header && custom.extendHeader === false) {\r\n finalHeader = custom.header;\r\n }\r\n\r\n merged.push({\r\n ...schemaCol,\r\n ...custom,\r\n header: finalHeader,\r\n cell: finalCell,\r\n enableHiding: custom.enableHiding ?? enableColumnVisibility ?? true,\r\n meta: {\r\n ...schemaCol.meta,\r\n ...custom.meta,\r\n },\r\n } as ColumnDef<TData>);\r\n if (schemaCol.id) customColumnMap.delete(schemaCol.id);\r\n } else {\r\n merged.push(schemaCol);\r\n }\r\n });\r\n\r\n customColumnMap.forEach((custom) => {\r\n let header:\r\n | string\r\n | ((info: {\r\n column: Column<TData>;\r\n header: Header<TData, unknown>;\r\n }) => React.ReactNode);\r\n\r\n if (custom.extendHeader !== false) {\r\n header = ({\r\n column,\r\n header: headerObj,\r\n }: {\r\n column: Column<TData>;\r\n header: Header<TData, unknown>;\r\n }) => {\r\n const label =\r\n typeof custom.header === \"string\" ? custom.header : custom.id;\r\n\r\n return (\r\n <HeaderCell<TData>\r\n column={column}\r\n header={headerObj}\r\n label={label}\r\n t={t}\r\n />\r\n );\r\n };\r\n } else if (typeof custom.header === \"function\") {\r\n header = custom.header;\r\n } else {\r\n header = custom.header || custom.id;\r\n }\r\n\r\n merged.push({\r\n id: custom.id,\r\n accessorKey: custom.accessorKey,\r\n accessorFn: custom.accessorFn,\r\n header,\r\n cell: custom.cell,\r\n enableSorting: custom.enableSorting ?? true,\r\n enableFiltering: custom.enableFiltering ?? true,\r\n enableGrouping: custom.enableGrouping ?? false,\r\n enablePinning: custom.enablePinning ?? true,\r\n enableResizing: custom.enableResizing ?? true,\r\n enableHiding: custom.enableHiding ?? enableColumnVisibility ?? true,\r\n size: custom.width,\r\n minSize: custom.minWidth,\r\n maxSize: custom.maxWidth,\r\n footer: custom.footer,\r\n filterFn: masterFilter,\r\n meta: custom.meta,\r\n } as ColumnDef<TData>);\r\n });\r\n\r\n return merged;\r\n}\r\n"],"mappings":"AA4GM;AA3GN,SAAS,YAAY,oBAAoB;AAUzC,SAAS,oBAAoB,oBAAoB;AACjD,SAAS,qBAAqB;AAGvB,SAAS,0BACd,QACA,cACA,GACA,gBAKA,eACA,aACA,iBACA,kBACA,wBACA,iBACA,eAI0B;AAC1B,MAAI,CAAC,OAAO,WAAY,QAAO,CAAC;AAEhC,QAAM,UAAoC,CAAC;AAE3C,SAAO,QAAQ,OAAO,UAAU,EAAE,QAAQ,CAAC,CAAC,KAAK,QAAQ,MAAM;AAE7D,QAAI,eAAe;AACjB,YAAM,WAAW,cAAc,QAAQ;AAAA,QACrC;AAAA,MACF;AACA,YAAM,aACH,cAAc,SAAS,aAAa,CAAC,YACrC,cAAc,SAAS,aAAa;AAEvC,UAAI,YAAY;AACd;AAAA,MACF;AAAA,IACF;AAEA,UAAM,SAAS;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,QAAI,QAAQ;AACV,cAAQ,KAAK,MAAM;AAAA,IACrB;AAAA,EACF,CAAC;AAED,SAAO;AACT;AAEA,SAAS,yBACP,KACA,UACA,cACA,GACA,gBAKA,eACA,aACA,iBACA,kBACA,wBACA,iBAC+B;AAC/B,MAAI,SAAS,SAAS,UAAU;AAC9B,WAAO;AAAA,EACT;AAEA,QAAM,kBAAkB,mBAAmB,SAAS,MAAM,SAAS,MAAM;AAEzE,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,QAAQ,CAAC;AAAA,MACP;AAAA,MACA;AAAA,IACF,MAIE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,OAAO,cAAc,KAAK,GAAG,SAAS,KAAK;AAAA,QAC3C;AAAA;AAAA,IACF;AAAA,IAEF,MAAM,CAAC;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACF,MAIM;AACJ,YAAM,QACJ,gBAAgB,SAAS,IAAI,UAAU,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK;AACvE,YAAM,YAAY,gBAAgB,YAAY,KAAK,MAAM;AACzD,YAAM,cAAc,gBAAgB,YAAY,KAAK,IAAI,GAAG;AAC5D,YAAM,eACJ,aAAa,gBAAgB,SAAY,cAAc,SAAS;AAElE,YAAM,YACJ,OAAO,kBAAkB,aACrB,cAAc,EAAE,KAAK,IAAI,UAAU,UAAU,IAAI,CAAC,IAClD;AAEN,aACE;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,UACP;AAAA,UACA;AAAA,UACA,UAAU;AAAA,UACV,gBAAgB;AAAA,UAChB;AAAA,UACA;AAAA,UACA,UACE,YACI,CAAC,UACC,gBAAgB,aAAa,OAAO,KAAK,KAAK,IAChD;AAAA,UAEN;AAAA,UACA;AAAA,UACA;AAAA,UACA,WAAW;AAAA,UACX;AAAA,UACA;AAAA;AAAA,MACF;AAAA,IAEJ;AAAA,IACA,eAAe,CAAC,SAAS;AAAA,IACzB,iBAAiB,CAAC,SAAS;AAAA,IAC3B,cAAc,0BAA0B;AAAA,IACxC,UAAU;AAAA,IACV,MAAM;AAAA,MACJ,gBAAgB;AAAA,MAChB;AAAA,MACA,kBACE,iBAAiB,SAAS,GAA2B,KAAK;AAAA,IAC9D;AAAA,EACF;AACF;AAEO,SAAS,aACd,eACA,eACA,gBAIA,wBACA,GACoB;AACpB,MAAI,CAAC,iBAAiB,cAAc,WAAW,GAAG;AAChD,WAAO;AAAA,EACT;AAEA,QAAM,SAA6B,CAAC;AACpC,QAAM,kBAAkB,IAAI,IAAI,cAAc,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAEnE,gBAAc,QAAQ,CAAC,cAAc;AACnC,QAAI,CAAC,UAAU,GAAI;AAEnB,UAAM,SAAS,gBAAgB,IAAI,UAAU,EAAE;AAE/C,QAAI,QAAQ;AACV,YAAM,aAAa,OAAO;AAC1B,YAAM,aAAa,UAAU;AAE7B,UAAI,YAAY,cAAc;AAE9B,UACE,cACA,cACA,OAAO,eAAe,cACtB,gBACA;AACA,oBAAY,CAAC,UAAU;AACrB,gBAAM,QACJ,eAAe,SAAS,MAAM,IAAI,UAAU,MAAM,IAAI,KAAK,KAC3D,OAAO,MAAM,IAAI,KAAK;AACxB,gBAAM,YAAY,eAAe,YAAY,KAAK,MAAM;AAExD,cAAI,WAAW;AACb,mBAAO,OAAO,eAAe,aACzB,WAAW,KAAK,IAChB;AAAA,UACN;AAEA,iBAAO,OAAO,eAAe,aACzB,WAAW,KAAK,IAChB;AAAA,QACN;AAAA,MACF;AAEA,UAAI,cAAc,OAAO,UAAU,UAAU;AAE7C,UACE,OAAO,UACP,OAAO,iBAAiB,SACxB,OAAO,OAAO,WAAW,UACzB;AACA,sBAAc,CAAC;AAAA,UACb;AAAA,UACA;AAAA,QACF,MAIE;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA,OAAO,OAAO;AAAA,YACd;AAAA;AAAA,QACF;AAAA,MAEJ,WAAW,OAAO,UAAU,OAAO,iBAAiB,OAAO;AACzD,sBAAc,OAAO;AAAA,MACvB;AAEA,aAAO,KAAK;AAAA,QACV,GAAG;AAAA,QACH,GAAG;AAAA,QACH,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,cAAc,OAAO,gBAAgB,0BAA0B;AAAA,QAC/D,MAAM;AAAA,UACJ,GAAG,UAAU;AAAA,UACb,GAAG,OAAO;AAAA,QACZ;AAAA,MACF,CAAqB;AACrB,UAAI,UAAU,GAAI,iBAAgB,OAAO,UAAU,EAAE;AAAA,IACvD,OAAO;AACL,aAAO,KAAK,SAAS;AAAA,IACvB;AAAA,EACF,CAAC;AAED,kBAAgB,QAAQ,CAAC,WAAW;AAClC,QAAI;AAOJ,QAAI,OAAO,iBAAiB,OAAO;AACjC,eAAS,CAAC;AAAA,QACR;AAAA,QACA,QAAQ;AAAA,MACV,MAGM;AACJ,cAAM,QACJ,OAAO,OAAO,WAAW,WAAW,OAAO,SAAS,OAAO;AAE7D,eACE;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,QAAQ;AAAA,YACR;AAAA,YACA;AAAA;AAAA,QACF;AAAA,MAEJ;AAAA,IACF,WAAW,OAAO,OAAO,WAAW,YAAY;AAC9C,eAAS,OAAO;AAAA,IAClB,OAAO;AACL,eAAS,OAAO,UAAU,OAAO;AAAA,IACnC;AAEA,WAAO,KAAK;AAAA,MACV,IAAI,OAAO;AAAA,MACX,aAAa,OAAO;AAAA,MACpB,YAAY,OAAO;AAAA,MACnB;AAAA,MACA,MAAM,OAAO;AAAA,MACb,eAAe,OAAO,iBAAiB;AAAA,MACvC,iBAAiB,OAAO,mBAAmB;AAAA,MAC3C,gBAAgB,OAAO,kBAAkB;AAAA,MACzC,eAAe,OAAO,iBAAiB;AAAA,MACvC,gBAAgB,OAAO,kBAAkB;AAAA,MACzC,cAAc,OAAO,gBAAgB,0BAA0B;AAAA,MAC/D,MAAM,OAAO;AAAA,MACb,SAAS,OAAO;AAAA,MAChB,SAAS,OAAO;AAAA,MAChB,QAAQ,OAAO;AAAA,MACf,UAAU;AAAA,MACV,MAAM,OAAO;AAAA,IACf,CAAqB;AAAA,EACvB,CAAC;AAED,SAAO;AACT;","names":[]}
@@ -0,0 +1,46 @@
1
+ function exportToCSV(table, options = {}) {
2
+ const { filename = "export" } = options;
3
+ const rows = table.getFilteredRowModel().rows;
4
+ const excludedColumns = ["expander", "select", "actions", "edit-actions"];
5
+ const columns = table.getVisibleLeafColumns().filter((col) => !excludedColumns.includes(col.id));
6
+ const headers = columns.map((col) => {
7
+ const header = col.columnDef.header;
8
+ return typeof header === "string" ? header : col.id;
9
+ });
10
+ const csv = [
11
+ headers.join(","),
12
+ ...rows.map(
13
+ (row) => columns.map((col) => {
14
+ const columnDef = col.columnDef;
15
+ let value;
16
+ if (columnDef.accessorKey) {
17
+ const keys = String(columnDef.accessorKey).split(".");
18
+ value = keys.reduce(
19
+ (obj, key) => obj && typeof obj === "object" && key in obj ? obj[key] : void 0,
20
+ row.original
21
+ );
22
+ } else if (columnDef.accessorFn) {
23
+ value = columnDef.accessorFn(row.original, row.index);
24
+ } else {
25
+ value = row.getValue(col.id);
26
+ }
27
+ const strValue = String(value ?? "");
28
+ return strValue.includes(",") || strValue.includes('"') ? `"${strValue.replace(/"/g, '""')}"` : strValue;
29
+ }).join(",")
30
+ )
31
+ ].join("\n");
32
+ const csvWithBOM = "\uFEFF" + csv;
33
+ const blob = new Blob([csvWithBOM], {
34
+ type: "text/csv;charset=utf-8;"
35
+ });
36
+ const url = URL.createObjectURL(blob);
37
+ const link = document.createElement("a");
38
+ link.href = url;
39
+ link.download = `${filename}.csv`;
40
+ link.click();
41
+ URL.revokeObjectURL(url);
42
+ }
43
+ export {
44
+ exportToCSV
45
+ };
46
+ //# sourceMappingURL=export-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/custom/master-data-grid/utils/export-utils.ts"],"sourcesContent":["import type { Table } from \"@tanstack/react-table\";\r\nimport type { ExportColumnDef } from \"../types\";\r\n\r\nexport interface ExportOptions {\r\n filename?: string;\r\n}\r\n\r\nexport function exportToCSV<TData>(\r\n table: Table<TData>,\r\n options: ExportOptions = {}\r\n): void {\r\n const { filename = \"export\" } = options;\r\n\r\n const rows = table.getFilteredRowModel().rows;\r\n\r\n const excludedColumns = [\"expander\", \"select\", \"actions\", \"edit-actions\"];\r\n const columns = table\r\n .getVisibleLeafColumns()\r\n .filter((col) => !excludedColumns.includes(col.id));\r\n\r\n const headers = columns.map((col) => {\r\n const header = col.columnDef.header;\r\n return typeof header === \"string\" ? header : col.id;\r\n });\r\n\r\n const csv = [\r\n headers.join(\",\"),\r\n ...rows.map((row) =>\r\n columns\r\n .map((col) => {\r\n const columnDef = col.columnDef as ExportColumnDef<TData>;\r\n let value: unknown;\r\n\r\n if (columnDef.accessorKey) {\r\n const keys = String(columnDef.accessorKey).split(\".\");\r\n value = keys.reduce(\r\n (obj: unknown, key) =>\r\n obj && typeof obj === \"object\" && key in obj\r\n ? (obj as Record<string, unknown>)[key]\r\n : undefined,\r\n row.original\r\n );\r\n } else if (columnDef.accessorFn) {\r\n value = columnDef.accessorFn(row.original, row.index);\r\n } else {\r\n value = row.getValue(col.id);\r\n }\r\n const strValue = String(value ?? \"\");\r\n return strValue.includes(\",\") || strValue.includes('\"')\r\n ? `\"${strValue.replace(/\"/g, '\"\"')}\"`\r\n : strValue;\r\n })\r\n .join(\",\")\r\n ),\r\n ].join(\"\\n\");\r\n\r\n const csvWithBOM = \"\\uFEFF\" + csv;\r\n const blob = new Blob([csvWithBOM], {\r\n type: \"text/csv;charset=utf-8;\",\r\n });\r\n const url = URL.createObjectURL(blob);\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.download = `${filename}.csv`;\r\n link.click();\r\n URL.revokeObjectURL(url);\r\n}\r\n"],"mappings":"AAOO,SAAS,YACd,OACA,UAAyB,CAAC,GACpB;AACN,QAAM,EAAE,WAAW,SAAS,IAAI;AAEhC,QAAM,OAAO,MAAM,oBAAoB,EAAE;AAEzC,QAAM,kBAAkB,CAAC,YAAY,UAAU,WAAW,cAAc;AACxE,QAAM,UAAU,MACb,sBAAsB,EACtB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,SAAS,IAAI,EAAE,CAAC;AAEpD,QAAM,UAAU,QAAQ,IAAI,CAAC,QAAQ;AACnC,UAAM,SAAS,IAAI,UAAU;AAC7B,WAAO,OAAO,WAAW,WAAW,SAAS,IAAI;AAAA,EACnD,CAAC;AAED,QAAM,MAAM;AAAA,IACV,QAAQ,KAAK,GAAG;AAAA,IAChB,GAAG,KAAK;AAAA,MAAI,CAAC,QACX,QACG,IAAI,CAAC,QAAQ;AACZ,cAAM,YAAY,IAAI;AACtB,YAAI;AAEJ,YAAI,UAAU,aAAa;AACzB,gBAAM,OAAO,OAAO,UAAU,WAAW,EAAE,MAAM,GAAG;AACpD,kBAAQ,KAAK;AAAA,YACX,CAAC,KAAc,QACb,OAAO,OAAO,QAAQ,YAAY,OAAO,MACpC,IAAgC,GAAG,IACpC;AAAA,YACN,IAAI;AAAA,UACN;AAAA,QACF,WAAW,UAAU,YAAY;AAC/B,kBAAQ,UAAU,WAAW,IAAI,UAAU,IAAI,KAAK;AAAA,QACtD,OAAO;AACL,kBAAQ,IAAI,SAAS,IAAI,EAAE;AAAA,QAC7B;AACA,cAAM,WAAW,OAAO,SAAS,EAAE;AACnC,eAAO,SAAS,SAAS,GAAG,KAAK,SAAS,SAAS,GAAG,IAClD,IAAI,SAAS,QAAQ,MAAM,IAAI,CAAC,MAChC;AAAA,MACN,CAAC,EACA,KAAK,GAAG;AAAA,IACb;AAAA,EACF,EAAE,KAAK,IAAI;AAEX,QAAM,aAAa,WAAW;AAC9B,QAAM,OAAO,IAAI,KAAK,CAAC,UAAU,GAAG;AAAA,IAClC,MAAM;AAAA,EACR,CAAC;AACD,QAAM,MAAM,IAAI,gBAAgB,IAAI;AACpC,QAAM,OAAO,SAAS,cAAc,GAAG;AACvC,OAAK,OAAO;AACZ,OAAK,WAAW,GAAG,QAAQ;AAC3B,OAAK,MAAM;AACX,MAAI,gBAAgB,GAAG;AACzB;","names":[]}
@@ -0,0 +1,218 @@
1
+ function getRowValue(row, columnId) {
2
+ if (!row || typeof row !== "object") return void 0;
3
+ const keys = columnId.split(".");
4
+ let value = row;
5
+ for (const key of keys) {
6
+ if (value && typeof value === "object" && key in value) {
7
+ value = value[key];
8
+ } else {
9
+ return void 0;
10
+ }
11
+ }
12
+ return value;
13
+ }
14
+ function toString(value) {
15
+ if (value === null || value === void 0) return "";
16
+ if (typeof value === "string") return value;
17
+ if (typeof value === "number" || typeof value === "boolean")
18
+ return String(value);
19
+ if (value instanceof Date) return value.toISOString();
20
+ if (typeof value === "object") return JSON.stringify(value);
21
+ return String(value);
22
+ }
23
+ function toNumber(value) {
24
+ if (typeof value === "number") return value;
25
+ if (typeof value === "string") return parseFloat(value);
26
+ if (value instanceof Date) return value.getTime();
27
+ return NaN;
28
+ }
29
+ function toDate(value) {
30
+ if (value instanceof Date) return value;
31
+ if (typeof value === "string" || typeof value === "number") {
32
+ const date = new Date(value);
33
+ return isNaN(date.getTime()) ? null : date;
34
+ }
35
+ return null;
36
+ }
37
+ const masterFilter = (row, columnId, filterValue) => {
38
+ if (!filterValue || typeof filterValue !== "object") return true;
39
+ const { operator, value, value2 } = filterValue;
40
+ const cellValue = getRowValue(row.original, columnId);
41
+ switch (operator) {
42
+ case "equals":
43
+ return toString(cellValue).toLowerCase() === toString(value).toLowerCase();
44
+ case "notEquals":
45
+ return toString(cellValue).toLowerCase() !== toString(value).toLowerCase();
46
+ case "contains":
47
+ if (Array.isArray(cellValue)) {
48
+ return cellValue.some(
49
+ (item) => toString(item).toLowerCase().includes(toString(value).toLowerCase())
50
+ );
51
+ }
52
+ return toString(cellValue).toLowerCase().includes(toString(value).toLowerCase());
53
+ case "notContains":
54
+ if (Array.isArray(cellValue)) {
55
+ return !cellValue.some(
56
+ (item) => toString(item).toLowerCase().includes(toString(value).toLowerCase())
57
+ );
58
+ }
59
+ return !toString(cellValue).toLowerCase().includes(toString(value).toLowerCase());
60
+ case "startsWith":
61
+ return toString(cellValue).toLowerCase().startsWith(toString(value).toLowerCase());
62
+ case "endsWith":
63
+ return toString(cellValue).toLowerCase().endsWith(toString(value).toLowerCase());
64
+ case "isEmpty":
65
+ if (Array.isArray(cellValue)) {
66
+ return cellValue.length === 0;
67
+ }
68
+ return !cellValue || toString(cellValue).trim() === "";
69
+ case "isNotEmpty":
70
+ if (Array.isArray(cellValue)) {
71
+ return cellValue.length > 0;
72
+ }
73
+ return Boolean(cellValue) && toString(cellValue).trim() !== "";
74
+ case "greaterThan": {
75
+ const numValue = toNumber(cellValue);
76
+ const numFilter = toNumber(value);
77
+ return !isNaN(numValue) && !isNaN(numFilter) && numValue > numFilter;
78
+ }
79
+ case "greaterThanOrEqual": {
80
+ const numValue = toNumber(cellValue);
81
+ const numFilter = toNumber(value);
82
+ return !isNaN(numValue) && !isNaN(numFilter) && numValue >= numFilter;
83
+ }
84
+ case "lessThan": {
85
+ const numValue = toNumber(cellValue);
86
+ const numFilter = toNumber(value);
87
+ return !isNaN(numValue) && !isNaN(numFilter) && numValue < numFilter;
88
+ }
89
+ case "lessThanOrEqual": {
90
+ const numValue = toNumber(cellValue);
91
+ const numFilter = toNumber(value);
92
+ return !isNaN(numValue) && !isNaN(numFilter) && numValue <= numFilter;
93
+ }
94
+ case "between": {
95
+ const numValue = toNumber(cellValue);
96
+ const numMin = toNumber(value);
97
+ const numMax = toNumber(value2);
98
+ return !isNaN(numValue) && !isNaN(numMin) && !isNaN(numMax) && numValue >= numMin && numValue <= numMax;
99
+ }
100
+ case "inRange": {
101
+ const numValue = toNumber(cellValue);
102
+ const numMin = toNumber(value);
103
+ const numMax = toNumber(value2);
104
+ return !isNaN(numValue) && !isNaN(numMin) && !isNaN(numMax) && numValue >= numMin && numValue <= numMax;
105
+ }
106
+ case "before": {
107
+ const dateValue = toDate(cellValue);
108
+ const dateFilter = toDate(value);
109
+ return dateValue !== null && dateFilter !== null && dateValue < dateFilter;
110
+ }
111
+ case "after": {
112
+ const dateValue = toDate(cellValue);
113
+ const dateFilter = toDate(value);
114
+ return dateValue !== null && dateFilter !== null && dateValue > dateFilter;
115
+ }
116
+ case "inList": {
117
+ if (!Array.isArray(value)) return false;
118
+ const strValue = toString(cellValue).toLowerCase();
119
+ return value.some((v) => toString(v).toLowerCase() === strValue);
120
+ }
121
+ case "notInList": {
122
+ if (!Array.isArray(value)) return true;
123
+ const strValue = toString(cellValue).toLowerCase();
124
+ return !value.some((v) => toString(v).toLowerCase() === strValue);
125
+ }
126
+ default:
127
+ return true;
128
+ }
129
+ };
130
+ function getFilterOperators(type, format) {
131
+ if (format === "date" || format === "date-time" || format === "time") {
132
+ return [
133
+ "equals",
134
+ "notEquals",
135
+ "before",
136
+ "after",
137
+ "between",
138
+ "isEmpty",
139
+ "isNotEmpty"
140
+ ];
141
+ }
142
+ if (type === "number" || type === "integer") {
143
+ return [
144
+ "equals",
145
+ "notEquals",
146
+ "greaterThan",
147
+ "greaterThanOrEqual",
148
+ "lessThan",
149
+ "lessThanOrEqual",
150
+ "between",
151
+ "inRange",
152
+ "isEmpty",
153
+ "isNotEmpty"
154
+ ];
155
+ }
156
+ if (type === "boolean") {
157
+ return ["equals", "notEquals", "isEmpty", "isNotEmpty"];
158
+ }
159
+ if (type === "array") {
160
+ return ["contains", "notContains", "isEmpty", "isNotEmpty"];
161
+ }
162
+ if (format === "enum") {
163
+ return [
164
+ "equals",
165
+ "notEquals",
166
+ "inList",
167
+ "notInList",
168
+ "isEmpty",
169
+ "isNotEmpty"
170
+ ];
171
+ }
172
+ return [
173
+ "equals",
174
+ "notEquals",
175
+ "contains",
176
+ "notContains",
177
+ "startsWith",
178
+ "endsWith",
179
+ "isEmpty",
180
+ "isNotEmpty"
181
+ ];
182
+ }
183
+ function validateFilterValue(operator, value, value2) {
184
+ if (operator === "isEmpty" || operator === "isNotEmpty") {
185
+ return true;
186
+ }
187
+ if (operator === "between" || operator === "inRange") {
188
+ return value !== void 0 && value !== null && value !== "" && value2 !== void 0 && value2 !== null && value2 !== "";
189
+ }
190
+ if (operator === "inList" || operator === "notInList") {
191
+ return Array.isArray(value) && value.length > 0;
192
+ }
193
+ return value !== void 0 && value !== null && value !== "";
194
+ }
195
+ function formatFilterValue(value, operator, schemaType, schemaFormat) {
196
+ if (value === null || value === void 0) return "";
197
+ if (Array.isArray(value)) {
198
+ return value.map((v) => toString(v)).join(", ");
199
+ }
200
+ if (schemaFormat === "date" || schemaFormat === "date-time") {
201
+ const date = toDate(value);
202
+ if (date) {
203
+ return schemaFormat === "date" ? date.toLocaleDateString() : date.toLocaleString();
204
+ }
205
+ }
206
+ if (schemaType === "number" || schemaType === "integer") {
207
+ const num = toNumber(value);
208
+ return isNaN(num) ? toString(value) : num.toString();
209
+ }
210
+ return toString(value);
211
+ }
212
+ export {
213
+ formatFilterValue,
214
+ getFilterOperators,
215
+ masterFilter,
216
+ validateFilterValue
217
+ };
218
+ //# sourceMappingURL=filter-fns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/custom/master-data-grid/utils/filter-fns.ts"],"sourcesContent":["import type { FilterFn } from \"@tanstack/react-table\";\r\nimport type { FilterOperator } from \"../types\";\r\n\r\nfunction getRowValue(row: unknown, columnId: string): unknown {\r\n if (!row || typeof row !== \"object\") return undefined;\r\n\r\n const keys = columnId.split(\".\");\r\n let value: unknown = row;\r\n\r\n for (const key of keys) {\r\n if (value && typeof value === \"object\" && key in value) {\r\n value = (value as Record<string, unknown>)[key];\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n\r\n return value;\r\n}\r\n\r\nfunction toString(value: unknown): string {\r\n if (value === null || value === undefined) return \"\";\r\n if (typeof value === \"string\") return value;\r\n if (typeof value === \"number\" || typeof value === \"boolean\")\r\n return String(value);\r\n if (value instanceof Date) return value.toISOString();\r\n if (typeof value === \"object\") return JSON.stringify(value);\r\n return String(value);\r\n}\r\n\r\nfunction toNumber(value: unknown): number {\r\n if (typeof value === \"number\") return value;\r\n if (typeof value === \"string\") return parseFloat(value);\r\n if (value instanceof Date) return value.getTime();\r\n return NaN;\r\n}\r\n\r\nfunction toDate(value: unknown): Date | null {\r\n if (value instanceof Date) return value;\r\n if (typeof value === \"string\" || typeof value === \"number\") {\r\n const date = new Date(value);\r\n return isNaN(date.getTime()) ? null : date;\r\n }\r\n return null;\r\n}\r\n\r\nexport const masterFilter: FilterFn<unknown> = (row, columnId, filterValue) => {\r\n if (!filterValue || typeof filterValue !== \"object\") return true;\r\n\r\n const { operator, value, value2 } = filterValue as {\r\n operator: FilterOperator;\r\n value: unknown;\r\n value2?: unknown;\r\n };\r\n\r\n const cellValue = getRowValue(row.original, columnId);\r\n\r\n switch (operator) {\r\n case \"equals\":\r\n return (\r\n toString(cellValue).toLowerCase() === toString(value).toLowerCase()\r\n );\r\n\r\n case \"notEquals\":\r\n return (\r\n toString(cellValue).toLowerCase() !== toString(value).toLowerCase()\r\n );\r\n\r\n case \"contains\":\r\n if (Array.isArray(cellValue)) {\r\n return cellValue.some((item) =>\r\n toString(item).toLowerCase().includes(toString(value).toLowerCase())\r\n );\r\n }\r\n return toString(cellValue)\r\n .toLowerCase()\r\n .includes(toString(value).toLowerCase());\r\n\r\n case \"notContains\":\r\n if (Array.isArray(cellValue)) {\r\n return !cellValue.some((item) =>\r\n toString(item).toLowerCase().includes(toString(value).toLowerCase())\r\n );\r\n }\r\n return !toString(cellValue)\r\n .toLowerCase()\r\n .includes(toString(value).toLowerCase());\r\n\r\n case \"startsWith\":\r\n return toString(cellValue)\r\n .toLowerCase()\r\n .startsWith(toString(value).toLowerCase());\r\n\r\n case \"endsWith\":\r\n return toString(cellValue)\r\n .toLowerCase()\r\n .endsWith(toString(value).toLowerCase());\r\n\r\n case \"isEmpty\":\r\n if (Array.isArray(cellValue)) {\r\n return cellValue.length === 0;\r\n }\r\n return !cellValue || toString(cellValue).trim() === \"\";\r\n\r\n case \"isNotEmpty\":\r\n if (Array.isArray(cellValue)) {\r\n return cellValue.length > 0;\r\n }\r\n return Boolean(cellValue) && toString(cellValue).trim() !== \"\";\r\n\r\n case \"greaterThan\": {\r\n const numValue = toNumber(cellValue);\r\n const numFilter = toNumber(value);\r\n return !isNaN(numValue) && !isNaN(numFilter) && numValue > numFilter;\r\n }\r\n\r\n case \"greaterThanOrEqual\": {\r\n const numValue = toNumber(cellValue);\r\n const numFilter = toNumber(value);\r\n return !isNaN(numValue) && !isNaN(numFilter) && numValue >= numFilter;\r\n }\r\n\r\n case \"lessThan\": {\r\n const numValue = toNumber(cellValue);\r\n const numFilter = toNumber(value);\r\n return !isNaN(numValue) && !isNaN(numFilter) && numValue < numFilter;\r\n }\r\n\r\n case \"lessThanOrEqual\": {\r\n const numValue = toNumber(cellValue);\r\n const numFilter = toNumber(value);\r\n return !isNaN(numValue) && !isNaN(numFilter) && numValue <= numFilter;\r\n }\r\n\r\n case \"between\": {\r\n const numValue = toNumber(cellValue);\r\n const numMin = toNumber(value);\r\n const numMax = toNumber(value2);\r\n return (\r\n !isNaN(numValue) &&\r\n !isNaN(numMin) &&\r\n !isNaN(numMax) &&\r\n numValue >= numMin &&\r\n numValue <= numMax\r\n );\r\n }\r\n\r\n case \"inRange\": {\r\n const numValue = toNumber(cellValue);\r\n const numMin = toNumber(value);\r\n const numMax = toNumber(value2);\r\n return (\r\n !isNaN(numValue) &&\r\n !isNaN(numMin) &&\r\n !isNaN(numMax) &&\r\n numValue >= numMin &&\r\n numValue <= numMax\r\n );\r\n }\r\n\r\n case \"before\": {\r\n const dateValue = toDate(cellValue);\r\n const dateFilter = toDate(value);\r\n return (\r\n dateValue !== null && dateFilter !== null && dateValue < dateFilter\r\n );\r\n }\r\n\r\n case \"after\": {\r\n const dateValue = toDate(cellValue);\r\n const dateFilter = toDate(value);\r\n return (\r\n dateValue !== null && dateFilter !== null && dateValue > dateFilter\r\n );\r\n }\r\n\r\n case \"inList\": {\r\n if (!Array.isArray(value)) return false;\r\n const strValue = toString(cellValue).toLowerCase();\r\n return value.some((v) => toString(v).toLowerCase() === strValue);\r\n }\r\n\r\n case \"notInList\": {\r\n if (!Array.isArray(value)) return true;\r\n const strValue = toString(cellValue).toLowerCase();\r\n return !value.some((v) => toString(v).toLowerCase() === strValue);\r\n }\r\n\r\n default:\r\n return true;\r\n }\r\n};\r\n\r\nexport function getFilterOperators(\r\n type?: string,\r\n format?: string\r\n): FilterOperator[] {\r\n if (format === \"date\" || format === \"date-time\" || format === \"time\") {\r\n return [\r\n \"equals\",\r\n \"notEquals\",\r\n \"before\",\r\n \"after\",\r\n \"between\",\r\n \"isEmpty\",\r\n \"isNotEmpty\",\r\n ];\r\n }\r\n\r\n if (type === \"number\" || type === \"integer\") {\r\n return [\r\n \"equals\",\r\n \"notEquals\",\r\n \"greaterThan\",\r\n \"greaterThanOrEqual\",\r\n \"lessThan\",\r\n \"lessThanOrEqual\",\r\n \"between\",\r\n \"inRange\",\r\n \"isEmpty\",\r\n \"isNotEmpty\",\r\n ];\r\n }\r\n\r\n if (type === \"boolean\") {\r\n return [\"equals\", \"notEquals\", \"isEmpty\", \"isNotEmpty\"];\r\n }\r\n\r\n if (type === \"array\") {\r\n return [\"contains\", \"notContains\", \"isEmpty\", \"isNotEmpty\"];\r\n }\r\n\r\n if (format === \"enum\") {\r\n return [\r\n \"equals\",\r\n \"notEquals\",\r\n \"inList\",\r\n \"notInList\",\r\n \"isEmpty\",\r\n \"isNotEmpty\",\r\n ];\r\n }\r\n\r\n return [\r\n \"equals\",\r\n \"notEquals\",\r\n \"contains\",\r\n \"notContains\",\r\n \"startsWith\",\r\n \"endsWith\",\r\n \"isEmpty\",\r\n \"isNotEmpty\",\r\n ];\r\n}\r\n\r\nexport function validateFilterValue(\r\n operator: FilterOperator,\r\n value: unknown,\r\n value2?: unknown\r\n): boolean {\r\n if (operator === \"isEmpty\" || operator === \"isNotEmpty\") {\r\n return true;\r\n }\r\n\r\n if (operator === \"between\" || operator === \"inRange\") {\r\n return (\r\n value !== undefined &&\r\n value !== null &&\r\n value !== \"\" &&\r\n value2 !== undefined &&\r\n value2 !== null &&\r\n value2 !== \"\"\r\n );\r\n }\r\n\r\n if (operator === \"inList\" || operator === \"notInList\") {\r\n return Array.isArray(value) && value.length > 0;\r\n }\r\n\r\n return value !== undefined && value !== null && value !== \"\";\r\n}\r\n\r\nexport function formatFilterValue(\r\n value: unknown,\r\n operator: FilterOperator,\r\n schemaType?: string,\r\n schemaFormat?: string\r\n): string {\r\n if (value === null || value === undefined) return \"\";\r\n\r\n if (Array.isArray(value)) {\r\n return value.map((v) => toString(v)).join(\", \");\r\n }\r\n\r\n if (schemaFormat === \"date\" || schemaFormat === \"date-time\") {\r\n const date = toDate(value);\r\n if (date) {\r\n return schemaFormat === \"date\"\r\n ? date.toLocaleDateString()\r\n : date.toLocaleString();\r\n }\r\n }\r\n\r\n if (schemaType === \"number\" || schemaType === \"integer\") {\r\n const num = toNumber(value);\r\n return isNaN(num) ? toString(value) : num.toString();\r\n }\r\n\r\n return toString(value);\r\n}\r\n"],"mappings":"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","names":[]}
@@ -0,0 +1,16 @@
1
+ import {
2
+ getPinningHeaderStyles,
3
+ getPinningHeaderClassNames,
4
+ getPinningCellStyles,
5
+ getPinningCellClassNames
6
+ } from "./pinning-utils";
7
+ import { getTranslations, getColumnName } from "./translation-utils";
8
+ export {
9
+ getColumnName,
10
+ getPinningCellClassNames,
11
+ getPinningCellStyles,
12
+ getPinningHeaderClassNames,
13
+ getPinningHeaderStyles,
14
+ getTranslations
15
+ };
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/custom/master-data-grid/utils/index.ts"],"sourcesContent":["export {\r\n getPinningHeaderStyles,\r\n getPinningHeaderClassNames,\r\n getPinningCellStyles,\r\n getPinningCellClassNames,\r\n} from \"./pinning-utils\";\r\n\r\nexport { getTranslations, getColumnName } from \"./translation-utils\";\r\n"],"mappings":"AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,iBAAiB,qBAAqB;","names":[]}
@@ -0,0 +1,70 @@
1
+ function getPinningHeaderStyles(header) {
2
+ const pinned = header.column.getIsPinned();
3
+ const isActions = header.column.id === "actions";
4
+ return {
5
+ left: pinned === "left" ? `${header.column.getStart("left")}px` : void 0,
6
+ right: pinned === "right" ? `${header.column.getAfter("right")}px` : void 0,
7
+ position: pinned ? "sticky" : "relative",
8
+ zIndex: pinned ? 1 : 0,
9
+ maxWidth: isActions ? "40px" : void 0
10
+ };
11
+ }
12
+ function getPinningHeaderClassNames(header) {
13
+ const pinned = header.column.getIsPinned();
14
+ const classes = [];
15
+ if (pinned) {
16
+ classes.push("bg-background");
17
+ }
18
+ if (pinned === "left") {
19
+ classes.push("shadow-[2px_0_4px_-2px_rgba(0,0,0,0.1)]");
20
+ }
21
+ if (pinned === "right") {
22
+ classes.push("shadow-[-2px_0_4px_-2px_rgba(0,0,0,0.1)]");
23
+ }
24
+ return classes.join(" ");
25
+ }
26
+ function getPinningCellStyles(cell) {
27
+ const pinned = cell.column.getIsPinned();
28
+ const isActions = cell.column.id === "actions";
29
+ if (isActions) {
30
+ return {
31
+ width: "40px",
32
+ minWidth: "40px",
33
+ maxWidth: "40px",
34
+ left: pinned === "left" ? `${cell.column.getStart("left")}px` : void 0,
35
+ right: pinned === "right" ? `${cell.column.getAfter("right")}px` : void 0,
36
+ position: pinned ? "sticky" : "relative",
37
+ zIndex: pinned ? 1 : 0
38
+ };
39
+ }
40
+ return {
41
+ width: cell.column.getSize(),
42
+ minWidth: pinned ? cell.column.getSize() : cell.column.columnDef.minSize || cell.column.getSize(),
43
+ maxWidth: pinned ? cell.column.columnDef.maxSize : cell.column.columnDef.maxSize || cell.column.getSize(),
44
+ left: pinned === "left" ? `${cell.column.getStart("left")}px` : void 0,
45
+ right: pinned === "right" ? `${cell.column.getAfter("right")}px` : void 0,
46
+ position: pinned ? "sticky" : "relative",
47
+ zIndex: pinned ? 1 : 0
48
+ };
49
+ }
50
+ function getPinningCellClassNames(cell) {
51
+ const pinned = cell.column.getIsPinned();
52
+ const classes = [];
53
+ if (pinned) {
54
+ classes.push("bg-background", "overflow-hidden", "text-ellipsis");
55
+ }
56
+ if (pinned === "left") {
57
+ classes.push("shadow-[2px_0_4px_-2px_rgba(0,0,0,0.1)]");
58
+ }
59
+ if (pinned === "right") {
60
+ classes.push("shadow-[-2px_0_4px_-2px_rgba(0,0,0,0.1)]");
61
+ }
62
+ return classes.join(" ");
63
+ }
64
+ export {
65
+ getPinningCellClassNames,
66
+ getPinningCellStyles,
67
+ getPinningHeaderClassNames,
68
+ getPinningHeaderStyles
69
+ };
70
+ //# sourceMappingURL=pinning-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/custom/master-data-grid/utils/pinning-utils.ts"],"sourcesContent":["import type { Header, Cell } from \"@tanstack/react-table\";\r\nimport type { CSSProperties } from \"react\";\r\n\r\nexport function getPinningHeaderStyles<TData>(\r\n header: Header<TData, unknown>\r\n): CSSProperties {\r\n const pinned = header.column.getIsPinned();\r\n const isActions = header.column.id === \"actions\";\r\n return {\r\n left: pinned === \"left\" ? `${header.column.getStart(\"left\")}px` : undefined,\r\n right:\r\n pinned === \"right\" ? `${header.column.getAfter(\"right\")}px` : undefined,\r\n position: pinned ? \"sticky\" : \"relative\",\r\n zIndex: pinned ? 1 : 0,\r\n maxWidth: isActions ? \"40px\" : undefined,\r\n };\r\n}\r\n\r\nexport function getPinningHeaderClassNames<TData>(\r\n header: Header<TData, unknown>\r\n): string {\r\n const pinned = header.column.getIsPinned();\r\n const classes: string[] = [];\r\n\r\n if (pinned) {\r\n classes.push(\"bg-background\");\r\n }\r\n if (pinned === \"left\") {\r\n classes.push(\"shadow-[2px_0_4px_-2px_rgba(0,0,0,0.1)]\");\r\n }\r\n if (pinned === \"right\") {\r\n classes.push(\"shadow-[-2px_0_4px_-2px_rgba(0,0,0,0.1)]\");\r\n }\r\n\r\n return classes.join(\" \");\r\n}\r\n\r\nexport function getPinningCellStyles<TData>(\r\n cell: Cell<TData, unknown>\r\n): CSSProperties {\r\n const pinned = cell.column.getIsPinned();\r\n const isActions = cell.column.id === \"actions\";\r\n if (isActions) {\r\n return {\r\n width: \"40px\",\r\n minWidth: \"40px\",\r\n maxWidth: \"40px\",\r\n left: pinned === \"left\" ? `${cell.column.getStart(\"left\")}px` : undefined,\r\n right:\r\n pinned === \"right\" ? `${cell.column.getAfter(\"right\")}px` : undefined,\r\n position: pinned ? \"sticky\" : \"relative\",\r\n zIndex: pinned ? 1 : 0,\r\n };\r\n }\r\n return {\r\n width: cell.column.getSize(),\r\n minWidth: pinned\r\n ? cell.column.getSize()\r\n : cell.column.columnDef.minSize || cell.column.getSize(),\r\n maxWidth: pinned\r\n ? cell.column.columnDef.maxSize\r\n : cell.column.columnDef.maxSize || cell.column.getSize(),\r\n left: pinned === \"left\" ? `${cell.column.getStart(\"left\")}px` : undefined,\r\n right:\r\n pinned === \"right\" ? `${cell.column.getAfter(\"right\")}px` : undefined,\r\n position: pinned ? \"sticky\" : \"relative\",\r\n zIndex: pinned ? 1 : 0,\r\n };\r\n}\r\n\r\nexport function getPinningCellClassNames<TData>(\r\n cell: Cell<TData, unknown>\r\n): string {\r\n const pinned = cell.column.getIsPinned();\r\n const classes: string[] = [];\r\n\r\n if (pinned) {\r\n classes.push(\"bg-background\", \"overflow-hidden\", \"text-ellipsis\");\r\n }\r\n if (pinned === \"left\") {\r\n classes.push(\"shadow-[2px_0_4px_-2px_rgba(0,0,0,0.1)]\");\r\n }\r\n if (pinned === \"right\") {\r\n classes.push(\"shadow-[-2px_0_4px_-2px_rgba(0,0,0,0.1)]\");\r\n }\r\n\r\n return classes.join(\" \");\r\n}\r\n"],"mappings":"AAGO,SAAS,uBACd,QACe;AACf,QAAM,SAAS,OAAO,OAAO,YAAY;AACzC,QAAM,YAAY,OAAO,OAAO,OAAO;AACvC,SAAO;AAAA,IACL,MAAM,WAAW,SAAS,GAAG,OAAO,OAAO,SAAS,MAAM,CAAC,OAAO;AAAA,IAClE,OACE,WAAW,UAAU,GAAG,OAAO,OAAO,SAAS,OAAO,CAAC,OAAO;AAAA,IAChE,UAAU,SAAS,WAAW;AAAA,IAC9B,QAAQ,SAAS,IAAI;AAAA,IACrB,UAAU,YAAY,SAAS;AAAA,EACjC;AACF;AAEO,SAAS,2BACd,QACQ;AACR,QAAM,SAAS,OAAO,OAAO,YAAY;AACzC,QAAM,UAAoB,CAAC;AAE3B,MAAI,QAAQ;AACV,YAAQ,KAAK,eAAe;AAAA,EAC9B;AACA,MAAI,WAAW,QAAQ;AACrB,YAAQ,KAAK,yCAAyC;AAAA,EACxD;AACA,MAAI,WAAW,SAAS;AACtB,YAAQ,KAAK,0CAA0C;AAAA,EACzD;AAEA,SAAO,QAAQ,KAAK,GAAG;AACzB;AAEO,SAAS,qBACd,MACe;AACf,QAAM,SAAS,KAAK,OAAO,YAAY;AACvC,QAAM,YAAY,KAAK,OAAO,OAAO;AACrC,MAAI,WAAW;AACb,WAAO;AAAA,MACL,OAAO;AAAA,MACP,UAAU;AAAA,MACV,UAAU;AAAA,MACV,MAAM,WAAW,SAAS,GAAG,KAAK,OAAO,SAAS,MAAM,CAAC,OAAO;AAAA,MAChE,OACE,WAAW,UAAU,GAAG,KAAK,OAAO,SAAS,OAAO,CAAC,OAAO;AAAA,MAC9D,UAAU,SAAS,WAAW;AAAA,MAC9B,QAAQ,SAAS,IAAI;AAAA,IACvB;AAAA,EACF;AACA,SAAO;AAAA,IACL,OAAO,KAAK,OAAO,QAAQ;AAAA,IAC3B,UAAU,SACN,KAAK,OAAO,QAAQ,IACpB,KAAK,OAAO,UAAU,WAAW,KAAK,OAAO,QAAQ;AAAA,IACzD,UAAU,SACN,KAAK,OAAO,UAAU,UACtB,KAAK,OAAO,UAAU,WAAW,KAAK,OAAO,QAAQ;AAAA,IACzD,MAAM,WAAW,SAAS,GAAG,KAAK,OAAO,SAAS,MAAM,CAAC,OAAO;AAAA,IAChE,OACE,WAAW,UAAU,GAAG,KAAK,OAAO,SAAS,OAAO,CAAC,OAAO;AAAA,IAC9D,UAAU,SAAS,WAAW;AAAA,IAC9B,QAAQ,SAAS,IAAI;AAAA,EACvB;AACF;AAEO,SAAS,yBACd,MACQ;AACR,QAAM,SAAS,KAAK,OAAO,YAAY;AACvC,QAAM,UAAoB,CAAC;AAE3B,MAAI,QAAQ;AACV,YAAQ,KAAK,iBAAiB,mBAAmB,eAAe;AAAA,EAClE;AACA,MAAI,WAAW,QAAQ;AACrB,YAAQ,KAAK,yCAAyC;AAAA,EACxD;AACA,MAAI,WAAW,SAAS;AACtB,YAAQ,KAAK,0CAA0C;AAAA,EACzD;AAEA,SAAO,QAAQ,KAAK,GAAG;AACzB;","names":[]}