windmill-components 1.60.4 → 1.70.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 (331) hide show
  1. package/assets/app.css +3 -0
  2. package/common.d.ts +5 -1
  3. package/components/ApiConnectForm.svelte +66 -5
  4. package/components/AppConnect.svelte +24 -9
  5. package/components/ArgInput.svelte +1 -1
  6. package/components/CliHelpBox.svelte +49 -0
  7. package/components/CliHelpBox.svelte.d.ts +14 -0
  8. package/components/DisplayResult.svelte +51 -1
  9. package/components/DisplayResult.svelte.d.ts +1 -0
  10. package/components/Editor.svelte +17 -7
  11. package/components/EditorBar.svelte +129 -111
  12. package/components/FlowBuilder.svelte +2 -2
  13. package/components/FlowJobResult.svelte +10 -2
  14. package/components/FlowJobResult.svelte.d.ts +1 -0
  15. package/components/FlowMetadata.svelte +24 -8
  16. package/components/FlowPreviewContent.svelte +3 -4
  17. package/components/FlowStatusViewer.svelte +41 -9
  18. package/components/FolderEditor.svelte +3 -2
  19. package/components/HighlightCode.svelte +7 -1
  20. package/components/InlineCodeCopy.svelte +11 -0
  21. package/components/InlineCodeCopy.svelte.d.ts +16 -0
  22. package/components/InputTransformForm.svelte +9 -5
  23. package/components/LogViewer.svelte +6 -0
  24. package/components/LogViewer.svelte.d.ts +1 -0
  25. package/components/ModulePreview.svelte +11 -2
  26. package/components/MoveDrawer.svelte +1 -1
  27. package/components/Multiselect.svelte.d.ts +2 -2
  28. package/components/ObjectResourceInput.svelte +6 -1
  29. package/components/Path.svelte +14 -5
  30. package/components/Popover.svelte +8 -2
  31. package/components/Popover.svelte.d.ts +1 -0
  32. package/components/Range.svelte.d.ts +2 -2
  33. package/components/ResourceEditor.svelte +39 -16
  34. package/components/ResourcePicker.svelte +0 -1
  35. package/components/RunForm.svelte +26 -2
  36. package/components/RunForm.svelte.d.ts +1 -0
  37. package/components/ScheduleEditor.svelte +1 -1
  38. package/components/SchemaEditor.svelte +2 -2
  39. package/components/SchemaForm.svelte +14 -4
  40. package/components/SchemaForm.svelte.d.ts +1 -0
  41. package/components/ScriptBuilder.svelte +45 -22
  42. package/components/ScriptBuilder.svelte.d.ts +1 -0
  43. package/components/ScriptEditor.svelte +1 -0
  44. package/components/SharedBadge.svelte +5 -5
  45. package/components/Slider.svelte +14 -0
  46. package/components/Slider.svelte.d.ts +19 -0
  47. package/components/StringTypeNarrowing.svelte +0 -1
  48. package/components/SuperadminSettings.svelte +11 -3
  49. package/components/SuperadminSettings.svelte.d.ts +2 -0
  50. package/components/TemplateEditor.svelte.d.ts +204 -0
  51. package/components/TestJobLoader.svelte +3 -3
  52. package/components/Toggle.svelte +1 -2
  53. package/components/UserSettings.svelte +11 -3
  54. package/components/UserSettings.svelte.d.ts +2 -0
  55. package/components/VariableEditor.svelte +1 -1
  56. package/components/WhitelistIp.svelte +23 -0
  57. package/components/WhitelistIp.svelte.d.ts +14 -0
  58. package/components/apps/components/buttons/AppButton.svelte +52 -6
  59. package/components/apps/components/buttons/AppButton.svelte.d.ts +3 -0
  60. package/components/apps/components/{form → buttons}/AppForm.svelte +3 -1
  61. package/components/apps/components/buttons/AppFormButton.svelte +137 -0
  62. package/components/apps/components/buttons/AppFormButton.svelte.d.ts +25 -0
  63. package/components/apps/components/buttons/index.d.ts +3 -0
  64. package/components/apps/components/buttons/index.js +3 -0
  65. package/components/apps/components/{dataDisplay → display}/AppBarChart.svelte +15 -4
  66. package/components/apps/components/{dataDisplay → display}/AppBarChart.svelte.d.ts +1 -0
  67. package/components/apps/components/display/AppDisplayComponent.svelte +31 -0
  68. package/components/apps/components/display/AppDisplayComponent.svelte.d.ts +23 -0
  69. package/components/apps/components/{dataDisplay → display}/AppHtml.svelte +6 -5
  70. package/components/apps/components/{dataDisplay → display}/AppHtml.svelte.d.ts +1 -1
  71. package/components/apps/components/display/AppIcon.svelte +35 -0
  72. package/components/apps/components/display/AppIcon.svelte.d.ts +22 -0
  73. package/components/apps/components/display/AppImage.svelte +27 -0
  74. package/components/apps/components/display/AppImage.svelte.d.ts +22 -0
  75. package/components/apps/components/{dataDisplay → display}/AppPieChart.svelte +2 -1
  76. package/components/apps/components/{dataDisplay → display}/AppPieChart.svelte.d.ts +1 -0
  77. package/components/apps/components/{dataDisplay → display}/AppScatterChart.svelte +2 -1
  78. package/components/apps/components/{dataDisplay → display}/AppScatterChart.svelte.d.ts +1 -0
  79. package/components/apps/components/{dataDisplay → display}/AppText.svelte +16 -14
  80. package/components/apps/components/{dataDisplay → display}/AppText.svelte.d.ts +3 -0
  81. package/components/apps/components/{dataDisplay → display}/AppTimeseries.svelte +3 -2
  82. package/components/apps/components/{dataDisplay → display}/AppTimeseries.svelte.d.ts +1 -0
  83. package/components/apps/components/display/PlotlyHtml.svelte +38 -0
  84. package/components/apps/components/display/PlotlyHtml.svelte.d.ts +24 -0
  85. package/components/apps/components/{dataDisplay → display}/VegaLiteHtml.svelte +2 -3
  86. package/components/apps/components/{dataDisplay → display}/VegaLiteHtml.svelte.d.ts +1 -0
  87. package/components/apps/components/display/index.d.ts +12 -0
  88. package/components/apps/components/display/index.js +12 -0
  89. package/components/apps/components/display/table/AppAggridTable.svelte +83 -0
  90. package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +24 -0
  91. package/components/apps/components/{table → display/table}/AppTable.svelte +32 -21
  92. package/components/apps/components/{table → display/table}/AppTable.svelte.d.ts +4 -2
  93. package/components/apps/components/{table → display/table}/AppTableFooter.svelte +1 -1
  94. package/components/apps/components/helpers/AlignWrapper.svelte +19 -19
  95. package/components/apps/components/helpers/AlignWrapper.svelte.d.ts +4 -2
  96. package/components/apps/components/helpers/HiddenComponent.svelte +22 -0
  97. package/components/apps/components/helpers/HiddenComponent.svelte.d.ts +25 -0
  98. package/components/apps/components/helpers/InputDefaultValue.svelte +17 -0
  99. package/components/apps/components/helpers/InputDefaultValue.svelte.d.ts +17 -0
  100. package/components/apps/components/helpers/InputValue.svelte +5 -7
  101. package/components/apps/components/helpers/InputValue.svelte.d.ts +0 -1
  102. package/components/apps/components/helpers/RunnableComponent.svelte +37 -48
  103. package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +2 -1
  104. package/components/apps/components/helpers/RunnableWrapper.svelte +7 -2
  105. package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +2 -1
  106. package/components/apps/components/helpers/index.d.ts +10 -0
  107. package/components/apps/components/helpers/index.js +10 -0
  108. package/components/apps/components/icon.d.ts +1 -0
  109. package/components/apps/components/icon.js +18 -0
  110. package/components/apps/components/index.d.ts +5 -0
  111. package/components/apps/components/index.js +5 -0
  112. package/components/apps/components/{selectInputs → inputs}/AppCheckbox.svelte +4 -2
  113. package/components/apps/components/{dateInputs → inputs}/AppDateInput.svelte +6 -0
  114. package/components/apps/components/inputs/AppFileInput.svelte +34 -0
  115. package/components/apps/components/inputs/AppFileInput.svelte.d.ts +20 -0
  116. package/components/apps/components/inputs/AppNumberInput.svelte +48 -0
  117. package/components/apps/components/inputs/AppRangeInput.svelte +44 -0
  118. package/components/apps/components/inputs/AppRangeInput.svelte.d.ts +23 -0
  119. package/components/apps/components/inputs/AppSelect.svelte +90 -0
  120. package/components/apps/components/{selectInputs → inputs}/AppSelect.svelte.d.ts +2 -0
  121. package/components/apps/components/{numberInputs → inputs}/AppSliderInputs.svelte +13 -9
  122. package/components/apps/components/{textInputs → inputs}/AppTextInput.svelte +6 -0
  123. package/components/apps/components/inputs/currency/AppCurrencyInput.svelte +49 -0
  124. package/components/apps/components/inputs/currency/AppCurrencyInput.svelte.d.ts +21 -0
  125. package/components/apps/components/inputs/currency/CurrencyInput.svelte +181 -0
  126. package/components/apps/components/inputs/currency/CurrencyInput.svelte.d.ts +32 -0
  127. package/components/apps/components/inputs/index.d.ts +9 -0
  128. package/components/apps/components/inputs/index.js +9 -0
  129. package/components/apps/components/layout/AppContainer.svelte +32 -0
  130. package/components/apps/components/layout/AppContainer.svelte.d.ts +21 -0
  131. package/components/apps/components/layout/AppDivider.svelte +20 -0
  132. package/components/apps/components/layout/AppDivider.svelte.d.ts +22 -0
  133. package/components/apps/components/layout/AppTabs.svelte +58 -0
  134. package/components/apps/components/layout/AppTabs.svelte.d.ts +24 -0
  135. package/components/apps/components/layout/index.d.ts +3 -0
  136. package/components/apps/components/layout/index.js +3 -0
  137. package/components/apps/editor/AppComponentInput.svelte +33 -0
  138. package/components/apps/editor/AppComponentInput.svelte.d.ts +18 -0
  139. package/components/apps/editor/AppComponentInputs.svelte +13 -0
  140. package/components/apps/editor/AppComponentInputs.svelte.d.ts +20 -0
  141. package/components/apps/editor/AppEditor.svelte +66 -31
  142. package/components/apps/editor/AppEditor.svelte.d.ts +1 -0
  143. package/components/apps/editor/AppEditorHeader.svelte +74 -18
  144. package/components/apps/editor/AppEditorHeader.svelte.d.ts +1 -0
  145. package/components/apps/editor/AppInputs.svelte +60 -0
  146. package/components/apps/editor/AppInputs.svelte.d.ts +14 -0
  147. package/components/apps/editor/AppPreview.svelte +11 -6
  148. package/components/apps/editor/ComponentHeader.svelte +40 -2
  149. package/components/apps/editor/ComponentHeader.svelte.d.ts +1 -1
  150. package/components/apps/editor/GridEditor.svelte +75 -32
  151. package/components/apps/editor/GridEditor.svelte.d.ts +2 -0
  152. package/components/apps/editor/SettingsPanel.svelte +31 -3
  153. package/components/apps/editor/SubGridEditor.svelte +111 -0
  154. package/components/apps/editor/SubGridEditor.svelte.d.ts +24 -0
  155. package/components/apps/editor/TablePanel.svelte +2 -0
  156. package/components/apps/editor/TablePanel.svelte.d.ts +1 -1
  157. package/components/apps/editor/appUtils.d.ts +9 -0
  158. package/components/apps/editor/appUtils.js +141 -0
  159. package/components/apps/editor/component/Component.svelte +209 -0
  160. package/components/apps/editor/component/Component.svelte.d.ts +23 -0
  161. package/components/apps/editor/component/README.md +15 -0
  162. package/components/apps/editor/component/components.d.ts +65 -0
  163. package/components/apps/editor/component/components.js +1102 -0
  164. package/components/apps/editor/component/default-codes.d.ts +3 -0
  165. package/components/apps/editor/component/default-codes.js +322 -0
  166. package/components/apps/editor/component/index.d.ts +4 -0
  167. package/components/apps/editor/component/index.js +4 -0
  168. package/components/apps/editor/component/sets.d.ts +2 -0
  169. package/components/apps/editor/component/sets.js +47 -0
  170. package/components/apps/editor/componentsPanel/ComponentList.svelte +30 -106
  171. package/components/apps/editor/componentsPanel/CssProperty.svelte +31 -0
  172. package/components/apps/editor/componentsPanel/CssProperty.svelte.d.ts +20 -0
  173. package/components/apps/editor/componentsPanel/CssSettings.svelte +141 -0
  174. package/components/apps/editor/componentsPanel/CssSettings.svelte.d.ts +14 -0
  175. package/components/apps/editor/componentsPanel/ListItem.svelte +28 -0
  176. package/components/apps/editor/componentsPanel/ListItem.svelte.d.ts +20 -0
  177. package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +4 -1
  178. package/components/apps/editor/componentsPanel/componentStaticValues.js +4 -1
  179. package/components/apps/editor/contextPanel/ContextPanel.svelte +8 -6
  180. package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +98 -9
  181. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +38 -29
  182. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +21 -1
  183. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +66 -8
  184. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +92 -46
  185. package/components/apps/editor/inlineScriptsPanel/utils.d.ts +5 -1
  186. package/components/apps/editor/inlineScriptsPanel/utils.js +30 -0
  187. package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +1 -1
  188. package/components/apps/editor/settingsPanel/AlignmentEditor.svelte.d.ts +1 -1
  189. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +4 -1
  190. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +59 -1
  191. package/components/apps/editor/settingsPanel/ComponentPanel.svelte +64 -34
  192. package/components/apps/editor/settingsPanel/ComponentPanel.svelte.d.ts +5 -3
  193. package/components/apps/editor/settingsPanel/GridTab.svelte +73 -0
  194. package/components/apps/editor/settingsPanel/GridTab.svelte.d.ts +18 -0
  195. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +3 -0
  196. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +2 -2
  197. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +92 -77
  198. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +1 -0
  199. package/components/apps/editor/settingsPanel/MoveToOtherGrid.svelte +85 -0
  200. package/components/apps/editor/settingsPanel/MoveToOtherGrid.svelte.d.ts +18 -0
  201. package/components/apps/editor/settingsPanel/Recompute.svelte +4 -1
  202. package/components/apps/editor/settingsPanel/TableActions.svelte +17 -6
  203. package/components/apps/editor/settingsPanel/TableActions.svelte.d.ts +2 -1
  204. package/components/apps/editor/settingsPanel/common/PanelSection.svelte +5 -3
  205. package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +83 -0
  206. package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte.d.ts +19 -0
  207. package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +6 -1
  208. package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte.d.ts +2 -0
  209. package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte +23 -0
  210. package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte.d.ts +17 -0
  211. package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +3 -20
  212. package/components/apps/gridUtils.d.ts +3 -1
  213. package/components/apps/gridUtils.js +5 -3
  214. package/components/apps/inputType.d.ts +33 -6
  215. package/components/apps/types.d.ts +35 -40
  216. package/components/apps/types.js +1 -1
  217. package/components/apps/utils.d.ts +6 -5
  218. package/components/apps/utils.js +90 -94
  219. package/components/common/button/Button.svelte +12 -5
  220. package/components/common/button/Button.svelte.d.ts +3 -1
  221. package/components/common/button/ButtonPopup.svelte.d.ts +1 -1
  222. package/components/common/button/model.d.ts +2 -2
  223. package/components/common/button/model.js +21 -6
  224. package/components/common/confirmationModal/ConfirmationModal.svelte +8 -1
  225. package/components/common/confirmationModal/UnsavedConfirmationModal.svelte +4 -4
  226. package/components/common/drawer/Drawer.svelte +3 -1
  227. package/components/common/fileInput/FileInput.svelte +112 -0
  228. package/components/common/fileInput/FileInput.svelte.d.ts +27 -0
  229. package/components/common/index.d.ts +1 -0
  230. package/components/common/index.js +1 -0
  231. package/components/common/kbd/Kbd.svelte.d.ts +2 -2
  232. package/components/common/modal/Modal.svelte +74 -0
  233. package/components/common/modal/Modal.svelte.d.ts +22 -0
  234. package/components/common/popup/Popup.svelte +34 -17
  235. package/components/common/popup/Popup.svelte.d.ts +11 -4
  236. package/components/common/table/FlowRow.svelte +22 -3
  237. package/components/common/table/LanguageBadge.svelte +10 -4
  238. package/components/common/table/Row.svelte +1 -1
  239. package/components/common/table/ScriptRow.svelte +2 -2
  240. package/components/common/tabs/Tabs.svelte +9 -7
  241. package/components/common/tabs/Tabs.svelte.d.ts +3 -1
  242. package/components/flows/CreateActionsFlow.svelte +2 -3
  243. package/components/flows/content/BranchPredicateEditor.svelte +10 -8
  244. package/components/flows/content/FlowInputs.svelte +109 -99
  245. package/components/flows/content/FlowLoop.svelte +1 -1
  246. package/components/flows/content/FlowModuleComponent.svelte +3 -2
  247. package/components/flows/content/FlowRetries.svelte +8 -6
  248. package/components/flows/content/FlowSettings.svelte +72 -26
  249. package/components/flows/flowState.d.ts +1 -0
  250. package/components/flows/flowState.js +1 -0
  251. package/components/flows/flowStateUtils.js +4 -2
  252. package/components/flows/flowStore.d.ts +1 -0
  253. package/components/flows/flowStore.js +1 -0
  254. package/components/flows/map/FlowBranchAllMap.svelte +1 -1
  255. package/components/flows/map/FlowBranchOneMap.svelte +2 -2
  256. package/components/flows/map/FlowModuleSchemaItem.svelte +5 -5
  257. package/components/flows/map/FlowModuleSchemaMap.svelte +15 -8
  258. package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -0
  259. package/components/flows/map/InsertModuleButton.svelte +24 -10
  260. package/components/flows/map/InsertModuleButton.svelte.d.ts +1 -0
  261. package/components/flows/map/MapItem.svelte +3 -1
  262. package/components/flows/utils.js +16 -10
  263. package/components/graph/FlowGraph.svelte +38 -15
  264. package/components/graph/FlowGraph.svelte.d.ts +1 -0
  265. package/components/icons/SquareIcon.svelte +9 -0
  266. package/components/icons/SquareIcon.svelte.d.ts +17 -0
  267. package/components/icons/index.d.ts +2 -0
  268. package/components/icons/index.js +2 -0
  269. package/components/jobs/JobDetail.svelte +29 -5
  270. package/components/propertyPicker/ObjectViewer.svelte +8 -5
  271. package/components/propertyPicker/ObjectViewer.svelte.d.ts +1 -0
  272. package/components/propertyPicker/PropPicker.svelte +8 -1
  273. package/components/propertyPicker/PropPickerResult.svelte +1 -1
  274. package/components/random_positive_adjetive.d.ts +1 -0
  275. package/components/random_positive_adjetive.js +961 -0
  276. package/components/scriptEditor/LogPanel.svelte +2 -1
  277. package/components/sidebar/SidebarContent.svelte +1 -1
  278. package/components/sidebar/UserMenu.svelte +46 -16
  279. package/components/sidebar/UserMenu.svelte.d.ts +0 -3
  280. package/components/sidebar/WorkspaceMenu.svelte +3 -1
  281. package/components/sidebar/settings.d.ts +2 -0
  282. package/components/sidebar/settings.js +2 -0
  283. package/gen/core/OpenAPI.js +1 -1
  284. package/gen/models/CompletedJob.d.ts +1 -0
  285. package/gen/models/FlowModule.d.ts +0 -1
  286. package/gen/models/QueuedJob.d.ts +1 -0
  287. package/gen/models/WorkerPing.d.ts +1 -1
  288. package/gen/services/FlowService.d.ts +9 -0
  289. package/gen/services/FlowService.js +15 -0
  290. package/gen/services/JobService.d.ts +97 -15
  291. package/gen/services/JobService.js +74 -15
  292. package/gen/services/ScriptService.d.ts +10 -1
  293. package/gen/services/ScriptService.js +16 -1
  294. package/gen/services/VariableService.d.ts +4 -2
  295. package/gen/services/VariableService.js +8 -2
  296. package/gen/services/WorkspaceService.d.ts +17 -0
  297. package/gen/services/WorkspaceService.js +16 -0
  298. package/infer.js +3 -0
  299. package/init_scripts/python_failure_module.py +10 -0
  300. package/init_scripts/python_init_code.py +37 -0
  301. package/init_scripts/python_init_code_clear.py +5 -0
  302. package/init_scripts/python_init_code_trigger.py +14 -0
  303. package/logout.js +2 -1
  304. package/package.json +577 -522
  305. package/script_helpers.d.ts +6 -5
  306. package/script_helpers.js +7 -73
  307. package/stores.d.ts +5 -1
  308. package/stores.js +8 -1
  309. package/user.d.ts +1 -1
  310. package/user.js +14 -8
  311. package/utils.d.ts +1 -1
  312. package/utils.js +8 -7
  313. package/components/apps/components/DisplayComponent.svelte +0 -16
  314. package/components/apps/components/DisplayComponent.svelte.d.ts +0 -20
  315. package/components/apps/components/numberInputs/AppNumberInput.svelte +0 -33
  316. package/components/apps/components/selectInputs/AppSelect.svelte +0 -47
  317. package/components/apps/editor/ComponentEditor.svelte +0 -145
  318. package/components/apps/editor/ComponentEditor.svelte.d.ts +0 -23
  319. package/components/apps/editor/componentsPanel/data.d.ts +0 -3
  320. package/components/apps/editor/componentsPanel/data.js +0 -499
  321. package/components/apps/editorUtils.d.ts +0 -1
  322. package/components/apps/editorUtils.js +0 -292
  323. /package/components/apps/components/{form → buttons}/AppForm.svelte.d.ts +0 -0
  324. /package/components/apps/components/{table → display/table}/AppTableFooter.svelte.d.ts +0 -0
  325. /package/components/apps/components/{table → display/table}/tableOptions.d.ts +0 -0
  326. /package/components/apps/components/{table → display/table}/tableOptions.js +0 -0
  327. /package/components/apps/components/{selectInputs → inputs}/AppCheckbox.svelte.d.ts +0 -0
  328. /package/components/apps/components/{dateInputs → inputs}/AppDateInput.svelte.d.ts +0 -0
  329. /package/components/apps/components/{numberInputs → inputs}/AppNumberInput.svelte.d.ts +0 -0
  330. /package/components/apps/components/{numberInputs → inputs}/AppSliderInputs.svelte.d.ts +0 -0
  331. /package/components/apps/components/{textInputs → inputs}/AppTextInput.svelte.d.ts +0 -0
