@ctzy-web-client/plugin-component-vue 1.0.26 → 1.0.28

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 (233) hide show
  1. package/es/_virtual/_plugin-vue_export-helper.mjs +11 -0
  2. package/es/advance-select/advance-operation.mjs +48 -51
  3. package/es/advance-select/advance-option.mjs +134 -164
  4. package/es/advance-select/advance-option.vue_vue_type_style_index_0_scoped_daae7edd_lang.mjs +13 -0
  5. package/es/advance-select/advance-select.mjs +327 -370
  6. package/es/advance-select/events-helpers.mjs +9 -0
  7. package/es/advance-select/index.mjs +9 -0
  8. package/es/advance-select/use-advance-option.mjs +9 -0
  9. package/es/advance-select/use-advance-select.mjs +9 -0
  10. package/es/application-slot/application-slot.mjs +9 -0
  11. package/es/application-slot/breadcrumb-item.mjs +26 -20
  12. package/es/application-slot/header-tools-item.mjs +26 -20
  13. package/es/application-slot/index.mjs +9 -0
  14. package/es/breadcrumb-select/breadcrumb-select.mjs +123 -137
  15. package/es/breadcrumb-select/index.mjs +9 -0
  16. package/es/components.mjs +9 -0
  17. package/es/contextmenu/contextmenu-item.mjs +24 -19
  18. package/es/contextmenu/contextmenu.mjs +68 -73
  19. package/es/contextmenu/index.mjs +9 -0
  20. package/es/contextmenu/use-contextmenu.mjs +10 -1
  21. package/es/data-form/data-form-item.mjs +41 -49
  22. package/es/data-form/data-form.mjs +176 -213
  23. package/es/data-form/dynamic-component.mjs +9 -0
  24. package/es/data-form/form-components/Blots/AtBlot.mjs +9 -0
  25. package/es/data-form/form-components/bwa-date-picker.mjs +50 -51
  26. package/es/data-form/form-components/bwa-date-time-picker.mjs +55 -56
  27. package/es/data-form/form-components/bwa-input-float.mjs +48 -48
  28. package/es/data-form/form-components/bwa-input-integer.mjs +61 -68
  29. package/es/data-form/form-components/bwa-input.mjs +43 -43
  30. package/es/data-form/form-components/bwa-multi-select.mjs +40 -40
  31. package/es/data-form/form-components/bwa-rich-text-tinymce.mjs +230 -555
  32. package/es/data-form/form-components/bwa-rich-text.mjs +326 -404
  33. package/es/data-form/form-components/bwa-select.mjs +81 -84
  34. package/es/data-form/form-components/bwa-textarea.mjs +38 -38
  35. package/es/data-form/form-components/bwa-upload.mjs +160 -173
  36. package/es/data-form/form-components/bwa-user-multi-select.mjs +35 -35
  37. package/es/data-form/form-components/bwa-user-select.mjs +72 -86
  38. package/es/data-form/index.mjs +9 -0
  39. package/es/data-table/data-column-view.mjs +124 -146
  40. package/es/data-table/data-table-card.mjs +49 -48
  41. package/es/data-table/data-table-column.mjs +55 -58
  42. package/es/data-table/data-table.mjs +328 -404
  43. package/es/data-table/dynamic-component.mjs +9 -0
  44. package/es/data-table/index.mjs +9 -0
  45. package/es/data-table/use-datatable-drag.mjs +9 -0
  46. package/es/datatable-settings/datatable-settings.mjs +286 -328
  47. package/es/datatable-settings/index.mjs +9 -0
  48. package/es/date-range/date-picker.mjs +125 -131
  49. package/es/date-range/date-range.mjs +173 -216
  50. package/es/date-range/index.mjs +9 -0
  51. package/es/drag-list/constants.mjs +10 -0
  52. package/es/drag-list/drag-item.mjs +51 -56
  53. package/es/drag-list/drag-list.mjs +58 -60
  54. package/es/drag-list/index.mjs +9 -0
  55. package/es/drag-list/use-drag-list.mjs +10 -1
  56. package/es/dragable/constants.mjs +10 -0
  57. package/es/dragable/dragable-item.mjs +27 -23
  58. package/es/dragable/dragable-operation.mjs +33 -32
  59. package/es/dragable/dragable.mjs +33 -32
  60. package/es/dragable/index.mjs +9 -0
  61. package/es/dragable/use-dragable.mjs +9 -0
  62. package/es/filter-panel/conditions/condition.mjs +9 -0
  63. package/es/filter-panel/conditions/date-range-condition.mjs +51 -50
  64. package/es/filter-panel/conditions/department-condition/department-condition.mjs +82 -99
  65. package/es/filter-panel/conditions/department-condition/department-node.mjs +69 -73
  66. package/es/filter-panel/conditions/index.mjs +9 -0
  67. package/es/filter-panel/conditions/input-condition.mjs +88 -91
  68. package/es/filter-panel/conditions/multi-user-condition.mjs +66 -67
  69. package/es/filter-panel/conditions/multiple-menu-condition.mjs +44 -54
  70. package/es/filter-panel/conditions/single-menu-condition.mjs +71 -65
  71. package/es/filter-panel/conditions/single-user-condition.mjs +66 -67
  72. package/es/filter-panel/filter-panel-item.mjs +51 -55
  73. package/es/filter-panel/filter-panel.mjs +147 -156
  74. package/es/filter-panel/index.mjs +9 -0
  75. package/es/filter-panel/use-filter-panel-item.mjs +9 -0
  76. package/es/filter-panel/use-filter-panel.mjs +9 -0
  77. package/es/hooks/use-data/index.mjs +9 -0
  78. package/es/index.mjs +9 -0
  79. package/es/layout/index.mjs +9 -0
  80. package/es/layout/layout.mjs +87 -85
  81. package/es/make-installer.mjs +9 -0
  82. package/es/math/Rectangle.mjs +10 -0
  83. package/es/menu/index.mjs +9 -0
  84. package/es/menu/menu-item.mjs +65 -70
  85. package/es/menu/menu.mjs +64 -70
  86. package/es/node_modules/.pnpm/{@vueuse_core@9.6.0_vue@3.2.41 → @vueuse_core@9.13.0_vue@3.5.29_typescript@4.9.5_}/node_modules/@vueuse/core/index.mjs +680 -454
  87. package/es/node_modules/.pnpm/{@vueuse_shared@9.6.0_vue@3.2.41 → @vueuse_shared@9.13.0_vue@3.5.29_typescript@4.9.5_}/node_modules/@vueuse/shared/index.mjs +108 -46
  88. package/es/panel/index.mjs +9 -0
  89. package/es/panel/panel.mjs +49 -53
  90. package/es/panel-tabs/index.mjs +9 -0
  91. package/es/panel-tabs/panel-tabs.mjs +9 -0
  92. package/es/pct-filter-panel/index.mjs +9 -0
  93. package/es/pct-filter-panel/pct-compents/index.mjs +9 -0
  94. package/es/pct-filter-panel/pct-compents/pct-Input-condition.mjs +73 -75
  95. package/es/pct-filter-panel/pct-compents/pct-date-range-condition.mjs +77 -77
  96. package/es/pct-filter-panel/pct-compents/pct-multiple-menu-condition.mjs +357 -374
  97. package/es/pct-filter-panel/pct-compents/pct-multiple-menu-condition2.mjs +149 -154
  98. package/es/pct-filter-panel/pct-filter-panel-item.mjs +52 -56
  99. package/es/pct-filter-panel/pct-filter-panel.mjs +235 -248
  100. package/es/pct-filter-panel/use-filter-panel-item.mjs +9 -0
  101. package/es/pct-filter-panel/use-filter-panel.mjs +9 -0
  102. package/es/plugins.css +1 -0
  103. package/es/plugins.mjs +9 -0
  104. package/es/progress/index.mjs +9 -0
  105. package/es/progress/progress-item.mjs +71 -81
  106. package/es/progress/progress.mjs +74 -78
  107. package/es/progress/use-progress.mjs +9 -0
  108. package/es/utils/db.mjs +9 -0
  109. package/es/utils.mjs +9 -0
  110. package/es/where-filter-panel/index.mjs +9 -1
  111. package/es/where-filter-panel/use-where-filter-panel.mjs +9 -0
  112. package/es/where-filter-panel/where-filter-panel.mjs +21 -15
  113. package/lib/_virtual/_plugin-vue_export-helper.js +11 -0
  114. package/lib/advance-select/advance-operation.js +47 -50
  115. package/lib/advance-select/advance-option.js +133 -163
  116. package/lib/advance-select/advance-option.vue_vue_type_style_index_0_scoped_daae7edd_lang.js +17 -0
  117. package/lib/advance-select/advance-select.js +326 -369
  118. package/lib/advance-select/events-helpers.js +9 -0
  119. package/lib/advance-select/index.js +9 -0
  120. package/lib/advance-select/use-advance-option.js +9 -0
  121. package/lib/advance-select/use-advance-select.js +9 -0
  122. package/lib/application-slot/application-slot.js +9 -0
  123. package/lib/application-slot/breadcrumb-item.js +25 -19
  124. package/lib/application-slot/header-tools-item.js +25 -19
  125. package/lib/application-slot/index.js +9 -0
  126. package/lib/breadcrumb-select/breadcrumb-select.js +122 -136
  127. package/lib/breadcrumb-select/index.js +9 -0
  128. package/lib/components.js +9 -0
  129. package/lib/contextmenu/contextmenu-item.js +23 -18
  130. package/lib/contextmenu/contextmenu.js +67 -72
  131. package/lib/contextmenu/index.js +9 -0
  132. package/lib/contextmenu/use-contextmenu.js +10 -1
  133. package/lib/data-form/data-form-item.js +40 -48
  134. package/lib/data-form/data-form.js +175 -212
  135. package/lib/data-form/dynamic-component.js +9 -0
  136. package/lib/data-form/form-components/Blots/AtBlot.js +9 -0
  137. package/lib/data-form/form-components/bwa-date-picker.js +49 -50
  138. package/lib/data-form/form-components/bwa-date-time-picker.js +54 -55
  139. package/lib/data-form/form-components/bwa-input-float.js +47 -47
  140. package/lib/data-form/form-components/bwa-input-integer.js +60 -67
  141. package/lib/data-form/form-components/bwa-input.js +42 -42
  142. package/lib/data-form/form-components/bwa-multi-select.js +39 -39
  143. package/lib/data-form/form-components/bwa-rich-text-tinymce.js +229 -554
  144. package/lib/data-form/form-components/bwa-rich-text.js +325 -403
  145. package/lib/data-form/form-components/bwa-select.js +80 -83
  146. package/lib/data-form/form-components/bwa-textarea.js +37 -37
  147. package/lib/data-form/form-components/bwa-upload.js +159 -172
  148. package/lib/data-form/form-components/bwa-user-multi-select.js +34 -34
  149. package/lib/data-form/form-components/bwa-user-select.js +71 -85
  150. package/lib/data-form/index.js +9 -0
  151. package/lib/data-table/data-column-view.js +124 -146
  152. package/lib/data-table/data-table-card.js +49 -48
  153. package/lib/data-table/data-table-column.js +54 -57
  154. package/lib/data-table/data-table.js +327 -403
  155. package/lib/data-table/dynamic-component.js +9 -0
  156. package/lib/data-table/index.js +9 -0
  157. package/lib/data-table/use-datatable-drag.js +9 -0
  158. package/lib/datatable-settings/datatable-settings.js +285 -327
  159. package/lib/datatable-settings/index.js +9 -0
  160. package/lib/date-range/date-picker.js +124 -130
  161. package/lib/date-range/date-range.js +172 -215
  162. package/lib/date-range/index.js +9 -0
  163. package/lib/drag-list/constants.js +10 -0
  164. package/lib/drag-list/drag-item.js +50 -55
  165. package/lib/drag-list/drag-list.js +57 -59
  166. package/lib/drag-list/index.js +9 -0
  167. package/lib/drag-list/use-drag-list.js +10 -1
  168. package/lib/dragable/constants.js +10 -0
  169. package/lib/dragable/dragable-item.js +26 -22
  170. package/lib/dragable/dragable-operation.js +32 -31
  171. package/lib/dragable/dragable.js +32 -31
  172. package/lib/dragable/index.js +9 -0
  173. package/lib/dragable/use-dragable.js +9 -0
  174. package/lib/filter-panel/conditions/condition.js +9 -0
  175. package/lib/filter-panel/conditions/date-range-condition.js +50 -49
  176. package/lib/filter-panel/conditions/department-condition/department-condition.js +81 -98
  177. package/lib/filter-panel/conditions/department-condition/department-node.js +68 -72
  178. package/lib/filter-panel/conditions/index.js +9 -0
  179. package/lib/filter-panel/conditions/input-condition.js +87 -90
  180. package/lib/filter-panel/conditions/multi-user-condition.js +65 -66
  181. package/lib/filter-panel/conditions/multiple-menu-condition.js +43 -53
  182. package/lib/filter-panel/conditions/single-menu-condition.js +70 -64
  183. package/lib/filter-panel/conditions/single-user-condition.js +65 -66
  184. package/lib/filter-panel/filter-panel-item.js +50 -54
  185. package/lib/filter-panel/filter-panel.js +146 -155
  186. package/lib/filter-panel/index.js +9 -0
  187. package/lib/filter-panel/use-filter-panel-item.js +9 -0
  188. package/lib/filter-panel/use-filter-panel.js +9 -0
  189. package/lib/hooks/use-data/index.js +9 -0
  190. package/lib/index.js +9 -0
  191. package/lib/layout/index.js +9 -0
  192. package/lib/layout/layout.js +86 -84
  193. package/lib/make-installer.js +9 -0
  194. package/lib/math/Rectangle.js +10 -0
  195. package/lib/menu/index.js +9 -0
  196. package/lib/menu/menu-item.js +64 -69
  197. package/lib/menu/menu.js +63 -69
  198. package/lib/node_modules/.pnpm/{@vueuse_core@9.6.0_vue@3.2.41 → @vueuse_core@9.13.0_vue@3.5.29_typescript@4.9.5_}/node_modules/@vueuse/core/index.js +685 -451
  199. package/lib/node_modules/.pnpm/{@vueuse_shared@9.6.0_vue@3.2.41 → @vueuse_shared@9.13.0_vue@3.5.29_typescript@4.9.5_}/node_modules/@vueuse/shared/index.js +109 -44
  200. package/lib/panel/index.js +9 -0
  201. package/lib/panel/panel.js +48 -52
  202. package/lib/panel-tabs/index.js +9 -0
  203. package/lib/panel-tabs/panel-tabs.js +9 -0
  204. package/lib/pct-filter-panel/index.js +9 -0
  205. package/lib/pct-filter-panel/pct-compents/index.js +9 -0
  206. package/lib/pct-filter-panel/pct-compents/pct-Input-condition.js +72 -74
  207. package/lib/pct-filter-panel/pct-compents/pct-date-range-condition.js +76 -76
  208. package/lib/pct-filter-panel/pct-compents/pct-multiple-menu-condition.js +356 -373
  209. package/lib/pct-filter-panel/pct-compents/pct-multiple-menu-condition2.js +148 -153
  210. package/lib/pct-filter-panel/pct-filter-panel-item.js +51 -55
  211. package/lib/pct-filter-panel/pct-filter-panel.js +234 -247
  212. package/lib/pct-filter-panel/use-filter-panel-item.js +9 -0
  213. package/lib/pct-filter-panel/use-filter-panel.js +9 -0
  214. package/lib/plugins.css +1 -0
  215. package/lib/plugins.js +9 -0
  216. package/lib/progress/index.js +9 -0
  217. package/lib/progress/progress-item.js +70 -80
  218. package/lib/progress/progress.js +73 -77
  219. package/lib/progress/use-progress.js +9 -0
  220. package/lib/utils/db.js +9 -0
  221. package/lib/utils.js +9 -0
  222. package/lib/where-filter-panel/index.js +9 -0
  223. package/lib/where-filter-panel/use-where-filter-panel.js +9 -0
  224. package/lib/where-filter-panel/where-filter-panel.js +20 -14
  225. package/package.json +1 -1
  226. package/src/advance-select/advance-option.vue +13 -7
  227. package/src/advance-select/advance-select.vue +8 -1
  228. package/src/pct-filter-panel/pct-compents/pct-multiple-menu-condition.vue +10 -1
  229. package/style/index.css +1 -1
  230. package/es/advance-select/advance-option.vue_vue_type_style_index_0_scoped_bc8f5626_lang.mjs +0 -7
  231. package/es/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.mjs +0 -28
  232. package/lib/advance-select/advance-option.vue_vue_type_style_index_0_scoped_bc8f5626_lang.js +0 -12
  233. package/lib/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js +0 -32
