123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 |
- import * as vue from 'vue';
- import { Ref, DeepReadonly, ComponentPropsOptions, ExtractPropTypes } from 'vue';
- interface InternalThemeDefinition {
- dark: boolean;
- colors: Colors;
- variables: Record<string, string | number>;
- }
- interface Colors extends BaseColors, OnColors {
- [key: string]: string;
- }
- interface BaseColors {
- background: string;
- surface: string;
- primary: string;
- secondary: string;
- success: string;
- warning: string;
- error: string;
- info: string;
- }
- interface OnColors {
- 'on-background': string;
- 'on-surface': string;
- 'on-primary': string;
- 'on-secondary': string;
- 'on-success': string;
- 'on-warning': string;
- 'on-error': string;
- 'on-info': string;
- }
- interface ThemeInstance {
- readonly isDisabled: boolean;
- readonly themes: Ref<Record<string, InternalThemeDefinition>>;
- readonly name: Readonly<Ref<string>>;
- readonly current: DeepReadonly<Ref<InternalThemeDefinition>>;
- readonly computedThemes: DeepReadonly<Ref<Record<string, InternalThemeDefinition>>>;
- readonly themeClasses: Readonly<Ref<string | undefined>>;
- readonly styles: Readonly<Ref<string>>;
- readonly global: {
- readonly name: Ref<string>;
- readonly current: DeepReadonly<Ref<InternalThemeDefinition>>;
- };
- }
- interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
- filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
- }
- type ClassValue = any;
- type Position = 'top' | 'left' | 'right' | 'bottom';
- declare const VApp: {
- new (...args: any[]): vue.CreateComponentPublicInstance<{
- style: vue.StyleValue;
- fullHeight: boolean;
- } & {
- class?: any;
- theme?: string | undefined;
- overlaps?: string[] | undefined;
- } & {
- $children?: vue.VNodeChild | {
- default?: (() => vue.VNodeChild) | undefined;
- } | (() => vue.VNodeChild);
- 'v-slots'?: {
- default?: false | (() => vue.VNodeChild) | undefined;
- } | undefined;
- } & {
- "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
- }, {
- getLayoutItem: (id: string) => {
- size: number;
- position: Position;
- top: number;
- bottom: number;
- left: number;
- right: number;
- id: string;
- } | undefined;
- items: vue.ComputedRef<{
- size: number;
- position: Position;
- top: number;
- bottom: number;
- left: number;
- right: number;
- id: string;
- }[]>;
- theme: ThemeInstance;
- }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
- style: vue.StyleValue;
- fullHeight: boolean;
- } & {
- class?: any;
- theme?: string | undefined;
- overlaps?: string[] | undefined;
- } & {
- $children?: vue.VNodeChild | {
- default?: (() => vue.VNodeChild) | undefined;
- } | (() => vue.VNodeChild);
- 'v-slots'?: {
- default?: false | (() => vue.VNodeChild) | undefined;
- } | undefined;
- } & {
- "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
- }, {
- style: vue.StyleValue;
- fullHeight: boolean;
- }, true, {}, vue.SlotsType<Partial<{
- default: () => vue.VNode[];
- }>>, {
- P: {};
- B: {};
- D: {};
- C: {};
- M: {};
- Defaults: {};
- }, {
- style: vue.StyleValue;
- fullHeight: boolean;
- } & {
- class?: any;
- theme?: string | undefined;
- overlaps?: string[] | undefined;
- } & {
- $children?: vue.VNodeChild | {
- default?: (() => vue.VNodeChild) | undefined;
- } | (() => vue.VNodeChild);
- 'v-slots'?: {
- default?: false | (() => vue.VNodeChild) | undefined;
- } | undefined;
- } & {
- "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
- }, {
- getLayoutItem: (id: string) => {
- size: number;
- position: Position;
- top: number;
- bottom: number;
- left: number;
- right: number;
- id: string;
- } | undefined;
- items: vue.ComputedRef<{
- size: number;
- position: Position;
- top: number;
- bottom: number;
- left: number;
- right: number;
- id: string;
- }[]>;
- theme: ThemeInstance;
- }, {}, {}, {}, {
- style: vue.StyleValue;
- fullHeight: boolean;
- }>;
- __isFragment?: never;
- __isTeleport?: never;
- __isSuspense?: never;
- } & vue.ComponentOptionsBase<{
- style: vue.StyleValue;
- fullHeight: boolean;
- } & {
- class?: any;
- theme?: string | undefined;
- overlaps?: string[] | undefined;
- } & {
- $children?: vue.VNodeChild | {
- default?: (() => vue.VNodeChild) | undefined;
- } | (() => vue.VNodeChild);
- 'v-slots'?: {
- default?: false | (() => vue.VNodeChild) | undefined;
- } | undefined;
- } & {
- "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
- }, {
- getLayoutItem: (id: string) => {
- size: number;
- position: Position;
- top: number;
- bottom: number;
- left: number;
- right: number;
- id: string;
- } | undefined;
- items: vue.ComputedRef<{
- size: number;
- position: Position;
- top: number;
- bottom: number;
- left: number;
- right: number;
- id: string;
- }[]>;
- theme: ThemeInstance;
- }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
- style: vue.StyleValue;
- fullHeight: boolean;
- }, {}, string, vue.SlotsType<Partial<{
- default: () => vue.VNode[];
- }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
- theme: StringConstructor;
- overlaps: vue.Prop<string[]>;
- fullHeight: {
- type: vue.PropType<boolean>;
- default: boolean;
- };
- class: vue.PropType<ClassValue>;
- style: {
- type: vue.PropType<vue.StyleValue>;
- default: null;
- };
- }, vue.ExtractPropTypes<{
- theme: StringConstructor;
- overlaps: vue.Prop<string[]>;
- fullHeight: {
- type: vue.PropType<boolean>;
- default: boolean;
- };
- class: vue.PropType<ClassValue>;
- style: {
- type: vue.PropType<vue.StyleValue>;
- default: null;
- };
- }>>;
- type VApp = InstanceType<typeof VApp>;
- export { VApp };
|