@vuetify/nightly 3.0.0-beta.6 → 3.0.0-beta.9

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 (174) hide show
  1. package/CHANGELOG.md +14 -39
  2. package/dist/json/attributes.json +98 -14
  3. package/dist/json/importMap.json +64 -64
  4. package/dist/json/tags.json +23 -2
  5. package/dist/json/web-types.json +253 -40
  6. package/dist/vuetify.css +1469 -1640
  7. package/dist/vuetify.d.ts +1701 -7588
  8. package/dist/vuetify.esm.js +694 -443
  9. package/dist/vuetify.esm.js.map +1 -1
  10. package/dist/vuetify.js +693 -441
  11. package/dist/vuetify.js.map +1 -1
  12. package/dist/vuetify.min.css +3 -3
  13. package/dist/vuetify.min.js +766 -742
  14. package/dist/vuetify.min.js.map +1 -1
  15. package/lib/components/VAlert/VAlert.css +0 -3
  16. package/lib/components/VAlert/VAlert.mjs +20 -10
  17. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  18. package/lib/components/VAlert/VAlert.sass +0 -3
  19. package/lib/components/VAutocomplete/VAutocomplete.css +10 -0
  20. package/lib/components/VAutocomplete/VAutocomplete.mjs +2 -3
  21. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  22. package/lib/components/VAutocomplete/VAutocomplete.sass +10 -0
  23. package/lib/components/VAutocomplete/_variables.scss +1 -0
  24. package/lib/components/VAvatar/VAvatar.css +2 -0
  25. package/lib/components/VAvatar/VAvatar.sass +3 -0
  26. package/lib/components/VBtn/VBtn.css +29 -5
  27. package/lib/components/VBtn/VBtn.sass +40 -10
  28. package/lib/components/VBtn/_variables.scss +4 -0
  29. package/lib/components/VBtnGroup/VBtnGroup.css +1 -0
  30. package/lib/components/VCard/VCard.mjs +12 -7
  31. package/lib/components/VCard/VCard.mjs.map +1 -1
  32. package/lib/components/VCombobox/VCombobox.css +10 -0
  33. package/lib/components/VCombobox/VCombobox.mjs +2 -2
  34. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  35. package/lib/components/VCombobox/VCombobox.sass +10 -0
  36. package/lib/components/VCombobox/_variables.scss +1 -0
  37. package/lib/components/VDialog/VDialog.mjs +3 -3
  38. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  39. package/lib/components/VField/VField.css +44 -25
  40. package/lib/components/VField/VField.mjs +1 -1
  41. package/lib/components/VField/VField.mjs.map +1 -1
  42. package/lib/components/VField/VField.sass +33 -19
  43. package/lib/components/VField/_variables.scss +3 -2
  44. package/lib/components/VFileInput/VFileInput.mjs +2 -2
  45. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  46. package/lib/components/VForm/VForm.mjs +2 -2
  47. package/lib/components/VForm/VForm.mjs.map +1 -1
  48. package/lib/components/VGrid/VCol.mjs +2 -1
  49. package/lib/components/VGrid/VCol.mjs.map +1 -1
  50. package/lib/components/VGrid/VRow.mjs +8 -3
  51. package/lib/components/VGrid/VRow.mjs.map +1 -1
  52. package/lib/components/VIcon/VIcon.css +0 -10
  53. package/lib/components/VIcon/VIcon.sass +0 -10
  54. package/lib/components/VIcon/_variables.scss +0 -1
  55. package/lib/components/VImg/VImg.mjs +1 -0
  56. package/lib/components/VImg/VImg.mjs.map +1 -1
  57. package/lib/components/VInput/VInput.css +2 -1
  58. package/lib/components/VInput/VInput.sass +2 -1
  59. package/lib/components/VInput/_variables.scss +0 -1
  60. package/lib/components/VLayout/VLayout.css +0 -2
  61. package/lib/components/VLayout/VLayout.sass +0 -2
  62. package/lib/components/VList/VList.css +4 -1
  63. package/lib/components/VList/VList.sass +5 -1
  64. package/lib/components/VList/VListChildren.mjs +19 -2
  65. package/lib/components/VList/VListChildren.mjs.map +1 -1
  66. package/lib/components/VList/VListItem.mjs +18 -11
  67. package/lib/components/VList/VListItem.mjs.map +1 -1
  68. package/lib/components/VList/_variables.scss +1 -0
  69. package/lib/components/VMain/VMain.css +21 -3
  70. package/lib/components/VMain/VMain.mjs +13 -8
  71. package/lib/components/VMain/VMain.mjs.map +1 -1
  72. package/lib/components/VMain/VMain.sass +18 -3
  73. package/lib/components/VMenu/VMenu.mjs +2 -2
  74. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  75. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +12 -17
  76. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +52 -19
  77. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  78. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +15 -20
  79. package/lib/components/VNavigationDrawer/_variables.scss +1 -1
  80. package/lib/components/VNavigationDrawer/sticky.mjs +72 -0
  81. package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -0
  82. package/lib/components/VOverlay/VOverlay.mjs +8 -6
  83. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  84. package/lib/components/VOverlay/_variables.scss +1 -1
  85. package/lib/components/VOverlay/useActivator.mjs +1 -1
  86. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  87. package/lib/components/VPagination/VPagination.mjs +1 -1
  88. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  89. package/lib/components/VRadio/VRadio.mjs +8 -17
  90. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  91. package/lib/components/VRadioGroup/VRadioGroup.mjs +20 -3
  92. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  93. package/lib/components/VSelect/VSelect.css +10 -0
  94. package/lib/components/VSelect/VSelect.mjs +3 -4
  95. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  96. package/lib/components/VSelect/VSelect.sass +10 -0
  97. package/lib/components/VSelect/_variables.scss +1 -0
  98. package/lib/components/VSelectionControl/VSelectionControl.mjs +9 -4
  99. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  100. package/lib/components/VSnackbar/VSnackbar.css +1 -1
  101. package/lib/components/VSnackbar/VSnackbar.mjs +4 -4
  102. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  103. package/lib/components/VSnackbar/_variables.scss +1 -3
  104. package/lib/components/VTable/VTable.mjs.map +1 -1
  105. package/lib/components/VTabs/VTab.css +0 -1
  106. package/lib/components/VTabs/VTab.sass +0 -1
  107. package/lib/components/VTextField/VTextField.css +2 -1
  108. package/lib/components/VTextField/VTextField.mjs +19 -21
  109. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  110. package/lib/components/VTextField/VTextField.sass +2 -1
  111. package/lib/components/VTextarea/VTextarea.css +6 -2
  112. package/lib/components/VTextarea/VTextarea.mjs +18 -11
  113. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  114. package/lib/components/VTextarea/VTextarea.sass +9 -2
  115. package/lib/components/VTextarea/_variables.scss +0 -1
  116. package/lib/components/VTimeline/VTimeline.css +123 -112
  117. package/lib/components/VTimeline/VTimeline.mjs +4 -4
  118. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  119. package/lib/components/VTimeline/VTimeline.sass +129 -111
  120. package/lib/components/VTimeline/VTimelineDivider.mjs +5 -2
  121. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  122. package/lib/components/VTimeline/VTimelineItem.mjs +3 -1
  123. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  124. package/lib/components/VToolbar/VToolbar.css +9 -33
  125. package/lib/components/VToolbar/VToolbar.mjs +3 -4
  126. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  127. package/lib/components/VToolbar/VToolbar.sass +5 -15
  128. package/lib/components/VToolbar/_variables.scss +3 -7
  129. package/lib/components/VTooltip/VTooltip.mjs +2 -2
  130. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  131. package/lib/components/index.d.ts +1696 -7583
  132. package/lib/composables/color.mjs +19 -26
  133. package/lib/composables/color.mjs.map +1 -1
  134. package/lib/composables/defaults.mjs +1 -1
  135. package/lib/composables/defaults.mjs.map +1 -1
  136. package/lib/composables/form.mjs +29 -9
  137. package/lib/composables/form.mjs.map +1 -1
  138. package/lib/composables/{forwardRef.mjs → forwardRefs.mjs} +29 -3
  139. package/lib/composables/forwardRefs.mjs.map +1 -0
  140. package/lib/composables/index.mjs +3 -2
  141. package/lib/composables/index.mjs.map +1 -1
  142. package/lib/composables/layout.mjs +12 -12
  143. package/lib/composables/layout.mjs.map +1 -1
  144. package/lib/composables/rtl.mjs +2 -2
  145. package/lib/composables/rtl.mjs.map +1 -1
  146. package/lib/composables/size.mjs +18 -14
  147. package/lib/composables/size.mjs.map +1 -1
  148. package/lib/composables/stack.mjs +22 -12
  149. package/lib/composables/stack.mjs.map +1 -1
  150. package/lib/composables/theme.mjs +9 -6
  151. package/lib/composables/theme.mjs.map +1 -1
  152. package/lib/composables/validation.mjs +13 -3
  153. package/lib/composables/validation.mjs.map +1 -1
  154. package/lib/entry-bundler.mjs +1 -1
  155. package/lib/index.d.ts +21 -21
  156. package/lib/styles/generic/_colors.scss +17 -9
  157. package/lib/styles/main.css +1135 -1371
  158. package/lib/styles/settings/_utilities.scss +16 -5
  159. package/lib/styles/utilities/_index.sass +0 -1
  160. package/lib/util/anchor.mjs +1 -3
  161. package/lib/util/anchor.mjs.map +1 -1
  162. package/lib/util/colorUtils.mjs +2 -2
  163. package/lib/util/colorUtils.mjs.map +1 -1
  164. package/lib/util/colors.mjs +1 -1
  165. package/lib/util/colors.mjs.map +1 -1
  166. package/lib/util/defineComponent.mjs +6 -3
  167. package/lib/util/defineComponent.mjs.map +1 -1
  168. package/lib/util/helpers.mjs +4 -1
  169. package/lib/util/helpers.mjs.map +1 -1
  170. package/lib/util/injectSelf.mjs +12 -0
  171. package/lib/util/injectSelf.mjs.map +1 -0
  172. package/package.json +3 -1
  173. package/lib/composables/forwardRef.mjs.map +0 -1
  174. package/lib/styles/utilities/_text.sass +0 -9
