windmill-components 1.52.0 → 1.55.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) 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 +5 -5
  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/RunForm.svelte +1 -1
  54. package/components/SchemaEditor.svelte +2 -1
  55. package/components/SchemaForm.svelte +2 -1
  56. package/components/SchemaForm.svelte.d.ts +1 -0
  57. package/components/SchemaModal.svelte +11 -10
  58. package/components/ScriptBuilder.svelte +207 -192
  59. package/components/ScriptBuilder.svelte.d.ts +1 -1
  60. package/components/ScriptEditor.svelte +49 -45
  61. package/components/ScriptEditor.svelte.d.ts +1 -0
  62. package/components/ScriptPicker.svelte.d.ts +1 -1
  63. package/components/ScriptSchema.svelte +11 -30
  64. package/components/ScriptSchema.svelte.d.ts +0 -1
  65. package/components/SharedBadge.svelte +2 -3
  66. package/components/SimpleEditor.svelte +6 -7
  67. package/components/SimpleEditor.svelte.d.ts +1 -0
  68. package/components/Star.svelte +2 -2
  69. package/components/SuperadminSettings.svelte +9 -38
  70. package/components/TableSimple.svelte +1 -1
  71. package/components/TestJobLoader.svelte +20 -8
  72. package/components/ToggleHubWorkspace.svelte +16 -0
  73. package/components/ToggleHubWorkspace.svelte.d.ts +16 -0
  74. package/components/Tooltip.svelte.d.ts +1 -1
  75. package/components/VariableEditor.svelte +22 -9
  76. package/components/apps/CreateApp.svelte +5 -2
  77. package/components/apps/CreateApp.svelte.d.ts +1 -1
  78. package/components/apps/components/DisplayComponent.svelte +7 -14
  79. package/components/apps/components/DisplayComponent.svelte.d.ts +3 -2
  80. package/components/apps/components/buttons/AppButton.svelte +34 -27
  81. package/components/apps/components/buttons/AppButton.svelte.d.ts +6 -6
  82. package/components/apps/components/dataDisplay/AppBarChart.svelte +33 -9
  83. package/components/apps/components/dataDisplay/AppBarChart.svelte.d.ts +3 -5
  84. package/components/apps/components/dataDisplay/AppPieChart.svelte +33 -12
  85. package/components/apps/components/dataDisplay/AppPieChart.svelte.d.ts +3 -5
  86. package/components/apps/components/dataDisplay/AppTable.svelte +27 -30
  87. package/components/apps/components/dataDisplay/AppTable.svelte.d.ts +4 -8
  88. package/components/apps/components/dataDisplay/AppText.svelte +16 -9
  89. package/components/apps/components/dataDisplay/AppText.svelte.d.ts +3 -2
  90. package/components/apps/components/dataDisplay/app.md +49 -0
  91. package/components/apps/components/form/AppForm.svelte +50 -0
  92. package/components/apps/components/form/AppForm.svelte.d.ts +25 -0
  93. package/components/apps/components/helpers/AlignWrapper.svelte +2 -1
  94. package/components/apps/components/helpers/AlignWrapper.svelte.d.ts +1 -0
  95. package/components/apps/components/helpers/DebouncedInput.svelte +9 -1
  96. package/components/apps/components/helpers/DebouncedInput.svelte.d.ts +2 -1
  97. package/components/apps/components/helpers/InputValue.svelte +15 -6
  98. package/components/apps/components/helpers/InputValue.svelte.d.ts +2 -2
  99. package/components/apps/components/helpers/NonRunnableComponent.svelte +20 -0
  100. package/components/apps/components/helpers/NonRunnableComponent.svelte.d.ts +21 -0
  101. package/components/apps/components/helpers/RunnableComponent.svelte +36 -30
  102. package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +6 -7
  103. package/components/apps/components/helpers/RunnableWrapper.svelte +32 -0
  104. package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +26 -0
  105. package/components/apps/components/numberInputs/AppNumberInput.svelte +36 -0
  106. package/components/apps/components/numberInputs/AppNumberInput.svelte.d.ts +20 -0
  107. package/components/apps/components/selectInputs/AppCheckbox.svelte +4 -2
  108. package/components/apps/components/selectInputs/AppCheckbox.svelte.d.ts +2 -2
  109. package/components/apps/components/textInputs/AppTextInput.svelte +21 -0
  110. package/components/apps/components/textInputs/AppTextInput.svelte.d.ts +20 -0
  111. package/components/apps/editor/AppEditor.svelte +66 -55
  112. package/components/apps/editor/AppEditorHeader.svelte +4 -4
  113. package/components/apps/editor/AppPreview.svelte +42 -0
  114. package/components/apps/editor/AppPreview.svelte.d.ts +17 -0
  115. package/components/apps/editor/ComponentEditor.svelte +41 -20
  116. package/components/apps/editor/ComponentEditor.svelte.d.ts +2 -0
  117. package/components/apps/editor/ComponentHeader.svelte +28 -0
  118. package/components/apps/editor/ComponentHeader.svelte.d.ts +20 -0
  119. package/components/apps/editor/GridEditor.svelte +54 -5
  120. package/components/apps/editor/GridEditor.svelte.d.ts +1 -1
  121. package/components/apps/editor/RecomputeAllComponents.svelte +28 -0
  122. package/components/apps/editor/RecomputeAllComponents.svelte.d.ts +14 -0
  123. package/components/apps/editor/componentsPanel/ComponentList.svelte +94 -26
  124. package/components/apps/editor/componentsPanel/ComponentList.svelte.d.ts +1 -1
  125. package/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +2 -6
  126. package/components/apps/editor/componentsPanel/componentDefaultProps.js +1 -5
  127. package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +2 -0
  128. package/components/apps/editor/componentsPanel/componentStaticValues.js +3 -1
  129. package/components/apps/editor/componentsPanel/data.js +191 -76
  130. package/components/apps/editor/contextPanel/ContextPanel.svelte +56 -48
  131. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +67 -0
  132. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +55 -0
  133. package/components/apps/editor/settingsPanel/ComponentPanel.svelte +154 -129
  134. package/components/apps/editor/settingsPanel/ConnectedInputEditor.svelte +70 -0
  135. package/components/apps/editor/settingsPanel/ConnectedInputEditor.svelte.d.ts +17 -0
  136. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +6 -6
  137. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +2 -2
  138. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +55 -87
  139. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +3 -4
  140. package/components/apps/editor/settingsPanel/PickFlow.svelte +3 -2
  141. package/components/apps/editor/settingsPanel/PickFlow.svelte.d.ts +1 -1
  142. package/components/apps/editor/settingsPanel/PickInlineScript.svelte +3 -3
  143. package/components/apps/editor/settingsPanel/Recompute.svelte +46 -0
  144. package/components/apps/editor/settingsPanel/Recompute.svelte.d.ts +17 -0
  145. package/components/apps/editor/settingsPanel/StaticInputEditor.svelte +31 -14
  146. package/components/apps/editor/settingsPanel/StaticInputEditor.svelte.d.ts +3 -3
  147. package/components/apps/editor/settingsPanel/SubTypeEditor.svelte +17 -0
  148. package/components/apps/editor/settingsPanel/SubTypeEditor.svelte.d.ts +19 -0
  149. package/components/apps/editor/settingsPanel/TableActionLabel.svelte +10 -0
  150. package/components/apps/editor/settingsPanel/TableActionLabel.svelte.d.ts +17 -0
  151. package/components/apps/editor/settingsPanel/TableActions.svelte +13 -9
  152. package/components/apps/editor/settingsPanel/UserInputEditor.svelte.d.ts +1 -1
  153. package/components/apps/editor/settingsPanel/common/PanelSection.svelte +3 -2
  154. package/components/apps/editor/settingsPanel/common/PanelSection.svelte.d.ts +1 -0
  155. package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte +53 -0
  156. package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte.d.ts +21 -0
  157. package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +98 -0
  158. package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte.d.ts +18 -0
  159. package/components/apps/editor/settingsPanel/mainInput/WorkspaceFlowList.svelte +81 -0
  160. package/components/apps/editor/settingsPanel/mainInput/WorkspaceFlowList.svelte.d.ts +20 -0
  161. package/components/apps/editor/settingsPanel/mainInput/WorkspaceScriptList.svelte +81 -0
  162. package/components/apps/editor/settingsPanel/mainInput/WorkspaceScriptList.svelte.d.ts +20 -0
  163. package/components/apps/inputType.d.ts +62 -0
  164. package/components/apps/inputType.js +1 -0
  165. package/components/apps/rx.d.ts +4 -4
  166. package/components/apps/rx.js +16 -4
  167. package/components/apps/types.d.ts +20 -54
  168. package/components/apps/utils.d.ts +11 -34
  169. package/components/apps/utils.js +54 -18
  170. package/components/common/alert/Alert.svelte +2 -1
  171. package/components/common/alert/Alert.svelte.d.ts +1 -0
  172. package/components/common/button/Button.svelte +1 -1
  173. package/components/common/confirmationModal/UnsavedConfirmationModal.svelte.d.ts +1 -1
  174. package/components/common/drawer/DrawerContent.svelte +23 -22
  175. package/components/common/drawer/DrawerContent.svelte.d.ts +1 -3
  176. package/components/common/kbd/Kbd.svelte.d.ts +2 -2
  177. package/components/common/languageIcons/LanguageIcon.svelte +4 -2
  178. package/components/common/languageIcons/LanguageIcon.svelte.d.ts +1 -1
  179. package/components/common/menu/Menu.svelte +0 -1
  180. package/components/common/menu/MenuItem.svelte.d.ts +6 -2
  181. package/components/common/popup/Popup.svelte +0 -13
  182. package/components/common/popup/Popup.svelte.d.ts +0 -4
  183. package/components/common/table/AppRow.svelte +42 -26
  184. package/components/common/table/AppRow.svelte.d.ts +1 -1
  185. package/components/common/table/FlowRow.svelte +54 -49
  186. package/components/common/table/LanguageBadge.svelte +1 -1
  187. package/components/common/table/Row.svelte +27 -16
  188. package/components/common/table/Row.svelte.d.ts +2 -1
  189. package/components/common/table/RowIcon.svelte +13 -8
  190. package/components/common/table/ScriptRow.svelte +65 -57
  191. package/components/common/table/Table.svelte.d.ts +6 -2
  192. package/components/flows/CreateActionsFlow.svelte +14 -41
  193. package/components/flows/CreateActionsFlow.svelte.d.ts +1 -1
  194. package/components/flows/common/FlowCardHeader.svelte +7 -8
  195. package/components/flows/content/BranchPredicateEditor.svelte +30 -0
  196. package/components/flows/content/BranchPredicateEditor.svelte.d.ts +23 -0
  197. package/components/flows/content/CapturePayload.svelte +12 -8
  198. package/components/flows/content/DynamicInputHelpBox.svelte.d.ts +1 -1
  199. package/components/flows/content/FlowBranchAllWrapper.svelte +2 -2
  200. package/components/flows/content/FlowBranchOneWrapper.svelte +4 -36
  201. package/components/flows/content/FlowBranchesAllWrapper.svelte +91 -0
  202. package/components/flows/content/FlowBranchesAllWrapper.svelte.d.ts +18 -0
  203. package/components/flows/content/FlowBranchesOneWrapper.svelte +88 -0
  204. package/components/flows/content/FlowBranchesOneWrapper.svelte.d.ts +18 -0
  205. package/components/flows/content/FlowFailureModule.svelte.d.ts +1 -1
  206. package/components/flows/content/FlowInput.svelte +1 -2
  207. package/components/flows/content/FlowInput.svelte.d.ts +1 -1
  208. package/components/flows/content/FlowInputs.svelte +28 -26
  209. package/components/flows/content/FlowInputsFlow.svelte +101 -0
  210. package/components/flows/content/FlowInputsFlow.svelte.d.ts +20 -0
  211. package/components/flows/content/FlowLoop.svelte +10 -3
  212. package/components/flows/content/FlowModuleComponent.svelte +46 -35
  213. package/components/flows/content/FlowModuleEarlyStop.svelte +4 -3
  214. package/components/flows/content/FlowModuleHeader.svelte +22 -21
  215. package/components/flows/content/FlowModuleHeader.svelte.d.ts +1 -0
  216. package/components/flows/content/FlowModuleSleep.svelte +69 -0
  217. package/components/flows/content/FlowModuleSleep.svelte.d.ts +18 -0
  218. package/components/flows/content/FlowModuleSuspend.svelte +5 -63
  219. package/components/flows/content/FlowModuleSuspend.svelte.d.ts +0 -1
  220. package/components/flows/content/FlowModuleWrapper.svelte +59 -35
  221. package/components/flows/content/FlowPathViewer.svelte +20 -0
  222. package/components/flows/content/FlowPathViewer.svelte.d.ts +17 -0
  223. package/components/flows/content/FlowSchedules.svelte.d.ts +1 -1
  224. package/components/flows/content/FlowSettings.svelte +11 -13
  225. package/components/flows/flowState.js +2 -2
  226. package/components/flows/flowStateUtils.d.ts +7 -3
  227. package/components/flows/flowStateUtils.js +29 -8
  228. package/components/flows/header/FlowImportExportMenu.svelte.d.ts +1 -1
  229. package/components/flows/header/FlowPreviewButtons.svelte +17 -11
  230. package/components/flows/header/FlowPreviewButtons.svelte.d.ts +1 -1
  231. package/components/flows/map/FlowErrorHandlerItem.svelte +5 -5
  232. package/components/flows/map/FlowErrorHandlerItem.svelte.d.ts +1 -1
  233. package/components/flows/map/FlowInputsItem.svelte.d.ts +1 -1
  234. package/components/flows/map/FlowModuleSchemaItem.svelte +30 -11
  235. package/components/flows/map/FlowModuleSchemaMap.svelte +26 -20
  236. package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -1
  237. package/components/flows/map/FlowSettingsItem.svelte +1 -1
  238. package/components/flows/map/FlowSettingsItem.svelte.d.ts +1 -1
  239. package/components/flows/map/InsertModuleButton.svelte +20 -4
  240. package/components/flows/map/InsertModuleButton.svelte.d.ts +1 -1
  241. package/components/flows/map/MapItem.svelte +11 -5
  242. package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +1 -1
  243. package/components/flows/pickers/PickHubFlow.svelte +72 -0
  244. package/components/flows/pickers/PickHubFlow.svelte.d.ts +20 -0
  245. package/components/flows/pickers/PickHubScript.svelte +65 -56
  246. package/components/flows/pickers/PickHubScript.svelte.d.ts +3 -1
  247. package/components/flows/pickers/PickScript.svelte +2 -2
  248. package/components/flows/pickers/WorkspaceScriptPicker.svelte +79 -19
  249. package/components/flows/pickers/WorkspaceScriptPicker.svelte.d.ts +5 -1
  250. package/components/flows/previousResults.d.ts +1 -0
  251. package/components/flows/previousResults.js +2 -1
  252. package/components/flows/propPicker/PropPickerWrapper.svelte +9 -1
  253. package/components/flows/utils.d.ts +0 -1
  254. package/components/flows/utils.js +6 -6
  255. package/components/graph/FlowGraph.svelte +121 -55
  256. package/components/graph/FlowGraph.svelte.d.ts +3 -2
  257. package/components/graph/model.d.ts +46 -1
  258. package/components/home/ItemsList.svelte +265 -0
  259. package/components/home/ItemsList.svelte.d.ts +16 -0
  260. package/components/home/ListFilters.svelte +37 -0
  261. package/components/home/ListFilters.svelte.d.ts +18 -0
  262. package/components/home/NoItemFound.svelte +6 -0
  263. package/components/home/NoItemFound.svelte.d.ts +23 -0
  264. package/components/icons/DatadogIcon.svelte +48 -0
  265. package/components/icons/DatadogIcon.svelte.d.ts +17 -0
  266. package/components/icons/FunkwhaleIcon.svelte +90 -0
  267. package/components/icons/FunkwhaleIcon.svelte.d.ts +17 -0
  268. package/components/icons/GdocsIcon.svelte +9 -0
  269. package/components/icons/GdocsIcon.svelte.d.ts +17 -0
  270. package/components/icons/HubspotIcon.svelte +9 -0
  271. package/components/icons/HubspotIcon.svelte.d.ts +17 -0
  272. package/components/icons/LinkedinIcon.svelte +9 -0
  273. package/components/icons/LinkedinIcon.svelte.d.ts +17 -0
  274. package/components/icons/Mail.svelte +9 -53
  275. package/components/icons/Mysql.svelte +8 -8
  276. package/components/icons/NextcloudIcon.svelte +9 -0
  277. package/components/icons/NextcloudIcon.svelte.d.ts +17 -0
  278. package/components/icons/QRCodeIcon.svelte +5 -0
  279. package/components/icons/QRCodeIcon.svelte.d.ts +16 -0
  280. package/components/icons/SendflakeIcon.svelte +15 -0
  281. package/components/icons/SendflakeIcon.svelte.d.ts +17 -0
  282. package/components/icons/StripeIcon.svelte +9 -0
  283. package/components/icons/StripeIcon.svelte.d.ts +17 -0
  284. package/components/icons/TelegramIcon.svelte +9 -0
  285. package/components/icons/TelegramIcon.svelte.d.ts +17 -0
  286. package/components/icons/WindmillIcon.svelte +3 -3
  287. package/components/icons/index.d.ts +23 -1
  288. package/components/icons/index.js +23 -1
  289. package/components/jobs/JobDetail.svelte +2 -2
  290. package/components/preview/FlowPreviewStatus.svelte +12 -23
  291. package/components/propertyPicker/PropPicker.svelte +16 -0
  292. package/components/propertyPicker/PropPickerResult.svelte +2 -3
  293. package/components/propertyPicker/WarningMessage.svelte.d.ts +6 -2
  294. package/components/scriptEditor/LogPanel.svelte +11 -4
  295. package/components/scripts/CreateActionsScript.svelte +13 -59
  296. package/components/scripts/CreateActionsScript.svelte.d.ts +1 -1
  297. package/components/sidebar/FavoriteMenu.svelte +52 -0
  298. package/components/sidebar/FavoriteMenu.svelte.d.ts +21 -0
  299. package/components/sidebar/SidebarContent.svelte +10 -19
  300. package/components/sidebar/SidebarContent.svelte.d.ts +0 -4
  301. package/components/sidebar/UserMenu.svelte +21 -4
  302. package/components/sidebar/WorkspaceMenu.svelte +6 -7
  303. package/editorUtils.d.ts +2 -0
  304. package/editorUtils.js +3 -1
  305. package/gen/core/OpenAPI.js +1 -1
  306. package/gen/index.d.ts +1 -0
  307. package/gen/models/CompletedJob.d.ts +1 -0
  308. package/gen/models/CreateWorkspace.d.ts +0 -1
  309. package/gen/models/EditWorkspaceUser.d.ts +2 -0
  310. package/gen/models/FlowModuleValue.d.ts +2 -1
  311. package/gen/models/FlowStatus.d.ts +3 -1
  312. package/gen/models/FlowStatusModule.d.ts +1 -1
  313. package/gen/models/FlowStatusModule.js +1 -1
  314. package/gen/models/Identity.d.ts +1 -0
  315. package/gen/models/ListableResource.d.ts +1 -0
  316. package/gen/models/ListableVariable.d.ts +1 -0
  317. package/gen/models/PathFlow.d.ts +6 -0
  318. package/gen/models/PathFlow.js +4 -0
  319. package/gen/models/PathScript.d.ts +1 -0
  320. package/gen/models/QueuedJob.d.ts +1 -0
  321. package/gen/models/Schedule.d.ts +2 -0
  322. package/gen/models/Usage.d.ts +1 -3
  323. package/gen/models/WorkspaceInvite.d.ts +1 -0
  324. package/gen/services/AppService.d.ts +7 -1
  325. package/gen/services/AppService.js +2 -1
  326. package/gen/services/JobService.d.ts +35 -5
  327. package/gen/services/JobService.js +14 -5
  328. package/gen/services/OauthService.d.ts +1 -1
  329. package/gen/services/ResourceService.d.ts +6 -2
  330. package/gen/services/ResourceService.js +2 -1
  331. package/gen/services/UserService.d.ts +6 -0
  332. package/gen/services/UserService.js +11 -0
  333. package/gen/services/WorkspaceService.d.ts +35 -0
  334. package/gen/services/WorkspaceService.js +41 -0
  335. package/package.json +461 -422
  336. package/script_helpers.d.ts +2 -1
  337. package/script_helpers.js +20 -3
  338. package/scripts.d.ts +1 -0
  339. package/scripts.js +8 -1
  340. package/stores.d.ts +11 -2
  341. package/stores.js +24 -6
  342. package/utils.d.ts +3 -1
  343. package/utils.js +11 -4
  344. package/components/ButtonAndDropdown.svelte +0 -25
  345. package/components/ButtonAndDropdown.svelte.d.ts +0 -23
  346. package/components/apps/components/index.d.ts +0 -22
  347. package/components/apps/components/index.js +0 -42
  348. package/components/apps/editor/settingsPanel/DynamicInputEditor.svelte +0 -64
  349. package/components/apps/editor/settingsPanel/DynamicInputEditor.svelte.d.ts +0 -17
  350. package/components/flows/content/FlowBranchesWrapper.svelte +0 -140
  351. package/components/flows/content/FlowBranchesWrapper.svelte.d.ts +0 -19
