{"version":3,"file":"tree.mjs","sources":["../../../../../../packages/components/tree/src/tree.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\r\n\r\nimport type { ExtractPropTypes } from 'vue'\r\n\r\nimport type { TreeProps as AntTreePrps } from 'ant-design-vue'\r\n\r\nimport { FieldNames, Key } from 'ant-design-vue/es/vc-tree/interface'\r\nimport { IconProps } from '../../icon'\r\nimport type Tree from './tree.vue'\r\n\r\nexport const treeProps = buildProps({\r\n  selectedKeys: {\r\n    type: definePropType<Key[]>(Array),\r\n  },\r\n  expandedKeys: {\r\n    type: definePropType<Key[]>(Array),\r\n  },\r\n  checkedKeys: {\r\n    type: definePropType<AntTreePrps['checkedKeys']>([Array, Object]),\r\n  },\r\n  treeData: {\r\n    type: definePropType<AntTreePrps['treeData']>(Array),\r\n    default: () => [] as AntTreePrps['treeData'],\r\n  },\r\n  // 默认展开所有树节点\r\n  defaultExpandAll: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  // 映射字段\r\n  fieldNames: {\r\n    type: definePropType<FieldNames>(Object),\r\n    default: () =>\r\n      ({\r\n        children: 'children',\r\n        title: 'title',\r\n        key: 'key',\r\n      } as FieldNames),\r\n  },\r\n  // 支持多选\r\n  multiple: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  // 父子节点选中状态不再关联\r\n  checkStrictly: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  // 展开的图标\r\n  expandIcon: {\r\n    type: definePropType<IconProps>(Object),\r\n  },\r\n  // 收起的图标\r\n  collapseIcon: {\r\n    type: definePropType<IconProps>(Object),\r\n  },\r\n  // 虚拟滚动\r\n  virtual: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n  // 组件高度\r\n  height: {\r\n    type: Number,\r\n  },\r\n  // 显示标题前图标\r\n  showIcon: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  // 点击行展开\r\n  clickRowExpand: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  // 开启操作按钮\r\n  enableOperate: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  // 启用异步加载\r\n  enableLazyLoad: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  // 异步加载函数\r\n  loadData: {\r\n    type: definePropType<AntTreePrps['loadData']>(Function),\r\n  },\r\n  // 缓存已加载数据\r\n  cacheLoadedData: {\r\n    type: Boolean,\r\n    default: true,\r\n  },\r\n  // 已经加载的节点\r\n  loadedKeys: {\r\n    type: definePropType<Key[]>(Array),\r\n  },\r\n\r\n  // 连接线\r\n  showLine: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n\r\n  // 显示叶子图标\r\n  showLeafIcon: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n\r\n  // 文本颜色\r\n  textColor: {\r\n    type: String,\r\n    default: 'var(--color-text)',\r\n  },\r\n\r\n  // 文本大小\r\n  textSize: {\r\n    type: Number,\r\n    default: 14,\r\n  },\r\n\r\n  // 图标大小\r\n  iconSize: Number,\r\n\r\n  // 图标颜色\r\n  iconColor: String,\r\n} as const)\r\n\r\nexport const treeEmits = {\r\n  'update:selectedKeys': (value: any) => !!value,\r\n  'update:expandedKeys': (value: any) => !!value,\r\n  'update:checkedKeys': (value: any) => !!value,\r\n  expand: (expandedKeys: Key[], e?: any) => !!expandedKeys || !!e,\r\n  select: (selectKeys: Key[], e?: any) => !!selectKeys || !!e,\r\n  check: (checkKeys: AntTreePrps['checkedKeys'], e?: any) => !!checkKeys || !!e,\r\n  nodeClick: (nodeData: any) => !!nodeData,\r\n} as const\r\n\r\n// props\r\nexport type TreeProps = ExtractPropTypes<typeof treeProps>\r\n\r\n// emits\r\nexport type TreeEmits = typeof treeEmits\r\n\r\n// instance\r\nexport type TreeInstance = InstanceType<typeof Tree>\r\n"],"names":[],"mappings":";;;;AAUO,MAAM,YAAY,UAAA,CAAW;AAAA,EAClC,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,eAAsB,KAAK;AAAA,GACnC;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,eAAsB,KAAK;AAAA,GACnC;AAAA,EACA,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,cAAA,CAA2C,CAAC,KAAA,EAAO,MAAM,CAAC;AAAA,GAClE;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,eAAwC,KAAK,CAAA;AAAA,IACnD,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA;AAAA,EAEA,gBAAA,EAAkB;AAAA,IAChB,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,eAA2B,MAAM,CAAA;AAAA,IACvC,SAAS,OACN;AAAA,MACC,QAAA,EAAU,UAAA;AAAA,MACV,KAAA,EAAO,OAAA;AAAA,MACP,GAAA,EAAK;AAAA,KACP;AAAA,GACJ;AAAA;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,aAAA,EAAe;AAAA,IACb,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,eAA0B,MAAM;AAAA,GACxC;AAAA;AAAA,EAEA,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,eAA0B,MAAM;AAAA,GACxC;AAAA;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM;AAAA,GACR;AAAA;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,aAAA,EAAe;AAAA,IACb,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,eAAwC,QAAQ;AAAA,GACxD;AAAA;AAAA,EAEA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,eAAsB,KAAK;AAAA,GACnC;AAAA;AAAA,EAGA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAGA,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAGA,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAGA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAGA,QAAA,EAAU,MAAA;AAAA;AAAA,EAGV,SAAA,EAAW;AACb,CAAU;AAEH,MAAM,SAAA,GAAY;AAAA,EACvB,qBAAA,EAAuB,CAAC,KAAA,KAAe,CAAC,CAAC,KAAA;AAAA,EACzC,qBAAA,EAAuB,CAAC,KAAA,KAAe,CAAC,CAAC,KAAA;AAAA,EACzC,oBAAA,EAAsB,CAAC,KAAA,KAAe,CAAC,CAAC,KAAA;AAAA,EACxC,MAAA,EAAQ,CAAC,YAAA,EAAqB,CAAA,KAAY,CAAC,CAAC,YAAA,IAAgB,CAAC,CAAC,CAAA;AAAA,EAC9D,MAAA,EAAQ,CAAC,UAAA,EAAmB,CAAA,KAAY,CAAC,CAAC,UAAA,IAAc,CAAC,CAAC,CAAA;AAAA,EAC1D,KAAA,EAAO,CAAC,SAAA,EAAuC,CAAA,KAAY,CAAC,CAAC,SAAA,IAAa,CAAC,CAAC,CAAA;AAAA,EAC5E,SAAA,EAAW,CAAC,QAAA,KAAkB,CAAC,CAAC;AAClC;;;;"}