@pega/cosmos-react-build 5.0.0-dev.4.9 → 5.0.0-dev.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (337) hide show
  1. package/lib/components/AppShell/AppShell.d.ts +6 -0
  2. package/lib/components/AppShell/AppShell.d.ts.map +1 -0
  3. package/lib/components/AppShell/AppShell.js +58 -0
  4. package/lib/components/AppShell/AppShell.js.map +1 -0
  5. package/lib/components/AppShell/AppShell.styles.d.ts +17 -0
  6. package/lib/components/AppShell/AppShell.styles.d.ts.map +1 -0
  7. package/lib/components/AppShell/AppShell.styles.js +269 -0
  8. package/lib/components/AppShell/AppShell.styles.js.map +1 -0
  9. package/lib/components/AppShell/AppShell.types.d.ts +72 -0
  10. package/lib/components/AppShell/AppShell.types.d.ts.map +1 -0
  11. package/lib/components/AppShell/AppShell.types.js +2 -0
  12. package/lib/components/AppShell/AppShell.types.js.map +1 -0
  13. package/lib/components/AppShell/AppShellContext.d.ts +5 -0
  14. package/lib/components/AppShell/AppShellContext.d.ts.map +1 -0
  15. package/lib/components/AppShell/AppShellContext.js +8 -0
  16. package/lib/components/AppShell/AppShellContext.js.map +1 -0
  17. package/lib/components/AppShell/Header/AppHeader.d.ts +6 -0
  18. package/lib/components/AppShell/Header/AppHeader.d.ts.map +1 -0
  19. package/lib/components/AppShell/Header/AppHeader.js +73 -0
  20. package/lib/components/AppShell/Header/AppHeader.js.map +1 -0
  21. package/lib/components/AppShell/Header/AppHeader.styles.d.ts +13 -0
  22. package/lib/components/AppShell/Header/AppHeader.styles.d.ts.map +1 -0
  23. package/lib/components/AppShell/Header/AppHeader.styles.js +158 -0
  24. package/lib/components/AppShell/Header/AppHeader.styles.js.map +1 -0
  25. package/lib/components/AppShell/Header/AppHeader.types.d.ts +33 -0
  26. package/lib/components/AppShell/Header/AppHeader.types.d.ts.map +1 -0
  27. package/lib/components/AppShell/Header/AppHeader.types.js +2 -0
  28. package/lib/components/AppShell/Header/AppHeader.types.js.map +1 -0
  29. package/lib/components/AppShell/Header/BranchButton.d.ts +21 -0
  30. package/lib/components/AppShell/Header/BranchButton.d.ts.map +1 -0
  31. package/lib/components/AppShell/Header/BranchButton.js +91 -0
  32. package/lib/components/AppShell/Header/BranchButton.js.map +1 -0
  33. package/lib/components/AppShell/NavigationList.d.ts +6 -0
  34. package/lib/components/AppShell/NavigationList.d.ts.map +1 -0
  35. package/lib/components/AppShell/NavigationList.js +97 -0
  36. package/lib/components/AppShell/NavigationList.js.map +1 -0
  37. package/lib/components/AppShell/index.d.ts +5 -0
  38. package/lib/components/AppShell/index.d.ts.map +1 -0
  39. package/lib/components/AppShell/index.js +2 -0
  40. package/lib/components/AppShell/index.js.map +1 -0
  41. package/lib/components/DynamicContentEditor/DynamicContentEditor.d.ts +10 -0
  42. package/lib/components/DynamicContentEditor/DynamicContentEditor.d.ts.map +1 -0
  43. package/lib/components/DynamicContentEditor/DynamicContentEditor.js +239 -0
  44. package/lib/components/DynamicContentEditor/DynamicContentEditor.js.map +1 -0
  45. package/lib/components/DynamicContentEditor/DynamicContentEditor.types.d.ts +23 -0
  46. package/lib/components/DynamicContentEditor/DynamicContentEditor.types.d.ts.map +1 -0
  47. package/lib/components/DynamicContentEditor/DynamicContentEditor.types.js +2 -0
  48. package/lib/components/DynamicContentEditor/DynamicContentEditor.types.js.map +1 -0
  49. package/lib/components/DynamicContentEditor/PegaCustomElement.d.ts +329 -0
  50. package/lib/components/DynamicContentEditor/PegaCustomElement.d.ts.map +1 -0
  51. package/lib/components/DynamicContentEditor/PegaCustomElement.js +23 -0
  52. package/lib/components/DynamicContentEditor/PegaCustomElement.js.map +1 -0
  53. package/lib/components/DynamicContentEditor/index.d.ts +3 -0
  54. package/lib/components/DynamicContentEditor/index.d.ts.map +1 -0
  55. package/lib/components/DynamicContentEditor/index.js +2 -0
  56. package/lib/components/DynamicContentEditor/index.js.map +1 -0
  57. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.d.ts +8 -0
  58. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.d.ts.map +1 -0
  59. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.js +176 -0
  60. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.js.map +1 -0
  61. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.styles.d.ts +10 -0
  62. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.styles.d.ts.map +1 -0
  63. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.styles.js +530 -0
  64. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.styles.js.map +1 -0
  65. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.types.d.ts +36 -0
  66. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.types.d.ts.map +1 -0
  67. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.types.js +2 -0
  68. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.types.js.map +1 -0
  69. package/lib/components/ExpressionBuilder/CodeEditor/getCodeSuggestions.d.ts +13 -0
  70. package/lib/components/ExpressionBuilder/CodeEditor/getCodeSuggestions.d.ts.map +1 -0
  71. package/lib/components/ExpressionBuilder/CodeEditor/getCodeSuggestions.js +51 -0
  72. package/lib/components/ExpressionBuilder/CodeEditor/getCodeSuggestions.js.map +1 -0
  73. package/lib/components/ExpressionBuilder/ExpressionBuilder.d.ts +6 -0
  74. package/lib/components/ExpressionBuilder/ExpressionBuilder.d.ts.map +1 -0
  75. package/lib/components/ExpressionBuilder/ExpressionBuilder.js +51 -0
  76. package/lib/components/ExpressionBuilder/ExpressionBuilder.js.map +1 -0
  77. package/lib/components/ExpressionBuilder/ExpressionBuilder.styles.d.ts +14 -0
  78. package/lib/components/ExpressionBuilder/ExpressionBuilder.styles.d.ts.map +1 -0
  79. package/lib/components/ExpressionBuilder/ExpressionBuilder.styles.js +81 -0
  80. package/lib/components/ExpressionBuilder/ExpressionBuilder.styles.js.map +1 -0
  81. package/lib/components/ExpressionBuilder/ExpressionBuilder.types.d.ts +74 -0
  82. package/lib/components/ExpressionBuilder/ExpressionBuilder.types.d.ts.map +1 -0
  83. package/lib/components/ExpressionBuilder/ExpressionBuilder.types.js +2 -0
  84. package/lib/components/ExpressionBuilder/ExpressionBuilder.types.js.map +1 -0
  85. package/lib/components/ExpressionBuilder/ExpressionBuilderContext.d.ts +7 -0
  86. package/lib/components/ExpressionBuilder/ExpressionBuilderContext.d.ts.map +1 -0
  87. package/lib/components/ExpressionBuilder/ExpressionBuilderContext.js +6 -0
  88. package/lib/components/ExpressionBuilder/ExpressionBuilderContext.js.map +1 -0
  89. package/lib/components/ExpressionBuilder/ExpressionDetails.d.ts +6 -0
  90. package/lib/components/ExpressionBuilder/ExpressionDetails.d.ts.map +1 -0
  91. package/lib/components/ExpressionBuilder/ExpressionDetails.js +12 -0
  92. package/lib/components/ExpressionBuilder/ExpressionDetails.js.map +1 -0
  93. package/lib/components/ExpressionBuilder/ExpressionItem.d.ts +6 -0
  94. package/lib/components/ExpressionBuilder/ExpressionItem.d.ts.map +1 -0
  95. package/lib/components/ExpressionBuilder/ExpressionItem.js +39 -0
  96. package/lib/components/ExpressionBuilder/ExpressionItem.js.map +1 -0
  97. package/lib/components/ExpressionBuilder/ExpressionList.d.ts +6 -0
  98. package/lib/components/ExpressionBuilder/ExpressionList.d.ts.map +1 -0
  99. package/lib/components/ExpressionBuilder/ExpressionList.js +32 -0
  100. package/lib/components/ExpressionBuilder/ExpressionList.js.map +1 -0
  101. package/lib/components/ExpressionBuilder/index.d.ts +8 -0
  102. package/lib/components/ExpressionBuilder/index.d.ts.map +1 -0
  103. package/lib/components/ExpressionBuilder/index.js +6 -0
  104. package/lib/components/ExpressionBuilder/index.js.map +1 -0
  105. package/lib/components/FlowModeller/AddNode.d.ts +18 -0
  106. package/lib/components/FlowModeller/AddNode.d.ts.map +1 -0
  107. package/lib/components/FlowModeller/AddNode.js +86 -0
  108. package/lib/components/FlowModeller/AddNode.js.map +1 -0
  109. package/lib/components/FlowModeller/Connector.d.ts +7 -0
  110. package/lib/components/FlowModeller/Connector.d.ts.map +1 -0
  111. package/lib/components/FlowModeller/Connector.js +69 -0
  112. package/lib/components/FlowModeller/Connector.js.map +1 -0
  113. package/lib/components/FlowModeller/DeletePopover.d.ts +19 -0
  114. package/lib/components/FlowModeller/DeletePopover.d.ts.map +1 -0
  115. package/lib/components/FlowModeller/DeletePopover.js +136 -0
  116. package/lib/components/FlowModeller/DeletePopover.js.map +1 -0
  117. package/lib/components/FlowModeller/FlowModeller.d.ts +5 -0
  118. package/lib/components/FlowModeller/FlowModeller.d.ts.map +1 -0
  119. package/lib/components/FlowModeller/FlowModeller.js +317 -0
  120. package/lib/components/FlowModeller/FlowModeller.js.map +1 -0
  121. package/lib/components/FlowModeller/FlowModeller.types.d.ts +27 -0
  122. package/lib/components/FlowModeller/FlowModeller.types.d.ts.map +1 -0
  123. package/lib/components/FlowModeller/FlowModeller.types.js +2 -0
  124. package/lib/components/FlowModeller/FlowModeller.types.js.map +1 -0
  125. package/lib/components/FlowModeller/FlowModellerContext.d.ts +11 -0
  126. package/lib/components/FlowModeller/FlowModellerContext.d.ts.map +1 -0
  127. package/lib/components/FlowModeller/FlowModellerContext.js +8 -0
  128. package/lib/components/FlowModeller/FlowModellerContext.js.map +1 -0
  129. package/lib/components/FlowModeller/Node/Node.types.d.ts +75 -0
  130. package/lib/components/FlowModeller/Node/Node.types.d.ts.map +1 -0
  131. package/lib/components/FlowModeller/Node/Node.types.js +27 -0
  132. package/lib/components/FlowModeller/Node/Node.types.js.map +1 -0
  133. package/lib/components/FlowModeller/Node/NodeTemplate.styles.d.ts +21 -0
  134. package/lib/components/FlowModeller/Node/NodeTemplate.styles.d.ts.map +1 -0
  135. package/lib/components/FlowModeller/Node/NodeTemplate.styles.js +151 -0
  136. package/lib/components/FlowModeller/Node/NodeTemplate.styles.js.map +1 -0
  137. package/lib/components/FlowModeller/Node/NodeTemplates.d.ts +6 -0
  138. package/lib/components/FlowModeller/Node/NodeTemplates.d.ts.map +1 -0
  139. package/lib/components/FlowModeller/Node/NodeTemplates.js +70 -0
  140. package/lib/components/FlowModeller/Node/NodeTemplates.js.map +1 -0
  141. package/lib/components/FlowModeller/Node.d.ts +5 -0
  142. package/lib/components/FlowModeller/Node.d.ts.map +1 -0
  143. package/lib/components/FlowModeller/Node.js +22 -0
  144. package/lib/components/FlowModeller/Node.js.map +1 -0
  145. package/lib/components/FlowModeller/Renderer/Renderer.d.ts +5 -0
  146. package/lib/components/FlowModeller/Renderer/Renderer.d.ts.map +1 -0
  147. package/lib/components/FlowModeller/Renderer/Renderer.js +48 -0
  148. package/lib/components/FlowModeller/Renderer/Renderer.js.map +1 -0
  149. package/lib/components/FlowModeller/Renderer/Renderer.types.d.ts +18 -0
  150. package/lib/components/FlowModeller/Renderer/Renderer.types.d.ts.map +1 -0
  151. package/lib/components/FlowModeller/Renderer/Renderer.types.js +2 -0
  152. package/lib/components/FlowModeller/Renderer/Renderer.types.js.map +1 -0
  153. package/lib/components/FlowModeller/Renderer/Utils/Graph.d.ts +59 -0
  154. package/lib/components/FlowModeller/Renderer/Utils/Graph.d.ts.map +1 -0
  155. package/lib/components/FlowModeller/Renderer/Utils/Graph.js +258 -0
  156. package/lib/components/FlowModeller/Renderer/Utils/Graph.js.map +1 -0
  157. package/lib/components/FlowModeller/Renderer/Utils/GraphLayout.d.ts +36 -0
  158. package/lib/components/FlowModeller/Renderer/Utils/GraphLayout.d.ts.map +1 -0
  159. package/lib/components/FlowModeller/Renderer/Utils/GraphLayout.js +120 -0
  160. package/lib/components/FlowModeller/Renderer/Utils/GraphLayout.js.map +1 -0
  161. package/lib/components/FlowModeller/Renderer/Utils/GraphTraversal.d.ts +28 -0
  162. package/lib/components/FlowModeller/Renderer/Utils/GraphTraversal.d.ts.map +1 -0
  163. package/lib/components/FlowModeller/Renderer/Utils/GraphTraversal.js +172 -0
  164. package/lib/components/FlowModeller/Renderer/Utils/GraphTraversal.js.map +1 -0
  165. package/lib/components/FlowModeller/Utils/addNodeUtils.d.ts +18 -0
  166. package/lib/components/FlowModeller/Utils/addNodeUtils.d.ts.map +1 -0
  167. package/lib/components/FlowModeller/Utils/addNodeUtils.js +141 -0
  168. package/lib/components/FlowModeller/Utils/addNodeUtils.js.map +1 -0
  169. package/lib/components/FlowModeller/Utils/deleteNodeUtils.d.ts +30 -0
  170. package/lib/components/FlowModeller/Utils/deleteNodeUtils.d.ts.map +1 -0
  171. package/lib/components/FlowModeller/Utils/deleteNodeUtils.js +81 -0
  172. package/lib/components/FlowModeller/Utils/deleteNodeUtils.js.map +1 -0
  173. package/lib/components/FlowModeller/helper.d.ts +39 -0
  174. package/lib/components/FlowModeller/helper.d.ts.map +1 -0
  175. package/lib/components/FlowModeller/helper.js +198 -0
  176. package/lib/components/FlowModeller/helper.js.map +1 -0
  177. package/lib/components/FlowModeller/index.d.ts +20 -0
  178. package/lib/components/FlowModeller/index.d.ts.map +1 -0
  179. package/lib/components/FlowModeller/index.js +12 -0
  180. package/lib/components/FlowModeller/index.js.map +1 -0
  181. package/lib/components/ItemLibrary/ItemLibrary.d.ts +25 -0
  182. package/lib/components/ItemLibrary/ItemLibrary.d.ts.map +1 -0
  183. package/lib/components/ItemLibrary/ItemLibrary.js +62 -0
  184. package/lib/components/ItemLibrary/ItemLibrary.js.map +1 -0
  185. package/lib/components/ItemLibrary/index.d.ts +3 -0
  186. package/lib/components/ItemLibrary/index.d.ts.map +1 -0
  187. package/lib/components/ItemLibrary/index.js +3 -0
  188. package/lib/components/ItemLibrary/index.js.map +1 -0
  189. package/lib/components/LifeCycle/Category.d.ts +15 -0
  190. package/lib/components/LifeCycle/Category.d.ts.map +1 -0
  191. package/lib/components/LifeCycle/Category.js +104 -0
  192. package/lib/components/LifeCycle/Category.js.map +1 -0
  193. package/lib/components/LifeCycle/LifeCycle.d.ts +6 -0
  194. package/lib/components/LifeCycle/LifeCycle.d.ts.map +1 -0
  195. package/lib/components/LifeCycle/LifeCycle.js +77 -0
  196. package/lib/components/LifeCycle/LifeCycle.js.map +1 -0
  197. package/lib/components/LifeCycle/LifeCycle.types.d.ts +154 -0
  198. package/lib/components/LifeCycle/LifeCycle.types.d.ts.map +1 -0
  199. package/lib/components/LifeCycle/LifeCycle.types.js +79 -0
  200. package/lib/components/LifeCycle/LifeCycle.types.js.map +1 -0
  201. package/lib/components/LifeCycle/LifeCycleContext.d.ts +9 -0
  202. package/lib/components/LifeCycle/LifeCycleContext.d.ts.map +1 -0
  203. package/lib/components/LifeCycle/LifeCycleContext.js +7 -0
  204. package/lib/components/LifeCycle/LifeCycleContext.js.map +1 -0
  205. package/lib/components/LifeCycle/LifeCycleList.d.ts +30 -0
  206. package/lib/components/LifeCycle/LifeCycleList.d.ts.map +1 -0
  207. package/lib/components/LifeCycle/LifeCycleList.js +68 -0
  208. package/lib/components/LifeCycle/LifeCycleList.js.map +1 -0
  209. package/lib/components/LifeCycle/Stage.d.ts +29 -0
  210. package/lib/components/LifeCycle/Stage.d.ts.map +1 -0
  211. package/lib/components/LifeCycle/Stage.js +232 -0
  212. package/lib/components/LifeCycle/Stage.js.map +1 -0
  213. package/lib/components/LifeCycle/Step.d.ts +40 -0
  214. package/lib/components/LifeCycle/Step.d.ts.map +1 -0
  215. package/lib/components/LifeCycle/Step.js +170 -0
  216. package/lib/components/LifeCycle/Step.js.map +1 -0
  217. package/lib/components/LifeCycle/Task.d.ts +34 -0
  218. package/lib/components/LifeCycle/Task.d.ts.map +1 -0
  219. package/lib/components/LifeCycle/Task.js +158 -0
  220. package/lib/components/LifeCycle/Task.js.map +1 -0
  221. package/lib/components/LifeCycle/index.d.ts +3 -0
  222. package/lib/components/LifeCycle/index.d.ts.map +1 -0
  223. package/lib/components/LifeCycle/index.js +2 -0
  224. package/lib/components/LifeCycle/index.js.map +1 -0
  225. package/lib/components/MobileBuildSummary/MobileBuildSummary.d.ts +8 -0
  226. package/lib/components/MobileBuildSummary/MobileBuildSummary.d.ts.map +1 -0
  227. package/lib/components/MobileBuildSummary/MobileBuildSummary.js +33 -0
  228. package/lib/components/MobileBuildSummary/MobileBuildSummary.js.map +1 -0
  229. package/lib/components/MobileBuildSummary/MobileBuildSummary.types.d.ts +31 -0
  230. package/lib/components/MobileBuildSummary/MobileBuildSummary.types.d.ts.map +1 -0
  231. package/lib/components/MobileBuildSummary/MobileBuildSummary.types.js +2 -0
  232. package/lib/components/MobileBuildSummary/MobileBuildSummary.types.js.map +1 -0
  233. package/lib/components/MobileBuildSummary/index.d.ts +3 -0
  234. package/lib/components/MobileBuildSummary/index.d.ts.map +1 -0
  235. package/lib/components/MobileBuildSummary/index.js +2 -0
  236. package/lib/components/MobileBuildSummary/index.js.map +1 -0
  237. package/lib/components/ObjectPreview/ObjectPreview.d.ts +16 -0
  238. package/lib/components/ObjectPreview/ObjectPreview.d.ts.map +1 -0
  239. package/lib/components/ObjectPreview/ObjectPreview.js +25 -0
  240. package/lib/components/ObjectPreview/ObjectPreview.js.map +1 -0
  241. package/lib/components/ObjectPreview/index.d.ts +3 -0
  242. package/lib/components/ObjectPreview/index.d.ts.map +1 -0
  243. package/lib/components/ObjectPreview/index.js +3 -0
  244. package/lib/components/ObjectPreview/index.js.map +1 -0
  245. package/lib/components/ObjectSelect/ObjectPicker.d.ts +15 -0
  246. package/lib/components/ObjectSelect/ObjectPicker.d.ts.map +1 -0
  247. package/lib/components/ObjectSelect/ObjectPicker.js +40 -0
  248. package/lib/components/ObjectSelect/ObjectPicker.js.map +1 -0
  249. package/lib/components/ObjectSelect/ObjectSelect.d.ts +32 -0
  250. package/lib/components/ObjectSelect/ObjectSelect.d.ts.map +1 -0
  251. package/lib/components/ObjectSelect/ObjectSelect.js +41 -0
  252. package/lib/components/ObjectSelect/ObjectSelect.js.map +1 -0
  253. package/lib/components/ObjectSelect/ObjectSummary.d.ts +32 -0
  254. package/lib/components/ObjectSelect/ObjectSummary.d.ts.map +1 -0
  255. package/lib/components/ObjectSelect/ObjectSummary.js +81 -0
  256. package/lib/components/ObjectSelect/ObjectSummary.js.map +1 -0
  257. package/lib/components/ObjectSelect/index.d.ts +3 -0
  258. package/lib/components/ObjectSelect/index.d.ts.map +1 -0
  259. package/lib/components/ObjectSelect/index.js +2 -0
  260. package/lib/components/ObjectSelect/index.js.map +1 -0
  261. package/lib/components/ObjectSelect/useCreateModal.d.ts +32 -0
  262. package/lib/components/ObjectSelect/useCreateModal.d.ts.map +1 -0
  263. package/lib/components/ObjectSelect/useCreateModal.js +60 -0
  264. package/lib/components/ObjectSelect/useCreateModal.js.map +1 -0
  265. package/lib/components/PageBanner/PageBanner.d.ts +22 -0
  266. package/lib/components/PageBanner/PageBanner.d.ts.map +1 -0
  267. package/lib/components/PageBanner/PageBanner.js +59 -0
  268. package/lib/components/PageBanner/PageBanner.js.map +1 -0
  269. package/lib/components/PageBanner/index.d.ts +3 -0
  270. package/lib/components/PageBanner/index.d.ts.map +1 -0
  271. package/lib/components/PageBanner/index.js +2 -0
  272. package/lib/components/PageBanner/index.js.map +1 -0
  273. package/lib/components/PageTemplates/GalleryPage.d.ts +23 -0
  274. package/lib/components/PageTemplates/GalleryPage.d.ts.map +1 -0
  275. package/lib/components/PageTemplates/GalleryPage.js +47 -0
  276. package/lib/components/PageTemplates/GalleryPage.js.map +1 -0
  277. package/lib/components/PageTemplates/PageTemplates.d.ts +27 -0
  278. package/lib/components/PageTemplates/PageTemplates.d.ts.map +1 -0
  279. package/lib/components/PageTemplates/PageTemplates.js +72 -0
  280. package/lib/components/PageTemplates/PageTemplates.js.map +1 -0
  281. package/lib/components/PageTemplates/ShowcasePage.d.ts +16 -0
  282. package/lib/components/PageTemplates/ShowcasePage.d.ts.map +1 -0
  283. package/lib/components/PageTemplates/ShowcasePage.js +29 -0
  284. package/lib/components/PageTemplates/ShowcasePage.js.map +1 -0
  285. package/lib/components/PageTemplates/index.d.ts +6 -0
  286. package/lib/components/PageTemplates/index.d.ts.map +1 -0
  287. package/lib/components/PageTemplates/index.js +4 -0
  288. package/lib/components/PageTemplates/index.js.map +1 -0
  289. package/lib/components/SummaryCard/SummaryCard.d.ts +16 -0
  290. package/lib/components/SummaryCard/SummaryCard.d.ts.map +1 -0
  291. package/lib/components/SummaryCard/SummaryCard.js +27 -0
  292. package/lib/components/SummaryCard/SummaryCard.js.map +1 -0
  293. package/lib/components/SummaryCard/index.d.ts +3 -0
  294. package/lib/components/SummaryCard/index.d.ts.map +1 -0
  295. package/lib/components/SummaryCard/index.js +3 -0
  296. package/lib/components/SummaryCard/index.js.map +1 -0
  297. package/lib/components/Workbench/ConfigurationPanel.d.ts +5 -0
  298. package/lib/components/Workbench/ConfigurationPanel.d.ts.map +1 -0
  299. package/lib/components/Workbench/ConfigurationPanel.js +10 -0
  300. package/lib/components/Workbench/ConfigurationPanel.js.map +1 -0
  301. package/lib/components/Workbench/Toolbar.d.ts +10 -0
  302. package/lib/components/Workbench/Toolbar.d.ts.map +1 -0
  303. package/lib/components/Workbench/Toolbar.js +14 -0
  304. package/lib/components/Workbench/Toolbar.js.map +1 -0
  305. package/lib/components/Workbench/UtilityPanel.d.ts +7 -0
  306. package/lib/components/Workbench/UtilityPanel.d.ts.map +1 -0
  307. package/lib/components/Workbench/UtilityPanel.js +12 -0
  308. package/lib/components/Workbench/UtilityPanel.js.map +1 -0
  309. package/lib/components/Workbench/Workbench.d.ts +6 -0
  310. package/lib/components/Workbench/Workbench.d.ts.map +1 -0
  311. package/lib/components/Workbench/Workbench.js +23 -0
  312. package/lib/components/Workbench/Workbench.js.map +1 -0
  313. package/lib/components/Workbench/Workbench.styles.d.ts +10 -0
  314. package/lib/components/Workbench/Workbench.styles.d.ts.map +1 -0
  315. package/lib/components/Workbench/Workbench.styles.js +75 -0
  316. package/lib/components/Workbench/Workbench.styles.js.map +1 -0
  317. package/lib/components/Workbench/Workbench.types.d.ts +47 -0
  318. package/lib/components/Workbench/Workbench.types.d.ts.map +1 -0
  319. package/lib/components/Workbench/Workbench.types.js +2 -0
  320. package/lib/components/Workbench/Workbench.types.js.map +1 -0
  321. package/lib/components/Workbench/index.d.ts +2 -0
  322. package/lib/components/Workbench/index.d.ts.map +1 -0
  323. package/lib/components/Workbench/index.js +2 -0
  324. package/lib/components/Workbench/index.js.map +1 -0
  325. package/lib/index.d.ts +23 -0
  326. package/lib/index.d.ts.map +1 -0
  327. package/lib/index.js +24 -0
  328. package/lib/index.js.map +1 -0
  329. package/lib/utils/index.d.ts +2 -0
  330. package/lib/utils/index.d.ts.map +1 -0
  331. package/lib/utils/index.js +2 -0
  332. package/lib/utils/index.js.map +1 -0
  333. package/lib/utils/utils.d.ts +14 -0
  334. package/lib/utils/utils.d.ts.map +1 -0
  335. package/lib/utils/utils.js +13 -0
  336. package/lib/utils/utils.js.map +1 -0
  337. package/package.json +4 -4
