import { SystemStyleObject } from "@chakra-ui/vue-system" ; import { Dict , runIfFn } from "@chakra-ui/utils" ; export interface StyleConfig { baseStyle ? : SystemStyleObject ; sizes ? : { [ size ] : SystemStyleObject ; } ; variants ? : { [ variant ] : SystemStyleObject ; } ; defaultProps ? : { size ? : string ; variant ? : string ; colorScheme ? : string ; } ; } export interface MultiStyleConfig { baseStyle ? : { [ part ] : SystemStyleObject ; } ; sizes ? : { [ size ] : { [ part ] : SystemStyleObject ; } ; } ; variants ? : { [ variants ] : { [ part ] : SystemStyleObject ; } ; } ; defaultProps ? : StyleConfig [ "defaultProps" ] ; } export interface GlobalStyleProps { colorScheme : string ; colorMode : "light" | "dark" ; theme : Dict ; } export type GlobalStyles = { global ? : SystemStyleObject | ( ( props : GlobalStyleProps ) => SystemStyleObject ) ; } ; export { runIfFn } ; export type Styles = GlobalStyles ; export function mode ( light , dark ) { return ( props ) => ( props . colorMode === "dark" ? dark : light ) ; } export function orient ( options ) { const { orientation , vertical , horizontal } = options ; if ( ! orientation ) return { } ; return orientation === "vertical" ? vertical : horizontal ; }