@@ -1,17 +1,18 @@
1
1
  import type { Script } from "./gen";
2
- export declare const PYTHON_INIT_CODE = "import os\nimport wmill\n\n# You can import any package from PyPI, even if the assistant complains\n\n\"\"\"\nUse Cmd/Ctrl + S to autoformat the code. Reset content in the bar to start from a clean template.\nThe client is used to interact with windmill itself through its standard API.\nOne can explore the methods available through autocompletion of `wmill.XXX`.\n\"\"\"\n\ndef main(no_default: str,\n name = \"Nicolas Bourbaki\",\n age = 42,\n obj: dict = {\"even\": \"dicts\"},\n l: list = [\"or\", \"lists!\"],\n file_: bytes = bytes(0)):\n \"\"\"A main function is required for the script to be able to accept arguments.\n Types are recommended.\"\"\"\n print(f\"Hello World and a warm welcome especially to {name}\")\n print(\"and its acolytes..\", age, obj, l, len(file_))\n # retrieve variables, including secrets by querying the windmill platform.\n # secret fetching is audited by windmill.\n\n try:\n secret = wmill.get_variable(\"f/examples/secret\")\n except:\n secret = \"No secret yet at f/examples/secret !\"\n\n print(f\"The variable at `f/examples/secret`: {secret}\")\n \n # Get last state of this script execution by the same trigger/user\n last_state = wmill.get_state()\n new_state = {\"foo\": 42} if last_state is None else last_state\n new_state[\"foo\"] += 1\n wmill.set_state(new_state)\n\n # fetch reserved variables as environment variables\n user = os.environ.get(\"WM_USERNAME\")\n # the return value is then parsed and can be retrieved by other scripts conveniently\n return {\"splitted\": name.split(), \"user\": user, \"state\": new_state}\n";
2
+ import PYTHON_INIT_CODE from './init_scripts/python_init_code.py?raw';
3
+ import PYTHON_INIT_CODE_CLEAR from './init_scripts/python_init_code_clear.py?raw';
4
+ import PYTHON_INIT_CODE_TRIGGER from './init_scripts/python_init_code_trigger.py?raw';
5
+ import PYTHON_FAILURE_MODULE_CODE from './init_scripts/python_failure_module.py?raw';
6
+ export { PYTHON_INIT_CODE, PYTHON_INIT_CODE_CLEAR, PYTHON_INIT_CODE_TRIGGER, PYTHON_FAILURE_MODULE_CODE };
3
7
  export declare const DENO_INIT_CODE: string;
