windmill-components 1.52.0 → 1.55.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 (349) hide show
  1. package/components/ApiConnectForm.svelte +42 -7
  2. package/components/ApiConnectForm.svelte.d.ts +2 -1
  3. package/components/AppConnect.svelte +19 -11
  4. package/components/ArgInfo.svelte +6 -2
  5. package/components/ArgInput.svelte +9 -3
  6. package/components/ArgInput.svelte.d.ts +1 -0
  7. package/components/CenteredPage.svelte +1 -1
  8. package/components/CenteredPage.svelte.d.ts +6 -2
  9. package/components/CronInput.svelte +1 -1
  10. package/components/DisplayResult.svelte +39 -2
  11. package/components/Dropdown.svelte +73 -100
  12. package/components/Dropdown.svelte.d.ts +1 -3
  13. package/components/Editor.svelte +16 -5
  14. package/components/EditorBar.svelte +69 -63
  15. package/components/EditorBar.svelte.d.ts +1 -0
  16. package/components/FlowBuilder.svelte +74 -68
  17. package/components/FlowGraphViewer.svelte +136 -34
  18. package/components/FlowGraphViewer.svelte.d.ts +1 -0
  19. package/components/FlowJobResult.svelte +6 -1
  20. package/components/FlowJobResult.svelte.d.ts +2 -0
  21. package/components/FlowMetadata.svelte +4 -2
  22. package/components/FlowPreviewContent.svelte +10 -23
  23. package/components/FlowPreviewContent.svelte.d.ts +3 -0
  24. package/components/FlowStatusViewer.svelte +155 -30
  25. package/components/FlowStatusViewer.svelte.d.ts +4 -2
  26. package/components/FlowViewer.svelte +3 -3
  27. package/components/FlowViewer.svelte.d.ts +1 -0
  28. package/components/HighlightCode.svelte +1 -1
  29. package/components/HighlightCode.svelte.d.ts +1 -0
  30. package/components/IconedPath.svelte +16 -6
  31. package/components/IconedPath.svelte.d.ts +2 -0
  32. package/components/IconedResourceType.svelte +5 -2
  33. package/components/InputTransformForm.svelte +92 -73
  34. package/components/InviteGlobalUser.svelte +2 -2
  35. package/components/InviteGlobalUser.svelte.d.ts +1 -1
  36. package/components/InviteUser.svelte +20 -6
  37. package/components/InviteUser.svelte.d.ts +1 -1
  38. package/components/ItemPicker.svelte +38 -27
  39. package/components/ItemPicker.svelte.d.ts +2 -1
  40. package/components/JobStatus.svelte +19 -13
  41. package/components/LogViewer.svelte +11 -3
  42. package/components/LogViewer.svelte.d.ts +1 -0
  43. package/components/ModuleStatus.svelte +38 -0
  44. package/components/ModuleStatus.svelte.d.ts +18 -0
  45. package/components/ObjectResourceInput.svelte +8 -52
  46. package/components/ObjectResourceInput.svelte.d.ts +0 -1
  47. package/components/Path.svelte +2 -2
  48. package/components/Path.svelte.d.ts +1 -1
  49. package/components/Popover.svelte +7 -1
  50. package/components/Popover.svelte.d.ts +3 -1
  51. package/components/ResourceEditor.svelte +57 -29
  52. package/components/ResourcePicker.svelte +12 -2
  53. package/components/SchemaEditor.svelte +2 -1
  54. package/components/SchemaForm.svelte +2 -1
  55. package/components/SchemaForm.svelte.d.ts +1 -0
  56. package/components/SchemaModal.svelte +11 -10
  57. package/components/ScriptBuilder.svelte +207 -192
  58. package/components/ScriptBuilder.svelte.d.ts +1 -1
  59. package/components/ScriptEditor.svelte +49 -45
  60. package/components/ScriptEditor.svelte.d.ts +1 -0
  61. package/components/ScriptPicker.svelte.d.ts +1 -1
  62. package/components/ScriptSchema.svelte +11 -30
  63. package/components/ScriptSchema.svelte.d.ts +0 -1
  64. package/components/SharedBadge.svelte +2 -3
  65. package/components/SimpleEditor.svelte +6 -7
  66. package/components/SimpleEditor.svelte.d.ts +1 -0
  67. package/components/Star.svelte +2 -2
  68. package/components/SuperadminSettings.svelte +9 -38
  69. package/components/TableSimple.svelte +1 -1
  70. package/components/TestJobLoader.svelte +20 -8
  71. package/components/ToggleHubWorkspace.svelte +16 -0
  72. package/components/ToggleHubWorkspace.svelte.d.ts +16 -0
  73. package/components/Tooltip.svelte.d.ts +1 -1
  74. package/components/VariableEditor.svelte +22 -9
  75. package/components/apps/CreateApp.svelte +5 -2
  76. package/components/apps/CreateApp.svelte.d.ts +1 -1
  77. package/components/apps/components/DisplayComponent.svelte +7 -14
  78. package/components/apps/components/DisplayComponent.svelte.d.ts +3 -2
  79. package/components/apps/components/buttons/AppButton.svelte +34 -27
  80. package/components/apps/components/buttons/AppButton.svelte.d.ts +6 -6
  81. package/components/apps/components/dataDisplay/AppBarChart.svelte +33 -9
  82. package/components/apps/components/dataDisplay/AppBarChart.svelte.d.ts +3 -5
  83. package/components/apps/components/dataDisplay/AppPieChart.svelte +33 -12
  84. package/components/apps/components/dataDisplay/AppPieChart.svelte.d.ts +3 -5
  85. package/components/apps/components/dataDisplay/AppTable.svelte +27 -30
  86. package/components/apps/components/dataDisplay/AppTable.svelte.d.ts +4 -8
  87. package/components/apps/components/dataDisplay/AppText.svelte +16 -9
  88. package/components/apps/components/dataDisplay/AppText.svelte.d.ts +3 -2
  89. package/components/apps/components/dataDisplay/app.md +49 -0
  90. package/components/apps/components/form/AppForm.svelte +50 -0
  91. package/components/apps/components/form/AppForm.svelte.d.ts +25 -0
  92. package/components/apps/components/helpers/AlignWrapper.svelte +2 -1
  93. package/components/apps/components/helpers/AlignWrapper.svelte.d.ts +1 -0
  94. package/components/apps/components/helpers/DebouncedInput.svelte +9 -1
  95. package/components/apps/components/helpers/DebouncedInput.svelte.d.ts +2 -1
  96. package/components/apps/components/helpers/InputValue.svelte +15 -6
  97. package/components/apps/components/helpers/InputValue.svelte.d.ts +2 -2
  98. package/components/apps/components/helpers/NonRunnableComponent.svelte +20 -0
  99. package/components/apps/components/helpers/NonRunnableComponent.svelte.d.ts +21 -0
  100. package/components/apps/components/helpers/RunnableComponent.svelte +36 -30
  101. package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +6 -7
  102. package/components/apps/components/helpers/RunnableWrapper.svelte +32 -0
  103. package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +26 -0
  104. package/components/apps/components/numberInputs/AppNumberInput.svelte +36 -0
  105. package/components/apps/components/numberInputs/AppNumberInput.svelte.d.ts +20 -0
  106. package/components/apps/components/selectInputs/AppCheckbox.svelte +4 -2
  107. package/components/apps/components/selectInputs/AppCheckbox.svelte.d.ts +2 -2
  108. package/components/apps/components/textInputs/AppTextInput.svelte +21 -0
  109. package/components/apps/components/textInputs/AppTextInput.svelte.d.ts +20 -0
  110. package/components/apps/editor/AppEditor.svelte +66 -55
  111. package/components/apps/editor/AppEditorHeader.svelte +4 -4
  112. package/components/apps/editor/AppPreview.svelte +42 -0
  113. package/components/apps/editor/AppPreview.svelte.d.ts +17 -0
  114. package/components/apps/editor/ComponentEditor.svelte +41 -20
  115. package/components/apps/editor/ComponentEditor.svelte.d.ts +2 -0
  116. package/components/apps/editor/ComponentHeader.svelte +28 -0
  117. package/components/apps/editor/ComponentHeader.svelte.d.ts +20 -0
  118. package/components/apps/editor/GridEditor.svelte +54 -5
  119. package/components/apps/editor/GridEditor.svelte.d.ts +1 -1
  120. package/components/apps/editor/RecomputeAllComponents.svelte +28 -0
  121. package/components/apps/editor/RecomputeAllComponents.svelte.d.ts +14 -0
  122. package/components/apps/editor/componentsPanel/ComponentList.svelte +94 -26
  123. package/components/apps/editor/componentsPanel/ComponentList.svelte.d.ts +1 -1
  124. package/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +2 -6
  125. package/components/apps/editor/componentsPanel/componentDefaultProps.js +1 -5
  126. package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +2 -0
  127. package/components/apps/editor/componentsPanel/componentStaticValues.js +3 -1
  128. package/components/apps/editor/componentsPanel/data.js +191 -76
  129. package/components/apps/editor/contextPanel/ContextPanel.svelte +56 -48
  130. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +67 -0
  131. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +55 -0
  132. package/components/apps/editor/settingsPanel/ComponentPanel.svelte +154 -129
  133. package/components/apps/editor/settingsPanel/ConnectedInputEditor.svelte +70 -0
  134. package/components/apps/editor/settingsPanel/ConnectedInputEditor.svelte.d.ts +17 -0
  135. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +6 -6
  136. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +2 -2
  137. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +55 -87
  138. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +3 -4
  139. package/components/apps/editor/settingsPanel/PickFlow.svelte +3 -2
  140. package/components/apps/editor/settingsPanel/PickFlow.svelte.d.ts +1 -1
  141. package/components/apps/editor/settingsPanel/PickInlineScript.svelte +3 -3
  142. package/components/apps/editor/settingsPanel/Recompute.svelte +46 -0
  143. package/components/apps/editor/settingsPanel/Recompute.svelte.d.ts +17 -0
  144. package/components/apps/editor/settingsPanel/StaticInputEditor.svelte +31 -14
  145. package/components/apps/editor/settingsPanel/StaticInputEditor.svelte.d.ts +3 -3
  146. package/components/apps/editor/settingsPanel/SubTypeEditor.svelte +17 -0
  147. package/components/apps/editor/settingsPanel/SubTypeEditor.svelte.d.ts +19 -0
  148. package/components/apps/editor/settingsPanel/TableActionLabel.svelte +10 -0
  149. package/components/apps/editor/settingsPanel/TableActionLabel.svelte.d.ts +17 -0
  150. package/components/apps/editor/settingsPanel/TableActions.svelte +13 -9
  151. package/components/apps/editor/settingsPanel/UserInputEditor.svelte.d.ts +1 -1
  152. package/components/apps/editor/settingsPanel/common/PanelSection.svelte +3 -2
  153. package/components/apps/editor/settingsPanel/common/PanelSection.svelte.d.ts +1 -0
  154. package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte +53 -0
  155. package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte.d.ts +21 -0
  156. package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +98 -0
  157. package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte.d.ts +18 -0
  158. package/components/apps/editor/settingsPanel/mainInput/WorkspaceFlowList.svelte +81 -0
  159. package/components/apps/editor/settingsPanel/mainInput/WorkspaceFlowList.svelte.d.ts +20 -0
  160. package/components/apps/editor/settingsPanel/mainInput/WorkspaceScriptList.svelte +81 -0
  161. package/components/apps/editor/settingsPanel/mainInput/WorkspaceScriptList.svelte.d.ts +20 -0
  162. package/components/apps/inputType.d.ts +62 -0
  163. package/components/apps/inputType.js +1 -0
  164. package/components/apps/rx.d.ts +4 -4
  165. package/components/apps/rx.js +16 -4
  166. package/components/apps/types.d.ts +20 -54
  167. package/components/apps/utils.d.ts +11 -34
  168. package/components/apps/utils.js +54 -18
  169. package/components/common/alert/Alert.svelte +2 -1
  170. package/components/common/alert/Alert.svelte.d.ts +1 -0
  171. package/components/common/button/Button.svelte +1 -1
  172. package/components/common/confirmationModal/UnsavedConfirmationModal.svelte.d.ts +1 -1
  173. package/components/common/drawer/DrawerContent.svelte +23 -22
  174. package/components/common/drawer/DrawerContent.svelte.d.ts +1 -3
  175. package/components/common/kbd/Kbd.svelte.d.ts +2 -2
  176. package/components/common/languageIcons/LanguageIcon.svelte +4 -2
  177. package/components/common/languageIcons/LanguageIcon.svelte.d.ts +1 -1
  178. package/components/common/menu/Menu.svelte +0 -1
  179. package/components/common/menu/MenuItem.svelte.d.ts +6 -2
  180. package/components/common/popup/Popup.svelte +0 -11
  181. package/components/common/table/AppRow.svelte +42 -26
  182. package/components/common/table/AppRow.svelte.d.ts +1 -1
  183. package/components/common/table/FlowRow.svelte +54 -49
  184. package/components/common/table/LanguageBadge.svelte +1 -1
  185. package/components/common/table/Row.svelte +27 -16
  186. package/components/common/table/Row.svelte.d.ts +2 -1
  187. package/components/common/table/RowIcon.svelte +13 -8
  188. package/components/common/table/ScriptRow.svelte +65 -57
  189. package/components/common/table/Table.svelte.d.ts +6 -2
  190. package/components/flows/CreateActionsFlow.svelte +14 -41
  191. package/components/flows/CreateActionsFlow.svelte.d.ts +1 -1
  192. package/components/flows/common/FlowCardHeader.svelte +7 -8
  193. package/components/flows/content/BranchPredicateEditor.svelte +30 -0
  194. package/components/flows/content/BranchPredicateEditor.svelte.d.ts +23 -0
  195. package/components/flows/content/CapturePayload.svelte +12 -8
  196. package/components/flows/content/DynamicInputHelpBox.svelte.d.ts +1 -1
  197. package/components/flows/content/FlowBranchAllWrapper.svelte +2 -2
  198. package/components/flows/content/FlowBranchOneWrapper.svelte +4 -36
  199. package/components/flows/content/FlowBranchesAllWrapper.svelte +91 -0
  200. package/components/flows/content/FlowBranchesAllWrapper.svelte.d.ts +18 -0
  201. package/components/flows/content/FlowBranchesOneWrapper.svelte +88 -0
  202. package/components/flows/content/FlowBranchesOneWrapper.svelte.d.ts +18 -0
  203. package/components/flows/content/FlowFailureModule.svelte.d.ts +1 -1
  204. package/components/flows/content/FlowInput.svelte +1 -2
  205. package/components/flows/content/FlowInput.svelte.d.ts +1 -1
  206. package/components/flows/content/FlowInputs.svelte +28 -26
  207. package/components/flows/content/FlowInputsFlow.svelte +101 -0
  208. package/components/flows/content/FlowInputsFlow.svelte.d.ts +20 -0
  209. package/components/flows/content/FlowLoop.svelte +10 -3
  210. package/components/flows/content/FlowModuleComponent.svelte +46 -35
  211. package/components/flows/content/FlowModuleEarlyStop.svelte +4 -3
  212. package/components/flows/content/FlowModuleHeader.svelte +22 -21
  213. package/components/flows/content/FlowModuleHeader.svelte.d.ts +1 -0
  214. package/components/flows/content/FlowModuleSleep.svelte +69 -0
  215. package/components/flows/content/FlowModuleSleep.svelte.d.ts +18 -0
  216. package/components/flows/content/FlowModuleSuspend.svelte +5 -63
  217. package/components/flows/content/FlowModuleSuspend.svelte.d.ts +0 -1
  218. package/components/flows/content/FlowModuleWrapper.svelte +59 -35
  219. package/components/flows/content/FlowPathViewer.svelte +20 -0
  220. package/components/flows/content/FlowPathViewer.svelte.d.ts +17 -0
  221. package/components/flows/content/FlowSchedules.svelte.d.ts +1 -1
  222. package/components/flows/content/FlowSettings.svelte +8 -12
  223. package/components/flows/flowState.js +2 -2
  224. package/components/flows/flowStateUtils.d.ts +7 -3
  225. package/components/flows/flowStateUtils.js +29 -8
  226. package/components/flows/header/FlowImportExportMenu.svelte.d.ts +1 -1
  227. package/components/flows/header/FlowPreviewButtons.svelte +6 -2
  228. package/components/flows/header/FlowPreviewButtons.svelte.d.ts +1 -1
  229. package/components/flows/map/FlowErrorHandlerItem.svelte +5 -5
  230. package/components/flows/map/FlowErrorHandlerItem.svelte.d.ts +1 -1
  231. package/components/flows/map/FlowInputsItem.svelte.d.ts +1 -1
  232. package/components/flows/map/FlowModuleSchemaItem.svelte +30 -11
  233. package/components/flows/map/FlowModuleSchemaMap.svelte +26 -20
  234. package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -1
  235. package/components/flows/map/FlowSettingsItem.svelte +1 -1
  236. package/components/flows/map/FlowSettingsItem.svelte.d.ts +1 -1
  237. package/components/flows/map/InsertModuleButton.svelte +20 -4
  238. package/components/flows/map/InsertModuleButton.svelte.d.ts +1 -1
  239. package/components/flows/map/MapItem.svelte +11 -5
  240. package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +1 -1
  241. package/components/flows/pickers/PickHubFlow.svelte +72 -0
  242. package/components/flows/pickers/PickHubFlow.svelte.d.ts +20 -0
  243. package/components/flows/pickers/PickHubScript.svelte +65 -56
  244. package/components/flows/pickers/PickHubScript.svelte.d.ts +3 -1
  245. package/components/flows/pickers/PickScript.svelte +2 -2
  246. package/components/flows/pickers/WorkspaceScriptPicker.svelte +79 -19
  247. package/components/flows/pickers/WorkspaceScriptPicker.svelte.d.ts +5 -1
  248. package/components/flows/previousResults.d.ts +1 -0
  249. package/components/flows/previousResults.js +2 -1
  250. package/components/flows/propPicker/PropPickerWrapper.svelte +9 -1
  251. package/components/flows/utils.d.ts +0 -1
  252. package/components/flows/utils.js +6 -6
  253. package/components/graph/FlowGraph.svelte +120 -54
  254. package/components/graph/FlowGraph.svelte.d.ts +3 -2
  255. package/components/graph/model.d.ts +11 -0
  256. package/components/home/ItemsList.svelte +265 -0
  257. package/components/home/ItemsList.svelte.d.ts +16 -0
  258. package/components/home/ListFilters.svelte +37 -0
  259. package/components/home/ListFilters.svelte.d.ts +18 -0
  260. package/components/home/NoItemFound.svelte +6 -0
  261. package/components/home/NoItemFound.svelte.d.ts +23 -0
  262. package/components/icons/DatadogIcon.svelte +48 -0
  263. package/components/icons/DatadogIcon.svelte.d.ts +17 -0
  264. package/components/icons/FunkwhaleIcon.svelte +90 -0
  265. package/components/icons/FunkwhaleIcon.svelte.d.ts +17 -0
  266. package/components/icons/GdocsIcon.svelte +9 -0
  267. package/components/icons/GdocsIcon.svelte.d.ts +17 -0
  268. package/components/icons/HubspotIcon.svelte +9 -0
  269. package/components/icons/HubspotIcon.svelte.d.ts +17 -0
  270. package/components/icons/LinkedinIcon.svelte +9 -0
  271. package/components/icons/LinkedinIcon.svelte.d.ts +17 -0
  272. package/components/icons/Mail.svelte +9 -53
  273. package/components/icons/Mysql.svelte +8 -8
  274. package/components/icons/NextcloudIcon.svelte +9 -0
  275. package/components/icons/NextcloudIcon.svelte.d.ts +17 -0
  276. package/components/icons/QRCodeIcon.svelte +5 -0
  277. package/components/icons/QRCodeIcon.svelte.d.ts +16 -0
  278. package/components/icons/SendflakeIcon.svelte +15 -0
  279. package/components/icons/SendflakeIcon.svelte.d.ts +17 -0
  280. package/components/icons/StripeIcon.svelte +9 -0
  281. package/components/icons/StripeIcon.svelte.d.ts +17 -0
  282. package/components/icons/TelegramIcon.svelte +9 -0
  283. package/components/icons/TelegramIcon.svelte.d.ts +17 -0
  284. package/components/icons/WindmillIcon.svelte +3 -3
  285. package/components/icons/index.d.ts +23 -1
  286. package/components/icons/index.js +23 -1
  287. package/components/jobs/JobDetail.svelte +2 -2
  288. package/components/preview/FlowPreviewStatus.svelte +12 -23
  289. package/components/propertyPicker/PropPicker.svelte +16 -0
  290. package/components/propertyPicker/PropPickerResult.svelte +2 -3
  291. package/components/propertyPicker/WarningMessage.svelte.d.ts +6 -2
  292. package/components/scriptEditor/LogPanel.svelte +11 -4
  293. package/components/scripts/CreateActionsScript.svelte +13 -59
  294. package/components/scripts/CreateActionsScript.svelte.d.ts +1 -1
  295. package/components/sidebar/FavoriteMenu.svelte +52 -0
  296. package/components/sidebar/FavoriteMenu.svelte.d.ts +21 -0
  297. package/components/sidebar/SidebarContent.svelte +10 -19
  298. package/components/sidebar/SidebarContent.svelte.d.ts +0 -4
  299. package/components/sidebar/UserMenu.svelte +21 -4
  300. package/components/sidebar/WorkspaceMenu.svelte +6 -7
  301. package/editorUtils.d.ts +2 -0
  302. package/editorUtils.js +3 -1
  303. package/gen/core/OpenAPI.js +1 -1
  304. package/gen/index.d.ts +1 -0
  305. package/gen/models/CompletedJob.d.ts +1 -0
  306. package/gen/models/CreateWorkspace.d.ts +0 -1
  307. package/gen/models/EditWorkspaceUser.d.ts +2 -0
  308. package/gen/models/FlowModuleValue.d.ts +2 -1
  309. package/gen/models/FlowStatus.d.ts +3 -1
  310. package/gen/models/FlowStatusModule.d.ts +1 -1
  311. package/gen/models/FlowStatusModule.js +1 -1
  312. package/gen/models/Identity.d.ts +1 -0
  313. package/gen/models/ListableResource.d.ts +1 -0
  314. package/gen/models/ListableVariable.d.ts +1 -0
  315. package/gen/models/PathFlow.d.ts +6 -0
  316. package/gen/models/PathFlow.js +4 -0
  317. package/gen/models/PathScript.d.ts +1 -0
  318. package/gen/models/QueuedJob.d.ts +1 -0
  319. package/gen/models/Schedule.d.ts +2 -0
  320. package/gen/models/Usage.d.ts +1 -3
  321. package/gen/models/WorkspaceInvite.d.ts +1 -0
  322. package/gen/services/AppService.d.ts +7 -1
  323. package/gen/services/AppService.js +2 -1
  324. package/gen/services/JobService.d.ts +35 -5
  325. package/gen/services/JobService.js +14 -5
  326. package/gen/services/OauthService.d.ts +1 -1
  327. package/gen/services/ResourceService.d.ts +6 -2
  328. package/gen/services/ResourceService.js +2 -1
  329. package/gen/services/UserService.d.ts +6 -0
  330. package/gen/services/UserService.js +11 -0
  331. package/gen/services/WorkspaceService.d.ts +35 -0
  332. package/gen/services/WorkspaceService.js +41 -0
  333. package/package.json +56 -17
  334. package/script_helpers.d.ts +2 -1
  335. package/script_helpers.js +20 -3
  336. package/scripts.d.ts +1 -0
  337. package/scripts.js +8 -1
  338. package/stores.d.ts +11 -2
  339. package/stores.js +24 -6
  340. package/utils.d.ts +3 -1
  341. package/utils.js +11 -4
  342. package/components/ButtonAndDropdown.svelte +0 -25
  343. package/components/ButtonAndDropdown.svelte.d.ts +0 -23
  344. package/components/apps/components/index.d.ts +0 -22
  345. package/components/apps/components/index.js +0 -42
  346. package/components/apps/editor/settingsPanel/DynamicInputEditor.svelte +0 -64
  347. package/components/apps/editor/settingsPanel/DynamicInputEditor.svelte.d.ts +0 -17
  348. package/components/flows/content/FlowBranchesWrapper.svelte +0 -140
  349. package/components/flows/content/FlowBranchesWrapper.svelte.d.ts +0 -19
