@cratis/components 0.1.19 → 1.0.4

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 (309) hide show
  1. package/dist/cjs/CommandDialog/CommandDialog.js +35 -24
  2. package/dist/cjs/CommandDialog/CommandDialog.js.map +1 -1
  3. package/dist/cjs/CommandForm/fields/CheckboxField.js +2 -2
  4. package/dist/cjs/CommandForm/fields/CheckboxField.js.map +1 -1
  5. package/dist/cjs/CommandForm/fields/DropdownField.js +5 -5
  6. package/dist/cjs/CommandForm/fields/DropdownField.js.map +1 -1
  7. package/dist/cjs/CommandForm/fields/InputTextField.js +2 -2
  8. package/dist/cjs/CommandForm/fields/InputTextField.js.map +1 -1
  9. package/dist/cjs/CommandForm/fields/NumberField.js +2 -2
  10. package/dist/cjs/CommandForm/fields/NumberField.js.map +1 -1
  11. package/dist/cjs/CommandForm/fields/SliderField.js +5 -9
  12. package/dist/cjs/CommandForm/fields/SliderField.js.map +1 -1
  13. package/dist/cjs/CommandForm/fields/TextAreaField.js +2 -2
  14. package/dist/cjs/CommandForm/fields/TextAreaField.js.map +1 -1
  15. package/dist/cjs/CommandForm/index.js +35 -15
  16. package/dist/cjs/CommandForm/index.js.map +1 -1
  17. package/dist/cjs/DataTables/DataTableForObservableQuery.js +53 -1
  18. package/dist/cjs/DataTables/DataTableForObservableQuery.js.map +1 -1
  19. package/dist/cjs/DataTables/DataTableForQuery.js +19 -1
  20. package/dist/cjs/DataTables/DataTableForQuery.js.map +1 -1
  21. package/dist/cjs/Dialogs/BusyIndicatorDialog.js +2 -3
  22. package/dist/cjs/Dialogs/BusyIndicatorDialog.js.map +1 -1
  23. package/dist/cjs/Dialogs/ConfirmationDialog.js +4 -21
  24. package/dist/cjs/Dialogs/ConfirmationDialog.js.map +1 -1
  25. package/dist/cjs/Dialogs/Dialog.js +66 -0
  26. package/dist/cjs/Dialogs/Dialog.js.map +1 -0
  27. package/dist/cjs/Dialogs/index.js +4 -2
  28. package/dist/cjs/Dialogs/index.js.map +1 -1
  29. package/dist/cjs/ObjectContentEditor/ObjectContentEditor.js +156 -0
  30. package/dist/cjs/ObjectContentEditor/ObjectContentEditor.js.map +1 -0
  31. package/dist/cjs/ObjectContentEditor/index.js +8 -0
  32. package/dist/cjs/{EventModeling → ObjectContentEditor}/index.js.map +1 -1
  33. package/dist/cjs/ObjectNavigationalBar/ObjectNavigationalBar.js +45 -0
  34. package/dist/cjs/ObjectNavigationalBar/ObjectNavigationalBar.js.map +1 -0
  35. package/dist/cjs/ObjectNavigationalBar/index.js +8 -0
  36. package/dist/cjs/ObjectNavigationalBar/index.js.map +1 -0
  37. package/dist/cjs/SchemaEditor/NameCell.js +38 -0
  38. package/dist/cjs/SchemaEditor/NameCell.js.map +1 -0
  39. package/dist/cjs/SchemaEditor/SchemaEditor.js +352 -0
  40. package/dist/cjs/SchemaEditor/SchemaEditor.js.map +1 -0
  41. package/dist/cjs/SchemaEditor/SchemaEditor.module.css +11 -0
  42. package/dist/cjs/SchemaEditor/TypeCell.js +102 -0
  43. package/dist/cjs/SchemaEditor/TypeCell.js.map +1 -0
  44. package/dist/cjs/SchemaEditor/index.js +10 -0
  45. package/dist/cjs/SchemaEditor/index.js.map +1 -0
  46. package/dist/cjs/index.js +10 -6
  47. package/dist/cjs/index.js.map +1 -1
  48. package/dist/cjs/types/TypeFormat.js +20 -0
  49. package/dist/cjs/types/TypeFormat.js.map +1 -0
  50. package/dist/esm/CommandDialog/CommandDialog.d.ts +22 -1
  51. package/dist/esm/CommandDialog/CommandDialog.d.ts.map +1 -1
  52. package/dist/esm/CommandDialog/CommandDialog.js +35 -24
  53. package/dist/esm/CommandDialog/CommandDialog.js.map +1 -1
  54. package/dist/esm/CommandDialog/CommandDialog.stories.d.ts +11 -0
  55. package/dist/esm/CommandDialog/CommandDialog.stories.d.ts.map +1 -1
  56. package/dist/esm/CommandDialog/CommandDialog.stories.js +208 -3
  57. package/dist/esm/CommandDialog/CommandDialog.stories.js.map +1 -1
  58. package/dist/esm/CommandForm/fields/CheckboxField.d.ts +3 -2
  59. package/dist/esm/CommandForm/fields/CheckboxField.d.ts.map +1 -1
  60. package/dist/esm/CommandForm/fields/CheckboxField.js +1 -1
  61. package/dist/esm/CommandForm/fields/CheckboxField.js.map +1 -1
  62. package/dist/esm/CommandForm/fields/DropdownField.d.ts +7 -6
  63. package/dist/esm/CommandForm/fields/DropdownField.d.ts.map +1 -1
  64. package/dist/esm/CommandForm/fields/DropdownField.js +6 -6
  65. package/dist/esm/CommandForm/fields/DropdownField.js.map +1 -1
  66. package/dist/esm/CommandForm/fields/Fields.stories.d.ts +13 -0
  67. package/dist/esm/CommandForm/fields/Fields.stories.d.ts.map +1 -0
  68. package/dist/esm/CommandForm/fields/Fields.stories.js +137 -0
  69. package/dist/esm/CommandForm/fields/Fields.stories.js.map +1 -0
  70. package/dist/esm/CommandForm/fields/InputTextField.d.ts +3 -2
  71. package/dist/esm/CommandForm/fields/InputTextField.d.ts.map +1 -1
  72. package/dist/esm/CommandForm/fields/InputTextField.js +1 -1
  73. package/dist/esm/CommandForm/fields/InputTextField.js.map +1 -1
  74. package/dist/esm/CommandForm/fields/NumberField.d.ts +3 -2
  75. package/dist/esm/CommandForm/fields/NumberField.d.ts.map +1 -1
  76. package/dist/esm/CommandForm/fields/NumberField.js +1 -1
  77. package/dist/esm/CommandForm/fields/NumberField.js.map +1 -1
  78. package/dist/esm/CommandForm/fields/SliderField.d.ts +5 -4
  79. package/dist/esm/CommandForm/fields/SliderField.d.ts.map +1 -1
  80. package/dist/esm/CommandForm/fields/SliderField.js +5 -9
  81. package/dist/esm/CommandForm/fields/SliderField.js.map +1 -1
  82. package/dist/esm/CommandForm/fields/TextAreaField.d.ts +3 -2
  83. package/dist/esm/CommandForm/fields/TextAreaField.d.ts.map +1 -1
  84. package/dist/esm/CommandForm/fields/TextAreaField.js +1 -1
  85. package/dist/esm/CommandForm/fields/TextAreaField.js.map +1 -1
  86. package/dist/esm/CommandForm/fields/index.d.ts +2 -2
  87. package/dist/esm/CommandForm/fields/index.d.ts.map +1 -1
  88. package/dist/esm/CommandForm/fields/index.js +2 -2
  89. package/dist/esm/CommandForm/fields/index.js.map +1 -1
  90. package/dist/esm/CommandForm/index.d.ts +1 -5
  91. package/dist/esm/CommandForm/index.d.ts.map +1 -1
  92. package/dist/esm/CommandForm/index.js +3 -7
  93. package/dist/esm/CommandForm/index.js.map +1 -1
  94. package/dist/esm/Common/ErrorBoundary.d.ts +1 -1
  95. package/dist/esm/Common/ErrorBoundary.stories.d.ts +7 -7
  96. package/dist/esm/Common/ErrorBoundary.stories.d.ts.map +1 -1
  97. package/dist/esm/Common/ErrorBoundary.stories.js +21 -5
  98. package/dist/esm/Common/ErrorBoundary.stories.js.map +1 -1
  99. package/dist/esm/Common/FormElement.stories.d.ts +8 -7
  100. package/dist/esm/Common/FormElement.stories.d.ts.map +1 -1
  101. package/dist/esm/Common/FormElement.stories.js +25 -4
  102. package/dist/esm/Common/FormElement.stories.js.map +1 -1
  103. package/dist/esm/Common/Page.stories.d.ts +7 -7
  104. package/dist/esm/Common/Page.stories.d.ts.map +1 -1
  105. package/dist/esm/Common/Page.stories.js +20 -5
  106. package/dist/esm/Common/Page.stories.js.map +1 -1
  107. package/dist/esm/DataPage/DataPage.stories.d.ts +7 -7
  108. package/dist/esm/DataPage/DataPage.stories.d.ts.map +1 -1
  109. package/dist/esm/DataPage/DataPage.stories.js +56 -5
  110. package/dist/esm/DataPage/DataPage.stories.js.map +1 -1
  111. package/dist/esm/DataTables/DataTableForObservableQuery.d.ts +1 -0
  112. package/dist/esm/DataTables/DataTableForObservableQuery.d.ts.map +1 -1
  113. package/dist/esm/DataTables/DataTableForObservableQuery.js +55 -3
  114. package/dist/esm/DataTables/DataTableForObservableQuery.js.map +1 -1
  115. package/dist/esm/DataTables/DataTableForObservableQuery.stories.d.ts +7 -7
  116. package/dist/esm/DataTables/DataTableForObservableQuery.stories.d.ts.map +1 -1
  117. package/dist/esm/DataTables/DataTableForObservableQuery.stories.js +78 -5
  118. package/dist/esm/DataTables/DataTableForObservableQuery.stories.js.map +1 -1
  119. package/dist/esm/DataTables/DataTableForQuery.d.ts +1 -0
  120. package/dist/esm/DataTables/DataTableForQuery.d.ts.map +1 -1
  121. package/dist/esm/DataTables/DataTableForQuery.js +21 -3
  122. package/dist/esm/DataTables/DataTableForQuery.js.map +1 -1
  123. package/dist/esm/DataTables/DataTableForQuery.stories.d.ts +7 -7
  124. package/dist/esm/DataTables/DataTableForQuery.stories.d.ts.map +1 -1
  125. package/dist/esm/DataTables/DataTableForQuery.stories.js +53 -5
  126. package/dist/esm/DataTables/DataTableForQuery.stories.js.map +1 -1
  127. package/dist/esm/Dialogs/BusyIndicatorDialog.d.ts.map +1 -1
  128. package/dist/esm/Dialogs/BusyIndicatorDialog.js +3 -4
  129. package/dist/esm/Dialogs/BusyIndicatorDialog.js.map +1 -1
  130. package/dist/esm/Dialogs/ConfirmationDialog.d.ts.map +1 -1
  131. package/dist/esm/Dialogs/ConfirmationDialog.js +6 -23
  132. package/dist/esm/Dialogs/ConfirmationDialog.js.map +1 -1
  133. package/dist/esm/Dialogs/Dialog.d.ts +23 -0
  134. package/dist/esm/Dialogs/Dialog.d.ts.map +1 -0
  135. package/dist/esm/Dialogs/Dialog.js +64 -0
  136. package/dist/esm/Dialogs/Dialog.js.map +1 -0
  137. package/dist/esm/Dialogs/Dialog.stories.d.ts +12 -0
  138. package/dist/esm/Dialogs/Dialog.stories.d.ts.map +1 -0
  139. package/dist/esm/Dialogs/Dialog.stories.js +44 -0
  140. package/dist/esm/Dialogs/Dialog.stories.js.map +1 -0
  141. package/dist/esm/Dialogs/index.d.ts +2 -1
  142. package/dist/esm/Dialogs/index.d.ts.map +1 -1
  143. package/dist/esm/Dialogs/index.js +2 -1
  144. package/dist/esm/Dialogs/index.js.map +1 -1
  145. package/dist/esm/ObjectContentEditor/ObjectContentEditor.d.ts +8 -0
  146. package/dist/esm/ObjectContentEditor/ObjectContentEditor.d.ts.map +1 -0
  147. package/dist/esm/ObjectContentEditor/ObjectContentEditor.js +135 -0
  148. package/dist/esm/ObjectContentEditor/ObjectContentEditor.js.map +1 -0
  149. package/dist/esm/ObjectContentEditor/ObjectContentEditor.stories.d.ts +10 -0
  150. package/dist/esm/ObjectContentEditor/ObjectContentEditor.stories.d.ts.map +1 -0
  151. package/dist/esm/ObjectContentEditor/ObjectContentEditor.stories.js +144 -0
  152. package/dist/esm/ObjectContentEditor/ObjectContentEditor.stories.js.map +1 -0
  153. package/dist/esm/ObjectContentEditor/index.d.ts +2 -0
  154. package/dist/esm/ObjectContentEditor/index.d.ts.map +1 -0
  155. package/dist/esm/ObjectContentEditor/index.js +2 -0
  156. package/dist/esm/ObjectContentEditor/index.js.map +1 -0
  157. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.d.ts +6 -0
  158. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.d.ts.map +1 -0
  159. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.js +24 -0
  160. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.js.map +1 -0
  161. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.stories.d.ts +10 -0
  162. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.stories.d.ts.map +1 -0
  163. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.stories.js +46 -0
  164. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.stories.js.map +1 -0
  165. package/dist/esm/ObjectNavigationalBar/index.d.ts +2 -0
  166. package/dist/esm/ObjectNavigationalBar/index.d.ts.map +1 -0
  167. package/dist/esm/ObjectNavigationalBar/index.js +2 -0
  168. package/dist/esm/ObjectNavigationalBar/index.js.map +1 -0
  169. package/dist/esm/SchemaEditor/NameCell.d.ts +9 -0
  170. package/dist/esm/SchemaEditor/NameCell.d.ts.map +1 -0
  171. package/dist/esm/SchemaEditor/NameCell.js +17 -0
  172. package/dist/esm/SchemaEditor/NameCell.js.map +1 -0
  173. package/dist/esm/SchemaEditor/SchemaEditor.d.ts +17 -0
  174. package/dist/esm/SchemaEditor/SchemaEditor.d.ts.map +1 -0
  175. package/dist/esm/SchemaEditor/SchemaEditor.js +331 -0
  176. package/dist/esm/SchemaEditor/SchemaEditor.js.map +1 -0
  177. package/dist/esm/SchemaEditor/SchemaEditor.module.css +11 -0
  178. package/dist/esm/SchemaEditor/SchemaEditor.stories.d.ts +12 -0
  179. package/dist/esm/SchemaEditor/SchemaEditor.stories.d.ts.map +1 -0
  180. package/dist/esm/SchemaEditor/SchemaEditor.stories.js +158 -0
  181. package/dist/esm/SchemaEditor/SchemaEditor.stories.js.map +1 -0
  182. package/dist/esm/SchemaEditor/TypeCell.d.ts +14 -0
  183. package/dist/esm/SchemaEditor/TypeCell.d.ts.map +1 -0
  184. package/dist/esm/SchemaEditor/TypeCell.js +81 -0
  185. package/dist/esm/SchemaEditor/TypeCell.js.map +1 -0
  186. package/dist/esm/SchemaEditor/index.d.ts +4 -0
  187. package/dist/esm/SchemaEditor/index.d.ts.map +1 -0
  188. package/dist/esm/SchemaEditor/index.js +3 -0
  189. package/dist/esm/TimeMachine/EventsView.stories.d.ts +8 -7
  190. package/dist/esm/TimeMachine/EventsView.stories.d.ts.map +1 -1
  191. package/dist/esm/TimeMachine/EventsView.stories.js +80 -4
  192. package/dist/esm/TimeMachine/EventsView.stories.js.map +1 -1
  193. package/dist/esm/TimeMachine/Properties.stories.d.ts +9 -7
  194. package/dist/esm/TimeMachine/Properties.stories.d.ts.map +1 -1
  195. package/dist/esm/TimeMachine/Properties.stories.js +49 -4
  196. package/dist/esm/TimeMachine/Properties.stories.js.map +1 -1
  197. package/dist/esm/TimeMachine/ReadModelView.stories.d.ts +7 -7
  198. package/dist/esm/TimeMachine/ReadModelView.stories.d.ts.map +1 -1
  199. package/dist/esm/TimeMachine/ReadModelView.stories.js +79 -5
  200. package/dist/esm/TimeMachine/ReadModelView.stories.js.map +1 -1
  201. package/dist/esm/TimeMachine/TimeMachine.stories.d.ts +8 -7
  202. package/dist/esm/TimeMachine/TimeMachine.stories.d.ts.map +1 -1
  203. package/dist/esm/TimeMachine/TimeMachine.stories.js +113 -4
  204. package/dist/esm/TimeMachine/TimeMachine.stories.js.map +1 -1
  205. package/dist/esm/index.d.ts +4 -2
  206. package/dist/esm/index.d.ts.map +1 -1
  207. package/dist/esm/index.js +10 -6
  208. package/dist/esm/index.js.map +1 -1
  209. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  210. package/dist/esm/types/JsonSchema.d.ts +32 -0
  211. package/dist/esm/types/JsonSchema.d.ts.map +1 -0
  212. package/dist/esm/types/JsonSchema.js +2 -0
  213. package/dist/esm/types/JsonSchema.js.map +1 -0
  214. package/dist/esm/types/TypeFormat.d.ts +6 -0
  215. package/dist/esm/types/TypeFormat.d.ts.map +1 -0
  216. package/dist/esm/types/TypeFormat.js +18 -0
  217. package/dist/esm/types/TypeFormat.js.map +1 -0
  218. package/package.json +12 -7
  219. package/dist/cjs/CommandForm/CommandForm.js +0 -183
  220. package/dist/cjs/CommandForm/CommandForm.js.map +0 -1
  221. package/dist/cjs/CommandForm/CommandFormField.js +0 -11
  222. package/dist/cjs/CommandForm/CommandFormField.js.map +0 -1
  223. package/dist/cjs/CommandForm/CommandFormFields.js +0 -73
  224. package/dist/cjs/CommandForm/CommandFormFields.js.map +0 -1
  225. package/dist/cjs/CommandForm/ValidationMessage.js +0 -24
  226. package/dist/cjs/CommandForm/ValidationMessage.js.map +0 -1
  227. package/dist/cjs/CommandForm/asCommandFormField.js +0 -47
  228. package/dist/cjs/CommandForm/asCommandFormField.js.map +0 -1
  229. package/dist/cjs/EventModeling/EventModeling.css +0 -146
  230. package/dist/cjs/EventModeling/EventModeling.js +0 -209
  231. package/dist/cjs/EventModeling/EventModeling.js.map +0 -1
  232. package/dist/cjs/EventModeling/components/Canvas.js +0 -403
  233. package/dist/cjs/EventModeling/components/Canvas.js.map +0 -1
  234. package/dist/cjs/EventModeling/components/CanvasControls.js +0 -10
  235. package/dist/cjs/EventModeling/components/CanvasControls.js.map +0 -1
  236. package/dist/cjs/EventModeling/components/Toolbox.js +0 -18
  237. package/dist/cjs/EventModeling/components/Toolbox.js.map +0 -1
  238. package/dist/cjs/EventModeling/engine/connectorGraphics.js +0 -173
  239. package/dist/cjs/EventModeling/engine/connectorGraphics.js.map +0 -1
  240. package/dist/cjs/EventModeling/engine/elementSprites.js +0 -301
  241. package/dist/cjs/EventModeling/engine/elementSprites.js.map +0 -1
  242. package/dist/cjs/EventModeling/index.js +0 -12
  243. package/dist/cjs/EventModeling/types.js +0 -60
  244. package/dist/cjs/EventModeling/types.js.map +0 -1
  245. package/dist/esm/CommandForm/CommandForm.d.ts +0 -49
  246. package/dist/esm/CommandForm/CommandForm.d.ts.map +0 -1
  247. package/dist/esm/CommandForm/CommandForm.js +0 -178
  248. package/dist/esm/CommandForm/CommandForm.js.map +0 -1
  249. package/dist/esm/CommandForm/CommandForm.stories.d.ts +0 -8
  250. package/dist/esm/CommandForm/CommandForm.stories.d.ts.map +0 -1
  251. package/dist/esm/CommandForm/CommandForm.stories.js +0 -45
  252. package/dist/esm/CommandForm/CommandForm.stories.js.map +0 -1
  253. package/dist/esm/CommandForm/CommandFormField.d.ts +0 -18
  254. package/dist/esm/CommandForm/CommandFormField.d.ts.map +0 -1
  255. package/dist/esm/CommandForm/CommandFormField.js +0 -9
  256. package/dist/esm/CommandForm/CommandFormField.js.map +0 -1
  257. package/dist/esm/CommandForm/CommandFormFields.d.ts +0 -11
  258. package/dist/esm/CommandForm/CommandFormFields.d.ts.map +0 -1
  259. package/dist/esm/CommandForm/CommandFormFields.js +0 -71
  260. package/dist/esm/CommandForm/CommandFormFields.js.map +0 -1
  261. package/dist/esm/CommandForm/UserRegistrationCommand.d.ts +0 -63
  262. package/dist/esm/CommandForm/UserRegistrationCommand.d.ts.map +0 -1
  263. package/dist/esm/CommandForm/UserRegistrationCommand.js +0 -143
  264. package/dist/esm/CommandForm/UserRegistrationCommand.js.map +0 -1
  265. package/dist/esm/CommandForm/ValidationMessage.d.ts +0 -8
  266. package/dist/esm/CommandForm/ValidationMessage.d.ts.map +0 -1
  267. package/dist/esm/CommandForm/ValidationMessage.js +0 -22
  268. package/dist/esm/CommandForm/ValidationMessage.js.map +0 -1
  269. package/dist/esm/CommandForm/asCommandFormField.d.ts +0 -32
  270. package/dist/esm/CommandForm/asCommandFormField.d.ts.map +0 -1
  271. package/dist/esm/CommandForm/asCommandFormField.js +0 -45
  272. package/dist/esm/CommandForm/asCommandFormField.js.map +0 -1
  273. package/dist/esm/EventModeling/EventModeling.css +0 -146
  274. package/dist/esm/EventModeling/EventModeling.d.ts +0 -11
  275. package/dist/esm/EventModeling/EventModeling.d.ts.map +0 -1
  276. package/dist/esm/EventModeling/EventModeling.js +0 -207
  277. package/dist/esm/EventModeling/EventModeling.js.map +0 -1
  278. package/dist/esm/EventModeling/EventModeling.stories.d.ts +0 -10
  279. package/dist/esm/EventModeling/EventModeling.stories.d.ts.map +0 -1
  280. package/dist/esm/EventModeling/EventModeling.stories.js +0 -252
  281. package/dist/esm/EventModeling/EventModeling.stories.js.map +0 -1
  282. package/dist/esm/EventModeling/components/Canvas.d.ts +0 -23
  283. package/dist/esm/EventModeling/components/Canvas.d.ts.map +0 -1
  284. package/dist/esm/EventModeling/components/Canvas.js +0 -382
  285. package/dist/esm/EventModeling/components/Canvas.js.map +0 -1
  286. package/dist/esm/EventModeling/components/CanvasControls.d.ts +0 -10
  287. package/dist/esm/EventModeling/components/CanvasControls.d.ts.map +0 -1
  288. package/dist/esm/EventModeling/components/CanvasControls.js +0 -8
  289. package/dist/esm/EventModeling/components/CanvasControls.js.map +0 -1
  290. package/dist/esm/EventModeling/components/Toolbox.d.ts +0 -9
  291. package/dist/esm/EventModeling/components/Toolbox.d.ts.map +0 -1
  292. package/dist/esm/EventModeling/components/Toolbox.js +0 -16
  293. package/dist/esm/EventModeling/components/Toolbox.js.map +0 -1
  294. package/dist/esm/EventModeling/engine/connectorGraphics.d.ts +0 -12
  295. package/dist/esm/EventModeling/engine/connectorGraphics.d.ts.map +0 -1
  296. package/dist/esm/EventModeling/engine/connectorGraphics.js +0 -151
  297. package/dist/esm/EventModeling/engine/connectorGraphics.js.map +0 -1
  298. package/dist/esm/EventModeling/engine/elementSprites.d.ts +0 -23
  299. package/dist/esm/EventModeling/engine/elementSprites.d.ts.map +0 -1
  300. package/dist/esm/EventModeling/engine/elementSprites.js +0 -276
  301. package/dist/esm/EventModeling/engine/elementSprites.js.map +0 -1
  302. package/dist/esm/EventModeling/index.d.ts +0 -3
  303. package/dist/esm/EventModeling/index.d.ts.map +0 -1
  304. package/dist/esm/EventModeling/index.js +0 -3
  305. package/dist/esm/EventModeling/types.d.ts +0 -79
  306. package/dist/esm/EventModeling/types.d.ts.map +0 -1
  307. package/dist/esm/EventModeling/types.js +0 -56
  308. package/dist/esm/EventModeling/types.js.map +0 -1
  309. /package/dist/esm/{EventModeling → SchemaEditor}/index.js.map +0 -0
