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

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 (123) hide show
  1. package/dist/json/attributes.json +13 -5
  2. package/dist/json/importMap-labs.json +18 -18
  3. package/dist/json/importMap.json +160 -160
  4. package/dist/json/tags.json +2 -0
  5. package/dist/json/web-types.json +45 -13
  6. package/dist/vuetify-labs.css +3716 -2993
  7. package/dist/vuetify-labs.d.ts +50 -11
  8. package/dist/vuetify-labs.esm.js +113 -69
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +113 -69
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +1406 -683
  13. package/dist/vuetify.d.ts +60 -60
  14. package/dist/vuetify.esm.js +35 -29
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +35 -29
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +13 -12
  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/VAvatar/VAvatar.css +8 -4
  24. package/lib/components/VAvatar/VAvatar.mjs +1 -1
  25. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  26. package/lib/components/VBadge/VBadge.css +2 -0
  27. package/lib/components/VBanner/VBanner.css +12 -4
  28. package/lib/components/VBottomNavigation/VBottomNavigation.css +11 -3
  29. package/lib/components/VBottomSheet/VBottomSheet.css +2 -0
  30. package/lib/components/VBtn/VBtn.css +16 -9
  31. package/lib/components/VBtn/VBtn.mjs +1 -1
  32. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  33. package/lib/components/VBtn/VBtn.sass +4 -4
  34. package/lib/components/VBtnGroup/VBtnGroup.css +12 -4
  35. package/lib/components/VCard/VCard.css +9 -1
  36. package/lib/components/VCarousel/VCarousel.css +2 -0
  37. package/lib/components/VChip/VChip.css +15 -9
  38. package/lib/components/VChip/VChip.sass +1 -1
  39. package/lib/components/VColorPicker/VColorPicker.css +2 -0
  40. package/lib/components/VColorPicker/VColorPicker.sass +4 -4
  41. package/lib/components/VColorPicker/VColorPickerPreview.sass +4 -4
  42. package/lib/components/VCombobox/VCombobox.css +4 -0
  43. package/lib/components/VDialog/VDialog.css +5 -0
  44. package/lib/components/VDivider/VDivider.css +2 -0
  45. package/lib/components/VExpansionPanel/VExpansionPanel.css +11 -5
  46. package/lib/components/VExpansionPanel/VExpansionPanel.sass +3 -3
  47. package/lib/components/VField/VField.css +13 -1
  48. package/lib/components/VField/VField.sass +5 -8
  49. package/lib/components/VFooter/VFooter.css +12 -4
  50. package/lib/components/VFooter/VFooter.mjs +20 -14
  51. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  52. package/lib/components/VFooter/index.d.mts +3 -3
  53. package/lib/components/VGrid/VGrid.sass +1 -1
  54. package/lib/components/VGrid/_mixins.sass +4 -4
  55. package/lib/components/VImg/VImg.css +6 -0
  56. package/lib/components/VKbd/VKbd.css +2 -0
  57. package/lib/components/VList/VList.css +12 -4
  58. package/lib/components/VList/VListItem.css +21 -11
  59. package/lib/components/VList/VListItem.sass +1 -1
  60. package/lib/components/VMain/VMain.css +2 -0
  61. package/lib/components/VMenu/VMenu.css +6 -0
  62. package/lib/components/VMenu/VMenu.mjs +1 -1
  63. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  64. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +9 -3
  65. package/lib/components/VOtpInput/VOtpInput.css +3 -1
  66. package/lib/components/VOtpInput/VOtpInput.sass +1 -2
  67. package/lib/components/VOverflowBtn/VOverflowBtn.sass +1 -1
  68. package/lib/components/VSelect/VSelect.css +4 -0
  69. package/lib/components/VSelectionControl/VSelectionControl.css +6 -4
  70. package/lib/components/VSelectionControl/VSelectionControl.sass +1 -1
  71. package/lib/components/VSheet/VSheet.css +12 -4
  72. package/lib/components/VSkeletonLoader/VSkeletonLoader.css +6 -4
  73. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +9 -8
  74. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  75. package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +1 -2
  76. package/lib/components/VSlider/VSliderThumb.sass +2 -2
  77. package/lib/components/VSnackbar/VSnackbar.css +2 -0
  78. package/lib/components/VSnackbar/VSnackbar.mjs +4 -4
  79. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  80. package/lib/components/VStepper/VStepper.css +8 -2
  81. package/lib/components/VStepper/VStepper.sass +2 -4
  82. package/lib/components/VStepper/VStepperItem.css +4 -1
  83. package/lib/components/VStepper/VStepperItem.sass +1 -1
  84. package/lib/components/VSwitch/VSwitch.css +2 -0
  85. package/lib/components/VSwitch/VSwitch.sass +10 -10
  86. package/lib/components/VSystemBar/VSystemBar.css +14 -8
  87. package/lib/components/VTable/VTable.css +8 -4
  88. package/lib/components/VTable/VTable.sass +2 -3
  89. package/lib/components/VTimeline/VTimeline.css +2 -0
  90. package/lib/components/VToolbar/VToolbar.css +21 -7
  91. package/lib/components/VToolbar/VToolbar.sass +1 -2
  92. package/lib/components/VTreeview/VTreeview.sass +9 -9
  93. package/lib/components/index.d.mts +3 -3
  94. package/lib/entry-bundler.mjs +1 -1
  95. package/lib/framework.mjs +1 -1
  96. package/lib/index.d.mts +57 -57
  97. package/lib/labs/VNumberInput/VNumberInput.mjs +60 -36
  98. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  99. package/lib/labs/VNumberInput/index.d.mts +17 -8
  100. package/lib/labs/VPicker/VPicker.css +6 -2
  101. package/lib/labs/VPicker/VPicker.sass +2 -3
  102. package/lib/labs/VPullToRefresh/VPullToRefresh.mjs +4 -3
  103. package/lib/labs/VPullToRefresh/VPullToRefresh.mjs.map +1 -1
  104. package/lib/labs/VPullToRefresh/index.d.mts +9 -0
  105. package/lib/labs/VTreeview/VTreeview.mjs +15 -2
  106. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
  107. package/lib/labs/VTreeview/index.d.mts +21 -0
  108. package/lib/labs/components.d.mts +47 -8
  109. package/lib/styles/generic/_colors.scss +9 -3
  110. package/lib/styles/main.css +520 -0
  111. package/lib/styles/tools/_absolute.sass +8 -7
  112. package/lib/styles/tools/_border.sass +4 -3
  113. package/lib/styles/tools/_display.sass +8 -7
  114. package/lib/styles/tools/_elevation.sass +4 -2
  115. package/lib/styles/tools/_index.sass +0 -1
  116. package/lib/styles/tools/_radius.sass +6 -5
  117. package/lib/styles/tools/_rounded.sass +2 -1
  118. package/lib/styles/tools/_theme.sass +3 -2
  119. package/lib/styles/tools/_typography.sass +6 -5
  120. package/lib/styles/tools/_utilities.sass +5 -5
  121. package/lib/styles/utilities/_index.sass +7 -7
  122. package/package.json +1 -1
  123. package/lib/styles/tools/_sheet.sass +0 -14
