@forgeax/app-shell 0.50.0 → 0.52.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.
@@ -0,0 +1,35 @@
1
+ .fx-dock-tab-status-summary {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ gap: 6px;
5
+ flex: 0 0 auto;
6
+ height: 100%;
7
+ font-size: 11px;
8
+ line-height: 1;
9
+ }
10
+
11
+ .fx-dock-tab-status-item {
12
+ display: inline-flex;
13
+ align-items: center;
14
+ gap: 2px;
15
+ height: 100%;
16
+ font-variant-numeric: tabular-nums;
17
+ }
18
+
19
+ .fx-dock-tab-status-icon {
20
+ display: inline-flex;
21
+ align-items: center;
22
+ justify-content: center;
23
+ width: 11px;
24
+ height: 11px;
25
+ font-size: 11px;
26
+ line-height: 11px;
27
+ transform: translateY(1.5px);
28
+ }
29
+
30
+ .fx-dock-tab-status-value {
31
+ display: inline-flex;
32
+ align-items: center;
33
+ height: 11px;
34
+ line-height: 11px;
35
+ }
package/dist/react.d.ts CHANGED
@@ -168,10 +168,16 @@ interface DockTabFrameProps extends HTMLAttributes<HTMLDivElement> {
168
168
  action?: ReactNode;
169
169
  }
170
170
  type DockTabActionProps = HTMLAttributes<HTMLDivElement>;
171
+ type DockTabIconProps = HTMLAttributes<HTMLSpanElement>;
172
+ type DockTabTitleProps = HTMLAttributes<HTMLSpanElement>;
171
173
  /** Product-neutral Dock tab frame with stable Dockview-compatible DOM hooks. */
172
174
  declare const DockTabFrame: react.ForwardRefExoticComponent<DockTabFrameProps & react.RefAttributes<HTMLDivElement>>;
173
175
  /** Product-neutral trailing-action wrapper for a Dock tab frame. */
174
176
  declare const DockTabAction: react.ForwardRefExoticComponent<DockTabActionProps & react.RefAttributes<HTMLDivElement>>;
177
+ /** Product-neutral leading-icon wrapper with a stable styling hook. */
178
+ declare const DockTabIcon: react.ForwardRefExoticComponent<DockTabIconProps & react.RefAttributes<HTMLSpanElement>>;
179
+ /** Product-neutral tab-title wrapper with a stable styling hook. */
180
+ declare const DockTabTitle: react.ForwardRefExoticComponent<DockTabTitleProps & react.RefAttributes<HTMLSpanElement>>;
175
181
 
176
182
  type DockTabStatusTone = 'neutral' | 'error' | 'warning';
