@powerhousedao/document-engineering 1.13.0 → 1.15.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 (226) hide show
  1. package/dist/src/scalars/components/date-time-picker-field/date-time-picker-field-validations.d.ts +1 -1
  2. package/dist/src/scalars/components/date-time-picker-field/date-time-picker-field-validations.d.ts.map +1 -1
  3. package/dist/src/scalars/components/date-time-picker-field/date-time-picker-field-validations.js +5 -2
  4. package/dist/src/scalars/components/date-time-picker-field/date-time-picker-field-validations.js.map +1 -1
  5. package/dist/src/scalars/components/fragments/id-autocomplete/id-autocomplete-diff.d.ts +20 -0
  6. package/dist/src/scalars/components/fragments/id-autocomplete/id-autocomplete-diff.d.ts.map +1 -0
  7. package/dist/src/scalars/components/fragments/id-autocomplete/id-autocomplete-diff.js +38 -0
  8. package/dist/src/scalars/components/fragments/id-autocomplete/id-autocomplete-diff.js.map +1 -0
  9. package/dist/src/scalars/components/fragments/id-autocomplete/id-autocomplete-list-option.d.ts +1 -1
  10. package/dist/src/scalars/components/fragments/id-autocomplete/id-autocomplete-list-option.d.ts.map +1 -1
  11. package/dist/src/scalars/components/fragments/id-autocomplete/id-autocomplete-list-option.js.map +1 -1
  12. package/dist/src/scalars/components/fragments/id-autocomplete/id-autocomplete-list.js +1 -1
  13. package/dist/src/scalars/components/fragments/id-autocomplete/id-autocomplete.d.ts.map +1 -1
  14. package/dist/src/scalars/components/fragments/id-autocomplete/id-autocomplete.js +5 -1
  15. package/dist/src/scalars/components/fragments/id-autocomplete/id-autocomplete.js.map +1 -1
  16. package/dist/src/scalars/components/fragments/id-autocomplete/types.d.ts +11 -4
  17. package/dist/src/scalars/components/fragments/id-autocomplete/types.d.ts.map +1 -1
  18. package/dist/src/scalars/components/fragments/id-autocomplete/use-id-autocomplete.js +2 -2
  19. package/dist/src/scalars/components/fragments/with-field-validation/with-field-validation.d.ts.map +1 -1
  20. package/dist/src/scalars/components/fragments/with-field-validation/with-field-validation.js +0 -1
  21. package/dist/src/scalars/components/fragments/with-field-validation/with-field-validation.js.map +1 -1
  22. package/dist/src/scalars/components/phid-field/phid-field.js +2 -2
  23. package/dist/src/scalars/components/phid-field/phid-field.js.map +1 -1
  24. package/dist/src/scalars/components/time-picker-field/time-picker-field-validations.d.ts +1 -1
  25. package/dist/src/scalars/components/time-picker-field/time-picker-field-validations.d.ts.map +1 -1
  26. package/dist/src/scalars/components/time-picker-field/time-picker-field-validations.js +4 -1
  27. package/dist/src/scalars/components/time-picker-field/time-picker-field-validations.js.map +1 -1
  28. package/dist/src/scalars/graphql/AmountCrypto.d.ts +7 -6
  29. package/dist/src/scalars/graphql/AmountCrypto.d.ts.map +1 -1
  30. package/dist/src/scalars/graphql/AmountCrypto.js +12 -6
  31. package/dist/src/scalars/graphql/AmountCrypto.js.map +1 -1
  32. package/dist/src/scalars/graphql/AmountCurrency.d.ts +7 -6
  33. package/dist/src/scalars/graphql/AmountCurrency.d.ts.map +1 -1
  34. package/dist/src/scalars/graphql/AmountCurrency.js +12 -6
  35. package/dist/src/scalars/graphql/AmountCurrency.js.map +1 -1
  36. package/dist/src/ui/components/data-entry/aid-input/aid-input.d.ts.map +1 -1
  37. package/dist/src/ui/components/data-entry/aid-input/aid-input.js +16 -8
  38. package/dist/src/ui/components/data-entry/aid-input/aid-input.js.map +1 -1
  39. package/dist/src/ui/components/data-entry/aid-input/types.d.ts +4 -4
  40. package/dist/src/ui/components/data-entry/aid-input/types.d.ts.map +1 -1
  41. package/dist/src/ui/components/data-entry/amount-input/amount-input.d.ts +7 -10
  42. package/dist/src/ui/components/data-entry/amount-input/amount-input.d.ts.map +1 -1
  43. package/dist/src/ui/components/data-entry/amount-input/amount-input.js +10 -4
  44. package/dist/src/ui/components/data-entry/amount-input/amount-input.js.map +1 -1
  45. package/dist/src/ui/components/data-entry/amount-input/subcomponents/amount-input-diff.d.ts +16 -0
  46. package/dist/src/ui/components/data-entry/amount-input/subcomponents/amount-input-diff.d.ts.map +1 -0
  47. package/dist/src/ui/components/data-entry/amount-input/subcomponents/amount-input-diff.js +8 -0
  48. package/dist/src/ui/components/data-entry/amount-input/subcomponents/amount-input-diff.js.map +1 -0
  49. package/dist/src/ui/components/data-entry/amount-input/subcomponents/fake-amount-diff.d.ts +19 -0
  50. package/dist/src/ui/components/data-entry/amount-input/subcomponents/fake-amount-diff.d.ts.map +1 -0
  51. package/dist/src/ui/components/data-entry/amount-input/subcomponents/fake-amount-diff.js +77 -0
  52. package/dist/src/ui/components/data-entry/amount-input/subcomponents/fake-amount-diff.js.map +1 -0
  53. package/dist/src/ui/components/data-entry/amount-input/subcomponents/splitted-amount.d.ts +13 -0
  54. package/dist/src/ui/components/data-entry/amount-input/subcomponents/splitted-amount.d.ts.map +1 -0
  55. package/dist/src/ui/components/data-entry/amount-input/subcomponents/splitted-amount.js +9 -0
  56. package/dist/src/ui/components/data-entry/amount-input/subcomponents/splitted-amount.js.map +1 -0
  57. package/dist/src/ui/components/data-entry/country-code-picker/country-code-picker.d.ts.map +1 -1
  58. package/dist/src/ui/components/data-entry/country-code-picker/country-code-picker.js +13 -4
  59. package/dist/src/ui/components/data-entry/country-code-picker/country-code-picker.js.map +1 -1
  60. package/dist/src/ui/components/data-entry/currency-code-picker/currency-code-picker.d.ts.map +1 -1
  61. package/dist/src/ui/components/data-entry/currency-code-picker/currency-code-picker.js +2 -2
  62. package/dist/src/ui/components/data-entry/currency-code-picker/currency-code-picker.js.map +1 -1
  63. package/dist/src/ui/components/data-entry/currency-code-picker/types.d.ts +2 -4
  64. package/dist/src/ui/components/data-entry/currency-code-picker/types.d.ts.map +1 -1
  65. package/dist/src/ui/components/data-entry/date-picker/date-picker.d.ts +1 -1
  66. package/dist/src/ui/components/data-entry/date-picker/date-picker.d.ts.map +1 -1
  67. package/dist/src/ui/components/data-entry/date-picker/date-picker.js +7 -5
  68. package/dist/src/ui/components/data-entry/date-picker/date-picker.js.map +1 -1
  69. package/dist/src/ui/components/data-entry/date-picker/subcomponents/calendar/calendar.d.ts +3 -1
  70. package/dist/src/ui/components/data-entry/date-picker/subcomponents/calendar/calendar.d.ts.map +1 -1
  71. package/dist/src/ui/components/data-entry/date-picker/subcomponents/calendar/calendar.js +9 -7
  72. package/dist/src/ui/components/data-entry/date-picker/subcomponents/calendar/calendar.js.map +1 -1
  73. package/dist/src/ui/components/data-entry/date-picker/subcomponents/caption-label/caption-label.d.ts +1 -0
  74. package/dist/src/ui/components/data-entry/date-picker/subcomponents/caption-label/caption-label.d.ts.map +1 -1
  75. package/dist/src/ui/components/data-entry/date-picker/subcomponents/caption-label/caption-label.js +6 -4
  76. package/dist/src/ui/components/data-entry/date-picker/subcomponents/caption-label/caption-label.js.map +1 -1
  77. package/dist/src/ui/components/data-entry/date-picker/subcomponents/month-grid.d.ts +3 -1
  78. package/dist/src/ui/components/data-entry/date-picker/subcomponents/month-grid.d.ts.map +1 -1
  79. package/dist/src/ui/components/data-entry/date-picker/subcomponents/month-grid.js +23 -1
  80. package/dist/src/ui/components/data-entry/date-picker/subcomponents/month-grid.js.map +1 -1
  81. package/dist/src/ui/components/data-entry/date-picker/use-date-picker.d.ts +1 -0
  82. package/dist/src/ui/components/data-entry/date-picker/use-date-picker.d.ts.map +1 -1
  83. package/dist/src/ui/components/data-entry/date-picker/use-date-picker.js +10 -1
  84. package/dist/src/ui/components/data-entry/date-picker/use-date-picker.js.map +1 -1
  85. package/dist/src/ui/components/data-entry/date-time-picker/base-picker.d.ts +5 -5
  86. package/dist/src/ui/components/data-entry/date-time-picker/base-picker.d.ts.map +1 -1
  87. package/dist/src/ui/components/data-entry/date-time-picker/base-picker.js +2 -2
  88. package/dist/src/ui/components/data-entry/date-time-picker/base-picker.js.map +1 -1
  89. package/dist/src/ui/components/data-entry/date-time-picker/date-time-picker.d.ts.map +1 -1
  90. package/dist/src/ui/components/data-entry/date-time-picker/date-time-picker.js +3 -3
  91. package/dist/src/ui/components/data-entry/date-time-picker/date-time-picker.js.map +1 -1
  92. package/dist/src/ui/components/data-entry/date-time-picker/subcomponent/date-time-picker-diff.d.ts.map +1 -1
  93. package/dist/src/ui/components/data-entry/date-time-picker/subcomponent/date-time-picker-diff.js +4 -5
  94. package/dist/src/ui/components/data-entry/date-time-picker/subcomponent/date-time-picker-diff.js.map +1 -1
  95. package/dist/src/ui/components/data-entry/date-time-picker/use-date-time-picker.d.ts +0 -2
  96. package/dist/src/ui/components/data-entry/date-time-picker/use-date-time-picker.d.ts.map +1 -1
  97. package/dist/src/ui/components/data-entry/date-time-picker/use-date-time-picker.js +38 -87
  98. package/dist/src/ui/components/data-entry/date-time-picker/use-date-time-picker.js.map +1 -1
  99. package/dist/src/ui/components/data-entry/date-time-picker/utils.d.ts +33 -0
  100. package/dist/src/ui/components/data-entry/date-time-picker/utils.d.ts.map +1 -1
  101. package/dist/src/ui/components/data-entry/date-time-picker/utils.js +114 -1
  102. package/dist/src/ui/components/data-entry/date-time-picker/utils.js.map +1 -1
  103. package/dist/src/ui/components/data-entry/input/splitted-input-diff.d.ts +3 -1
  104. package/dist/src/ui/components/data-entry/input/splitted-input-diff.d.ts.map +1 -1
  105. package/dist/src/ui/components/data-entry/input/splitted-input-diff.js +4 -2
  106. package/dist/src/ui/components/data-entry/input/splitted-input-diff.js.map +1 -1
  107. package/dist/src/ui/components/data-entry/input/subcomponent/text-diff.d.ts.map +1 -1
  108. package/dist/src/ui/components/data-entry/input/subcomponent/text-diff.js +21 -2
  109. package/dist/src/ui/components/data-entry/input/subcomponent/text-diff.js.map +1 -1
  110. package/dist/src/ui/components/data-entry/number-input/number-input.d.ts +3 -2
  111. package/dist/src/ui/components/data-entry/number-input/number-input.d.ts.map +1 -1
  112. package/dist/src/ui/components/data-entry/number-input/number-input.js +1 -1
  113. package/dist/src/ui/components/data-entry/number-input/number-input.js.map +1 -1
  114. package/dist/src/ui/components/data-entry/number-input/types.d.ts +3 -4
  115. package/dist/src/ui/components/data-entry/number-input/types.d.ts.map +1 -1
  116. package/dist/src/ui/components/data-entry/number-input/use-number-input.d.ts.map +1 -1
  117. package/dist/src/ui/components/data-entry/number-input/use-number-input.js +5 -2
  118. package/dist/src/ui/components/data-entry/number-input/use-number-input.js.map +1 -1
  119. package/dist/src/ui/components/data-entry/oid-input/oid-input.js +3 -4
  120. package/dist/src/ui/components/data-entry/oid-input/oid-input.js.map +1 -1
  121. package/dist/src/ui/components/data-entry/oid-input/types.d.ts +9 -2
  122. package/dist/src/ui/components/data-entry/oid-input/types.d.ts.map +1 -1
  123. package/dist/src/ui/components/data-entry/phid-input/phid-input.d.ts.map +1 -1
  124. package/dist/src/ui/components/data-entry/phid-input/phid-input.js +4 -10
  125. package/dist/src/ui/components/data-entry/phid-input/phid-input.js.map +1 -1
  126. package/dist/src/ui/components/data-entry/phid-input/types.d.ts +7 -8
  127. package/dist/src/ui/components/data-entry/phid-input/types.d.ts.map +1 -1
  128. package/dist/src/ui/components/data-entry/select/command-list-item.d.ts.map +1 -1
  129. package/dist/src/ui/components/data-entry/select/command-list-item.js +2 -7
  130. package/dist/src/ui/components/data-entry/select/command-list-item.js.map +1 -1
  131. package/dist/src/ui/components/data-entry/select/render-icon.d.ts +3 -0
  132. package/dist/src/ui/components/data-entry/select/render-icon.d.ts.map +1 -0
  133. package/dist/src/ui/components/data-entry/select/render-icon.js +10 -0
  134. package/dist/src/ui/components/data-entry/select/render-icon.js.map +1 -0
  135. package/dist/src/ui/components/data-entry/select/select-diff.d.ts +3 -1
  136. package/dist/src/ui/components/data-entry/select/select-diff.d.ts.map +1 -1
  137. package/dist/src/ui/components/data-entry/select/select-diff.js +2 -2
  138. package/dist/src/ui/components/data-entry/select/select-diff.js.map +1 -1
  139. package/dist/src/ui/components/data-entry/select/select.d.ts.map +1 -1
  140. package/dist/src/ui/components/data-entry/select/select.js +4 -2
  141. package/dist/src/ui/components/data-entry/select/select.js.map +1 -1
  142. package/dist/src/ui/components/data-entry/select/selected-content.d.ts.map +1 -1
  143. package/dist/src/ui/components/data-entry/select/selected-content.js +1 -6
  144. package/dist/src/ui/components/data-entry/select/selected-content.js.map +1 -1
  145. package/dist/src/ui/components/data-entry/select/types.d.ts +3 -1
  146. package/dist/src/ui/components/data-entry/select/types.d.ts.map +1 -1
  147. package/dist/src/ui/components/data-entry/text-input/text-input-diff.d.ts +2 -2
  148. package/dist/src/ui/components/data-entry/text-input/text-input-diff.d.ts.map +1 -1
  149. package/dist/src/ui/components/data-entry/text-input/text-input-diff.js +3 -1
  150. package/dist/src/ui/components/data-entry/text-input/text-input-diff.js.map +1 -1
  151. package/dist/src/ui/components/data-entry/time-picker/time-picker.d.ts.map +1 -1
  152. package/dist/src/ui/components/data-entry/time-picker/time-picker.js +5 -3
  153. package/dist/src/ui/components/data-entry/time-picker/time-picker.js.map +1 -1
  154. package/dist/src/ui/components/data-entry/time-picker/use-time-picker.d.ts.map +1 -1
  155. package/dist/src/ui/components/data-entry/time-picker/use-time-picker.js +24 -11
  156. package/dist/src/ui/components/data-entry/time-picker/use-time-picker.js.map +1 -1
  157. package/dist/src/ui/components/data-entry/time-picker/utils.d.ts +2 -0
  158. package/dist/src/ui/components/data-entry/time-picker/utils.d.ts.map +1 -1
  159. package/dist/src/ui/components/data-entry/time-picker/utils.js +61 -36
  160. package/dist/src/ui/components/data-entry/time-picker/utils.js.map +1 -1
  161. package/dist/src/ui/components/object-set-table/examples/table-editing/table-editing.d.ts +5 -0
  162. package/dist/src/ui/components/object-set-table/examples/table-editing/table-editing.d.ts.map +1 -0
  163. package/dist/src/ui/components/object-set-table/examples/table-editing/table-editing.js +85 -0
  164. package/dist/src/ui/components/object-set-table/examples/table-editing/table-editing.js.map +1 -0
  165. package/dist/src/ui/components/object-set-table/hooks/useGlobalTableKeyEvents.d.ts.map +1 -1
  166. package/dist/src/ui/components/object-set-table/hooks/useGlobalTableKeyEvents.js +4 -2
  167. package/dist/src/ui/components/object-set-table/hooks/useGlobalTableKeyEvents.js.map +1 -1
  168. package/dist/src/ui/components/object-set-table/logic/table-api.d.ts +1 -1
  169. package/dist/src/ui/components/object-set-table/logic/table-api.d.ts.map +1 -1
  170. package/dist/src/ui/components/object-set-table/logic/table-api.js +26 -3
  171. package/dist/src/ui/components/object-set-table/logic/table-api.js.map +1 -1
  172. package/dist/src/ui/components/object-set-table/logic/types.d.ts +1 -1
  173. package/dist/src/ui/components/object-set-table/logic/types.d.ts.map +1 -1
  174. package/dist/src/ui/components/object-set-table/object-set-table.d.ts.map +1 -1
  175. package/dist/src/ui/components/object-set-table/object-set-table.js +2 -0
  176. package/dist/src/ui/components/object-set-table/object-set-table.js.map +1 -1
  177. package/dist/src/ui/components/object-set-table/subcomponents/cells/render-cell.d.ts.map +1 -1
  178. package/dist/src/ui/components/object-set-table/subcomponents/cells/render-cell.js +15 -17
  179. package/dist/src/ui/components/object-set-table/subcomponents/cells/render-cell.js.map +1 -1
  180. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/boolean-editor.d.ts +3 -0
  181. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/boolean-editor.d.ts.map +1 -0
  182. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/boolean-editor.js +22 -0
  183. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/boolean-editor.js.map +1 -0
  184. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/get-cell-editor-fn.d.ts +3 -0
  185. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/get-cell-editor-fn.d.ts.map +1 -0
  186. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/get-cell-editor-fn.js +18 -0
  187. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/get-cell-editor-fn.js.map +1 -0
  188. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/number-editor.d.ts +3 -0
  189. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/number-editor.d.ts.map +1 -0
  190. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/number-editor.js +9 -0
  191. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/number-editor.js.map +1 -0
  192. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/text-editor.d.ts +3 -0
  193. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/text-editor.d.ts.map +1 -0
  194. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/text-editor.js +9 -0
  195. package/dist/src/ui/components/object-set-table/subcomponents/default-cell-editors/text-editor.js.map +1 -0
  196. package/dist/src/ui/components/object-set-table/subcomponents/table-focus-trap.d.ts.map +1 -1
  197. package/dist/src/ui/components/object-set-table/subcomponents/table-focus-trap.js +13 -1
  198. package/dist/src/ui/components/object-set-table/subcomponents/table-focus-trap.js.map +1 -1
  199. package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-provider.d.ts.map +1 -1
  200. package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-provider.js +2 -0
  201. package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-provider.js.map +1 -1
  202. package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-reducer.d.ts +2 -0
  203. package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-reducer.d.ts.map +1 -1
  204. package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-reducer.js +3 -0
  205. package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-reducer.js.map +1 -1
  206. package/dist/src/ui/components/object-set-table/types.d.ts +17 -0
  207. package/dist/src/ui/components/object-set-table/types.d.ts.map +1 -1
  208. package/dist/src/ui/components/object-set-table/utils.d.ts +9 -0
  209. package/dist/src/ui/components/object-set-table/utils.d.ts.map +1 -1
  210. package/dist/src/ui/components/object-set-table/utils.js +22 -0
  211. package/dist/src/ui/components/object-set-table/utils.js.map +1 -1
  212. package/dist/style.css +10 -0
  213. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  214. package/package.json +1 -1
  215. package/dist/src/ui/components/data-entry/country-code-picker/country-code-picker-diff.d.ts +0 -9
  216. package/dist/src/ui/components/data-entry/country-code-picker/country-code-picker-diff.d.ts.map +0 -1
  217. package/dist/src/ui/components/data-entry/country-code-picker/country-code-picker-diff.js +0 -8
  218. package/dist/src/ui/components/data-entry/country-code-picker/country-code-picker-diff.js.map +0 -1
  219. package/dist/src/ui/components/data-entry/currency-code-picker/currency-code-picker-diff.d.ts +0 -9
  220. package/dist/src/ui/components/data-entry/currency-code-picker/currency-code-picker-diff.d.ts.map +0 -1
  221. package/dist/src/ui/components/data-entry/currency-code-picker/currency-code-picker-diff.js +0 -8
  222. package/dist/src/ui/components/data-entry/currency-code-picker/currency-code-picker-diff.js.map +0 -1
  223. package/dist/src/ui/components/data-entry/phid-input/phid-input-diff.d.ts +0 -13
  224. package/dist/src/ui/components/data-entry/phid-input/phid-input-diff.d.ts.map +0 -1
  225. package/dist/src/ui/components/data-entry/phid-input/phid-input-diff.js +0 -35
  226. package/dist/src/ui/components/data-entry/phid-input/phid-input-diff.js.map +0 -1
