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,171 @@
1
+ <script>import { getContainerHeight } from './utils/container';
2
+ import { moveItemsAroundItem, moveItem, getItemById, specifyUndefinedColumns } from './utils/item';
3
+ import { onMount, createEventDispatcher } from 'svelte';
4
+ import { getColumn, throttle } from './utils/other';
5
+ import MoveResize from './MoveResize.svelte';
6
+ const dispatch = createEventDispatcher();
7
+ export let fillSpace = false;
8
+ export let items;
9
+ export let rowHeight;
10
+ export let cols;
11
+ export let gap = [10, 10];
12
+ export let fastStart = false;
13
+ export let throttleUpdate = 100;
14
+ export let throttleResize = 100;
15
+ export let onTopId = undefined;
16
+ export let containerWidth = undefined;
17
+ export let scroller = undefined;
18
+ export let sensor = 20;
19
+ export let parentWidth = undefined;
20
+ let getComputedCols;
21
+ let container;
22
+ $: [gapX, gapY] = gap;
23
+ let xPerPx = 0;
24
+ let yPerPx = rowHeight;
25
+ $: containerHeight = getContainerHeight(items, yPerPx, getComputedCols);
26
+ const pointerup = (ev) => {
27
+ dispatch('pointerup', {
28
+ id: ev.detail.id,
29
+ cols: getComputedCols
30
+ });
31
+ };
32
+ const onResize = throttle(() => {
33
+ items = specifyUndefinedColumns(items, getComputedCols, cols);
34
+ dispatch('resize', {
35
+ cols: getComputedCols,
36
+ xPerPx,
37
+ yPerPx,
38
+ width: containerWidth
39
+ });
40
+ }, throttleUpdate);
41
+ onMount(() => {
42
+ const sizeObserver = new ResizeObserver((entries) => {
43
+ requestAnimationFrame(() => {
44
+ let width = entries[0].contentRect.width;
45
+ if (width === containerWidth)
46
+ return;
47
+ getComputedCols = getColumn(parentWidth ?? width, cols);
48
+ xPerPx = width / getComputedCols;
49
+ if (!containerWidth) {
50
+ items = specifyUndefinedColumns(items, getComputedCols, cols);
51
+ dispatch('mount', {
52
+ cols: getComputedCols,
53
+ xPerPx,
54
+ yPerPx // same as rowHeight
55
+ });
56
+ }
57
+ else {
58
+ onResize();
59
+ }
60
+ containerWidth = width;
61
+ });
62
+ });
63
+ sizeObserver.observe(container);
64
+ return () => sizeObserver.disconnect();
65
+ });
66
+ let initItems = undefined;
67
+ const updateMatrix = ({ detail }) => {
68
+ let isPointerUp = detail.isPointerUp;
69
+ let citems;
70
+ if (isPointerUp) {
71
+ try {
72
+ citems = JSON.parse(JSON.stringify(initItems));
73
+ }
74
+ catch (e) {
75
+ citems = JSON.parse(JSON.stringify(items));
76
+ }
77
+ initItems = undefined;
78
+ }
79
+ else {
80
+ if (initItems == undefined) {
81
+ initItems = JSON.parse(JSON.stringify(items));
82
+ }
83
+ citems = JSON.parse(JSON.stringify(initItems));
84
+ }
85
+ let activeItem = getItemById(detail.id, citems);
86
+ if (activeItem) {
87
+ activeItem = {
88
+ ...activeItem,
89
+ [getComputedCols]: {
90
+ ...activeItem[getComputedCols],
91
+ ...detail.shadow
92
+ }
93
+ };
94
+ if (fillSpace) {
95
+ items = moveItemsAroundItem(activeItem, citems, getComputedCols, getItemById(detail.id, citems));
96
+ }
97
+ else {
98
+ items = moveItem(activeItem, citems, getComputedCols, getItemById(detail.id, citems));
99
+ }
100
+ if (detail.onUpdate)
101
+ detail.onUpdate();
102
+ dispatch('change', {
103
+ unsafeItem: activeItem,
104
+ id: activeItem.id,
105
+ cols: getComputedCols
106
+ });
107
+ }
108
+ if (isPointerUp) {
109
+ dispatch('redraw', items);
110
+ }
111
+ };
112
+ const throttleMatrix = throttle(updateMatrix, throttleResize);
113
+ const handleRepaint = ({ detail }) => {
114
+ if (!detail.isPointerUp) {
115
+ throttleMatrix({ detail });
116
+ }
117
+ else {
118
+ updateMatrix({ detail });
119
+ }
120
+ };
121
+ </script>
122
+
123
+ <div class="svlt-grid-container" style="height: {containerHeight}px" bind:this={container}>
124
+ {#if xPerPx || !fastStart}
125
+ {#each items as item, i (item.id)}
126
+ <MoveResize
127
+ on:repaint={handleRepaint}
128
+ on:pointerup={pointerup}
129
+ onTop={item.id == onTopId}
130
+ id={item.id}
131
+ resizable={item[getComputedCols] && item[getComputedCols].resizable}
132
+ draggable={item[getComputedCols] && item[getComputedCols].draggable}
133
+ {xPerPx}
134
+ {yPerPx}
135
+ width={Math.min(getComputedCols, item[getComputedCols] && item[getComputedCols].w) *
136
+ xPerPx -
137
+ gapX * 2}
138
+ height={(item[getComputedCols] && item[getComputedCols].h) * yPerPx - gapY * 2}
139
+ top={(item[getComputedCols] && item[getComputedCols].y) * yPerPx + gapY}
140
+ left={(item[getComputedCols] && item[getComputedCols].x) * xPerPx + gapX}
141
+ item={item[getComputedCols]}
142
+ min={item[getComputedCols] && item[getComputedCols].min}
143
+ max={item[getComputedCols] && item[getComputedCols].max}
144
+ cols={getComputedCols}
145
+ {gapX}
146
+ {gapY}
147
+ {sensor}
148
+ container={scroller}
149
+ nativeContainer={container}
150
+ let:resizePointerDown
151
+ let:movePointerDown
152
+ >
153
+ {#if item[getComputedCols]}
154
+ <slot
155
+ {movePointerDown}
156
+ {resizePointerDown}
157
+ dataItem={item}
158
+ item={item[getComputedCols]}
159
+ index={i}
160
+ />
161
+ {/if}
162
+ </MoveResize>
163
+ {/each}
164
+ {/if}
165
+ </div>
166
+
167
+ <style>
168
+ .svlt-grid-container {
169
+ position: relative;
170
+ width: 100%;
171
+ }</style>
@@ -0,0 +1,47 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { FilledItem } from './types';
3
+ declare class __sveltets_Render<T> {
4
+ props(): {
5
+ fillSpace?: boolean | undefined;
6
+ items: FilledItem<T>[];
7
+ rowHeight: number;
8
+ cols: [number, number][];
9
+ gap?: number[] | undefined;
10
+ fastStart?: boolean | undefined;
11
+ throttleUpdate?: number | undefined;
12
+ throttleResize?: number | undefined;
13
+ onTopId?: string | undefined;
14
+ containerWidth?: number | undefined;
15
+ scroller?: undefined;
16
+ sensor?: number | undefined;
17
+ parentWidth?: number | undefined;
18
+ };
19
+ events(): {
20
+ pointerup: CustomEvent<any>;
21
+ resize: CustomEvent<any>;
22
+ mount: CustomEvent<any>;
23
+ change: CustomEvent<any>;
24
+ redraw: CustomEvent<any>;
25
+ } & {
26
+ [evt: string]: CustomEvent<any>;
27
+ };
28
+ slots(): {
29
+ default: {
30
+ movePointerDown: ({ clientX, clientY, target }: {
31
+ clientX: any;
32
+ clientY: any;
33
+ target: any;
34
+ }) => void;
35
+ resizePointerDown: (e: any) => void;
36
+ dataItem: FilledItem<T>;
37
+ item: Required<import("./types").ItemLayout>;
38
+ index: any;
39
+ };
40
+ };
41
+ }
42
+ export type GridProps<T> = ReturnType<__sveltets_Render<T>['props']>;
43
+ export type GridEvents<T> = ReturnType<__sveltets_Render<T>['events']>;
44
+ export type GridSlots<T> = ReturnType<__sveltets_Render<T>['slots']>;
45
+ export default class Grid<T> extends SvelteComponentTyped<GridProps<T>, GridEvents<T>, GridSlots<T>> {
46
+ }
47
+ export {};
@@ -0,0 +1,23 @@
1
+ Anything under this repo was initially forked from svelte-grid whose LICENSE is below
2
+
3
+ MIT License
4
+
5
+ Copyright (c) 2019 Vahe
6
+
7
+ Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ of this software and associated documentation files (the "Software"), to deal
9
+ in the Software without restriction, including without limitation the rights
10
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ copies of the Software, and to permit persons to whom the Software is
12
+ furnished to do so, subject to the following conditions:
13
+
14
+ The above copyright notice and this permission notice shall be included in all
15
+ copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
+ SOFTWARE.
@@ -0,0 +1,328 @@
1
+ <script>import { createEventDispatcher } from 'svelte';
2
+ const dispatch = createEventDispatcher();
3
+ export let sensor;
4
+ export let width;
5
+ export let height;
6
+ export let left;
7
+ export let top;
8
+ export let resizable;
9
+ export let draggable;
10
+ export let id;
11
+ export let container;
12
+ export let xPerPx;
13
+ export let yPerPx;
14
+ export let gapX;
15
+ export let gapY;
16
+ export let item;
17
+ export let max;
18
+ export let min;
19
+ export let cols;
20
+ export let nativeContainer;
21
+ export let onTop;
22
+ let shadowElement;
23
+ let shadow = undefined;
24
+ let active = false;
25
+ let initX, initY;
26
+ let capturePos = {
27
+ x: 0,
28
+ y: 0
29
+ };
30
+ let cordDiff = { x: 0, y: 0 };
31
+ let newSize = { width, height };
32
+ let trans = false;
33
+ let anima;
34
+ const inActivate = () => {
35
+ if (shadowElement && shadow != undefined) {
36
+ let subgrid = shadowElement.closest('.subgrid');
37
+ let irect = shadowElement.getBoundingClientRect();
38
+ let shadowBound;
39
+ if (subgrid) {
40
+ let subGridParent = subgrid.parentElement;
41
+ let subGridParentRect = subGridParent.getBoundingClientRect();
42
+ let prect = subgrid.getBoundingClientRect();
43
+ const subGridOffset = {
44
+ x: subGridParentRect.x - prect.x,
45
+ y: subGridParentRect.y - prect.y
46
+ };
47
+ shadowBound = {
48
+ x: irect.x - prect.left - subGridOffset.x,
49
+ y: irect.y - prect.top - subGridOffset.y
50
+ };
51
+ }
52
+ else {
53
+ shadowBound = irect;
54
+ }
55
+ const xdragBound = rect.left + cordDiff.x;
56
+ const ydragBound = rect.top + cordDiff.y;
57
+ cordDiff.x = shadow.x * xPerPx + gapX - (shadowBound.x - xdragBound);
58
+ cordDiff.y = shadow.y * yPerPx + gapY - (shadowBound.y - ydragBound);
59
+ active = false;
60
+ trans = true;
61
+ clearTimeout(anima);
62
+ anima = setTimeout(() => {
63
+ trans = false;
64
+ }, 100);
65
+ dispatch('pointerup', {
66
+ id
67
+ });
68
+ }
69
+ };
70
+ let repaint = (cb, isPointerUp) => {
71
+ dispatch('repaint', {
72
+ id,
73
+ shadow,
74
+ isPointerUp,
75
+ onUpdate: cb
76
+ });
77
+ };
78
+ // Autoscroll
79
+ let _scrollTop = 0;
80
+ let containerFrame;
81
+ let rect;
82
+ let scrollElement;
83
+ const getContainerFrame = (element) => {
84
+ if (element === document.documentElement || !element) {
85
+ const { height, top, right, bottom, left } = nativeContainer.getBoundingClientRect();
86
+ return {
87
+ top: Math.max(0, top),
88
+ bottom: Math.min(window.innerHeight, bottom)
89
+ };
90
+ }
91
+ return element.getBoundingClientRect();
92
+ };
93
+ const getScroller = (element) => (!element ? document.documentElement : element);
94
+ function computeRect(target) {
95
+ let gridItem = target.closest('.svlt-grid-item');
96
+ let subgrid = gridItem.closest('.subgrid');
97
+ let irect = gridItem.getBoundingClientRect();
98
+ if (subgrid) {
99
+ let subGridParent = subgrid.parentElement;
100
+ let subGridParentRect = subGridParent.getBoundingClientRect();
101
+ let prect = subgrid.getBoundingClientRect();
102
+ const subGridOffset = {
103
+ x: subGridParentRect.x - prect.x,
104
+ y: subGridParentRect.y - prect.y
105
+ };
106
+ rect = {
107
+ top: irect.top - prect.top - subGridOffset.y,
108
+ left: irect.left - prect.left - subGridOffset.x
109
+ };
110
+ }
111
+ else {
112
+ rect = irect;
113
+ }
114
+ }
115
+ const pointerdown = ({ clientX, clientY, target }) => {
116
+ initX = clientX;
117
+ initY = clientY;
118
+ capturePos = { x: left, y: top };
119
+ shadow = { x: item.x, y: item.y, w: item.w, h: item.h };
120
+ newSize = { width, height };
121
+ containerFrame = getContainerFrame(container);
122
+ scrollElement = getScroller(container);
123
+ cordDiff = { x: 0, y: 0 };
124
+ computeRect(target);
125
+ active = true;
126
+ trans = false;
127
+ _scrollTop = scrollElement.scrollTop;
128
+ window.addEventListener('pointermove', pointermove);
129
+ window.addEventListener('pointerup', pointerup);
130
+ };
131
+ let sign = { x: 0, y: 0 };
132
+ let vel = { x: 0, y: 0 };
133
+ let intervalId = undefined;
134
+ const stopAutoscroll = () => {
135
+ intervalId && clearInterval(intervalId);
136
+ intervalId = undefined;
137
+ sign = { x: 0, y: 0 };
138
+ vel = { x: 0, y: 0 };
139
+ };
140
+ const update = () => {
141
+ const _newScrollTop = scrollElement.scrollTop - _scrollTop;
142
+ const boundX = capturePos.x + cordDiff.x;
143
+ const boundY = capturePos.y + (cordDiff.y + _newScrollTop);
144
+ let gridX = Math.round(boundX / xPerPx);
145
+ let gridY = Math.round(boundY / yPerPx);
146
+ if (shadow) {
147
+ shadow.x = Math.max(Math.min(gridX, cols - shadow.w), 0);
148
+ shadow.y = Math.max(gridY, 0);
149
+ if (max.y) {
150
+ shadow.y = Math.min(shadow.y, max.y);
151
+ }
152
+ }
153
+ repaint(undefined, false);
154
+ };
155
+ const pointermove = (event) => {
156
+ event.preventDefault();
157
+ event.stopPropagation();
158
+ event.stopImmediatePropagation();
159
+ const { clientX, clientY } = event;
160
+ cordDiff = { x: clientX - initX, y: clientY - initY };
161
+ const Y_SENSOR = sensor;
162
+ let velocityTop = Math.max(0, (containerFrame.top + Y_SENSOR - clientY) / Y_SENSOR);
163
+ let velocityBottom = Math.max(0, (clientY - (containerFrame.bottom - Y_SENSOR)) / Y_SENSOR);
164
+ const topSensor = velocityTop > 0 && velocityBottom === 0;
165
+ const bottomSensor = velocityBottom > 0 && velocityTop === 0;
166
+ sign.y = topSensor ? -1 : bottomSensor ? 1 : 0;
167
+ vel.y = sign.y === -1 ? velocityTop : velocityBottom;
168
+ if (vel.y > 0) {
169
+ if (!intervalId) {
170
+ // Start scrolling
171
+ // TODO Use requestAnimationFrame
172
+ intervalId = setInterval(() => {
173
+ scrollElement.scrollTop += 2 * (vel.y + Math.sign(vel.y)) * sign.y;
174
+ update();
175
+ }, 10);
176
+ }
177
+ }
178
+ else if (intervalId) {
179
+ stopAutoscroll();
180
+ }
181
+ else {
182
+ update();
183
+ }
184
+ };
185
+ const pointerup = (e) => {
186
+ stopAutoscroll();
187
+ window.removeEventListener('pointerdown', pointerdown);
188
+ window.removeEventListener('pointermove', pointermove);
189
+ window.removeEventListener('pointerup', pointerup);
190
+ repaint(inActivate, true);
191
+ };
192
+ // Resize
193
+ let resizeInitPos = { x: 0, y: 0 };
194
+ let initSize = { width: 0, height: 0 };
195
+ const resizePointerDown = (e) => {
196
+ e.stopPropagation();
197
+ const { pageX, pageY, target } = e;
198
+ resizeInitPos = { x: pageX, y: pageY };
199
+ initSize = { width, height };
200
+ cordDiff = { x: 0, y: 0 };
201
+ computeRect(target);
202
+ newSize = { width, height };
203
+ active = true;
204
+ trans = false;
205
+ shadow = { x: item.x, y: item.y, w: item.w, h: item.h };
206
+ containerFrame = getContainerFrame(container);
207
+ scrollElement = getScroller(container);
208
+ window.addEventListener('pointermove', resizePointerMove);
209
+ window.addEventListener('pointerup', resizePointerUp);
210
+ };
211
+ const resizePointerMove = ({ pageX, pageY }) => {
212
+ if (shadow) {
213
+ newSize.width = initSize.width + pageX - resizeInitPos.x;
214
+ newSize.height = initSize.height + pageY - resizeInitPos.y;
215
+ // Get max col number
216
+ let maxWidth = cols - shadow.x;
217
+ maxWidth = Math.min(max.w, maxWidth) || maxWidth;
218
+ // Limit bound
219
+ newSize.width = Math.max(Math.min(newSize.width, maxWidth * xPerPx - gapX * 2), min.w * xPerPx - gapX * 2);
220
+ newSize.height = Math.max(newSize.height, min.h * yPerPx - gapY * 2);
221
+ if (max.h) {
222
+ newSize.height = Math.min(newSize.height, max.h * yPerPx - gapY * 2);
223
+ }
224
+ // Limit col & row
225
+ shadow.w = Math.round((newSize.width + gapX * 2) / xPerPx);
226
+ shadow.h = Math.round((newSize.height + gapY * 2) / yPerPx);
227
+ repaint(undefined, false);
228
+ }
229
+ };
230
+ const resizePointerUp = (e) => {
231
+ e.stopPropagation();
232
+ repaint(inActivate, true);
233
+ window.removeEventListener('pointermove', resizePointerMove);
234
+ window.removeEventListener('pointerup', resizePointerUp);
235
+ };
236
+ </script>
237
+
238
+ <div
239
+ draggable={false}
240
+ on:pointerdown={item && item.customDragger ? null : draggable && pointerdown}
241
+ class="svlt-grid-item"
242
+ class:svlt-grid-active={active || (trans && rect)}
243
+ style="width: {active ? newSize.width : width}px; height:{active
244
+ ? newSize.height
245
+ : height}px; {onTop ? 'z-index: 100;' : ''}
246
+ {active
247
+ ? `transform: translate(${cordDiff.x}px, ${cordDiff.y}px);top:${rect.top}px;left:${rect.left}px;`
248
+ : trans
249
+ ? `transform: translate(${cordDiff.x}px, ${cordDiff.y}px); position:absolute; transition: width 0.2s, height 0.2s;`
250
+ : `transition: transform 0.1s, opacity 0.1s; transform: translate(${left}px, ${top}px); `} "
251
+ >
252
+ <slot movePointerDown={pointerdown} {resizePointerDown} />
253
+ {#if resizable && !item.customResizer}
254
+ <div class="svlt-grid-resizer" on:pointerdown={resizePointerDown} />
255
+ {/if}
256
+ </div>
257
+
258
+ {#if (active || trans) && shadow}
259
+ <div
260
+ class="svlt-grid-shadow shadow-active"
261
+ style="width: {shadow.w * xPerPx - gapX * 2}px; height: {shadow.h * yPerPx -
262
+ gapY * 2}px; transform: translate({shadow.x * xPerPx + gapX}px, {shadow.y * yPerPx +
263
+ gapY}px); "
264
+ bind:this={shadowElement}
265
+ />
266
+ {/if}
267
+
268
+ <style>
269
+ .svlt-grid-item {
270
+ touch-action: none;
271
+ position: absolute;
272
+ will-change: auto;
273
+ backface-visibility: hidden;
274
+ -webkit-backface-visibility: hidden;
275
+ }
276
+
277
+ .svlt-grid-resizer {
278
+ -webkit-user-select: none;
279
+ -moz-user-select: none;
280
+ user-select: none;
281
+ width: 20px;
282
+ height: 20px;
283
+ position: absolute;
284
+ right: 0;
285
+ bottom: 0;
286
+ cursor: se-resize;
287
+ }
288
+ .svlt-grid-resizer::after {
289
+ content: '';
290
+ position: absolute;
291
+ right: 3px;
292
+ bottom: 3px;
293
+ width: 5px;
294
+ height: 5px;
295
+ border-right: 2px solid rgba(0, 0, 0, 0.4);
296
+ border-bottom: 2px solid rgba(0, 0, 0, 0.4);
297
+ }
298
+
299
+ .svlt-grid-active {
300
+ z-index: 3;
301
+ cursor: grabbing;
302
+ position: fixed;
303
+ opacity: 0.5;
304
+
305
+ /*No user*/
306
+ backface-visibility: hidden;
307
+ -webkit-backface-visibility: hidden;
308
+ -moz-backface-visibility: hidden;
309
+ -o-backface-visibility: hidden;
310
+ -ms-backface-visibility: hidden;
311
+ -webkit-user-select: none;
312
+ -moz-user-select: none;
313
+ user-select: none;
314
+ }
315
+
316
+ .shadow-active {
317
+ z-index: 2;
318
+ transition: all 0.2s;
319
+ }
320
+
321
+ .svlt-grid-shadow {
322
+ position: absolute;
323
+ background: red;
324
+ will-change: transform;
325
+ background: pink;
326
+ backface-visibility: hidden;
327
+ -webkit-backface-visibility: hidden;
328
+ }</style>
@@ -0,0 +1,46 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ sensor: any;
5
+ width: any;
6
+ height: any;
7
+ left: any;
8
+ top: any;
9
+ resizable: any;
10
+ draggable: any;
11
+ id: any;
12
+ container: any;
13
+ xPerPx: any;
14
+ yPerPx: any;
15
+ gapX: any;
16
+ gapY: any;
17
+ item: any;
18
+ max: any;
19
+ min: any;
20
+ cols: any;
21
+ nativeContainer: any;
22
+ onTop: any;
23
+ };
24
+ events: {
25
+ pointerup: CustomEvent<any>;
26
+ repaint: CustomEvent<any>;
27
+ } & {
28
+ [evt: string]: CustomEvent<any>;
29
+ };
30
+ slots: {
31
+ default: {
32
+ movePointerDown: ({ clientX, clientY, target }: {
33
+ clientX: any;
34
+ clientY: any;
35
+ target: any;
36
+ }) => void;
37
+ resizePointerDown: (e: any) => void;
38
+ };
39
+ };
40
+ };
41
+ export type MoveResizeProps = typeof __propDef.props;
42
+ export type MoveResizeEvents = typeof __propDef.events;
43
+ export type MoveResizeSlots = typeof __propDef.slots;
44
+ export default class MoveResize extends SvelteComponentTyped<MoveResizeProps, MoveResizeEvents, MoveResizeSlots> {
45
+ }
46
+ export {};
@@ -0,0 +1,25 @@
1
+
2
+ export interface Size {
3
+ w: number
4
+ h: number
5
+ }
6
+
7
+ export interface Positon {
8
+ x: number
9
+ y: number
10
+ }
11
+
12
+ interface ItemLayout extends Size, Positon {
13
+ fixed?: boolean
14
+ resizable?: boolean
15
+ draggable?: boolean
16
+ customDragger?: boolean
17
+ customResizer?: boolean
18
+ min?: Size
19
+ max?: Size
20
+ }
21
+
22
+ export type FilledItem<T> = T & { [width: number]: Required<ItemLayout>; data: any, id: string }
23
+
24
+
25
+
@@ -0,0 +1 @@
1
+ export declare function getContainerHeight(items: any, yPerPx: any, cols: any): number;
@@ -0,0 +1,4 @@
1
+ import { getRowsCount } from "./other";
2
+ export function getContainerHeight(items, yPerPx, cols) {
3
+ return getRowsCount(items, cols) * yPerPx;
4
+ }
@@ -0,0 +1,14 @@
1
+ declare const gridHelp: {
2
+ normalize(items: any, col: any): any;
3
+ adjust(items: any, col: any): {
4
+ [width: number]: Required<import("../types").ItemLayout>;
5
+ data: any;
6
+ id: string;
7
+ }[];
8
+ item(obj: any): any;
9
+ findSpace(item: any, items: any, cols: any): {
10
+ x: number;
11
+ y: number;
12
+ };
13
+ };
14
+ export default gridHelp;
@@ -0,0 +1,36 @@
1
+ import { makeMatrixFromItems } from "./matrix";
2
+ import { findFreeSpaceForItem, normalize, adjust } from "./item";
3
+ import { getRowsCount } from "./other";
4
+ function makeItem(item) {
5
+ const { min = { w: 1, h: 1 }, max } = item;
6
+ return {
7
+ fixed: false,
8
+ resizable: !item.fixed,
9
+ draggable: !item.fixed,
10
+ customDragger: false,
11
+ customResizer: false,
12
+ min: {
13
+ w: Math.max(1, min.w),
14
+ h: Math.max(1, min.h),
15
+ },
16
+ max: { ...max },
17
+ ...item,
18
+ };
19
+ }
20
+ const gridHelp = {
21
+ normalize(items, col) {
22
+ return normalize(items, col);
23
+ },
24
+ adjust(items, col) {
25
+ return adjust(items, col);
26
+ },
27
+ item(obj) {
28
+ return makeItem(obj);
29
+ },
30
+ findSpace(item, items, cols) {
31
+ let matrix = makeMatrixFromItems(items, getRowsCount(items, cols), cols);
32
+ let position = findFreeSpaceForItem(matrix, item[cols]);
33
+ return position;
34
+ },
35
+ };
36
+ export default gridHelp;