@webiny/website-builder-react 0.0.0-unstable.6f45466a1d → 0.0.0-unstable.7be00a75a9

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 (82) hide show
  1. package/components/ConnectToEditor.js +16 -18
  2. package/components/ConnectToEditor.js.map +1 -1
  3. package/components/DocumentFragment.js +5 -7
  4. package/components/DocumentFragment.js.map +1 -1
  5. package/components/DocumentRenderer.js +37 -46
  6. package/components/DocumentRenderer.js.map +1 -1
  7. package/components/DocumentStoreProvider.js +15 -21
  8. package/components/DocumentStoreProvider.js.map +1 -1
  9. package/components/EditingElementRenderer/EditingElementRenderer.js +31 -35
  10. package/components/EditingElementRenderer/EditingElementRenderer.js.map +1 -1
  11. package/components/EditingElementRenderer/EditingElementRenderer.presenter.js +29 -35
  12. package/components/EditingElementRenderer/EditingElementRenderer.presenter.js.map +1 -1
  13. package/components/EditingElementRenderer/index.js +0 -2
  14. package/components/ElementIndexProvider.js +9 -14
  15. package/components/ElementIndexProvider.js.map +1 -1
  16. package/components/ElementRenderer.js +11 -16
  17. package/components/ElementRenderer.js.map +1 -1
  18. package/components/ElementSlot.js +6 -9
  19. package/components/ElementSlot.js.map +1 -1
  20. package/components/ElementSlotDepthProvider.js +9 -14
  21. package/components/ElementSlotDepthProvider.js.map +1 -1
  22. package/components/FragmentsProvider.js +30 -36
  23. package/components/FragmentsProvider.js.map +1 -1
  24. package/components/LiveElementRenderer.js +53 -68
  25. package/components/LiveElementRenderer.js.map +1 -1
  26. package/components/LiveElementSlot.js +12 -14
  27. package/components/LiveElementSlot.js.map +1 -1
  28. package/components/PreviewElementSlot.js +17 -23
  29. package/components/PreviewElementSlot.js.map +1 -1
  30. package/components/index.js +0 -2
  31. package/components/useBindingsForElement.d.ts +80 -48
  32. package/components/useBindingsForElement.js +13 -11
  33. package/components/useBindingsForElement.js.map +1 -1
  34. package/components/useDocumentState.js +4 -3
  35. package/components/useDocumentState.js.map +1 -1
  36. package/components/useSelectFromState.js +29 -35
  37. package/components/useSelectFromState.js.map +1 -1
  38. package/components/useViewportInfo.js +5 -6
  39. package/components/useViewportInfo.js.map +1 -1
  40. package/createComponent.js +26 -30
  41. package/createComponent.js.map +1 -1
  42. package/createComponent.test.js +108 -119
  43. package/createComponent.test.js.map +1 -1
  44. package/editorComponents/Box.js +3 -6
  45. package/editorComponents/Box.js.map +1 -1
  46. package/editorComponents/Box.manifest.js +15 -14
  47. package/editorComponents/Box.manifest.js.map +1 -1
  48. package/editorComponents/Fragment.js +23 -32
  49. package/editorComponents/Fragment.js.map +1 -1
  50. package/editorComponents/Fragment.manifest.js +14 -11
  51. package/editorComponents/Fragment.manifest.js.map +1 -1
  52. package/editorComponents/Grid.js +33 -61
  53. package/editorComponents/Grid.js.map +1 -1
  54. package/editorComponents/Grid.manifest.js +163 -166
  55. package/editorComponents/Grid.manifest.js.map +1 -1
  56. package/editorComponents/GridColumn.js +3 -6
  57. package/editorComponents/GridColumn.js.map +1 -1
  58. package/editorComponents/GridColumn.manifest.js +20 -17
  59. package/editorComponents/GridColumn.manifest.js.map +1 -1
  60. package/editorComponents/Image.js +99 -119
  61. package/editorComponents/Image.js.map +1 -1
  62. package/editorComponents/Image.manifest.js +33 -32
  63. package/editorComponents/Image.manifest.js.map +1 -1
  64. package/editorComponents/Lexical.js +13 -21
  65. package/editorComponents/Lexical.js.map +1 -1
  66. package/editorComponents/Lexical.manifest.js +17 -14
  67. package/editorComponents/Lexical.manifest.js.map +1 -1
  68. package/editorComponents/Root.js +3 -6
  69. package/editorComponents/Root.js.map +1 -1
  70. package/editorComponents/Root.manifest.js +7 -6
  71. package/editorComponents/Root.manifest.js.map +1 -1
  72. package/editorComponents/index.js +10 -1
  73. package/editorComponents/index.js.map +1 -1
  74. package/index.d.ts +2 -2
  75. package/index.js +1 -3
  76. package/package.json +14 -14
  77. package/types.d.ts +36 -1
  78. package/types.js +0 -3
  79. package/components/EditingElementRenderer/index.js.map +0 -1
  80. package/components/index.js.map +0 -1
  81. package/index.js.map +0 -1
  82. package/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","contentSdk","useDocumentFragments","findFixedFragmentByName","fragments","name","filter","fragment","type","find","FragmentComponent","inputs","isEditing","createElement","FragmentPlaceholder","Fragment","element","fragmentName","style","display","height","backgroundColor","justifyContent","alignItems","fill"],"sources":["Fragment.tsx"],"sourcesContent":["import React from \"react\";\nimport { contentSdk } from \"@webiny/website-builder-sdk\";\nimport { useDocumentFragments } from \"~/components/FragmentsProvider.js\";\nimport type { ComponentProps } from \"~/types.js\";\nimport type { DocumentFragments } from \"~/components/FragmentsProvider.js\";\n\ntype FragmentComponentProps = ComponentProps<{\n name: string;\n}>;\n\nconst findFixedFragmentByName = (fragments: DocumentFragments, name: string) => {\n return fragments\n .filter(fragment => fragment.type === \"fixed\")\n .find(fragment => fragment.name === name);\n};\n\nexport const FragmentComponent = ({ inputs }: FragmentComponentProps) => {\n const isEditing = contentSdk.isEditing();\n const fragments = useDocumentFragments();\n const fragment = findFixedFragmentByName(fragments, inputs.name);\n\n if (!fragment && isEditing) {\n return <FragmentPlaceholder name={inputs.name} />;\n }\n\n if (fragment) {\n return <>{fragment.element}</>;\n }\n\n return null;\n};\n\nconst FragmentPlaceholder = ({ name }: { name: string }) => {\n const fragmentName = name ? (\n <>\n &nbsp;<strong>{name}</strong>&nbsp;\n </>\n ) : (\n <>&nbsp;</>\n );\n return (\n <div\n style={{\n display: \"flex\",\n height: \"100px\",\n backgroundColor: \"#f4f4f4\",\n justifyContent: \"center\",\n alignItems: \"center\",\n fill: \"#ffffff\"\n }}\n >\n This is a placeholder for{fragmentName}content coming from your frontend app.\n </div>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,6BAA6B;AACxD,SAASC,oBAAoB;AAQ7B,MAAMC,uBAAuB,GAAGA,CAACC,SAA4B,EAAEC,IAAY,KAAK;EAC5E,OAAOD,SAAS,CACXE,MAAM,CAACC,QAAQ,IAAIA,QAAQ,CAACC,IAAI,KAAK,OAAO,CAAC,CAC7CC,IAAI,CAACF,QAAQ,IAAIA,QAAQ,CAACF,IAAI,KAAKA,IAAI,CAAC;AACjD,CAAC;AAED,OAAO,MAAMK,iBAAiB,GAAGA,CAAC;EAAEC;AAA+B,CAAC,KAAK;EACrE,MAAMC,SAAS,GAAGX,UAAU,CAACW,SAAS,CAAC,CAAC;EACxC,MAAMR,SAAS,GAAGF,oBAAoB,CAAC,CAAC;EACxC,MAAMK,QAAQ,GAAGJ,uBAAuB,CAACC,SAAS,EAAEO,MAAM,CAACN,IAAI,CAAC;EAEhE,IAAI,CAACE,QAAQ,IAAIK,SAAS,EAAE;IACxB,oBAAOZ,KAAA,CAAAa,aAAA,CAACC,mBAAmB;MAACT,IAAI,EAAEM,MAAM,CAACN;IAAK,CAAE,CAAC;EACrD;EAEA,IAAIE,QAAQ,EAAE;IACV,oBAAOP,KAAA,CAAAa,aAAA,CAAAb,KAAA,CAAAe,QAAA,QAAGR,QAAQ,CAACS,OAAU,CAAC;EAClC;EAEA,OAAO,IAAI;AACf,CAAC;AAED,MAAMF,mBAAmB,GAAGA,CAAC;EAAET;AAAuB,CAAC,KAAK;EACxD,MAAMY,YAAY,GAAGZ,IAAI,gBACrBL,KAAA,CAAAa,aAAA,CAAAb,KAAA,CAAAe,QAAA,QAAE,MACQ,eAAAf,KAAA,CAAAa,aAAA,iBAASR,IAAa,CAAC,QAC/B,CAAC,gBAEHL,KAAA,CAAAa,aAAA,CAAAb,KAAA,CAAAe,QAAA,QAAE,MAAQ,CACb;EACD,oBACIf,KAAA,CAAAa,aAAA;IACIK,KAAK,EAAE;MACHC,OAAO,EAAE,MAAM;MACfC,MAAM,EAAE,OAAO;MACfC,eAAe,EAAE,SAAS;MAC1BC,cAAc,EAAE,QAAQ;MACxBC,UAAU,EAAE,QAAQ;MACpBC,IAAI,EAAE;IACV;EAAE,GACL,2BAC4B,EAACP,YAAY,EAAC,wCACtC,CAAC;AAEd,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"editorComponents/Fragment.js","sources":["../../src/editorComponents/Fragment.tsx"],"sourcesContent":["import React from \"react\";\nimport { contentSdk } from \"@webiny/website-builder-sdk\";\nimport { useDocumentFragments } from \"~/components/FragmentsProvider.js\";\nimport type { ComponentProps } from \"~/types.js\";\nimport type { DocumentFragments } from \"~/components/FragmentsProvider.js\";\n\ntype FragmentComponentProps = ComponentProps<{\n name: string;\n}>;\n\nconst findFixedFragmentByName = (fragments: DocumentFragments, name: string) => {\n return fragments\n .filter(fragment => fragment.type === \"fixed\")\n .find(fragment => fragment.name === name);\n};\n\nexport const FragmentComponent = ({ inputs }: FragmentComponentProps) => {\n const isEditing = contentSdk.isEditing();\n const fragments = useDocumentFragments();\n const fragment = findFixedFragmentByName(fragments, inputs.name);\n\n if (!fragment && isEditing) {\n return <FragmentPlaceholder name={inputs.name} />;\n }\n\n if (fragment) {\n return <>{fragment.element}</>;\n }\n\n return null;\n};\n\nconst FragmentPlaceholder = ({ name }: { name: string }) => {\n const fragmentName = name ? (\n <>\n &nbsp;<strong>{name}</strong>&nbsp;\n </>\n ) : (\n <>&nbsp;</>\n );\n return (\n <div\n style={{\n display: \"flex\",\n height: \"100px\",\n backgroundColor: \"#f4f4f4\",\n justifyContent: \"center\",\n alignItems: \"center\",\n fill: \"#ffffff\"\n }}\n >\n This is a placeholder for{fragmentName}content coming from your frontend app.\n </div>\n );\n};\n"],"names":["findFixedFragmentByName","fragments","name","fragment","FragmentComponent","inputs","isEditing","contentSdk","useDocumentFragments","FragmentPlaceholder","fragmentName"],"mappings":";;;AAUA,MAAMA,0BAA0B,CAACC,WAA8BC,OACpDD,UACF,MAAM,CAACE,CAAAA,WAAYA,AAAkB,YAAlBA,SAAS,IAAI,EAChC,IAAI,CAACA,CAAAA,WAAYA,SAAS,IAAI,KAAKD;AAGrC,MAAME,oBAAoB,CAAC,EAAEC,MAAM,EAA0B;IAChE,MAAMC,YAAYC,WAAW,SAAS;IACtC,MAAMN,YAAYO;IAClB,MAAML,WAAWH,wBAAwBC,WAAWI,OAAO,IAAI;IAE/D,IAAI,CAACF,YAAYG,WACb,OAAO,WAAP,GAAO,oBAACG,qBAAmBA;QAAC,MAAMJ,OAAO,IAAI;;IAGjD,IAAIF,UACA,OAAO,WAAP,GAAO,0CAAGA,SAAS,OAAO;IAG9B,OAAO;AACX;AAEA,MAAMM,sBAAsB,CAAC,EAAEP,IAAI,EAAoB;IACnD,MAAMQ,eAAeR,OAAO,WAAPA,GACjB,0CAAE,sBACQ,oBAAC,gBAAQA,OAAc,wBAGjC,0CAAE;IAEN,OAAO,WAAP,GACI,oBAAC;QACG,OAAO;YACH,SAAS;YACT,QAAQ;YACR,iBAAiB;YACjB,gBAAgB;YAChB,YAAY;YACZ,MAAM;QACV;OACH,6BAC6BQ,cAAa;AAGnD"}