@@ -22,6 +22,11 @@
22
22
  --v-scrollbar-offset: 0px;
23
23
  border-radius: 4px;
24
24
  overflow-y: auto;
25
+ }
26
+ .v-dialog > .v-overlay__content > .v-card,
27
+ .v-dialog > .v-overlay__content > .v-sheet,
28
+ .v-dialog > .v-overlay__content > form > .v-card,
29
+ .v-dialog > .v-overlay__content > form > .v-sheet {
25
30
  box-shadow: 0px 11px 15px -7px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 24px 38px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 9px 46px 8px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
26
31
  }
27
32
  .v-dialog > .v-overlay__content > .v-card,
@@ -5,6 +5,8 @@
5
5
  max-height: 0px;
6
6
  opacity: var(--v-border-opacity);
7
7
  transition: inherit;
8
+ }
9
+ .v-divider {
8
10
  border-style: solid;
9
11
  border-width: thin 0 0 0;
10
12
  }
@@ -94,15 +94,19 @@
94
94
  min-height: 64px;
95
95
  }
96
96
 
97
+ .v-expansion-panel__shadow {
98
+ border-radius: inherit;
99
+ z-index: -1;
100
+ }
97
101
  .v-expansion-panel__shadow {
98
102
  position: absolute;
99
103
  top: 0;
100
104
  left: 0;
101
105
  width: 100%;
102
106
  height: 100%;
107
+ }
108
+ .v-expansion-panel__shadow {
103
109
  box-shadow: 0px 3px 1px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 2px 2px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 1px 5px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
104
- border-radius: inherit;
105
- z-index: -1;
106
110
  }