4
8
  export declare const GO_INIT_CODE = "package inner\n\nimport (\n\t\"fmt\"\n\t\"rsc.io/quote\"\n // wmill \"github.com/windmill-labs/windmill-go-client\"\n)\n\n// the main must return (interface{}, error)\n\nfunc main(x string, nested struct{ Foo string `json:\"foo\"` }) (interface{}, error) {\n\tfmt.Println(\"Hello, World\")\n\tfmt.Println(nested.Foo)\n\tfmt.Println(quote.Opt())\n // v, _ := wmill.GetVariable(\"f/examples/secret\")\n return x, nil\n}\n";
5
9
  export declare const GO_FAILURE_MODULE_CODE = "package inner\n\nimport (\n\t\"fmt\"\n \"os\"\n)\n\n// connect the error parameter to 'previous_result.error'\n\nfunc main(message string, name string) (interface{}, error) {\n\tfmt.Println(message)\n\tfmt.Println(name)\n\tfmt.Println(\"flow id that failed\", os.Getenv(\"WM_FLOW_JOB_ID\"))\n return message, nil\n}\n";
6
10
  export declare const DENO_INIT_CODE_CLEAR: string;
7
11
  export declare const DENO_FAILURE_MODULE_CODE = "// flow is considered recovered and a success unless an exception is thrown\n\nexport async function main(message: string, name: string) {\n const flow_id = Deno.env.get(\"WM_FLOW_JOB_ID\")\n console.log(\"message\", message)\n console.log(\"name\",name)\n return { message, flow_id }\n}\n";
