@extclp/vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
1 lines • 1.84 kB
Source Map (JSON)
{"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;"}