vuetify 3.1.14 → 3.1.15
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/dist/json/attributes.json +149 -97
- package/dist/json/importMap.json +70 -70
- package/dist/json/tags.json +13 -0
- package/dist/json/web-types.json +440 -209
- package/dist/vuetify-labs.css +161 -152
- package/dist/vuetify-labs.d.ts +518 -160
- package/dist/vuetify-labs.esm.js +176 -116
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +176 -116
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +11 -2
- package/dist/vuetify.d.ts +486 -161
- package/dist/vuetify.esm.js +118 -68
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +118 -68
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +728 -717
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.css +9 -0
- package/lib/components/VAutocomplete/VAutocomplete.mjs +50 -6
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +10 -0
- package/lib/components/VAutocomplete/index.d.ts +29 -17
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/index.d.ts +21 -16
- package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/index.d.ts +22 -1
- package/lib/components/VCombobox/VCombobox.css +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +6 -4
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.sass +1 -1
- package/lib/components/VCombobox/index.d.ts +29 -17
- package/lib/components/VField/index.d.ts +6 -0
- package/lib/components/VFileInput/VFileInput.mjs +13 -17
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.ts +68 -23
- package/lib/components/VInput/VInput.mjs +14 -7
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/index.d.ts +22 -1
- package/lib/components/VOverlay/locationStrategies.mjs +9 -4
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -2
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.ts +22 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs +2 -2
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRangeSlider/index.d.ts +22 -1
- package/lib/components/VSelect/VSelect.mjs +6 -0
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +32 -17
- package/lib/components/VSlider/VSlider.mjs +2 -2
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/index.d.ts +22 -1
- package/lib/components/VSwitch/VSwitch.mjs +5 -3
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/index.d.ts +43 -1
- package/lib/components/VTextField/VTextField.mjs +4 -12
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.d.ts +70 -22
- package/lib/components/VTextarea/VTextarea.mjs +4 -12
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/index.d.ts +61 -22
- package/lib/components/VTreeview/_mixins.sass +0 -0
- package/lib/components/VTreeview/util/filterTreeItems.mjs +0 -0
- package/lib/components/VValidation/index.d.ts +10 -1
- package/lib/components/index.d.ts +465 -140
- package/lib/composables/focus.mjs +3 -2
- package/lib/composables/focus.mjs.map +1 -1
- package/lib/composables/items.mjs +7 -2
- package/lib/composables/items.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/iconsets/mdi-svg.mjs +2 -2
- package/lib/iconsets/mdi-svg.mjs.map +1 -1
- package/lib/index.d.ts +21 -21
- package/lib/labs/VDataTable/VDataTable.mjs +2 -2
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +52 -44
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +2 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +0 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/options.mjs +2 -1
- package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.ts +44 -11
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +1 -0
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
- package/lib/labs/VSkeletonLoader/index.d.ts +9 -9
- package/lib/labs/components.d.ts +53 -20
- package/lib/locale/el.mjs +0 -0
- package/lib/locale/index.mjs +0 -0
- package/package.json +2 -2
|
@@ -53,6 +53,7 @@ declare const VRangeSlider: {
|
|
|
53
53
|
errorMessages: string | string[];
|
|
54
54
|
maxErrors: string | number;
|
|
55
55
|
rules: ValidationRule[];
|
|
56
|
+
persistentHint: boolean;
|
|
56
57
|
showTicks: boolean | "always";
|
|
57
58
|
tickSize: string | number;
|
|
58
59
|
trackSize: string | number;
|
|
@@ -76,6 +77,7 @@ declare const VRangeSlider: {
|
|
|
76
77
|
errorMessages: string | string[];
|
|
77
78
|
maxErrors: string | number;
|
|
78
79
|
rules: ValidationRule[];
|
|
80
|
+
persistentHint: boolean;
|
|
79
81
|
showTicks: boolean | "always";
|
|
80
82
|
tickSize: string | number;
|
|
81
83
|
trackSize: string | number;
|
|
@@ -90,8 +92,10 @@ declare const VRangeSlider: {
|
|
|
90
92
|
appendIcon?: IconValue | undefined;
|
|
91
93
|
'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
92
94
|
'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
95
|
+
'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
|
|
93
96
|
validateOn?: "input" | "blur" | "submit" | undefined;
|
|
94
97
|
validationValue?: any;
|
|
98
|
+
hint?: string | undefined;
|
|
95
99
|
hideDetails?: boolean | "auto" | undefined;
|
|
96
100
|
trackColor?: string | undefined;
|
|
97
101
|
trackFillColor?: string | undefined;
|
|
@@ -133,7 +137,7 @@ declare const VRangeSlider: {
|
|
|
133
137
|
} & {
|
|
134
138
|
"onUpdate:modelValue"?: ((value: [number, number]) => any) | undefined;
|
|
135
139
|
"onUpdate:focused"?: ((value: boolean) => any) | undefined;
|
|
136
|
-
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "reverse" | "max" | "error" | "strict" | "direction" | "disabled" | "readonly" | "step" | "min" | "elevation" | "messages" | "rounded" | "density" | "modelValue" | "focused" | "errorMessages" | "maxErrors" | "rules" | "showTicks" | "tickSize" | "trackSize" | "thumbLabel" | "thumbSize">;
|
|
140
|
+
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "reverse" | "max" | "error" | "strict" | "direction" | "disabled" | "readonly" | "step" | "min" | "elevation" | "messages" | "rounded" | "density" | "modelValue" | "focused" | "errorMessages" | "maxErrors" | "rules" | "persistentHint" | "showTicks" | "tickSize" | "trackSize" | "thumbLabel" | "thumbSize">;
|
|
137
141
|
$attrs: {
|
|
138
142
|
[x: string]: unknown;
|
|
139
143
|
};
|
|
@@ -165,6 +169,7 @@ declare const VRangeSlider: {
|
|
|
165
169
|
errorMessages: string | string[];
|
|
166
170
|
maxErrors: string | number;
|
|
167
171
|
rules: ValidationRule[];
|
|
172
|
+
persistentHint: boolean;
|
|
168
173
|
showTicks: boolean | "always";
|
|
169
174
|
tickSize: string | number;
|
|
170
175
|
trackSize: string | number;
|
|
@@ -179,8 +184,10 @@ declare const VRangeSlider: {
|
|
|
179
184
|
appendIcon?: IconValue | undefined;
|
|
180
185
|
'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
181
186
|
'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
187
|
+
'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
|
|
182
188
|
validateOn?: "input" | "blur" | "submit" | undefined;
|
|
183
189
|
validationValue?: any;
|
|
190
|
+
hint?: string | undefined;
|
|
184
191
|
hideDetails?: boolean | "auto" | undefined;
|
|
185
192
|
trackColor?: string | undefined;
|
|
186
193
|
trackFillColor?: string | undefined;
|
|
@@ -244,6 +251,7 @@ declare const VRangeSlider: {
|
|
|
244
251
|
errorMessages: string | string[];
|
|
245
252
|
maxErrors: string | number;
|
|
246
253
|
rules: ValidationRule[];
|
|
254
|
+
persistentHint: boolean;
|
|
247
255
|
showTicks: boolean | "always";
|
|
248
256
|
tickSize: string | number;
|
|
249
257
|
trackSize: string | number;
|
|
@@ -287,6 +295,7 @@ declare const VRangeSlider: {
|
|
|
287
295
|
errorMessages: string | string[];
|
|
288
296
|
maxErrors: string | number;
|
|
289
297
|
rules: ValidationRule[];
|
|
298
|
+
persistentHint: boolean;
|
|
290
299
|
showTicks: boolean | "always";
|
|
291
300
|
tickSize: string | number;
|
|
292
301
|
trackSize: string | number;
|
|
@@ -301,8 +310,10 @@ declare const VRangeSlider: {
|
|
|
301
310
|
appendIcon?: IconValue | undefined;
|
|
302
311
|
'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
303
312
|
'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
313
|
+
'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
|
|
304
314
|
validateOn?: "input" | "blur" | "submit" | undefined;
|
|
305
315
|
validationValue?: any;
|
|
316
|
+
hint?: string | undefined;
|
|
306
317
|
hideDetails?: boolean | "auto" | undefined;
|
|
307
318
|
trackColor?: string | undefined;
|
|
308
319
|
trackFillColor?: string | undefined;
|
|
@@ -366,6 +377,7 @@ declare const VRangeSlider: {
|
|
|
366
377
|
errorMessages: string | string[];
|
|
367
378
|
maxErrors: string | number;
|
|
368
379
|
rules: ValidationRule[];
|
|
380
|
+
persistentHint: boolean;
|
|
369
381
|
showTicks: boolean | "always";
|
|
370
382
|
tickSize: string | number;
|
|
371
383
|
trackSize: string | number;
|
|
@@ -380,8 +392,10 @@ declare const VRangeSlider: {
|
|
|
380
392
|
appendIcon?: IconValue | undefined;
|
|
381
393
|
'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
382
394
|
'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
395
|
+
'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
|
|
383
396
|
validateOn?: "input" | "blur" | "submit" | undefined;
|
|
384
397
|
validationValue?: any;
|
|
398
|
+
hint?: string | undefined;
|
|
385
399
|
hideDetails?: boolean | "auto" | undefined;
|
|
386
400
|
trackColor?: string | undefined;
|
|
387
401
|
trackFillColor?: string | undefined;
|
|
@@ -445,6 +459,7 @@ declare const VRangeSlider: {
|
|
|
445
459
|
errorMessages: string | string[];
|
|
446
460
|
maxErrors: string | number;
|
|
447
461
|
rules: ValidationRule[];
|
|
462
|
+
persistentHint: boolean;
|
|
448
463
|
showTicks: boolean | "always";
|
|
449
464
|
tickSize: string | number;
|
|
450
465
|
trackSize: string | number;
|
|
@@ -518,6 +533,7 @@ declare const VRangeSlider: {
|
|
|
518
533
|
};
|
|
519
534
|
reverse: BooleanConstructor;
|
|
520
535
|
focused: BooleanConstructor;
|
|
536
|
+
'onUpdate:focused': PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
|
|
521
537
|
errorMessages: {
|
|
522
538
|
type: PropType<string | string[]>;
|
|
523
539
|
default: () => never[];
|
|
@@ -543,6 +559,8 @@ declare const VRangeSlider: {
|
|
|
543
559
|
appendIcon: PropType<IconValue>;
|
|
544
560
|
prependIcon: PropType<IconValue>;
|
|
545
561
|
hideDetails: PropType<boolean | "auto">;
|
|
562
|
+
hint: StringConstructor;
|
|
563
|
+
persistentHint: BooleanConstructor;
|
|
546
564
|
messages: {
|
|
547
565
|
type: PropType<string | string[]>;
|
|
548
566
|
default: () => never[];
|
|
@@ -617,6 +635,7 @@ declare const VRangeSlider: {
|
|
|
617
635
|
};
|
|
618
636
|
reverse: BooleanConstructor;
|
|
619
637
|
focused: BooleanConstructor;
|
|
638
|
+
'onUpdate:focused': PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
|
|
620
639
|
errorMessages: {
|
|
621
640
|
type: PropType<string | string[]>;
|
|
622
641
|
default: () => never[];
|
|
@@ -642,6 +661,8 @@ declare const VRangeSlider: {
|
|
|
642
661
|
appendIcon: PropType<IconValue>;
|
|
643
662
|
prependIcon: PropType<IconValue>;
|
|
644
663
|
hideDetails: PropType<boolean | "auto">;
|
|
664
|
+
hint: StringConstructor;
|
|
665
|
+
persistentHint: BooleanConstructor;
|
|
645
666
|
messages: {
|
|
646
667
|
type: PropType<string | string[]>;
|
|
647
668
|
default: () => never[];
|
|
@@ -62,6 +62,7 @@ export const VSelect = genericComponent()({
|
|
|
62
62
|
})
|
|
63
63
|
},
|
|
64
64
|
emits: {
|
|
65
|
+
'update:focused': focused => true,
|
|
65
66
|
'update:modelValue': val => true,
|
|
66
67
|
'update:menu': val => true
|
|
67
68
|
},
|
|
@@ -178,6 +179,9 @@ export const VSelect = genericComponent()({
|
|
|
178
179
|
menu.value = false;
|
|
179
180
|
}
|
|
180
181
|
}
|
|
182
|
+
function onFocusin(e) {
|
|
183
|
+
isFocused.value = true;
|
|
184
|
+
}
|
|
181
185
|
function onFocusout(e) {
|
|
182
186
|
if (e.relatedTarget == null) {
|
|
183
187
|
vTextFieldRef.value?.focus();
|
|
@@ -232,6 +236,7 @@ export const VSelect = genericComponent()({
|
|
|
232
236
|
"selected": selected.value,
|
|
233
237
|
"selectStrategy": props.multiple ? 'independent' : 'single-independent',
|
|
234
238
|
"onMousedown": e => e.preventDefault(),
|
|
239
|
+
"onFocusin": onFocusin,
|
|
235
240
|
"onFocusout": onFocusout
|
|
236
241
|
}, {
|
|
237
242
|
default: () => [!displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? _createVNode(VListItem, {
|
|
@@ -310,6 +315,7 @@ export const VSelect = genericComponent()({
|
|
|
310
315
|
});
|
|
311
316
|
});
|
|
312
317
|
return forwardRefs({
|
|
318
|
+
isFocused,
|
|
313
319
|
menu,
|
|
314
320
|
select
|
|
315
321
|
}, vTextFieldRef);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VSelect.mjs","names":["makeVTextFieldProps","VCheckboxBtn","VChip","VDefaultsProvider","VDialogTransition","VList","VListItem","VMenu","VTextField","forwardRefs","IconValue","makeItemsProps","useItems","makeTransitionProps","useForm","useLocale","useProxiedModel","computed","mergeProps","ref","deepEqual","genericComponent","omit","propsFactory","useRender","wrapInArray","makeSelectProps","chips","Boolean","closableChips","eager","hideNoData","hideSelected","menu","menuIcon","type","default","menuProps","Object","multiple","noDataText","String","openOnClear","valueComparator","Function","itemChildren","VSelect","name","props","modelValue","transition","component","emits","val","setup","_ref","slots","t","vTextFieldRef","vMenuRef","_menu","get","value","set","v","ΨopenChildren","items","transformIn","transformOut","model","transformed","form","selections","map","find","item","selected","selection","isFocused","keyboardLookupPrefix","keyboardLookupLastTime","displayItems","filter","some","s","listRef","onClear","e","onMousedownControl","length","readonly","isReadonly","onKeydown","includes","key","preventDefault","focus","KEYBOARD_LOOKUP_THRESHOLD","checkPrintable","isPrintableChar","noModifier","ctrlKey","metaKey","altKey","now","performance","toLowerCase","title","startsWith","undefined","select","index","findIndex","splice","onBlur","$el","contains","relatedTarget","onFocusout","hasChips","chip","hasList","prepend","append","isDirty","textFieldProps","filterProps","placeholder","label","persistentPlaceholder","_createVNode","_mergeProps","join","$event","externalValue","_Fragment","onClick","_ref2","isSelected","onChipClose","stopPropagation","slotProps","closable","size","text","_createTextVNode"],"sources":["../../../src/components/VSelect/VSelect.tsx"],"sourcesContent":["// Styles\nimport './VSelect.sass'\n\n// Components\nimport { makeVTextFieldProps } from '@/components/VTextField/VTextField'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VDialogTransition } from '@/components/transitions'\nimport { VList, VListItem } from '@/components/VList'\nimport { VMenu } from '@/components/VMenu'\nimport { VTextField } from '@/components/VTextField'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { IconValue } from '@/composables/icons'\nimport { makeItemsProps, useItems } from '@/composables/items'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { useForm } from '@/composables/form'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, mergeProps, ref } from 'vue'\nimport { deepEqual, genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { InternalItem } from '@/composables/items'\nimport type { MakeSlots, SlotsToProps } from '@/util'\nimport type { PropType } from 'vue'\n\nexport const makeSelectProps = propsFactory({\n chips: Boolean,\n closableChips: Boolean,\n eager: Boolean,\n hideNoData: Boolean,\n hideSelected: Boolean,\n menu: Boolean,\n menuIcon: {\n type: IconValue,\n default: '$dropdown',\n },\n menuProps: {\n type: Object as PropType<VMenu['$props']>,\n },\n multiple: Boolean,\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n openOnClear: Boolean,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n\n ...makeItemsProps({ itemChildren: false }),\n}, 'v-select')\n\ntype Primitive = string | number | boolean | symbol\n\ntype Val <T, ReturnObject extends boolean> = T extends Primitive\n ? T\n : (ReturnObject extends true ? T : any)\n\ntype Value <T, ReturnObject extends boolean, Multiple extends boolean> =\n Multiple extends true\n ? readonly Val<T, ReturnObject>[]\n : Val<T, ReturnObject>\n\nexport const VSelect = genericComponent<new <\n T,\n ReturnObject extends boolean = false,\n Multiple extends boolean = false,\n V extends Value<T, ReturnObject, Multiple> = Value<T, ReturnObject, Multiple>\n>() => {\n $props: {\n items?: readonly T[]\n returnObject?: ReturnObject\n multiple?: Multiple\n modelValue?: V\n 'onUpdate:modelValue'?: (val: V) => void\n } & SlotsToProps<\n Omit<VInputSlots & VFieldSlots, 'default'> & MakeSlots<{\n item: [{ item: InternalItem<T>, index: number, props: Record<string, unknown> }]\n chip: [{ item: InternalItem<T>, index: number, props: Record<string, unknown> }]\n selection: [{ item: InternalItem<T>, index: number }]\n 'prepend-item': []\n 'append-item': []\n 'no-data': []\n }>\n >\n}>()({\n name: 'VSelect',\n\n props: {\n ...makeSelectProps(),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({ transition: { component: VDialogTransition } }),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n 'update:menu': (val: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref()\n const vMenuRef = ref<VMenu>()\n const _menu = useProxiedModel(props, 'menu')\n const menu = computed({\n get: () => _menu.value,\n set: v => {\n if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return\n _menu.value = v\n },\n })\n const { items, transformIn, transformOut } = useItems(props)\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => transformIn(wrapInArray(v)),\n v => {\n const transformed = transformOut(v)\n return props.multiple ? transformed : (transformed[0] ?? null)\n }\n )\n const form = useForm()\n const selections = computed(() => {\n return model.value.map(v => {\n return items.value.find(item => props.valueComparator(item.value, v.value)) || v\n })\n })\n const selected = computed(() => selections.value.map(selection => selection.props.value))\n const isFocused = ref(false)\n\n let keyboardLookupPrefix = ''\n let keyboardLookupLastTime: number\n\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return items.value.filter(item => !selections.value.some(s => s === item))\n }\n return items.value\n })\n\n const listRef = ref<VList>()\n\n function onClear (e: MouseEvent) {\n if (props.openOnClear) {\n menu.value = true\n }\n }\n function onMousedownControl () {\n if (\n (props.hideNoData && !items.value.length) ||\n props.readonly || form?.isReadonly.value\n ) return\n\n menu.value = !menu.value\n }\n function onKeydown (e: KeyboardEvent) {\n if (props.readonly || form?.isReadonly.value) return\n\n if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {\n e.preventDefault()\n }\n\n if (['Enter', 'ArrowDown', ' '].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape', 'Tab'].includes(e.key)) {\n menu.value = false\n }\n\n if (e.key === 'ArrowDown') {\n listRef.value?.focus('next')\n } else if (e.key === 'ArrowUp') {\n listRef.value?.focus('prev')\n } else if (e.key === 'Home') {\n listRef.value?.focus('first')\n } else if (e.key === 'End') {\n listRef.value?.focus('last')\n }\n\n // html select hotkeys\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n\n function checkPrintable (e: KeyboardEvent) {\n const isPrintableChar = e.key.length === 1\n const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey\n return isPrintableChar && noModifier\n }\n\n if (props.multiple || !checkPrintable(e)) return\n\n const now = performance.now()\n if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n keyboardLookupPrefix = ''\n }\n keyboardLookupPrefix += e.key.toLowerCase()\n keyboardLookupLastTime = now\n\n const item = items.value.find(item => item.title.toLowerCase().startsWith(keyboardLookupPrefix))\n if (item !== undefined) {\n model.value = [item]\n }\n }\n function select (item: InternalItem) {\n if (props.multiple) {\n const index = selected.value.findIndex(selection => props.valueComparator(selection, item.value))\n\n if (index === -1) {\n model.value = [...model.value, item]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n } else {\n model.value = [item]\n menu.value = false\n }\n }\n function onBlur (e: FocusEvent) {\n if (!listRef.value?.$el.contains(e.relatedTarget as HTMLElement)) {\n menu.value = false\n }\n }\n function onFocusout (e: FocusEvent) {\n if (e.relatedTarget == null) {\n vTextFieldRef.value?.focus()\n }\n }\n\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip)\n const hasList = !!((!props.hideNoData || displayItems.value.length) || slots.prepend || slots.append || slots['no-data'])\n const isDirty = model.value.length > 0\n const [textFieldProps] = VTextField.filterProps(props)\n\n const placeholder = isDirty || (\n !isFocused.value &&\n props.label &&\n !props.persistentPlaceholder\n ) ? undefined : props.placeholder\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n modelValue={ model.value.map(v => v.props.value).join(', ') }\n onUpdate:modelValue={ v => { if (v == null) model.value = [] } }\n v-model:focused={ isFocused.value }\n validationValue={ model.externalValue }\n dirty={ isDirty }\n class={[\n 'v-select',\n {\n 'v-select--active-menu': menu.value,\n 'v-select--chips': !!props.chips,\n [`v-select--${props.multiple ? 'multiple' : 'single'}`]: true,\n 'v-select--selected': model.value.length,\n },\n ]}\n appendInnerIcon={ props.menuIcon }\n readonly\n placeholder={ placeholder }\n onClick:clear={ onClear }\n onMousedown:control={ onMousedownControl }\n onBlur={ onBlur }\n onKeydown={ onKeydown }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n ref={ vMenuRef }\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-select__content\"\n eager={ props.eager }\n maxHeight={ 310 }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n { ...props.menuProps }\n >\n { hasList && (\n <VList\n ref={ listRef }\n selected={ selected.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onFocusout={ onFocusout }\n >\n { !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem title={ t(props.noDataText) } />\n ))}\n\n { slots['prepend-item']?.() }\n\n { displayItems.value.map((item, index) => {\n if (slots.item) {\n return slots.item?.({\n item,\n index,\n props: mergeProps(item.props, { onClick: () => select(item) }),\n })\n }\n\n return (\n <VListItem\n key={ index }\n { ...item.props }\n onClick={ () => select(item) }\n >\n {{\n prepend: ({ isSelected }) => props.multiple && !props.hideSelected ? (\n <VCheckboxBtn\n modelValue={ isSelected }\n ripple={ false }\n tabindex=\"-1\"\n />\n ) : undefined,\n }}\n </VListItem>\n )\n })}\n\n { slots['append-item']?.() }\n </VList>\n )}\n </VMenu>\n\n { selections.value.map((item, index) => {\n function onChipClose (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n\n select(item)\n }\n\n const slotProps = {\n 'onClick:close': onChipClose,\n modelValue: true,\n 'onUpdate:modelValue': undefined,\n }\n\n return (\n <div key={ item.value } class=\"v-select__selection\">\n { hasChips ? (\n !slots.chip ? (\n <VChip\n key=\"chip\"\n closable={ props.closableChips }\n size=\"small\"\n text={ item.title }\n { ...slotProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"chip-defaults\"\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title,\n },\n }}\n >\n { slots.chip?.({ item, index, props: slotProps }) }\n </VDefaultsProvider>\n )\n ) : (\n slots.selection?.({ item, index }) ?? (\n <span class=\"v-select__selection-text\">\n { item.title }\n { props.multiple && (index < selections.value.length - 1) && (\n <span class=\"v-select__selection-comma\">,</span>\n )}\n </span>\n )\n )}\n </div>\n )\n })}\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({\n menu,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VSelect = InstanceType<typeof VSelect>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VSelect.mjs","names":["makeVTextFieldProps","VCheckboxBtn","VChip","VDefaultsProvider","VDialogTransition","VList","VListItem","VMenu","VTextField","forwardRefs","IconValue","makeItemsProps","useItems","makeTransitionProps","useForm","useLocale","useProxiedModel","computed","mergeProps","ref","deepEqual","genericComponent","omit","propsFactory","useRender","wrapInArray","makeSelectProps","chips","Boolean","closableChips","eager","hideNoData","hideSelected","menu","menuIcon","type","default","menuProps","Object","multiple","noDataText","String","openOnClear","valueComparator","Function","itemChildren","VSelect","name","props","modelValue","transition","component","emits","focused","val","setup","_ref","slots","t","vTextFieldRef","vMenuRef","_menu","get","value","set","v","ΨopenChildren","items","transformIn","transformOut","model","transformed","form","selections","map","find","item","selected","selection","isFocused","keyboardLookupPrefix","keyboardLookupLastTime","displayItems","filter","some","s","listRef","onClear","e","onMousedownControl","length","readonly","isReadonly","onKeydown","includes","key","preventDefault","focus","KEYBOARD_LOOKUP_THRESHOLD","checkPrintable","isPrintableChar","noModifier","ctrlKey","metaKey","altKey","now","performance","toLowerCase","title","startsWith","undefined","select","index","findIndex","splice","onBlur","$el","contains","relatedTarget","onFocusin","onFocusout","hasChips","chip","hasList","prepend","append","isDirty","textFieldProps","filterProps","placeholder","label","persistentPlaceholder","_createVNode","_mergeProps","join","$event","externalValue","_Fragment","onClick","_ref2","isSelected","onChipClose","stopPropagation","slotProps","closable","size","text","_createTextVNode"],"sources":["../../../src/components/VSelect/VSelect.tsx"],"sourcesContent":["// Styles\nimport './VSelect.sass'\n\n// Components\nimport { makeVTextFieldProps } from '@/components/VTextField/VTextField'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VDialogTransition } from '@/components/transitions'\nimport { VList, VListItem } from '@/components/VList'\nimport { VMenu } from '@/components/VMenu'\nimport { VTextField } from '@/components/VTextField'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { IconValue } from '@/composables/icons'\nimport { makeItemsProps, useItems } from '@/composables/items'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { useForm } from '@/composables/form'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, mergeProps, ref } from 'vue'\nimport { deepEqual, genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { InternalItem } from '@/composables/items'\nimport type { MakeSlots, SlotsToProps } from '@/util'\nimport type { PropType } from 'vue'\n\nexport const makeSelectProps = propsFactory({\n chips: Boolean,\n closableChips: Boolean,\n eager: Boolean,\n hideNoData: Boolean,\n hideSelected: Boolean,\n menu: Boolean,\n menuIcon: {\n type: IconValue,\n default: '$dropdown',\n },\n menuProps: {\n type: Object as PropType<VMenu['$props']>,\n },\n multiple: Boolean,\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n openOnClear: Boolean,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n\n ...makeItemsProps({ itemChildren: false }),\n}, 'v-select')\n\ntype Primitive = string | number | boolean | symbol\n\ntype Val <T, ReturnObject extends boolean> = T extends Primitive\n ? T\n : (ReturnObject extends true ? T : any)\n\ntype Value <T, ReturnObject extends boolean, Multiple extends boolean> =\n Multiple extends true\n ? readonly Val<T, ReturnObject>[]\n : Val<T, ReturnObject>\n\nexport const VSelect = genericComponent<new <\n T,\n ReturnObject extends boolean = false,\n Multiple extends boolean = false,\n V extends Value<T, ReturnObject, Multiple> = Value<T, ReturnObject, Multiple>\n>() => {\n $props: {\n items?: readonly T[]\n returnObject?: ReturnObject\n multiple?: Multiple\n modelValue?: V\n 'onUpdate:modelValue'?: (val: V) => void\n } & SlotsToProps<\n Omit<VInputSlots & VFieldSlots, 'default'> & MakeSlots<{\n item: [{ item: InternalItem<T>, index: number, props: Record<string, unknown> }]\n chip: [{ item: InternalItem<T>, index: number, props: Record<string, unknown> }]\n selection: [{ item: InternalItem<T>, index: number }]\n 'prepend-item': []\n 'append-item': []\n 'no-data': []\n }>\n >\n}>()({\n name: 'VSelect',\n\n props: {\n ...makeSelectProps(),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({ transition: { component: VDialogTransition } }),\n },\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: any) => true,\n 'update:menu': (val: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref()\n const vMenuRef = ref<VMenu>()\n const _menu = useProxiedModel(props, 'menu')\n const menu = computed({\n get: () => _menu.value,\n set: v => {\n if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return\n _menu.value = v\n },\n })\n const { items, transformIn, transformOut } = useItems(props)\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => transformIn(wrapInArray(v)),\n v => {\n const transformed = transformOut(v)\n return props.multiple ? transformed : (transformed[0] ?? null)\n }\n )\n const form = useForm()\n const selections = computed(() => {\n return model.value.map(v => {\n return items.value.find(item => props.valueComparator(item.value, v.value)) || v\n })\n })\n const selected = computed(() => selections.value.map(selection => selection.props.value))\n const isFocused = ref(false)\n\n let keyboardLookupPrefix = ''\n let keyboardLookupLastTime: number\n\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return items.value.filter(item => !selections.value.some(s => s === item))\n }\n return items.value\n })\n\n const listRef = ref<VList>()\n\n function onClear (e: MouseEvent) {\n if (props.openOnClear) {\n menu.value = true\n }\n }\n function onMousedownControl () {\n if (\n (props.hideNoData && !items.value.length) ||\n props.readonly || form?.isReadonly.value\n ) return\n\n menu.value = !menu.value\n }\n function onKeydown (e: KeyboardEvent) {\n if (props.readonly || form?.isReadonly.value) return\n\n if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {\n e.preventDefault()\n }\n\n if (['Enter', 'ArrowDown', ' '].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape', 'Tab'].includes(e.key)) {\n menu.value = false\n }\n\n if (e.key === 'ArrowDown') {\n listRef.value?.focus('next')\n } else if (e.key === 'ArrowUp') {\n listRef.value?.focus('prev')\n } else if (e.key === 'Home') {\n listRef.value?.focus('first')\n } else if (e.key === 'End') {\n listRef.value?.focus('last')\n }\n\n // html select hotkeys\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n\n function checkPrintable (e: KeyboardEvent) {\n const isPrintableChar = e.key.length === 1\n const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey\n return isPrintableChar && noModifier\n }\n\n if (props.multiple || !checkPrintable(e)) return\n\n const now = performance.now()\n if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n keyboardLookupPrefix = ''\n }\n keyboardLookupPrefix += e.key.toLowerCase()\n keyboardLookupLastTime = now\n\n const item = items.value.find(item => item.title.toLowerCase().startsWith(keyboardLookupPrefix))\n if (item !== undefined) {\n model.value = [item]\n }\n }\n function select (item: InternalItem) {\n if (props.multiple) {\n const index = selected.value.findIndex(selection => props.valueComparator(selection, item.value))\n\n if (index === -1) {\n model.value = [...model.value, item]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n } else {\n model.value = [item]\n menu.value = false\n }\n }\n function onBlur (e: FocusEvent) {\n if (!listRef.value?.$el.contains(e.relatedTarget as HTMLElement)) {\n menu.value = false\n }\n }\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n function onFocusout (e: FocusEvent) {\n if (e.relatedTarget == null) {\n vTextFieldRef.value?.focus()\n }\n }\n\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip)\n const hasList = !!((!props.hideNoData || displayItems.value.length) || slots.prepend || slots.append || slots['no-data'])\n const isDirty = model.value.length > 0\n const [textFieldProps] = VTextField.filterProps(props)\n\n const placeholder = isDirty || (\n !isFocused.value &&\n props.label &&\n !props.persistentPlaceholder\n ) ? undefined : props.placeholder\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n modelValue={ model.value.map(v => v.props.value).join(', ') }\n onUpdate:modelValue={ v => { if (v == null) model.value = [] } }\n v-model:focused={ isFocused.value }\n validationValue={ model.externalValue }\n dirty={ isDirty }\n class={[\n 'v-select',\n {\n 'v-select--active-menu': menu.value,\n 'v-select--chips': !!props.chips,\n [`v-select--${props.multiple ? 'multiple' : 'single'}`]: true,\n 'v-select--selected': model.value.length,\n },\n ]}\n appendInnerIcon={ props.menuIcon }\n readonly\n placeholder={ placeholder }\n onClick:clear={ onClear }\n onMousedown:control={ onMousedownControl }\n onBlur={ onBlur }\n onKeydown={ onKeydown }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n ref={ vMenuRef }\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-select__content\"\n eager={ props.eager }\n maxHeight={ 310 }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n { ...props.menuProps }\n >\n { hasList && (\n <VList\n ref={ listRef }\n selected={ selected.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n >\n { !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem title={ t(props.noDataText) } />\n ))}\n\n { slots['prepend-item']?.() }\n\n { displayItems.value.map((item, index) => {\n if (slots.item) {\n return slots.item?.({\n item,\n index,\n props: mergeProps(item.props, { onClick: () => select(item) }),\n })\n }\n\n return (\n <VListItem\n key={ index }\n { ...item.props }\n onClick={ () => select(item) }\n >\n {{\n prepend: ({ isSelected }) => props.multiple && !props.hideSelected ? (\n <VCheckboxBtn\n modelValue={ isSelected }\n ripple={ false }\n tabindex=\"-1\"\n />\n ) : undefined,\n }}\n </VListItem>\n )\n })}\n\n { slots['append-item']?.() }\n </VList>\n )}\n </VMenu>\n\n { selections.value.map((item, index) => {\n function onChipClose (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n\n select(item)\n }\n\n const slotProps = {\n 'onClick:close': onChipClose,\n modelValue: true,\n 'onUpdate:modelValue': undefined,\n }\n\n return (\n <div key={ item.value } class=\"v-select__selection\">\n { hasChips ? (\n !slots.chip ? (\n <VChip\n key=\"chip\"\n closable={ props.closableChips }\n size=\"small\"\n text={ item.title }\n { ...slotProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"chip-defaults\"\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title,\n },\n }}\n >\n { slots.chip?.({ item, index, props: slotProps }) }\n </VDefaultsProvider>\n )\n ) : (\n slots.selection?.({ item, index }) ?? (\n <span class=\"v-select__selection-text\">\n { item.title }\n { props.multiple && (index < selections.value.length - 1) && (\n <span class=\"v-select__selection-comma\">,</span>\n )}\n </span>\n )\n )}\n </div>\n )\n })}\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({\n isFocused,\n menu,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VSelect = InstanceType<typeof VSelect>\n"],"mappings":"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"}
|
|
@@ -270,10 +270,10 @@ declare const VSelect: {
|
|
|
270
270
|
errorMessages: string | string[];
|
|
271
271
|
maxErrors: string | number;
|
|
272
272
|
rules: ValidationRule[];
|
|
273
|
+
persistentHint: boolean;
|
|
273
274
|
clearable: boolean;
|
|
274
275
|
persistentClear: boolean;
|
|
275
276
|
singleLine: boolean;
|
|
276
|
-
persistentHint: boolean;
|
|
277
277
|
persistentPlaceholder: boolean;
|
|
278
278
|
persistentCounter: boolean;
|
|
279
279
|
valueComparator: typeof deepEqual;
|
|
@@ -566,6 +566,7 @@ declare const VSelect: {
|
|
|
566
566
|
'onClick:appendInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
567
567
|
'onClick:prependInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
568
568
|
focused: BooleanConstructor;
|
|
569
|
+
'onUpdate:focused': PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
|
|
569
570
|
validateOn: PropType<"input" | "blur" | "submit" | undefined>;
|
|
570
571
|
errorMessages: {
|
|
571
572
|
type: PropType<string | string[]>;
|
|
@@ -579,12 +580,12 @@ declare const VSelect: {
|
|
|
579
580
|
type: PropType<ValidationRule[]>;
|
|
580
581
|
default: () => never[];
|
|
581
582
|
};
|
|
583
|
+
hint: StringConstructor;
|
|
584
|
+
persistentHint: BooleanConstructor;
|
|
582
585
|
hideDetails: PropType<boolean | "auto">;
|
|
583
586
|
clearable: BooleanConstructor;
|
|
584
587
|
persistentClear: BooleanConstructor;
|
|
585
588
|
singleLine: BooleanConstructor;
|
|
586
|
-
hint: StringConstructor;
|
|
587
|
-
persistentHint: BooleanConstructor;
|
|
588
589
|
persistentPlaceholder: BooleanConstructor;
|
|
589
590
|
persistentCounter: BooleanConstructor;
|
|
590
591
|
suffix: StringConstructor;
|
|
@@ -950,8 +951,9 @@ declare const VSelect: {
|
|
|
950
951
|
default: typeof deepEqual;
|
|
951
952
|
};
|
|
952
953
|
}, "multiple" | "$children" | "$slots" | "v-slots" | "items" | "v-slot:append" | "v-slot:prepend" | "modelValue" | "onUpdate:modelValue" | "v-slot:loader" | "v-slot:details" | "v-slot:clear" | "v-slot:label" | "v-slot:prepend-inner" | "v-slot:append-inner" | "v-slot:item" | "returnObject" | "v-slot:chip" | "v-slot:selection" | "v-slot:prepend-item" | "v-slot:append-item" | "v-slot:no-data">>> & {
|
|
954
|
+
"onUpdate:focused"?: ((focused: boolean) => any) | undefined;
|
|
953
955
|
"onUpdate:menu"?: ((val: boolean) => any) | undefined;
|
|
954
|
-
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "reverse" | "type" | "error" | "active" | "direction" | "transition" | "menu" | "autofocus" | "eager" | "disabled" | "readonly" | "noDataText" | "messages" | "density" | "variant" | "clearIcon" | "focused" | "errorMessages" | "maxErrors" | "rules" | "
|
|
956
|
+
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "reverse" | "type" | "error" | "active" | "direction" | "transition" | "menu" | "autofocus" | "eager" | "disabled" | "readonly" | "noDataText" | "messages" | "density" | "variant" | "clearIcon" | "focused" | "errorMessages" | "maxErrors" | "rules" | "persistentHint" | "clearable" | "persistentClear" | "singleLine" | "persistentPlaceholder" | "persistentCounter" | "valueComparator" | "itemTitle" | "itemValue" | "itemChildren" | "itemProps" | "chips" | "closableChips" | "hideNoData" | "hideSelected" | "menuIcon" | "openOnClear">;
|
|
955
957
|
$attrs: {
|
|
956
958
|
[x: string]: unknown;
|
|
957
959
|
};
|
|
@@ -963,7 +965,7 @@ declare const VSelect: {
|
|
|
963
965
|
}>;
|
|
964
966
|
$root: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
|
|
965
967
|
$parent: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
|
|
966
|
-
$emit: (event: "update:menu", val: boolean) => void;
|
|
968
|
+
$emit: ((event: "update:focused", focused: boolean) => void) & ((event: "update:menu", val: boolean) => void);
|
|
967
969
|
$el: any;
|
|
968
970
|
$options: vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<Omit<{
|
|
969
971
|
transition: Omit<{
|
|
@@ -1244,6 +1246,7 @@ declare const VSelect: {
|
|
|
1244
1246
|
'onClick:appendInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
1245
1247
|
'onClick:prependInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
1246
1248
|
focused: BooleanConstructor;
|
|
1249
|
+
'onUpdate:focused': PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
|
|
1247
1250
|
validateOn: PropType<"input" | "blur" | "submit" | undefined>;
|
|
1248
1251
|
errorMessages: {
|
|
1249
1252
|
type: PropType<string | string[]>;
|
|
@@ -1257,12 +1260,12 @@ declare const VSelect: {
|
|
|
1257
1260
|
type: PropType<ValidationRule[]>;
|
|
1258
1261
|
default: () => never[];
|
|
1259
1262
|
};
|
|
1263
|
+
hint: StringConstructor;
|
|
1264
|
+
persistentHint: BooleanConstructor;
|
|
1260
1265
|
hideDetails: PropType<boolean | "auto">;
|
|
1261
1266
|
clearable: BooleanConstructor;
|
|
1262
1267
|
persistentClear: BooleanConstructor;
|
|
1263
1268
|
singleLine: BooleanConstructor;
|
|
1264
|
-
hint: StringConstructor;
|
|
1265
|
-
persistentHint: BooleanConstructor;
|
|
1266
1269
|
persistentPlaceholder: BooleanConstructor;
|
|
1267
1270
|
persistentCounter: BooleanConstructor;
|
|
1268
1271
|
suffix: StringConstructor;
|
|
@@ -1628,11 +1631,14 @@ declare const VSelect: {
|
|
|
1628
1631
|
default: typeof deepEqual;
|
|
1629
1632
|
};
|
|
1630
1633
|
}, "multiple" | "$children" | "$slots" | "v-slots" | "items" | "v-slot:append" | "v-slot:prepend" | "modelValue" | "onUpdate:modelValue" | "v-slot:loader" | "v-slot:details" | "v-slot:clear" | "v-slot:label" | "v-slot:prepend-inner" | "v-slot:append-inner" | "v-slot:item" | "returnObject" | "v-slot:chip" | "v-slot:selection" | "v-slot:prepend-item" | "v-slot:append-item" | "v-slot:no-data">>> & {
|
|
1634
|
+
"onUpdate:focused"?: ((focused: boolean) => any) | undefined;
|
|
1631
1635
|
"onUpdate:menu"?: ((val: boolean) => any) | undefined;
|
|
1632
1636
|
}, {
|
|
1637
|
+
isFocused: vue.Ref<boolean>;
|
|
1633
1638
|
menu: vue.WritableComputedRef<boolean>;
|
|
1634
1639
|
select: (item: InternalItem) => void;
|
|
1635
1640
|
} & Omit<any, string | number | symbol>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
|
|
1641
|
+
'update:focused': (focused: boolean) => boolean;
|
|
1636
1642
|
'update:modelValue': (val: any) => boolean;
|
|
1637
1643
|
'update:menu': (val: boolean) => true;
|
|
1638
1644
|
}, "multiple" | "$children" | "$slots" | "v-slots" | "items" | "v-slot:append" | "v-slot:prepend" | "modelValue" | "update:modelValue" | "v-slot:loader" | "v-slot:details" | "v-slot:clear" | "v-slot:label" | "v-slot:prepend-inner" | "v-slot:append-inner" | "v-slot:item" | "returnObject" | "v-slot:chip" | "v-slot:selection" | "v-slot:prepend-item" | "v-slot:append-item" | "v-slot:no-data">, string, {
|
|
@@ -1762,10 +1768,10 @@ declare const VSelect: {
|
|
|
1762
1768
|
errorMessages: string | string[];
|
|
1763
1769
|
maxErrors: string | number;
|
|
1764
1770
|
rules: ValidationRule[];
|
|
1771
|
+
persistentHint: boolean;
|
|
1765
1772
|
clearable: boolean;
|
|
1766
1773
|
persistentClear: boolean;
|
|
1767
1774
|
singleLine: boolean;
|
|
1768
|
-
persistentHint: boolean;
|
|
1769
1775
|
persistentPlaceholder: boolean;
|
|
1770
1776
|
persistentCounter: boolean;
|
|
1771
1777
|
valueComparator: typeof deepEqual;
|
|
@@ -2078,6 +2084,7 @@ declare const VSelect: {
|
|
|
2078
2084
|
'onClick:appendInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
2079
2085
|
'onClick:prependInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
2080
2086
|
focused: BooleanConstructor;
|
|
2087
|
+
'onUpdate:focused': PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
|
|
2081
2088
|
validateOn: PropType<"input" | "blur" | "submit" | undefined>;
|
|
2082
2089
|
errorMessages: {
|
|
2083
2090
|
type: PropType<string | string[]>;
|
|
@@ -2091,12 +2098,12 @@ declare const VSelect: {
|
|
|
2091
2098
|
type: PropType<ValidationRule[]>;
|
|
2092
2099
|
default: () => never[];
|
|
2093
2100
|
};
|
|
2101
|
+
hint: StringConstructor;
|
|
2102
|
+
persistentHint: BooleanConstructor;
|
|
2094
2103
|
hideDetails: PropType<boolean | "auto">;
|
|
2095
2104
|
clearable: BooleanConstructor;
|
|
2096
2105
|
persistentClear: BooleanConstructor;
|
|
2097
2106
|
singleLine: BooleanConstructor;
|
|
2098
|
-
hint: StringConstructor;
|
|
2099
|
-
persistentHint: BooleanConstructor;
|
|
2100
2107
|
persistentPlaceholder: BooleanConstructor;
|
|
2101
2108
|
persistentCounter: BooleanConstructor;
|
|
2102
2109
|
suffix: StringConstructor;
|
|
@@ -2462,8 +2469,10 @@ declare const VSelect: {
|
|
|
2462
2469
|
default: typeof deepEqual;
|
|
2463
2470
|
};
|
|
2464
2471
|
}, "multiple" | "$children" | "$slots" | "v-slots" | "items" | "v-slot:append" | "v-slot:prepend" | "modelValue" | "onUpdate:modelValue" | "v-slot:loader" | "v-slot:details" | "v-slot:clear" | "v-slot:label" | "v-slot:prepend-inner" | "v-slot:append-inner" | "v-slot:item" | "returnObject" | "v-slot:chip" | "v-slot:selection" | "v-slot:prepend-item" | "v-slot:append-item" | "v-slot:no-data">>> & {
|
|
2472
|
+
"onUpdate:focused"?: ((focused: boolean) => any) | undefined;
|
|
2465
2473
|
"onUpdate:menu"?: ((val: boolean) => any) | undefined;
|
|
2466
2474
|
} & vue.ShallowUnwrapRef<{
|
|
2475
|
+
isFocused: vue.Ref<boolean>;
|
|
2467
2476
|
menu: vue.WritableComputedRef<boolean>;
|
|
2468
2477
|
select: (item: InternalItem) => void;
|
|
2469
2478
|
} & Omit<any, string | number | symbol>> & {} & vue.ComponentCustomProperties & {};
|
|
@@ -2749,6 +2758,7 @@ declare const VSelect: {
|
|
|
2749
2758
|
'onClick:appendInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
2750
2759
|
'onClick:prependInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
2751
2760
|
focused: BooleanConstructor;
|
|
2761
|
+
'onUpdate:focused': PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
|
|
2752
2762
|
validateOn: PropType<"input" | "blur" | "submit" | undefined>;
|
|
2753
2763
|
errorMessages: {
|
|
2754
2764
|
type: PropType<string | string[]>;
|
|
@@ -2762,12 +2772,12 @@ declare const VSelect: {
|
|
|
2762
2772
|
type: PropType<ValidationRule[]>;
|
|
2763
2773
|
default: () => never[];
|
|
2764
2774
|
};
|
|
2775
|
+
hint: StringConstructor;
|
|
2776
|
+
persistentHint: BooleanConstructor;
|
|
2765
2777
|
hideDetails: PropType<boolean | "auto">;
|
|
2766
2778
|
clearable: BooleanConstructor;
|
|
2767
2779
|
persistentClear: BooleanConstructor;
|
|
2768
2780
|
singleLine: BooleanConstructor;
|
|
2769
|
-
hint: StringConstructor;
|
|
2770
|
-
persistentHint: BooleanConstructor;
|
|
2771
2781
|
persistentPlaceholder: BooleanConstructor;
|
|
2772
2782
|
persistentCounter: BooleanConstructor;
|
|
2773
2783
|
suffix: StringConstructor;
|
|
@@ -3133,11 +3143,14 @@ declare const VSelect: {
|
|
|
3133
3143
|
default: typeof deepEqual;
|
|
3134
3144
|
};
|
|
3135
3145
|
}, "multiple" | "$children" | "$slots" | "v-slots" | "items" | "v-slot:append" | "v-slot:prepend" | "modelValue" | "onUpdate:modelValue" | "v-slot:loader" | "v-slot:details" | "v-slot:clear" | "v-slot:label" | "v-slot:prepend-inner" | "v-slot:append-inner" | "v-slot:item" | "returnObject" | "v-slot:chip" | "v-slot:selection" | "v-slot:prepend-item" | "v-slot:append-item" | "v-slot:no-data">>> & {
|
|
3146
|
+
"onUpdate:focused"?: ((focused: boolean) => any) | undefined;
|
|
3136
3147
|
"onUpdate:menu"?: ((val: boolean) => any) | undefined;
|
|
3137
3148
|
}, {
|
|
3149
|
+
isFocused: vue.Ref<boolean>;
|
|
3138
3150
|
menu: vue.WritableComputedRef<boolean>;
|
|
3139
3151
|
select: (item: InternalItem) => void;
|
|
3140
3152
|
} & Omit<any, string | number | symbol>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
|
|
3153
|
+
'update:focused': (focused: boolean) => boolean;
|
|
3141
3154
|
'update:modelValue': (val: any) => boolean;
|
|
3142
3155
|
'update:menu': (val: boolean) => true;
|
|
3143
3156
|
}, "multiple" | "$children" | "$slots" | "v-slots" | "items" | "v-slot:append" | "v-slot:prepend" | "modelValue" | "update:modelValue" | "v-slot:loader" | "v-slot:details" | "v-slot:clear" | "v-slot:label" | "v-slot:prepend-inner" | "v-slot:append-inner" | "v-slot:item" | "returnObject" | "v-slot:chip" | "v-slot:selection" | "v-slot:prepend-item" | "v-slot:append-item" | "v-slot:no-data">, string, {
|
|
@@ -3267,10 +3280,10 @@ declare const VSelect: {
|
|
|
3267
3280
|
errorMessages: string | string[];
|
|
3268
3281
|
maxErrors: string | number;
|
|
3269
3282
|
rules: ValidationRule[];
|
|
3283
|
+
persistentHint: boolean;
|
|
3270
3284
|
clearable: boolean;
|
|
3271
3285
|
persistentClear: boolean;
|
|
3272
3286
|
singleLine: boolean;
|
|
3273
|
-
persistentHint: boolean;
|
|
3274
3287
|
persistentPlaceholder: boolean;
|
|
3275
3288
|
persistentCounter: boolean;
|
|
3276
3289
|
valueComparator: typeof deepEqual;
|
|
@@ -3679,6 +3692,7 @@ declare const VSelect: {
|
|
|
3679
3692
|
'onClick:appendInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
3680
3693
|
'onClick:prependInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
3681
3694
|
focused: BooleanConstructor;
|
|
3695
|
+
'onUpdate:focused': PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
|
|
3682
3696
|
validateOn: PropType<"input" | "blur" | "submit" | undefined>;
|
|
3683
3697
|
errorMessages: {
|
|
3684
3698
|
type: PropType<string | string[]>;
|
|
@@ -3692,12 +3706,12 @@ declare const VSelect: {
|
|
|
3692
3706
|
type: PropType<ValidationRule[]>;
|
|
3693
3707
|
default: () => never[];
|
|
3694
3708
|
};
|
|
3709
|
+
hint: StringConstructor;
|
|
3710
|
+
persistentHint: BooleanConstructor;
|
|
3695
3711
|
hideDetails: PropType<boolean | "auto">;
|
|
3696
3712
|
clearable: BooleanConstructor;
|
|
3697
3713
|
persistentClear: BooleanConstructor;
|
|
3698
3714
|
singleLine: BooleanConstructor;
|
|
3699
|
-
hint: StringConstructor;
|
|
3700
|
-
persistentHint: BooleanConstructor;
|
|
3701
3715
|
persistentPlaceholder: BooleanConstructor;
|
|
3702
3716
|
persistentCounter: BooleanConstructor;
|
|
3703
3717
|
suffix: StringConstructor;
|
|
@@ -4341,6 +4355,7 @@ declare const VSelect: {
|
|
|
4341
4355
|
'onClick:appendInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
4342
4356
|
'onClick:prependInner': PropType<EventProp<[MouseEvent], (args_0: MouseEvent) => any>>;
|
|
4343
4357
|
focused: BooleanConstructor;
|
|
4358
|
+
'onUpdate:focused': PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
|
|
4344
4359
|
validateOn: PropType<"input" | "blur" | "submit" | undefined>;
|
|
4345
4360
|
errorMessages: {
|
|
4346
4361
|
type: PropType<string | string[]>;
|
|
@@ -4354,12 +4369,12 @@ declare const VSelect: {
|
|
|
4354
4369
|
type: PropType<ValidationRule[]>;
|
|
4355
4370
|
default: () => never[];
|
|
4356
4371
|
};
|
|
4372
|
+
hint: StringConstructor;
|
|
4373
|
+
persistentHint: BooleanConstructor;
|
|
4357
4374
|
hideDetails: PropType<boolean | "auto">;
|
|
4358
4375
|
clearable: BooleanConstructor;
|
|
4359
4376
|
persistentClear: BooleanConstructor;
|
|
4360
4377
|
singleLine: BooleanConstructor;
|
|
4361
|
-
hint: StringConstructor;
|
|
4362
|
-
persistentHint: BooleanConstructor;
|
|
4363
4378
|
persistentPlaceholder: BooleanConstructor;
|
|
4364
4379
|
persistentCounter: BooleanConstructor;
|
|
4365
4380
|
suffix: StringConstructor;
|
|
@@ -3,7 +3,7 @@ import { mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fr
|
|
|
3
3
|
import "./VSlider.css";
|
|
4
4
|
|
|
5
5
|
// Components
|
|
6
|
-
import {
|
|
6
|
+
import { makeVInputProps, VInput } from "../VInput/VInput.mjs";
|
|
7
7
|
import { VLabel } from "../VLabel/index.mjs";
|
|
8
8
|
import { VSliderThumb } from "./VSliderThumb.mjs";
|
|
9
9
|
import { VSliderTrack } from "./VSliderTrack.mjs"; // Composables
|
|
@@ -62,7 +62,7 @@ export const VSlider = genericComponent()({
|
|
|
62
62
|
} = useFocus(props);
|
|
63
63
|
const trackStop = computed(() => position(model.value));
|
|
64
64
|
useRender(() => {
|
|
65
|
-
const [inputProps, _] =
|
|
65
|
+
const [inputProps, _] = VInput.filterProps(props);
|
|
66
66
|
const hasPrepend = !!(props.label || slots.label || slots.prepend);
|
|
67
67
|
return _createVNode(VInput, _mergeProps({
|
|
68
68
|
"class": ['v-slider', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VSlider.mjs","names":["
|
|
1
|
+
{"version":3,"file":"VSlider.mjs","names":["makeVInputProps","VInput","VLabel","VSliderThumb","VSliderTrack","makeFocusProps","useFocus","makeSliderProps","useSlider","useProxiedModel","computed","ref","genericComponent","useRender","VSlider","name","props","modelValue","type","Number","String","default","emits","value","v","setup","_ref","slots","thumbContainerRef","min","max","mousePressed","roundValue","onSliderMousedown","onSliderTouchstart","trackContainerRef","position","hasLabels","readonly","handleSliderMouseUp","newValue","model","handleMouseMove","getActiveThumb","$el","undefined","parseFloat","isFocused","focus","blur","trackStop","inputProps","_","filterProps","hasPrepend","label","prepend","_createVNode","_mergeProps","disabled","slotProps","_Fragment","id","_ref2","messagesId","elevation"],"sources":["../../../src/components/VSlider/VSlider.tsx"],"sourcesContent":["// Styles\nimport './VSlider.sass'\n\n// Components\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VLabel } from '@/components/VLabel'\nimport { VSliderThumb } from './VSliderThumb'\nimport { VSliderTrack } from './VSliderTrack'\n\n// Composables\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { makeSliderProps, useSlider } from './slider'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { MakeSlots } from '@/util'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nexport type VSliderSlots = VInputSlots & MakeSlots<{\n 'tick-label': []\n 'thumb-label': []\n}>\n\nexport const VSlider = genericComponent<VSliderSlots>()({\n name: 'VSlider',\n\n props: {\n ...makeFocusProps(),\n ...makeSliderProps(),\n ...makeVInputProps(),\n\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n },\n\n emits: {\n 'update:focused': (value: boolean) => true,\n 'update:modelValue': (v: number) => true,\n },\n\n setup (props, { slots }) {\n const thumbContainerRef = ref()\n\n const {\n min,\n max,\n mousePressed,\n roundValue,\n onSliderMousedown,\n onSliderTouchstart,\n trackContainerRef,\n position,\n hasLabels,\n readonly,\n } = useSlider({\n props,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleSliderMouseUp: newValue => model.value = roundValue(newValue),\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleMouseMove: newValue => model.value = roundValue(newValue),\n getActiveThumb: () => thumbContainerRef.value?.$el,\n })\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => {\n const value = typeof v === 'string' ? parseFloat(v) : v == null ? min.value : v\n\n return roundValue(value)\n },\n )\n\n const { isFocused, focus, blur } = useFocus(props)\n const trackStop = computed(() => position(model.value))\n\n useRender(() => {\n const [inputProps, _] = VInput.filterProps(props)\n const hasPrepend = !!(props.label || slots.label || slots.prepend)\n\n return (\n <VInput\n class={[\n 'v-slider',\n {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': props.disabled,\n },\n ]}\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n prepend: hasPrepend ? slotProps => (\n <>\n { slots.label?.(slotProps) ?? props.label\n ? (\n <VLabel\n id={ slotProps.id.value }\n class=\"v-slider__label\"\n text={ props.label }\n />\n ) : undefined\n }\n\n { slots.prepend?.(slotProps) }\n </>\n ) : undefined,\n default: ({ id, messagesId }) => (\n <div\n class=\"v-slider__container\"\n onMousedown={ !readonly.value ? onSliderMousedown : undefined }\n onTouchstartPassive={ !readonly.value ? onSliderTouchstart : undefined }\n >\n <input\n id={ id.value }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value }\n />\n\n <VSliderTrack\n ref={ trackContainerRef }\n start={ 0 }\n stop={ trackStop.value }\n >\n {{ 'tick-label': slots['tick-label'] }}\n </VSliderTrack>\n\n <VSliderThumb\n ref={ thumbContainerRef }\n aria-describedby={ messagesId.value }\n focused={ isFocused.value }\n min={ min.value }\n max={ max.value }\n modelValue={ model.value }\n onUpdate:modelValue={ v => (model.value = v) }\n position={ trackStop.value }\n elevation={ props.elevation }\n onFocus={ focus }\n onBlur={ blur }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n </div>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VSlider = InstanceType<typeof VSlider>\n"],"mappings":"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"}
|