vuetify 3.6.15 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/dist/json/attributes.json +182 -26
  2. package/dist/json/importMap-labs.json +30 -30
  3. package/dist/json/importMap.json +150 -150
  4. package/dist/json/tags.json +44 -5
  5. package/dist/json/web-types.json +445 -42
  6. package/dist/vuetify-labs.css +2359 -2344
  7. package/dist/vuetify-labs.d.ts +690 -341
  8. package/dist/vuetify-labs.esm.js +253 -211
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +252 -210
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +2553 -2538
  13. package/dist/vuetify.d.ts +559 -315
  14. package/dist/vuetify.esm.js +189 -127
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +188 -126
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +160 -156
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VApp/VApp.mjs +2 -5
  22. package/lib/components/VApp/VApp.mjs.map +1 -1
  23. package/lib/components/VApp/index.d.mts +6 -6
  24. package/lib/components/VAppBar/VAppBar.mjs +5 -5
  25. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  26. package/lib/components/VAppBar/index.d.mts +8 -2
  27. package/lib/components/VAutocomplete/VAutocomplete.mjs +15 -8
  28. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  29. package/lib/components/VAutocomplete/index.d.mts +78 -49
  30. package/lib/components/VAvatar/VAvatar.css +9 -0
  31. package/lib/components/VAvatar/VAvatar.mjs +6 -1
  32. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  33. package/lib/components/VAvatar/VAvatar.sass +1 -0
  34. package/lib/components/VAvatar/_variables.scss +13 -0
  35. package/lib/components/VAvatar/index.d.mts +6 -0
  36. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +2 -3
  37. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  38. package/lib/components/VBottomNavigation/index.d.mts +2 -2
  39. package/lib/components/VBreadcrumbs/index.d.mts +8 -8
  40. package/lib/components/VBtn/VBtn.css +0 -4
  41. package/lib/components/VBtn/VBtn.mjs +3 -1
  42. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  43. package/lib/components/VBtn/VBtn.sass +0 -6
  44. package/lib/components/VBtn/_variables.scss +0 -1
  45. package/lib/components/VBtn/index.d.mts +6 -0
  46. package/lib/components/VCard/VCard.css +1 -0
  47. package/lib/components/VCard/VCard.sass +1 -0
  48. package/lib/components/VCard/_variables.scss +7 -3
  49. package/lib/components/VCarousel/index.d.mts +9 -0
  50. package/lib/components/VCheckbox/index.d.mts +7 -6
  51. package/lib/components/VCombobox/VCombobox.mjs +15 -8
  52. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  53. package/lib/components/VCombobox/index.d.mts +78 -49
  54. package/lib/components/VDialog/index.d.mts +3 -3
  55. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +7 -2
  56. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  57. package/lib/components/VExpansionPanel/index.d.mts +72 -0
  58. package/lib/components/VFab/index.d.mts +6 -0
  59. package/lib/components/VFileInput/index.d.mts +19 -18
  60. package/lib/components/VFooter/VFooter.mjs +1 -3
  61. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  62. package/lib/components/VFooter/index.d.mts +3 -3
  63. package/lib/components/VForm/index.d.mts +10 -9
  64. package/lib/components/VGrid/VContainer.mjs +6 -1
  65. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  66. package/lib/components/VGrid/index.d.mts +36 -0
  67. package/lib/components/VImg/VImg.css +9 -0
  68. package/lib/components/VImg/VImg.mjs +2 -0
  69. package/lib/components/VImg/VImg.mjs.map +1 -1
  70. package/lib/components/VImg/VImg.sass +9 -0
  71. package/lib/components/VImg/index.d.mts +9 -0
  72. package/lib/components/VInput/index.d.mts +7 -6
  73. package/lib/components/VLayout/VLayout.mjs +2 -5
  74. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  75. package/lib/components/VLayout/VLayoutItem.mjs +4 -6
  76. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  77. package/lib/components/VLayout/index.d.mts +9 -9
  78. package/lib/components/VList/VListItem.css +2 -2
  79. package/lib/components/VList/VListItem.mjs +3 -1
  80. package/lib/components/VList/VListItem.mjs.map +1 -1
  81. package/lib/components/VList/VListItem.sass +1 -1
  82. package/lib/components/VList/index.d.mts +19 -18
  83. package/lib/components/VMain/VMain.mjs +2 -3
  84. package/lib/components/VMain/VMain.mjs.map +1 -1
  85. package/lib/components/VMain/index.d.mts +2 -2
  86. package/lib/components/VMenu/VMenu.mjs +26 -8
  87. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  88. package/lib/components/VMenu/index.d.mts +30 -15
  89. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +3 -4
  90. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  91. package/lib/components/VOverlay/VOverlay.mjs +5 -4
  92. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  93. package/lib/components/VOverlay/locationStrategies.mjs +0 -6
  94. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  95. package/lib/components/VOverlay/useActivator.mjs +3 -2
  96. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  97. package/lib/components/VRadioGroup/index.d.mts +7 -6
  98. package/lib/components/VRangeSlider/index.d.mts +7 -6
  99. package/lib/components/VSelect/VSelect.mjs +15 -13
  100. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  101. package/lib/components/VSelect/index.d.mts +78 -49
  102. package/lib/components/VSelect/useScrolling.mjs +3 -3
  103. package/lib/components/VSelect/useScrolling.mjs.map +1 -1
  104. package/lib/components/VSlideGroup/VSlideGroup.mjs +3 -1
  105. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  106. package/lib/components/VSlideGroup/index.d.mts +6 -0
  107. package/lib/components/VSlider/index.d.mts +7 -6
  108. package/lib/components/VSnackbar/index.d.mts +3 -3
  109. package/lib/components/VSpeedDial/VSpeedDial.mjs +1 -1
  110. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  111. package/lib/components/VSpeedDial/index.d.mts +28 -13
  112. package/lib/components/VSwitch/index.d.mts +7 -6
  113. package/lib/components/VTabs/index.d.mts +21 -3
  114. package/lib/components/VTextField/index.d.mts +19 -18
  115. package/lib/components/VTextarea/index.d.mts +19 -18
  116. package/lib/components/VTooltip/index.d.mts +3 -3
  117. package/lib/components/VValidation/index.d.mts +7 -6
  118. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +2 -0
  119. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  120. package/lib/components/VVirtualScroll/index.d.mts +3 -0
  121. package/lib/components/index.d.mts +504 -259
  122. package/lib/composables/layout.mjs +37 -14
  123. package/lib/composables/layout.mjs.map +1 -1
  124. package/lib/composables/nested/nested.mjs +3 -3
  125. package/lib/composables/nested/nested.mjs.map +1 -1
  126. package/lib/composables/nested/openStrategies.mjs +4 -2
  127. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  128. package/lib/composables/nested/selectStrategies.mjs +5 -5
  129. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  130. package/lib/composables/validation.mjs +8 -6
  131. package/lib/composables/validation.mjs.map +1 -1
  132. package/lib/composables/virtual.mjs +1 -0
  133. package/lib/composables/virtual.mjs.map +1 -1
  134. package/lib/entry-bundler.mjs +1 -1
  135. package/lib/entry-bundler.mjs.map +1 -1
  136. package/lib/framework.mjs +1 -1
  137. package/lib/framework.mjs.map +1 -1
  138. package/lib/index.d.mts +55 -56
  139. package/lib/labs/VDateInput/index.d.mts +7 -6
  140. package/lib/labs/VNumberInput/index.d.mts +43 -42
  141. package/lib/labs/VPullToRefresh/VPullToRefresh.mjs +4 -3
  142. package/lib/labs/VPullToRefresh/VPullToRefresh.mjs.map +1 -1
  143. package/lib/labs/VPullToRefresh/index.d.mts +9 -0
  144. package/lib/labs/VSnackbarQueue/index.d.mts +3 -3
  145. package/lib/labs/VStepperVertical/index.d.mts +36 -0
  146. package/lib/labs/VTreeview/VTreeview.mjs +21 -6
  147. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
  148. package/lib/labs/VTreeview/VTreeviewChildren.mjs +33 -10
  149. package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
  150. package/lib/labs/VTreeview/VTreeviewItem.css +1 -1
  151. package/lib/labs/VTreeview/VTreeviewItem.mjs +14 -74
  152. package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
  153. package/lib/labs/VTreeview/VTreeviewItem.sass +2 -5
  154. package/lib/labs/VTreeview/index.d.mts +133 -95
  155. package/lib/labs/components.d.mts +193 -109
  156. package/lib/util/helpers.mjs +5 -0
  157. package/lib/util/helpers.mjs.map +1 -1
  158. package/package.json +2 -2
