@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,442 @@
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import { Switch } from "@repo/ayasofyazilim-ui/components/switch";
3
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
4
+ import { z } from "zod";
5
+ import { Badge } from "../../../../components/badge";
6
+ import { Input } from "../../../../components/input";
7
+ import {
8
+ Select,
9
+ SelectContent,
10
+ SelectItem,
11
+ SelectTrigger,
12
+ SelectValue
13
+ } from "../../../../components/select";
14
+ import {
15
+ Tooltip,
16
+ TooltipContent,
17
+ TooltipTrigger
18
+ } from "../../../../components/tooltip";
19
+ import { DatePicker } from "../../../date-picker";
20
+ import DateTooltip from "../../../date-tooltip";
21
+ import { cn } from "../../../../lib/utils";
22
+ import { getTranslations } from "../../utils/translation-utils";
23
+ const DEBOUNCE_DELAY = 150;
24
+ const MAX_STRING_LENGTH = 100;
25
+ const BADGE_VARIANT_MAP = {
26
+ active: "default",
27
+ inactive: "secondary",
28
+ pending: "outline",
29
+ success: "default",
30
+ warning: "destructive",
31
+ error: "destructive"
32
+ };
33
+ function createZodSchema(schemaProperty, t) {
34
+ if (!schemaProperty) return z.unknown();
35
+ let schema;
36
+ switch (schemaProperty.type) {
37
+ case "string":
38
+ schema = z.string({
39
+ message: getTranslations("validation.invalidString", t)
40
+ });
41
+ if (schemaProperty.minLength !== void 0) {
42
+ schema = schema.min(
43
+ schemaProperty.minLength,
44
+ t?.["validation.min_length"] ? (t["validation.min_length"] ?? "").replace(
45
+ "{min}",
46
+ String(schemaProperty.minLength)
47
+ ) : `Must be at least ${schemaProperty.minLength} characters`
48
+ );
49
+ }
50
+ if (schemaProperty.maxLength !== void 0) {
51
+ schema = schema.max(
52
+ schemaProperty.maxLength,
53
+ t?.["validation.max_length"] ? (t["validation.max_length"] ?? "").replace(
54
+ "{max}",
55
+ String(schemaProperty.maxLength)
56
+ ) : `Must be at most ${schemaProperty.maxLength} characters`
57
+ );
58
+ }
59
+ if (schemaProperty.format === "email") {
60
+ schema = schema.email(
61
+ t?.["validation.invalid_email"] || "Must be a valid email address"
62
+ );
63
+ }
64
+ if (schemaProperty.format === "uri" || schemaProperty.format === "url") {
65
+ schema = z.url(t?.["validation.invalid_url"] || "Must be a valid URL");
66
+ }
67
+ if (schemaProperty.format === "uuid") {
68
+ schema = z.uuid(
69
+ t?.["validation.invalid_uuid"] || "Must be a valid UUID"
70
+ );
71
+ }
72
+ break;
73
+ case "number":
74
+ schema = z.number({
75
+ message: t?.["validation.invalid_number"] || "Must be a valid number"
76
+ });
77
+ if (schemaProperty.minimum !== void 0) {
78
+ schema = schema.min(
79
+ schemaProperty.minimum,
80
+ t?.["validation.min_value"] ? (t["validation.min_value"] ?? "").replace(
81
+ "{min}",
82
+ String(schemaProperty.minimum)
83
+ ) : `Must be at least ${schemaProperty.minimum}`
84
+ );
85
+ }
86
+ if (schemaProperty.maximum !== void 0) {
87
+ schema = schema.max(
88
+ schemaProperty.maximum,
89
+ t?.["validation.max_value"] ? (t["validation.max_value"] ?? "").replace(
90
+ "{max}",
91
+ String(schemaProperty.maximum)
92
+ ) : `Must be at most ${schemaProperty.maximum}`
93
+ );
94
+ }
95
+ break;
96
+ case "integer":
97
+ schema = z.number({
98
+ message: t?.["validation.invalid_integer"] || "Must be a valid integer"
99
+ }).int(t?.["validation.must_be_integer"] || "Must be an integer");
100
+ if (schemaProperty.minimum !== void 0) {
101
+ schema = schema.min(
102
+ schemaProperty.minimum,
103
+ t?.["validation.min_value"] ? (t["validation.min_value"] ?? "").replace(
104
+ "{min}",
105
+ String(schemaProperty.minimum)
106
+ ) : `Must be at least ${schemaProperty.minimum}`
107
+ );
108
+ }
109
+ if (schemaProperty.maximum !== void 0) {
110
+ schema = schema.max(
111
+ schemaProperty.maximum,
112
+ t?.["validation.max_value"] ? (t["validation.max_value"] ?? "").replace(
113
+ "{max}",
114
+ String(schemaProperty.maximum)
115
+ ) : `Must be at most ${schemaProperty.maximum}`
116
+ );
117
+ }
118
+ break;
119
+ case "boolean":
120
+ schema = z.boolean({
121
+ message: t?.["validation.invalid_boolean"] || "Must be true or false"
122
+ });
123
+ break;
124
+ default:
125
+ schema = z.unknown();
126
+ }
127
+ if (schemaProperty.enum && Array.isArray(schemaProperty.enum)) {
128
+ schema = z.enum(
129
+ schemaProperty.enum,
130
+ t?.["validation.invalid_enum"] || "Invalid value"
131
+ );
132
+ }
133
+ if (!schemaProperty.required) {
134
+ schema = schema.optional().nullable();
135
+ }
136
+ return schema;
137
+ }
138
+ function ErrorWrapper({ error, mode, children }) {
139
+ if (!error) return /* @__PURE__ */ jsx(Fragment, { children });
140
+ const showTooltip = mode === "tooltip" || mode === "both";
141
+ const showInline = mode === "inline" || mode === "both";
142
+ const inlineError = showInline && /* @__PURE__ */ jsx("span", { className: "text-[10px] text-destructive px-2 py-0.5 leading-tight animate-in fade-in slide-in-from-top-1", children: error });
143
+ if (showTooltip && !showInline) {
144
+ return /* @__PURE__ */ jsxs(Tooltip, { children: [
145
+ /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children }),
146
+ /* @__PURE__ */ jsx(TooltipContent, { side: "bottom", className: "max-w-xs", children: error })
147
+ ] });
148
+ }
149
+ if (showInline && !showTooltip) {
150
+ return /* @__PURE__ */ jsxs("div", { className: "flex flex-col w-full h-full", children: [
151
+ children,
152
+ inlineError
153
+ ] });
154
+ }
155
+ return /* @__PURE__ */ jsxs(Tooltip, { children: [
156
+ /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col w-full h-full", children: [
157
+ children,
158
+ inlineError
159
+ ] }) }),
160
+ /* @__PURE__ */ jsx(TooltipContent, { side: "bottom", className: "max-w-xs", children: error })
161
+ ] });
162
+ }
163
+ function CellRenderer({
164
+ value,
165
+ row,
166
+ column,
167
+ schemaProperty,
168
+ editable = false,
169
+ onUpdate,
170
+ t,
171
+ error,
172
+ className,
173
+ dateOptions,
174
+ localization,
175
+ fieldName,
176
+ customRenderers,
177
+ errorDisplayMode = "tooltip"
178
+ }) {
179
+ const [localValue, setLocalValue] = useState(value);
180
+ const [validationError, setValidationError] = useState(
181
+ error || null
182
+ );
183
+ const inputRef = useRef(null);
184
+ const updateTimeoutRef = useRef(null);
185
+ const datePickerIdRef = useRef(
186
+ `date-${schemaProperty?.title || "field"}-${Date.now()}`
187
+ );
188
+ const datePickerMountedRef = useRef(false);
189
+ const handleDateChangeRef = useRef(null);
190
+ const validationSchema = useMemo(
191
+ () => schemaProperty ? createZodSchema(schemaProperty, t) : null,
192
+ [schemaProperty, t]
193
+ );
194
+ useEffect(() => {
195
+ if (!editable) {
196
+ setLocalValue(value);
197
+ datePickerMountedRef.current = false;
198
+ }
199
+ }, [value, editable]);
200
+ useEffect(() => {
201
+ return () => {
202
+ if (updateTimeoutRef.current) {
203
+ clearTimeout(updateTimeoutRef.current);
204
+ }
205
+ };
206
+ }, []);
207
+ const debouncedUpdate = useCallback(
208
+ (newValue) => {
209
+ if (updateTimeoutRef.current) {
210
+ clearTimeout(updateTimeoutRef.current);
211
+ }
212
+ updateTimeoutRef.current = setTimeout(() => {
213
+ if (onUpdate) {
214
+ onUpdate(newValue);
215
+ }
216
+ }, DEBOUNCE_DELAY);
217
+ },
218
+ [onUpdate]
219
+ );
220
+ const handleChange = useCallback(
221
+ (newValue) => {
222
+ setLocalValue(newValue);
223
+ const err = validationSchema ? (() => {
224
+ const result = validationSchema.safeParse(newValue);
225
+ return result.success ? null : result.error.issues[0]?.message || "Invalid value";
226
+ })() : null;
227
+ setValidationError(err);
228
+ if (!err) {
229
+ debouncedUpdate(newValue);
230
+ }
231
+ },
232
+ [validationSchema, debouncedUpdate]
233
+ );
234
+ const inputClassName = useMemo(
235
+ () => cn(
236
+ "h-full px-2 shadow-none border-0 rounded-none focus-visible:ring-0 focus-visible:ring-offset-0",
237
+ validationError && "border border-destructive"
238
+ ),
239
+ [validationError]
240
+ );
241
+ if (editable && !schemaProperty?.readOnly) {
242
+ if (fieldName && customRenderers?.[fieldName]) {
243
+ const customRenderer = customRenderers?.[fieldName];
244
+ return /* @__PURE__ */ jsx(Fragment, { children: customRenderer({
245
+ value: localValue,
246
+ row,
247
+ column,
248
+ onUpdate: handleChange,
249
+ error: validationError || void 0,
250
+ schemaProperty,
251
+ t
252
+ }) });
253
+ }
254
+ if (schemaProperty?.type === "boolean" || typeof value === "boolean") {
255
+ return /* @__PURE__ */ jsx(ErrorWrapper, { error: validationError, mode: errorDisplayMode, children: /* @__PURE__ */ jsx("div", { className: "flex items-center px-2", children: /* @__PURE__ */ jsx(
256
+ Switch,
257
+ {
258
+ checked: !!localValue,
259
+ onCheckedChange: handleChange,
260
+ className: validationError ? "border-destructive" : ""
261
+ }
262
+ ) }) });
263
+ }
264
+ if (schemaProperty?.enum && Array.isArray(schemaProperty.enum)) {
265
+ return /* @__PURE__ */ jsx(ErrorWrapper, { error: validationError, mode: errorDisplayMode, children: /* @__PURE__ */ jsx("div", { className: "w-full h-full flex items-center", children: /* @__PURE__ */ jsxs(Select, { value: String(localValue), onValueChange: handleChange, children: [
266
+ /* @__PURE__ */ jsx(
267
+ SelectTrigger,
268
+ {
269
+ size: "sm",
270
+ className: cn(
271
+ "h-[35px]! px-2 w-full shadow-none border-0 rounded-none focus:ring-0 focus:ring-offset-0",
272
+ validationError && "border border-destructive"
273
+ ),
274
+ children: /* @__PURE__ */ jsx(SelectValue, {})
275
+ }
276
+ ),
277
+ /* @__PURE__ */ jsx(SelectContent, { children: schemaProperty.enum.map((option) => /* @__PURE__ */ jsx(SelectItem, { value: String(option), children: String(option) }, String(option))) })
278
+ ] }) }) });
279
+ }
280
+ if (schemaProperty?.type === "number" || schemaProperty?.type === "integer") {
281
+ const handleNumberChange = (e) => {
282
+ const val = schemaProperty.type === "integer" ? parseInt(e.target.value) : parseFloat(e.target.value);
283
+ handleChange(isNaN(val) ? e.target.value : val);
284
+ };
285
+ return /* @__PURE__ */ jsx(ErrorWrapper, { error: validationError, mode: errorDisplayMode, children: /* @__PURE__ */ jsx("div", { className: "w-full h-full flex items-center", children: /* @__PURE__ */ jsx(
286
+ Input,
287
+ {
288
+ ref: inputRef,
289
+ type: "number",
290
+ value: String(localValue ?? ""),
291
+ onChange: handleNumberChange,
292
+ className: inputClassName
293
+ }
294
+ ) }) });
295
+ }
296
+ if (schemaProperty?.format === "date" || schemaProperty?.format === "date-time") {
297
+ const dateValue = localValue instanceof Date ? localValue : localValue ? new Date(String(localValue)) : void 0;
298
+ const isDateTime = schemaProperty?.format === "date-time";
299
+ if (!handleDateChangeRef.current) {
300
+ handleDateChangeRef.current = (date) => {
301
+ if (!datePickerMountedRef.current) {
302
+ datePickerMountedRef.current = true;
303
+ return;
304
+ }
305
+ if (schemaProperty?.format === "date-time") {
306
+ handleChange(date?.toISOString());
307
+ } else {
308
+ const isoDate = date?.toISOString().split("T")[0];
309
+ handleChange(isoDate);
310
+ }
311
+ };
312
+ }
313
+ return /* @__PURE__ */ jsx(ErrorWrapper, { error: validationError, mode: errorDisplayMode, children: /* @__PURE__ */ jsx(
314
+ DatePicker,
315
+ {
316
+ id: datePickerIdRef.current,
317
+ showIcon: false,
318
+ defaultValue: dateValue instanceof Date && !Number.isNaN(dateValue.getTime()) ? dateValue : void 0,
319
+ onChange: handleDateChangeRef.current,
320
+ classNames: {
321
+ dateInput: cn(
322
+ "shadow-none border-0 h-8! rounded-none",
323
+ validationError && "border border-destructive"
324
+ )
325
+ },
326
+ useTime: isDateTime
327
+ }
328
+ ) });
329
+ }
330
+ const inputType = schemaProperty?.format === "email" ? "email" : "text";
331
+ return /* @__PURE__ */ jsx(ErrorWrapper, { error: validationError, mode: errorDisplayMode, children: /* @__PURE__ */ jsx("div", { className: "w-full h-full flex items-center", children: /* @__PURE__ */ jsx(
332
+ Input,
333
+ {
334
+ ref: inputRef,
335
+ type: inputType,
336
+ value: String(localValue ?? ""),
337
+ onChange: (e) => handleChange(e.target.value),
338
+ className: inputClassName
339
+ }
340
+ ) }) });
341
+ }
342
+ if (fieldName && customRenderers?.[fieldName]) {
343
+ const customRenderer = customRenderers?.[fieldName];
344
+ return /* @__PURE__ */ jsx(Fragment, { children: customRenderer({
345
+ value: localValue,
346
+ row,
347
+ column,
348
+ onUpdate: handleChange,
349
+ error: validationError || void 0,
350
+ schemaProperty,
351
+ t
352
+ }) });
353
+ }
354
+ if (value === null || value === void 0) {
355
+ return /* @__PURE__ */ jsx("span", { className: cn("text-muted-foreground italic", className), children: "\u2014" });
356
+ }
357
+ if (schemaProperty?.type === "boolean" || typeof value === "boolean") {
358
+ const yesLabel = t?.["cell.boolean.yes"] ?? "Yes";
359
+ const noLabel = t?.["cell.boolean.no"] ?? "No";
360
+ return /* @__PURE__ */ jsx(Badge, { variant: value ? "default" : "secondary", className, children: value ? yesLabel : noLabel });
361
+ }
362
+ if (schemaProperty?.format === "date" || schemaProperty?.format === "date-time") {
363
+ try {
364
+ const date = value instanceof Date ? value : new Date(value);
365
+ const defaultLocalization = localization || {
366
+ locale: "en-US",
367
+ timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
368
+ lang: "en"
369
+ };
370
+ const defaultDateOptions = dateOptions || (schemaProperty.format === "date" ? {
371
+ day: "2-digit",
372
+ month: "short",
373
+ year: "numeric"
374
+ } : {
375
+ day: "2-digit",
376
+ month: "short",
377
+ year: "numeric",
378
+ hour: "2-digit",
379
+ minute: "2-digit",
380
+ hour12: false
381
+ });
382
+ return /* @__PURE__ */ jsx(
383
+ DateTooltip,
384
+ {
385
+ date,
386
+ localization: defaultLocalization,
387
+ dateOptions: defaultDateOptions
388
+ }
389
+ );
390
+ } catch {
391
+ return /* @__PURE__ */ jsx("span", { className, children: String(value) });
392
+ }
393
+ }
394
+ if (schemaProperty?.enum && Array.isArray(schemaProperty.enum)) {
395
+ const label = String(value);
396
+ return /* @__PURE__ */ jsx(Badge, { variant: "outline", className: cn("font-normal", className), children: t?.[`column.${fieldName}.${label}`] || label });
397
+ }
398
+ if (schemaProperty?.format === "badge") {
399
+ const variant = BADGE_VARIANT_MAP[String(value).toLowerCase()] || "outline";
400
+ const label = String(value);
401
+ return /* @__PURE__ */ jsx(Badge, { variant, className, children: t?.[`column.${fieldName}.${label}`] || label });
402
+ }
403
+ if (schemaProperty?.format === "uri") {
404
+ return /* @__PURE__ */ jsx(
405
+ "a",
406
+ {
407
+ href: String(value),
408
+ target: "_blank",
409
+ rel: "noopener noreferrer",
410
+ className: cn("text-primary hover:underline", className),
411
+ onClick: (e) => e.stopPropagation(),
412
+ children: String(value)
413
+ }
414
+ );
415
+ }
416
+ if (schemaProperty?.format === "uuid") {
417
+ const uuid = String(value);
418
+ return /* @__PURE__ */ jsxs("code", { className: cn("text-xs bg-muted 5 rounded", className), children: [
419
+ uuid.slice(0, 8),
420
+ "..."
421
+ ] });
422
+ }
423
+ if (Array.isArray(value)) {
424
+ const arrayString = value.map((item) => String(item)).join(", ");
425
+ return /* @__PURE__ */ jsx("span", { className, children: arrayString });
426
+ }
427
+ if (typeof value === "object") {
428
+ return /* @__PURE__ */ jsx("code", { className: cn("text-xs bg-muted rounded", className), children: JSON.stringify(value) });
429
+ }
430
+ const strValue = String(value);
431
+ if (strValue.length > MAX_STRING_LENGTH) {
432
+ return /* @__PURE__ */ jsxs("span", { title: strValue, className, children: [
433
+ strValue.slice(0, MAX_STRING_LENGTH),
434
+ "..."
435
+ ] });
436
+ }
437
+ return /* @__PURE__ */ jsx("span", { className, children: strValue });
438
+ }
439
+ export {
440
+ CellRenderer
441
+ };
442
+ //# sourceMappingURL=cell-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/custom/master-data-grid/components/table/cell-renderer.tsx"],"sourcesContent":["import { Switch } from \"@repo/ayasofyazilim-ui/components/switch\";\r\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\r\nimport { z } from \"zod\";\r\nimport { Badge } from \"../../../../components/badge\";\r\nimport { Input } from \"../../../../components/input\";\r\nimport {\r\n Select,\r\n SelectContent,\r\n SelectItem,\r\n SelectTrigger,\r\n SelectValue,\r\n} from \"../../../../components/select\";\r\nimport {\r\n Tooltip,\r\n TooltipContent,\r\n TooltipTrigger,\r\n} from \"../../../../components/tooltip\";\r\nimport { DatePicker } from \"../../../date-picker\";\r\nimport DateTooltip from \"../../../date-tooltip\";\r\nimport { cn } from \"../../../../lib/utils\";\r\nimport type {\r\n CellRendererProps,\r\n JSONSchemaProperty,\r\n MasterDataGridResources,\r\n} from \"../../types\";\r\nimport { getTranslations } from \"../../utils/translation-utils\";\r\n\r\nconst DEBOUNCE_DELAY = 150;\r\nconst MAX_STRING_LENGTH = 100;\r\n\r\nconst BADGE_VARIANT_MAP: Record<\r\n string,\r\n \"default\" | \"secondary\" | \"outline\" | \"destructive\"\r\n> = {\r\n active: \"default\",\r\n inactive: \"secondary\",\r\n pending: \"outline\",\r\n success: \"default\",\r\n warning: \"destructive\",\r\n error: \"destructive\",\r\n};\r\n\r\nfunction createZodSchema(\r\n schemaProperty?: JSONSchemaProperty,\r\n t?: MasterDataGridResources\r\n): z.ZodType {\r\n if (!schemaProperty) return z.unknown();\r\n\r\n let schema: z.ZodType;\r\n\r\n switch (schemaProperty.type) {\r\n case \"string\":\r\n schema = z.string({\r\n message: getTranslations(\"validation.invalidString\", t),\r\n });\r\n\r\n if (schemaProperty.minLength !== undefined) {\r\n schema = (schema as z.ZodString).min(\r\n schemaProperty.minLength,\r\n t?.[\"validation.min_length\"]\r\n ? (t[\"validation.min_length\"] ?? \"\").replace(\r\n \"{min}\",\r\n String(schemaProperty.minLength)\r\n )\r\n : `Must be at least ${schemaProperty.minLength} characters`\r\n );\r\n }\r\n if (schemaProperty.maxLength !== undefined) {\r\n schema = (schema as z.ZodString).max(\r\n schemaProperty.maxLength,\r\n t?.[\"validation.max_length\"]\r\n ? (t[\"validation.max_length\"] ?? \"\").replace(\r\n \"{max}\",\r\n String(schemaProperty.maxLength)\r\n )\r\n : `Must be at most ${schemaProperty.maxLength} characters`\r\n );\r\n }\r\n\r\n if (schemaProperty.format === \"email\") {\r\n schema = (schema as z.ZodString).email(\r\n t?.[\"validation.invalid_email\"] || \"Must be a valid email address\"\r\n );\r\n }\r\n if (schemaProperty.format === \"uri\" || schemaProperty.format === \"url\") {\r\n schema = z.url(t?.[\"validation.invalid_url\"] || \"Must be a valid URL\");\r\n }\r\n if (schemaProperty.format === \"uuid\") {\r\n schema = z.uuid(\r\n t?.[\"validation.invalid_uuid\"] || \"Must be a valid UUID\"\r\n );\r\n }\r\n break;\r\n\r\n case \"number\":\r\n schema = z.number({\r\n message: t?.[\"validation.invalid_number\"] || \"Must be a valid number\",\r\n });\r\n\r\n if (schemaProperty.minimum !== undefined) {\r\n schema = (schema as z.ZodNumber).min(\r\n schemaProperty.minimum,\r\n t?.[\"validation.min_value\"]\r\n ? (t[\"validation.min_value\"] ?? \"\").replace(\r\n \"{min}\",\r\n String(schemaProperty.minimum)\r\n )\r\n : `Must be at least ${schemaProperty.minimum}`\r\n );\r\n }\r\n if (schemaProperty.maximum !== undefined) {\r\n schema = (schema as z.ZodNumber).max(\r\n schemaProperty.maximum,\r\n t?.[\"validation.max_value\"]\r\n ? (t[\"validation.max_value\"] ?? \"\").replace(\r\n \"{max}\",\r\n String(schemaProperty.maximum)\r\n )\r\n : `Must be at most ${schemaProperty.maximum}`\r\n );\r\n }\r\n break;\r\n\r\n case \"integer\":\r\n schema = z\r\n .number({\r\n message:\r\n t?.[\"validation.invalid_integer\"] || \"Must be a valid integer\",\r\n })\r\n .int(t?.[\"validation.must_be_integer\"] || \"Must be an integer\");\r\n\r\n if (schemaProperty.minimum !== undefined) {\r\n schema = (schema as z.ZodNumber).min(\r\n schemaProperty.minimum,\r\n t?.[\"validation.min_value\"]\r\n ? (t[\"validation.min_value\"] ?? \"\").replace(\r\n \"{min}\",\r\n String(schemaProperty.minimum)\r\n )\r\n : `Must be at least ${schemaProperty.minimum}`\r\n );\r\n }\r\n if (schemaProperty.maximum !== undefined) {\r\n schema = (schema as z.ZodNumber).max(\r\n schemaProperty.maximum,\r\n t?.[\"validation.max_value\"]\r\n ? (t[\"validation.max_value\"] ?? \"\").replace(\r\n \"{max}\",\r\n String(schemaProperty.maximum)\r\n )\r\n : `Must be at most ${schemaProperty.maximum}`\r\n );\r\n }\r\n break;\r\n\r\n case \"boolean\":\r\n schema = z.boolean({\r\n message: t?.[\"validation.invalid_boolean\"] || \"Must be true or false\",\r\n });\r\n break;\r\n\r\n default:\r\n schema = z.unknown();\r\n }\r\n\r\n if (schemaProperty.enum && Array.isArray(schemaProperty.enum)) {\r\n schema = z.enum(\r\n schemaProperty.enum as [string, ...string[]],\r\n t?.[\"validation.invalid_enum\"] || \"Invalid value\"\r\n );\r\n }\r\n\r\n if (!schemaProperty.required) {\r\n schema = schema.optional().nullable();\r\n }\r\n\r\n return schema;\r\n}\r\n\r\ninterface ErrorWrapperProps {\r\n error: string | null;\r\n mode: \"tooltip\" | \"inline\" | \"both\";\r\n children: React.ReactNode;\r\n}\r\n\r\nfunction ErrorWrapper({ error, mode, children }: ErrorWrapperProps) {\r\n if (!error) return <>{children}</>;\r\n\r\n const showTooltip = mode === \"tooltip\" || mode === \"both\";\r\n const showInline = mode === \"inline\" || mode === \"both\";\r\n\r\n const inlineError = showInline && (\r\n <span className=\"text-[10px] text-destructive px-2 py-0.5 leading-tight animate-in fade-in slide-in-from-top-1\">\r\n {error}\r\n </span>\r\n );\r\n\r\n if (showTooltip && !showInline) {\r\n return (\r\n <Tooltip>\r\n <TooltipTrigger asChild>{children}</TooltipTrigger>\r\n <TooltipContent side=\"bottom\" className=\"max-w-xs\">\r\n {error}\r\n </TooltipContent>\r\n </Tooltip>\r\n );\r\n }\r\n\r\n if (showInline && !showTooltip) {\r\n return (\r\n <div className=\"flex flex-col w-full h-full\">\r\n {children}\r\n {inlineError}\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <Tooltip>\r\n <TooltipTrigger asChild>\r\n <div className=\"flex flex-col w-full h-full\">\r\n {children}\r\n {inlineError}\r\n </div>\r\n </TooltipTrigger>\r\n <TooltipContent side=\"bottom\" className=\"max-w-xs\">\r\n {error}\r\n </TooltipContent>\r\n </Tooltip>\r\n );\r\n}\r\n\r\nexport function CellRenderer<TData = unknown>({\r\n value,\r\n row,\r\n column,\r\n schemaProperty,\r\n editable = false,\r\n onUpdate,\r\n t,\r\n error,\r\n className,\r\n dateOptions,\r\n localization,\r\n fieldName,\r\n customRenderers,\r\n errorDisplayMode = \"tooltip\",\r\n}: CellRendererProps<TData>) {\r\n const [localValue, setLocalValue] = useState(value);\r\n const [validationError, setValidationError] = useState<string | null>(\r\n error || null\r\n );\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n const updateTimeoutRef = useRef<NodeJS.Timeout>(null);\r\n const datePickerIdRef = useRef<string>(\r\n `date-${schemaProperty?.title || \"field\"}-${Date.now()}`\r\n );\r\n const datePickerMountedRef = useRef<boolean>(false);\r\n const handleDateChangeRef = useRef<((date: Date) => void) | null>(null);\r\n\r\n const validationSchema = useMemo(\r\n () => (schemaProperty ? createZodSchema(schemaProperty, t) : null),\r\n [schemaProperty, t]\r\n );\r\n\r\n useEffect(() => {\r\n if (!editable) {\r\n setLocalValue(value);\r\n datePickerMountedRef.current = false;\r\n }\r\n }, [value, editable]);\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (updateTimeoutRef.current) {\r\n clearTimeout(updateTimeoutRef.current);\r\n }\r\n };\r\n }, []);\r\n\r\n const debouncedUpdate = useCallback(\r\n (newValue: unknown) => {\r\n if (updateTimeoutRef.current) {\r\n clearTimeout(updateTimeoutRef.current);\r\n }\r\n updateTimeoutRef.current = setTimeout(() => {\r\n if (onUpdate) {\r\n onUpdate(newValue);\r\n }\r\n }, DEBOUNCE_DELAY);\r\n },\r\n [onUpdate]\r\n );\r\n\r\n const handleChange = useCallback(\r\n (newValue: unknown) => {\r\n setLocalValue(newValue);\r\n\r\n const err = validationSchema\r\n ? (() => {\r\n const result = validationSchema.safeParse(newValue);\r\n return result.success\r\n ? null\r\n : result.error.issues[0]?.message || \"Invalid value\";\r\n })()\r\n : null;\r\n\r\n setValidationError(err);\r\n\r\n if (!err) {\r\n debouncedUpdate(newValue);\r\n }\r\n },\r\n [validationSchema, debouncedUpdate]\r\n );\r\n\r\n const inputClassName = useMemo(\r\n () =>\r\n cn(\r\n \"h-full px-2 shadow-none border-0 rounded-none focus-visible:ring-0 focus-visible:ring-offset-0\",\r\n validationError && \"border border-destructive\"\r\n ),\r\n [validationError]\r\n );\r\n\r\n if (editable && !schemaProperty?.readOnly) {\r\n if (fieldName && customRenderers?.[fieldName]) {\r\n const customRenderer = customRenderers?.[fieldName]!;\r\n return (\r\n <>\r\n {customRenderer({\r\n value: localValue,\r\n row,\r\n column,\r\n onUpdate: handleChange,\r\n error: validationError || undefined,\r\n schemaProperty,\r\n t,\r\n })}\r\n </>\r\n );\r\n }\r\n\r\n if (schemaProperty?.type === \"boolean\" || typeof value === \"boolean\") {\r\n return (\r\n <ErrorWrapper error={validationError} mode={errorDisplayMode}>\r\n <div className=\"flex items-center px-2\">\r\n <Switch\r\n checked={!!localValue}\r\n onCheckedChange={handleChange}\r\n className={validationError ? \"border-destructive\" : \"\"}\r\n />\r\n </div>\r\n </ErrorWrapper>\r\n );\r\n }\r\n\r\n if (schemaProperty?.enum && Array.isArray(schemaProperty.enum)) {\r\n return (\r\n <ErrorWrapper error={validationError} mode={errorDisplayMode}>\r\n <div className=\"w-full h-full flex items-center\">\r\n <Select value={String(localValue)} onValueChange={handleChange}>\r\n <SelectTrigger\r\n size=\"sm\"\r\n className={cn(\r\n \"h-[35px]! px-2 w-full shadow-none border-0 rounded-none focus:ring-0 focus:ring-offset-0\",\r\n validationError && \"border border-destructive\"\r\n )}\r\n >\r\n <SelectValue />\r\n </SelectTrigger>\r\n <SelectContent>\r\n {schemaProperty.enum.map((option) => (\r\n <SelectItem key={String(option)} value={String(option)}>\r\n {String(option)}\r\n </SelectItem>\r\n ))}\r\n </SelectContent>\r\n </Select>\r\n </div>\r\n </ErrorWrapper>\r\n );\r\n }\r\n\r\n if (\r\n schemaProperty?.type === \"number\" ||\r\n schemaProperty?.type === \"integer\"\r\n ) {\r\n const handleNumberChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const val =\r\n schemaProperty.type === \"integer\"\r\n ? parseInt(e.target.value)\r\n : parseFloat(e.target.value);\r\n handleChange(isNaN(val) ? e.target.value : val);\r\n };\r\n\r\n return (\r\n <ErrorWrapper error={validationError} mode={errorDisplayMode}>\r\n <div className=\"w-full h-full flex items-center\">\r\n <Input\r\n ref={inputRef}\r\n type=\"number\"\r\n value={String(localValue ?? \"\")}\r\n onChange={handleNumberChange}\r\n className={inputClassName}\r\n />\r\n </div>\r\n </ErrorWrapper>\r\n );\r\n }\r\n\r\n if (\r\n schemaProperty?.format === \"date\" ||\r\n schemaProperty?.format === \"date-time\"\r\n ) {\r\n const dateValue =\r\n localValue instanceof Date\r\n ? localValue\r\n : localValue\r\n ? new Date(String(localValue))\r\n : undefined;\r\n\r\n const isDateTime = schemaProperty?.format === \"date-time\";\r\n\r\n if (!handleDateChangeRef.current) {\r\n handleDateChangeRef.current = (date: Date) => {\r\n if (!datePickerMountedRef.current) {\r\n datePickerMountedRef.current = true;\r\n return;\r\n }\r\n\r\n if (schemaProperty?.format === \"date-time\") {\r\n handleChange(date?.toISOString());\r\n } else {\r\n const isoDate = date?.toISOString().split(\"T\")[0];\r\n handleChange(isoDate);\r\n }\r\n };\r\n }\r\n\r\n return (\r\n <ErrorWrapper error={validationError} mode={errorDisplayMode}>\r\n <DatePicker\r\n id={datePickerIdRef.current}\r\n showIcon={false}\r\n defaultValue={\r\n dateValue instanceof Date && !Number.isNaN(dateValue.getTime())\r\n ? dateValue\r\n : undefined\r\n }\r\n onChange={handleDateChangeRef.current}\r\n classNames={{\r\n dateInput: cn(\r\n \"shadow-none border-0 h-8! rounded-none\",\r\n validationError && \"border border-destructive\"\r\n ),\r\n }}\r\n useTime={isDateTime}\r\n />\r\n </ErrorWrapper>\r\n );\r\n }\r\n\r\n const inputType = schemaProperty?.format === \"email\" ? \"email\" : \"text\";\r\n\r\n return (\r\n <ErrorWrapper error={validationError} mode={errorDisplayMode}>\r\n <div className=\"w-full h-full flex items-center\">\r\n <Input\r\n ref={inputRef}\r\n type={inputType}\r\n value={String(localValue ?? \"\")}\r\n onChange={(e) => handleChange(e.target.value)}\r\n className={inputClassName}\r\n />\r\n </div>\r\n </ErrorWrapper>\r\n );\r\n }\r\n\r\n if (fieldName && customRenderers?.[fieldName]) {\r\n const customRenderer = customRenderers?.[fieldName]!;\r\n return (\r\n <>\r\n {customRenderer({\r\n value: localValue,\r\n row,\r\n column,\r\n onUpdate: handleChange,\r\n error: validationError || undefined,\r\n schemaProperty,\r\n t,\r\n })}\r\n </>\r\n );\r\n }\r\n if (value === null || value === undefined) {\r\n return (\r\n <span className={cn(\"text-muted-foreground italic\", className)}>—</span>\r\n );\r\n }\r\n\r\n if (schemaProperty?.type === \"boolean\" || typeof value === \"boolean\") {\r\n const yesLabel = t?.[\"cell.boolean.yes\"] ?? \"Yes\";\r\n const noLabel = t?.[\"cell.boolean.no\"] ?? \"No\";\r\n return (\r\n <Badge variant={value ? \"default\" : \"secondary\"} className={className}>\r\n {value ? yesLabel : noLabel}\r\n </Badge>\r\n );\r\n }\r\n\r\n if (\r\n schemaProperty?.format === \"date\" ||\r\n schemaProperty?.format === \"date-time\"\r\n ) {\r\n try {\r\n const date = value instanceof Date ? value : new Date(value as string);\r\n\r\n const defaultLocalization = localization || {\r\n locale: \"en-US\",\r\n timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,\r\n lang: \"en\",\r\n };\r\n\r\n const defaultDateOptions =\r\n dateOptions ||\r\n (schemaProperty.format === \"date\"\r\n ? {\r\n day: \"2-digit\",\r\n month: \"short\",\r\n year: \"numeric\",\r\n }\r\n : {\r\n day: \"2-digit\",\r\n month: \"short\",\r\n year: \"numeric\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n hour12: false,\r\n });\r\n\r\n return (\r\n <DateTooltip\r\n date={date}\r\n localization={defaultLocalization}\r\n dateOptions={defaultDateOptions}\r\n />\r\n );\r\n } catch {\r\n return <span className={className}>{String(value)}</span>;\r\n }\r\n }\r\n\r\n if (schemaProperty?.enum && Array.isArray(schemaProperty.enum)) {\r\n const label = String(value);\r\n return (\r\n <Badge variant=\"outline\" className={cn(\"font-normal\", className)}>\r\n {t?.[`column.${fieldName}.${label}`] || label}\r\n </Badge>\r\n );\r\n }\r\n\r\n if (schemaProperty?.format === \"badge\") {\r\n const variant = BADGE_VARIANT_MAP[String(value).toLowerCase()] || \"outline\";\r\n const label = String(value);\r\n return (\r\n <Badge variant={variant} className={className}>\r\n {t?.[`column.${fieldName}.${label}`] || label}\r\n </Badge>\r\n );\r\n }\r\n\r\n if (schemaProperty?.format === \"uri\") {\r\n return (\r\n <a\r\n href={String(value)}\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n className={cn(\"text-primary hover:underline\", className)}\r\n onClick={(e) => e.stopPropagation()}\r\n >\r\n {String(value)}\r\n </a>\r\n );\r\n }\r\n\r\n if (schemaProperty?.format === \"uuid\") {\r\n const uuid = String(value);\r\n return (\r\n <code className={cn(\"text-xs bg-muted 5 rounded\", className)}>\r\n {uuid.slice(0, 8)}...\r\n </code>\r\n );\r\n }\r\n\r\n if (Array.isArray(value)) {\r\n const arrayString = value.map((item) => String(item)).join(\", \");\r\n return <span className={className}>{arrayString}</span>;\r\n }\r\n\r\n if (typeof value === \"object\") {\r\n return (\r\n <code className={cn(\"text-xs bg-muted rounded\", className)}>\r\n {JSON.stringify(value)}\r\n </code>\r\n );\r\n }\r\n\r\n const strValue = String(value);\r\n\r\n if (strValue.length > MAX_STRING_LENGTH) {\r\n return (\r\n <span title={strValue} className={className}>\r\n {strValue.slice(0, MAX_STRING_LENGTH)}...\r\n </span>\r\n );\r\n }\r\n\r\n return <span className={className}>{strValue}</span>;\r\n}\r\n"],"mappings":"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","names":[]}
@@ -0,0 +1,116 @@
1
+ "use no memo";
2
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
+ import {
4
+ ArrowDown,
5
+ ArrowUp,
6
+ ChevronDown,
7
+ EyeOff,
8
+ FilterIcon,
9
+ PinIcon,
10
+ PinOffIcon,
11
+ Undo2
12
+ } from "lucide-react";
13
+ import { Button } from "../../../../components/button";
14
+ import {
15
+ DropdownMenu,
16
+ DropdownMenuContent,
17
+ DropdownMenuGroup,
18
+ DropdownMenuItem,
19
+ DropdownMenuLabel,
20
+ DropdownMenuSeparator,
21
+ DropdownMenuTrigger
22
+ } from "../../../../components/dropdown-menu";
23
+ import { getTranslations } from "../../utils/translation-utils";
24
+ import { InlineColumnFilter } from "../filters";
25
+ function HeaderCell({
26
+ column,
27
+ header,
28
+ label,
29
+ t
30
+ }) {
31
+ const isSorted = column.getIsSorted();
32
+ const isPinned = column.getIsPinned();
33
+ const hasAnyAction = column.getCanSort() || column.getCanPin() || column.getCanFilter() || column.getCanResize() || column.getCanHide();
34
+ if (!hasAnyAction) {
35
+ return /* @__PURE__ */ jsx("div", { className: "flex items-center size-full", children: /* @__PURE__ */ jsx("span", { className: "font-semibold truncate", children: label }) });
36
+ }
37
+ return /* @__PURE__ */ jsxs("div", { className: "flex items-center size-full relative", children: [
38
+ /* @__PURE__ */ jsxs(DropdownMenu, { children: [
39
+ /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
40
+ Button,
41
+ {
42
+ variant: "ghost",
43
+ className: "data-[state=open]:bg-accent w-full rounded-none",
44
+ children: [
45
+ /* @__PURE__ */ jsx("span", { className: "font-semibold mr-auto truncate", children: label }),
46
+ isSorted === "asc" ? /* @__PURE__ */ jsx(ArrowUp, { className: "ml-2 h-4 w-4" }) : isSorted === "desc" ? /* @__PURE__ */ jsx(ArrowDown, { className: "ml-2 h-4 w-4" }) : /* @__PURE__ */ jsx(ChevronDown, { className: "ml-2 h-4 w-4" })
47
+ ]
48
+ }
49
+ ) }),
50
+ /* @__PURE__ */ jsxs(DropdownMenuContent, { align: "start", children: [
51
+ column.getCanSort() && /* @__PURE__ */ jsxs(Fragment, { children: [
52
+ /* @__PURE__ */ jsxs(DropdownMenuItem, { onClick: () => column.toggleSorting(false), children: [
53
+ /* @__PURE__ */ jsx(ArrowUp, { className: "mr-2 h-4 w-4" }),
54
+ getTranslations("column.sortAsc", t)
55
+ ] }),
56
+ /* @__PURE__ */ jsxs(DropdownMenuItem, { onClick: () => column.toggleSorting(true), children: [
57
+ /* @__PURE__ */ jsx(ArrowDown, { className: "mr-2 h-4 w-4" }),
58
+ getTranslations("column.sortDesc", t)
59
+ ] }),
60
+ /* @__PURE__ */ jsx(DropdownMenuSeparator, {})
61
+ ] }),
62
+ column.getCanPin() && /* @__PURE__ */ jsxs(Fragment, { children: [
63
+ /* @__PURE__ */ jsxs(DropdownMenuItem, { onClick: () => column.pin("left"), children: [
64
+ /* @__PURE__ */ jsx(PinIcon, { className: "mr-2 h-4 w-4" }),
65
+ getTranslations("column.pinLeft", t)
66
+ ] }),
67
+ /* @__PURE__ */ jsxs(DropdownMenuItem, { onClick: () => column.pin("right"), children: [
68
+ /* @__PURE__ */ jsx(PinIcon, { className: "mr-2 h-4 w-4" }),
69
+ getTranslations("column.pinRight", t)
70
+ ] }),
71
+ isPinned && /* @__PURE__ */ jsxs(DropdownMenuItem, { onClick: () => column.pin(false), children: [
72
+ /* @__PURE__ */ jsx(PinOffIcon, { className: "mr-2 h-4 w-4" }),
73
+ getTranslations("column.unpin", t)
74
+ ] }),
75
+ /* @__PURE__ */ jsx(DropdownMenuSeparator, {})
76
+ ] }),
77
+ column.getCanFilter() && /* @__PURE__ */ jsxs(DropdownMenuGroup, { children: [
78
+ /* @__PURE__ */ jsxs(DropdownMenuLabel, { className: "flex items-center gap-4 font-normal", children: [
79
+ /* @__PURE__ */ jsx(FilterIcon, { className: "h-4 w-4 text-muted-foreground" }),
80
+ getTranslations("column.filter", t)
81
+ ] }),
82
+ /* @__PURE__ */ jsx(DropdownMenuItem, { className: "p-0", asChild: true, children: /* @__PURE__ */ jsx(InlineColumnFilter, { column, t }) })
83
+ ] }),
84
+ header && column.getCanResize() && column.getSize() !== column.columnDef.size && /* @__PURE__ */ jsxs(Fragment, { children: [
85
+ /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
86
+ /* @__PURE__ */ jsxs(DropdownMenuItem, { onClick: () => header.column.resetSize(), children: [
87
+ /* @__PURE__ */ jsx(Undo2, { className: "mr-2 h-4 w-4" }),
88
+ getTranslations("column.resetSize", t)
89
+ ] })
90
+ ] }),
91
+ column.getCanHide() && /* @__PURE__ */ jsxs(Fragment, { children: [
92
+ /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
93
+ /* @__PURE__ */ jsxs(DropdownMenuItem, { onClick: () => column.toggleVisibility(false), children: [
94
+ /* @__PURE__ */ jsx(EyeOff, { className: "mr-2 h-4 w-4" }),
95
+ getTranslations("column.hide", t)
96
+ ] })
97
+ ] })
98
+ ] })
99
+ ] }),
100
+ header && column.getCanResize() && /* @__PURE__ */ jsx(
101
+ "div",
102
+ {
103
+ onMouseDown: header.getResizeHandler(),
104
+ onTouchStart: header.getResizeHandler(),
105
+ className: `absolute right-0 top-0 h-full w-1 cursor-col-resize select-none touch-none hover:bg-primary transition-opacity ${column.getIsResizing() ? "bg-primary opacity-100" : "opacity-0 hover:opacity-50"}`,
106
+ style: {
107
+ transform: column.getIsResizing() ? "translateX(0)" : void 0
108
+ }
109
+ }
110
+ )
111
+ ] });
112
+ }
113
+ export {
114
+ HeaderCell
115
+ };
116
+ //# sourceMappingURL=header-cell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/custom/master-data-grid/components/table/header-cell.tsx"],"sourcesContent":["\"use no memo\";\r\nimport type { Column, Header } from \"@tanstack/react-table\";\r\nimport {\r\n ArrowDown,\r\n ArrowUp,\r\n ChevronDown,\r\n EyeOff,\r\n FilterIcon,\r\n PinIcon,\r\n PinOffIcon,\r\n Undo2,\r\n} from \"lucide-react\";\r\nimport { Button } from \"../../../../components/button\";\r\nimport {\r\n DropdownMenu,\r\n DropdownMenuContent,\r\n DropdownMenuGroup,\r\n DropdownMenuItem,\r\n DropdownMenuLabel,\r\n DropdownMenuSeparator,\r\n DropdownMenuTrigger,\r\n} from \"../../../../components/dropdown-menu\";\r\nimport { getTranslations } from \"../../utils/translation-utils\";\r\nimport { InlineColumnFilter } from \"../filters\";\r\nimport { MasterDataGridResources } from \"../../types\";\r\n\r\ninterface HeaderCellProps<TData> {\r\n column: Column<TData>;\r\n header?: Header<TData, unknown>;\r\n label: string;\r\n t?: MasterDataGridResources;\r\n}\r\nexport function HeaderCell<TData>({\r\n column,\r\n header,\r\n label,\r\n t,\r\n}: HeaderCellProps<TData>) {\r\n const isSorted = column.getIsSorted();\r\n const isPinned = column.getIsPinned();\r\n\r\n const hasAnyAction =\r\n column.getCanSort() ||\r\n column.getCanPin() ||\r\n column.getCanFilter() ||\r\n column.getCanResize() ||\r\n column.getCanHide();\r\n\r\n if (!hasAnyAction) {\r\n return (\r\n <div className=\"flex items-center size-full\">\r\n <span className=\"font-semibold truncate\">{label}</span>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div className=\"flex items-center size-full relative\">\r\n <DropdownMenu>\r\n <DropdownMenuTrigger asChild>\r\n <Button\r\n variant=\"ghost\"\r\n className=\"data-[state=open]:bg-accent w-full rounded-none\"\r\n >\r\n <span className=\"font-semibold mr-auto truncate\">{label}</span>\r\n {isSorted === \"asc\" ? (\r\n <ArrowUp className=\"ml-2 h-4 w-4\" />\r\n ) : isSorted === \"desc\" ? (\r\n <ArrowDown className=\"ml-2 h-4 w-4\" />\r\n ) : (\r\n <ChevronDown className=\"ml-2 h-4 w-4\" />\r\n )}\r\n </Button>\r\n </DropdownMenuTrigger>\r\n <DropdownMenuContent align=\"start\">\r\n {column.getCanSort() && (\r\n <>\r\n <DropdownMenuItem onClick={() => column.toggleSorting(false)}>\r\n <ArrowUp className=\"mr-2 h-4 w-4\" />\r\n {getTranslations(\"column.sortAsc\", t)}\r\n </DropdownMenuItem>\r\n <DropdownMenuItem onClick={() => column.toggleSorting(true)}>\r\n <ArrowDown className=\"mr-2 h-4 w-4\" />\r\n {getTranslations(\"column.sortDesc\", t)}\r\n </DropdownMenuItem>\r\n <DropdownMenuSeparator />\r\n </>\r\n )}\r\n\r\n {column.getCanPin() && (\r\n <>\r\n <DropdownMenuItem onClick={() => column.pin(\"left\")}>\r\n <PinIcon className=\"mr-2 h-4 w-4\" />\r\n {getTranslations(\"column.pinLeft\", t)}\r\n </DropdownMenuItem>\r\n <DropdownMenuItem onClick={() => column.pin(\"right\")}>\r\n <PinIcon className=\"mr-2 h-4 w-4\" />\r\n {getTranslations(\"column.pinRight\", t)}\r\n </DropdownMenuItem>\r\n {isPinned && (\r\n <DropdownMenuItem onClick={() => column.pin(false)}>\r\n <PinOffIcon className=\"mr-2 h-4 w-4\" />\r\n {getTranslations(\"column.unpin\", t)}\r\n </DropdownMenuItem>\r\n )}\r\n <DropdownMenuSeparator />\r\n </>\r\n )}\r\n\r\n {column.getCanFilter() && (\r\n <DropdownMenuGroup>\r\n <DropdownMenuLabel className=\"flex items-center gap-4 font-normal\">\r\n <FilterIcon className=\"h-4 w-4 text-muted-foreground\" />\r\n {getTranslations(\"column.filter\", t)}\r\n </DropdownMenuLabel>\r\n <DropdownMenuItem className=\"p-0\" asChild>\r\n <InlineColumnFilter column={column} t={t} />\r\n </DropdownMenuItem>\r\n </DropdownMenuGroup>\r\n )}\r\n\r\n {header &&\r\n column.getCanResize() &&\r\n column.getSize() !== column.columnDef.size && (\r\n <>\r\n <DropdownMenuSeparator />\r\n <DropdownMenuItem onClick={() => header.column.resetSize()}>\r\n <Undo2 className=\"mr-2 h-4 w-4\" />\r\n {getTranslations(\"column.resetSize\", t)}\r\n </DropdownMenuItem>\r\n </>\r\n )}\r\n\r\n {column.getCanHide() && (\r\n <>\r\n <DropdownMenuSeparator />\r\n <DropdownMenuItem onClick={() => column.toggleVisibility(false)}>\r\n <EyeOff className=\"mr-2 h-4 w-4\" />\r\n {getTranslations(\"column.hide\", t)}\r\n </DropdownMenuItem>\r\n </>\r\n )}\r\n </DropdownMenuContent>\r\n </DropdownMenu>\r\n\r\n {header && column.getCanResize() && (\r\n <div\r\n onMouseDown={header.getResizeHandler()}\r\n onTouchStart={header.getResizeHandler()}\r\n className={`absolute right-0 top-0 h-full w-1 cursor-col-resize select-none touch-none hover:bg-primary transition-opacity ${\r\n column.getIsResizing()\r\n ? \"bg-primary opacity-100\"\r\n : \"opacity-0 hover:opacity-50\"\r\n }`}\r\n style={{\r\n transform: column.getIsResizing() ? \"translateX(0)\" : undefined,\r\n }}\r\n />\r\n )}\r\n </div>\r\n );\r\n}\r\n"],"mappings":"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","names":[]}
@@ -0,0 +1,5 @@
1
+ export * from "./cell-renderer";
2
+ export * from "./table-body-renderer";
3
+ export * from "./virtual-body";
4
+ export * from "./header-cell";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/custom/master-data-grid/components/table/index.ts"],"sourcesContent":["export * from \"./cell-renderer\";\r\nexport * from \"./table-body-renderer\";\r\nexport * from \"./virtual-body\";\r\nexport * from \"./header-cell\";\r\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}