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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/CHANGELOG.md +13 -2
  2. package/dist/json/attributes.json +37 -29
  3. package/dist/json/importMap.json +46 -46
  4. package/dist/json/tags.json +10 -8
  5. package/dist/json/web-types.json +101 -87
  6. package/dist/vuetify.css +545 -441
  7. package/dist/vuetify.d.ts +12095 -10059
  8. package/dist/vuetify.esm.js +401 -266
  9. package/dist/vuetify.esm.js.map +1 -1
  10. package/dist/vuetify.js +371 -236
  11. package/dist/vuetify.js.map +1 -1
  12. package/dist/vuetify.min.css +3 -3
  13. package/dist/vuetify.min.js +496 -490
  14. package/dist/vuetify.min.js.map +1 -1
  15. package/lib/blueprints/index.d.ts +171 -0
  16. package/lib/blueprints/md1.d.ts +167 -0
  17. package/lib/blueprints/md2.d.ts +167 -0
  18. package/lib/blueprints/md3.d.ts +167 -0
  19. package/lib/components/VAlert/index.d.ts +185 -0
  20. package/lib/components/VApp/index.d.ts +83 -0
  21. package/lib/components/VAppBar/VAppBar.css +3 -0
  22. package/lib/components/VAppBar/VAppBar.sass +3 -0
  23. package/lib/components/VAppBar/index.d.ts +156 -0
  24. package/lib/components/VAutocomplete/VAutocomplete.mjs +1 -1
  25. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  26. package/lib/components/VAutocomplete/index.d.ts +1569 -0
  27. package/lib/components/VAvatar/VAvatar.css +44 -2
  28. package/lib/components/VAvatar/VAvatar.mjs +16 -12
  29. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  30. package/lib/components/VAvatar/VAvatar.sass +5 -1
  31. package/lib/components/VAvatar/_variables.scss +9 -4
  32. package/lib/components/VAvatar/index.d.ts +80 -0
  33. package/lib/components/VBadge/index.d.ts +123 -0
  34. package/lib/components/VBanner/index.d.ts +122 -0
  35. package/lib/components/VBottomNavigation/index.d.ts +143 -0
  36. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +2 -2
  37. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  38. package/lib/components/VBreadcrumbs/index.d.ts +301 -0
  39. package/lib/components/VBtn/VBtn.css +8 -3
  40. package/lib/components/VBtn/VBtn.mjs +16 -6
  41. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  42. package/lib/components/VBtn/index.d.ts +210 -0
  43. package/lib/components/VBtnGroup/index.d.ts +65 -0
  44. package/lib/components/VBtnToggle/VBtnToggle.mjs +1 -3
  45. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  46. package/lib/components/VBtnToggle/index.d.ts +175 -0
  47. package/lib/components/VCard/VCard.css +8 -3
  48. package/lib/components/VCard/index.d.ts +230 -0
  49. package/lib/components/VCarousel/VCarousel.mjs +3 -3
  50. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  51. package/lib/components/VCarousel/index.d.ts +80 -0
  52. package/lib/components/VCheckbox/index.d.ts +291 -0
  53. package/lib/components/VChip/index.d.ts +195 -0
  54. package/lib/components/VChipGroup/index.d.ts +89 -0
  55. package/lib/components/VCode/index.d.ts +19 -0
  56. package/lib/components/VColorPicker/index.d.ts +116 -0
  57. package/lib/components/VCombobox/VCombobox.mjs +1 -1
  58. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  59. package/lib/components/VCombobox/index.d.ts +1590 -0
  60. package/lib/components/VCounter/index.d.ts +223 -0
  61. package/lib/components/VDefaultsProvider/index.d.ts +26 -0
  62. package/lib/components/VDialog/VDialog.css +2 -0
  63. package/lib/components/VDialog/VDialog.mjs +17 -12
  64. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  65. package/lib/components/VDialog/VDialog.sass +2 -0
  66. package/lib/components/VDialog/index.d.ts +859 -0
  67. package/lib/components/VDivider/index.d.ts +22 -0
  68. package/lib/components/VExpansionPanel/VExpansionPanel.css +8 -3
  69. package/lib/components/VExpansionPanel/index.d.ts +206 -0
  70. package/lib/components/VField/VField.css +27 -24
  71. package/lib/components/VField/VField.mjs +1 -1
  72. package/lib/components/VField/VField.mjs.map +1 -1
  73. package/lib/components/VField/VField.sass +23 -21
  74. package/lib/components/VField/index.d.ts +332 -0
  75. package/lib/components/VFileInput/VFileInput.mjs +3 -3
  76. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  77. package/lib/components/VFileInput/index.d.ts +236 -0
  78. package/lib/components/VFooter/VFooter.css +7 -0
  79. package/lib/components/VFooter/VFooter.sass +1 -1
  80. package/lib/components/VFooter/_variables.scss +11 -0
  81. package/lib/components/VFooter/index.d.ts +76 -0
  82. package/lib/components/VForm/index.d.ts +72 -0
  83. package/lib/components/VGrid/index.d.ts +154 -0
  84. package/lib/components/VHover/index.d.ts +30 -0
  85. package/lib/components/VIcon/index.d.ts +124 -0
  86. package/lib/components/VImg/VImg.mjs +29 -27
  87. package/lib/components/VImg/VImg.mjs.map +1 -1
  88. package/lib/components/VImg/index.d.ts +89 -0
  89. package/lib/components/VInput/VInput.mjs +4 -4
  90. package/lib/components/VInput/VInput.mjs.map +1 -1
  91. package/lib/components/VInput/index.d.ts +325 -0
  92. package/lib/components/VItemGroup/index.d.ts +210 -0
  93. package/lib/components/VKbd/index.d.ts +19 -0
  94. package/lib/components/VLabel/VLabel.css +4 -1
  95. package/lib/components/VLabel/VLabel.mjs +4 -1
  96. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  97. package/lib/components/VLabel/VLabel.sass +3 -1
  98. package/lib/components/VLabel/index.d.ts +16 -0
  99. package/lib/components/VLayout/index.d.ts +75 -0
  100. package/lib/components/VLazy/index.d.ts +85 -0
  101. package/lib/components/VList/VListItem.css +8 -3
  102. package/lib/components/VList/VListItem.mjs +4 -4
  103. package/lib/components/VList/VListItem.mjs.map +1 -1
  104. package/lib/components/VList/index.d.ts +1250 -0
  105. package/lib/components/VLocaleProvider/index.d.ts +23 -0
  106. package/lib/components/VMain/index.d.ts +26 -0
  107. package/lib/components/VMenu/VMenu.mjs +16 -3
  108. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  109. package/lib/components/VMenu/index.d.ts +817 -0
  110. package/lib/components/VMessages/index.d.ts +234 -0
  111. package/lib/components/VNavigationDrawer/index.d.ts +148 -0
  112. package/lib/components/VNoSsr/index.d.ts +7 -0
  113. package/lib/components/VOverlay/VOverlay.mjs +4 -3
  114. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  115. package/lib/components/VOverlay/index.d.ts +579 -0
  116. package/lib/components/VOverlay/useActivator.mjs +27 -1
  117. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  118. package/lib/components/VPagination/VPagination.mjs +6 -3
  119. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  120. package/lib/components/VPagination/index.d.ts +247 -0
  121. package/lib/components/VParallax/VParallax.mjs +24 -10
  122. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  123. package/lib/components/VParallax/index.d.ts +18 -0
  124. package/lib/components/VProgressCircular/index.d.ts +68 -0
  125. package/lib/components/VProgressLinear/index.d.ts +101 -0
  126. package/lib/components/VRadio/index.d.ts +103 -0
  127. package/lib/components/VRadioGroup/VRadioGroup.css +2 -3
  128. package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -1
  129. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  130. package/lib/components/VRadioGroup/VRadioGroup.sass +2 -2
  131. package/lib/components/VRadioGroup/_variables.scss +0 -1
  132. package/lib/components/VRadioGroup/index.d.ts +186 -0
  133. package/lib/components/VRangeSlider/VRangeSlider.mjs +12 -2
  134. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  135. package/lib/components/VRangeSlider/index.d.ts +242 -0
  136. package/lib/components/VRating/index.d.ts +356 -0
  137. package/lib/components/VResponsive/index.d.ts +23 -0
  138. package/lib/components/VSelect/VSelect.mjs +1 -1
  139. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  140. package/lib/components/VSelect/index.d.ts +1521 -0
  141. package/lib/components/VSelectionControl/VSelectionControl.mjs +2 -1
  142. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  143. package/lib/components/VSelectionControl/index.d.ts +275 -0
  144. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.css +5 -0
  145. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +3 -1
  146. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  147. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +5 -0
  148. package/lib/components/VSelectionControlGroup/index.d.ts +47 -0
  149. package/lib/components/VSheet/index.d.ts +68 -0
  150. package/lib/components/VSlideGroup/index.d.ts +151 -0
  151. package/lib/components/VSlider/VSlider.css +7 -2
  152. package/lib/components/VSlider/VSlider.mjs +14 -4
  153. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  154. package/lib/components/VSlider/VSlider.sass +6 -2
  155. package/lib/components/VSlider/VSliderTrack.css +20 -20
  156. package/lib/components/VSlider/VSliderTrack.mjs +7 -3
  157. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  158. package/lib/components/VSlider/VSliderTrack.sass +14 -14
  159. package/lib/components/VSlider/_variables.scss +2 -2
  160. package/lib/components/VSlider/index.d.ts +239 -0
  161. package/lib/components/VSlider/slider.mjs +2 -2
  162. package/lib/components/VSlider/slider.mjs.map +1 -1
  163. package/lib/components/VSnackbar/VSnackbar.mjs +3 -2
  164. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  165. package/lib/components/VSnackbar/index.d.ts +892 -0
  166. package/lib/components/VSwitch/index.d.ts +175 -0
  167. package/lib/components/VSystemBar/index.d.ts +61 -0
  168. package/lib/components/VTable/index.d.ts +39 -0
  169. package/lib/components/VTabs/VTab.mjs +1 -0
  170. package/lib/components/VTabs/VTab.mjs.map +1 -1
  171. package/lib/components/VTabs/index.d.ts +178 -0
  172. package/lib/components/VTextField/VTextField.css +2 -3
  173. package/lib/components/VTextField/VTextField.sass +2 -4
  174. package/lib/components/VTextField/index.d.ts +582 -0
  175. package/lib/components/VTextarea/VTextarea.css +5 -3
  176. package/lib/components/VTextarea/VTextarea.mjs +2 -1
  177. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  178. package/lib/components/VTextarea/VTextarea.sass +5 -4
  179. package/lib/components/VTextarea/index.d.ts +218 -0
  180. package/lib/components/VThemeProvider/index.d.ts +24 -0
  181. package/lib/components/VTimeline/VTimeline.css +21 -6
  182. package/lib/components/VTimeline/VTimeline.mjs +6 -1
  183. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  184. package/lib/components/VTimeline/VTimeline.sass +16 -2
  185. package/lib/components/VTimeline/_variables.scss +4 -3
  186. package/lib/components/VTimeline/index.d.ts +154 -0
  187. package/lib/components/VToolbar/VToolbar.css +0 -1
  188. package/lib/components/VToolbar/VToolbar.sass +0 -1
  189. package/lib/components/VToolbar/index.d.ts +414 -0
  190. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  191. package/lib/components/VTooltip/index.d.ts +799 -0
  192. package/lib/components/VValidation/index.d.ts +61 -0
  193. package/lib/components/VWindow/index.d.ts +428 -0
  194. package/lib/components/index.d.ts +12037 -10009
  195. package/lib/components/transitions/index.d.ts +454 -0
  196. package/lib/composables/display.mjs +3 -3
  197. package/lib/composables/display.mjs.map +1 -1
  198. package/lib/composables/items.mjs.map +1 -1
  199. package/lib/composables/locale.mjs +10 -3
  200. package/lib/composables/locale.mjs.map +1 -1
  201. package/lib/composables/proxiedModel.mjs +28 -10
  202. package/lib/composables/proxiedModel.mjs.map +1 -1
  203. package/lib/composables/router.mjs +10 -2
  204. package/lib/composables/router.mjs.map +1 -1
  205. package/lib/composables/selectLink.mjs +4 -4
  206. package/lib/composables/selectLink.mjs.map +1 -1
  207. package/lib/composables/theme.mjs +37 -33
  208. package/lib/composables/theme.mjs.map +1 -1
  209. package/lib/composables/validation.mjs +1 -1
  210. package/lib/composables/validation.mjs.map +1 -1
  211. package/lib/entry-bundler.mjs +1 -1
  212. package/lib/framework.mjs +46 -51
  213. package/lib/framework.mjs.map +1 -1
  214. package/lib/index.d.ts +31 -22
  215. package/lib/locale/adapters/vue-i18n.d.ts +35 -0
  216. package/lib/locale/adapters/vue-intl.d.ts +42 -0
  217. package/lib/styles/main.css +73 -73
  218. package/lib/styles/settings/_colors.scss +84 -84
  219. package/lib/styles/tools/_states.sass +8 -3
  220. package/lib/util/getCurrentInstance.mjs +2 -3
  221. package/lib/util/getCurrentInstance.mjs.map +1 -1
  222. package/lib/util/helpers.mjs +6 -11
  223. package/lib/util/helpers.mjs.map +1 -1
  224. package/package.json +4 -2
