vuetify 3.1.9 → 3.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/json/attributes.json +203 -27
- package/dist/json/importMap.json +92 -92
- package/dist/json/tags.json +46 -2
- package/dist/json/web-types.json +481 -49
- package/dist/vuetify-labs.css +167 -147
- package/dist/vuetify-labs.d.ts +56923 -14294
- package/dist/vuetify-labs.esm.js +136 -152
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +136 -152
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +76 -68
- package/dist/vuetify.d.ts +54804 -15357
- package/dist/vuetify.esm.js +133 -152
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +133 -152
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +667 -669
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.ts +6 -9
- package/lib/blueprints/md1.d.ts +6 -9
- package/lib/blueprints/md2.d.ts +6 -9
- package/lib/blueprints/md3.d.ts +6 -9
- package/lib/blueprints/md3.mjs +6 -0
- package/lib/blueprints/md3.mjs.map +1 -1
- package/lib/components/VAlert/index.d.ts +509 -83
- package/lib/components/VApp/VApp.css +1 -0
- package/lib/components/VApp/VApp.sass +1 -0
- package/lib/components/VApp/index.d.ts +158 -20
- package/lib/components/VAppBar/VAppBar.mjs +2 -2
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/index.d.ts +616 -110
- package/lib/components/VAutocomplete/VAutocomplete.mjs +2 -2
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.ts +1656 -130
- package/lib/components/VAvatar/index.d.ts +205 -29
- package/lib/components/VBadge/index.d.ts +284 -42
- package/lib/components/VBanner/index.d.ts +478 -84
- package/lib/components/VBottomNavigation/index.d.ts +321 -40
- package/lib/components/VBreadcrumbs/index.d.ts +325 -45
- package/lib/components/VBtn/VBtn.css +0 -5
- package/lib/components/VBtn/VBtn.mjs +40 -39
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.sass +0 -7
- package/lib/components/VBtn/_variables.scss +0 -2
- package/lib/components/VBtn/index.d.ts +452 -69
- package/lib/components/VBtnGroup/VBtnGroup.mjs +1 -7
- package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
- package/lib/components/VBtnGroup/index.d.ts +185 -26
- package/lib/components/VBtnToggle/VBtnToggle.mjs +2 -2
- package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
- package/lib/components/VBtnToggle/index.d.ts +245 -35
- package/lib/components/VCard/index.d.ts +938 -172
- package/lib/components/VCarousel/index.d.ts +561 -123
- package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs +1 -4
- package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
- package/lib/components/VCheckbox/index.d.ts +831 -147
- package/lib/components/VChip/index.d.ts +473 -75
- package/lib/components/VChipGroup/index.d.ts +227 -32
- package/lib/components/VCode/index.d.ts +109 -16
- package/lib/components/VColorPicker/index.d.ts +284 -20
- package/lib/components/VCombobox/VCombobox.mjs +2 -2
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +1668 -130
- package/lib/components/VCounter/index.d.ts +1894 -87
- package/lib/components/VDefaultsProvider/index.d.ts +131 -22
- package/lib/components/VDialog/VDialog.css +31 -24
- package/lib/components/VDialog/VDialog.mjs +2 -2
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.sass +19 -12
- package/lib/components/VDialog/index.d.ts +2362 -146
- package/lib/components/VDivider/index.d.ts +130 -23
- package/lib/components/VExpansionPanel/index.d.ts +719 -119
- package/lib/components/VField/index.d.ts +163 -21
- package/lib/components/VFileInput/index.d.ts +1038 -104
- package/lib/components/VFooter/index.d.ts +203 -28
- package/lib/components/VForm/index.d.ts +204 -23
- package/lib/components/VGrid/VCol.mjs +6 -5
- package/lib/components/VGrid/VCol.mjs.map +1 -1
- package/lib/components/VGrid/VRow.mjs +4 -4
- package/lib/components/VGrid/VRow.mjs.map +1 -1
- package/lib/components/VGrid/index.d.ts +733 -76
- package/lib/components/VHover/index.d.ts +182 -35
- package/lib/components/VIcon/index.d.ts +494 -50
- package/lib/components/VImg/index.d.ts +275 -46
- package/lib/components/VInput/index.d.ts +315 -53
- package/lib/components/VItemGroup/index.d.ts +308 -52
- package/lib/components/VKbd/VKbd.css +1 -0
- package/lib/components/VKbd/VKbd.sass +1 -0
- package/lib/components/VKbd/_variables.scss +1 -0
- package/lib/components/VKbd/index.d.ts +109 -16
- package/lib/components/VLabel/index.d.ts +113 -20
- package/lib/components/VLayout/index.d.ts +296 -41
- package/lib/components/VLazy/VLazy.mjs +4 -1
- package/lib/components/VLazy/VLazy.mjs.map +1 -1
- package/lib/components/VLazy/index.d.ts +219 -30
- package/lib/components/VList/VListChildren.mjs +2 -2
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +1 -4
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +1 -1
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/index.d.ts +1461 -223
- package/lib/components/VLocaleProvider/index.d.ts +121 -20
- package/lib/components/VMain/index.d.ts +118 -17
- package/lib/components/VMenu/VMenu.css +4 -4
- package/lib/components/VMenu/VMenu.mjs +2 -2
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/VMenu.sass +1 -1
- package/lib/components/VMenu/index.d.ts +2368 -142
- package/lib/components/VMessages/index.d.ts +1921 -98
- package/lib/components/VNavigationDrawer/index.d.ts +379 -56
- package/lib/components/VOverlay/VOverlay.css +2 -2
- package/lib/components/VOverlay/VOverlay.mjs +1 -4
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.sass +1 -1
- package/lib/components/VOverlay/_variables.scss +1 -1
- package/lib/components/VOverlay/index.d.ts +519 -85
- package/lib/components/VPagination/index.d.ts +502 -68
- package/lib/components/VParallax/VParallax.mjs +3 -3
- package/lib/components/VParallax/VParallax.mjs.map +1 -1
- package/lib/components/VParallax/index.d.ts +141 -28
- package/lib/components/VProgressCircular/index.d.ts +186 -25
- package/lib/components/VProgressLinear/index.d.ts +319 -48
- package/lib/components/VRadio/index.d.ts +313 -57
- package/lib/components/VRadioGroup/VRadioGroup.mjs +4 -6
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.ts +463 -83
- package/lib/components/VRangeSlider/index.d.ts +528 -80
- package/lib/components/VRating/index.d.ts +305 -43
- package/lib/components/VResponsive/index.d.ts +142 -27
- package/lib/components/VSelect/VSelect.mjs +2 -2
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +3060 -328
- package/lib/components/VSelectionControl/VSelectionControl.mjs +1 -4
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControl/index.d.ts +76 -4
- package/lib/components/VSelectionControlGroup/index.d.ts +242 -38
- package/lib/components/VSheet/VSheet.mjs +1 -7
- package/lib/components/VSheet/VSheet.mjs.map +1 -1
- package/lib/components/VSheet/index.d.ts +194 -31
- package/lib/components/VSlideGroup/index.d.ts +475 -83
- package/lib/components/VSlider/index.d.ts +521 -79
- package/lib/components/VSlider/slider.mjs +2 -5
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.mjs +2 -2
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/index.d.ts +1219 -81
- package/lib/components/VSwitch/VSwitch.mjs +2 -2
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/index.d.ts +498 -92
- package/lib/components/VSystemBar/index.d.ts +184 -27
- package/lib/components/VTable/index.d.ts +190 -35
- package/lib/components/VTabs/VTab.mjs +7 -23
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.mjs +15 -23
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/index.d.ts +623 -71
- package/lib/components/VTextField/VTextField.mjs +8 -5
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.d.ts +1404 -106
- package/lib/components/VTextarea/VTextarea.mjs +7 -1
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/index.d.ts +1014 -102
- package/lib/components/VThemeProvider/index.d.ts +124 -19
- package/lib/components/VTimeline/index.d.ts +441 -71
- package/lib/components/VToolbar/VToolbar.mjs +1 -4
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/index.d.ts +542 -93
- package/lib/components/VTooltip/VTooltip.css +3 -3
- package/lib/components/VTooltip/VTooltip.mjs +2 -2
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/VTooltip.sass +1 -1
- package/lib/components/VTooltip/index.d.ts +1263 -81
- package/lib/components/VValidation/index.d.ts +201 -30
- package/lib/components/VWindow/index.d.ts +527 -95
- package/lib/components/index.d.ts +55131 -15681
- package/lib/components/transitions/index.d.ts +2097 -308
- package/lib/composables/defaults.mjs +1 -1
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/display.mjs +2 -0
- package/lib/composables/display.mjs.map +1 -1
- package/lib/composables/form.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 +31 -34
- package/lib/labs/VDataTable/VDataTable.css +12 -0
- package/lib/labs/VDataTable/VDataTable.sass +6 -0
- package/lib/labs/VDataTable/VDataTableRow.mjs +2 -0
- package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +1 -0
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.ts +4176 -1016
- package/lib/labs/VVirtualScroll/index.d.ts +32 -1
- package/lib/labs/components.d.ts +4212 -1026
- package/lib/styles/main.css +4 -0
- package/lib/styles/settings/_utilities.scss +7 -0
- package/lib/util/animation.mjs +8 -1
- package/lib/util/animation.mjs.map +1 -1
- package/lib/util/defineComponent.mjs +12 -5
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/helpers.mjs +4 -0
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +3 -2
|
@@ -15,7 +15,7 @@ export function provideDefaults(defaults, options) {
|
|
|
15
15
|
const providedDefaults = ref(defaults);
|
|
16
16
|
const newDefaults = computed(() => {
|
|
17
17
|
const disabled = unref(options?.disabled);
|
|
18
|
-
if (disabled) return
|
|
18
|
+
if (disabled) return injectedDefaults.value;
|
|
19
19
|
const scoped = unref(options?.scoped);
|
|
20
20
|
const reset = unref(options?.reset);
|
|
21
21
|
const root = unref(options?.root);
|
|
@@ -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","disabled","scoped","reset","root","properties","
|
|
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","disabled","value","scoped","reset","root","properties","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 disabled?: MaybeRef<boolean | undefined>\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 disabled = unref(options?.disabled)\n\n if (disabled) return injectedDefaults.value\n\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' in properties)) {\n break\n }\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,OAKC,EACD;EACA,MAAMK,gBAAgB,GAAGJ,WAAW,EAAE;EACtC,MAAMK,gBAAgB,GAAGb,GAAG,CAACS,QAAQ,CAAC;EAEtC,MAAMK,WAAW,GAAGjB,QAAQ,CAAC,MAAM;IACjC,MAAMkB,QAAQ,GAAGd,KAAK,CAACM,OAAO,EAAEQ,QAAQ,CAAC;IAEzC,IAAIA,QAAQ,EAAE,OAAOH,gBAAgB,CAACI,KAAK;IAE3C,MAAMC,MAAM,GAAGhB,KAAK,CAACM,OAAO,EAAEU,MAAM,CAAC;IACrC,MAAMC,KAAK,GAAGjB,KAAK,CAACM,OAAO,EAAEW,KAAK,CAAC;IACnC,MAAMC,IAAI,GAAGlB,KAAK,CAACM,OAAO,EAAEY,IAAI,CAAC;IAEjC,IAAIC,UAAU,GAAGlB,SAAS,CAACW,gBAAgB,CAACG,KAAK,EAAE;MAAEK,IAAI,EAAET,gBAAgB,CAACI;IAAM,CAAC,CAAC;IAEpF,IAAIC,MAAM,EAAE,OAAOG,UAAU;IAE7B,IAAIF,KAAK,IAAIC,IAAI,EAAE;MACjB,MAAMG,GAAG,GAAGC,MAAM,CAACL,KAAK,IAAIM,QAAQ,CAAC;MAErC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAIH,GAAG,EAAEG,CAAC,EAAE,EAAE;QAC7B,IAAI,CAACL,UAAU,IAAI,EAAE,MAAM,IAAIA,UAAU,CAAC,EAAE;UAC1C;QACF;QAEAA,UAAU,GAAGA,UAAU,CAACC,IAAI;MAC9B;MAEA,OAAOD,UAAU;IACnB;IAEA,OAAOlB,SAAS,CAACkB,UAAU,CAACC,IAAI,EAAED,UAAU,CAAC;EAC/C,CAAC,CAAkC;EAEnCrB,OAAO,CAACI,cAAc,EAAEW,WAAW,CAAC;EAEpC,OAAOA,WAAW;AACpB"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
import { inject, reactive, ref, shallowRef, toRefs, watchEffect } from 'vue';
|
|
3
3
|
import { mergeDeep } from "../util/index.mjs"; // Globals
|
|
4
4
|
import { IN_BROWSER, SUPPORTS_TOUCH } from "../util/globals.mjs"; // Types
|
|
5
|
+
export const breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl']; // no xs
|
|
6
|
+
|
|
5
7
|
export const DisplaySymbol = Symbol.for('vuetify:display');
|
|
6
8
|
const defaultDisplayOptions = {
|
|
7
9
|
mobileBreakpoint: 'lg',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display.mjs","names":["inject","reactive","ref","shallowRef","toRefs","watchEffect","mergeDeep","IN_BROWSER","SUPPORTS_TOUCH","DisplaySymbol","Symbol","for","defaultDisplayOptions","mobileBreakpoint","thresholds","xs","sm","md","lg","xl","xxl","parseDisplayOptions","options","getClientWidth","isHydrate","window","innerWidth","getClientHeight","innerHeight","getPlatform","userAgent","navigator","match","regexp","Boolean","android","ios","cordova","electron","chrome","edge","firefox","opera","win","mac","linux","touch","ssr","createDisplay","height","platform","state","width","updateSize","value","update","name","breakpointValue","mobile","smAndUp","mdAndUp","lgAndUp","xlAndUp","smAndDown","mdAndDown","lgAndDown","xlAndDown","addEventListener","passive","useDisplay","display","Error"],"sources":["../../src/composables/display.ts"],"sourcesContent":["// Utilities\nimport { inject, reactive, ref, shallowRef, toRefs, watchEffect } from 'vue'\nimport { mergeDeep } from '@/util'\n\n// Globals\nimport { IN_BROWSER, SUPPORTS_TOUCH } from '@/util/globals'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\n\nexport type DisplayBreakpoint = keyof DisplayThresholds\n\nexport interface DisplayThresholds {\n xs: number\n sm: number\n md: number\n lg: number\n xl: number\n xxl: number\n}\n\nexport interface DisplayOptions {\n mobileBreakpoint?: number | DisplayBreakpoint\n thresholds?: Partial<DisplayThresholds>\n}\n\nexport interface InternalDisplayOptions {\n mobileBreakpoint: number | DisplayBreakpoint\n thresholds: DisplayThresholds\n}\n\nexport interface DisplayPlatform {\n android: boolean\n ios: boolean\n cordova: boolean\n electron: boolean\n chrome: boolean\n edge: boolean\n firefox: boolean\n opera: boolean\n win: boolean\n mac: boolean\n linux: boolean\n touch: boolean\n ssr: boolean\n}\n\nexport interface DisplayInstance {\n xs: Ref<boolean>\n sm: Ref<boolean>\n md: Ref<boolean>\n lg: Ref<boolean>\n xl: Ref<boolean>\n xxl: Ref<boolean>\n smAndUp: Ref<boolean>\n mdAndUp: Ref<boolean>\n lgAndUp: Ref<boolean>\n xlAndUp: Ref<boolean>\n smAndDown: Ref<boolean>\n mdAndDown: Ref<boolean>\n lgAndDown: Ref<boolean>\n xlAndDown: Ref<boolean>\n name: Ref<DisplayBreakpoint>\n height: Ref<number>\n width: Ref<number>\n mobile: Ref<boolean>\n mobileBreakpoint: Ref<number | DisplayBreakpoint>\n platform: Ref<DisplayPlatform>\n thresholds: Ref<DisplayThresholds>\n\n /** @internal */\n ssr: boolean\n\n update (): void\n}\n\nexport const DisplaySymbol: InjectionKey<DisplayInstance> = Symbol.for('vuetify:display')\n\nconst defaultDisplayOptions: DisplayOptions = {\n mobileBreakpoint: 'lg',\n thresholds: {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920,\n xxl: 2560,\n },\n}\n\nconst parseDisplayOptions = (options: DisplayOptions = defaultDisplayOptions) => {\n return mergeDeep(defaultDisplayOptions, options) as InternalDisplayOptions\n}\n\nfunction getClientWidth (isHydrate?: boolean) {\n return IN_BROWSER && !isHydrate\n ? window.innerWidth\n : 0\n}\n\nfunction getClientHeight (isHydrate?: boolean) {\n return IN_BROWSER && !isHydrate\n ? window.innerHeight\n : 0\n}\n\nfunction getPlatform (isHydrate?: boolean): DisplayPlatform {\n const userAgent = IN_BROWSER && !isHydrate\n ? window.navigator.userAgent\n : 'ssr'\n\n function match (regexp: RegExp) {\n return Boolean(userAgent.match(regexp))\n }\n\n const android = match(/android/i)\n const ios = match(/iphone|ipad|ipod/i)\n const cordova = match(/cordova/i)\n const electron = match(/electron/i)\n const chrome = match(/chrome/i)\n const edge = match(/edge/i)\n const firefox = match(/firefox/i)\n const opera = match(/opera/i)\n const win = match(/win/i)\n const mac = match(/mac/i)\n const linux = match(/linux/i)\n\n return {\n android,\n ios,\n cordova,\n electron,\n chrome,\n edge,\n firefox,\n opera,\n win,\n mac,\n linux,\n touch: SUPPORTS_TOUCH,\n ssr: userAgent === 'ssr',\n }\n}\n\nexport function createDisplay (options?: DisplayOptions, ssr?: boolean): DisplayInstance {\n const { thresholds, mobileBreakpoint } = parseDisplayOptions(options)\n\n const height = ref(getClientHeight(ssr))\n const platform = shallowRef(getPlatform(ssr))\n const state = reactive({} as DisplayInstance)\n const width = ref(getClientWidth(ssr))\n\n function updateSize () {\n height.value = getClientHeight()\n width.value = getClientWidth()\n }\n function update () {\n updateSize()\n platform.value = getPlatform()\n }\n\n // eslint-disable-next-line max-statements\n watchEffect(() => {\n const xs = width.value < thresholds.sm\n const sm = width.value < thresholds.md && !xs\n const md = width.value < thresholds.lg && !(sm || xs)\n const lg = width.value < thresholds.xl && !(md || sm || xs)\n const xl = width.value < thresholds.xxl && !(lg || md || sm || xs)\n const xxl = width.value >= thresholds.xxl\n const name =\n xs ? 'xs'\n : sm ? 'sm'\n : md ? 'md'\n : lg ? 'lg'\n : xl ? 'xl'\n : 'xxl'\n const breakpointValue = typeof mobileBreakpoint === 'number' ? mobileBreakpoint : thresholds[mobileBreakpoint]\n const mobile = width.value < breakpointValue\n\n state.xs = xs\n state.sm = sm\n state.md = md\n state.lg = lg\n state.xl = xl\n state.xxl = xxl\n state.smAndUp = !xs\n state.mdAndUp = !(xs || sm)\n state.lgAndUp = !(xs || sm || md)\n state.xlAndUp = !(xs || sm || md || lg)\n state.smAndDown = !(md || lg || xl || xxl)\n state.mdAndDown = !(lg || xl || xxl)\n state.lgAndDown = !(xl || xxl)\n state.xlAndDown = !xxl\n state.name = name\n state.height = height.value\n state.width = width.value\n state.mobile = mobile\n state.mobileBreakpoint = mobileBreakpoint\n state.platform = platform.value\n state.thresholds = thresholds\n })\n\n if (IN_BROWSER) {\n window.addEventListener('resize', updateSize, { passive: true })\n }\n\n return { ...toRefs(state), update, ssr: !!ssr }\n}\n\nexport function useDisplay () {\n const display = inject(DisplaySymbol)\n\n if (!display) throw new Error('Could not find Vuetify display injection')\n\n return display\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"display.mjs","names":["inject","reactive","ref","shallowRef","toRefs","watchEffect","mergeDeep","IN_BROWSER","SUPPORTS_TOUCH","breakpoints","DisplaySymbol","Symbol","for","defaultDisplayOptions","mobileBreakpoint","thresholds","xs","sm","md","lg","xl","xxl","parseDisplayOptions","options","getClientWidth","isHydrate","window","innerWidth","getClientHeight","innerHeight","getPlatform","userAgent","navigator","match","regexp","Boolean","android","ios","cordova","electron","chrome","edge","firefox","opera","win","mac","linux","touch","ssr","createDisplay","height","platform","state","width","updateSize","value","update","name","breakpointValue","mobile","smAndUp","mdAndUp","lgAndUp","xlAndUp","smAndDown","mdAndDown","lgAndDown","xlAndDown","addEventListener","passive","useDisplay","display","Error"],"sources":["../../src/composables/display.ts"],"sourcesContent":["// Utilities\nimport { inject, reactive, ref, shallowRef, toRefs, watchEffect } from 'vue'\nimport { mergeDeep } from '@/util'\n\n// Globals\nimport { IN_BROWSER, SUPPORTS_TOUCH } from '@/util/globals'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\n\nexport const breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl'] as const // no xs\n\nexport type Breakpoint = typeof breakpoints[number]\n\nexport type DisplayBreakpoint = 'xs' | Breakpoint\n\nexport type DisplayThresholds = {\n [key in DisplayBreakpoint]: number\n}\n\nexport interface DisplayOptions {\n mobileBreakpoint?: number | DisplayBreakpoint\n thresholds?: Partial<DisplayThresholds>\n}\n\nexport interface InternalDisplayOptions {\n mobileBreakpoint: number | DisplayBreakpoint\n thresholds: DisplayThresholds\n}\n\nexport interface DisplayPlatform {\n android: boolean\n ios: boolean\n cordova: boolean\n electron: boolean\n chrome: boolean\n edge: boolean\n firefox: boolean\n opera: boolean\n win: boolean\n mac: boolean\n linux: boolean\n touch: boolean\n ssr: boolean\n}\n\nexport interface DisplayInstance {\n xs: Ref<boolean>\n sm: Ref<boolean>\n md: Ref<boolean>\n lg: Ref<boolean>\n xl: Ref<boolean>\n xxl: Ref<boolean>\n smAndUp: Ref<boolean>\n mdAndUp: Ref<boolean>\n lgAndUp: Ref<boolean>\n xlAndUp: Ref<boolean>\n smAndDown: Ref<boolean>\n mdAndDown: Ref<boolean>\n lgAndDown: Ref<boolean>\n xlAndDown: Ref<boolean>\n name: Ref<DisplayBreakpoint>\n height: Ref<number>\n width: Ref<number>\n mobile: Ref<boolean>\n mobileBreakpoint: Ref<number | DisplayBreakpoint>\n platform: Ref<DisplayPlatform>\n thresholds: Ref<DisplayThresholds>\n\n /** @internal */\n ssr: boolean\n\n update (): void\n}\n\nexport const DisplaySymbol: InjectionKey<DisplayInstance> = Symbol.for('vuetify:display')\n\nconst defaultDisplayOptions: DisplayOptions = {\n mobileBreakpoint: 'lg',\n thresholds: {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920,\n xxl: 2560,\n },\n}\n\nconst parseDisplayOptions = (options: DisplayOptions = defaultDisplayOptions) => {\n return mergeDeep(defaultDisplayOptions, options) as InternalDisplayOptions\n}\n\nfunction getClientWidth (isHydrate?: boolean) {\n return IN_BROWSER && !isHydrate\n ? window.innerWidth\n : 0\n}\n\nfunction getClientHeight (isHydrate?: boolean) {\n return IN_BROWSER && !isHydrate\n ? window.innerHeight\n : 0\n}\n\nfunction getPlatform (isHydrate?: boolean): DisplayPlatform {\n const userAgent = IN_BROWSER && !isHydrate\n ? window.navigator.userAgent\n : 'ssr'\n\n function match (regexp: RegExp) {\n return Boolean(userAgent.match(regexp))\n }\n\n const android = match(/android/i)\n const ios = match(/iphone|ipad|ipod/i)\n const cordova = match(/cordova/i)\n const electron = match(/electron/i)\n const chrome = match(/chrome/i)\n const edge = match(/edge/i)\n const firefox = match(/firefox/i)\n const opera = match(/opera/i)\n const win = match(/win/i)\n const mac = match(/mac/i)\n const linux = match(/linux/i)\n\n return {\n android,\n ios,\n cordova,\n electron,\n chrome,\n edge,\n firefox,\n opera,\n win,\n mac,\n linux,\n touch: SUPPORTS_TOUCH,\n ssr: userAgent === 'ssr',\n }\n}\n\nexport function createDisplay (options?: DisplayOptions, ssr?: boolean): DisplayInstance {\n const { thresholds, mobileBreakpoint } = parseDisplayOptions(options)\n\n const height = ref(getClientHeight(ssr))\n const platform = shallowRef(getPlatform(ssr))\n const state = reactive({} as DisplayInstance)\n const width = ref(getClientWidth(ssr))\n\n function updateSize () {\n height.value = getClientHeight()\n width.value = getClientWidth()\n }\n function update () {\n updateSize()\n platform.value = getPlatform()\n }\n\n // eslint-disable-next-line max-statements\n watchEffect(() => {\n const xs = width.value < thresholds.sm\n const sm = width.value < thresholds.md && !xs\n const md = width.value < thresholds.lg && !(sm || xs)\n const lg = width.value < thresholds.xl && !(md || sm || xs)\n const xl = width.value < thresholds.xxl && !(lg || md || sm || xs)\n const xxl = width.value >= thresholds.xxl\n const name =\n xs ? 'xs'\n : sm ? 'sm'\n : md ? 'md'\n : lg ? 'lg'\n : xl ? 'xl'\n : 'xxl'\n const breakpointValue = typeof mobileBreakpoint === 'number' ? mobileBreakpoint : thresholds[mobileBreakpoint]\n const mobile = width.value < breakpointValue\n\n state.xs = xs\n state.sm = sm\n state.md = md\n state.lg = lg\n state.xl = xl\n state.xxl = xxl\n state.smAndUp = !xs\n state.mdAndUp = !(xs || sm)\n state.lgAndUp = !(xs || sm || md)\n state.xlAndUp = !(xs || sm || md || lg)\n state.smAndDown = !(md || lg || xl || xxl)\n state.mdAndDown = !(lg || xl || xxl)\n state.lgAndDown = !(xl || xxl)\n state.xlAndDown = !xxl\n state.name = name\n state.height = height.value\n state.width = width.value\n state.mobile = mobile\n state.mobileBreakpoint = mobileBreakpoint\n state.platform = platform.value\n state.thresholds = thresholds\n })\n\n if (IN_BROWSER) {\n window.addEventListener('resize', updateSize, { passive: true })\n }\n\n return { ...toRefs(state), update, ssr: !!ssr }\n}\n\nexport function useDisplay () {\n const display = inject(DisplaySymbol)\n\n if (!display) throw new Error('Could not find Vuetify display injection')\n\n return display\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.mjs","names":["computed","inject","provide","ref","toRef","watch","useProxiedModel","consoleWarn","propsFactory","FormKey","Symbol","for","makeFormProps","disabled","Boolean","fastFail","readonly","modelValue","type","default","validateOn","String","createForm","props","model","isDisabled","isReadonly","isValidating","items","errors","validate","results","valid","value","item","itemErrorMessages","length","push","id","errorMessages","reset","forEach","resetValidation","invalid","isValid","deep","register","some","unregister","filter","update","found","find","useForm"],"sources":["../../src/composables/form.ts"],"sourcesContent":["// Utilities\nimport { computed, inject, provide, ref, toRef, watch } from 'vue'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { consoleWarn, propsFactory } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, PropType, Ref } from 'vue'\nimport type { ValidationProps } from './validation'\n\nexport interface FormProvide {\n register: (item: {\n id: number | string\n validate: () => Promise<string[]>\n reset: () => void\n resetValidation: () => void\n }) => void\n unregister: (id: number | string) => void\n update: (id: number | string, isValid: boolean | null, errorMessages: string[]) => void\n items: Ref<FormField[]>\n isDisabled: ComputedRef<boolean>\n isReadonly: ComputedRef<boolean>\n isValidating: Ref<boolean>\n validateOn: Ref<FormProps['validateOn']>\n}\n\
|
|
1
|
+
{"version":3,"file":"form.mjs","names":["computed","inject","provide","ref","toRef","watch","useProxiedModel","consoleWarn","propsFactory","FormKey","Symbol","for","makeFormProps","disabled","Boolean","fastFail","readonly","modelValue","type","default","validateOn","String","createForm","props","model","isDisabled","isReadonly","isValidating","items","errors","validate","results","valid","value","item","itemErrorMessages","length","push","id","errorMessages","reset","forEach","resetValidation","invalid","isValid","deep","register","some","unregister","filter","update","found","find","useForm"],"sources":["../../src/composables/form.ts"],"sourcesContent":["// Utilities\nimport { computed, inject, provide, ref, toRef, watch } from 'vue'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { consoleWarn, propsFactory } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, PropType, Ref } from 'vue'\nimport type { ValidationProps } from './validation'\n\nexport interface FormProvide {\n register: (item: {\n id: number | string\n validate: () => Promise<string[]>\n reset: () => void\n resetValidation: () => void\n }) => void\n unregister: (id: number | string) => void\n update: (id: number | string, isValid: boolean | null, errorMessages: string[]) => void\n items: Ref<FormField[]>\n isDisabled: ComputedRef<boolean>\n isReadonly: ComputedRef<boolean>\n isValidating: Ref<boolean>\n validateOn: Ref<FormProps['validateOn']>\n}\n\nexport interface FormField {\n id: number | string\n validate: () => Promise<string[]>\n reset: () => void\n resetValidation: () => void\n isValid: boolean | null\n errorMessages: string[]\n}\n\nexport interface FieldValidationResult {\n id: number | string\n errorMessages: string[]\n}\n\nexport interface FormValidationResult {\n valid: boolean\n errors: FieldValidationResult[]\n}\n\nexport interface SubmitEventPromise extends SubmitEvent, Promise<FormValidationResult> {}\n\nexport const FormKey: InjectionKey<FormProvide> = Symbol.for('vuetify:form')\n\nexport interface FormProps {\n disabled: boolean\n fastFail: boolean\n readonly: boolean\n modelValue: boolean | null\n 'onUpdate:modelValue': ((val: boolean | null) => void) | undefined\n validateOn: ValidationProps['validateOn']\n}\n\nexport const makeFormProps = propsFactory({\n disabled: Boolean,\n fastFail: Boolean,\n readonly: Boolean,\n modelValue: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n validateOn: {\n type: String as PropType<FormProps['validateOn']>,\n default: 'input',\n },\n}, 'form')\n\nexport function createForm (props: FormProps) {\n const model = useProxiedModel(props, 'modelValue')\n\n const isDisabled = computed(() => props.disabled)\n const isReadonly = computed(() => props.readonly)\n const isValidating = ref(false)\n const items = ref<FormField[]>([])\n const errors = ref<FieldValidationResult[]>([])\n\n async function validate () {\n const results = []\n let valid = true\n\n errors.value = []\n isValidating.value = true\n\n for (const item of items.value) {\n const itemErrorMessages = await item.validate()\n\n if (itemErrorMessages.length > 0) {\n valid = false\n\n results.push({\n id: item.id,\n errorMessages: itemErrorMessages,\n })\n }\n\n if (!valid && props.fastFail) break\n }\n\n errors.value = results\n isValidating.value = false\n\n return { valid, errors: errors.value }\n }\n\n function reset () {\n items.value.forEach(item => item.reset())\n model.value = null\n }\n\n function resetValidation () {\n items.value.forEach(item => item.resetValidation())\n errors.value = []\n model.value = null\n }\n\n watch(items, () => {\n let valid = 0\n let invalid = 0\n const results = []\n\n for (const item of items.value) {\n if (item.isValid === false) {\n invalid++\n results.push({\n id: item.id,\n errorMessages: item.errorMessages,\n })\n } else if (item.isValid === true) valid++\n }\n\n errors.value = results\n model.value =\n invalid > 0 ? false\n : valid === items.value.length ? true\n : null\n }, { deep: true })\n\n provide(FormKey, {\n register: ({ id, validate, reset, resetValidation }) => {\n if (items.value.some(item => item.id === id)) {\n consoleWarn(`Duplicate input name \"${id}\"`)\n }\n\n items.value.push({\n id,\n validate,\n reset,\n resetValidation,\n isValid: null,\n errorMessages: [],\n })\n },\n unregister: id => {\n items.value = items.value.filter(item => {\n return item.id !== id\n })\n },\n update: (id, isValid, errorMessages) => {\n const found = items.value.find(item => item.id === id)\n\n if (!found) return\n\n found.isValid = isValid\n found.errorMessages = errorMessages\n },\n isDisabled,\n isReadonly,\n isValidating,\n items,\n validateOn: toRef(props, 'validateOn'),\n })\n\n return {\n errors,\n isDisabled,\n isReadonly,\n isValidating,\n items,\n validate,\n reset,\n resetValidation,\n }\n}\n\nexport function useForm () {\n return inject(FormKey, null)\n}\n"],"mappings":"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"}
|
package/lib/entry-bundler.mjs
CHANGED
|
@@ -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,WAAsB;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
|
@@ -91,15 +91,12 @@ interface ThemeInstance {
|
|
|
91
91
|
}
|
|
92
92
|
declare function useTheme(): ThemeInstance;
|
|
93
93
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
xl: number;
|
|
101
|
-
xxl: number;
|
|
102
|
-
}
|
|
94
|
+
declare const breakpoints: readonly ["sm", "md", "lg", "xl", "xxl"];
|
|
95
|
+
type Breakpoint = typeof breakpoints[number];
|
|
96
|
+
type DisplayBreakpoint = 'xs' | Breakpoint;
|
|
97
|
+
type DisplayThresholds = {
|
|
98
|
+
[key in DisplayBreakpoint]: number;
|
|
99
|
+
};
|
|
103
100
|
interface DisplayOptions {
|
|
104
101
|
mobileBreakpoint?: number | DisplayBreakpoint;
|
|
105
102
|
thresholds?: Partial<DisplayThresholds>;
|
|
@@ -315,24 +312,29 @@ declare module '@vue/runtime-core' {
|
|
|
315
312
|
|
|
316
313
|
export interface GlobalComponents {
|
|
317
314
|
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
|
315
|
+
VForm: typeof import('vuetify/components')['VForm']
|
|
318
316
|
VContainer: typeof import('vuetify/components')['VContainer']
|
|
319
317
|
VCol: typeof import('vuetify/components')['VCol']
|
|
320
318
|
VRow: typeof import('vuetify/components')['VRow']
|
|
321
319
|
VSpacer: typeof import('vuetify/components')['VSpacer']
|
|
322
320
|
VHover: typeof import('vuetify/components')['VHover']
|
|
321
|
+
VLazy: typeof import('vuetify/components')['VLazy']
|
|
323
322
|
VLayout: typeof import('vuetify/components')['VLayout']
|
|
324
323
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
|
325
324
|
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
|
326
|
-
VLazy: typeof import('vuetify/components')['VLazy']
|
|
327
325
|
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
|
328
|
-
VForm: typeof import('vuetify/components')['VForm']
|
|
329
|
-
VParallax: typeof import('vuetify/components')['VParallax']
|
|
330
326
|
VRadio: typeof import('vuetify/components')['VRadio']
|
|
331
327
|
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
|
332
328
|
VResponsive: typeof import('vuetify/components')['VResponsive']
|
|
333
|
-
|
|
329
|
+
VParallax: typeof import('vuetify/components')['VParallax']
|
|
334
330
|
VValidation: typeof import('vuetify/components')['VValidation']
|
|
335
331
|
VApp: typeof import('vuetify/components')['VApp']
|
|
332
|
+
VAppBar: typeof import('vuetify/components')['VAppBar']
|
|
333
|
+
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
|
334
|
+
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
|
335
|
+
VAlert: typeof import('vuetify/components')['VAlert']
|
|
336
|
+
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
|
337
|
+
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
|
336
338
|
VFabTransition: typeof import('vuetify/components')['VFabTransition']
|
|
337
339
|
VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
|
|
338
340
|
VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
|
|
@@ -349,24 +351,16 @@ declare module '@vue/runtime-core' {
|
|
|
349
351
|
VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
|
|
350
352
|
VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
|
|
351
353
|
VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
|
|
352
|
-
VAlert: typeof import('vuetify/components')['VAlert']
|
|
353
|
-
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
|
354
|
-
VAppBar: typeof import('vuetify/components')['VAppBar']
|
|
355
|
-
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
|
356
|
-
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
|
357
354
|
VAvatar: typeof import('vuetify/components')['VAvatar']
|
|
358
|
-
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
|
359
355
|
VBadge: typeof import('vuetify/components')['VBadge']
|
|
356
|
+
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
|
360
357
|
VBanner: typeof import('vuetify/components')['VBanner']
|
|
361
358
|
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
|
362
359
|
VBannerText: typeof import('vuetify/components')['VBannerText']
|
|
363
360
|
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
|
364
|
-
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
|
365
|
-
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
|
366
|
-
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
|
367
361
|
VBtn: typeof import('vuetify/components')['VBtn']
|
|
368
|
-
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
|
369
362
|
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
|
363
|
+
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
|
370
364
|
VCard: typeof import('vuetify/components')['VCard']
|
|
371
365
|
VCardActions: typeof import('vuetify/components')['VCardActions']
|
|
372
366
|
VCardItem: typeof import('vuetify/components')['VCardItem']
|
|
@@ -375,11 +369,14 @@ declare module '@vue/runtime-core' {
|
|
|
375
369
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
|
376
370
|
VCarousel: typeof import('vuetify/components')['VCarousel']
|
|
377
371
|
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
|
372
|
+
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
|
373
|
+
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
|
374
|
+
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
|
378
375
|
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
|
379
376
|
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
|
380
377
|
VChip: typeof import('vuetify/components')['VChip']
|
|
381
|
-
VCode: typeof import('vuetify/components')['VCode']
|
|
382
378
|
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
|
379
|
+
VCode: typeof import('vuetify/components')['VCode']
|
|
383
380
|
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
|
384
381
|
VCombobox: typeof import('vuetify/components')['VCombobox']
|
|
385
382
|
VCounter: typeof import('vuetify/components')['VCounter']
|
|
@@ -402,8 +399,8 @@ declare module '@vue/runtime-core' {
|
|
|
402
399
|
VInput: typeof import('vuetify/components')['VInput']
|
|
403
400
|
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
|
404
401
|
VItem: typeof import('vuetify/components')['VItem']
|
|
405
|
-
VLabel: typeof import('vuetify/components')['VLabel']
|
|
406
402
|
VKbd: typeof import('vuetify/components')['VKbd']
|
|
403
|
+
VLabel: typeof import('vuetify/components')['VLabel']
|
|
407
404
|
VList: typeof import('vuetify/components')['VList']
|
|
408
405
|
VListGroup: typeof import('vuetify/components')['VListGroup']
|
|
409
406
|
VListImg: typeof import('vuetify/components')['VListImg']
|
|
@@ -413,10 +410,10 @@ declare module '@vue/runtime-core' {
|
|
|
413
410
|
VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
|
|
414
411
|
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
|
415
412
|
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
|
416
|
-
VMain: typeof import('vuetify/components')['VMain']
|
|
417
413
|
VMenu: typeof import('vuetify/components')['VMenu']
|
|
418
|
-
VMessages: typeof import('vuetify/components')['VMessages']
|
|
419
414
|
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
|
415
|
+
VMain: typeof import('vuetify/components')['VMain']
|
|
416
|
+
VMessages: typeof import('vuetify/components')['VMessages']
|
|
420
417
|
VOverlay: typeof import('vuetify/components')['VOverlay']
|
|
421
418
|
VPagination: typeof import('vuetify/components')['VPagination']
|
|
422
419
|
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
|
@@ -424,26 +421,26 @@ declare module '@vue/runtime-core' {
|
|
|
424
421
|
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
|
425
422
|
VRating: typeof import('vuetify/components')['VRating']
|
|
426
423
|
VSelect: typeof import('vuetify/components')['VSelect']
|
|
427
|
-
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
|
428
424
|
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
|
425
|
+
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
|
426
|
+
VSheet: typeof import('vuetify/components')['VSheet']
|
|
429
427
|
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
|
430
428
|
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
|
431
429
|
VSlider: typeof import('vuetify/components')['VSlider']
|
|
432
|
-
VSheet: typeof import('vuetify/components')['VSheet']
|
|
433
430
|
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
|
434
|
-
VSwitch: typeof import('vuetify/components')['VSwitch']
|
|
435
431
|
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
|
436
|
-
|
|
437
|
-
VTab: typeof import('vuetify/components')['VTab']
|
|
432
|
+
VSwitch: typeof import('vuetify/components')['VSwitch']
|
|
438
433
|
VTable: typeof import('vuetify/components')['VTable']
|
|
439
434
|
VTextarea: typeof import('vuetify/components')['VTextarea']
|
|
435
|
+
VTabs: typeof import('vuetify/components')['VTabs']
|
|
436
|
+
VTab: typeof import('vuetify/components')['VTab']
|
|
440
437
|
VTextField: typeof import('vuetify/components')['VTextField']
|
|
441
|
-
VTimeline: typeof import('vuetify/components')['VTimeline']
|
|
442
|
-
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
|
443
438
|
VToolbar: typeof import('vuetify/components')['VToolbar']
|
|
444
439
|
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
|
445
440
|
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
|
446
441
|
VTooltip: typeof import('vuetify/components')['VTooltip']
|
|
442
|
+
VTimeline: typeof import('vuetify/components')['VTimeline']
|
|
443
|
+
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
|
447
444
|
VWindow: typeof import('vuetify/components')['VWindow']
|
|
448
445
|
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
|
449
446
|
}
|
|
@@ -33,6 +33,18 @@
|
|
|
33
33
|
.v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--align-end .v-data-table-header__content {
|
|
34
34
|
flex-direction: row-reverse;
|
|
35
35
|
}
|
|
36
|
+
.v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--align-center,
|
|
37
|
+
.v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--align-center,
|
|
38
|
+
.v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--align-center,
|
|
39
|
+
.v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--align-center {
|
|
40
|
+
text-align: center;
|
|
41
|
+
}
|
|
42
|
+
.v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--align-center .v-data-table-header__content,
|
|
43
|
+
.v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--align-center .v-data-table-header__content,
|
|
44
|
+
.v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--align-center .v-data-table-header__content,
|
|
45
|
+
.v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--align-center .v-data-table-header__content {
|
|
46
|
+
justify-content: center;
|
|
47
|
+
}
|
|
36
48
|
.v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--no-padding,
|
|
37
49
|
.v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--no-padding,
|
|
38
50
|
.v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--no-padding,
|
|
@@ -32,6 +32,12 @@
|
|
|
32
32
|
|
|
33
33
|
.v-data-table-header__content
|
|
34
34
|
flex-direction: row-reverse
|
|
35
|
+
|
|
36
|
+
&.v-data-table-column--align-center
|
|
37
|
+
text-align: center
|
|
38
|
+
|
|
39
|
+
.v-data-table-header__content
|
|
40
|
+
justify-content: center
|
|
35
41
|
|
|
36
42
|
&.v-data-table-column--no-padding
|
|
37
43
|
padding: 0 8px
|
|
@@ -10,6 +10,7 @@ import { defineComponent, useRender } from "../../util/index.mjs"; // Types
|
|
|
10
10
|
export const VDataTableRow = defineComponent({
|
|
11
11
|
name: 'VDataTableRow',
|
|
12
12
|
props: {
|
|
13
|
+
index: Number,
|
|
13
14
|
item: Object,
|
|
14
15
|
onClick: Function
|
|
15
16
|
},
|
|
@@ -47,6 +48,7 @@ export const VDataTableRow = defineComponent({
|
|
|
47
48
|
const item = props.item;
|
|
48
49
|
const slotName = `item.${column.key}`;
|
|
49
50
|
const slotProps = {
|
|
51
|
+
index: props.index,
|
|
50
52
|
item: props.item,
|
|
51
53
|
columns: columns.value,
|
|
52
54
|
isSelected,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDataTableRow.mjs","names":["VBtn","VCheckboxBtn","useExpanded","useHeaders","useSelection","VDataTableColumn","defineComponent","useRender","VDataTableRow","name","props","item","Object","onClick","Function","setup","slots","isSelected","toggleSelect","isExpanded","toggleExpand","columns","value","length","map","column","i","align","fixed","fixedOffset","lastFixed","key","width","default","slotName","slotProps"],"sources":["../../../src/labs/VDataTable/VDataTableRow.tsx"],"sourcesContent":["// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\n\n// Composables\nimport { useExpanded } from './composables/expand'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { VDataTableColumn } from './VDataTableColumn'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { DataTableItem } from './types'\n\nexport const VDataTableRow = defineComponent({\n name: 'VDataTableRow',\n\n props: {\n item: Object as PropType<DataTableItem>,\n onClick: Function as PropType<(e: MouseEvent) => void>,\n },\n\n setup (props, { slots }) {\n const { isSelected, toggleSelect } = useSelection()\n const { isExpanded, toggleExpand } = useExpanded()\n const { columns } = useHeaders()\n\n useRender(() => (\n <tr\n class={[\n 'v-data-table__tr',\n {\n 'v-data-table__tr--clickable': !!props.onClick,\n },\n ]}\n onClick={ props.onClick }\n >\n { !columns.value.length && (\n <VDataTableColumn\n key=\"no-data\"\n v-slots={ slots }\n />\n )}\n\n { props.item && columns.value.map((column, i) => (\n <VDataTableColumn\n align={ column.align }\n fixed={ column.fixed }\n fixedOffset={ column.fixedOffset }\n lastFixed={ column.lastFixed }\n noPadding={ column.key === 'data-table-select' || column.key === 'data-table-expand' }\n width={ column.width }\n >\n {{\n default: () => {\n const item = props.item!\n const slotName = `item.${column.key}`\n const slotProps = {\n item: props.item,\n columns: columns.value,\n isSelected,\n toggleSelect,\n isExpanded,\n toggleExpand,\n }\n\n if (slots[slotName]) return slots[slotName]!(slotProps)\n\n if (column.key === 'data-table-select') {\n return slots['item.data-table-select']?.(slotProps) ?? (\n <VCheckboxBtn\n modelValue={ isSelected([item]) }\n onClick={ () => toggleSelect(item) }\n />\n )\n }\n\n if (column.key === 'data-table-expand') {\n return slots['item.data-table-expand']?.(slotProps) ?? (\n <VBtn\n icon={ isExpanded(item) ? '$collapse' : '$expand' }\n size=\"small\"\n variant=\"text\"\n onClick={ () => toggleExpand(item) }\n />\n )\n }\n\n return item.columns[column.key]\n },\n }}\n </VDataTableColumn>\n ))}\n </tr>\n ))\n },\n})\n\nexport type VDataTableRow = InstanceType<typeof VDataTableRow>\n"],"mappings":";AAAA;AAAA,SACSA,IAAI;AAAA,SACJC,YAAY,gDAErB;AAAA,SACSC,WAAW;AAAA,SACXC,UAAU;AAAA,SACVC,YAAY;AAAA,SACZC,gBAAgB,kCAEzB;AAAA,SACSC,eAAe,EAAEC,SAAS,gCAEnC;AAIA,OAAO,MAAMC,aAAa,GAAGF,eAAe,CAAC;EAC3CG,IAAI,EAAE,eAAe;EAErBC,KAAK,EAAE;IACLC,IAAI,EAAEC,MAAiC;IACvCC,OAAO,EAAEC;EACX,CAAC;EAEDC,KAAK,
|
|
1
|
+
{"version":3,"file":"VDataTableRow.mjs","names":["VBtn","VCheckboxBtn","useExpanded","useHeaders","useSelection","VDataTableColumn","defineComponent","useRender","VDataTableRow","name","props","index","Number","item","Object","onClick","Function","setup","slots","isSelected","toggleSelect","isExpanded","toggleExpand","columns","value","length","map","column","i","align","fixed","fixedOffset","lastFixed","key","width","default","slotName","slotProps"],"sources":["../../../src/labs/VDataTable/VDataTableRow.tsx"],"sourcesContent":["// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\n\n// Composables\nimport { useExpanded } from './composables/expand'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { VDataTableColumn } from './VDataTableColumn'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { DataTableItem } from './types'\n\nexport const VDataTableRow = defineComponent({\n name: 'VDataTableRow',\n\n props: {\n index: Number as PropType<Number>,\n item: Object as PropType<DataTableItem>,\n onClick: Function as PropType<(e: MouseEvent) => void>,\n },\n\n setup (props, { slots }) {\n const { isSelected, toggleSelect } = useSelection()\n const { isExpanded, toggleExpand } = useExpanded()\n const { columns } = useHeaders()\n\n useRender(() => (\n <tr\n class={[\n 'v-data-table__tr',\n {\n 'v-data-table__tr--clickable': !!props.onClick,\n },\n ]}\n onClick={ props.onClick }\n >\n { !columns.value.length && (\n <VDataTableColumn\n key=\"no-data\"\n v-slots={ slots }\n />\n )}\n\n { props.item && columns.value.map((column, i) => (\n <VDataTableColumn\n align={ column.align }\n fixed={ column.fixed }\n fixedOffset={ column.fixedOffset }\n lastFixed={ column.lastFixed }\n noPadding={ column.key === 'data-table-select' || column.key === 'data-table-expand' }\n width={ column.width }\n >\n {{\n default: () => {\n const item = props.item!\n const slotName = `item.${column.key}`\n const slotProps = {\n index: props.index,\n item: props.item,\n columns: columns.value,\n isSelected,\n toggleSelect,\n isExpanded,\n toggleExpand,\n }\n\n if (slots[slotName]) return slots[slotName]!(slotProps)\n\n if (column.key === 'data-table-select') {\n return slots['item.data-table-select']?.(slotProps) ?? (\n <VCheckboxBtn\n modelValue={ isSelected([item]) }\n onClick={ () => toggleSelect(item) }\n />\n )\n }\n\n if (column.key === 'data-table-expand') {\n return slots['item.data-table-expand']?.(slotProps) ?? (\n <VBtn\n icon={ isExpanded(item) ? '$collapse' : '$expand' }\n size=\"small\"\n variant=\"text\"\n onClick={ () => toggleExpand(item) }\n />\n )\n }\n\n return item.columns[column.key]\n },\n }}\n </VDataTableColumn>\n ))}\n </tr>\n ))\n },\n})\n\nexport type VDataTableRow = InstanceType<typeof VDataTableRow>\n"],"mappings":";AAAA;AAAA,SACSA,IAAI;AAAA,SACJC,YAAY,gDAErB;AAAA,SACSC,WAAW;AAAA,SACXC,UAAU;AAAA,SACVC,YAAY;AAAA,SACZC,gBAAgB,kCAEzB;AAAA,SACSC,eAAe,EAAEC,SAAS,gCAEnC;AAIA,OAAO,MAAMC,aAAa,GAAGF,eAAe,CAAC;EAC3CG,IAAI,EAAE,eAAe;EAErBC,KAAK,EAAE;IACLC,KAAK,EAAEC,MAA0B;IACjCC,IAAI,EAAEC,MAAiC;IACvCC,OAAO,EAAEC;EACX,CAAC;EAEDC,KAAK,CAAEP,KAAK,QAAa;IAAA,IAAX;MAAEQ;IAAM,CAAC;IACrB,MAAM;MAAEC,UAAU;MAAEC;IAAa,CAAC,GAAGhB,YAAY,EAAE;IACnD,MAAM;MAAEiB,UAAU;MAAEC;IAAa,CAAC,GAAGpB,WAAW,EAAE;IAClD,MAAM;MAAEqB;IAAQ,CAAC,GAAGpB,UAAU,EAAE;IAEhCI,SAAS,CAAC;MAAA,SAEC,CACL,kBAAkB,EAClB;QACE,6BAA6B,EAAE,CAAC,CAACG,KAAK,CAACK;MACzC,CAAC,CACF;MAAA,WACSL,KAAK,CAACK;IAAO,IAErB,CAACQ,OAAO,CAACC,KAAK,CAACC,MAAM;MAAA,OAEf;IAAS,GACHP,KAAK,CAElB,EAECR,KAAK,CAACG,IAAI,IAAIU,OAAO,CAACC,KAAK,CAACE,GAAG,CAAC,CAACC,MAAM,EAAEC,CAAC;MAAA,SAEhCD,MAAM,CAACE,KAAK;MAAA,SACZF,MAAM,CAACG,KAAK;MAAA,eACNH,MAAM,CAACI,WAAW;MAAA,aACpBJ,MAAM,CAACK,SAAS;MAAA,aAChBL,MAAM,CAACM,GAAG,KAAK,mBAAmB,IAAIN,MAAM,CAACM,GAAG,KAAK,mBAAmB;MAAA,SAC5EN,MAAM,CAACO;IAAK;MAGlBC,OAAO,EAAE,MAAM;QACb,MAAMtB,IAAI,GAAGH,KAAK,CAACG,IAAK;QACxB,MAAMuB,QAAQ,GAAI,QAAOT,MAAM,CAACM,GAAI,EAAC;QACrC,MAAMI,SAAS,GAAG;UAChB1B,KAAK,EAAED,KAAK,CAACC,KAAK;UAClBE,IAAI,EAAEH,KAAK,CAACG,IAAI;UAChBU,OAAO,EAAEA,OAAO,CAACC,KAAK;UACtBL,UAAU;UACVC,YAAY;UACZC,UAAU;UACVC;QACF,CAAC;QAED,IAAIJ,KAAK,CAACkB,QAAQ,CAAC,EAAE,OAAOlB,KAAK,CAACkB,QAAQ,CAAC,CAAEC,SAAS,CAAC;QAEvD,IAAIV,MAAM,CAACM,GAAG,KAAK,mBAAmB,EAAE;UACtC,OAAOf,KAAK,CAAC,wBAAwB,CAAC,GAAGmB,SAAS,CAAC;YAAA,cAElClB,UAAU,CAAC,CAACN,IAAI,CAAC,CAAC;YAAA,WACrB,MAAMO,YAAY,CAACP,IAAI;UAAC,QAErC;QACH;QAEA,IAAIc,MAAM,CAACM,GAAG,KAAK,mBAAmB,EAAE;UACtC,OAAOf,KAAK,CAAC,wBAAwB,CAAC,GAAGmB,SAAS,CAAC;YAAA,QAExChB,UAAU,CAACR,IAAI,CAAC,GAAG,WAAW,GAAG,SAAS;YAAA,QAC5C,OAAO;YAAA,WACJ,MAAM;YAAA,WACJ,MAAMS,YAAY,CAACT,IAAI;UAAC,QAErC;QACH;QAEA,OAAOA,IAAI,CAACU,OAAO,CAACI,MAAM,CAACM,GAAG,CAAC;MACjC;IAAC,EAGN,CAAC,EAEL,CAAC;EACJ;AACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDataTableRows.mjs","names":["VDataTableGroupHeaderRow","VDataTableRow","useLocale","useExpanded","useHeaders","useSelection","useGroupBy","genericComponent","useRender","VDataTableRows","name","props","loading","Boolean","String","loadingText","type","default","hideNoData","items","Array","noDataText","rowHeight","Number","emits","event","value","setup","emit","slots","columns","expandOnClick","toggleExpand","isExpanded","isSelected","toggleSelect","toggleGroup","isGroupOpen","t","undefined","length","map","item","index","id","slotProps"],"sources":["../../../src/labs/VDataTable/VDataTableRows.tsx"],"sourcesContent":["// Components\nimport { VDataTableGroupHeaderRow } from './VDataTableGroupHeaderRow'\nimport { VDataTableRow } from './VDataTableRow'\n\n// Composables\nimport { useLocale } from '@/composables/locale'\nimport { useExpanded } from './composables/expand'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useGroupBy } from './composables/group'\n\n// Utilities\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { DataTableItem, GroupHeaderItem, InternalDataTableHeader, InternalDataTableItem } from './types'\nimport type { PropType } from 'vue'\n\ntype GroupHeaderSlot = {\n index: number\n item: GroupHeaderItem\n columns: InternalDataTableHeader[]\n isExpanded: (item: DataTableItem) => boolean\n toggleExpand: (item: DataTableItem) => void\n isSelected: (items: DataTableItem[]) => boolean\n toggleSelect: (item: DataTableItem) => void\n toggleGroup: (group: GroupHeaderItem) => void\n isGroupOpen: (group: GroupHeaderItem) => boolean\n}\n\ntype ItemSlot = {\n index: number\n item: InternalDataTableItem\n columns: InternalDataTableHeader[]\n isExpanded: (item: DataTableItem) => boolean\n toggleExpand: (item: DataTableItem) => void\n isSelected: (items: DataTableItem[]) => boolean\n toggleSelect: (item: DataTableItem) => void\n}\n\nexport type VDataTableRowsSlots = {\n default: []\n item: [ItemSlot]\n loading: []\n 'group-header': [GroupHeaderSlot]\n 'no-data': []\n 'expanded-row': [ItemSlot]\n 'item.data-table-select': [ItemSlot]\n 'item.data-table-expand': [ItemSlot]\n} & { [key: `item.${string}`]: [ItemSlot] }\n\nexport const VDataTableRows = genericComponent<VDataTableRowsSlots>()({\n name: 'VDataTableRows',\n\n props: {\n loading: [Boolean, String],\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n hideNoData: Boolean,\n items: {\n type: Array as PropType<InternalDataTableItem[]>,\n default: () => ([]),\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n rowHeight: Number,\n },\n\n emits: {\n 'click:row': (event: Event, value: { item: DataTableItem }) => true,\n },\n\n setup (props, { emit, slots }) {\n const { columns } = useHeaders()\n const { expandOnClick, toggleExpand, isExpanded } = useExpanded()\n const { isSelected, toggleSelect } = useSelection()\n const { toggleGroup, isGroupOpen } = useGroupBy()\n const { t } = useLocale()\n\n useRender(() => (\n <>\n { props.loading ? slots.loading?.() ?? (\n <VDataTableRow\n class=\"v-data-table-rows-no-data\"\n key=\"loading\"\n >\n { t(props.loadingText) }\n </VDataTableRow>\n ) : undefined }\n\n { !props.loading && !props.items.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VDataTableRow\n class=\"v-data-table-rows-no-data\"\n key=\"no-data\"\n >\n { t(props.noDataText) }\n </VDataTableRow>\n ))}\n\n { props.items.map((item, index) => {\n if (item.type === 'group-header') {\n return slots['group-header'] ? slots['group-header']({\n index,\n item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n toggleGroup,\n isGroupOpen,\n } as GroupHeaderSlot) : (\n <VDataTableGroupHeaderRow\n key={ `group-header_${item.id}` }\n item={ item }\n v-slots={ slots }\n />\n )\n }\n\n const slotProps = {\n index,\n item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n } as ItemSlot\n\n return (\n <>\n { slots.item ? slots.item(slotProps) : (\n <VDataTableRow\n key={ `item_${item.value}` }\n onClick={ (event: Event) => {\n if (expandOnClick.value) {\n toggleExpand(item)\n }\n\n emit('click:row', event, { item })\n }}\n item={ item }\n v-slots={ slots }\n />\n )}\n\n { isExpanded(item) && slots['expanded-row']?.(slotProps) }\n </>\n )\n })}\n </>\n ))\n\n return {}\n },\n})\n\nexport type VDataTableRows = InstanceType<typeof VDataTableRows>\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"VDataTableRows.mjs","names":["VDataTableGroupHeaderRow","VDataTableRow","useLocale","useExpanded","useHeaders","useSelection","useGroupBy","genericComponent","useRender","VDataTableRows","name","props","loading","Boolean","String","loadingText","type","default","hideNoData","items","Array","noDataText","rowHeight","Number","emits","event","value","setup","emit","slots","columns","expandOnClick","toggleExpand","isExpanded","isSelected","toggleSelect","toggleGroup","isGroupOpen","t","undefined","length","map","item","index","id","slotProps"],"sources":["../../../src/labs/VDataTable/VDataTableRows.tsx"],"sourcesContent":["// Components\nimport { VDataTableGroupHeaderRow } from './VDataTableGroupHeaderRow'\nimport { VDataTableRow } from './VDataTableRow'\n\n// Composables\nimport { useLocale } from '@/composables/locale'\nimport { useExpanded } from './composables/expand'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useGroupBy } from './composables/group'\n\n// Utilities\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { DataTableItem, GroupHeaderItem, InternalDataTableHeader, InternalDataTableItem } from './types'\nimport type { PropType } from 'vue'\n\ntype GroupHeaderSlot = {\n index: number\n item: GroupHeaderItem\n columns: InternalDataTableHeader[]\n isExpanded: (item: DataTableItem) => boolean\n toggleExpand: (item: DataTableItem) => void\n isSelected: (items: DataTableItem[]) => boolean\n toggleSelect: (item: DataTableItem) => void\n toggleGroup: (group: GroupHeaderItem) => void\n isGroupOpen: (group: GroupHeaderItem) => boolean\n}\n\ntype ItemSlot = {\n index: number\n item: InternalDataTableItem\n columns: InternalDataTableHeader[]\n isExpanded: (item: DataTableItem) => boolean\n toggleExpand: (item: DataTableItem) => void\n isSelected: (items: DataTableItem[]) => boolean\n toggleSelect: (item: DataTableItem) => void\n}\n\nexport type VDataTableRowsSlots = {\n default: []\n item: [ItemSlot]\n loading: []\n 'group-header': [GroupHeaderSlot]\n 'no-data': []\n 'expanded-row': [ItemSlot]\n 'item.data-table-select': [ItemSlot]\n 'item.data-table-expand': [ItemSlot]\n} & { [key: `item.${string}`]: [ItemSlot] }\n\nexport const VDataTableRows = genericComponent<VDataTableRowsSlots>()({\n name: 'VDataTableRows',\n\n props: {\n loading: [Boolean, String],\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n hideNoData: Boolean,\n items: {\n type: Array as PropType<InternalDataTableItem[]>,\n default: () => ([]),\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n rowHeight: Number,\n },\n\n emits: {\n 'click:row': (event: Event, value: { item: DataTableItem }) => true,\n },\n\n setup (props, { emit, slots }) {\n const { columns } = useHeaders()\n const { expandOnClick, toggleExpand, isExpanded } = useExpanded()\n const { isSelected, toggleSelect } = useSelection()\n const { toggleGroup, isGroupOpen } = useGroupBy()\n const { t } = useLocale()\n\n useRender(() => (\n <>\n { props.loading ? slots.loading?.() ?? (\n <VDataTableRow\n class=\"v-data-table-rows-no-data\"\n key=\"loading\"\n >\n { t(props.loadingText) }\n </VDataTableRow>\n ) : undefined }\n\n { !props.loading && !props.items.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VDataTableRow\n class=\"v-data-table-rows-no-data\"\n key=\"no-data\"\n >\n { t(props.noDataText) }\n </VDataTableRow>\n ))}\n\n { props.items.map((item, index) => {\n if (item.type === 'group-header') {\n return slots['group-header'] ? slots['group-header']({\n index,\n item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n toggleGroup,\n isGroupOpen,\n } as GroupHeaderSlot) : (\n <VDataTableGroupHeaderRow\n key={ `group-header_${item.id}` }\n item={ item }\n v-slots={ slots }\n />\n )\n }\n\n const slotProps = {\n index,\n item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n } as ItemSlot\n\n return (\n <>\n { slots.item ? slots.item(slotProps) : (\n <VDataTableRow\n key={ `item_${item.value}` }\n onClick={ (event: Event) => {\n if (expandOnClick.value) {\n toggleExpand(item)\n }\n\n emit('click:row', event, { item })\n }}\n index={ index }\n item={ item }\n v-slots={ slots }\n />\n )}\n\n { isExpanded(item) && slots['expanded-row']?.(slotProps) }\n </>\n )\n })}\n </>\n ))\n\n return {}\n },\n})\n\nexport type VDataTableRows = InstanceType<typeof VDataTableRows>\n"],"mappings":"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"}
|