vuetify 3.10.4 → 3.10.6

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 (108) hide show
  1. package/README.md +0 -6
  2. package/dist/json/attributes.json +1910 -1922
  3. package/dist/json/importMap-labs.json +20 -20
  4. package/dist/json/importMap.json +182 -182
  5. package/dist/json/tags.json +6 -9
  6. package/dist/json/web-types.json +3674 -3697
  7. package/dist/vuetify-labs.cjs +211 -107
  8. package/dist/vuetify-labs.css +5703 -5642
  9. package/dist/vuetify-labs.d.ts +168 -175
  10. package/dist/vuetify-labs.esm.js +211 -107
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +211 -107
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +192 -97
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +5916 -5877
  17. package/dist/vuetify.d.ts +168 -140
  18. package/dist/vuetify.esm.js +192 -97
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +192 -97
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +124 -114
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VAutocomplete/VAutocomplete.d.ts +0 -61
  26. package/lib/components/VAutocomplete/VAutocomplete.js +13 -11
  27. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  28. package/lib/components/VBadge/VBadge.css +10 -0
  29. package/lib/components/VBadge/VBadge.sass +9 -0
  30. package/lib/components/VChipGroup/VChipGroup.d.ts +37 -0
  31. package/lib/components/VChipGroup/VChipGroup.js +3 -1
  32. package/lib/components/VChipGroup/VChipGroup.js.map +1 -1
  33. package/lib/components/VCombobox/VCombobox.d.ts +6 -67
  34. package/lib/components/VCombobox/VCombobox.js +26 -28
  35. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  36. package/lib/components/VCounter/VCounter.css +1 -0
  37. package/lib/components/VCounter/VCounter.sass +1 -0
  38. package/lib/components/VDataTable/VDataTableGroupHeaderRow.d.ts +29 -0
  39. package/lib/components/VDataTable/VDataTableGroupHeaderRow.js +4 -1
  40. package/lib/components/VDataTable/VDataTableGroupHeaderRow.js.map +1 -1
  41. package/lib/components/VDataTable/VDataTableHeaders.d.ts +29 -0
  42. package/lib/components/VDataTable/VDataTableHeaders.js +3 -0
  43. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  44. package/lib/components/VDataTable/VDataTableRow.d.ts +29 -0
  45. package/lib/components/VDataTable/VDataTableRow.js +3 -0
  46. package/lib/components/VDataTable/VDataTableRow.js.map +1 -1
  47. package/lib/components/VDataTable/VDataTableRows.d.ts +29 -0
  48. package/lib/components/VDataTable/VDataTableRows.js +4 -3
  49. package/lib/components/VDataTable/VDataTableRows.js.map +1 -1
  50. package/lib/components/VDatePicker/VDatePicker.js +1 -1
  51. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  52. package/lib/components/VDivider/VDivider.css +1 -0
  53. package/lib/components/VDivider/VDivider.sass +1 -0
  54. package/lib/components/VKbd/_variables.scss +3 -1
  55. package/lib/components/VList/VListItem.css +14 -12
  56. package/lib/components/VList/VListItem.js +5 -3
  57. package/lib/components/VList/VListItem.js.map +1 -1
  58. package/lib/components/VList/VListItem.sass +20 -18
  59. package/lib/components/VMenu/VMenu.js +22 -4
  60. package/lib/components/VMenu/VMenu.js.map +1 -1
  61. package/lib/components/VNumberInput/VNumberInput.css +8 -0
  62. package/lib/components/VNumberInput/VNumberInput.js +5 -2
  63. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  64. package/lib/components/VNumberInput/VNumberInput.sass +10 -4
  65. package/lib/components/VSkeletonLoader/VSkeletonLoader.css +17 -0
  66. package/lib/components/VSkeletonLoader/VSkeletonLoader.js +3 -3
  67. package/lib/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
  68. package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +7 -0
  69. package/lib/components/VSlideGroup/VSlideGroup.d.ts +25 -0
  70. package/lib/components/VSlideGroup/VSlideGroup.js +5 -1
  71. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  72. package/lib/components/VTable/VTable.js +20 -32
  73. package/lib/components/VTable/VTable.js.map +1 -1
  74. package/lib/components/VTabs/VTabs.d.ts +25 -0
  75. package/lib/components/VTextField/VTextField.js +0 -3
  76. package/lib/components/VTextField/VTextField.js.map +1 -1
  77. package/lib/components/VTextarea/VTextarea.css +2 -2
  78. package/lib/components/VTextarea/VTextarea.js +20 -1
  79. package/lib/components/VTextarea/VTextarea.js.map +1 -1
  80. package/lib/components/VTextarea/VTextarea.sass +4 -2
  81. package/lib/components/VWindow/VWindow.js +43 -3
  82. package/lib/components/VWindow/VWindow.js.map +1 -1
  83. package/lib/composables/date/date.js +1 -1
  84. package/lib/composables/date/date.js.map +1 -1
  85. package/lib/composables/group.js +1 -1
  86. package/lib/composables/group.js.map +1 -1
  87. package/lib/composables/nested/nested.js +12 -2
  88. package/lib/composables/nested/nested.js.map +1 -1
  89. package/lib/composables/virtual.js +2 -2
  90. package/lib/composables/virtual.js.map +1 -1
  91. package/lib/entry-bundler.js +1 -1
  92. package/lib/framework.d.ts +66 -66
  93. package/lib/framework.js +1 -1
  94. package/lib/labs/VColorInput/VColorInput.d.ts +0 -40
  95. package/lib/labs/VColorInput/VColorInput.js +2 -2
  96. package/lib/labs/VColorInput/VColorInput.js.map +1 -1
  97. package/lib/labs/VDateInput/VDateInput.d.ts +0 -30
  98. package/lib/labs/VDateInput/VDateInput.js +16 -7
  99. package/lib/labs/VDateInput/VDateInput.js.map +1 -1
  100. package/lib/labs/VIconBtn/VIconBtn.css +22 -0
  101. package/lib/labs/VIconBtn/VIconBtn.scss +32 -0
  102. package/lib/labs/VMaskInput/VMaskInput.js +1 -1
  103. package/lib/labs/VMaskInput/VMaskInput.js.map +1 -1
  104. package/lib/labs/rules/rules.js +4 -4
  105. package/lib/labs/rules/rules.js.map +1 -1
  106. package/lib/util/helpers.js +4 -2
  107. package/lib/util/helpers.js.map +1 -1
  108. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"VMaskInput.js","names":["makeVTextFieldProps","VTextField","forwardRefs","isMaskDelimiter","makeMaskProps","useMask","useProxiedModel","computed","nextTick","onBeforeMount","ref","shallowRef","toRef","genericComponent","propsFactory","useRender","makeVMaskInputProps","returnMaskedValue","Boolean","VMaskInput","name","props","emits","val","setup","_ref","slots","emit","vTextFieldRef","inputAction","caretPosition","mask","model","undefined","unmask","valueWithoutDelimiters","removeMaskDelimiters","newMaskedValue","newUnmaskedValue","newCaretPosition","getNewCaretPosition","oldValue","value","newValue","oldCaret","setSelectionRange","validationValue","split","filter","ch","join","_ref2","length","newCaret","onKeyDown","e","metaKey","inputElement","target","selectionStart","key","hasSelection","selectionEnd","preventDefault","deleteSelection","onCut","copySelectionToClipboard","onPaste","pastedString","clipboardData","getData","pastedCharacters","replaceSelection","insertCharacters","start","end","selectedText","substring","navigator","clipboard","writeText","curStart","success","simulateBackspace","slice","i","insertCharacter","character","replaceCharacter","index","targetIndex","textFieldProps","filterProps","_createVNode","_mergeProps","$event"],"sources":["../../../src/labs/VMaskInput/VMaskInput.tsx"],"sourcesContent":["// Components\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { isMaskDelimiter, makeMaskProps, useMask } from '@/composables/mask'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, nextTick, onBeforeMount, ref, shallowRef, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\nexport type VMaskInputSlots = VTextFieldSlots\n\nexport const makeVMaskInputProps = propsFactory({\n returnMaskedValue: Boolean,\n ...makeVTextFieldProps(),\n ...makeMaskProps(),\n}, 'VMaskInput')\n\nexport const VMaskInput = genericComponent<VMaskInputSlots>()({\n name: 'VMaskInput',\n\n props: makeVMaskInputProps(),\n\n emits: {\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { slots, emit }) {\n const vTextFieldRef = ref<VTextField>()\n\n const inputAction = shallowRef()\n const caretPosition = shallowRef(0)\n\n const mask = useMask(props)\n const returnMaskedValue = computed(() => props.mask && props.returnMaskedValue)\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n // Always display masked value in input when mask is applied\n val => props.mask ? mask.mask(mask.unmask(val)) : val,\n val => {\n if (props.mask) {\n const valueWithoutDelimiters = removeMaskDelimiters(val)\n\n // E.g. mask is #-# and the input value is '2-23'\n // model-value should be enforced to '2-2'\n const newMaskedValue = mask.mask(valueWithoutDelimiters)\n const newUnmaskedValue = mask.unmask(newMaskedValue)\n\n const newCaretPosition = getNewCaretPosition({\n oldValue: model.value,\n newValue: newMaskedValue,\n oldCaret: caretPosition.value,\n })\n\n vTextFieldRef.value!.value = newMaskedValue\n vTextFieldRef.value!.setSelectionRange(newCaretPosition, newCaretPosition)\n\n return returnMaskedValue.value ? mask.mask(newUnmaskedValue) : newUnmaskedValue\n }\n return val\n },\n )\n\n const validationValue = toRef(() => returnMaskedValue.value ? model.value : mask.unmask(model.value))\n\n function removeMaskDelimiters (val: string): string {\n return val.split('').filter(ch => !isMaskDelimiter(ch)).join('')\n }\n\n function getNewCaretPosition ({\n oldValue,\n newValue,\n oldCaret,\n }: {\n oldValue: string\n newValue: string\n oldCaret: number\n }): number {\n if (!newValue) return 0\n if (!oldValue) return newValue.length\n\n let newCaret: number\n\n if (inputAction.value === 'Backspace') {\n newCaret = oldCaret - 1\n while (newCaret > 0 && isMaskDelimiter(newValue[newCaret - 1])) newCaret--\n } else if (inputAction.value === 'Delete') {\n newCaret = oldCaret\n } else { // insertion\n newCaret = oldCaret + 1\n while (isMaskDelimiter(newValue[newCaret])) newCaret++\n if (isMaskDelimiter(newValue[oldCaret])) newCaret++\n }\n\n return newCaret\n }\n\n onBeforeMount(() => {\n if (props.returnMaskedValue) {\n emit('update:modelValue', model.value)\n }\n })\n\n function onKeyDown (e: KeyboardEvent) {\n if (e.metaKey) return\n\n const inputElement = e.target as HTMLInputElement\n\n caretPosition.value = inputElement.selectionStart || 0\n inputAction.value = e.key\n\n const hasSelection = inputElement.selectionStart !== inputElement.selectionEnd\n if (e.key === 'Backspace' && hasSelection) {\n e.preventDefault()\n deleteSelection(e)\n }\n }\n\n async function onCut (e: Event) {\n e.preventDefault()\n\n copySelectionToClipboard(e)\n deleteSelection(e)\n }\n\n async function onPaste (e: ClipboardEvent) {\n e.preventDefault()\n\n const inputElement = e.target as HTMLInputElement\n const pastedString = removeMaskDelimiters(e.clipboardData?.getData('text') || '')\n\n if (!pastedString) return\n\n const pastedCharacters = [...pastedString]\n\n const hasSelection = inputElement.selectionStart !== inputElement.selectionEnd\n\n if (hasSelection) {\n replaceSelection(inputElement, pastedCharacters)\n } else {\n insertCharacters(inputElement, pastedCharacters)\n }\n }\n\n function copySelectionToClipboard (e: Event) {\n const inputElement = e.target as HTMLInputElement\n const start = inputElement.selectionStart || 0\n const end = inputElement.selectionEnd || 0\n const selectedText = inputElement.value.substring(start, end)\n navigator.clipboard.writeText(selectedText)\n }\n\n async function deleteSelection (e: Event) {\n const inputElement = e.target as HTMLInputElement\n const curStart = inputElement.selectionStart || 0\n caretPosition.value = inputElement.selectionEnd || 0\n\n while (caretPosition.value > curStart) {\n const success = await simulateBackspace(inputElement)\n if (!success) break\n }\n }\n\n async function simulateBackspace (inputElement: HTMLInputElement) {\n inputAction.value = 'Backspace'\n model.value = inputElement.value.slice(0, caretPosition.value - 1) + inputElement.value.slice(caretPosition.value)\n inputAction.value = ''\n if (caretPosition.value === inputElement.selectionEnd) return false\n caretPosition.value = inputElement.selectionEnd || 0\n await nextTick()\n return true\n }\n\n async function insertCharacters (inputElement: HTMLInputElement, pastedCharacters: string[]) {\n for (let i = 0; i < pastedCharacters.length; i++) {\n await insertCharacter(inputElement, pastedCharacters[i])\n }\n }\n\n async function insertCharacter (inputElement: HTMLInputElement, character: string) {\n caretPosition.value = inputElement.selectionEnd || 0\n model.value = inputElement.value.slice(0, caretPosition.value) + character + inputElement.value.slice(caretPosition.value)\n await nextTick()\n }\n\n async function replaceSelection (inputElement: HTMLInputElement, pastedCharacters: string[]) {\n caretPosition.value = inputElement.selectionStart || 0\n for (let i = 0; i < pastedCharacters.length; i++) {\n await replaceCharacter(caretPosition.value, pastedCharacters[i])\n caretPosition.value++\n }\n }\n\n async function replaceCharacter (index: number, character: string) {\n let targetIndex = index\n\n // Find next non-delimiter position\n while (targetIndex < model.value.length && isMaskDelimiter(model.value[targetIndex])) targetIndex++\n\n model.value = model.value.slice(0, targetIndex) + character + model.value.slice(targetIndex + 1)\n await nextTick()\n }\n\n useRender(() => {\n const textFieldProps = VTextField.filterProps(props)\n\n return (\n <VTextField\n { ...textFieldProps }\n v-model={ model.value }\n ref={ vTextFieldRef }\n validationValue={ validationValue.value }\n onCut={ onCut }\n onPaste={ onPaste }\n onKeydown={ onKeyDown }\n >\n {{ ...slots }}\n </VTextField>\n )\n })\n\n return forwardRefs({}, vTextFieldRef)\n },\n})\n\nexport type VMaskInput = InstanceType<typeof VMaskInput>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VMaskInput.js","names":["makeVTextFieldProps","VTextField","forwardRefs","isMaskDelimiter","makeMaskProps","useMask","useProxiedModel","computed","nextTick","onBeforeMount","ref","shallowRef","toRef","genericComponent","propsFactory","useRender","makeVMaskInputProps","returnMaskedValue","Boolean","VMaskInput","name","props","emits","val","setup","_ref","slots","emit","vTextFieldRef","inputAction","caretPosition","mask","model","undefined","unmask","valueWithoutDelimiters","removeMaskDelimiters","newMaskedValue","newUnmaskedValue","newCaretPosition","getNewCaretPosition","oldValue","value","newValue","oldCaret","setSelectionRange","validationValue","split","filter","ch","join","_ref2","length","newCaret","onKeyDown","e","metaKey","inputElement","target","selectionStart","key","hasSelection","selectionEnd","preventDefault","deleteSelection","onCut","copySelectionToClipboard","onPaste","pastedString","clipboardData","getData","pastedCharacters","replaceSelection","insertCharacters","start","end","selectedText","substring","navigator","clipboard","writeText","curStart","success","simulateBackspace","slice","i","insertCharacter","character","replaceCharacter","index","targetIndex","textFieldProps","filterProps","_createVNode","_mergeProps","$event"],"sources":["../../../src/labs/VMaskInput/VMaskInput.tsx"],"sourcesContent":["// Components\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { isMaskDelimiter, makeMaskProps, useMask } from '@/composables/mask'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, nextTick, onBeforeMount, ref, shallowRef, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\nexport type VMaskInputSlots = VTextFieldSlots\n\nexport const makeVMaskInputProps = propsFactory({\n returnMaskedValue: Boolean,\n ...makeVTextFieldProps(),\n ...makeMaskProps(),\n}, 'VMaskInput')\n\nexport const VMaskInput = genericComponent<VMaskInputSlots>()({\n name: 'VMaskInput',\n\n props: makeVMaskInputProps(),\n\n emits: {\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { slots, emit }) {\n const vTextFieldRef = ref<VTextField>()\n\n const inputAction = shallowRef()\n const caretPosition = shallowRef(0)\n\n const mask = useMask(props)\n const returnMaskedValue = computed(() => props.mask && props.returnMaskedValue)\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n // Always display masked value in input when mask is applied\n val => props.mask ? mask.mask(mask.unmask(val)) : val,\n val => {\n if (props.mask) {\n const valueWithoutDelimiters = val ? removeMaskDelimiters(val) : ''\n\n // E.g. mask is #-# and the input value is '2-23'\n // model-value should be enforced to '2-2'\n const newMaskedValue = mask.mask(valueWithoutDelimiters)\n const newUnmaskedValue = mask.unmask(newMaskedValue)\n\n const newCaretPosition = getNewCaretPosition({\n oldValue: model.value,\n newValue: newMaskedValue,\n oldCaret: caretPosition.value,\n })\n\n vTextFieldRef.value!.value = newMaskedValue\n vTextFieldRef.value!.setSelectionRange(newCaretPosition, newCaretPosition)\n\n return returnMaskedValue.value ? mask.mask(newUnmaskedValue) : newUnmaskedValue\n }\n return val\n },\n )\n\n const validationValue = toRef(() => returnMaskedValue.value ? model.value : mask.unmask(model.value))\n\n function removeMaskDelimiters (val: string): string {\n return val.split('').filter(ch => !isMaskDelimiter(ch)).join('')\n }\n\n function getNewCaretPosition ({\n oldValue,\n newValue,\n oldCaret,\n }: {\n oldValue: string\n newValue: string\n oldCaret: number\n }): number {\n if (!newValue) return 0\n if (!oldValue) return newValue.length\n\n let newCaret: number\n\n if (inputAction.value === 'Backspace') {\n newCaret = oldCaret - 1\n while (newCaret > 0 && isMaskDelimiter(newValue[newCaret - 1])) newCaret--\n } else if (inputAction.value === 'Delete') {\n newCaret = oldCaret\n } else { // insertion\n newCaret = oldCaret + 1\n while (isMaskDelimiter(newValue[newCaret])) newCaret++\n if (isMaskDelimiter(newValue[oldCaret])) newCaret++\n }\n\n return newCaret\n }\n\n onBeforeMount(() => {\n if (props.returnMaskedValue) {\n emit('update:modelValue', model.value)\n }\n })\n\n function onKeyDown (e: KeyboardEvent) {\n if (e.metaKey) return\n\n const inputElement = e.target as HTMLInputElement\n\n caretPosition.value = inputElement.selectionStart || 0\n inputAction.value = e.key\n\n const hasSelection = inputElement.selectionStart !== inputElement.selectionEnd\n if (e.key === 'Backspace' && hasSelection) {\n e.preventDefault()\n deleteSelection(e)\n }\n }\n\n async function onCut (e: Event) {\n e.preventDefault()\n\n copySelectionToClipboard(e)\n deleteSelection(e)\n }\n\n async function onPaste (e: ClipboardEvent) {\n e.preventDefault()\n\n const inputElement = e.target as HTMLInputElement\n const pastedString = removeMaskDelimiters(e.clipboardData?.getData('text') || '')\n\n if (!pastedString) return\n\n const pastedCharacters = [...pastedString]\n\n const hasSelection = inputElement.selectionStart !== inputElement.selectionEnd\n\n if (hasSelection) {\n replaceSelection(inputElement, pastedCharacters)\n } else {\n insertCharacters(inputElement, pastedCharacters)\n }\n }\n\n function copySelectionToClipboard (e: Event) {\n const inputElement = e.target as HTMLInputElement\n const start = inputElement.selectionStart || 0\n const end = inputElement.selectionEnd || 0\n const selectedText = inputElement.value.substring(start, end)\n navigator.clipboard.writeText(selectedText)\n }\n\n async function deleteSelection (e: Event) {\n const inputElement = e.target as HTMLInputElement\n const curStart = inputElement.selectionStart || 0\n caretPosition.value = inputElement.selectionEnd || 0\n\n while (caretPosition.value > curStart) {\n const success = await simulateBackspace(inputElement)\n if (!success) break\n }\n }\n\n async function simulateBackspace (inputElement: HTMLInputElement) {\n inputAction.value = 'Backspace'\n model.value = inputElement.value.slice(0, caretPosition.value - 1) + inputElement.value.slice(caretPosition.value)\n inputAction.value = ''\n if (caretPosition.value === inputElement.selectionEnd) return false\n caretPosition.value = inputElement.selectionEnd || 0\n await nextTick()\n return true\n }\n\n async function insertCharacters (inputElement: HTMLInputElement, pastedCharacters: string[]) {\n for (let i = 0; i < pastedCharacters.length; i++) {\n await insertCharacter(inputElement, pastedCharacters[i])\n }\n }\n\n async function insertCharacter (inputElement: HTMLInputElement, character: string) {\n caretPosition.value = inputElement.selectionEnd || 0\n model.value = inputElement.value.slice(0, caretPosition.value) + character + inputElement.value.slice(caretPosition.value)\n await nextTick()\n }\n\n async function replaceSelection (inputElement: HTMLInputElement, pastedCharacters: string[]) {\n caretPosition.value = inputElement.selectionStart || 0\n for (let i = 0; i < pastedCharacters.length; i++) {\n await replaceCharacter(caretPosition.value, pastedCharacters[i])\n caretPosition.value++\n }\n }\n\n async function replaceCharacter (index: number, character: string) {\n let targetIndex = index\n\n // Find next non-delimiter position\n while (targetIndex < model.value.length && isMaskDelimiter(model.value[targetIndex])) targetIndex++\n\n model.value = model.value.slice(0, targetIndex) + character + model.value.slice(targetIndex + 1)\n await nextTick()\n }\n\n useRender(() => {\n const textFieldProps = VTextField.filterProps(props)\n\n return (\n <VTextField\n { ...textFieldProps }\n v-model={ model.value }\n ref={ vTextFieldRef }\n validationValue={ validationValue.value }\n onCut={ onCut }\n onPaste={ onPaste }\n onKeydown={ onKeyDown }\n >\n {{ ...slots }}\n </VTextField>\n )\n })\n\n return forwardRefs({}, vTextFieldRef)\n },\n})\n\nexport type VMaskInput = InstanceType<typeof VMaskInput>\n"],"mappings":"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","ignoreList":[]}
