{"version":3,"file":"useProps.mjs","sources":["../../../../../../../packages/components/select-v2/src/useProps.ts"],"sourcesContent":["import { computed } from 'vue'\nimport { get } from 'lodash-unified'\n\nimport type { SelectV2Props } from './token'\nimport type { Option } from './select.types'\n\nexport interface Props {\n  label?: string\n  value?: string\n  disabled?: string\n  options?: string\n}\n\nexport const defaultProps: Required<Props> = {\n  label: 'label',\n  value: 'value',\n  disabled: 'disabled',\n  options: 'options',\n}\n\nexport function useProps(props: Pick<SelectV2Props, 'props'>) {\n  const aliasProps = computed(() => ({ ...defaultProps, ...props.props }))\n\n  const getLabel = (option: Option) => get(option, aliasProps.value.label)\n  const getValue = (option: Option) => get(option, aliasProps.value.value)\n  const getDisabled = (option: Option) => get(option, aliasProps.value.disabled)\n  const getOptions = (option: Option) => get(option, aliasProps.value.options)\n\n  return {\n    aliasProps,\n    getLabel,\n    getValue,\n    getDisabled,\n    getOptions,\n  }\n}\n"],"names":[],"mappings":";;;AAaO,MAAM,YAAgC,GAAA;AAAA,EAC3C,KAAO,EAAA,OAAA;AAAA,EACP,KAAO,EAAA,OAAA;AAAA,EACP,QAAU,EAAA,UAAA;AAAA,EACV,OAAS,EAAA,SAAA;AACX,EAAA;AAEO,SAAS,SAAS,KAAqC,EAAA;AAC5D,EAAM,MAAA,UAAA,GAAa,SAAS,OAAO,EAAE,GAAG,YAAc,EAAA,GAAG,KAAM,CAAA,KAAA,EAAQ,CAAA,CAAA,CAAA;AAEvE,EAAA,MAAM,WAAW,CAAC,MAAA,KAAmB,IAAI,MAAQ,EAAA,UAAA,CAAW,MAAM,KAAK,CAAA,CAAA;AACvE,EAAA,MAAM,WAAW,CAAC,MAAA,KAAmB,IAAI,MAAQ,EAAA,UAAA,CAAW,MAAM,KAAK,CAAA,CAAA;AACvE,EAAA,MAAM,cAAc,CAAC,MAAA,KAAmB,IAAI,MAAQ,EAAA,UAAA,CAAW,MAAM,QAAQ,CAAA,CAAA;AAC7E,EAAA,MAAM,aAAa,CAAC,MAAA,KAAmB,IAAI,MAAQ,EAAA,UAAA,CAAW,MAAM,OAAO,CAAA,CAAA;AAE3E,EAAO,OAAA;AAAA,IACL,UAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAA;AAAA,IACA,UAAA;AAAA,GACF,CAAA;AACF;;;;"}