@powerhousedao/document-engineering 1.14.0 → 1.16.0

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 (240) hide show
  1. package/dist/src/scalars/components/amount-field/amount-currency-validations.d.ts +1 -1
  2. package/dist/src/scalars/components/amount-field/amount-currency-validations.d.ts.map +1 -1
  3. package/dist/src/scalars/components/amount-field/amount-currency-validations.js +6 -3
  4. package/dist/src/scalars/components/amount-field/amount-currency-validations.js.map +1 -1
  5. package/dist/src/scalars/components/amount-field/amount-field-validations.d.ts +1 -1
  6. package/dist/src/scalars/components/amount-field/amount-field-validations.d.ts.map +1 -1
  7. package/dist/src/scalars/components/amount-field/amount-field-validations.js +2 -2
  8. package/dist/src/scalars/components/amount-field/amount-field-validations.js.map +1 -1
  9. package/dist/src/scalars/components/date-picker-field/date-picker-validations.js +6 -6
  10. package/dist/src/scalars/components/date-picker-field/date-picker-validations.js.map +1 -1
  11. package/dist/src/scalars/components/date-time-picker-field/date-time-picker-field-validations.d.ts.map +1 -1
  12. package/dist/src/scalars/components/date-time-picker-field/date-time-picker-field-validations.js +14 -7
  13. package/dist/src/scalars/components/date-time-picker-field/date-time-picker-field-validations.js.map +1 -1
  14. package/dist/src/scalars/components/examples/enum-field-example/enum-field-example.js +1 -1
  15. package/dist/src/scalars/components/examples/enum-field-example/enum-field-example.js.map +1 -1
  16. package/dist/src/scalars/components/examples/multiple-fields-with-complex-layout/multiple-fields-with-complex-layout.js +2 -2
  17. package/dist/src/scalars/components/examples/multiple-fields-with-complex-layout/multiple-fields-with-complex-layout.js.map +1 -1
  18. package/dist/src/scalars/components/examples/reset-button/reset-button.js +2 -2
  19. package/dist/src/scalars/components/examples/reset-button/reset-button.js.map +1 -1
  20. package/dist/src/scalars/components/examples/reset-on-successful-submit/reset-on-successful-submit.d.ts.map +1 -1
  21. package/dist/src/scalars/components/examples/reset-on-successful-submit/reset-on-successful-submit.js +2 -2
  22. package/dist/src/scalars/components/examples/reset-on-successful-submit/reset-on-successful-submit.js.map +1 -1
  23. package/dist/src/scalars/components/examples/submit-changes-only/submit-changes-only.js +3 -3
  24. package/dist/src/scalars/components/examples/submit-changes-only/submit-changes-only.js.map +1 -1
  25. package/dist/src/scalars/components/fragments/command/command.d.ts +6 -6
  26. package/dist/src/scalars/components/fragments/command/command.d.ts.map +1 -1
  27. package/dist/src/scalars/components/fragments/command/command.js.map +1 -1
  28. package/dist/src/scalars/components/fragments/with-field-validation/with-field-validation.d.ts.map +1 -1
  29. package/dist/src/scalars/components/fragments/with-field-validation/with-field-validation.js +1 -2
  30. package/dist/src/scalars/components/fragments/with-field-validation/with-field-validation.js.map +1 -1
  31. package/dist/src/scalars/lib/decorators.js +2 -2
  32. package/dist/src/scalars/lib/decorators.js.map +1 -1
  33. package/dist/src/scalars/lib/value-cast.js +4 -4
  34. package/dist/src/scalars/lib/value-cast.js.map +1 -1
  35. package/dist/src/ui/components/button/button.d.ts +11 -0
  36. package/dist/src/ui/components/button/button.d.ts.map +1 -0
  37. package/dist/src/ui/components/button/button.js +32 -0
  38. package/dist/src/ui/components/button/button.js.map +1 -0
  39. package/dist/src/ui/components/button/index.d.ts +2 -0
  40. package/dist/src/ui/components/button/index.d.ts.map +1 -0
  41. package/dist/src/ui/components/button/index.js +2 -0
  42. package/dist/src/ui/components/button/index.js.map +1 -0
  43. package/dist/src/ui/components/confirm/alert-dialog.d.ts +21 -0
  44. package/dist/src/ui/components/confirm/alert-dialog.d.ts.map +1 -0
  45. package/dist/src/ui/components/confirm/alert-dialog.js +40 -0
  46. package/dist/src/ui/components/confirm/alert-dialog.js.map +1 -0
  47. package/dist/src/ui/components/confirm/confirm.d.ts +12 -0
  48. package/dist/src/ui/components/confirm/confirm.d.ts.map +1 -0
  49. package/dist/src/ui/components/confirm/confirm.js +14 -0
  50. package/dist/src/ui/components/confirm/confirm.js.map +1 -0
  51. package/dist/src/ui/components/confirm/index.d.ts +3 -0
  52. package/dist/src/ui/components/confirm/index.d.ts.map +1 -0
  53. package/dist/src/ui/components/confirm/index.js +2 -0
  54. package/dist/src/ui/components/confirm/index.js.map +1 -0
  55. package/dist/src/ui/components/data-entry/country-code-picker/country-code-picker.d.ts.map +1 -1
  56. package/dist/src/ui/components/data-entry/country-code-picker/country-code-picker.js +13 -4
  57. package/dist/src/ui/components/data-entry/country-code-picker/country-code-picker.js.map +1 -1
  58. package/dist/src/ui/components/data-entry/currency-code-picker/currency-code-picker.d.ts.map +1 -1
  59. package/dist/src/ui/components/data-entry/currency-code-picker/currency-code-picker.js +2 -2
  60. package/dist/src/ui/components/data-entry/currency-code-picker/currency-code-picker.js.map +1 -1
  61. package/dist/src/ui/components/data-entry/currency-code-picker/types.d.ts +2 -4
  62. package/dist/src/ui/components/data-entry/currency-code-picker/types.d.ts.map +1 -1
  63. package/dist/src/ui/components/data-entry/date-picker/subcomponents/date-picker-diff/date-picker-diff.js +1 -1
  64. package/dist/src/ui/components/data-entry/date-picker/subcomponents/date-picker-diff/date-picker-diff.js.map +1 -1
  65. package/dist/src/ui/components/data-entry/date-picker/subcomponents/month-grid.js +2 -2
  66. package/dist/src/ui/components/data-entry/date-picker/subcomponents/month-grid.js.map +1 -1
  67. package/dist/src/ui/components/data-entry/date-picker/use-date-picker.d.ts.map +1 -1
  68. package/dist/src/ui/components/data-entry/date-picker/use-date-picker.js +3 -3
  69. package/dist/src/ui/components/data-entry/date-picker/use-date-picker.js.map +1 -1
  70. package/dist/src/ui/components/data-entry/date-time-picker/date-time-picker-content.d.ts +3 -1
  71. package/dist/src/ui/components/data-entry/date-time-picker/date-time-picker-content.d.ts.map +1 -1
  72. package/dist/src/ui/components/data-entry/date-time-picker/date-time-picker-content.js +2 -2
  73. package/dist/src/ui/components/data-entry/date-time-picker/date-time-picker-content.js.map +1 -1
  74. package/dist/src/ui/components/data-entry/date-time-picker/date-time-picker.d.ts.map +1 -1
  75. package/dist/src/ui/components/data-entry/date-time-picker/date-time-picker.js +2 -2
  76. package/dist/src/ui/components/data-entry/date-time-picker/date-time-picker.js.map +1 -1
  77. package/dist/src/ui/components/data-entry/date-time-picker/subcomponent/date-time-picker-diff.d.ts.map +1 -1
  78. package/dist/src/ui/components/data-entry/date-time-picker/subcomponent/date-time-picker-diff.js +4 -5
  79. package/dist/src/ui/components/data-entry/date-time-picker/subcomponent/date-time-picker-diff.js.map +1 -1
  80. package/dist/src/ui/components/data-entry/date-time-picker/use-date-time-picker.d.ts +1 -2
  81. package/dist/src/ui/components/data-entry/date-time-picker/use-date-time-picker.d.ts.map +1 -1
  82. package/dist/src/ui/components/data-entry/date-time-picker/use-date-time-picker.js +62 -89
  83. package/dist/src/ui/components/data-entry/date-time-picker/use-date-time-picker.js.map +1 -1
  84. package/dist/src/ui/components/data-entry/date-time-picker/utils.d.ts +11 -1
  85. package/dist/src/ui/components/data-entry/date-time-picker/utils.d.ts.map +1 -1
  86. package/dist/src/ui/components/data-entry/date-time-picker/utils.js +70 -3
  87. package/dist/src/ui/components/data-entry/date-time-picker/utils.js.map +1 -1
  88. package/dist/src/ui/components/data-entry/input/splitted-input-diff.d.ts +3 -1
  89. package/dist/src/ui/components/data-entry/input/splitted-input-diff.d.ts.map +1 -1
  90. package/dist/src/ui/components/data-entry/input/splitted-input-diff.js +4 -2
  91. package/dist/src/ui/components/data-entry/input/splitted-input-diff.js.map +1 -1
  92. package/dist/src/ui/components/data-entry/input/subcomponent/text-diff.d.ts.map +1 -1
  93. package/dist/src/ui/components/data-entry/input/subcomponent/text-diff.js +21 -2
  94. package/dist/src/ui/components/data-entry/input/subcomponent/text-diff.js.map +1 -1
  95. package/dist/src/ui/components/data-entry/number-input/number-input.d.ts.map +1 -1
  96. package/dist/src/ui/components/data-entry/number-input/number-input.js +1 -1
  97. package/dist/src/ui/components/data-entry/number-input/number-input.js.map +1 -1
  98. package/dist/src/ui/components/data-entry/number-input/types.d.ts +2 -2
  99. package/dist/src/ui/components/data-entry/number-input/types.d.ts.map +1 -1
  100. package/dist/src/ui/components/data-entry/select/command-list-item.d.ts.map +1 -1
  101. package/dist/src/ui/components/data-entry/select/command-list-item.js +2 -7
  102. package/dist/src/ui/components/data-entry/select/command-list-item.js.map +1 -1
  103. package/dist/src/ui/components/data-entry/select/render-icon.d.ts +3 -0
  104. package/dist/src/ui/components/data-entry/select/render-icon.d.ts.map +1 -0
  105. package/dist/src/ui/components/data-entry/select/render-icon.js +10 -0
  106. package/dist/src/ui/components/data-entry/select/render-icon.js.map +1 -0
  107. package/dist/src/ui/components/data-entry/select/select-diff.d.ts +3 -1
  108. package/dist/src/ui/components/data-entry/select/select-diff.d.ts.map +1 -1
  109. package/dist/src/ui/components/data-entry/select/select-diff.js +2 -2
  110. package/dist/src/ui/components/data-entry/select/select-diff.js.map +1 -1
  111. package/dist/src/ui/components/data-entry/select/select.d.ts.map +1 -1
  112. package/dist/src/ui/components/data-entry/select/select.js +4 -2
  113. package/dist/src/ui/components/data-entry/select/select.js.map +1 -1
  114. package/dist/src/ui/components/data-entry/select/selected-content.d.ts.map +1 -1
  115. package/dist/src/ui/components/data-entry/select/selected-content.js +1 -6
  116. package/dist/src/ui/components/data-entry/select/selected-content.js.map +1 -1
  117. package/dist/src/ui/components/data-entry/select/types.d.ts +3 -1
  118. package/dist/src/ui/components/data-entry/select/types.d.ts.map +1 -1
  119. package/dist/src/ui/components/data-entry/text-input/text-input.d.ts.map +1 -1
  120. package/dist/src/ui/components/data-entry/text-input/text-input.js +1 -1
  121. package/dist/src/ui/components/data-entry/text-input/text-input.js.map +1 -1
  122. package/dist/src/ui/components/data-entry/textarea/textarea.d.ts.map +1 -1
  123. package/dist/src/ui/components/data-entry/textarea/textarea.js +1 -1
  124. package/dist/src/ui/components/data-entry/textarea/textarea.js.map +1 -1
  125. package/dist/src/ui/components/data-entry/time-picker/use-time-picker.d.ts.map +1 -1
  126. package/dist/src/ui/components/data-entry/time-picker/use-time-picker.js +14 -8
  127. package/dist/src/ui/components/data-entry/time-picker/use-time-picker.js.map +1 -1
  128. package/dist/src/ui/components/data-entry/time-picker/utils.d.ts +1 -0
  129. package/dist/src/ui/components/data-entry/time-picker/utils.d.ts.map +1 -1
  130. package/dist/src/ui/components/data-entry/time-picker/utils.js +11 -0
  131. package/dist/src/ui/components/data-entry/time-picker/utils.js.map +1 -1
  132. package/dist/src/ui/components/data-entry/toggle/subcomponents/toogle-diff.d.ts +2 -2
  133. package/dist/src/ui/components/data-entry/toggle/subcomponents/toogle-diff.d.ts.map +1 -1
  134. package/dist/src/ui/components/data-entry/toggle/subcomponents/toogle-diff.js +2 -2
  135. package/dist/src/ui/components/data-entry/toggle/subcomponents/toogle-diff.js.map +1 -1
  136. package/dist/src/ui/components/data-entry/toggle/toggle.d.ts.map +1 -1
  137. package/dist/src/ui/components/data-entry/toggle/toggle.js +1 -1
  138. package/dist/src/ui/components/data-entry/toggle/toggle.js.map +1 -1
  139. package/dist/src/ui/components/data-entry/url-input/url-input-diff.d.ts +1 -1
  140. package/dist/src/ui/components/data-entry/url-input/url-input-diff.d.ts.map +1 -1
  141. package/dist/src/ui/components/data-entry/url-input/url-input-diff.js +2 -2
  142. package/dist/src/ui/components/data-entry/url-input/url-input-diff.js.map +1 -1
  143. package/dist/src/ui/components/data-entry/url-input/url-input.d.ts.map +1 -1
  144. package/dist/src/ui/components/data-entry/url-input/url-input.js +1 -1
  145. package/dist/src/ui/components/data-entry/url-input/url-input.js.map +1 -1
  146. package/dist/src/ui/components/index.d.ts +2 -0
  147. package/dist/src/ui/components/index.d.ts.map +1 -1
  148. package/dist/src/ui/components/index.js +3 -0
  149. package/dist/src/ui/components/index.js.map +1 -1
  150. package/dist/src/ui/components/object-set-table/examples/custom-rendering/custom-rendering.d.ts.map +1 -1
  151. package/dist/src/ui/components/object-set-table/examples/custom-rendering/custom-rendering.js +0 -1
  152. package/dist/src/ui/components/object-set-table/examples/custom-rendering/custom-rendering.js.map +1 -1
  153. package/dist/src/ui/components/object-set-table/examples/table-editing/table-editing.d.ts +5 -0
  154. package/dist/src/ui/components/object-set-table/examples/table-editing/table-editing.d.ts.map +1 -0
  155. package/dist/src/ui/components/object-set-table/examples/table-editing/table-editing.js +108 -0
  156. package/dist/src/ui/components/object-set-table/examples/table-editing/table-editing.js.map +1 -0
  157. package/dist/src/ui/components/object-set-table/hooks/useGlobalTableKeyEvents.d.ts.map +1 -1
  158. package/dist/src/ui/components/object-set-table/hooks/useGlobalTableKeyEvents.js +17 -2
  159. package/dist/src/ui/components/object-set-table/hooks/useGlobalTableKeyEvents.js.map +1 -1
  160. package/dist/src/ui/components/object-set-table/logic/selection-manager.d.ts +4 -0
  161. package/dist/src/ui/components/object-set-table/logic/selection-manager.d.ts.map +1 -1
  162. package/dist/src/ui/components/object-set-table/logic/selection-manager.js +6 -0
  163. package/dist/src/ui/components/object-set-table/logic/selection-manager.js.map +1 -1
  164. package/dist/src/ui/components/object-set-table/logic/table-api.d.ts +25 -1
  165. package/dist/src/ui/components/object-set-table/logic/table-api.d.ts.map +1 -1
  166. package/dist/src/ui/components/object-set-table/logic/table-api.js +82 -3
  167. package/dist/src/ui/components/object-set-table/logic/table-api.js.map +1 -1
  168. package/dist/src/ui/components/object-set-table/logic/types.d.ts +6 -1
  169. package/dist/src/ui/components/object-set-table/logic/types.d.ts.map +1 -1
  170. package/dist/src/ui/components/object-set-table/object-set-table.d.ts +3 -0
  171. package/dist/src/ui/components/object-set-table/object-set-table.d.ts.map +1 -1
  172. package/dist/src/ui/components/object-set-table/object-set-table.js +10 -1
  173. package/dist/src/ui/components/object-set-table/object-set-table.js.map +1 -1
  174. package/dist/src/ui/components/object-set-table/subcomponents/body.d.ts.map +1 -1
  175. package/dist/src/ui/components/object-set-table/subcomponents/body.js +11 -5
  176. package/dist/src/ui/components/object-set-table/subcomponents/body.js.map +1 -1
  177. package/dist/src/ui/components/object-set-table/subcomponents/cells/information-cell.d.ts +5 -1
  178. package/dist/src/ui/components/object-set-table/subcomponents/cells/information-cell.d.ts.map +1 -1
  179. package/dist/src/ui/components/object-set-table/subcomponents/cells/information-cell.js +8 -2
  180. package/dist/src/ui/components/object-set-table/subcomponents/cells/information-cell.js.map +1 -1
  181. package/dist/src/ui/components/object-set-table/subcomponents/cells/render-cell/empty-cell.d.ts +9 -0
  182. package/dist/src/ui/components/object-set-table/subcomponents/cells/render-cell/empty-cell.d.ts.map +1 -0
  183. package/dist/src/ui/components/object-set-table/subcomponents/cells/render-cell/empty-cell.js +7 -0
  184. package/dist/src/ui/components/object-set-table/subcomponents/cells/render-cell/empty-cell.js.map +1 -0
  185. package/dist/src/ui/components/object-set-table/subcomponents/cells/{render-cell.d.ts → render-cell/render-cell.d.ts} +1 -1
  186. package/dist/src/ui/components/object-set-table/subcomponents/cells/render-cell/render-cell.d.ts.map +1 -0
  187. package/dist/src/ui/components/object-set-table/subcomponents/cells/render-cell/render-cell.js +34 -0
  188. package/dist/src/ui/components/object-set-table/subcomponents/cells/render-cell/render-cell.js.map +1 -0
  189. package/dist/src/ui/components/object-set-table/subcomponents/cells/render-cell/use-cell-logic.d.ts +16 -0
  190. package/dist/src/ui/components/object-set-table/subcomponents/cells/render-cell/use-cell-logic.d.ts.map +1 -0
  191. package/dist/src/ui/components/object-set-table/subcomponents/cells/render-cell/use-cell-logic.js +44 -0
  192. package/dist/src/ui/components/object-set-table/subcomponents/cells/render-cell/use-cell-logic.js.map +1 -0
  193. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/boolean-editor.d.ts +3 -0
  194. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/boolean-editor.d.ts.map +1 -0
  195. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/boolean-editor.js +22 -0
  196. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/boolean-editor.js.map +1 -0
  197. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/get-cell-editor-fn.d.ts +3 -0
  198. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/get-cell-editor-fn.d.ts.map +1 -0
  199. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/get-cell-editor-fn.js +18 -0
  200. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/get-cell-editor-fn.js.map +1 -0
  201. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/number-editor.d.ts +3 -0
  202. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/number-editor.d.ts.map +1 -0
  203. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/number-editor.js +9 -0
  204. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/number-editor.js.map +1 -0
  205. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/text-editor.d.ts +3 -0
  206. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/text-editor.d.ts.map +1 -0
  207. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/text-editor.js +9 -0
  208. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/text-editor.js.map +1 -0
  209. package/dist/src/ui/components/object-set-table/subcomponents/rows/render-row.js +2 -2
  210. package/dist/src/ui/components/object-set-table/subcomponents/rows/render-row.js.map +1 -1
  211. package/dist/src/ui/components/object-set-table/subcomponents/table-focus-trap.d.ts.map +1 -1
  212. package/dist/src/ui/components/object-set-table/subcomponents/table-focus-trap.js +13 -1
  213. package/dist/src/ui/components/object-set-table/subcomponents/table-focus-trap.js.map +1 -1
  214. package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-provider.d.ts.map +1 -1
  215. package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-provider.js +8 -0
  216. package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-provider.js.map +1 -1
  217. package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-reducer.d.ts +2 -0
  218. package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-reducer.d.ts.map +1 -1
  219. package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-reducer.js +6 -1
  220. package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-reducer.js.map +1 -1
  221. package/dist/src/ui/components/object-set-table/types.d.ts +29 -4
  222. package/dist/src/ui/components/object-set-table/types.d.ts.map +1 -1
  223. package/dist/src/ui/components/object-set-table/utils.d.ts +9 -0
  224. package/dist/src/ui/components/object-set-table/utils.d.ts.map +1 -1
  225. package/dist/src/ui/components/object-set-table/utils.js +23 -1
  226. package/dist/src/ui/components/object-set-table/utils.js.map +1 -1
  227. package/dist/style.css +347 -0
  228. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  229. package/package.json +4 -4
  230. package/dist/src/ui/components/data-entry/country-code-picker/country-code-picker-diff.d.ts +0 -9
  231. package/dist/src/ui/components/data-entry/country-code-picker/country-code-picker-diff.d.ts.map +0 -1
  232. package/dist/src/ui/components/data-entry/country-code-picker/country-code-picker-diff.js +0 -8
  233. package/dist/src/ui/components/data-entry/country-code-picker/country-code-picker-diff.js.map +0 -1
  234. package/dist/src/ui/components/data-entry/currency-code-picker/currency-code-picker-diff.d.ts +0 -9
  235. package/dist/src/ui/components/data-entry/currency-code-picker/currency-code-picker-diff.d.ts.map +0 -1
  236. package/dist/src/ui/components/data-entry/currency-code-picker/currency-code-picker-diff.js +0 -8
  237. package/dist/src/ui/components/data-entry/currency-code-picker/currency-code-picker-diff.js.map +0 -1
  238. package/dist/src/ui/components/object-set-table/subcomponents/cells/render-cell.d.ts.map +0 -1
  239. package/dist/src/ui/components/object-set-table/subcomponents/cells/render-cell.js +0 -62
  240. package/dist/src/ui/components/object-set-table/subcomponents/cells/render-cell.js.map +0 -1
