-
d6666f6f79
Merge PR #19: enh containers
jknapp
2026-07-14 13:56:11 +00:00
-
-
4a426e3513
fix(containers): only flex-convert Container/Section when vertical-align set (avoid blockifying inline-block children)
enh-containers

shadowdaoandClaude Opus 4.8
2026-07-14 06:55:20 -07:00
-
6e628d68dd
Merge PR #18: enh sections
jknapp
2026-07-14 13:54:52 +00:00
-
-
8f17b74e2b
Merge PR #17: enh forms
jknapp
2026-07-14 13:49:57 +00:00
-
-
54572f648a
feat(builder): nav/menu link-to-page picker, page sync, download attr, box-model rollout
enh-nav

shadowdaoandClaude Opus 4.8
2026-07-14 06:47:59 -07:00
-
8bf525c600
feat(builder): surface hidden section/pricing/social props + box-model rollout
enh-sections

shadowdaoandClaude Opus 4.8
2026-07-14 06:47:58 -07:00
-
-
-
d07bc7789d
Merge PR #16: enh code editor
jknapp
2026-07-14 13:47:46 +00:00
-
-
b03425ac39
Merge PR #15: enh text+button
jknapp
2026-07-14 13:46:08 +00:00
-
-
9750a6c2bf
feat(builder): containers package -- vertical alignment + box-model/anim/vis rollout

shadowdaoandClaude Opus 4.8
2026-07-14 06:44:37 -07:00
-
-
5b19ae97af
feat(builder): FORMS package -- field editor, functional Subscribe/Search, box-model+anim rollout
enh-forms

shadowdaoandClaude Opus 4.8
2026-07-14 06:44:21 -07:00
-
-
88df4f2888
feat(builder): CodeMirror 6 code editor for HTML/CSS/JS with lazy loading
enh-code

shadowdaoandClaude Opus 4.8
2026-07-14 06:42:59 -07:00
-
-
e1b4ab735c
feat(builder): text+button package -- typography depth, button target/hover, box-model+anim/vis rollout
enh-text-button

shadowdaoandClaude Opus 4.8
2026-07-14 06:41:53 -07:00
-
-
ff1e8fc096
Merge PR #14: enh media package
jknapp
2026-07-14 13:37:55 +00:00
-
-
-
-
0419291259
feat(builder): media package -- image crop/perf, video size+picker, gallery cols/lightbox, box-model+anim/vis rollout
enh-media

shadowdaoandClaude Opus 4.8
2026-07-14 06:30:50 -07:00
-
-
1d9460c173
Merge PR #13: enhancement foundation
jknapp
2026-07-14 13:12:22 +00:00
-
-
8d69982a0b
chore(builder): install CodeMirror deps for the upcoming code-editor feature
enh-foundation

shadowdaoandClaude Opus 4.8
2026-07-14 06:07:25 -07:00
-
fb40e3ece4
feat(builder): add reusable StylePanel controls (foundation for enh batch)

shadowdaoandClaude Opus 4.8
2026-07-14 06:07:20 -07:00
-
9591fcb8a7
feat(builder): add shared style presets for size/aspect-ratio/shadow/typography rollout

shadowdaoandClaude Opus 4.8
2026-07-14 06:07:14 -07:00
-
-
f80811318b
Merge PR #12: real-Editor integration test harness
jknapp
2026-07-14 00:12:49 +00:00
-
-
cb9fea6656
test(builder): real-@craftjs/core integration test harness (duplicate/paste, template load, AI apply-response)
integration-test-harness

shadowdaoandClaude Opus 4.8
2026-07-13 17:11:40 -07:00
-
-
b1afdcb585
Merge PR #11: mobile fast-follows
jknapp
2026-07-13 16:19:53 +00:00
-
-
f00e4db3dc
test(builder): cover useVisualViewport; fix: disable Select-Parent at ROOT in desktop context menu
mobile-fast-follows

shadowdaoandClaude Opus 4.8
2026-07-13 09:19:00 -07:00
-
-
b9552faa30
Merge PR #10: Mobile Phase B (touch editing)
jknapp
2026-07-13 15:43:29 +00:00
-
-
77f35c4e9e
fix(builder): duplicate inserts+selects after source; select-parent/styles-sheet/canvas-pad mobile fixes
mobile-phase-b

shadowdaoandClaude Opus 4.8
2026-07-13 08:41:33 -07:00
-
2c8425ffb0
feat(builder): mobile-B touch editing -- selection toolbar, tap-to-add, swipe-dismiss

