@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.
- package/CHANGELOG.md +8 -20
- package/dist/json/importMap.json +56 -56
- package/dist/vuetify-labs.css +630 -630
- package/dist/vuetify-labs.d.ts +191 -168
- package/dist/vuetify-labs.esm.js +183 -131
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +182 -130
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +954 -954
- package/dist/vuetify.d.ts +207 -184
- package/dist/vuetify.esm.js +183 -131
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +182 -130
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +725 -717
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.ts +2 -2
- package/lib/blueprints/md1.d.ts +2 -2
- package/lib/blueprints/md2.d.ts +2 -2
- package/lib/blueprints/md3.d.ts +2 -2
- package/lib/components/VAutocomplete/index.d.ts +43 -20
- package/lib/components/VCombobox/index.d.ts +43 -20
- package/lib/components/VDefaultsProvider/index.d.ts +5 -4
- package/lib/components/VDialog/VDialog.mjs +6 -5
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/index.d.ts +57 -34
- package/lib/components/VField/VField.mjs +29 -26
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VList/VList.mjs +4 -1
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +29 -19
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VMenu/VMenu.mjs +6 -5
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.ts +57 -34
- package/lib/components/VOverlay/index.d.ts +34 -11
- package/lib/components/VOverlay/locationStrategies.mjs +40 -29
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/scrollStrategies.mjs +25 -16
- package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +43 -20
- package/lib/components/VSnackbar/index.d.ts +42 -19
- package/lib/components/VTable/VTable.css +4 -4
- package/lib/components/VTable/VTable.sass +2 -2
- package/lib/components/VTooltip/VTooltip.mjs +4 -3
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/index.d.ts +57 -34
- package/lib/components/index.d.ts +192 -168
- package/lib/composables/defaults.mjs +1 -1
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/toggleScope.mjs +14 -7
- package/lib/composables/toggleScope.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/entry-bundler.mjs.map +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/framework.mjs.map +1 -1
- package/lib/index.d.ts +18 -18
- package/lib/util/defineComponent.mjs +21 -18
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/helpers.mjs +5 -1
- package/lib/util/helpers.mjs.map +1 -1
- 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
|
|
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,
|
|
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
|
-
|
|
7
|
-
scope.run(cb);
|
|
14
|
+
start();
|
|
8
15
|
} else if (!active) {
|
|
9
|
-
var
|
|
10
|
-
(
|
|
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
|
|
18
|
-
(
|
|
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","
|
|
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"}
|
package/lib/entry-bundler.mjs
CHANGED
|
@@ -10,7 +10,7 @@ export const createVuetify = function () {
|
|
|
10
10
|
...options
|
|
11
11
|
});
|
|
12
12
|
};
|
|
13
|
-
export const version = "3.1.
|
|
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,
|
|
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
package/lib/framework.mjs.map
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
34
|
-
|
|
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","
|
|
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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"}
|
package/lib/util/helpers.mjs
CHANGED
|
@@ -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
|
-
|
|
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 [];
|
package/lib/util/helpers.mjs.map
CHANGED
|
@@ -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 '&': '&',\n '<': '<',\n '>': '>',\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 '&': '&',\n '<': '<',\n '>': '>',\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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"}
|