UNPKG

xdesign-vue-next

Version:

XDesign Component for vue-next

1 lines 2.38 kB
{"version":3,"file":"useDefaultValue.mjs","sources":["../../src/hooks/useDefaultValue.ts"],"sourcesContent":["import { ref, Ref, getCurrentInstance } from 'vue';\nimport kebabCase from 'lodash/kebabCase';\nimport { ChangeHandler } from './useVModel';\n\nexport default function useDefaultValue<T, P extends any[]>(\n value: Ref<T>,\n defaultValue: T,\n onChange: ChangeHandler<T, P>,\n propsName: string,\n): [Ref<T>, ChangeHandler<T, P>] {\n const { emit, vnode } = getCurrentInstance();\n const internalValue: Ref<T> = ref();\n\n const vProps = vnode.props || {};\n const isVMP =\n Object.prototype.hasOwnProperty.call(vProps, propsName) ||\n Object.prototype.hasOwnProperty.call(vProps, kebabCase(propsName));\n\n if (isVMP) {\n return [\n value,\n (newValue, ...args) => {\n emit(`update:${propsName}`, newValue);\n onChange?.(newValue, ...args);\n },\n ];\n }\n\n internalValue.value = defaultValue;\n return [\n internalValue,\n (newValue, ...args) => {\n internalValue.value = newValue;\n onChange?.(newValue, ...args);\n },\n ];\n}\n"],"names":["kebabCase","emit","args","onChange"],"mappings":";;;;;;;;;;;;;;;;;;AAIA,SAAA,eAAA,CAAA,KAAA,EAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EAAA;AAME,EAAA,IAAA,mBAAA,GAAA,kBAAA,EAAA;;;AACA,EAAA,IAAA,aAAA,GAAA,GAAA,EAAA,CAAA;AAEM,EAAA,IAAA,MAAA,GAAA,KAAA,CAAA,KAAA,IAAA,EAAA,CAAA;AACN,EAAA,IAAA,KAAA,GAAA,MAAA,CAAA,SAAA,CAAA,cAAA,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA,IAAA,MAAA,CAAA,SAAA,CAAA,cAAA,CAAA,IAAA,CAAA,MAAA,EAAAA,WAAA,CAAA,SAAA,CAAA,CAAA,CAAA;AAIA,EAAA,IAAA,KAAA,EAAA;AACS,IAAA,OAAA,CAAA,KAAA,EAAA,UAAA,QAAA,EAAA;AAGEC,MAAAA,IAAAA,CAAAA,SAAAA,CAAAA,MAAAA,CAAAA,SAAAA,CAAAA,EAAAA,QAAAA,CAAAA,CAAAA;;AADOC,QAAAA,IAAAA,CAAAA,IAAAA,GAAAA,CAAAA,CAAAA,GAAAA,SAAAA,CAAAA,IAAAA,CAAAA,CAAAA;AAAS,OAAA;AAEVC,MAAAA,QAAAA,KAAAA,IAAAA,IAAAA,QAAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAAA,CAAAA,KAAAA,CAAAA,KAAAA,CAAAA,EAAAA,CAAAA,QAAAA,CAAAA,CAAAA,MAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA;AACb,KAAA,CAAA,CAAA;AAEJ,GAAA;;AAGO,EAAA,OAAA,CAAA,aAAA,EAAA,UAAA,QAAA,EAAA;;;AAESD,MAAAA,IAAAA,CAAAA,KAAAA,GAAAA,CAAAA,CAAAA,GAAAA,SAAAA,CAAAA,KAAAA,CAAAA,CAAAA;AAAS,KAAA;AAEVC,IAAAA,QAAAA,KAAAA,IAAAA,IAAAA,QAAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAAA,CAAAA,KAAAA,CAAAA,KAAAA,CAAAA,EAAAA,CAAAA,QAAAA,CAAAA,CAAAA,MAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA;AACb,GAAA,CAAA,CAAA;AAEJ;;;;"}