shadowdaoandClaude Opus 4.8
2026-07-13 08:07:51 -07:00
-
-
2a071bc7ab
Merge PR #9: Mobile Phase A
jknapp
2026-07-13 14:31:23 +00:00
-
-
2a8a26687b
fix(builder): mobile-A2 hardening -- 16px inputs, shared sheet/modal chrome, z-scale + portal
mobile-phase-a

shadowdaoandClaude Opus 4.8
2026-07-13 07:30:12 -07:00
-
979331b12d
feat(builder): mobile-responsive editor chrome (Phase A)

shadowdaoandClaude Opus 4.8
2026-07-13 06:54:15 -07:00
-
-
329a782052
Merge PR #8: fix templates dropping nested content
jknapp
2026-07-13 13:28:39 +00:00
-
-
da558fd52d
fix(builder): render template header/footer nested content in zone preview + export
fix-zone-preview

shadowdaoandClaude Opus 4.8
2026-07-13 06:19:26 -07:00
-
-
8aeadefa88
Merge PR #7: UI polish Phase 2
jknapp
2026-07-13 04:13:17 +00:00
-
-
2066059c35
fix(builder): phase-2 design tweaks (landing home icon, decouple layer-hover from guides, neutral zone separator)
ui-polish-phase2
shadowdao
2026-07-12 21:12:09 -07:00
-
473fe8d421
feat(builder): item 16 — context menu FA icon per action

shadowdaoandClaude Opus 4.8
2026-07-12 20:56:21 -07:00
-
5d6ae7946b
fix(builder): item 15 — default header nav no longer links nonexistent pages

shadowdaoandClaude Opus 4.8
2026-07-12 20:56:11 -07:00
-
1c85ab93eb
feat(builder): item 14 — Templates modal close button + category pill hover states

shadowdaoandClaude Opus 4.8
2026-07-12 20:56:05 -07:00
-
67228f24b4
feat(builder): item 11 — Pages panel hierarchy: neutral header/footer rows, outline Landing badge, icon+tooltip actions

shadowdaoandClaude Opus 4.8
2026-07-12 20:56:00 -07:00
-
613a44c4d4
feat(builder): items 10+12+13 — scope canvas guides, Show Guides toggle, Layers panel hover/icons, topbar unification

shadowdaoandClaude Opus 4.8
2026-07-12 20:55:52 -07:00
-
-
5685670895
Merge PR #6: UI polish Phase 1
jknapp
2026-07-13 03:22:51 +00:00
-
-
72f85a97e5
fix(builder): phase-1 polish a11y follow-ups (dropzone keyboard, badge name, icon aria)
ui-polish-phase1
shadowdao
2026-07-12 20:22:11 -07:00
-
ab28ad8f2c
Merge assets-panel empty state into one dropzone

shadowdaoandClaude Opus 4.8
2026-07-12 20:15:15 -07:00
-
05e00c572d
Show component-indicator selection badge in the canvas

shadowdaoandClaude Opus 4.8
2026-07-12 20:15:08 -07:00
-
458069afb6
Show empty-canvas hint on a page with no components yet

shadowdaoandClaude Opus 4.8
2026-07-12 20:14:58 -07:00
-
b3e5009aec
Fix preset-grid orphan row for 5/6-item preset sets

shadowdaoandClaude Opus 4.8
2026-07-12 20:14:38 -07:00
-
eeb0660d83
Replace emoji-as-icons in editor chrome with Font Awesome

shadowdaoandClaude Opus 4.8
2026-07-12 20:14:29 -07:00
-
138e1a8273
Bump muted/dim text contrast and block label legibility

shadowdaoandClaude Opus 4.8
2026-07-12 20:14:10 -07:00
-
-
1b12b79a0d
Merge PR #5: image placeholder + Gallery/safeImageUrl fix
jknapp
2026-07-13 02:54:24 +00:00
-
-
621bb21d52
fix(builder): safeImageUrl for FeaturesGrid/ContentSlider image sinks + tighten data:image allowlist
placeholder-and-gallery-fix
shadowdao
2026-07-12 19:53:02 -07:00
-
3f3c6fb851
security: add safeImageUrl, un-break M-5's over-blocking of image-context SVG data URIs

shadowdaoandClaude Opus 4.8
2026-07-12 19:45:58 -07:00
-
802938ec1a
fix(builder): Image block placeholder no longer overridden by explicit src=""

shadowdaoandClaude Opus 4.8
2026-07-12 19:45:28 -07:00
-
-
3e43aee6e9
Merge PR #4: head code to published pages + adversarial-review Minors
jknapp
2026-07-13 01:37:13 +00:00
-
-
bf4a9f48eb
security: block data:image/svg+xml + sandbox HtmlBlock iframes
headcode-and-minors

