@vuetify/nightly 3.6.8-master.2024-06-07 → 3.6.9-master.2024-06-12
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.
- package/CHANGELOG.md +2 -10
- package/dist/json/attributes.json +4 -4
- package/dist/json/importMap-labs.json +12 -12
- package/dist/json/importMap.json +150 -150
- package/dist/json/web-types.json +12 -13
- package/dist/vuetify-labs.css +2651 -2651
- package/dist/vuetify-labs.d.ts +187 -189
- package/dist/vuetify-labs.esm.js +32 -19
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +32 -19
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +1049 -1049
- package/dist/vuetify.d.ts +233 -241
- package/dist/vuetify.esm.js +20 -13
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +20 -13
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +31 -28
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.mts +58 -56
- package/lib/blueprints/md1.d.mts +58 -56
- package/lib/blueprints/md2.d.mts +58 -56
- package/lib/blueprints/md3.d.mts +58 -56
- package/lib/components/VFab/VFab.mjs +4 -7
- package/lib/components/VFab/VFab.mjs.map +1 -1
- package/lib/components/VFab/index.d.mts +46 -49
- package/lib/components/VList/VList.mjs +1 -0
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/index.d.mts +2 -0
- package/lib/components/VMenu/VMenu.mjs +1 -1
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.mjs +4 -3
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/index.d.mts +38 -45
- package/lib/composables/goto.mjs.map +1 -1
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/scroll.mjs +6 -0
- package/lib/composables/scroll.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +161 -162
- package/lib/labs/VStepperVertical/index.d.mts +3 -3
- package/lib/labs/VTimePicker/VTimePickerClock.mjs +3 -1
- package/lib/labs/VTimePicker/VTimePickerClock.mjs.map +1 -1
- package/lib/labs/VTimePicker/VTimePickerControls.mjs +7 -2
- package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeview.mjs +3 -4
- package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
- package/lib/labs/VTreeview/index.d.mts +6 -0
- package/lib/labs/components.d.mts +6 -0
- package/package.json +1 -1
package/lib/entry-bundler.mjs
CHANGED
@@ -16,7 +16,7 @@ export const createVuetify = function () {
|
|
16
16
|
...options
|
17
17
|
});
|
18
18
|
};
|
19
|
-
export const version = "3.6.
|
19
|
+
export const version = "3.6.9-master.2024-06-12";
|
20
20
|
createVuetify.version = version;
|
21
21
|
export { blueprints, components, directives };
|
22
22
|
export * from "./composables/index.mjs";
|
package/lib/framework.mjs
CHANGED
package/lib/index.d.mts
CHANGED
@@ -1,5 +1,55 @@
|
|
1
1
|
import * as vue from 'vue';
|
2
|
-
import { Ref,
|
2
|
+
import { Ref, ComponentPublicInstance, DeepReadonly, JSXComponent, PropType, CSSProperties, App } from 'vue';
|
3
|
+
|
4
|
+
interface LocaleMessages {
|
5
|
+
[key: string]: LocaleMessages | string;
|
6
|
+
}
|
7
|
+
interface LocaleOptions {
|
8
|
+
messages?: LocaleMessages;
|
9
|
+
locale?: string;
|
10
|
+
fallback?: string;
|
11
|
+
adapter?: LocaleInstance;
|
12
|
+
}
|
13
|
+
interface LocaleInstance {
|
14
|
+
name: string;
|
15
|
+
messages: Ref<LocaleMessages>;
|
16
|
+
current: Ref<string>;
|
17
|
+
fallback: Ref<string>;
|
18
|
+
t: (key: string, ...params: unknown[]) => string;
|
19
|
+
n: (value: number) => string;
|
20
|
+
provide: (props: LocaleOptions) => LocaleInstance;
|
21
|
+
}
|
22
|
+
declare function useLocale(): LocaleInstance & RtlInstance;
|
23
|
+
interface RtlOptions {
|
24
|
+
rtl?: Record<string, boolean>;
|
25
|
+
}
|
26
|
+
interface RtlInstance {
|
27
|
+
isRtl: Ref<boolean>;
|
28
|
+
rtl: Ref<Record<string, boolean>>;
|
29
|
+
rtlClasses: Ref<string>;
|
30
|
+
}
|
31
|
+
declare function useRtl(): {
|
32
|
+
isRtl: Ref<boolean>;
|
33
|
+
rtlClasses: Ref<string>;
|
34
|
+
};
|
35
|
+
|
36
|
+
interface GoToInstance {
|
37
|
+
rtl: Ref<boolean>;
|
38
|
+
options: InternalGoToOptions;
|
39
|
+
}
|
40
|
+
interface InternalGoToOptions {
|
41
|
+
container: ComponentPublicInstance | HTMLElement | string;
|
42
|
+
duration: number;
|
43
|
+
layout: boolean;
|
44
|
+
offset: number;
|
45
|
+
easing: string | ((t: number) => number);
|
46
|
+
patterns: Record<string, (t: number) => number>;
|
47
|
+
}
|
48
|
+
type GoToOptions = Partial<InternalGoToOptions>;
|
49
|
+
declare function useGoTo(_options?: GoToOptions): {
|
50
|
+
(target: ComponentPublicInstance | HTMLElement | string | number, options?: Partial<GoToOptions>): Promise<unknown>;
|
51
|
+
horizontal(target: ComponentPublicInstance | HTMLElement | string | number, options?: Partial<GoToOptions>): Promise<unknown>;
|
52
|
+
};
|
3
53
|
|
4
54
|
interface DateAdapter<T = unknown> {
|
5
55
|
date(value?: any): T | null;
|
@@ -46,38 +96,6 @@ interface DateAdapter<T = unknown> {
|
|
46
96
|
setMinutes(date: T, minutes: number): T;
|
47
97
|
}
|
48
98
|
|
49
|
-
interface LocaleMessages {
|
50
|
-
[key: string]: LocaleMessages | string;
|
51
|
-
}
|
52
|
-
interface LocaleOptions {
|
53
|
-
messages?: LocaleMessages;
|
54
|
-
locale?: string;
|
55
|
-
fallback?: string;
|
56
|
-
adapter?: LocaleInstance;
|
57
|
-
}
|
58
|
-
interface LocaleInstance {
|
59
|
-
name: string;
|
60
|
-
messages: Ref<LocaleMessages>;
|
61
|
-
current: Ref<string>;
|
62
|
-
fallback: Ref<string>;
|
63
|
-
t: (key: string, ...params: unknown[]) => string;
|
64
|
-
n: (value: number) => string;
|
65
|
-
provide: (props: LocaleOptions) => LocaleInstance;
|
66
|
-
}
|
67
|
-
declare function useLocale(): LocaleInstance & RtlInstance;
|
68
|
-
interface RtlOptions {
|
69
|
-
rtl?: Record<string, boolean>;
|
70
|
-
}
|
71
|
-
interface RtlInstance {
|
72
|
-
isRtl: Ref<boolean>;
|
73
|
-
rtl: Ref<Record<string, boolean>>;
|
74
|
-
rtlClasses: Ref<string>;
|
75
|
-
}
|
76
|
-
declare function useRtl(): {
|
77
|
-
isRtl: Ref<boolean>;
|
78
|
-
rtlClasses: Ref<string>;
|
79
|
-
};
|
80
|
-
|
81
99
|
interface DateInstance extends DateModule.InternalAdapter {
|
82
100
|
locale?: any;
|
83
101
|
}
|
@@ -157,6 +175,62 @@ interface ThemeInstance {
|
|
157
175
|
}
|
158
176
|
declare function useTheme(): ThemeInstance;
|
159
177
|
|
178
|
+
type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
|
179
|
+
declare const IconValue: PropType<IconValue>;
|
180
|
+
interface IconAliases {
|
181
|
+
[name: string]: IconValue;
|
182
|
+
complete: IconValue;
|
183
|
+
cancel: IconValue;
|
184
|
+
close: IconValue;
|
185
|
+
delete: IconValue;
|
186
|
+
clear: IconValue;
|
187
|
+
success: IconValue;
|
188
|
+
info: IconValue;
|
189
|
+
warning: IconValue;
|
190
|
+
error: IconValue;
|
191
|
+
prev: IconValue;
|
192
|
+
next: IconValue;
|
193
|
+
checkboxOn: IconValue;
|
194
|
+
checkboxOff: IconValue;
|
195
|
+
checkboxIndeterminate: IconValue;
|
196
|
+
delimiter: IconValue;
|
197
|
+
sortAsc: IconValue;
|
198
|
+
sortDesc: IconValue;
|
199
|
+
expand: IconValue;
|
200
|
+
menu: IconValue;
|
201
|
+
subgroup: IconValue;
|
202
|
+
dropdown: IconValue;
|
203
|
+
radioOn: IconValue;
|
204
|
+
radioOff: IconValue;
|
205
|
+
edit: IconValue;
|
206
|
+
ratingEmpty: IconValue;
|
207
|
+
ratingFull: IconValue;
|
208
|
+
ratingHalf: IconValue;
|
209
|
+
loading: IconValue;
|
210
|
+
first: IconValue;
|
211
|
+
last: IconValue;
|
212
|
+
unfold: IconValue;
|
213
|
+
file: IconValue;
|
214
|
+
plus: IconValue;
|
215
|
+
minus: IconValue;
|
216
|
+
calendar: IconValue;
|
217
|
+
}
|
218
|
+
interface IconProps {
|
219
|
+
tag: string;
|
220
|
+
icon?: IconValue;
|
221
|
+
disabled?: Boolean;
|
222
|
+
}
|
223
|
+
type IconComponent = JSXComponent<IconProps>;
|
224
|
+
interface IconSet {
|
225
|
+
component: IconComponent;
|
226
|
+
}
|
227
|
+
type InternalIconOptions = {
|
228
|
+
defaultSet: string;
|
229
|
+
aliases: Partial<IconAliases>;
|
230
|
+
sets: Record<string, IconSet>;
|
231
|
+
};
|
232
|
+
type IconOptions = Partial<InternalIconOptions>;
|
233
|
+
|
160
234
|
declare const breakpoints: readonly ["sm", "md", "lg", "xl", "xxl"];
|
161
235
|
type Breakpoint = typeof breakpoints[number];
|
162
236
|
type DisplayBreakpoint = 'xs' | Breakpoint;
|
@@ -252,78 +326,6 @@ type DefaultsOptions = Partial<DefaultsInstance>;
|
|
252
326
|
declare function useDefaults<T extends Record<string, any>>(props: T, name?: string): T;
|
253
327
|
declare function useDefaults(props?: undefined, name?: string): Record<string, any>;
|
254
328
|
|
255
|
-
interface GoToInstance {
|
256
|
-
rtl: Ref<boolean>;
|
257
|
-
options: GoToOptions;
|
258
|
-
}
|
259
|
-
interface GoToOptions {
|
260
|
-
container: ComponentPublicInstance | HTMLElement | string;
|
261
|
-
duration: number;
|
262
|
-
layout: boolean;
|
263
|
-
offset: number;
|
264
|
-
easing: string | ((t: number) => number);
|
265
|
-
patterns: Record<string, (t: number) => number>;
|
266
|
-
}
|
267
|
-
declare function useGoTo(_options?: Partial<GoToOptions>): {
|
268
|
-
(target: ComponentPublicInstance | HTMLElement | string | number, options?: Partial<GoToOptions>): Promise<unknown>;
|
269
|
-
horizontal(target: ComponentPublicInstance | HTMLElement | string | number, options?: Partial<GoToOptions>): Promise<unknown>;
|
270
|
-
};
|
271
|
-
|
272
|
-
type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
|
273
|
-
declare const IconValue: PropType<IconValue>;
|
274
|
-
interface IconAliases {
|
275
|
-
[name: string]: IconValue;
|
276
|
-
complete: IconValue;
|
277
|
-
cancel: IconValue;
|
278
|
-
close: IconValue;
|
279
|
-
delete: IconValue;
|
280
|
-
clear: IconValue;
|
281
|
-
success: IconValue;
|
282
|
-
info: IconValue;
|
283
|
-
warning: IconValue;
|
284
|
-
error: IconValue;
|
285
|
-
prev: IconValue;
|
286
|
-
next: IconValue;
|
287
|
-
checkboxOn: IconValue;
|
288
|
-
checkboxOff: IconValue;
|
289
|
-
checkboxIndeterminate: IconValue;
|
290
|
-
delimiter: IconValue;
|
291
|
-
sortAsc: IconValue;
|
292
|
-
sortDesc: IconValue;
|
293
|
-
expand: IconValue;
|
294
|
-
menu: IconValue;
|
295
|
-
subgroup: IconValue;
|
296
|
-
dropdown: IconValue;
|
297
|
-
radioOn: IconValue;
|
298
|
-
radioOff: IconValue;
|
299
|
-
edit: IconValue;
|
300
|
-
ratingEmpty: IconValue;
|
301
|
-
ratingFull: IconValue;
|
302
|
-
ratingHalf: IconValue;
|
303
|
-
loading: IconValue;
|
304
|
-
first: IconValue;
|
305
|
-
last: IconValue;
|
306
|
-
unfold: IconValue;
|
307
|
-
file: IconValue;
|
308
|
-
plus: IconValue;
|
309
|
-
minus: IconValue;
|
310
|
-
calendar: IconValue;
|
311
|
-
}
|
312
|
-
interface IconProps {
|
313
|
-
tag: string;
|
314
|
-
icon?: IconValue;
|
315
|
-
disabled?: Boolean;
|
316
|
-
}
|
317
|
-
type IconComponent = JSXComponent<IconProps>;
|
318
|
-
interface IconSet {
|
319
|
-
component: IconComponent;
|
320
|
-
}
|
321
|
-
type IconOptions = {
|
322
|
-
defaultSet?: string;
|
323
|
-
aliases?: Partial<IconAliases>;
|
324
|
-
sets?: Record<string, IconSet>;
|
325
|
-
};
|
326
|
-
|
327
329
|
type Position = 'top' | 'left' | 'right' | 'bottom';
|
328
330
|
interface Layer {
|
329
331
|
top: number;
|
@@ -377,7 +379,7 @@ declare function createVuetify(vuetify?: VuetifyOptions): {
|
|
377
379
|
theme: ThemeInstance & {
|
378
380
|
install: (app: App<any>) => void;
|
379
381
|
};
|
380
|
-
icons:
|
382
|
+
icons: InternalIconOptions;
|
381
383
|
locale: {
|
382
384
|
isRtl: vue.Ref<boolean>;
|
383
385
|
rtl: vue.Ref<Record<string, boolean>>;
|
@@ -438,10 +440,7 @@ declare function createVuetify(vuetify?: VuetifyOptions): {
|
|
438
440
|
setMinutes: (date: unknown, minutes: number) => unknown;
|
439
441
|
};
|
440
442
|
};
|
441
|
-
goTo:
|
442
|
-
rtl: vue.Ref<boolean>;
|
443
|
-
options: Record<string, any>;
|
444
|
-
};
|
443
|
+
goTo: GoToInstance;
|
445
444
|
};
|
446
445
|
declare namespace createVuetify {
|
447
446
|
var version: string;
|
@@ -494,40 +493,41 @@ declare module '@vue/runtime-core' {
|
|
494
493
|
|
495
494
|
export interface GlobalComponents {
|
496
495
|
VApp: typeof import('vuetify/components')['VApp']
|
497
|
-
VAppBar: typeof import('vuetify/components')['VAppBar']
|
498
|
-
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
499
|
-
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
500
496
|
VAlert: typeof import('vuetify/components')['VAlert']
|
501
497
|
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
502
498
|
VBadge: typeof import('vuetify/components')['VBadge']
|
503
499
|
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
500
|
+
VAppBar: typeof import('vuetify/components')['VAppBar']
|
501
|
+
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
502
|
+
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
504
503
|
VAvatar: typeof import('vuetify/components')['VAvatar']
|
505
504
|
VBanner: typeof import('vuetify/components')['VBanner']
|
506
505
|
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
507
506
|
VBannerText: typeof import('vuetify/components')['VBannerText']
|
508
|
-
|
507
|
+
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
508
|
+
VBtn: typeof import('vuetify/components')['VBtn']
|
509
509
|
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
510
510
|
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
511
511
|
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
516
|
-
VCarousel: typeof import('vuetify/components')['VCarousel']
|
517
|
-
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
512
|
+
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
513
|
+
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
514
|
+
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
518
515
|
VCard: typeof import('vuetify/components')['VCard']
|
519
516
|
VCardActions: typeof import('vuetify/components')['VCardActions']
|
520
517
|
VCardItem: typeof import('vuetify/components')['VCardItem']
|
521
518
|
VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
|
522
519
|
VCardText: typeof import('vuetify/components')['VCardText']
|
523
520
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
524
|
-
|
525
|
-
|
521
|
+
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
522
|
+
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
523
|
+
VCarousel: typeof import('vuetify/components')['VCarousel']
|
524
|
+
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
526
525
|
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
526
|
+
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
527
527
|
VChip: typeof import('vuetify/components')['VChip']
|
528
528
|
VCombobox: typeof import('vuetify/components')['VCombobox']
|
529
|
-
VCode: typeof import('vuetify/components')['VCode']
|
530
529
|
VCounter: typeof import('vuetify/components')['VCounter']
|
530
|
+
VCode: typeof import('vuetify/components')['VCode']
|
531
531
|
VDataTable: typeof import('vuetify/components')['VDataTable']
|
532
532
|
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
533
533
|
VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
|
@@ -535,7 +535,6 @@ declare module '@vue/runtime-core' {
|
|
535
535
|
VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
|
536
536
|
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
537
537
|
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
538
|
-
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
539
538
|
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
540
539
|
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
541
540
|
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
@@ -543,25 +542,30 @@ declare module '@vue/runtime-core' {
|
|
543
542
|
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
544
543
|
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
545
544
|
VDialog: typeof import('vuetify/components')['VDialog']
|
546
|
-
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
547
|
-
VDivider: typeof import('vuetify/components')['VDivider']
|
548
|
-
VFab: typeof import('vuetify/components')['VFab']
|
549
|
-
VField: typeof import('vuetify/components')['VField']
|
550
|
-
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
551
|
-
VFooter: typeof import('vuetify/components')['VFooter']
|
552
545
|
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
553
546
|
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
554
547
|
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
555
548
|
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
549
|
+
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
550
|
+
VDivider: typeof import('vuetify/components')['VDivider']
|
551
|
+
VField: typeof import('vuetify/components')['VField']
|
552
|
+
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
553
|
+
VFab: typeof import('vuetify/components')['VFab']
|
556
554
|
VFileInput: typeof import('vuetify/components')['VFileInput']
|
555
|
+
VFooter: typeof import('vuetify/components')['VFooter']
|
557
556
|
VImg: typeof import('vuetify/components')['VImg']
|
558
557
|
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
558
|
+
VIcon: typeof import('vuetify/components')['VIcon']
|
559
|
+
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
560
|
+
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
561
|
+
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
562
|
+
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
559
563
|
VInput: typeof import('vuetify/components')['VInput']
|
560
564
|
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
561
565
|
VItem: typeof import('vuetify/components')['VItem']
|
562
|
-
VLabel: typeof import('vuetify/components')['VLabel']
|
563
566
|
VKbd: typeof import('vuetify/components')['VKbd']
|
564
|
-
|
567
|
+
VLabel: typeof import('vuetify/components')['VLabel']
|
568
|
+
VMenu: typeof import('vuetify/components')['VMenu']
|
565
569
|
VList: typeof import('vuetify/components')['VList']
|
566
570
|
VListGroup: typeof import('vuetify/components')['VListGroup']
|
567
571
|
VListImg: typeof import('vuetify/components')['VListImg']
|
@@ -571,53 +575,48 @@ declare module '@vue/runtime-core' {
|
|
571
575
|
VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
|
572
576
|
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
573
577
|
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
574
|
-
|
575
|
-
VMenu: typeof import('vuetify/components')['VMenu']
|
578
|
+
VMain: typeof import('vuetify/components')['VMain']
|
576
579
|
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
577
580
|
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
581
|
+
VMessages: typeof import('vuetify/components')['VMessages']
|
578
582
|
VOverlay: typeof import('vuetify/components')['VOverlay']
|
579
|
-
VPagination: typeof import('vuetify/components')['VPagination']
|
580
|
-
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
581
583
|
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
584
|
+
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
582
585
|
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
583
|
-
|
586
|
+
VPagination: typeof import('vuetify/components')['VPagination']
|
584
587
|
VSelect: typeof import('vuetify/components')['VSelect']
|
585
|
-
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
586
|
-
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
587
588
|
VSheet: typeof import('vuetify/components')['VSheet']
|
588
|
-
|
589
|
+
VRating: typeof import('vuetify/components')['VRating']
|
590
|
+
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
591
|
+
VSlider: typeof import('vuetify/components')['VSlider']
|
589
592
|
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
590
593
|
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
591
|
-
|
592
|
-
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
593
|
-
VIcon: typeof import('vuetify/components')['VIcon']
|
594
|
-
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
595
|
-
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
596
|
-
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
597
|
-
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
598
|
-
VSwitch: typeof import('vuetify/components')['VSwitch']
|
594
|
+
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
599
595
|
VStepper: typeof import('vuetify/components')['VStepper']
|
600
596
|
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
601
597
|
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
602
598
|
VStepperItem: typeof import('vuetify/components')['VStepperItem']
|
603
599
|
VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
|
604
600
|
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
605
|
-
|
601
|
+
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
602
|
+
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
606
603
|
VTable: typeof import('vuetify/components')['VTable']
|
604
|
+
VSwitch: typeof import('vuetify/components')['VSwitch']
|
605
|
+
VTextarea: typeof import('vuetify/components')['VTextarea']
|
606
|
+
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
607
|
+
VTextField: typeof import('vuetify/components')['VTextField']
|
607
608
|
VTab: typeof import('vuetify/components')['VTab']
|
608
609
|
VTabs: typeof import('vuetify/components')['VTabs']
|
609
610
|
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
610
611
|
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
611
|
-
VTextarea: typeof import('vuetify/components')['VTextarea']
|
612
|
-
VTextField: typeof import('vuetify/components')['VTextField']
|
613
|
-
VTimeline: typeof import('vuetify/components')['VTimeline']
|
614
|
-
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
615
612
|
VToolbar: typeof import('vuetify/components')['VToolbar']
|
616
613
|
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
617
614
|
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
618
615
|
VTooltip: typeof import('vuetify/components')['VTooltip']
|
619
616
|
VWindow: typeof import('vuetify/components')['VWindow']
|
620
617
|
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
618
|
+
VTimeline: typeof import('vuetify/components')['VTimeline']
|
619
|
+
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
621
620
|
VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
|
622
621
|
VDataIterator: typeof import('vuetify/components')['VDataIterator']
|
623
622
|
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
@@ -627,16 +626,17 @@ declare module '@vue/runtime-core' {
|
|
627
626
|
VRow: typeof import('vuetify/components')['VRow']
|
628
627
|
VSpacer: typeof import('vuetify/components')['VSpacer']
|
629
628
|
VHover: typeof import('vuetify/components')['VHover']
|
629
|
+
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
630
630
|
VLayout: typeof import('vuetify/components')['VLayout']
|
631
631
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
632
|
-
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
633
632
|
VLazy: typeof import('vuetify/components')['VLazy']
|
634
633
|
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
635
634
|
VParallax: typeof import('vuetify/components')['VParallax']
|
636
|
-
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
637
635
|
VRadio: typeof import('vuetify/components')['VRadio']
|
636
|
+
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
638
637
|
VResponsive: typeof import('vuetify/components')['VResponsive']
|
639
638
|
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
639
|
+
VSparkline: typeof import('vuetify/components')['VSparkline']
|
640
640
|
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
641
641
|
VValidation: typeof import('vuetify/components')['VValidation']
|
642
642
|
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
@@ -656,7 +656,6 @@ declare module '@vue/runtime-core' {
|
|
656
656
|
VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
|
657
657
|
VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
|
658
658
|
VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
|
659
|
-
VSparkline: typeof import('vuetify/components')['VSparkline']
|
660
659
|
VCalendar: typeof import('vuetify/labs/components')['VCalendar']
|
661
660
|
VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
|
662
661
|
VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
|
@@ -666,15 +665,15 @@ declare module '@vue/runtime-core' {
|
|
666
665
|
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
667
666
|
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
668
667
|
VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
|
669
|
-
VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
|
670
|
-
VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
|
671
|
-
VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
|
672
|
-
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
673
|
-
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
674
|
-
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
675
668
|
VTreeview: typeof import('vuetify/labs/components')['VTreeview']
|
676
669
|
VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
|
677
670
|
VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
|
671
|
+
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
672
|
+
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
673
|
+
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
674
|
+
VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
|
675
|
+
VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
|
676
|
+
VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
|
678
677
|
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
679
678
|
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
680
679
|
VSnackbarQueue: typeof import('vuetify/labs/components')['VSnackbarQueue']
|
@@ -5,13 +5,13 @@ interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions
|
|
5
5
|
filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
|
6
6
|
}
|
7
7
|
|
8
|
+
type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
|
9
|
+
declare const IconValue: PropType<IconValue>;
|
10
|
+
|
8
11
|
declare const breakpoints: readonly ["sm", "md", "lg", "xl", "xxl"];
|
9
12
|
type Breakpoint = typeof breakpoints[number];
|
10
13
|
type DisplayBreakpoint = 'xs' | Breakpoint;
|
11
14
|
|
12
|
-
type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
|
13
|
-
declare const IconValue: PropType<IconValue>;
|
14
|
-
|
15
15
|
type StepperItem = string | Record<string, any>;
|
16
16
|
type StepperItemSlot = {
|
17
17
|
canEdit: boolean;
|
@@ -91,6 +91,7 @@ export const VTimePickerClock = genericComponent()({
|
|
91
91
|
return !props.allowedValues || props.allowedValues(value);
|
92
92
|
}
|
93
93
|
function wheel(e) {
|
94
|
+
if (!props.scrollable || props.disabled) return;
|
94
95
|
e.preventDefault();
|
95
96
|
const delta = Math.sign(-e.deltaY || 1);
|
96
97
|
let value = displayedValue.value;
|
@@ -185,6 +186,7 @@ export const VTimePickerClock = genericComponent()({
|
|
185
186
|
}
|
186
187
|
}
|
187
188
|
function onMouseDown(e) {
|
189
|
+
if (props.disabled) return;
|
188
190
|
e.preventDefault();
|
189
191
|
window.addEventListener('mousemove', onDragMove);
|
190
192
|
window.addEventListener('touchmove', onDragMove);
|
@@ -215,7 +217,7 @@ export const VTimePickerClock = genericComponent()({
|
|
215
217
|
}],
|
216
218
|
"onMousedown": onMouseDown,
|
217
219
|
"onTouchstart": onMouseDown,
|
218
|
-
"onWheel":
|
220
|
+
"onWheel": wheel,
|
219
221
|
"ref": clockRef
|
220
222
|
}, [_createVNode("div", {
|
221
223
|
"class": "v-time-picker-clock__inner",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VTimePickerClock.mjs","names":["useBackgroundColor","useTextColor","computed","ref","toRef","watch","genericComponent","propsFactory","useRender","makeVTimePickerClockProps","allowedValues","Function","ampm","Boolean","color","String","disabled","displayedValue","double","format","type","default","val","max","Number","required","min","scrollable","readonly","rotate","step","modelValue","VTimePickerClock","name","props","emits","change","input","setup","_ref","emit","clockRef","innerClockRef","inputValue","undefined","isDragging","valueOnMouseDown","valueOnMouseUp","textColorClasses","textColorStyles","backgroundColorClasses","backgroundColorStyles","count","roundCount","value","degreesPerUnit","degrees","Math","PI","innerRadiusScale","genChildren","children","push","update","isAllowed","wheel","e","preventDefault","delta","sign","deltaY","isInner","handScale","getPosition","rotateRadians","x","sin","y","cos","angleToValue","angle","insideClick","round","getTransform","i","left","top","euclidean","p0","p1","dx","dy","sqrt","center","atan2","abs","setMouseDownValue","onDragMove","width","getBoundingClientRect","innerWidth","clientX","clientY","touches","coords","handAngle","checksCount","ceil","onMouseDown","window","addEventListener","onMouseUp","stopPropagation","removeEventListener","_createVNode","transform","map","isActive"],"sources":["../../../src/labs/VTimePicker/VTimePickerClock.tsx"],"sourcesContent":["// StylesthisValue\n// Styles\nimport './VTimePickerClock.sass'\n\n// Composables\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref, toRef, watch } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\ninterface Point {\n x: number\n y: number\n}\n\nexport const makeVTimePickerClockProps = propsFactory({\n allowedValues: Function as PropType<(value: number) => boolean>,\n ampm: Boolean,\n color: String,\n disabled: Boolean,\n displayedValue: null,\n double: Boolean,\n format: {\n type: Function,\n default: (val: string | number) => val,\n },\n max: {\n type: Number,\n required: true,\n },\n min: {\n type: Number,\n required: true,\n },\n scrollable: Boolean,\n readonly: Boolean,\n rotate: {\n type: Number,\n default: 0,\n },\n step: {\n type: Number,\n default: 1,\n },\n modelValue: {\n type: Number,\n },\n}, 'VTimePickerClock')\n\nexport const VTimePickerClock = genericComponent()({\n name: 'VTimePickerClock',\n\n props: makeVTimePickerClockProps(),\n\n emits: {\n change: (val: number) => val,\n input: (val: number) => val,\n },\n\n setup (props, { emit }) {\n const clockRef = ref<HTMLElement | null>(null)\n const innerClockRef = ref<HTMLElement | null>(null)\n const inputValue = ref<number | undefined>(undefined)\n const isDragging = ref(false)\n const valueOnMouseDown = ref(null as number | null)\n const valueOnMouseUp = ref(null as number | null)\n\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n\n const count = computed(() => props.max - props.min + 1)\n const roundCount = computed(() => props.double ? (count.value / 2) : count.value)\n const degreesPerUnit = computed(() => 360 / roundCount.value)\n const degrees = computed(() => degreesPerUnit.value * Math.PI / 180)\n const displayedValue = computed(() => props.modelValue == null ? props.min : props.modelValue)\n const innerRadiusScale = computed(() => 0.62)\n\n const genChildren = computed(() => {\n const children = []\n for (let value = props.min; value <= props.max; value = value + props.step) {\n children.push(value)\n }\n return children\n })\n\n watch(() => props.modelValue, val => {\n inputValue.value = val\n })\n\n function update (value: number) {\n if (inputValue.value !== value) {\n inputValue.value = value\n }\n emit('input', value)\n }\n\n function isAllowed (value: number) {\n return !props.allowedValues || props.allowedValues(value)\n }\n\n function wheel (e: WheelEvent) {\n e.preventDefault()\n\n const delta = Math.sign(-e.deltaY || 1)\n let value = displayedValue.value\n do {\n value = value + delta\n value = (value - props.min + count.value) % count.value + props.min\n } while (!isAllowed(value) && value !== displayedValue.value)\n\n if (value !== props.displayedValue) {\n update(value)\n }\n }\n\n function isInner (value: number) {\n return props.double && (value - props.min >= roundCount.value)\n }\n\n function handScale (value: number) {\n return isInner(value) ? innerRadiusScale.value : 1\n }\n\n function getPosition (value: number) {\n const rotateRadians = props.rotate * Math.PI / 180\n return {\n x: Math.sin((value - props.min) * degrees.value + rotateRadians) * handScale(value),\n y: -Math.cos((value - props.min) * degrees.value + rotateRadians) * handScale(value),\n }\n }\n\n function angleToValue (angle: number, insideClick: boolean): number {\n const value = (\n Math.round(angle / degreesPerUnit.value) +\n (insideClick ? roundCount.value : 0)\n ) % count.value + props.min\n\n // Necessary to fix edge case when selecting left part of the value(s) at 12 o'clock\n if (angle < (360 - degreesPerUnit.value / 2)) return value\n\n return insideClick ? props.max - roundCount.value + 1 : props.min\n }\n\n function getTransform (i: number) {\n const { x, y } = getPosition(i)\n return {\n left: `${50 + x * 50}%`,\n top: `${50 + y * 50}%`,\n }\n }\n\n function euclidean (p0: Point, p1: Point) {\n const dx = p1.x - p0.x\n const dy = p1.y - p0.y\n\n return Math.sqrt(dx * dx + dy * dy)\n }\n\n function angle (center: Point, p1: Point) {\n const value = 2 * Math.atan2(p1.y - center.y - euclidean(center, p1), p1.x - center.x)\n return Math.abs(value * 180 / Math.PI)\n }\n\n function setMouseDownValue (value: number) {\n if (valueOnMouseDown.value === null) {\n valueOnMouseDown.value = value\n }\n\n valueOnMouseUp.value = value\n update(value)\n }\n\n function onDragMove (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n if ((!isDragging.value && e.type !== 'click') || !clockRef.value) return\n const { width, top, left } = clockRef.value?.getBoundingClientRect()\n const { width: innerWidth }: DOMRect = innerClockRef.value?.getBoundingClientRect() ?? { width: 0 } as DOMRect\n const { clientX, clientY } = 'touches' in e ? e.touches[0] : e\n const center = { x: width / 2, y: -width / 2 }\n const coords = { x: clientX - left, y: top - clientY }\n const handAngle = Math.round(angle(center, coords) - props.rotate + 360) % 360\n const insideClick = props.double && euclidean(center, coords) < (innerWidth as number + innerWidth * innerRadiusScale.value) / 4\n const checksCount = Math.ceil(15 / degreesPerUnit.value)\n let value\n\n for (let i = 0; i < checksCount; i++) {\n value = angleToValue(handAngle + i * degreesPerUnit.value, insideClick)\n if (isAllowed(value)) return setMouseDownValue(value)\n\n value = angleToValue(handAngle - i * degreesPerUnit.value, insideClick)\n if (isAllowed(value)) return setMouseDownValue(value)\n }\n }\n\n function onMouseDown (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n\n window.addEventListener('mousemove', onDragMove)\n window.addEventListener('touchmove', onDragMove)\n window.addEventListener('mouseup', onMouseUp)\n window.addEventListener('touchend', onMouseUp)\n valueOnMouseDown.value = null\n valueOnMouseUp.value = null\n isDragging.value = true\n onDragMove(e)\n }\n\n function onMouseUp (e: MouseEvent | TouchEvent) {\n e.stopPropagation()\n window.removeEventListener('mousemove', onDragMove)\n window.removeEventListener('touchmove', onDragMove)\n window.removeEventListener('mouseup', onMouseUp)\n window.removeEventListener('touchend', onMouseUp)\n\n isDragging.value = false\n if (valueOnMouseUp.value !== null && isAllowed(valueOnMouseUp.value)) {\n emit('change', valueOnMouseUp.value)\n }\n }\n\n useRender(() => {\n return (\n <div\n class={[\n {\n 'v-time-picker-clock': true,\n 'v-time-picker-clock--indeterminate': props.modelValue == null,\n 'v-time-picker-clock--readonly': props.readonly,\n },\n ]}\n onMousedown={ onMouseDown }\n onTouchstart={ onMouseDown }\n onWheel={ (e: WheelEvent) => (props.scrollable && wheel(e)) }\n ref={ clockRef }\n >\n <div class=\"v-time-picker-clock__inner\" ref={ innerClockRef }>\n <div\n class={[\n {\n 'v-time-picker-clock__hand': true,\n 'v-time-picker-clock__hand--inner': isInner(props.modelValue as number),\n },\n textColorClasses.value,\n ]}\n style={[\n {\n transform: `rotate(${props.rotate + degreesPerUnit.value * (displayedValue.value - props.min)}deg) scaleY(${handScale(displayedValue.value)})`,\n },\n textColorStyles.value,\n ]}\n />\n\n {\n genChildren.value.map(value => {\n const isActive = value === displayedValue.value\n\n return (\n <div\n class={[\n {\n 'v-time-picker-clock__item': true,\n 'v-time-picker-clock__item--active': isActive,\n 'v-time-picker-clock__item--disabled': props.disabled || !isAllowed(value),\n },\n isActive && backgroundColorClasses.value,\n ]}\n style={[\n getTransform(value),\n isActive && backgroundColorStyles.value,\n ]}\n >\n <span>{ props.format(value) }</span>\n </div>\n )\n })\n }\n </div>\n </div>\n )\n })\n },\n})\n\nexport type VTimePickerClock = InstanceType<typeof VTimePickerClock>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VTimePickerClock.mjs","names":["useBackgroundColor","useTextColor","computed","ref","toRef","watch","genericComponent","propsFactory","useRender","makeVTimePickerClockProps","allowedValues","Function","ampm","Boolean","color","String","disabled","displayedValue","double","format","type","default","val","max","Number","required","min","scrollable","readonly","rotate","step","modelValue","VTimePickerClock","name","props","emits","change","input","setup","_ref","emit","clockRef","innerClockRef","inputValue","undefined","isDragging","valueOnMouseDown","valueOnMouseUp","textColorClasses","textColorStyles","backgroundColorClasses","backgroundColorStyles","count","roundCount","value","degreesPerUnit","degrees","Math","PI","innerRadiusScale","genChildren","children","push","update","isAllowed","wheel","e","preventDefault","delta","sign","deltaY","isInner","handScale","getPosition","rotateRadians","x","sin","y","cos","angleToValue","angle","insideClick","round","getTransform","i","left","top","euclidean","p0","p1","dx","dy","sqrt","center","atan2","abs","setMouseDownValue","onDragMove","width","getBoundingClientRect","innerWidth","clientX","clientY","touches","coords","handAngle","checksCount","ceil","onMouseDown","window","addEventListener","onMouseUp","stopPropagation","removeEventListener","_createVNode","transform","map","isActive"],"sources":["../../../src/labs/VTimePicker/VTimePickerClock.tsx"],"sourcesContent":["// StylesthisValue\n// Styles\nimport './VTimePickerClock.sass'\n\n// Composables\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref, toRef, watch } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\ninterface Point {\n x: number\n y: number\n}\n\nexport const makeVTimePickerClockProps = propsFactory({\n allowedValues: Function as PropType<(value: number) => boolean>,\n ampm: Boolean,\n color: String,\n disabled: Boolean,\n displayedValue: null,\n double: Boolean,\n format: {\n type: Function,\n default: (val: string | number) => val,\n },\n max: {\n type: Number,\n required: true,\n },\n min: {\n type: Number,\n required: true,\n },\n scrollable: Boolean,\n readonly: Boolean,\n rotate: {\n type: Number,\n default: 0,\n },\n step: {\n type: Number,\n default: 1,\n },\n modelValue: {\n type: Number,\n },\n}, 'VTimePickerClock')\n\nexport const VTimePickerClock = genericComponent()({\n name: 'VTimePickerClock',\n\n props: makeVTimePickerClockProps(),\n\n emits: {\n change: (val: number) => val,\n input: (val: number) => val,\n },\n\n setup (props, { emit }) {\n const clockRef = ref<HTMLElement | null>(null)\n const innerClockRef = ref<HTMLElement | null>(null)\n const inputValue = ref<number | undefined>(undefined)\n const isDragging = ref(false)\n const valueOnMouseDown = ref(null as number | null)\n const valueOnMouseUp = ref(null as number | null)\n\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n\n const count = computed(() => props.max - props.min + 1)\n const roundCount = computed(() => props.double ? (count.value / 2) : count.value)\n const degreesPerUnit = computed(() => 360 / roundCount.value)\n const degrees = computed(() => degreesPerUnit.value * Math.PI / 180)\n const displayedValue = computed(() => props.modelValue == null ? props.min : props.modelValue)\n const innerRadiusScale = computed(() => 0.62)\n\n const genChildren = computed(() => {\n const children = []\n for (let value = props.min; value <= props.max; value = value + props.step) {\n children.push(value)\n }\n return children\n })\n\n watch(() => props.modelValue, val => {\n inputValue.value = val\n })\n\n function update (value: number) {\n if (inputValue.value !== value) {\n inputValue.value = value\n }\n emit('input', value)\n }\n\n function isAllowed (value: number) {\n return !props.allowedValues || props.allowedValues(value)\n }\n\n function wheel (e: WheelEvent) {\n if (!props.scrollable || props.disabled) return\n\n e.preventDefault()\n\n const delta = Math.sign(-e.deltaY || 1)\n let value = displayedValue.value\n do {\n value = value + delta\n value = (value - props.min + count.value) % count.value + props.min\n } while (!isAllowed(value) && value !== displayedValue.value)\n\n if (value !== props.displayedValue) {\n update(value)\n }\n }\n\n function isInner (value: number) {\n return props.double && (value - props.min >= roundCount.value)\n }\n\n function handScale (value: number) {\n return isInner(value) ? innerRadiusScale.value : 1\n }\n\n function getPosition (value: number) {\n const rotateRadians = props.rotate * Math.PI / 180\n return {\n x: Math.sin((value - props.min) * degrees.value + rotateRadians) * handScale(value),\n y: -Math.cos((value - props.min) * degrees.value + rotateRadians) * handScale(value),\n }\n }\n\n function angleToValue (angle: number, insideClick: boolean): number {\n const value = (\n Math.round(angle / degreesPerUnit.value) +\n (insideClick ? roundCount.value : 0)\n ) % count.value + props.min\n\n // Necessary to fix edge case when selecting left part of the value(s) at 12 o'clock\n if (angle < (360 - degreesPerUnit.value / 2)) return value\n\n return insideClick ? props.max - roundCount.value + 1 : props.min\n }\n\n function getTransform (i: number) {\n const { x, y } = getPosition(i)\n return {\n left: `${50 + x * 50}%`,\n top: `${50 + y * 50}%`,\n }\n }\n\n function euclidean (p0: Point, p1: Point) {\n const dx = p1.x - p0.x\n const dy = p1.y - p0.y\n\n return Math.sqrt(dx * dx + dy * dy)\n }\n\n function angle (center: Point, p1: Point) {\n const value = 2 * Math.atan2(p1.y - center.y - euclidean(center, p1), p1.x - center.x)\n return Math.abs(value * 180 / Math.PI)\n }\n\n function setMouseDownValue (value: number) {\n if (valueOnMouseDown.value === null) {\n valueOnMouseDown.value = value\n }\n\n valueOnMouseUp.value = value\n update(value)\n }\n\n function onDragMove (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n if ((!isDragging.value && e.type !== 'click') || !clockRef.value) return\n const { width, top, left } = clockRef.value?.getBoundingClientRect()\n const { width: innerWidth }: DOMRect = innerClockRef.value?.getBoundingClientRect() ?? { width: 0 } as DOMRect\n const { clientX, clientY } = 'touches' in e ? e.touches[0] : e\n const center = { x: width / 2, y: -width / 2 }\n const coords = { x: clientX - left, y: top - clientY }\n const handAngle = Math.round(angle(center, coords) - props.rotate + 360) % 360\n const insideClick = props.double && euclidean(center, coords) < (innerWidth as number + innerWidth * innerRadiusScale.value) / 4\n const checksCount = Math.ceil(15 / degreesPerUnit.value)\n let value\n\n for (let i = 0; i < checksCount; i++) {\n value = angleToValue(handAngle + i * degreesPerUnit.value, insideClick)\n if (isAllowed(value)) return setMouseDownValue(value)\n\n value = angleToValue(handAngle - i * degreesPerUnit.value, insideClick)\n if (isAllowed(value)) return setMouseDownValue(value)\n }\n }\n\n function onMouseDown (e: MouseEvent | TouchEvent) {\n if (props.disabled) return\n\n e.preventDefault()\n\n window.addEventListener('mousemove', onDragMove)\n window.addEventListener('touchmove', onDragMove)\n window.addEventListener('mouseup', onMouseUp)\n window.addEventListener('touchend', onMouseUp)\n valueOnMouseDown.value = null\n valueOnMouseUp.value = null\n isDragging.value = true\n onDragMove(e)\n }\n\n function onMouseUp (e: MouseEvent | TouchEvent) {\n e.stopPropagation()\n window.removeEventListener('mousemove', onDragMove)\n window.removeEventListener('touchmove', onDragMove)\n window.removeEventListener('mouseup', onMouseUp)\n window.removeEventListener('touchend', onMouseUp)\n\n isDragging.value = false\n if (valueOnMouseUp.value !== null && isAllowed(valueOnMouseUp.value)) {\n emit('change', valueOnMouseUp.value)\n }\n }\n\n useRender(() => {\n return (\n <div\n class={[\n {\n 'v-time-picker-clock': true,\n 'v-time-picker-clock--indeterminate': props.modelValue == null,\n 'v-time-picker-clock--readonly': props.readonly,\n },\n ]}\n onMousedown={ onMouseDown }\n onTouchstart={ onMouseDown }\n onWheel={ wheel }\n ref={ clockRef }\n >\n <div class=\"v-time-picker-clock__inner\" ref={ innerClockRef }>\n <div\n class={[\n {\n 'v-time-picker-clock__hand': true,\n 'v-time-picker-clock__hand--inner': isInner(props.modelValue as number),\n },\n textColorClasses.value,\n ]}\n style={[\n {\n transform: `rotate(${props.rotate + degreesPerUnit.value * (displayedValue.value - props.min)}deg) scaleY(${handScale(displayedValue.value)})`,\n },\n textColorStyles.value,\n ]}\n />\n\n {\n genChildren.value.map(value => {\n const isActive = value === displayedValue.value\n\n return (\n <div\n class={[\n {\n 'v-time-picker-clock__item': true,\n 'v-time-picker-clock__item--active': isActive,\n 'v-time-picker-clock__item--disabled': props.disabled || !isAllowed(value),\n },\n isActive && backgroundColorClasses.value,\n ]}\n style={[\n getTransform(value),\n isActive && backgroundColorStyles.value,\n ]}\n >\n <span>{ props.format(value) }</span>\n </div>\n )\n })\n }\n </div>\n </div>\n )\n })\n },\n})\n\nexport type VTimePickerClock = InstanceType<typeof VTimePickerClock>\n"],"mappings":";AAAA;AACA;AACA;;AAEA;AAAA,SACSA,kBAAkB,EAAEC,YAAY,uCAEzC;AACA,SAASC,QAAQ,EAAEC,GAAG,EAAEC,KAAK,EAAEC,KAAK,QAAQ,KAAK;AAAA,SACxCC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAElD;AAOA,OAAO,MAAMC,yBAAyB,GAAGF,YAAY,CAAC;EACpDG,aAAa,EAAEC,QAAgD;EAC/DC,IAAI,EAAEC,OAAO;EACbC,KAAK,EAAEC,MAAM;EACbC,QAAQ,EAAEH,OAAO;EACjBI,cAAc,EAAE,IAAI;EACpBC,MAAM,EAAEL,OAAO;EACfM,MAAM,EAAE;IACNC,IAAI,EAAET,QAAQ;IACdU,OAAO,EAAGC,GAAoB,IAAKA;EACrC,CAAC;EACDC,GAAG,EAAE;IACHH,IAAI,EAAEI,MAAM;IACZC,QAAQ,EAAE;EACZ,CAAC;EACDC,GAAG,EAAE;IACHN,IAAI,EAAEI,MAAM;IACZC,QAAQ,EAAE;EACZ,CAAC;EACDE,UAAU,EAAEd,OAAO;EACnBe,QAAQ,EAAEf,OAAO;EACjBgB,MAAM,EAAE;IACNT,IAAI,EAAEI,MAAM;IACZH,OAAO,EAAE;EACX,CAAC;EACDS,IAAI,EAAE;IACJV,IAAI,EAAEI,MAAM;IACZH,OAAO,EAAE;EACX,CAAC;EACDU,UAAU,EAAE;IACVX,IAAI,EAAEI;EACR;AACF,CAAC,EAAE,kBAAkB,CAAC;AAEtB,OAAO,MAAMQ,gBAAgB,GAAG1B,gBAAgB,CAAC,CAAC,CAAC;EACjD2B,IAAI,EAAE,kBAAkB;EAExBC,KAAK,EAAEzB,yBAAyB,CAAC,CAAC;EAElC0B,KAAK,EAAE;IACLC,MAAM,EAAGd,GAAW,IAAKA,GAAG;IAC5Be,KAAK,EAAGf,GAAW,IAAKA;EAC1B,CAAC;EAEDgB,KAAKA,CAAEJ,KAAK,EAAAK,IAAA,EAAY;IAAA,IAAV;MAAEC;IAAK,CAAC,GAAAD,IAAA;IACpB,MAAME,QAAQ,GAAGtC,GAAG,CAAqB,IAAI,CAAC;IAC9C,MAAMuC,aAAa,GAAGvC,GAAG,CAAqB,IAAI,CAAC;IACnD,MAAMwC,UAAU,GAAGxC,GAAG,CAAqByC,SAAS,CAAC;IACrD,MAAMC,UAAU,GAAG1C,GAAG,CAAC,KAAK,CAAC;IAC7B,MAAM2C,gBAAgB,GAAG3C,GAAG,CAAC,IAAqB,CAAC;IACnD,MAAM4C,cAAc,GAAG5C,GAAG,CAAC,IAAqB,CAAC;IAEjD,MAAM;MAAE6C,gBAAgB;MAAEC;IAAgB,CAAC,GAAGhD,YAAY,CAACG,KAAK,CAAC8B,KAAK,EAAE,OAAO,CAAC,CAAC;IACjF,MAAM;MAAEgB,sBAAsB;MAAEC;IAAsB,CAAC,GAAGnD,kBAAkB,CAACI,KAAK,CAAC8B,KAAK,EAAE,OAAO,CAAC,CAAC;IAEnG,MAAMkB,KAAK,GAAGlD,QAAQ,CAAC,MAAMgC,KAAK,CAACX,GAAG,GAAGW,KAAK,CAACR,GAAG,GAAG,CAAC,CAAC;IACvD,MAAM2B,UAAU,GAAGnD,QAAQ,CAAC,MAAMgC,KAAK,CAAChB,MAAM,GAAIkC,KAAK,CAACE,KAAK,GAAG,CAAC,GAAIF,KAAK,CAACE,KAAK,CAAC;IACjF,MAAMC,cAAc,GAAGrD,QAAQ,CAAC,MAAM,GAAG,GAAGmD,UAAU,CAACC,KAAK,CAAC;IAC7D,MAAME,OAAO,GAAGtD,QAAQ,CAAC,MAAMqD,cAAc,CAACD,KAAK,GAAGG,IAAI,CAACC,EAAE,GAAG,GAAG,CAAC;IACpE,MAAMzC,cAAc,GAAGf,QAAQ,CAAC,MAAMgC,KAAK,CAACH,UAAU,IAAI,IAAI,GAAGG,KAAK,CAACR,GAAG,GAAGQ,KAAK,CAACH,UAAU,CAAC;IAC9F,MAAM4B,gBAAgB,GAAGzD,QAAQ,CAAC,MAAM,IAAI,CAAC;IAE7C,MAAM0D,WAAW,GAAG1D,QAAQ,CAAC,MAAM;MACjC,MAAM2D,QAAQ,GAAG,EAAE;MACnB,KAAK,IAAIP,KAAK,GAAGpB,KAAK,CAACR,GAAG,EAAE4B,KAAK,IAAIpB,KAAK,CAACX,GAAG,EAAE+B,KAAK,GAAGA,KAAK,GAAGpB,KAAK,CAACJ,IAAI,EAAE;QAC1E+B,QAAQ,CAACC,IAAI,CAACR,KAAK,CAAC;MACtB;MACA,OAAOO,QAAQ;IACjB,CAAC,CAAC;IAEFxD,KAAK,CAAC,MAAM6B,KAAK,CAACH,UAAU,EAAET,GAAG,IAAI;MACnCqB,UAAU,CAACW,KAAK,GAAGhC,GAAG;IACxB,CAAC,CAAC;IAEF,SAASyC,MAAMA,CAAET,KAAa,EAAE;MAC9B,IAAIX,UAAU,CAACW,KAAK,KAAKA,KAAK,EAAE;QAC9BX,UAAU,CAACW,KAAK,GAAGA,KAAK;MAC1B;MACAd,IAAI,CAAC,OAAO,EAAEc,KAAK,CAAC;IACtB;IAEA,SAASU,SAASA,CAAEV,KAAa,EAAE;MACjC,OAAO,CAACpB,KAAK,CAACxB,aAAa,IAAIwB,KAAK,CAACxB,aAAa,CAAC4C,KAAK,CAAC;IAC3D;IAEA,SAASW,KAAKA,CAAEC,CAAa,EAAE;MAC7B,IAAI,CAAChC,KAAK,CAACP,UAAU,IAAIO,KAAK,CAAClB,QAAQ,EAAE;MAEzCkD,CAAC,CAACC,cAAc,CAAC,CAAC;MAElB,MAAMC,KAAK,GAAGX,IAAI,CAACY,IAAI,CAAC,CAACH,CAAC,CAACI,MAAM,IAAI,CAAC,CAAC;MACvC,IAAIhB,KAAK,GAAGrC,cAAc,CAACqC,KAAK;MAChC,GAAG;QACDA,KAAK,GAAGA,KAAK,GAAGc,KAAK;QACrBd,KAAK,GAAG,CAACA,KAAK,GAAGpB,KAAK,CAACR,GAAG,GAAG0B,KAAK,CAACE,KAAK,IAAIF,KAAK,CAACE,KAAK,GAAGpB,KAAK,CAACR,GAAG;MACrE,CAAC,QAAQ,CAACsC,SAAS,CAACV,KAAK,CAAC,IAAIA,KAAK,KAAKrC,cAAc,CAACqC,KAAK;MAE5D,IAAIA,KAAK,KAAKpB,KAAK,CAACjB,cAAc,EAAE;QAClC8C,MAAM,CAACT,KAAK,CAAC;MACf;IACF;IAEA,SAASiB,OAAOA,CAAEjB,KAAa,EAAE;MAC/B,OAAOpB,KAAK,CAAChB,MAAM,IAAKoC,KAAK,GAAGpB,KAAK,CAACR,GAAG,IAAI2B,UAAU,CAACC,KAAM;IAChE;IAEA,SAASkB,SAASA,CAAElB,KAAa,EAAE;MACjC,OAAOiB,OAAO,CAACjB,KAAK,CAAC,GAAGK,gBAAgB,CAACL,KAAK,GAAG,CAAC;IACpD;IAEA,SAASmB,WAAWA,CAAEnB,KAAa,EAAE;MACnC,MAAMoB,aAAa,GAAGxC,KAAK,CAACL,MAAM,GAAG4B,IAAI,CAACC,EAAE,GAAG,GAAG;MAClD,OAAO;QACLiB,CAAC,EAAElB,IAAI,CAACmB,GAAG,CAAC,CAACtB,KAAK,GAAGpB,KAAK,CAACR,GAAG,IAAI8B,OAAO,CAACF,KAAK,GAAGoB,aAAa,CAAC,GAAGF,SAAS,CAAClB,KAAK,CAAC;QACnFuB,CAAC,EAAE,CAACpB,IAAI,CAACqB,GAAG,CAAC,CAACxB,KAAK,GAAGpB,KAAK,CAACR,GAAG,IAAI8B,OAAO,CAACF,KAAK,GAAGoB,aAAa,CAAC,GAAGF,SAAS,CAAClB,KAAK;MACrF,CAAC;IACH;IAEA,SAASyB,YAAYA,CAAEC,KAAa,EAAEC,WAAoB,EAAU;MAClE,MAAM3B,KAAK,GAAG,CACZG,IAAI,CAACyB,KAAK,CAACF,KAAK,GAAGzB,cAAc,CAACD,KAAK,CAAC,IACvC2B,WAAW,GAAG5B,UAAU,CAACC,KAAK,GAAG,CAAC,CAAC,IAClCF,KAAK,CAACE,KAAK,GAAGpB,KAAK,CAACR,GAAG;;MAE3B;MACA,IAAIsD,KAAK,GAAI,GAAG,GAAGzB,cAAc,CAACD,KAAK,GAAG,CAAE,EAAE,OAAOA,KAAK;MAE1D,OAAO2B,WAAW,GAAG/C,KAAK,CAACX,GAAG,GAAG8B,UAAU,CAACC,KAAK,GAAG,CAAC,GAAGpB,KAAK,CAACR,GAAG;IACnE;IAEA,SAASyD,YAAYA,CAAEC,CAAS,EAAE;MAChC,MAAM;QAAET,CAAC;QAAEE;MAAE,CAAC,GAAGJ,WAAW,CAACW,CAAC,CAAC;MAC/B,OAAO;QACLC,IAAI,EAAG,GAAE,EAAE,GAAGV,CAAC,GAAG,EAAG,GAAE;QACvBW,GAAG,EAAG,GAAE,EAAE,GAAGT,CAAC,GAAG,EAAG;MACtB,CAAC;IACH;IAEA,SAASU,SAASA,CAAEC,EAAS,EAAEC,EAAS,EAAE;MACxC,MAAMC,EAAE,GAAGD,EAAE,CAACd,CAAC,GAAGa,EAAE,CAACb,CAAC;MACtB,MAAMgB,EAAE,GAAGF,EAAE,CAACZ,CAAC,GAAGW,EAAE,CAACX,CAAC;MAEtB,OAAOpB,IAAI,CAACmC,IAAI,CAACF,EAAE,GAAGA,EAAE,GAAGC,EAAE,GAAGA,EAAE,CAAC;IACrC;IAEA,SAASX,KAAKA,CAAEa,MAAa,EAAEJ,EAAS,EAAE;MACxC,MAAMnC,KAAK,GAAG,CAAC,GAAGG,IAAI,CAACqC,KAAK,CAACL,EAAE,CAACZ,CAAC,GAAGgB,MAAM,CAAChB,CAAC,GAAGU,SAAS,CAACM,MAAM,EAAEJ,EAAE,CAAC,EAAEA,EAAE,CAACd,CAAC,GAAGkB,MAAM,CAAClB,CAAC,CAAC;MACtF,OAAOlB,IAAI,CAACsC,GAAG,CAACzC,KAAK,GAAG,GAAG,GAAGG,IAAI,CAACC,EAAE,CAAC;IACxC;IAEA,SAASsC,iBAAiBA,CAAE1C,KAAa,EAAE;MACzC,IAAIR,gBAAgB,CAACQ,KAAK,KAAK,IAAI,EAAE;QACnCR,gBAAgB,CAACQ,KAAK,GAAGA,KAAK;MAChC;MAEAP,cAAc,CAACO,KAAK,GAAGA,KAAK;MAC5BS,MAAM,CAACT,KAAK,CAAC;IACf;IAEA,SAAS2C,UAAUA,CAAE/B,CAA0B,EAAE;MAC/CA,CAAC,CAACC,cAAc,CAAC,CAAC;MAClB,IAAK,CAACtB,UAAU,CAACS,KAAK,IAAIY,CAAC,CAAC9C,IAAI,KAAK,OAAO,IAAK,CAACqB,QAAQ,CAACa,KAAK,EAAE;MAClE,MAAM;QAAE4C,KAAK;QAAEZ,GAAG;QAAED;MAAK,CAAC,GAAG5C,QAAQ,CAACa,KAAK,EAAE6C,qBAAqB,CAAC,CAAC;MACpE,MAAM;QAAED,KAAK,EAAEE;MAAoB,CAAC,GAAG1D,aAAa,CAACY,KAAK,EAAE6C,qBAAqB,CAAC,CAAC,IAAI;QAAED,KAAK,EAAE;MAAE,CAAY;MAC9G,MAAM;QAAEG,OAAO;QAAEC;MAAQ,CAAC,GAAG,SAAS,IAAIpC,CAAC,GAAGA,CAAC,CAACqC,OAAO,CAAC,CAAC,CAAC,GAAGrC,CAAC;MAC9D,MAAM2B,MAAM,GAAG;QAAElB,CAAC,EAAEuB,KAAK,GAAG,CAAC;QAAErB,CAAC,EAAE,CAACqB,KAAK,GAAG;MAAE,CAAC;MAC9C,MAAMM,MAAM,GAAG;QAAE7B,CAAC,EAAE0B,OAAO,GAAGhB,IAAI;QAAER,CAAC,EAAES,GAAG,GAAGgB;MAAQ,CAAC;MACtD,MAAMG,SAAS,GAAGhD,IAAI,CAACyB,KAAK,CAACF,KAAK,CAACa,MAAM,EAAEW,MAAM,CAAC,GAAGtE,KAAK,CAACL,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG;MAC9E,MAAMoD,WAAW,GAAG/C,KAAK,CAAChB,MAAM,IAAIqE,SAAS,CAACM,MAAM,EAAEW,MAAM,CAAC,GAAG,CAACJ,UAAU,GAAaA,UAAU,GAAGzC,gBAAgB,CAACL,KAAK,IAAI,CAAC;MAChI,MAAMoD,WAAW,GAAGjD,IAAI,CAACkD,IAAI,CAAC,EAAE,GAAGpD,cAAc,CAACD,KAAK,CAAC;MACxD,IAAIA,KAAK;MAET,KAAK,IAAI8B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGsB,WAAW,EAAEtB,CAAC,EAAE,EAAE;QACpC9B,KAAK,GAAGyB,YAAY,CAAC0B,SAAS,GAAGrB,CAAC,GAAG7B,cAAc,CAACD,KAAK,EAAE2B,WAAW,CAAC;QACvE,IAAIjB,SAAS,CAACV,KAAK,CAAC,EAAE,OAAO0C,iBAAiB,CAAC1C,KAAK,CAAC;QAErDA,KAAK,GAAGyB,YAAY,CAAC0B,SAAS,GAAGrB,CAAC,GAAG7B,cAAc,CAACD,KAAK,EAAE2B,WAAW,CAAC;QACvE,IAAIjB,SAAS,CAACV,KAAK,CAAC,EAAE,OAAO0C,iBAAiB,CAAC1C,KAAK,CAAC;MACvD;IACF;IAEA,SAASsD,WAAWA,CAAE1C,CAA0B,EAAE;MAChD,IAAIhC,KAAK,CAAClB,QAAQ,EAAE;MAEpBkD,CAAC,CAACC,cAAc,CAAC,CAAC;MAElB0C,MAAM,CAACC,gBAAgB,CAAC,WAAW,EAAEb,UAAU,CAAC;MAChDY,MAAM,CAACC,gBAAgB,CAAC,WAAW,EAAEb,UAAU,CAAC;MAChDY,MAAM,CAACC,gBAAgB,CAAC,SAAS,EAAEC,SAAS,CAAC;MAC7CF,MAAM,CAACC,gBAAgB,CAAC,UAAU,EAAEC,SAAS,CAAC;MAC9CjE,gBAAgB,CAACQ,KAAK,GAAG,IAAI;MAC7BP,cAAc,CAACO,KAAK,GAAG,IAAI;MAC3BT,UAAU,CAACS,KAAK,GAAG,IAAI;MACvB2C,UAAU,CAAC/B,CAAC,CAAC;IACf;IAEA,SAAS6C,SAASA,CAAE7C,CAA0B,EAAE;MAC9CA,CAAC,CAAC8C,eAAe,CAAC,CAAC;MACnBH,MAAM,CAACI,mBAAmB,CAAC,WAAW,EAAEhB,UAAU,CAAC;MACnDY,MAAM,CAACI,mBAAmB,CAAC,WAAW,EAAEhB,UAAU,CAAC;MACnDY,MAAM,CAACI,mBAAmB,CAAC,SAAS,EAAEF,SAAS,CAAC;MAChDF,MAAM,CAACI,mBAAmB,CAAC,UAAU,EAAEF,SAAS,CAAC;MAEjDlE,UAAU,CAACS,KAAK,GAAG,KAAK;MACxB,IAAIP,cAAc,CAACO,KAAK,KAAK,IAAI,IAAIU,SAAS,CAACjB,cAAc,CAACO,KAAK,CAAC,EAAE;QACpEd,IAAI,CAAC,QAAQ,EAAEO,cAAc,CAACO,KAAK,CAAC;MACtC;IACF;IAEA9C,SAAS,CAAC,MAAM;MACd,OAAA0G,YAAA;QAAA,SAEW,CACL;UACE,qBAAqB,EAAE,IAAI;UAC3B,oCAAoC,EAAEhF,KAAK,CAACH,UAAU,IAAI,IAAI;UAC9D,+BAA+B,EAAEG,KAAK,CAACN;QACzC,CAAC,CACF;QAAA,eACagF,WAAW;QAAA,gBACVA,WAAW;QAAA,WAChB3C,KAAK;QAAA,OACTxB;MAAQ,IAAAyE,YAAA;QAAA;QAAA,OAEgCxE;MAAa,IAAAwE,YAAA;QAAA,SAEhD,CACL;UACE,2BAA2B,EAAE,IAAI;UACjC,kCAAkC,EAAE3C,OAAO,CAACrC,KAAK,CAACH,UAAoB;QACxE,CAAC,EACDiB,gBAAgB,CAACM,KAAK,CACvB;QAAA,SACM,CACL;UACE6D,SAAS,EAAG,UAASjF,KAAK,CAACL,MAAM,GAAG0B,cAAc,CAACD,KAAK,IAAIrC,cAAc,CAACqC,KAAK,GAAGpB,KAAK,CAACR,GAAG,CAAE,eAAc8C,SAAS,CAACvD,cAAc,CAACqC,KAAK,CAAE;QAC9I,CAAC,EACDL,eAAe,CAACK,KAAK;MACtB,UAIDM,WAAW,CAACN,KAAK,CAAC8D,GAAG,CAAC9D,KAAK,IAAI;QAC7B,MAAM+D,QAAQ,GAAG/D,KAAK,KAAKrC,cAAc,CAACqC,KAAK;QAE/C,OAAA4D,YAAA;UAAA,SAEW,CACL;YACE,2BAA2B,EAAE,IAAI;YACjC,mCAAmC,EAAEG,QAAQ;YAC7C,qCAAqC,EAAEnF,KAAK,CAAClB,QAAQ,IAAI,CAACgD,SAAS,CAACV,KAAK;UAC3E,CAAC,EACD+D,QAAQ,IAAInE,sBAAsB,CAACI,KAAK,CACzC;UAAA,SACM,CACL6B,YAAY,CAAC7B,KAAK,CAAC,EACnB+D,QAAQ,IAAIlE,qBAAqB,CAACG,KAAK;QACxC,IAAA4D,YAAA,gBAEOhF,KAAK,CAACf,MAAM,CAACmC,KAAK,CAAC;MAGjC,CAAC,CAAC;IAKZ,CAAC,CAAC;EACJ;AACF,CAAC,CAAC","ignoreList":[]}
|