{"version":3,"file":"tabs.mjs","names":["defineComponent","renderSlot","isVNode","_isVNode","createVNode","_createVNode","buildProps","definePropType","mutable","UPDATE_MODEL_EVENT","tabsCard","tabsLine","_isSlot","s","Object","prototype","toString","call","baseTabsProps","modelValue","type","String","Number","tabListData","Array","default","noCard","Boolean","baseTabsEmits","name","change","components","props","emits","setup","emit","slots","handleChange","val","_slot","$event","_slot2"],"sources":["../../../../../../packages/components/base-tabs/src/tabs.tsx"],"sourcesContent":["import { defineComponent, renderSlot } from 'vue'\nimport { buildProps, definePropType, mutable } from '@pit-element-plus/utils'\nimport { UPDATE_MODEL_EVENT } from '@pit-element-plus/constants'\nimport tabsCard from './tabsCard.vue'\nimport tabsLine from './tabsLine.vue'\nimport type { BaseTabsPaneContext } from './constants'\nimport type { ExtractPropTypes } from 'vue'\n\nexport interface TabListData {\n  name: string | number\n  label: string | number\n}\n\nexport type TabListDatas = TabListData[]\n\nexport const baseTabsProps = buildProps({\n  modelValue: {\n    type: [String, Number],\n  },\n  tabListData: {\n    type: definePropType<TabListDatas>(Array),\n    default: () => mutable([]),\n  },\n  noCard: {\n    type: Boolean,\n    default: false,\n  },\n} as const)\n\nexport type BaseTabsProps = ExtractPropTypes<typeof baseTabsProps>\n\nexport const baseTabsEmits = {\n  [UPDATE_MODEL_EVENT]: (name: string | number) => name,\n  change: (name: string | number) => name,\n}\nexport type BaseTabsEmits = typeof baseTabsEmits\n\nexport type BaseTabsPanes = Record<number, BaseTabsPaneContext>\n\nexport default defineComponent({\n  name: 'ElBaseTabs',\n\n  components: {\n    tabsCard,\n    tabsLine,\n  },\n\n  props: baseTabsProps,\n  emits: baseTabsEmits,\n\n  setup(props: BaseTabsProps, { emit, slots }) {\n    const handleChange = function (val: string | number) {\n      emit('update:modelValue', val)\n      emit('change', val)\n    }\n    return () => {\n      if (props.noCard) {\n        return (\n          <tabsLine\n            v-model={props.modelValue}\n            tabListData={props.tabListData}\n            noCard={props.noCard}\n            onChange={handleChange}\n          >\n            {renderSlot(slots, 'default')}\n          </tabsLine>\n        )\n      } else {\n        return (\n          <tabsCard\n            v-model={props.modelValue}\n            tabListData={props.tabListData}\n            noCard={props.noCard}\n            onChange={handleChange}\n          >\n            {renderSlot(slots, 'default')}\n          </tabsCard>\n        )\n      }\n    }\n  },\n})\n"],"mappings":";;;;;;;;AAIqC,SAAAY,QAAAC,GAAA;AAAA,QAAA,OAAAA,MAAA,cAAAC,OAAAC,UAAAC,SAAAC,KAAAJ,EAAA,KAAA,qBAAA,CAAAV,QAAAU,EAAA;;AAWrC,MAAaK,gBAAgBZ,WAAW;CACtCa,YAAY,EACVC,MAAM,CAACC,QAAQC,OAAM,EACtB;CACDC,aAAa;EACXH,MAAMb,eAA6BiB,MAAM;EACzCC,eAAejB,QAAQ,EAAE,CAAA;EAC1B;CACDkB,QAAQ;EACNN,MAAMO;EACNF,SAAS;EACX;CACQ,CAAC;AAIX,MAAaG,gBAAgB;EAC1BnB,sBAAsBoB,SAA0BA;CACjDC,SAASD,SAA0BA;CACpC;AAKD,mBAAe7B,gCAAgB;CAC7B6B,MAAM;CAENE,YAAY;EACVrB;EACAC;EACD;CAEDqB,OAAOd;CACPe,OAAOL;CAEPM,MAAMF,OAAsB,EAAEG,MAAMC,SAAS;EAC3C,MAAMC,eAAe,SAAUC,KAAsB;AACnDH,QAAK,qBAAqBG,IAAI;AAC9BH,QAAK,UAAUG,IAAI;;AAErB,eAAa;AACX,OAAIN,MAAMN,QAAQ;IAAA,IAAAa;AAChB,WAAAlC,YAAAM,kBAAA;KAAA,cAEaqB,MAAMb;KAAU,wBAAAqB,WAAhBR,MAAMb,aAAUqB;KAAA,eACZR,MAAMT;KAAW,UACtBS,MAAMN;KAAM,YACVW;KAAY,EAAAzB,QAAA2B,QAErBtC,WAAWmC,OAAO,UAAU,CAAA,GAAAG,QAAA,EAAAd,eAAA,CAAAc,MAAA,EAAA,CAAA;UAG5B;IAAA,IAAAE;AACL,WAAApC,YAAAK,kBAAA;KAAA,cAEasB,MAAMb;KAAU,wBAAAqB,WAAhBR,MAAMb,aAAUqB;KAAA,eACZR,MAAMT;KAAW,UACtBS,MAAMN;KAAM,YACVW;KAAY,EAAAzB,QAAA6B,SAErBxC,WAAWmC,OAAO,UAAU,CAAA,GAAAK,SAAA,EAAAhB,eAAA,CAAAgB,OAAA,EAAA,CAAA;;;;CAMxC,CAAC"}