@webiny/website-builder-sdk 0.0.0-unstable.e53eceafb5 → 0.0.0-unstable.eb196ccd2f

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/BindingsApi.d.ts +4 -4
  2. package/BindingsApi.js +3 -3
  3. package/BindingsApi.js.map +1 -1
  4. package/BindingsProcessor.d.ts +1 -1
  5. package/BindingsProcessor.js.map +1 -1
  6. package/BindingsProcessor.test.js +1 -1
  7. package/BindingsProcessor.test.js.map +1 -1
  8. package/BindingsResolver.d.ts +2 -2
  9. package/BindingsResolver.js.map +1 -1
  10. package/BindingsResolver.test.js +3 -3
  11. package/BindingsResolver.test.js.map +1 -1
  12. package/ComponentInputTraverser.d.ts +1 -1
  13. package/ComponentInputTraverser.js.map +1 -1
  14. package/ComponentManifestToAstConverter.d.ts +1 -1
  15. package/ComponentManifestToAstConverter.js.map +1 -1
  16. package/ComponentResolver.d.ts +2 -2
  17. package/ComponentResolver.js +3 -3
  18. package/ComponentResolver.js.map +1 -1
  19. package/ContentSdk.d.ts +11 -5
  20. package/ContentSdk.js +22 -6
  21. package/ContentSdk.js.map +1 -1
  22. package/DocumentStore.d.ts +3 -3
  23. package/DocumentStore.js +1 -1
  24. package/DocumentStore.js.map +1 -1
  25. package/DocumentStoreManager.d.ts +2 -2
  26. package/DocumentStoreManager.js +1 -1
  27. package/DocumentStoreManager.js.map +1 -1
  28. package/EditingSdk.d.ts +2 -2
  29. package/EditingSdk.js +8 -8
  30. package/EditingSdk.js.map +1 -1
  31. package/ElementFactory.d.ts +3 -3
  32. package/ElementFactory.js +4 -4
  33. package/ElementFactory.js.map +1 -1
  34. package/IBindingsUpdater.d.ts +2 -2
  35. package/IBindingsUpdater.js.map +1 -1
  36. package/IRedirects.d.ts +5 -0
  37. package/IRedirects.js +3 -0
  38. package/IRedirects.js.map +1 -0
  39. package/InheritanceProcessor.d.ts +2 -2
  40. package/InheritanceProcessor.js.map +1 -1
  41. package/InheritanceProcessor.test.js +1 -1
  42. package/InheritanceProcessor.test.js.map +1 -1
  43. package/InheritedValueResolver.d.ts +1 -1
  44. package/InheritedValueResolver.js.map +1 -1
  45. package/InputBindingsProcessor.d.ts +4 -4
  46. package/InputBindingsProcessor.js +5 -5
  47. package/InputBindingsProcessor.js.map +1 -1
  48. package/InputsBindingsProcessor.test.js +2 -2
  49. package/InputsBindingsProcessor.test.js.map +1 -1
  50. package/InputsUpdater.d.ts +5 -5
  51. package/InputsUpdater.js +2 -2
  52. package/InputsUpdater.js.map +1 -1
  53. package/LiveSdk.js +1 -1
  54. package/LiveSdk.js.map +1 -1
  55. package/Logger.js +7 -4
  56. package/Logger.js.map +1 -1
  57. package/NullSdk.d.ts +2 -1
  58. package/NullSdk.js +3 -0
  59. package/NullSdk.js.map +1 -1
  60. package/PreviewDocument.js +1 -1
  61. package/PreviewDocument.js.map +1 -1
  62. package/PreviewSdk.js +1 -1
  63. package/PreviewSdk.js.map +1 -1
  64. package/PreviewViewport.d.ts +1 -1
  65. package/PreviewViewport.js +1 -1
  66. package/PreviewViewport.js.map +1 -1
  67. package/StylesBindingsProcessor.d.ts +2 -2
  68. package/StylesBindingsProcessor.js +4 -4
  69. package/StylesBindingsProcessor.js.map +1 -1
  70. package/StylesUpdater.d.ts +4 -4
  71. package/StylesUpdater.js +2 -2
  72. package/StylesUpdater.js.map +1 -1
  73. package/Theme.d.ts +1 -1
  74. package/Theme.js +5 -3
  75. package/Theme.js.map +1 -1
  76. package/ViewportManager.d.ts +1 -1
  77. package/ViewportManager.js +4 -1
  78. package/ViewportManager.js.map +1 -1
  79. package/createElement.d.ts +1 -1
  80. package/createElement.js.map +1 -1
  81. package/createInput.d.ts +1 -1
  82. package/createInput.js +1 -1
  83. package/createInput.js.map +1 -1
  84. package/createTheme.d.ts +2 -1
  85. package/createTheme.js.map +1 -1
  86. package/dataProviders/ApiClient.d.ts +6 -1
  87. package/dataProviders/ApiClient.js +19 -8
  88. package/dataProviders/ApiClient.js.map +1 -1
  89. package/dataProviders/DefaultDataProvider.d.ts +2 -1
  90. package/dataProviders/DefaultDataProvider.js +16 -3
  91. package/dataProviders/DefaultDataProvider.js.map +1 -1
  92. package/dataProviders/NullDataProvider.d.ts +2 -1
  93. package/dataProviders/NullDataProvider.js +3 -0
  94. package/dataProviders/NullDataProvider.js.map +1 -1
  95. package/dataProviders/RedirectsProvider.d.ts +11 -0
  96. package/dataProviders/RedirectsProvider.js +32 -0
  97. package/dataProviders/RedirectsProvider.js.map +1 -0
  98. package/defaultBreakpoints.d.ts +1 -1
  99. package/defaultBreakpoints.js.map +1 -1
  100. package/documentOperations/$addElementReferenceToParent.js.map +1 -1
  101. package/documentOperations/AddElement.d.ts +1 -1
  102. package/documentOperations/AddElement.js.map +1 -1
  103. package/documentOperations/AddToParent.d.ts +1 -1
  104. package/documentOperations/AddToParent.js.map +1 -1
  105. package/documentOperations/RemoveElement.d.ts +1 -1
  106. package/documentOperations/RemoveElement.js.map +1 -1
  107. package/documentOperations/SetGlobalInputBinding.d.ts +1 -1
  108. package/documentOperations/SetGlobalInputBinding.js.map +1 -1
  109. package/documentOperations/SetGlobalStyleBinding.d.ts +1 -1
  110. package/documentOperations/SetGlobalStyleBinding.js.map +1 -1
  111. package/documentOperations/SetInputBindingOverride.d.ts +1 -1
  112. package/documentOperations/SetInputBindingOverride.js.map +1 -1
  113. package/documentOperations/SetStyleBindingOverride.d.ts +1 -1
  114. package/documentOperations/SetStyleBindingOverride.js.map +1 -1
  115. package/documentOperations/index.d.ts +8 -8
  116. package/documentOperations/index.js +7 -7
  117. package/documentOperations/index.js.map +1 -1
  118. package/findMatchingAstNode.d.ts +1 -1
  119. package/findMatchingAstNode.js.map +1 -1
  120. package/index.d.ts +1 -2
  121. package/index.js +1 -2
  122. package/index.js.map +1 -1
  123. package/lexical/createDefaultLexicalTheme.d.ts +1 -1
  124. package/lexical/createDefaultLexicalTheme.js.map +1 -1
  125. package/lexical/createLexicalTheme.d.ts +1 -1
  126. package/lexical/createLexicalTheme.js +2 -2
  127. package/lexical/createLexicalTheme.js.map +1 -1
  128. package/package.json +4 -4
  129. package/registerComponentGroup.d.ts +1 -1
  130. package/registerComponentGroup.js +1 -1
  131. package/registerComponentGroup.js.map +1 -1
  132. package/types/WebsiteBuilderTheme.d.ts +17 -4
  133. package/types/WebsiteBuilderTheme.js.map +1 -1
  134. package/types.d.ts +9 -8
  135. package/types.js.map +1 -1
package/Theme.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import deepMerge from "deepmerge";
2
- import { defaultBreakpoints } from "./defaultBreakpoints";
3
- import { createLexicalTheme } from "./lexical/createLexicalTheme";
2
+ import { defaultBreakpoints } from "./defaultBreakpoints.js";
3
+ import { createLexicalTheme } from "./lexical/createLexicalTheme.js";
4
4
  export class Theme {
5
5
  static from(input) {
6
6
  const {
@@ -16,7 +16,9 @@ export class Theme {
16
16
  });
17
17
  });
18
18
  return {
19
- themeUrl: input?.themeUrl,
19
+ css: input.css,
20
+ cssVariables: input.cssVariables,
21
+ fonts: input.fonts,
20
22
  breakpoints: breakpoints.sort((a, b) => b.maxWidth - a.maxWidth),
21
23
  lexical: createLexicalTheme(input?.lexical),
22
24
  styles: {
package/Theme.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["deepMerge","defaultBreakpoints","createLexicalTheme","Theme","from","input","custom","builtInOverrides","breakpoints","mergedBreakpoints","all","Object","entries","forEach","name","breakpoint","push","themeUrl","sort","a","b","maxWidth","lexical","styles","colors","typography"],"sources":["Theme.ts"],"sourcesContent":["import deepMerge from \"deepmerge\";\nimport type {\n Breakpoint,\n WebsiteBuilderTheme,\n WebsiteBuilderThemeInput\n} from \"~/types/WebsiteBuilderTheme\";\nimport { defaultBreakpoints } from \"~/defaultBreakpoints\";\nimport { createLexicalTheme } from \"~/lexical/createLexicalTheme\";\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 themeUrl: input?.themeUrl,\n breakpoints: breakpoints.sort((a, b) => b.maxWidth - a.maxWidth),\n lexical: createLexicalTheme(input?.lexical),\n styles: {\n colors: {\n ...input?.styles?.colors\n },\n typography: {\n ...input?.styles?.typography\n }\n }\n };\n }\n}\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,WAAW;AAMjC,SAASC,kBAAkB;AAC3B,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,GAAGT,SAAS,CAACU,GAAG,CAAC,CACpC,CAAC,CAAC,EACFT,kBAAkB,EAClBM,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,QAAQ,EAAEZ,KAAK,EAAEY,QAAQ;MACzBT,WAAW,EAAEA,WAAW,CAACU,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKA,CAAC,CAACC,QAAQ,GAAGF,CAAC,CAACE,QAAQ,CAAC;MAChEC,OAAO,EAAEpB,kBAAkB,CAACG,KAAK,EAAEiB,OAAO,CAAC;MAC3CC,MAAM,EAAE;QACJC,MAAM,EAAE;UACJ,GAAGnB,KAAK,EAAEkB,MAAM,EAAEC;QACtB,CAAC;QACDC,UAAU,EAAE;UACR,GAAGpB,KAAK,EAAEkB,MAAM,EAAEE;QACtB;MACJ;IACJ,CAAC;EACL;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["deepMerge","defaultBreakpoints","createLexicalTheme","Theme","from","input","custom","builtInOverrides","breakpoints","mergedBreakpoints","all","Object","entries","forEach","name","breakpoint","push","css","cssVariables","fonts","sort","a","b","maxWidth","lexical","styles","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\";\nimport { createLexicalTheme } from \"~/lexical/createLexicalTheme.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 cssVariables: input.cssVariables,\n fonts: input.fonts,\n breakpoints: breakpoints.sort((a, b) => b.maxWidth - a.maxWidth),\n lexical: createLexicalTheme(input?.lexical),\n styles: {\n colors: {\n ...input?.styles?.colors\n },\n typography: {\n ...input?.styles?.typography\n }\n }\n };\n }\n}\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,WAAW;AAMjC,SAASC,kBAAkB;AAC3B,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,GAAGT,SAAS,CAACU,GAAG,CAAC,CACpC,CAAC,CAAC,EACFT,kBAAkB,EAClBM,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,YAAY,EAAEb,KAAK,CAACa,YAAY;MAChCC,KAAK,EAAEd,KAAK,CAACc,KAAK;MAClBX,WAAW,EAAEA,WAAW,CAACY,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKA,CAAC,CAACC,QAAQ,GAAGF,CAAC,CAACE,QAAQ,CAAC;MAChEC,OAAO,EAAEtB,kBAAkB,CAACG,KAAK,EAAEmB,OAAO,CAAC;MAC3CC,MAAM,EAAE;QACJC,MAAM,EAAE;UACJ,GAAGrB,KAAK,EAAEoB,MAAM,EAAEC;QACtB,CAAC;QACDC,UAAU,EAAE;UACR,GAAGtB,KAAK,EAAEoB,MAAM,EAAEE;QACtB;MACJ;IACJ,CAAC;EACL;AACJ","ignoreList":[]}
@@ -1,4 +1,4 @@
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;
@@ -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
  }];
