windmill-components 1.70.0 → 1.77.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 (441) hide show
  1. package/assets/app.css +12 -1
  2. package/components/AppConnect.svelte +4 -3
  3. package/components/DisplayResult.svelte +28 -10
  4. package/components/Dropdown.svelte +14 -4
  5. package/components/FieldHeader.svelte +12 -8
  6. package/components/FlowBuilder.svelte +107 -39
  7. package/components/FlowBuilder.svelte.d.ts +5 -0
  8. package/components/FlowGraphViewer.svelte +6 -5
  9. package/components/FlowJobResult.svelte +3 -3
  10. package/components/FlowPreviewContent.svelte +3 -8
  11. package/components/FlowStatusViewer.svelte +21 -8
  12. package/components/FolderUsageInfo.svelte +16 -6
  13. package/components/FolderUsageInfo.svelte.d.ts +2 -0
  14. package/components/GroupEditor.svelte +8 -0
  15. package/components/InputTransformForm.svelte +13 -20
  16. package/components/InputTransformSchemaForm.svelte +103 -0
  17. package/components/InputTransformSchemaForm.svelte.d.ts +24 -0
  18. package/components/LogViewer.svelte +1 -1
  19. package/components/ModulePreview.svelte +3 -2
  20. package/components/Multiselect.svelte +1 -1
  21. package/components/PageHeader.svelte +1 -1
  22. package/components/Path.svelte +35 -12
  23. package/components/Popover.svelte +2 -13
  24. package/components/ResourcePicker.svelte +33 -14
  25. package/components/RunChart.svelte +24 -5
  26. package/components/RunForm.svelte +5 -6
  27. package/components/RunForm.svelte.d.ts +1 -0
  28. package/components/SchemaForm.svelte +59 -57
  29. package/components/SchemaForm.svelte.d.ts +0 -5
  30. package/components/ScriptBuilder.svelte +151 -135
  31. package/components/ScriptPicker.svelte +3 -0
  32. package/components/SettingSection.svelte +44 -0
  33. package/components/SettingSection.svelte.d.ts +21 -0
  34. package/components/SimpleEditor.svelte +4 -1
  35. package/components/SimpleEditor.svelte.d.ts +2 -0
  36. package/components/Slider.svelte +6 -1
  37. package/components/Slider.svelte.d.ts +1 -0
  38. package/components/TemplateEditor.svelte +1 -1
  39. package/components/TestJobLoader.svelte +2 -2
  40. package/components/Toggle.svelte +17 -4
  41. package/components/Toggle.svelte.d.ts +2 -0
  42. package/components/Tooltip.svelte +4 -2
  43. package/components/UserSettings.svelte +2 -0
  44. package/components/WhitelistIp.svelte +1 -3
  45. package/components/apps/components/buttons/AppButton.svelte +45 -23
  46. package/components/apps/components/buttons/AppButton.svelte.d.ts +2 -0
  47. package/components/apps/components/buttons/AppForm.svelte +18 -12
  48. package/components/apps/components/buttons/AppForm.svelte.d.ts +3 -0
  49. package/components/apps/components/buttons/AppFormButton.svelte +14 -10
  50. package/components/apps/components/buttons/AppFormButton.svelte.d.ts +3 -0
  51. package/components/apps/components/display/AppBarChart.svelte +15 -7
  52. package/components/apps/components/display/AppBarChart.svelte.d.ts +3 -0
  53. package/components/apps/components/display/AppDisplayComponent.svelte +17 -12
  54. package/components/apps/components/display/AppDisplayComponent.svelte.d.ts +1 -0
  55. package/components/apps/components/display/AppHtml.svelte +18 -4
  56. package/components/apps/components/display/AppHtml.svelte.d.ts +3 -0
  57. package/components/apps/components/display/AppIcon.svelte +20 -8
  58. package/components/apps/components/display/AppIcon.svelte.d.ts +3 -0
  59. package/components/apps/components/display/AppImage.svelte +17 -10
  60. package/components/apps/components/display/AppImage.svelte.d.ts +3 -0
  61. package/components/apps/components/display/AppMap.svelte +214 -0
  62. package/components/apps/components/display/AppMap.svelte.d.ts +23 -0
  63. package/components/apps/components/display/AppPdf.svelte +304 -0
  64. package/components/apps/components/display/AppPdf.svelte.d.ts +24 -0
  65. package/components/apps/components/display/AppPieChart.svelte +15 -7
  66. package/components/apps/components/display/AppPieChart.svelte.d.ts +3 -0
  67. package/components/apps/components/display/AppScatterChart.svelte +12 -4
  68. package/components/apps/components/display/AppScatterChart.svelte.d.ts +3 -0
  69. package/components/apps/components/display/AppText.svelte +38 -32
  70. package/components/apps/components/display/AppText.svelte.d.ts +1 -0
  71. package/components/apps/components/display/AppTimeseries.svelte +12 -4
  72. package/components/apps/components/display/AppTimeseries.svelte.d.ts +3 -0
  73. package/components/apps/components/display/PlotlyHtml.svelte +8 -14
  74. package/components/apps/components/display/PlotlyHtml.svelte.d.ts +1 -1
  75. package/components/apps/components/display/VegaLiteHtml.svelte +3 -8
  76. package/components/apps/components/display/VegaLiteHtml.svelte.d.ts +1 -0
  77. package/components/apps/components/display/index.d.ts +3 -0
  78. package/components/apps/components/display/index.js +3 -0
  79. package/components/apps/components/display/table/AppAggridTable.svelte +20 -8
  80. package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +1 -0
  81. package/components/apps/components/display/table/AppTable.svelte +69 -21
  82. package/components/apps/components/display/table/AppTable.svelte.d.ts +3 -1
  83. package/components/apps/components/display/table/AppTableFooter.svelte +8 -1
  84. package/components/apps/components/display/table/AppTableFooter.svelte.d.ts +2 -0
  85. package/components/apps/components/helpers/AlignWrapper.svelte +13 -7
  86. package/components/apps/components/helpers/AlignWrapper.svelte.d.ts +3 -1
  87. package/components/apps/components/helpers/HiddenComponent.svelte +5 -1
  88. package/components/apps/components/helpers/HiddenComponent.svelte.d.ts +1 -0
  89. package/components/apps/components/helpers/InputValue.svelte +58 -52
  90. package/components/apps/components/helpers/InputValue.svelte.d.ts +4 -3
  91. package/components/apps/components/helpers/NonRunnableComponent.svelte +18 -3
  92. package/components/apps/components/helpers/NonRunnableComponent.svelte.d.ts +1 -0
  93. package/components/apps/components/helpers/RefreshButton.svelte +3 -4
  94. package/components/apps/components/helpers/ResizeWrapper.svelte +24 -0
  95. package/components/apps/components/helpers/ResizeWrapper.svelte.d.ts +19 -0
  96. package/components/apps/components/helpers/RunnableComponent.svelte +126 -91
  97. package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +5 -1
  98. package/components/apps/components/helpers/RunnableWrapper.svelte +11 -5
  99. package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +4 -1
  100. package/components/apps/components/helpers/eval.d.ts +5 -0
  101. package/components/apps/components/helpers/eval.js +57 -0
  102. package/components/apps/components/inputs/AppCheckbox.svelte +8 -2
  103. package/components/apps/components/inputs/AppCheckbox.svelte.d.ts +3 -0
  104. package/components/apps/components/inputs/AppDateInput.svelte +25 -18
  105. package/components/apps/components/inputs/AppDateInput.svelte.d.ts +6 -1
  106. package/components/apps/components/inputs/AppFileInput.svelte +22 -14
  107. package/components/apps/components/inputs/AppFileInput.svelte.d.ts +3 -0
  108. package/components/apps/components/inputs/AppMultiSelect.svelte +82 -0
  109. package/components/apps/components/inputs/AppMultiSelect.svelte.d.ts +27 -0
  110. package/components/apps/components/inputs/AppNumberInput.svelte +20 -16
  111. package/components/apps/components/inputs/AppNumberInput.svelte.d.ts +5 -0
  112. package/components/apps/components/inputs/AppRangeInput.svelte +55 -14
  113. package/components/apps/components/inputs/AppRangeInput.svelte.d.ts +3 -0
  114. package/components/apps/components/inputs/AppSelect.svelte +58 -21
  115. package/components/apps/components/inputs/AppSelect.svelte.d.ts +3 -0
  116. package/components/apps/components/inputs/AppSliderInputs.svelte +41 -9
  117. package/components/apps/components/inputs/AppSliderInputs.svelte.d.ts +3 -0
  118. package/components/apps/components/inputs/AppTextInput.svelte +53 -19
  119. package/components/apps/components/inputs/AppTextInput.svelte.d.ts +6 -0
  120. package/components/apps/components/inputs/currency/AppCurrencyInput.svelte +13 -3
  121. package/components/apps/components/inputs/currency/AppCurrencyInput.svelte.d.ts +3 -0
  122. package/components/apps/components/inputs/currency/CurrencyInput.svelte +2 -0
  123. package/components/apps/components/inputs/currency/CurrencyInput.svelte.d.ts +1 -0
  124. package/components/apps/components/layout/AppContainer.svelte +20 -17
  125. package/components/apps/components/layout/AppContainer.svelte.d.ts +3 -0
  126. package/components/apps/components/layout/AppDivider.svelte +24 -4
  127. package/components/apps/components/layout/AppDivider.svelte.d.ts +3 -1
  128. package/components/apps/components/layout/AppDrawer.svelte +86 -0
  129. package/components/apps/components/layout/AppDrawer.svelte.d.ts +24 -0
  130. package/components/apps/components/layout/AppSplitpanes.svelte +83 -0
  131. package/components/apps/components/layout/AppSplitpanes.svelte.d.ts +26 -0
  132. package/components/apps/components/layout/AppTabs.svelte +112 -40
  133. package/components/apps/components/layout/AppTabs.svelte.d.ts +4 -0
  134. package/components/apps/components/layout/index.d.ts +2 -0
  135. package/components/apps/components/layout/index.js +2 -0
  136. package/components/apps/editor/AppEditor.svelte +201 -132
  137. package/components/apps/editor/AppEditor.svelte.d.ts +3 -1
  138. package/components/apps/editor/AppEditorHeader.svelte +149 -66
  139. package/components/apps/editor/AppInputs.svelte +3 -3
  140. package/components/apps/editor/AppPreview.svelte +21 -7
  141. package/components/apps/editor/ComponentHeader.svelte +17 -4
  142. package/components/apps/editor/ComponentHeader.svelte.d.ts +2 -0
  143. package/components/apps/editor/GridEditor.svelte +86 -70
  144. package/components/apps/editor/GridPanel.svelte +29 -0
  145. package/components/apps/editor/GridPanel.svelte.d.ts +18 -0
  146. package/components/apps/editor/RecomputeAllComponents.svelte +14 -6
  147. package/components/apps/editor/SettingsPanel.svelte +30 -27
  148. package/components/apps/editor/SubGridEditor.svelte +82 -50
  149. package/components/apps/editor/SubGridEditor.svelte.d.ts +8 -4
  150. package/components/apps/editor/appUtils.d.ts +22 -3
  151. package/components/apps/editor/appUtils.js +221 -47
  152. package/components/apps/editor/component/Component.svelte +281 -61
  153. package/components/apps/editor/component/Component.svelte.d.ts +3 -1
  154. package/components/apps/editor/component/ComponentNavigation.svelte +170 -0
  155. package/components/apps/editor/component/ComponentNavigation.svelte.d.ts +14 -0
  156. package/components/apps/editor/component/components.d.ts +15 -3
  157. package/components/apps/editor/component/components.js +409 -54
  158. package/components/apps/editor/component/default-codes.js +6 -6
  159. package/components/apps/editor/component/sets.js +11 -3
  160. package/components/apps/editor/componentsPanel/ComponentList.svelte +72 -29
  161. package/components/apps/editor/componentsPanel/CssProperty.svelte +59 -23
  162. package/components/apps/editor/componentsPanel/CssProperty.svelte.d.ts +2 -1
  163. package/components/apps/editor/componentsPanel/CssSettings.svelte +56 -9
  164. package/components/apps/editor/componentsPanel/ListItem.svelte +23 -12
  165. package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +2 -0
  166. package/components/apps/editor/componentsPanel/componentStaticValues.js +15 -2
  167. package/components/apps/editor/contextPanel/ComponentOutput.svelte +77 -0
  168. package/components/apps/editor/contextPanel/ComponentOutput.svelte.d.ts +21 -0
  169. package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +10 -6
  170. package/components/apps/editor/contextPanel/ContextPanel.svelte +81 -91
  171. package/components/apps/editor/contextPanel/SubGridOutput.svelte +71 -0
  172. package/components/apps/editor/contextPanel/SubGridOutput.svelte.d.ts +19 -0
  173. package/components/apps/editor/contextPanel/components/BackgroundScriptOutput.svelte +38 -0
  174. package/components/apps/editor/contextPanel/components/BackgroundScriptOutput.svelte.d.ts +19 -0
  175. package/components/apps/editor/contextPanel/components/BackgroundScriptsOutput.svelte +10 -0
  176. package/components/apps/editor/contextPanel/components/BackgroundScriptsOutput.svelte.d.ts +16 -0
  177. package/components/apps/editor/contextPanel/components/MinMaxButton.svelte +25 -0
  178. package/components/apps/editor/contextPanel/components/MinMaxButton.svelte.d.ts +16 -0
  179. package/components/apps/editor/contextPanel/components/OutputHeader.svelte +78 -0
  180. package/components/apps/editor/contextPanel/components/OutputHeader.svelte.d.ts +26 -0
  181. package/components/apps/editor/contextPanel/components/TableActionOutput.svelte +19 -0
  182. package/components/apps/editor/contextPanel/components/TableActionOutput.svelte.d.ts +18 -0
  183. package/components/apps/editor/contextPanel/components/TableActionsOutput.svelte +14 -0
  184. package/components/apps/editor/contextPanel/components/TableActionsOutput.svelte.d.ts +18 -0
  185. package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +55 -13
  186. package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte.d.ts +1 -0
  187. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +126 -62
  188. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +5 -0
  189. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte +1 -1
  190. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +11 -5
  191. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte.d.ts +1 -0
  192. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +26 -17
  193. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +95 -85
  194. package/components/apps/editor/inlineScriptsPanel/utils.d.ts +5 -9
  195. package/components/apps/editor/inlineScriptsPanel/utils.js +19 -8
  196. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +10 -9
  197. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +21 -12
  198. package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +1 -1
  199. package/components/apps/editor/settingsPanel/ComponentPanel.svelte +119 -79
  200. package/components/apps/editor/settingsPanel/ComponentPanel.svelte.d.ts +1 -0
  201. package/components/apps/editor/settingsPanel/GridPane.svelte +75 -0
  202. package/components/apps/editor/settingsPanel/GridPane.svelte.d.ts +20 -0
  203. package/components/apps/editor/settingsPanel/GridTab.svelte +9 -17
  204. package/components/apps/editor/settingsPanel/GridTab.svelte.d.ts +2 -0
  205. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +2 -1
  206. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +1 -1
  207. package/components/apps/editor/settingsPanel/Recompute.svelte +2 -1
  208. package/components/apps/editor/settingsPanel/SelectedRunnable.svelte +7 -1
  209. package/components/apps/editor/settingsPanel/TableActions.svelte +30 -2
  210. package/components/apps/editor/settingsPanel/common/PanelSection.svelte +2 -2
  211. package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte +48 -0
  212. package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte.d.ts +19 -0
  213. package/components/apps/editor/settingsPanel/inputEditor/ConnectedInputEditor.svelte +2 -8
  214. package/components/apps/editor/settingsPanel/inputEditor/EvalInputEditor.svelte +2 -2
  215. package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +77 -41
  216. package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte.d.ts +2 -0
  217. package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte +3 -3
  218. package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte.d.ts +4 -1
  219. package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +54 -6
  220. package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte.d.ts +1 -0
  221. package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte +7 -9
  222. package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte.d.ts +1 -1
  223. package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte +1 -0
  224. package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte.d.ts +1 -0
  225. package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +1 -1
  226. package/components/apps/inputType.d.ts +6 -5
  227. package/components/apps/rx.d.ts +6 -4
  228. package/components/apps/rx.js +36 -15
  229. package/components/apps/store.d.ts +6 -1
  230. package/components/apps/svelte-grid/Grid.svelte +171 -0
  231. package/components/apps/svelte-grid/Grid.svelte.d.ts +47 -0
  232. package/components/apps/svelte-grid/LICENSE +23 -0
  233. package/components/apps/svelte-grid/MoveResize.svelte +328 -0
  234. package/components/apps/svelte-grid/MoveResize.svelte.d.ts +46 -0
  235. package/components/apps/svelte-grid/types.d.ts +25 -0
  236. package/components/apps/svelte-grid/utils/container.d.ts +1 -0
  237. package/components/apps/svelte-grid/utils/container.js +4 -0
  238. package/components/apps/svelte-grid/utils/helper.d.ts +14 -0
  239. package/components/apps/svelte-grid/utils/helper.js +36 -0
  240. package/components/apps/svelte-grid/utils/item.d.ts +14 -0
  241. package/components/apps/svelte-grid/utils/item.js +192 -0
  242. package/components/apps/svelte-grid/utils/matrix.d.ts +6 -0
  243. package/components/apps/svelte-grid/utils/matrix.js +53 -0
  244. package/components/apps/svelte-grid/utils/other.d.ts +3 -0
  245. package/components/apps/svelte-grid/utils/other.js +30 -0
  246. package/components/apps/types.d.ts +21 -8
  247. package/components/apps/utils.d.ts +3 -3
  248. package/components/apps/utils.js +34 -56
  249. package/components/common/CloseButton.svelte +18 -0
  250. package/components/common/CloseButton.svelte.d.ts +27 -0
  251. package/components/common/badge/Badge.svelte +6 -1
  252. package/components/common/badge/Badge.svelte.d.ts +1 -0
  253. package/components/common/button/ButtonPopup.svelte +2 -0
  254. package/components/common/button/ButtonPopup.svelte.d.ts +1 -0
  255. package/components/common/button/UndoRedo.svelte +32 -0
  256. package/components/common/button/UndoRedo.svelte.d.ts +20 -0
  257. package/components/common/drawer/Drawer.svelte +10 -4
  258. package/components/common/drawer/Drawer.svelte.d.ts +3 -1
  259. package/components/common/drawer/DrawerContent.svelte +2 -7
  260. package/components/common/fileInput/FileInput.svelte +47 -21
  261. package/components/common/fileInput/FileInput.svelte.d.ts +3 -1
  262. package/components/common/fileInput/model.d.ts +1 -0
  263. package/components/common/fileInput/model.js +1 -0
  264. package/components/common/index.d.ts +1 -0
  265. package/components/common/index.js +1 -0
  266. package/components/common/languageIcons/JavaScript.svelte +11 -0
  267. package/components/common/languageIcons/JavaScript.svelte.d.ts +25 -0
  268. package/components/common/languageIcons/LanguageIcon.svelte +3 -1
  269. package/components/common/languageIcons/LanguageIcon.svelte.d.ts +1 -1
  270. package/components/common/menu/Menu.svelte +3 -2
  271. package/components/common/menu/Menu.svelte.d.ts +2 -1
  272. package/components/common/modal/Modal.svelte +9 -4
  273. package/components/common/modal/Modal.svelte.d.ts +2 -0
  274. package/components/common/popup/Popup.svelte +2 -1
  275. package/components/common/popup/Popup.svelte.d.ts +9 -0
  276. package/components/common/table/AppRow.svelte +14 -8
  277. package/components/common/table/AppRow.svelte.d.ts +1 -0
  278. package/components/common/table/FlowRow.svelte +22 -12
  279. package/components/common/table/FlowRow.svelte.d.ts +1 -0
  280. package/components/common/table/ScriptRow.svelte +43 -14
  281. package/components/common/table/ScriptRow.svelte.d.ts +1 -0
  282. package/components/common/tabs/Tab.svelte +13 -5
  283. package/components/common/tabs/Tab.svelte.d.ts +6 -1
  284. package/components/common/tabs/Tabs.svelte +8 -6
  285. package/components/common/tabs/Tabs.svelte.d.ts +3 -1
  286. package/components/flows/FlowEditor.svelte +6 -4
  287. package/components/flows/common/FlowCardHeader.svelte +4 -1
  288. package/components/flows/content/BranchPredicateEditor.svelte +3 -4
  289. package/components/flows/content/CapturePayload.svelte +1 -2
  290. package/components/flows/content/FlowBranchesAllWrapper.svelte +1 -1
  291. package/components/flows/content/FlowConstants.svelte +7 -13
  292. package/components/flows/content/FlowEditorPanel.svelte +4 -3
  293. package/components/flows/content/FlowFailureModule.svelte +2 -1
  294. package/components/flows/content/FlowInput.svelte +4 -2
  295. package/components/flows/content/FlowLoop.svelte +3 -4
  296. package/components/flows/content/FlowModuleComponent.svelte +23 -11
  297. package/components/flows/content/FlowModuleEarlyStop.svelte +3 -1
  298. package/components/flows/content/FlowModuleHeader.svelte +26 -3
  299. package/components/flows/content/FlowModuleHeader.svelte.d.ts +1 -0
  300. package/components/flows/content/FlowModuleSleep.svelte +2 -2
  301. package/components/flows/content/FlowModuleWrapper.svelte +2 -8
  302. package/components/flows/content/FlowSchedules.svelte +1 -2
  303. package/components/flows/content/FlowSettings.svelte +17 -37
  304. package/components/flows/content/ScriptEditorDrawer.svelte +98 -0
  305. package/components/flows/content/ScriptEditorDrawer.svelte.d.ts +19 -0
  306. package/components/flows/flowState.d.ts +2 -3
  307. package/components/flows/flowState.js +1 -4
  308. package/components/flows/flowStateUtils.d.ts +7 -6
  309. package/components/flows/flowStateUtils.js +5 -9
  310. package/components/flows/flowStore.d.ts +5 -4
  311. package/components/flows/flowStore.js +5 -17
  312. package/components/flows/header/FlowImportExportMenu.svelte +2 -1
  313. package/components/flows/map/FlowConstantsItem.svelte +2 -2
  314. package/components/flows/map/FlowErrorHandlerItem.svelte +12 -13
  315. package/components/flows/map/FlowInputsItem.svelte +2 -3
  316. package/components/flows/map/FlowModuleSchemaItem.svelte +88 -91
  317. package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +3 -3
  318. package/components/flows/map/FlowModuleSchemaMap.svelte +164 -138
  319. package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -2
  320. package/components/flows/map/FlowSettingsItem.svelte +5 -4
  321. package/components/flows/map/InsertModuleButton.svelte +12 -10
  322. package/components/flows/map/InsertModuleButton.svelte.d.ts +1 -0
  323. package/components/flows/map/MapItem.svelte +176 -103
  324. package/components/flows/map/MapItem.svelte.d.ts +20 -2
  325. package/components/flows/map/VirtualItem.svelte +129 -0
  326. package/components/flows/map/VirtualItem.svelte.d.ts +44 -0
  327. package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +1 -1
  328. package/components/flows/pickers/WorkspaceScriptPicker.svelte +1 -1
  329. package/components/flows/previousResults.d.ts +1 -1
  330. package/components/flows/previousResults.js +32 -17
  331. package/components/flows/types.d.ts +13 -1
  332. package/components/flows/utils.js +1 -1
  333. package/components/graph/FlowGraph.svelte +227 -167
  334. package/components/graph/FlowGraph.svelte.d.ts +14 -1
  335. package/components/graph/model.d.ts +6 -36
  336. package/components/graph/model.js +1 -1
  337. package/components/graph/svelvet/LICENSE +21 -0
  338. package/components/graph/svelvet/collapsible/controllers/util.d.ts +15 -0
  339. package/components/graph/svelvet/collapsible/controllers/util.js +144 -0
  340. package/components/graph/svelvet/collapsible/models/Collapsible.d.ts +17 -0
  341. package/components/graph/svelvet/collapsible/models/Collapsible.js +25 -0
  342. package/components/graph/svelvet/collapsible/types/types.d.ts +8 -0
  343. package/components/graph/svelvet/collapsible/types/types.js +1 -0
  344. package/components/graph/svelvet/container/README.md +7 -0
  345. package/components/graph/svelvet/container/controllers/middleware.d.ts +18 -0
  346. package/components/graph/svelvet/container/controllers/middleware.js +101 -0
  347. package/components/graph/svelvet/container/views/GraphView.svelte +252 -0
  348. package/components/graph/svelvet/container/views/GraphView.svelte.d.ts +25 -0
  349. package/components/graph/svelvet/container/views/Svelvet.svelte +131 -0
  350. package/components/graph/svelvet/container/views/Svelvet.svelte.d.ts +41 -0
  351. package/components/graph/svelvet/customCss/controllers/getCss.d.ts +2 -0
  352. package/components/graph/svelvet/customCss/controllers/getCss.js +57 -0
  353. package/components/graph/svelvet/d3/controllers/d3.d.ts +5 -0
  354. package/components/graph/svelvet/d3/controllers/d3.js +59 -0
  355. package/components/graph/svelvet/edges/controllers/anchorCbDev.d.ts +4 -0
  356. package/components/graph/svelvet/edges/controllers/anchorCbDev.js +92 -0
  357. package/components/graph/svelvet/edges/controllers/anchorCbUser.d.ts +57 -0
  358. package/components/graph/svelvet/edges/controllers/anchorCbUser.js +73 -0
  359. package/components/graph/svelvet/edges/controllers/util.d.ts +37 -0
  360. package/components/graph/svelvet/edges/controllers/util.js +72 -0
  361. package/components/graph/svelvet/edges/models/Anchor.d.ts +48 -0
  362. package/components/graph/svelvet/edges/models/Anchor.js +122 -0
  363. package/components/graph/svelvet/edges/models/Edge.d.ts +47 -0
  364. package/components/graph/svelvet/edges/models/Edge.js +107 -0
  365. package/components/graph/svelvet/edges/types/types.d.ts +18 -0
  366. package/components/graph/svelvet/edges/types/types.js +1 -0
  367. package/components/graph/svelvet/edges/views/Edges/BaseEdge.svelte +105 -0
  368. package/components/graph/svelvet/edges/views/Edges/BaseEdge.svelte.d.ts +18 -0
  369. package/components/graph/svelvet/edges/views/Edges/EdgeAnchor.svelte +12 -0
  370. package/components/graph/svelvet/edges/views/Edges/EdgeAnchor.svelte.d.ts +17 -0
  371. package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte +43 -0
  372. package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte.d.ts +17 -0
  373. package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte +137 -0
  374. package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte.d.ts +17 -0
  375. package/components/graph/svelvet/edges/views/Edges/SmoothStepEdge.svelte +176 -0
  376. package/components/graph/svelvet/edges/views/Edges/SmoothStepEdge.svelte.d.ts +60 -0
  377. package/components/graph/svelvet/edges/views/Edges/StepEdge.svelte +8 -0
  378. package/components/graph/svelvet/edges/views/Edges/StepEdge.svelte.d.ts +25 -0
  379. package/components/graph/svelvet/edges/views/Edges/types.d.ts +52 -0
  380. package/components/graph/svelvet/edges/views/Edges/types.js +1 -0
  381. package/components/graph/svelvet/edges/views/Edges/utils.d.ts +33 -0
  382. package/components/graph/svelvet/edges/views/Edges/utils.js +31 -0
  383. package/components/graph/svelvet/editEdges/views/EditEdge.svelte +151 -0
  384. package/components/graph/svelvet/editEdges/views/EditEdge.svelte.d.ts +20 -0
  385. package/components/graph/svelvet/nodes/controllers/util.d.ts +9 -0
  386. package/components/graph/svelvet/nodes/controllers/util.js +13 -0
  387. package/components/graph/svelvet/nodes/models/Node.d.ts +78 -0
  388. package/components/graph/svelvet/nodes/models/Node.js +195 -0
  389. package/components/graph/svelvet/nodes/views/EditNode.svelte +147 -0
  390. package/components/graph/svelvet/nodes/views/EditNode.svelte.d.ts +33 -0
  391. package/components/graph/svelvet/nodes/views/Node.svelte +85 -0
  392. package/components/graph/svelvet/nodes/views/Node.svelte.d.ts +22 -0
  393. package/components/graph/svelvet/resizableNodes/controllers/util.d.ts +11 -0
  394. package/components/graph/svelvet/resizableNodes/controllers/util.js +24 -0
  395. package/components/graph/svelvet/resizableNodes/models/ResizeNode.d.ts +33 -0
  396. package/components/graph/svelvet/resizableNodes/models/ResizeNode.js +71 -0
  397. package/components/graph/svelvet/resizableNodes/views/ResizeNode.svelte +81 -0
  398. package/components/graph/svelvet/resizableNodes/views/ResizeNode.svelte.d.ts +20 -0
  399. package/components/graph/svelvet/store/controllers/storeApi.d.ts +32 -0
  400. package/components/graph/svelvet/store/controllers/storeApi.js +111 -0
  401. package/components/graph/svelvet/store/controllers/userApi.d.ts +3 -0
  402. package/components/graph/svelvet/store/controllers/userApi.js +18 -0
  403. package/components/graph/svelvet/store/controllers/util.d.ts +31 -0
  404. package/components/graph/svelvet/store/controllers/util.js +180 -0
  405. package/components/graph/svelvet/store/models/store.d.ts +12 -0
  406. package/components/graph/svelvet/store/models/store.js +9 -0
  407. package/components/graph/svelvet/store/types/types.d.ts +134 -0
  408. package/components/graph/svelvet/store/types/types.js +1 -0
  409. package/components/graph/svelvet/types/README.md +3 -0
  410. package/components/graph/svelvet/types/index.d.ts +2 -0
  411. package/components/graph/svelvet/types/index.js +1 -0
  412. package/components/graph/svelvet/types/types.d.ts +49 -0
  413. package/components/graph/svelvet/types/types.js +18 -0
  414. package/components/graph/util.js +2 -2
  415. package/components/home/ItemsList.svelte +53 -5
  416. package/components/home/ItemsList.svelte.d.ts +1 -0
  417. package/components/home/ListFilters.svelte +7 -2
  418. package/components/jobs/JobDetail.svelte +12 -1
  419. package/components/propertyPicker/ObjectViewer.svelte +6 -4
  420. package/components/sidebar/SidebarContent.svelte +2 -2
  421. package/consts.d.ts +1 -0
  422. package/consts.js +1 -0
  423. package/defaults.d.ts +4 -0
  424. package/defaults.js +4 -0
  425. package/history.d.ts +9 -0
  426. package/history.js +63 -0
  427. package/package.json +87 -9
  428. package/script_helpers.d.ts +1 -1
  429. package/script_helpers.js +1 -0
  430. package/scripts.d.ts +1 -1
  431. package/scripts.js +8 -1
  432. package/utils.d.ts +9 -4
  433. package/utils.js +43 -8
  434. package/components/apps/editor/TablePanel.svelte +0 -19
  435. package/components/apps/editor/TablePanel.svelte.d.ts +0 -17
  436. package/components/apps/editor/settingsPanel/MoveToOtherGrid.svelte +0 -85
  437. package/components/apps/editor/settingsPanel/MoveToOtherGrid.svelte.d.ts +0 -18
  438. package/components/flows/map/FlowBranchAllMap.svelte +0 -100
  439. package/components/flows/map/FlowBranchAllMap.svelte.d.ts +0 -17
  440. package/components/flows/map/FlowBranchOneMap.svelte +0 -124
  441. package/components/flows/map/FlowBranchOneMap.svelte.d.ts +0 -17