@@ -1,19 +1,22 @@
1
1
  "use client";
2
-
3
2
  import { createTextInput } from "@webiny/website-builder-sdk";
4
3
  import { createComponent } from "../createComponent.js";
5
4
  import { FragmentComponent } from "./Fragment.js";
6
- export const Fragment = createComponent(FragmentComponent, {
7
- name: "Webiny/Fragment",
8
- label: "Fragment",
9
- group: "basic",
10
- image: `<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e8eaed"><path d="M120-120v-720h720v720H120Zm80-80h560v-560H200v560Zm0 0v-560 560Z"/></svg>`,
11
- inputs: [createTextInput({
12
- name: "name",
5
+ const Fragment = createComponent(FragmentComponent, {
6
+ name: "Webiny/Fragment",
13
7
  label: "Fragment",
14
- description: "Select fragment to display.",
15
- renderer: "Webiny/FragmentSelector"
16
- })]
8
+ useInAiContentGeneration: false,
9
+ group: "basic",
10
+ image: '<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e8eaed"><path d="M120-120v-720h720v720H120Zm80-80h560v-560H200v560Zm0 0v-560 560Z"/></svg>',
11
+ inputs: [
12
+ createTextInput({
13
+ name: "name",
14
+ label: "Fragment",
15
+ description: "Select fragment to display.",
16
+ renderer: "Webiny/FragmentSelector"
17
+ })
18
+ ]
17
19
  });
20
+ export { Fragment };
18
21
 
19
22
  //# sourceMappingURL=Fragment.manifest.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createTextInput","createComponent","FragmentComponent","Fragment","name","label","group","image","inputs","description","renderer"],"sources":["Fragment.manifest.ts"],"sourcesContent":["\"use client\";\nimport { createTextInput } from \"@webiny/website-builder-sdk\";\nimport { createComponent } from \"~/createComponent.js\";\nimport { FragmentComponent } from \"./Fragment.js\";\n\nexport const Fragment = createComponent(FragmentComponent, {\n name: \"Webiny/Fragment\",\n label: \"Fragment\",\n group: \"basic\",\n image: `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\" width=\"24px\" fill=\"#e8eaed\"><path d=\"M120-120v-720h720v720H120Zm80-80h560v-560H200v560Zm0 0v-560 560Z\"/></svg>`,\n inputs: [\n createTextInput({\n name: \"name\",\n label: \"Fragment\",\n description: \"Select fragment to display.\",\n renderer: \"Webiny/FragmentSelector\"\n })\n ]\n});\n"],"mappings":"AAAA,YAAY;;AACZ,SAASA,eAAe,QAAQ,6BAA6B;AAC7D,SAASC,eAAe;AACxB,SAASC,iBAAiB;AAE1B,OAAO,MAAMC,QAAQ,GAAGF,eAAe,CAACC,iBAAiB,EAAE;EACvDE,IAAI,EAAE,iBAAiB;EACvBC,KAAK,EAAE,UAAU;EACjBC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,+LAA+L;EACtMC,MAAM,EAAE,CACJR,eAAe,CAAC;IACZI,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE,UAAU;IACjBI,WAAW,EAAE,6BAA6B;IAC1CC,QAAQ,EAAE;EACd,CAAC,CAAC;AAEV,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"editorComponents/Fragment.manifest.js","sources":["../../src/editorComponents/Fragment.manifest.ts"],"sourcesContent":["\"use client\";\nimport { createTextInput } from \"@webiny/website-builder-sdk\";\nimport { createComponent } from \"~/createComponent.js\";\nimport { FragmentComponent } from \"./Fragment.js\";\n\nexport const Fragment = createComponent(FragmentComponent, {\n name: \"Webiny/Fragment\",\n label: \"Fragment\",\n useInAiContentGeneration: false,\n group: \"basic\",\n image: `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\" width=\"24px\" fill=\"#e8eaed\"><path d=\"M120-120v-720h720v720H120Zm80-80h560v-560H200v560Zm0 0v-560 560Z\"/></svg>`,\n inputs: [\n createTextInput({\n name: \"name\",\n label: \"Fragment\",\n description: \"Select fragment to display.\",\n renderer: \"Webiny/FragmentSelector\"\n })\n ]\n});\n"],"names":["Fragment","createComponent","FragmentComponent","createTextInput"],"mappings":";;;;AAKO,MAAMA,WAAWC,gBAAgBC,mBAAmB;IACvD,MAAM;IACN,OAAO;IACP,0BAA0B;IAC1B,OAAO;IACP,OAAO;IACP,QAAQ;QACJC,gBAAgB;YACZ,MAAM;YACN,OAAO;YACP,aAAa;YACb,UAAU;QACd;KACH;AACL"}
@@ -1,65 +1,37 @@
1
- import React from "react";
2
- export const GridColumnComponent = ({
3
- inputs
4
- }) => {
5
- return /*#__PURE__*/React.createElement(React.Fragment, null, inputs.children);
1
+ import react from "react";
2
+ const GridColumnComponent = ({ inputs })=>/*#__PURE__*/ react.createElement(react.Fragment, null, inputs.children);
3
+ const GridComponent = ({ inputs, styles, breakpoint })=>{
4
+ const { gridLayout = "12", columns, columnGap, stackAtBreakpoint, reverseWhenStacked } = inputs;
5
+ const rowConfig = gridLayout.split("-").map((size)=>parseInt(size));
6
+ const rows = [];
7
+ for(let i = 0; i < columns.length; i += rowConfig.length)rows.push(columns.slice(i, i + rowConfig.length));
8
+ const cellWidthReduction = columnGap ? columnGap - columnGap / rowConfig.length : 0;
9
+ const stackColumns = breakpoint === stackAtBreakpoint;
10
+ if (stackColumns) styles.flexDirection = reverseWhenStacked ? "column-reverse" : "column";
11
+ return /*#__PURE__*/ react.createElement("div", {
12
+ style: styles
13
+ }, rows.map((columns)=>columns.map((column, i)=>/*#__PURE__*/ react.createElement(Span, {
14
+ key: i,
15
+ stackColumns: stackColumns,
16
+ size: rowConfig[i],
17
+ reductionInPx: cellWidthReduction
18
+ }, /*#__PURE__*/ react.createElement(GridColumnComponent, {
19
+ key: i,
20
+ inputs: {
21
+ children: column.children
22
+ }
23
+ })))));
6
24
  };
7
- export const GridComponent = ({
8
- inputs,
9
- styles,
10
- breakpoint
11
- }) => {
12
- const {
13
- gridLayout = "12",
14
- columns,
15
- columnGap,
16
- stackAtBreakpoint,
17
- reverseWhenStacked
18
- } = inputs;
19
- const rowConfig = gridLayout.split("-").map(size => parseInt(size));
20
- const rows = [];
21
-
22
- // Chunk columns into rows
23
- for (let i = 0; i < columns.length; i += rowConfig.length) {
24
- rows.push(columns.slice(i, i + rowConfig.length));
25
- }
26
-
27
- // Number of pixels we need to subtract from each cell to ensure they fit in the grid with column gap
28
- const cellWidthReduction = columnGap ? columnGap - columnGap / rowConfig.length : 0;
29
- const stackColumns = breakpoint === stackAtBreakpoint;
30
- if (stackColumns) {
31
- styles.flexDirection = reverseWhenStacked ? "column-reverse" : "column";
32
- }
33
- return /*#__PURE__*/React.createElement("div", {
34
- style: styles
35
- }, rows.map(columns => {
36
- return columns.map((column, i) => /*#__PURE__*/React.createElement(Span, {
37
- key: i,
38
- stackColumns: stackColumns,
39
- size: rowConfig[i],
40
- reductionInPx: cellWidthReduction
41
- }, /*#__PURE__*/React.createElement(GridColumnComponent, {
42
- key: i,
43
- inputs: {
44
- children: column.children
45
- }
46
- })));
47
- }));
48
- };
49
- const Span = ({
50
- size,
51
- children,
52
- reductionInPx,
53
- stackColumns
54
- }) => {
55
- const width = stackColumns ? "100%" : `calc(${size / 12 * 100}% - ${reductionInPx}px)`;
56
- return /*#__PURE__*/React.createElement("div", {
57
- style: {
58
- flex: `0 0 ${width}`,
59
- maxWidth: width,
60
- boxSizing: "border-box"
61
- }
62
- }, children);
25
+ const Span = ({ size, children, reductionInPx, stackColumns })=>{
26
+ const width = stackColumns ? "100%" : `calc(${size / 12 * 100}% - ${reductionInPx}px)`;
27
+ return /*#__PURE__*/ react.createElement("div", {
28
+ style: {
29
+ flex: `0 0 ${width}`,
30
+ maxWidth: width,
31
+ boxSizing: "border-box"
32
+ }
33
+ }, children);
63
34
  };
35
+ export { GridColumnComponent, GridComponent };
64
36
 
65
37
  //# sourceMappingURL=Grid.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","GridColumnComponent","inputs","createElement","Fragment","children","GridComponent","styles","breakpoint","gridLayout","columns","columnGap","stackAtBreakpoint","reverseWhenStacked","rowConfig","split","map","size","parseInt","rows","i","length","push","slice","cellWidthReduction","stackColumns","flexDirection","style","column","Span","key","reductionInPx","width","flex","maxWidth","boxSizing"],"sources":["Grid.tsx"],"sourcesContent":["import React from \"react\";\nimport type { ComponentProps, ComponentPropsWithChildren } from \"~/types.js\";\n\nexport const GridColumnComponent = ({\n inputs\n}: {\n inputs: ComponentPropsWithChildren[\"inputs\"];\n}) => {\n return <>{inputs.children}</>;\n};\n\nexport interface Column {\n children: React.ReactNode;\n}\n\ntype GridProps = ComponentProps<{\n gridLayout: string;\n rowCount: number;\n rowGap: number;\n columnGap: number;\n columns: Column[];\n stackAtBreakpoint?: string;\n reverseWhenStacked?: boolean;\n}>;\n\nexport const GridComponent = ({ inputs, styles, breakpoint }: GridProps) => {\n const { gridLayout = \"12\", columns, columnGap, stackAtBreakpoint, reverseWhenStacked } = inputs;\n const rowConfig = gridLayout.split(\"-\").map(size => parseInt(size));\n const rows: Column[][] = [];\n\n // Chunk columns into rows\n for (let i = 0; i < columns.length; i += rowConfig.length) {\n rows.push(columns.slice(i, i + rowConfig.length));\n }\n\n // Number of pixels we need to subtract from each cell to ensure they fit in the grid with column gap\n const cellWidthReduction = columnGap ? columnGap - columnGap / rowConfig.length : 0;\n\n const stackColumns = breakpoint === stackAtBreakpoint;\n\n if (stackColumns) {\n styles.flexDirection = reverseWhenStacked ? \"column-reverse\" : \"column\";\n }\n\n return (\n <div style={styles}>\n {rows.map(columns => {\n return columns.map((column, i) => (\n <Span\n key={i}\n stackColumns={stackColumns}\n size={rowConfig[i]}\n reductionInPx={cellWidthReduction}\n >\n <GridColumnComponent key={i} inputs={{ children: column.children }} />\n </Span>\n ));\n })}\n </div>\n );\n};\n\ninterface SpanProps {\n size: number;\n reductionInPx: number;\n stackColumns: boolean;\n children: React.ReactNode;\n}\n\nconst Span = ({ size, children, reductionInPx, stackColumns }: SpanProps) => {\n const width = stackColumns ? \"100%\" : `calc(${(size / 12) * 100}% - ${reductionInPx}px)`;\n\n return (\n <div\n style={{\n flex: `0 0 ${width}`,\n maxWidth: width,\n boxSizing: \"border-box\"\n }}\n >\n {children}\n </div>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAGzB,OAAO,MAAMC,mBAAmB,GAAGA,CAAC;EAChCC;AAGJ,CAAC,KAAK;EACF,oBAAOF,KAAA,CAAAG,aAAA,CAAAH,KAAA,CAAAI,QAAA,QAAGF,MAAM,CAACG,QAAW,CAAC;AACjC,CAAC;AAgBD,OAAO,MAAMC,aAAa,GAAGA,CAAC;EAAEJ,MAAM;EAAEK,MAAM;EAAEC;AAAsB,CAAC,KAAK;EACxE,MAAM;IAAEC,UAAU,GAAG,IAAI;IAAEC,OAAO;IAAEC,SAAS;IAAEC,iBAAiB;IAAEC;EAAmB,CAAC,GAAGX,MAAM;EAC/F,MAAMY,SAAS,GAAGL,UAAU,CAACM,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACC,IAAI,IAAIC,QAAQ,CAACD,IAAI,CAAC,CAAC;EACnE,MAAME,IAAgB,GAAG,EAAE;;EAE3B;EACA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGV,OAAO,CAACW,MAAM,EAAED,CAAC,IAAIN,SAAS,CAACO,MAAM,EAAE;IACvDF,IAAI,CAACG,IAAI,CAACZ,OAAO,CAACa,KAAK,CAACH,CAAC,EAAEA,CAAC,GAAGN,SAAS,CAACO,MAAM,CAAC,CAAC;EACrD;;EAEA;EACA,MAAMG,kBAAkB,GAAGb,SAAS,GAAGA,SAAS,GAAGA,SAAS,GAAGG,SAAS,CAACO,MAAM,GAAG,CAAC;EAEnF,MAAMI,YAAY,GAAGjB,UAAU,KAAKI,iBAAiB;EAErD,IAAIa,YAAY,EAAE;IACdlB,MAAM,CAACmB,aAAa,GAAGb,kBAAkB,GAAG,gBAAgB,GAAG,QAAQ;EAC3E;EAEA,oBACIb,KAAA,CAAAG,aAAA;IAAKwB,KAAK,EAAEpB;EAAO,GACdY,IAAI,CAACH,GAAG,CAACN,OAAO,IAAI;IACjB,OAAOA,OAAO,CAACM,GAAG,CAAC,CAACY,MAAM,EAAER,CAAC,kBACzBpB,KAAA,CAAAG,aAAA,CAAC0B,IAAI;MACDC,GAAG,EAAEV,CAAE;MACPK,YAAY,EAAEA,YAAa;MAC3BR,IAAI,EAAEH,SAAS,CAACM,CAAC,CAAE;MACnBW,aAAa,EAAEP;IAAmB,gBAElCxB,KAAA,CAAAG,aAAA,CAACF,mBAAmB;MAAC6B,GAAG,EAAEV,CAAE;MAAClB,MAAM,EAAE;QAAEG,QAAQ,EAAEuB,MAAM,CAACvB;MAAS;IAAE,CAAE,CACnE,CACT,CAAC;EACN,CAAC,CACA,CAAC;AAEd,CAAC;AASD,MAAMwB,IAAI,GAAGA,CAAC;EAAEZ,IAAI;EAAEZ,QAAQ;EAAE0B,aAAa;EAAEN;AAAwB,CAAC,KAAK;EACzE,MAAMO,KAAK,GAAGP,YAAY,GAAG,MAAM,GAAG,QAASR,IAAI,GAAG,EAAE,GAAI,GAAG,OAAOc,aAAa,KAAK;EAExF,oBACI/B,KAAA,CAAAG,aAAA;IACIwB,KAAK,EAAE;MACHM,IAAI,EAAE,OAAOD,KAAK,EAAE;MACpBE,QAAQ,EAAEF,KAAK;MACfG,SAAS,EAAE;IACf;EAAE,GAED9B,QACA,CAAC;AAEd,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"editorComponents/Grid.js","sources":["../../src/editorComponents/Grid.tsx"],"sourcesContent":["import React from \"react\";\nimport type { ComponentProps, ComponentPropsWithChildren } from \"~/types.js\";\n\nexport const GridColumnComponent = ({\n inputs\n}: {\n inputs: ComponentPropsWithChildren[\"inputs\"];\n}) => {\n return <>{inputs.children}</>;\n};\n\nexport interface Column {\n children: React.ReactNode;\n}\n\ntype GridProps = ComponentProps<{\n gridLayout: string;\n rowCount: number;\n rowGap: number;\n columnGap: number;\n columns: Column[];\n stackAtBreakpoint?: string;\n reverseWhenStacked?: boolean;\n}>;\n\nexport const GridComponent = ({ inputs, styles, breakpoint }: GridProps) => {\n const { gridLayout = \"12\", columns, columnGap, stackAtBreakpoint, reverseWhenStacked } = inputs;\n const rowConfig = gridLayout.split(\"-\").map(size => parseInt(size));\n const rows: Column[][] = [];\n\n // Chunk columns into rows\n for (let i = 0; i < columns.length; i += rowConfig.length) {\n rows.push(columns.slice(i, i + rowConfig.length));\n }\n\n // Number of pixels we need to subtract from each cell to ensure they fit in the grid with column gap\n const cellWidthReduction = columnGap ? columnGap - columnGap / rowConfig.length : 0;\n\n const stackColumns = breakpoint === stackAtBreakpoint;\n\n if (stackColumns) {\n styles.flexDirection = reverseWhenStacked ? \"column-reverse\" : \"column\";\n }\n\n return (\n <div style={styles}>\n {rows.map(columns => {\n return columns.map((column, i) => (\n <Span\n key={i}\n stackColumns={stackColumns}\n size={rowConfig[i]}\n reductionInPx={cellWidthReduction}\n >\n <GridColumnComponent key={i} inputs={{ children: column.children }} />\n </Span>\n ));\n })}\n </div>\n );\n};\n\ninterface SpanProps {\n size: number;\n reductionInPx: number;\n stackColumns: boolean;\n children: React.ReactNode;\n}\n\nconst Span = ({ size, children, reductionInPx, stackColumns }: SpanProps) => {\n const width = stackColumns ? \"100%\" : `calc(${(size / 12) * 100}% - ${reductionInPx}px)`;\n\n return (\n <div\n style={{\n flex: `0 0 ${width}`,\n maxWidth: width,\n boxSizing: \"border-box\"\n }}\n >\n {children}\n </div>\n );\n};\n"],"names":["GridColumnComponent","inputs","GridComponent","styles","breakpoint","gridLayout","columns","columnGap","stackAtBreakpoint","reverseWhenStacked","rowConfig","size","parseInt","rows","i","cellWidthReduction","stackColumns","column","Span","children","reductionInPx","width"],"mappings":";AAGO,MAAMA,sBAAsB,CAAC,EAChCC,MAAM,EAGT,GACU,WAAP,GAAO,0CAAGA,OAAO,QAAQ;AAiBtB,MAAMC,gBAAgB,CAAC,EAAED,MAAM,EAAEE,MAAM,EAAEC,UAAU,EAAa;IACnE,MAAM,EAAEC,aAAa,IAAI,EAAEC,OAAO,EAAEC,SAAS,EAAEC,iBAAiB,EAAEC,kBAAkB,EAAE,GAAGR;IACzF,MAAMS,YAAYL,WAAW,KAAK,CAAC,KAAK,GAAG,CAACM,CAAAA,OAAQC,SAASD;IAC7D,MAAME,OAAmB,EAAE;IAG3B,IAAK,IAAIC,IAAI,GAAGA,IAAIR,QAAQ,MAAM,EAAEQ,KAAKJ,UAAU,MAAM,CACrDG,KAAK,IAAI,CAACP,QAAQ,KAAK,CAACQ,GAAGA,IAAIJ,UAAU,MAAM;IAInD,MAAMK,qBAAqBR,YAAYA,YAAYA,YAAYG,UAAU,MAAM,GAAG;IAElF,MAAMM,eAAeZ,eAAeI;IAEpC,IAAIQ,cACAb,OAAO,aAAa,GAAGM,qBAAqB,mBAAmB;IAGnE,OAAO,WAAP,GACI,oBAAC;QAAI,OAAON;OACPU,KAAK,GAAG,CAACP,CAAAA,UACCA,QAAQ,GAAG,CAAC,CAACW,QAAQH,IAAAA,WAAAA,GACxB,oBAACI,MAAIA;gBACD,KAAKJ;gBACL,cAAcE;gBACd,MAAMN,SAAS,CAACI,EAAE;gBAClB,eAAeC;6BAEf,oBAACf,qBAAmBA;gBAAC,KAAKc;gBAAG,QAAQ;oBAAE,UAAUG,OAAO,QAAQ;gBAAC;;AAMzF;AASA,MAAMC,OAAO,CAAC,EAAEP,IAAI,EAAEQ,QAAQ,EAAEC,aAAa,EAAEJ,YAAY,EAAa;IACpE,MAAMK,QAAQL,eAAe,SAAS,CAAC,KAAK,EAAGL,OAAO,KAAM,IAAI,IAAI,EAAES,cAAc,GAAG,CAAC;IAExF,OAAO,WAAP,GACI,oBAAC;QACG,OAAO;YACH,MAAM,CAAC,IAAI,EAAEC,OAAO;YACpB,UAAUA;YACV,WAAW;QACf;OAECF;AAGb"}
@@ -1,174 +1,171 @@
1
1
  "use client";
2
-
3
- import { createBooleanInput, createElement, createNumberInput, createObjectInput, createSelectInput, createSlotInput, createTextInput } from "@webiny/website-builder-sdk";
2
+ import { createBooleanInput, createElement as website_builder_sdk_createElement, createNumberInput, createObjectInput, createSelectInput, createSlotInput, createTextInput } from "@webiny/website-builder-sdk";
4
3
  import { createComponent } from "../createComponent.js";
5
4
  import { GridComponent } from "./Grid.js";
6
- export const Grid = createComponent(GridComponent, {
7
- name: "Webiny/Grid",
8
- label: "Grid",
9
- image: `<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e8eaed"><path d="M120-520v-320h320v320H120Zm0 400v-320h320v320H120Zm400-400v-320h320v320H520Zm0 400v-320h320v320H520ZM200-600h160v-160H200v160Zm400 0h160v-160H600v160Zm0 400h160v-160H600v160Zm-400 0h160v-160H200v160Zm400-400Zm0 240Zm-240 0Zm0-240Z"/></svg>`,
10
- group: "basic",
11
- autoApplyStyles: false,
12
- inputs: [createTextInput({
13
- name: "gridLayout",
14
- label: "Grid Layout",
15
- renderer: "Webiny/GridLayout",
16
- onChange: ({
17
- inputs,
18
- createElement
19
- }) => {
20
- const rowColumnCount = inputs.gridLayout.split("-").length;
21
- const columns = inputs.columns.length;
22
- const remainder = columns % rowColumnCount;
23
- if (remainder !== 0) {
24
- const fullColumnCount = rowColumnCount * inputs.rowCount;
25
- const toCreate = columns > fullColumnCount ? remainder : rowColumnCount - remainder;
26
- Array.from({
27
- length: toCreate
28
- }).forEach(() => {
29
- inputs.columns.push({
30
- children: createElement({
31
- component: "Webiny/GridColumn"
32
- })
33
- });
34
- });
35
- }
36
- inputs.rowCount = inputs.columns.length / rowColumnCount;
37
- }
38
- }), createNumberInput({
39
- name: "rowCount",
40
- label: "Row Count",
41
- defaultValue: 1,
42
- minValue: 1,
43
- onChange: ({
44
- inputs,
45
- createElement
46
- }) => {
47
- const gridLayout = inputs.gridLayout;
48
- const columnCount = gridLayout.split("-").length;
49
- const rowCount = Math.max(1, inputs.rowCount);
50
- const columns = inputs.columns;
51
- const rows = [];
52
-
53
- // Chunk columns into rows
54
- for (let i = 0; i < columns.length; i += columnCount) {
55
- rows.push(columns.slice(i, i + columnCount));
56
- }
57
- if (rows.length > rowCount) {
58
- inputs.columns = columns.slice(0, columnCount * rowCount);
59
- return;
60
- }
61
- const createRows = Math.max(0, rowCount - rows.length);
62
- if (createRows <= 0) {
63
- return;
64
- }
65
- const newRows = Array.from({
66
- length: createRows * columnCount
67
- }).map(() => {
68
- return {
69
- children: createElement({
70
- component: "Webiny/GridColumn"
71
- })
72
- };
73
- });
74
- inputs.columns.push(...newRows);
75
- }
76
- }), createNumberInput({
77
- name: "rowGap",
78
- label: "Row Gap",
79
- defaultValue: 0,
80
- responsive: true,
81
- onChange: ({
82
- inputs,
83
- styles
84
- }) => {
85
- const rowGap = parseInt(inputs.rowGap);
86
- if (isNaN(rowGap)) {
87
- delete styles.rowGap;
88
- } else {
89
- styles.rowGap = `${inputs.rowGap}px`;
90
- }
91
- }
92
- }), createNumberInput({
93
- name: "columnGap",
94
- label: "Column Gap",
95
- defaultValue: 0,
96
- responsive: true,
97
- onChange: ({
98
- inputs,
99
- styles
100
- }) => {
101
- const columnGap = parseInt(inputs.columnGap);
102
- if (isNaN(columnGap)) {
103
- delete styles.columnGap;
104
- } else {
105
- styles.columnGap = `${inputs.columnGap}px`;
106
- }
107
- }
108
- }), createSelectInput({
109
- name: "stackAtBreakpoint",
110
- label: "Stack at breakpoint",
111
- options: [{
112
- label: "Tablet",
113
- value: "tablet"
114
- }, {
115
- label: "Mobile",
116
- value: "mobile"
117
- }]
118
- }), createBooleanInput({
119
- name: "reverseWhenStacked",
120
- label: "Reverse columns when stacked"
121
- }), createObjectInput({
122
- name: "columns",
123
- list: true,
124
- hideFromUi: true,
125
- fields: [createSlotInput({
126
- name: "children",
127
- list: false,
128
- components: ["Webiny/GridColumn"]
129
- })]
130
- })],
131
- defaults: {
132
- inputs: {
133
- gridLayout: "6-6",
134
- columns: [{
135
- children: createElement({
136
- component: "Webiny/GridColumn",
137
- inputs: {
138
- children: [createElement({
139
- component: "Webiny/Lexical"
140
- })]
141
- }
142
- })
143
- }, {
144
- children: createElement({
145
- component: "Webiny/GridColumn",
146
- inputs: {
147
- children: [createElement({
148
- component: "Webiny/Lexical"
149
- })]
150
- }
5
+ const Grid = createComponent(GridComponent, {
6
+ name: "Webiny/Grid",
7
+ label: "Grid",
8
+ aiContext: "Multi-column layout container. Set gridLayout to a dash-separated pattern (e.g. '6-6' for two equal columns, '8-4' for wide-narrow, '4-4-4' for three equal). Each segment becomes a GridColumn. Columns stack vertically on smaller screens when stackAtBreakpoint is set.",
9
+ image: '<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e8eaed"><path d="M120-520v-320h320v320H120Zm0 400v-320h320v320H120Zm400-400v-320h320v320H520Zm0 400v-320h320v320H520ZM200-600h160v-160H200v160Zm400 0h160v-160H600v160Zm0 400h160v-160H600v160Zm-400 0h160v-160H200v160Zm400-400Zm0 240Zm-240 0Zm0-240Z"/></svg>',
10
+ group: "basic",
11
+ autoApplyStyles: false,
12
+ inputs: [
13
+ createTextInput({
14
+ name: "gridLayout",
15
+ label: "Grid Layout",
16
+ renderer: "Webiny/GridLayout",
17
+ onChange: ({ inputs, createElement })=>{
18
+ const rowColumnCount = inputs.gridLayout.split("-").length;
19
+ const columns = inputs.columns.length;
20
+ const remainder = columns % rowColumnCount;
21
+ if (0 !== remainder) {
22
+ const fullColumnCount = rowColumnCount * inputs.rowCount;
23
+ const toCreate = columns > fullColumnCount ? remainder : rowColumnCount - remainder;
24
+ Array.from({
25
+ length: toCreate
26
+ }).forEach(()=>{
27
+ inputs.columns.push({
28
+ children: createElement({
29
+ component: "Webiny/GridColumn"
30
+ })
31
+ });
32
+ });
33
+ }
34
+ inputs.rowCount = inputs.columns.length / rowColumnCount;
35
+ }
36
+ }),
37
+ createNumberInput({
38
+ name: "rowCount",
39
+ label: "Row Count",
40
+ defaultValue: 1,
41
+ minValue: 1,
42
+ onChange: ({ inputs, createElement })=>{
43
+ const gridLayout = inputs.gridLayout;
44
+ const columnCount = gridLayout.split("-").length;
45
+ const rowCount = Math.max(1, inputs.rowCount);
46
+ const columns = inputs.columns;
47
+ const rows = [];
48
+ for(let i = 0; i < columns.length; i += columnCount)rows.push(columns.slice(i, i + columnCount));
49
+ if (rows.length > rowCount) {
50
+ inputs.columns = columns.slice(0, columnCount * rowCount);
51
+ return;
52
+ }
53
+ const createRows = Math.max(0, rowCount - rows.length);
54
+ if (createRows <= 0) return;
55
+ const newRows = Array.from({
56
+ length: createRows * columnCount
57
+ }).map(()=>({
58
+ children: createElement({
59
+ component: "Webiny/GridColumn"
60
+ })
61
+ }));
62
+ inputs.columns.push(...newRows);
63
+ }
64
+ }),
65
+ createNumberInput({
66
+ name: "rowGap",
67
+ label: "Row Gap",
68
+ defaultValue: 0,
69
+ responsive: true,
70
+ onChange: ({ inputs, styles })=>{
71
+ const rowGap = parseInt(inputs.rowGap);
72
+ if (isNaN(rowGap)) delete styles.rowGap;
73
+ else styles.rowGap = `${inputs.rowGap}px`;
74
+ }
75
+ }),
76
+ createNumberInput({
77
+ name: "columnGap",
78
+ label: "Column Gap",
79
+ defaultValue: 0,
80
+ responsive: true,
81
+ onChange: ({ inputs, styles })=>{
82
+ const columnGap = parseInt(inputs.columnGap);
83
+ if (isNaN(columnGap)) delete styles.columnGap;
84
+ else styles.columnGap = `${inputs.columnGap}px`;
85
+ }
86
+ }),
87
+ createSelectInput({
88
+ name: "stackAtBreakpoint",
89
+ label: "Stack at breakpoint",
90
+ options: [
91
+ {
92
+ label: "Tablet",
93
+ value: "tablet"
94
+ },
95
+ {
96
+ label: "Mobile",
97
+ value: "mobile"
98
+ }
99
+ ]
100
+ }),
101
+ createBooleanInput({
102
+ name: "reverseWhenStacked",
103
+ label: "Reverse columns when stacked"
104
+ }),
105
+ createObjectInput({
106
+ name: "columns",
107
+ list: true,
108
+ hideFromUi: true,
109
+ fields: [
110
+ createSlotInput({
111
+ name: "children",
112
+ list: false,
113
+ components: [
114
+ "Webiny/GridColumn"
115
+ ]
116
+ })
117
+ ]
151
118
  })
152
- }]
153
- },
154
- styles: {
155
- boxSizing: "border-box",
156
- display: "flex",
157
- flexDirection: "row",
158
- flexWrap: "wrap",
159
- justifyContent: "flex-start",
160
- alignItems: "stretch",
161
- width: "100%",
162
- marginTop: "0px",
163
- marginBottom: "0px",
164
- marginLeft: "0px",
165
- marginRight: "0px",
166
- paddingTop: "5px",
167
- paddingRight: "5px",
168
- paddingBottom: "5px",
169
- paddingLeft: "5px"
119
+ ],
120
+ defaults: {
121
+ inputs: {
122
+ gridLayout: "6-6",
123
+ columns: [
124
+ {
125
+ children: website_builder_sdk_createElement({
126
+ component: "Webiny/GridColumn",
127
+ inputs: {
128
+ children: [
129
+ website_builder_sdk_createElement({
130
+ component: "Webiny/Lexical"
131
+ })
132
+ ]
133
+ }
134
+ })
135
+ },
136
+ {
137
+ children: website_builder_sdk_createElement({
138
+ component: "Webiny/GridColumn",
139
+ inputs: {
140
+ children: [
141
+ website_builder_sdk_createElement({
142
+ component: "Webiny/Lexical"
143
+ })
144
+ ]
145
+ }
146
+ })
147
+ }
148
+ ]
149
+ },
150
+ styles: {
151
+ boxSizing: "border-box",
152
+ display: "flex",
153
+ flexDirection: "row",
154
+ flexWrap: "wrap",
155
+ justifyContent: "flex-start",
156
+ alignItems: "stretch",
157
+ width: "100%",
158
+ marginTop: "0px",
159
+ marginBottom: "0px",
160
+ marginLeft: "0px",
161
+ marginRight: "0px",
162
+ paddingTop: "5px",
163
+ paddingRight: "5px",
164
+ paddingBottom: "5px",
165
+ paddingLeft: "5px"
166
+ }
170
167
  }
171
- }
172
168
  });
169
+ export { Grid };
173
170
 
174
171
  //# sourceMappingURL=Grid.manifest.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createBooleanInput","createElement","createNumberInput","createObjectInput","createSelectInput","createSlotInput","createTextInput","createComponent","GridComponent","Grid","name","label","image","group","autoApplyStyles","inputs","renderer","onChange","rowColumnCount","gridLayout","split","length","columns","remainder","fullColumnCount","rowCount","toCreate","Array","from","forEach","push","children","component","defaultValue","minValue","columnCount","Math","max","rows","i","slice","createRows","newRows","map","responsive","styles","rowGap","parseInt","isNaN","columnGap","options","value","list","hideFromUi","fields","components","defaults","boxSizing","display","flexDirection","flexWrap","justifyContent","alignItems","width","marginTop","marginBottom","marginLeft","marginRight","paddingTop","paddingRight","paddingBottom","paddingLeft"],"sources":["Grid.manifest.ts"],"sourcesContent":["\"use client\";\nimport {\n createBooleanInput,\n createElement,\n createNumberInput,\n createObjectInput,\n createSelectInput,\n createSlotInput,\n createTextInput\n} from \"@webiny/website-builder-sdk\";\nimport { createComponent } from \"~/createComponent.js\";\nimport { GridComponent } from \"./Grid.js\";\n\nexport interface Column {\n children: React.ReactNode;\n}\n\nexport const Grid = createComponent(GridComponent, {\n name: \"Webiny/Grid\",\n label: \"Grid\",\n image: `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\" width=\"24px\" fill=\"#e8eaed\"><path d=\"M120-520v-320h320v320H120Zm0 400v-320h320v320H120Zm400-400v-320h320v320H520Zm0 400v-320h320v320H520ZM200-600h160v-160H200v160Zm400 0h160v-160H600v160Zm0 400h160v-160H600v160Zm-400 0h160v-160H200v160Zm400-400Zm0 240Zm-240 0Zm0-240Z\"/></svg>`,\n group: \"basic\",\n autoApplyStyles: false,\n inputs: [\n createTextInput({\n name: \"gridLayout\",\n label: \"Grid Layout\",\n renderer: \"Webiny/GridLayout\",\n onChange: ({ inputs, createElement }) => {\n const rowColumnCount = inputs.gridLayout.split(\"-\").length;\n const columns = inputs.columns.length;\n\n const remainder = columns % rowColumnCount;\n\n if (remainder !== 0) {\n const fullColumnCount = rowColumnCount * inputs.rowCount;\n const toCreate =\n columns > fullColumnCount ? remainder : rowColumnCount - remainder;\n\n Array.from({ length: toCreate }).forEach(() => {\n inputs.columns.push({\n children: createElement({\n component: \"Webiny/GridColumn\"\n })\n });\n });\n }\n\n inputs.rowCount = inputs.columns.length / rowColumnCount;\n }\n }),\n createNumberInput({\n name: \"rowCount\",\n label: \"Row Count\",\n defaultValue: 1,\n minValue: 1,\n onChange: ({ inputs, createElement }) => {\n const gridLayout = inputs.gridLayout;\n const columnCount = gridLayout.split(\"-\").length;\n const rowCount = Math.max(1, inputs.rowCount);\n const columns = inputs.columns;\n const rows: Column[][] = [];\n\n // Chunk columns into rows\n for (let i = 0; i < columns.length; i += columnCount) {\n rows.push(columns.slice(i, i + columnCount));\n }\n\n if (rows.length > rowCount) {\n inputs.columns = columns.slice(0, columnCount * rowCount);\n return;\n }\n\n const createRows = Math.max(0, rowCount - rows.length);\n\n if (createRows <= 0) {\n return;\n }\n\n const newRows = Array.from({ length: createRows * columnCount }).map(() => {\n return {\n children: createElement({\n component: \"Webiny/GridColumn\"\n })\n };\n });\n\n inputs.columns.push(...newRows);\n }\n }),\n createNumberInput({\n name: \"rowGap\",\n label: \"Row Gap\",\n defaultValue: 0,\n responsive: true,\n onChange: ({ inputs, styles }) => {\n const rowGap = parseInt(inputs.rowGap);\n if (isNaN(rowGap)) {\n delete styles.rowGap;\n } else {\n styles.rowGap = `${inputs.rowGap}px`;\n }\n }\n }),\n createNumberInput({\n name: \"columnGap\",\n label: \"Column Gap\",\n defaultValue: 0,\n responsive: true,\n onChange: ({ inputs, styles }) => {\n const columnGap = parseInt(inputs.columnGap);\n if (isNaN(columnGap)) {\n delete styles.columnGap;\n } else {\n styles.columnGap = `${inputs.columnGap}px`;\n }\n }\n }),\n createSelectInput({\n name: \"stackAtBreakpoint\",\n label: \"Stack at breakpoint\",\n options: [\n { label: \"Tablet\", value: \"tablet\" },\n { label: \"Mobile\", value: \"mobile\" }\n ]\n }),\n createBooleanInput({\n name: \"reverseWhenStacked\",\n label: \"Reverse columns when stacked\"\n }),\n createObjectInput({\n name: \"columns\",\n list: true,\n hideFromUi: true,\n fields: [\n createSlotInput({\n name: \"children\",\n list: false,\n components: [\"Webiny/GridColumn\"]\n })\n ]\n })\n ],\n defaults: {\n inputs: {\n gridLayout: \"6-6\",\n columns: [\n {\n children: createElement({\n component: \"Webiny/GridColumn\",\n inputs: {\n children: [\n createElement({\n component: \"Webiny/Lexical\"\n })\n ]\n }\n })\n },\n {\n children: createElement({\n component: \"Webiny/GridColumn\",\n inputs: {\n children: [\n createElement({\n component: \"Webiny/Lexical\"\n })\n ]\n }\n })\n }\n ]\n },\n styles: {\n boxSizing: \"border-box\",\n display: \"flex\",\n flexDirection: \"row\",\n flexWrap: \"wrap\",\n justifyContent: \"flex-start\",\n alignItems: \"stretch\",\n width: \"100%\",\n marginTop: \"0px\",\n marginBottom: \"0px\",\n marginLeft: \"0px\",\n marginRight: \"0px\",\n paddingTop: \"5px\",\n paddingRight: \"5px\",\n paddingBottom: \"5px\",\n paddingLeft: \"5px\"\n }\n }\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"editorComponents/Grid.manifest.js","sources":["../../src/editorComponents/Grid.manifest.ts"],"sourcesContent":["\"use client\";\nimport {\n createBooleanInput,\n createElement,\n createNumberInput,\n createObjectInput,\n createSelectInput,\n createSlotInput,\n createTextInput\n} from \"@webiny/website-builder-sdk\";\nimport { createComponent } from \"~/createComponent.js\";\nimport { GridComponent } from \"./Grid.js\";\n\nexport interface Column {\n children: React.ReactNode;\n}\nexport const Grid = createComponent(GridComponent, {\n name: \"Webiny/Grid\",\n label: \"Grid\",\n aiContext:\n \"Multi-column layout container. Set gridLayout to a dash-separated pattern (e.g. '6-6' for two equal columns, '8-4' for wide-narrow, '4-4-4' for three equal). Each segment becomes a GridColumn. Columns stack vertically on smaller screens when stackAtBreakpoint is set.\",\n image: `<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\" width=\"24px\" fill=\"#e8eaed\"><path d=\"M120-520v-320h320v320H120Zm0 400v-320h320v320H120Zm400-400v-320h320v320H520Zm0 400v-320h320v320H520ZM200-600h160v-160H200v160Zm400 0h160v-160H600v160Zm0 400h160v-160H600v160Zm-400 0h160v-160H200v160Zm400-400Zm0 240Zm-240 0Zm0-240Z\"/></svg>`,\n group: \"basic\",\n autoApplyStyles: false,\n inputs: [\n createTextInput({\n name: \"gridLayout\",\n label: \"Grid Layout\",\n renderer: \"Webiny/GridLayout\",\n onChange: ({ inputs, createElement }) => {\n const rowColumnCount = inputs.gridLayout.split(\"-\").length;\n const columns = inputs.columns.length;\n\n const remainder = columns % rowColumnCount;\n\n if (remainder !== 0) {\n const fullColumnCount = rowColumnCount * inputs.rowCount;\n const toCreate =\n columns > fullColumnCount ? remainder : rowColumnCount - remainder;\n\n Array.from({ length: toCreate }).forEach(() => {\n inputs.columns.push({\n children: createElement({\n component: \"Webiny/GridColumn\"\n })\n });\n });\n }\n\n inputs.rowCount = inputs.columns.length / rowColumnCount;\n }\n }),\n createNumberInput({\n name: \"rowCount\",\n label: \"Row Count\",\n defaultValue: 1,\n minValue: 1,\n onChange: ({ inputs, createElement }) => {\n const gridLayout = inputs.gridLayout;\n const columnCount = gridLayout.split(\"-\").length;\n const rowCount = Math.max(1, inputs.rowCount);\n const columns = inputs.columns;\n const rows: Column[][] = [];\n\n // Chunk columns into rows\n for (let i = 0; i < columns.length; i += columnCount) {\n rows.push(columns.slice(i, i + columnCount));\n }\n\n if (rows.length > rowCount) {\n inputs.columns = columns.slice(0, columnCount * rowCount);\n return;\n }\n\n const createRows = Math.max(0, rowCount - rows.length);\n\n if (createRows <= 0) {\n return;\n }\n\n const newRows = Array.from({ length: createRows * columnCount }).map(() => {\n return {\n children: createElement({\n component: \"Webiny/GridColumn\"\n })\n };\n });\n\n inputs.columns.push(...newRows);\n }\n }),\n createNumberInput({\n name: \"rowGap\",\n label: \"Row Gap\",\n defaultValue: 0,\n responsive: true,\n onChange: ({ inputs, styles }) => {\n const rowGap = parseInt(inputs.rowGap);\n if (isNaN(rowGap)) {\n delete styles.rowGap;\n } else {\n styles.rowGap = `${inputs.rowGap}px`;\n }\n }\n }),\n createNumberInput({\n name: \"columnGap\",\n label: \"Column Gap\",\n defaultValue: 0,\n responsive: true,\n onChange: ({ inputs, styles }) => {\n const columnGap = parseInt(inputs.columnGap);\n if (isNaN(columnGap)) {\n delete styles.columnGap;\n } else {\n styles.columnGap = `${inputs.columnGap}px`;\n }\n }\n }),\n createSelectInput({\n name: \"stackAtBreakpoint\",\n label: \"Stack at breakpoint\",\n options: [\n { label: \"Tablet\", value: \"tablet\" },\n { label: \"Mobile\", value: \"mobile\" }\n ]\n }),\n createBooleanInput({\n name: \"reverseWhenStacked\",\n label: \"Reverse columns when stacked\"\n }),\n createObjectInput({\n name: \"columns\",\n list: true,\n hideFromUi: true,\n fields: [\n createSlotInput({\n name: \"children\",\n list: false,\n components: [\"Webiny/GridColumn\"]\n })\n ]\n })\n ],\n defaults: {\n inputs: {\n gridLayout: \"6-6\",\n columns: [\n {\n children: createElement({\n component: \"Webiny/GridColumn\",\n inputs: {\n children: [\n createElement({\n component: \"Webiny/Lexical\"\n })\n ]\n }\n })\n },\n {\n children: createElement({\n component: \"Webiny/GridColumn\",\n inputs: {\n children: [\n createElement({\n component: \"Webiny/Lexical\"\n })\n ]\n }\n })\n }\n ]\n },\n styles: {\n boxSizing: \"border-box\",\n display: \"flex\",\n flexDirection: \"row\",\n flexWrap: \"wrap\",\n justifyContent: \"flex-start\",\n alignItems: \"stretch\",\n width: \"100%\",\n marginTop: \"0px\",\n marginBottom: \"0px\",\n marginLeft: \"0px\",\n marginRight: \"0px\",\n paddingTop: \"5px\",\n paddingRight: \"5px\",\n paddingBottom: \"5px\",\n paddingLeft: \"5px\"\n }\n }\n});\n"],"names":["Grid","createComponent","GridComponent","createTextInput","inputs","createElement","rowColumnCount","columns","remainder","fullColumnCount","toCreate","Array","createNumberInput","gridLayout","columnCount","rowCount","Math","rows","i","createRows","newRows","styles","rowGap","parseInt","isNaN","columnGap","createSelectInput","createBooleanInput","createObjectInput","createSlotInput"],"mappings":"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"}
@@ -1,8 +1,5 @@
1
- import React from "react";
2
- export const GridColumnComponent = ({
3
- inputs
4
- }) => {
5
- return /*#__PURE__*/React.createElement(React.Fragment, null, inputs.children);
6
- };
1
+ import react from "react";
2
+ const GridColumnComponent = ({ inputs })=>/*#__PURE__*/ react.createElement(react.Fragment, null, inputs.children);
3
+ export { GridColumnComponent };
7
4
 
8
5
  //# sourceMappingURL=GridColumn.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","GridColumnComponent","inputs","createElement","Fragment","children"],"sources":["GridColumn.tsx"],"sourcesContent":["import React from \"react\";\nimport type { ComponentPropsWithChildren } from \"~/types.js\";\n\nexport const GridColumnComponent = ({\n inputs\n}: {\n inputs: ComponentPropsWithChildren[\"inputs\"];\n}) => {\n return <>{inputs.children}</>;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAGzB,OAAO,MAAMC,mBAAmB,GAAGA,CAAC;EAChCC;AAGJ,CAAC,KAAK;EACF,oBAAOF,KAAA,CAAAG,aAAA,CAAAH,KAAA,CAAAI,QAAA,QAAGF,MAAM,CAACG,QAAW,CAAC;AACjC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"editorComponents/GridColumn.js","sources":["../../src/editorComponents/GridColumn.tsx"],"sourcesContent":["import React from \"react\";\nimport type { ComponentPropsWithChildren } from \"~/types.js\";\n\nexport const GridColumnComponent = ({\n inputs\n}: {\n inputs: ComponentPropsWithChildren[\"inputs\"];\n}) => {\n return <>{inputs.children}</>;\n};\n"],"names":["GridColumnComponent","inputs"],"mappings":";AAGO,MAAMA,sBAAsB,CAAC,EAChCC,MAAM,EAGT,GACU,WAAP,GAAO,0CAAGA,OAAO,QAAQ"}