107
111
 
108
112
  .v-expansion-panel-title {
@@ -146,15 +150,17 @@
146
150
  }
147
151
  }
148
152
 
153
+ .v-expansion-panel-title__overlay {
154
+ background-color: currentColor;
155
+ border-radius: inherit;
156
+ opacity: 0;
157
+ }
149
158
  .v-expansion-panel-title__overlay {
150
159
  position: absolute;
151
160
  top: 0;
152
161
  left: 0;
153
162
  width: 100%;
154
163
  height: 100%;
155
- background-color: currentColor;
156
- border-radius: inherit;
157
- opacity: 0;
158
164
  }
159
165
 
160
166
  .v-expansion-panel-title__icon {
@@ -108,10 +108,10 @@
108
108
  min-height: $expansion-panel-active-title-min-height
109
109
 
110
110
  .v-expansion-panel__shadow
111
- @include tools.absolute()
112
- @include tools.elevation(2)
113
111
  border-radius: inherit
114
112
  z-index: -1
113
+ @include tools.absolute()
114
+ @include tools.elevation(2)
115
115
 
116
116
  .v-expansion-panel-title
117
117
  align-items: center
@@ -134,10 +134,10 @@
134
134
  @include tools.active-states('.v-expansion-panel-title__overlay')
135
135
 
136
136
  .v-expansion-panel-title__overlay
137
- @include tools.absolute()
138
137
  background-color: currentColor
139
138
  border-radius: inherit
140
139
  opacity: 0
140
+ @include tools.absolute()
141
141
 
142
142
  .v-expansion-panel-title__icon
143
143
  display: inline-flex
@@ -1,6 +1,5 @@
1
1
  /* region INPUT */
2
2
  .v-field {
3
- --v-theme-overlay-multiplier: 1;
4
3
  display: grid;
5
4
  grid-template-areas: "prepend-inner field clear append-inner";
6
5
  grid-template-columns: min-content minmax(0, 1fr) min-content min-content;
@@ -12,6 +11,7 @@
12
11
  flex: 1 0;
13
12
  grid-area: control;
14
13
  position: relative;
14
+ --v-theme-overlay-multiplier: 1;
15
15
  --v-field-padding-start: 16px;
16
16
  --v-field-padding-end: 16px;
17
17
  --v-field-padding-top: 8px;
@@ -39,12 +39,16 @@
39
39
  background: rgb(var(--v-theme-surface));
40
40
  border-color: transparent;
41
41
  color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
42
+ }
43
+ .v-field--variant-solo, .v-field--variant-solo-filled {
42
44
  box-shadow: 0px 3px 1px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 2px 2px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 1px 5px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
43
45
  }
44
46
  .v-field--variant-solo-inverted {
45
47
  background: rgb(var(--v-theme-surface));
46
48
  border-color: transparent;
47
49
  color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
50
+ }
51
+ .v-field--variant-solo-inverted {
48
52
  box-shadow: 0px 3px 1px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 2px 2px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 1px 5px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
49
53
  }
50
54
  .v-field--variant-solo-inverted.v-field--focused {
@@ -367,6 +371,8 @@ textarea.v-field__input::placeholder {
367
371
  border-width: 0 0 var(--v-field-border-width);
368
372
  opacity: var(--v-field-border-opacity);
369
373
  transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1);
374
+ }
375
+ .v-field--variant-filled .v-field__outline::before, .v-field--variant-underlined .v-field__outline::before {
370
376
  content: "";
371
377
  position: absolute;
372
378
  top: 0;
@@ -380,6 +386,8 @@ textarea.v-field__input::placeholder {
380
386
  border-width: 0 0 2px;
381
387
  transform: scaleX(0);
382
388
  transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);
389
+ }
390
+ .v-field--variant-filled .v-field__outline::after, .v-field--variant-underlined .v-field__outline::after {
383
391
  content: "";
384
392
  position: absolute;
385
393
  top: 0;
@@ -432,6 +440,8 @@ textarea.v-field__input::placeholder {
432
440
  .v-field--variant-outlined .v-field__outline__notch::before, .v-field--variant-outlined .v-field__outline__notch::after {
433
441
  opacity: var(--v-field-border-opacity);
434
442
  transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1);
443
+ }
444
+ .v-field--variant-outlined .v-field__outline__notch::before, .v-field--variant-outlined .v-field__outline__notch::after {
435
445
  content: "";
436
446
  position: absolute;
437
447
  top: 0;
@@ -494,6 +504,8 @@ textarea.v-field__input::placeholder {
494
504
  .v-field__overlay {
495
505
  border-radius: inherit;
496
506
  pointer-events: none;
507
+ }
508
+ .v-field__overlay {
497
509
  position: absolute;
498
510
  top: 0;
499
511
  left: 0;
@@ -8,8 +8,6 @@
8
8
  @include tools.layer('components')
9
9
  /* region INPUT */
10
10
  .v-field
11
- --v-theme-overlay-multiplier: 1
12
-
13
11
  display: grid
14
12
  grid-template-areas: "prepend-inner field clear append-inner"
15
13
  grid-template-columns: min-content minmax(0, 1fr) min-content min-content
@@ -22,10 +20,7 @@
22
20
  grid-area: control
23
21
  position: relative
24
22
 
25
- &--disabled
26
- opacity: var(--v-disabled-opacity)
27
- pointer-events: none
28
-
23
+ --v-theme-overlay-multiplier: 1
29
24
  --v-field-padding-start: #{$field-control-padding-start}
30
25
  --v-field-padding-end: #{$field-control-padding-end}
31
26
  --v-field-padding-top: #{$field-control-padding-top}
@@ -33,6 +28,10 @@
33
28
  --v-field-input-padding-top: #{$field-input-padding-top}
34
29
  --v-field-input-padding-bottom: #{$field-input-padding-bottom}
35
30
 
31
+ &--disabled
32
+ opacity: var(--v-disabled-opacity)
33
+ pointer-events: none
34
+
36
35
  .v-chip
37
36
  --v-chip-height: #{$field-chip-height}
38
37
 
@@ -50,14 +49,12 @@
50
49
  background: $field-control-solo-background
51
50
  border-color: transparent
52
51
  color: $field-control-solo-color
53
-
54
52
  @include tools.elevation($field-control-solo-elevation)
55
53
 
56
54
  &--variant-solo-inverted
57
55
  background: $field-control-solo-background
58
56
  border-color: transparent
59
57
  color: $field-control-solo-inverted-color
60
-
61
58
  @include tools.elevation($field-control-solo-elevation)
62
59
 
63
60
  &.v-field--focused
@@ -6,24 +6,32 @@
6
6
  position: relative;
7
7
  transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
8
8
  transition-property: height, width, transform, max-width, left, right, top, bottom;
9
+ }
10
+ .v-footer {
9
11
  border-color: rgba(var(--v-border-color), var(--v-border-opacity));
10
12
  border-style: solid;
11
13
  border-width: 0;
12
- 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));
13
- border-radius: 0;
14
- background: rgb(var(--v-theme-surface));
15
- color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
16
14
  }
17
15
  .v-footer--border {
18
16
  border-width: thin;
19
17
  box-shadow: none;
20
18
  }
19
+ .v-footer {
20
+ 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));
21
+ }
21
22
  .v-footer--absolute {
22
23
  position: absolute;
23
24
  }
