webcake-landing-mcp 1.0.16 → 1.0.18

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.
@@ -22,6 +22,7 @@ export const COMMERCE = [
22
22
  seed: (el) => {
23
23
  seedPosition(el);
24
24
  setBox(el, 400, 162);
25
+ setStyle(el, "colorBtn", "rgba(246, 4, 87, 1)");
25
26
  el.specials.format_title = "sku";
26
27
  el.specials.numerical_order = true;
27
28
  },
@@ -51,7 +51,7 @@ export const CONTENT = [
51
51
  {
52
52
  type: "image-block", category: "content", container: false, defaultName: "Image Block",
53
53
  summary: "Image. The editor renders the image from specials.src. config.overlay tints it.",
54
- useWhen: "Add images where a landing page would have them: hero/product shot, feature icons, about photo, logos. There is NO image API yet — set specials.src to a PLACEHOLDER URL sized to the box: https://placehold.co/<width>x<height> (or https://picsum.photos/<w>/<h> for a photo). NEVER leave src empty (it renders blank). The user replaces placeholders later.",
54
+ useWhen: "Add images where a landing page would have them: hero/product shot, feature icons, about photo, logos. There is NO image API yet — set specials.src to a PLACEHOLDER URL sized to the box: https://placehold.co/<width>x<height>. NEVER leave src empty (it renders blank). The user replaces placeholders later.",
55
55
  keySpecials: {
56
56
  src: "image URL — REQUIRED. Use https://placehold.co/WxH (matching width×height) if you don't have a real image.",
57
57
  resize: "number — image crop behavior on resize; a value other than 300 triggers keep_solution (no-crop) mode.",
@@ -153,6 +153,11 @@ export const MARKETING = [
153
153
  seed: (el) => {
154
154
  seedPosition(el);
155
155
  setBox(el, 300, undefined);
156
+ setStyle(el, "margin", 10);
157
+ setStyle(el, "padding", 10);
158
+ setStyle(el, "borderColor", "rgb(217, 217, 217)");
159
+ setStyle(el, "borderStyle", "solid");
160
+ setStyle(el, "borderWidth", 1);
156
161
  setStyle(el, "textAlign", "center");
157
162
  el.specials = {
158
163
  imageHeight: 100,
@@ -160,6 +165,8 @@ export const MARKETING = [
160
165
  multiOption: false,
161
166
  alignment: "center",
162
167
  hoveredBorder: "rgba(28,0,194,1)",
168
+ selectedBackground: "rgba(124,255,58,1)",
169
+ selectedBorder: "rgba(124,255,58,1)",
163
170
  options: [
164
171
  { id: randomId(), image: "", title: "Option 1", value: "value1", field_name: `sv_${el.id}_1` },
165
172
  { id: randomId(), image: "", title: "Option 2", value: "value2", field_name: `sv_${el.id}_2` },
@@ -52,7 +52,7 @@ STICKY / FIXED HEADER (and any overlay element) — reserve space so nothing hid
52
52
  RULES
53
53
  - Visible content goes in "specials" (text-block.specials.text, image-block.specials.src…), NEVER in "styles".
54
54
  - Colors as rgba(r,g,b,a). fontSize/borderWidth/top/left/width/height are NUMBERS (px).
55
- - IMAGES: a real landing page has images (hero/product shot, feature icons, about photo). There is NO image API yet, so set image-block specials.src to a PLACEHOLDER URL sized to the box: "https://placehold.co/<width>x<height>" (or "https://picsum.photos/<w>/<h>" for a photo). NEVER leave src empty — it renders blank and the page looks broken. gallery.media = array of such URLs; video.specials.img = a poster placeholder. The user replaces these later.
55
+ - IMAGES: a real landing page has images (hero/product shot, feature icons, about photo). There is NO image API yet, so set image-block specials.src to a PLACEHOLDER URL sized to the box: "https://placehold.co/<width>x<height>". NEVER leave src empty — it renders blank and the page looks broken. gallery.media = array of such URLs; video.specials.img = a poster placeholder. The user replaces these later.
56
56
  - CONTRAST: text must contrast with the section background (dark text on light sections, light text on dark sections). Don't put light-gray text on white or faint text on a dark background.
57
57
  - movable:false for section/slide/grid-item/popup; otherwise true. runtime is always {}.
58
58
  - Every form input MUST have a unique specials.field_name.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "webcake-landing-mcp",
3
- "version": "1.0.16",
3
+ "version": "1.0.18",
4
4
  "description": "MCP server exposing Webcake landing-page element schemas + AI usage hints, and persisting LLM-generated page sources to a Webcake backend.",
5
5
  "type": "module",
6
6
  "bin": {