@webiny/app-website-builder 0.0.0-unstable.f9f12f52a0 → 0.0.0-unstable.fdd9228b5d

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.
@@ -17,7 +17,7 @@ export const AddressBar = () => {
17
17
  return;
18
18
  }
19
19
  setAddressBarUrl(`${previewDomain}${path}`);
20
- }, [previewDomain]);
20
+ }, [path, previewDomain]);
21
21
  return /*#__PURE__*/React.createElement("div", {
22
22
  className: "wby-w-full wby-h-[49px] wby-flex wby-flex-row wby-p-sm wby-bg-neutral-base wby-border-solid wby-border-b-sm wby-border-neutral-dimmed"
23
23
  }, /*#__PURE__*/React.createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useState","BreakpointSelector","PreviewInNewTab","OpenInNewTab","RefreshPreview","useSelectFromDocument","PreviewDomain","usePreviewDomain","AddressBar","path","document","properties","previewDomain","addressBarUrl","setAddressBarUrl","createElement","className"],"sources":["AddressBar.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { BreakpointSelector } from \"./BreakpointSelector\";\nimport { PreviewInNewTab } from \"./AddressBar/PreviewInNewTab\";\nimport { OpenInNewTab } from \"./AddressBar/OpenInNewTab\";\nimport { RefreshPreview } from \"./AddressBar/RefreshPreview\";\nimport { useSelectFromDocument } from \"~/BaseEditor/hooks/useSelectFromDocument\";\nimport { PreviewDomain } from \"./AddressBar/PreviewDomain\";\nimport { usePreviewDomain } from \"./usePreviewDomain\";\n\nexport const AddressBar = () => {\n const path = useSelectFromDocument(document => document.properties.path);\n\n const { previewDomain } = usePreviewDomain();\n const [addressBarUrl, setAddressBarUrl] = useState<string>(\"\");\n\n useEffect(() => {\n if (!previewDomain) {\n return;\n }\n\n setAddressBarUrl(`${previewDomain}${path}`);\n }, [previewDomain]);\n\n return (\n <div className=\"wby-w-full wby-h-[49px] wby-flex wby-flex-row wby-p-sm wby-bg-neutral-base wby-border-solid wby-border-b-sm wby-border-neutral-dimmed\">\n <div className={\"wby-relative wby-flex-auto wby-mr-sm\"}>\n <div\n className={\n \"wby-w-full wby-absolute wby-top-[-1px] wby-py-[6px] wby-pl-xl wby-border-sm wby-text-md wby-peer wby-cursor-not-allowed wby-rounded-md wby-border-neutral-subtle wby-text-neutral-muted wby-bg-neutral-disabled wby-text-neutral-disabled\"\n }\n >\n <PreviewDomain />\n {addressBarUrl}\n </div>\n <div className={\"wby-absolute wby-right-0 wby-top-0\"}>\n <RefreshPreview />\n <PreviewInNewTab />\n <OpenInNewTab />\n </div>\n </div>\n <div className={\"wby-flex-none\"}>\n <BreakpointSelector />\n </div>\n </div>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,SAASC,kBAAkB;AAC3B,SAASC,eAAe;AACxB,SAASC,YAAY;AACrB,SAASC,cAAc;AACvB,SAASC,qBAAqB;AAC9B,SAASC,aAAa;AACtB,SAASC,gBAAgB;AAEzB,OAAO,MAAMC,UAAU,GAAGA,CAAA,KAAM;EAC5B,MAAMC,IAAI,GAAGJ,qBAAqB,CAACK,QAAQ,IAAIA,QAAQ,CAACC,UAAU,CAACF,IAAI,CAAC;EAExE,MAAM;IAAEG;EAAc,CAAC,GAAGL,gBAAgB,CAAC,CAAC;EAC5C,MAAM,CAACM,aAAa,EAAEC,gBAAgB,CAAC,GAAGd,QAAQ,CAAS,EAAE,CAAC;EAE9DD,SAAS,CAAC,MAAM;IACZ,IAAI,CAACa,aAAa,EAAE;MAChB;IACJ;IAEAE,gBAAgB,CAAC,GAAGF,aAAa,GAAGH,IAAI,EAAE,CAAC;EAC/C,CAAC,EAAE,CAACG,aAAa,CAAC,CAAC;EAEnB,oBACId,KAAA,CAAAiB,aAAA;IAAKC,SAAS,EAAC;EAAuI,gBAClJlB,KAAA,CAAAiB,aAAA;IAAKC,SAAS,EAAE;EAAuC,gBACnDlB,KAAA,CAAAiB,aAAA;IACIC,SAAS,EACL;EACH,gBAEDlB,KAAA,CAAAiB,aAAA,CAACT,aAAa,MAAE,CAAC,EAChBO,aACA,CAAC,eACNf,KAAA,CAAAiB,aAAA;IAAKC,SAAS,EAAE;EAAqC,gBACjDlB,KAAA,CAAAiB,aAAA,CAACX,cAAc,MAAE,CAAC,eAClBN,KAAA,CAAAiB,aAAA,CAACb,eAAe,MAAE,CAAC,eACnBJ,KAAA,CAAAiB,aAAA,CAACZ,YAAY,MAAE,CACd,CACJ,CAAC,eACNL,KAAA,CAAAiB,aAAA;IAAKC,SAAS,EAAE;EAAgB,gBAC5BlB,KAAA,CAAAiB,aAAA,CAACd,kBAAkB,MAAE,CACpB,CACJ,CAAC;AAEd,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useState","BreakpointSelector","PreviewInNewTab","OpenInNewTab","RefreshPreview","useSelectFromDocument","PreviewDomain","usePreviewDomain","AddressBar","path","document","properties","previewDomain","addressBarUrl","setAddressBarUrl","createElement","className"],"sources":["AddressBar.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { BreakpointSelector } from \"./BreakpointSelector\";\nimport { PreviewInNewTab } from \"./AddressBar/PreviewInNewTab\";\nimport { OpenInNewTab } from \"./AddressBar/OpenInNewTab\";\nimport { RefreshPreview } from \"./AddressBar/RefreshPreview\";\nimport { useSelectFromDocument } from \"~/BaseEditor/hooks/useSelectFromDocument\";\nimport { PreviewDomain } from \"./AddressBar/PreviewDomain\";\nimport { usePreviewDomain } from \"./usePreviewDomain\";\n\nexport const AddressBar = () => {\n const path = useSelectFromDocument(document => document.properties.path);\n\n const { previewDomain } = usePreviewDomain();\n const [addressBarUrl, setAddressBarUrl] = useState<string>(\"\");\n\n useEffect(() => {\n if (!previewDomain) {\n return;\n }\n\n setAddressBarUrl(`${previewDomain}${path}`);\n }, [path, previewDomain]);\n\n return (\n <div className=\"wby-w-full wby-h-[49px] wby-flex wby-flex-row wby-p-sm wby-bg-neutral-base wby-border-solid wby-border-b-sm wby-border-neutral-dimmed\">\n <div className={\"wby-relative wby-flex-auto wby-mr-sm\"}>\n <div\n className={\n \"wby-w-full wby-absolute wby-top-[-1px] wby-py-[6px] wby-pl-xl wby-border-sm wby-text-md wby-peer wby-cursor-not-allowed wby-rounded-md wby-border-neutral-subtle wby-text-neutral-muted wby-bg-neutral-disabled wby-text-neutral-disabled\"\n }\n >\n <PreviewDomain />\n {addressBarUrl}\n </div>\n <div className={\"wby-absolute wby-right-0 wby-top-0\"}>\n <RefreshPreview />\n <PreviewInNewTab />\n <OpenInNewTab />\n </div>\n </div>\n <div className={\"wby-flex-none\"}>\n <BreakpointSelector />\n </div>\n </div>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,SAASC,kBAAkB;AAC3B,SAASC,eAAe;AACxB,SAASC,YAAY;AACrB,SAASC,cAAc;AACvB,SAASC,qBAAqB;AAC9B,SAASC,aAAa;AACtB,SAASC,gBAAgB;AAEzB,OAAO,MAAMC,UAAU,GAAGA,CAAA,KAAM;EAC5B,MAAMC,IAAI,GAAGJ,qBAAqB,CAACK,QAAQ,IAAIA,QAAQ,CAACC,UAAU,CAACF,IAAI,CAAC;EAExE,MAAM;IAAEG;EAAc,CAAC,GAAGL,gBAAgB,CAAC,CAAC;EAC5C,MAAM,CAACM,aAAa,EAAEC,gBAAgB,CAAC,GAAGd,QAAQ,CAAS,EAAE,CAAC;EAE9DD,SAAS,CAAC,MAAM;IACZ,IAAI,CAACa,aAAa,EAAE;MAChB;IACJ;IAEAE,gBAAgB,CAAC,GAAGF,aAAa,GAAGH,IAAI,EAAE,CAAC;EAC/C,CAAC,EAAE,CAACA,IAAI,EAAEG,aAAa,CAAC,CAAC;EAEzB,oBACId,KAAA,CAAAiB,aAAA;IAAKC,SAAS,EAAC;EAAuI,gBAClJlB,KAAA,CAAAiB,aAAA;IAAKC,SAAS,EAAE;EAAuC,gBACnDlB,KAAA,CAAAiB,aAAA;IACIC,SAAS,EACL;EACH,gBAEDlB,KAAA,CAAAiB,aAAA,CAACT,aAAa,MAAE,CAAC,EAChBO,aACA,CAAC,eACNf,KAAA,CAAAiB,aAAA;IAAKC,SAAS,EAAE;EAAqC,gBACjDlB,KAAA,CAAAiB,aAAA,CAACX,cAAc,MAAE,CAAC,eAClBN,KAAA,CAAAiB,aAAA,CAACb,eAAe,MAAE,CAAC,eACnBJ,KAAA,CAAAiB,aAAA,CAACZ,YAAY,MAAE,CACd,CACJ,CAAC,eACNL,KAAA,CAAAiB,aAAA;IAAKC,SAAS,EAAE;EAAgB,gBAC5BlB,KAAA,CAAAiB,aAAA,CAACd,kBAAkB,MAAE,CACpB,CACJ,CAAC;AAEd,CAAC","ignoreList":[]}
@@ -1,7 +1,11 @@
1
1
  import { useMemo } from "react";
2
+ import { useTenancy } from "@webiny/app-tenancy";
2
3
  import { useSelectFromDocument } from "../../../hooks/useSelectFromDocument";
3
4
  import { usePreviewDomain } from "./usePreviewDomain";
4
5
  export const useIframeUrl = () => {
6
+ const {
7
+ tenant
8
+ } = useTenancy();
5
9
  const {
6
10
  previewDomain
7
11
  } = usePreviewDomain();
@@ -13,17 +17,18 @@ export const useIframeUrl = () => {
13
17
  return null;
14
18
  }
15
19
  const newUrl = new URL(`${previewDomain}${path}`);
16
- addSearchParamsFromDocument(newUrl, id, documentType);
20
+ addSearchParamsFromDocument(tenant, newUrl, id, documentType);
17
21
  return newUrl.toString();
18
22
  }, [previewDomain, id, path, documentType]);
19
23
  };
