@pega/cosmos-react-build 3.0.0-dev.3.0 → 3.0.0-dev.30.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 (274) hide show
  1. package/lib/components/AppHeader/AppHeader.d.ts +4 -2
  2. package/lib/components/AppHeader/AppHeader.d.ts.map +1 -1
  3. package/lib/components/AppHeader/AppHeader.js +12 -10
  4. package/lib/components/AppHeader/AppHeader.js.map +1 -1
  5. package/lib/components/AppHeader/AppHeader.styles.d.ts +1 -3
  6. package/lib/components/AppHeader/AppHeader.styles.d.ts.map +1 -1
  7. package/lib/components/AppHeader/AppHeader.styles.js +5 -22
  8. package/lib/components/AppHeader/AppHeader.styles.js.map +1 -1
  9. package/lib/components/AppHeader/BranchButton.d.ts.map +1 -1
  10. package/lib/components/AppHeader/BranchButton.js +22 -18
  11. package/lib/components/AppHeader/BranchButton.js.map +1 -1
  12. package/lib/components/AppShell/AppShell.d.ts.map +1 -1
  13. package/lib/components/AppShell/AppShell.js +21 -20
  14. package/lib/components/AppShell/AppShell.js.map +1 -1
  15. package/lib/components/AppShell/AppShell.styles.d.ts.map +1 -1
  16. package/lib/components/AppShell/AppShell.styles.js +17 -2
  17. package/lib/components/AppShell/AppShell.styles.js.map +1 -1
  18. package/lib/components/AppShell/AppShell.types.d.ts +6 -9
  19. package/lib/components/AppShell/AppShell.types.d.ts.map +1 -1
  20. package/lib/components/AppShell/AppShell.types.js.map +1 -1
  21. package/lib/components/DynamicContentEditor/DynamicContentEditor.d.ts +3 -0
  22. package/lib/components/DynamicContentEditor/DynamicContentEditor.d.ts.map +1 -1
  23. package/lib/components/DynamicContentEditor/DynamicContentEditor.js +173 -42
  24. package/lib/components/DynamicContentEditor/DynamicContentEditor.js.map +1 -1
  25. package/lib/components/DynamicContentEditor/DynamicContentEditor.types.d.ts +6 -0
  26. package/lib/components/DynamicContentEditor/DynamicContentEditor.types.d.ts.map +1 -1
  27. package/lib/components/DynamicContentEditor/DynamicContentEditor.types.js.map +1 -1
  28. package/lib/components/DynamicContentEditor/PegaCustomElement.d.ts +307 -3
  29. package/lib/components/DynamicContentEditor/PegaCustomElement.d.ts.map +1 -1
  30. package/lib/components/DynamicContentEditor/PegaCustomElement.js +21 -21
  31. package/lib/components/DynamicContentEditor/PegaCustomElement.js.map +1 -1
  32. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.d.ts +8 -0
  33. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.d.ts.map +1 -0
  34. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.js +124 -0
  35. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.js.map +1 -0
  36. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.styles.d.ts +8 -0
  37. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.styles.d.ts.map +1 -0
  38. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.styles.js +517 -0
  39. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.styles.js.map +1 -0
  40. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.types.d.ts +35 -0
  41. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.types.d.ts.map +1 -0
  42. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.types.js +2 -0
  43. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.types.js.map +1 -0
  44. package/lib/components/ExpressionBuilder/CodeEditor/getCodeSuggestions.d.ts +13 -0
  45. package/lib/components/ExpressionBuilder/CodeEditor/getCodeSuggestions.d.ts.map +1 -0
  46. package/lib/components/ExpressionBuilder/CodeEditor/getCodeSuggestions.js +46 -0
  47. package/lib/components/ExpressionBuilder/CodeEditor/getCodeSuggestions.js.map +1 -0
  48. package/lib/components/ExpressionBuilder/ExpressionBuilder.d.ts +6 -0
  49. package/lib/components/ExpressionBuilder/ExpressionBuilder.d.ts.map +1 -0
  50. package/lib/components/ExpressionBuilder/ExpressionBuilder.js +51 -0
  51. package/lib/components/ExpressionBuilder/ExpressionBuilder.js.map +1 -0
  52. package/lib/components/ExpressionBuilder/ExpressionBuilder.styles.d.ts +14 -0
  53. package/lib/components/ExpressionBuilder/ExpressionBuilder.styles.d.ts.map +1 -0
  54. package/lib/components/ExpressionBuilder/ExpressionBuilder.styles.js +81 -0
  55. package/lib/components/ExpressionBuilder/ExpressionBuilder.styles.js.map +1 -0
  56. package/lib/components/ExpressionBuilder/ExpressionBuilder.types.d.ts +74 -0
  57. package/lib/components/ExpressionBuilder/ExpressionBuilder.types.d.ts.map +1 -0
  58. package/lib/components/ExpressionBuilder/ExpressionBuilder.types.js +2 -0
  59. package/lib/components/ExpressionBuilder/ExpressionBuilder.types.js.map +1 -0
  60. package/lib/components/ExpressionBuilder/ExpressionBuilderContext.d.ts +7 -0
  61. package/lib/components/ExpressionBuilder/ExpressionBuilderContext.d.ts.map +1 -0
  62. package/lib/components/ExpressionBuilder/ExpressionBuilderContext.js +6 -0
  63. package/lib/components/ExpressionBuilder/ExpressionBuilderContext.js.map +1 -0
  64. package/lib/components/ExpressionBuilder/ExpressionDetails.d.ts +6 -0
  65. package/lib/components/ExpressionBuilder/ExpressionDetails.d.ts.map +1 -0
  66. package/lib/components/ExpressionBuilder/ExpressionDetails.js +12 -0
  67. package/lib/components/ExpressionBuilder/ExpressionDetails.js.map +1 -0
  68. package/lib/components/ExpressionBuilder/ExpressionItem.d.ts +6 -0
  69. package/lib/components/ExpressionBuilder/ExpressionItem.d.ts.map +1 -0
  70. package/lib/components/ExpressionBuilder/ExpressionItem.js +43 -0
  71. package/lib/components/ExpressionBuilder/ExpressionItem.js.map +1 -0
  72. package/lib/components/ExpressionBuilder/ExpressionList.d.ts +6 -0
  73. package/lib/components/ExpressionBuilder/ExpressionList.d.ts.map +1 -0
  74. package/lib/components/ExpressionBuilder/ExpressionList.js +32 -0
  75. package/lib/components/ExpressionBuilder/ExpressionList.js.map +1 -0
  76. package/lib/components/ExpressionBuilder/index.d.ts +8 -0
  77. package/lib/components/ExpressionBuilder/index.d.ts.map +1 -0
  78. package/lib/components/ExpressionBuilder/index.js +6 -0
  79. package/lib/components/ExpressionBuilder/index.js.map +1 -0
  80. package/lib/components/FlowModeller/AddNode.d.ts +11 -9
  81. package/lib/components/FlowModeller/AddNode.d.ts.map +1 -1
  82. package/lib/components/FlowModeller/AddNode.js +9 -3
  83. package/lib/components/FlowModeller/AddNode.js.map +1 -1
  84. package/lib/components/FlowModeller/Connector.d.ts +7 -0
  85. package/lib/components/FlowModeller/Connector.d.ts.map +1 -0
  86. package/lib/components/FlowModeller/Connector.js +71 -0
  87. package/lib/components/FlowModeller/Connector.js.map +1 -0
  88. package/lib/components/FlowModeller/DeletePopover.d.ts +19 -0
  89. package/lib/components/FlowModeller/DeletePopover.d.ts.map +1 -0
  90. package/lib/components/FlowModeller/DeletePopover.js +136 -0
  91. package/lib/components/FlowModeller/DeletePopover.js.map +1 -0
  92. package/lib/components/FlowModeller/FlowModeller.d.ts +3 -19
  93. package/lib/components/FlowModeller/FlowModeller.d.ts.map +1 -1
  94. package/lib/components/FlowModeller/FlowModeller.js +187 -63
  95. package/lib/components/FlowModeller/FlowModeller.js.map +1 -1
  96. package/lib/components/FlowModeller/FlowModeller.types.d.ts +25 -0
  97. package/lib/components/FlowModeller/FlowModeller.types.d.ts.map +1 -0
  98. package/lib/components/FlowModeller/FlowModeller.types.js +2 -0
  99. package/lib/components/FlowModeller/FlowModeller.types.js.map +1 -0
  100. package/lib/components/FlowModeller/FlowModellerContext.d.ts +6 -0
  101. package/lib/components/FlowModeller/FlowModellerContext.d.ts.map +1 -0
  102. package/lib/components/FlowModeller/FlowModellerContext.js +7 -0
  103. package/lib/components/FlowModeller/FlowModellerContext.js.map +1 -0
  104. package/lib/components/FlowModeller/Node/Node.types.d.ts +22 -9
  105. package/lib/components/FlowModeller/Node/Node.types.d.ts.map +1 -1
  106. package/lib/components/FlowModeller/Node/Node.types.js +2 -3
  107. package/lib/components/FlowModeller/Node/Node.types.js.map +1 -1
  108. package/lib/components/FlowModeller/Node/NodeTemplate.styles.d.ts +6 -4
  109. package/lib/components/FlowModeller/Node/NodeTemplate.styles.d.ts.map +1 -1
  110. package/lib/components/FlowModeller/Node/NodeTemplate.styles.js +21 -11
  111. package/lib/components/FlowModeller/Node/NodeTemplate.styles.js.map +1 -1
  112. package/lib/components/FlowModeller/Node/NodeTemplates.d.ts +1 -1
  113. package/lib/components/FlowModeller/Node/NodeTemplates.d.ts.map +1 -1
  114. package/lib/components/FlowModeller/Node/NodeTemplates.js +43 -19
  115. package/lib/components/FlowModeller/Node/NodeTemplates.js.map +1 -1
  116. package/lib/components/FlowModeller/Node.d.ts +5 -0
  117. package/lib/components/FlowModeller/Node.d.ts.map +1 -0
  118. package/lib/components/FlowModeller/Node.js +22 -0
  119. package/lib/components/FlowModeller/Node.js.map +1 -0
  120. package/lib/components/FlowModeller/Renderer/Renderer.d.ts.map +1 -1
  121. package/lib/components/FlowModeller/Renderer/Renderer.js +37 -6
  122. package/lib/components/FlowModeller/Renderer/Renderer.js.map +1 -1
  123. package/lib/components/FlowModeller/Renderer/Renderer.types.d.ts +9 -9
  124. package/lib/components/FlowModeller/Renderer/Renderer.types.d.ts.map +1 -1
  125. package/lib/components/FlowModeller/Renderer/Renderer.types.js.map +1 -1
  126. package/lib/components/FlowModeller/Renderer/Utils/Graph.d.ts +8 -3
  127. package/lib/components/FlowModeller/Renderer/Utils/Graph.d.ts.map +1 -1
  128. package/lib/components/FlowModeller/Renderer/Utils/Graph.js +7 -1
  129. package/lib/components/FlowModeller/Renderer/Utils/Graph.js.map +1 -1
  130. package/lib/components/FlowModeller/Renderer/Utils/GraphLayout.d.ts +2 -1
  131. package/lib/components/FlowModeller/Renderer/Utils/GraphLayout.d.ts.map +1 -1
  132. package/lib/components/FlowModeller/Renderer/Utils/GraphLayout.js +19 -6
  133. package/lib/components/FlowModeller/Renderer/Utils/GraphLayout.js.map +1 -1
  134. package/lib/components/FlowModeller/Renderer/Utils/GraphTraversal.d.ts +9 -6
  135. package/lib/components/FlowModeller/Renderer/Utils/GraphTraversal.d.ts.map +1 -1
  136. package/lib/components/FlowModeller/Renderer/Utils/GraphTraversal.js +23 -3
  137. package/lib/components/FlowModeller/Renderer/Utils/GraphTraversal.js.map +1 -1
  138. package/lib/components/FlowModeller/Utils/addNodeUtils.d.ts +17 -0
  139. package/lib/components/FlowModeller/Utils/addNodeUtils.d.ts.map +1 -0
  140. package/lib/components/FlowModeller/Utils/{AddNodeUtils.js → addNodeUtils.js} +58 -35
  141. package/lib/components/FlowModeller/Utils/addNodeUtils.js.map +1 -0
  142. package/lib/components/FlowModeller/Utils/deleteNodeUtils.d.ts +30 -0
  143. package/lib/components/FlowModeller/Utils/deleteNodeUtils.d.ts.map +1 -0
  144. package/lib/components/FlowModeller/Utils/deleteNodeUtils.js +81 -0
  145. package/lib/components/FlowModeller/Utils/deleteNodeUtils.js.map +1 -0
  146. package/lib/components/FlowModeller/helper.d.ts +18 -8
  147. package/lib/components/FlowModeller/helper.d.ts.map +1 -1
  148. package/lib/components/FlowModeller/helper.js +114 -55
  149. package/lib/components/FlowModeller/helper.js.map +1 -1
  150. package/lib/components/FlowModeller/index.d.ts +8 -3
  151. package/lib/components/FlowModeller/index.d.ts.map +1 -1
  152. package/lib/components/FlowModeller/index.js +5 -1
  153. package/lib/components/FlowModeller/index.js.map +1 -1
  154. package/lib/components/ItemLibrary/ItemLibrary.d.ts +8 -6
  155. package/lib/components/ItemLibrary/ItemLibrary.d.ts.map +1 -1
  156. package/lib/components/ItemLibrary/ItemLibrary.js +6 -8
  157. package/lib/components/ItemLibrary/ItemLibrary.js.map +1 -1
  158. package/lib/components/LifeCycle/Category.d.ts.map +1 -1
  159. package/lib/components/LifeCycle/Category.js +17 -13
  160. package/lib/components/LifeCycle/Category.js.map +1 -1
  161. package/lib/components/LifeCycle/LifeCycle.d.ts.map +1 -1
  162. package/lib/components/LifeCycle/LifeCycle.js +2 -3
  163. package/lib/components/LifeCycle/LifeCycle.js.map +1 -1
  164. package/lib/components/LifeCycle/LifeCycle.types.d.ts +2 -4
  165. package/lib/components/LifeCycle/LifeCycle.types.d.ts.map +1 -1
  166. package/lib/components/LifeCycle/LifeCycle.types.js.map +1 -1
  167. package/lib/components/LifeCycle/LifeCycleList.d.ts +1 -1
  168. package/lib/components/LifeCycle/LifeCycleList.d.ts.map +1 -1
  169. package/lib/components/LifeCycle/LifeCycleList.js +3 -2
  170. package/lib/components/LifeCycle/LifeCycleList.js.map +1 -1
  171. package/lib/components/LifeCycle/Stage.d.ts +1 -1
  172. package/lib/components/LifeCycle/Stage.d.ts.map +1 -1
  173. package/lib/components/LifeCycle/Stage.js +8 -17
  174. package/lib/components/LifeCycle/Stage.js.map +1 -1
  175. package/lib/components/LifeCycle/Step.d.ts +5 -8
  176. package/lib/components/LifeCycle/Step.d.ts.map +1 -1
  177. package/lib/components/LifeCycle/Step.js +10 -32
  178. package/lib/components/LifeCycle/Step.js.map +1 -1
  179. package/lib/components/LifeCycle/Task.d.ts +5 -3
  180. package/lib/components/LifeCycle/Task.d.ts.map +1 -1
  181. package/lib/components/LifeCycle/Task.js +17 -10
  182. package/lib/components/LifeCycle/Task.js.map +1 -1
  183. package/lib/components/LifeCycle/index.d.ts +1 -2
  184. package/lib/components/LifeCycle/index.d.ts.map +1 -1
  185. package/lib/components/LifeCycle/index.js.map +1 -1
  186. package/lib/components/ObjectPreview/ObjectPreview.d.ts +16 -0
  187. package/lib/components/ObjectPreview/ObjectPreview.d.ts.map +1 -0
  188. package/lib/components/ObjectPreview/ObjectPreview.js +25 -0
  189. package/lib/components/ObjectPreview/ObjectPreview.js.map +1 -0
  190. package/lib/components/ObjectPreview/index.d.ts +3 -0
  191. package/lib/components/ObjectPreview/index.d.ts.map +1 -0
  192. package/lib/components/ObjectPreview/index.js +3 -0
  193. package/lib/components/ObjectPreview/index.js.map +1 -0
  194. package/lib/components/ObjectSelect/ObjectPicker.d.ts +15 -0
  195. package/lib/components/ObjectSelect/ObjectPicker.d.ts.map +1 -0
  196. package/lib/components/ObjectSelect/ObjectPicker.js +40 -0
  197. package/lib/components/ObjectSelect/ObjectPicker.js.map +1 -0
  198. package/lib/components/ObjectSelect/ObjectSelect.d.ts +32 -0
  199. package/lib/components/ObjectSelect/ObjectSelect.d.ts.map +1 -0
  200. package/lib/components/ObjectSelect/ObjectSelect.js +41 -0
  201. package/lib/components/ObjectSelect/ObjectSelect.js.map +1 -0
  202. package/lib/components/ObjectSelect/ObjectSummary.d.ts +24 -0
  203. package/lib/components/ObjectSelect/ObjectSummary.d.ts.map +1 -0
  204. package/lib/components/ObjectSelect/ObjectSummary.js +45 -0
  205. package/lib/components/ObjectSelect/ObjectSummary.js.map +1 -0
  206. package/lib/components/ObjectSelect/index.d.ts +3 -0
  207. package/lib/components/ObjectSelect/index.d.ts.map +1 -0
  208. package/lib/components/ObjectSelect/index.js +2 -0
  209. package/lib/components/ObjectSelect/index.js.map +1 -0
  210. package/lib/components/ObjectSelect/useCreateModal.d.ts +34 -0
  211. package/lib/components/ObjectSelect/useCreateModal.d.ts.map +1 -0
  212. package/lib/components/ObjectSelect/useCreateModal.js +61 -0
  213. package/lib/components/ObjectSelect/useCreateModal.js.map +1 -0
  214. package/lib/components/PageTemplates/GalleryPage.js +4 -4
  215. package/lib/components/PageTemplates/GalleryPage.js.map +1 -1
  216. package/lib/components/PageTemplates/PageTemplates.d.ts +3 -3
  217. package/lib/components/PageTemplates/PageTemplates.d.ts.map +1 -1
  218. package/lib/components/PageTemplates/PageTemplates.js +45 -37
  219. package/lib/components/PageTemplates/PageTemplates.js.map +1 -1
  220. package/lib/components/SummaryCard/SummaryCard.d.ts +2 -3
  221. package/lib/components/SummaryCard/SummaryCard.d.ts.map +1 -1
  222. package/lib/components/SummaryCard/SummaryCard.js +3 -4
  223. package/lib/components/SummaryCard/SummaryCard.js.map +1 -1
  224. package/lib/components/Workbench/ConfigurationPanel.d.ts.map +1 -1
  225. package/lib/components/Workbench/ConfigurationPanel.js +4 -15
  226. package/lib/components/Workbench/ConfigurationPanel.js.map +1 -1
  227. package/lib/components/Workbench/Toolbar.d.ts +1 -5
  228. package/lib/components/Workbench/Toolbar.d.ts.map +1 -1
  229. package/lib/components/Workbench/Toolbar.js +8 -8
  230. package/lib/components/Workbench/Toolbar.js.map +1 -1
  231. package/lib/components/Workbench/UtilityPanel.js +1 -1
  232. package/lib/components/Workbench/UtilityPanel.js.map +1 -1
  233. package/lib/components/Workbench/Workbench.d.ts.map +1 -1
  234. package/lib/components/Workbench/Workbench.js +3 -4
  235. package/lib/components/Workbench/Workbench.js.map +1 -1
  236. package/lib/components/Workbench/Workbench.styles.d.ts +1 -1
  237. package/lib/components/Workbench/Workbench.styles.d.ts.map +1 -1
  238. package/lib/components/Workbench/Workbench.styles.js +15 -16
  239. package/lib/components/Workbench/Workbench.styles.js.map +1 -1
  240. package/lib/components/Workbench/Workbench.types.d.ts +2 -4
  241. package/lib/components/Workbench/Workbench.types.d.ts.map +1 -1
  242. package/lib/components/Workbench/Workbench.types.js.map +1 -1
  243. package/lib/index.d.ts +6 -1
  244. package/lib/index.d.ts.map +1 -1
  245. package/lib/index.js +6 -1
  246. package/lib/index.js.map +1 -1
  247. package/lib/utils/index.d.ts +2 -0
  248. package/lib/utils/index.d.ts.map +1 -0
  249. package/lib/utils/index.js +2 -0
  250. package/lib/utils/index.js.map +1 -0
  251. package/lib/utils/utils.d.ts +14 -0
  252. package/lib/utils/utils.d.ts.map +1 -0
  253. package/lib/utils/utils.js +13 -0
  254. package/lib/utils/utils.js.map +1 -0
  255. package/package.json +23 -14
  256. package/lib/components/FlowModeller/Renderer/Connectors.d.ts +0 -13
  257. package/lib/components/FlowModeller/Renderer/Connectors.d.ts.map +0 -1
  258. package/lib/components/FlowModeller/Renderer/Connectors.js +0 -47
  259. package/lib/components/FlowModeller/Renderer/Connectors.js.map +0 -1
  260. package/lib/components/FlowModeller/Renderer/Nodes.d.ts +0 -9
  261. package/lib/components/FlowModeller/Renderer/Nodes.d.ts.map +0 -1
  262. package/lib/components/FlowModeller/Renderer/Nodes.js +0 -25
  263. package/lib/components/FlowModeller/Renderer/Nodes.js.map +0 -1
  264. package/lib/components/FlowModeller/Utils/AddNodeUtils.d.ts +0 -16
  265. package/lib/components/FlowModeller/Utils/AddNodeUtils.d.ts.map +0 -1
  266. package/lib/components/FlowModeller/Utils/AddNodeUtils.js.map +0 -1
  267. package/lib/components/Visual/Visual.d.ts +0 -17
  268. package/lib/components/Visual/Visual.d.ts.map +0 -1
  269. package/lib/components/Visual/Visual.js +0 -28
  270. package/lib/components/Visual/Visual.js.map +0 -1
  271. package/lib/components/Visual/index.d.ts +0 -3
  272. package/lib/components/Visual/index.d.ts.map +0 -1
  273. package/lib/components/Visual/index.js +0 -3
  274. package/lib/components/Visual/index.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpressionBuilder.d.ts","sourceRoot":"","sources":["../../../src/components/ExpressionBuilder/ExpressionBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAKlB,MAAM,OAAO,CAAC;AAEf,OAAO,EAEL,YAAY,EAIb,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAuB,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAOxF,QAAA,MAAM,iBAAiB,EAAE,iBAAiB,CAAC,sBAAsB,GAAG,YAAY,CA+G/E,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { forwardRef, useImperativeHandle, useMemo, useRef } from 'react';