@@ -1,38 +1,39 @@
1
1
  <script>import { ToggleButton, ToggleButtonGroup } from '../../../common';
2
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';
3
+ import { faArrowRight, faClose, faCode, faMinimize, faPen, faTrashAlt } from '@fortawesome/free-solid-svg-icons';
4
+ import { AlignStartHorizontal, AlignStartVertical, AlignCenterHorizontal, AlignCenterVertical, AlignEndHorizontal, AlignEndVertical } from 'lucide-svelte';
5
5
  import { getContext } from 'svelte';
6
- import Icon from 'svelte-awesome';
7
6
  import PanelSection from './common/PanelSection.svelte';
8
7
  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
8
  import TableActions from './TableActions.svelte';
13
- import { capitalize } from '../../../../utils';
9
+ import StaticInputEditor from './StaticInputEditor.svelte';
10
+ import ConnectedInputEditor from './ConnectedInputEditor.svelte';
14
11
  import Badge from '../../../common/badge/Badge.svelte';
15
- import { gridColumns } from '../../gridUtils';
16
- import { Plus } from 'svelte-lucide';
12
+ import { capitalize } from '../../../../utils';
13
+ import { fieldTypeToTsType } from '../../utils';
14
+ import Recompute from './Recompute.svelte';
15
+ import Alert from '../../../common/alert/Alert.svelte';
16
+ import RunnableSelector from './mainInput/RunnableSelector.svelte';
17
17
  export let component;
