windmill-components 1.60.3 → 1.83.1

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 (632) hide show
  1. package/assets/app.css +15 -1
  2. package/common.d.ts +7 -3
  3. package/components/ApiConnectForm.svelte +66 -5
  4. package/components/AppConnect.svelte +26 -10
  5. package/components/ArgInput.svelte +56 -83
  6. package/components/ArgInput.svelte.d.ts +2 -3
  7. package/components/CliHelpBox.svelte +49 -0
  8. package/components/CliHelpBox.svelte.d.ts +14 -0
  9. package/components/DisplayResult.svelte +82 -11
  10. package/components/DisplayResult.svelte.d.ts +1 -0
  11. package/components/Dropdown.svelte +14 -4
  12. package/components/Editor.svelte +17 -10
  13. package/components/Editor.svelte.d.ts +0 -1
  14. package/components/EditorBar.svelte +129 -111
  15. package/components/FieldHeader.svelte +12 -9
  16. package/components/FieldHeader.svelte.d.ts +0 -4
  17. package/components/FlowBuilder.svelte +113 -39
  18. package/components/FlowBuilder.svelte.d.ts +5 -0
  19. package/components/FlowGraphViewer.svelte +6 -5
  20. package/components/FlowJobResult.svelte +13 -5
  21. package/components/FlowJobResult.svelte.d.ts +1 -0
  22. package/components/FlowMetadata.svelte +24 -8
  23. package/components/FlowPreviewContent.svelte +5 -11
  24. package/components/FlowStatusViewer.svelte +69 -21
  25. package/components/FlowStatusViewer.svelte.d.ts +1 -0
  26. package/components/FlowViewer.svelte +0 -1
  27. package/components/FolderEditor.svelte +4 -3
  28. package/components/FolderUsageInfo.svelte +16 -6
  29. package/components/FolderUsageInfo.svelte.d.ts +2 -0
  30. package/components/GroupEditor.svelte +8 -0
  31. package/components/HighlightCode.svelte +7 -1
  32. package/components/InlineCodeCopy.svelte +11 -0
  33. package/components/InlineCodeCopy.svelte.d.ts +16 -0
  34. package/components/InputTransformForm.svelte +22 -26
  35. package/components/InputTransformSchemaForm.svelte +103 -0
  36. package/components/InputTransformSchemaForm.svelte.d.ts +24 -0
  37. package/components/LightweightArgInput.svelte +302 -0
  38. package/components/LightweightArgInput.svelte.d.ts +45 -0
  39. package/components/LightweightSchemaForm.svelte +31 -0
  40. package/components/LightweightSchemaForm.svelte.d.ts +18 -0
  41. package/components/LogViewer.svelte +7 -1
  42. package/components/LogViewer.svelte.d.ts +1 -0
  43. package/components/ModulePreview.svelte +14 -3
  44. package/components/MoveDrawer.svelte +1 -1
  45. package/components/Multiselect.svelte +1 -1
  46. package/components/Multiselect.svelte.d.ts +2 -2
  47. package/components/ObjectResourceInput.svelte +6 -1
  48. package/components/PageHeader.svelte +1 -1
  49. package/components/Path.svelte +53 -17
  50. package/components/Popover.svelte +10 -15
  51. package/components/Popover.svelte.d.ts +1 -0
  52. package/components/Range.svelte.d.ts +2 -2
  53. package/components/ResourceEditor.svelte +39 -16
  54. package/components/ResourcePicker.svelte +33 -15
  55. package/components/RunChart.svelte +24 -5
  56. package/components/RunForm.svelte +26 -3
  57. package/components/RunForm.svelte.d.ts +2 -0
  58. package/components/ScheduleEditor.svelte +1 -1
  59. package/components/SchemaEditor.svelte +15 -10
  60. package/components/SchemaForm.svelte +72 -60
  61. package/components/SchemaForm.svelte.d.ts +1 -5
  62. package/components/ScriptBuilder.svelte +169 -130
  63. package/components/ScriptBuilder.svelte.d.ts +1 -0
  64. package/components/ScriptEditor.svelte +1 -0
  65. package/components/ScriptPicker.svelte +3 -0
  66. package/components/SettingSection.svelte +44 -0
  67. package/components/SettingSection.svelte.d.ts +21 -0
  68. package/components/SharedBadge.svelte +5 -5
  69. package/components/SimpleEditor.svelte +5 -3
  70. package/components/SimpleEditor.svelte.d.ts +4 -1
  71. package/components/Slider.svelte +19 -0
  72. package/components/Slider.svelte.d.ts +20 -0
  73. package/components/StringTypeNarrowing.svelte +0 -1
  74. package/components/SuperadminSettings.svelte +11 -3
  75. package/components/SuperadminSettings.svelte.d.ts +2 -0
  76. package/components/TemplateEditor.svelte +4 -2
  77. package/components/TemplateEditor.svelte.d.ts +205 -0
  78. package/components/TestJobLoader.svelte +5 -5
  79. package/components/Toggle.svelte +23 -8
  80. package/components/Toggle.svelte.d.ts +3 -1
  81. package/components/Tooltip.svelte +4 -2
  82. package/components/UserSettings.svelte +27 -28
  83. package/components/UserSettings.svelte.d.ts +2 -0
  84. package/components/VariableEditor.svelte +3 -2
  85. package/components/WhitelistIp.svelte +21 -0
  86. package/components/WhitelistIp.svelte.d.ts +14 -0
  87. package/components/apps/components/buttons/AppButton.svelte +89 -53
  88. package/components/apps/components/buttons/AppButton.svelte.d.ts +11 -3
  89. package/components/apps/components/{form → buttons}/AppForm.svelte +40 -33
  90. package/components/apps/components/{form → buttons}/AppForm.svelte.d.ts +4 -1
  91. package/components/apps/components/buttons/AppFormButton.svelte +125 -0
  92. package/components/apps/components/buttons/AppFormButton.svelte.d.ts +26 -0
  93. package/components/apps/components/buttons/index.d.ts +3 -0
  94. package/components/apps/components/buttons/index.js +3 -0
  95. package/components/apps/components/{dataDisplay → display}/AppBarChart.svelte +32 -9
  96. package/components/apps/components/{dataDisplay → display}/AppBarChart.svelte.d.ts +5 -3
  97. package/components/apps/components/display/AppDisplayComponent.svelte +46 -0
  98. package/components/apps/components/display/AppDisplayComponent.svelte.d.ts +22 -0
  99. package/components/apps/components/display/AppHtml.svelte +56 -0
  100. package/components/apps/components/{dataDisplay → display}/AppHtml.svelte.d.ts +6 -5
  101. package/components/apps/components/display/AppIcon.svelte +49 -0
  102. package/components/apps/components/display/AppIcon.svelte.d.ts +22 -0
  103. package/components/apps/components/display/AppImage.svelte +46 -0
  104. package/components/apps/components/display/AppImage.svelte.d.ts +22 -0
  105. package/components/apps/components/display/AppMap.svelte +221 -0
  106. package/components/apps/components/display/AppMap.svelte.d.ts +20 -0
  107. package/components/apps/components/display/AppPdf.svelte +310 -0
  108. package/components/apps/components/display/AppPdf.svelte.d.ts +21 -0
  109. package/components/apps/components/{dataDisplay → display}/AppPieChart.svelte +21 -8
  110. package/components/apps/components/{dataDisplay → display}/AppPieChart.svelte.d.ts +5 -3
  111. package/components/apps/components/{dataDisplay → display}/AppScatterChart.svelte +18 -5
  112. package/components/apps/components/{dataDisplay → display}/AppScatterChart.svelte.d.ts +5 -3
  113. package/components/apps/components/display/AppText.svelte +131 -0
  114. package/components/apps/components/{dataDisplay → display}/AppText.svelte.d.ts +5 -3
  115. package/components/apps/components/{dataDisplay → display}/AppTimeseries.svelte +19 -6
  116. package/components/apps/components/{dataDisplay → display}/AppTimeseries.svelte.d.ts +5 -3
  117. package/components/apps/components/display/PlotlyHtml.svelte +54 -0
  118. package/components/apps/components/display/PlotlyHtml.svelte.d.ts +24 -0
  119. package/components/apps/components/display/VegaLiteHtml.svelte +52 -0
  120. package/components/apps/components/{dataDisplay → display}/VegaLiteHtml.svelte.d.ts +6 -5
  121. package/components/apps/components/display/index.d.ts +15 -0
  122. package/components/apps/components/display/index.js +15 -0
  123. package/components/apps/components/display/table/AppAggridTable.svelte +100 -0
  124. package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +24 -0
  125. package/components/apps/components/display/table/AppTable.svelte +354 -0
  126. package/components/apps/components/{table → display/table}/AppTable.svelte.d.ts +7 -5
  127. package/components/apps/components/{table → display/table}/AppTableFooter.svelte +11 -3
  128. package/components/apps/components/{table → display/table}/AppTableFooter.svelte.d.ts +3 -0
  129. package/components/apps/components/{table → display/table}/tableOptions.js +1 -1
  130. package/components/apps/components/helpers/AlignWrapper.svelte +29 -23
  131. package/components/apps/components/helpers/AlignWrapper.svelte.d.ts +6 -2
  132. package/components/apps/components/helpers/DebouncedInput.svelte +1 -0
  133. package/components/apps/components/helpers/DebouncedInput.svelte.d.ts +2 -0
  134. package/components/apps/components/helpers/HiddenComponent.svelte +36 -0
  135. package/components/apps/components/helpers/HiddenComponent.svelte.d.ts +25 -0
  136. package/components/apps/components/helpers/InputDefaultValue.svelte +17 -0
  137. package/components/apps/components/helpers/InputDefaultValue.svelte.d.ts +17 -0
  138. package/components/apps/components/helpers/InputValue.svelte +62 -54
  139. package/components/apps/components/helpers/InputValue.svelte.d.ts +6 -4
  140. package/components/apps/components/helpers/Loader.svelte +18 -0
  141. package/components/apps/components/helpers/Loader.svelte.d.ts +18 -0
  142. package/components/apps/components/helpers/NonRunnableComponent.svelte +12 -8
  143. package/components/apps/components/helpers/NonRunnableComponent.svelte.d.ts +1 -0
  144. package/components/apps/components/helpers/RefreshButton.svelte +4 -12
  145. package/components/apps/components/helpers/RefreshButton.svelte.d.ts +1 -0
  146. package/components/apps/components/helpers/ResizeWrapper.svelte +23 -0
  147. package/components/apps/components/helpers/ResizeWrapper.svelte.d.ts +19 -0
  148. package/components/apps/components/helpers/ResolveConfig.svelte +29 -0
  149. package/components/apps/components/helpers/ResolveConfig.svelte.d.ts +21 -0
  150. package/components/apps/components/helpers/RunnableComponent.svelte +210 -164
  151. package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +18 -3
  152. package/components/apps/components/helpers/RunnableWrapper.svelte +61 -11
  153. package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +31 -3
  154. package/components/apps/components/helpers/eval.d.ts +7 -0
  155. package/components/apps/components/helpers/eval.js +94 -0
  156. package/components/apps/components/helpers/index.d.ts +10 -0
  157. package/components/apps/components/helpers/index.js +10 -0
  158. package/components/apps/components/icon.d.ts +1 -0
  159. package/components/apps/components/icon.js +18 -0
  160. package/components/apps/components/index.d.ts +5 -0
  161. package/components/apps/components/index.js +5 -0
  162. package/components/apps/components/inputs/AppCheckbox.svelte +38 -0
  163. package/components/apps/components/{selectInputs → inputs}/AppCheckbox.svelte.d.ts +4 -4
  164. package/components/apps/components/inputs/AppDateInput.svelte +49 -0
  165. package/components/apps/components/{dateInputs → inputs}/AppDateInput.svelte.d.ts +7 -5
  166. package/components/apps/components/inputs/AppFileInput.svelte +44 -0
  167. package/components/apps/components/inputs/AppFileInput.svelte.d.ts +20 -0
  168. package/components/apps/components/inputs/AppMultiSelect.svelte +93 -0
  169. package/components/apps/components/inputs/AppMultiSelect.svelte.d.ts +22 -0
  170. package/components/apps/components/inputs/AppNumberInput.svelte +54 -0
  171. package/components/apps/components/{numberInputs → inputs}/AppNumberInput.svelte.d.ts +4 -4
  172. package/components/apps/components/inputs/AppRangeInput.svelte +94 -0
  173. package/components/apps/components/inputs/AppRangeInput.svelte.d.ts +24 -0
  174. package/components/apps/components/inputs/AppSelect.svelte +144 -0
  175. package/components/apps/components/{selectInputs → inputs}/AppSelect.svelte.d.ts +4 -4
  176. package/components/apps/components/inputs/AppSliderInputs.svelte +81 -0
  177. package/components/apps/components/{numberInputs → inputs}/AppSliderInputs.svelte.d.ts +5 -4
  178. package/components/apps/components/inputs/AppTextInput.svelte +83 -0
  179. package/components/apps/components/{textInputs → inputs}/AppTextInput.svelte.d.ts +5 -4
  180. package/components/apps/components/inputs/currency/AppCurrencyInput.svelte +60 -0
  181. package/components/apps/components/inputs/currency/AppCurrencyInput.svelte.d.ts +21 -0
  182. package/components/apps/components/inputs/currency/CurrencyInput.svelte +183 -0
  183. package/components/apps/components/inputs/currency/CurrencyInput.svelte.d.ts +33 -0
  184. package/components/apps/components/inputs/index.d.ts +9 -0
  185. package/components/apps/components/inputs/index.js +9 -0
  186. package/components/apps/components/layout/AppContainer.svelte +38 -0
  187. package/components/apps/components/layout/AppContainer.svelte.d.ts +20 -0
  188. package/components/apps/components/layout/AppDivider.svelte +43 -0
  189. package/components/apps/components/layout/AppDivider.svelte.d.ts +23 -0
  190. package/components/apps/components/layout/AppDrawer.svelte +90 -0
  191. package/components/apps/components/layout/AppDrawer.svelte.d.ts +23 -0
  192. package/components/apps/components/layout/AppSplitpanes.svelte +93 -0
  193. package/components/apps/components/layout/AppSplitpanes.svelte.d.ts +22 -0
  194. package/components/apps/components/layout/AppTabs.svelte +115 -0
  195. package/components/apps/components/layout/AppTabs.svelte.d.ts +24 -0
  196. package/components/apps/components/layout/index.d.ts +5 -0
  197. package/components/apps/components/layout/index.js +5 -0
  198. package/components/apps/editor/AppComponentInput.svelte +34 -0
  199. package/components/apps/editor/AppComponentInput.svelte.d.ts +18 -0
  200. package/components/apps/editor/AppEditor.svelte +244 -128
  201. package/components/apps/editor/AppEditor.svelte.d.ts +4 -1
  202. package/components/apps/editor/AppEditorHeader.svelte +213 -70
  203. package/components/apps/editor/AppEditorHeader.svelte.d.ts +1 -0
  204. package/components/apps/editor/AppInputs.svelte +59 -0
  205. package/components/apps/editor/AppInputs.svelte.d.ts +14 -0
  206. package/components/apps/editor/AppPreview.svelte +120 -20
  207. package/components/apps/editor/AppPreview.svelte.d.ts +2 -0
  208. package/components/apps/editor/ComponentHeader.svelte +92 -36
  209. package/components/apps/editor/ComponentHeader.svelte.d.ts +4 -2
  210. package/components/apps/editor/ConnectionInstructions.svelte +29 -0
  211. package/components/apps/editor/ConnectionInstructions.svelte.d.ts +14 -0
  212. package/components/apps/editor/GridEditor.svelte +102 -105
  213. package/components/apps/editor/GridViewer.svelte +91 -0
  214. package/components/apps/editor/GridViewer.svelte.d.ts +32 -0
  215. package/components/apps/editor/RecomputeAllComponents.svelte +26 -9
  216. package/components/apps/editor/SettingsPanel.svelte +115 -10
  217. package/components/apps/editor/SubGridEditor.svelte +146 -0
  218. package/components/apps/editor/SubGridEditor.svelte.d.ts +27 -0
  219. package/components/apps/editor/appUtils.d.ts +73 -0
  220. package/components/apps/editor/appUtils.js +437 -0
  221. package/components/apps/editor/component/Component.svelte +417 -0
  222. package/components/apps/editor/component/Component.svelte.d.ts +24 -0
  223. package/components/apps/editor/component/ComponentNavigation.svelte +201 -0
  224. package/components/apps/editor/component/ComponentNavigation.svelte.d.ts +14 -0
  225. package/components/apps/editor/component/ComponentWrapper.svelte +59 -0
  226. package/components/apps/editor/component/ComponentWrapper.svelte.d.ts +20 -0
  227. package/components/apps/editor/component/README.md +19 -0
  228. package/components/apps/editor/component/components.d.ts +1628 -0
  229. package/components/apps/editor/component/components.js +1425 -0
  230. package/components/apps/editor/component/default-codes.d.ts +3 -0
  231. package/components/apps/editor/component/default-codes.js +322 -0
  232. package/components/apps/editor/component/index.d.ts +4 -0
  233. package/components/apps/editor/component/index.js +4 -0
  234. package/components/apps/editor/component/sets.d.ts +2 -0
  235. package/components/apps/editor/component/sets.js +56 -0
  236. package/components/apps/editor/componentsPanel/ComponentList.svelte +92 -108
  237. package/components/apps/editor/componentsPanel/CssProperty.svelte +83 -0
  238. package/components/apps/editor/componentsPanel/CssProperty.svelte.d.ts +24 -0
  239. package/components/apps/editor/componentsPanel/CssSettings.svelte +147 -0
  240. package/components/apps/editor/componentsPanel/CssSettings.svelte.d.ts +14 -0
  241. package/components/apps/editor/componentsPanel/ListItem.svelte +42 -0
  242. package/components/apps/editor/componentsPanel/ListItem.svelte.d.ts +22 -0
  243. package/components/apps/editor/componentsPanel/QuickStyleMenu.svelte +170 -0
  244. package/components/apps/editor/componentsPanel/QuickStyleMenu.svelte.d.ts +18 -0
  245. package/components/apps/editor/componentsPanel/QuickStyleProperty.svelte +130 -0
  246. package/components/apps/editor/componentsPanel/QuickStyleProperty.svelte.d.ts +21 -0
  247. package/components/apps/editor/componentsPanel/quickStyleProperties.d.ts +535 -0
  248. package/components/apps/editor/componentsPanel/quickStyleProperties.js +598 -0
  249. package/components/apps/editor/componentsPanel/store.js +4 -4
  250. package/components/apps/editor/contextPanel/ComponentOutput.svelte +43 -0
  251. package/components/apps/editor/contextPanel/ComponentOutput.svelte.d.ts +20 -0
  252. package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +19 -12
  253. package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte.d.ts +0 -1
  254. package/components/apps/editor/contextPanel/ContextPanel.svelte +63 -85
  255. package/components/apps/editor/contextPanel/SubGridOutput.svelte +66 -0
  256. package/components/apps/editor/contextPanel/SubGridOutput.svelte.d.ts +19 -0
  257. package/components/apps/editor/contextPanel/components/BackgroundScriptOutput.svelte +18 -0
  258. package/components/apps/editor/contextPanel/components/BackgroundScriptOutput.svelte.d.ts +18 -0
  259. package/components/apps/editor/contextPanel/components/BackgroundScriptsOutput.svelte +8 -0
  260. package/components/apps/editor/contextPanel/components/BackgroundScriptsOutput.svelte.d.ts +14 -0
  261. package/components/apps/editor/contextPanel/components/OutputHeader.svelte +107 -0
  262. package/components/apps/editor/contextPanel/components/OutputHeader.svelte.d.ts +23 -0
  263. package/components/apps/editor/contextPanel/components/TableActionOutput.svelte +17 -0
  264. package/components/apps/editor/contextPanel/components/TableActionOutput.svelte.d.ts +17 -0
  265. package/components/apps/editor/contextPanel/components/TableActionsOutput.svelte +13 -0
  266. package/components/apps/editor/contextPanel/components/TableActionsOutput.svelte.d.ts +17 -0
  267. package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +138 -12
  268. package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte.d.ts +2 -1
  269. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +193 -88
  270. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +7 -1
  271. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte +1 -1
  272. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +133 -42
  273. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte.d.ts +3 -0
  274. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +61 -31
  275. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +181 -75
  276. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte.d.ts +1 -3
  277. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelWithTable.svelte +29 -0
  278. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelWithTable.svelte.d.ts +17 -0
  279. package/components/apps/editor/inlineScriptsPanel/utils.d.ts +7 -5
  280. package/components/apps/editor/inlineScriptsPanel/utils.js +51 -9
  281. package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +11 -3
  282. package/components/apps/editor/settingsPanel/AlignmentEditor.svelte.d.ts +1 -1
  283. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +57 -44
  284. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +6 -39
  285. package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +1 -1
  286. package/components/apps/editor/settingsPanel/ComponentPanel.svelte +226 -101
  287. package/components/apps/editor/settingsPanel/ComponentPanel.svelte.d.ts +8 -3
  288. package/components/apps/editor/settingsPanel/GridPane.svelte +73 -0
  289. package/components/apps/editor/settingsPanel/GridPane.svelte.d.ts +20 -0
  290. package/components/apps/editor/settingsPanel/GridTab.svelte +61 -0
  291. package/components/apps/editor/settingsPanel/GridTab.svelte.d.ts +20 -0
  292. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +131 -11
  293. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +18 -2
  294. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +36 -100
  295. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +4 -2
  296. package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte +52 -0
  297. package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte.d.ts +28 -0
  298. package/components/apps/editor/settingsPanel/Recompute.svelte +6 -2
  299. package/components/apps/editor/settingsPanel/SelectedRunnable.svelte +74 -21
  300. package/components/apps/editor/settingsPanel/SelectedRunnable.svelte.d.ts +2 -0
  301. package/components/apps/editor/settingsPanel/StylePanel.svelte +61 -0
  302. package/components/apps/editor/settingsPanel/StylePanel.svelte.d.ts +17 -0
  303. package/components/apps/editor/settingsPanel/SubTypeEditor.svelte +7 -5
  304. package/components/apps/editor/settingsPanel/SubTypeEditor.svelte.d.ts +3 -2
  305. package/components/apps/editor/settingsPanel/TableActionLabel.svelte.d.ts +2 -2
  306. package/components/apps/editor/settingsPanel/TableActions.svelte +28 -47
  307. package/components/apps/editor/settingsPanel/TableActions.svelte.d.ts +2 -1
  308. package/components/apps/editor/settingsPanel/common/PanelSection.svelte +7 -6
  309. package/components/apps/editor/settingsPanel/common/PanelSection.svelte.d.ts +0 -1
  310. package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte +48 -0
  311. package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte.d.ts +18 -0
  312. package/components/apps/editor/settingsPanel/inputEditor/ConnectedInputEditor.svelte +4 -8
  313. package/components/apps/editor/settingsPanel/inputEditor/EvalInputEditor.svelte +7 -3
  314. package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +119 -0
  315. package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte.d.ts +19 -0
  316. package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte +5 -4
  317. package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte.d.ts +8 -2
  318. package/components/apps/editor/settingsPanel/inputEditor/RunnableInputEditor.svelte +5 -5
  319. package/components/apps/editor/settingsPanel/inputEditor/RunnableInputEditor.svelte.d.ts +2 -0
  320. package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +98 -23
  321. package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte.d.ts +11 -2
  322. package/components/apps/editor/settingsPanel/inputEditor/TabSelectInput.svelte +46 -0
  323. package/components/apps/editor/settingsPanel/inputEditor/TabSelectInput.svelte.d.ts +20 -0
  324. package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte +21 -0
  325. package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte.d.ts +17 -0
  326. package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte +1 -0
  327. package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte.d.ts +1 -0
  328. package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +11 -21
  329. package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte.d.ts +1 -0
  330. package/components/apps/editor/settingsPanel/secondaryMenu/SecondaryMenu.svelte +47 -0
  331. package/components/apps/editor/settingsPanel/secondaryMenu/SecondaryMenu.svelte.d.ts +14 -0
  332. package/components/apps/editor/settingsPanel/secondaryMenu/index.d.ts +2 -0
  333. package/components/apps/editor/settingsPanel/secondaryMenu/index.js +2 -0
  334. package/components/apps/editor/settingsPanel/secondaryMenu/menuStore.d.ts +13 -0
  335. package/components/apps/editor/settingsPanel/secondaryMenu/menuStore.js +16 -0
  336. package/components/apps/editor/settingsPanel/triggerLists/BackgroundScriptTriggerList.svelte +31 -0
  337. package/components/apps/editor/settingsPanel/triggerLists/BackgroundScriptTriggerList.svelte.d.ts +22 -0
  338. package/components/apps/editor/settingsPanel/triggerLists/ComponentTriggerList.svelte +24 -0
  339. package/components/apps/editor/settingsPanel/triggerLists/ComponentTriggerList.svelte.d.ts +21 -0
  340. package/components/apps/editor/settingsPanel/triggerLists/TriggerBadgesList.svelte +156 -0
  341. package/components/apps/editor/settingsPanel/triggerLists/TriggerBadgesList.svelte.d.ts +22 -0
  342. package/components/apps/editor/settingsPanel/triggerLists/triggerListUtils.d.ts +2 -0
  343. package/components/apps/editor/settingsPanel/triggerLists/triggerListUtils.js +11 -0
  344. package/components/apps/gridUtils.d.ts +3 -3
  345. package/components/apps/gridUtils.js +6 -18
  346. package/components/apps/inputType.d.ts +48 -15
  347. package/components/apps/rx.d.ts +11 -7
  348. package/components/apps/rx.js +45 -19
  349. package/components/apps/store.d.ts +6 -1
  350. package/components/apps/svelte-grid/Grid.svelte +179 -0
  351. package/components/apps/svelte-grid/Grid.svelte.d.ts +50 -0
  352. package/components/apps/svelte-grid/LICENSE +23 -0
  353. package/components/apps/svelte-grid/MoveResize.svelte +343 -0
  354. package/components/apps/svelte-grid/MoveResize.svelte.d.ts +48 -0
  355. package/components/apps/svelte-grid/types.d.ts +15 -0
  356. package/components/apps/svelte-grid/utils/container.d.ts +1 -0
  357. package/components/apps/svelte-grid/utils/container.js +4 -0
  358. package/components/apps/svelte-grid/utils/helper.d.ts +9 -0
  359. package/components/apps/svelte-grid/utils/helper.js +29 -0
  360. package/components/apps/svelte-grid/utils/item.d.ts +14 -0
  361. package/components/apps/svelte-grid/utils/item.js +192 -0
  362. package/components/apps/svelte-grid/utils/matrix.d.ts +6 -0
  363. package/components/apps/svelte-grid/utils/matrix.js +53 -0
  364. package/components/apps/svelte-grid/utils/other.d.ts +3 -0
  365. package/components/apps/svelte-grid/utils/other.js +30 -0
  366. package/components/apps/types.d.ts +91 -59
  367. package/components/apps/types.js +1 -1
  368. package/components/apps/utils.d.ts +9 -6
  369. package/components/apps/utils.js +109 -97
  370. package/components/common/CloseButton.svelte +18 -0
  371. package/components/common/CloseButton.svelte.d.ts +27 -0
  372. package/components/common/badge/Badge.svelte +6 -1
  373. package/components/common/badge/Badge.svelte.d.ts +1 -0
  374. package/components/common/button/Button.svelte +12 -5
  375. package/components/common/button/Button.svelte.d.ts +3 -1
  376. package/components/common/button/ButtonPopup.svelte +7 -2
  377. package/components/common/button/ButtonPopup.svelte.d.ts +7 -2
  378. package/components/common/button/ButtonPopupItem.svelte +2 -1
  379. package/components/common/button/ButtonPopupItem.svelte.d.ts +1 -0
  380. package/components/common/button/UndoRedo.svelte +32 -0
  381. package/components/common/button/UndoRedo.svelte.d.ts +20 -0
  382. package/components/common/button/model.d.ts +2 -2
  383. package/components/common/button/model.js +21 -6
  384. package/components/common/clearableInput/ClearableInput.svelte +56 -0
  385. package/components/common/clearableInput/ClearableInput.svelte.d.ts +28 -0
  386. package/components/common/confirmationModal/ConfirmationModal.svelte +8 -1
  387. package/components/common/confirmationModal/UnsavedConfirmationModal.svelte +4 -4
  388. package/components/common/drawer/Drawer.svelte +13 -5
  389. package/components/common/drawer/Drawer.svelte.d.ts +3 -1
  390. package/components/common/drawer/DrawerContent.svelte +2 -7
  391. package/components/common/fileInput/FileInput.svelte +138 -0
  392. package/components/common/fileInput/FileInput.svelte.d.ts +29 -0
  393. package/components/common/fileInput/model.d.ts +1 -0
  394. package/components/common/fileInput/model.js +1 -0
  395. package/components/common/index.d.ts +3 -0
  396. package/components/common/index.js +3 -0
  397. package/components/common/kbd/Kbd.svelte +4 -1
  398. package/components/common/kbd/Kbd.svelte.d.ts +7 -15
  399. package/components/common/languageIcons/JavaScript.svelte +11 -0
  400. package/components/common/languageIcons/JavaScript.svelte.d.ts +25 -0
  401. package/components/common/languageIcons/LanguageIcon.svelte +3 -1
  402. package/components/common/languageIcons/LanguageIcon.svelte.d.ts +1 -1
  403. package/components/common/menu/Menu.svelte +11 -4
  404. package/components/common/menu/Menu.svelte.d.ts +5 -1
  405. package/components/common/modal/AlwaysMountedModal.svelte +109 -0
  406. package/components/common/modal/AlwaysMountedModal.svelte.d.ts +22 -0
  407. package/components/common/modal/Modal.svelte +79 -0
  408. package/components/common/modal/Modal.svelte.d.ts +24 -0
  409. package/components/common/popup/Popup.svelte +35 -17
  410. package/components/common/popup/Popup.svelte.d.ts +20 -4
  411. package/components/common/skeleton/Skeleton.svelte +1 -1
  412. package/components/common/table/AppRow.svelte +14 -8
  413. package/components/common/table/AppRow.svelte.d.ts +1 -0
  414. package/components/common/table/FlowRow.svelte +41 -12
  415. package/components/common/table/FlowRow.svelte.d.ts +1 -0
  416. package/components/common/table/LanguageBadge.svelte +10 -4
  417. package/components/common/table/Row.svelte +1 -1
  418. package/components/common/table/ScriptRow.svelte +45 -16
  419. package/components/common/table/ScriptRow.svelte.d.ts +1 -0
  420. package/components/common/tabs/Tab.svelte +13 -5
  421. package/components/common/tabs/Tab.svelte.d.ts +6 -1
  422. package/components/common/tabs/Tabs.svelte +12 -8
  423. package/components/common/tabs/Tabs.svelte.d.ts +6 -2
  424. package/components/flows/CreateActionsFlow.svelte +2 -3
  425. package/components/flows/FlowEditor.svelte +6 -4
  426. package/components/flows/common/FlowCardHeader.svelte +4 -1
  427. package/components/flows/content/BranchPredicateEditor.svelte +13 -12
  428. package/components/flows/content/CapturePayload.svelte +4 -5
  429. package/components/flows/content/FlowBranchesAllWrapper.svelte +1 -1
  430. package/components/flows/content/FlowConstants.svelte +7 -13
  431. package/components/flows/content/FlowEditorPanel.svelte +4 -3
  432. package/components/flows/content/FlowFailureModule.svelte +2 -1
  433. package/components/flows/content/FlowInput.svelte +4 -2
  434. package/components/flows/content/FlowInputs.svelte +109 -99
  435. package/components/flows/content/FlowLoop.svelte +4 -5
  436. package/components/flows/content/FlowModuleComponent.svelte +26 -13
  437. package/components/flows/content/FlowModuleEarlyStop.svelte +3 -1
  438. package/components/flows/content/FlowModuleHeader.svelte +26 -3
  439. package/components/flows/content/FlowModuleHeader.svelte.d.ts +1 -0
  440. package/components/flows/content/FlowModuleSleep.svelte +2 -2
  441. package/components/flows/content/FlowModuleWrapper.svelte +2 -8
  442. package/components/flows/content/FlowRetries.svelte +8 -6
  443. package/components/flows/content/FlowSchedules.svelte +1 -2
  444. package/components/flows/content/FlowSettings.svelte +77 -51
  445. package/components/flows/content/ScriptEditorDrawer.svelte +98 -0
  446. package/components/flows/content/ScriptEditorDrawer.svelte.d.ts +19 -0
  447. package/components/flows/flowState.d.ts +2 -2
  448. package/components/flows/flowState.js +1 -3
  449. package/components/flows/flowStateUtils.d.ts +7 -6
  450. package/components/flows/flowStateUtils.js +17 -12
  451. package/components/flows/flowStore.d.ts +5 -3
  452. package/components/flows/flowStore.js +6 -17
  453. package/components/flows/header/FlowImportExportMenu.svelte +2 -1
  454. package/components/flows/map/FlowConstantsItem.svelte +2 -2
  455. package/components/flows/map/FlowErrorHandlerItem.svelte +12 -13
  456. package/components/flows/map/FlowInputsItem.svelte +2 -3
  457. package/components/flows/map/FlowModuleSchemaItem.svelte +88 -91
  458. package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +3 -3
  459. package/components/flows/map/FlowModuleSchemaMap.svelte +163 -130
  460. package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -1
  461. package/components/flows/map/FlowSettingsItem.svelte +5 -4
  462. package/components/flows/map/InsertModuleButton.svelte +34 -18
  463. package/components/flows/map/InsertModuleButton.svelte.d.ts +2 -0
  464. package/components/flows/map/MapItem.svelte +176 -101
  465. package/components/flows/map/MapItem.svelte.d.ts +20 -2
  466. package/components/flows/map/VirtualItem.svelte +129 -0
  467. package/components/flows/map/VirtualItem.svelte.d.ts +44 -0
  468. package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +1 -1
  469. package/components/flows/pickers/WorkspaceScriptPicker.svelte +1 -1
  470. package/components/flows/previousResults.d.ts +1 -1
  471. package/components/flows/previousResults.js +32 -17
  472. package/components/flows/types.d.ts +13 -1
  473. package/components/flows/utils.js +17 -11
  474. package/components/graph/FlowGraph.svelte +245 -164
  475. package/components/graph/FlowGraph.svelte.d.ts +14 -1
  476. package/components/graph/model.d.ts +6 -36
  477. package/components/graph/model.js +1 -1
  478. package/components/graph/svelvet/LICENSE +21 -0
  479. package/components/graph/svelvet/collapsible/controllers/util.d.ts +15 -0
  480. package/components/graph/svelvet/collapsible/controllers/util.js +144 -0
  481. package/components/graph/svelvet/collapsible/models/Collapsible.d.ts +17 -0
  482. package/components/graph/svelvet/collapsible/models/Collapsible.js +25 -0
  483. package/components/graph/svelvet/collapsible/types/types.d.ts +8 -0
  484. package/components/graph/svelvet/collapsible/types/types.js +1 -0
  485. package/components/graph/svelvet/container/README.md +7 -0
  486. package/components/graph/svelvet/container/controllers/middleware.d.ts +18 -0
  487. package/components/graph/svelvet/container/controllers/middleware.js +101 -0
  488. package/components/graph/svelvet/container/views/GraphView.svelte +227 -0
  489. package/components/graph/svelvet/container/views/GraphView.svelte.d.ts +22 -0
  490. package/components/graph/svelvet/container/views/Svelvet.svelte +115 -0
  491. package/components/graph/svelvet/container/views/Svelvet.svelte.d.ts +33 -0
  492. package/components/graph/svelvet/customCss/controllers/getCss.d.ts +2 -0
  493. package/components/graph/svelvet/customCss/controllers/getCss.js +46 -0
  494. package/components/graph/svelvet/d3/controllers/d3.d.ts +5 -0
  495. package/components/graph/svelvet/d3/controllers/d3.js +59 -0
  496. package/components/graph/svelvet/edges/controllers/anchorCbDev.d.ts +4 -0
  497. package/components/graph/svelvet/edges/controllers/anchorCbDev.js +92 -0
  498. package/components/graph/svelvet/edges/controllers/anchorCbUser.d.ts +57 -0
  499. package/components/graph/svelvet/edges/controllers/anchorCbUser.js +73 -0
  500. package/components/graph/svelvet/edges/controllers/util.d.ts +37 -0
  501. package/components/graph/svelvet/edges/controllers/util.js +71 -0
  502. package/components/graph/svelvet/edges/models/Anchor.d.ts +48 -0
  503. package/components/graph/svelvet/edges/models/Anchor.js +122 -0
  504. package/components/graph/svelvet/edges/models/Edge.d.ts +47 -0
  505. package/components/graph/svelvet/edges/models/Edge.js +107 -0
  506. package/components/graph/svelvet/edges/types/types.d.ts +18 -0
  507. package/components/graph/svelvet/edges/types/types.js +1 -0
  508. package/components/graph/svelvet/edges/views/Edges/BaseEdge.svelte +105 -0
  509. package/components/graph/svelvet/edges/views/Edges/BaseEdge.svelte.d.ts +18 -0
  510. package/components/graph/svelvet/edges/views/Edges/EdgeAnchor.svelte +12 -0
  511. package/components/graph/svelvet/edges/views/Edges/EdgeAnchor.svelte.d.ts +17 -0
  512. package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte +43 -0
  513. package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte.d.ts +17 -0
  514. package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte +137 -0
  515. package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte.d.ts +17 -0
  516. package/components/graph/svelvet/edges/views/Edges/SmoothStepEdge.svelte +176 -0
  517. package/components/graph/svelvet/edges/views/Edges/SmoothStepEdge.svelte.d.ts +60 -0
  518. package/components/graph/svelvet/edges/views/Edges/StepEdge.svelte +8 -0
  519. package/components/graph/svelvet/edges/views/Edges/StepEdge.svelte.d.ts +25 -0
  520. package/components/graph/svelvet/edges/views/Edges/types.d.ts +52 -0
  521. package/components/graph/svelvet/edges/views/Edges/types.js +1 -0
  522. package/components/graph/svelvet/edges/views/Edges/utils.d.ts +33 -0
  523. package/components/graph/svelvet/edges/views/Edges/utils.js +31 -0
  524. package/components/graph/svelvet/editEdges/views/EditEdge.svelte +151 -0
  525. package/components/graph/svelvet/editEdges/views/EditEdge.svelte.d.ts +20 -0
  526. package/components/graph/svelvet/nodes/controllers/util.d.ts +9 -0
  527. package/components/graph/svelvet/nodes/controllers/util.js +13 -0
  528. package/components/graph/svelvet/nodes/models/Node.d.ts +74 -0
  529. package/components/graph/svelvet/nodes/models/Node.js +157 -0
  530. package/components/graph/svelvet/nodes/views/Node.svelte +85 -0
  531. package/components/graph/svelvet/nodes/views/Node.svelte.d.ts +22 -0
  532. package/components/graph/svelvet/store/controllers/storeApi.d.ts +32 -0
  533. package/components/graph/svelvet/store/controllers/storeApi.js +106 -0
  534. package/components/graph/svelvet/store/controllers/userApi.d.ts +3 -0
  535. package/components/graph/svelvet/store/controllers/userApi.js +18 -0
  536. package/components/graph/svelvet/store/controllers/util.d.ts +24 -0
  537. package/components/graph/svelvet/store/controllers/util.js +148 -0
  538. package/components/graph/svelvet/store/models/store.d.ts +12 -0
  539. package/components/graph/svelvet/store/models/store.js +9 -0
  540. package/components/graph/svelvet/store/types/types.d.ts +129 -0
  541. package/components/graph/svelvet/store/types/types.js +1 -0
  542. package/components/graph/svelvet/types/README.md +3 -0
  543. package/components/graph/svelvet/types/index.d.ts +2 -0
  544. package/components/graph/svelvet/types/index.js +1 -0
  545. package/components/graph/svelvet/types/types.d.ts +49 -0
  546. package/components/graph/svelvet/types/types.js +18 -0
  547. package/components/graph/util.js +2 -2
  548. package/components/home/ItemsList.svelte +53 -5
  549. package/components/home/ItemsList.svelte.d.ts +1 -0
  550. package/components/home/ListFilters.svelte +7 -2
  551. package/components/icons/SquareIcon.svelte +9 -0
  552. package/components/icons/SquareIcon.svelte.d.ts +17 -0
  553. package/components/icons/index.d.ts +2 -0
  554. package/components/icons/index.js +2 -0
  555. package/components/jobs/JobDetail.svelte +40 -5
  556. package/components/propertyPicker/ObjectViewer.svelte +20 -16
  557. package/components/propertyPicker/ObjectViewer.svelte.d.ts +1 -0
  558. package/components/propertyPicker/PropPicker.svelte +12 -2
  559. package/components/propertyPicker/PropPickerResult.svelte +1 -1
  560. package/components/random_positive_adjetive.d.ts +1 -0
  561. package/components/random_positive_adjetive.js +961 -0
  562. package/components/scriptEditor/LogPanel.svelte +5 -4
  563. package/components/sidebar/SidebarContent.svelte +3 -3
  564. package/components/sidebar/UserMenu.svelte +46 -16
  565. package/components/sidebar/UserMenu.svelte.d.ts +0 -3
  566. package/components/sidebar/WorkspaceMenu.svelte +3 -1
  567. package/components/sidebar/settings.d.ts +2 -0
  568. package/components/sidebar/settings.js +2 -0
  569. package/consts.d.ts +1 -0
  570. package/consts.js +1 -0
  571. package/defaults.d.ts +4 -0
  572. package/defaults.js +4 -0
  573. package/gen/core/OpenAPI.js +1 -1
  574. package/gen/models/CompletedJob.d.ts +1 -0
  575. package/gen/models/QueuedJob.d.ts +1 -0
  576. package/gen/models/WorkerPing.d.ts +1 -1
  577. package/gen/services/FlowService.d.ts +9 -0
  578. package/gen/services/FlowService.js +15 -0
  579. package/gen/services/JobService.d.ts +82 -15
  580. package/gen/services/JobService.js +56 -14
  581. package/gen/services/ScriptService.d.ts +10 -1
  582. package/gen/services/ScriptService.js +16 -1
  583. package/gen/services/VariableService.d.ts +4 -2
  584. package/gen/services/VariableService.js +8 -2
  585. package/gen/services/WorkspaceService.d.ts +17 -0
  586. package/gen/services/WorkspaceService.js +16 -0
  587. package/history.d.ts +9 -0
  588. package/history.js +63 -0
  589. package/infer.js +9 -1
  590. package/init_scripts/python_failure_module.py +10 -0
  591. package/init_scripts/python_init_code.py +37 -0
  592. package/init_scripts/python_init_code_clear.py +5 -0
  593. package/init_scripts/python_init_code_trigger.py +14 -0
  594. package/logout.js +2 -1
  595. package/package.json +673 -522
  596. package/script_helpers.d.ts +6 -5
  597. package/script_helpers.js +8 -73
  598. package/scripts.d.ts +1 -1
  599. package/scripts.js +8 -1
  600. package/stores.d.ts +5 -1
  601. package/stores.js +8 -1
  602. package/user.d.ts +1 -1
  603. package/user.js +14 -8
  604. package/utils.d.ts +13 -5
  605. package/utils.js +59 -14
  606. package/components/apps/components/DisplayComponent.svelte +0 -16
  607. package/components/apps/components/DisplayComponent.svelte.d.ts +0 -20
  608. package/components/apps/components/dataDisplay/AppHtml.svelte +0 -35
  609. package/components/apps/components/dataDisplay/AppText.svelte +0 -86
  610. package/components/apps/components/dataDisplay/VegaLiteHtml.svelte +0 -28
  611. package/components/apps/components/dateInputs/AppDateInput.svelte +0 -34
  612. package/components/apps/components/numberInputs/AppNumberInput.svelte +0 -33
  613. package/components/apps/components/numberInputs/AppSliderInputs.svelte +0 -37
  614. package/components/apps/components/selectInputs/AppCheckbox.svelte +0 -32
  615. package/components/apps/components/selectInputs/AppSelect.svelte +0 -47
  616. package/components/apps/components/table/AppTable.svelte +0 -188
  617. package/components/apps/components/textInputs/AppTextInput.svelte +0 -31
  618. package/components/apps/editor/ComponentEditor.svelte +0 -138
  619. package/components/apps/editor/ComponentEditor.svelte.d.ts +0 -23
  620. package/components/apps/editor/TablePanel.svelte +0 -17
  621. package/components/apps/editor/TablePanel.svelte.d.ts +0 -17
  622. package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +0 -7
  623. package/components/apps/editor/componentsPanel/componentStaticValues.js +0 -9
  624. package/components/apps/editor/componentsPanel/data.d.ts +0 -3
  625. package/components/apps/editor/componentsPanel/data.js +0 -465
  626. package/components/apps/editorUtils.d.ts +0 -1
  627. package/components/apps/editorUtils.js +0 -253
  628. package/components/flows/map/FlowBranchAllMap.svelte +0 -100
  629. package/components/flows/map/FlowBranchAllMap.svelte.d.ts +0 -17
  630. package/components/flows/map/FlowBranchOneMap.svelte +0 -124
  631. package/components/flows/map/FlowBranchOneMap.svelte.d.ts +0 -17
  632. /package/components/apps/components/{table → display/table}/tableOptions.d.ts +0 -0
