@vuetify/nightly 3.8.9-dev.2025-06-13 → 3.8.9-master.2025-06-12

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 (209) hide show
  1. package/CHANGELOG.md +6 -45
  2. package/dist/json/attributes.json +3714 -4110
  3. package/dist/json/importMap-labs.json +24 -28
  4. package/dist/json/importMap.json +154 -154
  5. package/dist/json/tags.json +2 -106
  6. package/dist/json/web-types.json +6783 -8232
  7. package/dist/vuetify-labs.cjs +177 -730
  8. package/dist/vuetify-labs.css +4085 -4128
  9. package/dist/vuetify-labs.d.ts +2938 -10254
  10. package/dist/vuetify-labs.esm.js +178 -731
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +177 -730
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +166 -478
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +3607 -3650
  17. package/dist/vuetify.d.ts +2085 -2782
  18. package/dist/vuetify.esm.js +167 -479
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +166 -478
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +1229 -1251
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VAlert/VAlert.css +1 -6
  26. package/lib/components/VAlert/VAlert.d.ts +0 -35
  27. package/lib/components/VAlert/VAlert.js +10 -15
  28. package/lib/components/VAlert/VAlert.js.map +1 -1
  29. package/lib/components/VAlert/VAlert.sass +1 -7
  30. package/lib/components/VAppBar/VAppBar.d.ts +3 -15
  31. package/lib/components/VAppBar/VAppBarNavIcon.d.ts +10 -20
  32. package/lib/components/VAutocomplete/VAutocomplete.d.ts +110 -175
  33. package/lib/components/VAutocomplete/VAutocomplete.js +3 -21
  34. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  35. package/lib/components/VBadge/VBadge.d.ts +0 -60
  36. package/lib/components/VBadge/VBadge.js +2 -7
  37. package/lib/components/VBadge/VBadge.js.map +1 -1
  38. package/lib/components/VBtn/VBtn.d.ts +10 -20
  39. package/lib/components/VBtnGroup/VBtnGroup.css +7 -30
  40. package/lib/components/VBtnGroup/VBtnGroup.d.ts +32 -58
  41. package/lib/components/VBtnGroup/VBtnGroup.js +3 -7
  42. package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
  43. package/lib/components/VBtnGroup/VBtnGroup.sass +17 -44
  44. package/lib/components/VBtnToggle/VBtnToggle.d.ts +0 -25
  45. package/lib/components/VCard/VCard.d.ts +10 -20
  46. package/lib/components/VCheckbox/VCheckbox.d.ts +13 -23
  47. package/lib/components/VCheckbox/VCheckboxBtn.d.ts +10 -20
  48. package/lib/components/VChip/VChip.d.ts +10 -20
  49. package/lib/components/VChipGroup/VChipGroup.d.ts +0 -10
  50. package/lib/components/VCombobox/VCombobox.d.ts +110 -175
  51. package/lib/components/VCombobox/VCombobox.js +3 -22
  52. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  53. package/lib/components/VDataTable/VDataTable.d.ts +0 -60
  54. package/lib/components/VDataTable/VDataTableHeaders.d.ts +0 -13
  55. package/lib/components/VDataTable/VDataTableHeaders.js +2 -4
  56. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  57. package/lib/components/VDataTable/VDataTableServer.d.ts +0 -42
  58. package/lib/components/VDataTable/VDataTableVirtual.d.ts +0 -42
  59. package/lib/components/VDatePicker/VDatePicker.d.ts +5 -80
  60. package/lib/components/VDatePicker/VDatePicker.js +4 -10
  61. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  62. package/lib/components/VDatePicker/VDatePickerMonth.d.ts +0 -10
  63. package/lib/components/VDatePicker/VDatePickerMonth.js +1 -1
  64. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  65. package/lib/components/VExpansionPanel/VExpansionPanel.d.ts +10 -20
  66. package/lib/components/VExpansionPanel/VExpansionPanelTitle.d.ts +10 -20
  67. package/lib/components/VExpansionPanel/VExpansionPanels.d.ts +10 -20
  68. package/lib/components/VFab/VFab.d.ts +10 -20
  69. package/lib/components/VField/VField.d.ts +3 -3
  70. package/lib/components/VFileInput/VFileInput.d.ts +15 -15
  71. package/lib/components/VInfiniteScroll/VInfiniteScroll.d.ts +3 -9
  72. package/lib/components/VInfiniteScroll/VInfiniteScroll.js +0 -29
  73. package/lib/components/VInfiniteScroll/VInfiniteScroll.js.map +1 -1
  74. package/lib/components/VInput/VInput.d.ts +4 -4
  75. package/lib/components/VKbd/VKbd.css +2 -13
  76. package/lib/components/VKbd/VKbd.sass +1 -2
  77. package/lib/components/VKbd/_variables.scss +1 -12
  78. package/lib/components/VKbd/index.d.ts +95 -1
  79. package/lib/components/VKbd/index.js +4 -1
  80. package/lib/components/VKbd/index.js.map +1 -1
  81. package/lib/components/VList/VList.d.ts +0 -13
  82. package/lib/components/VList/VList.js +1 -4
  83. package/lib/components/VList/VList.js.map +1 -1
  84. package/lib/components/VList/VListChildren.js.map +1 -1
  85. package/lib/components/VList/VListItem.css +2 -0
  86. package/lib/components/VList/VListItem.d.ts +10 -23
  87. package/lib/components/VList/VListItem.js +3 -7
  88. package/lib/components/VList/VListItem.js.map +1 -1
  89. package/lib/components/VList/VListItem.sass +2 -0
  90. package/lib/components/VList/_variables.scss +1 -0
  91. package/lib/components/VList/list.d.ts +2 -9
  92. package/lib/components/VList/list.js +0 -7
  93. package/lib/components/VList/list.js.map +1 -1
  94. package/lib/components/VMenu/VMenu.d.ts +0 -13
  95. package/lib/components/VMenu/VMenu.js +1 -2
  96. package/lib/components/VMenu/VMenu.js.map +1 -1
  97. package/lib/components/VNumberInput/VNumberInput.d.ts +89 -114
  98. package/lib/components/VNumberInput/VNumberInput.js +20 -43
  99. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  100. package/lib/components/VOtpInput/VOtpInput.js +1 -2
  101. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  102. package/lib/components/VOverlay/VOverlay.css +1 -1
  103. package/lib/components/VOverlay/_variables.scss +1 -1
  104. package/lib/components/VRadio/VRadio.d.ts +10 -20
  105. package/lib/components/VRadioGroup/VRadioGroup.d.ts +13 -23
  106. package/lib/components/VRangeSlider/VRangeSlider.d.ts +3 -3
  107. package/lib/components/VSelect/VSelect.d.ts +118 -204
  108. package/lib/components/VSelect/VSelect.js +3 -21
  109. package/lib/components/VSelect/VSelect.js.map +1 -1
  110. package/lib/components/VSelectionControl/VSelectionControl.d.ts +10 -20
  111. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.d.ts +14 -28
  112. package/lib/components/VSlideGroup/VSlideGroup.d.ts +0 -10
  113. package/lib/components/VSlideGroup/VSlideGroup.js +1 -2
  114. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  115. package/lib/components/VSlider/VSlider.d.ts +3 -3
  116. package/lib/components/VSlider/VSliderThumb.d.ts +10 -20
  117. package/lib/components/VSpeedDial/VSpeedDial.css +1 -1
  118. package/lib/components/VSpeedDial/VSpeedDial.d.ts +0 -13
  119. package/lib/components/VSpeedDial/VSpeedDial.sass +3 -1
  120. package/lib/components/VStepper/VStepperItem.d.ts +14 -28
  121. package/lib/components/VSwitch/VSwitch.d.ts +13 -23
  122. package/lib/components/VTable/VTable.css +0 -6
  123. package/lib/components/VTable/VTable.d.ts +24 -55
  124. package/lib/components/VTable/VTable.js +2 -9
  125. package/lib/components/VTable/VTable.js.map +1 -1
  126. package/lib/components/VTable/VTable.sass +0 -14
  127. package/lib/components/VTable/_variables.scss +0 -1
  128. package/lib/components/VTabs/VTab.d.ts +28 -56
  129. package/lib/components/VTabs/VTabs.d.ts +0 -10
  130. package/lib/components/VTextField/VTextField.d.ts +27 -27
  131. package/lib/components/VTextarea/VTextarea.d.ts +15 -15
  132. package/lib/components/VToolbar/VToolbar.d.ts +3 -15
  133. package/lib/components/VToolbar/VToolbar.js +3 -6
  134. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  135. package/lib/composables/calendar.d.ts +0 -6
  136. package/lib/composables/calendar.js +1 -2
  137. package/lib/composables/calendar.js.map +1 -1
  138. package/lib/composables/date/DateAdapter.d.ts +3 -3
  139. package/lib/composables/date/DateAdapter.js.map +1 -1
  140. package/lib/composables/date/adapters/vuetify.d.ts +1 -1
  141. package/lib/composables/date/adapters/vuetify.js +4 -4
  142. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  143. package/lib/composables/date/date.d.ts +3 -3
  144. package/lib/composables/date/index.d.ts +0 -1
  145. package/lib/composables/date/index.js +0 -1
  146. package/lib/composables/date/index.js.map +1 -1
  147. package/lib/composables/filter.js +0 -3
  148. package/lib/composables/filter.js.map +1 -1
  149. package/lib/composables/locale.d.ts +1 -5
  150. package/lib/composables/locale.js.map +1 -1
  151. package/lib/composables/theme.d.ts +1 -6
  152. package/lib/composables/theme.js +29 -97
  153. package/lib/composables/theme.js.map +1 -1
  154. package/lib/composables/virtual.js +1 -6
  155. package/lib/composables/virtual.js.map +1 -1
  156. package/lib/directives/ripple/index.d.ts +1 -2
  157. package/lib/directives/ripple/index.js +7 -12
  158. package/lib/directives/ripple/index.js.map +1 -1
  159. package/lib/entry-bundler.d.ts +3 -4
  160. package/lib/entry-bundler.js +1 -1
  161. package/lib/entry-bundler.js.map +1 -1
  162. package/lib/framework.d.ts +64 -83
  163. package/lib/framework.js +1 -1
  164. package/lib/framework.js.map +1 -1
  165. package/lib/labs/VCalendar/VCalendar.d.ts +0 -10
  166. package/lib/labs/VColorInput/VColorInput.d.ts +3 -3
  167. package/lib/labs/VDateInput/VDateInput.d.ts +87 -97
  168. package/lib/labs/VFileUpload/VFileUpload.d.ts +3 -3
  169. package/lib/labs/VFileUpload/VFileUploadItem.d.ts +10 -20
  170. package/lib/labs/VIconBtn/VIconBtn.d.ts +29 -29
  171. package/lib/labs/VIconBtn/VIconBtn.js +11 -7
  172. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  173. package/lib/labs/VStepperVertical/VStepperVertical.d.ts +10 -20
  174. package/lib/labs/VStepperVertical/VStepperVerticalItem.d.ts +10 -20
  175. package/lib/labs/VTreeview/VTreeview.d.ts +0 -13
  176. package/lib/labs/VTreeview/VTreeviewItem.d.ts +10 -20
  177. package/lib/labs/components.d.ts +0 -1
  178. package/lib/labs/components.js +0 -1
  179. package/lib/labs/components.js.map +1 -1
  180. package/lib/labs/entry-bundler.d.ts +3 -4
  181. package/lib/locale/adapters/vue-i18n.js +1 -6
  182. package/lib/locale/adapters/vue-i18n.js.map +1 -1
  183. package/lib/locale/adapters/vuetify.js +1 -7
  184. package/lib/locale/adapters/vuetify.js.map +1 -1
  185. package/lib/util/globals.d.ts +0 -1
  186. package/lib/util/globals.js +0 -1
  187. package/lib/util/globals.js.map +1 -1
  188. package/lib/util/helpers.d.ts +1 -2
  189. package/lib/util/helpers.js +7 -12
  190. package/lib/util/helpers.js.map +1 -1
  191. package/package.json +1 -3
  192. package/lib/components/VKbd/VKbd.d.ts +0 -221
  193. package/lib/components/VKbd/VKbd.js +0 -55
  194. package/lib/components/VKbd/VKbd.js.map +0 -1
  195. package/lib/composables/date/adapters/string.d.ts +0 -54
  196. package/lib/composables/date/adapters/string.js +0 -153
  197. package/lib/composables/date/adapters/string.js.map +0 -1
  198. package/lib/composables/iconSizes.d.ts +0 -28
  199. package/lib/composables/iconSizes.js +0 -23
  200. package/lib/composables/iconSizes.js.map +0 -1
  201. package/lib/composables/mask.d.ts +0 -38
  202. package/lib/composables/mask.js +0 -183
  203. package/lib/composables/mask.js.map +0 -1
  204. package/lib/labs/VMaskInput/VMaskInput.d.ts +0 -6993
  205. package/lib/labs/VMaskInput/VMaskInput.js +0 -67
  206. package/lib/labs/VMaskInput/VMaskInput.js.map +0 -1
  207. package/lib/labs/VMaskInput/index.d.ts +0 -1
  208. package/lib/labs/VMaskInput/index.js +0 -2
  209. package/lib/labs/VMaskInput/index.js.map +0 -1