@@ -18,7 +18,7 @@ export function createRules(options, locale) {
18
18
  return v => !v || typeof v === 'string' && /^.+@\S+\.\S+$/.test(v) || t(err || '$vuetify.rules.email');
19
19
  },
20
20
  number: err => {
21
- return v => !!Number(v) || t(err || '$vuetify.rules.number');
21
+ return v => !v || !isNaN(Number(v)) || t(err || '$vuetify.rules.number');
22
22
  },
23
23
  integer: err => {
24
24
  return v => /^[\d]*$/.test(v) || t(err || '$vuetify.rules.integer');
@@ -27,13 +27,13 @@ export function createRules(options, locale) {
27
27
  return v => /^[A-Z]*$/.test(v) || t(err || '$vuetify.rules.capital');
28
28
  },
29
29
  maxLength: (len, err) => {
30
- return v => !v || v.length <= len || t(err || '$vuetify.rules.maxLength', [len]);
30
+ return v => !v || v.length <= len || t(err || '$vuetify.rules.maxLength', len);
31
31
  },
32
32
  minLength: (len, err) => {
33
- return v => !v || v.length >= len || t(err || '$vuetify.rules.minLength', [len]);
33
+ return v => !v || v.length >= len || t(err || '$vuetify.rules.minLength', len);
34
34
  },
35
35
  strictLength: (len, err) => {
36
- return v => !v || v.length === len || t(err || '$vuetify.rules.strictLength', [len]);
36
+ return v => !v || v.length === len || t(err || '$vuetify.rules.strictLength', len);
37
37
  },
38
38
  exclude: (forbiddenCharacters, err) => {
39
39
  return v => {
@@ -1 +1 @@
1
- {"version":3,"file":"rules.js","names":["computed","inject","toRef","createRules","options","locale","t","aliases","required","err","v","email","test","number","Number","integer","capital","maxLength","len","length","minLength","strictLength","exclude","forbiddenCharacters","error","character","includes","notEmpty","pattern","resolve","fn","map","rule","ruleName","ruleParams","undefined","Array","isArray","slice","startsWith","RulesSymbol","Symbol","for","useRules","rules","Error"],"sources":["../../../src/labs/rules/rules.ts"],"sourcesContent":["// Utilities\nimport { computed, inject, toRef } from 'vue'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\nimport type { LocaleInstance } from '@/composables/locale'\nimport type { ValidationProps, ValidationRule } from '@/composables/validation'\n\nexport type ValidationRuleBuilderWithoutOptions = (err?: string) => ValidationRule\nexport type ValidationRuleBuilderWithOptions<T> = (options: T, err?: string) => ValidationRule\nexport type ValidationRuleBuilder =\n | ValidationRuleBuilderWithoutOptions\n | ValidationRuleBuilderWithOptions<any>\n\nexport interface RuleAliases {\n [name: string]: ValidationRuleBuilder\n required: ValidationRuleBuilderWithoutOptions\n email: ValidationRuleBuilderWithoutOptions\n number: ValidationRuleBuilderWithoutOptions\n integer: ValidationRuleBuilderWithoutOptions\n capital: ValidationRuleBuilderWithoutOptions\n maxLength: ValidationRuleBuilderWithOptions<number>\n minLength: ValidationRuleBuilderWithOptions<number>\n strictLength: ValidationRuleBuilderWithOptions<number>\n exclude: ValidationRuleBuilderWithOptions<string[]>\n notEmpty: ValidationRuleBuilderWithoutOptions\n pattern: ValidationRuleBuilderWithOptions<RegExp>\n}\n\nexport type RulesOptions = {\n aliases?: Partial<RuleAliases>\n}\n\ntype ValidationRuleParams = [any, string?]\nexport type ValidationAlias = string | [string, ...ValidationRuleParams]\n\nexport type RulesInstance = {\n resolve: (fn: () => ValidationProps['rules']) => Readonly<Ref<any[]>>\n aliases: RuleAliases\n}\n\nexport function createRules (options: RulesOptions | undefined, locale: LocaleInstance) {\n const { t } = locale\n\n const aliases: RuleAliases = {\n required: (err?: string) => {\n return (v: any) => {\n // If the modifier .number is used, the 0 will be a number and it's a falsy value so we need to check for it\n return v === 0 || !!v || t(err || '$vuetify.rules.required')\n }\n },\n email: (err?: string) => {\n return (v: any) => (!v || (typeof v === 'string' && /^.+@\\S+\\.\\S+$/.test(v))) || t(err || '$vuetify.rules.email')\n },\n number: (err?: string) => {\n return (v: string) => !!Number(v) || t(err || '$vuetify.rules.number')\n },\n integer: (err?: string) => {\n return (v: string) => (/^[\\d]*$/.test(v)) || t(err || '$vuetify.rules.integer')\n },\n capital: (err?: string) => {\n return (v: string) => (/^[A-Z]*$/.test(v)) || t(err || '$vuetify.rules.capital')\n },\n maxLength: (len: number, err?: string) => {\n return (v: any) => (!v || v.length <= len) || t(err || '$vuetify.rules.maxLength', [len])\n },\n minLength: (len: number, err?: string) => {\n return (v: any) => (!v || v.length >= len) || t(err || '$vuetify.rules.minLength', [len])\n },\n strictLength: (len: number, err?: string) => {\n return (v: any) => (!v || v.length === len) || t(err || '$vuetify.rules.strictLength', [len])\n },\n exclude: (forbiddenCharacters: string[], err?: string) => {\n return (v: string) => {\n let error: string | true = true\n for (const character of forbiddenCharacters) {\n if (v.includes(character)) error = err || t('$vuetify.rules.exclude', character)\n }\n return error\n }\n },\n notEmpty: (err?: string) => {\n return (v: any) => (v && v.length > 0) || t(err || '$vuetify.rules.notEmpty')\n },\n pattern: (pattern: RegExp, err?: string) => {\n return (v: any) => (!v || pattern.test(v) || t(err || '$vuetify.rules.pattern'))\n },\n\n ...options?.aliases,\n }\n\n function resolve (fn: () => ValidationProps['rules']) {\n return computed(() => fn().map(rule => {\n let ruleName: string | null = null\n let ruleParams: ValidationRuleParams = [undefined]\n if (Array.isArray(rule)) {\n ruleName = rule[0]\n ruleParams = rule.slice(1) as ValidationRuleParams\n } else if (typeof rule === 'string') {\n ruleName = rule\n }\n\n if (ruleName !== null) {\n if (ruleName.startsWith('$')) {\n ruleName = ruleName.slice(1)\n }\n\n return aliases[ruleName]?.(...ruleParams)\n } else {\n return rule\n }\n }))\n }\n\n return {\n resolve,\n aliases,\n }\n}\n\nexport const RulesSymbol: InjectionKey<RulesInstance> = Symbol.for('vuetify:rules')\n\nexport function useRules (): RuleAliases\nexport function useRules (fn: () => ValidationProps['rules']): Readonly<Ref<ValidationProps['rules']>> | Readonly<Ref<ValidationRule[]>>\n\nexport function useRules (fn?: () => ValidationProps['rules']) {\n const rules = inject(RulesSymbol, null)\n\n if (!fn) {\n if (!rules) {\n throw new Error('Could not find Vuetify rules injection')\n }\n return rules.aliases\n }\n\n return rules?.resolve(fn) ?? toRef(fn)\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"rules.js","names":["computed","inject","toRef","createRules","options","locale","t","aliases","required","err","v","email","test","number","isNaN","Number","integer","capital","maxLength","len","length","minLength","strictLength","exclude","forbiddenCharacters","error","character","includes","notEmpty","pattern","resolve","fn","map","rule","ruleName","ruleParams","undefined","Array","isArray","slice","startsWith","RulesSymbol","Symbol","for","useRules","rules","Error"],"sources":["../../../src/labs/rules/rules.ts"],"sourcesContent":["// Utilities\nimport { computed, inject, toRef } from 'vue'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\nimport type { LocaleInstance } from '@/composables/locale'\nimport type { ValidationProps, ValidationRule } from '@/composables/validation'\n\nexport type ValidationRuleBuilderWithoutOptions = (err?: string) => ValidationRule\nexport type ValidationRuleBuilderWithOptions<T> = (options: T, err?: string) => ValidationRule\nexport type ValidationRuleBuilder =\n | ValidationRuleBuilderWithoutOptions\n | ValidationRuleBuilderWithOptions<any>\n\nexport interface RuleAliases {\n [name: string]: ValidationRuleBuilder\n required: ValidationRuleBuilderWithoutOptions\n email: ValidationRuleBuilderWithoutOptions\n number: ValidationRuleBuilderWithoutOptions\n integer: ValidationRuleBuilderWithoutOptions\n capital: ValidationRuleBuilderWithoutOptions\n maxLength: ValidationRuleBuilderWithOptions<number>\n minLength: ValidationRuleBuilderWithOptions<number>\n strictLength: ValidationRuleBuilderWithOptions<number>\n exclude: ValidationRuleBuilderWithOptions<string[]>\n notEmpty: ValidationRuleBuilderWithoutOptions\n pattern: ValidationRuleBuilderWithOptions<RegExp>\n}\n\nexport type RulesOptions = {\n aliases?: Partial<RuleAliases>\n}\n\ntype ValidationRuleParams = [any, string?]\nexport type ValidationAlias = string | [string, ...ValidationRuleParams]\n\nexport type RulesInstance = {\n resolve: (fn: () => ValidationProps['rules']) => Readonly<Ref<any[]>>\n aliases: RuleAliases\n}\n\nexport function createRules (options: RulesOptions | undefined, locale: LocaleInstance) {\n const { t } = locale\n\n const aliases: RuleAliases = {\n required: (err?: string) => {\n return (v: any) => {\n // If the modifier .number is used, the 0 will be a number and it's a falsy value so we need to check for it\n return v === 0 || !!v || t(err || '$vuetify.rules.required')\n }\n },\n email: (err?: string) => {\n return (v: any) => (!v || (typeof v === 'string' && /^.+@\\S+\\.\\S+$/.test(v))) || t(err || '$vuetify.rules.email')\n },\n number: (err?: string) => {\n return (v: string) => !v || !isNaN(Number(v)) || t(err || '$vuetify.rules.number')\n },\n integer: (err?: string) => {\n return (v: string) => (/^[\\d]*$/.test(v)) || t(err || '$vuetify.rules.integer')\n },\n capital: (err?: string) => {\n return (v: string) => (/^[A-Z]*$/.test(v)) || t(err || '$vuetify.rules.capital')\n },\n maxLength: (len: number, err?: string) => {\n return (v: any) => (!v || v.length <= len) || t(err || '$vuetify.rules.maxLength', len)\n },\n minLength: (len: number, err?: string) => {\n return (v: any) => (!v || v.length >= len) || t(err || '$vuetify.rules.minLength', len)\n },\n strictLength: (len: number, err?: string) => {\n return (v: any) => (!v || v.length === len) || t(err || '$vuetify.rules.strictLength', len)\n },\n exclude: (forbiddenCharacters: string[], err?: string) => {\n return (v: string) => {\n let error: string | true = true\n for (const character of forbiddenCharacters) {\n if (v.includes(character)) error = err || t('$vuetify.rules.exclude', character)\n }\n return error\n }\n },\n notEmpty: (err?: string) => {\n return (v: any) => (v && v.length > 0) || t(err || '$vuetify.rules.notEmpty')\n },\n pattern: (pattern: RegExp, err?: string) => {\n return (v: any) => (!v || pattern.test(v) || t(err || '$vuetify.rules.pattern'))\n },\n\n ...options?.aliases,\n }\n\n function resolve (fn: () => ValidationProps['rules']) {\n return computed(() => fn().map(rule => {\n let ruleName: string | null = null\n let ruleParams: ValidationRuleParams = [undefined]\n if (Array.isArray(rule)) {\n ruleName = rule[0]\n ruleParams = rule.slice(1) as ValidationRuleParams\n } else if (typeof rule === 'string') {\n ruleName = rule\n }\n\n if (ruleName !== null) {\n if (ruleName.startsWith('$')) {\n ruleName = ruleName.slice(1)\n }\n\n return aliases[ruleName]?.(...ruleParams)\n } else {\n return rule\n }\n }))\n }\n\n return {\n resolve,\n aliases,\n }\n}\n\nexport const RulesSymbol: InjectionKey<RulesInstance> = Symbol.for('vuetify:rules')\n\nexport function useRules (): RuleAliases\nexport function useRules (fn: () => ValidationProps['rules']): Readonly<Ref<ValidationProps['rules']>> | Readonly<Ref<ValidationRule[]>>\n\nexport function useRules (fn?: () => ValidationProps['rules']) {\n const rules = inject(RulesSymbol, null)\n\n if (!fn) {\n if (!rules) {\n throw new Error('Could not find Vuetify rules injection')\n }\n return rules.aliases\n }\n\n return rules?.resolve(fn) ?? toRef(fn)\n}\n"],"mappings":"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","ignoreList":[]}
@@ -439,8 +439,10 @@ export function callEvent(handler) {
439
439
  }
440
440
  export function focusableChildren(el) {
441
441
  let filterByTabIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
442
- const targets = ['button', '[href]', 'input:not([type="hidden"])', 'select', 'textarea', '[tabindex]'].map(s => `${s}${filterByTabIndex ? ':not([tabindex="-1"])' : ''}:not([disabled])`).join(', ');
443
- return [...el.querySelectorAll(targets)];
442
+ const targets = ['button', '[href]', 'input:not([type="hidden"])', 'select', 'textarea', 'details:not(:has(> summary))', 'details > summary', '[tabindex]', '[contenteditable]:not([contenteditable="false"])', 'audio[controls]', 'video[controls]'].map(s => `${s}${filterByTabIndex ? ':not([tabindex="-1"])' : ''}:not([disabled], [inert])`).join(', ');
443
+ return [...el.querySelectorAll(targets)].filter(x => !x.closest('[inert]')) // does not have inert parent
444
+ .filter(x => !!x.offsetParent || x.getClientRects().length > 0) // is rendered
445
+ .filter(x => !x.parentElement?.closest('details:not([open])') || x.tagName === 'SUMMARY' && x.parentElement?.tagName === 'DETAILS');
444
446
  }
445
447
  export function getNextElement(elements, location, condition) {
446
448
  let _el;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["camelize","capitalize","Comment","Fragment","isVNode","reactive","shallowRef","toRef","unref","watchEffect","IN_BROWSER","getNestedValue","obj","path","fallback","last","length","undefined","i","deepEqual","a","b","Date","getTime","Object","props","keys","every","p","getObjectValueByPath","replace","split","getPropertyFromItem","item","property","value","Array","isArray","createRange","start","arguments","from","v","k","getZIndex","el","nodeType","Node","ELEMENT_NODE","index","Number","window","getComputedStyle","getPropertyValue","parentNode","convertToUnit","str","unit","num","isNaN","String","isFinite","isObject","isPlainObject","proto","getPrototypeOf","prototype","refElement","$el","TEXT_NODE","nextElementSibling","keyCodes","freeze","enter","tab","delete","esc","space","up","down","left","right","end","home","del","backspace","insert","pageup","pagedown","shift","keyValues","o","has","key","hasOwnProperty","pick","paths","found","call","pickWithRest","exclude","create","rest","some","RegExp","test","omit","clone","forEach","prop","onRE","isOn","bubblingEvents","compositionIgnoreKeys","isComposingIgnoreKey","e","isComposing","includes","filterInputAttrs","attrs","events","inputEvents","rootAttrs","inputAttrs","assign","arrayDiff","diff","push","wrapInArray","defaultFilter","search","toString","toLocaleLowerCase","indexOf","debounce","fn","delay","timeoutId","wrap","_len","args","_key","clearTimeout","setTimeout","clear","immediate","throttle","limit","throttling","clamp","min","max","Math","getDecimals","trimmedStr","trim","padEnd","char","repeat","padStart","chunk","size","chunked","substr","chunkArray","array","ceil","slice","humanReadableFileSize","bytes","base","prefix","abs","toFixed","mergeDeep","source","target","arrayFn","out","sourceProperty","targetProperty","flattenFragments","nodes","map","node","type","children","flat","toKebabCase","cache","get","kebab","toLowerCase","set","Map","findChildrenWithProvide","vnode","child","suspense","ssContent","component","getOwnPropertySymbols","provides","subTree","_arr","WeakMap","_pointer","CircularBuffer","constructor","_classPrivateFieldInitSpec","isFull","_classPrivateFieldGet","val","_classPrivateFieldSet","values","concat","getEventCoordinates","clientX","touches","clientY","destructComputed","getter","refs","flush","arr","eventName","propName","EventProp","Function","hasEvent","name","callEvent","handler","_len2","_key2","h","focusableChildren","filterByTabIndex","targets","s","join","querySelectorAll","getNextElement","elements","location","condition","_el","idx","document","activeElement","inc","offsetParent","focusChild","focusable","contains","focus","at","isEmpty","noop","matchesSelector","selector","supportsSelector","CSS","supports","matches","err","ensureValidVNode","vnodes","renderSlot","slot","defer","timeout","cb","isClickInsideElement","event","targetDiv","mouseX","mouseY","divRect","getBoundingClientRect","divLeft","divTop","top","divRight","divBottom","bottom","templateRef","defineProperty","enumerable","checkPrintable","isPrintableChar","noModifier","ctrlKey","metaKey","altKey","isPrimitive","escapeForRegex","sign","extractNumber","text","decimalDigitsLimit","decimalSeparator","onlyValidCharacters","cleanText","filter","x","all","decimalPart","parts","substring","camelizeProps","onlyDefinedProps","booleanAttributes","fromEntries","entries","_ref"],"sources":["../../src/util/helpers.ts"],"sourcesContent":["// Utilities\nimport {\n camelize,\n capitalize,\n Comment,\n Fragment,\n isVNode,\n reactive,\n shallowRef,\n toRef,\n unref,\n watchEffect,\n} from 'vue'\nimport { IN_BROWSER } from '@/util/globals'\n\n// Types\nimport type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n ComputedGetter,\n InjectionKey,\n PropType,\n Ref,\n ToRef,\n VNode,\n VNodeArrayChildren,\n VNodeChild,\n} from 'vue'\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path?: string | null, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj[path] !== undefined) return obj[path]\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\nexport type SelectItemKey<T = Record<string, any>> =\n | boolean | null | undefined // Ignored\n | string // Lookup by key, can use dot notation for nested objects\n | readonly (string | number)[] // Nested lookup by key, each array item is a key in the next level\n | ((item: T, fallback?: any) => any)\n\nexport function getPropertyFromItem (\n item: any,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property === true) return item === undefined ? fallback : item\n\n if (property == null || typeof property === 'boolean') return fallback\n\n if (item !== Object(item)) {\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n }\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number, start = 0): number[] {\n return Array.from({ length }, (v, k) => start + k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = Number(window.getComputedStyle(el).getPropertyValue('z-index'))\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nexport function convertToUnit (str: number, unit?: string): string\nexport function convertToUnit (str: string | number | null | undefined, unit?: string): string | undefined\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n }\n const num = Number(str)\n if (isNaN(num)) {\n return String(str)\n } else if (!isFinite(num)) {\n return undefined\n } else {\n return `${num}${unit}`\n }\n}\n\nexport function isObject (obj: any): obj is Record<string, any> {\n return obj !== null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nexport function isPlainObject (obj: any): obj is Record<string, any> {\n let proto\n return obj !== null && typeof obj === 'object' && (\n (proto = Object.getPrototypeOf(obj)) === Object.prototype ||\n proto === null\n )\n}\n\nexport function refElement (obj?: ComponentPublicInstance<any> | HTMLElement): HTMLElement | undefined {\n if (obj && '$el' in obj) {\n const el = obj.$el as HTMLElement\n if (el?.nodeType === Node.TEXT_NODE) {\n // Multi-root component, use the first element\n return el.nextElementSibling as HTMLElement\n }\n return el\n }\n return obj as HTMLElement\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16,\n})\n\nexport const keyValues: Record<string, string> = Object.freeze({\n enter: 'Enter',\n tab: 'Tab',\n delete: 'Delete',\n esc: 'Escape',\n space: 'Space',\n up: 'ArrowUp',\n down: 'ArrowDown',\n left: 'ArrowLeft',\n right: 'ArrowRight',\n end: 'End',\n home: 'Home',\n del: 'Delete',\n backspace: 'Backspace',\n insert: 'Insert',\n pageup: 'PageUp',\n pagedown: 'PageDown',\n shift: 'Shift',\n})\n\nexport function keys<O extends {}> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\nexport function has<T extends string> (obj: object, key: T[]): obj is Record<T, unknown> {\n return key.every(k => obj.hasOwnProperty(k))\n}\n\ntype MaybePick<\n T extends object,\n U extends Extract<keyof T, string>\n> = Record<string, unknown> extends T ? Partial<Pick<T, U>> : Pick<T, U>\n\n// Array of keys\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: readonly U[]): MaybePick<T, U> {\n const found: any = {}\n\n for (const key of paths) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n found[key] = obj[key]\n }\n }\n\n return found\n}\n\n// Array of keys\nexport function pickWithRest<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: U[], exclude?: E[]): [yes: MaybePick<T, Exclude<U, E>>, no: Omit<T, Exclude<U, E>>]\n// Array of keys or RegExp to test keys against\nexport function pickWithRest<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[], exclude?: E[]): [yes: Partial<T>, no: Partial<T>]\nexport function pickWithRest<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[], exclude?: E[]): [yes: Partial<T>, no: Partial<T>] {\n const found = Object.create(null)\n const rest = Object.create(null)\n\n for (const key in obj) {\n if (\n paths.some(path => path instanceof RegExp\n ? path.test(key)\n : path === key\n ) && !exclude?.some(path => path === key)\n ) {\n found[key] = obj[key]\n } else {\n rest[key] = obj[key]\n }\n }\n\n return [found, rest]\n}\n\nexport function omit<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, exclude: U[]): Omit<T, U> {\n const clone = { ...obj }\n\n exclude.forEach(prop => delete clone[prop])\n\n return clone\n}\n\nconst onRE = /^on[^a-z]/\nexport const isOn = (key: string) => onRE.test(key)\n\nconst bubblingEvents = [\n 'onAfterscriptexecute',\n 'onAnimationcancel',\n 'onAnimationend',\n 'onAnimationiteration',\n 'onAnimationstart',\n 'onAuxclick',\n 'onBeforeinput',\n 'onBeforescriptexecute',\n 'onChange',\n 'onClick',\n 'onCompositionend',\n 'onCompositionstart',\n 'onCompositionupdate',\n 'onContextmenu',\n 'onCopy',\n 'onCut',\n 'onDblclick',\n 'onFocusin',\n 'onFocusout',\n 'onFullscreenchange',\n 'onFullscreenerror',\n 'onGesturechange',\n 'onGestureend',\n 'onGesturestart',\n 'onGotpointercapture',\n 'onInput',\n 'onKeydown',\n 'onKeypress',\n 'onKeyup',\n 'onLostpointercapture',\n 'onMousedown',\n 'onMousemove',\n 'onMouseout',\n 'onMouseover',\n 'onMouseup',\n 'onMousewheel',\n 'onPaste',\n 'onPointercancel',\n 'onPointerdown',\n 'onPointerenter',\n 'onPointerleave',\n 'onPointermove',\n 'onPointerout',\n 'onPointerover',\n 'onPointerup',\n 'onReset',\n 'onSelect',\n 'onSubmit',\n 'onTouchcancel',\n 'onTouchend',\n 'onTouchmove',\n 'onTouchstart',\n 'onTransitioncancel',\n 'onTransitionend',\n 'onTransitionrun',\n 'onTransitionstart',\n 'onWheel',\n]\n\nconst compositionIgnoreKeys = [\n 'ArrowUp',\n 'ArrowDown',\n 'ArrowRight',\n 'ArrowLeft',\n 'Enter',\n 'Escape',\n 'Tab',\n ' ',\n]\n\nexport function isComposingIgnoreKey (e: KeyboardEvent): boolean {\n return e.isComposing && compositionIgnoreKeys.includes(e.key)\n}\n\n/**\n * Filter attributes that should be applied to\n * the root element of an input component. Remaining\n * attributes should be passed to the <input> element inside.\n */\nexport function filterInputAttrs (attrs: Record<string, unknown>) {\n const [events, props] = pickWithRest(attrs, [onRE])\n const inputEvents = omit(events, bubblingEvents)\n const [rootAttrs, inputAttrs] = pickWithRest(props, ['class', 'style', 'id', /^data-/])\n Object.assign(rootAttrs, events)\n Object.assign(inputAttrs, inputEvents)\n return [rootAttrs, inputAttrs]\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (!a.includes(b[i])) diff.push(b[i])\n }\n return diff\n}\n\ntype IfAny<T, Y, N> = 0 extends (1 & T) ? Y : N;\nexport function wrapInArray<T> (\n v: T | null | undefined\n): T extends readonly any[]\n ? IfAny<T, T[], T>\n : NonNullable<T>[] {\n return v == null\n ? [] as any\n : Array.isArray(v)\n ? v as any : [v] as any\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function debounce (fn: Function, delay: MaybeRef<number>) {\n let timeoutId = 0 as any\n const wrap = (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), unref(delay))\n }\n wrap.clear = () => {\n clearTimeout(timeoutId)\n }\n wrap.immediate = fn\n return wrap\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n let throttling = false\n return (...args: Parameters<T>): void | ReturnType<T> => {\n if (!throttling) {\n throttling = true\n setTimeout(() => throttling = false, limit)\n return fn(...args)\n }\n }\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function getDecimals (value: number) {\n const trimmedStr = value.toString().trim()\n return trimmedStr.includes('.')\n ? (trimmedStr.length - trimmedStr.indexOf('.') - 1)\n : 0\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function padStart (str: string, length: number, char = '0') {\n return char.repeat(Math.max(0, length - str.length)) + str\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function chunkArray (array: any[], size = 1) {\n return Array.from({ length: Math.ceil(array.length / size) }, (v, i) =>\n array.slice(i * size, i * size + size)\n )\n}\n\nexport function humanReadableFileSize (bytes: number, base: 1000 | 1024 = 1000): string {\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = base === 1024 ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function mergeDeep (\n source: Record<string, any> = {},\n target: Record<string, any> = {},\n arrayFn?: (a: unknown[], b: unknown[]) => unknown[],\n) {\n const out: Record<string, any> = {}\n\n for (const key in source) {\n out[key] = source[key]\n }\n\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are plain objects\n if (isPlainObject(sourceProperty) && isPlainObject(targetProperty)) {\n out[key] = mergeDeep(sourceProperty, targetProperty, arrayFn)\n\n continue\n }\n\n if (arrayFn && Array.isArray(sourceProperty) && Array.isArray(targetProperty)) {\n out[key] = arrayFn(sourceProperty, targetProperty)\n\n continue\n }\n\n out[key] = targetProperty\n }\n\n return out\n}\n\nexport function flattenFragments (nodes: VNode[]): VNode[] {\n return nodes.map(node => {\n if (node.type === Fragment) {\n return flattenFragments(node.children as VNode[])\n } else {\n return node\n }\n }).flat()\n}\n\nexport function toKebabCase (str = '') {\n if (toKebabCase.cache.has(str)) return toKebabCase.cache.get(str)!\n const kebab = str\n .replace(/[^a-z]/gi, '-')\n .replace(/\\B([A-Z])/g, '-$1')\n .toLowerCase()\n toKebabCase.cache.set(str, kebab)\n return kebab\n}\ntoKebabCase.cache = new Map<string, string>()\n\nexport type MaybeRef<T> = T | Ref<T>\n\nexport function findChildrenWithProvide (\n key: InjectionKey<any> | symbol,\n vnode?: VNodeChild,\n): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') return []\n\n if (Array.isArray(vnode)) {\n return vnode.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (vnode.suspense) {\n return findChildrenWithProvide(key, vnode.ssContent!)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (vnode.component) {\n if (Object.getOwnPropertySymbols(vnode.component.provides).includes(key as symbol)) {\n return [vnode.component]\n } else if (vnode.component.subTree) {\n return findChildrenWithProvide(key, vnode.component.subTree).flat(1)\n }\n }\n\n return []\n}\n\nexport class CircularBuffer<T = never> {\n readonly #arr: Array<T> = []\n #pointer = 0\n\n constructor (public readonly size: number) {}\n\n get isFull () {\n return this.#arr.length === this.size\n }\n\n push (val: T) {\n this.#arr[this.#pointer] = val\n this.#pointer = (this.#pointer + 1) % this.size\n }\n\n values (): T[] {\n return this.#arr.slice(this.#pointer).concat(this.#arr.slice(0, this.#pointer))\n }\n\n clear () {\n this.#arr.length = 0\n this.#pointer = 0\n }\n}\n\nexport type UnionToIntersection<U> =\n (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never\n\nexport function getEventCoordinates (e: MouseEvent | TouchEvent) {\n if ('touches' in e) {\n return { clientX: e.touches[0].clientX, clientY: e.touches[0].clientY }\n }\n\n return { clientX: e.clientX, clientY: e.clientY }\n}\n\n// Only allow a single return type\ntype NotAUnion<T> = [T] extends [infer U] ? _NotAUnion<U, U> : never\ntype _NotAUnion<T, U> = U extends any ? [T] extends [U] ? unknown : never : never\n\ntype ToReadonlyRefs<T> = { [K in keyof T]: Readonly<ToRef<T[K]>> }\n\n/**\n * Convert a computed ref to a record of refs.\n * The getter function must always return an object with the same keys.\n */\nexport function destructComputed<T extends object> (getter: ComputedGetter<T & NotAUnion<T>>): ToReadonlyRefs<T>\nexport function destructComputed<T extends object> (getter: ComputedGetter<T>) {\n const refs = reactive({}) as T\n watchEffect(() => {\n const base = getter()\n for (const key in base) {\n refs[key] = base[key]\n }\n }, { flush: 'sync' })\n const obj = {} as ToReadonlyRefs<T>\n for (const key in refs) {\n obj[key] = toRef(() => refs[key]) as any\n }\n return obj\n}\n\n/** Array.includes but value can be any type */\nexport function includes (arr: readonly any[], val: any) {\n return arr.includes(val)\n}\n\nexport function eventName (propName: string) {\n return propName[2].toLowerCase() + propName.slice(3)\n}\n\n// TODO: this should be an array but vue's types don't accept arrays: vuejs/core#8025\nexport type EventProp<T extends any[] = any[], F = (...args: T) => void> = F\nexport const EventProp = <T extends any[] = any[]>() => [Function, Array] as PropType<EventProp<T>>\n\nexport function hasEvent (props: Record<string, any>, name: string) {\n name = 'on' + capitalize(name)\n return !!(props[name] || props[`${name}Once`] || props[`${name}Capture`] || props[`${name}OnceCapture`] || props[`${name}CaptureOnce`])\n}\n\nexport function callEvent<T extends any[]> (handler: EventProp<T> | EventProp<T>[] | undefined, ...args: T) {\n if (Array.isArray(handler)) {\n for (const h of handler) {\n h(...args)\n }\n } else if (typeof handler === 'function') {\n handler(...args)\n }\n}\n\nexport function focusableChildren (el: Element, filterByTabIndex = true) {\n const targets = ['button', '[href]', 'input:not([type=\"hidden\"])', 'select', 'textarea', '[tabindex]']\n .map(s => `${s}${filterByTabIndex ? ':not([tabindex=\"-1\"])' : ''}:not([disabled])`)\n .join(', ')\n return [...el.querySelectorAll(targets)] as HTMLElement[]\n}\n\nexport function getNextElement (elements: HTMLElement[], location?: 'next' | 'prev', condition?: (el: HTMLElement) => boolean) {\n let _el\n let idx = elements.indexOf(document.activeElement as HTMLElement)\n const inc = location === 'next' ? 1 : -1\n do {\n idx += inc\n _el = elements[idx]\n } while ((!_el || _el.offsetParent == null || !(condition?.(_el) ?? true)) && idx < elements.length && idx >= 0)\n return _el\n}\n\nexport function focusChild (el: Element, location?: 'next' | 'prev' | 'first' | 'last' | number) {\n const focusable = focusableChildren(el)\n\n if (location == null) {\n if (el === document.activeElement || !el.contains(document.activeElement)) {\n focusable[0]?.focus()\n }\n } else if (location === 'first') {\n focusable[0]?.focus()\n } else if (location === 'last') {\n focusable.at(-1)?.focus()\n } else if (typeof location === 'number') {\n focusable[location]?.focus()\n } else {\n const _el = getNextElement(focusable, location)\n if (_el) _el.focus()\n else focusChild(el, location === 'next' ? 'first' : 'last')\n }\n}\n\nexport function isEmpty (val: any): boolean {\n return val === null || val === undefined || (typeof val === 'string' && val.trim() === '')\n}\n\nexport function noop () {}\n\n/** Returns null if the selector is not supported or we can't check */\nexport function matchesSelector (el: Element | undefined, selector: string): boolean | null {\n const supportsSelector = IN_BROWSER &&\n typeof CSS !== 'undefined' &&\n typeof CSS.supports !== 'undefined' &&\n CSS.supports(`selector(${selector})`)\n\n if (!supportsSelector) return null\n\n try {\n return !!el && el.matches(selector)\n } catch (err) {\n return null\n }\n}\n\nexport function ensureValidVNode (vnodes: VNodeArrayChildren): VNodeArrayChildren | null {\n return vnodes.some(child => {\n if (!isVNode(child)) return true\n if (child.type === Comment) return false\n return child.type !== Fragment ||\n ensureValidVNode(child.children as VNodeArrayChildren)\n })\n ? vnodes\n : null\n}\n\ntype Slot<T> = [T] extends [never] ? () => VNodeChild : (arg: T) => VNodeChild\n\nexport function renderSlot <T> (slot: Slot<never> | undefined, fallback?: Slot<never> | undefined): VNodeChild\nexport function renderSlot <T> (slot: Slot<T> | undefined, props: T, fallback?: Slot<T> | undefined): VNodeChild\nexport function renderSlot (slot?: Slot<unknown>, props?: unknown, fallback?: Slot<unknown>) {\n // TODO: check if slot returns elements: #18308\n return slot?.(props) ?? fallback?.(props)\n}\n\nexport function defer (timeout: number, cb: () => void) {\n if (!IN_BROWSER || timeout === 0) {\n cb()\n\n return () => {}\n }\n\n const timeoutId = window.setTimeout(cb, timeout)\n\n return () => window.clearTimeout(timeoutId)\n}\n\nexport function isClickInsideElement (event: MouseEvent, targetDiv: HTMLElement) {\n const mouseX = event.clientX\n const mouseY = event.clientY\n\n const divRect = targetDiv.getBoundingClientRect()\n const divLeft = divRect.left\n const divTop = divRect.top\n const divRight = divRect.right\n const divBottom = divRect.bottom\n\n return mouseX >= divLeft && mouseX <= divRight && mouseY >= divTop && mouseY <= divBottom\n}\n\nexport type TemplateRef = {\n (target: Element | ComponentPublicInstance | null): void\n value: HTMLElement | ComponentPublicInstance | null | undefined\n readonly el: HTMLElement | undefined\n}\nexport function templateRef () {\n const el = shallowRef<HTMLElement | ComponentPublicInstance | null>()\n const fn = (target: HTMLElement | ComponentPublicInstance | null) => {\n el.value = target\n }\n Object.defineProperty(fn, 'value', {\n enumerable: true,\n get: () => el.value,\n set: val => el.value = val,\n })\n Object.defineProperty(fn, 'el', {\n enumerable: true,\n get: () => refElement(el.value),\n })\n\n return fn as TemplateRef\n}\n\nexport function checkPrintable (e: KeyboardEvent) {\n const isPrintableChar = e.key.length === 1\n const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey\n return isPrintableChar && noModifier\n}\n\nexport type Primitive = string | number | boolean | symbol | bigint\nexport function isPrimitive (value: unknown): value is Primitive {\n return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint'\n}\n\nexport function escapeForRegex (sign: string) {\n return '\\\\^$*+?.()|{}[]'.includes(sign)\n ? `\\\\${sign}`\n : sign\n}\n\nexport function extractNumber (text: string, decimalDigitsLimit: number | null, decimalSeparator: string) {\n const onlyValidCharacters = new RegExp(`[\\\\d\\\\-${escapeForRegex(decimalSeparator)}]`)\n const cleanText = text.split('')\n .filter(x => onlyValidCharacters.test(x))\n .filter((x, i, all) => (i === 0 && /[-]/.test(x)) || // sign allowed at the start\n (x === decimalSeparator && i === all.indexOf(x)) || // decimal separator allowed only once\n /\\d/.test(x))\n .join('')\n\n if (decimalDigitsLimit === 0) {\n return cleanText.split(decimalSeparator)[0]\n }\n\n const decimalPart = new RegExp(`${escapeForRegex(decimalSeparator)}\\\\d`)\n if (decimalDigitsLimit !== null && decimalPart.test(cleanText)) {\n const parts = cleanText.split(decimalSeparator)\n return [\n parts[0],\n parts[1].substring(0, decimalDigitsLimit),\n ].join(decimalSeparator)\n }\n\n return cleanText\n}\n\nexport function camelizeProps<T extends Record<string, unknown>> (props: T | null): T {\n const out = {} as T\n for (const prop in props) {\n out[camelize(prop) as keyof T] = props[prop]\n }\n return out\n}\n\nexport function onlyDefinedProps (props: Record<string, any>) {\n const booleanAttributes = ['checked', 'disabled']\n return Object.fromEntries(Object.entries(props)\n .filter(([key, v]) => booleanAttributes.includes(key) ? !!v : v !== undefined))\n}\n\nexport type NonEmptyArray<T> = [T, ...T[]]\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"helpers.js","names":["camelize","capitalize","Comment","Fragment","isVNode","reactive","shallowRef","toRef","unref","watchEffect","IN_BROWSER","getNestedValue","obj","path","fallback","last","length","undefined","i","deepEqual","a","b","Date","getTime","Object","props","keys","every","p","getObjectValueByPath","replace","split","getPropertyFromItem","item","property","value","Array","isArray","createRange","start","arguments","from","v","k","getZIndex","el","nodeType","Node","ELEMENT_NODE","index","Number","window","getComputedStyle","getPropertyValue","parentNode","convertToUnit","str","unit","num","isNaN","String","isFinite","isObject","isPlainObject","proto","getPrototypeOf","prototype","refElement","$el","TEXT_NODE","nextElementSibling","keyCodes","freeze","enter","tab","delete","esc","space","up","down","left","right","end","home","del","backspace","insert","pageup","pagedown","shift","keyValues","o","has","key","hasOwnProperty","pick","paths","found","call","pickWithRest","exclude","create","rest","some","RegExp","test","omit","clone","forEach","prop","onRE","isOn","bubblingEvents","compositionIgnoreKeys","isComposingIgnoreKey","e","isComposing","includes","filterInputAttrs","attrs","events","inputEvents","rootAttrs","inputAttrs","assign","arrayDiff","diff","push","wrapInArray","defaultFilter","search","toString","toLocaleLowerCase","indexOf","debounce","fn","delay","timeoutId","wrap","_len","args","_key","clearTimeout","setTimeout","clear","immediate","throttle","limit","throttling","clamp","min","max","Math","getDecimals","trimmedStr","trim","padEnd","char","repeat","padStart","chunk","size","chunked","substr","chunkArray","array","ceil","slice","humanReadableFileSize","bytes","base","prefix","abs","toFixed","mergeDeep","source","target","arrayFn","out","sourceProperty","targetProperty","flattenFragments","nodes","map","node","type","children","flat","toKebabCase","cache","get","kebab","toLowerCase","set","Map","findChildrenWithProvide","vnode","child","suspense","ssContent","component","getOwnPropertySymbols","provides","subTree","_arr","WeakMap","_pointer","CircularBuffer","constructor","_classPrivateFieldInitSpec","isFull","_classPrivateFieldGet","val","_classPrivateFieldSet","values","concat","getEventCoordinates","clientX","touches","clientY","destructComputed","getter","refs","flush","arr","eventName","propName","EventProp","Function","hasEvent","name","callEvent","handler","_len2","_key2","h","focusableChildren","filterByTabIndex","targets","s","join","querySelectorAll","filter","x","closest","offsetParent","getClientRects","parentElement","tagName","getNextElement","elements","location","condition","_el","idx","document","activeElement","inc","focusChild","focusable","contains","focus","at","isEmpty","noop","matchesSelector","selector","supportsSelector","CSS","supports","matches","err","ensureValidVNode","vnodes","renderSlot","slot","defer","timeout","cb","isClickInsideElement","event","targetDiv","mouseX","mouseY","divRect","getBoundingClientRect","divLeft","divTop","top","divRight","divBottom","bottom","templateRef","defineProperty","enumerable","checkPrintable","isPrintableChar","noModifier","ctrlKey","metaKey","altKey","isPrimitive","escapeForRegex","sign","extractNumber","text","decimalDigitsLimit","decimalSeparator","onlyValidCharacters","cleanText","all","decimalPart","parts","substring","camelizeProps","onlyDefinedProps","booleanAttributes","fromEntries","entries","_ref"],"sources":["../../src/util/helpers.ts"],"sourcesContent":["// Utilities\nimport {\n camelize,\n capitalize,\n Comment,\n Fragment,\n isVNode,\n reactive,\n shallowRef,\n toRef,\n unref,\n watchEffect,\n} from 'vue'\nimport { IN_BROWSER } from '@/util/globals'\n\n// Types\nimport type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n ComputedGetter,\n InjectionKey,\n PropType,\n Ref,\n ToRef,\n VNode,\n VNodeArrayChildren,\n VNodeChild,\n} from 'vue'\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path?: string | null, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj[path] !== undefined) return obj[path]\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\nexport type SelectItemKey<T = Record<string, any>> =\n | boolean | null | undefined // Ignored\n | string // Lookup by key, can use dot notation for nested objects\n | readonly (string | number)[] // Nested lookup by key, each array item is a key in the next level\n | ((item: T, fallback?: any) => any)\n\nexport function getPropertyFromItem (\n item: any,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property === true) return item === undefined ? fallback : item\n\n if (property == null || typeof property === 'boolean') return fallback\n\n if (item !== Object(item)) {\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n }\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number, start = 0): number[] {\n return Array.from({ length }, (v, k) => start + k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = Number(window.getComputedStyle(el).getPropertyValue('z-index'))\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nexport function convertToUnit (str: number, unit?: string): string\nexport function convertToUnit (str: string | number | null | undefined, unit?: string): string | undefined\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n }\n const num = Number(str)\n if (isNaN(num)) {\n return String(str)\n } else if (!isFinite(num)) {\n return undefined\n } else {\n return `${num}${unit}`\n }\n}\n\nexport function isObject (obj: any): obj is Record<string, any> {\n return obj !== null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nexport function isPlainObject (obj: any): obj is Record<string, any> {\n let proto\n return obj !== null && typeof obj === 'object' && (\n (proto = Object.getPrototypeOf(obj)) === Object.prototype ||\n proto === null\n )\n}\n\nexport function refElement (obj?: ComponentPublicInstance<any> | HTMLElement): HTMLElement | undefined {\n if (obj && '$el' in obj) {\n const el = obj.$el as HTMLElement\n if (el?.nodeType === Node.TEXT_NODE) {\n // Multi-root component, use the first element\n return el.nextElementSibling as HTMLElement\n }\n return el\n }\n return obj as HTMLElement\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16,\n})\n\nexport const keyValues: Record<string, string> = Object.freeze({\n enter: 'Enter',\n tab: 'Tab',\n delete: 'Delete',\n esc: 'Escape',\n space: 'Space',\n up: 'ArrowUp',\n down: 'ArrowDown',\n left: 'ArrowLeft',\n right: 'ArrowRight',\n end: 'End',\n home: 'Home',\n del: 'Delete',\n backspace: 'Backspace',\n insert: 'Insert',\n pageup: 'PageUp',\n pagedown: 'PageDown',\n shift: 'Shift',\n})\n\nexport function keys<O extends {}> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\nexport function has<T extends string> (obj: object, key: T[]): obj is Record<T, unknown> {\n return key.every(k => obj.hasOwnProperty(k))\n}\n\ntype MaybePick<\n T extends object,\n U extends Extract<keyof T, string>\n> = Record<string, unknown> extends T ? Partial<Pick<T, U>> : Pick<T, U>\n\n// Array of keys\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: readonly U[]): MaybePick<T, U> {\n const found: any = {}\n\n for (const key of paths) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n found[key] = obj[key]\n }\n }\n\n return found\n}\n\n// Array of keys\nexport function pickWithRest<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: U[], exclude?: E[]): [yes: MaybePick<T, Exclude<U, E>>, no: Omit<T, Exclude<U, E>>]\n// Array of keys or RegExp to test keys against\nexport function pickWithRest<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[], exclude?: E[]): [yes: Partial<T>, no: Partial<T>]\nexport function pickWithRest<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[], exclude?: E[]): [yes: Partial<T>, no: Partial<T>] {\n const found = Object.create(null)\n const rest = Object.create(null)\n\n for (const key in obj) {\n if (\n paths.some(path => path instanceof RegExp\n ? path.test(key)\n : path === key\n ) && !exclude?.some(path => path === key)\n ) {\n found[key] = obj[key]\n } else {\n rest[key] = obj[key]\n }\n }\n\n return [found, rest]\n}\n\nexport function omit<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, exclude: U[]): Omit<T, U> {\n const clone = { ...obj }\n\n exclude.forEach(prop => delete clone[prop])\n\n return clone\n}\n\nconst onRE = /^on[^a-z]/\nexport const isOn = (key: string) => onRE.test(key)\n\nconst bubblingEvents = [\n 'onAfterscriptexecute',\n 'onAnimationcancel',\n 'onAnimationend',\n 'onAnimationiteration',\n 'onAnimationstart',\n 'onAuxclick',\n 'onBeforeinput',\n 'onBeforescriptexecute',\n 'onChange',\n 'onClick',\n 'onCompositionend',\n 'onCompositionstart',\n 'onCompositionupdate',\n 'onContextmenu',\n 'onCopy',\n 'onCut',\n 'onDblclick',\n 'onFocusin',\n 'onFocusout',\n 'onFullscreenchange',\n 'onFullscreenerror',\n 'onGesturechange',\n 'onGestureend',\n 'onGesturestart',\n 'onGotpointercapture',\n 'onInput',\n 'onKeydown',\n 'onKeypress',\n 'onKeyup',\n 'onLostpointercapture',\n 'onMousedown',\n 'onMousemove',\n 'onMouseout',\n 'onMouseover',\n 'onMouseup',\n 'onMousewheel',\n 'onPaste',\n 'onPointercancel',\n 'onPointerdown',\n 'onPointerenter',\n 'onPointerleave',\n 'onPointermove',\n 'onPointerout',\n 'onPointerover',\n 'onPointerup',\n 'onReset',\n 'onSelect',\n 'onSubmit',\n 'onTouchcancel',\n 'onTouchend',\n 'onTouchmove',\n 'onTouchstart',\n 'onTransitioncancel',\n 'onTransitionend',\n 'onTransitionrun',\n 'onTransitionstart',\n 'onWheel',\n]\n\nconst compositionIgnoreKeys = [\n 'ArrowUp',\n 'ArrowDown',\n 'ArrowRight',\n 'ArrowLeft',\n 'Enter',\n 'Escape',\n 'Tab',\n ' ',\n]\n\nexport function isComposingIgnoreKey (e: KeyboardEvent): boolean {\n return e.isComposing && compositionIgnoreKeys.includes(e.key)\n}\n\n/**\n * Filter attributes that should be applied to\n * the root element of an input component. Remaining\n * attributes should be passed to the <input> element inside.\n */\nexport function filterInputAttrs (attrs: Record<string, unknown>) {\n const [events, props] = pickWithRest(attrs, [onRE])\n const inputEvents = omit(events, bubblingEvents)\n const [rootAttrs, inputAttrs] = pickWithRest(props, ['class', 'style', 'id', /^data-/])\n Object.assign(rootAttrs, events)\n Object.assign(inputAttrs, inputEvents)\n return [rootAttrs, inputAttrs]\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (!a.includes(b[i])) diff.push(b[i])\n }\n return diff\n}\n\ntype IfAny<T, Y, N> = 0 extends (1 & T) ? Y : N;\nexport function wrapInArray<T> (\n v: T | null | undefined\n): T extends readonly any[]\n ? IfAny<T, T[], T>\n : NonNullable<T>[] {\n return v == null\n ? [] as any\n : Array.isArray(v)\n ? v as any : [v] as any\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function debounce (fn: Function, delay: MaybeRef<number>) {\n let timeoutId = 0 as any\n const wrap = (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), unref(delay))\n }\n wrap.clear = () => {\n clearTimeout(timeoutId)\n }\n wrap.immediate = fn\n return wrap\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n let throttling = false\n return (...args: Parameters<T>): void | ReturnType<T> => {\n if (!throttling) {\n throttling = true\n setTimeout(() => throttling = false, limit)\n return fn(...args)\n }\n }\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function getDecimals (value: number) {\n const trimmedStr = value.toString().trim()\n return trimmedStr.includes('.')\n ? (trimmedStr.length - trimmedStr.indexOf('.') - 1)\n : 0\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function padStart (str: string, length: number, char = '0') {\n return char.repeat(Math.max(0, length - str.length)) + str\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function chunkArray (array: any[], size = 1) {\n return Array.from({ length: Math.ceil(array.length / size) }, (v, i) =>\n array.slice(i * size, i * size + size)\n )\n}\n\nexport function humanReadableFileSize (bytes: number, base: 1000 | 1024 = 1000): string {\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = base === 1024 ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function mergeDeep (\n source: Record<string, any> = {},\n target: Record<string, any> = {},\n arrayFn?: (a: unknown[], b: unknown[]) => unknown[],\n) {\n const out: Record<string, any> = {}\n\n for (const key in source) {\n out[key] = source[key]\n }\n\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are plain objects\n if (isPlainObject(sourceProperty) && isPlainObject(targetProperty)) {\n out[key] = mergeDeep(sourceProperty, targetProperty, arrayFn)\n\n continue\n }\n\n if (arrayFn && Array.isArray(sourceProperty) && Array.isArray(targetProperty)) {\n out[key] = arrayFn(sourceProperty, targetProperty)\n\n continue\n }\n\n out[key] = targetProperty\n }\n\n return out\n}\n\nexport function flattenFragments (nodes: VNode[]): VNode[] {\n return nodes.map(node => {\n if (node.type === Fragment) {\n return flattenFragments(node.children as VNode[])\n } else {\n return node\n }\n }).flat()\n}\n\nexport function toKebabCase (str = '') {\n if (toKebabCase.cache.has(str)) return toKebabCase.cache.get(str)!\n const kebab = str\n .replace(/[^a-z]/gi, '-')\n .replace(/\\B([A-Z])/g, '-$1')\n .toLowerCase()\n toKebabCase.cache.set(str, kebab)\n return kebab\n}\ntoKebabCase.cache = new Map<string, string>()\n\nexport type MaybeRef<T> = T | Ref<T>\n\nexport function findChildrenWithProvide (\n key: InjectionKey<any> | symbol,\n vnode?: VNodeChild,\n): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') return []\n\n if (Array.isArray(vnode)) {\n return vnode.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (vnode.suspense) {\n return findChildrenWithProvide(key, vnode.ssContent!)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (vnode.component) {\n if (Object.getOwnPropertySymbols(vnode.component.provides).includes(key as symbol)) {\n return [vnode.component]\n } else if (vnode.component.subTree) {\n return findChildrenWithProvide(key, vnode.component.subTree).flat(1)\n }\n }\n\n return []\n}\n\nexport class CircularBuffer<T = never> {\n readonly #arr: Array<T> = []\n #pointer = 0\n\n constructor (public readonly size: number) {}\n\n get isFull () {\n return this.#arr.length === this.size\n }\n\n push (val: T) {\n this.#arr[this.#pointer] = val\n this.#pointer = (this.#pointer + 1) % this.size\n }\n\n values (): T[] {\n return this.#arr.slice(this.#pointer).concat(this.#arr.slice(0, this.#pointer))\n }\n\n clear () {\n this.#arr.length = 0\n this.#pointer = 0\n }\n}\n\nexport type UnionToIntersection<U> =\n (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never\n\nexport function getEventCoordinates (e: MouseEvent | TouchEvent) {\n if ('touches' in e) {\n return { clientX: e.touches[0].clientX, clientY: e.touches[0].clientY }\n }\n\n return { clientX: e.clientX, clientY: e.clientY }\n}\n\n// Only allow a single return type\ntype NotAUnion<T> = [T] extends [infer U] ? _NotAUnion<U, U> : never\ntype _NotAUnion<T, U> = U extends any ? [T] extends [U] ? unknown : never : never\n\ntype ToReadonlyRefs<T> = { [K in keyof T]: Readonly<ToRef<T[K]>> }\n\n/**\n * Convert a computed ref to a record of refs.\n * The getter function must always return an object with the same keys.\n */\nexport function destructComputed<T extends object> (getter: ComputedGetter<T & NotAUnion<T>>): ToReadonlyRefs<T>\nexport function destructComputed<T extends object> (getter: ComputedGetter<T>) {\n const refs = reactive({}) as T\n watchEffect(() => {\n const base = getter()\n for (const key in base) {\n refs[key] = base[key]\n }\n }, { flush: 'sync' })\n const obj = {} as ToReadonlyRefs<T>\n for (const key in refs) {\n obj[key] = toRef(() => refs[key]) as any\n }\n return obj\n}\n\n/** Array.includes but value can be any type */\nexport function includes (arr: readonly any[], val: any) {\n return arr.includes(val)\n}\n\nexport function eventName (propName: string) {\n return propName[2].toLowerCase() + propName.slice(3)\n}\n\n// TODO: this should be an array but vue's types don't accept arrays: vuejs/core#8025\nexport type EventProp<T extends any[] = any[], F = (...args: T) => void> = F\nexport const EventProp = <T extends any[] = any[]>() => [Function, Array] as PropType<EventProp<T>>\n\nexport function hasEvent (props: Record<string, any>, name: string) {\n name = 'on' + capitalize(name)\n return !!(props[name] || props[`${name}Once`] || props[`${name}Capture`] || props[`${name}OnceCapture`] || props[`${name}CaptureOnce`])\n}\n\nexport function callEvent<T extends any[]> (handler: EventProp<T> | EventProp<T>[] | undefined, ...args: T) {\n if (Array.isArray(handler)) {\n for (const h of handler) {\n h(...args)\n }\n } else if (typeof handler === 'function') {\n handler(...args)\n }\n}\n\nexport function focusableChildren (el: Element, filterByTabIndex = true) {\n const targets = [\n 'button',\n '[href]',\n 'input:not([type=\"hidden\"])',\n 'select',\n 'textarea',\n 'details:not(:has(> summary))',\n 'details > summary',\n '[tabindex]',\n '[contenteditable]:not([contenteditable=\"false\"])',\n 'audio[controls]',\n 'video[controls]',\n ]\n .map(s => `${s}${filterByTabIndex ? ':not([tabindex=\"-1\"])' : ''}:not([disabled], [inert])`)\n .join(', ')\n return ([...el.querySelectorAll(targets)] as HTMLElement[])\n .filter(x => !x.closest('[inert]')) // does not have inert parent\n .filter(x => !!x.offsetParent || x.getClientRects().length > 0) // is rendered\n .filter(x => !x.parentElement?.closest('details:not([open])') ||\n (x.tagName === 'SUMMARY' && x.parentElement?.tagName === 'DETAILS')\n )\n}\n\nexport function getNextElement (elements: HTMLElement[], location?: 'next' | 'prev', condition?: (el: HTMLElement) => boolean) {\n let _el\n let idx = elements.indexOf(document.activeElement as HTMLElement)\n const inc = location === 'next' ? 1 : -1\n do {\n idx += inc\n _el = elements[idx]\n } while ((!_el || _el.offsetParent == null || !(condition?.(_el) ?? true)) && idx < elements.length && idx >= 0)\n return _el\n}\n\nexport function focusChild (el: Element, location?: 'next' | 'prev' | 'first' | 'last' | number) {\n const focusable = focusableChildren(el)\n\n if (location == null) {\n if (el === document.activeElement || !el.contains(document.activeElement)) {\n focusable[0]?.focus()\n }\n } else if (location === 'first') {\n focusable[0]?.focus()\n } else if (location === 'last') {\n focusable.at(-1)?.focus()\n } else if (typeof location === 'number') {\n focusable[location]?.focus()\n } else {\n const _el = getNextElement(focusable, location)\n if (_el) _el.focus()\n else focusChild(el, location === 'next' ? 'first' : 'last')\n }\n}\n\nexport function isEmpty (val: any): boolean {\n return val === null || val === undefined || (typeof val === 'string' && val.trim() === '')\n}\n\nexport function noop () {}\n\n/** Returns null if the selector is not supported or we can't check */\nexport function matchesSelector (el: Element | undefined, selector: string): boolean | null {\n const supportsSelector = IN_BROWSER &&\n typeof CSS !== 'undefined' &&\n typeof CSS.supports !== 'undefined' &&\n CSS.supports(`selector(${selector})`)\n\n if (!supportsSelector) return null\n\n try {\n return !!el && el.matches(selector)\n } catch (err) {\n return null\n }\n}\n\nexport function ensureValidVNode (vnodes: VNodeArrayChildren): VNodeArrayChildren | null {\n return vnodes.some(child => {\n if (!isVNode(child)) return true\n if (child.type === Comment) return false\n return child.type !== Fragment ||\n ensureValidVNode(child.children as VNodeArrayChildren)\n })\n ? vnodes\n : null\n}\n\ntype Slot<T> = [T] extends [never] ? () => VNodeChild : (arg: T) => VNodeChild\n\nexport function renderSlot <T> (slot: Slot<never> | undefined, fallback?: Slot<never> | undefined): VNodeChild\nexport function renderSlot <T> (slot: Slot<T> | undefined, props: T, fallback?: Slot<T> | undefined): VNodeChild\nexport function renderSlot (slot?: Slot<unknown>, props?: unknown, fallback?: Slot<unknown>) {\n // TODO: check if slot returns elements: #18308\n return slot?.(props) ?? fallback?.(props)\n}\n\nexport function defer (timeout: number, cb: () => void) {\n if (!IN_BROWSER || timeout === 0) {\n cb()\n\n return () => {}\n }\n\n const timeoutId = window.setTimeout(cb, timeout)\n\n return () => window.clearTimeout(timeoutId)\n}\n\nexport function isClickInsideElement (event: MouseEvent, targetDiv: HTMLElement) {\n const mouseX = event.clientX\n const mouseY = event.clientY\n\n const divRect = targetDiv.getBoundingClientRect()\n const divLeft = divRect.left\n const divTop = divRect.top\n const divRight = divRect.right\n const divBottom = divRect.bottom\n\n return mouseX >= divLeft && mouseX <= divRight && mouseY >= divTop && mouseY <= divBottom\n}\n\nexport type TemplateRef = {\n (target: Element | ComponentPublicInstance | null): void\n value: HTMLElement | ComponentPublicInstance | null | undefined\n readonly el: HTMLElement | undefined\n}\nexport function templateRef () {\n const el = shallowRef<HTMLElement | ComponentPublicInstance | null>()\n const fn = (target: HTMLElement | ComponentPublicInstance | null) => {\n el.value = target\n }\n Object.defineProperty(fn, 'value', {\n enumerable: true,\n get: () => el.value,\n set: val => el.value = val,\n })\n Object.defineProperty(fn, 'el', {\n enumerable: true,\n get: () => refElement(el.value),\n })\n\n return fn as TemplateRef\n}\n\nexport function checkPrintable (e: KeyboardEvent) {\n const isPrintableChar = e.key.length === 1\n const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey\n return isPrintableChar && noModifier\n}\n\nexport type Primitive = string | number | boolean | symbol | bigint\nexport function isPrimitive (value: unknown): value is Primitive {\n return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint'\n}\n\nexport function escapeForRegex (sign: string) {\n return '\\\\^$*+?.()|{}[]'.includes(sign)\n ? `\\\\${sign}`\n : sign\n}\n\nexport function extractNumber (text: string, decimalDigitsLimit: number | null, decimalSeparator: string) {\n const onlyValidCharacters = new RegExp(`[\\\\d\\\\-${escapeForRegex(decimalSeparator)}]`)\n const cleanText = text.split('')\n .filter(x => onlyValidCharacters.test(x))\n .filter((x, i, all) => (i === 0 && /[-]/.test(x)) || // sign allowed at the start\n (x === decimalSeparator && i === all.indexOf(x)) || // decimal separator allowed only once\n /\\d/.test(x))\n .join('')\n\n if (decimalDigitsLimit === 0) {\n return cleanText.split(decimalSeparator)[0]\n }\n\n const decimalPart = new RegExp(`${escapeForRegex(decimalSeparator)}\\\\d`)\n if (decimalDigitsLimit !== null && decimalPart.test(cleanText)) {\n const parts = cleanText.split(decimalSeparator)\n return [\n parts[0],\n parts[1].substring(0, decimalDigitsLimit),\n ].join(decimalSeparator)\n }\n\n return cleanText\n}\n\nexport function camelizeProps<T extends Record<string, unknown>> (props: T | null): T {\n const out = {} as T\n for (const prop in props) {\n out[camelize(prop) as keyof T] = props[prop]\n }\n return out\n}\n\nexport function onlyDefinedProps (props: Record<string, any>) {\n const booleanAttributes = ['checked', 'disabled']\n return Object.fromEntries(Object.entries(props)\n .filter(([key, v]) => booleanAttributes.includes(key) ? !!v : v !== undefined))\n}\n\nexport type NonEmptyArray<T> = [T, ...T[]]\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vuetify",
3
3
  "description": "Vue Material Component Framework",
4
- "version": "3.10.4",
4
+ "version": "3.10.6",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"