efficient-web-builder 22.1.1 → 23.1.0

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.
Files changed (139) hide show
  1. package/CHANGELOG.md +189 -5
  2. package/dist/components/DuplicateToPageMenu.d.ts +1 -1
  3. package/dist/components/DuplicateToPageMenu.js +1 -1
  4. package/dist/components/HeroArrows.js +1 -1
  5. package/dist/components/HeroSection.d.ts +1 -1
  6. package/dist/components/HeroSection.js +1 -1
  7. package/dist/components/HeroSingle.js +1 -1
  8. package/dist/components/HeroVideoPlay.js +1 -1
  9. package/dist/components/LocationsGroupedField.js +1 -1
  10. package/dist/components/MediaUploadField.js +1 -1
  11. package/dist/components/PagesPanel.js +1 -1
  12. package/dist/components/PartSettingsPanel.js +1 -1
  13. package/dist/components/PreviewChatContext.js +1 -1
  14. package/dist/components/PreviewHeaderContext.js +1 -1
  15. package/dist/components/PreviewHeroPartContext.d.ts +1 -1
  16. package/dist/components/PreviewHeroPartContext.js +1 -1
  17. package/dist/components/PreviewLocationPartContext.d.ts +1 -1
  18. package/dist/components/PreviewLocationPartContext.js +1 -1
  19. package/dist/components/PreviewPartAnchors.js +1 -1
  20. package/dist/components/PreviewTickerContext.d.ts +1 -1
  21. package/dist/components/PreviewTickerContext.js +1 -1
  22. package/dist/components/SectionEditor.js +1 -1
  23. package/dist/components/SectionTextEntries.js +1 -1
  24. package/dist/components/SectionTextPartBridge.js +1 -1
  25. package/dist/components/SiteFields.js +1 -1
  26. package/dist/components/SiteTextStylesField.js +1 -1
  27. package/dist/components/SlotChildRows.d.ts +1 -1
  28. package/dist/components/StandaloneSectionEditor.js +1 -1
  29. package/dist/components/StorefrontEditor.js +1 -1
  30. package/dist/components/WebsiteScreenParts.js +1 -1
  31. package/dist/components/preview-devices.d.ts +1 -1
  32. package/dist/components/preview-devices.js +1 -1
  33. package/dist/components/storefront-editor.css +5 -42
  34. package/dist/components/usePinnedChromeSeed.js +1 -1
  35. package/dist/lib/content/footer.d.ts +1 -1
  36. package/dist/lib/puck/apply-card-corners.d.ts +1 -1
  37. package/dist/lib/puck/block-source-fields.d.ts +2 -0
  38. package/dist/lib/puck/block-source-fields.js +1 -1
  39. package/dist/lib/puck/blocks/block-types.d.ts +4 -1
  40. package/dist/lib/puck/blocks/general/CategoryBar/render.js +1 -1
  41. package/dist/lib/puck/blocks/general/ContactLocations/render.js +1 -1
  42. package/dist/lib/puck/blocks/general/Eyebrow/render.js +1 -1
  43. package/dist/lib/puck/blocks/general/FAQ/render.js +1 -1
  44. package/dist/lib/puck/blocks/general/FeaturedCover/fields.js +1 -1
  45. package/dist/lib/puck/blocks/general/FeaturedCover/render.js +1 -1
  46. package/dist/lib/puck/blocks/general/Flex/fields.js +1 -1
  47. package/dist/lib/puck/blocks/general/Footprint/render.js +1 -1
  48. package/dist/lib/puck/blocks/general/Heading/render.js +1 -1
  49. package/dist/lib/puck/blocks/general/HeroGroup/fields.js +1 -1
  50. package/dist/lib/puck/blocks/general/IntroBleed/render.js +1 -1
  51. package/dist/lib/puck/blocks/general/LogoBlock/fields.js +1 -1
  52. package/dist/lib/puck/blocks/general/LogoBlock/render.js +1 -1
  53. package/dist/lib/puck/blocks/general/LongRead/fields.js +1 -1
  54. package/dist/lib/puck/blocks/general/LongRead/render.js +1 -1
  55. package/dist/lib/puck/blocks/general/Mockup/fields.js +2 -2
  56. package/dist/lib/puck/blocks/general/PostCard/fields.js +1 -1
  57. package/dist/lib/puck/blocks/general/PostCard/render.js +1 -1
  58. package/dist/lib/puck/blocks/general/ProcessSteps/fields.js +1 -1
  59. package/dist/lib/puck/blocks/general/SectionHeader/fields.js +1 -1
  60. package/dist/lib/puck/blocks/general/SectionHeader/render.js +1 -1
  61. package/dist/lib/puck/blocks/general/Split/render.js +1 -1
  62. package/dist/lib/puck/blocks/general/Text/render.js +1 -1
  63. package/dist/lib/puck/blocks/general/TitleWithButtons/render.js +1 -1
  64. package/dist/lib/puck/blocks/general/render-config.d.ts +8 -0
  65. package/dist/lib/puck/blocks/general/render-config.js +1 -0
  66. package/dist/lib/puck/blocks/scaffold.js +1 -1
  67. package/dist/lib/puck/blocks/shared-fields.d.ts +2 -2
  68. package/dist/lib/puck/canvas-typing.d.ts +1 -1
  69. package/dist/lib/puck/canvas-typing.js +1 -1
  70. package/dist/lib/puck/controls.d.ts +5 -3
  71. package/dist/lib/puck/controls.js +1 -1
  72. package/dist/lib/puck/footer-blocks.d.ts +1 -1
  73. package/dist/lib/puck/footer-blocks.js +1 -1
  74. package/dist/lib/puck/general-order.d.ts +3 -0
  75. package/dist/lib/puck/general-order.js +1 -0
  76. package/dist/lib/puck/general-registry.d.ts +1 -1
  77. package/dist/lib/puck/general-registry.js +1 -1
  78. package/dist/lib/puck/header-clearance.js +1 -1
  79. package/dist/lib/puck/heading-outline.d.ts +1 -1
  80. package/dist/lib/puck/heading-outline.js +1 -1
  81. package/dist/lib/puck/migrate-legacy.js +1 -1
  82. package/dist/lib/puck/mockup-variant-fields.d.ts +1 -1
  83. package/dist/lib/puck/mockup-variant-fields.js +1 -1
  84. package/dist/lib/puck/overrides.js +1 -1
  85. package/dist/lib/puck/page-frame.d.ts +34 -0
  86. package/dist/lib/puck/page-frame.js +1 -0
  87. package/dist/lib/puck/page-root.d.ts +1 -26
  88. package/dist/lib/puck/page-root.js +2 -2
  89. package/dist/lib/puck/part-rows.d.ts +1 -1
  90. package/dist/lib/puck/part-rows.js +1 -1
  91. package/dist/lib/puck/part-text.d.ts +2 -2
  92. package/dist/lib/puck/part-text.js +1 -1
  93. package/dist/lib/puck/part-typing.d.ts +1 -1
  94. package/dist/lib/puck/passes/cell-width.d.ts +2 -0
  95. package/dist/lib/puck/passes/cell-width.js +1 -1
  96. package/dist/lib/puck/passes/index.js +1 -1
  97. package/dist/lib/puck/passes/inspector.js +1 -1
  98. package/dist/lib/puck/passes/section-height.js +1 -1
  99. package/dist/lib/puck/passes/section-sticky.js +1 -1
  100. package/dist/lib/puck/passes/section-width.js +1 -1
  101. package/dist/lib/puck/passes/show-when-rows.d.ts +4 -0
  102. package/dist/lib/puck/passes/show-when-rows.js +1 -0
  103. package/dist/lib/puck/passes/types.d.ts +5 -0
  104. package/dist/lib/puck/registry.js +1 -1
  105. package/dist/lib/puck/selection-parent.d.ts +1 -1
  106. package/dist/lib/puck/selection-parent.js +1 -1
  107. package/dist/lib/puck/show-when-attach.d.ts +19 -0
  108. package/dist/lib/puck/show-when-attach.js +1 -0
  109. package/dist/lib/puck/show-when-resolve.d.ts +9 -0
  110. package/dist/lib/puck/show-when-resolve.js +1 -0
  111. package/dist/lib/puck/show-when.d.ts +12 -7
  112. package/dist/lib/puck/show-when.js +1 -1
  113. package/dist/lib/puck/slot-specs.d.ts +1 -1
  114. package/dist/lib/puck/slot-specs.js +1 -1
  115. package/dist/lib/puck/template-field.d.ts +1 -1
  116. package/dist/lib/puck/text-part-shape.d.ts +1 -1
  117. package/dist/lib/puck/text-part-shape.js +1 -1
  118. package/dist/lib/puck/text-parts.d.ts +2 -2
  119. package/dist/lib/puck/text-parts.js +1 -1
  120. package/dist/lib/sections/section-head-placement.d.ts +5 -2
  121. package/dist/lib/sections/section-head-placement.js +1 -1
  122. package/dist/lib/sections/section-head-style.d.ts +1 -0
  123. package/dist/lib/sections/section-head-style.js +1 -1
  124. package/dist/lib/sections/ticker-scroll.d.ts +1 -1
  125. package/dist/lib/source-rules/import-time-work.d.ts +9 -0
  126. package/dist/lib/source-rules/import-time-work.js +5 -0
  127. package/dist/lib/source-rules/one-show-when.d.ts +9 -0
  128. package/dist/lib/source-rules/one-show-when.js +4 -0
  129. package/dist/lib/source-rules/support/registry-source.d.ts +1 -1
  130. package/dist/lib/source-rules/support/registry-source.js +3 -3
  131. package/package.json +8 -5
  132. package/dist/lib/puck/part-id.d.ts +0 -1
  133. package/dist/lib/puck/part-id.js +0 -1
  134. package/dist/lib/puck/preview-events.d.ts +0 -2
  135. package/dist/lib/puck/preview-events.js +0 -1
  136. package/dist/lib/puck/preview-selection-context.d.ts +0 -2
  137. package/dist/lib/puck/preview-selection-context.js +0 -1
  138. package/dist/lib/puck/text-control-kinds.d.ts +0 -2
  139. package/dist/lib/puck/text-control-kinds.js +0 -1