24
25
  .v-footer--fixed {
25
26
  position: fixed;
26
27
  }
28
+ .v-footer {
29
+ border-radius: 0;
30
+ }
31
+ .v-footer {
32
+ background: rgb(var(--v-theme-surface));
33
+ color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
34
+ }
27
35
  .v-footer--rounded {
28
36
  border-radius: 4px;
29
37
  }
@@ -11,8 +11,9 @@ import { makeLayoutItemProps, useLayoutItem } from "../../composables/layout.mjs
11
11
  import { useResizeObserver } from "../../composables/resizeObserver.mjs";
12
12
  import { makeRoundedProps, useRounded } from "../../composables/rounded.mjs";
13
13
  import { makeTagProps } from "../../composables/tag.mjs";
14
- import { makeThemeProps, provideTheme } from "../../composables/theme.mjs"; // Utilities
15
- import { computed, shallowRef, toRef } from 'vue';
14
+ import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
15
+ import { useToggleScope } from "../../composables/toggleScope.mjs"; // Utilities
16
+ import { computed, ref, shallowRef, toRef, watchEffect } from 'vue';
16
17
  import { convertToUnit, genericComponent, propsFactory, useRender } from "../../util/index.mjs";
17
18
  export const makeVFooterProps = propsFactory({
18
19
  app: Boolean,
@@ -38,6 +39,8 @@ export const VFooter = genericComponent()({
38
39
  let {
39
40
  slots
40
41
  } = _ref;
42
+ const layoutItemStyles = ref();
43
+ const layoutIsReady = shallowRef();
41
44
  const {
42
45
  themeClasses
43
46
  } = provideTheme(props);
@@ -62,17 +65,20 @@ export const VFooter = genericComponent()({
62
65
  autoHeight.value = entries[0].target.clientHeight;
63
66
  });
64
67
  const height = computed(() => props.height === 'auto' ? autoHeight.value : parseInt(props.height, 10));
65
- const {
66
- layoutItemStyles,
67
- layoutIsReady
68
- } = useLayoutItem({
69
- id: props.name,
70
- order: computed(() => parseInt(props.order, 10)),
71
- position: computed(() => 'bottom'),
72
- layoutSize: height,
73
- elementSize: computed(() => props.height === 'auto' ? undefined : height.value),
74
- active: computed(() => props.app),
75
- absolute: toRef(props, 'absolute')
68
+ useToggleScope(() => props.app, () => {
69
+ const layout = useLayoutItem({
70
+ id: props.name,
71
+ order: computed(() => parseInt(props.order, 10)),
72
+ position: computed(() => 'bottom'),
73
+ layoutSize: height,
74
+ elementSize: computed(() => props.height === 'auto' ? undefined : height.value),
75
+ active: computed(() => props.app),
76
+ absolute: toRef(props, 'absolute')
77
+ });
78
+ watchEffect(() => {
79
+ layoutItemStyles.value = layout.layoutItemStyles.value;
80
+ layoutIsReady.value = layout.layoutIsReady;
81
+ });
76
82
  });
77
83
  useRender(() => _createVNode(props.tag, {
78
84
  "ref": resizeRef,
@@ -81,7 +87,7 @@ export const VFooter = genericComponent()({
81
87
  height: convertToUnit(props.height)
82
88
  }, props.style]
83
89
  }, slots));
84
- return props.app ? layoutIsReady : {};
90
+ return props.app ? layoutIsReady.value : {};
85
91
  }
86
92
  });
87
93
  //# sourceMappingURL=VFooter.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"VFooter.mjs","names":["makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","makeElevationProps","useElevation","makeLayoutItemProps","useLayoutItem","useResizeObserver","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","computed","shallowRef","toRef","convertToUnit","genericComponent","propsFactory","useRender","makeVFooterProps","app","Boolean","color","String","height","type","Number","default","tag","VFooter","name","props","setup","_ref","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","elevationClasses","roundedClasses","autoHeight","resizeRef","entries","length","value","target","clientHeight","parseInt","layoutItemStyles","layoutIsReady","id","order","position","layoutSize","elementSize","undefined","active","absolute","_createVNode","class","style"],"sources":["../../../src/components/VFooter/VFooter.tsx"],"sourcesContent":["// Styles\nimport './VFooter.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, shallowRef, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVFooterProps = propsFactory({\n app: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 'auto',\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'footer' }),\n ...makeThemeProps(),\n}, 'VFooter')\n\nexport const VFooter = genericComponent()({\n name: 'VFooter',\n\n props: makeVFooterProps(),\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const autoHeight = shallowRef(32)\n const { resizeRef } = useResizeObserver(entries => {\n if (!entries.length) return\n autoHeight.value = entries[0].target.clientHeight\n })\n const height = computed(() => props.height === 'auto' ? autoHeight.value : parseInt(props.height, 10))\n const { layoutItemStyles, layoutIsReady } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: computed(() => 'bottom'),\n layoutSize: height,\n elementSize: computed(() => props.height === 'auto' ? undefined : height.value),\n active: computed(() => props.app),\n absolute: toRef(props, 'absolute'),\n })\n\n useRender(() => (\n <props.tag\n ref={ resizeRef }\n class={[\n 'v-footer',\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.app ? layoutItemStyles.value : {\n height: convertToUnit(props.height),\n },\n props.style,\n ]}\n v-slots={ slots }\n />\n ))\n\n return props.app ? layoutIsReady : {}\n },\n})\n\nexport type VFooter = InstanceType<typeof VFooter>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VFooter.mjs","names":["makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","makeElevationProps","useElevation","makeLayoutItemProps","useLayoutItem","useResizeObserver","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","useToggleScope","computed","ref","shallowRef","toRef","watchEffect","convertToUnit","genericComponent","propsFactory","useRender","makeVFooterProps","app","Boolean","color","String","height","type","Number","default","tag","VFooter","name","props","setup","_ref","slots","layoutItemStyles","layoutIsReady","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","elevationClasses","roundedClasses","autoHeight","resizeRef","entries","length","value","target","clientHeight","parseInt","layout","id","order","position","layoutSize","elementSize","undefined","active","absolute","_createVNode","class","style"],"sources":["../../../src/components/VFooter/VFooter.tsx"],"sourcesContent":["// Styles\nimport './VFooter.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watchEffect } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVFooterProps = propsFactory({\n app: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 'auto',\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'footer' }),\n ...makeThemeProps(),\n}, 'VFooter')\n\nexport const VFooter = genericComponent()({\n name: 'VFooter',\n\n props: makeVFooterProps(),\n\n setup (props, { slots }) {\n const layoutItemStyles = ref()\n const layoutIsReady = shallowRef()\n\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const autoHeight = shallowRef(32)\n const { resizeRef } = useResizeObserver(entries => {\n if (!entries.length) return\n autoHeight.value = entries[0].target.clientHeight\n })\n const height = computed(() => props.height === 'auto' ? autoHeight.value : parseInt(props.height, 10))\n\n useToggleScope(() => props.app, () => {\n const layout = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: computed(() => 'bottom'),\n layoutSize: height,\n elementSize: computed(() => props.height === 'auto' ? undefined : height.value),\n active: computed(() => props.app),\n absolute: toRef(props, 'absolute'),\n })\n\n watchEffect(() => {\n layoutItemStyles.value = layout.layoutItemStyles.value\n layoutIsReady.value = layout.layoutIsReady\n })\n })\n\n useRender(() => (\n <props.tag\n ref={ resizeRef }\n class={[\n 'v-footer',\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.app ? layoutItemStyles.value : {\n height: convertToUnit(props.height),\n },\n props.style,\n ]}\n v-slots={ slots }\n />\n ))\n\n return props.app ? layoutIsReady.value : {}\n },\n})\n\nexport type VFooter = InstanceType<typeof VFooter>\n"],"mappings":"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","ignoreList":[]}
@@ -31,7 +31,7 @@ declare const VFooter: {
31
31
  } | undefined;
32
32
  } & {
33
33
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
34
- }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
34
+ }, any, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
35
35
  absolute: boolean;
36
36
  height: string | number;
37
37
  order: string | number;
@@ -101,7 +101,7 @@ declare const VFooter: {
101
101
  } | undefined;
102
102
  } & {
103
103
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
104
- }, {}, {}, {}, {}, {
104
+ }, any, {}, {}, {}, {
105
105
  absolute: boolean;
106
106
  height: string | number;
107
107
  order: string | number;
@@ -139,7 +139,7 @@ declare const VFooter: {
139
139
  } | undefined;
140
140
  } & {
141
141
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
142
- }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
142
+ }, any, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
143
143
  absolute: boolean;
