{"version":3,"file":"props.cjs","sources":["../../../components/layout/props.ts"],"sourcesContent":["import { booleanProp, booleanStringProp, buildProps, eventProp, localeProp } from '@vexip-ui/config'\n\nimport type { ExtractPropTypes, PropType } from 'vue'\nimport type { ConfigurableProps } from '@vexip-ui/config'\nimport type { BreakPoint } from '@/components/grid'\nimport type { MenuOptions } from '@/components/menu'\nimport type {\n  LayoutConfig,\n  LayoutFooterLink,\n  LayoutHeaderAction,\n  LayoutInnerClass,\n  LayoutMediaJudger,\n  LayoutMenuProps,\n  LayoutSignType,\n  LayoutUser,\n} from './symbol'\n\nconst breakpointProp = {\n  type: [String, Boolean, Function] as PropType<\n    // eslint-disable-next-line @typescript-eslint/ban-types\n    boolean | BreakPoint | LayoutMediaJudger | (string & {})\n  >,\n  default: null,\n}\n\nexport const layoutProps = buildProps({\n  locale: localeProp('layout'),\n  noAside: booleanProp,\n  footer: booleanProp,\n  tag: String,\n  menus: Object as PropType<MenuOptions[]>,\n  menuProps: Object as PropType<LayoutMenuProps>,\n  logo: String,\n  signName: String,\n  config: Array as PropType<LayoutConfig[]>,\n  user: Object as PropType<LayoutUser>,\n  actions: Array as PropType<LayoutHeaderAction[]>,\n  expanded: booleanProp,\n  reduced: booleanProp,\n  avatarCircle: booleanProp,\n  signType: String as PropType<LayoutSignType>,\n  headerFixed: breakpointProp,\n  asideFixed: breakpointProp,\n  copyright: String,\n  links: Array as PropType<LayoutFooterLink[]>,\n  colors: Array as PropType<string[]>,\n  color: String,\n  miniHeaderSign: breakpointProp,\n  verticalLinks: breakpointProp,\n  darkMode: booleanProp,\n  fixedMain: booleanProp,\n  fitWindow: booleanProp,\n  innerClasses: Object as PropType<LayoutInnerClass>,\n  noHeader: booleanProp,\n  noMasker: booleanProp,\n  onExpandedChange: eventProp<(expanded: boolean) => void>(),\n  onReducedChange: eventProp<(reduced: boolean) => void>(),\n  onSignClick: eventProp<(event: MouseEvent) => void>(),\n  onMenuSelect: eventProp<(label: string, meta: any) => void>(),\n  onUserAction: eventProp<(label: string, meta: any) => void>(),\n  onNavChange: eventProp<(type: LayoutSignType) => void>(),\n  onColorChange: eventProp<(color: string) => void>(),\n  onToggleTheme: eventProp<(isDark: boolean) => void>(),\n  onContentResize: eventProp<() => void>(),\n})\n\nexport type LayoutProps = ExtractPropTypes<typeof layoutProps>\nexport type LayoutCProps = ConfigurableProps<LayoutProps, 'menus'>\n\nexport const layoutAsideProps = buildProps({\n  tag: String,\n  expanded: booleanProp,\n  reduced: booleanProp,\n  menus: Array as PropType<MenuOptions[]>,\n  menuProps: Object as PropType<LayoutMenuProps>,\n  logo: String,\n  signName: String,\n  fixed: booleanStringProp,\n  signType: String as PropType<LayoutSignType>,\n  onExpandedChange: eventProp<(expanded: boolean) => void>(),\n  onReducedChange: eventProp<(reduced: boolean) => void>(),\n  onSignClick: eventProp<(event: MouseEvent) => void>(),\n  onMenuSelect: eventProp<(label: string, meta: any) => void>(),\n})\n\nexport type LayoutAsideProps = ExtractPropTypes<typeof layoutAsideProps>\nexport type LayoutAsideCProps = ConfigurableProps<LayoutAsideProps, 'menus'>\n\nexport const layoutHeaderProps = buildProps({\n  locale: localeProp('layout'),\n  tag: String,\n  logo: String,\n  signName: String,\n  user: Object as PropType<LayoutUser>,\n  userDropped: booleanProp,\n  avatarCircle: booleanProp,\n  config: Array as PropType<LayoutConfig[]>,\n  actions: Array as PropType<LayoutHeaderAction[]>,\n  signType: String as PropType<LayoutSignType>,\n  colors: Array as PropType<string[]>,\n  color: String,\n  menus: Object as PropType<MenuOptions[]>,\n  menuProps: Object as PropType<LayoutMenuProps>,\n  darkMode: booleanProp,\n  onNavChange: eventProp<(type: LayoutSignType) => void>(),\n  onColorChange: eventProp<(color: string) => void>(),\n  onUserAction: eventProp<(label: string, meta: any) => void>(),\n  onSignClick: eventProp<(event: MouseEvent) => void>(),\n  onDroppedChange: eventProp<(target: boolean) => void>(),\n  onExpandedChange: eventProp<(expanded: boolean) => void>(),\n  onReducedChange: eventProp<(reduced: boolean) => void>(),\n  onMenuSelect: eventProp<(label: string, meta: any) => void>(),\n  onToggleTheme: eventProp<(isDark: boolean) => void>(),\n})\n\nexport type LayoutHeaderProps = ExtractPropTypes<typeof layoutHeaderProps>\nexport type LayoutHeaderCProps = ConfigurableProps<LayoutHeaderProps, 'user' | 'menus'>\n\nexport const layoutMainProps = buildProps({\n  tag: String,\n  fixed: booleanProp,\n})\n\nexport type LayoutMainProps = ExtractPropTypes<typeof layoutMainProps>\nexport type LayoutMainCProps = ConfigurableProps<LayoutMainProps>\n\nexport const layoutFooterProps = buildProps({\n  tag: String,\n  copyright: String,\n  links: Array as PropType<LayoutFooterLink[]>,\n  verticalLinks: booleanStringProp,\n})\n\nexport type LayoutFooterProps = ExtractPropTypes<typeof layoutFooterProps>\nexport type LayoutFooterCProps = ConfigurableProps<LayoutFooterProps>\n"],"names":["breakpointProp","layoutProps","buildProps","localeProp","booleanProp","eventProp","layoutAsideProps","booleanStringProp","layoutHeaderProps","layoutMainProps","layoutFooterProps"],"mappings":"oHAiBMA,EAAiB,CACrB,KAAM,CAAC,OAAQ,QAAS,QAAQ,EAIhC,QAAS,IACX,EAEaC,EAAcC,EAAAA,WAAW,CACpC,OAAQC,aAAW,QAAQ,EAC3B,QAASC,EAAA,YACT,OAAQA,EAAA,YACR,IAAK,OACL,MAAO,OACP,UAAW,OACX,KAAM,OACN,SAAU,OACV,OAAQ,MACR,KAAM,OACN,QAAS,MACT,SAAUA,EAAA,YACV,QAASA,EAAA,YACT,aAAcA,EAAA,YACd,SAAU,OACV,YAAaJ,EACb,WAAYA,EACZ,UAAW,OACX,MAAO,MACP,OAAQ,MACR,MAAO,OACP,eAAgBA,EAChB,cAAeA,EACf,SAAUI,EAAA,YACV,UAAWA,EAAA,YACX,UAAWA,EAAA,YACX,aAAc,OACd,SAAUA,EAAA,YACV,SAAUA,EAAA,YACV,iBAAkBC,EAAAA,UAAuC,EACzD,gBAAiBA,EAAAA,UAAsC,EACvD,YAAaA,EAAAA,UAAuC,EACpD,aAAcA,EAAAA,UAA8C,EAC5D,aAAcA,EAAAA,UAA8C,EAC5D,YAAaA,EAAAA,UAA0C,EACvD,cAAeA,EAAAA,UAAmC,EAClD,cAAeA,EAAAA,UAAqC,EACpD,gBAAiBA,EAAsB,UAAA,CACzC,CAAC,EAKYC,EAAmBJ,EAAAA,WAAW,CACzC,IAAK,OACL,SAAUE,EAAA,YACV,QAASA,EAAA,YACT,MAAO,MACP,UAAW,OACX,KAAM,OACN,SAAU,OACV,MAAOG,EAAA,kBACP,SAAU,OACV,iBAAkBF,EAAAA,UAAuC,EACzD,gBAAiBA,EAAAA,UAAsC,EACvD,YAAaA,EAAAA,UAAuC,EACpD,aAAcA,EAA8C,UAAA,CAC9D,CAAC,EAKYG,EAAoBN,EAAAA,WAAW,CAC1C,OAAQC,aAAW,QAAQ,EAC3B,IAAK,OACL,KAAM,OACN,SAAU,OACV,KAAM,OACN,YAAaC,EAAA,YACb,aAAcA,EAAA,YACd,OAAQ,MACR,QAAS,MACT,SAAU,OACV,OAAQ,MACR,MAAO,OACP,MAAO,OACP,UAAW,OACX,SAAUA,EAAA,YACV,YAAaC,EAAAA,UAA0C,EACvD,cAAeA,EAAAA,UAAmC,EAClD,aAAcA,EAAAA,UAA8C,EAC5D,YAAaA,EAAAA,UAAuC,EACpD,gBAAiBA,EAAAA,UAAqC,EACtD,iBAAkBA,EAAAA,UAAuC,EACzD,gBAAiBA,EAAAA,UAAsC,EACvD,aAAcA,EAAAA,UAA8C,EAC5D,cAAeA,EAAqC,UAAA,CACtD,CAAC,EAKYI,EAAkBP,EAAAA,WAAW,CACxC,IAAK,OACL,MAAOE,EAAAA,WACT,CAAC,EAKYM,EAAoBR,EAAAA,WAAW,CAC1C,IAAK,OACL,UAAW,OACX,MAAO,MACP,cAAeK,EAAAA,iBACjB,CAAC"}