8
- export declare const PYTHON_INIT_CODE_CLEAR = "#import wmill\n\ndef main(x: str):\n return x\n";
9
- export declare const PYTHON_FAILURE_MODULE_CODE = "import os\n# flow is considered recovered and a success unless an exception is raised\n\ndef main(message: str, name: str):\n flow_id = os.environ.get(\"WM_FLOW_JOB_ID\")\n print(\"message\", message)\n print(\"name\", name)\n return message, flow_id\n";
10
12
  export declare const POSTGRES_INIT_CODE: string;
11
13
  export declare const MYSQL_INIT_CODE: string;
12
- export declare const BASH_INIT_CODE = "\n# arguments of the form X=\"$I\" are parsed as parameters X of type string\nmsg=\"$1\"\n\n# the last line of the stdout is the return value\necho \"Hello $msg\"\n";
14
+ export declare const BASH_INIT_CODE = "# arguments of the form X=\"$I\" are parsed as parameters X of type string\nmsg=\"$1\"\n\n# the last line of the stdout is the return value\necho \"Hello $msg\"\n";
13
15
  export declare const DENO_INIT_CODE_TRIGGER: string;
14
- export declare const PYTHON_INIT_CODE_TRIGGER = "import wmill\n\ndef main():\n # A common trigger script would follow this pattern:\n # 1. Get the last saved state\n # const state = wnmill.get_state()\n # 2. Get the actual state from the external service\n # const newState = ...\n # 3. Compare the two states and update the internal state\n # wmill.setState(newState)\n # 4. Return the new rows\n # return range from (state to newState)\n return [1, 2, 3]\n";
15
16
  export declare const GO_INIT_CODE_TRIGGER = "package inner\n\nimport (\n\twmill \"github.com/windmill-labs/windmill-go-client\"\n)\n\nfunc main() (interface{}, error) {\n\n\t// A common trigger script would follow this pattern:\n\t// 1. Get the last saved state\n\tstate, _ := wmill.GetState()\n\t// 2. Get the actual state from the external service\n\t// newState := ...\n\t// 3. Compare the two states and update the internal state\n\twmill.SetState(4)\n\t// 4. Return the new rows\n\n\treturn state, nil\n\n\t// In subsequent scripts, you may refer to each row/value returned by the trigger script using\n\t// 'flow_input.iter.value'\n}\n";
