@vuetify/nightly 3.1.2 → 3.1.3-dev-20230125.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/CHANGELOG.md +8 -20
  2. package/dist/json/importMap.json +56 -56
  3. package/dist/vuetify-labs.css +630 -630
  4. package/dist/vuetify-labs.d.ts +191 -168
  5. package/dist/vuetify-labs.esm.js +183 -131
  6. package/dist/vuetify-labs.esm.js.map +1 -1
  7. package/dist/vuetify-labs.js +182 -130
  8. package/dist/vuetify-labs.min.css +2 -2
  9. package/dist/vuetify.css +954 -954
  10. package/dist/vuetify.d.ts +207 -184
  11. package/dist/vuetify.esm.js +183 -131
  12. package/dist/vuetify.esm.js.map +1 -1
  13. package/dist/vuetify.js +182 -130
  14. package/dist/vuetify.js.map +1 -1
  15. package/dist/vuetify.min.css +2 -2
  16. package/dist/vuetify.min.js +725 -717
  17. package/dist/vuetify.min.js.map +1 -1
  18. package/lib/blueprints/index.d.ts +2 -2
  19. package/lib/blueprints/md1.d.ts +2 -2
  20. package/lib/blueprints/md2.d.ts +2 -2
  21. package/lib/blueprints/md3.d.ts +2 -2
  22. package/lib/components/VAutocomplete/index.d.ts +43 -20
  23. package/lib/components/VCombobox/index.d.ts +43 -20
  24. package/lib/components/VDefaultsProvider/index.d.ts +5 -4
  25. package/lib/components/VDialog/VDialog.mjs +6 -5
  26. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  27. package/lib/components/VDialog/index.d.ts +57 -34
  28. package/lib/components/VField/VField.mjs +29 -26
  29. package/lib/components/VField/VField.mjs.map +1 -1
  30. package/lib/components/VList/VList.mjs +4 -1
  31. package/lib/components/VList/VList.mjs.map +1 -1
  32. package/lib/components/VList/VListItem.mjs +29 -19
  33. package/lib/components/VList/VListItem.mjs.map +1 -1
  34. package/lib/components/VMenu/VMenu.mjs +6 -5
  35. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  36. package/lib/components/VMenu/index.d.ts +57 -34
  37. package/lib/components/VOverlay/index.d.ts +34 -11
  38. package/lib/components/VOverlay/locationStrategies.mjs +40 -29
  39. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  40. package/lib/components/VOverlay/scrollStrategies.mjs +25 -16
  41. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  42. package/lib/components/VSelect/index.d.ts +43 -20
  43. package/lib/components/VSnackbar/index.d.ts +42 -19
  44. package/lib/components/VTable/VTable.css +4 -4
  45. package/lib/components/VTable/VTable.sass +2 -2
  46. package/lib/components/VTooltip/VTooltip.mjs +4 -3
  47. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  48. package/lib/components/VTooltip/index.d.ts +57 -34
  49. package/lib/components/index.d.ts +192 -168
  50. package/lib/composables/defaults.mjs +1 -1
  51. package/lib/composables/defaults.mjs.map +1 -1
  52. package/lib/composables/toggleScope.mjs +14 -7
  53. package/lib/composables/toggleScope.mjs.map +1 -1
  54. package/lib/entry-bundler.mjs +1 -1
  55. package/lib/entry-bundler.mjs.map +1 -1
  56. package/lib/framework.mjs +1 -1
  57. package/lib/framework.mjs.map +1 -1
  58. package/lib/index.d.ts +18 -18
  59. package/lib/util/defineComponent.mjs +21 -18
  60. package/lib/util/defineComponent.mjs.map +1 -1
  61. package/lib/util/helpers.mjs +5 -1
  62. package/lib/util/helpers.mjs.map +1 -1
  63. package/package.json +1 -1
@@ -3,7 +3,7 @@ import { computed, inject, provide, ref, unref } from 'vue';
3
3
  import { mergeDeep } from "../util/index.mjs"; // Types
4
4
  export const DefaultsSymbol = Symbol.for('vuetify:defaults');
5
5
  export function createDefaults(options) {
6
- return ref(options ?? {});
6
+ return ref(options);
7
7
  }