@@ -0,0 +1,14 @@
1
+ import type { FilledItem, ItemLayout } from '../types';
2
+ export declare function getItemById(id: any, items: any): any;
3
+ export declare function isEmpty(matrix: any[][], x: number, y: number, w: number, h: number): boolean;
4
+ export declare function findFreeSpaceForItem<T>(matrix: FilledItem<T>[][], item: ItemLayout): {
5
+ x: number;
6
+ y: number;
7
+ };
8
+ export declare function moveItemsAroundItem(active: any, items: any, cols: any, original: any): any;
9
+ export declare function moveItem(active: any, items: any, cols: any, original: any): any;
10
+ export declare function normalize(items: any, col: any): any;
11
+ export declare function adjust<T>(items: FilledItem<T>[], col: any): FilledItem<T>[];
12
+ export declare function getUndefinedItems(items: any, col: any, breakpoints: any): any;
13
+ export declare function getClosestColumn(items: any, item: any, col: any, breakpoints: any): any;
14
+ export declare function specifyUndefinedColumns(items: any, col: any, breakpoints: any): any[];
@@ -0,0 +1,192 @@
1
+ import { makeMatrix, makeMatrixFromItemsIgnore, findCloseBlocks, findItemsById, makeMatrixFromItems } from './matrix';
2
+ import { getRowsCount } from './other';
3
+ export function getItemById(id, items) {
4
+ return items.find((value) => value.id === id);
5
+ }
6
+ export function isEmpty(matrix, x, y, w, h) {
7
+ for (var i = 0; i < h; i++) {
8
+ if (matrix[y + i]) {
9
+ for (var j = 0; j < w; j++) {
10
+ if (matrix[y + i][x + j] != undefined) {
11
+ return false;
12
+ }
13
+ }
14
+ }
15
+ }
16
+ return true;
17
+ }
18
+ function distance(a, b) {
19
+ return Math.abs(a.x - b.x + 0.25) + Math.abs(a.y - b.y + 0.25);
20
+ }
21
+ export function findFreeSpaceForItem(matrix, item) {
22
+ const cols = matrix[0].length;
23
+ const w = Math.min(cols, item.w);
24
+ const h = item.h;
25
+ let xNtime = cols - w;
26
+ let getMatrixRows = matrix.length;
27
+ const range = Array.from({ length: getMatrixRows }, (_, y) => Array.from({ length: xNtime }, (_, x) => ({ x, y })))
28
+ .flat(1)
29
+ .sort((a, b) => {
30
+ let dst1 = distance(a, item);
31
+ let dst2 = distance(b, item);
32
+ if (dst1 > dst2) {
33
+ return 1;
34
+ }
35
+ else if (dst1 < dst2) {
36
+ return -1;
37
+ }
38
+ else {
39
+ return 0;
40
+ }
41
+ });
42
+ for (const { x, y } of range.values()) {
43
+ if (isEmpty(matrix, x, y, w, h)) {
44
+ return { x, y };
45
+ }
46
+ }
47
+ return {
48
+ y: getMatrixRows,
49
+ x: 0
50
+ };
51
+ }
52
+ const getItem = (item, col) => {
53
+ return { ...item[col], id: item.id };
54
+ };
55
+ const updateItem = (elements, active, position, col) => {
56
+ return elements.map((value) => {
57
+ if (value.id === active.id) {
58
+ return { ...value, [col]: { ...value[col], ...position } };
59
+ }
60
+ return value;
61
+ });
62
+ };
63
+ export function moveItemsAroundItem(active, items, cols, original) {
64
+ // Get current item from the breakpoint
65
+ const activeItem = getItem(active, cols);
66
+ const ids = items.map((value) => value.id).filter((value) => value !== activeItem.id);
67
+ const els = items.filter((value) => value.id !== activeItem.id);
68
+ // Update items
69
+ let newItems = updateItem(items, active, activeItem, cols);
70
+ let matrix = makeMatrixFromItemsIgnore(newItems, ids, getRowsCount(newItems, cols), cols);
71
+ let tempItems = newItems;
72
+ // Exclude resolved elements ids in array
73
+ let exclude = [];
74
+ els.forEach((item) => {
75
+ // Find position for element
76
+ let position = findFreeSpaceForItem(matrix, item[cols]);
77
+ // Exclude item
78
+ exclude.push(item.id);
79
+ tempItems = updateItem(tempItems, item, position, cols);
80
+ // Recreate ids of elements
81
+ let getIgnoreItems = ids.filter((value) => exclude.indexOf(value) === -1);
82
+ // Update matrix for next iteration
83
+ matrix = makeMatrixFromItemsIgnore(tempItems, getIgnoreItems, getRowsCount(tempItems, cols), cols);
84
+ });
85
+ // Return result
86
+ return tempItems;
87
+ }
88
+ export function moveItem(active, items, cols, original) {
89
+ // Get current item from the breakpoint
90
+ const item = getItem(active, cols);
91
+ // Create matrix from the items expect the active
92
+ let matrix = makeMatrixFromItemsIgnore(items, [item.id], getRowsCount(items, cols), cols);
93
+ // Getting the ids of items under active Array<String>
94
+ const closeBlocks = findCloseBlocks(matrix, item);
95
+ // Getting the objects of items under active Array<Object>
96
+ let closeObj = findItemsById(closeBlocks, items);
97
+ // Getting whenever of these items is fixed
98
+ const fixed = closeObj.find((value) => value[cols].fixed);
99
+ // If found fixed, reset the active to its original position
100
+ if (fixed)
101
+ return items;
102
+ // Update items
103
+ items = updateItem(items, active, item, cols);
104
+ // Create matrix of items expect close elements
105
+ matrix = makeMatrixFromItemsIgnore(items, closeBlocks, getRowsCount(items, cols), cols);
106
+ // Create temp vars
107
+ let tempItems = items;
108
+ let tempCloseBlocks = closeBlocks;
109
+ // Exclude resolved elements ids in array
110
+ let exclude = [];
111
+ // Iterate over close elements under active item
112
+ closeObj.forEach((item) => {
113
+ // Find position for element
114
+ let position = findFreeSpaceForItem(matrix, item[cols]);
115
+ // Exclude item
116
+ exclude.push(item.id);
117
+ // Assign the position to the element in the column
118
+ tempItems = updateItem(tempItems, item, position, cols);
119
+ // Recreate ids of elements
120
+ let getIgnoreItems = tempCloseBlocks.filter((value) => exclude.indexOf(value) === -1);
121
+ // Update matrix for next iteration
122
+ matrix = makeMatrixFromItemsIgnore(tempItems, getIgnoreItems, getRowsCount(tempItems, cols), cols);
123
+ });
124
+ // Return result
125
+ return tempItems;
126
+ }
127
+ // Helper function
128
+ export function normalize(items, col) {
129
+ let result = items.slice();
130
+ result.forEach((value) => {
131
+ const getItem = value[col];
132
+ if (!getItem.static) {
133
+ result = moveItem(getItem, result, col, { ...getItem });
134
+ }
135
+ });
136
+ return result;
137
+ }
138
+ // Helper function
139
+ export function adjust(items, col) {
140
+ let matrix = makeMatrix(getRowsCount(items, col), col);
141
+ let res = [];
142
+ items.forEach((item) => {
143
+ let position = findFreeSpaceForItem(matrix, item[col]);
144
+ res.push({
145
+ ...item,
146
+ [col]: {
147
+ ...item[col],
148
+ ...position
149
+ }
150
+ });
151
+ matrix = makeMatrixFromItems(res, getRowsCount(res, col), col);
152
+ });
153
+ return res;
154
+ }
155
+ export function getUndefinedItems(items, col, breakpoints) {
156
+ return items
157
+ .map((value) => {
158
+ if (!value[col]) {
159
+ return value.id;
160
+ }
161
+ })
162
+ .filter(Boolean);
163
+ }
164
+ export function getClosestColumn(items, item, col, breakpoints) {
165
+ return breakpoints
166
+ .map(([_, column]) => item[column] && column)
167
+ .filter(Boolean)
168
+ .reduce(function (acc, value) {
169
+ const isLower = Math.abs(value - col) < Math.abs(acc - col);
170
+ return isLower ? value : acc;
171
+ });
172
+ }
173
+ export function specifyUndefinedColumns(items, col, breakpoints) {
174
+ let matrix = makeMatrixFromItems(items, getRowsCount(items, col), col);
175
+ const getUndefinedElements = getUndefinedItems(items, col, breakpoints);
176
+ let newItems = [...items];
177
+ getUndefinedElements.forEach((elementId) => {
178
+ const getElement = items.find((item) => item.id === elementId);
179
+ const closestColumn = getClosestColumn(items, getElement, col, breakpoints);
180
+ const position = findFreeSpaceForItem(matrix, getElement[closestColumn]);
181
+ const newItem = {
182
+ ...getElement,
183
+ [col]: {
184
+ ...getElement[closestColumn],
185
+ ...position
186
+ }
187
+ };
188
+ newItems = newItems.map((value) => (value.id === elementId ? newItem : value));
189
+ matrix = makeMatrixFromItems(newItems, getRowsCount(newItems, col), col);
190
+ });
191
+ return newItems;
192
+ }
@@ -0,0 +1,6 @@
1
+ import type { FilledItem } from "../types";
2
+ export declare const makeMatrix: (w: number, h: number) => any[][];
3
+ export declare function makeMatrixFromItems<T>(items: FilledItem<T>[], row: number, col: number): FilledItem<T>[][];
4
+ export declare function findCloseBlocks<T>(matrix: FilledItem<T>[][], curObject: any): string[];
5
+ export declare function makeMatrixFromItemsIgnore(items: any, ignoreList: any, _row: any, _col: any): any[][];
6
+ export declare function findItemsById<T>(closeBlocks: string[], items: FilledItem<T>[]): FilledItem<T>[];
@@ -0,0 +1,53 @@
1
+ export const makeMatrix = (rows, cols) => Array.from(Array(rows), () => new Array(cols)); // make 2d array
2
+ export function makeMatrixFromItems(items, row, col) {
3
+ let matrix = makeMatrix(row, col);
4
+ for (var i = 0; i < items.length; i++) {
5
+ const value = items[i][col];
6
+ if (value) {
7
+ const { x, y, h } = value;
8
+ const id = items[i].id;
9
+ const w = Math.min(col, value.w);
10
+ for (var j = y; j < y + h; j++) {
11
+ const row = matrix[j];
12
+ for (var k = x; k < x + w; k++) {
13
+ row[k] = { ...value, id };
14
+ }
15
+ }
16
+ }
17
+ }
18
+ return matrix;
19
+ }
20
+ export function findCloseBlocks(matrix, curObject) {
21
+ const { h, x, y } = curObject;
22
+ const w = Math.min(matrix[0].length, curObject.w);
23
+ const tempR = matrix.slice(y, y + h);
24
+ let result = [];
25
+ for (var i = 0; i < tempR.length; i++) {
26
+ let tempA = tempR[i].slice(x, x + w);
27
+ result = [...result, ...tempA.map((val) => val?.id).filter((id) => id !== undefined && id !== curObject.id)];
28
+ }
29
+ return [...new Set(result)];
30
+ }
31
+ export function makeMatrixFromItemsIgnore(items, ignoreList, _row, _col) {
32
+ let matrix = makeMatrix(_row, _col);
33
+ for (var i = 0; i < items.length; i++) {
34
+ const value = items[i][_col];
35
+ const id = items[i].id;
36
+ const { x, y, h } = value;
37
+ const w = Math.min(_col, value.w);
38
+ if (ignoreList.indexOf(id) === -1) {
39
+ for (var j = y; j < y + h; j++) {
40
+ const row = matrix[j];
41
+ if (row) {
42
+ for (var k = x; k < x + w; k++) {
43
+ row[k] = { ...value, id };
44
+ }
45
+ }
46
+ }
47
+ }
48
+ }
49
+ return matrix;
50
+ }
51
+ export function findItemsById(closeBlocks, items) {
52
+ return items.filter((value) => closeBlocks.indexOf(value.id) !== -1);
53
+ }
@@ -0,0 +1,3 @@
1
+ export declare function throttle(func: any, timeFrame: any): (...args: any[]) => void;
2
+ export declare function getRowsCount(items: any, cols: any): number;
3
+ export declare const getColumn: (containerWidth: any, columns: any) => any;
@@ -0,0 +1,30 @@
1
+ export function throttle(func, timeFrame) {
2
+ let lastTime = new Date().getTime();
3
+ return function (...args) {
4
+ let now = new Date().getTime();
5
+ if (now - lastTime >= timeFrame) {
6
+ func(...args);
7
+ lastTime = now;
8
+ }
9
+ };
10
+ }
11
+ export function getRowsCount(items, cols) {
12
+ const getItemsMaxHeight = items.map((val) => {
13
+ const item = val[cols];
14
+ return (item && item.y) + (item && item.h) || 0;
15
+ });
16
+ return Math.max(...getItemsMaxHeight, 1);
17
+ }
18
+ export const getColumn = (containerWidth, columns) => {
19
+ const sortColumns = columns.slice().sort((a, b) => a[0] - b[0]);
20
+ const breakpoint = sortColumns.find((value) => {
21
+ const [width] = value;
22
+ return containerWidth <= width;
23
+ });
24
+ if (breakpoint) {
25
+ return breakpoint[1];
26
+ }
27
+ else {
28
+ return sortColumns[sortColumns.length - 1][1];
29
+ }
30
+ };
@@ -1,10 +1,11 @@
1
1
  import type { Schema } from '../../common';
