windmill-components 1.82.4 → 1.82.6

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 (169) hide show
  1. package/common.d.ts +2 -2
  2. package/components/ArgInput.svelte +72 -52
  3. package/components/ArgInput.svelte.d.ts +3 -1
  4. package/components/DisplayResult.svelte +17 -17
  5. package/components/Editor.svelte +3 -0
  6. package/components/Editor.svelte.d.ts +1 -0
  7. package/components/FieldHeader.svelte +1 -0
  8. package/components/FieldHeader.svelte.d.ts +4 -0
  9. package/components/FlowBuilder.svelte +0 -6
  10. package/components/FlowStatusViewer.svelte +4 -7
  11. package/components/FlowStatusViewer.svelte.d.ts +0 -1
  12. package/components/FlowViewer.svelte +1 -0
  13. package/components/InputTransformForm.svelte +1 -0
  14. package/components/LightweightArgInput.svelte +14 -1
  15. package/components/LightweightArgInput.svelte.d.ts +3 -1
  16. package/components/Multiselect.svelte.d.ts +2 -2
  17. package/components/SimpleEditor.svelte +1 -0
  18. package/components/SimpleEditor.svelte.d.ts +1 -0
  19. package/components/TemplateEditor.svelte +1 -0
  20. package/components/Toggle.svelte +1 -1
  21. package/components/Toggle.svelte.d.ts +1 -0
  22. package/components/apps/components/buttons/AppButton.svelte +17 -3
  23. package/components/apps/components/buttons/AppForm.svelte +10 -2
  24. package/components/apps/components/buttons/AppFormButton.svelte +82 -58
  25. package/components/apps/components/display/AppDisplayComponent.svelte +17 -23
  26. package/components/apps/components/display/AppHtml.svelte +1 -7
  27. package/components/apps/components/display/AppHtml.svelte.d.ts +0 -2
  28. package/components/apps/components/display/AppMap.svelte +1 -1
  29. package/components/apps/components/display/AppPdf.svelte +1 -1
  30. package/components/apps/components/display/PlotlyHtml.svelte +3 -20
  31. package/components/apps/components/display/PlotlyHtml.svelte.d.ts +0 -2
  32. package/components/apps/components/display/table/AppAggridTable.svelte +1 -1
  33. package/components/apps/components/display/table/AppTable.svelte +49 -75
  34. package/components/apps/components/display/table/AppTable.svelte.d.ts +1 -1
  35. package/components/apps/components/display/table/AppTableFooter.svelte +1 -2
  36. package/components/apps/components/display/table/AppTableFooter.svelte.d.ts +0 -1
  37. package/components/apps/components/display/table/tableOptions.js +1 -1
  38. package/components/apps/components/helpers/DebouncedInput.svelte +0 -1
  39. package/components/apps/components/helpers/DebouncedInput.svelte.d.ts +0 -2
  40. package/components/apps/components/helpers/HiddenComponent.svelte +2 -3
  41. package/components/apps/components/helpers/HiddenComponent.svelte.d.ts +1 -2
  42. package/components/apps/components/helpers/InputValue.svelte +3 -3
  43. package/components/apps/components/helpers/RefreshButton.svelte +10 -3
  44. package/components/apps/components/helpers/RefreshButton.svelte.d.ts +0 -1
  45. package/components/apps/components/helpers/RunnableComponent.svelte +15 -19
  46. package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -2
  47. package/components/apps/components/helpers/RunnableWrapper.svelte +1 -3
  48. package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +0 -1
  49. package/components/apps/components/helpers/eval.d.ts +2 -4
  50. package/components/apps/components/helpers/eval.js +4 -6
  51. package/components/apps/components/inputs/AppCheckbox.svelte +4 -0
  52. package/components/apps/components/inputs/AppDateInput.svelte +2 -2
  53. package/components/apps/components/inputs/AppMultiSelect.svelte +5 -13
  54. package/components/apps/components/inputs/AppMultiSelect.svelte.d.ts +2 -0
  55. package/components/apps/components/inputs/AppNumberInput.svelte +3 -3
  56. package/components/apps/components/inputs/AppSelect.svelte +4 -11
  57. package/components/apps/components/inputs/AppSelect.svelte.d.ts +2 -0
  58. package/components/apps/components/inputs/AppSliderInputs.svelte +1 -1
  59. package/components/apps/components/inputs/AppTextInput.svelte +43 -53
  60. package/components/apps/components/inputs/AppTextInput.svelte.d.ts +1 -1
  61. package/components/apps/components/inputs/currency/AppCurrencyInput.svelte +1 -1
  62. package/components/apps/components/layout/AppContainer.svelte +2 -2
  63. package/components/apps/components/layout/AppDrawer.svelte +2 -1
  64. package/components/apps/components/layout/AppSplitpanes.svelte +3 -3
  65. package/components/apps/components/layout/AppTabs.svelte +1 -1
  66. package/components/apps/editor/AppEditor.svelte +21 -49
  67. package/components/apps/editor/AppEditorHeader.svelte +0 -5
  68. package/components/apps/editor/AppPreview.svelte +7 -18
  69. package/components/apps/editor/ComponentHeader.svelte +0 -1
  70. package/components/apps/editor/ComponentHeader.svelte.d.ts +1 -1
  71. package/components/apps/editor/GridEditor.svelte +12 -22
  72. package/components/apps/editor/GridViewer.svelte +2 -2
  73. package/components/apps/editor/GridViewer.svelte.d.ts +1 -1
  74. package/components/apps/editor/RecomputeAllComponents.svelte +7 -5
  75. package/components/apps/editor/SettingsPanel.svelte +4 -4
  76. package/components/apps/editor/SubGridEditor.svelte +12 -13
  77. package/components/apps/editor/appUtils.d.ts +0 -1
  78. package/components/apps/editor/appUtils.js +0 -19
  79. package/components/apps/editor/component/Component.svelte +8 -19
  80. package/components/apps/editor/component/Component.svelte.d.ts +1 -1
  81. package/components/apps/editor/component/ComponentNavigation.svelte +47 -57
  82. package/components/apps/editor/component/README.md +0 -4
  83. package/components/apps/editor/component/components.d.ts +28 -45
  84. package/components/apps/editor/component/components.js +27 -41
  85. package/components/apps/editor/component/sets.js +1 -2
  86. package/components/apps/editor/componentsPanel/ComponentList.svelte +1 -1
  87. package/components/apps/editor/componentsPanel/CssProperty.svelte +48 -62
  88. package/components/apps/editor/componentsPanel/CssProperty.svelte.d.ts +2 -3
  89. package/components/apps/editor/componentsPanel/CssSettings.svelte +0 -1
  90. package/components/apps/editor/componentsPanel/store.js +4 -4
  91. package/components/apps/editor/contextPanel/ComponentOutput.svelte +26 -2
  92. package/components/apps/editor/contextPanel/ComponentOutput.svelte.d.ts +1 -0
  93. package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +6 -8
  94. package/components/apps/editor/contextPanel/ContextPanel.svelte +14 -7
  95. package/components/apps/editor/contextPanel/components/BackgroundScriptOutput.svelte +25 -2
  96. package/components/apps/editor/contextPanel/components/MinMaxButton.svelte +25 -0
  97. package/components/apps/editor/contextPanel/components/MinMaxButton.svelte.d.ts +16 -0
  98. package/components/apps/editor/contextPanel/components/OutputHeader.svelte +40 -29
  99. package/components/apps/editor/contextPanel/components/OutputHeader.svelte.d.ts +2 -1
  100. package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +7 -2
  101. package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte.d.ts +1 -1
  102. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +11 -10
  103. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +3 -4
  104. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte.d.ts +0 -1
  105. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +1 -0
  106. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +2 -2
  107. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelWithTable.svelte +0 -2
  108. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +19 -22
  109. package/components/apps/editor/settingsPanel/ComponentPanel.svelte +13 -42
  110. package/components/apps/editor/settingsPanel/GridTab.svelte +2 -1
  111. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +1 -2
  112. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +0 -4
  113. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +0 -1
  114. package/components/apps/editor/settingsPanel/SelectedRunnable.svelte +2 -1
  115. package/components/apps/editor/settingsPanel/TableActions.svelte +3 -3
  116. package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte +12 -12
  117. package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte.d.ts +2 -3
  118. package/components/apps/editor/settingsPanel/inputEditor/EvalInputEditor.svelte +1 -5
  119. package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +3 -3
  120. package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte +2 -3
  121. package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte.d.ts +1 -4
  122. package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +3 -3
  123. package/components/apps/editor/settingsPanel/triggerLists/ComponentTriggerList.svelte +1 -1
  124. package/components/apps/inputType.d.ts +2 -2
  125. package/components/apps/rx.d.ts +2 -2
  126. package/components/apps/svelte-grid/Grid.svelte +34 -50
  127. package/components/apps/svelte-grid/Grid.svelte.d.ts +9 -14
  128. package/components/apps/svelte-grid/MoveResize.svelte +55 -76
  129. package/components/apps/svelte-grid/MoveResize.svelte.d.ts +9 -15
  130. package/components/apps/svelte-grid/utils/helper.d.ts +1 -0
  131. package/components/apps/svelte-grid/utils/helper.js +3 -0
  132. package/components/apps/types.d.ts +5 -9
  133. package/components/apps/utils.d.ts +0 -2
  134. package/components/apps/utils.js +1 -33
  135. package/components/common/button/ButtonPopup.svelte +2 -5
  136. package/components/common/button/ButtonPopup.svelte.d.ts +1 -5
  137. package/components/common/button/ButtonPopupItem.svelte +1 -2
  138. package/components/common/button/ButtonPopupItem.svelte.d.ts +0 -1
  139. package/components/common/index.d.ts +0 -1
  140. package/components/common/index.js +0 -1
  141. package/components/common/kbd/Kbd.svelte +1 -4
  142. package/components/common/kbd/Kbd.svelte.d.ts +14 -6
  143. package/components/common/menu/Menu.svelte +2 -8
  144. package/components/common/menu/Menu.svelte.d.ts +1 -4
  145. package/components/flows/map/MapItem.svelte +3 -3
  146. package/components/propertyPicker/ObjectViewer.svelte +3 -0
  147. package/components/scriptEditor/LogPanel.svelte +3 -3
  148. package/infer.js +1 -6
  149. package/package.json +2 -11
  150. package/utils.d.ts +0 -1
  151. package/utils.js +0 -3
  152. package/components/apps/editor/componentsPanel/QuickStyleMenu.svelte +0 -170
  153. package/components/apps/editor/componentsPanel/QuickStyleMenu.svelte.d.ts +0 -18
  154. package/components/apps/editor/componentsPanel/QuickStyleProperty.svelte +0 -130
  155. package/components/apps/editor/componentsPanel/QuickStyleProperty.svelte.d.ts +0 -21
  156. package/components/apps/editor/componentsPanel/quickStyleProperties.d.ts +0 -535
  157. package/components/apps/editor/componentsPanel/quickStyleProperties.js +0 -598
  158. package/components/apps/editor/settingsPanel/StylePanel.svelte +0 -61
  159. package/components/apps/editor/settingsPanel/StylePanel.svelte.d.ts +0 -17
  160. package/components/apps/editor/settingsPanel/secondaryMenu/SecondaryMenu.svelte +0 -47
  161. package/components/apps/editor/settingsPanel/secondaryMenu/SecondaryMenu.svelte.d.ts +0 -14
  162. package/components/apps/editor/settingsPanel/secondaryMenu/index.d.ts +0 -2
  163. package/components/apps/editor/settingsPanel/secondaryMenu/index.js +0 -2
  164. package/components/apps/editor/settingsPanel/secondaryMenu/menuStore.d.ts +0 -12
  165. package/components/apps/editor/settingsPanel/secondaryMenu/menuStore.js +0 -10
  166. package/components/common/clearableInput/ClearableInput.svelte +0 -56
  167. package/components/common/clearableInput/ClearableInput.svelte.d.ts +0 -28
  168. package/components/common/modal/AlwaysMountedModal.svelte +0 -109
  169. package/components/common/modal/AlwaysMountedModal.svelte.d.ts +0 -22
