@vuetify/nightly 3.9.2-master.2025-07-23 → 3.9.2-master.2025-07-25

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 (246) hide show
  1. package/CHANGELOG.md +15 -3
  2. package/dist/_component-variables-labs.sass +3 -1
  3. package/dist/json/attributes.json +4029 -3617
  4. package/dist/json/importMap-labs.json +38 -14
  5. package/dist/json/importMap.json +148 -148
  6. package/dist/json/tags.json +133 -0
  7. package/dist/json/web-types.json +13484 -11867
  8. package/dist/vuetify-labs.cjs +1525 -126
  9. package/dist/vuetify-labs.css +5448 -5007
  10. package/dist/vuetify-labs.d.ts +7670 -974
  11. package/dist/vuetify-labs.esm.js +1526 -127
  12. package/dist/vuetify-labs.esm.js.map +1 -1
  13. package/dist/vuetify-labs.js +1525 -126
  14. package/dist/vuetify-labs.min.css +2 -2
  15. package/dist/vuetify.cjs +74 -34
  16. package/dist/vuetify.cjs.map +1 -1
  17. package/dist/vuetify.css +3415 -3415
  18. package/dist/vuetify.d.ts +86 -61
  19. package/dist/vuetify.esm.js +74 -34
  20. package/dist/vuetify.esm.js.map +1 -1
  21. package/dist/vuetify.js +74 -34
  22. package/dist/vuetify.js.map +1 -1
  23. package/dist/vuetify.min.css +2 -2
  24. package/dist/vuetify.min.js +976 -977
  25. package/dist/vuetify.min.js.map +1 -1
  26. package/lib/components/VBottomSheet/VBottomSheet.d.ts +6 -6
  27. package/lib/components/VDialog/VDialog.d.ts +6 -6
  28. package/lib/components/VOverlay/VOverlay.js +1 -0
  29. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  30. package/lib/components/VOverlay/locationStrategies.js +16 -10
  31. package/lib/components/VOverlay/locationStrategies.js.map +1 -1
  32. package/lib/components/VOverlay/scrollStrategies.d.ts +1 -0
  33. package/lib/components/VOverlay/scrollStrategies.js +6 -4
  34. package/lib/components/VOverlay/scrollStrategies.js.map +1 -1
  35. package/lib/components/VRangeSlider/VRangeSlider.d.ts +13 -0
  36. package/lib/components/VSlider/VSlider.d.ts +13 -0
  37. package/lib/components/VSlider/VSlider.js +3 -1
  38. package/lib/components/VSlider/VSlider.js.map +1 -1
  39. package/lib/components/VSlider/VSliderThumb.d.ts +13 -0
  40. package/lib/components/VSlider/VSliderThumb.js +2 -0
  41. package/lib/components/VSlider/VSliderThumb.js.map +1 -1
  42. package/lib/components/VSlider/slider.d.ts +6 -0
  43. package/lib/components/VSlider/slider.js +2 -0
  44. package/lib/components/VSlider/slider.js.map +1 -1
  45. package/lib/components/index.js +2 -2
  46. package/lib/components/index.js.map +1 -1
  47. package/lib/composables/goto.d.ts +3 -2
  48. package/lib/composables/goto.js +2 -16
  49. package/lib/composables/goto.js.map +1 -1
  50. package/lib/composables/reveal.d.ts +36 -0
  51. package/lib/composables/reveal.js +30 -0
  52. package/lib/composables/reveal.js.map +1 -0
  53. package/lib/entry-bundler.js +1 -1
  54. package/lib/framework.d.ts +142 -133
  55. package/lib/framework.js +1 -1
  56. package/lib/iconsets/fa.js +9 -1
  57. package/lib/iconsets/fa.js.map +1 -1
  58. package/lib/iconsets/fa4.js +9 -1
  59. package/lib/iconsets/fa4.js.map +1 -1
  60. package/lib/iconsets/md.js +9 -1
  61. package/lib/iconsets/md.js.map +1 -1
  62. package/lib/iconsets/mdi-svg.js +9 -1
  63. package/lib/iconsets/mdi-svg.js.map +1 -1
  64. package/lib/iconsets/mdi.js +9 -1
  65. package/lib/iconsets/mdi.js.map +1 -1
  66. package/lib/labs/VPie/VPie.css +105 -0
  67. package/lib/labs/VPie/VPie.d.ts +891 -0
  68. package/lib/labs/VPie/VPie.js +291 -0
  69. package/lib/labs/VPie/VPie.js.map +1 -0
  70. package/lib/labs/VPie/VPie.sass +109 -0
  71. package/lib/labs/VPie/VPieSegment.d.ts +310 -0
  72. package/lib/labs/VPie/VPieSegment.js +103 -0
  73. package/lib/labs/VPie/VPieSegment.js.map +1 -0
  74. package/lib/labs/VPie/VPieTooltip.d.ts +279 -0
  75. package/lib/labs/VPie/VPieTooltip.js +84 -0
  76. package/lib/labs/VPie/VPieTooltip.js.map +1 -0
  77. package/lib/labs/VPie/_variables.scss +11 -0
  78. package/lib/labs/VPie/index.d.ts +3 -0
  79. package/lib/labs/VPie/index.js +4 -0
  80. package/lib/labs/VPie/index.js.map +1 -0
  81. package/lib/labs/VPie/types.d.ts +16 -0
  82. package/lib/labs/VPie/types.js +2 -0
  83. package/lib/labs/VPie/types.js.map +1 -0
  84. package/lib/labs/VPie/utils.d.ts +23 -0
  85. package/lib/labs/VPie/utils.js +49 -0
  86. package/lib/labs/VPie/utils.js.map +1 -0
  87. package/lib/labs/VVideo/VVideo.css +322 -0
  88. package/lib/labs/VVideo/VVideo.d.ts +6932 -0
  89. package/lib/labs/VVideo/VVideo.js +424 -0
  90. package/lib/labs/VVideo/VVideo.js.map +1 -0
  91. package/lib/labs/VVideo/VVideo.sass +304 -0
  92. package/lib/labs/VVideo/VVideoControls.d.ts +3524 -0
  93. package/lib/labs/VVideo/VVideoControls.js +236 -0
  94. package/lib/labs/VVideo/VVideoControls.js.map +1 -0
  95. package/lib/labs/VVideo/VVideoVolume.d.ts +3088 -0
  96. package/lib/labs/VVideo/VVideoVolume.js +94 -0
  97. package/lib/labs/VVideo/VVideoVolume.js.map +1 -0
  98. package/lib/labs/VVideo/_variables.scss +58 -0
  99. package/lib/labs/VVideo/index.d.ts +3 -0
  100. package/lib/labs/VVideo/index.js +4 -0
  101. package/lib/labs/VVideo/index.js.map +1 -0
  102. package/lib/labs/components.d.ts +2 -0
  103. package/lib/labs/components.js +2 -0
  104. package/lib/labs/components.js.map +1 -1
  105. package/lib/locale/af.d.ts +11 -0
  106. package/lib/locale/af.js +11 -0
  107. package/lib/locale/af.js.map +1 -1
  108. package/lib/locale/ar.d.ts +11 -0
  109. package/lib/locale/ar.js +11 -0
  110. package/lib/locale/ar.js.map +1 -1
  111. package/lib/locale/az.d.ts +11 -0
  112. package/lib/locale/az.js +11 -0
  113. package/lib/locale/az.js.map +1 -1
  114. package/lib/locale/bg.d.ts +11 -0
  115. package/lib/locale/bg.js +11 -0
  116. package/lib/locale/bg.js.map +1 -1
  117. package/lib/locale/ca.d.ts +11 -0
  118. package/lib/locale/ca.js +11 -0
  119. package/lib/locale/ca.js.map +1 -1
  120. package/lib/locale/ckb.d.ts +11 -0
  121. package/lib/locale/ckb.js +11 -0
  122. package/lib/locale/ckb.js.map +1 -1
  123. package/lib/locale/cs.d.ts +11 -0
  124. package/lib/locale/cs.js +11 -0
  125. package/lib/locale/cs.js.map +1 -1
  126. package/lib/locale/da.d.ts +11 -0
  127. package/lib/locale/da.js +11 -0
  128. package/lib/locale/da.js.map +1 -1
  129. package/lib/locale/de.d.ts +11 -0
  130. package/lib/locale/de.js +11 -0
  131. package/lib/locale/de.js.map +1 -1
  132. package/lib/locale/el.d.ts +11 -0
  133. package/lib/locale/el.js +11 -0
  134. package/lib/locale/el.js.map +1 -1
  135. package/lib/locale/en.d.ts +11 -0
  136. package/lib/locale/en.js +11 -0
  137. package/lib/locale/en.js.map +1 -1
  138. package/lib/locale/es.d.ts +11 -0
  139. package/lib/locale/es.js +11 -0
  140. package/lib/locale/es.js.map +1 -1
  141. package/lib/locale/et.d.ts +11 -0
  142. package/lib/locale/et.js +11 -0
  143. package/lib/locale/et.js.map +1 -1
  144. package/lib/locale/fa.d.ts +11 -0
  145. package/lib/locale/fa.js +11 -0
  146. package/lib/locale/fa.js.map +1 -1
  147. package/lib/locale/fi.d.ts +11 -0
  148. package/lib/locale/fi.js +11 -0
  149. package/lib/locale/fi.js.map +1 -1
  150. package/lib/locale/fr.d.ts +11 -0
  151. package/lib/locale/fr.js +11 -0
  152. package/lib/locale/fr.js.map +1 -1
  153. package/lib/locale/he.d.ts +11 -0
  154. package/lib/locale/he.js +11 -0
  155. package/lib/locale/he.js.map +1 -1
  156. package/lib/locale/hr.d.ts +11 -0
  157. package/lib/locale/hr.js +11 -0
  158. package/lib/locale/hr.js.map +1 -1
  159. package/lib/locale/hu.d.ts +11 -0
  160. package/lib/locale/hu.js +11 -0
  161. package/lib/locale/hu.js.map +1 -1
  162. package/lib/locale/id.d.ts +11 -0
  163. package/lib/locale/id.js +11 -0
  164. package/lib/locale/id.js.map +1 -1
  165. package/lib/locale/it.d.ts +11 -0
  166. package/lib/locale/it.js +11 -0
  167. package/lib/locale/it.js.map +1 -1
  168. package/lib/locale/ja.d.ts +11 -0
  169. package/lib/locale/ja.js +11 -0
  170. package/lib/locale/ja.js.map +1 -1
  171. package/lib/locale/km.d.ts +11 -0
  172. package/lib/locale/km.js +11 -0
  173. package/lib/locale/km.js.map +1 -1
  174. package/lib/locale/ko.d.ts +11 -0
  175. package/lib/locale/ko.js +11 -0
  176. package/lib/locale/ko.js.map +1 -1
  177. package/lib/locale/lt.d.ts +11 -0
  178. package/lib/locale/lt.js +11 -0
  179. package/lib/locale/lt.js.map +1 -1
  180. package/lib/locale/lv.d.ts +11 -0
  181. package/lib/locale/lv.js +11 -0
  182. package/lib/locale/lv.js.map +1 -1
  183. package/lib/locale/nl.d.ts +11 -0
  184. package/lib/locale/nl.js +11 -0
  185. package/lib/locale/nl.js.map +1 -1
  186. package/lib/locale/no.d.ts +11 -0
  187. package/lib/locale/no.js +11 -0
  188. package/lib/locale/no.js.map +1 -1
  189. package/lib/locale/pl.d.ts +11 -0
  190. package/lib/locale/pl.js +11 -0
  191. package/lib/locale/pl.js.map +1 -1
  192. package/lib/locale/pt.d.ts +11 -0
  193. package/lib/locale/pt.js +11 -0
  194. package/lib/locale/pt.js.map +1 -1
  195. package/lib/locale/ro.d.ts +11 -0
  196. package/lib/locale/ro.js +11 -0
  197. package/lib/locale/ro.js.map +1 -1
  198. package/lib/locale/ru.d.ts +11 -0
  199. package/lib/locale/ru.js +11 -0
  200. package/lib/locale/ru.js.map +1 -1
  201. package/lib/locale/sk.d.ts +11 -0
  202. package/lib/locale/sk.js +11 -0
  203. package/lib/locale/sk.js.map +1 -1
  204. package/lib/locale/sl.d.ts +11 -0
  205. package/lib/locale/sl.js +11 -0
  206. package/lib/locale/sl.js.map +1 -1
  207. package/lib/locale/sr-Cyrl.d.ts +11 -0
  208. package/lib/locale/sr-Cyrl.js +11 -0
  209. package/lib/locale/sr-Cyrl.js.map +1 -1
  210. package/lib/locale/sr-Latn.d.ts +11 -0
  211. package/lib/locale/sr-Latn.js +11 -0
  212. package/lib/locale/sr-Latn.js.map +1 -1
  213. package/lib/locale/sv.d.ts +11 -0
  214. package/lib/locale/sv.js +11 -0
  215. package/lib/locale/sv.js.map +1 -1
  216. package/lib/locale/th.d.ts +11 -0
  217. package/lib/locale/th.js +11 -0
  218. package/lib/locale/th.js.map +1 -1
  219. package/lib/locale/tr.d.ts +11 -0
  220. package/lib/locale/tr.js +11 -0
  221. package/lib/locale/tr.js.map +1 -1
  222. package/lib/locale/uk.d.ts +11 -0
  223. package/lib/locale/uk.js +11 -0
  224. package/lib/locale/uk.js.map +1 -1
  225. package/lib/locale/vi.d.ts +11 -0
  226. package/lib/locale/vi.js +11 -0
  227. package/lib/locale/vi.js.map +1 -1
  228. package/lib/locale/zh-Hans.d.ts +11 -0
  229. package/lib/locale/zh-Hans.js +11 -0
  230. package/lib/locale/zh-Hans.js.map +1 -1
  231. package/lib/locale/zh-Hant.d.ts +11 -0
  232. package/lib/locale/zh-Hant.js +11 -0
  233. package/lib/locale/zh-Hant.js.map +1 -1
  234. package/lib/util/easing.d.ts +22 -0
  235. package/lib/util/easing.js +53 -0
  236. package/lib/util/easing.js.map +1 -1
  237. package/lib/util/index.d.ts +1 -0
  238. package/lib/util/index.js +1 -0
  239. package/lib/util/index.js.map +1 -1
  240. package/lib/util/svg-arc-corners.d.ts +4 -0
  241. package/lib/util/svg-arc-corners.js +73 -0
  242. package/lib/util/svg-arc-corners.js.map +1 -0
  243. package/lib/util/timeUtils.d.ts +1 -0
  244. package/lib/util/timeUtils.js +4 -0
  245. package/lib/util/timeUtils.js.map +1 -0
  246. package/package.json +1 -1