@@ -0,0 +1,44 @@
1
+ import { useMemo } from 'react';
2
+ import { isCellEqual } from '../../../utils.js';
3
+ import { useInternalTableState } from '../../table-provider/table-provider.js';
4
+ const useCellLogic = ({ column, rowIndex, columnIndex, renderEmptyCell = false, }) => {
5
+ const { config, state: { selectedCellIndex, isCellEditMode }, api, } = useInternalTableState();
6
+ const currentCellIndex = {
7
+ row: rowIndex,
8
+ column: columnIndex,
9
+ };
10
+ const isThisCellSelected = isCellEqual(selectedCellIndex, currentCellIndex);
11
+ const handleCellClick = useMemo(() => {
12
+ const handler = (event) => {
13
+ // if the cell is being edited, ignore clicking on it
14
+ if (api.isEditing() && selectedCellIndex?.row === rowIndex && selectedCellIndex.column === columnIndex) {
15
+ return;
16
+ }
17
+ // if shift, cmd or ctrl is pressed, the user is probably trying to select rows
18
+ if (!event.ctrlKey && !event.metaKey && !event.shiftKey) {
19
+ // if a cell is being edited but the cell being clicked is not the same
20
+ // we need to save it before exiting edit mode and selecting a new cell
21
+ if (api.isEditing()) {
22
+ void api.exitCellEditMode(true);
23
+ }
24
+ if (event.detail === 2 && column.editable && !renderEmptyCell) {
25
+ api.enterCellEditMode(rowIndex, columnIndex);
26
+ }
27
+ else {
28
+ api.selection.selectCell(rowIndex, columnIndex);
29
+ }
30
+ }
31
+ };
32
+ return handler;
33
+ }, [api, selectedCellIndex, rowIndex, columnIndex, column.editable, renderEmptyCell]);
34
+ const formRef = renderEmptyCell ? null : api._getState().dataFormReferences[rowIndex]?.[columnIndex];
35
+ return {
36
+ config,
37
+ isThisCellSelected,
38
+ isCellEditMode,
39
+ handleCellClick,
40
+ formRef,
41
+ };
42
+ };
43
+ export { useCellLogic };
44
+ //# sourceMappingURL=use-cell-logic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-cell-logic.js","sourceRoot":"","sources":["../../../../../../../../src/ui/components/object-set-table/subcomponents/cells/render-cell/use-cell-logic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAA;AAQ9E,MAAM,YAAY,GAAG,CAAqB,EACxC,MAAM,EACN,QAAQ,EACR,WAAW,EACX,eAAe,GAAG,KAAK,GACF,EAAE,EAAE;IACzB,MAAM,EACJ,MAAM,EACN,KAAK,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,EAC5C,GAAG,GACJ,GAAG,qBAAqB,EAAK,CAAA;IAE9B,MAAM,gBAAgB,GAAG;QACvB,GAAG,EAAE,QAAQ;QACb,MAAM,EAAE,WAAW;KACpB,CAAA;IACD,MAAM,kBAAkB,GAAG,WAAW,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAA;IAE3E,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;QACnC,MAAM,OAAO,GAAG,CAAC,KAA6C,EAAE,EAAE;YAChE,qDAAqD;YACrD,IAAI,GAAG,CAAC,SAAS,EAAE,IAAI,iBAAiB,EAAE,GAAG,KAAK,QAAQ,IAAI,iBAAiB,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACvG,OAAM;YACR,CAAC;YAED,+EAA+E;YAC/E,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACxD,uEAAuE;gBACvE,uEAAuE;gBACvE,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;oBACpB,KAAK,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;gBACjC,CAAC;gBAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,eAAe,EAAE,CAAC;oBAC9D,GAAG,CAAC,iBAAiB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;gBAC9C,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;gBACjD,CAAC;YACH,CAAC;QACH,CAAC,CAAA;QAED,OAAO,OAAO,CAAA;IAChB,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAA;IAErF,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA;IAEpG,OAAO;QACL,MAAM;QACN,kBAAkB;QAClB,cAAc;QACd,eAAe;QACf,OAAO;KACR,CAAA;AACH,CAAC,CAAA;AAED,OAAO,EAAE,YAAY,EAAE,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { RenderCellEditorFn } from '../../types.js';
2
+ export declare const booleanCellEditor: RenderCellEditorFn<any, unknown>;
3
+ //# sourceMappingURL=boolean-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boolean-editor.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/default-cell-editors/boolean-editor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAe,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAqCrE,eAAO,MAAM,iBAAiB,kCAAoB,CAAA"}
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { BooleanField } from '../../../../../scalars/components/boolean-field/boolean-field.js';
3
+ import { cn } from '../../../../../scalars/lib/utils.js';
4
+ const BooleanCellEditor = (value, onChange, context) => {
5
+ const booleanValue = (() => {
6
+ if (typeof value === 'boolean') {
7
+ return value;
8
+ }
9
+ else if (typeof value === 'string') {
10
+ return value === 'true';
11
+ }
12
+ return Boolean(value);
13
+ })();
14
+ return (_jsx("div", { className: cn('flex [&_button]:!mr-0', {
15
+ 'justify-center': context.column.align === 'center',
16
+ 'justify-end': context.column.align === 'right',
17
+ }), children: _jsx(BooleanField, { autoFocus: true, isToggle: false, name: context.column.field, value: booleanValue, onChange: (value) => {
18
+ onChange(value);
19
+ } }) }));
20
+ };
21
+ export const booleanCellEditor = BooleanCellEditor;
22
+ //# sourceMappingURL=boolean-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boolean-editor.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/default-cell-editors/boolean-editor.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kEAAkE,CAAA;AAC/F,OAAO,EAAE,EAAE,EAAE,MAAM,qCAAqC,CAAA;AAGxD,MAAM,iBAAiB,GAAqC,CAC1D,KAAc,EACd,QAAqC,EACrC,OAAyB,EACzB,EAAE;IACF,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE;QACzB,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAA;QACd,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,KAAK,KAAK,MAAM,CAAA;QACzB,CAAC;QAED,OAAO,OAAO,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC,CAAC,EAAE,CAAA;IAEJ,OAAO,CACL,cACE,SAAS,EAAE,EAAE,CAAC,uBAAuB,EAAE;YACrC,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ;YACnD,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO;SAChD,CAAC,YAEF,KAAC,YAAY,IACX,SAAS,QACT,QAAQ,EAAE,KAAK,EACf,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAC1B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,CAAC,KAAc,EAAE,EAAE;gBAC3B,QAAQ,CAAC,KAAK,CAAC,CAAA;YACjB,CAAC,GACD,GACE,CACP,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { ColumnType, RenderCellEditorFn } from '../../types.js';
2
+ export declare const getCellEditorFn: <T>(type?: ColumnType) => RenderCellEditorFn<T, unknown>;
3
+ //# sourceMappingURL=get-cell-editor-fn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-cell-editor-fn.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/default-cell-editors/get-cell-editor-fn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAKpE,eAAO,MAAM,eAAe,GAAI,CAAC,EAAE,OAAO,UAAU,KAAG,kBAAkB,CAAC,CAAC,EAAE,OAAO,CAanF,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { booleanCellEditor } from './boolean-editor.js';
2
+ import { numberCellEditor } from './number-editor.js';
3
+ import { textCellEditor } from './text-editor.js';
4
+ export const getCellEditorFn = (type) => {
5
+ switch (type) {
6
+ case 'text':
7
+ return textCellEditor;
8
+ case 'number':
9
+ return numberCellEditor;
10
+ case 'boolean':
11
+ return booleanCellEditor;
12
+ case undefined:
13
+ return textCellEditor;
14
+ default:
15
+ return textCellEditor;
16
+ }
17
+ };
18
+ //# sourceMappingURL=get-cell-editor-fn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-cell-editor-fn.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/default-cell-editors/get-cell-editor-fn.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAI,IAAiB,EAAkC,EAAE;IACtF,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,cAAc,CAAA;QACvB,KAAK,QAAQ;YACX,OAAO,gBAAgB,CAAA;QACzB,KAAK,SAAS;YACZ,OAAO,iBAAiB,CAAA;QAC1B,KAAK,SAAS;YACZ,OAAO,cAAc,CAAA;QACvB;YACE,OAAO,cAAc,CAAA;IACzB,CAAC;AACH,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { RenderCellEditorFn } from '../../types.js';
2
+ export declare const numberCellEditor: RenderCellEditorFn<any, unknown>;
3
+ //# sourceMappingURL=number-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-editor.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/default-cell-editors/number-editor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAErE,eAAO,MAAM,gBAAgB,EAAE,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAkB7D,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { NumberField } from '../../../../../scalars/components/number-field/number-field.js';
3
+ export const numberCellEditor = (value, onChange, context) => {
4
+ const numericValue = typeof value === 'number' ? value : Number(value) || 0;
5
+ return (_jsx(NumberField, { name: context.column.field, className: "max-w-full", autoFocus: true, value: numericValue, onChange: (event) => {
6
+ onChange(Number(event.target.value));
7
+ } }));
8
+ };
9
+ //# sourceMappingURL=number-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-editor.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/default-cell-editors/number-editor.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gEAAgE,CAAA;AAG5F,MAAM,CAAC,MAAM,gBAAgB,GAAqC,CAChE,KAAc,EACd,QAAwC,EACxC,OAAyB,EACzB,EAAE;IACF,MAAM,YAAY,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAE3E,OAAO,CACL,KAAC,WAAW,IACV,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAC1B,SAAS,EAAC,YAAY,EACtB,SAAS,QACT,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACtC,CAAC,GACD,CACH,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { RenderCellEditorFn } from '../../types.js';
2
+ export declare const textCellEditor: RenderCellEditorFn<any, unknown>;
3
+ //# sourceMappingURL=text-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-editor.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/default-cell-editors/text-editor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAErE,eAAO,MAAM,cAAc,EAAE,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAiB3D,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { StringField } from '../../../../../scalars/components/string-field/string-field.js';
3
+ export const textCellEditor = (value, onChange, context) => {
4
+ const stringValue = typeof value === 'string' ? value : String(value ?? '');
5
+ return (_jsx(StringField, { name: context.column.field, className: "max-w-full", autoFocus: true, value: stringValue, onChange: (e) => {
6
+ onChange(e.target.value);
7
+ } }));
8
+ };
9
+ //# sourceMappingURL=text-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-editor.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/default-cell-editors/text-editor.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gEAAgE,CAAA;AAG5F,MAAM,CAAC,MAAM,cAAc,GAAqC,CAC9D,KAAc,EACd,QAAqC,EACrC,OAA6B,EAC7B,EAAE;IACF,MAAM,WAAW,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IAC3E,OAAO,CACL,KAAC,WAAW,IACV,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAC1B,SAAS,EAAC,YAAY,EACtB,SAAS,QACT,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;YACd,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC,GACD,CACH,CAAA;AACH,CAAC,CAAA"}
@@ -3,7 +3,7 @@ import { useCallback } from 'react';
3
3
  import { RowNumberCell } from '../cells/row-number-cell.js';
