vuetify 3.2.3 → 3.2.5

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 (204) hide show
  1. package/dist/json/attributes.json +9 -9
  2. package/dist/json/web-types.json +11 -11
  3. package/dist/vuetify-labs.css +505 -502
  4. package/dist/vuetify-labs.d.ts +4918 -437
  5. package/dist/vuetify-labs.esm.js +142 -124
  6. package/dist/vuetify-labs.esm.js.map +1 -1
  7. package/dist/vuetify-labs.js +142 -124
  8. package/dist/vuetify-labs.min.css +2 -2
  9. package/dist/vuetify.css +10 -7
  10. package/dist/vuetify.d.ts +3796 -248
  11. package/dist/vuetify.esm.js +131 -115
  12. package/dist/vuetify.esm.js.map +1 -1
  13. package/dist/vuetify.js +131 -115
  14. package/dist/vuetify.js.map +1 -1
  15. package/dist/vuetify.min.css +2 -2
  16. package/dist/vuetify.min.js +469 -469
  17. package/dist/vuetify.min.js.map +1 -1
  18. package/lib/components/VAlert/VAlert.mjs +1 -2
  19. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  20. package/lib/components/VAlert/index.d.ts +52 -0
  21. package/lib/components/VApp/index.d.ts +16 -0
  22. package/lib/components/VAppBar/VAppBar.mjs +2 -2
  23. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  24. package/lib/components/VAppBar/VAppBarNavIcon.mjs +1 -2
  25. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  26. package/lib/components/VAppBar/VAppBarTitle.mjs +1 -2
  27. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  28. package/lib/components/VAppBar/index.d.ts +84 -0
  29. package/lib/components/VAutocomplete/VAutocomplete.mjs +5 -5
  30. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  31. package/lib/components/VAutocomplete/index.d.ts +76 -12
  32. package/lib/components/VAvatar/index.d.ts +16 -0
  33. package/lib/components/VBadge/index.d.ts +20 -0
  34. package/lib/components/VBanner/index.d.ts +60 -0
  35. package/lib/components/VBottomNavigation/index.d.ts +16 -0
  36. package/lib/components/VBreadcrumbs/index.d.ts +39 -3
  37. package/lib/components/VBtn/index.d.ts +28 -0
  38. package/lib/components/VBtnGroup/index.d.ts +16 -0
  39. package/lib/components/VBtnToggle/index.d.ts +16 -0
  40. package/lib/components/VCard/index.d.ts +144 -0
  41. package/lib/components/VCarousel/index.d.ts +128 -0
  42. package/lib/components/VCheckbox/index.d.ts +84 -0
  43. package/lib/components/VChip/VChip.css +4 -3
  44. package/lib/components/VChip/VChip.sass +3 -3
  45. package/lib/components/VChip/index.d.ts +28 -0
  46. package/lib/components/VChipGroup/index.d.ts +16 -0
  47. package/lib/components/VCode/index.d.ts +16 -0
  48. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +5 -5
  49. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  50. package/lib/components/VCombobox/VCombobox.mjs +5 -5
  51. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  52. package/lib/components/VCombobox/index.d.ts +76 -12
  53. package/lib/components/VCounter/index.d.ts +16 -0
  54. package/lib/components/VDefaultsProvider/index.d.ts +16 -0
  55. package/lib/components/VDialog/index.d.ts +133 -3
  56. package/lib/components/VDivider/index.d.ts +16 -0
  57. package/lib/components/VExpansionPanel/index.d.ts +76 -0
  58. package/lib/components/VField/index.d.ts +23 -3
  59. package/lib/components/VFileInput/index.d.ts +118 -3
  60. package/lib/components/VFooter/VFooter.mjs +2 -2
  61. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  62. package/lib/components/VFooter/index.d.ts +16 -0
  63. package/lib/components/VForm/index.d.ts +19 -3
  64. package/lib/components/VGrid/index.d.ts +64 -0
  65. package/lib/components/VHover/index.d.ts +28 -0
  66. package/lib/components/VIcon/index.d.ts +32 -0
  67. package/lib/components/VImg/VImg.mjs +6 -6
  68. package/lib/components/VImg/VImg.mjs.map +1 -1
  69. package/lib/components/VImg/index.d.ts +40 -12
  70. package/lib/components/VInput/index.d.ts +28 -0
  71. package/lib/components/VItemGroup/index.d.ts +32 -0
  72. package/lib/components/VKbd/index.d.ts +16 -0
  73. package/lib/components/VLabel/index.d.ts +16 -0
  74. package/lib/components/VLayout/index.d.ts +32 -0
  75. package/lib/components/VLazy/index.d.ts +16 -0
  76. package/lib/components/VList/VList.mjs +2 -2
  77. package/lib/components/VList/VList.mjs.map +1 -1
  78. package/lib/components/VList/index.d.ts +176 -12
  79. package/lib/components/VList/list.mjs +4 -4
  80. package/lib/components/VList/list.mjs.map +1 -1
  81. package/lib/components/VLocaleProvider/index.d.ts +16 -0
  82. package/lib/components/VMain/index.d.ts +16 -0
  83. package/lib/components/VMenu/VMenu.mjs +3 -3
  84. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  85. package/lib/components/VMenu/index.d.ts +136 -6
  86. package/lib/components/VMessages/index.d.ts +16 -0
  87. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +2 -0
  88. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +2 -2
  89. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  90. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +2 -0
  91. package/lib/components/VNavigationDrawer/index.d.ts +31 -3
  92. package/lib/components/VNavigationDrawer/sticky.mjs +5 -4
  93. package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
  94. package/lib/components/VNavigationDrawer/touch.mjs +4 -4
  95. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  96. package/lib/components/VOverlay/index.d.ts +40 -0
  97. package/lib/components/VOverlay/locationStrategies.mjs +1 -1
  98. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  99. package/lib/components/VPagination/VPagination.mjs +2 -2
  100. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  101. package/lib/components/VPagination/index.d.ts +32 -0
  102. package/lib/components/VParallax/index.d.ts +28 -0
  103. package/lib/components/VProgressCircular/index.d.ts +16 -0
  104. package/lib/components/VProgressLinear/index.d.ts +28 -0
  105. package/lib/components/VRadio/index.d.ts +36 -0
  106. package/lib/components/VRadioGroup/index.d.ts +48 -0
  107. package/lib/components/VRangeSlider/index.d.ts +36 -0
  108. package/lib/components/VRating/VRating.mjs +6 -3
  109. package/lib/components/VRating/VRating.mjs.map +1 -1
  110. package/lib/components/VRating/index.d.ts +20 -0
  111. package/lib/components/VResponsive/index.d.ts +20 -0
  112. package/lib/components/VSelect/VSelect.mjs +2 -2
  113. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  114. package/lib/components/VSelect/index.d.ts +76 -12
  115. package/lib/components/VSelectionControl/VSelectionControl.mjs +3 -3
  116. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  117. package/lib/components/VSelectionControl/index.d.ts +10 -6
  118. package/lib/components/VSelectionControlGroup/index.d.ts +16 -0
  119. package/lib/components/VSheet/index.d.ts +16 -0
  120. package/lib/components/VSlideGroup/VSlideGroup.mjs +7 -7
  121. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  122. package/lib/components/VSlideGroup/index.d.ts +63 -3
  123. package/lib/components/VSlider/index.d.ts +36 -0
  124. package/lib/components/VSlider/slider.mjs +3 -3
  125. package/lib/components/VSlider/slider.mjs.map +1 -1
  126. package/lib/components/VSnackbar/index.d.ts +129 -3
  127. package/lib/components/VSwitch/VSwitch.css +3 -3
  128. package/lib/components/VSwitch/VSwitch.sass +4 -3
  129. package/lib/components/VSwitch/index.d.ts +52 -0
  130. package/lib/components/VSystemBar/VSystemBar.mjs +2 -2
  131. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  132. package/lib/components/VSystemBar/index.d.ts +16 -0
  133. package/lib/components/VTable/index.d.ts +28 -0
  134. package/lib/components/VTabs/VTab.mjs +4 -5
  135. package/lib/components/VTabs/VTab.mjs.map +1 -1
  136. package/lib/components/VTabs/index.d.ts +32 -0
  137. package/lib/components/VTextField/index.d.ts +121 -6
  138. package/lib/components/VTextarea/VTextarea.mjs +6 -3
  139. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  140. package/lib/components/VTextarea/index.d.ts +110 -3
  141. package/lib/components/VThemeProvider/index.d.ts +16 -0
  142. package/lib/components/VTimeline/VTimelineItem.mjs +2 -2
  143. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  144. package/lib/components/VTimeline/index.d.ts +40 -0
  145. package/lib/components/VToolbar/VToolbar.mjs +2 -2
  146. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  147. package/lib/components/VToolbar/index.d.ts +72 -0
  148. package/lib/components/VTooltip/index.d.ts +133 -3
  149. package/lib/components/VValidation/index.d.ts +16 -0
  150. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +3 -3
  151. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  152. package/lib/components/VVirtualScroll/index.d.ts +7 -3
  153. package/lib/components/VWindow/VWindow.mjs +3 -3
  154. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  155. package/lib/components/VWindow/VWindowItem.mjs +3 -3
  156. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  157. package/lib/components/VWindow/index.d.ts +76 -0
  158. package/lib/components/index.d.ts +3786 -245
  159. package/lib/components/transitions/index.d.ts +256 -0
  160. package/lib/composables/display.mjs +3 -3
  161. package/lib/composables/display.mjs.map +1 -1
  162. package/lib/composables/form.mjs +4 -4
  163. package/lib/composables/form.mjs.map +1 -1
  164. package/lib/composables/hydration.mjs +6 -6
  165. package/lib/composables/hydration.mjs.map +1 -1
  166. package/lib/composables/intersectionObserver.mjs +2 -2
  167. package/lib/composables/intersectionObserver.mjs.map +1 -1
  168. package/lib/composables/layout.mjs +3 -3
  169. package/lib/composables/layout.mjs.map +1 -1
  170. package/lib/composables/lazy.mjs +2 -2
  171. package/lib/composables/lazy.mjs.map +1 -1
  172. package/lib/composables/nested/nested.mjs +5 -4
  173. package/lib/composables/nested/nested.mjs.map +1 -1
  174. package/lib/composables/scroll.mjs +6 -6
  175. package/lib/composables/scroll.mjs.map +1 -1
  176. package/lib/composables/ssrBoot.mjs +2 -2
  177. package/lib/composables/ssrBoot.mjs.map +1 -1
  178. package/lib/composables/stack.mjs +5 -4
  179. package/lib/composables/stack.mjs.map +1 -1
  180. package/lib/composables/transition.mjs +5 -2
  181. package/lib/composables/transition.mjs.map +1 -1
  182. package/lib/composables/validation.mjs +3 -3
  183. package/lib/composables/validation.mjs.map +1 -1
  184. package/lib/entry-bundler.mjs +1 -1
  185. package/lib/framework.mjs +1 -1
  186. package/lib/index.d.ts +9 -2
  187. package/lib/labs/VDataTable/VDataTable.mjs +2 -1
  188. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  189. package/lib/labs/VDataTable/VDataTableServer.mjs +2 -1
  190. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  191. package/lib/labs/VDataTable/VDataTableVirtual.mjs +6 -6
  192. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  193. package/lib/labs/VDataTable/composables/virtual.mjs +3 -3
  194. package/lib/labs/VDataTable/composables/virtual.mjs.map +1 -1
  195. package/lib/labs/VDataTable/index.d.ts +894 -2
  196. package/lib/labs/VInfiniteScroll/index.d.ts +32 -0
  197. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  198. package/lib/labs/VSkeletonLoader/index.d.ts +25 -9
  199. package/lib/labs/components.d.ts +951 -11
  200. package/lib/locale/adapters/vuetify.mjs +8 -5
  201. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  202. package/lib/styles/settings/_variables.scss +3 -3
  203. package/lib/util/defineComponent.mjs.map +1 -1
  204. package/package.json +2 -2
