@vuetify/nightly 3.7.4-next.2024-11-06 → 3.7.5-dev.2024-12-16

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 (262) hide show
  1. package/dist/json/attributes.json +2853 -2845
  2. package/dist/json/importMap-labs.json +20 -20
  3. package/dist/json/importMap.json +150 -150
  4. package/dist/json/tags.json +2 -0
  5. package/dist/json/web-types.json +5324 -5306
  6. package/dist/vuetify-labs.css +25135 -23418
  7. package/dist/vuetify-labs.d.ts +202 -196
  8. package/dist/vuetify-labs.esm.js +107 -106
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +106 -105
  11. package/dist/vuetify-labs.min.css +4 -3
  12. package/dist/vuetify.css +23838 -22118
  13. package/dist/vuetify.d.ts +191 -185
  14. package/dist/vuetify.esm.js +96 -96
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +95 -95
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +4 -3
  19. package/dist/vuetify.min.js +884 -889
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAlert/VAlert.css +215 -207
  22. package/lib/components/VApp/VApp.css +15 -16
  23. package/lib/components/VAppBar/VAppBar.css +12 -14
  24. package/lib/components/VAppBar/index.d.mts +6 -6
  25. package/lib/components/VAutocomplete/VAutocomplete.css +85 -86
  26. package/lib/components/VAutocomplete/VAutocomplete.mjs +4 -4
  27. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  28. package/lib/components/VAutocomplete/index.d.mts +22 -22
  29. package/lib/components/VAvatar/VAvatar.css +106 -108
  30. package/lib/components/VBadge/VBadge.css +77 -73
  31. package/lib/components/VBadge/VBadge.sass +4 -0
  32. package/lib/components/VBanner/VBanner.css +166 -161
  33. package/lib/components/VBottomNavigation/VBottomNavigation.css +63 -64
  34. package/lib/components/VBottomSheet/VBottomSheet.css +31 -34
  35. package/lib/components/VBreadcrumbs/VBreadcrumbs.css +57 -54
  36. package/lib/components/VBtn/VBtn.css +408 -385
  37. package/lib/components/VBtn/VBtn.sass +4 -4
  38. package/lib/components/VBtn/index.d.mts +7 -7
  39. package/lib/components/VBtnGroup/VBtnGroup.css +64 -63
  40. package/lib/components/VBtnToggle/VBtnToggle.css +14 -16
  41. package/lib/components/VBtnToggle/index.d.mts +9 -9
  42. package/lib/components/VCard/VCard.css +302 -294
  43. package/lib/components/VCarousel/VCarousel.css +65 -63
  44. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  45. package/lib/components/VCarousel/VCarousel.sass +1 -1
  46. package/lib/components/VCarousel/index.d.mts +9 -9
  47. package/lib/components/VCheckbox/VCheckbox.css +5 -7
  48. package/lib/components/VCheckbox/VCheckbox.mjs +3 -3
  49. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  50. package/lib/components/VChip/VChip.css +411 -378
  51. package/lib/components/VChip/VChip.mjs +18 -10
  52. package/lib/components/VChip/VChip.mjs.map +1 -1
  53. package/lib/components/VChip/index.d.mts +13 -8
  54. package/lib/components/VChipGroup/VChipGroup.css +18 -19
  55. package/lib/components/VChipGroup/VChipGroup.mjs +2 -0
  56. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  57. package/lib/components/VChipGroup/index.d.mts +20 -15
  58. package/lib/components/VCode/VCode.css +8 -10
  59. package/lib/components/VColorPicker/VColorPicker.css +22 -22
  60. package/lib/components/VColorPicker/VColorPickerCanvas.css +22 -24
  61. package/lib/components/VColorPicker/VColorPickerEdit.css +28 -29
  62. package/lib/components/VColorPicker/VColorPickerPreview.css +67 -69
  63. package/lib/components/VColorPicker/VColorPickerPreview.sass +2 -4
  64. package/lib/components/VColorPicker/VColorPickerSwatches.css +34 -34
  65. package/lib/components/VCombobox/VCombobox.css +85 -86
  66. package/lib/components/VCombobox/VCombobox.mjs +4 -4
  67. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  68. package/lib/components/VCombobox/index.d.mts +22 -22
  69. package/lib/components/VConfirmEdit/VConfirmEdit.mjs +9 -7
  70. package/lib/components/VConfirmEdit/VConfirmEdit.mjs.map +1 -1
  71. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs +1 -1
  72. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs.map +1 -1
  73. package/lib/components/VConfirmEdit/index.d.mts +3 -7
  74. package/lib/components/VCounter/VCounter.css +5 -7
  75. package/lib/components/VDataTable/VDataTable.css +186 -189
  76. package/lib/components/VDataTable/VDataTable.sass +10 -20
  77. package/lib/components/VDataTable/VDataTableFooter.css +31 -33
  78. package/lib/components/VDatePicker/VDatePicker.css +6 -8
  79. package/lib/components/VDatePicker/VDatePickerControls.css +56 -54
  80. package/lib/components/VDatePicker/VDatePickerHeader.css +60 -56
  81. package/lib/components/VDatePicker/VDatePickerHeader.mjs +2 -1
  82. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  83. package/lib/components/VDatePicker/VDatePickerMonth.css +55 -51
  84. package/lib/components/VDatePicker/VDatePickerMonths.css +19 -20
  85. package/lib/components/VDatePicker/VDatePickerYears.css +15 -16
  86. package/lib/components/VDatePicker/index.d.mts +5 -5
  87. package/lib/components/VDialog/VDialog.css +95 -95
  88. package/lib/components/VDivider/VDivider.css +52 -52
  89. package/lib/components/VEmptyState/VEmptyState.css +67 -62
  90. package/lib/components/VExpansionPanel/VExpansionPanel.css +209 -203
  91. package/lib/components/VExpansionPanel/VExpansionPanel.sass +25 -27
  92. package/lib/components/VExpansionPanel/index.d.mts +7 -7
  93. package/lib/components/VFab/VFab.css +69 -74
  94. package/lib/components/VFab/VFab.sass +4 -5
  95. package/lib/components/VFab/index.d.mts +6 -6
  96. package/lib/components/VField/VField.css +579 -539
  97. package/lib/components/VField/VField.mjs +5 -4
  98. package/lib/components/VField/VField.mjs.map +1 -1
  99. package/lib/components/VFileInput/VFileInput.css +29 -31
  100. package/lib/components/VFooter/VFooter.css +36 -38
  101. package/lib/components/VGrid/VGrid.css +592 -565
  102. package/lib/components/VIcon/VIcon.css +52 -51
  103. package/lib/components/VImg/VImg.css +51 -50
  104. package/lib/components/VInfiniteScroll/VInfiniteScroll.css +37 -36
  105. package/lib/components/VInput/VInput.css +142 -131
  106. package/lib/components/VInput/VInput.mjs +3 -3
  107. package/lib/components/VInput/VInput.mjs.map +1 -1
  108. package/lib/components/VItemGroup/VItemGroup.css +5 -7
  109. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  110. package/lib/components/VItemGroup/index.d.mts +9 -9
  111. package/lib/components/VKbd/VKbd.css +11 -13
  112. package/lib/components/VLabel/VLabel.css +15 -16
  113. package/lib/components/VLayout/VLayout.css +8 -10
  114. package/lib/components/VLayout/VLayoutItem.css +7 -8
  115. package/lib/components/VList/VList.css +108 -104
  116. package/lib/components/VList/VList.mjs +3 -2
  117. package/lib/components/VList/VList.mjs.map +1 -1
  118. package/lib/components/VList/VList.sass +1 -1
  119. package/lib/components/VList/VListItem.css +452 -440
  120. package/lib/components/VList/VListItem.mjs +3 -2
  121. package/lib/components/VList/VListItem.mjs.map +1 -1
  122. package/lib/components/VList/VListItem.sass +1 -2
  123. package/lib/components/VList/index.d.mts +10 -10
  124. package/lib/components/VLocaleProvider/VLocaleProvider.css +2 -4
  125. package/lib/components/VMain/VMain.css +30 -32
  126. package/lib/components/VMenu/VMenu.css +19 -21
  127. package/lib/components/VMenu/VMenu.mjs +3 -3
  128. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  129. package/lib/components/VMenu/index.d.mts +6 -6
  130. package/lib/components/VMessages/VMessages.css +15 -17
  131. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +108 -106
  132. package/lib/components/VOtpInput/VOtpInput.css +58 -56
  133. package/lib/components/VOverlay/VOverlay.css +63 -60
  134. package/lib/components/VOverlay/VOverlay.sass +13 -14
  135. package/lib/components/VPagination/VPagination.css +8 -10
  136. package/lib/components/VParallax/VParallax.css +6 -8
  137. package/lib/components/VProgressCircular/VProgressCircular.css +101 -95
  138. package/lib/components/VProgressLinear/VProgressLinear.css +222 -209
  139. package/lib/components/VRadioGroup/VRadioGroup.css +12 -14
  140. package/lib/components/VRadioGroup/VRadioGroup.mjs +3 -3
  141. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  142. package/lib/components/VRating/VRating.css +53 -52
  143. package/lib/components/VRating/VRating.mjs +4 -3
  144. package/lib/components/VRating/VRating.mjs.map +1 -1
  145. package/lib/components/VResponsive/VResponsive.css +26 -25
  146. package/lib/components/VSelect/VSelect.css +52 -54
  147. package/lib/components/VSelect/VSelect.mjs +3 -3
  148. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  149. package/lib/components/VSelect/index.d.mts +22 -22
  150. package/lib/components/VSelectionControl/VSelectionControl.css +102 -100
  151. package/lib/components/VSelectionControl/VSelectionControl.mjs +3 -3
  152. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  153. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.css +8 -10
  154. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +3 -3
  155. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  156. package/lib/components/VSheet/VSheet.css +36 -38
  157. package/lib/components/VSkeletonLoader/VSkeletonLoader.css +224 -225
  158. package/lib/components/VSlideGroup/VSlideGroup.css +55 -53
  159. package/lib/components/VSlideGroup/index.d.mts +10 -10
  160. package/lib/components/VSlider/VSlider.css +57 -53
  161. package/lib/components/VSlider/VSliderThumb.css +153 -142
  162. package/lib/components/VSlider/VSliderTrack.css +174 -155
  163. package/lib/components/VSnackbar/VSnackbar.css +140 -140
  164. package/lib/components/VSparkline/VBarline.mjs +3 -3
  165. package/lib/components/VSparkline/VBarline.mjs.map +1 -1
  166. package/lib/components/VSparkline/VTrendline.mjs +3 -3
  167. package/lib/components/VSparkline/VTrendline.mjs.map +1 -1
  168. package/lib/components/VSpeedDial/VSpeedDial.css +41 -43
  169. package/lib/components/VStepper/VStepper.css +56 -55
  170. package/lib/components/VStepper/VStepper.mjs +5 -4
  171. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  172. package/lib/components/VStepper/VStepperItem.css +115 -112
  173. package/lib/components/VStepper/VStepperItem.mjs +5 -4
  174. package/lib/components/VStepper/VStepperItem.mjs.map +1 -1
  175. package/lib/components/VStepper/index.d.mts +51 -45
  176. package/lib/components/VSwitch/VSwitch.css +139 -129
  177. package/lib/components/VSwitch/VSwitch.mjs +3 -3
  178. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  179. package/lib/components/VSystemBar/VSystemBar.css +43 -45
  180. package/lib/components/VTable/VTable.css +141 -140
  181. package/lib/components/VTable/VTable.sass +2 -4
  182. package/lib/components/VTabs/VTab.css +29 -30
  183. package/lib/components/VTabs/VTabs.css +65 -59
  184. package/lib/components/VTabs/index.d.mts +7 -7
  185. package/lib/components/VTextField/VTextField.css +68 -65
  186. package/lib/components/VTextarea/VTextarea.css +39 -47
  187. package/lib/components/VTextarea/VTextarea.sass +2 -4
  188. package/lib/components/VThemeProvider/VThemeProvider.css +3 -5
  189. package/lib/components/VTimeline/VTimeline.css +418 -379
  190. package/lib/components/VToolbar/VToolbar.css +143 -136
  191. package/lib/components/VTooltip/VTooltip.css +21 -25
  192. package/lib/components/VTooltip/VTooltip.mjs +3 -3
  193. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  194. package/lib/components/VTooltip/VTooltip.sass +6 -8
  195. package/lib/components/VVirtualScroll/VVirtualScroll.css +9 -11
  196. package/lib/components/VWindow/VWindow.css +70 -73
  197. package/lib/components/VWindow/index.d.mts +7 -7
  198. package/lib/components/index.d.mts +138 -132
  199. package/lib/composables/form.mjs +7 -2
  200. package/lib/composables/form.mjs.map +1 -1
  201. package/lib/composables/group.mjs +3 -3
  202. package/lib/composables/group.mjs.map +1 -1
  203. package/lib/composables/layout.mjs +3 -3
  204. package/lib/composables/layout.mjs.map +1 -1
  205. package/lib/composables/nested/nested.mjs +2 -2
  206. package/lib/composables/nested/nested.mjs.map +1 -1
  207. package/lib/composables/theme.mjs +4 -4
  208. package/lib/composables/theme.mjs.map +1 -1
  209. package/lib/composables/validation.mjs +13 -15
  210. package/lib/composables/validation.mjs.map +1 -1
  211. package/lib/directives/ripple/VRipple.css +36 -38
  212. package/lib/entry-bundler.mjs +1 -1
  213. package/lib/entry-bundler.mjs.map +1 -1
  214. package/lib/framework.mjs +2 -3
  215. package/lib/framework.mjs.map +1 -1
  216. package/lib/index.d.mts +53 -53
  217. package/lib/labs/VCalendar/VCalendar.css +225 -219
  218. package/lib/labs/VCalendar/VCalendarDay.css +32 -33
  219. package/lib/labs/VCalendar/VCalendarHeader.css +13 -13
  220. package/lib/labs/VCalendar/VCalendarInterval.css +42 -43
  221. package/lib/labs/VCalendar/VCalendarIntervalEvent.css +5 -7
  222. package/lib/labs/VCalendar/VCalendarMonthDay.css +58 -61
  223. package/lib/labs/VCalendar/VCalendarMonthDay.sass +2 -3
  224. package/lib/labs/VDateInput/VDateInput.mjs +1 -1
  225. package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
  226. package/lib/labs/VNumberInput/VNumberInput.css +38 -40
  227. package/lib/labs/VNumberInput/VNumberInput.mjs +7 -5
  228. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  229. package/lib/labs/VPicker/VPicker.css +57 -53
  230. package/lib/labs/VStepperVertical/index.d.mts +44 -44
  231. package/lib/labs/VTimePicker/VTimePicker.css +7 -9
  232. package/lib/labs/VTimePicker/VTimePickerClock.css +129 -126
  233. package/lib/labs/VTimePicker/VTimePickerControls.css +103 -102
  234. package/lib/labs/VTreeview/VTreeviewItem.css +15 -17
  235. package/lib/labs/VTreeview/VTreeviewItem.mjs +3 -4
  236. package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
  237. package/lib/labs/VTreeview/VTreeviewItem.sass +1 -2
  238. package/lib/labs/VTreeview/index.d.mts +20 -20
  239. package/lib/labs/components.d.mts +64 -64
  240. package/lib/locale/fr.mjs +1 -1
  241. package/lib/locale/fr.mjs.map +1 -1
  242. package/lib/styles/elements/_global.sass +1 -1
  243. package/lib/styles/generic/_colors.scss +3 -3
  244. package/lib/styles/generic/_layers.scss +1 -13
  245. package/lib/styles/generic/_transitions.scss +32 -32
  246. package/lib/styles/main.css +16139 -14666
  247. package/lib/styles/settings/_utilities.scss +5 -0
  248. package/lib/styles/settings/_variables.scss +2 -1
  249. package/lib/styles/tools/_bootable.sass +3 -0
  250. package/lib/styles/tools/_border.sass +4 -4
  251. package/lib/styles/tools/_display.sass +10 -0
  252. package/lib/styles/tools/_elevation.sass +2 -2
  253. package/lib/styles/tools/_index.sass +2 -0
  254. package/lib/styles/tools/_layer.scss +2 -4
  255. package/lib/styles/tools/_position.sass +2 -2
  256. package/lib/styles/tools/_radius.sass +10 -0
  257. package/lib/styles/tools/_rounded.sass +2 -2
  258. package/lib/styles/tools/_utilities.sass +5 -1
  259. package/lib/styles/utilities/_elevation.scss +1 -1
  260. package/lib/util/getCurrentInstance.mjs +1 -15
  261. package/lib/util/getCurrentInstance.mjs.map +1 -1
  262. package/package.json +1 -1