@@ -0,0 +1,17 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ height?: string | undefined;
5
+ width?: string | undefined;
6
+ };
7
+ events: {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: {};
11
+ };
12
+ export type StripeIconProps = typeof __propDef.props;
13
+ export type StripeIconEvents = typeof __propDef.events;
14
+ export type StripeIconSlots = typeof __propDef.slots;
15
+ export default class StripeIcon extends SvelteComponentTyped<StripeIconProps, StripeIconEvents, StripeIconSlots> {
16
+ }
17
+ export {};
@@ -0,0 +1,9 @@
1
+ <script>export let height = '24px';
2
+ export let width = '24px';
3
+ </script>
4
+
5
+ <svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" {width} {height} viewBox="0 0 50 50">
6
+ <path
7
+ d="M 44.376953 5.9863281 C 43.889905 6.0076957 43.415817 6.1432497 42.988281 6.3144531 C 42.565113 6.4845113 40.128883 7.5243408 36.53125 9.0625 C 32.933617 10.600659 28.256963 12.603668 23.621094 14.589844 C 14.349356 18.562196 5.2382813 22.470703 5.2382812 22.470703 L 5.3046875 22.445312 C 5.3046875 22.445312 4.7547875 22.629122 4.1972656 23.017578 C 3.9185047 23.211806 3.6186028 23.462555 3.3730469 23.828125 C 3.127491 24.193695 2.9479735 24.711788 3.015625 25.259766 C 3.2532479 27.184511 5.2480469 27.730469 5.2480469 27.730469 L 5.2558594 27.734375 L 14.158203 30.78125 C 14.385177 31.538434 16.858319 39.792923 17.402344 41.541016 C 17.702797 42.507484 17.984013 43.064995 18.277344 43.445312 C 18.424133 43.635633 18.577962 43.782915 18.748047 43.890625 C 18.815627 43.933415 18.8867 43.965525 18.957031 43.994141 C 18.958531 43.994806 18.959437 43.99348 18.960938 43.994141 C 18.969579 43.997952 18.977708 43.998295 18.986328 44.001953 L 18.962891 43.996094 C 18.979231 44.002694 18.995359 44.013801 19.011719 44.019531 C 19.043456 44.030655 19.062905 44.030268 19.103516 44.039062 C 20.123059 44.395042 20.966797 43.734375 20.966797 43.734375 L 21.001953 43.707031 L 26.470703 38.634766 L 35.345703 45.554688 L 35.457031 45.605469 C 37.010484 46.295216 38.415349 45.910403 39.193359 45.277344 C 39.97137 44.644284 40.277344 43.828125 40.277344 43.828125 L 40.310547 43.742188 L 46.832031 9.7519531 C 46.998903 8.9915162 47.022612 8.334202 46.865234 7.7402344 C 46.707857 7.1462668 46.325492 6.6299361 45.845703 6.34375 C 45.365914 6.0575639 44.864001 5.9649605 44.376953 5.9863281 z M 44.429688 8.0195312 C 44.627491 8.0103707 44.774102 8.032983 44.820312 8.0605469 C 44.866523 8.0881109 44.887272 8.0844829 44.931641 8.2519531 C 44.976011 8.419423 45.000036 8.7721605 44.878906 9.3242188 L 44.875 9.3359375 L 38.390625 43.128906 C 38.375275 43.162926 38.240151 43.475531 37.931641 43.726562 C 37.616914 43.982653 37.266874 44.182554 36.337891 43.792969 L 26.632812 36.224609 L 26.359375 36.009766 L 26.353516 36.015625 L 23.451172 33.837891 L 39.761719 14.648438 A 1.0001 1.0001 0 0 0 38.974609 13 A 1.0001 1.0001 0 0 0 38.445312 13.167969 L 14.84375 28.902344 L 5.9277344 25.849609 C 5.9277344 25.849609 5.0423771 25.356927 5 25.013672 C 4.99765 24.994652 4.9871961 25.011869 5.0332031 24.943359 C 5.0792101 24.874869 5.1948546 24.759225 5.3398438 24.658203 C 5.6298218 24.456159 5.9609375 24.333984 5.9609375 24.333984 L 5.9941406 24.322266 L 6.0273438 24.308594 C 6.0273438 24.308594 15.138894 20.399882 24.410156 16.427734 C 29.045787 14.44166 33.721617 12.440122 37.318359 10.902344 C 40.914175 9.3649615 43.512419 8.2583658 43.732422 8.1699219 C 43.982886 8.0696253 44.231884 8.0286918 44.429688 8.0195312 z M 33.613281 18.792969 L 21.244141 33.345703 L 21.238281 33.351562 A 1.0001 1.0001 0 0 0 21.183594 33.423828 A 1.0001 1.0001 0 0 0 21.128906 33.507812 A 1.0001 1.0001 0 0 0 20.998047 33.892578 A 1.0001 1.0001 0 0 0 20.998047 33.900391 L 19.386719 41.146484 C 19.35993 41.068197 19.341173 41.039555 19.3125 40.947266 L 19.3125 40.945312 C 18.800713 39.30085 16.467362 31.5161 16.144531 30.439453 L 33.613281 18.792969 z M 22.640625 35.730469 L 24.863281 37.398438 L 21.597656 40.425781 L 22.640625 35.730469 z"
8
+ />
9
+ </svg>
@@ -0,0 +1,17 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ height?: string | undefined;
5
+ width?: string | undefined;
6
+ };
7
+ events: {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: {};
11
+ };
12
+ export type TelegramIconProps = typeof __propDef.props;
13
+ export type TelegramIconEvents = typeof __propDef.events;
14
+ export type TelegramIconSlots = typeof __propDef.slots;
15
+ export default class TelegramIcon extends SvelteComponentTyped<TelegramIconProps, TelegramIconEvents, TelegramIconSlots> {
16
+ }
17
+ export {};
@@ -27,13 +27,13 @@ export let white = false;
27
27
  fill: #ffffff;
