{"version":3,"file":"index.mjs","sources":["../../../../packages/hooks/use-common-props/index.ts"],"sourcesContent":["import { inject, computed, type Ref } from 'vue'\nimport { formKey } from '@element-ultra/tokens'\nimport type { ComponentSize } from '@element-ultra/shared'\nimport { useConfig } from '../use-config'\n\n/**\n * 获取组件大小\n * @param props 组件属性, 一个有size属性的props, 优先使用props\n * @param fallback 第二优先的属性\n * @param ignore 忽略的size来源\n * @returns 组件的size\n */\ninterface SizeOption {\n  props: { size?: ComponentSize; [key: string]: any }\n  fallback?: Ref<ComponentSize | undefined>\n  ignore?: Array<'form' | 'global'>\n}\nexport const useSize = (option: SizeOption): Ref<ComponentSize> => {\n  const { props, fallback, ignore } = option\n  const globalConfig = ignore?.includes('global') ? undefined : useConfig()[0]\n  const form = ignore?.includes('form') ? undefined : inject(formKey, undefined)\n\n  // 优先使用prop\n  return computed(() => {\n    return (\n      props.size ||\n      fallback?.value ||\n      form?.props.size ||\n      globalConfig?.size ||\n      'default'\n    )\n  })\n}\n\n/**\n * 获取组件大小\n * @param props 组件属性, 一个有size属性的props, 优先使用props\n * @param fallback 第二优先的属性\n * @param ignore 忽略的size来源\n * @returns 组件的size\n */\n interface DisabledOption {\n  props: { disabled?: boolean; [key: string]: any }\n  fallback?: Ref<boolean | undefined>\n}\n\nexport const useDisabled = (options: DisabledOption) => {\n  const { props, fallback } = options\n  const form = inject(formKey, undefined)\n  return computed(\n    () => props.disabled ?? fallback?.value ?? form?.props.disabled ?? false\n  )\n}\n"],"names":[],"mappings":";;;;;AAiBa,MAAA,OAAA,GAAU,CAAC,MAA2C,KAAA;AACjE,EAAA,MAAM,EAAE,KAAA,EAAO,QAAU,EAAA,MAAA,EAAW,GAAA,MAAA,CAAA;AACpC,EAAA,MAAM,gBAAe,MAAQ,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,QAAA,CAAS,aAAY,KAAY,CAAA,GAAA,SAAA,GAAY,CAAC,CAAA,CAAA;AAC3E,EAAA,MAAM,QAAO,MAAQ,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,QAAA,CAAS,WAAU,KAAY,CAAA,GAAA,MAAA,CAAO,SAAS,KAAS,CAAA,CAAA,CAAA;AAG7E,EAAA,OAAO,SAAS,MAAM;AACpB,IACE,OAAA,KAAA,CAAM,SACN,QAAU,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA,KACV,6BAAM,KAAM,CAAA,IAAA,CAAA,KACZ,6CAAc,IACd,CAAA,IAAA,SAAA,CAAA;AAAA,GAEH,CAAA,CAAA;AACH,EAAA;AAca,MAAA,WAAA,GAAc,CAAC,OAA4B,KAAA;AACtD,EAAM,MAAA,EAAE,KAAO,EAAA,QAAA,EAAa,GAAA,OAAA,CAAA;AAC5B,EAAM,MAAA,IAAA,GAAO,MAAO,CAAA,OAAA,EAAS,KAAS,CAAA,CAAA,CAAA;AACtC,EAAO,OAAA,QAAA;AAAA,IACL,MAAG;AAlDP,MAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAkDU,MAAM,OAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAA,QAAA,KAAN,YAAkB,QAAU,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,KAAA,KAA5B,YAAqC,IAAM,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,KAAA,CAAM,aAAjD,IAA6D,GAAA,EAAA,GAAA,KAAA,CAAA;AAAA,KAAA;AAAA,GACrE,CAAA;AACF;;;;"}