16
17
  export declare const DENO_INIT_CODE_APPROVAL = "import * as wmill from \"https://deno.land/x/windmill@v1.41.0/mod.ts\"\n\nexport async function main(approver?: string) {\n return wmill.getResumeEndpoints(approver)\n}";
17
18
  export declare function isInitialCode(content: string): boolean;
package/script_helpers.js CHANGED
@@ -1,45 +1,8 @@
1
- export const PYTHON_INIT_CODE = `import os
2
- import wmill
3
-
4
- # You can import any package from PyPI, even if the assistant complains
5
-
6
- """
7
- Use Cmd/Ctrl + S to autoformat the code. Reset content in the bar to start from a clean template.
8
- The client is used to interact with windmill itself through its standard API.
9
- One can explore the methods available through autocompletion of \`wmill.XXX\`.
10
- """
11
-
12
- def main(no_default: str,
13
- name = "Nicolas Bourbaki",
14
- age = 42,
15
- obj: dict = {"even": "dicts"},
16
- l: list = ["or", "lists!"],
17
- file_: bytes = bytes(0)):
18
- """A main function is required for the script to be able to accept arguments.
19
- Types are recommended."""
20
- print(f"Hello World and a warm welcome especially to {name}")
21
- print("and its acolytes..", age, obj, l, len(file_))
22
- # retrieve variables, including secrets by querying the windmill platform.
23
- # secret fetching is audited by windmill.
24
-
25
- try:
26
- secret = wmill.get_variable("f/examples/secret")
27
- except:
28
- secret = "No secret yet at f/examples/secret !"
29
-
30
- print(f"The variable at \`f/examples/secret\`: {secret}")
31
-
32
- # Get last state of this script execution by the same trigger/user
33
- last_state = wmill.get_state()
34
- new_state = {"foo": 42} if last_state is None else last_state
35
- new_state["foo"] += 1
36
- wmill.set_state(new_state)
37
-
38
- # fetch reserved variables as environment variables
39
- user = os.environ.get("WM_USERNAME")
40
- # the return value is then parsed and can be retrieved by other scripts conveniently
41
- return {"splitted": name.split(), "user": user, "state": new_state}
42
- `;
1
+ import PYTHON_INIT_CODE from './init_scripts/python_init_code.py?raw';
2
+ import PYTHON_INIT_CODE_CLEAR from './init_scripts/python_init_code_clear.py?raw';
3
+ import PYTHON_INIT_CODE_TRIGGER from './init_scripts/python_init_code_trigger.py?raw';
4
+ import PYTHON_FAILURE_MODULE_CODE from './init_scripts/python_failure_module.py?raw';
5
+ export { PYTHON_INIT_CODE, PYTHON_INIT_CODE_CLEAR, PYTHON_INIT_CODE_TRIGGER, PYTHON_FAILURE_MODULE_CODE };
43
6
  export const DENO_INIT_CODE = `// Ctrl+. to cache dependencies on imports hover, Ctrl+S to format.
44
7
 
45
8
  // import { toWords } from "npm:number-to-words@1"
@@ -105,20 +68,6 @@ export async function main(message: string, name: string) {
105
68
  return { message, flow_id }
106
69
  }
107
70
  `;
108
- export const PYTHON_INIT_CODE_CLEAR = `#import wmill
109
-
110
- def main(x: str):
111
- return x
112
- `;
113
- export const PYTHON_FAILURE_MODULE_CODE = `import os
114
- # flow is considered recovered and a success unless an exception is raised
115
-
116
- def main(message: str, name: str):
117
- flow_id = os.environ.get("WM_FLOW_JOB_ID")
118
- print("message", message)
119
- print("name", name)
120
- return message, flow_id
121
- `;
122
71
  export const POSTGRES_INIT_CODE = `import {
123
72
  pgSql,
124
73
  type Resource,
@@ -138,7 +87,7 @@ export async function main(
138
87
  export const MYSQL_INIT_CODE = `import {
139
88
  mySql,
140
89
  type Resource
141
- } from "https://deno.land/x/windmill@v${__pkg__.version}/mod.ts";
90
+ } from "https://deno.land/x/windmill@v${__pkg__.version}/mysql.ts";
142
91
 
143
92
  // MySQL parameterized statement. No SQL injection is possible.