3
+ import { Flex, SearchInput, useI18n, VisuallyHiddenText } from '@pega/cosmos-react-core';
4
+ import ExpressionList from './ExpressionList';
5
+ import { StyledExpressionBuilder } from './ExpressionBuilder.styles';
6
+ import CodeEditor from './CodeEditor/CodeEditor';
7
+ import ExpressionBuilderContext from './ExpressionBuilderContext';
8
+ const ExpressionBuilder = forwardRef(({ list, search, errors, defaultValue, handle, fetchSuggestions, loading, readOnly, ...restProps }, ref) => {
9
+ const t = useI18n();
10
+ const codeEditorHandle = useRef(null);
11
+ const getExpression = () => {
12
+ return codeEditorHandle.current?.getValue() || '';
13
+ };
14
+ useImperativeHandle(handle, () => ({
15
+ getExpression
16
+ }), [getExpression]);
17
+ const addExpression = (expression) => {
18
+ codeEditorHandle.current?.insertText(expression);
19
+ };
20
+ const onItemAdd = (id) => {
21
+ list.onItemAdd(id, addExpression);
22
+ };
23
+ const ctxValue = useMemo(() => ({
24
+ accent: search.accent
25
+ }), [search.accent]);
26
+ return (_jsxs(Flex, { ...restProps, as: StyledExpressionBuilder, ref: ref, container: {
27
+ justify: 'between',
28
+ colGap: 2,
29
+ pad: 1
30
+ }, item: {
31
+ grow: 1
32
+ }, children: [!readOnly && (_jsx(VisuallyHiddenText, { "aria-live": 'polite', role: 'status', children: t('results_count', [list.items?.length || 0], { count: list.items?.length || 0 }) })), !readOnly && (_jsxs(Flex, { container: {
33
+ direction: 'column',
34
+ justify: 'between',
35
+ gap: 1
36
+ }, item: {
37
+ grow: 1,
38
+ basis: '50%'
39
+ }, children: [_jsx(SearchInput, { ...search }), _jsx(ExpressionBuilderContext.Provider, { value: ctxValue, children: _jsx(ExpressionList, { ...list, onItemAdd: onItemAdd }) })] })), _jsx(Flex, { container: {
40
+ direction: 'column',
41
+ justify: 'between'
42
+ }, item: {
43
+ grow: 1,
44
+ basis: '50%'
45
+ }, children: _jsx(CodeEditor, { fetchSuggestions: fetchSuggestions, codeEditorHandle: codeEditorHandle, autoCompleteTriggers: ['.', '@'], editorConfigProps: {
46
+ mode: 'expression',
47
+ readOnly
48
+ }, defaultValue: defaultValue, loading: loading, errors: errors, readOnly: readOnly, "aria-label": t('expression_editor') }) })] }));
49
+ });
50
+ export default ExpressionBuilder;
51
+ //# sourceMappingURL=ExpressionBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpressionBuilder.js","sourceRoot":"","sources":["../../../src/components/ExpressionBuilder/ExpressionBuilder.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n forwardRef,\n FunctionComponent,\n PropsWithoutRef,\n useImperativeHandle,\n useMemo,\n useRef\n} from 'react';\n\nimport {\n Flex,\n ForwardProps,\n SearchInput,\n useI18n,\n VisuallyHiddenText\n} from '@pega/cosmos-react-core';\n\nimport { ExpressionItemProps, ExpressionBuilderProps } from './ExpressionBuilder.types';\nimport { EditorState } from './CodeEditor/CodeEditor.types';\nimport ExpressionList from './ExpressionList';\nimport { StyledExpressionBuilder } from './ExpressionBuilder.styles';\nimport CodeEditor from './CodeEditor/CodeEditor';\nimport ExpressionBuilderContext from './ExpressionBuilderContext';\n\nconst ExpressionBuilder: FunctionComponent<ExpressionBuilderProps & ForwardProps> = forwardRef(\n (\n {\n list,\n search,\n errors,\n defaultValue,\n handle,\n fetchSuggestions,\n loading,\n readOnly,\n ...restProps\n }: PropsWithoutRef<ExpressionBuilderProps>,\n ref: ExpressionBuilderProps['ref']\n ) => {\n const t = useI18n();\n const codeEditorHandle = useRef<EditorState>(null);\n\n const getExpression = () => {\n return codeEditorHandle.current?.getValue() || '';\n };\n\n useImperativeHandle(\n handle,\n () => ({\n getExpression\n }),\n [getExpression]\n );\n\n const addExpression = (expression: string) => {\n codeEditorHandle.current?.insertText(expression);\n };\n const onItemAdd = (id: ExpressionItemProps['id']) => {\n list.onItemAdd(id, addExpression);\n };\n\n const ctxValue = useMemo(\n () => ({\n accent: search.accent\n }),\n [search.accent]\n );\n\n return (\n <Flex\n {...restProps}\n as={StyledExpressionBuilder}\n ref={ref}\n container={{\n justify: 'between',\n colGap: 2,\n pad: 1\n }}\n item={{\n grow: 1\n }}\n >\n {!readOnly && (\n <VisuallyHiddenText aria-live='polite' role='status'>\n {t('results_count', [list.items?.length || 0], { count: list.items?.length || 0 })}\n </VisuallyHiddenText>\n )}\n {/* Column 1 */}\n {!readOnly && (\n <Flex\n container={{\n direction: 'column',\n justify: 'between',\n gap: 1\n }}\n item={{\n grow: 1,\n basis: '50%'\n }}\n >\n <SearchInput {...search} />\n <ExpressionBuilderContext.Provider value={ctxValue}>\n <ExpressionList {...list} onItemAdd={onItemAdd} />\n </ExpressionBuilderContext.Provider>\n </Flex>\n )}\n {/* Column 2 */}\n <Flex\n container={{\n direction: 'column',\n justify: 'between'\n }}\n item={{\n grow: 1,\n basis: '50%'\n }}\n >\n <CodeEditor\n fetchSuggestions={fetchSuggestions}\n codeEditorHandle={codeEditorHandle}\n autoCompleteTriggers={['.', '@']}\n editorConfigProps={{\n mode: 'expression',\n readOnly\n }}\n defaultValue={defaultValue}\n loading={loading}\n errors={errors}\n readOnly={readOnly}\n aria-label={t('expression_editor')}\n />\n </Flex>\n </Flex>\n );\n }\n);\n\nexport default ExpressionBuilder;\n"]}
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import { ExpressionItemProps } from './ExpressionBuilder.types';
3
+ export declare const StyledPrimaryText: import("styled-components").StyledComponent<import("react").FunctionComponent<import("@pega/cosmos-react-core").TextProps & import("@pega/cosmos-react-core").ForwardProps>, import("styled-components").DefaultTheme, {}, never>;
4
+ export declare const StyledExpressionSummary: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
5
+ export declare const StyledExpressionList: import("styled-components").StyledComponent<"ul", import("styled-components").DefaultTheme, {}, never>;
6
+ export declare const StyledExpressionBuilder: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
7
+ export declare const StyledParamsGroup: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
8
+ export declare const StyledInputParamsGroup: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
9
+ export declare const StyledExpressionDetails: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
10
+ export declare const StyledExpandCollapseContent: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
11
+ export declare const StyledExpressionItem: import("styled-components").StyledComponent<"li", import("styled-components").DefaultTheme, {
12
+ expanded: ExpressionItemProps['expanded'];
13
+ }, never>;
14
+ //# sourceMappingURL=ExpressionBuilder.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpressionBuilder.styles.d.ts","sourceRoot":"","sources":["../../../src/components/ExpressionBuilder/ExpressionBuilder.styles.ts"],"names":[],"mappings":";AAUA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,eAAO,MAAM,iBAAiB,mOAE7B,CAAC;AAEF,eAAO,MAAM,uBAAuB,yGAKlC,CAAC;AAIH,eAAO,MAAM,oBAAoB,wGAIhC,CAAC;AAEF,eAAO,MAAM,uBAAuB,yGASlC,CAAC;AAIH,eAAO,MAAM,iBAAiB,yGAQ5B,CAAC;AAIH,eAAO,MAAM,sBAAsB,yGAIjC,CAAC;AAIH,eAAO,MAAM,uBAAuB,yGAAe,CAAC;AAIpD,eAAO,MAAM,2BAA2B,yGAQtC,CAAC;AAIH,eAAO,MAAM,oBAAoB;cACrB,mBAAmB,CAAC,UAAU,CAAC;SAuBzC,CAAC"}
@@ -0,0 +1,81 @@
1
+ import styled, { css } from 'styled-components';
2
+ import { defaultThemeProp, StyledButton, StyledLabel, StyledText, Text } from '@pega/cosmos-react-core';
3
+ export const StyledPrimaryText = styled(Text) `
4
+ word-break: break-word;
5
+ `;
6
+ export const StyledExpressionSummary = styled.div(({ theme }) => {
7
+ return css `
8
+ padding-block: ${theme.base.spacing};
9
+ padding-inline: calc(0.5 * ${theme.base.spacing});
10
+ `;
11
+ });
12
+ StyledExpressionSummary.defaultProps = defaultThemeProp;
13
+ export const StyledExpressionList = styled.ul `
14
+ overflow-y: auto;
15
+ flex-grow: 1;
16
+ list-style: none;
17
+ `;
18
+ export const StyledExpressionBuilder = styled.div(({ theme }) => {
19
+ return css `
20
+ position: relative;
21
+ background-color: ${theme.base.palette['primary-background']};
22
+ min-height: calc(30 * ${theme.base.spacing});
23
+ max-height: 100%;
24
+ max-width: calc(2 * ${theme.base['content-width'].lg} + 4 * ${theme.base.spacing});
25
+ min-width: calc(${theme.base['content-width'].lg} + 4 * ${theme.base.spacing});
26
+ `;
27
+ });
28
+ StyledExpressionBuilder.defaultProps = defaultThemeProp;
29
+ export const StyledParamsGroup = styled.div(({ theme }) => {
30
+ return css `
31
+ margin-block-start: calc(2 * ${theme.base.spacing});
32
+
33
+ ${StyledText} {
34
+ margin-block-end: ${theme.base.spacing};
35
+ }
36
+ `;
37
+ });
38
+ StyledParamsGroup.defaultProps = defaultThemeProp;
39
+ export const StyledInputParamsGroup = styled(StyledParamsGroup)(({ theme }) => {
40
+ return css `
41
+ max-width: ${theme.base['content-width'].lg};
42
+ `;
43
+ });
44
+ StyledInputParamsGroup.defaultProps = defaultThemeProp;
45
+ export const StyledExpressionDetails = styled.div ``;
46
+ StyledExpressionDetails.defaultProps = defaultThemeProp;
47
+ export const StyledExpandCollapseContent = styled.div(({ theme }) => {
48
+ return css `
49
+ padding-inline: calc(2 * ${theme.base.spacing});
50
+ padding-block-end: calc(2 * ${theme.base.spacing});
51
+ ${StyledButton} {
52
+ align-self: flex-end;
53
+ }
54
+ `;
55
+ });
56
+ StyledExpandCollapseContent.defaultProps = defaultThemeProp;
57
+ export const StyledExpressionItem = styled.li(({ theme, expanded }) => {
58
+ return css `
59
+ list-style: none;
60
+ background-color: ${theme.base.palette['primary-background']};
61
+ ${expanded &&
62
+ css `
63
+ background-color: ${theme.base.palette['secondary-background']};
64
+ `}
65
+
66
+ :not(:last-child) {
67
+ border-bottom: 0.0625rem solid ${theme.base.palette['border-line']};
68
+ }
69
+
70
+ ${StyledExpressionDetails} {
71
+ padding-block-end: calc(2 * ${theme.base.spacing});
72
+ }
73
+
74
+ ${StyledLabel} {
75
+ margin-inline-end: calc(0.5 * ${theme.base.spacing});
76
+ color: ${theme.base.palette['foreground-color']};
77
+ }
78
+ `;
79
+ });
80
+ StyledExpressionItem.defaultProps = defaultThemeProp;
81
+ //# sourceMappingURL=ExpressionBuilder.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpressionBuilder.styles.js","sourceRoot":"","sources":["../../../src/components/ExpressionBuilder/ExpressionBuilder.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import styled, { css } from 'styled-components';\n\nimport {\n defaultThemeProp,\n StyledButton,\n StyledLabel,\n StyledText,\n Text\n} from '@pega/cosmos-react-core';\n\nimport { ExpressionItemProps } from './ExpressionBuilder.types';\n\nexport const StyledPrimaryText = styled(Text)`\n word-break: break-word;\n`;\n\nexport const StyledExpressionSummary = styled.div(({ theme }) => {\n return css`\n padding-block: ${theme.base.spacing};\n padding-inline: calc(0.5 * ${theme.base.spacing});\n `;\n});\n\nStyledExpressionSummary.defaultProps = defaultThemeProp;\n\nexport const StyledExpressionList = styled.ul`\n overflow-y: auto;\n flex-grow: 1;\n list-style: none;\n`;\n\nexport const StyledExpressionBuilder = styled.div(({ theme }) => {\n return css`\n position: relative;\n background-color: ${theme.base.palette['primary-background']};\n min-height: calc(30 * ${theme.base.spacing});\n max-height: 100%;\n max-width: calc(2 * ${theme.base['content-width'].lg} + 4 * ${theme.base.spacing});\n min-width: calc(${theme.base['content-width'].lg} + 4 * ${theme.base.spacing});\n `;\n});\n\nStyledExpressionBuilder.defaultProps = defaultThemeProp;\n\nexport const StyledParamsGroup = styled.div(({ theme }) => {\n return css`\n margin-block-start: calc(2 * ${theme.base.spacing});\n\n ${StyledText} {\n margin-block-end: ${theme.base.spacing};\n }\n `;\n});\n\nStyledParamsGroup.defaultProps = defaultThemeProp;\n\nexport const StyledInputParamsGroup = styled(StyledParamsGroup)(({ theme }) => {\n return css`\n max-width: ${theme.base['content-width'].lg};\n `;\n});\n\nStyledInputParamsGroup.defaultProps = defaultThemeProp;\n\nexport const StyledExpressionDetails = styled.div``;\n\nStyledExpressionDetails.defaultProps = defaultThemeProp;\n\nexport const StyledExpandCollapseContent = styled.div(({ theme }) => {\n return css`\n padding-inline: calc(2 * ${theme.base.spacing});\n padding-block-end: calc(2 * ${theme.base.spacing});\n ${StyledButton} {\n align-self: flex-end;\n }\n `;\n});\n\nStyledExpandCollapseContent.defaultProps = defaultThemeProp;\n\nexport const StyledExpressionItem = styled.li<{\n expanded: ExpressionItemProps['expanded'];\n}>(({ theme, expanded }) => {\n return css`\n list-style: none;\n background-color: ${theme.base.palette['primary-background']};\n ${expanded &&\n css`\n background-color: ${theme.base.palette['secondary-background']};\n `}\n\n :not(:last-child) {\n border-bottom: 0.0625rem solid ${theme.base.palette['border-line']};\n }\n\n ${StyledExpressionDetails} {\n padding-block-end: calc(2 * ${theme.base.spacing});\n }\n\n ${StyledLabel} {\n margin-inline-end: calc(0.5 * ${theme.base.spacing});\n color: ${theme.base.palette['foreground-color']};\n }\n `;\n});\n\nStyledExpressionItem.defaultProps = defaultThemeProp;\n"]}
@@ -0,0 +1,74 @@
1
+ import { ComponentType, Ref } from 'react';
2
+ import { BaseProps, EmptyStateProps, OmitStrict, SearchInputProps, FieldValueListProps, MenuProps } from '@pega/cosmos-react-core';
3
+ import { CodeEditorProps } from './CodeEditor/CodeEditor.types';
4
+ export interface ExpressionItemProps {
5
+ /** Id of the item */
6
+ id: string;
7
+ /** Item name to be displayed as rule name */
8
+ primary: string;
9
+ /** Type of expression item. Eg: Decision, When, Automation etc. */
10
+ type: string;
11
+ /** Callback for add event */
12
+ onAdd: (id: ExpressionItemProps['id']) => void;
13
+ /** Callback for expand event */
14
+ onExpand?: (id: ExpressionItemProps['id']) => void;
15
+ /** Callback for collapse event */
16
+ onCollapse?: (id: ExpressionItemProps['id']) => void;
17
+ /** Show the expanded details */
18
+ expanded?: boolean;
19
+ /** Expression details to show in expanded view */
20
+ details?: ExpressionDetailsProps;
21
+ /** Matched field to be shown in expression item collapsed mode during search */
22
+ matchedField?: {
23
+ name: string;
24
+ value: string;
25
+ };
26
+ }
27
+ export interface ExpressionListProps extends BaseProps {
28
+ ref?: Ref<HTMLUListElement>;
29
+ /** Expression builder items */
30
+ items?: OmitStrict<ExpressionItemProps, 'onAdd' | 'onExpand' | 'onCollapse' | 'details'>[];
31
+ /** Callback for item add */
32
+ onItemAdd: ExpressionItemProps['onAdd'];
33
+ /** Callback for item expand */
34
+ onItemExpand?: ExpressionItemProps['onExpand'];
35
+ /** Callback for item collapse */
36
+ onItemCollapse?: ExpressionItemProps['onCollapse'];
37
+ /** No items */
38
+ emptyText?: EmptyStateProps['message'];
39
+ /** Expanded items data */
40
+ details: {
41
+ [id: string]: ExpressionDetailsProps;
42
+ };
43
+ }
44
+ export interface HandleValue {
45
+ /** Returns the expression value */
46
+ getExpression: () => string;
47
+ }
48
+ export interface ExpressionBuilderProps extends BaseProps, OmitStrict<CodeEditorProps, 'ref' | 'codeEditorHandle'> {
49
+ ref?: Ref<HTMLDivElement>;
50
+ /** Expression items list */
51
+ list: OmitStrict<ExpressionListProps, 'ref' | 'onItemAdd'> & {
52
+ onItemAdd: (id: ExpressionItemProps['id'], addExpression: (expression: string) => void) => void;
53
+ };
54
+ /** Search input props */
55
+ search: Pick<Required<SearchInputProps>, 'filters' | 'onFilterChange' | 'onSearchChange' | 'value'> & Pick<SearchInputProps, 'defaultFilter'> & Pick<MenuProps, 'accent'>;
56
+ /** Imperative handle */
57
+ handle?: Ref<HandleValue>;
58
+ }
59
+ export interface InputParams<P> {
60
+ id: string;
61
+ renderer: ComponentType<P>;
62
+ rendererProps: P;
63
+ }
64
+ export interface ExpressionDetailsProps extends BaseProps {
65
+ /** Primary details of the expression */
66
+ primary: Required<FieldValueListProps['fields']>;
67
+ /** Output params of the expression */
68
+ outputParams?: Required<FieldValueListProps['fields']>;
69
+ /** Input params of the expression */
70
+ inputParams?: InputParams<any>[];
71
+ /** Ref to the component */
72
+ ref?: Ref<HTMLElement>;
73
+ }
74
+ //# sourceMappingURL=ExpressionBuilder.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpressionBuilder.types.d.ts","sourceRoot":"","sources":["../../../src/components/ExpressionBuilder/ExpressionBuilder.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ExpressionBuilder.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpressionBuilder.types.js","sourceRoot":"","sources":["../../../src/components/ExpressionBuilder/ExpressionBuilder.types.ts"],"names":[],"mappings":"","sourcesContent":["import { ComponentType, Ref } from 'react';\n\nimport {\n BaseProps,\n EmptyStateProps,\n OmitStrict,\n SearchInputProps,\n FieldValueListProps,\n MenuProps\n} from '@pega/cosmos-react-core';\n\nimport { CodeEditorProps } from './CodeEditor/CodeEditor.types';\n\nexport interface ExpressionItemProps {\n /** Id of the item */\n id: string;\n /** Item name to be displayed as rule name */\n primary: string;\n /** Type of expression item. Eg: Decision, When, Automation etc. */\n type: string;\n /** Callback for add event */\n onAdd: (id: ExpressionItemProps['id']) => void;\n /** Callback for expand event */\n onExpand?: (id: ExpressionItemProps['id']) => void;\n /** Callback for collapse event */\n onCollapse?: (id: ExpressionItemProps['id']) => void;\n /** Show the expanded details */\n expanded?: boolean;\n /** Expression details to show in expanded view */\n details?: ExpressionDetailsProps;\n /** Matched field to be shown in expression item collapsed mode during search */\n matchedField?: { name: string; value: string };\n}\n\nexport interface ExpressionListProps extends BaseProps {\n ref?: Ref<HTMLUListElement>;\n /** Expression builder items */\n items?: OmitStrict<ExpressionItemProps, 'onAdd' | 'onExpand' | 'onCollapse' | 'details'>[];\n /** Callback for item add */\n onItemAdd: ExpressionItemProps['onAdd'];\n /** Callback for item expand */\n onItemExpand?: ExpressionItemProps['onExpand'];\n /** Callback for item collapse */\n onItemCollapse?: ExpressionItemProps['onCollapse'];\n /** No items */\n emptyText?: EmptyStateProps['message'];\n /** Expanded items data */\n details: {\n [id: string]: ExpressionDetailsProps;\n };\n}\n\nexport interface HandleValue {\n /** Returns the expression value */\n getExpression: () => string;\n}\n\nexport interface ExpressionBuilderProps\n extends BaseProps,\n OmitStrict<CodeEditorProps, 'ref' | 'codeEditorHandle'> {\n ref?: Ref<HTMLDivElement>;\n /** Expression items list */\n list: OmitStrict<ExpressionListProps, 'ref' | 'onItemAdd'> & {\n onItemAdd: (id: ExpressionItemProps['id'], addExpression: (expression: string) => void) => void;\n };\n /** Search input props */\n search: Pick<\n Required<SearchInputProps>,\n 'filters' | 'onFilterChange' | 'onSearchChange' | 'value'\n > &\n Pick<SearchInputProps, 'defaultFilter'> &\n Pick<MenuProps, 'accent'>;\n\n /** Imperative handle */\n handle?: Ref<HandleValue>;\n}\n\nexport interface InputParams<P> {\n id: string;\n renderer: ComponentType<P>;\n rendererProps: P;\n}\n\nexport interface ExpressionDetailsProps extends BaseProps {\n /** Primary details of the expression */\n primary: Required<FieldValueListProps['fields']>;\n /** Output params of the expression */\n outputParams?: Required<FieldValueListProps['fields']>;\n /** Input params of the expression */\n inputParams?: InputParams<any>[];\n /** Ref to the component */\n ref?: Ref<HTMLElement>;\n}\n"]}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { MenuProps } from '@pega/cosmos-react-core';
3
+ declare const ExpressionBuilderContext: import("react").Context<{
4
+ accent: MenuProps['accent'];
5
+ }>;
6
+ export default ExpressionBuilderContext;
7
+ //# sourceMappingURL=ExpressionBuilderContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpressionBuilderContext.d.ts","sourceRoot":"","sources":["../../../src/components/ExpressionBuilder/ExpressionBuilderContext.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,QAAA,MAAM,wBAAwB;YAA2B,SAAS,CAAC,QAAQ,CAAC;EAE1E,CAAC;AAEH,eAAe,wBAAwB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { createContext } from 'react';
2
+ const ExpressionBuilderContext = createContext({
3
+ accent: undefined
4
+ });
5
+ export default ExpressionBuilderContext;
6
+ //# sourceMappingURL=ExpressionBuilderContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpressionBuilderContext.js","sourceRoot":"","sources":["../../../src/components/ExpressionBuilder/ExpressionBuilderContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC,MAAM,wBAAwB,GAAG,aAAa,CAAkC;IAC9E,MAAM,EAAE,SAAS;CAClB,CAAC,CAAC;AAEH,eAAe,wBAAwB,CAAC","sourcesContent":["import { createContext } from 'react';\n\nimport { MenuProps } from '@pega/cosmos-react-core';\n\nconst ExpressionBuilderContext = createContext<{ accent: MenuProps['accent'] }>({\n accent: undefined\n});\n\nexport default ExpressionBuilderContext;\n"]}
@@ -0,0 +1,6 @@
1
+ import { FunctionComponent } from 'react';
2
+ import { ForwardProps } from '@pega/cosmos-react-core';
3
+ import { ExpressionDetailsProps } from './ExpressionBuilder.types';
4
+ declare const ExpressionDetails: FunctionComponent<ExpressionDetailsProps & ForwardProps>;
5
+ export default ExpressionDetails;
6
+ //# sourceMappingURL=ExpressionDetails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpressionDetails.d.ts","sourceRoot":"","sources":["../../../src/components/ExpressionBuilder/ExpressionDetails.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAwB,YAAY,EAAiB,MAAM,yBAAyB,CAAC;AAE5F,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAOnE,QAAA,MAAM,iBAAiB,EAAE,iBAAiB,CAAC,sBAAsB,GAAG,YAAY,CA8B/E,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { forwardRef } from 'react';
3
+ import { FieldValueList, Flex, Text, useI18n } from '@pega/cosmos-react-core';
4
+ import { StyledExpressionDetails, StyledInputParamsGroup, StyledParamsGroup } from './ExpressionBuilder.styles';
5
+ const ExpressionDetails = forwardRef(({ primary, inputParams, outputParams, ...restProps }, ref) => {
6
+ const t = useI18n();
7
+ return (_jsxs(Flex, { ...restProps, ref: ref, container: { direction: 'column' }, as: StyledExpressionDetails, children: [_jsx(FieldValueList, { fields: primary }), outputParams && (_jsxs(StyledParamsGroup, { children: [_jsx(Text, { variant: 'h4', children: t('output_parameters') }), _jsx(FieldValueList, { fields: outputParams })] })), inputParams && (_jsxs(StyledInputParamsGroup, { children: [_jsx(Text, { variant: 'h4', children: t('input_parameters') }), _jsx(Flex, { container: { direction: 'column', gap: 1 }, children: inputParams.map(({ id, renderer: Renderer, rendererProps }) => {
8
+ return _jsx(Renderer, { ...rendererProps }, id);
9
+ }) })] }))] }));
10
+ });
11
+ export default ExpressionDetails;
12
+ //# sourceMappingURL=ExpressionDetails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpressionDetails.js","sourceRoot":"","sources":["../../../src/components/ExpressionBuilder/ExpressionDetails.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAqB,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,IAAI,EAAgB,IAAI,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAG5F,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,iBAAiB,GAA6D,UAAU,CAC5F,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,SAAS,EAAE,EAAE,GAAkC,EAAE,EAAE;IAC3F,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IACpB,OAAO,CACL,MAAC,IAAI,OACC,SAAS,EACb,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAClC,EAAE,EAAE,uBAAuB,aAE3B,KAAC,cAAc,IAAC,MAAM,EAAE,OAAO,GAAI,EAClC,YAAY,IAAI,CACf,MAAC,iBAAiB,eAChB,KAAC,IAAI,IAAC,OAAO,EAAC,IAAI,YAAE,CAAC,CAAC,mBAAmB,CAAC,GAAQ,EAClD,KAAC,cAAc,IAAC,MAAM,EAAE,YAAY,GAAI,IACtB,CACrB,EACA,WAAW,IAAI,CACd,MAAC,sBAAsB,eACrB,KAAC,IAAI,IAAC,OAAO,EAAC,IAAI,YAAE,CAAC,CAAC,kBAAkB,CAAC,GAAQ,EACjD,KAAC,IAAI,IAAC,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,YAC7C,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE;4BAC7D,OAAO,KAAC,QAAQ,OAAc,aAAa,IAArB,EAAE,CAAuB,CAAC;wBAClD,CAAC,CAAC,GACG,IACgB,CAC1B,IACI,CACR,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,iBAAiB,CAAC","sourcesContent":["import { forwardRef, FunctionComponent } from 'react';\n\nimport { FieldValueList, Flex, ForwardProps, Text, useI18n } from '@pega/cosmos-react-core';\n\nimport { ExpressionDetailsProps } from './ExpressionBuilder.types';\nimport {\n StyledExpressionDetails,\n StyledInputParamsGroup,\n StyledParamsGroup\n} from './ExpressionBuilder.styles';\n\nconst ExpressionDetails: FunctionComponent<ExpressionDetailsProps & ForwardProps> = forwardRef(\n ({ primary, inputParams, outputParams, ...restProps }, ref: ExpressionDetailsProps['ref']) => {\n const t = useI18n();\n return (\n <Flex\n {...restProps}\n ref={ref}\n container={{ direction: 'column' }}\n as={StyledExpressionDetails}\n >\n <FieldValueList fields={primary} />\n {outputParams && (\n <StyledParamsGroup>\n <Text variant='h4'>{t('output_parameters')}</Text>\n <FieldValueList fields={outputParams} />\n </StyledParamsGroup>\n )}\n {inputParams && (\n <StyledInputParamsGroup>\n <Text variant='h4'>{t('input_parameters')}</Text>\n <Flex container={{ direction: 'column', gap: 1 }}>\n {inputParams.map(({ id, renderer: Renderer, rendererProps }) => {\n return <Renderer key={id} {...rendererProps} />;\n })}\n </Flex>\n </StyledInputParamsGroup>\n )}\n </Flex>\n );\n }\n);\n\nexport default ExpressionDetails;\n"]}
@@ -0,0 +1,6 @@
1
+ import { FunctionComponent } from 'react';
2
+ import { ForwardProps } from '@pega/cosmos-react-core';
3
+ import { ExpressionItemProps } from './ExpressionBuilder.types';
4
+ declare const ExpressionItem: FunctionComponent<ExpressionItemProps & ForwardProps>;
5
+ export default ExpressionItem;
6
+ //# sourceMappingURL=ExpressionItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpressionItem.d.ts","sourceRoot":"","sources":["../../../src/components/ExpressionBuilder/ExpressionItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAE/D,OAAO,EAIL,YAAY,EASb,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAYhE,QAAA,MAAM,cAAc,EAAE,iBAAiB,CAAC,mBAAmB,GAAG,YAAY,CAwGzE,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useContext, useMemo } from 'react';
3
+ import { Button, ExpandCollapse, Flex, Icon, Mark, registerIcon, replaceMatchWithElement, StyledLabel, Text, useDirection, useI18n } from '@pega/cosmos-react-core';
4
+ import * as caretRightIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/caret-right.icon';
5
+ import * as caretLeftIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/caret-left.icon';
6
+ import { StyledPrimaryText, StyledExpandCollapseContent, StyledExpressionSummary, StyledExpressionItem } from './ExpressionBuilder.styles';
7
+ import ExpressionDetails from './ExpressionDetails';
8
+ import ExpressionBuilderContext from './ExpressionBuilderContext';
9
+ registerIcon(caretLeftIcon, caretRightIcon);
10
+ const ExpressionItem = ({ id, primary, type, onAdd, onExpand, onCollapse, details, matchedField, expanded = false, ...restProps }) => {
11
+ const { end: caretDirection } = useDirection();
12
+ const t = useI18n();
13
+ const { accent } = useContext(ExpressionBuilderContext);
14
+ const accentedText = (text) => {
15
+ let accentedValue;
16
+ if (accent) {
17
+ const accentRegex = typeof accent === 'function' ? accent(text) : accent;
18
+ const accentedArr = replaceMatchWithElement(text, accentRegex, str => {
19
+ return _jsx(Mark, { children: str });
20
+ });
21
+ if (accentedArr.length > 1)
22
+ accentedValue = accentedArr;
23
+ return accentedValue;
24
+ }
25
+ return null;
26
+ };
27
+ const caretIcon = useMemo(() => {
28
+ return expanded ? 'caret-down' : `caret-${caretDirection}`;
29
+ }, [expanded, caretDirection]);
30
+ const accentedPrimary = accentedText(primary);
31
+ return (_jsxs(StyledExpressionItem, { expanded: expanded, children: [_jsxs(Flex, { ...restProps, as: StyledExpressionSummary, id: id, container: { gap: 1, alignItems: 'start' }, children: [_jsx(Button, { icon: true, variant: 'simple', onClick: onCollapse || onExpand
32
+ ? () => {
33
+ if (expanded) {
34
+ onCollapse?.(id);
35
+ }
36
+ else {
37
+ onExpand?.(id);
38
+ }
39
+ }
40
+ : undefined, "aria-label": `${type}: ${primary}`, "aria-expanded": expanded, label: expanded ? t('collapse') : t('expand'), children: _jsx(Icon, { name: caretIcon }) }), _jsxs(Flex, { container: { alignItems: 'start', direction: 'column' }, item: { grow: 1 }, children: [_jsx(StyledPrimaryText, { variant: 'primary', children: accentedPrimary || primary }), !accentedPrimary && matchedField && !expanded ? (_jsxs("div", { children: [_jsxs(StyledLabel, { as: 'span', children: [matchedField.name, ":"] }), accentedText(matchedField.value) || matchedField.value] })) : (_jsx(Text, { variant: 'secondary', children: type }))] }), !expanded && (_jsx(Button, { icon: true, variant: 'simple', onClick: () => onAdd(id), "aria-label": t('add_noun', [`${type}: ${primary}`]), label: t('add'), children: _jsx(Icon, { name: 'plus' }) }))] }), _jsx(ExpandCollapse, { collapsed: !expanded, children: _jsxs(Flex, { as: StyledExpandCollapseContent, container: { direction: 'column' }, children: [details && _jsx(ExpressionDetails, { ...details }), _jsx(Button, { variant: 'primary', onClick: () => onAdd(id), "aria-label": t('add_noun', [`${type}: ${primary}`]), children: t('add') })] }) })] }));
41
+ };
42
+ export default ExpressionItem;
43
+ //# sourceMappingURL=ExpressionItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpressionItem.js","sourceRoot":"","sources":["../../../src/components/ExpressionBuilder/ExpressionItem.tsx"],"names":[],"mappings":"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","sourcesContent":["import { FunctionComponent, useContext, useMemo } from 'react';\n\nimport {\n Button,\n ExpandCollapse,\n Flex,\n ForwardProps,\n Icon,\n Mark,\n registerIcon,\n replaceMatchWithElement,\n StyledLabel,\n Text,\n useDirection,\n useI18n\n} from '@pega/cosmos-react-core';\nimport * as caretRightIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/caret-right.icon';\nimport * as caretLeftIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/caret-left.icon';\n\nimport { ExpressionItemProps } from './ExpressionBuilder.types';\nimport {\n StyledPrimaryText,\n StyledExpandCollapseContent,\n StyledExpressionSummary,\n StyledExpressionItem\n} from './ExpressionBuilder.styles';\nimport ExpressionDetails from './ExpressionDetails';\nimport ExpressionBuilderContext from './ExpressionBuilderContext';\n\nregisterIcon(caretLeftIcon, caretRightIcon);\n\nconst ExpressionItem: FunctionComponent<ExpressionItemProps & ForwardProps> = ({\n id,\n primary,\n type,\n onAdd,\n onExpand,\n onCollapse,\n details,\n matchedField,\n expanded = false,\n ...restProps\n}) => {\n const { end: caretDirection } = useDirection();\n const t = useI18n();\n\n const { accent } = useContext(ExpressionBuilderContext);\n\n const accentedText = (text: string) => {\n let accentedValue;\n if (accent) {\n const accentRegex = typeof accent === 'function' ? accent(text) : accent;\n const accentedArr = replaceMatchWithElement(text, accentRegex, str => {\n return <Mark>{str}</Mark>;\n });\n\n if (accentedArr.length > 1) accentedValue = accentedArr;\n return accentedValue;\n }\n return null;\n };\n\n const caretIcon = useMemo(() => {\n return expanded ? 'caret-down' : `caret-${caretDirection}`;\n }, [expanded, caretDirection]);\n\n const accentedPrimary = accentedText(primary);\n\n return (\n <StyledExpressionItem expanded={expanded}>\n <Flex\n {...restProps}\n as={StyledExpressionSummary}\n id={id}\n container={{ gap: 1, alignItems: 'start' }}\n >\n <Button\n icon\n variant='simple'\n onClick={\n onCollapse || onExpand\n ? () => {\n if (expanded) {\n onCollapse?.(id);\n } else {\n onExpand?.(id);\n }\n }\n : undefined\n }\n aria-label={`${type}: ${primary}`}\n aria-expanded={expanded}\n label={expanded ? t('collapse') : t('expand')}\n >\n <Icon name={caretIcon} />\n </Button>\n\n <Flex container={{ alignItems: 'start', direction: 'column' }} item={{ grow: 1 }}>\n <StyledPrimaryText variant='primary'>{accentedPrimary || primary}</StyledPrimaryText>\n {!accentedPrimary && matchedField && !expanded ? (\n <div>\n <StyledLabel as='span'>{matchedField.name}:</StyledLabel>\n {accentedText(matchedField.value) || matchedField.value}\n </div>\n ) : (\n <Text variant='secondary'>{type}</Text>\n )}\n </Flex>\n\n {!expanded && (\n <Button\n icon\n variant='simple'\n onClick={() => onAdd(id)}\n aria-label={t('add_noun', [`${type}: ${primary}`])}\n label={t('add')}\n >\n <Icon name='plus' />\n </Button>\n )}\n </Flex>\n <ExpandCollapse collapsed={!expanded}>\n <Flex as={StyledExpandCollapseContent} container={{ direction: 'column' }}>\n {details && <ExpressionDetails {...details} />}\n <Button\n variant='primary'\n onClick={() => onAdd(id)}\n aria-label={t('add_noun', [`${type}: ${primary}`])}\n >\n {t('add')}\n </Button>\n </Flex>\n </ExpandCollapse>\n </StyledExpressionItem>\n );\n};\n\nexport default ExpressionItem;\n"]}
@@ -0,0 +1,6 @@
1
+ import { FunctionComponent } from 'react';
2
+ import { ForwardProps } from '@pega/cosmos-react-core';
3
+ import { ExpressionListProps } from './ExpressionBuilder.types';
4
+ declare const ExpressionList: FunctionComponent<ExpressionListProps & ForwardProps>;
5
+ export default ExpressionList;
6
+ //# sourceMappingURL=ExpressionList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpressionList.d.ts","sourceRoot":"","sources":["../../../src/components/ExpressionBuilder/ExpressionList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAAY,MAAM,OAAO,CAAC;AAEhE,OAAO,EAAc,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAuB,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAIrF,QAAA,MAAM,cAAc,EAAE,iBAAiB,CAAC,mBAAmB,GAAG,YAAY,CA+CzE,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createElement as _createElement } from "react";
3
+ import { forwardRef, useState } from 'react';
4
+ import { EmptyState } from '@pega/cosmos-react-core';
5
+ import ExpressionItem from './ExpressionItem';
6
+ import { StyledExpressionList } from './ExpressionBuilder.styles';
7
+ const ExpressionList = forwardRef(({ items, emptyText, onItemAdd, onItemExpand, onItemCollapse, details, ...restProps }, ref) => {
8
+ const [expandedItems, setExpandedItems] = useState([]);
9
+ const handleItemExpand = (id) => {
10
+ setExpandedItems(prev => {
11
+ const itemIndex = prev.indexOf(id);
12
+ if (itemIndex !== -1)
13
+ return prev;
14
+ onItemExpand?.(id);
15
+ return [...prev, id];
16
+ });
17
+ };
18
+ const handleItemCollapse = (id) => {
19
+ setExpandedItems(prev => {
20
+ const itemIndex = prev.indexOf(id);
21
+ if (itemIndex === -1)
22
+ return prev;
23
+ onItemCollapse?.(id);
24
+ return prev.filter(itemId => itemId !== id);
25
+ });
26
+ };
27
+ return (_jsx(StyledExpressionList, { ...restProps, ref: ref, children: items && items.length > 0 ? (items.map(item => {
28
+ return (_createElement(ExpressionItem, { ...item, onAdd: onItemAdd, onExpand: handleItemExpand, onCollapse: handleItemCollapse, expanded: expandedItems.includes(item.id), key: item.id, details: details?.[item.id] }));
29
+ })) : (_jsx(EmptyState, { message: emptyText })) }));
30
+ });
31
+ export default ExpressionList;
32
+ //# sourceMappingURL=ExpressionList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpressionList.js","sourceRoot":"","sources":["../../../src/components/ExpressionBuilder/ExpressionList.tsx"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAqB,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAgB,MAAM,yBAAyB,CAAC;AAGnE,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,cAAc,GAA0D,UAAU,CACtF,CACE,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,EACpF,GAA+B,EAC/B,EAAE;IACF,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAA8B,EAAE,CAAC,CAAC;IAEpF,MAAM,gBAAgB,GAAG,CAAC,EAA6B,EAAE,EAAE;QACzD,gBAAgB,CAAC,IAAI,CAAC,EAAE;YACtB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACnC,IAAI,SAAS,KAAK,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YAClC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;YACnB,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,EAA6B,EAAE,EAAE;QAC3D,gBAAgB,CAAC,IAAI,CAAC,EAAE;YACtB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACnC,IAAI,SAAS,KAAK,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YAClC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;YACrB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,oBAAoB,OAAK,SAAS,EAAE,GAAG,EAAE,GAAG,YAC1C,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAC3B,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACf,OAAO,CACL,eAAC,cAAc,OACT,IAAI,EACR,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,gBAAgB,EAC1B,UAAU,EAAE,kBAAkB,EAC9B,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EACzC,GAAG,EAAE,IAAI,CAAC,EAAE,EACZ,OAAO,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAC3B,CACH,CAAC;QACJ,CAAC,CAAC,CACH,CAAC,CAAC,CAAC,CACF,KAAC,UAAU,IAAC,OAAO,EAAE,SAAS,GAAI,CACnC,GACoB,CACxB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,cAAc,CAAC","sourcesContent":["import { forwardRef, FunctionComponent, useState } from 'react';\n\nimport { EmptyState, ForwardProps } from '@pega/cosmos-react-core';\n\nimport { ExpressionItemProps, ExpressionListProps } from './ExpressionBuilder.types';\nimport ExpressionItem from './ExpressionItem';\nimport { StyledExpressionList } from './ExpressionBuilder.styles';\n\nconst ExpressionList: FunctionComponent<ExpressionListProps & ForwardProps> = forwardRef(\n (\n { items, emptyText, onItemAdd, onItemExpand, onItemCollapse, details, ...restProps },\n ref: ExpressionListProps['ref']\n ) => {\n const [expandedItems, setExpandedItems] = useState<ExpressionItemProps['id'][]>([]);\n\n const handleItemExpand = (id: ExpressionItemProps['id']) => {\n setExpandedItems(prev => {\n const itemIndex = prev.indexOf(id);\n if (itemIndex !== -1) return prev;\n onItemExpand?.(id);\n return [...prev, id];\n });\n };\n\n const handleItemCollapse = (id: ExpressionItemProps['id']) => {\n setExpandedItems(prev => {\n const itemIndex = prev.indexOf(id);\n if (itemIndex === -1) return prev;\n onItemCollapse?.(id);\n return prev.filter(itemId => itemId !== id);\n });\n };\n\n return (\n <StyledExpressionList {...restProps} ref={ref}>\n {items && items.length > 0 ? (\n items.map(item => {\n return (\n <ExpressionItem\n {...item}\n onAdd={onItemAdd}\n onExpand={handleItemExpand}\n onCollapse={handleItemCollapse}\n expanded={expandedItems.includes(item.id)}\n key={item.id}\n details={details?.[item.id]}\n />\n );\n })\n ) : (\n <EmptyState message={emptyText} />\n )}\n </StyledExpressionList>\n );\n }\n);\n\nexport default ExpressionList;\n"]}
@@ -0,0 +1,8 @@
1
+ export { default } from './ExpressionBuilder';
2
+ export { ExpressionListProps, ExpressionItemProps, ExpressionBuilderProps, HandleValue, InputParams } from './ExpressionBuilder.types';
3
+ export { EditorState, CodeEditorProps } from './CodeEditor/CodeEditor.types';
4
+ export { default as ExpressionItem } from './ExpressionItem';
5
+ export { default as ExpressionList } from './ExpressionList';
6
+ export { default as ExpressionDetails } from './ExpressionDetails';
7
+ export { default as CodeEditor } from './CodeEditor/CodeEditor';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ExpressionBuilder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,WAAW,EACX,WAAW,EACZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { default } from './ExpressionBuilder';
2
+ export { default as ExpressionItem } from './ExpressionItem';
3
+ export { default as ExpressionList } from './ExpressionList';
4
+ export { default as ExpressionDetails } from './ExpressionDetails';
5
+ export { default as CodeEditor } from './CodeEditor/CodeEditor';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ExpressionBuilder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAS9C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC","sourcesContent":["export { default } from './ExpressionBuilder';\nexport {\n ExpressionListProps,\n ExpressionItemProps,\n ExpressionBuilderProps,\n HandleValue,\n InputParams\n} from './ExpressionBuilder.types';\nexport { EditorState, CodeEditorProps } from './CodeEditor/CodeEditor.types';\nexport { default as ExpressionItem } from './ExpressionItem';\nexport { default as ExpressionList } from './ExpressionList';\nexport { default as ExpressionDetails } from './ExpressionDetails';\nexport { default as CodeEditor } from './CodeEditor/CodeEditor';\n"]}
@@ -1,16 +1,18 @@
1
1
  import { FC, MouseEvent } from 'react';