@@ -1,52 +1,53 @@
1
- @layer vuetify.components {
2
- .v-icon {
3
- --v-icon-size-multiplier: 1;
4
- align-items: center;
5
- display: inline-flex;
6
- font-feature-settings: "liga";
7
- height: 1em;
8
- justify-content: center;
9
- letter-spacing: normal;
10
- line-height: 1;
11
- position: relative;
12
- text-indent: 0;
13
- text-align: center;
14
- user-select: none;
15
- vertical-align: middle;
16
- width: 1em;
17
- min-width: 1em;
18
- }
19
- .v-icon--clickable {
20
- cursor: pointer;
21
- }
22
- .v-icon--disabled {
23
- pointer-events: none;
24
- opacity: 0.38;
25
- }
26
- .v-icon--size-x-small {
27
- font-size: calc(var(--v-icon-size-multiplier) * 1em);
28
- }
29
- .v-icon--size-small {
30
- font-size: calc(var(--v-icon-size-multiplier) * 1.25em);
31
- }
32
- .v-icon--size-default {
33
- font-size: calc(var(--v-icon-size-multiplier) * 1.5em);
34
- }
35
- .v-icon--size-large {
36
- font-size: calc(var(--v-icon-size-multiplier) * 1.75em);
37
- }
38
- .v-icon--size-x-large {
39
- font-size: calc(var(--v-icon-size-multiplier) * 2em);
40
- }
41
- .v-icon__svg {
42
- fill: currentColor;
43
- width: 100%;
44
- height: 100%;
45
- }
46
- .v-icon--start {
47
- margin-inline-end: 8px;
48
- }
49
- .v-icon--end {
50
- margin-inline-start: 8px;
51
- }
1
+ .v-icon {
2
+ --v-icon-size-multiplier: 1;
3
+ align-items: center;
4
+ display: inline-flex;
5
+ font-feature-settings: "liga";
6
+ height: 1em;
7
+ justify-content: center;
8
+ letter-spacing: normal;
9
+ line-height: 1;
10
+ position: relative;
11
+ text-indent: 0;
12
+ text-align: center;
13
+ user-select: none;
14
+ vertical-align: middle;
15
+ width: 1em;
16
+ min-width: 1em;
17
+ }
18
+ .v-icon--clickable {
19
+ cursor: pointer;
20
+ }
21
+ .v-icon--disabled {
22
+ pointer-events: none;
23
+ opacity: 0.38;
24
+ }
25
+ .v-icon--size-x-small {
26
+ font-size: calc(var(--v-icon-size-multiplier) * 1em);
27
+ }
28
+ .v-icon--size-small {
29
+ font-size: calc(var(--v-icon-size-multiplier) * 1.25em);
30
+ }
31
+ .v-icon--size-default {
32
+ font-size: calc(var(--v-icon-size-multiplier) * 1.5em);
33
+ }
34
+ .v-icon--size-large {
35
+ font-size: calc(var(--v-icon-size-multiplier) * 1.75em);
36
+ }
37
+ .v-icon--size-x-large {
38
+ font-size: calc(var(--v-icon-size-multiplier) * 2em);
39
+ }
40
+
41
+ .v-icon__svg {
42
+ fill: currentColor;
43
+ width: 100%;
44
+ height: 100%;
45
+ }
46
+
47
+ .v-icon--start {
48
+ margin-inline-end: 8px;
49
+ }
50
+
51
+ .v-icon--end {
52
+ margin-inline-start: 8px;
52
53
  }
@@ -1,51 +1,52 @@
1
- @layer vuetify.components {
2
- .v-img {
3
- --v-theme-overlay-multiplier: 3;
4
- z-index: 0;
5
- }
6
- .v-img.v-img--absolute {
7
- height: 100%;
8
- left: 0;
9
- overflow: hidden;
10
- position: absolute;
11
- top: 0;
12
- width: 100%;
13
- z-index: -1;
14
- }
15
- .v-img--booting .v-responsive__sizer {
16
- transition: none;
17
- }
18
- .v-img--rounded {
19
- border-radius: 4px;
20
- }
21
- .v-img__img,
22
- .v-img__picture,
23
- .v-img__gradient,
24
- .v-img__placeholder,
25
- .v-img__error {
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 {
33
- position: absolute;
34
- top: 0;
35
- left: 0;
36
- width: 100%;
37
- height: 100%;
38
- }
39
- .v-img__img--preload {
40
- filter: blur(4px);
41
- }
42
- .v-img__img--contain {
43
- object-fit: contain;
44
- }
45
- .v-img__img--cover {
46
- object-fit: cover;
47
- }
48
- .v-img__gradient {
49
- background-repeat: no-repeat;
50
- }
1
+ .v-img {
2
+ --v-theme-overlay-multiplier: 3;
3
+ z-index: 0;
4
+ }
5
+ .v-img.v-img--absolute {
6
+ height: 100%;
7
+ left: 0;
8
+ overflow: hidden;
9
+ position: absolute;
10
+ top: 0;
11
+ width: 100%;
12
+ z-index: -1;
13
+ }
14
+ .v-img--booting .v-responsive__sizer {
15
+ transition: none;
16
+ }
17
+ .v-img--rounded {
18
+ border-radius: 4px;
19
+ }
20
+
21
+ .v-img__img,
22
+ .v-img__picture,
23
+ .v-img__gradient,
24
+ .v-img__placeholder,
25
+ .v-img__error {
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 {
33
+ position: absolute;
34
+ top: 0;
35
+ left: 0;
36
+ width: 100%;
37
+ height: 100%;
38
+ }
39
+
40
+ .v-img__img--preload {
41
+ filter: blur(4px);
42
+ }
43
+ .v-img__img--contain {
44
+ object-fit: contain;
45
+ }
46
+ .v-img__img--cover {
47
+ object-fit: cover;
48
+ }
49
+
50
+ .v-img__gradient {
51
+ background-repeat: no-repeat;
51
52
  }
@@ -1,37 +1,38 @@
1
- @layer vuetify.components {
2
- .v-infinite-scroll--horizontal {
3
- display: flex;
4
- flex-direction: row;
5
- overflow-x: auto;
6
- }
7
- .v-infinite-scroll--horizontal .v-infinite-scroll-intersect {
8
- height: 100%;
9
- width: var(--v-infinite-margin-size, 1px);
10
- }
11
- .v-infinite-scroll--vertical {
12
- display: flex;
13
- flex-direction: column;
14
- overflow-y: auto;
15
- }
16
- .v-infinite-scroll--vertical .v-infinite-scroll-intersect {
17
- height: 1px;
18
- width: 100%;
19
- }
20
- .v-infinite-scroll-intersect {
21
- pointer-events: none;
22
- margin-top: var(--v-infinite-margin);
23
- margin-bottom: calc(var(--v-infinite-margin) * -1);
24
- }
25
- .v-infinite-scroll-intersect:nth-child(2) {
26
- --v-infinite-margin: var(--v-infinite-margin-size, 1px);
27
- }
28
- .v-infinite-scroll-intersect:nth-last-child(2) {
29
- --v-infinite-margin: calc(var(--v-infinite-margin-size, 1px) * -1);
30
- }
31
- .v-infinite-scroll__side {
32
- align-items: center;
33
- display: flex;
34
- justify-content: center;
35
- padding: 8px;
36
- }
1
+ .v-infinite-scroll--horizontal {
2
+ display: flex;
3
+ flex-direction: row;
4
+ overflow-x: auto;
5
+ }
6
+ .v-infinite-scroll--horizontal .v-infinite-scroll-intersect {
7
+ height: 100%;
8
+ width: var(--v-infinite-margin-size, 1px);
9
+ }
10
+
11
+ .v-infinite-scroll--vertical {
12
+ display: flex;
13
+ flex-direction: column;
14
+ overflow-y: auto;
15
+ }
16
+ .v-infinite-scroll--vertical .v-infinite-scroll-intersect {
17
+ height: 1px;
18
+ width: 100%;
19
+ }
20
+
21
+ .v-infinite-scroll-intersect {
22
+ pointer-events: none;
23
+ margin-top: var(--v-infinite-margin);
24
+ margin-bottom: calc(var(--v-infinite-margin) * -1);
25
+ }
26
+ .v-infinite-scroll-intersect:nth-child(2) {
27
+ --v-infinite-margin: var(--v-infinite-margin-size, 1px);
28
+ }
29
+ .v-infinite-scroll-intersect:nth-last-child(2) {
30
+ --v-infinite-margin: calc(var(--v-infinite-margin-size, 1px) * -1);
31
+ }
32
+
33
+ .v-infinite-scroll__side {
34
+ align-items: center;
35
+ display: flex;
36
+ justify-content: center;
37
+ padding: 8px;
37
38
  }
@@ -1,132 +1,143 @@
1
- @layer vuetify.components {
2
- .v-input {
3
- display: grid;
4
- flex: 1 1 auto;
5
- font-size: 1rem;
6
- font-weight: 400;
7
- line-height: 1.5;
8
- }
9
- .v-input--disabled {
10
- pointer-events: none;
11
- }
12
- .v-input--density-default {
13
- --v-input-control-height: 56px;
14
- --v-input-padding-top: 16px;
15
- }
16
- .v-input--density-comfortable {
17
- --v-input-control-height: 48px;
18
- --v-input-padding-top: 12px;
19
- }
20
- .v-input--density-compact {
21
- --v-input-control-height: 40px;
22
- --v-input-padding-top: 8px;
23
- }
24
- .v-input--vertical {
25
- grid-template-areas: "append" "control" "prepend";
26
- grid-template-rows: max-content auto max-content;
27
- grid-template-columns: min-content;
28
- }
29
- .v-input--vertical .v-input__prepend {
30
- margin-block-start: 16px;
31
- }
32
- .v-input--vertical .v-input__append {
33
- margin-block-end: 16px;
34
- }
35
- .v-input--horizontal {
36
- grid-template-areas: "prepend control append" "a messages b";
37
- grid-template-columns: max-content minmax(0, 1fr) max-content;
38
- grid-template-rows: auto auto;
39
- }
40
- .v-input--horizontal .v-input__prepend {
41
- margin-inline-end: 16px;
42
- }
43
- .v-input--horizontal .v-input__append {
44
- margin-inline-start: 16px;
45
- }
46
- .v-input__details {
47
- align-items: flex-end;
48
- display: flex;
49
- font-size: 0.75rem;
50
- font-weight: 400;
51
- grid-area: messages;
52
- letter-spacing: 0.0333333333em;
53
- line-height: normal;
54
- min-height: 22px;
55
- padding-top: 6px;
56
- overflow: hidden;
57
- justify-content: space-between;
58
- }
59
- .v-input__details > .v-icon,
60
- .v-input__prepend > .v-icon,
61
- .v-input__append > .v-icon {
62
- opacity: var(--v-medium-emphasis-opacity);
63
- }
64
- .v-input--disabled .v-input__details > .v-icon,
65
- .v-input--disabled .v-input__details .v-messages, .v-input--error .v-input__details > .v-icon,
66
- .v-input--error .v-input__details .v-messages,
67
- .v-input--disabled .v-input__prepend > .v-icon,
68
- .v-input--disabled .v-input__prepend .v-messages,
69
- .v-input--error .v-input__prepend > .v-icon,
70
- .v-input--error .v-input__prepend .v-messages,
71
- .v-input--disabled .v-input__append > .v-icon,
72
- .v-input--disabled .v-input__append .v-messages,
73
- .v-input--error .v-input__append > .v-icon,
74
- .v-input--error .v-input__append .v-messages {
75
- opacity: 1;
76
- }
77
- .v-input--disabled .v-input__details,
78
- .v-input--disabled .v-input__prepend,
79
- .v-input--disabled .v-input__append {
80
- opacity: var(--v-disabled-opacity);
81
- }
82
- .v-input--error:not(.v-input--disabled) .v-input__details > .v-icon,
83
- .v-input--error:not(.v-input--disabled) .v-input__details .v-messages,
84
- .v-input--error:not(.v-input--disabled) .v-input__prepend > .v-icon,
85
- .v-input--error:not(.v-input--disabled) .v-input__prepend .v-messages,
86
- .v-input--error:not(.v-input--disabled) .v-input__append > .v-icon,
87
- .v-input--error:not(.v-input--disabled) .v-input__append .v-messages {
88
- color: rgb(var(--v-theme-error));
89
- }
90
- .v-input__prepend,
91
- .v-input__append {
92
- display: flex;
93
- align-items: flex-start;
94
- padding-top: var(--v-input-padding-top);
95
- }
96
- .v-input--center-affix .v-input__prepend,
97
- .v-input--center-affix .v-input__append {
98
- align-items: center;
99
- padding-top: 0;
100
- }
101
- .v-input__prepend {
102
- grid-area: prepend;
103
- }
104
- .v-input__append {
105
- grid-area: append;
106
- }
107
- .v-input__control {
108
- display: flex;
109
- grid-area: control;
110
- }
111
- .v-input--hide-spin-buttons input::-webkit-outer-spin-button,
112
- .v-input--hide-spin-buttons input::-webkit-inner-spin-button {
113
- -webkit-appearance: none;
114
- margin: 0;
115
- }
116
- .v-input--hide-spin-buttons input[type=number] {
117
- -moz-appearance: textfield;
118
- }
119
- .v-input--plain-underlined .v-input__prepend,
120
- .v-input--plain-underlined .v-input__append {
121
- align-items: flex-start;
122
- }
123
- .v-input--density-default.v-input--plain-underlined .v-input__prepend, .v-input--density-default.v-input--plain-underlined .v-input__append {
124
- padding-top: calc(var(--v-input-padding-top) + 4px);
125
- }
126
- .v-input--density-comfortable.v-input--plain-underlined .v-input__prepend, .v-input--density-comfortable.v-input--plain-underlined .v-input__append {
127
- padding-top: calc(var(--v-input-padding-top) + 2px);
128
- }
129
- .v-input--density-compact.v-input--plain-underlined .v-input__prepend, .v-input--density-compact.v-input--plain-underlined .v-input__append {
130
- padding-top: calc(var(--v-input-padding-top) + 0px);
131
- }
1
+ .v-input {
2
+ display: grid;
3
+ flex: 1 1 auto;
4
+ font-size: 1rem;
5
+ font-weight: 400;
6
+ line-height: 1.5;
7
+ }
8
+ .v-input--disabled {
9
+ pointer-events: none;
10
+ }
11
+ .v-input--density-default {
12
+ --v-input-control-height: 56px;
13
+ --v-input-padding-top: 16px;
14
+ }
15
+
16
+ .v-input--density-comfortable {
17
+ --v-input-control-height: 48px;
18
+ --v-input-padding-top: 12px;
19
+ }
20
+
21
+ .v-input--density-compact {
22
+ --v-input-control-height: 40px;
23
+ --v-input-padding-top: 8px;
24
+ }
25
+
26
+ .v-input--vertical {
27
+ grid-template-areas: "append" "control" "prepend";
28
+ grid-template-rows: max-content auto max-content;
29
+ grid-template-columns: min-content;
30
+ }
31
+ .v-input--vertical .v-input__prepend {
32
+ margin-block-start: 16px;
33
+ }
34
+ .v-input--vertical .v-input__append {
35
+ margin-block-end: 16px;
36
+ }
37
+
38
+ .v-input--horizontal {
39
+ grid-template-areas: "prepend control append" "a messages b";
40
+ grid-template-columns: max-content minmax(0, 1fr) max-content;
41
+ grid-template-rows: auto auto;
42
+ }
43
+ .v-input--horizontal .v-input__prepend {
44
+ margin-inline-end: 16px;
45
+ }
46
+ .v-input--horizontal .v-input__append {
47
+ margin-inline-start: 16px;
48
+ }
49
+
50
+ .v-input__details {
51
+ align-items: flex-end;
52
+ display: flex;
53
+ font-size: 0.75rem;
54
+ font-weight: 400;
55
+ grid-area: messages;
56
+ letter-spacing: 0.0333333333em;
57
+ line-height: normal;
58
+ min-height: 22px;
59
+ padding-top: 6px;
60
+ overflow: hidden;
61
+ justify-content: space-between;
62
+ }
63
+
64
+ .v-input__details > .v-icon,
65
+ .v-input__prepend > .v-icon,
66
+ .v-input__append > .v-icon {
67
+ opacity: var(--v-medium-emphasis-opacity);
68
+ }
69
+ .v-input--disabled .v-input__details > .v-icon,
70
+ .v-input--disabled .v-input__details .v-messages, .v-input--error .v-input__details > .v-icon,
71
+ .v-input--error .v-input__details .v-messages,
72
+ .v-input--disabled .v-input__prepend > .v-icon,
73
+ .v-input--disabled .v-input__prepend .v-messages,
74
+ .v-input--error .v-input__prepend > .v-icon,
75
+ .v-input--error .v-input__prepend .v-messages,
76
+ .v-input--disabled .v-input__append > .v-icon,
77
+ .v-input--disabled .v-input__append .v-messages,
78
+ .v-input--error .v-input__append > .v-icon,
79
+ .v-input--error .v-input__append .v-messages {
80
+ opacity: 1;
81
+ }
82
+ .v-input--disabled .v-input__details,
83
+ .v-input--disabled .v-input__prepend,
84
+ .v-input--disabled .v-input__append {
85
+ opacity: var(--v-disabled-opacity);
86
+ }
87
+ .v-input--error:not(.v-input--disabled) .v-input__details > .v-icon,
88
+ .v-input--error:not(.v-input--disabled) .v-input__details .v-messages,
89
+ .v-input--error:not(.v-input--disabled) .v-input__prepend > .v-icon,
90
+ .v-input--error:not(.v-input--disabled) .v-input__prepend .v-messages,
91
+ .v-input--error:not(.v-input--disabled) .v-input__append > .v-icon,
92
+ .v-input--error:not(.v-input--disabled) .v-input__append .v-messages {
93
+ color: rgb(var(--v-theme-error));
94
+ }
95
+
96
+ .v-input__prepend,
97
+ .v-input__append {
98
+ display: flex;
99
+ align-items: flex-start;
100
+ padding-top: var(--v-input-padding-top);
101
+ }
102
+ .v-input--center-affix .v-input__prepend,
103
+ .v-input--center-affix .v-input__append {
104
+ align-items: center;
105
+ padding-top: 0;
106
+ }
107
+
108
+ .v-input__prepend {
109
+ grid-area: prepend;
110
+ }
111
+
112
+ .v-input__append {
113
+ grid-area: append;
114
+ }
115
+
116
+ .v-input__control {
117
+ display: flex;
118
+ grid-area: control;
119
+ }
120
+
121
+ .v-input--hide-spin-buttons input::-webkit-outer-spin-button,
122
+ .v-input--hide-spin-buttons input::-webkit-inner-spin-button {
123
+ -webkit-appearance: none;
124
+ margin: 0;
125
+ }
126
+ .v-input--hide-spin-buttons input[type=number] {
127
+ -moz-appearance: textfield;
128
+ }
129
+ .v-input--plain-underlined .v-input__prepend,
130
+ .v-input--plain-underlined .v-input__append {
131
+ align-items: flex-start;
132
+ }
133
+ .v-input--density-default.v-input--plain-underlined .v-input__prepend, .v-input--density-default.v-input--plain-underlined .v-input__append {
134
+ padding-top: calc(var(--v-input-padding-top) + 4px);
135
+ }
136
+
137
+ .v-input--density-comfortable.v-input--plain-underlined .v-input__prepend, .v-input--density-comfortable.v-input--plain-underlined .v-input__append {
138
+ padding-top: calc(var(--v-input-padding-top) + 2px);
139
+ }
140
+
141
+ .v-input--density-compact.v-input--plain-underlined .v-input__prepend, .v-input--density-compact.v-input--plain-underlined .v-input__append {
142
+ padding-top: calc(var(--v-input-padding-top) + 0px);
132
143
  }
@@ -12,8 +12,8 @@ import { IconValue } from "../../composables/icons.mjs";
12
12
  import { useRtl } from "../../composables/locale.mjs";
13
13
  import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
14
14
  import { makeValidationProps, useValidation } from "../../composables/validation.mjs"; // Utilities
15
- import { computed } from 'vue';
16
- import { EventProp, genericComponent, getUid, only, propsFactory, useRender } from "../../util/index.mjs"; // Types
15
+ import { computed, useId } from 'vue';
16
+ import { EventProp, genericComponent, only, propsFactory, useRender } from "../../util/index.mjs"; // Types
17
17
  export const makeVInputProps = propsFactory({
18
18
  id: String,
19
19
  appendIcon: IconValue,
@@ -72,7 +72,7 @@ export const VInput = genericComponent()({
72
72
  const {
73
73
  InputIcon
74
74
  } = useInputIcon(props);
75
- const uid = getUid();
75
+ const uid = useId();
76
76
  const id = computed(() => props.id || `input-${uid}`);
77
77
  const messagesId = computed(() => `${id.value}-messages`);
78
78
  const {
@@ -1 +1 @@
1
- {"version":3,"file":"VInput.mjs","names":["useInputIcon","VMessages","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","IconValue","useRtl","makeThemeProps","provideTheme","makeValidationProps","useValidation","computed","EventProp","genericComponent","getUid","only","propsFactory","useRender","makeVInputProps","id","String","appendIcon","centerAffix","type","Boolean","default","prependIcon","hideDetails","hideSpinButtons","hint","persistentHint","messages","Array","direction","validator","v","includes","VInput","name","props","emits","value","setup","_ref","attrs","slots","emit","densityClasses","dimensionStyles","themeClasses","rtlClasses","InputIcon","uid","messagesId","errorMessages","isDirty","isDisabled","isReadonly","isPristine","isValid","isValidating","reset","resetValidation","validate","validationClasses","slotProps","length","focused","hasPrepend","prepend","hasAppend","append","hasMessages","hasDetails","details","_createVNode","class","style","message"],"sources":["../../../src/components/VInput/VInput.tsx"],"sourcesContent":["// Styles\nimport './VInput.sass'\n\n// Components\nimport { useInputIcon } from '@/components/VInput/InputIcon'\nimport { VMessages } from '@/components/VMessages/VMessages'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { IconValue } from '@/composables/icons'\nimport { useRtl } from '@/composables/locale'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { computed } from 'vue'\nimport { EventProp, genericComponent, getUid, only, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, PropType, Ref } from 'vue'\nimport type { VMessageSlot } from '@/components/VMessages/VMessages'\nimport type { GenericProps } from '@/util'\n\nexport interface VInputSlot {\n id: ComputedRef<string>\n messagesId: ComputedRef<string>\n isDirty: ComputedRef<boolean>\n isDisabled: ComputedRef<boolean>\n isReadonly: ComputedRef<boolean>\n isPristine: Ref<boolean>\n isValid: ComputedRef<boolean | null>\n isValidating: Ref<boolean>\n reset: () => void\n resetValidation: () => void\n validate: () => void\n}\n\nexport const makeVInputProps = propsFactory({\n id: String,\n appendIcon: IconValue,\n centerAffix: {\n type: Boolean,\n default: true,\n },\n prependIcon: IconValue,\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n hideSpinButtons: Boolean,\n hint: String,\n persistentHint: Boolean,\n messages: {\n type: [Array, String] as PropType<string | readonly string[]>,\n default: () => ([]),\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['horizontal', 'vertical'].includes(v),\n },\n\n 'onClick:prepend': EventProp<[MouseEvent]>(),\n 'onClick:append': EventProp<[MouseEvent]>(),\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...only(makeDimensionProps(), [\n 'maxWidth',\n 'minWidth',\n 'width',\n ]),\n ...makeThemeProps(),\n ...makeValidationProps(),\n}, 'VInput')\n\nexport type VInputSlots = {\n default: VInputSlot\n prepend: VInputSlot\n append: VInputSlot\n details: VInputSlot\n message: VMessageSlot\n}\n\nexport const VInput = genericComponent<new <T>(\n props: {\n modelValue?: T | null\n 'onUpdate:modelValue'?: (value: T | null) => void\n },\n slots: VInputSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VInput',\n\n props: {\n ...makeVInputProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { themeClasses } = provideTheme(props)\n const { rtlClasses } = useRtl()\n const { InputIcon } = useInputIcon(props)\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const messagesId = computed(() => `${id.value}-messages`)\n\n const {\n errorMessages,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n } = useValidation(props, 'v-input', id)\n\n const slotProps = computed<VInputSlot>(() => ({\n id,\n messagesId,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n }))\n\n const messages = computed(() => {\n if (props.errorMessages?.length || (!isPristine.value && errorMessages.value.length)) {\n return errorMessages.value\n } else if (props.hint && (props.persistentHint || props.focused)) {\n return props.hint\n } else {\n return props.messages\n }\n })\n\n useRender(() => {\n const hasPrepend = !!(slots.prepend || props.prependIcon)\n const hasAppend = !!(slots.append || props.appendIcon)\n const hasMessages = messages.value.length > 0\n const hasDetails = !props.hideDetails || (\n props.hideDetails === 'auto' &&\n (hasMessages || !!slots.details)\n )\n\n return (\n <div\n class={[\n 'v-input',\n `v-input--${props.direction}`,\n {\n 'v-input--center-affix': props.centerAffix,\n 'v-input--hide-spin-buttons': props.hideSpinButtons,\n },\n densityClasses.value,\n themeClasses.value,\n rtlClasses.value,\n validationClasses.value,\n props.class,\n ]}\n style={[\n dimensionStyles.value,\n props.style,\n ]}\n >\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-input__prepend\">\n { slots.prepend?.(slotProps.value) }\n\n { props.prependIcon && (\n <InputIcon\n key=\"prepend-icon\"\n name=\"prepend\"\n />\n )}\n </div>\n )}\n\n { slots.default && (\n <div class=\"v-input__control\">\n { slots.default?.(slotProps.value) }\n </div>\n )}\n\n { hasAppend && (\n <div key=\"append\" class=\"v-input__append\">\n { props.appendIcon && (\n <InputIcon\n key=\"append-icon\"\n name=\"append\"\n />\n )}\n\n { slots.append?.(slotProps.value) }\n </div>\n )}\n\n { hasDetails && (\n <div class=\"v-input__details\">\n <VMessages\n id={ messagesId.value }\n active={ hasMessages }\n messages={ messages.value }\n v-slots={{ message: slots.message }}\n />\n\n { slots.details?.(slotProps.value) }\n </div>\n )}\n </div>\n )\n })\n\n return {\n reset,\n resetValidation,\n validate,\n isValid,\n errorMessages,\n }\n },\n})\n\nexport type VInput = InstanceType<typeof VInput>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,YAAY;AAAA,SACZC,SAAS,sCAElB;AAAA,SACSC,kBAAkB;AAAA,SAClBC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,SAAS;AAAA,SACTC,MAAM;AAAA,SACNC,cAAc,EAAEC,YAAY;AAAA,SAC5BC,mBAAmB,EAAEC,aAAa,4CAE3C;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,SAAS,EAAEC,gBAAgB,EAAEC,MAAM,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,gCAE3E;AAmBA,OAAO,MAAMC,eAAe,GAAGF,YAAY,CAAC;EAC1CG,EAAE,EAAEC,MAAM;EACVC,UAAU,EAAEhB,SAAS;EACrBiB,WAAW,EAAE;IACXC,IAAI,EAAEC,OAAO;IACbC,OAAO,EAAE;EACX,CAAC;EACDC,WAAW,EAAErB,SAAS;EACtBsB,WAAW,EAAE,CAACH,OAAO,EAAEJ,MAAM,CAA+B;EAC5DQ,eAAe,EAAEJ,OAAO;EACxBK,IAAI,EAAET,MAAM;EACZU,cAAc,EAAEN,OAAO;EACvBO,QAAQ,EAAE;IACRR,IAAI,EAAE,CAACS,KAAK,EAAEZ,MAAM,CAAyC;IAC7DK,OAAO,EAAEA,CAAA,KAAO;EAClB,CAAC;EACDQ,SAAS,EAAE;IACTV,IAAI,EAAEH,MAA6C;IACnDK,OAAO,EAAE,YAAY;IACrBS,SAAS,EAAGC,CAAM,IAAK,CAAC,YAAY,EAAE,UAAU,CAAC,CAACC,QAAQ,CAACD,CAAC;EAC9D,CAAC;EAED,iBAAiB,EAAEvB,SAAS,CAAe,CAAC;EAC5C,gBAAgB,EAAEA,SAAS,CAAe,CAAC;EAE3C,GAAGZ,kBAAkB,CAAC,CAAC;EACvB,GAAGC,gBAAgB,CAAC,CAAC;EACrB,GAAGc,IAAI,CAACZ,kBAAkB,CAAC,CAAC,EAAE,CAC5B,UAAU,EACV,UAAU,EACV,OAAO,CACR,CAAC;EACF,GAAGI,cAAc,CAAC,CAAC;EACnB,GAAGE,mBAAmB,CAAC;AACzB,CAAC,EAAE,QAAQ,CAAC;AAUZ,OAAO,MAAM4B,MAAM,GAAGxB,gBAAgB,CAMS,CAAC,CAAC;EAC/CyB,IAAI,EAAE,QAAQ;EAEdC,KAAK,EAAE;IACL,GAAGrB,eAAe,CAAC;EACrB,CAAC;EAEDsB,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAU,IAAK;EACvC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAA0B;IAAA,IAAxB;MAAEC,KAAK;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAAH,IAAA;IAClC,MAAM;MAAEI;IAAe,CAAC,GAAG7C,UAAU,CAACqC,KAAK,CAAC;IAC5C,MAAM;MAAES;IAAgB,CAAC,GAAG5C,YAAY,CAACmC,KAAK,CAAC;IAC/C,MAAM;MAAEU;IAAa,CAAC,GAAGzC,YAAY,CAAC+B,KAAK,CAAC;IAC5C,MAAM;MAAEW;IAAW,CAAC,GAAG5C,MAAM,CAAC,CAAC;IAC/B,MAAM;MAAE6C;IAAU,CAAC,GAAGrD,YAAY,CAACyC,KAAK,CAAC;IAEzC,MAAMa,GAAG,GAAGtC,MAAM,CAAC,CAAC;IACpB,MAAMK,EAAE,GAAGR,QAAQ,CAAC,MAAM4B,KAAK,CAACpB,EAAE,IAAI,SAASiC,GAAG,EAAE,CAAC;IACrD,MAAMC,UAAU,GAAG1C,QAAQ,CAAC,MAAM,GAAGQ,EAAE,CAACsB,KAAK,WAAW,CAAC;IAEzD,MAAM;MACJa,aAAa;MACbC,OAAO;MACPC,UAAU;MACVC,UAAU;MACVC,UAAU;MACVC,OAAO;MACPC,YAAY;MACZC,KAAK;MACLC,eAAe;MACfC,QAAQ;MACRC;IACF,CAAC,GAAGtD,aAAa,CAAC6B,KAAK,EAAE,SAAS,EAAEpB,EAAE,CAAC;IAEvC,MAAM8C,SAAS,GAAGtD,QAAQ,CAAa,OAAO;MAC5CQ,EAAE;MACFkC,UAAU;MACVE,OAAO;MACPC,UAAU;MACVC,UAAU;MACVC,UAAU;MACVC,OAAO;MACPC,YAAY;MACZC,KAAK;MACLC,eAAe;MACfC;IACF,CAAC,CAAC,CAAC;IAEH,MAAMhC,QAAQ,GAAGpB,QAAQ,CAAC,MAAM;MAC9B,IAAI4B,KAAK,CAACe,aAAa,EAAEY,MAAM,IAAK,CAACR,UAAU,CAACjB,KAAK,IAAIa,aAAa,CAACb,KAAK,CAACyB,MAAO,EAAE;QACpF,OAAOZ,aAAa,CAACb,KAAK;MAC5B,CAAC,MAAM,IAAIF,KAAK,CAACV,IAAI,KAAKU,KAAK,CAACT,cAAc,IAAIS,KAAK,CAAC4B,OAAO,CAAC,EAAE;QAChE,OAAO5B,KAAK,CAACV,IAAI;MACnB,CAAC,MAAM;QACL,OAAOU,KAAK,CAACR,QAAQ;MACvB;IACF,CAAC,CAAC;IAEFd,SAAS,CAAC,MAAM;MACd,MAAMmD,UAAU,GAAG,CAAC,EAAEvB,KAAK,CAACwB,OAAO,IAAI9B,KAAK,CAACb,WAAW,CAAC;MACzD,MAAM4C,SAAS,GAAG,CAAC,EAAEzB,KAAK,CAAC0B,MAAM,IAAIhC,KAAK,CAAClB,UAAU,CAAC;MACtD,MAAMmD,WAAW,GAAGzC,QAAQ,CAACU,KAAK,CAACyB,MAAM,GAAG,CAAC;MAC7C,MAAMO,UAAU,GAAG,CAAClC,KAAK,CAACZ,WAAW,IACnCY,KAAK,CAACZ,WAAW,KAAK,MAAM,KAC3B6C,WAAW,IAAI,CAAC,CAAC3B,KAAK,CAAC6B,OAAO,CAChC;MAED,OAAAC,YAAA;QAAA,SAEW,CACL,SAAS,EACT,YAAYpC,KAAK,CAACN,SAAS,EAAE,EAC7B;UACE,uBAAuB,EAAEM,KAAK,CAACjB,WAAW;UAC1C,4BAA4B,EAAEiB,KAAK,CAACX;QACtC,CAAC,EACDmB,cAAc,CAACN,KAAK,EACpBQ,YAAY,CAACR,KAAK,EAClBS,UAAU,CAACT,KAAK,EAChBuB,iBAAiB,CAACvB,KAAK,EACvBF,KAAK,CAACqC,KAAK,CACZ;QAAA,SACM,CACL5B,eAAe,CAACP,KAAK,EACrBF,KAAK,CAACsC,KAAK;MACZ,IAECT,UAAU,IAAAO,YAAA;QAAA;QAAA;MAAA,IAEN9B,KAAK,CAACwB,OAAO,GAAGJ,SAAS,CAACxB,KAAK,CAAC,EAEhCF,KAAK,CAACb,WAAW,IAAAiD,YAAA,CAAAxB,SAAA;QAAA;QAAA;MAAA,QAKlB,EAEJ,EAECN,KAAK,CAACpB,OAAO,IAAAkD,YAAA;QAAA;MAAA,IAET9B,KAAK,CAACpB,OAAO,GAAGwC,SAAS,CAACxB,KAAK,CAAC,EAErC,EAEC6B,SAAS,IAAAK,YAAA;QAAA;QAAA;MAAA,IAELpC,KAAK,CAAClB,UAAU,IAAAsD,YAAA,CAAAxB,SAAA;QAAA;QAAA;MAAA,QAKjB,EAECN,KAAK,CAAC0B,MAAM,GAAGN,SAAS,CAACxB,KAAK,CAAC,EAEpC,EAECgC,UAAU,IAAAE,YAAA;QAAA;MAAA,IAAAA,YAAA,CAAA5E,SAAA;QAAA,MAGDsD,UAAU,CAACZ,KAAK;QAAA,UACZ+B,WAAW;QAAA,YACTzC,QAAQ,CAACU;MAAK,GAChB;QAAEqC,OAAO,EAAEjC,KAAK,CAACiC;MAAQ,CAAC,GAGnCjC,KAAK,CAAC6B,OAAO,GAAGT,SAAS,CAACxB,KAAK,CAAC,EAErC;IAGP,CAAC,CAAC;IAEF,OAAO;MACLoB,KAAK;MACLC,eAAe;MACfC,QAAQ;MACRJ,OAAO;MACPL;IACF,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VInput.mjs","names":["useInputIcon","VMessages","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","IconValue","useRtl","makeThemeProps","provideTheme","makeValidationProps","useValidation","computed","useId","EventProp","genericComponent","only","propsFactory","useRender","makeVInputProps","id","String","appendIcon","centerAffix","type","Boolean","default","prependIcon","hideDetails","hideSpinButtons","hint","persistentHint","messages","Array","direction","validator","v","includes","VInput","name","props","emits","value","setup","_ref","attrs","slots","emit","densityClasses","dimensionStyles","themeClasses","rtlClasses","InputIcon","uid","messagesId","errorMessages","isDirty","isDisabled","isReadonly","isPristine","isValid","isValidating","reset","resetValidation","validate","validationClasses","slotProps","length","focused","hasPrepend","prepend","hasAppend","append","hasMessages","hasDetails","details","_createVNode","class","style","message"],"sources":["../../../src/components/VInput/VInput.tsx"],"sourcesContent":["// Styles\nimport './VInput.sass'\n\n// Components\nimport { useInputIcon } from '@/components/VInput/InputIcon'\nimport { VMessages } from '@/components/VMessages/VMessages'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { IconValue } from '@/composables/icons'\nimport { useRtl } from '@/composables/locale'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { computed, useId } from 'vue'\nimport { EventProp, genericComponent, only, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, PropType, Ref } from 'vue'\nimport type { VMessageSlot } from '@/components/VMessages/VMessages'\nimport type { GenericProps } from '@/util'\n\nexport interface VInputSlot {\n id: ComputedRef<string>\n messagesId: ComputedRef<string>\n isDirty: ComputedRef<boolean>\n isDisabled: ComputedRef<boolean>\n isReadonly: ComputedRef<boolean>\n isPristine: Ref<boolean>\n isValid: ComputedRef<boolean | null>\n isValidating: Ref<boolean>\n reset: () => void\n resetValidation: () => void\n validate: () => void\n}\n\nexport const makeVInputProps = propsFactory({\n id: String,\n appendIcon: IconValue,\n centerAffix: {\n type: Boolean,\n default: true,\n },\n prependIcon: IconValue,\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n hideSpinButtons: Boolean,\n hint: String,\n persistentHint: Boolean,\n messages: {\n type: [Array, String] as PropType<string | readonly string[]>,\n default: () => ([]),\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['horizontal', 'vertical'].includes(v),\n },\n\n 'onClick:prepend': EventProp<[MouseEvent]>(),\n 'onClick:append': EventProp<[MouseEvent]>(),\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...only(makeDimensionProps(), [\n 'maxWidth',\n 'minWidth',\n 'width',\n ]),\n ...makeThemeProps(),\n ...makeValidationProps(),\n}, 'VInput')\n\nexport type VInputSlots = {\n default: VInputSlot\n prepend: VInputSlot\n append: VInputSlot\n details: VInputSlot\n message: VMessageSlot\n}\n\nexport const VInput = genericComponent<new <T>(\n props: {\n modelValue?: T | null\n 'onUpdate:modelValue'?: (value: T | null) => void\n },\n slots: VInputSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VInput',\n\n props: {\n ...makeVInputProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { themeClasses } = provideTheme(props)\n const { rtlClasses } = useRtl()\n const { InputIcon } = useInputIcon(props)\n\n const uid = useId()\n const id = computed(() => props.id || `input-${uid}`)\n const messagesId = computed(() => `${id.value}-messages`)\n\n const {\n errorMessages,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n } = useValidation(props, 'v-input', id)\n\n const slotProps = computed<VInputSlot>(() => ({\n id,\n messagesId,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n }))\n\n const messages = computed(() => {\n if (props.errorMessages?.length || (!isPristine.value && errorMessages.value.length)) {\n return errorMessages.value\n } else if (props.hint && (props.persistentHint || props.focused)) {\n return props.hint\n } else {\n return props.messages\n }\n })\n\n useRender(() => {\n const hasPrepend = !!(slots.prepend || props.prependIcon)\n const hasAppend = !!(slots.append || props.appendIcon)\n const hasMessages = messages.value.length > 0\n const hasDetails = !props.hideDetails || (\n props.hideDetails === 'auto' &&\n (hasMessages || !!slots.details)\n )\n\n return (\n <div\n class={[\n 'v-input',\n `v-input--${props.direction}`,\n {\n 'v-input--center-affix': props.centerAffix,\n 'v-input--hide-spin-buttons': props.hideSpinButtons,\n },\n densityClasses.value,\n themeClasses.value,\n rtlClasses.value,\n validationClasses.value,\n props.class,\n ]}\n style={[\n dimensionStyles.value,\n props.style,\n ]}\n >\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-input__prepend\">\n { slots.prepend?.(slotProps.value) }\n\n { props.prependIcon && (\n <InputIcon\n key=\"prepend-icon\"\n name=\"prepend\"\n />\n )}\n </div>\n )}\n\n { slots.default && (\n <div class=\"v-input__control\">\n { slots.default?.(slotProps.value) }\n </div>\n )}\n\n { hasAppend && (\n <div key=\"append\" class=\"v-input__append\">\n { props.appendIcon && (\n <InputIcon\n key=\"append-icon\"\n name=\"append\"\n />\n )}\n\n { slots.append?.(slotProps.value) }\n </div>\n )}\n\n { hasDetails && (\n <div class=\"v-input__details\">\n <VMessages\n id={ messagesId.value }\n active={ hasMessages }\n messages={ messages.value }\n v-slots={{ message: slots.message }}\n />\n\n { slots.details?.(slotProps.value) }\n </div>\n )}\n </div>\n )\n })\n\n return {\n reset,\n resetValidation,\n validate,\n isValid,\n errorMessages,\n }\n },\n})\n\nexport type VInput = InstanceType<typeof VInput>\n"],"mappings":"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","ignoreList":[]}