40 lines
1.3 KiB
TypeScript
40 lines
1.3 KiB
TypeScript
import { ComputedRef, MaybeRefOrGetter, Ref, ShallowRef } from "vue";
|
|
|
|
//#region src/client/composables/demo.d.ts
|
|
interface DemoConfig {
|
|
html: string;
|
|
css: string;
|
|
script: string;
|
|
jsLib: string[];
|
|
cssLib: string[];
|
|
}
|
|
declare function useExpand(defaultExpand?: boolean): readonly [Ref<boolean>, () => void];
|
|
interface ResourceItem {
|
|
name: string;
|
|
items: SubResourceItem[];
|
|
}
|
|
interface SubResourceItem {
|
|
name: string;
|
|
url: string;
|
|
}
|
|
interface UseResourcesResult {
|
|
resources: ComputedRef<ResourceItem[]>;
|
|
showResources: Ref<boolean>;
|
|
toggleResources: () => void;
|
|
}
|
|
declare function useResources(el: ShallowRef<HTMLDivElement | null>, config: MaybeRefOrGetter<DemoConfig | undefined>): UseResourcesResult;
|
|
interface FenceData {
|
|
js: string;
|
|
css: string;
|
|
html: string;
|
|
jsType: string;
|
|
cssType: string;
|
|
}
|
|
declare function useFence(fence: ShallowRef<HTMLDivElement | null>, config: MaybeRefOrGetter<DemoConfig | undefined>): Ref<FenceData>;
|
|
declare function useNormalDemo(draw: ShallowRef<HTMLIFrameElement | null>, title: MaybeRefOrGetter<string | undefined>, config: MaybeRefOrGetter<DemoConfig | undefined>): {
|
|
id: string;
|
|
height: Ref<string>;
|
|
};
|
|
declare function parseData(data: any): any;
|
|
//#endregion
|
|
export { DemoConfig, parseData, useExpand, useFence, useNormalDemo, useResources }; |