2
- import { RendererNodeProps } from './Renderer/Renderer.types';
3
- export declare const StyledDot: import("styled-components").StyledComponent<import("react").FunctionComponent<import("@pega/cosmos-react-core").IconProps & import("@pega/cosmos-react-core").ForwardProps>, import("styled-components").DefaultTheme, {}, never>;
2
+ import { PlottedGraphNode } from './Renderer/Utils/GraphLayout';
3
+ export declare const StyledDot: import("styled-components").StyledComponent<import("react").FunctionComponent<import("@pega/cosmos-react-core").IconProps & import("@pega/cosmos-react-core").ForwardProps>, import("styled-components").DefaultTheme, {
4
+ highlight: boolean;
5
+ }, never>;
4
6
  export declare const StyledPlus: import("styled-components").StyledComponent<import("react").FunctionComponent<import("@pega/cosmos-react-core").IconProps & import("@pega/cosmos-react-core").ForwardProps>, import("styled-components").DefaultTheme, {}, never>;
5
7
  export declare const StyledWrapper: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
6
8
  export declare const StyledButton: import("styled-components").StyledComponent<import("react").FunctionComponent<import("@pega/cosmos-react-core").ButtonProps & import("@pega/cosmos-react-core").ForwardProps>, import("styled-components").DefaultTheme, {}, never>;
