{"version":3,"file":"key-value.mjs","sources":["../../../../../../../packages/components/key-value/src/config/key-value.ts"],"sourcesContent":["import { buildProps, definePropType, guid } from '@ll-plus/utils'\r\nimport type { ExtractPropTypes } from 'vue'\r\nimport { type FormColumn } from '@ll-plus/components'\r\nimport type KeyValue from '../key-value.vue'\r\n\r\n// 定义 IKeyType 接口\r\nexport interface IKeyType {\r\n  label: string\r\n  value: string\r\n  option: FormColumn\r\n}\r\n\r\n// 定义 IKeyValueReturn 接口\r\nexport interface IKeyValueReturn {\r\n  key: any | null\r\n  value: any | null\r\n}\r\n\r\n// 定义 IKeyValueItem 类型\r\nexport type IKeyValueItem = IKeyValueReturn & { guid: string }\r\n\r\n// 定义 IKeyValueType 类型\r\ntype IKeyValueType = 'single' | 'doubt'\r\n\r\n// 定义 getKeyValueItem 函数\r\nexport const getKeyValueItem = (): IKeyValueItem => ({\r\n  key: null,\r\n  value: null,\r\n  guid: guid(),\r\n})\r\n\r\n// 定义 keyValueProps 常量\r\nexport const keyValueProps = buildProps({\r\n  value: {\r\n    type: definePropType<IKeyValueReturn[]>(Array),\r\n    default: (): IKeyValueReturn[] => [{ key: null, value: null }],\r\n  },\r\n  loading: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  disabled: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  keyLabel: {\r\n    type: String,\r\n    default: '',\r\n  },\r\n  valueLabel: {\r\n    type: String,\r\n    default: '',\r\n  },\r\n  addText: {\r\n    type: String,\r\n    default: '添加',\r\n  },\r\n  keyValueType: {\r\n    type: definePropType<IKeyValueType>(String),\r\n    default: 'doubt',\r\n  },\r\n  keyType: {\r\n    type: definePropType<FormColumn>(Object),\r\n    default: (): FormColumn => ({\r\n      type: 'input',\r\n      placeholder: '请输入Key',\r\n    }),\r\n  },\r\n  keyTypes: {\r\n    type: definePropType<IKeyType[]>(Array),\r\n    default: (): IKeyType[] => [],\r\n  },\r\n  valueType: {\r\n    type: definePropType<FormColumn>(Object),\r\n    default: (): FormColumn => ({\r\n      type: 'input',\r\n      placeholder: '请输入Value',\r\n    }),\r\n  },\r\n  disabledValue: {\r\n    type: definePropType<number[]>(Array),\r\n    default: (): number[] => [],\r\n  },\r\n  disabledKey: {\r\n    type: definePropType<number[]>(Array),\r\n    default: (): number[] => [],\r\n  },\r\n  disabledDelete: {\r\n    type: definePropType<number[]>(Array),\r\n    default: (): number[] => [],\r\n  },\r\n  disabledAdd: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  validate: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  keepLast: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n} as const)\r\n\r\n// 定义 IKeyValueAddEmits 接口\r\nexport interface IKeyValueAddEmits {\r\n  index: number\r\n  item: IKeyValueItem\r\n  value: IKeyValueItem[]\r\n}\r\n\r\n// 定义 keyValueEmits 常量\r\nexport const keyValueEmits = {\r\n  change: (value: IKeyValueReturn[]): boolean => !!value,\r\n  add: (params: IKeyValueAddEmits): boolean => !!params,\r\n  delete: (index: number): boolean => typeof index === 'number',\r\n  'update:value': (value: IKeyValueReturn[]): boolean => !!value,\r\n}\r\n\r\n// 定义 KeyValueProps 类型\r\nexport type KeyValueProps = ExtractPropTypes<typeof keyValueProps>\r\n// 定义 KeyValueEmits 类型\r\nexport type KeyValueEmits = typeof keyValueEmits\r\n// 定义 KeyValueInstance 类型\r\nexport type KeyValueInstance = InstanceType<typeof KeyValue>\r\n"],"names":[],"mappings":";;;;;AAyBO,MAAM,kBAAkB,OAAsB;AAAA,EACnD,GAAA,EAAK,IAAA;AAAA,EACL,KAAA,EAAO,IAAA;AAAA,EACP,MAAM,IAAA;AACR,CAAA;AAGO,MAAM,gBAAgB,UAAA,CAAW;AAAA,EACtC,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,eAAkC,KAAK,CAAA;AAAA,IAC7C,OAAA,EAAS,MAAyB,CAAC,EAAE,KAAK,IAAA,EAAM,KAAA,EAAO,MAAM;AAAA,GAC/D;AAAA,EACA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,eAA8B,MAAM,CAAA;AAAA,IAC1C,OAAA,EAAS;AAAA,GACX;AAAA,EACA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,eAA2B,MAAM,CAAA;AAAA,IACvC,SAAS,OAAmB;AAAA,MAC1B,IAAA,EAAM,OAAA;AAAA,MACN,WAAA,EAAa;AAAA,KACf;AAAA,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,eAA2B,KAAK,CAAA;AAAA,IACtC,OAAA,EAAS,MAAkB;AAAC,GAC9B;AAAA,EACA,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,eAA2B,MAAM,CAAA;AAAA,IACvC,SAAS,OAAmB;AAAA,MAC1B,IAAA,EAAM,OAAA;AAAA,MACN,WAAA,EAAa;AAAA,KACf;AAAA,GACF;AAAA,EACA,aAAA,EAAe;AAAA,IACb,IAAA,EAAM,eAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAgB;AAAC,GAC5B;AAAA,EACA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,eAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAgB;AAAC,GAC5B;AAAA,EACA,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,eAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAgB;AAAC,GAC5B;AAAA,EACA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb,CAAU;AAUH,MAAM,aAAA,GAAgB;AAAA,EAC3B,MAAA,EAAQ,CAAC,KAAA,KAAsC,CAAC,CAAC,KAAA;AAAA,EACjD,GAAA,EAAK,CAAC,MAAA,KAAuC,CAAC,CAAC,MAAA;AAAA,EAC/C,MAAA,EAAQ,CAAC,KAAA,KAA2B,OAAO,KAAA,KAAU,QAAA;AAAA,EACrD,cAAA,EAAgB,CAAC,KAAA,KAAsC,CAAC,CAAC;AAC3D;;;;"}