144
144
  height: string | number;
145
145
  order: string | number;
@@ -19,7 +19,7 @@
19
19
  //
20
20
  // Rows contain and clear the floats of your columns.
21
21
  .v-row
22
- +make-row
22
+ @include make-row
23
23
 
24
24
  & + .v-row
25
25
  margin-top: settings.$grid-gutter * .5
@@ -12,7 +12,7 @@
12
12
  // For each breakpoint, define the maximum width of the container in a media query
13
13
  @mixin make-container-max-widths($max-widths: settings.$container-max-widths, $breakpoints: settings.$grid-breakpoints)
14
14
  @each $breakpoint, $container-max-width in $max-widths
15
- +tools.media-breakpoint-up($breakpoint, $breakpoints)
15
+ @include tools.media-breakpoint-up($breakpoint, $breakpoints)
16
16
  max-width: $container-max-width
17
17
 
18
18
  @mixin make-row($gutter: settings.$grid-gutter)
@@ -53,7 +53,7 @@
53
53
  .v-col#{$infix},
54
54
  .v-col#{$infix}-auto
55
55
  @extend %grid-column
56
- +tools.media-breakpoint-up($breakpoint, $breakpoints)
56
+ @include tools.media-breakpoint-up($breakpoint, $breakpoints)
57
57
  // Provide basic `.col-{bp}` classes for equal-width flexbox columns
