@webiny/website-builder-sdk 0.0.0-unstable.e53eceafb5 → 0.0.0-unstable.e6f0dc8ca7
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.
- package/BindingsApi.d.ts +4 -4
- package/BindingsApi.js +3 -3
- package/BindingsApi.js.map +1 -1
- package/BindingsProcessor.d.ts +1 -1
- package/BindingsProcessor.js.map +1 -1
- package/BindingsProcessor.test.js +2 -1
- package/BindingsProcessor.test.js.map +1 -1
- package/BindingsResolver.d.ts +2 -2
- package/BindingsResolver.js +3 -6
- package/BindingsResolver.js.map +1 -1
- package/BindingsResolver.test.js +4 -3
- package/BindingsResolver.test.js.map +1 -1
- package/ComponentInputTraverser.d.ts +1 -1
- package/ComponentInputTraverser.js.map +1 -1
- package/ComponentManifestToAstConverter.d.ts +1 -1
- package/ComponentManifestToAstConverter.js.map +1 -1
- package/ComponentRegistry.js +30 -0
- package/ComponentRegistry.js.map +1 -1
- package/ComponentResolver.d.ts +2 -2
- package/ComponentResolver.js +3 -3
- package/ComponentResolver.js.map +1 -1
- package/ConstraintEvaluator.d.ts +36 -0
- package/ConstraintEvaluator.js +395 -0
- package/ConstraintEvaluator.js.map +1 -0
- package/ConstraintEvaluator.test.d.ts +1 -0
- package/ConstraintEvaluator.test.js +1456 -0
- package/ConstraintEvaluator.test.js.map +1 -0
- package/ContentSdk.d.ts +13 -7
- package/ContentSdk.js +26 -10
- package/ContentSdk.js.map +1 -1
- package/DocumentStore.d.ts +3 -3
- package/DocumentStore.js +1 -1
- package/DocumentStore.js.map +1 -1
- package/DocumentStoreManager.d.ts +2 -2
- package/DocumentStoreManager.js +1 -1
- package/DocumentStoreManager.js.map +1 -1
- package/EditingSdk.d.ts +4 -4
- package/EditingSdk.js +12 -15
- package/EditingSdk.js.map +1 -1
- package/ElementFactory.d.ts +5 -6
- package/ElementFactory.js +25 -16
- package/ElementFactory.js.map +1 -1
- package/ElementFactory.test.d.ts +1 -0
- package/ElementFactory.test.js +280 -0
- package/ElementFactory.test.js.map +1 -0
- package/HashObject.js +14 -0
- package/HashObject.js.map +1 -1
- package/HotkeyManager.js +1 -1
- package/HotkeyManager.js.map +1 -1
- package/IBindingsUpdater.d.ts +2 -2
- package/IBindingsUpdater.js.map +1 -1
- package/IRedirects.d.ts +5 -0
- package/IRedirects.js +3 -0
- package/IRedirects.js.map +1 -0
- package/InheritanceProcessor.d.ts +4 -4
- package/InheritanceProcessor.js.map +1 -1
- package/InheritanceProcessor.test.js +2 -1
- package/InheritanceProcessor.test.js.map +1 -1
- package/InheritedValueResolver.d.ts +1 -1
- package/InheritedValueResolver.js.map +1 -1
- package/InputBindingsProcessor.d.ts +4 -4
- package/InputBindingsProcessor.js +29 -11
- package/InputBindingsProcessor.js.map +1 -1
- package/InputsBindingsProcessor.test.js +4 -2
- package/InputsBindingsProcessor.test.js.map +1 -1
- package/InputsUpdater.d.ts +5 -5
- package/InputsUpdater.js +2 -2
- package/InputsUpdater.js.map +1 -1
- package/LiveSdk.d.ts +2 -2
- package/LiveSdk.js +1 -1
- package/LiveSdk.js.map +1 -1
- package/Logger.d.ts +2 -1
- package/Logger.js +7 -4
- package/Logger.js.map +1 -1
- package/NullSdk.d.ts +5 -3
- package/NullSdk.js +10 -0
- package/NullSdk.js.map +1 -1
- package/PreviewDocument.js +1 -1
- package/PreviewDocument.js.map +1 -1
- package/PreviewSdk.d.ts +2 -2
- package/PreviewSdk.js +3 -3
- package/PreviewSdk.js.map +1 -1
- package/PreviewViewport.d.ts +1 -2
- package/PreviewViewport.js +1 -21
- package/PreviewViewport.js.map +1 -1
- package/README.md +10 -2
- package/StylesBindingsProcessor.d.ts +2 -2
- package/StylesBindingsProcessor.js +4 -4
- package/StylesBindingsProcessor.js.map +1 -1
- package/StylesUpdater.d.ts +4 -4
- package/StylesUpdater.js +2 -2
- package/StylesUpdater.js.map +1 -1
- package/Theme.d.ts +1 -1
- package/Theme.js +6 -11
- package/Theme.js.map +1 -1
- package/ViewportManager.d.ts +3 -1
- package/ViewportManager.js +8 -1
- package/ViewportManager.js.map +1 -1
- package/constants.d.ts +1 -0
- package/constants.js +2 -1
- package/constants.js.map +1 -1
- package/createElement.d.ts +1 -1
- package/createElement.js.map +1 -1
- package/createInput.d.ts +124 -16
- package/createInput.js +33 -1
- package/createInput.js.map +1 -1
- package/createTheme.d.ts +2 -1
- package/createTheme.js.map +1 -1
- package/dataProviders/ApiClient.d.ts +6 -1
- package/dataProviders/ApiClient.js +19 -8
- package/dataProviders/ApiClient.js.map +1 -1
- package/dataProviders/DefaultDataProvider.d.ts +4 -3
- package/dataProviders/DefaultDataProvider.js +32 -6
- package/dataProviders/DefaultDataProvider.js.map +1 -1
- package/dataProviders/GET_PAGE_BY_ID.d.ts +1 -1
- package/dataProviders/GET_PAGE_BY_ID.js +2 -0
- package/dataProviders/GET_PAGE_BY_ID.js.map +1 -1
- package/dataProviders/GET_PAGE_BY_PATH.d.ts +1 -1
- package/dataProviders/GET_PAGE_BY_PATH.js +2 -0
- package/dataProviders/GET_PAGE_BY_PATH.js.map +1 -1
- package/dataProviders/LIST_PUBLISHED_PAGES.d.ts +1 -1
- package/dataProviders/LIST_PUBLISHED_PAGES.js +15 -4
- package/dataProviders/LIST_PUBLISHED_PAGES.js.map +1 -1
- package/dataProviders/NullDataProvider.d.ts +13 -4
- package/dataProviders/NullDataProvider.js +11 -1
- package/dataProviders/NullDataProvider.js.map +1 -1
- package/dataProviders/RedirectsProvider.d.ts +11 -0
- package/dataProviders/RedirectsProvider.js +32 -0
- package/dataProviders/RedirectsProvider.js.map +1 -0
- package/defaultBreakpoints.d.ts +1 -1
- package/defaultBreakpoints.js.map +1 -1
- package/documentOperations/$addElementReferenceToParent.d.ts +1 -1
- package/documentOperations/$addElementReferenceToParent.js +9 -2
- package/documentOperations/$addElementReferenceToParent.js.map +1 -1
- package/documentOperations/AddElement.d.ts +1 -1
- package/documentOperations/AddElement.js.map +1 -1
- package/documentOperations/AddToParent.d.ts +3 -3
- package/documentOperations/AddToParent.js.map +1 -1
- package/documentOperations/RemoveElement.d.ts +1 -1
- package/documentOperations/RemoveElement.js +9 -0
- package/documentOperations/RemoveElement.js.map +1 -1
- package/documentOperations/SetGlobalInputBinding.d.ts +1 -1
- package/documentOperations/SetGlobalInputBinding.js.map +1 -1
- package/documentOperations/SetGlobalStyleBinding.d.ts +1 -1
- package/documentOperations/SetGlobalStyleBinding.js.map +1 -1
- package/documentOperations/SetInputBindingOverride.d.ts +1 -1
- package/documentOperations/SetInputBindingOverride.js.map +1 -1
- package/documentOperations/SetStyleBindingOverride.d.ts +1 -1
- package/documentOperations/SetStyleBindingOverride.js.map +1 -1
- package/documentOperations/index.d.ts +8 -8
- package/documentOperations/index.js +7 -7
- package/documentOperations/index.js.map +1 -1
- package/findMatchingAstNode.d.ts +1 -1
- package/findMatchingAstNode.js.map +1 -1
- package/generateElementId.d.ts +1 -1
- package/generateElementId.js +0 -1
- package/generateElementId.js.map +1 -1
- package/index.d.ts +3 -3
- package/index.js +2 -3
- package/index.js.map +1 -1
- package/jsonPatch.d.ts +1 -1
- package/messenger/Messenger.js +6 -6
- package/messenger/Messenger.js.map +1 -1
- package/package.json +14 -20
- package/registerComponentGroup.d.ts +1 -1
- package/registerComponentGroup.js +1 -1
- package/registerComponentGroup.js.map +1 -1
- package/types/WebsiteBuilderTheme.d.ts +52 -42
- package/types/WebsiteBuilderTheme.js.map +1 -1
- package/types.d.ts +207 -20
- package/types.js.map +1 -1
- package/lexical/createDefaultLexicalTheme.d.ts +0 -2
- package/lexical/createDefaultLexicalTheme.js +0 -84
- package/lexical/createDefaultLexicalTheme.js.map +0 -1
- package/lexical/createLexicalTheme.d.ts +0 -2
- package/lexical/createLexicalTheme.js +0 -7
- package/lexical/createLexicalTheme.js.map +0 -1
- package/lexical/deepMerge.d.ts +0 -1
- package/lexical/deepMerge.js +0 -23
- package/lexical/deepMerge.js.map +0 -1
- package/types/LexicalEditorTheme.d.ts +0 -2
- package/types/LexicalEditorTheme.js +0 -3
- package/types/LexicalEditorTheme.js.map +0 -1
package/InputsUpdater.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsonPatch","set","InputsUpdater","constructor","elementId","bindings","operations","applyToDocument","document","inputs","structuredClone","overrides","bp","Object","entries","forEach","operation","apply","createJsonPatch","toCompare","keys","length","ignore","compare","filter","op","some","prefix","path","startsWith"],"sources":["InputsUpdater.ts"],"sourcesContent":["import { jsonPatch } from \"~/jsonPatch\";\nimport set from \"lodash/set\";\nimport type { Document, DocumentElementBindings } from \"./types\";\nimport type { IBindingsUpdater } from \"./IBindingsUpdater\";\nimport type { ElementInputsBindings } from \"./InputBindingsProcessor\";\nimport type { IDocumentOperation } from \"~/documentOperations\";\n\nexport class InputsUpdater implements IBindingsUpdater {\n private readonly bindings: ElementInputsBindings;\n private operations: IDocumentOperation[];\n private elementId: string;\n\n constructor(\n elementId: string,\n bindings: ElementInputsBindings,\n operations: IDocumentOperation[]\n ) {\n this.elementId = elementId;\n this.operations = operations;\n this.bindings = bindings;\n }\n\n applyToDocument(document: Document) {\n document.bindings[this.elementId].inputs = structuredClone(this.bindings.inputs);\n\n if (this.bindings.overrides) {\n for (const [bp, overrides] of Object.entries(this.bindings.overrides)) {\n if (overrides.inputs) {\n set(\n document.bindings,\n `${this.elementId}.overrides.${bp}.inputs`,\n structuredClone(this.bindings.overrides[bp].inputs)\n );\n }\n }\n }\n\n this.operations.forEach(operation => operation.apply(document));\n }\n\n createJsonPatch(bindings: DocumentElementBindings) {\n const toCompare: Partial<DocumentElementBindings> = { ...this.bindings };\n if (Object.keys(toCompare.overrides ?? {}).length === 0) {\n delete toCompare.overrides;\n }\n\n const ignore = [\"/styles\", \"/overrides/styles\", \"/metadata\"];\n\n return jsonPatch.compare(bindings, toCompare).filter(op => {\n return !ignore.some(prefix => op.path.startsWith(prefix));\n });\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAClB,OAAOC,GAAG,MAAM,
|
|
1
|
+
{"version":3,"names":["jsonPatch","set","InputsUpdater","constructor","elementId","bindings","operations","applyToDocument","document","inputs","structuredClone","overrides","bp","Object","entries","forEach","operation","apply","createJsonPatch","toCompare","keys","length","ignore","compare","filter","op","some","prefix","path","startsWith"],"sources":["InputsUpdater.ts"],"sourcesContent":["import { jsonPatch } from \"~/jsonPatch.js\";\nimport set from \"lodash/set.js\";\nimport type { Document, DocumentElementBindings } from \"./types.js\";\nimport type { IBindingsUpdater } from \"./IBindingsUpdater.js\";\nimport type { ElementInputsBindings } from \"./InputBindingsProcessor.js\";\nimport type { IDocumentOperation } from \"~/documentOperations/index.js\";\n\nexport class InputsUpdater implements IBindingsUpdater {\n private readonly bindings: ElementInputsBindings;\n private operations: IDocumentOperation[];\n private elementId: string;\n\n constructor(\n elementId: string,\n bindings: ElementInputsBindings,\n operations: IDocumentOperation[]\n ) {\n this.elementId = elementId;\n this.operations = operations;\n this.bindings = bindings;\n }\n\n applyToDocument(document: Document) {\n document.bindings[this.elementId].inputs = structuredClone(this.bindings.inputs);\n\n if (this.bindings.overrides) {\n for (const [bp, overrides] of Object.entries(this.bindings.overrides)) {\n if (overrides.inputs) {\n set(\n document.bindings,\n `${this.elementId}.overrides.${bp}.inputs`,\n structuredClone(this.bindings.overrides[bp].inputs)\n );\n }\n }\n }\n\n this.operations.forEach(operation => operation.apply(document));\n }\n\n createJsonPatch(bindings: DocumentElementBindings) {\n const toCompare: Partial<DocumentElementBindings> = { ...this.bindings };\n if (Object.keys(toCompare.overrides ?? {}).length === 0) {\n delete toCompare.overrides;\n }\n\n const ignore = [\"/styles\", \"/overrides/styles\", \"/metadata\"];\n\n return jsonPatch.compare(bindings, toCompare).filter(op => {\n return !ignore.some(prefix => op.path.startsWith(prefix));\n });\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAClB,OAAOC,GAAG,MAAM,eAAe;AAM/B,OAAO,MAAMC,aAAa,CAA6B;EAKnDC,WAAWA,CACPC,SAAiB,EACjBC,QAA+B,EAC/BC,UAAgC,EAClC;IACE,IAAI,CAACF,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACE,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACD,QAAQ,GAAGA,QAAQ;EAC5B;EAEAE,eAAeA,CAACC,QAAkB,EAAE;IAChCA,QAAQ,CAACH,QAAQ,CAAC,IAAI,CAACD,SAAS,CAAC,CAACK,MAAM,GAAGC,eAAe,CAAC,IAAI,CAACL,QAAQ,CAACI,MAAM,CAAC;IAEhF,IAAI,IAAI,CAACJ,QAAQ,CAACM,SAAS,EAAE;MACzB,KAAK,MAAM,CAACC,EAAE,EAAED,SAAS,CAAC,IAAIE,MAAM,CAACC,OAAO,CAAC,IAAI,CAACT,QAAQ,CAACM,SAAS,CAAC,EAAE;QACnE,IAAIA,SAAS,CAACF,MAAM,EAAE;UAClBR,GAAG,CACCO,QAAQ,CAACH,QAAQ,EACjB,GAAG,IAAI,CAACD,SAAS,cAAcQ,EAAE,SAAS,EAC1CF,eAAe,CAAC,IAAI,CAACL,QAAQ,CAACM,SAAS,CAACC,EAAE,CAAC,CAACH,MAAM,CACtD,CAAC;QACL;MACJ;IACJ;IAEA,IAAI,CAACH,UAAU,CAACS,OAAO,CAACC,SAAS,IAAIA,SAAS,CAACC,KAAK,CAACT,QAAQ,CAAC,CAAC;EACnE;EAEAU,eAAeA,CAACb,QAAiC,EAAE;IAC/C,MAAMc,SAA2C,GAAG;MAAE,GAAG,IAAI,CAACd;IAAS,CAAC;IACxE,IAAIQ,MAAM,CAACO,IAAI,CAACD,SAAS,CAACR,SAAS,IAAI,CAAC,CAAC,CAAC,CAACU,MAAM,KAAK,CAAC,EAAE;MACrD,OAAOF,SAAS,CAACR,SAAS;IAC9B;IAEA,MAAMW,MAAM,GAAG,CAAC,SAAS,EAAE,mBAAmB,EAAE,WAAW,CAAC;IAE5D,OAAOtB,SAAS,CAACuB,OAAO,CAAClB,QAAQ,EAAEc,SAAS,CAAC,CAACK,MAAM,CAACC,EAAE,IAAI;MACvD,OAAO,CAACH,MAAM,CAACI,IAAI,CAACC,MAAM,IAAIF,EAAE,CAACG,IAAI,CAACC,UAAU,CAACF,MAAM,CAAC,CAAC;IAC7D,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
|
package/LiveSdk.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { GetPageOptions, IContentSdk, IDataProvider, ListPagesOptions, PublicPage } from "./types.js";
|
|
1
|
+
import type { GetPageOptions, IContentSdk, IDataProvider, ListPagesOptions, ListPagesResult, PublicPage } from "./types.js";
|
|
2
2
|
export declare class LiveSdk implements IContentSdk {
|
|
3
3
|
private dataProvider;
|
|
4
4
|
constructor(dataProvider: IDataProvider);
|
|
5
5
|
getPage(path: string, options?: GetPageOptions): Promise<PublicPage | null>;
|
|
6
|
-
listPages(options?: ListPagesOptions): Promise<
|
|
6
|
+
listPages(options?: ListPagesOptions): Promise<ListPagesResult>;
|
|
7
7
|
}
|
package/LiveSdk.js
CHANGED
package/LiveSdk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["documentStoreManager","LiveSdk","constructor","dataProvider","getPage","path","options","page","getPageByPath","getStore","properties","id","setDocument","listPages"],"sources":["LiveSdk.ts"],"sourcesContent":["import type {\n GetPageOptions,\n IContentSdk,\n IDataProvider,\n ListPagesOptions,\n PublicPage\n} from \"~/types.js\";\nimport { documentStoreManager } from \"~/DocumentStoreManager\";\n\nexport class LiveSdk implements IContentSdk {\n private dataProvider: IDataProvider;\n\n constructor(dataProvider: IDataProvider) {\n this.dataProvider = dataProvider;\n }\n\n async getPage(path: string, options?: GetPageOptions): Promise<PublicPage | null> {\n const page = await this.dataProvider.getPageByPath(path, options);\n if (page) {\n documentStoreManager.getStore<PublicPage>(page.properties.id).setDocument(page);\n }\n return page;\n }\n\n listPages(options?: ListPagesOptions): Promise<
|
|
1
|
+
{"version":3,"names":["documentStoreManager","LiveSdk","constructor","dataProvider","getPage","path","options","page","getPageByPath","getStore","properties","id","setDocument","listPages"],"sources":["LiveSdk.ts"],"sourcesContent":["import type {\n GetPageOptions,\n IContentSdk,\n IDataProvider,\n ListPagesOptions,\n ListPagesResult,\n PublicPage\n} from \"~/types.js\";\nimport { documentStoreManager } from \"~/DocumentStoreManager.js\";\n\nexport class LiveSdk implements IContentSdk {\n private dataProvider: IDataProvider;\n\n constructor(dataProvider: IDataProvider) {\n this.dataProvider = dataProvider;\n }\n\n async getPage(path: string, options?: GetPageOptions): Promise<PublicPage | null> {\n const page = await this.dataProvider.getPageByPath(path, options);\n if (page) {\n documentStoreManager.getStore<PublicPage>(page.properties.id).setDocument(page);\n }\n return page;\n }\n\n listPages(options?: ListPagesOptions): Promise<ListPagesResult> {\n return this.dataProvider.listPages(options);\n }\n}\n"],"mappings":"AAQA,SAASA,oBAAoB;AAE7B,OAAO,MAAMC,OAAO,CAAwB;EAGxCC,WAAWA,CAACC,YAA2B,EAAE;IACrC,IAAI,CAACA,YAAY,GAAGA,YAAY;EACpC;EAEA,MAAMC,OAAOA,CAACC,IAAY,EAAEC,OAAwB,EAA8B;IAC9E,MAAMC,IAAI,GAAG,MAAM,IAAI,CAACJ,YAAY,CAACK,aAAa,CAACH,IAAI,EAAEC,OAAO,CAAC;IACjE,IAAIC,IAAI,EAAE;MACNP,oBAAoB,CAACS,QAAQ,CAAaF,IAAI,CAACG,UAAU,CAACC,EAAE,CAAC,CAACC,WAAW,CAACL,IAAI,CAAC;IACnF;IACA,OAAOA,IAAI;EACf;EAEAM,SAASA,CAACP,OAA0B,EAA4B;IAC5D,OAAO,IAAI,CAACH,YAAY,CAACU,SAAS,CAACP,OAAO,CAAC;EAC/C;AACJ","ignoreList":[]}
|
package/Logger.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import pino from "pino";
|
|
2
|
+
export declare const logger: pino.Logger<never, boolean>;
|
package/Logger.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import pino from "pino";
|
|
2
|
+
const isProduction = process.env.NODE_ENV === "production";
|
|
2
3
|
export const logger = pino({
|
|
3
4
|
name: "Website Builder SDK",
|
|
4
|
-
level: "debug",
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
level: isProduction ? "silent" : "debug",
|
|
6
|
+
...(isProduction ? {} : {
|
|
7
|
+
transport: {
|
|
8
|
+
target: "pino-pretty"
|
|
9
|
+
}
|
|
10
|
+
})
|
|
8
11
|
});
|
|
9
12
|
|
|
10
13
|
//# sourceMappingURL=Logger.js.map
|
package/Logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["pino","logger","name","level","transport","target"],"sources":["Logger.ts"],"sourcesContent":["import pino from \"pino\";\n\nexport const logger = pino({\n name: \"Website Builder SDK\",\n level: \"debug\",\n transport: {
|
|
1
|
+
{"version":3,"names":["pino","isProduction","process","env","NODE_ENV","logger","name","level","transport","target"],"sources":["Logger.ts"],"sourcesContent":["import pino from \"pino\";\n\nconst isProduction = process.env.NODE_ENV === \"production\";\n\nexport const logger = pino({\n name: \"Website Builder SDK\",\n level: isProduction ? \"silent\" : \"debug\",\n ...(isProduction ? {} : { transport: { target: \"pino-pretty\" } })\n});\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,MAAM;AAEvB,MAAMC,YAAY,GAAGC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY;AAE1D,OAAO,MAAMC,MAAM,GAAGL,IAAI,CAAC;EACvBM,IAAI,EAAE,qBAAqB;EAC3BC,KAAK,EAAEN,YAAY,GAAG,QAAQ,GAAG,OAAO;EACxC,IAAIA,YAAY,GAAG,CAAC,CAAC,GAAG;IAAEO,SAAS,EAAE;MAAEC,MAAM,EAAE;IAAc;EAAE,CAAC;AACpE,CAAC,CAAC","ignoreList":[]}
|
package/NullSdk.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import type { IContentSdk,
|
|
1
|
+
import type { IContentSdk, ListPagesResult, PublicRedirect, ResolvedComponent } from "./types.js";
|
|
2
|
+
import type { PublicPage } from "./types.js";
|
|
2
3
|
export declare class NullSdk implements IContentSdk {
|
|
3
|
-
getPage(): Promise<
|
|
4
|
-
listPages(): Promise<
|
|
4
|
+
getPage(): Promise<PublicPage | null>;
|
|
5
|
+
listPages(): Promise<ListPagesResult>;
|
|
6
|
+
listRedirects(): Promise<PublicRedirect[]>;
|
|
5
7
|
registerComponent(): void;
|
|
6
8
|
resolveElement(): ResolvedComponent[] | null;
|
|
7
9
|
}
|
package/NullSdk.js
CHANGED
|
@@ -3,6 +3,16 @@ export class NullSdk {
|
|
|
3
3
|
return null;
|
|
4
4
|
}
|
|
5
5
|
listPages() {
|
|
6
|
+
return Promise.resolve({
|
|
7
|
+
data: [],
|
|
8
|
+
meta: {
|
|
9
|
+
hasMoreItems: false,
|
|
10
|
+
totalCount: 0,
|
|
11
|
+
cursor: null
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
listRedirects() {
|
|
6
16
|
return Promise.resolve([]);
|
|
7
17
|
}
|
|
8
18
|
registerComponent() {}
|
package/NullSdk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NullSdk","getPage","listPages","Promise","resolve","registerComponent","resolveElement"],"sources":["NullSdk.ts"],"sourcesContent":["import type { IContentSdk,
|
|
1
|
+
{"version":3,"names":["NullSdk","getPage","listPages","Promise","resolve","data","meta","hasMoreItems","totalCount","cursor","listRedirects","registerComponent","resolveElement"],"sources":["NullSdk.ts"],"sourcesContent":["import type { IContentSdk, ListPagesResult, PublicRedirect, ResolvedComponent } from \"./types.js\";\nimport type { PublicPage } from \"./types.js\";\n\nexport class NullSdk implements IContentSdk {\n async getPage(): Promise<PublicPage | null> {\n return null;\n }\n\n listPages(): Promise<ListPagesResult> {\n return Promise.resolve({\n data: [],\n meta: { hasMoreItems: false, totalCount: 0, cursor: null }\n });\n }\n\n listRedirects(): Promise<PublicRedirect[]> {\n return Promise.resolve([]);\n }\n\n registerComponent(): void {}\n\n resolveElement(): ResolvedComponent[] | null {\n return null;\n }\n}\n"],"mappings":"AAGA,OAAO,MAAMA,OAAO,CAAwB;EACxC,MAAMC,OAAOA,CAAA,EAA+B;IACxC,OAAO,IAAI;EACf;EAEAC,SAASA,CAAA,EAA6B;IAClC,OAAOC,OAAO,CAACC,OAAO,CAAC;MACnBC,IAAI,EAAE,EAAE;MACRC,IAAI,EAAE;QAAEC,YAAY,EAAE,KAAK;QAAEC,UAAU,EAAE,CAAC;QAAEC,MAAM,EAAE;MAAK;IAC7D,CAAC,CAAC;EACN;EAEAC,aAAaA,CAAA,EAA8B;IACvC,OAAOP,OAAO,CAACC,OAAO,CAAC,EAAE,CAAC;EAC9B;EAEAO,iBAAiBA,CAAA,EAAS,CAAC;EAE3BC,cAAcA,CAAA,EAA+B;IACzC,OAAO,IAAI;EACf;AACJ","ignoreList":[]}
|
package/PreviewDocument.js
CHANGED
package/PreviewDocument.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getHeadersProvider","PreviewDocument","constructor","prefix","query","props","forEach","value","key","startsWith","strippedKey","slice","length","createFromWindow","URLSearchParams","window","location","search","createFromHeaders","headersProvider","headers","previewFromHeaders","get","matches","params","Object","entries","getId","id"],"sources":["PreviewDocument.ts"],"sourcesContent":["import { getHeadersProvider } from \"./headersProvider\";\n\nexport class PreviewDocument {\n public readonly props: Record<string, string>;\n\n private constructor(prefix: string, query: URLSearchParams) {\n this.props = {};\n query.forEach((value, key) => {\n if (key.startsWith(prefix + \".\")) {\n const strippedKey = key.slice(prefix.length + 1); // +1 for the dot\n this.props[strippedKey] = value as string;\n }\n });\n }\n\n static createFromWindow(): PreviewDocument {\n const query = new URLSearchParams(window.location.search);\n return new PreviewDocument(\"wb\", query);\n }\n\n static async createFromHeaders(): Promise<PreviewDocument> {\n const headersProvider = getHeadersProvider();\n const headers = await headersProvider();\n const previewFromHeaders = headers.get(\"X-Preview-Params\");\n\n return new PreviewDocument(\"wb\", new URLSearchParams(previewFromHeaders ?? \"\"));\n }\n\n matches(params: Record<string, string>) {\n for (const [key, value] of Object.entries(params)) {\n if (this.props[key] !== value) {\n return false;\n }\n }\n return true;\n }\n\n getId() {\n return this.props.id;\n }\n}\n"],"mappings":"AAAA,SAASA,kBAAkB;AAE3B,OAAO,MAAMC,eAAe,CAAC;EAGjBC,WAAWA,CAACC,MAAc,EAAEC,KAAsB,EAAE;IACxD,IAAI,CAACC,KAAK,GAAG,CAAC,CAAC;IACfD,KAAK,CAACE,OAAO,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;MAC1B,IAAIA,GAAG,CAACC,UAAU,CAACN,MAAM,GAAG,GAAG,CAAC,EAAE;QAC9B,MAAMO,WAAW,GAAGF,GAAG,CAACG,KAAK,CAACR,MAAM,CAACS,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAClD,IAAI,CAACP,KAAK,CAACK,WAAW,CAAC,GAAGH,KAAe;MAC7C;IACJ,CAAC,CAAC;EACN;EAEA,OAAOM,gBAAgBA,CAAA,EAAoB;IACvC,MAAMT,KAAK,GAAG,IAAIU,eAAe,CAACC,MAAM,CAACC,QAAQ,CAACC,MAAM,CAAC;IACzD,OAAO,IAAIhB,eAAe,CAAC,IAAI,EAAEG,KAAK,CAAC;EAC3C;EAEA,aAAac,iBAAiBA,CAAA,EAA6B;IACvD,MAAMC,eAAe,GAAGnB,kBAAkB,CAAC,CAAC;IAC5C,MAAMoB,OAAO,GAAG,MAAMD,eAAe,CAAC,CAAC;IACvC,MAAME,kBAAkB,GAAGD,OAAO,CAACE,GAAG,CAAC,kBAAkB,CAAC;IAE1D,OAAO,IAAIrB,eAAe,CAAC,IAAI,EAAE,IAAIa,eAAe,CAACO,kBAAkB,IAAI,EAAE,CAAC,CAAC;EACnF;EAEAE,OAAOA,CAACC,MAA8B,EAAE;IACpC,KAAK,MAAM,CAAChB,GAAG,EAAED,KAAK,CAAC,IAAIkB,MAAM,CAACC,OAAO,CAACF,MAAM,CAAC,EAAE;MAC/C,IAAI,IAAI,CAACnB,KAAK,CAACG,GAAG,CAAC,KAAKD,KAAK,EAAE;QAC3B,OAAO,KAAK;MAChB;IACJ;IACA,OAAO,IAAI;EACf;EAEAoB,KAAKA,CAAA,EAAG;IACJ,OAAO,IAAI,CAACtB,KAAK,CAACuB,EAAE;EACxB;AACJ","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["getHeadersProvider","PreviewDocument","constructor","prefix","query","props","forEach","value","key","startsWith","strippedKey","slice","length","createFromWindow","URLSearchParams","window","location","search","createFromHeaders","headersProvider","headers","previewFromHeaders","get","matches","params","Object","entries","getId","id"],"sources":["PreviewDocument.ts"],"sourcesContent":["import { getHeadersProvider } from \"./headersProvider.js\";\n\nexport class PreviewDocument {\n public readonly props: Record<string, string>;\n\n private constructor(prefix: string, query: URLSearchParams) {\n this.props = {};\n query.forEach((value, key) => {\n if (key.startsWith(prefix + \".\")) {\n const strippedKey = key.slice(prefix.length + 1); // +1 for the dot\n this.props[strippedKey] = value as string;\n }\n });\n }\n\n static createFromWindow(): PreviewDocument {\n const query = new URLSearchParams(window.location.search);\n return new PreviewDocument(\"wb\", query);\n }\n\n static async createFromHeaders(): Promise<PreviewDocument> {\n const headersProvider = getHeadersProvider();\n const headers = await headersProvider();\n const previewFromHeaders = headers.get(\"X-Preview-Params\");\n\n return new PreviewDocument(\"wb\", new URLSearchParams(previewFromHeaders ?? \"\"));\n }\n\n matches(params: Record<string, string>) {\n for (const [key, value] of Object.entries(params)) {\n if (this.props[key] !== value) {\n return false;\n }\n }\n return true;\n }\n\n getId() {\n return this.props.id;\n }\n}\n"],"mappings":"AAAA,SAASA,kBAAkB;AAE3B,OAAO,MAAMC,eAAe,CAAC;EAGjBC,WAAWA,CAACC,MAAc,EAAEC,KAAsB,EAAE;IACxD,IAAI,CAACC,KAAK,GAAG,CAAC,CAAC;IACfD,KAAK,CAACE,OAAO,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;MAC1B,IAAIA,GAAG,CAACC,UAAU,CAACN,MAAM,GAAG,GAAG,CAAC,EAAE;QAC9B,MAAMO,WAAW,GAAGF,GAAG,CAACG,KAAK,CAACR,MAAM,CAACS,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAClD,IAAI,CAACP,KAAK,CAACK,WAAW,CAAC,GAAGH,KAAe;MAC7C;IACJ,CAAC,CAAC;EACN;EAEA,OAAOM,gBAAgBA,CAAA,EAAoB;IACvC,MAAMT,KAAK,GAAG,IAAIU,eAAe,CAACC,MAAM,CAACC,QAAQ,CAACC,MAAM,CAAC;IACzD,OAAO,IAAIhB,eAAe,CAAC,IAAI,EAAEG,KAAK,CAAC;EAC3C;EAEA,aAAac,iBAAiBA,CAAA,EAA6B;IACvD,MAAMC,eAAe,GAAGnB,kBAAkB,CAAC,CAAC;IAC5C,MAAMoB,OAAO,GAAG,MAAMD,eAAe,CAAC,CAAC;IACvC,MAAME,kBAAkB,GAAGD,OAAO,CAACE,GAAG,CAAC,kBAAkB,CAAC;IAE1D,OAAO,IAAIrB,eAAe,CAAC,IAAI,EAAE,IAAIa,eAAe,CAACO,kBAAkB,IAAI,EAAE,CAAC,CAAC;EACnF;EAEAE,OAAOA,CAACC,MAA8B,EAAE;IACpC,KAAK,MAAM,CAAChB,GAAG,EAAED,KAAK,CAAC,IAAIkB,MAAM,CAACC,OAAO,CAACF,MAAM,CAAC,EAAE;MAC/C,IAAI,IAAI,CAACnB,KAAK,CAACG,GAAG,CAAC,KAAKD,KAAK,EAAE;QAC3B,OAAO,KAAK;MAChB;IACJ;IACA,OAAO,IAAI;EACf;EAEAoB,KAAKA,CAAA,EAAG;IACJ,OAAO,IAAI,CAACtB,KAAK,CAACuB,EAAE;EACxB;AACJ","ignoreList":[]}
|
package/PreviewSdk.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { IContentSdk, IDataProvider, PublicPage } from "./types.js";
|
|
1
|
+
import type { IContentSdk, IDataProvider, ListPagesOptions, ListPagesResult, PublicPage } from "./types.js";
|
|
2
2
|
export declare class PreviewSdk implements IContentSdk {
|
|
3
3
|
private liveSdk;
|
|
4
4
|
private dataProvider;
|
|
5
5
|
constructor(dataProvider: IDataProvider, liveSdk: IContentSdk);
|
|
6
6
|
getPage(path: string): Promise<PublicPage | null>;
|
|
7
|
-
listPages(): Promise<
|
|
7
|
+
listPages(options?: ListPagesOptions): Promise<ListPagesResult>;
|
|
8
8
|
}
|
package/PreviewSdk.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PreviewDocument } from "./PreviewDocument";
|
|
1
|
+
import { PreviewDocument } from "./PreviewDocument.js";
|
|
2
2
|
export class PreviewSdk {
|
|
3
3
|
constructor(dataProvider, liveSdk) {
|
|
4
4
|
this.liveSdk = liveSdk;
|
|
@@ -14,8 +14,8 @@ export class PreviewSdk {
|
|
|
14
14
|
}
|
|
15
15
|
return this.dataProvider.getPageById(previewDocument.getId());
|
|
16
16
|
}
|
|
17
|
-
async listPages() {
|
|
18
|
-
return this.liveSdk.listPages();
|
|
17
|
+
async listPages(options) {
|
|
18
|
+
return this.liveSdk.listPages(options);
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
|
package/PreviewSdk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PreviewDocument","PreviewSdk","constructor","dataProvider","liveSdk","getPage","path","previewDocument","createFromHeaders","matches","type","getPageById","getId","listPages"],"sources":["PreviewSdk.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"names":["PreviewDocument","PreviewSdk","constructor","dataProvider","liveSdk","getPage","path","previewDocument","createFromHeaders","matches","type","getPageById","getId","listPages","options"],"sources":["PreviewSdk.ts"],"sourcesContent":["import type {\n IContentSdk,\n IDataProvider,\n ListPagesOptions,\n ListPagesResult,\n PublicPage\n} from \"~/types.js\";\nimport { PreviewDocument } from \"~/PreviewDocument.js\";\n\nexport class PreviewSdk implements IContentSdk {\n private liveSdk: IContentSdk;\n private dataProvider: IDataProvider;\n\n constructor(dataProvider: IDataProvider, liveSdk: IContentSdk) {\n this.liveSdk = liveSdk;\n this.dataProvider = dataProvider;\n }\n\n async getPage(path: string): Promise<PublicPage | null> {\n const previewDocument = await PreviewDocument.createFromHeaders();\n if (!previewDocument.matches({ type: \"page\", path })) {\n return this.liveSdk.getPage(path);\n }\n return this.dataProvider.getPageById(previewDocument.getId());\n }\n\n async listPages(options?: ListPagesOptions): Promise<ListPagesResult> {\n return this.liveSdk.listPages(options);\n }\n}\n"],"mappings":"AAOA,SAASA,eAAe;AAExB,OAAO,MAAMC,UAAU,CAAwB;EAI3CC,WAAWA,CAACC,YAA2B,EAAEC,OAAoB,EAAE;IAC3D,IAAI,CAACA,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACD,YAAY,GAAGA,YAAY;EACpC;EAEA,MAAME,OAAOA,CAACC,IAAY,EAA8B;IACpD,MAAMC,eAAe,GAAG,MAAMP,eAAe,CAACQ,iBAAiB,CAAC,CAAC;IACjE,IAAI,CAACD,eAAe,CAACE,OAAO,CAAC;MAAEC,IAAI,EAAE,MAAM;MAAEJ;IAAK,CAAC,CAAC,EAAE;MAClD,OAAO,IAAI,CAACF,OAAO,CAACC,OAAO,CAACC,IAAI,CAAC;IACrC;IACA,OAAO,IAAI,CAACH,YAAY,CAACQ,WAAW,CAACJ,eAAe,CAACK,KAAK,CAAC,CAAC,CAAC;EACjE;EAEA,MAAMC,SAASA,CAACC,OAA0B,EAA4B;IAClE,OAAO,IAAI,CAACV,OAAO,CAACS,SAAS,CAACC,OAAO,CAAC;EAC1C;AACJ","ignoreList":[]}
|
package/PreviewViewport.d.ts
CHANGED
|
@@ -3,7 +3,6 @@ export declare class PreviewViewport {
|
|
|
3
3
|
getBoxes(): {
|
|
4
4
|
[x: string]: ElementBoxData | ElementSlotBoxData;
|
|
5
5
|
};
|
|
6
|
-
getViewport(): import("./ViewportManager").ViewportInfo;
|
|
7
|
-
getVisibleBoxes(): Record<string, ElementBoxData | ElementSlotBoxData>;
|
|
6
|
+
getViewport(): import("./ViewportManager.js").ViewportInfo;
|
|
8
7
|
destroy(): void;
|
|
9
8
|
}
|
package/PreviewViewport.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { viewportManager } from "./ViewportManager";
|
|
1
|
+
import { viewportManager } from "./ViewportManager.js";
|
|
2
2
|
export class PreviewViewport {
|
|
3
3
|
getBoxes() {
|
|
4
4
|
const elementBoxes = {};
|
|
@@ -62,26 +62,6 @@ export class PreviewViewport {
|
|
|
62
62
|
getViewport() {
|
|
63
63
|
return viewportManager.getViewport();
|
|
64
64
|
}
|
|
65
|
-
getVisibleBoxes() {
|
|
66
|
-
const allBoxes = this.getBoxes();
|
|
67
|
-
const viewport = this.getViewport();
|
|
68
|
-
const visibleBoxes = {};
|
|
69
|
-
for (const [id, box] of Object.entries(allBoxes)) {
|
|
70
|
-
const {
|
|
71
|
-
top,
|
|
72
|
-
left,
|
|
73
|
-
width,
|
|
74
|
-
height
|
|
75
|
-
} = box;
|
|
76
|
-
const bottom = top + height;
|
|
77
|
-
const right = left + width;
|
|
78
|
-
const isVisible = bottom > 0 && right > 0 && top < viewport.height && left < viewport.width;
|
|
79
|
-
if (isVisible) {
|
|
80
|
-
visibleBoxes[id] = box;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
return visibleBoxes;
|
|
84
|
-
}
|
|
85
65
|
destroy() {}
|
|
86
66
|
}
|
|
87
67
|
|
package/PreviewViewport.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["viewportManager","PreviewViewport","getBoxes","elementBoxes","elements","document","querySelectorAll","forEach","element","id","getAttribute","depth","rect","firstElementChild","getBoundingClientRect","type","parseInt","parentId","parentSlot","parentIndex","top","left","width","height","slotBoxes","elementSlots","slot","getViewport","
|
|
1
|
+
{"version":3,"names":["viewportManager","PreviewViewport","getBoxes","elementBoxes","elements","document","querySelectorAll","forEach","element","id","getAttribute","depth","rect","firstElementChild","getBoundingClientRect","type","parseInt","parentId","parentSlot","parentIndex","top","left","width","height","slotBoxes","elementSlots","slot","getViewport","destroy"],"sources":["PreviewViewport.ts"],"sourcesContent":["import type { ElementBoxData, ElementSlotBoxData } from \"~/types.js\";\nimport { viewportManager } from \"./ViewportManager.js\";\n\nexport class PreviewViewport {\n getBoxes() {\n const elementBoxes: Record<string, ElementBoxData> = {};\n\n // Collect positions for all elements\n const elements = document.querySelectorAll(\"[data-element-id]\");\n\n elements.forEach(element => {\n const id = element.getAttribute(\"data-element-id\");\n const depth = element.getAttribute(\"data-depth\");\n if (id) {\n // Get the bounding box relative to the viewport\n const rect = element.firstElementChild?.getBoundingClientRect();\n\n if (!rect) {\n return;\n }\n\n // Convert DOMRect to a plain object to ensure it can be serialized\n elementBoxes[id] = {\n type: \"element\",\n depth: parseInt(depth ?? \"0\"),\n parentId: element.getAttribute(\"data-parent-id\")!,\n parentSlot: element.getAttribute(\"data-parent-slot\")!,\n parentIndex: parseInt(element.getAttribute(\"data-parent-index\") ?? \"0\"),\n top: rect.top,\n left: rect.left,\n width: rect.width,\n height: rect.height\n };\n }\n });\n\n // Collect positions for all element slots\n const slotBoxes: Record<string, ElementSlotBoxData> = {};\n\n const elementSlots = document.querySelectorAll(\"[data-role='element-slot']\");\n\n elementSlots.forEach(element => {\n const parentId = element.getAttribute(\"data-parent-id\");\n const slot = element.getAttribute(\"data-parent-slot\");\n const depth = element.getAttribute(\"data-depth\");\n\n // Get the bounding box relative to the viewport\n const rect = element.getBoundingClientRect();\n\n // Convert DOMRect to a plain object to ensure it can be serialized\n slotBoxes[`${parentId}:${slot}`] = {\n type: \"element-slot\",\n depth: parseInt(depth ?? \"0\"),\n parentId: element.getAttribute(\"data-parent-id\")!,\n parentSlot: element.getAttribute(\"data-parent-slot\")!,\n parentIndex: parseInt(element.getAttribute(\"data-parent-index\") ?? \"0\"),\n top: rect.top,\n left: rect.left,\n width: rect.width,\n height: rect.height\n };\n });\n\n return { ...elementBoxes, ...slotBoxes };\n }\n\n getViewport() {\n return viewportManager.getViewport();\n }\n\n destroy(): void {}\n}\n"],"mappings":"AACA,SAASA,eAAe;AAExB,OAAO,MAAMC,eAAe,CAAC;EACzBC,QAAQA,CAAA,EAAG;IACP,MAAMC,YAA4C,GAAG,CAAC,CAAC;;IAEvD;IACA,MAAMC,QAAQ,GAAGC,QAAQ,CAACC,gBAAgB,CAAC,mBAAmB,CAAC;IAE/DF,QAAQ,CAACG,OAAO,CAACC,OAAO,IAAI;MACxB,MAAMC,EAAE,GAAGD,OAAO,CAACE,YAAY,CAAC,iBAAiB,CAAC;MAClD,MAAMC,KAAK,GAAGH,OAAO,CAACE,YAAY,CAAC,YAAY,CAAC;MAChD,IAAID,EAAE,EAAE;QACJ;QACA,MAAMG,IAAI,GAAGJ,OAAO,CAACK,iBAAiB,EAAEC,qBAAqB,CAAC,CAAC;QAE/D,IAAI,CAACF,IAAI,EAAE;UACP;QACJ;;QAEA;QACAT,YAAY,CAACM,EAAE,CAAC,GAAG;UACfM,IAAI,EAAE,SAAS;UACfJ,KAAK,EAAEK,QAAQ,CAACL,KAAK,IAAI,GAAG,CAAC;UAC7BM,QAAQ,EAAET,OAAO,CAACE,YAAY,CAAC,gBAAgB,CAAE;UACjDQ,UAAU,EAAEV,OAAO,CAACE,YAAY,CAAC,kBAAkB,CAAE;UACrDS,WAAW,EAAEH,QAAQ,CAACR,OAAO,CAACE,YAAY,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC;UACvEU,GAAG,EAAER,IAAI,CAACQ,GAAG;UACbC,IAAI,EAAET,IAAI,CAACS,IAAI;UACfC,KAAK,EAAEV,IAAI,CAACU,KAAK;UACjBC,MAAM,EAAEX,IAAI,CAACW;QACjB,CAAC;MACL;IACJ,CAAC,CAAC;;IAEF;IACA,MAAMC,SAA6C,GAAG,CAAC,CAAC;IAExD,MAAMC,YAAY,GAAGpB,QAAQ,CAACC,gBAAgB,CAAC,4BAA4B,CAAC;IAE5EmB,YAAY,CAAClB,OAAO,CAACC,OAAO,IAAI;MAC5B,MAAMS,QAAQ,GAAGT,OAAO,CAACE,YAAY,CAAC,gBAAgB,CAAC;MACvD,MAAMgB,IAAI,GAAGlB,OAAO,CAACE,YAAY,CAAC,kBAAkB,CAAC;MACrD,MAAMC,KAAK,GAAGH,OAAO,CAACE,YAAY,CAAC,YAAY,CAAC;;MAEhD;MACA,MAAME,IAAI,GAAGJ,OAAO,CAACM,qBAAqB,CAAC,CAAC;;MAE5C;MACAU,SAAS,CAAC,GAAGP,QAAQ,IAAIS,IAAI,EAAE,CAAC,GAAG;QAC/BX,IAAI,EAAE,cAAc;QACpBJ,KAAK,EAAEK,QAAQ,CAACL,KAAK,IAAI,GAAG,CAAC;QAC7BM,QAAQ,EAAET,OAAO,CAACE,YAAY,CAAC,gBAAgB,CAAE;QACjDQ,UAAU,EAAEV,OAAO,CAACE,YAAY,CAAC,kBAAkB,CAAE;QACrDS,WAAW,EAAEH,QAAQ,CAACR,OAAO,CAACE,YAAY,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC;QACvEU,GAAG,EAAER,IAAI,CAACQ,GAAG;QACbC,IAAI,EAAET,IAAI,CAACS,IAAI;QACfC,KAAK,EAAEV,IAAI,CAACU,KAAK;QACjBC,MAAM,EAAEX,IAAI,CAACW;MACjB,CAAC;IACL,CAAC,CAAC;IAEF,OAAO;MAAE,GAAGpB,YAAY;MAAE,GAAGqB;IAAU,CAAC;EAC5C;EAEAG,WAAWA,CAAA,EAAG;IACV,OAAO3B,eAAe,CAAC2B,WAAW,CAAC,CAAC;EACxC;EAEAC,OAAOA,CAAA,EAAS,CAAC;AACrB","ignoreList":[]}
|
package/README.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @webiny/website-builder-sdk
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> [!NOTE]
|
|
4
|
+
> This package is part of the [Webiny](https://www.webiny.com) monorepo.
|
|
5
|
+
> It’s **included in every Webiny project by default** and is not meant to be used as a standalone package.
|
|
6
|
+
|
|
7
|
+
📘 **Documentation:** [https://www.webiny.com/docs](https://www.webiny.com/docs)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
_This README file is automatically generated during the publish process._
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { DocumentElementBindings, DocumentElementStyleBindings } from "./types";
|
|
2
|
-
import { StylesUpdater } from "./StylesUpdater";
|
|
1
|
+
import type { DocumentElementBindings, DocumentElementStyleBindings } from "./types.js";
|
|
2
|
+
import { StylesUpdater } from "./StylesUpdater.js";
|
|
3
3
|
type DeepBindings = Record<string, any>;
|
|
4
4
|
export type ElementStylesBindings = {
|
|
5
5
|
styles: DocumentElementStyleBindings;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import set from "lodash/set";
|
|
2
|
-
import unset from "lodash/unset";
|
|
3
|
-
import { InheritedValueResolver } from "./InheritedValueResolver";
|
|
4
|
-
import { StylesUpdater } from "./StylesUpdater";
|
|
1
|
+
import set from "lodash/set.js";
|
|
2
|
+
import unset from "lodash/unset.js";
|
|
3
|
+
import { InheritedValueResolver } from "./InheritedValueResolver.js";
|
|
4
|
+
import { StylesUpdater } from "./StylesUpdater.js";
|
|
5
5
|
/**
|
|
6
6
|
* Handles deep-to-flat and flat-to-deep conversion of style bindings,
|
|
7
7
|
* with breakpoint inheritance awareness.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["set","unset","InheritedValueResolver","StylesUpdater","StylesBindingsProcessor","constructor","elementId","breakpoints","rawBindings","toDeepStyles","styles","result","Object","keys","forEach","key","static","createUpdate","currentBreakpoint","rebuilt","getBaseStyles","valueResolver","breakpoint","isBaseBreakpoint","overrides","originalStyles","newKeys","Set","originalKeys","has","value","entries","inheritedValue","getInheritedValue","baseStyles","structuredClone","bp","name","indexOf"],"sources":["StylesBindingsProcessor.ts"],"sourcesContent":["import set from \"lodash/set\";\nimport unset from \"lodash/unset\";\nimport type { DocumentElementBindings, DocumentElementStyleBindings } from \"~/types\";\nimport { InheritedValueResolver } from \"~/InheritedValueResolver\";\nimport { StylesUpdater } from \"./StylesUpdater\";\n\ntype DeepBindings = Record<string, any>;\n\nexport type ElementStylesBindings = {\n styles: DocumentElementStyleBindings;\n overrides: {\n [breakpoint: string]: {\n styles: DocumentElementStyleBindings;\n };\n };\n};\n\n/**\n * Handles deep-to-flat and flat-to-deep conversion of style bindings,\n * with breakpoint inheritance awareness.\n */\nexport class StylesBindingsProcessor {\n private breakpoints: string[];\n private rawBindings: DocumentElementBindings;\n private elementId: string;\n\n constructor(elementId: string, breakpoints: string[], rawBindings: DocumentElementBindings) {\n this.elementId = elementId;\n this.breakpoints = breakpoints;\n this.rawBindings = rawBindings;\n }\n\n /**\n * Converts flat style bindings into deep styles object (removes `.static`).\n */\n public toDeepStyles(styles: DocumentElementBindings[\"styles\"] = {}): DeepBindings {\n const result: DeepBindings = {};\n Object.keys(styles).forEach(key => {\n // @ts-expect-error Style keys cannot be indexed with a string.\n result[key] = styles[key].static;\n });\n return result;\n }\n\n /**\n * Flattens deep styles object into flat bindings with `.static` wrappers.\n * Skips overrides where the value matches inherited parent breakpoint.\n */\n public createUpdate(styles: DeepBindings, currentBreakpoint: string) {\n const rebuilt = this.getBaseStyles();\n const valueResolver = new InheritedValueResolver(this.breakpoints, breakpoint => {\n if (this.isBaseBreakpoint(breakpoint)) {\n return this.rawBindings.styles;\n }\n return this.rawBindings?.overrides?.[breakpoint]?.styles;\n });\n\n // Collect original keys for the breakpoint\n const originalStyles = this.isBaseBreakpoint(currentBreakpoint)\n ? this.rawBindings.styles || {}\n : this.rawBindings?.overrides?.[currentBreakpoint]?.styles || {};\n\n const newKeys = new Set(Object.keys(styles));\n const originalKeys = Object.keys(originalStyles);\n\n // Remove keys that no longer exist\n for (const key of originalKeys) {\n if (!newKeys.has(key)) {\n if (this.isBaseBreakpoint(currentBreakpoint)) {\n unset(rebuilt, `styles.${key}`);\n } else {\n unset(rebuilt, `overrides.${currentBreakpoint}.styles.${key}`);\n }\n }\n }\n\n for (const [key, value] of Object.entries(styles)) {\n if (this.isBaseBreakpoint(currentBreakpoint)) {\n set(rebuilt, `styles.${key}.static`, value);\n } else {\n const inheritedValue = valueResolver.getInheritedValue(key, currentBreakpoint);\n\n if (value !== inheritedValue) {\n set(rebuilt, `overrides.${currentBreakpoint}.styles.${key}.static`, value);\n } else {\n unset(rebuilt, `overrides.${currentBreakpoint}.styles.${key}`);\n }\n }\n }\n\n return new StylesUpdater(this.elementId, rebuilt);\n }\n\n private getBaseStyles(): ElementStylesBindings {\n const baseStyles: ElementStylesBindings = {\n styles: structuredClone(this.rawBindings.styles) ?? {},\n overrides: {}\n };\n\n // Clone existing overrides if present, to avoid losing breakpoint overrides\n if (this.rawBindings.overrides) {\n for (const [bp, overrides] of Object.entries(this.rawBindings.overrides)) {\n if (overrides.styles) {\n set(\n baseStyles,\n `overrides.${bp}.styles`,\n structuredClone(this.rawBindings.overrides[bp].styles)\n );\n }\n }\n }\n\n return baseStyles;\n }\n\n private isBaseBreakpoint(name: string): boolean {\n return this.breakpoints.indexOf(name) === 0;\n }\n}\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,
|
|
1
|
+
{"version":3,"names":["set","unset","InheritedValueResolver","StylesUpdater","StylesBindingsProcessor","constructor","elementId","breakpoints","rawBindings","toDeepStyles","styles","result","Object","keys","forEach","key","static","createUpdate","currentBreakpoint","rebuilt","getBaseStyles","valueResolver","breakpoint","isBaseBreakpoint","overrides","originalStyles","newKeys","Set","originalKeys","has","value","entries","inheritedValue","getInheritedValue","baseStyles","structuredClone","bp","name","indexOf"],"sources":["StylesBindingsProcessor.ts"],"sourcesContent":["import set from \"lodash/set.js\";\nimport unset from \"lodash/unset.js\";\nimport type { DocumentElementBindings, DocumentElementStyleBindings } from \"~/types.js\";\nimport { InheritedValueResolver } from \"~/InheritedValueResolver.js\";\nimport { StylesUpdater } from \"./StylesUpdater.js\";\n\ntype DeepBindings = Record<string, any>;\n\nexport type ElementStylesBindings = {\n styles: DocumentElementStyleBindings;\n overrides: {\n [breakpoint: string]: {\n styles: DocumentElementStyleBindings;\n };\n };\n};\n\n/**\n * Handles deep-to-flat and flat-to-deep conversion of style bindings,\n * with breakpoint inheritance awareness.\n */\nexport class StylesBindingsProcessor {\n private breakpoints: string[];\n private rawBindings: DocumentElementBindings;\n private elementId: string;\n\n constructor(elementId: string, breakpoints: string[], rawBindings: DocumentElementBindings) {\n this.elementId = elementId;\n this.breakpoints = breakpoints;\n this.rawBindings = rawBindings;\n }\n\n /**\n * Converts flat style bindings into deep styles object (removes `.static`).\n */\n public toDeepStyles(styles: DocumentElementBindings[\"styles\"] = {}): DeepBindings {\n const result: DeepBindings = {};\n Object.keys(styles).forEach(key => {\n // @ts-expect-error Style keys cannot be indexed with a string.\n result[key] = styles[key].static;\n });\n return result;\n }\n\n /**\n * Flattens deep styles object into flat bindings with `.static` wrappers.\n * Skips overrides where the value matches inherited parent breakpoint.\n */\n public createUpdate(styles: DeepBindings, currentBreakpoint: string) {\n const rebuilt = this.getBaseStyles();\n const valueResolver = new InheritedValueResolver(this.breakpoints, breakpoint => {\n if (this.isBaseBreakpoint(breakpoint)) {\n return this.rawBindings.styles;\n }\n return this.rawBindings?.overrides?.[breakpoint]?.styles;\n });\n\n // Collect original keys for the breakpoint\n const originalStyles = this.isBaseBreakpoint(currentBreakpoint)\n ? this.rawBindings.styles || {}\n : this.rawBindings?.overrides?.[currentBreakpoint]?.styles || {};\n\n const newKeys = new Set(Object.keys(styles));\n const originalKeys = Object.keys(originalStyles);\n\n // Remove keys that no longer exist\n for (const key of originalKeys) {\n if (!newKeys.has(key)) {\n if (this.isBaseBreakpoint(currentBreakpoint)) {\n unset(rebuilt, `styles.${key}`);\n } else {\n unset(rebuilt, `overrides.${currentBreakpoint}.styles.${key}`);\n }\n }\n }\n\n for (const [key, value] of Object.entries(styles)) {\n if (this.isBaseBreakpoint(currentBreakpoint)) {\n set(rebuilt, `styles.${key}.static`, value);\n } else {\n const inheritedValue = valueResolver.getInheritedValue(key, currentBreakpoint);\n\n if (value !== inheritedValue) {\n set(rebuilt, `overrides.${currentBreakpoint}.styles.${key}.static`, value);\n } else {\n unset(rebuilt, `overrides.${currentBreakpoint}.styles.${key}`);\n }\n }\n }\n\n return new StylesUpdater(this.elementId, rebuilt);\n }\n\n private getBaseStyles(): ElementStylesBindings {\n const baseStyles: ElementStylesBindings = {\n styles: structuredClone(this.rawBindings.styles) ?? {},\n overrides: {}\n };\n\n // Clone existing overrides if present, to avoid losing breakpoint overrides\n if (this.rawBindings.overrides) {\n for (const [bp, overrides] of Object.entries(this.rawBindings.overrides)) {\n if (overrides.styles) {\n set(\n baseStyles,\n `overrides.${bp}.styles`,\n structuredClone(this.rawBindings.overrides[bp].styles)\n );\n }\n }\n }\n\n return baseStyles;\n }\n\n private isBaseBreakpoint(name: string): boolean {\n return this.breakpoints.indexOf(name) === 0;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/StylesUpdater.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { Document, DocumentElementBindings } from "./types";
|
|
2
|
-
import type { IBindingsUpdater } from "./IBindingsUpdater";
|
|
3
|
-
import type { ElementStylesBindings } from "./StylesBindingsProcessor";
|
|
1
|
+
import type { Document, DocumentElementBindings } from "./types.js";
|
|
2
|
+
import type { IBindingsUpdater } from "./IBindingsUpdater.js";
|
|
3
|
+
import type { ElementStylesBindings } from "./StylesBindingsProcessor.js";
|
|
4
4
|
export declare class StylesUpdater implements IBindingsUpdater {
|
|
5
5
|
private readonly bindings;
|
|
6
6
|
private elementId;
|
|
7
7
|
constructor(elementId: string, bindings: ElementStylesBindings);
|
|
8
8
|
applyToDocument(document: Document): void;
|
|
9
|
-
createJsonPatch(bindings: DocumentElementBindings): import("
|
|
9
|
+
createJsonPatch(bindings: DocumentElementBindings): import("fast-json-patch").Operation[];
|
|
10
10
|
}
|
package/StylesUpdater.js
CHANGED
package/StylesUpdater.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsonPatch","set","StylesUpdater","constructor","elementId","bindings","applyToDocument","document","styles","overrides","bp","Object","entries","structuredClone","createJsonPatch","toCompare","keys","length","ignore","compare","filter","op","some","prefix","path","startsWith"],"sources":["StylesUpdater.ts"],"sourcesContent":["import { jsonPatch } from \"~/jsonPatch\";\nimport set from \"lodash/set\";\nimport type { Document, DocumentElementBindings } from \"./types\";\nimport type { IBindingsUpdater } from \"./IBindingsUpdater\";\nimport type { ElementStylesBindings } from \"./StylesBindingsProcessor\";\n\nexport class StylesUpdater implements IBindingsUpdater {\n private readonly bindings: ElementStylesBindings;\n private elementId: string;\n\n constructor(elementId: string, bindings: ElementStylesBindings) {\n this.elementId = elementId;\n this.bindings = bindings;\n }\n\n applyToDocument(document: Document) {\n if (this.bindings.styles) {\n document.bindings[this.elementId].styles = this.bindings.styles;\n }\n\n if (this.bindings.overrides) {\n for (const [bp, overrides] of Object.entries(this.bindings.overrides)) {\n if (overrides.styles) {\n set(\n document.bindings,\n `${this.elementId}.overrides.${bp}.styles`,\n structuredClone(this.bindings.overrides[bp].styles)\n );\n }\n }\n }\n }\n\n createJsonPatch(bindings: DocumentElementBindings) {\n const toCompare: Partial<DocumentElementBindings> = { ...this.bindings };\n if (Object.keys(toCompare.overrides ?? {}).length === 0) {\n delete toCompare.overrides;\n }\n\n const ignore = [\"/inputs\", \"/overrides/inputs\", \"/metadata\"];\n\n return jsonPatch.compare(bindings, toCompare).filter(op => {\n return !ignore.some(prefix => op.path.startsWith(prefix));\n });\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAClB,OAAOC,GAAG,MAAM,
|
|
1
|
+
{"version":3,"names":["jsonPatch","set","StylesUpdater","constructor","elementId","bindings","applyToDocument","document","styles","overrides","bp","Object","entries","structuredClone","createJsonPatch","toCompare","keys","length","ignore","compare","filter","op","some","prefix","path","startsWith"],"sources":["StylesUpdater.ts"],"sourcesContent":["import { jsonPatch } from \"~/jsonPatch.js\";\nimport set from \"lodash/set.js\";\nimport type { Document, DocumentElementBindings } from \"./types.js\";\nimport type { IBindingsUpdater } from \"./IBindingsUpdater.js\";\nimport type { ElementStylesBindings } from \"./StylesBindingsProcessor.js\";\n\nexport class StylesUpdater implements IBindingsUpdater {\n private readonly bindings: ElementStylesBindings;\n private elementId: string;\n\n constructor(elementId: string, bindings: ElementStylesBindings) {\n this.elementId = elementId;\n this.bindings = bindings;\n }\n\n applyToDocument(document: Document) {\n if (this.bindings.styles) {\n document.bindings[this.elementId].styles = this.bindings.styles;\n }\n\n if (this.bindings.overrides) {\n for (const [bp, overrides] of Object.entries(this.bindings.overrides)) {\n if (overrides.styles) {\n set(\n document.bindings,\n `${this.elementId}.overrides.${bp}.styles`,\n structuredClone(this.bindings.overrides[bp].styles)\n );\n }\n }\n }\n }\n\n createJsonPatch(bindings: DocumentElementBindings) {\n const toCompare: Partial<DocumentElementBindings> = { ...this.bindings };\n if (Object.keys(toCompare.overrides ?? {}).length === 0) {\n delete toCompare.overrides;\n }\n\n const ignore = [\"/inputs\", \"/overrides/inputs\", \"/metadata\"];\n\n return jsonPatch.compare(bindings, toCompare).filter(op => {\n return !ignore.some(prefix => op.path.startsWith(prefix));\n });\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAClB,OAAOC,GAAG,MAAM,eAAe;AAK/B,OAAO,MAAMC,aAAa,CAA6B;EAInDC,WAAWA,CAACC,SAAiB,EAAEC,QAA+B,EAAE;IAC5D,IAAI,CAACD,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,QAAQ,GAAGA,QAAQ;EAC5B;EAEAC,eAAeA,CAACC,QAAkB,EAAE;IAChC,IAAI,IAAI,CAACF,QAAQ,CAACG,MAAM,EAAE;MACtBD,QAAQ,CAACF,QAAQ,CAAC,IAAI,CAACD,SAAS,CAAC,CAACI,MAAM,GAAG,IAAI,CAACH,QAAQ,CAACG,MAAM;IACnE;IAEA,IAAI,IAAI,CAACH,QAAQ,CAACI,SAAS,EAAE;MACzB,KAAK,MAAM,CAACC,EAAE,EAAED,SAAS,CAAC,IAAIE,MAAM,CAACC,OAAO,CAAC,IAAI,CAACP,QAAQ,CAACI,SAAS,CAAC,EAAE;QACnE,IAAIA,SAAS,CAACD,MAAM,EAAE;UAClBP,GAAG,CACCM,QAAQ,CAACF,QAAQ,EACjB,GAAG,IAAI,CAACD,SAAS,cAAcM,EAAE,SAAS,EAC1CG,eAAe,CAAC,IAAI,CAACR,QAAQ,CAACI,SAAS,CAACC,EAAE,CAAC,CAACF,MAAM,CACtD,CAAC;QACL;MACJ;IACJ;EACJ;EAEAM,eAAeA,CAACT,QAAiC,EAAE;IAC/C,MAAMU,SAA2C,GAAG;MAAE,GAAG,IAAI,CAACV;IAAS,CAAC;IACxE,IAAIM,MAAM,CAACK,IAAI,CAACD,SAAS,CAACN,SAAS,IAAI,CAAC,CAAC,CAAC,CAACQ,MAAM,KAAK,CAAC,EAAE;MACrD,OAAOF,SAAS,CAACN,SAAS;IAC9B;IAEA,MAAMS,MAAM,GAAG,CAAC,SAAS,EAAE,mBAAmB,EAAE,WAAW,CAAC;IAE5D,OAAOlB,SAAS,CAACmB,OAAO,CAACd,QAAQ,EAAEU,SAAS,CAAC,CAACK,MAAM,CAACC,EAAE,IAAI;MACvD,OAAO,CAACH,MAAM,CAACI,IAAI,CAACC,MAAM,IAAIF,EAAE,CAACG,IAAI,CAACC,UAAU,CAACF,MAAM,CAAC,CAAC;IAC7D,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
|
package/Theme.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { WebsiteBuilderTheme, WebsiteBuilderThemeInput } from "./types/WebsiteBuilderTheme";
|
|
1
|
+
import type { WebsiteBuilderTheme, WebsiteBuilderThemeInput } from "./types/WebsiteBuilderTheme.js";
|
|
2
2
|
export declare class Theme {
|
|
3
3
|
static from(input: WebsiteBuilderThemeInput): WebsiteBuilderTheme;
|
|
4
4
|
}
|
package/Theme.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import deepMerge from "deepmerge";
|
|
2
|
-
import { defaultBreakpoints } from "./defaultBreakpoints";
|
|
3
|
-
import { createLexicalTheme } from "./lexical/createLexicalTheme";
|
|
2
|
+
import { defaultBreakpoints } from "./defaultBreakpoints.js";
|
|
4
3
|
export class Theme {
|
|
5
4
|
static from(input) {
|
|
6
5
|
const {
|
|
@@ -16,16 +15,12 @@ export class Theme {
|
|
|
16
15
|
});
|
|
17
16
|
});
|
|
18
17
|
return {
|
|
19
|
-
|
|
18
|
+
css: input.css,
|
|
19
|
+
fonts: input.fonts,
|
|
20
20
|
breakpoints: breakpoints.sort((a, b) => b.maxWidth - a.maxWidth),
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
...input?.styles?.colors
|
|
25
|
-
},
|
|
26
|
-
typography: {
|
|
27
|
-
...input?.styles?.typography
|
|
28
|
-
}
|
|
21
|
+
colors: input?.colors ?? [],
|
|
22
|
+
typography: {
|
|
23
|
+
...input?.typography
|
|
29
24
|
}
|
|
30
25
|
};
|
|
31
26
|
}
|
package/Theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["deepMerge","defaultBreakpoints","
|
|
1
|
+
{"version":3,"names":["deepMerge","defaultBreakpoints","Theme","from","input","custom","builtInOverrides","breakpoints","mergedBreakpoints","all","Object","entries","forEach","name","breakpoint","push","css","fonts","sort","a","b","maxWidth","colors","typography"],"sources":["Theme.ts"],"sourcesContent":["import deepMerge from \"deepmerge\";\nimport type {\n Breakpoint,\n WebsiteBuilderTheme,\n WebsiteBuilderThemeInput\n} from \"~/types/WebsiteBuilderTheme.js\";\nimport { defaultBreakpoints } from \"~/defaultBreakpoints.js\";\n\nexport class Theme {\n static from(input: WebsiteBuilderThemeInput): WebsiteBuilderTheme {\n const { custom = {}, ...builtInOverrides } = input?.breakpoints ?? {};\n\n const mergedBreakpoints = deepMerge.all([\n {},\n defaultBreakpoints,\n builtInOverrides,\n custom\n ]) as WebsiteBuilderThemeInput[\"breakpoints\"];\n\n const breakpoints: Breakpoint[] = [];\n Object.entries(mergedBreakpoints ?? {}).forEach(([name, breakpoint]) => {\n breakpoints.push({\n name,\n ...(breakpoint as Omit<Breakpoint, \"name\">)\n });\n });\n\n return {\n css: input.css,\n fonts: input.fonts,\n breakpoints: breakpoints.sort((a, b) => b.maxWidth - a.maxWidth),\n colors: input?.colors ?? [],\n typography: {\n ...input?.typography\n }\n };\n }\n}\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,WAAW;AAMjC,SAASC,kBAAkB;AAE3B,OAAO,MAAMC,KAAK,CAAC;EACf,OAAOC,IAAIA,CAACC,KAA+B,EAAuB;IAC9D,MAAM;MAAEC,MAAM,GAAG,CAAC,CAAC;MAAE,GAAGC;IAAiB,CAAC,GAAGF,KAAK,EAAEG,WAAW,IAAI,CAAC,CAAC;IAErE,MAAMC,iBAAiB,GAAGR,SAAS,CAACS,GAAG,CAAC,CACpC,CAAC,CAAC,EACFR,kBAAkB,EAClBK,gBAAgB,EAChBD,MAAM,CACT,CAA4C;IAE7C,MAAME,WAAyB,GAAG,EAAE;IACpCG,MAAM,CAACC,OAAO,CAACH,iBAAiB,IAAI,CAAC,CAAC,CAAC,CAACI,OAAO,CAAC,CAAC,CAACC,IAAI,EAAEC,UAAU,CAAC,KAAK;MACpEP,WAAW,CAACQ,IAAI,CAAC;QACbF,IAAI;QACJ,GAAIC;MACR,CAAC,CAAC;IACN,CAAC,CAAC;IAEF,OAAO;MACHE,GAAG,EAAEZ,KAAK,CAACY,GAAG;MACdC,KAAK,EAAEb,KAAK,CAACa,KAAK;MAClBV,WAAW,EAAEA,WAAW,CAACW,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKA,CAAC,CAACC,QAAQ,GAAGF,CAAC,CAACE,QAAQ,CAAC;MAChEC,MAAM,EAAElB,KAAK,EAAEkB,MAAM,IAAI,EAAE;MAC3BC,UAAU,EAAE;QACR,GAAGnB,KAAK,EAAEmB;MACd;IACJ,CAAC;EACL;AACJ","ignoreList":[]}
|
package/ViewportManager.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import type { Breakpoint } from "./types";
|
|
1
|
+
import type { Breakpoint } from "./types.js";
|
|
2
2
|
export interface ViewportInfo {
|
|
3
3
|
width: number;
|
|
4
4
|
height: number;
|
|
5
|
+
scrollWidth: number;
|
|
6
|
+
scrollHeight: number;
|
|
5
7
|
scrollX: number;
|
|
6
8
|
scrollY: number;
|
|
7
9
|
breakpoint: string;
|
package/ViewportManager.js
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { environment } from "./Environment";
|
|
3
|
+
import { environment } from "./Environment.js";
|
|
4
4
|
export class ViewportManager {
|
|
5
5
|
/**
|
|
6
6
|
* We need this fallback breakpoint for server environments.
|
|
7
7
|
*/
|
|
8
8
|
breakpoints = [{
|
|
9
9
|
name: "desktop",
|
|
10
|
+
title: "",
|
|
11
|
+
description: "",
|
|
12
|
+
icon: "",
|
|
10
13
|
minWidth: 0,
|
|
11
14
|
maxWidth: 4000
|
|
12
15
|
}];
|
|
@@ -74,12 +77,16 @@ export class ViewportManager {
|
|
|
74
77
|
const viewport = environment.isClient() ? {
|
|
75
78
|
width: window.innerWidth,
|
|
76
79
|
height: window.innerHeight,
|
|
80
|
+
scrollWidth: window.document.body.scrollWidth,
|
|
81
|
+
scrollHeight: window.document.body.scrollHeight,
|
|
77
82
|
scrollX: window.scrollX,
|
|
78
83
|
scrollY: window.scrollY
|
|
79
84
|
} : {
|
|
80
85
|
// During SSR or Next.js build, viewport is not available.
|
|
81
86
|
height: 0,
|
|
82
87
|
width: 2000,
|
|
88
|
+
scrollHeight: 0,
|
|
89
|
+
scrollWidth: 2000,
|
|
83
90
|
scrollX: 0,
|
|
84
91
|
scrollY: 0
|
|
85
92
|
};
|
package/ViewportManager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["environment","ViewportManager","breakpoints","name","minWidth","maxWidth","constructor","timeout","changeTimeout","changeStartSubscribers","Set","changeEndSubscribers","isChanging","changeTimer","handleViewportChange","bind","handleResize","isClient","window","addEventListener","passive","setBreakpoints","onViewportChangeStart","callback","add","delete","onViewportChangeEnd","getViewport","getViewportInfo","destroy","removeEventListener","clearTimeout","clear","viewportInfo","notifySubscribers","setTimeout","modes","reverse","viewport","width","innerWidth","height","innerHeight","scrollX","scrollY","breakpoint","filter","mode","subscribers","forEach","viewportManager"],"sources":["ViewportManager.ts"],"sourcesContent":["\"use client\";\nimport type { Breakpoint } from \"~/types\";\nimport { environment } from \"~/Environment\";\n\nexport interface ViewportInfo {\n width: number;\n height: number;\n scrollX: number;\n scrollY: number;\n breakpoint: string;\n breakpoints: Breakpoint[];\n}\n\nexport class ViewportManager {\n private readonly changeTimeout: number;\n private readonly changeStartSubscribers: Set<(info: ViewportInfo) => void>;\n private readonly changeEndSubscribers: Set<(info: ViewportInfo) => void>;\n private isChanging: boolean;\n private changeTimer: number | null;\n\n /**\n * We need this fallback breakpoint for server environments.\n */\n private breakpoints: Breakpoint[] = [\n {\n name: \"desktop\",\n minWidth: 0,\n maxWidth: 4000\n }\n ];\n\n constructor(timeout: number = 150) {\n this.changeTimeout = timeout;\n this.changeStartSubscribers = new Set();\n this.changeEndSubscribers = new Set();\n this.isChanging = false;\n this.changeTimer = null;\n\n this.handleViewportChange = this.handleViewportChange.bind(this);\n this.handleResize = this.handleResize.bind(this);\n\n if (environment.isClient()) {\n window.addEventListener(\"resize\", this.handleResize, { passive: true });\n }\n }\n\n public setBreakpoints(breakpoints: Breakpoint[]) {\n this.breakpoints = breakpoints;\n }\n\n public onViewportChangeStart(callback: (info: ViewportInfo) => void): () => void {\n this.changeStartSubscribers.add(callback);\n return () => this.changeStartSubscribers.delete(callback);\n }\n\n public onViewportChangeEnd(callback: (info: ViewportInfo) => void): () => void {\n this.changeEndSubscribers.add(callback);\n return () => this.changeEndSubscribers.delete(callback);\n }\n\n /**\n * Get the current viewport information\n */\n public getViewport(): ViewportInfo {\n return this.getViewportInfo();\n }\n\n public destroy(): void {\n if (environment.isClient()) {\n window.removeEventListener(\"resize\", this.handleResize);\n if (this.changeTimer !== null) {\n clearTimeout(this.changeTimer);\n }\n this.changeStartSubscribers.clear();\n this.changeEndSubscribers.clear();\n }\n }\n\n private handleResize(): void {\n this.handleViewportChange();\n }\n\n private handleViewportChange(): void {\n const viewportInfo = this.getViewportInfo();\n\n if (!this.isChanging) {\n this.isChanging = true;\n this.notifySubscribers(this.changeStartSubscribers, viewportInfo);\n }\n\n if (this.changeTimer !== null) {\n clearTimeout(this.changeTimer);\n }\n\n this.changeTimer = window.setTimeout(() => {\n this.isChanging = false;\n this.notifySubscribers(this.changeEndSubscribers, viewportInfo);\n }, this.changeTimeout);\n }\n\n private getViewportInfo(): ViewportInfo {\n const modes = [...this.breakpoints].reverse();\n const viewport = environment.isClient()\n ? {\n width: window.innerWidth,\n height: window.innerHeight,\n scrollX: window.scrollX,\n scrollY: window.scrollY\n }\n : {\n // During SSR or Next.js build, viewport is not available.\n height: 0,\n width: 2000,\n scrollX: 0,\n scrollY: 0\n };\n\n const [breakpoint] = modes.filter(mode => mode.maxWidth >= viewport.width);\n\n return { ...viewport, breakpoint: breakpoint.name, breakpoints: this.breakpoints };\n }\n\n private notifySubscribers(\n subscribers: Set<(info: ViewportInfo) => void>,\n viewportInfo: ViewportInfo\n ): void {\n subscribers.forEach(callback => {\n if (typeof callback === \"function\") {\n callback(viewportInfo);\n }\n });\n }\n}\n\nexport const viewportManager = new ViewportManager();\n"],"mappings":"AAAA,YAAY;;AAEZ,SAASA,WAAW;
|
|
1
|
+
{"version":3,"names":["environment","ViewportManager","breakpoints","name","title","description","icon","minWidth","maxWidth","constructor","timeout","changeTimeout","changeStartSubscribers","Set","changeEndSubscribers","isChanging","changeTimer","handleViewportChange","bind","handleResize","isClient","window","addEventListener","passive","setBreakpoints","onViewportChangeStart","callback","add","delete","onViewportChangeEnd","getViewport","getViewportInfo","destroy","removeEventListener","clearTimeout","clear","viewportInfo","notifySubscribers","setTimeout","modes","reverse","viewport","width","innerWidth","height","innerHeight","scrollWidth","document","body","scrollHeight","scrollX","scrollY","breakpoint","filter","mode","subscribers","forEach","viewportManager"],"sources":["ViewportManager.ts"],"sourcesContent":["\"use client\";\nimport type { Breakpoint } from \"~/types.js\";\nimport { environment } from \"~/Environment.js\";\n\nexport interface ViewportInfo {\n width: number;\n height: number;\n scrollWidth: number;\n scrollHeight: number;\n scrollX: number;\n scrollY: number;\n breakpoint: string;\n breakpoints: Breakpoint[];\n}\n\nexport class ViewportManager {\n private readonly changeTimeout: number;\n private readonly changeStartSubscribers: Set<(info: ViewportInfo) => void>;\n private readonly changeEndSubscribers: Set<(info: ViewportInfo) => void>;\n private isChanging: boolean;\n private changeTimer: number | null;\n\n /**\n * We need this fallback breakpoint for server environments.\n */\n private breakpoints: Breakpoint[] = [\n {\n name: \"desktop\",\n title: \"\",\n description: \"\",\n icon: \"\",\n minWidth: 0,\n maxWidth: 4000\n }\n ];\n\n constructor(timeout: number = 150) {\n this.changeTimeout = timeout;\n this.changeStartSubscribers = new Set();\n this.changeEndSubscribers = new Set();\n this.isChanging = false;\n this.changeTimer = null;\n\n this.handleViewportChange = this.handleViewportChange.bind(this);\n this.handleResize = this.handleResize.bind(this);\n\n if (environment.isClient()) {\n window.addEventListener(\"resize\", this.handleResize, { passive: true });\n }\n }\n\n public setBreakpoints(breakpoints: Breakpoint[]) {\n this.breakpoints = breakpoints;\n }\n\n public onViewportChangeStart(callback: (info: ViewportInfo) => void): () => void {\n this.changeStartSubscribers.add(callback);\n return () => this.changeStartSubscribers.delete(callback);\n }\n\n public onViewportChangeEnd(callback: (info: ViewportInfo) => void): () => void {\n this.changeEndSubscribers.add(callback);\n return () => this.changeEndSubscribers.delete(callback);\n }\n\n /**\n * Get the current viewport information\n */\n public getViewport(): ViewportInfo {\n return this.getViewportInfo();\n }\n\n public destroy(): void {\n if (environment.isClient()) {\n window.removeEventListener(\"resize\", this.handleResize);\n if (this.changeTimer !== null) {\n clearTimeout(this.changeTimer);\n }\n this.changeStartSubscribers.clear();\n this.changeEndSubscribers.clear();\n }\n }\n\n private handleResize(): void {\n this.handleViewportChange();\n }\n\n private handleViewportChange(): void {\n const viewportInfo = this.getViewportInfo();\n\n if (!this.isChanging) {\n this.isChanging = true;\n this.notifySubscribers(this.changeStartSubscribers, viewportInfo);\n }\n\n if (this.changeTimer !== null) {\n clearTimeout(this.changeTimer);\n }\n\n this.changeTimer = window.setTimeout(() => {\n this.isChanging = false;\n this.notifySubscribers(this.changeEndSubscribers, viewportInfo);\n }, this.changeTimeout);\n }\n\n private getViewportInfo(): ViewportInfo {\n const modes = [...this.breakpoints].reverse();\n const viewport = environment.isClient()\n ? {\n width: window.innerWidth,\n height: window.innerHeight,\n scrollWidth: window.document.body.scrollWidth,\n scrollHeight: window.document.body.scrollHeight,\n scrollX: window.scrollX,\n scrollY: window.scrollY\n }\n : {\n // During SSR or Next.js build, viewport is not available.\n height: 0,\n width: 2000,\n scrollHeight: 0,\n scrollWidth: 2000,\n scrollX: 0,\n scrollY: 0\n };\n\n const [breakpoint] = modes.filter(mode => mode.maxWidth >= viewport.width);\n\n return { ...viewport, breakpoint: breakpoint.name, breakpoints: this.breakpoints };\n }\n\n private notifySubscribers(\n subscribers: Set<(info: ViewportInfo) => void>,\n viewportInfo: ViewportInfo\n ): void {\n subscribers.forEach(callback => {\n if (typeof callback === \"function\") {\n callback(viewportInfo);\n }\n });\n }\n}\n\nexport const viewportManager = new ViewportManager();\n"],"mappings":"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","ignoreList":[]}
|
package/constants.d.ts
CHANGED
package/constants.js
CHANGED
package/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSettings","Layout","Visibility","Background","MarginPadding"],"sources":["constants.ts"],"sourcesContent":["export const StyleSettings = {\n Layout: \"layout\",\n Visibility: \"visibility\",\n Background: \"background\",\n MarginPadding: \"marginPadding\"\n};\n"],"mappings":"AAAA,OAAO,MAAMA,aAAa,GAAG;EACzBC,MAAM,EAAE,QAAQ;EAChBC,UAAU,EAAE,YAAY;EACxBC,UAAU,EAAE,YAAY;EACxBC,aAAa,EAAE;
|
|
1
|
+
{"version":3,"names":["StyleSettings","Layout","Visibility","Background","MarginPadding","Border"],"sources":["constants.ts"],"sourcesContent":["export const StyleSettings = {\n Layout: \"layout\",\n Visibility: \"visibility\",\n Background: \"background\",\n MarginPadding: \"marginPadding\",\n Border: \"border\"\n};\n"],"mappings":"AAAA,OAAO,MAAMA,aAAa,GAAG;EACzBC,MAAM,EAAE,QAAQ;EAChBC,UAAU,EAAE,YAAY;EACxBC,UAAU,EAAE,YAAY;EACxBC,aAAa,EAAE,eAAe;EAC9BC,MAAM,EAAE;AACZ,CAAC","ignoreList":[]}
|
package/createElement.d.ts
CHANGED
package/createElement.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createElement","params","action"],"sources":["createElement.ts"],"sourcesContent":["import type { ResponsiveStyles } from \"~/types\";\n\nexport interface CreateElementParams {\n component: string;\n inputs?: Record<string, any>;\n styles?: ResponsiveStyles;\n}\n\nexport const createElement = (params: CreateElementParams) => {\n return {\n action: \"CreateElement\",\n params\n };\n};\n"],"mappings":"AAQA,OAAO,MAAMA,aAAa,GAAIC,MAA2B,IAAK;EAC1D,OAAO;IACHC,MAAM,EAAE,eAAe;IACvBD;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createElement","params","action"],"sources":["createElement.ts"],"sourcesContent":["import type { ResponsiveStyles } from \"~/types.js\";\n\nexport interface CreateElementParams {\n component: string;\n inputs?: Record<string, any>;\n styles?: ResponsiveStyles;\n}\n\nexport const createElement = (params: CreateElementParams) => {\n return {\n action: \"CreateElement\",\n params\n };\n};\n"],"mappings":"AAQA,OAAO,MAAMA,aAAa,GAAIC,MAA2B,IAAK;EAC1D,OAAO;IACHC,MAAM,EAAE,eAAe;IACvBD;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
|