@@ -0,0 +1,85 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useMemo, useState } from 'react';
3
+ import { cn, EnumField } from '../../../../../scalars/index.js';
4
+ import { mockData } from '../../mock-data.js';
5
+ import { ObjectSetTable } from '../../object-set-table.js';
6
+ import { Icon } from '../../../icon/icon.js';
7
+ const TableEditingExample = (props) => {
8
+ const [data, setData] = useState(mockData);
9
+ const columns = useMemo(() => [
10
+ {
11
+ field: 'firstName',
12
+ title: 'User',
13
+ editable: true,
14
+ sortable: true,
15
+ width: 140,
16
+ onSave: (value, context) => {
17
+ setData((prevData) => {
18
+ const newData = [...prevData];
19
+ newData[context.rowIndex].firstName = value;
20
+ return newData;
21
+ });
22
+ return true;
23
+ },
24
+ },
25
+ {
26
+ field: 'status',
27
+ width: 130,
28
+ editable: true,
29
+ onSave: (value, context) => {
30
+ setData((prevData) => {
31
+ const newData = [...prevData];
32
+ newData[context.rowIndex].status = value;
33
+ return newData;
34
+ });
35
+ return true;
36
+ },
37
+ renderCell: (value) => (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("div", { className: cn('h-2 w-2 rounded-full', value === 'active' ? 'bg-green-500' : 'bg-red-500') }), _jsx("span", { className: cn('font-medium', value === 'active' ? 'text-green-700' : 'text-red-700'), children: value.charAt(0).toUpperCase() + value.slice(1) })] })),
38
+ renderCellEditor: (value, onChange, context) => {
39
+ return (_jsx("div", { children: _jsx(EnumField, { name: context.column.field, autoFocus: true, options: [
40
+ { value: 'active', label: 'Active' },
41
+ { value: 'inactive', label: 'Inactive' },
42
+ ], variant: "Select", value: String(value), onChange: (value) => {
43
+ onChange(value);
44
+ } }) }));
45
+ },
46
+ },
47
+ {
48
+ field: 'payment',
49
+ width: 140,
50
+ type: 'number',
51
+ editable: true,
52
+ onSave: (value, context) => {
53
+ setData((prevData) => {
54
+ const newData = [...prevData];
55
+ newData[context.rowIndex].payment = value;
56
+ return newData;
57
+ });
58
+ return true;
59
+ },
60
+ renderCell: (value) => (_jsxs("div", { className: "flex items-center justify-end", children: [_jsxs("span", { className: "font-semibold text-gray-900", children: ["$", value.toLocaleString()] }), value > 1000000 ? (_jsx(Icon, { name: "ArrowUp", size: 16, className: "ml-1 text-green-500" })) : (_jsx(Icon, { name: "ArrowUp", size: 16, className: "ml-1 text-red-500 rotate-180" }))] })),
61
+ sortable: true,
62
+ defaultSortDirection: 'desc',
63
+ },
64
+ {
65
+ field: 'isActive',
66
+ width: 80,
67
+ title: 'Active',
68
+ type: 'boolean',
69
+ editable: true,
70
+ align: 'center',
71
+ onSave: (value, context) => {
72
+ setData((prevData) => {
73
+ const newData = [...prevData];
74
+ newData[context.rowIndex].isActive = value;
75
+ return newData;
76
+ });
77
+ return true;
78
+ },
79
+ renderCell: (value) => (_jsx("div", { className: "flex justify-center", children: value === 'true' ? (_jsx(Icon, { name: "CheckCircle", size: 20, className: "text-green-500" })) : (_jsx(Icon, { name: "CrossCircle", size: 20, className: "text-red-500" })) })),
80
+ },
81
+ ], []);
82
+ return _jsx(ObjectSetTable, { columns: columns, data: data, minRowCount: 10, ...props });
83
+ };
84
+ export default TableEditingExample;
85
+ //# sourceMappingURL=table-editing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-editing.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/examples/table-editing/table-editing.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useGlobalTableKeyEvents.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/hooks/useGlobalTableKeyEvents.tsx"],"names":[],"mappings":"AAIA,QAAA,MAAM,uBAAuB,YA2C5B,CAAA;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAA"}
1
+ {"version":3,"file":"useGlobalTableKeyEvents.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/hooks/useGlobalTableKeyEvents.tsx"],"names":[],"mappings":"AAIA,QAAA,MAAM,uBAAuB,YA6C5B,CAAA;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAA"}
@@ -9,14 +9,16 @@ const useGlobalTableKeyEvents = () => {
9
9
  const selectedCell = api._getState().selectedCellIndex;
10
10
  if (isEditing) {
11
11
  if (e.key === 'Enter') {
12
- api.exitCellEditMode(true);
12
+ void api.exitCellEditMode(true);
13
13
  }
14
14
  if (e.key === 'Escape' && !!selectedCell) {
15
- api.exitCellEditMode(false);
15
+ void api.exitCellEditMode(false);
16
16
  }
17
17
  }
18
18
  else {
19
19
  if (e.key === 'Enter' && !!selectedCell && api.canEditCell(selectedCell.row, selectedCell.column)) {
20
+ // prevent the form from being submitted when the cell enters in edit mode
21
+ e.preventDefault();
20
22
  api.enterCellEditMode(selectedCell.row, selectedCell.column);
21
23
  }
22
24
  // arrow keys
@@ -1 +1 @@
1
- {"version":3,"file":"useGlobalTableKeyEvents.js","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/hooks/useGlobalTableKeyEvents.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAA;AACzF,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEtE,MAAM,uBAAuB,GAAG,GAAG,EAAE;IACnC,MAAM,EAAE,GAAG,EAAE,GAAG,qBAAqB,EAAE,CAAA;IAEvC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,aAAa,GAAG,CAAC,CAAgB,EAAE,EAAE;YACzC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,EAAE,CAAA;YACjC,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,iBAAiB,CAAA;YAEtD,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;oBACtB,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;gBAC5B,CAAC;gBACD,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;oBACzC,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;gBAC7B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,YAAY,IAAI,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;oBAClG,GAAG,CAAC,iBAAiB,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;gBAC9D,CAAC;gBAED,aAAa;gBACb,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC/E,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;oBAC5C,MAAM,QAAQ,GAAG,mBAAmB,CAAC;wBACnC,SAAS;wBACT,WAAW,EAAE,YAAY;wBACzB,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM;wBACrC,WAAW,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,MAAM;wBAC5C,aAAa,EAAE,CAAC,CAAC,GAAG,KAAK,KAAK;qBAC/B,CAAC,CAAA;oBACF,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;wBACpB,CAAC,CAAC,cAAc,EAAE,CAAA;oBACpB,CAAC;oBACD,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;gBACzD,CAAC;YACH,CAAC;QACH,CAAC,CAAA;QAED,GAAG,CAAC,YAAY,EAAE,EAAE,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QAC9D,OAAO,GAAG,EAAE;YACV,GAAG,CAAC,YAAY,EAAE,EAAE,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QACnE,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;AACX,CAAC,CAAA;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAA"}
1
+ {"version":3,"file":"useGlobalTableKeyEvents.js","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/hooks/useGlobalTableKeyEvents.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAA;AACzF,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEtE,MAAM,uBAAuB,GAAG,GAAG,EAAE;IACnC,MAAM,EAAE,GAAG,EAAE,GAAG,qBAAqB,EAAE,CAAA;IAEvC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,aAAa,GAAG,CAAC,CAAgB,EAAE,EAAE;YACzC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,EAAE,CAAA;YACjC,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,iBAAiB,CAAA;YAEtD,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;oBACtB,KAAK,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;gBACjC,CAAC;gBACD,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;oBACzC,KAAK,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;gBAClC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,YAAY,IAAI,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;oBAClG,0EAA0E;oBAC1E,CAAC,CAAC,cAAc,EAAE,CAAA;oBAClB,GAAG,CAAC,iBAAiB,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;gBAC9D,CAAC;gBAED,aAAa;gBACb,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC/E,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;oBAC5C,MAAM,QAAQ,GAAG,mBAAmB,CAAC;wBACnC,SAAS;wBACT,WAAW,EAAE,YAAY;wBACzB,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM;wBACrC,WAAW,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,MAAM;wBAC5C,aAAa,EAAE,CAAC,CAAC,GAAG,KAAK,KAAK;qBAC/B,CAAC,CAAA;oBACF,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;wBACpB,CAAC,CAAC,cAAc,EAAE,CAAA;oBACpB,CAAC;oBACD,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;gBACzD,CAAC;YACH,CAAC;QACH,CAAC,CAAA;QAED,GAAG,CAAC,YAAY,EAAE,EAAE,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QAC9D,OAAO,GAAG,EAAE;YACV,GAAG,CAAC,YAAY,EAAE,EAAE,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QACnE,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;AACX,CAAC,CAAA;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAA"}
@@ -64,7 +64,7 @@ declare class TableApi<TData> implements PrivateTableApiBase<TData> {
64
64
  *
65
65
  * @param save - Whether to save the changes made in the cell
66
66
  */
67
- exitCellEditMode(save?: boolean): void;
67
+ exitCellEditMode(save?: boolean): Promise<void>;
68
68
  /**
69
69
  * Sorts the rows by the given column index and direction
70
70
  *
@@ -1 +1 @@
1
- {"version":3,"file":"table-api.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/logic/table-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAElE,cAAM,QAAQ,CAAC,KAAK,CAAE,YAAW,mBAAmB,CAAC,KAAK,CAAC;IAIvD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAL3B,SAAgB,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAA;gBAG/B,QAAQ,EAAE,SAAS,CAAC,gBAAgB,CAAC,EACrC,SAAS,EAAE,SAAS,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,EACjD,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAKzD,UAAU,IAAI,oBAAoB,CAAC,KAAK,CAAC;IAIzC,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC;IAI9B,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC;IAUnE;;;;OAIG;IACH,YAAY,IAAI,gBAAgB,GAAG,IAAI;IAIvC;;;;OAIG;IACH,iBAAiB,IAAI,MAAM;IAY3B;;;;;;OAMG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAIjD;;;;OAIG;IACH,SAAS;IAIT;;;;OAIG;IACH,UAAU;IAIV;;;;;;OAMG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAQzC;;;;;OAKG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAS7C;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,UAAO;IA+B5B;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI;IAa7D;;;;;;;;;;OAUG;IACH,kBAAkB,IAAI,WAAW,GAAG,IAAI;CAGzC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"table-api.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/logic/table-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAElE,cAAM,QAAQ,CAAC,KAAK,CAAE,YAAW,mBAAmB,CAAC,KAAK,CAAC;IAIvD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAL3B,SAAgB,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAA;gBAG/B,QAAQ,EAAE,SAAS,CAAC,gBAAgB,CAAC,EACrC,SAAS,EAAE,SAAS,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,EACjD,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAKzD,UAAU,IAAI,oBAAoB,CAAC,KAAK,CAAC;IAIzC,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC;IAI9B,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC;IAUnE;;;;OAIG;IACH,YAAY,IAAI,gBAAgB,GAAG,IAAI;IAIvC;;;;OAIG;IACH,iBAAiB,IAAI,MAAM;IAY3B;;;;;;OAMG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAIjD;;;;OAIG;IACH,SAAS;IAIT;;;;OAIG;IACH,UAAU;IAIV;;;;;;OAMG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAQzC;;;;;OAKG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAsB7C;;;;OAIG;IACG,gBAAgB,CAAC,IAAI,UAAO;IAuClC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI;IAa7D;;;;;;;;;;OAUG;IACH,kBAAkB,IAAI,WAAW,GAAG,IAAI;CAGzC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -95,17 +95,28 @@ class TableApi {
95
95
  enterCellEditMode(row, column) {
96
96
  if (!this.canEditCell(row, column))
97
97
  throw new Error('Cell is not editable');
98
+ // restore the form value
99
+ const formRef = this._getState().dataFormReferences[row][column];
100
+ const columnDef = this._getConfig().columns[column];
101
+ if (formRef) {
102
+ const originalValue = columnDef.valueGetter?.(this._getState().data[row], this._createCellContext(row, column));
103
+ formRef.current?.setValue(columnDef.field, originalValue);
104
+ }
98
105
  this._getState().dispatch?.({
99
106
  type: 'ENTER_CELL_EDIT_MODE',
100
107
  payload: { row, column },
101
108
  });
109
+ // restore focus to the field one the edit mode is entered
110
+ setTimeout(() => {
111
+ formRef?.current?.setFocus(columnDef.field);
112
+ }, 30);
102
113
  }
103
114
  /**
104
115
  * Exits cell edit mode
105
116
  *
106
117
  * @param save - Whether to save the changes made in the cell
107
118
  */
108
- exitCellEditMode(save = true) {
119
+ async exitCellEditMode(save = true) {
109
120
  // TODO: before exiting, check if the ${value} edited is valid
110
121
  // exit edit mode
111
122
  const selectedCell = this._getState().selectedCellIndex ?? {
@@ -114,8 +125,20 @@ class TableApi {
114
125
  };
115
126
  this.selection.selectCell(selectedCell.row, selectedCell.column);
116
127
  if (save) {
117
- const value = this._getConfig().columns[selectedCell.column]?.valueGetter?.(this._getState().data[selectedCell.row], this._createCellContext(selectedCell.row, selectedCell.column));
118
- this._getConfig().columns[selectedCell.column]?.onSave?.(`${value?.toString() ?? ''} edited`, this._createCellContext(selectedCell.row, selectedCell.column));
128
+ const formRef = this._getState().dataFormReferences[selectedCell.row][selectedCell.column];
129
+ if (formRef) {
130
+ const columnDef = this._getConfig().columns[selectedCell.column];
131
+ const isValid = await formRef.current?.trigger();
132
+ if (!isValid) {
133
+ return;
134
+ }
135
+ const formData = formRef.current?.getValues();
136
+ const value = formData?.[columnDef.field];
137
+ // TODO: save only if the value changed
138
+ columnDef.onSave?.(value, this._createCellContext(selectedCell.row, selectedCell.column));
139
+ }
140
+ // the actual save is done in the form onSubmit callback
141
+ // so we just asume that the save was done and we can move to the next cell
119
142
  const nextCell = getNextSelectedCell({
120
143
  direction: 'down',
121
144
  currentCell: selectedCell,
@@ -1 +1 @@
1
- {"version":3,"file":"table-api.js","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/logic/table-api.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAGzD,MAAM,QAAQ;IAIO;IACA;IACA;IALH,SAAS,CAAyB;IAElD,YACmB,QAAqC,EACrC,SAAiD,EACjD,QAAsC;QAFtC,aAAQ,GAAR,QAAQ,CAA6B;QACrC,cAAS,GAAT,SAAS,CAAwC;QACjD,aAAQ,GAAR,QAAQ,CAA8B;QAEvD,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAQ,IAAI,CAAC,CAAA;IACpD,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,OAAQ,CAAA;IAChC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAQ,CAAA;IAC/B,CAAC;IAED,kBAAkB,CAAC,GAAW,EAAE,MAAc;QAC5C,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;YAC/B,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;YACzC,QAAQ,EAAE,GAAG;YACb,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE;SAC/B,CAAA;IACH,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAA;IAC9B,CAAC;IAED;;;;OAIG;IACH,iBAAiB;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,IAAI,CAAC,CAAA;QAEtD,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAA;QAC1B,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC7G,CAAC;IAED,eAAe;IACf;;;;;;OAMG;IACH,WAAW,CAAC,GAAW,EAAE,MAAc;QACrC,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAA;IAC5D,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,cAAc,CAAA;IACxC,CAAC;IAED;;;;OAIG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACpE,CAAC;IAED;;;;;;OAMG;IACH,aAAa,CAAC,GAAW,EAAE,MAAc;QACvC,OAAO,CACL,IAAI,CAAC,SAAS,EAAE,CAAC,cAAc;YAC/B,IAAI,CAAC,SAAS,EAAE,CAAC,iBAAiB,EAAE,GAAG,KAAK,GAAG;YAC/C,IAAI,CAAC,SAAS,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,MAAM,CACtD,CAAA;IACH,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,GAAW,EAAE,MAAc;QAC3C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAE3E,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE;SACzB,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,GAAG,IAAI;QAC1B,8DAA8D;QAE9D,iBAAiB;QACjB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,iBAAiB,IAAI;YACzD,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,CAAC;SACV,CAAA;QACD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;QAEhE,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CACzE,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EACvC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,CAC/D,CAAA;YACD,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CACtD,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EACnC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,CAC/D,CAAA;YAED,MAAM,QAAQ,GAAG,mBAAmB,CAAC;gBACnC,SAAS,EAAE,MAAM;gBACjB,WAAW,EAAE,YAAY;gBACzB,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM;gBACtC,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,MAAM;gBAC7C,aAAa,EAAE,IAAI;aACpB,CAAC,CAAA;YACF,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC1D,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,WAAmB,EAAE,SAA+B;QAC3D,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAC1B,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE;aAC3E,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE;SACpE,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,kBAAkB;QAChB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,CAAA;IACnC,CAAC;CACF;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"table-api.js","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/logic/table-api.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ export interface TableApiBase {
27
27
  isEditing(): boolean;
28
28
  isEditingCell(row: number, column: number): boolean;
29
29
  enterCellEditMode(row: number, column: number): void;
30
- exitCellEditMode(save?: boolean): void;
30
+ exitCellEditMode(save?: boolean): Promise<void>;
31
31
  sortRows(columnIndex: number, direction: SortDirection | null): void;
32
32
  getCurrentSortInfo(): SortingInfo | null;
33
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/logic/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAElF,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,aAAa,CAAA;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,IAAI,OAAO,CAAA;IACxB,cAAc,IAAI,OAAO,CAAA;IACzB,iBAAiB,IAAI,OAAO,CAAA;IAE5B,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/C,aAAa,IAAI,IAAI,CAAA;IACrB,eAAe,IAAI,IAAI,CAAA;IACvB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;IAE3C,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAEvD,kBAAkB,IAAI,IAAI,CAAA;IAC1B,KAAK,IAAI,IAAI,CAAA;CACd;AAED,MAAM,WAAW,YAAY;IAE3B,SAAS,EAAE,qBAAqB,CAAA;IAGhC,YAAY,IAAI,gBAAgB,GAAG,IAAI,CAAA;IACvC,iBAAiB,IAAI,MAAM,CAAA;IAG3B,UAAU,IAAI,OAAO,CAAA;IACrB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;IACjD,SAAS,IAAI,OAAO,CAAA;IACpB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;IACnD,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACpD,gBAAgB,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAGtC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,CAAA;IACpE,kBAAkB,IAAI,WAAW,GAAG,IAAI,CAAA;CACzC;AAED,MAAM,WAAW,mBAAmB,CAAC,KAAK,CAAE,SAAQ,YAAY;IAC9D,UAAU,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAA;IACzC,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC,CAAA;IAC9B,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;CACpE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/logic/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAElF,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,aAAa,CAAA;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,IAAI,OAAO,CAAA;IACxB,cAAc,IAAI,OAAO,CAAA;IACzB,iBAAiB,IAAI,OAAO,CAAA;IAE5B,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/C,aAAa,IAAI,IAAI,CAAA;IACrB,eAAe,IAAI,IAAI,CAAA;IACvB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;IAE3C,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAEvD,kBAAkB,IAAI,IAAI,CAAA;IAC1B,KAAK,IAAI,IAAI,CAAA;CACd;AAED,MAAM,WAAW,YAAY;IAE3B,SAAS,EAAE,qBAAqB,CAAA;IAGhC,YAAY,IAAI,gBAAgB,GAAG,IAAI,CAAA;IACvC,iBAAiB,IAAI,MAAM,CAAA;IAG3B,UAAU,IAAI,OAAO,CAAA;IACrB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;IACjD,SAAS,IAAI,OAAO,CAAA;IACpB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;IACnD,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACpD,gBAAgB,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAG/C,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,CAAA;IACpE,kBAAkB,IAAI,WAAW,GAAG,IAAI,CAAA;CACzC;AAED,MAAM,WAAW,mBAAmB,CAAC,KAAK,CAAE,SAAQ,YAAY;IAC9D,UAAU,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAA;IACzC,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC,CAAA;IAC9B,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;CACpE"}
@@ -1 +1 @@
1
- {"version":3,"file":"object-set-table.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/object-set-table/object-set-table.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAc,QAAQ,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAK5E;;;;;;;GAOG;AACH,QAAA,MAAM,cAAc,GAAI,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAAE,QAAQ,oBAAoB,CAAC,CAAC,CAAC,4CAqDrF,CAAA;AAED,OAAO,EAAE,cAAc,EAAE,CAAA"}
1
+ {"version":3,"file":"object-set-table.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/object-set-table/object-set-table.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAc,QAAQ,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAM5E;;;;;;;GAOG;AACH,QAAA,MAAM,cAAc,GAAI,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAAE,QAAQ,oBAAoB,CAAC,CAAC,CAAC,4CAsDrF,CAAA;AAED,OAAO,EAAE,cAAc,EAAE,CAAA"}
@@ -10,6 +10,7 @@ import { TableProvider } from './subcomponents/table-provider/table-provider.js'
10
10
  import { defaultColumnAlignment } from './subcomponents/default-fns/default-column-config.js';
11
11
  import { defaultHeaderRenderer } from './subcomponents/default-header-renderers/default-header-renderer.js';
12
12
  import { defaultSortFns } from './subcomponents/default-sort-columns/default-sort-fns.js';
13
+ import { getCellEditorFn } from './subcomponents/default-cell-editors/get-cell-editor-fn.js';
13
14
  /**
14
15
  * The ObjectSetTable component is a table component that displays a list of objects.
15
16
  *
@@ -41,6 +42,7 @@ const ObjectSetTable = (config) => {
41
42
  config.data[context.rowIndex][context.column.field] = value;
42
43
  return true;
43
44
  }),
45
+ renderCellEditor: column.renderCellEditor ?? getCellEditorFn(column.type),
44
46
  // sorting
45
47
  sortable: column.sortable ?? false,
46
48
  defaultSortDirection: column.defaultSortDirection ?? 'asc',
@@ -1 +1 @@
1
- {"version":3,"file":"object-set-table.js","sourceRoot":"","sources":["../../../../../src/ui/components/object-set-table/object-set-table.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object-set-table.js","sourceRoot":"","sources":["../../../../../src/ui/components/object-set-table/object-set-table.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"render-cell.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/cells/render-cell.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAe,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAKtE,UAAU,eAAe,CAAC,CAAC,SAAS,QAAQ;IAC1C,OAAO,EAAE,CAAC,CAAA;IACV,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,QAAA,MAAM,UAAU,GAAI,CAAC,SAAS,QAAQ,EAAE,8DAMrC,eAAe,CAAC,CAAC,CAAC,4CA4FpB,CAAA;AAED,OAAO,EAAE,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"render-cell.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/cells/render-cell.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAOtE,UAAU,eAAe,CAAC,CAAC,SAAS,QAAQ;IAC1C,OAAO,EAAE,CAAC,CAAA;IACV,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,QAAA,MAAM,UAAU,GAAI,CAAC,SAAS,QAAQ,EAAE,8DAMrC,eAAe,CAAC,CAAC,CAAC,4CAuFpB,CAAA;AAED,OAAO,EAAE,UAAU,EAAE,CAAA"}
@@ -1,34 +1,36 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useCallback } from 'react';
3
- import { Input } from '../../../data-entry/input/index.js';
4
3
  import { isCellEqual } from '../../utils.js';
5
4
  import { useInternalTableState } from '../table-provider/table-provider.js';
6
5
  import { DefaultTableCell } from './default-cell.js';
6
+ import { Form } from '../../../../../scalars/components/form/form.js';
7
+ import { cn } from '../../../../../scalars/lib/utils.js';
7
8
  const RenderCell = ({ rowItem, column, rowIndex, columnIndex, renderEmptyCell = false, }) => {
8
- const { config, state: { dispatch, selectedCellIndex, isCellEditMode }, api, } = useInternalTableState();
9
+ const { config, state: { selectedCellIndex, isCellEditMode }, api, } = useInternalTableState();
9
10
  /**
10
11
  * Create a handler for the click event on the table cell
11
12
  * This handler is used to enter cell edit mode or select a cell
12
13
  */
13
14
  const createCellClickHandler = useCallback((index, column, columnDef) => (e) => {
14
15
  // if the cell is being edited, ignore clicking on it
15
- if (isCellEditMode && selectedCellIndex?.row === index && selectedCellIndex.column === column) {
16
+ if (api.isEditing() && selectedCellIndex?.row === index && selectedCellIndex.column === column) {
16
17
  return;
17
18
  }
18
- // if shift or ctrl is pressed, the user is probably trying to select rows
19
+ // if shift, cmd or ctrl is pressed, the user is probably trying to select rows
19
20
  if (!e.ctrlKey && !e.metaKey && !e.shiftKey) {
21
+ // if a cell is being edited but the cell being clicked is not the same
22
+ // we need to save it before exiting edit mode and selecting a new cell
23
+ if (api.isEditing()) {
24
+ void api.exitCellEditMode(true);
25
+ }
20
26
  if (e.detail === 2 && columnDef.editable) {
21
- // TODO: move this to the api
22
- dispatch?.({
23
- type: 'ENTER_CELL_EDIT_MODE',
24
- payload: { row: index, column },
25
- });
27
+ api.enterCellEditMode(index, column);
26
28
  }
27
29
  else {
28
30
  api.selection.selectCell(index, column);
29
31
  }
30
32
  }
31
- }, [dispatch, isCellEditMode]);
33
+ }, [selectedCellIndex, api]);
32
34
  const currentCellIndex = {
33
35
  row: rowIndex,
34
36
  column: columnIndex,
@@ -51,12 +53,8 @@ const RenderCell = ({ rowItem, column, rowIndex, columnIndex, renderEmptyCell =
51
53
  // get and format the cell value
52
54
  const cellValue = column.valueFormatter?.(column.valueGetter?.(rowItem, cellContext), cellContext);
53
55
  const isThisCellEditMode = isCellEditMode && isThisCellSelected;
54
- return (_jsx(DefaultTableCell, { onClick: createCellClickHandler(rowIndex, columnIndex, column), isSelected: isThisCellSelected, isEditable: column.editable ?? false, children: isThisCellEditMode ? (_jsx(Input, { className: "max-w-full", autoFocus: true, defaultValue: column.valueGetter?.(rowItem, cellContext), onKeyDown: (e) => {
55
- if (e.key === 'Enter') {
56
- const newValue = e.target.value;
57
- column.onSave?.(newValue, cellContext);
58
- }
59
- } })) : (column.renderCell?.(cellValue, cellContext)) }, column.field));
56
+ const formRef = api._getState().dataFormReferences[rowIndex][columnIndex];
57
+ return (_jsx(DefaultTableCell, { onClick: createCellClickHandler(rowIndex, columnIndex, column), isSelected: isThisCellSelected, isEditable: column.editable ?? false, children: _jsxs(Form, { ref: formRef, onSubmit: () => undefined, submitChangesOnly: true, children: [_jsx("div", { className: cn({ hidden: !isThisCellEditMode }), children: column.renderCellEditor?.(cellValue, () => null, cellContext) }), _jsx("div", { className: cn({ hidden: isThisCellEditMode }), children: column.renderCell?.(cellValue, cellContext) })] }) }, column.field));
60
58
  };
61
59
  export { RenderCell };
62
60
  //# sourceMappingURL=render-cell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"render-cell.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/cells/render-cell.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-cell.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/cells/render-cell.tsx"],"names":[],"mappings":"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"}
@@ -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"}
@@ -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,4CAiD/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, config.columns),
11
13
  data: config.data,
12
14
  allowRowSelection: config.allowRowSelection ?? true,
13
15
  showRowNumbers: config.showRowNumbers ?? true,
@@ -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":";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;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AASrD,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,kBAAkB,EAAE,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC;QAC5E,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,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[];