@@ -1,49 +0,0 @@
1
- import { Constructor } from '@cratis/fundamentals';
2
- import { SetCommandValues } from '@cratis/arc.react/commands';
3
- import { ICommandResult } from '@cratis/arc/commands';
4
- import React from 'react';
5
- export type BeforeExecuteCallback<TCommand> = (values: TCommand) => TCommand;
6
- export interface CommandFormProps<TCommand extends object> {
7
- command: Constructor<TCommand>;
8
- initialValues?: Partial<TCommand>;
9
- currentValues?: Partial<TCommand> | undefined;
10
- onFieldValidate?: (command: TCommand, fieldName: string, oldValue: unknown, newValue: unknown) => string | undefined;
11
- onFieldChange?: (command: TCommand, fieldName: string, oldValue: unknown, newValue: unknown) => void;
12
- onBeforeExecute?: BeforeExecuteCallback<TCommand>;
13
- children?: React.ReactNode;
14
- }
15
- interface CommandFormContextValue<TCommand> {
16
- command: Constructor<TCommand>;
17
- commandInstance: TCommand;
18
- setCommandValues: SetCommandValues<TCommand>;
19
- commandResult?: ICommandResult<unknown>;
20
- setCommandResult: (result: ICommandResult<unknown>) => void;
21
- getFieldError: (propertyName: string) => string | undefined;
22
- isValid: boolean;
23
- setFieldValidity: (fieldName: string, isValid: boolean) => void;
24
- onFieldValidate?: (command: TCommand, fieldName: string, oldValue: unknown, newValue: unknown) => string | undefined;
25
- onFieldChange?: (command: TCommand, fieldName: string, oldValue: unknown, newValue: unknown) => void;
26
- onBeforeExecute?: BeforeExecuteCallback<TCommand>;
27
- customFieldErrors: Record<string, string>;
28
- setCustomFieldError: (fieldName: string, error: string | undefined) => void;
29
- }
30
- export declare const useCommandFormContext: <TCommand>() => CommandFormContextValue<TCommand>;
31
- export declare const useCommandInstance: <TCommand = unknown>() => TCommand;
32
- export declare const useSetCommandResult: () => (result: ICommandResult<unknown>) => void;
33
- export declare const CommandForm: {
34
- <TCommand extends object = object>(props: CommandFormProps<TCommand>): import("react/jsx-runtime").JSX.Element;
35
- Fields: {
36
- (props: {
37
- children: React.ReactNode;
38
- }): import("react/jsx-runtime").JSX.Element;
39
- displayName: string;
40
- };
41
- Column: {
42
- (_props: {
43
- children: React.ReactNode;
44
- }): import("react/jsx-runtime").JSX.Element;
45
- displayName: string;
46
- };
47
- };
48
- export {};
49
- //# sourceMappingURL=CommandForm.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CommandForm.d.ts","sourceRoot":"","sources":["../../../CommandForm/CommandForm.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAc,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAoE,MAAM,OAAO,CAAC;AAIzF,MAAM,MAAM,qBAAqB,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE,QAAQ,KAAK,QAAQ,CAAC;AAE7E,MAAM,WAAW,gBAAgB,CAAC,QAAQ,SAAS,MAAM;IACrD,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;IAC9C,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK,MAAM,GAAG,SAAS,CAAC;IACrH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACrG,eAAe,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAClD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B;AAED,UAAU,uBAAuB,CAAC,QAAQ;IACtC,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,eAAe,EAAE,QAAQ,CAAC;IAC1B,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC7C,aAAa,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACxC,gBAAgB,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAC5D,aAAa,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC5D,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAChE,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK,MAAM,GAAG,SAAS,CAAC;IACrH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACrG,eAAe,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAClD,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;CAC/E;AAID,eAAO,MAAM,qBAAqB,GAAI,QAAQ,OAKxB,uBAAuB,CAAC,QAAQ,CACrD,CAAC;AAGF,eAAO,MAAM,kBAAkB,GAAI,QAAQ,GAAG,OAAO,OAEvB,QAC7B,CAAC;AAGF,eAAO,MAAM,mBAAmB,iBA5BD,cAAc,CAAC,OAAO,CAAC,KAAK,IA+B1D,CAAC;AAkNF,eAAO,MAAM,WAAW;KA/GM,QAAQ,SAAS,MAAM,kBAAkB,gBAAgB,CAAC,QAAQ,CAAC;;gBAjGxD;YAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;SAAE;;;;iBAsM1B;YAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;SAAE;;;CAU1B,CAAC"}
@@ -1,178 +0,0 @@
1
- import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
- import { CommandFormFields } from './CommandFormFields.js';
3
- import { useCommand } from '@cratis/arc.react/commands';
4
- import React, { createContext, useContext, useMemo, useState, useCallback } from 'react';
5
- import { Panel } from 'primereact/panel';
6
-
7
- const CommandFormContext = createContext(undefined);
8
- const useCommandFormContext = () => {
9
- const context = useContext(CommandFormContext);
10
- if (!context) {
11
- throw new Error('useCommandFormContext must be used within a CommandForm');
12
- }
13
- return context;
14
- };
15
- const useCommandInstance = () => {
16
- const { commandInstance } = useCommandFormContext();
17
- return commandInstance;
18
- };
19
- const useSetCommandResult = () => {
20
- const { setCommandResult } = useCommandFormContext();
21
- return setCommandResult;
22
- };
23
- const CommandFormFieldsWrapper = (props) => {
24
- React.Children.forEach(props.children, child => {
25
- if (React.isValidElement(child)) {
26
- const component = child.type;
27
- if (component.displayName !== 'CommandFormField') {
28
- throw new Error(`Only CommandFormField components are allowed as children of CommandForm.Fields. Got: ${component.displayName || component.name || 'Unknown'}`);
29
- }
30
- }
31
- });
32
- return jsx(Fragment, {});
33
- };
34
- CommandFormFieldsWrapper.displayName = 'CommandFormFieldsWrapper';
35
- const getCommandFormFields = (props) => {
36
- if (!props.children) {
37
- return { fieldsOrColumns: [], otherChildren: [], initialValuesFromFields: {} };
38
- }
39
- let fields = [];
40
- const columns = [];
41
- let hasColumns = false;
42
- const otherChildren = [];
43
- let initialValuesFromFields = {};
44
- const extractInitialValue = (field) => {
45
- const fieldProps = field.props;
46
- if (fieldProps.currentValue !== undefined && fieldProps.value) {
47
- const propertyAccessor = fieldProps.value;
48
- const propertyName = getPropertyNameFromAccessor(propertyAccessor);
49
- if (propertyName) {
50
- initialValuesFromFields = { ...initialValuesFromFields, [propertyName]: fieldProps.currentValue };
51
- }
52
- }
53
- };
54
- React.Children.toArray(props.children).forEach(child => {
55
- if (!React.isValidElement(child)) {
56
- otherChildren.push(child);
57
- return;
58
- }
59
- const component = child.type;
60
- if (component.displayName === 'CommandFormColumn') {
61
- hasColumns = true;
62
- const childProps = child.props;
63
- const columnFields = React.Children.toArray(childProps.children).filter(child => {
64
- if (React.isValidElement(child)) {
65
- const comp = child.type;
66
- if (comp.displayName === 'CommandFormField') {
67
- extractInitialValue(child);
68
- return true;
69
- }
70
- }
71
- return false;
72
- });
73
- columns.push({ fields: columnFields });
74
- }
75
- else if (component.displayName === 'CommandFormField') {
76
- extractInitialValue(child);
77
- fields.push(child);
78
- }
79
- else if (component === CommandFormFieldsWrapper || component.displayName === 'CommandFormFieldsWrapper') {
80
- const childProps = child.props;
81
- const relevantChildren = React.Children.toArray(childProps.children).filter(child => {
82
- if (React.isValidElement(child)) {
83
- const component = child.type;
84
- if (component.displayName === 'CommandFormField') {
85
- extractInitialValue(child);
86
- return true;
87
- }
88
- }
89
- return false;
90
- });
91
- fields = [...fields, ...relevantChildren];
92
- }
93
- else {
94
- otherChildren.push(child);
95
- }
96
- });
97
- return { fieldsOrColumns: hasColumns ? columns : fields, otherChildren, initialValuesFromFields };
98
- };
99
- function getPropertyNameFromAccessor(accessor) {
100
- if (typeof accessor !== 'function')
101
- return '';
102
- const fnStr = accessor.toString();
103
- const match = fnStr.match(/\.([a-zA-Z_$][a-zA-Z0-9_$]*)/);
104
- return match ? match[1] : '';
105
- }
106
- const CommandFormComponent = (props) => {
107
- const { fieldsOrColumns, otherChildren, initialValuesFromFields } = useMemo(() => getCommandFormFields(props), [props.children]);
108
- const valuesFromCurrentValues = useMemo(() => {
109
- if (!props.currentValues)
110
- return {};
111
- const tempCommand = new props.command();
112
- const commandProperties = (tempCommand.properties || []);
113
- const extracted = {};
114
- commandProperties.forEach((propertyName) => {
115
- if (props.currentValues[propertyName] !== undefined) {
116
- extracted[propertyName] = props.currentValues[propertyName];
117
- }
118
- });
119
- return extracted;
120
- }, [props.currentValues, props.command]);
121
- const mergedInitialValues = useMemo(() => ({
122
- ...valuesFromCurrentValues,
123
- ...initialValuesFromFields,
124
- ...props.initialValues
125
- }), [valuesFromCurrentValues, initialValuesFromFields, props.initialValues]);
126
- const useCommandResult = useCommand(props.command, mergedInitialValues);
127
- const commandInstance = useCommandResult[0];
128
- const setCommandValues = useCommandResult[1];
129
- const [commandResult, setCommandResult] = useState(undefined);
130
- const [fieldValidities, setFieldValidities] = useState({});
131
- const [customFieldErrors, setCustomFieldErrors] = useState({});
132
- React.useEffect(() => {
133
- if (mergedInitialValues && Object.keys(mergedInitialValues).length > 0) {
134
- setCommandValues(mergedInitialValues);
135
- }
136
- }, [mergedInitialValues, setCommandValues]);
137
- const isValid = Object.values(fieldValidities).every(valid => valid);
138
- const setFieldValidity = useCallback((fieldName, isFieldValid) => {
139
- setFieldValidities(prev => ({ ...prev, [fieldName]: isFieldValid }));
140
- }, []);
141
- const setCustomFieldError = useCallback((fieldName, error) => {
142
- setCustomFieldErrors(prev => {
143
- if (error === undefined) {
144
- const newErrors = { ...prev };
145
- delete newErrors[fieldName];
146
- return newErrors;
147
- }
148
- return { ...prev, [fieldName]: error };
149
- });
150
- }, []);
151
- const getFieldError = (propertyName) => {
152
- if (customFieldErrors[propertyName]) {
153
- return customFieldErrors[propertyName];
154
- }
155
- if (!commandResult || !commandResult.validationResults) {
156
- return undefined;
157
- }
158
- for (const validationResult of commandResult.validationResults) {
159
- if (validationResult.members && validationResult.members.includes(propertyName)) {
160
- return validationResult.message;
161
- }
162
- }
163
- return undefined;
164
- };
165
- const exceptionMessages = commandResult?.exceptionMessages || [];
166
- const hasColumns = fieldsOrColumns.length > 0 && 'fields' in fieldsOrColumns[0];
167
- return (jsxs(CommandFormContext.Provider, { value: { command: props.command, commandInstance, setCommandValues, commandResult, setCommandResult, getFieldError, isValid, setFieldValidity, onFieldValidate: props.onFieldValidate, onFieldChange: props.onFieldChange, onBeforeExecute: props.onBeforeExecute, customFieldErrors, setCustomFieldError }, children: [jsx(CommandFormFields, { fields: hasColumns ? undefined : fieldsOrColumns, columns: hasColumns ? fieldsOrColumns : undefined }), exceptionMessages.length > 0 && (jsx("div", { className: "card flex flex-row gap-3 mt-3", children: jsx(Panel, { header: "The server responded with", className: "w-full", children: jsx("ul", { children: exceptionMessages.map((msg, idx) => (jsx("li", { children: msg }, idx))) }) }) })), otherChildren] }));
168
- };
169
- const CommandFormColumnComponent = (_props) => {
170
- return jsx(Fragment, {});
171
- };
172
- CommandFormColumnComponent.displayName = 'CommandFormColumn';
173
- CommandFormComponent.Fields = CommandFormFieldsWrapper;
174
- CommandFormComponent.Column = CommandFormColumnComponent;
175
- const CommandForm = CommandFormComponent;
176
-
177
- export { CommandForm, useCommandFormContext, useCommandInstance, useSetCommandResult };
178
- //# sourceMappingURL=CommandForm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CommandForm.js","sources":["../../../CommandForm/CommandForm.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { CommandFormFields, ColumnInfo } from './CommandFormFields';\nimport { Constructor } from '@cratis/fundamentals';\nimport { useCommand, SetCommandValues } from '@cratis/arc.react/commands';\nimport { ICommandResult } from '@cratis/arc/commands';\nimport { Command } from '@cratis/arc/commands';\nimport React, { createContext, useContext, useMemo, useState, useCallback } from 'react';\nimport type { CommandFormFieldProps } from './CommandFormField';\nimport { Panel } from 'primereact/panel';\n\nexport type BeforeExecuteCallback<TCommand> = (values: TCommand) => TCommand;\n\nexport interface CommandFormProps<TCommand extends object> {\n command: Constructor<TCommand>;\n initialValues?: Partial<TCommand>;\n currentValues?: Partial<TCommand> | undefined;\n onFieldValidate?: (command: TCommand, fieldName: string, oldValue: unknown, newValue: unknown) => string | undefined;\n onFieldChange?: (command: TCommand, fieldName: string, oldValue: unknown, newValue: unknown) => void;\n onBeforeExecute?: BeforeExecuteCallback<TCommand>;\n children?: React.ReactNode;\n}\n\ninterface CommandFormContextValue<TCommand> {\n command: Constructor<TCommand>;\n commandInstance: TCommand;\n setCommandValues: SetCommandValues<TCommand>;\n commandResult?: ICommandResult<unknown>;\n setCommandResult: (result: ICommandResult<unknown>) => void;\n getFieldError: (propertyName: string) => string | undefined;\n isValid: boolean;\n setFieldValidity: (fieldName: string, isValid: boolean) => void;\n onFieldValidate?: (command: TCommand, fieldName: string, oldValue: unknown, newValue: unknown) => string | undefined;\n onFieldChange?: (command: TCommand, fieldName: string, oldValue: unknown, newValue: unknown) => void;\n onBeforeExecute?: BeforeExecuteCallback<TCommand>;\n customFieldErrors: Record<string, string>;\n setCustomFieldError: (fieldName: string, error: string | undefined) => void;\n}\n\nconst CommandFormContext = createContext<CommandFormContextValue<unknown> | undefined>(undefined);\n\nexport const useCommandFormContext = <TCommand,>() => {\n const context = useContext(CommandFormContext);\n if (!context) {\n throw new Error('useCommandFormContext must be used within a CommandForm');\n }\n return context as CommandFormContextValue<TCommand>;\n};\n\n// Hook to get just the command instance for easier access\nexport const useCommandInstance = <TCommand = unknown>() => {\n const { commandInstance } = useCommandFormContext<TCommand>();\n return commandInstance as TCommand;\n};\n\n// Hook to get setCommandResult for easier access\nexport const useSetCommandResult = () => {\n const { setCommandResult } = useCommandFormContext();\n return setCommandResult;\n};\n\nconst CommandFormFieldsWrapper = (props: { children: React.ReactNode }) => {\n React.Children.forEach(props.children, child => {\n if (React.isValidElement(child)) {\n const component = child.type as React.ComponentType<unknown>;\n if (component.displayName !== 'CommandFormField') {\n throw new Error(`Only CommandFormField components are allowed as children of CommandForm.Fields. Got: ${component.displayName || component.name || 'Unknown'}`);\n }\n }\n });\n\n return <></>;\n};\n\nCommandFormFieldsWrapper.displayName = 'CommandFormFieldsWrapper';\n\nconst getCommandFormFields = <TCommand,>(props: { children?: React.ReactNode }): { fieldsOrColumns: React.ReactElement[] | ColumnInfo[], otherChildren: React.ReactNode[], initialValuesFromFields: Partial<TCommand> } => {\n if (!props.children) {\n return { fieldsOrColumns: [], otherChildren: [], initialValuesFromFields: {} };\n }\n let fields: React.ReactElement<CommandFormFieldProps<unknown>>[] = [];\n const columns: ColumnInfo[] = [];\n let hasColumns = false;\n const otherChildren: React.ReactNode[] = [];\n let initialValuesFromFields: Partial<TCommand> = {};\n\n const extractInitialValue = (field: React.ReactElement) => {\n const fieldProps = field.props as Record<string, unknown>;\n if (fieldProps.currentValue !== undefined && fieldProps.value) {\n const propertyAccessor = fieldProps.value;\n const propertyName = getPropertyNameFromAccessor(propertyAccessor);\n if (propertyName) {\n initialValuesFromFields = { ...initialValuesFromFields, [propertyName]: fieldProps.currentValue } as Partial<TCommand>;\n }\n }\n };\n\n React.Children.toArray(props.children).forEach(child => {\n if (!React.isValidElement(child)) {\n otherChildren.push(child);\n return;\n }\n\n const component = child.type as React.ComponentType<unknown>;\n\n // Check if child is a CommandFormColumn\n if (component.displayName === 'CommandFormColumn') {\n hasColumns = true;\n const childProps = child.props as { children?: React.ReactNode };\n const columnFields = React.Children.toArray(childProps.children).filter(child => {\n if (React.isValidElement(child)) {\n const comp = child.type as React.ComponentType<unknown>;\n if (comp.displayName === 'CommandFormField') {\n extractInitialValue(child as React.ReactElement);\n return true;\n }\n }\n return false;\n }) as React.ReactElement[];\n columns.push({ fields: columnFields as React.ReactElement<CommandFormFieldProps<unknown>>[] });\n }\n // Check if child is a CommandFormField (direct child)\n else if (component.displayName === 'CommandFormField') {\n extractInitialValue(child as React.ReactElement);\n fields.push(child as React.ReactElement<CommandFormFieldProps<unknown>>);\n }\n // Check if child is Fields wrapper (backwards compatibility)\n else if (component === CommandFormFieldsWrapper || component.displayName === 'CommandFormFieldsWrapper') {\n const childProps = child.props as { children: React.ReactNode };\n const relevantChildren = React.Children.toArray(childProps.children).filter(child => {\n if (React.isValidElement(child)) {\n const component = child.type as React.ComponentType<unknown>;\n if (component.displayName === 'CommandFormField') {\n extractInitialValue(child as React.ReactElement);\n return true;\n }\n }\n return false;\n }) as React.ReactElement[];\n fields = [...fields, ...(relevantChildren as React.ReactElement<CommandFormFieldProps<unknown>>[])];\n }\n // Everything else is not a field, keep it as other children\n else {\n otherChildren.push(child);\n }\n });\n\n return { fieldsOrColumns: hasColumns ? columns : fields, otherChildren, initialValuesFromFields };\n};\n\n// Helper function to extract property name from accessor function\nfunction getPropertyNameFromAccessor<T = unknown>(accessor: ((obj: T) => unknown) | unknown): string {\n if (typeof accessor !== 'function') return '';\n const fnStr = accessor.toString();\n const match = fnStr.match(/\\.([a-zA-Z_$][a-zA-Z0-9_$]*)/);\n return match ? match[1] : '';\n}\n\nconst CommandFormComponent = <TCommand extends object = object>(props: CommandFormProps<TCommand>) => {\n const { fieldsOrColumns, otherChildren, initialValuesFromFields } = useMemo(() => getCommandFormFields<TCommand>(props), [props.children]);\n\n // Extract matching properties from currentValues\n const valuesFromCurrentValues = useMemo(() => {\n if (!props.currentValues) return {};\n\n const tempCommand = new props.command();\n const commandProperties = ((tempCommand as Record<string, unknown>).properties || []) as string[];\n const extracted: Partial<TCommand> = {};\n\n commandProperties.forEach((propertyName: string) => {\n if ((props.currentValues as Record<string, unknown>)[propertyName] !== undefined) {\n (extracted as Record<string, unknown>)[propertyName] = (props.currentValues as Record<string, unknown>)[propertyName];\n }\n });\n\n return extracted;\n }, [props.currentValues, props.command]);\n\n // Merge initialValues prop with values extracted from field currentValue props and currentValues\n const mergedInitialValues = useMemo(() => ({\n ...valuesFromCurrentValues,\n ...initialValuesFromFields,\n ...props.initialValues\n }), [valuesFromCurrentValues, initialValuesFromFields, props.initialValues]);\n\n // useCommand returns [instance, setter] for the typed command. Provide generics so commandInstance is TCommand.\n // Using type assertion through unknown to work around generic constraint mismatch\n const useCommandResult = useCommand(props.command as unknown as Constructor<Command<Partial<TCommand>, object>>, mergedInitialValues);\n const commandInstance = useCommandResult[0] as unknown as TCommand;\n const setCommandValues = useCommandResult[1] as SetCommandValues<TCommand>;\n const [commandResult, setCommandResult] = useState<ICommandResult<unknown> | undefined>(undefined);\n const [fieldValidities, setFieldValidities] = useState<Record<string, boolean>>({});\n const [customFieldErrors, setCustomFieldErrors] = useState<Record<string, string>>({});\n\n // Update command values when mergedInitialValues changes (e.g., when data loads asynchronously)\n React.useEffect(() => {\n if (mergedInitialValues && Object.keys(mergedInitialValues).length > 0) {\n setCommandValues(mergedInitialValues as TCommand);\n }\n }, [mergedInitialValues, setCommandValues]);\n\n const isValid = Object.values(fieldValidities).every(valid => valid);\n\n const setFieldValidity = useCallback((fieldName: string, isFieldValid: boolean) => {\n setFieldValidities(prev => ({ ...prev, [fieldName]: isFieldValid }));\n }, []);\n\n const setCustomFieldError = useCallback((fieldName: string, error: string | undefined) => {\n setCustomFieldErrors(prev => {\n if (error === undefined) {\n const newErrors = { ...prev };\n delete newErrors[fieldName];\n return newErrors;\n }\n return { ...prev, [fieldName]: error };\n });\n }, []);\n\n const getFieldError = (propertyName: string): string | undefined => {\n // Check custom field errors first\n if (customFieldErrors[propertyName]) {\n return customFieldErrors[propertyName];\n }\n\n if (!commandResult || !commandResult.validationResults) {\n return undefined;\n }\n\n for (const validationResult of commandResult.validationResults) {\n if (validationResult.members && validationResult.members.includes(propertyName)) {\n return validationResult.message;\n }\n }\n\n return undefined;\n };\n\n const exceptionMessages = commandResult?.exceptionMessages || [];\n const hasColumns = fieldsOrColumns.length > 0 && 'fields' in fieldsOrColumns[0];\n\n return (\n <CommandFormContext.Provider value={{ command: props.command, commandInstance, setCommandValues, commandResult, setCommandResult, getFieldError, isValid, setFieldValidity, onFieldValidate: props.onFieldValidate, onFieldChange: props.onFieldChange, onBeforeExecute: props.onBeforeExecute, customFieldErrors, setCustomFieldError }}>\n <CommandFormFields fields={hasColumns ? undefined : (fieldsOrColumns as React.ReactElement<CommandFormFieldProps<unknown>>[])} columns={hasColumns ? fieldsOrColumns as ColumnInfo[] : undefined} />\n {exceptionMessages.length > 0 && (\n <div className=\"card flex flex-row gap-3 mt-3\">\n <Panel header=\"The server responded with\" className=\"w-full\">\n <ul>\n {exceptionMessages.map((msg, idx) => (\n <li key={idx}>{msg}</li>\n ))}\n </ul>\n </Panel>\n </div>\n )}\n {otherChildren}\n </CommandFormContext.Provider>\n );\n};\n\nconst CommandFormColumnComponent = (_props: { children: React.ReactNode }) => {\n void _props;\n return <></>;\n};\n\nCommandFormColumnComponent.displayName = 'CommandFormColumn';\n\nCommandFormComponent.Fields = CommandFormFieldsWrapper;\nCommandFormComponent.Column = CommandFormColumnComponent;\n\nexport const CommandForm = CommandFormComponent;\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { CommandForm } from './CommandForm';
3
- declare const meta: Meta<typeof CommandForm>;
4
- export default meta;
5
- type Story = StoryObj<typeof CommandForm>;
6
- export declare const Default: Story;
7
- export declare const UserRegistration: Story;
8
- //# sourceMappingURL=CommandForm.stories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CommandForm.stories.d.ts","sourceRoot":"","sources":["../../../CommandForm/CommandForm.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAa5C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CAGlC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,WAAW,CAAC,CAAC;AAQ1C,eAAO,MAAM,OAAO,EAAE,KAOrB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAwF9B,CAAC"}
@@ -1,45 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState } from 'react';
3
- import { CommandForm } from './CommandForm';
4
- import { ValidationMessage } from './ValidationMessage';
5
- import { UserRegistrationCommand } from './UserRegistrationCommand';
6
- import { InputTextField, NumberField, TextAreaField, CheckboxField, RangeField, SelectField } from './fields';
7
- import { Button } from 'primereact/button';
8
- const meta = {
9
- title: 'CommandForm/CommandForm',
10
- component: CommandForm,
11
- };
12
- export default meta;
13
- const roleOptions = [
14
- { id: 'user', name: 'User' },
15
- { id: 'admin', name: 'Administrator' },
16
- { id: 'moderator', name: 'Moderator' }
17
- ];
18
- export const Default = {
19
- args: {},
20
- render: (args) => (_jsx("div", { className: "storybook-wrapper", children: _jsx(CommandForm, { ...args }) }))
21
- };
22
- export const UserRegistration = {
23
- render: () => {
24
- const [result, setResult] = useState('');
25
- const handleSubmit = () => {
26
- setResult('Form submitted successfully!');
27
- };
28
- return (_jsxs("div", { className: "p-8 w-[800px] mx-auto", children: [_jsx("h2", { className: "text-2xl font-bold mb-6", children: "User Registration Form" }), _jsx("h3", { className: "text-xl font-semibold mb-4 mt-6", children: "Account Information" }), _jsxs(CommandForm, { command: UserRegistrationCommand, initialValues: {
29
- username: '',
30
- email: '',
31
- password: '',
32
- confirmPassword: '',
33
- age: 18,
34
- bio: '',
35
- favoriteColor: '#3b82f6',
36
- birthDate: '',
37
- agreeToTerms: false,
38
- experienceLevel: 50,
39
- role: ''
40
- }, onFieldChange: (cmd, fieldName, oldValue, newValue) => {
41
- console.log(`Field ${fieldName} changed from`, oldValue, 'to', newValue);
42
- }, children: [_jsx(InputTextField, { value: c => c.username, title: "Username", placeholder: "Enter username" }), _jsx(ValidationMessage, { value: c => c.username }), _jsx(InputTextField, { value: c => c.email, title: "Email Address", type: "email", placeholder: "Enter email" }), _jsx(ValidationMessage, { value: c => c.email }), _jsx(InputTextField, { value: c => c.password, title: "Password", type: "password", placeholder: "Enter password" }), _jsx(ValidationMessage, { value: c => c.password }), _jsx(InputTextField, { value: c => c.confirmPassword, title: "Confirm Password", type: "password", placeholder: "Confirm password" }), _jsx(ValidationMessage, { value: c => c.confirmPassword }), _jsx("h3", { className: "text-xl font-semibold mb-0 mt-6", children: "Personal Information" }), _jsx(NumberField, { value: c => c.age, title: "Age", placeholder: "Enter age", min: 13, max: 120 }), _jsx(ValidationMessage, { value: c => c.age }), _jsx(InputTextField, { value: c => c.birthDate, title: "Birth Date", type: "date", placeholder: "Select birth date" }), _jsx(ValidationMessage, { value: c => c.birthDate }), _jsx(TextAreaField, { value: c => c.bio, title: "Bio", placeholder: "Tell us about yourself", rows: 4, required: false }), _jsx(ValidationMessage, { value: c => c.bio }), _jsx(InputTextField, { value: c => c.favoriteColor, title: "Favorite Color", type: "color" }), _jsx(ValidationMessage, { value: c => c.favoriteColor }), _jsx("h3", { className: "text-xl font-semibold mb-0 mt-6", children: "Preferences" }), _jsx(SelectField, { value: c => c.role, title: "Role", options: roleOptions, optionIdField: "id", optionLabelField: "name", placeholder: "Select a role" }), _jsx(ValidationMessage, { value: c => c.role }), _jsx(RangeField, { value: c => c.experienceLevel, title: "Experience Level", min: 0, max: 100, step: 10 }), _jsx(ValidationMessage, { value: c => c.experienceLevel }), _jsx(CheckboxField, { value: c => c.agreeToTerms, title: "Terms & Conditions", label: "I agree to the terms and conditions" }), _jsx(ValidationMessage, { value: c => c.agreeToTerms })] }), _jsxs("div", { className: "flex gap-2 mt-6", children: [_jsx(Button, { label: "Submit", onClick: handleSubmit, severity: "success" }), _jsx(Button, { label: "Cancel", onClick: () => setResult(''), severity: "secondary" })] }), result && (_jsx("div", { className: "bg-green-100 p-4 rounded-lg mt-4 border border-green-300", children: _jsx("p", { className: "text-green-800 font-semibold m-0", children: result }) }))] }));
43
- }
44
- };
45
- //# sourceMappingURL=CommandForm.stories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CommandForm.stories.js","sourceRoot":"","sources":["../../../CommandForm/CommandForm.stories.tsx"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import type { PropertyAccessor } from '@cratis/fundamentals';
2
- export interface CommandFormFieldProps<TCommand = unknown> {
3
- icon?: React.ReactElement;
4
- value?: PropertyAccessor<TCommand>;
5
- currentValue?: unknown;
6
- onValueChange?: (value: unknown) => void;
7
- onChange?: (value: unknown) => void;
8
- required?: boolean;
9
- title?: string;
10
- description?: string;
11
- propertyDescriptor?: unknown;
12
- fieldName?: string;
13
- }
14
- export declare const CommandFormField: {
15
- <TCommand>(_props?: CommandFormFieldProps<TCommand>): import("react/jsx-runtime").JSX.Element;
16
- displayName: string;
17
- };
18
- //# sourceMappingURL=CommandFormField.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CommandFormField.d.ts","sourceRoot":"","sources":["../../../CommandForm/CommandFormField.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,MAAM,WAAW,qBAAqB,CAAC,QAAQ,GAAG,OAAO;IACrD,IAAI,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAE1B,KAAK,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAEnC,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,gBAAgB;KAAI,QAAQ,WAAY,qBAAqB,CAAC,QAAQ,CAAC;;CAGnF,CAAC"}
@@ -1,9 +0,0 @@
1
- import { jsx, Fragment } from 'react/jsx-runtime';
2
-
3
- const CommandFormField = (_props) => {
4
- return jsx(Fragment, {});
5
- };
6
- CommandFormField.displayName = 'CommandFormField';
7
-
8
- export { CommandFormField };
9
- //# sourceMappingURL=CommandFormField.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CommandFormField.js","sources":["../../../CommandForm/CommandFormField.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type { PropertyAccessor } from '@cratis/fundamentals';\n\nexport interface CommandFormFieldProps<TCommand = unknown> {\n icon?: React.ReactElement;\n /** Accessor function that selects a property on the command, e.g. c => c.name */\n value?: PropertyAccessor<TCommand>;\n /** Current value for the property (injected by CommandFormFields) */\n currentValue?: unknown;\n /** Called when the field value changes (injected by CommandFormFields) */\n onValueChange?: (value: unknown) => void;\n onChange?: (value: unknown) => void;\n required?: boolean;\n title?: string;\n description?: string;\n propertyDescriptor?: unknown;\n fieldName?: string;\n}\n\nexport const CommandFormField = <TCommand,>(_props?: CommandFormFieldProps<TCommand>) => {\n void _props;\n return <></>;\n};\n\nCommandFormField.displayName = 'CommandFormField';\n"],"names":["_jsx"],"mappings":";;AAqBO,MAAM,gBAAgB,GAAG,CAAY,MAAwC,KAAI;AAEpF,IAAA,OAAOA,iBAAK;AAChB;AAEA,gBAAgB,CAAC,WAAW,GAAG,kBAAkB;;;;"}
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- import type { CommandFormFieldProps } from './CommandFormField';
3
- export interface ColumnInfo {
4
- fields: React.ReactElement<CommandFormFieldProps<unknown>>[];
5
- }
6
- export interface CommandFormFieldsProps {
7
- fields?: React.ReactElement<CommandFormFieldProps<unknown>>[];
8
- columns?: ColumnInfo[];
9
- }
10
- export declare const CommandFormFields: (props: CommandFormFieldsProps) => import("react/jsx-runtime").JSX.Element;
11
- //# sourceMappingURL=CommandFormFields.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CommandFormFields.d.ts","sourceRoot":"","sources":["../../../CommandForm/CommandFormFields.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAGhE,MAAM,WAAW,UAAU;IACvB,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;CAChE;AAED,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;IAC9D,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;CAC1B;AAkFD,eAAO,MAAM,iBAAiB,GAAI,OAAO,sBAAsB,4CA8C9D,CAAC"}
@@ -1,71 +0,0 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { useCommandFormContext } from './CommandForm.js';
3
- import React from 'react';
4
- import { Tooltip } from 'primereact/tooltip';
5
-
6
- const CommandFormFieldWrapper = ({ field, index }) => {
7
- const context = useCommandFormContext();
8
- const fieldProps = field.props;
9
- const propertyAccessor = fieldProps.value;
10
- const propertyName = propertyAccessor ? getPropertyName(propertyAccessor) : '';
11
- const currentValue = propertyName ? context.commandInstance?.[propertyName] : undefined;
12
- const errorMessage = propertyName ? context.getFieldError(propertyName) : undefined;
13
- const propertyDescriptor = propertyName && context.commandInstance?.propertyDescriptors
14
- ? context.commandInstance.propertyDescriptors.find((pd) => pd.name === propertyName)
15
- : undefined;
16
- const clonedField = React.cloneElement(field, {
17
- ...fieldProps,
18
- currentValue,
19
- propertyDescriptor,
20
- fieldName: propertyName,
21
- onValueChange: (value) => {
22
- if (propertyName) {
23
- const oldValue = currentValue;
24
- context.setCommandValues({ [propertyName]: value });
25
- if (context.commandInstance && typeof context.commandInstance.validate === 'function') {
26
- const validationResult = context.commandInstance.validate();
27
- if (validationResult) {
28
- context.setCommandResult(validationResult);
29
- }
30
- }
31
- if (context.onFieldValidate) {
32
- const validationError = context.onFieldValidate(context.commandInstance, propertyName, oldValue, value);
33
- context.setCustomFieldError(propertyName, validationError);
34
- }
35
- if (context.onFieldChange) {
36
- context.onFieldChange(context.commandInstance, propertyName, oldValue, value);
37
- }
38
- }
39
- fieldProps.onChange?.(value);
40
- },
41
- required: fieldProps.required ?? true,
42
- invalid: !!errorMessage
43
- });
44
- const tooltipId = fieldProps.description ? `tooltip-${propertyName}-${index}` : undefined;
45
- return (jsxs("div", { className: "w-full", children: [jsxs("div", { className: "p-inputgroup w-full", children: [fieldProps.description && (jsx(Tooltip, { target: `.${tooltipId}`, content: fieldProps.description })), fieldProps.icon && (jsx("span", { className: `p-inputgroup-addon ${tooltipId || ''}`, children: fieldProps.icon })), clonedField] }), errorMessage && (jsx("small", { className: "p-error block mt-1", children: errorMessage }))] }));
46
- };
47
- const CommandFormFields = (props) => {
48
- const { fields, columns } = props;
49
- if (columns && columns.length > 0) {
50
- return (jsx("div", { className: "card flex flex-column md:flex-row gap-3", children: columns.map((column, columnIndex) => (jsx("div", { className: "flex flex-column gap-3 flex-1", children: column.fields.map((field, index) => {
51
- const fieldProps = field.props;
52
- const propertyAccessor = fieldProps.value;
53
- const propertyName = propertyAccessor ? getPropertyName(propertyAccessor) : `field-${columnIndex}-${index}`;
54
- return (jsx(CommandFormFieldWrapper, { field: field, index: index }, propertyName));
55
- }) }, `column-${columnIndex}`))) }));
56
- }
57
- return (jsx("div", { className: "flex flex-col gap-4 w-full", children: (fields || []).map((field, index) => {
58
- const fieldProps = field.props;
59
- const propertyAccessor = fieldProps.value;
60
- const propertyName = propertyAccessor ? getPropertyName(propertyAccessor) : `field-${index}`;
61
- return (jsx(CommandFormFieldWrapper, { field: field, index: index }, propertyName));
62
- }) }));
63
- };
64
- function getPropertyName(accessor) {
65
- const fnStr = accessor.toString();
66
- const match = fnStr.match(/\.([a-zA-Z_$][a-zA-Z0-9_$]*)/);
67
- return match ? match[1] : '';
68
- }
69
-
70
- export { CommandFormFields };
71
- //# sourceMappingURL=CommandFormFields.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CommandFormFields.js","sources":["../../../CommandForm/CommandFormFields.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { useCommandFormContext } from './CommandForm';\nimport React from 'react';\nimport { Tooltip } from 'primereact/tooltip';\nimport type { CommandFormFieldProps } from './CommandFormField';\nimport type { ICommandResult } from '@cratis/arc/commands';\n\nexport interface ColumnInfo {\n fields: React.ReactElement<CommandFormFieldProps<unknown>>[];\n}\n\nexport interface CommandFormFieldsProps {\n fields?: React.ReactElement<CommandFormFieldProps<unknown>>[];\n columns?: ColumnInfo[];\n}\n\n// Separate component for each field to prevent re-rendering all fields\nconst CommandFormFieldWrapper = ({ field, index }: { field: React.ReactElement<CommandFormFieldProps<unknown>>; index: number }) => {\n const context = useCommandFormContext<unknown>();\n const fieldProps = field.props as CommandFormFieldProps<unknown>;\n const propertyAccessor = fieldProps.value;\n\n // Get the property name from the accessor function\n const propertyName = propertyAccessor ? getPropertyName(propertyAccessor) : '';\n\n // Get the current value from the command instance\n const currentValue = propertyName ? (context.commandInstance as Record<string, unknown>)?.[propertyName] : undefined;\n\n // Get the error message for this field, if any\n const errorMessage = propertyName ? context.getFieldError(propertyName) : undefined;\n\n // Get the property descriptor for this field from the command instance\n const propertyDescriptor = propertyName && (context.commandInstance as Record<string, unknown>)?.propertyDescriptors\n ? ((context.commandInstance as Record<string, unknown>).propertyDescriptors as Array<Record<string, unknown>>).find((pd: Record<string, unknown>) => pd.name === propertyName)\n : undefined;\n\n // Clone the field element with the current value and onChange handler\n const clonedField = React.cloneElement(field as React.ReactElement, {\n ...fieldProps,\n currentValue,\n propertyDescriptor,\n fieldName: propertyName,\n onValueChange: (value: unknown) => {\n if (propertyName) {\n const oldValue = currentValue;\n\n // Update the command value\n context.setCommandValues({ [propertyName]: value } as Record<string, unknown>);\n\n // Call validate() on the command instance and store the result\n if (context.commandInstance && typeof (context.commandInstance as Record<string, unknown>).validate === 'function') {\n const validationResult = ((context.commandInstance as Record<string, unknown>).validate as () => ICommandResult<unknown>)();\n if (validationResult) {\n context.setCommandResult(validationResult);\n }\n }\n\n // Call custom field validator if provided\n if (context.onFieldValidate) {\n const validationError = context.onFieldValidate(context.commandInstance as Record<string, unknown>, propertyName, oldValue, value);\n context.setCustomFieldError(propertyName, validationError);\n }\n\n // Call field change callback if provided\n if (context.onFieldChange) {\n context.onFieldChange(context.commandInstance as Record<string, unknown>, propertyName, oldValue, value);\n }\n }\n fieldProps.onChange?.(value as unknown);\n },\n required: fieldProps.required ?? true,\n invalid: !!errorMessage\n } as Record<string, unknown>);\n\n const tooltipId = fieldProps.description ? `tooltip-${propertyName}-${index}` : undefined;\n\n return (\n <div className=\"w-full\">\n <div className=\"p-inputgroup w-full\">\n {fieldProps.description && (\n <Tooltip target={`.${tooltipId}`} content={fieldProps.description} />\n )}\n {fieldProps.icon && (\n <span className={`p-inputgroup-addon ${tooltipId || ''}`}>\n {fieldProps.icon}\n </span>\n )}\n {clonedField}\n </div>\n {errorMessage && (\n <small className=\"p-error block mt-1\">{errorMessage}</small>\n )}\n </div>\n );\n};\n\nexport const CommandFormFields = (props: CommandFormFieldsProps) => {\n const { fields, columns } = props;\n\n // Render columns if provided\n if (columns && columns.length > 0) {\n return (\n <div className=\"card flex flex-column md:flex-row gap-3\">\n {columns.map((column, columnIndex) => (\n <div key={`column-${columnIndex}`} className=\"flex flex-column gap-3 flex-1\">\n {column.fields.map((field, index) => {\n const fieldProps = field.props as CommandFormFieldProps<unknown>;\n const propertyAccessor = fieldProps.value;\n const propertyName = propertyAccessor ? getPropertyName(propertyAccessor) : `field-${columnIndex}-${index}`;\n\n return (\n <CommandFormFieldWrapper\n key={propertyName}\n field={field}\n index={index}\n />\n );\n })}\n </div>\n ))}\n </div>\n );\n }\n\n // Render fields (single column layout)\n return (\n <div className=\"flex flex-col gap-4 w-full\">\n {(fields || []).map((field, index) => {\n const fieldProps = field.props as CommandFormFieldProps<unknown>;\n const propertyAccessor = fieldProps.value;\n const propertyName = propertyAccessor ? getPropertyName(propertyAccessor) : `field-${index}`;\n\n return (\n <CommandFormFieldWrapper\n key={propertyName}\n field={field}\n index={index}\n />\n );\n })}\n </div>\n );\n};\n\n// Helper function to extract property name from accessor function\nfunction getPropertyName<T>(accessor: (obj: T) => unknown): string {\n const fnStr = accessor.toString();\n const match = fnStr.match(/\\.([a-zA-Z_$][a-zA-Z0-9_$]*)/);\n return match ? match[1] : '';\n}\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -1,63 +0,0 @@
1
- import { Command, CommandValidator } from '@cratis/arc/commands';
2
- import { SetCommandValues, ClearCommandValues } from '@cratis/arc.react/commands';
3
- import { PropertyDescriptor } from '@cratis/arc/reflection';
4
- import '@cratis/arc/validation';
5
- export interface IUserRegistrationCommand {
6
- username?: string;
7
- email?: string;
8
- password?: string;
9
- confirmPassword?: string;
10
- age?: number;
11
- bio?: string;
12
- favoriteColor?: string;
13
- birthDate?: string;
14
- agreeToTerms?: boolean;
15
- experienceLevel?: number;
16
- role?: string;
17
- }
18
- export declare class UserRegistrationCommandValidator extends CommandValidator<IUserRegistrationCommand> {
19
- constructor();
20
- }
21
- export declare class UserRegistrationCommand extends Command<IUserRegistrationCommand, object> implements IUserRegistrationCommand {
22
- readonly route: string;
23
- readonly validation: CommandValidator;
24
- readonly propertyDescriptors: PropertyDescriptor[];
25
- private _username;
26
- private _email;
27
- private _password;
28
- private _confirmPassword;
29
- private _age;
30
- private _bio;
31
- private _favoriteColor;
32
- private _birthDate;
33
- private _agreeToTerms;
34
- private _experienceLevel;
35
- private _role;
36
- constructor();
37
- get requestParameters(): string[];
38
- get properties(): string[];
39
- get username(): string;
40
- set username(value: string);
41
- get email(): string;
42
- set email(value: string);
43
- get password(): string;
44
- set password(value: string);
45
- get confirmPassword(): string;
46
- set confirmPassword(value: string);
47
- get age(): number;
48
- set age(value: number);
49
- get bio(): string;
50
- set bio(value: string);
51
- get favoriteColor(): string;
52
- set favoriteColor(value: string);
53
- get birthDate(): string;
54
- set birthDate(value: string);
55
- get agreeToTerms(): boolean;
56
- set agreeToTerms(value: boolean);
57
- get experienceLevel(): number;
58
- set experienceLevel(value: number);
59
- get role(): string;
60
- set role(value: string);
61
- static use(initialValues?: IUserRegistrationCommand): [UserRegistrationCommand, SetCommandValues<IUserRegistrationCommand>, ClearCommandValues];
62
- }
63
- //# sourceMappingURL=UserRegistrationCommand.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UserRegistrationCommand.d.ts","sourceRoot":"","sources":["../../../CommandForm/UserRegistrationCommand.ts"],"names":[],"mappings":"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"}