@vuetify/nightly 3.11.4-dev.2025-12-21 → 3.11.4-dev.2025-12-22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/CHANGELOG.md +25 -3
  2. package/dist/json/attributes.json +1109 -1109
  3. package/dist/json/importMap-labs.json +24 -24
  4. package/dist/json/importMap.json +196 -196
  5. package/dist/json/web-types.json +2247 -2247
  6. package/dist/vuetify-labs.cjs +40 -15
  7. package/dist/vuetify-labs.css +4805 -4809
  8. package/dist/vuetify-labs.d.ts +83 -70
  9. package/dist/vuetify-labs.esm.js +40 -15
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +40 -15
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +35 -11
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +3454 -3458
  16. package/dist/vuetify.d.ts +83 -70
  17. package/dist/vuetify.esm.js +35 -11
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +35 -11
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +17 -17
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VDataTable/VDataTableRows.js +1 -1
  25. package/lib/components/VDataTable/VDataTableRows.js.map +1 -1
  26. package/lib/components/VDataTable/VDataTableVirtual.js +5 -2
  27. package/lib/components/VDataTable/VDataTableVirtual.js.map +1 -1
  28. package/lib/components/VDataTable/types.d.ts +1 -0
  29. package/lib/components/VDataTable/types.js.map +1 -1
  30. package/lib/components/VDatePicker/VDatePickerYears.js +7 -3
  31. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  32. package/lib/components/VGrid/VContainer.css +34 -0
  33. package/lib/components/VGrid/VContainer.js +1 -1
  34. package/lib/components/VGrid/VContainer.js.map +1 -1
  35. package/lib/components/VGrid/VContainer.sass +15 -0
  36. package/lib/components/VGrid/VGrid.css +0 -39
  37. package/lib/components/VGrid/VGrid.sass +0 -15
  38. package/lib/components/VGrid/VSpacer.css +3 -0
  39. package/lib/components/VGrid/VSpacer.js +1 -1
  40. package/lib/components/VGrid/VSpacer.js.map +1 -1
  41. package/lib/components/VGrid/VSpacer.sass +5 -0
  42. package/lib/components/VList/VListItem.d.ts +3 -0
  43. package/lib/components/VNumberInput/VNumberInput.js +1 -1
  44. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  45. package/lib/components/VTreeview/VTreeviewChildren.js +2 -2
  46. package/lib/components/VTreeview/VTreeviewChildren.js.map +1 -1
  47. package/lib/components/VTreeview/VTreeviewItem.d.ts +9 -0
  48. package/lib/composables/nested/nested.d.ts +3 -0
  49. package/lib/composables/nested/nested.js +17 -0
  50. package/lib/composables/nested/nested.js.map +1 -1
  51. package/lib/entry-bundler.js +1 -1
  52. package/lib/framework.d.ts +71 -70
  53. package/lib/framework.js +1 -1
  54. package/lib/labs/VDateInput/VDateInput.js +5 -4
  55. package/lib/labs/VDateInput/VDateInput.js.map +1 -1
  56. package/lib/styles/settings/_variables.scss +11 -0
  57. package/lib/styles/utilities/_display.sass +2 -1
  58. package/lib/styles/utilities/_elevation.scss +2 -1
  59. package/lib/styles/utilities/_pointer-events.sass +2 -1
  60. package/lib/styles/utilities/_screenreaders.sass +2 -1
  61. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"VNumberInput.js","names":["VBtn","VDefaultsProvider","VDivider","makeVTextFieldProps","VTextField","useHold","useForm","forwardRefs","useLocale","useProxiedModel","computed","nextTick","onMounted","ref","shallowRef","toRef","watch","clamp","escapeForRegex","extractNumber","genericComponent","omit","propsFactory","useRender","makeVNumberInputProps","controlVariant","type","String","default","inset","Boolean","hideInput","modelValue","Number","min","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","step","precision","minFractionDigits","decimalSeparator","validator","v","length","VNumberInput","name","props","emits","val","setup","_ref","slots","vTextFieldRef","holdStart","holdStop","toggleUpDown","form","controlsDisabled","isDisabled","value","isReadonly","isFocused","focused","decimalSeparatorFromLocale","correctPrecision","arguments","undefined","trim","fixed","toFixed","toString","replace","baseDigits","fractionDigits","split","padEnd","RegExp","filter","join","model","_inputText","_lastParsedValue","isNaN","immediate","inputText","get","set","parsedValue","isOutOfRange","numberFromText","canIncrease","canDecrease","incrementIcon","decrementIcon","controlNodeSize","controlNodeDefaultHeight","incrementSlotProps","onClick","onControlClick","onPointerup","onControlMouseup","onPointerdown","onUpControlMousedown","onPointercancel","decrementSlotProps","onDownControlMousedown","formatInputValue","clampModel","inferPrecision","str","idx","indexOf","increment","inferredPrecision","Math","onBeforeinput","e","data","inputElement","target","existingTxt","selectionStart","selectionEnd","potentialNewInputVal","slice","potentialNewNumber","test","preventDefault","cursorPosition","setSelectionRange","endsWith","onKeydown","includes","key","ctrlKey","stopPropagation","el","currentTarget","releasePointerCapture","pointerId","setPointerCapture","actualText","trimDecimalZeros","onFocus","onBlur","_","textFieldProps","filterProps","incrementControlNode","_createVNode","disabled","height","size","icon","variant","decrementControlNode","decrement","controlNode","_createElementVNode","dividerNode","appendInnerControl","reverse","_Fragment","hasAppendInner","prependInnerControl","hasPrependInner","_mergeProps","$event","class","style","_len","args","Array","_key","_len2","_key2"],"sources":["../../../src/components/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 { useForm } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, nextTick, onMounted, ref, shallowRef, toRef, watch } from 'vue'\nimport { clamp, escapeForRegex, extractNumber, 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 minFractionDigits: {\n type: Number as PropType<number | null>,\n default: null,\n },\n decimalSeparator: {\n type: String,\n validator: (v: any) => !v || v.length === 1,\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:focused': (val: boolean) => true,\n 'update:modelValue': (val: number) => true,\n },\n\n setup (props, { slots }) {\n const vTextFieldRef = ref<VTextField>()\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 = shallowRef(props.focused)\n\n const { decimalSeparator: decimalSeparatorFromLocale } = useLocale()\n const decimalSeparator = computed(() => props.decimalSeparator?.[0] || decimalSeparatorFromLocale.value)\n\n function correctPrecision (val: number, precision = props.precision, trim = true) {\n const fixed = precision == null\n ? String(val)\n : val.toFixed(precision)\n\n if (isFocused.value && trim) {\n return Number(fixed).toString() // trim zeros\n .replace('.', decimalSeparator.value)\n }\n\n if (props.minFractionDigits === null || (precision !== null && precision < props.minFractionDigits)) {\n return fixed.replace('.', decimalSeparator.value)\n }\n\n let [baseDigits, fractionDigits] = fixed.split('.')\n\n fractionDigits = (fractionDigits ?? '').padEnd(props.minFractionDigits, '0')\n .replace(new RegExp(`(?<=\\\\d{${props.minFractionDigits}})0+$`, 'g'), '')\n\n return [\n baseDigits,\n fractionDigits,\n ].filter(Boolean).join(decimalSeparator.value)\n }\n\n const model = useProxiedModel(props, 'modelValue', null,\n val => val ?? null,\n val => val == null\n ? val ?? null\n : clamp(Number(val), props.min, props.max)\n )\n\n const _inputText = shallowRef<string | null>(null)\n const _lastParsedValue = shallowRef<number | null>(null)\n\n watch(model, val => {\n if (\n isFocused.value &&\n !controlsDisabled.value &&\n Number(_inputText.value?.replace(decimalSeparator.value, '.')) === val\n ) {\n // ignore external changes while typing\n // e.g. 5.01{backspace}2 » should result in 5.02\n // but we emit '5' in and want to preserve '5.0'\n } else if (val == null) {\n _inputText.value = null\n _lastParsedValue.value = null\n } else if (!isNaN(val)) {\n _inputText.value = correctPrecision(val)\n _lastParsedValue.value = Number(_inputText.value.replace(decimalSeparator.value, '.'))\n }\n }, { immediate: true })\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 _lastParsedValue.value = null\n return\n }\n const parsedValue = Number(val.replace(decimalSeparator.value, '.'))\n if (!isNaN(parsedValue)) {\n _inputText.value = val\n _lastParsedValue.value = parsedValue\n\n if (parsedValue <= props.max && parsedValue >= props.min) {\n model.value = parsedValue\n }\n }\n },\n })\n\n const isOutOfRange = computed(() => {\n if (_lastParsedValue.value === null) return false\n const numberFromText = Number(_inputText.value?.replace(decimalSeparator.value, '.'))\n return numberFromText !== clamp(numberFromText, props.min, props.max)\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 = toRef(() => controlVariant.value === 'split' ? '$plus' : '$collapse')\n const decrementIcon = toRef(() => controlVariant.value === 'split' ? '$minus' : '$expand')\n const controlNodeSize = toRef(() => controlVariant.value === 'split' ? 'default' : 'small')\n const controlNodeDefaultHeight = toRef(() => controlVariant.value === 'stacked' ? 'auto' : '100%')\n\n const incrementSlotProps = {\n props: {\n onClick: onControlClick,\n onPointerup: onControlMouseup,\n onPointerdown: onUpControlMousedown,\n onPointercancel: onControlMouseup,\n },\n }\n const decrementSlotProps = {\n props: {\n onClick: onControlClick,\n onPointerup: onControlMouseup,\n onPointerdown: onDownControlMousedown,\n onPointercancel: onControlMouseup,\n },\n }\n\n watch(() => props.precision, () => formatInputValue())\n watch(() => props.minFractionDigits, () => 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 inputElement = e.target as HTMLInputElement\n const { value: existingTxt, selectionStart, selectionEnd } = inputElement ?? {}\n\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\n const potentialNewNumber = extractNumber(potentialNewInputVal, props.precision, decimalSeparator.value)\n\n // Allow only numbers, \"-\" and {decimal separator}\n // Allow \"-\" and {decimal separator} only once\n // Allow \"-\" only at the start\n if (!new RegExp(`^-?\\\\d*${escapeForRegex(decimalSeparator.value)}?\\\\d*$`).test(potentialNewInputVal)) {\n e.preventDefault()\n inputElement!.value = potentialNewNumber\n nextTick(() => inputText.value = potentialNewNumber)\n }\n\n if (props.precision == null) return\n\n // Ignore decimal digits above precision limit\n if (potentialNewInputVal.split(decimalSeparator.value)[1]?.length > props.precision) {\n e.preventDefault()\n inputElement!.value = potentialNewNumber\n nextTick(() => inputText.value = potentialNewNumber)\n\n const cursorPosition = (selectionStart ?? 0) + e.data.length\n inputElement!.setSelectionRange(cursorPosition, cursorPosition)\n }\n // Ignore decimal separator when precision = 0\n if (props.precision === 0 && potentialNewInputVal.endsWith(decimalSeparator.value)) {\n e.preventDefault()\n inputElement!.value = potentialNewNumber\n nextTick(() => inputText.value = potentialNewNumber)\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 e.stopPropagation()\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 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 const parsedValue = Number(actualText.replace(decimalSeparator.value, '.'))\n if (actualText && !isNaN(parsedValue)) {\n inputText.value = correctPrecision(clamp(parsedValue, props.min, props.max))\n } else {\n inputText.value = null\n }\n }\n\n function formatInputValue () {\n if (controlsDisabled.value) return\n inputText.value = model.value !== null && !isNaN(model.value)\n ? correctPrecision(model.value, props.precision, false)\n : null\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 .replace('.', decimalSeparator.value)\n }\n\n function onFocus () {\n trimDecimalZeros()\n }\n\n function onBlur () {\n clampModel()\n }\n\n useRender(() => {\n const { modelValue: _, type, ...textFieldProps } = VTextField.filterProps(props)\n\n function incrementControlNode () {\n return !slots.increment ? (\n <VBtn\n aria-hidden=\"true\"\n data-testid=\"increment\"\n disabled={ !canIncrease.value }\n height={ controlNodeDefaultHeight.value }\n icon={ incrementIcon.value }\n key=\"increment-btn\"\n onClick={ onControlClick }\n onPointerdown={ onUpControlMousedown }\n onPointerup={ onControlMouseup }\n onPointercancel={ onControlMouseup }\n size={ controlNodeSize.value }\n variant=\"text\"\n tabindex=\"-1\"\n />\n ) : (\n <VDefaultsProvider\n key=\"increment-defaults\"\n defaults={{\n VBtn: {\n disabled: !canIncrease.value,\n height: controlNodeDefaultHeight.value,\n size: controlNodeSize.value,\n icon: incrementIcon.value,\n variant: 'text',\n },\n }}\n >\n { slots.increment(incrementSlotProps) }\n </VDefaultsProvider>\n )\n }\n\n function decrementControlNode () {\n return !slots.decrement ? (\n <VBtn\n aria-hidden=\"true\"\n data-testid=\"decrement\"\n disabled={ !canDecrease.value }\n height={ controlNodeDefaultHeight.value }\n icon={ decrementIcon.value }\n key=\"decrement-btn\"\n onClick={ onControlClick }\n onPointerdown={ onDownControlMousedown }\n onPointerup={ onControlMouseup }\n onPointercancel={ onControlMouseup }\n size={ controlNodeSize.value }\n variant=\"text\"\n tabindex=\"-1\"\n />\n ) : (\n <VDefaultsProvider\n key=\"decrement-defaults\"\n defaults={{\n VBtn: {\n disabled: !canDecrease.value,\n height: controlNodeDefaultHeight.value,\n size: controlNodeSize.value,\n icon: decrementIcon.value,\n variant: 'text',\n },\n }}\n >\n { slots.decrement(decrementSlotProps) }\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 { ...textFieldProps }\n v-model={ inputText.value }\n v-model:focused={ isFocused.value }\n validationValue={ model.value }\n error={ isOutOfRange.value || undefined }\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 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.js","names":["VBtn","VDefaultsProvider","VDivider","makeVTextFieldProps","VTextField","useHold","useForm","forwardRefs","useLocale","useProxiedModel","computed","nextTick","onMounted","ref","shallowRef","toRef","watch","clamp","escapeForRegex","extractNumber","genericComponent","omit","propsFactory","useRender","makeVNumberInputProps","controlVariant","type","String","default","inset","Boolean","hideInput","modelValue","Number","min","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","step","precision","minFractionDigits","decimalSeparator","validator","v","length","VNumberInput","name","props","emits","val","setup","_ref","slots","vTextFieldRef","holdStart","holdStop","toggleUpDown","form","controlsDisabled","isDisabled","value","isReadonly","isFocused","focused","decimalSeparatorFromLocale","correctPrecision","arguments","undefined","trim","fixed","toFixed","toString","replace","baseDigits","fractionDigits","split","padEnd","RegExp","filter","join","model","_inputText","_lastParsedValue","isNaN","immediate","inputText","get","set","parsedValue","isOutOfRange","numberFromText","canIncrease","canDecrease","incrementIcon","decrementIcon","controlNodeSize","controlNodeDefaultHeight","incrementSlotProps","onClick","onControlClick","onPointerup","onControlMouseup","onPointerdown","onUpControlMousedown","onPointercancel","decrementSlotProps","onDownControlMousedown","formatInputValue","clampModel","inferPrecision","str","idx","indexOf","increment","inferredPrecision","Math","onBeforeinput","e","data","inputElement","target","existingTxt","selectionStart","selectionEnd","potentialNewInputVal","slice","potentialNewNumber","test","preventDefault","cursorPosition","setSelectionRange","endsWith","onKeydown","includes","key","ctrlKey","stopPropagation","el","currentTarget","releasePointerCapture","pointerId","setPointerCapture","actualText","trimDecimalZeros","onFocus","onBlur","_","textFieldProps","filterProps","incrementControlNode","_createVNode","disabled","height","size","icon","variant","decrementControlNode","decrement","controlNode","_createElementVNode","dividerNode","appendInnerControl","reverse","_Fragment","hasAppendInner","prependInnerControl","hasPrependInner","_mergeProps","$event","error","class","style","_len","args","Array","_key","_len2","_key2"],"sources":["../../../src/components/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 { useForm } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, nextTick, onMounted, ref, shallowRef, toRef, watch } from 'vue'\nimport { clamp, escapeForRegex, extractNumber, 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 minFractionDigits: {\n type: Number as PropType<number | null>,\n default: null,\n },\n decimalSeparator: {\n type: String,\n validator: (v: any) => !v || v.length === 1,\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:focused': (val: boolean) => true,\n 'update:modelValue': (val: number) => true,\n },\n\n setup (props, { slots }) {\n const vTextFieldRef = ref<VTextField>()\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 = shallowRef(props.focused)\n\n const { decimalSeparator: decimalSeparatorFromLocale } = useLocale()\n const decimalSeparator = computed(() => props.decimalSeparator?.[0] || decimalSeparatorFromLocale.value)\n\n function correctPrecision (val: number, precision = props.precision, trim = true) {\n const fixed = precision == null\n ? String(val)\n : val.toFixed(precision)\n\n if (isFocused.value && trim) {\n return Number(fixed).toString() // trim zeros\n .replace('.', decimalSeparator.value)\n }\n\n if (props.minFractionDigits === null || (precision !== null && precision < props.minFractionDigits)) {\n return fixed.replace('.', decimalSeparator.value)\n }\n\n let [baseDigits, fractionDigits] = fixed.split('.')\n\n fractionDigits = (fractionDigits ?? '').padEnd(props.minFractionDigits, '0')\n .replace(new RegExp(`(?<=\\\\d{${props.minFractionDigits}})0+$`, 'g'), '')\n\n return [\n baseDigits,\n fractionDigits,\n ].filter(Boolean).join(decimalSeparator.value)\n }\n\n const model = useProxiedModel(props, 'modelValue', null,\n val => val ?? null,\n val => val == null\n ? val ?? null\n : clamp(Number(val), props.min, props.max)\n )\n\n const _inputText = shallowRef<string | null>(null)\n const _lastParsedValue = shallowRef<number | null>(null)\n\n watch(model, val => {\n if (\n isFocused.value &&\n !controlsDisabled.value &&\n Number(_inputText.value?.replace(decimalSeparator.value, '.')) === val\n ) {\n // ignore external changes while typing\n // e.g. 5.01{backspace}2 » should result in 5.02\n // but we emit '5' in and want to preserve '5.0'\n } else if (val == null) {\n _inputText.value = null\n _lastParsedValue.value = null\n } else if (!isNaN(val)) {\n _inputText.value = correctPrecision(val)\n _lastParsedValue.value = Number(_inputText.value.replace(decimalSeparator.value, '.'))\n }\n }, { immediate: true })\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 _lastParsedValue.value = null\n return\n }\n const parsedValue = Number(val.replace(decimalSeparator.value, '.'))\n if (!isNaN(parsedValue)) {\n _inputText.value = val\n _lastParsedValue.value = parsedValue\n\n if (parsedValue <= props.max && parsedValue >= props.min) {\n model.value = parsedValue\n }\n }\n },\n })\n\n const isOutOfRange = computed(() => {\n if (_lastParsedValue.value === null) return false\n const numberFromText = Number(_inputText.value?.replace(decimalSeparator.value, '.'))\n return numberFromText !== clamp(numberFromText, props.min, props.max)\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 = toRef(() => controlVariant.value === 'split' ? '$plus' : '$collapse')\n const decrementIcon = toRef(() => controlVariant.value === 'split' ? '$minus' : '$expand')\n const controlNodeSize = toRef(() => controlVariant.value === 'split' ? 'default' : 'small')\n const controlNodeDefaultHeight = toRef(() => controlVariant.value === 'stacked' ? 'auto' : '100%')\n\n const incrementSlotProps = {\n props: {\n onClick: onControlClick,\n onPointerup: onControlMouseup,\n onPointerdown: onUpControlMousedown,\n onPointercancel: onControlMouseup,\n },\n }\n const decrementSlotProps = {\n props: {\n onClick: onControlClick,\n onPointerup: onControlMouseup,\n onPointerdown: onDownControlMousedown,\n onPointercancel: onControlMouseup,\n },\n }\n\n watch(() => props.precision, () => formatInputValue())\n watch(() => props.minFractionDigits, () => 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 inputElement = e.target as HTMLInputElement\n const { value: existingTxt, selectionStart, selectionEnd } = inputElement ?? {}\n\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\n const potentialNewNumber = extractNumber(potentialNewInputVal, props.precision, decimalSeparator.value)\n\n // Allow only numbers, \"-\" and {decimal separator}\n // Allow \"-\" and {decimal separator} only once\n // Allow \"-\" only at the start\n if (!new RegExp(`^-?\\\\d*${escapeForRegex(decimalSeparator.value)}?\\\\d*$`).test(potentialNewInputVal)) {\n e.preventDefault()\n inputElement!.value = potentialNewNumber\n nextTick(() => inputText.value = potentialNewNumber)\n }\n\n if (props.precision == null) return\n\n // Ignore decimal digits above precision limit\n if (potentialNewInputVal.split(decimalSeparator.value)[1]?.length > props.precision) {\n e.preventDefault()\n inputElement!.value = potentialNewNumber\n nextTick(() => inputText.value = potentialNewNumber)\n\n const cursorPosition = (selectionStart ?? 0) + e.data.length\n inputElement!.setSelectionRange(cursorPosition, cursorPosition)\n }\n // Ignore decimal separator when precision = 0\n if (props.precision === 0 && potentialNewInputVal.endsWith(decimalSeparator.value)) {\n e.preventDefault()\n inputElement!.value = potentialNewNumber\n nextTick(() => inputText.value = potentialNewNumber)\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 e.stopPropagation()\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 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 const parsedValue = Number(actualText.replace(decimalSeparator.value, '.'))\n if (actualText && !isNaN(parsedValue)) {\n inputText.value = correctPrecision(clamp(parsedValue, props.min, props.max))\n } else {\n inputText.value = null\n }\n }\n\n function formatInputValue () {\n if (controlsDisabled.value) return\n inputText.value = model.value !== null && !isNaN(model.value)\n ? correctPrecision(model.value, props.precision, false)\n : null\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 .replace('.', decimalSeparator.value)\n }\n\n function onFocus () {\n trimDecimalZeros()\n }\n\n function onBlur () {\n clampModel()\n }\n\n useRender(() => {\n const { modelValue: _, type, ...textFieldProps } = VTextField.filterProps(props)\n\n function incrementControlNode () {\n return !slots.increment ? (\n <VBtn\n aria-hidden=\"true\"\n data-testid=\"increment\"\n disabled={ !canIncrease.value }\n height={ controlNodeDefaultHeight.value }\n icon={ incrementIcon.value }\n key=\"increment-btn\"\n onClick={ onControlClick }\n onPointerdown={ onUpControlMousedown }\n onPointerup={ onControlMouseup }\n onPointercancel={ onControlMouseup }\n size={ controlNodeSize.value }\n variant=\"text\"\n tabindex=\"-1\"\n />\n ) : (\n <VDefaultsProvider\n key=\"increment-defaults\"\n defaults={{\n VBtn: {\n disabled: !canIncrease.value,\n height: controlNodeDefaultHeight.value,\n size: controlNodeSize.value,\n icon: incrementIcon.value,\n variant: 'text',\n },\n }}\n >\n { slots.increment(incrementSlotProps) }\n </VDefaultsProvider>\n )\n }\n\n function decrementControlNode () {\n return !slots.decrement ? (\n <VBtn\n aria-hidden=\"true\"\n data-testid=\"decrement\"\n disabled={ !canDecrease.value }\n height={ controlNodeDefaultHeight.value }\n icon={ decrementIcon.value }\n key=\"decrement-btn\"\n onClick={ onControlClick }\n onPointerdown={ onDownControlMousedown }\n onPointerup={ onControlMouseup }\n onPointercancel={ onControlMouseup }\n size={ controlNodeSize.value }\n variant=\"text\"\n tabindex=\"-1\"\n />\n ) : (\n <VDefaultsProvider\n key=\"decrement-defaults\"\n defaults={{\n VBtn: {\n disabled: !canDecrease.value,\n height: controlNodeDefaultHeight.value,\n size: controlNodeSize.value,\n icon: decrementIcon.value,\n variant: 'text',\n },\n }}\n >\n { slots.decrement(decrementSlotProps) }\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 { ...textFieldProps }\n v-model={ inputText.value }\n v-model:focused={ isFocused.value }\n validationValue={ model.value }\n error={ props.error || isOutOfRange.value || undefined }\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 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":[]}
@@ -111,7 +111,7 @@ export const VTreeviewChildren = genericComponent()({
111
111
  default: () => [_createVNode(VCheckboxBtn, {
112
112
  "key": item.value,
113
113
  "modelValue": slotProps.isSelected,
114
- "disabled": props.disabled,
114
+ "disabled": props.disabled || itemProps.disabled,
115
115
  "loading": loading,
116
116
  "color": props.selectedColor,
117
117
  "density": props.density,
@@ -174,7 +174,7 @@ export const VTreeviewChildren = genericComponent()({
174
174
  hideActions: props.hideActions,
175
175
  indentLines: indentLines.node,
176
176
  onToggleExpand: [() => checkChildren(item), activatorProps.onClick],
177
- onClick: isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] : () => selectItem(activatorItems.value[index]?.select, !activatorItems.value[index]?.isSelected)
177
+ onClick: props.disabled || itemProps.disabled ? undefined : isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] : () => selectItem(activatorItems.value[index]?.select, !activatorItems.value[index]?.isSelected)
178
178
  };
179
179
  return renderSlot(slots.header, {
180
180
  props: listItemProps,
@@ -1 +1 @@
1
- {"version":3,"file":"VTreeviewChildren.js","names":["VTreeviewGroup","makeVTreeviewItemProps","VTreeviewItem","VCheckboxBtn","VDivider","VListItemAction","VListSubheader","makeDensityProps","IconValue","computed","reactive","ref","toRaw","genericComponent","getIndentLines","pick","propsFactory","renderSlot","makeVTreeviewChildrenProps","fluid","Boolean","disabled","loadChildren","Function","loadingIcon","type","String","default","items","Array","openOnClick","undefined","indeterminateIcon","falseIcon","trueIcon","returnObject","activatable","selectable","selectedColor","selectStrategy","Object","index","Number","isLastGroup","separateRoots","parentIndentLines","indentLinesVariant","path","VTreeviewChildren","name","props","setup","_ref","slots","isLoading","Set","activatorItems","isClickOnOpen","checkChildren","item","length","children","add","value","raw","delete","selectItem","select","isSelected","map","itemProps","loading","has","nextItemHasChildren","at","depth","isLast","treeItemProps","isFirst","hideAction","hideActions","indentLines","leafLinks","variant","slotsWithItem","toggle","slotProps","internalItem","prepend","_createElementVNode","_Fragment","includes","_createVNode","density","isIndeterminate","v","e","stopPropagation","key","append","title","subtitle","treeviewGroupProps","filterProps","treeviewChildrenProps","footerProps","footer","_mergeProps","activator","_ref2","activatorProps","listItemProps","node","onToggleExpand","onClick","header","el","divider","subheader","leaf"],"sources":["../../../src/components/VTreeview/VTreeviewChildren.tsx"],"sourcesContent":["// Components\nimport { VTreeviewGroup } from './VTreeviewGroup'\nimport { makeVTreeviewItemProps, VTreeviewItem } from './VTreeviewItem'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VDivider } from '@/components/VDivider'\nimport { VListItemAction, VListSubheader } from '@/components/VList'\n\n// Composables\nimport { makeDensityProps } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed, reactive, ref, toRaw } from 'vue'\nimport { genericComponent, getIndentLines, pick, propsFactory, renderSlot } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VTreeviewItemSlots } from './VTreeviewItem'\nimport type { InternalListItem } from '@/components/VList/VList'\nimport type { SelectStrategyProp } from '@/composables/nested/nested'\nimport type { GenericProps, IndentLinesVariant, IndentLineType } from '@/util'\n\nexport type VTreeviewChildrenSlots<T> = {\n [K in keyof Omit<VTreeviewItemSlots, 'default'>]: VTreeviewItemSlots[K] & {\n item: T\n internalItem: InternalListItem<T>\n }\n} & {\n default: never\n item: {\n props: InternalListItem['props']\n item: T\n internalItem: InternalListItem<T>\n }\n header: {\n props: InternalListItem['props']\n item: T\n internalItem: InternalListItem<T>\n loading: boolean\n }\n footer: {\n props: { indentLines?: IndentLineType[] }\n item: T\n internalItem: InternalListItem<T>\n loading: boolean\n }\n divider: { props: InternalListItem['props'] }\n subheader: { props: InternalListItem['props'] }\n}\n\nexport const makeVTreeviewChildrenProps = propsFactory({\n fluid: Boolean,\n disabled: Boolean,\n loadChildren: Function as PropType<(item: unknown) => Promise<void>>,\n loadingIcon: {\n type: String,\n default: '$loading',\n },\n items: Array as PropType<readonly InternalListItem[]>,\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n indeterminateIcon: {\n type: IconValue,\n default: '$checkboxIndeterminate',\n },\n falseIcon: IconValue,\n trueIcon: IconValue,\n returnObject: Boolean,\n activatable: Boolean,\n selectable: Boolean,\n selectedColor: String,\n selectStrategy: [String, Function, Object] as PropType<SelectStrategyProp>,\n index: Number,\n isLastGroup: Boolean,\n separateRoots: Boolean,\n parentIndentLines: Array as PropType<IndentLineType[]>,\n indentLinesVariant: String as PropType<IndentLinesVariant>,\n path: {\n type: Array as PropType<number[]>,\n default: () => [],\n },\n ...pick(makeVTreeviewItemProps(), ['hideActions']),\n ...makeDensityProps(),\n}, 'VTreeviewChildren')\n\nexport const VTreeviewChildren = genericComponent<new <T extends InternalListItem>(\n props: {\n items?: readonly T[]\n },\n slots: VTreeviewChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VTreeviewChildren',\n\n props: makeVTreeviewChildrenProps(),\n\n setup (props, { slots }) {\n const isLoading = reactive(new Set<unknown>())\n const activatorItems = ref<VTreeviewItem[]>([])\n\n const isClickOnOpen = computed(() => (\n !props.disabled && (\n props.openOnClick != null\n ? props.openOnClick\n : props.selectable && !props.activatable\n )))\n\n async function checkChildren (item: InternalListItem) {\n try {\n if (!props.items?.length || !props.loadChildren) return\n\n if (item?.children?.length === 0) {\n isLoading.add(item.value)\n await props.loadChildren(item.raw)\n }\n } finally {\n isLoading.delete(item.value)\n }\n }\n\n function selectItem (select: (value: boolean) => void, isSelected: boolean) {\n if (props.selectable) {\n select(isSelected)\n }\n }\n\n return () => slots.default?.() ?? props.items?.map((item, index, items) => {\n const { children, props: itemProps } = item\n const loading = isLoading.has(item.value)\n const nextItemHasChildren = !!items.at(index + 1)?.children\n\n const depth = props.path?.length ?? 0\n const isLast = items.length - 1 === index\n const treeItemProps = {\n index,\n depth,\n isFirst: index === 0,\n isLast,\n path: [...props.path, index],\n hideAction: props.hideActions,\n }\n\n const indentLines = getIndentLines({\n depth,\n isLast,\n isLastGroup: props.isLastGroup,\n leafLinks: !props.hideActions && !props.fluid,\n separateRoots: props.separateRoots,\n parentIndentLines: props.parentIndentLines,\n variant: props.indentLinesVariant,\n })\n\n const slotsWithItem = {\n toggle: slots.toggle\n ? slotProps => slots.toggle?.({ ...slotProps, ...treeItemProps, item: item.raw, internalItem: item, loading })\n : undefined,\n prepend: slotProps => (\n <>\n { props.selectable && (!children || (children && !['leaf', 'single-leaf'].includes(props.selectStrategy as string))) && (\n <VListItemAction start>\n <VCheckboxBtn\n key={ item.value }\n modelValue={ slotProps.isSelected }\n disabled={ props.disabled }\n loading={ loading }\n color={ props.selectedColor }\n density={ props.density }\n indeterminate={ slotProps.isIndeterminate }\n indeterminateIcon={ props.indeterminateIcon }\n falseIcon={ props.falseIcon }\n trueIcon={ props.trueIcon }\n onUpdate:modelValue={ v => selectItem(slotProps.select, v) }\n onClick={ (e: PointerEvent) => e.stopPropagation() }\n onKeydown={ (e: KeyboardEvent) => {\n if (!['Enter', 'Space'].includes(e.key)) return\n e.stopPropagation()\n selectItem(slotProps.select, slotProps.isSelected)\n }}\n />\n </VListItemAction>\n )}\n\n { slots.prepend?.({ ...slotProps, ...treeItemProps, item: item.raw, internalItem: item }) }\n </>\n ),\n append: slots.append\n ? slotProps => slots.append?.({ ...slotProps, ...treeItemProps, item: item.raw, internalItem: item })\n : undefined,\n title: slots.title ? slotProps => slots.title?.({ ...slotProps, item: item.raw, internalItem: item }) : undefined,\n subtitle: slots.subtitle ? slotProps => slots.subtitle?.({ ...slotProps, item: item.raw, internalItem: item }) : undefined,\n } satisfies VTreeviewItem['$props']['$children']\n\n const treeviewGroupProps = VTreeviewGroup.filterProps(itemProps)\n const treeviewChildrenProps = VTreeviewChildren.filterProps({ ...props, ...treeItemProps })\n\n const footerProps = {\n hideActions: props.hideActions,\n indentLines: indentLines.footer,\n }\n\n return children ? (\n <VTreeviewGroup\n { ...treeviewGroupProps }\n value={ props.returnObject ? item.raw : treeviewGroupProps?.value }\n rawId={ treeviewGroupProps?.value }\n >\n {{\n activator: ({ props: activatorProps }) => {\n const listItemProps = {\n ...itemProps,\n ...activatorProps,\n value: itemProps?.value,\n hideActions: props.hideActions,\n indentLines: indentLines.node,\n onToggleExpand: [() => checkChildren(item), activatorProps.onClick] as any,\n onClick: isClickOnOpen.value\n ? [() => checkChildren(item), activatorProps.onClick] as any\n : () => selectItem(activatorItems.value[index]?.select, !activatorItems.value[index]?.isSelected),\n }\n\n return renderSlot(\n slots.header,\n { props: listItemProps, item: item.raw, internalItem: item, loading },\n () => (\n <VTreeviewItem\n ref={ el => activatorItems.value[index] = el as VTreeviewItem }\n { ...listItemProps }\n hasCustomPrepend={ !!slots.prepend }\n value={ props.returnObject ? item.raw : itemProps.value }\n loading={ loading }\n v-slots={ slotsWithItem }\n />\n )\n )\n },\n default: () => (\n <>\n <VTreeviewChildren\n { ...treeviewChildrenProps }\n items={ children }\n indentLinesVariant={ props.indentLinesVariant }\n parentIndentLines={ indentLines.children }\n isLastGroup={ nextItemHasChildren }\n returnObject={ props.returnObject }\n v-slots={ slots }\n />\n { slots.footer?.({ props: footerProps, item: item.raw, internalItem: item, loading }) }\n </>\n ),\n }}\n </VTreeviewGroup>\n ) : renderSlot(\n slots.item,\n { props: itemProps, item: item.raw, internalItem: item },\n () => {\n if (item.type === 'divider') {\n return renderSlot(\n slots.divider,\n { props: item.raw },\n () => <VDivider { ...item.props } />,\n )\n }\n if (item.type === 'subheader') {\n return renderSlot(\n slots.subheader,\n { props: item.raw },\n () => <VListSubheader { ...item.props } />,\n )\n }\n return (\n <VTreeviewItem\n { ...itemProps }\n hasCustomPrepend={ !!slots.prepend }\n hideActions={ props.hideActions }\n indentLines={ indentLines.leaf }\n value={ props.returnObject ? toRaw(item.raw) : itemProps.value }\n v-slots={ slotsWithItem }\n />\n )\n })\n })\n },\n})\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VTreeviewChildren.js","names":["VTreeviewGroup","makeVTreeviewItemProps","VTreeviewItem","VCheckboxBtn","VDivider","VListItemAction","VListSubheader","makeDensityProps","IconValue","computed","reactive","ref","toRaw","genericComponent","getIndentLines","pick","propsFactory","renderSlot","makeVTreeviewChildrenProps","fluid","Boolean","disabled","loadChildren","Function","loadingIcon","type","String","default","items","Array","openOnClick","undefined","indeterminateIcon","falseIcon","trueIcon","returnObject","activatable","selectable","selectedColor","selectStrategy","Object","index","Number","isLastGroup","separateRoots","parentIndentLines","indentLinesVariant","path","VTreeviewChildren","name","props","setup","_ref","slots","isLoading","Set","activatorItems","isClickOnOpen","checkChildren","item","length","children","add","value","raw","delete","selectItem","select","isSelected","map","itemProps","loading","has","nextItemHasChildren","at","depth","isLast","treeItemProps","isFirst","hideAction","hideActions","indentLines","leafLinks","variant","slotsWithItem","toggle","slotProps","internalItem","prepend","_createElementVNode","_Fragment","includes","_createVNode","density","isIndeterminate","v","e","stopPropagation","key","append","title","subtitle","treeviewGroupProps","filterProps","treeviewChildrenProps","footerProps","footer","_mergeProps","activator","_ref2","activatorProps","listItemProps","node","onToggleExpand","onClick","header","el","divider","subheader","leaf"],"sources":["../../../src/components/VTreeview/VTreeviewChildren.tsx"],"sourcesContent":["// Components\nimport { VTreeviewGroup } from './VTreeviewGroup'\nimport { makeVTreeviewItemProps, VTreeviewItem } from './VTreeviewItem'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VDivider } from '@/components/VDivider'\nimport { VListItemAction, VListSubheader } from '@/components/VList'\n\n// Composables\nimport { makeDensityProps } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed, reactive, ref, toRaw } from 'vue'\nimport { genericComponent, getIndentLines, pick, propsFactory, renderSlot } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VTreeviewItemSlots } from './VTreeviewItem'\nimport type { InternalListItem } from '@/components/VList/VList'\nimport type { SelectStrategyProp } from '@/composables/nested/nested'\nimport type { GenericProps, IndentLinesVariant, IndentLineType } from '@/util'\n\nexport type VTreeviewChildrenSlots<T> = {\n [K in keyof Omit<VTreeviewItemSlots, 'default'>]: VTreeviewItemSlots[K] & {\n item: T\n internalItem: InternalListItem<T>\n }\n} & {\n default: never\n item: {\n props: InternalListItem['props']\n item: T\n internalItem: InternalListItem<T>\n }\n header: {\n props: InternalListItem['props']\n item: T\n internalItem: InternalListItem<T>\n loading: boolean\n }\n footer: {\n props: { indentLines?: IndentLineType[] }\n item: T\n internalItem: InternalListItem<T>\n loading: boolean\n }\n divider: { props: InternalListItem['props'] }\n subheader: { props: InternalListItem['props'] }\n}\n\nexport const makeVTreeviewChildrenProps = propsFactory({\n fluid: Boolean,\n disabled: Boolean,\n loadChildren: Function as PropType<(item: unknown) => Promise<void>>,\n loadingIcon: {\n type: String,\n default: '$loading',\n },\n items: Array as PropType<readonly InternalListItem[]>,\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n indeterminateIcon: {\n type: IconValue,\n default: '$checkboxIndeterminate',\n },\n falseIcon: IconValue,\n trueIcon: IconValue,\n returnObject: Boolean,\n activatable: Boolean,\n selectable: Boolean,\n selectedColor: String,\n selectStrategy: [String, Function, Object] as PropType<SelectStrategyProp>,\n index: Number,\n isLastGroup: Boolean,\n separateRoots: Boolean,\n parentIndentLines: Array as PropType<IndentLineType[]>,\n indentLinesVariant: String as PropType<IndentLinesVariant>,\n path: {\n type: Array as PropType<number[]>,\n default: () => [],\n },\n ...pick(makeVTreeviewItemProps(), ['hideActions']),\n ...makeDensityProps(),\n}, 'VTreeviewChildren')\n\nexport const VTreeviewChildren = genericComponent<new <T extends InternalListItem>(\n props: {\n items?: readonly T[]\n },\n slots: VTreeviewChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VTreeviewChildren',\n\n props: makeVTreeviewChildrenProps(),\n\n setup (props, { slots }) {\n const isLoading = reactive(new Set<unknown>())\n const activatorItems = ref<VTreeviewItem[]>([])\n\n const isClickOnOpen = computed(() => (\n !props.disabled && (\n props.openOnClick != null\n ? props.openOnClick\n : props.selectable && !props.activatable\n )))\n\n async function checkChildren (item: InternalListItem) {\n try {\n if (!props.items?.length || !props.loadChildren) return\n\n if (item?.children?.length === 0) {\n isLoading.add(item.value)\n await props.loadChildren(item.raw)\n }\n } finally {\n isLoading.delete(item.value)\n }\n }\n\n function selectItem (select: (value: boolean) => void, isSelected: boolean) {\n if (props.selectable) {\n select(isSelected)\n }\n }\n\n return () => slots.default?.() ?? props.items?.map((item, index, items) => {\n const { children, props: itemProps } = item\n const loading = isLoading.has(item.value)\n const nextItemHasChildren = !!items.at(index + 1)?.children\n\n const depth = props.path?.length ?? 0\n const isLast = items.length - 1 === index\n const treeItemProps = {\n index,\n depth,\n isFirst: index === 0,\n isLast,\n path: [...props.path, index],\n hideAction: props.hideActions,\n }\n\n const indentLines = getIndentLines({\n depth,\n isLast,\n isLastGroup: props.isLastGroup,\n leafLinks: !props.hideActions && !props.fluid,\n separateRoots: props.separateRoots,\n parentIndentLines: props.parentIndentLines,\n variant: props.indentLinesVariant,\n })\n\n const slotsWithItem = {\n toggle: slots.toggle\n ? slotProps => slots.toggle?.({ ...slotProps, ...treeItemProps, item: item.raw, internalItem: item, loading })\n : undefined,\n prepend: slotProps => (\n <>\n { props.selectable && (!children || (children && !['leaf', 'single-leaf'].includes(props.selectStrategy as string))) && (\n <VListItemAction start>\n <VCheckboxBtn\n key={ item.value }\n modelValue={ slotProps.isSelected }\n disabled={ props.disabled || itemProps.disabled }\n loading={ loading }\n color={ props.selectedColor }\n density={ props.density }\n indeterminate={ slotProps.isIndeterminate }\n indeterminateIcon={ props.indeterminateIcon }\n falseIcon={ props.falseIcon }\n trueIcon={ props.trueIcon }\n onUpdate:modelValue={ v => selectItem(slotProps.select, v) }\n onClick={ (e: PointerEvent) => e.stopPropagation() }\n onKeydown={ (e: KeyboardEvent) => {\n if (!['Enter', 'Space'].includes(e.key)) return\n e.stopPropagation()\n selectItem(slotProps.select, slotProps.isSelected)\n }}\n />\n </VListItemAction>\n )}\n\n { slots.prepend?.({ ...slotProps, ...treeItemProps, item: item.raw, internalItem: item }) }\n </>\n ),\n append: slots.append\n ? slotProps => slots.append?.({ ...slotProps, ...treeItemProps, item: item.raw, internalItem: item })\n : undefined,\n title: slots.title ? slotProps => slots.title?.({ ...slotProps, item: item.raw, internalItem: item }) : undefined,\n subtitle: slots.subtitle ? slotProps => slots.subtitle?.({ ...slotProps, item: item.raw, internalItem: item }) : undefined,\n } satisfies VTreeviewItem['$props']['$children']\n\n const treeviewGroupProps = VTreeviewGroup.filterProps(itemProps)\n const treeviewChildrenProps = VTreeviewChildren.filterProps({ ...props, ...treeItemProps })\n\n const footerProps = {\n hideActions: props.hideActions,\n indentLines: indentLines.footer,\n }\n\n return children ? (\n <VTreeviewGroup\n { ...treeviewGroupProps }\n value={ props.returnObject ? item.raw : treeviewGroupProps?.value }\n rawId={ treeviewGroupProps?.value }\n >\n {{\n activator: ({ props: activatorProps }) => {\n const listItemProps = {\n ...itemProps,\n ...activatorProps,\n value: itemProps?.value,\n hideActions: props.hideActions,\n indentLines: indentLines.node,\n onToggleExpand: [() => checkChildren(item), activatorProps.onClick] as any,\n onClick: props.disabled || itemProps.disabled\n ? undefined\n : isClickOnOpen.value\n ? [() => checkChildren(item), activatorProps.onClick] as any\n : () => selectItem(activatorItems.value[index]?.select, !activatorItems.value[index]?.isSelected),\n }\n\n return renderSlot(\n slots.header,\n { props: listItemProps, item: item.raw, internalItem: item, loading },\n () => (\n <VTreeviewItem\n ref={ el => activatorItems.value[index] = el as VTreeviewItem }\n { ...listItemProps }\n hasCustomPrepend={ !!slots.prepend }\n value={ props.returnObject ? item.raw : itemProps.value }\n loading={ loading }\n v-slots={ slotsWithItem }\n />\n )\n )\n },\n default: () => (\n <>\n <VTreeviewChildren\n { ...treeviewChildrenProps }\n items={ children }\n indentLinesVariant={ props.indentLinesVariant }\n parentIndentLines={ indentLines.children }\n isLastGroup={ nextItemHasChildren }\n returnObject={ props.returnObject }\n v-slots={ slots }\n />\n { slots.footer?.({ props: footerProps, item: item.raw, internalItem: item, loading }) }\n </>\n ),\n }}\n </VTreeviewGroup>\n ) : renderSlot(\n slots.item,\n { props: itemProps, item: item.raw, internalItem: item },\n () => {\n if (item.type === 'divider') {\n return renderSlot(\n slots.divider,\n { props: item.raw },\n () => <VDivider { ...item.props } />,\n )\n }\n if (item.type === 'subheader') {\n return renderSlot(\n slots.subheader,\n { props: item.raw },\n () => <VListSubheader { ...item.props } />,\n )\n }\n return (\n <VTreeviewItem\n { ...itemProps }\n hasCustomPrepend={ !!slots.prepend }\n hideActions={ props.hideActions }\n indentLines={ indentLines.leaf }\n value={ props.returnObject ? toRaw(item.raw) : itemProps.value }\n v-slots={ slotsWithItem }\n />\n )\n })\n })\n },\n})\n"],"mappings":"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","ignoreList":[]}
@@ -675,6 +675,7 @@ export declare const VTreeviewItem: {
675
675
  itemsRegistration: import("vue").Ref<import("../../composables/nested/nested.js").ItemsRegistrationType, import("../../composables/nested/nested.js").ItemsRegistrationType>;
676
676
  register: (id: unknown, parentId: unknown, isDisabled: boolean, isGroup?: boolean | undefined) => void;
677
677
  unregister: (id: unknown) => void;
678
+ updateDisabled: (id: unknown, isDisabled: boolean) => void;
678
679
  open: (id: unknown, value: boolean, event?: Event | undefined) => void;
679
680
  activate: (id: unknown, value: boolean, event?: Event | undefined) => void;
680
681
  select: (id: unknown, value: boolean, event?: Event | undefined) => void;
@@ -862,6 +863,7 @@ export declare const VTreeviewItem: {
862
863
  itemsRegistration: import("vue").Ref<import("../../composables/nested/nested.js").ItemsRegistrationType, import("../../composables/nested/nested.js").ItemsRegistrationType>;
863
864
  register: (id: unknown, parentId: unknown, isDisabled: boolean, isGroup?: boolean | undefined) => void;
864
865
  unregister: (id: unknown) => void;
866
+ updateDisabled: (id: unknown, isDisabled: boolean) => void;
865
867
  open: (id: unknown, value: boolean, event?: Event | undefined) => void;
866
868
  activate: (id: unknown, value: boolean, event?: Event | undefined) => void;
867
869
  select: (id: unknown, value: boolean, event?: Event | undefined) => void;
@@ -899,6 +901,7 @@ export declare const VTreeviewItem: {
899
901
  itemsRegistration: import("vue").Ref<import("../../composables/nested/nested.js").ItemsRegistrationType, import("../../composables/nested/nested.js").ItemsRegistrationType>;
900
902
  register: (id: unknown, parentId: unknown, isDisabled: boolean, isGroup?: boolean | undefined) => void;
901
903
  unregister: (id: unknown) => void;
904
+ updateDisabled: (id: unknown, isDisabled: boolean) => void;
902
905
  open: (id: unknown, value: boolean, event?: Event | undefined) => void;
903
906
  activate: (id: unknown, value: boolean, event?: Event | undefined) => void;
904
907
  select: (id: unknown, value: boolean, event?: Event | undefined) => void;
@@ -1285,6 +1288,7 @@ export declare const VTreeviewItem: {
1285
1288
  itemsRegistration: import("vue").Ref<import("../../composables/nested/nested.js").ItemsRegistrationType, import("../../composables/nested/nested.js").ItemsRegistrationType>;
1286
1289
  register: (id: unknown, parentId: unknown, isDisabled: boolean, isGroup?: boolean | undefined) => void;
1287
1290
  unregister: (id: unknown) => void;
1291
+ updateDisabled: (id: unknown, isDisabled: boolean) => void;
1288
1292
  open: (id: unknown, value: boolean, event?: Event | undefined) => void;
1289
1293
  activate: (id: unknown, value: boolean, event?: Event | undefined) => void;
1290
1294
  select: (id: unknown, value: boolean, event?: Event | undefined) => void;
@@ -1472,6 +1476,7 @@ export declare const VTreeviewItem: {
1472
1476
  itemsRegistration: import("vue").Ref<import("../../composables/nested/nested.js").ItemsRegistrationType, import("../../composables/nested/nested.js").ItemsRegistrationType>;
1473
1477
  register: (id: unknown, parentId: unknown, isDisabled: boolean, isGroup?: boolean | undefined) => void;
1474
1478
  unregister: (id: unknown) => void;
1479
+ updateDisabled: (id: unknown, isDisabled: boolean) => void;
1475
1480
  open: (id: unknown, value: boolean, event?: Event | undefined) => void;
1476
1481
  activate: (id: unknown, value: boolean, event?: Event | undefined) => void;
1477
1482
  select: (id: unknown, value: boolean, event?: Event | undefined) => void;
@@ -1509,6 +1514,7 @@ export declare const VTreeviewItem: {
1509
1514
  itemsRegistration: import("vue").Ref<import("../../composables/nested/nested.js").ItemsRegistrationType, import("../../composables/nested/nested.js").ItemsRegistrationType>;
1510
1515
  register: (id: unknown, parentId: unknown, isDisabled: boolean, isGroup?: boolean | undefined) => void;
1511
1516
  unregister: (id: unknown) => void;
1517
+ updateDisabled: (id: unknown, isDisabled: boolean) => void;
1512
1518
  open: (id: unknown, value: boolean, event?: Event | undefined) => void;
1513
1519
  activate: (id: unknown, value: boolean, event?: Event | undefined) => void;
1514
1520
  select: (id: unknown, value: boolean, event?: Event | undefined) => void;
@@ -1865,6 +1871,7 @@ export declare const VTreeviewItem: {
1865
1871
  itemsRegistration: import("vue").Ref<import("../../composables/nested/nested.js").ItemsRegistrationType, import("../../composables/nested/nested.js").ItemsRegistrationType>;
1866
1872
  register: (id: unknown, parentId: unknown, isDisabled: boolean, isGroup?: boolean | undefined) => void;
1867
1873
  unregister: (id: unknown) => void;
1874
+ updateDisabled: (id: unknown, isDisabled: boolean) => void;
1868
1875
  open: (id: unknown, value: boolean, event?: Event | undefined) => void;
1869
1876
  activate: (id: unknown, value: boolean, event?: Event | undefined) => void;
1870
1877
  select: (id: unknown, value: boolean, event?: Event | undefined) => void;
@@ -2052,6 +2059,7 @@ export declare const VTreeviewItem: {
2052
2059
  itemsRegistration: import("vue").Ref<import("../../composables/nested/nested.js").ItemsRegistrationType, import("../../composables/nested/nested.js").ItemsRegistrationType>;
2053
2060
  register: (id: unknown, parentId: unknown, isDisabled: boolean, isGroup?: boolean | undefined) => void;
2054
2061
  unregister: (id: unknown) => void;
2062
+ updateDisabled: (id: unknown, isDisabled: boolean) => void;
2055
2063
  open: (id: unknown, value: boolean, event?: Event | undefined) => void;
2056
2064
  activate: (id: unknown, value: boolean, event?: Event | undefined) => void;
2057
2065
  select: (id: unknown, value: boolean, event?: Event | undefined) => void;
@@ -2089,6 +2097,7 @@ export declare const VTreeviewItem: {
2089
2097
  itemsRegistration: import("vue").Ref<import("../../composables/nested/nested.js").ItemsRegistrationType, import("../../composables/nested/nested.js").ItemsRegistrationType>;
2090
2098
  register: (id: unknown, parentId: unknown, isDisabled: boolean, isGroup?: boolean | undefined) => void;
2091
2099
  unregister: (id: unknown) => void;
2100
+ updateDisabled: (id: unknown, isDisabled: boolean) => void;
2092
2101
  open: (id: unknown, value: boolean, event?: Event | undefined) => void;
2093
2102
  activate: (id: unknown, value: boolean, event?: Event | undefined) => void;
2094
2103
  select: (id: unknown, value: boolean, event?: Event | undefined) => void;
@@ -41,6 +41,7 @@ type NestedProvide = {
41
41
  itemsRegistration: Ref<ItemsRegistrationType>;
42
42
  register: (id: unknown, parentId: unknown, isDisabled: boolean, isGroup?: boolean) => void;
43
43
  unregister: (id: unknown) => void;
44
+ updateDisabled: (id: unknown, isDisabled: boolean) => void;
44
45
  open: (id: unknown, value: boolean, event?: Event) => void;
45
46
  activate: (id: unknown, value: boolean, event?: Event) => void;
46
47
  select: (id: unknown, value: boolean, event?: Event) => void;
@@ -127,6 +128,7 @@ export declare const useNested: (props: NestedProps, { items, returnObject, scro
127
128
  itemsRegistration: Ref<ItemsRegistrationType, ItemsRegistrationType>;
128
129
  register: (id: unknown, parentId: unknown, isDisabled: boolean, isGroup?: boolean | undefined) => void;
129
130
  unregister: (id: unknown) => void;
131
+ updateDisabled: (id: unknown, isDisabled: boolean) => void;
130
132
  open: (id: unknown, value: boolean, event?: Event | undefined) => void;
131
133
  activate: (id: unknown, value: boolean, event?: Event | undefined) => void;
132
134
  select: (id: unknown, value: boolean, event?: Event | undefined) => void;
@@ -148,6 +150,7 @@ export declare const useNestedItem: (id: unknown, isDisabled: MaybeRefOrGetter<b
148
150
  itemsRegistration: Ref<ItemsRegistrationType, ItemsRegistrationType>;
149
151
  register: (id: unknown, parentId: unknown, isDisabled: boolean, isGroup?: boolean | undefined) => void;
150
152
  unregister: (id: unknown) => void;
153
+ updateDisabled: (id: unknown, isDisabled: boolean) => void;
151
154
  open: (id: unknown, value: boolean, event?: Event | undefined) => void;
152
155
  activate: (id: unknown, value: boolean, event?: Event | undefined) => void;
153
156
  select: (id: unknown, value: boolean, event?: Event | undefined) => void;
@@ -12,6 +12,7 @@ export const emptyNested = {
12
12
  itemsRegistration: ref('render'),
13
13
  register: () => null,
14
14
  unregister: () => null,
15
+ updateDisabled: () => null,
15
16
  children: ref(new Map()),
16
17
  parents: ref(new Map()),
17
18
  disabled: ref(new Set()),
@@ -207,6 +208,19 @@ export const useNested = (props, _ref) => {
207
208
  parents.value.delete(id);
208
209
  itemsUpdatePropagation();
209
210
  },
211
+ updateDisabled: (id, isDisabled) => {
212
+ if (isDisabled) {
213
+ disabled.value.add(id);
214
+ } else {
215
+ disabled.value.delete(id);
216
+ }
217
+ // classic selection requires refresh to re-evaluate on/off/indeterminate but
218
+ // currently it is only run for selection interactions, so it will set new disabled
219
+ // to "off" and the visual state becomes out of sync
220
+ // -- selected.value = new Map(selected.value)
221
+ // it is not clear if the framework should un-select when disabled changed to true
222
+ // more discussion is needed
223
+ },
210
224
  open: (id, value, event) => {
211
225
  vm.emit('click:open', {
212
226
  id,
@@ -339,6 +353,9 @@ export const useNestedItem = (id, isDisabled, isGroup) => {
339
353
  parent.root.register(val, parent.id.value, toValue(isDisabled), isGroup);
340
354
  });
341
355
  });
356
+ watch(() => toValue(isDisabled), val => {
357
+ parent.root.updateDisabled(computedId.value, val);
358
+ });
342
359
  isGroup && provide(VNestedSymbol, item);
343
360
  return item;
344
361
  };
@@ -1 +1 @@
1
- {"version":3,"file":"nested.js","names":["useProxiedModel","computed","inject","nextTick","onBeforeMount","onBeforeUnmount","provide","ref","shallowRef","toRaw","toRef","toValue","watch","independentActiveStrategy","independentSingleActiveStrategy","leafActiveStrategy","leafSingleActiveStrategy","listOpenStrategy","multipleOpenStrategy","singleOpenStrategy","branchSelectStrategy","classicSelectStrategy","independentSelectStrategy","independentSingleSelectStrategy","leafSelectStrategy","leafSingleSelectStrategy","trunkSelectStrategy","consoleError","getCurrentInstance","propsFactory","throttle","VNestedSymbol","Symbol","for","emptyNested","id","root","itemsRegistration","register","unregister","children","Map","parents","disabled","Set","open","openOnSelect","activate","select","activatable","scrollToActive","selectable","opened","activated","selected","selectedValues","getPath","makeNestedProps","Boolean","activeStrategy","String","Function","Object","selectStrategy","openStrategy","mandatory","type","default","useNested","props","_ref","items","returnObject","isUnmounted","v","Array","isArray","map","i","values","value","in","out","path","parent","undefined","unshift","get","vm","nodeIds","itemsUpdatePropagation","updateInternalMaps","immediate","_parents","_children","_disabled","getValue","item","raw","stack","length","itemValue","childValues","child","childValue","set","push","add","nested","arr","key","entries","parentId","isDisabled","isGroup","has","join","newPath","concat","delete","list","filter","event","emit","newOpened","newSelected","newActivated","size","useNestedItem","uidSymbol","computedId","idValue","e","isOpen","isActivated","isSelected","isIndeterminate","isLeaf","isGroupActivator","val","oldVal","useNestedGroupActivator"],"sources":["../../../src/composables/nested/nested.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport {\n computed,\n inject,\n nextTick,\n onBeforeMount,\n onBeforeUnmount,\n provide,\n ref,\n shallowRef,\n toRaw,\n toRef,\n toValue,\n watch,\n} from 'vue'\nimport {\n independentActiveStrategy,\n independentSingleActiveStrategy,\n leafActiveStrategy,\n leafSingleActiveStrategy,\n} from './activeStrategies'\nimport { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from './openStrategies'\nimport {\n branchSelectStrategy,\n classicSelectStrategy,\n independentSelectStrategy,\n independentSingleSelectStrategy,\n leafSelectStrategy,\n leafSingleSelectStrategy,\n trunkSelectStrategy,\n} from './selectStrategies'\nimport { consoleError, getCurrentInstance, propsFactory, throttle } from '@/util'\n\n// Types\nimport type { InjectionKey, MaybeRefOrGetter, PropType, Ref } from 'vue'\nimport type { ActiveStrategy } from './activeStrategies'\nimport type { OpenStrategy } from './openStrategies'\nimport type { SelectStrategy } from './selectStrategies'\nimport type { ListItem } from '@/composables/list-items'\nimport type { EventProp } from '@/util'\n\nexport type ActiveStrategyProp =\n | 'single-leaf'\n | 'leaf'\n | 'independent'\n | 'single-independent'\n | ActiveStrategy\n | ((mandatory: boolean) => ActiveStrategy)\nexport type SelectStrategyProp =\n | 'single-leaf'\n | 'leaf'\n | 'independent'\n | 'single-independent'\n | 'classic'\n | 'trunk'\n | 'branch'\n | SelectStrategy\n | ((mandatory: boolean) => SelectStrategy)\nexport type OpenStrategyProp = 'single' | 'multiple' | 'list' | OpenStrategy\nexport type ItemsRegistrationType = 'props' | 'render'\n\nexport interface NestedProps {\n activatable: boolean\n selectable: boolean\n activeStrategy: ActiveStrategyProp | undefined\n selectStrategy: SelectStrategyProp | undefined\n openStrategy: OpenStrategyProp | undefined\n activated: any\n selected: any\n opened: any\n mandatory: boolean\n itemsRegistration: ItemsRegistrationType\n 'onUpdate:activated': EventProp<[any]> | undefined\n 'onUpdate:selected': EventProp<[any]> | undefined\n 'onUpdate:opened': EventProp<[any]> | undefined\n}\n\ntype NestedProvide = {\n id: Ref<unknown>\n isGroupActivator?: boolean\n root: {\n children: Ref<Map<unknown, unknown[]>>\n parents: Ref<Map<unknown, unknown>>\n disabled: Ref<Set<unknown>>\n activatable: Ref<boolean>\n selectable: Ref<boolean>\n opened: Ref<Set<unknown>>\n activated: Ref<Set<unknown>>\n scrollToActive: Ref<boolean>\n selected: Ref<Map<unknown, 'on' | 'off' | 'indeterminate'>>\n selectedValues: Ref<unknown[]>\n itemsRegistration: Ref<ItemsRegistrationType>\n register: (id: unknown, parentId: unknown, isDisabled: boolean, isGroup?: boolean) => void\n unregister: (id: unknown) => void\n open: (id: unknown, value: boolean, event?: Event) => void\n activate: (id: unknown, value: boolean, event?: Event) => void\n select: (id: unknown, value: boolean, event?: Event) => void\n openOnSelect: (id: unknown, value: boolean, event?: Event) => void\n getPath: (id: unknown) => unknown[]\n }\n}\n\nexport const VNestedSymbol: InjectionKey<NestedProvide> = Symbol.for('vuetify:nested')\n\nexport const emptyNested: NestedProvide = {\n id: shallowRef(),\n root: {\n itemsRegistration: ref('render'),\n register: () => null,\n unregister: () => null,\n children: ref(new Map()),\n parents: ref(new Map()),\n disabled: ref(new Set()),\n open: () => null,\n openOnSelect: () => null,\n activate: () => null,\n select: () => null,\n activatable: ref(false),\n scrollToActive: ref(false),\n selectable: ref(false),\n opened: ref(new Set()),\n activated: ref(new Set()),\n selected: ref(new Map()),\n selectedValues: ref([]),\n getPath: () => [],\n },\n}\n\nexport const makeNestedProps = propsFactory({\n activatable: Boolean,\n selectable: Boolean,\n activeStrategy: [String, Function, Object] as PropType<ActiveStrategyProp>,\n selectStrategy: [String, Function, Object] as PropType<SelectStrategyProp>,\n openStrategy: [String, Object] as PropType<OpenStrategyProp>,\n opened: null,\n activated: null,\n selected: null,\n mandatory: Boolean,\n itemsRegistration: {\n type: String as PropType<ItemsRegistrationType>,\n default: 'render',\n },\n}, 'nested')\n\nexport const useNested = (\n props: NestedProps,\n {\n items,\n returnObject,\n scrollToActive,\n }: {\n items: Ref<ListItem[]>\n returnObject: MaybeRefOrGetter<boolean>\n scrollToActive: MaybeRefOrGetter<boolean>\n },\n) => {\n let isUnmounted = false\n const children = shallowRef(new Map<unknown, unknown[]>())\n const parents = shallowRef(new Map<unknown, unknown>())\n const disabled = shallowRef(new Set<unknown>())\n\n const opened = useProxiedModel(\n props,\n 'opened',\n props.opened,\n v => new Set(Array.isArray(v) ? v.map(i => toRaw(i)) : v),\n v => [...v.values()],\n )\n\n const activeStrategy = computed(() => {\n if (typeof props.activeStrategy === 'object') return props.activeStrategy\n if (typeof props.activeStrategy === 'function') return props.activeStrategy(props.mandatory)\n\n switch (props.activeStrategy) {\n case 'leaf': return leafActiveStrategy(props.mandatory)\n case 'single-leaf': return leafSingleActiveStrategy(props.mandatory)\n case 'independent': return independentActiveStrategy(props.mandatory)\n case 'single-independent':\n default: return independentSingleActiveStrategy(props.mandatory)\n }\n })\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy\n if (typeof props.selectStrategy === 'function') return props.selectStrategy(props.mandatory)\n\n switch (props.selectStrategy) {\n case 'single-leaf': return leafSingleSelectStrategy(props.mandatory)\n case 'leaf': return leafSelectStrategy(props.mandatory)\n case 'independent': return independentSelectStrategy(props.mandatory)\n case 'single-independent': return independentSingleSelectStrategy(props.mandatory)\n case 'trunk': return trunkSelectStrategy(props.mandatory)\n case 'branch': return branchSelectStrategy(props.mandatory)\n case 'classic':\n default: return classicSelectStrategy(props.mandatory)\n }\n })\n\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === 'object') return props.openStrategy\n\n switch (props.openStrategy) {\n case 'list': return listOpenStrategy\n case 'single': return singleOpenStrategy\n case 'multiple':\n default: return multipleOpenStrategy\n }\n })\n\n const activated = useProxiedModel(\n props,\n 'activated',\n props.activated,\n v => activeStrategy.value.in(v, children.value, parents.value),\n v => activeStrategy.value.out(v, children.value, parents.value),\n )\n const selected = useProxiedModel(\n props,\n 'selected',\n props.selected,\n v => selectStrategy.value.in(v, children.value, parents.value, disabled.value),\n v => selectStrategy.value.out(v, children.value, parents.value),\n )\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n function getPath (id: unknown) {\n const path: unknown[] = []\n let parent: unknown = toRaw(id)\n\n while (parent !== undefined) {\n path.unshift(parent)\n parent = parents.value.get(parent)\n }\n\n return path\n }\n\n const vm = getCurrentInstance('nested')\n\n const nodeIds = new Set<unknown>()\n\n const itemsUpdatePropagation = throttle(() => {\n nextTick(() => {\n children.value = new Map(children.value)\n parents.value = new Map(parents.value)\n })\n }, 100)\n\n watch(() => [items.value, toValue(returnObject)], () => {\n if (props.itemsRegistration === 'props') {\n updateInternalMaps()\n }\n }, { immediate: true })\n\n function updateInternalMaps () {\n const _parents = new Map()\n const _children = new Map()\n const _disabled = new Set()\n\n const getValue = toValue(returnObject)\n ? (item: ListItem) => toRaw(item.raw)\n : (item: ListItem) => item.value\n\n const stack = [...items.value]\n let i = 0\n while (i < stack.length) {\n const item = stack[i++]\n const itemValue = getValue(item)\n\n if (item.children) {\n const childValues = []\n for (const child of item.children) {\n const childValue = getValue(child)\n _parents.set(childValue, itemValue)\n childValues.push(childValue)\n stack.push(child)\n }\n _children.set(itemValue, childValues)\n }\n\n if (item.props.disabled) {\n _disabled.add(itemValue)\n }\n }\n\n children.value = _children\n parents.value = _parents\n disabled.value = _disabled\n }\n\n const nested: NestedProvide = {\n id: shallowRef(),\n root: {\n opened,\n activatable: toRef(() => props.activatable),\n scrollToActive: toRef(() => toValue(scrollToActive)),\n selectable: toRef(() => props.selectable),\n activated,\n selected,\n selectedValues: computed(() => {\n const arr = []\n\n for (const [key, value] of selected.value.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n }),\n itemsRegistration: toRef(() => props.itemsRegistration),\n register: (id, parentId, isDisabled, isGroup) => {\n if (nodeIds.has(id)) {\n const path = getPath(id).map(String).join(' -> ')\n const newPath = getPath(parentId).concat(id).map(String).join(' -> ')\n consoleError(`Multiple nodes with the same ID\\n\\t${path}\\n\\t${newPath}`)\n return\n } else {\n nodeIds.add(id)\n }\n\n parentId && id !== parentId && parents.value.set(id, parentId)\n\n isDisabled && disabled.value.add(id)\n isGroup && children.value.set(id, [])\n\n if (parentId != null) {\n children.value.set(parentId, [...children.value.get(parentId) || [], id])\n }\n itemsUpdatePropagation()\n },\n unregister: id => {\n if (isUnmounted) return\n\n nodeIds.delete(id)\n children.value.delete(id)\n disabled.value.delete(id)\n const parent = parents.value.get(id)\n if (parent) {\n const list = children.value.get(parent) ?? []\n children.value.set(parent, list.filter(child => child !== id))\n }\n parents.value.delete(id)\n itemsUpdatePropagation()\n },\n open: (id, value, event) => {\n vm.emit('click:open', { id, value, path: getPath(id), event })\n\n const newOpened = openStrategy.value.open({\n id,\n value,\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newOpened && (opened.value = newOpened)\n },\n openOnSelect: (id, value, event) => {\n const newOpened = openStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newOpened && (opened.value = newOpened)\n },\n select: (id, value, event) => {\n vm.emit('click:select', { id, value, path: getPath(id), event })\n\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n disabled: disabled.value,\n event,\n })\n newSelected && (selected.value = newSelected)\n\n nested.root.openOnSelect(id, value, event)\n },\n activate: (id, value, event) => {\n if (!props.activatable) {\n return nested.root.select(id, true, event)\n }\n\n vm.emit('click:activate', { id, value, path: getPath(id), event })\n\n const newActivated = activeStrategy.value.activate({\n id,\n value,\n activated: new Set(activated.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n if (newActivated.size !== activated.value.size) {\n activated.value = newActivated\n } else {\n for (const value of newActivated) {\n if (!activated.value.has(value)) {\n activated.value = newActivated\n return\n }\n }\n for (const value of activated.value) {\n if (!newActivated.has(value)) {\n activated.value = newActivated\n return\n }\n }\n }\n },\n children,\n parents,\n disabled,\n getPath,\n },\n }\n\n provide(VNestedSymbol, nested)\n\n return nested.root\n}\n\nexport const useNestedItem = (id: MaybeRefOrGetter<unknown>, isDisabled: MaybeRefOrGetter<boolean>, isGroup: boolean) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const uidSymbol = Symbol('nested item')\n const computedId = computed(() => {\n const idValue = toRaw(toValue(id))\n return idValue !== undefined ? idValue : uidSymbol\n })\n\n const item = {\n ...parent,\n id: computedId,\n open: (open: boolean, e: Event) => parent.root.open(computedId.value, open, e),\n openOnSelect: (open: boolean, e?: Event) => parent.root.openOnSelect(computedId.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(computedId.value)),\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n activate: (activated: boolean, e?: Event) => parent.root.activate(computedId.value, activated, e),\n isActivated: computed(() => parent.root.activated.value.has(computedId.value)),\n scrollToActive: parent.root.scrollToActive,\n select: (selected: boolean, e?: Event) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(computedId.value) === 'on'),\n isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),\n isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),\n isGroupActivator: parent.isGroupActivator,\n }\n\n onBeforeMount(() => {\n if (parent.isGroupActivator || parent.root.itemsRegistration.value === 'props') return\n nextTick(() => {\n parent.root.register(computedId.value, parent.id.value, toValue(isDisabled), isGroup)\n })\n })\n\n onBeforeUnmount(() => {\n if (parent.isGroupActivator || parent.root.itemsRegistration.value === 'props') return\n parent.root.unregister(computedId.value)\n })\n\n watch(computedId, (val, oldVal) => {\n if (parent.isGroupActivator || parent.root.itemsRegistration.value === 'props') return\n parent.root.unregister(oldVal)\n nextTick(() => {\n parent.root.register(val, parent.id.value, toValue(isDisabled), isGroup)\n })\n })\n\n isGroup && provide(VNestedSymbol, item)\n\n return item\n}\n\nexport const useNestedGroupActivator = () => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n provide(VNestedSymbol, { ...parent, isGroupActivator: true })\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"nested.js","names":["useProxiedModel","computed","inject","nextTick","onBeforeMount","onBeforeUnmount","provide","ref","shallowRef","toRaw","toRef","toValue","watch","independentActiveStrategy","independentSingleActiveStrategy","leafActiveStrategy","leafSingleActiveStrategy","listOpenStrategy","multipleOpenStrategy","singleOpenStrategy","branchSelectStrategy","classicSelectStrategy","independentSelectStrategy","independentSingleSelectStrategy","leafSelectStrategy","leafSingleSelectStrategy","trunkSelectStrategy","consoleError","getCurrentInstance","propsFactory","throttle","VNestedSymbol","Symbol","for","emptyNested","id","root","itemsRegistration","register","unregister","updateDisabled","children","Map","parents","disabled","Set","open","openOnSelect","activate","select","activatable","scrollToActive","selectable","opened","activated","selected","selectedValues","getPath","makeNestedProps","Boolean","activeStrategy","String","Function","Object","selectStrategy","openStrategy","mandatory","type","default","useNested","props","_ref","items","returnObject","isUnmounted","v","Array","isArray","map","i","values","value","in","out","path","parent","undefined","unshift","get","vm","nodeIds","itemsUpdatePropagation","updateInternalMaps","immediate","_parents","_children","_disabled","getValue","item","raw","stack","length","itemValue","childValues","child","childValue","set","push","add","nested","arr","key","entries","parentId","isDisabled","isGroup","has","join","newPath","concat","delete","list","filter","event","emit","newOpened","newSelected","newActivated","size","useNestedItem","uidSymbol","computedId","idValue","e","isOpen","isActivated","isSelected","isIndeterminate","isLeaf","isGroupActivator","val","oldVal","useNestedGroupActivator"],"sources":["../../../src/composables/nested/nested.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport {\n computed,\n inject,\n nextTick,\n onBeforeMount,\n onBeforeUnmount,\n provide,\n ref,\n shallowRef,\n toRaw,\n toRef,\n toValue,\n watch,\n} from 'vue'\nimport {\n independentActiveStrategy,\n independentSingleActiveStrategy,\n leafActiveStrategy,\n leafSingleActiveStrategy,\n} from './activeStrategies'\nimport { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from './openStrategies'\nimport {\n branchSelectStrategy,\n classicSelectStrategy,\n independentSelectStrategy,\n independentSingleSelectStrategy,\n leafSelectStrategy,\n leafSingleSelectStrategy,\n trunkSelectStrategy,\n} from './selectStrategies'\nimport { consoleError, getCurrentInstance, propsFactory, throttle } from '@/util'\n\n// Types\nimport type { InjectionKey, MaybeRefOrGetter, PropType, Ref } from 'vue'\nimport type { ActiveStrategy } from './activeStrategies'\nimport type { OpenStrategy } from './openStrategies'\nimport type { SelectStrategy } from './selectStrategies'\nimport type { ListItem } from '@/composables/list-items'\nimport type { EventProp } from '@/util'\n\nexport type ActiveStrategyProp =\n | 'single-leaf'\n | 'leaf'\n | 'independent'\n | 'single-independent'\n | ActiveStrategy\n | ((mandatory: boolean) => ActiveStrategy)\nexport type SelectStrategyProp =\n | 'single-leaf'\n | 'leaf'\n | 'independent'\n | 'single-independent'\n | 'classic'\n | 'trunk'\n | 'branch'\n | SelectStrategy\n | ((mandatory: boolean) => SelectStrategy)\nexport type OpenStrategyProp = 'single' | 'multiple' | 'list' | OpenStrategy\nexport type ItemsRegistrationType = 'props' | 'render'\n\nexport interface NestedProps {\n activatable: boolean\n selectable: boolean\n activeStrategy: ActiveStrategyProp | undefined\n selectStrategy: SelectStrategyProp | undefined\n openStrategy: OpenStrategyProp | undefined\n activated: any\n selected: any\n opened: any\n mandatory: boolean\n itemsRegistration: ItemsRegistrationType\n 'onUpdate:activated': EventProp<[any]> | undefined\n 'onUpdate:selected': EventProp<[any]> | undefined\n 'onUpdate:opened': EventProp<[any]> | undefined\n}\n\ntype NestedProvide = {\n id: Ref<unknown>\n isGroupActivator?: boolean\n root: {\n children: Ref<Map<unknown, unknown[]>>\n parents: Ref<Map<unknown, unknown>>\n disabled: Ref<Set<unknown>>\n activatable: Ref<boolean>\n selectable: Ref<boolean>\n opened: Ref<Set<unknown>>\n activated: Ref<Set<unknown>>\n scrollToActive: Ref<boolean>\n selected: Ref<Map<unknown, 'on' | 'off' | 'indeterminate'>>\n selectedValues: Ref<unknown[]>\n itemsRegistration: Ref<ItemsRegistrationType>\n register: (id: unknown, parentId: unknown, isDisabled: boolean, isGroup?: boolean) => void\n unregister: (id: unknown) => void\n updateDisabled: (id: unknown, isDisabled: boolean) => void\n open: (id: unknown, value: boolean, event?: Event) => void\n activate: (id: unknown, value: boolean, event?: Event) => void\n select: (id: unknown, value: boolean, event?: Event) => void\n openOnSelect: (id: unknown, value: boolean, event?: Event) => void\n getPath: (id: unknown) => unknown[]\n }\n}\n\nexport const VNestedSymbol: InjectionKey<NestedProvide> = Symbol.for('vuetify:nested')\n\nexport const emptyNested: NestedProvide = {\n id: shallowRef(),\n root: {\n itemsRegistration: ref('render'),\n register: () => null,\n unregister: () => null,\n updateDisabled: () => null,\n children: ref(new Map()),\n parents: ref(new Map()),\n disabled: ref(new Set()),\n open: () => null,\n openOnSelect: () => null,\n activate: () => null,\n select: () => null,\n activatable: ref(false),\n scrollToActive: ref(false),\n selectable: ref(false),\n opened: ref(new Set()),\n activated: ref(new Set()),\n selected: ref(new Map()),\n selectedValues: ref([]),\n getPath: () => [],\n },\n}\n\nexport const makeNestedProps = propsFactory({\n activatable: Boolean,\n selectable: Boolean,\n activeStrategy: [String, Function, Object] as PropType<ActiveStrategyProp>,\n selectStrategy: [String, Function, Object] as PropType<SelectStrategyProp>,\n openStrategy: [String, Object] as PropType<OpenStrategyProp>,\n opened: null,\n activated: null,\n selected: null,\n mandatory: Boolean,\n itemsRegistration: {\n type: String as PropType<ItemsRegistrationType>,\n default: 'render',\n },\n}, 'nested')\n\nexport const useNested = (\n props: NestedProps,\n {\n items,\n returnObject,\n scrollToActive,\n }: {\n items: Ref<ListItem[]>\n returnObject: MaybeRefOrGetter<boolean>\n scrollToActive: MaybeRefOrGetter<boolean>\n },\n) => {\n let isUnmounted = false\n const children = shallowRef(new Map<unknown, unknown[]>())\n const parents = shallowRef(new Map<unknown, unknown>())\n const disabled = shallowRef(new Set<unknown>())\n\n const opened = useProxiedModel(\n props,\n 'opened',\n props.opened,\n v => new Set(Array.isArray(v) ? v.map(i => toRaw(i)) : v),\n v => [...v.values()],\n )\n\n const activeStrategy = computed(() => {\n if (typeof props.activeStrategy === 'object') return props.activeStrategy\n if (typeof props.activeStrategy === 'function') return props.activeStrategy(props.mandatory)\n\n switch (props.activeStrategy) {\n case 'leaf': return leafActiveStrategy(props.mandatory)\n case 'single-leaf': return leafSingleActiveStrategy(props.mandatory)\n case 'independent': return independentActiveStrategy(props.mandatory)\n case 'single-independent':\n default: return independentSingleActiveStrategy(props.mandatory)\n }\n })\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy\n if (typeof props.selectStrategy === 'function') return props.selectStrategy(props.mandatory)\n\n switch (props.selectStrategy) {\n case 'single-leaf': return leafSingleSelectStrategy(props.mandatory)\n case 'leaf': return leafSelectStrategy(props.mandatory)\n case 'independent': return independentSelectStrategy(props.mandatory)\n case 'single-independent': return independentSingleSelectStrategy(props.mandatory)\n case 'trunk': return trunkSelectStrategy(props.mandatory)\n case 'branch': return branchSelectStrategy(props.mandatory)\n case 'classic':\n default: return classicSelectStrategy(props.mandatory)\n }\n })\n\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === 'object') return props.openStrategy\n\n switch (props.openStrategy) {\n case 'list': return listOpenStrategy\n case 'single': return singleOpenStrategy\n case 'multiple':\n default: return multipleOpenStrategy\n }\n })\n\n const activated = useProxiedModel(\n props,\n 'activated',\n props.activated,\n v => activeStrategy.value.in(v, children.value, parents.value),\n v => activeStrategy.value.out(v, children.value, parents.value),\n )\n const selected = useProxiedModel(\n props,\n 'selected',\n props.selected,\n v => selectStrategy.value.in(v, children.value, parents.value, disabled.value),\n v => selectStrategy.value.out(v, children.value, parents.value),\n )\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n function getPath (id: unknown) {\n const path: unknown[] = []\n let parent: unknown = toRaw(id)\n\n while (parent !== undefined) {\n path.unshift(parent)\n parent = parents.value.get(parent)\n }\n\n return path\n }\n\n const vm = getCurrentInstance('nested')\n\n const nodeIds = new Set<unknown>()\n\n const itemsUpdatePropagation = throttle(() => {\n nextTick(() => {\n children.value = new Map(children.value)\n parents.value = new Map(parents.value)\n })\n }, 100)\n\n watch(() => [items.value, toValue(returnObject)], () => {\n if (props.itemsRegistration === 'props') {\n updateInternalMaps()\n }\n }, { immediate: true })\n\n function updateInternalMaps () {\n const _parents = new Map()\n const _children = new Map()\n const _disabled = new Set()\n\n const getValue = toValue(returnObject)\n ? (item: ListItem) => toRaw(item.raw)\n : (item: ListItem) => item.value\n\n const stack = [...items.value]\n let i = 0\n while (i < stack.length) {\n const item = stack[i++]\n const itemValue = getValue(item)\n\n if (item.children) {\n const childValues = []\n for (const child of item.children) {\n const childValue = getValue(child)\n _parents.set(childValue, itemValue)\n childValues.push(childValue)\n stack.push(child)\n }\n _children.set(itemValue, childValues)\n }\n\n if (item.props.disabled) {\n _disabled.add(itemValue)\n }\n }\n\n children.value = _children\n parents.value = _parents\n disabled.value = _disabled\n }\n\n const nested: NestedProvide = {\n id: shallowRef(),\n root: {\n opened,\n activatable: toRef(() => props.activatable),\n scrollToActive: toRef(() => toValue(scrollToActive)),\n selectable: toRef(() => props.selectable),\n activated,\n selected,\n selectedValues: computed(() => {\n const arr = []\n\n for (const [key, value] of selected.value.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n }),\n itemsRegistration: toRef(() => props.itemsRegistration),\n register: (id, parentId, isDisabled, isGroup) => {\n if (nodeIds.has(id)) {\n const path = getPath(id).map(String).join(' -> ')\n const newPath = getPath(parentId).concat(id).map(String).join(' -> ')\n consoleError(`Multiple nodes with the same ID\\n\\t${path}\\n\\t${newPath}`)\n return\n } else {\n nodeIds.add(id)\n }\n\n parentId && id !== parentId && parents.value.set(id, parentId)\n\n isDisabled && disabled.value.add(id)\n isGroup && children.value.set(id, [])\n\n if (parentId != null) {\n children.value.set(parentId, [...children.value.get(parentId) || [], id])\n }\n itemsUpdatePropagation()\n },\n unregister: id => {\n if (isUnmounted) return\n\n nodeIds.delete(id)\n children.value.delete(id)\n disabled.value.delete(id)\n const parent = parents.value.get(id)\n if (parent) {\n const list = children.value.get(parent) ?? []\n children.value.set(parent, list.filter(child => child !== id))\n }\n parents.value.delete(id)\n itemsUpdatePropagation()\n },\n updateDisabled: (id, isDisabled) => {\n if (isDisabled) {\n disabled.value.add(id)\n } else {\n disabled.value.delete(id)\n }\n // classic selection requires refresh to re-evaluate on/off/indeterminate but\n // currently it is only run for selection interactions, so it will set new disabled\n // to \"off\" and the visual state becomes out of sync\n // -- selected.value = new Map(selected.value)\n // it is not clear if the framework should un-select when disabled changed to true\n // more discussion is needed\n },\n open: (id, value, event) => {\n vm.emit('click:open', { id, value, path: getPath(id), event })\n\n const newOpened = openStrategy.value.open({\n id,\n value,\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newOpened && (opened.value = newOpened)\n },\n openOnSelect: (id, value, event) => {\n const newOpened = openStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newOpened && (opened.value = newOpened)\n },\n select: (id, value, event) => {\n vm.emit('click:select', { id, value, path: getPath(id), event })\n\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n disabled: disabled.value,\n event,\n })\n newSelected && (selected.value = newSelected)\n\n nested.root.openOnSelect(id, value, event)\n },\n activate: (id, value, event) => {\n if (!props.activatable) {\n return nested.root.select(id, true, event)\n }\n\n vm.emit('click:activate', { id, value, path: getPath(id), event })\n\n const newActivated = activeStrategy.value.activate({\n id,\n value,\n activated: new Set(activated.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n if (newActivated.size !== activated.value.size) {\n activated.value = newActivated\n } else {\n for (const value of newActivated) {\n if (!activated.value.has(value)) {\n activated.value = newActivated\n return\n }\n }\n for (const value of activated.value) {\n if (!newActivated.has(value)) {\n activated.value = newActivated\n return\n }\n }\n }\n },\n children,\n parents,\n disabled,\n getPath,\n },\n }\n\n provide(VNestedSymbol, nested)\n\n return nested.root\n}\n\nexport const useNestedItem = (id: MaybeRefOrGetter<unknown>, isDisabled: MaybeRefOrGetter<boolean>, isGroup: boolean) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const uidSymbol = Symbol('nested item')\n const computedId = computed(() => {\n const idValue = toRaw(toValue(id))\n return idValue !== undefined ? idValue : uidSymbol\n })\n\n const item = {\n ...parent,\n id: computedId,\n open: (open: boolean, e: Event) => parent.root.open(computedId.value, open, e),\n openOnSelect: (open: boolean, e?: Event) => parent.root.openOnSelect(computedId.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(computedId.value)),\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n activate: (activated: boolean, e?: Event) => parent.root.activate(computedId.value, activated, e),\n isActivated: computed(() => parent.root.activated.value.has(computedId.value)),\n scrollToActive: parent.root.scrollToActive,\n select: (selected: boolean, e?: Event) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(computedId.value) === 'on'),\n isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),\n isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),\n isGroupActivator: parent.isGroupActivator,\n }\n\n onBeforeMount(() => {\n if (parent.isGroupActivator || parent.root.itemsRegistration.value === 'props') return\n nextTick(() => {\n parent.root.register(computedId.value, parent.id.value, toValue(isDisabled), isGroup)\n })\n })\n\n onBeforeUnmount(() => {\n if (parent.isGroupActivator || parent.root.itemsRegistration.value === 'props') return\n parent.root.unregister(computedId.value)\n })\n\n watch(computedId, (val, oldVal) => {\n if (parent.isGroupActivator || parent.root.itemsRegistration.value === 'props') return\n parent.root.unregister(oldVal)\n nextTick(() => {\n parent.root.register(val, parent.id.value, toValue(isDisabled), isGroup)\n })\n })\n\n watch(() => toValue(isDisabled), val => {\n parent.root.updateDisabled(computedId.value, val)\n })\n\n isGroup && provide(VNestedSymbol, item)\n\n return item\n}\n\nexport const useNestedGroupActivator = () => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n provide(VNestedSymbol, { ...parent, isGroupActivator: true })\n}\n"],"mappings":"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","ignoreList":[]}