144
93
  export async function main(
@@ -151,8 +100,7 @@ export async function main(
151
100
  )\`INSERT INTO demo VALUES (\${key}, \${value})\`;
152
101
  return query.rows;
153
102
  }`;
154
- export const BASH_INIT_CODE = `
155
- # arguments of the form X="$I" are parsed as parameters X of type string
103
+ export const BASH_INIT_CODE = `# arguments of the form X="$I" are parsed as parameters X of type string
156
104
  msg="$1"
157
105
 
158
106
  # the last line of the stdout is the return value
@@ -178,20 +126,6 @@ export async function main() {
178
126
  // 'flow_input.iter.value'
179
127
  }
180
128
  `;
181
- export const PYTHON_INIT_CODE_TRIGGER = `import wmill
182
-
183
- def main():
184
- # A common trigger script would follow this pattern:
185
- # 1. Get the last saved state
186
- # const state = wnmill.get_state()
187
- # 2. Get the actual state from the external service
188
- # const newState = ...
189
- # 3. Compare the two states and update the internal state
190
- # wmill.setState(newState)
191
- # 4. Return the new rows
192
- # return range from (state to newState)
193
- return [1, 2, 3]
194
- `;
195
129
  export const GO_INIT_CODE_TRIGGER = `package inner
196
130
 
197
131
  import (
package/stores.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type Readable } from "svelte/store";
2
2
  import type { UserWorkspaceList } from "./gen/models/UserWorkspaceList.js";
3
- import type { TokenResponse } from "./gen";
3
+ import { type TokenResponse } from "./gen";
4
4
  export interface UserExt {
5
5
  email: string;
6
6
  username: string;
@@ -16,6 +16,10 @@ export declare const usageStore: import("svelte/store").Writable<number>;
16
16
  export declare const oauthStore: import("svelte/store").Writable<TokenResponse | undefined>;
17
17
  export declare const userStore: import("svelte/store").Writable<UserExt | undefined>;
18
18
  export declare const workspaceStore: import("svelte/store").Writable<string | undefined>;
19
+ export declare const premiumStore: import("svelte/store").Writable<{
20
+ premium: boolean;
21
+ usage?: number | undefined;
22
+ }>;
19
23
  export declare const starStore: import("svelte/store").Writable<number>;
20
24
  export declare const usersWorkspaceStore: import("svelte/store").Writable<UserWorkspaceList | undefined>;
21
25
  export declare const superadmin: import("svelte/store").Writable<false | String | undefined>;
package/stores.js CHANGED
@@ -1,11 +1,14 @@
1
1
  import { browser } from "$app/environment";
2
2
  import { derived, writable } from "svelte/store";
3
3
  import { getUserExt } from "./user";
4
+ import { WorkspaceService } from "./gen";
5
+ import { isCloudHosted } from "./utils";
4
6
  let persistedWorkspace = browser && localStorage.getItem("workspace");
5
7
  export const usageStore = writable(0);
6
8
  export const oauthStore = writable(undefined);
7
9
  export const userStore = writable(undefined);
8
10
  export const workspaceStore = writable(persistedWorkspace ? String(persistedWorkspace) : undefined);
11
+ export const premiumStore = writable({ premium: false });
9
12
  export const starStore = writable(1);
10
13
  export const usersWorkspaceStore = writable(undefined);
11
14
  export const superadmin = writable(undefined);
@@ -32,7 +35,11 @@ if (browser) {
32
35
  catch (e) {
33
36
  console.error('Could not persist workspace to local storage', e);
34
37
  }
35
- userStore.set(await getUserExt(workspace));
38
+ const user = await getUserExt(workspace);
39
+ userStore.set(user);
40
+ if (isCloudHosted() && user?.is_admin) {
41
+ premiumStore.set((await WorkspaceService.getPremiumInfo({ workspace })));
42
+ }
36
43
  }
37
44
  else {
38
45
  userStore.set(undefined);
package/user.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { type UserExt } from './stores.js';
1
+ import { type UserExt } from "./stores.js";
2
2
  export declare function refreshSuperadmin(): Promise<void>;
3
3
  export declare function getUserExt(workspace: string): Promise<UserExt | undefined>;
package/user.js CHANGED
@@ -1,16 +1,22 @@
1
- import { get } from 'svelte/store';
2
- import { UserService } from './gen';
3
- import { superadmin } from './stores.js';
1
+ import { get } from "svelte/store";
2
+ import { UserService } from "./gen";
3
+ import { superadmin } from "./stores.js";
4
+ import { goto } from "$app/navigation";
4
5
  export async function refreshSuperadmin() {
5
6
  if (get(superadmin) == undefined) {
6
- UserService.globalWhoami().then((x) => {
7
- if (x.super_admin) {
8
- superadmin.set(x.email);
7
+ try {
8
+ const me = await UserService.globalWhoami();
9
+ if (me.super_admin) {
10
+ superadmin.set(me.email);
9
11
  }
10
12
  else {
11
13
  superadmin.set(false);
12
14
  }
13
- });
15
+ }
16
+ catch {
17
+ superadmin.set(false);
18
+ goto("/user/logout");
19
+ }
14
20
  }
15
21
  }
16
22
  export async function getUserExt(workspace) {
@@ -26,6 +32,6 @@ function mapUserToUserExt(user) {
26
32
  return {
27
33
  ...user,
28
34
  groups: user.groups,
29
- pgroups: user.groups.map((x) => `g/${x}`)
35
+ pgroups: user.groups.map((x) => `g/${x}`),
30
36
  };
31
37
  }
package/utils.d.ts CHANGED
@@ -29,7 +29,7 @@ export interface DropdownItem {
29
29
  icon?: any | undefined;
30
30
  }
31
31
  export declare function emptySchema(): {
32
- $schema: string;
32
+ $schema: string | undefined;
33
33
  properties: {};
34
34
  required: never[];
35
35
  type: string;
package/utils.js CHANGED
@@ -24,7 +24,7 @@ export function daysAgo(someDate) {
24
24
  return Math.floor((today.getTime() - someDate.getTime()) / 86400000);
25
25
  }
26
26
  export function secondsAgo(date) {
27
- return Math.floor((new Date().getTime() - date.getTime()) / 1000);
27
+ return Math.max(0, Math.floor((new Date().getTime() - date.getTime()) / 1000));
28
28
  }
29
29
  export function displayDaysAgo(dateString) {
30
30
  const date = new Date(dateString);
@@ -208,8 +208,12 @@ export function removeKeysWithEmptyValues(obj) {
208
208
  export function allTrue(dict) {
209
209
  return Object.values(dict).every(Boolean);
210
210
  }
211
+ function subtractSeconds(date, seconds) {
212
+ date.setSeconds(date.getSeconds() - seconds);
213
+ return date;
214
+ }
211
215
  export function forLater(scheduledString) {
212
- return new Date() < new Date(scheduledString);
216
+ return new Date() < subtractSeconds(new Date(scheduledString), 5);
213
217
  }
214
218
  export function elapsedSinceSecs(date) {
215
219
  return Math.round((new Date().getTime() - new Date(date).getTime()) / 1000);
@@ -390,9 +394,6 @@ export function setInputCat(type, format, itemsType, enum_, contentEncoding) {
390
394
  else if (type == 'string' && contentEncoding == 'base64') {
391
395
  return 'base64';
392
396
  }
393
- else if (type == 'string' && format?.startsWith('resource')) {
394
- return 'resource-string';
395
- }
396
397
  else {
397
398
  return 'string';
398
399
  }
@@ -402,7 +403,7 @@ export function scriptPathToHref(path) {
402
403
  return 'https://hub.windmill.dev/from_version/' + path.substring(4);
403
404
  }
404
405
  else {
405
- return `/scripts/get/${path}`;
406
+ return `/scripts/get/${path}?workspace_id=${get(workspaceStore)}`;
406
407
  }
407
408
  }
408
409
  export async function getScriptByPath(path) {
@@ -560,7 +561,7 @@ export function addWhitespaceBeforeCapitals(word) {
560
561
  return word.replace(/([A-Z])/g, ' $1').trim();
561
562
  }
562
563
  export function isCloudHosted() {
563
- return get(page).url.hostname == 'app.windmill.dev';
564
+ return (get(page)?.url?.hostname == 'app.windmill.dev');
564
565
  }
565
566
  export function isObject(obj) {
566
567
  return typeof obj === 'object';
@@ -1,16 +0,0 @@
1
- <script>import DisplayResult from '../../DisplayResult.svelte';
2
- import RunnableWrapper from './helpers/RunnableWrapper.svelte';
3
- export let id;
4
- export let componentInput;
5
- let result = undefined;
6
- export const staticOutputs = ['result', 'loading'];
7
- </script>
8
-
9
- <RunnableWrapper flexWrap bind:result bind:componentInput {id}>
10
- <div class="w-full border-b px-2 text-xs p-1 font-semibold bg-gray-500 text-white rounded-t-sm">
11
- Results
12
- </div>
13
- <div class="p-2">
14
- <DisplayResult {result} />
15
- </div>
16
- </RunnableWrapper>
@@ -1,20 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- import type { AppInput } from '../inputType';
3
- declare const __propDef: {
4
- props: {
5
- id: string;
6
- componentInput: AppInput | undefined;
7
- staticOutputs?: string[] | undefined;
8
- };
9
- events: {
10
- [evt: string]: CustomEvent<any>;
11
- };
12
- slots: {};
13
- };
14
- export type DisplayComponentProps = typeof __propDef.props;
15
- export type DisplayComponentEvents = typeof __propDef.events;
16
- export type DisplayComponentSlots = typeof __propDef.slots;
17
- export default class DisplayComponent extends SvelteComponentTyped<DisplayComponentProps, DisplayComponentEvents, DisplayComponentSlots> {
18
- get staticOutputs(): string[];
19
- }
20
- export {};
@@ -1,33 +0,0 @@
1
- <script>import { getContext } from 'svelte';
2
- import AlignWrapper from '../helpers/AlignWrapper.svelte';
3
- import InputValue from '../helpers/InputValue.svelte';
4
- export let id;
5
- export let configuration;
6
- export let verticalAlignment = undefined;
7
- export const staticOutputs = ['result'];
8
- const { worldStore } = getContext('AppEditorContext');
9
- let value;
10
- let labelValue = 'Title';
11
- $: outputs = $worldStore?.outputsById[id];
12
- $: if (value || !value) {
13
- // Disallow 'e' character in numbers
14
- // if(value && value.toString().includes('e')) {
15
- // value = +value.toString().replaceAll('e', '')
16
- // }
17
- const num = isNaN(+value) ? null : +value;
18
- outputs?.result.set(num);
19
- }
20
- </script>
21
-
22
- <InputValue {id} input={configuration.label} bind:value={labelValue} />
23
-
24
- <AlignWrapper {verticalAlignment}>
25
- <input
26
- bind:value
27
- type="number"
28
- inputmode="numeric"
29
- pattern="\d*"
30
- placeholder="Type..."
31
- class="h-full"
32
- />
33
- </AlignWrapper>
@@ -1,47 +0,0 @@
1
- <script>import { createEventDispatcher, getContext } from 'svelte';
2
- import Select from 'svelte-select';
3
- import AlignWrapper from '../helpers/AlignWrapper.svelte';
4
- import InputValue from '../helpers/InputValue.svelte';
5
- export const staticOutputs = ['loading', 'result'];
6
- export let id;
7
- export let configuration;
8
- export let horizontalAlignment = undefined;
9
- export let verticalAlignment = undefined;
10
- const { worldStore, connectingInput, selectedComponent } = getContext('AppEditorContext');
11
- let label;
12
- let items;
13
- let itemKey;
14
- $: outputs = $worldStore?.outputsById[id];
15
- function onChange(e) {
16
- e?.stopPropagation();
17
- window.dispatchEvent(new Event('pointerup'));
18
- outputs?.result.set(e.detail?.[itemKey] || undefined);
19
- }
20
- let value = undefined;
21
- $: items?.[0]?.['value'] != value && (value = items?.[0]?.['value']);
22
- </script>
23
-
24
- <InputValue {id} input={configuration.label} bind:value={label} />
25
- <InputValue {id} input={configuration.items} bind:value={items} />
26
- <InputValue {id} input={configuration.itemKey} bind:value={itemKey} />
27
-
28
- <AlignWrapper {horizontalAlignment} {verticalAlignment}>
29
- <Select
30
- --height="34px"
31
- class="select"
32
- on:clear={onChange}
33
- on:change={onChange}
34
- on:focus={(e) => {
35
- e?.stopPropagation()
36
- window.dispatchEvent(new Event('pointerup'))
37
- }}
38
- {items}
39
- {value}
40
- placeholder="Select an item"
41
- on:click={() => {
42
- if (!$connectingInput.opened) {
43
- $selectedComponent = id
44
- }
45
- }}
46
- />
47
- </AlignWrapper>
@@ -1,145 +0,0 @@
1
- <script>import { classNames } from '../../../utils';
2
- import { getContext } from 'svelte';
3
- import BarChartComponent from '../components/dataDisplay/AppBarChart.svelte';
4
- import DisplayComponent from '../components/DisplayComponent.svelte';
5
- import TableComponent from '../components/table/AppTable.svelte';
6
- import TextComponent from '../components/dataDisplay/AppText.svelte';
7
- import ButtonComponent from '../components/buttons/AppButton.svelte';
8
- import PieChartComponent from '../components/dataDisplay/AppPieChart.svelte';
9
- import SelectComponent from '../components/selectInputs/AppSelect.svelte';
10
- import CheckboxComponent from '../components/selectInputs/AppCheckbox.svelte';
11
- import TextInputComponent from '../components/textInputs/AppTextInput.svelte';
12
- import NumberInputComponent from '../components/numberInputs/AppNumberInput.svelte';
13
- import DateInputComponent from '../components/dateInputs/AppDateInput.svelte';
14
- import ComponentHeader from './ComponentHeader.svelte';
15
- import AppForm from '../components/form/AppForm.svelte';
16
- import AppScatterChart from '../components/dataDisplay/AppScatterChart.svelte';
17
- import AppTimeseries from '../components/dataDisplay/AppTimeseries.svelte';
18
- import AppHtml from '../components/dataDisplay/AppHtml.svelte';
19
- import AppSliderInputs from '../components/numberInputs/AppSliderInputs.svelte';
20
- import VegaLiteHtml from '../components/dataDisplay/VegaLiteHtml.svelte';
21
- export let component;
22
- export let selected;
23
- export let locked = false;
24
- export let pointerdown = false;
25
- let hover = false;
26
- const { staticOutputs, mode, connectingInput } = getContext('AppEditorContext');
27
- </script>
28
-
29
- <div
30
- on:pointerenter={() => (hover = true)}
31
- on:pointerleave={() => (hover = false)}
32
- class="h-full flex flex-col w-full component"
33
- >
34
- {#if $mode !== 'preview'}
35
- <ComponentHeader {hover} {pointerdown} {component} {selected} on:delete on:lock {locked} />
36
- {/if}
37
-
38
- <div
39
- on:pointerdown={(e) => {
40
- if ($mode === 'preview') {
41
- e?.stopPropagation()
42
- }
43
- }}
44
- class={classNames(
45
- 'border h-full bg-white',
46
- selected && $mode !== 'preview' ? 'border-blue-500' : 'border-white',
47
- !selected && $mode !== 'preview' && !component.card ? 'border-gray-100' : '',
48
- $mode !== 'preview' && !$connectingInput.opened ? 'hover:border-blue-500' : '',
49
- component.softWrap ? '' : 'overflow-auto',
50
- $mode != 'preview' ? 'cursor-pointer' : '',
51
- 'relative z-auto'
52
- )}
53
- >
54
- {#if component.type === 'displaycomponent'}
55
- <DisplayComponent
56
- {...component}
57
- bind:componentInput={component.componentInput}
58
- bind:staticOutputs={$staticOutputs[component.id]}
59
- />
60
- {:else if component.type === 'barchartcomponent'}
61
- <BarChartComponent
62
- {...component}
63
- bind:componentInput={component.componentInput}
64
- bind:staticOutputs={$staticOutputs[component.id]}
65
- />
66
- {:else if component.type === 'timeseriescomponent'}
67
- <AppTimeseries
68
- {...component}
69
- bind:componentInput={component.componentInput}
70
- bind:staticOutputs={$staticOutputs[component.id]}
71
- />
72
- {:else if component.type === 'htmlcomponent'}
73
- <AppHtml
74
- {...component}
75
- bind:componentInput={component.componentInput}
76
- bind:staticOutputs={$staticOutputs[component.id]}
77
- />
78
- {:else if component.type === 'vegalitecomponent'}
79
- <VegaLiteHtml
80
- {...component}
81
- bind:componentInput={component.componentInput}
82
- bind:staticOutputs={$staticOutputs[component.id]}
83
- />
84
- {:else if component.type === 'scatterchartcomponent'}
85
- <AppScatterChart
86
- {...component}
87
- bind:componentInput={component.componentInput}
88
- bind:staticOutputs={$staticOutputs[component.id]}
89
- />
90
- {:else if component.type === 'piechartcomponent'}
91
- <PieChartComponent
92
- {...component}
93
- bind:staticOutputs={$staticOutputs[component.id]}
94
- bind:componentInput={component.componentInput}
95
- />
96
- {:else if component.type === 'tablecomponent'}
97
- <TableComponent
98
- {...component}
99
- bind:staticOutputs={$staticOutputs[component.id]}
100
- bind:componentInput={component.componentInput}
101
- bind:actionButtons={component.actionButtons}
102
- />
103
- {:else if component.type === 'textcomponent'}
104
- <TextComponent
105
- {...component}
106
- bind:componentInput={component.componentInput}
107
- bind:staticOutputs={$staticOutputs[component.id]}
108
- />
109
- {:else if component.type === 'buttoncomponent'}
110
- <ButtonComponent
111
- {...component}
112
- bind:componentInput={component.componentInput}
113
- bind:staticOutputs={$staticOutputs[component.id]}
114
- />
115
- {:else if component.type === 'selectcomponent'}
116
- <SelectComponent {...component} bind:staticOutputs={$staticOutputs[component.id]} />
117
- {:else if component.type === 'formcomponent'}
118
- <AppForm
119
- {...component}
120
- bind:componentInput={component.componentInput}
121
- bind:staticOutputs={$staticOutputs[component.id]}
122
- />
123
- {:else if component.type === 'checkboxcomponent'}
124
- <CheckboxComponent {...component} bind:staticOutputs={$staticOutputs[component.id]} />
125
- {:else if component.type === 'textinputcomponent'}
126
- <TextInputComponent {...component} bind:staticOutputs={$staticOutputs[component.id]} />
127
- {:else if component.type === 'passwordinputcomponent'}
128
- <TextInputComponent
129
- inputType="password"
130
- {...component}
131
- bind:staticOutputs={$staticOutputs[component.id]}
132
- />
133
- {:else if component.type === 'dateinputcomponent'}
134
- <DateInputComponent
135
- inputType="date"
136
- {...component}
137
- bind:staticOutputs={$staticOutputs[component.id]}
138
- />
139
- {:else if component.type === 'numberinputcomponent'}
140
- <NumberInputComponent {...component} bind:staticOutputs={$staticOutputs[component.id]} />
141
- {:else if component.type === 'slidercomponent'}
142
- <AppSliderInputs {...component} bind:staticOutputs={$staticOutputs[component.id]} />
143
- {/if}
144
- </div>
145
- </div>
@@ -1,23 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- import type { AppComponent } from '../types';
3
- declare const __propDef: {
4
- props: {
5
- component: AppComponent;
6
- selected: boolean;
7
- locked?: boolean | undefined;
8
- pointerdown?: boolean | undefined;
9
- };
10
- events: {
11
- delete: CustomEvent<any>;
12
- lock: CustomEvent<any>;
13
- } & {
14
- [evt: string]: CustomEvent<any>;
15
- };
16
- slots: {};
17
- };
18
- export type ComponentEditorProps = typeof __propDef.props;
19
- export type ComponentEditorEvents = typeof __propDef.events;
20
- export type ComponentEditorSlots = typeof __propDef.slots;
21
- export default class ComponentEditor extends SvelteComponentTyped<ComponentEditorProps, ComponentEditorEvents, ComponentEditorSlots> {
22
- }
23
- export {};
@@ -1,3 +0,0 @@
1
- import type { ComponentSet } from '../../types';
2
- declare const componentSets: ComponentSet[];
3
- export { componentSets };