vuestic-ui
Version:
Vue 3 UI Framework
601 lines (600 loc) • 27.5 kB
TypeScript
import type { ComponentConfig } from '../component-config';
import type { ColorConfig, CustomColorVariables } from '../color';
import type { IconConfig } from '../icon';
import type { BreakpointConfig } from '../breakpoint';
import type { I18nConfig, CustomI18NKeys } from '../i18n';
import type { Ref, Component } from 'vue';
import type { ColorsClassesConfig } from '../colors-classes';
export type GlobalConfig = {
colors: ColorConfig;
icons: IconConfig;
components: ComponentConfig;
breakpoint: BreakpointConfig;
i18n: I18nConfig;
colorsClasses: ColorsClassesConfig;
routerComponent: Component | undefined;
};
type DeepPartial<T> = T extends Record<string, any> ? {
[P in keyof T]?: P extends 'components' ? T[P] : DeepPartial<T[P]>;
} : T;
export type PartialGlobalConfig = DeepPartial<GlobalConfig> & {
colors?: {
variables?: Partial<CustomColorVariables>;
};
i18n?: Partial<CustomI18NKeys>;
};
export type SizeConfig = {
defaultSize?: number;
sizes?: {
[sizeName: string]: number | string;
};
};
export type GlobalConfigUpdater<T> = (config: T) => T;
export type { ColorConfig, ComponentConfig, IconConfig, BreakpointConfig, };
export type ProvidedGlobalConfig = {
globalConfig: Ref<GlobalConfig>;
getGlobalConfig: () => GlobalConfig;
/**
* Set new global config
* @see mergeGlobalConfig if you want to update existing config
*/
setGlobalConfig: (updater: GlobalConfig | GlobalConfigUpdater<GlobalConfig>) => void;
mergeGlobalConfig: (updater: PartialGlobalConfig | GlobalConfigUpdater<PartialGlobalConfig>) => void;
};
export declare const defineVuesticConfig: <Config extends {
colors?: {
variables?: {
[x: string & Record<never, never>]: string | undefined;
primary?: string | undefined;
secondary?: string | undefined;
success?: string | undefined;
info?: string | undefined;
danger?: string | undefined;
warning?: string | undefined;
backgroundPrimary?: string | undefined;
backgroundSecondary?: string | undefined;
backgroundElement?: string | undefined;
backgroundBorder?: string | undefined;
textPrimary?: string | undefined;
textInverted?: string | undefined;
shadow?: string | undefined;
focus?: string | undefined;
transparent?: string | undefined;
onFocus?: string | undefined;
onPrimary?: string | undefined;
onSecondary?: string | undefined;
onSuccess?: string | undefined;
onInfo?: string | undefined;
onDanger?: string | undefined;
onWarning?: string | undefined;
onBackgroundPrimary?: string | undefined;
onBackgroundSecondary?: string | undefined;
onBackgroundElement?: string | undefined;
onBackgroundBorder?: string | undefined;
onTextPrimary?: string | undefined;
onTextInverted?: string | undefined;
onShadow?: string | undefined;
onTransparent?: string | undefined;
} | undefined;
threshold?: number | undefined;
presets?: {
[x: string]: {
[x: string & Record<never, never>]: string | undefined;
primary?: string | undefined;
secondary?: string | undefined;
success?: string | undefined;
info?: string | undefined;
danger?: string | undefined;
warning?: string | undefined;
backgroundPrimary?: string | undefined;
backgroundSecondary?: string | undefined;
backgroundElement?: string | undefined;
backgroundBorder?: string | undefined;
textPrimary?: string | undefined;
textInverted?: string | undefined;
shadow?: string | undefined;
focus?: string | undefined;
transparent?: string | undefined;
onFocus?: string | undefined;
onPrimary?: string | undefined;
onSecondary?: string | undefined;
onSuccess?: string | undefined;
onInfo?: string | undefined;
onDanger?: string | undefined;
onWarning?: string | undefined;
onBackgroundPrimary?: string | undefined;
onBackgroundSecondary?: string | undefined;
onBackgroundElement?: string | undefined;
onBackgroundBorder?: string | undefined;
onTextPrimary?: string | undefined;
onTextInverted?: string | undefined;
onShadow?: string | undefined;
onTransparent?: string | undefined;
} | undefined;
light?: {
[x: string & Record<never, never>]: string | undefined;
primary?: string | undefined;
secondary?: string | undefined;
success?: string | undefined;
info?: string | undefined;
danger?: string | undefined;
warning?: string | undefined;
backgroundPrimary?: string | undefined;
backgroundSecondary?: string | undefined;
backgroundElement?: string | undefined;
backgroundBorder?: string | undefined;
textPrimary?: string | undefined;
textInverted?: string | undefined;
shadow?: string | undefined;
focus?: string | undefined;
transparent?: string | undefined;
onFocus?: string | undefined;
onPrimary?: string | undefined;
onSecondary?: string | undefined;
onSuccess?: string | undefined;
onInfo?: string | undefined;
onDanger?: string | undefined;
onWarning?: string | undefined;
onBackgroundPrimary?: string | undefined;
onBackgroundSecondary?: string | undefined;
onBackgroundElement?: string | undefined;
onBackgroundBorder?: string | undefined;
onTextPrimary?: string | undefined;
onTextInverted?: string | undefined;
onShadow?: string | undefined;
onTransparent?: string | undefined;
} | undefined;
dark?: {
[x: string & Record<never, never>]: string | undefined;
primary?: string | undefined;
secondary?: string | undefined;
success?: string | undefined;
info?: string | undefined;
danger?: string | undefined;
warning?: string | undefined;
backgroundPrimary?: string | undefined;
backgroundSecondary?: string | undefined;
backgroundElement?: string | undefined;
backgroundBorder?: string | undefined;
textPrimary?: string | undefined;
textInverted?: string | undefined;
shadow?: string | undefined;
focus?: string | undefined;
transparent?: string | undefined;
onFocus?: string | undefined;
onPrimary?: string | undefined;
onSecondary?: string | undefined;
onSuccess?: string | undefined;
onInfo?: string | undefined;
onDanger?: string | undefined;
onWarning?: string | undefined;
onBackgroundPrimary?: string | undefined;
onBackgroundSecondary?: string | undefined;
onBackgroundElement?: string | undefined;
onBackgroundBorder?: string | undefined;
onTextPrimary?: string | undefined;
onTextInverted?: string | undefined;
onShadow?: string | undefined;
onTransparent?: string | undefined;
} | undefined;
} | undefined;
currentPresetName?: string | undefined;
} | undefined;
icons?: ({
name?: {
exec?: {} | undefined;
test?: {} | undefined;
readonly source?: string | undefined;
readonly global?: boolean | undefined;
readonly ignoreCase?: boolean | undefined;
readonly multiline?: boolean | undefined;
lastIndex?: number | undefined;
compile?: {} | undefined;
readonly flags?: string | undefined;
readonly sticky?: boolean | undefined;
readonly unicode?: boolean | undefined;
readonly dotAll?: boolean | undefined;
readonly hasIndices?: boolean | undefined;
[Symbol.match]?: {} | undefined;
[Symbol.replace]?: {} | undefined;
[Symbol.search]?: {} | undefined;
[Symbol.split]?: {} | undefined;
[Symbol.matchAll]?: {} | undefined;
} | undefined;
resolveFromRegex?: {} | undefined;
attrs?: {
[x: string]: string | {} | undefined;
} | undefined;
component?: any;
content?: string | undefined;
class?: string | undefined;
tag?: string | undefined;
color?: string | undefined;
rotation?: string | number | undefined;
spin?: boolean | "clockwise" | "counter-clockwise" | undefined;
to?: string | undefined;
} | {
name?: string | undefined;
resolve?: {} | undefined;
attrs?: {
[x: string]: string | {} | undefined;
} | undefined;
component?: any;
content?: string | undefined;
class?: string | undefined;
tag?: string | undefined;
color?: string | undefined;
rotation?: string | number | undefined;
spin?: boolean | "clockwise" | "counter-clockwise" | undefined;
to?: string | undefined;
} | undefined)[] | undefined;
components?: Partial<import("../component-config").VuesticComponentPropsMap & {
all: import("../component-config").Props;
presets: import("../component-config").Presets;
}> | undefined;
breakpoint?: {
enabled?: boolean | undefined;
bodyClass?: boolean | undefined;
thresholds?: {
xs?: number | undefined;
sm?: number | undefined;
md?: number | undefined;
lg?: number | undefined;
xl?: number | undefined;
} | undefined;
} | undefined;
i18n?: {
[x: string]: string | undefined;
progress?: string | undefined;
search?: string | undefined;
select?: string | undefined;
cancel?: string | undefined;
close?: string | undefined;
reset?: string | undefined;
color?: string | undefined;
carousel?: string | undefined;
pagination?: string | undefined;
breadcrumbs?: string | undefined;
step?: string | undefined;
noOptions?: string | undefined;
ok?: string | undefined;
uploadFile?: string | undefined;
undo?: string | undefined;
dropzone?: string | undefined;
fileDeleted?: string | undefined;
closeAlert?: string | undefined;
backToTop?: string | undefined;
toggleDropdown?: string | undefined;
goPreviousSlide?: string | undefined;
goNextSlide?: string | undefined;
goSlide?: string | undefined;
slideOf?: string | undefined;
openColorPicker?: string | undefined;
colorSelection?: string | undefined;
colorName?: string | undefined;
decreaseCounter?: string | undefined;
increaseCounter?: string | undefined;
selectAllRows?: string | undefined;
sortColumnBy?: string | undefined;
selectRowByIndex?: string | undefined;
resetDate?: string | undefined;
nextPeriod?: string | undefined;
switchView?: string | undefined;
previousPeriod?: string | undefined;
removeFile?: string | undefined;
goToTheFirstPage?: string | undefined;
goToPreviousPage?: string | undefined;
goToSpecificPage?: string | undefined;
goToSpecificPageInput?: string | undefined;
goNextPage?: string | undefined;
goLastPage?: string | undefined;
currentRating?: string | undefined;
voteRating?: string | undefined;
optionsFilter?: string | undefined;
splitPanels?: string | undefined;
movePaginationLeft?: string | undefined;
movePaginationRight?: string | undefined;
resetTime?: string | undefined;
closeToast?: string | undefined;
selectedOption?: string | undefined;
noSelectedOption?: string | undefined;
counterValue?: string | undefined;
selectedDate?: string | undefined;
selectedTime?: string | undefined;
progressState?: string | undefined;
next?: string | undefined;
back?: string | undefined;
finish?: string | undefined;
loading?: string | undefined;
sliderValue?: string | undefined;
switch?: string | undefined;
inputField?: string | undefined;
fileTypeIncorrect?: string | undefined;
} | undefined;
colorsClasses?: ({
prefix?: string | undefined;
postfix?: string | undefined;
property?: string | (string | undefined)[] | undefined;
value?: string | undefined;
} | undefined)[] | undefined;
routerComponent?: {
[x: string]: any;
setup?: {} | undefined;
name?: string | undefined;
template?: string | object | undefined;
render?: {
apply?: {} | undefined;
call?: {} | undefined;
bind?: {} | undefined;
toString?: {} | undefined;
prototype?: any;
readonly length?: number | undefined;
arguments?: any;
caller?: any | undefined;
readonly name?: string | undefined;
[Symbol.hasInstance]?: {} | undefined;
[Symbol.metadata]?: {
[x: string]: unknown;
[x: number]: unknown;
[x: symbol]: unknown;
} | null | undefined;
} | undefined;
components?: Record<string, Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions, {}, any>> | undefined;
directives?: {
[x: string]: {
created?: {} | undefined;
beforeMount?: {} | undefined;
mounted?: {} | undefined;
beforeUpdate?: {} | undefined;
updated?: {} | undefined;
beforeUnmount?: {} | undefined;
unmounted?: {} | undefined;
getSSRProps?: {} | undefined;
deep?: boolean | undefined;
} | {} | undefined;
} | undefined;
inheritAttrs?: boolean | undefined;
emits?: any;
slots?: {} | undefined;
expose?: (string | undefined)[] | undefined;
serverPrefetch?: {} | undefined;
compilerOptions?: {
isCustomElement?: {} | undefined;
whitespace?: "preserve" | "condense" | undefined;
comments?: boolean | undefined;
delimiters?: [(string | undefined)?, (string | undefined)?] | undefined;
} | undefined;
call?: {} | undefined;
__isFragment?: undefined;
__isTeleport?: undefined;
__isSuspense?: undefined;
__defaults?: any;
compatConfig?: {
GLOBAL_MOUNT?: boolean | "suppress-warning" | undefined;
GLOBAL_MOUNT_CONTAINER?: boolean | "suppress-warning" | undefined;
GLOBAL_EXTEND?: boolean | "suppress-warning" | undefined;
GLOBAL_PROTOTYPE?: boolean | "suppress-warning" | undefined;
GLOBAL_SET?: boolean | "suppress-warning" | undefined;
GLOBAL_DELETE?: boolean | "suppress-warning" | undefined;
GLOBAL_OBSERVABLE?: boolean | "suppress-warning" | undefined;
GLOBAL_PRIVATE_UTIL?: boolean | "suppress-warning" | undefined;
CONFIG_SILENT?: boolean | "suppress-warning" | undefined;
CONFIG_DEVTOOLS?: boolean | "suppress-warning" | undefined;
CONFIG_KEY_CODES?: boolean | "suppress-warning" | undefined;
CONFIG_PRODUCTION_TIP?: boolean | "suppress-warning" | undefined;
CONFIG_IGNORED_ELEMENTS?: boolean | "suppress-warning" | undefined;
CONFIG_WHITESPACE?: boolean | "suppress-warning" | undefined;
CONFIG_OPTION_MERGE_STRATS?: boolean | "suppress-warning" | undefined;
INSTANCE_SET?: boolean | "suppress-warning" | undefined;
INSTANCE_DELETE?: boolean | "suppress-warning" | undefined;
INSTANCE_DESTROY?: boolean | "suppress-warning" | undefined;
INSTANCE_EVENT_EMITTER?: boolean | "suppress-warning" | undefined;
INSTANCE_EVENT_HOOKS?: boolean | "suppress-warning" | undefined;
INSTANCE_CHILDREN?: boolean | "suppress-warning" | undefined;
INSTANCE_LISTENERS?: boolean | "suppress-warning" | undefined;
INSTANCE_SCOPED_SLOTS?: boolean | "suppress-warning" | undefined;
INSTANCE_ATTRS_CLASS_STYLE?: boolean | "suppress-warning" | undefined;
OPTIONS_DATA_FN?: boolean | "suppress-warning" | undefined;
OPTIONS_DATA_MERGE?: boolean | "suppress-warning" | undefined;
OPTIONS_BEFORE_DESTROY?: boolean | "suppress-warning" | undefined;
OPTIONS_DESTROYED?: boolean | "suppress-warning" | undefined;
WATCH_ARRAY?: boolean | "suppress-warning" | undefined;
PROPS_DEFAULT_THIS?: boolean | "suppress-warning" | undefined;
V_ON_KEYCODE_MODIFIER?: boolean | "suppress-warning" | undefined;
CUSTOM_DIR?: boolean | "suppress-warning" | undefined;
ATTR_FALSE_VALUE?: boolean | "suppress-warning" | undefined;
ATTR_ENUMERATED_COERCION?: boolean | "suppress-warning" | undefined;
TRANSITION_CLASSES?: boolean | "suppress-warning" | undefined;
TRANSITION_GROUP_ROOT?: boolean | "suppress-warning" | undefined;
COMPONENT_ASYNC?: boolean | "suppress-warning" | undefined;
COMPONENT_FUNCTIONAL?: boolean | "suppress-warning" | undefined;
COMPONENT_V_MODEL?: boolean | "suppress-warning" | undefined;
RENDER_FUNCTION?: boolean | "suppress-warning" | undefined;
FILTERS?: boolean | "suppress-warning" | undefined;
PRIVATE_APIS?: boolean | "suppress-warning" | undefined;
MODE?: 2 | 3 | {} | undefined;
} | undefined;
data?: {} | undefined;
computed?: {
[x: string]: {} | {
get?: {} | undefined;
set?: {} | undefined;
} | undefined;
} | undefined;
methods?: {
[x: string]: {
apply?: {} | undefined;
call?: {} | undefined;
bind?: {} | undefined;
toString?: {} | undefined;
prototype?: any;
readonly length?: number | undefined;
arguments?: any;
caller?: any | undefined;
readonly name?: string | undefined;
[Symbol.hasInstance]?: {} | undefined;
[Symbol.metadata]?: {
[x: string]: unknown;
[x: number]: unknown;
[x: symbol]: unknown;
} | null | undefined;
} | undefined;
} | undefined;
watch?: {
[x: string]: string | {} | {
handler?: string | {} | undefined;
immediate?: boolean | undefined;
deep?: boolean | undefined;
once?: boolean | undefined;
flush?: "pre" | "sync" | "post" | undefined;
onTrack?: {} | undefined;
onTrigger?: {} | undefined;
} | (string | {} | {
handler?: string | {} | undefined;
immediate?: boolean | undefined;
deep?: boolean | undefined;
once?: boolean | undefined;
flush?: "pre" | "sync" | "post" | undefined;
onTrack?: {} | undefined;
onTrigger?: {} | undefined;
} | undefined)[] | undefined;
} | undefined;
provide?: {
apply?: {} | undefined;
call?: {} | undefined;
bind?: {} | undefined;
toString?: {} | undefined;
prototype?: any;
readonly length?: number | undefined;
arguments?: any;
caller?: any | undefined;
readonly name?: string | undefined;
[Symbol.hasInstance]?: {} | undefined;
[Symbol.metadata]?: {
[x: string]: unknown;
[x: number]: unknown;
[x: symbol]: unknown;
} | null | undefined;
} | {
[x: string]: unknown;
[x: symbol]: unknown;
} | undefined;
inject?: (string | undefined)[] | {} | undefined;
filters?: {
[x: string]: {
apply?: {} | undefined;
call?: {} | undefined;
bind?: {} | undefined;
toString?: {} | undefined;
prototype?: any;
readonly length?: number | undefined;
arguments?: any;
caller?: any | undefined;
readonly name?: string | undefined;
[Symbol.hasInstance]?: {} | undefined;
[Symbol.metadata]?: {
[x: string]: unknown;
[x: number]: unknown;
[x: symbol]: unknown;
} | null | undefined;
} | undefined;
} | undefined;
mixins?: any[] | undefined;
extends?: any;
beforeCreate?: {} | undefined;
created?: {} | undefined;
beforeMount?: {} | undefined;
mounted?: {} | undefined;
beforeUpdate?: {} | undefined;
updated?: {} | undefined;
activated?: {} | undefined;
deactivated?: {} | undefined;
beforeDestroy?: {} | undefined;
beforeUnmount?: {} | undefined;
destroyed?: {} | undefined;
unmounted?: {} | undefined;
renderTracked?: {} | undefined;
renderTriggered?: {} | undefined;
errorCaptured?: {} | undefined;
delimiters?: [(string | undefined)?, (string | undefined)?] | undefined;
__differentiator?: string | number | symbol | undefined;
__isBuiltIn?: boolean | undefined;
__file?: string | undefined;
__name?: string | undefined;
} | {
props?: (string | undefined)[] | {
[x: string]: {} | {} | {
readonly prototype?: any;
} | ({} | {} | {
readonly prototype?: any;
} | undefined)[] | {
type?: true | {} | {} | {
readonly prototype?: any;
} | ({} | {} | {
readonly prototype?: any;
} | undefined)[] | null | undefined;
required?: boolean | undefined;
default?: any;
validator?: {} | undefined;
} | null | undefined;
} | undefined;
emits?: undefined[] | {} | undefined;
slots?: {
readonly [x: string]: {} | undefined;
} | undefined;
inheritAttrs?: boolean | undefined;
displayName?: string | undefined;
compatConfig?: {
GLOBAL_MOUNT?: boolean | "suppress-warning" | undefined;
GLOBAL_MOUNT_CONTAINER?: boolean | "suppress-warning" | undefined;
GLOBAL_EXTEND?: boolean | "suppress-warning" | undefined;
GLOBAL_PROTOTYPE?: boolean | "suppress-warning" | undefined;
GLOBAL_SET?: boolean | "suppress-warning" | undefined;
GLOBAL_DELETE?: boolean | "suppress-warning" | undefined;
GLOBAL_OBSERVABLE?: boolean | "suppress-warning" | undefined;
GLOBAL_PRIVATE_UTIL?: boolean | "suppress-warning" | undefined;
CONFIG_SILENT?: boolean | "suppress-warning" | undefined;
CONFIG_DEVTOOLS?: boolean | "suppress-warning" | undefined;
CONFIG_KEY_CODES?: boolean | "suppress-warning" | undefined;
CONFIG_PRODUCTION_TIP?: boolean | "suppress-warning" | undefined;
CONFIG_IGNORED_ELEMENTS?: boolean | "suppress-warning" | undefined;
CONFIG_WHITESPACE?: boolean | "suppress-warning" | undefined;
CONFIG_OPTION_MERGE_STRATS?: boolean | "suppress-warning" | undefined;
INSTANCE_SET?: boolean | "suppress-warning" | undefined;
INSTANCE_DELETE?: boolean | "suppress-warning" | undefined;
INSTANCE_DESTROY?: boolean | "suppress-warning" | undefined;
INSTANCE_EVENT_EMITTER?: boolean | "suppress-warning" | undefined;
INSTANCE_EVENT_HOOKS?: boolean | "suppress-warning" | undefined;
INSTANCE_CHILDREN?: boolean | "suppress-warning" | undefined;
INSTANCE_LISTENERS?: boolean | "suppress-warning" | undefined;
INSTANCE_SCOPED_SLOTS?: boolean | "suppress-warning" | undefined;
INSTANCE_ATTRS_CLASS_STYLE?: boolean | "suppress-warning" | undefined;
OPTIONS_DATA_FN?: boolean | "suppress-warning" | undefined;
OPTIONS_DATA_MERGE?: boolean | "suppress-warning" | undefined;
OPTIONS_BEFORE_DESTROY?: boolean | "suppress-warning" | undefined;
OPTIONS_DESTROYED?: boolean | "suppress-warning" | undefined;
WATCH_ARRAY?: boolean | "suppress-warning" | undefined;
PROPS_DEFAULT_THIS?: boolean | "suppress-warning" | undefined;
V_ON_KEYCODE_MODIFIER?: boolean | "suppress-warning" | undefined;
CUSTOM_DIR?: boolean | "suppress-warning" | undefined;
ATTR_FALSE_VALUE?: boolean | "suppress-warning" | undefined;
ATTR_ENUMERATED_COERCION?: boolean | "suppress-warning" | undefined;
TRANSITION_CLASSES?: boolean | "suppress-warning" | undefined;
TRANSITION_GROUP_ROOT?: boolean | "suppress-warning" | undefined;
COMPONENT_ASYNC?: boolean | "suppress-warning" | undefined;
COMPONENT_FUNCTIONAL?: boolean | "suppress-warning" | undefined;
COMPONENT_V_MODEL?: boolean | "suppress-warning" | undefined;
RENDER_FUNCTION?: boolean | "suppress-warning" | undefined;
FILTERS?: boolean | "suppress-warning" | undefined;
PRIVATE_APIS?: boolean | "suppress-warning" | undefined;
MODE?: 2 | 3 | {} | undefined;
} | undefined;
__isBuiltIn?: boolean | undefined;
__file?: string | undefined;
__name?: string | undefined;
} | {
__isFragment?: undefined;
__isTeleport?: undefined;
__isSuspense?: undefined;
} | undefined;
}>(config: Config) => Config;