@forgeax/app-shell 0.20.0 → 0.21.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/panel.css +25 -0
- package/dist/react.d.ts +7 -1
- package/dist/react.js +19 -0
- package/package.json +1 -1
package/dist/panel.css
CHANGED
|
@@ -39,3 +39,28 @@
|
|
|
39
39
|
.fx-panel-content[data-tone="tool"] {
|
|
40
40
|
background: var(--color-background-base, #191919);
|
|
41
41
|
}
|
|
42
|
+
|
|
43
|
+
.fx-panel-empty {
|
|
44
|
+
height: 100%;
|
|
45
|
+
min-height: 120px;
|
|
46
|
+
display: flex;
|
|
47
|
+
flex-direction: column;
|
|
48
|
+
align-items: center;
|
|
49
|
+
justify-content: center;
|
|
50
|
+
gap: 6px;
|
|
51
|
+
padding: 16px;
|
|
52
|
+
color: var(--color-text-tertiary, #778);
|
|
53
|
+
text-align: center;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.fx-panel-empty-title {
|
|
57
|
+
color: var(--color-text-secondary, #aab);
|
|
58
|
+
font-size: 13px;
|
|
59
|
+
font-weight: 600;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.fx-panel-empty-detail {
|
|
63
|
+
font-family: var(--font-mono, monospace);
|
|
64
|
+
font-size: 11px;
|
|
65
|
+
opacity: 0.72;
|
|
66
|
+
}
|
package/dist/react.d.ts
CHANGED
|
@@ -37,6 +37,12 @@ interface PanelSurfaceProps extends Omit<HTMLAttributes<HTMLElement>, 'children'
|
|
|
37
37
|
readonly content?: PanelContentPolicy;
|
|
38
38
|
readonly children?: ReactNode;
|
|
39
39
|
}
|
|
40
|
+
interface PanelEmptyStateProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'title'> {
|
|
41
|
+
readonly title: ReactNode;
|
|
42
|
+
readonly detail?: ReactNode;
|
|
43
|
+
}
|
|
44
|
+
/** Product-neutral empty panel presentation with caller-owned content. */
|
|
45
|
+
declare function PanelEmptyState({ title, detail, className, ...props }: PanelEmptyStateProps): ReactElement;
|
|
40
46
|
/** Product-neutral panel section and content presentation. */
|
|
41
47
|
declare function PanelSurface({ id, registered, singleTab, header, content, children, className, ...props }: PanelSurfaceProps): ReactElement;
|
|
42
48
|
|
|
@@ -92,4 +98,4 @@ interface ShellSlotProps extends HTMLAttributes<HTMLElement> {
|
|
|
92
98
|
/** Structural shell marker that preserves the caller's semantic element. */
|
|
93
99
|
declare function ShellSlot({ as, name, ...props }: ShellSlotProps): ReactElement;
|
|
94
100
|
|
|
95
|
-
export { DetachedPanelBoundary, type DetachedPanelBoundaryProps, DetachedSurfaceFrame, type DetachedSurfaceFrameProps, DetachedSurfaceStatus, type DetachedSurfaceStatusProps, type DetachedSurfaceStatusTone, type PanelContentPadding, type PanelContentPolicy, type PanelContentScroll, type PanelContentTone, PanelSurface, type PanelSurfaceProps, ResizeHandle, type ResizeHandleProps, ShellSlot, type ShellSlotElement, type ShellSlotProps, SlotDebugOverlay, SurfacePlaceholder, type SurfacePlaceholderProps, SurfaceRegion, type SurfaceRegionProps, hashSlotHue, isSlotDebugEnabled, useLocalSize };
|
|
101
|
+
export { DetachedPanelBoundary, type DetachedPanelBoundaryProps, DetachedSurfaceFrame, type DetachedSurfaceFrameProps, DetachedSurfaceStatus, type DetachedSurfaceStatusProps, type DetachedSurfaceStatusTone, type PanelContentPadding, type PanelContentPolicy, type PanelContentScroll, type PanelContentTone, PanelEmptyState, type PanelEmptyStateProps, PanelSurface, type PanelSurfaceProps, ResizeHandle, type ResizeHandleProps, ShellSlot, type ShellSlotElement, type ShellSlotProps, SlotDebugOverlay, SurfacePlaceholder, type SurfacePlaceholderProps, SurfaceRegion, type SurfaceRegionProps, hashSlotHue, isSlotDebugEnabled, useLocalSize };
|
package/dist/react.js
CHANGED
|
@@ -261,6 +261,24 @@ function ResizeHandle({
|
|
|
261
261
|
|
|
262
262
|
// src/panel.tsx
|
|
263
263
|
import { jsx as jsx3, jsxs } from "react/jsx-runtime";
|
|
264
|
+
function PanelEmptyState({
|
|
265
|
+
title,
|
|
266
|
+
detail,
|
|
267
|
+
className,
|
|
268
|
+
...props
|
|
269
|
+
}) {
|
|
270
|
+
return /* @__PURE__ */ jsxs(
|
|
271
|
+
"div",
|
|
272
|
+
{
|
|
273
|
+
...props,
|
|
274
|
+
className: className ? `fx-panel-empty ${className}` : "fx-panel-empty",
|
|
275
|
+
children: [
|
|
276
|
+
/* @__PURE__ */ jsx3("div", { className: "fx-panel-empty-title", children: title }),
|
|
277
|
+
detail == null ? null : /* @__PURE__ */ jsx3("div", { className: "fx-panel-empty-detail", children: detail })
|
|
278
|
+
]
|
|
279
|
+
}
|
|
280
|
+
);
|
|
281
|
+
}
|
|
264
282
|
function PanelSurface({
|
|
265
283
|
id,
|
|
266
284
|
registered = false,
|
|
@@ -394,6 +412,7 @@ export {
|
|
|
394
412
|
DetachedPanelBoundary,
|
|
395
413
|
DetachedSurfaceFrame,
|
|
396
414
|
DetachedSurfaceStatus,
|
|
415
|
+
PanelEmptyState,
|
|
397
416
|
PanelSurface,
|
|
398
417
|
ResizeHandle,
|
|
399
418
|
ShellSlot,
|