UNPKG

@extclp/vexip-ui

Version:

A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good

1 lines 4.02 kB
{"version":3,"file":"symbol.mjs","sources":["../../../components/layout/symbol.ts"],"sourcesContent":["import type { ComponentPublicInstance, InjectionKey } from 'vue'\r\nimport type { Router } from 'vue-router'\r\nimport type { IconMinorProps } from '@/components/icon'\r\nimport type { MenuExposed, MenuGroupType, MenuMarkerType } from '@/components/menu'\r\nimport type { NativeScrollExposed } from '@/components/native-scroll'\r\nimport type { ClassType } from '@vexip-ui/config'\r\nimport type { BreakPoint } from '@/components/grid'\r\n\r\nexport type LayoutSignType = 'aside' | 'header'\r\nexport type LayoutConfig = 'nav' | 'color' | 'theme'\r\nexport type LayoutSection =\r\n | 'wrapper'\r\n | 'section'\r\n | 'header'\r\n | 'headerLeft'\r\n | 'headerMain'\r\n | 'headerRight'\r\n | 'headerUser'\r\n | 'sidebar'\r\n | 'aside'\r\n | 'asideTop'\r\n | 'asideMain'\r\n | 'asideBottom'\r\n | 'expandHandler'\r\n | 'main'\r\n | 'footer'\r\n | 'footerLinks'\r\n | 'copyright'\r\n | 'scrollbar'\r\n\r\nexport type LayoutInnerClass = Partial<Record<LayoutSection, ClassType>>\r\nexport type LayoutMediaJudger = (breakpoint: BreakPoint) => boolean\r\n\r\nexport interface LayoutMenuProps {\r\n active?: string,\r\n accordion?: boolean,\r\n markerType?: MenuMarkerType,\r\n groupType?: MenuGroupType,\r\n tooltipReverse?: boolean,\r\n router?: Router,\r\n manualRoute?: boolean,\r\n onExpand?: (label: string, meta: Record<string, any>) => void,\r\n onReduce?: (label: string, meta: Record<string, any>) => void,\r\n}\r\n\r\nexport interface LayoutHeaderAction {\r\n label: string,\r\n icon?: Record<string, any>,\r\n iconProps?: IconMinorProps,\r\n name?: string,\r\n disabled?: boolean,\r\n divided?: boolean,\r\n hidden?: boolean,\r\n meta?: Record<string, any>,\r\n}\r\n\r\nexport interface LayoutUser {\r\n name: string,\r\n email?: string,\r\n avatar?: string | Record<string, any>,\r\n}\r\n\r\nexport interface LayoutFooterLink {\r\n name: string,\r\n subname?: string,\r\n icon?: Record<string, any>,\r\n iconProps?: IconMinorProps,\r\n to?: string,\r\n target?: string,\r\n children?: Array<Omit<LayoutFooterLink, 'children'>>,\r\n}\r\n\r\nexport interface LayoutState {\r\n isLayout: boolean,\r\n locked: boolean,\r\n affixed: boolean,\r\n scrollY: number,\r\n affixMatched: boolean,\r\n expandMatched: boolean,\r\n useExpand: boolean,\r\n expanded: boolean,\r\n reduced: boolean,\r\n navConfig: boolean,\r\n classes: LayoutInnerClass,\r\n changeInLock: (doChange: () => void) => void,\r\n}\r\n\r\nexport interface LayoutSlotParams {\r\n expanded: boolean,\r\n reduced: boolean,\r\n toggleExpanded: (expanded?: boolean) => void,\r\n toggleReduced: (reduced: boolean) => void,\r\n}\r\n\r\nexport interface LayoutHeaderSlotParams extends LayoutSlotParams {\r\n handleColorChange: (color: string) => void,\r\n toggleUserDropped: (dropped?: boolean) => void,\r\n}\r\n\r\nexport interface LayoutExposed extends ComponentPublicInstance {\r\n scroll?: NativeScrollExposed,\r\n menu?: MenuExposed,\r\n toggleExpanded: (expanded?: boolean) => void,\r\n toggleReduced: (reduced?: boolean) => void,\r\n expandMenuByLabel: (label: string) => void,\r\n}\r\n\r\nexport interface LayoutHeaderExposed extends ComponentPublicInstance {\r\n menu?: MenuExposed,\r\n toggleExpanded: (expanded?: boolean) => void,\r\n toggleReduced: (reduced?: boolean) => void,\r\n expandMenuByLabel: (label: string) => void,\r\n toggleUserDropped: (dropped: boolean) => void,\r\n}\r\n\r\nexport interface LayoutMainExposed extends ComponentPublicInstance {}\r\n\r\nexport interface LayoutAsideExposed extends ComponentPublicInstance {\r\n menu?: MenuExposed,\r\n toggleExpanded: (expanded?: boolean) => void,\r\n toggleReduced: (reduced?: boolean) => void,\r\n expandMenuByLabel: (label: string) => void,\r\n}\r\n\r\nexport const LAYOUT_STATE = '___VXP_LAYOUT_STATE' as unknown as InjectionKey<LayoutState>\r\n"],"names":["LAYOUT_STATE"],"mappings":"AA4HO,MAAMA,IAAe;"}