UNPKG

@extclp/vexip-ui

Version:

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

1 lines 7.17 kB
{"version":3,"file":"props.mjs","sources":["../../../components/layout/props.ts"],"sourcesContent":["import { booleanProp, booleanStringProp, buildProps, eventProp, localeProp } from '@vexip-ui/config'\r\n\r\nimport type { ExtractPropTypes, PropType } from 'vue'\r\nimport type { ConfigurableProps } from '@vexip-ui/config'\r\nimport type { BreakPoint } from '@/components/grid'\r\nimport type { MenuOptions } from '@/components/menu'\r\nimport type {\r\n LayoutConfig,\r\n LayoutFooterLink,\r\n LayoutHeaderAction,\r\n LayoutInnerClass,\r\n LayoutMediaJudger,\r\n LayoutMenuProps,\r\n LayoutSignType,\r\n LayoutUser,\r\n} from './symbol'\r\n\r\nconst breakpointProp = {\r\n type: [String, Boolean, Function] as PropType<\r\n boolean | BreakPoint | LayoutMediaJudger | (string & {})\r\n >,\r\n default: null,\r\n}\r\n\r\nexport const layoutProps = buildProps({\r\n locale: localeProp('layout'),\r\n noAside: booleanProp,\r\n footer: booleanProp,\r\n tag: String,\r\n menus: Object as PropType<MenuOptions[]>,\r\n menuProps: Object as PropType<LayoutMenuProps>,\r\n logo: String,\r\n signName: String,\r\n config: Array as PropType<LayoutConfig[]>,\r\n user: Object as PropType<LayoutUser>,\r\n actions: Array as PropType<LayoutHeaderAction[]>,\r\n expanded: booleanProp,\r\n reduced: booleanProp,\r\n avatarCircle: booleanProp,\r\n signType: String as PropType<LayoutSignType>,\r\n headerFixed: breakpointProp,\r\n asideFixed: breakpointProp,\r\n copyright: String,\r\n links: Array as PropType<LayoutFooterLink[]>,\r\n colors: Array as PropType<string[]>,\r\n color: String,\r\n miniHeaderSign: breakpointProp,\r\n verticalLinks: breakpointProp,\r\n darkMode: booleanProp,\r\n fixedMain: booleanProp,\r\n fitWindow: booleanProp,\r\n innerClasses: Object as PropType<LayoutInnerClass>,\r\n noHeader: booleanProp,\r\n noMasker: booleanProp,\r\n onExpandedChange: eventProp<(expanded: boolean) => void>(),\r\n onReducedChange: eventProp<(reduced: boolean) => void>(),\r\n onSignClick: eventProp<(event: MouseEvent) => void>(),\r\n onMenuSelect: eventProp<(label: string, meta: any) => void>(),\r\n onUserAction: eventProp<(label: string, meta: any) => void>(),\r\n onNavChange: eventProp<(type: LayoutSignType) => void>(),\r\n onColorChange: eventProp<(color: string) => void>(),\r\n onToggleTheme: eventProp<(isDark: boolean) => void>(),\r\n onContentResize: eventProp<() => void>(),\r\n})\r\n\r\nexport type LayoutProps = ExtractPropTypes<typeof layoutProps>\r\nexport type LayoutCProps = ConfigurableProps<LayoutProps, 'menus'>\r\n\r\nexport const layoutAsideProps = buildProps({\r\n tag: String,\r\n expanded: booleanProp,\r\n reduced: booleanProp,\r\n menus: Array as PropType<MenuOptions[]>,\r\n menuProps: Object as PropType<LayoutMenuProps>,\r\n logo: String,\r\n signName: String,\r\n fixed: booleanStringProp,\r\n signType: String as PropType<LayoutSignType>,\r\n onExpandedChange: eventProp<(expanded: boolean) => void>(),\r\n onReducedChange: eventProp<(reduced: boolean) => void>(),\r\n onSignClick: eventProp<(event: MouseEvent) => void>(),\r\n onMenuSelect: eventProp<(label: string, meta: any) => void>(),\r\n})\r\n\r\nexport type LayoutAsideProps = ExtractPropTypes<typeof layoutAsideProps>\r\nexport type LayoutAsideCProps = ConfigurableProps<LayoutAsideProps, 'menus'>\r\n\r\nexport const layoutHeaderProps = buildProps({\r\n locale: localeProp('layout'),\r\n tag: String,\r\n logo: String,\r\n signName: String,\r\n user: Object as PropType<LayoutUser>,\r\n userDropped: booleanProp,\r\n avatarCircle: booleanProp,\r\n config: Array as PropType<LayoutConfig[]>,\r\n actions: Array as PropType<LayoutHeaderAction[]>,\r\n signType: String as PropType<LayoutSignType>,\r\n colors: Array as PropType<string[]>,\r\n color: String,\r\n menus: Object as PropType<MenuOptions[]>,\r\n menuProps: Object as PropType<LayoutMenuProps>,\r\n darkMode: booleanProp,\r\n onNavChange: eventProp<(type: LayoutSignType) => void>(),\r\n onColorChange: eventProp<(color: string) => void>(),\r\n onUserAction: eventProp<(label: string, meta: any) => void>(),\r\n onSignClick: eventProp<(event: MouseEvent) => void>(),\r\n onDroppedChange: eventProp<(target: boolean) => void>(),\r\n onExpandedChange: eventProp<(expanded: boolean) => void>(),\r\n onReducedChange: eventProp<(reduced: boolean) => void>(),\r\n onMenuSelect: eventProp<(label: string, meta: any) => void>(),\r\n onToggleTheme: eventProp<(isDark: boolean) => void>(),\r\n})\r\n\r\nexport type LayoutHeaderProps = ExtractPropTypes<typeof layoutHeaderProps>\r\nexport type LayoutHeaderCProps = ConfigurableProps<LayoutHeaderProps, 'user' | 'menus'>\r\n\r\nexport const layoutMainProps = buildProps({\r\n tag: String,\r\n fixed: booleanProp,\r\n})\r\n\r\nexport type LayoutMainProps = ExtractPropTypes<typeof layoutMainProps>\r\nexport type LayoutMainCProps = ConfigurableProps<LayoutMainProps>\r\n\r\nexport const layoutFooterProps = buildProps({\r\n tag: String,\r\n copyright: String,\r\n links: Array as PropType<LayoutFooterLink[]>,\r\n verticalLinks: booleanStringProp,\r\n})\r\n\r\nexport type LayoutFooterProps = ExtractPropTypes<typeof layoutFooterProps>\r\nexport type LayoutFooterCProps = ConfigurableProps<LayoutFooterProps>\r\n"],"names":["breakpointProp","layoutProps","buildProps","localeProp","booleanProp","eventProp","layoutAsideProps","booleanStringProp","layoutHeaderProps","layoutMainProps","layoutFooterProps"],"mappings":";AAiBA,MAAMA,IAAiB;AAAA,EACrB,MAAM,CAAC,QAAQ,SAAS,QAAQ;AAAA,EAGhC,SAAS;AACX,GAEaC,IAAcC,EAAW;AAAA,EACpC,QAAQC,EAAW,QAAQ;AAAA,EAC3B,SAASC;AAAA,EACT,QAAQA;AAAA,EACR,KAAK;AAAA,EACL,OAAO;AAAA,EACP,WAAW;AAAA,EACX,MAAM;AAAA,EACN,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AAAA,EACT,UAAUA;AAAA,EACV,SAASA;AAAA,EACT,cAAcA;AAAA,EACd,UAAU;AAAA,EACV,aAAaJ;AAAA,EACb,YAAYA;AAAA,EACZ,WAAW;AAAA,EACX,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,gBAAgBA;AAAA,EAChB,eAAeA;AAAA,EACf,UAAUI;AAAA,EACV,WAAWA;AAAA,EACX,WAAWA;AAAA,EACX,cAAc;AAAA,EACd,UAAUA;AAAA,EACV,UAAUA;AAAA,EACV,kBAAkBC,EAAuC;AAAA,EACzD,iBAAiBA,EAAsC;AAAA,EACvD,aAAaA,EAAuC;AAAA,EACpD,cAAcA,EAA8C;AAAA,EAC5D,cAAcA,EAA8C;AAAA,EAC5D,aAAaA,EAA0C;AAAA,EACvD,eAAeA,EAAmC;AAAA,EAClD,eAAeA,EAAqC;AAAA,EACpD,iBAAiBA,EAAsB;AACzC,CAAC,GAKYC,IAAmBJ,EAAW;AAAA,EACzC,KAAK;AAAA,EACL,UAAUE;AAAA,EACV,SAASA;AAAA,EACT,OAAO;AAAA,EACP,WAAW;AAAA,EACX,MAAM;AAAA,EACN,UAAU;AAAA,EACV,OAAOG;AAAA,EACP,UAAU;AAAA,EACV,kBAAkBF,EAAuC;AAAA,EACzD,iBAAiBA,EAAsC;AAAA,EACvD,aAAaA,EAAuC;AAAA,EACpD,cAAcA,EAA8C;AAC9D,CAAC,GAKYG,IAAoBN,EAAW;AAAA,EAC1C,QAAQC,EAAW,QAAQ;AAAA,EAC3B,KAAK;AAAA,EACL,MAAM;AAAA,EACN,UAAU;AAAA,EACV,MAAM;AAAA,EACN,aAAaC;AAAA,EACb,cAAcA;AAAA,EACd,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,OAAO;AAAA,EACP,WAAW;AAAA,EACX,UAAUA;AAAA,EACV,aAAaC,EAA0C;AAAA,EACvD,eAAeA,EAAmC;AAAA,EAClD,cAAcA,EAA8C;AAAA,EAC5D,aAAaA,EAAuC;AAAA,EACpD,iBAAiBA,EAAqC;AAAA,EACtD,kBAAkBA,EAAuC;AAAA,EACzD,iBAAiBA,EAAsC;AAAA,EACvD,cAAcA,EAA8C;AAAA,EAC5D,eAAeA,EAAqC;AACtD,CAAC,GAKYI,IAAkBP,EAAW;AAAA,EACxC,KAAK;AAAA,EACL,OAAOE;AACT,CAAC,GAKYM,IAAoBR,EAAW;AAAA,EAC1C,KAAK;AAAA,EACL,WAAW;AAAA,EACX,OAAO;AAAA,EACP,eAAeK;AACjB,CAAC;"}