vuetify 3.5.16 → 3.5.18
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 +226 -30
- package/dist/json/importMap-labs.json +12 -8
- package/dist/json/importMap.json +114 -114
- package/dist/json/tags.json +54 -0
- package/dist/json/web-types.json +607 -84
- package/dist/vuetify-labs.css +2293 -2267
- package/dist/vuetify-labs.d.ts +742 -64
- package/dist/vuetify-labs.esm.js +365 -132
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +364 -131
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +2324 -2298
- package/dist/vuetify.d.ts +120 -55
- package/dist/vuetify.esm.js +177 -104
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +176 -103
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +183 -179
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAppBar/index.d.mts +1 -0
- package/lib/components/VAutocomplete/VAutocomplete.mjs +8 -10
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VBanner/VBanner.css +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.css +1 -1
- package/lib/components/VBtn/index.d.mts +1 -0
- package/lib/components/VBtnToggle/index.d.mts +1 -0
- package/lib/components/VCard/VCard.css +3 -3
- package/lib/components/VCarousel/VCarouselItem.mjs +1 -1
- package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
- package/lib/components/VCarousel/index.d.mts +1 -0
- package/lib/components/VChip/VChip.css +1 -1
- package/lib/components/VChip/VChip.sass +1 -0
- package/lib/components/VChipGroup/index.d.mts +1 -0
- package/lib/components/VCombobox/VCombobox.mjs +8 -10
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.mjs +12 -2
- package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.mjs +6 -2
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/__test__/VDialog.spec.cy.mjs +39 -0
- package/lib/components/VDialog/__test__/VDialog.spec.cy.mjs.map +1 -0
- package/lib/components/VDialog/index.d.mts +4 -10
- package/lib/components/VFileInput/VFileInput.mjs +1 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.mts +17 -5
- package/lib/components/VInput/VInput.mjs +6 -1
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/index.d.mts +6 -0
- package/lib/components/VList/VList.mjs +2 -1
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListItem.css +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +3 -3
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/touch.mjs +16 -2
- package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.mjs +11 -1
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/index.d.mts +21 -0
- package/lib/components/VRangeSlider/index.d.mts +6 -0
- package/lib/components/VSelect/VSelect.mjs +5 -1
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSlideGroup/index.d.mts +1 -0
- package/lib/components/VSlider/index.d.mts +6 -0
- package/lib/components/VSnackbar/VSnackbar.css +18 -4
- package/lib/components/VSnackbar/VSnackbar.mjs +34 -9
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.sass +19 -3
- package/lib/components/VSwitch/VSwitch.css +14 -2
- package/lib/components/VSwitch/VSwitch.sass +8 -2
- package/lib/components/VSystemBar/VSystemBar.css +1 -1
- package/lib/components/VTabs/index.d.mts +1 -0
- package/lib/components/VTextField/index.d.mts +15 -3
- package/lib/components/VTextarea/index.d.mts +15 -3
- package/lib/components/VWindow/index.d.mts +1 -0
- package/lib/components/index.d.mts +85 -21
- package/lib/composables/directiveComponent.mjs +4 -2
- package/lib/composables/directiveComponent.mjs.map +1 -1
- package/lib/composables/group.mjs +10 -1
- package/lib/composables/group.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +35 -34
- package/lib/labs/VCalendar/VCalendar.css +0 -1
- package/lib/labs/VCalendar/VCalendar.sass +0 -2
- package/lib/labs/VEmptyState/VEmptyState.css +3 -3
- package/lib/labs/VFab/VFab.css +1 -0
- package/lib/labs/VFab/VFab.mjs +3 -2
- package/lib/labs/VFab/VFab.mjs.map +1 -1
- package/lib/labs/VFab/VFab.sass +1 -0
- package/lib/labs/VFab/index.d.mts +10 -0
- package/lib/labs/VNumberInput/VNumberInput.mjs +79 -24
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/VNumberInput/index.d.mts +56 -29
- package/lib/labs/VSnackbarQueue/VSnackbarQueue.mjs +112 -0
- package/lib/labs/VSnackbarQueue/VSnackbarQueue.mjs.map +1 -0
- package/lib/labs/VSnackbarQueue/index.d.mts +2693 -0
- package/lib/labs/VSnackbarQueue/index.mjs +2 -0
- package/lib/labs/VSnackbarQueue/index.mjs.map +1 -0
- package/lib/labs/VSpeedDial/VSpeedDial.mjs +1 -2
- package/lib/labs/VSpeedDial/VSpeedDial.mjs.map +1 -1
- package/lib/labs/VTimePicker/VTimePickerClock.mjs +1 -3
- package/lib/labs/VTimePicker/VTimePickerClock.mjs.map +1 -1
- package/lib/labs/VTimePicker/index.d.mts +6 -13
- package/lib/labs/components.d.mts +2893 -282
- package/lib/labs/components.mjs +1 -0
- package/lib/labs/components.mjs.map +1 -1
- package/lib/locale/af.mjs +1 -0
- package/lib/locale/af.mjs.map +1 -1
- package/lib/locale/ar.mjs +1 -0
- package/lib/locale/ar.mjs.map +1 -1
- package/lib/locale/az.mjs +1 -0
- package/lib/locale/az.mjs.map +1 -1
- package/lib/locale/bg.mjs +1 -0
- package/lib/locale/bg.mjs.map +1 -1
- package/lib/locale/ca.mjs +1 -0
- package/lib/locale/ca.mjs.map +1 -1
- package/lib/locale/ckb.mjs +1 -0
- package/lib/locale/ckb.mjs.map +1 -1
- package/lib/locale/cs.mjs +1 -0
- package/lib/locale/cs.mjs.map +1 -1
- package/lib/locale/da.mjs +1 -0
- package/lib/locale/da.mjs.map +1 -1
- package/lib/locale/de.mjs +1 -0
- package/lib/locale/de.mjs.map +1 -1
- package/lib/locale/el.mjs +1 -0
- package/lib/locale/el.mjs.map +1 -1
- package/lib/locale/en.mjs +1 -0
- package/lib/locale/en.mjs.map +1 -1
- package/lib/locale/es.mjs +1 -0
- package/lib/locale/es.mjs.map +1 -1
- package/lib/locale/et.mjs +1 -0
- package/lib/locale/et.mjs.map +1 -1
- package/lib/locale/fa.mjs +1 -0
- package/lib/locale/fa.mjs.map +1 -1
- package/lib/locale/fi.mjs +1 -0
- package/lib/locale/fi.mjs.map +1 -1
- package/lib/locale/fr.mjs +1 -0
- package/lib/locale/fr.mjs.map +1 -1
- package/lib/locale/he.mjs +1 -0
- package/lib/locale/he.mjs.map +1 -1
- package/lib/locale/hr.mjs +1 -0
- package/lib/locale/hr.mjs.map +1 -1
- package/lib/locale/hu.mjs +1 -0
- package/lib/locale/hu.mjs.map +1 -1
- package/lib/locale/id.mjs +1 -0
- package/lib/locale/id.mjs.map +1 -1
- package/lib/locale/index.d.mts +43 -0
- package/lib/locale/it.mjs +1 -0
- package/lib/locale/it.mjs.map +1 -1
- package/lib/locale/ja.mjs +1 -0
- package/lib/locale/ja.mjs.map +1 -1
- package/lib/locale/km.mjs +1 -0
- package/lib/locale/km.mjs.map +1 -1
- package/lib/locale/ko.mjs +9 -8
- package/lib/locale/ko.mjs.map +1 -1
- package/lib/locale/lt.mjs +1 -0
- package/lib/locale/lt.mjs.map +1 -1
- package/lib/locale/lv.mjs +1 -0
- package/lib/locale/lv.mjs.map +1 -1
- package/lib/locale/nl.mjs +1 -0
- package/lib/locale/nl.mjs.map +1 -1
- package/lib/locale/no.mjs +1 -0
- package/lib/locale/no.mjs.map +1 -1
- package/lib/locale/pl.mjs +1 -0
- package/lib/locale/pl.mjs.map +1 -1
- package/lib/locale/pt.mjs +1 -0
- package/lib/locale/pt.mjs.map +1 -1
- package/lib/locale/ro.mjs +1 -0
- package/lib/locale/ro.mjs.map +1 -1
- package/lib/locale/ru.mjs +1 -0
- package/lib/locale/ru.mjs.map +1 -1
- package/lib/locale/sk.mjs +1 -0
- package/lib/locale/sk.mjs.map +1 -1
- package/lib/locale/sl.mjs +1 -0
- package/lib/locale/sl.mjs.map +1 -1
- package/lib/locale/sr-Cyrl.mjs +1 -0
- package/lib/locale/sr-Cyrl.mjs.map +1 -1
- package/lib/locale/sr-Latn.mjs +1 -0
- package/lib/locale/sr-Latn.mjs.map +1 -1
- package/lib/locale/sv.mjs +1 -0
- package/lib/locale/sv.mjs.map +1 -1
- package/lib/locale/th.mjs +1 -0
- package/lib/locale/th.mjs.map +1 -1
- package/lib/locale/tr.mjs +1 -0
- package/lib/locale/tr.mjs.map +1 -1
- package/lib/locale/uk.mjs +1 -0
- package/lib/locale/uk.mjs.map +1 -1
- package/lib/locale/vi.mjs +1 -0
- package/lib/locale/vi.mjs.map +1 -1
- package/lib/locale/zh-Hans.mjs +1 -0
- package/lib/locale/zh-Hans.mjs.map +1 -1
- package/lib/locale/zh-Hant.mjs +1 -0
- package/lib/locale/zh-Hant.mjs.map +1 -1
- package/lib/styles/main.css +78 -78
- package/lib/styles/settings/_variables.scss +21 -14
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VFileInput.mjs","names":["VChip","VCounter","VField","filterFieldProps","makeVFieldProps","makeVInputProps","VInput","useFocus","forwardRefs","useLocale","useProxiedModel","computed","nextTick","ref","watch","callEvent","filterInputAttrs","genericComponent","humanReadableFileSize","propsFactory","useRender","wrapInArray","makeVFileInputProps","chips","Boolean","counter","counterSizeString","type","String","default","counterString","multiple","showSize","Number","validator","v","includes","prependIcon","modelValue","Array","Object","val","every","clearable","VFileInput","name","inheritAttrs","props","emits","e","focused","files","setup","_ref","attrs","emit","slots","t","model","isArray","isFocused","focus","blur","base","undefined","totalBytes","value","reduce","bytes","_ref2","size","totalBytesReadable","fileNames","map","file","counterValue","fileCount","length","vInputRef","vFieldRef","inputRef","isActive","active","isPlainOrUnderlined","variant","onFocus","document","activeElement","onClickPrepend","click","onControlMousedown","onControlClick","onClear","stopPropagation","newValue","hasModelReset","hasCounter","hasDetails","details","rootAttrs","inputAttrs","_","inputProps","filterProps","fieldProps","_createVNode","_mergeProps","$event","class","style","_ref3","id","isDisabled","isDirty","isReadonly","isValid","_ref4","fieldClass","slotProps","_Fragment","preventDefault","target","selection","text","join"],"sources":["../../../src/components/VFileInput/VFileInput.tsx"],"sourcesContent":["// Styles\nimport './VFileInput.sass'\n\n// Components\nimport { VChip } from '@/components/VChip'\nimport { VCounter } from '@/components/VCounter'\nimport { VField } from '@/components/VField'\nimport { filterFieldProps, makeVFieldProps } from '@/components/VField/VField'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\n\n// Composables\nimport { useFocus } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, nextTick, ref, watch } from 'vue'\nimport {\n callEvent,\n filterInputAttrs,\n genericComponent,\n humanReadableFileSize,\n propsFactory,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nexport type VFileInputSlots = VInputSlots & VFieldSlots & {\n counter: never\n selection: {\n fileNames: string[]\n totalBytes: number\n totalBytesReadable: string\n }\n}\n\nexport const makeVFileInputProps = propsFactory({\n chips: Boolean,\n counter: Boolean,\n counterSizeString: {\n type: String,\n default: '$vuetify.fileInput.counterSize',\n },\n counterString: {\n type: String,\n default: '$vuetify.fileInput.counter',\n },\n multiple: Boolean,\n showSize: {\n type: [Boolean, Number, String] as PropType<boolean | 1000 | 1024>,\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(Number(v))\n )\n },\n },\n\n ...makeVInputProps({ prependIcon: '$file' }),\n\n modelValue: {\n type: [Array, Object] as PropType<File[] | File>,\n default: () => ([]),\n validator: (val: any) => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n },\n\n ...makeVFieldProps({ clearable: true }),\n}, 'VFileInput')\n\nexport const VFileInput = genericComponent<VFileInputSlots>()({\n name: 'VFileInput',\n\n inheritAttrs: false,\n\n props: makeVFileInputProps(),\n\n emits: {\n 'click:control': (e: MouseEvent) => true,\n 'mousedown:control': (e: MouseEvent) => true,\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (files: File[]) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const model = useProxiedModel(\n props,\n 'modelValue',\n props.modelValue,\n val => wrapInArray(val),\n val => (props.multiple || Array.isArray(props.modelValue)) ? val : val[0],\n )\n const { isFocused, focus, blur } = useFocus(props)\n const base = computed(() => typeof props.showSize !== 'boolean' ? props.showSize : undefined)\n const totalBytes = computed(() => (model.value ?? []).reduce((bytes, { size = 0 }) => bytes + size, 0))\n const totalBytesReadable = computed(() => humanReadableFileSize(totalBytes.value, base.value))\n\n const fileNames = computed(() => (model.value ?? []).map(file => {\n const { name = '', size = 0 } = file\n\n return !props.showSize\n ? name\n : `${name} (${humanReadableFileSize(size, base.value)})`\n }))\n\n const counterValue = computed(() => {\n const fileCount = model.value?.length ?? 0\n if (props.showSize) return t(props.counterSizeString, fileCount, totalBytesReadable.value)\n else return t(props.counterString, fileCount)\n })\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VInput>()\n const inputRef = ref<HTMLInputElement>()\n const isActive = computed(() => (\n isFocused.value ||\n props.active\n ))\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant))\n function onFocus () {\n if (inputRef.value !== document.activeElement) {\n inputRef.value?.focus()\n }\n\n if (!isFocused.value) focus()\n }\n function onClickPrepend (e: MouseEvent) {\n inputRef.value?.click()\n }\n function onControlMousedown (e: MouseEvent) {\n emit('mousedown:control', e)\n }\n function onControlClick (e: MouseEvent) {\n inputRef.value?.click()\n\n emit('click:control', e)\n }\n function onClear (e: MouseEvent) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = []\n\n callEvent(props['onClick:clear'], e)\n })\n }\n\n watch(model, newValue => {\n const hasModelReset = !Array.isArray(newValue) || !newValue.length\n\n if (hasModelReset && inputRef.value) {\n inputRef.value.value = ''\n }\n })\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter)\n const hasDetails = !!(hasCounter || slots.details)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const { modelValue: _, ...inputProps } = VInput.filterProps(props)\n const fieldProps = filterFieldProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class={[\n 'v-file-input',\n {\n 'v-file-input--chips': !!props.chips,\n 'v-input--plain-underlined': isPlainOrUnderlined.value,\n },\n props.class,\n ]}\n style={ props.style }\n onClick:prepend={ onClickPrepend }\n { ...rootAttrs }\n { ...inputProps }\n centerAffix={ !isPlainOrUnderlined.value }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({\n id,\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n }) => (\n <VField\n ref={ vFieldRef }\n prepend-icon={ props.prependIcon }\n onMousedown={ onControlMousedown }\n onClick={ onControlClick }\n onClick:clear={ onClear }\n onClick:prependInner={ props['onClick:prependInner'] }\n onClick:appendInner={ props['onClick:appendInner'] }\n { ...fieldProps }\n id={ id.value }\n active={ isActive.value || isDirty.value }\n dirty={ isDirty.value }\n disabled={ isDisabled.value }\n focused={ isFocused.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n }) => (\n <>\n <input\n ref={ inputRef }\n type=\"file\"\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n multiple={ props.multiple }\n name={ props.name }\n onClick={ e => {\n e.stopPropagation()\n\n if (isReadonly.value) e.preventDefault()\n\n onFocus()\n }}\n onChange={ e => {\n if (!e.target) return\n\n const target = e.target as HTMLInputElement\n model.value = [...target.files ?? []]\n }}\n onFocus={ onFocus }\n onBlur={ blur }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n <div class={ fieldClass }>\n { !!model.value?.length && (\n slots.selection ? slots.selection({\n fileNames: fileNames.value,\n totalBytes: totalBytes.value,\n totalBytesReadable: totalBytesReadable.value,\n })\n : props.chips ? fileNames.value.map(text => (\n <VChip\n key={ text }\n size=\"small\"\n text={ text }\n />\n ))\n : fileNames.value.join(', ')\n )}\n </div>\n </>\n ),\n }}\n </VField>\n ),\n details: hasDetails ? slotProps => (\n <>\n { slots.details?.(slotProps) }\n\n { hasCounter && (\n <>\n <span />\n\n <VCounter\n active={ !!model.value?.length }\n value={ counterValue.value }\n v-slots:default={ slots.counter }\n />\n </>\n )}\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return forwardRefs({}, vInputRef, vFieldRef, inputRef)\n },\n})\n\nexport type VFileInput = InstanceType<typeof VFileInput>\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VFileInput.mjs","names":["VChip","VCounter","VField","filterFieldProps","makeVFieldProps","makeVInputProps","VInput","useFocus","forwardRefs","useLocale","useProxiedModel","computed","nextTick","ref","watch","callEvent","filterInputAttrs","genericComponent","humanReadableFileSize","propsFactory","useRender","wrapInArray","makeVFileInputProps","chips","Boolean","counter","counterSizeString","type","String","default","counterString","multiple","showSize","Number","validator","v","includes","prependIcon","modelValue","Array","Object","props","val","every","clearable","VFileInput","name","inheritAttrs","emits","e","focused","files","setup","_ref","attrs","emit","slots","t","model","isArray","isFocused","focus","blur","base","undefined","totalBytes","value","reduce","bytes","_ref2","size","totalBytesReadable","fileNames","map","file","counterValue","fileCount","length","vInputRef","vFieldRef","inputRef","isActive","active","isPlainOrUnderlined","variant","onFocus","document","activeElement","onClickPrepend","click","onControlMousedown","onControlClick","onClear","stopPropagation","newValue","hasModelReset","hasCounter","hasDetails","details","rootAttrs","inputAttrs","_","inputProps","filterProps","fieldProps","_createVNode","_mergeProps","$event","class","style","_ref3","id","isDisabled","isDirty","isReadonly","isValid","_ref4","fieldClass","slotProps","_Fragment","preventDefault","target","selection","text","join"],"sources":["../../../src/components/VFileInput/VFileInput.tsx"],"sourcesContent":["// Styles\nimport './VFileInput.sass'\n\n// Components\nimport { VChip } from '@/components/VChip'\nimport { VCounter } from '@/components/VCounter'\nimport { VField } from '@/components/VField'\nimport { filterFieldProps, makeVFieldProps } from '@/components/VField/VField'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\n\n// Composables\nimport { useFocus } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, nextTick, ref, watch } from 'vue'\nimport {\n callEvent,\n filterInputAttrs,\n genericComponent,\n humanReadableFileSize,\n propsFactory,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nexport type VFileInputSlots = VInputSlots & VFieldSlots & {\n counter: never\n selection: {\n fileNames: string[]\n totalBytes: number\n totalBytesReadable: string\n }\n}\n\nexport const makeVFileInputProps = propsFactory({\n chips: Boolean,\n counter: Boolean,\n counterSizeString: {\n type: String,\n default: '$vuetify.fileInput.counterSize',\n },\n counterString: {\n type: String,\n default: '$vuetify.fileInput.counter',\n },\n multiple: Boolean,\n showSize: {\n type: [Boolean, Number, String] as PropType<boolean | 1000 | 1024>,\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(Number(v))\n )\n },\n },\n\n ...makeVInputProps({ prependIcon: '$file' }),\n\n modelValue: {\n type: [Array, Object] as PropType<File[] | File>,\n default: (props: any) => props.multiple ? [] : null,\n validator: (val: any) => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n },\n\n ...makeVFieldProps({ clearable: true }),\n}, 'VFileInput')\n\nexport const VFileInput = genericComponent<VFileInputSlots>()({\n name: 'VFileInput',\n\n inheritAttrs: false,\n\n props: makeVFileInputProps(),\n\n emits: {\n 'click:control': (e: MouseEvent) => true,\n 'mousedown:control': (e: MouseEvent) => true,\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (files: File[]) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const model = useProxiedModel(\n props,\n 'modelValue',\n props.modelValue,\n val => wrapInArray(val),\n val => (props.multiple || Array.isArray(props.modelValue)) ? val : val[0],\n )\n const { isFocused, focus, blur } = useFocus(props)\n const base = computed(() => typeof props.showSize !== 'boolean' ? props.showSize : undefined)\n const totalBytes = computed(() => (model.value ?? []).reduce((bytes, { size = 0 }) => bytes + size, 0))\n const totalBytesReadable = computed(() => humanReadableFileSize(totalBytes.value, base.value))\n\n const fileNames = computed(() => (model.value ?? []).map(file => {\n const { name = '', size = 0 } = file\n\n return !props.showSize\n ? name\n : `${name} (${humanReadableFileSize(size, base.value)})`\n }))\n\n const counterValue = computed(() => {\n const fileCount = model.value?.length ?? 0\n if (props.showSize) return t(props.counterSizeString, fileCount, totalBytesReadable.value)\n else return t(props.counterString, fileCount)\n })\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VInput>()\n const inputRef = ref<HTMLInputElement>()\n const isActive = computed(() => (\n isFocused.value ||\n props.active\n ))\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant))\n function onFocus () {\n if (inputRef.value !== document.activeElement) {\n inputRef.value?.focus()\n }\n\n if (!isFocused.value) focus()\n }\n function onClickPrepend (e: MouseEvent) {\n inputRef.value?.click()\n }\n function onControlMousedown (e: MouseEvent) {\n emit('mousedown:control', e)\n }\n function onControlClick (e: MouseEvent) {\n inputRef.value?.click()\n\n emit('click:control', e)\n }\n function onClear (e: MouseEvent) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = []\n\n callEvent(props['onClick:clear'], e)\n })\n }\n\n watch(model, newValue => {\n const hasModelReset = !Array.isArray(newValue) || !newValue.length\n\n if (hasModelReset && inputRef.value) {\n inputRef.value.value = ''\n }\n })\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter)\n const hasDetails = !!(hasCounter || slots.details)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const { modelValue: _, ...inputProps } = VInput.filterProps(props)\n const fieldProps = filterFieldProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class={[\n 'v-file-input',\n {\n 'v-file-input--chips': !!props.chips,\n 'v-input--plain-underlined': isPlainOrUnderlined.value,\n },\n props.class,\n ]}\n style={ props.style }\n onClick:prepend={ onClickPrepend }\n { ...rootAttrs }\n { ...inputProps }\n centerAffix={ !isPlainOrUnderlined.value }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({\n id,\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n }) => (\n <VField\n ref={ vFieldRef }\n prepend-icon={ props.prependIcon }\n onMousedown={ onControlMousedown }\n onClick={ onControlClick }\n onClick:clear={ onClear }\n onClick:prependInner={ props['onClick:prependInner'] }\n onClick:appendInner={ props['onClick:appendInner'] }\n { ...fieldProps }\n id={ id.value }\n active={ isActive.value || isDirty.value }\n dirty={ isDirty.value }\n disabled={ isDisabled.value }\n focused={ isFocused.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n }) => (\n <>\n <input\n ref={ inputRef }\n type=\"file\"\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n multiple={ props.multiple }\n name={ props.name }\n onClick={ e => {\n e.stopPropagation()\n\n if (isReadonly.value) e.preventDefault()\n\n onFocus()\n }}\n onChange={ e => {\n if (!e.target) return\n\n const target = e.target as HTMLInputElement\n model.value = [...target.files ?? []]\n }}\n onFocus={ onFocus }\n onBlur={ blur }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n <div class={ fieldClass }>\n { !!model.value?.length && (\n slots.selection ? slots.selection({\n fileNames: fileNames.value,\n totalBytes: totalBytes.value,\n totalBytesReadable: totalBytesReadable.value,\n })\n : props.chips ? fileNames.value.map(text => (\n <VChip\n key={ text }\n size=\"small\"\n text={ text }\n />\n ))\n : fileNames.value.join(', ')\n )}\n </div>\n </>\n ),\n }}\n </VField>\n ),\n details: hasDetails ? slotProps => (\n <>\n { slots.details?.(slotProps) }\n\n { hasCounter && (\n <>\n <span />\n\n <VCounter\n active={ !!model.value?.length }\n value={ counterValue.value }\n v-slots:default={ slots.counter }\n />\n </>\n )}\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return forwardRefs({}, vInputRef, vFieldRef, inputRef)\n },\n})\n\nexport type VFileInput = InstanceType<typeof VFileInput>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -247,6 +247,7 @@ declare const VFileInput: {
|
|
|
247
247
|
class?: any;
|
|
248
248
|
id?: string | undefined;
|
|
249
249
|
label?: string | undefined;
|
|
250
|
+
theme?: string | undefined;
|
|
250
251
|
name?: string | undefined;
|
|
251
252
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
|
252
253
|
validateOn?: ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | "lazy" | undefined;
|
|
@@ -276,6 +277,7 @@ declare const VFileInput: {
|
|
|
276
277
|
class?: any;
|
|
277
278
|
id?: string | undefined;
|
|
278
279
|
label?: string | undefined;
|
|
280
|
+
theme?: string | undefined;
|
|
279
281
|
name?: string | undefined;
|
|
280
282
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
|
281
283
|
validateOn?: ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | "lazy" | undefined;
|
|
@@ -333,6 +335,7 @@ declare const VFileInput: {
|
|
|
333
335
|
class?: any;
|
|
334
336
|
id?: string | undefined;
|
|
335
337
|
label?: string | undefined;
|
|
338
|
+
theme?: string | undefined;
|
|
336
339
|
name?: string | undefined;
|
|
337
340
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
|
338
341
|
validateOn?: ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | "lazy" | undefined;
|
|
@@ -421,6 +424,7 @@ declare const VFileInput: {
|
|
|
421
424
|
class?: any;
|
|
422
425
|
id?: string | undefined;
|
|
423
426
|
label?: string | undefined;
|
|
427
|
+
theme?: string | undefined;
|
|
424
428
|
name?: string | undefined;
|
|
425
429
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
|
426
430
|
validateOn?: ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | "lazy" | undefined;
|
|
@@ -440,7 +444,7 @@ declare const VFileInput: {
|
|
|
440
444
|
}> & {} & vue.ComponentCustomProperties & {} & GenericProps<{
|
|
441
445
|
modelValue?: unknown;
|
|
442
446
|
'onUpdate:modelValue'?: ((value: unknown) => void) | undefined;
|
|
443
|
-
}, VInputSlots>, "class" | "id" | "label" | "key" | "name" | "v-slot:default" | "$children" | "v-slots" | "ref" | "ref_for" | "ref_key" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:focused" | "modelValue" | "validateOn" | "validationValue" | "onUpdate:modelValue" | "v-slot:prepend" | "v-slot:append" | "prependIcon" | "appendIcon" | "onClick:prepend" | "onClick:append" | "v-slot:message" | "hint" | "hideDetails" | "v-slot:details" | ("style" | "error" | "disabled" | "messages" | "focused" | "errorMessages" | "maxErrors" | "readonly" | "rules" | "density" | "direction" | "centerAffix" | "hideSpinButtons" | "persistentHint")>, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
447
|
+
}, VInputSlots>, "class" | "id" | "label" | "theme" | "key" | "name" | "v-slot:default" | "$children" | "v-slots" | "ref" | "ref_for" | "ref_key" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:focused" | "modelValue" | "validateOn" | "validationValue" | "onUpdate:modelValue" | "v-slot:prepend" | "v-slot:append" | "prependIcon" | "appendIcon" | "onClick:prepend" | "onClick:append" | "v-slot:message" | "hint" | "hideDetails" | "v-slot:details" | ("style" | "error" | "disabled" | "messages" | "focused" | "errorMessages" | "maxErrors" | "readonly" | "rules" | "density" | "direction" | "centerAffix" | "hideSpinButtons" | "persistentHint")>, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
444
448
|
'click:control': (e: MouseEvent) => true;
|
|
445
449
|
'mousedown:control': (e: MouseEvent) => true;
|
|
446
450
|
'update:focused': (focused: boolean) => true;
|
|
@@ -830,6 +834,7 @@ declare const VFileInput: {
|
|
|
830
834
|
class?: any;
|
|
831
835
|
id?: string | undefined;
|
|
832
836
|
label?: string | undefined;
|
|
837
|
+
theme?: string | undefined;
|
|
833
838
|
name?: string | undefined;
|
|
834
839
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
|
835
840
|
validateOn?: ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | "lazy" | undefined;
|
|
@@ -859,6 +864,7 @@ declare const VFileInput: {
|
|
|
859
864
|
class?: any;
|
|
860
865
|
id?: string | undefined;
|
|
861
866
|
label?: string | undefined;
|
|
867
|
+
theme?: string | undefined;
|
|
862
868
|
name?: string | undefined;
|
|
863
869
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
|
864
870
|
validateOn?: ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | "lazy" | undefined;
|
|
@@ -916,6 +922,7 @@ declare const VFileInput: {
|
|
|
916
922
|
class?: any;
|
|
917
923
|
id?: string | undefined;
|
|
918
924
|
label?: string | undefined;
|
|
925
|
+
theme?: string | undefined;
|
|
919
926
|
name?: string | undefined;
|
|
920
927
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
|
921
928
|
validateOn?: ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | "lazy" | undefined;
|
|
@@ -1004,6 +1011,7 @@ declare const VFileInput: {
|
|
|
1004
1011
|
class?: any;
|
|
1005
1012
|
id?: string | undefined;
|
|
1006
1013
|
label?: string | undefined;
|
|
1014
|
+
theme?: string | undefined;
|
|
1007
1015
|
name?: string | undefined;
|
|
1008
1016
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
|
1009
1017
|
validateOn?: ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | "lazy" | undefined;
|
|
@@ -1023,7 +1031,7 @@ declare const VFileInput: {
|
|
|
1023
1031
|
}> & {} & vue.ComponentCustomProperties & {} & GenericProps<{
|
|
1024
1032
|
modelValue?: unknown;
|
|
1025
1033
|
'onUpdate:modelValue'?: ((value: unknown) => void) | undefined;
|
|
1026
|
-
}, VInputSlots>, "class" | "id" | "label" | "key" | "name" | "v-slot:default" | "$children" | "v-slots" | "ref" | "ref_for" | "ref_key" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:focused" | "modelValue" | "validateOn" | "validationValue" | "onUpdate:modelValue" | "v-slot:prepend" | "v-slot:append" | "prependIcon" | "appendIcon" | "onClick:prepend" | "onClick:append" | "v-slot:message" | "hint" | "hideDetails" | "v-slot:details" | ("style" | "error" | "disabled" | "messages" | "focused" | "errorMessages" | "maxErrors" | "readonly" | "rules" | "density" | "direction" | "centerAffix" | "hideSpinButtons" | "persistentHint")>, `$${any}`>, {}, {}, {}, {
|
|
1034
|
+
}, VInputSlots>, "class" | "id" | "label" | "theme" | "key" | "name" | "v-slot:default" | "$children" | "v-slots" | "ref" | "ref_for" | "ref_key" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:focused" | "modelValue" | "validateOn" | "validationValue" | "onUpdate:modelValue" | "v-slot:prepend" | "v-slot:append" | "prependIcon" | "appendIcon" | "onClick:prepend" | "onClick:append" | "v-slot:message" | "hint" | "hideDetails" | "v-slot:details" | ("style" | "error" | "disabled" | "messages" | "focused" | "errorMessages" | "maxErrors" | "readonly" | "rules" | "density" | "direction" | "centerAffix" | "hideSpinButtons" | "persistentHint")>, `$${any}`>, {}, {}, {}, {
|
|
1027
1035
|
reverse: boolean;
|
|
1028
1036
|
flat: boolean;
|
|
1029
1037
|
style: vue.StyleValue;
|
|
@@ -1228,6 +1236,7 @@ declare const VFileInput: {
|
|
|
1228
1236
|
class?: any;
|
|
1229
1237
|
id?: string | undefined;
|
|
1230
1238
|
label?: string | undefined;
|
|
1239
|
+
theme?: string | undefined;
|
|
1231
1240
|
name?: string | undefined;
|
|
1232
1241
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
|
1233
1242
|
validateOn?: ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | "lazy" | undefined;
|
|
@@ -1257,6 +1266,7 @@ declare const VFileInput: {
|
|
|
1257
1266
|
class?: any;
|
|
1258
1267
|
id?: string | undefined;
|
|
1259
1268
|
label?: string | undefined;
|
|
1269
|
+
theme?: string | undefined;
|
|
1260
1270
|
name?: string | undefined;
|
|
1261
1271
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
|
1262
1272
|
validateOn?: ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | "lazy" | undefined;
|
|
@@ -1314,6 +1324,7 @@ declare const VFileInput: {
|
|
|
1314
1324
|
class?: any;
|
|
1315
1325
|
id?: string | undefined;
|
|
1316
1326
|
label?: string | undefined;
|
|
1327
|
+
theme?: string | undefined;
|
|
1317
1328
|
name?: string | undefined;
|
|
1318
1329
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
|
1319
1330
|
validateOn?: ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | "lazy" | undefined;
|
|
@@ -1402,6 +1413,7 @@ declare const VFileInput: {
|
|
|
1402
1413
|
class?: any;
|
|
1403
1414
|
id?: string | undefined;
|
|
1404
1415
|
label?: string | undefined;
|
|
1416
|
+
theme?: string | undefined;
|
|
1405
1417
|
name?: string | undefined;
|
|
1406
1418
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
|
1407
1419
|
validateOn?: ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | "lazy" | undefined;
|
|
@@ -1421,7 +1433,7 @@ declare const VFileInput: {
|
|
|
1421
1433
|
}> & {} & vue.ComponentCustomProperties & {} & GenericProps<{
|
|
1422
1434
|
modelValue?: unknown;
|
|
1423
1435
|
'onUpdate:modelValue'?: ((value: unknown) => void) | undefined;
|
|
1424
|
-
}, VInputSlots>, "class" | "id" | "label" | "key" | "name" | "v-slot:default" | "$children" | "v-slots" | "ref" | "ref_for" | "ref_key" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:focused" | "modelValue" | "validateOn" | "validationValue" | "onUpdate:modelValue" | "v-slot:prepend" | "v-slot:append" | "prependIcon" | "appendIcon" | "onClick:prepend" | "onClick:append" | "v-slot:message" | "hint" | "hideDetails" | "v-slot:details" | ("style" | "error" | "disabled" | "messages" | "focused" | "errorMessages" | "maxErrors" | "readonly" | "rules" | "density" | "direction" | "centerAffix" | "hideSpinButtons" | "persistentHint")>, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
1436
|
+
}, VInputSlots>, "class" | "id" | "label" | "theme" | "key" | "name" | "v-slot:default" | "$children" | "v-slots" | "ref" | "ref_for" | "ref_key" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:focused" | "modelValue" | "validateOn" | "validationValue" | "onUpdate:modelValue" | "v-slot:prepend" | "v-slot:append" | "prependIcon" | "appendIcon" | "onClick:prepend" | "onClick:append" | "v-slot:message" | "hint" | "hideDetails" | "v-slot:details" | ("style" | "error" | "disabled" | "messages" | "focused" | "errorMessages" | "maxErrors" | "readonly" | "rules" | "density" | "direction" | "centerAffix" | "hideSpinButtons" | "persistentHint")>, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
1425
1437
|
'click:control': (e: MouseEvent) => true;
|
|
1426
1438
|
'mousedown:control': (e: MouseEvent) => true;
|
|
1427
1439
|
'update:focused': (focused: boolean) => true;
|
|
@@ -1558,7 +1570,7 @@ declare const VFileInput: {
|
|
|
1558
1570
|
'onClick:prependInner': PropType<(args_0: MouseEvent) => void>;
|
|
1559
1571
|
modelValue: {
|
|
1560
1572
|
type: PropType<File | File[]>;
|
|
1561
|
-
default: () => never[];
|
|
1573
|
+
default: (props: any) => never[] | null;
|
|
1562
1574
|
validator: (val: any) => boolean;
|
|
1563
1575
|
};
|
|
1564
1576
|
focused: BooleanConstructor;
|
|
@@ -1676,7 +1688,7 @@ declare const VFileInput: {
|
|
|
1676
1688
|
'onClick:prependInner': PropType<(args_0: MouseEvent) => void>;
|
|
1677
1689
|
modelValue: {
|
|
1678
1690
|
type: PropType<File | File[]>;
|
|
1679
|
-
default: () => never[];
|
|
1691
|
+
default: (props: any) => never[] | null;
|
|
1680
1692
|
validator: (val: any) => boolean;
|
|
1681
1693
|
};
|
|
1682
1694
|
focused: BooleanConstructor;
|
|
@@ -9,6 +9,7 @@ import { makeComponentProps } from "../../composables/component.mjs";
|
|
|
9
9
|
import { makeDensityProps, useDensity } from "../../composables/density.mjs";
|
|
10
10
|
import { IconValue } from "../../composables/icons.mjs";
|
|
11
11
|
import { useRtl } from "../../composables/locale.mjs";
|
|
12
|
+
import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
|
|
12
13
|
import { makeValidationProps, useValidation } from "../../composables/validation.mjs"; // Utilities
|
|
13
14
|
import { computed } from 'vue';
|
|
14
15
|
import { EventProp, genericComponent, getUid, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
|
@@ -37,6 +38,7 @@ export const makeVInputProps = propsFactory({
|
|
|
37
38
|
'onClick:append': EventProp(),
|
|
38
39
|
...makeComponentProps(),
|
|
39
40
|
...makeDensityProps(),
|
|
41
|
+
...makeThemeProps(),
|
|
40
42
|
...makeValidationProps()
|
|
41
43
|
}, 'VInput');
|
|
42
44
|
export const VInput = genericComponent()({
|
|
@@ -56,6 +58,9 @@ export const VInput = genericComponent()({
|
|
|
56
58
|
const {
|
|
57
59
|
densityClasses
|
|
58
60
|
} = useDensity(props);
|
|
61
|
+
const {
|
|
62
|
+
themeClasses
|
|
63
|
+
} = provideTheme(props);
|
|
59
64
|
const {
|
|
60
65
|
rtlClasses
|
|
61
66
|
} = useRtl();
|
|
@@ -109,7 +114,7 @@ export const VInput = genericComponent()({
|
|
|
109
114
|
"class": ['v-input', `v-input--${props.direction}`, {
|
|
110
115
|
'v-input--center-affix': props.centerAffix,
|
|
111
116
|
'v-input--hide-spin-buttons': props.hideSpinButtons
|
|
112
|
-
}, densityClasses.value, rtlClasses.value, validationClasses.value, props.class],
|
|
117
|
+
}, densityClasses.value, themeClasses.value, rtlClasses.value, validationClasses.value, props.class],
|
|
113
118
|
"style": props.style
|
|
114
119
|
}, [hasPrepend && _createVNode("div", {
|
|
115
120
|
"key": "prepend",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VInput.mjs","names":["useInputIcon","VMessages","makeComponentProps","makeDensityProps","useDensity","IconValue","useRtl","makeValidationProps","useValidation","computed","EventProp","genericComponent","getUid","propsFactory","useRender","makeVInputProps","id","String","appendIcon","centerAffix","type","Boolean","default","prependIcon","hideDetails","hideSpinButtons","hint","persistentHint","messages","Array","direction","validator","v","includes","VInput","name","props","emits","value","setup","_ref","attrs","slots","emit","densityClasses","rtlClasses","InputIcon","uid","messagesId","errorMessages","isDirty","isDisabled","isReadonly","isPristine","isValid","isValidating","reset","resetValidation","validate","validationClasses","slotProps","length","focused","hasPrepend","prepend","hasAppend","append","hasMessages","hasDetails","details","_createVNode","class","style","message"],"sources":["../../../src/components/VInput/VInput.tsx"],"sourcesContent":["// Styles\nimport './VInput.sass'\n\n// Components\nimport { useInputIcon } from '@/components/VInput/InputIcon'\nimport { VMessages } from '@/components/VMessages/VMessages'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\nimport { useRtl } from '@/composables/locale'\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { computed } from 'vue'\nimport { EventProp, genericComponent, getUid, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, PropType, Ref } from 'vue'\nimport type { VMessageSlot } from '@/components/VMessages/VMessages'\nimport type { GenericProps } from '@/util'\n\nexport interface VInputSlot {\n id: ComputedRef<string>\n messagesId: ComputedRef<string>\n isDirty: ComputedRef<boolean>\n isDisabled: ComputedRef<boolean>\n isReadonly: ComputedRef<boolean>\n isPristine: Ref<boolean>\n isValid: ComputedRef<boolean | null>\n isValidating: Ref<boolean>\n reset: () => void\n resetValidation: () => void\n validate: () => void\n}\n\nexport const makeVInputProps = propsFactory({\n id: String,\n appendIcon: IconValue,\n centerAffix: {\n type: Boolean,\n default: true,\n },\n prependIcon: IconValue,\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n hideSpinButtons: Boolean,\n hint: String,\n persistentHint: Boolean,\n messages: {\n type: [Array, String] as PropType<string | readonly string[]>,\n default: () => ([]),\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['horizontal', 'vertical'].includes(v),\n },\n\n 'onClick:prepend': EventProp<[MouseEvent]>(),\n 'onClick:append': EventProp<[MouseEvent]>(),\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeValidationProps(),\n}, 'VInput')\n\nexport type VInputSlots = {\n default: VInputSlot\n prepend: VInputSlot\n append: VInputSlot\n details: VInputSlot\n message: VMessageSlot\n}\n\nexport const VInput = genericComponent<new <T>(\n props: {\n modelValue?: T | null\n 'onUpdate:modelValue'?: (value: T | null) => void\n },\n slots: VInputSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VInput',\n\n props: {\n ...makeVInputProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const { densityClasses } = useDensity(props)\n const { rtlClasses } = useRtl()\n const { InputIcon } = useInputIcon(props)\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const messagesId = computed(() => `${id.value}-messages`)\n\n const {\n errorMessages,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n } = useValidation(props, 'v-input', id)\n\n const slotProps = computed<VInputSlot>(() => ({\n id,\n messagesId,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n }))\n\n const messages = computed(() => {\n if (props.errorMessages?.length || (!isPristine.value && errorMessages.value.length)) {\n return errorMessages.value\n } else if (props.hint && (props.persistentHint || props.focused)) {\n return props.hint\n } else {\n return props.messages\n }\n })\n\n useRender(() => {\n const hasPrepend = !!(slots.prepend || props.prependIcon)\n const hasAppend = !!(slots.append || props.appendIcon)\n const hasMessages = messages.value.length > 0\n const hasDetails = !props.hideDetails || (\n props.hideDetails === 'auto' &&\n (hasMessages || !!slots.details)\n )\n\n return (\n <div\n class={[\n 'v-input',\n `v-input--${props.direction}`,\n {\n 'v-input--center-affix': props.centerAffix,\n 'v-input--hide-spin-buttons': props.hideSpinButtons,\n },\n densityClasses.value,\n rtlClasses.value,\n validationClasses.value,\n props.class,\n ]}\n style={ props.style }\n >\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-input__prepend\">\n { slots.prepend?.(slotProps.value) }\n\n { props.prependIcon && (\n <InputIcon\n key=\"prepend-icon\"\n name=\"prepend\"\n />\n )}\n </div>\n )}\n\n { slots.default && (\n <div class=\"v-input__control\">\n { slots.default?.(slotProps.value) }\n </div>\n )}\n\n { hasAppend && (\n <div key=\"append\" class=\"v-input__append\">\n { props.appendIcon && (\n <InputIcon\n key=\"append-icon\"\n name=\"append\"\n />\n )}\n\n { slots.append?.(slotProps.value) }\n </div>\n )}\n\n { hasDetails && (\n <div class=\"v-input__details\">\n <VMessages\n id={ messagesId.value }\n active={ hasMessages }\n messages={ messages.value }\n v-slots={{ message: slots.message }}\n />\n\n { slots.details?.(slotProps.value) }\n </div>\n )}\n </div>\n )\n })\n\n return {\n reset,\n resetValidation,\n validate,\n isValid,\n errorMessages,\n }\n },\n})\n\nexport type VInput = InstanceType<typeof VInput>\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VInput.mjs","names":["useInputIcon","VMessages","makeComponentProps","makeDensityProps","useDensity","IconValue","useRtl","makeThemeProps","provideTheme","makeValidationProps","useValidation","computed","EventProp","genericComponent","getUid","propsFactory","useRender","makeVInputProps","id","String","appendIcon","centerAffix","type","Boolean","default","prependIcon","hideDetails","hideSpinButtons","hint","persistentHint","messages","Array","direction","validator","v","includes","VInput","name","props","emits","value","setup","_ref","attrs","slots","emit","densityClasses","themeClasses","rtlClasses","InputIcon","uid","messagesId","errorMessages","isDirty","isDisabled","isReadonly","isPristine","isValid","isValidating","reset","resetValidation","validate","validationClasses","slotProps","length","focused","hasPrepend","prepend","hasAppend","append","hasMessages","hasDetails","details","_createVNode","class","style","message"],"sources":["../../../src/components/VInput/VInput.tsx"],"sourcesContent":["// Styles\nimport './VInput.sass'\n\n// Components\nimport { useInputIcon } from '@/components/VInput/InputIcon'\nimport { VMessages } from '@/components/VMessages/VMessages'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\nimport { useRtl } from '@/composables/locale'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { computed } from 'vue'\nimport { EventProp, genericComponent, getUid, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, PropType, Ref } from 'vue'\nimport type { VMessageSlot } from '@/components/VMessages/VMessages'\nimport type { GenericProps } from '@/util'\n\nexport interface VInputSlot {\n id: ComputedRef<string>\n messagesId: ComputedRef<string>\n isDirty: ComputedRef<boolean>\n isDisabled: ComputedRef<boolean>\n isReadonly: ComputedRef<boolean>\n isPristine: Ref<boolean>\n isValid: ComputedRef<boolean | null>\n isValidating: Ref<boolean>\n reset: () => void\n resetValidation: () => void\n validate: () => void\n}\n\nexport const makeVInputProps = propsFactory({\n id: String,\n appendIcon: IconValue,\n centerAffix: {\n type: Boolean,\n default: true,\n },\n prependIcon: IconValue,\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n hideSpinButtons: Boolean,\n hint: String,\n persistentHint: Boolean,\n messages: {\n type: [Array, String] as PropType<string | readonly string[]>,\n default: () => ([]),\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['horizontal', 'vertical'].includes(v),\n },\n\n 'onClick:prepend': EventProp<[MouseEvent]>(),\n 'onClick:append': EventProp<[MouseEvent]>(),\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeThemeProps(),\n ...makeValidationProps(),\n}, 'VInput')\n\nexport type VInputSlots = {\n default: VInputSlot\n prepend: VInputSlot\n append: VInputSlot\n details: VInputSlot\n message: VMessageSlot\n}\n\nexport const VInput = genericComponent<new <T>(\n props: {\n modelValue?: T | null\n 'onUpdate:modelValue'?: (value: T | null) => void\n },\n slots: VInputSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VInput',\n\n props: {\n ...makeVInputProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const { densityClasses } = useDensity(props)\n const { themeClasses } = provideTheme(props)\n const { rtlClasses } = useRtl()\n const { InputIcon } = useInputIcon(props)\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const messagesId = computed(() => `${id.value}-messages`)\n\n const {\n errorMessages,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n } = useValidation(props, 'v-input', id)\n\n const slotProps = computed<VInputSlot>(() => ({\n id,\n messagesId,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n }))\n\n const messages = computed(() => {\n if (props.errorMessages?.length || (!isPristine.value && errorMessages.value.length)) {\n return errorMessages.value\n } else if (props.hint && (props.persistentHint || props.focused)) {\n return props.hint\n } else {\n return props.messages\n }\n })\n\n useRender(() => {\n const hasPrepend = !!(slots.prepend || props.prependIcon)\n const hasAppend = !!(slots.append || props.appendIcon)\n const hasMessages = messages.value.length > 0\n const hasDetails = !props.hideDetails || (\n props.hideDetails === 'auto' &&\n (hasMessages || !!slots.details)\n )\n\n return (\n <div\n class={[\n 'v-input',\n `v-input--${props.direction}`,\n {\n 'v-input--center-affix': props.centerAffix,\n 'v-input--hide-spin-buttons': props.hideSpinButtons,\n },\n densityClasses.value,\n themeClasses.value,\n rtlClasses.value,\n validationClasses.value,\n props.class,\n ]}\n style={ props.style }\n >\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-input__prepend\">\n { slots.prepend?.(slotProps.value) }\n\n { props.prependIcon && (\n <InputIcon\n key=\"prepend-icon\"\n name=\"prepend\"\n />\n )}\n </div>\n )}\n\n { slots.default && (\n <div class=\"v-input__control\">\n { slots.default?.(slotProps.value) }\n </div>\n )}\n\n { hasAppend && (\n <div key=\"append\" class=\"v-input__append\">\n { props.appendIcon && (\n <InputIcon\n key=\"append-icon\"\n name=\"append\"\n />\n )}\n\n { slots.append?.(slotProps.value) }\n </div>\n )}\n\n { hasDetails && (\n <div class=\"v-input__details\">\n <VMessages\n id={ messagesId.value }\n active={ hasMessages }\n messages={ messages.value }\n v-slots={{ message: slots.message }}\n />\n\n { slots.details?.(slotProps.value) }\n </div>\n )}\n </div>\n )\n })\n\n return {\n reset,\n resetValidation,\n validate,\n isValid,\n errorMessages,\n }\n },\n})\n\nexport type VInput = InstanceType<typeof VInput>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -82,6 +82,7 @@ declare const VInput: {
|
|
|
82
82
|
class?: any;
|
|
83
83
|
id?: string | undefined;
|
|
84
84
|
label?: string | undefined;
|
|
85
|
+
theme?: string | undefined;
|
|
85
86
|
name?: string | undefined;
|
|
86
87
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
|
87
88
|
validateOn?: ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | "lazy" | undefined;
|
|
@@ -119,6 +120,7 @@ declare const VInput: {
|
|
|
119
120
|
class?: any;
|
|
120
121
|
id?: string | undefined;
|
|
121
122
|
label?: string | undefined;
|
|
123
|
+
theme?: string | undefined;
|
|
122
124
|
name?: string | undefined;
|
|
123
125
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
|
124
126
|
validateOn?: ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | "lazy" | undefined;
|
|
@@ -186,6 +188,7 @@ declare const VInput: {
|
|
|
186
188
|
class?: any;
|
|
187
189
|
id?: string | undefined;
|
|
188
190
|
label?: string | undefined;
|
|
191
|
+
theme?: string | undefined;
|
|
189
192
|
name?: string | undefined;
|
|
190
193
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
|
191
194
|
validateOn?: ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | "lazy" | undefined;
|
|
@@ -240,6 +243,7 @@ declare const VInput: {
|
|
|
240
243
|
class?: any;
|
|
241
244
|
id?: string | undefined;
|
|
242
245
|
label?: string | undefined;
|
|
246
|
+
theme?: string | undefined;
|
|
243
247
|
name?: string | undefined;
|
|
244
248
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
|
245
249
|
validateOn?: ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | "lazy" | undefined;
|
|
@@ -324,6 +328,7 @@ declare const VInput: {
|
|
|
324
328
|
modelValue: null;
|
|
325
329
|
validateOn: PropType<("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | "lazy" | undefined>;
|
|
326
330
|
validationValue: null;
|
|
331
|
+
theme: StringConstructor;
|
|
327
332
|
density: {
|
|
328
333
|
type: PropType<Density>;
|
|
329
334
|
default: string;
|
|
@@ -385,6 +390,7 @@ declare const VInput: {
|
|
|
385
390
|
modelValue: null;
|
|
386
391
|
validateOn: PropType<("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | "lazy" | undefined>;
|
|
387
392
|
validationValue: null;
|
|
393
|
+
theme: StringConstructor;
|
|
388
394
|
density: {
|
|
389
395
|
type: PropType<Density>;
|
|
390
396
|
default: string;
|
|
@@ -176,7 +176,8 @@ export const VList = genericComponent()({
|
|
|
176
176
|
if (!isFocused.value && !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget))) focus();
|
|
177
177
|
}
|
|
178
178
|
function onKeydown(e) {
|
|
179
|
-
|
|
179
|
+
const target = e.target;
|
|
180
|
+
if (!contentRef.value || ['INPUT', 'TEXTAREA'].includes(target.tagName)) return;
|
|
180
181
|
if (e.key === 'ArrowDown') {
|
|
181
182
|
focus('next');
|
|
182
183
|
} else if (e.key === 'ArrowUp') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VList.mjs","names":["VListChildren","createList","makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","provideDefaults","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeItemsProps","makeNestedProps","useNested","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","makeVariantProps","computed","ref","shallowRef","toRef","focusChild","genericComponent","getPropertyFromItem","omit","propsFactory","useRender","isPrimitive","value","transformItem","props","item","type","itemType","title","itemTitle","itemValue","undefined","children","itemChildren","itemProps","_props","transformItems","raw","items","array","push","useListItems","makeVListProps","baseColor","String","activeColor","activeClass","bgColor","disabled","Boolean","expandIcon","collapseIcon","lines","default","slim","nav","selectStrategy","openStrategy","variant","VList","name","emits","setup","_ref","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","open","parents","select","lineClasses","color","VListGroup","VListItem","density","isFocused","contentRef","onFocusin","e","onFocusout","onFocus","relatedTarget","contains","focus","onKeydown","key","preventDefault","onMousedown","location","_createVNode","tag","class","style","returnObject"],"sources":["../../../src/components/VList/VList.tsx"],"sourcesContent":["// Styles\nimport './VList.sass'\n\n// Components\nimport { VListChildren } from './VListChildren'\n\n// Composables\nimport { createList } from './list'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeItemsProps } from '@/composables/list-items'\nimport { makeNestedProps, useNested } from '@/composables/nested/nested'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef } from 'vue'\nimport { focusChild, genericComponent, getPropertyFromItem, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VListChildrenSlots } from './VListChildren'\nimport type { ItemProps, ListItem } from '@/composables/list-items'\nimport type { GenericProps, SelectItemKey } from '@/util'\n\nexport interface InternalListItem<T = any> extends ListItem<T> {\n type?: 'item' | 'subheader' | 'divider'\n}\n\nfunction isPrimitive (value: unknown): value is string | number | boolean {\n return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean'\n}\n\nfunction transformItem (props: ItemProps & { itemType: string }, item: any): InternalListItem {\n const type = getPropertyFromItem(item, props.itemType, 'item')\n const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle)\n const value = getPropertyFromItem(item, props.itemValue, undefined)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true\n ? omit(item, ['children'])\n : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n type,\n title: _props.title,\n value: _props.value,\n props: _props,\n children: type === 'item' && children ? transformItems(props, children) : undefined,\n raw: item,\n }\n}\n\nfunction transformItems (props: ItemProps & { itemType: string }, items: (string | object)[]) {\n const array: InternalListItem[] = []\n\n for (const item of items) {\n array.push(transformItem(props, item))\n }\n\n return array\n}\n\nexport function useListItems (props: ItemProps & { itemType: string }) {\n const items = computed(() => transformItems(props, props.items))\n\n return { items }\n}\n\nexport const makeVListProps = propsFactory({\n baseColor: String,\n /* @deprecated */\n activeColor: String,\n activeClass: String,\n bgColor: String,\n disabled: Boolean,\n expandIcon: String,\n collapseIcon: String,\n lines: {\n type: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n default: 'one',\n },\n slim: Boolean,\n nav: Boolean,\n\n ...makeNestedProps({\n selectStrategy: 'single-leaf' as const,\n openStrategy: 'list' as const,\n }),\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n itemType: {\n type: String,\n default: 'type',\n },\n ...makeItemsProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n}, 'VList')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VList = genericComponent<new <\n T extends readonly any[],\n S = unknown,\n O = unknown\n>(\n props: {\n items?: T\n itemTitle?: SelectItemKey<ItemType<T>>\n itemValue?: SelectItemKey<ItemType<T>>\n itemChildren?: SelectItemKey<ItemType<T>>\n itemProps?: SelectItemKey<ItemType<T>>\n selected?: readonly S[]\n 'onUpdate:selected'?: (value: S[]) => void\n opened?: readonly O[]\n 'onUpdate:opened'?: (value: O[]) => void\n },\n slots: VListChildrenSlots<ItemType<T>>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VList',\n\n props: makeVListProps(),\n\n emits: {\n 'update:selected': (value: unknown[]) => true,\n 'update:activated': (value: unknown[]) => true,\n 'update:opened': (value: unknown[]) => true,\n 'click:open': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:activate': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:select': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n },\n\n setup (props, { slots }) {\n const { items } = useListItems(props)\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { children, open, parents, select } = useNested(props)\n const lineClasses = computed(() => props.lines ? `v-list--${props.lines}-line` : undefined)\n const activeColor = toRef(props, 'activeColor')\n const baseColor = toRef(props, 'baseColor')\n const color = toRef(props, 'color')\n\n createList()\n\n provideDefaults({\n VListGroup: {\n activeColor,\n baseColor,\n color,\n expandIcon: toRef(props, 'expandIcon'),\n collapseIcon: toRef(props, 'collapseIcon'),\n },\n VListItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor,\n baseColor,\n color,\n density: toRef(props, 'density'),\n disabled: toRef(props, 'disabled'),\n lines: toRef(props, 'lines'),\n nav: toRef(props, 'nav'),\n slim: toRef(props, 'slim'),\n variant: toRef(props, 'variant'),\n },\n })\n\n const isFocused = shallowRef(false)\n const contentRef = ref<HTMLElement>()\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n\n function onFocusout (e: FocusEvent) {\n isFocused.value = false\n }\n\n function onFocus (e: FocusEvent) {\n if (\n !isFocused.value &&\n !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget as Node))\n ) focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (!contentRef.value) return\n\n if (e.key === 'ArrowDown') {\n focus('next')\n } else if (e.key === 'ArrowUp') {\n focus('prev')\n } else if (e.key === 'Home') {\n focus('first')\n } else if (e.key === 'End') {\n focus('last')\n } else {\n return\n }\n\n e.preventDefault()\n }\n\n function onMousedown (e: MouseEvent) {\n isFocused.value = true\n }\n\n function focus (location?: 'next' | 'prev' | 'first' | 'last') {\n if (contentRef.value) {\n return focusChild(contentRef.value, location)\n }\n }\n\n useRender(() => {\n return (\n <props.tag\n ref={ contentRef }\n class={[\n 'v-list',\n {\n 'v-list--disabled': props.disabled,\n 'v-list--nav': props.nav,\n 'v-list--slim': props.slim,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n tabindex={ (props.disabled || isFocused.value) ? -1 : 0 }\n role=\"listbox\"\n aria-activedescendant={ undefined }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n onFocus={ onFocus }\n onKeydown={ onKeydown }\n onMousedown={ onMousedown }\n >\n <VListChildren\n items={ items.value }\n returnObject={ props.returnObject }\n v-slots={ slots }\n />\n </props.tag>\n )\n })\n\n return {\n open,\n select,\n focus,\n children,\n parents,\n }\n },\n})\n\nexport type VList = InstanceType<typeof VList>\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VList.mjs","names":["VListChildren","createList","makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","provideDefaults","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeItemsProps","makeNestedProps","useNested","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","makeVariantProps","computed","ref","shallowRef","toRef","focusChild","genericComponent","getPropertyFromItem","omit","propsFactory","useRender","isPrimitive","value","transformItem","props","item","type","itemType","title","itemTitle","itemValue","undefined","children","itemChildren","itemProps","_props","transformItems","raw","items","array","push","useListItems","makeVListProps","baseColor","String","activeColor","activeClass","bgColor","disabled","Boolean","expandIcon","collapseIcon","lines","default","slim","nav","selectStrategy","openStrategy","variant","VList","name","emits","setup","_ref","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","densityClasses","dimensionStyles","elevationClasses","roundedClasses","open","parents","select","lineClasses","color","VListGroup","VListItem","density","isFocused","contentRef","onFocusin","e","onFocusout","onFocus","relatedTarget","contains","focus","onKeydown","target","includes","tagName","key","preventDefault","onMousedown","location","_createVNode","tag","class","style","returnObject"],"sources":["../../../src/components/VList/VList.tsx"],"sourcesContent":["// Styles\nimport './VList.sass'\n\n// Components\nimport { VListChildren } from './VListChildren'\n\n// Composables\nimport { createList } from './list'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeItemsProps } from '@/composables/list-items'\nimport { makeNestedProps, useNested } from '@/composables/nested/nested'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef } from 'vue'\nimport { focusChild, genericComponent, getPropertyFromItem, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VListChildrenSlots } from './VListChildren'\nimport type { ItemProps, ListItem } from '@/composables/list-items'\nimport type { GenericProps, SelectItemKey } from '@/util'\n\nexport interface InternalListItem<T = any> extends ListItem<T> {\n type?: 'item' | 'subheader' | 'divider'\n}\n\nfunction isPrimitive (value: unknown): value is string | number | boolean {\n return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean'\n}\n\nfunction transformItem (props: ItemProps & { itemType: string }, item: any): InternalListItem {\n const type = getPropertyFromItem(item, props.itemType, 'item')\n const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle)\n const value = getPropertyFromItem(item, props.itemValue, undefined)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true\n ? omit(item, ['children'])\n : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n type,\n title: _props.title,\n value: _props.value,\n props: _props,\n children: type === 'item' && children ? transformItems(props, children) : undefined,\n raw: item,\n }\n}\n\nfunction transformItems (props: ItemProps & { itemType: string }, items: (string | object)[]) {\n const array: InternalListItem[] = []\n\n for (const item of items) {\n array.push(transformItem(props, item))\n }\n\n return array\n}\n\nexport function useListItems (props: ItemProps & { itemType: string }) {\n const items = computed(() => transformItems(props, props.items))\n\n return { items }\n}\n\nexport const makeVListProps = propsFactory({\n baseColor: String,\n /* @deprecated */\n activeColor: String,\n activeClass: String,\n bgColor: String,\n disabled: Boolean,\n expandIcon: String,\n collapseIcon: String,\n lines: {\n type: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n default: 'one',\n },\n slim: Boolean,\n nav: Boolean,\n\n ...makeNestedProps({\n selectStrategy: 'single-leaf' as const,\n openStrategy: 'list' as const,\n }),\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n itemType: {\n type: String,\n default: 'type',\n },\n ...makeItemsProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n}, 'VList')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VList = genericComponent<new <\n T extends readonly any[],\n S = unknown,\n O = unknown\n>(\n props: {\n items?: T\n itemTitle?: SelectItemKey<ItemType<T>>\n itemValue?: SelectItemKey<ItemType<T>>\n itemChildren?: SelectItemKey<ItemType<T>>\n itemProps?: SelectItemKey<ItemType<T>>\n selected?: readonly S[]\n 'onUpdate:selected'?: (value: S[]) => void\n opened?: readonly O[]\n 'onUpdate:opened'?: (value: O[]) => void\n },\n slots: VListChildrenSlots<ItemType<T>>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VList',\n\n props: makeVListProps(),\n\n emits: {\n 'update:selected': (value: unknown[]) => true,\n 'update:activated': (value: unknown[]) => true,\n 'update:opened': (value: unknown[]) => true,\n 'click:open': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:activate': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:select': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n },\n\n setup (props, { slots }) {\n const { items } = useListItems(props)\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { children, open, parents, select } = useNested(props)\n const lineClasses = computed(() => props.lines ? `v-list--${props.lines}-line` : undefined)\n const activeColor = toRef(props, 'activeColor')\n const baseColor = toRef(props, 'baseColor')\n const color = toRef(props, 'color')\n\n createList()\n\n provideDefaults({\n VListGroup: {\n activeColor,\n baseColor,\n color,\n expandIcon: toRef(props, 'expandIcon'),\n collapseIcon: toRef(props, 'collapseIcon'),\n },\n VListItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor,\n baseColor,\n color,\n density: toRef(props, 'density'),\n disabled: toRef(props, 'disabled'),\n lines: toRef(props, 'lines'),\n nav: toRef(props, 'nav'),\n slim: toRef(props, 'slim'),\n variant: toRef(props, 'variant'),\n },\n })\n\n const isFocused = shallowRef(false)\n const contentRef = ref<HTMLElement>()\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n\n function onFocusout (e: FocusEvent) {\n isFocused.value = false\n }\n\n function onFocus (e: FocusEvent) {\n if (\n !isFocused.value &&\n !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget as Node))\n ) focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n const target = e.target as HTMLElement\n\n if (!contentRef.value || ['INPUT', 'TEXTAREA'].includes(target.tagName)) return\n\n if (e.key === 'ArrowDown') {\n focus('next')\n } else if (e.key === 'ArrowUp') {\n focus('prev')\n } else if (e.key === 'Home') {\n focus('first')\n } else if (e.key === 'End') {\n focus('last')\n } else {\n return\n }\n\n e.preventDefault()\n }\n\n function onMousedown (e: MouseEvent) {\n isFocused.value = true\n }\n\n function focus (location?: 'next' | 'prev' | 'first' | 'last') {\n if (contentRef.value) {\n return focusChild(contentRef.value, location)\n }\n }\n\n useRender(() => {\n return (\n <props.tag\n ref={ contentRef }\n class={[\n 'v-list',\n {\n 'v-list--disabled': props.disabled,\n 'v-list--nav': props.nav,\n 'v-list--slim': props.slim,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n tabindex={ (props.disabled || isFocused.value) ? -1 : 0 }\n role=\"listbox\"\n aria-activedescendant={ undefined }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n onFocus={ onFocus }\n onKeydown={ onKeydown }\n onMousedown={ onMousedown }\n >\n <VListChildren\n items={ items.value }\n returnObject={ props.returnObject }\n v-slots={ slots }\n />\n </props.tag>\n )\n })\n\n return {\n open,\n select,\n focus,\n children,\n parents,\n }\n },\n})\n\nexport type VList = InstanceType<typeof VList>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -145,9 +145,9 @@ export const VNavigationDrawer = genericComponent()({
|
|
|
145
145
|
});
|
|
146
146
|
const {
|
|
147
147
|
isDragging,
|
|
148
|
-
dragProgress
|
|
149
|
-
dragStyles
|
|
148
|
+
dragProgress
|
|
150
149
|
} = useTouch({
|
|
150
|
+
el: rootEl,
|
|
151
151
|
isActive,
|
|
152
152
|
isTemporary,
|
|
153
153
|
width,
|
|
@@ -217,7 +217,7 @@ export const VNavigationDrawer = genericComponent()({
|
|
|
217
217
|
'v-navigation-drawer--active': isActive.value,
|
|
218
218
|
'v-navigation-drawer--sticky': isSticky.value
|
|
219
219
|
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, displayClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
|
220
|
-
"style": [backgroundColorStyles.value, layoutItemStyles.value,
|
|
220
|
+
"style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, stickyStyles.value, props.style]
|
|
221
221
|
}, scopeId, attrs), {
|
|
222
222
|
default: () => [hasImage && _createVNode("div", {
|
|
223
223
|
"key": "image",
|