@vuetify/nightly 3.0.0-beta.10 → 3.0.0-beta.13

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 (224) hide show
  1. package/CHANGELOG.md +13 -2
  2. package/dist/json/attributes.json +37 -29
  3. package/dist/json/importMap.json +46 -46
  4. package/dist/json/tags.json +10 -8
  5. package/dist/json/web-types.json +101 -87
  6. package/dist/vuetify.css +545 -441
  7. package/dist/vuetify.d.ts +12095 -10059
  8. package/dist/vuetify.esm.js +401 -266
  9. package/dist/vuetify.esm.js.map +1 -1
  10. package/dist/vuetify.js +371 -236
  11. package/dist/vuetify.js.map +1 -1
  12. package/dist/vuetify.min.css +3 -3
  13. package/dist/vuetify.min.js +496 -490
  14. package/dist/vuetify.min.js.map +1 -1
  15. package/lib/blueprints/index.d.ts +171 -0
  16. package/lib/blueprints/md1.d.ts +167 -0
  17. package/lib/blueprints/md2.d.ts +167 -0
  18. package/lib/blueprints/md3.d.ts +167 -0
  19. package/lib/components/VAlert/index.d.ts +185 -0
  20. package/lib/components/VApp/index.d.ts +83 -0
  21. package/lib/components/VAppBar/VAppBar.css +3 -0
  22. package/lib/components/VAppBar/VAppBar.sass +3 -0
  23. package/lib/components/VAppBar/index.d.ts +156 -0
  24. package/lib/components/VAutocomplete/VAutocomplete.mjs +1 -1
  25. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  26. package/lib/components/VAutocomplete/index.d.ts +1569 -0
  27. package/lib/components/VAvatar/VAvatar.css +44 -2
  28. package/lib/components/VAvatar/VAvatar.mjs +16 -12
  29. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  30. package/lib/components/VAvatar/VAvatar.sass +5 -1
  31. package/lib/components/VAvatar/_variables.scss +9 -4
  32. package/lib/components/VAvatar/index.d.ts +80 -0
  33. package/lib/components/VBadge/index.d.ts +123 -0
  34. package/lib/components/VBanner/index.d.ts +122 -0
  35. package/lib/components/VBottomNavigation/index.d.ts +143 -0
  36. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +2 -2
  37. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  38. package/lib/components/VBreadcrumbs/index.d.ts +301 -0
  39. package/lib/components/VBtn/VBtn.css +8 -3
  40. package/lib/components/VBtn/VBtn.mjs +16 -6
  41. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  42. package/lib/components/VBtn/index.d.ts +210 -0
  43. package/lib/components/VBtnGroup/index.d.ts +65 -0
  44. package/lib/components/VBtnToggle/VBtnToggle.mjs +1 -3
  45. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  46. package/lib/components/VBtnToggle/index.d.ts +175 -0
  47. package/lib/components/VCard/VCard.css +8 -3
  48. package/lib/components/VCard/index.d.ts +230 -0
  49. package/lib/components/VCarousel/VCarousel.mjs +3 -3
  50. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  51. package/lib/components/VCarousel/index.d.ts +80 -0
  52. package/lib/components/VCheckbox/index.d.ts +291 -0
  53. package/lib/components/VChip/index.d.ts +195 -0
  54. package/lib/components/VChipGroup/index.d.ts +89 -0
  55. package/lib/components/VCode/index.d.ts +19 -0
  56. package/lib/components/VColorPicker/index.d.ts +116 -0
  57. package/lib/components/VCombobox/VCombobox.mjs +1 -1
  58. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  59. package/lib/components/VCombobox/index.d.ts +1590 -0
  60. package/lib/components/VCounter/index.d.ts +223 -0
  61. package/lib/components/VDefaultsProvider/index.d.ts +26 -0
  62. package/lib/components/VDialog/VDialog.css +2 -0
  63. package/lib/components/VDialog/VDialog.mjs +17 -12
  64. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  65. package/lib/components/VDialog/VDialog.sass +2 -0
  66. package/lib/components/VDialog/index.d.ts +859 -0
  67. package/lib/components/VDivider/index.d.ts +22 -0
  68. package/lib/components/VExpansionPanel/VExpansionPanel.css +8 -3
  69. package/lib/components/VExpansionPanel/index.d.ts +206 -0
  70. package/lib/components/VField/VField.css +27 -24
  71. package/lib/components/VField/VField.mjs +1 -1
  72. package/lib/components/VField/VField.mjs.map +1 -1
  73. package/lib/components/VField/VField.sass +23 -21
  74. package/lib/components/VField/index.d.ts +332 -0
  75. package/lib/components/VFileInput/VFileInput.mjs +3 -3
  76. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  77. package/lib/components/VFileInput/index.d.ts +236 -0
  78. package/lib/components/VFooter/VFooter.css +7 -0
  79. package/lib/components/VFooter/VFooter.sass +1 -1
  80. package/lib/components/VFooter/_variables.scss +11 -0
  81. package/lib/components/VFooter/index.d.ts +76 -0
  82. package/lib/components/VForm/index.d.ts +72 -0
  83. package/lib/components/VGrid/index.d.ts +154 -0
  84. package/lib/components/VHover/index.d.ts +30 -0
  85. package/lib/components/VIcon/index.d.ts +124 -0
  86. package/lib/components/VImg/VImg.mjs +29 -27
  87. package/lib/components/VImg/VImg.mjs.map +1 -1
  88. package/lib/components/VImg/index.d.ts +89 -0
  89. package/lib/components/VInput/VInput.mjs +4 -4
  90. package/lib/components/VInput/VInput.mjs.map +1 -1
  91. package/lib/components/VInput/index.d.ts +325 -0
  92. package/lib/components/VItemGroup/index.d.ts +210 -0
  93. package/lib/components/VKbd/index.d.ts +19 -0
  94. package/lib/components/VLabel/VLabel.css +4 -1
  95. package/lib/components/VLabel/VLabel.mjs +4 -1
  96. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  97. package/lib/components/VLabel/VLabel.sass +3 -1
  98. package/lib/components/VLabel/index.d.ts +16 -0
  99. package/lib/components/VLayout/index.d.ts +75 -0
  100. package/lib/components/VLazy/index.d.ts +85 -0
  101. package/lib/components/VList/VListItem.css +8 -3
  102. package/lib/components/VList/VListItem.mjs +4 -4
  103. package/lib/components/VList/VListItem.mjs.map +1 -1
  104. package/lib/components/VList/index.d.ts +1250 -0
  105. package/lib/components/VLocaleProvider/index.d.ts +23 -0
  106. package/lib/components/VMain/index.d.ts +26 -0
  107. package/lib/components/VMenu/VMenu.mjs +16 -3
  108. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  109. package/lib/components/VMenu/index.d.ts +817 -0
  110. package/lib/components/VMessages/index.d.ts +234 -0
  111. package/lib/components/VNavigationDrawer/index.d.ts +148 -0
  112. package/lib/components/VNoSsr/index.d.ts +7 -0
  113. package/lib/components/VOverlay/VOverlay.mjs +4 -3
  114. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  115. package/lib/components/VOverlay/index.d.ts +579 -0
  116. package/lib/components/VOverlay/useActivator.mjs +27 -1
  117. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  118. package/lib/components/VPagination/VPagination.mjs +6 -3
  119. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  120. package/lib/components/VPagination/index.d.ts +247 -0
  121. package/lib/components/VParallax/VParallax.mjs +24 -10
  122. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  123. package/lib/components/VParallax/index.d.ts +18 -0
  124. package/lib/components/VProgressCircular/index.d.ts +68 -0
  125. package/lib/components/VProgressLinear/index.d.ts +101 -0
  126. package/lib/components/VRadio/index.d.ts +103 -0
  127. package/lib/components/VRadioGroup/VRadioGroup.css +2 -3
  128. package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -1
  129. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  130. package/lib/components/VRadioGroup/VRadioGroup.sass +2 -2
  131. package/lib/components/VRadioGroup/_variables.scss +0 -1
  132. package/lib/components/VRadioGroup/index.d.ts +186 -0
  133. package/lib/components/VRangeSlider/VRangeSlider.mjs +12 -2
  134. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  135. package/lib/components/VRangeSlider/index.d.ts +242 -0
  136. package/lib/components/VRating/index.d.ts +356 -0
  137. package/lib/components/VResponsive/index.d.ts +23 -0
  138. package/lib/components/VSelect/VSelect.mjs +1 -1
  139. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  140. package/lib/components/VSelect/index.d.ts +1521 -0
  141. package/lib/components/VSelectionControl/VSelectionControl.mjs +2 -1
  142. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  143. package/lib/components/VSelectionControl/index.d.ts +275 -0
  144. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.css +5 -0
  145. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +3 -1
  146. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  147. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +5 -0
  148. package/lib/components/VSelectionControlGroup/index.d.ts +47 -0
  149. package/lib/components/VSheet/index.d.ts +68 -0
  150. package/lib/components/VSlideGroup/index.d.ts +151 -0
  151. package/lib/components/VSlider/VSlider.css +7 -2
  152. package/lib/components/VSlider/VSlider.mjs +14 -4
  153. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  154. package/lib/components/VSlider/VSlider.sass +6 -2
  155. package/lib/components/VSlider/VSliderTrack.css +20 -20
  156. package/lib/components/VSlider/VSliderTrack.mjs +7 -3
  157. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  158. package/lib/components/VSlider/VSliderTrack.sass +14 -14
  159. package/lib/components/VSlider/_variables.scss +2 -2
  160. package/lib/components/VSlider/index.d.ts +239 -0
  161. package/lib/components/VSlider/slider.mjs +2 -2
  162. package/lib/components/VSlider/slider.mjs.map +1 -1
  163. package/lib/components/VSnackbar/VSnackbar.mjs +3 -2
  164. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  165. package/lib/components/VSnackbar/index.d.ts +892 -0
  166. package/lib/components/VSwitch/index.d.ts +175 -0
  167. package/lib/components/VSystemBar/index.d.ts +61 -0
  168. package/lib/components/VTable/index.d.ts +39 -0
  169. package/lib/components/VTabs/VTab.mjs +1 -0
  170. package/lib/components/VTabs/VTab.mjs.map +1 -1
  171. package/lib/components/VTabs/index.d.ts +178 -0
  172. package/lib/components/VTextField/VTextField.css +2 -3
  173. package/lib/components/VTextField/VTextField.sass +2 -4
  174. package/lib/components/VTextField/index.d.ts +582 -0
  175. package/lib/components/VTextarea/VTextarea.css +5 -3
  176. package/lib/components/VTextarea/VTextarea.mjs +2 -1
  177. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  178. package/lib/components/VTextarea/VTextarea.sass +5 -4
  179. package/lib/components/VTextarea/index.d.ts +218 -0
  180. package/lib/components/VThemeProvider/index.d.ts +24 -0
  181. package/lib/components/VTimeline/VTimeline.css +21 -6
  182. package/lib/components/VTimeline/VTimeline.mjs +6 -1
  183. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  184. package/lib/components/VTimeline/VTimeline.sass +16 -2
  185. package/lib/components/VTimeline/_variables.scss +4 -3
  186. package/lib/components/VTimeline/index.d.ts +154 -0
  187. package/lib/components/VToolbar/VToolbar.css +0 -1
  188. package/lib/components/VToolbar/VToolbar.sass +0 -1
  189. package/lib/components/VToolbar/index.d.ts +414 -0
  190. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  191. package/lib/components/VTooltip/index.d.ts +799 -0
  192. package/lib/components/VValidation/index.d.ts +61 -0
  193. package/lib/components/VWindow/index.d.ts +428 -0
  194. package/lib/components/index.d.ts +12037 -10009
  195. package/lib/components/transitions/index.d.ts +454 -0
  196. package/lib/composables/display.mjs +3 -3
  197. package/lib/composables/display.mjs.map +1 -1
  198. package/lib/composables/items.mjs.map +1 -1
  199. package/lib/composables/locale.mjs +10 -3
  200. package/lib/composables/locale.mjs.map +1 -1
  201. package/lib/composables/proxiedModel.mjs +28 -10
  202. package/lib/composables/proxiedModel.mjs.map +1 -1
  203. package/lib/composables/router.mjs +10 -2
  204. package/lib/composables/router.mjs.map +1 -1
  205. package/lib/composables/selectLink.mjs +4 -4
  206. package/lib/composables/selectLink.mjs.map +1 -1
  207. package/lib/composables/theme.mjs +37 -33
  208. package/lib/composables/theme.mjs.map +1 -1
  209. package/lib/composables/validation.mjs +1 -1
  210. package/lib/composables/validation.mjs.map +1 -1
  211. package/lib/entry-bundler.mjs +1 -1
  212. package/lib/framework.mjs +46 -51
  213. package/lib/framework.mjs.map +1 -1
  214. package/lib/index.d.ts +31 -22
  215. package/lib/locale/adapters/vue-i18n.d.ts +35 -0
  216. package/lib/locale/adapters/vue-intl.d.ts +42 -0
  217. package/lib/styles/main.css +73 -73
  218. package/lib/styles/settings/_colors.scss +84 -84
  219. package/lib/styles/tools/_states.sass +8 -3
  220. package/lib/util/getCurrentInstance.mjs +2 -3
  221. package/lib/util/getCurrentInstance.mjs.map +1 -1
  222. package/lib/util/helpers.mjs +6 -11
  223. package/lib/util/helpers.mjs.map +1 -1
  224. package/package.json +4 -2