@@ -8,7 +8,6 @@ export let target = '_self';
8
8
  export let iconOnly = false;
9
9
  export let startIcon = undefined;
10
10
  export let endIcon = undefined;
11
- export let wrapperClasses = '';
12
11
  const props = getContext(ButtonType.ItemContextKey);
13
12
  const iconWidthClass = {
14
13
  xs: '!w-[12px]',
@@ -41,7 +40,7 @@ $: buttonProps = {
41
40
  };
42
41
  </script>
43
42
 
44
- <li class="mt-1 {wrapperClasses}">
43
+ <li class="mt-1">
45
44
  <Button {...buttonProps} on:click>
46
45
  <slot />
47
46
  </Button>
@@ -9,7 +9,6 @@ declare const __propDef: {
9
9
  iconOnly?: boolean | undefined;
10
10
  startIcon?: ButtonType.Icon | undefined;
11
11
  endIcon?: ButtonType.Icon | undefined;
12
- wrapperClasses?: string | undefined;
13
12
  };
14
13
  events: {
15
14
  click: CustomEvent<any>;
@@ -5,7 +5,6 @@ export { default as Button } from './button/Button.svelte';
5
5
  export { default as ButtonPopup } from './button/ButtonPopup.svelte';
6
6
  export { default as ButtonPopupItem } from './button/ButtonPopupItem.svelte';
7
7
  export { default as UndoRedo } from './button/UndoRedo.svelte';
8
- export { default as ClearableInput } from './clearableInput/ClearableInput.svelte';
9
8
  export { default as Drawer } from './drawer/Drawer.svelte';
10
9
  export { default as DrawerContent } from './drawer/DrawerContent.svelte';
11
10
  export { default as Kbd } from './kbd/Kbd.svelte';
@@ -5,7 +5,6 @@ export { default as Button } from './button/Button.svelte';
5
5
  export { default as ButtonPopup } from './button/ButtonPopup.svelte';
6
6
  export { default as ButtonPopupItem } from './button/ButtonPopupItem.svelte';
7
7
  export { default as UndoRedo } from './button/UndoRedo.svelte';
8
- export { default as ClearableInput } from './clearableInput/ClearableInput.svelte';
9
8
  export { default as Drawer } from './drawer/Drawer.svelte';
10
9
  export { default as DrawerContent } from './drawer/DrawerContent.svelte';
11
10
  export { default as Kbd } from './kbd/Kbd.svelte';
@@ -1,10 +1,7 @@
1
- <script>export let kbdClass = '';
2
- </script>
3
-
4
1
  <span
5
2
  class="{$$props.class} rounded border bg-white/70 px-1.5 !text-xs text-gray-600 shadow-sm font-light transition-all group-hover:border-primary-500 group-hover:text-primary-500"
6
3
  >
7
- <kbd class={kbdClass}>
4
+ <kbd>
8
5
  <slot />
9
6
  </kbd>
10
7
  </span>
@@ -1,8 +1,21 @@
1
+ /** @typedef {typeof __propDef.props} KbdProps */
2
+ /** @typedef {typeof __propDef.events} KbdEvents */
3
+ /** @typedef {typeof __propDef.slots} KbdSlots */
4
+ export default class Kbd extends SvelteComponentTyped<{
5
+ [x: string]: any;
6
+ }, {
7
+ [evt: string]: CustomEvent<any>;
8
+ }, {
9
+ default: {};
10
+ }> {
11
+ }
12
+ export type KbdProps = typeof __propDef.props;
13
+ export type KbdEvents = typeof __propDef.events;
14
+ export type KbdSlots = typeof __propDef.slots;
1
15
  import { SvelteComponentTyped } from "svelte";
2
16
  declare const __propDef: {
3
17
  props: {
4
18
  [x: string]: any;
5
- kbdClass?: string | undefined;
6
19
  };
7
20
  events: {
8
21
  [evt: string]: CustomEvent<any>;
@@ -11,9 +24,4 @@ declare const __propDef: {
11
24
  default: {};
12
25
  };
13
26
  };
14
- export type KbdProps = typeof __propDef.props;
15
- export type KbdEvents = typeof __propDef.events;
16
- export type KbdSlots = typeof __propDef.slots;
17
- export default class Kbd extends SvelteComponentTyped<KbdProps, KbdEvents, KbdSlots> {
18
- }
19
27
  export {};
@@ -4,12 +4,8 @@ let current = undefined;
4
4
 
5
5
  <script>import { classNames } from '../../../utils';
6
6
  import { onMount } from 'svelte';
7
- import { fade } from 'svelte/transition';
8
7
  export let noMinW = false;
9
8
  export let show = false;
10
- export let wrapperClasses = '';
11
- export let popupClasses = '';
12
- export let transitionDuration = 100;
13
9
  let menu;
14
10
  export let placement = 'bottom-start';
15
11
  function handleOutsideClick(event) {
@@ -44,7 +40,7 @@ const placementsClasses = {
44
40
  };
45
41
  </script>
46
42
 
47
- <div class="relative {wrapperClasses}" bind:this={menu}>
43
+ <div class="relative" bind:this={menu}>
48
44
  <!-- svelte-ignore a11y-click-events-have-key-events -->
49
45
  <div
50
46
  on:click|stopPropagation={() => {
@@ -60,12 +56,10 @@ const placementsClasses = {
60
56
  </div>
61
57
  {#if show}
62
58
  <div
63
- transition:fade|local={{ duration: transitionDuration }}
64
59
  class={classNames(
65
60
  'z-50 absolute mt-2 rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none',
66
61
  placementsClasses[placement],
67
- noMinW ? 'min-w-0' : 'w-60',
68
- popupClasses
62
+ noMinW ? 'min-w-0' : 'w-60'
69
63
  )}
70
64
  role="menu"
71
65
  tabindex="-1"
@@ -3,10 +3,7 @@ declare const __propDef: {
3
3
  props: {
4
4
  noMinW?: boolean | undefined;
5
5
  show?: boolean | undefined;
6
- wrapperClasses?: string | undefined;
7
- popupClasses?: string | undefined;
8
- transitionDuration?: number | undefined;
9
- placement?: "top-start" | "top-end" | "bottom-start" | "bottom-end" | "top-center" | "bottom-center" | undefined;
6
+ placement?: "top-start" | "top-end" | "top-center" | "bottom-start" | "bottom-end" | "bottom-center" | undefined;
10
7
  };
11
8
  events: {
12
9
  [evt: string]: CustomEvent<any>;
@@ -63,9 +63,9 @@ let openMenu2 = undefined;
63
63
  <div class="relative">
64
64
  {#if moving == mod.id}
65
65
  <div class="absolute z-10 right-20 top-0.5 center-center">
66
- <Button color="dark" on:click={() => dispatch('move')} size="xs" variant="border">
67
- Cancel move
68
- </Button>
66
+ <Button color="dark" on:click={() => dispatch('move')} size="xs" variant="border"
67
+ >Cancel move</Button
68
+ >
69
69
  </div>
70
70
  {/if}
71
71
 
@@ -118,6 +118,9 @@ function selectProp(key, value) {
118
118
  {pluralize(Object.keys(json).length, Array.isArray(json) ? 'item' : 'key')}
119
119
  </span>
120
120
  {/if}
121
+ {#if !isLast && collapsed}
122
+ <span class="text-black">,</span>
123
+ {/if}
121
124
  {:else if topBrackets}
122
125
  <span class="text-black">{openBracket}{closeBracket}</span>
123
126
  {:else}
@@ -76,10 +76,10 @@ function closeDrawer() {
76
76
  />
77
77
  </Pane>
78
78
  <Pane>
79
- {#if previewJob != undefined && 'result' in previewJob}
80
- <div class="relative w-full h-full p-2"
79
+ {#if previewJob != undefined && 'result' in previewJob && previewJob.result != undefined}
80
+ <pre class="relative w-full h-full p-2"
81
81
  ><DisplayResult result={previewJob.result} />
82
- </div>
82
+ </pre>
83
83
  {:else}
84
84
  <div class="text-sm text-gray-600 p-2">
85
85
  {#if previewIsLoading}
package/infer.js CHANGED
@@ -113,9 +113,6 @@ function argSigToJsonSchemaType(t, oldS) {
113
113
  else if (t.list === 'bytes') {
114
114
  newS.items = { type: 'string', contentEncoding: 'base64' };
115
115
  }
116
- else if (t.list && typeof t.list == 'object' && `object` in t.list) {
117
- newS.items = { type: 'object' };
118
- }
119
116
  else {
120
117
  newS.items = { type: 'string' };
121
118
  }
@@ -125,14 +122,12 @@ function argSigToJsonSchemaType(t, oldS) {
125
122
  }
126
123
  if (oldS.type != newS.type) {
127
124
  for (const prop of Object.getOwnPropertyNames(newS)) {
128
- if (prop != 'description') {
125
+ if (prop != "description") {
129
126
  delete oldS[prop];
130
127
  }
131
128
  }
132
129
  }
133
- let oldDescription = oldS.description;
134
130
  Object.assign(oldS, newS);
135
- oldS.description = oldDescription;
136
131
  if (oldS.format?.startsWith('resource-') && newS.type != 'object') {
137
132
  oldS.format = undefined;
138
133
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "windmill-components",
3
- "version": "1.82.4",
3
+ "version": "1.82.6",
4
4
  "devDependencies": {
5
5
  "@playwright/test": "^1.31.1",
6
6
  "@sveltejs/adapter-static": "^1.0.0",
@@ -31,7 +31,6 @@
31
31
  "prettier": "^2.8.3",
32
32
  "prettier-plugin-svelte": "^2.9.0",
33
33
  "simple-svelte-autocomplete": "^2.5.1",
34
- "style-to-object": "^0.4.1",
35
34
  "stylelint-config-recommended": "^9.0.0",
36
35
  "svelte": "^3.55.1",
37
36
  "svelte-awesome": "^3.0.0",
@@ -263,10 +262,7 @@
263
262
  "./components/apps/editor/componentsPanel/CssProperty.svelte": "./components/apps/editor/componentsPanel/CssProperty.svelte",
264
263
  "./components/apps/editor/componentsPanel/CssSettings.svelte": "./components/apps/editor/componentsPanel/CssSettings.svelte",
265
264
  "./components/apps/editor/componentsPanel/ListItem.svelte": "./components/apps/editor/componentsPanel/ListItem.svelte",
266
- "./components/apps/editor/componentsPanel/QuickStyleMenu.svelte": "./components/apps/editor/componentsPanel/QuickStyleMenu.svelte",
267
- "./components/apps/editor/componentsPanel/QuickStyleProperty.svelte": "./components/apps/editor/componentsPanel/QuickStyleProperty.svelte",
268
265
  "./components/apps/editor/componentsPanel/componentDefaultProps": "./components/apps/editor/componentsPanel/componentDefaultProps.js",
269
- "./components/apps/editor/componentsPanel/quickStyleProperties": "./components/apps/editor/componentsPanel/quickStyleProperties.js",
270
266
  "./components/apps/editor/componentsPanel/store": "./components/apps/editor/componentsPanel/store.js",
271
267
  "./components/apps/editor/contextPanel/ComponentOutput.svelte": "./components/apps/editor/contextPanel/ComponentOutput.svelte",
272
268
  "./components/apps/editor/contextPanel/ComponentOutputViewer.svelte": "./components/apps/editor/contextPanel/ComponentOutputViewer.svelte",
@@ -274,6 +270,7 @@
274
270
  "./components/apps/editor/contextPanel/SubGridOutput.svelte": "./components/apps/editor/contextPanel/SubGridOutput.svelte",
275
271
  "./components/apps/editor/contextPanel/components/BackgroundScriptOutput.svelte": "./components/apps/editor/contextPanel/components/BackgroundScriptOutput.svelte",
276
272
  "./components/apps/editor/contextPanel/components/BackgroundScriptsOutput.svelte": "./components/apps/editor/contextPanel/components/BackgroundScriptsOutput.svelte",
273
+ "./components/apps/editor/contextPanel/components/MinMaxButton.svelte": "./components/apps/editor/contextPanel/components/MinMaxButton.svelte",
277
274
  "./components/apps/editor/contextPanel/components/OutputHeader.svelte": "./components/apps/editor/contextPanel/components/OutputHeader.svelte",
278
275
  "./components/apps/editor/contextPanel/components/TableActionOutput.svelte": "./components/apps/editor/contextPanel/components/TableActionOutput.svelte",
279
276
  "./components/apps/editor/contextPanel/components/TableActionsOutput.svelte": "./components/apps/editor/contextPanel/components/TableActionsOutput.svelte",
@@ -298,7 +295,6 @@
298
295
  "./components/apps/editor/settingsPanel/PickInlineScript.svelte": "./components/apps/editor/settingsPanel/PickInlineScript.svelte",
299
296
  "./components/apps/editor/settingsPanel/Recompute.svelte": "./components/apps/editor/settingsPanel/Recompute.svelte",
300
297
  "./components/apps/editor/settingsPanel/SelectedRunnable.svelte": "./components/apps/editor/settingsPanel/SelectedRunnable.svelte",
301
- "./components/apps/editor/settingsPanel/StylePanel.svelte": "./components/apps/editor/settingsPanel/StylePanel.svelte",
302
298
  "./components/apps/editor/settingsPanel/SubTypeEditor.svelte": "./components/apps/editor/settingsPanel/SubTypeEditor.svelte",
303
299
  "./components/apps/editor/settingsPanel/TableActionLabel.svelte": "./components/apps/editor/settingsPanel/TableActionLabel.svelte",
304
300
  "./components/apps/editor/settingsPanel/TableActions.svelte": "./components/apps/editor/settingsPanel/TableActions.svelte",
@@ -317,9 +313,6 @@
317
313
  "./components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte": "./components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte",
318
314
  "./components/apps/editor/settingsPanel/mainInput/WorkspaceFlowList.svelte": "./components/apps/editor/settingsPanel/mainInput/WorkspaceFlowList.svelte",
319
315
  "./components/apps/editor/settingsPanel/mainInput/WorkspaceScriptList.svelte": "./components/apps/editor/settingsPanel/mainInput/WorkspaceScriptList.svelte",
320
- "./components/apps/editor/settingsPanel/secondaryMenu/SecondaryMenu.svelte": "./components/apps/editor/settingsPanel/secondaryMenu/SecondaryMenu.svelte",
321
- "./components/apps/editor/settingsPanel/secondaryMenu": "./components/apps/editor/settingsPanel/secondaryMenu/index.js",
322
- "./components/apps/editor/settingsPanel/secondaryMenu/menuStore": "./components/apps/editor/settingsPanel/secondaryMenu/menuStore.js",
323
316
  "./components/apps/editor/settingsPanel/triggerLists/BackgroundScriptTriggerList.svelte": "./components/apps/editor/settingsPanel/triggerLists/BackgroundScriptTriggerList.svelte",
324
317
  "./components/apps/editor/settingsPanel/triggerLists/ComponentTriggerList.svelte": "./components/apps/editor/settingsPanel/triggerLists/ComponentTriggerList.svelte",
325
318
  "./components/apps/editor/settingsPanel/triggerLists/TriggerBadgesList.svelte": "./components/apps/editor/settingsPanel/triggerLists/TriggerBadgesList.svelte",
@@ -350,7 +343,6 @@
350
343
  "./components/common/button/ButtonPopupItem.svelte": "./components/common/button/ButtonPopupItem.svelte",
351
344
  "./components/common/button/UndoRedo.svelte": "./components/common/button/UndoRedo.svelte",
352
345
  "./components/common/button/model": "./components/common/button/model.js",
353
- "./components/common/clearableInput/ClearableInput.svelte": "./components/common/clearableInput/ClearableInput.svelte",
354
346
  "./components/common/confirmationModal/ConfirmationModal.svelte": "./components/common/confirmationModal/ConfirmationModal.svelte",
355
347
  "./components/common/confirmationModal/UnsavedConfirmationModal.svelte": "./components/common/confirmationModal/UnsavedConfirmationModal.svelte",
356
348
  "./components/common/confirmationModal/dirtyStore": "./components/common/confirmationModal/dirtyStore.js",
@@ -369,7 +361,6 @@
369
361
  "./components/common/languageIcons": "./components/common/languageIcons/index.js",
370
362
  "./components/common/menu/Menu.svelte": "./components/common/menu/Menu.svelte",
371
363
  "./components/common/menu/MenuItem.svelte": "./components/common/menu/MenuItem.svelte",
372
- "./components/common/modal/AlwaysMountedModal.svelte": "./components/common/modal/AlwaysMountedModal.svelte",
373
364
  "./components/common/modal/Modal.svelte": "./components/common/modal/Modal.svelte",
374
365
  "./components/common/popup/Popup.svelte": "./components/common/popup/Popup.svelte",
375
366
  "./components/common/skeleton/Skeleton.svelte": "./components/common/skeleton/Skeleton.svelte",
package/utils.d.ts CHANGED
@@ -116,4 +116,3 @@ export declare function debounce(func: (...args: any[]) => any, wait: number): (
116
116
  export declare function throttle<T>(func: (...args: any[]) => T, wait: number): (...args: any[]) => void;
117
117
  export declare function isMac(): boolean;
118
118
  export declare function getModifierKey(): string;
119
- export declare function isValidHexColor(color: string): boolean;
package/utils.js CHANGED
@@ -607,6 +607,3 @@ export function isMac() {
607
607
  export function getModifierKey() {
608
608
  return isMac() ? '⌘' : 'CTRL';
609
609
  }
610
- export function isValidHexColor(color) {
611
- return /^#(([A-F0-9]{2}){3,4}|[A-F0-9]{3})$/i.test(color);
612
- }
@@ -1,170 +0,0 @@
1
- <script>import { getContext, onMount, setContext } from 'svelte';
2
- import parse from 'style-to-object';
3
- import { isValidHexColor } from '../../../../utils';
4
- import { createStyleStore, StylePropertyType, StylePropertyUnits, STYLE_STORE_KEY } from './quickStyleProperties';
5
- import QuickStyleProperty from './QuickStyleProperty.svelte';
6
- export let value = '';
7
- export let properties;
8
- const { app } = getContext('AppViewerContext');
9
- const styleStore = createStyleStore(properties);
10
- setContext(STYLE_STORE_KEY, styleStore);
11
- let multiValues = initiateMultiValues();
12
- let mounted = false;
13
- $: mounted && $styleStore && writeStyle();
14
- $: mounted && (!value || value) && parseStyle();
15
- $: $app && setTopColors();
16
- function parseStyle() {
17
- styleStore.resetStyle();
18
- if (!value) {
19
- multiValues = initiateMultiValues();
20
- return;
21
- }
22
- try {
23
- const current = parse(value) || {};
24
- Object.entries(current).forEach(([k, v]) => {
25
- styleStore.updatePropValue(k, v);
26
- const { prop, index } = styleStore.getProp(k);
27
- if (Array.isArray(prop?.prop?.value) && index !== undefined) {
28
- const valueArray = v.split(' ');
29
- multiValues[index] = multiValues[index].map((v, i) => valueArray[i] || v);
30
- }
31
- });
32
- setTopColors();
33
- }
34
- catch { }
35
- }
36
- function writeStyle() {
37
- const current = parse(value) || {};
38
- $styleStore.style.forEach((s) => {
39
- current[s.prop.key] = convertValue(s.value);
40
- });
41
- const entries = Object.entries(current);
42
- value = entries.reduce((style, [k, v]) => {
43
- return v ? `${style} ${k}: ${v}; `.trim() : style;
44
- }, '');
45
- }
46
- function convertValue(value) {
47
- switch (typeof value) {
48
- case 'number':
49
- return value + '';
50
- case 'string':
51
- return value;
52
- default:
53
- return '';
54
- }
55
- }
56
- function setTopColors() {
57
- const styles = collectStyles();
58
- const parsedStyles = styles.map((style) => parse(style) || {});
59
- const usedColors = {};
60
- parsedStyles.forEach((style) => {
61
- Object.values(style).reduce((colors, v) => {
62
- // TODO: support RGB and HSL colors as well
63
- // Splitting is needed so colors can be extracted
64
- // from values like '1px solid #000000'
65
- v.split(' ').forEach((v) => {
66
- if (isValidHexColor(v)) {
67
- colors[v] = (colors[v] || 0) + 1;
68
- }
69
- });
70
- return colors;
71
- }, usedColors);
72
- });
73
- const colors = Object.entries(usedColors)
74
- .sort((a, b) => b[1] - a[1])
75
- .slice(0, 3)
76
- .map(([color]) => color);
77
- styleStore.setTopColors(colors);
78
- }
79
- function collectStyles() {
80
- const styles = [];
81
- // Getting global app styles
82
- Object.values($app.css || {}).forEach((element) => {
83
- Object.values(element).filter(({ style }) => style && styles.push(style));
84
- });
85
- // Getting styles from individual components
86
- $app.grid.map((component) => {
87
- Object.values(component.data.customCss || {}).forEach(({ style }) => {
88
- style && styles.push(style);
89
- });
90
- });
91
- // Getting style from subgrids
92
- Object.values($app.subgrids || {}).forEach((grid) => {
93
- grid.map((component) => {
94
- Object.values(component.data.customCss || {}).forEach(({ style }) => {
95
- style && styles.push(style);
96
- });
97
- });
98
- });
99
- return styles;
100
- }
101
- function initiateMultiValues() {
102
- return $styleStore.style.reduce((acc, curr, i) => {
103
- if (Array.isArray(curr.prop.value)) {
104
- acc[i] = Array.from({ length: curr.prop.value.length }, () => {
105
- return '';
106
- });
107
- }
108
- return acc;
109
- }, {});
110
- }
111
- function setMultiValueProperty(index) {
112
- if (multiValues[index].every((v) => !v || +v === 0 || StylePropertyUnits.includes(v))) {
113
- $styleStore.style[index].value = '';
114
- return;
115
- }
116
- const values = multiValues[index].map((v, i) => {
117
- v = StylePropertyUnits.includes(v) ? '' : v;
118
- const type = $styleStore.style[index].prop.value[i].type;
119
- if (v) {
120
- multiValues[index][i] = v;
121
- return v;
122
- }
123
- else if (type === StylePropertyType.color) {
124
- return '#000000';
125
- }
126
- else if (type === StylePropertyType.number) {
127
- return 0;
128
- }
129
- else if (type === StylePropertyType.unit) {
130
- return 0;
131
- }
132
- else if (type === StylePropertyType.text) {
133
- const options = $styleStore.style[index].prop.value[i].options;
134
- return options ? options[0].text : '';
135
- }
136
- else {
137
- return '';
138
- }
139
- });
140
- $styleStore.style[index].value = values.join(' ').trim();
141
- }
142
- onMount(() => {
143
- parseStyle();
144
- mounted = true;
145
- });
146
- </script>
147
-
148
- <div class="bg-gray-200/60 rounded-md p-2">
149
- {#each $styleStore.style as { prop }, index}
150
- <div class="pb-3 last:pb-0">
151
- <div class="text-sm font-medium text-gray-600 pb-0.5"> {prop.key} </div>
152
- <div class="flex items-center gap-1 w-full">
153
- {#if Array.isArray(prop.value)}
154
- <div class="flex justify-start items-center flex-wrap gap-x-4 gap-y-1">
155
- {#each prop.value as value, i}
156
- <QuickStyleProperty
157
- prop={{ ...prop, value }}
158
- inline
159
- bind:value={multiValues[index][i]}
160
- on:change={() => setMultiValueProperty(index)}
161
- />
162
- {/each}
163
- </div>
164
- {:else}
165
- <QuickStyleProperty {prop} bind:value={$styleStore.style[index].value} />
166
- {/if}
167
- </div>
168
- </div>
169
- {/each}
170
- </div>
@@ -1,18 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- import { type StylePropertyKey } from './quickStyleProperties';
3
- declare const __propDef: {
4
- props: {
5
- value?: string | undefined;
6
- properties: StylePropertyKey[];
7
- };
8
- events: {
9
- [evt: string]: CustomEvent<any>;
10
- };
11
- slots: {};
12
- };
13
- export type QuickStyleMenuProps = typeof __propDef.props;
14
- export type QuickStyleMenuEvents = typeof __propDef.events;
15
- export type QuickStyleMenuSlots = typeof __propDef.slots;
16
- export default class QuickStyleMenu extends SvelteComponentTyped<QuickStyleMenuProps, QuickStyleMenuEvents, QuickStyleMenuSlots> {
17
- }
18
- export {};
@@ -1,130 +0,0 @@
1
- <script>import { createEventDispatcher, getContext } from 'svelte';
2
- import { Button, ClearableInput, Menu } from '../../../common';
3
- import Popover from '../../../Popover.svelte';
4
- import ColorInput from '../settingsPanel/inputEditor/ColorInput.svelte';
5
- import { StylePropertyType, StylePropertyUnits, STYLE_STORE_KEY } from './quickStyleProperties';
6
- export let prop;
7
- export let value;
8
- export let inline = false;
9
- const styleStore = getContext(STYLE_STORE_KEY);
10
- const dispatch = createEventDispatcher();
11
- const key = prop.key;
12
- const type = prop.value?.['type'];
13
- let unit = StylePropertyUnits[0];
14
- let internalValue;
15
- $: internalValue = value ? +value.replace(unit, '') : '';
16
- $: dispatch('change', value);
17
- function updateValue(next) {
18
- value = next ? next + unit : '';
19
- }
20
- function updateUnit(next) {
21
- value = value?.replace(unit, next) || '';
22
- unit = next;
23
- }
24
- </script>
25
-
26
- <div class={inline && type !== StylePropertyType.color ? '' : 'w-full'}>
27
- {#if prop.value['title']}
28
- <div class="font-medium text-xs text-gray-500">
29
- {prop.value['title']}
30
- </div>
31
- {/if}
32
- <div class="flex gap-1">
33
- {#if type === StylePropertyType.color}
34
- <ColorInput bind:value />
35
- {#each $styleStore.topColors as color}
36
- <Popover placement="bottom" notClickable disapperTimoout={0} class="flex">
37
- <Button
38
- color="light"
39
- size="xs"
40
- variant="border"
41
- btnClasses="!p-0 !w-[34px] !h-[34px]"
42
- aria-label="Set {key} to {color}"
43
- style={`background-color: ${color};`}
44
- on:click={() => (value = color)}
45
- />
46
- <svelte:fragment slot="text">{color}</svelte:fragment>
47
- </Popover>
48
- {/each}
49
- {:else if type === StylePropertyType.number}
50
- <ClearableInput
51
- type="number"
52
- bind:value
53
- step={prop.value?.['step'] || 1}
54
- min={prop.value?.['min']}
55
- max={prop.value?.['max']}
56
- />
57
- {:else if type === StylePropertyType.unit}
58
- <ClearableInput
59
- wrapperClass="flex items-center {inline ? '!grow-0' : ''}"
60
- inputClass="!border-r-0 !rounded-r-none {inline ? '!w-[90px]' : ''}"
61
- buttonClass="!right-9"
62
- type="number"
63
- value={internalValue}
64
- on:change={({ detail }) => updateValue(detail)}
65
- >
66
- <Menu
67
- let:close
68
- noMinW
69
- wrapperClasses="h-full bg-white rounded-r-md border-y border-r border-gray-300 pr-0.5"
70
- popupClasses="!mt-0"
71
- >
72
- <button
73
- slot="trigger"
74
- type="button"
75
- class="font-normal text-xs px-1 py-1.5 w-8 rounded mt-0.5 duration-200 hover:bg-gray-200/90"
76
- >
77
- {unit}
78
- </button>
79
- <ul class="bg-white rounded border py-1 overflow-auto">
80
- {#each StylePropertyUnits as u}
81
- <li class="w-full">
82
- <Button
83
- type="button"
84
- color="light"
85
- size="xs"
86
- variant="contained"
87
- btnClasses="!justify-start !rounded-none !w-full !px-3 !py-1.5"
88
- on:click={() => {
89
- updateUnit(u)
90
- close()
91
- }}
92
- >
93
- {u}
94
- </Button>
95
- </li>
96
- {/each}
97
- </ul>
98
- </Menu>
99
- </ClearableInput>
100
- {:else if type === StylePropertyType.text}
101
- {#each prop.value?.['options'] || [] as option}
102
- <Popover placement="bottom" notClickable disapperTimoout={0}>
103
- <Button
104
- color={value === option.text ? 'dark' : 'light'}
105
- size="xs"
106
- variant={value === option.text ? 'contained' : 'border'}
107
- btnClasses="!p-1 !min-w-[34px] !h-[34px]"
108
- aria-label="Set {key} to {option.text}"
109
- on:click={() => {
110
- if (value === option.text) {
111
- value = ''
112
- } else {
113
- value = option.text
114
- }
115
- }}
116
- >
117
- {#if typeof option.icon === 'string'}
118
- {option.icon}
119
- {:else}
120
- <svelte:component this={option.icon} size={18} />
121
- {/if}
122
- </Button>
123
- <svelte:fragment slot="text">{option.text}</svelte:fragment>
124
- </Popover>
125
- {:else}
126
- <ClearableInput inputClass="min-w-[32px]" bind:value />
127
- {/each}
128
- {/if}
129
- </div>
130
- </div>
@@ -1,21 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- import { type StyleStoreValue } from './quickStyleProperties';
3
- declare const __propDef: {
4
- props: {
5
- prop: StyleStoreValue['style'][number]['prop'];
6
- value: string | undefined;
7
- inline?: boolean | undefined;
8
- };
9
- events: {
10
- change: CustomEvent<any>;
11
- } & {
12
- [evt: string]: CustomEvent<any>;
13
- };
14
- slots: {};
15
- };
16
- export type QuickStylePropertyProps = typeof __propDef.props;
17
- export type QuickStylePropertyEvents = typeof __propDef.events;
18
- export type QuickStylePropertySlots = typeof __propDef.slots;
19
- export default class QuickStyleProperty extends SvelteComponentTyped<QuickStylePropertyProps, QuickStylePropertyEvents, QuickStylePropertySlots> {
20
- }
21
- export {};