Commit Graph

  • f5d2a23a5f Merge PR #26: surface publish warnings in the editor main jknapp 2026-07-16 12:34:32 +00:00
  • c712a69c4a test(topbar): cover publish() warnings wiring into PublishWarnings banner feat/publish-warnings shadowdao 2026-07-15 22:12:31 -07:00
  • d460e8ac33 topbar: surface publish warnings instead of discarding them shadowdao 2026-07-15 21:52:11 -07:00
  • 2b1569202a Merge PR #25: bounce + image crop/resize fix jknapp 2026-07-14 23:07:58 +00:00
  • 5c44dd545c fix(site-builder): bounce stays visible + springier; image/video crop fills (cover) + resize shrinks footprint fix-anim-image shadowdao 2026-07-14 16:04:50 -07:00
  • 2ac62c4e9e Merge PR #24: fix animation delay unit jknapp 2026-07-14 19:36:51 +00:00
  • 25dfcbb725 fix(site-builder): coerce bare-number animation delay to a valid CSS time (2 -> 2s) fix-animation-delay shadowdao 2026-07-14 12:34:51 -07:00
  • 9bf78fd72d Merge PR #23: fix entrance-animation output jknapp 2026-07-14 19:16:59 +00:00
  • 2dcc2b4d21 fix(site-builder): entrance-animation reveal script survives Preview + well-formed void-tag attrs + no-JS fallback fix-animation-output shadowdao 2026-07-14 12:12:01 -07:00
  • 4e0fc78a30 Merge PR #22: enh pages productivity + cross-page clipboard jknapp 2026-07-14 14:48:25 +00:00
  • 85dfe181aa fix(pages): duplicatePage must save outgoing active canvas before teardown (avoid dropping live edits) enh-pages shadowdao 2026-07-14 07:47:44 -07:00
  • a698f014b0 feat(site-builder): page duplicate/reorder/set-landing + fix cross-page node copy/paste shadowdao 2026-07-14 07:36:00 -07:00
  • 204ea5e078 Merge PR #21: enh output/seo/tokens (frontend) jknapp 2026-07-14 14:21:10 +00:00
  • 0291ddce9a feat(site-builder): per-page SEO meta + favicon + design-token CSS-var wiring + published-output a11y/perf enh-output-seo shadowdao 2026-07-14 07:14:56 -07:00
  • f7da654c11 Merge PR #20: enh nav jknapp 2026-07-14 13:58:11 +00:00
  • 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 shadowdao 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 shadowdao 2026-07-14 06:47:59 -07:00
  • 8bf525c600 feat(builder): surface hidden section/pricing/social props + box-model rollout enh-sections shadowdao 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 shadowdao 2026-07-14 06:44:37 -07:00
  • 5b19ae97af feat(builder): FORMS package -- field editor, functional Subscribe/Search, box-model+anim rollout enh-forms shadowdao 2026-07-14 06:44:21 -07:00
  • 88df4f2888 feat(builder): CodeMirror 6 code editor for HTML/CSS/JS with lazy loading enh-code shadowdao 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 shadowdao 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 shadowdao 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 shadowdao 2026-07-14 06:07:25 -07:00
  • fb40e3ece4 feat(builder): add reusable StylePanel controls (foundation for enh batch) shadowdao 2026-07-14 06:07:20 -07:00
  • 9591fcb8a7 feat(builder): add shared style presets for size/aspect-ratio/shadow/typography rollout shadowdao 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 shadowdao 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 shadowdao 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 shadowdao 2026-07-13 08:41:33 -07:00
  • 2c8425ffb0 feat(builder): mobile-B touch editing -- selection toolbar, tap-to-add, swipe-dismiss shadowdao 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 shadowdao 2026-07-13 07:30:12 -07:00
  • 979331b12d feat(builder): mobile-responsive editor chrome (Phase A) shadowdao 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 shadowdao 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 shadowdao 2026-07-12 20:56:21 -07:00
  • 5d6ae7946b fix(builder): item 15 — default header nav no longer links nonexistent pages shadowdao 2026-07-12 20:56:11 -07:00
  • 1c85ab93eb feat(builder): item 14 — Templates modal close button + category pill hover states shadowdao 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 shadowdao 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 shadowdao 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 shadowdao 2026-07-12 20:15:15 -07:00
  • 05e00c572d Show component-indicator selection badge in the canvas shadowdao 2026-07-12 20:15:08 -07:00
  • 458069afb6 Show empty-canvas hint on a page with no components yet shadowdao 2026-07-12 20:14:58 -07:00
  • b3e5009aec Fix preset-grid orphan row for 5/6-item preset sets shadowdao 2026-07-12 20:14:38 -07:00
  • eeb0660d83 Replace emoji-as-icons in editor chrome with Font Awesome shadowdao 2026-07-12 20:14:29 -07:00
  • 138e1a8273 Bump muted/dim text contrast and block label legibility shadowdao 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 shadowdao 2026-07-12 19:45:58 -07:00
  • 802938ec1a fix(builder): Image block placeholder no longer overridden by explicit src="" shadowdao 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 shadowdao 2026-07-12 18:31:25 -07:00
  • 86455413d0 fix: unique addPage ids + collision-free scopeId hashing shadowdao 2026-07-12 18:31:12 -07:00
  • 0cbc58f8d1 a11y/security: scope Navbar ids + hover styles, Gallery lightbox focus trap shadowdao 2026-07-12 18:30:22 -07:00
  • 92841e3f35 feat(builder): send + restore site head code in save/load shadowdao 2026-07-12 18:22:38 -07:00
  • e892ee0e53 Merge PR #3: site builder security & data-loss hardening + asset picker + audit backlog jknapp 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 shadowdao 2026-07-12 18:03:44 -07:00
  • 7ba91d9829 fix(builder): sanitize non-string style values + allowlist element tags (XSS) shadowdao 2026-07-12 17:44:59 -07:00
  • e12fb89ada Fix M-4: punctuation-only page name yields empty slug ('.html') shadowdao 2026-07-12 17:33:33 -07:00
  • 25507cb57a Fix INT: ContentSlider Slides editor wrote wrong prop key (image vs imageSrc) shadowdao 2026-07-12 17:32:47 -07:00
  • 9d3bbc2c46 Fix I-2: dangling parent on shell/ColumnLayout-rooted AI-replace trees shadowdao 2026-07-12 17:31:01 -07:00
  • 25e674badd Fix I-1: landing-page edits lost when activePageId goes dangling shadowdao 2026-07-12 17:29:32 -07:00
  • e5f30a4a56 Fix C1/C2: XSS via unsanitized style keys and animation attrs shadowdao 2026-07-12 17:27:22 -07:00
  • 36c3b2f503 fix(builder): sanitize CSS-value sinks to prevent style/<style> breakout XSS shadowdao 2026-07-12 15:56:25 -07:00
  • 5acf172511 docs(builder): update CLAUDE.md for hardening branch (remove dead settings/zones, asset picker) shadowdao 2026-07-12 15:39:16 -07:00
  • ebb8fe1027 refactor(builder): type the AI-response/patch boundary shadowdao 2026-07-12 15:30:56 -07:00
  • b88b242b6a refactor(builder): extract shared Modal component for the three editor modals shadowdao 2026-07-12 15:22:05 -07:00
  • 8f51b5144a refactor(builder): extract shared ArrayItemFieldsEditor from SectionTypePanel/GenericPropsEditor shadowdao 2026-07-12 15:15:34 -07:00
  • 4733fe84b5 refactor(builder): extract useNodeProp hook, dedup StylePanel setProp boilerplate shadowdao 2026-07-12 15:13:35 -07:00
  • 3cd4ad0154 test(builder): cover Ctrl+C/V shortcut id-regeneration and guards shadowdao 2026-07-12 15:08:46 -07:00
  • 6421306849 feat(builder): implement Ctrl+C/V copy-paste shortcuts shadowdao 2026-07-12 15:01:30 -07:00
  • e40d55b2f2 chore(builder): point dev proxy at current test server shadowdao 2026-07-12 14:59:42 -07:00
  • 1958b8e0b5 chore(builder): remove GuidedStyles classification cruft shadowdao 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 shadowdao 2026-07-12 14:51:00 -07:00
  • 46ebd253f3 a11y: keyboard-operable editor chrome + topbar aria-labels shadowdao 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 shadowdao 2026-07-12 14:35:27 -07:00
  • 8029126ab7 deterministic + unique ids in 6 components (node-derived scope) shadowdao 2026-07-12 14:35:12 -07:00
  • c2aac870e7 thread node id through toHtml for deterministic+unique export ids shadowdao 2026-07-12 14:34:53 -07:00
  • 9969adca72 a11y: exported semantics (forms/rating/nav/iframe/icons) shadowdao 2026-07-12 14:19:01 -07:00
  • 9b532e36e8 a11y: exported widget ARIA (slider/tabs/gallery) shadowdao 2026-07-12 14:18:49 -07:00
  • c83db99ae4 fix(builder): update_props no longer wipes style on style: null shadowdao 2026-07-12 14:05:59 -07:00
  • 605a6ba9f3 refactor(builder): consolidate buildNodeTree onto shared flattener; delete dead serializeTreeForCraft shadowdao 2026-07-12 14:05:37 -07:00
  • f3c175436a fix(builder): guard PageContext.treeToState against unknown resolvedNames shadowdao 2026-07-12 14:04:57 -07:00
  • b2b9278d3c refactor(builder): extract shared tree-flattener into craft-tree.ts shadowdao 2026-07-12 14:04:43 -07:00