{"version":3,"file":"symbol.mjs","sources":["../../../components/tab-nav/symbol.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\r\n\r\nexport type TabNavAlign = 'left' | 'center' | 'right'\r\nexport type TabNavPlacement = 'top' | 'right' | 'bottom' | 'left'\r\n\r\nexport interface TabNavItemOptions {\r\n  label: string | number,\r\n  content?: string,\r\n  icon?: Record<string, any>,\r\n  disabled?: boolean,\r\n  closable?: boolean,\r\n  onToggle?: (active: boolean) => void,\r\n}\r\n\r\nexport type TabNavOptions = TabNavItemOptions | string | number\r\n\r\nexport interface ItemState {\r\n  el?: HTMLElement | null,\r\n  label: string | number,\r\n  index: number,\r\n  total: number,\r\n}\r\n\r\nexport interface TabNavState {\r\n  currentActive: string | number,\r\n  closable: boolean,\r\n  increaseItem: (item: ItemState) => void,\r\n  decreaseItem: (item: ItemState) => void,\r\n  handleActive: (label: string | number) => void,\r\n  handleClose: (label: string | number) => void,\r\n  refreshLabels: () => void,\r\n}\r\n\r\nexport type ChangeEvent = (label: string | number) => void\r\n\r\nexport interface TabNavSlots {\r\n  prefix?: () => any,\r\n  suffix?: () => any,\r\n  add?: () => any,\r\n  marker?: () => any,\r\n  /**\r\n   * @internal\r\n   */\r\n  default?: () => any,\r\n}\r\n\r\nexport const TAB_NAV_STATE = '__VXP_TAB_NAV_STATE' as unknown as InjectionKey<TabNavState>\r\n\r\nexport const trackStyleMap = Object.freeze({\r\n  top: ['left', 'width'],\r\n  right: ['top', 'height'],\r\n  bottom: ['left', 'width'],\r\n  left: ['top', 'height'],\r\n} as const)\r\n"],"names":["TAB_NAV_STATE","trackStyleMap"],"mappings":"AA8CO,MAAMA,IAAgB,uBAEhBC,IAAgB,OAAO,OAAO;AAAA,EACzC,KAAK,CAAC,QAAQ,OAAO;AAAA,EACrB,OAAO,CAAC,OAAO,QAAQ;AAAA,EACvB,QAAQ,CAAC,QAAQ,OAAO;AAAA,EACxB,MAAM,CAAC,OAAO,QAAQ;AACxB,CAAU;"}