{"version":3,"file":"tree-select.mjs","sources":["../../../../../packages/components/tree-select/src/tree-select.ts"],"sourcesContent":["import { FORM_COMPONENT_PROPS } from '@element-ultra/shared'\nimport type { EmitFn } from '@element-ultra/utils'\nimport type { ExtractPropTypes, PropType } from 'vue'\nimport type { TreeNode } from '@element-ultra/components/tree'\n\nexport const treeSelectProps = {\n  ...FORM_COMPONENT_PROPS,\n  // common\n  modelValue: {\n    type: [String, Number, Array] as PropType<\n      (string | number)[] | string | number\n    >\n  },\n  multiple: {\n    type: Boolean,\n    default: false\n  },\n\n  size: {\n    type: String as PropType<'large' | 'default' | 'small'>\n  },\n\n  /** 占位文本 */\n  placeholder: {\n    type: String,\n    default: '请选择'\n  },\n\n  /** 是否禁用 */\n  disabled: {\n    type: Boolean,\n    default: undefined\n  },\n\n  tagHit: {\n    type: Boolean,\n    default: false\n  },\n\n  /** 选择的值的字段 */\n  valueKey: {\n    type: String,\n    default: 'value'\n  },\n  /** 选择的文本的字段 */\n  labelKey: {\n    type: String,\n    default: 'label'\n  },\n  /** 选项中表示子元素的字段 */\n  childrenKey: {\n    type: String,\n    default: 'children'\n  },\n  /** 多选数量限制 */\n  multipleLimit: {\n    type: Number\n  },\n  /** 数据选项 */\n  data: {\n    type: Array as PropType<any[]>,\n    default: () => []\n  },\n  /** 是否严格选择 */\n  checkStrictly: {\n    type: Boolean,\n    default: false\n  },\n  /** 树的缩进 */\n  treeIndent: {\n    type: Number,\n    default: 16\n  },\n  /** 树的图标 */\n  treeIcon: {\n    type: String\n  },\n  /** 选项为空时显示的文本 */\n  emptyText: {\n    type: String\n  },\n  /** 高亮选中的节点 */\n  highlightCurrent: {\n    type: Boolean,\n    default: true\n  },\n  /** 可选择配置 */\n  selectable: {\n    type: Function as PropType<(node: TreeNode) => boolean>\n  },\n  /** 回显的文本, 即选项中没有与modelValue匹配的数据时所显示的文本 */\n  text: {\n    type: String\n  },\n  /** 回落的文本的字段, 即选项中没有与modelValue匹配的数据时所显示的文本 */\n  textField: {\n    type: String\n  }\n} as const\n\nexport const treeSelectEmits = {\n  'update:modelValue': (\n    value: string | number | (string | number)[],\n    label: string | string[],\n    item: Record<string, any> | undefined | Record<string, any>[]\n  ) => true,\n  'update:text': (text: string | string[]) => true\n}\n\nexport type TreeSelectProps = ExtractPropTypes<typeof treeSelectProps>\n\nexport type TreeSelectEmits = EmitFn<typeof treeSelectEmits>\n"],"names":[],"mappings":";;;AAKO,MAAM,eAAkB,GAAA;AAAA,EAC7B,GAAG,oBAAA;AAAA;AAAA,EAEH,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,CAAC,MAAQ,EAAA,MAAA,EAAQ,KAAK,CAAA;AAAA,GAG9B;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EAEA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAAA,EAGA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,oBAAA;AAAA,GACX;AAAA;AAAA,EAGA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA,CAAA;AAAA,GACX;AAAA,EAEA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA,EAGA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,OAAA;AAAA,GACX;AAAA;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,OAAA;AAAA,GACX;AAAA;AAAA,EAEA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,UAAA;AAAA,GACX;AAAA;AAAA,EAEA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAAA,EAEA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,KAAA;AAAA,IACN,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA;AAAA,EAEA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA,EAEA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAAA,EAEA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAAA,EAEA,gBAAkB,EAAA;AAAA,IAChB,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA,EAEA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,QAAA;AAAA,GACR;AAAA;AAAA,EAEA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAAA,EAEA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,GACR;AACF,EAAA;AAEO,MAAM,eAAkB,GAAA;AAAA,EAC7B,mBAAqB,EAAA,CACnB,KACA,EAAA,KAAA,EACA,IACG,KAAA,IAAA;AAAA,EACL,aAAA,EAAe,CAAC,IAA4B,KAAA,IAAA;AAC9C;;;;"}