{"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;;;;"}