windmill-components 1.46.3 → 1.52.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 (496) hide show
  1. package/common.d.ts +6 -5
  2. package/components/ApiConnectForm.svelte +21 -0
  3. package/components/ApiConnectForm.svelte.d.ts +18 -0
  4. package/components/AppConnect.svelte +229 -174
  5. package/components/AppConnect.svelte.d.ts +4 -3
  6. package/components/ArgInfo.svelte +2 -2
  7. package/components/ArgInfo.svelte.d.ts +3 -3
  8. package/components/ArgInput.svelte +82 -28
  9. package/components/ArgInput.svelte.d.ts +10 -3
  10. package/components/Badge.svelte.d.ts +3 -3
  11. package/components/Button.svelte +1 -1
  12. package/components/Button.svelte.d.ts +3 -3
  13. package/components/ButtonAndDropdown.svelte.d.ts +3 -3
  14. package/components/CenteredModal.svelte +20 -13
  15. package/components/CenteredModal.svelte.d.ts +3 -3
  16. package/components/ChevronButton.svelte.d.ts +3 -3
  17. package/components/CollapseLink.svelte.d.ts +3 -3
  18. package/components/CronInput.svelte +1 -1
  19. package/components/CronInput.svelte.d.ts +3 -3
  20. package/components/DisplayResult.svelte.d.ts +3 -3
  21. package/components/Dropdown.svelte +13 -7
  22. package/components/Dropdown.svelte.d.ts +3 -3
  23. package/components/Editor.svelte +3 -2
  24. package/components/Editor.svelte.d.ts +4 -3
  25. package/components/EditorBar.svelte +34 -38
  26. package/components/EditorBar.svelte.d.ts +3 -3
  27. package/components/FieldHeader.svelte +4 -3
  28. package/components/FieldHeader.svelte.d.ts +3 -3
  29. package/components/FlowBuilder.svelte +37 -14
  30. package/components/FlowBuilder.svelte.d.ts +4 -3
  31. package/components/FlowGraphViewer.svelte +76 -0
  32. package/components/FlowGraphViewer.svelte.d.ts +23 -0
  33. package/components/FlowJobResult.svelte.d.ts +3 -3
  34. package/components/FlowMetadata.svelte.d.ts +3 -3
  35. package/components/FlowPreviewContent.svelte +54 -64
  36. package/components/FlowPreviewContent.svelte.d.ts +3 -3
  37. package/components/FlowStatusViewer.svelte +156 -106
  38. package/components/FlowStatusViewer.svelte.d.ts +5 -4
  39. package/components/FlowViewer.svelte +3 -78
  40. package/components/FlowViewer.svelte.d.ts +3 -3
  41. package/components/GroupModal.svelte.d.ts +3 -3
  42. package/components/HighlightCode.svelte.d.ts +3 -3
  43. package/components/IconedPath.svelte.d.ts +3 -3
  44. package/components/IconedResourceType.svelte +3 -61
  45. package/components/IconedResourceType.svelte.d.ts +3 -3
  46. package/components/InputTransformForm.svelte +108 -77
  47. package/components/InputTransformForm.svelte.d.ts +10 -5
  48. package/components/InputTransformsViewer.svelte.d.ts +3 -3
  49. package/components/InviteGlobalUser.svelte.d.ts +3 -3
  50. package/components/InviteUser.svelte.d.ts +3 -3
  51. package/components/ItemPicker.svelte +77 -29
  52. package/components/ItemPicker.svelte.d.ts +6 -4
  53. package/components/JobArgs.svelte +5 -5
  54. package/components/JobArgs.svelte.d.ts +3 -3
  55. package/components/JobStatus.svelte.d.ts +3 -3
  56. package/components/LogViewer.svelte +19 -4
  57. package/components/LogViewer.svelte.d.ts +3 -3
  58. package/components/Modal.svelte.d.ts +3 -3
  59. package/components/ModulePreview.svelte +8 -0
  60. package/components/ModulePreview.svelte.d.ts +3 -3
  61. package/components/ObjectResourceInput.svelte +37 -21
  62. package/components/ObjectResourceInput.svelte.d.ts +4 -3
  63. package/components/ObjectTypeNarrowing.svelte.d.ts +3 -3
  64. package/components/PageHeader.svelte +2 -2
  65. package/components/PageHeader.svelte.d.ts +3 -3
  66. package/components/Password.svelte +2 -2
  67. package/components/Password.svelte.d.ts +4 -4
  68. package/components/Path.svelte +4 -1
  69. package/components/Path.svelte.d.ts +5 -4
  70. package/components/Popover.svelte.d.ts +3 -3
  71. package/components/RadioButton.svelte.d.ts +3 -3
  72. package/components/Required.svelte.d.ts +3 -3
  73. package/components/ResourceEditor.svelte +73 -163
  74. package/components/ResourceEditor.svelte.d.ts +3 -5
  75. package/components/ResourcePicker.svelte +33 -30
  76. package/components/ResourcePicker.svelte.d.ts +3 -3
  77. package/components/ResourceTypePicker.svelte.d.ts +3 -3
  78. package/components/RunChart.svelte.d.ts +3 -3
  79. package/components/RunForm.svelte.d.ts +3 -3
  80. package/components/SchemaEditor.svelte +55 -23
  81. package/components/SchemaEditor.svelte.d.ts +3 -3
  82. package/components/SchemaEditorProperty.svelte.d.ts +3 -3
  83. package/components/SchemaForm.svelte +97 -33
  84. package/components/SchemaForm.svelte.d.ts +8 -4
  85. package/components/SchemaModal.svelte.d.ts +4 -4
  86. package/components/SchemaViewer.svelte.d.ts +3 -3
  87. package/components/ScriptBuilder.svelte +64 -66
  88. package/components/ScriptBuilder.svelte.d.ts +3 -3
  89. package/components/ScriptEditor.svelte +26 -28
  90. package/components/ScriptEditor.svelte.d.ts +4 -3
  91. package/components/ScriptPicker.svelte +28 -38
  92. package/components/ScriptPicker.svelte.d.ts +4 -3
  93. package/components/ScriptSchema.svelte +1 -1
  94. package/components/ScriptSchema.svelte.d.ts +3 -3
  95. package/components/SearchItems.svelte +29 -0
  96. package/components/SearchItems.svelte.d.ts +23 -0
  97. package/components/ShareModal.svelte.d.ts +3 -3
  98. package/components/SharedBadge.svelte +4 -2
  99. package/components/SharedBadge.svelte.d.ts +3 -3
  100. package/components/SimpleEditor.svelte +33 -7
  101. package/components/SimpleEditor.svelte.d.ts +4 -4
  102. package/components/Star.svelte +42 -0
  103. package/components/Star.svelte.d.ts +19 -0
  104. package/components/StringTypeNarrowing.svelte.d.ts +3 -3
  105. package/components/SuperadminSettings.svelte +18 -15
  106. package/components/SuperadminSettings.svelte.d.ts +3 -3
  107. package/components/TableCustom.svelte +1 -1
  108. package/components/TableCustom.svelte.d.ts +3 -3
  109. package/components/TableSimple.svelte.d.ts +3 -3
  110. package/components/TestJobLoader.svelte +41 -24
  111. package/components/TestJobLoader.svelte.d.ts +9 -3
  112. package/components/Toggle.svelte.d.ts +3 -3
  113. package/components/Tooltip.svelte.d.ts +3 -3
  114. package/components/UserSettings.svelte.d.ts +3 -3
  115. package/components/VariableEditor.svelte +71 -32
  116. package/components/VariableEditor.svelte.d.ts +5 -3
  117. package/components/apps/CreateApp.svelte +65 -0
  118. package/components/apps/CreateApp.svelte.d.ts +14 -0
  119. package/components/apps/components/DisplayComponent.svelte +23 -0
  120. package/components/apps/components/DisplayComponent.svelte.d.ts +19 -0
  121. package/components/apps/components/buttons/AppButton.svelte +42 -0
  122. package/components/apps/components/buttons/AppButton.svelte.d.ts +25 -0
  123. package/components/apps/components/dataDisplay/AppBarChart.svelte +18 -0
  124. package/components/apps/components/dataDisplay/AppBarChart.svelte.d.ts +23 -0
  125. package/components/apps/components/dataDisplay/AppPieChart.svelte +22 -0
  126. package/components/apps/components/dataDisplay/AppPieChart.svelte.d.ts +23 -0
  127. package/components/apps/components/dataDisplay/AppTable.svelte +135 -0
  128. package/components/apps/components/dataDisplay/AppTable.svelte.d.ts +27 -0
  129. package/components/apps/components/dataDisplay/AppText.svelte +15 -0
  130. package/components/apps/components/dataDisplay/AppText.svelte.d.ts +21 -0
  131. package/components/apps/components/helpers/AlignWrapper.svelte +29 -0
  132. package/components/apps/components/helpers/AlignWrapper.svelte.d.ts +19 -0
  133. package/components/apps/components/helpers/DebouncedInput.svelte +16 -0
  134. package/components/apps/components/helpers/DebouncedInput.svelte.d.ts +19 -0
  135. package/components/apps/components/helpers/InputValue.svelte +37 -0
  136. package/components/apps/components/helpers/InputValue.svelte.d.ts +18 -0
  137. package/components/apps/components/helpers/RunnableComponent.svelte +182 -0
  138. package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +28 -0
  139. package/components/apps/components/index.d.ts +22 -0
  140. package/components/apps/components/index.js +42 -0
  141. package/components/apps/components/selectInputs/AppCheckbox.svelte +26 -0
  142. package/components/apps/components/selectInputs/AppCheckbox.svelte.d.ts +22 -0
  143. package/components/apps/editor/AppEditor.svelte +105 -0
  144. package/components/apps/editor/AppEditor.svelte.d.ts +19 -0
  145. package/components/apps/editor/AppEditorHeader.svelte +75 -0
  146. package/components/apps/editor/AppEditorHeader.svelte.d.ts +19 -0
  147. package/components/apps/editor/ComponentEditor.svelte +64 -0
  148. package/components/apps/editor/ComponentEditor.svelte.d.ts +18 -0
  149. package/components/apps/editor/GridEditor.svelte +45 -0
  150. package/components/apps/editor/GridEditor.svelte.d.ts +14 -0
  151. package/components/apps/editor/componentsPanel/ComponentList.svelte +92 -0
  152. package/components/apps/editor/componentsPanel/ComponentList.svelte.d.ts +14 -0
  153. package/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +7 -0
  154. package/components/apps/editor/componentsPanel/componentDefaultProps.js +9 -0
  155. package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +4 -0
  156. package/components/apps/editor/componentsPanel/componentStaticValues.js +6 -0
  157. package/components/apps/editor/componentsPanel/data.d.ts +3 -0
  158. package/components/apps/editor/componentsPanel/data.js +158 -0
  159. package/components/apps/editor/componentsPanel/store.d.ts +9 -0
  160. package/components/apps/editor/componentsPanel/store.js +16 -0
  161. package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +22 -0
  162. package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte.d.ts +19 -0
  163. package/components/apps/editor/contextPanel/ContextPanel.svelte +184 -0
  164. package/components/apps/editor/contextPanel/ContextPanel.svelte.d.ts +16 -0
  165. package/components/apps/editor/contextPanel/InlineScriptCreationPanel.svelte +29 -0
  166. package/components/apps/editor/contextPanel/InlineScriptCreationPanel.svelte.d.ts +16 -0
  167. package/components/apps/editor/settingsPanel/ComponentPanel.svelte +196 -0
  168. package/components/apps/editor/settingsPanel/ComponentPanel.svelte.d.ts +18 -0
  169. package/components/apps/editor/settingsPanel/DynamicInputEditor.svelte +64 -0
  170. package/components/apps/editor/settingsPanel/DynamicInputEditor.svelte.d.ts +17 -0
  171. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +11 -0
  172. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +18 -0
  173. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +99 -0
  174. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +20 -0
  175. package/components/apps/editor/settingsPanel/PickFlow.svelte +37 -0
  176. package/components/apps/editor/settingsPanel/PickFlow.svelte.d.ts +16 -0
  177. package/components/apps/editor/settingsPanel/PickInlineScript.svelte +38 -0
  178. package/components/apps/editor/settingsPanel/PickInlineScript.svelte.d.ts +20 -0
  179. package/components/apps/editor/settingsPanel/SectionPanel.svelte +70 -0
  180. package/components/apps/editor/settingsPanel/SectionPanel.svelte.d.ts +19 -0
  181. package/components/apps/editor/settingsPanel/StaticInputEditor.svelte +29 -0
  182. package/components/apps/editor/settingsPanel/StaticInputEditor.svelte.d.ts +18 -0
  183. package/components/apps/editor/settingsPanel/TableActions.svelte +107 -0
  184. package/components/apps/editor/settingsPanel/TableActions.svelte.d.ts +19 -0
  185. package/components/apps/editor/settingsPanel/UserInputEditor.svelte +2 -0
  186. package/components/apps/editor/settingsPanel/UserInputEditor.svelte.d.ts +14 -0
  187. package/components/apps/editor/settingsPanel/common/PanelSection.svelte +11 -0
  188. package/components/apps/editor/settingsPanel/common/PanelSection.svelte.d.ts +19 -0
  189. package/components/apps/gridUtils.d.ts +11 -0
  190. package/components/apps/gridUtils.js +24 -0
  191. package/components/apps/rx.d.ts +27 -0
  192. package/components/apps/rx.js +87 -0
  193. package/components/apps/types.d.ts +120 -0
  194. package/components/apps/types.js +1 -0
  195. package/components/apps/utils.d.ts +36 -0
  196. package/components/apps/utils.js +96 -0
  197. package/components/common/actionRow/ActionRow.svelte.d.ts +3 -3
  198. package/components/common/alert/Alert.svelte +29 -7
  199. package/components/common/alert/Alert.svelte.d.ts +4 -3
  200. package/components/common/alert/model.d.ts +1 -1
  201. package/components/common/badge/Badge.svelte +3 -7
  202. package/components/common/badge/Badge.svelte.d.ts +6 -4
  203. package/components/common/badge/model.d.ts +2 -2
  204. package/components/common/breadcrumb/Breadcrumb.svelte.d.ts +3 -3
  205. package/components/common/button/Button.svelte +24 -6
  206. package/components/common/button/Button.svelte.d.ts +6 -4
  207. package/components/common/button/ButtonPopup.svelte +3 -1
  208. package/components/common/button/ButtonPopup.svelte.d.ts +5 -4
  209. package/components/common/button/ButtonPopupItem.svelte.d.ts +3 -3
  210. package/components/common/button/model.d.ts +2 -1
  211. package/components/common/button/model.js +2 -1
  212. package/components/common/confirmationModal/ConfirmationModal.svelte.d.ts +3 -3
  213. package/components/common/confirmationModal/UnsavedConfirmationModal.svelte.d.ts +3 -3
  214. package/components/common/drawer/Drawer.svelte +5 -1
  215. package/components/common/drawer/Drawer.svelte.d.ts +3 -3
  216. package/components/common/drawer/DrawerContent.svelte +11 -3
  217. package/components/common/drawer/DrawerContent.svelte.d.ts +5 -3
  218. package/components/common/languageIcons/LanguageIcon.svelte +6 -4
  219. package/components/common/languageIcons/LanguageIcon.svelte.d.ts +4 -4
  220. package/components/common/menu/Menu.svelte +7 -5
  221. package/components/common/menu/Menu.svelte.d.ts +7 -6
  222. package/components/common/menu/MenuItem.svelte +1 -0
  223. package/components/common/popup/Popup.svelte.d.ts +3 -3
  224. package/components/common/skeleton/Skeleton.svelte.d.ts +3 -3
  225. package/components/common/skeleton/SkeletonElement.svelte.d.ts +3 -3
  226. package/components/common/skeleton/model.d.ts +4 -4
  227. package/components/common/table/AppRow.svelte +61 -0
  228. package/components/common/table/AppRow.svelte.d.ts +23 -0
  229. package/components/common/table/FlowRow.svelte +136 -0
  230. package/components/common/table/FlowRow.svelte.d.ts +25 -0
  231. package/components/common/table/LanguageBadge.svelte +32 -0
  232. package/components/common/table/LanguageBadge.svelte.d.ts +24 -0
  233. package/components/common/table/Row.svelte +47 -0
  234. package/components/common/table/Row.svelte.d.ts +27 -0
  235. package/components/common/table/RowIcon.svelte +23 -0
  236. package/components/common/table/RowIcon.svelte.d.ts +16 -0
  237. package/components/common/table/ScriptRow.svelte +147 -0
  238. package/components/common/table/ScriptRow.svelte.d.ts +25 -0
  239. package/components/common/table/Table.svelte +9 -0
  240. package/components/common/table/Table.svelte.d.ts +23 -0
  241. package/components/common/tabs/Tab.svelte +15 -4
  242. package/components/common/tabs/Tab.svelte.d.ts +5 -3
  243. package/components/common/tabs/TabContent.svelte.d.ts +3 -3
  244. package/components/common/tabs/Tabs.svelte +5 -1
  245. package/components/common/tabs/Tabs.svelte.d.ts +4 -4
  246. package/components/common/toggleButton/ToggleButton.svelte +12 -9
  247. package/components/common/toggleButton/ToggleButton.svelte.d.ts +6 -4
  248. package/components/common/toggleButton/ToggleButtonGroup.svelte +12 -19
  249. package/components/common/toggleButton/ToggleButtonGroup.svelte.d.ts +10 -8
  250. package/components/flows/CreateActionsFlow.svelte +66 -0
  251. package/components/flows/CreateActionsFlow.svelte.d.ts +14 -0
  252. package/components/flows/FlowEditor.svelte +22 -5
  253. package/components/flows/FlowEditor.svelte.d.ts +4 -3
  254. package/components/flows/FlowProgressBar.svelte.d.ts +3 -3
  255. package/components/flows/common/FlowCard.svelte.d.ts +3 -3
  256. package/components/flows/common/FlowCardHeader.svelte +3 -1
  257. package/components/flows/common/FlowCardHeader.svelte.d.ts +3 -3
  258. package/components/flows/content/CapturePayload.svelte.d.ts +3 -3
  259. package/components/flows/content/DynamicInputHelpBox.svelte +2 -32
  260. package/components/flows/content/DynamicInputHelpBox.svelte.d.ts +4 -6
  261. package/components/flows/content/FlowBranchAllWrapper.svelte.d.ts +3 -3
  262. package/components/flows/content/FlowBranchOneWrapper.svelte +3 -2
  263. package/components/flows/content/FlowBranchOneWrapper.svelte.d.ts +3 -3
  264. package/components/flows/content/FlowBranchesWrapper.svelte +2 -2
  265. package/components/flows/content/FlowBranchesWrapper.svelte.d.ts +3 -3
  266. package/components/flows/content/FlowEditorPanel.svelte +2 -0
  267. package/components/flows/content/FlowEditorPanel.svelte.d.ts +3 -3
  268. package/components/flows/content/FlowFailureModule.svelte.d.ts +3 -3
  269. package/components/flows/content/FlowInput.svelte +9 -12
  270. package/components/flows/content/FlowInput.svelte.d.ts +3 -3
  271. package/components/flows/content/FlowInputs.svelte +119 -140
  272. package/components/flows/content/FlowInputs.svelte.d.ts +4 -7
  273. package/components/flows/content/FlowLoop.svelte +3 -2
  274. package/components/flows/content/FlowLoop.svelte.d.ts +3 -3
  275. package/components/flows/content/FlowModuleComponent.svelte +49 -45
  276. package/components/flows/content/FlowModuleComponent.svelte.d.ts +3 -3
  277. package/components/flows/content/FlowModuleEarlyStop.svelte +3 -2
  278. package/components/flows/content/FlowModuleEarlyStop.svelte.d.ts +3 -3
  279. package/components/flows/content/FlowModuleHeader.svelte +6 -3
  280. package/components/flows/content/FlowModuleHeader.svelte.d.ts +3 -3
  281. package/components/flows/content/FlowModuleScript.svelte.d.ts +3 -3
  282. package/components/flows/content/FlowModuleSuspend.svelte +9 -3
  283. package/components/flows/content/FlowModuleSuspend.svelte.d.ts +3 -3
  284. package/components/flows/content/FlowModuleWrapper.svelte +0 -22
  285. package/components/flows/content/FlowModuleWrapper.svelte.d.ts +3 -3
  286. package/components/flows/content/FlowRetries.svelte.d.ts +3 -3
  287. package/components/flows/content/FlowSchedules.svelte.d.ts +3 -3
  288. package/components/flows/content/FlowSettings.svelte +88 -93
  289. package/components/flows/content/FlowSettings.svelte.d.ts +3 -3
  290. package/components/flows/content/RemoveStepConfirmationModal.svelte.d.ts +3 -3
  291. package/components/flows/flowState.d.ts +2 -2
  292. package/components/flows/flowStateUtils.d.ts +1 -0
  293. package/components/flows/flowStateUtils.js +13 -2
  294. package/components/flows/flowStore.d.ts +1 -1
  295. package/components/flows/flowStore.js +1 -1
  296. package/components/flows/header/FlowImportExportMenu.svelte +9 -23
  297. package/components/flows/header/FlowImportExportMenu.svelte.d.ts +3 -3
  298. package/components/flows/header/FlowPreviewButtons.svelte +20 -16
  299. package/components/flows/header/FlowPreviewButtons.svelte.d.ts +3 -3
  300. package/components/flows/map/FlowBranchAllMap.svelte +47 -37
  301. package/components/flows/map/FlowBranchAllMap.svelte.d.ts +3 -3
  302. package/components/flows/map/FlowBranchOneMap.svelte +50 -42
  303. package/components/flows/map/FlowBranchOneMap.svelte.d.ts +3 -3
  304. package/components/flows/map/FlowErrorHandlerItem.svelte +5 -3
  305. package/components/flows/map/FlowErrorHandlerItem.svelte.d.ts +3 -3
  306. package/components/flows/map/FlowInputsItem.svelte +3 -2
  307. package/components/flows/map/FlowInputsItem.svelte.d.ts +3 -3
  308. package/components/flows/map/FlowModuleSchemaItem.svelte +26 -31
  309. package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +5 -5
  310. package/components/flows/map/FlowModuleSchemaMap.svelte +50 -92
  311. package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +3 -4
  312. package/components/flows/map/FlowSettingsItem.svelte +8 -7
  313. package/components/flows/map/FlowSettingsItem.svelte.d.ts +3 -3
  314. package/components/flows/map/InsertModuleButton.svelte +62 -8
  315. package/components/flows/map/InsertModuleButton.svelte.d.ts +4 -4
  316. package/components/flows/map/MapItem.svelte +30 -16
  317. package/components/flows/map/MapItem.svelte.d.ts +4 -6
  318. package/components/flows/pickers/FlowScriptPicker.svelte +11 -4
  319. package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +8 -6
  320. package/components/flows/pickers/PickHubScript.svelte +74 -29
  321. package/components/flows/pickers/PickHubScript.svelte.d.ts +5 -6
  322. package/components/flows/pickers/PickScript.svelte +16 -9
  323. package/components/flows/pickers/PickScript.svelte.d.ts +3 -4
  324. package/components/flows/pickers/WorkspaceScriptPicker.svelte +53 -0
  325. package/components/flows/pickers/WorkspaceScriptPicker.svelte.d.ts +19 -0
  326. package/components/flows/pickers/model.d.ts +5 -3
  327. package/components/flows/previousResults.d.ts +2 -2
  328. package/components/flows/previousResults.js +5 -5
  329. package/components/flows/propPicker/PropPickerWrapper.svelte +2 -2
  330. package/components/flows/propPicker/PropPickerWrapper.svelte.d.ts +7 -7
  331. package/components/flows/scheduleUtils.d.ts +1 -1
  332. package/components/flows/scheduleUtils.js +1 -1
  333. package/components/flows/types.d.ts +1 -1
  334. package/components/flows/utils.d.ts +1 -1
  335. package/components/flows/utils.js +4 -9
  336. package/components/graph/FlowGraph.svelte +57 -18
  337. package/components/graph/FlowGraph.svelte.d.ts +6 -4
  338. package/components/graph/model.d.ts +7 -6
  339. package/components/icons/AirtableIcon.svelte.d.ts +3 -3
  340. package/components/icons/DbIcon.svelte.d.ts +3 -3
  341. package/components/icons/DiscordIcon.svelte.d.ts +3 -3
  342. package/components/icons/GCloudIcon.svelte.d.ts +3 -3
  343. package/components/icons/GItlabIcon.svelte.d.ts +3 -3
  344. package/components/icons/GSheetsIcon.svelte.d.ts +3 -3
  345. package/components/icons/GcalIcon.svelte.d.ts +3 -3
  346. package/components/icons/GdriveIcon.svelte.d.ts +3 -3
  347. package/components/icons/GithubIcon.svelte.d.ts +3 -3
  348. package/components/icons/GmailIcon.svelte.d.ts +3 -3
  349. package/components/icons/HatIcon.svelte.d.ts +3 -3
  350. package/components/icons/HttpIcon.svelte.d.ts +3 -3
  351. package/components/icons/Mail.svelte.d.ts +3 -3
  352. package/components/icons/MailchimpIcon.svelte +18 -0
  353. package/components/icons/MailchimpIcon.svelte.d.ts +17 -0
  354. package/components/icons/MastodonIcon.svelte.d.ts +3 -3
  355. package/components/icons/MatrixIcon.svelte.d.ts +3 -3
  356. package/components/icons/Mysql.svelte.d.ts +3 -3
  357. package/components/icons/PostgresIcon.svelte.d.ts +3 -3
  358. package/components/icons/S3Icon.svelte.d.ts +3 -3
  359. package/components/icons/SendgridIcon.svelte +66 -0
  360. package/components/icons/SendgridIcon.svelte.d.ts +17 -0
  361. package/components/icons/Slack.svelte.d.ts +3 -3
  362. package/components/icons/TogglIcon.svelte.d.ts +3 -3
  363. package/components/icons/WindmillIcon.svelte.d.ts +3 -3
  364. package/components/icons/index.d.ts +48 -0
  365. package/components/icons/index.js +48 -0
  366. package/components/jobs/JobDetail.svelte +2 -2
  367. package/components/jobs/JobDetail.svelte.d.ts +3 -3
  368. package/components/preview/FlowPreviewStatus.svelte.d.ts +3 -3
  369. package/components/progressBar/ProgressBar.svelte.d.ts +3 -3
  370. package/components/progressBar/ProgressBarGeneralPart.svelte.d.ts +3 -3
  371. package/components/progressBar/ProgressBarLoopAccessor.svelte.d.ts +3 -3
  372. package/components/progressBar/ProgressBarLoopPart.svelte.d.ts +3 -3
  373. package/components/progressBar/model.d.ts +9 -9
  374. package/components/propertyPicker/ObjectViewer.svelte +34 -9
  375. package/components/propertyPicker/ObjectViewer.svelte.d.ts +4 -3
  376. package/components/propertyPicker/PropPicker.svelte +118 -110
  377. package/components/propertyPicker/PropPicker.svelte.d.ts +3 -3
  378. package/components/propertyPicker/PropPickerResult.svelte +0 -1
  379. package/components/propertyPicker/PropPickerResult.svelte.d.ts +3 -3
  380. package/components/scriptEditor/LogPanel.svelte +4 -4
  381. package/components/scriptEditor/LogPanel.svelte.d.ts +3 -3
  382. package/components/scripts/{CreateActions.svelte → CreateActionsScript.svelte} +7 -46
  383. package/components/scripts/CreateActionsScript.svelte.d.ts +14 -0
  384. package/components/sidebar/MenuLink.svelte +7 -4
  385. package/components/sidebar/MenuLink.svelte.d.ts +4 -3
  386. package/components/sidebar/SidebarContent.svelte +25 -18
  387. package/components/sidebar/SidebarContent.svelte.d.ts +7 -3
  388. package/components/sidebar/UserMenu.svelte +1 -1
  389. package/components/sidebar/UserMenu.svelte.d.ts +3 -3
  390. package/components/sidebar/WorkspaceMenu.svelte +3 -3
  391. package/components/sidebar/WorkspaceMenu.svelte.d.ts +3 -3
  392. package/components/splitPanes/SplitPanesWrapper.svelte.d.ts +3 -3
  393. package/editorUtils.d.ts +1 -1
  394. package/editorUtils.js +2 -2
  395. package/gen/core/ApiRequestOptions.d.ts +1 -1
  396. package/gen/core/ApiResult.d.ts +1 -1
  397. package/gen/core/OpenAPI.d.ts +3 -3
  398. package/gen/core/OpenAPI.js +1 -1
  399. package/gen/index.d.ts +2 -0
  400. package/gen/index.js +1 -0
  401. package/gen/models/AppWithLastVersion.d.ts +12 -12
  402. package/gen/models/AuditLog.d.ts +1 -1
  403. package/gen/models/BranchAll.d.ts +1 -1
  404. package/gen/models/BranchOne.d.ts +1 -1
  405. package/gen/models/CompletedJob.d.ts +1 -1
  406. package/gen/models/ContextualVariable.d.ts +1 -1
  407. package/gen/models/CreateResource.d.ts +1 -2
  408. package/gen/models/CreateVariable.d.ts +1 -1
  409. package/gen/models/CreateWorkspace.d.ts +1 -1
  410. package/gen/models/EditResource.d.ts +1 -1
  411. package/gen/models/EditResourceType.d.ts +1 -1
  412. package/gen/models/EditSchedule.d.ts +1 -1
  413. package/gen/models/EditVariable.d.ts +1 -1
  414. package/gen/models/EditWorkspaceUser.d.ts +1 -1
  415. package/gen/models/Flow.d.ts +1 -1
  416. package/gen/models/FlowMetadata.d.ts +2 -1
  417. package/gen/models/FlowModule.d.ts +1 -1
  418. package/gen/models/FlowModuleValue.d.ts +1 -1
  419. package/gen/models/FlowPreview.d.ts +1 -1
  420. package/gen/models/FlowStatus.d.ts +1 -1
  421. package/gen/models/FlowStatusModule.d.ts +1 -1
  422. package/gen/models/FlowValue.d.ts +1 -1
  423. package/gen/models/ForloopFlow.d.ts +1 -1
  424. package/gen/models/GlobalUserInfo.d.ts +1 -1
  425. package/gen/models/Group.d.ts +1 -1
  426. package/gen/models/Identity.d.ts +1 -1
  427. package/gen/models/InputTransform.d.ts +1 -1
  428. package/gen/models/JavascriptTransform.d.ts +1 -1
  429. package/gen/models/Job.d.ts +1 -1
  430. package/gen/models/ListableApp.d.ts +10 -8
  431. package/gen/models/ListableResource.d.ts +13 -0
  432. package/gen/models/ListableResource.js +4 -0
  433. package/gen/models/ListableVariable.d.ts +4 -1
  434. package/gen/models/Login.d.ts +1 -1
  435. package/gen/models/MainArgSignature.d.ts +1 -1
  436. package/gen/models/NewSchedule.d.ts +1 -1
  437. package/gen/models/NewToken.d.ts +1 -1
  438. package/gen/models/NewUser.d.ts +1 -1
  439. package/gen/models/OpenFlow.d.ts +1 -1
  440. package/gen/models/OpenFlowWPath.d.ts +1 -1
  441. package/gen/models/PathScript.d.ts +1 -1
  442. package/gen/models/Policy.d.ts +1 -1
  443. package/gen/models/Preview.d.ts +1 -1
  444. package/gen/models/QueuedJob.d.ts +1 -1
  445. package/gen/models/RawScript.d.ts +2 -1
  446. package/gen/models/Resource.d.ts +1 -1
  447. package/gen/models/ResourceType.d.ts +1 -1
  448. package/gen/models/Retry.d.ts +1 -1
  449. package/gen/models/Schedule.d.ts +1 -1
  450. package/gen/models/Script.d.ts +2 -1
  451. package/gen/models/ScriptArgs.d.ts +1 -1
  452. package/gen/models/SlackToken.d.ts +1 -1
  453. package/gen/models/StaticTransform.d.ts +1 -1
  454. package/gen/models/TokenResponse.d.ts +1 -1
  455. package/gen/models/TruncatedToken.d.ts +1 -1
  456. package/gen/models/Usage.d.ts +1 -1
  457. package/gen/models/User.d.ts +1 -1
  458. package/gen/models/UserWorkspaceList.d.ts +1 -1
  459. package/gen/models/WorkerPing.d.ts +1 -1
  460. package/gen/models/Workspace.d.ts +1 -1
  461. package/gen/models/WorkspaceInvite.d.ts +1 -1
  462. package/gen/services/AppService.d.ts +101 -1
  463. package/gen/services/AppService.js +88 -1
  464. package/gen/services/FavoriteService.d.ts +27 -0
  465. package/gen/services/FavoriteService.js +36 -0
  466. package/gen/services/FlowService.d.ts +7 -91
  467. package/gen/services/FlowService.js +2 -73
  468. package/gen/services/JobService.d.ts +15 -0
  469. package/gen/services/JobService.js +19 -0
  470. package/gen/services/ResourceService.d.ts +3 -2
  471. package/gen/services/ResourceService.js +1 -1
  472. package/gen/services/ScheduleService.d.ts +1 -1
  473. package/gen/services/ScheduleService.js +1 -1
  474. package/gen/services/ScriptService.d.ts +7 -1
  475. package/gen/services/ScriptService.js +2 -1
  476. package/package.json +422 -361
  477. package/script_helpers.d.ts +3 -1
  478. package/script_helpers.js +73 -25
  479. package/stateMachine.d.ts +4 -4
  480. package/stores.d.ts +2 -0
  481. package/stores.js +1 -0
  482. package/utils.d.ts +4 -2
  483. package/utils.js +20 -3
  484. package/components/FlowModulesViewer.svelte +0 -191
  485. package/components/FlowModulesViewer.svelte.d.ts +0 -18
  486. package/components/landing/FlowGettingStarted.svelte +0 -50
  487. package/components/landing/FlowGettingStarted.svelte.d.ts +0 -19
  488. package/components/landing/FlowLandingBox.svelte +0 -39
  489. package/components/landing/FlowLandingBox.svelte.d.ts +0 -17
  490. package/components/landing/RessourceGettingStarted.svelte +0 -21
  491. package/components/landing/RessourceGettingStarted.svelte.d.ts +0 -19
  492. package/components/landing/ScriptBox.svelte +0 -52
  493. package/components/landing/ScriptBox.svelte.d.ts +0 -17
  494. package/components/landing/ScriptGettingStarted.svelte +0 -48
  495. package/components/landing/ScriptGettingStarted.svelte.d.ts +0 -19
  496. package/components/scripts/CreateActions.svelte.d.ts +0 -14
