@cratis/components 0.1.19 → 1.0.3

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 (305) hide show
  1. package/dist/cjs/CommandDialog/CommandDialog.js +14 -25
  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 +1 -1
  51. package/dist/esm/CommandDialog/CommandDialog.d.ts.map +1 -1
  52. package/dist/esm/CommandDialog/CommandDialog.js +15 -26
  53. package/dist/esm/CommandDialog/CommandDialog.js.map +1 -1
  54. package/dist/esm/CommandDialog/CommandDialog.stories.d.ts +1 -0
  55. package/dist/esm/CommandDialog/CommandDialog.stories.d.ts.map +1 -1
  56. package/dist/esm/CommandDialog/CommandDialog.stories.js +57 -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 +33 -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 +55 -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 +31 -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/index.d.ts +2 -1
  138. package/dist/esm/Dialogs/index.d.ts.map +1 -1
  139. package/dist/esm/Dialogs/index.js +2 -1
  140. package/dist/esm/Dialogs/index.js.map +1 -1
  141. package/dist/esm/ObjectContentEditor/ObjectContentEditor.d.ts +8 -0
  142. package/dist/esm/ObjectContentEditor/ObjectContentEditor.d.ts.map +1 -0
  143. package/dist/esm/ObjectContentEditor/ObjectContentEditor.js +135 -0
  144. package/dist/esm/ObjectContentEditor/ObjectContentEditor.js.map +1 -0
  145. package/dist/esm/ObjectContentEditor/ObjectContentEditor.stories.d.ts +10 -0
  146. package/dist/esm/ObjectContentEditor/ObjectContentEditor.stories.d.ts.map +1 -0
  147. package/dist/esm/ObjectContentEditor/ObjectContentEditor.stories.js +144 -0
  148. package/dist/esm/ObjectContentEditor/ObjectContentEditor.stories.js.map +1 -0
  149. package/dist/esm/ObjectContentEditor/index.d.ts +2 -0
  150. package/dist/esm/ObjectContentEditor/index.d.ts.map +1 -0
  151. package/dist/esm/ObjectContentEditor/index.js +2 -0
  152. package/dist/esm/ObjectContentEditor/index.js.map +1 -0
  153. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.d.ts +6 -0
  154. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.d.ts.map +1 -0
  155. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.js +24 -0
  156. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.js.map +1 -0
  157. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.stories.d.ts +10 -0
  158. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.stories.d.ts.map +1 -0
  159. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.stories.js +46 -0
  160. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.stories.js.map +1 -0
  161. package/dist/esm/ObjectNavigationalBar/index.d.ts +2 -0
  162. package/dist/esm/ObjectNavigationalBar/index.d.ts.map +1 -0
  163. package/dist/esm/ObjectNavigationalBar/index.js +2 -0
  164. package/dist/esm/ObjectNavigationalBar/index.js.map +1 -0
  165. package/dist/esm/SchemaEditor/NameCell.d.ts +9 -0
  166. package/dist/esm/SchemaEditor/NameCell.d.ts.map +1 -0
  167. package/dist/esm/SchemaEditor/NameCell.js +17 -0
  168. package/dist/esm/SchemaEditor/NameCell.js.map +1 -0
  169. package/dist/esm/SchemaEditor/SchemaEditor.d.ts +17 -0
  170. package/dist/esm/SchemaEditor/SchemaEditor.d.ts.map +1 -0
  171. package/dist/esm/SchemaEditor/SchemaEditor.js +331 -0
  172. package/dist/esm/SchemaEditor/SchemaEditor.js.map +1 -0
  173. package/dist/esm/SchemaEditor/SchemaEditor.module.css +11 -0
  174. package/dist/esm/SchemaEditor/SchemaEditor.stories.d.ts +12 -0
  175. package/dist/esm/SchemaEditor/SchemaEditor.stories.d.ts.map +1 -0
  176. package/dist/esm/SchemaEditor/SchemaEditor.stories.js +158 -0
  177. package/dist/esm/SchemaEditor/SchemaEditor.stories.js.map +1 -0
  178. package/dist/esm/SchemaEditor/TypeCell.d.ts +14 -0
  179. package/dist/esm/SchemaEditor/TypeCell.d.ts.map +1 -0
  180. package/dist/esm/SchemaEditor/TypeCell.js +81 -0
  181. package/dist/esm/SchemaEditor/TypeCell.js.map +1 -0
  182. package/dist/esm/SchemaEditor/index.d.ts +4 -0
  183. package/dist/esm/SchemaEditor/index.d.ts.map +1 -0
  184. package/dist/esm/SchemaEditor/index.js +3 -0
  185. package/dist/esm/TimeMachine/EventsView.stories.d.ts +8 -7
  186. package/dist/esm/TimeMachine/EventsView.stories.d.ts.map +1 -1
  187. package/dist/esm/TimeMachine/EventsView.stories.js +80 -4
  188. package/dist/esm/TimeMachine/EventsView.stories.js.map +1 -1
  189. package/dist/esm/TimeMachine/Properties.stories.d.ts +9 -7
  190. package/dist/esm/TimeMachine/Properties.stories.d.ts.map +1 -1
  191. package/dist/esm/TimeMachine/Properties.stories.js +49 -4
  192. package/dist/esm/TimeMachine/Properties.stories.js.map +1 -1
  193. package/dist/esm/TimeMachine/ReadModelView.stories.d.ts +7 -7
  194. package/dist/esm/TimeMachine/ReadModelView.stories.d.ts.map +1 -1
  195. package/dist/esm/TimeMachine/ReadModelView.stories.js +79 -5
  196. package/dist/esm/TimeMachine/ReadModelView.stories.js.map +1 -1
  197. package/dist/esm/TimeMachine/TimeMachine.stories.d.ts +8 -7
  198. package/dist/esm/TimeMachine/TimeMachine.stories.d.ts.map +1 -1
  199. package/dist/esm/TimeMachine/TimeMachine.stories.js +113 -4
  200. package/dist/esm/TimeMachine/TimeMachine.stories.js.map +1 -1
  201. package/dist/esm/index.d.ts +4 -2
  202. package/dist/esm/index.d.ts.map +1 -1
  203. package/dist/esm/index.js +10 -6
  204. package/dist/esm/index.js.map +1 -1
  205. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  206. package/dist/esm/types/JsonSchema.d.ts +32 -0
  207. package/dist/esm/types/JsonSchema.d.ts.map +1 -0
  208. package/dist/esm/types/JsonSchema.js +2 -0
  209. package/dist/esm/types/JsonSchema.js.map +1 -0
  210. package/dist/esm/types/TypeFormat.d.ts +6 -0
  211. package/dist/esm/types/TypeFormat.d.ts.map +1 -0
  212. package/dist/esm/types/TypeFormat.js +18 -0
  213. package/dist/esm/types/TypeFormat.js.map +1 -0
  214. package/package.json +10 -5
  215. package/dist/cjs/CommandForm/CommandForm.js +0 -183
  216. package/dist/cjs/CommandForm/CommandForm.js.map +0 -1
  217. package/dist/cjs/CommandForm/CommandFormField.js +0 -11
  218. package/dist/cjs/CommandForm/CommandFormField.js.map +0 -1
  219. package/dist/cjs/CommandForm/CommandFormFields.js +0 -73
  220. package/dist/cjs/CommandForm/CommandFormFields.js.map +0 -1
  221. package/dist/cjs/CommandForm/ValidationMessage.js +0 -24
  222. package/dist/cjs/CommandForm/ValidationMessage.js.map +0 -1
  223. package/dist/cjs/CommandForm/asCommandFormField.js +0 -47
  224. package/dist/cjs/CommandForm/asCommandFormField.js.map +0 -1
  225. package/dist/cjs/EventModeling/EventModeling.css +0 -146
  226. package/dist/cjs/EventModeling/EventModeling.js +0 -209
  227. package/dist/cjs/EventModeling/EventModeling.js.map +0 -1
  228. package/dist/cjs/EventModeling/components/Canvas.js +0 -403
  229. package/dist/cjs/EventModeling/components/Canvas.js.map +0 -1
  230. package/dist/cjs/EventModeling/components/CanvasControls.js +0 -10
  231. package/dist/cjs/EventModeling/components/CanvasControls.js.map +0 -1
  232. package/dist/cjs/EventModeling/components/Toolbox.js +0 -18
  233. package/dist/cjs/EventModeling/components/Toolbox.js.map +0 -1
  234. package/dist/cjs/EventModeling/engine/connectorGraphics.js +0 -173
  235. package/dist/cjs/EventModeling/engine/connectorGraphics.js.map +0 -1
  236. package/dist/cjs/EventModeling/engine/elementSprites.js +0 -301
  237. package/dist/cjs/EventModeling/engine/elementSprites.js.map +0 -1
  238. package/dist/cjs/EventModeling/index.js +0 -12
  239. package/dist/cjs/EventModeling/types.js +0 -60
  240. package/dist/cjs/EventModeling/types.js.map +0 -1
  241. package/dist/esm/CommandForm/CommandForm.d.ts +0 -49
  242. package/dist/esm/CommandForm/CommandForm.d.ts.map +0 -1
  243. package/dist/esm/CommandForm/CommandForm.js +0 -178
  244. package/dist/esm/CommandForm/CommandForm.js.map +0 -1
  245. package/dist/esm/CommandForm/CommandForm.stories.d.ts +0 -8
  246. package/dist/esm/CommandForm/CommandForm.stories.d.ts.map +0 -1
  247. package/dist/esm/CommandForm/CommandForm.stories.js +0 -45
  248. package/dist/esm/CommandForm/CommandForm.stories.js.map +0 -1
  249. package/dist/esm/CommandForm/CommandFormField.d.ts +0 -18
  250. package/dist/esm/CommandForm/CommandFormField.d.ts.map +0 -1
  251. package/dist/esm/CommandForm/CommandFormField.js +0 -9
  252. package/dist/esm/CommandForm/CommandFormField.js.map +0 -1
  253. package/dist/esm/CommandForm/CommandFormFields.d.ts +0 -11
  254. package/dist/esm/CommandForm/CommandFormFields.d.ts.map +0 -1
  255. package/dist/esm/CommandForm/CommandFormFields.js +0 -71
  256. package/dist/esm/CommandForm/CommandFormFields.js.map +0 -1
  257. package/dist/esm/CommandForm/UserRegistrationCommand.d.ts +0 -63
  258. package/dist/esm/CommandForm/UserRegistrationCommand.d.ts.map +0 -1
  259. package/dist/esm/CommandForm/UserRegistrationCommand.js +0 -143
  260. package/dist/esm/CommandForm/UserRegistrationCommand.js.map +0 -1
  261. package/dist/esm/CommandForm/ValidationMessage.d.ts +0 -8
  262. package/dist/esm/CommandForm/ValidationMessage.d.ts.map +0 -1
  263. package/dist/esm/CommandForm/ValidationMessage.js +0 -22
  264. package/dist/esm/CommandForm/ValidationMessage.js.map +0 -1
  265. package/dist/esm/CommandForm/asCommandFormField.d.ts +0 -32
  266. package/dist/esm/CommandForm/asCommandFormField.d.ts.map +0 -1
  267. package/dist/esm/CommandForm/asCommandFormField.js +0 -45
  268. package/dist/esm/CommandForm/asCommandFormField.js.map +0 -1
  269. package/dist/esm/EventModeling/EventModeling.css +0 -146
  270. package/dist/esm/EventModeling/EventModeling.d.ts +0 -11
  271. package/dist/esm/EventModeling/EventModeling.d.ts.map +0 -1
  272. package/dist/esm/EventModeling/EventModeling.js +0 -207
  273. package/dist/esm/EventModeling/EventModeling.js.map +0 -1
  274. package/dist/esm/EventModeling/EventModeling.stories.d.ts +0 -10
  275. package/dist/esm/EventModeling/EventModeling.stories.d.ts.map +0 -1
  276. package/dist/esm/EventModeling/EventModeling.stories.js +0 -252
  277. package/dist/esm/EventModeling/EventModeling.stories.js.map +0 -1
  278. package/dist/esm/EventModeling/components/Canvas.d.ts +0 -23
  279. package/dist/esm/EventModeling/components/Canvas.d.ts.map +0 -1
  280. package/dist/esm/EventModeling/components/Canvas.js +0 -382
  281. package/dist/esm/EventModeling/components/Canvas.js.map +0 -1
  282. package/dist/esm/EventModeling/components/CanvasControls.d.ts +0 -10
  283. package/dist/esm/EventModeling/components/CanvasControls.d.ts.map +0 -1
  284. package/dist/esm/EventModeling/components/CanvasControls.js +0 -8
  285. package/dist/esm/EventModeling/components/CanvasControls.js.map +0 -1
  286. package/dist/esm/EventModeling/components/Toolbox.d.ts +0 -9
  287. package/dist/esm/EventModeling/components/Toolbox.d.ts.map +0 -1
  288. package/dist/esm/EventModeling/components/Toolbox.js +0 -16
  289. package/dist/esm/EventModeling/components/Toolbox.js.map +0 -1
  290. package/dist/esm/EventModeling/engine/connectorGraphics.d.ts +0 -12
  291. package/dist/esm/EventModeling/engine/connectorGraphics.d.ts.map +0 -1
  292. package/dist/esm/EventModeling/engine/connectorGraphics.js +0 -151
  293. package/dist/esm/EventModeling/engine/connectorGraphics.js.map +0 -1
  294. package/dist/esm/EventModeling/engine/elementSprites.d.ts +0 -23
  295. package/dist/esm/EventModeling/engine/elementSprites.d.ts.map +0 -1
  296. package/dist/esm/EventModeling/engine/elementSprites.js +0 -276
  297. package/dist/esm/EventModeling/engine/elementSprites.js.map +0 -1
  298. package/dist/esm/EventModeling/index.d.ts +0 -3
  299. package/dist/esm/EventModeling/index.d.ts.map +0 -1
  300. package/dist/esm/EventModeling/index.js +0 -3
  301. package/dist/esm/EventModeling/types.d.ts +0 -79
  302. package/dist/esm/EventModeling/types.d.ts.map +0 -1
  303. package/dist/esm/EventModeling/types.js +0 -56
  304. package/dist/esm/EventModeling/types.js.map +0 -1
  305. /package/dist/esm/{EventModeling → SchemaEditor}/index.js.map +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.js","sources":["../../../Dialogs/Dialog.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 { Dialog as PrimeDialog } from 'primereact/dialog';\nimport { Button } from 'primereact/button';\nimport { DialogResult, DialogButtons, useDialogContext } from '@cratis/arc.react/dialogs';\nimport { ReactNode } from 'react';\n\nexport type CloseDialog = (result: DialogResult) => boolean | void | Promise<boolean> | Promise<void>;\nexport type ConfirmCallback = () => boolean | void | Promise<boolean> | Promise<void>;\nexport type CancelCallback = () => boolean | void | Promise<boolean> | Promise<void>;\n\nexport interface DialogProps {\n title: string;\n visible?: boolean;\n onClose?: CloseDialog;\n onConfirm?: ConfirmCallback;\n onCancel?: CancelCallback;\n buttons?: DialogButtons | ReactNode;\n children: ReactNode;\n width?: string;\n resizable?: boolean;\n isValid?: boolean;\n okLabel?: string;\n cancelLabel?: string;\n yesLabel?: string;\n noLabel?: string;\n}\n\nexport const Dialog = ({ \n title, \n visible = true, \n onClose, \n onConfirm,\n onCancel,\n buttons = DialogButtons.OkCancel, \n children, \n width = '450px', \n resizable = false, \n isValid,\n okLabel = 'Ok',\n cancelLabel = 'Cancel',\n yesLabel = 'Yes',\n noLabel = 'No'\n}: DialogProps) => {\n // Try to get dialog context, but allow it to be undefined for standalone usage\n let contextCloseDialog: ((result: DialogResult) => void) | undefined;\n try {\n const context = useDialogContext();\n contextCloseDialog = context?.closeDialog;\n } catch {\n // No context available - dialog is being used standalone\n contextCloseDialog = undefined;\n }\n \n const isDialogValid = isValid !== false;\n const headerElement = (\n <div className=\"inline-flex align-items-center justify-content-center gap-2\">\n <span className=\"font-bold white-space-nowrap\">{title}</span>\n </div>\n );\n\n const handleClose = async (result: DialogResult) => {\n // Use new onConfirm/onCancel callbacks if provided, otherwise fall back to onClose\n let closeResult: boolean | void | Promise<boolean> | Promise<void> = true;\n \n if (result === DialogResult.Ok || result === DialogResult.Yes) {\n if (onConfirm) {\n closeResult = await onConfirm();\n } else if (onClose) {\n closeResult = await onClose(result);\n }\n } else {\n if (onCancel) {\n closeResult = await onCancel();\n } else if (onClose) {\n closeResult = await onClose(result);\n }\n }\n \n if (closeResult !== false) {\n contextCloseDialog?.(result);\n }\n };\n\n const okFooter = (\n <>\n <Button label={okLabel} icon=\"pi pi-check\" onClick={() => handleClose(DialogResult.Ok)} disabled={!isDialogValid} autoFocus />\n </>\n );\n\n const okCancelFooter = (\n <>\n <Button label={okLabel} icon=\"pi pi-check\" onClick={() => handleClose(DialogResult.Ok)} disabled={!isDialogValid} autoFocus />\n <Button label={cancelLabel} icon=\"pi pi-times\" outlined onClick={() => handleClose(DialogResult.Cancelled)} />\n </>\n );\n\n const yesNoFooter = (\n <>\n <Button label={yesLabel} icon=\"pi pi-check\" onClick={() => handleClose(DialogResult.Yes)} disabled={!isDialogValid} autoFocus />\n <Button label={noLabel} icon=\"pi pi-times\" outlined onClick={() => handleClose(DialogResult.No)} />\n </>\n );\n\n const yesNoCancelFooter = (\n <>\n <Button label={yesLabel} icon=\"pi pi-check\" onClick={() => handleClose(DialogResult.Yes)} disabled={!isDialogValid} autoFocus />\n <Button label={noLabel} icon=\"pi pi-times\" outlined onClick={() => handleClose(DialogResult.No)} />\n <Button label={cancelLabel} icon=\"pi pi-times\" outlined onClick={() => handleClose(DialogResult.Cancelled)} />\n </>\n );\n\n const getFooterInterior = () => {\n // If buttons is a ReactNode (custom buttons), use it directly\n if (typeof buttons !== 'number') {\n return buttons;\n }\n\n // Otherwise, use predefined buttons based on DialogButtons enum\n switch (buttons) {\n case DialogButtons.Ok:\n return okFooter;\n case DialogButtons.OkCancel:\n return okCancelFooter;\n case DialogButtons.YesNo:\n return yesNoFooter;\n case DialogButtons.YesNoCancel:\n return yesNoCancelFooter;\n }\n\n return (<></>);\n };\n\n const footer = (\n <div className=\"flex flex-wrap justify-content-start gap-3\">\n {getFooterInterior()}\n </div>\n );\n\n return (\n <PrimeDialog\n header={headerElement}\n modal\n footer={footer}\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onHide={typeof buttons === 'number' ? () => handleClose(DialogResult.Cancelled) : () => {}}\n visible={visible}\n style={{ width }}\n resizable={resizable}\n closable={typeof buttons === 'number'}>\n {children}\n </PrimeDialog>\n );\n};\n"],"names":["_jsx","_Fragment","_jsxs","PrimeDialog"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
- export * from './ConfirmationDialog';
2
1
  export * from './BusyIndicatorDialog';
2
+ export * from './ConfirmationDialog';
3
+ export * from './Dialog';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Dialogs/index.ts"],"names":[],"mappings":"AAGA,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Dialogs/index.ts"],"names":[],"mappings":"AAGA,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC"}
@@ -1,3 +1,4 @@
1
- export { ConfirmationDialog } from './ConfirmationDialog.js';
2
1
  export { BusyIndicatorDialog } from './BusyIndicatorDialog.js';
2
+ export { ConfirmationDialog } from './ConfirmationDialog.js';
3
+ export { Dialog } from './Dialog.js';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,8 @@
1
+ import { Json, JsonSchema } from '../types/JsonSchema';
2
+ export interface ObjectContentEditorProps {
3
+ object: Json;
4
+ timestamp?: Date;
5
+ schema: JsonSchema;
6
+ }
7
+ export declare const ObjectContentEditor: ({ object, timestamp, schema }: ObjectContentEditorProps) => import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=ObjectContentEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectContentEditor.d.ts","sourceRoot":"","sources":["../../../ObjectContentEditor/ObjectContentEditor.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAsB,MAAM,qBAAqB,CAAC;AAE3E,MAAM,WAAW,wBAAwB;IACrC,MAAM,EAAE,IAAI,CAAC;IACb,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;CACtB;AAED,eAAO,MAAM,mBAAmB,GAAI,+BAA+B,wBAAwB,4CAqO1F,CAAC"}
@@ -0,0 +1,135 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { Tooltip } from 'primereact/tooltip';
3
+ import React, { useState, useCallback, useMemo } from 'react';
4
+ import * as faIcons from 'react-icons/fa6';
5
+ import { ObjectNavigationalBar } from '../ObjectNavigationalBar/ObjectNavigationalBar.js';
6
+
7
+ const ObjectContentEditor = ({ object, timestamp, schema }) => {
8
+ const [navigationPath, setNavigationPath] = useState([]);
9
+ const getValueAtPath = useCallback((data, path) => {
10
+ let current = data;
11
+ for (const segment of path) {
12
+ if (current === null || current === undefined)
13
+ return null;
14
+ if (typeof current === 'object' && !Array.isArray(current) && current !== null) {
15
+ current = current[segment];
16
+ }
17
+ else {
18
+ return null;
19
+ }
20
+ }
21
+ return current;
22
+ }, []);
23
+ const navigateToProperty = useCallback((key) => {
24
+ setNavigationPath([...navigationPath, key]);
25
+ }, [navigationPath]);
26
+ const navigateToBreadcrumb = useCallback((index) => {
27
+ if (index === 0) {
28
+ setNavigationPath([]);
29
+ }
30
+ else {
31
+ setNavigationPath(navigationPath.slice(0, index));
32
+ }
33
+ }, [navigationPath]);
34
+ const currentData = useMemo(() => {
35
+ if (navigationPath.length === 0) {
36
+ return object;
37
+ }
38
+ const lastKey = navigationPath[navigationPath.length - 1];
39
+ const pathToParent = navigationPath.slice(0, -1);
40
+ const parentValue = pathToParent.length > 0
41
+ ? getValueAtPath(object, pathToParent)
42
+ : object;
43
+ if (parentValue && typeof parentValue === 'object' && !Array.isArray(parentValue)) {
44
+ const value = parentValue[lastKey];
45
+ if (Array.isArray(value)) {
46
+ return value;
47
+ }
48
+ else if (value && typeof value === 'object') {
49
+ return value;
50
+ }
51
+ }
52
+ return object;
53
+ }, [object, navigationPath, getValueAtPath]);
54
+ const currentProperties = useMemo(() => {
55
+ const properties = schema.properties || {};
56
+ if (navigationPath.length === 0) {
57
+ return properties;
58
+ }
59
+ return {};
60
+ }, [schema, navigationPath]);
61
+ const tableStyle = {
62
+ width: '100%',
63
+ borderCollapse: 'collapse',
64
+ fontFamily: '-apple-system, BlinkMacSystemFont, "SF Mono", monospace',
65
+ fontSize: '13px',
66
+ };
67
+ const rowStyle = {
68
+ borderBottom: '1px solid rgba(255,255,255,0.1)',
69
+ };
70
+ const labelStyle = {
71
+ padding: '8px 12px',
72
+ color: 'rgba(255,255,255,0.6)',
73
+ textAlign: 'left',
74
+ fontWeight: 500,
75
+ width: '140px',
76
+ };
77
+ const valueStyle = {
78
+ padding: '8px 12px',
79
+ color: '#fff',
80
+ textAlign: 'left',
81
+ };
82
+ const infoIconStyle = {
83
+ marginLeft: '6px',
84
+ fontSize: '12px',
85
+ color: 'rgba(100, 150, 255, 0.6)',
86
+ cursor: 'help',
87
+ };
88
+ const renderValue = (value, propertyName) => {
89
+ if (value === null || value === undefined)
90
+ return '';
91
+ if (Array.isArray(value)) {
92
+ return (jsxs("div", { className: "flex align-items-center gap-2 cursor-pointer", onClick: () => navigateToProperty(propertyName), style: { color: 'var(--primary-color)', display: 'flex', alignItems: 'center' }, children: [jsxs("span", { children: ["Array[", value.length, "]"] }), jsx(faIcons.FaArrowRight, { style: { fontSize: '0.875rem', display: 'inline-flex' } })] }));
93
+ }
94
+ if (typeof value === 'object') {
95
+ return (jsxs("div", { className: "flex align-items-center gap-2 cursor-pointer", onClick: () => navigateToProperty(propertyName), style: { color: 'var(--primary-color)', display: 'flex', alignItems: 'center' }, children: [jsx("span", { children: "Object" }), jsx(faIcons.FaArrowRight, { style: { fontSize: '0.875rem', display: 'inline-flex' } })] }));
96
+ }
97
+ return String(value);
98
+ };
99
+ const renderTable = () => {
100
+ if (Array.isArray(currentData)) {
101
+ if (currentData.length === 0)
102
+ return jsx("div", { style: { padding: '12px', color: 'rgba(255,255,255,0.6)' }, children: "Empty array" });
103
+ const firstItem = currentData[0];
104
+ if (typeof firstItem === 'object' && firstItem !== null && !Array.isArray(firstItem)) {
105
+ const keys = Object.keys(firstItem);
106
+ return (jsx("table", { style: tableStyle, children: jsx("tbody", { children: currentData.map((item, index) => (jsxs(React.Fragment, { children: [index > 0 && (jsx("tr", { style: { height: '8px', background: 'rgba(255,255,255,0.05)' }, children: jsx("td", { colSpan: 2 }) })), keys.map((key) => (jsxs("tr", { style: rowStyle, children: [jsx("td", { style: labelStyle, children: key }), jsx("td", { style: valueStyle, children: renderValue(item[key], key) })] }, `${index}-${key}`)))] }, index))) }) }));
107
+ }
108
+ else {
109
+ return (jsx("table", { style: tableStyle, children: jsx("tbody", { children: currentData.map((item, index) => (jsxs("tr", { style: rowStyle, children: [jsxs("td", { style: labelStyle, children: ["[", index, "]"] }), jsx("td", { style: valueStyle, children: renderValue(item, `[${index}]`) })] }, index))) }) }));
110
+ }
111
+ }
112
+ const entries = navigationPath.length === 0
113
+ ? Object.entries(currentProperties)
114
+ : Object.entries(currentData);
115
+ return (jsx("table", { style: tableStyle, children: jsx("tbody", { children: entries.map(([propertyName, propertyDef]) => {
116
+ const value = currentData[propertyName];
117
+ const isSchemaProperty = navigationPath.length === 0;
118
+ const description = isSchemaProperty && typeof propertyDef === 'object' && propertyDef !== null && 'description' in propertyDef
119
+ ? propertyDef.description
120
+ : undefined;
121
+ return (jsxs("tr", { style: rowStyle, children: [jsxs("td", { style: labelStyle, children: [propertyName, description && (jsx("i", { className: "pi pi-info-circle property-info-icon", style: infoIconStyle, "data-pr-tooltip": description }))] }), jsx("td", { style: valueStyle, children: renderValue(value, propertyName) })] }, propertyName));
122
+ }) }) }));
123
+ };
124
+ return (jsxs("div", { className: "order-content", style: { display: 'flex', flexDirection: 'column', height: '100%' }, children: [jsx(Tooltip, { target: ".property-info-icon" }), jsx(ObjectNavigationalBar, { navigationPath: navigationPath, onNavigate: navigateToBreadcrumb }), renderTable(), timestamp && (jsxs("div", { style: {
125
+ marginTop: '20px',
126
+ padding: '12px',
127
+ background: 'rgba(100, 150, 255, 0.1)',
128
+ borderRadius: '8px',
129
+ fontSize: '12px',
130
+ color: 'rgba(255,255,255,0.6)'
131
+ }, children: ["Snapshot captured: ", timestamp.toLocaleString()] }))] }));
132
+ };
133
+
134
+ export { ObjectContentEditor };
135
+ //# sourceMappingURL=ObjectContentEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectContentEditor.js","sources":["../../../ObjectContentEditor/ObjectContentEditor.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 { Tooltip } from 'primereact/tooltip';\nimport React, { useState, useCallback, useMemo } from 'react';\nimport * as faIcons from 'react-icons/fa6';\nimport { ObjectNavigationalBar } from '../ObjectNavigationalBar';\nimport { Json, JsonSchema, JsonSchemaProperty } from '../types/JsonSchema';\n\nexport interface ObjectContentEditorProps {\n object: Json;\n timestamp?: Date;\n schema: JsonSchema;\n}\n\nexport const ObjectContentEditor = ({ object, timestamp, schema }: ObjectContentEditorProps) => {\n const [navigationPath, setNavigationPath] = useState<string[]>([]);\n\n const getValueAtPath = useCallback((data: Json, path: string[]): Json | null => {\n let current: Json = data;\n for (const segment of path) {\n if (current === null || current === undefined) return null;\n if (typeof current === 'object' && !Array.isArray(current) && current !== null) {\n current = (current as { [key: string]: Json })[segment];\n } else {\n return null;\n }\n }\n return current;\n }, []);\n\n const navigateToProperty = useCallback((key: string) => {\n setNavigationPath([...navigationPath, key]);\n }, [navigationPath]);\n\n const navigateToBreadcrumb = useCallback((index: number) => {\n if (index === 0) {\n setNavigationPath([]);\n } else {\n setNavigationPath(navigationPath.slice(0, index));\n }\n }, [navigationPath]);\n\n const currentData = useMemo(() => {\n if (navigationPath.length === 0) {\n return object;\n }\n\n const lastKey = navigationPath[navigationPath.length - 1];\n const pathToParent = navigationPath.slice(0, -1);\n\n const parentValue = pathToParent.length > 0\n ? getValueAtPath(object, pathToParent)\n : object;\n\n if (parentValue && typeof parentValue === 'object' && !Array.isArray(parentValue)) {\n const value = (parentValue as { [k: string]: Json })[lastKey];\n\n if (Array.isArray(value)) {\n return value;\n } else if (value && typeof value === 'object') {\n return value;\n }\n }\n\n return object;\n }, [object, navigationPath, getValueAtPath]);\n\n const currentProperties = useMemo(() => {\n const properties = schema.properties || {};\n\n if (navigationPath.length === 0) {\n return properties;\n }\n\n return {};\n }, [schema, navigationPath]);\n\n const tableStyle: React.CSSProperties = {\n width: '100%',\n borderCollapse: 'collapse',\n fontFamily: '-apple-system, BlinkMacSystemFont, \"SF Mono\", monospace',\n fontSize: '13px',\n };\n\n const rowStyle: React.CSSProperties = {\n borderBottom: '1px solid rgba(255,255,255,0.1)',\n };\n\n const labelStyle: React.CSSProperties = {\n padding: '8px 12px',\n color: 'rgba(255,255,255,0.6)',\n textAlign: 'left',\n fontWeight: 500,\n width: '140px',\n };\n\n const valueStyle: React.CSSProperties = {\n padding: '8px 12px',\n color: '#fff',\n textAlign: 'left',\n };\n\n const infoIconStyle: React.CSSProperties = {\n marginLeft: '6px',\n fontSize: '12px',\n color: 'rgba(100, 150, 255, 0.6)',\n cursor: 'help',\n };\n\n const renderValue = (value: Json, propertyName: string) => {\n if (value === null || value === undefined) return '';\n\n if (Array.isArray(value)) {\n return (\n <div\n className=\"flex align-items-center gap-2 cursor-pointer\"\n onClick={() => navigateToProperty(propertyName)}\n style={{ color: 'var(--primary-color)', display: 'flex', alignItems: 'center' }}\n >\n <span>Array[{value.length}]</span>\n <faIcons.FaArrowRight style={{ fontSize: '0.875rem', display: 'inline-flex' }} />\n </div>\n );\n }\n\n if (typeof value === 'object') {\n return (\n <div\n className=\"flex align-items-center gap-2 cursor-pointer\"\n onClick={() => navigateToProperty(propertyName)}\n style={{ color: 'var(--primary-color)', display: 'flex', alignItems: 'center' }}\n >\n <span>Object</span>\n <faIcons.FaArrowRight style={{ fontSize: '0.875rem', display: 'inline-flex' }} />\n </div>\n );\n }\n\n return String(value);\n };\n\n const renderTable = () => {\n if (Array.isArray(currentData)) {\n if (currentData.length === 0) return <div style={{ padding: '12px', color: 'rgba(255,255,255,0.6)' }}>Empty array</div>;\n\n const firstItem = currentData[0];\n if (typeof firstItem === 'object' && firstItem !== null && !Array.isArray(firstItem)) {\n const keys = Object.keys(firstItem);\n\n return (\n <table style={tableStyle}>\n <tbody>\n {currentData.map((item, index) => (\n <React.Fragment key={index}>\n {index > 0 && (\n <tr style={{ height: '8px', background: 'rgba(255,255,255,0.05)' }}>\n <td colSpan={2}></td>\n </tr>\n )}\n {keys.map((key) => (\n <tr key={`${index}-${key}`} style={rowStyle}>\n <td style={labelStyle}>{key}</td>\n <td style={valueStyle}>{renderValue((item as Record<string, Json>)[key], key)}</td>\n </tr>\n ))}\n </React.Fragment>\n ))}\n </tbody>\n </table>\n );\n } else {\n return (\n <table style={tableStyle}>\n <tbody>\n {currentData.map((item, index) => (\n <tr key={index} style={rowStyle}>\n <td style={labelStyle}>[{index}]</td>\n <td style={valueStyle}>{renderValue(item, `[${index}]`)}</td>\n </tr>\n ))}\n </tbody>\n </table>\n );\n }\n }\n\n const entries = navigationPath.length === 0\n ? Object.entries(currentProperties)\n : Object.entries(currentData as { [key: string]: Json });\n\n return (\n <table style={tableStyle}>\n <tbody>\n {entries.map(([propertyName, propertyDef]: [string, JsonSchemaProperty | Json]) => {\n const value = (currentData as Record<string, Json>)[propertyName];\n\n const isSchemaProperty = navigationPath.length === 0;\n const description = isSchemaProperty && typeof propertyDef === 'object' && propertyDef !== null && 'description' in propertyDef\n ? (propertyDef as JsonSchemaProperty).description\n : undefined;\n\n return (\n <tr key={propertyName} style={rowStyle}>\n <td style={labelStyle}>\n {propertyName}\n {description && (\n <i\n className=\"pi pi-info-circle property-info-icon\"\n style={infoIconStyle}\n data-pr-tooltip={description} />\n )}\n </td>\n <td style={valueStyle}>{renderValue(value as Json, propertyName)}</td>\n </tr>\n );\n })}\n </tbody>\n </table>\n );\n };\n\n return (\n <div className=\"order-content\" style={{ display: 'flex', flexDirection: 'column', height: '100%' }}>\n <Tooltip target=\".property-info-icon\" />\n <ObjectNavigationalBar\n navigationPath={navigationPath}\n onNavigate={navigateToBreadcrumb}\n />\n {renderTable()}\n {timestamp && (\n <div style={{\n marginTop: '20px',\n padding: '12px',\n background: 'rgba(100, 150, 255, 0.1)',\n borderRadius: '8px',\n fontSize: '12px',\n color: 'rgba(255,255,255,0.6)'\n }}>\n Snapshot captured: {timestamp.toLocaleString()}\n </div>\n )}\n </div>\n );\n};\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { ObjectContentEditor } from './ObjectContentEditor';
3
+ declare const meta: Meta<typeof ObjectContentEditor>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof ObjectContentEditor>;
6
+ export declare const Default: Story;
7
+ export declare const WithTimestamp: Story;
8
+ export declare const SimpleObject: Story;
9
+ export declare const WithArray: Story;
10
+ //# sourceMappingURL=ObjectContentEditor.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectContentEditor.stories.d.ts","sourceRoot":"","sources":["../../../ObjectContentEditor/ObjectContentEditor.stories.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,mBAAmB,CAO1C,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAoFlD,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAM3B,CAAC;AAmBF,eAAO,MAAM,YAAY,EAAE,KAK1B,CAAC;AAiBF,eAAO,MAAM,SAAS,EAAE,KAKvB,CAAC"}
@@ -0,0 +1,144 @@
1
+ import { ObjectContentEditor } from './ObjectContentEditor';
2
+ const meta = {
3
+ title: 'Components/ObjectContentEditor',
4
+ component: ObjectContentEditor,
5
+ tags: ['autodocs'],
6
+ parameters: {
7
+ layout: 'padded',
8
+ },
9
+ };
10
+ export default meta;
11
+ const userSchema = {
12
+ type: 'object',
13
+ properties: {
14
+ id: {
15
+ type: 'string',
16
+ format: 'guid',
17
+ description: 'Unique identifier for the user'
18
+ },
19
+ name: {
20
+ type: 'string',
21
+ description: 'Full name of the user'
22
+ },
23
+ email: {
24
+ type: 'string',
25
+ format: 'email',
26
+ description: 'Email address'
27
+ },
28
+ age: {
29
+ type: 'integer',
30
+ description: 'User age in years'
31
+ },
32
+ isActive: {
33
+ type: 'boolean',
34
+ description: 'Whether the user account is active'
35
+ },
36
+ address: {
37
+ type: 'object',
38
+ description: 'User address information',
39
+ properties: {
40
+ street: { type: 'string' },
41
+ city: { type: 'string' },
42
+ zipCode: { type: 'string' },
43
+ country: { type: 'string' }
44
+ }
45
+ },
46
+ tags: {
47
+ type: 'array',
48
+ description: 'User tags',
49
+ items: { type: 'string' }
50
+ },
51
+ orders: {
52
+ type: 'array',
53
+ description: 'User orders',
54
+ items: {
55
+ type: 'object',
56
+ properties: {
57
+ orderId: { type: 'string' },
58
+ total: { type: 'number' },
59
+ date: { type: 'string', format: 'date-time' }
60
+ }
61
+ }
62
+ }
63
+ }
64
+ };
65
+ const sampleUser = {
66
+ id: '123e4567-e89b-12d3-a456-426614174000',
67
+ name: 'John Doe',
68
+ email: 'john.doe@example.com',
69
+ age: 30,
70
+ isActive: true,
71
+ address: {
72
+ street: '123 Main St',
73
+ city: 'New York',
74
+ zipCode: '10001',
75
+ country: 'USA'
76
+ },
77
+ tags: ['premium', 'verified', 'newsletter'],
78
+ orders: [
79
+ {
80
+ orderId: 'ORD-001',
81
+ total: 99.99,
82
+ date: '2024-01-15T10:30:00Z'
83
+ },
84
+ {
85
+ orderId: 'ORD-002',
86
+ total: 149.99,
87
+ date: '2024-02-20T14:45:00Z'
88
+ }
89
+ ]
90
+ };
91
+ export const Default = {
92
+ args: {
93
+ object: sampleUser,
94
+ schema: userSchema,
95
+ },
96
+ };
97
+ export const WithTimestamp = {
98
+ args: {
99
+ object: sampleUser,
100
+ schema: userSchema,
101
+ timestamp: new Date('2024-02-21T12:00:00Z'),
102
+ },
103
+ };
104
+ const simpleObject = {
105
+ title: 'Simple Object',
106
+ count: 42,
107
+ enabled: true,
108
+ value: 3.14
109
+ };
110
+ const simpleSchema = {
111
+ type: 'object',
112
+ properties: {
113
+ title: { type: 'string', description: 'The title' },
114
+ count: { type: 'integer', description: 'A count value' },
115
+ enabled: { type: 'boolean', description: 'Whether enabled' },
116
+ value: { type: 'number', description: 'A numeric value' }
117
+ }
118
+ };
119
+ export const SimpleObject = {
120
+ args: {
121
+ object: simpleObject,
122
+ schema: simpleSchema,
123
+ },
124
+ };
125
+ const arrayData = {
126
+ items: ['apple', 'banana', 'orange', 'grape']
127
+ };
128
+ const arraySchema = {
129
+ type: 'object',
130
+ properties: {
131
+ items: {
132
+ type: 'array',
133
+ description: 'List of fruits',
134
+ items: { type: 'string' }
135
+ }
136
+ }
137
+ };
138
+ export const WithArray = {
139
+ args: {
140
+ object: arrayData,
141
+ schema: arraySchema,
142
+ },
143
+ };
144
+ //# sourceMappingURL=ObjectContentEditor.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectContentEditor.stories.js","sourceRoot":"","sources":["../../../ObjectContentEditor/ObjectContentEditor.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,MAAM,IAAI,GAAqC;IAC3C,KAAK,EAAE,gCAAgC;IACvC,SAAS,EAAE,mBAAmB;IAC9B,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,UAAU,EAAE;QACR,MAAM,EAAE,QAAQ;KACnB;CACJ,CAAC;AAEF,eAAe,IAAI,CAAC;AAGpB,MAAM,UAAU,GAAe;IAC3B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR,EAAE,EAAE;YACA,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,gCAAgC;SAChD;QACD,IAAI,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,uBAAuB;SACvC;QACD,KAAK,EAAE;YACH,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,WAAW,EAAE,eAAe;SAC/B;QACD,GAAG,EAAE;YACD,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,mBAAmB;SACnC;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,oCAAoC;SACpD;QACD,OAAO,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,0BAA0B;YACvC,UAAU,EAAE;gBACR,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC9B;SACJ;QACD,IAAI,EAAE;YACF,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,WAAW;YACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC5B;QACD,MAAM,EAAE;YACJ,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,aAAa;YAC1B,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACR,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE;iBAChD;aACJ;SACJ;KACJ;CACJ,CAAC;AAEF,MAAM,UAAU,GAAS;IACrB,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,sBAAsB;IAC7B,GAAG,EAAE,EAAE;IACP,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE;QACL,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,KAAK;KACjB;IACD,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC;IAC3C,MAAM,EAAE;QACJ;YACI,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,sBAAsB;SAC/B;QACD;YACI,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,sBAAsB;SAC/B;KACJ;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC1B,IAAI,EAAE;QACF,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,UAAU;KACrB;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAU;IAChC,IAAI,EAAE;QACF,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC;KAC9C;CACJ,CAAC;AAEF,MAAM,YAAY,GAAS;IACvB,KAAK,EAAE,eAAe;IACtB,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,IAAI;CACd,CAAC;AAEF,MAAM,YAAY,GAAe;IAC7B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE;QACnD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE;QACxD,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE;QAC5D,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE;KAC5D;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAU;IAC/B,IAAI,EAAE;QACF,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,YAAY;KACvB;CACJ,CAAC;AAEF,MAAM,SAAS,GAAS;IACpB,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC;CAChD,CAAC;AAEF,MAAM,WAAW,GAAe;IAC5B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR,KAAK,EAAE;YACH,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,gBAAgB;YAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC5B;KACJ;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAU;IAC5B,IAAI,EAAE;QACF,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,WAAW;KACtB;CACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './ObjectContentEditor';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ObjectContentEditor/index.ts"],"names":[],"mappings":"AAGA,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ObjectContentEditor } from './ObjectContentEditor.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export interface ObjectNavigationalBarProps {
2
+ navigationPath: string[];
3
+ onNavigate: (index: number) => void;
4
+ }
5
+ export declare function ObjectNavigationalBar({ navigationPath, onNavigate }: ObjectNavigationalBarProps): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=ObjectNavigationalBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectNavigationalBar.d.ts","sourceRoot":"","sources":["../../../ObjectNavigationalBar/ObjectNavigationalBar.tsx"],"names":[],"mappings":"AAOA,MAAM,WAAW,0BAA0B;IACvC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,wBAAgB,qBAAqB,CAAC,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,0BAA0B,2CA0C/F"}
@@ -0,0 +1,24 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { useMemo } from 'react';
3
+ import { Button } from 'primereact/button';
4
+ import * as faIcons from 'react-icons/fa6';
5
+
6
+ function ObjectNavigationalBar({ navigationPath, onNavigate }) {
7
+ const breadcrumbItems = useMemo(() => {
8
+ const items = [{ name: 'Root', index: 0 }];
9
+ for (let i = 0; i < navigationPath.length; i++) {
10
+ items.push({
11
+ name: navigationPath[i],
12
+ index: i + 1
13
+ });
14
+ }
15
+ return items;
16
+ }, [navigationPath]);
17
+ return (jsx("div", { className: "px-4 py-2 mb-2 border-bottom-1 surface-border", children: jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: '0.5rem' }, children: [jsx(Button, { icon: jsx(faIcons.FaArrowLeft, {}), className: "p-button-text p-button-sm", onClick: () => onNavigate(navigationPath.length - 1), tooltip: "Navigate back", tooltipOptions: { position: 'top' }, disabled: navigationPath.length === 0 }), jsx("div", { style: { fontSize: '0.9rem', color: 'var(--text-color-secondary)' }, children: breadcrumbItems.map((item, index) => (jsxs("span", { children: [index > 0 && jsx("span", { className: "mx-2", children: ">" }), jsx("span", { onClick: () => onNavigate(item.index), style: {
18
+ cursor: 'pointer',
19
+ textDecoration: index < breadcrumbItems.length - 1 ? 'underline' : 'none'
20
+ }, children: item.name })] }, index))) })] }) }));
21
+ }
22
+
23
+ export { ObjectNavigationalBar };
24
+ //# sourceMappingURL=ObjectNavigationalBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectNavigationalBar.js","sources":["../../../ObjectNavigationalBar/ObjectNavigationalBar.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 { useMemo } from 'react';\nimport { Button } from 'primereact/button';\nimport * as faIcons from 'react-icons/fa6';\n\nexport interface ObjectNavigationalBarProps {\n navigationPath: string[];\n onNavigate: (index: number) => void;\n}\n\nexport function ObjectNavigationalBar({ navigationPath, onNavigate }: ObjectNavigationalBarProps) {\n const breadcrumbItems = useMemo(() => {\n const items: { name: string; index: number }[] = [{ name: 'Root', index: 0 }];\n for (let i = 0; i < navigationPath.length; i++) {\n items.push({\n name: navigationPath[i],\n index: i + 1\n });\n }\n return items;\n }, [navigationPath]);\n\n return (\n <div className=\"px-4 py-2 mb-2 border-bottom-1 surface-border\">\n <div style={{ display: 'flex', alignItems: 'center', gap: '0.5rem' }}>\n <Button\n icon={<faIcons.FaArrowLeft />}\n className=\"p-button-text p-button-sm\"\n onClick={() => onNavigate(navigationPath.length - 1)}\n tooltip=\"Navigate back\"\n tooltipOptions={{ position: 'top' }}\n disabled={navigationPath.length === 0}\n />\n <div style={{ fontSize: '0.9rem', color: 'var(--text-color-secondary)' }}>\n {breadcrumbItems.map((item, index) => (\n <span key={index}>\n {index > 0 && <span className=\"mx-2\">&gt;</span>}\n <span\n onClick={() => onNavigate(item.index)}\n style={{\n cursor: 'pointer',\n textDecoration: index < breadcrumbItems.length - 1 ? 'underline' : 'none'\n }}\n >\n {item.name}\n </span>\n </span>\n ))}\n </div>\n </div>\n </div>\n );\n}\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;SAYgB,qBAAqB,CAAC,EAAE,cAAc,EAAE,UAAU,EAA8B,EAAA;AAC5F,IAAA,MAAM,eAAe,GAAG,OAAO,CAAC,MAAK;AACjC,QAAA,MAAM,KAAK,GAAsC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAC7E,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,KAAK,CAAC,IAAI,CAAC;AACP,gBAAA,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;gBACvB,KAAK,EAAE,CAAC,GAAG;AACd,aAAA,CAAC;QACN;AACA,QAAA,OAAO,KAAK;AAChB,IAAA,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;IAEpB,QACIA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,+CAA+C,EAAA,QAAA,EAC1DC,IAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAA,QAAA,EAAA,CAChED,GAAA,CAAC,MAAM,EAAA,EACH,IAAI,EAAEA,GAAA,CAAC,OAAO,CAAC,WAAW,EAAA,EAAA,CAAG,EAC7B,SAAS,EAAC,2BAA2B,EACrC,OAAO,EAAE,MAAM,UAAU,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,EACpD,OAAO,EAAC,eAAe,EACvB,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EACnC,QAAQ,EAAE,cAAc,CAAC,MAAM,KAAK,CAAC,EAAA,CACvC,EACFA,GAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAA,QAAA,EACnE,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,MAC7BC,IAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CACK,KAAK,GAAG,CAAC,IAAID,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,MAAM,EAAA,QAAA,EAAA,GAAA,EAAA,CAAY,EAChDA,GAAA,CAAA,MAAA,EAAA,EACI,OAAO,EAAE,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EACrC,KAAK,EAAE;AACH,oCAAA,MAAM,EAAE,SAAS;AACjB,oCAAA,cAAc,EAAE,KAAK,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,GAAG,WAAW,GAAG;AACtE,iCAAA,EAAA,QAAA,EAEA,IAAI,CAAC,IAAI,EAAA,CACP,CAAA,EAAA,EAVA,KAAK,CAWT,CACV,CAAC,EAAA,CACA,CAAA,EAAA,CACJ,EAAA,CACJ;AAEd;;;;"}
@@ -0,0 +1,10 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { ObjectNavigationalBar } from './ObjectNavigationalBar';
3
+ declare const meta: Meta<typeof ObjectNavigationalBar>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof ObjectNavigationalBar>;
6
+ export declare const Interactive: Story;
7
+ export declare const AtRoot: Story;
8
+ export declare const SingleLevel: Story;
9
+ export declare const DeepPath: Story;
10
+ //# sourceMappingURL=ObjectNavigationalBar.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectNavigationalBar.stories.d.ts","sourceRoot":"","sources":["../../../ObjectNavigationalBar/ObjectNavigationalBar.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,qBAAqB,CAO5C,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,qBAAqB,CAAC,CAAC;AA2BpD,eAAO,MAAM,WAAW,EAAE,KAEzB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAKpB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAKzB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { ObjectNavigationalBar } from './ObjectNavigationalBar';
4
+ const meta = {
5
+ title: 'Components/ObjectNavigationalBar',
6
+ component: ObjectNavigationalBar,
7
+ tags: ['autodocs'],
8
+ parameters: {
9
+ layout: 'padded',
10
+ },
11
+ };
12
+ export default meta;
13
+ const InteractiveWrapper = () => {
14
+ const [navigationPath, setNavigationPath] = useState(['users', '0', 'address']);
15
+ const handleNavigate = (index) => {
16
+ if (index === 0) {
17
+ setNavigationPath([]);
18
+ }
19
+ else {
20
+ setNavigationPath(navigationPath.slice(0, index));
21
+ }
22
+ };
23
+ return (_jsxs("div", { style: { padding: '1rem', background: 'var(--surface-ground)', minHeight: '200px' }, children: [_jsxs("h3", { children: ["Current Path: ", navigationPath.length > 0 ? navigationPath.join(' > ') : 'Root'] }), _jsx(ObjectNavigationalBar, { navigationPath: navigationPath, onNavigate: handleNavigate }), _jsx("div", { style: { marginTop: '2rem' }, children: _jsx("p", { children: "Click on breadcrumb items to navigate, or use the back button." }) })] }));
24
+ };
25
+ export const Interactive = {
26
+ render: () => _jsx(InteractiveWrapper, {}),
27
+ };
28
+ export const AtRoot = {
29
+ args: {
30
+ navigationPath: [],
31
+ onNavigate: (index) => console.log('Navigate to', index),
32
+ },
33
+ };
34
+ export const SingleLevel = {
35
+ args: {
36
+ navigationPath: ['users'],
37
+ onNavigate: (index) => console.log('Navigate to', index),
38
+ },
39
+ };
40
+ export const DeepPath = {
41
+ args: {
42
+ navigationPath: ['users', '0', 'address', 'city'],
43
+ onNavigate: (index) => console.log('Navigate to', index),
44
+ },
45
+ };
46
+ //# sourceMappingURL=ObjectNavigationalBar.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectNavigationalBar.stories.js","sourceRoot":"","sources":["../../../ObjectNavigationalBar/ObjectNavigationalBar.stories.tsx"],"names":[],"mappings":";AAGA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,IAAI,GAAuC;IAC7C,KAAK,EAAE,kCAAkC;IACzC,SAAS,EAAE,qBAAqB;IAChC,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,UAAU,EAAE;QACR,MAAM,EAAE,QAAQ;KACnB;CACJ,CAAC;AAEF,eAAe,IAAI,CAAC;AAGpB,MAAM,kBAAkB,GAAG,GAAG,EAAE;IAC5B,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAW,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;IAE1F,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,EAAE;QACrC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACd,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACJ,iBAAiB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CACH,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,uBAAuB,EAAE,SAAS,EAAE,OAAO,EAAE,aACpF,2CAAmB,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAM,EACxF,KAAC,qBAAqB,IAClB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,cAAc,GAC5B,EACF,cAAK,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,YAC7B,yFAAqE,GACnE,IACJ,CACT,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAU;IAC9B,MAAM,EAAE,GAAG,EAAE,CAAC,KAAC,kBAAkB,KAAG;CACvC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAU;IACzB,IAAI,EAAE;QACF,cAAc,EAAE,EAAE;QAClB,UAAU,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC;KACnE;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAU;IAC9B,IAAI,EAAE;QACF,cAAc,EAAE,CAAC,OAAO,CAAC;QACzB,UAAU,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC;KACnE;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC3B,IAAI,EAAE;QACF,cAAc,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC;QACjD,UAAU,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC;KACnE;CACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './ObjectNavigationalBar';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ObjectNavigationalBar/index.ts"],"names":[],"mappings":"AAGA,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ObjectNavigationalBar } from './ObjectNavigationalBar.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { JsonSchemaProperty } from '../types/JsonSchema';
2
+ export interface NameCellProps {
3
+ rowData: JsonSchemaProperty;
4
+ isEditMode: boolean;
5
+ onUpdate: (oldName: string, field: keyof JsonSchemaProperty, value: unknown) => void;
6
+ validationError?: string;
7
+ }
8
+ export declare const NameCell: ({ rowData, isEditMode, onUpdate, validationError }: NameCellProps) => import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=NameCell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NameCell.d.ts","sourceRoot":"","sources":["../../../SchemaEditor/NameCell.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,kBAAkB,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,kBAAkB,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACrF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,QAAQ,GAAI,oDAAoD,aAAa,4CAqCzF,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { InputText } from 'primereact/inputtext';
3
+ import * as faIcons from 'react-icons/fa6';
4
+
5
+ const NameCell = ({ rowData, isEditMode, onUpdate, validationError }) => {
6
+ if (!isEditMode) {
7
+ const isNavigable = rowData.type === 'object' || (rowData.type === 'array' && rowData.items?.type === 'object');
8
+ const navigationTooltipText = rowData.type === 'object'
9
+ ? 'Click to navigate to object properties'
10
+ : 'Click to navigate to item definition';
11
+ return (jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: '0.5rem' }, children: [jsx("span", { className: isNavigable ? 'schema-navigation-tooltip' : undefined, "data-pr-tooltip": isNavigable ? navigationTooltipText : undefined, "data-pr-position": "top", children: rowData.name }), rowData.description && (jsx(faIcons.FaCircleInfo, { className: "schema-description-tooltip", style: { color: 'var(--text-color-secondary)', fontSize: '0.875rem' }, "data-pr-tooltip": rowData.description, "data-pr-position": "right" }))] }));
12
+ }
13
+ return (jsx(InputText, { value: rowData.name || '', onChange: (e) => onUpdate(rowData.name || '', 'name', e.target.value), className: `w-full ${validationError ? 'p-invalid' : ''}`, "data-pr-tooltip": validationError, "data-pr-position": "top" }));
14
+ };
15
+
16
+ export { NameCell };
17
+ //# sourceMappingURL=NameCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NameCell.js","sources":["../../../SchemaEditor/NameCell.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 { InputText } from 'primereact/inputtext';\nimport * as faIcons from 'react-icons/fa6';\nimport { JsonSchemaProperty } from '../types/JsonSchema';\n\nexport interface NameCellProps {\n rowData: JsonSchemaProperty;\n isEditMode: boolean;\n onUpdate: (oldName: string, field: keyof JsonSchemaProperty, value: unknown) => void;\n validationError?: string;\n}\n\nexport const NameCell = ({ rowData, isEditMode, onUpdate, validationError }: NameCellProps) => {\n if (!isEditMode) {\n const isNavigable = rowData.type === 'object' || (rowData.type === 'array' && rowData.items?.type === 'object');\n const navigationTooltipText = rowData.type === 'object'\n ? 'Click to navigate to object properties'\n : 'Click to navigate to item definition';\n\n return (\n <div style={{ display: 'flex', alignItems: 'center', gap: '0.5rem' }}>\n <span\n className={isNavigable ? 'schema-navigation-tooltip' : undefined}\n data-pr-tooltip={isNavigable ? navigationTooltipText : undefined}\n data-pr-position=\"top\"\n >\n {rowData.name}\n </span>\n {rowData.description && (\n <faIcons.FaCircleInfo\n className=\"schema-description-tooltip\"\n style={{ color: 'var(--text-color-secondary)', fontSize: '0.875rem' }}\n data-pr-tooltip={rowData.description}\n data-pr-position=\"right\"\n />\n )}\n </div>\n );\n }\n\n return (\n <InputText\n value={rowData.name || ''}\n onChange={(e) => onUpdate(rowData.name || '', 'name', e.target.value)}\n className={`w-full ${validationError ? 'p-invalid' : ''}`}\n data-pr-tooltip={validationError}\n data-pr-position=\"top\"\n />\n );\n};\n"],"names":["_jsxs","_jsx"],"mappings":";;;;AAcO,MAAM,QAAQ,GAAG,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAiB,KAAI;IAC1F,IAAI,CAAC,UAAU,EAAE;QACb,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,KAAK,QAAQ,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,KAAK,QAAQ,CAAC;AAC/G,QAAA,MAAM,qBAAqB,GAAG,OAAO,CAAC,IAAI,KAAK;AAC3C,cAAE;cACA,sCAAsC;AAE5C,QAAA,QACIA,IAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAA,QAAA,EAAA,CAChEC,GAAA,CAAA,MAAA,EAAA,EACI,SAAS,EAAE,WAAW,GAAG,2BAA2B,GAAG,SAAS,EAAA,iBAAA,EAC/C,WAAW,GAAG,qBAAqB,GAAG,SAAS,EAAA,kBAAA,EAC/C,KAAK,EAAA,QAAA,EAErB,OAAO,CAAC,IAAI,GACV,EACN,OAAO,CAAC,WAAW,KAChBA,GAAA,CAAC,OAAO,CAAC,YAAY,IACjB,SAAS,EAAC,4BAA4B,EACtC,KAAK,EAAE,EAAE,KAAK,EAAE,6BAA6B,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAA,iBAAA,EACpD,OAAO,CAAC,WAAW,EAAA,kBAAA,EACnB,OAAO,GAC1B,CACL,CAAA,EAAA,CACC;IAEd;IAEA,QACIA,GAAA,CAAC,SAAS,EAAA,EACN,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,EACzB,QAAQ,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACrE,SAAS,EAAE,CAAA,OAAA,EAAU,eAAe,GAAG,WAAW,GAAG,EAAE,CAAA,CAAE,EAAA,iBAAA,EACxC,eAAe,EAAA,kBAAA,EACf,KAAK,EAAA,CACxB;AAEV;;;;"}
@@ -0,0 +1,17 @@
1
+ import { JsonSchema } from '../types/JsonSchema';
2
+ import { TypeFormat } from '../types/TypeFormat';
3
+ export interface SchemaEditorProps {
4
+ schema: JsonSchema;
5
+ eventTypeName?: string;
6
+ canEdit?: boolean;
7
+ canNotEditReason?: string;
8
+ onChange?: (schema: JsonSchema) => void;
9
+ onSave?: () => void;
10
+ onCancel?: () => void;
11
+ editMode?: boolean;
12
+ saveDisabled?: boolean;
13
+ cancelDisabled?: boolean;
14
+ typeFormats?: TypeFormat[];
15
+ }
16
+ export declare const SchemaEditor: ({ schema, eventTypeName, canEdit, canNotEditReason, onChange, onSave, onCancel, editMode, saveDisabled, cancelDisabled, typeFormats }: SchemaEditorProps) => import("react/jsx-runtime").JSX.Element;
17
+ //# sourceMappingURL=SchemaEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaEditor.d.ts","sourceRoot":"","sources":["../../../SchemaEditor/SchemaEditor.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,UAAU,EAAsC,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,UAAU,EAAwB,MAAM,qBAAqB,CAAC;AAIvE,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,UAAU,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;CAC9B;AAED,eAAO,MAAM,YAAY,GAAI,uIAY1B,iBAAiB,4CAsbnB,CAAC"}