2
2
  import type { Preview } from '../../gen';
3
- import type { FilledItem } from '@windmill-labs/svelte-grid';
3
+ import type { History } from '../../history';
4
4
  import type { Writable } from 'svelte/store';
5
5
  import type { AppComponent } from './editor/component/components';
6
6
  import type { AppInput, ConnectedAppInput, ConnectedInput, EvalAppInput, RowAppInput, StaticAppInput, UploadAppInput, UserAppInput } from './inputType';
7
7
  import type { World } from './rx';
8
+ import type { FilledItem } from './svelte-grid/types';
8
9
  export type HorizontalAlignment = 'left' | 'center' | 'right';
9
10
  export type VerticalAlignment = 'top' | 'center' | 'bottom';
10
11
  export type Aligned = {
@@ -17,8 +18,8 @@ export interface GeneralAppInput {
17
18
  tooltip?: string;
18
19
  }
19
20
  export type ComponentCssProperty = {
20
- class: string;
21
- style: string;
21
+ class?: string;
22
+ style?: string;
22
23
  };
23
24
  export type ComponentCustomCSS<T extends string = string> = Record<T, ComponentCssProperty>;
24
25
  export interface BaseAppComponent extends Partial<Aligned> {
@@ -50,9 +51,9 @@ export type GridItem = FilledItem<{
50
51
  }>;
51
52
  export type InlineScript = {
52
53
  content: string;
53
- language: Preview.language;
54
- path: string;
55
- schema: Schema;
54
+ language: Preview.language | 'frontend';
55
+ path?: string;
56
+ schema?: Schema;
56
57
  };
57
58
  export type App = {
58
59
  grid: GridItem[];
@@ -65,6 +66,7 @@ export type App = {
65
66
  name: string;
66
67
  inlineScript: InlineScript | undefined;
67
68
  fields: Record<string, StaticAppInput | ConnectedAppInput | RowAppInput | UserAppInput>;
69
+ autoRefresh?: boolean;
68
70
  }>;
69
71
  css?: Record<'viewer' | 'grid' | AppComponent['type'], ComponentCustomCSS>;
70
72
  subgrids?: Record<string, GridItem[]>;
@@ -75,10 +77,9 @@ export type ConnectingInput = {
75
77
  sourceName?: string;
76
78
  hoveredComponent: string | undefined;
77
79
  };
78
- export type AppEditorContext = {
80
+ export type AppViewerContext = {
79
81
  worldStore: Writable<World | undefined>;
80
82
  staticOutputs: Writable<Record<string, string[]>>;
81
- lazyGrid: Writable<GridItem[]>;
82
83
  app: Writable<App>;
83
84
  summary: Writable<string>;
84
85
  selectedComponent: Writable<string | undefined>;
@@ -102,6 +103,18 @@ export type AppEditorContext = {
102
103
  }>>;
103
104
  openDebugRun: Writable<((componentID: string) => void) | undefined>;
104
105
  focusedGrid: Writable<FocusedGrid | undefined>;
106
+ stateId: Writable<number>;
107
+ parentWidth: Writable<number>;
108
+ state: Writable<Record<string, any>>;
109
+ componentControl: Writable<Record<string, {
110
+ left?: () => boolean;
111
+ right?: () => boolean;
112
+ setTab?: (index: number) => void;
113
+ }>>;
114
+ };
115
+ export type AppEditorContext = {
116
+ history: History<App> | undefined;
117
+ pickVariableCallback: Writable<((path: string) => void) | undefined>;
105
118
  };
106
119
  export type FocusedGrid = {
107
120
  parentComponentId: string;
@@ -1,9 +1,8 @@
1
1
  import type { Schema } from '../../common';
2
+ import type { App, ComponentCssProperty, ComponentCustomCSS, GridItem } from './types';
2
3
  import type { AppInput, InputType, ResultAppInput, StaticAppInput } from './inputType';
3
4
  import type { Output } from './rx';
4
- import type { App, GridItem } from './types';
5
5
  export declare function allItems(grid: GridItem[], subgrids: Record<string, GridItem[]> | undefined): GridItem[];
6
- export declare function allItemsWithParent(grid: GridItem[], subgrids: Record<string, GridItem[]> | undefined): [GridItem, string | undefined][];
7
6
  export declare function loadSchema(workspace: string, path: string, runType: 'script' | 'flow' | 'hubscript'): Promise<Schema>;
8
7
  export declare function schemaToInputsSpec(schema: Schema, defaultUserInput: boolean): Record<string, StaticAppInput>;
9
8
  export declare function accessPropertyByPath<T>(object: T, path: string): T | undefined;
@@ -15,7 +14,8 @@ export declare function toStatic(app: App, staticExporter: Record<string, () =>
15
14
  app: App;
16
15
  summary: string;
17
16
  };
18
- export declare function buildExtraLib(components: Record<string, Record<string, Output<any>>>, idToExclude: string, hasRows: boolean): string;
17
+ export declare function buildExtraLib(components: Record<string, Record<string, Output<any>>>, idToExclude: string, hasRows: boolean, state: Record<string, any>, goto: boolean): string;
19
18
  export declare function getAllScriptNames(app: App): string[];
20
19
  export declare function toPascalCase(text: string): string;
21
20
  export declare function toKebabCase(text: string): string;
21
+ export declare function concatCustomCss<T extends string = string>(appCss?: ComponentCustomCSS<T>, componentCss?: ComponentCustomCSS<T>): Record<T, ComponentCssProperty> | undefined;
@@ -1,60 +1,13 @@
1
1
  import { FlowService, ScriptService } from '../../gen';
2
2
  import { inferArgs } from '../../infer';
3
3
  import { emptySchema } from '../../utils';
4
- /*
5
- export function deleteComponent(
6
- subgrid: string | undefined,
7
- component: AppComponent,
8
- app: App,
9
- staticOutputs: Record<string, any>,
10
- runnableComponents: Record<string, any>
11
- ) {
12
- if (parentItems) {
13
- let index = parentItems.findIndex((item) => item.data?.id === component.id)
14
- if (index != -1) {
15
- parentItems.splice(index, 1)
16
- }
17
- }
18
-
19
- delete staticOutputs[component.id]
20
- delete runnableComponents[component.id]
21
-
22
- if (
23
- component.componentInput?.type === 'runnable' &&
24
- component.componentInput?.runnable?.type === 'runnableByName'
25
- ) {
26
- const { name, inlineScript } = component.componentInput.runnable
27
-
28
- if (inlineScript) {
29
- if (!app.unusedInlineScripts) {
30
- app.unusedInlineScripts = []
31
- }
32
-
33
- app.unusedInlineScripts.push({
34
- name,
35
- inlineScript
36
- })
37
- }
38
- }
39
- }
40
-
41
- */
4
+ import { twMerge } from 'tailwind-merge';
42
5
  export function allItems(grid, subgrids) {
43
6
  if (subgrids == undefined) {
44
7
  return grid;
45
8
  }
46
9
  return [...grid, ...Object.values(subgrids).flat()];
47
10
  }
48
- export function allItemsWithParent(grid, subgrids) {
49
- const items = grid.map((item) => [item, undefined]);
50
- if (subgrids == undefined) {
51
- return items;
52
- }
53
- return [
54
- ...items,
55
- ...Object.entries(subgrids).flatMap(([k, v]) => v.map((g) => [g, k]))
56
- ];
57
- }
58
11
  export async function loadSchema(workspace, path, runType) {
59
12
  if (runType === 'script') {
60
13
  const script = await ScriptService.getScriptByPath({
@@ -106,7 +59,7 @@ export function accessPropertyByPath(object, path) {
106
59
  let a = path.split('.');
107
60
  for (let i = 0, depth = a.length; i < depth; ++i) {
108
61
  let key = a[i];
109
- if (object[key]) {
62
+ if (object[key] != undefined) {
110
63
  object = object[key];
111
64
  }
112
65
  else {
@@ -167,16 +120,22 @@ export function toStatic(app, staticExporter, summary) {
167
120
  });
168
121
  return { app: newApp, summary };
169
122
  }
170
- export function buildExtraLib(components, idToExclude, hasRows) {
171
- return (Object.entries(components)
123
+ export function buildExtraLib(components, idToExclude, hasRows, state, goto) {
124
+ const cs = Object.entries(components)
172
125
  .filter(([k, v]) => k != idToExclude)
173
126
  .map(([k, v]) => [k, Object.fromEntries(Object.entries(v).map(([k, v]) => [k, v.peak()]))])
174
- .map(([k, v]) => `
175
-
176
- declare const ${k} = ${JSON.stringify(v)};
177
-
127
+ .map(([k, v]) => `declare const ${k}: ${JSON.stringify(v)};
178
128
  `)
179
- .join('\n') + (hasRows ? 'declare const row: Record<string, any>;' : ''));
129
+ .join('\n');
130
+ return `${cs}
131
+ ${hasRows ? 'declare const row: Record<string, any>;' : ''}
132
+ ${goto
133
+ ? `declare async function goto(path: string, newTab?: boolean): Promise<void>;
134
+ declare function setTab(id: string, index: string): void;
135
+ `
136
+ : ''}
137
+ declare const state: ${JSON.stringify(state)};
138
+ `;
180
139
  }
181
140
  export function getAllScriptNames(app) {
182
141
  const names = app.grid.reduce((acc, gridItem) => {
@@ -209,3 +168,22 @@ export function toPascalCase(text) {
209
168
  export function toKebabCase(text) {
210
169
  return text.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
211
170
  }
171
+ export function concatCustomCss(appCss, componentCss) {
172
+ if (!componentCss)
173
+ return undefined;
174
+ const customStyle = {};
175
+ Object.keys(componentCss).forEach((key) => {
176
+ const k = key;
177
+ // This is the general style of the component type
178
+ const appStyle = appCss?.[k]?.style?.trim() || '';
179
+ const appEnding = appStyle?.endsWith(';') || !appStyle ? ' ' : '; ';
180
+ // This is the custom style of the component instance
181
+ const compStyle = componentCss[k]?.style?.trim() || '';
182
+ const compEnding = compStyle?.endsWith(';') || !compStyle ? ' ' : ';';
183
+ customStyle[k] = {
184
+ style: (appStyle + appEnding + compStyle + compEnding).trim(),
185
+ class: twMerge(appCss?.[k]?.class, componentCss[k]?.class)
186
+ };
187
+ });
188
+ return customStyle;
189
+ }
@@ -0,0 +1,18 @@
1
+ <script>
2
+ import { faClose } from '@fortawesome/free-solid-svg-icons'
3
+ import { createEventDispatcher } from 'svelte'
4
+
5
+ import { Icon } from 'svelte-awesome'
6
+
7
+ export let noBg = false
8
+ const dispatch = createEventDispatcher()
9
+ </script>
10
+
11
+ <button
12
+ on:click={() => dispatch('close')}
13
+ class="hover:bg-gray-200 {noBg
14
+ ? ''
15
+ : 'bg-gray-100'} rounded-full w-8 h-8 flex items-center justify-center transition-all"
16
+ >
17
+ <Icon data={faClose} class="text-gray-500" />
18
+ </button>
@@ -0,0 +1,27 @@
1
+ /** @typedef {typeof __propDef.props} CloseButtonProps */
2
+ /** @typedef {typeof __propDef.events} CloseButtonEvents */
3
+ /** @typedef {typeof __propDef.slots} CloseButtonSlots */
4
+ export default class CloseButton extends SvelteComponentTyped<{
5
+ noBg?: boolean | undefined;
6
+ }, {
7
+ close: CustomEvent<any>;
8
+ } & {
9
+ [evt: string]: CustomEvent<any>;
10
+ }, {}> {
11
+ }
12
+ export type CloseButtonProps = typeof __propDef.props;
13
+ export type CloseButtonEvents = typeof __propDef.events;
14
+ export type CloseButtonSlots = typeof __propDef.slots;
15
+ import { SvelteComponentTyped } from "svelte";
16
+ declare const __propDef: {
17
+ props: {
18
+ noBg?: boolean | undefined;
19
+ };
20
+ events: {
21
+ close: CustomEvent<any>;
22
+ } & {
23
+ [evt: string]: CustomEvent<any>;
24
+ };
25
+ slots: {};
26
+ };
27
+ export {};
@@ -7,6 +7,7 @@ export let large = false;
7
7
  export let href = '';
8
8
  export let rounded = false;
9
9
  export let dismissable = false;
10
+ export let wrapperClass = '';
10
11
  export let baseClass = 'text-center';
11
12
  export let capitalize = false;
12
13
  export let icon = undefined;
@@ -44,7 +45,11 @@ $: iconProps = icon ? { ...defaulIconProps, ...icon } : { data: undefined };
44
45
  const handleHide = () => (hidden = !hidden);
45
46
  </script>
46
47
 
47
- <span on:click on:keydown class="inline-flex justify-center items-center whitespace-nowrap">
48
+ <span
49
+ on:click
50
+ on:keydown
51
+ class="inline-flex justify-center items-center whitespace-nowrap {wrapperClass}"
52
+ >
48
53
  <svelte:element
49
54
  this={href ? 'a' : 'span'}
50
55
  {href}
@@ -8,6 +8,7 @@ declare const __propDef: {
8
8
  href?: string | undefined;
9
9
  rounded?: boolean | undefined;
10
10
  dismissable?: boolean | undefined;
11
+ wrapperClass?: string | undefined;
11
12
  baseClass?: string | undefined;
12
13
  capitalize?: boolean | undefined;
13
14
  icon?: BadgeIconProps | undefined;
@@ -13,6 +13,7 @@ export let target = '_self';
13
13
  export let startIcon = undefined;
14
14
  export let endIcon = undefined;
15
15
  export let spacingSize = size;
16
+ export let loading = false;
16
17
  let ref;
17
18
  setContext(ButtonType.ItemContextKey, { size, color });
18
19
  $: separator = color === 'red' || color === 'blue' ? 'border-gray-200' : 'border-gray-400';
@@ -28,6 +29,7 @@ $: commonProps = {
28
29
  <div class="flex justy-start items-center">
29
30
  {#if $$slots.main}
30
31
  <Button
32
+ {loading}
31
33
  {...commonProps}
32
34
  {href}
33
35
  {target}
@@ -14,6 +14,7 @@ declare const __propDef: {
14
14
  startIcon?: ButtonType.Icon | undefined;
15
15
  endIcon?: ButtonType.Icon | undefined;
16
16
  spacingSize?: ButtonType.Size | undefined;
17
+ loading?: boolean | undefined;
17
18
  };
18
19
  events: {
19
20
  click: CustomEvent<any>;
@@ -0,0 +1,32 @@
1
+ <script>import { Redo, Undo } from 'lucide-svelte';
2
+ import { createEventDispatcher } from 'svelte';
3
+ import { Button } from '..';
4
+ export let undoProps = {};
5
+ export let redoProps = {};
6
+ const dispatch = createEventDispatcher();
7
+ </script>
8
+
9
+ <div class="flex">
10
+ <Button
11
+ title="Undo"
12
+ variant="border"
13
+ color="light"
14
+ size="xs"
15
+ btnClasses="!min-h-[30px] !rounded-r-none"
16
+ on:click={() => dispatch('undo')}
17
+ {...undoProps}
18
+ >
19
+ <Undo size={14} />
20
+ </Button>
21
+ <Button
22
+ title="Redo"
23
+ variant="border"
24
+ color="light"
25
+ size="xs"
26
+ btnClasses="!min-h-[30px] !rounded-l-none !border-l-0"
27
+ on:click={() => dispatch('redo')}
28
+ {...redoProps}
29
+ >
30
+ <Redo size={14} />
31
+ </Button>
32
+ </div>