@forgeax/app-shell 0.57.0 → 0.59.0
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/react.d.ts +14 -1
- package/dist/react.js +51 -0
- package/package.json +1 -1
package/dist/react.d.ts
CHANGED
|
@@ -269,10 +269,23 @@ interface DragPresenceLifecycleOptions {
|
|
|
269
269
|
readonly target?: DragPresenceEventTarget;
|
|
270
270
|
readonly isStartTarget: (target: EventTarget | null) => boolean;
|
|
271
271
|
readonly onActiveChange: (active: boolean) => void;
|
|
272
|
+
/** Observes every dragover, including drags that were not admitted as active. */
|
|
273
|
+
readonly onDragOver?: (target: EventTarget | null) => void;
|
|
272
274
|
}
|
|
273
275
|
/** Own one HTML5 drag-presence lease without owning target or presentation policy. */
|
|
274
276
|
declare function installDragPresenceLifecycle(options: DragPresenceLifecycleOptions): () => void;
|
|
275
277
|
|
|
278
|
+
interface ViewportResizeEventTarget {
|
|
279
|
+
addEventListener(type: 'resize', listener: EventListener): void;
|
|
280
|
+
removeEventListener(type: 'resize', listener: EventListener): void;
|
|
281
|
+
}
|
|
282
|
+
interface ViewportResizeObservationOptions {
|
|
283
|
+
readonly target?: ViewportResizeEventTarget;
|
|
284
|
+
readonly onResize: () => void;
|
|
285
|
+
}
|
|
286
|
+
/** Observe viewport resize without owning the caller's geometry policy. */
|
|
287
|
+
declare function installViewportResizeObservation(options: ViewportResizeObservationOptions): () => void;
|
|
288
|
+
|
|
276
289
|
type PanelContentPadding = 'none' | 'sm' | 'md';
|
|
277
290
|
type PanelContentScroll = 'none' | 'auto';
|
|
278
291
|
type PanelContentTone = 'default' | 'surface' | 'tool';
|
|
@@ -414,4 +427,4 @@ interface ShellSlotProps extends HTMLAttributes<HTMLElement> {
|
|
|
414
427
|
/** Structural shell marker that preserves the caller's semantic element. */
|
|
415
428
|
declare function ShellSlot({ as, name, ...props }: ShellSlotProps): ReactElement;
|
|
416
429
|
|
|
417
|
-
export { type AnchoredResizeDirection, AnchoredResizeHandle, type AnchoredResizeHandleProps, type AnchoredResizeSession, type BoundedFrameRetryLifecycleOptions, type CoalescedFrameTaskLifecycle, type CoalescedFrameTaskLifecycleOptions, DetachedPanelBoundary, type DetachedPanelBoundaryProps, DetachedSurfaceFrame, type DetachedSurfaceFrameProps, DetachedSurfaceStatus, type DetachedSurfaceStatusProps, type DetachedSurfaceStatusTone, type DockLayoutControlBinding, type DockLayoutControlBindingOptions, DockLayoutMenu, type DockLayoutMenuPanel, type DockLayoutMenuProps, DockTabAction, type DockTabActionProps, DockTabFrame, type DockTabFrameProps, DockTabIcon, type DockTabIconProps, DockTabStatusSummary, type DockTabStatusSummaryItem, type DockTabStatusSummaryProps, type DockTabStatusTone, DockTabTitle, type DockTabTitleProps, type DragPresenceEventTarget, type DragPresenceLifecycleOptions, FloatingMenu, type FloatingMenuAnchor, type FloatingMenuPoint, type FloatingMenuProps, type LiveTabPlacement, type LiveTabPlacementSource, type LiveTabTitleSource, OWNED_INTERACTION_SURFACE_SELECTOR, type OutsideDismissEventTarget, type OutsideDismissLifecycleOptions, type OutsideDismissReason, type PanelContentPadding, type PanelContentPolicy, type PanelContentScroll, type PanelContentTone, PanelEmptyState, type PanelEmptyStateProps, PanelSurface, type PanelSurfaceProps, type PersistentSizeStorage, type PersistentSizeStore, type PersistentSizeStoreOptions, type PersistentSizeUpdate, type PointerDragFinishReason, type PointerDragSessionOptions, type PointerReorderFinishReason, type PointerReorderSession, type PointerReorderSessionOptions, ResizeHandle, type ResizeHandleProps, ShellSlot, type ShellSlotElement, type ShellSlotProps, SlotDebugOverlay, SurfacePlaceholder, type SurfacePlaceholderProps, SurfaceRegion, type SurfaceRegionProps, type TabCloseInteractions, type TabCloseInteractionsOptions, type TabPinnedStateSource, type ThresholdPointerDragFinishReason, type ThresholdPointerDragSession, type ThresholdPointerDragSessionOptions, applyAnchoredResizeDelta, beginAnchoredResize, createCoalescedFrameTaskLifecycle, createPersistentSizeStore, hashSlotHue, installBoundedFrameRetryLifecycle, installDragPresenceLifecycle, installOutsideDismissLifecycle, installPointerDragSession, installPointerReorderSession, installThresholdPointerDragSession, isDismissExemptInteractionTarget, isSlotDebugEnabled, useDockLayoutControlBinding, useLiveTabPlacement, useLiveTabTitle, useLocalSize, usePersistentSizeStore, useTabCloseInteractions, useTabPinnedState };
|
|
430
|
+
export { type AnchoredResizeDirection, AnchoredResizeHandle, type AnchoredResizeHandleProps, type AnchoredResizeSession, type BoundedFrameRetryLifecycleOptions, type CoalescedFrameTaskLifecycle, type CoalescedFrameTaskLifecycleOptions, DetachedPanelBoundary, type DetachedPanelBoundaryProps, DetachedSurfaceFrame, type DetachedSurfaceFrameProps, DetachedSurfaceStatus, type DetachedSurfaceStatusProps, type DetachedSurfaceStatusTone, type DockLayoutControlBinding, type DockLayoutControlBindingOptions, DockLayoutMenu, type DockLayoutMenuPanel, type DockLayoutMenuProps, DockTabAction, type DockTabActionProps, DockTabFrame, type DockTabFrameProps, DockTabIcon, type DockTabIconProps, DockTabStatusSummary, type DockTabStatusSummaryItem, type DockTabStatusSummaryProps, type DockTabStatusTone, DockTabTitle, type DockTabTitleProps, type DragPresenceEventTarget, type DragPresenceLifecycleOptions, FloatingMenu, type FloatingMenuAnchor, type FloatingMenuPoint, type FloatingMenuProps, type LiveTabPlacement, type LiveTabPlacementSource, type LiveTabTitleSource, OWNED_INTERACTION_SURFACE_SELECTOR, type OutsideDismissEventTarget, type OutsideDismissLifecycleOptions, type OutsideDismissReason, type PanelContentPadding, type PanelContentPolicy, type PanelContentScroll, type PanelContentTone, PanelEmptyState, type PanelEmptyStateProps, PanelSurface, type PanelSurfaceProps, type PersistentSizeStorage, type PersistentSizeStore, type PersistentSizeStoreOptions, type PersistentSizeUpdate, type PointerDragFinishReason, type PointerDragSessionOptions, type PointerReorderFinishReason, type PointerReorderSession, type PointerReorderSessionOptions, ResizeHandle, type ResizeHandleProps, ShellSlot, type ShellSlotElement, type ShellSlotProps, SlotDebugOverlay, SurfacePlaceholder, type SurfacePlaceholderProps, SurfaceRegion, type SurfaceRegionProps, type TabCloseInteractions, type TabCloseInteractionsOptions, type TabPinnedStateSource, type ThresholdPointerDragFinishReason, type ThresholdPointerDragSession, type ThresholdPointerDragSessionOptions, type ViewportResizeEventTarget, type ViewportResizeObservationOptions, applyAnchoredResizeDelta, beginAnchoredResize, createCoalescedFrameTaskLifecycle, createPersistentSizeStore, hashSlotHue, installBoundedFrameRetryLifecycle, installDragPresenceLifecycle, installOutsideDismissLifecycle, installPointerDragSession, installPointerReorderSession, installThresholdPointerDragSession, installViewportResizeObservation, isDismissExemptInteractionTarget, isSlotDebugEnabled, useDockLayoutControlBinding, useLiveTabPlacement, useLiveTabTitle, useLocalSize, usePersistentSizeStore, useTabCloseInteractions, useTabPinnedState };
|
package/dist/react.js
CHANGED
|
@@ -1864,6 +1864,7 @@ function installDragPresenceLifecycle(options) {
|
|
|
1864
1864
|
let disposed = false;
|
|
1865
1865
|
let active = false;
|
|
1866
1866
|
let startRegistered = false;
|
|
1867
|
+
let overRegistered = false;
|
|
1867
1868
|
let endRegistered = false;
|
|
1868
1869
|
let dropRegistered = false;
|
|
1869
1870
|
const publish = (next) => {
|
|
@@ -1889,6 +1890,13 @@ function installDragPresenceLifecycle(options) {
|
|
|
1889
1890
|
if (disposed) return;
|
|
1890
1891
|
publish(false);
|
|
1891
1892
|
};
|
|
1893
|
+
const onOver = (event) => {
|
|
1894
|
+
if (disposed) return;
|
|
1895
|
+
try {
|
|
1896
|
+
options.onDragOver?.(event.target);
|
|
1897
|
+
} catch {
|
|
1898
|
+
}
|
|
1899
|
+
};
|
|
1892
1900
|
const remove = (type, listener, registered) => {
|
|
1893
1901
|
if (!registered) return;
|
|
1894
1902
|
try {
|
|
@@ -1899,6 +1907,8 @@ function installDragPresenceLifecycle(options) {
|
|
|
1899
1907
|
try {
|
|
1900
1908
|
startRegistered = true;
|
|
1901
1909
|
target.addEventListener("dragstart", onStart, true);
|
|
1910
|
+
overRegistered = true;
|
|
1911
|
+
target.addEventListener("dragover", onOver, true);
|
|
1902
1912
|
endRegistered = true;
|
|
1903
1913
|
target.addEventListener("dragend", onEnd, true);
|
|
1904
1914
|
dropRegistered = true;
|
|
@@ -1907,6 +1917,7 @@ function installDragPresenceLifecycle(options) {
|
|
|
1907
1917
|
disposed = true;
|
|
1908
1918
|
remove("drop", onEnd, dropRegistered);
|
|
1909
1919
|
remove("dragend", onEnd, endRegistered);
|
|
1920
|
+
remove("dragover", onOver, overRegistered);
|
|
1910
1921
|
remove("dragstart", onStart, startRegistered);
|
|
1911
1922
|
publish(false);
|
|
1912
1923
|
}
|
|
@@ -1915,11 +1926,50 @@ function installDragPresenceLifecycle(options) {
|
|
|
1915
1926
|
disposed = true;
|
|
1916
1927
|
remove("drop", onEnd, dropRegistered);
|
|
1917
1928
|
remove("dragend", onEnd, endRegistered);
|
|
1929
|
+
remove("dragover", onOver, overRegistered);
|
|
1918
1930
|
remove("dragstart", onStart, startRegistered);
|
|
1919
1931
|
publish(false);
|
|
1920
1932
|
};
|
|
1921
1933
|
}
|
|
1922
1934
|
|
|
1935
|
+
// src/viewport-resize.ts
|
|
1936
|
+
function installViewportResizeObservation(options) {
|
|
1937
|
+
const target = options.target ?? (typeof window === "undefined" ? void 0 : window);
|
|
1938
|
+
if (!target) return () => {
|
|
1939
|
+
};
|
|
1940
|
+
let disposed = false;
|
|
1941
|
+
let registered = false;
|
|
1942
|
+
const onResize = () => {
|
|
1943
|
+
if (disposed) return;
|
|
1944
|
+
try {
|
|
1945
|
+
options.onResize();
|
|
1946
|
+
} catch {
|
|
1947
|
+
}
|
|
1948
|
+
};
|
|
1949
|
+
try {
|
|
1950
|
+
registered = true;
|
|
1951
|
+
target.addEventListener("resize", onResize);
|
|
1952
|
+
} catch {
|
|
1953
|
+
disposed = true;
|
|
1954
|
+
if (registered) {
|
|
1955
|
+
try {
|
|
1956
|
+
target.removeEventListener("resize", onResize);
|
|
1957
|
+
} catch {
|
|
1958
|
+
}
|
|
1959
|
+
}
|
|
1960
|
+
}
|
|
1961
|
+
return () => {
|
|
1962
|
+
if (disposed) return;
|
|
1963
|
+
disposed = true;
|
|
1964
|
+
if (registered) {
|
|
1965
|
+
try {
|
|
1966
|
+
target.removeEventListener("resize", onResize);
|
|
1967
|
+
} catch {
|
|
1968
|
+
}
|
|
1969
|
+
}
|
|
1970
|
+
};
|
|
1971
|
+
}
|
|
1972
|
+
|
|
1923
1973
|
// src/panel.tsx
|
|
1924
1974
|
import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
1925
1975
|
function PanelEmptyState({
|
|
@@ -2300,6 +2350,7 @@ export {
|
|
|
2300
2350
|
installPointerDragSession,
|
|
2301
2351
|
installPointerReorderSession,
|
|
2302
2352
|
installThresholdPointerDragSession,
|
|
2353
|
+
installViewportResizeObservation,
|
|
2303
2354
|
isDismissExemptInteractionTarget,
|
|
2304
2355
|
isSlotDebugEnabled,
|
|
2305
2356
|
useDockLayoutControlBinding,
|