@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
@@ -1,173 +0,0 @@
1
- 'use strict';
2
-
3
- var PIXI = require('pixi.js');
4
-
5
- function _interopNamespaceDefault(e) {
6
- var n = Object.create(null);
7
- if (e) {
8
- Object.keys(e).forEach(function (k) {
9
- if (k !== 'default') {
10
- var d = Object.getOwnPropertyDescriptor(e, k);
11
- Object.defineProperty(n, k, d.get ? d : {
12
- enumerable: true,
13
- get: function () { return e[k]; }
14
- });
15
- }
16
- });
17
- }
18
- n.default = e;
19
- return Object.freeze(n);
20
- }
21
-
22
- var PIXI__namespace = /*#__PURE__*/_interopNamespaceDefault(PIXI);
23
-
24
- const CONNECTOR_COLOR = 0x64748b;
25
- const CONNECTOR_HOVER_COLOR = 0x3b82f6;
26
- const CONNECTOR_WIDTH = 2;
27
- const CONNECTOR_HOVER_WIDTH = 3;
28
- function createConnectorGraphics(connector, getElements, onClick) {
29
- const graphics = new PIXI__namespace.Graphics();
30
- graphics.eventMode = 'static';
31
- graphics.cursor = 'pointer';
32
- graphics.hitArea = new PIXI__namespace.Rectangle(0, 0, 0, 0);
33
- const connectorGraphics = {
34
- id: connector.id,
35
- graphics,
36
- connector,
37
- getElements,
38
- isHovered: false,
39
- };
40
- drawConnector(graphics, connector, getElements(), false);
41
- graphics.on('click', () => {
42
- onClick(connector.id);
43
- });
44
- graphics.on('pointerover', () => {
45
- connectorGraphics.isHovered = true;
46
- drawConnector(graphics, connector, connectorGraphics.getElements(), true);
47
- });
48
- graphics.on('pointerout', () => {
49
- connectorGraphics.isHovered = false;
50
- drawConnector(graphics, connector, connectorGraphics.getElements(), false);
51
- });
52
- return connectorGraphics;
53
- }
54
- function drawConnector(graphics, connector, elements, isHovered) {
55
- const fromElement = elements.get(connector.from.elementId);
56
- const toElement = elements.get(connector.to.elementId);
57
- if (!fromElement || !toElement) {
58
- graphics.clear();
59
- return;
60
- }
61
- const fromPoint = getEdgePosition(fromElement, connector.from.side);
62
- const toPoint = getEdgePosition(toElement, connector.to.side);
63
- graphics.clear();
64
- const controlPointOffset = Math.abs(toPoint.x - fromPoint.x) / 3;
65
- let cp1x, cp1y, cp2x, cp2y;
66
- if (connector.from.side === 'right' && connector.to.side === 'left') {
67
- cp1x = fromPoint.x + controlPointOffset;
68
- cp1y = fromPoint.y;
69
- cp2x = toPoint.x - controlPointOffset;
70
- cp2y = toPoint.y;
71
- }
72
- else if (connector.from.side === 'bottom' && connector.to.side === 'top') {
73
- cp1x = fromPoint.x;
74
- cp1y = fromPoint.y + controlPointOffset;
75
- cp2x = toPoint.x;
76
- cp2y = toPoint.y - controlPointOffset;
77
- }
78
- else {
79
- switch (connector.from.side) {
80
- case 'right':
81
- cp1x = fromPoint.x + controlPointOffset;
82
- cp1y = fromPoint.y;
83
- break;
84
- case 'left':
85
- cp1x = fromPoint.x - controlPointOffset;
86
- cp1y = fromPoint.y;
87
- break;
88
- case 'bottom':
89
- cp1x = fromPoint.x;
90
- cp1y = fromPoint.y + controlPointOffset;
91
- break;
92
- case 'top':
93
- default:
94
- cp1x = fromPoint.x;
95
- cp1y = fromPoint.y - controlPointOffset;
96
- break;
97
- }
98
- switch (connector.to.side) {
99
- case 'left':
100
- cp2x = toPoint.x - controlPointOffset;
101
- cp2y = toPoint.y;
102
- break;
103
- case 'right':
104
- cp2x = toPoint.x + controlPointOffset;
105
- cp2y = toPoint.y;
106
- break;
107
- case 'top':
108
- cp2x = toPoint.x;
109
- cp2y = toPoint.y - controlPointOffset;
110
- break;
111
- case 'bottom':
112
- default:
113
- cp2x = toPoint.x;
114
- cp2y = toPoint.y + controlPointOffset;
115
- break;
116
- }
117
- }
118
- graphics.moveTo(fromPoint.x, fromPoint.y);
119
- graphics.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, toPoint.x, toPoint.y);
120
- graphics.stroke({
121
- color: isHovered ? CONNECTOR_HOVER_COLOR : CONNECTOR_COLOR,
122
- width: isHovered ? CONNECTOR_HOVER_WIDTH : CONNECTOR_WIDTH,
123
- });
124
- drawArrowhead(graphics, fromPoint.x, fromPoint.y, cp1x, cp1y, cp2x, cp2y, toPoint.x, toPoint.y, isHovered);
125
- const minX = Math.min(fromPoint.x, toPoint.x) - 10;
126
- const minY = Math.min(fromPoint.y, toPoint.y) - 10;
127
- const maxX = Math.max(fromPoint.x, toPoint.x) + 10;
128
- const maxY = Math.max(fromPoint.y, toPoint.y) + 10;
129
- graphics.hitArea = new PIXI__namespace.Rectangle(minX, minY, maxX - minX, maxY - minY);
130
- }
131
- function drawArrowhead(graphics, startX, startY, cp1x, cp1y, cp2x, cp2y, endX, endY, isHovered) {
132
- const arrowSize = 10;
133
- const dx = 3 * (endX - cp2x);
134
- const dy = 3 * (endY - cp2y);
135
- const length = Math.sqrt(dx * dx + dy * dy);
136
- if (length === 0)
137
- return;
138
- const unitX = dx / length;
139
- const unitY = dy / length;
140
- const perpX = -unitY;
141
- const perpY = unitX;
142
- const backX = endX - unitX * arrowSize;
143
- const backY = endY - unitY * arrowSize;
144
- const left = { x: backX + perpX * (arrowSize / 2), y: backY + perpY * (arrowSize / 2) };
145
- const right = { x: backX - perpX * (arrowSize / 2), y: backY - perpY * (arrowSize / 2) };
146
- graphics.poly([
147
- endX, endY,
148
- left.x, left.y,
149
- right.x, right.y,
150
- endX, endY
151
- ]);
152
- graphics.fill({ color: isHovered ? CONNECTOR_HOVER_COLOR : CONNECTOR_COLOR });
153
- }
154
- function getEdgePosition(element, side) {
155
- const { position, size } = element;
156
- switch (side) {
157
- case 'top':
158
- return { x: position.x + size.width / 2, y: position.y };
159
- case 'right':
160
- return { x: position.x + size.width, y: position.y + size.height / 2 };
161
- case 'bottom':
162
- return { x: position.x + size.width / 2, y: position.y + size.height };
163
- case 'left':
164
- return { x: position.x, y: position.y + size.height / 2 };
165
- }
166
- }
167
- function updateConnectorGraphics(connectorGraphics, elements) {
168
- drawConnector(connectorGraphics.graphics, connectorGraphics.connector, elements, connectorGraphics.isHovered);
169
- }
170
-
171
- exports.createConnectorGraphics = createConnectorGraphics;
172
- exports.updateConnectorGraphics = updateConnectorGraphics;
173
- //# sourceMappingURL=connectorGraphics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connectorGraphics.js","sources":["../../../../EventModeling/engine/connectorGraphics.ts"],"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 * as PIXI from 'pixi.js';\nimport { Connector, ElementData, EdgeSide } from '../types';\n\nexport interface ConnectorGraphics {\n id: string;\n graphics: PIXI.Graphics;\n connector: Connector;\n getElements: () => Map<string, ElementData>;\n isHovered: boolean;\n}\n\nconst CONNECTOR_COLOR = 0x64748b;\nconst CONNECTOR_HOVER_COLOR = 0x3b82f6;\nconst CONNECTOR_WIDTH = 2;\nconst CONNECTOR_HOVER_WIDTH = 3;\n\nexport function createConnectorGraphics(\n connector: Connector,\n getElements: () => Map<string, ElementData>,\n onClick: (id: string) => void\n): ConnectorGraphics {\n const graphics = new PIXI.Graphics();\n graphics.eventMode = 'static';\n graphics.cursor = 'pointer';\n graphics.hitArea = new PIXI.Rectangle(0, 0, 0, 0); // Will be updated\n\n const connectorGraphics: ConnectorGraphics = {\n id: connector.id,\n graphics,\n connector,\n getElements,\n isHovered: false,\n };\n\n drawConnector(graphics, connector, getElements(), false);\n\n graphics.on('click', () => {\n onClick(connector.id);\n });\n\n graphics.on('pointerover', () => {\n connectorGraphics.isHovered = true;\n // Use fresh element data from getter\n drawConnector(graphics, connector, connectorGraphics.getElements(), true);\n });\n\n graphics.on('pointerout', () => {\n connectorGraphics.isHovered = false;\n // Use fresh element data from getter\n drawConnector(graphics, connector, connectorGraphics.getElements(), false);\n });\n\n return connectorGraphics;\n}\n\nfunction drawConnector(\n graphics: PIXI.Graphics,\n connector: Connector,\n elements: Map<string, ElementData>,\n isHovered: boolean\n): void {\n const fromElement = elements.get(connector.from.elementId);\n const toElement = elements.get(connector.to.elementId);\n\n if (!fromElement || !toElement) {\n graphics.clear();\n return;\n }\n\n const fromPoint = getEdgePosition(fromElement, connector.from.side);\n const toPoint = getEdgePosition(toElement, connector.to.side);\n\n graphics.clear();\n\n // Create a curved path using cubic Bezier\n const controlPointOffset = Math.abs(toPoint.x - fromPoint.x) / 3;\n \n let cp1x: number, cp1y: number, cp2x: number, cp2y: number;\n\n // Adjust control points based on connection direction\n if (connector.from.side === 'right' && connector.to.side === 'left') {\n // Horizontal connection\n cp1x = fromPoint.x + controlPointOffset;\n cp1y = fromPoint.y;\n cp2x = toPoint.x - controlPointOffset;\n cp2y = toPoint.y;\n } else if (connector.from.side === 'bottom' && connector.to.side === 'top') {\n // Vertical connection\n cp1x = fromPoint.x;\n cp1y = fromPoint.y + controlPointOffset;\n cp2x = toPoint.x;\n cp2y = toPoint.y - controlPointOffset;\n } else {\n // Mixed or diagonal connections\n switch (connector.from.side) {\n case 'right':\n cp1x = fromPoint.x + controlPointOffset;\n cp1y = fromPoint.y;\n break;\n case 'left':\n cp1x = fromPoint.x - controlPointOffset;\n cp1y = fromPoint.y;\n break;\n case 'bottom':\n cp1x = fromPoint.x;\n cp1y = fromPoint.y + controlPointOffset;\n break;\n case 'top':\n default:\n cp1x = fromPoint.x;\n cp1y = fromPoint.y - controlPointOffset;\n break;\n }\n\n switch (connector.to.side) {\n case 'left':\n cp2x = toPoint.x - controlPointOffset;\n cp2y = toPoint.y;\n break;\n case 'right':\n cp2x = toPoint.x + controlPointOffset;\n cp2y = toPoint.y;\n break;\n case 'top':\n cp2x = toPoint.x;\n cp2y = toPoint.y - controlPointOffset;\n break;\n case 'bottom':\n default:\n cp2x = toPoint.x;\n cp2y = toPoint.y + controlPointOffset;\n break;\n }\n }\n\n // Draw the curved line\n graphics.moveTo(fromPoint.x, fromPoint.y);\n graphics.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, toPoint.x, toPoint.y);\n graphics.stroke({\n color: isHovered ? CONNECTOR_HOVER_COLOR : CONNECTOR_COLOR,\n width: isHovered ? CONNECTOR_HOVER_WIDTH : CONNECTOR_WIDTH,\n });\n\n // Draw arrowhead at the end - pass all curve points for accurate tangent calculation\n drawArrowhead(graphics, fromPoint.x, fromPoint.y, cp1x, cp1y, cp2x, cp2y, toPoint.x, toPoint.y, isHovered);\n\n // Update hit area for better click detection\n const minX = Math.min(fromPoint.x, toPoint.x) - 10;\n const minY = Math.min(fromPoint.y, toPoint.y) - 10;\n const maxX = Math.max(fromPoint.x, toPoint.x) + 10;\n const maxY = Math.max(fromPoint.y, toPoint.y) + 10;\n graphics.hitArea = new PIXI.Rectangle(minX, minY, maxX - minX, maxY - minY);\n}\n\nfunction drawArrowhead(\n graphics: PIXI.Graphics,\n startX: number,\n startY: number,\n cp1x: number,\n cp1y: number,\n cp2x: number,\n cp2y: number,\n endX: number,\n endY: number,\n isHovered: boolean\n): void {\n const arrowSize = 10;\n \n // Calculate the tangent at the end of the Bezier curve (t = 1)\n // For cubic Bezier: B'(t) = 3(1-t)²(P1-P0) + 6(1-t)t(P2-P1) + 3t²(P3-P2)\n // At t = 1: B'(1) = 3(P3 - P2)\n // This gives us the direction the curve is heading at the endpoint\n const dx = 3 * (endX - cp2x);\n const dy = 3 * (endY - cp2y);\n const length = Math.sqrt(dx * dx + dy * dy);\n \n if (length === 0) return;\n\n const unitX = dx / length;\n const unitY = dy / length;\n\n // Calculate perpendicular\n const perpX = -unitY;\n const perpY = unitX;\n\n // Calculate arrowhead points\n const backX = endX - unitX * arrowSize;\n const backY = endY - unitY * arrowSize;\n const left = { x: backX + perpX * (arrowSize / 2), y: backY + perpY * (arrowSize / 2) };\n const right = { x: backX - perpX * (arrowSize / 2), y: backY - perpY * (arrowSize / 2) };\n\n // Draw filled arrowhead\n graphics.poly([\n endX, endY,\n left.x, left.y,\n right.x, right.y,\n endX, endY\n ]);\n graphics.fill({ color: isHovered ? CONNECTOR_HOVER_COLOR : CONNECTOR_COLOR });\n}\n\nfunction getEdgePosition(element: ElementData, side: EdgeSide): { x: number; y: number } {\n const { position, size } = element;\n \n switch (side) {\n case 'top':\n return { x: position.x + size.width / 2, y: position.y };\n case 'right':\n return { x: position.x + size.width, y: position.y + size.height / 2 };\n case 'bottom':\n return { x: position.x + size.width / 2, y: position.y + size.height };\n case 'left':\n return { x: position.x, y: position.y + size.height / 2 };\n }\n}\n\nexport function updateConnectorGraphics(\n connectorGraphics: ConnectorGraphics,\n elements: Map<string, ElementData>\n): void {\n // Preserve hover state when updating\n drawConnector(connectorGraphics.graphics, connectorGraphics.connector, elements, connectorGraphics.isHovered);\n}\n"],"names":["PIXI"],"mappings":"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"}
@@ -1,301 +0,0 @@
1
- 'use strict';
2
-
3
- var PIXI = require('pixi.js');
4
- var types = require('../types.js');
5
-
6
- function _interopNamespaceDefault(e) {
7
- var n = Object.create(null);
8
- if (e) {
9
- Object.keys(e).forEach(function (k) {
10
- if (k !== 'default') {
11
- var d = Object.getOwnPropertyDescriptor(e, k);
12
- Object.defineProperty(n, k, d.get ? d : {
13
- enumerable: true,
14
- get: function () { return e[k]; }
15
- });
16
- }
17
- });
18
- }
19
- n.default = e;
20
- return Object.freeze(n);
21
- }
22
-
23
- var PIXI__namespace = /*#__PURE__*/_interopNamespaceDefault(PIXI);
24
-
25
- const EDGE_POINT_RADIUS = 6;
26
- const BORDER_RADIUS = 8;
27
- const PADDING = 16;
28
- function createElementSprite(data, onElementClick, onElementDragStart, onElementDragMove, onElementDragEnd, onEdgeClick) {
29
- const container = new PIXI__namespace.Container();
30
- container.position.set(data.position.x, data.position.y);
31
- container.eventMode = 'static';
32
- container.cursor = 'move';
33
- container.hitArea = new PIXI__namespace.Rectangle(0, 0, data.size.width, data.size.height);
34
- const shadowGraphics = new PIXI__namespace.Graphics();
35
- shadowGraphics.alpha = 0.15;
36
- container.addChild(shadowGraphics);
37
- const graphics = new PIXI__namespace.Graphics();
38
- const edgePoints = new Map();
39
- const selectionBorder = new PIXI__namespace.Graphics();
40
- selectionBorder.alpha = 0;
41
- container.addChild(selectionBorder);
42
- const elementColors = types.ELEMENT_COLORS[data.type];
43
- const backgroundColor = 'background' in elementColors ? elementColors.background : elementColors.fill;
44
- if (data.type === 'process') {
45
- const centerX = data.size.width / 2;
46
- const centerY = data.size.height / 2;
47
- const radius = Math.min(data.size.width, data.size.height) / 2;
48
- for (let i = 0; i < 3; i++) {
49
- shadowGraphics.circle(centerX, centerY + 2 + i, radius + i);
50
- shadowGraphics.fill({ color: 0x000000, alpha: 0.06 });
51
- }
52
- }
53
- else {
54
- for (let i = 0; i < 4; i++) {
55
- shadowGraphics.roundRect(i, 2 + i, data.size.width, data.size.height, BORDER_RADIUS);
56
- shadowGraphics.fill({ color: 0x000000, alpha: 0.06 });
57
- }
58
- }
59
- if (data.type === 'process') {
60
- const centerX = data.size.width / 2;
61
- const centerY = data.size.height / 2;
62
- const radius = Math.min(data.size.width, data.size.height) / 2;
63
- graphics.circle(centerX, centerY, radius);
64
- graphics.fill({ color: backgroundColor });
65
- if ('stroke' in elementColors) {
66
- graphics.stroke({ color: elementColors.stroke, width: 2 });
67
- }
68
- }
69
- else {
70
- graphics.roundRect(0, 0, data.size.width, data.size.height, BORDER_RADIUS);
71
- graphics.fill({ color: backgroundColor });
72
- }
73
- container.addChild(graphics);
74
- const textColor = 'text' in elementColors ? elementColors.text : 0xffffff;
75
- const labelText = new PIXI__namespace.Text({
76
- text: data.label,
77
- style: {
78
- fontSize: 14,
79
- fill: textColor,
80
- fontWeight: '600',
81
- wordWrap: true,
82
- wordWrapWidth: data.size.width - PADDING * 2,
83
- },
84
- });
85
- labelText.position.set(PADDING, PADDING);
86
- container.addChild(labelText);
87
- let descriptionText;
88
- if (data.description && data.type !== 'process') {
89
- descriptionText = new PIXI__namespace.Text({
90
- text: data.description,
91
- style: new PIXI__namespace.TextStyle({
92
- fontSize: 12,
93
- fill: textColor,
94
- fontWeight: '400',
95
- wordWrap: true,
96
- wordWrapWidth: data.size.width - PADDING * 2,
97
- }),
98
- });
99
- descriptionText.alpha = 0.9;
100
- descriptionText.position.set(PADDING, PADDING + 24);
101
- container.addChild(descriptionText);
102
- }
103
- if (data.type !== 'process') {
104
- const sides = ['top', 'right', 'bottom', 'left'];
105
- sides.forEach(side => {
106
- const edgePoint = createEdgePoint(data, side, () => onEdgeClick(data.id, side));
107
- edgePoints.set(side, edgePoint);
108
- container.addChild(edgePoint);
109
- });
110
- }
111
- container.on('pointerdown', (event) => {
112
- if (!container.parent)
113
- return;
114
- const localPos = event.getLocalPosition(container.parent);
115
- onElementDragStart(data.id, localPos.x - data.position.x, localPos.y - data.position.y);
116
- });
117
- container.on('click', () => {
118
- onElementClick(data.id);
119
- });
120
- return {
121
- id: data.id,
122
- container,
123
- graphics,
124
- selectionBorder,
125
- labelText,
126
- descriptionText,
127
- edgePoints,
128
- data,
129
- isDragging: false,
130
- };
131
- }
132
- function drawBoxElement(graphics, data) {
133
- const colors = types.ELEMENT_COLORS[data.type];
134
- if (!('background' in colors)) {
135
- return;
136
- }
137
- graphics.clear();
138
- graphics.roundRect(0, 0, data.size.width, data.size.height, BORDER_RADIUS);
139
- graphics.fill({ color: colors.background });
140
- graphics.visible = true;
141
- graphics.alpha = 1;
142
- }
143
- function drawProcessElement(graphics, data) {
144
- const colors = types.ELEMENT_COLORS.process;
145
- const centerX = data.size.width / 2;
146
- const centerY = data.size.height / 2;
147
- const radius = Math.min(data.size.width, data.size.height) / 2;
148
- graphics.clear();
149
- graphics.circle(centerX, centerY, radius);
150
- graphics.fill({ color: colors.fill });
151
- graphics.stroke({ color: colors.stroke, width: 2 });
152
- const teeth = 8;
153
- const toothLength = radius * 0.2;
154
- const innerRadius = radius * 0.6;
155
- for (let i = 0; i < teeth; i++) {
156
- const angle = (i / teeth) * Math.PI * 2;
157
- const nextAngle = ((i + 0.4) / teeth) * Math.PI * 2;
158
- const x1 = centerX + Math.cos(angle) * radius;
159
- const y1 = centerY + Math.sin(angle) * radius;
160
- const x2 = centerX + Math.cos(angle) * (radius + toothLength);
161
- const y2 = centerY + Math.sin(angle) * (radius + toothLength);
162
- const x3 = centerX + Math.cos(nextAngle) * (radius + toothLength);
163
- const y3 = centerY + Math.sin(nextAngle) * (radius + toothLength);
164
- const x4 = centerX + Math.cos(nextAngle) * radius;
165
- const y4 = centerY + Math.sin(nextAngle) * radius;
166
- graphics.moveTo(x1, y1);
167
- graphics.lineTo(x2, y2);
168
- graphics.lineTo(x3, y3);
169
- graphics.lineTo(x4, y4);
170
- graphics.fill({ color: colors.fill });
171
- }
172
- graphics.circle(centerX, centerY, innerRadius);
173
- graphics.fill({ color: 0xffffff });
174
- graphics.stroke({ color: colors.stroke, width: 2 });
175
- }
176
- function createEdgePoint(data, side, onClick) {
177
- const edgePoint = new PIXI__namespace.Graphics();
178
- edgePoint.eventMode = 'static';
179
- edgePoint.cursor = 'crosshair';
180
- const hitSize = EDGE_POINT_RADIUS * 2;
181
- edgePoint.hitArea = new PIXI__namespace.Circle(0, 0, hitSize);
182
- let x = 0, y = 0;
183
- switch (side) {
184
- case 'top':
185
- x = data.size.width / 2;
186
- y = 0;
187
- break;
188
- case 'right':
189
- x = data.size.width;
190
- y = data.size.height / 2;
191
- break;
192
- case 'bottom':
193
- x = data.size.width / 2;
194
- y = data.size.height;
195
- break;
196
- case 'left':
197
- x = 0;
198
- y = data.size.height / 2;
199
- break;
200
- }
201
- edgePoint.position.set(x, y);
202
- const colors = types.ELEMENT_COLORS[data.type];
203
- edgePoint.circle(0, 0, EDGE_POINT_RADIUS);
204
- edgePoint.fill({ color: 0xffffff });
205
- edgePoint.stroke({ color: 'background' in colors ? colors.background : 0x6b7280, width: 2 });
206
- edgePoint.alpha = 0;
207
- edgePoint.on('click', (e) => {
208
- e.stopPropagation();
209
- onClick();
210
- });
211
- return edgePoint;
212
- }
213
- function updateElementSprite(sprite, data) {
214
- sprite.data = data;
215
- sprite.container.position.set(data.position.x, data.position.y);
216
- if (data.type === 'process') {
217
- drawProcessElement(sprite.graphics, data);
218
- }
219
- else {
220
- drawBoxElement(sprite.graphics, data);
221
- }
222
- sprite.labelText.text = data.label;
223
- if (sprite.descriptionText && data.description) {
224
- sprite.descriptionText.text = data.description;
225
- }
226
- sprite.edgePoints.forEach((edgePoint, side) => {
227
- let x = 0, y = 0;
228
- switch (side) {
229
- case 'top':
230
- x = data.size.width / 2;
231
- y = 0;
232
- break;
233
- case 'right':
234
- x = data.size.width;
235
- y = data.size.height / 2;
236
- break;
237
- case 'bottom':
238
- x = data.size.width / 2;
239
- y = data.size.height;
240
- break;
241
- case 'left':
242
- x = 0;
243
- y = data.size.height / 2;
244
- break;
245
- }
246
- edgePoint.position.set(x, y);
247
- });
248
- }
249
- function showEdgePoints(sprite) {
250
- sprite.edgePoints.forEach(edgePoint => {
251
- edgePoint.alpha = 1;
252
- });
253
- }
254
- function hideEdgePoints(sprite) {
255
- sprite.edgePoints.forEach(edgePoint => {
256
- edgePoint.alpha = 0;
257
- });
258
- }
259
- function setElementSelected(sprite, selected) {
260
- if (!sprite.selectionBorder)
261
- return;
262
- if (selected) {
263
- updateSelectionBorder(sprite);
264
- sprite.selectionBorder.alpha = 1;
265
- }
266
- else {
267
- sprite.selectionBorder.alpha = 0;
268
- }
269
- }
270
- function updateSelectionBorder(sprite) {
271
- if (!sprite.selectionBorder)
272
- return;
273
- const selectionBorder = sprite.selectionBorder;
274
- selectionBorder.clear();
275
- const borderWidth = 3;
276
- const offset = -borderWidth;
277
- const primaryColor = getComputedPrimaryColor();
278
- if (sprite.data.type === 'process') {
279
- const centerX = sprite.data.size.width / 2;
280
- const centerY = sprite.data.size.height / 2;
281
- const radius = Math.min(sprite.data.size.width, sprite.data.size.height) / 2 + borderWidth;
282
- selectionBorder.circle(centerX, centerY, radius);
283
- selectionBorder.stroke({ color: primaryColor, width: borderWidth });
284
- }
285
- else {
286
- selectionBorder.roundRect(offset, offset, sprite.data.size.width + borderWidth * 2, sprite.data.size.height + borderWidth * 2, BORDER_RADIUS + borderWidth);
287
- selectionBorder.stroke({ color: primaryColor, width: borderWidth });
288
- }
289
- }
290
- function getComputedPrimaryColor() {
291
- const style = getComputedStyle(document.documentElement);
292
- const primaryColorStr = style.getPropertyValue('--primary-color').trim() || '#3B82F6';
293
- return parseInt(primaryColorStr.replace('#', ''), 16);
294
- }
295
-
296
- exports.createElementSprite = createElementSprite;
297
- exports.hideEdgePoints = hideEdgePoints;
298
- exports.setElementSelected = setElementSelected;
299
- exports.showEdgePoints = showEdgePoints;
300
- exports.updateElementSprite = updateElementSprite;
301
- //# sourceMappingURL=elementSprites.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"elementSprites.js","sources":["../../../../EventModeling/engine/elementSprites.ts"],"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 * as PIXI from 'pixi.js';\nimport { ElementData, ELEMENT_COLORS, EdgeSide } from '../types';\n\nexport interface ElementSprite {\n id: string;\n container: PIXI.Container;\n graphics: PIXI.Graphics;\n selectionBorder?: PIXI.Graphics;\n labelText: PIXI.Text;\n descriptionText?: PIXI.Text;\n edgePoints: Map<EdgeSide, PIXI.Graphics>;\n data: ElementData;\n isDragging: boolean;\n dragOffset?: { x: number; y: number };\n}\n\nconst EDGE_POINT_RADIUS = 6;\nconst BORDER_RADIUS = 8;\nconst PADDING = 16;\n\nexport function createElementSprite(\n data: ElementData,\n onElementClick: (id: string) => void,\n onElementDragStart: (id: string, x: number, y: number) => void,\n onElementDragMove: (id: string, x: number, y: number) => void,\n onElementDragEnd: (id: string) => void,\n onEdgeClick: (elementId: string, side: EdgeSide) => void\n): ElementSprite {\n const container = new PIXI.Container();\n container.position.set(data.position.x, data.position.y);\n container.eventMode = 'static';\n container.cursor = 'move';\n // Set explicit hit area for interaction\n container.hitArea = new PIXI.Rectangle(0, 0, data.size.width, data.size.height);\n\n // Create shadow layer\n const shadowGraphics = new PIXI.Graphics();\n shadowGraphics.alpha = 0.15;\n container.addChild(shadowGraphics);\n\n const graphics = new PIXI.Graphics();\n const edgePoints = new Map<EdgeSide, PIXI.Graphics>();\n\n // Create selection border (initially hidden)\n const selectionBorder = new PIXI.Graphics();\n selectionBorder.alpha = 0;\n container.addChild(selectionBorder);\n\n // Get colors based on element type\n const elementColors = ELEMENT_COLORS[data.type];\n const backgroundColor = 'background' in elementColors ? elementColors.background : elementColors.fill;\n \n // Draw shadow\n if (data.type === 'process') {\n const centerX = data.size.width / 2;\n const centerY = data.size.height / 2;\n const radius = Math.min(data.size.width, data.size.height) / 2;\n for (let i = 0; i < 3; i++) {\n shadowGraphics.circle(centerX, centerY + 2 + i, radius + i);\n shadowGraphics.fill({ color: 0x000000, alpha: 0.06 });\n }\n } else {\n for (let i = 0; i < 4; i++) {\n shadowGraphics.roundRect(i, 2 + i, data.size.width, data.size.height, BORDER_RADIUS);\n shadowGraphics.fill({ color: 0x000000, alpha: 0.06 });\n }\n }\n \n // Draw with proper shapes (PIXI v8 requires fill with object format)\n if (data.type === 'process') {\n const centerX = data.size.width / 2;\n const centerY = data.size.height / 2;\n const radius = Math.min(data.size.width, data.size.height) / 2;\n graphics.circle(centerX, centerY, radius);\n graphics.fill({ color: backgroundColor });\n if ('stroke' in elementColors) {\n graphics.stroke({ color: elementColors.stroke, width: 2 });\n }\n } else {\n // Use roundRect for proper appearance\n graphics.roundRect(0, 0, data.size.width, data.size.height, BORDER_RADIUS);\n graphics.fill({ color: backgroundColor });\n }\n\n container.addChild(graphics);\n\n // Create label text\n const textColor = 'text' in elementColors ? elementColors.text : 0xffffff;\n const labelText = new PIXI.Text({\n text: data.label,\n style: {\n fontSize: 14,\n fill: textColor,\n fontWeight: '600',\n wordWrap: true,\n wordWrapWidth: data.size.width - PADDING * 2,\n } as PIXI.TextStyle,\n });\n labelText.position.set(PADDING, PADDING);\n container.addChild(labelText);\n\n // Create description text if exists\n let descriptionText: PIXI.Text | undefined;\n if (data.description && data.type !== 'process') {\n descriptionText = new PIXI.Text({\n text: data.description,\n style: new PIXI.TextStyle({\n fontSize: 12,\n fill: textColor,\n fontWeight: '400',\n wordWrap: true,\n wordWrapWidth: data.size.width - PADDING * 2,\n }),\n });\n descriptionText.alpha = 0.9;\n descriptionText.position.set(PADDING, PADDING + 24);\n container.addChild(descriptionText);\n }\n\n // Create edge points for connections\n if (data.type !== 'process') {\n const sides: EdgeSide[] = ['top', 'right', 'bottom', 'left'];\n sides.forEach(side => {\n const edgePoint = createEdgePoint(data, side, () => onEdgeClick(data.id, side));\n edgePoints.set(side, edgePoint);\n container.addChild(edgePoint);\n });\n }\n\n // Set up interaction\n container.on('pointerdown', (event: PIXI.FederatedPointerEvent) => {\n if (!container.parent) return;\n const localPos = event.getLocalPosition(container.parent);\n onElementDragStart(data.id, localPos.x - data.position.x, localPos.y - data.position.y);\n });\n\n container.on('click', () => {\n onElementClick(data.id);\n });\n\n return {\n id: data.id,\n container,\n graphics,\n selectionBorder,\n labelText,\n descriptionText,\n edgePoints,\n data,\n isDragging: false,\n };\n}\n\nfunction drawBoxElement(graphics: PIXI.Graphics, data: ElementData): void {\n const colors = ELEMENT_COLORS[data.type];\n if (!('background' in colors)) {\n return;\n }\n \n graphics.clear();\n \n // Draw the rounded rectangle with solid fill (PIXI v8 - use object format)\n graphics.roundRect(0, 0, data.size.width, data.size.height, BORDER_RADIUS);\n graphics.fill({ color: colors.background });\n \n // Force visibility\n graphics.visible = true;\n graphics.alpha = 1;\n}\n\nfunction drawProcessElement(graphics: PIXI.Graphics, data: ElementData): void {\n const colors = ELEMENT_COLORS.process;\n const centerX = data.size.width / 2;\n const centerY = data.size.height / 2;\n const radius = Math.min(data.size.width, data.size.height) / 2;\n\n graphics.clear();\n \n // Draw outer circle\n graphics.circle(centerX, centerY, radius);\n graphics.fill({ color: colors.fill });\n graphics.stroke({ color: colors.stroke, width: 2 });\n\n // Draw cogwheel teeth\n const teeth = 8;\n const toothLength = radius * 0.2;\n const innerRadius = radius * 0.6;\n \n for (let i = 0; i < teeth; i++) {\n const angle = (i / teeth) * Math.PI * 2;\n const nextAngle = ((i + 0.4) / teeth) * Math.PI * 2;\n \n const x1 = centerX + Math.cos(angle) * radius;\n const y1 = centerY + Math.sin(angle) * radius;\n const x2 = centerX + Math.cos(angle) * (radius + toothLength);\n const y2 = centerY + Math.sin(angle) * (radius + toothLength);\n const x3 = centerX + Math.cos(nextAngle) * (radius + toothLength);\n const y3 = centerY + Math.sin(nextAngle) * (radius + toothLength);\n const x4 = centerX + Math.cos(nextAngle) * radius;\n const y4 = centerY + Math.sin(nextAngle) * radius;\n \n graphics.moveTo(x1, y1);\n graphics.lineTo(x2, y2);\n graphics.lineTo(x3, y3);\n graphics.lineTo(x4, y4);\n graphics.fill({ color: colors.fill });\n }\n\n // Draw inner circle\n graphics.circle(centerX, centerY, innerRadius);\n graphics.fill({ color: 0xffffff });\n graphics.stroke({ color: colors.stroke, width: 2 });\n}\n\nfunction createEdgePoint(data: ElementData, side: EdgeSide, onClick: () => void): PIXI.Graphics {\n const edgePoint = new PIXI.Graphics();\n edgePoint.eventMode = 'static';\n edgePoint.cursor = 'crosshair';\n \n // Set explicit hit area for better interaction\n const hitSize = EDGE_POINT_RADIUS * 2;\n edgePoint.hitArea = new PIXI.Circle(0, 0, hitSize);\n \n // Position based on side\n let x = 0, y = 0;\n switch (side) {\n case 'top':\n x = data.size.width / 2;\n y = 0;\n break;\n case 'right':\n x = data.size.width;\n y = data.size.height / 2;\n break;\n case 'bottom':\n x = data.size.width / 2;\n y = data.size.height;\n break;\n case 'left':\n x = 0;\n y = data.size.height / 2;\n break;\n }\n\n edgePoint.position.set(x, y);\n \n // Draw edge point (initially hidden)\n const colors = ELEMENT_COLORS[data.type];\n edgePoint.circle(0, 0, EDGE_POINT_RADIUS);\n edgePoint.fill({ color: 0xffffff });\n edgePoint.stroke({ color: 'background' in colors ? colors.background : 0x6b7280, width: 2 });\n edgePoint.alpha = 0;\n\n edgePoint.on('click', (e: PIXI.FederatedPointerEvent) => {\n e.stopPropagation();\n onClick();\n });\n\n return edgePoint;\n}\n\nexport function updateElementSprite(sprite: ElementSprite, data: ElementData): void {\n sprite.data = data;\n sprite.container.position.set(data.position.x, data.position.y);\n \n // Update graphics\n if (data.type === 'process') {\n drawProcessElement(sprite.graphics, data);\n } else {\n drawBoxElement(sprite.graphics, data);\n }\n\n // Update text\n sprite.labelText.text = data.label;\n if (sprite.descriptionText && data.description) {\n sprite.descriptionText.text = data.description;\n }\n\n // Update edge points positions\n sprite.edgePoints.forEach((edgePoint, side) => {\n let x = 0, y = 0;\n switch (side) {\n case 'top':\n x = data.size.width / 2;\n y = 0;\n break;\n case 'right':\n x = data.size.width;\n y = data.size.height / 2;\n break;\n case 'bottom':\n x = data.size.width / 2;\n y = data.size.height;\n break;\n case 'left':\n x = 0;\n y = data.size.height / 2;\n break;\n }\n edgePoint.position.set(x, y);\n });\n}\n\nexport function showEdgePoints(sprite: ElementSprite): void {\n sprite.edgePoints.forEach(edgePoint => {\n edgePoint.alpha = 1;\n });\n}\n\nexport function hideEdgePoints(sprite: ElementSprite): void {\n sprite.edgePoints.forEach(edgePoint => {\n edgePoint.alpha = 0;\n });\n}\n\nexport function setElementSelected(sprite: ElementSprite, selected: boolean): void {\n if (!sprite.selectionBorder) return;\n \n if (selected) {\n updateSelectionBorder(sprite);\n sprite.selectionBorder.alpha = 1;\n } else {\n sprite.selectionBorder.alpha = 0;\n }\n}\n\nfunction updateSelectionBorder(sprite: ElementSprite): void {\n if (!sprite.selectionBorder) return;\n \n const selectionBorder = sprite.selectionBorder;\n selectionBorder.clear();\n \n const borderWidth = 3;\n const offset = -borderWidth;\n \n // Get primary color from CSS variable with fallback\n const primaryColor = getComputedPrimaryColor();\n \n if (sprite.data.type === 'process') {\n const centerX = sprite.data.size.width / 2;\n const centerY = sprite.data.size.height / 2;\n const radius = Math.min(sprite.data.size.width, sprite.data.size.height) / 2 + borderWidth;\n \n selectionBorder.circle(centerX, centerY, radius);\n selectionBorder.stroke({ color: primaryColor, width: borderWidth });\n } else {\n selectionBorder.roundRect(\n offset, \n offset, \n sprite.data.size.width + borderWidth * 2, \n sprite.data.size.height + borderWidth * 2, \n BORDER_RADIUS + borderWidth\n );\n selectionBorder.stroke({ color: primaryColor, width: borderWidth });\n }\n}\n\nfunction getComputedPrimaryColor(): number {\n // Get the primary color from CSS custom properties\n const style = getComputedStyle(document.documentElement);\n const primaryColorStr = style.getPropertyValue('--primary-color').trim() || '#3B82F6';\n \n // Convert hex color string to number\n return parseInt(primaryColorStr.replace('#', ''), 16);\n}\n"],"names":["PIXI","ELEMENT_COLORS"],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- 'use strict';
2
-
3
- var EventModeling = require('./EventModeling.js');
4
- var types = require('./types.js');
5
-
6
-
7
-
8
- exports.EventModeling = EventModeling.EventModeling;
9
- exports.DEFAULT_ELEMENT_SIZE = types.DEFAULT_ELEMENT_SIZE;
10
- exports.ELEMENT_COLORS = types.ELEMENT_COLORS;
11
- exports.calculateOptimalEdges = types.calculateOptimalEdges;
12
- //# sourceMappingURL=index.js.map
@@ -1,60 +0,0 @@
1
- 'use strict';
2
-
3
- const ELEMENT_COLORS = {
4
- command: {
5
- background: 0x3b82f6,
6
- text: 0xffffff,
7
- },
8
- event: {
9
- background: 0xf59e0b,
10
- text: 0xffffff,
11
- },
12
- readmodel: {
13
- background: 0x10b981,
14
- text: 0xffffff,
15
- },
16
- process: {
17
- fill: 0x6b7280,
18
- stroke: 0x374151,
19
- },
20
- };
21
- const DEFAULT_ELEMENT_SIZE = {
22
- command: { width: 200, height: 100 },
23
- event: { width: 200, height: 100 },
24
- readmodel: { width: 200, height: 100 },
25
- process: { width: 80, height: 80 },
26
- };
27
- function calculateOptimalEdges(fromElement, toElement) {
28
- const fromCenter = {
29
- x: fromElement.position.x + fromElement.size.width / 2,
30
- y: fromElement.position.y + fromElement.size.height / 2,
31
- };
32
- const toCenter = {
33
- x: toElement.position.x + toElement.size.width / 2,
34
- y: toElement.position.y + toElement.size.height / 2,
35
- };
36
- const dx = toCenter.x - fromCenter.x;
37
- const dy = toCenter.y - fromCenter.y;
38
- const isHorizontal = Math.abs(dx) > Math.abs(dy);
39
- if (isHorizontal) {
40
- if (dx > 0) {
41
- return { fromSide: 'right', toSide: 'left' };
42
- }
43
- else {
44
- return { fromSide: 'left', toSide: 'right' };
45
- }
46
- }
47
- else {
48
- if (dy > 0) {
49
- return { fromSide: 'bottom', toSide: 'top' };
50
- }
51
- else {
52
- return { fromSide: 'top', toSide: 'bottom' };
53
- }
54
- }
55
- }
56
-
57
- exports.DEFAULT_ELEMENT_SIZE = DEFAULT_ELEMENT_SIZE;
58
- exports.ELEMENT_COLORS = ELEMENT_COLORS;
59
- exports.calculateOptimalEdges = calculateOptimalEdges;
60
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sources":["../../../EventModeling/types.ts"],"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\nexport type ElementType = 'command' | 'event' | 'readmodel' | 'process';\n\nexport interface Position {\n x: number;\n y: number;\n}\n\nexport interface Size {\n width: number;\n height: number;\n}\n\nexport interface ElementData {\n id: string;\n type: ElementType;\n position: Position;\n size: Size;\n label: string;\n description?: string;\n}\n\nexport type EdgeSide = 'top' | 'right' | 'bottom' | 'left';\n\nexport interface EdgePoint {\n elementId: string;\n side: EdgeSide;\n}\n\nexport interface Connector {\n id: string;\n from: EdgePoint;\n to: EdgePoint;\n}\n\nexport interface EventModelingState {\n elements: ElementData[];\n connectors: Connector[];\n selectedElementId?: string;\n selectedConnectorId?: string;\n}\n\nexport interface CanvasTransform {\n x: number;\n y: number;\n scale: number;\n}\n\nexport const ELEMENT_COLORS = {\n command: {\n background: 0x3b82f6,\n text: 0xffffff,\n },\n event: {\n background: 0xf59e0b,\n text: 0xffffff,\n },\n readmodel: {\n background: 0x10b981,\n text: 0xffffff,\n },\n process: {\n fill: 0x6b7280,\n stroke: 0x374151,\n },\n} as const;\n\nexport const DEFAULT_ELEMENT_SIZE = {\n command: { width: 200, height: 100 },\n event: { width: 200, height: 100 },\n readmodel: { width: 200, height: 100 },\n process: { width: 80, height: 80 },\n} as const;\n\n/**\n * Calculate the optimal edge pair for a connector based on element positions.\n * Returns the best matching edges for visual clarity.\n */\nexport function calculateOptimalEdges(\n fromElement: ElementData,\n toElement: ElementData\n): { fromSide: EdgeSide; toSide: EdgeSide } {\n // Calculate center points\n const fromCenter = {\n x: fromElement.position.x + fromElement.size.width / 2,\n y: fromElement.position.y + fromElement.size.height / 2,\n };\n const toCenter = {\n x: toElement.position.x + toElement.size.width / 2,\n y: toElement.position.y + toElement.size.height / 2,\n };\n\n // Calculate differences\n const dx = toCenter.x - fromCenter.x;\n const dy = toCenter.y - fromCenter.y;\n\n // Determine primary direction based on which delta is larger\n const isHorizontal = Math.abs(dx) > Math.abs(dy);\n\n if (isHorizontal) {\n // Horizontal connection is primary\n if (dx > 0) {\n // Target is to the right\n return { fromSide: 'right', toSide: 'left' };\n } else {\n // Target is to the left\n return { fromSide: 'left', toSide: 'right' };\n }\n } else {\n // Vertical connection is primary\n if (dy > 0) {\n // Target is below\n return { fromSide: 'bottom', toSide: 'top' };\n } else {\n // Target is above\n return { fromSide: 'top', toSide: 'bottom' };\n }\n }\n}\n"],"names":[],"mappings":";;AAkDO,MAAM,cAAc,GAAG;AAC1B,IAAA,OAAO,EAAE;AACL,QAAA,UAAU,EAAE,QAAQ;AACpB,QAAA,IAAI,EAAE,QAAQ;AACjB,KAAA;AACD,IAAA,KAAK,EAAE;AACH,QAAA,UAAU,EAAE,QAAQ;AACpB,QAAA,IAAI,EAAE,QAAQ;AACjB,KAAA;AACD,IAAA,SAAS,EAAE;AACP,QAAA,UAAU,EAAE,QAAQ;AACpB,QAAA,IAAI,EAAE,QAAQ;AACjB,KAAA;AACD,IAAA,OAAO,EAAE;AACL,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,MAAM,EAAE,QAAQ;AACnB,KAAA;;AAGE,MAAM,oBAAoB,GAAG;IAChC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IACpC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IAClC,SAAS,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IACtC,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;;AAOhC,SAAU,qBAAqB,CACjC,WAAwB,EACxB,SAAsB,EAAA;AAGtB,IAAA,MAAM,UAAU,GAAG;AACf,QAAA,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC;AACtD,QAAA,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;KAC1D;AACD,IAAA,MAAM,QAAQ,GAAG;AACb,QAAA,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC;AAClD,QAAA,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;KACtD;IAGD,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;AAGpC,IAAA,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAEhD,IAAI,YAAY,EAAE;AAEd,QAAA,IAAI,EAAE,GAAG,CAAC,EAAE;YAER,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE;QAChD;aAAO;YAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;QAChD;IACJ;SAAO;AAEH,QAAA,IAAI,EAAE,GAAG,CAAC,EAAE;YAER,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE;QAChD;aAAO;YAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE;QAChD;IACJ;AACJ;;;;;;"}