ui: add view-transistions

This commit is contained in:
undefined committed 2024-08-11 23:53:40 +08:00
1 parent 0d2d84d114
commit f86b8f99f8
6 files changed
+49 -24

No files matched your search

+19
View File
@@ -183,6 +183,23 @@ export const request = {
},
};
export function withTransistionCallback(callback: () => (Promise<void> | void)) {
// @ts-ignore
if (!document.startViewTransition) return callback?.();
// @ts-ignore
return document.startViewTransition(() => callback());
}
export async function setTemporaryViewTransitionNames(entries, vtPromise: Promise<void>) {
for (const [$el, name] of entries) {
$el.style.viewTransitionName = name;
}
await vtPromise;
for (const [$el] of entries) {
$el.style.viewTransitionName = '';
}
}
Object.assign(window.Hydro.utils, {
i18n,
rawHtml,
@@ -192,4 +209,6 @@ Object.assign(window.Hydro.utils, {
tpl,
delay,
zIndexManager,
withTransistionCallback,
setTemporaryViewTransitionNames,
});