vuetify 3.4.9 → 3.4.11

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 (178) hide show
  1. package/dist/json/attributes.json +17 -9
  2. package/dist/json/importMap-labs.json +8 -8
  3. package/dist/json/importMap.json +106 -106
  4. package/dist/json/tags.json +2 -0
  5. package/dist/json/web-types.json +2541 -2499
  6. package/dist/vuetify-labs.css +2049 -2017
  7. package/dist/vuetify-labs.d.ts +1325 -142
  8. package/dist/vuetify-labs.esm.js +354 -298
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +354 -298
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +909 -900
  13. package/dist/vuetify.d.ts +1303 -120
  14. package/dist/vuetify.esm.js +351 -287
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +351 -287
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +765 -767
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAlert/VAlert.css +2 -2
  22. package/lib/components/VAppBar/VAppBar.css +1 -1
  23. package/lib/components/VAppBar/VAppBar.mjs +0 -1
  24. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  25. package/lib/components/VAutocomplete/VAutocomplete.css +2 -2
  26. package/lib/components/VAutocomplete/VAutocomplete.mjs +15 -2
  27. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  28. package/lib/components/VAutocomplete/VAutocomplete.sass +1 -1
  29. package/lib/components/VAutocomplete/_variables.scss +1 -0
  30. package/lib/components/VAvatar/VAvatar.css +2 -2
  31. package/lib/components/VBanner/VBanner.css +1 -1
  32. package/lib/components/VBottomNavigation/VBottomNavigation.css +1 -1
  33. package/lib/components/VBottomSheet/VBottomSheet.css +1 -1
  34. package/lib/components/VBtn/VBtn.css +4 -4
  35. package/lib/components/VBtn/VBtn.mjs +3 -1
  36. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  37. package/lib/components/VBtn/index.d.mts +21 -5
  38. package/lib/components/VBtnGroup/VBtnGroup.css +1 -1
  39. package/lib/components/VCard/VCard.css +5 -5
  40. package/lib/components/VCarousel/index.d.mts +5 -5
  41. package/lib/components/VChip/VChip.css +2 -2
  42. package/lib/components/VChip/VChip.mjs +2 -1
  43. package/lib/components/VChip/VChip.mjs.map +1 -1
  44. package/lib/components/VColorPicker/VColorPicker.css +3 -3
  45. package/lib/components/VCombobox/VCombobox.css +2 -2
  46. package/lib/components/VCombobox/VCombobox.mjs +15 -5
  47. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  48. package/lib/components/VCombobox/VCombobox.sass +2 -2
  49. package/lib/components/VCombobox/_variables.scss +2 -0
  50. package/lib/components/VDataIterator/VDataIterator.mjs +2 -1
  51. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  52. package/lib/components/VDataIterator/index.d.mts +7 -1
  53. package/lib/components/VDataTable/VDataTable.css +1 -1
  54. package/lib/components/VDataTable/VDataTable.mjs +2 -1
  55. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  56. package/lib/components/VDataTable/VDataTable.sass +1 -1
  57. package/lib/components/VDataTable/VDataTableFooter.css +9 -4
  58. package/lib/components/VDataTable/VDataTableFooter.mjs +33 -30
  59. package/lib/components/VDataTable/VDataTableFooter.mjs.map +1 -1
  60. package/lib/components/VDataTable/VDataTableFooter.sass +9 -4
  61. package/lib/components/VDataTable/VDataTableHeaders.mjs +2 -1
  62. package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
  63. package/lib/components/VDataTable/_variables.scss +5 -0
  64. package/lib/components/VDataTable/composables/paginate.mjs +6 -2
  65. package/lib/components/VDataTable/composables/paginate.mjs.map +1 -1
  66. package/lib/components/VDataTable/index.d.mts +7 -1
  67. package/lib/components/VDatePicker/VDatePicker.mjs +1 -1
  68. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  69. package/lib/components/VDatePicker/index.d.mts +82 -0
  70. package/lib/components/VDialog/VDialog.css +1 -1
  71. package/lib/components/VDialog/index.d.mts +3 -3
  72. package/lib/components/VExpansionPanel/VExpansionPanel.css +1 -1
  73. package/lib/components/VField/VField.css +2 -2
  74. package/lib/components/VFileInput/index.d.mts +3 -3
  75. package/lib/components/VFooter/VFooter.css +1 -1
  76. package/lib/components/VForm/index.d.mts +21 -21
  77. package/lib/components/VImg/index.d.mts +6 -6
  78. package/lib/components/VKbd/VKbd.css +1 -1
  79. package/lib/components/VList/VList.css +1 -1
  80. package/lib/components/VList/VList.mjs +7 -2
  81. package/lib/components/VList/VList.mjs.map +1 -1
  82. package/lib/components/VList/VListItem.css +6 -2
  83. package/lib/components/VList/VListItem.sass +4 -0
  84. package/lib/components/VList/_variables.scss +2 -0
  85. package/lib/components/VMenu/VMenu.css +1 -1
  86. package/lib/components/VMenu/index.d.mts +6 -6
  87. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +2 -2
  88. package/lib/components/VNavigationDrawer/index.d.mts +3 -3
  89. package/lib/components/VOverflowBtn/VOverflowBtn.mjs +0 -1
  90. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  91. package/lib/components/VOverlay/VOverlay.mjs +2 -2
  92. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  93. package/lib/components/VOverlay/locationStrategies.mjs +1 -4
  94. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  95. package/lib/components/VPagination/VPagination.mjs +10 -10
  96. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  97. package/lib/components/VPagination/index.d.mts +2 -2
  98. package/lib/components/VSelect/VSelect.css +1 -1
  99. package/lib/components/VSelect/VSelect.mjs +15 -3
  100. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  101. package/lib/components/VSelectionControl/VSelectionControl.mjs +6 -3
  102. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  103. package/lib/components/VSelectionControl/index.d.mts +3 -3
  104. package/lib/components/VSheet/VSheet.css +1 -1
  105. package/lib/components/VSlideGroup/index.d.mts +3 -3
  106. package/lib/components/VSlider/VSliderThumb.mjs +4 -3
  107. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  108. package/lib/components/VSnackbar/VSnackbar.css +2 -2
  109. package/lib/components/VSnackbar/index.d.mts +3 -3
  110. package/lib/components/VStepper/VStepper.css +3 -3
  111. package/lib/components/VSwitch/VSwitch.css +2 -2
  112. package/lib/components/VSystemBar/VSystemBar.css +1 -1
  113. package/lib/components/VTabs/VTab.css +2 -2
  114. package/lib/components/VTabs/VTab.mjs +6 -6
  115. package/lib/components/VTabs/VTab.mjs.map +1 -1
  116. package/lib/components/VTabs/VTab.sass +2 -2
  117. package/lib/components/VTabs/index.d.mts +1102 -3
  118. package/lib/components/VTextField/index.d.mts +6 -6
  119. package/lib/components/VTextarea/index.d.mts +3 -3
  120. package/lib/components/VTimeline/VTimeline.css +1 -1
  121. package/lib/components/VToolbar/VToolbar.css +2 -2
  122. package/lib/components/VTooltip/index.d.mts +3 -3
  123. package/lib/components/VTreeview/VTreeview.mjs +0 -1
  124. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  125. package/lib/components/VTreeview/VTreeviewNode.mjs +0 -1
  126. package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
  127. package/lib/components/VValidation/index.d.mts +6 -6
  128. package/lib/components/VWindow/VWindow.mjs +2 -2
  129. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  130. package/lib/components/VWindow/VWindowItem.mjs +0 -1
  131. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  132. package/lib/components/VWindow/index.d.mts +1 -1
  133. package/lib/components/index.d.mts +1268 -85
  134. package/lib/composables/calendar.mjs +10 -4
  135. package/lib/composables/calendar.mjs.map +1 -1
  136. package/lib/composables/date/adapters/vuetify.mjs +1 -2
  137. package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
  138. package/lib/composables/date/date.mjs +4 -8
  139. package/lib/composables/date/date.mjs.map +1 -1
  140. package/lib/composables/delay.mjs +19 -18
  141. package/lib/composables/delay.mjs.map +1 -1
  142. package/lib/composables/density.mjs +1 -0
  143. package/lib/composables/density.mjs.map +1 -1
  144. package/lib/composables/locale.mjs +46 -2
  145. package/lib/composables/locale.mjs.map +1 -1
  146. package/lib/entry-bundler.mjs +1 -1
  147. package/lib/entry-bundler.mjs.map +1 -1
  148. package/lib/framework.mjs +1 -1
  149. package/lib/framework.mjs.map +1 -1
  150. package/lib/index.d.mts +35 -35
  151. package/lib/labs/VCalendar/VCalendar.mjs +4 -8
  152. package/lib/labs/VCalendar/VCalendar.mjs.map +1 -1
  153. package/lib/labs/VCalendar/VCalendarDay.css +23 -0
  154. package/lib/labs/VCalendar/VCalendarDay.sass +24 -1
  155. package/lib/labs/VCalendar/index.d.mts +11 -11
  156. package/lib/labs/VPicker/VPicker.css +1 -1
  157. package/lib/labs/components.d.mts +11 -11
  158. package/lib/locale/cs.mjs +1 -1
  159. package/lib/locale/cs.mjs.map +1 -1
  160. package/lib/locale/index.d.mts +1 -45
  161. package/lib/locale/index.mjs +0 -43
  162. package/lib/locale/index.mjs.map +1 -1
  163. package/lib/locale/nl.mjs +2 -2
  164. package/lib/locale/nl.mjs.map +1 -1
  165. package/lib/locale/pt.mjs +17 -17
  166. package/lib/locale/pt.mjs.map +1 -1
  167. package/lib/locale/sk.mjs +22 -22
  168. package/lib/locale/sk.mjs.map +1 -1
  169. package/lib/styles/main.css +103 -103
  170. package/lib/styles/settings/_elevations.scss +1 -1
  171. package/lib/styles/settings/_utilities.scss +1 -0
  172. package/lib/util/helpers.mjs +9 -43
  173. package/lib/util/helpers.mjs.map +1 -1
  174. package/package.json +13 -12
  175. package/lib/components/VDatePicker/utils.mjs +0 -69
  176. package/lib/components/VDatePicker/utils.mjs.map +0 -1
  177. package/lib/util/dateTimeUtils.mjs +0 -115
  178. package/lib/util/dateTimeUtils.mjs.map +0 -1
@@ -2,7 +2,7 @@
2
2
 
3
3
  $shadow-key-umbra-opacity: var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)) !default;
4
4
  $shadow-key-penumbra-opacity: var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)) !default;
5
- $shadow-key-ambient-opacity: var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.12)) !default;
5
+ $shadow-key-ambient-opacity: var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12)) !default;
6
6
 
7
7
  $shadow-key-umbra: () !default;
8
8
  $shadow-key-umbra: map-deep-merge(
@@ -498,6 +498,7 @@ $utilities: () !default;
498
498
  ),
499
499
  class: text,
500
500
  unimportant: (
501
+ font-family,
501
502
  font-weight,
502
503
  line-height
503
504
  ),
@@ -6,7 +6,7 @@ function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classEx
6
6
  function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
7
7
  function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
8
8
  // Utilities
9
- import { camelize, capitalize, Comment, computed, Fragment, isVNode, reactive, toRefs, unref, watchEffect } from 'vue';
9
+ import { capitalize, Comment, computed, Fragment, isVNode, reactive, toRefs, unref, watchEffect } from 'vue';
10
10
  import { IN_BROWSER } from "./globals.mjs"; // Types
11
11
  export function getNestedValue(obj, path, fallback) {
12
12
  const last = path.length - 1;
@@ -221,12 +221,6 @@ export function wrapInArray(v) {
221
221
  export function defaultFilter(value, search, item) {
222
222
  return value != null && search != null && typeof value !== 'boolean' && value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1;
223
223
  }
224
- export function searchItems(items, search) {
225
- if (!search) return items;
226
- search = search.toString().toLowerCase();
227
- if (search.trim() === '') return items;
228
- return items.filter(item => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)));
229
- }
230
224
  export function debounce(fn, delay) {
231
225
  let timeoutId = 0;
232
226
  const wrap = function () {
@@ -252,15 +246,6 @@ export function throttle(fn, limit) {
252
246
  }
253
247
  };
254
248
  }
255
- /**
256
- * Filters slots to only those starting with `prefix`, removing the prefix
257
- */
258
- export function getPrefixedSlots(prefix, slots) {
259
- return Object.keys(slots).filter(k => k.startsWith(prefix)).reduce((obj, k) => {
260
- obj[k.replace(prefix, '')] = slots[k];
261
- return obj;
262
- }, {});
263
- }
264
249
  export function clamp(value) {
265
250
  let min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
266
251
  let max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
@@ -307,13 +292,6 @@ export function humanReadableFileSize(bytes) {
307
292
  }
308
293
  return `${bytes.toFixed(1)} ${prefix[unit]}B`;
309
294
  }
310
- export function camelizeObjectKeys(obj) {
311
- if (!obj) return {};
312
- return Object.keys(obj).reduce((o, key) => {
313
- o[camelize(key)] = obj[key];
314
- return o;
315
- }, {});
316
- }
317
295
  export function mergeDeep() {
318
296
  let source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
319
297
  let target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
@@ -340,9 +318,6 @@ export function mergeDeep() {
340
318
  }
341
319
  return out;
342
320
  }