@@ -0,0 +1,22 @@
1
+ import * as vue from 'vue';
2
+
3
+ declare const VDivider: vue.DefineComponent<{
4
+ theme: StringConstructor;
5
+ color: StringConstructor;
6
+ inset: BooleanConstructor;
7
+ length: (StringConstructor | NumberConstructor)[];
8
+ thickness: (StringConstructor | NumberConstructor)[];
9
+ vertical: BooleanConstructor;
10
+ }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
11
+ theme: StringConstructor;
12
+ color: StringConstructor;
13
+ inset: BooleanConstructor;
14
+ length: (StringConstructor | NumberConstructor)[];
15
+ thickness: (StringConstructor | NumberConstructor)[];
16
+ vertical: BooleanConstructor;
17
+ }>>, {
18
+ inset: boolean;
19
+ vertical: boolean;
20
+ }>;
21
+
22
+ export { VDivider };
@@ -133,11 +133,16 @@
133
133
  opacity: calc(0.12 * var(--v-theme-overlay-multiplier));
134
134
  }
135
135
  .v-expansion-panel-title--active:hover > .v-expansion-panel-title__overlay, .v-expansion-panel-title[aria-haspopup=menu][aria-expanded=true]:hover > .v-expansion-panel-title__overlay {
136
- opacity: calc(0.12 * var(--v-theme-overlay-multiplier));
137
- }
138
- .v-expansion-panel-title--active:focus > .v-expansion-panel-title__overlay, .v-expansion-panel-title[aria-haspopup=menu][aria-expanded=true]:focus > .v-expansion-panel-title__overlay {
139
136
  opacity: calc(0.16 * var(--v-theme-overlay-multiplier));
140
137
  }
