@vuetify/nightly 3.7.0-beta.1-dev.2024-07-29 → 3.7.0-beta.1-dev.2024-08-01

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 (135) hide show
  1. package/dist/json/attributes.json +17 -5
  2. package/dist/json/importMap-labs.json +12 -12
  3. package/dist/json/importMap.json +112 -112
  4. package/dist/json/tags.json +3 -0
  5. package/dist/json/web-types.json +44 -14
  6. package/dist/vuetify-labs.css +4400 -3677
  7. package/dist/vuetify-labs.d.ts +219 -117
  8. package/dist/vuetify-labs.esm.js +125 -77
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +125 -77
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +3534 -2811
  13. package/dist/vuetify.d.ts +230 -146
  14. package/dist/vuetify.esm.js +62 -39
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +62 -39
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +52 -51
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAlert/VAlert.css +5 -1
  22. package/lib/components/VAutocomplete/VAutocomplete.css +4 -0
  23. package/lib/components/VAutocomplete/index.d.mts +42 -24
  24. package/lib/components/VAvatar/VAvatar.css +8 -4
  25. package/lib/components/VAvatar/VAvatar.mjs +1 -1
  26. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  27. package/lib/components/VBadge/VBadge.css +2 -0
  28. package/lib/components/VBanner/VBanner.css +12 -4
  29. package/lib/components/VBottomNavigation/VBottomNavigation.css +11 -3
  30. package/lib/components/VBottomSheet/VBottomSheet.css +2 -0
  31. package/lib/components/VBtn/VBtn.css +16 -9
  32. package/lib/components/VBtn/VBtn.mjs +1 -1
  33. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  34. package/lib/components/VBtn/VBtn.sass +4 -4
  35. package/lib/components/VBtnGroup/VBtnGroup.css +12 -4
  36. package/lib/components/VCard/VCard.css +9 -1
  37. package/lib/components/VCarousel/VCarousel.css +2 -0
  38. package/lib/components/VChip/VChip.css +15 -9
  39. package/lib/components/VChip/VChip.sass +1 -1
  40. package/lib/components/VColorPicker/VColorPicker.css +2 -0
  41. package/lib/components/VColorPicker/VColorPicker.sass +4 -4
  42. package/lib/components/VColorPicker/VColorPickerPreview.sass +4 -4
  43. package/lib/components/VCombobox/VCombobox.css +4 -0
  44. package/lib/components/VCombobox/index.d.mts +42 -24
  45. package/lib/components/VDialog/VDialog.css +5 -0
  46. package/lib/components/VDialog/index.d.mts +3 -3
  47. package/lib/components/VDivider/VDivider.css +2 -0
  48. package/lib/components/VExpansionPanel/VExpansionPanel.css +11 -5
  49. package/lib/components/VExpansionPanel/VExpansionPanel.sass +3 -3
  50. package/lib/components/VField/VField.css +13 -1
  51. package/lib/components/VField/VField.sass +5 -8
  52. package/lib/components/VFooter/VFooter.css +12 -4
  53. package/lib/components/VFooter/VFooter.mjs +20 -14
  54. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  55. package/lib/components/VFooter/index.d.mts +3 -3
  56. package/lib/components/VGrid/VGrid.sass +1 -1
  57. package/lib/components/VGrid/_mixins.sass +4 -4
  58. package/lib/components/VImg/VImg.css +6 -0
  59. package/lib/components/VKbd/VKbd.css +2 -0
  60. package/lib/components/VList/VList.css +12 -4
  61. package/lib/components/VList/VListItem.css +21 -11
  62. package/lib/components/VList/VListItem.mjs +1 -1
  63. package/lib/components/VList/VListItem.mjs.map +1 -1
  64. package/lib/components/VList/VListItem.sass +1 -1
  65. package/lib/components/VMain/VMain.css +2 -0
  66. package/lib/components/VMenu/VMenu.css +6 -0
  67. package/lib/components/VMenu/VMenu.mjs +20 -4
  68. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  69. package/lib/components/VMenu/index.d.mts +27 -12
  70. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +9 -3
  71. package/lib/components/VOtpInput/VOtpInput.css +3 -1
  72. package/lib/components/VOtpInput/VOtpInput.sass +1 -2
  73. package/lib/components/VOverflowBtn/VOverflowBtn.sass +1 -1
  74. package/lib/components/VOverlay/VOverlay.mjs +5 -4
  75. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  76. package/lib/components/VOverlay/useActivator.mjs +3 -2
  77. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  78. package/lib/components/VSelect/VSelect.css +4 -0
  79. package/lib/components/VSelect/index.d.mts +42 -24
  80. package/lib/components/VSelectionControl/VSelectionControl.css +6 -4
  81. package/lib/components/VSelectionControl/VSelectionControl.sass +1 -1
  82. package/lib/components/VSheet/VSheet.css +12 -4
  83. package/lib/components/VSkeletonLoader/VSkeletonLoader.css +6 -4
  84. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +9 -8
  85. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  86. package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +1 -2
  87. package/lib/components/VSlider/VSliderThumb.sass +2 -2
  88. package/lib/components/VSnackbar/VSnackbar.css +2 -0
  89. package/lib/components/VSnackbar/VSnackbar.mjs +4 -4
  90. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  91. package/lib/components/VSnackbar/index.d.mts +3 -3
  92. package/lib/components/VSpeedDial/index.d.mts +28 -13
  93. package/lib/components/VStepper/VStepper.css +8 -2
  94. package/lib/components/VStepper/VStepper.sass +2 -4
  95. package/lib/components/VStepper/VStepperItem.css +4 -1
  96. package/lib/components/VStepper/VStepperItem.sass +1 -1
  97. package/lib/components/VSwitch/VSwitch.css +2 -0
  98. package/lib/components/VSwitch/VSwitch.sass +10 -10
  99. package/lib/components/VSystemBar/VSystemBar.css +14 -8
  100. package/lib/components/VTable/VTable.css +8 -4
  101. package/lib/components/VTable/VTable.sass +2 -3
  102. package/lib/components/VTimeline/VTimeline.css +2 -0
  103. package/lib/components/VToolbar/VToolbar.css +21 -7
  104. package/lib/components/VToolbar/VToolbar.sass +1 -2
  105. package/lib/components/VTooltip/index.d.mts +3 -3
  106. package/lib/components/VTreeview/VTreeview.sass +9 -9
  107. package/lib/components/index.d.mts +193 -109
  108. package/lib/entry-bundler.mjs +1 -1
  109. package/lib/framework.mjs +1 -1
  110. package/lib/index.d.mts +37 -37
  111. package/lib/labs/VNumberInput/VNumberInput.mjs +60 -36
  112. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  113. package/lib/labs/VNumberInput/index.d.mts +17 -8
  114. package/lib/labs/VPicker/VPicker.css +6 -2
  115. package/lib/labs/VPicker/VPicker.sass +2 -3
  116. package/lib/labs/VPullToRefresh/VPullToRefresh.mjs +4 -3
  117. package/lib/labs/VPullToRefresh/VPullToRefresh.mjs.map +1 -1
  118. package/lib/labs/VPullToRefresh/index.d.mts +9 -0
  119. package/lib/labs/VSnackbarQueue/index.d.mts +3 -3
  120. package/lib/labs/components.d.mts +29 -11
  121. package/lib/styles/generic/_colors.scss +9 -3
  122. package/lib/styles/main.css +520 -0
  123. package/lib/styles/tools/_absolute.sass +8 -7
  124. package/lib/styles/tools/_border.sass +4 -3
  125. package/lib/styles/tools/_display.sass +8 -7
  126. package/lib/styles/tools/_elevation.sass +4 -2
  127. package/lib/styles/tools/_index.sass +0 -1
  128. package/lib/styles/tools/_radius.sass +6 -5
  129. package/lib/styles/tools/_rounded.sass +2 -1
  130. package/lib/styles/tools/_theme.sass +3 -2
  131. package/lib/styles/tools/_typography.sass +6 -5
  132. package/lib/styles/tools/_utilities.sass +5 -5
  133. package/lib/styles/utilities/_index.sass +7 -7
  134. package/package.json +1 -1
  135. package/lib/styles/tools/_sheet.sass +0 -14
