vuetify 3.7.0 → 3.7.2

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 (191) hide show
  1. package/dist/json/attributes.json +172 -172
  2. package/dist/json/importMap-labs.json +8 -8
  3. package/dist/json/importMap.json +160 -160
  4. package/dist/json/web-types.json +230 -219
  5. package/dist/vuetify-labs.css +1941 -1926
  6. package/dist/vuetify-labs.d.ts +4266 -2397
  7. package/dist/vuetify-labs.esm.js +107 -111
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +107 -111
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +1521 -1506
  12. package/dist/vuetify.d.ts +1282 -901
  13. package/dist/vuetify.esm.js +79 -54
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +79 -54
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +1087 -1086
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/blueprints/index.d.mts +4 -1
  21. package/lib/blueprints/md1.d.mts +4 -1
  22. package/lib/blueprints/md2.d.mts +4 -1
  23. package/lib/blueprints/md3.d.mts +4 -1
  24. package/lib/components/VAlert/index.d.mts +14 -11
  25. package/lib/components/VAppBar/index.d.mts +22 -19
  26. package/lib/components/VAutocomplete/index.d.mts +158 -110
  27. package/lib/components/VAvatar/VAvatar.css +1 -1
  28. package/lib/components/VAvatar/_variables.scss +1 -1
  29. package/lib/components/VAvatar/index.d.mts +8 -5
  30. package/lib/components/VBadge/index.d.mts +8 -5
  31. package/lib/components/VBanner/index.d.mts +18 -15
  32. package/lib/components/VBottomNavigation/index.d.mts +4 -4
  33. package/lib/components/VBottomSheet/index.d.mts +11 -11
  34. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +3 -5
  35. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  36. package/lib/components/VBreadcrumbs/index.d.mts +8 -5
  37. package/lib/components/VBtn/VBtn.mjs +3 -4
  38. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  39. package/lib/components/VBtn/index.d.mts +18 -15
  40. package/lib/components/VBtnGroup/index.d.mts +4 -4
  41. package/lib/components/VBtnToggle/index.d.mts +4 -4
  42. package/lib/components/VCard/VCard.mjs +3 -4
  43. package/lib/components/VCard/VCard.mjs.map +1 -1
  44. package/lib/components/VCard/index.d.mts +18 -15
  45. package/lib/components/VCarousel/index.d.mts +17 -14
  46. package/lib/components/VCheckbox/index.d.mts +8 -5
  47. package/lib/components/VChip/VChip.mjs +2 -3
  48. package/lib/components/VChip/VChip.mjs.map +1 -1
  49. package/lib/components/VChip/index.d.mts +12 -9
  50. package/lib/components/VChipGroup/index.d.mts +8 -5
  51. package/lib/components/VColorPicker/index.d.mts +22 -22
  52. package/lib/components/VCombobox/index.d.mts +158 -110
  53. package/lib/components/VDataTable/index.d.mts +18 -15
  54. package/lib/components/VDatePicker/index.d.mts +16 -13
  55. package/lib/components/VDialog/VDialog.css +4 -1
  56. package/lib/components/VDialog/VDialog.mjs +3 -2
  57. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  58. package/lib/components/VDialog/VDialog.sass +2 -1
  59. package/lib/components/VDialog/index.d.mts +89 -50
  60. package/lib/components/VEmptyState/index.d.mts +12 -9
  61. package/lib/components/VExpansionPanel/index.d.mts +8 -5
  62. package/lib/components/VFab/index.d.mts +22 -19
  63. package/lib/components/VField/index.d.mts +4 -1
  64. package/lib/components/VFileInput/index.d.mts +34 -7
  65. package/lib/components/VFooter/index.d.mts +4 -4
  66. package/lib/components/VForm/index.d.mts +96 -3
  67. package/lib/components/VIcon/index.d.mts +8 -5
  68. package/lib/components/VInfiniteScroll/VInfiniteScroll.css +13 -1
  69. package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs +6 -8
  70. package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
  71. package/lib/components/VInfiniteScroll/VInfiniteScroll.sass +10 -1
  72. package/lib/components/VInput/index.d.mts +6 -3
  73. package/lib/components/VItemGroup/index.d.mts +4 -4
  74. package/lib/components/VLabel/index.d.mts +4 -4
  75. package/lib/components/VList/VList.mjs +4 -2
  76. package/lib/components/VList/VList.mjs.map +1 -1
  77. package/lib/components/VList/VListItem.mjs +8 -6
  78. package/lib/components/VList/VListItem.mjs.map +1 -1
  79. package/lib/components/VList/index.d.mts +84 -24
  80. package/lib/components/VMenu/index.d.mts +92 -50
  81. package/lib/components/VMessages/index.d.mts +8 -8
  82. package/lib/components/VNavigationDrawer/index.d.mts +18 -18
  83. package/lib/components/VOtpInput/index.d.mts +4 -4
  84. package/lib/components/VOverlay/index.d.mts +11 -11
  85. package/lib/components/VPagination/index.d.mts +8 -5
  86. package/lib/components/VProgressCircular/index.d.mts +4 -4
  87. package/lib/components/VRadio/index.d.mts +4 -1
  88. package/lib/components/VRadioGroup/index.d.mts +6 -3
  89. package/lib/components/VRangeSlider/index.d.mts +12 -9
  90. package/lib/components/VRating/index.d.mts +4 -1
  91. package/lib/components/VSelect/index.d.mts +158 -110
  92. package/lib/components/VSelectionControl/index.d.mts +4 -1
  93. package/lib/components/VSelectionControlGroup/index.d.mts +4 -1
  94. package/lib/components/VSheet/index.d.mts +10 -10
  95. package/lib/components/VSkeletonLoader/index.d.mts +4 -4
  96. package/lib/components/VSlideGroup/index.d.mts +4 -1
  97. package/lib/components/VSlider/index.d.mts +12 -9
  98. package/lib/components/VSnackbar/index.d.mts +95 -62
  99. package/lib/components/VSpeedDial/index.d.mts +11 -11
  100. package/lib/components/VStepper/index.d.mts +12 -12
  101. package/lib/components/VSwitch/index.d.mts +6 -3
  102. package/lib/components/VSystemBar/index.d.mts +4 -4
  103. package/lib/components/VTabs/index.d.mts +69 -54
  104. package/lib/components/VTextField/index.d.mts +47 -14
  105. package/lib/components/VTextarea/index.d.mts +38 -11
  106. package/lib/components/VTimeline/index.d.mts +8 -5
  107. package/lib/components/VToolbar/index.d.mts +4 -4
  108. package/lib/components/VTooltip/index.d.mts +78 -45
  109. package/lib/components/VWindow/index.d.mts +10 -7
  110. package/lib/components/index.d.mts +1204 -814
  111. package/lib/components/index.mjs +1 -1
  112. package/lib/components/index.mjs.map +1 -1
  113. package/lib/composables/directiveComponent.mjs +1 -1
  114. package/lib/composables/directiveComponent.mjs.map +1 -1
  115. package/lib/composables/forwardRefs.mjs +2 -0
  116. package/lib/composables/forwardRefs.mjs.map +1 -1
  117. package/lib/composables/icons.mjs.map +1 -1
  118. package/lib/composables/index.mjs.map +1 -1
  119. package/lib/composables/nested/nested.mjs +18 -6
  120. package/lib/composables/nested/nested.mjs.map +1 -1
  121. package/lib/composables/nested/openStrategies.mjs +2 -4
  122. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  123. package/lib/composables/router.mjs +19 -9
  124. package/lib/composables/router.mjs.map +1 -1
  125. package/lib/directives/tooltip/index.mjs +1 -1
  126. package/lib/directives/tooltip/index.mjs.map +1 -1
  127. package/lib/entry-bundler.mjs +1 -1
  128. package/lib/framework.mjs +1 -1
  129. package/lib/iconsets/fa-svg.d.mts +4 -1
  130. package/lib/iconsets/fa.d.mts +4 -1
  131. package/lib/iconsets/fa4.d.mts +4 -1
  132. package/lib/iconsets/md.d.mts +4 -1
  133. package/lib/iconsets/mdi-svg.d.mts +4 -1
  134. package/lib/iconsets/mdi.d.mts +4 -1
  135. package/lib/index.d.mts +82 -88
  136. package/lib/labs/VDateInput/index.d.mts +16 -13
  137. package/lib/labs/VNumberInput/VNumberInput.mjs +7 -1
  138. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  139. package/lib/labs/VNumberInput/index.d.mts +2212 -730
  140. package/lib/labs/VPicker/index.d.mts +10 -10
  141. package/lib/labs/VSnackbarQueue/index.d.mts +128 -95
  142. package/lib/labs/VStepperVertical/index.d.mts +10 -7
  143. package/lib/labs/VTimePicker/VTimePicker.mjs +1 -1
  144. package/lib/labs/VTimePicker/VTimePicker.mjs.map +1 -1
  145. package/lib/labs/VTimePicker/VTimePickerControls.mjs +2 -2
  146. package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
  147. package/lib/labs/VTimePicker/index.d.mts +26 -26
  148. package/lib/labs/VTimePicker/util.mjs +5 -0
  149. package/lib/labs/VTimePicker/util.mjs.map +1 -0
  150. package/lib/labs/VTreeview/VTreeview.mjs +3 -12
  151. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
  152. package/lib/labs/VTreeview/VTreeviewChildren.mjs +1 -1
  153. package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
  154. package/lib/labs/VTreeview/VTreeviewItem.mjs +9 -20
  155. package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
  156. package/lib/labs/VTreeview/index.d.mts +44 -41
  157. package/lib/labs/components.d.mts +2515 -1000
  158. package/lib/util/helpers.mjs +7 -3
  159. package/lib/util/helpers.mjs.map +1 -1
  160. package/package.json +7 -13
  161. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs +0 -21
  162. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +0 -1
  163. package/lib/components/VDatePicker/util/eventHelpers.mjs +0 -22
  164. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +0 -1
  165. package/lib/components/VDatePicker/util/index.mjs +0 -9
  166. package/lib/components/VDatePicker/util/index.mjs.map +0 -1
  167. package/lib/components/VDatePicker/util/isDateAllowed.mjs +0 -7
  168. package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +0 -1
  169. package/lib/components/VDatePicker/util/monthChange.mjs +0 -18
  170. package/lib/components/VDatePicker/util/monthChange.mjs.map +0 -1
  171. package/lib/components/VDatePicker/util/pad.mjs +0 -21
  172. package/lib/components/VDatePicker/util/pad.mjs.map +0 -1
  173. package/lib/components/VDatePicker/util/sanitizeDateString.mjs +0 -12
  174. package/lib/components/VDatePicker/util/sanitizeDateString.mjs.map +0 -1
  175. package/lib/components/VTreeview/VTreeview.mjs +0 -350
  176. package/lib/components/VTreeview/VTreeview.mjs.map +0 -1
  177. package/lib/components/VTreeview/VTreeview.sass +0 -128
  178. package/lib/components/VTreeview/VTreeviewNode.mjs +0 -321
  179. package/lib/components/VTreeview/VTreeviewNode.mjs.map +0 -1
  180. package/lib/components/VTreeview/_mixins.sass +0 -18
  181. package/lib/components/VTreeview/_variables.scss +0 -10
  182. package/lib/components/VTreeview/index.mjs +0 -10
  183. package/lib/components/VTreeview/index.mjs.map +0 -1
  184. package/lib/components/VTreeview/util/filterTreeItems.mjs +0 -25
  185. package/lib/components/VTreeview/util/filterTreeItems.mjs.map +0 -1
  186. package/lib/services/goto/easing-patterns.mjs +0 -27
  187. package/lib/services/goto/easing-patterns.mjs.map +0 -1
  188. package/lib/services/goto/index.mjs +0 -73
  189. package/lib/services/goto/index.mjs.map +0 -1
  190. package/lib/services/goto/util.mjs +0 -39
  191. package/lib/services/goto/util.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import * as vue from 'vue';
