{"version":3,"file":"panel.mjs","sources":["../../../../../../packages/components/tabs-select/src/panel.ts"],"sourcesContent":["import {\n  buildProps,\n  definePropType,\n  isArray,\n  isNumber,\n  isObject,\n  isString,\n} from '@element-plus/utils'\n\nimport type { CSSProperties } from 'vue'\n\nexport interface ITreeOption {\n  label: string\n  value: string\n  disabled?: boolean\n  children?: ITreeOption[]\n  [key: string]: any\n}\n\nexport interface ITabItem {\n  type: 'group' | 'option'\n  title: string\n  id: string\n  options: ITreeOption[]\n}\nexport type IPanelModelValue =\n  | string\n  | number\n  | string[]\n  | number[]\n  | Record<string, any>\n  | Record<string, any>[]\n\nexport const panelProps = buildProps({\n  modelValue: {\n    type: definePropType<Array<IPanelModelValue>>([\n      Array,\n      Number,\n      String,\n      Object,\n    ]),\n  },\n  tabs: {\n    type: definePropType<Array<ITabItem>>(Array),\n    default: () => [],\n  },\n  tab: {\n    type: definePropType<string | number>([String, Number]),\n  },\n  prefixLabel: {\n    type: definePropType<string>(String),\n    default: '{x}',\n  },\n  multiple: {\n    type: definePropType<boolean>(Boolean),\n    default: false,\n  },\n  tabsProps: {\n    type: definePropType<Record<string, any>>(Object),\n  },\n  treeProps: {\n    type: definePropType<Record<string, any>>(Object),\n  },\n  border: {\n    type: definePropType<boolean>(Boolean),\n    default: true,\n  },\n  height: {\n    type: definePropType<string>(String),\n    default: '260px',\n  },\n  panelStyle: {\n    type: definePropType<CSSProperties>(Object),\n  },\n  showSearch: {\n    type: definePropType<boolean>(Boolean),\n    default: true,\n  },\n  valueKey: {\n    type: definePropType<string>(String),\n  },\n  loading: {\n    type: definePropType<boolean>(Boolean),\n    default: false,\n  },\n  remoteMethod: {\n    type: definePropType<\n      (query: string, currentTabId: string | number) => void\n    >(Function),\n  },\n} as const)\n\nexport const panelEmits = {\n  'update:tab': (val: string | number) => isString(val) || isNumber(val),\n  'update:modelValue': (val: IPanelModelValue) =>\n    isString(val) || isNumber(val) || isArray(val) || isObject(val),\n  change: (val: IPanelModelValue) =>\n    isString(val) || isNumber(val) || isArray(val) || isObject(val),\n  'selected-options-change': (val: ITreeOption[]) => isArray(val),\n}\n"],"names":[],"mappings":";;AAiCO,MAAM,aAAa,UAAW,CAAA;AAAA,EACnC,UAAY,EAAA;AAAA,IACV,MAAM,cAAwC,CAAA;AAAA,MAC5C,KAAA;AAAA,MACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,MAAA;AAAA,KACD,CAAA;AAAA,GACH;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAA,EAAM,eAAgC,KAAK,CAAA;AAAA,IAC3C,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,GAAK,EAAA;AAAA,IACH,IAAM,EAAA,cAAA,CAAgC,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,GACxD;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAA,EAAM,eAAuB,MAAM,CAAA;AAAA,IACnC,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAA,EAAM,eAAwB,OAAO,CAAA;AAAA,IACrC,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAA,EAAM,eAAoC,MAAM,CAAA;AAAA,GAClD;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAA,EAAM,eAAoC,MAAM,CAAA;AAAA,GAClD;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,IAAA,EAAM,eAAwB,OAAO,CAAA;AAAA,IACrC,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,IAAA,EAAM,eAAuB,MAAM,CAAA;AAAA,IACnC,OAAS,EAAA,OAAA;AAAA,GACX;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAA,EAAM,eAA8B,MAAM,CAAA;AAAA,GAC5C;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAA,EAAM,eAAwB,OAAO,CAAA;AAAA,IACrC,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAA,EAAM,eAAuB,MAAM,CAAA;AAAA,GACrC;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAA,EAAM,eAAwB,OAAO,CAAA;AAAA,IACrC,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAA,EAAM,eAEJ,QAAQ,CAAA;AAAA,GACZ;AACF,CAAU,EAAA;AAEH,MAAM,UAAa,GAAA;AAAA,EACxB,cAAc,CAAC,GAAA,KAAyB,SAAS,GAAG,CAAA,IAAK,SAAS,GAAG,CAAA;AAAA,EACrE,mBAAqB,EAAA,CAAC,GACpB,KAAA,QAAA,CAAS,GAAG,CAAA,IAAK,QAAS,CAAA,GAAG,CAAK,IAAA,OAAA,CAAQ,GAAG,CAAA,IAAK,SAAS,GAAG,CAAA;AAAA,EAChE,MAAQ,EAAA,CAAC,GACP,KAAA,QAAA,CAAS,GAAG,CAAA,IAAK,QAAS,CAAA,GAAG,CAAK,IAAA,OAAA,CAAQ,GAAG,CAAA,IAAK,SAAS,GAAG,CAAA;AAAA,EAChE,yBAA2B,EAAA,CAAC,GAAuB,KAAA,OAAA,CAAQ,GAAG,CAAA;AAChE;;;;"}