20
- function addSearchParamsFromDocument(url, id, documentType) {
24
+ function addSearchParamsFromDocument(tenant, url, id, documentType) {
21
25
  const searchParams = url.searchParams;
22
26
  searchParams.set("wb.editing", "true");
23
27
  searchParams.set("wb.type", documentType);
24
28
  searchParams.set("wb.id", id);
25
29
  searchParams.set("wb.path", url.pathname);
26
30
  searchParams.set("wb.referrer", window.location.origin);
31
+ searchParams.set("wb.tenant", tenant);
27
32
  }
28
33
 
29
34
  //# sourceMappingURL=useIframeUrl.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useSelectFromDocument","usePreviewDomain","useIframeUrl","previewDomain","id","document","documentType","metadata","path","properties","newUrl","URL","addSearchParamsFromDocument","toString","url","searchParams","set","pathname","window","location","origin"],"sources":["useIframeUrl.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { useSelectFromDocument } from \"~/BaseEditor/hooks/useSelectFromDocument\";\nimport { usePreviewDomain } from \"./usePreviewDomain\";\n\nexport const useIframeUrl = () => {\n const { previewDomain } = usePreviewDomain();\n\n const id = useSelectFromDocument(document => document.id);\n const documentType = useSelectFromDocument(document => document.metadata.documentType);\n const path = useSelectFromDocument(document => document.properties.path);\n\n return useMemo(() => {\n if (!previewDomain) {\n return null;\n }\n const newUrl = new URL(`${previewDomain}${path}`);\n addSearchParamsFromDocument(newUrl, id, documentType);\n return newUrl.toString();\n }, [previewDomain, id, path, documentType]);\n};\n\nfunction addSearchParamsFromDocument(url: URL, id: string, documentType: string) {\n const searchParams = url.searchParams;\n searchParams.set(\"wb.editing\", \"true\");\n searchParams.set(\"wb.type\", documentType);\n searchParams.set(\"wb.id\", id);\n searchParams.set(\"wb.path\", url.pathname);\n searchParams.set(\"wb.referrer\", window.location.origin);\n}\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,qBAAqB;AAC9B,SAASC,gBAAgB;AAEzB,OAAO,MAAMC,YAAY,GAAGA,CAAA,KAAM;EAC9B,MAAM;IAAEC;EAAc,CAAC,GAAGF,gBAAgB,CAAC,CAAC;EAE5C,MAAMG,EAAE,GAAGJ,qBAAqB,CAACK,QAAQ,IAAIA,QAAQ,CAACD,EAAE,CAAC;EACzD,MAAME,YAAY,GAAGN,qBAAqB,CAACK,QAAQ,IAAIA,QAAQ,CAACE,QAAQ,CAACD,YAAY,CAAC;EACtF,MAAME,IAAI,GAAGR,qBAAqB,CAACK,QAAQ,IAAIA,QAAQ,CAACI,UAAU,CAACD,IAAI,CAAC;EAExE,OAAOT,OAAO,CAAC,MAAM;IACjB,IAAI,CAACI,aAAa,EAAE;MAChB,OAAO,IAAI;IACf;IACA,MAAMO,MAAM,GAAG,IAAIC,GAAG,CAAC,GAAGR,aAAa,GAAGK,IAAI,EAAE,CAAC;IACjDI,2BAA2B,CAACF,MAAM,EAAEN,EAAE,EAAEE,YAAY,CAAC;IACrD,OAAOI,MAAM,CAACG,QAAQ,CAAC,CAAC;EAC5B,CAAC,EAAE,CAACV,aAAa,EAAEC,EAAE,EAAEI,IAAI,EAAEF,YAAY,CAAC,CAAC;AAC/C,CAAC;AAED,SAASM,2BAA2BA,CAACE,GAAQ,EAAEV,EAAU,EAAEE,YAAoB,EAAE;EAC7E,MAAMS,YAAY,GAAGD,GAAG,CAACC,YAAY;EACrCA,YAAY,CAACC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC;EACtCD,YAAY,CAACC,GAAG,CAAC,SAAS,EAAEV,YAAY,CAAC;EACzCS,YAAY,CAACC,GAAG,CAAC,OAAO,EAAEZ,EAAE,CAAC;EAC7BW,YAAY,CAACC,GAAG,CAAC,SAAS,EAAEF,GAAG,CAACG,QAAQ,CAAC;EACzCF,YAAY,CAACC,GAAG,CAAC,aAAa,EAAEE,MAAM,CAACC,QAAQ,CAACC,MAAM,CAAC;AAC3D","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","useTenancy","useSelectFromDocument","usePreviewDomain","useIframeUrl","tenant","previewDomain","id","document","documentType","metadata","path","properties","newUrl","URL","addSearchParamsFromDocument","toString","url","searchParams","set","pathname","window","location","origin"],"sources":["useIframeUrl.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { useTenancy } from \"@webiny/app-tenancy\";\nimport { useSelectFromDocument } from \"~/BaseEditor/hooks/useSelectFromDocument\";\nimport { usePreviewDomain } from \"./usePreviewDomain\";\n\nexport const useIframeUrl = () => {\n const { tenant } = useTenancy();\n const { previewDomain } = usePreviewDomain();\n\n const id = useSelectFromDocument(document => document.id);\n const documentType = useSelectFromDocument(document => document.metadata.documentType);\n const path = useSelectFromDocument(document => document.properties.path);\n\n return useMemo(() => {\n if (!previewDomain) {\n return null;\n }\n const newUrl = new URL(`${previewDomain}${path}`);\n addSearchParamsFromDocument(tenant!, newUrl, id, documentType);\n return newUrl.toString();\n }, [previewDomain, id, path, documentType]);\n};\n\nfunction addSearchParamsFromDocument(tenant: string, url: URL, id: string, documentType: string) {\n const searchParams = url.searchParams;\n searchParams.set(\"wb.editing\", \"true\");\n searchParams.set(\"wb.type\", documentType);\n searchParams.set(\"wb.id\", id);\n searchParams.set(\"wb.path\", url.pathname);\n searchParams.set(\"wb.referrer\", window.location.origin);\n searchParams.set(\"wb.tenant\", tenant);\n}\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,UAAU,QAAQ,qBAAqB;AAChD,SAASC,qBAAqB;AAC9B,SAASC,gBAAgB;AAEzB,OAAO,MAAMC,YAAY,GAAGA,CAAA,KAAM;EAC9B,MAAM;IAAEC;EAAO,CAAC,GAAGJ,UAAU,CAAC,CAAC;EAC/B,MAAM;IAAEK;EAAc,CAAC,GAAGH,gBAAgB,CAAC,CAAC;EAE5C,MAAMI,EAAE,GAAGL,qBAAqB,CAACM,QAAQ,IAAIA,QAAQ,CAACD,EAAE,CAAC;EACzD,MAAME,YAAY,GAAGP,qBAAqB,CAACM,QAAQ,IAAIA,QAAQ,CAACE,QAAQ,CAACD,YAAY,CAAC;EACtF,MAAME,IAAI,GAAGT,qBAAqB,CAACM,QAAQ,IAAIA,QAAQ,CAACI,UAAU,CAACD,IAAI,CAAC;EAExE,OAAOX,OAAO,CAAC,MAAM;IACjB,IAAI,CAACM,aAAa,EAAE;MAChB,OAAO,IAAI;IACf;IACA,MAAMO,MAAM,GAAG,IAAIC,GAAG,CAAC,GAAGR,aAAa,GAAGK,IAAI,EAAE,CAAC;IACjDI,2BAA2B,CAACV,MAAM,EAAGQ,MAAM,EAAEN,EAAE,EAAEE,YAAY,CAAC;IAC9D,OAAOI,MAAM,CAACG,QAAQ,CAAC,CAAC;EAC5B,CAAC,EAAE,CAACV,aAAa,EAAEC,EAAE,EAAEI,IAAI,EAAEF,YAAY,CAAC,CAAC;AAC/C,CAAC;AAED,SAASM,2BAA2BA,CAACV,MAAc,EAAEY,GAAQ,EAAEV,EAAU,EAAEE,YAAoB,EAAE;EAC7F,MAAMS,YAAY,GAAGD,GAAG,CAACC,YAAY;EACrCA,YAAY,CAACC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC;EACtCD,YAAY,CAACC,GAAG,CAAC,SAAS,EAAEV,YAAY,CAAC;EACzCS,YAAY,CAACC,GAAG,CAAC,OAAO,EAAEZ,EAAE,CAAC;EAC7BW,YAAY,CAACC,GAAG,CAAC,SAAS,EAAEF,GAAG,CAACG,QAAQ,CAAC;EACzCF,YAAY,CAACC,GAAG,CAAC,aAAa,EAAEE,MAAM,CAACC,QAAQ,CAACC,MAAM,CAAC;EACvDL,YAAY,CAACC,GAAG,CAAC,WAAW,EAAEd,MAAM,CAAC;AACzC","ignoreList":[]}
@@ -22,7 +22,7 @@ export const useBindingsForElement = elementId => {
22
22
  resolvedBindings: bindingsProcessor.getBindings(bindings, breakpoint.name),
23
23
  inheritanceMap: inheritanceProcessor.getInheritanceMap(bindings, breakpoint.name)
24
24
  };
25
- }, [elementId, breakpoint.name]);
25
+ }, [elementId, breakpoint.name, breakpoints.length]);
26
26
  };
27
27
 
