{"version":3,"file":"index.mjs","sources":["../../../../components/form/hooks/index.ts"],"sourcesContent":["import { Ref, inject, computed, getCurrentInstance } from 'vue';\nimport { TdFormProps } from '../type';\n\nexport interface FormDisabledProvider {\n  disabled: Ref<TdFormProps['disabled']>;\n}\n\nexport interface FormReadonlyProvider {\n  readonly: Ref<TdFormProps['readonly']>;\n}\n\n/**\n * @deprecated use src/hooks/useDisabled instead\n */\nexport function useFormDisabled(extend?: Ref<boolean>) {\n  const ctx = getCurrentInstance();\n  const propsDisabled = computed(() => ctx.props.disabled as boolean);\n  const { disabled } = inject<FormDisabledProvider>('formDisabled', Object.create(null));\n  return computed(() => propsDisabled.value || disabled?.value || extend?.value || false);\n}\n\n/**\n * 创建一个计算属性，用于判断表单是否应为只读状态。\n * 此函数考虑了多个来源来决定表单的只读状态：\n * 1. 组件的 `readonly` 属性；\n * 2. 通过 `formReadonly` 命名空间注入的只读状态；\n * 3. 可选的 `extend` 参数，用于进一步扩展只读状态的判断逻辑。\n *\n * @param extend - 一个可选的 Ref<boolean>，用于扩展判断表单是否只读的逻辑。如果提供，它的值将被考虑在内。\n * @returns 返回一个计算属性，该属性根据上述条件决定其值，最终确定表单是否应处于只读状态。\n */\nexport function useFormReadonly(extend?: Ref<boolean>) {\n  // 获取当前实例\n  const ctx = getCurrentInstance();\n  // 计算属性，用于获取组件的 `readonly` 属性值\n  const propsReadonly = computed(() => ctx.props.readonly as boolean);\n  // 从 `formReadonly` 命名空间注入的只读状态\n  const { readonly } = inject<FormReadonlyProvider>('formReadonly', Object.create(null));\n  // 计算最终的只读状态，优先级从高到低为：组件的 `readonly` 属性、注入的 `readonly` 状态、`extend` 参数的值，最后是默认的 `false`\n  return computed(() => propsReadonly.value || readonly?.value || extend?.value || false);\n}\n"],"names":["useFormDisabled","extend","ctx","getCurrentInstance","propsDisabled","computed","props","disabled","_inject","inject","Object","create","value","useFormReadonly","propsReadonly","readonly","_inject2"],"mappings":";;;;;;;;AAcO,SAASA,gBAAgBC,MAAuB,EAAA;AACrD,EAAA,IAAMC,MAAMC,kBAAmB,EAAA,CAAA;EAC/B,IAAMC,aAAgB,GAAAC,QAAA,CAAS,YAAA;AAAA,IAAA,OAAMH,GAAA,CAAII,MAAMC,QAAmB,CAAA;GAAA,CAAA,CAAA;AAC5D,EAAA,IAAAC,OAAA,GAAeC,MAAA,CAA6B,+BAAuBC,MAAA,CAAAC,MAAA,CAAO,IAAI,CAAC,CAAA;IAA7EJ,mBAAAA;AACD,EAAA,OAAAF,QAAA,CAAS,YAAA;IAAA,OAAMD,aAAc,CAAAQ,KAAA,KAASL,aAAAA,IAAAA,IAAAA,+BAAAA,SAAUK,KAAS,CAAAX,KAAAA,MAAA,aAAAA,MAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,MAAA,CAAQW,UAAS,KAAK,CAAA;GAAA,CAAA,CAAA;AACxF,CAAA;AAYO,SAASC,gBAAgBZ,MAAuB,EAAA;AAErD,EAAA,IAAMC,MAAMC,kBAAmB,EAAA,CAAA;EAE/B,IAAMW,aAAgB,GAAAT,QAAA,CAAS,YAAA;AAAA,IAAA,OAAMH,GAAA,CAAII,MAAMS,QAAmB,CAAA;GAAA,CAAA,CAAA;AAE5D,EAAA,IAAAC,QAAA,GAAeP,MAAA,CAA6B,+BAAuBC,MAAA,CAAAC,MAAA,CAAO,IAAI,CAAC,CAAA;IAA7EI,oBAAAA;AAED,EAAA,OAAAV,QAAA,CAAS,YAAA;IAAA,OAAMS,aAAc,CAAAF,KAAA,KAASG,aAAAA,IAAAA,IAAAA,+BAAAA,SAAUH,KAAS,CAAAX,KAAAA,MAAA,aAAAA,MAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,MAAA,CAAQW,UAAS,KAAK,CAAA;GAAA,CAAA,CAAA;AACxF;;;;"}