@@ -24,6 +24,10 @@ declare const VComponentIcon: {
24
24
  } | undefined;
25
25
  } & {
26
26
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
27
+ } & {
28
+ $slots?: {
29
+ default?: (() => vue.VNodeChild) | undefined;
30
+ } | undefined;
27
31
  } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, never>;
28
32
  $attrs: {
29
33
  [x: string]: unknown;
@@ -51,6 +55,10 @@ declare const VComponentIcon: {
51
55
  } | undefined;
52
56
  } & {
53
57
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
58
+ } & {
59
+ $slots?: {
60
+ default?: (() => vue.VNodeChild) | undefined;
61
+ } | undefined;
54
62
  }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {}, {}, string> & {
55
63
  beforeCreate?: ((() => void) | (() => void)[]) | undefined;
56
64
  created?: ((() => void) | (() => void)[]) | undefined;
@@ -84,6 +92,10 @@ declare const VComponentIcon: {
84
92
  } | undefined;
85
93
  } & {
86
94
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
95
+ } & {
96
+ $slots?: {
97
+ default?: (() => vue.VNodeChild) | undefined;
98
+ } | undefined;
87
99
  } & vue.ShallowUnwrapRef<() => JSX.Element> & {} & vue.ComponentCustomProperties & {};
88
100
  __isFragment?: undefined;
89
101
  __isTeleport?: undefined;
@@ -101,6 +113,10 @@ declare const VComponentIcon: {
101
113
  } | undefined;
102
114
  } & {
103
115
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
116
+ } & {
117
+ $slots?: {
118
+ default?: (() => vue.VNodeChild) | undefined;
119
+ } | undefined;
104
120
  }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {}, {}, string> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
105
121
  icon: {
106
122
  type: PropType<IconValue>;
@@ -426,6 +442,10 @@ declare const VIcon: {
426
442
  } | undefined;
427
443
  } & {
428
444
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
445
+ } & {
446
+ $slots?: {
447
+ default?: (() => vue.VNodeChild) | undefined;
448
+ } | undefined;
429
449
  } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "end" | "start" | "style" | "size" | "tag">;
430
450
  $attrs: {
431
451
  [x: string]: unknown;
@@ -460,6 +480,10 @@ declare const VIcon: {
460
480
  } | undefined;
461
481
  } & {
462
482
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
483
+ } & {
484
+ $slots?: {
485
+ default?: (() => vue.VNodeChild) | undefined;
486
+ } | undefined;
463
487
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
464
488
  end: boolean;
465
489
  start: boolean;
@@ -506,6 +530,10 @@ declare const VIcon: {
506
530
  } | undefined;
507
531
  } & {
508
532
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
533
+ } & {
534
+ $slots?: {
535
+ default?: (() => vue.VNodeChild) | undefined;
536
+ } | undefined;
509
537
  } & vue.ShallowUnwrapRef<{}> & {} & vue.ComponentCustomProperties & {};
510
538
  __isFragment?: undefined;
511
539
  __isTeleport?: undefined;
@@ -530,6 +558,10 @@ declare const VIcon: {
530
558
  } | undefined;