343
- export function fillArray(length, obj) {
344
- return Array(length).fill(obj);
345
- }
346
321
  export function flattenFragments(nodes) {
347
322
  return nodes.map(node => {
348
323
  if (node.type === Fragment) {
@@ -352,10 +327,6 @@ export function flattenFragments(nodes) {
352
327
  }
353
328
  }).flat();
354
329
  }
355
- export const randomHexColor = () => {
356
- const n = (Math.random() * 0xfffff * 1000000).toString(16);
357
- return '#' + n.slice(0, 6);
358
- };
359
330
  export function toKebabCase() {
360
331
  let str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
361
332
  if (toKebabCase.cache.has(str)) return toKebabCase.cache.get(str);
@@ -364,19 +335,6 @@ export function toKebabCase() {
364
335
  return kebab;
365
336
  }
366
337
  toKebabCase.cache = new Map();
367
- export function findChildren(vnode) {
368
- if (!vnode || typeof vnode !== 'object') {
369
- return [];
370
- }
371
- if (Array.isArray(vnode)) {
372
- return vnode.map(child => findChildren(child)).filter(v => v).flat(1);
373
- } else if (Array.isArray(vnode.children)) {
374
- return vnode.children.map(child => findChildren(child)).filter(v => v).flat(1);
375
- } else if (vnode.component) {
376
- return [vnode.component, ...findChildren(vnode.component?.subTree)].filter(v => v).flat(1);
377
- }
378
- return [];
379
- }
380
338
  export function findChildrenWithProvide(key, vnode) {
381
339
  if (!vnode || typeof vnode !== 'object') return [];
382
340
  if (Array.isArray(vnode)) {
@@ -525,4 +483,12 @@ export function ensureValidVNode(vnodes) {
525
483
  return child.type !== Fragment || ensureValidVNode(child.children);
526
484
  }) ? vnodes : null;
527
485
  }
486
+ export function defer(timeout, cb) {
487
+ if (!IN_BROWSER || timeout === 0) {
488
+ cb();
489
+ return () => {};
490
+ }
491
+ const timeoutId = window.setTimeout(cb, timeout);
492
+ return () => window.clearTimeout(timeoutId);
493
+ }
528
494
  //# sourceMappingURL=helpers.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.mjs","names":["camelize","capitalize","Comment","computed","Fragment","isVNode","reactive","toRefs","unref","watchEffect","IN_BROWSER","getNestedValue","obj","path","fallback","last","length","undefined","i","deepEqual","a","b","Date","getTime","Object","props","keys","every","p","getObjectValueByPath","replace","split","getPropertyFromItem","item","property","value","Array","isArray","createRange","start","arguments","from","v","k","getZIndex","el","nodeType","Node","ELEMENT_NODE","index","window","getComputedStyle","getPropertyValue","parentNode","convertToUnit","str","unit","isNaN","String","isFinite","Number","isObject","refElement","$el","TEXT_NODE","nextElementSibling","keyCodes","freeze","enter","tab","delete","esc","space","up","down","left","right","end","home","del","backspace","insert","pageup","pagedown","shift","keyValues","o","has","key","hasOwnProperty","pick","paths","found","Set","pickWithRest","exclude","create","rest","some","RegExp","test","omit","clone","forEach","prop","only","include","onRE","isOn","bubblingEvents","compositionIgnoreKeys","isComposingIgnoreKey","e","isComposing","includes","filterInputAttrs","attrs","events","inputEvents","rootAttrs","inputAttrs","assign","arrayDiff","diff","push","wrapInArray","defaultFilter","search","toString","toLocaleLowerCase","indexOf","searchItems","items","toLowerCase","trim","filter","debounce","fn","delay","timeoutId","wrap","_len","args","_key","clearTimeout","setTimeout","clear","immediate","throttle","limit","throttling","getPrefixedSlots","prefix","slots","startsWith","reduce","clamp","min","max","Math","getDecimals","trimmedStr","padEnd","char","repeat","padStart","chunk","size","chunked","substr","chunkArray","array","ceil","slice","humanReadableFileSize","bytes","base","abs","toFixed","camelizeObjectKeys","mergeDeep","source","target","arrayFn","out","sourceProperty","targetProperty","fillArray","fill","flattenFragments","nodes","map","node","type","children","flat","randomHexColor","n","random","toKebabCase","cache","get","kebab","set","Map","findChildren","vnode","child","component","subTree","findChildrenWithProvide","getOwnPropertySymbols","provides","_arr","WeakMap","_pointer","CircularBuffer","constructor","_classPrivateFieldInitSpec","writable","val","_classPrivateFieldGet","_classPrivateFieldSet","values","concat","getEventCoordinates","clientX","touches","clientY","destructComputed","getter","refs","flush","arr","eventName","propName","EventProp","Function","hasEvent","name","callEvent","handler","_len2","_key2","h","focusableChildren","filterByTabIndex","targets","s","join","querySelectorAll","getNextElement","elements","location","condition","_el","idx","document","activeElement","inc","offsetParent","focusChild","focusable","contains","focus","at","isEmpty","noop","matchesSelector","selector","supportsSelector","CSS","supports","matches","err","ensureValidVNode","vnodes"],"sources":["../../src/util/helpers.ts"],"sourcesContent":["// Utilities\nimport { camelize, capitalize, Comment, computed, Fragment, isVNode, reactive, toRefs, unref, watchEffect } from 'vue'\nimport { IN_BROWSER } from '@/util/globals'\n\n// Types\nimport type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n ComputedGetter,\n InjectionKey,\n PropType,\n Ref,\n Slots,\n ToRefs,\n VNode,\n VNodeArrayChildren,\n VNodeChild,\n} from 'vue'\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path?: string | null, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj[path] !== undefined) return obj[path]\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\nexport type SelectItemKey<T = Record<string, any>> =\n | boolean | null | undefined // Ignored\n | string // Lookup by key, can use dot notation for nested objects\n | readonly (string | number)[] // Nested lookup by key, each array item is a key in the next level\n | ((item: T, fallback?: any) => any)\n\nexport function getPropertyFromItem (\n item: any,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property === true) return item === undefined ? fallback : item\n\n if (property == null || typeof property === 'boolean') return fallback\n\n if (item !== Object(item)) {\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n }\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number, start = 0): number[] {\n return Array.from({ length }, (v, k) => start + k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = +window.getComputedStyle(el).getPropertyValue('z-index')\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nexport function convertToUnit (str: number, unit?: string): string\nexport function convertToUnit (str: string | number | null | undefined, unit?: string): string | undefined\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else if (!isFinite(+str!)) {\n return undefined\n } else {\n return `${Number(str)}${unit}`\n }\n}\n\nexport function isObject (obj: any): obj is object {\n return obj !== null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nexport function refElement (obj?: ComponentPublicInstance<any> | HTMLElement): HTMLElement | undefined {\n if (obj && '$el' in obj) {\n const el = obj.$el as HTMLElement\n if (el?.nodeType === Node.TEXT_NODE) {\n // Multi-root component, use the first element\n return el.nextElementSibling as HTMLElement\n }\n return el\n }\n return obj as HTMLElement\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16,\n})\n\nexport const keyValues: Record<string, string> = Object.freeze({\n enter: 'Enter',\n tab: 'Tab',\n delete: 'Delete',\n esc: 'Escape',\n space: 'Space',\n up: 'ArrowUp',\n down: 'ArrowDown',\n left: 'ArrowLeft',\n right: 'ArrowRight',\n end: 'End',\n home: 'Home',\n del: 'Delete',\n backspace: 'Backspace',\n insert: 'Insert',\n pageup: 'PageUp',\n pagedown: 'PageDown',\n shift: 'Shift',\n})\n\nexport function keys<O extends {}> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\nexport function has<T extends string> (obj: object, key: T[]): obj is Record<T, unknown> {\n return key.every(k => obj.hasOwnProperty(k))\n}\n\ntype MaybePick<\n T extends object,\n U extends Extract<keyof T, string>\n> = Record<string, unknown> extends T ? Partial<Pick<T, U>> : Pick<T, U>\n\n// Array of keys\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: U[]): MaybePick<T, U> {\n const found: any = {}\n\n const keys = new Set(Object.keys(obj))\n for (const path of paths) {\n if (keys.has(path)) {\n found[path] = obj[path]\n }\n }\n\n return found\n}\n\n// Array of keys\nexport function pickWithRest<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: U[], exclude?: E[]): [yes: MaybePick<T, Exclude<U, E>>, no: Omit<T, Exclude<U, E>>]\n// Array of keys or RegExp to test keys against\nexport function pickWithRest<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[], exclude?: E[]): [yes: Partial<T>, no: Partial<T>]\nexport function pickWithRest<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[], exclude?: E[]): [yes: Partial<T>, no: Partial<T>] {\n const found = Object.create(null)\n const rest = Object.create(null)\n\n for (const key in obj) {\n if (\n paths.some(path => path instanceof RegExp\n ? path.test(key)\n : path === key\n ) && !exclude?.some(path => path === key)\n ) {\n found[key] = obj[key]\n } else {\n rest[key] = obj[key]\n }\n }\n\n return [found, rest]\n}\n\nexport function omit<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, exclude: U[]): Omit<T, U> {\n const clone = { ...obj }\n\n exclude.forEach(prop => delete clone[prop])\n\n return clone\n}\n\nexport function only<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, include: U[]): Pick<T, U> {\n const clone = {} as T\n\n include.forEach(prop => clone[prop] = obj[prop])\n\n return clone\n}\n\nconst onRE = /^on[^a-z]/\nexport const isOn = (key: string) => onRE.test(key)\n\nconst bubblingEvents = [\n 'onAfterscriptexecute',\n 'onAnimationcancel',\n 'onAnimationend',\n 'onAnimationiteration',\n 'onAnimationstart',\n 'onAuxclick',\n 'onBeforeinput',\n 'onBeforescriptexecute',\n 'onChange',\n 'onClick',\n 'onCompositionend',\n 'onCompositionstart',\n 'onCompositionupdate',\n 'onContextmenu',\n 'onCopy',\n 'onCut',\n 'onDblclick',\n 'onFocusin',\n 'onFocusout',\n 'onFullscreenchange',\n 'onFullscreenerror',\n 'onGesturechange',\n 'onGestureend',\n 'onGesturestart',\n 'onGotpointercapture',\n 'onInput',\n 'onKeydown',\n 'onKeypress',\n 'onKeyup',\n 'onLostpointercapture',\n 'onMousedown',\n 'onMousemove',\n 'onMouseout',\n 'onMouseover',\n 'onMouseup',\n 'onMousewheel',\n 'onPaste',\n 'onPointercancel',\n 'onPointerdown',\n 'onPointerenter',\n 'onPointerleave',\n 'onPointermove',\n 'onPointerout',\n 'onPointerover',\n 'onPointerup',\n 'onReset',\n 'onSelect',\n 'onSubmit',\n 'onTouchcancel',\n 'onTouchend',\n 'onTouchmove',\n 'onTouchstart',\n 'onTransitioncancel',\n 'onTransitionend',\n 'onTransitionrun',\n 'onTransitionstart',\n 'onWheel',\n]\n\nconst compositionIgnoreKeys = [\n 'ArrowUp',\n 'ArrowDown',\n 'ArrowRight',\n 'ArrowLeft',\n 'Enter',\n 'Escape',\n 'Tab',\n ' ',\n]\n\nexport function isComposingIgnoreKey (e: KeyboardEvent): boolean {\n return e.isComposing && compositionIgnoreKeys.includes(e.key)\n}\n\n/**\n * Filter attributes that should be applied to\n * the root element of an input component. Remaining\n * attributes should be passed to the <input> element inside.\n */\nexport function filterInputAttrs (attrs: Record<string, unknown>) {\n const [events, props] = pickWithRest(attrs, [onRE])\n const inputEvents = omit(events, bubblingEvents)\n const [rootAttrs, inputAttrs] = pickWithRest(props, ['class', 'style', 'id', /^data-/])\n Object.assign(rootAttrs, events)\n Object.assign(inputAttrs, inputEvents)\n return [rootAttrs, inputAttrs]\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (!a.includes(b[i])) diff.push(b[i])\n }\n return diff\n}\n\ntype IfAny<T, Y, N> = 0 extends (1 & T) ? Y : N;\nexport function wrapInArray<T> (\n v: T | null | undefined\n): T extends readonly any[]\n ? IfAny<T, T[], T>\n : NonNullable<T>[] {\n return v == null\n ? []\n : Array.isArray(v)\n ? v as any : [v]\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function searchItems<T extends any = any> (items: T[], search: string): T[] {\n if (!search) return items\n search = search.toString().toLowerCase()\n if (search.trim() === '') return items\n\n return items.filter((item: any) => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)))\n}\n\nexport function debounce (fn: Function, delay: MaybeRef<number>) {\n let timeoutId = 0 as any\n const wrap = (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), unref(delay))\n }\n wrap.clear = () => {\n clearTimeout(timeoutId)\n }\n wrap.immediate = fn\n return wrap\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n let throttling = false\n return (...args: Parameters<T>): void | ReturnType<T> => {\n if (!throttling) {\n throttling = true\n setTimeout(() => throttling = false, limit)\n return fn(...args)\n }\n }\n}\n\ntype Writable<T> = {\n -readonly [P in keyof T]: T[P]\n}\n\n/**\n * Filters slots to only those starting with `prefix`, removing the prefix\n */\nexport function getPrefixedSlots (prefix: string, slots: Slots): Slots {\n return Object.keys(slots)\n .filter(k => k.startsWith(prefix))\n .reduce<Writable<Slots>>((obj, k) => {\n obj[k.replace(prefix, '')] = slots[k]\n return obj\n }, {})\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function getDecimals (value: number) {\n const trimmedStr = value.toString().trim()\n return trimmedStr.includes('.')\n ? (trimmedStr.length - trimmedStr.indexOf('.') - 1)\n : 0\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function padStart (str: string, length: number, char = '0') {\n return char.repeat(Math.max(0, length - str.length)) + str\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function chunkArray (array: any[], size = 1) {\n return Array.from({ length: Math.ceil(array.length / size) }, (v, i) =>\n array.slice(i * size, i * size + size)\n )\n}\n\nexport function humanReadableFileSize (bytes: number, base: 1000 | 1024 = 1000): string {\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = base === 1024 ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function camelizeObjectKeys (obj: Record<string, any> | null | undefined) {\n if (!obj) return {}\n\n return Object.keys(obj).reduce((o: any, key: string) => {\n o[camelize(key)] = obj[key]\n return o\n }, {})\n}\n\nexport function mergeDeep (\n source: Record<string, any> = {},\n target: Record<string, any> = {},\n arrayFn?: (a: unknown[], b: unknown[]) => unknown[],\n) {\n const out: Record<string, any> = {}\n\n for (const key in source) {\n out[key] = source[key]\n }\n\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (\n isObject(sourceProperty) &&\n isObject(targetProperty)\n ) {\n out[key] = mergeDeep(sourceProperty, targetProperty, arrayFn)\n\n continue\n }\n\n if (Array.isArray(sourceProperty) && Array.isArray(targetProperty) && arrayFn) {\n out[key] = arrayFn(sourceProperty, targetProperty)\n\n continue\n }\n\n out[key] = targetProperty\n }\n\n return out\n}\n\nexport function fillArray<T> (length: number, obj: T) {\n return Array(length).fill(obj)\n}\n\nexport function flattenFragments (nodes: VNode[]): VNode[] {\n return nodes.map(node => {\n if (node.type === Fragment) {\n return flattenFragments(node.children as VNode[])\n } else {\n return node\n }\n }).flat()\n}\n\nexport const randomHexColor = () => {\n const n = (Math.random() * 0xfffff * 1000000).toString(16)\n return '#' + n.slice(0, 6)\n}\n\nexport function toKebabCase (str = '') {\n if (toKebabCase.cache.has(str)) return toKebabCase.cache.get(str)!\n const kebab = str\n .replace(/[^a-z]/gi, '-')\n .replace(/\\B([A-Z])/g, '-$1')\n .toLowerCase()\n toKebabCase.cache.set(str, kebab)\n return kebab\n}\ntoKebabCase.cache = new Map<string, string>()\n\nexport type MaybeRef<T> = T | Ref<T>\n\nexport function findChildren (vnode?: VNodeChild): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') {\n return []\n }\n\n if (Array.isArray(vnode)) {\n return vnode\n .map(child => findChildren(child))\n .filter(v => v)\n .flat(1)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children\n .map(child => findChildren(child))\n .filter(v => v)\n .flat(1)\n } else if (vnode.component) {\n return [vnode.component, ...findChildren(vnode.component?.subTree)]\n .filter(v => v)\n .flat(1)\n }\n\n return []\n}\n\nexport function findChildrenWithProvide (\n key: InjectionKey<any> | symbol,\n vnode?: VNodeChild,\n): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') return []\n\n if (Array.isArray(vnode)) {\n return vnode.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (vnode.component) {\n if (Object.getOwnPropertySymbols(vnode.component.provides).includes(key as symbol)) {\n return [vnode.component]\n } else if (vnode.component.subTree) {\n return findChildrenWithProvide(key, vnode.component.subTree).flat(1)\n }\n }\n\n return []\n}\n\nexport class CircularBuffer<T = never> {\n readonly #arr: Array<T> = []\n #pointer = 0\n\n constructor (public readonly size: number) {}\n\n push (val: T) {\n this.#arr[this.#pointer] = val\n this.#pointer = (this.#pointer + 1) % this.size\n }\n\n values (): T[] {\n return this.#arr.slice(this.#pointer).concat(this.#arr.slice(0, this.#pointer))\n }\n}\n\nexport type UnionToIntersection<U> =\n (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never\n\nexport function getEventCoordinates (e: MouseEvent | TouchEvent) {\n if ('touches' in e) {\n return { clientX: e.touches[0].clientX, clientY: e.touches[0].clientY }\n }\n\n return { clientX: e.clientX, clientY: e.clientY }\n}\n\n// Only allow a single return type\ntype NotAUnion<T> = [T] extends [infer U] ? _NotAUnion<U, U> : never\ntype _NotAUnion<T, U> = U extends any ? [T] extends [U] ? unknown : never : never\n\n/**\n * Convert a computed ref to a record of refs.\n * The getter function must always return an object with the same keys.\n */\nexport function destructComputed<T extends object> (getter: ComputedGetter<T & NotAUnion<T>>): ToRefs<T>\nexport function destructComputed<T extends object> (getter: ComputedGetter<T>) {\n const refs = reactive({}) as T\n const base = computed(getter)\n watchEffect(() => {\n for (const key in base.value) {\n refs[key] = base.value[key]\n }\n }, { flush: 'sync' })\n return toRefs(refs)\n}\n\n/** Array.includes but value can be any type */\nexport function includes (arr: readonly any[], val: any) {\n return arr.includes(val)\n}\n\nexport function eventName (propName: string) {\n return propName[2].toLowerCase() + propName.slice(3)\n}\n\nexport type EventProp<T extends any[] = any[], F = (...args: T) => void> = F\nexport const EventProp = <T extends any[] = any[]>() => [Function, Array] as PropType<EventProp<T>>\n\nexport function hasEvent (props: Record<string, any>, name: string) {\n name = 'on' + capitalize(name)\n return !!(props[name] || props[`${name}Once`] || props[`${name}Capture`] || props[`${name}OnceCapture`] || props[`${name}CaptureOnce`])\n}\n\nexport function callEvent<T extends any[]> (handler: EventProp<T> | undefined, ...args: T) {\n if (Array.isArray(handler)) {\n for (const h of handler) {\n h(...args)\n }\n } else if (typeof handler === 'function') {\n handler(...args)\n }\n}\n\nexport function focusableChildren (el: Element, filterByTabIndex = true) {\n const targets = ['button', '[href]', 'input:not([type=\"hidden\"])', 'select', 'textarea', '[tabindex]']\n .map(s => `${s}${filterByTabIndex ? ':not([tabindex=\"-1\"])' : ''}:not([disabled])`)\n .join(', ')\n return [...el.querySelectorAll(targets)] as HTMLElement[]\n}\n\nexport function getNextElement (elements: HTMLElement[], location?: 'next' | 'prev', condition?: (el: HTMLElement) => boolean) {\n let _el\n let idx = elements.indexOf(document.activeElement as HTMLElement)\n const inc = location === 'next' ? 1 : -1\n do {\n idx += inc\n _el = elements[idx]\n } while ((!_el || _el.offsetParent == null || !(condition?.(_el) ?? true)) && idx < elements.length && idx >= 0)\n return _el\n}\n\nexport function focusChild (el: Element, location?: 'next' | 'prev' | 'first' | 'last' | number) {\n const focusable = focusableChildren(el)\n\n if (!location) {\n if (el === document.activeElement || !el.contains(document.activeElement)) {\n focusable[0]?.focus()\n }\n } else if (location === 'first') {\n focusable[0]?.focus()\n } else if (location === 'last') {\n focusable.at(-1)?.focus()\n } else if (typeof location === 'number') {\n focusable[location]?.focus()\n } else {\n const _el = getNextElement(focusable, location)\n if (_el) _el.focus()\n else focusChild(el, location === 'next' ? 'first' : 'last')\n }\n}\n\nexport function isEmpty (val: any): boolean {\n return val === null || val === undefined || (typeof val === 'string' && val.trim() === '')\n}\n\nexport function noop () {}\n\n/** Returns null if the selector is not supported or we can't check */\nexport function matchesSelector (el: Element | undefined, selector: string): boolean | null {\n const supportsSelector = IN_BROWSER &&\n typeof CSS !== 'undefined' &&\n typeof CSS.supports !== 'undefined' &&\n CSS.supports(`selector(${selector})`)\n\n if (!supportsSelector) return null\n\n try {\n return !!el && el.matches(selector)\n } catch (err) {\n return null\n }\n}\n\nexport function ensureValidVNode (vnodes: VNodeArrayChildren): VNodeArrayChildren | null {\n return vnodes.some(child => {\n if (!isVNode(child)) return true\n if (child.type === Comment) return false\n return child.type !== Fragment ||\n ensureValidVNode(child.children as VNodeArrayChildren)\n })\n ? vnodes\n : null\n}\n"],"mappings":";;;;;;;AAAA;AACA,SAASA,QAAQ,EAAEC,UAAU,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,KAAK,EAAEC,WAAW,QAAQ,KAAK;AAAA,SAC7GC,UAAU,yBAEnB;AAeA,OAAO,SAASC,cAAcA,CAAEC,GAAQ,EAAEC,IAAyB,EAAEC,QAAc,EAAO;EACxF,MAAMC,IAAI,GAAGF,IAAI,CAACG,MAAM,GAAG,CAAC;EAE5B,IAAID,IAAI,GAAG,CAAC,EAAE,OAAOH,GAAG,KAAKK,SAAS,GAAGH,QAAQ,GAAGF,GAAG;EAEvD,KAAK,IAAIM,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,IAAI,EAAEG,CAAC,EAAE,EAAE;IAC7B,IAAIN,GAAG,IAAI,IAAI,EAAE;MACf,OAAOE,QAAQ;IACjB;IACAF,GAAG,GAAGA,GAAG,CAACC,IAAI,CAACK,CAAC,CAAC,CAAC;EACpB;EAEA,IAAIN,GAAG,IAAI,IAAI,EAAE,OAAOE,QAAQ;EAEhC,OAAOF,GAAG,CAACC,IAAI,CAACE,IAAI,CAAC,CAAC,KAAKE,SAAS,GAAGH,QAAQ,GAAGF,GAAG,CAACC,IAAI,CAACE,IAAI,CAAC,CAAC;AACnE;AAEA,OAAO,SAASI,SAASA,CAAEC,CAAM,EAAEC,CAAM,EAAW;EAClD,IAAID,CAAC,KAAKC,CAAC,EAAE,OAAO,IAAI;EAExB,IACED,CAAC,YAAYE,IAAI,IACjBD,CAAC,YAAYC,IAAI,IACjBF,CAAC,CAACG,OAAO,CAAC,CAAC,KAAKF,CAAC,CAACE,OAAO,CAAC,CAAC,EAC3B;IACA;IACA,OAAO,KAAK;EACd;EAEA,IAAIH,CAAC,KAAKI,MAAM,CAACJ,CAAC,CAAC,IAAIC,CAAC,KAAKG,MAAM,CAACH,CAAC,CAAC,EAAE;IACtC;IACA,OAAO,KAAK;EACd;EAEA,MAAMI,KAAK,GAAGD,MAAM,CAACE,IAAI,CAACN,CAAC,CAAC;EAE5B,IAAIK,KAAK,CAACT,MAAM,KAAKQ,MAAM,CAACE,IAAI,CAACL,CAAC,CAAC,CAACL,MAAM,EAAE;IAC1C;IACA,OAAO,KAAK;EACd;EAEA,OAAOS,KAAK,CAACE,KAAK,CAACC,CAAC,IAAIT,SAAS,CAACC,CAAC,CAACQ,CAAC,CAAC,EAAEP,CAAC,CAACO,CAAC,CAAC,CAAC,CAAC;AAChD;AAEA,OAAO,SAASC,oBAAoBA,CAAEjB,GAAQ,EAAEC,IAAoB,EAAEC,QAAc,EAAO;EACzF;EACA,IAAIF,GAAG,IAAI,IAAI,IAAI,CAACC,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE,OAAOC,QAAQ;EACrE,IAAIF,GAAG,CAACC,IAAI,CAAC,KAAKI,SAAS,EAAE,OAAOL,GAAG,CAACC,IAAI,CAAC;EAC7CA,IAAI,GAAGA,IAAI,CAACiB,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,EAAC;EACzCjB,IAAI,GAAGA,IAAI,CAACiB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAC;EAC/B,OAAOnB,cAAc,CAACC,GAAG,EAAEC,IAAI,CAACkB,KAAK,CAAC,GAAG,CAAC,EAAEjB,QAAQ,CAAC;AACvD;AAQA,OAAO,SAASkB,mBAAmBA,CACjCC,IAAS,EACTC,QAAuB,EACvBpB,QAAc,EACT;EACL,IAAIoB,QAAQ,KAAK,IAAI,EAAE,OAAOD,IAAI,KAAKhB,SAAS,GAAGH,QAAQ,GAAGmB,IAAI;EAElE,IAAIC,QAAQ,IAAI,IAAI,IAAI,OAAOA,QAAQ,KAAK,SAAS,EAAE,OAAOpB,QAAQ;EAEtE,IAAImB,IAAI,KAAKT,MAAM,CAACS,IAAI,CAAC,EAAE;IACzB,IAAI,OAAOC,QAAQ,KAAK,UAAU,EAAE,OAAOpB,QAAQ;IAEnD,MAAMqB,KAAK,GAAGD,QAAQ,CAACD,IAAI,EAAEnB,QAAQ,CAAC;IAEtC,OAAO,OAAOqB,KAAK,KAAK,WAAW,GAAGrB,QAAQ,GAAGqB,KAAK;EACxD;EAEA,IAAI,OAAOD,QAAQ,KAAK,QAAQ,EAAE,OAAOL,oBAAoB,CAACI,IAAI,EAAEC,QAAQ,EAAEpB,QAAQ,CAAC;EAEvF,IAAIsB,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,EAAE,OAAOvB,cAAc,CAACsB,IAAI,EAAEC,QAAQ,EAAEpB,QAAQ,CAAC;EAE5E,IAAI,OAAOoB,QAAQ,KAAK,UAAU,EAAE,OAAOpB,QAAQ;EAEnD,MAAMqB,KAAK,GAAGD,QAAQ,CAACD,IAAI,EAAEnB,QAAQ,CAAC;EAEtC,OAAO,OAAOqB,KAAK,KAAK,WAAW,GAAGrB,QAAQ,GAAGqB,KAAK;AACxD;AAEA,OAAO,SAASG,WAAWA,CAAEtB,MAAc,EAAuB;EAAA,IAArBuB,KAAK,GAAAC,SAAA,CAAAxB,MAAA,QAAAwB,SAAA,QAAAvB,SAAA,GAAAuB,SAAA,MAAG,CAAC;EACpD,OAAOJ,KAAK,CAACK,IAAI,CAAC;IAAEzB;EAAO,CAAC,EAAE,CAAC0B,CAAC,EAAEC,CAAC,KAAKJ,KAAK,GAAGI,CAAC,CAAC;AACpD;AAEA,OAAO,SAASC,SAASA,CAAEC,EAAmB,EAAU;EACtD,IAAI,CAACA,EAAE,IAAIA,EAAE,CAACC,QAAQ,KAAKC,IAAI,CAACC,YAAY,EAAE,OAAO,CAAC;EAEtD,MAAMC,KAAK,GAAG,CAACC,MAAM,CAACC,gBAAgB,CAACN,EAAE,CAAC,CAACO,gBAAgB,CAAC,SAAS,CAAC;EAEtE,IAAI,CAACH,KAAK,EAAE,OAAOL,SAAS,CAACC,EAAE,CAACQ,UAAqB,CAAC;EACtD,OAAOJ,KAAK;AACd;AAIA,OAAO,SAASK,aAAaA,CAAEC,GAAuC,EAAmC;EAAA,IAAjCC,IAAI,GAAAhB,SAAA,CAAAxB,MAAA,QAAAwB,SAAA,QAAAvB,SAAA,GAAAuB,SAAA,MAAG,IAAI;EACjF,IAAIe,GAAG,IAAI,IAAI,IAAIA,GAAG,KAAK,EAAE,EAAE;IAC7B,OAAOtC,SAAS;EAClB,CAAC,MAAM,IAAIwC,KAAK,CAAC,CAACF,GAAI,CAAC,EAAE;IACvB,OAAOG,MAAM,CAACH,GAAG,CAAC;EACpB,CAAC,MAAM,IAAI,CAACI,QAAQ,CAAC,CAACJ,GAAI,CAAC,EAAE;IAC3B,OAAOtC,SAAS;EAClB,CAAC,MAAM;IACL,OAAQ,GAAE2C,MAAM,CAACL,GAAG,CAAE,GAAEC,IAAK,EAAC;EAChC;AACF;AAEA,OAAO,SAASK,QAAQA,CAAEjD,GAAQ,EAAiB;EACjD,OAAOA,GAAG,KAAK,IAAI,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAI,CAACwB,KAAK,CAACC,OAAO,CAACzB,GAAG,CAAC;AACvE;AAEA,OAAO,SAASkD,UAAUA,CAAElD,GAAgD,EAA2B;EACrG,IAAIA,GAAG,IAAI,KAAK,IAAIA,GAAG,EAAE;IACvB,MAAMiC,EAAE,GAAGjC,GAAG,CAACmD,GAAkB;IACjC,IAAIlB,EAAE,EAAEC,QAAQ,KAAKC,IAAI,CAACiB,SAAS,EAAE;MACnC;MACA,OAAOnB,EAAE,CAACoB,kBAAkB;IAC9B;IACA,OAAOpB,EAAE;EACX;EACA,OAAOjC,GAAG;AACZ;;AAEA;AACA,OAAO,MAAMsD,QAAQ,GAAG1C,MAAM,CAAC2C,MAAM,CAAC;EACpCC,KAAK,EAAE,EAAE;EACTC,GAAG,EAAE,CAAC;EACNC,MAAM,EAAE,EAAE;EACVC,GAAG,EAAE,EAAE;EACPC,KAAK,EAAE,EAAE;EACTC,EAAE,EAAE,EAAE;EACNC,IAAI,EAAE,EAAE;EACRC,IAAI,EAAE,EAAE;EACRC,KAAK,EAAE,EAAE;EACTC,GAAG,EAAE,EAAE;EACPC,IAAI,EAAE,EAAE;EACRC,GAAG,EAAE,EAAE;EACPC,SAAS,EAAE,CAAC;EACZC,MAAM,EAAE,EAAE;EACVC,MAAM,EAAE,EAAE;EACVC,QAAQ,EAAE,EAAE;EACZC,KAAK,EAAE;AACT,CAAC,CAAC;AAEF,OAAO,MAAMC,SAAiC,GAAG7D,MAAM,CAAC2C,MAAM,CAAC;EAC7DC,KAAK,EAAE,OAAO;EACdC,GAAG,EAAE,KAAK;EACVC,MAAM,EAAE,QAAQ;EAChBC,GAAG,EAAE,QAAQ;EACbC,KAAK,EAAE,OAAO;EACdC,EAAE,EAAE,SAAS;EACbC,IAAI,EAAE,WAAW;EACjBC,IAAI,EAAE,WAAW;EACjBC,KAAK,EAAE,YAAY;EACnBC,GAAG,EAAE,KAAK;EACVC,IAAI,EAAE,MAAM;EACZC,GAAG,EAAE,QAAQ;EACbC,SAAS,EAAE,WAAW;EACtBC,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE,QAAQ;EAChBC,QAAQ,EAAE,UAAU;EACpBC,KAAK,EAAE;AACT,CAAC,CAAC;AAEF,OAAO,SAAS1D,IAAIA,CAAgB4D,CAAI,EAAE;EACxC,OAAO9D,MAAM,CAACE,IAAI,CAAC4D,CAAC,CAAC;AACvB;AAEA,OAAO,SAASC,GAAGA,CAAoB3E,GAAW,EAAE4E,GAAQ,EAA6B;EACvF,OAAOA,GAAG,CAAC7D,KAAK,CAACgB,CAAC,IAAI/B,GAAG,CAAC6E,cAAc,CAAC9C,CAAC,CAAC,CAAC;AAC9C;AAOA;AACA,OAAO,SAAS+C,IAAIA,CAGjB9E,GAAM,EAAE+E,KAAU,EAAmB;EACtC,MAAMC,KAAU,GAAG,CAAC,CAAC;EAErB,MAAMlE,IAAI,GAAG,IAAImE,GAAG,CAACrE,MAAM,CAACE,IAAI,CAACd,GAAG,CAAC,CAAC;EACtC,KAAK,MAAMC,IAAI,IAAI8E,KAAK,EAAE;IACxB,IAAIjE,IAAI,CAAC6D,GAAG,CAAC1E,IAAI,CAAC,EAAE;MAClB+E,KAAK,CAAC/E,IAAI,CAAC,GAAGD,GAAG,CAACC,IAAI,CAAC;IACzB;EACF;EAEA,OAAO+E,KAAK;AACd;;AAEA;;AAMA;;AAMA,OAAO,SAASE,YAAYA,CAIzBlF,GAAM,EAAE+E,KAAqB,EAAEI,OAAa,EAAqC;EAClF,MAAMH,KAAK,GAAGpE,MAAM,CAACwE,MAAM,CAAC,IAAI,CAAC;EACjC,MAAMC,IAAI,GAAGzE,MAAM,CAACwE,MAAM,CAAC,IAAI,CAAC;EAEhC,KAAK,MAAMR,GAAG,IAAI5E,GAAG,EAAE;IACrB,IACE+E,KAAK,CAACO,IAAI,CAACrF,IAAI,IAAIA,IAAI,YAAYsF,MAAM,GACrCtF,IAAI,CAACuF,IAAI,CAACZ,GAAG,CAAC,GACd3E,IAAI,KAAK2E,GACb,CAAC,IAAI,CAACO,OAAO,EAAEG,IAAI,CAACrF,IAAI,IAAIA,IAAI,KAAK2E,GAAG,CAAC,EACzC;MACAI,KAAK,CAACJ,GAAG,CAAC,GAAG5E,GAAG,CAAC4E,GAAG,CAAC;IACvB,CAAC,MAAM;MACLS,IAAI,CAACT,GAAG,CAAC,GAAG5E,GAAG,CAAC4E,GAAG,CAAC;IACtB;EACF;EAEA,OAAO,CAACI,KAAK,EAAEK,IAAI,CAAC;AACtB;AAEA,OAAO,SAASI,IAAIA,CAGjBzF,GAAM,EAAEmF,OAAY,EAAc;EACnC,MAAMO,KAAK,GAAG;IAAE,GAAG1F;EAAI,CAAC;EAExBmF,OAAO,CAACQ,OAAO,CAACC,IAAI,IAAI,OAAOF,KAAK,CAACE,IAAI,CAAC,CAAC;EAE3C,OAAOF,KAAK;AACd;AAEA,OAAO,SAASG,IAAIA,CAGjB7F,GAAM,EAAE8F,OAAY,EAAc;EACnC,MAAMJ,KAAK,GAAG,CAAC,CAAM;EAErBI,OAAO,CAACH,OAAO,CAACC,IAAI,IAAIF,KAAK,CAACE,IAAI,CAAC,GAAG5F,GAAG,CAAC4F,IAAI,CAAC,CAAC;EAEhD,OAAOF,KAAK;AACd;AAEA,MAAMK,IAAI,GAAG,WAAW;AACxB,OAAO,MAAMC,IAAI,GAAIpB,GAAW,IAAKmB,IAAI,CAACP,IAAI,CAACZ,GAAG,CAAC;AAEnD,MAAMqB,cAAc,GAAG,CACrB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,SAAS,EACT,WAAW,EACX,YAAY,EACZ,SAAS,EACT,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,aAAa,EACb,WAAW,EACX,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,eAAe,EACf,aAAa,EACb,SAAS,EACT,UAAU,EACV,UAAU,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,CACV;AAED,MAAMC,qBAAqB,GAAG,CAC5B,SAAS,EACT,WAAW,EACX,YAAY,EACZ,WAAW,EACX,OAAO,EACP,QAAQ,EACR,KAAK,EACL,GAAG,CACJ;AAED,OAAO,SAASC,oBAAoBA,CAAEC,CAAgB,EAAW;EAC/D,OAAOA,CAAC,CAACC,WAAW,IAAIH,qBAAqB,CAACI,QAAQ,CAACF,CAAC,CAACxB,GAAG,CAAC;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS2B,gBAAgBA,CAAEC,KAA8B,EAAE;EAChE,MAAM,CAACC,MAAM,EAAE5F,KAAK,CAAC,GAAGqE,YAAY,CAACsB,KAAK,EAAE,CAACT,IAAI,CAAC,CAAC;EACnD,MAAMW,WAAW,GAAGjB,IAAI,CAACgB,MAAM,EAAER,cAAc,CAAC;EAChD,MAAM,CAACU,SAAS,EAAEC,UAAU,CAAC,GAAG1B,YAAY,CAACrE,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;EACvFD,MAAM,CAACiG,MAAM,CAACF,SAAS,EAAEF,MAAM,CAAC;EAChC7F,MAAM,CAACiG,MAAM,CAACD,UAAU,EAAEF,WAAW,CAAC;EACtC,OAAO,CAACC,SAAS,EAAEC,UAAU,CAAC;AAChC;;AAEA;AACA;AACA;AACA,OAAO,SAASE,SAASA,CAAEtG,CAAQ,EAAEC,CAAQ,EAAS;EACpD,MAAMsG,IAAW,GAAG,EAAE;EACtB,KAAK,IAAIzG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGG,CAAC,CAACL,MAAM,EAAEE,CAAC,EAAE,EAAE;IACjC,IAAI,CAACE,CAAC,CAAC8F,QAAQ,CAAC7F,CAAC,CAACH,CAAC,CAAC,CAAC,EAAEyG,IAAI,CAACC,IAAI,CAACvG,CAAC,CAACH,CAAC,CAAC,CAAC;EACxC;EACA,OAAOyG,IAAI;AACb;AAGA,OAAO,SAASE,WAAWA,CACzBnF,CAAuB,EAGF;EACrB,OAAOA,CAAC,IAAI,IAAI,GACZ,EAAE,GACFN,KAAK,CAACC,OAAO,CAACK,CAAC,CAAC,GACdA,CAAC,GAAU,CAACA,CAAC,CAAC;AACtB;AAEA,OAAO,SAASoF,aAAaA,CAAE3F,KAAU,EAAE4F,MAAqB,EAAE9F,IAAS,EAAE;EAC3E,OAAOE,KAAK,IAAI,IAAI,IAClB4F,MAAM,IAAI,IAAI,IACd,OAAO5F,KAAK,KAAK,SAAS,IAC1BA,KAAK,CAAC6F,QAAQ,CAAC,CAAC,CAACC,iBAAiB,CAAC,CAAC,CAACC,OAAO,CAACH,MAAM,CAACE,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACnF;AAEA,OAAO,SAASE,WAAWA,CAAuBC,KAAU,EAAEL,MAAc,EAAO;EACjF,IAAI,CAACA,MAAM,EAAE,OAAOK,KAAK;EACzBL,MAAM,GAAGA,MAAM,CAACC,QAAQ,CAAC,CAAC,CAACK,WAAW,CAAC,CAAC;EACxC,IAAIN,MAAM,CAACO,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,OAAOF,KAAK;EAEtC,OAAOA,KAAK,CAACG,MAAM,CAAEtG,IAAS,IAAKT,MAAM,CAACE,IAAI,CAACO,IAAI,CAAC,CAACiE,IAAI,CAACV,GAAG,IAAIsC,aAAa,CAACjG,oBAAoB,CAACI,IAAI,EAAEuD,GAAG,CAAC,EAAEuC,MAAM,EAAE9F,IAAI,CAAC,CAAC,CAAC;AACjI;AAEA,OAAO,SAASuG,QAAQA,CAAEC,EAAY,EAAEC,KAAuB,EAAE;EAC/D,IAAIC,SAAS,GAAG,CAAQ;EACxB,MAAMC,IAAI,GAAG,SAAAA,CAAA,EAAoB;IAAA,SAAAC,IAAA,GAAArG,SAAA,CAAAxB,MAAA,EAAhB8H,IAAI,OAAA1G,KAAA,CAAAyG,IAAA,GAAAE,IAAA,MAAAA,IAAA,GAAAF,IAAA,EAAAE,IAAA;MAAJD,IAAI,CAAAC,IAAA,IAAAvG,SAAA,CAAAuG,IAAA;IAAA;IACnBC,YAAY,CAACL,SAAS,CAAC;IACvBA,SAAS,GAAGM,UAAU,CAAC,MAAMR,EAAE,CAAC,GAAGK,IAAI,CAAC,EAAEtI,KAAK,CAACkI,KAAK,CAAC,CAAC;EACzD,CAAC;EACDE,IAAI,CAACM,KAAK,GAAG,MAAM;IACjBF,YAAY,CAACL,SAAS,CAAC;EACzB,CAAC;EACDC,IAAI,CAACO,SAAS,GAAGV,EAAE;EACnB,OAAOG,IAAI;AACb;AAEA,OAAO,SAASQ,QAAQA,CAAqCX,EAAK,EAAEY,KAAa,EAAE;EACjF,IAAIC,UAAU,GAAG,KAAK;EACtB,OAAO,YAAkD;IACvD,IAAI,CAACA,UAAU,EAAE;MACfA,UAAU,GAAG,IAAI;MACjBL,UAAU,CAAC,MAAMK,UAAU,GAAG,KAAK,EAAED,KAAK,CAAC;MAC3C,OAAOZ,EAAE,CAAC,GAAAjG,SAAO,CAAC;IACpB;EACF,CAAC;AACH;AAMA;AACA;AACA;AACA,OAAO,SAAS+G,gBAAgBA,CAAEC,MAAc,EAAEC,KAAY,EAAS;EACrE,OAAOjI,MAAM,CAACE,IAAI,CAAC+H,KAAK,CAAC,CACtBlB,MAAM,CAAC5F,CAAC,IAAIA,CAAC,CAAC+G,UAAU,CAACF,MAAM,CAAC,CAAC,CACjCG,MAAM,CAAkB,CAAC/I,GAAG,EAAE+B,CAAC,KAAK;IACnC/B,GAAG,CAAC+B,CAAC,CAACb,OAAO,CAAC0H,MAAM,EAAE,EAAE,CAAC,CAAC,GAAGC,KAAK,CAAC9G,CAAC,CAAC;IACrC,OAAO/B,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;AACV;AAEA,OAAO,SAASgJ,KAAKA,CAAEzH,KAAa,EAAoB;EAAA,IAAlB0H,GAAG,GAAArH,SAAA,CAAAxB,MAAA,QAAAwB,SAAA,QAAAvB,SAAA,GAAAuB,SAAA,MAAG,CAAC;EAAA,IAAEsH,GAAG,GAAAtH,SAAA,CAAAxB,MAAA,QAAAwB,SAAA,QAAAvB,SAAA,GAAAuB,SAAA,MAAG,CAAC;EACpD,OAAOuH,IAAI,CAACD,GAAG,CAACD,GAAG,EAAEE,IAAI,CAACF,GAAG,CAACC,GAAG,EAAE3H,KAAK,CAAC,CAAC;AAC5C;AAEA,OAAO,SAAS6H,WAAWA,CAAE7H,KAAa,EAAE;EAC1C,MAAM8H,UAAU,GAAG9H,KAAK,CAAC6F,QAAQ,CAAC,CAAC,CAACM,IAAI,CAAC,CAAC;EAC1C,OAAO2B,UAAU,CAAC/C,QAAQ,CAAC,GAAG,CAAC,GAC1B+C,UAAU,CAACjJ,MAAM,GAAGiJ,UAAU,CAAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAChD,CAAC;AACP;AAEA,OAAO,SAASgC,MAAMA,CAAE3G,GAAW,EAAEvC,MAAc,EAAc;EAAA,IAAZmJ,IAAI,GAAA3H,SAAA,CAAAxB,MAAA,QAAAwB,SAAA,QAAAvB,SAAA,GAAAuB,SAAA,MAAG,GAAG;EAC7D,OAAOe,GAAG,GAAG4G,IAAI,CAACC,MAAM,CAACL,IAAI,CAACD,GAAG,CAAC,CAAC,EAAE9I,MAAM,GAAGuC,GAAG,CAACvC,MAAM,CAAC,CAAC;AAC5D;AAEA,OAAO,SAASqJ,QAAQA,CAAE9G,GAAW,EAAEvC,MAAc,EAAc;EAAA,IAAZmJ,IAAI,GAAA3H,SAAA,CAAAxB,MAAA,QAAAwB,SAAA,QAAAvB,SAAA,GAAAuB,SAAA,MAAG,GAAG;EAC/D,OAAO2H,IAAI,CAACC,MAAM,CAACL,IAAI,CAACD,GAAG,CAAC,CAAC,EAAE9I,MAAM,GAAGuC,GAAG,CAACvC,MAAM,CAAC,CAAC,GAAGuC,GAAG;AAC5D;AAEA,OAAO,SAAS+G,KAAKA,CAAE/G,GAAW,EAAY;EAAA,IAAVgH,IAAI,GAAA/H,SAAA,CAAAxB,MAAA,QAAAwB,SAAA,QAAAvB,SAAA,GAAAuB,SAAA,MAAG,CAAC;EAC1C,MAAMgI,OAAiB,GAAG,EAAE;EAC5B,IAAIvH,KAAK,GAAG,CAAC;EACb,OAAOA,KAAK,GAAGM,GAAG,CAACvC,MAAM,EAAE;IACzBwJ,OAAO,CAAC5C,IAAI,CAACrE,GAAG,CAACkH,MAAM,CAACxH,KAAK,EAAEsH,IAAI,CAAC,CAAC;IACrCtH,KAAK,IAAIsH,IAAI;EACf;EACA,OAAOC,OAAO;AAChB;AAEA,OAAO,SAASE,UAAUA,CAAEC,KAAY,EAAY;EAAA,IAAVJ,IAAI,GAAA/H,SAAA,CAAAxB,MAAA,QAAAwB,SAAA,QAAAvB,SAAA,GAAAuB,SAAA,MAAG,CAAC;EAChD,OAAOJ,KAAK,CAACK,IAAI,CAAC;IAAEzB,MAAM,EAAE+I,IAAI,CAACa,IAAI,CAACD,KAAK,CAAC3J,MAAM,GAAGuJ,IAAI;EAAE,CAAC,EAAE,CAAC7H,CAAC,EAAExB,CAAC,KACjEyJ,KAAK,CAACE,KAAK,CAAC3J,CAAC,GAAGqJ,IAAI,EAAErJ,CAAC,GAAGqJ,IAAI,GAAGA,IAAI,CACvC,CAAC;AACH;AAEA,OAAO,SAASO,qBAAqBA,CAAEC,KAAa,EAAoC;EAAA,IAAlCC,IAAiB,GAAAxI,SAAA,CAAAxB,MAAA,QAAAwB,SAAA,QAAAvB,SAAA,GAAAuB,SAAA,MAAG,IAAI;EAC5E,IAAIuI,KAAK,GAAGC,IAAI,EAAE;IAChB,OAAQ,GAAED,KAAM,IAAG;EACrB;EAEA,MAAMvB,MAAM,GAAGwB,IAAI,KAAK,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;EACnE,IAAIxH,IAAI,GAAG,CAAC,CAAC;EACb,OAAOuG,IAAI,CAACkB,GAAG,CAACF,KAAK,CAAC,IAAIC,IAAI,IAAIxH,IAAI,GAAGgG,MAAM,CAACxI,MAAM,GAAG,CAAC,EAAE;IAC1D+J,KAAK,IAAIC,IAAI;IACb,EAAExH,IAAI;EACR;EACA,OAAQ,GAAEuH,KAAK,CAACG,OAAO,CAAC,CAAC,CAAE,IAAG1B,MAAM,CAAChG,IAAI,CAAE,GAAE;AAC/C;AAEA,OAAO,SAAS2H,kBAAkBA,CAAEvK,GAA2C,EAAE;EAC/E,IAAI,CAACA,GAAG,EAAE,OAAO,CAAC,CAAC;EAEnB,OAAOY,MAAM,CAACE,IAAI,CAACd,GAAG,CAAC,CAAC+I,MAAM,CAAC,CAACrE,CAAM,EAAEE,GAAW,KAAK;IACtDF,CAAC,CAACtF,QAAQ,CAACwF,GAAG,CAAC,CAAC,GAAG5E,GAAG,CAAC4E,GAAG,CAAC;IAC3B,OAAOF,CAAC;EACV,CAAC,EAAE,CAAC,CAAC,CAAC;AACR;AAEA,OAAO,SAAS8F,SAASA,CAAA,EAIvB;EAAA,IAHAC,MAA2B,GAAA7I,SAAA,CAAAxB,MAAA,QAAAwB,SAAA,QAAAvB,SAAA,GAAAuB,SAAA,MAAG,CAAC,CAAC;EAAA,IAChC8I,MAA2B,GAAA9I,SAAA,CAAAxB,MAAA,QAAAwB,SAAA,QAAAvB,SAAA,GAAAuB,SAAA,MAAG,CAAC,CAAC;EAAA,IAChC+I,OAAmD,GAAA/I,SAAA,CAAAxB,MAAA,OAAAwB,SAAA,MAAAvB,SAAA;EAEnD,MAAMuK,GAAwB,GAAG,CAAC,CAAC;EAEnC,KAAK,MAAMhG,GAAG,IAAI6F,MAAM,EAAE;IACxBG,GAAG,CAAChG,GAAG,CAAC,GAAG6F,MAAM,CAAC7F,GAAG,CAAC;EACxB;EAEA,KAAK,MAAMA,GAAG,IAAI8F,MAAM,EAAE;IACxB,MAAMG,cAAc,GAAGJ,MAAM,CAAC7F,GAAG,CAAC;IAClC,MAAMkG,cAAc,GAAGJ,MAAM,CAAC9F,GAAG,CAAC;;IAElC;IACA;IACA,IACE3B,QAAQ,CAAC4H,cAAc,CAAC,IACxB5H,QAAQ,CAAC6H,cAAc,CAAC,EACxB;MACAF,GAAG,CAAChG,GAAG,CAAC,GAAG4F,SAAS,CAACK,cAAc,EAAEC,cAAc,EAAEH,OAAO,CAAC;MAE7D;IACF;IAEA,IAAInJ,KAAK,CAACC,OAAO,CAACoJ,cAAc,CAAC,IAAIrJ,KAAK,CAACC,OAAO,CAACqJ,cAAc,CAAC,IAAIH,OAAO,EAAE;MAC7EC,GAAG,CAAChG,GAAG,CAAC,GAAG+F,OAAO,CAACE,cAAc,EAAEC,cAAc,CAAC;MAElD;IACF;IAEAF,GAAG,CAAChG,GAAG,CAAC,GAAGkG,cAAc;EAC3B;EAEA,OAAOF,GAAG;AACZ;AAEA,OAAO,SAASG,SAASA,CAAK3K,MAAc,EAAEJ,GAAM,EAAE;EACpD,OAAOwB,KAAK,CAACpB,MAAM,CAAC,CAAC4K,IAAI,CAAChL,GAAG,CAAC;AAChC;AAEA,OAAO,SAASiL,gBAAgBA,CAAEC,KAAc,EAAW;EACzD,OAAOA,KAAK,CAACC,GAAG,CAACC,IAAI,IAAI;IACvB,IAAIA,IAAI,CAACC,IAAI,KAAK7L,QAAQ,EAAE;MAC1B,OAAOyL,gBAAgB,CAACG,IAAI,CAACE,QAAmB,CAAC;IACnD,CAAC,MAAM;MACL,OAAOF,IAAI;IACb;EACF,CAAC,CAAC,CAACG,IAAI,CAAC,CAAC;AACX;AAEA,OAAO,MAAMC,cAAc,GAAGA,CAAA,KAAM;EAClC,MAAMC,CAAC,GAAG,CAACtC,IAAI,CAACuC,MAAM,CAAC,CAAC,GAAG,OAAO,GAAG,OAAO,EAAEtE,QAAQ,CAAC,EAAE,CAAC;EAC1D,OAAO,GAAG,GAAGqE,CAAC,CAACxB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED,OAAO,SAAS0B,WAAWA,CAAA,EAAY;EAAA,IAAVhJ,GAAG,GAAAf,SAAA,CAAAxB,MAAA,QAAAwB,SAAA,QAAAvB,SAAA,GAAAuB,SAAA,MAAG,EAAE;EACnC,IAAI+J,WAAW,CAACC,KAAK,CAACjH,GAAG,CAAChC,GAAG,CAAC,EAAE,OAAOgJ,WAAW,CAACC,KAAK,CAACC,GAAG,CAAClJ,GAAG,CAAC;EACjE,MAAMmJ,KAAK,GAAGnJ,GAAG,CACdzB,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CACxBA,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAC5BuG,WAAW,CAAC,CAAC;EAChBkE,WAAW,CAACC,KAAK,CAACG,GAAG,CAACpJ,GAAG,EAAEmJ,KAAK,CAAC;EACjC,OAAOA,KAAK;AACd;AACAH,WAAW,CAACC,KAAK,GAAG,IAAII,GAAG,CAAiB,CAAC;AAI7C,OAAO,SAASC,YAAYA,CAAEC,KAAkB,EAA+B;EAC7E,IAAI,CAACA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACvC,OAAO,EAAE;EACX;EAEA,IAAI1K,KAAK,CAACC,OAAO,CAACyK,KAAK,CAAC,EAAE;IACxB,OAAOA,KAAK,CACTf,GAAG,CAACgB,KAAK,IAAIF,YAAY,CAACE,KAAK,CAAC,CAAC,CACjCxE,MAAM,CAAC7F,CAAC,IAAIA,CAAC,CAAC,CACdyJ,IAAI,CAAC,CAAC,CAAC;EACZ,CAAC,MAAM,IAAI/J,KAAK,CAACC,OAAO,CAACyK,KAAK,CAACZ,QAAQ,CAAC,EAAE;IACxC,OAAOY,KAAK,CAACZ,QAAQ,CAClBH,GAAG,CAACgB,KAAK,IAAIF,YAAY,CAACE,KAAK,CAAC,CAAC,CACjCxE,MAAM,CAAC7F,CAAC,IAAIA,CAAC,CAAC,CACdyJ,IAAI,CAAC,CAAC,CAAC;EACZ,CAAC,MAAM,IAAIW,KAAK,CAACE,SAAS,EAAE;IAC1B,OAAO,CAACF,KAAK,CAACE,SAAS,EAAE,GAAGH,YAAY,CAACC,KAAK,CAACE,SAAS,EAAEC,OAAO,CAAC,CAAC,CAChE1E,MAAM,CAAC7F,CAAC,IAAIA,CAAC,CAAC,CACdyJ,IAAI,CAAC,CAAC,CAAC;EACZ;EAEA,OAAO,EAAE;AACX;AAEA,OAAO,SAASe,uBAAuBA,CACrC1H,GAA+B,EAC/BsH,KAAkB,EACW;EAC7B,IAAI,CAACA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAO,EAAE;EAElD,IAAI1K,KAAK,CAACC,OAAO,CAACyK,KAAK,CAAC,EAAE;IACxB,OAAOA,KAAK,CAACf,GAAG,CAACgB,KAAK,IAAIG,uBAAuB,CAAC1H,GAAG,EAAEuH,KAAK,CAAC,CAAC,CAACZ,IAAI,CAAC,CAAC,CAAC;EACxE,CAAC,MAAM,IAAI/J,KAAK,CAACC,OAAO,CAACyK,KAAK,CAACZ,QAAQ,CAAC,EAAE;IACxC,OAAOY,KAAK,CAACZ,QAAQ,CAACH,GAAG,CAACgB,KAAK,IAAIG,uBAAuB,CAAC1H,GAAG,EAAEuH,KAAK,CAAC,CAAC,CAACZ,IAAI,CAAC,CAAC,CAAC;EACjF,CAAC,MAAM,IAAIW,KAAK,CAACE,SAAS,EAAE;IAC1B,IAAIxL,MAAM,CAAC2L,qBAAqB,CAACL,KAAK,CAACE,SAAS,CAACI,QAAQ,CAAC,CAAClG,QAAQ,CAAC1B,GAAa,CAAC,EAAE;MAClF,OAAO,CAACsH,KAAK,CAACE,SAAS,CAAC;IAC1B,CAAC,MAAM,IAAIF,KAAK,CAACE,SAAS,CAACC,OAAO,EAAE;MAClC,OAAOC,uBAAuB,CAAC1H,GAAG,EAAEsH,KAAK,CAACE,SAAS,CAACC,OAAO,CAAC,CAACd,IAAI,CAAC,CAAC,CAAC;IACtE;EACF;EAEA,OAAO,EAAE;AACX;AAAC,IAAAkB,IAAA,oBAAAC,OAAA;AAAA,IAAAC,QAAA,oBAAAD,OAAA;AAED,OAAO,MAAME,cAAc,CAAY;EAIrCC,WAAWA,CAAkBlD,IAAY,EAAE;IAAAmD,0BAAA,OAAAL,IAAA;MAAAM,QAAA;MAAAxL,KAAA,EAHjB;IAAE;IAAAuL,0BAAA,OAAAH,QAAA;MAAAI,QAAA;MAAAxL,KAAA,EACjB;IAAC;IAAA,KAEiBoI,IAAY,GAAZA,IAAY;EAAG;EAE5C3C,IAAIA,CAAEgG,GAAM,EAAE;IACZC,qBAAA,KAAI,EAAAR,IAAA,EAAAQ,qBAAA,CAAM,IAAI,EAAAN,QAAA,EAAU,GAAGK,GAAG;IAC9BE,qBAAA,KAAI,EAAAP,QAAA,EAAY,CAACM,qBAAA,KAAI,EAAAN,QAAA,IAAY,CAAC,IAAI,IAAI,CAAChD,IAAI;EACjD;EAEAwD,MAAMA,CAAA,EAAS;IACb,OAAOF,qBAAA,KAAI,EAAAR,IAAA,EAAMxC,KAAK,CAAAgD,qBAAA,CAAC,IAAI,EAAAN,QAAA,CAAS,CAAC,CAACS,MAAM,CAACH,qBAAA,KAAI,EAAAR,IAAA,EAAMxC,KAAK,CAAC,CAAC,EAAAgD,qBAAA,CAAE,IAAI,EAAAN,QAAA,CAAS,CAAC,CAAC;EACjF;AACF;AAKA,OAAO,SAASU,mBAAmBA,CAAEjH,CAA0B,EAAE;EAC/D,IAAI,SAAS,IAAIA,CAAC,EAAE;IAClB,OAAO;MAAEkH,OAAO,EAAElH,CAAC,CAACmH,OAAO,CAAC,CAAC,CAAC,CAACD,OAAO;MAAEE,OAAO,EAAEpH,CAAC,CAACmH,OAAO,CAAC,CAAC,CAAC,CAACC;IAAQ,CAAC;EACzE;EAEA,OAAO;IAAEF,OAAO,EAAElH,CAAC,CAACkH,OAAO;IAAEE,OAAO,EAAEpH,CAAC,CAACoH;EAAQ,CAAC;AACnD;;AAEA;;AAIA;AACA;AACA;AACA;;AAEA,OAAO,SAASC,gBAAgBA,CAAoBC,MAAyB,EAAE;EAC7E,MAAMC,IAAI,GAAGjO,QAAQ,CAAC,CAAC,CAAC,CAAM;EAC9B,MAAM0K,IAAI,GAAG7K,QAAQ,CAACmO,MAAM,CAAC;EAC7B7N,WAAW,CAAC,MAAM;IAChB,KAAK,MAAM+E,GAAG,IAAIwF,IAAI,CAAC7I,KAAK,EAAE;MAC5BoM,IAAI,CAAC/I,GAAG,CAAC,GAAGwF,IAAI,CAAC7I,KAAK,CAACqD,GAAG,CAAC;IAC7B;EACF,CAAC,EAAE;IAAEgJ,KAAK,EAAE;EAAO,CAAC,CAAC;EACrB,OAAOjO,MAAM,CAACgO,IAAI,CAAC;AACrB;;AAEA;AACA,OAAO,SAASrH,QAAQA,CAAEuH,GAAmB,EAAEb,GAAQ,EAAE;EACvD,OAAOa,GAAG,CAACvH,QAAQ,CAAC0G,GAAG,CAAC;AAC1B;AAEA,OAAO,SAASc,SAASA,CAAEC,QAAgB,EAAE;EAC3C,OAAOA,QAAQ,CAAC,CAAC,CAAC,CAACtG,WAAW,CAAC,CAAC,GAAGsG,QAAQ,CAAC9D,KAAK,CAAC,CAAC,CAAC;AACtD;AAGA,OAAO,MAAM+D,SAAS,GAAGA,CAAA,KAA+B,CAACC,QAAQ,EAAEzM,KAAK,CAA2B;AAEnG,OAAO,SAAS0M,QAAQA,CAAErN,KAA0B,EAAEsN,IAAY,EAAE;EAClEA,IAAI,GAAG,IAAI,GAAG9O,UAAU,CAAC8O,IAAI,CAAC;EAC9B,OAAO,CAAC,EAAEtN,KAAK,CAACsN,IAAI,CAAC,IAAItN,KAAK,CAAE,GAAEsN,IAAK,MAAK,CAAC,IAAItN,KAAK,CAAE,GAAEsN,IAAK,SAAQ,CAAC,IAAItN,KAAK,CAAE,GAAEsN,IAAK,aAAY,CAAC,IAAItN,KAAK,CAAE,GAAEsN,IAAK,aAAY,CAAC,CAAC;AACzI;AAEA,OAAO,SAASC,SAASA,CAAmBC,OAAiC,EAAc;EAAA,SAAAC,KAAA,GAAA1M,SAAA,CAAAxB,MAAA,EAAT8H,IAAI,OAAA1G,KAAA,CAAA8M,KAAA,OAAAA,KAAA,WAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;IAAJrG,IAAI,CAAAqG,KAAA,QAAA3M,SAAA,CAAA2M,KAAA;EAAA;EACpF,IAAI/M,KAAK,CAACC,OAAO,CAAC4M,OAAO,CAAC,EAAE;IAC1B,KAAK,MAAMG,CAAC,IAAIH,OAAO,EAAE;MACvBG,CAAC,CAAC,GAAGtG,IAAI,CAAC;IACZ;EACF,CAAC,MAAM,IAAI,OAAOmG,OAAO,KAAK,UAAU,EAAE;IACxCA,OAAO,CAAC,GAAGnG,IAAI,CAAC;EAClB;AACF;AAEA,OAAO,SAASuG,iBAAiBA,CAAExM,EAAW,EAA2B;EAAA,IAAzByM,gBAAgB,GAAA9M,SAAA,CAAAxB,MAAA,QAAAwB,SAAA,QAAAvB,SAAA,GAAAuB,SAAA,MAAG,IAAI;EACrE,MAAM+M,OAAO,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,4BAA4B,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC,CACnGxD,GAAG,CAACyD,CAAC,IAAK,GAAEA,CAAE,GAAEF,gBAAgB,GAAG,uBAAuB,GAAG,EAAG,kBAAiB,CAAC,CAClFG,IAAI,CAAC,IAAI,CAAC;EACb,OAAO,CAAC,GAAG5M,EAAE,CAAC6M,gBAAgB,CAACH,OAAO,CAAC,CAAC;AAC1C;AAEA,OAAO,SAASI,cAAcA,CAAEC,QAAuB,EAAEC,QAA0B,EAAEC,SAAwC,EAAE;EAC7H,IAAIC,GAAG;EACP,IAAIC,GAAG,GAAGJ,QAAQ,CAAC1H,OAAO,CAAC+H,QAAQ,CAACC,aAA4B,CAAC;EACjE,MAAMC,GAAG,GAAGN,QAAQ,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;EACxC,GAAG;IACDG,GAAG,IAAIG,GAAG;IACVJ,GAAG,GAAGH,QAAQ,CAACI,GAAG,CAAC;EACrB,CAAC,QAAQ,CAAC,CAACD,GAAG,IAAIA,GAAG,CAACK,YAAY,IAAI,IAAI,IAAI,EAAEN,SAAS,GAAGC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAKC,GAAG,GAAGJ,QAAQ,CAAC5O,MAAM,IAAIgP,GAAG,IAAI,CAAC;EAC/G,OAAOD,GAAG;AACZ;AAEA,OAAO,SAASM,UAAUA,CAAExN,EAAW,EAAEgN,QAAsD,EAAE;EAC/F,MAAMS,SAAS,GAAGjB,iBAAiB,CAACxM,EAAE,CAAC;EAEvC,IAAI,CAACgN,QAAQ,EAAE;IACb,IAAIhN,EAAE,KAAKoN,QAAQ,CAACC,aAAa,IAAI,CAACrN,EAAE,CAAC0N,QAAQ,CAACN,QAAQ,CAACC,aAAa,CAAC,EAAE;MACzEI,SAAS,CAAC,CAAC,CAAC,EAAEE,KAAK,CAAC,CAAC;IACvB;EACF,CAAC,MAAM,IAAIX,QAAQ,KAAK,OAAO,EAAE;IAC/BS,SAAS,CAAC,CAAC,CAAC,EAAEE,KAAK,CAAC,CAAC;EACvB,CAAC,MAAM,IAAIX,QAAQ,KAAK,MAAM,EAAE;IAC9BS,SAAS,CAACG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAED,KAAK,CAAC,CAAC;EAC3B,CAAC,MAAM,IAAI,OAAOX,QAAQ,KAAK,QAAQ,EAAE;IACvCS,SAAS,CAACT,QAAQ,CAAC,EAAEW,KAAK,CAAC,CAAC;EAC9B,CAAC,MAAM;IACL,MAAMT,GAAG,GAAGJ,cAAc,CAACW,SAAS,EAAET,QAAQ,CAAC;IAC/C,IAAIE,GAAG,EAAEA,GAAG,CAACS,KAAK,CAAC,CAAC,MACfH,UAAU,CAACxN,EAAE,EAAEgN,QAAQ,KAAK,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;EAC7D;AACF;AAEA,OAAO,SAASa,OAAOA,CAAE9C,GAAQ,EAAW;EAC1C,OAAOA,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAK3M,SAAS,IAAK,OAAO2M,GAAG,KAAK,QAAQ,IAAIA,GAAG,CAACtF,IAAI,CAAC,CAAC,KAAK,EAAG;AAC5F;AAEA,OAAO,SAASqI,IAAIA,CAAA,EAAI,CAAC;;AAEzB;AACA,OAAO,SAASC,eAAeA,CAAE/N,EAAuB,EAAEgO,QAAgB,EAAkB;EAC1F,MAAMC,gBAAgB,GAAGpQ,UAAU,IACjC,OAAOqQ,GAAG,KAAK,WAAW,IAC1B,OAAOA,GAAG,CAACC,QAAQ,KAAK,WAAW,IACnCD,GAAG,CAACC,QAAQ,CAAE,YAAWH,QAAS,GAAE,CAAC;EAEvC,IAAI,CAACC,gBAAgB,EAAE,OAAO,IAAI;EAElC,IAAI;IACF,OAAO,CAAC,CAACjO,EAAE,IAAIA,EAAE,CAACoO,OAAO,CAACJ,QAAQ,CAAC;EACrC,CAAC,CAAC,OAAOK,GAAG,EAAE;IACZ,OAAO,IAAI;EACb;AACF;AAEA,OAAO,SAASC,gBAAgBA,CAAEC,MAA0B,EAA6B;EACvF,OAAOA,MAAM,CAAClL,IAAI,CAAC6G,KAAK,IAAI;IAC1B,IAAI,CAAC1M,OAAO,CAAC0M,KAAK,CAAC,EAAE,OAAO,IAAI;IAChC,IAAIA,KAAK,CAACd,IAAI,KAAK/L,OAAO,EAAE,OAAO,KAAK;IACxC,OAAO6M,KAAK,CAACd,IAAI,KAAK7L,QAAQ,IAC5B+Q,gBAAgB,CAACpE,KAAK,CAACb,QAA8B,CAAC;EAC1D,CAAC,CAAC,GACEkF,MAAM,GACN,IAAI;AACV"}
1
+ {"version":3,"file":"helpers.mjs","names":["capitalize","Comment","computed","Fragment","isVNode","reactive","toRefs","unref","watchEffect","IN_BROWSER","getNestedValue","obj","path","fallback","last","length","undefined","i","deepEqual","a","b","Date","getTime","Object","props","keys","every","p","getObjectValueByPath","replace","split","getPropertyFromItem","item","property","value","Array","isArray","createRange","start","arguments","from","v","k","getZIndex","el","nodeType","Node","ELEMENT_NODE","index","window","getComputedStyle","getPropertyValue","parentNode","convertToUnit","str","unit","isNaN","String","isFinite","Number","isObject","refElement","$el","TEXT_NODE","nextElementSibling","keyCodes","freeze","enter","tab","delete","esc","space","up","down","left","right","end","home","del","backspace","insert","pageup","pagedown","shift","keyValues","o","has","key","hasOwnProperty","pick","paths","found","Set","pickWithRest","exclude","create","rest","some","RegExp","test","omit","clone","forEach","prop","only","include","onRE","isOn","bubblingEvents","compositionIgnoreKeys","isComposingIgnoreKey","e","isComposing","includes","filterInputAttrs","attrs","events","inputEvents","rootAttrs","inputAttrs","assign","arrayDiff","diff","push","wrapInArray","defaultFilter","search","toString","toLocaleLowerCase","indexOf","debounce","fn","delay","timeoutId","wrap","_len","args","_key","clearTimeout","setTimeout","clear","immediate","throttle","limit","throttling","clamp","min","max","Math","getDecimals","trimmedStr","trim","padEnd","char","repeat","padStart","chunk","size","chunked","substr","chunkArray","array","ceil","slice","humanReadableFileSize","bytes","base","prefix","abs","toFixed","mergeDeep","source","target","arrayFn","out","sourceProperty","targetProperty","flattenFragments","nodes","map","node","type","children","flat","toKebabCase","cache","get","kebab","toLowerCase","set","Map","findChildrenWithProvide","vnode","child","component","getOwnPropertySymbols","provides","subTree","_arr","WeakMap","_pointer","CircularBuffer","constructor","_classPrivateFieldInitSpec","writable","val","_classPrivateFieldGet","_classPrivateFieldSet","values","concat","getEventCoordinates","clientX","touches","clientY","destructComputed","getter","refs","flush","arr","eventName","propName","EventProp","Function","hasEvent","name","callEvent","handler","_len2","_key2","h","focusableChildren","filterByTabIndex","targets","s","join","querySelectorAll","getNextElement","elements","location","condition","_el","idx","document","activeElement","inc","offsetParent","focusChild","focusable","contains","focus","at","isEmpty","noop","matchesSelector","selector","supportsSelector","CSS","supports","matches","err","ensureValidVNode","vnodes","defer","timeout","cb"],"sources":["../../src/util/helpers.ts"],"sourcesContent":["// Utilities\nimport { capitalize, Comment, computed, Fragment, isVNode, reactive, toRefs, unref, watchEffect } from 'vue'\nimport { IN_BROWSER } from '@/util/globals'\n\n// Types\nimport type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n ComputedGetter,\n InjectionKey,\n PropType,\n Ref,\n ToRefs,\n VNode,\n VNodeArrayChildren,\n VNodeChild,\n} from 'vue'\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path?: string | null, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj[path] !== undefined) return obj[path]\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\nexport type SelectItemKey<T = Record<string, any>> =\n | boolean | null | undefined // Ignored\n | string // Lookup by key, can use dot notation for nested objects\n | readonly (string | number)[] // Nested lookup by key, each array item is a key in the next level\n | ((item: T, fallback?: any) => any)\n\nexport function getPropertyFromItem (\n item: any,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property === true) return item === undefined ? fallback : item\n\n if (property == null || typeof property === 'boolean') return fallback\n\n if (item !== Object(item)) {\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n }\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number, start = 0): number[] {\n return Array.from({ length }, (v, k) => start + k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = +window.getComputedStyle(el).getPropertyValue('z-index')\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nexport function convertToUnit (str: number, unit?: string): string\nexport function convertToUnit (str: string | number | null | undefined, unit?: string): string | undefined\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else if (!isFinite(+str!)) {\n return undefined\n } else {\n return `${Number(str)}${unit}`\n }\n}\n\nexport function isObject (obj: any): obj is object {\n return obj !== null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nexport function refElement (obj?: ComponentPublicInstance<any> | HTMLElement): HTMLElement | undefined {\n if (obj && '$el' in obj) {\n const el = obj.$el as HTMLElement\n if (el?.nodeType === Node.TEXT_NODE) {\n // Multi-root component, use the first element\n return el.nextElementSibling as HTMLElement\n }\n return el\n }\n return obj as HTMLElement\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16,\n})\n\nexport const keyValues: Record<string, string> = Object.freeze({\n enter: 'Enter',\n tab: 'Tab',\n delete: 'Delete',\n esc: 'Escape',\n space: 'Space',\n up: 'ArrowUp',\n down: 'ArrowDown',\n left: 'ArrowLeft',\n right: 'ArrowRight',\n end: 'End',\n home: 'Home',\n del: 'Delete',\n backspace: 'Backspace',\n insert: 'Insert',\n pageup: 'PageUp',\n pagedown: 'PageDown',\n shift: 'Shift',\n})\n\nexport function keys<O extends {}> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\nexport function has<T extends string> (obj: object, key: T[]): obj is Record<T, unknown> {\n return key.every(k => obj.hasOwnProperty(k))\n}\n\ntype MaybePick<\n T extends object,\n U extends Extract<keyof T, string>\n> = Record<string, unknown> extends T ? Partial<Pick<T, U>> : Pick<T, U>\n\n// Array of keys\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: U[]): MaybePick<T, U> {\n const found: any = {}\n\n const keys = new Set(Object.keys(obj))\n for (const path of paths) {\n if (keys.has(path)) {\n found[path] = obj[path]\n }\n }\n\n return found\n}\n\n// Array of keys\nexport function pickWithRest<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: U[], exclude?: E[]): [yes: MaybePick<T, Exclude<U, E>>, no: Omit<T, Exclude<U, E>>]\n// Array of keys or RegExp to test keys against\nexport function pickWithRest<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[], exclude?: E[]): [yes: Partial<T>, no: Partial<T>]\nexport function pickWithRest<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[], exclude?: E[]): [yes: Partial<T>, no: Partial<T>] {\n const found = Object.create(null)\n const rest = Object.create(null)\n\n for (const key in obj) {\n if (\n paths.some(path => path instanceof RegExp\n ? path.test(key)\n : path === key\n ) && !exclude?.some(path => path === key)\n ) {\n found[key] = obj[key]\n } else {\n rest[key] = obj[key]\n }\n }\n\n return [found, rest]\n}\n\nexport function omit<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, exclude: U[]): Omit<T, U> {\n const clone = { ...obj }\n\n exclude.forEach(prop => delete clone[prop])\n\n return clone\n}\n\nexport function only<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, include: U[]): Pick<T, U> {\n const clone = {} as T\n\n include.forEach(prop => clone[prop] = obj[prop])\n\n return clone\n}\n\nconst onRE = /^on[^a-z]/\nexport const isOn = (key: string) => onRE.test(key)\n\nconst bubblingEvents = [\n 'onAfterscriptexecute',\n 'onAnimationcancel',\n 'onAnimationend',\n 'onAnimationiteration',\n 'onAnimationstart',\n 'onAuxclick',\n 'onBeforeinput',\n 'onBeforescriptexecute',\n 'onChange',\n 'onClick',\n 'onCompositionend',\n 'onCompositionstart',\n 'onCompositionupdate',\n 'onContextmenu',\n 'onCopy',\n 'onCut',\n 'onDblclick',\n 'onFocusin',\n 'onFocusout',\n 'onFullscreenchange',\n 'onFullscreenerror',\n 'onGesturechange',\n 'onGestureend',\n 'onGesturestart',\n 'onGotpointercapture',\n 'onInput',\n 'onKeydown',\n 'onKeypress',\n 'onKeyup',\n 'onLostpointercapture',\n 'onMousedown',\n 'onMousemove',\n 'onMouseout',\n 'onMouseover',\n 'onMouseup',\n 'onMousewheel',\n 'onPaste',\n 'onPointercancel',\n 'onPointerdown',\n 'onPointerenter',\n 'onPointerleave',\n 'onPointermove',\n 'onPointerout',\n 'onPointerover',\n 'onPointerup',\n 'onReset',\n 'onSelect',\n 'onSubmit',\n 'onTouchcancel',\n 'onTouchend',\n 'onTouchmove',\n 'onTouchstart',\n 'onTransitioncancel',\n 'onTransitionend',\n 'onTransitionrun',\n 'onTransitionstart',\n 'onWheel',\n]\n\nconst compositionIgnoreKeys = [\n 'ArrowUp',\n 'ArrowDown',\n 'ArrowRight',\n 'ArrowLeft',\n 'Enter',\n 'Escape',\n 'Tab',\n ' ',\n]\n\nexport function isComposingIgnoreKey (e: KeyboardEvent): boolean {\n return e.isComposing && compositionIgnoreKeys.includes(e.key)\n}\n\n/**\n * Filter attributes that should be applied to\n * the root element of an input component. Remaining\n * attributes should be passed to the <input> element inside.\n */\nexport function filterInputAttrs (attrs: Record<string, unknown>) {\n const [events, props] = pickWithRest(attrs, [onRE])\n const inputEvents = omit(events, bubblingEvents)\n const [rootAttrs, inputAttrs] = pickWithRest(props, ['class', 'style', 'id', /^data-/])\n Object.assign(rootAttrs, events)\n Object.assign(inputAttrs, inputEvents)\n return [rootAttrs, inputAttrs]\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (!a.includes(b[i])) diff.push(b[i])\n }\n return diff\n}\n\ntype IfAny<T, Y, N> = 0 extends (1 & T) ? Y : N;\nexport function wrapInArray<T> (\n v: T | null | undefined\n): T extends readonly any[]\n ? IfAny<T, T[], T>\n : NonNullable<T>[] {\n return v == null\n ? []\n : Array.isArray(v)\n ? v as any : [v]\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function debounce (fn: Function, delay: MaybeRef<number>) {\n let timeoutId = 0 as any\n const wrap = (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), unref(delay))\n }\n wrap.clear = () => {\n clearTimeout(timeoutId)\n }\n wrap.immediate = fn\n return wrap\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n let throttling = false\n return (...args: Parameters<T>): void | ReturnType<T> => {\n if (!throttling) {\n throttling = true\n setTimeout(() => throttling = false, limit)\n return fn(...args)\n }\n }\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function getDecimals (value: number) {\n const trimmedStr = value.toString().trim()\n return trimmedStr.includes('.')\n ? (trimmedStr.length - trimmedStr.indexOf('.') - 1)\n : 0\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function padStart (str: string, length: number, char = '0') {\n return char.repeat(Math.max(0, length - str.length)) + str\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function chunkArray (array: any[], size = 1) {\n return Array.from({ length: Math.ceil(array.length / size) }, (v, i) =>\n array.slice(i * size, i * size + size)\n )\n}\n\nexport function humanReadableFileSize (bytes: number, base: 1000 | 1024 = 1000): string {\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = base === 1024 ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function mergeDeep (\n source: Record<string, any> = {},\n target: Record<string, any> = {},\n arrayFn?: (a: unknown[], b: unknown[]) => unknown[],\n) {\n const out: Record<string, any> = {}\n\n for (const key in source) {\n out[key] = source[key]\n }\n\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (\n isObject(sourceProperty) &&\n isObject(targetProperty)\n ) {\n out[key] = mergeDeep(sourceProperty, targetProperty, arrayFn)\n\n continue\n }\n\n if (Array.isArray(sourceProperty) && Array.isArray(targetProperty) && arrayFn) {\n out[key] = arrayFn(sourceProperty, targetProperty)\n\n continue\n }\n\n out[key] = targetProperty\n }\n\n return out\n}\n\nexport function flattenFragments (nodes: VNode[]): VNode[] {\n return nodes.map(node => {\n if (node.type === Fragment) {\n return flattenFragments(node.children as VNode[])\n } else {\n return node\n }\n }).flat()\n}\n\nexport function toKebabCase (str = '') {\n if (toKebabCase.cache.has(str)) return toKebabCase.cache.get(str)!\n const kebab = str\n .replace(/[^a-z]/gi, '-')\n .replace(/\\B([A-Z])/g, '-$1')\n .toLowerCase()\n toKebabCase.cache.set(str, kebab)\n return kebab\n}\ntoKebabCase.cache = new Map<string, string>()\n\nexport type MaybeRef<T> = T | Ref<T>\n\nexport function findChildrenWithProvide (\n key: InjectionKey<any> | symbol,\n vnode?: VNodeChild,\n): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') return []\n\n if (Array.isArray(vnode)) {\n return vnode.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (vnode.component) {\n if (Object.getOwnPropertySymbols(vnode.component.provides).includes(key as symbol)) {\n return [vnode.component]\n } else if (vnode.component.subTree) {\n return findChildrenWithProvide(key, vnode.component.subTree).flat(1)\n }\n }\n\n return []\n}\n\nexport class CircularBuffer<T = never> {\n readonly #arr: Array<T> = []\n #pointer = 0\n\n constructor (public readonly size: number) {}\n\n push (val: T) {\n this.#arr[this.#pointer] = val\n this.#pointer = (this.#pointer + 1) % this.size\n }\n\n values (): T[] {\n return this.#arr.slice(this.#pointer).concat(this.#arr.slice(0, this.#pointer))\n }\n}\n\nexport type UnionToIntersection<U> =\n (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never\n\nexport function getEventCoordinates (e: MouseEvent | TouchEvent) {\n if ('touches' in e) {\n return { clientX: e.touches[0].clientX, clientY: e.touches[0].clientY }\n }\n\n return { clientX: e.clientX, clientY: e.clientY }\n}\n\n// Only allow a single return type\ntype NotAUnion<T> = [T] extends [infer U] ? _NotAUnion<U, U> : never\ntype _NotAUnion<T, U> = U extends any ? [T] extends [U] ? unknown : never : never\n\n/**\n * Convert a computed ref to a record of refs.\n * The getter function must always return an object with the same keys.\n */\nexport function destructComputed<T extends object> (getter: ComputedGetter<T & NotAUnion<T>>): ToRefs<T>\nexport function destructComputed<T extends object> (getter: ComputedGetter<T>) {\n const refs = reactive({}) as T\n const base = computed(getter)\n watchEffect(() => {\n for (const key in base.value) {\n refs[key] = base.value[key]\n }\n }, { flush: 'sync' })\n return toRefs(refs)\n}\n\n/** Array.includes but value can be any type */\nexport function includes (arr: readonly any[], val: any) {\n return arr.includes(val)\n}\n\nexport function eventName (propName: string) {\n return propName[2].toLowerCase() + propName.slice(3)\n}\n\nexport type EventProp<T extends any[] = any[], F = (...args: T) => void> = F\nexport const EventProp = <T extends any[] = any[]>() => [Function, Array] as PropType<EventProp<T>>\n\nexport function hasEvent (props: Record<string, any>, name: string) {\n name = 'on' + capitalize(name)\n return !!(props[name] || props[`${name}Once`] || props[`${name}Capture`] || props[`${name}OnceCapture`] || props[`${name}CaptureOnce`])\n}\n\nexport function callEvent<T extends any[]> (handler: EventProp<T> | undefined, ...args: T) {\n if (Array.isArray(handler)) {\n for (const h of handler) {\n h(...args)\n }\n } else if (typeof handler === 'function') {\n handler(...args)\n }\n}\n\nexport function focusableChildren (el: Element, filterByTabIndex = true) {\n const targets = ['button', '[href]', 'input:not([type=\"hidden\"])', 'select', 'textarea', '[tabindex]']\n .map(s => `${s}${filterByTabIndex ? ':not([tabindex=\"-1\"])' : ''}:not([disabled])`)\n .join(', ')\n return [...el.querySelectorAll(targets)] as HTMLElement[]\n}\n\nexport function getNextElement (elements: HTMLElement[], location?: 'next' | 'prev', condition?: (el: HTMLElement) => boolean) {\n let _el\n let idx = elements.indexOf(document.activeElement as HTMLElement)\n const inc = location === 'next' ? 1 : -1\n do {\n idx += inc\n _el = elements[idx]\n } while ((!_el || _el.offsetParent == null || !(condition?.(_el) ?? true)) && idx < elements.length && idx >= 0)\n return _el\n}\n\nexport function focusChild (el: Element, location?: 'next' | 'prev' | 'first' | 'last' | number) {\n const focusable = focusableChildren(el)\n\n if (!location) {\n if (el === document.activeElement || !el.contains(document.activeElement)) {\n focusable[0]?.focus()\n }\n } else if (location === 'first') {\n focusable[0]?.focus()\n } else if (location === 'last') {\n focusable.at(-1)?.focus()\n } else if (typeof location === 'number') {\n focusable[location]?.focus()\n } else {\n const _el = getNextElement(focusable, location)\n if (_el) _el.focus()\n else focusChild(el, location === 'next' ? 'first' : 'last')\n }\n}\n\nexport function isEmpty (val: any): boolean {\n return val === null || val === undefined || (typeof val === 'string' && val.trim() === '')\n}\n\nexport function noop () {}\n\n/** Returns null if the selector is not supported or we can't check */\nexport function matchesSelector (el: Element | undefined, selector: string): boolean | null {\n const supportsSelector = IN_BROWSER &&\n typeof CSS !== 'undefined' &&\n typeof CSS.supports !== 'undefined' &&\n CSS.supports(`selector(${selector})`)\n\n if (!supportsSelector) return null\n\n try {\n return !!el && el.matches(selector)\n } catch (err) {\n return null\n }\n}\n\nexport function ensureValidVNode (vnodes: VNodeArrayChildren): VNodeArrayChildren | null {\n return vnodes.some(child => {\n if (!isVNode(child)) return true\n if (child.type === Comment) return false\n return child.type !== Fragment ||\n ensureValidVNode(child.children as VNodeArrayChildren)\n })\n ? vnodes\n : null\n}\n\nexport function defer (timeout: number, cb: () => void) {\n if (!IN_BROWSER || timeout === 0) {\n cb()\n\n return () => {}\n }\n\n const timeoutId = window.setTimeout(cb, timeout)\n\n return () => window.clearTimeout(timeoutId)\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vuetify",
3
3
  "description": "Vue Material Component Framework",
4
- "version": "3.4.9",
4
+ "version": "3.4.11",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"
@@ -121,33 +121,34 @@
121
121
  "devDependencies": {
122
122
  "@date-io/core": "2.17.0",
123
123
  "@date-io/date-fns": "2.17.0",
124
+ "@date-io/dayjs": "^3.0.0",
124
125
  "@formatjs/intl": "^2.9.9",
125
126
  "@fortawesome/fontawesome-svg-core": "^6.4.2",
126
127
  "@fortawesome/free-solid-svg-icons": "^6.4.2",
127
128
  "@fortawesome/vue-fontawesome": "^3.0.5",
128
- "@percy/cli": "^1.27.4",
129
+ "@percy/cli": "^1.27.7",
129
130
  "@percy/cypress": "^3.1.2",
130
131
  "@rollup/plugin-alias": "^5.1.0",
131
132
  "@rollup/plugin-babel": "^6.0.4",
132
133
  "@rollup/plugin-node-resolve": "^15.2.3",
133
134
  "@rollup/plugin-typescript": "^11.1.5",
134
135
  "@types/jest": "^28.1.8",
135
- "@types/node": "^20.10.0",
136
+ "@types/node": "^20.10.8",
136
137
  "@types/resize-observer-browser": "^0.1.11",
137
- "@vitejs/plugin-vue": "^4.5.0",
138
+ "@vitejs/plugin-vue": "^4.5.2",
138
139
  "@vitejs/plugin-vue-jsx": "^3.1.0",
139
140
  "@vue/babel-plugin-jsx": "^1.1.5",
140
- "@vue/test-utils": "2.4.2",
141
- "acorn-walk": "^8.3.0",
141
+ "@vue/test-utils": "2.4.3",
142
+ "acorn-walk": "^8.3.1",
142
143
  "autoprefixer": "^10.4.16",
143
144
  "babel-plugin-add-import-extension": "1.5.1",
144
145
  "babel-plugin-module-resolver": "^5.0.0",
145
146
  "babel-plugin-transform-define": "^2.1.4",
146
147
  "babel-polyfill": "^6.26.0",
147
148
  "concurrently": "^8.2.2",
148
- "cssnano": "^6.0.1",
149
+ "cssnano": "^6.0.3",
149
150
  "cy-mobile-commands": "^0.3.0",
150
- "cypress": "^13.6.0",
151
+ "cypress": "^13.6.2",
151
152
  "cypress-file-upload": "^5.0.8",
152
153
  "cypress-real-events": "^1.11.0",
153
154
  "date-fns": "^2.30.0",
@@ -158,14 +159,14 @@
158
159
  "identity-obj-proxy": "^3.0.0",
159
160
  "jest-canvas-mock": "^2.5.2",
160
161
  "micromatch": "^4.0.5",
161
- "postcss": "^8.4.21",
162
- "rollup": "^3.20.2",
162
+ "postcss": "^8.4.33",
163
+ "rollup": "^3.20.7",
163
164
  "rollup-plugin-dts": "^6.1.0",
164
165
  "rollup-plugin-sass": "^1.12.21",
165
166
  "rollup-plugin-sourcemaps": "^0.6.3",
166
167
  "rollup-plugin-terser": "^7.0.2",
167
168
  "timezone-mock": "^1.3.6",
168
- "vite": "^4.5.0",
169
+ "vite": "^4.5.1",
169
170
  "vite-ssr": "^0.17.1",
170
171
  "vue-i18n": "^9.7.1",
171
172
  "vue-router": "^4.2.5"
@@ -199,5 +200,5 @@
199
200
  "attributes": "dist/json/attributes.json"
200
201
  },
201
202
  "web-types": "dist/json/web-types.json",
202
- "gitHead": "f343549db3e2b66c508c66216af33ae25943f977"
203
+ "gitHead": "22f13337f77e596ce093bbafdad538eb19ffae86"
203
204
  }
@@ -1,69 +0,0 @@
1
- // Utilities
2
- import { createRange, padStart } from "../../util/index.mjs";
3
- export function getFirstWeekdayOfMonth(year, month) {
4
- return new Date(`${year}-${month}-01`).getDay();
5
- }
6
- function getNumberOfDaysInMonth(year, month) {
7
- return new Date(year, month, 0).getDate();
8
- }
9
-
10
- // function getMonthName (month: number, locale = 'en-US') {
11
- // const date = new Date(`2022-${month}-01`)
12
- // return date.toLocaleString(locale, { month: 'long' })
13
- // }
14
-
15
- export function changeMonth(year, month, change) {
16
- if (change < 0 && month + change < 1) {
17
- return [year - 1, 12 + (month + change)];
18
- } else if (change > 0 && month + change > 12) {
19
- return [year + 1, (month + change) % 12];
20
- } else {
21
- return [year, month + change];
22
- }
23
- }
24
- export function getDate(year, month, day) {
25
- return `${year}-${padStart(String(month), 2, '0')}-${padStart(String(day), 2, '0')}`;
26
- }
27
- export function addDays(date, days) {
28
- const d = new Date(date);
29
- d.setDate(d.getDate() + days);
30
- return getDate(d.getFullYear(), d.getMonth() + 1, d.getDate());
31
- }
32
- export function parseDate(date) {
33
- const [year, month, day] = date.split('-').map(Number);
34
- return [year, month, day];
35
- }
36
- function getMondayOfFirstWeekOfYear(year) {
37
- const januaryFirst = new Date(year, 0, 1);
38
- const mondayOfFirstWeek = new Date(januaryFirst);
39
- mondayOfFirstWeek.setDate(mondayOfFirstWeek.getDate() + (11 - januaryFirst.getDay()) % 7 - 3);
40
- return mondayOfFirstWeek;
41
- }
42
-
43
- // https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
44
- export function getWeek(date) {
45
- let year = date.getFullYear();
46
- let d1w1 = getMondayOfFirstWeekOfYear(year);
47
- if (date < d1w1) {
48
- year = year - 1;
49
- d1w1 = getMondayOfFirstWeekOfYear(year);
50
- } else {
51
- const tv = getMondayOfFirstWeekOfYear(year + 1);
52
- if (date >= tv) {
53
- year = year + 1;
54
- d1w1 = tv;
55
- }
56
- }
57
- const diffTime = Math.abs(date.getTime() - d1w1.getTime());
58
- const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
59
- return Math.floor(diffDays / 7) + 1;
60
- }
61
- export function getDaysInMonth(year, month) {
62
- return createRange(getNumberOfDaysInMonth(year, month), 1).map(day => ({
63
- year,
64
- month,
65
- day,
66
- date: getDate(year, month, day)
67
- }));
68
- }
69
- //# sourceMappingURL=utils.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.mjs","names":["createRange","padStart","getFirstWeekdayOfMonth","year","month","Date","getDay","getNumberOfDaysInMonth","getDate","changeMonth","change","day","String","addDays","date","days","d","setDate","getFullYear","getMonth","parseDate","split","map","Number","getMondayOfFirstWeekOfYear","januaryFirst","mondayOfFirstWeek","getWeek","d1w1","tv","diffTime","Math","abs","getTime","diffDays","ceil","floor","getDaysInMonth"],"sources":["../../../src/components/VDatePicker/utils.ts"],"sourcesContent":["// Utilities\nimport { createRange, padStart } from '@/util'\n\nexport function getFirstWeekdayOfMonth (year: number, month: number) {\n return new Date(`${year}-${month}-01`).getDay()\n}\n\nfunction getNumberOfDaysInMonth (year: number, month: number) {\n return new Date(year, month, 0).getDate()\n}\n\n// function getMonthName (month: number, locale = 'en-US') {\n// const date = new Date(`2022-${month}-01`)\n// return date.toLocaleString(locale, { month: 'long' })\n// }\n\nexport function changeMonth (year: number, month: number, change: number) {\n if (change < 0 && month + change < 1) {\n return [year - 1, 12 + (month + change)]\n } else if (change > 0 && month + change > 12) {\n return [year + 1, (month + change) % 12]\n } else {\n return [year, month + change]\n }\n}\n\nexport function getDate (year: number, month: number, day: number) {\n return `${year}-${padStart(String(month), 2, '0')}-${padStart(String(day), 2, '0')}`\n}\n\nexport function addDays (date: string, days: number) {\n const d = new Date(date)\n\n d.setDate(d.getDate() + days)\n\n return getDate(d.getFullYear(), d.getMonth() + 1, d.getDate())\n}\n\nexport function parseDate (date: string): [number, number, number] {\n const [year, month, day] = date.split('-').map(Number)\n\n return [year, month, day]\n}\n\nfunction getMondayOfFirstWeekOfYear (year: number) {\n const januaryFirst = new Date(year, 0, 1)\n const mondayOfFirstWeek = new Date(januaryFirst)\n\n mondayOfFirstWeek.setDate(mondayOfFirstWeek.getDate() + ((11 - januaryFirst.getDay()) % 7) - 3)\n\n return mondayOfFirstWeek\n}\n\n// https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024\nexport function getWeek (date: Date) {\n let year = date.getFullYear()\n let d1w1 = getMondayOfFirstWeekOfYear(year)\n\n if (date < d1w1) {\n year = year - 1\n d1w1 = getMondayOfFirstWeekOfYear(year)\n } else {\n const tv = getMondayOfFirstWeekOfYear(year + 1)\n if (date >= tv) {\n year = year + 1\n d1w1 = tv\n }\n }\n\n const diffTime = Math.abs(date.getTime() - d1w1.getTime())\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24))\n\n return Math.floor(diffDays / 7) + 1\n}\n\nexport function getDaysInMonth (year: number, month: number) {\n return createRange(getNumberOfDaysInMonth(year, month), 1).map(day => ({\n year,\n month,\n day,\n date: getDate(year, month, day),\n }))\n}\n"],"mappings":"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"}
@@ -1,115 +0,0 @@
1
- // Utilities
2
- import { createRange, padStart } from "./index.mjs";
3
- export function getFirstDayOfMonth(year, month) {
4
- return new Date(year, month, 1);
5
- }
6
- export function getLastDayOfMonth(year, month) {
7
- return new Date(year, month + 1, 0);
8
- }
9
- function getNumberOfDaysInMonth(year, month) {
10
- return new Date(year, month, 0).getDate();
11
- }
12
- export function changeMonth(year, month, change) {
13
- if (change < 0 && month + change < 1) {
14
- return [year - 1, 12 + (month + change)];
15
- } else if (change > 0 && month + change > 12) {
16
- return [year + 1, (month + change) % 12];
17
- } else {
18
- return [year, month + change];
19
- }
20
- }
21
- export function getDate(year, month, day) {
22
- return `${year}-${padStart(String(month), 2, '0')}-${padStart(String(day), 2, '0')}`;
23
- }
24
- export function addDays(date, days) {
25
- const d = new Date(date);
26
- d.setDate(d.getDate() + days);
27
- return getDate(d.getFullYear(), d.getMonth() + 1, d.getDate());
28
- }
29
- export function parseDate(date) {
30
- const [year, month, day] = date.split('-').map(Number);
31
- return [year, month, day];
32
- }
33
- function getMondayOfFirstWeekOfYear(year) {
34
- const januaryFirst = new Date(year, 0, 1);
35
- const mondayOfFirstWeek = new Date(januaryFirst);
36
- mondayOfFirstWeek.setDate(mondayOfFirstWeek.getDate() + (11 - januaryFirst.getDay()) % 7 - 3);
37
- return mondayOfFirstWeek;
38
- }
39
-
40
- // https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
41
- export function getWeek(date) {
42
- let year = date.getFullYear();
43
- let d1w1 = getMondayOfFirstWeekOfYear(year);
44
- if (date < d1w1) {
45
- year = year - 1;
46
- d1w1 = getMondayOfFirstWeekOfYear(year);
47
- } else {
48
- const tv = getMondayOfFirstWeekOfYear(year + 1);
49
- if (date >= tv) {
50
- year = year + 1;
51
- d1w1 = tv;
52
- }
53
- }
54
- const diffTime = Math.abs(date.getTime() - d1w1.getTime());
55
- const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
56
- return Math.floor(diffDays / 7) + 1;
57
- }
58
- export function getDaysInMonth(year, month) {
59
- return createRange(getNumberOfDaysInMonth(year, month), 1).map(day => ({
60
- year,
61
- month,
62
- day,
63
- date: getDate(year, month, day)
64
- }));
65
- }
66
-
67
- // old
68
-
69
- function createUTCDate(year) {
70
- let month = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
71
- let day = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
72
- let date;
73
- if (year < 100 && year >= 0) {
74
- date = new Date(Date.UTC(year, month, day));
75
- if (isFinite(date.getUTCFullYear())) {
76
- date.setUTCFullYear(year);
77
- }
78
- } else {
79
- date = new Date(Date.UTC(year, month, day));
80
- }
81
- return date;
82
- }
83
- function firstWeekOffset(year, firstDayOfWeek, firstDayOfYear) {
84
- const firstWeekDayInFirstWeek = 7 + firstDayOfWeek - firstDayOfYear;
85
- const firstWeekDayOfYear = (7 + createUTCDate(year, 0, firstWeekDayInFirstWeek).getUTCDay() - firstDayOfWeek) % 7;
86
- return -firstWeekDayOfYear + firstWeekDayInFirstWeek - 1;
87
- }
88
- function dayOfYear(year, month, day, firstDayOfWeek) {
89
- let dayOfYear = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334][month];
90
- if (month > 1 && isLeapYear(year)) {
91
- dayOfYear++;
92
- }
93
- return dayOfYear + day;
94
- }
95
- function weeksInYear(year, firstDayOfWeek, firstDayOfYear) {
96
- const weekOffset = firstWeekOffset(year, firstDayOfWeek, firstDayOfYear);
97
- const weekOffsetNext = firstWeekOffset(year + 1, firstDayOfWeek, firstDayOfYear);
98
- const daysInYear = isLeapYear(year) ? 366 : 365;
99
- return (daysInYear - weekOffset + weekOffsetNext) / 7;
100
- }
101
- export function weekNumber(year, month, day, firstDayOfWeek, localeFirstDayOfYear) {
102
- const weekOffset = firstWeekOffset(year, firstDayOfWeek, localeFirstDayOfYear);
103
- const week = Math.ceil((dayOfYear(year, month, day, firstDayOfWeek) - weekOffset) / 7);
104
- if (week < 1) {
105
- return week + weeksInYear(year - 1, firstDayOfWeek, localeFirstDayOfYear);
106
- } else if (week > weeksInYear(year, firstDayOfWeek, localeFirstDayOfYear)) {
107
- return week - weeksInYear(year, firstDayOfWeek, localeFirstDayOfYear);
108
- } else {
109
- return week;
110
- }
111
- }
112
- export function isLeapYear(year) {
113
- return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
114
- }
115
- //# sourceMappingURL=dateTimeUtils.mjs.map