@@ -0,0 +1,184 @@
1
+ <script>import { fade } from 'svelte/transition';
2
+ import { Drawer } from '../../../common';
3
+ import Badge from '../../../common/badge/Badge.svelte';
4
+ import Button from '../../../common/button/Button.svelte';
5
+ import DrawerContent from '../../../common/drawer/DrawerContent.svelte';
6
+ import ScriptEditor from '../../../ScriptEditor.svelte';
7
+ import { Preview } from '../../../../gen';
8
+ import { DENO_INIT_CODE_CLEAR } from '../../../../script_helpers';
9
+ import { classNames, emptySchema } from '../../../../utils';
10
+ import { faEdit, faPlus, faTrash } from '@fortawesome/free-solid-svg-icons';
11
+ import { getContext } from 'svelte';
12
+ import PanelSection from '../settingsPanel/common/PanelSection.svelte';
13
+ import ComponentOutputViewer from './ComponentOutputViewer.svelte';
14
+ export let appPath;
15
+ const { connectingInput, staticOutputs, app, worldStore, selectedComponent } = getContext('AppEditorContext');
16
+ let newScriptPath;
17
+ let ignorePathError = false;
18
+ $: isTakenPath = Object.keys($app.inlineScripts).includes(newScriptPath);
19
+ function connectInput(id, name) {
20
+ if ($connectingInput) {
21
+ $connectingInput = {
22
+ opened: false,
23
+ input: {
24
+ id,
25
+ name,
26
+ type: 'output',
27
+ defaultValue: undefined,
28
+ fieldType: 'any'
29
+ }
30
+ };
31
+ }
32
+ }
33
+ function createScript() {
34
+ // To prevent the error message flashing up just before the drawer is closed
35
+ ignorePathError = true;
36
+ const path = `${appPath}/inline-script/${newScriptPath}`;
37
+ const inlineScript = {
38
+ content: DENO_INIT_CODE_CLEAR,
39
+ language: Preview.language.DENO,
40
+ path,
41
+ schema: emptySchema()
42
+ };
43
+ if ($app.inlineScripts) {
44
+ $app.inlineScripts[newScriptPath] = inlineScript;
45
+ }
46
+ else {
47
+ $app.inlineScripts = {
48
+ [newScriptPath]: inlineScript
49
+ };
50
+ }
51
+ scriptCreationDrawer?.closeDrawer?.();
52
+ selectedScript = inlineScript;
53
+ scriptEditorDrawer.openDrawer?.();
54
+ }
55
+ function afterCreateScript() {
56
+ newScriptPath = '';
57
+ ignorePathError = false;
58
+ }
59
+ let selectedScript = undefined;
60
+ let scriptEditorDrawer;
61
+ let scriptCreationDrawer = undefined;
62
+ </script>
63
+
64
+ <Drawer bind:this={scriptCreationDrawer} size="600px" on:afterClose={afterCreateScript}>
65
+ <DrawerContent title="Script creation" on:close={scriptCreationDrawer.closeDrawer}>
66
+ <label for="pathInput" class="text-sm font-semibold"> Script name </label>
67
+ <div class="flex justify-between items-center gap-4">
68
+ <!-- svelte-ignore a11y-autofocus -->
69
+ <input
70
+ autofocus
71
+ id="pathInput"
72
+ class="grow min-w-[150px]"
73
+ bind:value={newScriptPath}
74
+ on:keypress={(e) => e.key === 'Enter' && createScript()}
75
+ />
76
+ <Button on:click={createScript} size="sm" disabled={isTakenPath} startIcon={{ icon: faPlus }}>
77
+ Create
78
+ </Button>
79
+ </div>
80
+ {#if isTakenPath && !ignorePathError}
81
+ <div transition:fade={{ duration: 100 }} class="text-sm text-red-600 h-5 mt-1">
82
+ This name is already used.
83
+ </div>
84
+ {/if}
85
+ </DrawerContent>
86
+ </Drawer>
87
+
88
+ <Drawer bind:this={scriptEditorDrawer} size="1200px">
89
+ <DrawerContent
90
+ title="Script Editor"
91
+ noPadding
92
+ forceOverflowVisible
93
+ on:close={scriptEditorDrawer.closeDrawer}
94
+ >
95
+ {#if selectedScript}
96
+ <ScriptEditor
97
+ lang={selectedScript.language}
98
+ bind:code={selectedScript.content}
99
+ path={selectedScript.path}
100
+ bind:schema={selectedScript.schema}
101
+ fixedOverflowWidgets={false}
102
+ />
103
+ {/if}
104
+ </DrawerContent>
105
+ </Drawer>
106
+
107
+ <PanelSection title="Inline scripts">
108
+ <svelte:fragment slot="action">
109
+ <Button
110
+ size="xs"
111
+ color="light"
112
+ variant="border"
113
+ on:click={scriptCreationDrawer?.openDrawer}
114
+ startIcon={{ icon: faPlus }}
115
+ iconOnly
116
+ />
117
+ </svelte:fragment>
118
+
119
+ <div class="w-full border rounded-sm">
120
+ {#each $app.inlineScripts ? Object.entries($app.inlineScripts) : [] as [key, value], index}
121
+ <div
122
+ class={classNames(
123
+ 'flex justify-between flex-row w-full items-center p-2',
124
+ index % 2 === 0 ? 'bg-gray-100' : 'bg-white'
125
+ )}
126
+ >
127
+ <span class="text-xs">{key}</span>
128
+ <div class="flex gap-2">
129
+ <Button
130
+ size="xs"
131
+ color="light"
132
+ variant="border"
133
+ iconOnly
134
+ startIcon={{ icon: faEdit }}
135
+ on:click={() => {
136
+ if (value) {
137
+ selectedScript = value
138
+ scriptEditorDrawer.openDrawer && scriptEditorDrawer.openDrawer()
139
+ }
140
+ }}
141
+ />
142
+ <Button
143
+ size="xs"
144
+ color="red"
145
+ variant="border"
146
+ iconOnly
147
+ startIcon={{ icon: faTrash }}
148
+ on:click={() => {
149
+ if ($app.inlineScripts[key]) {
150
+ delete $app.inlineScripts[key]
151
+ $app = $app
152
+ }
153
+ }}
154
+ />
155
+ </div>
156
+ </div>
157
+ {/each}
158
+ </div>
159
+ </PanelSection>
160
+
161
+ <PanelSection title="Outputs">
162
+ {#each Object.entries($staticOutputs) as [componentId, outputs], index}
163
+ {#if outputs.length > 0 && $worldStore?.outputsById[componentId]}
164
+ <Badge color="blue">Component: {componentId}</Badge>
165
+
166
+ <div
167
+ class={classNames(
168
+ 'w-full p-2 rounded-xs border',
169
+ $selectedComponent === componentId
170
+ ? 'outline-1 outline outline-offset-2 outline-blue-500'
171
+ : ''
172
+ )}
173
+ >
174
+ <ComponentOutputViewer
175
+ {outputs}
176
+ {componentId}
177
+ on:select={({ detail }) => {
178
+ connectInput(componentId, detail)
179
+ }}
180
+ />
181
+ </div>
182
+ {/if}
183
+ {/each}
184
+ </PanelSection>
@@ -0,0 +1,16 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ appPath: string;
5
+ };
6
+ events: {
7
+ [evt: string]: CustomEvent<any>;
8
+ };
9
+ slots: {};
10
+ };
11
+ export type ContextPanelProps = typeof __propDef.props;
12
+ export type ContextPanelEvents = typeof __propDef.events;
13
+ export type ContextPanelSlots = typeof __propDef.slots;
14
+ export default class ContextPanel extends SvelteComponentTyped<ContextPanelProps, ContextPanelEvents, ContextPanelSlots> {
15
+ }
16
+ export {};
@@ -0,0 +1,29 @@
1
+ <script>import { Button } from '../../../common';
2
+ import { Preview } from '../../../../gen';
3
+ import { DENO_INIT_CODE_CLEAR } from '../../../../script_helpers';
4
+ import { emptySchema } from '../../../../utils';
5
+ import { getContext } from 'svelte';
6
+ const { app } = getContext('AppEditorContext');
7
+ export let appPath;
8
+ function createScript() {
9
+ const scriptPath = 'name';
10
+ const path = `${appPath}/inline-script/${scriptPath}`;
11
+ const inlineScript = {
12
+ content: DENO_INIT_CODE_CLEAR,
13
+ language: Preview.language.DENO,
14
+ path,
15
+ schema: emptySchema()
16
+ };
17
+ if ($app.inlineScripts) {
18
+ $app.inlineScripts[scriptPath] = inlineScript;
19
+ }
20
+ else {
21
+ $app.inlineScripts = {
22
+ [scriptPath]: inlineScript
23
+ };
24
+ }
25
+ }
26
+ </script>
27
+
28
+ <input value="" />
29
+ <Button on:click={createScript}>Create</Button>
@@ -0,0 +1,16 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ appPath: string;
5
+ };
6
+ events: {
7
+ [evt: string]: CustomEvent<any>;
8
+ };
9
+ slots: {};
10
+ };
11
+ export type InlineScriptCreationPanelProps = typeof __propDef.props;
12
+ export type InlineScriptCreationPanelEvents = typeof __propDef.events;
13
+ export type InlineScriptCreationPanelSlots = typeof __propDef.slots;
14
+ export default class InlineScriptCreationPanel extends SvelteComponentTyped<InlineScriptCreationPanelProps, InlineScriptCreationPanelEvents, InlineScriptCreationPanelSlots> {
15
+ }
16
+ export {};
@@ -0,0 +1,196 @@
1
+ <script>import { ToggleButton, ToggleButtonGroup } from '../../../common';
2
+ import Button from '../../../common/button/Button.svelte';
3
+ import PickScript from '../../../flows/pickers/PickScript.svelte';
4
+ import { faAlignCenter, faAlignLeft, faAlignRight, faClose, faTrashAlt } from '@fortawesome/free-solid-svg-icons';
5
+ import { getContext } from 'svelte';
6
+ import Icon from 'svelte-awesome';
7
+ import PanelSection from './common/PanelSection.svelte';
8
+ import InputsSpecsEditor from './InputsSpecsEditor.svelte';
9
+ import PickFlow from './PickFlow.svelte';
10
+ import gridHelp from 'svelte-grid/build/helper/index.mjs';
11
+ import PickInlineScript from './PickInlineScript.svelte';
12
+ import TableActions from './TableActions.svelte';
13
+ import { capitalize } from '../../../../utils';
14
+ import Badge from '../../../common/badge/Badge.svelte';
15
+ import { gridColumns } from '../../gridUtils';
16
+ import { Plus } from 'svelte-lucide';
17
+ export let component;
18
+ export let onDelete = undefined;
19
+ const { app, staticOutputs } = getContext('AppEditorContext');
20
+ function removeGridElement() {
21
+ if (onDelete && component) {
22
+ delete $staticOutputs[component.id];
23
+ $staticOutputs = $staticOutputs;
24
+ onDelete();
25
+ // Delete static inputs
26
+ }
27
+ else {
28
+ if (component) {
29
+ $app.grid = $app.grid.filter((gridComponent) => gridComponent.data.id !== component?.id);
30
+ gridColumns.forEach((colIndex) => {
31
+ $app.grid = gridHelp.adjust($app.grid, colIndex);
32
+ });
33
+ // Delete static inputs
34
+ delete $staticOutputs[component.id];
35
+ $staticOutputs = $staticOutputs;
36
+ }
37
+ }
38
+ }
39
+ </script>
40
+
41
+ {#if component}
42
+ <div class="flex flex-col w-full divide-y">
43
+ {#if component.runnable}
44
+ <PanelSection title="Runnable">
45
+ {#if component.runnable && component['inlineScriptName']}
46
+ <div class="flex justify-between w-full items-center">
47
+ <span class="text-xs">{component['inlineScriptName']}</span>
48
+ <Button
49
+ size="xs"
50
+ color="red"
51
+ startIcon={{ icon: faClose }}
52
+ on:click={() => {
53
+ if (component) {
54
+ component['inlineScriptName'] = undefined
55
+ }
56
+ }}
57
+ >
58
+ Clear
59
+ </Button>
60
+ </div>
61
+ {/if}
62
+
63
+ {#if component.runnable && component['path']}
64
+ <div class="flex gap-2 items-center">
65
+ <div>
66
+ <Badge color="blue">{capitalize(component['runType'])}</Badge>
67
+ <span class="text-xs">{component['path']}</span>
68
+ </div>
69
+ <Button
70
+ size="xs"
71
+ color="red"
72
+ variant="border"
73
+ startIcon={{ icon: faClose }}
74
+ on:click={() => {
75
+ if (component) {
76
+ component['inlineScriptName'] = undefined
77
+ }
78
+ }}
79
+ >
80
+ Clear
81
+ </Button>
82
+ </div>
83
+ {/if}
84
+
85
+ {#if component.runnable && component['path'] === undefined && component['inlineScriptName'] === undefined}
86
+ <div class="text-sm">Inline scripts:</div>
87
+ <div class="flex gap-2">
88
+ <Button
89
+ btnClasses="w-24 truncate"
90
+ size="sm"
91
+ spacingSize="md"
92
+ variant="border"
93
+ color="light"
94
+ >
95
+ <div class="flex justify-center flex-col items-center gap-2">
96
+ <Plus size="18px" />
97
+
98
+ <span class="text-xs">Create</span>
99
+ </div>
100
+ </Button>
101
+
102
+ <PickInlineScript
103
+ scripts={(Object.keys($app.inlineScripts) || []).map((summary) => ({ summary }))}
104
+ on:pick={({ detail }) => {
105
+ if (component?.runnable) {
106
+ // @ts-ignore
107
+ component.inlineScriptName = detail.summary
108
+ }
109
+ }}
110
+ />
111
+ </div>
112
+
113
+ <div class="text-sm">Pick from workspace:</div>
114
+ <div class="flex gap-2">
115
+ <PickScript
116
+ kind="script"
117
+ on:pick={({ detail }) => {
118
+ if (component?.runnable) {
119
+ component['path'] = detail.path
120
+ component['runType'] = 'script'
121
+ }
122
+ }}
123
+ />
124
+ <PickFlow
125
+ on:pick={({ detail }) => {
126
+ if (component?.runnable) {
127
+ component['path'] = detail.path
128
+ component['runType'] = 'flow'
129
+ }
130
+ }}
131
+ />
132
+ </div>
133
+ {/if}
134
+ </PanelSection>
135
+ {/if}
136
+ {#if Object.values(component.inputs).length > 0}
137
+ <PanelSection title="Runnable inputs">
138
+ <InputsSpecsEditor bind:inputSpecs={component.inputs} />
139
+ </PanelSection>
140
+ {/if}
141
+
142
+ {#if Object.values(component.componentInputs).length > 0}
143
+ <PanelSection
144
+ title={`Component parameters (${Object.values(component.componentInputs).length})`}
145
+ >
146
+ <InputsSpecsEditor bind:inputSpecs={component.componentInputs} userInputEnabled={false} />
147
+ </PanelSection>
148
+ {/if}
149
+
150
+ {#if component.type === 'tablecomponent' && Array.isArray(component.actionButtons)}
151
+ <TableActions bind:components={component.actionButtons} />
152
+ {/if}
153
+
154
+ {#if component.verticalAlignment !== undefined}
155
+ <PanelSection title="Alignment">
156
+ <div class="w-full text-xs font-bold">Horizontal alignment</div>
157
+
158
+ <ToggleButtonGroup bind:selected={component.horizontalAlignment}>
159
+ <ToggleButton position="left" value="left" size="xs">
160
+ <Icon data={faAlignLeft} />
161
+ </ToggleButton>
162
+ <ToggleButton position="center" value="center" size="xs">
163
+ <Icon data={faAlignCenter} />
164
+ </ToggleButton>
165
+ <ToggleButton position="right" value="right" size="xs">
166
+ <Icon data={faAlignRight} />
167
+ </ToggleButton>
168
+ </ToggleButtonGroup>
169
+ <div class="w-full text-xs font-bold">Vertical alignment</div>
170
+
171
+ <ToggleButtonGroup bind:selected={component.verticalAlignment}>
172
+ <ToggleButton position="left" value="top" size="xs">
173
+ <Icon data={faAlignLeft} />
174
+ </ToggleButton>
175
+ <ToggleButton position="center" value="center" size="xs">
176
+ <Icon data={faAlignCenter} />
177
+ </ToggleButton>
178
+ <ToggleButton position="right" value="bottom" size="xs">
179
+ <Icon data={faAlignRight} />
180
+ </ToggleButton>
181
+ </ToggleButtonGroup>
182
+ </PanelSection>
183
+ {/if}
184
+ <PanelSection title="Danger zone">
185
+ <Button
186
+ size="xs"
187
+ color="red"
188
+ variant="border"
189
+ startIcon={{ icon: faTrashAlt }}
190
+ on:click={removeGridElement}
191
+ >
192
+ Delete component: {component.id}
193
+ </Button>
194
+ </PanelSection>
195
+ </div>
196
+ {/if}
@@ -0,0 +1,18 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { AppComponent } from '../../types';
3
+ declare const __propDef: {
4
+ props: {
5
+ component: AppComponent | undefined;
6
+ onDelete?: (() => void) | undefined;
7
+ };
8
+ events: {
9
+ [evt: string]: CustomEvent<any>;
10
+ };
11
+ slots: {};
12
+ };
13
+ export type ComponentPanelProps = typeof __propDef.props;
14
+ export type ComponentPanelEvents = typeof __propDef.events;
15
+ export type ComponentPanelSlots = typeof __propDef.slots;
16
+ export default class ComponentPanel extends SvelteComponentTyped<ComponentPanelProps, ComponentPanelEvents, ComponentPanelSlots> {
17
+ }
18
+ export {};
@@ -0,0 +1,64 @@
1
+ <script>import { Badge, Button } from '../../../common';
2
+ import { faLink } from '@fortawesome/free-solid-svg-icons';
3
+ import { getContext } from 'svelte';
4
+ export let input;
5
+ const { connectingInput, selectedComponent } = getContext('AppEditorContext');
6
+ function applyConnection() {
7
+ if (!$connectingInput.opened && $connectingInput.input !== undefined) {
8
+ input.id = $connectingInput.input.id;
9
+ input.name = $connectingInput.input.name;
10
+ // TODO: CHeck whether types are ok
11
+ // TODO: Check whether this is needed
12
+ $selectedComponent = $selectedComponent;
13
+ $connectingInput = {
14
+ opened: false,
15
+ input: undefined
16
+ };
17
+ }
18
+ }
19
+ $: $connectingInput && applyConnection();
20
+ </script>
21
+
22
+ {#if input.id && input.name}
23
+ <div class="flex justify-between w-full">
24
+ <span class="text-xs font-bold">Status</span>
25
+ <Badge color="green">Connected</Badge>
26
+ </div>
27
+ <div class="flex justify-between w-full">
28
+ <span class="text-xs font-bold">Component</span>
29
+ <Badge color="indigo">{input.id}</Badge>
30
+ </div>
31
+ <div class="flex justify-between w-full">
32
+ <span class="text-xs font-bold">Field name</span>
33
+ <Badge color="indigo">{input.name}</Badge>
34
+ </div>
35
+ <Button
36
+ size="xs"
37
+ startIcon={{ icon: faLink }}
38
+ color="red"
39
+ on:click={() => {
40
+ input.id = undefined
41
+ input.name = undefined
42
+ }}
43
+ >
44
+ Clear connection
45
+ </Button>
46
+ {:else}
47
+ <div class="flex justify-between w-full">
48
+ <span class="text-xs font-bold">Status</span>
49
+ <Badge color="dark-yellow">Not connected</Badge>
50
+ </div>
51
+ <Button
52
+ size="xs"
53
+ startIcon={{ icon: faLink }}
54
+ color="dark"
55
+ on:click={() => {
56
+ $connectingInput = {
57
+ opened: true,
58
+ input: undefined
59
+ }
60
+ }}
61
+ >
62
+ Connect this input to an output
63
+ </Button>
64
+ {/if}
@@ -0,0 +1,17 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { DynamicInput, InputType } from '../../types';
3
+ declare const __propDef: {
4
+ props: {
5
+ input: DynamicInput<InputType, any>;
6
+ };
7
+ events: {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: {};
11
+ };
12
+ export type DynamicInputEditorProps = typeof __propDef.props;
13
+ export type DynamicInputEditorEvents = typeof __propDef.events;
14
+ export type DynamicInputEditorSlots = typeof __propDef.slots;
15
+ export default class DynamicInputEditor extends SvelteComponentTyped<DynamicInputEditorProps, DynamicInputEditorEvents, DynamicInputEditorSlots> {
16
+ }
17
+ export {};
@@ -0,0 +1,11 @@
1
+ <script>import DynamicInputEditor from './DynamicInputEditor.svelte';
2
+ import StaticInputEditor from './StaticInputEditor.svelte';
3
+ export let appInputTransform;
4
+ export let canHide = false;
5
+ </script>
6
+
7
+ {#if appInputTransform.type === 'static'}
8
+ <StaticInputEditor bind:input={appInputTransform} {canHide} />
9
+ {:else if appInputTransform.type === 'output'}
10
+ <DynamicInputEditor bind:input={appInputTransform} />
11
+ {/if}
@@ -0,0 +1,18 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { AppInputTransform } from '../../types';
3
+ declare const __propDef: {
4
+ props: {
5
+ appInputTransform: AppInputTransform;
6
+ canHide?: boolean | undefined;
7
+ };
8
+ events: {
9
+ [evt: string]: CustomEvent<any>;
10
+ };
11
+ slots: {};
12
+ };
13
+ export type InputsSpecEditorProps = typeof __propDef.props;
14
+ export type InputsSpecEditorEvents = typeof __propDef.events;
15
+ export type InputsSpecEditorSlots = typeof __propDef.slots;
16
+ export default class InputsSpecEditor extends SvelteComponentTyped<InputsSpecEditorProps, InputsSpecEditorEvents, InputsSpecEditorSlots> {
17
+ }
18
+ export {};
@@ -0,0 +1,99 @@
1
+ <script>import { Badge, ToggleButton, ToggleButtonGroup } from '../../../common';
2
+ import { capitalize, classNames } from '../../../../utils';
3
+ import { faBolt, faLink, faUser } from '@fortawesome/free-solid-svg-icons';
4
+ import { fieldTypeToTsType } from '../../utils';
5
+ import InputsSpecEditor from './InputsSpecEditor.svelte';
6
+ export let inputSpecs;
7
+ export let userInputEnabled = true;
8
+ let openedProp = Object.keys(inputSpecs)[0];
9
+ const userTypeKeys = ['value'];
10
+ const staticTypeKeys = ['value'];
11
+ const dynamicTypeKeys = ['id', 'name'];
12
+ function sanitizeInputSpec(type, inputSpecKey) {
13
+ const inputSpec = inputSpecs[inputSpecKey];
14
+ if (type === 'user') {
15
+ for (const key of staticTypeKeys) {
16
+ delete inputSpec[key];
17
+ }
18
+ for (const key of dynamicTypeKeys) {
19
+ delete inputSpec[key];
20
+ }
21
+ }
22
+ else if (type === 'static') {
23
+ for (const key of userTypeKeys) {
24
+ delete inputSpec[key];
25
+ }
26
+ for (const key of dynamicTypeKeys) {
27
+ delete inputSpec[key];
28
+ }
29
+ }
30
+ else if (type === 'output') {
31
+ for (const key of userTypeKeys) {
32
+ delete inputSpec[key];
33
+ }
34
+ for (const key of staticTypeKeys) {
35
+ delete inputSpec[key];
36
+ }
37
+ }
38
+ inputSpecs[inputSpecKey] = inputSpec;
39
+ }
40
+ </script>
41
+
42
+ <div class="w-full flex flex-col gap-2">
43
+ {#each Object.keys(inputSpecs) as inputSpecKey, index (index)}
44
+ {@const input = inputSpecs[inputSpecKey]}
45
+ <div>
46
+ <div
47
+ class={classNames(
48
+ 'w-full text-xs font-bold py-1.5 px-2 cursor-pointer transition-all justify-between flex items-center border border-gray-3 rounded-md',
49
+ 'bg-white border-gray-300 hover:bg-gray-100 focus:bg-gray-100 text-gray-700',
50
+ openedProp === inputSpecKey ? 'outline outline-gray-500 outline-offset-1' : ''
51
+ )}
52
+ on:keypress
53
+ on:click={() => {
54
+ if (openedProp === inputSpecKey) {
55
+ openedProp = undefined
56
+ } else {
57
+ openedProp = inputSpecKey
58
+ }
59
+ }}
60
+ >
61
+ {inputSpecKey}
62
+ {#if input?.fieldType}
63
+ <Badge color={openedProp === inputSpecKey ? 'dark-blue' : 'blue'}>
64
+ {capitalize(fieldTypeToTsType(input.fieldType))}
65
+ </Badge>
66
+ {/if}
67
+ </div>
68
+ {#if inputSpecKey === openedProp}
69
+ <div class="flex flex-col w-full gap-2 my-2">
70
+ <ToggleButtonGroup
71
+ bind:selected={inputSpecs[inputSpecKey].type}
72
+ on:selected={({ detail }) => sanitizeInputSpec(detail, inputSpecKey)}
73
+ >
74
+ <ToggleButton position="left" value="static" startIcon={{ icon: faBolt }} size="xs">
75
+ Static
76
+ </ToggleButton>
77
+ <ToggleButton
78
+ position={userInputEnabled ? 'center' : 'right'}
79
+ value="output"
80
+ startIcon={{ icon: faLink }}
81
+ size="xs"
82
+ >
83
+ Dynamic
84
+ </ToggleButton>
85
+ {#if userInputEnabled}
86
+ <ToggleButton position="right" value="user" startIcon={{ icon: faUser }} size="xs">
87
+ User
88
+ </ToggleButton>
89
+ {/if}
90
+ </ToggleButtonGroup>
91
+ <InputsSpecEditor
92
+ bind:appInputTransform={inputSpecs[inputSpecKey]}
93
+ canHide={userInputEnabled}
94
+ />
95
+ </div>
96
+ {/if}
97
+ </div>
98
+ {/each}
99
+ </div>