177
183
  interface DockTabStatusSummaryItem {
@@ -332,4 +338,4 @@ interface ShellSlotProps extends HTMLAttributes<HTMLElement> {
332
338
  /** Structural shell marker that preserves the caller's semantic element. */
333
339
  declare function ShellSlot({ as, name, ...props }: ShellSlotProps): ReactElement;
334
340
 
335
- export { type AnchoredResizeDirection, AnchoredResizeHandle, type AnchoredResizeHandleProps, type AnchoredResizeSession, 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, DockTabStatusSummary, type DockTabStatusSummaryItem, type DockTabStatusSummaryProps, type DockTabStatusTone, FloatingMenu, type FloatingMenuAnchor, type FloatingMenuPoint, type FloatingMenuProps, type LiveTabPlacement, type LiveTabPlacementSource, type LiveTabTitleSource, 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, createPersistentSizeStore, hashSlotHue, installPointerDragSession, installPointerReorderSession, installThresholdPointerDragSession, isSlotDebugEnabled, useDockLayoutControlBinding, useLiveTabPlacement, useLiveTabTitle, useLocalSize, usePersistentSizeStore, useTabCloseInteractions, useTabPinnedState };
341
+ export { type AnchoredResizeDirection, AnchoredResizeHandle, type AnchoredResizeHandleProps, type AnchoredResizeSession, 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, FloatingMenu, type FloatingMenuAnchor, type FloatingMenuPoint, type FloatingMenuProps, type LiveTabPlacement, type LiveTabPlacementSource, type LiveTabTitleSource, 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, createPersistentSizeStore, hashSlotHue, installPointerDragSession, installPointerReorderSession, installThresholdPointerDragSession, isSlotDebugEnabled, useDockLayoutControlBinding, useLiveTabPlacement, useLiveTabTitle, useLocalSize, usePersistentSizeStore, useTabCloseInteractions, useTabPinnedState };
package/dist/react.js CHANGED
@@ -1485,6 +1485,32 @@ var DockTabAction = forwardRef(
1485
1485
  }
1486
1486
  );
1487
1487
  DockTabAction.displayName = "DockTabAction";
1488
+ var DockTabIcon = forwardRef(
1489
+ function DockTabIcon2({ className, ...props }, ref) {
1490
+ return /* @__PURE__ */ jsx3(
1491
+ "span",
1492
+ {
1493
+ ...props,
1494
+ ref,
1495
+ className: joinClassName("fx-dock-tab-icon", className)
1496
+ }
1497
+ );
1498
+ }
1499
+ );
1500
+ DockTabIcon.displayName = "DockTabIcon";
1501
+ var DockTabTitle = forwardRef(
1502
+ function DockTabTitle2({ className, ...props }, ref) {
1503
+ return /* @__PURE__ */ jsx3(
1504
+ "span",
1505
+ {
1506
+ ...props,
1507
+ ref,
1508
+ className: joinClassName("fx-dock-tab-title", className)
1509
+ }
1510
+ );
1511
+ }
1512
+ );
1513
+ DockTabTitle.displayName = "DockTabTitle";
1488
1514
 
1489
1515
  // src/dock-tab-status-summary.tsx
1490
1516
  import {
@@ -1875,7 +1901,9 @@ export {
1875
1901
  DockLayoutMenu,
1876
1902
  DockTabAction,
1877
1903
  DockTabFrame,
1904
+ DockTabIcon,
1878
1905
  DockTabStatusSummary,
1906
+ DockTabTitle,
1879
1907
  FloatingMenu,
1880
1908
  PanelEmptyState,
1881
1909
  PanelSurface,
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@forgeax/app-shell",
3
- "version": "0.50.0",
3
+ "version": "0.52.0",
4
4
  "description": "Generic Dock, Panel, Window, and Slot composition primitives",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
- "sideEffects": ["./dist/resize.css", "./dist/panel.css", "./dist/detached.css", "./dist/surface.css"],
7
+ "sideEffects": ["./dist/resize.css", "./dist/panel.css", "./dist/detached.css", "./dist/surface.css", "./dist/dock-tab.css"],
8
8
  "files": ["dist"],
9
9
  "main": "./dist/index.js",
10
10
  "types": "./dist/index.d.ts",
@@ -28,12 +28,13 @@
28
28
  "./resize.css": "./dist/resize.css",
29
29
  "./panel.css": "./dist/panel.css",
30
30
  "./detached.css": "./dist/detached.css",
31
- "./surface.css": "./dist/surface.css"
31
+ "./surface.css": "./dist/surface.css",
32
+ "./dock-tab.css": "./dist/dock-tab.css"
32
33
  },
33
34
  "scripts": {
34
35
  "typecheck": "tsc --noEmit",
35
36
  "test": "bun test test",
36
- "build": "tsup src/index.ts src/dock.ts src/window.ts src/react.tsx --format esm --dts --outDir dist && bun run scripts/copy-resize-css.ts && bun run scripts/copy-panel-css.ts && bun run scripts/copy-detached-surface-css.ts && bun run scripts/copy-surface-css.ts",
37
+ "build": "tsup src/index.ts src/dock.ts src/window.ts src/react.tsx --format esm --dts --outDir dist && bun run scripts/copy-resize-css.ts && bun run scripts/copy-panel-css.ts && bun run scripts/copy-detached-surface-css.ts && bun run scripts/copy-surface-css.ts && bun run scripts/copy-dock-tab-css.ts",
37
38
  "check": "bun run typecheck && bun run test && bun run build",
38
39
  "release:preflight": "bun run scripts/release-preflight.ts"
39
40
  },