@@ -0,0 +1,151 @@
1
+ import * as vue from 'vue';
2
+ import { JSXComponent, PropType, ComponentInternalInstance, Ref, ComputedRef, InjectionKey } from 'vue';
3
+
4
+ declare type IconValue = string | JSXComponent;
5
+ declare const IconValue: PropType<IconValue>;
6
+
7
+ interface GroupItem {
8
+ id: number;
9
+ value: Ref<unknown>;
10
+ disabled: Ref<boolean | undefined>;
11
+ }
12
+ interface GroupProvide {
13
+ register: (item: GroupItem, cmp: ComponentInternalInstance) => void;
14
+ unregister: (id: number) => void;
15
+ select: (id: number, value: boolean) => void;
16
+ selected: Ref<Readonly<number[]>>;
17
+ isSelected: (id: number) => boolean;
18
+ prev: () => void;
19
+ next: () => void;
20
+ selectedClass: Ref<string | undefined>;
21
+ items: ComputedRef<{
22
+ id: number;
23
+ value: unknown;
24
+ disabled: boolean | undefined;
25
+ }[]>;
26
+ disabled: Ref<boolean | undefined>;
27
+ getItemIndex: (value: unknown) => number;
28
+ }
29
+
30
+ declare const VSlideGroup: vue.DefineComponent<{
31
+ modelValue: {
32
+ type: null;
33
+ default: undefined;
34
+ };
35
+ multiple: BooleanConstructor;
36
+ mandatory: vue.PropType<boolean | "force">;
37
+ max: NumberConstructor;
38
+ selectedClass: {
39
+ type: vue.PropType<string>;
40
+ default: string;
41
+ };
42
+ disabled: BooleanConstructor;
43
+ tag: {
44
+ type: StringConstructor;
45
+ default: string;
46
+ };
47
+ centerActive: BooleanConstructor;
48
+ direction: {
49
+ type: StringConstructor;
50
+ default: string;
51
+ };
52
+ symbol: {
53
+ type: null;
54
+ default: InjectionKey<GroupProvide>;
55
+ };
56
+ nextIcon: {
57
+ type: vue.PropType<IconValue>;
58
+ default: string;
59
+ };
60
+ prevIcon: {
61
+ type: vue.PropType<IconValue>;
62
+ default: string;
63
+ };
64
+ showArrows: {
65
+ type: (StringConstructor | BooleanConstructor)[];
66
+ validator: (v: any) => boolean;
67
+ };
68
+ }, {
69
+ selected: vue.Ref<readonly number[]>;
70
+ scrollTo: (location: 'prev' | 'next') => void;
71
+ scrollOffset: vue.Ref<number>;
72
+ focus: (location?: 'next' | 'prev' | 'first' | 'last') => void;
73
+ }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
74
+ 'update:modelValue': (value: any) => true;
75
+ }, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
76
+ modelValue: {
77
+ type: null;
78
+ default: undefined;
79
+ };
80
+ multiple: BooleanConstructor;
81
+ mandatory: vue.PropType<boolean | "force">;
82
+ max: NumberConstructor;
83
+ selectedClass: {
84
+ type: vue.PropType<string>;
85
+ default: string;
86
+ };
87
+ disabled: BooleanConstructor;
88
+ tag: {
89
+ type: StringConstructor;
90
+ default: string;
91
+ };
92
+ centerActive: BooleanConstructor;
93
+ direction: {
94
+ type: StringConstructor;
95
+ default: string;
96
+ };
97
+ symbol: {
98
+ type: null;
99
+ default: InjectionKey<GroupProvide>;
100
+ };
101
+ nextIcon: {
102
+ type: vue.PropType<IconValue>;
103
+ default: string;
104
+ };
105
+ prevIcon: {
106
+ type: vue.PropType<IconValue>;
107
+ default: string;
108
+ };
109
+ showArrows: {
110
+ type: (StringConstructor | BooleanConstructor)[];
111
+ validator: (v: any) => boolean;
112
+ };
113
+ }>> & {
114
+ "onUpdate:modelValue"?: ((value: any) => any) | undefined;
115
+ }, {
116
+ symbol: any;
117
+ direction: string;
118
+ disabled: boolean;
119
+ multiple: boolean;
120
+ tag: string;
121
+ modelValue: any;
122
+ selectedClass: string;
123
+ nextIcon: IconValue;
124
+ prevIcon: IconValue;
125
+ centerActive: boolean;
126
+ }>;
127
+ declare type VSlideGroup = InstanceType<typeof VSlideGroup>;
128
+
129
+ declare const VSlideGroupItem: vue.DefineComponent<{
130
+ value: null;
131
+ disabled: BooleanConstructor;
132
+ selectedClass: StringConstructor;
133
+ }, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
134
+ [key: string]: any;
135
+ }>[] | undefined, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
136
+ 'group:selected': (val: {
137
+ value: boolean;
138
+ }) => true;
139
+ }, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
140
+ value: null;
141
+ disabled: BooleanConstructor;
142
+ selectedClass: StringConstructor;
143
+ }>> & {
144
+ "onGroup:selected"?: ((val: {
145
+ value: boolean;
146
+ }) => any) | undefined;
147
+ }, {
148
+ disabled: boolean;
149
+ }>;
150
+
151
+ export { VSlideGroup, VSlideGroupItem };
@@ -10,6 +10,7 @@
10
10
 
