@n8n/composables 1.9.0 → 1.11.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.
@@ -12,6 +12,7 @@ function useDeviceSupport() {
12
12
  const isMacOs = _vue.ref.call(void 0, userAgent.value.includes("macintosh") || isIOs.value);
13
13
  const isMobileDevice = _vue.ref.call(void 0, isIOs.value || isAndroidOs.value);
14
14
  const controlKeyCode = _vue.ref.call(void 0, isMacOs.value ? "Meta" : "Control");
15
+ const controlKeyText = _vue.computed.call(void 0, () => isMacOs.value ? "\u2318" : "Ctrl");
15
16
  function isCtrlKeyPressed(e) {
16
17
  if (isMacOs.value) {
17
18
  return e.metaKey;
@@ -26,6 +27,7 @@ function useDeviceSupport() {
26
27
  isMacOs: isMacOs.value,
27
28
  isMobileDevice: isMobileDevice.value,
28
29
  controlKeyCode: controlKeyCode.value,
30
+ controlKeyText,
29
31
  isCtrlKeyPressed
30
32
  };
31
33
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/n8n/n8n/packages/frontend/@n8n/composables/dist/useDeviceSupport.cjs","../src/useDeviceSupport.ts"],"names":[],"mappings":"AAAA;ACAA,0BAAoB;AAEb,SAAS,gBAAA,CAAA,EAAmB;AAOlC,EAAA,MAAM,cAAA,EAAgB,sBAAA;AAAA,IACrB,MAAA,CAAO,UAAA,CAAW,uBAAuB,CAAA,CAAE,QAAA,GAC1C,CAAC,MAAA,CAAO,UAAA,CAAW,qBAAqB,CAAA,CAAE;AAAA,EAC5C,CAAA;AACA,EAAA,MAAM,UAAA,EAAY,sBAAA,SAAI,CAAU,SAAA,CAAU,WAAA,CAAY,CAAC,CAAA;AAEvD,EAAA,MAAM,MAAA,EAAQ,sBAAA;AAAA,IACb,SAAA,CAAU,KAAA,CAAM,QAAA,CAAS,QAAQ,EAAA,GAChC,SAAA,CAAU,KAAA,CAAM,QAAA,CAAS,MAAM,EAAA,GAC/B,SAAA,CAAU,KAAA,CAAM,QAAA,CAAS,MAAM;AAAA,EACjC,CAAA;AACA,EAAA,MAAM,YAAA,EAAc,sBAAA,SAAI,CAAU,KAAA,CAAM,QAAA,CAAS,SAAS,CAAC,CAAA;AAC3D,EAAA,MAAM,QAAA,EAAU,sBAAA,SAAI,CAAU,KAAA,CAAM,QAAA,CAAS,WAAW,EAAA,GAAK,KAAA,CAAM,KAAK,CAAA;AACxE,EAAA,MAAM,eAAA,EAAiB,sBAAA,KAAI,CAAM,MAAA,GAAS,WAAA,CAAY,KAAK,CAAA;AAE3D,EAAA,MAAM,eAAA,EAAiB,sBAAA,OAAI,CAAQ,MAAA,EAAQ,OAAA,EAAS,SAAS,CAAA;AAE7D,EAAA,SAAS,gBAAA,CAAiB,CAAA,EAAwC;AACjE,IAAA,GAAA,CAAI,OAAA,CAAQ,KAAA,EAAO;AAClB,MAAA,OAAQ,CAAA,CAAoB,OAAA;AAAA,IAC7B;AACA,IAAA,OAAQ,CAAA,CAAoB,OAAA;AAAA,EAC7B;AAEA,EAAA,OAAO;AAAA,IACN,SAAA,EAAW,SAAA,CAAU,KAAA;AAAA,IACrB,aAAA,EAAe,aAAA,CAAc,KAAA;AAAA,IAC7B,WAAA,EAAa,WAAA,CAAY,KAAA;AAAA,IACzB,KAAA,EAAO,KAAA,CAAM,KAAA;AAAA,IACb,OAAA,EAAS,OAAA,CAAQ,KAAA;AAAA,IACjB,cAAA,EAAgB,cAAA,CAAe,KAAA;AAAA,IAC/B,cAAA,EAAgB,cAAA,CAAe,KAAA;AAAA,IAC/B;AAAA,EACD,CAAA;AACD;ADZA;AACE;AACF,4CAAC","file":"/home/runner/work/n8n/n8n/packages/frontend/@n8n/composables/dist/useDeviceSupport.cjs","sourcesContent":[null,"import { ref } from 'vue';\n\nexport function useDeviceSupport() {\n\t/**\n\t * Check if the device is a touch device but exclude devices that have a fine pointer (mouse or track-pad)\n\t * - `fine` will check for an accurate pointing device. Examples include mice, touch-pads, and drawing styluses\n\t * - `coarse` will check for a pointing device of limited accuracy. Examples include touchscreens and motion-detection sensors\n\t * - `any-pointer` will check for the presence of any pointing device, if there are multiple of them\n\t */\n\tconst isTouchDevice = ref(\n\t\twindow.matchMedia('(any-pointer: coarse)').matches &&\n\t\t\t!window.matchMedia('(any-pointer: fine)').matches,\n\t);\n\tconst userAgent = ref(navigator.userAgent.toLowerCase());\n\n\tconst isIOs = ref(\n\t\tuserAgent.value.includes('iphone') ||\n\t\t\tuserAgent.value.includes('ipad') ||\n\t\t\tuserAgent.value.includes('ipod'),\n\t);\n\tconst isAndroidOs = ref(userAgent.value.includes('android'));\n\tconst isMacOs = ref(userAgent.value.includes('macintosh') || isIOs.value);\n\tconst isMobileDevice = ref(isIOs.value || isAndroidOs.value);\n\n\tconst controlKeyCode = ref(isMacOs.value ? 'Meta' : 'Control');\n\n\tfunction isCtrlKeyPressed(e: MouseEvent | KeyboardEvent): boolean {\n\t\tif (isMacOs.value) {\n\t\t\treturn (e as KeyboardEvent).metaKey;\n\t\t}\n\t\treturn (e as KeyboardEvent).ctrlKey;\n\t}\n\n\treturn {\n\t\tuserAgent: userAgent.value,\n\t\tisTouchDevice: isTouchDevice.value,\n\t\tisAndroidOs: isAndroidOs.value,\n\t\tisIOs: isIOs.value,\n\t\tisMacOs: isMacOs.value,\n\t\tisMobileDevice: isMobileDevice.value,\n\t\tcontrolKeyCode: controlKeyCode.value,\n\t\tisCtrlKeyPressed,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/n8n/n8n/packages/frontend/@n8n/composables/dist/useDeviceSupport.cjs","../src/useDeviceSupport.ts"],"names":[],"mappings":"AAAA;ACAA,0BAA8B;AAEvB,SAAS,gBAAA,CAAA,EAAmB;AAOlC,EAAA,MAAM,cAAA,EAAgB,sBAAA;AAAA,IACrB,MAAA,CAAO,UAAA,CAAW,uBAAuB,CAAA,CAAE,QAAA,GAC1C,CAAC,MAAA,CAAO,UAAA,CAAW,qBAAqB,CAAA,CAAE;AAAA,EAC5C,CAAA;AACA,EAAA,MAAM,UAAA,EAAY,sBAAA,SAAI,CAAU,SAAA,CAAU,WAAA,CAAY,CAAC,CAAA;AAEvD,EAAA,MAAM,MAAA,EAAQ,sBAAA;AAAA,IACb,SAAA,CAAU,KAAA,CAAM,QAAA,CAAS,QAAQ,EAAA,GAChC,SAAA,CAAU,KAAA,CAAM,QAAA,CAAS,MAAM,EAAA,GAC/B,SAAA,CAAU,KAAA,CAAM,QAAA,CAAS,MAAM;AAAA,EACjC,CAAA;AACA,EAAA,MAAM,YAAA,EAAc,sBAAA,SAAI,CAAU,KAAA,CAAM,QAAA,CAAS,SAAS,CAAC,CAAA;AAC3D,EAAA,MAAM,QAAA,EAAU,sBAAA,SAAI,CAAU,KAAA,CAAM,QAAA,CAAS,WAAW,EAAA,GAAK,KAAA,CAAM,KAAK,CAAA;AACxE,EAAA,MAAM,eAAA,EAAiB,sBAAA,KAAI,CAAM,MAAA,GAAS,WAAA,CAAY,KAAK,CAAA;AAE3D,EAAA,MAAM,eAAA,EAAiB,sBAAA,OAAI,CAAQ,MAAA,EAAQ,OAAA,EAAS,SAAS,CAAA;AAC7D,EAAA,MAAM,eAAA,EAAiB,2BAAA,CAAS,EAAA,GAAO,OAAA,CAAQ,MAAA,EAAQ,SAAA,EAAM,MAAO,CAAA;AAEpE,EAAA,SAAS,gBAAA,CAAiB,CAAA,EAAwC;AACjE,IAAA,GAAA,CAAI,OAAA,CAAQ,KAAA,EAAO;AAClB,MAAA,OAAQ,CAAA,CAAoB,OAAA;AAAA,IAC7B;AACA,IAAA,OAAQ,CAAA,CAAoB,OAAA;AAAA,EAC7B;AAEA,EAAA,OAAO;AAAA,IACN,SAAA,EAAW,SAAA,CAAU,KAAA;AAAA,IACrB,aAAA,EAAe,aAAA,CAAc,KAAA;AAAA,IAC7B,WAAA,EAAa,WAAA,CAAY,KAAA;AAAA,IACzB,KAAA,EAAO,KAAA,CAAM,KAAA;AAAA,IACb,OAAA,EAAS,OAAA,CAAQ,KAAA;AAAA,IACjB,cAAA,EAAgB,cAAA,CAAe,KAAA;AAAA,IAC/B,cAAA,EAAgB,cAAA,CAAe,KAAA;AAAA,IAC/B,cAAA;AAAA,IACA;AAAA,EACD,CAAA;AACD;ADZA;AACE;AACF,4CAAC","file":"/home/runner/work/n8n/n8n/packages/frontend/@n8n/composables/dist/useDeviceSupport.cjs","sourcesContent":[null,"import { computed, ref } from 'vue';\n\nexport function useDeviceSupport() {\n\t/**\n\t * Check if the device is a touch device but exclude devices that have a fine pointer (mouse or track-pad)\n\t * - `fine` will check for an accurate pointing device. Examples include mice, touch-pads, and drawing styluses\n\t * - `coarse` will check for a pointing device of limited accuracy. Examples include touchscreens and motion-detection sensors\n\t * - `any-pointer` will check for the presence of any pointing device, if there are multiple of them\n\t */\n\tconst isTouchDevice = ref(\n\t\twindow.matchMedia('(any-pointer: coarse)').matches &&\n\t\t\t!window.matchMedia('(any-pointer: fine)').matches,\n\t);\n\tconst userAgent = ref(navigator.userAgent.toLowerCase());\n\n\tconst isIOs = ref(\n\t\tuserAgent.value.includes('iphone') ||\n\t\t\tuserAgent.value.includes('ipad') ||\n\t\t\tuserAgent.value.includes('ipod'),\n\t);\n\tconst isAndroidOs = ref(userAgent.value.includes('android'));\n\tconst isMacOs = ref(userAgent.value.includes('macintosh') || isIOs.value);\n\tconst isMobileDevice = ref(isIOs.value || isAndroidOs.value);\n\n\tconst controlKeyCode = ref(isMacOs.value ? 'Meta' : 'Control');\n\tconst controlKeyText = computed(() => (isMacOs.value ? '⌘' : 'Ctrl'));\n\n\tfunction isCtrlKeyPressed(e: MouseEvent | KeyboardEvent): boolean {\n\t\tif (isMacOs.value) {\n\t\t\treturn (e as KeyboardEvent).metaKey;\n\t\t}\n\t\treturn (e as KeyboardEvent).ctrlKey;\n\t}\n\n\treturn {\n\t\tuserAgent: userAgent.value,\n\t\tisTouchDevice: isTouchDevice.value,\n\t\tisAndroidOs: isAndroidOs.value,\n\t\tisIOs: isIOs.value,\n\t\tisMacOs: isMacOs.value,\n\t\tisMobileDevice: isMobileDevice.value,\n\t\tcontrolKeyCode: controlKeyCode.value,\n\t\tcontrolKeyText,\n\t\tisCtrlKeyPressed,\n\t};\n}\n"]}
@@ -1,3 +1,5 @@
1
+ import * as vue from 'vue';
2
+
1
3
  declare function useDeviceSupport(): {
2
4
  userAgent: string;
3
5
  isTouchDevice: boolean;
@@ -6,6 +8,7 @@ declare function useDeviceSupport(): {
6
8
  isMacOs: boolean;
7
9
  isMobileDevice: boolean;
8
10
  controlKeyCode: string;
11
+ controlKeyText: vue.ComputedRef<"⌘" | "Ctrl">;
9
12
  isCtrlKeyPressed: (e: MouseEvent | KeyboardEvent) => boolean;
10
13
  };
11
14
 
@@ -1,3 +1,5 @@
1
+ import * as vue from 'vue';
2
+
1
3
  declare function useDeviceSupport(): {
2
4
  userAgent: string;
3
5
  isTouchDevice: boolean;
@@ -6,6 +8,7 @@ declare function useDeviceSupport(): {
6
8
  isMacOs: boolean;
7
9
  isMobileDevice: boolean;
8
10
  controlKeyCode: string;
11
+ controlKeyText: vue.ComputedRef<"⌘" | "Ctrl">;
9
12
  isCtrlKeyPressed: (e: MouseEvent | KeyboardEvent) => boolean;
10
13
  };
11
14
 
@@ -1,5 +1,5 @@
1
1
  // src/useDeviceSupport.ts
2
- import { ref } from "vue";
2
+ import { computed, ref } from "vue";
3
3
  function useDeviceSupport() {
4
4
  const isTouchDevice = ref(
5
5
  window.matchMedia("(any-pointer: coarse)").matches && !window.matchMedia("(any-pointer: fine)").matches
@@ -12,6 +12,7 @@ function useDeviceSupport() {
12
12
  const isMacOs = ref(userAgent.value.includes("macintosh") || isIOs.value);
13
13
  const isMobileDevice = ref(isIOs.value || isAndroidOs.value);
14
14
  const controlKeyCode = ref(isMacOs.value ? "Meta" : "Control");
15
+ const controlKeyText = computed(() => isMacOs.value ? "\u2318" : "Ctrl");
15
16
  function isCtrlKeyPressed(e) {
16
17
  if (isMacOs.value) {
17
18
  return e.metaKey;
@@ -26,6 +27,7 @@ function useDeviceSupport() {
26
27
  isMacOs: isMacOs.value,
27
28
  isMobileDevice: isMobileDevice.value,
28
29
  controlKeyCode: controlKeyCode.value,
30
+ controlKeyText,
29
31
  isCtrlKeyPressed
30
32
  };
31
33
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/useDeviceSupport.ts"],"sourcesContent":["import { ref } from 'vue';\n\nexport function useDeviceSupport() {\n\t/**\n\t * Check if the device is a touch device but exclude devices that have a fine pointer (mouse or track-pad)\n\t * - `fine` will check for an accurate pointing device. Examples include mice, touch-pads, and drawing styluses\n\t * - `coarse` will check for a pointing device of limited accuracy. Examples include touchscreens and motion-detection sensors\n\t * - `any-pointer` will check for the presence of any pointing device, if there are multiple of them\n\t */\n\tconst isTouchDevice = ref(\n\t\twindow.matchMedia('(any-pointer: coarse)').matches &&\n\t\t\t!window.matchMedia('(any-pointer: fine)').matches,\n\t);\n\tconst userAgent = ref(navigator.userAgent.toLowerCase());\n\n\tconst isIOs = ref(\n\t\tuserAgent.value.includes('iphone') ||\n\t\t\tuserAgent.value.includes('ipad') ||\n\t\t\tuserAgent.value.includes('ipod'),\n\t);\n\tconst isAndroidOs = ref(userAgent.value.includes('android'));\n\tconst isMacOs = ref(userAgent.value.includes('macintosh') || isIOs.value);\n\tconst isMobileDevice = ref(isIOs.value || isAndroidOs.value);\n\n\tconst controlKeyCode = ref(isMacOs.value ? 'Meta' : 'Control');\n\n\tfunction isCtrlKeyPressed(e: MouseEvent | KeyboardEvent): boolean {\n\t\tif (isMacOs.value) {\n\t\t\treturn (e as KeyboardEvent).metaKey;\n\t\t}\n\t\treturn (e as KeyboardEvent).ctrlKey;\n\t}\n\n\treturn {\n\t\tuserAgent: userAgent.value,\n\t\tisTouchDevice: isTouchDevice.value,\n\t\tisAndroidOs: isAndroidOs.value,\n\t\tisIOs: isIOs.value,\n\t\tisMacOs: isMacOs.value,\n\t\tisMobileDevice: isMobileDevice.value,\n\t\tcontrolKeyCode: controlKeyCode.value,\n\t\tisCtrlKeyPressed,\n\t};\n}\n"],"mappings":";AAAA,SAAS,WAAW;AAEb,SAAS,mBAAmB;AAOlC,QAAM,gBAAgB;AAAA,IACrB,OAAO,WAAW,uBAAuB,EAAE,WAC1C,CAAC,OAAO,WAAW,qBAAqB,EAAE;AAAA,EAC5C;AACA,QAAM,YAAY,IAAI,UAAU,UAAU,YAAY,CAAC;AAEvD,QAAM,QAAQ;AAAA,IACb,UAAU,MAAM,SAAS,QAAQ,KAChC,UAAU,MAAM,SAAS,MAAM,KAC/B,UAAU,MAAM,SAAS,MAAM;AAAA,EACjC;AACA,QAAM,cAAc,IAAI,UAAU,MAAM,SAAS,SAAS,CAAC;AAC3D,QAAM,UAAU,IAAI,UAAU,MAAM,SAAS,WAAW,KAAK,MAAM,KAAK;AACxE,QAAM,iBAAiB,IAAI,MAAM,SAAS,YAAY,KAAK;AAE3D,QAAM,iBAAiB,IAAI,QAAQ,QAAQ,SAAS,SAAS;AAE7D,WAAS,iBAAiB,GAAwC;AACjE,QAAI,QAAQ,OAAO;AAClB,aAAQ,EAAoB;AAAA,IAC7B;AACA,WAAQ,EAAoB;AAAA,EAC7B;AAEA,SAAO;AAAA,IACN,WAAW,UAAU;AAAA,IACrB,eAAe,cAAc;AAAA,IAC7B,aAAa,YAAY;AAAA,IACzB,OAAO,MAAM;AAAA,IACb,SAAS,QAAQ;AAAA,IACjB,gBAAgB,eAAe;AAAA,IAC/B,gBAAgB,eAAe;AAAA,IAC/B;AAAA,EACD;AACD;","names":[]}
1
+ {"version":3,"sources":["../src/useDeviceSupport.ts"],"sourcesContent":["import { computed, ref } from 'vue';\n\nexport function useDeviceSupport() {\n\t/**\n\t * Check if the device is a touch device but exclude devices that have a fine pointer (mouse or track-pad)\n\t * - `fine` will check for an accurate pointing device. Examples include mice, touch-pads, and drawing styluses\n\t * - `coarse` will check for a pointing device of limited accuracy. Examples include touchscreens and motion-detection sensors\n\t * - `any-pointer` will check for the presence of any pointing device, if there are multiple of them\n\t */\n\tconst isTouchDevice = ref(\n\t\twindow.matchMedia('(any-pointer: coarse)').matches &&\n\t\t\t!window.matchMedia('(any-pointer: fine)').matches,\n\t);\n\tconst userAgent = ref(navigator.userAgent.toLowerCase());\n\n\tconst isIOs = ref(\n\t\tuserAgent.value.includes('iphone') ||\n\t\t\tuserAgent.value.includes('ipad') ||\n\t\t\tuserAgent.value.includes('ipod'),\n\t);\n\tconst isAndroidOs = ref(userAgent.value.includes('android'));\n\tconst isMacOs = ref(userAgent.value.includes('macintosh') || isIOs.value);\n\tconst isMobileDevice = ref(isIOs.value || isAndroidOs.value);\n\n\tconst controlKeyCode = ref(isMacOs.value ? 'Meta' : 'Control');\n\tconst controlKeyText = computed(() => (isMacOs.value ? '⌘' : 'Ctrl'));\n\n\tfunction isCtrlKeyPressed(e: MouseEvent | KeyboardEvent): boolean {\n\t\tif (isMacOs.value) {\n\t\t\treturn (e as KeyboardEvent).metaKey;\n\t\t}\n\t\treturn (e as KeyboardEvent).ctrlKey;\n\t}\n\n\treturn {\n\t\tuserAgent: userAgent.value,\n\t\tisTouchDevice: isTouchDevice.value,\n\t\tisAndroidOs: isAndroidOs.value,\n\t\tisIOs: isIOs.value,\n\t\tisMacOs: isMacOs.value,\n\t\tisMobileDevice: isMobileDevice.value,\n\t\tcontrolKeyCode: controlKeyCode.value,\n\t\tcontrolKeyText,\n\t\tisCtrlKeyPressed,\n\t};\n}\n"],"mappings":";AAAA,SAAS,UAAU,WAAW;AAEvB,SAAS,mBAAmB;AAOlC,QAAM,gBAAgB;AAAA,IACrB,OAAO,WAAW,uBAAuB,EAAE,WAC1C,CAAC,OAAO,WAAW,qBAAqB,EAAE;AAAA,EAC5C;AACA,QAAM,YAAY,IAAI,UAAU,UAAU,YAAY,CAAC;AAEvD,QAAM,QAAQ;AAAA,IACb,UAAU,MAAM,SAAS,QAAQ,KAChC,UAAU,MAAM,SAAS,MAAM,KAC/B,UAAU,MAAM,SAAS,MAAM;AAAA,EACjC;AACA,QAAM,cAAc,IAAI,UAAU,MAAM,SAAS,SAAS,CAAC;AAC3D,QAAM,UAAU,IAAI,UAAU,MAAM,SAAS,WAAW,KAAK,MAAM,KAAK;AACxE,QAAM,iBAAiB,IAAI,MAAM,SAAS,YAAY,KAAK;AAE3D,QAAM,iBAAiB,IAAI,QAAQ,QAAQ,SAAS,SAAS;AAC7D,QAAM,iBAAiB,SAAS,MAAO,QAAQ,QAAQ,WAAM,MAAO;AAEpE,WAAS,iBAAiB,GAAwC;AACjE,QAAI,QAAQ,OAAO;AAClB,aAAQ,EAAoB;AAAA,IAC7B;AACA,WAAQ,EAAoB;AAAA,EAC7B;AAEA,SAAO;AAAA,IACN,WAAW,UAAU;AAAA,IACrB,eAAe,cAAc;AAAA,IAC7B,aAAa,YAAY;AAAA,IACzB,OAAO,MAAM;AAAA,IACb,SAAS,QAAQ;AAAA,IACjB,gBAAgB,eAAe;AAAA,IAC/B,gBAAgB,eAAe;AAAA,IAC/B;AAAA,IACA;AAAA,EACD;AACD;","names":[]}
@@ -0,0 +1,23 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/useThrottleWithReactiveDelay.ts
2
+ var _core = require('@vueuse/core');
3
+ var _vue = require('vue');
4
+ function useThrottleWithReactiveDelay(state, delay) {
5
+ const throttled = _vue.shallowRef.call(void 0, state.value);
6
+ _vue.watch.call(void 0,
7
+ state,
8
+ _core.useThrottleFn.call(void 0,
9
+ (latest) => {
10
+ throttled.value = latest;
11
+ },
12
+ delay,
13
+ true,
14
+ true
15
+ ),
16
+ { immediate: true }
17
+ );
18
+ return throttled;
19
+ }
20
+
21
+
22
+ exports.useThrottleWithReactiveDelay = useThrottleWithReactiveDelay;
23
+ //# sourceMappingURL=useThrottleWithReactiveDelay.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/n8n/n8n/packages/frontend/@n8n/composables/dist/useThrottleWithReactiveDelay.cjs","../src/useThrottleWithReactiveDelay.ts"],"names":[],"mappings":"AAAA;ACAA,oCAA8B;AAC9B,0BAA6D;AAKtD,SAAS,4BAAA,CAAgC,KAAA,EAAe,KAAA,EAAmC;AACjG,EAAA,MAAM,UAAA,EAAY,6BAAA,KAAW,CAAM,KAAK,CAAA;AAExC,EAAA,wBAAA;AAAA,IACC,KAAA;AAAA,IACA,iCAAA;AAAA,MACC,CAAC,MAAA,EAAA,GAAc;AACd,QAAA,SAAA,CAAU,MAAA,EAAQ,MAAA;AAAA,MACnB,CAAA;AAAA,MACA,KAAA;AAAA,MACA,IAAA;AAAA,MACA;AAAA,IACD,CAAA;AAAA,IACA,EAAE,SAAA,EAAW,KAAK;AAAA,EACnB,CAAA;AAEA,EAAA,OAAO,SAAA;AACR;ADJA;AACE;AACF,oEAAC","file":"/home/runner/work/n8n/n8n/packages/frontend/@n8n/composables/dist/useThrottleWithReactiveDelay.cjs","sourcesContent":[null,"import { useThrottleFn } from '@vueuse/core';\nimport { shallowRef, watch, type Ref, type ShallowRef } from 'vue';\n\n/**\n * Similar to `useThrottle` from @vueuse/core, but with changeable delay\n */\nexport function useThrottleWithReactiveDelay<T>(state: Ref<T>, delay: Ref<number>): ShallowRef<T> {\n\tconst throttled = shallowRef(state.value);\n\n\twatch(\n\t\tstate,\n\t\tuseThrottleFn(\n\t\t\t(latest: T) => {\n\t\t\t\tthrottled.value = latest;\n\t\t\t},\n\t\t\tdelay,\n\t\t\ttrue,\n\t\t\ttrue,\n\t\t),\n\t\t{ immediate: true },\n\t);\n\n\treturn throttled;\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import { Ref, ShallowRef } from 'vue';
2
+
3
+ declare function useThrottleWithReactiveDelay<T>(state: Ref<T>, delay: Ref<number>): ShallowRef<T>;
4
+
5
+ export { useThrottleWithReactiveDelay };
@@ -0,0 +1,5 @@
1
+ import { Ref, ShallowRef } from 'vue';
2
+
3
+ declare function useThrottleWithReactiveDelay<T>(state: Ref<T>, delay: Ref<number>): ShallowRef<T>;
4
+
5
+ export { useThrottleWithReactiveDelay };
@@ -0,0 +1,23 @@
1
+ // src/useThrottleWithReactiveDelay.ts
2
+ import { useThrottleFn } from "@vueuse/core";
3
+ import { shallowRef, watch } from "vue";
4
+ function useThrottleWithReactiveDelay(state, delay) {
5
+ const throttled = shallowRef(state.value);
6
+ watch(
7
+ state,
8
+ useThrottleFn(
9
+ (latest) => {
10
+ throttled.value = latest;
11
+ },
12
+ delay,
13
+ true,
14
+ true
15
+ ),
16
+ { immediate: true }
17
+ );
18
+ return throttled;
19
+ }
20
+ export {
21
+ useThrottleWithReactiveDelay
22
+ };
23
+ //# sourceMappingURL=useThrottleWithReactiveDelay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/useThrottleWithReactiveDelay.ts"],"sourcesContent":["import { useThrottleFn } from '@vueuse/core';\nimport { shallowRef, watch, type Ref, type ShallowRef } from 'vue';\n\n/**\n * Similar to `useThrottle` from @vueuse/core, but with changeable delay\n */\nexport function useThrottleWithReactiveDelay<T>(state: Ref<T>, delay: Ref<number>): ShallowRef<T> {\n\tconst throttled = shallowRef(state.value);\n\n\twatch(\n\t\tstate,\n\t\tuseThrottleFn(\n\t\t\t(latest: T) => {\n\t\t\t\tthrottled.value = latest;\n\t\t\t},\n\t\t\tdelay,\n\t\t\ttrue,\n\t\t\ttrue,\n\t\t),\n\t\t{ immediate: true },\n\t);\n\n\treturn throttled;\n}\n"],"mappings":";AAAA,SAAS,qBAAqB;AAC9B,SAAS,YAAY,aAAwC;AAKtD,SAAS,6BAAgC,OAAe,OAAmC;AACjG,QAAM,YAAY,WAAW,MAAM,KAAK;AAExC;AAAA,IACC;AAAA,IACA;AAAA,MACC,CAAC,WAAc;AACd,kBAAU,QAAQ;AAAA,MACnB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,EAAE,WAAW,KAAK;AAAA,EACnB;AAEA,SAAO;AACR;","names":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@n8n/composables",
3
3
  "type": "module",
4
- "version": "1.9.0",
4
+ "version": "1.11.0",
5
5
  "files": [
6
6
  "dist",
7
7
  "LICENSE.md",
@@ -23,13 +23,13 @@
23
23
  "@vueuse/core": "^10.11.0",
24
24
  "vue": "^3.5.13",
25
25
  "tsup": "^8.5.0",
26
- "typescript": "5.8.3",
26
+ "typescript": "5.9.2",
27
27
  "vite": "^6.3.5",
28
28
  "vitest": "^3.1.3",
29
29
  "vue-tsc": "^2.2.8",
30
30
  "@n8n/eslint-config": "0.0.1",
31
- "@n8n/vitest-config": "1.5.0",
32
- "@n8n/typescript-config": "1.3.0"
31
+ "@n8n/typescript-config": "1.3.0",
32
+ "@n8n/vitest-config": "1.5.0"
33
33
  },
34
34
  "peerDependencies": {
35
35
  "@vueuse/core": "^10.11.0",