@forgeax/app-shell 0.58.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 CHANGED
@@ -275,6 +275,17 @@ interface DragPresenceLifecycleOptions {
275
275
  /** Own one HTML5 drag-presence lease without owning target or presentation policy. */
276
276
  declare function installDragPresenceLifecycle(options: DragPresenceLifecycleOptions): () => void;
277
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
+
278
289
  type PanelContentPadding = 'none' | 'sm' | 'md';
279
290
  type PanelContentScroll = 'none' | 'auto';
280
291
  type PanelContentTone = 'default' | 'surface' | 'tool';
@@ -416,4 +427,4 @@ interface ShellSlotProps extends HTMLAttributes<HTMLElement> {
416
427
  /** Structural shell marker that preserves the caller's semantic element. */
417
428
  declare function ShellSlot({ as, name, ...props }: ShellSlotProps): ReactElement;
418
429
 
419
- 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
@@ -1932,6 +1932,44 @@ function installDragPresenceLifecycle(options) {
1932
1932
  };
1933
1933
  }
1934
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
+
1935
1973
  // src/panel.tsx
1936
1974
  import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
1937
1975
  function PanelEmptyState({
@@ -2312,6 +2350,7 @@ export {
2312
2350
  installPointerDragSession,
2313
2351
  installPointerReorderSession,
2314
2352
  installThresholdPointerDragSession,
2353
+ installViewportResizeObservation,
2315
2354
  isDismissExemptInteractionTarget,
2316
2355
  isSlotDebugEnabled,
2317
2356
  useDockLayoutControlBinding,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forgeax/app-shell",
3
- "version": "0.58.0",
3
+ "version": "0.59.0",
4
4
  "description": "Generic Dock, Panel, Window, and Slot composition primitives",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",