11
11
  .v-slider__container {
12
12
  position: relative;
13
+ min-height: inherit;
13
14
  width: 100%;
14
15
  height: 100%;
15
16
  display: flex;
@@ -26,8 +27,8 @@
26
27
 
27
28
  .v-slider.v-input--horizontal {
28
29
  align-items: center;
29
- margin-left: 8px;
30
- margin-right: 8px;
30
+ margin-inline-start: 8px;
31
+ margin-inline-end: 8px;
31
32
  }
32
33
  .v-slider.v-input--horizontal .v-input__control {
33
34
  min-height: 32px;
@@ -50,4 +51,8 @@
50
51
 
51
52
  .v-slider--has-labels .v-input__control {
52
53
  margin-bottom: 4px;
54
+ }
55
+
56
+ .v-slider__label {
57
+ margin-inline-end: 12px;
53
58
  }
@@ -1,14 +1,15 @@
1
- import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
1
+ import { mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from "vue";
2
2
  // Styles
3
3
  import "./VSlider.css"; // Components
4
4
 
5
+ import { filterInputProps, makeVInputProps, VInput } from "../VInput/VInput.mjs";
6
+ import { VLabel } from "../VLabel/index.mjs";
5
7
  import { VSliderThumb } from "./VSliderThumb.mjs";
6
- import { VSliderTrack } from "./VSliderTrack.mjs";
7
- import { filterInputProps, makeVInputProps, VInput } from "../VInput/VInput.mjs"; // Composables
8
+ import { VSliderTrack } from "./VSliderTrack.mjs"; // Composables
8
9
 
9
10
  import { makeFocusProps, useFocus } from "../../composables/focus.mjs";
10
11
  import { makeSliderProps, useSlider } from "./slider.mjs";
11
- import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Util
12
+ import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
12
13
 
13
14
  import { computed, ref } from 'vue';
14
15
  import { defineComponent, useRender } from "../../util/index.mjs";
@@ -67,6 +68,7 @@ export const VSlider = defineComponent({
67
68
  const trackStop = computed(() => position(model.value));
68
69
  useRender(() => {
69
70
  const [inputProps, _] = filterInputProps(props);
71
+ const hasPrepend = !!(props.label || slots.label || slots.prepend);
70
72
  return _createVNode(VInput, _mergeProps({
71
73
  "class": ['v-slider', {
72
74
  'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,
@@ -77,6 +79,14 @@ export const VSlider = defineComponent({
77
79
  }, inputProps, {
78
80
  "focused": isFocused.value
79
81
  }), { ...slots,
82
+ prepend: hasPrepend ? slotProps => {
83
+ var _slots$label, _slots$prepend;
84
+
85
+ return _createVNode(_Fragment, null, [((_slots$label = slots.label) == null ? void 0 : _slots$label.call(slots, slotProps)) ?? props.label ? _createVNode(VLabel, {
86
+ "class": "v-slider__label",
87
+ "text": props.label
88
+ }, null) : undefined, (_slots$prepend = slots.prepend) == null ? void 0 : _slots$prepend.call(slots, slotProps)]);
89
+ } : undefined,
80
90
  default: _ref2 => {
81
91
  let {
82
92
  id
@@ -1 +1 @@
1
- {"version":3,"file":"VSlider.mjs","names":["VSliderThumb","VSliderTrack","filterInputProps","makeVInputProps","VInput","makeFocusProps","useFocus","makeSliderProps","useSlider","useProxiedModel","computed","ref","defineComponent","useRender","VSlider","name","props","modelValue","type","Number","String","default","emits","value","v","setup","slots","thumbContainerRef","min","max","mousePressed","roundValue","onSliderMousedown","onSliderTouchstart","trackContainerRef","position","hasLabels","readonly","handleSliderMouseUp","newValue","model","handleMouseMove","getActiveThumb","$el","undefined","parseFloat","isFocused","focus","blur","trackStop","inputProps","_","disabled","id","elevation"],"sources":["../../../src/components/VSlider/VSlider.tsx"],"sourcesContent":["// Styles\nimport './VSlider.sass'\n\n// Components\nimport { VSliderThumb } from './VSliderThumb'\nimport { VSliderTrack } from './VSliderTrack'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\n\n// Composables\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { makeSliderProps, useSlider } from './slider'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Util\nimport { computed, ref } from 'vue'\nimport { defineComponent, useRender } from '@/util'\n\nexport const VSlider = defineComponent({\n name: 'VSlider',\n\n props: {\n ...makeFocusProps(),\n ...makeSliderProps(),\n ...makeVInputProps(),\n\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n },\n\n emits: {\n 'update:focused': (value: boolean) => true,\n 'update:modelValue': (v: number) => true,\n },\n\n setup (props, { slots }) {\n const thumbContainerRef = ref()\n\n const {\n min,\n max,\n mousePressed,\n roundValue,\n onSliderMousedown,\n onSliderTouchstart,\n trackContainerRef,\n position,\n hasLabels,\n readonly,\n } = useSlider({\n props,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleSliderMouseUp: newValue => model.value = roundValue(newValue),\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleMouseMove: newValue => model.value = roundValue(newValue),\n getActiveThumb: () => thumbContainerRef.value?.$el,\n })\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => {\n const value = typeof v === 'string' ? parseFloat(v) : v == null ? min.value : v\n\n return roundValue(value)\n },\n )\n\n const { isFocused, focus, blur } = useFocus(props)\n const trackStop = computed(() => position(model.value))\n\n useRender(() => {\n const [inputProps, _] = filterInputProps(props)\n\n return (\n <VInput\n class={[\n 'v-slider',\n {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': props.disabled,\n },\n ]}\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({ id }) => (\n <div\n class=\"v-slider__container\"\n onMousedown={ !readonly.value ? onSliderMousedown : undefined }\n onTouchstartPassive={ !readonly.value ? onSliderTouchstart : undefined }\n >\n <input\n id={ id.value }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value }\n />\n\n <VSliderTrack\n ref={ trackContainerRef }\n start={ 0 }\n stop={ trackStop.value }\n >\n {{ 'tick-label': slots['tick-label'] }}\n </VSliderTrack>\n\n <VSliderThumb\n ref={ thumbContainerRef }\n focused={ isFocused.value }\n min={ min.value }\n max={ max.value }\n modelValue={ model.value }\n onUpdate:modelValue={ v => (model.value = v) }\n position={ trackStop.value }\n elevation={ props.elevation }\n onFocus={ focus }\n onBlur={ blur }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n </div>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VSlider = InstanceType<typeof VSlider>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VSlider.mjs","names":["filterInputProps","makeVInputProps","VInput","VLabel","VSliderThumb","VSliderTrack","makeFocusProps","useFocus","makeSliderProps","useSlider","useProxiedModel","computed","ref","defineComponent","useRender","VSlider","name","props","modelValue","type","Number","String","default","emits","value","v","setup","slots","thumbContainerRef","min","max","mousePressed","roundValue","onSliderMousedown","onSliderTouchstart","trackContainerRef","position","hasLabels","readonly","handleSliderMouseUp","newValue","model","handleMouseMove","getActiveThumb","$el","undefined","parseFloat","isFocused","focus","blur","trackStop","inputProps","_","hasPrepend","label","prepend","disabled","slotProps","id","elevation"],"sources":["../../../src/components/VSlider/VSlider.tsx"],"sourcesContent":["// Styles\nimport './VSlider.sass'\n\n// Components\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VLabel } from '@/components/VLabel'\nimport { VSliderThumb } from './VSliderThumb'\nimport { VSliderTrack } from './VSliderTrack'\n\n// Composables\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { makeSliderProps, useSlider } from './slider'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { defineComponent, useRender } from '@/util'\n\nexport const VSlider = defineComponent({\n name: 'VSlider',\n\n props: {\n ...makeFocusProps(),\n ...makeSliderProps(),\n ...makeVInputProps(),\n\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n },\n\n emits: {\n 'update:focused': (value: boolean) => true,\n 'update:modelValue': (v: number) => true,\n },\n\n setup (props, { slots }) {\n const thumbContainerRef = ref()\n\n const {\n min,\n max,\n mousePressed,\n roundValue,\n onSliderMousedown,\n onSliderTouchstart,\n trackContainerRef,\n position,\n hasLabels,\n readonly,\n } = useSlider({\n props,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleSliderMouseUp: newValue => model.value = roundValue(newValue),\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleMouseMove: newValue => model.value = roundValue(newValue),\n getActiveThumb: () => thumbContainerRef.value?.$el,\n })\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => {\n const value = typeof v === 'string' ? parseFloat(v) : v == null ? min.value : v\n\n return roundValue(value)\n },\n )\n\n const { isFocused, focus, blur } = useFocus(props)\n const trackStop = computed(() => position(model.value))\n\n useRender(() => {\n const [inputProps, _] = filterInputProps(props)\n const hasPrepend = !!(props.label || slots.label || slots.prepend)\n\n return (\n <VInput\n class={[\n 'v-slider',\n {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': props.disabled,\n },\n ]}\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n prepend: hasPrepend ? slotProps => (\n <>\n { slots.label?.(slotProps) ?? props.label\n ? (\n <VLabel\n class=\"v-slider__label\"\n text={ props.label }\n />\n ) : undefined\n }\n\n { slots.prepend?.(slotProps) }\n </>\n ) : undefined,\n default: ({ id }) => (\n <div\n class=\"v-slider__container\"\n onMousedown={ !readonly.value ? onSliderMousedown : undefined }\n onTouchstartPassive={ !readonly.value ? onSliderTouchstart : undefined }\n >\n <input\n id={ id.value }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value }\n />\n\n <VSliderTrack\n ref={ trackContainerRef }\n start={ 0 }\n stop={ trackStop.value }\n >\n {{ 'tick-label': slots['tick-label'] }}\n </VSliderTrack>\n\n <VSliderThumb\n ref={ thumbContainerRef }\n focused={ isFocused.value }\n min={ min.value }\n max={ max.value }\n modelValue={ model.value }\n onUpdate:modelValue={ v => (model.value = v) }\n position={ trackStop.value }\n elevation={ props.elevation }\n onFocus={ focus }\n onBlur={ blur }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n </div>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VSlider = InstanceType<typeof VSlider>\n"],"mappings":"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"}
@@ -19,6 +19,7 @@
19
19
  // Elements
20
20
  .v-slider__container
21
21
  position: relative
22
+ min-height: inherit
22
23
  width: 100%
23
24
  height: 100%
24
25
  display: flex
@@ -35,8 +36,8 @@
35
36
  // Modifiers
36
37
  .v-slider.v-input--horizontal
37
38
  align-items: center
38
- margin-left: $slider-horizontal-left
39
- margin-right: $slider-horizontal-right
39
+ margin-inline-start: $slider-horizontal-start
40
+ margin-inline-end: $slider-horizontal-end
40
41
 
41
42
  .v-input__control
42
43
  min-height: $slider-horizontal-min-height
@@ -56,3 +57,6 @@
56
57
 
57
58
  .v-slider--has-labels .v-input__control
58
59
  margin-bottom: $slider-tick-label-margin-top * .5
60
+
61
+ .v-slider__label
62
+ margin-inline-end: $slider-label-margin-end
@@ -44,16 +44,16 @@
44
44
  height: var(--v-slider-tick-size);
45
45
  transform: translate(calc(var(--v-slider-tick-size) / -2), calc(var(--v-slider-tick-size) / -2));
46
46
  }
47
- .v-slider-track__tick:first-child .v-slider-track__tick-label.v-locale--is-ltr, .v-locale--is-ltr .v-slider-track__tick:first-child .v-slider-track__tick-label {
47
+ .v-slider-track__tick--first .v-slider-track__tick-label.v-locale--is-ltr, .v-locale--is-ltr .v-slider-track__tick--first .v-slider-track__tick-label {
48
48
  transform: none;
49
49
  }
50
- .v-slider-track__tick:first-child .v-slider-track__tick-label.v-locale--is-rtl, .v-locale--is-rtl .v-slider-track__tick:first-child .v-slider-track__tick-label {
50
+ .v-slider-track__tick--first .v-slider-track__tick-label.v-locale--is-rtl, .v-locale--is-rtl .v-slider-track__tick--first .v-slider-track__tick-label {
51
51
  transform: translateX(100%);
52
52
  }
53
- .v-slider-track__tick:last-child .v-slider-track__tick-label.v-locale--is-ltr, .v-locale--is-ltr .v-slider-track__tick:last-child .v-slider-track__tick-label {
53
+ .v-slider-track__tick--last .v-slider-track__tick-label.v-locale--is-ltr, .v-locale--is-ltr .v-slider-track__tick--last .v-slider-track__tick-label {
54
54
  transform: translateX(-100%);
55
55
  }
56
- .v-slider-track__tick:last-child .v-slider-track__tick-label.v-locale--is-rtl, .v-locale--is-rtl .v-slider-track__tick:last-child .v-slider-track__tick-label {
56
+ .v-slider-track__tick--last .v-slider-track__tick-label.v-locale--is-rtl, .v-locale--is-rtl .v-slider-track__tick--last .v-slider-track__tick-label {
57
57
  transform: none;
58
58
  }
59
59
 
@@ -82,33 +82,33 @@
82
82
  .v-slider.v-input--horizontal .v-slider-track__tick.v-locale--is-rtl, .v-locale--is-rtl .v-slider.v-input--horizontal .v-slider-track__tick {
83
83
  transform: translate(calc(var(--v-slider-tick-size) / 2), calc(var(--v-slider-tick-size) / -2));
84
84
  }
85
- .v-slider.v-input--horizontal .v-slider-track__tick:first-child {
85
+ .v-slider.v-input--horizontal .v-slider-track__tick .v-slider-track__tick-label {
86
+ margin-top: calc(var(--v-slider-track-size) / 2 + 8px);
87
+ }
88
+ .v-slider.v-input--horizontal .v-slider-track__tick .v-slider-track__tick-label.v-locale--is-ltr, .v-locale--is-ltr .v-slider.v-input--horizontal .v-slider-track__tick .v-slider-track__tick-label {
89
+ transform: translateX(-50%);
90
+ }
91
+ .v-slider.v-input--horizontal .v-slider-track__tick .v-slider-track__tick-label.v-locale--is-rtl, .v-locale--is-rtl .v-slider.v-input--horizontal .v-slider-track__tick .v-slider-track__tick-label {
92
+ transform: translateX(50%);
93
+ }
94
+ .v-slider.v-input--horizontal .v-slider-track__tick--first {
86
95
  margin-inline-start: calc(var(--v-slider-tick-size) + 1px);
87
96
  }
88
- .v-slider.v-input--horizontal .v-slider-track__tick:first-child .v-slider-track__tick-label.v-locale--is-ltr, .v-locale--is-ltr .v-slider.v-input--horizontal .v-slider-track__tick:first-child .v-slider-track__tick-label {
97
+ .v-slider.v-input--horizontal .v-slider-track__tick--first .v-slider-track__tick-label.v-locale--is-ltr, .v-locale--is-ltr .v-slider.v-input--horizontal .v-slider-track__tick--first .v-slider-track__tick-label {
89
98
  transform: translateX(0%);
90
99
  }
91
- .v-slider.v-input--horizontal .v-slider-track__tick:first-child .v-slider-track__tick-label.v-locale--is-rtl, .v-locale--is-rtl .v-slider.v-input--horizontal .v-slider-track__tick:first-child .v-slider-track__tick-label {
100
+ .v-slider.v-input--horizontal .v-slider-track__tick--first .v-slider-track__tick-label.v-locale--is-rtl, .v-locale--is-rtl .v-slider.v-input--horizontal .v-slider-track__tick--first .v-slider-track__tick-label {
92
101
  transform: translateX(0%);
93
102
  }
94
- .v-slider.v-input--horizontal .v-slider-track__tick:last-child {
103
+ .v-slider.v-input--horizontal .v-slider-track__tick--last {
95
104
  margin-inline-start: calc(100% - var(--v-slider-tick-size) - 1px);
96
105
  }
97
- .v-slider.v-input--horizontal .v-slider-track__tick:last-child .v-slider-track__tick-label.v-locale--is-ltr, .v-locale--is-ltr .v-slider.v-input--horizontal .v-slider-track__tick:last-child .v-slider-track__tick-label {
106
+ .v-slider.v-input--horizontal .v-slider-track__tick--last .v-slider-track__tick-label.v-locale--is-ltr, .v-locale--is-ltr .v-slider.v-input--horizontal .v-slider-track__tick--last .v-slider-track__tick-label {
98
107
  transform: translateX(-100%);
99
108
  }
100
- .v-slider.v-input--horizontal .v-slider-track__tick:last-child .v-slider-track__tick-label.v-locale--is-rtl, .v-locale--is-rtl .v-slider.v-input--horizontal .v-slider-track__tick:last-child .v-slider-track__tick-label {
109
+ .v-slider.v-input--horizontal .v-slider-track__tick--last .v-slider-track__tick-label.v-locale--is-rtl, .v-locale--is-rtl .v-slider.v-input--horizontal .v-slider-track__tick--last .v-slider-track__tick-label {
101
110
  transform: translateX(100%);
102
111
  }
103
- .v-slider.v-input--horizontal .v-slider-track__tick .v-slider-track__tick-label {
104
- margin-top: calc(var(--v-slider-track-size) / 2 + 8px);
105
- }
106
- .v-slider.v-input--horizontal .v-slider-track__tick .v-slider-track__tick-label.v-locale--is-ltr, .v-locale--is-ltr .v-slider.v-input--horizontal .v-slider-track__tick .v-slider-track__tick-label {
107
- transform: translateX(-50%);
108
- }
109
- .v-slider.v-input--horizontal .v-slider-track__tick .v-slider-track__tick-label.v-locale--is-rtl, .v-locale--is-rtl .v-slider.v-input--horizontal .v-slider-track__tick .v-slider-track__tick-label {
110
- transform: translateX(50%);
111
- }
112
112
 
113
113
  .v-slider.v-input--vertical .v-slider-track {
114
114
  height: 100%;
@@ -133,7 +133,7 @@
133
133
  .v-slider.v-input--vertical .v-slider-track__tick.v-locale--is-rtl, .v-locale--is-rtl .v-slider.v-input--vertical .v-slider-track__tick {
134
134
  transform: translate(calc(var(--v-slider-tick-size) / 2), calc(var(--v-slider-tick-size) / 2));
135
135
  }
136
- .v-slider.v-input--vertical .v-slider-track__tick:last-child {
136
+ .v-slider.v-input--vertical .v-slider-track__tick--last {
137
137
  bottom: calc(0% + var(--v-slider-tick-size) + 1px);
138
138
  }
139
139
  .v-slider.v-input--vertical .v-slider-track__tick .v-slider-track__tick-label {
@@ -39,7 +39,9 @@ export const VSliderTrack = defineComponent({
39
39
  trackColor,
40
40
  trackFillColor,
41
41
  trackSize,
42
- vertical
42
+ vertical,
43
+ min,
44
+ max
43
45
  } = slider;
44
46
  const {
45
47
  roundedClasses
@@ -73,11 +75,13 @@ export const VSliderTrack = defineComponent({
73
75
  var _slots$tickLabel;
74
76
 
75
77
  const directionProperty = vertical.value ? 'bottom' : 'margin-inline-start';
76
- const directionValue = tick.position > 0 && tick.position < 100 ? convertToUnit(tick.position, '%') : undefined;
78
+ const directionValue = tick.value !== min.value && tick.value !== max.value ? convertToUnit(tick.position, '%') : undefined;
77
79
  return _createVNode("div", {
78
80
  "key": tick.value,
79
81
  "class": ['v-slider-track__tick', {
80
- 'v-slider-track__tick--filled': tick.position >= props.start && tick.position <= props.stop
82
+ 'v-slider-track__tick--filled': tick.position >= props.start && tick.position <= props.stop,
83
+ 'v-slider-track__tick--first': tick.value === min.value,
84
+ 'v-slider-track__tick--last': tick.value === max.value
81
85
  }],
82
86
  "style": {
83
87
  [directionProperty]: directionValue
@@ -1 +1 @@
1
- {"version":3,"file":"VSliderTrack.mjs","names":["VSliderSymbol","useBackgroundColor","useRounded","computed","inject","convertToUnit","defineComponent","useRender","VSliderTrack","name","props","start","type","Number","required","stop","emits","setup","slots","slider","Error","color","horizontalDirection","parsedTicks","rounded","showTicks","tickSize","trackColor","trackFillColor","trackSize","vertical","roundedClasses","backgroundColorClasses","trackFillColorClasses","backgroundColorStyles","trackFillColorStyles","trackColorClasses","trackColorStyles","startDir","value","endDir","backgroundStyles","trackFillWidth","trackFillStyles","computedTicks","ticks","slice","reverse","map","tick","index","directionProperty","directionValue","position","undefined","label","direction"],"sources":["../../../src/components/VSlider/VSliderTrack.tsx"],"sourcesContent":["// Styles\nimport './VSliderTrack.sass'\n\n// Components\nimport { VSliderSymbol } from './slider'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { useRounded } from '@/composables/rounded'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, defineComponent, useRender } from '@/util'\n\nexport const VSliderTrack = defineComponent({\n name: 'VSliderTrack',\n\n props: {\n start: {\n type: Number,\n required: true,\n },\n stop: {\n type: Number,\n required: true,\n },\n },\n\n emits: {},\n\n setup (props, { slots }) {\n const slider = inject(VSliderSymbol)\n\n if (!slider) throw new Error('[Vuetify] v-slider-track must be inside v-slider or v-range-slider')\n\n const {\n color,\n horizontalDirection,\n parsedTicks,\n rounded,\n showTicks,\n tickSize,\n trackColor,\n trackFillColor,\n trackSize,\n vertical,\n } = slider\n\n const { roundedClasses } = useRounded(rounded)\n\n const {\n backgroundColorClasses: trackFillColorClasses,\n backgroundColorStyles: trackFillColorStyles,\n } = useBackgroundColor(trackFillColor)\n\n const {\n backgroundColorClasses: trackColorClasses,\n backgroundColorStyles: trackColorStyles,\n } = useBackgroundColor(trackColor)\n\n const startDir = computed(() => `inset-${vertical.value ? 'block-end' : 'inline-start'}`)\n const endDir = computed(() => vertical.value ? 'height' : 'width')\n\n const backgroundStyles = computed(() => {\n return {\n [startDir.value]: '0%',\n [endDir.value]: '100%',\n }\n })\n\n const trackFillWidth = computed(() => props.stop - props.start)\n\n const trackFillStyles = computed(() => {\n return {\n [startDir.value]: convertToUnit(props.start, '%'),\n [endDir.value]: convertToUnit(trackFillWidth.value, '%'),\n }\n })\n\n const computedTicks = computed(() => {\n const ticks = vertical.value ? parsedTicks.value.slice().reverse() : parsedTicks.value\n\n return ticks.map((tick, index) => {\n const directionProperty = vertical.value ? 'bottom' : 'margin-inline-start'\n const directionValue = (tick.position > 0 && tick.position < 100) ? convertToUnit(tick.position, '%') : undefined\n return (\n <div\n key={ tick.value }\n class={[\n 'v-slider-track__tick',\n {\n 'v-slider-track__tick--filled': tick.position >= props.start && tick.position <= props.stop,\n },\n ]}\n style={{ [directionProperty]: directionValue }}\n >\n {\n (tick.label || slots['tick-label']) && (\n <div class=\"v-slider-track__tick-label\">\n { slots['tick-label']?.({ tick, index }) ?? tick.label }\n </div>\n )\n }\n </div>\n )\n })\n })\n\n useRender(() => {\n return (\n <div\n class={[\n 'v-slider-track',\n roundedClasses.value,\n ]}\n style={{\n '--v-slider-track-size': convertToUnit(trackSize.value),\n '--v-slider-tick-size': convertToUnit(tickSize.value),\n direction: !vertical.value ? horizontalDirection.value : undefined,\n }}\n >\n <div\n class={[\n 'v-slider-track__background',\n trackColorClasses.value,\n {\n 'v-slider-track__background--opacity': !!color.value || !trackFillColor.value,\n },\n ]}\n style={{\n ...backgroundStyles.value,\n ...trackColorStyles.value,\n }}\n />\n <div\n class={[\n 'v-slider-track__fill',\n trackFillColorClasses.value,\n ]}\n style={{\n ...trackFillStyles.value,\n ...trackFillColorStyles.value,\n }}\n />\n\n { showTicks.value && (\n <div\n class={[\n 'v-slider-track__ticks',\n {\n 'v-slider-track__ticks--always-show': showTicks.value === 'always',\n },\n ]}\n >\n { computedTicks.value }\n </div>\n ) }\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VSliderTrack = InstanceType<typeof VSliderTrack>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VSliderTrack.mjs","names":["VSliderSymbol","useBackgroundColor","useRounded","computed","inject","convertToUnit","defineComponent","useRender","VSliderTrack","name","props","start","type","Number","required","stop","emits","setup","slots","slider","Error","color","horizontalDirection","parsedTicks","rounded","showTicks","tickSize","trackColor","trackFillColor","trackSize","vertical","min","max","roundedClasses","backgroundColorClasses","trackFillColorClasses","backgroundColorStyles","trackFillColorStyles","trackColorClasses","trackColorStyles","startDir","value","endDir","backgroundStyles","trackFillWidth","trackFillStyles","computedTicks","ticks","slice","reverse","map","tick","index","directionProperty","directionValue","position","undefined","label","direction"],"sources":["../../../src/components/VSlider/VSliderTrack.tsx"],"sourcesContent":["// Styles\nimport './VSliderTrack.sass'\n\n// Components\nimport { VSliderSymbol } from './slider'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { useRounded } from '@/composables/rounded'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, defineComponent, useRender } from '@/util'\n\nexport const VSliderTrack = defineComponent({\n name: 'VSliderTrack',\n\n props: {\n start: {\n type: Number,\n required: true,\n },\n stop: {\n type: Number,\n required: true,\n },\n },\n\n emits: {},\n\n setup (props, { slots }) {\n const slider = inject(VSliderSymbol)\n\n if (!slider) throw new Error('[Vuetify] v-slider-track must be inside v-slider or v-range-slider')\n\n const {\n color,\n horizontalDirection,\n parsedTicks,\n rounded,\n showTicks,\n tickSize,\n trackColor,\n trackFillColor,\n trackSize,\n vertical,\n min,\n max,\n } = slider\n\n const { roundedClasses } = useRounded(rounded)\n\n const {\n backgroundColorClasses: trackFillColorClasses,\n backgroundColorStyles: trackFillColorStyles,\n } = useBackgroundColor(trackFillColor)\n\n const {\n backgroundColorClasses: trackColorClasses,\n backgroundColorStyles: trackColorStyles,\n } = useBackgroundColor(trackColor)\n\n const startDir = computed(() => `inset-${vertical.value ? 'block-end' : 'inline-start'}`)\n const endDir = computed(() => vertical.value ? 'height' : 'width')\n\n const backgroundStyles = computed(() => {\n return {\n [startDir.value]: '0%',\n [endDir.value]: '100%',\n }\n })\n\n const trackFillWidth = computed(() => props.stop - props.start)\n\n const trackFillStyles = computed(() => {\n return {\n [startDir.value]: convertToUnit(props.start, '%'),\n [endDir.value]: convertToUnit(trackFillWidth.value, '%'),\n }\n })\n\n const computedTicks = computed(() => {\n const ticks = vertical.value ? parsedTicks.value.slice().reverse() : parsedTicks.value\n\n return ticks.map((tick, index) => {\n const directionProperty = vertical.value ? 'bottom' : 'margin-inline-start'\n const directionValue = tick.value !== min.value && tick.value !== max.value ? convertToUnit(tick.position, '%') : undefined\n\n return (\n <div\n key={ tick.value }\n class={[\n 'v-slider-track__tick',\n {\n 'v-slider-track__tick--filled': tick.position >= props.start && tick.position <= props.stop,\n 'v-slider-track__tick--first': tick.value === min.value,\n 'v-slider-track__tick--last': tick.value === max.value,\n },\n ]}\n style={{ [directionProperty]: directionValue }}\n >\n {\n (tick.label || slots['tick-label']) && (\n <div class=\"v-slider-track__tick-label\">\n { slots['tick-label']?.({ tick, index }) ?? tick.label }\n </div>\n )\n }\n </div>\n )\n })\n })\n\n useRender(() => {\n return (\n <div\n class={[\n 'v-slider-track',\n roundedClasses.value,\n ]}\n style={{\n '--v-slider-track-size': convertToUnit(trackSize.value),\n '--v-slider-tick-size': convertToUnit(tickSize.value),\n direction: !vertical.value ? horizontalDirection.value : undefined,\n }}\n >\n <div\n class={[\n 'v-slider-track__background',\n trackColorClasses.value,\n {\n 'v-slider-track__background--opacity': !!color.value || !trackFillColor.value,\n },\n ]}\n style={{\n ...backgroundStyles.value,\n ...trackColorStyles.value,\n }}\n />\n <div\n class={[\n 'v-slider-track__fill',\n trackFillColorClasses.value,\n ]}\n style={{\n ...trackFillStyles.value,\n ...trackFillColorStyles.value,\n }}\n />\n\n { showTicks.value && (\n <div\n class={[\n 'v-slider-track__ticks',\n {\n 'v-slider-track__ticks--always-show': showTicks.value === 'always',\n },\n ]}\n >\n { computedTicks.value }\n </div>\n ) }\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VSliderTrack = InstanceType<typeof VSliderTrack>\n"],"mappings":";AAAA;AACA,4B,CAEA;;SACSA,a,wBAET;;SACSC,kB;SACAC,U,yCAET;;AACA,SAASC,QAAT,EAAmBC,MAAnB,QAAiC,KAAjC;SACSC,a,EAAeC,e,EAAiBC,S;AAEzC,OAAO,MAAMC,YAAY,GAAGF,eAAe,CAAC;EAC1CG,IAAI,EAAE,cADoC;EAG1CC,KAAK,EAAE;IACLC,KAAK,EAAE;MACLC,IAAI,EAAEC,MADD;MAELC,QAAQ,EAAE;IAFL,CADF;IAKLC,IAAI,EAAE;MACJH,IAAI,EAAEC,MADF;MAEJC,QAAQ,EAAE;IAFN;EALD,CAHmC;EAc1CE,KAAK,EAAE,EAdmC;;EAgB1CC,KAAK,CAAEP,KAAF,QAAoB;IAAA,IAAX;MAAEQ;IAAF,CAAW;IACvB,MAAMC,MAAM,GAAGf,MAAM,CAACJ,aAAD,CAArB;IAEA,IAAI,CAACmB,MAAL,EAAa,MAAM,IAAIC,KAAJ,CAAU,oEAAV,CAAN;IAEb,MAAM;MACJC,KADI;MAEJC,mBAFI;MAGJC,WAHI;MAIJC,OAJI;MAKJC,SALI;MAMJC,QANI;MAOJC,UAPI;MAQJC,cARI;MASJC,SATI;MAUJC,QAVI;MAWJC,GAXI;MAYJC;IAZI,IAaFb,MAbJ;IAeA,MAAM;MAAEc;IAAF,IAAqB/B,UAAU,CAACsB,OAAD,CAArC;IAEA,MAAM;MACJU,sBAAsB,EAAEC,qBADpB;MAEJC,qBAAqB,EAAEC;IAFnB,IAGFpC,kBAAkB,CAAC2B,cAAD,CAHtB;IAKA,MAAM;MACJM,sBAAsB,EAAEI,iBADpB;MAEJF,qBAAqB,EAAEG;IAFnB,IAGFtC,kBAAkB,CAAC0B,UAAD,CAHtB;IAKA,MAAMa,QAAQ,GAAGrC,QAAQ,CAAC,MAAO,SAAQ2B,QAAQ,CAACW,KAAT,GAAiB,WAAjB,GAA+B,cAAe,EAA9D,CAAzB;IACA,MAAMC,MAAM,GAAGvC,QAAQ,CAAC,MAAM2B,QAAQ,CAACW,KAAT,GAAiB,QAAjB,GAA4B,OAAnC,CAAvB;IAEA,MAAME,gBAAgB,GAAGxC,QAAQ,CAAC,MAAM;MACtC,OAAO;QACL,CAACqC,QAAQ,CAACC,KAAV,GAAkB,IADb;QAEL,CAACC,MAAM,CAACD,KAAR,GAAgB;MAFX,CAAP;IAID,CALgC,CAAjC;IAOA,MAAMG,cAAc,GAAGzC,QAAQ,CAAC,MAAMO,KAAK,CAACK,IAAN,GAAaL,KAAK,CAACC,KAA1B,CAA/B;IAEA,MAAMkC,eAAe,GAAG1C,QAAQ,CAAC,MAAM;MACrC,OAAO;QACL,CAACqC,QAAQ,CAACC,KAAV,GAAkBpC,aAAa,CAACK,KAAK,CAACC,KAAP,EAAc,GAAd,CAD1B;QAEL,CAAC+B,MAAM,CAACD,KAAR,GAAgBpC,aAAa,CAACuC,cAAc,CAACH,KAAhB,EAAuB,GAAvB;MAFxB,CAAP;IAID,CAL+B,CAAhC;IAOA,MAAMK,aAAa,GAAG3C,QAAQ,CAAC,MAAM;MACnC,MAAM4C,KAAK,GAAGjB,QAAQ,CAACW,KAAT,GAAiBlB,WAAW,CAACkB,KAAZ,CAAkBO,KAAlB,GAA0BC,OAA1B,EAAjB,GAAuD1B,WAAW,CAACkB,KAAjF;MAEA,OAAOM,KAAK,CAACG,GAAN,CAAU,CAACC,IAAD,EAAOC,KAAP,KAAiB;QAAA;;QAChC,MAAMC,iBAAiB,GAAGvB,QAAQ,CAACW,KAAT,GAAiB,QAAjB,GAA4B,qBAAtD;QACA,MAAMa,cAAc,GAAGH,IAAI,CAACV,KAAL,KAAeV,GAAG,CAACU,KAAnB,IAA4BU,IAAI,CAACV,KAAL,KAAeT,GAAG,CAACS,KAA/C,GAAuDpC,aAAa,CAAC8C,IAAI,CAACI,QAAN,EAAgB,GAAhB,CAApE,GAA2FC,SAAlH;QAEA;UAAA,OAEUL,IAAI,CAACV,KAFf;UAAA,SAGW,CACL,sBADK,EAEL;YACE,gCAAgCU,IAAI,CAACI,QAAL,IAAiB7C,KAAK,CAACC,KAAvB,IAAgCwC,IAAI,CAACI,QAAL,IAAiB7C,KAAK,CAACK,IADzF;YAEE,+BAA+BoC,IAAI,CAACV,KAAL,KAAeV,GAAG,CAACU,KAFpD;YAGE,8BAA8BU,IAAI,CAACV,KAAL,KAAeT,GAAG,CAACS;UAHnD,CAFK,CAHX;UAAA,SAWW;YAAE,CAACY,iBAAD,GAAqBC;UAAvB;QAXX,IAcM,CAACH,IAAI,CAACM,KAAL,IAAcvC,KAAK,CAAC,YAAD,CAApB;UAAA,SACa;QADb,IAEM,qBAAAA,KAAK,CAAC,YAAD,CAAL,2CAAAA,KAAK,EAAiB;UAAEiC,IAAF;UAAQC;QAAR,CAAjB,CAAL,KAA0CD,IAAI,CAACM,KAFrD,EAdN;MAsBD,CA1BM,CAAP;IA2BD,CA9B6B,CAA9B;IAgCAlD,SAAS,CAAC,MAAM;MACd;QAAA,SAEW,CACL,gBADK,EAEL0B,cAAc,CAACQ,KAFV,CAFX;QAAA,SAMW;UACL,yBAAyBpC,aAAa,CAACwB,SAAS,CAACY,KAAX,CADjC;UAEL,wBAAwBpC,aAAa,CAACqB,QAAQ,CAACe,KAAV,CAFhC;UAGLiB,SAAS,EAAE,CAAC5B,QAAQ,CAACW,KAAV,GAAkBnB,mBAAmB,CAACmB,KAAtC,GAA8Ce;QAHpD;MANX;QAAA,SAaa,CACL,4BADK,EAELlB,iBAAiB,CAACG,KAFb,EAGL;UACE,uCAAuC,CAAC,CAACpB,KAAK,CAACoB,KAAR,IAAiB,CAACb,cAAc,CAACa;QAD1E,CAHK,CAbb;QAAA,SAoBa,EACL,GAAGE,gBAAgB,CAACF,KADf;UAEL,GAAGF,gBAAgB,CAACE;QAFf;MApBb;QAAA,SA0Ba,CACL,sBADK,EAELN,qBAAqB,CAACM,KAFjB,CA1Bb;QAAA,SA8Ba,EACL,GAAGI,eAAe,CAACJ,KADd;UAEL,GAAGJ,oBAAoB,CAACI;QAFnB;MA9Bb,UAoCMhB,SAAS,CAACgB,KAAV;QAAA,SAES,CACL,uBADK,EAEL;UACE,sCAAsChB,SAAS,CAACgB,KAAV,KAAoB;QAD5D,CAFK;MAFT,IASIK,aAAa,CAACL,KATlB,EApCN;IAkDD,CAnDQ,CAAT;IAqDA,OAAO,EAAP;EACD;;AAzJyC,CAAD,CAApC"}
@@ -47,14 +47,14 @@
47
47
  height: var(--v-slider-tick-size)
48
48
  transform: translate(calc(var(--v-slider-tick-size) / -2), calc(var(--v-slider-tick-size) / -2))
49
49
 
50
- &:first-child .v-slider-track__tick-label
50
+ &--first .v-slider-track__tick-label
51
51
  @include tools.ltr()
52
52
  transform: none
53
53
 
54
54
  @include tools.rtl()
55
55
  transform: translateX(100%)
56
56
 
57
- &:last-child .v-slider-track__tick-label
57
+ &--last .v-slider-track__tick-label
58
58
  @include tools.ltr()
59
59
  transform: translateX(-100%)
60
60
 
@@ -87,7 +87,16 @@
87
87
  @include tools.rtl()
88
88
  transform: translate(calc(var(--v-slider-tick-size) / 2), calc(var(--v-slider-tick-size) / -2))
89
89
 
90
- &:first-child
90
+ .v-slider-track__tick-label
91
+ margin-top: calc(var(--v-slider-track-size) / 2 + #{$slider-tick-label-margin-top})
92
+
93
+ @include tools.ltr()
94
+ transform: translateX(-50%)
95
+
96
+ @include tools.rtl()
97
+ transform: translateX(50%)
98
+
99
+ &--first
91
100
  margin-inline-start: calc(var(--v-slider-tick-size) + 1px)
92
101
 
93
102
  .v-slider-track__tick-label
@@ -97,7 +106,7 @@
97
106
  @include tools.rtl()
98
107
  transform: translateX(0%)
99
108
 
100
- &:last-child
109
+ &--last
101
110
  margin-inline-start: calc(100% - var(--v-slider-tick-size) - 1px)
102
111
 
103
112
  .v-slider-track__tick-label
@@ -107,15 +116,6 @@
107
116
  @include tools.rtl()
108
117
  transform: translateX(100%)
109
118
 
110
- .v-slider-track__tick-label
111
- margin-top: calc(var(--v-slider-track-size) / 2 + #{$slider-tick-label-margin-top})
112
-
113
- @include tools.ltr()
114
- transform: translateX(-50%)
115
-
116
- @include tools.rtl()
117
- transform: translateX(50%)
118
-
119
119
  // Vertical
120
120
  .v-slider.v-input--vertical
121
121
  .v-slider-track
@@ -141,7 +141,7 @@
141
141
  @include tools.rtl()
142
142
  transform: translate(calc(var(--v-slider-tick-size) / 2), calc(var(--v-slider-tick-size) / 2))
143
143
 
144
- &:last-child
144
+ &--last
145
145
  bottom: calc(0% + var(--v-slider-tick-size) + 1px)
146
146
 
147
147
  .v-slider-track__tick-label
@@ -1,9 +1,9 @@
1
1
  @use '../../styles/settings';
2
2
  @use '../../styles/tools';
3
3
 
4
- $slider-horizontal-left: 8px !default;
4
+ $slider-horizontal-start: 8px !default;
5
5
  $slider-horizontal-min-height: 32px !default;
6
- $slider-horizontal-right: 8px !default;
6
+ $slider-horizontal-end: 8px !default;
7
7
  $slider-label-margin-end: 12px !default;
8
8
  $slider-label-margin-start: 12px !default;
9
9
  $slider-state-track-background-opacity: 0.4 !default;