@decantr/cli 1.7.15 → 1.7.17
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
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
scaffoldProject,
|
|
15
15
|
syncRegistry,
|
|
16
16
|
writeExecutionPackBundleArtifacts
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-BABBST2Q.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-ARXL7WCP.js");
|
|
5946
5946
|
const applyFlag = args.includes("--apply");
|
|
5947
5947
|
await cmdUpgrade(process.cwd(), { apply: applyFlag });
|
|
5948
5948
|
break;
|
|
@@ -473,6 +473,9 @@ ${themeBody}
|
|
|
473
473
|
["padding-left", "var(--d-label-px)"],
|
|
474
474
|
["border-left", "2px solid var(--d-accent)"]
|
|
475
475
|
]);
|
|
476
|
+
emitRule("* + .d-label[data-anchor]", [
|
|
477
|
+
["margin-top", "var(--d-section-gap, 2rem)"]
|
|
478
|
+
]);
|
|
476
479
|
emitRule(".d-link", [
|
|
477
480
|
["color", "var(--d-text)"],
|
|
478
481
|
["text-decoration", "none"],
|
|
@@ -763,12 +766,60 @@ ${themeBody}
|
|
|
763
766
|
lines.push(" bottom: 0;");
|
|
764
767
|
lines.push(" z-index: 50;");
|
|
765
768
|
lines.push(" transform: translateX(-100%);");
|
|
769
|
+
lines.push(" box-shadow: var(--d-elevation-4, 0 8px 24px rgba(0,0,0,0.25));");
|
|
766
770
|
lines.push(" }");
|
|
767
771
|
lines.push(' .d-shell-sidebar[data-mobile-open="true"] {');
|
|
768
772
|
lines.push(" transform: translateX(0);");
|
|
769
773
|
lines.push(" }");
|
|
770
774
|
lines.push("}");
|
|
771
775
|
lines.push("");
|
|
776
|
+
emitRule(".d-shell-mobile-trigger", [
|
|
777
|
+
["display", "none"],
|
|
778
|
+
["align-items", "center"],
|
|
779
|
+
["justify-content", "center"],
|
|
780
|
+
["width", "36px"],
|
|
781
|
+
["height", "36px"],
|
|
782
|
+
["border", "1px solid var(--d-border)"],
|
|
783
|
+
["border-radius", "var(--d-radius-sm)"],
|
|
784
|
+
["background", "transparent"],
|
|
785
|
+
["color", "var(--d-text)"],
|
|
786
|
+
["cursor", "pointer"],
|
|
787
|
+
["flex-shrink", "0"],
|
|
788
|
+
[
|
|
789
|
+
"transition",
|
|
790
|
+
"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))"
|
|
791
|
+
]
|
|
792
|
+
]);
|
|
793
|
+
emitRule(".d-shell-mobile-trigger:hover", [
|
|
794
|
+
["background", "var(--d-surface)"],
|
|
795
|
+
["border-color", "var(--d-primary)"]
|
|
796
|
+
]);
|
|
797
|
+
emitRule(".d-shell-mobile-trigger:focus-visible", [
|
|
798
|
+
["outline", "2px solid var(--d-primary)"],
|
|
799
|
+
["outline-offset", "2px"]
|
|
800
|
+
]);
|
|
801
|
+
emitRule(".d-shell-mobile-backdrop", [
|
|
802
|
+
["display", "none"],
|
|
803
|
+
["position", "fixed"],
|
|
804
|
+
["inset", "0"],
|
|
805
|
+
["z-index", "49"],
|
|
806
|
+
["background", "color-mix(in srgb, var(--d-bg) 60%, transparent)"],
|
|
807
|
+
["backdrop-filter", "blur(2px)"],
|
|
808
|
+
["-webkit-backdrop-filter", "blur(2px)"],
|
|
809
|
+
[
|
|
810
|
+
"transition",
|
|
811
|
+
"opacity var(--d-motion-fast, 150ms) var(--d-motion-ease-out, cubic-bezier(0,0,0.2,1))"
|
|
812
|
+
]
|
|
813
|
+
]);
|
|
814
|
+
lines.push("@media (max-width: 767.98px) {");
|
|
815
|
+
lines.push(" .d-shell-mobile-trigger {");
|
|
816
|
+
lines.push(" display: inline-flex;");
|
|
817
|
+
lines.push(" }");
|
|
818
|
+
lines.push(' .d-shell-mobile-backdrop[data-visible="true"] {');
|
|
819
|
+
lines.push(" display: block;");
|
|
820
|
+
lines.push(" }");
|
|
821
|
+
lines.push("}");
|
|
822
|
+
lines.push("");
|
|
772
823
|
emitRule(".d-shell-main", [
|
|
773
824
|
["display", "flex"],
|
|
774
825
|
["flex-direction", "column"],
|
|
@@ -2498,6 +2549,8 @@ Pair \`d-card\` with a theme card decorator (e.g., \`carbon-card\`) for hover gl
|
|
|
2498
2549
|
| **Body** | \`d-shell-body\` | Scrollable main region. \`data-padding="compact\\|spacious\\|none"\` overrides the default 1rem padding. |
|
|
2499
2550
|
| **Footer** | \`d-shell-footer\` | Narrow band below the body with top border. |
|
|
2500
2551
|
| **Centered card** | \`d-shell-centered-card\` | The content parent inside \`d-shell[data-layout="centered"]\`. Caps width at 28rem. |
|
|
2552
|
+
| **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. |
|
|
2553
|
+
| **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
2554
|
|
|
2502
2555
|
**Shell layout recipes:**
|
|
2503
2556
|
- **Auth / confirmation:** \`d-shell[data-layout="centered"] + d-shell-centered-card\`.
|
|
@@ -2507,6 +2560,47 @@ Pair \`d-card\` with a theme card decorator (e.g., \`carbon-card\`) for hover gl
|
|
|
2507
2560
|
|
|
2508
2561
|
Do NOT hand-roll \`.shell-sidebar\`, \`.shell-centered\`, \`.shell-tnf\`, \`.shell-aside\`, \`.sidebar-main-layout\`, or similar class names. They exist as treatments.
|
|
2509
2562
|
|
|
2563
|
+
**Mobile sidebar wiring (REQUIRED for sidebar-main / sidebar-aside shells):**
|
|
2564
|
+
|
|
2565
|
+
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:
|
|
2566
|
+
|
|
2567
|
+
\`\`\`tsx
|
|
2568
|
+
function AppShell() {
|
|
2569
|
+
const [navOpen, setNavOpen] = useState(false);
|
|
2570
|
+
return (
|
|
2571
|
+
<div className="d-shell" data-layout="sidebar-main">
|
|
2572
|
+
<aside
|
|
2573
|
+
className="d-shell-sidebar"
|
|
2574
|
+
data-mobile-open={navOpen ? 'true' : undefined}
|
|
2575
|
+
>
|
|
2576
|
+
{/* nav items */}
|
|
2577
|
+
</aside>
|
|
2578
|
+
<div
|
|
2579
|
+
className="d-shell-mobile-backdrop"
|
|
2580
|
+
data-visible={navOpen ? 'true' : undefined}
|
|
2581
|
+
onClick={() => setNavOpen(false)}
|
|
2582
|
+
/>
|
|
2583
|
+
<main className="d-shell-main">
|
|
2584
|
+
<header className="d-shell-header">
|
|
2585
|
+
<button
|
|
2586
|
+
className="d-shell-mobile-trigger"
|
|
2587
|
+
aria-label={navOpen ? 'Close navigation' : 'Open navigation'}
|
|
2588
|
+
aria-expanded={navOpen}
|
|
2589
|
+
onClick={() => setNavOpen((v) => !v)}
|
|
2590
|
+
>
|
|
2591
|
+
<Menu size={18} aria-hidden />
|
|
2592
|
+
</button>
|
|
2593
|
+
{/* rest of header */}
|
|
2594
|
+
</header>
|
|
2595
|
+
<div className="d-shell-body">{/* page content */}</div>
|
|
2596
|
+
</main>
|
|
2597
|
+
</div>
|
|
2598
|
+
);
|
|
2599
|
+
}
|
|
2600
|
+
\`\`\`
|
|
2601
|
+
|
|
2602
|
+
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.
|
|
2603
|
+
|
|
2510
2604
|
### Theme toggle
|
|
2511
2605
|
|
|
2512
2606
|
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):
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import "./chunk-
|
|
2
|
-
import "./chunk-
|
|
1
|
+
import "./chunk-AMP4C5NV.js";
|
|
2
|
+
import "./chunk-BABBST2Q.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.17",
|
|
4
4
|
"description": "Decantr CLI — scaffold, audit, and maintain Decantr projects from the terminal",
|
|
5
5
|
"author": "Decantr AI",
|
|
6
6
|
"license": "MIT",
|
|
@@ -27,10 +27,10 @@
|
|
|
27
27
|
"access": "public"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@decantr/
|
|
31
|
-
"@decantr/essence-spec": "1.0.4",
|
|
30
|
+
"@decantr/essence-spec": "1.0.5",
|
|
32
31
|
"@decantr/verifier": "1.0.3",
|
|
33
|
-
"@decantr/registry": "1.0.2"
|
|
32
|
+
"@decantr/registry": "1.0.2",
|
|
33
|
+
"@decantr/core": "1.0.2"
|
|
34
34
|
},
|
|
35
35
|
"scripts": {
|
|
36
36
|
"build": "tsup",
|