@@ -92,7 +92,7 @@ declare function connectedLocationStrategy(data: LocationStrategyData, props: St
92
92
 
93
93
  declare const VMenu: {
94
94
  new (...args: any[]): vue.CreateComponentPublicInstance<{
95
- location: Anchor;
95
+ location: NonNullable<Anchor> | undefined;
96
96
  origin: "auto" | Anchor | "overlap";
97
97
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
98
98
  component?: Component | undefined;
@@ -118,6 +118,7 @@ declare const VMenu: {
118
118
  noClickAnimation: boolean;
119
119
  persistent: boolean;
120
120
  scrim: NonNullable<string | boolean>;
121
+ submenu: boolean;
121
122
  } & {
122
123
  offset?: string | number | number[] | undefined;
123
124
  id?: string | undefined;
@@ -627,7 +628,7 @@ declare const VMenu: {
627
628
  onAfterLeave?: (() => any) | undefined;
628
629
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
629
630
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
630
- }, "target" | "activatorEl" | "scrimEl" | "animateClick" | "contentEl" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
631
+ }, "target" | "contentEl" | "activatorEl" | "scrimEl" | "animateClick" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
631
632
  activatorEl: vue.Ref<HTMLElement | undefined>;
632
633
  scrimEl: vue.Ref<HTMLElement | undefined>;
633
634
  target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
@@ -639,7 +640,7 @@ declare const VMenu: {
639
640
  }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "target" | "class" | "ref" | "onAfterEnter" | "onAfterLeave" | "$children" | "theme" | "v-slot:default" | "v-slots" | "ref_for" | "ref_key" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "contentClass" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
640
641
  'update:modelValue': (value: boolean) => boolean;
641
642
  }, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
642
- location: Anchor;
643
+ location: NonNullable<Anchor> | undefined;
643
644
  origin: "auto" | Anchor | "overlap";
644
645
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
645
646
  component?: Component | undefined;
@@ -665,6 +666,7 @@ declare const VMenu: {
665
666
  noClickAnimation: boolean;
666
667
  persistent: boolean;
667
668
  scrim: NonNullable<string | boolean>;
669
+ submenu: boolean;
668
670
  } & {
669
671
  offset?: string | number | number[] | undefined;
670
672
  id?: string | undefined;
@@ -719,7 +721,7 @@ declare const VMenu: {
719
721
  } & {
720
722
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
721
723
  }, {
722
- location: Anchor;
724
+ location: NonNullable<Anchor> | undefined;
723
725
  origin: "auto" | Anchor | "overlap";
724
726
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
725
727
  component?: Component | undefined;
@@ -747,6 +749,7 @@ declare const VMenu: {
747
749
  noClickAnimation: boolean;
748
750
  persistent: boolean;
749
751
  scrim: NonNullable<string | boolean>;
752
+ submenu: boolean;
750
753
  }, true, {}, vue.SlotsType<Partial<{
751
754
  default: (arg: {
752
755
  isActive: vue.Ref<boolean>;
@@ -768,7 +771,7 @@ declare const VMenu: {
768
771
  M: {};
769
772
  Defaults: {};
770
773
  }, {
771
- location: Anchor;
774
+ location: NonNullable<Anchor> | undefined;
772
775
  origin: "auto" | Anchor | "overlap";
773
776
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
774
777
  component?: Component | undefined;
@@ -794,6 +797,7 @@ declare const VMenu: {
794
797
  noClickAnimation: boolean;
795
798
  persistent: boolean;
796
799
  scrim: NonNullable<string | boolean>;
800
+ submenu: boolean;
797
801
  } & {
798
802
  offset?: string | number | number[] | undefined;
799
803
  id?: string | undefined;
@@ -1303,7 +1307,7 @@ declare const VMenu: {
1303
1307
  onAfterLeave?: (() => any) | undefined;
1304
1308
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
1305
1309
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
1306
- }, "target" | "activatorEl" | "scrimEl" | "animateClick" | "contentEl" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
1310
+ }, "target" | "contentEl" | "activatorEl" | "scrimEl" | "animateClick" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
1307
1311
  activatorEl: vue.Ref<HTMLElement | undefined>;
1308
1312
  scrimEl: vue.Ref<HTMLElement | undefined>;
1309
1313
  target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
@@ -1313,7 +1317,7 @@ declare const VMenu: {
1313
1317
  localTop: vue.ComputedRef<boolean>;
1314
1318
  updateLocation: vue.Ref<((e: Event) => void) | undefined>;
1315
1319
  }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "target" | "class" | "ref" | "onAfterEnter" | "onAfterLeave" | "$children" | "theme" | "v-slot:default" | "v-slots" | "ref_for" | "ref_key" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "contentClass" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>, {}, {}, {}, {
1316
- location: Anchor;
1320
+ location: NonNullable<Anchor> | undefined;
1317
1321
  origin: "auto" | Anchor | "overlap";
1318
1322
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
1319
1323
  component?: Component | undefined;
@@ -1341,12 +1345,13 @@ declare const VMenu: {
1341
1345
  noClickAnimation: boolean;
1342
1346
  persistent: boolean;
1343
1347
  scrim: NonNullable<string | boolean>;
1348
+ submenu: boolean;
1344
1349
  }>;
1345
1350
  __isFragment?: undefined;
1346
1351
  __isTeleport?: undefined;
1347
1352
  __isSuspense?: undefined;
1348
1353
  } & vue.ComponentOptionsBase<{
1349
- location: Anchor;
1354
+ location: NonNullable<Anchor> | undefined;
1350
1355
  origin: "auto" | Anchor | "overlap";
1351
1356
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
1352
1357
  component?: Component | undefined;
@@ -1372,6 +1377,7 @@ declare const VMenu: {
1372
1377
  noClickAnimation: boolean;
1373
1378
  persistent: boolean;
1374
1379
  scrim: NonNullable<string | boolean>;
1380
+ submenu: boolean;
1375
1381
  } & {
1376
1382
  offset?: string | number | number[] | undefined;
1377
1383
  id?: string | undefined;
@@ -1881,7 +1887,7 @@ declare const VMenu: {
1881
1887
  onAfterLeave?: (() => any) | undefined;
1882
1888
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
1883
1889
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
1884
- }, "target" | "activatorEl" | "scrimEl" | "animateClick" | "contentEl" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
1890
+ }, "target" | "contentEl" | "activatorEl" | "scrimEl" | "animateClick" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
1885
1891
  activatorEl: vue.Ref<HTMLElement | undefined>;
1886
1892
  scrimEl: vue.Ref<HTMLElement | undefined>;
1887
1893
  target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
@@ -1893,7 +1899,7 @@ declare const VMenu: {
1893
1899
  }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "target" | "class" | "ref" | "onAfterEnter" | "onAfterLeave" | "$children" | "theme" | "v-slot:default" | "v-slots" | "ref_for" | "ref_key" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "contentClass" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
1894
1900
  'update:modelValue': (value: boolean) => boolean;
1895
1901
  }, string, {
1896
- location: Anchor;
1902
+ location: NonNullable<Anchor> | undefined;
1897
1903
  origin: "auto" | Anchor | "overlap";
1898
1904
  transition: NonNullable<string | boolean | (vue.TransitionProps & {
1899
1905
  component?: Component | undefined;
@@ -1921,6 +1927,7 @@ declare const VMenu: {
1921
1927
  noClickAnimation: boolean;
1922
1928
  persistent: boolean;
1923
1929
  scrim: NonNullable<string | boolean>;
1930
+ submenu: boolean;
1924
1931
  }, {}, string, vue.SlotsType<Partial<{
1925
1932
  default: (arg: {
1926
1933
  isActive: vue.Ref<boolean>;
@@ -1936,9 +1943,12 @@ declare const VMenu: {
1936
1943
  }>[];
1937
1944
  }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
1938
1945
  offset: vue.PropType<string | number | number[] | undefined>;
1939
- location: {
1946
+ location: Omit<{
1940
1947
  type: vue.PropType<Anchor>;
1941
1948
  default: string;
1949
+ }, "type" | "default"> & {
1950
+ type: vue.PropType<NonNullable<Anchor> | undefined>;
1951
+ default: NonNullable<Anchor> | undefined;
1942
1952
  };
1943
1953
  origin: {
1944
1954
  type: vue.PropType<"auto" | Anchor | "overlap">;
@@ -2049,11 +2059,15 @@ declare const VMenu: {
2049
2059
  };
2050
2060
  attach: vue.PropType<string | boolean | Element>;
2051
2061
  id: StringConstructor;
2062
+ submenu: BooleanConstructor;
2052
2063
  }, vue.ExtractPropTypes<{
2053
2064
  offset: vue.PropType<string | number | number[] | undefined>;
2054
- location: {
2065
+ location: Omit<{
2055
2066
  type: vue.PropType<Anchor>;
2056
2067
  default: string;
2068
+ }, "type" | "default"> & {
2069
+ type: vue.PropType<NonNullable<Anchor> | undefined>;
2070
+ default: NonNullable<Anchor> | undefined;
2057
2071
  };
2058
2072
  origin: {
2059
2073
  type: vue.PropType<"auto" | Anchor | "overlap">;
@@ -2164,6 +2178,7 @@ declare const VMenu: {
2164
2178
  };
2165
2179
  attach: vue.PropType<string | boolean | Element>;
2166
2180
  id: StringConstructor;
2181
+ submenu: BooleanConstructor;
2167
2182
  }>>;
2168
2183
  type VMenu = InstanceType<typeof VMenu>;
2169
2184
 
@@ -10,17 +10,23 @@
10
10
  transition-property: box-shadow, transform, visibility, width, height, left, right, top, bottom;
11
11
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
12
12
  position: absolute;
13
+ }
14
+ .v-navigation-drawer {
13
15
  border-color: rgba(var(--v-border-color), var(--v-border-opacity));
14
16
  border-style: solid;
15
17
  border-width: 0;
16
- box-shadow: 0px 0px 0px 0px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 0px 0px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 0px 0px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
17
- background: rgb(var(--v-theme-surface));
18
- color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
19
18
  }
20
19
  .v-navigation-drawer--border {
21
20
  border-width: thin;
22
21
  box-shadow: none;
23
22
  }
23
+ .v-navigation-drawer {
24
+ box-shadow: 0px 0px 0px 0px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 0px 0px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 0px 0px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
25
+ }
26
+ .v-navigation-drawer {
27
+ background: rgb(var(--v-theme-surface));
28
+ color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
29
+ }
24
30
  .v-navigation-drawer--rounded {
25
31
  border-radius: 4px;
26
32
  }
@@ -1,11 +1,13 @@
1
1
  .v-otp-input {
2
- border-radius: 4px;
3
2
  align-items: center;
4
3
  display: flex;
5
4
  justify-content: center;
6
5
  padding: 0.5rem 0;
7
6
  position: relative;
8
7
  }
8
+ .v-otp-input {
9
+ border-radius: 4px;
10
+ }
9
11
  .v-otp-input .v-field {
10
12
  height: 100%;
11
13
  }
@@ -5,13 +5,12 @@
5
5
 
6
6
  @include tools.layer('components')
7
7
  .v-otp-input
8
- @include tools.rounded(4px)
9
-
10
8
  align-items: center
11
9
  display: flex
12
10
  justify-content: center
13
11
  padding: $otp-input-padding
14
12
  position: relative
13
+ @include tools.rounded(4px)
15
14
 
16
15
  .v-field
17
16
  height: 100%
@@ -1,7 +1,7 @@
1
1
  @import './_variables.scss'
2
2
 
3
3
  // Theme
4
- +theme(v-overflow-btn) using ($material)
4
+ @include theme(v-overflow-btn) using ($material)
5
5
  &#{&} > .v-input__control > .v-input__slot
6
6
  border-color: map-get($material, 'dividers')
7
7
 
@@ -93,6 +93,9 @@ export const VOverlay = genericComponent()({
93
93
  attrs,
94
94
  emit
95
95
  } = _ref;
96
+ const root = ref();
97
+ const scrimEl = ref();
98
+ const contentEl = ref();
96
99
  const model = useProxiedModel(props, 'modelValue');
97
100
  const isActive = computed({
98
101
  get: () => model.value,
@@ -130,7 +133,8 @@ export const VOverlay = genericComponent()({
130
133
  scrimEvents
131
134
  } = useActivator(props, {
132
135
  isActive,
133
- isTop: localTop
136
+ isTop: localTop,
137
+ contentEl
134
138
  });
135
139
  const {
136
140
  teleportTarget
@@ -151,9 +155,6 @@ export const VOverlay = genericComponent()({
151
155
  watch(() => props.disabled, v => {
152
156
  if (v) isActive.value = false;
153
157
  });
154
- const root = ref();
155
- const scrimEl = ref();
156
- const contentEl = ref();
157
158
  const {
158
159
  contentStyles,
159
160
  updateLocation
@@ -1 +1 @@
1
- {"version":3,"file":"VOverlay.mjs","names":["makeLocationStrategyProps","useLocationStrategies","makeScrollStrategyProps","useScrollStrategies","makeActivatorProps","useActivator","useBackgroundColor","makeComponentProps","makeDimensionProps","useDimension","useHydration","makeLazyProps","useLazy","useRtl","useProxiedModel","useBackButton","useRouter","useScopeId","useStack","useTeleport","makeThemeProps","provideTheme","useToggleScope","makeTransitionProps","MaybeTransition","ClickOutside","computed","mergeProps","onBeforeUnmount","ref","Teleport","toRef","Transition","watch","animate","convertToUnit","genericComponent","getScrollParent","IN_BROWSER","propsFactory","standardEasing","useRender","Scrim","props","modelValue","color","rest","_createVNode","default","_mergeProps","backgroundColorClasses","value","backgroundColorStyles","makeVOverlayProps","absolute","Boolean","attach","String","Object","closeOnBack","type","contained","contentClass","contentProps","disabled","opacity","Number","noClickAnimation","persistent","scrim","zIndex","VOverlay","name","directives","inheritAttrs","_disableGlobalStack","emits","e","afterEnter","afterLeave","setup","_ref","slots","attrs","emit","model","isActive","get","set","v","themeClasses","rtlClasses","isRtl","hasContent","onAfterLeave","_onAfterLeave","scrimColor","globalTop","localTop","stackStyles","activatorEl","activatorRef","target","targetEl","targetRef","activatorEvents","contentEvents","scrimEvents","isTop","teleportTarget","rootNode","getRootNode","ShadowRoot","dimensionStyles","isMounted","scopeId","root","scrimEl","contentEl","contentStyles","updateLocation","onClickOutside","animateClick","closeConditional","val","window","addEventListener","onKeydown","removeEventListener","immediate","key","contains","document","activeElement","focus","router","next","top","scrollParent","scrollingElement","scrollTop","transformOrigin","transform","duration","easing","onAfterEnter","_Fragment","activator","activatorProps","class","style","transition","_withDirectives","_vShow","_resolveDirective","handler","include"],"sources":["../../../src/components/VOverlay/VOverlay.tsx"],"sourcesContent":["// Styles\nimport './VOverlay.sass'\n\n// Composables\nimport { makeLocationStrategyProps, useLocationStrategies } from './locationStrategies'\nimport { makeScrollStrategyProps, useScrollStrategies } from './scrollStrategies'\nimport { makeActivatorProps, useActivator } from './useActivator'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useHydration } from '@/composables/hydration'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\nimport { useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useBackButton, useRouter } from '@/composables/router'\nimport { useScopeId } from '@/composables/scopeId'\nimport { useStack } from '@/composables/stack'\nimport { useTeleport } from '@/composables/teleport'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useToggleScope } from '@/composables/toggleScope'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Directives\nimport { ClickOutside } from '@/directives/click-outside'\n\n// Utilities\nimport {\n computed,\n mergeProps,\n onBeforeUnmount,\n ref,\n Teleport,\n toRef,\n Transition,\n watch,\n} from 'vue'\nimport {\n animate,\n convertToUnit,\n genericComponent,\n getScrollParent,\n IN_BROWSER,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { BackgroundColorData } from '@/composables/color'\nimport type { TemplateRef } from '@/util'\n\ninterface ScrimProps {\n [key: string]: unknown\n modelValue: boolean\n color: BackgroundColorData\n}\nfunction Scrim (props: ScrimProps) {\n const { modelValue, color, ...rest } = props\n return (\n <Transition name=\"fade-transition\" appear>\n { props.modelValue && (\n <div\n class={[\n 'v-overlay__scrim',\n props.color.backgroundColorClasses.value,\n ]}\n style={ props.color.backgroundColorStyles.value }\n { ...rest }\n />\n )}\n </Transition>\n )\n}\n\nexport type OverlaySlots = {\n default: { isActive: Ref<boolean> }\n activator: { isActive: boolean, props: Record<string, any>, targetRef: TemplateRef }\n}\n\nexport const makeVOverlayProps = propsFactory({\n absolute: Boolean,\n attach: [Boolean, String, Object] as PropType<boolean | string | Element>,\n closeOnBack: {\n type: Boolean,\n default: true,\n },\n contained: Boolean,\n contentClass: null,\n contentProps: null,\n disabled: Boolean,\n opacity: [Number, String],\n noClickAnimation: Boolean,\n modelValue: Boolean,\n persistent: Boolean,\n scrim: {\n type: [Boolean, String],\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 2000,\n },\n\n ...makeActivatorProps(),\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeLazyProps(),\n ...makeLocationStrategyProps(),\n ...makeScrollStrategyProps(),\n ...makeThemeProps(),\n ...makeTransitionProps(),\n}, 'VOverlay')\n\nexport const VOverlay = genericComponent<OverlaySlots>()({\n name: 'VOverlay',\n\n directives: { ClickOutside },\n\n inheritAttrs: false,\n\n props: {\n _disableGlobalStack: Boolean,\n\n ...makeVOverlayProps(),\n },\n\n emits: {\n 'click:outside': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n afterEnter: () => true,\n afterLeave: () => true,\n },\n\n setup (props, { slots, attrs, emit }) {\n const model = useProxiedModel(props, 'modelValue')\n const isActive = computed({\n get: () => model.value,\n set: v => {\n if (!(v && props.disabled)) model.value = v\n },\n })\n const { themeClasses } = provideTheme(props)\n const { rtlClasses, isRtl } = useRtl()\n const { hasContent, onAfterLeave: _onAfterLeave } = useLazy(props, isActive)\n const scrimColor = useBackgroundColor(computed(() => {\n return typeof props.scrim === 'string' ? props.scrim : null\n }))\n const { globalTop, localTop, stackStyles } = useStack(isActive, toRef(props, 'zIndex'), props._disableGlobalStack)\n const {\n activatorEl, activatorRef,\n target, targetEl, targetRef,\n activatorEvents,\n contentEvents,\n scrimEvents,\n } = useActivator(props, { isActive, isTop: localTop })\n const { teleportTarget } = useTeleport(() => {\n const target = props.attach || props.contained\n if (target) return target\n const rootNode = activatorEl?.value?.getRootNode()\n if (rootNode instanceof ShadowRoot) return rootNode\n return false\n })\n const { dimensionStyles } = useDimension(props)\n const isMounted = useHydration()\n const { scopeId } = useScopeId()\n\n watch(() => props.disabled, v => {\n if (v) isActive.value = false\n })\n\n const root = ref<HTMLElement>()\n const scrimEl = ref<HTMLElement>()\n const contentEl = ref<HTMLElement>()\n const { contentStyles, updateLocation } = useLocationStrategies(props, {\n isRtl,\n contentEl,\n target,\n isActive,\n })\n useScrollStrategies(props, {\n root,\n contentEl,\n targetEl,\n isActive,\n updateLocation,\n })\n\n function onClickOutside (e: MouseEvent) {\n emit('click:outside', e)\n\n if (!props.persistent) isActive.value = false\n else animateClick()\n }\n\n function closeConditional (e: Event) {\n return isActive.value && globalTop.value && (\n // If using scrim, only close if clicking on it rather than anything opened on top\n !props.scrim || e.target === scrimEl.value\n )\n }\n\n IN_BROWSER && watch(isActive, val => {\n if (val) {\n window.addEventListener('keydown', onKeydown)\n } else {\n window.removeEventListener('keydown', onKeydown)\n }\n }, { immediate: true })\n\n onBeforeUnmount(() => {\n if (!IN_BROWSER) return\n\n window.removeEventListener('keydown', onKeydown)\n })\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key === 'Escape' && globalTop.value) {\n if (!props.persistent) {\n isActive.value = false\n if (contentEl.value?.contains(document.activeElement)) {\n activatorEl.value?.focus()\n }\n } else animateClick()\n }\n }\n\n const router = useRouter()\n useToggleScope(() => props.closeOnBack, () => {\n useBackButton(router, next => {\n if (globalTop.value && isActive.value) {\n next(false)\n if (!props.persistent) isActive.value = false\n else animateClick()\n } else {\n next()\n }\n })\n })\n\n const top = ref<number>()\n watch(() => isActive.value && (props.absolute || props.contained) && teleportTarget.value == null, val => {\n if (val) {\n const scrollParent = getScrollParent(root.value)\n if (scrollParent && scrollParent !== document.scrollingElement) {\n top.value = scrollParent.scrollTop\n }\n }\n })\n\n // Add a quick \"bounce\" animation to the content\n function animateClick () {\n if (props.noClickAnimation) return\n\n contentEl.value && animate(contentEl.value, [\n { transformOrigin: 'center' },\n { transform: 'scale(1.03)' },\n { transformOrigin: 'center' },\n ], {\n duration: 150,\n easing: standardEasing,\n })\n }\n\n function onAfterEnter () {\n emit('afterEnter')\n }\n\n function onAfterLeave () {\n _onAfterLeave()\n emit('afterLeave')\n }\n\n useRender(() => (\n <>\n { slots.activator?.({\n isActive: isActive.value,\n targetRef,\n props: mergeProps({\n ref: activatorRef,\n }, activatorEvents.value, props.activatorProps),\n })}\n\n { isMounted.value && hasContent.value && (\n <Teleport\n disabled={ !teleportTarget.value }\n to={ teleportTarget.value }\n >\n <div\n class={[\n 'v-overlay',\n {\n 'v-overlay--absolute': props.absolute || props.contained,\n 'v-overlay--active': isActive.value,\n 'v-overlay--contained': props.contained,\n },\n themeClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n stackStyles.value,\n {\n '--v-overlay-opacity': props.opacity,\n top: convertToUnit(top.value),\n },\n props.style,\n ]}\n ref={ root }\n { ...scopeId }\n { ...attrs }\n >\n <Scrim\n color={ scrimColor }\n modelValue={ isActive.value && !!props.scrim }\n ref={ scrimEl }\n { ...scrimEvents.value }\n />\n <MaybeTransition\n appear\n persisted\n transition={ props.transition }\n target={ target.value }\n onAfterEnter={ onAfterEnter }\n onAfterLeave={ onAfterLeave }\n >\n <div\n ref={ contentEl }\n v-show={ isActive.value }\n v-click-outside={{ handler: onClickOutside, closeConditional, include: () => [activatorEl.value] }}\n class={[\n 'v-overlay__content',\n props.contentClass,\n ]}\n style={[\n dimensionStyles.value,\n contentStyles.value,\n ]}\n { ...contentEvents.value }\n { ...props.contentProps }\n >\n { slots.default?.({ isActive }) }\n </div>\n </MaybeTransition>\n </div>\n </Teleport>\n )}\n </>\n ))\n\n return {\n activatorEl,\n scrimEl,\n target,\n animateClick,\n contentEl,\n globalTop,\n localTop,\n updateLocation,\n }\n },\n})\n\nexport type VOverlay = InstanceType<typeof VOverlay>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VOverlay.mjs","names":["makeLocationStrategyProps","useLocationStrategies","makeScrollStrategyProps","useScrollStrategies","makeActivatorProps","useActivator","useBackgroundColor","makeComponentProps","makeDimensionProps","useDimension","useHydration","makeLazyProps","useLazy","useRtl","useProxiedModel","useBackButton","useRouter","useScopeId","useStack","useTeleport","makeThemeProps","provideTheme","useToggleScope","makeTransitionProps","MaybeTransition","ClickOutside","computed","mergeProps","onBeforeUnmount","ref","Teleport","toRef","Transition","watch","animate","convertToUnit","genericComponent","getScrollParent","IN_BROWSER","propsFactory","standardEasing","useRender","Scrim","props","modelValue","color","rest","_createVNode","default","_mergeProps","backgroundColorClasses","value","backgroundColorStyles","makeVOverlayProps","absolute","Boolean","attach","String","Object","closeOnBack","type","contained","contentClass","contentProps","disabled","opacity","Number","noClickAnimation","persistent","scrim","zIndex","VOverlay","name","directives","inheritAttrs","_disableGlobalStack","emits","e","afterEnter","afterLeave","setup","_ref","slots","attrs","emit","root","scrimEl","contentEl","model","isActive","get","set","v","themeClasses","rtlClasses","isRtl","hasContent","onAfterLeave","_onAfterLeave","scrimColor","globalTop","localTop","stackStyles","activatorEl","activatorRef","target","targetEl","targetRef","activatorEvents","contentEvents","scrimEvents","isTop","teleportTarget","rootNode","getRootNode","ShadowRoot","dimensionStyles","isMounted","scopeId","contentStyles","updateLocation","onClickOutside","animateClick","closeConditional","val","window","addEventListener","onKeydown","removeEventListener","immediate","key","contains","document","activeElement","focus","router","next","top","scrollParent","scrollingElement","scrollTop","transformOrigin","transform","duration","easing","onAfterEnter","_Fragment","activator","activatorProps","class","style","transition","_withDirectives","_vShow","_resolveDirective","handler","include"],"sources":["../../../src/components/VOverlay/VOverlay.tsx"],"sourcesContent":["// Styles\nimport './VOverlay.sass'\n\n// Composables\nimport { makeLocationStrategyProps, useLocationStrategies } from './locationStrategies'\nimport { makeScrollStrategyProps, useScrollStrategies } from './scrollStrategies'\nimport { makeActivatorProps, useActivator } from './useActivator'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useHydration } from '@/composables/hydration'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\nimport { useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useBackButton, useRouter } from '@/composables/router'\nimport { useScopeId } from '@/composables/scopeId'\nimport { useStack } from '@/composables/stack'\nimport { useTeleport } from '@/composables/teleport'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useToggleScope } from '@/composables/toggleScope'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Directives\nimport { ClickOutside } from '@/directives/click-outside'\n\n// Utilities\nimport {\n computed,\n mergeProps,\n onBeforeUnmount,\n ref,\n Teleport,\n toRef,\n Transition,\n watch,\n} from 'vue'\nimport {\n animate,\n convertToUnit,\n genericComponent,\n getScrollParent,\n IN_BROWSER,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { BackgroundColorData } from '@/composables/color'\nimport type { TemplateRef } from '@/util'\n\ninterface ScrimProps {\n [key: string]: unknown\n modelValue: boolean\n color: BackgroundColorData\n}\nfunction Scrim (props: ScrimProps) {\n const { modelValue, color, ...rest } = props\n return (\n <Transition name=\"fade-transition\" appear>\n { props.modelValue && (\n <div\n class={[\n 'v-overlay__scrim',\n props.color.backgroundColorClasses.value,\n ]}\n style={ props.color.backgroundColorStyles.value }\n { ...rest }\n />\n )}\n </Transition>\n )\n}\n\nexport type OverlaySlots = {\n default: { isActive: Ref<boolean> }\n activator: { isActive: boolean, props: Record<string, any>, targetRef: TemplateRef }\n}\n\nexport const makeVOverlayProps = propsFactory({\n absolute: Boolean,\n attach: [Boolean, String, Object] as PropType<boolean | string | Element>,\n closeOnBack: {\n type: Boolean,\n default: true,\n },\n contained: Boolean,\n contentClass: null,\n contentProps: null,\n disabled: Boolean,\n opacity: [Number, String],\n noClickAnimation: Boolean,\n modelValue: Boolean,\n persistent: Boolean,\n scrim: {\n type: [Boolean, String],\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 2000,\n },\n\n ...makeActivatorProps(),\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeLazyProps(),\n ...makeLocationStrategyProps(),\n ...makeScrollStrategyProps(),\n ...makeThemeProps(),\n ...makeTransitionProps(),\n}, 'VOverlay')\n\nexport const VOverlay = genericComponent<OverlaySlots>()({\n name: 'VOverlay',\n\n directives: { ClickOutside },\n\n inheritAttrs: false,\n\n props: {\n _disableGlobalStack: Boolean,\n\n ...makeVOverlayProps(),\n },\n\n emits: {\n 'click:outside': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n afterEnter: () => true,\n afterLeave: () => true,\n },\n\n setup (props, { slots, attrs, emit }) {\n const root = ref<HTMLElement>()\n const scrimEl = ref<HTMLElement>()\n const contentEl = ref<HTMLElement>()\n const model = useProxiedModel(props, 'modelValue')\n const isActive = computed({\n get: () => model.value,\n set: v => {\n if (!(v && props.disabled)) model.value = v\n },\n })\n const { themeClasses } = provideTheme(props)\n const { rtlClasses, isRtl } = useRtl()\n const { hasContent, onAfterLeave: _onAfterLeave } = useLazy(props, isActive)\n const scrimColor = useBackgroundColor(computed(() => {\n return typeof props.scrim === 'string' ? props.scrim : null\n }))\n const { globalTop, localTop, stackStyles } = useStack(isActive, toRef(props, 'zIndex'), props._disableGlobalStack)\n const {\n activatorEl, activatorRef,\n target, targetEl, targetRef,\n activatorEvents,\n contentEvents,\n scrimEvents,\n } = useActivator(props, { isActive, isTop: localTop, contentEl })\n const { teleportTarget } = useTeleport(() => {\n const target = props.attach || props.contained\n if (target) return target\n const rootNode = activatorEl?.value?.getRootNode()\n if (rootNode instanceof ShadowRoot) return rootNode\n return false\n })\n const { dimensionStyles } = useDimension(props)\n const isMounted = useHydration()\n const { scopeId } = useScopeId()\n\n watch(() => props.disabled, v => {\n if (v) isActive.value = false\n })\n\n const { contentStyles, updateLocation } = useLocationStrategies(props, {\n isRtl,\n contentEl,\n target,\n isActive,\n })\n useScrollStrategies(props, {\n root,\n contentEl,\n targetEl,\n isActive,\n updateLocation,\n })\n\n function onClickOutside (e: MouseEvent) {\n emit('click:outside', e)\n\n if (!props.persistent) isActive.value = false\n else animateClick()\n }\n\n function closeConditional (e: Event) {\n return isActive.value && globalTop.value && (\n // If using scrim, only close if clicking on it rather than anything opened on top\n !props.scrim || e.target === scrimEl.value\n )\n }\n\n IN_BROWSER && watch(isActive, val => {\n if (val) {\n window.addEventListener('keydown', onKeydown)\n } else {\n window.removeEventListener('keydown', onKeydown)\n }\n }, { immediate: true })\n\n onBeforeUnmount(() => {\n if (!IN_BROWSER) return\n\n window.removeEventListener('keydown', onKeydown)\n })\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key === 'Escape' && globalTop.value) {\n if (!props.persistent) {\n isActive.value = false\n if (contentEl.value?.contains(document.activeElement)) {\n activatorEl.value?.focus()\n }\n } else animateClick()\n }\n }\n\n const router = useRouter()\n useToggleScope(() => props.closeOnBack, () => {\n useBackButton(router, next => {\n if (globalTop.value && isActive.value) {\n next(false)\n if (!props.persistent) isActive.value = false\n else animateClick()\n } else {\n next()\n }\n })\n })\n\n const top = ref<number>()\n watch(() => isActive.value && (props.absolute || props.contained) && teleportTarget.value == null, val => {\n if (val) {\n const scrollParent = getScrollParent(root.value)\n if (scrollParent && scrollParent !== document.scrollingElement) {\n top.value = scrollParent.scrollTop\n }\n }\n })\n\n // Add a quick \"bounce\" animation to the content\n function animateClick () {\n if (props.noClickAnimation) return\n\n contentEl.value && animate(contentEl.value, [\n { transformOrigin: 'center' },\n { transform: 'scale(1.03)' },\n { transformOrigin: 'center' },\n ], {\n duration: 150,\n easing: standardEasing,\n })\n }\n\n function onAfterEnter () {\n emit('afterEnter')\n }\n\n function onAfterLeave () {\n _onAfterLeave()\n emit('afterLeave')\n }\n\n useRender(() => (\n <>\n { slots.activator?.({\n isActive: isActive.value,\n targetRef,\n props: mergeProps({\n ref: activatorRef,\n }, activatorEvents.value, props.activatorProps),\n })}\n\n { isMounted.value && hasContent.value && (\n <Teleport\n disabled={ !teleportTarget.value }\n to={ teleportTarget.value }\n >\n <div\n class={[\n 'v-overlay',\n {\n 'v-overlay--absolute': props.absolute || props.contained,\n 'v-overlay--active': isActive.value,\n 'v-overlay--contained': props.contained,\n },\n themeClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n stackStyles.value,\n {\n '--v-overlay-opacity': props.opacity,\n top: convertToUnit(top.value),\n },\n props.style,\n ]}\n ref={ root }\n { ...scopeId }\n { ...attrs }\n >\n <Scrim\n color={ scrimColor }\n modelValue={ isActive.value && !!props.scrim }\n ref={ scrimEl }\n { ...scrimEvents.value }\n />\n <MaybeTransition\n appear\n persisted\n transition={ props.transition }\n target={ target.value }\n onAfterEnter={ onAfterEnter }\n onAfterLeave={ onAfterLeave }\n >\n <div\n ref={ contentEl }\n v-show={ isActive.value }\n v-click-outside={{ handler: onClickOutside, closeConditional, include: () => [activatorEl.value] }}\n class={[\n 'v-overlay__content',\n props.contentClass,\n ]}\n style={[\n dimensionStyles.value,\n contentStyles.value,\n ]}\n { ...contentEvents.value }\n { ...props.contentProps }\n >\n { slots.default?.({ isActive }) }\n </div>\n </MaybeTransition>\n </div>\n </Teleport>\n )}\n </>\n ))\n\n return {\n activatorEl,\n scrimEl,\n target,\n animateClick,\n contentEl,\n globalTop,\n localTop,\n updateLocation,\n }\n },\n})\n\nexport type VOverlay = InstanceType<typeof VOverlay>\n"],"mappings":"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","ignoreList":[]}
@@ -25,7 +25,8 @@ export const makeActivatorProps = propsFactory({
25
25
  export function useActivator(props, _ref) {
26
26
  let {
27
27
  isActive,
28
- isTop
28
+ isTop,
29
+ contentEl
29
30
  } = _ref;
30
31
  const vm = getCurrentInstance('useActivator');
31
32
  const activatorEl = ref();
@@ -142,7 +143,7 @@ export function useActivator(props, _ref) {
142
143
  return events;
143
144
  });
144
145
  watch(isTop, val => {
145
- if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered))) {
146
+ if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered)) && !contentEl.value?.contains(document.activeElement)) {
146
147
  isActive.value = false;
147
148
  }
148
149
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useActivator.mjs","names":["VMenuSymbol","makeDelayProps","useDelay","computed","effectScope","inject","mergeProps","nextTick","onScopeDispose","ref","watch","watchEffect","bindProps","getCurrentInstance","IN_BROWSER","matchesSelector","propsFactory","templateRef","unbindProps","makeActivatorProps","target","String","Object","activator","activatorProps","type","default","openOnClick","Boolean","undefined","openOnHover","openOnFocus","closeOnContentClick","useActivator","props","_ref","isActive","isTop","vm","activatorEl","isHovered","isFocused","firstEnter","value","runOpenDelay","runCloseDelay","cursorTarget","availableEvents","onClick","e","stopPropagation","currentTarget","clientX","clientY","onMouseenter","sourceCapabilities","firesTouchEvents","onMouseleave","onFocus","onBlur","activatorEvents","events","contentEvents","onFocusin","onFocusout","menu","closeParents","scrimEvents","val","setTimeout","flush","activatorRef","el","targetRef","getTarget","targetEl","Array","isArray","scope","run","_useActivator","stop","immediate","_ref2","oldVal","getActivator","unbindActivatorProps","bindActivatorProps","arguments","length","_props","selector","nodeType","Node","ELEMENT_NODE","proxy","$el","parentNode","hasAttribute","document","querySelector"],"sources":["../../../src/components/VOverlay/useActivator.tsx"],"sourcesContent":["// Components\nimport { VMenuSymbol } from '@/components/VMenu/shared'\n\n// Composables\nimport { makeDelayProps, useDelay } from '@/composables/delay'\n\n// Utilities\nimport {\n computed,\n effectScope,\n inject,\n mergeProps,\n nextTick,\n onScopeDispose,\n ref,\n watch,\n watchEffect,\n} from 'vue'\nimport {\n bindProps,\n getCurrentInstance,\n IN_BROWSER,\n matchesSelector,\n propsFactory,\n templateRef,\n unbindProps,\n} from '@/util'\n\n// Types\nimport type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n EffectScope,\n PropType,\n Ref,\n} from 'vue'\nimport type { DelayProps } from '@/composables/delay'\n\ninterface ActivatorProps extends DelayProps {\n target: 'parent' | 'cursor' | (string & {}) | Element | ComponentPublicInstance | [x: number, y: number] | undefined\n activator: 'parent' | (string & {}) | Element | ComponentPublicInstance | undefined\n activatorProps: Record<string, any>\n\n openOnClick: boolean | undefined\n openOnHover: boolean\n openOnFocus: boolean | undefined\n\n closeOnContentClick: boolean\n}\n\nexport const makeActivatorProps = propsFactory({\n target: [String, Object] as PropType<ActivatorProps['target']>,\n activator: [String, Object] as PropType<ActivatorProps['activator']>,\n activatorProps: {\n type: Object as PropType<ActivatorProps['activatorProps']>,\n default: () => ({}),\n },\n\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n openOnHover: Boolean,\n openOnFocus: {\n type: Boolean,\n default: undefined,\n },\n\n closeOnContentClick: Boolean,\n\n ...makeDelayProps(),\n}, 'VOverlay-activator')\n\nexport function useActivator (\n props: ActivatorProps,\n { isActive, isTop }: { isActive: Ref<boolean>, isTop: Ref<boolean> }\n) {\n const vm = getCurrentInstance('useActivator')\n const activatorEl = ref<HTMLElement>()\n\n let isHovered = false\n let isFocused = false\n let firstEnter = true\n\n const openOnFocus = computed(() => props.openOnFocus || (props.openOnFocus == null && props.openOnHover))\n const openOnClick = computed(() => props.openOnClick || (props.openOnClick == null && !props.openOnHover && !openOnFocus.value))\n\n const { runOpenDelay, runCloseDelay } = useDelay(props, value => {\n if (\n value === (\n (props.openOnHover && isHovered) ||\n (openOnFocus.value && isFocused)\n ) && !(props.openOnHover && isActive.value && !isTop.value)\n ) {\n if (isActive.value !== value) {\n firstEnter = true\n }\n isActive.value = value\n }\n })\n\n const cursorTarget = ref<[x: number, y: number]>()\n const availableEvents = {\n onClick: (e: MouseEvent) => {\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n if (!isActive.value) {\n cursorTarget.value = [e.clientX, e.clientY]\n }\n isActive.value = !isActive.value\n },\n onMouseenter: (e: MouseEvent) => {\n if (e.sourceCapabilities?.firesTouchEvents) return\n\n isHovered = true\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n runOpenDelay()\n },\n onMouseleave: (e: MouseEvent) => {\n isHovered = false\n runCloseDelay()\n },\n onFocus: (e: FocusEvent) => {\n if (matchesSelector(e.target as HTMLElement, ':focus-visible') === false) return\n\n isFocused = true\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n\n runOpenDelay()\n },\n onBlur: (e: FocusEvent) => {\n isFocused = false\n e.stopPropagation()\n\n runCloseDelay()\n },\n }\n\n const activatorEvents = computed(() => {\n const events: Partial<typeof availableEvents> = {}\n\n if (openOnClick.value) {\n events.onClick = availableEvents.onClick\n }\n if (props.openOnHover) {\n events.onMouseenter = availableEvents.onMouseenter\n events.onMouseleave = availableEvents.onMouseleave\n }\n if (openOnFocus.value) {\n events.onFocus = availableEvents.onFocus\n events.onBlur = availableEvents.onBlur\n }\n\n return events\n })\n\n const contentEvents = computed(() => {\n const events: Record<string, EventListener> = {}\n\n if (props.openOnHover) {\n events.onMouseenter = () => {\n isHovered = true\n runOpenDelay()\n }\n events.onMouseleave = () => {\n isHovered = false\n runCloseDelay()\n }\n }\n\n if (openOnFocus.value) {\n events.onFocusin = () => {\n isFocused = true\n runOpenDelay()\n }\n events.onFocusout = () => {\n isFocused = false\n runCloseDelay()\n }\n }\n\n if (props.closeOnContentClick) {\n const menu = inject(VMenuSymbol, null)\n events.onClick = () => {\n isActive.value = false\n menu?.closeParents()\n }\n }\n\n return events\n })\n\n const scrimEvents = computed(() => {\n const events: Record<string, EventListener> = {}\n\n if (props.openOnHover) {\n events.onMouseenter = () => {\n if (firstEnter) {\n isHovered = true\n firstEnter = false\n runOpenDelay()\n }\n }\n events.onMouseleave = () => {\n isHovered = false\n runCloseDelay()\n }\n }\n\n return events\n })\n\n watch(isTop, val => {\n if (val && (\n (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused)) ||\n (openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered))\n )) {\n isActive.value = false\n }\n })\n\n watch(isActive, val => {\n if (!val) {\n setTimeout(() => {\n cursorTarget.value = undefined\n })\n }\n }, { flush: 'post' })\n\n const activatorRef = templateRef()\n watchEffect(() => {\n if (!activatorRef.value) return\n\n nextTick(() => {\n activatorEl.value = activatorRef.el\n })\n })\n\n const targetRef = templateRef()\n const target = computed(() => {\n if (props.target === 'cursor' && cursorTarget.value) return cursorTarget.value\n if (targetRef.value) return targetRef.el\n return getTarget(props.target, vm) || activatorEl.value\n })\n const targetEl = computed(() => {\n return Array.isArray(target.value)\n ? undefined\n : target.value\n })\n\n let scope: EffectScope\n watch(() => !!props.activator, val => {\n if (val && IN_BROWSER) {\n scope = effectScope()\n scope.run(() => {\n _useActivator(props, vm, { activatorEl, activatorEvents })\n })\n } else if (scope) {\n scope.stop()\n }\n }, { flush: 'post', immediate: true })\n\n onScopeDispose(() => {\n scope?.stop()\n })\n\n return { activatorEl, activatorRef, target, targetEl, targetRef, activatorEvents, contentEvents, scrimEvents }\n}\n\nfunction _useActivator (\n props: ActivatorProps,\n vm: ComponentInternalInstance,\n { activatorEl, activatorEvents }: Pick<ReturnType<typeof useActivator>, 'activatorEl' | 'activatorEvents'>\n) {\n watch(() => props.activator, (val, oldVal) => {\n if (oldVal && val !== oldVal) {\n const activator = getActivator(oldVal)\n activator && unbindActivatorProps(activator)\n }\n if (val) {\n nextTick(() => bindActivatorProps())\n }\n }, { immediate: true })\n\n watch(() => props.activatorProps, () => {\n bindActivatorProps()\n })\n\n onScopeDispose(() => {\n unbindActivatorProps()\n })\n\n function bindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n bindProps(el, mergeProps(activatorEvents.value, _props))\n }\n\n function unbindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n unbindProps(el, mergeProps(activatorEvents.value, _props))\n }\n\n function getActivator (selector = props.activator): HTMLElement | undefined {\n const activator = getTarget(selector, vm)\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n activatorEl.value = activator?.nodeType === Node.ELEMENT_NODE ? activator : undefined\n\n return activatorEl.value\n }\n}\n\nfunction getTarget<T extends 'parent' | string | Element | ComponentPublicInstance | [x: number, y: number] | undefined> (\n selector: T,\n vm: ComponentInternalInstance\n): HTMLElement | undefined | (T extends any[] ? [x: number, y: number] : never) {\n if (!selector) return\n\n let target\n if (selector === 'parent') {\n let el = vm?.proxy?.$el?.parentNode\n while (el?.hasAttribute('data-no-activator')) {\n el = el.parentNode\n }\n target = el\n } else if (typeof selector === 'string') {\n // Selector\n target = document.querySelector(selector)\n } else if ('$el' in selector) {\n // Component (ref)\n target = selector.$el\n } else {\n // HTMLElement | Element | [x, y]\n target = selector\n }\n\n return target\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useActivator.mjs","names":["VMenuSymbol","makeDelayProps","useDelay","computed","effectScope","inject","mergeProps","nextTick","onScopeDispose","ref","watch","watchEffect","bindProps","getCurrentInstance","IN_BROWSER","matchesSelector","propsFactory","templateRef","unbindProps","makeActivatorProps","target","String","Object","activator","activatorProps","type","default","openOnClick","Boolean","undefined","openOnHover","openOnFocus","closeOnContentClick","useActivator","props","_ref","isActive","isTop","contentEl","vm","activatorEl","isHovered","isFocused","firstEnter","value","runOpenDelay","runCloseDelay","cursorTarget","availableEvents","onClick","e","stopPropagation","currentTarget","clientX","clientY","onMouseenter","sourceCapabilities","firesTouchEvents","onMouseleave","onFocus","onBlur","activatorEvents","events","contentEvents","onFocusin","onFocusout","menu","closeParents","scrimEvents","val","contains","document","activeElement","setTimeout","flush","activatorRef","el","targetRef","getTarget","targetEl","Array","isArray","scope","run","_useActivator","stop","immediate","_ref2","oldVal","getActivator","unbindActivatorProps","bindActivatorProps","arguments","length","_props","selector","nodeType","Node","ELEMENT_NODE","proxy","$el","parentNode","hasAttribute","querySelector"],"sources":["../../../src/components/VOverlay/useActivator.tsx"],"sourcesContent":["// Components\nimport { VMenuSymbol } from '@/components/VMenu/shared'\n\n// Composables\nimport { makeDelayProps, useDelay } from '@/composables/delay'\n\n// Utilities\nimport {\n computed,\n effectScope,\n inject,\n mergeProps,\n nextTick,\n onScopeDispose,\n ref,\n watch,\n watchEffect,\n} from 'vue'\nimport {\n bindProps,\n getCurrentInstance,\n IN_BROWSER,\n matchesSelector,\n propsFactory,\n templateRef,\n unbindProps,\n} from '@/util'\n\n// Types\nimport type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n EffectScope,\n PropType,\n Ref,\n} from 'vue'\nimport type { DelayProps } from '@/composables/delay'\n\ninterface ActivatorProps extends DelayProps {\n target: 'parent' | 'cursor' | (string & {}) | Element | ComponentPublicInstance | [x: number, y: number] | undefined\n activator: 'parent' | (string & {}) | Element | ComponentPublicInstance | undefined\n activatorProps: Record<string, any>\n\n openOnClick: boolean | undefined\n openOnHover: boolean\n openOnFocus: boolean | undefined\n\n closeOnContentClick: boolean\n}\n\nexport const makeActivatorProps = propsFactory({\n target: [String, Object] as PropType<ActivatorProps['target']>,\n activator: [String, Object] as PropType<ActivatorProps['activator']>,\n activatorProps: {\n type: Object as PropType<ActivatorProps['activatorProps']>,\n default: () => ({}),\n },\n\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n openOnHover: Boolean,\n openOnFocus: {\n type: Boolean,\n default: undefined,\n },\n\n closeOnContentClick: Boolean,\n\n ...makeDelayProps(),\n}, 'VOverlay-activator')\n\nexport function useActivator (\n props: ActivatorProps,\n { isActive, isTop, contentEl }: {\n isActive: Ref<boolean>\n isTop: Ref<boolean>\n contentEl: Ref<HTMLElement | undefined>\n }\n) {\n const vm = getCurrentInstance('useActivator')\n const activatorEl = ref<HTMLElement>()\n\n let isHovered = false\n let isFocused = false\n let firstEnter = true\n\n const openOnFocus = computed(() => props.openOnFocus || (props.openOnFocus == null && props.openOnHover))\n const openOnClick = computed(() => props.openOnClick || (props.openOnClick == null && !props.openOnHover && !openOnFocus.value))\n\n const { runOpenDelay, runCloseDelay } = useDelay(props, value => {\n if (\n value === (\n (props.openOnHover && isHovered) ||\n (openOnFocus.value && isFocused)\n ) && !(props.openOnHover && isActive.value && !isTop.value)\n ) {\n if (isActive.value !== value) {\n firstEnter = true\n }\n isActive.value = value\n }\n })\n\n const cursorTarget = ref<[x: number, y: number]>()\n const availableEvents = {\n onClick: (e: MouseEvent) => {\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n if (!isActive.value) {\n cursorTarget.value = [e.clientX, e.clientY]\n }\n isActive.value = !isActive.value\n },\n onMouseenter: (e: MouseEvent) => {\n if (e.sourceCapabilities?.firesTouchEvents) return\n\n isHovered = true\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n runOpenDelay()\n },\n onMouseleave: (e: MouseEvent) => {\n isHovered = false\n runCloseDelay()\n },\n onFocus: (e: FocusEvent) => {\n if (matchesSelector(e.target as HTMLElement, ':focus-visible') === false) return\n\n isFocused = true\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n\n runOpenDelay()\n },\n onBlur: (e: FocusEvent) => {\n isFocused = false\n e.stopPropagation()\n\n runCloseDelay()\n },\n }\n\n const activatorEvents = computed(() => {\n const events: Partial<typeof availableEvents> = {}\n\n if (openOnClick.value) {\n events.onClick = availableEvents.onClick\n }\n if (props.openOnHover) {\n events.onMouseenter = availableEvents.onMouseenter\n events.onMouseleave = availableEvents.onMouseleave\n }\n if (openOnFocus.value) {\n events.onFocus = availableEvents.onFocus\n events.onBlur = availableEvents.onBlur\n }\n\n return events\n })\n\n const contentEvents = computed(() => {\n const events: Record<string, EventListener> = {}\n\n if (props.openOnHover) {\n events.onMouseenter = () => {\n isHovered = true\n runOpenDelay()\n }\n events.onMouseleave = () => {\n isHovered = false\n runCloseDelay()\n }\n }\n\n if (openOnFocus.value) {\n events.onFocusin = () => {\n isFocused = true\n runOpenDelay()\n }\n events.onFocusout = () => {\n isFocused = false\n runCloseDelay()\n }\n }\n\n if (props.closeOnContentClick) {\n const menu = inject(VMenuSymbol, null)\n events.onClick = () => {\n isActive.value = false\n menu?.closeParents()\n }\n }\n\n return events\n })\n\n const scrimEvents = computed(() => {\n const events: Record<string, EventListener> = {}\n\n if (props.openOnHover) {\n events.onMouseenter = () => {\n if (firstEnter) {\n isHovered = true\n firstEnter = false\n runOpenDelay()\n }\n }\n events.onMouseleave = () => {\n isHovered = false\n runCloseDelay()\n }\n }\n\n return events\n })\n\n watch(isTop, val => {\n if (val && (\n (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused)) ||\n (openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered))\n ) && !contentEl.value?.contains(document.activeElement)) {\n isActive.value = false\n }\n })\n\n watch(isActive, val => {\n if (!val) {\n setTimeout(() => {\n cursorTarget.value = undefined\n })\n }\n }, { flush: 'post' })\n\n const activatorRef = templateRef()\n watchEffect(() => {\n if (!activatorRef.value) return\n\n nextTick(() => {\n activatorEl.value = activatorRef.el\n })\n })\n\n const targetRef = templateRef()\n const target = computed(() => {\n if (props.target === 'cursor' && cursorTarget.value) return cursorTarget.value\n if (targetRef.value) return targetRef.el\n return getTarget(props.target, vm) || activatorEl.value\n })\n const targetEl = computed(() => {\n return Array.isArray(target.value)\n ? undefined\n : target.value\n })\n\n let scope: EffectScope\n watch(() => !!props.activator, val => {\n if (val && IN_BROWSER) {\n scope = effectScope()\n scope.run(() => {\n _useActivator(props, vm, { activatorEl, activatorEvents })\n })\n } else if (scope) {\n scope.stop()\n }\n }, { flush: 'post', immediate: true })\n\n onScopeDispose(() => {\n scope?.stop()\n })\n\n return { activatorEl, activatorRef, target, targetEl, targetRef, activatorEvents, contentEvents, scrimEvents }\n}\n\nfunction _useActivator (\n props: ActivatorProps,\n vm: ComponentInternalInstance,\n { activatorEl, activatorEvents }: Pick<ReturnType<typeof useActivator>, 'activatorEl' | 'activatorEvents'>\n) {\n watch(() => props.activator, (val, oldVal) => {\n if (oldVal && val !== oldVal) {\n const activator = getActivator(oldVal)\n activator && unbindActivatorProps(activator)\n }\n if (val) {\n nextTick(() => bindActivatorProps())\n }\n }, { immediate: true })\n\n watch(() => props.activatorProps, () => {\n bindActivatorProps()\n })\n\n onScopeDispose(() => {\n unbindActivatorProps()\n })\n\n function bindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n bindProps(el, mergeProps(activatorEvents.value, _props))\n }\n\n function unbindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n unbindProps(el, mergeProps(activatorEvents.value, _props))\n }\n\n function getActivator (selector = props.activator): HTMLElement | undefined {\n const activator = getTarget(selector, vm)\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n activatorEl.value = activator?.nodeType === Node.ELEMENT_NODE ? activator : undefined\n\n return activatorEl.value\n }\n}\n\nfunction getTarget<T extends 'parent' | string | Element | ComponentPublicInstance | [x: number, y: number] | undefined> (\n selector: T,\n vm: ComponentInternalInstance\n): HTMLElement | undefined | (T extends any[] ? [x: number, y: number] : never) {\n if (!selector) return\n\n let target\n if (selector === 'parent') {\n let el = vm?.proxy?.$el?.parentNode\n while (el?.hasAttribute('data-no-activator')) {\n el = el.parentNode\n }\n target = el\n } else if (typeof selector === 'string') {\n // Selector\n target = document.querySelector(selector)\n } else if ('$el' in selector) {\n // Component (ref)\n target = selector.$el\n } else {\n // HTMLElement | Element | [x, y]\n target = selector\n }\n\n return target\n}\n"],"mappings":"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","ignoreList":[]}
@@ -23,7 +23,11 @@
23
23
  }
24
24
  .v-select__content {
25
25
  overflow: hidden;
26
+ }
27
+ .v-select__content {
26
28
  box-shadow: 0px 2px 4px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 4px 5px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 1px 10px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
29
+ }
30
+ .v-select__content {
27
31
  border-radius: 4px;
28
32
  }
29
33
  .v-select__selection {