@@ -1,3 +1,3 @@
1
- const o="lib/puck/config.tsx",x=["lib/puck/blocks","lib/puck/passes"],g=["lib/puck/page-root.tsx","lib/puck/page-root-fields.tsx","lib/puck/registry.ts","lib/puck/render-registry.ts"],d=t=>/\.tsx?$/.test(t)&&!t.endsWith(".d.ts");function m(t){return t===o||g.includes(t)?!0:d(t)&&x.some(e=>t.startsWith(`${e}/`))}function k(t){const e=new Map(t.map(n=>[n.path,n])),r=[o,...g].map(n=>e.get(n)).filter(n=>!!n),i=x.flatMap(n=>t.filter(s=>d(s.path)&&s.path.startsWith(`${n}/`)).sort((s,c)=>s.path<c.path?-1:1));return[...r,...i]}function y(t){return k(t).map(e=>e.text).join(`
2
- `)}function h(t,e){const r=t.find(i=>new RegExp(`^lib/puck/blocks/[^/]+/${e}/render\\.tsx$`).test(i.path));return r?r.path.slice(0,-11):null}function E(t){return t.map(e=>/^lib\/puck\/blocks\/[^/]+\/([^/]+)\/render\.tsx$/.exec(e.path)?.[1]).filter(e=>!!e).sort()}function b(t,e){const r=h(t,e);return r?[`${r}/render.tsx`,`${r}/fields.tsx`].filter(i=>t.some(n=>n.path===i)):t.some(i=>i.path===o)?[o]:[]}function u(t,e){const r=e.find(l=>l.path===o);if(!r)return null;const i=r.text,n=t.createSourceFile(o,i,t.ScriptTarget.Latest,!0,t.ScriptKind.TSX),s={keys:[],literals:new Map,registeredAs:new Map};let c=!1;const f=l=>{if(!c){if(t.isPropertyAssignment(l)&&l.name.getText(n)==="components"&&t.isObjectLiteralExpression(l.initializer)){c=!0;for(const p of l.initializer.properties){if(!t.isPropertyAssignment(p))continue;const a=p.name.getText(n);s.keys.push(a),t.isObjectLiteralExpression(p.initializer)?s.literals.set(a,i.slice(p.getFullStart(),p.end)):s.registeredAs.set(a,p.initializer.getText(n))}return}t.forEachChild(l,f)}};if(f(n),!c)throw new Error(`registry-source: no \`components\` object in ${o}`);return s}function S(t,e){return[...u(t,e)?.keys??[]]}function $(t,e){return[...u(t,e)?.literals.keys()??[]]}function T(t,e,r){return u(t,e)?.registeredAs.get(r)}function w(t,e,r){if(h(e,r))return b(e,r).map(s=>e.find(c=>c.path===s).text).join(`
3
- `);const n=u(t,e)?.literals.get(r);if(n===void 0)throw new Error(`registry-source: no block "${r}" among the files handed in — no folder under lib/puck/blocks/ and no literal in ${o}'s \`components\``);return n}export{o as CONFIG_FILE,x as REGISTRY_DIRS,g as REGISTRY_MODULES,b as blockFiles,w as blockSource,$ as blocksWrittenInConfig,m as isRegistryPath,T as registeredAs,S as registeredBlockKeys,k as registryFiles,y as registryText,E as splitBlockTypes};
1
+ const o="lib/puck/config.tsx",x=["lib/puck/blocks","lib/puck/passes"],g=["lib/puck/page-frame.tsx","lib/puck/page-root.tsx","lib/puck/page-root-fields.tsx","lib/puck/registry.ts","lib/puck/render-registry.ts"],d=t=>/\.tsx?$/.test(t)&&!t.endsWith(".d.ts");function m(t){return t===o||g.includes(t)?!0:d(t)&&x.some(e=>t.startsWith(`${e}/`))}function k(t){const e=new Map(t.map(n=>[n.path,n])),r=[o,...g].map(n=>e.get(n)).filter(n=>!!n),i=x.flatMap(n=>t.filter(s=>d(s.path)&&s.path.startsWith(`${n}/`)).sort((s,c)=>s.path<c.path?-1:1));return[...r,...i]}function y(t){return k(t).map(e=>e.text).join(`
2
+ `)}function h(t,e){const r=t.find(i=>new RegExp(`^lib/puck/blocks/[^/]+/${e}/render\\.tsx$`).test(i.path));return r?r.path.slice(0,-11):null}function E(t){return t.map(e=>/^lib\/puck\/blocks\/[^/]+\/([^/]+)\/render\.tsx$/.exec(e.path)?.[1]).filter(e=>!!e).sort()}function b(t,e){const r=h(t,e);return r?[`${r}/render.tsx`,`${r}/fields.tsx`].filter(i=>t.some(n=>n.path===i)):t.some(i=>i.path===o)?[o]:[]}function a(t,e){const r=e.find(l=>l.path===o);if(!r)return null;const i=r.text,n=t.createSourceFile(o,i,t.ScriptTarget.Latest,!0,t.ScriptKind.TSX),s={keys:[],literals:new Map,registeredAs:new Map};let c=!1;const f=l=>{if(!c){if(t.isPropertyAssignment(l)&&l.name.getText(n)==="components"&&t.isObjectLiteralExpression(l.initializer)){c=!0;for(const p of l.initializer.properties){if(!t.isPropertyAssignment(p))continue;const u=p.name.getText(n);s.keys.push(u),t.isObjectLiteralExpression(p.initializer)?s.literals.set(u,i.slice(p.getFullStart(),p.end)):s.registeredAs.set(u,p.initializer.getText(n))}return}t.forEachChild(l,f)}};if(f(n),!c)throw new Error(`registry-source: no \`components\` object in ${o}`);return s}function S(t,e){return[...a(t,e)?.keys??[]]}function $(t,e){return[...a(t,e)?.literals.keys()??[]]}function T(t,e,r){return a(t,e)?.registeredAs.get(r)}function w(t,e,r){if(h(e,r))return b(e,r).map(s=>e.find(c=>c.path===s).text).join(`
3
+ `);const n=a(t,e)?.literals.get(r);if(n===void 0)throw new Error(`registry-source: no block "${r}" among the files handed in — no folder under lib/puck/blocks/ and no literal in ${o}'s \`components\``);return n}export{o as CONFIG_FILE,x as REGISTRY_DIRS,g as REGISTRY_MODULES,b as blockFiles,w as blockSource,$ as blocksWrittenInConfig,m as isRegistryPath,T as registeredAs,S as registeredBlockKeys,k as registryFiles,y as registryText,E as splitBlockTypes};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "efficient-web-builder",
3
- "version": "22.1.1",
3
+ "version": "23.1.0",
4
4
  "description": "The EFFICIENT website builder: the website editor, the general sections and the renderer that draws them, compiled. Hostable by any EFFICIENT product; nothing here imports a host.",
