vuetify 3.7.14 → 3.7.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 +3592 -3596
- package/dist/json/importMap-labs.json +22 -22
- package/dist/json/importMap.json +172 -172
- package/dist/json/tags.json +0 -1
- package/dist/json/web-types.json +6319 -6328
- package/dist/vuetify-labs.css +2227 -2223
- package/dist/vuetify-labs.d.ts +15 -15
- package/dist/vuetify-labs.esm.js +102 -28
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +102 -28
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +6087 -6087
- package/dist/vuetify.d.ts +61 -61
- package/dist/vuetify.esm.js +7 -4
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +7 -4
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +6 -6
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VList/VListItem.mjs +2 -0
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.mjs +1 -1
- package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
- package/lib/components/VSlider/slider.mjs +1 -0
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +61 -61
- package/lib/labs/VDateInput/VDateInput.mjs +2 -2
- package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
- package/lib/labs/VFileUpload/VFileUpload.css +5 -1
- package/lib/labs/VFileUpload/VFileUpload.sass +4 -0
- package/lib/labs/VFileUpload/_variables.scss +1 -1
- package/lib/labs/VNumberInput/VNumberInput.mjs +55 -19
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/VNumberInput/hold.mjs +31 -0
- package/lib/labs/VNumberInput/hold.mjs.map +1 -0
- package/lib/labs/VNumberInput/index.d.mts +1 -7
- package/lib/labs/VTreeview/VTreeviewItem.mjs +11 -4
- package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
- package/lib/labs/VTreeview/index.d.mts +14 -8
- package/lib/labs/components.d.mts +15 -15
- package/lib/locale/af.mjs +42 -42
- package/lib/locale/af.mjs.map +1 -1
- package/lib/locale/az.mjs +7 -7
- package/lib/locale/az.mjs.map +1 -1
- package/lib/locale/bg.mjs +7 -7
- package/lib/locale/bg.mjs.map +1 -1
- package/lib/locale/ca.mjs +25 -25
- package/lib/locale/ca.mjs.map +1 -1
- package/lib/locale/ckb.mjs +29 -29
- package/lib/locale/ckb.mjs.map +1 -1
- package/lib/locale/cs.mjs +13 -13
- package/lib/locale/cs.mjs.map +1 -1
- package/lib/locale/da.mjs +22 -22
- package/lib/locale/da.mjs.map +1 -1
- package/lib/locale/el.mjs +41 -41
- package/lib/locale/el.mjs.map +1 -1
- package/lib/locale/es.mjs +26 -26
- package/lib/locale/es.mjs.map +1 -1
- package/lib/locale/et.mjs +29 -29
- package/lib/locale/et.mjs.map +1 -1
- package/lib/locale/fa.mjs +5 -5
- package/lib/locale/fa.mjs.map +1 -1
- package/lib/locale/fi.mjs +22 -22
- package/lib/locale/fi.mjs.map +1 -1
- package/lib/locale/fr.mjs +6 -6
- package/lib/locale/fr.mjs.map +1 -1
- package/lib/locale/he.mjs +29 -29
- package/lib/locale/he.mjs.map +1 -1
- package/lib/locale/hr.mjs +28 -28
- package/lib/locale/hr.mjs.map +1 -1
- package/lib/locale/hu.mjs +10 -10
- package/lib/locale/hu.mjs.map +1 -1
- package/lib/locale/id.mjs +30 -30
- package/lib/locale/id.mjs.map +1 -1
- package/lib/locale/it.mjs +7 -7
- package/lib/locale/it.mjs.map +1 -1
- package/lib/locale/ja.mjs +9 -9
- package/lib/locale/ja.mjs.map +1 -1
- package/lib/locale/km.mjs +6 -6
- package/lib/locale/km.mjs.map +1 -1
- package/lib/locale/ko.mjs +27 -27
- package/lib/locale/ko.mjs.map +1 -1
- package/lib/locale/lt.mjs +5 -5
- package/lib/locale/lt.mjs.map +1 -1
- package/lib/locale/lv.mjs +33 -33
- package/lib/locale/lv.mjs.map +1 -1
- package/lib/locale/nl.mjs +10 -10
- package/lib/locale/nl.mjs.map +1 -1
- package/lib/locale/no.mjs +11 -11
- package/lib/locale/no.mjs.map +1 -1
- package/lib/locale/pl.mjs +7 -7
- package/lib/locale/pl.mjs.map +1 -1
- package/lib/locale/pt.mjs +11 -11
- package/lib/locale/pt.mjs.map +1 -1
- package/lib/locale/ro.mjs +9 -9
- package/lib/locale/ro.mjs.map +1 -1
- package/lib/locale/ru.mjs +6 -6
- package/lib/locale/ru.mjs.map +1 -1
- package/lib/locale/sk.mjs +5 -5
- package/lib/locale/sk.mjs.map +1 -1
- package/lib/locale/sl.mjs +4 -4
- package/lib/locale/sl.mjs.map +1 -1
- package/lib/locale/sr-Cyrl.mjs +30 -30
- package/lib/locale/sr-Cyrl.mjs.map +1 -1
- package/lib/locale/sr-Latn.mjs +28 -28
- package/lib/locale/sr-Latn.mjs.map +1 -1
- package/lib/locale/sv.mjs +17 -17
- package/lib/locale/sv.mjs.map +1 -1
- package/lib/locale/th.mjs +30 -30
- package/lib/locale/th.mjs.map +1 -1
- package/lib/locale/tr.mjs +31 -31
- package/lib/locale/tr.mjs.map +1 -1
- package/lib/locale/uk.mjs +29 -29
- package/lib/locale/uk.mjs.map +1 -1
- package/lib/locale/vi.mjs +28 -28
- package/lib/locale/vi.mjs.map +1 -1
- package/lib/locale/zh-Hans.mjs +31 -31
- package/lib/locale/zh-Hans.mjs.map +1 -1
- package/lib/locale/zh-Hant.mjs +31 -31
- package/lib/locale/zh-Hant.mjs.map +1 -1
- package/package.json +7 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VNumberInput.mjs","names":["VBtn","VDefaultsProvider","VDivider","makeVTextFieldProps","VTextField","useForm","forwardRefs","useProxiedModel","computed","nextTick","onMounted","ref","shallowRef","watch","watchEffect","clamp","genericComponent","omit","propsFactory","useRender","makeVNumberInputProps","controlVariant","type","String","default","inset","Boolean","hideInput","modelValue","Number","min","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","step","precision","VNumberInput","name","props","emits","val","setup","_ref","slots","vTextFieldRef","form","controlsDisabled","isDisabled","value","isReadonly","isFocused","correctPrecision","arguments","length","undefined","fixed","toFixed","toString","model","_inputText","isNaN","inputText","get","set","canIncrease","canDecrease","incrementIcon","decrementIcon","controlNodeSize","controlNodeDefaultHeight","incrementSlotProps","click","onClickUp","decrementSlotProps","onClickDown","formatInputValue","clampModel","inferPrecision","str","idx","indexOf","toggleUpDown","increment","inferredPrecision","Math","e","stopPropagation","onBeforeinput","data","existingTxt","target","selectionStart","selectionEnd","potentialNewInputVal","slice","test","preventDefault","split","includes","onKeydown","key","ctrlKey","onControlMousedown","actualText","trimDecimalZeros","onFocus","onBlur","_","textFieldProps","filterProps","incrementControlNode","_createVNode","disabled","flat","height","size","icon","decrementControlNode","decrement","controlNode","dividerNode","appendInnerControl","reverse","_Fragment","hasAppendInner","prependInnerControl","hasPrependInner","_mergeProps","$event","class","style","_len","args","Array","_key","_len2","_key2"],"sources":["../../../src/labs/VNumberInput/VNumberInput.tsx"],"sourcesContent":["// Styles\nimport './VNumberInput.sass'\n\n// Components\nimport { VBtn } from '../../components/VBtn'\nimport { VDefaultsProvider } from '../../components/VDefaultsProvider'\nimport { VDivider } from '../../components/VDivider'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useForm } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, nextTick, onMounted, ref, shallowRef, watch, watchEffect } from 'vue'\nimport { clamp, genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\ntype ControlSlot = {\n click: (e: MouseEvent) => void\n}\n\ntype VNumberInputSlots = Omit<VTextFieldSlots, 'default'> & {\n increment: ControlSlot\n decrement: ControlSlot\n}\n\ntype ControlVariant = 'default' | 'stacked' | 'split' | 'hidden'\n\nconst makeVNumberInputProps = propsFactory({\n controlVariant: {\n type: String as PropType<ControlVariant>,\n default: 'default',\n },\n inset: Boolean,\n hideInput: Boolean,\n modelValue: {\n type: Number as PropType<number | null>,\n default: null,\n },\n min: {\n type: Number,\n default: Number.MIN_SAFE_INTEGER,\n },\n max: {\n type: Number,\n default: Number.MAX_SAFE_INTEGER,\n },\n step: {\n type: Number,\n default: 1,\n },\n precision: {\n type: Number as PropType<number | null>,\n default: 0,\n },\n\n ...omit(makeVTextFieldProps({}), ['modelValue']),\n}, 'VNumberInput')\n\nexport const VNumberInput = genericComponent<VNumberInputSlots>()({\n name: 'VNumberInput',\n\n props: {\n ...makeVNumberInputProps(),\n },\n\n emits: {\n 'update:modelValue': (val: number) => true,\n },\n\n setup (props, { slots }) {\n const vTextFieldRef = ref<VTextField | undefined>()\n\n const form = useForm(props)\n const controlsDisabled = computed(() => (\n form.isDisabled.value || form.isReadonly.value\n ))\n\n const isFocused = ref(false)\n\n function correctPrecision (val: number, precision = props.precision) {\n const fixed = precision == null\n ? String(val)\n : val.toFixed(precision)\n return isFocused.value\n ? Number(fixed).toString() // trim zeros\n : fixed\n }\n\n const model = useProxiedModel(props, 'modelValue', null,\n val => val ?? null,\n val => val == null\n ? val ?? null\n : clamp(+val, props.min, props.max)\n )\n\n const _inputText = shallowRef<string | null>(null)\n watchEffect(() => {\n if (isFocused.value && !controlsDisabled.value) {\n // ignore external changes\n } else if (model.value == null) {\n _inputText.value = null\n } else if (!isNaN(model.value)) {\n _inputText.value = correctPrecision(model.value)\n }\n })\n const inputText = computed<string | null>({\n get: () => _inputText.value,\n set (val) {\n if (val === null || val === '') {\n model.value = null\n _inputText.value = null\n } else if (!isNaN(+val) && +val <= props.max && +val >= props.min) {\n model.value = +val\n _inputText.value = val\n }\n },\n })\n\n const canIncrease = computed(() => {\n if (controlsDisabled.value) return false\n return (model.value ?? 0) as number + props.step <= props.max\n })\n const canDecrease = computed(() => {\n if (controlsDisabled.value) return false\n return (model.value ?? 0) as number - props.step >= props.min\n })\n\n const controlVariant = computed(() => {\n return props.hideInput ? 'stacked' : props.controlVariant\n })\n\n const incrementIcon = computed(() => controlVariant.value === 'split' ? '$plus' : '$collapse')\n const decrementIcon = computed(() => controlVariant.value === 'split' ? '$minus' : '$expand')\n const controlNodeSize = computed(() => controlVariant.value === 'split' ? 'default' : 'small')\n const controlNodeDefaultHeight = computed(() => controlVariant.value === 'stacked' ? 'auto' : '100%')\n\n const incrementSlotProps = computed(() => ({ click: onClickUp }))\n const decrementSlotProps = computed(() => ({ click: onClickDown }))\n\n watch(() => props.precision, () => formatInputValue())\n\n onMounted(() => {\n clampModel()\n })\n\n function inferPrecision (value: number | null) {\n if (value == null) return 0\n const str = value.toString()\n const idx = str.indexOf('.')\n return ~idx ? str.length - idx : 0\n }\n\n function toggleUpDown (increment = true) {\n if (controlsDisabled.value) return\n if (model.value == null) {\n inputText.value = correctPrecision(clamp(0, props.min, props.max))\n return\n }\n\n let inferredPrecision = Math.max(inferPrecision(model.value), inferPrecision(props.step))\n if (props.precision != null) inferredPrecision = Math.max(inferredPrecision, props.precision)\n if (increment) {\n if (canIncrease.value) inputText.value = correctPrecision(model.value + props.step, inferredPrecision)\n } else {\n if (canDecrease.value) inputText.value = correctPrecision(model.value - props.step, inferredPrecision)\n }\n }\n\n function onClickUp (e: MouseEvent) {\n e.stopPropagation()\n toggleUpDown()\n }\n\n function onClickDown (e: MouseEvent) {\n e.stopPropagation()\n toggleUpDown(false)\n }\n\n function onBeforeinput (e: InputEvent) {\n if (!e.data) return\n const existingTxt = (e.target as HTMLInputElement)?.value\n const selectionStart = (e.target as HTMLInputElement)?.selectionStart\n const selectionEnd = (e.target as HTMLInputElement)?.selectionEnd\n const potentialNewInputVal =\n existingTxt\n ? existingTxt.slice(0, selectionStart as number | undefined) + e.data + existingTxt.slice(selectionEnd as number | undefined)\n : e.data\n // Only numbers, \"-\", \".\" are allowed\n // AND \"-\", \".\" are allowed only once\n // AND \"-\" is only allowed at the start\n if (!/^-?(\\d+(\\.\\d*)?|(\\.\\d+)|\\d*|\\.)$/.test(potentialNewInputVal)) {\n e.preventDefault()\n }\n\n if (props.precision == null) return\n\n // Ignore decimal digits above precision limit\n if (potentialNewInputVal.split('.')[1]?.length > props.precision) {\n e.preventDefault()\n }\n // Ignore decimal separator when precision = 0\n if (props.precision === 0 && potentialNewInputVal.includes('.')) {\n e.preventDefault()\n }\n }\n\n async function onKeydown (e: KeyboardEvent) {\n if (\n ['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].includes(e.key) ||\n e.ctrlKey\n ) return\n\n if (['ArrowDown', 'ArrowUp'].includes(e.key)) {\n e.preventDefault()\n clampModel()\n // _model is controlled, so need to wait until props['modelValue'] is updated\n await nextTick()\n if (e.key === 'ArrowDown') {\n toggleUpDown(false)\n } else {\n toggleUpDown()\n }\n }\n }\n\n function onControlMousedown (e: MouseEvent) {\n e.stopPropagation()\n }\n\n function clampModel () {\n if (controlsDisabled.value) return\n if (!vTextFieldRef.value) return\n const actualText = vTextFieldRef.value.value\n if (actualText && !isNaN(+actualText)) {\n inputText.value = correctPrecision(clamp(+actualText, props.min, props.max))\n } else {\n inputText.value = null\n }\n }\n\n function formatInputValue () {\n if (controlsDisabled.value) return\n if (model.value === null || isNaN(model.value)) {\n inputText.value = null\n return\n }\n inputText.value = props.precision == null\n ? String(model.value)\n : model.value.toFixed(props.precision)\n }\n\n function trimDecimalZeros () {\n if (controlsDisabled.value) return\n if (model.value === null || isNaN(model.value)) {\n inputText.value = null\n return\n }\n inputText.value = model.value.toString()\n }\n\n function onFocus () {\n isFocused.value = true\n trimDecimalZeros()\n }\n\n function onBlur () {\n isFocused.value = false\n clampModel()\n }\n\n useRender(() => {\n const { modelValue: _, ...textFieldProps } = VTextField.filterProps(props)\n\n function incrementControlNode () {\n return !slots.increment ? (\n <VBtn\n disabled={ !canIncrease.value }\n flat\n key=\"increment-btn\"\n height={ controlNodeDefaultHeight.value }\n data-testid=\"increment\"\n aria-hidden=\"true\"\n icon={ incrementIcon.value }\n onClick={ onClickUp }\n onMousedown={ onControlMousedown }\n size={ controlNodeSize.value }\n tabindex=\"-1\"\n />\n ) : (\n <VDefaultsProvider\n key=\"increment-defaults\"\n defaults={{\n VBtn: {\n disabled: !canIncrease.value,\n flat: true,\n height: controlNodeDefaultHeight.value,\n size: controlNodeSize.value,\n icon: incrementIcon.value,\n },\n }}\n >\n { slots.increment(incrementSlotProps.value) }\n </VDefaultsProvider>\n )\n }\n\n function decrementControlNode () {\n return !slots.decrement ? (\n <VBtn\n disabled={ !canDecrease.value }\n flat\n key=\"decrement-btn\"\n height={ controlNodeDefaultHeight.value }\n data-testid=\"decrement\"\n aria-hidden=\"true\"\n icon={ decrementIcon.value }\n size={ controlNodeSize.value }\n tabindex=\"-1\"\n onClick={ onClickDown }\n onMousedown={ onControlMousedown }\n />\n ) : (\n <VDefaultsProvider\n key=\"decrement-defaults\"\n defaults={{\n VBtn: {\n disabled: !canDecrease.value,\n flat: true,\n height: controlNodeDefaultHeight.value,\n size: controlNodeSize.value,\n icon: decrementIcon.value,\n },\n }}\n >\n { slots.decrement(decrementSlotProps.value) }\n </VDefaultsProvider>\n )\n }\n\n function controlNode () {\n return (\n <div class=\"v-number-input__control\">\n { decrementControlNode() }\n\n <VDivider\n vertical={ controlVariant.value !== 'stacked' }\n />\n\n { incrementControlNode() }\n </div>\n )\n }\n\n function dividerNode () {\n return !props.hideInput && !props.inset ? <VDivider vertical /> : undefined\n }\n\n const appendInnerControl =\n controlVariant.value === 'split'\n ? (\n <div class=\"v-number-input__control\">\n <VDivider vertical />\n\n { incrementControlNode() }\n </div>\n ) : (props.reverse || controlVariant.value === 'hidden'\n ? undefined\n : <>{ dividerNode() }{ controlNode() }</>)\n\n const hasAppendInner = slots['append-inner'] || appendInnerControl\n\n const prependInnerControl =\n controlVariant.value === 'split'\n ? (\n <div class=\"v-number-input__control\">\n { decrementControlNode() }\n\n <VDivider vertical />\n </div>\n ) : (props.reverse && controlVariant.value !== 'hidden'\n ? <>{ controlNode() }{ dividerNode() }</>\n : undefined)\n\n const hasPrependInner = slots['prepend-inner'] || prependInnerControl\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n v-model={ inputText.value }\n onBeforeinput={ onBeforeinput }\n onFocus={ onFocus }\n onBlur={ onBlur }\n onKeydown={ onKeydown }\n class={[\n 'v-number-input',\n {\n 'v-number-input--default': controlVariant.value === 'default',\n 'v-number-input--hide-input': props.hideInput,\n 'v-number-input--inset': props.inset,\n 'v-number-input--reverse': props.reverse,\n 'v-number-input--split': controlVariant.value === 'split',\n 'v-number-input--stacked': controlVariant.value === 'stacked',\n },\n props.class,\n ]}\n { ...textFieldProps }\n style={ props.style }\n inputmode=\"decimal\"\n >\n {{\n ...slots,\n 'append-inner': hasAppendInner ? (...args) => (\n <>\n { slots['append-inner']?.(...args) }\n { appendInnerControl }\n </>\n ) : undefined,\n 'prepend-inner': hasPrependInner ? (...args) => (\n <>\n { prependInnerControl }\n { slots['prepend-inner']?.(...args) }\n </>\n ) : undefined,\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({}, vTextFieldRef)\n },\n})\n\nexport type VNumberInput = InstanceType<typeof VNumberInput>\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VNumberInput.mjs","names":["VBtn","VDefaultsProvider","VDivider","makeVTextFieldProps","VTextField","useHold","useFocus","useForm","forwardRefs","useProxiedModel","computed","nextTick","onMounted","ref","shallowRef","watch","watchEffect","clamp","genericComponent","omit","propsFactory","useRender","makeVNumberInputProps","controlVariant","type","String","default","inset","Boolean","hideInput","modelValue","Number","min","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","step","precision","VNumberInput","name","props","emits","val","setup","_ref","slots","vTextFieldRef","holdStart","holdStop","toggleUpDown","form","controlsDisabled","isDisabled","value","isReadonly","isFocused","focus","blur","correctPrecision","arguments","length","undefined","fixed","toFixed","toString","model","_inputText","isNaN","inputText","get","set","canIncrease","canDecrease","incrementIcon","decrementIcon","controlNodeSize","controlNodeDefaultHeight","incrementSlotProps","onClick","onControlClick","onPointerup","onControlMouseup","onPointerdown","onUpControlMousedown","decrementSlotProps","onDownControlMousedown","formatInputValue","clampModel","inferPrecision","str","idx","indexOf","increment","inferredPrecision","Math","onBeforeinput","e","data","existingTxt","target","selectionStart","selectionEnd","potentialNewInputVal","slice","test","preventDefault","split","includes","onKeydown","key","ctrlKey","stopPropagation","el","currentTarget","releasePointerCapture","pointerId","setPointerCapture","actualText","trimDecimalZeros","onFocus","onBlur","_","textFieldProps","filterProps","incrementControlNode","_createVNode","disabled","flat","height","size","icon","decrementControlNode","decrement","controlNode","dividerNode","appendInnerControl","reverse","_Fragment","hasAppendInner","prependInnerControl","hasPrependInner","_mergeProps","$event","class","style","_len","args","Array","_key","_len2","_key2"],"sources":["../../../src/labs/VNumberInput/VNumberInput.tsx"],"sourcesContent":["// Styles\nimport './VNumberInput.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VDivider } from '@/components/VDivider'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useHold } from './hold'\nimport { useFocus } from '@/composables/focus'\nimport { useForm } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, nextTick, onMounted, ref, shallowRef, watch, watchEffect } from 'vue'\nimport { clamp, genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\ntype ControlSlot = {\n props: Record<string, unknown>\n}\n\ntype VNumberInputSlots = Omit<VTextFieldSlots, 'default'> & {\n increment: ControlSlot\n decrement: ControlSlot\n}\n\ntype ControlVariant = 'default' | 'stacked' | 'split' | 'hidden'\n\nconst makeVNumberInputProps = propsFactory({\n controlVariant: {\n type: String as PropType<ControlVariant>,\n default: 'default',\n },\n inset: Boolean,\n hideInput: Boolean,\n modelValue: {\n type: Number as PropType<number | null>,\n default: null,\n },\n min: {\n type: Number,\n default: Number.MIN_SAFE_INTEGER,\n },\n max: {\n type: Number,\n default: Number.MAX_SAFE_INTEGER,\n },\n step: {\n type: Number,\n default: 1,\n },\n precision: {\n type: Number as PropType<number | null>,\n default: 0,\n },\n\n ...omit(makeVTextFieldProps(), ['modelValue', 'validationValue']),\n}, 'VNumberInput')\n\nexport const VNumberInput = genericComponent<VNumberInputSlots>()({\n name: 'VNumberInput',\n\n props: {\n ...makeVNumberInputProps(),\n },\n\n emits: {\n 'update:modelValue': (val: number) => true,\n },\n\n setup (props, { slots }) {\n const vTextFieldRef = ref<VTextField | undefined>()\n\n const { holdStart, holdStop } = useHold({ toggleUpDown })\n const form = useForm(props)\n const controlsDisabled = computed(() => (\n form.isDisabled.value || form.isReadonly.value\n ))\n\n const { isFocused, focus, blur } = useFocus(props)\n\n function correctPrecision (val: number, precision = props.precision) {\n const fixed = precision == null\n ? String(val)\n : val.toFixed(precision)\n return isFocused.value\n ? Number(fixed).toString() // trim zeros\n : fixed\n }\n\n const model = useProxiedModel(props, 'modelValue', null,\n val => val ?? null,\n val => val == null\n ? val ?? null\n : clamp(+val, props.min, props.max)\n )\n\n const _inputText = shallowRef<string | null>(null)\n watchEffect(() => {\n if (isFocused.value && !controlsDisabled.value) {\n // ignore external changes\n } else if (model.value == null) {\n _inputText.value = null\n } else if (!isNaN(model.value)) {\n _inputText.value = correctPrecision(model.value)\n }\n })\n const inputText = computed<string | null>({\n get: () => _inputText.value,\n set (val) {\n if (val === null || val === '') {\n model.value = null\n _inputText.value = null\n } else if (!isNaN(+val) && +val <= props.max && +val >= props.min) {\n model.value = +val\n _inputText.value = val\n }\n },\n })\n\n const canIncrease = computed(() => {\n if (controlsDisabled.value) return false\n return (model.value ?? 0) as number + props.step <= props.max\n })\n const canDecrease = computed(() => {\n if (controlsDisabled.value) return false\n return (model.value ?? 0) as number - props.step >= props.min\n })\n\n const controlVariant = computed(() => {\n return props.hideInput ? 'stacked' : props.controlVariant\n })\n\n const incrementIcon = computed(() => controlVariant.value === 'split' ? '$plus' : '$collapse')\n const decrementIcon = computed(() => controlVariant.value === 'split' ? '$minus' : '$expand')\n const controlNodeSize = computed(() => controlVariant.value === 'split' ? 'default' : 'small')\n const controlNodeDefaultHeight = computed(() => controlVariant.value === 'stacked' ? 'auto' : '100%')\n\n const incrementSlotProps = computed(() => ({\n props: {\n onClick: onControlClick,\n onPointerup: onControlMouseup,\n onPointerdown: onUpControlMousedown,\n },\n }))\n const decrementSlotProps = computed(() => ({\n props: {\n onClick: onControlClick,\n onPointerup: onControlMouseup,\n onPointerdown: onDownControlMousedown,\n },\n }))\n\n watch(() => props.precision, () => formatInputValue())\n\n onMounted(() => {\n clampModel()\n })\n\n function inferPrecision (value: number | null) {\n if (value == null) return 0\n const str = value.toString()\n const idx = str.indexOf('.')\n return ~idx ? str.length - idx : 0\n }\n\n function toggleUpDown (increment = true) {\n if (controlsDisabled.value) return\n if (model.value == null) {\n inputText.value = correctPrecision(clamp(0, props.min, props.max))\n return\n }\n\n let inferredPrecision = Math.max(inferPrecision(model.value), inferPrecision(props.step))\n if (props.precision != null) inferredPrecision = Math.max(inferredPrecision, props.precision)\n if (increment) {\n if (canIncrease.value) inputText.value = correctPrecision(model.value + props.step, inferredPrecision)\n } else {\n if (canDecrease.value) inputText.value = correctPrecision(model.value - props.step, inferredPrecision)\n }\n }\n\n function onBeforeinput (e: InputEvent) {\n if (!e.data) return\n const existingTxt = (e.target as HTMLInputElement)?.value\n const selectionStart = (e.target as HTMLInputElement)?.selectionStart\n const selectionEnd = (e.target as HTMLInputElement)?.selectionEnd\n const potentialNewInputVal =\n existingTxt\n ? existingTxt.slice(0, selectionStart as number | undefined) + e.data + existingTxt.slice(selectionEnd as number | undefined)\n : e.data\n // Only numbers, \"-\", \".\" are allowed\n // AND \"-\", \".\" are allowed only once\n // AND \"-\" is only allowed at the start\n if (!/^-?(\\d+(\\.\\d*)?|(\\.\\d+)|\\d*|\\.)$/.test(potentialNewInputVal)) {\n e.preventDefault()\n }\n\n if (props.precision == null) return\n\n // Ignore decimal digits above precision limit\n if (potentialNewInputVal.split('.')[1]?.length > props.precision) {\n e.preventDefault()\n }\n // Ignore decimal separator when precision = 0\n if (props.precision === 0 && potentialNewInputVal.includes('.')) {\n e.preventDefault()\n }\n }\n\n async function onKeydown (e: KeyboardEvent) {\n if (\n ['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].includes(e.key) ||\n e.ctrlKey\n ) return\n\n if (['ArrowDown', 'ArrowUp'].includes(e.key)) {\n e.preventDefault()\n clampModel()\n // _model is controlled, so need to wait until props['modelValue'] is updated\n await nextTick()\n if (e.key === 'ArrowDown') {\n toggleUpDown(false)\n } else {\n toggleUpDown()\n }\n }\n }\n\n function onControlClick (e: MouseEvent) {\n e.stopPropagation()\n }\n\n function onControlMouseup (e: PointerEvent) {\n const el = e.currentTarget as HTMLElement\n el?.releasePointerCapture(e.pointerId)\n e.preventDefault()\n e.stopPropagation()\n holdStop()\n }\n\n function onUpControlMousedown (e: PointerEvent) {\n const el = e.currentTarget as HTMLElement\n el?.setPointerCapture(e.pointerId)\n e.preventDefault()\n e.stopPropagation()\n holdStart('up')\n }\n\n function onDownControlMousedown (e: PointerEvent) {\n const el = e.currentTarget as HTMLElement\n el?.setPointerCapture(e.pointerId)\n e.preventDefault()\n e.stopPropagation()\n holdStart('down')\n }\n\n function clampModel () {\n if (controlsDisabled.value) return\n if (!vTextFieldRef.value) return\n const actualText = vTextFieldRef.value.value\n if (actualText && !isNaN(+actualText)) {\n inputText.value = correctPrecision(clamp(+actualText, props.min, props.max))\n } else {\n inputText.value = null\n }\n }\n\n function formatInputValue () {\n if (controlsDisabled.value) return\n if (model.value === null || isNaN(model.value)) {\n inputText.value = null\n return\n }\n inputText.value = props.precision == null\n ? String(model.value)\n : model.value.toFixed(props.precision)\n }\n\n function trimDecimalZeros () {\n if (controlsDisabled.value) return\n if (model.value === null || isNaN(model.value)) {\n inputText.value = null\n return\n }\n inputText.value = model.value.toString()\n }\n\n function onFocus () {\n focus()\n trimDecimalZeros()\n }\n\n function onBlur () {\n blur()\n clampModel()\n }\n\n useRender(() => {\n const { modelValue: _, ...textFieldProps } = VTextField.filterProps(props)\n\n function incrementControlNode () {\n return !slots.increment ? (\n <VBtn\n disabled={ !canIncrease.value }\n flat\n key=\"increment-btn\"\n height={ controlNodeDefaultHeight.value }\n data-testid=\"increment\"\n aria-hidden=\"true\"\n icon={ incrementIcon.value }\n onClick={ onControlClick }\n onPointerup={ onControlMouseup }\n onPointerdown={ onUpControlMousedown }\n size={ controlNodeSize.value }\n tabindex=\"-1\"\n />\n ) : (\n <VDefaultsProvider\n key=\"increment-defaults\"\n defaults={{\n VBtn: {\n disabled: !canIncrease.value,\n flat: true,\n height: controlNodeDefaultHeight.value,\n size: controlNodeSize.value,\n icon: incrementIcon.value,\n },\n }}\n >\n { slots.increment(incrementSlotProps.value) }\n </VDefaultsProvider>\n )\n }\n\n function decrementControlNode () {\n return !slots.decrement ? (\n <VBtn\n disabled={ !canDecrease.value }\n flat\n key=\"decrement-btn\"\n height={ controlNodeDefaultHeight.value }\n data-testid=\"decrement\"\n aria-hidden=\"true\"\n icon={ decrementIcon.value }\n size={ controlNodeSize.value }\n tabindex=\"-1\"\n onClick={ onControlClick }\n onPointerup={ onControlMouseup }\n onPointerdown={ onDownControlMousedown }\n />\n ) : (\n <VDefaultsProvider\n key=\"decrement-defaults\"\n defaults={{\n VBtn: {\n disabled: !canDecrease.value,\n flat: true,\n height: controlNodeDefaultHeight.value,\n size: controlNodeSize.value,\n icon: decrementIcon.value,\n },\n }}\n >\n { slots.decrement(decrementSlotProps.value) }\n </VDefaultsProvider>\n )\n }\n\n function controlNode () {\n return (\n <div class=\"v-number-input__control\">\n { decrementControlNode() }\n\n <VDivider\n vertical={ controlVariant.value !== 'stacked' }\n />\n\n { incrementControlNode() }\n </div>\n )\n }\n\n function dividerNode () {\n return !props.hideInput && !props.inset ? <VDivider vertical /> : undefined\n }\n\n const appendInnerControl =\n controlVariant.value === 'split'\n ? (\n <div class=\"v-number-input__control\">\n <VDivider vertical />\n\n { incrementControlNode() }\n </div>\n ) : (props.reverse || controlVariant.value === 'hidden'\n ? undefined\n : <>{ dividerNode() }{ controlNode() }</>)\n\n const hasAppendInner = slots['append-inner'] || appendInnerControl\n\n const prependInnerControl =\n controlVariant.value === 'split'\n ? (\n <div class=\"v-number-input__control\">\n { decrementControlNode() }\n\n <VDivider vertical />\n </div>\n ) : (props.reverse && controlVariant.value !== 'hidden'\n ? <>{ controlNode() }{ dividerNode() }</>\n : undefined)\n\n const hasPrependInner = slots['prepend-inner'] || prependInnerControl\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n v-model={ inputText.value }\n validationValue={ model.value }\n onBeforeinput={ onBeforeinput }\n onFocus={ onFocus }\n onBlur={ onBlur }\n onKeydown={ onKeydown }\n class={[\n 'v-number-input',\n {\n 'v-number-input--default': controlVariant.value === 'default',\n 'v-number-input--hide-input': props.hideInput,\n 'v-number-input--inset': props.inset,\n 'v-number-input--reverse': props.reverse,\n 'v-number-input--split': controlVariant.value === 'split',\n 'v-number-input--stacked': controlVariant.value === 'stacked',\n },\n props.class,\n ]}\n { ...textFieldProps }\n style={ props.style }\n inputmode=\"decimal\"\n >\n {{\n ...slots,\n 'append-inner': hasAppendInner ? (...args) => (\n <>\n { slots['append-inner']?.(...args) }\n { appendInnerControl }\n </>\n ) : undefined,\n 'prepend-inner': hasPrependInner ? (...args) => (\n <>\n { prependInnerControl }\n { slots['prepend-inner']?.(...args) }\n </>\n ) : undefined,\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({}, vTextFieldRef)\n },\n})\n\nexport type VNumberInput = InstanceType<typeof VNumberInput>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// Utilities
|
|
2
|
+
import { onScopeDispose } from 'vue';
|
|
3
|
+
const HOLD_REPEAT = 50;
|
|
4
|
+
const HOLD_DELAY = 500;
|
|
5
|
+
export function useHold(_ref) {
|
|
6
|
+
let {
|
|
7
|
+
toggleUpDown
|
|
8
|
+
} = _ref;
|
|
9
|
+
let timeout = -1;
|
|
10
|
+
let interval = -1;
|
|
11
|
+
onScopeDispose(holdStop);
|
|
12
|
+
function holdStart(value) {
|
|
13
|
+
holdStop();
|
|
14
|
+
tick(value);
|
|
15
|
+
timeout = window.setTimeout(() => {
|
|
16
|
+
interval = window.setInterval(() => tick(value), HOLD_REPEAT);
|
|
17
|
+
}, HOLD_DELAY);
|
|
18
|
+
}
|
|
19
|
+
function holdStop() {
|
|
20
|
+
window.clearTimeout(timeout);
|
|
21
|
+
window.clearInterval(interval);
|
|
22
|
+
}
|
|
23
|
+
function tick(value) {
|
|
24
|
+
toggleUpDown(value === 'up');
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
holdStart,
|
|
28
|
+
holdStop
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=hold.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hold.mjs","names":["onScopeDispose","HOLD_REPEAT","HOLD_DELAY","useHold","_ref","toggleUpDown","timeout","interval","holdStop","holdStart","value","tick","window","setTimeout","setInterval","clearTimeout","clearInterval"],"sources":["../../../src/labs/VNumberInput/hold.ts"],"sourcesContent":["// Utilities\nimport { onScopeDispose } from 'vue'\n\nconst HOLD_REPEAT = 50\nconst HOLD_DELAY = 500\n\nexport function useHold ({ toggleUpDown }: { toggleUpDown: (increment: boolean) => void }) {\n let timeout = -1\n let interval = -1\n\n onScopeDispose(holdStop)\n\n function holdStart (value: 'up' | 'down') {\n holdStop()\n tick(value)\n timeout = window.setTimeout(() => {\n interval = window.setInterval(() => tick(value), HOLD_REPEAT)\n }, HOLD_DELAY)\n }\n\n function holdStop () {\n window.clearTimeout(timeout)\n window.clearInterval(interval)\n }\n\n function tick (value: 'up' | 'down') {\n toggleUpDown(value === 'up')\n }\n\n return { holdStart, holdStop }\n}\n"],"mappings":"AAAA;AACA,SAASA,cAAc,QAAQ,KAAK;AAEpC,MAAMC,WAAW,GAAG,EAAE;AACtB,MAAMC,UAAU,GAAG,GAAG;AAEtB,OAAO,SAASC,OAAOA,CAAAC,IAAA,EAAoE;EAAA,IAAlE;IAAEC;EAA6D,CAAC,GAAAD,IAAA;EACvF,IAAIE,OAAO,GAAG,CAAC,CAAC;EAChB,IAAIC,QAAQ,GAAG,CAAC,CAAC;EAEjBP,cAAc,CAACQ,QAAQ,CAAC;EAExB,SAASC,SAASA,CAAEC,KAAoB,EAAE;IACxCF,QAAQ,CAAC,CAAC;IACVG,IAAI,CAACD,KAAK,CAAC;IACXJ,OAAO,GAAGM,MAAM,CAACC,UAAU,CAAC,MAAM;MAChCN,QAAQ,GAAGK,MAAM,CAACE,WAAW,CAAC,MAAMH,IAAI,CAACD,KAAK,CAAC,EAAET,WAAW,CAAC;IAC/D,CAAC,EAAEC,UAAU,CAAC;EAChB;EAEA,SAASM,QAAQA,CAAA,EAAI;IACnBI,MAAM,CAACG,YAAY,CAACT,OAAO,CAAC;IAC5BM,MAAM,CAACI,aAAa,CAACT,QAAQ,CAAC;EAChC;EAEA,SAASI,IAAIA,CAAED,KAAoB,EAAE;IACnCL,YAAY,CAACK,KAAK,KAAK,IAAI,CAAC;EAC9B;EAEA,OAAO;IAAED,SAAS;IAAED;EAAS,CAAC;AAChC","ignoreList":[]}
|
|
@@ -124,7 +124,7 @@ type VFieldSlots = {
|
|
|
124
124
|
};
|
|
125
125
|
|
|
126
126
|
type ControlSlot = {
|
|
127
|
-
|
|
127
|
+
props: Record<string, unknown>;
|
|
128
128
|
};
|
|
129
129
|
type ControlVariant = 'default' | 'stacked' | 'split' | 'hidden';
|
|
130
130
|
declare const VNumberInput: {
|
|
@@ -181,7 +181,6 @@ declare const VNumberInput: {
|
|
|
181
181
|
counter?: string | number | boolean | undefined;
|
|
182
182
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
|
183
183
|
validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
|
|
184
|
-
validationValue?: any;
|
|
185
184
|
rounded?: string | number | boolean | undefined;
|
|
186
185
|
baseColor?: string | undefined;
|
|
187
186
|
bgColor?: string | undefined;
|
|
@@ -2354,7 +2353,6 @@ declare const VNumberInput: {
|
|
|
2354
2353
|
counter?: string | number | boolean | undefined;
|
|
2355
2354
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
|
2356
2355
|
validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
|
|
2357
|
-
validationValue?: any;
|
|
2358
2356
|
rounded?: string | number | boolean | undefined;
|
|
2359
2357
|
baseColor?: string | undefined;
|
|
2360
2358
|
bgColor?: string | undefined;
|
|
@@ -2548,7 +2546,6 @@ declare const VNumberInput: {
|
|
|
2548
2546
|
counter?: string | number | boolean | undefined;
|
|
2549
2547
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
|
2550
2548
|
validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
|
|
2551
|
-
validationValue?: any;
|
|
2552
2549
|
rounded?: string | number | boolean | undefined;
|
|
2553
2550
|
baseColor?: string | undefined;
|
|
2554
2551
|
bgColor?: string | undefined;
|
|
@@ -4761,7 +4758,6 @@ declare const VNumberInput: {
|
|
|
4761
4758
|
counter?: string | number | boolean | undefined;
|
|
4762
4759
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
|
4763
4760
|
validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
|
|
4764
|
-
validationValue?: any;
|
|
4765
4761
|
rounded?: string | number | boolean | undefined;
|
|
4766
4762
|
baseColor?: string | undefined;
|
|
4767
4763
|
bgColor?: string | undefined;
|
|
@@ -7002,7 +6998,6 @@ declare const VNumberInput: {
|
|
|
7002
6998
|
default: () => never[];
|
|
7003
6999
|
};
|
|
7004
7000
|
validateOn: PropType<ValidationProps["validateOn"]>;
|
|
7005
|
-
validationValue: null;
|
|
7006
7001
|
rounded: {
|
|
7007
7002
|
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
|
7008
7003
|
default: undefined;
|
|
@@ -7136,7 +7131,6 @@ declare const VNumberInput: {
|
|
|
7136
7131
|
default: () => never[];
|
|
7137
7132
|
};
|
|
7138
7133
|
validateOn: PropType<ValidationProps["validateOn"]>;
|
|
7139
|
-
validationValue: null;
|
|
7140
7134
|
rounded: {
|
|
7141
7135
|
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
|
7142
7136
|
default: undefined;
|
|
@@ -9,11 +9,10 @@ import { makeVListItemProps, VListItem } from "../../components/VList/VListItem.
|
|
|
9
9
|
import { VProgressCircular } from "../../components/VProgressCircular/index.mjs"; // Composables
|
|
10
10
|
import { IconValue } from "../../composables/icons.mjs"; // Utilities
|
|
11
11
|
import { computed, inject, ref, toRaw } from 'vue';
|
|
12
|
-
import {
|
|
12
|
+
import { genericComponent, omit, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
|
13
13
|
import { VTreeviewSymbol } from "./shared.mjs";
|
|
14
14
|
export const makeVTreeviewItemProps = propsFactory({
|
|
15
15
|
loading: Boolean,
|
|
16
|
-
onToggleExpand: EventProp(),
|
|
17
16
|
toggleIcon: IconValue,
|
|
18
17
|
...makeVListItemProps({
|
|
19
18
|
slim: true
|
|
@@ -22,9 +21,13 @@ export const makeVTreeviewItemProps = propsFactory({
|
|
|
22
21
|
export const VTreeviewItem = genericComponent()({
|
|
23
22
|
name: 'VTreeviewItem',
|
|
24
23
|
props: makeVTreeviewItemProps(),
|
|
24
|
+
emits: {
|
|
25
|
+
toggleExpand: value => true
|
|
26
|
+
},
|
|
25
27
|
setup(props, _ref) {
|
|
26
28
|
let {
|
|
27
|
-
slots
|
|
29
|
+
slots,
|
|
30
|
+
emit
|
|
28
31
|
} = _ref;
|
|
29
32
|
const visibleIds = inject(VTreeviewSymbol, {
|
|
30
33
|
visibleIds: ref()
|
|
@@ -39,6 +42,10 @@ export const VTreeviewItem = genericComponent()({
|
|
|
39
42
|
vListItemRef.value?.activate(!vListItemRef.value?.isActivated, e);
|
|
40
43
|
}
|
|
41
44
|
}
|
|
45
|
+
function onClickAction(e) {
|
|
46
|
+
e.preventDefault();
|
|
47
|
+
emit('toggleExpand', e);
|
|
48
|
+
}
|
|
42
49
|
useRender(() => {
|
|
43
50
|
const listItemProps = omit(VListItem.filterProps(props), ['onClick']);
|
|
44
51
|
const hasPrepend = slots.prepend || props.toggleIcon;
|
|
@@ -63,7 +70,7 @@ export const VTreeviewItem = genericComponent()({
|
|
|
63
70
|
"icon": props.toggleIcon,
|
|
64
71
|
"loading": props.loading,
|
|
65
72
|
"variant": "text",
|
|
66
|
-
"onClick":
|
|
73
|
+
"onClick": onClickAction
|
|
67
74
|
}, {
|
|
68
75
|
loader() {
|
|
69
76
|
return _createVNode(VProgressCircular, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VTreeviewItem.mjs","names":["VBtn","VListItemAction","makeVListItemProps","VListItem","VProgressCircular","IconValue","computed","inject","ref","toRaw","
|
|
1
|
+
{"version":3,"file":"VTreeviewItem.mjs","names":["VBtn","VListItemAction","makeVListItemProps","VListItem","VProgressCircular","IconValue","computed","inject","ref","toRaw","genericComponent","omit","propsFactory","useRender","VTreeviewSymbol","makeVTreeviewItemProps","loading","Boolean","toggleIcon","slim","VTreeviewItem","name","props","emits","toggleExpand","value","setup","_ref","slots","emit","visibleIds","vListItemRef","isActivatableGroupActivator","root","activatable","isGroupActivator","vListItemRefIsClickable","link","isClickable","list","disabled","isFiltered","has","id","activateGroupActivator","e","activate","isActivated","onClickAction","preventDefault","listItemProps","filterProps","hasPrepend","prepend","_createVNode","_mergeProps","class","onClick","slotProps","_Fragment","default","loader","undefined"],"sources":["../../../src/labs/VTreeview/VTreeviewItem.tsx"],"sourcesContent":["// Styles\nimport './VTreeviewItem.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VListItemAction } from '@/components/VList'\nimport { makeVListItemProps, VListItem } from '@/components/VList/VListItem'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed, inject, ref, toRaw } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport { VTreeviewSymbol } from './shared'\nimport type { VListItemSlots } from '@/components/VList/VListItem'\n\nexport const makeVTreeviewItemProps = propsFactory({\n loading: Boolean,\n toggleIcon: IconValue,\n\n ...makeVListItemProps({ slim: true }),\n}, 'VTreeviewItem')\n\nexport const VTreeviewItem = genericComponent<VListItemSlots>()({\n name: 'VTreeviewItem',\n\n props: makeVTreeviewItemProps(),\n\n emits: {\n toggleExpand: (value: PointerEvent) => true,\n },\n\n setup (props, { slots, emit }) {\n const visibleIds = inject(VTreeviewSymbol, { visibleIds: ref() }).visibleIds\n\n const vListItemRef = ref<VListItem>()\n\n const isActivatableGroupActivator = computed(() =>\n (vListItemRef.value?.root.activatable.value) &&\n vListItemRef.value?.isGroupActivator\n )\n const vListItemRefIsClickable = computed(() => (\n vListItemRef.value?.link.isClickable.value ||\n (props.value != null && !!vListItemRef.value?.list)\n ))\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (props.link || vListItemRefIsClickable.value || isActivatableGroupActivator.value)\n )\n const isFiltered = computed(() => visibleIds.value && !visibleIds.value.has(toRaw(vListItemRef.value?.id)))\n\n function activateGroupActivator (e: MouseEvent | KeyboardEvent) {\n if (isClickable.value && isActivatableGroupActivator.value) {\n vListItemRef.value?.activate(!vListItemRef.value?.isActivated, e)\n }\n }\n\n function onClickAction (e: PointerEvent) {\n e.preventDefault()\n emit('toggleExpand', e)\n }\n\n useRender(() => {\n const listItemProps = omit(VListItem.filterProps(props), ['onClick'])\n const hasPrepend = slots.prepend || props.toggleIcon\n\n return (\n <VListItem\n ref={ vListItemRef }\n { ...listItemProps }\n active={ vListItemRef.value?.isActivated }\n class={[\n 'v-treeview-item',\n {\n 'v-treeview-item--activatable-group-activator': isActivatableGroupActivator.value,\n 'v-treeview-item--filtered': isFiltered.value,\n },\n props.class,\n ]}\n ripple={ false }\n onClick={ props.onClick ?? activateGroupActivator }\n >\n {{\n ...slots,\n prepend: hasPrepend ? slotProps => {\n return (\n <>\n <VListItemAction start={ false }>\n { props.toggleIcon ? (\n <VBtn\n density=\"compact\"\n icon={ props.toggleIcon }\n loading={ props.loading }\n variant=\"text\"\n onClick={ onClickAction }\n >\n {{\n loader () {\n return (\n <VProgressCircular\n indeterminate=\"disable-shrink\"\n size=\"20\"\n width=\"2\"\n />\n )\n },\n }}\n </VBtn>\n ) : (\n <div class=\"v-treeview-item__level\" />\n )}\n </VListItemAction>\n\n { slots.prepend?.(slotProps) }\n </>\n )\n } : undefined,\n }}\n </VListItem>\n )\n })\n\n return {}\n },\n})\n\nexport type VTreeviewItem = InstanceType<typeof VTreeviewItem>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1026,7 +1026,6 @@ declare const VTreeviewItem: {
|
|
|
1026
1026
|
prependAvatar?: string | undefined;
|
|
1027
1027
|
subtitle?: string | number | undefined;
|
|
1028
1028
|
toggleIcon?: IconValue | undefined;
|
|
1029
|
-
onToggleExpand?: ((args_0: MouseEvent) => void) | undefined;
|
|
1030
1029
|
} & {
|
|
1031
1030
|
$children?: vue.VNodeChild | {
|
|
1032
1031
|
prepend?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
|
|
@@ -1048,7 +1047,11 @@ declare const VTreeviewItem: {
|
|
|
1048
1047
|
"v-slot:default"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
|
|
1049
1048
|
"v-slot:title"?: false | ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
|
|
1050
1049
|
"v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
|
|
1051
|
-
}
|
|
1050
|
+
} & {
|
|
1051
|
+
onToggleExpand?: ((value: PointerEvent) => any) | undefined;
|
|
1052
|
+
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
1053
|
+
toggleExpand: (value: PointerEvent) => true;
|
|
1054
|
+
}, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
|
|
1052
1055
|
replace: boolean;
|
|
1053
1056
|
variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
|
|
1054
1057
|
exact: boolean;
|
|
@@ -1094,7 +1097,6 @@ declare const VTreeviewItem: {
|
|
|
1094
1097
|
prependAvatar?: string | undefined;
|
|
1095
1098
|
subtitle?: string | number | undefined;
|
|
1096
1099
|
toggleIcon?: IconValue | undefined;
|
|
1097
|
-
onToggleExpand?: ((args_0: MouseEvent) => void) | undefined;
|
|
1098
1100
|
} & {
|
|
1099
1101
|
$children?: vue.VNodeChild | {
|
|
1100
1102
|
prepend?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
|
|
@@ -1116,6 +1118,8 @@ declare const VTreeviewItem: {
|
|
|
1116
1118
|
"v-slot:default"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
|
|
1117
1119
|
"v-slot:title"?: false | ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
|
|
1118
1120
|
"v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
|
|
1121
|
+
} & {
|
|
1122
|
+
onToggleExpand?: ((value: PointerEvent) => any) | undefined;
|
|
1119
1123
|
}, {
|
|
1120
1124
|
replace: boolean;
|
|
1121
1125
|
link: boolean;
|
|
@@ -1193,7 +1197,6 @@ declare const VTreeviewItem: {
|
|
|
1193
1197
|
prependAvatar?: string | undefined;
|
|
1194
1198
|
subtitle?: string | number | undefined;
|
|
1195
1199
|
toggleIcon?: IconValue | undefined;
|
|
1196
|
-
onToggleExpand?: ((args_0: MouseEvent) => void) | undefined;
|
|
1197
1200
|
} & {
|
|
1198
1201
|
$children?: vue.VNodeChild | {
|
|
1199
1202
|
prepend?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
|
|
@@ -1215,6 +1218,8 @@ declare const VTreeviewItem: {
|
|
|
1215
1218
|
"v-slot:default"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
|
|
1216
1219
|
"v-slot:title"?: false | ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
|
|
1217
1220
|
"v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
|
|
1221
|
+
} & {
|
|
1222
|
+
onToggleExpand?: ((value: PointerEvent) => any) | undefined;
|
|
1218
1223
|
}, {}, {}, {}, {}, {
|
|
1219
1224
|
replace: boolean;
|
|
1220
1225
|
link: boolean;
|
|
@@ -1283,7 +1288,6 @@ declare const VTreeviewItem: {
|
|
|
1283
1288
|
prependAvatar?: string | undefined;
|
|
1284
1289
|
subtitle?: string | number | undefined;
|
|
1285
1290
|
toggleIcon?: IconValue | undefined;
|
|
1286
|
-
onToggleExpand?: ((args_0: MouseEvent) => void) | undefined;
|
|
1287
1291
|
} & {
|
|
1288
1292
|
$children?: vue.VNodeChild | {
|
|
1289
1293
|
prepend?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
|
|
@@ -1305,7 +1309,11 @@ declare const VTreeviewItem: {
|
|
|
1305
1309
|
"v-slot:default"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
|
|
1306
1310
|
"v-slot:title"?: false | ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
|
|
1307
1311
|
"v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
|
|
1308
|
-
}
|
|
1312
|
+
} & {
|
|
1313
|
+
onToggleExpand?: ((value: PointerEvent) => any) | undefined;
|
|
1314
|
+
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
1315
|
+
toggleExpand: (value: PointerEvent) => true;
|
|
1316
|
+
}, string, {
|
|
1309
1317
|
replace: boolean;
|
|
1310
1318
|
link: boolean;
|
|
1311
1319
|
variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
|
|
@@ -1406,7 +1414,6 @@ declare const VTreeviewItem: {
|
|
|
1406
1414
|
onClick: vue.PropType<(args_0: MouseEvent | KeyboardEvent) => void>;
|
|
1407
1415
|
onClickOnce: vue.PropType<(args_0: MouseEvent) => void>;
|
|
1408
1416
|
loading: BooleanConstructor;
|
|
1409
|
-
onToggleExpand: vue.PropType<(args_0: MouseEvent) => void>;
|
|
1410
1417
|
toggleIcon: vue.PropType<IconValue>;
|
|
1411
1418
|
}, vue.ExtractPropTypes<{
|
|
1412
1419
|
color: StringConstructor;
|
|
@@ -1485,7 +1492,6 @@ declare const VTreeviewItem: {
|
|
|
1485
1492
|
onClick: vue.PropType<(args_0: MouseEvent | KeyboardEvent) => void>;
|
|
1486
1493
|
onClickOnce: vue.PropType<(args_0: MouseEvent) => void>;
|
|
1487
1494
|
loading: BooleanConstructor;
|
|
1488
|
-
onToggleExpand: vue.PropType<(args_0: MouseEvent) => void>;
|
|
1489
1495
|
toggleIcon: vue.PropType<IconValue>;
|
|
1490
1496
|
}>>;
|
|
1491
1497
|
type VTreeviewItem = InstanceType<typeof VTreeviewItem>;
|
|
@@ -4565,7 +4565,7 @@ declare const VFileUploadItem: {
|
|
|
4565
4565
|
type VFileUploadItem = InstanceType<typeof VFileUploadItem>;
|
|
4566
4566
|
|
|
4567
4567
|
type ControlSlot = {
|
|
4568
|
-
|
|
4568
|
+
props: Record<string, unknown>;
|
|
4569
4569
|
};
|
|
4570
4570
|
type ControlVariant = 'default' | 'stacked' | 'split' | 'hidden';
|
|
4571
4571
|
declare const VNumberInput: {
|
|
@@ -4622,7 +4622,6 @@ declare const VNumberInput: {
|
|
|
4622
4622
|
counter?: string | number | boolean | undefined;
|
|
4623
4623
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
|
4624
4624
|
validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
|
|
4625
|
-
validationValue?: any;
|
|
4626
4625
|
rounded?: string | number | boolean | undefined;
|
|
4627
4626
|
baseColor?: string | undefined;
|
|
4628
4627
|
bgColor?: string | undefined;
|
|
@@ -6795,7 +6794,6 @@ declare const VNumberInput: {
|
|
|
6795
6794
|
counter?: string | number | boolean | undefined;
|
|
6796
6795
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
|
6797
6796
|
validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
|
|
6798
|
-
validationValue?: any;
|
|
6799
6797
|
rounded?: string | number | boolean | undefined;
|
|
6800
6798
|
baseColor?: string | undefined;
|
|
6801
6799
|
bgColor?: string | undefined;
|
|
@@ -6989,7 +6987,6 @@ declare const VNumberInput: {
|
|
|
6989
6987
|
counter?: string | number | boolean | undefined;
|
|
6990
6988
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
|
6991
6989
|
validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
|
|
6992
|
-
validationValue?: any;
|
|
6993
6990
|
rounded?: string | number | boolean | undefined;
|
|
6994
6991
|
baseColor?: string | undefined;
|
|
6995
6992
|
bgColor?: string | undefined;
|
|
@@ -9202,7 +9199,6 @@ declare const VNumberInput: {
|
|
|
9202
9199
|
counter?: string | number | boolean | undefined;
|
|
9203
9200
|
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
|
|
9204
9201
|
validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
|
|
9205
|
-
validationValue?: any;
|
|
9206
9202
|
rounded?: string | number | boolean | undefined;
|
|
9207
9203
|
baseColor?: string | undefined;
|
|
9208
9204
|
bgColor?: string | undefined;
|
|
@@ -11443,7 +11439,6 @@ declare const VNumberInput: {
|
|
|
11443
11439
|
default: () => never[];
|
|
11444
11440
|
};
|
|
11445
11441
|
validateOn: PropType<ValidationProps["validateOn"]>;
|
|
11446
|
-
validationValue: null;
|
|
11447
11442
|
rounded: {
|
|
11448
11443
|
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
|
11449
11444
|
default: undefined;
|
|
@@ -11577,7 +11572,6 @@ declare const VNumberInput: {
|
|
|
11577
11572
|
default: () => never[];
|
|
11578
11573
|
};
|
|
11579
11574
|
validateOn: PropType<ValidationProps["validateOn"]>;
|
|
11580
|
-
validationValue: null;
|
|
11581
11575
|
rounded: {
|
|
11582
11576
|
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
|
11583
11577
|
default: undefined;
|
|
@@ -17959,7 +17953,6 @@ declare const VTreeviewItem: {
|
|
|
17959
17953
|
prependAvatar?: string | undefined;
|
|
17960
17954
|
subtitle?: string | number | undefined;
|
|
17961
17955
|
toggleIcon?: IconValue | undefined;
|
|
17962
|
-
onToggleExpand?: ((args_0: MouseEvent) => void) | undefined;
|
|
17963
17956
|
} & {
|
|
17964
17957
|
$children?: vue.VNodeChild | {
|
|
17965
17958
|
prepend?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
|
|
@@ -17981,7 +17974,11 @@ declare const VTreeviewItem: {
|
|
|
17981
17974
|
"v-slot:default"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
|
|
17982
17975
|
"v-slot:title"?: false | ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
|
|
17983
17976
|
"v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
|
|
17984
|
-
}
|
|
17977
|
+
} & {
|
|
17978
|
+
onToggleExpand?: ((value: PointerEvent) => any) | undefined;
|
|
17979
|
+
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
17980
|
+
toggleExpand: (value: PointerEvent) => true;
|
|
17981
|
+
}, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
|
|
17985
17982
|
replace: boolean;
|
|
17986
17983
|
variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
|
|
17987
17984
|
exact: boolean;
|
|
@@ -18027,7 +18024,6 @@ declare const VTreeviewItem: {
|
|
|
18027
18024
|
prependAvatar?: string | undefined;
|
|
18028
18025
|
subtitle?: string | number | undefined;
|
|
18029
18026
|
toggleIcon?: IconValue | undefined;
|
|
18030
|
-
onToggleExpand?: ((args_0: MouseEvent) => void) | undefined;
|
|
18031
18027
|
} & {
|
|
18032
18028
|
$children?: vue.VNodeChild | {
|
|
18033
18029
|
prepend?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
|
|
@@ -18049,6 +18045,8 @@ declare const VTreeviewItem: {
|
|
|
18049
18045
|
"v-slot:default"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
|
|
18050
18046
|
"v-slot:title"?: false | ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
|
|
18051
18047
|
"v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
|
|
18048
|
+
} & {
|
|
18049
|
+
onToggleExpand?: ((value: PointerEvent) => any) | undefined;
|
|
18052
18050
|
}, {
|
|
18053
18051
|
replace: boolean;
|
|
18054
18052
|
link: boolean;
|
|
@@ -18126,7 +18124,6 @@ declare const VTreeviewItem: {
|
|
|
18126
18124
|
prependAvatar?: string | undefined;
|
|
18127
18125
|
subtitle?: string | number | undefined;
|
|
18128
18126
|
toggleIcon?: IconValue | undefined;
|
|
18129
|
-
onToggleExpand?: ((args_0: MouseEvent) => void) | undefined;
|
|
18130
18127
|
} & {
|
|
18131
18128
|
$children?: vue.VNodeChild | {
|
|
18132
18129
|
prepend?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
|
|
@@ -18148,6 +18145,8 @@ declare const VTreeviewItem: {
|
|
|
18148
18145
|
"v-slot:default"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
|
|
18149
18146
|
"v-slot:title"?: false | ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
|
|
18150
18147
|
"v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
|
|
18148
|
+
} & {
|
|
18149
|
+
onToggleExpand?: ((value: PointerEvent) => any) | undefined;
|
|
18151
18150
|
}, {}, {}, {}, {}, {
|
|
18152
18151
|
replace: boolean;
|
|
18153
18152
|
link: boolean;
|
|
@@ -18216,7 +18215,6 @@ declare const VTreeviewItem: {
|
|
|
18216
18215
|
prependAvatar?: string | undefined;
|
|
18217
18216
|
subtitle?: string | number | undefined;
|
|
18218
18217
|
toggleIcon?: IconValue | undefined;
|
|
18219
|
-
onToggleExpand?: ((args_0: MouseEvent) => void) | undefined;
|
|
18220
18218
|
} & {
|
|
18221
18219
|
$children?: vue.VNodeChild | {
|
|
18222
18220
|
prepend?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
|
|
@@ -18238,7 +18236,11 @@ declare const VTreeviewItem: {
|
|
|
18238
18236
|
"v-slot:default"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
|
|
18239
18237
|
"v-slot:title"?: false | ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
|
|
18240
18238
|
"v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
|
|
18241
|
-
}
|
|
18239
|
+
} & {
|
|
18240
|
+
onToggleExpand?: ((value: PointerEvent) => any) | undefined;
|
|
18241
|
+
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
18242
|
+
toggleExpand: (value: PointerEvent) => true;
|
|
18243
|
+
}, string, {
|
|
18242
18244
|
replace: boolean;
|
|
18243
18245
|
link: boolean;
|
|
18244
18246
|
variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
|
|
@@ -18339,7 +18341,6 @@ declare const VTreeviewItem: {
|
|
|
18339
18341
|
onClick: vue.PropType<(args_0: MouseEvent | KeyboardEvent) => void>;
|
|
18340
18342
|
onClickOnce: vue.PropType<(args_0: MouseEvent) => void>;
|
|
18341
18343
|
loading: BooleanConstructor;
|
|
18342
|
-
onToggleExpand: vue.PropType<(args_0: MouseEvent) => void>;
|
|
18343
18344
|
toggleIcon: vue.PropType<IconValue>;
|
|
18344
18345
|
}, vue.ExtractPropTypes<{
|
|
18345
18346
|
color: StringConstructor;
|
|
@@ -18418,7 +18419,6 @@ declare const VTreeviewItem: {
|
|
|
18418
18419
|
onClick: vue.PropType<(args_0: MouseEvent | KeyboardEvent) => void>;
|
|
18419
18420
|
onClickOnce: vue.PropType<(args_0: MouseEvent) => void>;
|
|
18420
18421
|
loading: BooleanConstructor;
|
|
18421
|
-
onToggleExpand: vue.PropType<(args_0: MouseEvent) => void>;
|
|
18422
18422
|
toggleIcon: vue.PropType<IconValue>;
|
|
18423
18423
|
}>>;
|
|
18424
18424
|
type VTreeviewItem = InstanceType<typeof VTreeviewItem>;
|