531
559
  } & {
532
560
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
561
+ } & {
562
+ $slots?: {
563
+ default?: (() => vue.VNodeChild) | undefined;
564
+ } | undefined;
533
565
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
534
566
  end: boolean;
535
567
  start: boolean;
@@ -6,7 +6,7 @@ import { VResponsive } from "../VResponsive/index.mjs"; // Directives
6
6
  import intersect from "../../directives/intersect/index.mjs"; // Composables
7
7
  import { makeComponentProps } from "../../composables/component.mjs";
8
8
  import { makeTransitionProps, MaybeTransition } from "../../composables/transition.mjs"; // Utilities
9
- import { computed, nextTick, onBeforeMount, ref, vShow, watch, withDirectives } from 'vue';
9
+ import { computed, nextTick, onBeforeMount, ref, shallowRef, vShow, watch, withDirectives } from 'vue';
10
10
  import { convertToUnit, genericComponent, propsFactory, SUPPORTS_INTERSECTION, useRender } from "../../util/index.mjs"; // Types
11
11
  export const makeVImgProps = propsFactory({
12
12
  aspectRatio: [String, Number],
@@ -51,11 +51,11 @@ export const VImg = genericComponent()({
51
51
  emit,
52
52
  slots
53
53
  } = _ref;
54
- const currentSrc = ref(''); // Set from srcset
54
+ const currentSrc = shallowRef(''); // Set from srcset
55
55
  const image = ref();
56
- const state = ref(props.eager ? 'loading' : 'idle');
57
- const naturalWidth = ref();
58
- const naturalHeight = ref();
56
+ const state = shallowRef(props.eager ? 'loading' : 'idle');
57
+ const naturalWidth = shallowRef();
58
+ const naturalHeight = shallowRef();
59
59
  const normalisedSrc = computed(() => {
60
60
  return props.src && typeof props.src === 'object' ? {
61
61
  src: props.src.src,
@@ -209,7 +209,7 @@ export const VImg = genericComponent()({
209
209
  }
210
210
  }, null);
211
211
  };
212
- const isBooted = ref(false);
212
+ const isBooted = shallowRef(false);
213
213
  {
214
214
  const stop = watch(aspectRatio, val => {
215
215
  if (val) {
@@ -1 +1 @@
1
- {"version":3,"file":"VImg.mjs","names":["VResponsive","intersect","makeComponentProps","makeTransitionProps","MaybeTransition","computed","nextTick","onBeforeMount","ref","vShow","watch","withDirectives","convertToUnit","genericComponent","propsFactory","SUPPORTS_INTERSECTION","useRender","makeVImgProps","aspectRatio","String","Number","alt","cover","Boolean","eager","gradient","lazySrc","options","type","Object","default","root","undefined","rootMargin","threshold","sizes","src","srcset","width","VImg","name","directives","props","emits","loadstart","value","load","error","setup","_ref","emit","slots","currentSrc","image","state","naturalWidth","naturalHeight","normalisedSrc","aspect","init","val","oldVal","pollForSize","isIntersecting","lazyImg","Image","complete","onError","onLoad","getSrc","img","timer","timeout","arguments","length","poll","clearTimeout","imgHeight","imgWidth","window","setTimeout","endsWith","startsWith","containClasses","__image","_createVNode","sources","transition","__preloadImage","__placeholder","placeholder","__error","__gradient","backgroundImage","isBooted","stop","requestAnimationFrame","_withDirectives","class","style","additional","_Fragment","_resolveDirective","handler","once"],"sources":["../../../src/components/VImg/VImg.tsx"],"sourcesContent":["import './VImg.sass'\n\n// Components\nimport { VResponsive } from '@/components/VResponsive'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport {\n computed,\n nextTick,\n onBeforeMount,\n ref,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport {\n convertToUnit,\n genericComponent,\n propsFactory,\n SUPPORTS_INTERSECTION,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src?: string\n srcset?: string\n lazySrc?: string\n aspect: number\n}\n\nexport type VImgSlots = {\n default: []\n placeholder: []\n error: []\n sources: []\n}\n\nexport const makeVImgProps = propsFactory({\n aspectRatio: [String, Number],\n alt: String,\n cover: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n sizes: String,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n srcset: String,\n width: [String, Number],\n\n ...makeComponentProps(),\n ...makeTransitionProps(),\n}, 'v-img')\n\nexport const VImg = genericComponent<VImgSlots>()({\n name: 'VImg',\n\n directives: { intersect },\n\n props: makeVImgProps(),\n\n emits: {\n loadstart: (value: string | undefined) => true,\n load: (value: string | undefined) => true,\n error: (value: string | undefined) => true,\n },\n\n setup (props, { emit, slots }) {\n const currentSrc = ref('') // Set from srcset\n const image = ref<HTMLImageElement>()\n const state = ref<'idle' | 'loading' | 'loaded' | 'error'>(props.eager ? 'loading' : 'idle')\n const naturalWidth = ref<number>()\n const naturalHeight = ref<number>()\n\n const normalisedSrc = computed<srcObject>(() => {\n return props.src && typeof props.src === 'object'\n ? {\n src: props.src.src,\n srcset: props.srcset || props.src.srcset,\n lazySrc: props.lazySrc || props.src.lazySrc,\n aspect: Number(props.aspectRatio || props.src.aspect || 0),\n } : {\n src: props.src,\n srcset: props.srcset,\n lazySrc: props.lazySrc,\n aspect: Number(props.aspectRatio || 0),\n }\n })\n const aspectRatio = computed(() => {\n return normalisedSrc.value.aspect || naturalWidth.value! / naturalHeight.value! || 0\n })\n\n watch(() => props.src, () => {\n init(state.value !== 'idle')\n })\n watch(aspectRatio, (val, oldVal) => {\n if (!val && oldVal && image.value) {\n pollForSize(image.value)\n }\n })\n\n // TODO: getSrc when window width changes\n\n onBeforeMount(() => init())\n\n function init (isIntersecting?: boolean) {\n if (props.eager && isIntersecting) return\n if (\n SUPPORTS_INTERSECTION &&\n !isIntersecting &&\n !props.eager\n ) return\n\n state.value = 'loading'\n\n if (normalisedSrc.value.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = normalisedSrc.value.lazySrc\n pollForSize(lazyImg, null)\n }\n\n if (!normalisedSrc.value.src) return\n\n nextTick(() => {\n emit('loadstart', image.value?.currentSrc || normalisedSrc.value.src)\n\n if (image.value?.complete) {\n if (!image.value.naturalWidth) {\n onError()\n }\n\n if (state.value === 'error') return\n\n if (!aspectRatio.value) pollForSize(image.value, null)\n onLoad()\n } else {\n if (!aspectRatio.value) pollForSize(image.value!)\n getSrc()\n }\n })\n }\n\n function onLoad () {\n getSrc()\n state.value = 'loaded'\n emit('load', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function onError () {\n state.value = 'error'\n emit('error', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function getSrc () {\n const img = image.value\n if (img) currentSrc.value = img.currentSrc || img.src\n }\n\n let timer = -1\n function pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n clearTimeout(timer)\n const { naturalHeight: imgHeight, naturalWidth: imgWidth } = img\n\n if (imgHeight || imgWidth) {\n naturalWidth.value = imgWidth\n naturalHeight.value = imgHeight\n } else if (!img.complete && state.value === 'loading' && timeout != null) {\n timer = window.setTimeout(poll, timeout)\n } else if (img.currentSrc.endsWith('.svg') || img.currentSrc.startsWith('data:image/svg+xml')) {\n naturalWidth.value = 1\n naturalHeight.value = 1\n }\n }\n\n poll()\n }\n\n const containClasses = computed(() => ({\n 'v-img__img--cover': props.cover,\n 'v-img__img--contain': !props.cover,\n }))\n\n const __image = () => {\n if (!normalisedSrc.value.src || state.value === 'idle') return null\n\n const img = (\n <img\n class={['v-img__img', containClasses.value]}\n src={ normalisedSrc.value.src }\n srcset={ normalisedSrc.value.srcset }\n alt={ props.alt }\n sizes={ props.sizes }\n ref={ image }\n onLoad={ onLoad }\n onError={ onError }\n />\n )\n\n const sources = slots.sources?.()\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n {\n withDirectives(\n sources\n ? <picture class=\"v-img__picture\">{ sources }{ img }</picture>\n : img,\n [[vShow, state.value === 'loaded']]\n )\n }\n </MaybeTransition>\n )\n }\n\n const __preloadImage = () => (\n <MaybeTransition transition={ props.transition }>\n { normalisedSrc.value.lazySrc && state.value !== 'loaded' && (\n <img\n class={['v-img__img', 'v-img__img--preload', containClasses.value]}\n src={ normalisedSrc.value.lazySrc }\n alt={ props.alt }\n />\n )}\n </MaybeTransition>\n )\n\n const __placeholder = () => {\n if (!slots.placeholder) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { (state.value === 'loading' || (state.value === 'error' && !slots.error)) &&\n <div class=\"v-img__placeholder\">{ slots.placeholder() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __error = () => {\n if (!slots.error) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { state.value === 'error' &&\n <div class=\"v-img__error\">{ slots.error() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __gradient = () => {\n if (!props.gradient) return null\n\n return <div class=\"v-img__gradient\" style={{ backgroundImage: `linear-gradient(${props.gradient})` }} />\n }\n\n const isBooted = ref(false)\n {\n const stop = watch(aspectRatio, val => {\n if (val) {\n // Doesn't work with nextTick, idk why\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n stop()\n }\n })\n }\n\n useRender(() => (\n <VResponsive\n class={[\n 'v-img',\n { 'v-img--booting': !isBooted.value },\n props.class,\n ]}\n style={[\n { width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width) },\n props.style,\n ]}\n aspectRatio={ aspectRatio.value }\n aria-label={ props.alt }\n role={ props.alt ? 'img' : undefined }\n v-intersect={[{\n handler: init,\n options: props.options,\n }, null, ['once']]}\n >{{\n additional: () => (\n <>\n <__image />\n <__preloadImage />\n <__gradient />\n <__placeholder />\n <__error />\n </>\n ),\n default: slots.default,\n }}</VResponsive>\n ))\n\n return {\n currentSrc,\n image,\n state,\n naturalWidth,\n naturalHeight,\n }\n },\n})\n\nexport type VImg = InstanceType<typeof VImg>\n"],"mappings":";AAAA;;AAEA;AAAA,SACSA,WAAW,oCAEpB;AAAA,OACOC,SAAS,8CAEhB;AAAA,SACSC,kBAAkB;AAAA,SAClBC,mBAAmB,EAAEC,eAAe,4CAE7C;AACA,SACEC,QAAQ,EACRC,QAAQ,EACRC,aAAa,EACbC,GAAG,EACHC,KAAK,EACLC,KAAK,EACLC,cAAc,QACT,KAAK;AAAA,SAEVC,aAAa,EACbC,gBAAgB,EAChBC,YAAY,EACZC,qBAAqB,EACrBC,SAAS,gCAGX;AAkBA,OAAO,MAAMC,aAAa,GAAGH,YAAY,CAAC;EACxCI,WAAW,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;EAC7BC,GAAG,EAAEF,MAAM;EACXG,KAAK,EAAEC,OAAO;EACdC,KAAK,EAAED,OAAO;EACdE,QAAQ,EAAEN,MAAM;EAChBO,OAAO,EAAEP,MAAM;EACfQ,OAAO,EAAE;IACPC,IAAI,EAAEC,MAA4C;IAClD;IACA;IACAC,OAAO,EAAEA,CAAA,MAAO;MACdC,IAAI,EAAEC,SAAS;MACfC,UAAU,EAAED,SAAS;MACrBE,SAAS,EAAEF;IACb,CAAC;EACH,CAAC;EACDG,KAAK,EAAEhB,MAAM;EACbiB,GAAG,EAAE;IACHR,IAAI,EAAE,CAACT,MAAM,EAAEU,MAAM,CAAiC;IACtDC,OAAO,EAAE;EACX,CAAC;EACDO,MAAM,EAAElB,MAAM;EACdmB,KAAK,EAAE,CAACnB,MAAM,EAAEC,MAAM,CAAC;EAEvB,GAAGlB,kBAAkB,EAAE;EACvB,GAAGC,mBAAmB;AACxB,CAAC,EAAE,OAAO,CAAC;AAEX,OAAO,MAAMoC,IAAI,GAAG1B,gBAAgB,EAAa,CAAC;EAChD2B,IAAI,EAAE,MAAM;EAEZC,UAAU,EAAE;IAAExC;EAAU,CAAC;EAEzByC,KAAK,EAAEzB,aAAa,EAAE;EAEtB0B,KAAK,EAAE;IACLC,SAAS,EAAGC,KAAyB,IAAK,IAAI;IAC9CC,IAAI,EAAGD,KAAyB,IAAK,IAAI;IACzCE,KAAK,EAAGF,KAAyB,IAAK;EACxC,CAAC;EAEDG,KAAKA,CAAEN,KAAK,EAAAO,IAAA,EAAmB;IAAA,IAAjB;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC3B,MAAMG,UAAU,GAAG5C,GAAG,CAAC,EAAE,CAAC,EAAC;IAC3B,MAAM6C,KAAK,GAAG7C,GAAG,EAAoB;IACrC,MAAM8C,KAAK,GAAG9C,GAAG,CAA0CkC,KAAK,CAAClB,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;IAC5F,MAAM+B,YAAY,GAAG/C,GAAG,EAAU;IAClC,MAAMgD,aAAa,GAAGhD,GAAG,EAAU;IAEnC,MAAMiD,aAAa,GAAGpD,QAAQ,CAAY,MAAM;MAC9C,OAAOqC,KAAK,CAACN,GAAG,IAAI,OAAOM,KAAK,CAACN,GAAG,KAAK,QAAQ,GAC7C;QACAA,GAAG,EAAEM,KAAK,CAACN,GAAG,CAACA,GAAG;QAClBC,MAAM,EAAEK,KAAK,CAACL,MAAM,IAAIK,KAAK,CAACN,GAAG,CAACC,MAAM;QACxCX,OAAO,EAAEgB,KAAK,CAAChB,OAAO,IAAIgB,KAAK,CAACN,GAAG,CAACV,OAAO;QAC3CgC,MAAM,EAAEtC,MAAM,CAACsB,KAAK,CAACxB,WAAW,IAAIwB,KAAK,CAACN,GAAG,CAACsB,MAAM,IAAI,CAAC;MAC3D,CAAC,GAAG;QACFtB,GAAG,EAAEM,KAAK,CAACN,GAAG;QACdC,MAAM,EAAEK,KAAK,CAACL,MAAM;QACpBX,OAAO,EAAEgB,KAAK,CAAChB,OAAO;QACtBgC,MAAM,EAAEtC,MAAM,CAACsB,KAAK,CAACxB,WAAW,IAAI,CAAC;MACvC,CAAC;IACL,CAAC,CAAC;IACF,MAAMA,WAAW,GAAGb,QAAQ,CAAC,MAAM;MACjC,OAAOoD,aAAa,CAACZ,KAAK,CAACa,MAAM,IAAIH,YAAY,CAACV,KAAK,GAAIW,aAAa,CAACX,KAAM,IAAI,CAAC;IACtF,CAAC,CAAC;IAEFnC,KAAK,CAAC,MAAMgC,KAAK,CAACN,GAAG,EAAE,MAAM;MAC3BuB,IAAI,CAACL,KAAK,CAACT,KAAK,KAAK,MAAM,CAAC;IAC9B,CAAC,CAAC;IACFnC,KAAK,CAACQ,WAAW,EAAE,CAAC0C,GAAG,EAAEC,MAAM,KAAK;MAClC,IAAI,CAACD,GAAG,IAAIC,MAAM,IAAIR,KAAK,CAACR,KAAK,EAAE;QACjCiB,WAAW,CAACT,KAAK,CAACR,KAAK,CAAC;MAC1B;IACF,CAAC,CAAC;;IAEF;;IAEAtC,aAAa,CAAC,MAAMoD,IAAI,EAAE,CAAC;IAE3B,SAASA,IAAIA,CAAEI,cAAwB,EAAE;MACvC,IAAIrB,KAAK,CAAClB,KAAK,IAAIuC,cAAc,EAAE;MACnC,IACEhD,qBAAqB,IACrB,CAACgD,cAAc,IACf,CAACrB,KAAK,CAAClB,KAAK,EACZ;MAEF8B,KAAK,CAACT,KAAK,GAAG,SAAS;MAEvB,IAAIY,aAAa,CAACZ,KAAK,CAACnB,OAAO,EAAE;QAC/B,MAAMsC,OAAO,GAAG,IAAIC,KAAK,EAAE;QAC3BD,OAAO,CAAC5B,GAAG,GAAGqB,aAAa,CAACZ,KAAK,CAACnB,OAAO;QACzCoC,WAAW,CAACE,OAAO,EAAE,IAAI,CAAC;MAC5B;MAEA,IAAI,CAACP,aAAa,CAACZ,KAAK,CAACT,GAAG,EAAE;MAE9B9B,QAAQ,CAAC,MAAM;QACb4C,IAAI,CAAC,WAAW,EAAEG,KAAK,CAACR,KAAK,EAAEO,UAAU,IAAIK,aAAa,CAACZ,KAAK,CAACT,GAAG,CAAC;QAErE,IAAIiB,KAAK,CAACR,KAAK,EAAEqB,QAAQ,EAAE;UACzB,IAAI,CAACb,KAAK,CAACR,KAAK,CAACU,YAAY,EAAE;YAC7BY,OAAO,EAAE;UACX;UAEA,IAAIb,KAAK,CAACT,KAAK,KAAK,OAAO,EAAE;UAE7B,IAAI,CAAC3B,WAAW,CAAC2B,KAAK,EAAEiB,WAAW,CAACT,KAAK,CAACR,KAAK,EAAE,IAAI,CAAC;UACtDuB,MAAM,EAAE;QACV,CAAC,MAAM;UACL,IAAI,CAAClD,WAAW,CAAC2B,KAAK,EAAEiB,WAAW,CAACT,KAAK,CAACR,KAAK,CAAE;UACjDwB,MAAM,EAAE;QACV;MACF,CAAC,CAAC;IACJ;IAEA,SAASD,MAAMA,CAAA,EAAI;MACjBC,MAAM,EAAE;MACRf,KAAK,CAACT,KAAK,GAAG,QAAQ;MACtBK,IAAI,CAAC,MAAM,EAAEG,KAAK,CAACR,KAAK,EAAEO,UAAU,IAAIK,aAAa,CAACZ,KAAK,CAACT,GAAG,CAAC;IAClE;IAEA,SAAS+B,OAAOA,CAAA,EAAI;MAClBb,KAAK,CAACT,KAAK,GAAG,OAAO;MACrBK,IAAI,CAAC,OAAO,EAAEG,KAAK,CAACR,KAAK,EAAEO,UAAU,IAAIK,aAAa,CAACZ,KAAK,CAACT,GAAG,CAAC;IACnE;IAEA,SAASiC,MAAMA,CAAA,EAAI;MACjB,MAAMC,GAAG,GAAGjB,KAAK,CAACR,KAAK;MACvB,IAAIyB,GAAG,EAAElB,UAAU,CAACP,KAAK,GAAGyB,GAAG,CAAClB,UAAU,IAAIkB,GAAG,CAAClC,GAAG;IACvD;IAEA,IAAImC,KAAK,GAAG,CAAC,CAAC;IACd,SAAST,WAAWA,CAAEQ,GAAqB,EAAgC;MAAA,IAA9BE,OAAsB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAzC,SAAA,GAAAyC,SAAA,MAAG,GAAG;MACvE,MAAME,IAAI,GAAGA,CAAA,KAAM;QACjBC,YAAY,CAACL,KAAK,CAAC;QACnB,MAAM;UAAEf,aAAa,EAAEqB,SAAS;UAAEtB,YAAY,EAAEuB;QAAS,CAAC,GAAGR,GAAG;QAEhE,IAAIO,SAAS,IAAIC,QAAQ,EAAE;UACzBvB,YAAY,CAACV,KAAK,GAAGiC,QAAQ;UAC7BtB,aAAa,CAACX,KAAK,GAAGgC,SAAS;QACjC,CAAC,MAAM,IAAI,CAACP,GAAG,CAACJ,QAAQ,IAAIZ,KAAK,CAACT,KAAK,KAAK,SAAS,IAAI2B,OAAO,IAAI,IAAI,EAAE;UACxED,KAAK,GAAGQ,MAAM,CAACC,UAAU,CAACL,IAAI,EAAEH,OAAO,CAAC;QAC1C,CAAC,MAAM,IAAIF,GAAG,CAAClB,UAAU,CAAC6B,QAAQ,CAAC,MAAM,CAAC,IAAIX,GAAG,CAAClB,UAAU,CAAC8B,UAAU,CAAC,oBAAoB,CAAC,EAAE;UAC7F3B,YAAY,CAACV,KAAK,GAAG,CAAC;UACtBW,aAAa,CAACX,KAAK,GAAG,CAAC;QACzB;MACF,CAAC;MAED8B,IAAI,EAAE;IACR;IAEA,MAAMQ,cAAc,GAAG9E,QAAQ,CAAC,OAAO;MACrC,mBAAmB,EAAEqC,KAAK,CAACpB,KAAK;MAChC,qBAAqB,EAAE,CAACoB,KAAK,CAACpB;IAChC,CAAC,CAAC,CAAC;IAEH,MAAM8D,OAAO,GAAGA,CAAA,KAAM;MACpB,IAAI,CAAC3B,aAAa,CAACZ,KAAK,CAACT,GAAG,IAAIkB,KAAK,CAACT,KAAK,KAAK,MAAM,EAAE,OAAO,IAAI;MAEnE,MAAMyB,GAAG,GAAAe,YAAA;QAAA,SAEE,CAAC,YAAY,EAAEF,cAAc,CAACtC,KAAK,CAAC;QAAA,OACrCY,aAAa,CAACZ,KAAK,CAACT,GAAG;QAAA,UACpBqB,aAAa,CAACZ,KAAK,CAACR,MAAM;QAAA,OAC7BK,KAAK,CAACrB,GAAG;QAAA,SACPqB,KAAK,CAACP,KAAK;QAAA,OACbkB,KAAK;QAAA,UACFe,MAAM;QAAA,WACLD;MAAO,QAEpB;MAED,MAAMmB,OAAO,GAAGnC,KAAK,CAACmC,OAAO,IAAI;MAEjC,OAAAD,YAAA,CAAAjF,eAAA;QAAA,cACgCsC,KAAK,CAAC6C,UAAU;QAAA;MAAA;QAAAzD,OAAA,EAAAA,CAAA,MAE1CnB,cAAc,CACZ2E,OAAO,GAAAD,YAAA;UAAA,SACY;QAAgB,IAAGC,OAAO,EAAIhB,GAAG,KAChDA,GAAG,EACP,CAAC,CAAC7D,KAAK,EAAE6C,KAAK,CAACT,KAAK,KAAK,QAAQ,CAAC,CAAC,CACpC;MAAA;IAIT,CAAC;IAED,MAAM2C,cAAc,GAAGA,CAAA,KAAAH,YAAA,CAAAjF,eAAA;MAAA,cACSsC,KAAK,CAAC6C;IAAU;MAAAzD,OAAA,EAAAA,CAAA,MAC1C2B,aAAa,CAACZ,KAAK,CAACnB,OAAO,IAAI4B,KAAK,CAACT,KAAK,KAAK,QAAQ,IAAAwC,YAAA;QAAA,SAE9C,CAAC,YAAY,EAAE,qBAAqB,EAAEF,cAAc,CAACtC,KAAK,CAAC;QAAA,OAC5DY,aAAa,CAACZ,KAAK,CAACnB,OAAO;QAAA,OAC3BgB,KAAK,CAACrB;MAAG,QAElB;IAAA,EAEJ;IAED,MAAMoE,aAAa,GAAGA,CAAA,KAAM;MAC1B,IAAI,CAACtC,KAAK,CAACuC,WAAW,EAAE,OAAO,IAAI;MAEnC,OAAAL,YAAA,CAAAjF,eAAA;QAAA,cACgCsC,KAAK,CAAC6C,UAAU;QAAA;MAAA;QAAAzD,OAAA,EAAAA,CAAA,MAC1C,CAACwB,KAAK,CAACT,KAAK,KAAK,SAAS,IAAKS,KAAK,CAACT,KAAK,KAAK,OAAO,IAAI,CAACM,KAAK,CAACJ,KAAM,KAAAsC,YAAA;UAAA,SAC9D;QAAoB,IAAGlC,KAAK,CAACuC,WAAW,EAAE,EAAQ;MAAA;IAInE,CAAC;IAED,MAAMC,OAAO,GAAGA,CAAA,KAAM;MACpB,IAAI,CAACxC,KAAK,CAACJ,KAAK,EAAE,OAAO,IAAI;MAE7B,OAAAsC,YAAA,CAAAjF,eAAA;QAAA,cACgCsC,KAAK,CAAC6C,UAAU;QAAA;MAAA;QAAAzD,OAAA,EAAAA,CAAA,MAC1CwB,KAAK,CAACT,KAAK,KAAK,OAAO,IAAAwC,YAAA;UAAA,SACZ;QAAc,IAAGlC,KAAK,CAACJ,KAAK,EAAE,EAAQ;MAAA;IAIzD,CAAC;IAED,MAAM6C,UAAU,GAAGA,CAAA,KAAM;MACvB,IAAI,CAAClD,KAAK,CAACjB,QAAQ,EAAE,OAAO,IAAI;MAEhC,OAAA4D,YAAA;QAAA,SAAkB,iBAAiB;QAAA,SAAQ;UAAEQ,eAAe,EAAG,mBAAkBnD,KAAK,CAACjB,QAAS;QAAG;MAAC;IACtG,CAAC;IAED,MAAMqE,QAAQ,GAAGtF,GAAG,CAAC,KAAK,CAAC;IAC3B;MACE,MAAMuF,IAAI,GAAGrF,KAAK,CAACQ,WAAW,EAAE0C,GAAG,IAAI;QACrC,IAAIA,GAAG,EAAE;UACP;UACAoC,qBAAqB,CAAC,MAAM;YAC1BA,qBAAqB,CAAC,MAAM;cAC1BF,QAAQ,CAACjD,KAAK,GAAG,IAAI;YACvB,CAAC,CAAC;UACJ,CAAC,CAAC;UACFkD,IAAI,EAAE;QACR;MACF,CAAC,CAAC;IACJ;IAEA/E,SAAS,CAAC,MAAAiF,eAAA,CAAAZ,YAAA,CAAArF,WAAA;MAAA,SAEC,CACL,OAAO,EACP;QAAE,gBAAgB,EAAE,CAAC8F,QAAQ,CAACjD;MAAM,CAAC,EACrCH,KAAK,CAACwD,KAAK,CACZ;MAAA,SACM,CACL;QAAE5D,KAAK,EAAE1B,aAAa,CAAC8B,KAAK,CAACJ,KAAK,KAAK,MAAM,GAAGiB,YAAY,CAACV,KAAK,GAAGH,KAAK,CAACJ,KAAK;MAAE,CAAC,EACnFI,KAAK,CAACyD,KAAK,CACZ;MAAA,eACajF,WAAW,CAAC2B,KAAK;MAAA,cAClBH,KAAK,CAACrB,GAAG;MAAA,QACfqB,KAAK,CAACrB,GAAG,GAAG,KAAK,GAAGW;IAAS;MAMpCoE,UAAU,EAAEA,CAAA,KAAAf,YAAA,CAAAgB,SAAA,SAAAhB,YAAA,CAAAD,OAAA,eAAAC,YAAA,CAAAG,cAAA,eAAAH,YAAA,CAAAO,UAAA,eAAAP,YAAA,CAAAI,aAAA,eAAAJ,YAAA,CAAAM,OAAA,eAQX;MACD7D,OAAO,EAAEqB,KAAK,CAACrB;IAAO,MAAAwE,iBAAA,eAdR;MACZC,OAAO,EAAE5C,IAAI;MACbhC,OAAO,EAAEe,KAAK,CAACf;IACjB,CAAC,EAAE,IAAI;MAAA6E,IAAA;IAAA,IAaV,CAAC;IAEF,OAAO;MACLpD,UAAU;MACVC,KAAK;MACLC,KAAK;MACLC,YAAY;MACZC;IACF,CAAC;EACH;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VImg.mjs","names":["VResponsive","intersect","makeComponentProps","makeTransitionProps","MaybeTransition","computed","nextTick","onBeforeMount","ref","shallowRef","vShow","watch","withDirectives","convertToUnit","genericComponent","propsFactory","SUPPORTS_INTERSECTION","useRender","makeVImgProps","aspectRatio","String","Number","alt","cover","Boolean","eager","gradient","lazySrc","options","type","Object","default","root","undefined","rootMargin","threshold","sizes","src","srcset","width","VImg","name","directives","props","emits","loadstart","value","load","error","setup","_ref","emit","slots","currentSrc","image","state","naturalWidth","naturalHeight","normalisedSrc","aspect","init","val","oldVal","pollForSize","isIntersecting","lazyImg","Image","complete","onError","onLoad","getSrc","img","timer","timeout","arguments","length","poll","clearTimeout","imgHeight","imgWidth","window","setTimeout","endsWith","startsWith","containClasses","__image","_createVNode","sources","transition","__preloadImage","__placeholder","placeholder","__error","__gradient","backgroundImage","isBooted","stop","requestAnimationFrame","_withDirectives","class","style","additional","_Fragment","_resolveDirective","handler","once"],"sources":["../../../src/components/VImg/VImg.tsx"],"sourcesContent":["import './VImg.sass'\n\n// Components\nimport { VResponsive } from '@/components/VResponsive'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport {\n computed,\n nextTick,\n onBeforeMount,\n ref,\n shallowRef,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport {\n convertToUnit,\n genericComponent,\n propsFactory,\n SUPPORTS_INTERSECTION,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src?: string\n srcset?: string\n lazySrc?: string\n aspect: number\n}\n\nexport type VImgSlots = {\n default: []\n placeholder: []\n error: []\n sources: []\n}\n\nexport const makeVImgProps = propsFactory({\n aspectRatio: [String, Number],\n alt: String,\n cover: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n sizes: String,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n srcset: String,\n width: [String, Number],\n\n ...makeComponentProps(),\n ...makeTransitionProps(),\n}, 'v-img')\n\nexport const VImg = genericComponent<VImgSlots>()({\n name: 'VImg',\n\n directives: { intersect },\n\n props: makeVImgProps(),\n\n emits: {\n loadstart: (value: string | undefined) => true,\n load: (value: string | undefined) => true,\n error: (value: string | undefined) => true,\n },\n\n setup (props, { emit, slots }) {\n const currentSrc = shallowRef('') // Set from srcset\n const image = ref<HTMLImageElement>()\n const state = shallowRef<'idle' | 'loading' | 'loaded' | 'error'>(props.eager ? 'loading' : 'idle')\n const naturalWidth = shallowRef<number>()\n const naturalHeight = shallowRef<number>()\n\n const normalisedSrc = computed<srcObject>(() => {\n return props.src && typeof props.src === 'object'\n ? {\n src: props.src.src,\n srcset: props.srcset || props.src.srcset,\n lazySrc: props.lazySrc || props.src.lazySrc,\n aspect: Number(props.aspectRatio || props.src.aspect || 0),\n } : {\n src: props.src,\n srcset: props.srcset,\n lazySrc: props.lazySrc,\n aspect: Number(props.aspectRatio || 0),\n }\n })\n const aspectRatio = computed(() => {\n return normalisedSrc.value.aspect || naturalWidth.value! / naturalHeight.value! || 0\n })\n\n watch(() => props.src, () => {\n init(state.value !== 'idle')\n })\n watch(aspectRatio, (val, oldVal) => {\n if (!val && oldVal && image.value) {\n pollForSize(image.value)\n }\n })\n\n // TODO: getSrc when window width changes\n\n onBeforeMount(() => init())\n\n function init (isIntersecting?: boolean) {\n if (props.eager && isIntersecting) return\n if (\n SUPPORTS_INTERSECTION &&\n !isIntersecting &&\n !props.eager\n ) return\n\n state.value = 'loading'\n\n if (normalisedSrc.value.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = normalisedSrc.value.lazySrc\n pollForSize(lazyImg, null)\n }\n\n if (!normalisedSrc.value.src) return\n\n nextTick(() => {\n emit('loadstart', image.value?.currentSrc || normalisedSrc.value.src)\n\n if (image.value?.complete) {\n if (!image.value.naturalWidth) {\n onError()\n }\n\n if (state.value === 'error') return\n\n if (!aspectRatio.value) pollForSize(image.value, null)\n onLoad()\n } else {\n if (!aspectRatio.value) pollForSize(image.value!)\n getSrc()\n }\n })\n }\n\n function onLoad () {\n getSrc()\n state.value = 'loaded'\n emit('load', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function onError () {\n state.value = 'error'\n emit('error', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function getSrc () {\n const img = image.value\n if (img) currentSrc.value = img.currentSrc || img.src\n }\n\n let timer = -1\n function pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n clearTimeout(timer)\n const { naturalHeight: imgHeight, naturalWidth: imgWidth } = img\n\n if (imgHeight || imgWidth) {\n naturalWidth.value = imgWidth\n naturalHeight.value = imgHeight\n } else if (!img.complete && state.value === 'loading' && timeout != null) {\n timer = window.setTimeout(poll, timeout)\n } else if (img.currentSrc.endsWith('.svg') || img.currentSrc.startsWith('data:image/svg+xml')) {\n naturalWidth.value = 1\n naturalHeight.value = 1\n }\n }\n\n poll()\n }\n\n const containClasses = computed(() => ({\n 'v-img__img--cover': props.cover,\n 'v-img__img--contain': !props.cover,\n }))\n\n const __image = () => {\n if (!normalisedSrc.value.src || state.value === 'idle') return null\n\n const img = (\n <img\n class={['v-img__img', containClasses.value]}\n src={ normalisedSrc.value.src }\n srcset={ normalisedSrc.value.srcset }\n alt={ props.alt }\n sizes={ props.sizes }\n ref={ image }\n onLoad={ onLoad }\n onError={ onError }\n />\n )\n\n const sources = slots.sources?.()\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n {\n withDirectives(\n sources\n ? <picture class=\"v-img__picture\">{ sources }{ img }</picture>\n : img,\n [[vShow, state.value === 'loaded']]\n )\n }\n </MaybeTransition>\n )\n }\n\n const __preloadImage = () => (\n <MaybeTransition transition={ props.transition }>\n { normalisedSrc.value.lazySrc && state.value !== 'loaded' && (\n <img\n class={['v-img__img', 'v-img__img--preload', containClasses.value]}\n src={ normalisedSrc.value.lazySrc }\n alt={ props.alt }\n />\n )}\n </MaybeTransition>\n )\n\n const __placeholder = () => {\n if (!slots.placeholder) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { (state.value === 'loading' || (state.value === 'error' && !slots.error)) &&\n <div class=\"v-img__placeholder\">{ slots.placeholder() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __error = () => {\n if (!slots.error) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { state.value === 'error' &&\n <div class=\"v-img__error\">{ slots.error() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __gradient = () => {\n if (!props.gradient) return null\n\n return <div class=\"v-img__gradient\" style={{ backgroundImage: `linear-gradient(${props.gradient})` }} />\n }\n\n const isBooted = shallowRef(false)\n {\n const stop = watch(aspectRatio, val => {\n if (val) {\n // Doesn't work with nextTick, idk why\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n stop()\n }\n })\n }\n\n useRender(() => (\n <VResponsive\n class={[\n 'v-img',\n { 'v-img--booting': !isBooted.value },\n props.class,\n ]}\n style={[\n { width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width) },\n props.style,\n ]}\n aspectRatio={ aspectRatio.value }\n aria-label={ props.alt }\n role={ props.alt ? 'img' : undefined }\n v-intersect={[{\n handler: init,\n options: props.options,\n }, null, ['once']]}\n >{{\n additional: () => (\n <>\n <__image />\n <__preloadImage />\n <__gradient />\n <__placeholder />\n <__error />\n </>\n ),\n default: slots.default,\n }}</VResponsive>\n ))\n\n return {\n currentSrc,\n image,\n state,\n naturalWidth,\n naturalHeight,\n }\n },\n})\n\nexport type VImg = InstanceType<typeof VImg>\n"],"mappings":"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"}
@@ -60,6 +60,13 @@ declare const VImg: {
60
60
  "v-slot:placeholder"?: false | (() => vue.VNodeChild) | undefined;
61
61
  "v-slot:error"?: false | (() => vue.VNodeChild) | undefined;
62
62
  "v-slot:sources"?: false | (() => vue.VNodeChild) | undefined;
63
+ } & {
64
+ $slots?: {
65
+ default?: (() => vue.VNodeChild) | undefined;
66
+ placeholder?: (() => vue.VNodeChild) | undefined;
67
+ error?: (() => vue.VNodeChild) | undefined;
68
+ sources?: (() => vue.VNodeChild) | undefined;
69
+ } | undefined;
63
70
  } & {
64
71
  onError?: ((value: string | undefined) => any) | undefined;
65
72
  onLoad?: ((value: string | undefined) => any) | undefined;
@@ -114,16 +121,23 @@ declare const VImg: {
114
121
  "v-slot:placeholder"?: false | (() => vue.VNodeChild) | undefined;
115
122
  "v-slot:error"?: false | (() => vue.VNodeChild) | undefined;
116
123
  "v-slot:sources"?: false | (() => vue.VNodeChild) | undefined;
124
+ } & {
125
+ $slots?: {
126
+ default?: (() => vue.VNodeChild) | undefined;
127
+ placeholder?: (() => vue.VNodeChild) | undefined;
128
+ error?: (() => vue.VNodeChild) | undefined;
129
+ sources?: (() => vue.VNodeChild) | undefined;
130
+ } | undefined;
117
131
  } & {
118
132
  onError?: ((value: string | undefined) => any) | undefined;
119
133
  onLoad?: ((value: string | undefined) => any) | undefined;
120
134
  onLoadstart?: ((value: string | undefined) => any) | undefined;
121
135
  }, {
122
- currentSrc: vue.Ref<string>;
136
+ currentSrc: vue.ShallowRef<string>;
123
137
  image: vue.Ref<HTMLImageElement | undefined>;
124
- state: vue.Ref<"error" | "loaded" | "idle" | "loading">;
125
- naturalWidth: vue.Ref<number | undefined>;
126
- naturalHeight: vue.Ref<number | undefined>;
138
+ state: vue.ShallowRef<"error" | "loaded" | "idle" | "loading">;
139
+ naturalWidth: vue.ShallowRef<number | undefined>;
140
+ naturalHeight: vue.ShallowRef<number | undefined>;
127
141
  }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
128
142
  loadstart: (value: string | undefined) => true;
129
143
  load: (value: string | undefined) => true;
@@ -193,16 +207,23 @@ declare const VImg: {
193
207
  "v-slot:placeholder"?: false | (() => vue.VNodeChild) | undefined;
194
208
  "v-slot:error"?: false | (() => vue.VNodeChild) | undefined;
195
209
  "v-slot:sources"?: false | (() => vue.VNodeChild) | undefined;
210
+ } & {
211
+ $slots?: {
212
+ default?: (() => vue.VNodeChild) | undefined;
213
+ placeholder?: (() => vue.VNodeChild) | undefined;
214
+ error?: (() => vue.VNodeChild) | undefined;
215
+ sources?: (() => vue.VNodeChild) | undefined;
216
+ } | undefined;
196
217
  } & {
197
218
  onError?: ((value: string | undefined) => any) | undefined;
198
219
  onLoad?: ((value: string | undefined) => any) | undefined;
199
220
  onLoadstart?: ((value: string | undefined) => any) | undefined;
200
221
  } & vue.ShallowUnwrapRef<{
201
- currentSrc: vue.Ref<string>;
222
+ currentSrc: vue.ShallowRef<string>;
202
223
  image: vue.Ref<HTMLImageElement | undefined>;
203
- state: vue.Ref<"error" | "loaded" | "idle" | "loading">;
204
- naturalWidth: vue.Ref<number | undefined>;
205
- naturalHeight: vue.Ref<number | undefined>;
224
+ state: vue.ShallowRef<"error" | "loaded" | "idle" | "loading">;
225
+ naturalWidth: vue.ShallowRef<number | undefined>;
226
+ naturalHeight: vue.ShallowRef<number | undefined>;
206
227
  }> & {} & vue.ComponentCustomProperties & {};
207
228
  __isFragment?: undefined;
208
229
  __isTeleport?: undefined;
@@ -243,16 +264,23 @@ declare const VImg: {
243
264
  "v-slot:placeholder"?: false | (() => vue.VNodeChild) | undefined;
244
265
  "v-slot:error"?: false | (() => vue.VNodeChild) | undefined;
245
266
  "v-slot:sources"?: false | (() => vue.VNodeChild) | undefined;
267
+ } & {
268
+ $slots?: {
269
+ default?: (() => vue.VNodeChild) | undefined;
270
+ placeholder?: (() => vue.VNodeChild) | undefined;
271
+ error?: (() => vue.VNodeChild) | undefined;
272
+ sources?: (() => vue.VNodeChild) | undefined;
273
+ } | undefined;
246
274
  } & {
247
275
  onError?: ((value: string | undefined) => any) | undefined;
248
276
  onLoad?: ((value: string | undefined) => any) | undefined;
249
277
  onLoadstart?: ((value: string | undefined) => any) | undefined;
250
278
  }, {
251
- currentSrc: vue.Ref<string>;
279
+ currentSrc: vue.ShallowRef<string>;
252
280
  image: vue.Ref<HTMLImageElement | undefined>;
253
- state: vue.Ref<"error" | "loaded" | "idle" | "loading">;
254
- naturalWidth: vue.Ref<number | undefined>;
255
- naturalHeight: vue.Ref<number | undefined>;
281
+ state: vue.ShallowRef<"error" | "loaded" | "idle" | "loading">;
282
+ naturalWidth: vue.ShallowRef<number | undefined>;
283
+ naturalHeight: vue.ShallowRef<number | undefined>;
256
284
  }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
257
285
  loadstart: (value: string | undefined) => true;
258
286
  load: (value: string | undefined) => true;
@@ -92,6 +92,13 @@ declare const VInput: {
92
92
  "v-slot:prepend"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
93
93
  "v-slot:append"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
94
94
  "v-slot:details"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
95
+ } & {
96
+ $slots?: {
97
+ default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
98
+ prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
99
+ append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
100
+ details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
101
+ } | undefined;
95
102
  } & {
96
103
  "onUpdate:modelValue"?: ((val: any) => any) | undefined;
97
104
  } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "error" | "direction" | "style" | "disabled" | "readonly" | "messages" | "density" | "focused" | "errorMessages" | "maxErrors" | "rules" | "persistentHint">;
@@ -154,6 +161,13 @@ declare const VInput: {
154
161
  "v-slot:prepend"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
155
162
  "v-slot:append"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
156
163
  "v-slot:details"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
164
+ } & {
165
+ $slots?: {
166
+ default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
167
+ prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
168
+ append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
169
+ details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
170
+ } | undefined;
157
171
  } & {
158
172
  "onUpdate:modelValue"?: ((val: any) => any) | undefined;
159
173
  }, {
@@ -241,6 +255,13 @@ declare const VInput: {
241
255
  "v-slot:prepend"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
242
256
  "v-slot:append"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
243
257
  "v-slot:details"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
258
+ } & {
259
+ $slots?: {
260
+ default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
261
+ prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
262
+ append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
263
+ details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
264
+ } | undefined;
244
265
  } & {
245
266
  "onUpdate:modelValue"?: ((val: any) => any) | undefined;
246
267
  } & vue.ShallowUnwrapRef<{
@@ -297,6 +318,13 @@ declare const VInput: {
297
318
  "v-slot:prepend"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
298
319
  "v-slot:append"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
299
320
  "v-slot:details"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
321
+ } & {
322
+ $slots?: {
323
+ default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
324
+ prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
325
+ append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
326
+ details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
327
+ } | undefined;
300
328
  } & {
301
329
  "onUpdate:modelValue"?: ((val: any) => any) | undefined;
302
330
  }, {
@@ -37,6 +37,10 @@ declare const VItemGroup: {
37
37
  } | undefined;
38
38
  } & {
39
39
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
40
+ } & {
41
+ $slots?: {
42
+ default?: (() => vue.VNodeChild) | undefined;
43
+ } | undefined;
40
44
  } & {
41
45
  "onUpdate:modelValue"?: ((value: any) => any) | undefined;
42
46
  } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "style" | "disabled" | "multiple" | "tag" | "modelValue" | "selectedClass">;
@@ -74,6 +78,10 @@ declare const VItemGroup: {
74
78
  } | undefined;
75
79
  } & {
76
80
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
81
+ } & {
82
+ $slots?: {
83
+ default?: (() => vue.VNodeChild) | undefined;
84
+ } | undefined;
77
85
  } & {
78
86
  "onUpdate:modelValue"?: ((value: any) => any) | undefined;
79
87
  }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
@@ -126,6 +134,10 @@ declare const VItemGroup: {
126
134
  } | undefined;
127
135
  } & {
128
136
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
137
+ } & {
138
+ $slots?: {
139
+ default?: (() => vue.VNodeChild) | undefined;
140
+ } | undefined;
129
141
  } & {
130
142
  "onUpdate:modelValue"?: ((value: any) => any) | undefined;
131
143
  } & vue.ShallowUnwrapRef<() => JSX.Element> & {} & vue.ComponentCustomProperties & {};
@@ -153,6 +165,10 @@ declare const VItemGroup: {
153
165
  } | undefined;
154
166
  } & {
155
167
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
168
+ } & {
169
+ $slots?: {
170
+ default?: (() => vue.VNodeChild) | undefined;
171
+ } | undefined;
156
172
  } & {
157
173
  "onUpdate:modelValue"?: ((value: any) => any) | undefined;
158
174
  }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
@@ -266,6 +282,10 @@ declare const VItem: {
266
282
  } | undefined;
267
283
  } & {
268
284
  "v-slot:default"?: false | ((args_0: GroupItemProvide) => vue.VNodeChild) | undefined;
285
+ } & {
286
+ $slots?: {
287
+ default?: ((args_0: GroupItemProvide) => vue.VNodeChild) | undefined;
288
+ } | undefined;
269
289
  } & {
270
290
  "onGroup:selected"?: ((val: {
271
291
  value: boolean;
@@ -300,6 +320,10 @@ declare const VItem: {
300
320
  } | undefined;
301
321
  } & {
302
322
  "v-slot:default"?: false | ((args_0: GroupItemProvide) => vue.VNodeChild) | undefined;
323
+ } & {
324
+ $slots?: {
325
+ default?: ((args_0: GroupItemProvide) => vue.VNodeChild) | undefined;
326
+ } | undefined;
303
327
  } & {
304
328
  "onGroup:selected"?: ((val: {
305
329
  value: boolean;
@@ -346,6 +370,10 @@ declare const VItem: {
346
370
  } | undefined;
347
371
  } & {
348
372
  "v-slot:default"?: false | ((args_0: GroupItemProvide) => vue.VNodeChild) | undefined;
373
+ } & {
374
+ $slots?: {
375
+ default?: ((args_0: GroupItemProvide) => vue.VNodeChild) | undefined;
376
+ } | undefined;
349
377
  } & {
350
378
  "onGroup:selected"?: ((val: {
351
379
  value: boolean;
@@ -370,6 +398,10 @@ declare const VItem: {
370
398
  } | undefined;
371
399
  } & {
372
400
  "v-slot:default"?: false | ((args_0: GroupItemProvide) => vue.VNodeChild) | undefined;
401
+ } & {
402
+ $slots?: {
403
+ default?: ((args_0: GroupItemProvide) => vue.VNodeChild) | undefined;
404
+ } | undefined;
373
405
  } & {
374
406
  "onGroup:selected"?: ((val: {
375
407
  value: boolean;
@@ -26,6 +26,10 @@ declare const VKbd: {
26
26
  } | undefined;
27
27
  } & {
28
28
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
29
+ } & {
30
+ $slots?: {
31
+ default?: (() => vue.VNodeChild) | undefined;
32
+ } | undefined;
29
33
  } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "style" | "tag">;
30
34
  $attrs: {
31
35
  [x: string]: unknown;
@@ -54,6 +58,10 @@ declare const VKbd: {
54
58
  } | undefined;
55
59
  } & {
56
60
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
61
+ } & {
62
+ $slots?: {
63
+ default?: (() => vue.VNodeChild) | undefined;
64
+ } | undefined;
57
65
  }, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
58
66
  [key: string]: any;
59
67
  }>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
@@ -93,6 +101,10 @@ declare const VKbd: {
93
101
  } | undefined;
94
102
  } & {
95
103
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
104
+ } & {
105
+ $slots?: {
106
+ default?: (() => vue.VNodeChild) | undefined;
107
+ } | undefined;
96
108
  } & vue.ShallowUnwrapRef<() => vue.VNode<vue.RendererNode, vue.RendererElement, {
97
109
  [key: string]: any;
98
110
  }>> & {} & vue.ComponentCustomProperties & {};
@@ -113,6 +125,10 @@ declare const VKbd: {
113
125
  } | undefined;
114
126
  } & {
115
127
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
128
+ } & {
129
+ $slots?: {
130
+ default?: (() => vue.VNodeChild) | undefined;
131
+ } | undefined;
116
132
  }, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
117
133
  [key: string]: any;
118
134
  }>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
@@ -28,6 +28,10 @@ declare const VLabel: {
28
28
  } | undefined;
29
29
  } & {
30
30
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
31
+ } & {
32
+ $slots?: {
33
+ default?: (() => vue.VNodeChild) | undefined;
34
+ } | undefined;
31
35
  } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "style" | "clickable">;
32
36
  $attrs: {
33
37
  [x: string]: unknown;
@@ -58,6 +62,10 @@ declare const VLabel: {
58
62
  } | undefined;
59
63
  } & {
60
64
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
65
+ } & {
66
+ $slots?: {
67
+ default?: (() => vue.VNodeChild) | undefined;
68
+ } | undefined;
61
69
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
62
70
  style: vue.StyleValue;
63
71
  clickable: boolean;
@@ -97,6 +105,10 @@ declare const VLabel: {
97
105
  } | undefined;
98
106
  } & {
99
107
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
108
+ } & {
109
+ $slots?: {
110
+ default?: (() => vue.VNodeChild) | undefined;
111
+ } | undefined;
100
112
  } & vue.ShallowUnwrapRef<{}> & {} & vue.ComponentCustomProperties & {};
101
113
  __isFragment?: undefined;
102
114
  __isTeleport?: undefined;
@@ -117,6 +129,10 @@ declare const VLabel: {
117
129
  } | undefined;
118
130
  } & {
119
131
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
132
+ } & {
133
+ $slots?: {
134
+ default?: (() => vue.VNodeChild) | undefined;
135
+ } | undefined;
120
136
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
121
137
  style: vue.StyleValue;
122
138
  clickable: boolean;
@@ -27,6 +27,10 @@ declare const VLayout: {
27
27
  } | undefined;
28
28
  } & {
29
29
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
30
+ } & {
31
+ $slots?: {
32
+ default?: (() => vue.VNodeChild) | undefined;
33
+ } | undefined;
30
34
  } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "style" | "fullHeight">;
31
35
  $attrs: {
32
36
  [x: string]: unknown;
@@ -56,6 +60,10 @@ declare const VLayout: {
56
60
  } | undefined;
57
61
  } & {
58
62
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
63
+ } & {
64
+ $slots?: {
65
+ default?: (() => vue.VNodeChild) | undefined;
66
+ } | undefined;
59
67
  }, {
60
68
  getLayoutItem: (id: string) => {
61
69
  size: number;
@@ -113,6 +121,10 @@ declare const VLayout: {
113
121
  } | undefined;
114
122
  } & {
115
123
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
124
+ } & {
125
+ $slots?: {
126
+ default?: (() => vue.VNodeChild) | undefined;
127
+ } | undefined;
116
128
  } & vue.ShallowUnwrapRef<{
117
129
  getLayoutItem: (id: string) => {
118
130
  size: number;
@@ -151,6 +163,10 @@ declare const VLayout: {
151
163
  } | undefined;
152
164
  } & {
153
165
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
166
+ } & {
167
+ $slots?: {
168
+ default?: (() => vue.VNodeChild) | undefined;
169
+ } | undefined;
154
170
  }, {
155
171
  getLayoutItem: (id: string) => {
156
172
  size: number;
@@ -221,6 +237,10 @@ declare const VLayoutItem: {
221
237
  } | undefined;
222
238
  } & {
223
239
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
240
+ } & {
241
+ $slots?: {
242
+ default?: (() => vue.VNodeChild) | undefined;
243
+ } | undefined;
224
244
  } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "absolute" | "order" | "style" | "size" | "modelValue">;
225
245
  $attrs: {
226
246
  [x: string]: unknown;
@@ -254,6 +274,10 @@ declare const VLayoutItem: {
254
274
  } | undefined;
255
275
  } & {
256
276
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
277
+ } & {
278
+ $slots?: {
279
+ default?: (() => vue.VNodeChild) | undefined;
280
+ } | undefined;
257
281
  }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
258
282
  absolute: boolean;
259
283
  order: string | number;
@@ -299,6 +323,10 @@ declare const VLayoutItem: {
299
323
  } | undefined;
300
324
  } & {
301
325
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
326
+ } & {
327
+ $slots?: {
328
+ default?: (() => vue.VNodeChild) | undefined;
329
+ } | undefined;
302
330
  } & vue.ShallowUnwrapRef<() => JSX.Element> & {} & vue.ComponentCustomProperties & {};
303
331
  __isFragment?: undefined;
304
332
  __isTeleport?: undefined;
@@ -322,6 +350,10 @@ declare const VLayoutItem: {
322
350
  } | undefined;
323
351
  } & {
324
352
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
353
+ } & {
354
+ $slots?: {
355
+ default?: (() => vue.VNodeChild) | undefined;
356
+ } | undefined;
325
357
  }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
326
358
  absolute: boolean;
327
359
  order: string | number;