@@ -0,0 +1,310 @@
1
+ import { easingPatterns } from "../../util/index.js";
2
+ import type { PropType } from 'vue';
3
+ export declare const makeVPieSegmentProps: <Defaults extends {
4
+ reveal?: unknown;
5
+ rotate?: unknown;
6
+ value?: unknown;
7
+ color?: unknown;
8
+ innerCut?: unknown;
9
+ hoverScale?: unknown;
10
+ gap?: unknown;
11
+ rounded?: unknown;
12
+ animation?: unknown;
13
+ pattern?: unknown;
14
+ hideSlice?: unknown;
15
+ } = {}>(defaults?: Defaults | undefined) => {
16
+ reveal: unknown extends Defaults["reveal"] ? {
17
+ type: PropType<boolean | {
18
+ duration?: number;
19
+ }>;
20
+ default: boolean;
21
+ } : Omit<{
22
+ type: PropType<boolean | {
23
+ duration?: number;
24
+ }>;
25
+ default: boolean;
26
+ }, "type" | "default"> & {
27
+ type: PropType<unknown extends Defaults["reveal"] ? boolean | {
28
+ duration?: number;
29
+ } : boolean | {
30
+ duration?: number;
31
+ } | Defaults["reveal"]>;
32
+ default: unknown extends Defaults["reveal"] ? boolean | {
33
+ duration?: number;
34
+ } : NonNullable<boolean | {
35
+ duration?: number;
36
+ }> | Defaults["reveal"];
37
+ };
38
+ rotate: unknown extends Defaults["rotate"] ? (StringConstructor | NumberConstructor)[] : {
39
+ type: PropType<unknown extends Defaults["rotate"] ? string | number : string | number | Defaults["rotate"]>;
40
+ default: unknown extends Defaults["rotate"] ? string | number : NonNullable<string | number> | Defaults["rotate"];
41
+ };
42
+ value: unknown extends Defaults["value"] ? {
43
+ type: NumberConstructor;
44
+ default: number;
45
+ } : Omit<{
46
+ type: NumberConstructor;
47
+ default: number;
48
+ }, "type" | "default"> & {
49
+ type: PropType<unknown extends Defaults["value"] ? number : number | Defaults["value"]>;
50
+ default: unknown extends Defaults["value"] ? number : number | Defaults["value"];
51
+ };
52
+ color: unknown extends Defaults["color"] ? StringConstructor : {
53
+ type: PropType<unknown extends Defaults["color"] ? string : string | Defaults["color"]>;
54
+ default: unknown extends Defaults["color"] ? string : string | Defaults["color"];
55
+ };
56
+ innerCut: unknown extends Defaults["innerCut"] ? (StringConstructor | NumberConstructor)[] : {
57
+ type: PropType<unknown extends Defaults["innerCut"] ? string | number : string | number | Defaults["innerCut"]>;
58
+ default: unknown extends Defaults["innerCut"] ? string | number : NonNullable<string | number> | Defaults["innerCut"];
59
+ };
60
+ hoverScale: unknown extends Defaults["hoverScale"] ? {
61
+ type: (StringConstructor | NumberConstructor)[];
62
+ default: number;
63
+ } : Omit<{
64
+ type: (StringConstructor | NumberConstructor)[];
65
+ default: number;
66
+ }, "type" | "default"> & {
67
+ type: PropType<unknown extends Defaults["hoverScale"] ? string | number : string | number | Defaults["hoverScale"]>;
68
+ default: unknown extends Defaults["hoverScale"] ? string | number : NonNullable<string | number> | Defaults["hoverScale"];
69
+ };
70
+ gap: unknown extends Defaults["gap"] ? (StringConstructor | NumberConstructor)[] : {
71
+ type: PropType<unknown extends Defaults["gap"] ? string | number : string | number | Defaults["gap"]>;
72
+ default: unknown extends Defaults["gap"] ? string | number : NonNullable<string | number> | Defaults["gap"];
73
+ };
74
+ rounded: unknown extends Defaults["rounded"] ? (StringConstructor | NumberConstructor)[] : {
75
+ type: PropType<unknown extends Defaults["rounded"] ? string | number : string | number | Defaults["rounded"]>;
76
+ default: unknown extends Defaults["rounded"] ? string | number : NonNullable<string | number> | Defaults["rounded"];
77
+ };
78
+ animation: unknown extends Defaults["animation"] ? {
79
+ type: PropType<boolean | {
80
+ duration?: number;
81
+ easing?: keyof typeof easingPatterns;
82
+ }>;
83
+ default: boolean;
84
+ } : Omit<{
85
+ type: PropType<boolean | {
86
+ duration?: number;
87
+ easing?: keyof typeof easingPatterns;
88
+ }>;
89
+ default: boolean;
90
+ }, "type" | "default"> & {
91
+ type: PropType<unknown extends Defaults["animation"] ? boolean | {
92
+ duration?: number;
93
+ easing?: keyof typeof easingPatterns;
94
+ } : boolean | {
95
+ duration?: number;
96
+ easing?: keyof typeof easingPatterns;
97
+ } | Defaults["animation"]>;
98
+ default: unknown extends Defaults["animation"] ? boolean | {
99
+ duration?: number;
100
+ easing?: keyof typeof easingPatterns;
101
+ } : Defaults["animation"] | NonNullable<boolean | {
102
+ duration?: number;
103
+ easing?: keyof typeof easingPatterns;
104
+ }>;
105
+ };
106
+ pattern: unknown extends Defaults["pattern"] ? StringConstructor : {
107
+ type: PropType<unknown extends Defaults["pattern"] ? string : string | Defaults["pattern"]>;
108
+ default: unknown extends Defaults["pattern"] ? string : string | Defaults["pattern"];
109
+ };
110
+ hideSlice: unknown extends Defaults["hideSlice"] ? BooleanConstructor : {
111
+ type: PropType<unknown extends Defaults["hideSlice"] ? boolean : boolean | Defaults["hideSlice"]>;
112
+ default: unknown extends Defaults["hideSlice"] ? boolean : boolean | Defaults["hideSlice"];
113
+ };
114
+ };
115
+ export declare const VPieSegment: {
116
+ new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{
117
+ animation: boolean | {
118
+ duration?: number;
119
+ easing?: keyof typeof easingPatterns;
120
+ };
121
+ value: number;
122
+ reveal: boolean | {
123
+ duration?: number;
124
+ };
125
+ hoverScale: string | number;
126
+ hideSlice: boolean;
127
+ } & {
128
+ color?: string | undefined;
129
+ gap?: string | number | undefined;
130
+ rotate?: string | number | undefined;
131
+ pattern?: string | undefined;
132
+ rounded?: string | number | undefined;
133
+ innerCut?: string | number | undefined;
134
+ } & {
135
+ $children?: import("vue").VNodeChild | {
136
+ $stable?: boolean;
137
+ } | {
138
+ default?: (() => import("vue").VNodeChild) | undefined;
139
+ } | (() => import("vue").VNodeChild);
140
+ 'v-slots'?: {
141
+ default?: false | (() => import("vue").VNodeChild) | undefined;
142
+ } | undefined;
143
+ } & {
144
+ "v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined;
145
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, {
146
+ animation: boolean | {
147
+ duration?: number;
148
+ easing?: keyof typeof easingPatterns;
149
+ };
150
+ value: number;
151
+ reveal: boolean | {
152
+ duration?: number;
153
+ };
154
+ hoverScale: string | number;
155
+ hideSlice: boolean;
156
+ }, true, {}, import("vue").SlotsType<Partial<{
157
+ default: () => import("vue").VNode[];
158
+ }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
159
+ P: {};
160
+ B: {};
161
+ D: {};
162
+ C: {};
163
+ M: {};
164
+ Defaults: {};
165
+ }, {
166
+ animation: boolean | {
167
+ duration?: number;
168
+ easing?: keyof typeof easingPatterns;
169
+ };
170
+ value: number;
171
+ reveal: boolean | {
172
+ duration?: number;
173
+ };
174
+ hoverScale: string | number;
175
+ hideSlice: boolean;
176
+ } & {
177
+ color?: string | undefined;
178
+ gap?: string | number | undefined;
179
+ rotate?: string | number | undefined;
180
+ pattern?: string | undefined;
181
+ rounded?: string | number | undefined;
182
+ innerCut?: string | number | undefined;
183
+ } & {
184
+ $children?: import("vue").VNodeChild | {
185
+ $stable?: boolean;
186
+ } | {
187
+ default?: (() => import("vue").VNodeChild) | undefined;
188
+ } | (() => import("vue").VNodeChild);
189
+ 'v-slots'?: {
190
+ default?: false | (() => import("vue").VNodeChild) | undefined;
191
+ } | undefined;
192
+ } & {
193
+ "v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined;
194
+ }, () => JSX.Element, {}, {}, {}, {
195
+ animation: boolean | {
196
+ duration?: number;
197
+ easing?: keyof typeof easingPatterns;
198
+ };
199
+ value: number;
200
+ reveal: boolean | {
201
+ duration?: number;
202
+ };
203
+ hoverScale: string | number;
204
+ hideSlice: boolean;
205
+ }>;
206
+ __isFragment?: never;
207
+ __isTeleport?: never;
208
+ __isSuspense?: never;
209
+ } & import("vue").ComponentOptionsBase<{
210
+ animation: boolean | {
211
+ duration?: number;
212
+ easing?: keyof typeof easingPatterns;
213
+ };
214
+ value: number;
215
+ reveal: boolean | {
216
+ duration?: number;
217
+ };
218
+ hoverScale: string | number;
219
+ hideSlice: boolean;
220
+ } & {
221
+ color?: string | undefined;
222
+ gap?: string | number | undefined;
223
+ rotate?: string | number | undefined;
224
+ pattern?: string | undefined;
225
+ rounded?: string | number | undefined;
226
+ innerCut?: string | number | undefined;
227
+ } & {
228
+ $children?: import("vue").VNodeChild | {
229
+ $stable?: boolean;
230
+ } | {
231
+ default?: (() => import("vue").VNodeChild) | undefined;
232
+ } | (() => import("vue").VNodeChild);
233
+ 'v-slots'?: {
234
+ default?: false | (() => import("vue").VNodeChild) | undefined;
235
+ } | undefined;
236
+ } & {
237
+ "v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined;
238
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
239
+ animation: boolean | {
240
+ duration?: number;
241
+ easing?: keyof typeof easingPatterns;
242
+ };
243
+ value: number;
244
+ reveal: boolean | {
245
+ duration?: number;
246
+ };
247
+ hoverScale: string | number;
248
+ hideSlice: boolean;
249
+ }, {}, string, import("vue").SlotsType<Partial<{
250
+ default: () => import("vue").VNode[];
251
+ }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("../../util/index.js").FilterPropsOptions<{
252
+ reveal: {
253
+ type: PropType<boolean | {
254
+ duration?: number;
255
+ }>;
256
+ default: boolean;
257
+ };
258
+ rotate: (StringConstructor | NumberConstructor)[];
259
+ value: {
260
+ type: NumberConstructor;
261
+ default: number;
262
+ };
263
+ color: StringConstructor;
264
+ innerCut: (StringConstructor | NumberConstructor)[];
265
+ hoverScale: {
266
+ type: (StringConstructor | NumberConstructor)[];
267
+ default: number;
268
+ };
269
+ gap: (StringConstructor | NumberConstructor)[];
270
+ rounded: (StringConstructor | NumberConstructor)[];
271
+ animation: {
272
+ type: PropType<boolean | {
273
+ duration?: number;
274
+ easing?: keyof typeof easingPatterns;
275
+ }>;
276
+ default: boolean;
277
+ };
278
+ pattern: StringConstructor;
279
+ hideSlice: BooleanConstructor;
280
+ }, import("vue").ExtractPropTypes<{
281
+ reveal: {
282
+ type: PropType<boolean | {
283
+ duration?: number;
284
+ }>;
285
+ default: boolean;
286
+ };
287
+ rotate: (StringConstructor | NumberConstructor)[];
288
+ value: {
289
+ type: NumberConstructor;
290
+ default: number;
291
+ };
292
+ color: StringConstructor;
293
+ innerCut: (StringConstructor | NumberConstructor)[];
294
+ hoverScale: {
295
+ type: (StringConstructor | NumberConstructor)[];
296
+ default: number;
297
+ };
298
+ gap: (StringConstructor | NumberConstructor)[];
299
+ rounded: (StringConstructor | NumberConstructor)[];
300
+ animation: {
301
+ type: PropType<boolean | {
302
+ duration?: number;
303
+ easing?: keyof typeof easingPatterns;
304
+ }>;
305
+ default: boolean;
306
+ };
307
+ pattern: StringConstructor;
308
+ hideSlice: BooleanConstructor;
309
+ }>>;
310
+ export type VPieSegment = InstanceType<typeof VPieSegment>;
@@ -0,0 +1,103 @@
1
+ import { createElementVNode as _createElementVNode } from "vue";
2
+ // Composables
3
+ import { makeRevealProps, useReveal } from "../../composables/reveal.js"; // Utilities
4
+ import { computed, shallowRef, toRef } from 'vue';
5
+ import { useInnerSlicePath, useOuterSlicePath, usePieArc } from "./utils.js";
6
+ import { easingPatterns, genericComponent, propsFactory, useTransition } from "../../util/index.js"; // Types
7
+ export const makeVPieSegmentProps = propsFactory({
8
+ rotate: [Number, String],
9
+ value: {
10
+ type: Number,
11
+ default: 0
12
+ },
13
+ color: String,
14
+ innerCut: [Number, String],
15
+ hoverScale: {
16
+ type: [Number, String],
17
+ default: 0.05
18
+ },
19
+ gap: [Number, String],
20
+ rounded: [Number, String],
21
+ animation: {
22
+ type: [Boolean, Object],
23
+ default: false
24
+ },
25
+ pattern: String,
26
+ hideSlice: Boolean,
27
+ ...makeRevealProps()
28
+ }, 'VPieSegment');
29
+ export const VPieSegment = genericComponent()({
30
+ name: 'VPieSegment',
31
+ props: makeVPieSegmentProps(),
32
+ setup(props) {
33
+ const isHovering = shallowRef(false);
34
+ const {
35
+ state: revealState,
36
+ duration: revealDuration
37
+ } = useReveal(props);
38
+ const transitionConfig = computed(() => {
39
+ const defaultEasing = 'easeInOutCubic';
40
+ const defaultDuration = 400;
41
+ const easingName = typeof props.animation === 'object' ? props.animation.easing ?? defaultEasing : defaultEasing;
42
+ return {
43
+ duration: ['initial', 'pending'].includes(revealState.value) ? revealDuration.value : typeof props.animation === 'object' ? props.animation.duration : props.animation ? defaultDuration : 0,
44
+ transition: easingPatterns[easingName]
45
+ };
46
+ });
47
+ const {
48
+ hoverZoomRatio,
49
+ normalizedValue,
50
+ normalizedInnerCut,
51
+ outerX,
52
+ outerY,
53
+ arcWidth
54
+ } = usePieArc(props, isHovering);
55
+ const arcSize = toRef(() => revealState.value === 'initial' ? 0 : normalizedValue.value);
56
+ const currentArcSize = useTransition(arcSize, transitionConfig);
57
+ const angle = toRef(() => revealState.value === 'initial' ? 0 : Number(props.rotate ?? 0) + Number(props.gap ?? 0) / 2);
58
+ const currentAngle = useTransition(angle, transitionConfig);
59
+ const arcRadius = toRef(() => 50 * (isHovering.value ? 1 : 1 - hoverZoomRatio.value));
60
+ const currentArcRadius = useTransition(arcRadius, transitionConfig);
61
+ const currentArcWidth = useTransition(arcWidth, transitionConfig);
62
+ const outerSlicePath = useOuterSlicePath({
63
+ angle: currentAngle,
64
+ radius: currentArcRadius,
65
+ size: currentArcSize,
66
+ width: currentArcWidth,
67
+ rounded: () => Number(props.rounded ?? 0)
68
+ });
69
+ const innerSlicePath = useInnerSlicePath({
70
+ angle: currentAngle,
71
+ radius: () => currentArcRadius.value - currentArcWidth.value,
72
+ size: currentArcSize
73
+ });
74
+ const overlayPath = toRef(() => `M 50 0 A 50 50 0 ${normalizedValue.value > 50 ? 1 : 0} 1 ${outerX.value} ${outerY.value} L 50 50`);
75
+ return () => _createElementVNode("g", {
76
+ "class": "v-pie-segment",
77
+ "style": {
78
+ color: props.color
79
+ }
80
+ }, [_createElementVNode("path", {
81
+ "key": "outer-slice",
82
+ "fill": "currentColor",
83
+ "shape-rendering": "geometricPrecision",
84
+ "d": outerSlicePath.value
85
+ }, null), props.pattern && _createElementVNode("path", {
86
+ "key": "pattern-overlay",
87
+ "shape-rendering": "geometricPrecision",
88
+ "fill": props.pattern,
89
+ "d": outerSlicePath.value
90
+ }, null), !props.hideSlice && normalizedInnerCut.value > 0 && _createElementVNode("path", {
91
+ "key": "inner-slice",
92
+ "fill": "oklch(from currentColor l c h / calc(alpha / 2))",
93
+ "d": innerSlicePath.value
94
+ }, null), ['disabled', 'done'].includes(revealState.value) && _createElementVNode("path", {
95
+ "transform": `rotate(${currentAngle.value} 50 50)`,
96
+ "class": "v-pie-segment__overlay",
97
+ "d": overlayPath.value,
98
+ "onMouseenter": () => isHovering.value = true,
99
+ "onMouseleave": () => isHovering.value = false
100
+ }, null)]);
101
+ }
102
+ });
103
+ //# sourceMappingURL=VPieSegment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VPieSegment.js","names":["makeRevealProps","useReveal","computed","shallowRef","toRef","useInnerSlicePath","useOuterSlicePath","usePieArc","easingPatterns","genericComponent","propsFactory","useTransition","makeVPieSegmentProps","rotate","Number","String","value","type","default","color","innerCut","hoverScale","gap","rounded","animation","Boolean","Object","pattern","hideSlice","VPieSegment","name","props","setup","isHovering","state","revealState","duration","revealDuration","transitionConfig","defaultEasing","defaultDuration","easingName","easing","includes","transition","hoverZoomRatio","normalizedValue","normalizedInnerCut","outerX","outerY","arcWidth","arcSize","currentArcSize","angle","currentAngle","arcRadius","currentArcRadius","currentArcWidth","outerSlicePath","radius","size","width","innerSlicePath","overlayPath","_createElementVNode","onMouseenter","onMouseleave"],"sources":["../../../src/labs/VPie/VPieSegment.tsx"],"sourcesContent":["// Composables\nimport { makeRevealProps, useReveal } from '@/composables/reveal'\n\n// Utilities\nimport { computed, shallowRef, toRef } from 'vue'\nimport { useInnerSlicePath, useOuterSlicePath, usePieArc } from './utils'\nimport { easingPatterns, genericComponent, propsFactory, useTransition } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVPieSegmentProps = propsFactory({\n rotate: [Number, String],\n value: {\n type: Number,\n default: 0,\n },\n color: String,\n innerCut: [Number, String],\n hoverScale: {\n type: [Number, String],\n default: 0.05,\n },\n gap: [Number, String],\n rounded: [Number, String],\n animation: {\n type: [Boolean, Object] as PropType<boolean | {\n duration?: number\n easing?: keyof typeof easingPatterns\n }>,\n default: false,\n },\n pattern: String,\n hideSlice: Boolean,\n ...makeRevealProps(),\n}, 'VPieSegment')\n\nexport const VPieSegment = genericComponent()({\n name: 'VPieSegment',\n\n props: makeVPieSegmentProps(),\n\n setup (props) {\n const isHovering = shallowRef(false)\n\n const { state: revealState, duration: revealDuration } = useReveal(props)\n\n const transitionConfig = computed(() => {\n const defaultEasing = 'easeInOutCubic'\n const defaultDuration = 400\n\n const easingName = typeof props.animation === 'object'\n ? props.animation.easing ?? defaultEasing\n : defaultEasing\n\n return {\n duration: ['initial', 'pending'].includes(revealState.value)\n ? revealDuration.value\n : typeof props.animation === 'object'\n ? props.animation.duration\n : (props.animation ? defaultDuration : 0),\n transition: easingPatterns[easingName],\n }\n })\n\n const {\n hoverZoomRatio,\n normalizedValue,\n normalizedInnerCut,\n outerX,\n outerY,\n arcWidth,\n } = usePieArc(props, isHovering)\n\n const arcSize = toRef(() => revealState.value === 'initial' ? 0 : normalizedValue.value)\n const currentArcSize = useTransition(arcSize, transitionConfig)\n\n const angle = toRef(() => revealState.value === 'initial' ? 0 : (Number(props.rotate ?? 0) + Number(props.gap ?? 0) / 2))\n const currentAngle = useTransition(angle, transitionConfig)\n\n const arcRadius = toRef(() => 50 * (isHovering.value ? 1 : (1 - hoverZoomRatio.value)))\n const currentArcRadius = useTransition(arcRadius, transitionConfig)\n const currentArcWidth = useTransition(arcWidth, transitionConfig)\n\n const outerSlicePath = useOuterSlicePath({\n angle: currentAngle,\n radius: currentArcRadius,\n size: currentArcSize,\n width: currentArcWidth,\n rounded: () => Number(props.rounded ?? 0),\n })\n\n const innerSlicePath = useInnerSlicePath({\n angle: currentAngle,\n radius: () => currentArcRadius.value - currentArcWidth.value,\n size: currentArcSize,\n })\n\n const overlayPath = toRef(() => `M 50 0 A 50 50 0 ${normalizedValue.value > 50 ? 1 : 0} 1 ${outerX.value} ${outerY.value} L 50 50`)\n\n return () => (\n <g\n class=\"v-pie-segment\"\n style={{ color: props.color }}\n >\n <path\n key=\"outer-slice\"\n fill=\"currentColor\"\n shape-rendering=\"geometricPrecision\"\n d={ outerSlicePath.value }\n />\n { props.pattern && (\n <path\n key=\"pattern-overlay\"\n shape-rendering=\"geometricPrecision\"\n fill={ props.pattern }\n d={ outerSlicePath.value }\n />\n )}\n { !props.hideSlice && normalizedInnerCut.value > 0 && (\n <path\n key=\"inner-slice\"\n fill=\"oklch(from currentColor l c h / calc(alpha / 2))\"\n d={ innerSlicePath.value }\n />\n )}\n {['disabled', 'done'].includes(revealState.value) && (\n <path\n transform={ `rotate(${currentAngle.value} 50 50)` }\n class=\"v-pie-segment__overlay\"\n d={ overlayPath.value }\n onMouseenter={ () => isHovering.value = true }\n onMouseleave={ () => isHovering.value = false }\n />\n )}\n </g>\n )\n },\n})\n\nexport type VPieSegment = InstanceType<typeof VPieSegment>\n"],"mappings":";AAAA;AAAA,SACSA,eAAe,EAAEC,SAAS,uCAEnC;AACA,SAASC,QAAQ,EAAEC,UAAU,EAAEC,KAAK,QAAQ,KAAK;AAAA,SACxCC,iBAAiB,EAAEC,iBAAiB,EAAEC,SAAS;AAAA,SAC/CC,cAAc,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,aAAa,+BAEtE;AAGA,OAAO,MAAMC,oBAAoB,GAAGF,YAAY,CAAC;EAC/CG,MAAM,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;EACxBC,KAAK,EAAE;IACLC,IAAI,EAAEH,MAAM;IACZI,OAAO,EAAE;EACX,CAAC;EACDC,KAAK,EAAEJ,MAAM;EACbK,QAAQ,EAAE,CAACN,MAAM,EAAEC,MAAM,CAAC;EAC1BM,UAAU,EAAE;IACVJ,IAAI,EAAE,CAACH,MAAM,EAAEC,MAAM,CAAC;IACtBG,OAAO,EAAE;EACX,CAAC;EACDI,GAAG,EAAE,CAACR,MAAM,EAAEC,MAAM,CAAC;EACrBQ,OAAO,EAAE,CAACT,MAAM,EAAEC,MAAM,CAAC;EACzBS,SAAS,EAAE;IACTP,IAAI,EAAE,CAACQ,OAAO,EAAEC,MAAM,CAGpB;IACFR,OAAO,EAAE;EACX,CAAC;EACDS,OAAO,EAAEZ,MAAM;EACfa,SAAS,EAAEH,OAAO;EAClB,GAAGzB,eAAe,CAAC;AACrB,CAAC,EAAE,aAAa,CAAC;AAEjB,OAAO,MAAM6B,WAAW,GAAGpB,gBAAgB,CAAC,CAAC,CAAC;EAC5CqB,IAAI,EAAE,aAAa;EAEnBC,KAAK,EAAEnB,oBAAoB,CAAC,CAAC;EAE7BoB,KAAKA,CAAED,KAAK,EAAE;IACZ,MAAME,UAAU,GAAG9B,UAAU,CAAC,KAAK,CAAC;IAEpC,MAAM;MAAE+B,KAAK,EAAEC,WAAW;MAAEC,QAAQ,EAAEC;IAAe,CAAC,GAAGpC,SAAS,CAAC8B,KAAK,CAAC;IAEzE,MAAMO,gBAAgB,GAAGpC,QAAQ,CAAC,MAAM;MACtC,MAAMqC,aAAa,GAAG,gBAAgB;MACtC,MAAMC,eAAe,GAAG,GAAG;MAE3B,MAAMC,UAAU,GAAG,OAAOV,KAAK,CAACP,SAAS,KAAK,QAAQ,GAClDO,KAAK,CAACP,SAAS,CAACkB,MAAM,IAAIH,aAAa,GACvCA,aAAa;MAEjB,OAAO;QACLH,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAACO,QAAQ,CAACR,WAAW,CAACnB,KAAK,CAAC,GACxDqB,cAAc,CAACrB,KAAK,GACpB,OAAOe,KAAK,CAACP,SAAS,KAAK,QAAQ,GACjCO,KAAK,CAACP,SAAS,CAACY,QAAQ,GACvBL,KAAK,CAACP,SAAS,GAAGgB,eAAe,GAAG,CAAE;QAC7CI,UAAU,EAAEpC,cAAc,CAACiC,UAAU;MACvC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM;MACJI,cAAc;MACdC,eAAe;MACfC,kBAAkB;MAClBC,MAAM;MACNC,MAAM;MACNC;IACF,CAAC,GAAG3C,SAAS,CAACwB,KAAK,EAAEE,UAAU,CAAC;IAEhC,MAAMkB,OAAO,GAAG/C,KAAK,CAAC,MAAM+B,WAAW,CAACnB,KAAK,KAAK,SAAS,GAAG,CAAC,GAAG8B,eAAe,CAAC9B,KAAK,CAAC;IACxF,MAAMoC,cAAc,GAAGzC,aAAa,CAACwC,OAAO,EAAEb,gBAAgB,CAAC;IAE/D,MAAMe,KAAK,GAAGjD,KAAK,CAAC,MAAM+B,WAAW,CAACnB,KAAK,KAAK,SAAS,GAAG,CAAC,GAAIF,MAAM,CAACiB,KAAK,CAAClB,MAAM,IAAI,CAAC,CAAC,GAAGC,MAAM,CAACiB,KAAK,CAACT,GAAG,IAAI,CAAC,CAAC,GAAG,CAAE,CAAC;IACzH,MAAMgC,YAAY,GAAG3C,aAAa,CAAC0C,KAAK,EAAEf,gBAAgB,CAAC;IAE3D,MAAMiB,SAAS,GAAGnD,KAAK,CAAC,MAAM,EAAE,IAAI6B,UAAU,CAACjB,KAAK,GAAG,CAAC,GAAI,CAAC,GAAG6B,cAAc,CAAC7B,KAAM,CAAC,CAAC;IACvF,MAAMwC,gBAAgB,GAAG7C,aAAa,CAAC4C,SAAS,EAAEjB,gBAAgB,CAAC;IACnE,MAAMmB,eAAe,GAAG9C,aAAa,CAACuC,QAAQ,EAAEZ,gBAAgB,CAAC;IAEjE,MAAMoB,cAAc,GAAGpD,iBAAiB,CAAC;MACvC+C,KAAK,EAAEC,YAAY;MACnBK,MAAM,EAAEH,gBAAgB;MACxBI,IAAI,EAAER,cAAc;MACpBS,KAAK,EAAEJ,eAAe;MACtBlC,OAAO,EAAEA,CAAA,KAAMT,MAAM,CAACiB,KAAK,CAACR,OAAO,IAAI,CAAC;IAC1C,CAAC,CAAC;IAEF,MAAMuC,cAAc,GAAGzD,iBAAiB,CAAC;MACvCgD,KAAK,EAAEC,YAAY;MACnBK,MAAM,EAAEA,CAAA,KAAMH,gBAAgB,CAACxC,KAAK,GAAGyC,eAAe,CAACzC,KAAK;MAC5D4C,IAAI,EAAER;IACR,CAAC,CAAC;IAEF,MAAMW,WAAW,GAAG3D,KAAK,CAAC,MAAM,oBAAoB0C,eAAe,CAAC9B,KAAK,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,MAAMgC,MAAM,CAAChC,KAAK,IAAIiC,MAAM,CAACjC,KAAK,UAAU,CAAC;IAEnI,OAAO,MAAAgD,mBAAA;MAAA;MAAA,SAGI;QAAE7C,KAAK,EAAEY,KAAK,CAACZ;MAAM;IAAC,IAAA6C,mBAAA;MAAA;MAAA;MAAA;MAAA,KAMvBN,cAAc,CAAC1C;IAAK,UAExBe,KAAK,CAACJ,OAAO,IAAAqC,mBAAA;MAAA;MAAA;MAAA,QAIJjC,KAAK,CAACJ,OAAO;MAAA,KAChB+B,cAAc,CAAC1C;IAAK,QAE3B,EACC,CAACe,KAAK,CAACH,SAAS,IAAImB,kBAAkB,CAAC/B,KAAK,GAAG,CAAC,IAAAgD,mBAAA;MAAA;MAAA;MAAA,KAI1CF,cAAc,CAAC9C;IAAK,QAE3B,EACA,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC2B,QAAQ,CAACR,WAAW,CAACnB,KAAK,CAAC,IAAAgD,mBAAA;MAAA,aAEjC,UAAUV,YAAY,CAACtC,KAAK,SAAS;MAAA;MAAA,KAE7C+C,WAAW,CAAC/C,KAAK;MAAA,gBACNiD,CAAA,KAAMhC,UAAU,CAACjB,KAAK,GAAG,IAAI;MAAA,gBAC7BkD,CAAA,KAAMjC,UAAU,CAACjB,KAAK,GAAG;IAAK,QAEhD,EAEJ;EACH;AACF,CAAC,CAAC","ignoreList":[]}