@openspecui/web 2.3.2 → 2.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/CanvasRenderer-yznXxqwr.js +1 -0
- package/dist/assets/WebGLRenderer-B23oVGNL.js +1 -0
- package/dist/assets/WebGPURenderer-Cug1nwkB.js +1 -0
- package/dist/assets/browserAll-u3VqlriV.js +1 -0
- package/dist/assets/{dist-BLkBtxRp.js → dist-0r-fEysT.js} +1 -1
- package/dist/assets/{dist-DjPJlCHP.js → dist-BURffNKn.js} +1 -1
- package/dist/assets/{dist-BYskKa8I.js → dist-BkfyzqOP.js} +1 -1
- package/dist/assets/{dist-AzZzg9Or.js → dist-C4qVWCwa.js} +1 -1
- package/dist/assets/dist-COUYL3BZ.js +1 -0
- package/dist/assets/{dist-704BMcqW.js → dist-C_hvHrdB.js} +1 -1
- package/dist/assets/{dist-D3tpHX6Y.js → dist-CyMw4R35.js} +1 -1
- package/dist/assets/{dist-DICpu_MT.js → dist-D5aqbpvI.js} +1 -1
- package/dist/assets/{dist-CHbFRWhr.js → dist-Dw21sB44.js} +1 -1
- package/dist/assets/{dist-NxlD47Et.js → dist-EecJWaiB.js} +1 -1
- package/dist/assets/dist-hmhW0TeA.js +1 -0
- package/dist/assets/dist-zq2gg3Qj.js +1 -0
- package/dist/assets/{ghostty-web-C70d-U4t.js → ghostty-web-Dz4JIhSO.js} +1 -1
- package/dist/assets/{index-Djyctzdp.js → index-CEpXtWXm.js} +88 -88
- package/dist/assets/{init-BWnHltxK.js → init-B8PdfdJA.js} +1 -1
- package/dist/assets/trpc-BYEnVZ4c.js +1 -0
- package/dist/assets/webworkerAll-BiDEVq-n.js +1 -0
- package/dist/index.html +1 -1
- package/dist-ssg/client/.vite/ssr-manifest.json +18 -15
- package/dist-ssg/client/assets/CanvasRenderer-BCXK2PVZ.js +1 -0
- package/dist-ssg/client/assets/WebGLRenderer-i-T4B6u4.js +1 -0
- package/dist-ssg/client/assets/WebGPURenderer-H88EZaPN.js +1 -0
- package/dist-ssg/client/assets/browserAll-Ae_1KSeb.js +1 -0
- package/dist-ssg/client/assets/{dist-Dv6uiUoE.js → dist-B7XHcG34.js} +1 -1
- package/dist-ssg/client/assets/{dist-TuIRzaj8.js → dist-BARr54Cb.js} +1 -1
- package/dist-ssg/client/assets/{dist-hHeeK4R0.js → dist-BTUS8_Kw.js} +1 -1
- package/dist-ssg/client/assets/{dist-C65ij9xh.js → dist-C77YNQqE.js} +1 -1
- package/dist-ssg/client/assets/{dist-eTaUIlfT.js → dist-CXFa4KDE.js} +1 -1
- package/dist-ssg/client/assets/{dist-Dsknr6vA.js → dist-D9LLad4O.js} +1 -1
- package/dist-ssg/client/assets/{dist-X2a3RXr4.js → dist-DTnge_6G.js} +1 -1
- package/dist-ssg/client/assets/{dist-Bl--njTk.js → dist-DXnJ5xkX.js} +1 -1
- package/dist-ssg/client/assets/dist-D_3RMJZl.js +1 -0
- package/dist-ssg/client/assets/{dist-C887n21g.js → dist-Djq8HFE5.js} +1 -1
- package/dist-ssg/client/assets/dist-ENBjyU2l.js +1 -0
- package/dist-ssg/client/assets/dist-VCVOuFg2.js +1 -0
- package/dist-ssg/client/assets/{ghostty-web-CHBQyH7_.js → ghostty-web-BUrM4LmE.js} +1 -1
- package/dist-ssg/client/assets/{index.ssg-DkyqyrXf.js → index.ssg-BU1Brmat.js} +136 -136
- package/dist-ssg/client/assets/{init-BRd1iFqg.js → init-C5vrHUuy.js} +1 -1
- package/dist-ssg/client/assets/trpc-3tg7hkky.js +1 -0
- package/dist-ssg/client/assets/webworkerAll-eiudlEPb.js +1 -0
- package/dist-ssg/client/index.ssg.html +1 -1
- package/dist-ssg/server/entry-server.js +210 -17
- package/package.json +1 -1
- package/dist/assets/CanvasRenderer-XYe2KglB.js +0 -1
- package/dist/assets/WebGLRenderer-DCMbi58z.js +0 -1
- package/dist/assets/WebGPURenderer-D8qkuqdr.js +0 -1
- package/dist/assets/browserAll-haNDWq66.js +0 -1
- package/dist/assets/dist-BXHMHEwl.js +0 -1
- package/dist/assets/dist-D0pwQ8q9.js +0 -1
- package/dist/assets/dist-D_Ftxw8J.js +0 -1
- package/dist/assets/trpc-C7hf8_bp.js +0 -1
- package/dist/assets/webworkerAll-BXCHpnO9.js +0 -1
- package/dist-ssg/client/assets/CanvasRenderer-BVt34cwv.js +0 -1
- package/dist-ssg/client/assets/WebGLRenderer-DTGXjggz.js +0 -1
- package/dist-ssg/client/assets/WebGPURenderer-9B_42fBK.js +0 -1
- package/dist-ssg/client/assets/browserAll-DNt0Yfet.js +0 -1
- package/dist-ssg/client/assets/dist-CkOzcD72.js +0 -1
- package/dist-ssg/client/assets/dist-DuL-Iyhd.js +0 -1
- package/dist-ssg/client/assets/dist-_NPWTu8A.js +0 -1
- package/dist-ssg/client/assets/trpc-BX7m8KYM.js +0 -1
- package/dist-ssg/client/assets/webworkerAll-C_Psgpip.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{it as e}from"./Geometry-CNDxiJq_.js";import{a as t,i as n}from"./index.ssg-
|
|
1
|
+
import{it as e}from"./Geometry-CNDxiJq_.js";import{a as t,i as n}from"./index.ssg-BU1Brmat.js";e.add(n),e.add(t);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{F as e}from"./index.ssg-BU1Brmat.js";export{e as trpcClient};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./Geometry-CNDxiJq_.js";import"./index.ssg-BU1Brmat.js";import"./init-C5vrHUuy.js";
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
document.head.append(preconnectApi, preconnectStatic, stylesheet)
|
|
36
36
|
})()
|
|
37
37
|
</script>
|
|
38
|
-
<script type="module" crossorigin src="/assets/index.ssg-
|
|
38
|
+
<script type="module" crossorigin src="/assets/index.ssg-BU1Brmat.js"></script>
|
|
39
39
|
<link rel="modulepreload" crossorigin href="/assets/chunk-DECur_0Z.js">
|
|
40
40
|
<link rel="modulepreload" crossorigin href="/assets/dist-QUHuPJsA.js">
|
|
41
41
|
<link rel="modulepreload" crossorigin href="/assets/dist-BGaHY1kO.js">
|
|
@@ -73931,6 +73931,123 @@ function TabsImpl({ tabs, selectedTab: controlled, onTabChange, onTabClose, onTa
|
|
|
73931
73931
|
}
|
|
73932
73932
|
var Tabs = (0, import_react.forwardRef)(TabsImpl);
|
|
73933
73933
|
//#endregion
|
|
73934
|
+
//#region src/lib/view-transitions/tab-scroll-freeze.ts
|
|
73935
|
+
var DATA_VISIBLE_HEIGHT = "tabVisibleHeight";
|
|
73936
|
+
var DATA_TOP_INSET = "tabTopInset";
|
|
73937
|
+
var DATA_SCROLL_OFFSET = "tabScrollOffset";
|
|
73938
|
+
function clamp$2(value, min, max) {
|
|
73939
|
+
return Math.min(Math.max(value, min), max);
|
|
73940
|
+
}
|
|
73941
|
+
function maxViewportScroll(viewport) {
|
|
73942
|
+
return Math.max(viewport.scrollHeight - viewport.clientHeight, 0);
|
|
73943
|
+
}
|
|
73944
|
+
function maxPanelScroll(panel, visibleHeight) {
|
|
73945
|
+
return Math.max(panel.scrollHeight - visibleHeight, 0);
|
|
73946
|
+
}
|
|
73947
|
+
function panelDocumentTop(panel, viewport) {
|
|
73948
|
+
const panelRect = panel.getBoundingClientRect();
|
|
73949
|
+
const viewportRect = viewport.getBoundingClientRect();
|
|
73950
|
+
return viewport.scrollTop + panelRect.top - viewportRect.top;
|
|
73951
|
+
}
|
|
73952
|
+
function setFrozenMetrics(panel, snapshot) {
|
|
73953
|
+
panel.dataset[DATA_VISIBLE_HEIGHT] = String(snapshot.visibleHeight);
|
|
73954
|
+
panel.dataset[DATA_TOP_INSET] = String(snapshot.topInset);
|
|
73955
|
+
panel.dataset[DATA_SCROLL_OFFSET] = String(snapshot.innerScrollTop);
|
|
73956
|
+
}
|
|
73957
|
+
function clearFrozenMetrics(panel) {
|
|
73958
|
+
delete panel.dataset[DATA_VISIBLE_HEIGHT];
|
|
73959
|
+
delete panel.dataset[DATA_TOP_INSET];
|
|
73960
|
+
delete panel.dataset[DATA_SCROLL_OFFSET];
|
|
73961
|
+
}
|
|
73962
|
+
function applyFrozenStyles(panel, snapshot) {
|
|
73963
|
+
const previousStyles = {
|
|
73964
|
+
height: panel.style.height,
|
|
73965
|
+
maxHeight: panel.style.maxHeight,
|
|
73966
|
+
minHeight: panel.style.minHeight,
|
|
73967
|
+
overflowY: panel.style.overflowY
|
|
73968
|
+
};
|
|
73969
|
+
const height = `${snapshot.visibleHeight}px`;
|
|
73970
|
+
panel.style.height = height;
|
|
73971
|
+
panel.style.minHeight = height;
|
|
73972
|
+
panel.style.maxHeight = height;
|
|
73973
|
+
panel.style.overflowY = "hidden";
|
|
73974
|
+
setFrozenMetrics(panel, snapshot);
|
|
73975
|
+
return previousStyles;
|
|
73976
|
+
}
|
|
73977
|
+
function restorePanel(panel, previousStyles) {
|
|
73978
|
+
panel.style.height = previousStyles.height;
|
|
73979
|
+
panel.style.maxHeight = previousStyles.maxHeight;
|
|
73980
|
+
panel.style.minHeight = previousStyles.minHeight;
|
|
73981
|
+
panel.style.overflowY = previousStyles.overflowY;
|
|
73982
|
+
clearFrozenMetrics(panel);
|
|
73983
|
+
}
|
|
73984
|
+
function resolveTabScrollElements(handle, tabId, viewportSelector) {
|
|
73985
|
+
if (!viewportSelector) return null;
|
|
73986
|
+
const panel = handle?.getPanel(tabId);
|
|
73987
|
+
if (!(panel instanceof HTMLElement)) return null;
|
|
73988
|
+
let viewport = null;
|
|
73989
|
+
try {
|
|
73990
|
+
viewport = panel.closest(viewportSelector);
|
|
73991
|
+
} catch {
|
|
73992
|
+
return null;
|
|
73993
|
+
}
|
|
73994
|
+
if (!(viewport instanceof HTMLElement)) return null;
|
|
73995
|
+
return {
|
|
73996
|
+
panel,
|
|
73997
|
+
viewport
|
|
73998
|
+
};
|
|
73999
|
+
}
|
|
74000
|
+
function captureTabScrollMemory(elements) {
|
|
74001
|
+
const { panel, viewport } = elements;
|
|
74002
|
+
const panelRect = panel.getBoundingClientRect();
|
|
74003
|
+
const viewportRect = viewport.getBoundingClientRect();
|
|
74004
|
+
const visibleHeight = clamp$2(Math.min(panelRect.bottom, viewportRect.bottom) - Math.max(panelRect.top, viewportRect.top), 0, viewport.clientHeight);
|
|
74005
|
+
if (visibleHeight <= 0) return null;
|
|
74006
|
+
const topInset = Math.max(panelRect.top - viewportRect.top, 0);
|
|
74007
|
+
return {
|
|
74008
|
+
innerScrollTop: clamp$2(Math.max(viewportRect.top - panelRect.top, 0), 0, maxPanelScroll(panel, visibleHeight)),
|
|
74009
|
+
topInset,
|
|
74010
|
+
visibleHeight
|
|
74011
|
+
};
|
|
74012
|
+
}
|
|
74013
|
+
function freezeOutgoingTab(elements, snapshot) {
|
|
74014
|
+
const previousStyles = applyFrozenStyles(elements.panel, snapshot);
|
|
74015
|
+
elements.panel.scrollTop = snapshot.innerScrollTop;
|
|
74016
|
+
if (snapshot.innerScrollTop > 0) elements.viewport.scrollTop = clamp$2(elements.viewport.scrollTop - snapshot.innerScrollTop, 0, maxViewportScroll(elements.viewport));
|
|
74017
|
+
return {
|
|
74018
|
+
panel: elements.panel,
|
|
74019
|
+
previousStyles,
|
|
74020
|
+
viewport: elements.viewport
|
|
74021
|
+
};
|
|
74022
|
+
}
|
|
74023
|
+
function freezeIncomingTab(elements, snapshot) {
|
|
74024
|
+
const normalizedSnapshot = {
|
|
74025
|
+
topInset: clamp$2(snapshot.topInset, 0, elements.viewport.clientHeight),
|
|
74026
|
+
visibleHeight: clamp$2(snapshot.visibleHeight, 1, elements.viewport.clientHeight),
|
|
74027
|
+
innerScrollTop: 0
|
|
74028
|
+
};
|
|
74029
|
+
normalizedSnapshot.innerScrollTop = clamp$2(snapshot.innerScrollTop, 0, maxPanelScroll(elements.panel, normalizedSnapshot.visibleHeight));
|
|
74030
|
+
const nextViewportScrollTop = clamp$2(panelDocumentTop(elements.panel, elements.viewport) - normalizedSnapshot.topInset, 0, maxViewportScroll(elements.viewport));
|
|
74031
|
+
const previousStyles = applyFrozenStyles(elements.panel, normalizedSnapshot);
|
|
74032
|
+
elements.viewport.scrollTop = nextViewportScrollTop;
|
|
74033
|
+
elements.panel.scrollTop = normalizedSnapshot.innerScrollTop;
|
|
74034
|
+
return {
|
|
74035
|
+
panel: elements.panel,
|
|
74036
|
+
previousStyles,
|
|
74037
|
+
viewport: elements.viewport
|
|
74038
|
+
};
|
|
74039
|
+
}
|
|
74040
|
+
function finalizeFrozenIncomingTab(state) {
|
|
74041
|
+
const transferScrollTop = state.panel.scrollTop;
|
|
74042
|
+
restorePanel(state.panel, state.previousStyles);
|
|
74043
|
+
state.viewport.scrollTop = clamp$2(state.viewport.scrollTop + transferScrollTop, 0, maxViewportScroll(state.viewport));
|
|
74044
|
+
state.panel.scrollTop = 0;
|
|
74045
|
+
}
|
|
74046
|
+
function cleanupFrozenTab(state) {
|
|
74047
|
+
restorePanel(state.panel, state.previousStyles);
|
|
74048
|
+
state.panel.scrollTop = 0;
|
|
74049
|
+
}
|
|
74050
|
+
//#endregion
|
|
73934
74051
|
//#region src/lib/view-transitions/tabs.ts
|
|
73935
74052
|
var SERVER_LOCATION = {
|
|
73936
74053
|
pathname: "/",
|
|
@@ -74013,9 +74130,11 @@ function collectTabEntries(handle, tabId) {
|
|
|
74013
74130
|
if (panel) entries.push([panel, "vt-tab-panel"]);
|
|
74014
74131
|
return entries;
|
|
74015
74132
|
}
|
|
74016
|
-
function useRoutedCarouselTabs({ queryKey, tabs, initialTab, area, history = "replace", allowUnknownSelection = false }) {
|
|
74133
|
+
function useRoutedCarouselTabs({ queryKey, tabs, initialTab, area, history = "replace", allowUnknownSelection = false, viewportSelector }) {
|
|
74017
74134
|
const { location, router } = useRoutedTabsLocation();
|
|
74018
74135
|
const tabsRef = (0, import_react.useRef)(null);
|
|
74136
|
+
const scrollMemoryByTabRef = (0, import_react.useRef)(/* @__PURE__ */ new Map());
|
|
74137
|
+
const frozenTabsRef = (0, import_react.useRef)(/* @__PURE__ */ new Map());
|
|
74019
74138
|
const selectedFromLocation = (0, import_react.useMemo)(() => resolveSelectedTab({
|
|
74020
74139
|
tabs,
|
|
74021
74140
|
queryKey,
|
|
@@ -74039,7 +74158,8 @@ function useRoutedCarouselTabs({ queryKey, tabs, initialTab, area, history = "re
|
|
|
74039
74158
|
router,
|
|
74040
74159
|
selectedFromLocation,
|
|
74041
74160
|
selectedTab,
|
|
74042
|
-
tabs
|
|
74161
|
+
tabs,
|
|
74162
|
+
viewportSelector
|
|
74043
74163
|
});
|
|
74044
74164
|
latestRef.current = {
|
|
74045
74165
|
allowUnknownSelection,
|
|
@@ -74050,13 +74170,60 @@ function useRoutedCarouselTabs({ queryKey, tabs, initialTab, area, history = "re
|
|
|
74050
74170
|
router,
|
|
74051
74171
|
selectedFromLocation,
|
|
74052
74172
|
selectedTab,
|
|
74053
|
-
tabs
|
|
74173
|
+
tabs,
|
|
74174
|
+
viewportSelector
|
|
74054
74175
|
};
|
|
74176
|
+
const cleanupFrozenTabById = (0, import_react.useCallback)((tabId) => {
|
|
74177
|
+
const frozenState = frozenTabsRef.current.get(tabId);
|
|
74178
|
+
if (!frozenState) return;
|
|
74179
|
+
cleanupFrozenTab(frozenState);
|
|
74180
|
+
frozenTabsRef.current.delete(tabId);
|
|
74181
|
+
}, []);
|
|
74182
|
+
const cleanupAllFrozenTabs = (0, import_react.useCallback)(() => {
|
|
74183
|
+
for (const frozenState of frozenTabsRef.current.values()) cleanupFrozenTab(frozenState);
|
|
74184
|
+
frozenTabsRef.current.clear();
|
|
74185
|
+
}, []);
|
|
74186
|
+
const captureOutgoingTab = (0, import_react.useCallback)((tabId, nextViewportSelector) => {
|
|
74187
|
+
const elements = resolveTabScrollElements(tabsRef.current, tabId, nextViewportSelector);
|
|
74188
|
+
if (!elements) return;
|
|
74189
|
+
const snapshot = captureTabScrollMemory(elements);
|
|
74190
|
+
if (!snapshot) return;
|
|
74191
|
+
scrollMemoryByTabRef.current.set(tabId, snapshot);
|
|
74192
|
+
cleanupFrozenTabById(tabId);
|
|
74193
|
+
frozenTabsRef.current.set(tabId, freezeOutgoingTab(elements, snapshot));
|
|
74194
|
+
}, [cleanupFrozenTabById]);
|
|
74195
|
+
const prepareIncomingTab = (0, import_react.useCallback)((tabId, nextViewportSelector) => {
|
|
74196
|
+
const elements = resolveTabScrollElements(tabsRef.current, tabId, nextViewportSelector);
|
|
74197
|
+
if (!elements) return false;
|
|
74198
|
+
const snapshot = scrollMemoryByTabRef.current.get(tabId) ?? captureTabScrollMemory(elements);
|
|
74199
|
+
if (!snapshot) return false;
|
|
74200
|
+
cleanupFrozenTabById(tabId);
|
|
74201
|
+
frozenTabsRef.current.set(tabId, freezeIncomingTab(elements, snapshot));
|
|
74202
|
+
return true;
|
|
74203
|
+
}, [cleanupFrozenTabById]);
|
|
74204
|
+
const finalizeIncomingTab = (0, import_react.useCallback)((tabId) => {
|
|
74205
|
+
const frozenState = frozenTabsRef.current.get(tabId);
|
|
74206
|
+
if (!frozenState) return;
|
|
74207
|
+
finalizeFrozenIncomingTab(frozenState);
|
|
74208
|
+
frozenTabsRef.current.delete(tabId);
|
|
74209
|
+
}, []);
|
|
74055
74210
|
(0, import_react.useEffect)(() => {
|
|
74056
74211
|
setSelectedTabState((current) => current === selectedFromLocation ? current : selectedFromLocation);
|
|
74057
74212
|
}, [selectedFromLocation]);
|
|
74213
|
+
(0, import_react.useEffect)(() => {
|
|
74214
|
+
const validIds = new Set(tabs.map((tab) => tab.id));
|
|
74215
|
+
for (const tabId of scrollMemoryByTabRef.current.keys()) if (!validIds.has(tabId)) scrollMemoryByTabRef.current.delete(tabId);
|
|
74216
|
+
for (const tabId of Array.from(frozenTabsRef.current.keys())) if (!validIds.has(tabId)) cleanupFrozenTabById(tabId);
|
|
74217
|
+
}, [cleanupFrozenTabById, tabs]);
|
|
74218
|
+
(0, import_react.useEffect)(() => {
|
|
74219
|
+
scrollMemoryByTabRef.current.clear();
|
|
74220
|
+
cleanupAllFrozenTabs();
|
|
74221
|
+
}, [cleanupAllFrozenTabs, location.pathname]);
|
|
74222
|
+
(0, import_react.useEffect)(() => () => {
|
|
74223
|
+
cleanupAllFrozenTabs();
|
|
74224
|
+
}, [cleanupAllFrozenTabs]);
|
|
74058
74225
|
const setSelectedTab = (0, import_react.useCallback)((nextTabId, options) => {
|
|
74059
|
-
const { allowUnknownSelection: allowUnknown, area: latestArea, history: defaultHistory, location: latestLocation, queryKey: latestQueryKey, router: latestRouter, selectedFromLocation: latestSelectedFromLocation, selectedTab: currentTab, tabs: latestTabs } = latestRef.current;
|
|
74226
|
+
const { allowUnknownSelection: allowUnknown, area: latestArea, history: defaultHistory, location: latestLocation, queryKey: latestQueryKey, router: latestRouter, selectedFromLocation: latestSelectedFromLocation, selectedTab: currentTab, tabs: latestTabs, viewportSelector: latestViewportSelector } = latestRef.current;
|
|
74060
74227
|
if (!new Set(latestTabs.map((tab) => tab.id)).has(nextTabId) && !allowUnknown) return;
|
|
74061
74228
|
const nextHistory = options?.history ?? defaultHistory;
|
|
74062
74229
|
if (currentTab === nextTabId && latestSelectedFromLocation === nextTabId) return;
|
|
@@ -74082,28 +74249,54 @@ function useRoutedCarouselTabs({ queryKey, tabs, initialTab, area, history = "re
|
|
|
74082
74249
|
}
|
|
74083
74250
|
navController.push(nextArea, href, latestLocation.state);
|
|
74084
74251
|
};
|
|
74252
|
+
const runSelectionWithScrollTransfer = (animated) => {
|
|
74253
|
+
captureOutgoingTab(currentTab, latestViewportSelector);
|
|
74254
|
+
if (!animated) {
|
|
74255
|
+
(0, import_react_dom.flushSync)(() => {
|
|
74256
|
+
commitSelection();
|
|
74257
|
+
});
|
|
74258
|
+
prepareIncomingTab(nextTabId, latestViewportSelector);
|
|
74259
|
+
finalizeIncomingTab(nextTabId);
|
|
74260
|
+
cleanupFrozenTabById(currentTab);
|
|
74261
|
+
return;
|
|
74262
|
+
}
|
|
74263
|
+
let hasPreparedIncoming = false;
|
|
74264
|
+
runViewTransition({
|
|
74265
|
+
intent: {
|
|
74266
|
+
area: resolveTabArea(latestLocation.pathname, latestArea),
|
|
74267
|
+
kind: "tab-carousel",
|
|
74268
|
+
direction
|
|
74269
|
+
},
|
|
74270
|
+
collectBeforeEntries: () => collectTabEntries(tabsRef.current, currentTab),
|
|
74271
|
+
collectAfterEntries: () => {
|
|
74272
|
+
if (!hasPreparedIncoming) hasPreparedIncoming = prepareIncomingTab(nextTabId, latestViewportSelector);
|
|
74273
|
+
return collectTabEntries(tabsRef.current, nextTabId);
|
|
74274
|
+
},
|
|
74275
|
+
update: commitSelection
|
|
74276
|
+
}).finally(() => {
|
|
74277
|
+
if (!hasPreparedIncoming) prepareIncomingTab(nextTabId, latestViewportSelector);
|
|
74278
|
+
finalizeIncomingTab(nextTabId);
|
|
74279
|
+
cleanupFrozenTabById(currentTab);
|
|
74280
|
+
});
|
|
74281
|
+
};
|
|
74085
74282
|
if (!options?.animate || currentTab === nextTabId) {
|
|
74086
|
-
|
|
74283
|
+
runSelectionWithScrollTransfer(false);
|
|
74087
74284
|
return;
|
|
74088
74285
|
}
|
|
74089
74286
|
const currentIndex = latestTabs.findIndex((tab) => tab.id === currentTab);
|
|
74090
74287
|
const nextIndex = latestTabs.findIndex((tab) => tab.id === nextTabId);
|
|
74091
74288
|
if (currentIndex < 0 || nextIndex < 0) {
|
|
74092
|
-
|
|
74289
|
+
runSelectionWithScrollTransfer(false);
|
|
74093
74290
|
return;
|
|
74094
74291
|
}
|
|
74095
74292
|
const direction = nextIndex >= currentIndex ? "forward" : "backward";
|
|
74096
|
-
|
|
74097
|
-
|
|
74098
|
-
|
|
74099
|
-
|
|
74100
|
-
|
|
74101
|
-
|
|
74102
|
-
|
|
74103
|
-
collectAfterEntries: () => collectTabEntries(tabsRef.current, nextTabId),
|
|
74104
|
-
update: commitSelection
|
|
74105
|
-
});
|
|
74106
|
-
}, []);
|
|
74293
|
+
runSelectionWithScrollTransfer(true);
|
|
74294
|
+
}, [
|
|
74295
|
+
captureOutgoingTab,
|
|
74296
|
+
cleanupFrozenTabById,
|
|
74297
|
+
finalizeIncomingTab,
|
|
74298
|
+
prepareIncomingTab
|
|
74299
|
+
]);
|
|
74107
74300
|
return {
|
|
74108
74301
|
tabsRef,
|
|
74109
74302
|
selectedTab,
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./Geometry-CNDxiJq_.js";import{r as e}from"./index-Djyctzdp.js";export{e as CanvasRenderer};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./Geometry-CNDxiJq_.js";import{n as e}from"./index-Djyctzdp.js";export{e as WebGLRenderer};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./Geometry-CNDxiJq_.js";import{t as e}from"./index-Djyctzdp.js";export{e as WebGPURenderer};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{it as e,x as t}from"./Geometry-CNDxiJq_.js";import{c as n,l as r,o as i,s as a}from"./index-Djyctzdp.js";import"./init-BWnHltxK.js";e.add(r),e.mixin(t,n),e.add(a),e.mixin(t,i);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./dist-QUHuPJsA.js";import{T as e}from"./index-Djyctzdp.js";export{e as css};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./dist-QUHuPJsA.js";import{u as e}from"./index-Djyctzdp.js";export{e as yaml};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./dist-QUHuPJsA.js";import{k as e}from"./index-Djyctzdp.js";export{e as json};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{F as e}from"./index-Djyctzdp.js";export{e as trpcClient};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./Geometry-CNDxiJq_.js";import"./index-Djyctzdp.js";import"./init-BWnHltxK.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./Geometry-CNDxiJq_.js";import{r as e}from"./index.ssg-DkyqyrXf.js";export{e as CanvasRenderer};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./Geometry-CNDxiJq_.js";import{n as e}from"./index.ssg-DkyqyrXf.js";export{e as WebGLRenderer};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./Geometry-CNDxiJq_.js";import{t as e}from"./index.ssg-DkyqyrXf.js";export{e as WebGPURenderer};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{it as e,x as t}from"./Geometry-CNDxiJq_.js";import{c as n,l as r,o as i,s as a}from"./index.ssg-DkyqyrXf.js";import"./init-BRd1iFqg.js";e.add(r),e.mixin(t,n),e.add(a),e.mixin(t,i);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./dist-QUHuPJsA.js";import{u as e}from"./index.ssg-DkyqyrXf.js";export{e as yaml};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./dist-QUHuPJsA.js";import{k as e}from"./index.ssg-DkyqyrXf.js";export{e as json};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./dist-QUHuPJsA.js";import{T as e}from"./index.ssg-DkyqyrXf.js";export{e as css};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{F as e}from"./index.ssg-DkyqyrXf.js";export{e as trpcClient};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./Geometry-CNDxiJq_.js";import"./index.ssg-DkyqyrXf.js";import"./init-BRd1iFqg.js";
|