58
58
  .v-col#{$infix}
59
59
  flex-basis: 0
@@ -65,10 +65,10 @@
65
65
  max-width: 100% // Reset earlier grid tiers
66
66
  @for $i from 1 through $columns
67
67
  .v-col#{$infix}-#{$i}
68
- +make-col($i, $columns)
68
+ @include make-col($i, $columns)
69
69
  // `$columns - 1` because offsetting by the width of an entire row isn't possible
70
70
  @for $i from 0 through $columns - 1
71
71
  @if not ($infix == "" and $i == 0)
72
72
  // Avoid emitting useless .offset-0
73
73
  .offset#{$infix}-#{$i}
74
- +make-col-offset($i, $columns)
74
+ @include make-col-offset($i, $columns)
@@ -24,6 +24,12 @@
24
24
  .v-img__placeholder,
25
25
  .v-img__error {
26
26
  z-index: -1;
27
+ }
28
+ .v-img__img,
29
+ .v-img__picture,
30
+ .v-img__gradient,
31
+ .v-img__placeholder,
32
+ .v-img__error {
27
33
  position: absolute;
28
34
  top: 0;
29
35
  left: 0;
@@ -6,5 +6,7 @@
6
6
  font-size: 85%;
7
7
  font-weight: normal;
8
8
  padding: 0.2em 0.4rem;
9
+ }
10
+ .v-kbd {
9
11
  box-shadow: 0px 3px 1px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 2px 2px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 1px 5px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
10
12
  }
