@vuetify/nightly 3.8.7-master.2025-05-31 → 3.8.7-master.2025-06-02

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/CHANGELOG.md +4 -3
  2. package/dist/json/attributes.json +3145 -3145
  3. package/dist/json/importMap-labs.json +24 -24
  4. package/dist/json/importMap.json +166 -166
  5. package/dist/json/web-types.json +5896 -5896
  6. package/dist/vuetify-labs.cjs +73 -73
  7. package/dist/vuetify-labs.css +5220 -5220
  8. package/dist/vuetify-labs.d.ts +58 -58
  9. package/dist/vuetify-labs.esm.js +73 -73
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +73 -73
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +67 -67
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +3183 -3183
  16. package/dist/vuetify.d.ts +58 -58
  17. package/dist/vuetify.esm.js +67 -67
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +67 -67
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +260 -260
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VCarousel/VCarousel.js +3 -3
  25. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  26. package/lib/components/VColorPicker/VColorPickerPreview.js +3 -3
  27. package/lib/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  28. package/lib/components/VColorPicker/VColorPickerSwatches.js +3 -3
  29. package/lib/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  30. package/lib/components/VDataTable/VDataTableColumn.js +3 -3
  31. package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
  32. package/lib/components/VDataTable/VDataTableGroupHeaderRow.js +3 -3
  33. package/lib/components/VDataTable/VDataTableGroupHeaderRow.js.map +1 -1
  34. package/lib/components/VDataTable/VDataTableVirtual.js +7 -7
  35. package/lib/components/VDataTable/VDataTableVirtual.js.map +1 -1
  36. package/lib/components/VDatePicker/VDatePickerControls.js +4 -4
  37. package/lib/components/VDatePicker/VDatePickerControls.js.map +1 -1
  38. package/lib/components/VDatePicker/VDatePickerMonth.js +3 -3
  39. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  40. package/lib/components/VDatePicker/VDatePickerMonths.js +3 -3
  41. package/lib/components/VDatePicker/VDatePickerMonths.js.map +1 -1
  42. package/lib/components/VDatePicker/VDatePickerYears.js +3 -3
  43. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  44. package/lib/components/VEmptyState/VEmptyState.js +3 -3
  45. package/lib/components/VEmptyState/VEmptyState.js.map +1 -1
  46. package/lib/components/VImg/VImg.js +7 -7
  47. package/lib/components/VImg/VImg.js.map +1 -1
  48. package/lib/components/VInfiniteScroll/VInfiniteScroll.js +3 -3
  49. package/lib/components/VInfiniteScroll/VInfiniteScroll.js.map +1 -1
  50. package/lib/components/VOtpInput/VOtpInput.js +2 -2
  51. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  52. package/lib/components/VProgressCircular/VProgressCircular.js +2 -2
  53. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  54. package/lib/components/VProgressLinear/VProgressLinear.js +3 -3
  55. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  56. package/lib/components/VSelectionControl/VSelectionControl.js +2 -2
  57. package/lib/components/VSelectionControl/VSelectionControl.js.map +1 -1
  58. package/lib/components/VSlider/VSliderThumb.js +4 -4
  59. package/lib/components/VSlider/VSliderThumb.js.map +1 -1
  60. package/lib/components/VSlider/VSliderTrack.js +6 -6
  61. package/lib/components/VSlider/VSliderTrack.js.map +1 -1
  62. package/lib/components/VTable/VTable.js +3 -3
  63. package/lib/components/VTable/VTable.js.map +1 -1
  64. package/lib/components/VToolbar/VToolbar.js +5 -5
  65. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  66. package/lib/components/VVirtualScroll/VVirtualScroll.js +7 -7
  67. package/lib/components/VVirtualScroll/VVirtualScroll.js.map +1 -1
  68. package/lib/components/VWindow/VWindow.js +3 -3
  69. package/lib/components/VWindow/VWindow.js.map +1 -1
  70. package/lib/entry-bundler.js +1 -1
  71. package/lib/framework.d.ts +58 -58
  72. package/lib/framework.js +1 -1
  73. package/lib/labs/VPullToRefresh/VPullToRefresh.js +7 -7
  74. package/lib/labs/VPullToRefresh/VPullToRefresh.js.map +1 -1
  75. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"VTable.js","names":["makeComponentProps","makeDensityProps","useDensity","makeTagProps","makeThemeProps","provideTheme","convertToUnit","genericComponent","propsFactory","useRender","makeVTableProps","fixedHeader","Boolean","fixedFooter","height","Number","String","hover","VTable","name","props","setup","_ref","slots","emit","themeClasses","densityClasses","_createVNode","tag","_normalizeClass","top","bottom","value","class","_normalizeStyle","style","default","_createElementVNode","wrapper"],"sources":["../../../src/components/VTable/VTable.tsx"],"sourcesContent":["// Styles\nimport './VTable.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\nexport type VTableSlots = {\n default: never\n top: never\n bottom: never\n wrapper: never\n}\n\nexport const makeVTableProps = propsFactory({\n fixedHeader: Boolean,\n fixedFooter: Boolean,\n height: [Number, String],\n hover: Boolean,\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VTable')\n\nexport const VTable = genericComponent<VTableSlots>()({\n name: 'VTable',\n\n props: makeVTableProps(),\n\n setup (props, { slots, emit }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n\n useRender(() => (\n <props.tag\n class={[\n 'v-table',\n {\n 'v-table--fixed-height': !!props.height,\n 'v-table--fixed-header': props.fixedHeader,\n 'v-table--fixed-footer': props.fixedFooter,\n 'v-table--has-top': !!slots.top,\n 'v-table--has-bottom': !!slots.bottom,\n 'v-table--hover': props.hover,\n },\n themeClasses.value,\n densityClasses.value,\n props.class,\n ]}\n style={ props.style }\n >\n { slots.top?.() }\n\n { slots.default ? (\n <div\n class=\"v-table__wrapper\"\n style={{ height: convertToUnit(props.height) }}\n >\n <table>\n { slots.default() }\n </table>\n </div>\n ) : slots.wrapper?.()}\n\n { slots.bottom?.() }\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VTable = InstanceType<typeof VTable>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY,sCAErC;AAAA,SACSC,aAAa,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AASjE,OAAO,MAAMC,eAAe,GAAGF,YAAY,CAAC;EAC1CG,WAAW,EAAEC,OAAO;EACpBC,WAAW,EAAED,OAAO;EACpBE,MAAM,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;EACxBC,KAAK,EAAEL,OAAO;EAEd,GAAGZ,kBAAkB,CAAC,CAAC;EACvB,GAAGC,gBAAgB,CAAC,CAAC;EACrB,GAAGE,YAAY,CAAC,CAAC;EACjB,GAAGC,cAAc,CAAC;AACpB,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,MAAMc,MAAM,GAAGX,gBAAgB,CAAc,CAAC,CAAC;EACpDY,IAAI,EAAE,QAAQ;EAEdC,KAAK,EAAEV,eAAe,CAAC,CAAC;EAExBW,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAmB;IAAA,IAAjB;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAAF,IAAA;IAC3B,MAAM;MAAEG;IAAa,CAAC,GAAGpB,YAAY,CAACe,KAAK,CAAC;IAC5C,MAAM;MAAEM;IAAe,CAAC,GAAGxB,UAAU,CAACkB,KAAK,CAAC;IAE5CX,SAAS,CAAC,MAAAkB,YAAA,CAAAP,KAAA,CAAAQ,GAAA;MAAA,SAAAC,eAAA,CAEC,CACL,SAAS,EACT;QACE,uBAAuB,EAAE,CAAC,CAACT,KAAK,CAACN,MAAM;QACvC,uBAAuB,EAAEM,KAAK,CAACT,WAAW;QAC1C,uBAAuB,EAAES,KAAK,CAACP,WAAW;QAC1C,kBAAkB,EAAE,CAAC,CAACU,KAAK,CAACO,GAAG;QAC/B,qBAAqB,EAAE,CAAC,CAACP,KAAK,CAACQ,MAAM;QACrC,gBAAgB,EAAEX,KAAK,CAACH;MAC1B,CAAC,EACDQ,YAAY,CAACO,KAAK,EAClBN,cAAc,CAACM,KAAK,EACpBZ,KAAK,CAACa,KAAK,CACZ;MAAA,SAAAC,eAAA,CACOd,KAAK,CAACe,KAAK;IAAA;MAAAC,OAAA,EAAAA,CAAA,MAEjBb,KAAK,CAACO,GAAG,GAAG,CAAC,EAEbP,KAAK,CAACa,OAAO,GAAAC,mBAAA;QAAA;QAAA,SAAAH,eAAA,CAGJ;UAAEpB,MAAM,EAAER,aAAa,CAACc,KAAK,CAACN,MAAM;QAAE,CAAC;MAAA,IAAAuB,mBAAA,iBAG1Cd,KAAK,CAACa,OAAO,CAAC,CAAC,OAGnBb,KAAK,CAACe,OAAO,GAAG,CAAC,EAEnBf,KAAK,CAACQ,MAAM,GAAG,CAAC;IAAA,EAErB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VTable.js","names":["makeComponentProps","makeDensityProps","useDensity","makeTagProps","makeThemeProps","provideTheme","convertToUnit","genericComponent","propsFactory","useRender","makeVTableProps","fixedHeader","Boolean","fixedFooter","height","Number","String","hover","VTable","name","props","setup","_ref","slots","emit","themeClasses","densityClasses","_createVNode","tag","_normalizeClass","top","bottom","value","class","_normalizeStyle","style","default","_createElementVNode","wrapper"],"sources":["../../../src/components/VTable/VTable.tsx"],"sourcesContent":["// Styles\nimport './VTable.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\nexport type VTableSlots = {\n default: never\n top: never\n bottom: never\n wrapper: never\n}\n\nexport const makeVTableProps = propsFactory({\n fixedHeader: Boolean,\n fixedFooter: Boolean,\n height: [Number, String],\n hover: Boolean,\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VTable')\n\nexport const VTable = genericComponent<VTableSlots>()({\n name: 'VTable',\n\n props: makeVTableProps(),\n\n setup (props, { slots, emit }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n\n useRender(() => (\n <props.tag\n class={[\n 'v-table',\n {\n 'v-table--fixed-height': !!props.height,\n 'v-table--fixed-header': props.fixedHeader,\n 'v-table--fixed-footer': props.fixedFooter,\n 'v-table--has-top': !!slots.top,\n 'v-table--has-bottom': !!slots.bottom,\n 'v-table--hover': props.hover,\n },\n themeClasses.value,\n densityClasses.value,\n props.class,\n ]}\n style={ props.style }\n >\n { slots.top?.() }\n\n { slots.default ? (\n <div\n class=\"v-table__wrapper\"\n style={{ height: convertToUnit(props.height) }}\n >\n <table>\n { slots.default() }\n </table>\n </div>\n ) : slots.wrapper?.()}\n\n { slots.bottom?.() }\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VTable = InstanceType<typeof VTable>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY,sCAErC;AAAA,SACSC,aAAa,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AASjE,OAAO,MAAMC,eAAe,GAAGF,YAAY,CAAC;EAC1CG,WAAW,EAAEC,OAAO;EACpBC,WAAW,EAAED,OAAO;EACpBE,MAAM,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;EACxBC,KAAK,EAAEL,OAAO;EAEd,GAAGZ,kBAAkB,CAAC,CAAC;EACvB,GAAGC,gBAAgB,CAAC,CAAC;EACrB,GAAGE,YAAY,CAAC,CAAC;EACjB,GAAGC,cAAc,CAAC;AACpB,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,MAAMc,MAAM,GAAGX,gBAAgB,CAAc,CAAC,CAAC;EACpDY,IAAI,EAAE,QAAQ;EAEdC,KAAK,EAAEV,eAAe,CAAC,CAAC;EAExBW,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAmB;IAAA,IAAjB;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAAF,IAAA;IAC3B,MAAM;MAAEG;IAAa,CAAC,GAAGpB,YAAY,CAACe,KAAK,CAAC;IAC5C,MAAM;MAAEM;IAAe,CAAC,GAAGxB,UAAU,CAACkB,KAAK,CAAC;IAE5CX,SAAS,CAAC,MAAAkB,YAAA,CAAAP,KAAA,CAAAQ,GAAA;MAAA,SAAAC,eAAA,CAEC,CACL,SAAS,EACT;QACE,uBAAuB,EAAE,CAAC,CAACT,KAAK,CAACN,MAAM;QACvC,uBAAuB,EAAEM,KAAK,CAACT,WAAW;QAC1C,uBAAuB,EAAES,KAAK,CAACP,WAAW;QAC1C,kBAAkB,EAAE,CAAC,CAACU,KAAK,CAACO,GAAG;QAC/B,qBAAqB,EAAE,CAAC,CAACP,KAAK,CAACQ,MAAM;QACrC,gBAAgB,EAAEX,KAAK,CAACH;MAC1B,CAAC,EACDQ,YAAY,CAACO,KAAK,EAClBN,cAAc,CAACM,KAAK,EACpBZ,KAAK,CAACa,KAAK,CACZ;MAAA,SAAAC,eAAA,CACOd,KAAK,CAACe,KAAK;IAAA;MAAAC,OAAA,EAAAA,CAAA,MAEjBb,KAAK,CAACO,GAAG,GAAG,CAAC,EAEbP,KAAK,CAACa,OAAO,GAAAC,mBAAA;QAAA;QAAA,SAGJ;UAAEvB,MAAM,EAAER,aAAa,CAACc,KAAK,CAACN,MAAM;QAAE;MAAC,IAAAuB,mBAAA,iBAG1Cd,KAAK,CAACa,OAAO,CAAC,CAAC,OAGnBb,KAAK,CAACe,OAAO,GAAG,CAAC,EAEnBf,KAAK,CAACQ,MAAM,GAAG,CAAC;IAAA,EAErB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeStyle as _normalizeStyle, normalizeClass as _normalizeClass } from "vue";
1
+ import { createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle } from "vue";
2
2
  // Styles
3
3
  import "./VToolbar.css";
4
4
 
@@ -124,9 +124,9 @@ export const VToolbar = genericComponent()({
124
124
  }, {
125
125
  default: () => [_createElementVNode("div", {
126
126
  "class": "v-toolbar__content",
127
- "style": _normalizeStyle({
127
+ "style": {
128
128
  height: convertToUnit(contentHeight.value)
129
- })
129
+ }
130
130
  }, [slots.prepend && _createElementVNode("div", {
131
131
  "class": "v-toolbar__prepend"
132
132
  }, [slots.prepend?.()]), hasTitle && _createVNode(VToolbarTitle, {
@@ -147,9 +147,9 @@ export const VToolbar = genericComponent()({
147
147
  default: () => [_createVNode(VExpandTransition, null, {
148
148
  default: () => [isExtended.value && _createElementVNode("div", {
149
149
  "class": "v-toolbar__extension",
150
- "style": _normalizeStyle({
150
+ "style": {
151
151
  height: convertToUnit(extensionHeight.value)
152
- })
152
+ }
153
153
  }, [extension])]
154
154
  })]
155
155
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"VToolbar.js","names":["VToolbarTitle","VExpandTransition","VDefaultsProvider","VImg","makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","provideDefaults","makeElevationProps","useElevation","useRtl","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","computed","shallowRef","convertToUnit","genericComponent","propsFactory","useRender","allowedDensities","makeVToolbarProps","absolute","Boolean","collapse","color","String","density","type","default","validator","v","includes","extended","extensionHeight","Number","flat","floating","height","image","title","tag","VToolbar","name","props","setup","_ref","slots","backgroundColorClasses","backgroundColorStyles","borderClasses","elevationClasses","roundedClasses","themeClasses","rtlClasses","isExtended","extension","contentHeight","parseInt","value","VBtn","variant","hasTitle","hasImage","_createVNode","_normalizeClass","class","_normalizeStyle","style","_createElementVNode","cover","src","VTabs","prepend","text","append"],"sources":["../../../src/components/VToolbar/VToolbar.tsx"],"sourcesContent":["// Styles\nimport './VToolbar.sass'\n\n// Components\nimport { VToolbarTitle } from './VToolbarTitle'\nimport { VExpandTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { useRtl } from '@/composables/locale'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, shallowRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedDensities = [null, 'prominent', 'default', 'comfortable', 'compact'] as const\n\nexport type Density = null | 'prominent' | 'default' | 'comfortable' | 'compact'\n\nexport const makeVToolbarProps = propsFactory({\n absolute: Boolean,\n collapse: Boolean,\n color: String,\n density: {\n type: String as PropType<Density>,\n default: 'default',\n validator: (v: any) => allowedDensities.includes(v),\n },\n extended: Boolean,\n extensionHeight: {\n type: [Number, String],\n default: 48,\n },\n flat: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default: 64,\n },\n image: String,\n title: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'header' }),\n ...makeThemeProps(),\n}, 'VToolbar')\n\nexport type VToolbarSlots = {\n default: never\n image: never\n prepend: never\n append: never\n title: never\n extension: never\n}\n\nexport const VToolbar = genericComponent<VToolbarSlots>()({\n name: 'VToolbar',\n\n props: makeVToolbarProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.color)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { themeClasses } = provideTheme(props)\n const { rtlClasses } = useRtl()\n\n const isExtended = shallowRef(!!(props.extended || slots.extension?.()))\n const contentHeight = computed(() => parseInt((\n Number(props.height) +\n (props.density === 'prominent' ? Number(props.height) : 0) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ), 10))\n const extensionHeight = computed(() => isExtended.value\n ? parseInt((\n Number(props.extensionHeight) +\n (props.density === 'prominent' ? Number(props.extensionHeight) : 0) -\n (props.density === 'comfortable' ? 4 : 0) -\n (props.density === 'compact' ? 8 : 0)\n ), 10)\n : 0\n )\n\n provideDefaults({\n VBtn: {\n variant: 'text',\n },\n })\n\n useRender(() => {\n const hasTitle = !!(props.title || slots.title)\n const hasImage = !!(slots.image || props.image)\n\n const extension = slots.extension?.()\n isExtended.value = !!(props.extended || extension)\n\n return (\n <props.tag\n class={[\n 'v-toolbar',\n {\n 'v-toolbar--absolute': props.absolute,\n 'v-toolbar--collapse': props.collapse,\n 'v-toolbar--flat': props.flat,\n 'v-toolbar--floating': props.floating,\n [`v-toolbar--density-${props.density}`]: true,\n },\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n themeClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n >\n { hasImage && (\n <div key=\"image\" class=\"v-toolbar__image\">\n { !slots.image ? (\n <VImg\n key=\"image-img\"\n cover\n src={ props.image }\n />\n ) : (\n <VDefaultsProvider\n key=\"image-defaults\"\n disabled={ !props.image }\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n v-slots:default={ slots.image }\n />\n )}\n </div>\n )}\n\n <VDefaultsProvider\n defaults={{\n VTabs: {\n height: convertToUnit(contentHeight.value),\n },\n }}\n >\n <div\n class=\"v-toolbar__content\"\n style={{ height: convertToUnit(contentHeight.value) }}\n >\n { slots.prepend && (\n <div class=\"v-toolbar__prepend\">\n { slots.prepend?.() }\n </div>\n )}\n\n { hasTitle && (\n <VToolbarTitle key=\"title\" text={ props.title }>\n {{ text: slots.title }}\n </VToolbarTitle>\n )}\n\n { slots.default?.() }\n\n { slots.append && (\n <div class=\"v-toolbar__append\">\n { slots.append?.() }\n </div>\n )}\n </div>\n </VDefaultsProvider>\n\n <VDefaultsProvider\n defaults={{\n VTabs: {\n height: convertToUnit(extensionHeight.value),\n },\n }}\n >\n <VExpandTransition>\n { isExtended.value && (\n <div\n class=\"v-toolbar__extension\"\n style={{ height: convertToUnit(extensionHeight.value) }}\n >\n { extension }\n </div>\n )}\n </VExpandTransition>\n </VDefaultsProvider>\n </props.tag>\n )\n })\n\n return {\n contentHeight,\n extensionHeight,\n }\n },\n})\n\nexport type VToolbar = InstanceType<typeof VToolbar>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VToolbar.js","names":["VToolbarTitle","VExpandTransition","VDefaultsProvider","VImg","makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","provideDefaults","makeElevationProps","useElevation","useRtl","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","computed","shallowRef","convertToUnit","genericComponent","propsFactory","useRender","allowedDensities","makeVToolbarProps","absolute","Boolean","collapse","color","String","density","type","default","validator","v","includes","extended","extensionHeight","Number","flat","floating","height","image","title","tag","VToolbar","name","props","setup","_ref","slots","backgroundColorClasses","backgroundColorStyles","borderClasses","elevationClasses","roundedClasses","themeClasses","rtlClasses","isExtended","extension","contentHeight","parseInt","value","VBtn","variant","hasTitle","hasImage","_createVNode","_normalizeClass","class","_normalizeStyle","style","_createElementVNode","cover","src","VTabs","prepend","text","append"],"sources":["../../../src/components/VToolbar/VToolbar.tsx"],"sourcesContent":["// Styles\nimport './VToolbar.sass'\n\n// Components\nimport { VToolbarTitle } from './VToolbarTitle'\nimport { VExpandTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { useRtl } from '@/composables/locale'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, shallowRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedDensities = [null, 'prominent', 'default', 'comfortable', 'compact'] as const\n\nexport type Density = null | 'prominent' | 'default' | 'comfortable' | 'compact'\n\nexport const makeVToolbarProps = propsFactory({\n absolute: Boolean,\n collapse: Boolean,\n color: String,\n density: {\n type: String as PropType<Density>,\n default: 'default',\n validator: (v: any) => allowedDensities.includes(v),\n },\n extended: Boolean,\n extensionHeight: {\n type: [Number, String],\n default: 48,\n },\n flat: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default: 64,\n },\n image: String,\n title: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'header' }),\n ...makeThemeProps(),\n}, 'VToolbar')\n\nexport type VToolbarSlots = {\n default: never\n image: never\n prepend: never\n append: never\n title: never\n extension: never\n}\n\nexport const VToolbar = genericComponent<VToolbarSlots>()({\n name: 'VToolbar',\n\n props: makeVToolbarProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.color)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { themeClasses } = provideTheme(props)\n const { rtlClasses } = useRtl()\n\n const isExtended = shallowRef(!!(props.extended || slots.extension?.()))\n const contentHeight = computed(() => parseInt((\n Number(props.height) +\n (props.density === 'prominent' ? Number(props.height) : 0) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ), 10))\n const extensionHeight = computed(() => isExtended.value\n ? parseInt((\n Number(props.extensionHeight) +\n (props.density === 'prominent' ? Number(props.extensionHeight) : 0) -\n (props.density === 'comfortable' ? 4 : 0) -\n (props.density === 'compact' ? 8 : 0)\n ), 10)\n : 0\n )\n\n provideDefaults({\n VBtn: {\n variant: 'text',\n },\n })\n\n useRender(() => {\n const hasTitle = !!(props.title || slots.title)\n const hasImage = !!(slots.image || props.image)\n\n const extension = slots.extension?.()\n isExtended.value = !!(props.extended || extension)\n\n return (\n <props.tag\n class={[\n 'v-toolbar',\n {\n 'v-toolbar--absolute': props.absolute,\n 'v-toolbar--collapse': props.collapse,\n 'v-toolbar--flat': props.flat,\n 'v-toolbar--floating': props.floating,\n [`v-toolbar--density-${props.density}`]: true,\n },\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n themeClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n >\n { hasImage && (\n <div key=\"image\" class=\"v-toolbar__image\">\n { !slots.image ? (\n <VImg\n key=\"image-img\"\n cover\n src={ props.image }\n />\n ) : (\n <VDefaultsProvider\n key=\"image-defaults\"\n disabled={ !props.image }\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n v-slots:default={ slots.image }\n />\n )}\n </div>\n )}\n\n <VDefaultsProvider\n defaults={{\n VTabs: {\n height: convertToUnit(contentHeight.value),\n },\n }}\n >\n <div\n class=\"v-toolbar__content\"\n style={{ height: convertToUnit(contentHeight.value) }}\n >\n { slots.prepend && (\n <div class=\"v-toolbar__prepend\">\n { slots.prepend?.() }\n </div>\n )}\n\n { hasTitle && (\n <VToolbarTitle key=\"title\" text={ props.title }>\n {{ text: slots.title }}\n </VToolbarTitle>\n )}\n\n { slots.default?.() }\n\n { slots.append && (\n <div class=\"v-toolbar__append\">\n { slots.append?.() }\n </div>\n )}\n </div>\n </VDefaultsProvider>\n\n <VDefaultsProvider\n defaults={{\n VTabs: {\n height: convertToUnit(extensionHeight.value),\n },\n }}\n >\n <VExpandTransition>\n { isExtended.value && (\n <div\n class=\"v-toolbar__extension\"\n style={{ height: convertToUnit(extensionHeight.value) }}\n >\n { extension }\n </div>\n )}\n </VExpandTransition>\n </VDefaultsProvider>\n </props.tag>\n )\n })\n\n return {\n contentHeight,\n extensionHeight,\n }\n },\n})\n\nexport type VToolbar = InstanceType<typeof VToolbar>\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { createVNode as _createVNode, Fragment as _Fragment, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from "vue";
1
+ import { createVNode as _createVNode, Fragment as _Fragment, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle } from "vue";
2
2
  // Styles
3
3
  import "./VVirtualScroll.css";
4
4
 
@@ -80,14 +80,14 @@ export const VVirtualScroll = genericComponent()({
80
80
  return props.renderless ? _createElementVNode(_Fragment, null, [_createElementVNode("div", {
81
81
  "ref": markerRef,
82
82
  "class": "v-virtual-scroll__spacer",
83
- "style": _normalizeStyle({
83
+ "style": {
84
84
  paddingTop: convertToUnit(paddingTop.value)
85
- })
85
+ }
86
86
  }, null), children, _createElementVNode("div", {
87
87
  "class": "v-virtual-scroll__spacer",
88
- "style": _normalizeStyle({
88
+ "style": {
89
89
  paddingBottom: convertToUnit(paddingBottom.value)
90
- })
90
+ }
91
91
  }, null)]) : _createElementVNode("div", {
92
92
  "ref": containerRef,
93
93
  "class": _normalizeClass(['v-virtual-scroll', props.class]),
@@ -97,10 +97,10 @@ export const VVirtualScroll = genericComponent()({
97
97
  }, [_createElementVNode("div", {
98
98
  "ref": markerRef,
99
99
  "class": "v-virtual-scroll__container",
100
- "style": _normalizeStyle({
100
+ "style": {
101
101
  paddingTop: convertToUnit(paddingTop.value),
102
102
  paddingBottom: convertToUnit(paddingBottom.value)
103
- })
103
+ }
104
104
  }, [children])]);
105
105
  });
106
106
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"VVirtualScroll.js","names":["VVirtualScrollItem","makeComponentProps","makeDimensionProps","useDimension","useToggleScope","makeVirtualProps","useVirtual","onMounted","onScopeDispose","toRef","convertToUnit","genericComponent","getCurrentInstance","getScrollParent","propsFactory","useRender","makeVVirtualScrollProps","items","type","Array","default","renderless","Boolean","VVirtualScroll","name","props","setup","_ref","slots","vm","dimensionStyles","calculateVisibleItems","containerRef","markerRef","handleScroll","handleScrollend","handleItemResize","scrollToIndex","paddingTop","paddingBottom","computedItems","handleListeners","add","arguments","length","undefined","method","value","document","documentElement","passive","vnode","el","children","map","item","_createVNode","key","height","index","slotProps","raw","_createElementVNode","_Fragment","_normalizeStyle","_normalizeClass","class","style"],"sources":["../../../src/components/VVirtualScroll/VVirtualScroll.tsx"],"sourcesContent":["// Styles\nimport './VVirtualScroll.sass'\n\n// Components\nimport { VVirtualScrollItem } from './VVirtualScrollItem'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useToggleScope } from '@/composables/toggleScope'\nimport { makeVirtualProps, useVirtual } from '@/composables/virtual'\n\n// Utilities\nimport { onMounted, onScopeDispose, toRef } from 'vue'\nimport {\n convertToUnit,\n genericComponent,\n getCurrentInstance,\n getScrollParent,\n propsFactory,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { GenericProps } from '@/util'\n\nexport interface VVirtualScrollSlot<T> {\n item: T\n index: number\n}\n\nexport const makeVVirtualScrollProps = propsFactory({\n items: {\n type: Array as PropType<readonly unknown[]>,\n default: () => ([]),\n },\n renderless: Boolean,\n\n ...makeVirtualProps(),\n ...makeComponentProps(),\n ...makeDimensionProps(),\n}, 'VVirtualScroll')\n\nexport const VVirtualScroll = genericComponent<new <T, Renderless extends boolean = false>(\n props: {\n items?: readonly T[]\n renderless?: Renderless\n },\n slots: {\n default: VVirtualScrollSlot<T> & (Renderless extends true ? {\n itemRef: Ref<HTMLElement | undefined>\n } : {})\n }\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VVirtualScroll',\n\n props: makeVVirtualScrollProps(),\n\n setup (props, { slots }) {\n const vm = getCurrentInstance('VVirtualScroll')\n const { dimensionStyles } = useDimension(props)\n const {\n calculateVisibleItems,\n containerRef,\n markerRef,\n handleScroll,\n handleScrollend,\n handleItemResize,\n scrollToIndex,\n paddingTop,\n paddingBottom,\n computedItems,\n } = useVirtual(props, toRef(() => props.items))\n\n useToggleScope(() => props.renderless, () => {\n function handleListeners (add = false) {\n const method = add ? 'addEventListener' : 'removeEventListener'\n\n if (containerRef.value === document.documentElement) {\n document[method]('scroll', handleScroll, { passive: true })\n document[method]('scrollend', handleScrollend)\n } else {\n containerRef.value?.[method]('scroll', handleScroll, { passive: true })\n containerRef.value?.[method]('scrollend', handleScrollend)\n }\n }\n\n onMounted(() => {\n containerRef.value = getScrollParent(vm.vnode.el as HTMLElement, true)\n handleListeners(true)\n })\n onScopeDispose(handleListeners)\n })\n\n useRender(() => {\n const children = computedItems.value.map(item => (\n <VVirtualScrollItem\n key={ item.key }\n renderless={ props.renderless }\n onUpdate:height={ height => handleItemResize(item.index, height) }\n >\n { slotProps => slots.default?.({ item: item.raw, index: item.index, ...slotProps }) }\n </VVirtualScrollItem>\n ))\n\n return props.renderless ? (\n <>\n <div ref={ markerRef } class=\"v-virtual-scroll__spacer\" style={{ paddingTop: convertToUnit(paddingTop.value) }} />\n { children }\n <div class=\"v-virtual-scroll__spacer\" style={{ paddingBottom: convertToUnit(paddingBottom.value) }} />\n </>\n ) : (\n <div\n ref={ containerRef }\n class={[\n 'v-virtual-scroll',\n props.class,\n ]}\n onScrollPassive={ handleScroll }\n onScrollend={ handleScrollend }\n style={[\n dimensionStyles.value,\n props.style,\n ]}\n >\n <div\n ref={ markerRef }\n class=\"v-virtual-scroll__container\"\n style={{\n paddingTop: convertToUnit(paddingTop.value),\n paddingBottom: convertToUnit(paddingBottom.value),\n }}\n >\n { children }\n </div>\n </div>\n )\n })\n\n return {\n calculateVisibleItems,\n scrollToIndex,\n }\n },\n})\n\nexport type VVirtualScroll = InstanceType<typeof VVirtualScroll>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VVirtualScroll.js","names":["VVirtualScrollItem","makeComponentProps","makeDimensionProps","useDimension","useToggleScope","makeVirtualProps","useVirtual","onMounted","onScopeDispose","toRef","convertToUnit","genericComponent","getCurrentInstance","getScrollParent","propsFactory","useRender","makeVVirtualScrollProps","items","type","Array","default","renderless","Boolean","VVirtualScroll","name","props","setup","_ref","slots","vm","dimensionStyles","calculateVisibleItems","containerRef","markerRef","handleScroll","handleScrollend","handleItemResize","scrollToIndex","paddingTop","paddingBottom","computedItems","handleListeners","add","arguments","length","undefined","method","value","document","documentElement","passive","vnode","el","children","map","item","_createVNode","key","height","index","slotProps","raw","_createElementVNode","_Fragment","_normalizeClass","class","_normalizeStyle","style"],"sources":["../../../src/components/VVirtualScroll/VVirtualScroll.tsx"],"sourcesContent":["// Styles\nimport './VVirtualScroll.sass'\n\n// Components\nimport { VVirtualScrollItem } from './VVirtualScrollItem'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useToggleScope } from '@/composables/toggleScope'\nimport { makeVirtualProps, useVirtual } from '@/composables/virtual'\n\n// Utilities\nimport { onMounted, onScopeDispose, toRef } from 'vue'\nimport {\n convertToUnit,\n genericComponent,\n getCurrentInstance,\n getScrollParent,\n propsFactory,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { GenericProps } from '@/util'\n\nexport interface VVirtualScrollSlot<T> {\n item: T\n index: number\n}\n\nexport const makeVVirtualScrollProps = propsFactory({\n items: {\n type: Array as PropType<readonly unknown[]>,\n default: () => ([]),\n },\n renderless: Boolean,\n\n ...makeVirtualProps(),\n ...makeComponentProps(),\n ...makeDimensionProps(),\n}, 'VVirtualScroll')\n\nexport const VVirtualScroll = genericComponent<new <T, Renderless extends boolean = false>(\n props: {\n items?: readonly T[]\n renderless?: Renderless\n },\n slots: {\n default: VVirtualScrollSlot<T> & (Renderless extends true ? {\n itemRef: Ref<HTMLElement | undefined>\n } : {})\n }\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VVirtualScroll',\n\n props: makeVVirtualScrollProps(),\n\n setup (props, { slots }) {\n const vm = getCurrentInstance('VVirtualScroll')\n const { dimensionStyles } = useDimension(props)\n const {\n calculateVisibleItems,\n containerRef,\n markerRef,\n handleScroll,\n handleScrollend,\n handleItemResize,\n scrollToIndex,\n paddingTop,\n paddingBottom,\n computedItems,\n } = useVirtual(props, toRef(() => props.items))\n\n useToggleScope(() => props.renderless, () => {\n function handleListeners (add = false) {\n const method = add ? 'addEventListener' : 'removeEventListener'\n\n if (containerRef.value === document.documentElement) {\n document[method]('scroll', handleScroll, { passive: true })\n document[method]('scrollend', handleScrollend)\n } else {\n containerRef.value?.[method]('scroll', handleScroll, { passive: true })\n containerRef.value?.[method]('scrollend', handleScrollend)\n }\n }\n\n onMounted(() => {\n containerRef.value = getScrollParent(vm.vnode.el as HTMLElement, true)\n handleListeners(true)\n })\n onScopeDispose(handleListeners)\n })\n\n useRender(() => {\n const children = computedItems.value.map(item => (\n <VVirtualScrollItem\n key={ item.key }\n renderless={ props.renderless }\n onUpdate:height={ height => handleItemResize(item.index, height) }\n >\n { slotProps => slots.default?.({ item: item.raw, index: item.index, ...slotProps }) }\n </VVirtualScrollItem>\n ))\n\n return props.renderless ? (\n <>\n <div ref={ markerRef } class=\"v-virtual-scroll__spacer\" style={{ paddingTop: convertToUnit(paddingTop.value) }} />\n { children }\n <div class=\"v-virtual-scroll__spacer\" style={{ paddingBottom: convertToUnit(paddingBottom.value) }} />\n </>\n ) : (\n <div\n ref={ containerRef }\n class={[\n 'v-virtual-scroll',\n props.class,\n ]}\n onScrollPassive={ handleScroll }\n onScrollend={ handleScrollend }\n style={[\n dimensionStyles.value,\n props.style,\n ]}\n >\n <div\n ref={ markerRef }\n class=\"v-virtual-scroll__container\"\n style={{\n paddingTop: convertToUnit(paddingTop.value),\n paddingBottom: convertToUnit(paddingBottom.value),\n }}\n >\n { children }\n </div>\n </div>\n )\n })\n\n return {\n calculateVisibleItems,\n scrollToIndex,\n }\n },\n})\n\nexport type VVirtualScroll = InstanceType<typeof VVirtualScroll>\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeStyle as _normalizeStyle, normalizeClass as _normalizeClass, withDirectives as _withDirectives } from "vue";
1
+ import { createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, withDirectives as _withDirectives } from "vue";
2
2
  // Styles
3
3
  import "./VWindow.css";
4
4
 
@@ -169,9 +169,9 @@ export const VWindow = genericComponent()({
169
169
  }, {
170
170
  default: () => [_createElementVNode("div", {
171
171
  "class": "v-window__container",
172
- "style": _normalizeStyle({
172
+ "style": {
173
173
  height: transitionHeight.value
174
- })
174
+ }
175
175
  }, [slots.default?.({
176
176
  group
177
177
  }), props.showArrows !== false && _createElementVNode("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"VWindow.js","names":["VBtn","makeComponentProps","useGroup","useLocale","useRtl","makeTagProps","makeThemeProps","provideTheme","vTouch","computed","provide","ref","shallowRef","toRef","watch","genericComponent","propsFactory","useRender","VWindowSymbol","Symbol","for","VWindowGroupSymbol","makeVWindowProps","continuous","Boolean","nextIcon","type","String","Function","Object","default","prevIcon","reverse","showArrows","validator","v","touch","undefined","direction","modelValue","disabled","selectedClass","mandatory","VWindow","name","directives","props","emits","value","setup","_ref","slots","themeClasses","isRtl","t","group","rootRef","isRtlReverse","isReversed","transition","axis","transitionCount","transitionHeight","activeIndex","items","findIndex","item","selected","includes","id","newVal","oldVal","itemsLength","length","lastIndex","canMoveBack","canMoveForward","prev","next","arrows","prevProps","icon","class","onClick","push","_createVNode","_createElementVNode","nextProps","touchOptions","options","left","right","start","_ref2","originalEvent","stopPropagation","_withDirectives","tag","_normalizeClass","_normalizeStyle","style","height","additional"],"sources":["../../../src/components/VWindow/VWindow.tsx"],"sourcesContent":["// Styles\nimport './VWindow.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { useGroup } from '@/composables/group'\nimport { useLocale, useRtl } from '@/composables/locale'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Directives\nimport vTouch from '@/directives/touch'\n\n// Utilities\nimport { computed, provide, ref, shallowRef, toRef, watch } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, PropType, Ref } from 'vue'\nimport type { GroupItemProvide, GroupProvide } from '@/composables/group'\nimport type { IconValue } from '@/composables/icons'\nimport type { TouchHandlers } from '@/directives/touch'\nimport type { GenericProps } from '@/util'\n\nexport type VWindowSlots = {\n default: { group: GroupProvide }\n additional: { group: GroupProvide }\n prev: { props: ControlProps }\n next: { props: ControlProps }\n}\n\ntype WindowProvide = {\n transition: ComputedRef<undefined | string>\n transitionCount: Ref<number>\n transitionHeight: Ref<undefined | string>\n isReversed: Ref<boolean>\n rootRef: Ref<HTMLElement | undefined>\n}\n\ntype ControlProps = {\n icon: IconValue\n class: string\n onClick: () => void\n 'aria-label': string\n}\n\nexport const VWindowSymbol: InjectionKey<WindowProvide> = Symbol.for('vuetify:v-window')\nexport const VWindowGroupSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-window-group')\n\nexport const makeVWindowProps = propsFactory({\n continuous: Boolean,\n nextIcon: {\n type: [Boolean, String, Function, Object] as PropType<IconValue>,\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String, Function, Object] as PropType<IconValue>,\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => typeof v === 'boolean' || v === 'hover',\n },\n touch: {\n type: [Object, Boolean] as PropType<boolean | TouchHandlers>,\n default: undefined,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n\n modelValue: null,\n disabled: Boolean,\n selectedClass: {\n type: String,\n default: 'v-window-item--active',\n },\n // TODO: mandatory should probably not be exposed but do this for now\n mandatory: {\n type: [Boolean, String] as PropType<boolean | 'force'>,\n default: 'force' as const,\n },\n\n ...makeComponentProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VWindow')\n\nexport const VWindow = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: VWindowSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VWindow',\n\n directives: { vTouch },\n\n props: makeVWindowProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isRtl } = useRtl()\n const { t } = useLocale()\n\n const group = useGroup(props, VWindowGroupSymbol)\n\n const rootRef = ref()\n const isRtlReverse = computed(() => isRtl.value ? !props.reverse : props.reverse)\n const isReversed = shallowRef(false)\n const transition = computed(() => {\n const axis = props.direction === 'vertical' ? 'y' : 'x'\n const reverse = isRtlReverse.value ? !isReversed.value : isReversed.value\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n })\n const transitionCount = shallowRef(0)\n const transitionHeight = ref<undefined | string>(undefined)\n\n const activeIndex = computed(() => {\n return group.items.value.findIndex(item => group.selected.value.includes(item.id))\n })\n\n watch(activeIndex, (newVal, oldVal) => {\n const itemsLength = group.items.value.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) {\n isReversed.value = newVal < oldVal\n } else if (newVal === lastIndex && oldVal === 0) {\n isReversed.value = true\n } else if (newVal === 0 && oldVal === lastIndex) {\n isReversed.value = false\n } else {\n isReversed.value = newVal < oldVal\n }\n })\n\n provide(VWindowSymbol, {\n transition,\n isReversed,\n transitionCount,\n transitionHeight,\n rootRef,\n })\n\n const canMoveBack = toRef(() => props.continuous || activeIndex.value !== 0)\n const canMoveForward = toRef(() => props.continuous || activeIndex.value !== group.items.value.length - 1)\n\n function prev () {\n canMoveBack.value && group.prev()\n }\n\n function next () {\n canMoveForward.value && group.next()\n }\n\n const arrows = computed(() => {\n const arrows = []\n\n const prevProps = {\n icon: isRtl.value ? props.nextIcon : props.prevIcon,\n class: `v-window__${isRtlReverse.value ? 'right' : 'left'}`,\n onClick: group.prev,\n 'aria-label': t('$vuetify.carousel.prev'),\n }\n\n arrows.push(canMoveBack.value\n ? slots.prev\n ? slots.prev({ props: prevProps })\n : <VBtn { ...prevProps } />\n : <div />\n )\n\n const nextProps = {\n icon: isRtl.value ? props.prevIcon : props.nextIcon,\n class: `v-window__${isRtlReverse.value ? 'left' : 'right'}`,\n onClick: group.next,\n 'aria-label': t('$vuetify.carousel.next'),\n }\n\n arrows.push(canMoveForward.value\n ? slots.next\n ? slots.next({ props: nextProps })\n : <VBtn { ...nextProps } />\n : <div />\n )\n\n return arrows\n })\n\n const touchOptions = computed(() => {\n if (props.touch === false) return props.touch\n\n const options: TouchHandlers = {\n left: () => {\n isRtlReverse.value ? prev() : next()\n },\n right: () => {\n isRtlReverse.value ? next() : prev()\n },\n start: ({ originalEvent }) => {\n originalEvent.stopPropagation()\n },\n }\n\n return {\n ...options,\n ...(props.touch === true ? {} : props.touch),\n }\n })\n\n useRender(() => (\n <props.tag\n ref={ rootRef }\n class={[\n 'v-window',\n {\n 'v-window--show-arrows-on-hover': props.showArrows === 'hover',\n },\n themeClasses.value,\n props.class,\n ]}\n style={ props.style }\n v-touch={ touchOptions.value }\n >\n <div\n class=\"v-window__container\"\n style={{\n height: transitionHeight.value,\n }}\n >\n { slots.default?.({ group }) }\n\n { props.showArrows !== false && (\n <div class=\"v-window__controls\">\n { arrows.value }\n </div>\n )}\n </div>\n\n { slots.additional?.({ group }) }\n </props.tag>\n ))\n\n return {\n group,\n }\n },\n})\n\nexport type VWindow = InstanceType<typeof VWindow>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VWindow.js","names":["VBtn","makeComponentProps","useGroup","useLocale","useRtl","makeTagProps","makeThemeProps","provideTheme","vTouch","computed","provide","ref","shallowRef","toRef","watch","genericComponent","propsFactory","useRender","VWindowSymbol","Symbol","for","VWindowGroupSymbol","makeVWindowProps","continuous","Boolean","nextIcon","type","String","Function","Object","default","prevIcon","reverse","showArrows","validator","v","touch","undefined","direction","modelValue","disabled","selectedClass","mandatory","VWindow","name","directives","props","emits","value","setup","_ref","slots","themeClasses","isRtl","t","group","rootRef","isRtlReverse","isReversed","transition","axis","transitionCount","transitionHeight","activeIndex","items","findIndex","item","selected","includes","id","newVal","oldVal","itemsLength","length","lastIndex","canMoveBack","canMoveForward","prev","next","arrows","prevProps","icon","class","onClick","push","_createVNode","_createElementVNode","nextProps","touchOptions","options","left","right","start","_ref2","originalEvent","stopPropagation","_withDirectives","tag","_normalizeClass","_normalizeStyle","style","height","additional"],"sources":["../../../src/components/VWindow/VWindow.tsx"],"sourcesContent":["// Styles\nimport './VWindow.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { useGroup } from '@/composables/group'\nimport { useLocale, useRtl } from '@/composables/locale'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Directives\nimport vTouch from '@/directives/touch'\n\n// Utilities\nimport { computed, provide, ref, shallowRef, toRef, watch } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, PropType, Ref } from 'vue'\nimport type { GroupItemProvide, GroupProvide } from '@/composables/group'\nimport type { IconValue } from '@/composables/icons'\nimport type { TouchHandlers } from '@/directives/touch'\nimport type { GenericProps } from '@/util'\n\nexport type VWindowSlots = {\n default: { group: GroupProvide }\n additional: { group: GroupProvide }\n prev: { props: ControlProps }\n next: { props: ControlProps }\n}\n\ntype WindowProvide = {\n transition: ComputedRef<undefined | string>\n transitionCount: Ref<number>\n transitionHeight: Ref<undefined | string>\n isReversed: Ref<boolean>\n rootRef: Ref<HTMLElement | undefined>\n}\n\ntype ControlProps = {\n icon: IconValue\n class: string\n onClick: () => void\n 'aria-label': string\n}\n\nexport const VWindowSymbol: InjectionKey<WindowProvide> = Symbol.for('vuetify:v-window')\nexport const VWindowGroupSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-window-group')\n\nexport const makeVWindowProps = propsFactory({\n continuous: Boolean,\n nextIcon: {\n type: [Boolean, String, Function, Object] as PropType<IconValue>,\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String, Function, Object] as PropType<IconValue>,\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => typeof v === 'boolean' || v === 'hover',\n },\n touch: {\n type: [Object, Boolean] as PropType<boolean | TouchHandlers>,\n default: undefined,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n\n modelValue: null,\n disabled: Boolean,\n selectedClass: {\n type: String,\n default: 'v-window-item--active',\n },\n // TODO: mandatory should probably not be exposed but do this for now\n mandatory: {\n type: [Boolean, String] as PropType<boolean | 'force'>,\n default: 'force' as const,\n },\n\n ...makeComponentProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VWindow')\n\nexport const VWindow = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: VWindowSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VWindow',\n\n directives: { vTouch },\n\n props: makeVWindowProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isRtl } = useRtl()\n const { t } = useLocale()\n\n const group = useGroup(props, VWindowGroupSymbol)\n\n const rootRef = ref()\n const isRtlReverse = computed(() => isRtl.value ? !props.reverse : props.reverse)\n const isReversed = shallowRef(false)\n const transition = computed(() => {\n const axis = props.direction === 'vertical' ? 'y' : 'x'\n const reverse = isRtlReverse.value ? !isReversed.value : isReversed.value\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n })\n const transitionCount = shallowRef(0)\n const transitionHeight = ref<undefined | string>(undefined)\n\n const activeIndex = computed(() => {\n return group.items.value.findIndex(item => group.selected.value.includes(item.id))\n })\n\n watch(activeIndex, (newVal, oldVal) => {\n const itemsLength = group.items.value.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) {\n isReversed.value = newVal < oldVal\n } else if (newVal === lastIndex && oldVal === 0) {\n isReversed.value = true\n } else if (newVal === 0 && oldVal === lastIndex) {\n isReversed.value = false\n } else {\n isReversed.value = newVal < oldVal\n }\n })\n\n provide(VWindowSymbol, {\n transition,\n isReversed,\n transitionCount,\n transitionHeight,\n rootRef,\n })\n\n const canMoveBack = toRef(() => props.continuous || activeIndex.value !== 0)\n const canMoveForward = toRef(() => props.continuous || activeIndex.value !== group.items.value.length - 1)\n\n function prev () {\n canMoveBack.value && group.prev()\n }\n\n function next () {\n canMoveForward.value && group.next()\n }\n\n const arrows = computed(() => {\n const arrows = []\n\n const prevProps = {\n icon: isRtl.value ? props.nextIcon : props.prevIcon,\n class: `v-window__${isRtlReverse.value ? 'right' : 'left'}`,\n onClick: group.prev,\n 'aria-label': t('$vuetify.carousel.prev'),\n }\n\n arrows.push(canMoveBack.value\n ? slots.prev\n ? slots.prev({ props: prevProps })\n : <VBtn { ...prevProps } />\n : <div />\n )\n\n const nextProps = {\n icon: isRtl.value ? props.prevIcon : props.nextIcon,\n class: `v-window__${isRtlReverse.value ? 'left' : 'right'}`,\n onClick: group.next,\n 'aria-label': t('$vuetify.carousel.next'),\n }\n\n arrows.push(canMoveForward.value\n ? slots.next\n ? slots.next({ props: nextProps })\n : <VBtn { ...nextProps } />\n : <div />\n )\n\n return arrows\n })\n\n const touchOptions = computed(() => {\n if (props.touch === false) return props.touch\n\n const options: TouchHandlers = {\n left: () => {\n isRtlReverse.value ? prev() : next()\n },\n right: () => {\n isRtlReverse.value ? next() : prev()\n },\n start: ({ originalEvent }) => {\n originalEvent.stopPropagation()\n },\n }\n\n return {\n ...options,\n ...(props.touch === true ? {} : props.touch),\n }\n })\n\n useRender(() => (\n <props.tag\n ref={ rootRef }\n class={[\n 'v-window',\n {\n 'v-window--show-arrows-on-hover': props.showArrows === 'hover',\n },\n themeClasses.value,\n props.class,\n ]}\n style={ props.style }\n v-touch={ touchOptions.value }\n >\n <div\n class=\"v-window__container\"\n style={{\n height: transitionHeight.value,\n }}\n >\n { slots.default?.({ group }) }\n\n { props.showArrows !== false && (\n <div class=\"v-window__controls\">\n { arrows.value }\n </div>\n )}\n </div>\n\n { slots.additional?.({ group }) }\n </props.tag>\n ))\n\n return {\n group,\n }\n },\n})\n\nexport type VWindow = InstanceType<typeof VWindow>\n"],"mappings":"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","ignoreList":[]}
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.8.7-master.2025-05-31";
19
+ export const version = "3.8.7-master.2025-06-02";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.js";
@@ -2543,44 +2543,42 @@ declare module 'vue' {
2543
2543
  $children?: VNodeChild
2544
2544
  }
2545
2545
  export interface GlobalComponents {
2546
+ VAppBar: typeof import('vuetify/components')['VAppBar']
2547
+ VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
2548
+ VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
2546
2549
  VApp: typeof import('vuetify/components')['VApp']
2547
2550
  VAlert: typeof import('vuetify/components')['VAlert']
2548
2551
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2549
- VAvatar: typeof import('vuetify/components')['VAvatar']
2550
2552
  VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2551
2553
  VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2554
+ VAvatar: typeof import('vuetify/components')['VAvatar']
2555
+ VBadge: typeof import('vuetify/components')['VBadge']
2552
2556
  VBanner: typeof import('vuetify/components')['VBanner']
2553
2557
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
2554
2558
  VBannerText: typeof import('vuetify/components')['VBannerText']
2555
- VBadge: typeof import('vuetify/components')['VBadge']
2556
2559
  VBtn: typeof import('vuetify/components')['VBtn']
2560
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2557
2561
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2558
2562
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2559
2563
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2564
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2565
+ VCarousel: typeof import('vuetify/components')['VCarousel']
2566
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2560
2567
  VCard: typeof import('vuetify/components')['VCard']
2561
2568
  VCardActions: typeof import('vuetify/components')['VCardActions']
2562
2569
  VCardItem: typeof import('vuetify/components')['VCardItem']
2563
2570
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
2564
2571
  VCardText: typeof import('vuetify/components')['VCardText']
2565
2572
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
2566
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2567
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2568
2573
  VCheckbox: typeof import('vuetify/components')['VCheckbox']
2569
2574
  VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2570
2575
  VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2576
+ VChipGroup: typeof import('vuetify/components')['VChipGroup']
2571
2577
  VChip: typeof import('vuetify/components')['VChip']
2572
- VCarousel: typeof import('vuetify/components')['VCarousel']
2573
- VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2578
+ VCombobox: typeof import('vuetify/components')['VCombobox']
2574
2579
  VCode: typeof import('vuetify/components')['VCode']
2575
- VChipGroup: typeof import('vuetify/components')['VChipGroup']
2576
2580
  VColorPicker: typeof import('vuetify/components')['VColorPicker']
2577
- VCombobox: typeof import('vuetify/components')['VCombobox']
2578
- VDatePicker: typeof import('vuetify/components')['VDatePicker']
2579
- VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2580
- VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
2581
- VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2582
- VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2583
- VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2581
+ VCounter: typeof import('vuetify/components')['VCounter']
2584
2582
  VDataTable: typeof import('vuetify/components')['VDataTable']
2585
2583
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2586
2584
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
@@ -2588,18 +2586,26 @@ declare module 'vue' {
2588
2586
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2589
2587
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2590
2588
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2591
- VCounter: typeof import('vuetify/components')['VCounter']
2589
+ VDatePicker: typeof import('vuetify/components')['VDatePicker']
2590
+ VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2591
+ VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
2592
+ VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2593
+ VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2594
+ VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2592
2595
  VDialog: typeof import('vuetify/components')['VDialog']
2596
+ VFab: typeof import('vuetify/components')['VFab']
2593
2597
  VEmptyState: typeof import('vuetify/components')['VEmptyState']
2594
- VDivider: typeof import('vuetify/components')['VDivider']
2595
2598
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2596
2599
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2597
2600
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2598
2601
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2599
- VFab: typeof import('vuetify/components')['VFab']
2602
+ VDivider: typeof import('vuetify/components')['VDivider']
2603
+ VFileInput: typeof import('vuetify/components')['VFileInput']
2600
2604
  VField: typeof import('vuetify/components')['VField']
2601
2605
  VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2602
- VFileInput: typeof import('vuetify/components')['VFileInput']
2606
+ VFooter: typeof import('vuetify/components')['VFooter']
2607
+ VImg: typeof import('vuetify/components')['VImg']
2608
+ VInput: typeof import('vuetify/components')['VInput']
2603
2609
  VIcon: typeof import('vuetify/components')['VIcon']
2604
2610
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2605
2611
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
@@ -2607,12 +2613,6 @@ declare module 'vue' {
2607
2613
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
2608
2614
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
2609
2615
  VItem: typeof import('vuetify/components')['VItem']
2610
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2611
- VFooter: typeof import('vuetify/components')['VFooter']
2612
- VInput: typeof import('vuetify/components')['VInput']
2613
- VImg: typeof import('vuetify/components')['VImg']
2614
- VKbd: typeof import('vuetify/components')['VKbd']
2615
- VLabel: typeof import('vuetify/components')['VLabel']
2616
2616
  VList: typeof import('vuetify/components')['VList']
2617
2617
  VListGroup: typeof import('vuetify/components')['VListGroup']
2618
2618
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -2622,29 +2622,29 @@ declare module 'vue' {
2622
2622
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
2623
2623
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
2624
2624
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
2625
- VMenu: typeof import('vuetify/components')['VMenu']
2625
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2626
+ VKbd: typeof import('vuetify/components')['VKbd']
2627
+ VLabel: typeof import('vuetify/components')['VLabel']
2626
2628
  VMessages: typeof import('vuetify/components')['VMessages']
2627
- VNumberInput: typeof import('vuetify/components')['VNumberInput']
2628
- VMain: typeof import('vuetify/components')['VMain']
2629
2629
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2630
- VOverlay: typeof import('vuetify/components')['VOverlay']
2630
+ VMenu: typeof import('vuetify/components')['VMenu']
2631
+ VMain: typeof import('vuetify/components')['VMain']
2631
2632
  VOtpInput: typeof import('vuetify/components')['VOtpInput']
2632
- VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2633
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2633
+ VNumberInput: typeof import('vuetify/components')['VNumberInput']
2634
+ VOverlay: typeof import('vuetify/components')['VOverlay']
2634
2635
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2635
- VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2636
+ VPagination: typeof import('vuetify/components')['VPagination']
2637
+ VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2636
2638
  VRating: typeof import('vuetify/components')['VRating']
2637
2639
  VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2638
- VPagination: typeof import('vuetify/components')['VPagination']
2639
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2640
- VSlider: typeof import('vuetify/components')['VSlider']
2641
- VSheet: typeof import('vuetify/components')['VSheet']
2640
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2641
+ VSelect: typeof import('vuetify/components')['VSelect']
2642
2642
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2643
2643
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2644
+ VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2645
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2646
+ VSheet: typeof import('vuetify/components')['VSheet']
2644
2647
  VSnackbar: typeof import('vuetify/components')['VSnackbar']
2645
- VSelect: typeof import('vuetify/components')['VSelect']
2646
- VSystemBar: typeof import('vuetify/components')['VSystemBar']
2647
- VSwitch: typeof import('vuetify/components')['VSwitch']
2648
2648
  VStepper: typeof import('vuetify/components')['VStepper']
2649
2649
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
2650
2650
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
@@ -2655,44 +2655,44 @@ declare module 'vue' {
2655
2655
  VTabs: typeof import('vuetify/components')['VTabs']
2656
2656
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2657
2657
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2658
+ VSlider: typeof import('vuetify/components')['VSlider']
2659
+ VSystemBar: typeof import('vuetify/components')['VSystemBar']
2660
+ VSwitch: typeof import('vuetify/components')['VSwitch']
2661
+ VTable: typeof import('vuetify/components')['VTable']
2662
+ VTimeline: typeof import('vuetify/components')['VTimeline']
2663
+ VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2658
2664
  VTextarea: typeof import('vuetify/components')['VTextarea']
2659
2665
  VTextField: typeof import('vuetify/components')['VTextField']
2660
- VTable: typeof import('vuetify/components')['VTable']
2661
- VTooltip: typeof import('vuetify/components')['VTooltip']
2662
2666
  VToolbar: typeof import('vuetify/components')['VToolbar']
2663
2667
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2664
2668
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2665
- VTimeline: typeof import('vuetify/components')['VTimeline']
2666
- VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2667
2669
  VWindow: typeof import('vuetify/components')['VWindow']
2668
2670
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
2669
- VAppBar: typeof import('vuetify/components')['VAppBar']
2670
- VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
2671
- VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
2671
+ VTooltip: typeof import('vuetify/components')['VTooltip']
2672
2672
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2673
- VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
2674
2673
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
2674
+ VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
2675
2675
  VForm: typeof import('vuetify/components')['VForm']
2676
+ VHover: typeof import('vuetify/components')['VHover']
2676
2677
  VContainer: typeof import('vuetify/components')['VContainer']
2677
2678
  VCol: typeof import('vuetify/components')['VCol']
2678
2679
  VRow: typeof import('vuetify/components')['VRow']
2679
2680
  VSpacer: typeof import('vuetify/components')['VSpacer']
2680
- VHover: typeof import('vuetify/components')['VHover']
2681
2681
  VLayout: typeof import('vuetify/components')['VLayout']
2682
2682
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2683
2683
  VLazy: typeof import('vuetify/components')['VLazy']
2684
2684
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2685
+ VNoSsr: typeof import('vuetify/components')['VNoSsr']
2685
2686
  VParallax: typeof import('vuetify/components')['VParallax']
2686
2687
  VRadio: typeof import('vuetify/components')['VRadio']
2687
- VNoSsr: typeof import('vuetify/components')['VNoSsr']
2688
- VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2689
2688
  VResponsive: typeof import('vuetify/components')['VResponsive']
2690
- VSparkline: typeof import('vuetify/components')['VSparkline']
2689
+ VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2691
2690
  VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2691
+ VSparkline: typeof import('vuetify/components')['VSparkline']
2692
2692
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2693
2693
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
2694
- VValidation: typeof import('vuetify/components')['VValidation']
2695
2694
  VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2695
+ VValidation: typeof import('vuetify/components')['VValidation']
2696
2696
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
2697
2697
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
2698
2698
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -2709,28 +2709,28 @@ declare module 'vue' {
2709
2709
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
2710
2710
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
2711
2711
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
2712
- VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2713
- VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2714
- VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2712
+ VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2715
2713
  VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2716
2714
  VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
2717
2715
  VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
2718
2716
  VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
2719
2717
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
2720
2718
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
2719
+ VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2720
+ VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2721
+ VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2722
+ VPicker: typeof import('vuetify/labs/components')['VPicker']
2723
+ VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2721
2724
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2722
2725
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2723
2726
  VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2724
- VPicker: typeof import('vuetify/labs/components')['VPicker']
2725
- VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2726
2727
  VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
2727
2728
  VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
2728
2729
  VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
2730
+ VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2729
2731
  VTreeview: typeof import('vuetify/labs/components')['VTreeview']
2730
2732
  VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
2731
2733
  VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
2732
- VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2733
- VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2734
2734
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
2735
2735
  }
2736
2736
  }
package/lib/framework.js CHANGED
@@ -109,7 +109,7 @@ export function createVuetify() {
109
109
  };
110
110
  });
111
111
  }
112
- export const version = "3.8.7-master.2025-05-31";
112
+ export const version = "3.8.7-master.2025-06-02";
113
113
  createVuetify.version = version;
114
114
 
115
115
  // Vue's inject() can only be used in setup