shadowdaoandClaude Opus 4.8
2026-07-12 18:31:25 -07:00
-
86455413d0
fix: unique addPage ids + collision-free scopeId hashing

shadowdaoandClaude Opus 4.8
2026-07-12 18:31:12 -07:00
-
0cbc58f8d1
a11y/security: scope Navbar ids + hover styles, Gallery lightbox focus trap

shadowdaoandClaude Opus 4.8
2026-07-12 18:30:22 -07:00
-
92841e3f35
feat(builder): send + restore site head code in save/load

shadowdaoandClaude Opus 4.8
2026-07-12 18:22:38 -07:00
-
-
e892ee0e53
Merge PR #3: site builder security & data-loss hardening + asset picker + audit backlog

jknappandClaude Opus 4.8
2026-07-13 01:13:27 +00:00
-
-
591a51dcc2
fix(builder): escape/allowlist all attribute-value sinks incl. numeric/enum props (XSS)
builder-hardening-2026-07

shadowdaoandClaude Opus 4.8
2026-07-12 18:03:44 -07:00
-
7ba91d9829
fix(builder): sanitize non-string style values + allowlist element tags (XSS)

shadowdaoandClaude Opus 4.8
2026-07-12 17:44:59 -07:00
-
e12fb89ada
Fix M-4: punctuation-only page name yields empty slug ('.html')

shadowdaoandClaude Opus 4.8
2026-07-12 17:33:33 -07:00
-
25507cb57a
Fix INT: ContentSlider Slides editor wrote wrong prop key (image vs imageSrc)

shadowdaoandClaude Opus 4.8
2026-07-12 17:32:47 -07:00
-
9d3bbc2c46
Fix I-2: dangling parent on shell/ColumnLayout-rooted AI-replace trees

shadowdaoandClaude Opus 4.8
2026-07-12 17:31:01 -07:00
-
25e674badd
Fix I-1: landing-page edits lost when activePageId goes dangling

shadowdaoandClaude Opus 4.8
2026-07-12 17:29:32 -07:00
-
e5f30a4a56
Fix C1/C2: XSS via unsanitized style keys and animation attrs

shadowdaoandClaude Opus 4.8
2026-07-12 17:27:22 -07:00
-
36c3b2f503
fix(builder): sanitize CSS-value sinks to prevent style/<style> breakout XSS

shadowdaoandClaude Opus 4.8
2026-07-12 15:56:25 -07:00
-
5acf172511
docs(builder): update CLAUDE.md for hardening branch (remove dead settings/zones, asset picker)

shadowdaoandClaude Opus 4.8
2026-07-12 15:39:16 -07:00
-
ebb8fe1027
refactor(builder): type the AI-response/patch boundary

shadowdaoandClaude Opus 4.8
2026-07-12 15:30:56 -07:00
-
b88b242b6a
refactor(builder): extract shared Modal component for the three editor modals

shadowdaoandClaude Opus 4.8
2026-07-12 15:22:05 -07:00
-
8f51b5144a
refactor(builder): extract shared ArrayItemFieldsEditor from SectionTypePanel/GenericPropsEditor

shadowdaoandClaude Opus 4.8
2026-07-12 15:15:34 -07:00
-
4733fe84b5
refactor(builder): extract useNodeProp hook, dedup StylePanel setProp boilerplate

shadowdaoandClaude Opus 4.8
2026-07-12 15:13:35 -07:00
-
3cd4ad0154
test(builder): cover Ctrl+C/V shortcut id-regeneration and guards

shadowdaoandClaude Opus 4.8
2026-07-12 15:08:46 -07:00
-
6421306849
feat(builder): implement Ctrl+C/V copy-paste shortcuts

shadowdaoandClaude Opus 4.8
2026-07-12 15:01:30 -07:00
-
e40d55b2f2
chore(builder): point dev proxy at current test server

shadowdaoandClaude Opus 4.8
2026-07-12 14:59:42 -07:00
-
1958b8e0b5
chore(builder): remove GuidedStyles classification cruft

shadowdaoandClaude Opus 4.8
2026-07-12 14:59:39 -07:00
-
99cc4c79f2
fix(builder): clickableProps must ignore keydown bubbled from nested controls
shadowdao
2026-07-12 14:58:13 -07:00
-
4b8dd8baee
ux: in-app confirm for asset/sitesmith delete + safe copy

shadowdaoandClaude Opus 4.8
2026-07-12 14:51:00 -07:00
-
46ebd253f3
a11y: keyboard-operable editor chrome + topbar aria-labels