28
28
  //# sourceMappingURL=useBindingsForElement.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["toJS","BindingsProcessor","useBreakpoint","useSelectFromDocument","useElementInputsAst","InheritanceProcessor","useBindingsForElement","elementId","breakpoint","breakpoints","inputsAst","document","bindings","breakpointNames","map","bp","name","bindingsProcessor","inheritanceProcessor","rawBindings","resolvedBindings","getBindings","inheritanceMap","getInheritanceMap"],"sources":["useBindingsForElement.ts"],"sourcesContent":["import { toJS } from \"mobx\";\nimport { BindingsProcessor } from \"@webiny/website-builder-sdk\";\nimport { useBreakpoint } from \"~/BaseEditor/hooks/useBreakpoint\";\nimport { useSelectFromDocument } from \"~/BaseEditor/hooks/useSelectFromDocument\";\nimport { useElementInputsAst } from \"~/BaseEditor/hooks/useElementInputsAst\";\nimport { InheritanceProcessor } from \"@webiny/website-builder-sdk\";\n\nexport const useBindingsForElement = (elementId: string) => {\n const { breakpoint, breakpoints } = useBreakpoint();\n const inputsAst = useElementInputsAst(elementId);\n\n return useSelectFromDocument(\n document => {\n const bindings = toJS(document.bindings[elementId]) ?? {};\n\n // Merge element bindings.\n const breakpointNames = breakpoints.map(bp => bp.name);\n const bindingsProcessor = new BindingsProcessor(breakpointNames);\n const inheritanceProcessor = new InheritanceProcessor(breakpointNames, inputsAst);\n\n return {\n rawBindings: bindings,\n resolvedBindings: bindingsProcessor.getBindings(bindings, breakpoint.name),\n inheritanceMap: inheritanceProcessor.getInheritanceMap(bindings, breakpoint.name)\n };\n },\n [elementId, breakpoint.name]\n );\n};\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,MAAM;AAC3B,SAASC,iBAAiB,QAAQ,6BAA6B;AAC/D,SAASC,aAAa;AACtB,SAASC,qBAAqB;AAC9B,SAASC,mBAAmB;AAC5B,SAASC,oBAAoB,QAAQ,6BAA6B;AAElE,OAAO,MAAMC,qBAAqB,GAAIC,SAAiB,IAAK;EACxD,MAAM;IAAEC,UAAU;IAAEC;EAAY,CAAC,GAAGP,aAAa,CAAC,CAAC;EACnD,MAAMQ,SAAS,GAAGN,mBAAmB,CAACG,SAAS,CAAC;EAEhD,OAAOJ,qBAAqB,CACxBQ,QAAQ,IAAI;IACR,MAAMC,QAAQ,GAAGZ,IAAI,CAACW,QAAQ,CAACC,QAAQ,CAACL,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;;IAEzD;IACA,MAAMM,eAAe,GAAGJ,WAAW,CAACK,GAAG,CAACC,EAAE,IAAIA,EAAE,CAACC,IAAI,CAAC;IACtD,MAAMC,iBAAiB,GAAG,IAAIhB,iBAAiB,CAACY,eAAe,CAAC;IAChE,MAAMK,oBAAoB,GAAG,IAAIb,oBAAoB,CAACQ,eAAe,EAAEH,SAAS,CAAC;IAEjF,OAAO;MACHS,WAAW,EAAEP,QAAQ;MACrBQ,gBAAgB,EAAEH,iBAAiB,CAACI,WAAW,CAACT,QAAQ,EAAEJ,UAAU,CAACQ,IAAI,CAAC;MAC1EM,cAAc,EAAEJ,oBAAoB,CAACK,iBAAiB,CAACX,QAAQ,EAAEJ,UAAU,CAACQ,IAAI;IACpF,CAAC;EACL,CAAC,EACD,CAACT,SAAS,EAAEC,UAAU,CAACQ,IAAI,CAC/B,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["toJS","BindingsProcessor","useBreakpoint","useSelectFromDocument","useElementInputsAst","InheritanceProcessor","useBindingsForElement","elementId","breakpoint","breakpoints","inputsAst","document","bindings","breakpointNames","map","bp","name","bindingsProcessor","inheritanceProcessor","rawBindings","resolvedBindings","getBindings","inheritanceMap","getInheritanceMap","length"],"sources":["useBindingsForElement.ts"],"sourcesContent":["import { toJS } from \"mobx\";\nimport { BindingsProcessor } from \"@webiny/website-builder-sdk\";\nimport { useBreakpoint } from \"~/BaseEditor/hooks/useBreakpoint\";\nimport { useSelectFromDocument } from \"~/BaseEditor/hooks/useSelectFromDocument\";\nimport { useElementInputsAst } from \"~/BaseEditor/hooks/useElementInputsAst\";\nimport { InheritanceProcessor } from \"@webiny/website-builder-sdk\";\n\nexport const useBindingsForElement = (elementId: string) => {\n const { breakpoint, breakpoints } = useBreakpoint();\n const inputsAst = useElementInputsAst(elementId);\n\n return useSelectFromDocument(\n document => {\n const bindings = toJS(document.bindings[elementId]) ?? {};\n\n // Merge element bindings.\n const breakpointNames = breakpoints.map(bp => bp.name);\n const bindingsProcessor = new BindingsProcessor(breakpointNames);\n const inheritanceProcessor = new InheritanceProcessor(breakpointNames, inputsAst);\n\n return {\n rawBindings: bindings,\n resolvedBindings: bindingsProcessor.getBindings(bindings, breakpoint.name),\n inheritanceMap: inheritanceProcessor.getInheritanceMap(bindings, breakpoint.name)\n };\n },\n [elementId, breakpoint.name, breakpoints.length]\n );\n};\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,MAAM;AAC3B,SAASC,iBAAiB,QAAQ,6BAA6B;AAC/D,SAASC,aAAa;AACtB,SAASC,qBAAqB;AAC9B,SAASC,mBAAmB;AAC5B,SAASC,oBAAoB,QAAQ,6BAA6B;AAElE,OAAO,MAAMC,qBAAqB,GAAIC,SAAiB,IAAK;EACxD,MAAM;IAAEC,UAAU;IAAEC;EAAY,CAAC,GAAGP,aAAa,CAAC,CAAC;EACnD,MAAMQ,SAAS,GAAGN,mBAAmB,CAACG,SAAS,CAAC;EAEhD,OAAOJ,qBAAqB,CACxBQ,QAAQ,IAAI;IACR,MAAMC,QAAQ,GAAGZ,IAAI,CAACW,QAAQ,CAACC,QAAQ,CAACL,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;;IAEzD;IACA,MAAMM,eAAe,GAAGJ,WAAW,CAACK,GAAG,CAACC,EAAE,IAAIA,EAAE,CAACC,IAAI,CAAC;IACtD,MAAMC,iBAAiB,GAAG,IAAIhB,iBAAiB,CAACY,eAAe,CAAC;IAChE,MAAMK,oBAAoB,GAAG,IAAIb,oBAAoB,CAACQ,eAAe,EAAEH,SAAS,CAAC;IAEjF,OAAO;MACHS,WAAW,EAAEP,QAAQ;MACrBQ,gBAAgB,EAAEH,iBAAiB,CAACI,WAAW,CAACT,QAAQ,EAAEJ,UAAU,CAACQ,IAAI,CAAC;MAC1EM,cAAc,EAAEJ,oBAAoB,CAACK,iBAAiB,CAACX,QAAQ,EAAEJ,UAAU,CAACQ,IAAI;IACpF,CAAC;EACL,CAAC,EACD,CAACT,SAAS,EAAEC,UAAU,CAACQ,IAAI,EAAEP,WAAW,CAACe,MAAM,CACnD,CAAC;AACL,CAAC","ignoreList":[]}
@@ -1,9 +1,12 @@
1
1
  import React, { useMemo } from "react";
2
2
  import { Text, Tag, Icon, Button, Separator, DropdownMenu, FormComponentLabel } from "@webiny/admin-ui";
3
3
  import { useBreakpoint } from "../../hooks/useBreakpoint";
4
+ import { InlineSvg } from "../Toolbar/InsertElements/InlineSvg";
4
5
  const getBreakpointIcon = (breakpoints, name) => {
5
6
  const bp = breakpoints.find(breakpoint => breakpoint.name === name);
6
- return bp ? bp.icon : null;
7
+ return bp ? /*#__PURE__*/React.createElement(InlineSvg, {
8
+ src: bp.icon
9
+ }) : null;
7
10
  };
8
11
  const iconClassName = "wby-cursor-pointer wby-mr-xs wby-mb-[2px]";
9
12
  export const InheritanceLabel = ({
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","Text","Tag","Icon","Button","Separator","DropdownMenu","FormComponentLabel","useBreakpoint","getBreakpointIcon","breakpoints","name","bp","find","breakpoint","icon","iconClassName","InheritanceLabel","inheritedFrom","isOverridden","text","onReset","isBaseBreakpoint","baseBreakpoint","createElement","className","trigger","label","size","color","style","fill","align","side","width","InheritedFrom","overriddenAt","variant","margin","onClick","content"],"sources":["InheritanceLabel.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport {\n Text,\n Tag,\n Icon,\n Button,\n Separator,\n DropdownMenu,\n FormComponentLabel\n} from \"@webiny/admin-ui\";\nimport type { EditorBreakpoint } from \"~/BaseEditor/hooks/useBreakpoint\";\nimport { useBreakpoint } from \"~/BaseEditor/hooks/useBreakpoint\";\n\nexport interface InheritanceLabelProps {\n text: React.ReactNode;\n isOverridden: boolean;\n onReset: () => void;\n inheritedFrom?: string;\n}\n\nconst getBreakpointIcon = (breakpoints: EditorBreakpoint[], name: string) => {\n const bp = breakpoints.find(breakpoint => breakpoint.name === name);\n return bp ? bp.icon : null;\n};\n\nconst iconClassName = \"wby-cursor-pointer wby-mr-xs wby-mb-[2px]\";\n\nexport const InheritanceLabel = ({\n inheritedFrom,\n isOverridden,\n text,\n onReset\n}: InheritanceLabelProps) => {\n const { breakpoint, breakpoints, isBaseBreakpoint } = useBreakpoint();\n const baseBreakpoint = breakpoints[0];\n\n const icon = useMemo(() => {\n const bp = inheritedFrom ?? baseBreakpoint.name;\n return getBreakpointIcon(breakpoints, bp);\n }, [inheritedFrom, breakpoint.name]);\n\n if (isBaseBreakpoint) {\n return <FormComponentLabel text={text} />;\n }\n\n return (\n <div className={\"wby-flex wby-items-center\"}>\n <DropdownMenu\n trigger={\n isOverridden ? (\n <Icon\n icon={icon}\n label=\"\"\n size=\"sm\"\n color=\"neutral-strong\"\n className={iconClassName}\n style={{ fill: \"hsl(var(--bg-success-default))\" }}\n />\n ) : (\n <Icon\n icon={icon}\n label=\"\"\n size=\"sm\"\n color=\"neutral-strong\"\n className={iconClassName}\n />\n )\n }\n align=\"center\"\n side=\"bottom\"\n className={\"wy-p-sm wby-shadow-lg\"}\n >\n <div className={\"wby-p-sm wby-text-sm\"} style={{ width: 200 }}>\n <InheritedFrom\n inheritedFrom={inheritedFrom ?? baseBreakpoint.name}\n overriddenAt={isOverridden ? breakpoint.name : null}\n onReset={onReset}\n />\n </div>\n </DropdownMenu>\n <FormComponentLabel text={text} />\n </div>\n );\n};\n\ninterface InheritedFromProps {\n overriddenAt: string | null;\n inheritedFrom?: string;\n onReset: () => void;\n}\n\nexport const InheritedFrom = ({ overriddenAt, inheritedFrom, onReset }: InheritedFromProps) => {\n if (overriddenAt) {\n return (\n <div>\n This value is set on the current breakpoint.\n <Separator variant={\"dimmed\"} margin={\"lg\"} />\n <Button variant={\"primary\"} onClick={onReset} text={\"Reset value\"} size={\"sm\"} />\n <Separator variant={\"dimmed\"} margin={\"lg\"} />\n Resetting will inherit the value from the{\" \"}\n <Tag variant={\"neutral-muted\"} content={inheritedFrom} /> breakpoint.\n </div>\n );\n }\n\n return (\n <Text size={\"sm\"}>\n This value is inherited from the{\" \"}\n <Tag variant={\"neutral-muted\"} content={inheritedFrom} /> breakpoint.\n </Text>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","Text","Tag","Icon","Button","Separator","DropdownMenu","FormComponentLabel","useBreakpoint","InlineSvg","getBreakpointIcon","breakpoints","name","bp","find","breakpoint","createElement","src","icon","iconClassName","InheritanceLabel","inheritedFrom","isOverridden","text","onReset","isBaseBreakpoint","baseBreakpoint","className","trigger","label","size","color","style","fill","align","side","width","InheritedFrom","overriddenAt","variant","margin","onClick","content"],"sources":["InheritanceLabel.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport {\n Text,\n Tag,\n Icon,\n Button,\n Separator,\n DropdownMenu,\n FormComponentLabel\n} from \"@webiny/admin-ui\";\nimport { useBreakpoint } from \"~/BaseEditor/hooks/useBreakpoint\";\nimport { InlineSvg } from \"~/BaseEditor/defaultConfig/Toolbar/InsertElements/InlineSvg\";\nimport type { Breakpoint } from \"@webiny/website-builder-sdk\";\n\nexport interface InheritanceLabelProps {\n text: React.ReactNode;\n isOverridden: boolean;\n onReset: () => void;\n inheritedFrom?: string;\n}\n\nconst getBreakpointIcon = (breakpoints: Breakpoint[], name: string) => {\n const bp = breakpoints.find(breakpoint => breakpoint.name === name);\n return bp ? <InlineSvg src={bp.icon} /> : null;\n};\n\nconst iconClassName = \"wby-cursor-pointer wby-mr-xs wby-mb-[2px]\";\n\nexport const InheritanceLabel = ({\n inheritedFrom,\n isOverridden,\n text,\n onReset\n}: InheritanceLabelProps) => {\n const { breakpoint, breakpoints, isBaseBreakpoint } = useBreakpoint();\n const baseBreakpoint = breakpoints[0];\n\n const icon = useMemo(() => {\n const bp = inheritedFrom ?? baseBreakpoint.name;\n return getBreakpointIcon(breakpoints, bp);\n }, [inheritedFrom, breakpoint.name]);\n\n if (isBaseBreakpoint) {\n return <FormComponentLabel text={text} />;\n }\n\n return (\n <div className={\"wby-flex wby-items-center\"}>\n <DropdownMenu\n trigger={\n isOverridden ? (\n <Icon\n icon={icon}\n label=\"\"\n size=\"sm\"\n color=\"neutral-strong\"\n className={iconClassName}\n style={{ fill: \"hsl(var(--bg-success-default))\" }}\n />\n ) : (\n <Icon\n icon={icon}\n label=\"\"\n size=\"sm\"\n color=\"neutral-strong\"\n className={iconClassName}\n />\n )\n }\n align=\"center\"\n side=\"bottom\"\n className={\"wy-p-sm wby-shadow-lg\"}\n >\n <div className={\"wby-p-sm wby-text-sm\"} style={{ width: 200 }}>\n <InheritedFrom\n inheritedFrom={inheritedFrom ?? baseBreakpoint.name}\n overriddenAt={isOverridden ? breakpoint.name : null}\n onReset={onReset}\n />\n </div>\n </DropdownMenu>\n <FormComponentLabel text={text} />\n </div>\n );\n};\n\ninterface InheritedFromProps {\n overriddenAt: string | null;\n inheritedFrom?: string;\n onReset: () => void;\n}\n\nexport const InheritedFrom = ({ overriddenAt, inheritedFrom, onReset }: InheritedFromProps) => {\n if (overriddenAt) {\n return (\n <div>\n This value is set on the current breakpoint.\n <Separator variant={\"dimmed\"} margin={\"lg\"} />\n <Button variant={\"primary\"} onClick={onReset} text={\"Reset value\"} size={\"sm\"} />\n <Separator variant={\"dimmed\"} margin={\"lg\"} />\n Resetting will inherit the value from the{\" \"}\n <Tag variant={\"neutral-muted\"} content={inheritedFrom} /> breakpoint.\n </div>\n );\n }\n\n return (\n <Text size={\"sm\"}>\n This value is inherited from the{\" \"}\n <Tag variant={\"neutral-muted\"} content={inheritedFrom} /> breakpoint.\n </Text>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -19,8 +19,8 @@ export class StylesStore {
19
19
  this.breakpointNames = breakpointNames;
20
20
  const manifest = $getComponentManifestByElementId(editor, elementId ?? "");
21
21
  const inputsAst = ComponentManifestToAstConverter.convert(manifest?.inputs ?? []);
22
- this.bindingsProcessor = new BindingsProcessor(this.breakpointNames);
23
- this.inheritanceProcessor = new InheritanceProcessor(this.breakpointNames, inputsAst);
22
+ this.bindingsProcessor = new BindingsProcessor(breakpointNames);
23
+ this.inheritanceProcessor = new InheritanceProcessor(breakpointNames, inputsAst);
24
24
  const document = this.editor.getDocumentState().read();
25
25
  const editorState = this.editor.getEditorState().read();
26
26
  const breakpoint = editorState.breakpoint ?? BASE_BREAKPOINT;
@@ -57,11 +57,11 @@ export class StylesStore {
57
57
  });
58
58
  const finalStyles = styles.getAll();
59
59
  const updatedStyles = this.stylesProcessor.createUpdate(finalStyles, this.currentBreakpoint);
60
- this.localPreviewStyles = undefined;
61
60
  this.editor.updateDocument(document => {
62
61
  updatedStyles.applyToDocument(document);
63
62
  this.elementMetadata.applyToDocument(document);
64
63
  });
64
+ this.localPreviewStyles = undefined;
65
65
  };
