@vuetify/nightly 3.8.6-dev.2025-05-21 → 3.8.6-master.2025-05-22
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 +10 -21
- package/dist/json/attributes.json +3598 -3634
- package/dist/json/importMap-labs.json +24 -24
- package/dist/json/importMap.json +184 -184
- package/dist/json/tags.json +0 -9
- package/dist/json/web-types.json +6522 -6697
- package/dist/vuetify-labs.cjs +223 -323
- package/dist/vuetify-labs.css +4050 -4078
- package/dist/vuetify-labs.d.ts +1350 -1508
- package/dist/vuetify-labs.esm.js +224 -324
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +223 -323
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +212 -317
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3022 -3050
- package/dist/vuetify.d.ts +517 -667
- package/dist/vuetify.esm.js +213 -318
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +212 -317
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1195 -1200
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.css +1 -6
- package/lib/components/VAlert/VAlert.d.ts +0 -35
- package/lib/components/VAlert/VAlert.js +9 -14
- package/lib/components/VAlert/VAlert.js.map +1 -1
- package/lib/components/VAlert/VAlert.sass +1 -7
- package/lib/components/VAutocomplete/VAutocomplete.d.ts +96 -120
- package/lib/components/VAutocomplete/VAutocomplete.js +1 -18
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.css +7 -30
- package/lib/components/VBtnGroup/VBtnGroup.d.ts +32 -58
- package/lib/components/VBtnGroup/VBtnGroup.js +3 -7
- package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.sass +17 -44
- package/lib/components/VBtnToggle/VBtnToggle.d.ts +0 -25
- package/lib/components/VCheckbox/VCheckbox.d.ts +3 -3
- package/lib/components/VCombobox/VCombobox.d.ts +96 -120
- package/lib/components/VCombobox/VCombobox.js +1 -19
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.d.ts +0 -10
- package/lib/components/VDatePicker/VDatePickerMonth.d.ts +0 -10
- package/lib/components/VDatePicker/VDatePickerMonth.js +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
- package/lib/components/VField/VField.d.ts +3 -3
- package/lib/components/VFileInput/VFileInput.d.ts +15 -15
- package/lib/components/VInput/VInput.d.ts +4 -4
- package/lib/components/VList/VListChildren.js.map +1 -1
- package/lib/components/VNavigationDrawer/touch.js +2 -4
- package/lib/components/VNavigationDrawer/touch.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.d.ts +89 -103
- package/lib/components/VNumberInput/VNumberInput.js +22 -29
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VOverlay/VOverlay.css +1 -1
- package/lib/components/VOverlay/_variables.scss +1 -1
- package/lib/components/VOverlay/locationStrategies.js +16 -8
- package/lib/components/VOverlay/locationStrategies.js.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.js +2 -2
- package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.d.ts +3 -3
- package/lib/components/VRangeSlider/VRangeSlider.d.ts +3 -3
- package/lib/components/VSelect/VSelect.d.ts +96 -120
- package/lib/components/VSelect/VSelect.js +37 -25
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSlider/VSlider.d.ts +3 -3
- package/lib/components/VSlider/slider.js +1 -1
- package/lib/components/VSlider/slider.js.map +1 -1
- package/lib/components/VSwitch/VSwitch.d.ts +3 -3
- package/lib/components/VTextField/VTextField.d.ts +27 -27
- package/lib/components/VTextarea/VTextarea.d.ts +15 -15
- package/lib/composables/calendar.d.ts +0 -6
- package/lib/composables/calendar.js +1 -2
- package/lib/composables/calendar.js.map +1 -1
- package/lib/composables/date/DateAdapter.d.ts +1 -1
- package/lib/composables/date/DateAdapter.js.map +1 -1
- package/lib/composables/date/adapters/vuetify.d.ts +1 -1
- package/lib/composables/date/adapters/vuetify.js +4 -4
- package/lib/composables/date/adapters/vuetify.js.map +1 -1
- package/lib/composables/date/date.d.ts +1 -1
- package/lib/composables/date/index.d.ts +0 -1
- package/lib/composables/date/index.js +0 -1
- package/lib/composables/date/index.js.map +1 -1
- package/lib/composables/filter.js +0 -3
- package/lib/composables/filter.js.map +1 -1
- package/lib/composables/goto.js +1 -1
- package/lib/composables/goto.js.map +1 -1
- package/lib/composables/theme.d.ts +1 -6
- package/lib/composables/theme.js +26 -94
- package/lib/composables/theme.js.map +1 -1
- package/lib/composables/virtual.js +1 -6
- package/lib/composables/virtual.js.map +1 -1
- package/lib/entry-bundler.d.ts +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/entry-bundler.js.map +1 -1
- package/lib/framework.d.ts +67 -72
- package/lib/framework.js +1 -1
- package/lib/framework.js.map +1 -1
- package/lib/labs/VCalendar/VCalendar.d.ts +0 -10
- package/lib/labs/VColorInput/VColorInput.d.ts +3 -3
- package/lib/labs/VDateInput/VDateInput.d.ts +87 -97
- package/lib/labs/VFileUpload/VFileUpload.d.ts +3 -3
- package/lib/labs/VIconBtn/VIconBtn.d.ts +29 -29
- package/lib/labs/VIconBtn/VIconBtn.js +11 -7
- package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
- package/lib/labs/entry-bundler.d.ts +1 -1
- package/lib/util/box.d.ts +1 -0
- package/lib/util/box.js +27 -0
- package/lib/util/box.js.map +1 -1
- package/lib/util/globals.d.ts +0 -1
- package/lib/util/globals.js +0 -1
- package/lib/util/globals.js.map +1 -1
- package/package.json +5 -7
- package/lib/composables/iconSizes.d.ts +0 -28
- package/lib/composables/iconSizes.js +0 -23
- package/lib/composables/iconSizes.js.map +0 -1
@@ -322,8 +322,8 @@ export declare const VFileUpload: {
|
|
322
322
|
rounded?: string | number | boolean | undefined;
|
323
323
|
closeDelay?: string | number | undefined;
|
324
324
|
openDelay?: string | number | undefined;
|
325
|
-
thickness?: string | number | undefined;
|
326
325
|
subtitle?: string | undefined;
|
326
|
+
thickness?: string | number | undefined;
|
327
327
|
} & {
|
328
328
|
$children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
|
329
329
|
browse?: ((arg: {
|
@@ -468,8 +468,8 @@ export declare const VFileUpload: {
|
|
468
468
|
rounded?: string | number | boolean | undefined;
|
469
469
|
closeDelay?: string | number | undefined;
|
470
470
|
openDelay?: string | number | undefined;
|
471
|
-
thickness?: string | number | undefined;
|
472
471
|
subtitle?: string | undefined;
|
472
|
+
thickness?: string | number | undefined;
|
473
473
|
} & {
|
474
474
|
$children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
|
475
475
|
browse?: ((arg: {
|
@@ -590,8 +590,8 @@ export declare const VFileUpload: {
|
|
590
590
|
rounded?: string | number | boolean | undefined;
|
591
591
|
closeDelay?: string | number | undefined;
|
592
592
|
openDelay?: string | number | undefined;
|
593
|
-
thickness?: string | number | undefined;
|
594
593
|
subtitle?: string | undefined;
|
594
|
+
thickness?: string | number | undefined;
|
595
595
|
} & {
|
596
596
|
$children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
|
597
597
|
browse?: ((arg: {
|
@@ -13,8 +13,6 @@ export declare const makeVIconBtnProps: <Defaults extends {
|
|
13
13
|
tag?: unknown;
|
14
14
|
rounded?: unknown;
|
15
15
|
tile?: unknown;
|
16
|
-
iconSize?: unknown;
|
17
|
-
iconSizes?: unknown;
|
18
16
|
elevation?: unknown;
|
19
17
|
class?: unknown;
|
20
18
|
style?: unknown;
|
@@ -30,6 +28,8 @@ export declare const makeVIconBtnProps: <Defaults extends {
|
|
30
28
|
hideOverlay?: unknown;
|
31
29
|
icon?: unknown;
|
32
30
|
iconColor?: unknown;
|
31
|
+
iconSize?: unknown;
|
32
|
+
iconSizes?: unknown;
|
33
33
|
loading?: unknown;
|
34
34
|
opacity?: unknown;
|
35
35
|
readonly?: unknown;
|
@@ -94,20 +94,6 @@ export declare const makeVIconBtnProps: <Defaults extends {
|
|
94
94
|
type: PropType<unknown extends Defaults["tile"] ? boolean : boolean | Defaults["tile"]>;
|
95
95
|
default: unknown extends Defaults["tile"] ? boolean : boolean | Defaults["tile"];
|
96
96
|
};
|
97
|
-
iconSize: unknown extends Defaults["iconSize"] ? PropType<string | number> : {
|
98
|
-
type: PropType<unknown extends Defaults["iconSize"] ? string | number : string | number | Defaults["iconSize"]>;
|
99
|
-
default: unknown extends Defaults["iconSize"] ? string | number : NonNullable<string | number> | Defaults["iconSize"];
|
100
|
-
};
|
101
|
-
iconSizes: unknown extends Defaults["iconSizes"] ? {
|
102
|
-
type: PropType<[VIconBtnSizes, number][]>;
|
103
|
-
default: () => (string | number)[][];
|
104
|
-
} : Omit<{
|
105
|
-
type: PropType<[VIconBtnSizes, number][]>;
|
106
|
-
default: () => (string | number)[][];
|
107
|
-
}, "type" | "default"> & {
|
108
|
-
type: PropType<unknown extends Defaults["iconSizes"] ? [VIconBtnSizes, number][] : [VIconBtnSizes, number][] | Defaults["iconSizes"]>;
|
109
|
-
default: unknown extends Defaults["iconSizes"] ? [VIconBtnSizes, number][] : [VIconBtnSizes, number][] | Defaults["iconSizes"];
|
110
|
-
};
|
111
97
|
elevation: unknown extends Defaults["elevation"] ? {
|
112
98
|
type: (StringConstructor | NumberConstructor)[];
|
113
99
|
validator(v: any): boolean;
|
@@ -192,6 +178,20 @@ export declare const makeVIconBtnProps: <Defaults extends {
|
|
192
178
|
type: PropType<unknown extends Defaults["iconColor"] ? string : string | Defaults["iconColor"]>;
|
193
179
|
default: unknown extends Defaults["iconColor"] ? string : string | Defaults["iconColor"];
|
194
180
|
};
|
181
|
+
iconSize: unknown extends Defaults["iconSize"] ? PropType<string | number> : {
|
182
|
+
type: PropType<unknown extends Defaults["iconSize"] ? string | number : string | number | Defaults["iconSize"]>;
|
183
|
+
default: unknown extends Defaults["iconSize"] ? string | number : NonNullable<string | number> | Defaults["iconSize"];
|
184
|
+
};
|
185
|
+
iconSizes: unknown extends Defaults["iconSizes"] ? {
|
186
|
+
type: PropType<[VIconBtnSizes, number][]>;
|
187
|
+
default: () => (string | number)[][];
|
188
|
+
} : Omit<{
|
189
|
+
type: PropType<[VIconBtnSizes, number][]>;
|
190
|
+
default: () => (string | number)[][];
|
191
|
+
}, "type" | "default"> & {
|
192
|
+
type: PropType<unknown extends Defaults["iconSizes"] ? [VIconBtnSizes, number][] : [VIconBtnSizes, number][] | Defaults["iconSizes"]>;
|
193
|
+
default: unknown extends Defaults["iconSizes"] ? [VIconBtnSizes, number][] : [VIconBtnSizes, number][] | Defaults["iconSizes"];
|
194
|
+
};
|
195
195
|
loading: unknown extends Defaults["loading"] ? BooleanConstructor : {
|
196
196
|
type: PropType<unknown extends Defaults["loading"] ? boolean : boolean | Defaults["loading"]>;
|
197
197
|
default: unknown extends Defaults["loading"] ? boolean : boolean | Defaults["loading"];
|
@@ -269,9 +269,9 @@ export declare const VIconBtn: {
|
|
269
269
|
rounded?: string | number | boolean | undefined;
|
270
270
|
activeColor?: string | undefined;
|
271
271
|
iconColor?: string | undefined;
|
272
|
-
iconSize?: string | number | undefined;
|
273
272
|
activeIcon?: IconValue | undefined;
|
274
273
|
activeVariant?: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain" | undefined;
|
274
|
+
iconSize?: string | number | undefined;
|
275
275
|
} & {
|
276
276
|
$children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
|
277
277
|
default?: (() => import("vue").VNodeChild) | undefined;
|
@@ -343,9 +343,9 @@ export declare const VIconBtn: {
|
|
343
343
|
rounded?: string | number | boolean | undefined;
|
344
344
|
activeColor?: string | undefined;
|
345
345
|
iconColor?: string | undefined;
|
346
|
-
iconSize?: string | number | undefined;
|
347
346
|
activeIcon?: IconValue | undefined;
|
348
347
|
activeVariant?: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain" | undefined;
|
348
|
+
iconSize?: string | number | undefined;
|
349
349
|
} & {
|
350
350
|
$children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
|
351
351
|
default?: (() => import("vue").VNodeChild) | undefined;
|
@@ -409,9 +409,9 @@ export declare const VIconBtn: {
|
|
409
409
|
rounded?: string | number | boolean | undefined;
|
410
410
|
activeColor?: string | undefined;
|
411
411
|
iconColor?: string | undefined;
|
412
|
-
iconSize?: string | number | undefined;
|
413
412
|
activeIcon?: IconValue | undefined;
|
414
413
|
activeVariant?: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain" | undefined;
|
414
|
+
iconSize?: string | number | undefined;
|
415
415
|
} & {
|
416
416
|
$children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
|
417
417
|
default?: (() => import("vue").VNodeChild) | undefined;
|
@@ -470,11 +470,6 @@ export declare const VIconBtn: {
|
|
470
470
|
default: undefined;
|
471
471
|
};
|
472
472
|
tile: BooleanConstructor;
|
473
|
-
iconSize: PropType<VIconBtnSizes | number | string>;
|
474
|
-
iconSizes: {
|
475
|
-
type: PropType<[VIconBtnSizes, number][]>;
|
476
|
-
default: () => (string | number)[][];
|
477
|
-
};
|
478
473
|
elevation: {
|
479
474
|
type: (StringConstructor | NumberConstructor)[];
|
480
475
|
validator(v: any): boolean;
|
@@ -502,6 +497,11 @@ export declare const VIconBtn: {
|
|
502
497
|
hideOverlay: BooleanConstructor;
|
503
498
|
icon: PropType<IconValue>;
|
504
499
|
iconColor: StringConstructor;
|
500
|
+
iconSize: PropType<VIconBtnSizes | number | string>;
|
501
|
+
iconSizes: {
|
502
|
+
type: PropType<[VIconBtnSizes, number][]>;
|
503
|
+
default: () => (string | number)[][];
|
504
|
+
};
|
505
505
|
loading: BooleanConstructor;
|
506
506
|
opacity: (StringConstructor | NumberConstructor)[];
|
507
507
|
readonly: BooleanConstructor;
|
@@ -541,11 +541,6 @@ export declare const VIconBtn: {
|
|
541
541
|
default: undefined;
|
542
542
|
};
|
543
543
|
tile: BooleanConstructor;
|
544
|
-
iconSize: PropType<VIconBtnSizes | number | string>;
|
545
|
-
iconSizes: {
|
546
|
-
type: PropType<[VIconBtnSizes, number][]>;
|
547
|
-
default: () => (string | number)[][];
|
548
|
-
};
|
549
544
|
elevation: {
|
550
545
|
type: (StringConstructor | NumberConstructor)[];
|
551
546
|
validator(v: any): boolean;
|
@@ -573,6 +568,11 @@ export declare const VIconBtn: {
|
|
573
568
|
hideOverlay: BooleanConstructor;
|
574
569
|
icon: PropType<IconValue>;
|
575
570
|
iconColor: StringConstructor;
|
571
|
+
iconSize: PropType<VIconBtnSizes | number | string>;
|
572
|
+
iconSizes: {
|
573
|
+
type: PropType<[VIconBtnSizes, number][]>;
|
574
|
+
default: () => (string | number)[][];
|
575
|
+
};
|
576
576
|
loading: BooleanConstructor;
|
577
577
|
opacity: (StringConstructor | NumberConstructor)[];
|
578
578
|
readonly: BooleanConstructor;
|
@@ -9,7 +9,6 @@ import { VProgressCircular } from "../../components/VProgressCircular/index.js";
|
|
9
9
|
import { makeBorderProps, useBorder } from "../../composables/border.js";
|
10
10
|
import { makeComponentProps } from "../../composables/component.js";
|
11
11
|
import { makeElevationProps, useElevation } from "../../composables/elevation.js";
|
12
|
-
import { makeIconSizeProps, useIconSizes } from "../../composables/iconSizes.js";
|
13
12
|
import { useProxiedModel } from "../../composables/proxiedModel.js";
|
14
13
|
import { makeRoundedProps, useRounded } from "../../composables/rounded.js";
|
15
14
|
import { makeTagProps } from "../../composables/tag.js";
|
@@ -35,6 +34,11 @@ export const makeVIconBtnProps = propsFactory({
|
|
35
34
|
hideOverlay: Boolean,
|
36
35
|
icon: [String, Function, Object],
|
37
36
|
iconColor: String,
|
37
|
+
iconSize: [Number, String],
|
38
|
+
iconSizes: {
|
39
|
+
type: Array,
|
40
|
+
default: () => [['x-small', 10], ['small', 16], ['default', 24], ['large', 28], ['x-large', 32]]
|
41
|
+
},
|
38
42
|
loading: Boolean,
|
39
43
|
opacity: [Number, String],
|
40
44
|
readonly: Boolean,
|
@@ -54,7 +58,6 @@ export const makeVIconBtnProps = propsFactory({
|
|
54
58
|
...makeBorderProps(),
|
55
59
|
...makeComponentProps(),
|
56
60
|
...makeElevationProps(),
|
57
|
-
...makeIconSizeProps(),
|
58
61
|
...makeRoundedProps(),
|
59
62
|
...makeTagProps({
|
60
63
|
tag: 'button'
|
@@ -109,6 +112,7 @@ export const VIconBtn = genericComponent()({
|
|
109
112
|
})()
|
110
113
|
}));
|
111
114
|
const btnSizeMap = new Map(props.sizes);
|
115
|
+
const iconSizeMap = new Map(props.iconSizes);
|
112
116
|
function onClick() {
|
113
117
|
if (props.disabled || props.readonly || isActive.value === undefined || props.tag === 'a' && attrs.href) return;
|
114
118
|
isActive.value = !isActive.value;
|
@@ -120,12 +124,12 @@ export const VIconBtn = genericComponent()({
|
|
120
124
|
const btnSize = hasNamedSize ? btnSizeMap.get(_btnSize) : _btnSize;
|
121
125
|
const btnHeight = props.height ?? btnSize;
|
122
126
|
const btnWidth = props.width ?? btnSize;
|
123
|
-
const
|
124
|
-
|
125
|
-
|
127
|
+
const _iconSize = props.iconSize;
|
128
|
+
const hasNamedIconSize = iconSizeMap.has(_iconSize);
|
129
|
+
const iconSize = !_iconSize ? hasNamedSize ? iconSizeMap.get(_btnSize) : iconSizeMap.get('default') : hasNamedIconSize ? iconSizeMap.get(_iconSize) : _iconSize;
|
126
130
|
const iconProps = {
|
127
131
|
icon,
|
128
|
-
size: iconSize
|
132
|
+
size: iconSize,
|
129
133
|
iconColor: props.iconColor,
|
130
134
|
opacity: props.opacity
|
131
135
|
};
|
@@ -168,7 +172,7 @@ export const VIconBtn = genericComponent()({
|
|
168
172
|
"color": typeof props.loading === 'boolean' ? undefined : props.loading,
|
169
173
|
"indeterminate": "disable-shrink",
|
170
174
|
"width": "2",
|
171
|
-
"size": iconSize
|
175
|
+
"size": iconSize
|
172
176
|
}, null)])]
|
173
177
|
});
|
174
178
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VIconBtn.js","names":["VDefaultsProvider","VIcon","VProgressCircular","makeBorderProps","useBorder","makeComponentProps","makeElevationProps","useElevation","makeIconSizeProps","useIconSizes","useProxiedModel","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","toDisplayString","convertToUnit","genericComponent","propsFactory","useRender","makeVIconBtnProps","active","type","Boolean","default","undefined","activeColor","String","activeIcon","Function","Object","activeVariant","baseVariant","disabled","height","Number","width","hideOverlay","icon","iconColor","loading","opacity","readonly","rotate","size","sizes","Array","text","tag","variant","VIconBtn","name","props","emits","value","setup","_ref","attrs","slots","isActive","themeClasses","borderClasses","elevationClasses","roundedClasses","colorClasses","colorStyles","variantClasses","color","btnSizeMap","Map","onClick","href","_btnSize","hasNamedSize","has","btnSize","get","btnHeight","btnWidth","iconSize","iconSizes","iconProps","_createVNode","class","style","_mergeProps","loader"],"sources":["../../../src/labs/VIconBtn/VIconBtn.tsx"],"sourcesContent":["// Styles\nimport './VIconBtn.scss'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeIconSizeProps, useIconSizes } from '@/composables/iconSizes'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { toDisplayString } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { IconValue } from '@/composables/icons'\nimport type { Variant } from '@/composables/variant'\n\nexport type VIconBtnSlots = {\n default: never\n loader: never\n}\n\nexport type VIconBtnSizes = 'x-small' | 'small' | 'default' | 'large' | 'x-large'\n\nexport const makeVIconBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeColor: String,\n activeIcon: [String, Function, Object] as PropType<IconValue>,\n activeVariant: String as PropType<Variant>,\n baseVariant: {\n type: String as PropType<Variant>,\n default: 'tonal',\n },\n disabled: Boolean,\n height: [Number, String],\n width: [Number, String],\n hideOverlay: Boolean,\n icon: [String, Function, Object] as PropType<IconValue>,\n iconColor: String,\n loading: Boolean,\n opacity: [Number, String],\n readonly: Boolean,\n rotate: [Number, String],\n size: {\n type: [Number, String] as PropType<VIconBtnSizes | number | string>,\n default: 'default',\n },\n sizes: {\n type: Array as PropType<[VIconBtnSizes, number][]>,\n default: () => ([\n ['x-small', 16],\n ['small', 24],\n ['default', 40],\n ['large', 48],\n ['x-large', 56],\n ]),\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeIconSizeProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VIconBtn')\n\nexport const VIconBtn = genericComponent<VIconBtnSlots>()({\n name: 'VIconBtn',\n\n props: makeVIconBtnProps(),\n\n emits: {\n 'update:active': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'active')\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => ({\n color: (() => {\n if (props.disabled) return undefined\n if (!isActive.value) return props.color\n // Use an inline fallback as opposed to setting a default color\n // because non-toggle buttons are default flat whereas toggle\n // buttons are default tonal and active flat. The exact use\n // case for this is a toggle button with no active color.\n return props.activeColor ?? props.color ?? 'surface-variant'\n })(),\n variant: (() => {\n if (isActive.value === undefined) return props.variant\n if (isActive.value) return props.activeVariant ?? props.variant\n return props.baseVariant ?? props.variant\n })(),\n }))\n\n const btnSizeMap = new Map(props.sizes)\n\n function onClick () {\n if (\n props.disabled ||\n props.readonly ||\n isActive.value === undefined ||\n (props.tag === 'a' && attrs.href)\n ) return\n\n isActive.value = !isActive.value\n }\n\n useRender(() => {\n const icon = isActive.value ? props.activeIcon ?? props.icon : props.icon\n\n const _btnSize = props.size as VIconBtnSizes\n const hasNamedSize = btnSizeMap.has(_btnSize)\n const btnSize = hasNamedSize ? btnSizeMap.get(_btnSize) : _btnSize\n const btnHeight = props.height ?? btnSize\n const btnWidth = props.width ?? btnSize\n const { iconSize } = useIconSizes(props, () => new Map(props.iconSizes).get(_btnSize))\n\n const iconProps = {\n icon,\n size: iconSize.value,\n iconColor: props.iconColor,\n opacity: props.opacity,\n }\n\n return (\n <props.tag\n class={[\n {\n 'v-icon-btn': true,\n 'v-icon-btn--active': isActive.value,\n 'v-icon-btn--disabled': props.disabled,\n 'v-icon-btn--loading': props.loading,\n 'v-icon-btn--readonly': props.readonly,\n [`v-icon-btn--${props.size}`]: true,\n },\n themeClasses.value,\n colorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n {\n '--v-icon-btn-rotate': convertToUnit(props.rotate, 'deg'),\n '--v-icon-btn-height': convertToUnit(btnHeight),\n '--v-icon-btn-width': convertToUnit(btnWidth),\n },\n colorStyles.value,\n props.style,\n ]}\n tabindex={ props.disabled || props.readonly ? -1 : 0 }\n onClick={ onClick }\n >\n { genOverlays(!props.hideOverlay, 'v-icon-btn') }\n\n <div class=\"v-icon-btn__content\" data-no-activator=\"\">\n { (!slots.default && icon) ? (\n <VIcon\n key=\"content-icon\"\n { ...iconProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"content-defaults\"\n disabled={ !icon }\n defaults={{ VIcon: { ...iconProps } }}\n v-slots={{\n default: () => slots.default?.() ?? toDisplayString(props.text),\n }}\n />\n )}\n </div>\n\n { !!props.loading && (\n <span key=\"loader\" class=\"v-icon-btn__loader\">\n { slots.loader?.() ?? (\n <VProgressCircular\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate=\"disable-shrink\"\n width=\"2\"\n size={ iconSize.value }\n />\n )}\n </span>\n )}\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VIconBtn = InstanceType<typeof VIconBtn>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VIconBtn.js","names":["VDefaultsProvider","VIcon","VProgressCircular","makeBorderProps","useBorder","makeComponentProps","makeElevationProps","useElevation","useProxiedModel","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","toDisplayString","convertToUnit","genericComponent","propsFactory","useRender","makeVIconBtnProps","active","type","Boolean","default","undefined","activeColor","String","activeIcon","Function","Object","activeVariant","baseVariant","disabled","height","Number","width","hideOverlay","icon","iconColor","iconSize","iconSizes","Array","loading","opacity","readonly","rotate","size","sizes","text","tag","variant","VIconBtn","name","props","emits","value","setup","_ref","attrs","slots","isActive","themeClasses","borderClasses","elevationClasses","roundedClasses","colorClasses","colorStyles","variantClasses","color","btnSizeMap","Map","iconSizeMap","onClick","href","_btnSize","hasNamedSize","has","btnSize","get","btnHeight","btnWidth","_iconSize","hasNamedIconSize","iconProps","_createVNode","class","style","_mergeProps","loader"],"sources":["../../../src/labs/VIconBtn/VIconBtn.tsx"],"sourcesContent":["// Styles\nimport './VIconBtn.scss'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { toDisplayString } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { IconValue } from '@/composables/icons'\nimport type { Variant } from '@/composables/variant'\n\nexport type VIconBtnSlots = {\n default: never\n loader: never\n}\n\nexport type VIconBtnSizes = 'x-small' | 'small' | 'default' | 'large' | 'x-large'\n\nexport const makeVIconBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeColor: String,\n activeIcon: [String, Function, Object] as PropType<IconValue>,\n activeVariant: String as PropType<Variant>,\n baseVariant: {\n type: String as PropType<Variant>,\n default: 'tonal',\n },\n disabled: Boolean,\n height: [Number, String],\n width: [Number, String],\n hideOverlay: Boolean,\n icon: [String, Function, Object] as PropType<IconValue>,\n iconColor: String,\n iconSize: [Number, String] as PropType<VIconBtnSizes | number | string>,\n iconSizes: {\n type: Array as PropType<[VIconBtnSizes, number][]>,\n default: () => ([\n ['x-small', 10],\n ['small', 16],\n ['default', 24],\n ['large', 28],\n ['x-large', 32],\n ]),\n },\n loading: Boolean,\n opacity: [Number, String],\n readonly: Boolean,\n rotate: [Number, String],\n size: {\n type: [Number, String] as PropType<VIconBtnSizes | number | string>,\n default: 'default',\n },\n sizes: {\n type: Array as PropType<[VIconBtnSizes, number][]>,\n default: () => ([\n ['x-small', 16],\n ['small', 24],\n ['default', 40],\n ['large', 48],\n ['x-large', 56],\n ]),\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VIconBtn')\n\nexport const VIconBtn = genericComponent<VIconBtnSlots>()({\n name: 'VIconBtn',\n\n props: makeVIconBtnProps(),\n\n emits: {\n 'update:active': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'active')\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => ({\n color: (() => {\n if (props.disabled) return undefined\n if (!isActive.value) return props.color\n // Use an inline fallback as opposed to setting a default color\n // because non-toggle buttons are default flat whereas toggle\n // buttons are default tonal and active flat. The exact use\n // case for this is a toggle button with no active color.\n return props.activeColor ?? props.color ?? 'surface-variant'\n })(),\n variant: (() => {\n if (isActive.value === undefined) return props.variant\n if (isActive.value) return props.activeVariant ?? props.variant\n return props.baseVariant ?? props.variant\n })(),\n }))\n\n const btnSizeMap = new Map(props.sizes)\n const iconSizeMap = new Map(props.iconSizes)\n\n function onClick () {\n if (\n props.disabled ||\n props.readonly ||\n isActive.value === undefined ||\n (props.tag === 'a' && attrs.href)\n ) return\n\n isActive.value = !isActive.value\n }\n\n useRender(() => {\n const icon = isActive.value ? props.activeIcon ?? props.icon : props.icon\n\n const _btnSize = props.size as VIconBtnSizes\n const hasNamedSize = btnSizeMap.has(_btnSize)\n const btnSize = hasNamedSize ? btnSizeMap.get(_btnSize) : _btnSize\n const btnHeight = props.height ?? btnSize\n const btnWidth = props.width ?? btnSize\n\n const _iconSize = props.iconSize as VIconBtnSizes\n const hasNamedIconSize = iconSizeMap.has(_iconSize)\n\n const iconSize = !_iconSize\n ? hasNamedSize ? iconSizeMap.get(_btnSize) : iconSizeMap.get('default')\n : hasNamedIconSize ? iconSizeMap.get(_iconSize) : _iconSize\n\n const iconProps = { icon, size: iconSize, iconColor: props.iconColor, opacity: props.opacity }\n\n return (\n <props.tag\n class={[\n {\n 'v-icon-btn': true,\n 'v-icon-btn--active': isActive.value,\n 'v-icon-btn--disabled': props.disabled,\n 'v-icon-btn--loading': props.loading,\n 'v-icon-btn--readonly': props.readonly,\n [`v-icon-btn--${props.size}`]: true,\n },\n themeClasses.value,\n colorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n {\n '--v-icon-btn-rotate': convertToUnit(props.rotate, 'deg'),\n '--v-icon-btn-height': convertToUnit(btnHeight),\n '--v-icon-btn-width': convertToUnit(btnWidth),\n },\n colorStyles.value,\n props.style,\n ]}\n tabindex={ props.disabled || props.readonly ? -1 : 0 }\n onClick={ onClick }\n >\n { genOverlays(!props.hideOverlay, 'v-icon-btn') }\n\n <div class=\"v-icon-btn__content\" data-no-activator=\"\">\n { (!slots.default && icon) ? (\n <VIcon\n key=\"content-icon\"\n { ...iconProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"content-defaults\"\n disabled={ !icon }\n defaults={{ VIcon: { ...iconProps } }}\n v-slots={{\n default: () => slots.default?.() ?? toDisplayString(props.text),\n }}\n />\n )}\n </div>\n\n { !!props.loading && (\n <span key=\"loader\" class=\"v-icon-btn__loader\">\n { slots.loader?.() ?? (\n <VProgressCircular\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate=\"disable-shrink\"\n width=\"2\"\n size={ iconSize }\n />\n )}\n </span>\n )}\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VIconBtn = InstanceType<typeof VIconBtn>\n"],"mappings":"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","ignoreList":[]}
|
@@ -58,7 +58,7 @@ export declare const createVuetify: (options?: VuetifyOptions) => {
|
|
58
58
|
setYear: (date: unknown, year: number) => unknown;
|
59
59
|
getDiff: (date: unknown, comparing: unknown, unit?: string) => number;
|
60
60
|
getWeekArray: (date: unknown, firstDayOfWeek?: number | string) => unknown[][];
|
61
|
-
getWeekdays: (firstDayOfWeek?: number | string
|
61
|
+
getWeekdays: (firstDayOfWeek?: number | string) => string[];
|
62
62
|
getWeek: (date: unknown, firstDayOfWeek?: number | string, firstWeekMinSize?: number) => number;
|
63
63
|
getMonth: (date: unknown) => number;
|
64
64
|
setMonth: (date: unknown, month: number) => unknown;
|
package/lib/util/box.d.ts
CHANGED
package/lib/util/box.js
CHANGED
@@ -48,4 +48,31 @@ export function getTargetBox(target) {
|
|
48
48
|
return target.getBoundingClientRect();
|
49
49
|
}
|
50
50
|
}
|
51
|
+
export function getElementBox(el) {
|
52
|
+
if (el === document.documentElement) {
|
53
|
+
if (!visualViewport) {
|
54
|
+
return new Box({
|
55
|
+
x: 0,
|
56
|
+
y: 0,
|
57
|
+
width: document.documentElement.clientWidth,
|
58
|
+
height: document.documentElement.clientHeight
|
59
|
+
});
|
60
|
+
} else {
|
61
|
+
return new Box({
|
62
|
+
x: visualViewport.scale > 1 ? 0 : visualViewport.offsetLeft,
|
63
|
+
y: visualViewport.scale > 1 ? 0 : visualViewport.offsetTop,
|
64
|
+
width: visualViewport.width * visualViewport.scale,
|
65
|
+
height: visualViewport.height * visualViewport.scale
|
66
|
+
});
|
67
|
+
}
|
68
|
+
} else {
|
69
|
+
const rect = el.getBoundingClientRect();
|
70
|
+
return new Box({
|
71
|
+
x: rect.x,
|
72
|
+
y: rect.y,
|
73
|
+
width: el.clientWidth,
|
74
|
+
height: el.clientHeight
|
75
|
+
});
|
76
|
+
}
|
77
|
+
}
|
51
78
|
//# sourceMappingURL=box.js.map
|
package/lib/util/box.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"box.js","names":["Box","constructor","_ref","x","y","width","height","top","bottom","left","right","getOverflow","a","b","before","Math","max","after","getTargetBox","target","Array","isArray","getBoundingClientRect"],"sources":["../../src/util/box.ts"],"sourcesContent":["export class Box {\n x: number\n y: number\n width: number\n height: number\n\n constructor ({ x, y, width, height }: {\n x: number\n y: number\n width: number\n height: number\n }) {\n this.x = x\n this.y = y\n this.width = width\n this.height = height\n }\n\n get top () { return this.y }\n get bottom () { return this.y + this.height }\n get left () { return this.x }\n get right () { return this.x + this.width }\n}\n\nexport function getOverflow (a: Box, b: Box) {\n return {\n x: {\n before: Math.max(0, b.left - a.left),\n after: Math.max(0, a.right - b.right),\n },\n y: {\n before: Math.max(0, b.top - a.top),\n after: Math.max(0, a.bottom - b.bottom),\n },\n }\n}\n\nexport function getTargetBox (target: HTMLElement | [x: number, y: number]): Box {\n if (Array.isArray(target)) {\n return new Box({\n x: target[0],\n y: target[1],\n width: 0,\n height: 0,\n })\n } else {\n return target.getBoundingClientRect()\n }\n}\n"],"mappings":"AAAA,OAAO,MAAMA,GAAG,CAAC;EAMfC,WAAWA,CAAAC,IAAA,EAKR;IAAA,IALU;MAAEC,CAAC;MAAEC,CAAC;MAAEC,KAAK;MAAEC;IAK5B,CAAC,GAAAJ,IAAA;IACC,IAAI,CAACC,CAAC,GAAGA,CAAC;IACV,IAAI,CAACC,CAAC,GAAGA,CAAC;IACV,IAAI,CAACC,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,MAAM,GAAGA,MAAM;EACtB;EAEA,IAAIC,GAAGA,CAAA,EAAI;IAAE,OAAO,IAAI,CAACH,CAAC;EAAC;EAC3B,IAAII,MAAMA,CAAA,EAAI;IAAE,OAAO,IAAI,CAACJ,CAAC,GAAG,IAAI,CAACE,MAAM;EAAC;EAC5C,IAAIG,IAAIA,CAAA,EAAI;IAAE,OAAO,IAAI,CAACN,CAAC;EAAC;EAC5B,IAAIO,KAAKA,CAAA,EAAI;IAAE,OAAO,IAAI,CAACP,CAAC,GAAG,IAAI,CAACE,KAAK;EAAC;AAC5C;AAEA,OAAO,SAASM,WAAWA,CAAEC,CAAM,EAAEC,CAAM,EAAE;EAC3C,OAAO;IACLV,CAAC,EAAE;MACDW,MAAM,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEH,CAAC,CAACJ,IAAI,GAAGG,CAAC,CAACH,IAAI,CAAC;MACpCQ,KAAK,EAAEF,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEJ,CAAC,CAACF,KAAK,GAAGG,CAAC,CAACH,KAAK;IACtC,CAAC;IACDN,CAAC,EAAE;MACDU,MAAM,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEH,CAAC,CAACN,GAAG,GAAGK,CAAC,CAACL,GAAG,CAAC;MAClCU,KAAK,EAAEF,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEJ,CAAC,CAACJ,MAAM,GAAGK,CAAC,CAACL,MAAM;IACxC;EACF,CAAC;AACH;AAEA,OAAO,SAASU,YAAYA,CAAEC,MAA4C,EAAO;EAC/E,IAAIC,KAAK,CAACC,OAAO,CAACF,MAAM,CAAC,EAAE;IACzB,OAAO,IAAInB,GAAG,CAAC;MACbG,CAAC,EAAEgB,MAAM,CAAC,CAAC,CAAC;MACZf,CAAC,EAAEe,MAAM,CAAC,CAAC,CAAC;MACZd,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE;IACV,CAAC,CAAC;EACJ,CAAC,MAAM;IACL,OAAOa,MAAM,CAACG,qBAAqB,CAAC,CAAC;EACvC;AACF","ignoreList":[]}
|
1
|
+
{"version":3,"file":"box.js","names":["Box","constructor","_ref","x","y","width","height","top","bottom","left","right","getOverflow","a","b","before","Math","max","after","getTargetBox","target","Array","isArray","getBoundingClientRect","getElementBox","el","document","documentElement","visualViewport","clientWidth","clientHeight","scale","offsetLeft","offsetTop","rect"],"sources":["../../src/util/box.ts"],"sourcesContent":["export class Box {\n x: number\n y: number\n width: number\n height: number\n\n constructor ({ x, y, width, height }: {\n x: number\n y: number\n width: number\n height: number\n }) {\n this.x = x\n this.y = y\n this.width = width\n this.height = height\n }\n\n get top () { return this.y }\n get bottom () { return this.y + this.height }\n get left () { return this.x }\n get right () { return this.x + this.width }\n}\n\nexport function getOverflow (a: Box, b: Box) {\n return {\n x: {\n before: Math.max(0, b.left - a.left),\n after: Math.max(0, a.right - b.right),\n },\n y: {\n before: Math.max(0, b.top - a.top),\n after: Math.max(0, a.bottom - b.bottom),\n },\n }\n}\n\nexport function getTargetBox (target: HTMLElement | [x: number, y: number]): Box {\n if (Array.isArray(target)) {\n return new Box({\n x: target[0],\n y: target[1],\n width: 0,\n height: 0,\n })\n } else {\n return target.getBoundingClientRect()\n }\n}\n\nexport function getElementBox (el: HTMLElement) {\n if (el === document.documentElement) {\n if (!visualViewport) {\n return new Box({\n x: 0,\n y: 0,\n width: document.documentElement.clientWidth,\n height: document.documentElement.clientHeight,\n })\n } else {\n return new Box({\n x: visualViewport.scale > 1 ? 0 : visualViewport.offsetLeft,\n y: visualViewport.scale > 1 ? 0 : visualViewport.offsetTop,\n width: visualViewport.width * visualViewport.scale,\n height: visualViewport.height * visualViewport.scale,\n })\n }\n } else {\n const rect = el.getBoundingClientRect()\n return new Box({\n x: rect.x,\n y: rect.y,\n width: el.clientWidth,\n height: el.clientHeight,\n })\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/lib/util/globals.d.ts
CHANGED
package/lib/util/globals.js
CHANGED
@@ -2,5 +2,4 @@ export const IN_BROWSER = typeof window !== 'undefined';
|
|
2
2
|
export const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;
|
3
3
|
export const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0);
|
4
4
|
export const SUPPORTS_EYE_DROPPER = IN_BROWSER && 'EyeDropper' in window;
|
5
|
-
export const SUPPORTS_MATCH_MEDIA = IN_BROWSER && 'matchMedia' in window && typeof window.matchMedia === 'function';
|
6
5
|
//# sourceMappingURL=globals.js.map
|
package/lib/util/globals.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"globals.js","names":["IN_BROWSER","window","SUPPORTS_INTERSECTION","SUPPORTS_TOUCH","navigator","maxTouchPoints","SUPPORTS_EYE_DROPPER"
|
1
|
+
{"version":3,"file":"globals.js","names":["IN_BROWSER","window","SUPPORTS_INTERSECTION","SUPPORTS_TOUCH","navigator","maxTouchPoints","SUPPORTS_EYE_DROPPER"],"sources":["../../src/util/globals.ts"],"sourcesContent":["export const IN_BROWSER = typeof window !== 'undefined'\nexport const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window\nexport const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0)\nexport const SUPPORTS_EYE_DROPPER = IN_BROWSER && 'EyeDropper' in window\n"],"mappings":"AAAA,OAAO,MAAMA,UAAU,GAAG,OAAOC,MAAM,KAAK,WAAW;AACvD,OAAO,MAAMC,qBAAqB,GAAGF,UAAU,IAAI,sBAAsB,IAAIC,MAAM;AACnF,OAAO,MAAME,cAAc,GAAGH,UAAU,KAAK,cAAc,IAAIC,MAAM,IAAIA,MAAM,CAACG,SAAS,CAACC,cAAc,GAAG,CAAC,CAAC;AAC7G,OAAO,MAAMC,oBAAoB,GAAGN,UAAU,IAAI,YAAY,IAAIC,MAAM","ignoreList":[]}
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@vuetify/nightly",
|
3
3
|
"description": "Vue Material Component Framework",
|
4
|
-
"version": "3.8.6-
|
4
|
+
"version": "3.8.6-master.2025-05-22",
|
5
5
|
"author": {
|
6
6
|
"name": "John Leider",
|
7
7
|
"email": "john@vuetifyjs.com"
|
@@ -76,8 +76,6 @@
|
|
76
76
|
"./labs/components": "./lib/labs/components.js",
|
77
77
|
"./labs/*": "./lib/labs/*/index.js",
|
78
78
|
"./util/colors": "./lib/util/colors.js",
|
79
|
-
"./date/adapters/*": "./lib/composables/date/adapters/*.js",
|
80
|
-
"./util/transitions": "./lib/components/transitions/createTransition.js",
|
81
79
|
"./dist/vuetify.js": {
|
82
80
|
"types": "./dist/vuetify.d.ts",
|
83
81
|
"import": "./dist/vuetify.esm.js",
|
@@ -106,15 +104,15 @@
|
|
106
104
|
"node": "^12.20 || >=14.13"
|
107
105
|
},
|
108
106
|
"scripts": {
|
109
|
-
"watch": "
|
107
|
+
"watch": "pnpm build:lib --watch",
|
110
108
|
"dev": "NODE_ENV=development vite",
|
111
109
|
"dev:ssr": "NODE_ENV=development VITE_SSR=true vite-ssr",
|
112
110
|
"dev:prod": "vite build -w",
|
113
111
|
"dev:typecheck": "vue-tsc --noEmit --skipLibCheck --project ./tsconfig.dev.json",
|
114
|
-
"build": "rimraf lib dist &&
|
112
|
+
"build": "rimraf lib dist && pnpm build:lib && concurrently \"pnpm build:dist\" \"pnpm build:types:lib\" -n \"dist,types\" --kill-others-on-fail -gr && pnpm build:types:bundle",
|
115
113
|
"build:dist": "rollup --config build/rollup.config.js",
|
116
114
|
"build:lib": "NODE_ENV=lib babel src --out-dir lib --source-maps --extensions \".ts\",\".tsx\",\".snap\" --copy-files --no-copy-ignored --out-file-extension .js",
|
117
|
-
"build:types": "
|
115
|
+
"build:types": "pnpm build:types:lib && pnpm build:types:bundle",
|
118
116
|
"build:types:lib": "tspc --pretty --emitDeclarationOnly -p tsconfig.dist.json && node build/transform-types.js",
|
119
117
|
"build:types:bundle": "rollup --config build/rollup.types.config.js",
|
120
118
|
"tsc": "tsc",
|
@@ -122,7 +120,7 @@
|
|
122
120
|
"test:unit": "vitest --project unit",
|
123
121
|
"test:browser": "vitest --project browser",
|
124
122
|
"test:open": "TEST_BAIL=1 vitest --project browser -w",
|
125
|
-
"test:coverage": "
|
123
|
+
"test:coverage": "pnpm test --coverage",
|
126
124
|
"test:percy": "percy exec -- vitest --project browser",
|
127
125
|
"test:all": "concurrently -gr 'vitest --project unit' 'vitest --project browser --shard=1/5' 'vitest --project browser --shard=2/5' 'vitest --project browser --shard=3/5' 'vitest --project browser --shard=4/5' 'vitest --project browser --shard=5/5'",
|
128
126
|
"lint": "concurrently -n \"tsc,eslint\" --kill-others-on-fail \"tsc -p tsconfig.checks.json --noEmit --pretty\" \"eslint src -f codeframe --max-warnings 0\"",
|
@@ -1,28 +0,0 @@
|
|
1
|
-
import type { ComputedGetter, PropType } from 'vue';
|
2
|
-
import type { VIconBtnSizes } from "../labs/VIconBtn/VIconBtn.js";
|
3
|
-
export interface IconSizeProps {
|
4
|
-
iconSize?: VIconBtnSizes | number | string;
|
5
|
-
iconSizes: [VIconBtnSizes, number][];
|
6
|
-
}
|
7
|
-
export declare const makeIconSizeProps: <Defaults extends {
|
8
|
-
iconSize?: unknown;
|
9
|
-
iconSizes?: unknown;
|
10
|
-
} = {}>(defaults?: Defaults | undefined) => {
|
11
|
-
iconSize: unknown extends Defaults["iconSize"] ? PropType<string | number> : {
|
12
|
-
type: PropType<unknown extends Defaults["iconSize"] ? string | number : string | number | Defaults["iconSize"]>;
|
13
|
-
default: unknown extends Defaults["iconSize"] ? string | number : NonNullable<string | number> | Defaults["iconSize"];
|
14
|
-
};
|
15
|
-
iconSizes: unknown extends Defaults["iconSizes"] ? {
|
16
|
-
type: PropType<[VIconBtnSizes, number][]>;
|
17
|
-
default: () => (string | number)[][];
|
18
|
-
} : Omit<{
|
19
|
-
type: PropType<[VIconBtnSizes, number][]>;
|
20
|
-
default: () => (string | number)[][];
|
21
|
-
}, "type" | "default"> & {
|
22
|
-
type: PropType<unknown extends Defaults["iconSizes"] ? [VIconBtnSizes, number][] : [VIconBtnSizes, number][] | Defaults["iconSizes"]>;
|
23
|
-
default: unknown extends Defaults["iconSizes"] ? [VIconBtnSizes, number][] : [VIconBtnSizes, number][] | Defaults["iconSizes"];
|
24
|
-
};
|
25
|
-
};
|
26
|
-
export declare function useIconSizes(props: IconSizeProps, fallback: ComputedGetter<VIconBtnSizes | number | string | undefined>): {
|
27
|
-
iconSize: import("vue").ComputedRef<number | VIconBtnSizes | undefined>;
|
28
|
-
};
|
@@ -1,23 +0,0 @@
|
|
1
|
-
// Utilities
|
2
|
-
import { computed } from 'vue';
|
3
|
-
import { propsFactory } from "../util/index.js"; // Types
|
4
|
-
// Types
|
5
|
-
// Composables
|
6
|
-
export const makeIconSizeProps = propsFactory({
|
7
|
-
iconSize: [Number, String],
|
8
|
-
iconSizes: {
|
9
|
-
type: Array,
|
10
|
-
default: () => [['x-small', 10], ['small', 16], ['default', 24], ['large', 28], ['x-large', 32]]
|
11
|
-
}
|
12
|
-
}, 'iconSize');
|
13
|
-
export function useIconSizes(props, fallback) {
|
14
|
-
const iconSize = computed(() => {
|
15
|
-
const iconSizeMap = new Map(props.iconSizes);
|
16
|
-
const _iconSize = props.iconSize ?? fallback() ?? 'default';
|
17
|
-
return iconSizeMap.has(_iconSize) ? iconSizeMap.get(_iconSize) : _iconSize;
|
18
|
-
});
|
19
|
-
return {
|
20
|
-
iconSize
|
21
|
-
};
|
22
|
-
}
|
23
|
-
//# sourceMappingURL=iconSizes.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"iconSizes.js","names":["computed","propsFactory","makeIconSizeProps","iconSize","Number","String","iconSizes","type","Array","default","useIconSizes","props","fallback","iconSizeMap","Map","_iconSize","has","get"],"sources":["../../src/composables/iconSizes.ts"],"sourcesContent":["// Utilities\nimport { computed } from 'vue'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { ComputedGetter, PropType } from 'vue'\nimport type { VIconBtnSizes } from '@/labs/VIconBtn/VIconBtn'\n\n// Types\nexport interface IconSizeProps {\n iconSize?: VIconBtnSizes | number | string\n iconSizes: [VIconBtnSizes, number][]\n}\n\n// Composables\nexport const makeIconSizeProps = propsFactory({\n iconSize: [Number, String] as PropType<VIconBtnSizes | number | string>,\n iconSizes: {\n type: Array as PropType<[VIconBtnSizes, number][]>,\n default: () => ([\n ['x-small', 10],\n ['small', 16],\n ['default', 24],\n ['large', 28],\n ['x-large', 32],\n ]),\n },\n}, 'iconSize')\n\nexport function useIconSizes (props: IconSizeProps, fallback: ComputedGetter<VIconBtnSizes | number | string | undefined>) {\n const iconSize = computed(() => {\n const iconSizeMap = new Map(props.iconSizes)\n const _iconSize = props.iconSize as VIconBtnSizes ?? fallback() ?? 'default'\n return iconSizeMap.has(_iconSize)\n ? iconSizeMap.get(_iconSize)\n : _iconSize\n })\n\n return { iconSize }\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,QAAQ,KAAK;AAAA,SACrBC,YAAY,4BAErB;AAIA;AAMA;AACA,OAAO,MAAMC,iBAAiB,GAAGD,YAAY,CAAC;EAC5CE,QAAQ,EAAE,CAACC,MAAM,EAAEC,MAAM,CAA8C;EACvEC,SAAS,EAAE;IACTC,IAAI,EAAEC,KAA4C;IAClDC,OAAO,EAAEA,CAAA,KAAO,CACd,CAAC,SAAS,EAAE,EAAE,CAAC,EACf,CAAC,OAAO,EAAE,EAAE,CAAC,EACb,CAAC,SAAS,EAAE,EAAE,CAAC,EACf,CAAC,OAAO,EAAE,EAAE,CAAC,EACb,CAAC,SAAS,EAAE,EAAE,CAAC;EAEnB;AACF,CAAC,EAAE,UAAU,CAAC;AAEd,OAAO,SAASC,YAAYA,CAAEC,KAAoB,EAAEC,QAAqE,EAAE;EACzH,MAAMT,QAAQ,GAAGH,QAAQ,CAAC,MAAM;IAC9B,MAAMa,WAAW,GAAG,IAAIC,GAAG,CAACH,KAAK,CAACL,SAAS,CAAC;IAC5C,MAAMS,SAAS,GAAGJ,KAAK,CAACR,QAAQ,IAAqBS,QAAQ,CAAC,CAAC,IAAI,SAAS;IAC5E,OAAOC,WAAW,CAACG,GAAG,CAACD,SAAS,CAAC,GAC7BF,WAAW,CAACI,GAAG,CAACF,SAAS,CAAC,GAC1BA,SAAS;EACf,CAAC,CAAC;EAEF,OAAO;IAAEZ;EAAS,CAAC;AACrB","ignoreList":[]}
|