shadowdaoandClaude Opus 4.8
2026-07-12 14:50:50 -07:00
-
a036843728
fix(builder): deterministic ids for NumberCounter + form-relay marker
shadowdao
2026-07-12 14:43:31 -07:00
-
177eda93d0
script nits: slider hover/visibility pause + silent autoplay + iframe amp guard

shadowdaoandClaude Opus 4.8
2026-07-12 14:35:27 -07:00
-
8029126ab7
deterministic + unique ids in 6 components (node-derived scope)

shadowdaoandClaude Opus 4.8
2026-07-12 14:35:12 -07:00
-
c2aac870e7
thread node id through toHtml for deterministic+unique export ids

shadowdaoandClaude Opus 4.8
2026-07-12 14:34:53 -07:00
-
9969adca72
a11y: exported semantics (forms/rating/nav/iframe/icons)

shadowdaoandClaude Opus 4.8
2026-07-12 14:19:01 -07:00
-
9b532e36e8
a11y: exported widget ARIA (slider/tabs/gallery)

shadowdaoandClaude Opus 4.8
2026-07-12 14:18:49 -07:00
-
c83db99ae4
fix(builder): update_props no longer wipes style on style: null

shadowdaoandClaude Opus 4.8
2026-07-12 14:05:59 -07:00
-
605a6ba9f3
refactor(builder): consolidate buildNodeTree onto shared flattener; delete dead serializeTreeForCraft

shadowdaoandClaude Opus 4.8
2026-07-12 14:05:37 -07:00
-
f3c175436a
fix(builder): guard PageContext.treeToState against unknown resolvedNames

shadowdaoandClaude Opus 4.8
2026-07-12 14:04:57 -07:00
-
b2b9278d3c
refactor(builder): extract shared tree-flattener into craft-tree.ts

shadowdaoandClaude Opus 4.8
2026-07-12 14:04:43 -07:00
-
71e675489c
fix(builder): Footer commits in-progress edits on deselect, not just blur (D7)

shadowdaoandClaude Opus 4.8
2026-07-12 13:46:52 -07:00
-
fdd088b4bf
fix(builder): VideoBlock parses more YouTube/Vimeo URL shapes (D4)

shadowdaoandClaude Opus 4.8
2026-07-12 13:46:48 -07:00
-
cdcc3969bc
fix(builder): ColumnLayout.toHtml derives column widths from split (D2b)

shadowdaoandClaude Opus 4.8
2026-07-12 13:46:44 -07:00
-
2887cc9bdf
fix(builder): Testimonials single-layout static-parity export (D2a)

shadowdaoandClaude Opus 4.8
2026-07-12 13:46:38 -07:00
-
a0cdbd1d82
refactor(builder): remove dead FeaturesGrid mediaType field (D1c)

shadowdaoandClaude Opus 4.8
2026-07-12 13:46:33 -07:00
-
f0728a9070
fix(builder): emit ContactForm successMessage as a data attribute (D1b)

shadowdaoandClaude Opus 4.8
2026-07-12 13:46:29 -07:00
-
36ce256760
fix(builder): emit Container cssId/cssClass with live panel controls (D1a)

shadowdaoandClaude Opus 4.8
2026-07-12 13:46:23 -07:00
-
cf56f2a388
refactor(builder): remove dead per-page headCode field (D9)

shadowdaoandClaude Opus 4.8
2026-07-12 13:30:17 -07:00
-
e1d381dc8a
fix(builder): Preview includes site headCode and is \$-safe (D8)

shadowdaoandClaude Opus 4.8
2026-07-12 13:29:02 -07:00
-
d4ee09e54c
fix(builder): make switchPage/deletePage state updaters pure (D6)

shadowdaoandClaude Opus 4.8
2026-07-12 13:28:27 -07:00
-
7973ee9ba8
fix(builder): await TemplateModal's load sequence before closing (D5)

shadowdaoandClaude Opus 4.8
2026-07-12 13:26:46 -07:00
-
2ee66ebae9
fix(builder): dedupe page slugs on add/rename/replaceAll (D3)

shadowdaoandClaude Opus 4.8
2026-07-12 13:25:41 -07:00
-
a7c00119e6
refactor(builder): remove dead HeaderZone/FooterZone components

shadowdaoandClaude Opus 4.8
2026-07-12 13:17:03 -07:00
-
232dc3c980
refactor(builder): remove orphaned ui/ settings controls

shadowdaoandClaude Opus 4.8
2026-07-12 13:16:57 -07:00
-
65a10a1ef9
refactor(builder): remove dead component settings UI

shadowdaoandClaude Opus 4.8
2026-07-12 13:16:53 -07:00