4
4
  import { useInternalTableState } from '../table-provider/table-provider.js';
5
5
  import { TableRow } from './table-row.js';
6
- import { RenderCell } from '../cells/render-cell.js';
6
+ import { RenderCell } from '../cells/render-cell/render-cell.js';
7
7
  import { InformationCell } from '../cells/information-cell.js';
8
8
  const RenderRow = ({ item, rowIndex, emptyRow = false }) => {
9
9
  const { config, state: { selectedRowIndexes, selectedCellIndex }, api, } = useInternalTableState();
@@ -56,7 +56,7 @@ const RenderRow = ({ item, rowIndex, emptyRow = false }) => {
56
56
  }, []);
57
57
  return (_jsxs(TableRow, { index: rowIndex, onClick: createAddSelectedRowHandler(rowIndex), onMouseDown: handleMouseDown, children: [_jsx(RowNumberCell, { index: rowIndex + 1, handleSelectRowOnClick: createSelectRowOnClickHandler(rowIndex), selected: selectedRowIndexes.includes(rowIndex) || selectedCellIndex?.row === rowIndex }), config.columns.map((column, columnIndex) => {
58
58
  return (_jsx(RenderCell, { rowItem: item, column: column, rowIndex: rowIndex, columnIndex: columnIndex, renderEmptyCell: emptyRow }, column.field));
59
- }), api.isEditable() && _jsx(InformationCell, {})] }));
59
+ }), (api.isEditable() || api.canDelete()) && _jsx(InformationCell, { rowIndex: rowIndex, emptyRow: emptyRow })] }));
60
60
  };
