init component

This commit is contained in:
Robin COuret
2026-02-16 17:28:37 +01:00
parent 460c7a25e0
commit e0e50af706
4557 changed files with 666911 additions and 8 deletions

View File

@@ -0,0 +1,10 @@
export declare const DeferRendering: import("vue").DefineComponent<{
frames: {
type: NumberConstructor;
required: true;
};
}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[] | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
frames: number;
} & {}>, {}>;

View File

@@ -0,0 +1,46 @@
import { shallowRef, onMounted, defineComponent } from 'vue';
export const DeferRendering = defineComponent({
name: 'defer-rendering',
props: {
frames: {
type: Number,
required: true
}
},
setup(props, {
slots
}) {
const currentFrame = shallowRef(0);
function checkRenderingStatus() {
if (props.frames > 0) {
if (window && window.requestAnimationFrame) {
const step = () => {
requestAnimationFrame(() => {
if (currentFrame.value < props.frames) {
currentFrame.value++;
step();
}
});
};
step();
} else {
setTimeout(() => currentFrame.value = props.frames, props.frames * 16);
}
}
}
onMounted(checkRenderingStatus);
return () => {
if (currentFrame.value >= props.frames && slots.default) {
return slots.default();
} else {
return undefined;
}
};
}
});
//# sourceMappingURL=DeferRendering.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../../src/components/renderless/deferRendering/DeferRendering.ts"],"names":[],"mappings":"AAAA,SAAS,UAAT,EAAqB,SAArB,EAAgC,eAAhC,QAAuD,KAAvD;AAEA,OAAO,MAAM,cAAc,GAAG,eAAe,CAAC;AAC5C,EAAA,IAAI,EAAE,iBADsC;AAE5C,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,MADA;AAEN,MAAA,QAAQ,EAAE;AAFJ;AADH,GAFqC;;AAQ5C,EAAA,KAAK,CAAC,KAAD,EAAQ;AAAE,IAAA;AAAF,GAAR,EAAiB;AACpB,UAAM,YAAY,GAAG,UAAU,CAAC,CAAD,CAA/B;;AACA,aAAS,oBAAT,GAA6B;AAC3B,UAAI,KAAK,CAAC,MAAN,GAAe,CAAnB,EAAsB;AACpB,YAAI,MAAM,IAAI,MAAM,CAAC,qBAArB,EAA4C;AAC1C,gBAAM,IAAI,GAAG,MAAK;AAChB,YAAA,qBAAqB,CAAC,MAAK;AACzB,kBAAI,YAAY,CAAC,KAAb,GAAqB,KAAK,CAAC,MAA/B,EAAuC;AACrC,gBAAA,YAAY,CAAC,KAAb;AACA,gBAAA,IAAI;AACL;AACF,aALoB,CAArB;AAMD,WAPD;;AAQA,UAAA,IAAI;AACL,SAVD,MAUO;AACL,UAAA,UAAU,CAAC,MAAO,YAAY,CAAC,KAAb,GAAqB,KAAK,CAAC,MAAnC,EAA4C,KAAK,CAAC,MAAN,GAAe,EAA3D,CAAV;AACD;AACF;AACF;;AACD,IAAA,SAAS,CAAC,oBAAD,CAAT;AACA,WAAO,MAAK;AACV,UAAI,YAAY,CAAC,KAAb,IAAsB,KAAK,CAAC,MAA5B,IAAsC,KAAK,CAAC,OAAhD,EAAyD;AACvD,eAAO,KAAK,CAAC,OAAN,EAAP;AACD,OAFD,MAEO;AACL,eAAO,SAAP;AACD;AACF,KAND;AAOD;;AAnC2C,CAAD,CAAtC","sourcesContent":["import { shallowRef, onMounted, defineComponent } from 'vue';\n\nexport const DeferRendering = defineComponent({\n name: 'defer-rendering',\n props: {\n frames: {\n type: Number,\n required: true\n }\n },\n setup(props, { slots }) {\n const currentFrame = shallowRef(0);\n function checkRenderingStatus() {\n if (props.frames > 0) {\n if (window && window.requestAnimationFrame) {\n const step = () => {\n requestAnimationFrame(() => {\n if (currentFrame.value < props.frames) {\n currentFrame.value++;\n step();\n }\n });\n };\n step();\n } else {\n setTimeout(() => (currentFrame.value = props.frames), props.frames * 16);\n }\n }\n }\n onMounted(checkRenderingStatus);\n return () => {\n if (currentFrame.value >= props.frames && slots.default) {\n return slots.default();\n } else {\n return undefined;\n }\n };\n }\n});\n"],"sourceRoot":"","file":"DeferRendering.js"}

View File

@@ -0,0 +1,3 @@
import { DeferRendering } from './DeferRendering';
export { DeferRendering };
export default DeferRendering;

View File

@@ -0,0 +1,4 @@
import { DeferRendering } from './DeferRendering';
export { DeferRendering };
export default DeferRendering;
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../../src/components/renderless/deferRendering/index.ts"],"names":[],"mappings":"AAAA,SAAS,cAAT,QAA+B,kBAA/B;AAEA,SAAS,cAAT;AAEA,eAAe,cAAf","sourcesContent":["import { DeferRendering } from './DeferRendering';\n\nexport { DeferRendering };\n\nexport default DeferRendering;\n"],"sourceRoot":"","file":"index.js"}