8
8
  export function useDefaults() {
9
9
  const defaults = inject(DefaultsSymbol);
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.mjs","names":["computed","inject","provide","ref","unref","mergeDeep","DefaultsSymbol","Symbol","for","createDefaults","options","useDefaults","defaults","Error","provideDefaults","injectedDefaults","providedDefaults","newDefaults","scoped","reset","root","properties","value","prev","len","Number","Infinity","i"],"sources":["../../src/composables/defaults.ts"],"sourcesContent":["// Utilities\nimport { computed, inject, provide, ref, unref } from 'vue'\nimport { mergeDeep } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport interface DefaultsInstance {\n [key: string]: undefined | Record<string, unknown>\n global?: Record<string, unknown>\n}\n\nexport type DefaultsOptions = Partial<DefaultsInstance>\n\nexport const DefaultsSymbol: InjectionKey<Ref<DefaultsInstance>> = Symbol.for('vuetify:defaults')\n\nexport function createDefaults (options?: DefaultsInstance): Ref<DefaultsInstance> {\n return ref(options ?? {})\n}\n\nexport function useDefaults () {\n const defaults = inject(DefaultsSymbol)\n\n if (!defaults) throw new Error('[Vuetify] Could not find defaults instance')\n\n return defaults\n}\n\nexport function provideDefaults (\n defaults?: MaybeRef<DefaultsInstance | undefined>,\n options?: {\n reset?: MaybeRef<number | string | undefined>\n root?: MaybeRef<boolean | undefined>\n scoped?: MaybeRef<boolean | undefined>\n }\n) {\n const injectedDefaults = useDefaults()\n const providedDefaults = ref(defaults)\n\n const newDefaults = computed(() => {\n const scoped = unref(options?.scoped)\n const reset = unref(options?.reset)\n const root = unref(options?.root)\n\n let properties = mergeDeep(providedDefaults.value, { prev: injectedDefaults.value })\n\n if (scoped) return properties\n\n if (reset || root) {\n const len = Number(reset || Infinity)\n\n for (let i = 0; i <= len; i++) {\n if (!properties.prev) break\n\n properties = properties.prev\n }\n\n return properties\n }\n\n return mergeDeep(properties.prev, properties)\n }) as ComputedRef<DefaultsInstance>\n\n provide(DefaultsSymbol, newDefaults)\n\n return newDefaults\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,OAAO,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAClDC,SAAS,6BAElB;AAWA,OAAO,MAAMC,cAAmD,GAAGC,MAAM,CAACC,GAAG,CAAC,kBAAkB,CAAC;AAEjG,OAAO,SAASC,cAAc,CAAEC,OAA0B,EAAyB;EACjF,OAAOP,GAAG,CAACO,OAAO,IAAI,CAAC,CAAC,CAAC;AAC3B;AAEA,OAAO,SAASC,WAAW,GAAI;EAC7B,MAAMC,QAAQ,GAAGX,MAAM,CAACK,cAAc,CAAC;EAEvC,IAAI,CAACM,QAAQ,EAAE,MAAM,IAAIC,KAAK,CAAC,4CAA4C,CAAC;EAE5E,OAAOD,QAAQ;AACjB;AAEA,OAAO,SAASE,eAAe,CAC7BF,QAAiD,EACjDF,OAIC,EACD;EACA,MAAMK,gBAAgB,GAAGJ,WAAW,EAAE;EACtC,MAAMK,gBAAgB,GAAGb,GAAG,CAACS,QAAQ,CAAC;EAEtC,MAAMK,WAAW,GAAGjB,QAAQ,CAAC,MAAM;IACjC,MAAMkB,MAAM,GAAGd,KAAK,CAACM,OAAO,oBAAPA,OAAO,CAAEQ,MAAM,CAAC;IACrC,MAAMC,KAAK,GAAGf,KAAK,CAACM,OAAO,oBAAPA,OAAO,CAAES,KAAK,CAAC;IACnC,MAAMC,IAAI,GAAGhB,KAAK,CAACM,OAAO,oBAAPA,OAAO,CAAEU,IAAI,CAAC;IAEjC,IAAIC,UAAU,GAAGhB,SAAS,CAACW,gBAAgB,CAACM,KAAK,EAAE;MAAEC,IAAI,EAAER,gBAAgB,CAACO;IAAM,CAAC,CAAC;IAEpF,IAAIJ,MAAM,EAAE,OAAOG,UAAU;IAE7B,IAAIF,KAAK,IAAIC,IAAI,EAAE;MACjB,MAAMI,GAAG,GAAGC,MAAM,CAACN,KAAK,IAAIO,QAAQ,CAAC;MAErC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAIH,GAAG,EAAEG,CAAC,EAAE,EAAE;QAC7B,IAAI,CAACN,UAAU,CAACE,IAAI,EAAE;QAEtBF,UAAU,GAAGA,UAAU,CAACE,IAAI;MAC9B;MAEA,OAAOF,UAAU;IACnB;IAEA,OAAOhB,SAAS,CAACgB,UAAU,CAACE,IAAI,EAAEF,UAAU,CAAC;EAC/C,CAAC,CAAkC;EAEnCnB,OAAO,CAACI,cAAc,EAAEW,WAAW,CAAC;EAEpC,OAAOA,WAAW;AACpB"}
1
+ {"version":3,"file":"defaults.mjs","names":["computed","inject","provide","ref","unref","mergeDeep","DefaultsSymbol","Symbol","for","createDefaults","options","useDefaults","defaults","Error","provideDefaults","injectedDefaults","providedDefaults","newDefaults","scoped","reset","root","properties","value","prev","len","Number","Infinity","i"],"sources":["../../src/composables/defaults.ts"],"sourcesContent":["// Utilities\nimport { computed, inject, provide, ref, unref } from 'vue'\nimport { mergeDeep } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport type DefaultsInstance = undefined | {\n [key: string]: undefined | Record<string, unknown>\n global?: Record<string, unknown>\n}\n\nexport type DefaultsOptions = Partial<DefaultsInstance>\n\nexport const DefaultsSymbol: InjectionKey<Ref<DefaultsInstance>> = Symbol.for('vuetify:defaults')\n\nexport function createDefaults (options?: DefaultsInstance): Ref<DefaultsInstance> {\n return ref(options)\n}\n\nexport function useDefaults () {\n const defaults = inject(DefaultsSymbol)\n\n if (!defaults) throw new Error('[Vuetify] Could not find defaults instance')\n\n return defaults\n}\n\nexport function provideDefaults (\n defaults?: MaybeRef<DefaultsInstance | undefined>,\n options?: {\n reset?: MaybeRef<number | string | undefined>\n root?: MaybeRef<boolean | undefined>\n scoped?: MaybeRef<boolean | undefined>\n }\n) {\n const injectedDefaults = useDefaults()\n const providedDefaults = ref(defaults)\n\n const newDefaults = computed(() => {\n const scoped = unref(options?.scoped)\n const reset = unref(options?.reset)\n const root = unref(options?.root)\n\n let properties = mergeDeep(providedDefaults.value, { prev: injectedDefaults.value })\n\n if (scoped) return properties\n\n if (reset || root) {\n const len = Number(reset || Infinity)\n\n for (let i = 0; i <= len; i++) {\n if (!properties.prev) break\n\n properties = properties.prev\n }\n\n return properties\n }\n\n return mergeDeep(properties.prev, properties)\n }) as ComputedRef<DefaultsInstance>\n\n provide(DefaultsSymbol, newDefaults)\n\n return newDefaults\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,OAAO,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAClDC,SAAS,6BAElB;AAWA,OAAO,MAAMC,cAAmD,GAAGC,MAAM,CAACC,GAAG,CAAC,kBAAkB,CAAC;AAEjG,OAAO,SAASC,cAAc,CAAEC,OAA0B,EAAyB;EACjF,OAAOP,GAAG,CAACO,OAAO,CAAC;AACrB;AAEA,OAAO,SAASC,WAAW,GAAI;EAC7B,MAAMC,QAAQ,GAAGX,MAAM,CAACK,cAAc,CAAC;EAEvC,IAAI,CAACM,QAAQ,EAAE,MAAM,IAAIC,KAAK,CAAC,4CAA4C,CAAC;EAE5E,OAAOD,QAAQ;AACjB;AAEA,OAAO,SAASE,eAAe,CAC7BF,QAAiD,EACjDF,OAIC,EACD;EACA,MAAMK,gBAAgB,GAAGJ,WAAW,EAAE;EACtC,MAAMK,gBAAgB,GAAGb,GAAG,CAACS,QAAQ,CAAC;EAEtC,MAAMK,WAAW,GAAGjB,QAAQ,CAAC,MAAM;IACjC,MAAMkB,MAAM,GAAGd,KAAK,CAACM,OAAO,oBAAPA,OAAO,CAAEQ,MAAM,CAAC;IACrC,MAAMC,KAAK,GAAGf,KAAK,CAACM,OAAO,oBAAPA,OAAO,CAAES,KAAK,CAAC;IACnC,MAAMC,IAAI,GAAGhB,KAAK,CAACM,OAAO,oBAAPA,OAAO,CAAEU,IAAI,CAAC;IAEjC,IAAIC,UAAU,GAAGhB,SAAS,CAACW,gBAAgB,CAACM,KAAK,EAAE;MAAEC,IAAI,EAAER,gBAAgB,CAACO;IAAM,CAAC,CAAC;IAEpF,IAAIJ,MAAM,EAAE,OAAOG,UAAU;IAE7B,IAAIF,KAAK,IAAIC,IAAI,EAAE;MACjB,MAAMI,GAAG,GAAGC,MAAM,CAACN,KAAK,IAAIO,QAAQ,CAAC;MAErC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAIH,GAAG,EAAEG,CAAC,EAAE,EAAE;QAC7B,IAAI,CAACN,UAAU,CAACE,IAAI,EAAE;QAEtBF,UAAU,GAAGA,UAAU,CAACE,IAAI;MAC9B;MAEA,OAAOF,UAAU;IACnB;IAEA,OAAOhB,SAAS,CAACgB,UAAU,CAACE,IAAI,EAAEF,UAAU,CAAC;EAC/C,CAAC,CAAkC;EAEnCnB,OAAO,CAACI,cAAc,EAAEW,WAAW,CAAC;EAEpC,OAAOA,WAAW;AACpB"}
@@ -1,21 +1,28 @@
1
1
  import { effectScope, onScopeDispose, watch } from 'vue';
2
- export function useToggleScope(source, cb) {
2
+ export function useToggleScope(source, fn) {
3
3
  let scope;
4
+ function start() {
5
+ scope = effectScope();
6
+ scope.run(() => fn.length ? fn(() => {
7
+ var _scope;
8
+ (_scope = scope) == null ? void 0 : _scope.stop();
9
+ start();
10
+ }) : fn());
11
+ }
4
12
  watch(source, active => {
5
13
  if (active && !scope) {
6
- scope = effectScope();
7
- scope.run(cb);
14
+ start();
8
15
  } else if (!active) {
9
- var _scope;
10
- (_scope = scope) == null ? void 0 : _scope.stop();
16
+ var _scope2;
17
+ (_scope2 = scope) == null ? void 0 : _scope2.stop();
11
18
  scope = undefined;
12
19
  }
13
20
  }, {
14
21
  immediate: true
15
22
  });
16
23
  onScopeDispose(() => {
17
- var _scope2;
18
- (_scope2 = scope) == null ? void 0 : _scope2.stop();
24
+ var _scope3;
25
+ (_scope3 = scope) == null ? void 0 : _scope3.stop();
19
26
  });
20
27
  }
21
28
  //# sourceMappingURL=toggleScope.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggleScope.mjs","names":["effectScope","onScopeDispose","watch","useToggleScope","source","cb","scope","active","run","stop","undefined","immediate"],"sources":["../../src/composables/toggleScope.ts"],"sourcesContent":["import { effectScope, onScopeDispose, watch } from 'vue'\nimport type { EffectScope, WatchSource } from 'vue'\n\nexport function useToggleScope (source: WatchSource<boolean>, cb: () => void) {\n let scope: EffectScope | undefined\n watch(source, active => {\n if (active && !scope) {\n scope = effectScope()\n scope.run(cb)\n } else if (!active) {\n scope?.stop()\n scope = undefined\n }\n }, { immediate: true })\n\n onScopeDispose(() => {\n scope?.stop()\n })\n}\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,cAAc,EAAEC,KAAK,QAAQ,KAAK;AAGxD,OAAO,SAASC,cAAc,CAAEC,MAA4B,EAAEC,EAAc,EAAE;EAC5E,IAAIC,KAA8B;EAClCJ,KAAK,CAACE,MAAM,EAAEG,MAAM,IAAI;IACtB,IAAIA,MAAM,IAAI,CAACD,KAAK,EAAE;MACpBA,KAAK,GAAGN,WAAW,EAAE;MACrBM,KAAK,CAACE,GAAG,CAACH,EAAE,CAAC;IACf,CAAC,MAAM,IAAI,CAACE,MAAM,EAAE;MAAA;MAClB,UAAAD,KAAK,qBAAL,OAAOG,IAAI,EAAE;MACbH,KAAK,GAAGI,SAAS;IACnB;EACF,CAAC,EAAE;IAAEC,SAAS,EAAE;EAAK,CAAC,CAAC;EAEvBV,cAAc,CAAC,MAAM;IAAA;IACnB,WAAAK,KAAK,qBAAL,QAAOG,IAAI,EAAE;EACf,CAAC,CAAC;AACJ"}
1
+ {"version":3,"file":"toggleScope.mjs","names":["effectScope","onScopeDispose","watch","useToggleScope","source","fn","scope","start","run","length","stop","active","undefined","immediate"],"sources":["../../src/composables/toggleScope.ts"],"sourcesContent":["import { effectScope, onScopeDispose, watch } from 'vue'\nimport type { EffectScope, WatchSource } from 'vue'\n\nexport function useToggleScope (source: WatchSource<boolean>, fn: (reset: () => void) => void) {\n let scope: EffectScope | undefined\n function start () {\n scope = effectScope()\n scope.run(() => fn.length\n ? fn(() => { scope?.stop(); start() })\n : (fn as any)()\n )\n }\n\n watch(source, active => {\n if (active && !scope) {\n start()\n } else if (!active) {\n scope?.stop()\n scope = undefined\n }\n }, { immediate: true })\n\n onScopeDispose(() => {\n scope?.stop()\n })\n}\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,cAAc,EAAEC,KAAK,QAAQ,KAAK;AAGxD,OAAO,SAASC,cAAc,CAAEC,MAA4B,EAAEC,EAA+B,EAAE;EAC7F,IAAIC,KAA8B;EAClC,SAASC,KAAK,GAAI;IAChBD,KAAK,GAAGN,WAAW,EAAE;IACrBM,KAAK,CAACE,GAAG,CAAC,MAAMH,EAAE,CAACI,MAAM,GACrBJ,EAAE,CAAC,MAAM;MAAA;MAAE,UAAAC,KAAK,qBAAL,OAAOI,IAAI,EAAE;MAAEH,KAAK,EAAE;IAAC,CAAC,CAAC,GACnCF,EAAE,EAAU,CAChB;EACH;EAEAH,KAAK,CAACE,MAAM,EAAEO,MAAM,IAAI;IACtB,IAAIA,MAAM,IAAI,CAACL,KAAK,EAAE;MACpBC,KAAK,EAAE;IACT,CAAC,MAAM,IAAI,CAACI,MAAM,EAAE;MAAA;MAClB,WAAAL,KAAK,qBAAL,QAAOI,IAAI,EAAE;MACbJ,KAAK,GAAGM,SAAS;IACnB;EACF,CAAC,EAAE;IAAEC,SAAS,EAAE;EAAK,CAAC,CAAC;EAEvBZ,cAAc,CAAC,MAAM;IAAA;IACnB,WAAAK,KAAK,qBAAL,QAAOI,IAAI,EAAE;EACf,CAAC,CAAC;AACJ"}
@@ -10,7 +10,7 @@ export const createVuetify = function () {
10
10
  ...options
11
11
  });
12
12
  };
13
- export const version = "3.1.2";
13
+ export const version = "3.1.3-dev-20230125.0";
14
14
  createVuetify.version = version;
15
15
  export { components, directives };
16
16
  export * from "./composables/index.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"entry-bundler.mjs","names":["components","directives","createVuetify","_createVuetify","options","version"],"sources":["../src/entry-bundler.ts"],"sourcesContent":["import './styles/main.sass'\nimport * as components from './components'\nimport * as directives from './directives'\nimport { createVuetify as _createVuetify } from './framework'\nimport type { VuetifyOptions } from './framework'\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\nexport {\n components,\n directives,\n}\nexport * from './composables'\n"],"mappings":"AAAA;AAA2B,OACpB,KAAKA,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,SACbC,aAAa,IAAIC,cAAc;AAGxC,OAAO,MAAMD,aAAa,GAAG,YAAkC;EAAA,IAAjCE,OAAuB,uEAAG,CAAC,CAAC;EACxD,OAAOD,cAAc,CAAC;IAAEH,UAAU;IAAEC,UAAU;IAAE,GAAGG;EAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,OAAO,MAAMC,OAAO,UAAsB;AAC1CH,aAAa,CAACG,OAAO,GAAGA,OAAO;AAE/B,SACEL,UAAU,EACVC,UAAU;AACX"}
1
+ {"version":3,"file":"entry-bundler.mjs","names":["components","directives","createVuetify","_createVuetify","options","version"],"sources":["../src/entry-bundler.ts"],"sourcesContent":["import './styles/main.sass'\nimport * as components from './components'\nimport * as directives from './directives'\nimport { createVuetify as _createVuetify } from './framework'\nimport type { VuetifyOptions } from './framework'\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\nexport {\n components,\n directives,\n}\nexport * from './composables'\n"],"mappings":"AAAA;AAA2B,OACpB,KAAKA,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,SACbC,aAAa,IAAIC,cAAc;AAGxC,OAAO,MAAMD,aAAa,GAAG,YAAkC;EAAA,IAAjCE,OAAuB,uEAAG,CAAC,CAAC;EACxD,OAAOD,cAAc,CAAC;IAAEH,UAAU;IAAEC,UAAU;IAAE,GAAGG;EAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,OAAO,MAAMC,OAAO,yBAAsB;AAC1CH,aAAa,CAACG,OAAO,GAAGA,OAAO;AAE/B,SACEL,UAAU,EACVC,UAAU;AACX"}
package/lib/framework.mjs CHANGED
@@ -89,7 +89,7 @@ export function createVuetify() {
89
89
  locale
90
90
  };
91
91
  }
92
- export const version = "3.1.2";
92
+ export const version = "3.1.3-dev-20230125.0";
93
93
  createVuetify.version = version;
94
94
 
95
95
  // Vue's inject() can only be used in setup
@@ -1 +1 @@
1
- {"version":3,"file":"framework.mjs","names":["createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createIcons","IconSymbol","createLocale","LocaleSymbol","createTheme","ThemeSymbol","defineComponent","getUid","IN_BROWSER","mergeDeep","nextTick","reactive","createVuetify","vuetify","blueprint","rest","options","aliases","components","directives","defaults","display","ssr","theme","icons","locale","install","app","key","directive","component","name","aliasName","provide","$nuxt","hook","update","mount","vm","reset","__VUE_OPTIONS_API__","mixin","computed","$vuetify","inject","call","version","$","provides","parent","vnode","appContext"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent, getUid, IN_BROWSER, mergeDeep } from '@/util'\nimport { nextTick, reactive } from 'vue'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions } from '@/composables/display'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleOptions, RtlOptions } from '@/composables/locale'\nimport type { ThemeOptions } from '@/composables/theme'\n\nexport * from './composables'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n blueprint?: Blueprint\n components?: Record<string, any>\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: LocaleOptions & RtlOptions\n ssr?: boolean\n}\n\nexport interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {}\n\nexport function createVuetify (vuetify: VuetifyOptions = {}) {\n const { blueprint, ...rest } = vuetify\n const options = mergeDeep(blueprint, rest)\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n const defaults = createDefaults(options.defaults)\n const display = createDisplay(options.display, options.ssr)\n const theme = createTheme(options.theme)\n const icons = createIcons(options.icons)\n const locale = createLocale(options.locale)\n\n const install = (app: App) => {\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n aliasName: aliases[key].name,\n }))\n }\n\n theme.install(app)\n\n app.provide(DefaultsSymbol, defaults)\n app.provide(DisplaySymbol, display)\n app.provide(ThemeSymbol, theme)\n app.provide(IconSymbol, icons)\n app.provide(LocaleSymbol, locale)\n\n if (IN_BROWSER && options.ssr) {\n if (app.$nuxt) {\n app.$nuxt.hook('app:suspense:resolve', () => {\n display.update()\n })\n } else {\n const { mount } = app\n app.mount = (...args) => {\n const vm = mount(...args)\n nextTick(() => display.update())\n app.mount = mount\n return vm\n }\n }\n }\n\n getUid.reset()\n\n if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleSymbol),\n })\n },\n },\n })\n }\n }\n\n return {\n install,\n defaults,\n display,\n theme,\n icons,\n locale,\n }\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\n// Vue's inject() can only be used in setup\nfunction inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"framework.mjs","names":["createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createIcons","IconSymbol","createLocale","LocaleSymbol","createTheme","ThemeSymbol","defineComponent","getUid","IN_BROWSER","mergeDeep","nextTick","reactive","createVuetify","vuetify","blueprint","rest","options","aliases","components","directives","defaults","display","ssr","theme","icons","locale","install","app","key","directive","component","name","aliasName","provide","$nuxt","hook","update","mount","vm","reset","__VUE_OPTIONS_API__","mixin","computed","$vuetify","inject","call","version","$","provides","parent","vnode","appContext"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent, getUid, IN_BROWSER, mergeDeep } from '@/util'\nimport { nextTick, reactive } from 'vue'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions } from '@/composables/display'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleOptions, RtlOptions } from '@/composables/locale'\nimport type { ThemeOptions } from '@/composables/theme'\n\nexport * from './composables'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n blueprint?: Blueprint\n components?: Record<string, any>\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: LocaleOptions & RtlOptions\n ssr?: boolean\n}\n\nexport interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {}\n\nexport function createVuetify (vuetify: VuetifyOptions = {}) {\n const { blueprint, ...rest } = vuetify\n const options = mergeDeep(blueprint, rest)\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n const defaults = createDefaults(options.defaults)\n const display = createDisplay(options.display, options.ssr)\n const theme = createTheme(options.theme)\n const icons = createIcons(options.icons)\n const locale = createLocale(options.locale)\n\n const install = (app: App) => {\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n aliasName: aliases[key].name,\n }))\n }\n\n theme.install(app)\n\n app.provide(DefaultsSymbol, defaults)\n app.provide(DisplaySymbol, display)\n app.provide(ThemeSymbol, theme)\n app.provide(IconSymbol, icons)\n app.provide(LocaleSymbol, locale)\n\n if (IN_BROWSER && options.ssr) {\n if (app.$nuxt) {\n app.$nuxt.hook('app:suspense:resolve', () => {\n display.update()\n })\n } else {\n const { mount } = app\n app.mount = (...args) => {\n const vm = mount(...args)\n nextTick(() => display.update())\n app.mount = mount\n return vm\n }\n }\n }\n\n getUid.reset()\n\n if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleSymbol),\n })\n },\n },\n })\n }\n }\n\n return {\n install,\n defaults,\n display,\n theme,\n icons,\n locale,\n }\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\n// Vue's inject() can only be used in setup\nfunction inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n}\n"],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -145,10 +145,10 @@ interface DisplayInstance {
145
145
  }