138
+ .v-expansion-panel-title--active:focus-visible > .v-expansion-panel-title__overlay, .v-expansion-panel-title[aria-haspopup=menu][aria-expanded=true]:focus-visible > .v-expansion-panel-title__overlay {
139
+ opacity: calc(0.24 * var(--v-theme-overlay-multiplier));
140
+ }
141
+ @supports not selector(:focus-visible) {
142
+ .v-expansion-panel-title--active:focus > .v-expansion-panel-title__overlay, .v-expansion-panel-title[aria-haspopup=menu][aria-expanded=true]:focus > .v-expansion-panel-title__overlay {
143
+ opacity: calc(0.24 * var(--v-theme-overlay-multiplier));
144
+ }
145
+ }
141
146
  .v-expansion-panel-title--active::before {
142
147
  opacity: 0.12;
143
148
  }
@@ -0,0 +1,206 @@
1
+ import * as vue from 'vue';
2
+ import { PropType, JSXComponent } from 'vue';
3
+
4
+ declare const VExpansionPanels: vue.DefineComponent<{
5
+ theme: StringConstructor;
6
+ tag: {
7
+ type: StringConstructor;
8
+ default: string;
9
+ };
10
+ modelValue: {
11
+ type: null;
12
+ default: undefined;
13
+ };
14
+ multiple: BooleanConstructor;
15
+ mandatory: PropType<boolean | "force">;
16
+ max: NumberConstructor;
17
+ selectedClass: StringConstructor;
18
+ disabled: BooleanConstructor;
19
+ color: StringConstructor;
20
+ variant: {
21
+ type: PropType<"default" | "inset" | "accordion" | "popout">;
22
+ default: string;
23
+ validator: (v: any) => boolean;
24
+ };
25
+ readonly: BooleanConstructor;
26
+ }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
27
+ 'update:modelValue': (val: unknown) => true;
28
+ }, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
29
+ theme: StringConstructor;
30
+ tag: {
31
+ type: StringConstructor;
32
+ default: string;
33
+ };
34
+ modelValue: {
35
+ type: null;
36
+ default: undefined;
37
+ };
38
+ multiple: BooleanConstructor;
39
+ mandatory: PropType<boolean | "force">;
40
+ max: NumberConstructor;
41
+ selectedClass: StringConstructor;
42
+ disabled: BooleanConstructor;
43
+ color: StringConstructor;
44
+ variant: {
45
+ type: PropType<"default" | "inset" | "accordion" | "popout">;
46
+ default: string;
47
+ validator: (v: any) => boolean;
48
+ };
49
+ readonly: BooleanConstructor;
50
+ }>> & {
51
+ "onUpdate:modelValue"?: ((val: unknown) => any) | undefined;
52
+ }, {
53
+ disabled: boolean;
54
+ multiple: boolean;
55
+ readonly: boolean;
56
+ tag: string;
57
+ variant: "default" | "inset" | "accordion" | "popout";
58
+ modelValue: any;
59
+ }>;
60
+ declare type VExpansionPanels = InstanceType<typeof VExpansionPanels>;
61
+
62
+ declare type IconValue = string | JSXComponent;
63
+ declare const IconValue: PropType<IconValue>;
64
+
65
+ declare const VExpansionPanel: vue.DefineComponent<{
66
+ color: StringConstructor;
67
+ expandIcon: {
68
+ type: vue.PropType<IconValue>;
69
+ default: string;
70
+ };
71
+ collapseIcon: {
72
+ type: vue.PropType<IconValue>;
73
+ default: string;
74
+ };
75
+ hideActions: BooleanConstructor;
76
+ ripple: {
77
+ type: (ObjectConstructor | BooleanConstructor)[];
78
+ default: boolean;
79
+ };
80
+ readonly: BooleanConstructor;
81
+ tag: {
82
+ type: StringConstructor;
83
+ default: string;
84
+ };
85
+ rounded: {
86
+ type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
87
+ default: undefined;
88
+ };
89
+ eager: BooleanConstructor;
90
+ value: null;
91
+ disabled: BooleanConstructor;
92
+ selectedClass: StringConstructor;
93
+ elevation: {
94
+ type: (StringConstructor | NumberConstructor)[];
95
+ validator(v: any): boolean;
96
+ };
97
+ title: StringConstructor;
98
+ text: StringConstructor;
99
+ bgColor: StringConstructor;
100
+ }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
101
+ 'group:selected': (val: {
102
+ value: boolean;
103
+ }) => true;
104
+ }, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
105
+ color: StringConstructor;
106
+ expandIcon: {
107
+ type: vue.PropType<IconValue>;
108
+ default: string;
109
+ };
110
+ collapseIcon: {
111
+ type: vue.PropType<IconValue>;
112
+ default: string;
113
+ };
114
+ hideActions: BooleanConstructor;
115
+ ripple: {
116
+ type: (ObjectConstructor | BooleanConstructor)[];
117
+ default: boolean;
118
+ };
119
+ readonly: BooleanConstructor;
120
+ tag: {
121
+ type: StringConstructor;
122
+ default: string;
123
+ };
124
+ rounded: {
125
+ type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
126
+ default: undefined;
127
+ };
128
+ eager: BooleanConstructor;
129
+ value: null;
130
+ disabled: BooleanConstructor;
131
+ selectedClass: StringConstructor;
132
+ elevation: {
133
+ type: (StringConstructor | NumberConstructor)[];
134
+ validator(v: any): boolean;
135
+ };
136
+ title: StringConstructor;
137
+ text: StringConstructor;
138
+ bgColor: StringConstructor;
139
+ }>> & {
140
+ "onGroup:selected"?: ((val: {
141
+ value: boolean;
142
+ }) => any) | undefined;
143
+ }, {
144
+ eager: boolean;
145
+ disabled: boolean;
146
+ readonly: boolean;
147
+ tag: string;
148
+ rounded: string | number | boolean;
149
+ ripple: boolean | Record<string, any>;
150
+ collapseIcon: IconValue;
151
+ expandIcon: IconValue;
152
+ hideActions: boolean;
153
+ }>;
154
+ declare type VExpansionPanel = InstanceType<typeof VExpansionPanel>;
155
+
156
+ declare const VExpansionPanelText: vue.DefineComponent<{
157
+ eager: BooleanConstructor;
158
+ }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
159
+ eager: BooleanConstructor;
160
+ }>>, {
161
+ eager: boolean;
162
+ }>;
163
+ declare type VExpansionPanelText = InstanceType<typeof VExpansionPanelText>;
164
+
165
+ declare const VExpansionPanelTitle: vue.DefineComponent<{
166
+ color: StringConstructor;
167
+ expandIcon: {
168
+ type: vue.PropType<IconValue>;
169
+ default: string;
170
+ };
171
+ collapseIcon: {
172
+ type: vue.PropType<IconValue>;
173
+ default: string;
174
+ };
175
+ hideActions: BooleanConstructor;
176
+ ripple: {
177
+ type: (ObjectConstructor | BooleanConstructor)[];
178
+ default: boolean;
179
+ };
180
+ readonly: BooleanConstructor;
181
+ }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
182
+ color: StringConstructor;
183
+ expandIcon: {
184
+ type: vue.PropType<IconValue>;
185
+ default: string;
186
+ };
187
+ collapseIcon: {
188
+ type: vue.PropType<IconValue>;
189
+ default: string;
190
+ };
191
+ hideActions: BooleanConstructor;
192
+ ripple: {
193
+ type: (ObjectConstructor | BooleanConstructor)[];
194
+ default: boolean;
195
+ };
196
+ readonly: BooleanConstructor;
197
+ }>>, {
198
+ readonly: boolean;
199
+ ripple: boolean | Record<string, any>;
200
+ collapseIcon: IconValue;
201
+ expandIcon: IconValue;
202
+ hideActions: boolean;
203
+ }>;
204
+ declare type VExpansionPanelTitle = InstanceType<typeof VExpansionPanelTitle>;
205
+
206
+ export { VExpansionPanel, VExpansionPanelText, VExpansionPanelTitle, VExpansionPanels };
@@ -39,44 +39,46 @@
39
39
  border-bottom-left-radius: 0;