@@ -3,18 +3,26 @@
3
3
  padding: 8px 0;
4
4
  position: relative;
5
5
  outline: none;
6
+ }
7
+ .v-list {
6
8
  border-color: rgba(var(--v-border-color), var(--v-border-opacity));
7
9
  border-style: solid;
8
10
  border-width: 0;
9
- 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));
10
- border-radius: 0;
11
- background: rgba(var(--v-theme-surface));
12
- color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
13
11
  }
14
12
  .v-list--border {
15
13
  border-width: thin;
16
14
  box-shadow: none;
17
15
  }
16
+ .v-list {
17
+ 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));
18
+ }
19
+ .v-list {
20
+ border-radius: 0;
21
+ }
22
+ .v-list {
23
+ background: rgba(var(--v-theme-surface));
24
+ color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
25
+ }
18
26
  .v-list--disabled {
19
27
  pointer-events: none;
20
28
  user-select: none;
@@ -9,10 +9,11 @@
9
9
  padding: 4px 16px;
10
10
  position: relative;
11
11
  text-decoration: none;
12
+ }
13
+ .v-list-item {
12
14
  border-color: rgba(var(--v-border-color), var(--v-border-opacity));
13
15
  border-style: solid;
14
16
  border-width: 0;
15
- border-radius: 0;
16
17
  }
17
18
  .v-list-item--border {
18
19
  border-width: thin;
@@ -43,6 +44,9 @@
43
44
  opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier));
44
45
  }
45
46
  }
47
+ .v-list-item {
48
+ border-radius: 0;
49
+ }
46
50
  .v-list-item--variant-plain, .v-list-item--variant-outlined, .v-list-item--variant-text, .v-list-item--variant-tonal {
47
51
  background: transparent;
48
52
  color: inherit;
@@ -86,6 +90,13 @@
86
90
  position: absolute;
87
91
  }