28
28
  }
29
29
  .st2 {
30
- fill: #999;
30
+ fill: #bcd4fc;
31
31
  }
32
32
  .st3 {
33
- fill: black;
33
+ fill: #3b82f6;
34
34
  }
35
35
  .st4 {
36
- fill: #999;
36
+ fill: #b3b3b3;
37
37
  }
38
38
  .st5 {
39
39
  fill: url(#SVGID_1_);
@@ -20,6 +20,16 @@ import TogglIcon from './TogglIcon.svelte';
20
20
  import WindmillIcon from './WindmillIcon.svelte';
21
21
  import MailchimpIcon from './MailchimpIcon.svelte';
22
22
  import SendgridIcon from './SendgridIcon.svelte';
23
+ import SendflakeIcon from './SendflakeIcon.svelte';
24
+ import QRCodeIcon from './QRCodeIcon.svelte';
25
+ import LinkedinIcon from './LinkedinIcon.svelte';
26
+ import HubspotIcon from './HubspotIcon.svelte';
27
+ import DatadogIcon from './DatadogIcon.svelte';
28
+ import StripeIcon from './StripeIcon.svelte';
29
+ import TelegramIcon from './TelegramIcon.svelte';
30
+ import FunkwhaleIcon from './FunkwhaleIcon.svelte';
31
+ import GdocsIcon from './GdocsIcon.svelte';
32
+ import NextcloudIcon from './NextcloudIcon.svelte';
23
33
  export declare const APP_TO_ICON_COMPONENT: {
24
34
  readonly postgresql: typeof PostgresIcon;
25
35
  readonly mysql: typeof Mysql;
@@ -44,5 +54,17 @@ export declare const APP_TO_ICON_COMPONENT: {
44
54
  readonly http: typeof HttpIcon;
45
55
  readonly mailchimp: typeof MailchimpIcon;
46
56
  readonly sendgrid: typeof SendgridIcon;
57
+ readonly snowflake: typeof SendflakeIcon;
58
+ readonly qrcode: typeof QRCodeIcon;
59
+ readonly linkedin: typeof LinkedinIcon;
60
+ readonly hubspot: typeof HubspotIcon;
61
+ readonly datadog: typeof DatadogIcon;
62
+ readonly stripe: typeof StripeIcon;
63
+ readonly telegram: typeof TelegramIcon;
64
+ readonly funkwhale: typeof FunkwhaleIcon;
65
+ readonly helper: typeof WindmillIcon;
66
+ readonly windmillhub: typeof WindmillIcon;
67
+ readonly gdocs: typeof GdocsIcon;
68
+ readonly ocs: typeof NextcloudIcon;
47
69
  };
48
- export { AirtableIcon, DbIcon, DiscordIcon, GcalIcon, GCloudIcon, GdriveIcon, GithubIcon, GitlabIcon, GmailIcon, GSheetsIcon, HttpIcon, Mail, MastodonIcon, MatrixIcon, Mysql, PostgresIcon, S3Icon, Slack, TogglIcon, WindmillIcon, MailchimpIcon, SendgridIcon, };
70
+ export { AirtableIcon, DbIcon, DiscordIcon, GcalIcon, GCloudIcon, GdriveIcon, GithubIcon, GitlabIcon, GmailIcon, GSheetsIcon, HttpIcon, Mail, MastodonIcon, MatrixIcon, Mysql, PostgresIcon, S3Icon, Slack, TogglIcon, WindmillIcon, MailchimpIcon, SendgridIcon, LinkedinIcon, HubspotIcon, TelegramIcon, StripeIcon, DatadogIcon, FunkwhaleIcon, GdocsIcon, };
@@ -20,6 +20,16 @@ import TogglIcon from './TogglIcon.svelte';
20
20
  import WindmillIcon from './WindmillIcon.svelte';
21
21
  import MailchimpIcon from './MailchimpIcon.svelte';
22
22
  import SendgridIcon from './SendgridIcon.svelte';
23
+ import SendflakeIcon from './SendflakeIcon.svelte';
24
+ import QRCodeIcon from './QRCodeIcon.svelte';
25
+ import LinkedinIcon from './LinkedinIcon.svelte';
26
+ import HubspotIcon from './HubspotIcon.svelte';
27
+ import DatadogIcon from './DatadogIcon.svelte';
28
+ import StripeIcon from './StripeIcon.svelte';
29
+ import TelegramIcon from './TelegramIcon.svelte';
30
+ import FunkwhaleIcon from './FunkwhaleIcon.svelte';
31
+ import GdocsIcon from './GdocsIcon.svelte';
32
+ import NextcloudIcon from './NextcloudIcon.svelte';
23
33
  export const APP_TO_ICON_COMPONENT = {
24
34
  postgresql: PostgresIcon,
25
35
  mysql: Mysql,
@@ -44,5 +54,17 @@ export const APP_TO_ICON_COMPONENT = {
44
54
  http: HttpIcon,
45
55
  mailchimp: MailchimpIcon,
46
56
  sendgrid: SendgridIcon,
57
+ snowflake: SendflakeIcon,
58
+ qrcode: QRCodeIcon,
59
+ linkedin: LinkedinIcon,
60
+ hubspot: HubspotIcon,
61
+ datadog: DatadogIcon,
62
+ stripe: StripeIcon,
63
+ telegram: TelegramIcon,
64
+ funkwhale: FunkwhaleIcon,
65
+ helper: WindmillIcon,
66
+ windmillhub: WindmillIcon,
67
+ gdocs: GdocsIcon,
68
+ ocs: NextcloudIcon
47
69
  };
48
- export { AirtableIcon, DbIcon, DiscordIcon, GcalIcon, GCloudIcon, GdriveIcon, GithubIcon, GitlabIcon, GmailIcon, GSheetsIcon, HttpIcon, Mail, MastodonIcon, MatrixIcon, Mysql, PostgresIcon, S3Icon, Slack, TogglIcon, WindmillIcon, MailchimpIcon, SendgridIcon, };
70
+ export { AirtableIcon, DbIcon, DiscordIcon, GcalIcon, GCloudIcon, GdriveIcon, GithubIcon, GitlabIcon, GmailIcon, GSheetsIcon, HttpIcon, Mail, MastodonIcon, MatrixIcon, Mysql, PostgresIcon, S3Icon, Slack, TogglIcon, WindmillIcon, MailchimpIcon, SendgridIcon, LinkedinIcon, HubspotIcon, TelegramIcon, StripeIcon, DatadogIcon, FunkwhaleIcon, GdocsIcon, };
@@ -1,7 +1,7 @@
1
1
  <script>import { goto } from '$app/navigation';
2
2
  import { page } from '$app/stores';
3
3
  import { displayDate, displayDaysAgo, forLater, msToSec, truncateHash, truncateRev } from '../../utils';
4
- import { faCalendar, faCircle, faClock, faFastForward, faHourglassHalf, faRobot, faSearch, faTimes, faUser, faWind } from '@fortawesome/free-solid-svg-icons';
4
+ import { faCalendar, faCircle, faClock, faFastForward, faHourglassHalf, faRobot, faSearch, faTimes, faUser, faBarsStaggered } from '@fortawesome/free-solid-svg-icons';
5
5
  import Icon from 'svelte-awesome';
6
6
  import { check } from 'svelte-awesome/icons';
7
7
  import { Badge } from '../common';
@@ -121,7 +121,7 @@ export let job;
121
121
  <div>
122
122
  {#if job && job.parent_job}
123
123
  {#if job.is_flow_step}
124
- <Icon class="text-gray-700" data={faWind} scale={SMALL_ICON_SCALE} /><span
124
+ <Icon class="text-gray-700" data={faBarsStaggered} scale={SMALL_ICON_SCALE} /><span
125
125
  class="mx-2"
126
126
  >
127
127
  Step of flow <a href={`/run/${job.parent_job}`}>{truncateRev(job.parent_job, 6)}</a
@@ -2,27 +2,16 @@
2
2
  export let job;
3
3
  </script>
4
4
 
5
- <div class="overflow-x-auto relative">
6
- <table class="text-sm text-left text-gray-500 dark:text-gray-400">
7
- <tbody>
8
- <tr>
9
- <th scope="row" class="py-2 pr-6 font-bold text-gray-900 whitespace-nowrap dark:text-white">
10
- Status
11
- </th>
12
- <td class="py-2 "> <JobStatus {job} /></td>
13
- </tr>
14
- {#if job}
15
- <tr>
16
- <th scope="row" class="py-2 pr-6 font-bold text-gray-900 whitespace-nowrap ">
17
- Job Id
18
- </th>
19
- <td class="py-2">
20
- <a rel="noreferrer" target="_blank" href="/run/{job?.id}?workspace={job?.workspace_id}">
21
- {job?.id}
22
- </a>
23
- </td>
24
- </tr>
25
- {/if}
26
- </tbody>
27
- </table>
5
+ <div class="grid grid-cols-2 gap-4 mb-1 text-gray-500 dark:text-gray-400">
6
+ <JobStatus {job} />
7
+ {#if job}
8
+ <div
9
+ ><div class=" text-gray-900 whitespace-nowrap ">
10
+ <span class="font-bold">Job Id</span>
11
+ <a rel="noreferrer" target="_blank" href="/run/{job?.id}?workspace={job?.workspace_id}">
12
+ {job?.id}
13
+ </a>
14
+ </div>
15
+ </div>
16
+ {/if}
28
17
  </div>
@@ -100,6 +100,22 @@ async function loadResources() {
100
100
  />
101
101
  </div>
102
102
  {/if}
103
+ {#if pickableProperties.hasResume}
104
+ <span class="font-bold text-sm">Resume payloads</span>
105
+ <div class="overflow-y-auto mb-2">
106
+ <ObjectViewer
107
+ topLevelNode
108
+ pureViewer={!$propPickerConfig}
109
+ json={{
110
+ resume: 'The resume payload',
111
+ resumes: 'All resume payloads from all approvers'
112
+ }}
113
+ on:select={(e) => {
114
+ dispatch('select', `${e.detail}`)
115
+ }}
116
+ />
117
+ </div>
118
+ {/if}
103
119
  {#if Object.keys(pickableProperties.priorIds).length > 0}
104
120
  <span class="font-bold text-sm">All Results</span>
105
121
  <div class="overflow-y-auto mb-2">
@@ -1,9 +1,8 @@
1
- <script>import { createEventDispatcher } from 'svelte';
2
- import ObjectViewer from './ObjectViewer.svelte';
1
+ <script>import ObjectViewer from './ObjectViewer.svelte';
3
2
  export let result;
4
3
  </script>
5
4
 
6
- <div class="w-full">
5
+ <div class="w-full px-2">
7
6
  <span class="font-bold text-sm">Result</span>
8
7
  <div class="overflow-y-auto mb-2 w-full">
9
8
  <ObjectViewer json={{ result }} on:select />
@@ -1,7 +1,9 @@
1
1
  /** @typedef {typeof __propDef.props} WarningMessageProps */
2
2
  /** @typedef {typeof __propDef.events} WarningMessageEvents */
3
3
  /** @typedef {typeof __propDef.slots} WarningMessageSlots */
4
- export default class WarningMessage extends SvelteComponentTyped<{}, {
4
+ export default class WarningMessage extends SvelteComponentTyped<{
5
+ [x: string]: never;
6
+ }, {
5
7
  [evt: string]: CustomEvent<any>;
6
8
  }, {}> {
7
9
  }
@@ -10,7 +12,9 @@ export type WarningMessageEvents = typeof __propDef.events;
10
12
  export type WarningMessageSlots = typeof __propDef.slots;
11
13
  import { SvelteComponentTyped } from "svelte";
12
14
  declare const __propDef: {
13
- props: {};
15
+ props: {
16
+ [x: string]: never;
17
+ };
14
18
  events: {
15
19
  [evt: string]: CustomEvent<any>;
16
20
  };
@@ -17,6 +17,7 @@ import HighlightCode from '../HighlightCode.svelte';
17
17
  import LogViewer from '../LogViewer.svelte';
18
18
  import { Pane } from 'svelte-splitpanes';
19
19
  import SplitPanesWrapper from '../splitPanes/SplitPanesWrapper.svelte';
20
+ import { fade } from 'svelte/transition';
20
21
  export let path;
21
22
  export let lang;
22
23
  export let previewIsLoading = false;
@@ -65,17 +66,23 @@ function closeDrawer() {
65
66
  -->
66
67
  {#if selectedTab === 'logs'}
67
68
  <SplitPanesWrapper horizontal>
68
- <Pane class="!duration-[0ms]">
69
- <LogViewer content={previewJob?.logs} isLoading={previewIsLoading} />
69
+ <Pane class="!duration-[0ms] relative">
70
+ <LogViewer
71
+ duration={previewJob?.['duration_ms']}
72
+ content={previewJob?.logs}
73
+ isLoading={previewIsLoading}
74
+ />
70
75
  </Pane>
71
76
  <Pane class="!duration-[0ms]">
72
77
  {#if previewJob != undefined && 'result' in previewJob && previewJob.result != undefined}
73
- <pre class="overflow-x-auto break-words relative h-full p-2"
78
+ <pre
79
+ transition:fade={{ duration: 50 }}
80
+ class="overflow-x-auto break-words relative h-full p-2"
74
81
  ><DisplayResult result={previewJob.result} />
75
82
  </pre>
76
83
  {:else}
77
84
  <div class="text-sm text-gray-600 p-2">
78
- {previewIsLoading ? 'Waiting for result...' : 'Test to see the result here'}
85
+ {previewIsLoading ? '' : 'Test to see the result here'}
79
86
  </div>
80
87
  {/if}
81
88
  </Pane>
@@ -1,75 +1,29 @@
1
- <script>import { goto } from '$app/navigation';
2
- import { faPlus, faScroll } from '@fortawesome/free-solid-svg-icons';
3
- import Fuse from 'fuse.js';
4
- import { Script } from '../../gen';
5
- import { ScriptService } from '../../gen';
6
- import { workspaceStore, hubScripts } from '../../stores';
1
+ <script>import { faPlus } from '@fortawesome/free-solid-svg-icons';
7
2
  import { ButtonPopup, ButtonPopupItem } from '../common';
8
3
  import Drawer from '../common/drawer/Drawer.svelte';
9
4
  import DrawerContent from '../common/drawer/DrawerContent.svelte';
10
- import Icon from 'svelte-awesome';
11
- const drawers = {
12
- template: undefined
13
- };
14
- let hubItems;
15
- let templateScripts = [];
16
- let templateFilter = '';
17
- let filteredTemplates;
18
- const fuseOptions = {
19
- includeScore: false,
20
- keys: ['description', 'path', 'content', 'hash', 'summary']
21
- };
22
- const templateFuse = new Fuse(templateScripts, fuseOptions);
23
- $: hubItems = $hubScripts?.filter((x) => x.kind == Script.kind.SCRIPT) || [];
24
- $: filteredTemplates =
25
- templateFilter.length > 0
26
- ? templateFuse.search(templateFilter).map((value) => value.item)
27
- : templateScripts;
28
- async function loadTemplateScripts() {
29
- templateScripts = await ScriptService.listScripts({
30
- workspace: $workspaceStore,
31
- isTemplate: true
32
- });
33
- templateFuse.setCollection(templateScripts);
34
- }
5
+ import WorkspaceScriptPicker from '../flows/pickers/WorkspaceScriptPicker.svelte';
6
+ import { goto } from '$app/navigation';
7
+ import { Code2 } from 'lucide-svelte';
8
+ let drawer = undefined;
35
9
  </script>
36
10
 
37
11
  <!-- Buttons -->
38
12
  <div class="flex flex-row gap-2">
39
13
  <ButtonPopup size="sm" spacingSize="xl" startIcon={{ icon: faPlus }} href="/scripts/add">
40
- <svelte:fragment slot="main">New Script</svelte:fragment>
41
- <ButtonPopupItem on:click={() => drawers.template?.toggleDrawer()}>
14
+ <svelte:fragment slot="main">New Script <Code2 class="ml-1.5" size={18} /></svelte:fragment>
15
+ <ButtonPopupItem on:click={() => drawer?.toggleDrawer?.()}>
42
16
  Import from template
43
17
  </ButtonPopupItem>
44
18
  </ButtonPopup>
45
19
  </div>
46
20
 
47
21
  <!-- Template script list -->
48
- <Drawer bind:this={drawers.template} size="800px" on:open={loadTemplateScripts}>
49
- <DrawerContent title="Pick a template" on:close={() => drawers.template?.toggleDrawer()}>
50
- <div class="pt-2 pb-4">
51
- <input placeholder="Search templates" bind:value={templateFilter} class="search-bar" />
52
- </div>
53
- <div class="flex flex-col mb-2 md:mb-6">
54
- {#if filteredTemplates && filteredTemplates.length > 0}
55
- {#each filteredTemplates as { summary, path, hash }}
56
- <a
57
- class="p-1 flex flex-row items-baseline gap-2 selected text-gray-700"
58
- href="/scripts/add?template={path}"
59
- >
60
- {#if summary}
61
- <p class="text-sm font-semibold">{summary}</p>
62
- {/if}
63
-
64
- <p class="text-sm">{path}</p>
65
- <p class="text-gray-400 text-xs text-right grow">
66
- Last version: {hash}
67
- </p>
68
- </a>
69
- {/each}
70
- {:else}
71
- <p class="text-sm text-gray-700">No templates</p>
72
- {/if}
73
- </div>
22
+ <Drawer bind:this={drawer} size="800px">
23
+ <DrawerContent title="Pick a template" on:close={() => drawer?.toggleDrawer?.()}>
24
+ <WorkspaceScriptPicker
25
+ isTemplate
26
+ on:pick={(e) => goto(`/scripts/add?template=${e.detail.path}`)}
27
+ />
74
28
  </DrawerContent>
75
29
  </Drawer>
@@ -1,6 +1,6 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
- props: {};
3
+ props: Record<string, never>;
4
4
  events: {
5
5
  [evt: string]: CustomEvent<any>;
6
6
  };
@@ -0,0 +1,52 @@
1
+ <script>import { classNames } from '../../utils';
2
+ import { faCode, faStar, faTelevision, faBarsStaggered } from '@fortawesome/free-solid-svg-icons';
3
+ import Icon from 'svelte-awesome';
4
+ import Menu from '../common/menu/Menu.svelte';
5
+ export let isCollapsed = false;
6
+ export let favoriteLinks = [];
7
+ </script>
8
+
9
+ <Menu placement="bottom-start" let:close noMinW>
10
+ <button
11
+ slot="trigger"
12
+ type="button"
13
+ class={classNames(
14
+ 'group w-full flex items-center text-white hover:bg-gray-50 hover:text-gray-900 focus:ring-4 focus:outline-none focus:ring-gray-300 px-2 py-2 text-sm font-medium rounded-md h-8 '
15
+ )}
16
+ >
17
+ <Icon
18
+ data={faStar}
19
+ class={classNames('flex-shrink-0 h-4 w-4', isCollapsed ? '-mr-1' : 'mr-2')}
20
+ />
21
+
22
+ {#if !isCollapsed}
23
+ <span class={classNames('whitespace-pre truncate')}>Favorites</span>
24
+ {/if}
25
+ </button>
26
+
27
+ <div class="divide-y divide-gray-100 overflow-hidden" role="none">
28
+ <table class="w-full">
29
+ {#each favoriteLinks ?? [] as favorite (favorite.href)}
30
+ <tr>
31
+ <a href={favorite.href} on:click={close} class="inline-flex flex-row px-4 py-2">
32
+ <td class="center-center">
33
+ {#if favorite.kind == 'script'}
34
+ <Icon data={faCode} />
35
+ {:else if favorite.kind == 'flow'}
36
+ <Icon data={faBarsStaggered} />
37
+ {:else if favorite.kind == 'app'}
38
+ <Icon data={faTelevision} />
39
+ {/if}
40
+ </td>
41
+ <td class="text-gray-800 ml-2 grow text-xs center-center truncate">{favorite.label}</td>
42
+ </a>
43
+ </tr>
44
+ {/each}
45
+ </table>
46
+ <div class="py-1" role="none">
47
+ <div class="text-gray-600 block px-4 py-2 text-xs" role="menuitem" tabindex="-1">
48
+ Add Scripts/Flows/Apps here by starring them
49
+ </div>
50
+ </div>
51
+ </div>
52
+ </Menu>
@@ -0,0 +1,21 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ isCollapsed?: boolean | undefined;
5
+ favoriteLinks?: {
6
+ label: string;
7
+ href: string;
8
+ kind: 'script' | 'flow' | 'app';
9
+ }[] | undefined;
10
+ };
11
+ events: {
12
+ [evt: string]: CustomEvent<any>;
13
+ };
14
+ slots: {};
15
+ };
16
+ export type FavoriteMenuProps = typeof __propDef.props;
17
+ export type FavoriteMenuEvents = typeof __propDef.events;
18
+ export type FavoriteMenuSlots = typeof __propDef.slots;
19
+ export default class FavoriteMenu extends SvelteComponentTyped<FavoriteMenuProps, FavoriteMenuEvents, FavoriteMenuSlots> {
20
+ }
21
+ export {};
@@ -1,25 +1,24 @@
1
- <script>import { faBookOpen, faCalendar, faCubes, faEye, faHomeAlt, faPlay, faRobot, faUsersCog, faWallet, faCog, faStar } from '@fortawesome/free-solid-svg-icons';
1
+ <script>import { faBookOpen, faCalendar, faCubes, faEye, faHomeAlt, faPlay, faRobot, faUsersCog, faCog, faDollarSign } from '@fortawesome/free-solid-svg-icons';
2
2
  import { faDiscord, faGithub } from '@fortawesome/free-brands-svg-icons';
3
3
  import MenuLink from './MenuLink.svelte';
4
- import { userStore } from '../../stores';
4
+ import { superadmin, userStore } from '../../stores';
5
5
  const mainMenuLinks = [
6
6
  { label: 'Home', href: '/', icon: faHomeAlt },
7
7
  { label: 'Runs', href: '/runs', icon: faPlay },
8
- { label: 'Variables', href: '/variables', icon: faWallet },
9
- { label: 'Resources', href: '/resources', icon: faCubes }
8
+ { label: 'Variables', href: '/variables', icon: faDollarSign, disabled: $userStore?.operator },
9
+ { label: 'Resources', href: '/resources', icon: faCubes, disabled: $userStore?.operator }
10
10
  ];
11
- export let favoriteLinks = [];
12
11
  $: secondaryMenuLinks = [
13
- { label: 'Schedules', href: '/schedules', icon: faCalendar },
14
- { label: 'Groups', href: '/groups', icon: faUsersCog },
15
- { label: 'Audit Logs', href: '/audit_logs', icon: faEye },
12
+ { label: 'Schedules', href: '/schedules', icon: faCalendar, disabled: $userStore?.operator },
13
+ { label: 'Groups', href: '/groups', icon: faUsersCog, disabled: $userStore?.operator },
14
+ { label: 'Audit Logs', href: '/audit_logs', icon: faEye, disabled: $userStore?.operator },
16
15
  {
17
16
  label: 'Workspace',
18
17
  href: '/workspace_settings',
19
18
  icon: faCog,
20
- disabled: !$userStore?.is_admin
19
+ disabled: !($userStore?.is_admin || $superadmin)
21
20
  },
22
- { label: 'Workers', href: '/workers', icon: faRobot }
21
+ { label: 'Workers', href: '/workers', icon: faRobot, disabled: $userStore?.operator }
23
22
  ];
24
23
  const thirdMenuLinks = [
25
24
  { label: 'Docs', href: 'https://docs.windmill.dev/docs/intro/', icon: faBookOpen },
@@ -33,21 +32,13 @@ const thirdMenuLinks = [
33
32
  export let isCollapsed = false;
34
33
  </script>
35
34
 
36
- <div class="flex-1 flex flex-col py-4 overflow-x-hidden scrollbar-hidden">
35
+ <div class="flex-1 flex flex-col pb-4 overflow-x-hidden scrollbar-hidden">
37
36
  <nav class="h-full flex justify-between flex-col px-2">
38
37
  <div class="space-y-1 pt-4">
39
38
  {#each mainMenuLinks as menuLink (menuLink.href)}
40
39
  <MenuLink class="text-md" {...menuLink} {isCollapsed} />
41
40
  {/each}
42
41
  <div class="h-2" />
43
- <div class="max-h-40 overflow-y-auto max-w-xs truncate">
44
- <div class="flex flex-col max-h-min">
45
- {#each favoriteLinks as menuLink (menuLink.href)}
46
- <MenuLink class="text-xs max-w-xs truncate" {...menuLink} {isCollapsed} icon={faStar} />
47
- {/each}
48
- </div>
49
- </div>
50
- <div class="h-2" />
51
42
  </div>
52
43
  <div class="space-1-2">
53
44
  {#each secondaryMenuLinks as menuLink (menuLink.href)}
@@ -1,10 +1,6 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
- favoriteLinks?: {
5
- label: string;
6
- href: string;
7
- }[] | undefined;
8
4
  isCollapsed?: boolean | undefined;
9
5
  };
10
6
  events: {
@@ -1,7 +1,7 @@
1
1
  <script>import { logout } from '../../logout';
2
- import { userStore, usersWorkspaceStore, superadmin } from '../../stores';
3
- import { classNames } from '../../utils';
4
- import { faCrown, faUser } from '@fortawesome/free-solid-svg-icons';
2
+ import { userStore, usersWorkspaceStore, superadmin, usageStore } from '../../stores';
3
+ import { classNames, isCloudHosted } from '../../utils';
4
+ import { faAngleDoubleDown, faCrown, faHardHat, faPlay, faUser } from '@fortawesome/free-solid-svg-icons';
5
5
  import { createEventDispatcher } from 'svelte';
6
6
  import Icon from 'svelte-awesome';
7
7
  import Menu from '../common/menu/Menu.svelte';
@@ -25,8 +25,10 @@ export let isCollapsed = false;
25
25
  {#if !isCollapsed}
26
26
  <span class={classNames('whitespace-pre truncate')}>
27
27
  {$userStore?.username ?? ($superadmin ? $superadmin : '___')}
28
- {#if $userStore?.is_admin}
28
+ {#if $userStore?.is_admin || $superadmin}
29
29
  <Icon data={faCrown} scale={0.6} />
30
+ {:else if $userStore?.operator}
31
+ <Icon class="ml-2" data={faHardHat} scale={0.8} />
30
32
  {/if}
31
33
  </span>
32
34
  {/if}
@@ -38,7 +40,15 @@ export let isCollapsed = false;
38
40
  <p class="text-sm font-medium text-gray-900 truncate" role="none">
39
41
  {$usersWorkspaceStore?.email}
40
42
  </p>
43
+ <span class="text-xs text-gray-600">
44
+ {#if $userStore?.is_admin}
45
+ Admin of this workspace <Icon data={faCrown} scale={0.6} />
46
+ {:else if $userStore?.operator}
47
+ Operator in this workspace <Icon class="ml-2" data={faHardHat} scale={0.8} />
48
+ {/if}
49
+ </span>
41
50
  </div>
51
+
42
52
  <div class="py-1" role="none">
43
53
  <a
44
54
  on:click={() => dispatch('user-settings')}
@@ -74,5 +84,12 @@ export let isCollapsed = false;
74
84
  Sign out
75
85
  </button>
76
86
  </div>
87
+ {#if isCloudHosted()}
88
+ <div class="py-1" role="none">
89
+ <span class="text-gray-700 block w-full text-left px-4 py-2 text-sm"
90
+ >{$usageStore}/1000 free-tier executions</span
91
+ >
92
+ </div>
93
+ {/if}
77
94
  </div>
78
95
  </Menu>
@@ -1,7 +1,7 @@
1
- <script>import { workspaceStore, usersWorkspaceStore } from '../../stores';
1
+ <script>import { workspaceStore, userWorkspaces } from '../../stores';
2
2
  import { classNames } from '../../utils';
3
- import { faBuilding } from '@fortawesome/free-solid-svg-icons';
4
3
  import Icon from 'svelte-awesome';
4
+ import { Building } from 'lucide-svelte';
5
5
  import Menu from '../common/menu/Menu.svelte';
6
6
  export let isCollapsed = false;
7
7
  </script>
@@ -14,10 +14,9 @@ export let isCollapsed = false;
14
14
  'group w-full flex items-center text-white hover:bg-gray-50 hover:text-gray-900 focus:ring-4 focus:outline-none focus:ring-gray-300 px-2 py-2 text-sm font-medium rounded-md h-8 '
15
15
  )}
16
16
  >
17
- <Icon
18
- data={faBuilding}
19
- class={classNames('flex-shrink-0 h-4 w-4', isCollapsed ? '-mr-1' : 'mr-2')}
20
- />
17
+ <div class="center-center mr-2">
18
+ <Building size={16} />
19
+ </div>
21
20
 
22
21
  {#if !isCollapsed}
23
22
  <span class={classNames('whitespace-pre truncate')}> {$workspaceStore} </span>
@@ -26,7 +25,7 @@ export let isCollapsed = false;
26
25
 
27
26
  <div class="divide-y divide-gray-100" role="none">
28
27
  <table class="w-full">
29
- {#each $usersWorkspaceStore?.workspaces ?? [] as workspace}
28
+ {#each $userWorkspaces as workspace}
30
29
  <tr
31
30
  class="text-xs cursor-pointer"
32
31
  on:click={() => {
package/editorUtils.d.ts CHANGED
@@ -19,6 +19,8 @@ export declare function editorConfig(model: any, code: string, lang: string, aut
19
19
  lightbulb: {
20
20
  enabled: boolean;
21
21
  };
22
+ 'bracketPairColorization.enabled': boolean;
23
+ matchBrackets: "always";
22
24
  };
23
25
  export declare function createHash(): string;
24
26
  export declare function langToExt(lang: string): string;
package/editorUtils.js CHANGED
@@ -19,7 +19,9 @@ export function editorConfig(model, code, lang, automaticLayout, fixedOverflowWi
19
19
  },
20
20
  lightbulb: {
21
21
  enabled: true
22
- }
22
+ },
23
+ 'bracketPairColorization.enabled': true,
24
+ matchBrackets: 'always',
23
25
  };
24
26
  }
25
27
  export function createHash() {