40
40
  border-bottom-right-radius: 0;
41
41
  }
42
- .v-field--variant-plain, .v-field--variant-underlined {
43
- border-radius: 0;
44
- padding: 0;
45
- --v-field-padding-start: 0px;
46
- --v-field-padding-end: 0px;
47
- --v-field-padding-top: 6px;
42
+ .v-input--density-default .v-field--variant-solo, .v-input--density-default .v-field--variant-filled {
43
+ --v-input-control-height: 56px;
44
+ --v-field-padding-bottom: 6px;
45
+ }
46
+
47
+ .v-input--density-comfortable .v-field--variant-solo, .v-input--density-comfortable .v-field--variant-filled {
48
+ --v-input-control-height: 48px;
48
49
  --v-field-padding-bottom: 2px;
49
50
  }
50
- .v-field--variant-outlined, .v-field--single-line {
51
+
52
+ .v-input--density-compact .v-field--variant-solo, .v-input--density-compact .v-field--variant-filled {
53
+ --v-input-control-height: 40px;
54
+ --v-field-padding-bottom: -2px;
55
+ }
56
+
57
+ .v-field--variant-outlined, .v-field--single-line, .v-field--no-label {
51
58
  --v-field-padding-top: 0px;
52
59
  }
53
- .v-input--density-default .v-field--variant-outlined, .v-input--density-default .v-field--single-line {
60
+ .v-input--density-default .v-field--variant-outlined, .v-input--density-default .v-field--single-line, .v-input--density-default .v-field--no-label {
54
61
  --v-field-padding-bottom: 16px;
55
62
  }
56
63
 
57
- .v-input--density-comfortable .v-field--variant-outlined, .v-input--density-comfortable .v-field--single-line {
64
+ .v-input--density-comfortable .v-field--variant-outlined, .v-input--density-comfortable .v-field--single-line, .v-input--density-comfortable .v-field--no-label {
58
65
  --v-field-padding-bottom: 12px;
59
66
  }
60
67
 
61
- .v-input--density-compact .v-field--variant-outlined, .v-input--density-compact .v-field--single-line {
68
+ .v-input--density-compact .v-field--variant-outlined, .v-input--density-compact .v-field--single-line, .v-input--density-compact .v-field--no-label {
62
69
  --v-field-padding-bottom: 8px;
63
70
  }
64
71
 
65
- .v-input--density-default .v-field--variant-solo, .v-input--density-default .v-field--variant-filled {
66
- --v-input-control-height: 56px;
67
- --v-field-padding-bottom: 6px;
72
+ .v-field--variant-plain, .v-field--variant-underlined {
73
+ border-radius: 0;
74
+ padding: 0;
68
75
  }
69
-
70
- .v-input--density-comfortable .v-field--variant-solo, .v-input--density-comfortable .v-field--variant-filled {
71
- --v-input-control-height: 48px;
76
+ .v-field--variant-plain.v-field, .v-field--variant-underlined.v-field {
77
+ --v-field-padding-start: 0px;
78
+ --v-field-padding-end: 0px;
79
+ --v-field-padding-top: 6px;
72
80
  --v-field-padding-bottom: 2px;
73
81
  }
74
-
75
- .v-input--density-compact .v-field--variant-solo, .v-input--density-compact .v-field--variant-filled {
76
- --v-input-control-height: 40px;
77
- --v-field-padding-bottom: -2px;
78
- }
79
-
80
82
  .v-input--density-default .v-field--variant-plain, .v-input--density-default .v-field--variant-underlined {
81
83
  --v-input-control-height: 48px;
82
84
  }
@@ -89,10 +91,10 @@
89
91
  --v-input-control-height: 32px;
90
92
  }
91
93
 
92
- .v-field--prepended {
94
+ .v-field.v-field--prepended {
93
95
  --v-field-padding-start: 6px;
94
96
  }
95
- .v-field--appended {
97
+ .v-field.v-field--appended {
96
98
  --v-field-padding-end: 6px;
97
99
  }
98
100
 
@@ -115,6 +117,7 @@
115
117
  letter-spacing: inherit;
116
118
  }
117
119
  .v-field__input input::placeholder,
120
+ input.v-field__input::placeholder,
118
121
  textarea.v-field__input::placeholder {
119
122
  color: currentColor;
120
123
  opacity: var(--v-disabled-opacity);
@@ -173,7 +173,7 @@ export const VField = genericComponent()({
173
173
  'v-field--prepended': hasPrepend,
174
174
  'v-field--reverse': props.reverse,
175
175
  'v-field--single-line': props.singleLine,
176
- 'v-field--has-label': !!label,
176
+ 'v-field--no-label': !label,
177
177
  [`v-field--variant-${props.variant}`]: true
178
178
  }, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value],
179
179
  "style": [backgroundColorStyles.value, textColorStyles.value],
@@ -1 +1 @@
1
- {"version":3,"file":"VField.mjs","names":["VExpandXTransition","useInputIcon","VFieldLabel","IconValue","LoaderSlot","makeLoaderProps","useLoader","makeFocusProps","useFocus","makeThemeProps","provideTheme","useBackgroundColor","useTextColor","computed","ref","toRef","watch","animate","convertToUnit","EventProp","genericComponent","getUid","isOn","nullifyTransforms","pick","propsFactory","standardEasing","useRender","allowedVariants","makeVFieldProps","appendInnerIcon","bgColor","String","clearable","Boolean","clearIcon","type","default","active","color","dirty","disabled","error","label","persistentClear","prependInnerIcon","reverse","singleLine","variant","validator","v","includes","VField","name","inheritAttrs","props","id","emits","e","focused","val","setup","attrs","emit","slots","themeClasses","loaderClasses","focusClasses","isFocused","focus","blur","InputIcon","isActive","hasLabel","uid","labelRef","floatingLabelRef","controlRef","backgroundColorClasses","backgroundColorStyles","textColorClasses","textColorStyles","value","undefined","el","$el","targetEl","rect","targetRect","getBoundingClientRect","x","y","height","targetWidth","width","Math","abs","maxWidth","style","getComputedStyle","targetStyle","duration","parseFloat","transitionDuration","scale","getPropertyValue","visibility","transform","easing","direction","finished","then","removeProperty","flush","slotProps","onClick","target","document","activeElement","preventDefault","isOutlined","hasPrepend","hasClear","clear","hasAppend","for","loading","loader","class","filterFieldProps","keys","Object","filter","k"],"sources":["../../../src/components/VField/VField.tsx"],"sourcesContent":["// Styles\nimport './VField.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { useInputIcon } from '@/components/VInput/InputIcon'\nimport { VFieldLabel } from './VFieldLabel'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref, toRef, watch } from 'vue'\nimport {\n animate,\n convertToUnit,\n EventProp,\n genericComponent,\n getUid,\n isOn,\n nullifyTransforms,\n pick,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { MakeSlots } from '@/util'\nimport type { PropType, Ref } from 'vue'\nimport type { VInputSlot } from '@/components/VInput/VInput'\n\nconst allowedVariants = ['underlined', 'outlined', 'filled', 'solo', 'plain'] as const\ntype Variant = typeof allowedVariants[number]\n\nexport interface DefaultInputSlot {\n isActive: Ref<boolean>\n isFocused: Ref<boolean>\n controlRef: Ref<HTMLElement | undefined>\n focus: () => void\n blur: () => void\n}\n\nexport interface VFieldSlot extends DefaultInputSlot {\n props: Record<string, unknown>\n}\n\nexport const makeVFieldProps = propsFactory({\n appendInnerIcon: IconValue,\n bgColor: String,\n clearable: Boolean,\n clearIcon: {\n type: IconValue,\n default: '$clear',\n },\n active: Boolean,\n color: String,\n dirty: Boolean,\n disabled: Boolean,\n error: Boolean,\n label: String,\n persistentClear: Boolean,\n prependInnerIcon: IconValue,\n reverse: Boolean,\n singleLine: Boolean,\n variant: {\n type: String as PropType<Variant>,\n default: 'filled',\n validator: (v: any) => allowedVariants.includes(v),\n },\n\n 'onClick:clear': EventProp,\n 'onClick:appendInner': EventProp,\n 'onClick:prependInner': EventProp,\n\n ...makeThemeProps(),\n ...makeLoaderProps(),\n}, 'v-field')\n\nexport type VFieldSlots = MakeSlots<{\n clear: []\n 'prepend-inner': [DefaultInputSlot & VInputSlot]\n 'append-inner': [DefaultInputSlot & VInputSlot]\n label: [DefaultInputSlot & VInputSlot]\n loader: [LoaderSlotProps]\n default: [VFieldSlot]\n}>\n\nexport const VField = genericComponent<new <T>() => {\n $props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => any\n }\n $slots: VFieldSlots\n}>()({\n name: 'VField',\n\n inheritAttrs: false,\n\n props: {\n id: String,\n\n ...makeFocusProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'click:control': (e: MouseEvent) => true,\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { themeClasses } = provideTheme(props)\n const { loaderClasses } = useLoader(props)\n const { focusClasses, isFocused, focus, blur } = useFocus(props)\n const { InputIcon } = useInputIcon(props)\n\n const isActive = computed(() => props.dirty || props.active)\n const hasLabel = computed(() => !props.singleLine && !!(props.label || slots.label))\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n\n const labelRef = ref<VFieldLabel>()\n const floatingLabelRef = ref<VFieldLabel>()\n const controlRef = ref<HTMLElement>()\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => {\n return (\n isActive.value &&\n isFocused.value &&\n !props.error &&\n !props.disabled\n ) ? props.color : undefined\n }))\n\n watch(isActive, val => {\n if (hasLabel.value) {\n const el: HTMLElement = labelRef.value!.$el\n const targetEl: HTMLElement = floatingLabelRef.value!.$el\n const rect = nullifyTransforms(el)\n const targetRect = targetEl.getBoundingClientRect()\n\n const x = targetRect.x - rect.x\n const y = targetRect.y - rect.y - (rect.height / 2 - targetRect.height / 2)\n\n const targetWidth = targetRect.width / 0.75\n const width = Math.abs(targetWidth - rect.width) > 1\n ? { maxWidth: convertToUnit(targetWidth) }\n : undefined\n\n const style = getComputedStyle(el)\n const targetStyle = getComputedStyle(targetEl)\n const duration = parseFloat(style.transitionDuration) * 1000 || 150\n const scale = parseFloat(targetStyle.getPropertyValue('--v-field-label-scale'))\n const color = targetStyle.getPropertyValue('color')\n\n el.style.visibility = 'visible'\n targetEl.style.visibility = 'hidden'\n\n animate(el, {\n transform: `translate(${x}px, ${y}px) scale(${scale})`,\n color,\n ...width,\n }, {\n duration,\n easing: standardEasing,\n direction: val ? 'normal' : 'reverse',\n }).finished.then(() => {\n el.style.removeProperty('visibility')\n targetEl.style.removeProperty('visibility')\n })\n }\n }, { flush: 'post' })\n\n const slotProps = computed<DefaultInputSlot>(() => ({\n isActive,\n isFocused,\n controlRef,\n blur,\n focus,\n }))\n\n function onClick (e: MouseEvent) {\n if (e.target !== document.activeElement) {\n e.preventDefault()\n }\n\n emit('click:control', e)\n }\n\n useRender(() => {\n const isOutlined = props.variant === 'outlined'\n const hasPrepend = (slots['prepend-inner'] || props.prependInnerIcon)\n const hasClear = !!(props.clearable || slots.clear)\n const hasAppend = !!(slots['append-inner'] || props.appendInnerIcon || hasClear)\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n\n return (\n <div\n class={[\n 'v-field',\n {\n 'v-field--active': isActive.value,\n 'v-field--appended': hasAppend,\n 'v-field--disabled': props.disabled,\n 'v-field--dirty': props.dirty,\n 'v-field--error': props.error,\n 'v-field--has-background': !!props.bgColor,\n 'v-field--persistent-clear': props.persistentClear,\n 'v-field--prepended': hasPrepend,\n 'v-field--reverse': props.reverse,\n 'v-field--single-line': props.singleLine,\n 'v-field--has-label': !!label,\n [`v-field--variant-${props.variant}`]: true,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n focusClasses.value,\n loaderClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n textColorStyles.value,\n ]}\n onClick={ onClick }\n { ...attrs }\n >\n <div class=\"v-field__overlay\" />\n\n <LoaderSlot\n name=\"v-field\"\n active={ props.loading }\n color={ props.error ? 'error' : props.color }\n v-slots={{ default: slots.loader }}\n />\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-field__prepend-inner\">\n { props.prependInnerIcon && (\n <InputIcon key=\"prepend-icon\" name=\"prependInner\" />\n ) }\n\n { slots['prepend-inner']?.(slotProps.value) }\n </div>\n ) }\n\n <div class=\"v-field__field\" data-no-activator=\"\">\n { ['solo', 'filled'].includes(props.variant) && hasLabel.value && (\n <VFieldLabel\n key=\"floating-label\"\n ref={ floatingLabelRef }\n class={[textColorClasses.value]}\n floating\n for={ id.value }\n >\n { label }\n </VFieldLabel>\n ) }\n\n <VFieldLabel ref={ labelRef } for={ id.value }>\n { label }\n </VFieldLabel>\n\n { slots.default?.({\n ...slotProps.value,\n props: {\n id: id.value,\n class: 'v-field__input',\n },\n focus,\n blur,\n } as VFieldSlot) }\n </div>\n\n { hasClear && (\n <VExpandXTransition key=\"clear\">\n <div\n class=\"v-field__clearable\"\n v-show={ props.dirty }\n >\n { slots.clear\n ? slots.clear()\n : <InputIcon name=\"clear\" />\n }\n </div>\n </VExpandXTransition>\n ) }\n\n { hasAppend && (\n <div key=\"append\" class=\"v-field__append-inner\">\n { slots['append-inner']?.(slotProps.value) }\n\n { props.appendInnerIcon && (\n <InputIcon key=\"append-icon\" name=\"appendInner\" />\n ) }\n </div>\n ) }\n\n <div\n class={[\n 'v-field__outline',\n textColorClasses.value,\n ]}\n >\n { isOutlined && (\n <>\n <div class=\"v-field__outline__start\" />\n\n { hasLabel.value && (\n <div class=\"v-field__outline__notch\">\n <VFieldLabel ref={ floatingLabelRef } floating for={ id.value }>\n { label }\n </VFieldLabel>\n </div>\n ) }\n\n <div class=\"v-field__outline__end\" />\n </>\n ) }\n\n { ['plain', 'underlined'].includes(props.variant) && hasLabel.value && (\n <VFieldLabel ref={ floatingLabelRef } floating for={ id.value }>\n { label }\n </VFieldLabel>\n ) }\n </div>\n </div>\n )\n })\n\n return {\n controlRef,\n }\n },\n})\n\nexport type VField = InstanceType<typeof VField>\n\n// TODO: this is kinda slow, might be better to implicitly inherit props instead\nexport function filterFieldProps (attrs: Record<string, unknown>) {\n const keys = Object.keys(VField.props).filter(k => !isOn(k))\n return pick(attrs, keys)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"VField.mjs","names":["VExpandXTransition","useInputIcon","VFieldLabel","IconValue","LoaderSlot","makeLoaderProps","useLoader","makeFocusProps","useFocus","makeThemeProps","provideTheme","useBackgroundColor","useTextColor","computed","ref","toRef","watch","animate","convertToUnit","EventProp","genericComponent","getUid","isOn","nullifyTransforms","pick","propsFactory","standardEasing","useRender","allowedVariants","makeVFieldProps","appendInnerIcon","bgColor","String","clearable","Boolean","clearIcon","type","default","active","color","dirty","disabled","error","label","persistentClear","prependInnerIcon","reverse","singleLine","variant","validator","v","includes","VField","name","inheritAttrs","props","id","emits","e","focused","val","setup","attrs","emit","slots","themeClasses","loaderClasses","focusClasses","isFocused","focus","blur","InputIcon","isActive","hasLabel","uid","labelRef","floatingLabelRef","controlRef","backgroundColorClasses","backgroundColorStyles","textColorClasses","textColorStyles","value","undefined","el","$el","targetEl","rect","targetRect","getBoundingClientRect","x","y","height","targetWidth","width","Math","abs","maxWidth","style","getComputedStyle","targetStyle","duration","parseFloat","transitionDuration","scale","getPropertyValue","visibility","transform","easing","direction","finished","then","removeProperty","flush","slotProps","onClick","target","document","activeElement","preventDefault","isOutlined","hasPrepend","hasClear","clear","hasAppend","for","loading","loader","class","filterFieldProps","keys","Object","filter","k"],"sources":["../../../src/components/VField/VField.tsx"],"sourcesContent":["// Styles\nimport './VField.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { useInputIcon } from '@/components/VInput/InputIcon'\nimport { VFieldLabel } from './VFieldLabel'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref, toRef, watch } from 'vue'\nimport {\n animate,\n convertToUnit,\n EventProp,\n genericComponent,\n getUid,\n isOn,\n nullifyTransforms,\n pick,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { MakeSlots } from '@/util'\nimport type { PropType, Ref } from 'vue'\nimport type { VInputSlot } from '@/components/VInput/VInput'\n\nconst allowedVariants = ['underlined', 'outlined', 'filled', 'solo', 'plain'] as const\ntype Variant = typeof allowedVariants[number]\n\nexport interface DefaultInputSlot {\n isActive: Ref<boolean>\n isFocused: Ref<boolean>\n controlRef: Ref<HTMLElement | undefined>\n focus: () => void\n blur: () => void\n}\n\nexport interface VFieldSlot extends DefaultInputSlot {\n props: Record<string, unknown>\n}\n\nexport const makeVFieldProps = propsFactory({\n appendInnerIcon: IconValue,\n bgColor: String,\n clearable: Boolean,\n clearIcon: {\n type: IconValue,\n default: '$clear',\n },\n active: Boolean,\n color: String,\n dirty: Boolean,\n disabled: Boolean,\n error: Boolean,\n label: String,\n persistentClear: Boolean,\n prependInnerIcon: IconValue,\n reverse: Boolean,\n singleLine: Boolean,\n variant: {\n type: String as PropType<Variant>,\n default: 'filled',\n validator: (v: any) => allowedVariants.includes(v),\n },\n\n 'onClick:clear': EventProp,\n 'onClick:appendInner': EventProp,\n 'onClick:prependInner': EventProp,\n\n ...makeThemeProps(),\n ...makeLoaderProps(),\n}, 'v-field')\n\nexport type VFieldSlots = MakeSlots<{\n clear: []\n 'prepend-inner': [DefaultInputSlot & VInputSlot]\n 'append-inner': [DefaultInputSlot & VInputSlot]\n label: [DefaultInputSlot & VInputSlot]\n loader: [LoaderSlotProps]\n default: [VFieldSlot]\n}>\n\nexport const VField = genericComponent<new <T>() => {\n $props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => any\n }\n $slots: VFieldSlots\n}>()({\n name: 'VField',\n\n inheritAttrs: false,\n\n props: {\n id: String,\n\n ...makeFocusProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'click:control': (e: MouseEvent) => true,\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { themeClasses } = provideTheme(props)\n const { loaderClasses } = useLoader(props)\n const { focusClasses, isFocused, focus, blur } = useFocus(props)\n const { InputIcon } = useInputIcon(props)\n\n const isActive = computed(() => props.dirty || props.active)\n const hasLabel = computed(() => !props.singleLine && !!(props.label || slots.label))\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n\n const labelRef = ref<VFieldLabel>()\n const floatingLabelRef = ref<VFieldLabel>()\n const controlRef = ref<HTMLElement>()\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => {\n return (\n isActive.value &&\n isFocused.value &&\n !props.error &&\n !props.disabled\n ) ? props.color : undefined\n }))\n\n watch(isActive, val => {\n if (hasLabel.value) {\n const el: HTMLElement = labelRef.value!.$el\n const targetEl: HTMLElement = floatingLabelRef.value!.$el\n const rect = nullifyTransforms(el)\n const targetRect = targetEl.getBoundingClientRect()\n\n const x = targetRect.x - rect.x\n const y = targetRect.y - rect.y - (rect.height / 2 - targetRect.height / 2)\n\n const targetWidth = targetRect.width / 0.75\n const width = Math.abs(targetWidth - rect.width) > 1\n ? { maxWidth: convertToUnit(targetWidth) }\n : undefined\n\n const style = getComputedStyle(el)\n const targetStyle = getComputedStyle(targetEl)\n const duration = parseFloat(style.transitionDuration) * 1000 || 150\n const scale = parseFloat(targetStyle.getPropertyValue('--v-field-label-scale'))\n const color = targetStyle.getPropertyValue('color')\n\n el.style.visibility = 'visible'\n targetEl.style.visibility = 'hidden'\n\n animate(el, {\n transform: `translate(${x}px, ${y}px) scale(${scale})`,\n color,\n ...width,\n }, {\n duration,\n easing: standardEasing,\n direction: val ? 'normal' : 'reverse',\n }).finished.then(() => {\n el.style.removeProperty('visibility')\n targetEl.style.removeProperty('visibility')\n })\n }\n }, { flush: 'post' })\n\n const slotProps = computed<DefaultInputSlot>(() => ({\n isActive,\n isFocused,\n controlRef,\n blur,\n focus,\n }))\n\n function onClick (e: MouseEvent) {\n if (e.target !== document.activeElement) {\n e.preventDefault()\n }\n\n emit('click:control', e)\n }\n\n useRender(() => {\n const isOutlined = props.variant === 'outlined'\n const hasPrepend = (slots['prepend-inner'] || props.prependInnerIcon)\n const hasClear = !!(props.clearable || slots.clear)\n const hasAppend = !!(slots['append-inner'] || props.appendInnerIcon || hasClear)\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n\n return (\n <div\n class={[\n 'v-field',\n {\n 'v-field--active': isActive.value,\n 'v-field--appended': hasAppend,\n 'v-field--disabled': props.disabled,\n 'v-field--dirty': props.dirty,\n 'v-field--error': props.error,\n 'v-field--has-background': !!props.bgColor,\n 'v-field--persistent-clear': props.persistentClear,\n 'v-field--prepended': hasPrepend,\n 'v-field--reverse': props.reverse,\n 'v-field--single-line': props.singleLine,\n 'v-field--no-label': !label,\n [`v-field--variant-${props.variant}`]: true,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n focusClasses.value,\n loaderClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n textColorStyles.value,\n ]}\n onClick={ onClick }\n { ...attrs }\n >\n <div class=\"v-field__overlay\" />\n\n <LoaderSlot\n name=\"v-field\"\n active={ props.loading }\n color={ props.error ? 'error' : props.color }\n v-slots={{ default: slots.loader }}\n />\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-field__prepend-inner\">\n { props.prependInnerIcon && (\n <InputIcon key=\"prepend-icon\" name=\"prependInner\" />\n ) }\n\n { slots['prepend-inner']?.(slotProps.value) }\n </div>\n ) }\n\n <div class=\"v-field__field\" data-no-activator=\"\">\n { ['solo', 'filled'].includes(props.variant) && hasLabel.value && (\n <VFieldLabel\n key=\"floating-label\"\n ref={ floatingLabelRef }\n class={[textColorClasses.value]}\n floating\n for={ id.value }\n >\n { label }\n </VFieldLabel>\n ) }\n\n <VFieldLabel ref={ labelRef } for={ id.value }>\n { label }\n </VFieldLabel>\n\n { slots.default?.({\n ...slotProps.value,\n props: {\n id: id.value,\n class: 'v-field__input',\n },\n focus,\n blur,\n } as VFieldSlot) }\n </div>\n\n { hasClear && (\n <VExpandXTransition key=\"clear\">\n <div\n class=\"v-field__clearable\"\n v-show={ props.dirty }\n >\n { slots.clear\n ? slots.clear()\n : <InputIcon name=\"clear\" />\n }\n </div>\n </VExpandXTransition>\n ) }\n\n { hasAppend && (\n <div key=\"append\" class=\"v-field__append-inner\">\n { slots['append-inner']?.(slotProps.value) }\n\n { props.appendInnerIcon && (\n <InputIcon key=\"append-icon\" name=\"appendInner\" />\n ) }\n </div>\n ) }\n\n <div\n class={[\n 'v-field__outline',\n textColorClasses.value,\n ]}\n >\n { isOutlined && (\n <>\n <div class=\"v-field__outline__start\" />\n\n { hasLabel.value && (\n <div class=\"v-field__outline__notch\">\n <VFieldLabel ref={ floatingLabelRef } floating for={ id.value }>\n { label }\n </VFieldLabel>\n </div>\n ) }\n\n <div class=\"v-field__outline__end\" />\n </>\n ) }\n\n { ['plain', 'underlined'].includes(props.variant) && hasLabel.value && (\n <VFieldLabel ref={ floatingLabelRef } floating for={ id.value }>\n { label }\n </VFieldLabel>\n ) }\n </div>\n </div>\n )\n })\n\n return {\n controlRef,\n }\n },\n})\n\nexport type VField = InstanceType<typeof VField>\n\n// TODO: this is kinda slow, might be better to implicitly inherit props instead\nexport function filterFieldProps (attrs: Record<string, unknown>) {\n const keys = Object.keys(VField.props).filter(k => !isOn(k))\n return pick(attrs, keys)\n}\n"],"mappings":"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"}
@@ -48,38 +48,38 @@
48
48
  border-bottom-left-radius: 0
49
49
  border-bottom-right-radius: 0
50
50
 
51
- &--variant-plain,
52
- &--variant-underlined
53
- border-radius: 0
54
- padding: 0
55
- --v-field-padding-start: 0px
56
- --v-field-padding-end: 0px
57
- --v-field-padding-top: 6px
58
- --v-field-padding-bottom: 2px
59
-
60
- &--variant-outlined,
61
- &--single-line
62
- --v-field-padding-top: 0px
51
+ &--variant-solo,
52
+ &--variant-filled
63
53
  $root: &
64
54
 
65
55
  @at-root
66
56
  @include tools.density('v-input', $input-density) using ($modifier)
67
57
  @at-root #{selector.nest(&, $root)}
68
- --v-field-padding-bottom: #{16px + $modifier * .5}
58
+ --v-input-control-height: #{$field-control-height + $modifier}
59
+ --v-field-padding-bottom: #{$field-control-padding-bottom + $modifier * .5}
69
60
 
70
- &--variant-solo,
71
- &--variant-filled
61
+ &--variant-outlined,
62
+ &--single-line,
63
+ &--no-label
64
+ --v-field-padding-top: 0px
72
65
  $root: &
73
66
 
74
67
  @at-root
75
68
  @include tools.density('v-input', $input-density) using ($modifier)
76
69
  @at-root #{selector.nest(&, $root)}
77
- --v-input-control-height: #{$field-control-height + $modifier}
78
- --v-field-padding-bottom: #{$field-control-padding-bottom + $modifier * .5}
70
+ --v-field-padding-bottom: #{16px + $modifier * .5}
79
71
 
80
72
  &--variant-plain,
81
73
  &--variant-underlined
82
74
  $root: &
75
+ border-radius: 0
76
+ padding: 0
77
+
78
+ &.v-field
79
+ --v-field-padding-start: 0px
80
+ --v-field-padding-end: 0px
81
+ --v-field-padding-top: 6px
82
+ --v-field-padding-bottom: 2px
83
83
 
84
84
  @at-root
85
85
  @include tools.density('v-input', $input-density) using ($modifier)
@@ -87,11 +87,12 @@
87
87
  --v-input-control-height: #{$field-control-underlined-height + $modifier}
88
88
 
89
89
  // These are separate so they can override the default variant styles
90
- &--prepended
91
- --v-field-padding-start: #{$field-control-affixed-inner-padding}
90
+ &.v-field
91
+ &--prepended
92
+ --v-field-padding-start: #{$field-control-affixed-inner-padding}
92
93
 
93
- &--appended
94
- --v-field-padding-end: #{$field-control-affixed-inner-padding}
94
+ &--appended
95
+ --v-field-padding-end: #{$field-control-affixed-inner-padding}
95
96
 
96
97
  /* endregion */
97
98
  /* region ELEMENTS */
@@ -113,6 +114,7 @@
113
114
 
114
115
  @at-root
115
116
  & input::placeholder,
117
+ input#{&}::placeholder,
116
118
  textarea#{&}::placeholder
117
119
  color: currentColor
118
120
  opacity: var(--v-disabled-opacity)