5
5
  "license": "UNLICENSED",
6
6
  "author": "Efficient Pty Ltd",
@@ -20,6 +20,9 @@
20
20
  "default": "./dist/*.js"
21
21
  }
22
22
  },
23
+ "sideEffects": [
24
+ "*.css"
25
+ ],
23
26
  "files": [
24
27
  "dist",
25
28
  "README.md",
@@ -41,8 +44,8 @@
41
44
  },
42
45
  "peerDependencies": {
43
46
  "@tabler/icons-react": "^3.46.0",
44
- "efficient-easel": "^12.0.0",
45
- "efficient-shell": "^7.69.1",
47
+ "efficient-easel": "^13.1.1",
48
+ "efficient-shell": "^7.74.0",
46
49
  "isomorphic-dompurify": "^3.18.0",
47
50
  "next": ">=16",
48
51
  "react": ">=19",
@@ -61,8 +64,8 @@
61
64
  "@types/node": "^20",
62
65
  "@types/react": "^19",
63
66
  "@types/react-dom": "^19",
64
- "efficient-easel": "^12.0.0",
65
- "efficient-shell": "^7.69.1",
67
+ "efficient-easel": "^13.1.1",
68
+ "efficient-shell": "^7.74.0",
66
69
  "esbuild": "^0.28.0",
67
70
  "happy-dom": "^20.14.5",
68
71
  "isomorphic-dompurify": "^3.18.0",
@@ -1 +0,0 @@
1
- export { decodePartId, encodePartId, PART_SEP } from "efficient-easel/screen/lib/puck/part-id";
@@ -1 +0,0 @@
1
- import{decodePartId as o,encodePartId as r,PART_SEP as P}from"efficient-easel/screen/lib/puck/part-id";export{P as PART_SEP,o as decodePartId,r as encodePartId};
@@ -1,2 +0,0 @@
1
- export { HERO_SLIDER_GOTO_EVENT } from "efficient-easel/screen/lib/puck/preview-events";
2
- export type { HeroSliderGotoDetail } from "efficient-easel/screen/lib/puck/preview-events";
@@ -1 +0,0 @@
1
- import{HERO_SLIDER_GOTO_EVENT as _}from"efficient-easel/screen/lib/puck/preview-events";export{_ as HERO_SLIDER_GOTO_EVENT};
@@ -1,2 +0,0 @@
1
- export { createPreviewSelectionContext, useSelectHandler } from "efficient-easel/screen/lib/puck/preview-selection-context";
2
- export type { PreviewIdSelection } from "efficient-easel/screen/lib/puck/preview-selection-context";
@@ -1 +0,0 @@
1
- "use client";import{createPreviewSelectionContext as r,useSelectHandler as c}from"efficient-easel/screen/lib/puck/preview-selection-context";export{r as createPreviewSelectionContext,c as useSelectHandler};
@@ -1,2 +0,0 @@
1
- export { SCALAR_TEXT_CONTROLS, TEXT_CONTROL_KINDS } from "efficient-easel/screen/lib/puck/text-control-kinds";
2
- export type { ScalarTextControlKind, TextControlKind } from "efficient-easel/screen/lib/puck/text-control-kinds";
@@ -1 +0,0 @@
1
- import{SCALAR_TEXT_CONTROLS as _,TEXT_CONTROL_KINDS as C}from"efficient-easel/screen/lib/puck/text-control-kinds";export{_ as SCALAR_TEXT_CONTROLS,C as TEXT_CONTROL_KINDS};