61
61
  export { RenderRow };
62
62
  //# sourceMappingURL=render-row.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"render-row.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/rows/render-row.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-row.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/rows/render-row.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAEnC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAQ9D,MAAM,SAAS,GAAG,CAAqB,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAG,KAAK,EAAqB,EAAE,EAAE;IAChG,MAAM,EACJ,MAAM,EACN,KAAK,EAAE,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,EAChD,GAAG,GACJ,GAAG,qBAAqB,EAAK,CAAA;IAE9B,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAA;IAEpC;;;;OAIG;IACH,MAAM,6BAA6B,GAAG,WAAW,CAC/C,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,CAAyC,EAAE,EAAE;QAC/D,IAAI,CAAC,iBAAiB;YAAE,OAAM;QAC9B,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC,CAAC,eAAe,EAAE,CAAA;YACnB,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAChC,CAAC;aAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAM,CAAC,6BAA6B;QACtC,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAChC,CAAC;IACH,CAAC,EACD,CAAC,iBAAiB,EAAE,GAAG,CAAC,SAAS,CAAC,CACnC,CAAA;IAED;;;;;OAKG;IACH,MAAM,2BAA2B,GAAG,WAAW,CAC7C,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,CAAwC,EAAE,EAAE;QAC9D,IAAI,CAAC,iBAAiB;YAAE,OAAM;QAE9B,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC3B,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAChC,CAAC;aAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YACtB,mDAAmD;YACnD,QAAQ,CAAC,YAAY,EAAE,EAAE,eAAe,EAAE,CAAA;YAC1C,GAAG,CAAC,SAAS,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC,EACD,CAAC,iBAAiB,EAAE,GAAG,CAAC,SAAS,CAAC,CACnC,CAAA;IAED;;;OAGG;IACH,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,KAA4C,EAAE,EAAE;QACnF,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,QAAQ,CAAC,YAAY,EAAE,EAAE,eAAe,EAAE,CAAA;QAC5C,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,CACL,MAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,eAAe,aAErG,KAAC,aAAa,IACZ,KAAK,EAAE,QAAQ,GAAG,CAAC,EACnB,sBAAsB,EAAE,6BAA6B,CAAC,QAAQ,CAAC,EAC/D,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,iBAAiB,EAAE,GAAG,KAAK,QAAQ,GACtF,EAGD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;gBAC1C,OAAO,CACL,KAAC,UAAU,IAET,OAAO,EAAE,IAAI,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,QAAQ,IALpB,MAAM,CAAC,KAAK,CAMjB,CACH,CAAA;YACH,CAAC,CAAC,EAED,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,KAAC,eAAe,IAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAI,IAC5F,CACZ,CAAA;AACH,CAAC,CAAA;AAED,OAAO,EAAE,SAAS,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"table-focus-trap.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/subcomponents/table-focus-trap.tsx"],"names":[],"mappings":"AAKA,QAAA,MAAM,cAAc,GAAI,cAAc;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,4CAqBlE,CAAA;AAED,OAAO,EAAE,cAAc,EAAE,CAAA"}