2
- import { ComponentPropsOptions, ExtractPropTypes, VNodeChild, VNode, ComponentPublicInstance, PropType, JSXComponent, Ref, UnwrapRef, DeepReadonly } from 'vue';
2
+ import { ComponentPropsOptions, ExtractPropTypes, VNodeChild, VNode, ComponentPublicInstance, PropType, FunctionalComponent, Ref, UnwrapRef, DeepReadonly } from 'vue';
3
3
 
4
4
  type ClassValue = any;
5
5
 
@@ -51,6 +51,9 @@ declare const breakpoints: readonly ["sm", "md", "lg", "xl", "xxl"];
51
51
  type Breakpoint = typeof breakpoints[number];
52
52
  type DisplayBreakpoint = 'xs' | Breakpoint;
53
53
 
54
+ type JSXComponent<Props = any> = {
55
+ new (): ComponentPublicInstance<Props>;
56
+ } | FunctionalComponent<Props>;
54
57
  type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
55
58
  declare const IconValue: PropType<IconValue>;
56
59
 
@@ -917,7 +920,7 @@ declare const VDataTable: {
917
920
  'update:groupBy': (value: any) => true;
918
921
  'update:expanded': (value: any) => true;
919
922
  'update:currentItems': (value: any) => true;
920
- }, "$children" | "headers" | "v-slots" | "v-slot:default" | "modelValue" | "items" | "update:modelValue" | "v-slot:loader" | "v-slot:item" | "itemValue" | "v-slot:no-data" | "cellProps" | "itemSelectable" | "rowProps" | "v-slot:headers" | `v-slot:header.${string}` | "v-slot:data-table-group" | "v-slot:data-table-select" | `v-slot:item.${string}` | "v-slot:loading" | "v-slot:group-header" | "v-slot:expanded-row" | "v-slot:top" | "v-slot:bottom" | "v-slot:body" | "v-slot:colgroup" | "v-slot:tbody" | "v-slot:tfoot" | "v-slot:thead" | "v-slot:body.prepend" | "v-slot:body.append" | "v-slot:footer.prepend">, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
923
+ }, "headers" | "$children" | "v-slots" | "v-slot:default" | "modelValue" | "update:modelValue" | "items" | "v-slot:loader" | "v-slot:item" | "itemValue" | "v-slot:no-data" | "cellProps" | "itemSelectable" | "rowProps" | "v-slot:headers" | `v-slot:header.${string}` | "v-slot:data-table-group" | "v-slot:data-table-select" | `v-slot:item.${string}` | "v-slot:loading" | "v-slot:group-header" | "v-slot:expanded-row" | "v-slot:top" | "v-slot:bottom" | "v-slot:body" | "v-slot:colgroup" | "v-slot:tbody" | "v-slot:tfoot" | "v-slot:thead" | "v-slot:body.prepend" | "v-slot:body.append" | "v-slot:footer.prepend">, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
921
924
  page: string | number;
