@tangle-network/sandbox-ui 0.47.0 → 0.48.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.
@@ -1899,6 +1899,7 @@ function SidebarLayoutInner({
1899
1899
  profileMenuItems,
1900
1900
  showThemeToggle = false,
1901
1901
  railFooter,
1902
+ railCollapseToggle = "footer",
1902
1903
  LinkComponent,
1903
1904
  hideBelow,
1904
1905
  railLabels = false,
@@ -1915,15 +1916,20 @@ function SidebarLayoutInner({
1915
1916
  return /* @__PURE__ */ jsxs14("div", { className: cn("min-h-screen bg-surface text-foreground", className), children: [
1916
1917
  /* @__PURE__ */ jsx15("div", { className: cn(hideBelow && HIDE_BELOW_CLASS[hideBelow]), children: /* @__PURE__ */ jsxs14(Sidebar, { className: sidebarClassName, children: [
1917
1918
  /* @__PURE__ */ jsxs14(SidebarRail, { children: [
1918
- (railHeaderContent !== void 0 || logo !== void 0) && /* @__PURE__ */ jsx15(SidebarRailHeader, { className: cn(showLabels && (railHeaderContent !== void 0 ? "px-2" : "justify-start px-4")), children: railHeaderContent !== void 0 ? railHeaderContent : /* @__PURE__ */ jsx15(
1919
- Link,
1920
- {
1921
- href: logoHref,
1922
- to: logoHref,
1923
- className: "flex items-center justify-center rounded-lg p-1 transition-colors hover:bg-surface-container-high",
1924
- children: logo
1925
- }
1926
- ) }),
1919
+ (railHeaderContent !== void 0 || logo !== void 0 || railLabels && railCollapseToggle === "header") && /* @__PURE__ */ jsxs14(SidebarRailHeader, { className: cn(showLabels && (railHeaderContent !== void 0 ? "px-2" : "justify-start px-4")), children: [
1920
+ railHeaderContent !== void 0 ? railHeaderContent : logo !== void 0 ? /* @__PURE__ */ jsx15(
1921
+ Link,
1922
+ {
1923
+ href: logoHref,
1924
+ to: logoHref,
1925
+ className: "flex items-center justify-center rounded-lg p-1 transition-colors hover:bg-surface-container-high",
1926
+ children: logo
1927
+ }
1928
+ ) : null,
1929
+ railLabels && railCollapseToggle === "header" && // Icon-only in the header row (the labeled, full-width variant is
1930
+ // for the vertical footer stack); sits beside the logo/content.
1931
+ /* @__PURE__ */ jsx15(RailCollapseToggle, { collapsed: railCollapsed, showLabel: false, onToggle: toggleRail, className: "shrink-0" })
1932
+ ] }),
1927
1933
  /* @__PURE__ */ jsx15(SidebarRailNav, { className: showLabels ? "px-2" : void 0, children: navItems.map((item) => {
1928
1934
  if (item.flyoutItems && item.flyoutItems.length > 0) {
1929
1935
  const activeSet = new Set(item.flyoutActiveIds ?? []);
@@ -1983,7 +1989,7 @@ function SidebarLayoutInner({
1983
1989
  ) }, item.id);
1984
1990
  }) }),
1985
1991
  (railLabels || railFooter !== void 0 || hasProfile) && /* @__PURE__ */ jsxs14(SidebarRailFooter, { className: cn("border-t border-[var(--md3-outline-variant)] pt-2", showLabels && "items-stretch px-2"), children: [
1986
- railLabels && /* @__PURE__ */ jsx15(RailCollapseToggle, { collapsed: railCollapsed, showLabel: showLabels, onToggle: toggleRail }),
1992
+ railLabels && railCollapseToggle === "footer" && /* @__PURE__ */ jsx15(RailCollapseToggle, { collapsed: railCollapsed, showLabel: showLabels, onToggle: toggleRail }),
1987
1993
  railFooter,
1988
1994
  hasProfile && (() => {
1989
1995
  const profile = /* @__PURE__ */ jsx15(
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-3J6FG3FJ.js";
4
4
  import {
5
5
  PortsList
6
- } from "./chunk-PZ62T5PM.js";
6
+ } from "./chunk-3WUSPCPC.js";
7
7
  import {
8
8
  TerminalView
9
9
  } from "./chunk-VIREDUBF.js";
@@ -806,6 +806,13 @@ interface SidebarLayoutProps {
806
806
  showThemeToggle?: boolean;
807
807
  /** Extra content in the rail footer, above the profile avatar. */
808
808
  railFooter?: React.ReactNode;
809
+ /**
810
+ * Where the rail collapse/expand control sits. Defaults to `"footer"` (the
811
+ * historical placement, above the profile avatar). Set `"header"` to move it
812
+ * to the top of the rail instead, alongside the logo/`railHeaderContent`.
813
+ * Only takes effect when `railLabels` is set (the rail is collapsible).
814
+ */
815
+ railCollapseToggle?: "header" | "footer";
809
816
  LinkComponent?: React.ComponentType<any>;
810
817
  /**
811
818
  * Controlled panel-open state. Provide it (seeded from a server-readable
package/dist/dashboard.js CHANGED
@@ -52,7 +52,7 @@ import {
52
52
  canAdminSandbox,
53
53
  parseInsufficientBalance,
54
54
  useSidebar
55
- } from "./chunk-PZ62T5PM.js";
55
+ } from "./chunk-3WUSPCPC.js";
56
56
  import {
57
57
  BillingDashboard,
58
58
  InfoPanel,
package/dist/index.js CHANGED
@@ -148,7 +148,7 @@ import {
148
148
  buildUnifiedPatch,
149
149
  computeDiffStats,
150
150
  resolveLanguage
151
- } from "./chunk-NXUSLH7H.js";
151
+ } from "./chunk-4HLWA2VN.js";
152
152
  import {
153
153
  FileArtifactPane,
154
154
  FilePreview,
@@ -211,7 +211,7 @@ import {
211
211
  canAdminSandbox,
212
212
  parseInsufficientBalance,
213
213
  useSidebar
214
- } from "./chunk-PZ62T5PM.js";
214
+ } from "./chunk-3WUSPCPC.js";
215
215
  import {
216
216
  BillingDashboard,
217
217
  InfoPanel,
package/dist/workbench.js CHANGED
@@ -12,9 +12,9 @@ import {
12
12
  buildUnifiedPatch,
13
13
  computeDiffStats,
14
14
  resolveLanguage
15
- } from "./chunk-NXUSLH7H.js";
15
+ } from "./chunk-4HLWA2VN.js";
16
16
  import "./chunk-3J6FG3FJ.js";
17
- import "./chunk-PZ62T5PM.js";
17
+ import "./chunk-3WUSPCPC.js";
18
18
  import "./chunk-OMUIPJQZ.js";
19
19
  import "./chunk-VIREDUBF.js";
20
20
  import "./chunk-77WVVJA4.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tangle-network/sandbox-ui",
3
- "version": "0.47.0",
3
+ "version": "0.48.0",
4
4
  "description": "Unified UI component library for Tangle Sandbox — primitives, chat, dashboard, terminal, editor, and workspace components",
5
5
  "repository": {
6
6
  "type": "git",