7
- interface AddBtnProps {
8
- addNodeHandler: (e: MouseEvent<HTMLButtonElement>) => void;
9
- }
10
- export interface AddNodeProps extends RendererNodeProps {
9
+ export interface AddNodeProps extends PlottedGraphNode {
11
10
  onClick?: (ev: Event) => void;
11
+ addNodeHandler: (e: MouseEvent<HTMLButtonElement>) => void;
12
+ highlight?: boolean;
12
13
  }
13
- export declare const StyledConnectorLabel: import("styled-components").StyledComponent<import("react").FunctionComponent<import("@pega/cosmos-react-core").TextProps & import("@pega/cosmos-react-core").ForwardProps>, import("styled-components").DefaultTheme, {}, never>;
14
- export declare const AddButton: FC<AddBtnProps>;
15
- export {};
14
+ export declare const StyledConnectorLabel: import("styled-components").StyledComponent<import("react").FunctionComponent<import("@pega/cosmos-react-core").TextProps & import("@pega/cosmos-react-core").ForwardProps>, import("styled-components").DefaultTheme, {
15
+ highlight: boolean;
16
+ }, never>;
17
+ export declare const AddButton: FC<Pick<AddNodeProps, 'addNodeHandler' | 'highlight'>>;
16
18
  //# sourceMappingURL=AddNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AddNode.d.ts","sourceRoot":"","sources":["../../../src/components/FlowModeller/AddNode.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAYvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,eAAO,MAAM,SAAS,mOAKpB,CAAC;AAIH,eAAO,MAAM,UAAU,mOAAiB,CAAC;AACzC,eAAO,MAAM,aAAa,yGAUxB,CAAC;AAIH,eAAO,MAAM,YAAY,qOAsBvB,CAAC;AAIH,UAAU,WAAW;IACnB,cAAc,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;CAC5D;AAED,MAAM,WAAW,YAAa,SAAQ,iBAAiB;IACrD,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,KAAK,IAAI,CAAC;CAC/B;AAED,eAAO,MAAM,oBAAoB,mOAQ/B,CAAC;AAIH,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,WAAW,CAWrC,CAAC"}
1
+ {"version":3,"file":"AddNode.d.ts","sourceRoot":"","sources":["../../../src/components/FlowModeller/AddNode.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAYvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,eAAO,MAAM,SAAS;eAA6B,OAAO;SAWxD,CAAC;AAIH,eAAO,MAAM,UAAU,mOAAiB,CAAC;AACzC,eAAO,MAAM,aAAa,yGAUxB,CAAC;AAIH,eAAO,MAAM,YAAY,qOAsBvB,CAAC;AAIH,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,KAAK,IAAI,CAAC;IAC9B,cAAc,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,oBAAoB;eAA6B,OAAO;SAQnE,CAAC;AAIH,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,GAAG,WAAW,CAAC,CAc5E,CAAC"}
@@ -1,10 +1,16 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import styled, { css } from 'styled-components';
3
3
  import { Button, defaultThemeProp, Flex, Icon, useI18n, StyledTooltip, Text } from '@pega/cosmos-react-core';
4
- export const StyledDot = styled(Icon)(({ theme }) => {
4
+ export const StyledDot = styled(Icon)(({ theme, highlight }) => {
5
5
  return css `
6
6
  position: absolute;
7
7
  color: ${theme.base.colors.slate.dark};
8
+ ${highlight &&
9
+ css `
10
+ {
11
+ color: ${theme.base.colors.red.dark};
12
+ }
13
+ `}
8
14
  `;
9
15
  });
10
16
  StyledDot.defaultProps = defaultThemeProp;
@@ -55,8 +61,8 @@ export const StyledConnectorLabel = styled(Text)(({ theme }) => {
55
61
  `;
56
62
  });
57
63
  StyledConnectorLabel.defaultProps = defaultThemeProp;
58
- export const AddButton = ({ addNodeHandler }) => {
64
+ export const AddButton = ({ addNodeHandler, highlight }) => {
59
65
  const t = useI18n();
60
- return (_jsx(Flex, { container: { justify: 'center' }, as: StyledWrapper, children: _jsxs(StyledButton, { label: t('add_node'), icon: true, onClick: addNodeHandler, children: [_jsx(StyledDot, { name: 'circle-solid' }, void 0), _jsx(StyledPlus, { name: 'plus' }, void 0)] }, void 0) }, void 0));
66
+ return (_jsx(Flex, { container: { justify: 'center' }, as: StyledWrapper, children: _jsxs(StyledButton, { label: t('add_node'), icon: true, onClick: addNodeHandler, children: [_jsx(StyledDot, { name: 'circle-solid', highlight: highlight }), _jsx(StyledPlus, { name: 'plus' })] }) }));
61
67
  };
62
68
  //# sourceMappingURL=AddNode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AddNode.js","sourceRoot":"","sources":["../../../src/components/FlowModeller/AddNode.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EACL,MAAM,EACN,gBAAgB,EAChB,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,aAAa,EACb,IAAI,EACL,MAAM,yBAAyB,CAAC;AAIjC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAClD,OAAO,GAAG,CAAA;;aAEC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;GACtC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAE1C,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA,EAAE,CAAC;AACzC,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACpD,OAAO,GAAG,CAAA;0BACc,KAAK,CAAC,IAAI,CAAC,OAAO;MACtC,aAAa;QACX,GAAG,CAAA;;;OAGJ;;GAEJ,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,aAAa,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAE9C,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACvD,OAAO,GAAG,CAAA;;;;aAIC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;MAC9B,UAAU;;;;;;;oBAOI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;QACnC,SAAS;;;QAGT,UAAU;;;;GAIf,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,YAAY,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAU7C,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC7D,OAAO,GAAG,CAAA;qBACS,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;kBAC9B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;aACjC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;;0BAEV,KAAK,CAAC,IAAI,CAAC,OAAO;GACzC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,oBAAoB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAErD,MAAM,CAAC,MAAM,SAAS,GAAoB,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE;IAC/D,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IAEpB,OAAO,CACL,KAAC,IAAI,IAAC,SAAS,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,aAAa,YACvD,MAAC,YAAY,IAAC,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,QAAC,OAAO,EAAE,cAAc,aAC9D,KAAC,SAAS,IAAC,IAAI,EAAC,cAAc,WAAG,EACjC,KAAC,UAAU,IAAC,IAAI,EAAC,MAAM,WAAG,YACb,WACV,CACR,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import styled, { css } from 'styled-components';\nimport { 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 { RendererNodeProps } from './Renderer/Renderer.types';\n\nexport const StyledDot = styled(Icon)(({ theme }) => {\n return css`\n position: absolute;\n color: ${theme.base.colors.slate.dark};\n `;\n});\n\nStyledDot.defaultProps = defaultThemeProp;\n\nexport const StyledPlus = styled(Icon)``;\nexport const StyledWrapper = styled.div(({ theme }) => {\n return css`\n margin-block-start: ${theme.base.spacing};\n ${StyledTooltip} {\n ${css`\n min-width: 12ch;\n text-align: center;\n `}\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 ${StyledPlus} {\n opacity: 0;\n }\n &:hover,\n &:active,\n &:focus {\n opacity: 1;\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\ninterface AddBtnProps {\n addNodeHandler: (e: MouseEvent<HTMLButtonElement>) => void;\n}\n\nexport interface AddNodeProps extends RendererNodeProps {\n onClick?: (ev: Event) => void;\n}\n\nexport const StyledConnectorLabel = styled(Text)(({ 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<AddBtnProps> = ({ addNodeHandler }) => {\n const t = useI18n();\n\n return (\n <Flex container={{ justify: 'center' }} as={StyledWrapper}>\n <StyledButton label={t('add_node')} icon onClick={addNodeHandler}>\n <StyledDot name='circle-solid' />\n <StyledPlus name='plus' />\n </StyledButton>\n </Flex>\n );\n};\n"]}
1
+ {"version":3,"file":"AddNode.js","sourceRoot":"","sources":["../../../src/components/FlowModeller/AddNode.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EACL,MAAM,EACN,gBAAgB,EAChB,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,aAAa,EACb,IAAI,EACL,MAAM,yBAAyB,CAAC;AAIjC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAyB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE;IACrF,OAAO,GAAG,CAAA;;aAEC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;MACnC,SAAS;QACX,GAAG,CAAA;;iBAEU,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI;;KAEtC;GACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAE1C,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA,EAAE,CAAC;AACzC,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACpD,OAAO,GAAG,CAAA;0BACc,KAAK,CAAC,IAAI,CAAC,OAAO;MACtC,aAAa;QACX,GAAG,CAAA;;;OAGJ;;GAEJ,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,aAAa,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAE9C,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACvD,OAAO,GAAG,CAAA;;;;aAIC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;MAC9B,UAAU;;;;;;;oBAOI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;QACnC,SAAS;;;QAGT,UAAU;;;;GAIf,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,YAAY,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAQ7C,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAyB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACrF,OAAO,GAAG,CAAA;qBACS,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;kBAC9B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;aACjC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;;0BAEV,KAAK,CAAC,IAAI,CAAC,OAAO;GACzC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,oBAAoB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAErD,MAAM,CAAC,MAAM,SAAS,GAA2D,CAAC,EAChF,cAAc,EACd,SAAS,EACV,EAAE,EAAE;IACH,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IAEpB,OAAO,CACL,KAAC,IAAI,IAAC,SAAS,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,aAAa,YACvD,MAAC,YAAY,IAAC,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,QAAC,OAAO,EAAE,cAAc,aAC9D,KAAC,SAAS,IAAC,IAAI,EAAC,cAAc,EAAC,SAAS,EAAE,SAAS,GAAI,EACvD,KAAC,UAAU,IAAC,IAAI,EAAC,MAAM,GAAG,IACb,GACV,CACR,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import styled, { css } from 'styled-components';\nimport { 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 { PlottedGraphNode } from './Renderer/Utils/GraphLayout';\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)``;\nexport const StyledWrapper = styled.div(({ theme }) => {\n return css`\n margin-block-start: ${theme.base.spacing};\n ${StyledTooltip} {\n ${css`\n min-width: 12ch;\n text-align: center;\n `}\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 ${StyledPlus} {\n opacity: 0;\n }\n &:hover,\n &:active,\n &:focus {\n opacity: 1;\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\n return (\n <Flex container={{ justify: 'center' }} as={StyledWrapper}>\n <StyledButton label={t('add_node')} icon onClick={addNodeHandler}>\n <StyledDot name='circle-solid' highlight={highlight} />\n <StyledPlus name='plus' />\n </StyledButton>\n </Flex>\n );\n};\n"]}