feat: initial commit - Phase 1 & 2 core features

This commit is contained in:
hiderfong
2026-04-22 17:07:33 +08:00
commit 1773bda06b
25005 changed files with 6252106 additions and 0 deletions
@@ -0,0 +1,23 @@
import { Ref } from "vue";
//#region ../../packages/hooks/use-intermediate-render/index.d.ts
type UseDelayedRenderProps = {
indicator: Ref<boolean>;
intermediateIndicator: Ref<boolean>;
shouldSetIntermediate?: (step: 'show' | 'hide') => boolean;
beforeShow?: () => void;
beforeHide?: () => void;
afterShow?: () => void;
afterHide?: () => void;
};
declare const useDelayedRender: ({
indicator,
intermediateIndicator,
shouldSetIntermediate,
beforeShow,
afterShow,
afterHide,
beforeHide
}: UseDelayedRenderProps) => void;
//#endregion
export { UseDelayedRenderProps, useDelayedRender };
@@ -0,0 +1,30 @@
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
const require_runtime = require('../../_virtual/_rolldown/runtime.js');
let vue = require("vue");
//#region ../../packages/hooks/use-intermediate-render/index.ts
const useDelayedRender = ({ indicator, intermediateIndicator, shouldSetIntermediate = () => true, beforeShow, afterShow, afterHide, beforeHide }) => {
(0, vue.watch)(() => (0, vue.unref)(indicator), (val) => {
if (val) {
beforeShow?.();
(0, vue.nextTick)(() => {
if (!(0, vue.unref)(indicator)) return;
if (shouldSetIntermediate("show")) intermediateIndicator.value = true;
});
} else {
beforeHide?.();
(0, vue.nextTick)(() => {
if ((0, vue.unref)(indicator)) return;
if (shouldSetIntermediate("hide")) intermediateIndicator.value = false;
});
}
});
(0, vue.watch)(() => intermediateIndicator.value, (val) => {
if (val) afterShow?.();
else afterHide?.();
});
};
//#endregion
exports.useDelayedRender = useDelayedRender;
//# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
{"version":3,"file":"index.js","names":[],"sources":["../../../../../packages/hooks/use-intermediate-render/index.ts"],"sourcesContent":["import { nextTick, unref, watch } from 'vue'\n\nimport type { Ref } from 'vue'\n\nexport type UseDelayedRenderProps = {\n indicator: Ref<boolean>\n intermediateIndicator: Ref<boolean>\n shouldSetIntermediate?: (step: 'show' | 'hide') => boolean\n beforeShow?: () => void\n beforeHide?: () => void\n afterShow?: () => void\n afterHide?: () => void\n}\n\nexport const useDelayedRender = ({\n indicator,\n intermediateIndicator,\n shouldSetIntermediate = () => true,\n beforeShow,\n afterShow,\n afterHide,\n beforeHide,\n}: UseDelayedRenderProps) => {\n watch(\n () => unref(indicator),\n (val) => {\n if (val) {\n beforeShow?.()\n nextTick(() => {\n if (!unref(indicator)) return\n if (shouldSetIntermediate('show')) {\n intermediateIndicator.value = true\n }\n })\n } else {\n beforeHide?.()\n nextTick(() => {\n if (unref(indicator)) return\n\n if (shouldSetIntermediate('hide')) {\n intermediateIndicator.value = false\n }\n })\n }\n }\n )\n\n // because we don't always set the value ourselves, so that we\n // simply watch the value's state, then invoke the corresponding hook.\n watch(\n () => intermediateIndicator.value,\n (val) => {\n if (val) {\n afterShow?.()\n } else {\n afterHide?.()\n }\n }\n )\n}\n"],"mappings":";;;;;AAcA,MAAa,oBAAoB,EAC/B,WACA,uBACA,8BAA8B,MAC9B,YACA,WACA,WACA,iBAC2B;AAC3B,qCACc,UAAU,GACrB,QAAQ;AACP,MAAI,KAAK;AACP,iBAAc;AACd,2BAAe;AACb,QAAI,gBAAO,UAAU,CAAE;AACvB,QAAI,sBAAsB,OAAO,CAC/B,uBAAsB,QAAQ;KAEhC;SACG;AACL,iBAAc;AACd,2BAAe;AACb,uBAAU,UAAU,CAAE;AAEtB,QAAI,sBAAsB,OAAO,CAC/B,uBAAsB,QAAQ;KAEhC;;GAGP;AAID,sBACQ,sBAAsB,QAC3B,QAAQ;AACP,MAAI,IACF,cAAa;MAEb,cAAa;GAGlB"}