146
146
  declare function useDisplay(): DisplayInstance;
147
147
 
148
- interface DefaultsInstance {
148
+ declare type DefaultsInstance = undefined | {
149
149
  [key: string]: undefined | Record<string, unknown>;
150
150
  global?: Record<string, unknown>;
151
- }
151
+ };
152
152
  declare type DefaultsOptions = Partial<DefaultsInstance>;
153
153
 
154
154
  declare type IconValue = string | JSXComponent;
@@ -315,20 +315,20 @@ declare module '@vue/runtime-core' {
315
315
 
316
316
  export interface GlobalComponents {
317
317
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
318
- VHover: typeof import('vuetify/components')['VHover']
318
+ VForm: typeof import('vuetify/components')['VForm']
319
319
  VContainer: typeof import('vuetify/components')['VContainer']
320
320
  VCol: typeof import('vuetify/components')['VCol']
321
321
  VRow: typeof import('vuetify/components')['VRow']
322
322
  VSpacer: typeof import('vuetify/components')['VSpacer']
323
- VForm: typeof import('vuetify/components')['VForm']
323
+ VHover: typeof import('vuetify/components')['VHover']
324
324
  VLayout: typeof import('vuetify/components')['VLayout']
325
325
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
326
- VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
327
326
  VLazy: typeof import('vuetify/components')['VLazy']
327
+ VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
328
+ VNoSsr: typeof import('vuetify/components')['VNoSsr']
328
329
  VParallax: typeof import('vuetify/components')['VParallax']
329
330
  VRadio: typeof import('vuetify/components')['VRadio']
330
331
  VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
331
- VNoSsr: typeof import('vuetify/components')['VNoSsr']
332
332
  VResponsive: typeof import('vuetify/components')['VResponsive']
333
333
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
334
334
  VValidation: typeof import('vuetify/components')['VValidation']
@@ -349,11 +349,14 @@ declare module '@vue/runtime-core' {
349
349
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
350
350
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
351
351
  VApp: typeof import('vuetify/components')['VApp']
352
+ VAppBar: typeof import('vuetify/components')['VAppBar']
353
+ VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
354
+ VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
352
355
  VAlert: typeof import('vuetify/components')['VAlert']
353
356
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
354
357
  VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
355
- VBadge: typeof import('vuetify/components')['VBadge']
356
358
  VAvatar: typeof import('vuetify/components')['VAvatar']
359
+ VBadge: typeof import('vuetify/components')['VBadge']
357
360
  VBanner: typeof import('vuetify/components')['VBanner']
358
361
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
359
362
  VBannerText: typeof import('vuetify/components')['VBannerText']
@@ -374,12 +377,12 @@ declare module '@vue/runtime-core' {
374
377
  VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
375
378
  VCheckbox: typeof import('vuetify/components')['VCheckbox']
376
379
  VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
377
- VChipGroup: typeof import('vuetify/components')['VChipGroup']
378
380
  VChip: typeof import('vuetify/components')['VChip']
381
+ VChipGroup: typeof import('vuetify/components')['VChipGroup']
379
382
  VCode: typeof import('vuetify/components')['VCode']
380
383
  VColorPicker: typeof import('vuetify/components')['VColorPicker']
381
- VCounter: typeof import('vuetify/components')['VCounter']
382
384
  VCombobox: typeof import('vuetify/components')['VCombobox']
385
+ VCounter: typeof import('vuetify/components')['VCounter']
383
386
  VDialog: typeof import('vuetify/components')['VDialog']
384
387
  VDivider: typeof import('vuetify/components')['VDivider']
385
388
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
@@ -389,9 +392,6 @@ declare module '@vue/runtime-core' {
389
392
  VField: typeof import('vuetify/components')['VField']
390
393
  VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
391
394
  VFileInput: typeof import('vuetify/components')['VFileInput']
392
- VAppBar: typeof import('vuetify/components')['VAppBar']
393
- VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
394
- VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
395
395
  VFooter: typeof import('vuetify/components')['VFooter']
396
396
  VIcon: typeof import('vuetify/components')['VIcon']
397
397
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
@@ -400,9 +400,9 @@ declare module '@vue/runtime-core' {
400
400
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
401
401
  VImg: typeof import('vuetify/components')['VImg']
402
402
  VInput: typeof import('vuetify/components')['VInput']
403
- VKbd: typeof import('vuetify/components')['VKbd']
404
403
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
405
404
  VItem: typeof import('vuetify/components')['VItem']
405
+ VKbd: typeof import('vuetify/components')['VKbd']
406
406
  VLabel: typeof import('vuetify/components')['VLabel']
407
407
  VList: typeof import('vuetify/components')['VList']
408
408
  VListGroup: typeof import('vuetify/components')['VListGroup']
@@ -415,16 +415,16 @@ declare module '@vue/runtime-core' {
415
415
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
416
416
  VMain: typeof import('vuetify/components')['VMain']
417
417
  VMenu: typeof import('vuetify/components')['VMenu']
418
+ VMessages: typeof import('vuetify/components')['VMessages']
418
419
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
419
420
  VOverlay: typeof import('vuetify/components')['VOverlay']
420
421
  VPagination: typeof import('vuetify/components')['VPagination']
421
- VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
422
422
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
423
- VMessages: typeof import('vuetify/components')['VMessages']
423
+ VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
424
424
  VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
425
425
  VRating: typeof import('vuetify/components')['VRating']
426
- VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
427
426
  VSelect: typeof import('vuetify/components')['VSelect']
427
+ VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
428
428
  VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
429
429
  VSheet: typeof import('vuetify/components')['VSheet']
430
430
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
@@ -432,9 +432,9 @@ declare module '@vue/runtime-core' {
432
432
  VSlider: typeof import('vuetify/components')['VSlider']
433
433
  VSnackbar: typeof import('vuetify/components')['VSnackbar']
434
434
  VSwitch: typeof import('vuetify/components')['VSwitch']
435
+ VSystemBar: typeof import('vuetify/components')['VSystemBar']
435
436
  VTabs: typeof import('vuetify/components')['VTabs']
436
437
  VTab: typeof import('vuetify/components')['VTab']
437
- VSystemBar: typeof import('vuetify/components')['VSystemBar']
438
438
  VTable: typeof import('vuetify/components')['VTable']
439
439
  VTextarea: typeof import('vuetify/components')['VTextarea']
440
440
  VTextField: typeof import('vuetify/components')['VTextField']
@@ -443,8 +443,8 @@ declare module '@vue/runtime-core' {
443
443
  VToolbar: typeof import('vuetify/components')['VToolbar']
444
444
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
445
445
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
446
+ VTooltip: typeof import('vuetify/components')['VTooltip']
446
447
  VWindow: typeof import('vuetify/components')['VWindow']
447
448
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
448
- VTooltip: typeof import('vuetify/components')['VTooltip']
449
449
  }
450
450
  }
@@ -1,7 +1,7 @@
1
1
  // Utils
2
2
  import { defineComponent as _defineComponent,
3
3
  // eslint-disable-line no-restricted-imports
4
- getCurrentInstance, shallowReactive, shallowRef, toRaw, watchEffect } from 'vue';
4
+ computed, getCurrentInstance, shallowRef, watchEffect } from 'vue';
5
5
  import { consoleWarn } from "./console.mjs";
6
6
  import { mergeDeep, toKebabCase } from "./helpers.mjs";
7
7
  import { injectSelf } from "./injectSelf.mjs";
@@ -23,33 +23,36 @@ export const defineComponent = function defineComponent(options) {
23
23
  options.props = propsFactory(options.props, toKebabCase(options.name))();
24
24
  options.props._as = String;
25
25
  options.setup = function setup(props, ctx) {
26
- const vm = getCurrentInstance();
27
26
  const defaults = useDefaults();
28
- const _subcomponentDefaults = shallowRef();
29
- const _props = shallowReactive({
30
- ...toRaw(props)
27
+
28
+ // Skip props proxy if defaults are not provided
29
+ if (!defaults.value) return options._setup(props, ctx);
30
+ const vm = getCurrentInstance();
31
+ const componentDefaults = computed(() => defaults.value[props._as ?? options.name]);
32
+ const _props = new Proxy(props, {
33
+ get(target, prop) {
34
+ if (!propIsDefined(vm.vnode, prop)) {
35
+ var _componentDefaults$va, _global;
36
+ return ((_componentDefaults$va = componentDefaults.value) == null ? void 0 : _componentDefaults$va[prop]) ?? ((_global = defaults.value.global) == null ? void 0 : _global[prop]) ?? target[prop];
37
+ }
38
+ return Reflect.get(target, prop);
39
+ }
31
40
  });
41
+ const _subcomponentDefaults = shallowRef();
32
42
  watchEffect(() => {
33
- const globalDefaults = defaults.value.global;
34
- const componentDefaults = defaults.value[props._as ?? options.name];
35
- if (componentDefaults) {
36
- const subComponents = Object.entries(componentDefaults).filter(_ref => {
43
+ if (componentDefaults.value) {
44
+ const subComponents = Object.entries(componentDefaults.value).filter(_ref => {
37
45
  let [key] = _ref;
38
46
  return key.startsWith(key[0].toUpperCase());
39
47
  });
40
48
  if (subComponents.length) _subcomponentDefaults.value = Object.fromEntries(subComponents);
41
49
  }
42
- for (const prop of Object.keys(props)) {
43
- let newVal = props[prop];
44
- if (!propIsDefined(vm.vnode, prop)) {
45
- newVal = (componentDefaults == null ? void 0 : componentDefaults[prop]) ?? (globalDefaults == null ? void 0 : globalDefaults[prop]) ?? props[prop];
46
- }
47
- if (_props[prop] !== newVal) {
48
- _props[prop] = newVal;
49
- }
50
- }
51
50
  });
52
51
  const setupBindings = options._setup(_props, ctx);
52
+
53
+ // If subcomponent defaults are provided, override any
54
+ // subcomponents provided by the component's setup function.
55
+ // This uses injectSelf so must be done after the original setup to work.
53
56
  useToggleScope(_subcomponentDefaults, () => {
54
57
  var _injectSelf;
55
58
  provideDefaults(mergeDeep(((_injectSelf = injectSelf(DefaultsSymbol)) == null ? void 0 : _injectSelf.value) ?? {}, _subcomponentDefaults.value));
@@ -1 +1 @@
1
- {"version":3,"file":"defineComponent.mjs","names":["defineComponent","_defineComponent","getCurrentInstance","shallowReactive","shallowRef","toRaw","watchEffect","consoleWarn","mergeDeep","toKebabCase","injectSelf","DefaultsSymbol","provideDefaults","useDefaults","useToggleScope","propsFactory","propIsDefined","vnode","prop","props","options","_setup","setup","name","_as","String","ctx","vm","defaults","_subcomponentDefaults","_props","globalDefaults","value","global","componentDefaults","subComponents","Object","entries","filter","key","startsWith","toUpperCase","length","fromEntries","keys","newVal","setupBindings","genericComponent","exposeDefaults","defineFunctionalComponent","render"],"sources":["../../src/util/defineComponent.tsx"],"sourcesContent":["// Utils\nimport {\n defineComponent as _defineComponent, // eslint-disable-line no-restricted-imports\n getCurrentInstance,\n shallowReactive,\n shallowRef,\n toRaw,\n watchEffect,\n} from 'vue'\nimport { consoleWarn } from '@/util/console'\nimport { mergeDeep, toKebabCase } from '@/util/helpers'\nimport { injectSelf } from '@/util/injectSelf'\nimport { DefaultsSymbol, provideDefaults, useDefaults } from '@/composables/defaults'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Types\nimport type {\n ComponentObjectPropsOptions,\n ComponentOptions,\n ComponentOptionsMixin,\n ComponentOptionsWithObjectProps,\n ComponentPropsOptions,\n ComputedOptions,\n DefineComponent,\n EmitsOptions,\n ExtractDefaultPropTypes,\n ExtractPropTypes,\n FunctionalComponent,\n MethodOptions,\n VNode,\n VNodeChild,\n} from 'vue'\nimport { propsFactory } from '@/util/propsFactory'\n\nfunction propIsDefined (vnode: VNode, prop: string) {\n return typeof vnode.props?.[prop] !== 'undefined' ||\n typeof vnode.props?.[toKebabCase(prop)] !== 'undefined'\n}\n\nexport const defineComponent = (function defineComponent (options: ComponentOptions) {\n options._setup = options._setup ?? options.setup\n\n if (!options.name) {\n consoleWarn('The component is missing an explicit name, unable to generate default prop value')\n\n return options\n }\n\n if (options._setup) {\n options.props = options.props ?? {}\n\n options.props = propsFactory(options.props, toKebabCase(options.name))()\n\n options.props._as = String\n options.setup = function setup (props: Record<string, any>, ctx) {\n const vm = getCurrentInstance()!\n const defaults = useDefaults()\n\n const _subcomponentDefaults = shallowRef()\n const _props = shallowReactive({ ...toRaw(props) })\n watchEffect(() => {\n const globalDefaults = defaults.value.global\n const componentDefaults = defaults.value[props._as ?? options.name!]\n\n if (componentDefaults) {\n const subComponents = Object.entries(componentDefaults).filter(([key]) => key.startsWith(key[0].toUpperCase()))\n if (subComponents.length) _subcomponentDefaults.value = Object.fromEntries(subComponents)\n }\n\n for (const prop of Object.keys(props)) {\n let newVal = props[prop]\n if (!propIsDefined(vm.vnode, prop)) {\n newVal = componentDefaults?.[prop] ?? globalDefaults?.[prop] ?? props[prop]\n }\n if (_props[prop] !== newVal) {\n _props[prop] = newVal\n }\n }\n })\n\n const setupBindings = options._setup(_props, ctx)\n\n useToggleScope(_subcomponentDefaults, () => {\n provideDefaults(mergeDeep(injectSelf(DefaultsSymbol)?.value ?? {}, _subcomponentDefaults.value))\n })\n\n return setupBindings\n }\n }\n\n return options\n}) as unknown as typeof _defineComponent\n\ntype ToListeners<T extends string | number | symbol> = { [K in T]: K extends `on${infer U}` ? Uncapitalize<U> : K }[T]\n\nexport type SlotsToProps<T extends Record<string, any>> = T extends Record<string, Slot> ? ({\n $children?: (\n | VNodeChild\n | (keyof T extends 'default' ? T['default'] : {})\n | { [K in keyof T]?: T[K] }\n )\n 'v-slots'?: { [K in keyof T]?: T[K] | false }\n} & {\n [K in keyof T as `v-slot:${K & string}`]?: T[K] | false\n}) : T extends Record<string, any[]> ? SlotsToProps<MakeSlots<T>> : never\n\ntype Slot<T extends any[] = any[]> = (...args: T) => VNodeChild\nexport type MakeSlots<T extends Record<string, any[]>> = {\n [K in keyof T]?: Slot<T[K]>\n}\n\nexport function genericComponent<T extends (new () => {\n $props?: Record<string, any>\n})> (exposeDefaults = true): <\n PropsOptions extends Readonly<ComponentPropsOptions>,\n RawBindings,\n D,\n C extends ComputedOptions = {},\n M extends MethodOptions = {},\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\n E extends EmitsOptions = Record<string, any>,\n EE extends string = string,\n I = InstanceType<T>,\n Base = DefineComponent<\n I extends Record<'$props', any>\n ? Omit<PropsOptions, keyof I['$props']>\n : PropsOptions,\n RawBindings,\n D,\n C,\n M,\n Mixin,\n Extends,\n E extends any[] ? E : I extends Record<'$props', any> ? Omit<E, ToListeners<keyof I['$props']>> : E,\n EE\n >\n>(options: ComponentOptionsWithObjectProps<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE>) => Base & T {\n return options => (exposeDefaults ? defineComponent : _defineComponent)(options) as any\n}\n\nexport function defineFunctionalComponent<\n T extends FunctionalComponent<Props>,\n PropsOptions = ComponentObjectPropsOptions,\n Defaults = ExtractDefaultPropTypes<PropsOptions>,\n Props = Readonly<ExtractPropTypes<PropsOptions>>,\n> (props: PropsOptions, render: T): FunctionalComponent<Partial<Defaults> & Omit<Props, keyof Defaults>> {\n render.props = props as any\n return render as any\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"defineComponent.mjs","names":["defineComponent","_defineComponent","computed","getCurrentInstance","shallowRef","watchEffect","consoleWarn","mergeDeep","toKebabCase","injectSelf","DefaultsSymbol","provideDefaults","useDefaults","useToggleScope","propsFactory","propIsDefined","vnode","prop","props","options","_setup","setup","name","_as","String","ctx","defaults","value","vm","componentDefaults","_props","Proxy","get","target","global","Reflect","_subcomponentDefaults","subComponents","Object","entries","filter","key","startsWith","toUpperCase","length","fromEntries","setupBindings","genericComponent","exposeDefaults","defineFunctionalComponent","render"],"sources":["../../src/util/defineComponent.tsx"],"sourcesContent":["// Utils\nimport {\n defineComponent as _defineComponent, // eslint-disable-line no-restricted-imports\n computed,\n getCurrentInstance,\n shallowRef,\n watchEffect,\n} from 'vue'\nimport { consoleWarn } from '@/util/console'\nimport { mergeDeep, toKebabCase } from '@/util/helpers'\nimport { injectSelf } from '@/util/injectSelf'\nimport { DefaultsSymbol, provideDefaults, useDefaults } from '@/composables/defaults'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Types\nimport type {\n ComponentObjectPropsOptions,\n ComponentOptions,\n ComponentOptionsMixin,\n ComponentOptionsWithObjectProps,\n ComponentPropsOptions,\n ComputedOptions,\n DefineComponent,\n EmitsOptions,\n ExtractDefaultPropTypes,\n ExtractPropTypes,\n FunctionalComponent,\n MethodOptions,\n VNode,\n VNodeChild,\n} from 'vue'\nimport { propsFactory } from '@/util/propsFactory'\n\nfunction propIsDefined (vnode: VNode, prop: string) {\n return typeof vnode.props?.[prop] !== 'undefined' ||\n typeof vnode.props?.[toKebabCase(prop)] !== 'undefined'\n}\n\nexport const defineComponent = (function defineComponent (options: ComponentOptions) {\n options._setup = options._setup ?? options.setup\n\n if (!options.name) {\n consoleWarn('The component is missing an explicit name, unable to generate default prop value')\n\n return options\n }\n\n if (options._setup) {\n options.props = options.props ?? {}\n\n options.props = propsFactory(options.props, toKebabCase(options.name))()\n\n options.props._as = String\n options.setup = function setup (props: Record<string, any>, ctx) {\n const defaults = useDefaults()\n\n // Skip props proxy if defaults are not provided\n if (!defaults.value) return options._setup(props, ctx)\n\n const vm = getCurrentInstance()!\n const componentDefaults = computed(() => defaults.value![props._as ?? options.name!])\n const _props = new Proxy(props, {\n get (target, prop: string) {\n if (!propIsDefined(vm.vnode, prop)) {\n return componentDefaults.value?.[prop] ?? defaults.value!.global?.[prop] ?? target[prop]\n }\n return Reflect.get(target, prop)\n },\n })\n\n const _subcomponentDefaults = shallowRef()\n watchEffect(() => {\n if (componentDefaults.value) {\n const subComponents = Object.entries(componentDefaults.value).filter(([key]) => key.startsWith(key[0].toUpperCase()))\n if (subComponents.length) _subcomponentDefaults.value = Object.fromEntries(subComponents)\n }\n })\n\n const setupBindings = options._setup(_props, ctx)\n\n // If subcomponent defaults are provided, override any\n // subcomponents provided by the component's setup function.\n // This uses injectSelf so must be done after the original setup to work.\n useToggleScope(_subcomponentDefaults, () => {\n provideDefaults(mergeDeep(\n injectSelf(DefaultsSymbol)?.value ?? {},\n _subcomponentDefaults.value\n ))\n })\n\n return setupBindings\n }\n }\n\n return options\n}) as unknown as typeof _defineComponent\n\ntype ToListeners<T extends string | number | symbol> = { [K in T]: K extends `on${infer U}` ? Uncapitalize<U> : K }[T]\n\nexport type SlotsToProps<T extends Record<string, any>> = T extends Record<string, Slot> ? ({\n $children?: (\n | VNodeChild\n | (keyof T extends 'default' ? T['default'] : {})\n | { [K in keyof T]?: T[K] }\n )\n 'v-slots'?: { [K in keyof T]?: T[K] | false }\n} & {\n [K in keyof T as `v-slot:${K & string}`]?: T[K] | false\n}) : T extends Record<string, any[]> ? SlotsToProps<MakeSlots<T>> : never\n\ntype Slot<T extends any[] = any[]> = (...args: T) => VNodeChild\nexport type MakeSlots<T extends Record<string, any[]>> = {\n [K in keyof T]?: Slot<T[K]>\n}\n\nexport function genericComponent<T extends (new () => {\n $props?: Record<string, any>\n})> (exposeDefaults = true): <\n PropsOptions extends Readonly<ComponentPropsOptions>,\n RawBindings,\n D,\n C extends ComputedOptions = {},\n M extends MethodOptions = {},\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\n E extends EmitsOptions = Record<string, any>,\n EE extends string = string,\n I = InstanceType<T>,\n Base = DefineComponent<\n I extends Record<'$props', any>\n ? Omit<PropsOptions, keyof I['$props']>\n : PropsOptions,\n RawBindings,\n D,\n C,\n M,\n Mixin,\n Extends,\n E extends any[] ? E : I extends Record<'$props', any> ? Omit<E, ToListeners<keyof I['$props']>> : E,\n EE\n >\n>(options: ComponentOptionsWithObjectProps<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE>) => Base & T {\n return options => (exposeDefaults ? defineComponent : _defineComponent)(options) as any\n}\n\nexport function defineFunctionalComponent<\n T extends FunctionalComponent<Props>,\n PropsOptions = ComponentObjectPropsOptions,\n Defaults = ExtractDefaultPropTypes<PropsOptions>,\n Props = Readonly<ExtractPropTypes<PropsOptions>>,\n> (props: PropsOptions, render: T): FunctionalComponent<Partial<Defaults> & Omit<Props, keyof Defaults>> {\n render.props = props as any\n return render as any\n}\n"],"mappings":"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"}
@@ -332,8 +332,12 @@ export const randomHexColor = () => {
332
332
  };
333
333
  export function toKebabCase() {
334
334
  let str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
335
- return str.replace(/[^a-z]/gi, '-').replace(/\B([A-Z])/g, '-$1').toLowerCase();
335
+ if (toKebabCase.cache.has(str)) return toKebabCase.cache.get(str);
336
+ const kebab = str.replace(/[^a-z]/gi, '-').replace(/\B([A-Z])/g, '-$1').toLowerCase();
337
+ toKebabCase.cache.set(str, kebab);
338
+ return kebab;
336
339
  }
340
+ toKebabCase.cache = new Map();
337
341
  export function findChildren(vnode) {
338
342
  if (!vnode || typeof vnode !== 'object') {
339
343
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.mjs","names":["camelize","capitalize","computed","Fragment","reactive","toRefs","watchEffect","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","from","v","k","getZIndex","el","nodeType","Node","ELEMENT_NODE","index","window","getComputedStyle","getPropertyValue","parentNode","tagsToReplace","escapeHTML","str","tag","filterObjectOnKeys","filtered","key","convertToUnit","unit","isNaN","String","isFinite","Number","isObject","isComponentInstance","$el","keyCodes","freeze","enter","tab","delete","esc","space","up","down","left","right","end","home","del","backspace","insert","pageup","pagedown","shift","keyValues","o","pick","paths","found","create","rest","some","RegExp","test","omit","exclude","clone","forEach","prop","filterInputAttrs","attrs","arrayDiff","diff","includes","push","groupItems","items","groupBy","groupDesc","groups","current","val","name","wrapInArray","defaultFilter","search","toString","toLocaleLowerCase","indexOf","searchItems","toLowerCase","trim","filter","debounce","fn","delay","timeoutId","args","clearTimeout","setTimeout","throttle","limit","throttling","getPrefixedSlots","prefix","slots","startsWith","reduce","clamp","min","max","Math","padEnd","char","repeat","chunk","size","chunked","substr","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","slice","toKebabCase","findChildren","vnode","child","component","subTree","findChildrenWithProvide","getOwnPropertySymbols","provides","CircularBuffer","constructor","values","concat","getEventCoordinates","e","clientX","touches","clientY","destructComputed","getter","refs","flush","arr","onRE","isOn","EventProp","Function","hasEvent","callEvent","handler","h"],"sources":["../../src/util/helpers.ts"],"sourcesContent":["// Utilities\nimport { camelize, capitalize, computed, Fragment, reactive, toRefs, watchEffect } from 'vue'\n\n// Types\nimport type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n ComputedGetter,\n InjectionKey,\n PropType,\n Ref,\n Slots,\n ToRefs,\n VNode,\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, 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 =\n | boolean // Ignored\n | string // Lookup by key, can use dot notation for nested objects\n | (string | number)[] // Nested lookup by key, each array item is a key in the next level\n | ((item: Record<string, any>, fallback?: any) => any)\n\nexport function getPropertyFromItem (\n item: any,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\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\nconst tagsToReplace: Record<string, string> = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n}\n\nexport function escapeHTML (str: string): string {\n return str.replace(/[&<>]/g, tag => tagsToReplace[tag] || tag)\n}\n\nexport function filterObjectOnKeys<T, K extends keyof T> (obj: T, keys: K[]): { [N in K]: T[N] } {\n const filtered = {} as { [N in K]: T[N] }\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n if (typeof obj[key] !== 'undefined') {\n filtered[key] = obj[key]\n }\n }\n\n return filtered\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 isComponentInstance (obj: any): obj is ComponentPublicInstance {\n return obj?.$el\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 = 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> (o: O) {\n return Object.keys(o) as (keyof O)[]\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\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: U[]): [yes: MaybePick<T, U>, no: Omit<T, U>]\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[]): [yes: Partial<T>, no: Partial<T>]\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[]): [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 )\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\n/**\n * Filter attributes that should be applied to\n * the root element of a an input component. Remaining\n * attributes should be passed to the <input> element inside.\n */\nexport function filterInputAttrs (attrs: Record<string, unknown>) {\n return pick(attrs, ['class', 'style', 'id', /^data-/])\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\ninterface ItemGroup<T> {\n name: string\n items: T[]\n}\n\nexport function groupItems<T extends any = any> (\n items: T[],\n groupBy: string[],\n groupDesc: boolean[]\n): ItemGroup<T>[] {\n const key = groupBy[0]\n const groups: ItemGroup<T>[] = []\n let current\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const val = getObjectValueByPath(item, key, null)\n if (current !== val) {\n current = val\n groups.push({\n name: val ?? '',\n items: [],\n })\n }\n groups[groups.length - 1].items.push(item)\n }\n return groups\n}\n\nexport function wrapInArray<T> (v: T | T[] | null | undefined): T[] {\n return v == null\n ? []\n : Array.isArray(v)\n ? v : [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: number) {\n let timeoutId = 0 as any\n return (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), delay)\n }\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 padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\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 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 return str\n .replace(/[^a-z]/gi, '-')\n .replace(/\\B([A-Z])/g, '-$1')\n .toLowerCase()\n}\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\nconst onRE = /^on[^a-z]/\nexport const isOn = (key: string) => onRE.test(key)\n\nexport type EventProp<T = (...args: any[]) => any> = T | T[]\nexport const EventProp = [Function, Array] as PropType<EventProp>\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 (handler: EventProp | undefined, ...args: any[]) {\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"],"mappings":"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"}
1
+ {"version":3,"file":"helpers.mjs","names":["camelize","capitalize","computed","Fragment","reactive","toRefs","watchEffect","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","from","v","k","getZIndex","el","nodeType","Node","ELEMENT_NODE","index","window","getComputedStyle","getPropertyValue","parentNode","tagsToReplace","escapeHTML","str","tag","filterObjectOnKeys","filtered","key","convertToUnit","unit","isNaN","String","isFinite","Number","isObject","isComponentInstance","$el","keyCodes","freeze","enter","tab","delete","esc","space","up","down","left","right","end","home","del","backspace","insert","pageup","pagedown","shift","keyValues","o","pick","paths","found","create","rest","some","RegExp","test","omit","exclude","clone","forEach","prop","filterInputAttrs","attrs","arrayDiff","diff","includes","push","groupItems","items","groupBy","groupDesc","groups","current","val","name","wrapInArray","defaultFilter","search","toString","toLocaleLowerCase","indexOf","searchItems","toLowerCase","trim","filter","debounce","fn","delay","timeoutId","args","clearTimeout","setTimeout","throttle","limit","throttling","getPrefixedSlots","prefix","slots","startsWith","reduce","clamp","min","max","Math","padEnd","char","repeat","chunk","size","chunked","substr","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","slice","toKebabCase","cache","has","get","kebab","set","Map","findChildren","vnode","child","component","subTree","findChildrenWithProvide","getOwnPropertySymbols","provides","CircularBuffer","constructor","values","concat","getEventCoordinates","e","clientX","touches","clientY","destructComputed","getter","refs","flush","arr","onRE","isOn","EventProp","Function","hasEvent","callEvent","handler","h"],"sources":["../../src/util/helpers.ts"],"sourcesContent":["// Utilities\nimport { camelize, capitalize, computed, Fragment, reactive, toRefs, watchEffect } from 'vue'\n\n// Types\nimport type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n ComputedGetter,\n InjectionKey,\n PropType,\n Ref,\n Slots,\n ToRefs,\n VNode,\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, 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 =\n | boolean // Ignored\n | string // Lookup by key, can use dot notation for nested objects\n | (string | number)[] // Nested lookup by key, each array item is a key in the next level\n | ((item: Record<string, any>, fallback?: any) => any)\n\nexport function getPropertyFromItem (\n item: any,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\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\nconst tagsToReplace: Record<string, string> = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n}\n\nexport function escapeHTML (str: string): string {\n return str.replace(/[&<>]/g, tag => tagsToReplace[tag] || tag)\n}\n\nexport function filterObjectOnKeys<T, K extends keyof T> (obj: T, keys: K[]): { [N in K]: T[N] } {\n const filtered = {} as { [N in K]: T[N] }\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n if (typeof obj[key] !== 'undefined') {\n filtered[key] = obj[key]\n }\n }\n\n return filtered\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 isComponentInstance (obj: any): obj is ComponentPublicInstance {\n return obj?.$el\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 = 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> (o: O) {\n return Object.keys(o) as (keyof O)[]\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\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: U[]): [yes: MaybePick<T, U>, no: Omit<T, U>]\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[]): [yes: Partial<T>, no: Partial<T>]\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[]): [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 )\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\n/**\n * Filter attributes that should be applied to\n * the root element of a an input component. Remaining\n * attributes should be passed to the <input> element inside.\n */\nexport function filterInputAttrs (attrs: Record<string, unknown>) {\n return pick(attrs, ['class', 'style', 'id', /^data-/])\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\ninterface ItemGroup<T> {\n name: string\n items: T[]\n}\n\nexport function groupItems<T extends any = any> (\n items: T[],\n groupBy: string[],\n groupDesc: boolean[]\n): ItemGroup<T>[] {\n const key = groupBy[0]\n const groups: ItemGroup<T>[] = []\n let current\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const val = getObjectValueByPath(item, key, null)\n if (current !== val) {\n current = val\n groups.push({\n name: val ?? '',\n items: [],\n })\n }\n groups[groups.length - 1].items.push(item)\n }\n return groups\n}\n\nexport function wrapInArray<T> (v: T | T[] | null | undefined): T[] {\n return v == null\n ? []\n : Array.isArray(v)\n ? v : [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: number) {\n let timeoutId = 0 as any\n return (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), delay)\n }\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 padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\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 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\nconst onRE = /^on[^a-z]/\nexport const isOn = (key: string) => onRE.test(key)\n\nexport type EventProp<T = (...args: any[]) => any> = T | T[]\nexport const EventProp = [Function, Array] as PropType<EventProp>\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 (handler: EventProp | undefined, ...args: any[]) {\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"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vuetify/nightly",
3
3
  "description": "Vue Material Component Framework",
4
- "version": "3.1.2",
4
+ "version": "3.1.3-dev-20230125.0",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"