@@ -5,6 +5,7 @@ import { VDefaultsProvider } from "../VDefaultsProvider/index.mjs";
5
5
  import { VIcon } from "../VIcon/index.mjs"; // Composables
6
6
  import { useBackgroundColor } from "../../composables/color.mjs";
7
7
  import { makeComponentProps } from "../../composables/component.mjs";
8
+ import { makeDimensionProps, useDimension } from "../../composables/dimensions.mjs";
8
9
  import { IconValue } from "../../composables/icons.mjs"; // Directives
9
10
  import { Ripple } from "../../directives/ripple/index.mjs"; // Utilities
10
11
  import { computed, inject } from 'vue';
@@ -27,7 +28,8 @@ export const makeVExpansionPanelTitleProps = propsFactory({
27
28
  default: false
28
29
  },
29
30
  readonly: Boolean,
30
- ...makeComponentProps()
31
+ ...makeComponentProps(),
32
+ ...makeDimensionProps()
31
33
  }, 'VExpansionPanelTitle');
32
34
  export const VExpansionPanelTitle = genericComponent()({
33
35
  name: 'VExpansionPanelTitle',
@@ -45,6 +47,9 @@ export const VExpansionPanelTitle = genericComponent()({
45
47
  backgroundColorClasses,
46
48
  backgroundColorStyles
47
49
  } = useBackgroundColor(props, 'color');
50
+ const {
51
+ dimensionStyles
52
+ } = useDimension(props);
48
53
  const slotProps = computed(() => ({
49
54
  collapseIcon: props.collapseIcon,
50
55
  disabled: expansionPanel.disabled.value,
@@ -59,7 +64,7 @@ export const VExpansionPanelTitle = genericComponent()({
59
64
  'v-expansion-panel-title--focusable': props.focusable,
60
65
  'v-expansion-panel-title--static': props.static
61
66
  }, backgroundColorClasses.value, props.class],
62
- "style": [backgroundColorStyles.value, props.style],
67
+ "style": [backgroundColorStyles.value, dimensionStyles.value, props.style],
63
68
  "type": "button",
64
69
  "tabindex": expansionPanel.disabled.value ? -1 : undefined,
65
70
  "disabled": expansionPanel.disabled.value,
@@ -1 +1 @@
1
- {"version":3,"file":"VExpansionPanelTitle.mjs","names":["VExpansionPanelSymbol","VDefaultsProvider","VIcon","useBackgroundColor","makeComponentProps","IconValue","Ripple","computed","inject","genericComponent","propsFactory","useRender","makeVExpansionPanelTitleProps","color","String","expandIcon","type","default","collapseIcon","hideActions","Boolean","focusable","static","ripple","Object","readonly","VExpansionPanelTitle","name","directives","props","setup","_ref","slots","expansionPanel","Error","backgroundColorClasses","backgroundColorStyles","slotProps","disabled","value","expanded","isSelected","icon","_withDirectives","_createVNode","class","style","undefined","toggle","actions","_resolveDirective"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanelTitle.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './shared'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { IconValue } from '@/composables/icons'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\ninterface ExpansionPanelTitleSlot {\n collapseIcon: IconValue\n disabled: boolean | undefined\n expanded: boolean\n expandIcon: IconValue\n readonly: boolean\n}\n\nexport type VExpansionPanelTitleSlots = {\n default: ExpansionPanelTitleSlot\n actions: ExpansionPanelTitleSlot\n}\n\nexport const makeVExpansionPanelTitleProps = propsFactory({\n color: String,\n expandIcon: {\n type: IconValue,\n default: '$expand',\n },\n collapseIcon: {\n type: IconValue,\n default: '$collapse',\n },\n hideActions: Boolean,\n focusable: Boolean,\n static: Boolean,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: false,\n },\n readonly: Boolean,\n\n ...makeComponentProps(),\n}, 'VExpansionPanelTitle')\n\nexport const VExpansionPanelTitle = genericComponent<VExpansionPanelTitleSlots>()({\n name: 'VExpansionPanelTitle',\n\n directives: { Ripple },\n\n props: makeVExpansionPanelTitleProps(),\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel')\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n const slotProps = computed(() => ({\n collapseIcon: props.collapseIcon,\n disabled: expansionPanel.disabled.value,\n expanded: expansionPanel.isSelected.value,\n expandIcon: props.expandIcon,\n readonly: props.readonly,\n }))\n\n const icon = computed(() => expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon)\n\n useRender(() => (\n <button\n class={[\n 'v-expansion-panel-title',\n {\n 'v-expansion-panel-title--active': expansionPanel.isSelected.value,\n 'v-expansion-panel-title--focusable': props.focusable,\n 'v-expansion-panel-title--static': props.static,\n },\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n type=\"button\"\n tabindex={ expansionPanel.disabled.value ? -1 : undefined }\n disabled={ expansionPanel.disabled.value }\n aria-expanded={ expansionPanel.isSelected.value }\n onClick={ !props.readonly ? expansionPanel.toggle : undefined }\n v-ripple={ props.ripple }\n >\n <span class=\"v-expansion-panel-title__overlay\" />\n\n { slots.default?.(slotProps.value) }\n\n { !props.hideActions && (\n <VDefaultsProvider\n defaults={{\n VIcon: {\n icon: icon.value,\n },\n }}\n >\n <span class=\"v-expansion-panel-title__icon\">\n { slots.actions?.(slotProps.value) ?? <VIcon /> }\n </span>\n </VDefaultsProvider>\n )}\n </button>\n ))\n\n return {}\n },\n})\n\nexport type VExpansionPanelTitle = InstanceType<typeof VExpansionPanelTitle>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VExpansionPanelTitle.mjs","names":["VExpansionPanelSymbol","VDefaultsProvider","VIcon","useBackgroundColor","makeComponentProps","makeDimensionProps","useDimension","IconValue","Ripple","computed","inject","genericComponent","propsFactory","useRender","makeVExpansionPanelTitleProps","color","String","expandIcon","type","default","collapseIcon","hideActions","Boolean","focusable","static","ripple","Object","readonly","VExpansionPanelTitle","name","directives","props","setup","_ref","slots","expansionPanel","Error","backgroundColorClasses","backgroundColorStyles","dimensionStyles","slotProps","disabled","value","expanded","isSelected","icon","_withDirectives","_createVNode","class","style","undefined","toggle","actions","_resolveDirective"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanelTitle.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './shared'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { IconValue } from '@/composables/icons'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\ninterface ExpansionPanelTitleSlot {\n collapseIcon: IconValue\n disabled: boolean | undefined\n expanded: boolean\n expandIcon: IconValue\n readonly: boolean\n}\n\nexport type VExpansionPanelTitleSlots = {\n default: ExpansionPanelTitleSlot\n actions: ExpansionPanelTitleSlot\n}\n\nexport const makeVExpansionPanelTitleProps = propsFactory({\n color: String,\n expandIcon: {\n type: IconValue,\n default: '$expand',\n },\n collapseIcon: {\n type: IconValue,\n default: '$collapse',\n },\n hideActions: Boolean,\n focusable: Boolean,\n static: Boolean,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: false,\n },\n readonly: Boolean,\n\n ...makeComponentProps(),\n ...makeDimensionProps(),\n}, 'VExpansionPanelTitle')\n\nexport const VExpansionPanelTitle = genericComponent<VExpansionPanelTitleSlots>()({\n name: 'VExpansionPanelTitle',\n\n directives: { Ripple },\n\n props: makeVExpansionPanelTitleProps(),\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel')\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n const { dimensionStyles } = useDimension(props)\n\n const slotProps = computed(() => ({\n collapseIcon: props.collapseIcon,\n disabled: expansionPanel.disabled.value,\n expanded: expansionPanel.isSelected.value,\n expandIcon: props.expandIcon,\n readonly: props.readonly,\n }))\n\n const icon = computed(() => expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon)\n\n useRender(() => (\n <button\n class={[\n 'v-expansion-panel-title',\n {\n 'v-expansion-panel-title--active': expansionPanel.isSelected.value,\n 'v-expansion-panel-title--focusable': props.focusable,\n 'v-expansion-panel-title--static': props.static,\n },\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n type=\"button\"\n tabindex={ expansionPanel.disabled.value ? -1 : undefined }\n disabled={ expansionPanel.disabled.value }\n aria-expanded={ expansionPanel.isSelected.value }\n onClick={ !props.readonly ? expansionPanel.toggle : undefined }\n v-ripple={ props.ripple }\n >\n <span class=\"v-expansion-panel-title__overlay\" />\n\n { slots.default?.(slotProps.value) }\n\n { !props.hideActions && (\n <VDefaultsProvider\n defaults={{\n VIcon: {\n icon: icon.value,\n },\n }}\n >\n <span class=\"v-expansion-panel-title__icon\">\n { slots.actions?.(slotProps.value) ?? <VIcon /> }\n </span>\n </VDefaultsProvider>\n )}\n </button>\n ))\n\n return {}\n },\n})\n\nexport type VExpansionPanelTitle = InstanceType<typeof VExpansionPanelTitle>\n"],"mappings":"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","ignoreList":[]}
@@ -440,7 +440,13 @@ declare const VExpansionPanel: {
440
440
  expandIcon: IconValue;
441
441
  hideActions: boolean;
442
442
  } & {
443
+ height?: string | number | undefined;
444
+ width?: string | number | undefined;
443
445
  color?: string | undefined;
446
+ maxHeight?: string | number | undefined;
447
+ maxWidth?: string | number | undefined;
448
+ minHeight?: string | number | undefined;
449
+ minWidth?: string | number | undefined;
444
450
  value?: any;
445
451
  title?: string | undefined;
446
452
  text?: string | undefined;
@@ -490,7 +496,13 @@ declare const VExpansionPanel: {
490
496
  expandIcon: IconValue;
491
497
  hideActions: boolean;
492
498
  } & {
499
+ height?: string | number | undefined;
500
+ width?: string | number | undefined;
493
501
  color?: string | undefined;
502
+ maxHeight?: string | number | undefined;
503
+ maxWidth?: string | number | undefined;
504
+ minHeight?: string | number | undefined;
505
+ minWidth?: string | number | undefined;
494
506
  value?: any;
495
507
  title?: string | undefined;
496
508
  text?: string | undefined;
@@ -561,7 +573,13 @@ declare const VExpansionPanel: {
561
573
  expandIcon: IconValue;
562
574
  hideActions: boolean;
563
575
  } & {
576
+ height?: string | number | undefined;
577
+ width?: string | number | undefined;
564
578
  color?: string | undefined;
579
+ maxHeight?: string | number | undefined;
580
+ maxWidth?: string | number | undefined;
581
+ minHeight?: string | number | undefined;
582
+ minWidth?: string | number | undefined;
565
583
  value?: any;
566
584
  title?: string | undefined;
567
585
  text?: string | undefined;
@@ -627,7 +645,13 @@ declare const VExpansionPanel: {
627
645
  expandIcon: IconValue;
628
646
  hideActions: boolean;
629
647
  } & {
648
+ height?: string | number | undefined;
649
+ width?: string | number | undefined;
630
650
  color?: string | undefined;
651
+ maxHeight?: string | number | undefined;
652
+ maxWidth?: string | number | undefined;
653
+ minHeight?: string | number | undefined;
654
+ minWidth?: string | number | undefined;
631
655
  value?: any;
632
656
  title?: string | undefined;
633
657
  text?: string | undefined;
@@ -688,6 +712,12 @@ declare const VExpansionPanel: {
688
712
  type: vue.PropType<vue.StyleValue>;
689
713
  default: null;
690
714
  };
715
+ height: (StringConstructor | NumberConstructor)[];
716
+ maxHeight: (StringConstructor | NumberConstructor)[];
717
+ maxWidth: (StringConstructor | NumberConstructor)[];
718
+ minHeight: (StringConstructor | NumberConstructor)[];
719
+ minWidth: (StringConstructor | NumberConstructor)[];
720
+ width: (StringConstructor | NumberConstructor)[];
691
721
  color: StringConstructor;
692
722
  expandIcon: {
693
723
  type: vue.PropType<IconValue>;
@@ -731,6 +761,12 @@ declare const VExpansionPanel: {
731
761
  type: vue.PropType<vue.StyleValue>;
732
762
  default: null;
733
763
  };
764
+ height: (StringConstructor | NumberConstructor)[];
765
+ maxHeight: (StringConstructor | NumberConstructor)[];
766
+ maxWidth: (StringConstructor | NumberConstructor)[];
767
+ minHeight: (StringConstructor | NumberConstructor)[];
768
+ minWidth: (StringConstructor | NumberConstructor)[];
769
+ width: (StringConstructor | NumberConstructor)[];
734
770
  color: StringConstructor;
735
771
  expandIcon: {
736
772
  type: vue.PropType<IconValue>;
@@ -888,7 +924,13 @@ declare const VExpansionPanelTitle: {
888
924
  expandIcon: IconValue;
889
925
  hideActions: boolean;
890
926
  } & {
927
+ height?: string | number | undefined;
928
+ width?: string | number | undefined;
891
929
  color?: string | undefined;
930
+ maxHeight?: string | number | undefined;
931
+ maxWidth?: string | number | undefined;
932
+ minHeight?: string | number | undefined;
933
+ minWidth?: string | number | undefined;
892
934
  class?: any;
893
935
  } & {
894
936
  $children?: vue.VNodeChild | {
@@ -914,7 +956,13 @@ declare const VExpansionPanelTitle: {
914
956
  expandIcon: IconValue;
915
957
  hideActions: boolean;
916
958
  } & {
959
+ height?: string | number | undefined;
960
+ width?: string | number | undefined;
917
961
  color?: string | undefined;
962
+ maxHeight?: string | number | undefined;
963
+ maxWidth?: string | number | undefined;
964
+ minHeight?: string | number | undefined;
965
+ minWidth?: string | number | undefined;
918
966
  class?: any;
919
967
  } & {
920
968
  $children?: vue.VNodeChild | {
@@ -961,7 +1009,13 @@ declare const VExpansionPanelTitle: {
961
1009
  expandIcon: IconValue;
962
1010
  hideActions: boolean;
963
1011
  } & {
1012
+ height?: string | number | undefined;
1013
+ width?: string | number | undefined;
964
1014
  color?: string | undefined;
1015
+ maxHeight?: string | number | undefined;
1016
+ maxWidth?: string | number | undefined;
1017
+ minHeight?: string | number | undefined;
1018
+ minWidth?: string | number | undefined;
965
1019
  class?: any;
966
1020
  } & {
967
1021
  $children?: vue.VNodeChild | {
@@ -1002,7 +1056,13 @@ declare const VExpansionPanelTitle: {
1002
1056
  expandIcon: IconValue;
1003
1057
  hideActions: boolean;
1004
1058
  } & {
1059
+ height?: string | number | undefined;
1060
+ width?: string | number | undefined;
1005
1061
  color?: string | undefined;
1062
+ maxHeight?: string | number | undefined;
1063
+ maxWidth?: string | number | undefined;
1064
+ minHeight?: string | number | undefined;
1065
+ minWidth?: string | number | undefined;
1006
1066
  class?: any;
1007
1067
  } & {
1008
1068
  $children?: vue.VNodeChild | {
@@ -1031,6 +1091,12 @@ declare const VExpansionPanelTitle: {
1031
1091
  default: (arg: ExpansionPanelTitleSlot) => vue.VNode[];
1032
1092
  actions: (arg: ExpansionPanelTitleSlot) => vue.VNode[];
1033
1093
  }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
1094
+ height: (StringConstructor | NumberConstructor)[];
1095
+ maxHeight: (StringConstructor | NumberConstructor)[];
1096
+ maxWidth: (StringConstructor | NumberConstructor)[];
1097
+ minHeight: (StringConstructor | NumberConstructor)[];
1098
+ minWidth: (StringConstructor | NumberConstructor)[];
1099
+ width: (StringConstructor | NumberConstructor)[];
1034
1100
  class: PropType<ClassValue>;
1035
1101
  style: {
1036
1102
  type: PropType<vue.StyleValue>;
@@ -1054,6 +1120,12 @@ declare const VExpansionPanelTitle: {
1054
1120
  };
1055
1121
  readonly: BooleanConstructor;
1056
1122
  }, vue.ExtractPropTypes<{
1123
+ height: (StringConstructor | NumberConstructor)[];
1124
+ maxHeight: (StringConstructor | NumberConstructor)[];
1125
+ maxWidth: (StringConstructor | NumberConstructor)[];
1126
+ minHeight: (StringConstructor | NumberConstructor)[];
1127
+ minWidth: (StringConstructor | NumberConstructor)[];
1128
+ width: (StringConstructor | NumberConstructor)[];
1057
1129
  class: PropType<ClassValue>;
1058
1130
  style: {
1059
1131
  type: PropType<vue.StyleValue>;
@@ -114,6 +114,7 @@ declare const VFab: {
114
114
  rounded?: string | number | boolean | undefined;
115
115
  baseColor?: string | undefined;
116
116
  selectedClass?: string | undefined;
117
+ activeColor?: string | undefined;
117
118
  prependIcon?: IconValue | undefined;
118
119
  appendIcon?: IconValue | undefined;
119
120
  } & {
@@ -184,6 +185,7 @@ declare const VFab: {
184
185
  rounded?: string | number | boolean | undefined;
185
186
  baseColor?: string | undefined;
186
187
  selectedClass?: string | undefined;
188
+ activeColor?: string | undefined;
187
189
  prependIcon?: IconValue | undefined;
188
190
  appendIcon?: IconValue | undefined;
189
191
  } & {
@@ -293,6 +295,7 @@ declare const VFab: {
293
295
  rounded?: string | number | boolean | undefined;
294
296
  baseColor?: string | undefined;
295
297
  selectedClass?: string | undefined;
298
+ activeColor?: string | undefined;
296
299
  prependIcon?: IconValue | undefined;
297
300
  appendIcon?: IconValue | undefined;
298
301
  } & {
@@ -397,6 +400,7 @@ declare const VFab: {
397
400
  rounded?: string | number | boolean | undefined;
398
401
  baseColor?: string | undefined;
399
402
  selectedClass?: string | undefined;
403
+ activeColor?: string | undefined;
400
404
  prependIcon?: IconValue | undefined;
401
405
  appendIcon?: IconValue | undefined;
402
406
  } & {
@@ -546,6 +550,7 @@ declare const VFab: {
546
550
  };
547
551
  baseColor: StringConstructor;
548
552
  selectedClass: StringConstructor;
553
+ activeColor: StringConstructor;
549
554
  prependIcon: vue.PropType<IconValue>;
550
555
  appendIcon: vue.PropType<IconValue>;
551
556
  slim: BooleanConstructor;
@@ -663,6 +668,7 @@ declare const VFab: {
663
668
  };
664
669
  baseColor: StringConstructor;
665
670
  selectedClass: StringConstructor;
671
+ activeColor: StringConstructor;
666
672
  prependIcon: vue.PropType<IconValue>;
667
673
  appendIcon: vue.PropType<IconValue>;
668
674
  slim: BooleanConstructor;
@@ -62,7 +62,8 @@ type Density = null | 'default' | 'comfortable' | 'compact';
62
62
 
63
63
  type ValidationResult = string | boolean;
64
64
  type ValidationRule = ValidationResult | PromiseLike<ValidationResult> | ((value: any) => ValidationResult) | ((value: any) => PromiseLike<ValidationResult>);
65
- type ValidateOnValue = 'blur' | 'input' | 'submit';
65
+ type ValidateOnValue = 'blur' | 'input' | 'submit' | 'invalid-input';
66
+ type ValidateOn = ValidateOnValue | `${ValidateOnValue} lazy` | `${ValidateOnValue} eager` | `lazy ${ValidateOnValue}` | `eager ${ValidateOnValue}` | 'lazy' | 'eager';
66
67
  interface ValidationProps {
67
68
  disabled: boolean | null;
68
69
  error: boolean;
@@ -75,7 +76,7 @@ interface ValidationProps {
75
76
  rules: readonly ValidationRule[];
76
77
  modelValue: any;
77
78
  'onUpdate:modelValue': EventProp | undefined;
78
- validateOn?: ValidateOnValue | `${ValidateOnValue} lazy` | `lazy ${ValidateOnValue}` | 'lazy';
79
+ validateOn?: ValidateOn;
79
80
  validationValue: any;
80
81
  }
81
82
 
@@ -146,7 +147,7 @@ declare const VFileInput: {
146
147
  class?: any;
147
148
  theme?: string | undefined;
148
149
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
149
- validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
150
+ validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
150
151
  validationValue?: any;
151
152
  rounded?: string | number | boolean | undefined;
152
153
  baseColor?: string | undefined;
@@ -278,7 +279,7 @@ declare const VFileInput: {
278
279
  class?: any;
279
280
  theme?: string | undefined;
280
281
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
281
- validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
282
+ validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
282
283
  validationValue?: any;
283
284
  prependIcon?: IconValue | undefined;
284
285
  appendIcon?: IconValue | undefined;
@@ -311,7 +312,7 @@ declare const VFileInput: {
311
312
  class?: any;
312
313
  theme?: string | undefined;
313
314
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
314
- validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
315
+ validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
315
316
  validationValue?: any;
316
317
  prependIcon?: IconValue | undefined;
317
318
  appendIcon?: IconValue | undefined;
@@ -362,7 +363,7 @@ declare const VFileInput: {
362
363
  class?: any;
363
364
  theme?: string | undefined;
364
365
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
365
- validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
366
+ validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
366
367
  validationValue?: any;
367
368
  prependIcon?: IconValue | undefined;
368
369
  appendIcon?: IconValue | undefined;
@@ -444,7 +445,7 @@ declare const VFileInput: {
444
445
  class?: any;
445
446
  theme?: string | undefined;
446
447
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
447
- validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
448
+ validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
448
449
  validationValue?: any;
449
450
  prependIcon?: IconValue | undefined;
450
451
  appendIcon?: IconValue | undefined;
@@ -511,7 +512,7 @@ declare const VFileInput: {
511
512
  class?: any;
512
513
  theme?: string | undefined;
513
514
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
514
- validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
515
+ validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
515
516
  validationValue?: any;
516
517
  rounded?: string | number | boolean | undefined;
517
518
  baseColor?: string | undefined;
@@ -710,7 +711,7 @@ declare const VFileInput: {
710
711
  class?: any;
711
712
  theme?: string | undefined;
712
713
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
713
- validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
714
+ validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
714
715
  validationValue?: any;
715
716
  rounded?: string | number | boolean | undefined;
716
717
  baseColor?: string | undefined;
@@ -842,7 +843,7 @@ declare const VFileInput: {
842
843
  class?: any;
843
844
  theme?: string | undefined;
844
845
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
845
- validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
846
+ validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
846
847
  validationValue?: any;
847
848
  prependIcon?: IconValue | undefined;
848
849
  appendIcon?: IconValue | undefined;
@@ -875,7 +876,7 @@ declare const VFileInput: {
875
876
  class?: any;
876
877
  theme?: string | undefined;
877
878
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
878
- validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
879
+ validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
879
880
  validationValue?: any;
880
881
  prependIcon?: IconValue | undefined;
881
882
  appendIcon?: IconValue | undefined;
@@ -926,7 +927,7 @@ declare const VFileInput: {
926
927
  class?: any;
927
928
  theme?: string | undefined;
928
929
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
929
- validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
930
+ validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
930
931
  validationValue?: any;
931
932
  prependIcon?: IconValue | undefined;
932
933
  appendIcon?: IconValue | undefined;
@@ -1008,7 +1009,7 @@ declare const VFileInput: {
1008
1009
  class?: any;
1009
1010
  theme?: string | undefined;
1010
1011
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
1011
- validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
1012
+ validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
1012
1013
  validationValue?: any;
1013
1014
  prependIcon?: IconValue | undefined;
1014
1015
  appendIcon?: IconValue | undefined;
@@ -1109,7 +1110,7 @@ declare const VFileInput: {
1109
1110
  class?: any;
1110
1111
  theme?: string | undefined;
1111
1112
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
1112
- validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
1113
+ validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
1113
1114
  validationValue?: any;
1114
1115
  rounded?: string | number | boolean | undefined;
1115
1116
  baseColor?: string | undefined;
@@ -1241,7 +1242,7 @@ declare const VFileInput: {
1241
1242
  class?: any;
1242
1243
  theme?: string | undefined;
1243
1244
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
1244
- validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
1245
+ validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
1245
1246
  validationValue?: any;
1246
1247
  prependIcon?: IconValue | undefined;
1247
1248
  appendIcon?: IconValue | undefined;
@@ -1274,7 +1275,7 @@ declare const VFileInput: {
1274
1275
  class?: any;
1275
1276
  theme?: string | undefined;
1276
1277
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
1277
- validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
1278
+ validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
1278
1279
  validationValue?: any;
1279
1280
  prependIcon?: IconValue | undefined;
1280
1281
  appendIcon?: IconValue | undefined;
@@ -1325,7 +1326,7 @@ declare const VFileInput: {
1325
1326
  class?: any;
1326
1327
  theme?: string | undefined;
1327
1328
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
1328
- validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
1329
+ validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
1329
1330
  validationValue?: any;
1330
1331
  prependIcon?: IconValue | undefined;
1331
1332
  appendIcon?: IconValue | undefined;
@@ -1407,7 +1408,7 @@ declare const VFileInput: {
1407
1408
  class?: any;
1408
1409
  theme?: string | undefined;
1409
1410
  'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
1410
- validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
1411
+ validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
1411
1412
  validationValue?: any;
1412
1413
  prependIcon?: IconValue | undefined;
1413
1414
  appendIcon?: IconValue | undefined;
@@ -40,7 +40,6 @@ export const VFooter = genericComponent()({
40
40
  slots
41
41
  } = _ref;
42
42
  const layoutItemStyles = ref();
43
- const layoutIsReady = shallowRef();
44
43
  const {
45
44
  themeClasses
46
45
  } = provideTheme(props);
@@ -77,7 +76,6 @@ export const VFooter = genericComponent()({
77
76
  });
78
77
  watchEffect(() => {
79
78
  layoutItemStyles.value = layout.layoutItemStyles.value;
80
- layoutIsReady.value = layout.layoutIsReady;
81
79
  });
82
80
  });
83
81
  useRender(() => _createVNode(props.tag, {
@@ -87,7 +85,7 @@ export const VFooter = genericComponent()({
87
85
  height: convertToUnit(props.height)
88
86
  }, props.style]
89
87
  }, slots));
90
- return props.app ? layoutIsReady.value : {};
88
+ return {};
91
89
  }
92
90
  });
93
91
  //# sourceMappingURL=VFooter.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"VFooter.mjs","names":["makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","makeElevationProps","useElevation","makeLayoutItemProps","useLayoutItem","useResizeObserver","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","useToggleScope","computed","ref","shallowRef","toRef","watchEffect","convertToUnit","genericComponent","propsFactory","useRender","makeVFooterProps","app","Boolean","color","String","height","type","Number","default","tag","VFooter","name","props","setup","_ref","slots","layoutItemStyles","layoutIsReady","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","elevationClasses","roundedClasses","autoHeight","resizeRef","entries","length","value","target","clientHeight","parseInt","layout","id","order","position","layoutSize","elementSize","undefined","active","absolute","_createVNode","class","style"],"sources":["../../../src/components/VFooter/VFooter.tsx"],"sourcesContent":["// Styles\nimport './VFooter.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watchEffect } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVFooterProps = propsFactory({\n app: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 'auto',\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'footer' }),\n ...makeThemeProps(),\n}, 'VFooter')\n\nexport const VFooter = genericComponent()({\n name: 'VFooter',\n\n props: makeVFooterProps(),\n\n setup (props, { slots }) {\n const layoutItemStyles = ref()\n const layoutIsReady = shallowRef()\n\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const autoHeight = shallowRef(32)\n const { resizeRef } = useResizeObserver(entries => {\n if (!entries.length) return\n autoHeight.value = entries[0].target.clientHeight\n })\n const height = computed(() => props.height === 'auto' ? autoHeight.value : parseInt(props.height, 10))\n\n useToggleScope(() => props.app, () => {\n const layout = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: computed(() => 'bottom'),\n layoutSize: height,\n elementSize: computed(() => props.height === 'auto' ? undefined : height.value),\n active: computed(() => props.app),\n absolute: toRef(props, 'absolute'),\n })\n\n watchEffect(() => {\n layoutItemStyles.value = layout.layoutItemStyles.value\n layoutIsReady.value = layout.layoutIsReady\n })\n })\n\n useRender(() => (\n <props.tag\n ref={ resizeRef }\n class={[\n 'v-footer',\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.app ? layoutItemStyles.value : {\n height: convertToUnit(props.height),\n },\n props.style,\n ]}\n v-slots={ slots }\n />\n ))\n\n return props.app ? layoutIsReady.value : {}\n },\n})\n\nexport type VFooter = InstanceType<typeof VFooter>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VFooter.mjs","names":["makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","makeElevationProps","useElevation","makeLayoutItemProps","useLayoutItem","useResizeObserver","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","useToggleScope","computed","ref","shallowRef","toRef","watchEffect","convertToUnit","genericComponent","propsFactory","useRender","makeVFooterProps","app","Boolean","color","String","height","type","Number","default","tag","VFooter","name","props","setup","_ref","slots","layoutItemStyles","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","elevationClasses","roundedClasses","autoHeight","resizeRef","entries","length","value","target","clientHeight","parseInt","layout","id","order","position","layoutSize","elementSize","undefined","active","absolute","_createVNode","class","style"],"sources":["../../../src/components/VFooter/VFooter.tsx"],"sourcesContent":["// Styles\nimport './VFooter.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watchEffect } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVFooterProps = propsFactory({\n app: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 'auto',\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'footer' }),\n ...makeThemeProps(),\n}, 'VFooter')\n\nexport const VFooter = genericComponent()({\n name: 'VFooter',\n\n props: makeVFooterProps(),\n\n setup (props, { slots }) {\n const layoutItemStyles = ref()\n\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const autoHeight = shallowRef(32)\n const { resizeRef } = useResizeObserver(entries => {\n if (!entries.length) return\n autoHeight.value = entries[0].target.clientHeight\n })\n const height = computed(() => props.height === 'auto' ? autoHeight.value : parseInt(props.height, 10))\n\n useToggleScope(() => props.app, () => {\n const layout = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: computed(() => 'bottom'),\n layoutSize: height,\n elementSize: computed(() => props.height === 'auto' ? undefined : height.value),\n active: computed(() => props.app),\n absolute: toRef(props, 'absolute'),\n })\n\n watchEffect(() => {\n layoutItemStyles.value = layout.layoutItemStyles.value\n })\n })\n\n useRender(() => (\n <props.tag\n ref={ resizeRef }\n class={[\n 'v-footer',\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.app ? layoutItemStyles.value : {\n height: convertToUnit(props.height),\n },\n props.style,\n ]}\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VFooter = InstanceType<typeof VFooter>\n"],"mappings":"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","ignoreList":[]}
@@ -33,7 +33,7 @@ declare const VFooter: {
33
33
  } | undefined;
34
34
  } & {
35
35
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
36
- }, any, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
36
+ }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
37
37
  absolute: boolean;
38
38
  height: string | number;
39
39
  order: string | number;
@@ -101,7 +101,7 @@ declare const VFooter: {
101
101
  } | undefined;
102
102
  } & {
103
103
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
104
- }, any, {}, {}, {}, {
104
+ }, {}, {}, {}, {}, {
105
105
  absolute: boolean;
106
106
  height: string | number;
107
107
  order: string | number;
@@ -139,7 +139,7 @@ declare const VFooter: {
139
139
  } | undefined;
140
140
  } & {
141
141
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
142
- }, any, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
142
+ }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
143
143
  absolute: boolean;
144
144
  height: string | number;
145
145
  order: string | number;