@@ -0,0 +1,122 @@
1
+ /**
2
+ * This is where we create, update the Anchor store.
3
+ */
4
+ import { stores } from '../../store/models/store';
5
+ import { getAnchors } from '../controllers/util';
6
+ /** Class representing an Anchor that implements Anchortype.
7
+ * @param {string} id The id of the Anchor
8
+ * @param {string} nodeId The id of the Node which the instantiated Anchor will be attached to
9
+ * @param {string} edgeId The id of the Edge which connects to the instantiated Anchor
10
+ * @param {'source' | 'target'} sourceOrTarget Specify the Anchor is a source or target
11
+ * @param {number} positionX The 'X' coordinate of the Anchor
12
+ * @param {number} positionY The 'Y' coordinate of the Anchor
13
+ * @param {function} callback The callback function that will determine the position of this Anchor
14
+ * @param {string} canvasId The canvasId of the Svelvet component that will hold this Anchor
15
+ * @param { number } angle This is the orientation of the anchor and is used to make sure bezier/step curves are rendered perpendicular to the node. Angles are defined along the unit circle. EX: 0 = right side of node, 180 = left side of node.
16
+ */
17
+ export class Anchor {
18
+ id;
19
+ nodeId;
20
+ edgeId;
21
+ sourceOrTarget;
22
+ positionX;
23
+ positionY;
24
+ callback;
25
+ canvasId;
26
+ angle;
27
+ constructor(id, nodeId, edgeId, sourceOrTarget, positionX, positionY, callback, canvasId, angle) {
28
+ this.id = id;
29
+ this.nodeId = nodeId;
30
+ this.edgeId = edgeId;
31
+ this.sourceOrTarget = sourceOrTarget;
32
+ this.positionX = positionX;
33
+ this.positionY = positionY;
34
+ this.callback = callback;
35
+ this.canvasId = canvasId;
36
+ this.angle = angle;
37
+ }
38
+ getOtherAnchorId() {
39
+ const store = stores[this.canvasId];
40
+ const anchors = getAnchors(store, { edgeId: this.edgeId });
41
+ if (anchors.length !== 2)
42
+ throw 'something is wrong, every anchor should have exactly one other associated anchor';
43
+ const anchor = anchors.filter((anchor) => anchor.id !== this.id)[0];
44
+ return anchor.id;
45
+ }
46
+ /**
47
+ * setPositionFromNode will invoke the user-defined callback to calculate the position of the Anchor, set the position of the Anchor in the anchorsStore, and also update the Edge position accordingly.
48
+ */
49
+ setPositionFromNode() {
50
+ // calculate the new position of the anchor using user-defined callback
51
+ this.callback();
52
+ const { edgesStore } = stores[this.canvasId];
53
+ // update edges
54
+ edgesStore.update((edges) => {
55
+ const edge = edges[this.edgeId];
56
+ if (this.sourceOrTarget === 'source') {
57
+ edge.sourceX = this.positionX;
58
+ edge.sourceY = this.positionY;
59
+ }
60
+ else {
61
+ edge.targetX = this.positionX;
62
+ edge.targetY = this.positionY;
63
+ }
64
+ return { ...edges };
65
+ });
66
+ }
67
+ /**
68
+ * updateEdges will update the edgesStore based on Anchor's change.
69
+ */
70
+ updateEdges() {
71
+ const { edgesStore } = stores[this.canvasId];
72
+ /** update edges by deconstructing edges store and setting its new vlue to stores[this.canvasID] */
73
+ edgesStore.update((edges) => {
74
+ const edge = edges[this.edgeId];
75
+ // this means that no edge was found, just return without doing anything
76
+ if (edge === undefined) {
77
+ return { ...edges };
78
+ }
79
+ if (this.sourceOrTarget === 'source') {
80
+ edge.sourceX = this.positionX;
81
+ edge.sourceY = this.positionY;
82
+ }
83
+ else {
84
+ edge.targetX = this.positionX;
85
+ edge.targetY = this.positionY;
86
+ }
87
+ return { ...edges };
88
+ });
89
+ }
90
+ /**
91
+ * setPosition will update the positionX and positionY of the Anchor and also cascade changes to related Edge.
92
+ * @param x The X coordinate of the new position for the Anchor
93
+ * @param y The Y coordinate of the new position for the Anchor
94
+ */
95
+ setPosition(x, y) {
96
+ this.positionX = x;
97
+ this.positionY = y;
98
+ this.updateEdges();
99
+ }
100
+ /**
101
+ * Anchor.setPositionFromMovement works similarly to Anchor.setPosition. But setPosition is more powerful and we recommend using setPosition whenever possible and in the future, setPositionFromMovement can be removed.
102
+ * @param movementX The mouse movement value on the X-axis
103
+ * @param movementY The mouse movement value on the Y-axis
104
+ */
105
+ setPositionFromMovement(movementX, movementY) {
106
+ this.positionX += movementX;
107
+ this.positionY += movementY;
108
+ const { edgesStore } = stores[this.canvasId];
109
+ edgesStore.update((edges) => {
110
+ const edge = edges[this.edgeId];
111
+ if (this.sourceOrTarget === 'source') {
112
+ edge.sourceX += movementX;
113
+ edge.sourceY += movementY;
114
+ }
115
+ else {
116
+ edge.targetX += movementX;
117
+ edge.targetY += movementY;
118
+ }
119
+ return { ...edges };
120
+ });
121
+ }
122
+ }
@@ -0,0 +1,47 @@
1
+ import type { UserEdgeType } from '../../types/types';
2
+ import type { EdgeType } from '../../store/types/types';
3
+ /**
4
+ * Class Edge that implements EdgeType.
5
+ * @param id The id of the Edge
6
+ * @param sourceX The X coordinate of the source Anchor
7
+ * @param sourceY The Y coordinate of the source Anchor
8
+ * @param targetX The X coordinate of the target Anchor
9
+ * @param targetY The Y coordinate of the target Anchor
10
+ * @param canvasId The canvasId of the Svelvet component that holds the instantiated Edge
11
+ * @param label The label of the Edge
12
+ * @param type The type of the Edge (options: 'straight', 'smoothstep', 'step', or 'bezier'). If user doesn't specify, the type will default to 'bezier'.
13
+ * @param labelBgColor The background color of the Edge label
14
+ * @param labelTextColor The text color of the Edge label
15
+ * @param edgeColor The color of the Edge
16
+ * @param animate Boolean value to specify whether the Edge should be animated
17
+ * @param noHandle Boolean value but looks like it is already depracated and can be removed without damage
18
+ * @param arraw Boolean value to specify whether the Edge displays an arrow near its target Anchor
19
+ */
20
+ export declare class Edge implements EdgeType {
21
+ id: string;
22
+ sourceX: number;
23
+ sourceY: number;
24
+ targetX: number;
25
+ targetY: number;
26
+ canvasId: string;
27
+ label: string;
28
+ type: 'straight' | 'smoothstep' | 'step' | 'bezier';
29
+ labelBgColor: string;
30
+ labelTextColor: string;
31
+ edgeColor: string;
32
+ animate: boolean;
33
+ noHandle: boolean;
34
+ arrow: boolean;
35
+ clickCallback: Function;
36
+ className: string;
37
+ constructor(id: string, sourceX: number, sourceY: number, targetX: number, targetY: number, canvasId: string, label: string, type: 'straight' | 'smoothstep' | 'step' | 'bezier', labelBgColor: string, labelTextColor: string, edgeColor: string, animate: boolean, noHandle: boolean, arrow: boolean, clickCallback: Function, className: string);
38
+ /**
39
+ * delete is going to delete the Edge and also delete associated Anchors
40
+ */
41
+ delete(): void;
42
+ /**
43
+ * setExportableData will construct an object that holds all the edge data that can be exported. This is needed for the Exporting Diagram feature.
44
+ * @returns The object of exportable edge data. The format of the object should be as close as what user initially passes in to Svelvet.
45
+ */
46
+ setExportableData(): UserEdgeType;
47
+ }
@@ -0,0 +1,107 @@
1
+ import { findStore } from '../../store/controllers/storeApi';
2
+ import { stores } from '../../store/models/store';
3
+ import { getAnchors, getAnchorFromEdge } from '../../edges/controllers/util';
4
+ /**
5
+ * Class Edge that implements EdgeType.
6
+ * @param id The id of the Edge
7
+ * @param sourceX The X coordinate of the source Anchor
8
+ * @param sourceY The Y coordinate of the source Anchor
9
+ * @param targetX The X coordinate of the target Anchor
10
+ * @param targetY The Y coordinate of the target Anchor
11
+ * @param canvasId The canvasId of the Svelvet component that holds the instantiated Edge
12
+ * @param label The label of the Edge
13
+ * @param type The type of the Edge (options: 'straight', 'smoothstep', 'step', or 'bezier'). If user doesn't specify, the type will default to 'bezier'.
14
+ * @param labelBgColor The background color of the Edge label
15
+ * @param labelTextColor The text color of the Edge label
16
+ * @param edgeColor The color of the Edge
17
+ * @param animate Boolean value to specify whether the Edge should be animated
18
+ * @param noHandle Boolean value but looks like it is already depracated and can be removed without damage
19
+ * @param arraw Boolean value to specify whether the Edge displays an arrow near its target Anchor
20
+ */
21
+ export class Edge {
22
+ id;
23
+ sourceX;
24
+ sourceY;
25
+ targetX;
26
+ targetY;
27
+ canvasId;
28
+ label;
29
+ type;
30
+ labelBgColor;
31
+ labelTextColor;
32
+ edgeColor;
33
+ animate;
34
+ noHandle;
35
+ arrow;
36
+ clickCallback;
37
+ className;
38
+ constructor(id, sourceX, sourceY, targetX, targetY, canvasId, label, type, labelBgColor, labelTextColor, edgeColor, animate, noHandle, arrow, clickCallback, className) {
39
+ this.id = id;
40
+ this.sourceX = sourceX;
41
+ this.sourceY = sourceY;
42
+ this.targetX = targetX;
43
+ this.targetY = targetY;
44
+ this.canvasId = canvasId;
45
+ this.label = label;
46
+ this.type = type;
47
+ this.labelBgColor = labelBgColor;
48
+ this.labelTextColor = labelTextColor;
49
+ this.edgeColor = edgeColor;
50
+ this.animate = animate;
51
+ this.noHandle = noHandle;
52
+ this.arrow = arrow;
53
+ this.clickCallback = clickCallback;
54
+ this.className = className;
55
+ }
56
+ /**
57
+ * delete is going to delete the Edge and also delete associated Anchors
58
+ */
59
+ delete() {
60
+ const store = stores[this.canvasId];
61
+ const { nodesStore, anchorsStore, edgesStore } = store;
62
+ const sourceAnchor = getAnchorFromEdge(store, this.id, 'source'); // this is a bit wasteful
63
+ const targetAnchor = getAnchorFromEdge(store, this.id, 'target');
64
+ anchorsStore.update((anchors) => {
65
+ for (const anchorId in anchors) {
66
+ if (anchorId === sourceAnchor.id || anchorId == targetAnchor.id)
67
+ delete anchors[anchorId];
68
+ }
69
+ return { ...anchors };
70
+ });
71
+ edgesStore.update((edges) => {
72
+ delete edges[this.id];
73
+ return { ...edges };
74
+ });
75
+ }
76
+ /**
77
+ * setExportableData will construct an object that holds all the edge data that can be exported. This is needed for the Exporting Diagram feature.
78
+ * @returns The object of exportable edge data. The format of the object should be as close as what user initially passes in to Svelvet.
79
+ */
80
+ setExportableData() {
81
+ const exportableData = {
82
+ id: this.id,
83
+ label: this.label,
84
+ type: this.type,
85
+ labelBgColor: this.labelBgColor,
86
+ labelTextColor: this.labelTextColor,
87
+ edgeColor: this.edgeColor,
88
+ animate: this.animate,
89
+ noHandle: this.noHandle,
90
+ arrow: this.arrow,
91
+ source: 'dummy',
92
+ target: 'dummy', // these will be set later
93
+ };
94
+ // set source, target on exportableData
95
+ const store = findStore(this.canvasId);
96
+ const anchors = getAnchors(store, { edgeId: this.id });
97
+ if (anchors.length !== 2)
98
+ throw 'there should be two anchors per edge';
99
+ for (const anchor of anchors) {
100
+ if (anchor.sourceOrTarget === 'target')
101
+ exportableData.target = anchor.nodeId;
102
+ if (anchor.sourceOrTarget === 'source')
103
+ exportableData.source = anchor.nodeId;
104
+ }
105
+ return exportableData;
106
+ }
107
+ }
@@ -0,0 +1,18 @@
1
+ export type AnchorCbType = {
2
+ (): void;
3
+ type: 'dynamic' | 'fixed';
4
+ };
5
+ export interface AnchorType {
6
+ id: string;
7
+ nodeId: string;
8
+ edgeId: string;
9
+ sourceOrTarget: 'source' | 'target';
10
+ positionX: number;
11
+ positionY: number;
12
+ callback: AnchorCbType;
13
+ angle: number;
14
+ setPositionFromNode: Function;
15
+ setPosition: Function;
16
+ updateEdges: Function;
17
+ getOtherAnchorId: Function;
18
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,105 @@
1
+ <script>import { findStore } from '../../../store/controllers/storeApi';
2
+ import { getEdgeById } from '../../../edges/controllers/util';
3
+ import EdgeText from '../Edges/EdgeText.svelte';
4
+ import { get } from 'svelte/store';
5
+ export let baseEdgeProps;
6
+ export let canvasId;
7
+ // destructuring the props passed in from the parent component
8
+ $: ({ path, animate, arrow, label, labelBgColor, labelTextColor, edgeColor, centerX, centerY } =
9
+ baseEdgeProps);
10
+ // setting edge text props
11
+ $: edgeTextProps = {
12
+ label: label,
13
+ labelBgColor: labelBgColor,
14
+ labelTextColor: labelTextColor,
15
+ centerX: centerX,
16
+ centerY: centerY
17
+ };
18
+ // Click event handlers
19
+ // At some point in the future, it would be good to refactor event handling to use the flux architecture
20
+ // ie, events will create an action that will be dispatched to some centralized reducer.
21
+ // or in other words, the creators of Redux knew what they were doing.
22
+ // The advantage of this re-design would be greater modularity; views would be agnostic to the exact features implmemented,
23
+ // and they would be only responsible to detecting events and dispatch actions.
24
+ const edgeId = baseEdgeProps.id;
25
+ const store = findStore(canvasId);
26
+ const edge = getEdgeById(store, edgeId);
27
+ const highlightEdgesOption = get(store.highlightEdgesOption);
28
+ const handleRightClick = () => {
29
+ const store = findStore(canvasId);
30
+ const { editableOption } = store;
31
+ // handles edgeEdit feature
32
+ if (get(editableOption))
33
+ store.edgeEditModal.set(edgeId);
34
+ };
35
+ const handleClick = () => {
36
+ const store = findStore(canvasId);
37
+ const edge = getEdgeById(store, edgeId);
38
+ // handles edge clickCallback feature
39
+ if (edge.clickCallback)
40
+ edge.clickCallback(edge);
41
+ console.log(edge.className);
42
+ };
43
+ const defaultArrow = `0 0, 9 4.5, 0 9`;
44
+ </script>
45
+
46
+ <defs>
47
+ <marker id="arrow" markerWidth="9" markerHeight="9" refX="8" refY="4" orient="auto">
48
+ <polygon points={defaultArrow} fill="gray" />
49
+ </marker>
50
+ </defs>
51
+
52
+ <!-- This is an invisible edge that is used to implement event events, because the visible edge is thin and hard to click on. It
53
+ highlights on hover -->
54
+ {#if highlightEdgesOption}
55
+ <path
56
+ id={`edgeSelector`}
57
+ d={path}
58
+ fill="transparent"
59
+ stroke={'red'}
60
+ stroke-opacity="0"
61
+ stroke-width="10"
62
+ on:contextmenu={handleRightClick}
63
+ on:click={handleClick}
64
+ on:keypress={() => {}}
65
+ />
66
+ {/if}
67
+
68
+ {#if arrow}
69
+ <path
70
+ class={animate ? `animate ${edge.className}` : `${edge.className}`}
71
+ d={path}
72
+ fill="transparent"
73
+ stroke={edgeColor ? edgeColor : 'gray'}
74
+ marker-end="url(#arrow)"
75
+ aria-label="svg-path"
76
+ />
77
+ {:else}
78
+ <path
79
+ class={animate ? `animate ${edge.className}` : `${edge.className}`}
80
+ d={path}
81
+ fill="transparent"
82
+ stroke={edgeColor ? edgeColor : 'gray'}
83
+ aria-label="svg-path"
84
+ />
85
+ {/if}
86
+
87
+ {#if edgeTextProps.label}
88
+ <EdgeText {edgeTextProps} />
89
+ {/if}
90
+
91
+ <style>
92
+ .animate {
93
+ stroke-dasharray: 5;
94
+ animation: dash 50000s linear;
95
+ }
96
+ @keyframes dash {
97
+ from {
98
+ stroke-dashoffset: 1000000;
99
+ }
100
+ }
101
+
102
+ #edgeSelector:hover {
103
+ stroke: 'red';
104
+ stroke-opacity: 0.5;
105
+ }</style>
@@ -0,0 +1,18 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { EdgeProps } from '../Edges/types';
3
+ declare const __propDef: {
4
+ props: {
5
+ baseEdgeProps: EdgeProps;
6
+ canvasId: any;
7
+ };
8
+ events: {
9
+ [evt: string]: CustomEvent<any>;
10
+ };
11
+ slots: {};
12
+ };
13
+ export type BaseEdgeProps = typeof __propDef.props;
14
+ export type BaseEdgeEvents = typeof __propDef.events;
15
+ export type BaseEdgeSlots = typeof __propDef.slots;
16
+ export default class BaseEdge extends SvelteComponentTyped<BaseEdgeProps, BaseEdgeEvents, BaseEdgeSlots> {
17
+ }
18
+ export {};
@@ -0,0 +1,12 @@
1
+ <script>export let x;
2
+ export let y;
3
+ </script>
4
+
5
+ <!-- renders simple half-circle for the anchor point of the edge -->
6
+
7
+ <circle cx={x} cy={y} r={5} stroke="white" fill="black" />
8
+
9
+ <style>
10
+ circle {
11
+ position: absolute;
12
+ }</style>
@@ -0,0 +1,17 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ x: number;
5
+ y: number;
6
+ };
7
+ events: {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: {};
11
+ };
12
+ export type EdgeAnchorProps = typeof __propDef.props;
13
+ export type EdgeAnchorEvents = typeof __propDef.events;
14
+ export type EdgeAnchorSlots = typeof __propDef.slots;
15
+ export default class EdgeAnchor extends SvelteComponentTyped<EdgeAnchorProps, EdgeAnchorEvents, EdgeAnchorSlots> {
16
+ }
17
+ export {};
@@ -0,0 +1,43 @@
1
+ <script>// destructuring props to pass into BaseEdge component
2
+ export let edgeTextProps;
3
+ $: ({ label, labelBgColor, labelTextColor, centerX, centerY } =
4
+ edgeTextProps);
5
+ const shiftRectY = 7;
6
+ $: pxRatio = label.length < 3 ? 9 : 7;
7
+ // determine the center point of the edge to be used in the EdgeText component
8
+ $: textCenterX = centerX;
9
+ $: textCenterY = centerY;
10
+ // determine width of rect to render based on label.length (removing spaces)
11
+ // pxRatio is an estimate of how many pixels 1 character might take up
12
+ // pxRatio not 100% accurate as font is not monospace
13
+ $: spaces = label.split(' ').length - 1;
14
+ $: newLength = label.length - spaces;
15
+ $: labelPx = newLength * pxRatio;
16
+ </script>
17
+
18
+ {#if typeof label === 'undefined' || !label}
19
+ {null}
20
+ {:else}
21
+ <g>
22
+ <rect
23
+ class="EdgeTextBg"
24
+ data-testid="edge-text-bg"
25
+ fill={labelBgColor ? labelBgColor : 'white'}
26
+ x={textCenterX - labelPx / 2}
27
+ y={textCenterY - shiftRectY}
28
+ width={labelPx}
29
+ height={16}
30
+ />
31
+ <text
32
+ class="EdgeText"
33
+ x={textCenterX}
34
+ y={textCenterY}
35
+ font-size="12px"
36
+ dominant-baseline="central"
37
+ text-anchor="middle"
38
+ fill={labelTextColor ? labelTextColor : 'black'}
39
+ >
40
+ {label}
41
+ </text>
42
+ </g>
43
+ {/if}
@@ -0,0 +1,17 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { EdgeTextProps } from './types';
3
+ declare const __propDef: {
4
+ props: {
5
+ edgeTextProps: EdgeTextProps;
6
+ };
7
+ events: {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: {};
11
+ };
12
+ export type EdgeTextProps = typeof __propDef.props;
13
+ export type EdgeTextEvents = typeof __propDef.events;
14
+ export type EdgeTextSlots = typeof __propDef.slots;
15
+ export default class EdgeText extends SvelteComponentTyped<EdgeTextProps, EdgeTextEvents, EdgeTextSlots> {
16
+ }
17
+ export {};
@@ -0,0 +1,137 @@
1
+ <script>import BaseEdge from './BaseEdge.svelte';
2
+ // import { Position } from '../types/utils';
3
+ // // enumerable values (static) set for Position
4
+ // export var Position;
5
+ // (function (Position) {
6
+ // Position["Left"] = "left";
7
+ // Position["Right"] = "right";
8
+ // Position["Top"] = "top";
9
+ // Position["Bottom"] = "bottom";
10
+ // })(Position || (Position = {}));
11
+ // //
12
+ // // export type CoordinateExtent = [[number, number], [number, number]];
13
+ const Position = { Left: 'left', Right: 'right', Top: 'top', Bottom: 'bottom' };
14
+ import { findStore } from '../../../store/controllers/storeApi';
15
+ import { getAnchorFromEdge } from '../../../edges/controllers/util';
16
+ function calculateControlOffset(distance, curvature) {
17
+ if (distance >= 0) {
18
+ return 0.5 * distance;
19
+ }
20
+ else {
21
+ return curvature * 25 * Math.sqrt(-distance);
22
+ }
23
+ }
24
+ // get the control point for the bezier curve (in the middle of the edge)
25
+ function getControlWithCurvature({ pos, x1, y1, x2, y2, c }) {
26
+ let ctX, ctY;
27
+ switch (pos) {
28
+ case Position.Left:
29
+ {
30
+ ctX = x1 - calculateControlOffset(x1 - x2, c);
31
+ ctY = y1;
32
+ }
33
+ break;
34
+ case Position.Right:
35
+ {
36
+ ctX = x1 + calculateControlOffset(x2 - x1, c);
37
+ ctY = y1;
38
+ }
39
+ break;
40
+ case Position.Top:
41
+ {
42
+ ctX = x1;
43
+ ctY = y1 - calculateControlOffset(y1 - y2, c);
44
+ }
45
+ break;
46
+ case Position.Bottom:
47
+ {
48
+ ctX = x1;
49
+ ctY = y1 + calculateControlOffset(y2 - y1, c);
50
+ }
51
+ break;
52
+ }
53
+ return [ctX, ctY];
54
+ }
55
+ // returns string to pass into edge 'path' svg d attribute (where to be drawn)
56
+ // referenced from ReactFlow.dev
57
+ function getSimpleBezierPath({ sourceX, sourceY, sourcePosition = Position.Bottom, targetX, targetY, targetPosition = Position.Top, curvature = 0.25 }) {
58
+ const [sourceControlX, sourceControlY] = getControlWithCurvature({
59
+ pos: sourcePosition,
60
+ x1: sourceX,
61
+ y1: sourceY,
62
+ x2: targetX,
63
+ y2: targetY,
64
+ c: curvature
65
+ });
66
+ const [targetControlX, targetControlY] = getControlWithCurvature({
67
+ pos: targetPosition,
68
+ x1: targetX,
69
+ y1: targetY,
70
+ x2: sourceX,
71
+ y2: sourceY,
72
+ c: curvature
73
+ });
74
+ return `M${sourceX},${sourceY} C${sourceControlX},${sourceControlY} ${targetControlX},${targetControlY} ${targetX},${targetY}`;
75
+ }
76
+ // determining center of the bezier curve to know where to place the bezier edge text label
77
+ function getSimpleBezierCenter({ sourceX, sourceY, sourcePosition = Position.Bottom, targetX, targetY, targetPosition = Position.Top, curvature = 0.25 }) {
78
+ const [sourceControlX, sourceControlY] = getControlWithCurvature({
79
+ pos: sourcePosition,
80
+ x1: sourceX,
81
+ y1: sourceY,
82
+ x2: targetX,
83
+ y2: targetY,
84
+ c: curvature
85
+ });
86
+ const [targetControlX, targetControlY] = getControlWithCurvature({
87
+ pos: targetPosition,
88
+ x1: targetX,
89
+ y1: targetY,
90
+ x2: sourceX,
91
+ y2: sourceY,
92
+ c: curvature
93
+ });
94
+ // cubic bezier t=0.5 mid point, not the actual mid point, but easy to calculate
95
+ // https://stackoverflow.com/questions/67516101/how-to-find-distance-mid-point-of-bezier-curve
96
+ const centerX = sourceX * 0.125 + sourceControlX * 0.375 + targetControlX * 0.375 + targetX * 0.125;
97
+ const centerY = sourceY * 0.125 + sourceControlY * 0.375 + targetControlY * 0.375 + targetY * 0.125;
98
+ const xOffset = Math.abs(centerX - sourceX);
99
+ const yOffset = Math.abs(centerY - sourceY);
100
+ return [centerX, centerY, xOffset, yOffset];
101
+ }
102
+ export let canvasId;
103
+ export let edgeId;
104
+ const store = findStore(canvasId);
105
+ const { nodesStore, edgesStore, anchorsStore } = store;
106
+ let edge;
107
+ $: edge = $edgesStore[edgeId];
108
+ let params;
109
+ $: {
110
+ const store = findStore(canvasId);
111
+ const sourceAnchor = getAnchorFromEdge(store, edge.id, 'source');
112
+ const targetAnchor = getAnchorFromEdge(store, edge.id, 'target');
113
+ const mapAngle = { 0: 'right', 90: 'top', 180: 'left', 270: 'bottom' };
114
+ params = {
115
+ sourceX: edge.sourceX,
116
+ sourceY: edge.sourceY,
117
+ sourcePosition: mapAngle[sourceAnchor.angle],
118
+ targetX: edge.targetX,
119
+ targetY: edge.targetY,
120
+ targetPosition: mapAngle[targetAnchor.angle],
121
+ curvature: 0.25
122
+ };
123
+ }
124
+ // pass in params to function that returns a string value for SVG path d attribute (where to be drawn)
125
+ $: path = getSimpleBezierPath(params);
126
+ $: [centerX, centerY] = getSimpleBezierCenter(params);
127
+ // pass necessary values to BaseEdge component
128
+ // BaseEdge renders a 'base' path that can be customized by parent Edge components
129
+ $: baseEdgeProps = {
130
+ ...edge,
131
+ path: path,
132
+ centerX: centerX,
133
+ centerY: centerY
134
+ };
135
+ </script>
136
+
137
+ <BaseEdge {baseEdgeProps} {canvasId} />
@@ -0,0 +1,17 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ canvasId: string;
5
+ edgeId: string;
6
+ };
7
+ events: {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: {};
11
+ };
12
+ export type SimpleBezierEdgeProps = typeof __propDef.props;
13
+ export type SimpleBezierEdgeEvents = typeof __propDef.events;
14
+ export type SimpleBezierEdgeSlots = typeof __propDef.slots;
15
+ export default class SimpleBezierEdge extends SvelteComponentTyped<SimpleBezierEdgeProps, SimpleBezierEdgeEvents, SimpleBezierEdgeSlots> {
16
+ }
17
+ export {};