66
66
  onPreviewChange = cb => {
67
67
  if (!this.stylesProcessor) {
@@ -1 +1 @@
1
- {"version":3,"names":["StylesBindingsProcessor","BreakpointElementMetadata","ElementMetadata","NullMetadata","StylesMetadata","Commands","autorun","makeAutoObservable","runInAction","InheritanceProcessor","BindingsProcessor","$getComponentManifestByElementId","ComponentManifestToAstConverter","BASE_BREAKPOINT","StylesStore","elementMetadata","devFriendlyStyles","localPreviewStyles","undefined","inheritanceMap","rawBindings","constructor","editor","elementId","breakpointNames","manifest","inputsAst","convert","inputs","bindingsProcessor","inheritanceProcessor","document","getDocumentState","read","editorState","getEditorState","breakpoint","currentBreakpoint","calculateStuff","vm","styles","metadata","onChange","cb","stylesProcessor","StylesValueObject","finalStyles","getAll","updatedStyles","createUpdate","updateDocument","applyToDocument","onPreviewChange","structuredClone","executeCommand","PreviewPatchElement","patch","createJsonPatch","bindings","resolvedBindings","getBindings","getInheritanceMap","toDeepStyles","value","set","key","get","unset"],"sources":["StylesStore.ts"],"sourcesContent":["import type { useDocumentEditor } from \"~/DocumentEditor\";\nimport { StylesBindingsProcessor } from \"@webiny/website-builder-sdk\";\nimport type { IMetadata } from \"~/BaseEditor/metadata\";\nimport {\n BreakpointElementMetadata,\n ElementMetadata,\n NullMetadata,\n StylesMetadata\n} from \"~/BaseEditor/metadata\";\nimport { Commands } from \"~/BaseEditor\";\nimport type { Editor } from \"~/editorSdk/Editor\";\nimport { autorun, makeAutoObservable, runInAction } from \"mobx\";\nimport { type InheritanceInfo, InheritanceProcessor } from \"@webiny/website-builder-sdk\";\nimport {\n BindingsProcessor,\n type DocumentElementBindings,\n type Document\n} from \"@webiny/website-builder-sdk\";\nimport { $getComponentManifestByElementId } from \"~/editorSdk/utils\";\nimport { ComponentManifestToAstConverter } from \"@webiny/website-builder-sdk\";\nimport { BASE_BREAKPOINT } from \"~/constants\";\n\nexport type ElementBreakpointStyles = {\n styles: Record<string, any>;\n metadata: IMetadata;\n inheritanceMap: InheritanceInfo[\"styles\"];\n};\n\nexport class StylesStore {\n private editor: ReturnType<typeof useDocumentEditor>;\n private elementId: string;\n private breakpointNames: string[];\n private stylesProcessor: StylesBindingsProcessor | undefined;\n private elementMetadata: IMetadata = new NullMetadata();\n private devFriendlyStyles: Record<string, any> = {};\n private localPreviewStyles: Record<string, any> | undefined = undefined;\n private currentBreakpoint: string;\n private inheritanceMap: InheritanceInfo[\"styles\"] = {};\n private rawBindings: DocumentElementBindings = {};\n private bindingsProcessor: BindingsProcessor;\n private inheritanceProcessor: InheritanceProcessor;\n constructor(editor: Editor, elementId: string, breakpointNames: string[]) {\n this.editor = editor;\n this.elementId = elementId;\n this.breakpointNames = breakpointNames;\n\n const manifest = $getComponentManifestByElementId(editor, elementId ?? \"\");\n const inputsAst = ComponentManifestToAstConverter.convert(manifest?.inputs ?? []);\n\n this.bindingsProcessor = new BindingsProcessor(this.breakpointNames);\n this.inheritanceProcessor = new InheritanceProcessor(this.breakpointNames, inputsAst);\n\n const document = this.editor.getDocumentState().read();\n const editorState = this.editor.getEditorState().read();\n const breakpoint = editorState.breakpoint ?? BASE_BREAKPOINT;\n this.currentBreakpoint = breakpoint;\n\n // Initial setup.\n this.calculateStuff(document, breakpoint);\n\n autorun(() => {\n const document = this.editor.getDocumentState().read();\n const editorState = this.editor.getEditorState().read();\n const breakpoint = editorState.breakpoint ?? BASE_BREAKPOINT;\n\n runInAction(() => {\n this.currentBreakpoint = breakpoint;\n this.calculateStuff(document, breakpoint);\n });\n });\n\n makeAutoObservable(this);\n }\n\n get vm(): ElementBreakpointStyles {\n return {\n styles: this.localPreviewStyles ?? this.devFriendlyStyles,\n metadata: this.elementMetadata,\n inheritanceMap: this.inheritanceMap\n };\n }\n\n onChange = (cb: (params: { styles: StylesValueObject; metadata: IMetadata }) => void) => {\n if (!this.stylesProcessor) {\n return;\n }\n\n const styles = new StylesValueObject(this.devFriendlyStyles);\n cb({ styles, metadata: this.elementMetadata });\n\n const finalStyles = styles.getAll();\n\n const updatedStyles = this.stylesProcessor.createUpdate(\n finalStyles,\n this.currentBreakpoint\n );\n\n this.localPreviewStyles = undefined;\n\n this.editor.updateDocument(document => {\n updatedStyles.applyToDocument(document);\n this.elementMetadata.applyToDocument(document);\n });\n };\n\n onPreviewChange = (\n cb: (params: { styles: StylesValueObject; metadata: IMetadata }) => void\n ) => {\n if (!this.stylesProcessor) {\n return;\n }\n\n const styles = new StylesValueObject(structuredClone(this.devFriendlyStyles));\n\n cb({ styles, metadata: this.elementMetadata });\n\n const finalStyles = styles.getAll();\n\n this.localPreviewStyles = finalStyles;\n\n const updatedStyles = this.stylesProcessor.createUpdate(\n finalStyles,\n this.currentBreakpoint\n );\n\n this.editor.executeCommand(Commands.PreviewPatchElement, {\n elementId: this.elementId,\n patch: updatedStyles.createJsonPatch(this.rawBindings)\n });\n };\n\n private calculateStuff(document: Document, breakpoint: string) {\n const bindings = document.bindings[this.elementId] ?? {};\n\n this.rawBindings = bindings;\n const resolvedBindings = this.bindingsProcessor.getBindings(bindings, breakpoint);\n\n const inheritanceMap = this.inheritanceProcessor.getInheritanceMap(bindings, breakpoint);\n\n this.inheritanceMap = inheritanceMap.styles;\n\n this.stylesProcessor = new StylesBindingsProcessor(\n this.elementId,\n this.breakpointNames,\n bindings\n );\n\n this.elementMetadata = new StylesMetadata(\n new BreakpointElementMetadata(\n this.breakpointNames,\n breakpoint,\n new ElementMetadata(this.elementId, bindings.metadata)\n )\n );\n\n this.devFriendlyStyles = this.stylesProcessor.toDeepStyles(resolvedBindings.styles);\n }\n}\n\nexport class StylesValueObject {\n private readonly value: Record<string, any>;\n\n constructor(value: any = {}) {\n this.value = value;\n }\n\n set(key: string, value: any) {\n this.value[key] = value;\n }\n\n get(key: string) {\n return this.value[key];\n }\n\n getAll() {\n return this.value;\n }\n\n unset(key: string) {\n delete this.value[key];\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["StylesBindingsProcessor","BreakpointElementMetadata","ElementMetadata","NullMetadata","StylesMetadata","Commands","autorun","makeAutoObservable","runInAction","InheritanceProcessor","BindingsProcessor","$getComponentManifestByElementId","ComponentManifestToAstConverter","BASE_BREAKPOINT","StylesStore","elementMetadata","devFriendlyStyles","localPreviewStyles","undefined","inheritanceMap","rawBindings","constructor","editor","elementId","breakpointNames","manifest","inputsAst","convert","inputs","bindingsProcessor","inheritanceProcessor","document","getDocumentState","read","editorState","getEditorState","breakpoint","currentBreakpoint","calculateStuff","vm","styles","metadata","onChange","cb","stylesProcessor","StylesValueObject","finalStyles","getAll","updatedStyles","createUpdate","updateDocument","applyToDocument","onPreviewChange","structuredClone","executeCommand","PreviewPatchElement","patch","createJsonPatch","bindings","resolvedBindings","getBindings","getInheritanceMap","toDeepStyles","value","set","key","get","unset"],"sources":["StylesStore.ts"],"sourcesContent":["import type { useDocumentEditor } from \"~/DocumentEditor\";\nimport { StylesBindingsProcessor } from \"@webiny/website-builder-sdk\";\nimport type { IMetadata } from \"~/BaseEditor/metadata\";\nimport {\n BreakpointElementMetadata,\n ElementMetadata,\n NullMetadata,\n StylesMetadata\n} from \"~/BaseEditor/metadata\";\nimport { Commands } from \"~/BaseEditor\";\nimport type { Editor } from \"~/editorSdk/Editor\";\nimport { autorun, makeAutoObservable, runInAction } from \"mobx\";\nimport { type InheritanceInfo, InheritanceProcessor } from \"@webiny/website-builder-sdk\";\nimport {\n BindingsProcessor,\n type DocumentElementBindings,\n type Document\n} from \"@webiny/website-builder-sdk\";\nimport { $getComponentManifestByElementId } from \"~/editorSdk/utils\";\nimport { ComponentManifestToAstConverter } from \"@webiny/website-builder-sdk\";\nimport { BASE_BREAKPOINT } from \"~/constants\";\n\nexport type ElementBreakpointStyles = {\n styles: Record<string, any>;\n metadata: IMetadata;\n inheritanceMap: InheritanceInfo[\"styles\"];\n};\n\nexport class StylesStore {\n private editor: ReturnType<typeof useDocumentEditor>;\n private elementId: string;\n private breakpointNames: string[];\n private stylesProcessor: StylesBindingsProcessor | undefined;\n private elementMetadata: IMetadata = new NullMetadata();\n private devFriendlyStyles: Record<string, any> = {};\n private localPreviewStyles: Record<string, any> | undefined = undefined;\n private currentBreakpoint: string;\n private inheritanceMap: InheritanceInfo[\"styles\"] = {};\n private rawBindings: DocumentElementBindings = {};\n private bindingsProcessor: BindingsProcessor;\n private inheritanceProcessor: InheritanceProcessor;\n constructor(editor: Editor, elementId: string, breakpointNames: string[]) {\n this.editor = editor;\n this.elementId = elementId;\n this.breakpointNames = breakpointNames;\n\n const manifest = $getComponentManifestByElementId(editor, elementId ?? \"\");\n const inputsAst = ComponentManifestToAstConverter.convert(manifest?.inputs ?? []);\n\n this.bindingsProcessor = new BindingsProcessor(breakpointNames);\n this.inheritanceProcessor = new InheritanceProcessor(breakpointNames, inputsAst);\n\n const document = this.editor.getDocumentState().read();\n const editorState = this.editor.getEditorState().read();\n const breakpoint = editorState.breakpoint ?? BASE_BREAKPOINT;\n this.currentBreakpoint = breakpoint;\n\n // Initial setup.\n this.calculateStuff(document, breakpoint);\n\n autorun(() => {\n const document = this.editor.getDocumentState().read();\n const editorState = this.editor.getEditorState().read();\n const breakpoint = editorState.breakpoint ?? BASE_BREAKPOINT;\n\n runInAction(() => {\n this.currentBreakpoint = breakpoint;\n this.calculateStuff(document, breakpoint);\n });\n });\n\n makeAutoObservable(this);\n }\n\n get vm(): ElementBreakpointStyles {\n return {\n styles: this.localPreviewStyles ?? this.devFriendlyStyles,\n metadata: this.elementMetadata,\n inheritanceMap: this.inheritanceMap\n };\n }\n\n onChange = (cb: (params: { styles: StylesValueObject; metadata: IMetadata }) => void) => {\n if (!this.stylesProcessor) {\n return;\n }\n\n const styles = new StylesValueObject(this.devFriendlyStyles);\n cb({ styles, metadata: this.elementMetadata });\n\n const finalStyles = styles.getAll();\n\n const updatedStyles = this.stylesProcessor.createUpdate(\n finalStyles,\n this.currentBreakpoint\n );\n\n this.editor.updateDocument(document => {\n updatedStyles.applyToDocument(document);\n this.elementMetadata.applyToDocument(document);\n });\n\n this.localPreviewStyles = undefined;\n };\n\n onPreviewChange = (\n cb: (params: { styles: StylesValueObject; metadata: IMetadata }) => void\n ) => {\n if (!this.stylesProcessor) {\n return;\n }\n\n const styles = new StylesValueObject(structuredClone(this.devFriendlyStyles));\n\n cb({ styles, metadata: this.elementMetadata });\n\n const finalStyles = styles.getAll();\n\n this.localPreviewStyles = finalStyles;\n\n const updatedStyles = this.stylesProcessor.createUpdate(\n finalStyles,\n this.currentBreakpoint\n );\n\n this.editor.executeCommand(Commands.PreviewPatchElement, {\n elementId: this.elementId,\n patch: updatedStyles.createJsonPatch(this.rawBindings)\n });\n };\n\n private calculateStuff(document: Document, breakpoint: string) {\n const bindings = document.bindings[this.elementId] ?? {};\n\n this.rawBindings = bindings;\n const resolvedBindings = this.bindingsProcessor.getBindings(bindings, breakpoint);\n\n const inheritanceMap = this.inheritanceProcessor.getInheritanceMap(bindings, breakpoint);\n\n this.inheritanceMap = inheritanceMap.styles;\n\n this.stylesProcessor = new StylesBindingsProcessor(\n this.elementId,\n this.breakpointNames,\n bindings\n );\n\n this.elementMetadata = new StylesMetadata(\n new BreakpointElementMetadata(\n this.breakpointNames,\n breakpoint,\n new ElementMetadata(this.elementId, bindings.metadata)\n )\n );\n\n this.devFriendlyStyles = this.stylesProcessor.toDeepStyles(resolvedBindings.styles);\n }\n}\n\nexport class StylesValueObject {\n private readonly value: Record<string, any>;\n\n constructor(value: any = {}) {\n this.value = value;\n }\n\n set(key: string, value: any) {\n this.value[key] = value;\n }\n\n get(key: string) {\n return this.value[key];\n }\n\n getAll() {\n return this.value;\n }\n\n unset(key: string) {\n delete this.value[key];\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -11,14 +11,15 @@ export function useStyles(elementId) {
11
11
  breakpoints
12
12
  } = useBreakpoint();
13
13
  const store = useMemo(() => {
14
+ const cacheKey = [elementId, ...breakpoints].join(";");
14
15
  // Create or get existing store for this element
15
- let store = stylesStores.get(elementId);
16
+ let store = stylesStores.get(cacheKey);
16
17
  if (!store) {
17
18
  store = new StylesStore(editor, elementId, breakpoints.map(bp => bp.name));
18
- stylesStores.set(elementId, store);
19
+ stylesStores.set(cacheKey, store);
19
20
  }
20
21
  return store;
21
- }, [elementId]);
22
+ }, [elementId, breakpoints.length]);
22
23
  return {
23
24
  store,
24
25
  styles: store.vm.styles,
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useDocumentEditor","useBreakpoint","StylesStore","stylesStores","Map","useStyles","elementId","editor","breakpoints","store","get","map","bp","name","set","styles","vm","metadata","inheritanceMap","onChange","onPreviewChange"],"sources":["useStyles.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { useDocumentEditor } from \"~/DocumentEditor\";\nimport { useBreakpoint } from \"~/BaseEditor/hooks/useBreakpoint\";\nimport { StylesStore, type ElementBreakpointStyles } from \"./StylesStore\";\n\n// Singleton store container\nconst stylesStores = new Map<string, StylesStore>();\n\nexport type { ElementBreakpointStyles };\n\nexport function useStyles(elementId: string) {\n const editor = useDocumentEditor();\n const { breakpoints } = useBreakpoint();\n\n const store = useMemo(() => {\n // Create or get existing store for this element\n let store = stylesStores.get(elementId);\n\n if (!store) {\n store = new StylesStore(\n editor,\n elementId,\n breakpoints.map(bp => bp.name)\n );\n stylesStores.set(elementId, store);\n }\n\n return store;\n }, [elementId]);\n\n return {\n store,\n styles: store.vm.styles,\n metadata: store.vm.metadata,\n inheritanceMap: store.vm.inheritanceMap,\n onChange: store.onChange,\n onPreviewChange: store.onPreviewChange\n };\n}\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,iBAAiB;AAC1B,SAASC,aAAa;AACtB,SAASC,WAAW;;AAEpB;AACA,MAAMC,YAAY,GAAG,IAAIC,GAAG,CAAsB,CAAC;AAInD,OAAO,SAASC,SAASA,CAACC,SAAiB,EAAE;EACzC,MAAMC,MAAM,GAAGP,iBAAiB,CAAC,CAAC;EAClC,MAAM;IAAEQ;EAAY,CAAC,GAAGP,aAAa,CAAC,CAAC;EAEvC,MAAMQ,KAAK,GAAGV,OAAO,CAAC,MAAM;IACxB;IACA,IAAIU,KAAK,GAAGN,YAAY,CAACO,GAAG,CAACJ,SAAS,CAAC;IAEvC,IAAI,CAACG,KAAK,EAAE;MACRA,KAAK,GAAG,IAAIP,WAAW,CACnBK,MAAM,EACND,SAAS,EACTE,WAAW,CAACG,GAAG,CAACC,EAAE,IAAIA,EAAE,CAACC,IAAI,CACjC,CAAC;MACDV,YAAY,CAACW,GAAG,CAACR,SAAS,EAAEG,KAAK,CAAC;IACtC;IAEA,OAAOA,KAAK;EAChB,CAAC,EAAE,CAACH,SAAS,CAAC,CAAC;EAEf,OAAO;IACHG,KAAK;IACLM,MAAM,EAAEN,KAAK,CAACO,EAAE,CAACD,MAAM;IACvBE,QAAQ,EAAER,KAAK,CAACO,EAAE,CAACC,QAAQ;IAC3BC,cAAc,EAAET,KAAK,CAACO,EAAE,CAACE,cAAc;IACvCC,QAAQ,EAAEV,KAAK,CAACU,QAAQ;IACxBC,eAAe,EAAEX,KAAK,CAACW;EAC3B,CAAC;AACL","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","useDocumentEditor","useBreakpoint","StylesStore","stylesStores","Map","useStyles","elementId","editor","breakpoints","store","cacheKey","join","get","map","bp","name","set","length","styles","vm","metadata","inheritanceMap","onChange","onPreviewChange"],"sources":["useStyles.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { useDocumentEditor } from \"~/DocumentEditor\";\nimport { useBreakpoint } from \"~/BaseEditor/hooks/useBreakpoint\";\nimport { StylesStore, type ElementBreakpointStyles } from \"./StylesStore\";\n\n// Singleton store container\nconst stylesStores = new Map<string, StylesStore>();\n\nexport type { ElementBreakpointStyles };\n\nexport function useStyles(elementId: string) {\n const editor = useDocumentEditor();\n const { breakpoints } = useBreakpoint();\n\n const store = useMemo(() => {\n const cacheKey = [elementId, ...breakpoints].join(\";\");\n // Create or get existing store for this element\n let store = stylesStores.get(cacheKey);\n\n if (!store) {\n store = new StylesStore(\n editor,\n elementId,\n breakpoints.map(bp => bp.name)\n );\n stylesStores.set(cacheKey, store);\n }\n\n return store;\n }, [elementId, breakpoints.length]);\n\n return {\n store,\n styles: store.vm.styles,\n metadata: store.vm.metadata,\n inheritanceMap: store.vm.inheritanceMap,\n onChange: store.onChange,\n onPreviewChange: store.onPreviewChange\n };\n}\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,iBAAiB;AAC1B,SAASC,aAAa;AACtB,SAASC,WAAW;;AAEpB;AACA,MAAMC,YAAY,GAAG,IAAIC,GAAG,CAAsB,CAAC;AAInD,OAAO,SAASC,SAASA,CAACC,SAAiB,EAAE;EACzC,MAAMC,MAAM,GAAGP,iBAAiB,CAAC,CAAC;EAClC,MAAM;IAAEQ;EAAY,CAAC,GAAGP,aAAa,CAAC,CAAC;EAEvC,MAAMQ,KAAK,GAAGV,OAAO,CAAC,MAAM;IACxB,MAAMW,QAAQ,GAAG,CAACJ,SAAS,EAAE,GAAGE,WAAW,CAAC,CAACG,IAAI,CAAC,GAAG,CAAC;IACtD;IACA,IAAIF,KAAK,GAAGN,YAAY,CAACS,GAAG,CAACF,QAAQ,CAAC;IAEtC,IAAI,CAACD,KAAK,EAAE;MACRA,KAAK,GAAG,IAAIP,WAAW,CACnBK,MAAM,EACND,SAAS,EACTE,WAAW,CAACK,GAAG,CAACC,EAAE,IAAIA,EAAE,CAACC,IAAI,CACjC,CAAC;MACDZ,YAAY,CAACa,GAAG,CAACN,QAAQ,EAAED,KAAK,CAAC;IACrC;IAEA,OAAOA,KAAK;EAChB,CAAC,EAAE,CAACH,SAAS,EAAEE,WAAW,CAACS,MAAM,CAAC,CAAC;EAEnC,OAAO;IACHR,KAAK;IACLS,MAAM,EAAET,KAAK,CAACU,EAAE,CAACD,MAAM;IACvBE,QAAQ,EAAEX,KAAK,CAACU,EAAE,CAACC,QAAQ;IAC3BC,cAAc,EAAEZ,KAAK,CAACU,EAAE,CAACE,cAAc;IACvCC,QAAQ,EAAEb,KAAK,CAACa,QAAQ;IACxBC,eAAe,EAAEd,KAAK,CAACc;EAC3B,CAAC;AACL","ignoreList":[]}
@@ -1,16 +1,6 @@
1
- import type React from "react";
2
- import type { Breakpoint } from "@webiny/website-builder-sdk";
3
- export type EditorBreakpoint = Breakpoint & {
4
- title: string;
5
- description: string;
6
- icon: React.ReactNode;
7
- };
8
1
  export declare const useBreakpoint: () => {
9
2
  isBaseBreakpoint: boolean;
10
- breakpoint: import("@webiny/website-builder-sdk/types/WebsiteBuilderTheme").Breakpoint | {
11
- name: string;
12
- maxWidth: number;
13
- };
14
- breakpoints: import("@webiny/website-builder-sdk/types/WebsiteBuilderTheme").Breakpoint[];
3
+ breakpoint: import("@webiny/website-builder-sdk").Breakpoint;
4
+ breakpoints: import("@webiny/website-builder-sdk").Breakpoint[];
15
5
  setBreakpoint: (mode: string) => void;
16
6
  };
@@ -16,9 +16,13 @@ export const useBreakpoint = () => {
16
16
  const bp = breakpoints.find(bp => bp.name === activeBreakpoint);
17
17
  return bp ?? {
18
18
  name: BASE_BREAKPOINT,
19
+ title: "Base Breakpoint",
20
+ description: "",
21
+ icon: "",
22
+ minWidth: 0,
19
23
  maxWidth: 4000
20
24
  };
21
- }, [activeBreakpoint, breakpoints]);
25
+ }, [activeBreakpoint, breakpoints.length]);
22
26
  const setBreakpoint = useCallback(mode => {
23
27
  editor.updateEditor(state => {
24
28
  state.breakpoint = mode;
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useMemo","useDocumentEditor","useSelectFromEditor","BASE_BREAKPOINT","useWebsiteBuilderTheme","useBreakpoint","theme","breakpoints","editor","activeBreakpoint","state","breakpoint","name","bp","find","maxWidth","setBreakpoint","mode","updateEditor","isBaseBreakpoint"],"sources":["useBreakpoint.tsx"],"sourcesContent":["import type React from \"react\";\nimport { useCallback, useMemo } from \"react\";\nimport { useDocumentEditor } from \"~/DocumentEditor\";\nimport { useSelectFromEditor } from \"~/BaseEditor/hooks/useSelectFromEditor\";\nimport type { Breakpoint } from \"@webiny/website-builder-sdk\";\nimport { BASE_BREAKPOINT } from \"~/constants\";\nimport { useWebsiteBuilderTheme } from \"~/BaseEditor/components\";\n\nexport type EditorBreakpoint = Breakpoint & {\n title: string;\n description: string;\n icon: React.ReactNode;\n};\n\nexport const useBreakpoint = () => {\n const { theme } = useWebsiteBuilderTheme();\n const breakpoints = theme?.breakpoints ?? [];\n\n const editor = useDocumentEditor();\n const activeBreakpoint = useSelectFromEditor<string>(state => {\n return state.breakpoint ?? breakpoints[0]?.name ?? \"desktop\";\n });\n\n const breakpoint = useMemo(() => {\n const bp = breakpoints.find(bp => bp.name === activeBreakpoint);\n return (\n bp ?? {\n name: BASE_BREAKPOINT,\n maxWidth: 4000\n }\n );\n }, [activeBreakpoint, breakpoints]);\n\n const setBreakpoint = useCallback(\n (mode: string) => {\n editor.updateEditor(state => {\n state.breakpoint = mode;\n });\n },\n [editor]\n );\n\n return {\n isBaseBreakpoint: breakpoint.name === BASE_BREAKPOINT,\n breakpoint,\n breakpoints,\n setBreakpoint\n };\n};\n"],"mappings":"AACA,SAASA,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAC5C,SAASC,iBAAiB;AAC1B,SAASC,mBAAmB;AAE5B,SAASC,eAAe;AACxB,SAASC,sBAAsB;AAQ/B,OAAO,MAAMC,aAAa,GAAGA,CAAA,KAAM;EAC/B,MAAM;IAAEC;EAAM,CAAC,GAAGF,sBAAsB,CAAC,CAAC;EAC1C,MAAMG,WAAW,GAAGD,KAAK,EAAEC,WAAW,IAAI,EAAE;EAE5C,MAAMC,MAAM,GAAGP,iBAAiB,CAAC,CAAC;EAClC,MAAMQ,gBAAgB,GAAGP,mBAAmB,CAASQ,KAAK,IAAI;IAC1D,OAAOA,KAAK,CAACC,UAAU,IAAIJ,WAAW,CAAC,CAAC,CAAC,EAAEK,IAAI,IAAI,SAAS;EAChE,CAAC,CAAC;EAEF,MAAMD,UAAU,GAAGX,OAAO,CAAC,MAAM;IAC7B,MAAMa,EAAE,GAAGN,WAAW,CAACO,IAAI,CAACD,EAAE,IAAIA,EAAE,CAACD,IAAI,KAAKH,gBAAgB,CAAC;IAC/D,OACII,EAAE,IAAI;MACFD,IAAI,EAAET,eAAe;MACrBY,QAAQ,EAAE;IACd,CAAC;EAET,CAAC,EAAE,CAACN,gBAAgB,EAAEF,WAAW,CAAC,CAAC;EAEnC,MAAMS,aAAa,GAAGjB,WAAW,CAC5BkB,IAAY,IAAK;IACdT,MAAM,CAACU,YAAY,CAACR,KAAK,IAAI;MACzBA,KAAK,CAACC,UAAU,GAAGM,IAAI;IAC3B,CAAC,CAAC;EACN,CAAC,EACD,CAACT,MAAM,CACX,CAAC;EAED,OAAO;IACHW,gBAAgB,EAAER,UAAU,CAACC,IAAI,KAAKT,eAAe;IACrDQ,UAAU;IACVJ,WAAW;IACXS;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useMemo","useDocumentEditor","useSelectFromEditor","BASE_BREAKPOINT","useWebsiteBuilderTheme","useBreakpoint","theme","breakpoints","editor","activeBreakpoint","state","breakpoint","name","bp","find","title","description","icon","minWidth","maxWidth","length","setBreakpoint","mode","updateEditor","isBaseBreakpoint"],"sources":["useBreakpoint.tsx"],"sourcesContent":["import { useCallback, useMemo } from \"react\";\nimport { useDocumentEditor } from \"~/DocumentEditor\";\nimport { useSelectFromEditor } from \"~/BaseEditor/hooks/useSelectFromEditor\";\nimport { BASE_BREAKPOINT } from \"~/constants\";\nimport { useWebsiteBuilderTheme } from \"~/BaseEditor/components\";\n\nexport const useBreakpoint = () => {\n const { theme } = useWebsiteBuilderTheme();\n const breakpoints = theme?.breakpoints ?? [];\n\n const editor = useDocumentEditor();\n const activeBreakpoint = useSelectFromEditor<string>(state => {\n return state.breakpoint ?? breakpoints[0]?.name ?? \"desktop\";\n });\n\n const breakpoint = useMemo(() => {\n const bp = breakpoints.find(bp => bp.name === activeBreakpoint);\n return (\n bp ?? {\n name: BASE_BREAKPOINT,\n title: \"Base Breakpoint\",\n description: \"\",\n icon: \"\",\n minWidth: 0,\n maxWidth: 4000\n }\n );\n }, [activeBreakpoint, breakpoints.length]);\n\n const setBreakpoint = useCallback(\n (mode: string) => {\n editor.updateEditor(state => {\n state.breakpoint = mode;\n });\n },\n [editor]\n );\n\n return {\n isBaseBreakpoint: breakpoint.name === BASE_BREAKPOINT,\n breakpoint,\n breakpoints,\n setBreakpoint\n };\n};\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAC5C,SAASC,iBAAiB;AAC1B,SAASC,mBAAmB;AAC5B,SAASC,eAAe;AACxB,SAASC,sBAAsB;AAE/B,OAAO,MAAMC,aAAa,GAAGA,CAAA,KAAM;EAC/B,MAAM;IAAEC;EAAM,CAAC,GAAGF,sBAAsB,CAAC,CAAC;EAC1C,MAAMG,WAAW,GAAGD,KAAK,EAAEC,WAAW,IAAI,EAAE;EAE5C,MAAMC,MAAM,GAAGP,iBAAiB,CAAC,CAAC;EAClC,MAAMQ,gBAAgB,GAAGP,mBAAmB,CAASQ,KAAK,IAAI;IAC1D,OAAOA,KAAK,CAACC,UAAU,IAAIJ,WAAW,CAAC,CAAC,CAAC,EAAEK,IAAI,IAAI,SAAS;EAChE,CAAC,CAAC;EAEF,MAAMD,UAAU,GAAGX,OAAO,CAAC,MAAM;IAC7B,MAAMa,EAAE,GAAGN,WAAW,CAACO,IAAI,CAACD,EAAE,IAAIA,EAAE,CAACD,IAAI,KAAKH,gBAAgB,CAAC;IAC/D,OACII,EAAE,IAAI;MACFD,IAAI,EAAET,eAAe;MACrBY,KAAK,EAAE,iBAAiB;MACxBC,WAAW,EAAE,EAAE;MACfC,IAAI,EAAE,EAAE;MACRC,QAAQ,EAAE,CAAC;MACXC,QAAQ,EAAE;IACd,CAAC;EAET,CAAC,EAAE,CAACV,gBAAgB,EAAEF,WAAW,CAACa,MAAM,CAAC,CAAC;EAE1C,MAAMC,aAAa,GAAGtB,WAAW,CAC5BuB,IAAY,IAAK;IACdd,MAAM,CAACe,YAAY,CAACb,KAAK,IAAI;MACzBA,KAAK,CAACC,UAAU,GAAGW,IAAI;IAC3B,CAAC,CAAC;EACN,CAAC,EACD,CAACd,MAAM,CACX,CAAC;EAED,OAAO;IACHgB,gBAAgB,EAAEb,UAAU,CAACC,IAAI,KAAKT,eAAe;IACrDQ,UAAU;IACVJ,WAAW;IACXc;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
@@ -2,7 +2,7 @@ import React, { useEffect, useState } from "react";
2
2
  import { $getNearestNodeOfType } from "@lexical/utils";
3
3
  import { DropDown, DropDownItem, useCurrentSelection, useCurrentElement, useTypographyAction } from "@webiny/lexical-editor";
4
4
  import { $isHeadingNode, $isParagraphNode, $isQuoteNode, $isListNode, ListNode } from "@webiny/lexical-nodes";
5
- import { useTheme } from "@webiny/app-admin";
5
+ import { useWebsiteBuilderTheme } from "../../BaseEditor/components";
6
6
  export const TypographyDropDown = () => {
7
7
  const {
8
8
  value,
@@ -10,7 +10,7 @@ export const TypographyDropDown = () => {
10
10
  } = useTypographyAction();
11
11
  const {
12
12
  theme
13
- } = useTheme();
13
+ } = useWebsiteBuilderTheme();
14
14
  const [styles, setStyles] = useState([]);
15
15
  const {
16
16
  element
@@ -63,7 +63,7 @@ export const TypographyDropDown = () => {
63
63
  setStyles(getListStyles("ol"));
64
64
  }
65
65
  } else if ($isQuoteNode(element)) {
66
- setStyles(theme?.styles.typography?.quotes || []);
66
+ setStyles(theme?.styles?.typography?.quotes || []);
67
67
  } else {
68
68
  setStyles([]);
69
69
  }
@@ -77,10 +77,7 @@ export const TypographyDropDown = () => {
77
77
  showScroll: true
78
78
  }, styles?.map(option => /*#__PURE__*/React.createElement(DropDownItem, {
79
79
  className: `item typography-item ${value?.id === option.id ? "active dropdown-item-active" : ""}`,
80
- onClick: () => applyTypography({
81
- ...option,
82
- css: option.styles
83
- }),
80
+ onClick: () => applyTypography(option),
84
81
  key: option.id
85
82
  }, /*#__PURE__*/React.createElement("span", {
86
83
  className: "text"
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useState","$getNearestNodeOfType","DropDown","DropDownItem","useCurrentSelection","useCurrentElement","useTypographyAction","$isHeadingNode","$isParagraphNode","$isQuoteNode","$isListNode","ListNode","useTheme","TypographyDropDown","value","applyTypography","theme","styles","setStyles","element","rangeSelection","getAllTextStyles","typography","headingsStyles","headings","paragraphStyles","paragraphs","getListStyles","tag","listStyles","lists","filter","x","length","fallbackTag","type","anchorNode","anchor","getNode","parentList","getListType","quotes","createElement","Fragment","buttonClassName","buttonAriaLabel","buttonLabel","name","stopCloseOnClickSelf","disabled","showScroll","map","option","className","id","onClick","css","key"],"sources":["TypographyDropDown.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { $getNearestNodeOfType } from \"@lexical/utils\";\nimport {\n DropDown,\n DropDownItem,\n useCurrentSelection,\n useCurrentElement,\n useTypographyAction\n} from \"@webiny/lexical-editor\";\nimport {\n $isHeadingNode,\n $isParagraphNode,\n $isQuoteNode,\n $isListNode,\n ListNode\n} from \"@webiny/lexical-nodes\";\nimport type { TypographyStyle } from \"@webiny/theme/types\";\nimport type { TypographyValue } from \"@webiny/lexical-theme\";\nimport { useTheme } from \"@webiny/app-admin\";\n\nexport const TypographyDropDown = () => {\n const { value, applyTypography } = useTypographyAction();\n const { theme } = useTheme();\n const [styles, setStyles] = useState<TypographyStyle[]>([]);\n const { element } = useCurrentElement();\n const { rangeSelection } = useCurrentSelection();\n\n const getAllTextStyles = (): TypographyStyle[] => {\n if (!theme?.styles.typography) {\n return [];\n }\n const headingsStyles = theme.styles.typography?.headings || [];\n const paragraphStyles = theme.styles.typography?.paragraphs || [];\n return [...headingsStyles, ...paragraphStyles];\n };\n\n useEffect(() => {\n // In static toolbar typography, styles always need to be visible.\n if (theme?.styles) {\n setStyles(getAllTextStyles());\n }\n }, [theme?.styles]);\n\n const getListStyles = (tag: string): TypographyStyle[] => {\n const listStyles = theme?.styles.typography.lists?.filter(x => x.tag === tag) || [];\n if (listStyles.length > 0) {\n return listStyles;\n }\n\n const fallbackTag = tag === \"ul\" ? \"ol\" : \"ul\";\n return theme?.styles.typography.lists?.filter(x => x.tag === fallbackTag) || [];\n };\n\n useEffect(() => {\n if (!element || !rangeSelection) {\n return;\n }\n\n if ($isParagraphNode(element) || $isHeadingNode(element)) {\n setStyles(getAllTextStyles());\n } else if ($isListNode(element)) {\n let type;\n try {\n const anchorNode = rangeSelection.anchor.getNode();\n const parentList = $getNearestNodeOfType<ListNode>(anchorNode, ListNode);\n if (parentList) {\n type = parentList.getListType();\n }\n } catch {\n type = element.getListType();\n }\n\n if (type === \"bullet\") {\n setStyles(getListStyles(\"ul\"));\n } else {\n setStyles(getListStyles(\"ol\"));\n }\n } else if ($isQuoteNode(element)) {\n setStyles(theme?.styles.typography?.quotes || []);\n } else {\n setStyles([]);\n }\n }, [element]);\n\n return (\n <>\n {!!styles?.length ? (\n <DropDown\n buttonClassName=\"toolbar-item typography-dropdown\"\n buttonAriaLabel={\"Typography formatting options\"}\n buttonLabel={value?.name || \"Typography\"}\n stopCloseOnClickSelf={true}\n disabled={false}\n showScroll={true}\n >\n {styles?.map(option => (\n <DropDownItem\n className={`item typography-item ${\n value?.id === option.id ? \"active dropdown-item-active\" : \"\"\n }`}\n onClick={() =>\n applyTypography({\n ...option,\n css: option.styles\n } as TypographyValue)\n }\n key={option.id}\n >\n <span className=\"text\">{option.name}</span>\n </DropDownItem>\n ))}\n </DropDown>\n ) : null}\n </>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useState","$getNearestNodeOfType","DropDown","DropDownItem","useCurrentSelection","useCurrentElement","useTypographyAction","$isHeadingNode","$isParagraphNode","$isQuoteNode","$isListNode","ListNode","useWebsiteBuilderTheme","TypographyDropDown","value","applyTypography","theme","styles","setStyles","element","rangeSelection","getAllTextStyles","typography","headingsStyles","headings","paragraphStyles","paragraphs","getListStyles","tag","listStyles","lists","filter","x","length","fallbackTag","type","anchorNode","anchor","getNode","parentList","getListType","quotes","createElement","Fragment","buttonClassName","buttonAriaLabel","buttonLabel","name","stopCloseOnClickSelf","disabled","showScroll","map","option","className","id","onClick","key"],"sources":["TypographyDropDown.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { $getNearestNodeOfType } from \"@lexical/utils\";\nimport {\n DropDown,\n DropDownItem,\n useCurrentSelection,\n useCurrentElement,\n useTypographyAction\n} from \"@webiny/lexical-editor\";\nimport {\n $isHeadingNode,\n $isParagraphNode,\n $isQuoteNode,\n $isListNode,\n ListNode\n} from \"@webiny/lexical-nodes\";\nimport { useWebsiteBuilderTheme } from \"~/BaseEditor/components\";\nimport type { TypographyStyle } from \"@webiny/website-builder-sdk/types/WebsiteBuilderTheme\";\n\nexport const TypographyDropDown = () => {\n const { value, applyTypography } = useTypographyAction();\n const { theme } = useWebsiteBuilderTheme();\n const [styles, setStyles] = useState<TypographyStyle[]>([]);\n const { element } = useCurrentElement();\n const { rangeSelection } = useCurrentSelection();\n\n const getAllTextStyles = (): TypographyStyle[] => {\n if (!theme?.styles.typography) {\n return [];\n }\n const headingsStyles = theme.styles.typography?.headings || [];\n const paragraphStyles = theme.styles.typography?.paragraphs || [];\n return [...headingsStyles, ...paragraphStyles];\n };\n\n useEffect(() => {\n // In static toolbar typography, styles always need to be visible.\n if (theme?.styles) {\n setStyles(getAllTextStyles());\n }\n }, [theme?.styles]);\n\n const getListStyles = (tag: string): TypographyStyle[] => {\n const listStyles = theme?.styles.typography.lists?.filter(x => x.tag === tag) || [];\n if (listStyles.length > 0) {\n return listStyles;\n }\n\n const fallbackTag = tag === \"ul\" ? \"ol\" : \"ul\";\n return theme?.styles.typography.lists?.filter(x => x.tag === fallbackTag) || [];\n };\n\n useEffect(() => {\n if (!element || !rangeSelection) {\n return;\n }\n\n if ($isParagraphNode(element) || $isHeadingNode(element)) {\n setStyles(getAllTextStyles());\n } else if ($isListNode(element)) {\n let type;\n try {\n const anchorNode = rangeSelection.anchor.getNode();\n const parentList = $getNearestNodeOfType<ListNode>(anchorNode, ListNode);\n if (parentList) {\n type = parentList.getListType();\n }\n } catch {\n type = element.getListType();\n }\n\n if (type === \"bullet\") {\n setStyles(getListStyles(\"ul\"));\n } else {\n setStyles(getListStyles(\"ol\"));\n }\n } else if ($isQuoteNode(element)) {\n setStyles(theme?.styles?.typography?.quotes || []);\n } else {\n setStyles([]);\n }\n }, [element]);\n\n return (\n <>\n {!!styles?.length ? (\n <DropDown\n buttonClassName=\"toolbar-item typography-dropdown\"\n buttonAriaLabel={\"Typography formatting options\"}\n buttonLabel={value?.name || \"Typography\"}\n stopCloseOnClickSelf={true}\n disabled={false}\n showScroll={true}\n >\n {styles?.map(option => (\n <DropDownItem\n className={`item typography-item ${\n value?.id === option.id ? \"active dropdown-item-active\" : \"\"\n }`}\n onClick={() => applyTypography(option)}\n key={option.id}\n >\n <span className=\"text\">{option.name}</span>\n </DropDownItem>\n ))}\n </DropDown>\n ) : null}\n </>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,10 @@
1
1
  import { useMemo } from "react";
2
+ import { useTenancy } from "@webiny/app-tenancy";
2
3
  import { usePreviewDomain } from "../../../../BaseEditor/defaultConfig/Content/Preview/usePreviewDomain";
3
4
  export const usePagePreviewLink = pageDto => {
5
+ const {
6
+ tenant
7
+ } = useTenancy();
4
8
  const {
5
9
  previewDomain
6
10
  } = usePreviewDomain();
@@ -12,6 +16,7 @@ export const usePagePreviewLink = pageDto => {
12
16
  url.searchParams.set("wb.preview", "true");
13
17
  url.searchParams.set("wb.type", pageDto.metadata.documentType);
14
18
  url.searchParams.set("wb.id", pageDto.id);
19
+ url.searchParams.set("wb.tenant", tenant);
15
20
  url.searchParams.set("wb.path", pageDto.properties.path);
16
21
  return url.toString();
17
22
  }, [previewDomain]);
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","usePreviewDomain","usePagePreviewLink","pageDto","previewDomain","properties","path","url","URL","searchParams","set","metadata","documentType","id","toString"],"sources":["usePagePreviewLink.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport type { PageDto } from \"~/domain/Page\";\nimport { usePreviewDomain } from \"~/BaseEditor/defaultConfig/Content/Preview/usePreviewDomain\";\n\nexport const usePagePreviewLink = (pageDto: PageDto) => {\n const { previewDomain } = usePreviewDomain();\n\n return useMemo(() => {\n if (!previewDomain || !pageDto.properties.path) {\n return null;\n }\n\n const url = new URL(`${previewDomain}${pageDto.properties.path}`);\n url.searchParams.set(\"wb.preview\", \"true\");\n url.searchParams.set(\"wb.type\", pageDto.metadata.documentType);\n url.searchParams.set(\"wb.id\", pageDto.id);\n url.searchParams.set(\"wb.path\", pageDto.properties.path);\n return url.toString();\n }, [previewDomain]);\n};\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,OAAO;AAE/B,SAASC,gBAAgB;AAEzB,OAAO,MAAMC,kBAAkB,GAAIC,OAAgB,IAAK;EACpD,MAAM;IAAEC;EAAc,CAAC,GAAGH,gBAAgB,CAAC,CAAC;EAE5C,OAAOD,OAAO,CAAC,MAAM;IACjB,IAAI,CAACI,aAAa,IAAI,CAACD,OAAO,CAACE,UAAU,CAACC,IAAI,EAAE;MAC5C,OAAO,IAAI;IACf;IAEA,MAAMC,GAAG,GAAG,IAAIC,GAAG,CAAC,GAAGJ,aAAa,GAAGD,OAAO,CAACE,UAAU,CAACC,IAAI,EAAE,CAAC;IACjEC,GAAG,CAACE,YAAY,CAACC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC;IAC1CH,GAAG,CAACE,YAAY,CAACC,GAAG,CAAC,SAAS,EAAEP,OAAO,CAACQ,QAAQ,CAACC,YAAY,CAAC;IAC9DL,GAAG,CAACE,YAAY,CAACC,GAAG,CAAC,OAAO,EAAEP,OAAO,CAACU,EAAE,CAAC;IACzCN,GAAG,CAACE,YAAY,CAACC,GAAG,CAAC,SAAS,EAAEP,OAAO,CAACE,UAAU,CAACC,IAAI,CAAC;IACxD,OAAOC,GAAG,CAACO,QAAQ,CAAC,CAAC;EACzB,CAAC,EAAE,CAACV,aAAa,CAAC,CAAC;AACvB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","useTenancy","usePreviewDomain","usePagePreviewLink","pageDto","tenant","previewDomain","properties","path","url","URL","searchParams","set","metadata","documentType","id","toString"],"sources":["usePagePreviewLink.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { useTenancy } from \"@webiny/app-tenancy\";\nimport type { PageDto } from \"~/domain/Page\";\nimport { usePreviewDomain } from \"~/BaseEditor/defaultConfig/Content/Preview/usePreviewDomain\";\n\nexport const usePagePreviewLink = (pageDto: PageDto) => {\n const { tenant } = useTenancy();\n const { previewDomain } = usePreviewDomain();\n\n return useMemo(() => {\n if (!previewDomain || !pageDto.properties.path) {\n return null;\n }\n\n const url = new URL(`${previewDomain}${pageDto.properties.path}`);\n url.searchParams.set(\"wb.preview\", \"true\");\n url.searchParams.set(\"wb.type\", pageDto.metadata.documentType);\n url.searchParams.set(\"wb.id\", pageDto.id);\n url.searchParams.set(\"wb.tenant\", tenant!);\n url.searchParams.set(\"wb.path\", pageDto.properties.path);\n return url.toString();\n }, [previewDomain]);\n};\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,UAAU,QAAQ,qBAAqB;AAEhD,SAASC,gBAAgB;AAEzB,OAAO,MAAMC,kBAAkB,GAAIC,OAAgB,IAAK;EACpD,MAAM;IAAEC;EAAO,CAAC,GAAGJ,UAAU,CAAC,CAAC;EAC/B,MAAM;IAAEK;EAAc,CAAC,GAAGJ,gBAAgB,CAAC,CAAC;EAE5C,OAAOF,OAAO,CAAC,MAAM;IACjB,IAAI,CAACM,aAAa,IAAI,CAACF,OAAO,CAACG,UAAU,CAACC,IAAI,EAAE;MAC5C,OAAO,IAAI;IACf;IAEA,MAAMC,GAAG,GAAG,IAAIC,GAAG,CAAC,GAAGJ,aAAa,GAAGF,OAAO,CAACG,UAAU,CAACC,IAAI,EAAE,CAAC;IACjEC,GAAG,CAACE,YAAY,CAACC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC;IAC1CH,GAAG,CAACE,YAAY,CAACC,GAAG,CAAC,SAAS,EAAER,OAAO,CAACS,QAAQ,CAACC,YAAY,CAAC;IAC9DL,GAAG,CAACE,YAAY,CAACC,GAAG,CAAC,OAAO,EAAER,OAAO,CAACW,EAAE,CAAC;IACzCN,GAAG,CAACE,YAAY,CAACC,GAAG,CAAC,WAAW,EAAEP,MAAO,CAAC;IAC1CI,GAAG,CAACE,YAAY,CAACC,GAAG,CAAC,SAAS,EAAER,OAAO,CAACG,UAAU,CAACC,IAAI,CAAC;IACxD,OAAOC,GAAG,CAACO,QAAQ,CAAC,CAAC;EACzB,CAAC,EAAE,CAACV,aAAa,CAAC,CAAC;AACvB,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,16 +1,11 @@
1
1
  {
2
2
  "name": "@webiny/app-website-builder",
3
- "version": "0.0.0-unstable.f9f12f52a0",
3
+ "version": "0.0.0-unstable.fdd9228b5d",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/webiny/webiny-js.git"
8
8
  },
9
- "exports": {
10
- ".": "./index.js",
11
- "./ecommerce": "./ecommerce/index.js",
12
- "./Extension": "./Extension.js"
13
- },
14
9
  "author": "Pavel Denisjuk",
15
10
  "license": "MIT",
16
11
  "dependencies": {
@@ -21,30 +16,29 @@
21
16
  "@monaco-editor/react": "4.7.0",
22
17
  "@svgr/webpack": "6.5.1",
23
18
  "@types/react": "18.2.79",
24
- "@webiny/admin-ui": "0.0.0-unstable.f9f12f52a0",
25
- "@webiny/app": "0.0.0-unstable.f9f12f52a0",
26
- "@webiny/app-aco": "0.0.0-unstable.f9f12f52a0",
27
- "@webiny/app-admin": "0.0.0-unstable.f9f12f52a0",
28
- "@webiny/app-headless-cms-common": "0.0.0-unstable.f9f12f52a0",
29
- "@webiny/app-i18n": "0.0.0-unstable.f9f12f52a0",
30
- "@webiny/app-security": "0.0.0-unstable.f9f12f52a0",
31
- "@webiny/app-tenancy": "0.0.0-unstable.f9f12f52a0",
32
- "@webiny/app-utils": "0.0.0-unstable.f9f12f52a0",
33
- "@webiny/error": "0.0.0-unstable.f9f12f52a0",
34
- "@webiny/form": "0.0.0-unstable.f9f12f52a0",
35
- "@webiny/icons": "0.0.0-unstable.f9f12f52a0",
36
- "@webiny/lexical-converter": "0.0.0-unstable.f9f12f52a0",
37
- "@webiny/lexical-editor": "0.0.0-unstable.f9f12f52a0",
38
- "@webiny/lexical-nodes": "0.0.0-unstable.f9f12f52a0",
39
- "@webiny/lexical-theme": "0.0.0-unstable.f9f12f52a0",
40
- "@webiny/react-composition": "0.0.0-unstable.f9f12f52a0",
41
- "@webiny/react-properties": "0.0.0-unstable.f9f12f52a0",
42
- "@webiny/react-router": "0.0.0-unstable.f9f12f52a0",
43
- "@webiny/theme": "0.0.0-unstable.f9f12f52a0",
44
- "@webiny/ui": "0.0.0-unstable.f9f12f52a0",
45
- "@webiny/utils": "0.0.0-unstable.f9f12f52a0",
46
- "@webiny/validation": "0.0.0-unstable.f9f12f52a0",
47
- "@webiny/website-builder-sdk": "0.0.0-unstable.f9f12f52a0",
19
+ "@webiny/admin-ui": "0.0.0-unstable.fdd9228b5d",
20
+ "@webiny/app": "0.0.0-unstable.fdd9228b5d",
21
+ "@webiny/app-aco": "0.0.0-unstable.fdd9228b5d",
22
+ "@webiny/app-admin": "0.0.0-unstable.fdd9228b5d",
23
+ "@webiny/app-headless-cms-common": "0.0.0-unstable.fdd9228b5d",
24
+ "@webiny/app-i18n": "0.0.0-unstable.fdd9228b5d",
25
+ "@webiny/app-security": "0.0.0-unstable.fdd9228b5d",
26
+ "@webiny/app-tenancy": "0.0.0-unstable.fdd9228b5d",
27
+ "@webiny/app-utils": "0.0.0-unstable.fdd9228b5d",
28
+ "@webiny/error": "0.0.0-unstable.fdd9228b5d",
29
+ "@webiny/form": "0.0.0-unstable.fdd9228b5d",
30
+ "@webiny/icons": "0.0.0-unstable.fdd9228b5d",
31
+ "@webiny/lexical-converter": "0.0.0-unstable.fdd9228b5d",
32
+ "@webiny/lexical-editor": "0.0.0-unstable.fdd9228b5d",
33
+ "@webiny/lexical-nodes": "0.0.0-unstable.fdd9228b5d",
34
+ "@webiny/lexical-theme": "0.0.0-unstable.fdd9228b5d",
35
+ "@webiny/react-composition": "0.0.0-unstable.fdd9228b5d",
36
+ "@webiny/react-properties": "0.0.0-unstable.fdd9228b5d",
37
+ "@webiny/react-router": "0.0.0-unstable.fdd9228b5d",
38
+ "@webiny/ui": "0.0.0-unstable.fdd9228b5d",
39
+ "@webiny/utils": "0.0.0-unstable.fdd9228b5d",
40
+ "@webiny/validation": "0.0.0-unstable.fdd9228b5d",
41
+ "@webiny/website-builder-sdk": "0.0.0-unstable.fdd9228b5d",
48
42
  "apollo-cache": "1.3.5",
49
43
  "apollo-client": "2.6.10",
50
44
  "apollo-link": "1.2.14",
@@ -80,8 +74,8 @@
80
74
  "@types/react-virtualized": "9.22.0",
81
75
  "@types/resize-observer-browser": "0.1.7",
82
76
  "@types/store": "2.0.2",
83
- "@webiny/cli": "0.0.0-unstable.f9f12f52a0",
84
- "@webiny/project-utils": "0.0.0-unstable.f9f12f52a0",
77
+ "@webiny/cli": "0.0.0-unstable.fdd9228b5d",
78
+ "@webiny/project-utils": "0.0.0-unstable.fdd9228b5d",
85
79
  "execa": "5.1.1",
86
80
  "rimraf": "6.0.1",
87
81
  "typescript": "5.3.3"
@@ -101,5 +95,5 @@
101
95
  ]
102
96
  }
103
97
  },
104
- "gitHead": "f9f12f52a0e2f8e4a2987aa71b4104f70f5d68c8"
98
+ "gitHead": "fdd9228b5d2636463e8a34b6e0d26eea1e29c01d"
105
99
  }