@@ -241,18 +241,14 @@ export declare const makeVTreeviewItemProps: <Defaults extends {
241
241
  default: boolean;
242
242
  }, "type" | "default"> & {
243
243
  type: import("vue").PropType<unknown extends Defaults["ripple"] ? boolean | {
244
- class?: string;
245
- keys?: number[];
244
+ class: string;
246
245
  } | undefined : boolean | {
247
- class?: string;
248
- keys?: number[];
246
+ class: string;
249
247
  } | Defaults["ripple"] | undefined>;
250
248
  default: unknown extends Defaults["ripple"] ? boolean | {
251
- class?: string;
252
- keys?: number[];
249
+ class: string;
253
250
  } | undefined : NonNullable<boolean | {
254
- class?: string;
255
- keys?: number[];
251
+ class: string;
256
252
  } | undefined> | Defaults["ripple"];
257
253
  };
258
254
  slim: unknown extends Defaults["slim"] ? {
@@ -320,8 +316,7 @@ export declare const VTreeviewItem: {
320
316
  tile: boolean;
321
317
  slim: boolean;
322
318
  ripple: boolean | {
323
- class?: string;
324
- keys?: number[];
319
+ class: string;
325
320
  } | undefined;
326
321
  } & {
327
322
  link?: boolean | undefined;
@@ -396,8 +391,7 @@ export declare const VTreeviewItem: {
396
391
  tile: boolean;
397
392
  slim: boolean;
398
393
  ripple: boolean | {
399
- class?: string;
400
- keys?: number[];
394
+ class: string;
401
395
  } | undefined;
402
396
  subtitle: string | number | boolean;
403
397
  }, true, {}, import("vue").SlotsType<Partial<{
@@ -426,8 +420,7 @@ export declare const VTreeviewItem: {
426
420
  tile: boolean;
427
421
  slim: boolean;
428
422
  ripple: boolean | {
429
- class?: string;
430
- keys?: number[];
423
+ class: string;
431
424
  } | undefined;
432
425
  } & {
433
426
  link?: boolean | undefined;
@@ -500,8 +493,7 @@ export declare const VTreeviewItem: {
500
493
  tile: boolean;
501
494
  slim: boolean;
502
495
  ripple: boolean | {
503
- class?: string;
504
- keys?: number[];
496
+ class: string;
505
497
  } | undefined;
506
498
  subtitle: string | number | boolean;
507
499
  }>;
@@ -521,8 +513,7 @@ export declare const VTreeviewItem: {
521
513
  tile: boolean;
522
514
  slim: boolean;
523
515
  ripple: boolean | {
524
- class?: string;
525
- keys?: number[];
516
+ class: string;
526
517
  } | undefined;
527
518
  } & {
528
519
  link?: boolean | undefined;
@@ -597,8 +588,7 @@ export declare const VTreeviewItem: {
597
588
  tile: boolean;
598
589
  slim: boolean;
599
590
  ripple: boolean | {
600
- class?: string;
601
- keys?: number[];
591
+ class: string;
602
592
  } | undefined;
603
593
  subtitle: string | number | boolean;
604
594
  }, {}, string, import("vue").SlotsType<Partial<{
@@ -3,7 +3,6 @@ export * from './VColorInput/index.js';
3
3
  export * from './VDateInput/index.js';
4
4
  export * from './VFileUpload/index.js';
5
5
  export * from './VIconBtn/index.js';
6
- export * from './VMaskInput/index.js';
7
6
  export * from './VPicker/index.js';
8
7
  export * from './VStepperVertical/index.js';
9
8
  export * from './VPullToRefresh/index.js';
@@ -3,7 +3,6 @@ export * from "./VColorInput/index.js";
3
3
  export * from "./VDateInput/index.js";
4
4
  export * from "./VFileUpload/index.js";
5
5
  export * from "./VIconBtn/index.js";
6
- export * from "./VMaskInput/index.js";
7
6
  export * from "./VPicker/index.js";
8
7
  export * from "./VStepperVertical/index.js";
9
8
  export * from "./VPullToRefresh/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","names":[],"sources":["../../src/labs/components.ts"],"sourcesContent":["export * from './VCalendar'\nexport * from './VColorInput'\nexport * from './VDateInput'\nexport * from './VFileUpload'\nexport * from './VIconBtn'\nexport * from './VMaskInput'\nexport * from './VPicker'\nexport * from './VStepperVertical'\nexport * from './VPullToRefresh'\nexport * from './VTimePicker'\nexport * from './VTreeview'\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"components.js","names":[],"sources":["../../src/labs/components.ts"],"sourcesContent":["export * from './VCalendar'\nexport * from './VColorInput'\nexport * from './VDateInput'\nexport * from './VFileUpload'\nexport * from './VIconBtn'\nexport * from './VPicker'\nexport * from './VStepperVertical'\nexport * from './VPullToRefresh'\nexport * from './VTimePicker'\nexport * from './VTreeview'\n"],"mappings":"","ignoreList":[]}
@@ -16,7 +16,6 @@ export declare const createVuetify: (options?: VuetifyOptions) => {
16
16
  rtl: import("vue").Ref<Record<string, boolean>>;
17
17
  rtlClasses: import("vue").Ref<string>;
18
18
  name: string;
19
- decimalSeparator: import("vue").ShallowRef<string>;
20
19
  messages: import("vue").Ref<import("../framework.js").LocaleMessages>;
21
20
  current: import("vue").Ref<string>;
22
21
  fallback: import("vue").Ref<string>;
@@ -42,10 +41,10 @@ export declare const createVuetify: (options?: VuetifyOptions) => {
42
41
  startOfYear: (date: unknown) => unknown;
43
42
  endOfYear: (date: unknown) => unknown;
44
43
  isAfter: (date: unknown, comparing: unknown) => boolean;
45
- isAfterDay: (date: unknown, comparing: unknown) => boolean;
44
+ isAfterDay: (value: unknown, comparing: unknown) => boolean;
46
45
  isSameDay: (date: unknown, comparing: unknown) => boolean;
47
46
  isSameMonth: (date: unknown, comparing: unknown) => boolean;
48
- isSameYear: (date: unknown, comparing: unknown) => boolean;
47
+ isSameYear: (value: unknown, comparing: unknown) => boolean;
49
48
  isBefore: (date: unknown, comparing: unknown) => boolean;
50
49
  isEqual: (date: unknown, comparing: unknown) => boolean;
51
50
  isValid: (date: any) => boolean;
@@ -59,7 +58,7 @@ export declare const createVuetify: (options?: VuetifyOptions) => {
59
58
  setYear: (date: unknown, year: number) => unknown;
60
59
  getDiff: (date: unknown, comparing: unknown, unit?: string) => number;
61
60
  getWeekArray: (date: unknown, firstDayOfWeek?: number | string) => unknown[][];
62
- getWeekdays: (firstDayOfWeek?: number | string, weekdayFormat?: "long" | "short" | "narrow") => string[];
61
+ getWeekdays: (firstDayOfWeek?: number | string) => string[];
63
62
  getWeek: (date: unknown, firstDayOfWeek?: number | string, firstWeekMinSize?: number) => number;
64
63
  getMonth: (date: unknown) => number;
65
64
  setMonth: (date: unknown, month: number) => unknown;
@@ -1,6 +1,6 @@
1
1
  // Composables
2
2
  import { useProxiedModel } from "../../composables/proxiedModel.js"; // Utilities
3
- import { toRef, watch } from 'vue';
3
+ import { watch } from 'vue';
4
4
 
5
5
  // Types
6
6
 
@@ -14,9 +14,6 @@ function useProvided(props, prop, provided) {
14
14
  });
15
15
  return internal;
16
16
  }
17
- function inferDecimalSeparator(format) {
18
- return format(0.1).includes(',') ? ',' : '.';
19
- }
20
17
  function createProvideFunction(data) {
21
18
  return props => {
22
19
  const current = useProvided(props, 'locale', data.current);
@@ -38,7 +35,6 @@ function createProvideFunction(data) {
38
35
  current,
39
36
  fallback,
40
37
  messages,
41
- decimalSeparator: toRef(() => props.decimalSeparator ?? inferDecimalSeparator(i18n.n)),
42
38
  t: function (key) {
43
39
  for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
44
40
  params[_key - 1] = arguments[_key];
@@ -68,7 +64,6 @@ export function createVueI18nAdapter(_ref) {
68
64
  current,
69
65
  fallback,
70
66
  messages,
71
- decimalSeparator: toRef(() => inferDecimalSeparator(i18n.global.n)),
72
67
  t: function (key) {
73
68
  for (var _len2 = arguments.length, params = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
74
69
  params[_key2 - 1] = arguments[_key2];
@@ -1 +1 @@
1
- {"version":3,"file":"vue-i18n.js","names":["useProxiedModel","toRef","watch","useProvided","props","prop","provided","internal","value","v","inferDecimalSeparator","format","includes","createProvideFunction","data","current","fallback","messages","i18n","useI18n","locale","fallbackLocale","useScope","legacy","inheritLocale","name","decimalSeparator","n","t","key","_len","arguments","length","params","Array","_key","provide","createVueI18nAdapter","_ref","global","_len2","_key2"],"sources":["../../../src/locale/adapters/vue-i18n.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { toRef, watch } from 'vue'\n\n// Types\nimport type { Ref } from 'vue'\nimport type { I18n, useI18n } from 'vue-i18n'\nimport type { LocaleInstance, LocaleMessages, LocaleOptions } from '@/composables/locale'\n\ntype VueI18nAdapterParams = {\n i18n: I18n<any, {}, {}, string, false>\n useI18n: typeof useI18n\n}\n\nfunction useProvided <T> (props: any, prop: string, provided: Ref<T>) {\n const internal = useProxiedModel(props, prop)\n\n internal.value = props[prop] ?? provided.value\n\n watch(provided, v => {\n if (props[prop] == null) {\n internal.value = v\n }\n })\n\n return internal as Ref<T>\n}\n\nfunction inferDecimalSeparator (format: (v: number) => string) {\n return format(0.1).includes(',') ? ',' : '.'\n}\n\nfunction createProvideFunction (data: {\n current: Ref<string>\n fallback: Ref<string>\n messages: Ref<LocaleMessages>\n useI18n: typeof useI18n\n}) {\n return (props: LocaleOptions): LocaleInstance => {\n const current = useProvided(props, 'locale', data.current)\n const fallback = useProvided(props, 'fallback', data.fallback)\n const messages = useProvided(props, 'messages', data.messages)\n\n const i18n = data.useI18n({\n locale: current.value,\n fallbackLocale: fallback.value,\n messages: messages.value as any,\n useScope: 'local',\n legacy: false,\n inheritLocale: false,\n })\n\n watch(current, v => {\n i18n.locale.value = v\n })\n\n return {\n name: 'vue-i18n',\n current,\n fallback,\n messages,\n decimalSeparator: toRef(() => props.decimalSeparator ?? inferDecimalSeparator(i18n.n)),\n t: (key: string, ...params: unknown[]) => i18n.t(key, params),\n n: i18n.n,\n provide: createProvideFunction({ current, fallback, messages, useI18n: data.useI18n }),\n }\n }\n}\n\nexport function createVueI18nAdapter ({ i18n, useI18n }: VueI18nAdapterParams): LocaleInstance {\n const current = i18n.global.locale\n const fallback = i18n.global.fallbackLocale as Ref<any>\n const messages = i18n.global.messages\n\n return {\n name: 'vue-i18n',\n current,\n fallback,\n messages,\n decimalSeparator: toRef(() => inferDecimalSeparator(i18n.global.n)),\n t: (key: string, ...params: unknown[]) => i18n.global.t(key, params),\n n: i18n.global.n,\n provide: createProvideFunction({ current, fallback, messages, useI18n }),\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"vue-i18n.js","names":["useProxiedModel","watch","useProvided","props","prop","provided","internal","value","v","createProvideFunction","data","current","fallback","messages","i18n","useI18n","locale","fallbackLocale","useScope","legacy","inheritLocale","name","t","key","_len","arguments","length","params","Array","_key","n","provide","createVueI18nAdapter","_ref","global","_len2","_key2"],"sources":["../../../src/locale/adapters/vue-i18n.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { watch } from 'vue'\n\n// Types\nimport type { Ref } from 'vue'\nimport type { I18n, useI18n } from 'vue-i18n'\nimport type { LocaleInstance, LocaleMessages, LocaleOptions } from '@/composables/locale'\n\ntype VueI18nAdapterParams = {\n i18n: I18n<any, {}, {}, string, false>\n useI18n: typeof useI18n\n}\n\nfunction useProvided <T> (props: any, prop: string, provided: Ref<T>) {\n const internal = useProxiedModel(props, prop)\n\n internal.value = props[prop] ?? provided.value\n\n watch(provided, v => {\n if (props[prop] == null) {\n internal.value = v\n }\n })\n\n return internal as Ref<T>\n}\n\nfunction createProvideFunction (data: {\n current: Ref<string>\n fallback: Ref<string>\n messages: Ref<LocaleMessages>\n useI18n: typeof useI18n\n}) {\n return (props: LocaleOptions): LocaleInstance => {\n const current = useProvided(props, 'locale', data.current)\n const fallback = useProvided(props, 'fallback', data.fallback)\n const messages = useProvided(props, 'messages', data.messages)\n\n const i18n = data.useI18n({\n locale: current.value,\n fallbackLocale: fallback.value,\n messages: messages.value as any,\n useScope: 'local',\n legacy: false,\n inheritLocale: false,\n })\n\n watch(current, v => {\n i18n.locale.value = v\n })\n\n return {\n name: 'vue-i18n',\n current,\n fallback,\n messages,\n t: (key: string, ...params: unknown[]) => i18n.t(key, params),\n n: i18n.n,\n provide: createProvideFunction({ current, fallback, messages, useI18n: data.useI18n }),\n }\n }\n}\n\nexport function createVueI18nAdapter ({ i18n, useI18n }: VueI18nAdapterParams): LocaleInstance {\n const current = i18n.global.locale\n const fallback = i18n.global.fallbackLocale as Ref<any>\n const messages = i18n.global.messages\n\n return {\n name: 'vue-i18n',\n current,\n fallback,\n messages,\n t: (key: string, ...params: unknown[]) => i18n.global.t(key, params),\n n: i18n.global.n,\n provide: createProvideFunction({ current, fallback, messages, useI18n }),\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  // Composables
2
2
  import { useProxiedModel } from "../../composables/proxiedModel.js"; // Utilities
3
- import { ref, shallowRef, toRef, watch } from 'vue';
3
+ import { ref, shallowRef, watch } from 'vue';
4
4
  import { consoleError, consoleWarn, getObjectValueByPath } from "../../util/index.js"; // Locales
5
5
  import en from "../en.js"; // Types
6
6
  const LANG_PREFIX = '$vuetify.';
@@ -42,10 +42,6 @@ function createNumberFunction(current, fallback) {
42
42
  return numberFormat.format(value);
43
43
  };
44
44
  }
45
- function inferDecimalSeparator(current, fallback) {
46
- const format = createNumberFunction(current, fallback);
47
- return format(0.1).includes(',') ? ',' : '.';
48
- }
49
45
  function useProvided(props, prop, provided) {
50
46
  const internal = useProxiedModel(props, prop, props[prop] ?? provided.value);
51
47
 
@@ -68,7 +64,6 @@ function createProvideFunction(state) {
68
64
  current,
69
65
  fallback,
70
66
  messages,
71
- decimalSeparator: toRef(() => inferDecimalSeparator(current, fallback)),
72
67
  t: createTranslateFunction(current, fallback, messages),
73
68
  n: createNumberFunction(current, fallback),
74
69
  provide: createProvideFunction({
@@ -91,7 +86,6 @@ export function createVuetifyAdapter(options) {
91
86
  current,
92
87
  fallback,
93
88
  messages,
94
- decimalSeparator: toRef(() => options?.decimalSeparator ?? inferDecimalSeparator(current, fallback)),
95
89
  t: createTranslateFunction(current, fallback, messages),
96
90
  n: createNumberFunction(current, fallback),
97
91
  provide: createProvideFunction({
@@ -1 +1 @@
1
- {"version":3,"file":"vuetify.js","names":["useProxiedModel","ref","shallowRef","toRef","watch","consoleError","consoleWarn","getObjectValueByPath","en","LANG_PREFIX","replace","str","params","match","index","String","Number","createTranslateFunction","current","fallback","messages","key","_len","arguments","length","Array","_key","startsWith","shortKey","currentLocale","value","fallbackLocale","createNumberFunction","options","numberFormat","Intl","NumberFormat","format","inferDecimalSeparator","includes","useProvided","props","prop","provided","internal","v","createProvideFunction","state","name","decimalSeparator","t","n","provide","createVuetifyAdapter","locale"],"sources":["../../../src/locale/adapters/vuetify.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { ref, shallowRef, toRef, watch } from 'vue'\nimport { consoleError, consoleWarn, getObjectValueByPath } from '@/util'\n\n// Locales\nimport en from '@/locale/en'\n\n// Types\nimport type { Ref } from 'vue'\nimport type { LocaleInstance, LocaleMessages, LocaleOptions } from '@/composables/locale'\n\nconst LANG_PREFIX = '$vuetify.'\n\nconst replace = (str: string, params: unknown[]) => {\n return str.replace(/\\{(\\d+)\\}/g, (match: string, index: string) => {\n return String(params[Number(index)])\n })\n}\n\nconst createTranslateFunction = (\n current: Ref<string>,\n fallback: Ref<string>,\n messages: Ref<LocaleMessages>,\n) => {\n return (key: string, ...params: unknown[]) => {\n if (!key.startsWith(LANG_PREFIX)) {\n return replace(key, params)\n }\n\n const shortKey = key.replace(LANG_PREFIX, '')\n const currentLocale = current.value && messages.value[current.value]\n const fallbackLocale = fallback.value && messages.value[fallback.value]\n\n let str: string = getObjectValueByPath(currentLocale, shortKey, null)\n\n if (!str) {\n consoleWarn(`Translation key \"${key}\" not found in \"${current.value}\", trying fallback locale`)\n str = getObjectValueByPath(fallbackLocale, shortKey, null)\n }\n\n if (!str) {\n consoleError(`Translation key \"${key}\" not found in fallback`)\n str = key\n }\n\n if (typeof str !== 'string') {\n consoleError(`Translation key \"${key}\" has a non-string value`)\n str = key\n }\n\n return replace(str, params)\n }\n}\n\nfunction createNumberFunction (current: Ref<string>, fallback: Ref<string>) {\n return (value: number, options?: Intl.NumberFormatOptions) => {\n const numberFormat = new Intl.NumberFormat([current.value, fallback.value], options)\n\n return numberFormat.format(value)\n }\n}\n\nfunction inferDecimalSeparator (current: Ref<string>, fallback: Ref<string>) {\n const format = createNumberFunction(current, fallback)\n return format(0.1).includes(',') ? ',' : '.'\n}\n\nfunction useProvided <T> (props: any, prop: string, provided: Ref<T>) {\n const internal = useProxiedModel(props, prop, props[prop] ?? provided.value)\n\n // TODO: Remove when defaultValue works\n internal.value = props[prop] ?? provided.value\n\n watch(provided, v => {\n if (props[prop] == null) {\n internal.value = provided.value\n }\n })\n\n return internal as Ref<T>\n}\n\nfunction createProvideFunction (state: { current: Ref<string>, fallback: Ref<string>, messages: Ref<LocaleMessages> }) {\n return (props: LocaleOptions): LocaleInstance => {\n const current = useProvided(props, 'locale', state.current)\n const fallback = useProvided(props, 'fallback', state.fallback)\n const messages = useProvided(props, 'messages', state.messages)\n\n return {\n name: 'vuetify',\n current,\n fallback,\n messages,\n decimalSeparator: toRef(() => inferDecimalSeparator(current, fallback)),\n t: createTranslateFunction(current, fallback, messages),\n n: createNumberFunction(current, fallback),\n provide: createProvideFunction({ current, fallback, messages }),\n }\n }\n}\n\nexport function createVuetifyAdapter (options?: LocaleOptions): LocaleInstance {\n const current = shallowRef(options?.locale ?? 'en')\n const fallback = shallowRef(options?.fallback ?? 'en')\n const messages = ref({ en, ...options?.messages })\n\n return {\n name: 'vuetify',\n current,\n fallback,\n messages,\n decimalSeparator: toRef(() => options?.decimalSeparator ?? inferDecimalSeparator(current, fallback)),\n t: createTranslateFunction(current, fallback, messages),\n n: createNumberFunction(current, fallback),\n provide: createProvideFunction({ current, fallback, messages }),\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"vuetify.js","names":["useProxiedModel","ref","shallowRef","watch","consoleError","consoleWarn","getObjectValueByPath","en","LANG_PREFIX","replace","str","params","match","index","String","Number","createTranslateFunction","current","fallback","messages","key","_len","arguments","length","Array","_key","startsWith","shortKey","currentLocale","value","fallbackLocale","createNumberFunction","options","numberFormat","Intl","NumberFormat","format","useProvided","props","prop","provided","internal","v","createProvideFunction","state","name","t","n","provide","createVuetifyAdapter","locale"],"sources":["../../../src/locale/adapters/vuetify.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { ref, shallowRef, watch } from 'vue'\nimport { consoleError, consoleWarn, getObjectValueByPath } from '@/util'\n\n// Locales\nimport en from '@/locale/en'\n\n// Types\nimport type { Ref } from 'vue'\nimport type { LocaleInstance, LocaleMessages, LocaleOptions } from '@/composables/locale'\n\nconst LANG_PREFIX = '$vuetify.'\n\nconst replace = (str: string, params: unknown[]) => {\n return str.replace(/\\{(\\d+)\\}/g, (match: string, index: string) => {\n return String(params[Number(index)])\n })\n}\n\nconst createTranslateFunction = (\n current: Ref<string>,\n fallback: Ref<string>,\n messages: Ref<LocaleMessages>,\n) => {\n return (key: string, ...params: unknown[]) => {\n if (!key.startsWith(LANG_PREFIX)) {\n return replace(key, params)\n }\n\n const shortKey = key.replace(LANG_PREFIX, '')\n const currentLocale = current.value && messages.value[current.value]\n const fallbackLocale = fallback.value && messages.value[fallback.value]\n\n let str: string = getObjectValueByPath(currentLocale, shortKey, null)\n\n if (!str) {\n consoleWarn(`Translation key \"${key}\" not found in \"${current.value}\", trying fallback locale`)\n str = getObjectValueByPath(fallbackLocale, shortKey, null)\n }\n\n if (!str) {\n consoleError(`Translation key \"${key}\" not found in fallback`)\n str = key\n }\n\n if (typeof str !== 'string') {\n consoleError(`Translation key \"${key}\" has a non-string value`)\n str = key\n }\n\n return replace(str, params)\n }\n}\n\nfunction createNumberFunction (current: Ref<string>, fallback: Ref<string>) {\n return (value: number, options?: Intl.NumberFormatOptions) => {\n const numberFormat = new Intl.NumberFormat([current.value, fallback.value], options)\n\n return numberFormat.format(value)\n }\n}\n\nfunction useProvided <T> (props: any, prop: string, provided: Ref<T>) {\n const internal = useProxiedModel(props, prop, props[prop] ?? provided.value)\n\n // TODO: Remove when defaultValue works\n internal.value = props[prop] ?? provided.value\n\n watch(provided, v => {\n if (props[prop] == null) {\n internal.value = provided.value\n }\n })\n\n return internal as Ref<T>\n}\n\nfunction createProvideFunction (state: { current: Ref<string>, fallback: Ref<string>, messages: Ref<LocaleMessages> }) {\n return (props: LocaleOptions): LocaleInstance => {\n const current = useProvided(props, 'locale', state.current)\n const fallback = useProvided(props, 'fallback', state.fallback)\n const messages = useProvided(props, 'messages', state.messages)\n\n return {\n name: 'vuetify',\n current,\n fallback,\n messages,\n t: createTranslateFunction(current, fallback, messages),\n n: createNumberFunction(current, fallback),\n provide: createProvideFunction({ current, fallback, messages }),\n }\n }\n}\n\nexport function createVuetifyAdapter (options?: LocaleOptions): LocaleInstance {\n const current = shallowRef(options?.locale ?? 'en')\n const fallback = shallowRef(options?.fallback ?? 'en')\n const messages = ref({ en, ...options?.messages })\n\n return {\n name: 'vuetify',\n current,\n fallback,\n messages,\n t: createTranslateFunction(current, fallback, messages),\n n: createNumberFunction(current, fallback),\n provide: createProvideFunction({ current, fallback, messages }),\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,4 +2,3 @@ export declare const IN_BROWSER: boolean;
2
2
  export declare const SUPPORTS_INTERSECTION: boolean;
3
3
  export declare const SUPPORTS_TOUCH: boolean;
4
4
  export declare const SUPPORTS_EYE_DROPPER: boolean;
5
- export declare const SUPPORTS_MATCH_MEDIA: boolean;
@@ -2,5 +2,4 @@ export const IN_BROWSER = typeof window !== 'undefined';
2
2
  export const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;
3
3
  export const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0);
4
4
  export const SUPPORTS_EYE_DROPPER = IN_BROWSER && 'EyeDropper' in window;
5
- export const SUPPORTS_MATCH_MEDIA = IN_BROWSER && 'matchMedia' in window && typeof window.matchMedia === 'function';
6
5
  //# sourceMappingURL=globals.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"globals.js","names":["IN_BROWSER","window","SUPPORTS_INTERSECTION","SUPPORTS_TOUCH","navigator","maxTouchPoints","SUPPORTS_EYE_DROPPER","SUPPORTS_MATCH_MEDIA","matchMedia"],"sources":["../../src/util/globals.ts"],"sourcesContent":["export const IN_BROWSER = typeof window !== 'undefined'\nexport const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window\nexport const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0)\nexport const SUPPORTS_EYE_DROPPER = IN_BROWSER && 'EyeDropper' in window\nexport const SUPPORTS_MATCH_MEDIA = IN_BROWSER && 'matchMedia' in window && typeof window.matchMedia === 'function'\n"],"mappings":"AAAA,OAAO,MAAMA,UAAU,GAAG,OAAOC,MAAM,KAAK,WAAW;AACvD,OAAO,MAAMC,qBAAqB,GAAGF,UAAU,IAAI,sBAAsB,IAAIC,MAAM;AACnF,OAAO,MAAME,cAAc,GAAGH,UAAU,KAAK,cAAc,IAAIC,MAAM,IAAIA,MAAM,CAACG,SAAS,CAACC,cAAc,GAAG,CAAC,CAAC;AAC7G,OAAO,MAAMC,oBAAoB,GAAGN,UAAU,IAAI,YAAY,IAAIC,MAAM;AACxE,OAAO,MAAMM,oBAAoB,GAAGP,UAAU,IAAI,YAAY,IAAIC,MAAM,IAAI,OAAOA,MAAM,CAACO,UAAU,KAAK,UAAU","ignoreList":[]}
1
+ {"version":3,"file":"globals.js","names":["IN_BROWSER","window","SUPPORTS_INTERSECTION","SUPPORTS_TOUCH","navigator","maxTouchPoints","SUPPORTS_EYE_DROPPER"],"sources":["../../src/util/globals.ts"],"sourcesContent":["export const IN_BROWSER = typeof window !== 'undefined'\nexport const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window\nexport const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0)\nexport const SUPPORTS_EYE_DROPPER = IN_BROWSER && 'EyeDropper' in window\n"],"mappings":"AAAA,OAAO,MAAMA,UAAU,GAAG,OAAOC,MAAM,KAAK,WAAW;AACvD,OAAO,MAAMC,qBAAqB,GAAGF,UAAU,IAAI,sBAAsB,IAAIC,MAAM;AACnF,OAAO,MAAME,cAAc,GAAGH,UAAU,KAAK,cAAc,IAAIC,MAAM,IAAIA,MAAM,CAACG,SAAS,CAACC,cAAc,GAAG,CAAC,CAAC;AAC7G,OAAO,MAAMC,oBAAoB,GAAGN,UAAU,IAAI,YAAY,IAAIC,MAAM","ignoreList":[]}
@@ -124,7 +124,6 @@ export declare function templateRef(): TemplateRef;
124
124
  export declare function checkPrintable(e: KeyboardEvent): boolean;
125
125
  export type Primitive = string | number | boolean | symbol | bigint;
126
126
  export declare function isPrimitive(value: unknown): value is Primitive;
127
- export declare function escapeForRegex(sign: string): string;
128
- export declare function extractNumber(text: string, decimalDigitsLimit: number | null, decimalSeparator: string): string;
127
+ export declare function extractNumber(text: string, decimalDigitsLimit: number | null): string;
129
128
  export declare function camelizeProps<T extends Record<string, unknown>>(props: T | null): T;
130
129
 
@@ -533,23 +533,18 @@ export function checkPrintable(e) {
533
533
  export function isPrimitive(value) {
534
534
  return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint';
535
535
  }
536
- export function escapeForRegex(sign) {
537
- return '\\^$*+?.()|{}[]'.includes(sign) ? `\\${sign}` : sign;
538
- }
539
- export function extractNumber(text, decimalDigitsLimit, decimalSeparator) {
540
- const onlyValidCharacters = new RegExp(`[\\d\\-${escapeForRegex(decimalSeparator)}]`);
541
- const cleanText = text.split('').filter(x => onlyValidCharacters.test(x)).filter((x, i, all) => i === 0 && /[-]/.test(x) ||
536
+ export function extractNumber(text, decimalDigitsLimit) {
537
+ const cleanText = text.split('').filter(x => /[\d\-.]/.test(x)).filter((x, i, all) => i === 0 && /[-]/.test(x) ||
542
538
  // sign allowed at the start
543
- x === decimalSeparator && i === all.indexOf(x) ||
539
+ x === '.' && i === all.indexOf('.') ||
544
540
  // decimal separator allowed only once
545
541
  /\d/.test(x)).join('');
546
542
  if (decimalDigitsLimit === 0) {
547
- return cleanText.split(decimalSeparator)[0];
543
+ return cleanText.split('.')[0];
548
544
  }
549
- const decimalPart = new RegExp(`${escapeForRegex(decimalSeparator)}\\d`);
550
- if (decimalDigitsLimit !== null && decimalPart.test(cleanText)) {
551
- const parts = cleanText.split(decimalSeparator);
552
- return [parts[0], parts[1].substring(0, decimalDigitsLimit)].join(decimalSeparator);
545
+ if (decimalDigitsLimit !== null && /\.\d/.test(cleanText)) {
546
+ const parts = cleanText.split('.');
547
+ return [parts[0], parts[1].substring(0, decimalDigitsLimit)].join('.');
553
548
  }
554
549
  return cleanText;
555
550
  }
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["camelize","capitalize","Comment","Fragment","isVNode","reactive","shallowRef","toRef","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","Number","window","getComputedStyle","getPropertyValue","parentNode","convertToUnit","str","unit","num","isNaN","String","isFinite","isObject","isPlainObject","proto","getPrototypeOf","prototype","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","call","pickWithRest","exclude","create","rest","some","RegExp","test","omit","clone","forEach","prop","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","suspense","ssContent","component","getOwnPropertySymbols","provides","subTree","_arr","WeakMap","_pointer","CircularBuffer","constructor","_classPrivateFieldInitSpec","isFull","_classPrivateFieldGet","val","_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","isClickInsideElement","event","targetDiv","mouseX","mouseY","divRect","getBoundingClientRect","divLeft","divTop","top","divRight","divBottom","bottom","templateRef","defineProperty","enumerable","checkPrintable","isPrintableChar","noModifier","ctrlKey","metaKey","altKey","isPrimitive","escapeForRegex","sign","extractNumber","text","decimalDigitsLimit","decimalSeparator","onlyValidCharacters","cleanText","filter","x","all","decimalPart","parts","substring","camelizeProps"],"sources":["../../src/util/helpers.ts"],"sourcesContent":["// Utilities\nimport {\n camelize,\n capitalize,\n Comment,\n Fragment,\n isVNode,\n reactive,\n shallowRef,\n toRef,\n unref,\n watchEffect,\n} 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 ToRef,\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 = Number(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 }\n const num = Number(str)\n if (isNaN(num)) {\n return String(str)\n } else if (!isFinite(num)) {\n return undefined\n } else {\n return `${num}${unit}`\n }\n}\n\nexport function isObject (obj: any): obj is Record<string, any> {\n return obj !== null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nexport function isPlainObject (obj: any): obj is Record<string, any> {\n let proto\n return obj !== null && typeof obj === 'object' && (\n (proto = Object.getPrototypeOf(obj)) === Object.prototype ||\n proto === null\n )\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 for (const key of paths) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n found[key] = obj[key]\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\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 ? [] as any\n : Array.isArray(v)\n ? v as any : [v] as any\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 plain objects\n if (isPlainObject(sourceProperty) && isPlainObject(targetProperty)) {\n out[key] = mergeDeep(sourceProperty, targetProperty, arrayFn)\n\n continue\n }\n\n if (arrayFn && Array.isArray(sourceProperty) && Array.isArray(targetProperty)) {\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 (vnode.suspense) {\n return findChildrenWithProvide(key, vnode.ssContent!)\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 get isFull () {\n return this.#arr.length === this.size\n }\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 clear () {\n this.#arr.length = 0\n this.#pointer = 0\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\ntype ToReadonlyRefs<T> = { [K in keyof T]: Readonly<ToRef<T[K]>> }\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>>): ToReadonlyRefs<T>\nexport function destructComputed<T extends object> (getter: ComputedGetter<T>) {\n const refs = reactive({}) as T\n watchEffect(() => {\n const base = getter()\n for (const key in base) {\n refs[key] = base[key]\n }\n }, { flush: 'sync' })\n const obj = {} as ToReadonlyRefs<T>\n for (const key in refs) {\n obj[key] = toRef(() => refs[key]) as any\n }\n return obj\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\n// TODO: this should be an array but vue's types don't accept arrays: vuejs/core#8025\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> | 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 == null) {\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\nexport function isClickInsideElement (event: MouseEvent, targetDiv: HTMLElement) {\n const mouseX = event.clientX\n const mouseY = event.clientY\n\n const divRect = targetDiv.getBoundingClientRect()\n const divLeft = divRect.left\n const divTop = divRect.top\n const divRight = divRect.right\n const divBottom = divRect.bottom\n\n return mouseX >= divLeft && mouseX <= divRight && mouseY >= divTop && mouseY <= divBottom\n}\n\nexport type TemplateRef = {\n (target: Element | ComponentPublicInstance | null): void\n value: HTMLElement | ComponentPublicInstance | null | undefined\n readonly el: HTMLElement | undefined\n}\nexport function templateRef () {\n const el = shallowRef<HTMLElement | ComponentPublicInstance | null>()\n const fn = (target: HTMLElement | ComponentPublicInstance | null) => {\n el.value = target\n }\n Object.defineProperty(fn, 'value', {\n enumerable: true,\n get: () => el.value,\n set: val => el.value = val,\n })\n Object.defineProperty(fn, 'el', {\n enumerable: true,\n get: () => refElement(el.value),\n })\n\n return fn as TemplateRef\n}\n\nexport function checkPrintable (e: KeyboardEvent) {\n const isPrintableChar = e.key.length === 1\n const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey\n return isPrintableChar && noModifier\n}\n\nexport type Primitive = string | number | boolean | symbol | bigint\nexport function isPrimitive (value: unknown): value is Primitive {\n return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint'\n}\n\nexport function escapeForRegex (sign: string) {\n return '\\\\^$*+?.()|{}[]'.includes(sign)\n ? `\\\\${sign}`\n : sign\n}\n\nexport function extractNumber (text: string, decimalDigitsLimit: number | null, decimalSeparator: string) {\n const onlyValidCharacters = new RegExp(`[\\\\d\\\\-${escapeForRegex(decimalSeparator)}]`)\n const cleanText = text.split('')\n .filter(x => onlyValidCharacters.test(x))\n .filter((x, i, all) => (i === 0 && /[-]/.test(x)) || // sign allowed at the start\n (x === decimalSeparator && i === all.indexOf(x)) || // decimal separator allowed only once\n /\\d/.test(x))\n .join('')\n\n if (decimalDigitsLimit === 0) {\n return cleanText.split(decimalSeparator)[0]\n }\n\n const decimalPart = new RegExp(`${escapeForRegex(decimalSeparator)}\\\\d`)\n if (decimalDigitsLimit !== null && decimalPart.test(cleanText)) {\n const parts = cleanText.split(decimalSeparator)\n return [\n parts[0],\n parts[1].substring(0, decimalDigitsLimit),\n ].join(decimalSeparator)\n }\n\n return cleanText\n}\n\nexport function camelizeProps<T extends Record<string, unknown>> (props: T | null): T {\n const out = {} as T\n for (const prop in props) {\n out[camelize(prop) as keyof T] = props[prop]\n }\n return out\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"helpers.js","names":["camelize","capitalize","Comment","Fragment","isVNode","reactive","shallowRef","toRef","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","Number","window","getComputedStyle","getPropertyValue","parentNode","convertToUnit","str","unit","num","isNaN","String","isFinite","isObject","isPlainObject","proto","getPrototypeOf","prototype","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","call","pickWithRest","exclude","create","rest","some","RegExp","test","omit","clone","forEach","prop","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","suspense","ssContent","component","getOwnPropertySymbols","provides","subTree","_arr","WeakMap","_pointer","CircularBuffer","constructor","_classPrivateFieldInitSpec","isFull","_classPrivateFieldGet","val","_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","isClickInsideElement","event","targetDiv","mouseX","mouseY","divRect","getBoundingClientRect","divLeft","divTop","top","divRight","divBottom","bottom","templateRef","defineProperty","enumerable","checkPrintable","isPrintableChar","noModifier","ctrlKey","metaKey","altKey","isPrimitive","extractNumber","text","decimalDigitsLimit","cleanText","filter","x","all","parts","substring","camelizeProps"],"sources":["../../src/util/helpers.ts"],"sourcesContent":["// Utilities\nimport {\n camelize,\n capitalize,\n Comment,\n Fragment,\n isVNode,\n reactive,\n shallowRef,\n toRef,\n unref,\n watchEffect,\n} 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 ToRef,\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 = Number(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 }\n const num = Number(str)\n if (isNaN(num)) {\n return String(str)\n } else if (!isFinite(num)) {\n return undefined\n } else {\n return `${num}${unit}`\n }\n}\n\nexport function isObject (obj: any): obj is Record<string, any> {\n return obj !== null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nexport function isPlainObject (obj: any): obj is Record<string, any> {\n let proto\n return obj !== null && typeof obj === 'object' && (\n (proto = Object.getPrototypeOf(obj)) === Object.prototype ||\n proto === null\n )\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 for (const key of paths) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n found[key] = obj[key]\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\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 ? [] as any\n : Array.isArray(v)\n ? v as any : [v] as any\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 plain objects\n if (isPlainObject(sourceProperty) && isPlainObject(targetProperty)) {\n out[key] = mergeDeep(sourceProperty, targetProperty, arrayFn)\n\n continue\n }\n\n if (arrayFn && Array.isArray(sourceProperty) && Array.isArray(targetProperty)) {\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 (vnode.suspense) {\n return findChildrenWithProvide(key, vnode.ssContent!)\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 get isFull () {\n return this.#arr.length === this.size\n }\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 clear () {\n this.#arr.length = 0\n this.#pointer = 0\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\ntype ToReadonlyRefs<T> = { [K in keyof T]: Readonly<ToRef<T[K]>> }\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>>): ToReadonlyRefs<T>\nexport function destructComputed<T extends object> (getter: ComputedGetter<T>) {\n const refs = reactive({}) as T\n watchEffect(() => {\n const base = getter()\n for (const key in base) {\n refs[key] = base[key]\n }\n }, { flush: 'sync' })\n const obj = {} as ToReadonlyRefs<T>\n for (const key in refs) {\n obj[key] = toRef(() => refs[key]) as any\n }\n return obj\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\n// TODO: this should be an array but vue's types don't accept arrays: vuejs/core#8025\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> | 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 == null) {\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\nexport function isClickInsideElement (event: MouseEvent, targetDiv: HTMLElement) {\n const mouseX = event.clientX\n const mouseY = event.clientY\n\n const divRect = targetDiv.getBoundingClientRect()\n const divLeft = divRect.left\n const divTop = divRect.top\n const divRight = divRect.right\n const divBottom = divRect.bottom\n\n return mouseX >= divLeft && mouseX <= divRight && mouseY >= divTop && mouseY <= divBottom\n}\n\nexport type TemplateRef = {\n (target: Element | ComponentPublicInstance | null): void\n value: HTMLElement | ComponentPublicInstance | null | undefined\n readonly el: HTMLElement | undefined\n}\nexport function templateRef () {\n const el = shallowRef<HTMLElement | ComponentPublicInstance | null>()\n const fn = (target: HTMLElement | ComponentPublicInstance | null) => {\n el.value = target\n }\n Object.defineProperty(fn, 'value', {\n enumerable: true,\n get: () => el.value,\n set: val => el.value = val,\n })\n Object.defineProperty(fn, 'el', {\n enumerable: true,\n get: () => refElement(el.value),\n })\n\n return fn as TemplateRef\n}\n\nexport function checkPrintable (e: KeyboardEvent) {\n const isPrintableChar = e.key.length === 1\n const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey\n return isPrintableChar && noModifier\n}\n\nexport type Primitive = string | number | boolean | symbol | bigint\nexport function isPrimitive (value: unknown): value is Primitive {\n return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint'\n}\n\nexport function extractNumber (text: string, decimalDigitsLimit: number | null) {\n const cleanText = text.split('')\n .filter(x => /[\\d\\-.]/.test(x))\n .filter((x, i, all) => (i === 0 && /[-]/.test(x)) || // sign allowed at the start\n (x === '.' && i === all.indexOf('.')) || // decimal separator allowed only once\n /\\d/.test(x))\n .join('')\n\n if (decimalDigitsLimit === 0) {\n return cleanText.split('.')[0]\n }\n\n if (decimalDigitsLimit !== null && /\\.\\d/.test(cleanText)) {\n const parts = cleanText.split('.')\n return [\n parts[0],\n parts[1].substring(0, decimalDigitsLimit),\n ].join('.')\n }\n\n return cleanText\n}\n\nexport function camelizeProps<T extends Record<string, unknown>> (props: T | null): T {\n const out = {} as T\n for (const prop in props) {\n out[camelize(prop) as keyof T] = props[prop]\n }\n return out\n}\n"],"mappings":"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","ignoreList":[]}