@@ -1,4 +1,5 @@
1
1
  @use 'sass:map'
2
+ @use 'sass:math'
2
3
  @use '../../styles/settings'
3
4
  @use '../../styles/tools'
4
5
  @use './variables' as *
@@ -65,7 +66,7 @@
65
66
  .v-timeline-item:nth-child(2n)
66
67
  .v-timeline-item__body
67
68
  grid-column: 1
68
- text-align: end
69
+ justify-self: flex-end
69
70
  padding-inline-end: $timeline-item-padding
70
71
 
71
72
  .v-timeline-item__opposite
@@ -79,7 +80,7 @@
79
80
 
80
81
  .v-timeline-item__opposite
81
82
  grid-column: 1
82
- text-align: end
83
+ justify-self: flex-end
83
84
  padding-inline-end: $timeline-item-padding
84
85
 
85
86
  // VTimelineItem
@@ -102,35 +103,106 @@
102
103
  flex-direction: column
103
104
  grid-column: 2
104
105
 
105
- .v-timeline-divider__line
106
+ $timeline-divider-size: calc(50% + #{math.div($timeline-item-padding, 2)} - var(--v-timeline-line-inset))
107
+ $timeline-divider-offset: math.div(-$timeline-item-padding, 2)
108
+
109
+ .v-timeline-divider__before
106
110
  background: $timeline-divider-line-background
107
111
  position: absolute
108
112
 
109
113
  @include horizontal
110
114
  height: $timeline-divider-line-thickness
111
- width: calc(100% + #{$timeline-item-padding})
115
+ width: $timeline-divider-size
112
116
 
113
117
  @include tools.ltr
114
- left: 0
118
+ left: $timeline-divider-offset
119
+ right: initial
120
+
115
121
  @include tools.rtl
116
- right: 0
122
+ right: $timeline-divider-offset
123
+ left: initial
117
124
 
118
125
  @include vertical
119
- height: calc(100% + #{$timeline-item-padding})
126
+ height: $timeline-divider-size
120
127
  width: $timeline-divider-line-thickness
128
+ top: $timeline-divider-offset
129
+
130
+ .v-timeline-divider__after
131
+ background: $timeline-divider-line-background
132
+ position: absolute
133
+
134
+ @include horizontal
135
+ height: $timeline-divider-line-thickness
136
+ width: $timeline-divider-size
121
137
 
122
138
  @include tools.ltr
123
- top: 0
139
+ right: $timeline-divider-offset
140
+ left: initial
141
+
124
142
  @include tools.rtl
125
- bottom: 0
143
+ left: $timeline-divider-offset
144
+ right: initial
145
+
146
+ @include vertical
147
+ height: $timeline-divider-size
148
+ width: $timeline-divider-line-thickness
149
+ bottom: $timeline-divider-offset
150
+
151
+ .v-timeline-item:first-child
152
+ .v-timeline-divider__before
153
+ @include vertical
154
+ height: $timeline-divider-size
155
+ top: 0
156
+
157
+ @include horizontal
158
+ width: $timeline-divider-size
159
+
160
+ @include tools.ltr
161
+ left: 0
162
+ right: initial
163
+
164
+ @include tools.rtl
165
+ right: 0
166
+ left: initial
167
+
168
+ .v-timeline-divider__after
169
+ @include vertical
170
+ height: calc(50% - var(--v-timeline-line-inset))
171
+
172
+ @include horizontal
173
+ width: calc(50% - var(--v-timeline-line-inset))
174
+
175
+ @include tools.ltr
176
+ right: math.div(-$timeline-item-padding,2)
177
+ left: initial
178
+
179
+ @include tools.rtl
180
+ left: math.div(-$timeline-item-padding,2)
181
+ right: initial
126
182
 
127
183
  .v-timeline-item:last-child
128
- .v-timeline-divider__line
184
+ .v-timeline-divider__before
129
185
  @include vertical
130
- height: 100%
186
+ height: calc(50% - var(--v-timeline-line-inset))
131
187
 
132
188
  @include horizontal
133
- width: 100%
189
+ width: calc(50% - var(--v-timeline-line-inset))
190
+
191
+ .v-timeline-divider__after
192
+ @include vertical
193
+ height: calc(50% + #{math.div($timeline-item-padding, 2)} - var(--v-timeline-line-inset))
194
+ bottom: 0
195
+
196
+ @include horizontal
197
+ width: calc(50% + #{math.div($timeline-item-padding, 2)} - var(--v-timeline-line-inset))
198
+
199
+ @include tools.ltr
200
+ right: 0
201
+ left: initial
202
+
203
+ @include tools.rtl
204
+ left: 0
205
+ right: initial
134
206
 
135
207
  .v-timeline-divider__dot
136
208
  z-index: 1
@@ -219,13 +291,13 @@
219
291
  @include vertical(true)
220
292
  .v-timeline-item__body
221
293
  grid-column: 3
222
- text-align: initial
223
294
  padding-inline-start: $timeline-item-padding
224
295
  padding-inline-end: initial
296
+ justify-self: flex-start
225
297
 
226
298
  .v-timeline-item__opposite
227
299
  grid-column: 1
228
- text-align: end
300
+ justify-self: flex-end
229
301
  padding-inline-end: $timeline-item-padding
230
302
  padding-inline-start: initial
231
303
 
@@ -245,13 +317,13 @@
245
317
  @include vertical(true)
246
318
  .v-timeline-item__body
247
319
  grid-column: 1
248
- text-align: end
320
+ justify-self: flex-end
249
321
  padding-inline-end: $timeline-item-padding
250
322
 
251
323
  .v-timeline-item__opposite
252
324
  grid-column: 3
253
- text-align: initial
254
325
  padding-inline-start: $timeline-item-padding
326
+ justify-self: flex-start
255
327
 
256
328
  // Fill dot
257
329
  .v-timeline-divider--fill-dot
@@ -260,51 +332,15 @@
260
332
  width: inherit
261
333
 
262
334
  // Truncate line
263
- .v-timeline--truncate-line-end
264
- .v-timeline-item:last-child
265
- .v-timeline-divider__line
266
- @include horizontal(true)
267
- width: 50%
268
-
269
- @include vertical(true)
270
- height: $timeline-item-padding
271
-
272
- .v-timeline--truncate-line-end.v-timeline--align-start
273
- .v-timeline-item:last-child
274
- .v-timeline-divider__line
275
- @include horizontal(true)
276
- width: $timeline-item-padding
277
-
278
335
  .v-timeline--truncate-line-start
279
336
  .v-timeline-item:first-child
280
- @include horizontal(true)
281
- .v-timeline-item__body, .v-timeline-item__opposite, .v-timeline-divider
282
- padding-inline-start: 0
283
-
284
- @include vertical(true)
285
- .v-timeline-item__body, .v-timeline-item__opposite, .v-timeline-divider
286
- padding-block-start: 0
287
-
288
- .v-timeline--truncate-line-start.v-timeline--align-center
289
- .v-timeline-item:first-child
290
- .v-timeline-divider__line
291
- $inset: calc(50% + #{$timeline-item-padding} - var(--v-timeline-dot-size))
292
-
293
- @include horizontal(true)
294
- width: calc(50% + var(--v-timeline-dot-size))
295
-
296
- @include tools.ltr
297
- left: $inset
298
- @include tools.rtl
299
- right: $inset
300
-
301
- @include vertical(true)
302
- height: calc(50% + var(--v-timeline-dot-size))
337
+ .v-timeline-divider__before
338
+ display: none
303
339
 
304
- @include tools.ltr
305
- top: $inset
306
- @include tools.rtl
307
- bottom: $inset
340
+ .v-timeline--truncate-line-end
341
+ .v-timeline-item:last-child
342
+ .v-timeline-divider__after
343
+ display: none
308
344
 
309
345
  // Alignment
310
346
  .v-timeline--align-center
@@ -321,72 +357,54 @@
321
357
  justify-content: center
322
358
 
323
359
  .v-timeline--align-start
324
- @include horizontal
325
- justify-content: flex-start
360
+ $timeline-divider-before-base: calc(#{math.div($timeline-item-padding, 2)} + var(--v-timeline-dot-size) / 2 - var(--v-timeline-line-inset))
361
+ $timeline-divider-after-base: calc(100% - var(--v-timeline-dot-size) / 2 + #{$timeline-item-padding} / 2 - var(--v-timeline-line-inset))
362
+ $timeline-divider-before-first: calc($timeline-item-padding + var(--v-timeline-dot-size) / 2 - var(--v-timeline-line-inset))
363
+ $timeline-divider-after-first: calc(100% - #{math.div($timeline-item-padding, 2)} - var(--v-timeline-dot-size) / 2 - var(--v-timeline-line-inset))
364
+ $timeline-divider-after-last: calc(100% - var(--v-timeline-dot-size) / 2 - var(--v-timeline-line-inset))
326
365
 
327
- @include vertical(true)
328
- align-items: flex-start
366
+ @include horizontal(true)
367
+ justify-items: flex-start
329
368
 
330
369
  .v-timeline-divider
331
370
  justify-content: flex-start
332
371
 
333
- // Inset line
334
- .v-timeline--inset-line
335
- .v-timeline-divider__line
336
- $inset: calc(50% + var(--v-timeline-line-inset) + var(--v-timeline-dot-size) / 2)
337
-
338
- @include horizontal(true)
339
- width: calc(100% + #{$timeline-item-padding} - var(--v-timeline-dot-size) - var(--v-timeline-line-inset) * 2)
340
-
341
- @include tools.ltr
342
- left: $inset
343
- @include tools.rtl
344
- right: $inset
345
-
346
- @include vertical(true)
347
- height: calc(100% + #{$timeline-item-padding} - var(--v-timeline-dot-size) - var(--v-timeline-line-inset) * 2)
372
+ .v-timeline-divider__before
373
+ width: $timeline-divider-before-base
348
374
 
349
- @include tools.ltr
350
- top: $inset
351
- @include tools.rtl
352
- bottom: $inset
375
+ .v-timeline-divider__after
376
+ width: $timeline-divider-after-base
353
377
 
354
- .v-timeline-item:first-child
355
- $inset: calc(50% + var(--v-timeline-dot-size) / 2 + #{$timeline-item-padding} / 2 + var(--v-timeline-line-inset))
378
+ .v-timeline-item:first-child
379
+ .v-timeline-divider__before
380
+ width: $timeline-divider-before-first
356
381
 
357
- .v-timeline-divider__line
358
- @include horizontal(true)
359
- width: calc(100% - var(--v-timeline-dot-size) - var(--v-timeline-line-inset) * 2)
382
+ .v-timeline-divider__after
383
+ width: $timeline-divider-after-first
360
384
 
361
- @include tools.ltr
362
- left: $inset
363
- @include tools.rtl
364
- right: $inset
385
+ .v-timeline-item:last-child
386
+ .v-timeline-divider__after
387
+ width: $timeline-divider-after-last
365
388
 
366
- @include vertical(true)
367
- height: calc(100% - var(--v-timeline-dot-size) - var(--v-timeline-line-inset) * 2)
389
+ @include vertical(true)
390
+ align-items: flex-start
368
391
 
369
- @include tools.ltr
370
- top: $inset
371
- @include tools.rtl
372
- bottom: $inset
392
+ .v-timeline-divider
393
+ justify-content: flex-start
373
394
 
374
- .v-timeline-item:last-child
375
- $inset: calc(50% + var(--v-timeline-line-inset) - #{$timeline-item-padding} / 2 + var(--v-timeline-dot-size) / 2)
395
+ .v-timeline-divider__before
396
+ height: $timeline-divider-before-base
376
397
 
377
- .v-timeline-divider__line
378
- @include horizontal(true)
379
- width: calc(50% - #{$timeline-item-padding} - var(--v-timeline-line-inset) * 2)
398
+ .v-timeline-divider__after
399
+ height: $timeline-divider-after-base
380
400
 
381
- @include tools.ltr
382
- left: $inset
383
- @include tools.rtl
384
- right: $inset
401
+ .v-timeline-item:first-child
402
+ .v-timeline-divider__before
403
+ height: $timeline-divider-before-first
385
404
 
386
- @include vertical(true)
387
- height: calc(50% - #{$timeline-item-padding} - var(--v-timeline-line-inset) * 2)
405
+ .v-timeline-divider__after
406
+ height: $timeline-divider-after-first
388
407
 
389
- @include tools.ltr
390
- top: $inset
391
- @include tools.rtl
392
- bottom: $inset
408
+ .v-timeline-item:last-child
409
+ .v-timeline-divider__after
410
+ height: $timeline-divider-after-last
@@ -61,7 +61,10 @@ export const VTimelineDivider = defineComponent({
61
61
  "class": ['v-timeline-divider', {
62
62
  'v-timeline-divider--fill-dot': props.fillDot
63
63
  }]
64
- }, [!props.hideDot && _createVNode("div", {
64
+ }, [_createVNode("div", {
65
+ "class": ['v-timeline-divider__before', lineColorClasses.value],
66
+ "style": lineColorStyles.value
67
+ }, null), !props.hideDot && _createVNode("div", {
65
68
  "key": "dot",
66
69
  "class": ['v-timeline-divider__dot', elevationClasses.value, roundedClasses.value, sizeClasses.value],
67
70
  "style": sizeStyles.value
@@ -69,7 +72,7 @@ export const VTimelineDivider = defineComponent({
69
72
  "class": ['v-timeline-divider__inner-dot', backgroundColorClasses.value, roundedClasses.value],
70
73
  "style": backgroundColorStyles.value
71
74
  }, [(_slots$default = (_slots$default2 = slots.default) == null ? void 0 : _slots$default2.call(slots)) != null ? _slots$default : props.icon ? _createVNode(VIcon, null, null) : undefined])]), _createVNode("div", {
72
- "class": ['v-timeline-divider__line', lineColorClasses.value],
75
+ "class": ['v-timeline-divider__after', lineColorClasses.value],
73
76
  "style": lineColorStyles.value
74
77
  }, null)]);
75
78
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VTimelineDivider.mjs","names":["VIcon","IconValue","makeElevationProps","useElevation","makeRoundedProps","useRounded","makeSizeProps","useSize","provideDefaults","useBackgroundColor","defineComponent","useRender","toRef","VTimelineDivider","name","props","dotColor","String","fillDot","Boolean","hideDot","icon","iconColor","lineColor","setup","slots","sizeClasses","sizeStyles","backgroundColorStyles","backgroundColorClasses","roundedClasses","elevationClasses","lineColorClasses","lineColorStyles","color","size","value","default","undefined"],"sources":["../../../src/components/VTimeline/VTimelineDivider.tsx"],"sourcesContent":["// Components\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\nimport { toRef } from 'vue'\n\nexport const VTimelineDivider = defineComponent({\n name: 'VTimelineDivider',\n\n props: {\n dotColor: String,\n fillDot: Boolean,\n hideDot: Boolean,\n icon: IconValue,\n iconColor: String,\n lineColor: String,\n\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeElevationProps(),\n },\n\n setup (props, { slots }) {\n const { sizeClasses, sizeStyles } = useSize(props, 'v-timeline-divider__dot')\n const { backgroundColorStyles, backgroundColorClasses } = useBackgroundColor(toRef(props, 'dotColor'))\n const { roundedClasses } = useRounded(props, 'v-timeline-divider__dot')\n const { elevationClasses } = useElevation(props)\n const {\n backgroundColorClasses: lineColorClasses,\n backgroundColorStyles: lineColorStyles,\n } = useBackgroundColor(toRef(props, 'lineColor'))\n\n provideDefaults({\n VIcon: {\n color: toRef(props, 'iconColor'),\n icon: toRef(props, 'icon'),\n size: toRef(props, 'size'),\n },\n })\n\n useRender(() => (\n <div\n class={[\n 'v-timeline-divider',\n {\n 'v-timeline-divider--fill-dot': props.fillDot,\n },\n ]}\n >\n { !props.hideDot && (\n <div\n key=\"dot\"\n class={[\n 'v-timeline-divider__dot',\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n ]}\n style={ sizeStyles.value }\n >\n <div\n class={[\n 'v-timeline-divider__inner-dot',\n backgroundColorClasses.value,\n roundedClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n >\n { slots.default?.() ?? (props.icon ? (<VIcon />) : undefined) }\n </div>\n </div>\n ) }\n\n <div\n class={[\n 'v-timeline-divider__line',\n lineColorClasses.value,\n ]}\n style={ lineColorStyles.value }\n />\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VTimelineDivider = InstanceType<typeof VTimelineDivider>\n"],"mappings":";AAAA;SACSA,K,8BAET;;SACSC,S;SACAC,kB,EAAoBC,Y;SACpBC,gB,EAAkBC,U;SAClBC,a,EAAeC,O;SACfC,e;SACAC,kB,uCAET;;SACSC,e,EAAiBC,S;AAC1B,SAASC,KAAT,QAAsB,KAAtB;AAEA,OAAO,MAAMC,gBAAgB,GAAGH,eAAe,CAAC;EAC9CI,IAAI,EAAE,kBADwC;EAG9CC,KAAK,EAAE;IACLC,QAAQ,EAAEC,MADL;IAELC,OAAO,EAAEC,OAFJ;IAGLC,OAAO,EAAED,OAHJ;IAILE,IAAI,EAAEpB,SAJD;IAKLqB,SAAS,EAAEL,MALN;IAMLM,SAAS,EAAEN,MANN;IAQL,GAAGb,gBAAgB,EARd;IASL,GAAGE,aAAa,EATX;IAUL,GAAGJ,kBAAkB;EAVhB,CAHuC;;EAgB9CsB,KAAK,CAAET,KAAF,QAAoB;IAAA,IAAX;MAAEU;IAAF,CAAW;IACvB,MAAM;MAAEC,WAAF;MAAeC;IAAf,IAA8BpB,OAAO,CAACQ,KAAD,EAAQ,yBAAR,CAA3C;IACA,MAAM;MAAEa,qBAAF;MAAyBC;IAAzB,IAAoDpB,kBAAkB,CAACG,KAAK,CAACG,KAAD,EAAQ,UAAR,CAAN,CAA5E;IACA,MAAM;MAAEe;IAAF,IAAqBzB,UAAU,CAACU,KAAD,EAAQ,yBAAR,CAArC;IACA,MAAM;MAAEgB;IAAF,IAAuB5B,YAAY,CAACY,KAAD,CAAzC;IACA,MAAM;MACJc,sBAAsB,EAAEG,gBADpB;MAEJJ,qBAAqB,EAAEK;IAFnB,IAGFxB,kBAAkB,CAACG,KAAK,CAACG,KAAD,EAAQ,WAAR,CAAN,CAHtB;IAKAP,eAAe,CAAC;MACdR,KAAK,EAAE;QACLkC,KAAK,EAAEtB,KAAK,CAACG,KAAD,EAAQ,WAAR,CADP;QAELM,IAAI,EAAET,KAAK,CAACG,KAAD,EAAQ,MAAR,CAFN;QAGLoB,IAAI,EAAEvB,KAAK,CAACG,KAAD,EAAQ,MAAR;MAHN;IADO,CAAD,CAAf;IAQAJ,SAAS,CAAC;MAAA;;MAAA;QAAA,SAEC,CACL,oBADK,EAEL;UACE,gCAAgCI,KAAK,CAACG;QADxC,CAFK;MAFD,IASJ,CAACH,KAAK,CAACK,OAAP;QAAA,OAEM,KAFN;QAAA,SAGS,CACL,yBADK,EAELW,gBAAgB,CAACK,KAFZ,EAGLN,cAAc,CAACM,KAHV,EAILV,WAAW,CAACU,KAJP,CAHT;QAAA,SASUT,UAAU,CAACS;MATrB;QAAA,SAYW,CACL,+BADK,EAELP,sBAAsB,CAACO,KAFlB,EAGLN,cAAc,CAACM,KAHV,CAZX;QAAA,SAiBYR,qBAAqB,CAACQ;MAjBlC,yCAmBMX,KAAK,CAACY,OAnBZ,qBAmBM,qBAAAZ,KAAK,CAnBX,6BAmB4BV,KAAK,CAACM,IAAN,qCAA2BiB,SAnBvD,IATI;QAAA,SAkCG,CACL,0BADK,EAELN,gBAAgB,CAACI,KAFZ,CAlCH;QAAA,SAsCIH,eAAe,CAACG;MAtCpB;IAAA,CAAD,CAAT;IA2CA,OAAO,EAAP;EACD;;AA9E6C,CAAD,CAAxC"}
1
+ {"version":3,"file":"VTimelineDivider.mjs","names":["VIcon","IconValue","makeElevationProps","useElevation","makeRoundedProps","useRounded","makeSizeProps","useSize","provideDefaults","useBackgroundColor","defineComponent","useRender","toRef","VTimelineDivider","name","props","dotColor","String","fillDot","Boolean","hideDot","icon","iconColor","lineColor","setup","slots","sizeClasses","sizeStyles","backgroundColorStyles","backgroundColorClasses","roundedClasses","elevationClasses","lineColorClasses","lineColorStyles","color","size","value","default","undefined"],"sources":["../../../src/components/VTimeline/VTimelineDivider.tsx"],"sourcesContent":["// Components\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\nimport { toRef } from 'vue'\n\nexport const VTimelineDivider = defineComponent({\n name: 'VTimelineDivider',\n\n props: {\n dotColor: String,\n fillDot: Boolean,\n hideDot: Boolean,\n icon: IconValue,\n iconColor: String,\n lineColor: String,\n\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeElevationProps(),\n },\n\n setup (props, { slots }) {\n const { sizeClasses, sizeStyles } = useSize(props, 'v-timeline-divider__dot')\n const { backgroundColorStyles, backgroundColorClasses } = useBackgroundColor(toRef(props, 'dotColor'))\n const { roundedClasses } = useRounded(props, 'v-timeline-divider__dot')\n const { elevationClasses } = useElevation(props)\n const {\n backgroundColorClasses: lineColorClasses,\n backgroundColorStyles: lineColorStyles,\n } = useBackgroundColor(toRef(props, 'lineColor'))\n\n provideDefaults({\n VIcon: {\n color: toRef(props, 'iconColor'),\n icon: toRef(props, 'icon'),\n size: toRef(props, 'size'),\n },\n })\n\n useRender(() => (\n <div\n class={[\n 'v-timeline-divider',\n {\n 'v-timeline-divider--fill-dot': props.fillDot,\n },\n ]}\n >\n <div\n class={[\n 'v-timeline-divider__before',\n lineColorClasses.value,\n ]}\n style={ lineColorStyles.value }\n />\n\n { !props.hideDot && (\n <div\n key=\"dot\"\n class={[\n 'v-timeline-divider__dot',\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n ]}\n style={ sizeStyles.value }\n >\n <div\n class={[\n 'v-timeline-divider__inner-dot',\n backgroundColorClasses.value,\n roundedClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n >\n { slots.default?.() ?? (props.icon ? (<VIcon />) : undefined) }\n </div>\n </div>\n ) }\n\n <div\n class={[\n 'v-timeline-divider__after',\n lineColorClasses.value,\n ]}\n style={ lineColorStyles.value }\n />\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VTimelineDivider = InstanceType<typeof VTimelineDivider>\n"],"mappings":";AAAA;SACSA,K,8BAET;;SACSC,S;SACAC,kB,EAAoBC,Y;SACpBC,gB,EAAkBC,U;SAClBC,a,EAAeC,O;SACfC,e;SACAC,kB,uCAET;;SACSC,e,EAAiBC,S;AAC1B,SAASC,KAAT,QAAsB,KAAtB;AAEA,OAAO,MAAMC,gBAAgB,GAAGH,eAAe,CAAC;EAC9CI,IAAI,EAAE,kBADwC;EAG9CC,KAAK,EAAE;IACLC,QAAQ,EAAEC,MADL;IAELC,OAAO,EAAEC,OAFJ;IAGLC,OAAO,EAAED,OAHJ;IAILE,IAAI,EAAEpB,SAJD;IAKLqB,SAAS,EAAEL,MALN;IAMLM,SAAS,EAAEN,MANN;IAQL,GAAGb,gBAAgB,EARd;IASL,GAAGE,aAAa,EATX;IAUL,GAAGJ,kBAAkB;EAVhB,CAHuC;;EAgB9CsB,KAAK,CAAET,KAAF,QAAoB;IAAA,IAAX;MAAEU;IAAF,CAAW;IACvB,MAAM;MAAEC,WAAF;MAAeC;IAAf,IAA8BpB,OAAO,CAACQ,KAAD,EAAQ,yBAAR,CAA3C;IACA,MAAM;MAAEa,qBAAF;MAAyBC;IAAzB,IAAoDpB,kBAAkB,CAACG,KAAK,CAACG,KAAD,EAAQ,UAAR,CAAN,CAA5E;IACA,MAAM;MAAEe;IAAF,IAAqBzB,UAAU,CAACU,KAAD,EAAQ,yBAAR,CAArC;IACA,MAAM;MAAEgB;IAAF,IAAuB5B,YAAY,CAACY,KAAD,CAAzC;IACA,MAAM;MACJc,sBAAsB,EAAEG,gBADpB;MAEJJ,qBAAqB,EAAEK;IAFnB,IAGFxB,kBAAkB,CAACG,KAAK,CAACG,KAAD,EAAQ,WAAR,CAAN,CAHtB;IAKAP,eAAe,CAAC;MACdR,KAAK,EAAE;QACLkC,KAAK,EAAEtB,KAAK,CAACG,KAAD,EAAQ,WAAR,CADP;QAELM,IAAI,EAAET,KAAK,CAACG,KAAD,EAAQ,MAAR,CAFN;QAGLoB,IAAI,EAAEvB,KAAK,CAACG,KAAD,EAAQ,MAAR;MAHN;IADO,CAAD,CAAf;IAQAJ,SAAS,CAAC;MAAA;;MAAA;QAAA,SAEC,CACL,oBADK,EAEL;UACE,gCAAgCI,KAAK,CAACG;QADxC,CAFK;MAFD;QAAA,SAUG,CACL,4BADK,EAELc,gBAAgB,CAACI,KAFZ,CAVH;QAAA,SAcIH,eAAe,CAACG;MAdpB,UAiBJ,CAACrB,KAAK,CAACK,OAAP;QAAA,OAEM,KAFN;QAAA,SAGS,CACL,yBADK,EAELW,gBAAgB,CAACK,KAFZ,EAGLN,cAAc,CAACM,KAHV,EAILV,WAAW,CAACU,KAJP,CAHT;QAAA,SASUT,UAAU,CAACS;MATrB;QAAA,SAYW,CACL,+BADK,EAELP,sBAAsB,CAACO,KAFlB,EAGLN,cAAc,CAACM,KAHV,CAZX;QAAA,SAiBYR,qBAAqB,CAACQ;MAjBlC,yCAmBMX,KAAK,CAACY,OAnBZ,qBAmBM,qBAAAZ,KAAK,CAnBX,6BAmB4BV,KAAK,CAACM,IAAN,qCAA2BiB,SAnBvD,IAjBI;QAAA,SA0CG,CACL,2BADK,EAELN,gBAAgB,CAACI,KAFZ,CA1CH;QAAA,SA8CIH,eAAe,CAACG;MA9CpB;IAAA,CAAD,CAAT;IAmDA,OAAO,EAAP;EACD;;AAtF6C,CAAD,CAAxC"}
@@ -24,6 +24,7 @@ export const VTimelineItem = defineComponent({
24
24
  },
25
25
  icon: IconValue,
26
26
  iconColor: String,
27
+ lineInset: [Number, String],
27
28
  ...makeRoundedProps(),
28
29
  ...makeElevationProps(),
29
30
  ...makeSizeProps(),
@@ -56,7 +57,8 @@ export const VTimelineItem = defineComponent({
56
57
  'v-timeline-item--fill-dot': props.fillDot
57
58
  }],
58
59
  "style": {
59
- '--v-timeline-dot-size': convertToUnit(dotSize.value)
60
+ '--v-timeline-dot-size': convertToUnit(dotSize.value),
61
+ '--v-timeline-line-inset': props.lineInset ? `calc(var(--v-timeline-dot-size) / 2 + ${convertToUnit(props.lineInset)})` : convertToUnit(0)
60
62
  }
61
63
  }, [_createVNode("div", {
62
64
  "class": "v-timeline-item__body",
@@ -1 +1 @@
1
- {"version":3,"file":"VTimelineItem.mjs","names":["VTimelineDivider","IconValue","makeElevationProps","makeRoundedProps","makeSizeProps","makeTagProps","ref","watch","convertToUnit","defineComponent","useRender","makeDimensionProps","useDimension","VTimelineItem","name","props","density","String","dotColor","fillDot","Boolean","hideDot","hideOpposite","type","default","undefined","icon","iconColor","setup","slots","dimensionStyles","dotSize","dotRef","newValue","value","$el","querySelector","getBoundingClientRect","width","flush","size","elevation","rounded","opposite"],"sources":["../../../src/components/VTimeline/VTimelineItem.tsx"],"sourcesContent":["// Components\nimport { VTimelineDivider } from './VTimelineDivider'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeElevationProps } from '@/composables/elevation'\nimport { makeRoundedProps } from '@/composables/rounded'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport type { PropType } from 'vue'\nimport { ref, watch } from 'vue'\nimport { convertToUnit, defineComponent, useRender } from '@/util'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\n\nexport const VTimelineItem = defineComponent({\n name: 'VTimelineItem',\n\n props: {\n density: String as PropType<'default' | 'compact'>,\n dotColor: String,\n fillDot: Boolean,\n hideDot: Boolean,\n hideOpposite: {\n type: Boolean,\n default: undefined,\n },\n icon: IconValue,\n iconColor: String,\n\n ...makeRoundedProps(),\n ...makeElevationProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeDimensionProps(),\n },\n\n setup (props, { slots }) {\n const { dimensionStyles } = useDimension(props)\n\n const dotSize = ref(0)\n const dotRef = ref<VTimelineDivider>()\n watch(dotRef, newValue => {\n if (!newValue) return\n dotSize.value = newValue.$el.querySelector('.v-timeline-divider__dot')?.getBoundingClientRect().width ?? 0\n }, {\n flush: 'post',\n })\n\n useRender(() => (\n <div\n class={[\n 'v-timeline-item',\n {\n 'v-timeline-item--fill-dot': props.fillDot,\n },\n ]}\n style={{\n '--v-timeline-dot-size': convertToUnit(dotSize.value),\n }}\n >\n <div\n class=\"v-timeline-item__body\"\n style={ dimensionStyles.value }\n >\n { slots.default?.() }\n </div>\n\n <VTimelineDivider\n ref={ dotRef }\n hideDot={ props.hideDot }\n icon={ props.icon }\n iconColor={ props.iconColor }\n size={ props.size }\n elevation={ props.elevation }\n dotColor={ props.dotColor }\n fillDot={ props.fillDot }\n rounded={ props.rounded }\n v-slots={{ default: slots.icon }}\n />\n\n { props.density !== 'compact' && (\n <div class=\"v-timeline-item__opposite\">\n { !props.hideOpposite && slots.opposite?.() }\n </div>\n ) }\n </div>\n ))\n\n return {}\n },\n})\n"],"mappings":";AAAA;SACSA,gB,kCAET;;SACSC,S;SACAC,kB;SACAC,gB;SACAC,a;SACAC,Y,qCAET;;AAEA,SAASC,GAAT,EAAcC,KAAd,QAA2B,KAA3B;SACSC,a,EAAeC,e,EAAiBC,S;SAChCC,kB,EAAoBC,Y;AAE7B,OAAO,MAAMC,aAAa,GAAGJ,eAAe,CAAC;EAC3CK,IAAI,EAAE,eADqC;EAG3CC,KAAK,EAAE;IACLC,OAAO,EAAEC,MADJ;IAELC,QAAQ,EAAED,MAFL;IAGLE,OAAO,EAAEC,OAHJ;IAILC,OAAO,EAAED,OAJJ;IAKLE,YAAY,EAAE;MACZC,IAAI,EAAEH,OADM;MAEZI,OAAO,EAAEC;IAFG,CALT;IASLC,IAAI,EAAEzB,SATD;IAUL0B,SAAS,EAAEV,MAVN;IAYL,GAAGd,gBAAgB,EAZd;IAaL,GAAGD,kBAAkB,EAbhB;IAcL,GAAGE,aAAa,EAdX;IAeL,GAAGC,YAAY,EAfV;IAgBL,GAAGM,kBAAkB;EAhBhB,CAHoC;;EAsB3CiB,KAAK,CAAEb,KAAF,QAAoB;IAAA,IAAX;MAAEc;IAAF,CAAW;IACvB,MAAM;MAAEC;IAAF,IAAsBlB,YAAY,CAACG,KAAD,CAAxC;IAEA,MAAMgB,OAAO,GAAGzB,GAAG,CAAC,CAAD,CAAnB;IACA,MAAM0B,MAAM,GAAG1B,GAAG,EAAlB;IACAC,KAAK,CAACyB,MAAD,EAASC,QAAQ,IAAI;MAAA;;MACxB,IAAI,CAACA,QAAL,EAAe;MACfF,OAAO,CAACG,KAAR,sDAAgBD,QAAQ,CAACE,GAAT,CAAaC,aAAb,CAA2B,0BAA3B,CAAhB,qBAAgB,uBAAwDC,qBAAxD,GAAgFC,KAAhG,oCAAyG,CAAzG;IACD,CAHI,EAGF;MACDC,KAAK,EAAE;IADN,CAHE,CAAL;IAOA7B,SAAS,CAAC;MAAA;;MAAA;QAAA,SAEC,CACL,iBADK,EAEL;UACE,6BAA6BK,KAAK,CAACI;QADrC,CAFK,CAFD;QAAA,SAQC;UACL,yBAAyBX,aAAa,CAACuB,OAAO,CAACG,KAAT;QADjC;MARD;QAAA,SAaE,uBAbF;QAAA,SAcIJ,eAAe,CAACI;MAdpB,sBAgBFL,KAAK,CAACL,OAhBJ,qBAgBF,oBAAAK,KAAK,CAhBH;QAAA,OAoBEG,MApBF;QAAA,WAqBMjB,KAAK,CAACM,OArBZ;QAAA,QAsBGN,KAAK,CAACW,IAtBT;QAAA,aAuBQX,KAAK,CAACY,SAvBd;QAAA,QAwBGZ,KAAK,CAACyB,IAxBT;QAAA,aAyBQzB,KAAK,CAAC0B,SAzBd;QAAA,YA0BO1B,KAAK,CAACG,QA1Bb;QAAA,WA2BMH,KAAK,CAACI,OA3BZ;QAAA,WA4BMJ,KAAK,CAAC2B;MA5BZ,GA6BK;QAAElB,OAAO,EAAEK,KAAK,CAACH;MAAjB,CA7BL,GAgCJX,KAAK,CAACC,OAAN,KAAkB,SAAlB;QAAA,SACW;MADX,IAEI,CAACD,KAAK,CAACO,YAAP,wBAAuBO,KAAK,CAACc,QAA7B,qBAAuB,qBAAAd,KAAK,CAA5B,CAFJ,EAhCI;IAAA,CAAD,CAAT;IAwCA,OAAO,EAAP;EACD;;AA3E0C,CAAD,CAArC"}
1
+ {"version":3,"file":"VTimelineItem.mjs","names":["VTimelineDivider","IconValue","makeElevationProps","makeRoundedProps","makeSizeProps","makeTagProps","ref","watch","convertToUnit","defineComponent","useRender","makeDimensionProps","useDimension","VTimelineItem","name","props","density","String","dotColor","fillDot","Boolean","hideDot","hideOpposite","type","default","undefined","icon","iconColor","lineInset","Number","setup","slots","dimensionStyles","dotSize","dotRef","newValue","value","$el","querySelector","getBoundingClientRect","width","flush","size","elevation","rounded","opposite"],"sources":["../../../src/components/VTimeline/VTimelineItem.tsx"],"sourcesContent":["// Components\nimport { VTimelineDivider } from './VTimelineDivider'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeElevationProps } from '@/composables/elevation'\nimport { makeRoundedProps } from '@/composables/rounded'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport type { PropType } from 'vue'\nimport { ref, watch } from 'vue'\nimport { convertToUnit, defineComponent, useRender } from '@/util'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\n\nexport const VTimelineItem = defineComponent({\n name: 'VTimelineItem',\n\n props: {\n density: String as PropType<'default' | 'compact'>,\n dotColor: String,\n fillDot: Boolean,\n hideDot: Boolean,\n hideOpposite: {\n type: Boolean,\n default: undefined,\n },\n icon: IconValue,\n iconColor: String,\n lineInset: [Number, String],\n\n ...makeRoundedProps(),\n ...makeElevationProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeDimensionProps(),\n },\n\n setup (props, { slots }) {\n const { dimensionStyles } = useDimension(props)\n\n const dotSize = ref(0)\n const dotRef = ref<VTimelineDivider>()\n watch(dotRef, newValue => {\n if (!newValue) return\n dotSize.value = newValue.$el.querySelector('.v-timeline-divider__dot')?.getBoundingClientRect().width ?? 0\n }, {\n flush: 'post',\n })\n\n useRender(() => (\n <div\n class={[\n 'v-timeline-item',\n {\n 'v-timeline-item--fill-dot': props.fillDot,\n },\n ]}\n style={{\n '--v-timeline-dot-size': convertToUnit(dotSize.value),\n '--v-timeline-line-inset': props.lineInset ? `calc(var(--v-timeline-dot-size) / 2 + ${convertToUnit(props.lineInset)})` : convertToUnit(0),\n }}\n >\n <div\n class=\"v-timeline-item__body\"\n style={ dimensionStyles.value }\n >\n { slots.default?.() }\n </div>\n\n <VTimelineDivider\n ref={ dotRef }\n hideDot={ props.hideDot }\n icon={ props.icon }\n iconColor={ props.iconColor }\n size={ props.size }\n elevation={ props.elevation }\n dotColor={ props.dotColor }\n fillDot={ props.fillDot }\n rounded={ props.rounded }\n v-slots={{ default: slots.icon }}\n />\n\n { props.density !== 'compact' && (\n <div class=\"v-timeline-item__opposite\">\n { !props.hideOpposite && slots.opposite?.() }\n </div>\n ) }\n </div>\n ))\n\n return {}\n },\n})\n"],"mappings":";AAAA;SACSA,gB,kCAET;;SACSC,S;SACAC,kB;SACAC,gB;SACAC,a;SACAC,Y,qCAET;;AAEA,SAASC,GAAT,EAAcC,KAAd,QAA2B,KAA3B;SACSC,a,EAAeC,e,EAAiBC,S;SAChCC,kB,EAAoBC,Y;AAE7B,OAAO,MAAMC,aAAa,GAAGJ,eAAe,CAAC;EAC3CK,IAAI,EAAE,eADqC;EAG3CC,KAAK,EAAE;IACLC,OAAO,EAAEC,MADJ;IAELC,QAAQ,EAAED,MAFL;IAGLE,OAAO,EAAEC,OAHJ;IAILC,OAAO,EAAED,OAJJ;IAKLE,YAAY,EAAE;MACZC,IAAI,EAAEH,OADM;MAEZI,OAAO,EAAEC;IAFG,CALT;IASLC,IAAI,EAAEzB,SATD;IAUL0B,SAAS,EAAEV,MAVN;IAWLW,SAAS,EAAE,CAACC,MAAD,EAASZ,MAAT,CAXN;IAaL,GAAGd,gBAAgB,EAbd;IAcL,GAAGD,kBAAkB,EAdhB;IAeL,GAAGE,aAAa,EAfX;IAgBL,GAAGC,YAAY,EAhBV;IAiBL,GAAGM,kBAAkB;EAjBhB,CAHoC;;EAuB3CmB,KAAK,CAAEf,KAAF,QAAoB;IAAA,IAAX;MAAEgB;IAAF,CAAW;IACvB,MAAM;MAAEC;IAAF,IAAsBpB,YAAY,CAACG,KAAD,CAAxC;IAEA,MAAMkB,OAAO,GAAG3B,GAAG,CAAC,CAAD,CAAnB;IACA,MAAM4B,MAAM,GAAG5B,GAAG,EAAlB;IACAC,KAAK,CAAC2B,MAAD,EAASC,QAAQ,IAAI;MAAA;;MACxB,IAAI,CAACA,QAAL,EAAe;MACfF,OAAO,CAACG,KAAR,sDAAgBD,QAAQ,CAACE,GAAT,CAAaC,aAAb,CAA2B,0BAA3B,CAAhB,qBAAgB,uBAAwDC,qBAAxD,GAAgFC,KAAhG,oCAAyG,CAAzG;IACD,CAHI,EAGF;MACDC,KAAK,EAAE;IADN,CAHE,CAAL;IAOA/B,SAAS,CAAC;MAAA;;MAAA;QAAA,SAEC,CACL,iBADK,EAEL;UACE,6BAA6BK,KAAK,CAACI;QADrC,CAFK,CAFD;QAAA,SAQC;UACL,yBAAyBX,aAAa,CAACyB,OAAO,CAACG,KAAT,CADjC;UAEL,2BAA2BrB,KAAK,CAACa,SAAN,GAAmB,yCAAwCpB,aAAa,CAACO,KAAK,CAACa,SAAP,CAAkB,GAA1F,GAA+FpB,aAAa,CAAC,CAAD;QAFlI;MARD;QAAA,SAcE,uBAdF;QAAA,SAeIwB,eAAe,CAACI;MAfpB,sBAiBFL,KAAK,CAACP,OAjBJ,qBAiBF,oBAAAO,KAAK,CAjBH;QAAA,OAqBEG,MArBF;QAAA,WAsBMnB,KAAK,CAACM,OAtBZ;QAAA,QAuBGN,KAAK,CAACW,IAvBT;QAAA,aAwBQX,KAAK,CAACY,SAxBd;QAAA,QAyBGZ,KAAK,CAAC2B,IAzBT;QAAA,aA0BQ3B,KAAK,CAAC4B,SA1Bd;QAAA,YA2BO5B,KAAK,CAACG,QA3Bb;QAAA,WA4BMH,KAAK,CAACI,OA5BZ;QAAA,WA6BMJ,KAAK,CAAC6B;MA7BZ,GA8BK;QAAEpB,OAAO,EAAEO,KAAK,CAACL;MAAjB,CA9BL,GAiCJX,KAAK,CAACC,OAAN,KAAkB,SAAlB;QAAA,SACW;MADX,IAEI,CAACD,KAAK,CAACO,YAAP,wBAAuBS,KAAK,CAACc,QAA7B,qBAAuB,qBAAAd,KAAK,CAA5B,CAFJ,EAjCI;IAAA,CAAD,CAAT;IAyCA,OAAO,EAAP;EACD;;AA7E0C,CAAD,CAArC"}
@@ -6,11 +6,10 @@
6
6
  justify-content: space-between;
7
7
  max-width: 100%;
8
8
  overflow: hidden;
9
- padding-inline-end: calc(16px + var(--v-scrollbar-offset));
10
- padding-inline-start: 16px;
9
+ padding-inline-end: var(--v-scrollbar-offset);
11
10
  position: relative;
12
11
  transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
13
- transition-property: height, transform, max-width;
12
+ transition-property: height, width, transform, max-width, left, right, top, bottom;
14
13
  border-color: rgba(var(--v-border-color), var(--v-border-opacity));
15
14
  border-style: solid;
16
15
  border-width: 0;
@@ -23,26 +22,6 @@
23
22
  border-width: thin;
24
23
  box-shadow: none;
25
24
  }
26
- .v-toolbar--density-default .v-toolbar__content {
27
- padding-top: 16px;
28
- padding-bottom: 16px;
29
- }
30
-
31
- .v-toolbar--density-comfortable .v-toolbar__content {
32
- padding-top: 12px;
33
- padding-bottom: 12px;
34
- }
35
-
36
- .v-toolbar--density-compact .v-toolbar__content {
37
- padding-top: 8px;
38
- padding-bottom: 8px;
39
- }
40
-
41
- .v-toolbar--density-prominent .v-toolbar__content {
42
- padding-top: 4px;
43
- padding-bottom: 4px;
44
- }
45
-
46
25
  .v-toolbar--absolute {
47
26
  position: absolute;
48
27
  }
@@ -80,13 +59,13 @@
80
59
  }
81
60
 
82
61
  .v-toolbar__content > .v-btn:first-child {
83
- margin-inline-start: -6px;
84
- }
85
- .v-toolbar__content > .v-btn:first-child + .v-toolbar-title {
86
- padding-inline-start: 20px;
62
+ margin-inline-start: 10px;
87
63
  }
88
64
  .v-toolbar__content > .v-btn:last-child {
89
- margin-inline-end: -6px;
65
+ margin-inline-end: 10px;
66
+ }
67
+ .v-toolbar__content > .v-toolbar-title {
68
+ margin-inline-start: 16px;
90
69
  }
91
70
  .v-toolbar--density-prominent .v-toolbar__content {
92
71
  align-items: flex-start;
@@ -107,16 +86,13 @@
107
86
  }
108
87
 
109
88
  .v-toolbar__prepend {
110
- margin-inline-start: -6px;
89
+ margin-inline-start: 10px;
111
90
  margin-inline-end: auto;
112
91
  }
113
- .v-toolbar__prepend + .v-toolbar-title {
114
- padding-inline-start: 20px;
115
- }
116
92
 
117
93
  .v-toolbar__append {
118
94
  margin-inline-start: auto;
119
- margin-inline-end: -6px;
95
+ margin-inline-end: 10px;
120
96
  }
121
97
 
122
98
  .v-toolbar-title {
@@ -13,8 +13,7 @@ import { makeRoundedProps, useRounded } from "../../composables/rounded.mjs";
13
13
  import { makeTagProps } from "../../composables/tag.mjs";
14
14
  import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
15
15
  import { provideDefaults } from "../../composables/defaults.mjs";
16
- import { useBackgroundColor } from "../../composables/color.mjs";
17
- import { useForwardRef } from "../../composables/forwardRef.mjs"; // Utilities
16
+ import { useBackgroundColor } from "../../composables/color.mjs"; // Utilities
18
17
 
19
18
  import { computed, ref, toRef } from 'vue';
20
19
  import { convertToUnit, genericComponent, pick, propsFactory, useRender } from "../../util/index.mjs"; // Types
@@ -137,10 +136,10 @@ export const VToolbar = genericComponent()({
137
136
  })]
138
137
  });
139
138
  });
140
- return useForwardRef({
139
+ return {
141
140
  contentHeight,
142
141
  extensionHeight
143
- });
142
+ };
144
143
  }
145
144
 
146
145
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VToolbar.mjs","names":["VDefaultsProvider","VExpandTransition","VImg","VToolbarTitle","makeBorderProps","useBorder","makeElevationProps","useElevation","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","provideDefaults","useBackgroundColor","useForwardRef","computed","ref","toRef","convertToUnit","genericComponent","pick","propsFactory","useRender","allowedDensities","makeVToolbarProps","absolute","Boolean","collapse","color","String","density","type","default","validator","v","includes","extended","extensionHeight","Number","flat","floating","height","image","title","tag","VToolbar","name","props","setup","slots","backgroundColorClasses","backgroundColorStyles","borderClasses","elevationClasses","roundedClasses","themeClasses","isExtended","extension","contentHeight","parseInt","value","VBtn","variant","hasTitle","hasImage","cover","src","prepend","text","append","filterToolbarProps","Object","keys"],"sources":["../../../src/components/VToolbar/VToolbar.tsx"],"sourcesContent":["// Styles\nimport './VToolbar.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VExpandTransition } from '@/components/transitions'\nimport { VImg } from '@/components/VImg'\nimport { VToolbarTitle } from './VToolbarTitle'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useForwardRef } from '@/composables/forwardRef'\n\n// Utilities\nimport { computed, ref, toRef } from 'vue'\nimport { convertToUnit, genericComponent, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ExtractPropTypes, PropType } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nexport type Density = typeof allowedDensities[number]\n\nconst allowedDensities = [null, 'prominent', 'default', 'comfortable', 'compact'] as const\n\nexport const makeVToolbarProps = propsFactory({\n absolute: Boolean,\n collapse: Boolean,\n color: String,\n density: {\n type: String as PropType<Density>,\n default: 'default',\n validator: (v: any) => allowedDensities.includes(v),\n },\n extended: Boolean,\n extensionHeight: {\n type: [Number, String],\n default: 48,\n },\n flat: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default: 64,\n },\n image: String,\n title: String,\n\n ...makeBorderProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'header' }),\n ...makeThemeProps(),\n}, 'v-toolbar')\n\nexport const VToolbar = genericComponent<new () => {\n $slots: MakeSlots<{\n default: []\n image: []\n prepend: []\n append: []\n title: []\n extension: []\n }>\n}>()({\n name: 'VToolbar',\n\n props: makeVToolbarProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { themeClasses } = provideTheme(props)\n\n const isExtended = ref(!!(props.extended || slots.extension?.()))\n const contentHeight = computed(() => parseInt((\n Number(props.height) +\n (props.density === 'prominent' ? Number(props.height) : 0) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ), 10))\n const extensionHeight = computed(() => isExtended.value\n ? parseInt((\n Number(props.extensionHeight) +\n (props.density === 'prominent' ? Number(props.extensionHeight) : 0) -\n (props.density === 'comfortable' ? 4 : 0) -\n (props.density === 'compact' ? 8 : 0)\n ), 10)\n : 0\n )\n\n provideDefaults({\n VBtn: {\n variant: 'text',\n },\n })\n\n useRender(() => {\n const hasTitle = !!(props.title || slots.title)\n const hasImage = !!(slots.image || props.image)\n\n const extension = slots.extension?.()\n isExtended.value = !!(props.extended || extension)\n\n return (\n <props.tag\n class={[\n 'v-toolbar',\n {\n 'v-toolbar--absolute': props.absolute,\n 'v-toolbar--collapse': props.collapse,\n 'v-toolbar--flat': props.flat,\n 'v-toolbar--floating': props.floating,\n [`v-toolbar--density-${props.density}`]: true,\n },\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n themeClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n ]}\n >\n { hasImage && (\n <div key=\"image\" class=\"v-toolbar__image\">\n <VDefaultsProvider\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n >\n { slots.image ? slots.image?.() : (<VImg />) }\n </VDefaultsProvider>\n </div>\n ) }\n\n <div\n class=\"v-toolbar__content\"\n style={{ height: convertToUnit(contentHeight.value) }}\n >\n { slots.prepend && (\n <div class=\"v-toolbar__prepend\">\n { slots.prepend?.() }\n </div>\n ) }\n\n { hasTitle && (\n <VToolbarTitle key=\"title\" text={ props.title }>\n {{ text: slots.title }}\n </VToolbarTitle>\n ) }\n\n { slots.default?.() }\n\n { slots.append && (\n <div class=\"v-toolbar__append\">\n { slots.append?.() }\n </div>\n ) }\n </div>\n\n <VExpandTransition>\n { isExtended.value && (\n <div\n class=\"v-toolbar__extension\"\n style={{ height: convertToUnit(extensionHeight.value) }}\n >\n { extension }\n </div>\n ) }\n </VExpandTransition>\n </props.tag>\n )\n })\n\n return useForwardRef({\n contentHeight,\n extensionHeight,\n })\n },\n})\n\nexport type VToolbar = InstanceType<typeof VToolbar>\n\nexport function filterToolbarProps (props: ExtractPropTypes<ReturnType<typeof makeVToolbarProps>>) {\n return pick(props, Object.keys(VToolbar?.props ?? {}) as any)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"VToolbar.mjs","names":["VDefaultsProvider","VExpandTransition","VImg","VToolbarTitle","makeBorderProps","useBorder","makeElevationProps","useElevation","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","provideDefaults","useBackgroundColor","computed","ref","toRef","convertToUnit","genericComponent","pick","propsFactory","useRender","allowedDensities","makeVToolbarProps","absolute","Boolean","collapse","color","String","density","type","default","validator","v","includes","extended","extensionHeight","Number","flat","floating","height","image","title","tag","VToolbar","name","props","setup","slots","backgroundColorClasses","backgroundColorStyles","borderClasses","elevationClasses","roundedClasses","themeClasses","isExtended","extension","contentHeight","parseInt","value","VBtn","variant","hasTitle","hasImage","cover","src","prepend","text","append","filterToolbarProps","Object","keys"],"sources":["../../../src/components/VToolbar/VToolbar.tsx"],"sourcesContent":["// Styles\nimport './VToolbar.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VExpandTransition } from '@/components/transitions'\nimport { VImg } from '@/components/VImg'\nimport { VToolbarTitle } from './VToolbarTitle'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref, toRef } from 'vue'\nimport { convertToUnit, genericComponent, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ExtractPropTypes, PropType } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nexport type Density = typeof allowedDensities[number]\n\nconst allowedDensities = [null, 'prominent', 'default', 'comfortable', 'compact'] as const\n\nexport const makeVToolbarProps = propsFactory({\n absolute: Boolean,\n collapse: Boolean,\n color: String,\n density: {\n type: String as PropType<Density>,\n default: 'default',\n validator: (v: any) => allowedDensities.includes(v),\n },\n extended: Boolean,\n extensionHeight: {\n type: [Number, String],\n default: 48,\n },\n flat: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default: 64,\n },\n image: String,\n title: String,\n\n ...makeBorderProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'header' }),\n ...makeThemeProps(),\n}, 'v-toolbar')\n\nexport const VToolbar = genericComponent<new () => {\n $slots: MakeSlots<{\n default: []\n image: []\n prepend: []\n append: []\n title: []\n extension: []\n }>\n}>()({\n name: 'VToolbar',\n\n props: makeVToolbarProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { themeClasses } = provideTheme(props)\n\n const isExtended = ref(!!(props.extended || slots.extension?.()))\n const contentHeight = computed(() => parseInt((\n Number(props.height) +\n (props.density === 'prominent' ? Number(props.height) : 0) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ), 10))\n const extensionHeight = computed(() => isExtended.value\n ? parseInt((\n Number(props.extensionHeight) +\n (props.density === 'prominent' ? Number(props.extensionHeight) : 0) -\n (props.density === 'comfortable' ? 4 : 0) -\n (props.density === 'compact' ? 8 : 0)\n ), 10)\n : 0\n )\n\n provideDefaults({\n VBtn: {\n variant: 'text',\n },\n })\n\n useRender(() => {\n const hasTitle = !!(props.title || slots.title)\n const hasImage = !!(slots.image || props.image)\n\n const extension = slots.extension?.()\n isExtended.value = !!(props.extended || extension)\n\n return (\n <props.tag\n class={[\n 'v-toolbar',\n {\n 'v-toolbar--absolute': props.absolute,\n 'v-toolbar--collapse': props.collapse,\n 'v-toolbar--flat': props.flat,\n 'v-toolbar--floating': props.floating,\n [`v-toolbar--density-${props.density}`]: true,\n },\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n themeClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n ]}\n >\n { hasImage && (\n <div key=\"image\" class=\"v-toolbar__image\">\n <VDefaultsProvider\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n >\n { slots.image ? slots.image?.() : (<VImg />) }\n </VDefaultsProvider>\n </div>\n ) }\n\n <div\n class=\"v-toolbar__content\"\n style={{ height: convertToUnit(contentHeight.value) }}\n >\n { slots.prepend && (\n <div class=\"v-toolbar__prepend\">\n { slots.prepend?.() }\n </div>\n ) }\n\n { hasTitle && (\n <VToolbarTitle key=\"title\" text={ props.title }>\n {{ text: slots.title }}\n </VToolbarTitle>\n ) }\n\n { slots.default?.() }\n\n { slots.append && (\n <div class=\"v-toolbar__append\">\n { slots.append?.() }\n </div>\n ) }\n </div>\n\n <VExpandTransition>\n { isExtended.value && (\n <div\n class=\"v-toolbar__extension\"\n style={{ height: convertToUnit(extensionHeight.value) }}\n >\n { extension }\n </div>\n ) }\n </VExpandTransition>\n </props.tag>\n )\n })\n\n return {\n contentHeight,\n extensionHeight,\n }\n },\n})\n\nexport type VToolbar = InstanceType<typeof VToolbar>\n\nexport function filterToolbarProps (props: ExtractPropTypes<ReturnType<typeof makeVToolbarProps>>) {\n return pick(props, Object.keys(VToolbar?.props ?? {}) as any)\n}\n"],"mappings":"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"}
@@ -10,23 +10,16 @@
10
10
  justify-content: space-between
11
11
  max-width: 100%
12
12
  overflow: hidden
13
- padding-inline-end: calc(#{$toolbar-padding-end} + var(--v-scrollbar-offset))
14
- padding-inline-start: $toolbar-padding-start
13
+ padding-inline-end: var(--v-scrollbar-offset)
15
14
  position: relative
16
15
  transition: $toolbar-transition
17
- transition-property: height, transform, max-width
16
+ transition-property: height, width, transform, max-width, left, right, top, bottom
18
17
 
19
18
  @include tools.border($toolbar-border...)
20
19
  @include tools.elevation($toolbar-elevation)
21
20
  @include tools.rounded($toolbar-border-radius)
22
21
  @include tools.theme($toolbar-theme...)
23
22
 
24
- @at-root
25
- @include tools.density('v-toolbar', $toolbar-density) using ($modifier)
26
- .v-toolbar__content
27
- padding-top: $toolbar-padding + $modifier
28
- padding-bottom: $toolbar-padding + $modifier
29
-
30
23
  &--absolute
31
24
  position: absolute
32
25
 
@@ -65,12 +58,12 @@
65
58
  > .v-btn:first-child
66
59
  margin-inline-start: $toolbar-prepend-btn-margin-start
67
60
 
68
- + .v-toolbar-title
69
- padding-inline-start: $toolbar-title-padding
70
-
71
61
  > .v-btn:last-child
72
62
  margin-inline-end: $toolbar-append-btn-margin-end
73
63
 
64
+ > .v-toolbar-title
65
+ margin-inline-start: $toolbar-title-margin
66
+
74
67
  .v-toolbar--density-prominent &
75
68
  align-items: flex-start
76
69
 
@@ -87,9 +80,6 @@
87
80
  margin-inline-start: $toolbar-prepend-btn-margin-start
88
81
  margin-inline-end: auto
89
82
 
90
- + .v-toolbar-title
91
- padding-inline-start: $toolbar-title-padding
92
-
93
83
  .v-toolbar__append
94
84
  margin-inline-start: auto
95
85
  margin-inline-end: $toolbar-append-btn-margin-end