@@ -2,9 +2,19 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('../../../../@vueuse_shared@9.6.0_vue@3.2.41/node_modules/@vueuse/shared/index.js');
5
+ var index = require('../../../../@vueuse_shared@9.13.0_vue@3.5.29_typescript@4.9.5_/node_modules/@vueuse/shared/index.js');
6
6
  var vueDemi = require('vue-demi');
7
7
 
8
+ // Inject __name helper
9
+ if (typeof __name === 'undefined') {
10
+ function __name(obj, name) {
11
+ Object.defineProperty(obj, "name", {
12
+ value: name,
13
+ configurable: true
14
+ });
15
+ }
16
+ }
17
+
8
18
  function computedAsync(evaluationCallback, initialState, optionsOrRef) {
9
19
  let options;
10
20
  if (vueDemi.isRef(optionsOrRef)) {
@@ -17,10 +27,11 @@ function computedAsync(evaluationCallback, initialState, optionsOrRef) {
17
27
  const {
18
28
  lazy = false,
19
29
  evaluating = void 0,
30
+ shallow = false,
20
31
  onError = index.noop
21
32
  } = options;
22
33
  const started = vueDemi.ref(!lazy);
23
- const current = vueDemi.ref(initialState);
34
+ const current = shallow ? vueDemi.shallowRef(initialState) : vueDemi.ref(initialState);
24
35
  let counter = 0;
25
36
  vueDemi.watchEffect(async (onInvalidate) => {
26
37
  if (!started.value)
@@ -117,16 +128,16 @@ function useEventListener(...args) {
117
128
  cleanups.forEach((fn) => fn());
118
129
  cleanups.length = 0;
119
130
  };
120
- const register = (el, event, listener) => {
121
- el.addEventListener(event, listener, options);
122
- return () => el.removeEventListener(event, listener, options);
131
+ const register = (el, event, listener, options2) => {
132
+ el.addEventListener(event, listener, options2);
133
+ return () => el.removeEventListener(event, listener, options2);
123
134
  };
124
- const stopWatch = vueDemi.watch(() => unrefElement(target), (el) => {
135
+ const stopWatch = vueDemi.watch(() => [unrefElement(target), index.resolveUnref(options)], ([el, options2]) => {
125
136
  cleanup();
126
137
  if (!el)
127
138
  return;
128
139
  cleanups.push(...events.flatMap((event) => {
129
- return listeners.map((listener) => register(el, event, listener));
140
+ return listeners.map((listener) => register(el, event, listener, options2));
130
141
  }));
131
142
  }, { immediate: true, flush: "post" });
132
143
  const stop = () => {
@@ -137,29 +148,38 @@ function useEventListener(...args) {
137
148
  return stop;
138
149
  }
139
150
 
151
+ let _iOSWorkaround = false;
140
152
  function onClickOutside(target, handler, options = {}) {
141
- const { window = defaultWindow, ignore, capture = true, detectIframe = false } = options;
153
+ const { window = defaultWindow, ignore = [], capture = true, detectIframe = false } = options;
142
154
  if (!window)
143
155
  return;
156
+ if (index.isIOS && !_iOSWorkaround) {
157
+ _iOSWorkaround = true;
158
+ Array.from(window.document.body.children).forEach((el) => el.addEventListener("click", index.noop));
159
+ }
144
160
  let shouldListen = true;
145
- let fallback;
161
+ const shouldIgnore = (event) => {
162
+ return ignore.some((target2) => {
163
+ if (typeof target2 === "string") {
164
+ return Array.from(window.document.querySelectorAll(target2)).some((el) => el === event.target || event.composedPath().includes(el));
165
+ } else {
166
+ const el = unrefElement(target2);
167
+ return el && (event.target === el || event.composedPath().includes(el));
168
+ }
169
+ });
170
+ };
146
171
  const listener = (event) => {
147
- window.clearTimeout(fallback);
148
172
  const el = unrefElement(target);
149
173
  if (!el || el === event.target || event.composedPath().includes(el))
150
174
  return;
175
+ if (event.detail === 0)
176
+ shouldListen = !shouldIgnore(event);
151
177
  if (!shouldListen) {
152
178
  shouldListen = true;
153
179
  return;
154
180
  }
155
181
  handler(event);
156
182
  };
157
- const shouldIgnore = (event) => {
158
- return ignore && ignore.some((target2) => {
159
- const el = unrefElement(target2);
160
- return el && (event.target === el || event.composedPath().includes(el));
161
- });
162
- };
163
183
  const cleanup = [
164
184
  useEventListener(window, "click", listener, { passive: true, capture }),
165
185
  useEventListener(window, "pointerdown", (e) => {
@@ -167,13 +187,6 @@ function onClickOutside(target, handler, options = {}) {
167
187
  if (el)
168
188
  shouldListen = !e.composedPath().includes(el) && !shouldIgnore(e);
169
189
  }, { passive: true }),
170
- useEventListener(window, "pointerup", (e) => {
171
- if (e.button === 0) {
172
- const path = e.composedPath();
173
- e.composedPath = () => path;
174
- fallback = window.setTimeout(() => listener(e), 50);
175
- }
176
- }, { passive: true }),
177
190
  detectIframe && useEventListener(window, "blur", (event) => {
178
191
  var _a;
179
192
  const el = unrefElement(target);
@@ -185,21 +198,21 @@ function onClickOutside(target, handler, options = {}) {
185
198
  return stop;
186
199
  }
187
200
 
188
- var __defProp$m = Object.defineProperty;
201
+ var __defProp$n = Object.defineProperty;
189
202
  var __defProps$9 = Object.defineProperties;
190
203
  var __getOwnPropDescs$9 = Object.getOwnPropertyDescriptors;
191
- var __getOwnPropSymbols$o = Object.getOwnPropertySymbols;
192
- var __hasOwnProp$o = Object.prototype.hasOwnProperty;
193
- var __propIsEnum$o = Object.prototype.propertyIsEnumerable;
194
- var __defNormalProp$m = (obj, key, value) => key in obj ? __defProp$m(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
195
- var __spreadValues$m = (a, b) => {
204
+ var __getOwnPropSymbols$p = Object.getOwnPropertySymbols;
205
+ var __hasOwnProp$p = Object.prototype.hasOwnProperty;
206
+ var __propIsEnum$p = Object.prototype.propertyIsEnumerable;
207
+ var __defNormalProp$n = (obj, key, value) => key in obj ? __defProp$n(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
208
+ var __spreadValues$n = (a, b) => {
196
209
  for (var prop in b || (b = {}))
197
- if (__hasOwnProp$o.call(b, prop))
198
- __defNormalProp$m(a, prop, b[prop]);
199
- if (__getOwnPropSymbols$o)
200
- for (var prop of __getOwnPropSymbols$o(b)) {
201
- if (__propIsEnum$o.call(b, prop))
202
- __defNormalProp$m(a, prop, b[prop]);
210
+ if (__hasOwnProp$p.call(b, prop))
211
+ __defNormalProp$n(a, prop, b[prop]);
212
+ if (__getOwnPropSymbols$p)
213
+ for (var prop of __getOwnPropSymbols$p(b)) {
214
+ if (__propIsEnum$p.call(b, prop))
215
+ __defNormalProp$n(a, prop, b[prop]);
203
216
  }
204
217
  return a;
205
218
  };
@@ -243,13 +256,13 @@ function onKeyStroke(...args) {
243
256
  return useEventListener(target, eventName, listener, passive);
244
257
  }
245
258
  function onKeyDown(key, handler, options = {}) {
246
- return onKeyStroke(key, handler, __spreadProps$9(__spreadValues$m({}, options), { eventName: "keydown" }));
259
+ return onKeyStroke(key, handler, __spreadProps$9(__spreadValues$n({}, options), { eventName: "keydown" }));
247
260
  }
248
261
  function onKeyPressed(key, handler, options = {}) {
249
- return onKeyStroke(key, handler, __spreadProps$9(__spreadValues$m({}, options), { eventName: "keypress" }));
262
+ return onKeyStroke(key, handler, __spreadProps$9(__spreadValues$n({}, options), { eventName: "keypress" }));
250
263
  }
251
264
  function onKeyUp(key, handler, options = {}) {
252
- return onKeyStroke(key, handler, __spreadProps$9(__spreadValues$m({}, options), { eventName: "keyup" }));
265
+ return onKeyStroke(key, handler, __spreadProps$9(__spreadValues$n({}, options), { eventName: "keyup" }));
253
266
  }
254
267
 
255
268
  const DEFAULT_DELAY = 500;
@@ -341,10 +354,16 @@ function templateRef(key, initialValue = null) {
341
354
  }
342
355
 
343
356
  function useActiveElement(options = {}) {
357
+ var _a;
344
358
  const { window = defaultWindow } = options;
345
- const activeElement = index.computedWithControl(() => null, () => window == null ? void 0 : window.document.activeElement);
359
+ const document = (_a = options.document) != null ? _a : window == null ? void 0 : window.document;
360
+ const activeElement = index.computedWithControl(() => null, () => document == null ? void 0 : document.activeElement);
346
361
  if (window) {
347
- useEventListener(window, "blur", activeElement.trigger, true);
362
+ useEventListener(window, "blur", (event) => {
363
+ if (event.relatedTarget !== null)
364
+ return;
365
+ activeElement.trigger();
366
+ }, true);
348
367
  useEventListener(window, "focus", activeElement.trigger, true);
349
368
  }
350
369
  return activeElement;
@@ -405,6 +424,7 @@ function useAsyncState(promise, initialState, options) {
405
424
  immediate = true,
406
425
  delay = 0,
407
426
  onError = index.noop,
427
+ onSuccess = index.noop,
408
428
  resetOnExecute = true,
409
429
  shallow = true,
410
430
  throwError
@@ -426,6 +446,7 @@ function useAsyncState(promise, initialState, options) {
426
446
  const data = await _promise;
427
447
  state.value = data;
428
448
  isReady.value = true;
449
+ onSuccess(data);
429
450
  } catch (e) {
430
451
  error.value = e;
431
452
  onError(e);
@@ -723,20 +744,32 @@ const breakpointsSematic = {
723
744
  laptopL: 1440,
724
745
  desktop4K: 2560
725
746
  };
747
+ const breakpointsMasterCss = {
748
+ "3xs": 360,
749
+ "2xs": 480,
750
+ "xs": 600,
751
+ "sm": 768,
752
+ "md": 1024,
753
+ "lg": 1280,
754
+ "xl": 1440,
755
+ "2xl": 1600,
756
+ "3xl": 1920,
757
+ "4xl": 2560
758
+ };
726
759
 
727
- var __defProp$l = Object.defineProperty;
728
- var __getOwnPropSymbols$n = Object.getOwnPropertySymbols;
729
- var __hasOwnProp$n = Object.prototype.hasOwnProperty;
730
- var __propIsEnum$n = Object.prototype.propertyIsEnumerable;
731
- var __defNormalProp$l = (obj, key, value) => key in obj ? __defProp$l(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
732
- var __spreadValues$l = (a, b) => {
760
+ var __defProp$m = Object.defineProperty;
761
+ var __getOwnPropSymbols$o = Object.getOwnPropertySymbols;
762
+ var __hasOwnProp$o = Object.prototype.hasOwnProperty;
763
+ var __propIsEnum$o = Object.prototype.propertyIsEnumerable;
764
+ var __defNormalProp$m = (obj, key, value) => key in obj ? __defProp$m(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
765
+ var __spreadValues$m = (a, b) => {
733
766
  for (var prop in b || (b = {}))
734
- if (__hasOwnProp$n.call(b, prop))
735
- __defNormalProp$l(a, prop, b[prop]);
736
- if (__getOwnPropSymbols$n)
737
- for (var prop of __getOwnPropSymbols$n(b)) {
738
- if (__propIsEnum$n.call(b, prop))
739
- __defNormalProp$l(a, prop, b[prop]);
767
+ if (__hasOwnProp$o.call(b, prop))
768
+ __defNormalProp$m(a, prop, b[prop]);
769
+ if (__getOwnPropSymbols$o)
770
+ for (var prop of __getOwnPropSymbols$o(b)) {
771
+ if (__propIsEnum$o.call(b, prop))
772
+ __defNormalProp$m(a, prop, b[prop]);
740
773
  }
741
774
  return a;
742
775
  };
@@ -766,7 +799,7 @@ function useBreakpoints(breakpoints, options = {}) {
766
799
  });
767
800
  return shortcuts;
768
801
  }, {});
769
- return __spreadValues$l({
802
+ return __spreadValues$m({
770
803
  greater(k) {
771
804
  return useMediaQuery(`(min-width: ${getValue(k, 0.1)})`, options);
772
805
  },
@@ -942,21 +975,21 @@ function useClipboard(options = {}) {
942
975
  };
943
976
  }
944
977
 
945
- var __defProp$k = Object.defineProperty;
978
+ var __defProp$l = Object.defineProperty;
946
979
  var __defProps$8 = Object.defineProperties;
947
980
  var __getOwnPropDescs$8 = Object.getOwnPropertyDescriptors;
948
- var __getOwnPropSymbols$m = Object.getOwnPropertySymbols;
949
- var __hasOwnProp$m = Object.prototype.hasOwnProperty;
950
- var __propIsEnum$m = Object.prototype.propertyIsEnumerable;
951
- var __defNormalProp$k = (obj, key, value) => key in obj ? __defProp$k(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
952
- var __spreadValues$k = (a, b) => {
981
+ var __getOwnPropSymbols$n = Object.getOwnPropertySymbols;
982
+ var __hasOwnProp$n = Object.prototype.hasOwnProperty;
983
+ var __propIsEnum$n = Object.prototype.propertyIsEnumerable;
984
+ var __defNormalProp$l = (obj, key, value) => key in obj ? __defProp$l(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
985
+ var __spreadValues$l = (a, b) => {
953
986
  for (var prop in b || (b = {}))
954
- if (__hasOwnProp$m.call(b, prop))
955
- __defNormalProp$k(a, prop, b[prop]);
956
- if (__getOwnPropSymbols$m)
957
- for (var prop of __getOwnPropSymbols$m(b)) {
958
- if (__propIsEnum$m.call(b, prop))
959
- __defNormalProp$k(a, prop, b[prop]);
987
+ if (__hasOwnProp$n.call(b, prop))
988
+ __defNormalProp$l(a, prop, b[prop]);
989
+ if (__getOwnPropSymbols$n)
990
+ for (var prop of __getOwnPropSymbols$n(b)) {
991
+ if (__propIsEnum$n.call(b, prop))
992
+ __defNormalProp$l(a, prop, b[prop]);
960
993
  }
961
994
  return a;
962
995
  };
@@ -976,7 +1009,7 @@ function useCloned(source, options = {}) {
976
1009
  cloned.value = clone(vueDemi.unref(source));
977
1010
  }
978
1011
  if (!manual && vueDemi.isRef(source)) {
979
- vueDemi.watch(source, sync, __spreadProps$8(__spreadValues$k({}, options), {
1012
+ vueDemi.watch(source, sync, __spreadProps$8(__spreadValues$l({}, options), {
980
1013
  deep,
981
1014
  immediate
982
1015
  }));
@@ -1001,19 +1034,19 @@ function guessSerializerType(rawInit) {
1001
1034
  return rawInit == null ? "any" : rawInit instanceof Set ? "set" : rawInit instanceof Map ? "map" : rawInit instanceof Date ? "date" : typeof rawInit === "boolean" ? "boolean" : typeof rawInit === "string" ? "string" : typeof rawInit === "object" ? "object" : !Number.isNaN(rawInit) ? "number" : "any";
1002
1035
  }
1003
1036
 
1004
- var __defProp$j = Object.defineProperty;
1005
- var __getOwnPropSymbols$l = Object.getOwnPropertySymbols;
1006
- var __hasOwnProp$l = Object.prototype.hasOwnProperty;
1007
- var __propIsEnum$l = Object.prototype.propertyIsEnumerable;
1008
- var __defNormalProp$j = (obj, key, value) => key in obj ? __defProp$j(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1009
- var __spreadValues$j = (a, b) => {
1037
+ var __defProp$k = Object.defineProperty;
1038
+ var __getOwnPropSymbols$m = Object.getOwnPropertySymbols;
1039
+ var __hasOwnProp$m = Object.prototype.hasOwnProperty;
1040
+ var __propIsEnum$m = Object.prototype.propertyIsEnumerable;
1041
+ var __defNormalProp$k = (obj, key, value) => key in obj ? __defProp$k(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1042
+ var __spreadValues$k = (a, b) => {
1010
1043
  for (var prop in b || (b = {}))
1011
- if (__hasOwnProp$l.call(b, prop))
1012
- __defNormalProp$j(a, prop, b[prop]);
1013
- if (__getOwnPropSymbols$l)
1014
- for (var prop of __getOwnPropSymbols$l(b)) {
1015
- if (__propIsEnum$l.call(b, prop))
1016
- __defNormalProp$j(a, prop, b[prop]);
1044
+ if (__hasOwnProp$m.call(b, prop))
1045
+ __defNormalProp$k(a, prop, b[prop]);
1046
+ if (__getOwnPropSymbols$m)
1047
+ for (var prop of __getOwnPropSymbols$m(b)) {
1048
+ if (__propIsEnum$m.call(b, prop))
1049
+ __defNormalProp$k(a, prop, b[prop]);
1017
1050
  }
1018
1051
  return a;
1019
1052
  };
@@ -1051,6 +1084,7 @@ const StorageSerializers = {
1051
1084
  write: (v) => v.toISOString()
1052
1085
  }
1053
1086
  };
1087
+ const customStorageEventName = "vueuse-storage";
1054
1088
  function useStorage(key, defaults, storage, options = {}) {
1055
1089
  var _a;
1056
1090
  const {
@@ -1083,56 +1117,79 @@ function useStorage(key, defaults, storage, options = {}) {
1083
1117
  const type = guessSerializerType(rawInit);
1084
1118
  const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];
1085
1119
  const { pause: pauseWatch, resume: resumeWatch } = index.pausableWatch(data, () => write(data.value), { flush, deep, eventFilter });
1086
- if (window && listenToStorageChanges)
1120
+ if (window && listenToStorageChanges) {
1087
1121
  useEventListener(window, "storage", update);
1122
+ useEventListener(window, customStorageEventName, updateFromCustomEvent);
1123
+ }
1088
1124
  update();
1089
1125
  return data;
1090
1126
  function write(v) {
1091
1127
  try {
1092
- if (v == null)
1128
+ if (v == null) {
1093
1129
  storage.removeItem(key);
1094
- else
1095
- storage.setItem(key, serializer.write(v));
1130
+ } else {
1131
+ const serialized = serializer.write(v);
1132
+ const oldValue = storage.getItem(key);
1133
+ if (oldValue !== serialized) {
1134
+ storage.setItem(key, serialized);
1135
+ if (window) {
1136
+ window.dispatchEvent(new CustomEvent(customStorageEventName, {
1137
+ detail: {
1138
+ key,
1139
+ oldValue,
1140
+ newValue: serialized,
1141
+ storageArea: storage
1142
+ }
1143
+ }));
1144
+ }
1145
+ }
1146
+ }
1096
1147
  } catch (e) {
1097
1148
  onError(e);
1098
1149
  }
1099
1150
  }
1100
1151
  function read(event) {
1101
- pauseWatch();
1102
- try {
1103
- const rawValue = event ? event.newValue : storage.getItem(key);
1104
- if (rawValue == null) {
1105
- if (writeDefaults && rawInit !== null)
1106
- storage.setItem(key, serializer.write(rawInit));
1107
- return rawInit;
1108
- } else if (!event && mergeDefaults) {
1109
- const value = serializer.read(rawValue);
1110
- if (index.isFunction(mergeDefaults))
1111
- return mergeDefaults(value, rawInit);
1112
- else if (type === "object" && !Array.isArray(value))
1113
- return __spreadValues$j(__spreadValues$j({}, rawInit), value);
1114
- return value;
1115
- } else if (typeof rawValue !== "string") {
1116
- return rawValue;
1117
- } else {
1118
- return serializer.read(rawValue);
1119
- }
1120
- } catch (e) {
1121
- onError(e);
1122
- } finally {
1123
- resumeWatch();
1152
+ const rawValue = event ? event.newValue : storage.getItem(key);
1153
+ if (rawValue == null) {
1154
+ if (writeDefaults && rawInit !== null)
1155
+ storage.setItem(key, serializer.write(rawInit));
1156
+ return rawInit;
1157
+ } else if (!event && mergeDefaults) {
1158
+ const value = serializer.read(rawValue);
1159
+ if (index.isFunction(mergeDefaults))
1160
+ return mergeDefaults(value, rawInit);
1161
+ else if (type === "object" && !Array.isArray(value))
1162
+ return __spreadValues$k(__spreadValues$k({}, rawInit), value);
1163
+ return value;
1164
+ } else if (typeof rawValue !== "string") {
1165
+ return rawValue;
1166
+ } else {
1167
+ return serializer.read(rawValue);
1124
1168
  }
1125
1169
  }
1170
+ function updateFromCustomEvent(event) {
1171
+ update(event.detail);
1172
+ }
1126
1173
  function update(event) {
1127
1174
  if (event && event.storageArea !== storage)
1128
1175
  return;
1129
- if (event && event.key === null) {
1176
+ if (event && event.key == null) {
1130
1177
  data.value = rawInit;
1131
1178
  return;
1132
1179
  }
1133
1180
  if (event && event.key !== key)
1134
1181
  return;
1135
- data.value = read(event);
1182
+ pauseWatch();
1183
+ try {
1184
+ data.value = read(event);
1185
+ } catch (e) {
1186
+ onError(e);
1187
+ } finally {
1188
+ if (event)
1189
+ vueDemi.nextTick(resumeWatch);
1190
+ else
1191
+ resumeWatch();
1192
+ }
1136
1193
  }
1137
1194
  }
1138
1195
 
@@ -1140,19 +1197,19 @@ function usePreferredDark(options) {
1140
1197
  return useMediaQuery("(prefers-color-scheme: dark)", options);
1141
1198
  }
1142
1199
 
1143
- var __defProp$i = Object.defineProperty;
1144
- var __getOwnPropSymbols$k = Object.getOwnPropertySymbols;
1145
- var __hasOwnProp$k = Object.prototype.hasOwnProperty;
1146
- var __propIsEnum$k = Object.prototype.propertyIsEnumerable;
1147
- var __defNormalProp$i = (obj, key, value) => key in obj ? __defProp$i(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1148
- var __spreadValues$i = (a, b) => {
1200
+ var __defProp$j = Object.defineProperty;
1201
+ var __getOwnPropSymbols$l = Object.getOwnPropertySymbols;
1202
+ var __hasOwnProp$l = Object.prototype.hasOwnProperty;
1203
+ var __propIsEnum$l = Object.prototype.propertyIsEnumerable;
1204
+ var __defNormalProp$j = (obj, key, value) => key in obj ? __defProp$j(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1205
+ var __spreadValues$j = (a, b) => {
1149
1206
  for (var prop in b || (b = {}))
1150
- if (__hasOwnProp$k.call(b, prop))
1151
- __defNormalProp$i(a, prop, b[prop]);
1152
- if (__getOwnPropSymbols$k)
1153
- for (var prop of __getOwnPropSymbols$k(b)) {
1154
- if (__propIsEnum$k.call(b, prop))
1155
- __defNormalProp$i(a, prop, b[prop]);
1207
+ if (__hasOwnProp$l.call(b, prop))
1208
+ __defNormalProp$j(a, prop, b[prop]);
1209
+ if (__getOwnPropSymbols$l)
1210
+ for (var prop of __getOwnPropSymbols$l(b)) {
1211
+ if (__propIsEnum$l.call(b, prop))
1212
+ __defNormalProp$j(a, prop, b[prop]);
1156
1213
  }
1157
1214
  return a;
1158
1215
  };
@@ -1168,7 +1225,7 @@ function useColorMode(options = {}) {
1168
1225
  storageRef,
1169
1226
  emitAuto
1170
1227
  } = options;
1171
- const modes = __spreadValues$i({
1228
+ const modes = __spreadValues$j({
1172
1229
  auto: "",
1173
1230
  light: "light",
1174
1231
  dark: "dark"
@@ -1319,21 +1376,21 @@ function useCycleList(list, options) {
1319
1376
  };
1320
1377
  }
1321
1378
 
1322
- var __defProp$h = Object.defineProperty;
1379
+ var __defProp$i = Object.defineProperty;
1323
1380
  var __defProps$7 = Object.defineProperties;
1324
1381
  var __getOwnPropDescs$7 = Object.getOwnPropertyDescriptors;
1325
- var __getOwnPropSymbols$j = Object.getOwnPropertySymbols;
1326
- var __hasOwnProp$j = Object.prototype.hasOwnProperty;
1327
- var __propIsEnum$j = Object.prototype.propertyIsEnumerable;
1328
- var __defNormalProp$h = (obj, key, value) => key in obj ? __defProp$h(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1329
- var __spreadValues$h = (a, b) => {
1382
+ var __getOwnPropSymbols$k = Object.getOwnPropertySymbols;
1383
+ var __hasOwnProp$k = Object.prototype.hasOwnProperty;
1384
+ var __propIsEnum$k = Object.prototype.propertyIsEnumerable;
1385
+ var __defNormalProp$i = (obj, key, value) => key in obj ? __defProp$i(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1386
+ var __spreadValues$i = (a, b) => {
1330
1387
  for (var prop in b || (b = {}))
1331
- if (__hasOwnProp$j.call(b, prop))
1332
- __defNormalProp$h(a, prop, b[prop]);
1333
- if (__getOwnPropSymbols$j)
1334
- for (var prop of __getOwnPropSymbols$j(b)) {
1335
- if (__propIsEnum$j.call(b, prop))
1336
- __defNormalProp$h(a, prop, b[prop]);
1388
+ if (__hasOwnProp$k.call(b, prop))
1389
+ __defNormalProp$i(a, prop, b[prop]);
1390
+ if (__getOwnPropSymbols$k)
1391
+ for (var prop of __getOwnPropSymbols$k(b)) {
1392
+ if (__propIsEnum$k.call(b, prop))
1393
+ __defNormalProp$i(a, prop, b[prop]);
1337
1394
  }
1338
1395
  return a;
1339
1396
  };
@@ -1344,7 +1401,7 @@ function useDark(options = {}) {
1344
1401
  valueLight = "",
1345
1402
  window = defaultWindow
1346
1403
  } = options;
1347
- const mode = useColorMode(__spreadProps$7(__spreadValues$h({}, options), {
1404
+ const mode = useColorMode(__spreadProps$7(__spreadValues$i({}, options), {
1348
1405
  onChanged: (mode2, defaultHandler) => {
1349
1406
  var _a;
1350
1407
  if (options.onChanged)
@@ -1448,21 +1505,21 @@ function useManualRefHistory(source, options = {}) {
1448
1505
  };
1449
1506
  }
1450
1507
 
1451
- var __defProp$g = Object.defineProperty;
1508
+ var __defProp$h = Object.defineProperty;
1452
1509
  var __defProps$6 = Object.defineProperties;
1453
1510
  var __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;
1454
- var __getOwnPropSymbols$i = Object.getOwnPropertySymbols;
1455
- var __hasOwnProp$i = Object.prototype.hasOwnProperty;
1456
- var __propIsEnum$i = Object.prototype.propertyIsEnumerable;
1457
- var __defNormalProp$g = (obj, key, value) => key in obj ? __defProp$g(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1458
- var __spreadValues$g = (a, b) => {
1511
+ var __getOwnPropSymbols$j = Object.getOwnPropertySymbols;
1512
+ var __hasOwnProp$j = Object.prototype.hasOwnProperty;
1513
+ var __propIsEnum$j = Object.prototype.propertyIsEnumerable;
1514
+ var __defNormalProp$h = (obj, key, value) => key in obj ? __defProp$h(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1515
+ var __spreadValues$h = (a, b) => {
1459
1516
  for (var prop in b || (b = {}))
1460
- if (__hasOwnProp$i.call(b, prop))
1461
- __defNormalProp$g(a, prop, b[prop]);
1462
- if (__getOwnPropSymbols$i)
1463
- for (var prop of __getOwnPropSymbols$i(b)) {
1464
- if (__propIsEnum$i.call(b, prop))
1465
- __defNormalProp$g(a, prop, b[prop]);
1517
+ if (__hasOwnProp$j.call(b, prop))
1518
+ __defNormalProp$h(a, prop, b[prop]);
1519
+ if (__getOwnPropSymbols$j)
1520
+ for (var prop of __getOwnPropSymbols$j(b)) {
1521
+ if (__propIsEnum$j.call(b, prop))
1522
+ __defNormalProp$h(a, prop, b[prop]);
1466
1523
  }
1467
1524
  return a;
1468
1525
  };
@@ -1490,7 +1547,7 @@ function useRefHistory(source, options = {}) {
1490
1547
  source2.value = value;
1491
1548
  });
1492
1549
  }
1493
- const manualHistory = useManualRefHistory(source, __spreadProps$6(__spreadValues$g({}, options), { clone: options.clone || deep, setSource }));
1550
+ const manualHistory = useManualRefHistory(source, __spreadProps$6(__spreadValues$h({}, options), { clone: options.clone || deep, setSource }));
1494
1551
  const { clear, commit: manualCommit } = manualHistory;
1495
1552
  function commit() {
1496
1553
  ignorePrevAsyncUpdates();
@@ -1514,7 +1571,7 @@ function useRefHistory(source, options = {}) {
1514
1571
  stop();
1515
1572
  clear();
1516
1573
  }
1517
- return __spreadProps$6(__spreadValues$g({}, manualHistory), {
1574
+ return __spreadProps$6(__spreadValues$h({}, manualHistory), {
1518
1575
  isTracking,
1519
1576
  pause,
1520
1577
  resume,
@@ -1524,29 +1581,29 @@ function useRefHistory(source, options = {}) {
1524
1581
  });
1525
1582
  }
1526
1583
 
1527
- var __defProp$f = Object.defineProperty;
1584
+ var __defProp$g = Object.defineProperty;
1528
1585
  var __defProps$5 = Object.defineProperties;
1529
1586
  var __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;
1530
- var __getOwnPropSymbols$h = Object.getOwnPropertySymbols;
1531
- var __hasOwnProp$h = Object.prototype.hasOwnProperty;
1532
- var __propIsEnum$h = Object.prototype.propertyIsEnumerable;
1533
- var __defNormalProp$f = (obj, key, value) => key in obj ? __defProp$f(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1534
- var __spreadValues$f = (a, b) => {
1587
+ var __getOwnPropSymbols$i = Object.getOwnPropertySymbols;
1588
+ var __hasOwnProp$i = Object.prototype.hasOwnProperty;
1589
+ var __propIsEnum$i = Object.prototype.propertyIsEnumerable;
1590
+ var __defNormalProp$g = (obj, key, value) => key in obj ? __defProp$g(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1591
+ var __spreadValues$g = (a, b) => {
1535
1592
  for (var prop in b || (b = {}))
1536
- if (__hasOwnProp$h.call(b, prop))
1537
- __defNormalProp$f(a, prop, b[prop]);
1538
- if (__getOwnPropSymbols$h)
1539
- for (var prop of __getOwnPropSymbols$h(b)) {
1540
- if (__propIsEnum$h.call(b, prop))
1541
- __defNormalProp$f(a, prop, b[prop]);
1593
+ if (__hasOwnProp$i.call(b, prop))
1594
+ __defNormalProp$g(a, prop, b[prop]);
1595
+ if (__getOwnPropSymbols$i)
1596
+ for (var prop of __getOwnPropSymbols$i(b)) {
1597
+ if (__propIsEnum$i.call(b, prop))
1598
+ __defNormalProp$g(a, prop, b[prop]);
1542
1599
  }
1543
1600
  return a;
1544
1601
  };
1545
1602
  var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
1546
1603
  function useDebouncedRefHistory(source, options = {}) {
1547
1604
  const filter = options.debounce ? index.debounceFilter(options.debounce) : void 0;
1548
- const history = useRefHistory(source, __spreadProps$5(__spreadValues$f({}, options), { eventFilter: filter }));
1549
- return __spreadValues$f({}, history);
1605
+ const history = useRefHistory(source, __spreadProps$5(__spreadValues$g({}, options), { eventFilter: filter }));
1606
+ return __spreadValues$g({}, history);
1550
1607
  }
1551
1608
 
1552
1609
  function useDeviceMotion(options = {}) {
@@ -1606,28 +1663,20 @@ function useDeviceOrientation(options = {}) {
1606
1663
  function useDevicePixelRatio({
1607
1664
  window = defaultWindow
1608
1665
  } = {}) {
1609
- if (!window) {
1610
- return {
1611
- pixelRatio: vueDemi.ref(1)
1666
+ const pixelRatio = vueDemi.ref(1);
1667
+ if (window) {
1668
+ let observe = function() {
1669
+ pixelRatio.value = window.devicePixelRatio;
1670
+ cleanup();
1671
+ media = window.matchMedia(`(resolution: ${pixelRatio.value}dppx)`);
1672
+ media.addEventListener("change", observe, { once: true });
1673
+ }, cleanup = function() {
1674
+ media == null ? void 0 : media.removeEventListener("change", observe);
1612
1675
  };
1676
+ let media;
1677
+ observe();
1678
+ index.tryOnScopeDispose(cleanup);
1613
1679
  }
1614
- const pixelRatio = vueDemi.ref(1);
1615
- const cleanups = [];
1616
- const cleanup = () => {
1617
- cleanups.map((i) => i());
1618
- cleanups.length = 0;
1619
- };
1620
- const observe = () => {
1621
- pixelRatio.value = window.devicePixelRatio;
1622
- cleanup();
1623
- const media = window.matchMedia(`(resolution: ${pixelRatio.value}dppx)`);
1624
- media.addEventListener("change", observe, { once: true });
1625
- cleanups.push(() => {
1626
- media.removeEventListener("change", observe);
1627
- });
1628
- };
1629
- observe();
1630
- index.tryOnScopeDispose(cleanup);
1631
1680
  return { pixelRatio };
1632
1681
  }
1633
1682
 
@@ -1781,21 +1830,21 @@ function useDocumentVisibility({ document = defaultDocument } = {}) {
1781
1830
  return visibility;
1782
1831
  }
1783
1832
 
1784
- var __defProp$e = Object.defineProperty;
1833
+ var __defProp$f = Object.defineProperty;
1785
1834
  var __defProps$4 = Object.defineProperties;
1786
1835
  var __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;
1787
- var __getOwnPropSymbols$g = Object.getOwnPropertySymbols;
1788
- var __hasOwnProp$g = Object.prototype.hasOwnProperty;
1789
- var __propIsEnum$g = Object.prototype.propertyIsEnumerable;
1790
- var __defNormalProp$e = (obj, key, value) => key in obj ? __defProp$e(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1791
- var __spreadValues$e = (a, b) => {
1836
+ var __getOwnPropSymbols$h = Object.getOwnPropertySymbols;
1837
+ var __hasOwnProp$h = Object.prototype.hasOwnProperty;
1838
+ var __propIsEnum$h = Object.prototype.propertyIsEnumerable;
1839
+ var __defNormalProp$f = (obj, key, value) => key in obj ? __defProp$f(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1840
+ var __spreadValues$f = (a, b) => {
1792
1841
  for (var prop in b || (b = {}))
1793
- if (__hasOwnProp$g.call(b, prop))
1794
- __defNormalProp$e(a, prop, b[prop]);
1795
- if (__getOwnPropSymbols$g)
1796
- for (var prop of __getOwnPropSymbols$g(b)) {
1797
- if (__propIsEnum$g.call(b, prop))
1798
- __defNormalProp$e(a, prop, b[prop]);
1842
+ if (__hasOwnProp$h.call(b, prop))
1843
+ __defNormalProp$f(a, prop, b[prop]);
1844
+ if (__getOwnPropSymbols$h)
1845
+ for (var prop of __getOwnPropSymbols$h(b)) {
1846
+ if (__propIsEnum$h.call(b, prop))
1847
+ __defNormalProp$f(a, prop, b[prop]);
1799
1848
  }
1800
1849
  return a;
1801
1850
  };
@@ -1825,8 +1874,8 @@ function useDraggable(target, options = {}) {
1825
1874
  return;
1826
1875
  const rect = index.resolveUnref(target).getBoundingClientRect();
1827
1876
  const pos = {
1828
- x: e.pageX - rect.left,
1829
- y: e.pageY - rect.top
1877
+ x: e.clientX - rect.left,
1878
+ y: e.clientY - rect.top
1830
1879
  };
1831
1880
  if (((_a2 = options.onStart) == null ? void 0 : _a2.call(options, pos, e)) === false)
1832
1881
  return;
@@ -1840,8 +1889,8 @@ function useDraggable(target, options = {}) {
1840
1889
  if (!pressedDelta.value)
1841
1890
  return;
1842
1891
  position.value = {
1843
- x: e.pageX - pressedDelta.value.x,
1844
- y: e.pageY - pressedDelta.value.y
1892
+ x: e.clientX - pressedDelta.value.x,
1893
+ y: e.clientY - pressedDelta.value.y
1845
1894
  };
1846
1895
  (_a2 = options.onMove) == null ? void 0 : _a2.call(options, position.value, e);
1847
1896
  handleEvent(e);
@@ -1861,7 +1910,7 @@ function useDraggable(target, options = {}) {
1861
1910
  useEventListener(draggingElement, "pointermove", move, true);
1862
1911
  useEventListener(draggingElement, "pointerup", end, true);
1863
1912
  }
1864
- return __spreadProps$4(__spreadValues$e({}, index.toRefs(position)), {
1913
+ return __spreadProps$4(__spreadValues$f({}, index.toRefs(position)), {
1865
1914
  position,
1866
1915
  isDragging: vueDemi.computed(() => !!pressedDelta.value),
1867
1916
  style: vueDemi.computed(() => `left:${position.value.x}px;top:${position.value.y}px;`)
@@ -1900,17 +1949,17 @@ function useDropZone(target, onDrop) {
1900
1949
  };
1901
1950
  }
1902
1951
 
1903
- var __getOwnPropSymbols$f = Object.getOwnPropertySymbols;
1904
- var __hasOwnProp$f = Object.prototype.hasOwnProperty;
1905
- var __propIsEnum$f = Object.prototype.propertyIsEnumerable;
1952
+ var __getOwnPropSymbols$g = Object.getOwnPropertySymbols;
1953
+ var __hasOwnProp$g = Object.prototype.hasOwnProperty;
1954
+ var __propIsEnum$g = Object.prototype.propertyIsEnumerable;
1906
1955
  var __objRest$2 = (source, exclude) => {
1907
1956
  var target = {};
1908
1957
  for (var prop in source)
1909
- if (__hasOwnProp$f.call(source, prop) && exclude.indexOf(prop) < 0)
1958
+ if (__hasOwnProp$g.call(source, prop) && exclude.indexOf(prop) < 0)
1910
1959
  target[prop] = source[prop];
1911
- if (source != null && __getOwnPropSymbols$f)
1912
- for (var prop of __getOwnPropSymbols$f(source)) {
1913
- if (exclude.indexOf(prop) < 0 && __propIsEnum$f.call(source, prop))
1960
+ if (source != null && __getOwnPropSymbols$g)
1961
+ for (var prop of __getOwnPropSymbols$g(source)) {
1962
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$g.call(source, prop))
1914
1963
  target[prop] = source[prop];
1915
1964
  }
1916
1965
  return target;
@@ -1986,7 +2035,7 @@ function useElementBounding(target, options = {}) {
1986
2035
  useResizeObserver(target, update);
1987
2036
  vueDemi.watch(() => unrefElement(target), (ele) => !ele && update());
1988
2037
  if (windowScroll)
1989
- useEventListener("scroll", update, { passive: true });
2038
+ useEventListener("scroll", update, { capture: true, passive: true });
1990
2039
  if (windowResize)
1991
2040
  useEventListener("resize", update, { passive: true });
1992
2041
  index.tryOnMounted(() => {
@@ -2012,17 +2061,20 @@ function useRafFn(fn, options = {}) {
2012
2061
  window = defaultWindow
2013
2062
  } = options;
2014
2063
  const isActive = vueDemi.ref(false);
2064
+ let previousFrameTimestamp = 0;
2015
2065
  let rafId = null;
2016
- function loop() {
2066
+ function loop(timestamp) {
2017
2067
  if (!isActive.value || !window)
2018
2068
  return;
2019
- fn();
2069
+ const delta = timestamp - previousFrameTimestamp;
2070
+ fn({ delta, timestamp });
2071
+ previousFrameTimestamp = timestamp;
2020
2072
  rafId = window.requestAnimationFrame(loop);
2021
2073
  }
2022
2074
  function resume() {
2023
2075
  if (!isActive.value && window) {
2024
2076
  isActive.value = true;
2025
- loop();
2077
+ rafId = window.requestAnimationFrame(loop);
2026
2078
  }
2027
2079
  }
2028
2080
  function pause() {
@@ -2036,58 +2088,88 @@ function useRafFn(fn, options = {}) {
2036
2088
  resume();
2037
2089
  index.tryOnScopeDispose(pause);
2038
2090
  return {
2039
- isActive,
2091
+ isActive: vueDemi.readonly(isActive),
2040
2092
  pause,
2041
2093
  resume
2042
2094
  };
2043
2095
  }
2044
2096
 
2045
- var __defProp$d = Object.defineProperty;
2046
- var __getOwnPropSymbols$e = Object.getOwnPropertySymbols;
2047
- var __hasOwnProp$e = Object.prototype.hasOwnProperty;
2048
- var __propIsEnum$e = Object.prototype.propertyIsEnumerable;
2049
- var __defNormalProp$d = (obj, key, value) => key in obj ? __defProp$d(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2050
- var __spreadValues$d = (a, b) => {
2097
+ var __defProp$e = Object.defineProperty;
2098
+ var __getOwnPropSymbols$f = Object.getOwnPropertySymbols;
2099
+ var __hasOwnProp$f = Object.prototype.hasOwnProperty;
2100
+ var __propIsEnum$f = Object.prototype.propertyIsEnumerable;
2101
+ var __defNormalProp$e = (obj, key, value) => key in obj ? __defProp$e(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2102
+ var __spreadValues$e = (a, b) => {
2051
2103
  for (var prop in b || (b = {}))
2052
- if (__hasOwnProp$e.call(b, prop))
2053
- __defNormalProp$d(a, prop, b[prop]);
2054
- if (__getOwnPropSymbols$e)
2055
- for (var prop of __getOwnPropSymbols$e(b)) {
2056
- if (__propIsEnum$e.call(b, prop))
2057
- __defNormalProp$d(a, prop, b[prop]);
2104
+ if (__hasOwnProp$f.call(b, prop))
2105
+ __defNormalProp$e(a, prop, b[prop]);
2106
+ if (__getOwnPropSymbols$f)
2107
+ for (var prop of __getOwnPropSymbols$f(b)) {
2108
+ if (__propIsEnum$f.call(b, prop))
2109
+ __defNormalProp$e(a, prop, b[prop]);
2058
2110
  }
2059
2111
  return a;
2060
2112
  };
2061
2113
  function useElementByPoint(options) {
2062
2114
  const element = vueDemi.ref(null);
2063
- const { x, y } = options;
2115
+ const { x, y, document = defaultDocument } = options;
2064
2116
  const controls = useRafFn(() => {
2065
- element.value = document.elementFromPoint(index.resolveUnref(x), index.resolveUnref(y));
2117
+ element.value = (document == null ? void 0 : document.elementFromPoint(index.resolveUnref(x), index.resolveUnref(y))) || null;
2066
2118
  });
2067
- return __spreadValues$d({
2119
+ return __spreadValues$e({
2068
2120
  element
2069
2121
  }, controls);
2070
2122
  }
2071
2123
 
2072
- function useElementHover(el) {
2124
+ function useElementHover(el, options = {}) {
2125
+ const delayEnter = options ? options.delayEnter : 0;
2126
+ const delayLeave = options ? options.delayLeave : 0;
2073
2127
  const isHovered = vueDemi.ref(false);
2074
- useEventListener(el, "mouseenter", () => isHovered.value = true);
2075
- useEventListener(el, "mouseleave", () => isHovered.value = false);
2128
+ let timer;
2129
+ const toggle = (entering) => {
2130
+ const delay = entering ? delayEnter : delayLeave;
2131
+ if (timer) {
2132
+ clearTimeout(timer);
2133
+ timer = void 0;
2134
+ }
2135
+ if (delay)
2136
+ timer = setTimeout(() => isHovered.value = entering, delay);
2137
+ else
2138
+ isHovered.value = entering;
2139
+ };
2140
+ if (!window)
2141
+ return isHovered;
2142
+ useEventListener(el, "mouseenter", () => toggle(true), { passive: true });
2143
+ useEventListener(el, "mouseleave", () => toggle(false), { passive: true });
2076
2144
  return isHovered;
2077
2145
  }
2078
2146
 
2079
2147
  function useElementSize(target, initialSize = { width: 0, height: 0 }, options = {}) {
2080
- const { box = "content-box" } = options;
2148
+ const { window = defaultWindow, box = "content-box" } = options;
2149
+ const isSVG = vueDemi.computed(() => {
2150
+ var _a, _b;
2151
+ return (_b = (_a = unrefElement(target)) == null ? void 0 : _a.namespaceURI) == null ? void 0 : _b.includes("svg");
2152
+ });
2081
2153
  const width = vueDemi.ref(initialSize.width);
2082
2154
  const height = vueDemi.ref(initialSize.height);
2083
2155
  useResizeObserver(target, ([entry]) => {
2084
2156
  const boxSize = box === "border-box" ? entry.borderBoxSize : box === "content-box" ? entry.contentBoxSize : entry.devicePixelContentBoxSize;
2085
- if (boxSize) {
2086
- width.value = boxSize.reduce((acc, { inlineSize }) => acc + inlineSize, 0);
2087
- height.value = boxSize.reduce((acc, { blockSize }) => acc + blockSize, 0);
2157
+ if (window && isSVG.value) {
2158
+ const $elem = unrefElement(target);
2159
+ if ($elem) {
2160
+ const styles = window.getComputedStyle($elem);
2161
+ width.value = parseFloat(styles.width);
2162
+ height.value = parseFloat(styles.height);
2163
+ }
2088
2164
  } else {
2089
- width.value = entry.contentRect.width;
2090
- height.value = entry.contentRect.height;
2165
+ if (boxSize) {
2166
+ const formatBoxSize = Array.isArray(boxSize) ? boxSize : [boxSize];
2167
+ width.value = formatBoxSize.reduce((acc, { inlineSize }) => acc + inlineSize, 0);
2168
+ height.value = formatBoxSize.reduce((acc, { blockSize }) => acc + blockSize, 0);
2169
+ } else {
2170
+ width.value = entry.contentRect.width;
2171
+ height.value = entry.contentRect.height;
2172
+ }
2091
2173
  }
2092
2174
  }, options);
2093
2175
  vueDemi.watch(() => unrefElement(target), (ele) => {
@@ -2245,32 +2327,31 @@ function useFavicon(newIcon = null, options = {}) {
2245
2327
  return favicon;
2246
2328
  }
2247
2329
 
2248
- var __defProp$c = Object.defineProperty;
2330
+ var __defProp$d = Object.defineProperty;
2249
2331
  var __defProps$3 = Object.defineProperties;
2250
2332
  var __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;
2251
- var __getOwnPropSymbols$d = Object.getOwnPropertySymbols;
2252
- var __hasOwnProp$d = Object.prototype.hasOwnProperty;
2253
- var __propIsEnum$d = Object.prototype.propertyIsEnumerable;
2254
- var __defNormalProp$c = (obj, key, value) => key in obj ? __defProp$c(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2255
- var __spreadValues$c = (a, b) => {
2333
+ var __getOwnPropSymbols$e = Object.getOwnPropertySymbols;
2334
+ var __hasOwnProp$e = Object.prototype.hasOwnProperty;
2335
+ var __propIsEnum$e = Object.prototype.propertyIsEnumerable;
2336
+ var __defNormalProp$d = (obj, key, value) => key in obj ? __defProp$d(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2337
+ var __spreadValues$d = (a, b) => {
2256
2338
  for (var prop in b || (b = {}))
2257
- if (__hasOwnProp$d.call(b, prop))
2258
- __defNormalProp$c(a, prop, b[prop]);
2259
- if (__getOwnPropSymbols$d)
2260
- for (var prop of __getOwnPropSymbols$d(b)) {
2261
- if (__propIsEnum$d.call(b, prop))
2262
- __defNormalProp$c(a, prop, b[prop]);
2339
+ if (__hasOwnProp$e.call(b, prop))
2340
+ __defNormalProp$d(a, prop, b[prop]);
2341
+ if (__getOwnPropSymbols$e)
2342
+ for (var prop of __getOwnPropSymbols$e(b)) {
2343
+ if (__propIsEnum$e.call(b, prop))
2344
+ __defNormalProp$d(a, prop, b[prop]);
2263
2345
  }
2264
2346
  return a;
2265
2347
  };
2266
2348
  var __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));
2267
2349
  const payloadMapping = {
2268
2350
  json: "application/json",
2269
- text: "text/plain",
2270
- formData: "multipart/form-data"
2351
+ text: "text/plain"
2271
2352
  };
2272
2353
  function isFetchOptions(obj) {
2273
- return index.containsProp(obj, "immediate", "refetch", "initialData", "timeout", "beforeFetch", "afterFetch", "onFetchError", "fetch");
2354
+ return obj && index.containsProp(obj, "immediate", "refetch", "initialData", "timeout", "beforeFetch", "afterFetch", "onFetchError", "fetch");
2274
2355
  }
2275
2356
  function isAbsoluteURL(url) {
2276
2357
  return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url);
@@ -2292,7 +2373,7 @@ function combineCallbacks(combination, ...callbacks) {
2292
2373
  return async (ctx) => {
2293
2374
  await callbacks.reduce((prevCallback, callback) => prevCallback.then(async () => {
2294
2375
  if (callback)
2295
- ctx = __spreadValues$c(__spreadValues$c({}, ctx), await callback(ctx));
2376
+ ctx = __spreadValues$d(__spreadValues$d({}, ctx), await callback(ctx));
2296
2377
  }), Promise.resolve());
2297
2378
  return ctx;
2298
2379
  };
@@ -2312,19 +2393,19 @@ function createFetch(config = {}) {
2312
2393
  let fetchOptions = _fetchOptions;
2313
2394
  if (args.length > 0) {
2314
2395
  if (isFetchOptions(args[0])) {
2315
- options = __spreadProps$3(__spreadValues$c(__spreadValues$c({}, options), args[0]), {
2396
+ options = __spreadProps$3(__spreadValues$d(__spreadValues$d({}, options), args[0]), {
2316
2397
  beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[0].beforeFetch),
2317
2398
  afterFetch: combineCallbacks(_combination, _options.afterFetch, args[0].afterFetch),
2318
2399
  onFetchError: combineCallbacks(_combination, _options.onFetchError, args[0].onFetchError)
2319
2400
  });
2320
2401
  } else {
2321
- fetchOptions = __spreadProps$3(__spreadValues$c(__spreadValues$c({}, fetchOptions), args[0]), {
2322
- headers: __spreadValues$c(__spreadValues$c({}, headersToObject(fetchOptions.headers) || {}), headersToObject(args[0].headers) || {})
2402
+ fetchOptions = __spreadProps$3(__spreadValues$d(__spreadValues$d({}, fetchOptions), args[0]), {
2403
+ headers: __spreadValues$d(__spreadValues$d({}, headersToObject(fetchOptions.headers) || {}), headersToObject(args[0].headers) || {})
2323
2404
  });
2324
2405
  }
2325
2406
  }
2326
2407
  if (args.length > 1 && isFetchOptions(args[1])) {
2327
- options = __spreadProps$3(__spreadValues$c(__spreadValues$c({}, options), args[1]), {
2408
+ options = __spreadProps$3(__spreadValues$d(__spreadValues$d({}, options), args[1]), {
2328
2409
  beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[1].beforeFetch),
2329
2410
  afterFetch: combineCallbacks(_combination, _options.afterFetch, args[1].afterFetch),
2330
2411
  onFetchError: combineCallbacks(_combination, _options.onFetchError, args[1].onFetchError)
@@ -2346,13 +2427,13 @@ function useFetch(url, ...args) {
2346
2427
  };
2347
2428
  if (args.length > 0) {
2348
2429
  if (isFetchOptions(args[0]))
2349
- options = __spreadValues$c(__spreadValues$c({}, options), args[0]);
2430
+ options = __spreadValues$d(__spreadValues$d({}, options), args[0]);
2350
2431
  else
2351
2432
  fetchOptions = args[0];
2352
2433
  }
2353
2434
  if (args.length > 1) {
2354
2435
  if (isFetchOptions(args[1]))
2355
- options = __spreadValues$c(__spreadValues$c({}, options), args[1]);
2436
+ options = __spreadValues$d(__spreadValues$d({}, options), args[1]);
2356
2437
  }
2357
2438
  const {
2358
2439
  fetch = (_a = defaultWindow) == null ? void 0 : _a.fetch,
@@ -2373,8 +2454,10 @@ function useFetch(url, ...args) {
2373
2454
  let controller;
2374
2455
  let timer;
2375
2456
  const abort = () => {
2376
- if (supportsAbort && controller)
2457
+ if (supportsAbort && controller) {
2377
2458
  controller.abort();
2459
+ controller = void 0;
2460
+ }
2378
2461
  };
2379
2462
  const loading = (isLoading) => {
2380
2463
  isFetching.value = isLoading;
@@ -2388,11 +2471,11 @@ function useFetch(url, ...args) {
2388
2471
  error.value = null;
2389
2472
  statusCode.value = null;
2390
2473
  aborted.value = false;
2391
- controller = void 0;
2392
2474
  if (supportsAbort) {
2475
+ abort();
2393
2476
  controller = new AbortController();
2394
2477
  controller.signal.onabort = () => aborted.value = true;
2395
- fetchOptions = __spreadProps$3(__spreadValues$c({}, fetchOptions), {
2478
+ fetchOptions = __spreadProps$3(__spreadValues$d({}, fetchOptions), {
2396
2479
  signal: controller.signal
2397
2480
  });
2398
2481
  }
@@ -2408,9 +2491,13 @@ function useFetch(url, ...args) {
2408
2491
  defaultFetchOptions.body = config.payloadType === "json" ? JSON.stringify(payload) : payload;
2409
2492
  }
2410
2493
  let isCanceled = false;
2411
- const context = { url: index.resolveUnref(url), options: __spreadValues$c(__spreadValues$c({}, defaultFetchOptions), fetchOptions), cancel: () => {
2412
- isCanceled = true;
2413
- } };
2494
+ const context = {
2495
+ url: index.resolveUnref(url),
2496
+ options: __spreadValues$d(__spreadValues$d({}, defaultFetchOptions), fetchOptions),
2497
+ cancel: () => {
2498
+ isCanceled = true;
2499
+ }
2500
+ };
2414
2501
  if (options.beforeFetch)
2415
2502
  Object.assign(context, await options.beforeFetch(context));
2416
2503
  if (isCanceled || !fetch) {
@@ -2422,8 +2509,8 @@ function useFetch(url, ...args) {
2422
2509
  timer.start();
2423
2510
  return new Promise((resolve, reject) => {
2424
2511
  var _a3;
2425
- fetch(context.url, __spreadProps$3(__spreadValues$c(__spreadValues$c({}, defaultFetchOptions), context.options), {
2426
- headers: __spreadValues$c(__spreadValues$c({}, headersToObject(defaultFetchOptions.headers)), headersToObject((_a3 = context.options) == null ? void 0 : _a3.headers))
2512
+ fetch(context.url, __spreadProps$3(__spreadValues$d(__spreadValues$d({}, defaultFetchOptions), context.options), {
2513
+ headers: __spreadValues$d(__spreadValues$d({}, headersToObject(defaultFetchOptions.headers)), headersToObject((_a3 = context.options) == null ? void 0 : _a3.headers))
2427
2514
  })).then(async (fetchResponse) => {
2428
2515
  response.value = fetchResponse;
2429
2516
  statusCode.value = fetchResponse.status;
@@ -2498,9 +2585,9 @@ function useFetch(url, ...args) {
2498
2585
  ], ([refetch2]) => refetch2 && execute(), { deep: true });
2499
2586
  }
2500
2587
  const rawPayload = index.resolveUnref(config.payload);
2501
- if (!payloadType && rawPayload && Object.getPrototypeOf(rawPayload) === Object.prototype)
2588
+ if (!payloadType && rawPayload && Object.getPrototypeOf(rawPayload) === Object.prototype && !(rawPayload instanceof FormData))
2502
2589
  config.payloadType = "json";
2503
- return __spreadProps$3(__spreadValues$c({}, shell), {
2590
+ return __spreadProps$3(__spreadValues$d({}, shell), {
2504
2591
  then(onFulfilled, onRejected) {
2505
2592
  return waitUntilFinished().then(onFulfilled, onRejected);
2506
2593
  }
@@ -2518,7 +2605,7 @@ function useFetch(url, ...args) {
2518
2605
  return () => {
2519
2606
  if (!isFetching.value) {
2520
2607
  config.type = type;
2521
- return __spreadProps$3(__spreadValues$c({}, shell), {
2608
+ return __spreadProps$3(__spreadValues$d({}, shell), {
2522
2609
  then(onFulfilled, onRejected) {
2523
2610
  return waitUntilFinished().then(onFulfilled, onRejected);
2524
2611
  }
@@ -2529,7 +2616,7 @@ function useFetch(url, ...args) {
2529
2616
  }
2530
2617
  if (options.immediate)
2531
2618
  setTimeout(execute, 0);
2532
- return __spreadProps$3(__spreadValues$c({}, shell), {
2619
+ return __spreadProps$3(__spreadValues$d({}, shell), {
2533
2620
  then(onFulfilled, onRejected) {
2534
2621
  return waitUntilFinished().then(onFulfilled, onRejected);
2535
2622
  }
@@ -2541,19 +2628,19 @@ function joinPaths(start, end) {
2541
2628
  return `${start}${end}`;
2542
2629
  }
2543
2630
 
2544
- var __defProp$b = Object.defineProperty;
2545
- var __getOwnPropSymbols$c = Object.getOwnPropertySymbols;
2546
- var __hasOwnProp$c = Object.prototype.hasOwnProperty;
2547
- var __propIsEnum$c = Object.prototype.propertyIsEnumerable;
2548
- var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2549
- var __spreadValues$b = (a, b) => {
2631
+ var __defProp$c = Object.defineProperty;
2632
+ var __getOwnPropSymbols$d = Object.getOwnPropertySymbols;
2633
+ var __hasOwnProp$d = Object.prototype.hasOwnProperty;
2634
+ var __propIsEnum$d = Object.prototype.propertyIsEnumerable;
2635
+ var __defNormalProp$c = (obj, key, value) => key in obj ? __defProp$c(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2636
+ var __spreadValues$c = (a, b) => {
2550
2637
  for (var prop in b || (b = {}))
2551
- if (__hasOwnProp$c.call(b, prop))
2552
- __defNormalProp$b(a, prop, b[prop]);
2553
- if (__getOwnPropSymbols$c)
2554
- for (var prop of __getOwnPropSymbols$c(b)) {
2555
- if (__propIsEnum$c.call(b, prop))
2556
- __defNormalProp$b(a, prop, b[prop]);
2638
+ if (__hasOwnProp$d.call(b, prop))
2639
+ __defNormalProp$c(a, prop, b[prop]);
2640
+ if (__getOwnPropSymbols$d)
2641
+ for (var prop of __getOwnPropSymbols$d(b)) {
2642
+ if (__propIsEnum$d.call(b, prop))
2643
+ __defNormalProp$c(a, prop, b[prop]);
2557
2644
  }
2558
2645
  return a;
2559
2646
  };
@@ -2578,7 +2665,7 @@ function useFileDialog(options = {}) {
2578
2665
  const open = (localOptions) => {
2579
2666
  if (!input)
2580
2667
  return;
2581
- const _options = __spreadValues$b(__spreadValues$b(__spreadValues$b({}, DEFAULT_OPTIONS), options), localOptions);
2668
+ const _options = __spreadValues$c(__spreadValues$c(__spreadValues$c({}, DEFAULT_OPTIONS), options), localOptions);
2582
2669
  input.multiple = _options.multiple;
2583
2670
  input.accept = _options.accept;
2584
2671
  if (index.hasOwn(_options, "capture"))
@@ -2597,19 +2684,19 @@ function useFileDialog(options = {}) {
2597
2684
  };
2598
2685
  }
2599
2686
 
2600
- var __defProp$a = Object.defineProperty;
2601
- var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
2602
- var __hasOwnProp$b = Object.prototype.hasOwnProperty;
2603
- var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
2604
- var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2605
- var __spreadValues$a = (a, b) => {
2687
+ var __defProp$b = Object.defineProperty;
2688
+ var __getOwnPropSymbols$c = Object.getOwnPropertySymbols;
2689
+ var __hasOwnProp$c = Object.prototype.hasOwnProperty;
2690
+ var __propIsEnum$c = Object.prototype.propertyIsEnumerable;
2691
+ var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2692
+ var __spreadValues$b = (a, b) => {
2606
2693
  for (var prop in b || (b = {}))
2607
- if (__hasOwnProp$b.call(b, prop))
2608
- __defNormalProp$a(a, prop, b[prop]);
2609
- if (__getOwnPropSymbols$b)
2610
- for (var prop of __getOwnPropSymbols$b(b)) {
2611
- if (__propIsEnum$b.call(b, prop))
2612
- __defNormalProp$a(a, prop, b[prop]);
2694
+ if (__hasOwnProp$c.call(b, prop))
2695
+ __defNormalProp$b(a, prop, b[prop]);
2696
+ if (__getOwnPropSymbols$c)
2697
+ for (var prop of __getOwnPropSymbols$c(b)) {
2698
+ if (__propIsEnum$c.call(b, prop))
2699
+ __defNormalProp$b(a, prop, b[prop]);
2613
2700
  }
2614
2701
  return a;
2615
2702
  };
@@ -2642,7 +2729,7 @@ function useFileSystemAccess(options = {}) {
2642
2729
  async function open(_options = {}) {
2643
2730
  if (!isSupported.value)
2644
2731
  return;
2645
- const [handle] = await window.showOpenFilePicker(__spreadValues$a(__spreadValues$a({}, vueDemi.unref(options)), _options));
2732
+ const [handle] = await window.showOpenFilePicker(__spreadValues$b(__spreadValues$b({}, vueDemi.unref(options)), _options));
2646
2733
  fileHandle.value = handle;
2647
2734
  await updateFile();
2648
2735
  await updateData();
@@ -2650,7 +2737,7 @@ function useFileSystemAccess(options = {}) {
2650
2737
  async function create(_options = {}) {
2651
2738
  if (!isSupported.value)
2652
2739
  return;
2653
- fileHandle.value = await window.showSaveFilePicker(__spreadValues$a(__spreadValues$a({}, vueDemi.unref(options)), _options));
2740
+ fileHandle.value = await window.showSaveFilePicker(__spreadValues$b(__spreadValues$b({}, vueDemi.unref(options)), _options));
2654
2741
  data.value = void 0;
2655
2742
  await updateFile();
2656
2743
  await updateData();
@@ -2670,7 +2757,7 @@ function useFileSystemAccess(options = {}) {
2670
2757
  async function saveAs(_options = {}) {
2671
2758
  if (!isSupported.value)
2672
2759
  return;
2673
- fileHandle.value = await window.showSaveFilePicker(__spreadValues$a(__spreadValues$a({}, vueDemi.unref(options)), _options));
2760
+ fileHandle.value = await window.showSaveFilePicker(__spreadValues$b(__spreadValues$b({}, vueDemi.unref(options)), _options));
2674
2761
  if (data.value) {
2675
2762
  const writableStream = await fileHandle.value.createWritable();
2676
2763
  await writableStream.write(data.value);
@@ -2710,17 +2797,17 @@ function useFileSystemAccess(options = {}) {
2710
2797
 
2711
2798
  function useFocus(target, options = {}) {
2712
2799
  const { initialValue = false } = options;
2713
- const activeElement = useActiveElement(options);
2800
+ const innerFocused = vueDemi.ref(false);
2714
2801
  const targetElement = vueDemi.computed(() => unrefElement(target));
2802
+ useEventListener(targetElement, "focus", () => innerFocused.value = true);
2803
+ useEventListener(targetElement, "blur", () => innerFocused.value = false);
2715
2804
  const focused = vueDemi.computed({
2716
- get() {
2717
- return index.isDef(activeElement.value) && index.isDef(targetElement.value) && activeElement.value === targetElement.value;
2718
- },
2805
+ get: () => innerFocused.value,
2719
2806
  set(value) {
2720
2807
  var _a, _b;
2721
- if (!value && focused.value)
2808
+ if (!value && innerFocused.value)
2722
2809
  (_a = targetElement.value) == null ? void 0 : _a.blur();
2723
- if (value && !focused.value)
2810
+ else if (value && !innerFocused.value)
2724
2811
  (_b = targetElement.value) == null ? void 0 : _b.focus();
2725
2812
  }
2726
2813
  });
@@ -2979,7 +3066,8 @@ function useGeolocation(options = {}) {
2979
3066
  enableHighAccuracy = true,
2980
3067
  maximumAge = 3e4,
2981
3068
  timeout = 27e3,
2982
- navigator = defaultNavigator
3069
+ navigator = defaultNavigator,
3070
+ immediate = true
2983
3071
  } = options;
2984
3072
  const isSupported = useSupported(() => navigator && "geolocation" in navigator);
2985
3073
  const locatedAt = vueDemi.ref(null);
@@ -3008,7 +3096,8 @@ function useGeolocation(options = {}) {
3008
3096
  });
3009
3097
  }
3010
3098
  }
3011
- resume();
3099
+ if (immediate)
3100
+ resume();
3012
3101
  function pause() {
3013
3102
  if (watcher && navigator)
3014
3103
  navigator.geolocation.clearWatch(watcher);
@@ -3060,19 +3149,19 @@ function useIdle(timeout = oneMinute, options = {}) {
3060
3149
  return { idle, lastActive };
3061
3150
  }
3062
3151
 
3063
- var __defProp$9 = Object.defineProperty;
3064
- var __getOwnPropSymbols$a = Object.getOwnPropertySymbols;
3065
- var __hasOwnProp$a = Object.prototype.hasOwnProperty;
3066
- var __propIsEnum$a = Object.prototype.propertyIsEnumerable;
3067
- var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3068
- var __spreadValues$9 = (a, b) => {
3152
+ var __defProp$a = Object.defineProperty;
3153
+ var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
3154
+ var __hasOwnProp$b = Object.prototype.hasOwnProperty;
3155
+ var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
3156
+ var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3157
+ var __spreadValues$a = (a, b) => {
3069
3158
  for (var prop in b || (b = {}))
3070
- if (__hasOwnProp$a.call(b, prop))
3071
- __defNormalProp$9(a, prop, b[prop]);
3072
- if (__getOwnPropSymbols$a)
3073
- for (var prop of __getOwnPropSymbols$a(b)) {
3074
- if (__propIsEnum$a.call(b, prop))
3075
- __defNormalProp$9(a, prop, b[prop]);
3159
+ if (__hasOwnProp$b.call(b, prop))
3160
+ __defNormalProp$a(a, prop, b[prop]);
3161
+ if (__getOwnPropSymbols$b)
3162
+ for (var prop of __getOwnPropSymbols$b(b)) {
3163
+ if (__propIsEnum$b.call(b, prop))
3164
+ __defNormalProp$a(a, prop, b[prop]);
3076
3165
  }
3077
3166
  return a;
3078
3167
  };
@@ -3090,7 +3179,7 @@ async function loadImage(options) {
3090
3179
  });
3091
3180
  }
3092
3181
  const useImage = (options, asyncStateOptions = {}) => {
3093
- const state = useAsyncState(() => loadImage(index.resolveUnref(options)), void 0, __spreadValues$9({
3182
+ const state = useAsyncState(() => loadImage(index.resolveUnref(options)), void 0, __spreadValues$a({
3094
3183
  resetOnExecute: true
3095
3184
  }, asyncStateOptions));
3096
3185
  vueDemi.watch(() => index.resolveUnref(options), () => state.execute(asyncStateOptions.delay), { deep: true });
@@ -3158,14 +3247,17 @@ function useScroll(element, options = {}) {
3158
3247
  top: false,
3159
3248
  bottom: false
3160
3249
  });
3161
- const onScrollEnd = index.useDebounceFn((e) => {
3250
+ const onScrollEnd = (e) => {
3251
+ if (!isScrolling.value)
3252
+ return;
3162
3253
  isScrolling.value = false;
3163
3254
  directions.left = false;
3164
3255
  directions.right = false;
3165
3256
  directions.top = false;
3166
3257
  directions.bottom = false;
3167
3258
  onStop(e);
3168
- }, throttle + idle);
3259
+ };
3260
+ const onScrollEndDebounced = index.useDebounceFn(onScrollEnd, throttle + idle);
3169
3261
  const onScrollHandler = (e) => {
3170
3262
  const eventTarget = e.target === document ? e.target.documentElement : e.target;
3171
3263
  const scrollLeft = eventTarget.scrollLeft;
@@ -3183,10 +3275,11 @@ function useScroll(element, options = {}) {
3183
3275
  arrivedState.bottom = scrollTop + eventTarget.clientHeight >= eventTarget.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;
3184
3276
  internalY.value = scrollTop;
3185
3277
  isScrolling.value = true;
3186
- onScrollEnd(e);
3278
+ onScrollEndDebounced(e);
3187
3279
  onScroll(e);
3188
3280
  };
3189
3281
  useEventListener(element, "scroll", throttle ? index.useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler, eventListenerOptions);
3282
+ useEventListener(element, "scrollend", onScrollEnd, eventListenerOptions);
3190
3283
  return {
3191
3284
  x,
3192
3285
  y,
@@ -3196,21 +3289,21 @@ function useScroll(element, options = {}) {
3196
3289
  };
3197
3290
  }
3198
3291
 
3199
- var __defProp$8 = Object.defineProperty;
3292
+ var __defProp$9 = Object.defineProperty;
3200
3293
  var __defProps$2 = Object.defineProperties;
3201
3294
  var __getOwnPropDescs$2 = Object.getOwnPropertyDescriptors;
3202
- var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
3203
- var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
3204
- var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
3205
- var __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3206
- var __spreadValues$8 = (a, b) => {
3295
+ var __getOwnPropSymbols$a = Object.getOwnPropertySymbols;
3296
+ var __hasOwnProp$a = Object.prototype.hasOwnProperty;
3297
+ var __propIsEnum$a = Object.prototype.propertyIsEnumerable;
3298
+ var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3299
+ var __spreadValues$9 = (a, b) => {
3207
3300
  for (var prop in b || (b = {}))
3208
- if (__hasOwnProp$9.call(b, prop))
3209
- __defNormalProp$8(a, prop, b[prop]);
3210
- if (__getOwnPropSymbols$9)
3211
- for (var prop of __getOwnPropSymbols$9(b)) {
3212
- if (__propIsEnum$9.call(b, prop))
3213
- __defNormalProp$8(a, prop, b[prop]);
3301
+ if (__hasOwnProp$a.call(b, prop))
3302
+ __defNormalProp$9(a, prop, b[prop]);
3303
+ if (__getOwnPropSymbols$a)
3304
+ for (var prop of __getOwnPropSymbols$a(b)) {
3305
+ if (__propIsEnum$a.call(b, prop))
3306
+ __defNormalProp$9(a, prop, b[prop]);
3214
3307
  }
3215
3308
  return a;
3216
3309
  };
@@ -3218,8 +3311,8 @@ var __spreadProps$2 = (a, b) => __defProps$2(a, __getOwnPropDescs$2(b));
3218
3311
  function useInfiniteScroll(element, onLoadMore, options = {}) {
3219
3312
  var _a, _b;
3220
3313
  const direction = (_a = options.direction) != null ? _a : "bottom";
3221
- const state = vueDemi.reactive(useScroll(element, __spreadProps$2(__spreadValues$8({}, options), {
3222
- offset: __spreadValues$8({
3314
+ const state = vueDemi.reactive(useScroll(element, __spreadProps$2(__spreadValues$9({}, options), {
3315
+ offset: __spreadValues$9({
3223
3316
  [direction]: (_b = options.distance) != null ? _b : 0
3224
3317
  }, options.offset)
3225
3318
  })));
@@ -3326,9 +3419,12 @@ function useMagicKeys(options = {}) {
3326
3419
  onEventFired = index.noop
3327
3420
  } = options;
3328
3421
  const current = vueDemi.reactive(new Set());
3329
- const obj = { toJSON() {
3330
- return {};
3331
- }, current };
3422
+ const obj = {
3423
+ toJSON() {
3424
+ return {};
3425
+ },
3426
+ current
3427
+ };
3332
3428
  const refs = useReactive ? vueDemi.reactive(obj) : obj;
3333
3429
  const metaDeps = new Set();
3334
3430
  const usedKeys = new Set();
@@ -3341,6 +3437,7 @@ function useMagicKeys(options = {}) {
3341
3437
  }
3342
3438
  }
3343
3439
  function reset() {
3440
+ current.clear();
3344
3441
  for (const key of usedKeys)
3345
3442
  setRefs(key, false);
3346
3443
  }
@@ -3401,19 +3498,19 @@ function useMagicKeys(options = {}) {
3401
3498
  return proxy;
3402
3499
  }
3403
3500
 
3404
- var __defProp$7 = Object.defineProperty;
3405
- var __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;
3406
- var __hasOwnProp$8 = Object.prototype.hasOwnProperty;
3407
- var __propIsEnum$8 = Object.prototype.propertyIsEnumerable;
3408
- var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3409
- var __spreadValues$7 = (a, b) => {
3501
+ var __defProp$8 = Object.defineProperty;
3502
+ var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
3503
+ var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
3504
+ var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
3505
+ var __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3506
+ var __spreadValues$8 = (a, b) => {
3410
3507
  for (var prop in b || (b = {}))
3411
- if (__hasOwnProp$8.call(b, prop))
3412
- __defNormalProp$7(a, prop, b[prop]);
3413
- if (__getOwnPropSymbols$8)
3414
- for (var prop of __getOwnPropSymbols$8(b)) {
3415
- if (__propIsEnum$8.call(b, prop))
3416
- __defNormalProp$7(a, prop, b[prop]);
3508
+ if (__hasOwnProp$9.call(b, prop))
3509
+ __defNormalProp$8(a, prop, b[prop]);
3510
+ if (__getOwnPropSymbols$9)
3511
+ for (var prop of __getOwnPropSymbols$9(b)) {
3512
+ if (__propIsEnum$9.call(b, prop))
3513
+ __defNormalProp$8(a, prop, b[prop]);
3417
3514
  }
3418
3515
  return a;
3419
3516
  };
@@ -3435,7 +3532,7 @@ const defaultOptions = {
3435
3532
  tracks: []
3436
3533
  };
3437
3534
  function useMediaControls(target, options = {}) {
3438
- options = __spreadValues$7(__spreadValues$7({}, defaultOptions), options);
3535
+ options = __spreadValues$8(__spreadValues$8({}, defaultOptions), options);
3439
3536
  const {
3440
3537
  document = defaultDocument
3441
3538
  } = options;
@@ -3580,7 +3677,10 @@ function useMediaControls(target, options = {}) {
3580
3677
  useEventListener(target, "seeking", () => seeking.value = true);
3581
3678
  useEventListener(target, "seeked", () => seeking.value = false);
3582
3679
  useEventListener(target, "waiting", () => waiting.value = true);
3583
- useEventListener(target, "playing", () => waiting.value = false);
3680
+ useEventListener(target, "playing", () => {
3681
+ waiting.value = false;
3682
+ ended.value = false;
3683
+ });
3584
3684
  useEventListener(target, "ratechange", () => rate.value = index.resolveUnref(target).playbackRate);
3585
3685
  useEventListener(target, "stalled", () => stalled.value = true);
3586
3686
  useEventListener(target, "ended", () => ended.value = true);
@@ -3717,6 +3817,9 @@ function useMouse(options = {}) {
3717
3817
  } else if (type === "client") {
3718
3818
  x.value = event.clientX;
3719
3819
  y.value = event.clientY;
3820
+ } else if (type === "movement") {
3821
+ x.value = event.movementX;
3822
+ y.value = event.movementY;
3720
3823
  }
3721
3824
  sourceType.value = "mouse";
3722
3825
  };
@@ -3746,7 +3849,7 @@ function useMouse(options = {}) {
3746
3849
  if (window) {
3747
3850
  useEventListener(window, "mousemove", mouseHandlerWrapper, { passive: true });
3748
3851
  useEventListener(window, "dragover", mouseHandlerWrapper, { passive: true });
3749
- if (touch) {
3852
+ if (touch && type !== "movement") {
3750
3853
  useEventListener(window, "touchstart", touchHandlerWrapper, { passive: true });
3751
3854
  useEventListener(window, "touchmove", touchHandlerWrapper, { passive: true });
3752
3855
  if (resetOnTouchEnds)
@@ -3799,6 +3902,9 @@ function useMouseInElement(target, options = {}) {
3799
3902
  elementY.value = elY;
3800
3903
  }
3801
3904
  }, { immediate: true });
3905
+ useEventListener(document, "mouseleave", () => {
3906
+ isOutside.value = true;
3907
+ });
3802
3908
  }
3803
3909
  return {
3804
3910
  x,
@@ -3858,17 +3964,17 @@ function useMousePressed(options = {}) {
3858
3964
  };
3859
3965
  }
3860
3966
 
3861
- var __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;
3862
- var __hasOwnProp$7 = Object.prototype.hasOwnProperty;
3863
- var __propIsEnum$7 = Object.prototype.propertyIsEnumerable;
3967
+ var __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;
3968
+ var __hasOwnProp$8 = Object.prototype.hasOwnProperty;
3969
+ var __propIsEnum$8 = Object.prototype.propertyIsEnumerable;
3864
3970
  var __objRest$1 = (source, exclude) => {
3865
3971
  var target = {};
3866
3972
  for (var prop in source)
3867
- if (__hasOwnProp$7.call(source, prop) && exclude.indexOf(prop) < 0)
3973
+ if (__hasOwnProp$8.call(source, prop) && exclude.indexOf(prop) < 0)
3868
3974
  target[prop] = source[prop];
3869
- if (source != null && __getOwnPropSymbols$7)
3870
- for (var prop of __getOwnPropSymbols$7(source)) {
3871
- if (exclude.indexOf(prop) < 0 && __propIsEnum$7.call(source, prop))
3975
+ if (source != null && __getOwnPropSymbols$8)
3976
+ for (var prop of __getOwnPropSymbols$8(source)) {
3977
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$8.call(source, prop))
3872
3978
  target[prop] = source[prop];
3873
3979
  }
3874
3980
  return target;
@@ -3972,19 +4078,19 @@ function useNetwork(options = {}) {
3972
4078
  };
3973
4079
  }
3974
4080
 
3975
- var __defProp$6 = Object.defineProperty;
3976
- var __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;
3977
- var __hasOwnProp$6 = Object.prototype.hasOwnProperty;
3978
- var __propIsEnum$6 = Object.prototype.propertyIsEnumerable;
3979
- var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3980
- var __spreadValues$6 = (a, b) => {
4081
+ var __defProp$7 = Object.defineProperty;
4082
+ var __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;
4083
+ var __hasOwnProp$7 = Object.prototype.hasOwnProperty;
4084
+ var __propIsEnum$7 = Object.prototype.propertyIsEnumerable;
4085
+ var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4086
+ var __spreadValues$7 = (a, b) => {
3981
4087
  for (var prop in b || (b = {}))
3982
- if (__hasOwnProp$6.call(b, prop))
3983
- __defNormalProp$6(a, prop, b[prop]);
3984
- if (__getOwnPropSymbols$6)
3985
- for (var prop of __getOwnPropSymbols$6(b)) {
3986
- if (__propIsEnum$6.call(b, prop))
3987
- __defNormalProp$6(a, prop, b[prop]);
4088
+ if (__hasOwnProp$7.call(b, prop))
4089
+ __defNormalProp$7(a, prop, b[prop]);
4090
+ if (__getOwnPropSymbols$7)
4091
+ for (var prop of __getOwnPropSymbols$7(b)) {
4092
+ if (__propIsEnum$7.call(b, prop))
4093
+ __defNormalProp$7(a, prop, b[prop]);
3988
4094
  }
3989
4095
  return a;
3990
4096
  };
@@ -3997,7 +4103,7 @@ function useNow(options = {}) {
3997
4103
  const update = () => now.value = new Date();
3998
4104
  const controls = interval === "requestAnimationFrame" ? useRafFn(update, { immediate: true }) : index.useIntervalFn(update, interval, { immediate: true });
3999
4105
  if (exposeControls) {
4000
- return __spreadValues$6({
4106
+ return __spreadValues$7({
4001
4107
  now
4002
4108
  }, controls);
4003
4109
  } else {
@@ -4022,6 +4128,8 @@ function useObjectUrl(object) {
4022
4128
  }
4023
4129
 
4024
4130
  function useClamp(value, min, max) {
4131
+ if (index.isFunction(value) || vueDemi.isReadonly(value))
4132
+ return vueDemi.computed(() => index.clamp(index.resolveUnref(value), index.resolveUnref(min), index.resolveUnref(max)));
4025
4133
  const _value = vueDemi.ref(value);
4026
4134
  return vueDemi.computed({
4027
4135
  get() {
@@ -4142,21 +4250,21 @@ function useParallax(target, options = {}) {
4142
4250
  return { roll, tilt, source };
4143
4251
  }
4144
4252
 
4145
- var __defProp$5 = Object.defineProperty;
4253
+ var __defProp$6 = Object.defineProperty;
4146
4254
  var __defProps$1 = Object.defineProperties;
4147
4255
  var __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;
4148
- var __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;
4149
- var __hasOwnProp$5 = Object.prototype.hasOwnProperty;
4150
- var __propIsEnum$5 = Object.prototype.propertyIsEnumerable;
4151
- var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4152
- var __spreadValues$5 = (a, b) => {
4256
+ var __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;
4257
+ var __hasOwnProp$6 = Object.prototype.hasOwnProperty;
4258
+ var __propIsEnum$6 = Object.prototype.propertyIsEnumerable;
4259
+ var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4260
+ var __spreadValues$6 = (a, b) => {
4153
4261
  for (var prop in b || (b = {}))
4154
- if (__hasOwnProp$5.call(b, prop))
4155
- __defNormalProp$5(a, prop, b[prop]);
4156
- if (__getOwnPropSymbols$5)
4157
- for (var prop of __getOwnPropSymbols$5(b)) {
4158
- if (__propIsEnum$5.call(b, prop))
4159
- __defNormalProp$5(a, prop, b[prop]);
4262
+ if (__hasOwnProp$6.call(b, prop))
4263
+ __defNormalProp$6(a, prop, b[prop]);
4264
+ if (__getOwnPropSymbols$6)
4265
+ for (var prop of __getOwnPropSymbols$6(b)) {
4266
+ if (__propIsEnum$6.call(b, prop))
4267
+ __defNormalProp$6(a, prop, b[prop]);
4160
4268
  }
4161
4269
  return a;
4162
4270
  };
@@ -4192,11 +4300,63 @@ function usePointer(options = {}) {
4192
4300
  useEventListener(target, "pointermove", handler, { passive: true });
4193
4301
  useEventListener(target, "pointerleave", () => isInside.value = false, { passive: true });
4194
4302
  }
4195
- return __spreadProps$1(__spreadValues$5({}, index.toRefs(state)), {
4303
+ return __spreadProps$1(__spreadValues$6({}, index.toRefs(state)), {
4196
4304
  isInside
4197
4305
  });
4198
4306
  }
4199
4307
 
4308
+ function usePointerLock(target, options = {}) {
4309
+ const { document = defaultDocument, pointerLockOptions } = options;
4310
+ const isSupported = useSupported(() => document && "pointerLockElement" in document);
4311
+ const element = vueDemi.ref();
4312
+ const triggerElement = vueDemi.ref();
4313
+ let targetElement;
4314
+ if (isSupported.value) {
4315
+ useEventListener(document, "pointerlockchange", () => {
4316
+ var _a;
4317
+ const currentElement = (_a = document.pointerLockElement) != null ? _a : element.value;
4318
+ if (targetElement && currentElement === targetElement) {
4319
+ element.value = document.pointerLockElement;
4320
+ if (!element.value)
4321
+ targetElement = triggerElement.value = null;
4322
+ }
4323
+ });
4324
+ useEventListener(document, "pointerlockerror", () => {
4325
+ var _a;
4326
+ const currentElement = (_a = document.pointerLockElement) != null ? _a : element.value;
4327
+ if (targetElement && currentElement === targetElement) {
4328
+ const action = document.pointerLockElement ? "release" : "acquire";
4329
+ throw new Error(`Failed to ${action} pointer lock.`);
4330
+ }
4331
+ });
4332
+ }
4333
+ async function lock(e, options2) {
4334
+ var _a;
4335
+ if (!isSupported.value)
4336
+ throw new Error("Pointer Lock API is not supported by your browser.");
4337
+ triggerElement.value = e instanceof Event ? e.currentTarget : null;
4338
+ targetElement = e instanceof Event ? (_a = unrefElement(target)) != null ? _a : triggerElement.value : unrefElement(e);
4339
+ if (!targetElement)
4340
+ throw new Error("Target element undefined.");
4341
+ targetElement.requestPointerLock(options2 != null ? options2 : pointerLockOptions);
4342
+ return await index.until(element).toBe(targetElement);
4343
+ }
4344
+ async function unlock() {
4345
+ if (!element.value)
4346
+ return false;
4347
+ document.exitPointerLock();
4348
+ await index.until(element).toBeNull();
4349
+ return true;
4350
+ }
4351
+ return {
4352
+ isSupported,
4353
+ element,
4354
+ triggerElement,
4355
+ lock,
4356
+ unlock
4357
+ };
4358
+ }
4359
+
4200
4360
  exports.SwipeDirection = void 0;
4201
4361
  (function(SwipeDirection2) {
4202
4362
  SwipeDirection2["UP"] = "UP";
@@ -4433,6 +4593,14 @@ function usePreferredReducedMotion(options) {
4433
4593
  });
4434
4594
  }
4435
4595
 
4596
+ function usePrevious(value, initialValue) {
4597
+ const previous = vueDemi.shallowRef(initialValue);
4598
+ vueDemi.watch(index.resolveRef(value), (_, oldValue) => {
4599
+ previous.value = oldValue;
4600
+ }, { flush: "sync" });
4601
+ return vueDemi.readonly(previous);
4602
+ }
4603
+
4436
4604
  const useScreenOrientation = (options = {}) => {
4437
4605
  const {
4438
4606
  window = defaultWindow
@@ -4583,8 +4751,22 @@ function useScriptTag(src, onLoaded = index.noop, options = {}) {
4583
4751
  return { scriptTag, load, unload };
4584
4752
  }
4585
4753
 
4754
+ function checkOverflowScroll(ele) {
4755
+ const style = window.getComputedStyle(ele);
4756
+ if (style.overflowX === "scroll" || style.overflowY === "scroll" || style.overflowX === "auto" && ele.clientHeight < ele.scrollHeight || style.overflowY === "auto" && ele.clientWidth < ele.scrollWidth) {
4757
+ return true;
4758
+ } else {
4759
+ const parent = ele.parentNode;
4760
+ if (!parent || parent.tagName === "BODY")
4761
+ return false;
4762
+ return checkOverflowScroll(parent);
4763
+ }
4764
+ }
4586
4765
  function preventDefault(rawEvent) {
4587
4766
  const e = rawEvent || window.event;
4767
+ const _target = e.target;
4768
+ if (checkOverflowScroll(_target))
4769
+ return false;
4588
4770
  if (e.touches.length > 1)
4589
4771
  return true;
4590
4772
  if (e.preventDefault)
@@ -4610,7 +4792,9 @@ function useScrollLock(element, initialState = false) {
4610
4792
  if (!ele || isLocked.value)
4611
4793
  return;
4612
4794
  if (index.isIOS) {
4613
- stopTouchMoveListener = useEventListener(ele, "touchmove", preventDefault, { passive: false });
4795
+ stopTouchMoveListener = useEventListener(ele, "touchmove", (e) => {
4796
+ preventDefault(e);
4797
+ }, { passive: false });
4614
4798
  }
4615
4799
  ele.style.overflow = "hidden";
4616
4800
  isLocked.value = true;
@@ -4642,19 +4826,19 @@ function useSessionStorage(key, initialValue, options = {}) {
4642
4826
  return useStorage(key, initialValue, window == null ? void 0 : window.sessionStorage, options);
4643
4827
  }
4644
4828
 
4645
- var __defProp$4 = Object.defineProperty;
4646
- var __getOwnPropSymbols$4 = Object.getOwnPropertySymbols;
4647
- var __hasOwnProp$4 = Object.prototype.hasOwnProperty;
4648
- var __propIsEnum$4 = Object.prototype.propertyIsEnumerable;
4649
- var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4650
- var __spreadValues$4 = (a, b) => {
4829
+ var __defProp$5 = Object.defineProperty;
4830
+ var __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;
4831
+ var __hasOwnProp$5 = Object.prototype.hasOwnProperty;
4832
+ var __propIsEnum$5 = Object.prototype.propertyIsEnumerable;
4833
+ var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4834
+ var __spreadValues$5 = (a, b) => {
4651
4835
  for (var prop in b || (b = {}))
4652
- if (__hasOwnProp$4.call(b, prop))
4653
- __defNormalProp$4(a, prop, b[prop]);
4654
- if (__getOwnPropSymbols$4)
4655
- for (var prop of __getOwnPropSymbols$4(b)) {
4656
- if (__propIsEnum$4.call(b, prop))
4657
- __defNormalProp$4(a, prop, b[prop]);
4836
+ if (__hasOwnProp$5.call(b, prop))
4837
+ __defNormalProp$5(a, prop, b[prop]);
4838
+ if (__getOwnPropSymbols$5)
4839
+ for (var prop of __getOwnPropSymbols$5(b)) {
4840
+ if (__propIsEnum$5.call(b, prop))
4841
+ __defNormalProp$5(a, prop, b[prop]);
4658
4842
  }
4659
4843
  return a;
4660
4844
  };
@@ -4664,7 +4848,7 @@ function useShare(shareOptions = {}, options = {}) {
4664
4848
  const isSupported = useSupported(() => _navigator && "canShare" in _navigator);
4665
4849
  const share = async (overrideOptions = {}) => {
4666
4850
  if (isSupported.value) {
4667
- const data = __spreadValues$4(__spreadValues$4({}, index.resolveUnref(shareOptions)), index.resolveUnref(overrideOptions));
4851
+ const data = __spreadValues$5(__spreadValues$5({}, index.resolveUnref(shareOptions)), index.resolveUnref(overrideOptions));
4668
4852
  let granted = true;
4669
4853
  if (data.files && _navigator.canShare)
4670
4854
  granted = _navigator.canShare({ files: data.files });
@@ -4839,6 +5023,10 @@ function useSpeechSynthesis(text, options = {}) {
4839
5023
  synth.cancel();
4840
5024
  utterance && synth.speak(utterance.value);
4841
5025
  };
5026
+ const stop = () => {
5027
+ synth.cancel();
5028
+ isPlaying.value = false;
5029
+ };
4842
5030
  if (isSupported.value) {
4843
5031
  bindEventsForUtterance(utterance.value);
4844
5032
  vueDemi.watch(lang, (lang2) => {
@@ -4866,6 +5054,7 @@ function useSpeechSynthesis(text, options = {}) {
4866
5054
  status,
4867
5055
  utterance,
4868
5056
  error,
5057
+ stop,
4869
5058
  toggle,
4870
5059
  speak
4871
5060
  };
@@ -4946,6 +5135,22 @@ function useStepper(steps, initialStep) {
4946
5135
  };
4947
5136
  }
4948
5137
 
5138
+ var __defProp$4 = Object.defineProperty;
5139
+ var __getOwnPropSymbols$4 = Object.getOwnPropertySymbols;
5140
+ var __hasOwnProp$4 = Object.prototype.hasOwnProperty;
5141
+ var __propIsEnum$4 = Object.prototype.propertyIsEnumerable;
5142
+ var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
5143
+ var __spreadValues$4 = (a, b) => {
5144
+ for (var prop in b || (b = {}))
5145
+ if (__hasOwnProp$4.call(b, prop))
5146
+ __defNormalProp$4(a, prop, b[prop]);
5147
+ if (__getOwnPropSymbols$4)
5148
+ for (var prop of __getOwnPropSymbols$4(b)) {
5149
+ if (__propIsEnum$4.call(b, prop))
5150
+ __defNormalProp$4(a, prop, b[prop]);
5151
+ }
5152
+ return a;
5153
+ };
4949
5154
  function useStorageAsync(key, initialValue, storage, options = {}) {
4950
5155
  var _a;
4951
5156
  const {
@@ -4953,6 +5158,7 @@ function useStorageAsync(key, initialValue, storage, options = {}) {
4953
5158
  deep = true,
4954
5159
  listenToStorageChanges = true,
4955
5160
  writeDefaults = true,
5161
+ mergeDefaults = false,
4956
5162
  shallow,
4957
5163
  window = defaultWindow,
4958
5164
  eventFilter,
@@ -4983,6 +5189,14 @@ function useStorageAsync(key, initialValue, storage, options = {}) {
4983
5189
  data.value = rawInit;
4984
5190
  if (writeDefaults && rawInit !== null)
4985
5191
  await storage.setItem(key, await serializer.write(rawInit));
5192
+ } else if (mergeDefaults) {
5193
+ const value = await serializer.read(rawValue);
5194
+ if (index.isFunction(mergeDefaults))
5195
+ data.value = mergeDefaults(value, rawInit);
5196
+ else if (type === "object" && !Array.isArray(value))
5197
+ data.value = __spreadValues$4(__spreadValues$4({}, rawInit), value);
5198
+ else
5199
+ data.value = value;
4986
5200
  } else {
4987
5201
  data.value = await serializer.read(rawValue);
4988
5202
  }
@@ -5038,7 +5252,7 @@ function useStyleTag(css, options = {}) {
5038
5252
  if (isLoaded.value)
5039
5253
  return;
5040
5254
  stop = vueDemi.watch(cssRef, (value) => {
5041
- el.innerText = value;
5255
+ el.textContent = value;
5042
5256
  }, { immediate: true });
5043
5257
  isLoaded.value = true;
5044
5258
  };
@@ -5155,6 +5369,7 @@ function useTextareaAutosize(options) {
5155
5369
  (_b = options == null ? void 0 : options.onResize) == null ? void 0 : _b.call(options);
5156
5370
  }
5157
5371
  vueDemi.watch([input, textarea], triggerResize, { immediate: true });
5372
+ useResizeObserver(textarea, () => triggerResize());
5158
5373
  if (options == null ? void 0 : options.watch)
5159
5374
  vueDemi.watch(options.watch, triggerResize, { immediate: true, deep: true });
5160
5375
  return {
@@ -5218,7 +5433,7 @@ var __objRest = (source, exclude) => {
5218
5433
  }
5219
5434
  return target;
5220
5435
  };
5221
- const UNITS = [
5436
+ const DEFAULT_UNITS = [
5222
5437
  { max: 6e4, value: 1e3, name: "second" },
5223
5438
  { max: 276e4, value: 6e4, name: "minute" },
5224
5439
  { max: 72e6, value: 36e5, name: "hour" },
@@ -5237,37 +5452,46 @@ const DEFAULT_MESSAGES = {
5237
5452
  week: (n, past) => n === 1 ? past ? "last week" : "next week" : `${n} week${n > 1 ? "s" : ""}`,
5238
5453
  hour: (n) => `${n} hour${n > 1 ? "s" : ""}`,
5239
5454
  minute: (n) => `${n} minute${n > 1 ? "s" : ""}`,
5240
- second: (n) => `${n} second${n > 1 ? "s" : ""}`
5455
+ second: (n) => `${n} second${n > 1 ? "s" : ""}`,
5456
+ invalid: ""
5241
5457
  };
5242
5458
  const DEFAULT_FORMATTER = (date) => date.toISOString().slice(0, 10);
5243
5459
  function useTimeAgo(time, options = {}) {
5244
5460
  const {
5245
5461
  controls: exposeControls = false,
5462
+ updateInterval = 3e4
5463
+ } = options;
5464
+ const _a = useNow({ interval: updateInterval, controls: true }), { now } = _a, controls = __objRest(_a, ["now"]);
5465
+ const timeAgo = vueDemi.computed(() => formatTimeAgo(new Date(index.resolveUnref(time)), options, vueDemi.unref(now.value)));
5466
+ if (exposeControls) {
5467
+ return __spreadValues$2({
5468
+ timeAgo
5469
+ }, controls);
5470
+ } else {
5471
+ return timeAgo;
5472
+ }
5473
+ }
5474
+ function formatTimeAgo(from, options = {}, now = Date.now()) {
5475
+ var _a;
5476
+ const {
5246
5477
  max,
5247
- updateInterval = 3e4,
5248
5478
  messages = DEFAULT_MESSAGES,
5249
5479
  fullDateFormatter = DEFAULT_FORMATTER,
5250
- showSecond = false
5480
+ units = DEFAULT_UNITS,
5481
+ showSecond = false,
5482
+ rounding = "round"
5251
5483
  } = options;
5252
- const { abs, round } = Math;
5253
- const _a = useNow({ interval: updateInterval, controls: true }), { now } = _a, controls = __objRest(_a, ["now"]);
5254
- function getTimeAgo(from, now2) {
5255
- var _a2;
5256
- const diff = +now2 - +from;
5257
- const absDiff = abs(diff);
5258
- if (absDiff < 6e4 && !showSecond)
5259
- return messages.justNow;
5260
- if (typeof max === "number" && absDiff > max)
5261
- return fullDateFormatter(new Date(from));
5262
- if (typeof max === "string") {
5263
- const unitMax = (_a2 = UNITS.find((i) => i.name === max)) == null ? void 0 : _a2.max;
5264
- if (unitMax && absDiff > unitMax)
5265
- return fullDateFormatter(new Date(from));
5266
- }
5267
- for (const unit of UNITS) {
5268
- if (absDiff < unit.max)
5269
- return format(diff, unit);
5270
- }
5484
+ const roundFn = typeof rounding === "number" ? (n) => +n.toFixed(rounding) : Math[rounding];
5485
+ const diff = +now - +from;
5486
+ const absDiff = Math.abs(diff);
5487
+ function getValue(diff2, unit) {
5488
+ return roundFn(Math.abs(diff2) / unit.value);
5489
+ }
5490
+ function format(diff2, unit) {
5491
+ const val = getValue(diff2, unit);
5492
+ const past = diff2 > 0;
5493
+ const str = applyFormat(unit.name, val, past);
5494
+ return applyFormat(past ? "past" : "future", str, past);
5271
5495
  }
5272
5496
  function applyFormat(name, val, isPast) {
5273
5497
  const formatter = messages[name];
@@ -5275,20 +5499,23 @@ function useTimeAgo(time, options = {}) {
5275
5499
  return formatter(val, isPast);
5276
5500
  return formatter.replace("{0}", val.toString());
5277
5501
  }
5278
- function format(diff, unit) {
5279
- const val = round(abs(diff) / unit.value);
5280
- const past = diff > 0;
5281
- const str = applyFormat(unit.name, val, past);
5282
- return applyFormat(past ? "past" : "future", str, past);
5502
+ if (absDiff < 6e4 && !showSecond)
5503
+ return messages.justNow;
5504
+ if (typeof max === "number" && absDiff > max)
5505
+ return fullDateFormatter(new Date(from));
5506
+ if (typeof max === "string") {
5507
+ const unitMax = (_a = units.find((i) => i.name === max)) == null ? void 0 : _a.max;
5508
+ if (unitMax && absDiff > unitMax)
5509
+ return fullDateFormatter(new Date(from));
5283
5510
  }
5284
- const timeAgo = vueDemi.computed(() => getTimeAgo(new Date(index.resolveUnref(time)), vueDemi.unref(now.value)));
5285
- if (exposeControls) {
5286
- return __spreadValues$2({
5287
- timeAgo
5288
- }, controls);
5289
- } else {
5290
- return timeAgo;
5511
+ for (const [idx, unit] of units.entries()) {
5512
+ const val = getValue(diff, unit);
5513
+ if (val <= 0 && units[idx - 1])
5514
+ return format(diff, units[idx - 1]);
5515
+ if (absDiff < unit.max)
5516
+ return format(diff, unit);
5291
5517
  }
5518
+ return messages.invalid;
5292
5519
  }
5293
5520
 
5294
5521
  function useTimeoutPoll(fn, interval, timeoutPollOptions) {
@@ -5776,7 +6003,7 @@ function useVirtualList(list, options) {
5776
6003
  wrapperProps
5777
6004
  };
5778
6005
  }
5779
- function useVirtualListResourses(list) {
6006
+ function useVirtualListResources(list) {
5780
6007
  const containerRef = vueDemi.ref(null);
5781
6008
  const size = useElementSize(containerRef);
5782
6009
  const currentList = vueDemi.ref([]);
@@ -5785,19 +6012,18 @@ function useVirtualListResourses(list) {
5785
6012
  return { state, source, currentList, size, containerRef };
5786
6013
  }
5787
6014
  function createGetViewCapacity(state, source, itemSize) {
5788
- return (containerHeight) => {
6015
+ return (containerSize) => {
5789
6016
  if (typeof itemSize === "number")
5790
- return Math.ceil(containerHeight / itemSize);
6017
+ return Math.ceil(containerSize / itemSize);
5791
6018
  const { start = 0 } = state.value;
5792
6019
  let sum = 0;
5793
6020
  let capacity = 0;
5794
6021
  for (let i = start; i < source.value.length; i++) {
5795
- const height = itemSize(i);
5796
- sum += height;
5797
- if (sum >= containerHeight) {
5798
- capacity = i;
6022
+ const size = itemSize(i);
6023
+ sum += size;
6024
+ capacity = i;
6025
+ if (sum > containerSize)
5799
6026
  break;
5800
- }
5801
6027
  }
5802
6028
  return capacity - start;
5803
6029
  };
@@ -5873,7 +6099,7 @@ function createScrollTo(type, calculateRange, getDistance, containerRef) {
5873
6099
  };
5874
6100
  }
5875
6101
  function useHorizontalVirtualList(options, list) {
5876
- const resources = useVirtualListResourses(list);
6102
+ const resources = useVirtualListResources(list);
5877
6103
  const { state, source, currentList, size, containerRef } = resources;
5878
6104
  const containerStyle = { overflowX: "auto" };
5879
6105
  const { itemWidth, overscan = 5 } = options;
@@ -5905,7 +6131,7 @@ function useHorizontalVirtualList(options, list) {
5905
6131
  };
5906
6132
  }
5907
6133
  function useVerticalVirtualList(options, list) {
5908
- const resources = useVirtualListResourses(list);
6134
+ const resources = useVirtualListResources(list);
5909
6135
  const { state, source, currentList, size, containerRef } = resources;
5910
6136
  const containerStyle = { overflowY: "auto" };
5911
6137
  const { itemHeight, overscan = 5 } = options;
@@ -6088,7 +6314,7 @@ function useWebSocket(url, options = {}) {
6088
6314
  return true;
6089
6315
  };
6090
6316
  const _init = () => {
6091
- if (explicitlyClosed)
6317
+ if (explicitlyClosed || typeof urlRef.value === "undefined")
6092
6318
  return;
6093
6319
  const ws = new WebSocket(urlRef.value, protocols);
6094
6320
  wsRef.value = ws;
@@ -6331,11 +6557,11 @@ function useWindowScroll({ window = defaultWindow } = {}) {
6331
6557
  y: vueDemi.ref(0)
6332
6558
  };
6333
6559
  }
6334
- const x = vueDemi.ref(window.pageXOffset);
6335
- const y = vueDemi.ref(window.pageYOffset);
6336
- useEventListener("scroll", () => {
6337
- x.value = window.pageXOffset;
6338
- y.value = window.pageYOffset;
6560
+ const x = vueDemi.ref(window.scrollX);
6561
+ const y = vueDemi.ref(window.scrollY);
6562
+ useEventListener(window, "scroll", () => {
6563
+ x.value = window.scrollX;
6564
+ y.value = window.scrollY;
6339
6565
  }, {
6340
6566
  capture: false,
6341
6567
  passive: true
@@ -6372,6 +6598,7 @@ function useWindowSize(options = {}) {
6372
6598
  return { width, height };
6373
6599
  }
6374
6600
 
6601
+ exports.__onlyVue27Plus = index.__onlyVue27Plus;
6375
6602
  exports.__onlyVue3 = index.__onlyVue3;
6376
6603
  exports.assert = index.assert;
6377
6604
  exports.autoResetRef = index.autoResetRef;
@@ -6452,10 +6679,12 @@ exports.useArrayEvery = index.useArrayEvery;
6452
6679
  exports.useArrayFilter = index.useArrayFilter;
6453
6680
  exports.useArrayFind = index.useArrayFind;
6454
6681
  exports.useArrayFindIndex = index.useArrayFindIndex;
6682
+ exports.useArrayFindLast = index.useArrayFindLast;
6455
6683
  exports.useArrayJoin = index.useArrayJoin;
6456
6684
  exports.useArrayMap = index.useArrayMap;
6457
6685
  exports.useArrayReduce = index.useArrayReduce;
6458
6686
  exports.useArraySome = index.useArraySome;
6687
+ exports.useArrayUnique = index.useArrayUnique;
6459
6688
  exports.useCounter = index.useCounter;
6460
6689
  exports.useDateFormat = index.useDateFormat;
6461
6690
  exports.useDebounce = index.debouncedRef;
@@ -6486,6 +6715,7 @@ exports.TransitionPresets = TransitionPresets;
6486
6715
  exports.asyncComputed = computedAsync;
6487
6716
  exports.breakpointsAntDesign = breakpointsAntDesign;
6488
6717
  exports.breakpointsBootstrapV5 = breakpointsBootstrapV5;
6718
+ exports.breakpointsMasterCss = breakpointsMasterCss;
6489
6719
  exports.breakpointsQuasar = breakpointsQuasar;
6490
6720
  exports.breakpointsSematic = breakpointsSematic;
6491
6721
  exports.breakpointsTailwind = breakpointsTailwind;
@@ -6495,10 +6725,12 @@ exports.computedAsync = computedAsync;
6495
6725
  exports.computedInject = computedInject;
6496
6726
  exports.createFetch = createFetch;
6497
6727
  exports.createUnrefFn = createUnrefFn;
6728
+ exports.customStorageEventName = customStorageEventName;
6498
6729
  exports.defaultDocument = defaultDocument;
6499
6730
  exports.defaultLocation = defaultLocation;
6500
6731
  exports.defaultNavigator = defaultNavigator;
6501
6732
  exports.defaultWindow = defaultWindow;
6733
+ exports.formatTimeAgo = formatTimeAgo;
6502
6734
  exports.getSSRHandler = getSSRHandler;
6503
6735
  exports.mapGamepadToXbox360Controller = mapGamepadToXbox360Controller;
6504
6736
  exports.onClickOutside = onClickOutside;
@@ -6584,12 +6816,14 @@ exports.usePageLeave = usePageLeave;
6584
6816
  exports.useParallax = useParallax;
6585
6817
  exports.usePermission = usePermission;
6586
6818
  exports.usePointer = usePointer;
6819
+ exports.usePointerLock = usePointerLock;
6587
6820
  exports.usePointerSwipe = usePointerSwipe;
6588
6821
  exports.usePreferredColorScheme = usePreferredColorScheme;
6589
6822
  exports.usePreferredContrast = usePreferredContrast;
6590
6823
  exports.usePreferredDark = usePreferredDark;
6591
6824
  exports.usePreferredLanguages = usePreferredLanguages;
6592
6825
  exports.usePreferredReducedMotion = usePreferredReducedMotion;
6826
+ exports.usePrevious = usePrevious;
6593
6827
  exports.useRafFn = useRafFn;
6594
6828
  exports.useRefHistory = useRefHistory;
6595
6829
  exports.useResizeObserver = useResizeObserver;