1
+ {"version":3,"file":"table-focus-trap.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/subcomponents/table-focus-trap.tsx"],"names":[],"mappings":"AAKA,QAAA,MAAM,cAAc,GAAI,cAAc;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,4CAmClE,CAAA;AAED,OAAO,EAAE,cAAc,EAAE,CAAA"}
@@ -6,8 +6,20 @@ import { useInternalTableState } from './table-provider/table-provider.js';
6
6
  const TableFocusTrap = ({ children }) => {
7
7
  const { state: { selectedCellIndex }, api, } = useInternalTableState();
8
8
  const ref = useRef(null);
9
- useOnClickOutside(ref, () => {
9
+ useOnClickOutside(ref, (event) => {
10
+ const { x, y } = event.target.getBoundingClientRect();
11
+ // if the click was inside the table, we don't need to do anything
12
+ // this could happen if a dropdown, tooltip or any other element is mounted outside the table in the DOM
13
+ const tableRect = ref.current?.getBoundingClientRect();
14
+ if (tableRect) {
15
+ if (x >= tableRect.left && x <= tableRect.right && y >= tableRect.top && y <= tableRect.bottom) {
16
+ return;
17
+ }
18
+ }
10
19
  if (api.selection.haveSelectedCells()) {
20
+ if (api.isEditing()) {
21
+ void api.exitCellEditMode(true);
22
+ }
11
23
  api.selection.clearCellSelection();
12
24
  }
13
25
  });
@@ -1 +1 @@
1
- {"version":3,"file":"table-focus-trap.js","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/subcomponents/table-focus-trap.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAE1E,MAAM,cAAc,GAAG,CAAC,EAAE,QAAQ,EAAiC,EAAE,EAAE;IACrE,MAAM,EACJ,KAAK,EAAE,EAAE,iBAAiB,EAAE,EAC5B,GAAG,GACJ,GAAG,qBAAqB,EAAE,CAAA;IAC3B,MAAM,GAAG,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAA;IAE1C,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE;QAC1B,IAAI,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACtC,GAAG,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAA;QACpC,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,qBAAqB;IACrB,OAAO,CACL,cAAK,GAAG,EAAE,GAAG,YACX,KAAC,SAAS,IAAC,MAAM,EAAE,CAAC,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,YAClF,QAAQ,GACC,GACR,CACP,CAAA;AACH,CAAC,CAAA;AAED,OAAO,EAAE,cAAc,EAAE,CAAA"}
1
+ {"version":3,"file":"table-focus-trap.js","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/subcomponents/table-focus-trap.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAE1E,MAAM,cAAc,GAAG,CAAC,EAAE,QAAQ,EAAiC,EAAE,EAAE;IACrE,MAAM,EACJ,KAAK,EAAE,EAAE,iBAAiB,EAAE,EAC5B,GAAG,GACJ,GAAG,qBAAqB,EAAE,CAAA;IAC3B,MAAM,GAAG,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAA;IAE1C,iBAAiB,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;QAC/B,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAI,KAAK,CAAC,MAAsB,CAAC,qBAAqB,EAAE,CAAA;QAEtE,kEAAkE;QAClE,wGAAwG;QACxG,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,EAAE,qBAAqB,EAAE,CAAA;QACtD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,SAAS,CAAC,KAAK,IAAI,CAAC,IAAI,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBAC/F,OAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACtC,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;gBACpB,KAAK,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;YACjC,CAAC;YACD,GAAG,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAA;QACpC,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,qBAAqB;IACrB,OAAO,CACL,cAAK,GAAG,EAAE,GAAG,YACX,KAAC,SAAS,IAAC,MAAM,EAAE,CAAC,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,YAClF,QAAQ,GACC,GACR,CACP,CAAA;AACH,CAAC,CAAA;AAED,OAAO,EAAE,cAAc,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"table-provider.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/table-provider/table-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAsD,MAAM,OAAO,CAAA;AACzG,OAAO,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACpE,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAElE,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAG7E,UAAU,iBAAiB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ;IACvD,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAA;IAC/B,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;IACpB,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAA;IAC3B,SAAS,EAAE,YAAY,CAAA;CACxB;AAID,UAAU,kBAAkB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ;IACxD,QAAQ,EAAE,SAAS,CAAA;IACnB;;OAEG;IACH,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAA;IAC/B;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;CAC5C;AAED,QAAA,MAAM,aAAa,GAAI,CAAC,SAAS,QAAQ,EAAE,gCAAgC,kBAAkB,CAAC,CAAC,CAAC,4CAgD/F,CAAA;AAED,QAAA,MAAM,qBAAqB,GAAI,CAAC,SAAS,QAAQ,GAAG,OAAO,2BAM1D,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,CAAA"}
1
+ {"version":3,"file":"table-provider.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/table-provider/table-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAsD,MAAM,OAAO,CAAA;AACzG,OAAO,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACpE,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAElE,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAI7E,UAAU,iBAAiB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ;IACvD,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAA;IAC/B,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;IACpB,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAA;IAC3B,SAAS,EAAE,YAAY,CAAA;CACxB;AAID,UAAU,kBAAkB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ;IACxD,QAAQ,EAAE,SAAS,CAAA;IACnB;;OAEG;IACH,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAA;IAC/B;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;CAC5C;AAED,QAAA,MAAM,aAAa,GAAI,CAAC,SAAS,QAAQ,EAAE,gCAAgC,kBAAkB,CAAC,CAAC,CAAC,4CAwD/F,CAAA;AAED,QAAA,MAAM,qBAAqB,GAAI,CAAC,SAAS,QAAQ,GAAG,OAAO,2BAM1D,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,CAAA"}
@@ -3,11 +3,13 @@ import { createContext, useContext, useEffect, useMemo, useReducer, useRef } fro
3
3
  import { tableReducer } from './table-reducer.js';
4
4
  import { createPublicTableApi } from '../../logic/public-table-api.js';
5
5
  import { TableApi } from '../../logic/table-api.js';
6
+ import { createFormReferences } from '../../utils.js';
6
7
  const TableContext = createContext(null);
7
8
  const TableProvider = ({ children, config, tableRef }) => {
8
9
  const [state, dispatch] = useReducer((tableReducer), {
9
10
  columns: config.columns,
10
11
  defaultData: [...config.data],
12
+ dataFormReferences: createFormReferences(config.data.length + 1, config.columns),
11
13
  data: config.data,
12
14
  allowRowSelection: config.allowRowSelection ?? true,
13
15
  showRowNumbers: config.showRowNumbers ?? true,
@@ -17,6 +19,12 @@ const TableProvider = ({ children, config, tableRef }) => {
17
19
  isCellEditMode: false,
18
20
  sortState: null,
19
21
  });
22
+ useEffect(() => {
23
+ dispatch({
24
+ type: 'SET_DATA',
25
+ payload: config.data,
26
+ });
27
+ }, [config.data]);
20
28
  useEffect(() => {
21
29
  dispatch({ type: 'SET_DISPATCH', payload: dispatch });
22
30
  }, [dispatch]);
@@ -1 +1 @@
1
- {"version":3,"file":"table-provider.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/table-provider/table-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAkB,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAEzG,OAAO,EAAE,YAAY,EAAmB,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAEtE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AASnD,MAAM,YAAY,GAAG,aAAa,CAA2B,IAAI,CAAC,CAAA;AAclE,MAAM,aAAa,GAAG,CAAqB,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAyB,EAAE,EAAE;IAClG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC,CAAA,YAAe,CAAA,EAAE;QACpD,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;QAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,IAAI;QACnD,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI;QAC7C,kBAAkB,EAAE,EAAE;QACtB,oBAAoB,EAAE,IAAI;QAC1B,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,KAAK;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;IACvD,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IAChC,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAA;QACxB,SAAS,CAAC,OAAO,GAAG,MAAM,CAAA;IAC5B,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;IAEnB,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE;QACpC,MAAM,WAAW,GAAG,IAAI,QAAQ,CAAI,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;QAClE,MAAM,SAAS,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAA;QAEnD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,SAAS,CAAA;QACnC,CAAC;QAED,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IACjC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;IAE7B,OAAO,CACL,KAAC,YAAY,CAAC,QAAQ,IACpB,KAAK,EAAE;YACL,MAAM;YACN,KAAK;YACL,GAAG;YACH,SAAS;SACV,YAEA,QAAQ,GACa,CACzB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,GAAiC,EAAE;IAC/D,MAAM,OAAO,GAAG,UAAU,CAA8B,YAAY,CAAC,CAAA;IACrE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IACjE,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,CAAA"}
1
+ {"version":3,"file":"table-provider.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/table-provider/table-provider.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  import type { ColumnDef, DataType, ObjectSetTableConfig, SortDirection, TableCellIndex } from '../../types.js';
2
+ import type { UseFormReturn } from 'react-hook-form';
2
3
  interface TableState<T extends DataType = DataType> {
3
4
  dispatch?: React.Dispatch<TableAction<T>>;
4
5
  defaultData: T[];
5
6
  columns: ColumnDef[];
6
7
  data: T[];
8
+ dataFormReferences: Array<Array<React.RefObject<UseFormReturn> | null>>;
7
9
  allowRowSelection: boolean;
8
10
  showRowNumbers: boolean;
9
11
  selectedRowIndexes: number[];
@@ -1 +1 @@
1
- {"version":3,"file":"table-reducer.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/table-provider/table-reducer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE9G,UAAU,UAAU,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ;IAChD,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IAEzC,WAAW,EAAE,CAAC,EAAE,CAAA;IAEhB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,IAAI,EAAE,CAAC,EAAE,CAAA;IACT,iBAAiB,EAAE,OAAO,CAAA;IAC1B,cAAc,EAAE,OAAO,CAAA;IACvB,kBAAkB,EAAE,MAAM,EAAE,CAAA;IAC5B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;IAEnC,iBAAiB,EAAE,cAAc,GAAG,IAAI,CAAA;IACxC,cAAc,EAAE,OAAO,CAAA;IAEvB,SAAS,EAAE;QACT,WAAW,EAAE,MAAM,CAAA;QACnB,SAAS,EAAE,aAAa,CAAA;KACzB,GAAG,IAAI,CAAA;CACT;AAED,KAAK,WAAW,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAC1C;IACE,IAAI,EAAE,cAAc,CAAA;IACpB,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;CACxC,GACD;IACE,IAAI,EAAE,aAAa,CAAA;IACnB,OAAO,EAAE,SAAS,EAAE,CAAA;CACrB,GACD;IACE,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,CAAC,EAAE,CAAA;CACb,GACD;IACE,IAAI,EAAE,eAAe,CAAA;IACrB,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;KAC3B,CAAA;CACF,GAED;IACE,IAAI,EAAE,qBAAqB,CAAA;IAC3B,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAC3D,GACD;IACE,IAAI,EAAE,wBAAwB,CAAA;IAC9B,OAAO,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;CACF,GACD;IACE,IAAI,EAAE,iBAAiB,CAAA;IACvB,OAAO,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;CACF,GACD;IACE,IAAI,EAAE,kBAAkB,CAAA;IACxB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAA;QACZ,EAAE,EAAE,MAAM,CAAA;KACX,CAAA;CACF,GAED;IACE,IAAI,EAAE,aAAa,CAAA;IACnB,OAAO,EAAE,cAAc,GAAG,IAAI,CAAA;CAC/B,GACD;IACE,IAAI,EAAE,sBAAsB,CAAA;IAC5B,OAAO,EAAE,cAAc,CAAA;CACxB,GAED;IACE,IAAI,EAAE,aAAa,CAAA;IACnB,OAAO,EAAE;QACP,WAAW,EAAE,MAAM,CAAA;QACnB,SAAS,EAAE,aAAa,GAAG,IAAI,CAAA;QAC/B,WAAW,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAA;KACrC,CAAA;CACF,CAAA;AAEL,QAAA,MAAM,YAAY,GAAI,CAAC,SAAS,QAAQ,EAAE,OAAO,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,WAAW,CAAC,CAAC,CAAC,KAAG,UAAU,CAAC,CAAC,CA4JpG,CAAA;AAED,OAAO,EAAE,YAAY,EAAE,CAAA;AACvB,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"table-reducer.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/table-provider/table-reducer.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { createFormReferences } from '../../utils.js';
1
2
  const tableReducer = (state, action) => {
2
3
  switch (action.type) {
3
4
  case 'SET_DISPATCH':
@@ -5,15 +6,19 @@ const tableReducer = (state, action) => {
5
6
  ...state,
6
7
  dispatch: action.payload,
7
8
  };
8
- case 'SET_COLUMNS':
9
+ case 'SET_COLUMNS': {
9
10
  return {
10
11
  ...state,
11
12
  columns: action.payload,
13
+ dataFormReferences: createFormReferences(state.data.length + 1, action.payload),
12
14
  };
15
+ }
13
16
  case 'SET_DATA':
14
17
  return {
15
18
  ...state,
16
19
  data: action.payload,
20
+ defaultData: action.payload,
21
+ dataFormReferences: createFormReferences(action.payload.length + 1, state.columns),
17
22
  };
18
23
  case 'UPDATE_COLUMN':
19
24
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"table-reducer.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/table-provider/table-reducer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table-reducer.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/table-provider/table-reducer.tsx"],"names":[],"mappings":"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"}
@@ -34,6 +34,18 @@ export interface ObjectSetTableConfig<T> {
34
34
  * @default 0
35
35
  */
36
36
  minRowCount?: number;
37
+ /**
38
+ * A function that is called when one or multiple rows are deleted.
39
+ *
40
+ * @param rows The rows that are being deleted.
41
+ */
42
+ onDelete?: (rows: T[]) => Promise<void> | void;
43
+ /**
44
+ * A function that is called when a new row is added.
45
+ *
46
+ * @param data The data of the new row.
47
+ */
48
+ onAdd?: (data: Record<string, unknown>) => Promise<void> | void;
37
49
  }
38
50
  export type ColumnType = 'text' | 'number' | 'boolean';
39
51
  export interface CellContext<T = any> {
@@ -153,6 +165,7 @@ export type RenderHeaderFn<T, V = string> = (value: V, context: CellContext<T>)
153
165
  * @returns Whether the value was saved.
154
166
  */
155
167
  export type OnCellSaveFn<TData, TCellValue> = (newValue: TCellValue, context: CellContext<TData>) => boolean;
168
+ export type RenderCellEditorFn<TData, TCellValue> = (value: TCellValue, onChange: (newValue: TCellValue) => void, context: CellContext<TData>) => React.ReactNode;
156
169
  export type SortDirection = 'asc' | 'desc';
157
170
  export interface SortableColumnDef<T = unknown> {
158
171
  /**
@@ -161,10 +174,6 @@ export interface SortableColumnDef<T = unknown> {
161
174
  * @default false
162
175
  */
163
176
  sortable?: boolean;
164
- /**
165
- * The default sort direction, only one column can be sorted at a time.
166
- */
167
- defaultSortDirection?: SortDirection;
168
177
  /**
169
178
  * A function that compares two rows.
170
179
  *
@@ -313,6 +322,22 @@ export interface ColumnDef<T = any> extends SortableColumnDef<T> {
313
322
  * @returns Whether the value was saved.
314
323
  */
315
324
  onSave?: OnCellSaveFn<T, unknown>;
325
+ /**
326
+ * A function that renders the cell editor. The editor requires to be a controlled component
327
+ * to save and validate the value properly using the `value` and `onChange` parameters.
328
+ *
329
+ * @param value The value to display in the cell editor.
330
+ * @param onChange The function to call when the value changes.
331
+ * @param context The cell context.
332
+ *
333
+ * @example
334
+ * ```ts
335
+ * const renderCellEditor = (value: unknown, onChange: (newValue: unknown) => unknown, context: CellContext<T>) => {
336
+ * return <Input value={value} onChange={(e) => onChange(e.target.value)} />
337
+ * }
338
+ * ```
339
+ */
340
+ renderCellEditor?: RenderCellEditorFn<T, unknown>;
316
341
  /**
317
342
  * The width of the column. It accepts any valid CSS width value.
318
343
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/object-set-table/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/object-set-table/types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { UseFormReturn } from 'react-hook-form';
1
2
  import type { ColumnDef, DataType, TableCellIndex } from './types.js';
2
3
  /**
3
4
  * Get the title of a column.
@@ -86,5 +87,13 @@ export declare const getDirectionFromKey: (key: string) => NextSelectedCellDirec
86
87
  * @returns True if the cells are equal, false otherwise.
87
88
  */
88
89
  export declare const isCellEqual: (cell1: TableCellIndex | null, cell2: TableCellIndex | null) => boolean;
90
+ /**
91
+ * Create form references for the for of the editable cells in the table.
92
+ *
93
+ * @param rowCount - The number of rows in the table.
94
+ * @param columnDefs - The column definitions.
95
+ * @returns The form references.
96
+ */
97
+ export declare const createFormReferences: (rowCount: number, columnDefs: ColumnDef[]) => Array<Array<React.RefObject<UseFormReturn> | null>>;
89
98
  export {};
90
99
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/object-set-table/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAErE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,SAAS,WAmB/C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,QAAQ,EAAE,OAAO,MAAM,KAAG,OAU/D,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;AAExE,UAAU,0BAA0B;IAClC;;OAEG;IACH,SAAS,EAAE,yBAAyB,CAAA;IACpC;;OAEG;IACH,WAAW,EAAE,cAAc,GAAG,IAAI,CAAA;IAClC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,GAAI,SAAS,0BAA0B,KAAG,cAyDzE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,KAAK,MAAM,KAAG,yBAcjD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,cAAc,GAAG,IAAI,EAAE,OAAO,cAAc,GAAG,IAAI,YAKrF,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/object-set-table/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAGrE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,SAAS,WAmB/C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,QAAQ,EAAE,OAAO,MAAM,KAAG,OAU/D,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;AAExE,UAAU,0BAA0B;IAClC;;OAEG;IACH,SAAS,EAAE,yBAAyB,CAAA;IACpC;;OAEG;IACH,WAAW,EAAE,cAAc,GAAG,IAAI,CAAA;IAClC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,GAAI,SAAS,0BAA0B,KAAG,cAyDzE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,KAAK,MAAM,KAAG,yBAcjD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,cAAc,GAAG,IAAI,EAAE,OAAO,cAAc,GAAG,IAAI,YAKrF,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAC/B,UAAU,MAAM,EAChB,YAAY,SAAS,EAAE,KACtB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAgBpD,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { createRef } from 'react';
1
2
  /**
2
3
  * Get the title of a column.
3
4
  *
@@ -54,7 +55,7 @@ export const getColumnValue = (value, field) => {
54
55
  const keys = field.split('.');
55
56
  let current = value;
56
57
  for (const key of keys) {
57
- if (typeof current !== 'object' || !(key in current)) {
58
+ if (typeof current !== 'object' || current === null || !(key in current)) {
58
59
  return undefined;
59
60
  }
60
61
  current = current[key];
@@ -169,4 +170,25 @@ export const isCellEqual = (cell1, cell2) => {
169
170
  }
170
171
  return cell1.row === cell2.row && cell1.column === cell2.column;
171
172
  };
173
+ /**
174
+ * Create form references for the for of the editable cells in the table.
175
+ *
176
+ * @param rowCount - The number of rows in the table.
177
+ * @param columnDefs - The column definitions.
178
+ * @returns The form references.
179
+ */
180
+ export const createFormReferences = (rowCount, columnDefs) => {
181
+ if (rowCount === 0 || columnDefs.length === 0) {
182
+ return [];
183
+ }
184
+ const formReferences = [];
185
+ for (let row = 0; row < rowCount; row++) {
186
+ const refs = [];
187
+ columnDefs.forEach((columnDef) => {
188
+ refs.push(columnDef.editable ? createRef() : null);
189
+ });
190
+ formReferences.push(refs);
191
+ }
192
+ return formReferences;
193
+ };
172
194
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/ui/components/object-set-table/utils.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAiB,EAAE,EAAE;IAClD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,MAAM,CAAC,KAAK,CAAA;IACrB,CAAC;IAED,mDAAmD;IACnD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC,KAAK,CAAA;IAE/D,8FAA8F;IAC9F,6CAA6C;IAC7C,MAAM,SAAS,GAAG,SAAS;QACzB,yEAAyE;SACxE,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;QACvC,8CAA8C;SAC7C,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;QACtB,8BAA8B;SAC7B,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;IAEzC,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAe,EAAE,KAAa,EAAW,EAAE;IACxE,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,OAAO,GAAG,KAAgC,CAAA;IAC9C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,EAAE,CAAC;YACrD,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAA4B,CAAA;IACnD,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AA2BD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAmC,EAAkB,EAAE;IACzF,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,GAAG,KAAK,EAAE,GAAG,OAAO,CAAA;IAExF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,oEAAoE;QACpE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;IAC9B,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,WAAW,CAAA;IAEnC,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,OAAO;YACV,IAAI,MAAM,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC;gBAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,CAAA;YACpC,CAAC;iBAAM,CAAC;gBACN,IAAI,aAAa,EAAE,CAAC;oBAClB,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;gBACjD,CAAC;qBAAM,CAAC;oBACN,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,GAAG,CAAC,EAAE,CAAA;gBACzC,CAAC;YACH,CAAC;QACH,KAAK,MAAM;YACT,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBACf,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,CAAA;YACpC,CAAC;iBAAM,CAAC;gBACN,IAAI,aAAa,EAAE,CAAC;oBAClB,OAAO;wBACL,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;wBACvC,MAAM,EAAE,WAAW,GAAG,CAAC;qBACxB,CAAA;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;gBAC3B,CAAC;YACH,CAAC;QACH,KAAK,MAAM;YACT,IAAI,GAAG,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;YACjC,CAAC;iBAAM,CAAC;gBACN,IAAI,aAAa,EAAE,CAAC;oBAClB,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAA;gBAC3B,CAAC;qBAAM,CAAC;oBACN,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAA;gBACxB,CAAC;YACH,CAAC;QACH,KAAK,IAAI;YACP,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBACZ,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;YACjC,CAAC;iBAAM,CAAC;gBACN,IAAI,aAAa,EAAE,CAAC;oBAClB,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;gBACtC,CAAC;qBAAM,CAAC;oBACN,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAA;gBACxB,CAAC;YACH,CAAC;QACH;YACE,OAAO,WAAW,CAAA;IACtB,CAAC;AACH,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAA6B,EAAE;IAC5E,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,YAAY,CAAC;QAClB,KAAK,KAAK;YACR,OAAO,OAAO,CAAA;QAChB,KAAK,WAAW;YACd,OAAO,MAAM,CAAA;QACf,KAAK,WAAW;YACd,OAAO,MAAM,CAAA;QACf,KAAK,SAAS;YACZ,OAAO,IAAI,CAAA;QACb;YACE,OAAO,OAAO,CAAA;IAClB,CAAC;AACH,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAA4B,EAAE,KAA4B,EAAE,EAAE;IACxF,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAA;AACjE,CAAC,CAAA"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/ui/components/object-set-table/utils.ts"],"names":[],"mappings":"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"}