LinkPicker control (site-page dropdown via usePages + Custom URL/#anchor/tel/mailto) wired into Logo href, Navbar logoUrl, and every Navbar/Menu link href. Sync-links-with-Pages rebuilds from pages while preserving CTA links. Per-link download toggle (boolean attr). Box-model + animation/visibility across Navbar/Menu/Logo/Footer. hrefs stay safeUrl-guarded. 683 tests.
LinkPicker control (site-page dropdown via usePages + Custom URL/#anchor/tel/mailto) wired into Logo href, Navbar logoUrl, and every Navbar/Menu link href. Sync-links-with-Pages rebuilds from pages while preserving CTA links. Per-link download toggle (boolean attr). Box-model + animation/visibility across Navbar/Menu/Logo/Footer. hrefs stay safeUrl-guarded. 683 tests.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
NavStylePanel (Navbar/Menu/Logo/Footer):
- LinkPicker: dropdown of the site's pages (read-only via usePages()) plus
manual URL / #anchor / tel: / mailto: entry, wired into every link-href
field (standalone Logo href, Navbar logoUrl, Navbar/Menu link items).
- "Sync links with Pages" button in the Links section: repopulates the
links array from the current pages list (label = page name, href = '/'
for the landing page else '/{slug}'), preserving any existing CTA link.
Regression-fix vs the legacy GrapesJS builder, which had this.
- `download` checkbox per link (Navbar/Menu links, standalone Logo href)
emits the `download` attribute on export for links to files.
- Links/Colors sections now gate on the component actually carrying a
`links`/color prop, so Footer (no links array) no longer shows a dead
"Add Link" editor.
- Box-model (Margin/Padding via SpacingControl, Border & Effects via
BorderControl + box-shadow presets + opacity), AnimationControl, and
VisibilityControl added for all four owned components, backed by new
animation/animationDelay/hideOnDesktop/hideOnTablet/hideOnMobile props
(with blank/default values in each component's .craft.props).
Tests: NavStylePanel.test.tsx (new, 17 tests: LinkPicker modes, sync
preserves CTA, download toggle, box-model/animation/visibility wiring) +
extended Navbar/Menu/Logo/Footer .toHtml.test.ts (download attribute,
craft.props defaults). Full suite: 683/683 passing. `npm run build` green.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
jknapp
merged commit f7da654c11 into main2026-07-14 13:58:11 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
LinkPicker control (site-page dropdown via usePages + Custom URL/#anchor/tel/mailto) wired into Logo href, Navbar logoUrl, and every Navbar/Menu link href. Sync-links-with-Pages rebuilds from pages while preserving CTA links. Per-link download toggle (boolean attr). Box-model + animation/visibility across Navbar/Menu/Logo/Footer. hrefs stay safeUrl-guarded. 683 tests.
🤖 Generated with Claude Code
NavStylePanel (Navbar/Menu/Logo/Footer): - LinkPicker: dropdown of the site's pages (read-only via usePages()) plus manual URL / #anchor / tel: / mailto: entry, wired into every link-href field (standalone Logo href, Navbar logoUrl, Navbar/Menu link items). - "Sync links with Pages" button in the Links section: repopulates the links array from the current pages list (label = page name, href = '/' for the landing page else '/{slug}'), preserving any existing CTA link. Regression-fix vs the legacy GrapesJS builder, which had this. - `download` checkbox per link (Navbar/Menu links, standalone Logo href) emits the `download` attribute on export for links to files. - Links/Colors sections now gate on the component actually carrying a `links`/color prop, so Footer (no links array) no longer shows a dead "Add Link" editor. - Box-model (Margin/Padding via SpacingControl, Border & Effects via BorderControl + box-shadow presets + opacity), AnimationControl, and VisibilityControl added for all four owned components, backed by new animation/animationDelay/hideOnDesktop/hideOnTablet/hideOnMobile props (with blank/default values in each component's .craft.props). Tests: NavStylePanel.test.tsx (new, 17 tests: LinkPicker modes, sync preserves CTA, download toggle, box-model/animation/visibility wiring) + extended Navbar/Menu/Logo/Footer .toHtml.test.ts (download attribute, craft.props defaults). Full suite: 683/683 passing. `npm run build` green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>