88
92
  @supports selector(:focus-visible) {
93
+ .v-list-item::after {
94
+ pointer-events: none;
95
+ border: 2px solid currentColor;
96
+ border-radius: 4px;
97
+ opacity: 0;
98
+ transition: opacity 0.2s ease-in-out;
99
+ }
89
100
  .v-list-item::after {
90
101
  content: "";
91
102
  position: absolute;
@@ -93,11 +104,6 @@
93
104
  left: 0;
94
105
  width: 100%;
95
106
  height: 100%;
96
- pointer-events: none;
97
- border: 2px solid currentColor;
98
- border-radius: 4px;
99
- opacity: 0;
100
- transition: opacity 0.2s ease-in-out;
101
107
  }
102
108
  .v-list-item:focus-visible::after {
103
109
  opacity: calc(0.15 * var(--v-theme-overlay-multiplier));
@@ -251,11 +257,6 @@
251
257
  text-overflow: ellipsis;
252
258
  overflow-wrap: break-word;
253
259
  word-break: initial;
254
- font-size: 0.875rem;
255
- font-weight: 400;
256
- letter-spacing: 0.0178571429em;
257
- line-height: 1rem;
258
- text-transform: none;
259
260
  }
260
261
  .v-list-item--one-line .v-list-item-subtitle {
261
262
  -webkit-line-clamp: 1;
@@ -266,6 +267,13 @@
266
267
  .v-list-item--three-line .v-list-item-subtitle {
267
268
  -webkit-line-clamp: 3;
268
269
  }
270
+ .v-list-item-subtitle {
271
+ font-size: 0.875rem;
272
+ font-weight: 400;
273
+ letter-spacing: 0.0178571429em;
274
+ line-height: 1rem;
275
+ text-transform: none;
276
+ }
269
277
  .v-list-item--nav .v-list-item-subtitle {
270
278
  font-size: 0.75rem;
271
279
  font-weight: 400;
@@ -282,6 +290,8 @@
282
290
  text-overflow: ellipsis;
283
291
  word-break: normal;
284
292
  word-wrap: break-word;
293
+ }
294
+ .v-list-item-title {
285
295
  font-size: 1rem;
286
296
  font-weight: 400;
287
297
  letter-spacing: 0.009375em;
@@ -25,12 +25,12 @@
25
25
 
26
26
  @supports selector(:focus-visible)
27
27
  &::after
28
- @include tools.absolute(true)
29
28
  pointer-events: none
30
29
  border: 2px solid currentColor
31
30
  border-radius: 4px
32
31
  opacity: 0
33
32
  transition: opacity .2s ease-in-out
33
+ @include tools.absolute(true)
34
34
 
35
35
  &:focus-visible::after
36
36
  opacity: calc(.15 * var(--v-theme-overlay-multiplier))
@@ -13,6 +13,8 @@
13
13
  }
14
14
  .v-main--scrollable {
15
15
  display: flex;
16
+ }
17
+ .v-main--scrollable {
16
18
  position: absolute;
17
19
  top: 0;
18
20
  left: 0;
@@ -1,6 +1,8 @@
1
1
  .v-menu > .v-overlay__content {
2
2
  display: flex;
3
3
  flex-direction: column;
4
+ }
5
+ .v-menu > .v-overlay__content {
4
6
  border-radius: 4px;
5
7
  }
6
8
  .v-menu > .v-overlay__content > .v-card,
@@ -10,5 +12,9 @@
10
12
  border-radius: inherit;
11
13
  overflow: auto;
12
14
  height: 100%;
15
+ }
16
+ .v-menu > .v-overlay__content > .v-card,
17
+ .v-menu > .v-overlay__content > .v-sheet,
18
+ .v-menu > .v-overlay__content > .v-list {
13
19
  box-shadow: 0px 5px 5px -3px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 8px 10px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 3px 14px 2px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
14
20
  }
@@ -63,7 +63,7 @@ export const VMenu = genericComponent()({
63
63
  },
64
64
  closeParents(e) {
65
65
  setTimeout(() => {
66
- if (!openChildren.value.size && !props.persistent && (e == null || e && !isClickInsideElement(e, overlay.value.contentEl))) {
66
+ if (!openChildren.value.size && !props.persistent && (e == null || overlay.value?.contentEl && !isClickInsideElement(e, overlay.value.contentEl))) {
67
67
  isActive.value = false;
68
68
  parent?.closeParents();
69
69
  }