@ai-matrx/summon 0.1.18 → 0.1.20
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/CHANGELOG.md +30 -1
- package/dist/index.cjs +11 -11
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +11 -11
- package/dist/index.js.map +1 -1
- package/dist/persistence.cjs +1 -1
- package/dist/persistence.cjs.map +1 -1
- package/dist/persistence.js +2 -2
- package/dist/persistence.js.map +1 -1
- package/dist/react.cjs +2 -2
- package/dist/react.cjs.map +1 -1
- package/dist/react.js +2 -2
- package/dist/react.js.map +1 -1
- package/dist/window.cjs +25 -49
- package/dist/window.cjs.map +1 -1
- package/dist/window.js +15 -39
- package/dist/window.js.map +1 -1
- package/package.json +4 -4
package/dist/index.d.cts
CHANGED
|
@@ -321,7 +321,7 @@ type RenderDiagnosis = {
|
|
|
321
321
|
reason: RenderFailureReason;
|
|
322
322
|
};
|
|
323
323
|
/** A window counts as on-screen if a usable strip of it intersects the
|
|
324
|
-
* viewport (matches the spirit of `
|
|
324
|
+
* viewport (matches the spirit of `clampStoredRectToViewport`'s safe margin). */
|
|
325
325
|
declare function rectOnScreen(rect: WindowRect, viewportWidth: number, viewportHeight: number): boolean;
|
|
326
326
|
/**
|
|
327
327
|
* Given the window's geometry entry and global state, decide whether a visible
|
|
@@ -415,7 +415,7 @@ declare function safeViewportDims(): ViewportDims;
|
|
|
415
415
|
* @param rect Stored rect from DB / LS.
|
|
416
416
|
* @param viewport { width, height } in CSS pixels.
|
|
417
417
|
*/
|
|
418
|
-
declare function
|
|
418
|
+
declare function clampStoredRectToViewport(rect: WindowRectLike, viewport: {
|
|
419
419
|
width: number;
|
|
420
420
|
height: number;
|
|
421
421
|
}): WindowRectLike;
|
|
@@ -496,4 +496,4 @@ declare function traySlotRect(slot: number, viewportWidth: number, viewportHeigh
|
|
|
496
496
|
|
|
497
497
|
declare const summonCore: SummonCore;
|
|
498
498
|
|
|
499
|
-
export { type CloseEvent, type CloseFlusher, CloseOverlaysBoundToPagePayload, type CreateOverlaysStoreOptions, type HydrateOverlayStatePayload, InstanceKey, LAZY_WINDOW_MOUNT_DEADLINE_MS, OverlayDefinitionMeta, type OverlayHostTypes, type OverlayRegistry, OverlayState, type OverlayStateEntry, type OverlayStateState, PruneStaleInstancesPayload, RENDER_WATCHDOG_SLOT, type RenderDiagnosis, type RenderFailureReason, type ReplaceOverlayStatePayload, type SetOverlayStateValuePayload, type StateWithOverlayState, StateWithOverlays, type StateWithUrlSync, type SummonDispatch, SummonPorts, type SummonRootState, type SummonStore, TRAY_CHIP_H_DESKTOP, TRAY_CHIP_H_MOBILE, TRAY_CHIP_W_DESKTOP, TRAY_CHIP_W_MOBILE_MAX, TRAY_COMPACT_GAP, TRAY_COMPACT_H, TRAY_GAP_X, TRAY_GAP_Y, TRAY_MARGIN_B, TRAY_MARGIN_L, TRAY_MARGIN_R, TRAY_MOBILE_BREAKPOINT, type UrlSyncEntry, type UrlSyncState, type ViewportDims, type WindowCloseIntent, WindowEntry, WindowManagerState, WindowRect, type WindowRectLike, ackOverlayRender, ackOverlaySurfaceRender, centerRectInViewport, clampRectToCurrentViewport,
|
|
499
|
+
export { type CloseEvent, type CloseFlusher, CloseOverlaysBoundToPagePayload, type CreateOverlaysStoreOptions, type HydrateOverlayStatePayload, InstanceKey, LAZY_WINDOW_MOUNT_DEADLINE_MS, OverlayDefinitionMeta, type OverlayHostTypes, type OverlayRegistry, OverlayState, type OverlayStateEntry, type OverlayStateState, PruneStaleInstancesPayload, RENDER_WATCHDOG_SLOT, type RenderDiagnosis, type RenderFailureReason, type ReplaceOverlayStatePayload, type SetOverlayStateValuePayload, type StateWithOverlayState, StateWithOverlays, type StateWithUrlSync, type SummonDispatch, SummonPorts, type SummonRootState, type SummonStore, TRAY_CHIP_H_DESKTOP, TRAY_CHIP_H_MOBILE, TRAY_CHIP_W_DESKTOP, TRAY_CHIP_W_MOBILE_MAX, TRAY_COMPACT_GAP, TRAY_COMPACT_H, TRAY_GAP_X, TRAY_GAP_Y, TRAY_MARGIN_B, TRAY_MARGIN_L, TRAY_MARGIN_R, TRAY_MOBILE_BREAKPOINT, type UrlSyncEntry, type UrlSyncState, type ViewportDims, type WindowCloseIntent, WindowEntry, WindowManagerState, WindowRect, type WindowRectLike, ackOverlayRender, ackOverlaySurfaceRender, centerRectInViewport, clampRectToCurrentViewport, clampStoredRectToViewport, clearOverlayRender, clearOverlayState, clearOverlaySurfaceRender, closeAllOverlays, closeLifecycleMiddleware, computeTrayChipHeight, computeTrayChipWidth, createOverlayRenderWatchdogMiddleware, createSummonMiddleware, createSummonStore, diagnoseOverlayRender, hydrateOverlayState, linksReducer, overlayStateReducer, overlaysRawActions, overlaysReducer, pruneStaleInstances, rectOnScreen, rectsEqual, registerCloseFlusher, registerSyncEntry, releaseOverlayInstance, replaceOverlayState, resetOverlayRenderWatchdog, safeViewportDims, selectIsUrlHydrated, selectOverlayStateFor, selectOverlayStateValue, selectUrlSyncEntries, setHydrated, setOverlayStateValue, summonCore, summonReducers, trayChipsPerRow, traySlotRect, unregisterSyncEntry, watchdogTracksOpen };
|
package/dist/index.d.ts
CHANGED
|
@@ -321,7 +321,7 @@ type RenderDiagnosis = {
|
|
|
321
321
|
reason: RenderFailureReason;
|
|
322
322
|
};
|
|
323
323
|
/** A window counts as on-screen if a usable strip of it intersects the
|
|
324
|
-
* viewport (matches the spirit of `
|
|
324
|
+
* viewport (matches the spirit of `clampStoredRectToViewport`'s safe margin). */
|
|
325
325
|
declare function rectOnScreen(rect: WindowRect, viewportWidth: number, viewportHeight: number): boolean;
|
|
326
326
|
/**
|
|
327
327
|
* Given the window's geometry entry and global state, decide whether a visible
|
|
@@ -415,7 +415,7 @@ declare function safeViewportDims(): ViewportDims;
|
|
|
415
415
|
* @param rect Stored rect from DB / LS.
|
|
416
416
|
* @param viewport { width, height } in CSS pixels.
|
|
417
417
|
*/
|
|
418
|
-
declare function
|
|
418
|
+
declare function clampStoredRectToViewport(rect: WindowRectLike, viewport: {
|
|
419
419
|
width: number;
|
|
420
420
|
height: number;
|
|
421
421
|
}): WindowRectLike;
|
|
@@ -496,4 +496,4 @@ declare function traySlotRect(slot: number, viewportWidth: number, viewportHeigh
|
|
|
496
496
|
|
|
497
497
|
declare const summonCore: SummonCore;
|
|
498
498
|
|
|
499
|
-
export { type CloseEvent, type CloseFlusher, CloseOverlaysBoundToPagePayload, type CreateOverlaysStoreOptions, type HydrateOverlayStatePayload, InstanceKey, LAZY_WINDOW_MOUNT_DEADLINE_MS, OverlayDefinitionMeta, type OverlayHostTypes, type OverlayRegistry, OverlayState, type OverlayStateEntry, type OverlayStateState, PruneStaleInstancesPayload, RENDER_WATCHDOG_SLOT, type RenderDiagnosis, type RenderFailureReason, type ReplaceOverlayStatePayload, type SetOverlayStateValuePayload, type StateWithOverlayState, StateWithOverlays, type StateWithUrlSync, type SummonDispatch, SummonPorts, type SummonRootState, type SummonStore, TRAY_CHIP_H_DESKTOP, TRAY_CHIP_H_MOBILE, TRAY_CHIP_W_DESKTOP, TRAY_CHIP_W_MOBILE_MAX, TRAY_COMPACT_GAP, TRAY_COMPACT_H, TRAY_GAP_X, TRAY_GAP_Y, TRAY_MARGIN_B, TRAY_MARGIN_L, TRAY_MARGIN_R, TRAY_MOBILE_BREAKPOINT, type UrlSyncEntry, type UrlSyncState, type ViewportDims, type WindowCloseIntent, WindowEntry, WindowManagerState, WindowRect, type WindowRectLike, ackOverlayRender, ackOverlaySurfaceRender, centerRectInViewport, clampRectToCurrentViewport,
|
|
499
|
+
export { type CloseEvent, type CloseFlusher, CloseOverlaysBoundToPagePayload, type CreateOverlaysStoreOptions, type HydrateOverlayStatePayload, InstanceKey, LAZY_WINDOW_MOUNT_DEADLINE_MS, OverlayDefinitionMeta, type OverlayHostTypes, type OverlayRegistry, OverlayState, type OverlayStateEntry, type OverlayStateState, PruneStaleInstancesPayload, RENDER_WATCHDOG_SLOT, type RenderDiagnosis, type RenderFailureReason, type ReplaceOverlayStatePayload, type SetOverlayStateValuePayload, type StateWithOverlayState, StateWithOverlays, type StateWithUrlSync, type SummonDispatch, SummonPorts, type SummonRootState, type SummonStore, TRAY_CHIP_H_DESKTOP, TRAY_CHIP_H_MOBILE, TRAY_CHIP_W_DESKTOP, TRAY_CHIP_W_MOBILE_MAX, TRAY_COMPACT_GAP, TRAY_COMPACT_H, TRAY_GAP_X, TRAY_GAP_Y, TRAY_MARGIN_B, TRAY_MARGIN_L, TRAY_MARGIN_R, TRAY_MOBILE_BREAKPOINT, type UrlSyncEntry, type UrlSyncState, type ViewportDims, type WindowCloseIntent, WindowEntry, WindowManagerState, WindowRect, type WindowRectLike, ackOverlayRender, ackOverlaySurfaceRender, centerRectInViewport, clampRectToCurrentViewport, clampStoredRectToViewport, clearOverlayRender, clearOverlayState, clearOverlaySurfaceRender, closeAllOverlays, closeLifecycleMiddleware, computeTrayChipHeight, computeTrayChipWidth, createOverlayRenderWatchdogMiddleware, createSummonMiddleware, createSummonStore, diagnoseOverlayRender, hydrateOverlayState, linksReducer, overlayStateReducer, overlaysRawActions, overlaysReducer, pruneStaleInstances, rectOnScreen, rectsEqual, registerCloseFlusher, registerSyncEntry, releaseOverlayInstance, replaceOverlayState, resetOverlayRenderWatchdog, safeViewportDims, selectIsUrlHydrated, selectOverlayStateFor, selectOverlayStateValue, selectUrlSyncEntries, setHydrated, setOverlayStateValue, summonCore, summonReducers, trayChipsPerRow, traySlotRect, unregisterSyncEntry, watchdogTracksOpen };
|
package/dist/index.js
CHANGED
|
@@ -365,13 +365,13 @@ function safeViewportDims() {
|
|
|
365
365
|
degenerate
|
|
366
366
|
};
|
|
367
367
|
}
|
|
368
|
-
function
|
|
368
|
+
function clampStoredRectToViewport(rect, viewport) {
|
|
369
369
|
if (!Number.isFinite(viewport.width) || !Number.isFinite(viewport.height) || viewport.width <= 0 || viewport.height <= 0) {
|
|
370
370
|
const host = globalThis;
|
|
371
371
|
if (!host[CLAMP_WARNED]) {
|
|
372
372
|
host[CLAMP_WARNED] = true;
|
|
373
373
|
console.warn(
|
|
374
|
-
"[window-panels]
|
|
374
|
+
"[window-panels] clampStoredRectToViewport received a degenerate viewport",
|
|
375
375
|
viewport,
|
|
376
376
|
"\u2014 skipping clamp so real window geometry is not destroyed."
|
|
377
377
|
);
|
|
@@ -404,7 +404,7 @@ function clampRectToViewport(rect, viewport) {
|
|
|
404
404
|
return { x, y, width, height };
|
|
405
405
|
}
|
|
406
406
|
function centerRectInViewport(rect, viewport) {
|
|
407
|
-
const sized =
|
|
407
|
+
const sized = clampStoredRectToViewport({ ...rect, x: 0, y: 0 }, viewport);
|
|
408
408
|
const x = Math.max(0, Math.round((viewport.width - sized.width) / 2));
|
|
409
409
|
const y = Math.max(0, Math.round((viewport.height - sized.height) / 2));
|
|
410
410
|
return { x, y, width: sized.width, height: sized.height };
|
|
@@ -412,7 +412,7 @@ function centerRectInViewport(rect, viewport) {
|
|
|
412
412
|
function clampRectToCurrentViewport(rect) {
|
|
413
413
|
if (typeof window === "undefined") return rect;
|
|
414
414
|
const { vw, vh } = safeViewportDims();
|
|
415
|
-
return
|
|
415
|
+
return clampStoredRectToViewport(rect, { width: vw, height: vh });
|
|
416
416
|
}
|
|
417
417
|
function rectsEqual(a, b) {
|
|
418
418
|
return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
|
|
@@ -603,14 +603,14 @@ var windowManagerSlice = createSlice2({
|
|
|
603
603
|
registerWindow(state, action) {
|
|
604
604
|
const { id, title, initial, initialState: initialState5, persistence, viewport } = action.payload;
|
|
605
605
|
if (state.windows[id]) return;
|
|
606
|
-
const safeInitial = viewport ?
|
|
606
|
+
const safeInitial = viewport ? clampStoredRectToViewport(initial, viewport) : initial;
|
|
607
607
|
const pending = persistence ? state.pendingRestores[windowSessionKey(persistence.overlayId, persistence.instanceId)] : void 0;
|
|
608
608
|
const pendingRenderRect = pending ? pending.state === "minimized" && pending.traySlot !== null && viewport ? traySlotRect(
|
|
609
609
|
pending.traySlot,
|
|
610
610
|
viewport.width,
|
|
611
611
|
viewport.height,
|
|
612
612
|
state.trayCount
|
|
613
|
-
) : viewport ?
|
|
613
|
+
) : viewport ? clampStoredRectToViewport(pending.windowedRect, viewport) : pending.renderRect : void 0;
|
|
614
614
|
const startsMinimized = !pending && initialState5 === "minimized" && viewport !== void 0;
|
|
615
615
|
const initialTraySlot = startsMinimized ? state.trayCount : null;
|
|
616
616
|
state.windows[id] = {
|
|
@@ -682,7 +682,7 @@ var windowManagerSlice = createSlice2({
|
|
|
682
682
|
traySlot,
|
|
683
683
|
action.payload.viewportWidth,
|
|
684
684
|
action.payload.viewportHeight
|
|
685
|
-
) :
|
|
685
|
+
) : clampStoredRectToViewport(session.windowedRect, {
|
|
686
686
|
width: action.payload.viewportWidth,
|
|
687
687
|
height: action.payload.viewportHeight
|
|
688
688
|
})
|
|
@@ -854,7 +854,7 @@ var windowManagerSlice = createSlice2({
|
|
|
854
854
|
win.state = "windowed";
|
|
855
855
|
}
|
|
856
856
|
if (win.state === "windowed") {
|
|
857
|
-
const clamped =
|
|
857
|
+
const clamped = clampStoredRectToViewport(win.windowed, {
|
|
858
858
|
width: viewportWidth,
|
|
859
859
|
height: viewportHeight
|
|
860
860
|
});
|
|
@@ -937,7 +937,7 @@ var windowManagerSlice = createSlice2({
|
|
|
937
937
|
if (!win) return;
|
|
938
938
|
if (win.state !== "windowed") return;
|
|
939
939
|
if (win.popoutMode !== null) return;
|
|
940
|
-
const clamped =
|
|
940
|
+
const clamped = clampStoredRectToViewport(win.windowed, {
|
|
941
941
|
width: viewportWidth,
|
|
942
942
|
height: viewportHeight
|
|
943
943
|
});
|
|
@@ -955,7 +955,7 @@ var windowManagerSlice = createSlice2({
|
|
|
955
955
|
Object.values(state.windows).forEach((win) => {
|
|
956
956
|
if (win.state !== "windowed") return;
|
|
957
957
|
if (win.popoutMode !== null) return;
|
|
958
|
-
const clamped =
|
|
958
|
+
const clamped = clampStoredRectToViewport(win.windowed, {
|
|
959
959
|
width: viewportWidth,
|
|
960
960
|
height: viewportHeight
|
|
961
961
|
});
|
|
@@ -1837,7 +1837,7 @@ export {
|
|
|
1837
1837
|
centerRectInViewport,
|
|
1838
1838
|
clampAllWindowRects,
|
|
1839
1839
|
clampRectToCurrentViewport,
|
|
1840
|
-
|
|
1840
|
+
clampStoredRectToViewport,
|
|
1841
1841
|
clampWindowRect,
|
|
1842
1842
|
clearOverlayRender,
|
|
1843
1843
|
clearOverlayState,
|