@@ -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":"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","ignoreList":[]}
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","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 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 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":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { ResponsiveStyles } from "./types";
1
+ import type { ResponsiveStyles } from "./types.js";
2
2
  export interface CreateElementParams {
3
3
  component: string;
4
4
  inputs?: Record<string, any>;
@@ -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":[]}
package/createInput.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { TextInput, LongTextInput, NumberInput, BooleanInput, ColorInput, FileInput, LexicalInput, SelectInput, RadioInput, ObjectInput, DateTimeInput, ComponentInput, TagsInput, SlotInput } from "./types";
1
+ import type { TextInput, LongTextInput, NumberInput, BooleanInput, ColorInput, FileInput, LexicalInput, SelectInput, RadioInput, ObjectInput, DateTimeInput, ComponentInput, TagsInput, SlotInput } from "./types.js";
2
2
  type OmitType<T> = Omit<T, "type">;
3
3
  export declare function createTextInput(input: OmitType<TextInput>): TextInput;
4
4
  export declare function createLongTextInput(input: OmitType<LongTextInput>): ComponentInput;
package/createInput.js CHANGED
@@ -1,4 +1,4 @@
1
- import { functionConverter } from "./FunctionConverter";
1
+ import { functionConverter } from "./FunctionConverter.js";
2
2
  // Text
3
3
  export function createTextInput(input) {
4
4
  return createInput({
@@ -1 +1 @@
1
- {"version":3,"names":["functionConverter","createTextInput","input","createInput","type","renderer","createLongTextInput","createNumberInput","createBooleanInput","createColorInput","createFileInput","createDateInput","createLexicalInput","createSelectInput","createRadioInput","createObjectInput","createTagsInput","list","createSlotInput","onChange","serialize"],"sources":["createInput.ts"],"sourcesContent":["import type {\n TextInput,\n LongTextInput,\n NumberInput,\n BooleanInput,\n ColorInput,\n FileInput,\n LexicalInput,\n SelectInput,\n RadioInput,\n ObjectInput,\n DateTimeInput,\n ComponentInput,\n TagsInput,\n SlotInput\n} from \"./types\";\nimport { functionConverter } from \"~/FunctionConverter\";\n\ntype OmitType<T> = Omit<T, \"type\">;\n\n// Text\nexport function createTextInput(input: OmitType<TextInput>) {\n return createInput({\n type: \"text\",\n renderer: \"Webiny/Input\",\n ...input\n }) as TextInput;\n}\n\n// Long Text\nexport function createLongTextInput(input: OmitType<LongTextInput>) {\n return createInput({\n type: \"longText\",\n renderer: \"Webiny/Textarea\",\n ...input\n });\n}\n\n// Number\nexport function createNumberInput(input: OmitType<NumberInput>) {\n return createInput({\n type: \"number\",\n renderer: \"Webiny/Number\",\n ...input\n }) as NumberInput;\n}\n\n// Boolean\nexport function createBooleanInput(input: OmitType<BooleanInput>) {\n return createInput({\n type: \"boolean\",\n renderer: \"Webiny/Switch\",\n ...input\n }) as BooleanInput;\n}\n\n// Color\nexport function createColorInput(input: OmitType<ColorInput>) {\n return createInput({\n type: \"color\",\n renderer: \"Webiny/ColorPicker\",\n ...input\n }) as ColorInput;\n}\n\n// File\nexport function createFileInput(input: OmitType<FileInput>) {\n return createInput({\n type: \"file\",\n renderer: \"Webiny/FileManager\",\n ...input\n }) as FileInput;\n}\n\n// Date\nexport function createDateInput(input: OmitType<DateTimeInput>) {\n return createInput({\n type: \"datetime\",\n renderer: \"Webiny/DateTime\",\n ...input\n }) as DateTimeInput;\n}\n\n// Rich Text\nexport function createLexicalInput(input: OmitType<LexicalInput>) {\n return createInput({\n type: \"lexical\",\n renderer: \"Webiny/Lexical\",\n ...input\n }) as LexicalInput;\n}\n\n// Select\nexport function createSelectInput(input: OmitType<SelectInput>) {\n return createInput({\n type: \"select\",\n renderer: \"Webiny/Select\",\n ...input\n }) as SelectInput;\n}\n\n// Radio\nexport function createRadioInput(input: OmitType<RadioInput>) {\n return createInput({\n type: \"radio\",\n renderer: \"Webiny/RadioGroup\",\n ...input\n }) as RadioInput;\n}\n\n// Object\nexport function createObjectInput(input: OmitType<ObjectInput>) {\n return createInput({\n type: \"object\",\n renderer: \"Webiny/Object\",\n ...input\n }) as ObjectInput;\n}\n\n// Tags\nexport function createTagsInput(input: OmitType<TagsInput>) {\n return createInput({\n type: \"text\",\n list: true,\n renderer: \"Webiny/Tags\",\n ...input\n }) as TagsInput;\n}\n\nexport function createSlotInput(input: OmitType<SlotInput>) {\n return createInput({\n type: \"slot\",\n list: true,\n renderer: \"Webiny/Slot\",\n ...input\n }) as SlotInput;\n}\n\n// Implementation\nexport function createInput(input: ComponentInput): ComponentInput {\n if (input.onChange) {\n // @ts-expect-error We don't use this function on the frontend, so this is ok.\n input.onChange = functionConverter.serialize(input.onChange!);\n }\n return input;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["functionConverter","createTextInput","input","createInput","type","renderer","createLongTextInput","createNumberInput","createBooleanInput","createColorInput","createFileInput","createDateInput","createLexicalInput","createSelectInput","createRadioInput","createObjectInput","createTagsInput","list","createSlotInput","onChange","serialize"],"sources":["createInput.ts"],"sourcesContent":["import type {\n TextInput,\n LongTextInput,\n NumberInput,\n BooleanInput,\n ColorInput,\n FileInput,\n LexicalInput,\n SelectInput,\n RadioInput,\n ObjectInput,\n DateTimeInput,\n ComponentInput,\n TagsInput,\n SlotInput\n} from \"./types.js\";\nimport { functionConverter } from \"~/FunctionConverter.js\";\n\ntype OmitType<T> = Omit<T, \"type\">;\n\n// Text\nexport function createTextInput(input: OmitType<TextInput>) {\n return createInput({\n type: \"text\",\n renderer: \"Webiny/Input\",\n ...input\n }) as TextInput;\n}\n\n// Long Text\nexport function createLongTextInput(input: OmitType<LongTextInput>) {\n return createInput({\n type: \"longText\",\n renderer: \"Webiny/Textarea\",\n ...input\n });\n}\n\n// Number\nexport function createNumberInput(input: OmitType<NumberInput>) {\n return createInput({\n type: \"number\",\n renderer: \"Webiny/Number\",\n ...input\n }) as NumberInput;\n}\n\n// Boolean\nexport function createBooleanInput(input: OmitType<BooleanInput>) {\n return createInput({\n type: \"boolean\",\n renderer: \"Webiny/Switch\",\n ...input\n }) as BooleanInput;\n}\n\n// Color\nexport function createColorInput(input: OmitType<ColorInput>) {\n return createInput({\n type: \"color\",\n renderer: \"Webiny/ColorPicker\",\n ...input\n }) as ColorInput;\n}\n\n// File\nexport function createFileInput(input: OmitType<FileInput>) {\n return createInput({\n type: \"file\",\n renderer: \"Webiny/FileManager\",\n ...input\n }) as FileInput;\n}\n\n// Date\nexport function createDateInput(input: OmitType<DateTimeInput>) {\n return createInput({\n type: \"datetime\",\n renderer: \"Webiny/DateTime\",\n ...input\n }) as DateTimeInput;\n}\n\n// Rich Text\nexport function createLexicalInput(input: OmitType<LexicalInput>) {\n return createInput({\n type: \"lexical\",\n renderer: \"Webiny/Lexical\",\n ...input\n }) as LexicalInput;\n}\n\n// Select\nexport function createSelectInput(input: OmitType<SelectInput>) {\n return createInput({\n type: \"select\",\n renderer: \"Webiny/Select\",\n ...input\n }) as SelectInput;\n}\n\n// Radio\nexport function createRadioInput(input: OmitType<RadioInput>) {\n return createInput({\n type: \"radio\",\n renderer: \"Webiny/RadioGroup\",\n ...input\n }) as RadioInput;\n}\n\n// Object\nexport function createObjectInput(input: OmitType<ObjectInput>) {\n return createInput({\n type: \"object\",\n renderer: \"Webiny/Object\",\n ...input\n }) as ObjectInput;\n}\n\n// Tags\nexport function createTagsInput(input: OmitType<TagsInput>) {\n return createInput({\n type: \"text\",\n list: true,\n renderer: \"Webiny/Tags\",\n ...input\n }) as TagsInput;\n}\n\nexport function createSlotInput(input: OmitType<SlotInput>) {\n return createInput({\n type: \"slot\",\n list: true,\n renderer: \"Webiny/Slot\",\n ...input\n }) as SlotInput;\n}\n\n// Implementation\nexport function createInput(input: ComponentInput): ComponentInput {\n if (input.onChange) {\n // @ts-expect-error We don't use this function on the frontend, so this is ok.\n input.onChange = functionConverter.serialize(input.onChange!);\n }\n return input;\n}\n"],"mappings":"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","ignoreList":[]}
package/createTheme.d.ts CHANGED
@@ -1,2 +1,3 @@
1
- import type { WebsiteBuilderThemeInput } from "./types/WebsiteBuilderTheme";
1
+ import type { WebsiteBuilderThemeInput } from "./types/WebsiteBuilderTheme.js";
2
+ export type { WebsiteBuilderThemeInput };
2
3
  export declare const createTheme: (theme: WebsiteBuilderThemeInput) => WebsiteBuilderThemeInput;
@@ -1 +1 @@
1
- {"version":3,"names":["createTheme","theme"],"sources":["createTheme.ts"],"sourcesContent":["import type { WebsiteBuilderThemeInput } from \"~/types/WebsiteBuilderTheme\";\n\nexport const createTheme = (theme: WebsiteBuilderThemeInput) => {\n return theme;\n};\n"],"mappings":"AAEA,OAAO,MAAMA,WAAW,GAAIC,KAA+B,IAAK;EAC5D,OAAOA,KAAK;AAChB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createTheme","theme"],"sources":["createTheme.ts"],"sourcesContent":["import type { WebsiteBuilderThemeInput } from \"~/types/WebsiteBuilderTheme.js\";\n\nexport type { WebsiteBuilderThemeInput };\n\nexport const createTheme = (theme: WebsiteBuilderThemeInput) => {\n return theme;\n};\n"],"mappings":"AAIA,OAAO,MAAMA,WAAW,GAAIC,KAA+B,IAAK;EAC5D,OAAOA,KAAK;AAChB,CAAC","ignoreList":[]}
@@ -3,11 +3,16 @@ interface QueryParams {
3
3
  variables: Record<string, any>;
4
4
  preview?: boolean;
5
5
  }
6
+ type WithPath<T> = T & {
7
+ path?: string;
8
+ next?: Record<string, any>;
9
+ };
6
10
  export declare class ApiClient {
7
- private readonly apiEndpoint;
11
+ private readonly apiHost;
8
12
  private readonly apiKey;
9
13
  private readonly apiTenant;
10
14
  constructor(apiHost: string, apiKey: string, apiTenant: string);
15
+ fetch({ headers, path, ...params }: WithPath<RequestInit>): Promise<any>;
11
16
  query({ query, variables, preview }: QueryParams): Promise<any>;
12
17
  }
13
18
  export {};
@@ -1,9 +1,25 @@
1
1
  export class ApiClient {
2
2
  constructor(apiHost, apiKey, apiTenant) {
3
3
  this.apiTenant = apiTenant;
4
- this.apiEndpoint = apiHost + "/graphql";
4
+ this.apiHost = apiHost;
5
5
  this.apiKey = apiKey;
6
6
  }
7
+ async fetch({
8
+ headers,
9
+ path,
10
+ ...params
11
+ }) {
12
+ return fetch(`${this.apiHost}${path}`, {
13
+ method: "GET",
14
+ headers: {
15
+ "Content-Type": "application/json",
16
+ "X-Tenant": this.apiTenant,
17
+ Authorization: "Bearer " + this.apiKey,
18
+ ...headers
19
+ },
20
+ ...params
21
+ }).then(res => res.json());
22
+ }
7
23
  async query({
8
24
  query,
9
25
  variables,
@@ -16,19 +32,14 @@ export class ApiClient {
16
32
  };
17
33
  const request = {
18
34
  ...fetchOptions,
35
+ path: "/graphql",
19
36
  method: "POST",
20
- headers: {
21
- "Content-Type": "application/json",
22
- "X-Tenant": this.apiTenant,
23
- Authorization: "Bearer " + this.apiKey
24
- },
25
37
  body: JSON.stringify({
26
38
  query,
27
39
  variables
28
40
  })
29
41
  };
30
- const res = await fetch(this.apiEndpoint, request);
31
- const json = await res.json();
42
+ const json = await this.fetch(request);
32
43
  if (json.message) {
33
44
  throw new Error(json.message);
34
45
  }
@@ -1 +1 @@
1
- {"version":3,"names":["ApiClient","constructor","apiHost","apiKey","apiTenant","apiEndpoint","query","variables","preview","fetchOptions","next","revalidate","request","method","headers","Authorization","body","JSON","stringify","res","fetch","json","message","Error","errors","console","error","data"],"sources":["ApiClient.ts"],"sourcesContent":["interface QueryParams {\n query: string;\n variables: Record<string, any>;\n preview?: boolean;\n}\n\nexport class ApiClient {\n private readonly apiEndpoint: string;\n private readonly apiKey: string;\n private readonly apiTenant: string;\n\n constructor(apiHost: string, apiKey: string, apiTenant: string) {\n this.apiTenant = apiTenant;\n this.apiEndpoint = apiHost + \"/graphql\";\n this.apiKey = apiKey;\n }\n\n async query({ query, variables, preview }: QueryParams) {\n const fetchOptions = {\n next: {\n revalidate: preview ? 0 : 60\n }\n };\n\n const request = {\n ...fetchOptions,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-Tenant\": this.apiTenant,\n Authorization: \"Bearer \" + this.apiKey\n },\n body: JSON.stringify({\n query,\n variables\n })\n };\n\n const res = await fetch(this.apiEndpoint, request);\n const json = await res.json();\n\n if (json.message) {\n throw new Error(json.message);\n }\n\n if (json.errors) {\n console.error(json.errors);\n throw new Error(\"Failed to fetch API\");\n }\n\n return json.data;\n }\n}\n"],"mappings":"AAMA,OAAO,MAAMA,SAAS,CAAC;EAKnBC,WAAWA,CAACC,OAAe,EAAEC,MAAc,EAAEC,SAAiB,EAAE;IAC5D,IAAI,CAACA,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,WAAW,GAAGH,OAAO,GAAG,UAAU;IACvC,IAAI,CAACC,MAAM,GAAGA,MAAM;EACxB;EAEA,MAAMG,KAAKA,CAAC;IAAEA,KAAK;IAAEC,SAAS;IAAEC;EAAqB,CAAC,EAAE;IACpD,MAAMC,YAAY,GAAG;MACjBC,IAAI,EAAE;QACFC,UAAU,EAAEH,OAAO,GAAG,CAAC,GAAG;MAC9B;IACJ,CAAC;IAED,MAAMI,OAAO,GAAG;MACZ,GAAGH,YAAY;MACfI,MAAM,EAAE,MAAM;MACdC,OAAO,EAAE;QACL,cAAc,EAAE,kBAAkB;QAClC,UAAU,EAAE,IAAI,CAACV,SAAS;QAC1BW,aAAa,EAAE,SAAS,GAAG,IAAI,CAACZ;MACpC,CAAC;MACDa,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;QACjBZ,KAAK;QACLC;MACJ,CAAC;IACL,CAAC;IAED,MAAMY,GAAG,GAAG,MAAMC,KAAK,CAAC,IAAI,CAACf,WAAW,EAAEO,OAAO,CAAC;IAClD,MAAMS,IAAI,GAAG,MAAMF,GAAG,CAACE,IAAI,CAAC,CAAC;IAE7B,IAAIA,IAAI,CAACC,OAAO,EAAE;MACd,MAAM,IAAIC,KAAK,CAACF,IAAI,CAACC,OAAO,CAAC;IACjC;IAEA,IAAID,IAAI,CAACG,MAAM,EAAE;MACbC,OAAO,CAACC,KAAK,CAACL,IAAI,CAACG,MAAM,CAAC;MAC1B,MAAM,IAAID,KAAK,CAAC,qBAAqB,CAAC;IAC1C;IAEA,OAAOF,IAAI,CAACM,IAAI;EACpB;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["ApiClient","constructor","apiHost","apiKey","apiTenant","fetch","headers","path","params","method","Authorization","then","res","json","query","variables","preview","fetchOptions","next","revalidate","request","body","JSON","stringify","message","Error","errors","console","error","data"],"sources":["ApiClient.ts"],"sourcesContent":["interface QueryParams {\n query: string;\n variables: Record<string, any>;\n preview?: boolean;\n}\n\ntype WithPath<T> = T & {\n path?: string;\n next?: Record<string, any>;\n};\n\nexport class ApiClient {\n private readonly apiHost: string;\n private readonly apiKey: string;\n private readonly apiTenant: string;\n\n constructor(apiHost: string, apiKey: string, apiTenant: string) {\n this.apiTenant = apiTenant;\n this.apiHost = apiHost;\n this.apiKey = apiKey;\n }\n\n async fetch({ headers, path, ...params }: WithPath<RequestInit>): Promise<any> {\n return fetch(`${this.apiHost}${path}`, {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-Tenant\": this.apiTenant,\n Authorization: \"Bearer \" + this.apiKey,\n ...headers\n },\n ...params\n }).then(res => res.json());\n }\n\n async query({ query, variables, preview }: QueryParams) {\n const fetchOptions = {\n next: {\n revalidate: preview ? 0 : 60\n }\n };\n\n const request: WithPath<RequestInit> = {\n ...fetchOptions,\n path: \"/graphql\",\n method: \"POST\",\n body: JSON.stringify({\n query,\n variables\n })\n };\n\n const json = await this.fetch(request);\n\n if (json.message) {\n throw new Error(json.message);\n }\n\n if (json.errors) {\n console.error(json.errors);\n throw new Error(\"Failed to fetch API\");\n }\n\n return json.data;\n }\n}\n"],"mappings":"AAWA,OAAO,MAAMA,SAAS,CAAC;EAKnBC,WAAWA,CAACC,OAAe,EAAEC,MAAc,EAAEC,SAAiB,EAAE;IAC5D,IAAI,CAACA,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACF,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,MAAM,GAAGA,MAAM;EACxB;EAEA,MAAME,KAAKA,CAAC;IAAEC,OAAO;IAAEC,IAAI;IAAE,GAAGC;EAA8B,CAAC,EAAgB;IAC3E,OAAOH,KAAK,CAAC,GAAG,IAAI,CAACH,OAAO,GAAGK,IAAI,EAAE,EAAE;MACnCE,MAAM,EAAE,KAAK;MACbH,OAAO,EAAE;QACL,cAAc,EAAE,kBAAkB;QAClC,UAAU,EAAE,IAAI,CAACF,SAAS;QAC1BM,aAAa,EAAE,SAAS,GAAG,IAAI,CAACP,MAAM;QACtC,GAAGG;MACP,CAAC;MACD,GAAGE;IACP,CAAC,CAAC,CAACG,IAAI,CAACC,GAAG,IAAIA,GAAG,CAACC,IAAI,CAAC,CAAC,CAAC;EAC9B;EAEA,MAAMC,KAAKA,CAAC;IAAEA,KAAK;IAAEC,SAAS;IAAEC;EAAqB,CAAC,EAAE;IACpD,MAAMC,YAAY,GAAG;MACjBC,IAAI,EAAE;QACFC,UAAU,EAAEH,OAAO,GAAG,CAAC,GAAG;MAC9B;IACJ,CAAC;IAED,MAAMI,OAA8B,GAAG;MACnC,GAAGH,YAAY;MACfV,IAAI,EAAE,UAAU;MAChBE,MAAM,EAAE,MAAM;MACdY,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;QACjBT,KAAK;QACLC;MACJ,CAAC;IACL,CAAC;IAED,MAAMF,IAAI,GAAG,MAAM,IAAI,CAACR,KAAK,CAACe,OAAO,CAAC;IAEtC,IAAIP,IAAI,CAACW,OAAO,EAAE;MACd,MAAM,IAAIC,KAAK,CAACZ,IAAI,CAACW,OAAO,CAAC;IACjC;IAEA,IAAIX,IAAI,CAACa,MAAM,EAAE;MACbC,OAAO,CAACC,KAAK,CAACf,IAAI,CAACa,MAAM,CAAC;MAC1B,MAAM,IAAID,KAAK,CAAC,qBAAqB,CAAC;IAC1C;IAEA,OAAOZ,IAAI,CAACgB,IAAI;EACpB;AACJ","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import type { IDataProvider, PublicPage } from "../types.js";
2
- import type { ApiClient } from "./ApiClient";
2
+ import type { ApiClient } from "./ApiClient.js";
3
3
  interface DefaultDataProviderConfig {
4
4
  apiClient: ApiClient;
5
5
  }
@@ -9,5 +9,6 @@ export declare class DefaultDataProvider implements IDataProvider {
9
9
  getPageByPath(path: string): Promise<PublicPage | null>;
10
10
  getPageById(id: string): Promise<PublicPage | null>;
11
11
  listPages(): Promise<any>;
12
+ private checkForErrors;
12
13
  }
13
14
  export {};
@@ -1,6 +1,7 @@
1
- import { GET_PAGE_BY_PATH } from "./GET_PAGE_BY_PATH";
2
- import { GET_PAGE_BY_ID } from "./GET_PAGE_BY_ID";
3
- import { LIST_PUBLISHED_PAGES } from "./LIST_PUBLISHED_PAGES";
1
+ import { GET_PAGE_BY_PATH } from "./GET_PAGE_BY_PATH.js";
2
+ import { GET_PAGE_BY_ID } from "./GET_PAGE_BY_ID.js";
3
+ import { LIST_PUBLISHED_PAGES } from "./LIST_PUBLISHED_PAGES.js";
4
+ const ignoreActions = [".well-known", "_next"];
4
5
  export class DefaultDataProvider {
5
6
  constructor(config) {
6
7
  this.config = config;
@@ -12,6 +13,7 @@ export class DefaultDataProvider {
12
13
  path
13
14
  }
14
15
  });
16
+ this.checkForErrors(`getPageByPath:${path}`, result.websiteBuilder.getPageByPath);
15
17
  return result.websiteBuilder.getPageByPath.data;
16
18
  }
17
19
  async getPageById(id) {
@@ -21,6 +23,7 @@ export class DefaultDataProvider {
21
23
  id
22
24
  }
23
25
  });
26
+ this.checkForErrors("getPageById", result.websiteBuilder.getPageById);
24
27
  return result.websiteBuilder.getPageById.data;
25
28
  }
26
29
  async listPages() {
@@ -32,8 +35,18 @@ export class DefaultDataProvider {
32
35
  }
33
36
  }
34
37
  });
38
+ this.checkForErrors("listPages", result.websiteBuilder.listPages);
35
39
  return result.websiteBuilder.listPages.data ?? [];
36
40
  }
41
+ checkForErrors(action, data) {
42
+ if (data.error) {
43
+ // TODO: investigate how these ignored actions make their way to the SDK.
44
+ if (ignoreActions.some(item => action.includes(item))) {
45
+ return;
46
+ }
47
+ console.error(`Could not execute "${action}". Reason: ${data.error.message}`);
48
+ }
49
+ }
37
50
  }
38
51
 
39
52
  //# sourceMappingURL=DefaultDataProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["GET_PAGE_BY_PATH","GET_PAGE_BY_ID","LIST_PUBLISHED_PAGES","DefaultDataProvider","constructor","config","getPageByPath","path","result","apiClient","query","variables","websiteBuilder","data","getPageById","id","listPages","where","published"],"sources":["DefaultDataProvider.ts"],"sourcesContent":["import type { IDataProvider, PublicPage } from \"~/types.js\";\nimport type { ApiClient } from \"~/dataProviders/ApiClient\";\nimport { GET_PAGE_BY_PATH } from \"./GET_PAGE_BY_PATH\";\nimport { GET_PAGE_BY_ID } from \"./GET_PAGE_BY_ID\";\nimport { LIST_PUBLISHED_PAGES } from \"./LIST_PUBLISHED_PAGES\";\n\ninterface DefaultDataProviderConfig {\n apiClient: ApiClient;\n}\n\nexport class DefaultDataProvider implements IDataProvider {\n private config: DefaultDataProviderConfig;\n\n constructor(config: DefaultDataProviderConfig) {\n this.config = config;\n }\n\n public async getPageByPath(path: string): Promise<PublicPage | null> {\n const result = await this.config.apiClient.query({\n query: GET_PAGE_BY_PATH,\n variables: {\n path\n }\n });\n\n return result.websiteBuilder.getPageByPath.data;\n }\n\n public async getPageById(id: string): Promise<PublicPage | null> {\n const result = await this.config.apiClient.query({\n query: GET_PAGE_BY_ID,\n variables: {\n id\n }\n });\n\n return result.websiteBuilder.getPageById.data;\n }\n\n public async listPages() {\n const result = await this.config.apiClient.query({\n query: LIST_PUBLISHED_PAGES,\n variables: {\n where: {\n published: true\n }\n }\n });\n\n return result.websiteBuilder.listPages.data ?? [];\n }\n}\n"],"mappings":"AAEA,SAASA,gBAAgB;AACzB,SAASC,cAAc;AACvB,SAASC,oBAAoB;AAM7B,OAAO,MAAMC,mBAAmB,CAA0B;EAGtDC,WAAWA,CAACC,MAAiC,EAAE;IAC3C,IAAI,CAACA,MAAM,GAAGA,MAAM;EACxB;EAEA,MAAaC,aAAaA,CAACC,IAAY,EAA8B;IACjE,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACH,MAAM,CAACI,SAAS,CAACC,KAAK,CAAC;MAC7CA,KAAK,EAAEV,gBAAgB;MACvBW,SAAS,EAAE;QACPJ;MACJ;IACJ,CAAC,CAAC;IAEF,OAAOC,MAAM,CAACI,cAAc,CAACN,aAAa,CAACO,IAAI;EACnD;EAEA,MAAaC,WAAWA,CAACC,EAAU,EAA8B;IAC7D,MAAMP,MAAM,GAAG,MAAM,IAAI,CAACH,MAAM,CAACI,SAAS,CAACC,KAAK,CAAC;MAC7CA,KAAK,EAAET,cAAc;MACrBU,SAAS,EAAE;QACPI;MACJ;IACJ,CAAC,CAAC;IAEF,OAAOP,MAAM,CAACI,cAAc,CAACE,WAAW,CAACD,IAAI;EACjD;EAEA,MAAaG,SAASA,CAAA,EAAG;IACrB,MAAMR,MAAM,GAAG,MAAM,IAAI,CAACH,MAAM,CAACI,SAAS,CAACC,KAAK,CAAC;MAC7CA,KAAK,EAAER,oBAAoB;MAC3BS,SAAS,EAAE;QACPM,KAAK,EAAE;UACHC,SAAS,EAAE;QACf;MACJ;IACJ,CAAC,CAAC;IAEF,OAAOV,MAAM,CAACI,cAAc,CAACI,SAAS,CAACH,IAAI,IAAI,EAAE;EACrD;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["GET_PAGE_BY_PATH","GET_PAGE_BY_ID","LIST_PUBLISHED_PAGES","ignoreActions","DefaultDataProvider","constructor","config","getPageByPath","path","result","apiClient","query","variables","checkForErrors","websiteBuilder","data","getPageById","id","listPages","where","published","action","error","some","item","includes","console","message"],"sources":["DefaultDataProvider.ts"],"sourcesContent":["import type { IDataProvider, PublicPage } from \"~/types.js\";\nimport type { ApiClient } from \"~/dataProviders/ApiClient.js\";\nimport { GET_PAGE_BY_PATH } from \"./GET_PAGE_BY_PATH.js\";\nimport { GET_PAGE_BY_ID } from \"./GET_PAGE_BY_ID.js\";\nimport { LIST_PUBLISHED_PAGES } from \"./LIST_PUBLISHED_PAGES.js\";\n\ninterface DefaultDataProviderConfig {\n apiClient: ApiClient;\n}\n\nconst ignoreActions = [\".well-known\", \"_next\"];\n\nexport class DefaultDataProvider implements IDataProvider {\n private config: DefaultDataProviderConfig;\n\n constructor(config: DefaultDataProviderConfig) {\n this.config = config;\n }\n\n public async getPageByPath(path: string): Promise<PublicPage | null> {\n const result = await this.config.apiClient.query({\n query: GET_PAGE_BY_PATH,\n variables: {\n path\n }\n });\n\n this.checkForErrors(`getPageByPath:${path}`, result.websiteBuilder.getPageByPath);\n\n return result.websiteBuilder.getPageByPath.data;\n }\n\n public async getPageById(id: string): Promise<PublicPage | null> {\n const result = await this.config.apiClient.query({\n query: GET_PAGE_BY_ID,\n variables: {\n id\n }\n });\n\n this.checkForErrors(\"getPageById\", result.websiteBuilder.getPageById);\n\n return result.websiteBuilder.getPageById.data;\n }\n\n public async listPages() {\n const result = await this.config.apiClient.query({\n query: LIST_PUBLISHED_PAGES,\n variables: {\n where: {\n published: true\n }\n }\n });\n\n this.checkForErrors(\"listPages\", result.websiteBuilder.listPages);\n\n return result.websiteBuilder.listPages.data ?? [];\n }\n\n private checkForErrors(action: string, data: any) {\n if (data.error) {\n // TODO: investigate how these ignored actions make their way to the SDK.\n if (ignoreActions.some(item => action.includes(item))) {\n return;\n }\n console.error(`Could not execute \"${action}\". Reason: ${data.error.message}`);\n }\n }\n}\n"],"mappings":"AAEA,SAASA,gBAAgB;AACzB,SAASC,cAAc;AACvB,SAASC,oBAAoB;AAM7B,MAAMC,aAAa,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC;AAE9C,OAAO,MAAMC,mBAAmB,CAA0B;EAGtDC,WAAWA,CAACC,MAAiC,EAAE;IAC3C,IAAI,CAACA,MAAM,GAAGA,MAAM;EACxB;EAEA,MAAaC,aAAaA,CAACC,IAAY,EAA8B;IACjE,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACH,MAAM,CAACI,SAAS,CAACC,KAAK,CAAC;MAC7CA,KAAK,EAAEX,gBAAgB;MACvBY,SAAS,EAAE;QACPJ;MACJ;IACJ,CAAC,CAAC;IAEF,IAAI,CAACK,cAAc,CAAC,iBAAiBL,IAAI,EAAE,EAAEC,MAAM,CAACK,cAAc,CAACP,aAAa,CAAC;IAEjF,OAAOE,MAAM,CAACK,cAAc,CAACP,aAAa,CAACQ,IAAI;EACnD;EAEA,MAAaC,WAAWA,CAACC,EAAU,EAA8B;IAC7D,MAAMR,MAAM,GAAG,MAAM,IAAI,CAACH,MAAM,CAACI,SAAS,CAACC,KAAK,CAAC;MAC7CA,KAAK,EAAEV,cAAc;MACrBW,SAAS,EAAE;QACPK;MACJ;IACJ,CAAC,CAAC;IAEF,IAAI,CAACJ,cAAc,CAAC,aAAa,EAAEJ,MAAM,CAACK,cAAc,CAACE,WAAW,CAAC;IAErE,OAAOP,MAAM,CAACK,cAAc,CAACE,WAAW,CAACD,IAAI;EACjD;EAEA,MAAaG,SAASA,CAAA,EAAG;IACrB,MAAMT,MAAM,GAAG,MAAM,IAAI,CAACH,MAAM,CAACI,SAAS,CAACC,KAAK,CAAC;MAC7CA,KAAK,EAAET,oBAAoB;MAC3BU,SAAS,EAAE;QACPO,KAAK,EAAE;UACHC,SAAS,EAAE;QACf;MACJ;IACJ,CAAC,CAAC;IAEF,IAAI,CAACP,cAAc,CAAC,WAAW,EAAEJ,MAAM,CAACK,cAAc,CAACI,SAAS,CAAC;IAEjE,OAAOT,MAAM,CAACK,cAAc,CAACI,SAAS,CAACH,IAAI,IAAI,EAAE;EACrD;EAEQF,cAAcA,CAACQ,MAAc,EAAEN,IAAS,EAAE;IAC9C,IAAIA,IAAI,CAACO,KAAK,EAAE;MACZ;MACA,IAAInB,aAAa,CAACoB,IAAI,CAACC,IAAI,IAAIH,MAAM,CAACI,QAAQ,CAACD,IAAI,CAAC,CAAC,EAAE;QACnD;MACJ;MACAE,OAAO,CAACJ,KAAK,CAAC,sBAAsBD,MAAM,cAAcN,IAAI,CAACO,KAAK,CAACK,OAAO,EAAE,CAAC;IACjF;EACJ;AACJ","ignoreList":[]}
@@ -1,6 +1,7 @@
1
- import type { IDataProvider, Page } from "../types.js";
1
+ import type { IDataProvider, Page, PublicRedirect } from "../types.js";
2
2
  export declare class NullDataProvider implements IDataProvider {
3
3
  getPageById(): Promise<Page | null>;
4
4
  getPageByPath(): Promise<Page | null>;
5
5
  listPages(): Promise<never[]>;
6
+ listRedirects(): Promise<PublicRedirect[]>;
6
7
  }
@@ -8,6 +8,9 @@ export class NullDataProvider {
8
8
  async listPages() {
9
9
  return [];
10
10
  }
11
+ listRedirects() {
12
+ return Promise.resolve([]);
13
+ }
11
14
  }
12
15
 
13
16
  //# sourceMappingURL=NullDataProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NullDataProvider","getPageById","Promise","resolve","getPageByPath","listPages"],"sources":["NullDataProvider.ts"],"sourcesContent":["import type { IDataProvider, Page } from \"~/types.js\";\n\nexport class NullDataProvider implements IDataProvider {\n getPageById(): Promise<Page | null> {\n return Promise.resolve(null);\n }\n\n getPageByPath(): Promise<Page | null> {\n return Promise.resolve(null);\n }\n\n public async listPages() {\n return [];\n }\n}\n"],"mappings":"AAEA,OAAO,MAAMA,gBAAgB,CAA0B;EACnDC,WAAWA,CAAA,EAAyB;IAChC,OAAOC,OAAO,CAACC,OAAO,CAAC,IAAI,CAAC;EAChC;EAEAC,aAAaA,CAAA,EAAyB;IAClC,OAAOF,OAAO,CAACC,OAAO,CAAC,IAAI,CAAC;EAChC;EAEA,MAAaE,SAASA,CAAA,EAAG;IACrB,OAAO,EAAE;EACb;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["NullDataProvider","getPageById","Promise","resolve","getPageByPath","listPages","listRedirects"],"sources":["NullDataProvider.ts"],"sourcesContent":["import type { IDataProvider, Page, PublicRedirect } from \"~/types.js\";\n\nexport class NullDataProvider implements IDataProvider {\n getPageById(): Promise<Page | null> {\n return Promise.resolve(null);\n }\n\n getPageByPath(): Promise<Page | null> {\n return Promise.resolve(null);\n }\n\n public async listPages() {\n return [];\n }\n\n listRedirects(): Promise<PublicRedirect[]> {\n return Promise.resolve([]);\n }\n}\n"],"mappings":"AAEA,OAAO,MAAMA,gBAAgB,CAA0B;EACnDC,WAAWA,CAAA,EAAyB;IAChC,OAAOC,OAAO,CAACC,OAAO,CAAC,IAAI,CAAC;EAChC;EAEAC,aAAaA,CAAA,EAAyB;IAClC,OAAOF,OAAO,CAACC,OAAO,CAAC,IAAI,CAAC;EAChC;EAEA,MAAaE,SAASA,CAAA,EAAG;IACrB,OAAO,EAAE;EACb;EAEAC,aAAaA,CAAA,EAA8B;IACvC,OAAOJ,OAAO,CAACC,OAAO,CAAC,EAAE,CAAC;EAC9B;AACJ","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import type { ApiClient } from "./ApiClient.js";
2
+ import type { IRedirects } from "../IRedirects.js";
3
+ import type { PublicRedirect } from "../types.js";
4
+ export declare class RedirectsProvider implements IRedirects {
5
+ private redirectsCache;
6
+ private apiClient;
7
+ constructor(apiClient: ApiClient);
8
+ getRedirectByPath(path: string): Promise<PublicRedirect | undefined>;
9
+ getAllRedirects(): Promise<Map<string, PublicRedirect>>;
10
+ private populateCache;
11
+ }
@@ -0,0 +1,32 @@
1
+ export class RedirectsProvider {
2
+ redirectsCache = undefined;
3
+ constructor(apiClient) {
4
+ this.apiClient = apiClient;
5
+ }
6
+ async getRedirectByPath(path) {
7
+ await this.populateCache();
8
+ if (!this.redirectsCache) {
9
+ return undefined;
10
+ }
11
+ return this.redirectsCache.get(path);
12
+ }
13
+ async getAllRedirects() {
14
+ await this.populateCache();
15
+ return this.redirectsCache ?? new Map();
16
+ }
17
+ async populateCache() {
18
+ const redirects = await this.apiClient.fetch({
19
+ path: "/wb/redirects",
20
+ cache: "no-cache",
21
+ next: {
22
+ revalidate: 0
23
+ }
24
+ });
25
+ this.redirectsCache = new Map();
26
+ for (const redirect of redirects) {
27
+ this.redirectsCache.set(redirect.from, redirect);
28
+ }
29
+ }
30
+ }
31
+
32
+ //# sourceMappingURL=RedirectsProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RedirectsProvider","redirectsCache","undefined","constructor","apiClient","getRedirectByPath","path","populateCache","get","getAllRedirects","Map","redirects","fetch","cache","next","revalidate","redirect","set","from"],"sources":["RedirectsProvider.ts"],"sourcesContent":["import type { ApiClient } from \"./ApiClient.js\";\nimport type { IRedirects } from \"~/IRedirects.js\";\nimport type { PublicRedirect } from \"~/types.js\";\n\nexport class RedirectsProvider implements IRedirects {\n private redirectsCache: Map<string, PublicRedirect> | undefined = undefined;\n private apiClient: ApiClient;\n\n constructor(apiClient: ApiClient) {\n this.apiClient = apiClient;\n }\n\n async getRedirectByPath(path: string): Promise<PublicRedirect | undefined> {\n await this.populateCache();\n\n if (!this.redirectsCache) {\n return undefined;\n }\n\n return this.redirectsCache.get(path);\n }\n\n async getAllRedirects(): Promise<Map<string, PublicRedirect>> {\n await this.populateCache();\n return this.redirectsCache ?? new Map();\n }\n\n private async populateCache() {\n const redirects: PublicRedirect[] = await this.apiClient.fetch({\n path: \"/wb/redirects\",\n cache: \"no-cache\",\n next: {\n revalidate: 0\n }\n });\n\n this.redirectsCache = new Map();\n for (const redirect of redirects) {\n this.redirectsCache.set(redirect.from, redirect);\n }\n }\n}\n"],"mappings":"AAIA,OAAO,MAAMA,iBAAiB,CAAuB;EACzCC,cAAc,GAA4CC,SAAS;EAG3EC,WAAWA,CAACC,SAAoB,EAAE;IAC9B,IAAI,CAACA,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,iBAAiBA,CAACC,IAAY,EAAuC;IACvE,MAAM,IAAI,CAACC,aAAa,CAAC,CAAC;IAE1B,IAAI,CAAC,IAAI,CAACN,cAAc,EAAE;MACtB,OAAOC,SAAS;IACpB;IAEA,OAAO,IAAI,CAACD,cAAc,CAACO,GAAG,CAACF,IAAI,CAAC;EACxC;EAEA,MAAMG,eAAeA,CAAA,EAAyC;IAC1D,MAAM,IAAI,CAACF,aAAa,CAAC,CAAC;IAC1B,OAAO,IAAI,CAACN,cAAc,IAAI,IAAIS,GAAG,CAAC,CAAC;EAC3C;EAEA,MAAcH,aAAaA,CAAA,EAAG;IAC1B,MAAMI,SAA2B,GAAG,MAAM,IAAI,CAACP,SAAS,CAACQ,KAAK,CAAC;MAC3DN,IAAI,EAAE,eAAe;MACrBO,KAAK,EAAE,UAAU;MACjBC,IAAI,EAAE;QACFC,UAAU,EAAE;MAChB;IACJ,CAAC,CAAC;IAEF,IAAI,CAACd,cAAc,GAAG,IAAIS,GAAG,CAAC,CAAC;IAC/B,KAAK,MAAMM,QAAQ,IAAIL,SAAS,EAAE;MAC9B,IAAI,CAACV,cAAc,CAACgB,GAAG,CAACD,QAAQ,CAACE,IAAI,EAAEF,QAAQ,CAAC;IACpD;EACJ;AACJ","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import type { WebsiteBuilderThemeInput } from "./types/WebsiteBuilderTheme";
1
+ import type { WebsiteBuilderThemeInput } from "./types/WebsiteBuilderTheme.js";
2
2
  export declare const defaultBreakpoints: NonNullable<WebsiteBuilderThemeInput["breakpoints"]>;
@@ -1 +1 @@
1
- {"version":3,"names":["defaultBreakpoints","desktop","title","description","icon","minWidth","maxWidth","tablet","mobile"],"sources":["defaultBreakpoints.ts"],"sourcesContent":["import type { WebsiteBuilderThemeInput } from \"~/types/WebsiteBuilderTheme\";\n\nexport const defaultBreakpoints: NonNullable<WebsiteBuilderThemeInput[\"breakpoints\"]> = {\n desktop: {\n title: \"Desktop\",\n description: `Desktop styles apply at all breakpoints, unless they're edited at a lower breakpoint. Start your styling here.`,\n icon: `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><path d=\"M20 18c1.1 0 1.99-.9 1.99-2L22 5c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v11c0 1.1.9 2 2 2H0c0 1.1.9 2 2 2h20c1.1 0 2-.9 2-2h-4zM4 5h16v11H4V5zm8 14c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z\"/></svg>`,\n minWidth: 0,\n maxWidth: 4000\n },\n tablet: {\n title: \"Tablet\",\n description: `Styles added here will apply at 991px and below, unless they're edited at a smaller breakpoint.`,\n icon: `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><path d=\"M18.5 0h-14A2.5 2.5 0 0 0 2 2.5v19A2.5 2.5 0 0 0 4.5 24h14a2.5 2.5 0 0 0 2.5-2.5v-19A2.5 2.5 0 0 0 18.5 0zm-7 23c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm7.5-4H4V3h15v16z\"/></svg>`,\n minWidth: 0,\n maxWidth: 991\n },\n mobile: {\n title: \"Mobile\",\n description: `Styles added here will apply at 430px and below.`,\n icon: `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><path d=\"M15.5 1h-8A2.5 2.5 0 0 0 5 3.5v17A2.5 2.5 0 0 0 7.5 23h8a2.5 2.5 0 0 0 2.5-2.5v-17A2.5 2.5 0 0 0 15.5 1zm-4 21c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm4.5-4H7V4h9v14z\"/></svg>`,\n minWidth: 0,\n maxWidth: 430\n }\n};\n"],"mappings":"AAEA,OAAO,MAAMA,kBAAwE,GAAG;EACpFC,OAAO,EAAE;IACLC,KAAK,EAAE,SAAS;IAChBC,WAAW,EAAE,gHAAgH;IAC7HC,IAAI,EAAE,mSAAmS;IACzSC,QAAQ,EAAE,CAAC;IACXC,QAAQ,EAAE;EACd,CAAC;EACDC,MAAM,EAAE;IACJL,KAAK,EAAE,QAAQ;IACfC,WAAW,EAAE,iGAAiG;IAC9GC,IAAI,EAAE,+SAA+S;IACrTC,QAAQ,EAAE,CAAC;IACXC,QAAQ,EAAE;EACd,CAAC;EACDE,MAAM,EAAE;IACJN,KAAK,EAAE,QAAQ;IACfC,WAAW,EAAE,kDAAkD;IAC/DC,IAAI,EAAE,4SAA4S;IAClTC,QAAQ,EAAE,CAAC;IACXC,QAAQ,EAAE;EACd;AACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["defaultBreakpoints","desktop","title","description","icon","minWidth","maxWidth","tablet","mobile"],"sources":["defaultBreakpoints.ts"],"sourcesContent":["import type { WebsiteBuilderThemeInput } from \"~/types/WebsiteBuilderTheme.js\";\n\nexport const defaultBreakpoints: NonNullable<WebsiteBuilderThemeInput[\"breakpoints\"]> = {\n desktop: {\n title: \"Desktop\",\n description: `Desktop styles apply at all breakpoints, unless they're edited at a lower breakpoint. Start your styling here.`,\n icon: `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><path d=\"M20 18c1.1 0 1.99-.9 1.99-2L22 5c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v11c0 1.1.9 2 2 2H0c0 1.1.9 2 2 2h20c1.1 0 2-.9 2-2h-4zM4 5h16v11H4V5zm8 14c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z\"/></svg>`,\n minWidth: 0,\n maxWidth: 4000\n },\n tablet: {\n title: \"Tablet\",\n description: `Styles added here will apply at 991px and below, unless they're edited at a smaller breakpoint.`,\n icon: `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><path d=\"M18.5 0h-14A2.5 2.5 0 0 0 2 2.5v19A2.5 2.5 0 0 0 4.5 24h14a2.5 2.5 0 0 0 2.5-2.5v-19A2.5 2.5 0 0 0 18.5 0zm-7 23c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm7.5-4H4V3h15v16z\"/></svg>`,\n minWidth: 0,\n maxWidth: 991\n },\n mobile: {\n title: \"Mobile\",\n description: `Styles added here will apply at 430px and below.`,\n icon: `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><path d=\"M15.5 1h-8A2.5 2.5 0 0 0 5 3.5v17A2.5 2.5 0 0 0 7.5 23h8a2.5 2.5 0 0 0 2.5-2.5v-17A2.5 2.5 0 0 0 15.5 1zm-4 21c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm4.5-4H7V4h9v14z\"/></svg>`,\n minWidth: 0,\n maxWidth: 430\n }\n};\n"],"mappings":"AAEA,OAAO,MAAMA,kBAAwE,GAAG;EACpFC,OAAO,EAAE;IACLC,KAAK,EAAE,SAAS;IAChBC,WAAW,EAAE,gHAAgH;IAC7HC,IAAI,EAAE,mSAAmS;IACzSC,QAAQ,EAAE,CAAC;IACXC,QAAQ,EAAE;EACd,CAAC;EACDC,MAAM,EAAE;IACJL,KAAK,EAAE,QAAQ;IACfC,WAAW,EAAE,iGAAiG;IAC9GC,IAAI,EAAE,+SAA+S;IACrTC,QAAQ,EAAE,CAAC;IACXC,QAAQ,EAAE;EACd,CAAC;EACDE,MAAM,EAAE;IACJN,KAAK,EAAE,QAAQ;IACfC,WAAW,EAAE,kDAAkD;IAC/DC,IAAI,EAAE,4SAA4S;IAClTC,QAAQ,EAAE,CAAC;IACXC,QAAQ,EAAE;EACd;AACJ,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["$addElementReferenceToParent","document","elementId","parentId","slot","index","bindings","inputs","type","static","slotElements","list","slice"],"sources":["$addElementReferenceToParent.ts"],"sourcesContent":["import type { Document } from \"~/types.js\";\nimport type { InputValueBinding } from \"~/types\";\n\ninterface Params {\n elementId: string;\n parentId: string;\n slot: string;\n index: number;\n}\n\nexport function $addElementReferenceToParent(\n document: Document,\n { elementId, parentId, slot, index }: Params\n) {\n const bindings = document.bindings[parentId] ?? {};\n const inputs = bindings.inputs ?? {};\n\n if (index < 0) {\n // Single value slot\n inputs[slot] = {\n ...inputs[slot],\n type: \"slot\",\n static: elementId\n };\n } else {\n const slotElements = inputs[slot] as InputValueBinding;\n inputs[slot] = {\n ...inputs[slot],\n type: \"slot\",\n list: true,\n static: [\n ...(slotElements?.static ?? []).slice(0, index),\n elementId,\n ...(slotElements?.static ?? []).slice(index)\n ]\n };\n }\n\n document.bindings[parentId] = {\n ...bindings,\n inputs\n };\n}\n"],"mappings":"AAUA,OAAO,SAASA,4BAA4BA,CACxCC,QAAkB,EAClB;EAAEC,SAAS;EAAEC,QAAQ;EAAEC,IAAI;EAAEC;AAAc,CAAC,EAC9C;EACE,MAAMC,QAAQ,GAAGL,QAAQ,CAACK,QAAQ,CAACH,QAAQ,CAAC,IAAI,CAAC,CAAC;EAClD,MAAMI,MAAM,GAAGD,QAAQ,CAACC,MAAM,IAAI,CAAC,CAAC;EAEpC,IAAIF,KAAK,GAAG,CAAC,EAAE;IACX;IACAE,MAAM,CAACH,IAAI,CAAC,GAAG;MACX,GAAGG,MAAM,CAACH,IAAI,CAAC;MACfI,IAAI,EAAE,MAAM;MACZC,MAAM,EAAEP;IACZ,CAAC;EACL,CAAC,MAAM;IACH,MAAMQ,YAAY,GAAGH,MAAM,CAACH,IAAI,CAAsB;IACtDG,MAAM,CAACH,IAAI,CAAC,GAAG;MACX,GAAGG,MAAM,CAACH,IAAI,CAAC;MACfI,IAAI,EAAE,MAAM;MACZG,IAAI,EAAE,IAAI;MACVF,MAAM,EAAE,CACJ,GAAG,CAACC,YAAY,EAAED,MAAM,IAAI,EAAE,EAAEG,KAAK,CAAC,CAAC,EAAEP,KAAK,CAAC,EAC/CH,SAAS,EACT,GAAG,CAACQ,YAAY,EAAED,MAAM,IAAI,EAAE,EAAEG,KAAK,CAACP,KAAK,CAAC;IAEpD,CAAC;EACL;EAEAJ,QAAQ,CAACK,QAAQ,CAACH,QAAQ,CAAC,GAAG;IAC1B,GAAGG,QAAQ;IACXC;EACJ,CAAC;AACL","ignoreList":[]}
1
+ {"version":3,"names":["$addElementReferenceToParent","document","elementId","parentId","slot","index","bindings","inputs","type","static","slotElements","list","slice"],"sources":["$addElementReferenceToParent.ts"],"sourcesContent":["import type { Document } from \"~/types.js\";\nimport type { InputValueBinding } from \"~/types.js\";\n\ninterface Params {\n elementId: string;\n parentId: string;\n slot: string;\n index: number;\n}\n\nexport function $addElementReferenceToParent(\n document: Document,\n { elementId, parentId, slot, index }: Params\n) {\n const bindings = document.bindings[parentId] ?? {};\n const inputs = bindings.inputs ?? {};\n\n if (index < 0) {\n // Single value slot\n inputs[slot] = {\n ...inputs[slot],\n type: \"slot\",\n static: elementId\n };\n } else {\n const slotElements = inputs[slot] as InputValueBinding;\n inputs[slot] = {\n ...inputs[slot],\n type: \"slot\",\n list: true,\n static: [\n ...(slotElements?.static ?? []).slice(0, index),\n elementId,\n ...(slotElements?.static ?? []).slice(index)\n ]\n };\n }\n\n document.bindings[parentId] = {\n ...bindings,\n inputs\n };\n}\n"],"mappings":"AAUA,OAAO,SAASA,4BAA4BA,CACxCC,QAAkB,EAClB;EAAEC,SAAS;EAAEC,QAAQ;EAAEC,IAAI;EAAEC;AAAc,CAAC,EAC9C;EACE,MAAMC,QAAQ,GAAGL,QAAQ,CAACK,QAAQ,CAACH,QAAQ,CAAC,IAAI,CAAC,CAAC;EAClD,MAAMI,MAAM,GAAGD,QAAQ,CAACC,MAAM,IAAI,CAAC,CAAC;EAEpC,IAAIF,KAAK,GAAG,CAAC,EAAE;IACX;IACAE,MAAM,CAACH,IAAI,CAAC,GAAG;MACX,GAAGG,MAAM,CAACH,IAAI,CAAC;MACfI,IAAI,EAAE,MAAM;MACZC,MAAM,EAAEP;IACZ,CAAC;EACL,CAAC,MAAM;IACH,MAAMQ,YAAY,GAAGH,MAAM,CAACH,IAAI,CAAsB;IACtDG,MAAM,CAACH,IAAI,CAAC,GAAG;MACX,GAAGG,MAAM,CAACH,IAAI,CAAC;MACfI,IAAI,EAAE,MAAM;MACZG,IAAI,EAAE,IAAI;MACVF,MAAM,EAAE,CACJ,GAAG,CAACC,YAAY,EAAED,MAAM,IAAI,EAAE,EAAEG,KAAK,CAAC,CAAC,EAAEP,KAAK,CAAC,EAC/CH,SAAS,EACT,GAAG,CAACQ,YAAY,EAAED,MAAM,IAAI,EAAE,EAAEG,KAAK,CAACP,KAAK,CAAC;IAEpD,CAAC;EACL;EAEAJ,QAAQ,CAACK,QAAQ,CAACH,QAAQ,CAAC,GAAG;IAC1B,GAAGG,QAAQ;IACXC;EACJ,CAAC;AACL","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import type { Document, DocumentElement } from "../types.js";
2
- import type { IDocumentOperation } from "./IDocumentOperation";
2
+ import type { IDocumentOperation } from "./IDocumentOperation.js";
3
3
  export declare class AddElement implements IDocumentOperation {
4
4
  private readonly element;
5
5
  constructor(element: DocumentElement);
@@ -1 +1 @@
1
- {"version":3,"names":["AddElement","constructor","element","apply","document","elements","id"],"sources":["AddElement.ts"],"sourcesContent":["import type { Document, DocumentElement } from \"~/types.js\";\nimport type { IDocumentOperation } from \"./IDocumentOperation\";\n\nexport class AddElement implements IDocumentOperation {\n private readonly element: DocumentElement;\n\n constructor(element: DocumentElement) {\n this.element = element;\n }\n\n apply(document: Document) {\n document.elements[this.element.id] = this.element;\n }\n}\n"],"mappings":"AAGA,OAAO,MAAMA,UAAU,CAA+B;EAGlDC,WAAWA,CAACC,OAAwB,EAAE;IAClC,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEAC,KAAKA,CAACC,QAAkB,EAAE;IACtBA,QAAQ,CAACC,QAAQ,CAAC,IAAI,CAACH,OAAO,CAACI,EAAE,CAAC,GAAG,IAAI,CAACJ,OAAO;EACrD;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["AddElement","constructor","element","apply","document","elements","id"],"sources":["AddElement.ts"],"sourcesContent":["import type { Document, DocumentElement } from \"~/types.js\";\nimport type { IDocumentOperation } from \"./IDocumentOperation.js\";\n\nexport class AddElement implements IDocumentOperation {\n private readonly element: DocumentElement;\n\n constructor(element: DocumentElement) {\n this.element = element;\n }\n\n apply(document: Document) {\n document.elements[this.element.id] = this.element;\n }\n}\n"],"mappings":"AAGA,OAAO,MAAMA,UAAU,CAA+B;EAGlDC,WAAWA,CAACC,OAAwB,EAAE;IAClC,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEAC,KAAKA,CAACC,QAAkB,EAAE;IACtBA,QAAQ,CAACC,QAAQ,CAAC,IAAI,CAACH,OAAO,CAACI,EAAE,CAAC,GAAG,IAAI,CAACJ,OAAO;EACrD;AACJ","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import type { Document, DocumentElement } from "../types.js";
2
- import type { IDocumentOperation } from "./IDocumentOperation";
2
+ import type { IDocumentOperation } from "./IDocumentOperation.js";
3
3
  export declare class AddToParent implements IDocumentOperation {
4
4
  private element;
5
5
  private readonly index;
@@ -1 +1 @@
1
- {"version":3,"names":["$addElementReferenceToParent","AddToParent","constructor","element","index","apply","document","elementId","id","parentId","parent","slot"],"sources":["AddToParent.ts"],"sourcesContent":["import type { Document, DocumentElement } from \"~/types.js\";\nimport type { IDocumentOperation } from \"./IDocumentOperation\";\nimport { $addElementReferenceToParent } from \"./$addElementReferenceToParent.js\";\n\nexport class AddToParent implements IDocumentOperation {\n private element: DocumentElement;\n private readonly index: number;\n\n constructor(element: DocumentElement, index: number) {\n this.element = element;\n this.index = index;\n }\n\n apply(document: Document) {\n $addElementReferenceToParent(document, {\n elementId: this.element.id,\n parentId: this.element.parent!.id,\n slot: this.element.parent!.slot,\n index: this.index\n });\n }\n}\n"],"mappings":"AAEA,SAASA,4BAA4B;AAErC,OAAO,MAAMC,WAAW,CAA+B;EAInDC,WAAWA,CAACC,OAAwB,EAAEC,KAAa,EAAE;IACjD,IAAI,CAACD,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,KAAK,GAAGA,KAAK;EACtB;EAEAC,KAAKA,CAACC,QAAkB,EAAE;IACtBN,4BAA4B,CAACM,QAAQ,EAAE;MACnCC,SAAS,EAAE,IAAI,CAACJ,OAAO,CAACK,EAAE;MAC1BC,QAAQ,EAAE,IAAI,CAACN,OAAO,CAACO,MAAM,CAAEF,EAAE;MACjCG,IAAI,EAAE,IAAI,CAACR,OAAO,CAACO,MAAM,CAAEC,IAAI;MAC/BP,KAAK,EAAE,IAAI,CAACA;IAChB,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["$addElementReferenceToParent","AddToParent","constructor","element","index","apply","document","elementId","id","parentId","parent","slot"],"sources":["AddToParent.ts"],"sourcesContent":["import type { Document, DocumentElement } from \"~/types.js\";\nimport type { IDocumentOperation } from \"./IDocumentOperation.js\";\nimport { $addElementReferenceToParent } from \"./$addElementReferenceToParent.js\";\n\nexport class AddToParent implements IDocumentOperation {\n private element: DocumentElement;\n private readonly index: number;\n\n constructor(element: DocumentElement, index: number) {\n this.element = element;\n this.index = index;\n }\n\n apply(document: Document) {\n $addElementReferenceToParent(document, {\n elementId: this.element.id,\n parentId: this.element.parent!.id,\n slot: this.element.parent!.slot,\n index: this.index\n });\n }\n}\n"],"mappings":"AAEA,SAASA,4BAA4B;AAErC,OAAO,MAAMC,WAAW,CAA+B;EAInDC,WAAWA,CAACC,OAAwB,EAAEC,KAAa,EAAE;IACjD,IAAI,CAACD,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,KAAK,GAAGA,KAAK;EACtB;EAEAC,KAAKA,CAACC,QAAkB,EAAE;IACtBN,4BAA4B,CAACM,QAAQ,EAAE;MACnCC,SAAS,EAAE,IAAI,CAACJ,OAAO,CAACK,EAAE;MAC1BC,QAAQ,EAAE,IAAI,CAACN,OAAO,CAACO,MAAM,CAAEF,EAAE;MACjCG,IAAI,EAAE,IAAI,CAACR,OAAO,CAACO,MAAM,CAAEC,IAAI;MAC/BP,KAAK,EAAE,IAAI,CAACA;IAChB,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import type { Document } from "../types.js";
2
- import type { IDocumentOperation } from "./IDocumentOperation";
2
+ import type { IDocumentOperation } from "./IDocumentOperation.js";
3
3
  export declare class RemoveElement implements IDocumentOperation {
4
4
  private readonly elementId;
5
5
  constructor(elementId: string);
@@ -1 +1 @@
1
- {"version":3,"names":["RemoveElement","constructor","elementId","apply","document","elements"],"sources":["RemoveElement.ts"],"sourcesContent":["import type { Document } from \"~/types.js\";\nimport type { IDocumentOperation } from \"./IDocumentOperation\";\n\nexport class RemoveElement implements IDocumentOperation {\n private readonly elementId: string;\n\n constructor(elementId: string) {\n this.elementId = elementId;\n }\n\n apply(document: Document) {\n delete document.elements[this.elementId];\n }\n}\n"],"mappings":"AAGA,OAAO,MAAMA,aAAa,CAA+B;EAGrDC,WAAWA,CAACC,SAAiB,EAAE;IAC3B,IAAI,CAACA,SAAS,GAAGA,SAAS;EAC9B;EAEAC,KAAKA,CAACC,QAAkB,EAAE;IACtB,OAAOA,QAAQ,CAACC,QAAQ,CAAC,IAAI,CAACH,SAAS,CAAC;EAC5C;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["RemoveElement","constructor","elementId","apply","document","elements"],"sources":["RemoveElement.ts"],"sourcesContent":["import type { Document } from \"~/types.js\";\nimport type { IDocumentOperation } from \"./IDocumentOperation.js\";\n\nexport class RemoveElement implements IDocumentOperation {\n private readonly elementId: string;\n\n constructor(elementId: string) {\n this.elementId = elementId;\n }\n\n apply(document: Document) {\n delete document.elements[this.elementId];\n }\n}\n"],"mappings":"AAGA,OAAO,MAAMA,aAAa,CAA+B;EAGrDC,WAAWA,CAACC,SAAiB,EAAE;IAC3B,IAAI,CAACA,SAAS,GAAGA,SAAS;EAC9B;EAEAC,KAAKA,CAACC,QAAkB,EAAE;IACtB,OAAOA,QAAQ,CAACC,QAAQ,CAAC,IAAI,CAACH,SAAS,CAAC;EAC5C;AACJ","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import type { Document, InputValueBinding } from "../types.js";
2
- import type { IDocumentOperation } from "./IDocumentOperation";
2
+ import type { IDocumentOperation } from "./IDocumentOperation.js";
3
3
  export declare class SetGlobalInputBinding implements IDocumentOperation {
4
4
  private readonly elementId;
5
5
  private readonly bindingPath;
@@ -1 +1 @@
1
- {"version":3,"names":["SetGlobalInputBinding","constructor","elementId","bindingPath","binding","apply","document","bindings","inputs"],"sources":["SetGlobalInputBinding.ts"],"sourcesContent":["import type { Document, InputValueBinding } from \"~/types.js\";\nimport type { IDocumentOperation } from \"./IDocumentOperation\";\n\nexport class SetGlobalInputBinding implements IDocumentOperation {\n private readonly elementId: string;\n private readonly bindingPath: string;\n private readonly binding: InputValueBinding;\n\n constructor(elementId: string, bindingPath: string, binding: InputValueBinding) {\n this.elementId = elementId;\n this.bindingPath = bindingPath;\n this.binding = binding;\n }\n\n apply(document: Document) {\n const bindings = document.bindings[this.elementId] ?? { inputs: {} };\n const binding = bindings.inputs ? bindings.inputs[this.bindingPath] : {};\n document.bindings[this.elementId] = {\n ...bindings,\n inputs: {\n ...(bindings.inputs ?? {}),\n [this.bindingPath]: {\n ...binding,\n ...this.binding\n }\n }\n };\n }\n}\n"],"mappings":"AAGA,OAAO,MAAMA,qBAAqB,CAA+B;EAK7DC,WAAWA,CAACC,SAAiB,EAAEC,WAAmB,EAAEC,OAA0B,EAAE;IAC5E,IAAI,CAACF,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACC,OAAO,GAAGA,OAAO;EAC1B;EAEAC,KAAKA,CAACC,QAAkB,EAAE;IACtB,MAAMC,QAAQ,GAAGD,QAAQ,CAACC,QAAQ,CAAC,IAAI,CAACL,SAAS,CAAC,IAAI;MAAEM,MAAM,EAAE,CAAC;IAAE,CAAC;IACpE,MAAMJ,OAAO,GAAGG,QAAQ,CAACC,MAAM,GAAGD,QAAQ,CAACC,MAAM,CAAC,IAAI,CAACL,WAAW,CAAC,GAAG,CAAC,CAAC;IACxEG,QAAQ,CAACC,QAAQ,CAAC,IAAI,CAACL,SAAS,CAAC,GAAG;MAChC,GAAGK,QAAQ;MACXC,MAAM,EAAE;QACJ,IAAID,QAAQ,CAACC,MAAM,IAAI,CAAC,CAAC,CAAC;QAC1B,CAAC,IAAI,CAACL,WAAW,GAAG;UAChB,GAAGC,OAAO;UACV,GAAG,IAAI,CAACA;QACZ;MACJ;IACJ,CAAC;EACL;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["SetGlobalInputBinding","constructor","elementId","bindingPath","binding","apply","document","bindings","inputs"],"sources":["SetGlobalInputBinding.ts"],"sourcesContent":["import type { Document, InputValueBinding } from \"~/types.js\";\nimport type { IDocumentOperation } from \"./IDocumentOperation.js\";\n\nexport class SetGlobalInputBinding implements IDocumentOperation {\n private readonly elementId: string;\n private readonly bindingPath: string;\n private readonly binding: InputValueBinding;\n\n constructor(elementId: string, bindingPath: string, binding: InputValueBinding) {\n this.elementId = elementId;\n this.bindingPath = bindingPath;\n this.binding = binding;\n }\n\n apply(document: Document) {\n const bindings = document.bindings[this.elementId] ?? { inputs: {} };\n const binding = bindings.inputs ? bindings.inputs[this.bindingPath] : {};\n document.bindings[this.elementId] = {\n ...bindings,\n inputs: {\n ...(bindings.inputs ?? {}),\n [this.bindingPath]: {\n ...binding,\n ...this.binding\n }\n }\n };\n }\n}\n"],"mappings":"AAGA,OAAO,MAAMA,qBAAqB,CAA+B;EAK7DC,WAAWA,CAACC,SAAiB,EAAEC,WAAmB,EAAEC,OAA0B,EAAE;IAC5E,IAAI,CAACF,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACC,OAAO,GAAGA,OAAO;EAC1B;EAEAC,KAAKA,CAACC,QAAkB,EAAE;IACtB,MAAMC,QAAQ,GAAGD,QAAQ,CAACC,QAAQ,CAAC,IAAI,CAACL,SAAS,CAAC,IAAI;MAAEM,MAAM,EAAE,CAAC;IAAE,CAAC;IACpE,MAAMJ,OAAO,GAAGG,QAAQ,CAACC,MAAM,GAAGD,QAAQ,CAACC,MAAM,CAAC,IAAI,CAACL,WAAW,CAAC,GAAG,CAAC,CAAC;IACxEG,QAAQ,CAACC,QAAQ,CAAC,IAAI,CAACL,SAAS,CAAC,GAAG;MAChC,GAAGK,QAAQ;MACXC,MAAM,EAAE;QACJ,IAAID,QAAQ,CAACC,MAAM,IAAI,CAAC,CAAC,CAAC;QAC1B,CAAC,IAAI,CAACL,WAAW,GAAG;UAChB,GAAGC,OAAO;UACV,GAAG,IAAI,CAACA;QACZ;MACJ;IACJ,CAAC;EACL;AACJ","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import type { Document, StyleValueBinding } from "../types.js";
2
- import type { IDocumentOperation } from "./IDocumentOperation";
2
+ import type { IDocumentOperation } from "./IDocumentOperation.js";
3
3
  export declare class SetGlobalStyleBinding implements IDocumentOperation {
4
4
  private readonly elementId;
5
5
  private readonly bindingPath;
@@ -1 +1 @@
1
- {"version":3,"names":["SetGlobalStyleBinding","constructor","elementId","bindingPath","binding","apply","document","bindings","styles"],"sources":["SetGlobalStyleBinding.ts"],"sourcesContent":["import type { Document, StyleValueBinding } from \"~/types.js\";\nimport type { IDocumentOperation } from \"./IDocumentOperation\";\n\nexport class SetGlobalStyleBinding implements IDocumentOperation {\n private readonly elementId: string;\n private readonly bindingPath: string;\n private readonly binding: StyleValueBinding;\n\n constructor(elementId: string, bindingPath: string, binding: StyleValueBinding) {\n this.elementId = elementId;\n this.bindingPath = bindingPath;\n this.binding = binding;\n }\n\n apply(document: Document) {\n const bindings = document.bindings[this.elementId] ?? { styles: {} };\n // @ts-expect-error String doesn't play well with CSSProperties.\n const binding = bindings.styles ? bindings.styles[this.bindingPath] ?? {} : {};\n document.bindings[this.elementId] = {\n ...bindings,\n styles: {\n ...bindings.styles,\n [this.bindingPath]: {\n ...binding,\n ...this.binding\n }\n }\n };\n }\n}\n"],"mappings":"AAGA,OAAO,MAAMA,qBAAqB,CAA+B;EAK7DC,WAAWA,CAACC,SAAiB,EAAEC,WAAmB,EAAEC,OAA0B,EAAE;IAC5E,IAAI,CAACF,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACC,OAAO,GAAGA,OAAO;EAC1B;EAEAC,KAAKA,CAACC,QAAkB,EAAE;IACtB,MAAMC,QAAQ,GAAGD,QAAQ,CAACC,QAAQ,CAAC,IAAI,CAACL,SAAS,CAAC,IAAI;MAAEM,MAAM,EAAE,CAAC;IAAE,CAAC;IACpE;IACA,MAAMJ,OAAO,GAAGG,QAAQ,CAACC,MAAM,GAAGD,QAAQ,CAACC,MAAM,CAAC,IAAI,CAACL,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC9EG,QAAQ,CAACC,QAAQ,CAAC,IAAI,CAACL,SAAS,CAAC,GAAG;MAChC,GAAGK,QAAQ;MACXC,MAAM,EAAE;QACJ,GAAGD,QAAQ,CAACC,MAAM;QAClB,CAAC,IAAI,CAACL,WAAW,GAAG;UAChB,GAAGC,OAAO;UACV,GAAG,IAAI,CAACA;QACZ;MACJ;IACJ,CAAC;EACL;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["SetGlobalStyleBinding","constructor","elementId","bindingPath","binding","apply","document","bindings","styles"],"sources":["SetGlobalStyleBinding.ts"],"sourcesContent":["import type { Document, StyleValueBinding } from \"~/types.js\";\nimport type { IDocumentOperation } from \"./IDocumentOperation.js\";\n\nexport class SetGlobalStyleBinding implements IDocumentOperation {\n private readonly elementId: string;\n private readonly bindingPath: string;\n private readonly binding: StyleValueBinding;\n\n constructor(elementId: string, bindingPath: string, binding: StyleValueBinding) {\n this.elementId = elementId;\n this.bindingPath = bindingPath;\n this.binding = binding;\n }\n\n apply(document: Document) {\n const bindings = document.bindings[this.elementId] ?? { styles: {} };\n // @ts-expect-error String doesn't play well with CSSProperties.\n const binding = bindings.styles ? bindings.styles[this.bindingPath] ?? {} : {};\n document.bindings[this.elementId] = {\n ...bindings,\n styles: {\n ...bindings.styles,\n [this.bindingPath]: {\n ...binding,\n ...this.binding\n }\n }\n };\n }\n}\n"],"mappings":"AAGA,OAAO,MAAMA,qBAAqB,CAA+B;EAK7DC,WAAWA,CAACC,SAAiB,EAAEC,WAAmB,EAAEC,OAA0B,EAAE;IAC5E,IAAI,CAACF,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACC,OAAO,GAAGA,OAAO;EAC1B;EAEAC,KAAKA,CAACC,QAAkB,EAAE;IACtB,MAAMC,QAAQ,GAAGD,QAAQ,CAACC,QAAQ,CAAC,IAAI,CAACL,SAAS,CAAC,IAAI;MAAEM,MAAM,EAAE,CAAC;IAAE,CAAC;IACpE;IACA,MAAMJ,OAAO,GAAGG,QAAQ,CAACC,MAAM,GAAGD,QAAQ,CAACC,MAAM,CAAC,IAAI,CAACL,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC9EG,QAAQ,CAACC,QAAQ,CAAC,IAAI,CAACL,SAAS,CAAC,GAAG;MAChC,GAAGK,QAAQ;MACXC,MAAM,EAAE;QACJ,GAAGD,QAAQ,CAACC,MAAM;QAClB,CAAC,IAAI,CAACL,WAAW,GAAG;UAChB,GAAGC,OAAO;UACV,GAAG,IAAI,CAACA;QACZ;MACJ;IACJ,CAAC;EACL;AACJ","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import type { Document, InputValueBinding } from "../types.js";
2
- import type { IDocumentOperation } from "./IDocumentOperation";
2
+ import type { IDocumentOperation } from "./IDocumentOperation.js";
3
3
  export declare class SetInputBindingOverride implements IDocumentOperation {
4
4
  private readonly elementId;
5
5
  private breakpoint;
@@ -1 +1 @@
1
- {"version":3,"names":["SetInputBindingOverride","constructor","elementId","bindingPath","binding","breakpoint","apply","document","bindings","breakpointOverrides","overrides","inputs"],"sources":["SetInputBindingOverride.ts"],"sourcesContent":["import type { Document, InputValueBinding } from \"~/types.js\";\nimport type { IDocumentOperation } from \"./IDocumentOperation\";\n\nexport class SetInputBindingOverride implements IDocumentOperation {\n private readonly elementId: string;\n private breakpoint: string;\n private readonly bindingPath: string;\n private readonly binding: InputValueBinding;\n\n constructor(\n elementId: string,\n bindingPath: string,\n binding: InputValueBinding,\n breakpoint: string\n ) {\n this.elementId = elementId;\n this.bindingPath = bindingPath;\n this.binding = binding;\n this.breakpoint = breakpoint;\n }\n\n apply(document: Document) {\n const bindings = document.bindings[this.elementId] ?? {};\n const breakpointOverrides = bindings.overrides\n ? bindings.overrides[this.breakpoint] ?? {}\n : { inputs: {} };\n\n const binding = breakpointOverrides.inputs\n ? breakpointOverrides.inputs[this.bindingPath]\n : {};\n\n document.bindings[this.elementId] = {\n ...bindings,\n overrides: {\n ...(bindings.overrides || {}),\n [this.breakpoint]: {\n ...breakpointOverrides,\n inputs: {\n ...(breakpointOverrides.inputs || {}),\n [this.bindingPath]: {\n ...binding,\n ...this.binding\n }\n }\n }\n }\n };\n }\n}\n"],"mappings":"AAGA,OAAO,MAAMA,uBAAuB,CAA+B;EAM/DC,WAAWA,CACPC,SAAiB,EACjBC,WAAmB,EACnBC,OAA0B,EAC1BC,UAAkB,EACpB;IACE,IAAI,CAACH,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,UAAU,GAAGA,UAAU;EAChC;EAEAC,KAAKA,CAACC,QAAkB,EAAE;IACtB,MAAMC,QAAQ,GAAGD,QAAQ,CAACC,QAAQ,CAAC,IAAI,CAACN,SAAS,CAAC,IAAI,CAAC,CAAC;IACxD,MAAMO,mBAAmB,GAAGD,QAAQ,CAACE,SAAS,GACxCF,QAAQ,CAACE,SAAS,CAAC,IAAI,CAACL,UAAU,CAAC,IAAI,CAAC,CAAC,GACzC;MAAEM,MAAM,EAAE,CAAC;IAAE,CAAC;IAEpB,MAAMP,OAAO,GAAGK,mBAAmB,CAACE,MAAM,GACpCF,mBAAmB,CAACE,MAAM,CAAC,IAAI,CAACR,WAAW,CAAC,GAC5C,CAAC,CAAC;IAERI,QAAQ,CAACC,QAAQ,CAAC,IAAI,CAACN,SAAS,CAAC,GAAG;MAChC,GAAGM,QAAQ;MACXE,SAAS,EAAE;QACP,IAAIF,QAAQ,CAACE,SAAS,IAAI,CAAC,CAAC,CAAC;QAC7B,CAAC,IAAI,CAACL,UAAU,GAAG;UACf,GAAGI,mBAAmB;UACtBE,MAAM,EAAE;YACJ,IAAIF,mBAAmB,CAACE,MAAM,IAAI,CAAC,CAAC,CAAC;YACrC,CAAC,IAAI,CAACR,WAAW,GAAG;cAChB,GAAGC,OAAO;cACV,GAAG,IAAI,CAACA;YACZ;UACJ;QACJ;MACJ;IACJ,CAAC;EACL;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["SetInputBindingOverride","constructor","elementId","bindingPath","binding","breakpoint","apply","document","bindings","breakpointOverrides","overrides","inputs"],"sources":["SetInputBindingOverride.ts"],"sourcesContent":["import type { Document, InputValueBinding } from \"~/types.js\";\nimport type { IDocumentOperation } from \"./IDocumentOperation.js\";\n\nexport class SetInputBindingOverride implements IDocumentOperation {\n private readonly elementId: string;\n private breakpoint: string;\n private readonly bindingPath: string;\n private readonly binding: InputValueBinding;\n\n constructor(\n elementId: string,\n bindingPath: string,\n binding: InputValueBinding,\n breakpoint: string\n ) {\n this.elementId = elementId;\n this.bindingPath = bindingPath;\n this.binding = binding;\n this.breakpoint = breakpoint;\n }\n\n apply(document: Document) {\n const bindings = document.bindings[this.elementId] ?? {};\n const breakpointOverrides = bindings.overrides\n ? bindings.overrides[this.breakpoint] ?? {}\n : { inputs: {} };\n\n const binding = breakpointOverrides.inputs\n ? breakpointOverrides.inputs[this.bindingPath]\n : {};\n\n document.bindings[this.elementId] = {\n ...bindings,\n overrides: {\n ...(bindings.overrides || {}),\n [this.breakpoint]: {\n ...breakpointOverrides,\n inputs: {\n ...(breakpointOverrides.inputs || {}),\n [this.bindingPath]: {\n ...binding,\n ...this.binding\n }\n }\n }\n }\n };\n }\n}\n"],"mappings":"AAGA,OAAO,MAAMA,uBAAuB,CAA+B;EAM/DC,WAAWA,CACPC,SAAiB,EACjBC,WAAmB,EACnBC,OAA0B,EAC1BC,UAAkB,EACpB;IACE,IAAI,CAACH,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,UAAU,GAAGA,UAAU;EAChC;EAEAC,KAAKA,CAACC,QAAkB,EAAE;IACtB,MAAMC,QAAQ,GAAGD,QAAQ,CAACC,QAAQ,CAAC,IAAI,CAACN,SAAS,CAAC,IAAI,CAAC,CAAC;IACxD,MAAMO,mBAAmB,GAAGD,QAAQ,CAACE,SAAS,GACxCF,QAAQ,CAACE,SAAS,CAAC,IAAI,CAACL,UAAU,CAAC,IAAI,CAAC,CAAC,GACzC;MAAEM,MAAM,EAAE,CAAC;IAAE,CAAC;IAEpB,MAAMP,OAAO,GAAGK,mBAAmB,CAACE,MAAM,GACpCF,mBAAmB,CAACE,MAAM,CAAC,IAAI,CAACR,WAAW,CAAC,GAC5C,CAAC,CAAC;IAERI,QAAQ,CAACC,QAAQ,CAAC,IAAI,CAACN,SAAS,CAAC,GAAG;MAChC,GAAGM,QAAQ;MACXE,SAAS,EAAE;QACP,IAAIF,QAAQ,CAACE,SAAS,IAAI,CAAC,CAAC,CAAC;QAC7B,CAAC,IAAI,CAACL,UAAU,GAAG;UACf,GAAGI,mBAAmB;UACtBE,MAAM,EAAE;YACJ,IAAIF,mBAAmB,CAACE,MAAM,IAAI,CAAC,CAAC,CAAC;YACrC,CAAC,IAAI,CAACR,WAAW,GAAG;cAChB,GAAGC,OAAO;cACV,GAAG,IAAI,CAACA;YACZ;UACJ;QACJ;MACJ;IACJ,CAAC;EACL;AACJ","ignoreList":[]}