922
925
  expanded: readonly string[];
923
926
  style: vue.StyleValue;
@@ -1288,7 +1291,7 @@ declare const VDataTable: {
1288
1291
  'update:groupBy': (value: any) => true;
1289
1292
  'update:expanded': (value: any) => true;
1290
1293
  'update:currentItems': (value: any) => true;
1291
- }, "$children" | "headers" | "v-slots" | "v-slot:default" | "modelValue" | "items" | "update:modelValue" | "v-slot:loader" | "v-slot:item" | "itemValue" | "v-slot:no-data" | "cellProps" | "itemSelectable" | "rowProps" | "v-slot:headers" | `v-slot:header.${string}` | "v-slot:data-table-group" | "v-slot:data-table-select" | `v-slot:item.${string}` | "v-slot:loading" | "v-slot:group-header" | "v-slot:expanded-row" | "v-slot:top" | "v-slot:bottom" | "v-slot:body" | "v-slot:colgroup" | "v-slot:tbody" | "v-slot:tfoot" | "v-slot:thead" | "v-slot:body.prepend" | "v-slot:body.append" | "v-slot:footer.prepend">, string, {
1294
+ }, "headers" | "$children" | "v-slots" | "v-slot:default" | "modelValue" | "update:modelValue" | "items" | "v-slot:loader" | "v-slot:item" | "itemValue" | "v-slot:no-data" | "cellProps" | "itemSelectable" | "rowProps" | "v-slot:headers" | `v-slot:header.${string}` | "v-slot:data-table-group" | "v-slot:data-table-select" | `v-slot:item.${string}` | "v-slot:loading" | "v-slot:group-header" | "v-slot:expanded-row" | "v-slot:top" | "v-slot:bottom" | "v-slot:body" | "v-slot:colgroup" | "v-slot:tbody" | "v-slot:tfoot" | "v-slot:thead" | "v-slot:body.prepend" | "v-slot:body.append" | "v-slot:footer.prepend">, string, {
1292
1295
  page: string | number;
1293
1296
  expanded: readonly string[];
1294
1297
  style: vue.StyleValue;
@@ -2050,6 +2053,7 @@ declare const VDataTableVirtual: {
2050
2053
  color?: string | undefined;
2051
2054
  loading?: string | boolean | undefined;
2052
2055
  class?: any;
2056
+ theme?: string | undefined;
2053
2057
  headers?: readonly {
2054
2058
  readonly key?: ("data-table-group" | "data-table-select" | "data-table-expand" | (string & {})) | undefined;
2055
2059
  readonly value?: SelectItemKey<Record<string, any>>;
@@ -2095,7 +2099,6 @@ declare const VDataTableVirtual: {
2095
2099
  readonly children?: readonly any[] | undefined;
2096
2100
  }[] | undefined;
2097
2101
  }[] | undefined;
2098
- theme?: string | undefined;
2099
2102
  mobileBreakpoint?: number | DisplayBreakpoint | undefined;
2100
2103
  customFilter?: FilterFunction | undefined;
2101
2104
  customKeyFilter?: FilterKeyFunctions | undefined;
@@ -2113,7 +2116,7 @@ declare const VDataTableVirtual: {
2113
2116
  'update:options': (value: any) => true;
2114
2117
  'update:groupBy': (value: any) => true;
2115
2118
  'update:expanded': (value: any) => true;
2116
- }, "$children" | "v-slots" | "modelValue" | "items" | "update:modelValue" | "v-slot:loader" | "v-slot:item" | "itemValue" | "v-slot:no-data" | "cellProps" | "itemSelectable" | "rowProps" | "v-slot:headers" | `v-slot:header.${string}` | "v-slot:data-table-group" | "v-slot:data-table-select" | `v-slot:item.${string}` | "v-slot:loading" | "v-slot:group-header" | "v-slot:expanded-row" | "v-slot:top" | "v-slot:bottom" | "v-slot:colgroup" | "v-slot:body.prepend" | "v-slot:body.append">, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
2119
+ }, "$children" | "v-slots" | "modelValue" | "update:modelValue" | "items" | "v-slot:loader" | "v-slot:item" | "itemValue" | "v-slot:no-data" | "cellProps" | "itemSelectable" | "rowProps" | "v-slot:headers" | `v-slot:header.${string}` | "v-slot:data-table-group" | "v-slot:data-table-select" | `v-slot:item.${string}` | "v-slot:loading" | "v-slot:group-header" | "v-slot:expanded-row" | "v-slot:top" | "v-slot:bottom" | "v-slot:colgroup" | "v-slot:body.prepend" | "v-slot:body.append">, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
2117
2120
  expanded: readonly string[];
2118
2121
  style: vue.StyleValue;
2119
2122
  mobile: boolean | null;
@@ -2152,6 +2155,7 @@ declare const VDataTableVirtual: {
2152
2155
  color?: string | undefined;
2153
2156
  loading?: string | boolean | undefined;
2154
2157
  class?: any;
2158
+ theme?: string | undefined;
2155
2159
  headers?: readonly {
2156
2160
  readonly key?: ("data-table-group" | "data-table-select" | "data-table-expand" | (string & {})) | undefined;
2157
2161
  readonly value?: SelectItemKey<Record<string, any>>;
@@ -2197,7 +2201,6 @@ declare const VDataTableVirtual: {
2197
2201
  readonly children?: readonly any[] | undefined;
2198
2202
  }[] | undefined;
2199
2203
  }[] | undefined;
2200
- theme?: string | undefined;
2201
2204
  mobileBreakpoint?: number | DisplayBreakpoint | undefined;
2202
2205
  customFilter?: FilterFunction | undefined;
2203
2206
  customKeyFilter?: FilterKeyFunctions | undefined;
@@ -2328,6 +2331,7 @@ declare const VDataTableVirtual: {
2328
2331
  color?: string | undefined;
2329
2332
  loading?: string | boolean | undefined;
2330
2333
  class?: any;
2334
+ theme?: string | undefined;
2331
2335
  headers?: readonly {
2332
2336
  readonly key?: ("data-table-group" | "data-table-select" | "data-table-expand" | (string & {})) | undefined;
2333
2337
  readonly value?: SelectItemKey<Record<string, any>>;
@@ -2373,7 +2377,6 @@ declare const VDataTableVirtual: {
2373
2377
  readonly children?: readonly any[] | undefined;
2374
2378
  }[] | undefined;
2375
2379
  }[] | undefined;
2376
- theme?: string | undefined;
2377
2380
  mobileBreakpoint?: number | DisplayBreakpoint | undefined;
2378
2381
  customFilter?: FilterFunction | undefined;
2379
2382
  customKeyFilter?: FilterKeyFunctions | undefined;
@@ -2460,6 +2463,7 @@ declare const VDataTableVirtual: {
2460
2463
  color?: string | undefined;
2461
2464
  loading?: string | boolean | undefined;
2462
2465
  class?: any;
2466
+ theme?: string | undefined;
2463
2467
  headers?: readonly {
2464
2468
  readonly key?: ("data-table-group" | "data-table-select" | "data-table-expand" | (string & {})) | undefined;
2465
2469
  readonly value?: SelectItemKey<Record<string, any>>;
@@ -2505,7 +2509,6 @@ declare const VDataTableVirtual: {
2505
2509
  readonly children?: readonly any[] | undefined;
2506
2510
  }[] | undefined;
2507
2511
  }[] | undefined;
2508
- theme?: string | undefined;
2509
2512
  mobileBreakpoint?: number | DisplayBreakpoint | undefined;
2510
2513
  customFilter?: FilterFunction | undefined;
2511
2514
  customKeyFilter?: FilterKeyFunctions | undefined;
@@ -2523,7 +2526,7 @@ declare const VDataTableVirtual: {
2523
2526
  'update:options': (value: any) => true;
2524
2527
  'update:groupBy': (value: any) => true;
2525
2528
  'update:expanded': (value: any) => true;
2526
- }, "$children" | "v-slots" | "modelValue" | "items" | "update:modelValue" | "v-slot:loader" | "v-slot:item" | "itemValue" | "v-slot:no-data" | "cellProps" | "itemSelectable" | "rowProps" | "v-slot:headers" | `v-slot:header.${string}` | "v-slot:data-table-group" | "v-slot:data-table-select" | `v-slot:item.${string}` | "v-slot:loading" | "v-slot:group-header" | "v-slot:expanded-row" | "v-slot:top" | "v-slot:bottom" | "v-slot:colgroup" | "v-slot:body.prepend" | "v-slot:body.append">, string, {
2529
+ }, "$children" | "v-slots" | "modelValue" | "update:modelValue" | "items" | "v-slot:loader" | "v-slot:item" | "itemValue" | "v-slot:no-data" | "cellProps" | "itemSelectable" | "rowProps" | "v-slot:headers" | `v-slot:header.${string}` | "v-slot:data-table-group" | "v-slot:data-table-select" | `v-slot:item.${string}` | "v-slot:loading" | "v-slot:group-header" | "v-slot:expanded-row" | "v-slot:top" | "v-slot:bottom" | "v-slot:colgroup" | "v-slot:body.prepend" | "v-slot:body.append">, string, {
2527
2530
  expanded: readonly string[];
2528
2531
  style: vue.StyleValue;
2529
2532
  mobile: boolean | null;
@@ -2887,6 +2890,7 @@ declare const VDataTableServer: {
2887
2890
  color?: string | undefined;
2888
2891
  loading?: string | boolean | undefined;
2889
2892
  class?: any;
2893
+ theme?: string | undefined;
2890
2894
  headers?: readonly {
2891
2895
  readonly key?: ("data-table-group" | "data-table-select" | "data-table-expand" | (string & {})) | undefined;
2892
2896
  readonly value?: SelectItemKey<Record<string, any>>;
@@ -2932,7 +2936,6 @@ declare const VDataTableServer: {
2932
2936
  readonly children?: readonly any[] | undefined;
2933
2937
  }[] | undefined;
2934
2938
  }[] | undefined;
2935
- theme?: string | undefined;
2936
2939
  mobileBreakpoint?: number | DisplayBreakpoint | undefined;
2937
2940
  customKeySort?: Record<string, DataTableCompareFunction> | undefined;
2938
2941
  headerProps?: Record<string, any> | undefined;
@@ -2951,7 +2954,7 @@ declare const VDataTableServer: {
2951
2954
  'update:options': (options: any) => true;
2952
2955
  'update:expanded': (options: any) => true;
2953
2956
  'update:groupBy': (value: any) => true;
2954
- }, "$children" | "v-slots" | "v-slot:default" | "modelValue" | "items" | "update:modelValue" | "v-slot:loader" | "v-slot:item" | "itemValue" | "v-slot:no-data" | "cellProps" | "itemSelectable" | "rowProps" | "v-slot:headers" | `v-slot:header.${string}` | "v-slot:data-table-group" | "v-slot:data-table-select" | `v-slot:item.${string}` | "v-slot:loading" | "v-slot:group-header" | "v-slot:expanded-row" | "v-slot:top" | "v-slot:bottom" | "v-slot:body" | "v-slot:colgroup" | "v-slot:tbody" | "v-slot:tfoot" | "v-slot:thead" | "v-slot:body.prepend" | "v-slot:body.append" | "v-slot:footer.prepend">, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
2957
+ }, "$children" | "v-slots" | "v-slot:default" | "modelValue" | "update:modelValue" | "items" | "v-slot:loader" | "v-slot:item" | "itemValue" | "v-slot:no-data" | "cellProps" | "itemSelectable" | "rowProps" | "v-slot:headers" | `v-slot:header.${string}` | "v-slot:data-table-group" | "v-slot:data-table-select" | `v-slot:item.${string}` | "v-slot:loading" | "v-slot:group-header" | "v-slot:expanded-row" | "v-slot:top" | "v-slot:bottom" | "v-slot:body" | "v-slot:colgroup" | "v-slot:tbody" | "v-slot:tfoot" | "v-slot:thead" | "v-slot:body.prepend" | "v-slot:body.append" | "v-slot:footer.prepend">, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
2955
2958
  page: string | number;
2956
2959
  expanded: readonly string[];
2957
2960
  style: vue.StyleValue;
@@ -3005,6 +3008,7 @@ declare const VDataTableServer: {
3005
3008
  color?: string | undefined;
3006
3009
  loading?: string | boolean | undefined;
3007
3010
  class?: any;
3011
+ theme?: string | undefined;
3008
3012
  headers?: readonly {
3009
3013
  readonly key?: ("data-table-group" | "data-table-select" | "data-table-expand" | (string & {})) | undefined;
3010
3014
  readonly value?: SelectItemKey<Record<string, any>>;
@@ -3050,7 +3054,6 @@ declare const VDataTableServer: {
3050
3054
  readonly children?: readonly any[] | undefined;
3051
3055
  }[] | undefined;
3052
3056
  }[] | undefined;
3053
- theme?: string | undefined;
3054
3057
  mobileBreakpoint?: number | DisplayBreakpoint | undefined;
3055
3058
  customKeySort?: Record<string, DataTableCompareFunction> | undefined;
3056
3059
  headerProps?: Record<string, any> | undefined;
@@ -3213,6 +3216,7 @@ declare const VDataTableServer: {
3213
3216
  color?: string | undefined;
3214
3217
  loading?: string | boolean | undefined;
3215
3218
  class?: any;
3219
+ theme?: string | undefined;
3216
3220
  headers?: readonly {
3217
3221
  readonly key?: ("data-table-group" | "data-table-select" | "data-table-expand" | (string & {})) | undefined;
3218
3222
  readonly value?: SelectItemKey<Record<string, any>>;
@@ -3258,7 +3262,6 @@ declare const VDataTableServer: {
3258
3262
  readonly children?: readonly any[] | undefined;
3259
3263
  }[] | undefined;
3260
3264
  }[] | undefined;
3261
- theme?: string | undefined;
3262
3265
  mobileBreakpoint?: number | DisplayBreakpoint | undefined;
3263
3266
  customKeySort?: Record<string, DataTableCompareFunction> | undefined;
3264
3267
  headerProps?: Record<string, any> | undefined;
@@ -3373,6 +3376,7 @@ declare const VDataTableServer: {
3373
3376
  color?: string | undefined;
3374
3377
  loading?: string | boolean | undefined;
3375
3378
  class?: any;
3379
+ theme?: string | undefined;
3376
3380
  headers?: readonly {
3377
3381
  readonly key?: ("data-table-group" | "data-table-select" | "data-table-expand" | (string & {})) | undefined;
3378
3382
  readonly value?: SelectItemKey<Record<string, any>>;
@@ -3418,7 +3422,6 @@ declare const VDataTableServer: {
3418
3422
  readonly children?: readonly any[] | undefined;
3419
3423
  }[] | undefined;
3420
3424
  }[] | undefined;
3421
- theme?: string | undefined;
3422
3425
  mobileBreakpoint?: number | DisplayBreakpoint | undefined;
3423
3426
  customKeySort?: Record<string, DataTableCompareFunction> | undefined;
3424
3427
  headerProps?: Record<string, any> | undefined;
@@ -3437,7 +3440,7 @@ declare const VDataTableServer: {
3437
3440
  'update:options': (options: any) => true;
3438
3441
  'update:expanded': (options: any) => true;
3439
3442
  'update:groupBy': (value: any) => true;
3440
- }, "$children" | "v-slots" | "v-slot:default" | "modelValue" | "items" | "update:modelValue" | "v-slot:loader" | "v-slot:item" | "itemValue" | "v-slot:no-data" | "cellProps" | "itemSelectable" | "rowProps" | "v-slot:headers" | `v-slot:header.${string}` | "v-slot:data-table-group" | "v-slot:data-table-select" | `v-slot:item.${string}` | "v-slot:loading" | "v-slot:group-header" | "v-slot:expanded-row" | "v-slot:top" | "v-slot:bottom" | "v-slot:body" | "v-slot:colgroup" | "v-slot:tbody" | "v-slot:tfoot" | "v-slot:thead" | "v-slot:body.prepend" | "v-slot:body.append" | "v-slot:footer.prepend">, string, {
3443
+ }, "$children" | "v-slots" | "v-slot:default" | "modelValue" | "update:modelValue" | "items" | "v-slot:loader" | "v-slot:item" | "itemValue" | "v-slot:no-data" | "cellProps" | "itemSelectable" | "rowProps" | "v-slot:headers" | `v-slot:header.${string}` | "v-slot:data-table-group" | "v-slot:data-table-select" | `v-slot:item.${string}` | "v-slot:loading" | "v-slot:group-header" | "v-slot:expanded-row" | "v-slot:top" | "v-slot:bottom" | "v-slot:body" | "v-slot:colgroup" | "v-slot:tbody" | "v-slot:tfoot" | "v-slot:thead" | "v-slot:body.prepend" | "v-slot:body.append" | "v-slot:footer.prepend">, string, {
3441
3444
  page: string | number;
3442
3445
  expanded: readonly string[];
3443
3446
  style: vue.StyleValue;
@@ -1,5 +1,5 @@
1
1
  import * as vue from 'vue';
2
- import { ComponentPropsOptions, ExtractPropTypes, VNodeChild, VNode, JSXComponent, PropType } from 'vue';
2
+ import { ComponentPropsOptions, ExtractPropTypes, VNodeChild, VNode, PropType, ComponentPublicInstance, FunctionalComponent } from 'vue';
3
3
 
4
4
  type ClassValue = any;
5
5
 
@@ -38,6 +38,9 @@ interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions
38
38
  filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
39
39
  }
40
40
 
41
+ type JSXComponent<Props = any> = {
42
+ new (): ComponentPublicInstance<Props>;
43
+ } | FunctionalComponent<Props>;
41
44
  type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
42
45
  declare const IconValue: PropType<IconValue>;
43
46
 
@@ -88,13 +91,13 @@ declare const VDatePicker: {
88
91
  maxWidth?: string | number | undefined;
89
92
  minHeight?: string | number | undefined;
90
93
  minWidth?: string | number | undefined;
91
- position?: "fixed" | "absolute" | "static" | "sticky" | "relative" | undefined;
94
+ position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
92
95
  text?: string | undefined;
93
96
  month?: string | number | undefined;
94
97
  year?: number | undefined;
95
98
  class?: any;
96
- elevation?: string | number | undefined;
97
99
  theme?: string | undefined;
100
+ elevation?: string | number | undefined;
98
101
  rounded?: string | number | boolean | undefined;
99
102
  bgColor?: string | undefined;
100
103
  firstDayOfWeek?: string | number | undefined;
@@ -109,7 +112,7 @@ declare const VDatePicker: {
109
112
  'update:month': (date: any) => true;
110
113
  'update:year': (date: any) => true;
111
114
  'update:viewMode': (date: any) => true;
112
- }, "multiple" | "$children" | "v-slots" | "v-slot:default" | "modelValue" | "v-slot:title" | "update:modelValue" | "v-slot:header" | "v-slot:actions">, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
115
+ }, "multiple" | "$children" | "v-slots" | "v-slot:default" | "modelValue" | "update:modelValue" | "v-slot:title" | "v-slot:header" | "v-slot:actions">, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
113
116
  transition: string;
114
117
  header: string;
115
118
  style: vue.StyleValue;
@@ -142,13 +145,13 @@ declare const VDatePicker: {
142
145
  maxWidth?: string | number | undefined;
143
146
  minHeight?: string | number | undefined;
144
147
  minWidth?: string | number | undefined;
145
- position?: "fixed" | "absolute" | "static" | "sticky" | "relative" | undefined;
148
+ position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
146
149
  text?: string | undefined;
147
150
  month?: string | number | undefined;
148
151
  year?: number | undefined;
149
152
  class?: any;
150
- elevation?: string | number | undefined;
151
153
  theme?: string | undefined;
154
+ elevation?: string | number | undefined;
152
155
  rounded?: string | number | boolean | undefined;
153
156
  bgColor?: string | undefined;
154
157
  firstDayOfWeek?: string | number | undefined;
@@ -228,13 +231,13 @@ declare const VDatePicker: {
228
231
  maxWidth?: string | number | undefined;
229
232
  minHeight?: string | number | undefined;
230
233
  minWidth?: string | number | undefined;
231
- position?: "fixed" | "absolute" | "static" | "sticky" | "relative" | undefined;
234
+ position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
232
235
  text?: string | undefined;
233
236
  month?: string | number | undefined;
234
237
  year?: number | undefined;
235
238
  class?: any;
236
- elevation?: string | number | undefined;
237
239
  theme?: string | undefined;
240
+ elevation?: string | number | undefined;
238
241
  rounded?: string | number | boolean | undefined;
239
242
  bgColor?: string | undefined;
240
243
  firstDayOfWeek?: string | number | undefined;
@@ -303,13 +306,13 @@ declare const VDatePicker: {
303
306
  maxWidth?: string | number | undefined;
304
307
  minHeight?: string | number | undefined;
305
308
  minWidth?: string | number | undefined;
306
- position?: "fixed" | "absolute" | "static" | "sticky" | "relative" | undefined;
309
+ position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
307
310
  text?: string | undefined;
308
311
  month?: string | number | undefined;
309
312
  year?: number | undefined;
310
313
  class?: any;
311
- elevation?: string | number | undefined;
312
314
  theme?: string | undefined;
315
+ elevation?: string | number | undefined;
313
316
  rounded?: string | number | boolean | undefined;
314
317
  bgColor?: string | undefined;
315
318
  firstDayOfWeek?: string | number | undefined;
@@ -324,7 +327,7 @@ declare const VDatePicker: {
324
327
  'update:month': (date: any) => true;
325
328
  'update:year': (date: any) => true;
326
329
  'update:viewMode': (date: any) => true;
327
- }, "multiple" | "$children" | "v-slots" | "v-slot:default" | "modelValue" | "v-slot:title" | "update:modelValue" | "v-slot:header" | "v-slot:actions">, string, {
330
+ }, "multiple" | "$children" | "v-slots" | "v-slot:default" | "modelValue" | "update:modelValue" | "v-slot:title" | "v-slot:header" | "v-slot:actions">, string, {
328
331
  active: string | string[];
329
332
  transition: string;
330
333
  header: string;
@@ -371,7 +374,7 @@ declare const VDatePicker: {
371
374
  };
372
375
  tile: BooleanConstructor;
373
376
  position: {
374
- type: vue.PropType<"fixed" | "absolute" | "static" | "sticky" | "relative">;
377
+ type: vue.PropType<"fixed" | "absolute" | "relative" | "static" | "sticky">;
375
378
  validator: (v: any) => boolean;
376
379
  };
377
380
  location: vue.PropType<Anchor | null>;
@@ -483,7 +486,7 @@ declare const VDatePicker: {
483
486
  };
484
487
  tile: BooleanConstructor;
485
488
  position: {
486
- type: vue.PropType<"fixed" | "absolute" | "static" | "sticky" | "relative">;
489
+ type: vue.PropType<"fixed" | "absolute" | "relative" | "static" | "sticky">;
487
490
  validator: (v: any) => boolean;
488
491
  };
489
492
  location: vue.PropType<Anchor | null>;
@@ -62,13 +62,16 @@
62
62
  margin: 0;
63
63
  padding: 0;
64
64
  width: 100%;
65
- height: 100%;
66
65
  max-width: 100%;
67
66
  max-height: 100%;
68
67
  overflow-y: auto;
69
68
  top: 0;
70
69
  left: 0;
71
70
  }
71
+ .v-dialog--fullscreen > .v-overlay__content,
72
+ .v-dialog--fullscreen > .v-overlay__content > form {
73
+ height: 100%;
74
+ }
72
75
  .v-dialog--fullscreen > .v-overlay__content > .v-card,
73
76
  .v-dialog--fullscreen > .v-overlay__content > .v-sheet,
74
77
  .v-dialog--fullscreen > .v-overlay__content > form > .v-card,
@@ -33,6 +33,7 @@ export const VDialog = genericComponent()({
33
33
  props: makeVDialogProps(),
34
34
  emits: {
35
35
  'update:modelValue': value => true,
36
+ afterEnter: () => true,
36
37
  afterLeave: () => true
37
38
  },
38
39
  setup(props, _ref) {
@@ -74,6 +75,7 @@ export const VDialog = genericComponent()({
74
75
  });
75
76
  }
76
77
  function onAfterEnter() {
78
+ emit('afterEnter');
77
79
  if (overlay.value?.contentEl && !overlay.value.contentEl.contains(document.activeElement)) {
78
80
  overlay.value.contentEl.focus({
79
81
  preventScroll: true
@@ -94,8 +96,7 @@ export const VDialog = genericComponent()({
94
96
  useRender(() => {
95
97
  const overlayProps = VOverlay.filterProps(props);
96
98
  const activatorProps = mergeProps({
97
- 'aria-haspopup': 'dialog',
98
- 'aria-expanded': String(isActive.value)
99
+ 'aria-haspopup': 'dialog'
99
100
  }, props.activatorProps);
100
101
  const contentProps = mergeProps({
101
102
  tabindex: -1
@@ -1 +1 @@
1
- {"version":3,"file":"VDialog.mjs","names":["VDialogTransition","VDefaultsProvider","VOverlay","makeVOverlayProps","forwardRefs","useProxiedModel","useScopeId","mergeProps","nextTick","ref","watch","focusableChildren","genericComponent","IN_BROWSER","propsFactory","useRender","makeVDialogProps","fullscreen","Boolean","retainFocus","type","default","scrollable","origin","scrollStrategy","transition","component","zIndex","VDialog","name","props","emits","value","afterLeave","setup","_ref","emit","slots","isActive","scopeId","overlay","onFocusin","e","before","relatedTarget","after","target","contentEl","globalTop","document","includes","contains","focusable","length","firstElement","lastElement","focus","val","addEventListener","removeEventListener","immediate","onAfterEnter","activeElement","preventScroll","onAfterLeave","activatorEl","overlayProps","filterProps","activatorProps","String","contentProps","tabindex","_createVNode","_mergeProps","class","style","$event","activator","_len","arguments","args","Array","_key"],"sources":["../../../src/components/VDialog/VDialog.tsx"],"sourcesContent":["// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VOverlay } from '@/components/VOverlay'\nimport { makeVOverlayProps } from '@/components/VOverlay/VOverlay'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\n\n// Utilities\nimport { mergeProps, nextTick, ref, watch } from 'vue'\nimport { focusableChildren, genericComponent, IN_BROWSER, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { Component } from 'vue'\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const makeVDialogProps = propsFactory({\n fullscreen: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n\n ...makeVOverlayProps({\n origin: 'center center' as const,\n scrollStrategy: 'block' as const,\n transition: { component: VDialogTransition as Component },\n zIndex: 2400,\n }),\n}, 'VDialog')\n\nexport const VDialog = genericComponent<OverlaySlots>()({\n name: 'VDialog',\n\n props: makeVDialogProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n afterLeave: () => true,\n },\n\n setup (props, { emit, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { scopeId } = useScopeId()\n\n const overlay = ref<VOverlay>()\n function onFocusin (e: FocusEvent) {\n const before = e.relatedTarget as HTMLElement | null\n const after = e.target as HTMLElement | null\n\n if (\n before !== after &&\n overlay.value?.contentEl &&\n // We're the topmost dialog\n overlay.value?.globalTop &&\n // It isn't the document or the dialog body\n ![document, overlay.value.contentEl].includes(after!) &&\n // It isn't inside the dialog body\n !overlay.value.contentEl.contains(after)\n ) {\n const focusable = focusableChildren(overlay.value.contentEl)\n\n if (!focusable.length) return\n\n const firstElement = focusable[0]\n const lastElement = focusable[focusable.length - 1]\n\n if (before === firstElement) {\n lastElement.focus()\n } else {\n firstElement.focus()\n }\n }\n }\n\n if (IN_BROWSER) {\n watch(() => isActive.value && props.retainFocus, val => {\n val\n ? document.addEventListener('focusin', onFocusin)\n : document.removeEventListener('focusin', onFocusin)\n }, { immediate: true })\n }\n\n function onAfterEnter () {\n if (overlay.value?.contentEl && !overlay.value.contentEl.contains(document.activeElement)) {\n overlay.value.contentEl.focus({ preventScroll: true })\n }\n }\n\n function onAfterLeave () {\n emit('afterLeave')\n }\n\n watch(isActive, async val => {\n if (!val) {\n await nextTick()\n overlay.value!.activatorEl?.focus({ preventScroll: true })\n }\n })\n\n useRender(() => {\n const overlayProps = VOverlay.filterProps(props)\n const activatorProps = mergeProps({\n 'aria-haspopup': 'dialog',\n 'aria-expanded': String(isActive.value),\n }, props.activatorProps)\n const contentProps = mergeProps({\n tabindex: -1,\n }, props.contentProps)\n\n return (\n <VOverlay\n ref={ overlay }\n class={[\n 'v-dialog',\n {\n 'v-dialog--fullscreen': props.fullscreen,\n 'v-dialog--scrollable': props.scrollable,\n },\n props.class,\n ]}\n style={ props.style }\n { ...overlayProps }\n v-model={ isActive.value }\n aria-modal=\"true\"\n activatorProps={ activatorProps }\n contentProps={ contentProps }\n role=\"dialog\"\n onAfterEnter={ onAfterEnter }\n onAfterLeave={ onAfterLeave }\n { ...scopeId }\n >\n {{\n activator: slots.activator,\n default: (...args) => (\n <VDefaultsProvider root=\"VDialog\">\n { slots.default?.(...args) }\n </VDefaultsProvider>\n ),\n }}\n </VOverlay>\n )\n })\n\n return forwardRefs({}, overlay)\n },\n})\n\nexport type VDialog = InstanceType<typeof VDialog>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VDialog.mjs","names":["VDialogTransition","VDefaultsProvider","VOverlay","makeVOverlayProps","forwardRefs","useProxiedModel","useScopeId","mergeProps","nextTick","ref","watch","focusableChildren","genericComponent","IN_BROWSER","propsFactory","useRender","makeVDialogProps","fullscreen","Boolean","retainFocus","type","default","scrollable","origin","scrollStrategy","transition","component","zIndex","VDialog","name","props","emits","value","afterEnter","afterLeave","setup","_ref","emit","slots","isActive","scopeId","overlay","onFocusin","e","before","relatedTarget","after","target","contentEl","globalTop","document","includes","contains","focusable","length","firstElement","lastElement","focus","val","addEventListener","removeEventListener","immediate","onAfterEnter","activeElement","preventScroll","onAfterLeave","activatorEl","overlayProps","filterProps","activatorProps","contentProps","tabindex","_createVNode","_mergeProps","class","style","$event","activator","_len","arguments","args","Array","_key"],"sources":["../../../src/components/VDialog/VDialog.tsx"],"sourcesContent":["// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VOverlay } from '@/components/VOverlay'\nimport { makeVOverlayProps } from '@/components/VOverlay/VOverlay'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\n\n// Utilities\nimport { mergeProps, nextTick, ref, watch } from 'vue'\nimport { focusableChildren, genericComponent, IN_BROWSER, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { Component } from 'vue'\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const makeVDialogProps = propsFactory({\n fullscreen: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n\n ...makeVOverlayProps({\n origin: 'center center' as const,\n scrollStrategy: 'block' as const,\n transition: { component: VDialogTransition as Component },\n zIndex: 2400,\n }),\n}, 'VDialog')\n\nexport const VDialog = genericComponent<OverlaySlots>()({\n name: 'VDialog',\n\n props: makeVDialogProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n afterEnter: () => true,\n afterLeave: () => true,\n },\n\n setup (props, { emit, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { scopeId } = useScopeId()\n\n const overlay = ref<VOverlay>()\n function onFocusin (e: FocusEvent) {\n const before = e.relatedTarget as HTMLElement | null\n const after = e.target as HTMLElement | null\n\n if (\n before !== after &&\n overlay.value?.contentEl &&\n // We're the topmost dialog\n overlay.value?.globalTop &&\n // It isn't the document or the dialog body\n ![document, overlay.value.contentEl].includes(after!) &&\n // It isn't inside the dialog body\n !overlay.value.contentEl.contains(after)\n ) {\n const focusable = focusableChildren(overlay.value.contentEl)\n\n if (!focusable.length) return\n\n const firstElement = focusable[0]\n const lastElement = focusable[focusable.length - 1]\n\n if (before === firstElement) {\n lastElement.focus()\n } else {\n firstElement.focus()\n }\n }\n }\n\n if (IN_BROWSER) {\n watch(() => isActive.value && props.retainFocus, val => {\n val\n ? document.addEventListener('focusin', onFocusin)\n : document.removeEventListener('focusin', onFocusin)\n }, { immediate: true })\n }\n\n function onAfterEnter () {\n emit('afterEnter')\n if (overlay.value?.contentEl && !overlay.value.contentEl.contains(document.activeElement)) {\n overlay.value.contentEl.focus({ preventScroll: true })\n }\n }\n\n function onAfterLeave () {\n emit('afterLeave')\n }\n\n watch(isActive, async val => {\n if (!val) {\n await nextTick()\n overlay.value!.activatorEl?.focus({ preventScroll: true })\n }\n })\n\n useRender(() => {\n const overlayProps = VOverlay.filterProps(props)\n const activatorProps = mergeProps({\n 'aria-haspopup': 'dialog',\n }, props.activatorProps)\n const contentProps = mergeProps({\n tabindex: -1,\n }, props.contentProps)\n\n return (\n <VOverlay\n ref={ overlay }\n class={[\n 'v-dialog',\n {\n 'v-dialog--fullscreen': props.fullscreen,\n 'v-dialog--scrollable': props.scrollable,\n },\n props.class,\n ]}\n style={ props.style }\n { ...overlayProps }\n v-model={ isActive.value }\n aria-modal=\"true\"\n activatorProps={ activatorProps }\n contentProps={ contentProps }\n role=\"dialog\"\n onAfterEnter={ onAfterEnter }\n onAfterLeave={ onAfterLeave }\n { ...scopeId }\n >\n {{\n activator: slots.activator,\n default: (...args) => (\n <VDefaultsProvider root=\"VDialog\">\n { slots.default?.(...args) }\n </VDefaultsProvider>\n ),\n }}\n </VOverlay>\n )\n })\n\n return forwardRefs({}, overlay)\n },\n})\n\nexport type VDialog = InstanceType<typeof VDialog>\n"],"mappings":"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","ignoreList":[]}
@@ -54,7 +54,6 @@
54
54
  margin: 0
55
55
  padding: 0
56
56
  width: 100%
57
- height: 100%
58
57
  max-width: 100%
59
58
  max-height: 100%
60
59
  overflow-y: auto
@@ -63,6 +62,8 @@
63
62
 
64
63
  &,
65
64
  > form
65
+ height: 100%
66
+
66
67
  > .v-card,
67
68
  > .v-sheet
68
69
  min-height: 100%