18
18
  export let onDelete = undefined;
19
- const { app, staticOutputs } = getContext('AppEditorContext');
19
+ const { app, staticOutputs, runnableComponents } = getContext('AppEditorContext');
20
20
  function removeGridElement() {
21
21
  if (onDelete && component) {
22
22
  delete $staticOutputs[component.id];
23
23
  $staticOutputs = $staticOutputs;
24
+ delete $runnableComponents[component.id];
25
+ $runnableComponents = $runnableComponents;
24
26
  onDelete();
25
27
  // Delete static inputs
26
28
  }
27
29
  else {
28
30
  if (component) {
29
31
  $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
32
  // Delete static inputs
34
33
  delete $staticOutputs[component.id];
35
34
  $staticOutputs = $staticOutputs;
35
+ delete $runnableComponents[component.id];
36
+ $runnableComponents = $runnableComponents;
36
37
  }
37
38
  }
38
39
  }
@@ -40,110 +41,111 @@ function removeGridElement() {
40
41
 
41
42
  {#if component}
42
43
  <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
44
+ {#if component.componentInput}
45
+ <PanelSection title="Main input">
46
+ <svelte:fragment slot="action">
47
+ <Badge color="blue">
48
+ {component.componentInput.fieldType === 'array' && component.componentInput.subFieldType
49
+ ? `${capitalize(fieldTypeToTsType(component.componentInput.subFieldType))}[]`
50
+ : capitalize(fieldTypeToTsType(component.componentInput.fieldType))}
51
+ </Badge>
52
+ </svelte:fragment>
53
+ <div class="w-full">
54
+ <ToggleButtonGroup bind:selected={component.componentInput.type}>
55
+ <ToggleButton
56
+ position="left"
57
+ value="static"
58
+ startIcon={{ icon: faPen }}
49
59
  size="xs"
50
- color="red"
51
- startIcon={{ icon: faClose }}
52
- on:click={() => {
53
- if (component) {
54
- component['inlineScriptName'] = undefined
55
- }
56
- }}
60
+ disable={component.type === 'buttoncomponent'}
57
61
  >
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
62
+ Static
63
+ </ToggleButton>
64
+ <ToggleButton
65
+ value="connected"
66
+ position="center"
67
+ startIcon={{ icon: faArrowRight }}
70
68
  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
69
  >
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"
70
+ Connected
71
+ </ToggleButton>
72
+ <ToggleButton position="right" value="runnable" startIcon={{ icon: faCode }} size="xs">
73
+ Computed
74
+ </ToggleButton>
75
+ </ToggleButtonGroup>
76
+ </div>
77
+ <div class="flex flex-col w-full gap-2 my-2">
78
+ {#if component.componentInput.type === 'static'}
79
+ <StaticInputEditor bind:componentInput={component.componentInput} />
80
+ {:else if component.componentInput.type === 'connected' && component.componentInput !== undefined}
81
+ <ConnectedInputEditor bind:componentInput={component.componentInput} />
82
+ {:else if component && component.componentInput?.type === 'runnable' && component.componentInput.runnable}
83
+ <div class="flex justify-between w-full items-center">
84
+ <span class="text-xs">
85
+ {component.componentInput.runnable.type === 'runnableByName'
86
+ ? component.componentInput.runnable.inlineScriptName
87
+ : component.componentInput.runnable.path}
88
+ </span>
89
+ <Button
90
+ size="xs"
91
+ color="red"
92
+ variant="border"
93
+ startIcon={{ icon: faClose }}
94
+ on:click={() => {
95
+ if (component?.componentInput?.type === 'runnable') {
96
+ component.componentInput.runnable = undefined
97
+ component.componentInput.fields = {}
98
+ component = component
99
+ }
100
+ }}
101
+ >
102
+ Clear
103
+ </Button>
104
+ </div>
105
+ {:else}
106
+ <RunnableSelector
107
+ inlineScripts={Object.keys($app.inlineScripts)}
108
+ bind:componentInput={component.componentInput}
109
+ />
110
+ {/if}
111
+ </div>
112
+ {#if component.componentInput?.type === 'runnable' && Object.keys(component.componentInput.fields ?? {}).length > 0}
113
+ <div class="border w-full">
114
+ <PanelSection
115
+ title={`Runnable inputs (${
116
+ Object.keys(component.componentInput.fields ?? {}).length
117
+ })`}
118
+ smallPadding
94
119
  >
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>
120
+ {#if component.type === 'buttoncomponent'}
121
+ <Alert title="Button inputs" type="info" size="xs">
122
+ The runnable inputs of a button component are not settable by the user. They must
123
+ be defined statically or connected.
124
+ </Alert>
125
+ {/if}
101
126
 
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
- />
127
+ <InputsSpecsEditor
128
+ bind:inputSpecs={component.componentInput.fields}
129
+ userInputEnabled={component.type !== 'buttoncomponent'}
130
+ />
131
+ </PanelSection>
111
132
  </div>
133
+ {/if}
112
134
 
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
- />
135
+ {#if component.type === 'buttoncomponent'}
136
+ <div class="w-full">
137
+ <Alert size="xs" type="warning" title="Result output">
138
+ This input is not directly used by the component. It is piped to the component's
139
+ <code>result</code> output.
140
+ </Alert>
132
141
  </div>
133
142
  {/if}
134
143
  </PanelSection>
135
144
  {/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
145
 
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} />
146
+ {#if Object.values(component.configuration).length > 0}
147
+ <PanelSection title={`Configuration (${Object.values(component.configuration).length})`}>
148
+ <InputsSpecsEditor bind:inputSpecs={component.configuration} userInputEnabled={false} />
147
149
  </PanelSection>
148
150
  {/if}
149
151
 
@@ -153,34 +155,57 @@ function removeGridElement() {
153
155
 
154
156
  {#if component.verticalAlignment !== undefined}
155
157
  <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>
158
+ <svelte:fragment slot="action">
159
+ <Button
160
+ size="xs"
161
+ on:click={() => {
162
+ if (component) {
163
+ component.verticalAlignment = 'center'
164
+ component.horizontalAlignment = 'center'
165
+ }
166
+ }}
167
+ startIcon={{ icon: faMinimize }}
168
+ >
169
+ Center
170
+ </Button>
171
+ </svelte:fragment>
172
+ <div class="w-full text-xs font-semibold">Horizontal alignment</div>
170
173
 
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>
174
+ <div class="w-full">
175
+ <ToggleButtonGroup bind:selected={component.horizontalAlignment}>
176
+ <ToggleButton position="left" value="left" size="xs">
177
+ <AlignStartVertical size={16} />
178
+ </ToggleButton>
179
+ <ToggleButton position="center" value="center" size="xs">
180
+ <AlignCenterVertical size={16} />
181
+ </ToggleButton>
182
+ <ToggleButton position="right" value="right" size="xs">
183
+ <AlignEndVertical size={16} />
184
+ </ToggleButton>
185
+ </ToggleButtonGroup>
186
+ </div>
187
+ {#if component.type !== 'formcomponent'}
188
+ <div class="w-full text-xs font-semibold">Vertical alignment</div>
189
+ <div class="w-full">
190
+ <ToggleButtonGroup bind:selected={component.verticalAlignment}>
191
+ <ToggleButton position="left" value="top" size="xs">
192
+ <AlignStartHorizontal size={16} />
193
+ </ToggleButton>
194
+ <ToggleButton position="center" value="center" size="xs">
195
+ <AlignCenterHorizontal size={16} />
196
+ </ToggleButton>
197
+ <ToggleButton position="right" value="bottom" size="xs">
198
+ <AlignEndHorizontal size={16} />
199
+ </ToggleButton>
200
+ </ToggleButtonGroup>
201
+ </div>
202
+ {/if}
182
203
  </PanelSection>
183
204
  {/if}
205
+ {#if component.type === 'buttoncomponent' || component.type === 'formcomponent'}
206
+ <Recompute bind:recomputeIds={component.recomputeIds} ownId={component.id} />
207
+ {/if}
208
+
184
209
  <PanelSection title="Danger zone">
185
210
  <Button
186
211
  size="xs"
@@ -0,0 +1,70 @@
1
+ <script>import { Badge, Button } from '../../../common';
2
+ import { faArrowRight, faClose } from '@fortawesome/free-solid-svg-icons';
3
+ import { getContext } from 'svelte';
4
+ export let componentInput;
5
+ const { connectingInput } = getContext('AppEditorContext');
6
+ function applyConnection() {
7
+ if (!$connectingInput.opened &&
8
+ $connectingInput.input !== undefined &&
9
+ componentInput.type === 'connected' &&
10
+ !componentInput.connection) {
11
+ debugger;
12
+ componentInput.connection = $connectingInput.input.connection;
13
+ $connectingInput = {
14
+ opened: false,
15
+ input: undefined
16
+ };
17
+ }
18
+ }
19
+ $: $connectingInput && applyConnection();
20
+ </script>
21
+
22
+ {#if componentInput.type === 'connected'}
23
+ {#if componentInput.connection}
24
+ <div class="flex justify-between w-full">
25
+ <span class="text-xs">Status</span>
26
+ <Badge color="green">Connected</Badge>
27
+ </div>
28
+ <div class="flex justify-between w-full">
29
+ <span class="text-xs">Component</span>
30
+ <Badge color="indigo">{componentInput.connection.componentId}</Badge>
31
+ </div>
32
+ <div class="flex justify-between w-full">
33
+ <span class="text-xs">Path</span>
34
+ <Badge color="indigo">{componentInput.connection.path}</Badge>
35
+ </div>
36
+ <Button
37
+ size="xs"
38
+ startIcon={{ icon: faClose }}
39
+ color="red"
40
+ variant="border"
41
+ on:click={() => {
42
+ if (componentInput.type === 'connected') {
43
+ componentInput.connection = undefined
44
+ }
45
+ }}
46
+ >
47
+ Disconnect
48
+ </Button>
49
+ {:else}
50
+ <div class="flex justify-between w-full">
51
+ <span class="text-xs">Status</span>
52
+ <Badge color="yellow">Not connected</Badge>
53
+ </div>
54
+ <Button
55
+ size="xs"
56
+ endIcon={{ icon: faArrowRight }}
57
+ color="blue"
58
+ on:click={() => {
59
+ if (componentInput.type === 'connected') {
60
+ $connectingInput = {
61
+ opened: true,
62
+ input: undefined
63
+ }
64
+ }
65
+ }}
66
+ >
67
+ Connect
68
+ </Button>
69
+ {/if}
70
+ {/if}
@@ -0,0 +1,17 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { AppInput } from '../../inputType';
3
+ declare const __propDef: {
4
+ props: {
5
+ componentInput: AppInput;
6
+ };
7
+ events: {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: {};
11
+ };
12
+ export type ConnectedInputEditorProps = typeof __propDef.props;
13
+ export type ConnectedInputEditorEvents = typeof __propDef.events;
14
+ export type ConnectedInputEditorSlots = typeof __propDef.slots;
15
+ export default class ConnectedInputEditor extends SvelteComponentTyped<ConnectedInputEditorProps, ConnectedInputEditorEvents, ConnectedInputEditorSlots> {
16
+ }
17
+ export {};
@@ -1,11 +1,11 @@
1
- <script>import DynamicInputEditor from './DynamicInputEditor.svelte';
1
+ <script>import ConnectedInputEditor from './ConnectedInputEditor.svelte';
2
2
  import StaticInputEditor from './StaticInputEditor.svelte';
3
- export let appInputTransform;
3
+ export let componentInput;
4
4
  export let canHide = false;
5
5
  </script>
6
6
 
7
- {#if appInputTransform.type === 'static'}
8
- <StaticInputEditor bind:input={appInputTransform} {canHide} />
9
- {:else if appInputTransform.type === 'output'}
10
- <DynamicInputEditor bind:input={appInputTransform} />
7
+ {#if componentInput.type === 'static'}
8
+ <StaticInputEditor bind:componentInput {canHide} />
9
+ {:else if componentInput.type === 'connected'}
10
+ <ConnectedInputEditor bind:componentInput />
11
11
  {/if}
@@ -1,8 +1,8 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
- import type { AppInputTransform } from '../../types';
2
+ import type { ConnectedAppInput, StaticAppInput, UserAppInput } from '../../inputType';
3
3
  declare const __propDef: {
4
4
  props: {
5
- appInputTransform: AppInputTransform;
5
+ componentInput: StaticAppInput | ConnectedAppInput | UserAppInput;
6
6
  canHide?: boolean | undefined;
7
7
  };
8
8
  events: {
@@ -1,99 +1,67 @@
1
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';
2
+ import { capitalize } from '../../../../utils';
3
+ import { faArrowRight, faPen, faUser } from '@fortawesome/free-solid-svg-icons';
4
4
  import { fieldTypeToTsType } from '../../utils';
5
5
  import InputsSpecEditor from './InputsSpecEditor.svelte';
6
6
  export let inputSpecs;
7
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
- }
8
+ export let staticOnly = false;
40
9
  </script>
41
10
 
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>
11
+ {#if inputSpecs}
12
+ <div class="w-full flex flex-col gap-4">
13
+ {#each Object.keys(inputSpecs) as inputSpecKey, index (index)}
14
+ {@const input = inputSpecs[inputSpecKey]}
15
+ {#if true}
16
+ <div class="flex flex-col gap-2">
17
+ <div class="flex justify-between items-center">
18
+ <span class="text-xs font-semibold">{capitalize(inputSpecKey)}</span>
19
+
20
+ <div class="flex gap-2 items-center">
21
+ <Badge color="blue">
22
+ {input.fieldType === 'array' && input.subFieldType
23
+ ? `${capitalize(fieldTypeToTsType(input.subFieldType))}[]`
24
+ : capitalize(fieldTypeToTsType(input.fieldType))}
25
+ </Badge>
26
+
27
+ <ToggleButtonGroup bind:selected={inputSpecs[inputSpecKey].type}>
28
+ <ToggleButton
29
+ position="left"
30
+ value="static"
31
+ startIcon={{ icon: faPen }}
32
+ size="xs"
33
+ iconOnly
34
+ />
35
+ <ToggleButton
36
+ position={userInputEnabled ? 'center' : 'right'}
37
+ value="connected"
38
+ startIcon={{ icon: faArrowRight }}
39
+ size="xs"
40
+ iconOnly
41
+ disabled={staticOnly}
42
+ />
43
+ {#if userInputEnabled}
44
+ <ToggleButton
45
+ position="right"
46
+ value="user"
47
+ startIcon={{ icon: faUser }}
48
+ size="xs"
49
+ iconOnly
50
+ disabled={staticOnly && !userInputEnabled}
51
+ />
52
+ {/if}
53
+ </ToggleButtonGroup>
54
+ </div>
55
+ </div>
56
+
91
57
  <InputsSpecEditor
92
- bind:appInputTransform={inputSpecs[inputSpecKey]}
58
+ bind:componentInput={inputSpecs[inputSpecKey]}
93
59
  canHide={userInputEnabled}
94
60
  />
95
61
  </div>
96
62
  {/if}
97
- </div>
98
- {/each}
99
- </div>
63
+ {/each}
64
+ </div>
65
+ {:else}
66
+ <div class="text-gray-500 text-sm">No inputs</div>
67
+ {/if}
@@ -1,13 +1,12 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
- import type { InputsSpec } from '../../types';
2
+ import type { ConnectedAppInput, StaticAppInput, UserAppInput } from '../../inputType';
3
3
  declare const __propDef: {
4
4
  props: {
5
- inputSpecs: InputsSpec;
5
+ inputSpecs: Record<string, StaticAppInput | ConnectedAppInput | UserAppInput>;
6
6
  userInputEnabled?: boolean | undefined;
7
+ staticOnly?: boolean | undefined;
7
8
  };
8
9
  events: {
9
- keypress: KeyboardEvent;
10
- } & {
11
10
  [evt: string]: CustomEvent<any>;
12
11
  };
13
12
  slots: {};
@@ -3,7 +3,8 @@ import { FlowService } from '../../../../gen';
3
3
  import { workspaceStore } from '../../../../stores';
4
4
  import { createEventDispatcher } from 'svelte';
5
5
  import Button from '../../../common/button/Button.svelte';
6
- import { Wind } from 'svelte-lucide';
6
+ import { Icon } from 'svelte-awesome';
7
+ import { faBarsStaggered } from '@fortawesome/free-solid-svg-icons';
7
8
  let itemPicker;
8
9
  const dispatch = createEventDispatcher();
9
10
  async function loadItems() {
@@ -30,7 +31,7 @@ async function loadItems() {
30
31
  color="light"
31
32
  >
32
33
  <div class="flex justify-center flex-col items-center gap-2">
33
- <Wind size="18px" />
34
+ <Icon data={faBarsStaggered} scale={0.8} class="mr-1" />
34
35
 
35
36
  <span class="text-xs">Flow</span>
36
37
  </div>