@decantr/cli 1.7.15 → 1.7.18
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/bin.js
CHANGED
|
@@ -763,12 +763,60 @@ ${themeBody}
|
|
|
763
763
|
lines.push(" bottom: 0;");
|
|
764
764
|
lines.push(" z-index: 50;");
|
|
765
765
|
lines.push(" transform: translateX(-100%);");
|
|
766
|
+
lines.push(" box-shadow: var(--d-elevation-4, 0 8px 24px rgba(0,0,0,0.25));");
|
|
766
767
|
lines.push(" }");
|
|
767
768
|
lines.push(' .d-shell-sidebar[data-mobile-open="true"] {');
|
|
768
769
|
lines.push(" transform: translateX(0);");
|
|
769
770
|
lines.push(" }");
|
|
770
771
|
lines.push("}");
|
|
771
772
|
lines.push("");
|
|
773
|
+
emitRule(".d-shell-mobile-trigger", [
|
|
774
|
+
["display", "none"],
|
|
775
|
+
["align-items", "center"],
|
|
776
|
+
["justify-content", "center"],
|
|
777
|
+
["width", "36px"],
|
|
778
|
+
["height", "36px"],
|
|
779
|
+
["border", "1px solid var(--d-border)"],
|
|
780
|
+
["border-radius", "var(--d-radius-sm)"],
|
|
781
|
+
["background", "transparent"],
|
|
782
|
+
["color", "var(--d-text)"],
|
|
783
|
+
["cursor", "pointer"],
|
|
784
|
+
["flex-shrink", "0"],
|
|
785
|
+
[
|
|
786
|
+
"transition",
|
|
787
|
+
"background var(--d-motion-fast, 150ms) var(--d-motion-ease-out, cubic-bezier(0,0,0.2,1)), border-color var(--d-motion-fast, 150ms) var(--d-motion-ease-out, cubic-bezier(0,0,0.2,1))"
|
|
788
|
+
]
|
|
789
|
+
]);
|
|
790
|
+
emitRule(".d-shell-mobile-trigger:hover", [
|
|
791
|
+
["background", "var(--d-surface)"],
|
|
792
|
+
["border-color", "var(--d-primary)"]
|
|
793
|
+
]);
|
|
794
|
+
emitRule(".d-shell-mobile-trigger:focus-visible", [
|
|
795
|
+
["outline", "2px solid var(--d-primary)"],
|
|
796
|
+
["outline-offset", "2px"]
|
|
797
|
+
]);
|
|
798
|
+
emitRule(".d-shell-mobile-backdrop", [
|
|
799
|
+
["display", "none"],
|
|
800
|
+
["position", "fixed"],
|
|
801
|
+
["inset", "0"],
|
|
802
|
+
["z-index", "49"],
|
|
803
|
+
["background", "color-mix(in srgb, var(--d-bg) 60%, transparent)"],
|
|
804
|
+
["backdrop-filter", "blur(2px)"],
|
|
805
|
+
["-webkit-backdrop-filter", "blur(2px)"],
|
|
806
|
+
[
|
|
807
|
+
"transition",
|
|
808
|
+
"opacity var(--d-motion-fast, 150ms) var(--d-motion-ease-out, cubic-bezier(0,0,0.2,1))"
|
|
809
|
+
]
|
|
810
|
+
]);
|
|
811
|
+
lines.push("@media (max-width: 767.98px) {");
|
|
812
|
+
lines.push(" .d-shell-mobile-trigger {");
|
|
813
|
+
lines.push(" display: inline-flex;");
|
|
814
|
+
lines.push(" }");
|
|
815
|
+
lines.push(' .d-shell-mobile-backdrop[data-visible="true"] {');
|
|
816
|
+
lines.push(" display: block;");
|
|
817
|
+
lines.push(" }");
|
|
818
|
+
lines.push("}");
|
|
819
|
+
lines.push("");
|
|
772
820
|
emitRule(".d-shell-main", [
|
|
773
821
|
["display", "flex"],
|
|
774
822
|
["flex-direction", "column"],
|
|
@@ -795,11 +843,19 @@ ${themeBody}
|
|
|
795
843
|
["min-width", "0"],
|
|
796
844
|
["overflow-y", "auto"],
|
|
797
845
|
["overflow-x", "clip"],
|
|
798
|
-
["padding", "1rem"]
|
|
846
|
+
["padding", "1rem"],
|
|
847
|
+
["display", "flex"],
|
|
848
|
+
["flex-direction", "column"],
|
|
849
|
+
["gap", "var(--d-section-gap, 2rem)"]
|
|
799
850
|
]);
|
|
800
851
|
emitRule('.d-shell-body[data-padding="compact"]', [["padding", "0.75rem"]]);
|
|
801
852
|
emitRule('.d-shell-body[data-padding="spacious"]', [["padding", "1.5rem"]]);
|
|
802
853
|
emitRule('.d-shell-body[data-padding="none"]', [["padding", "0"]]);
|
|
854
|
+
emitRule('.d-shell-body[data-flow="tight"]', [["gap", "0.75rem"]]);
|
|
855
|
+
emitRule('.d-shell-body[data-flow="none"]', [
|
|
856
|
+
["display", "block"],
|
|
857
|
+
["gap", "0"]
|
|
858
|
+
]);
|
|
803
859
|
emitRule(".d-shell-footer", [
|
|
804
860
|
["padding", "1rem clamp(1rem, 2vw, 1.5rem)"],
|
|
805
861
|
["border-top", "1px solid var(--d-border)"],
|
|
@@ -2495,9 +2551,11 @@ Pair \`d-card\` with a theme card decorator (e.g., \`carbon-card\`) for hover gl
|
|
|
2495
2551
|
| **Main** | \`d-shell-main\` | Remaining-width column to the right of the sidebar (or the full content area in top-nav shells). Handles scroll internally. |
|
|
2496
2552
|
| **Aside** | \`d-shell-aside\` | Right 320px auxiliary panel for inspector / timeline / minimap in \`sidebar-aside\` layouts. Below \`_mdmax:\` hides by default; toggle with \`data-mobile-open="true"\`. |
|
|
2497
2553
|
| **Header** | \`d-shell-header\` | 52px sticky top bar with horizontal flex layout. Use inside \`d-shell-main\` (sidebar-main shells) or at the top of \`d-shell\` (top-nav shells). |
|
|
2498
|
-
| **Body** | \`d-shell-body\` | Scrollable main region. \`data-padding="compact\\|spacious\\|none"\`
|
|
2554
|
+
| **Body** | \`d-shell-body\` | Scrollable main region. **Flex column with section-level gap (\`var(--d-section-gap, 2rem)\`) between direct children** \u2014 every block-level child (eyebrow, card grid, chart row, table) gets uniform spacing automatically, no matter how it's wrapped internally. \`data-padding="compact\\|spacious\\|none"\` adjusts the outer 1rem padding. \`data-flow="tight"\` reduces the gap to 0.75rem; \`data-flow="none"\` reverts to plain block flow. |
|
|
2499
2555
|
| **Footer** | \`d-shell-footer\` | Narrow band below the body with top border. |
|
|
2500
2556
|
| **Centered card** | \`d-shell-centered-card\` | The content parent inside \`d-shell[data-layout="centered"]\`. Caps width at 28rem. |
|
|
2557
|
+
| **Mobile menu trigger** | \`d-shell-mobile-trigger\` | Hamburger button hidden above \`_md:\`, visible below. Toggles \`data-mobile-open\` on the sibling \`d-shell-sidebar\`. REQUIRED inside \`d-shell-header\` for any \`sidebar-main\` or \`sidebar-aside\` shell \u2014 without it, mobile users can't re-open the collapsed nav. |
|
|
2558
|
+
| **Mobile backdrop** | \`d-shell-mobile-backdrop\` | Dim scrim shown behind the open sidebar drawer below \`_md:\`. Apply \`data-visible="true"\` when sidebar is open; click to close. Hidden above \`_md:\`. |
|
|
2501
2559
|
|
|
2502
2560
|
**Shell layout recipes:**
|
|
2503
2561
|
- **Auth / confirmation:** \`d-shell[data-layout="centered"] + d-shell-centered-card\`.
|
|
@@ -2507,6 +2565,47 @@ Pair \`d-card\` with a theme card decorator (e.g., \`carbon-card\`) for hover gl
|
|
|
2507
2565
|
|
|
2508
2566
|
Do NOT hand-roll \`.shell-sidebar\`, \`.shell-centered\`, \`.shell-tnf\`, \`.shell-aside\`, \`.sidebar-main-layout\`, or similar class names. They exist as treatments.
|
|
2509
2567
|
|
|
2568
|
+
**Mobile sidebar wiring (REQUIRED for sidebar-main / sidebar-aside shells):**
|
|
2569
|
+
|
|
2570
|
+
The sidebar collapses to off-canvas below \`_mdmax:\`. Without an explicit toggle, mobile users get stuck \u2014 collapsed sidebar, no way to re-open it. Wire it up like this:
|
|
2571
|
+
|
|
2572
|
+
\`\`\`tsx
|
|
2573
|
+
function AppShell() {
|
|
2574
|
+
const [navOpen, setNavOpen] = useState(false);
|
|
2575
|
+
return (
|
|
2576
|
+
<div className="d-shell" data-layout="sidebar-main">
|
|
2577
|
+
<aside
|
|
2578
|
+
className="d-shell-sidebar"
|
|
2579
|
+
data-mobile-open={navOpen ? 'true' : undefined}
|
|
2580
|
+
>
|
|
2581
|
+
{/* nav items */}
|
|
2582
|
+
</aside>
|
|
2583
|
+
<div
|
|
2584
|
+
className="d-shell-mobile-backdrop"
|
|
2585
|
+
data-visible={navOpen ? 'true' : undefined}
|
|
2586
|
+
onClick={() => setNavOpen(false)}
|
|
2587
|
+
/>
|
|
2588
|
+
<main className="d-shell-main">
|
|
2589
|
+
<header className="d-shell-header">
|
|
2590
|
+
<button
|
|
2591
|
+
className="d-shell-mobile-trigger"
|
|
2592
|
+
aria-label={navOpen ? 'Close navigation' : 'Open navigation'}
|
|
2593
|
+
aria-expanded={navOpen}
|
|
2594
|
+
onClick={() => setNavOpen((v) => !v)}
|
|
2595
|
+
>
|
|
2596
|
+
<Menu size={18} aria-hidden />
|
|
2597
|
+
</button>
|
|
2598
|
+
{/* rest of header */}
|
|
2599
|
+
</header>
|
|
2600
|
+
<div className="d-shell-body">{/* page content */}</div>
|
|
2601
|
+
</main>
|
|
2602
|
+
</div>
|
|
2603
|
+
);
|
|
2604
|
+
}
|
|
2605
|
+
\`\`\`
|
|
2606
|
+
|
|
2607
|
+
The trigger auto-hides above \`_md:\` (where the sidebar is always visible inline) and the backdrop only shows when \`data-visible="true"\` AND viewport is below \`_md:\`. Close-on-route-change is recommended for SPA blueprints \u2014 wire \`useEffect\` on \`location.pathname\` to reset \`navOpen\` to false.
|
|
2608
|
+
|
|
2510
2609
|
### Theme toggle
|
|
2511
2610
|
|
|
2512
2611
|
If the blueprint declares the \`theme-toggle\` feature, \`tokens.css\` includes a \`[data-mode="<opposite>"]\` selector block. Flip the visible mode by setting \`data-mode\` on \`<html>\` (or any ancestor):
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
scaffoldProject,
|
|
15
15
|
syncRegistry,
|
|
16
16
|
writeExecutionPackBundleArtifacts
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-5ZMHI3R4.js";
|
|
18
18
|
import {
|
|
19
19
|
buildGuardRegistryContext,
|
|
20
20
|
scanProjectInteractions
|
|
@@ -5942,7 +5942,7 @@ async function main() {
|
|
|
5942
5942
|
break;
|
|
5943
5943
|
}
|
|
5944
5944
|
case "upgrade": {
|
|
5945
|
-
const { cmdUpgrade } = await import("./upgrade-
|
|
5945
|
+
const { cmdUpgrade } = await import("./upgrade-LK3Z44M2.js");
|
|
5946
5946
|
const applyFlag = args.includes("--apply");
|
|
5947
5947
|
await cmdUpgrade(process.cwd(), { apply: applyFlag });
|
|
5948
5948
|
break;
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import "./chunk-
|
|
2
|
-
import "./chunk-
|
|
1
|
+
import "./chunk-VHDAHJKS.js";
|
|
2
|
+
import "./chunk-5ZMHI3R4.js";
|
|
3
3
|
import "./chunk-QRQCPD3C.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@decantr/cli",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.18",
|
|
4
4
|
"description": "Decantr CLI — scaffold, audit, and maintain Decantr projects from the terminal",
|
|
5
5
|
"author": "Decantr AI",
|
|
6
6
|
"license": "MIT",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@decantr/core": "1.0.2",
|
|
31
|
-
"@decantr/essence-spec": "1.0.
|
|
31
|
+
"@decantr/essence-spec": "1.0.5",
|
|
32
32
|
"@decantr/verifier": "1.0.3",
|
|
33
33
|
"@decantr/registry": "1.0.2"
|
|
34
34
|
},
|