@@ -0,0 +1,86 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import styled, { css } from 'styled-components';
3
+ import { useContext, useState, useEffect } from 'react';
4
+ import { Button, defaultThemeProp, Flex, Icon, useI18n, StyledTooltip, Text } from '@pega/cosmos-react-core';
5
+ import FlowModellerContext from './FlowModellerContext';
6
+ export const StyledDot = styled(Icon)(({ theme, highlight }) => {
7
+ return css `
8
+ position: absolute;
9
+ color: ${theme.base.colors.slate.dark};
10
+ ${highlight &&
11
+ css `
12
+ {
13
+ color: ${theme.base.colors.red.dark};
14
+ }
15
+ `}
16
+ `;
17
+ });
18
+ StyledDot.defaultProps = defaultThemeProp;
19
+ export const StyledPlus = styled(Icon) `
20
+ opacity: 0;
21
+ `;
22
+ export const StyledWrapper = styled.div(({ theme }) => {
23
+ return css `
24
+ margin-block-start: ${theme.base.spacing};
25
+
26
+ ${StyledTooltip} {
27
+ min-width: 12ch;
28
+ text-align: center;
29
+ }
30
+ `;
31
+ });
32
+ StyledWrapper.defaultProps = defaultThemeProp;
33
+ export const StyledButton = styled(Button)(({ theme }) => {
34
+ return css `
35
+ top: -0.25rem;
36
+ border: 0;
37
+ background: transparent;
38
+ color: ${theme.base.colors.black};
39
+ &:hover,
40
+ &:focus {
41
+ background: ${theme.base.colors.white};
42
+ ${StyledDot} {
43
+ opacity: 0;
44
+ }
45
+ ${StyledPlus} {
46
+ opacity: 1;
47
+ }
48
+ }
49
+ &[aria-haspopup='menu'] {
50
+ background: ${theme.base.colors.white};
51
+ ${StyledDot} {
52
+ opacity: 0;
53
+ }
54
+ ${StyledPlus} {
55
+ opacity: 1;
56
+ }
57
+ }
58
+ `;
59
+ });
60
+ StyledButton.defaultProps = defaultThemeProp;
61
+ export const StyledConnectorLabel = styled(Text)(({ theme }) => {
62
+ return css `
63
+ border-radius: ${theme.base['border-radius']};
64
+ background: ${theme.base.colors.slate.dark};
65
+ color: ${theme.base.colors.white};
66
+ text-align: center;
67
+ padding: calc(0.5 * ${theme.base.spacing});
68
+ `;
69
+ });
70
+ StyledConnectorLabel.defaultProps = defaultThemeProp;
71
+ export const AddButton = ({ addNodeHandler, highlight }) => {
72
+ const t = useI18n();
73
+ const [hasMenuActive, setHasMenuActive] = useState(false);
74
+ const { showNodeLibrary } = useContext(FlowModellerContext);
75
+ const addNodeClickHandler = (e) => {
76
+ setHasMenuActive(true);
77
+ addNodeHandler(e);
78
+ };
79
+ useEffect(() => {
80
+ if (!showNodeLibrary) {
81
+ setHasMenuActive(false);
82
+ }
83
+ }, [showNodeLibrary]);
84
+ return (_jsx(Flex, { container: { justify: 'center' }, as: StyledWrapper, children: _jsxs(StyledButton, { label: t('add_node'), "aria-haspopup": hasMenuActive ? 'menu' : false, icon: true, onClick: addNodeClickHandler, children: [_jsx(StyledDot, { name: 'circle-solid', highlight: highlight }), _jsx(StyledPlus, { name: 'plus' })] }) }));
85
+ };
86
+ //# sourceMappingURL=AddNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddNode.js","sourceRoot":"","sources":["../../../src/components/FlowModeller/AddNode.tsx"],"names":[],"mappings":"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","sourcesContent":["import styled, { css } from 'styled-components';\nimport { useContext, useState, useEffect } from 'react';\nimport type { FC, MouseEvent } from 'react';\n\nimport {\n Button,\n defaultThemeProp,\n Flex,\n Icon,\n useI18n,\n StyledTooltip,\n Text\n} from '@pega/cosmos-react-core';\n\nimport type { PlottedGraphNode } from './Renderer/Utils/GraphLayout';\nimport FlowModellerContext from './FlowModellerContext';\n\nexport const StyledDot = styled(Icon)<{ highlight?: boolean }>(({ theme, highlight }) => {\n return css`\n position: absolute;\n color: ${theme.base.colors.slate.dark};\n ${highlight &&\n css`\n {\n color: ${theme.base.colors.red.dark};\n }\n `}\n `;\n});\n\nStyledDot.defaultProps = defaultThemeProp;\n\nexport const StyledPlus = styled(Icon)`\n opacity: 0;\n`;\n\nexport const StyledWrapper = styled.div(({ theme }) => {\n return css`\n margin-block-start: ${theme.base.spacing};\n\n ${StyledTooltip} {\n min-width: 12ch;\n text-align: center;\n }\n `;\n});\n\nStyledWrapper.defaultProps = defaultThemeProp;\n\nexport const StyledButton = styled(Button)(({ theme }) => {\n return css`\n top: -0.25rem;\n border: 0;\n background: transparent;\n color: ${theme.base.colors.black};\n &:hover,\n &:focus {\n background: ${theme.base.colors.white};\n ${StyledDot} {\n opacity: 0;\n }\n ${StyledPlus} {\n opacity: 1;\n }\n }\n &[aria-haspopup='menu'] {\n background: ${theme.base.colors.white};\n ${StyledDot} {\n opacity: 0;\n }\n ${StyledPlus} {\n opacity: 1;\n }\n }\n `;\n});\n\nStyledButton.defaultProps = defaultThemeProp;\n\nexport interface AddNodeProps extends PlottedGraphNode {\n onClick?: (ev: Event) => void;\n addNodeHandler: (e: MouseEvent<HTMLButtonElement>) => void;\n highlight?: boolean;\n}\n\nexport const StyledConnectorLabel = styled(Text)<{ highlight: boolean }>(({ theme }) => {\n return css`\n border-radius: ${theme.base['border-radius']};\n background: ${theme.base.colors.slate.dark};\n color: ${theme.base.colors.white};\n text-align: center;\n padding: calc(0.5 * ${theme.base.spacing});\n `;\n});\n\nStyledConnectorLabel.defaultProps = defaultThemeProp;\n\nexport const AddButton: FC<Pick<AddNodeProps, 'addNodeHandler' | 'highlight'>> = ({\n addNodeHandler,\n highlight\n}) => {\n const t = useI18n();\n const [hasMenuActive, setHasMenuActive] = useState(false);\n const { showNodeLibrary } = useContext(FlowModellerContext);\n\n const addNodeClickHandler = (e: MouseEvent<HTMLButtonElement>) => {\n setHasMenuActive(true);\n addNodeHandler(e);\n };\n\n useEffect(() => {\n if (!showNodeLibrary) {\n setHasMenuActive(false);\n }\n }, [showNodeLibrary]);\n\n return (\n <Flex container={{ justify: 'center' }} as={StyledWrapper}>\n <StyledButton\n label={t('add_node')}\n aria-haspopup={hasMenuActive ? 'menu' : false}\n icon\n onClick={addNodeClickHandler}\n >\n <StyledDot name='circle-solid' highlight={highlight} />\n <StyledPlus name='plus' />\n </StyledButton>\n </Flex>\n );\n};\n"]}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import type { PlaceHolderConnector } from './Utils/addNodeUtils';
3
+ import type { PlottedGraphConnector } from './Renderer/Utils/GraphLayout';
4
+ type ConnectorProps = Pick<PlottedGraphConnector, 'id' | 'data' | 'labelLayout' | 'points'> & Partial<Pick<PlaceHolderConnector, 'realConnectors'>>;
5
+ declare const Connector: ({ id, labelLayout, data, realConnectors, points }: ConnectorProps) => JSX.Element | null;
6
+ export default Connector;
7
+ //# sourceMappingURL=Connector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Connector.d.ts","sourceRoot":"","sources":["../../../src/components/FlowModeller/Connector.tsx"],"names":[],"mappings":";AAQA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AA0E1E,KAAK,cAAc,GAAG,IAAI,CAAC,qBAAqB,EAAE,IAAI,GAAG,MAAM,GAAG,aAAa,GAAG,QAAQ,CAAC,GACzF,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAExD,QAAA,MAAM,SAAS,sDAAuD,cAAc,uBA8CnF,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,69 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useContext } from 'react';
3
+ import styled, { css } from 'styled-components';
4
+ import { defaultThemeProp, Flex, Text, useTheme } from '@pega/cosmos-react-core';
5
+ import { AddButton } from './AddNode';
6
+ import FlowModellerContext from './FlowModellerContext';
7
+ const StyledLabel = styled(Text)(({ theme, highlight }) => {
8
+ return css `
9
+ border-radius: ${theme.base['border-radius']};
10
+ background: ${theme.base.colors.slate.dark};
11
+ ${highlight &&
12
+ css `
13
+ {
14
+ background-color: ${theme.base.colors.red.dark};
15
+ }
16
+ `}
17
+ color: ${theme.base.colors.white};
18
+ text-align: center;
19
+ padding: calc(0.5 * ${theme.base.spacing}) ${theme.base.spacing};
20
+ overflow: hidden;
21
+ text-overflow: ellipsis;
22
+ max-width: 32ch;
23
+ white-space: nowrap;
24
+ `;
25
+ });
26
+ StyledLabel.defaultProps = defaultThemeProp;
27
+ const curveRadius = 12;
28
+ const genLine = (points) => {
29
+ const lineStr = points
30
+ .map((point, idx, arr) => {
31
+ const { x, y } = point;
32
+ const prev = arr[idx - 1];
33
+ const next = arr[idx + 1];
34
+ const line = `L${x},${y}`;
35
+ // if the point is extreme end, no need to add a curve
36
+ if (!prev || !next)
37
+ return line;
38
+ // if point is colinear with prev and next, no need to add a curve
39
+ if (prev.x === next.x || prev.y === next.y)
40
+ return line;
41
+ if (point.x > next.x)
42
+ // BOTTOM-RIGHT ↲
43
+ return `L${x},${y - curveRadius}a${curveRadius},${curveRadius} 0 0 1 -${curveRadius},${curveRadius}`;
44
+ // BOTTOM-LEFT ↳
45
+ if (point.x < next.x)
46
+ return `L${x},${y - curveRadius}a${curveRadius},${curveRadius} 0 0 0 ${curveRadius},${curveRadius}`;
47
+ // TOP-LEFT ↱
48
+ if (point.x < prev.x)
49
+ return `L${x + curveRadius},${y}a${curveRadius},${curveRadius} 0 0 0 -${curveRadius},${curveRadius}`;
50
+ // TOP-RIGHT ↴
51
+ if (point.x > prev.x)
52
+ return `L${x - curveRadius},${y}a${curveRadius},${curveRadius} 0 0 1 ${curveRadius},${curveRadius}`;
53
+ return `L${x},${y}`;
54
+ })
55
+ .join('');
56
+ return `M${lineStr.substr(1)}`;
57
+ };
58
+ const Connector = ({ id, labelLayout, data, realConnectors, points }) => {
59
+ const refId = realConnectors || id;
60
+ const { readOnly, highlights } = useContext(FlowModellerContext);
61
+ const theme = useTheme();
62
+ const metaData = {
63
+ refType: 'connector',
64
+ refId
65
+ };
66
+ return data.type === 'default' ? (_jsxs("g", { children: [_jsx("path", { id: id, d: genLine(points), stroke: highlights?.connectors?.[id] ? theme.base.colors.red.medium : theme.base.colors.slate.dark, strokeWidth: highlights?.connectors?.[id] ? 2 : 1, fill: 'none' }), labelLayout && (_jsxs("foreignObject", { x: labelLayout.x - labelLayout.width, y: points[3].y - 20, width: labelLayout.width, height: labelLayout.height, children: [labelLayout?.value && (_jsx(Flex, { container: { justify: 'center' }, children: _jsx(StyledLabel, { highlight: !!highlights?.connectors?.[id], children: labelLayout.value }) })), !readOnly && (_jsx(AddButton, { highlight: !!highlights?.connectors?.[id], addNodeHandler: (e) => data?.onNodeCreate(e.currentTarget, metaData) }))] }))] }, id)) : null;
67
+ };
68
+ export default Connector;
69
+ //# sourceMappingURL=Connector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Connector.js","sourceRoot":"","sources":["../../../src/components/FlowModeller/Connector.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useContext } from 'react';\nimport type { MouseEvent } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { defaultThemeProp, Flex, Text, useTheme } from '@pega/cosmos-react-core';\n\nimport { AddButton } from './AddNode';\nimport type { AddNodeHandlerParams } from './Renderer/Renderer.types';\nimport type { PlaceHolderConnector } from './Utils/addNodeUtils';\nimport FlowModellerContext from './FlowModellerContext';\nimport type { PlottedGraphConnector } from './Renderer/Utils/GraphLayout';\n\nconst StyledLabel = styled(Text)<{ highlight: boolean }>(({ theme, highlight }) => {\n return css`\n border-radius: ${theme.base['border-radius']};\n background: ${theme.base.colors.slate.dark};\n ${highlight &&\n css`\n {\n background-color: ${theme.base.colors.red.dark};\n }\n `}\n color: ${theme.base.colors.white};\n text-align: center;\n padding: calc(0.5 * ${theme.base.spacing}) ${theme.base.spacing};\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 32ch;\n white-space: nowrap;\n `;\n});\n\nStyledLabel.defaultProps = defaultThemeProp;\n\ninterface Points {\n x: number;\n y: number;\n}\n\nconst curveRadius = 12;\nconst genLine = (points: Points[]) => {\n const lineStr: string = points\n .map((point: Points, idx: number, arr: Points[]) => {\n const { x, y } = point;\n const prev = arr[idx - 1];\n const next = arr[idx + 1];\n const line = `L${x},${y}`;\n\n // if the point is extreme end, no need to add a curve\n if (!prev || !next) return line;\n\n // if point is colinear with prev and next, no need to add a curve\n if (prev.x === next.x || prev.y === next.y) return line;\n\n if (point.x > next.x)\n // BOTTOM-RIGHT ↲\n return `L${x},${\n y - curveRadius\n }a${curveRadius},${curveRadius} 0 0 1 -${curveRadius},${curveRadius}`;\n\n // BOTTOM-LEFT ↳\n if (point.x < next.x)\n return `L${x},${\n y - curveRadius\n }a${curveRadius},${curveRadius} 0 0 0 ${curveRadius},${curveRadius}`;\n\n // TOP-LEFT ↱\n if (point.x < prev.x)\n return `L${\n x + curveRadius\n },${y}a${curveRadius},${curveRadius} 0 0 0 -${curveRadius},${curveRadius}`;\n\n // TOP-RIGHT ↴\n if (point.x > prev.x)\n return `L${\n x - curveRadius\n },${y}a${curveRadius},${curveRadius} 0 0 1 ${curveRadius},${curveRadius}`;\n\n return `L${x},${y}`;\n })\n .join('');\n return `M${lineStr.substr(1)}`;\n};\n\ntype ConnectorProps = Pick<PlottedGraphConnector, 'id' | 'data' | 'labelLayout' | 'points'> &\n Partial<Pick<PlaceHolderConnector, 'realConnectors'>>;\n\nconst Connector = ({ id, labelLayout, data, realConnectors, points }: ConnectorProps) => {\n const refId = realConnectors || id;\n const { readOnly, highlights } = useContext(FlowModellerContext);\n const theme = useTheme();\n\n const metaData: AddNodeHandlerParams = {\n refType: 'connector',\n refId\n };\n return data.type === 'default' ? (\n <g key={id}>\n <path\n id={id}\n d={genLine(points)}\n stroke={\n highlights?.connectors?.[id] ? theme.base.colors.red.medium : theme.base.colors.slate.dark\n }\n strokeWidth={highlights?.connectors?.[id] ? 2 : 1}\n fill='none'\n />\n {labelLayout && (\n <foreignObject\n x={labelLayout.x - labelLayout.width}\n y={points[3].y - 20}\n width={labelLayout.width}\n height={labelLayout.height}\n >\n {labelLayout?.value && (\n <Flex container={{ justify: 'center' }}>\n <StyledLabel highlight={!!highlights?.connectors?.[id]}>\n {labelLayout.value}\n </StyledLabel>\n </Flex>\n )}\n {!readOnly && (\n <AddButton\n highlight={!!highlights?.connectors?.[id]}\n addNodeHandler={(e: MouseEvent<HTMLButtonElement>) =>\n data?.onNodeCreate(e.currentTarget, metaData)\n }\n />\n )}\n </foreignObject>\n )}\n </g>\n ) : null;\n};\n\nexport default Connector;\n"]}
@@ -0,0 +1,19 @@
1
+ import type { ChangeEvent, Ref } from 'react';
2
+ import type { PopoverProps } from '@pega/cosmos-react-core';
3
+ import type { GraphData } from './Renderer/Utils/Graph';
4
+ import type { GraphDataAsMap, DeleteNodeOutcome } from './Utils/deleteNodeUtils';
5
+ export interface DeletePopoverProps {
6
+ show: boolean;
7
+ target: PopoverProps['target'];
8
+ flowGraphData: GraphData;
9
+ rendererGraphData: GraphData;
10
+ nodeId: string;
11
+ onChange?: (itemsToDelete: GraphDataAsMap, itemsToRetain: GraphDataAsMap | undefined, ev?: ChangeEvent) => void;
12
+ onSubmit?: (outcome: DeleteNodeOutcome, ev: Event) => void;
13
+ onCancel?: () => void;
14
+ ref?: Ref<HTMLDivElement>;
15
+ }
16
+ export declare const StyledDeletePopover: import("styled-components").StyledComponent<(<Modifiers extends string = string>(props: PopoverProps<Modifiers> & import("@pega/cosmos-react-core").ForwardProps) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | null), import("styled-components").DefaultTheme, {}, never>;
17
+ declare const DeletePopover: import("react").ForwardRefExoticComponent<Omit<DeletePopoverProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
18
+ export default DeletePopover;
19
+ //# sourceMappingURL=DeletePopover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeletePopover.d.ts","sourceRoot":"","sources":["../../../src/components/FlowModeller/DeletePopover.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAsB,WAAW,EAAmB,GAAG,EAAE,MAAM,OAAO,CAAC;AAanF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAElB,MAAM,yBAAyB,CAAC;AAGjC,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC/B,aAAa,EAAE,SAAS,CAAC;IACzB,iBAAiB,EAAE,SAAS,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CACT,aAAa,EAAE,cAAc,EAC7B,aAAa,EAAE,cAAc,GAAG,SAAS,EACzC,EAAE,CAAC,EAAE,WAAW,KACb,IAAI,CAAC;IACV,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,KAAK,KAAK,IAAI,CAAC;IAC3D,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAED,eAAO,MAAM,mBAAmB,2TAE/B,CAAC;AAEF,QAAA,MAAM,aAAa,4HA6NjB,CAAC;AAEH,eAAe,aAAa,CAAC"}
@@ -0,0 +1,136 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useState, useEffect, forwardRef } from 'react';
3
+ import styled from 'styled-components';
4
+ import { Button, Select, Option, Text, Flex, useI18n, Icon, Popover } from '@pega/cosmos-react-core';
5
+ import { DirectedGraph } from './Renderer/Utils/Graph';
6
+ import deleteNodeUtils from './Utils/deleteNodeUtils';
7
+ export const StyledDeletePopover = styled(Popover) `
8
+ max-width: 25rem;
9
+ `;
10
+ const DeletePopover = forwardRef(function DeletePopover({ show, target, flowGraphData, rendererGraphData, nodeId, onChange, onSubmit, onCancel }, ref) {
11
+ const [currentSelection, setCurrentSelection] = useState(0);
12
+ const t = useI18n();
13
+ const graph = new DirectedGraph(rendererGraphData);
14
+ const deleteOptionsResult = deleteNodeUtils.getDeleteNodeOptions(graph, nodeId);
15
+ const deleteOptions = deleteOptionsResult.options;
16
+ const nodeType = graph.getNode(nodeId).type.name;
17
+ useEffect(() => {
18
+ if (deleteOptionsResult) {
19
+ const itemsToDelete = nodeType !== 'Decision'
20
+ ? deleteOptionsResult.allItems
21
+ : deleteOptions[currentSelection].restItems;
22
+ // add the actual node to be deleted also, to the list
23
+ itemsToDelete.nodes[nodeId] = graph.getNode(nodeId);
24
+ onChange?.(itemsToDelete, deleteOptions[currentSelection].pathItems);
25
+ }
26
+ }, [rendererGraphData]);
27
+ const onChangeHandler = (ev) => {
28
+ const newSelection = ev.target.selectedIndex >= deleteOptions.length ? -1 : ev.target.selectedIndex;
29
+ setCurrentSelection(newSelection);
30
+ let itemsToDelete;
31
+ if (deleteOptionsResult)
32
+ itemsToDelete = deleteOptionsResult.allItems;
33
+ let itemsToRetain;
34
+ if (newSelection !== -1) {
35
+ itemsToDelete = deleteOptions[newSelection].restItems;
36
+ itemsToRetain = deleteOptions[newSelection].pathItems;
37
+ }
38
+ // add the actual node to be deleted also, to the list
39
+ if (itemsToDelete)
40
+ itemsToDelete.nodes[nodeId] = graph.getNode(nodeId);
41
+ if (itemsToDelete)
42
+ onChange?.(itemsToDelete, itemsToRetain, ev);
43
+ };
44
+ const submitHandler = (ev) => {
45
+ let error = true;
46
+ const finalGraph = new DirectedGraph(flowGraphData);
47
+ const finalDeleteOptionsResult = deleteNodeUtils.getDeleteNodeOptions(finalGraph, nodeId);
48
+ let newTargetNode = finalDeleteOptionsResult?.destinationNodeId
49
+ ? finalGraph.getNode(finalDeleteOptionsResult.destinationNodeId)
50
+ : undefined;
51
+ let itemsToDelete = finalDeleteOptionsResult.allItems;
52
+ const selectedOption = currentSelection === -1 || nodeType !== 'Decision'
53
+ ? undefined
54
+ : finalDeleteOptionsResult?.options[currentSelection];
55
+ let finalMetaData = selectedOption;
56
+ if (selectedOption) {
57
+ const pathConnectors = selectedOption.pathItems.connectors;
58
+ const connectors = Object.keys(pathConnectors);
59
+ for (let i = 0; i < connectors.length; i += 1) {
60
+ const connectorData = pathConnectors[connectors[i]];
61
+ if (connectorData &&
62
+ finalGraph.getNode(connectorData.fromNodeId).type?.minConnectors !== 0 &&
63
+ connectorData.toNodeId === finalDeleteOptionsResult.destinationNodeId) {
64
+ error = false;
65
+ break;
66
+ }
67
+ }
68
+ if (error) {
69
+ onSubmit?.({
70
+ graphData: {
71
+ nodes: [],
72
+ connectors: []
73
+ },
74
+ updates: {
75
+ connectors: []
76
+ },
77
+ deletes: { nodes: {}, connectors: {} },
78
+ error: true
79
+ }, ev);
80
+ return;
81
+ }
82
+ finalMetaData = finalDeleteOptionsResult.options.find(current => selectedOption.connector.id === current.connector.id);
83
+ if (finalMetaData) {
84
+ // get the ref of the first node of the retaining path
85
+ newTargetNode = finalGraph.getNode(finalMetaData.connector.toNodeId);
86
+ itemsToDelete = finalMetaData.restItems;
87
+ }
88
+ }
89
+ // get the in-connectors of the selected node
90
+ const nodeInConnectors = finalGraph.getInConnectors(nodeId);
91
+ // iterate and set the targetNode to the above first node instead of the selected node.
92
+ nodeInConnectors.forEach(con => {
93
+ finalGraph.setConnector(con.id, {
94
+ toNodeId: newTargetNode ? newTargetNode.id : undefined
95
+ });
96
+ });
97
+ const resultGraphData = finalGraph.getGraphData();
98
+ itemsToDelete.nodes[nodeId] = finalGraph.getNode(nodeId);
99
+ // filter the highlighted nodes, including the selected node
100
+ const nodes = resultGraphData.nodes.filter(item => {
101
+ return itemsToDelete.nodes[item.id] === undefined;
102
+ });
103
+ if (finalMetaData) {
104
+ itemsToDelete.connectors[finalMetaData.connector.id] = finalMetaData.connector;
105
+ }
106
+ // filter the highlighted connectors
107
+ const connectors = resultGraphData.connectors.filter(item => {
108
+ return itemsToDelete.connectors[item.id] === undefined;
109
+ });
110
+ const outcome = {
111
+ graphData: {
112
+ nodes: nodes,
113
+ connectors
114
+ },
115
+ updates: {
116
+ connectors: nodeInConnectors
117
+ },
118
+ deletes: itemsToDelete,
119
+ error: false
120
+ };
121
+ onSubmit?.(outcome, ev);
122
+ };
123
+ const onCancelHandler = () => {
124
+ onCancel?.();
125
+ };
126
+ return (_jsx(StyledDeletePopover, { show: show, target: target, placement: 'right-end', ref: ref, modifiers: [
127
+ {
128
+ name: 'offset',
129
+ options: { offset: [0, 8] }
130
+ }
131
+ ], children: _jsxs(Flex, { container: { gap: 2, pad: 2, direction: 'column' }, children: [_jsxs(Flex, { container: { alignItems: 'center', justify: 'between' }, children: [_jsx(Text, { variant: 'h4', children: t('delete_step_title') }), _jsx(Button, { variant: 'simple', icon: true, label: t('close'), onClick: onCancelHandler, children: _jsx(Icon, { name: 'times' }) })] }), nodeType === 'Decision' ? (_jsxs(_Fragment, { children: [_jsx(Text, { children: t('delete_decision_step') }), _jsxs(Select, { id: 'select-demo', label: t('delete_step_outcome'), required: true, onChange: onChangeHandler, children: [deleteOptions.map((item, index) => {
132
+ return (_jsx(Option, { selected: currentSelection === index, children: item.connector.label ? item.connector.label : item.connector.id }, item.connector.id));
133
+ }), _jsx(Option, { selected: currentSelection === -1, children: t('delete_all_outcomes') }, 'none')] })] })) : (_jsx(Text, { children: t('delete_step') })), _jsxs(Flex, { container: { direction: 'row', justify: 'between' }, children: [_jsx(Button, { onClick: onCancelHandler, children: t('cancel') }), _jsx(Button, { variant: 'primary', onClick: submitHandler, children: t('delete') })] })] }) }));
134
+ });
135
+ export default DeletePopover;
136
+ //# sourceMappingURL=DeletePopover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeletePopover.js","sourceRoot":"","sources":["../../../src/components/FlowModeller/DeletePopover.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState, useEffect, forwardRef } from 'react';\nimport type { ChangeEventHandler, ChangeEvent, PropsWithoutRef, Ref } from 'react';\nimport styled from 'styled-components';\n\nimport {\n Button,\n Select,\n Option,\n Text,\n Flex,\n useI18n,\n Icon,\n Popover\n} from '@pega/cosmos-react-core';\nimport type { PopoverProps } from '@pega/cosmos-react-core';\n\nimport { DirectedGraph } from './Renderer/Utils/Graph';\nimport type { GraphData } from './Renderer/Utils/Graph';\nimport deleteNodeUtils from './Utils/deleteNodeUtils';\nimport type {\n GraphDataAsMap,\n DeleteNodeOutcome,\n DeleteNodeModalOption\n} from './Utils/deleteNodeUtils';\nimport type { NodeProps } from './Node/Node.types';\n\nexport interface DeletePopoverProps {\n show: boolean;\n target: PopoverProps['target'];\n flowGraphData: GraphData;\n rendererGraphData: GraphData;\n nodeId: string;\n onChange?: (\n itemsToDelete: GraphDataAsMap,\n itemsToRetain: GraphDataAsMap | undefined,\n ev?: ChangeEvent\n ) => void;\n onSubmit?: (outcome: DeleteNodeOutcome, ev: Event) => void;\n onCancel?: () => void;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport const StyledDeletePopover = styled(Popover)`\n max-width: 25rem;\n`;\n\nconst DeletePopover = forwardRef(function DeletePopover(\n {\n show,\n target,\n flowGraphData,\n rendererGraphData,\n nodeId,\n onChange,\n onSubmit,\n onCancel\n }: PropsWithoutRef<DeletePopoverProps>,\n ref: DeletePopoverProps['ref']\n) {\n const [currentSelection, setCurrentSelection] = useState<number>(0);\n\n const t = useI18n();\n\n const graph = new DirectedGraph(rendererGraphData);\n\n const deleteOptionsResult = deleteNodeUtils.getDeleteNodeOptions(graph, nodeId);\n\n const deleteOptions: DeleteNodeModalOption[] = deleteOptionsResult.options;\n const nodeType = (graph.getNode(nodeId) as NodeProps).type.name;\n\n useEffect(() => {\n if (deleteOptionsResult) {\n const itemsToDelete: GraphDataAsMap =\n nodeType !== 'Decision'\n ? deleteOptionsResult.allItems\n : deleteOptions[currentSelection].restItems;\n\n // add the actual node to be deleted also, to the list\n itemsToDelete.nodes[nodeId] = graph.getNode(nodeId);\n\n onChange?.(itemsToDelete, deleteOptions[currentSelection].pathItems);\n }\n }, [rendererGraphData]);\n\n const onChangeHandler: ChangeEventHandler = (ev: ChangeEvent<HTMLSelectElement>) => {\n const newSelection =\n ev.target.selectedIndex >= deleteOptions.length ? -1 : ev.target.selectedIndex;\n\n setCurrentSelection(newSelection);\n\n let itemsToDelete;\n if (deleteOptionsResult) itemsToDelete = deleteOptionsResult.allItems;\n\n let itemsToRetain;\n\n if (newSelection !== -1) {\n itemsToDelete = deleteOptions[newSelection].restItems;\n itemsToRetain = deleteOptions[newSelection].pathItems;\n }\n\n // add the actual node to be deleted also, to the list\n if (itemsToDelete) itemsToDelete.nodes[nodeId] = graph.getNode(nodeId);\n\n if (itemsToDelete) onChange?.(itemsToDelete, itemsToRetain, ev);\n };\n\n const submitHandler = (ev: Event) => {\n let error = true;\n const finalGraph = new DirectedGraph(flowGraphData);\n const finalDeleteOptionsResult = deleteNodeUtils.getDeleteNodeOptions(finalGraph, nodeId);\n\n let newTargetNode = finalDeleteOptionsResult?.destinationNodeId\n ? finalGraph.getNode(finalDeleteOptionsResult.destinationNodeId)\n : undefined;\n let itemsToDelete = finalDeleteOptionsResult.allItems;\n\n const selectedOption =\n currentSelection === -1 || nodeType !== 'Decision'\n ? undefined\n : finalDeleteOptionsResult?.options[currentSelection];\n let finalMetaData = selectedOption;\n\n if (selectedOption) {\n const pathConnectors = selectedOption.pathItems.connectors;\n const connectors = Object.keys(pathConnectors);\n for (let i = 0; i < connectors.length; i += 1) {\n const connectorData = pathConnectors[connectors[i]];\n if (\n connectorData &&\n finalGraph.getNode(connectorData.fromNodeId).type?.minConnectors !== 0 &&\n connectorData.toNodeId === finalDeleteOptionsResult.destinationNodeId\n ) {\n error = false;\n break;\n }\n }\n if (error) {\n onSubmit?.(\n {\n graphData: {\n nodes: [],\n connectors: []\n },\n updates: {\n connectors: []\n },\n deletes: { nodes: {}, connectors: {} },\n error: true\n },\n ev\n );\n return;\n }\n\n finalMetaData = finalDeleteOptionsResult.options.find(\n current => selectedOption.connector.id === current.connector.id\n );\n\n if (finalMetaData) {\n // get the ref of the first node of the retaining path\n newTargetNode = finalGraph.getNode(finalMetaData.connector.toNodeId);\n itemsToDelete = finalMetaData.restItems;\n }\n }\n\n // get the in-connectors of the selected node\n const nodeInConnectors = finalGraph.getInConnectors(nodeId);\n\n // iterate and set the targetNode to the above first node instead of the selected node.\n\n nodeInConnectors.forEach(con => {\n finalGraph.setConnector(con.id, {\n toNodeId: newTargetNode ? newTargetNode.id : undefined\n });\n });\n\n const resultGraphData = finalGraph.getGraphData();\n\n itemsToDelete.nodes[nodeId] = finalGraph.getNode(nodeId);\n\n // filter the highlighted nodes, including the selected node\n const nodes = resultGraphData.nodes.filter(item => {\n return itemsToDelete.nodes[item.id] === undefined;\n });\n\n if (finalMetaData) {\n itemsToDelete.connectors[finalMetaData.connector.id] = finalMetaData.connector;\n }\n\n // filter the highlighted connectors\n const connectors = resultGraphData.connectors.filter(item => {\n return itemsToDelete.connectors[item.id] === undefined;\n });\n\n const outcome: DeleteNodeOutcome = {\n graphData: {\n nodes: nodes as NodeProps[],\n connectors\n },\n updates: {\n connectors: nodeInConnectors\n },\n deletes: itemsToDelete,\n error: false\n };\n onSubmit?.(outcome, ev);\n };\n\n const onCancelHandler = () => {\n onCancel?.();\n };\n\n return (\n <StyledDeletePopover\n show={show}\n target={target}\n placement='right-end'\n ref={ref}\n modifiers={[\n {\n name: 'offset',\n options: { offset: [0, 8] }\n }\n ]}\n >\n <Flex container={{ gap: 2, pad: 2, direction: 'column' }}>\n <Flex container={{ alignItems: 'center', justify: 'between' }}>\n <Text variant='h4'>{t('delete_step_title')}</Text>\n <Button variant='simple' icon label={t('close')} onClick={onCancelHandler}>\n <Icon name='times' />\n </Button>\n </Flex>\n {nodeType === 'Decision' ? (\n <>\n <Text>{t('delete_decision_step')}</Text>\n <Select\n id='select-demo'\n label={t('delete_step_outcome')}\n required\n onChange={onChangeHandler}\n >\n {deleteOptions.map((item, index) => {\n return (\n <Option key={item.connector.id} selected={currentSelection === index}>\n {item.connector.label ? item.connector.label : item.connector.id}\n </Option>\n );\n })}\n\n <Option key='none' selected={currentSelection === -1}>\n {t('delete_all_outcomes')}\n </Option>\n </Select>\n </>\n ) : (\n <Text>{t('delete_step')}</Text>\n )}\n\n <Flex container={{ direction: 'row', justify: 'between' }}>\n <Button onClick={onCancelHandler}>{t('cancel')}</Button>\n <Button variant='primary' onClick={submitHandler}>\n {t('delete')}\n </Button>\n </Flex>\n </Flex>\n </StyledDeletePopover>\n );\n});\n\nexport default DeletePopover;\n"]}
@@ -0,0 +1,5 @@
1
+ import type { PropsWithoutRef } from 'react';
2
+ import type { FlowModellerProps } from './FlowModeller.types';
3
+ declare const FlowModeller: ({ graphData, highlightData, onNodeActionClick, onNodeAdd, nodeLibrary, onNodeClick, onDelete, actions, readOnly, selectedNodeId }: PropsWithoutRef<FlowModellerProps>) => JSX.Element;
4
+ export default FlowModeller;
5
+ //# sourceMappingURL=FlowModeller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlowModeller.d.ts","sourceRoot":"","sources":["../../../src/components/FlowModeller/FlowModeller.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAuB,MAAM,OAAO,CAAC;AAuBlE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAsF9D,QAAA,MAAM,YAAY,sIAWf,gBAAgB,iBAAiB,CAAC,gBAgTpC,CAAC;AAEF,eAAe,YAAY,CAAC"}