@webiny/website-builder-sdk 6.3.0 → 6.4.0-beta.0

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 (154) hide show
  1. package/BindingsApi.js +29 -36
  2. package/BindingsApi.js.map +1 -1
  3. package/BindingsProcessor.js +34 -43
  4. package/BindingsProcessor.js.map +1 -1
  5. package/BindingsProcessor.test.js +82 -78
  6. package/BindingsProcessor.test.js.map +1 -1
  7. package/BindingsResolver.js +92 -119
  8. package/BindingsResolver.js.map +1 -1
  9. package/BindingsResolver.test.js +399 -363
  10. package/BindingsResolver.test.js.map +1 -1
  11. package/ComponentInputTraverser.js +28 -49
  12. package/ComponentInputTraverser.js.map +1 -1
  13. package/ComponentManifestToAstConverter.js +20 -21
  14. package/ComponentManifestToAstConverter.js.map +1 -1
  15. package/ComponentRegistry.js +26 -45
  16. package/ComponentRegistry.js.map +1 -1
  17. package/ComponentResolver.js +25 -29
  18. package/ComponentResolver.js.map +1 -1
  19. package/ConstraintEvaluator.js +246 -353
  20. package/ConstraintEvaluator.js.map +1 -1
  21. package/ConstraintEvaluator.test.js +1616 -1438
  22. package/ConstraintEvaluator.test.js.map +1 -1
  23. package/ContentSdk.js +83 -90
  24. package/ContentSdk.js.map +1 -1
  25. package/DocumentStore.js +47 -59
  26. package/DocumentStore.js.map +1 -1
  27. package/DocumentStoreManager.js +17 -16
  28. package/DocumentStoreManager.js.map +1 -1
  29. package/EditingSdk.js +87 -121
  30. package/EditingSdk.js.map +1 -1
  31. package/ElementFactory.js +126 -174
  32. package/ElementFactory.js.map +1 -1
  33. package/ElementFactory.test.js +234 -263
  34. package/ElementFactory.test.js.map +1 -1
  35. package/Environment.js +18 -19
  36. package/Environment.js.map +1 -1
  37. package/FunctionConverter.js +8 -7
  38. package/FunctionConverter.js.map +1 -1
  39. package/HashObject.js +11 -26
  40. package/HashObject.js.map +1 -1
  41. package/HotkeyManager.js +40 -47
  42. package/HotkeyManager.js.map +1 -1
  43. package/IBindingsUpdater.js +0 -3
  44. package/IRedirects.js +0 -3
  45. package/InheritanceProcessor.js +99 -139
  46. package/InheritanceProcessor.js.map +1 -1
  47. package/InheritanceProcessor.test.js +178 -179
  48. package/InheritanceProcessor.test.js.map +1 -1
  49. package/InheritedValueResolver.js +15 -20
  50. package/InheritedValueResolver.js.map +1 -1
  51. package/InputBindingsProcessor.js +187 -307
  52. package/InputBindingsProcessor.js.map +1 -1
  53. package/InputsBindingsProcessor.test.js +334 -315
  54. package/InputsBindingsProcessor.test.js.map +1 -1
  55. package/InputsUpdater.js +23 -26
  56. package/InputsUpdater.js.map +1 -1
  57. package/LiveSdk.js +12 -13
  58. package/LiveSdk.js.map +1 -1
  59. package/Logger.js +9 -8
  60. package/Logger.js.map +1 -1
  61. package/MouseTracker.js +77 -83
  62. package/MouseTracker.js.map +1 -1
  63. package/NullSdk.js +22 -21
  64. package/NullSdk.js.map +1 -1
  65. package/PreviewDocument.js +27 -30
  66. package/PreviewDocument.js.map +1 -1
  67. package/PreviewSdk.js +16 -17
  68. package/PreviewSdk.js.map +1 -1
  69. package/PreviewViewport.js +51 -63
  70. package/PreviewViewport.js.map +1 -1
  71. package/ResizeObserver.js +24 -31
  72. package/ResizeObserver.js.map +1 -1
  73. package/StylesBindingsProcessor.js +40 -79
  74. package/StylesBindingsProcessor.js.map +1 -1
  75. package/StylesUpdater.js +20 -25
  76. package/StylesUpdater.js.map +1 -1
  77. package/Theme.js +28 -25
  78. package/Theme.js.map +1 -1
  79. package/ViewportManager.js +89 -101
  80. package/ViewportManager.js.map +1 -1
  81. package/constants.js +7 -6
  82. package/constants.js.map +1 -1
  83. package/createElement.js +5 -6
  84. package/createElement.js.map +1 -1
  85. package/createInput.js +85 -143
  86. package/createInput.js.map +1 -1
  87. package/createTheme.js +2 -3
  88. package/createTheme.js.map +1 -1
  89. package/dataProviders/ApiClient.js +40 -49
  90. package/dataProviders/ApiClient.js.map +1 -1
  91. package/dataProviders/DefaultDataProvider.js +56 -58
  92. package/dataProviders/DefaultDataProvider.js.map +1 -1
  93. package/dataProviders/GET_PAGE_BY_ID.js +2 -1
  94. package/dataProviders/GET_PAGE_BY_ID.js.map +1 -1
  95. package/dataProviders/GET_PAGE_BY_PATH.js +2 -1
  96. package/dataProviders/GET_PAGE_BY_PATH.js.map +1 -1
  97. package/dataProviders/LIST_PUBLISHED_PAGES.js +2 -1
  98. package/dataProviders/LIST_PUBLISHED_PAGES.js.map +1 -1
  99. package/dataProviders/NullDataProvider.js +21 -20
  100. package/dataProviders/NullDataProvider.js.map +1 -1
  101. package/dataProviders/RedirectsProvider.js +24 -27
  102. package/dataProviders/RedirectsProvider.js.map +1 -1
  103. package/defaultBreakpoints.js +23 -22
  104. package/defaultBreakpoints.js.map +1 -1
  105. package/documentOperations/$addElementReferenceToParent.js +29 -32
  106. package/documentOperations/$addElementReferenceToParent.js.map +1 -1
  107. package/documentOperations/AddElement.js +8 -7
  108. package/documentOperations/AddElement.js.map +1 -1
  109. package/documentOperations/AddToParent.js +14 -13
  110. package/documentOperations/AddToParent.js.map +1 -1
  111. package/documentOperations/IDocumentOperation.js +0 -3
  112. package/documentOperations/RemoveElement.js +9 -15
  113. package/documentOperations/RemoveElement.js.map +1 -1
  114. package/documentOperations/SetGlobalInputBinding.js +23 -22
  115. package/documentOperations/SetGlobalInputBinding.js.map +1 -1
  116. package/documentOperations/SetGlobalStyleBinding.js +23 -23
  117. package/documentOperations/SetGlobalStyleBinding.js.map +1 -1
  118. package/documentOperations/SetInputBindingOverride.js +30 -29
  119. package/documentOperations/SetInputBindingOverride.js.map +1 -1
  120. package/documentOperations/SetStyleBindingOverride.js +30 -31
  121. package/documentOperations/SetStyleBindingOverride.js.map +1 -1
  122. package/documentOperations/index.js +9 -8
  123. package/documentOperations/index.js.map +1 -1
  124. package/findMatchingAstNode.js +11 -13
  125. package/findMatchingAstNode.js.map +1 -1
  126. package/generateElementId.js +2 -1
  127. package/generateElementId.js.map +1 -1
  128. package/headersProvider.js +4 -3
  129. package/headersProvider.js.map +1 -1
  130. package/index.js +0 -2
  131. package/jsonPatch.js +5 -9
  132. package/jsonPatch.js.map +1 -1
  133. package/messages.js +12 -11
  134. package/messages.js.map +1 -1
  135. package/messenger/MessageOrigin.js +12 -11
  136. package/messenger/MessageOrigin.js.map +1 -1
  137. package/messenger/Messenger.js +58 -69
  138. package/messenger/Messenger.js.map +1 -1
  139. package/messenger/index.js +0 -2
  140. package/package.json +5 -5
  141. package/registerComponentGroup.js +5 -6
  142. package/registerComponentGroup.js.map +1 -1
  143. package/types/ShorthandCssProperties.js +0 -3
  144. package/types/WebsiteBuilderTheme.js +0 -3
  145. package/types.d.ts +3 -0
  146. package/types.js +0 -3
  147. package/IBindingsUpdater.js.map +0 -1
  148. package/IRedirects.js.map +0 -1
  149. package/documentOperations/IDocumentOperation.js.map +0 -1
  150. package/index.js.map +0 -1
  151. package/messenger/index.js.map +0 -1
  152. package/types/ShorthandCssProperties.js.map +0 -1
  153. package/types/WebsiteBuilderTheme.js.map +0 -1
  154. package/types.js.map +0 -1
@@ -1 +1 @@
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":[]}
1
+ {"version":3,"file":"createTheme.js","sources":["../src/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"],"names":["createTheme","theme"],"mappings":"AAIO,MAAMA,cAAc,CAACC,QACjBA"}
@@ -1,54 +1,45 @@
1
- export class ApiClient {
2
- constructor(apiHost, apiKey, apiTenant) {
3
- this.apiTenant = apiTenant;
4
- this.apiHost = apiHost;
5
- this.apiKey = apiKey;
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
- }
23
- async query({
24
- query,
25
- variables,
26
- preview
27
- }) {
28
- const fetchOptions = {
29
- next: {
30
- revalidate: preview ? 0 : 60
31
- }
32
- };
33
- const request = {
34
- ...fetchOptions,
35
- path: "/graphql",
36
- method: "POST",
37
- body: JSON.stringify({
38
- query,
39
- variables
40
- })
41
- };
42
- const json = await this.fetch(request);
43
- if (json.message) {
44
- throw new Error(json.message);
1
+ class ApiClient {
2
+ constructor(apiHost, apiKey, apiTenant){
3
+ this.apiTenant = apiTenant;
4
+ this.apiHost = apiHost;
5
+ this.apiKey = apiKey;
45
6
  }
46
- if (json.errors) {
47
- console.error(json.errors);
48
- throw new Error("Failed to fetch API");
7
+ async fetch({ headers, path, ...params }) {
8
+ return fetch(`${this.apiHost}${path}`, {
9
+ method: "GET",
10
+ headers: {
11
+ "Content-Type": "application/json",
12
+ "X-Tenant": this.apiTenant,
13
+ Authorization: "Bearer " + this.apiKey,
14
+ ...headers
15
+ },
16
+ ...params
17
+ }).then((res)=>res.json());
18
+ }
19
+ async query({ query, variables, preview }) {
20
+ const fetchOptions = {
21
+ next: {
22
+ revalidate: preview ? 0 : 60
23
+ }
24
+ };
25
+ const request = {
26
+ ...fetchOptions,
27
+ path: "/graphql",
28
+ method: "POST",
29
+ body: JSON.stringify({
30
+ query,
31
+ variables
32
+ })
33
+ };
34
+ const json = await this.fetch(request);
35
+ if (json.message) throw new Error(json.message);
36
+ if (json.errors) {
37
+ console.error(json.errors);
38
+ throw new Error("Failed to fetch API");
39
+ }
40
+ return json.data;
49
41
  }
50
- return json.data;
51
- }
52
42
  }
43
+ export { ApiClient };
53
44
 
54
45
  //# sourceMappingURL=ApiClient.js.map
@@ -1 +1 @@
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
+ {"version":3,"file":"dataProviders/ApiClient.js","sources":["../../src/dataProviders/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"],"names":["ApiClient","apiHost","apiKey","apiTenant","headers","path","params","fetch","res","query","variables","preview","fetchOptions","request","JSON","json","Error","console"],"mappings":"AAWO,MAAMA;IAKT,YAAYC,OAAe,EAAEC,MAAc,EAAEC,SAAiB,CAAE;QAC5D,IAAI,CAAC,SAAS,GAAGA;QACjB,IAAI,CAAC,OAAO,GAAGF;QACf,IAAI,CAAC,MAAM,GAAGC;IAClB;IAEA,MAAM,MAAM,EAAEE,OAAO,EAAEC,IAAI,EAAE,GAAGC,QAA+B,EAAgB;QAC3E,OAAOC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAGF,MAAM,EAAE;YACnC,QAAQ;YACR,SAAS;gBACL,gBAAgB;gBAChB,YAAY,IAAI,CAAC,SAAS;gBAC1B,eAAe,YAAY,IAAI,CAAC,MAAM;gBACtC,GAAGD,OAAO;YACd;YACA,GAAGE,MAAM;QACb,GAAG,IAAI,CAACE,CAAAA,MAAOA,IAAI,IAAI;IAC3B;IAEA,MAAM,MAAM,EAAEC,KAAK,EAAEC,SAAS,EAAEC,OAAO,EAAe,EAAE;QACpD,MAAMC,eAAe;YACjB,MAAM;gBACF,YAAYD,UAAU,IAAI;YAC9B;QACJ;QAEA,MAAME,UAAiC;YACnC,GAAGD,YAAY;YACf,MAAM;YACN,QAAQ;YACR,MAAME,KAAK,SAAS,CAAC;gBACjBL;gBACAC;YACJ;QACJ;QAEA,MAAMK,OAAO,MAAM,IAAI,CAAC,KAAK,CAACF;QAE9B,IAAIE,KAAK,OAAO,EACZ,MAAM,IAAIC,MAAMD,KAAK,OAAO;QAGhC,IAAIA,KAAK,MAAM,EAAE;YACbE,QAAQ,KAAK,CAACF,KAAK,MAAM;YACzB,MAAM,IAAIC,MAAM;QACpB;QAEA,OAAOD,KAAK,IAAI;IACpB;AACJ"}
@@ -1,65 +1,63 @@
1
1
  import { GET_PAGE_BY_PATH } from "./GET_PAGE_BY_PATH.js";
2
2
  import { GET_PAGE_BY_ID } from "./GET_PAGE_BY_ID.js";
3
3
  import { LIST_PUBLISHED_PAGES } from "./LIST_PUBLISHED_PAGES.js";
4
- const ignoreActions = [".well-known", "_next"];
5
- export class DefaultDataProvider {
6
- constructor(config) {
7
- this.config = config;
8
- }
9
- async getPageByPath(path) {
10
- const result = await this.config.apiClient.query({
11
- query: GET_PAGE_BY_PATH,
12
- variables: {
13
- path
14
- }
15
- });
16
- this.checkForErrors(`getPageByPath:${path}`, result.websiteBuilder.getPageByPath);
17
- return result.websiteBuilder.getPageByPath.data;
18
- }
19
- async getPageById(id) {
20
- const result = await this.config.apiClient.query({
21
- query: GET_PAGE_BY_ID,
22
- variables: {
23
- id
24
- }
25
- });
26
- this.checkForErrors("getPageById", result.websiteBuilder.getPageById);
27
- return result.websiteBuilder.getPageById.data;
28
- }
29
- async listPages(options) {
30
- const {
31
- where,
32
- ...rest
33
- } = options ?? {};
34
- const result = await this.config.apiClient.query({
35
- query: LIST_PUBLISHED_PAGES,
36
- variables: {
37
- where: {
38
- ...where,
39
- published: true
40
- },
41
- ...rest
42
- }
43
- });
44
- this.checkForErrors("listPages", result.websiteBuilder.listPages);
45
- return {
46
- data: result.websiteBuilder.listPages.data ?? [],
47
- meta: result.websiteBuilder.listPages.meta ?? {
48
- hasMoreItems: false,
49
- totalCount: 0,
50
- cursor: null
51
- }
52
- };
53
- }
54
- checkForErrors(action, data) {
55
- if (data.error) {
56
- // TODO: investigate how these ignored actions make their way to the SDK.
57
- if (ignoreActions.some(item => action.includes(item))) {
58
- return;
59
- }
60
- console.error(`Could not execute "${action}". Reason: ${data.error.message}`);
4
+ const ignoreActions = [
5
+ ".well-known",
6
+ "_next"
7
+ ];
8
+ class DefaultDataProvider {
9
+ constructor(config){
10
+ this.config = config;
11
+ }
12
+ async getPageByPath(path) {
13
+ const result = await this.config.apiClient.query({
14
+ query: GET_PAGE_BY_PATH,
15
+ variables: {
16
+ path
17
+ }
18
+ });
19
+ this.checkForErrors(`getPageByPath:${path}`, result.websiteBuilder.getPageByPath);
20
+ return result.websiteBuilder.getPageByPath.data;
21
+ }
22
+ async getPageById(id) {
23
+ const result = await this.config.apiClient.query({
24
+ query: GET_PAGE_BY_ID,
25
+ variables: {
26
+ id
27
+ }
28
+ });
29
+ this.checkForErrors("getPageById", result.websiteBuilder.getPageById);
30
+ return result.websiteBuilder.getPageById.data;
31
+ }
32
+ async listPages(options) {
33
+ const { where, ...rest } = options ?? {};
34
+ const result = await this.config.apiClient.query({
35
+ query: LIST_PUBLISHED_PAGES,
36
+ variables: {
37
+ where: {
38
+ ...where,
39
+ published: true
40
+ },
41
+ ...rest
42
+ }
43
+ });
44
+ this.checkForErrors("listPages", result.websiteBuilder.listPages);
45
+ return {
46
+ data: result.websiteBuilder.listPages.data ?? [],
47
+ meta: result.websiteBuilder.listPages.meta ?? {
48
+ hasMoreItems: false,
49
+ totalCount: 0,
50
+ cursor: null
51
+ }
52
+ };
53
+ }
54
+ checkForErrors(action, data) {
55
+ if (data.error) {
56
+ if (ignoreActions.some((item)=>action.includes(item))) return;
57
+ console.error(`Could not execute "${action}". Reason: ${data.error.message}`);
58
+ }
61
59
  }
62
- }
63
60
  }
61
+ export { DefaultDataProvider };
64
62
 
65
63
  //# sourceMappingURL=DefaultDataProvider.js.map
@@ -1 +1 @@
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","options","where","rest","published","meta","hasMoreItems","totalCount","cursor","action","error","some","item","includes","console","message"],"sources":["DefaultDataProvider.ts"],"sourcesContent":["import type { IDataProvider, ListPagesOptions, ListPagesResult, 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(options?: ListPagesOptions): Promise<ListPagesResult> {\n const { where, ...rest } = options ?? {};\n\n const result = await this.config.apiClient.query({\n query: LIST_PUBLISHED_PAGES,\n variables: {\n where: {\n ...where,\n published: true\n },\n ...rest\n }\n });\n\n this.checkForErrors(\"listPages\", result.websiteBuilder.listPages);\n\n return {\n data: result.websiteBuilder.listPages.data ?? [],\n meta: result.websiteBuilder.listPages.meta ?? {\n hasMoreItems: false,\n totalCount: 0,\n cursor: null\n }\n };\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,CAACC,OAA0B,EAA4B;IACzE,MAAM;MAAEC,KAAK;MAAE,GAAGC;IAAK,CAAC,GAAGF,OAAO,IAAI,CAAC,CAAC;IAExC,MAAMV,MAAM,GAAG,MAAM,IAAI,CAACH,MAAM,CAACI,SAAS,CAACC,KAAK,CAAC;MAC7CA,KAAK,EAAET,oBAAoB;MAC3BU,SAAS,EAAE;QACPQ,KAAK,EAAE;UACH,GAAGA,KAAK;UACRE,SAAS,EAAE;QACf,CAAC;QACD,GAAGD;MACP;IACJ,CAAC,CAAC;IAEF,IAAI,CAACR,cAAc,CAAC,WAAW,EAAEJ,MAAM,CAACK,cAAc,CAACI,SAAS,CAAC;IAEjE,OAAO;MACHH,IAAI,EAAEN,MAAM,CAACK,cAAc,CAACI,SAAS,CAACH,IAAI,IAAI,EAAE;MAChDQ,IAAI,EAAEd,MAAM,CAACK,cAAc,CAACI,SAAS,CAACK,IAAI,IAAI;QAC1CC,YAAY,EAAE,KAAK;QACnBC,UAAU,EAAE,CAAC;QACbC,MAAM,EAAE;MACZ;IACJ,CAAC;EACL;EAEQb,cAAcA,CAACc,MAAc,EAAEZ,IAAS,EAAE;IAC9C,IAAIA,IAAI,CAACa,KAAK,EAAE;MACZ;MACA,IAAIzB,aAAa,CAAC0B,IAAI,CAACC,IAAI,IAAIH,MAAM,CAACI,QAAQ,CAACD,IAAI,CAAC,CAAC,EAAE;QACnD;MACJ;MACAE,OAAO,CAACJ,KAAK,CAAC,sBAAsBD,MAAM,cAAcZ,IAAI,CAACa,KAAK,CAACK,OAAO,EAAE,CAAC;IACjF;EACJ;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"dataProviders/DefaultDataProvider.js","sources":["../../src/dataProviders/DefaultDataProvider.ts"],"sourcesContent":["import type { IDataProvider, ListPagesOptions, ListPagesResult, 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(options?: ListPagesOptions): Promise<ListPagesResult> {\n const { where, ...rest } = options ?? {};\n\n const result = await this.config.apiClient.query({\n query: LIST_PUBLISHED_PAGES,\n variables: {\n where: {\n ...where,\n published: true\n },\n ...rest\n }\n });\n\n this.checkForErrors(\"listPages\", result.websiteBuilder.listPages);\n\n return {\n data: result.websiteBuilder.listPages.data ?? [],\n meta: result.websiteBuilder.listPages.meta ?? {\n hasMoreItems: false,\n totalCount: 0,\n cursor: null\n }\n };\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"],"names":["ignoreActions","DefaultDataProvider","config","path","result","GET_PAGE_BY_PATH","id","GET_PAGE_BY_ID","options","where","rest","LIST_PUBLISHED_PAGES","action","data","item","console"],"mappings":";;;AAUA,MAAMA,gBAAgB;IAAC;IAAe;CAAQ;AAEvC,MAAMC;IAGT,YAAYC,MAAiC,CAAE;QAC3C,IAAI,CAAC,MAAM,GAAGA;IAClB;IAEA,MAAa,cAAcC,IAAY,EAA8B;QACjE,MAAMC,SAAS,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;YAC7C,OAAOC;YACP,WAAW;gBACPF;YACJ;QACJ;QAEA,IAAI,CAAC,cAAc,CAAC,CAAC,cAAc,EAAEA,MAAM,EAAEC,OAAO,cAAc,CAAC,aAAa;QAEhF,OAAOA,OAAO,cAAc,CAAC,aAAa,CAAC,IAAI;IACnD;IAEA,MAAa,YAAYE,EAAU,EAA8B;QAC7D,MAAMF,SAAS,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;YAC7C,OAAOG;YACP,WAAW;gBACPD;YACJ;QACJ;QAEA,IAAI,CAAC,cAAc,CAAC,eAAeF,OAAO,cAAc,CAAC,WAAW;QAEpE,OAAOA,OAAO,cAAc,CAAC,WAAW,CAAC,IAAI;IACjD;IAEA,MAAa,UAAUI,OAA0B,EAA4B;QACzE,MAAM,EAAEC,KAAK,EAAE,GAAGC,MAAM,GAAGF,WAAW,CAAC;QAEvC,MAAMJ,SAAS,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;YAC7C,OAAOO;YACP,WAAW;gBACP,OAAO;oBACH,GAAGF,KAAK;oBACR,WAAW;gBACf;gBACA,GAAGC,IAAI;YACX;QACJ;QAEA,IAAI,CAAC,cAAc,CAAC,aAAaN,OAAO,cAAc,CAAC,SAAS;QAEhE,OAAO;YACH,MAAMA,OAAO,cAAc,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE;YAChD,MAAMA,OAAO,cAAc,CAAC,SAAS,CAAC,IAAI,IAAI;gBAC1C,cAAc;gBACd,YAAY;gBACZ,QAAQ;YACZ;QACJ;IACJ;IAEQ,eAAeQ,MAAc,EAAEC,IAAS,EAAE;QAC9C,IAAIA,KAAK,KAAK,EAAE;YAEZ,IAAIb,cAAc,IAAI,CAACc,CAAAA,OAAQF,OAAO,QAAQ,CAACE,QAC3C;YAEJC,QAAQ,KAAK,CAAC,CAAC,mBAAmB,EAAEH,OAAO,WAAW,EAAEC,KAAK,KAAK,CAAC,OAAO,EAAE;QAChF;IACJ;AACJ"}
@@ -1,4 +1,4 @@
1
- export const GET_PAGE_BY_ID = /* GraphQL*/`
1
+ const GET_PAGE_BY_ID = `
2
2
  query GetPageById($id: ID!) {
3
3
  websiteBuilder {
4
4
  getPageById(id: $id) {
@@ -19,5 +19,6 @@ export const GET_PAGE_BY_ID = /* GraphQL*/`
19
19
  }
20
20
  }
21
21
  `;
22
+ export { GET_PAGE_BY_ID };
22
23
 
23
24
  //# sourceMappingURL=GET_PAGE_BY_ID.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["GET_PAGE_BY_ID"],"sources":["GET_PAGE_BY_ID.ts"],"sourcesContent":["export const GET_PAGE_BY_ID = /* GraphQL*/ `\n query GetPageById($id: ID!) {\n websiteBuilder {\n getPageById(id: $id) {\n data {\n id\n properties\n elements\n bindings\n extensions\n languagePaths\n }\n error {\n code\n message\n data\n }\n }\n }\n }\n`;\n"],"mappings":"AAAA,OAAO,MAAMA,cAAc,GAAG,YAAa;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"dataProviders/GET_PAGE_BY_ID.js","sources":["../../src/dataProviders/GET_PAGE_BY_ID.ts"],"sourcesContent":["export const GET_PAGE_BY_ID = /* GraphQL*/ `\n query GetPageById($id: ID!) {\n websiteBuilder {\n getPageById(id: $id) {\n data {\n id\n properties\n elements\n bindings\n extensions\n languagePaths\n }\n error {\n code\n message\n data\n }\n }\n }\n }\n`;\n"],"names":["GET_PAGE_BY_ID"],"mappings":"AAAO,MAAMA,iBAA8B,CAAC;;;;;;;;;;;;;;;;;;;;AAoB5C,CAAC"}
@@ -1,4 +1,4 @@
1
- export const GET_PAGE_BY_PATH = /* GraphQL*/`
1
+ const GET_PAGE_BY_PATH = `
2
2
  query GetPageByPath($path: String!) {
3
3
  websiteBuilder {
4
4
  getPageByPath(path: $path) {
@@ -19,5 +19,6 @@ export const GET_PAGE_BY_PATH = /* GraphQL*/`
19
19
  }
20
20
  }
21
21
  `;
22
+ export { GET_PAGE_BY_PATH };
22
23
 
23
24
  //# sourceMappingURL=GET_PAGE_BY_PATH.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["GET_PAGE_BY_PATH"],"sources":["GET_PAGE_BY_PATH.ts"],"sourcesContent":["export const GET_PAGE_BY_PATH = /* GraphQL*/ `\n query GetPageByPath($path: String!) {\n websiteBuilder {\n getPageByPath(path: $path) {\n data {\n id\n properties\n elements\n bindings\n extensions\n languagePaths\n }\n error {\n code\n message\n data\n }\n }\n }\n }\n`;\n"],"mappings":"AAAA,OAAO,MAAMA,gBAAgB,GAAG,YAAa;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"dataProviders/GET_PAGE_BY_PATH.js","sources":["../../src/dataProviders/GET_PAGE_BY_PATH.ts"],"sourcesContent":["export const GET_PAGE_BY_PATH = /* GraphQL*/ `\n query GetPageByPath($path: String!) {\n websiteBuilder {\n getPageByPath(path: $path) {\n data {\n id\n properties\n elements\n bindings\n extensions\n languagePaths\n }\n error {\n code\n message\n data\n }\n }\n }\n }\n`;\n"],"names":["GET_PAGE_BY_PATH"],"mappings":"AAAO,MAAMA,mBAAgC,CAAC;;;;;;;;;;;;;;;;;;;;AAoB9C,CAAC"}
@@ -1,4 +1,4 @@
1
- export const LIST_PUBLISHED_PAGES = /* GraphQL*/`
1
+ const LIST_PUBLISHED_PAGES = `
2
2
  query ListPublishedPages(
3
3
  $where: WbPagesListWhereInput
4
4
  $limit: Int
@@ -28,5 +28,6 @@ export const LIST_PUBLISHED_PAGES = /* GraphQL*/`
28
28
  }
29
29
  }
30
30
  `;
31
+ export { LIST_PUBLISHED_PAGES };
31
32
 
32
33
  //# sourceMappingURL=LIST_PUBLISHED_PAGES.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["LIST_PUBLISHED_PAGES"],"sources":["LIST_PUBLISHED_PAGES.ts"],"sourcesContent":["export const LIST_PUBLISHED_PAGES = /* GraphQL*/ `\n query ListPublishedPages(\n $where: WbPagesListWhereInput\n $limit: Int\n $after: String\n $sort: [WbPageListSorter]\n $search: String\n ) {\n websiteBuilder {\n listPages(where: $where, limit: $limit, after: $after, sort: $sort, search: $search) {\n data {\n id\n properties\n metadata\n extensions\n }\n meta {\n hasMoreItems\n totalCount\n cursor\n }\n error {\n code\n message\n data\n }\n }\n }\n }\n`;\n"],"mappings":"AAAA,OAAO,MAAMA,oBAAoB,GAAG,YAAa;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"dataProviders/LIST_PUBLISHED_PAGES.js","sources":["../../src/dataProviders/LIST_PUBLISHED_PAGES.ts"],"sourcesContent":["export const LIST_PUBLISHED_PAGES = /* GraphQL*/ `\n query ListPublishedPages(\n $where: WbPagesListWhereInput\n $limit: Int\n $after: String\n $sort: [WbPageListSorter]\n $search: String\n ) {\n websiteBuilder {\n listPages(where: $where, limit: $limit, after: $after, sort: $sort, search: $search) {\n data {\n id\n properties\n metadata\n extensions\n }\n meta {\n hasMoreItems\n totalCount\n cursor\n }\n error {\n code\n message\n data\n }\n }\n }\n }\n`;\n"],"names":["LIST_PUBLISHED_PAGES"],"mappings":"AAAO,MAAMA,uBAAoC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BlD,CAAC"}
@@ -1,23 +1,24 @@
1
- export class NullDataProvider {
2
- getPageById() {
3
- return Promise.resolve(null);
4
- }
5
- getPageByPath() {
6
- return Promise.resolve(null);
7
- }
8
- async listPages() {
9
- return {
10
- data: [],
11
- meta: {
12
- hasMoreItems: false,
13
- totalCount: 0,
14
- cursor: null
15
- }
16
- };
17
- }
18
- listRedirects() {
19
- return Promise.resolve([]);
20
- }
1
+ class NullDataProvider {
2
+ getPageById() {
3
+ return Promise.resolve(null);
4
+ }
5
+ getPageByPath() {
6
+ return Promise.resolve(null);
7
+ }
8
+ async listPages() {
9
+ return {
10
+ data: [],
11
+ meta: {
12
+ hasMoreItems: false,
13
+ totalCount: 0,
14
+ cursor: null
15
+ }
16
+ };
17
+ }
18
+ listRedirects() {
19
+ return Promise.resolve([]);
20
+ }
21
21
  }
22
+ export { NullDataProvider };
22
23
 
23
24
  //# sourceMappingURL=NullDataProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NullDataProvider","getPageById","Promise","resolve","getPageByPath","listPages","data","meta","hasMoreItems","totalCount","cursor","listRedirects"],"sources":["NullDataProvider.ts"],"sourcesContent":["import type { IDataProvider, PublicRedirect } from \"~/types.js\";\nimport type { PublicPage } from \"~/types.js\";\n\nexport class NullDataProvider implements IDataProvider {\n getPageById(): Promise<PublicPage | null> {\n return Promise.resolve(null);\n }\n\n getPageByPath(): Promise<PublicPage | null> {\n return Promise.resolve(null);\n }\n\n public async listPages() {\n return { data: [], meta: { hasMoreItems: false, totalCount: 0, cursor: null } };\n }\n\n listRedirects(): Promise<PublicRedirect[]> {\n return Promise.resolve([]);\n }\n}\n"],"mappings":"AAGA,OAAO,MAAMA,gBAAgB,CAA0B;EACnDC,WAAWA,CAAA,EAA+B;IACtC,OAAOC,OAAO,CAACC,OAAO,CAAC,IAAI,CAAC;EAChC;EAEAC,aAAaA,CAAA,EAA+B;IACxC,OAAOF,OAAO,CAACC,OAAO,CAAC,IAAI,CAAC;EAChC;EAEA,MAAaE,SAASA,CAAA,EAAG;IACrB,OAAO;MAAEC,IAAI,EAAE,EAAE;MAAEC,IAAI,EAAE;QAAEC,YAAY,EAAE,KAAK;QAAEC,UAAU,EAAE,CAAC;QAAEC,MAAM,EAAE;MAAK;IAAE,CAAC;EACnF;EAEAC,aAAaA,CAAA,EAA8B;IACvC,OAAOT,OAAO,CAACC,OAAO,CAAC,EAAE,CAAC;EAC9B;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"dataProviders/NullDataProvider.js","sources":["../../src/dataProviders/NullDataProvider.ts"],"sourcesContent":["import type { IDataProvider, PublicRedirect } from \"~/types.js\";\nimport type { PublicPage } from \"~/types.js\";\n\nexport class NullDataProvider implements IDataProvider {\n getPageById(): Promise<PublicPage | null> {\n return Promise.resolve(null);\n }\n\n getPageByPath(): Promise<PublicPage | null> {\n return Promise.resolve(null);\n }\n\n public async listPages() {\n return { data: [], meta: { hasMoreItems: false, totalCount: 0, cursor: null } };\n }\n\n listRedirects(): Promise<PublicRedirect[]> {\n return Promise.resolve([]);\n }\n}\n"],"names":["NullDataProvider","Promise"],"mappings":"AAGO,MAAMA;IACT,cAA0C;QACtC,OAAOC,QAAQ,OAAO,CAAC;IAC3B;IAEA,gBAA4C;QACxC,OAAOA,QAAQ,OAAO,CAAC;IAC3B;IAEA,MAAa,YAAY;QACrB,OAAO;YAAE,MAAM,EAAE;YAAE,MAAM;gBAAE,cAAc;gBAAO,YAAY;gBAAG,QAAQ;YAAK;QAAE;IAClF;IAEA,gBAA2C;QACvC,OAAOA,QAAQ,OAAO,CAAC,EAAE;IAC7B;AACJ"}
@@ -1,32 +1,29 @@
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;
1
+ class RedirectsProvider {
2
+ constructor(apiClient){
3
+ this.redirectsCache = void 0;
4
+ this.apiClient = apiClient;
10
5
  }
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);
6
+ async getRedirectByPath(path) {
7
+ await this.populateCache();
8
+ if (!this.redirectsCache) return;
9
+ return this.redirectsCache.get(path);
10
+ }
11
+ async getAllRedirects() {
12
+ await this.populateCache();
13
+ return this.redirectsCache ?? new Map();
14
+ }
15
+ async populateCache() {
16
+ const redirects = await this.apiClient.fetch({
17
+ path: "/wb/redirects",
18
+ cache: "no-cache",
19
+ next: {
20
+ revalidate: 0
21
+ }
22
+ });
23
+ this.redirectsCache = new Map();
24
+ for (const redirect of redirects)this.redirectsCache.set(redirect.from, redirect);
28
25
  }
29
- }
30
26
  }
27
+ export { RedirectsProvider };
31
28
 
32
29
  //# sourceMappingURL=RedirectsProvider.js.map
@@ -1 +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
+ {"version":3,"file":"dataProviders/RedirectsProvider.js","sources":["../../src/dataProviders/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"],"names":["RedirectsProvider","apiClient","undefined","path","Map","redirects","redirect"],"mappings":"AAIO,MAAMA;IAIT,YAAYC,SAAoB,CAAE;aAH1B,cAAc,GAA4CC;QAI9D,IAAI,CAAC,SAAS,GAAGD;IACrB;IAEA,MAAM,kBAAkBE,IAAY,EAAuC;QACvE,MAAM,IAAI,CAAC,aAAa;QAExB,IAAI,CAAC,IAAI,CAAC,cAAc,EACpB;QAGJ,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAACA;IACnC;IAEA,MAAM,kBAAwD;QAC1D,MAAM,IAAI,CAAC,aAAa;QACxB,OAAO,IAAI,CAAC,cAAc,IAAI,IAAIC;IACtC;IAEA,MAAc,gBAAgB;QAC1B,MAAMC,YAA8B,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC3D,MAAM;YACN,OAAO;YACP,MAAM;gBACF,YAAY;YAChB;QACJ;QAEA,IAAI,CAAC,cAAc,GAAG,IAAID;QAC1B,KAAK,MAAME,YAAYD,UACnB,IAAI,CAAC,cAAc,CAAC,GAAG,CAACC,SAAS,IAAI,EAAEA;IAE/C;AACJ"}
@@ -1,25 +1,26 @@
1
- export const defaultBreakpoints = {
2
- desktop: {
3
- title: "Desktop",
4
- description: `Desktop styles apply at all breakpoints, unless they're edited at a lower breakpoint. Start your styling here.`,
5
- 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>`,
6
- minWidth: 0,
7
- maxWidth: 4000
8
- },
9
- tablet: {
10
- title: "Tablet",
11
- description: `Styles added here will apply at 991px and below, unless they're edited at a smaller breakpoint.`,
12
- 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>`,
13
- minWidth: 0,
14
- maxWidth: 991
15
- },
16
- mobile: {
17
- title: "Mobile",
18
- description: `Styles added here will apply at 430px and below.`,
19
- 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>`,
20
- minWidth: 0,
21
- maxWidth: 430
22
- }
1
+ const defaultBreakpoints = {
2
+ desktop: {
3
+ title: "Desktop",
4
+ description: "Desktop styles apply at all breakpoints, unless they're edited at a lower breakpoint. Start your styling here.",
5
+ 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>',
6
+ minWidth: 0,
7
+ maxWidth: 4000
8
+ },
9
+ tablet: {
10
+ title: "Tablet",
11
+ description: "Styles added here will apply at 991px and below, unless they're edited at a smaller breakpoint.",
12
+ 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>',
13
+ minWidth: 0,
14
+ maxWidth: 991
15
+ },
16
+ mobile: {
17
+ title: "Mobile",
18
+ description: "Styles added here will apply at 430px and below.",
19
+ 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>',
20
+ minWidth: 0,
21
+ maxWidth: 430
22
+ }
23
23
  };
24
+ export { defaultBreakpoints };
24
25
 
25
26
  //# sourceMappingURL=defaultBreakpoints.js.map
@@ -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.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
+ {"version":3,"file":"defaultBreakpoints.js","sources":["../src/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"],"names":["defaultBreakpoints"],"mappings":"AAEO,MAAMA,qBAA2E;IACpF,SAAS;QACL,OAAO;QACP,aAAa;QACb,MAAM;QACN,UAAU;QACV,UAAU;IACd;IACA,QAAQ;QACJ,OAAO;QACP,aAAa;QACb,MAAM;QACN,UAAU;QACV,UAAU;IACd;IACA,QAAQ;QACJ,OAAO;QACP,aAAa;QACb,MAAM;QACN,UAAU;QACV,UAAU;IACd;AACJ"}
@@ -1,38 +1,35 @@
1
- export function $addElementReferenceToParent(document, {
2
- elementId,
3
- parentId,
4
- slot,
5
- index
6
- }) {
7
- const bindings = document.bindings[parentId] ?? {};
8
- const inputs = bindings.inputs ?? {};
9
- if (index !== undefined && index < 0) {
10
- // Single value slot
11
- inputs[slot] = {
12
- ...inputs[slot],
13
- type: "slot",
14
- static: elementId
1
+ function $addElementReferenceToParent(document, { elementId, parentId, slot, index }) {
2
+ const bindings = document.bindings[parentId] ?? {};
3
+ const inputs = bindings.inputs ?? {};
4
+ if (void 0 !== index && index < 0) inputs[slot] = {
5
+ ...inputs[slot],
6
+ type: "slot",
7
+ static: elementId
15
8
  };
16
- } else {
17
- const slotElements = inputs[slot];
18
- const existing = slotElements?.static ?? [];
19
- let staticValue;
20
- if (index === undefined) {
21
- staticValue = [...existing, elementId];
22
- } else {
23
- staticValue = [...existing.slice(0, index), elementId, ...existing.slice(index)];
9
+ else {
10
+ const slotElements = inputs[slot];
11
+ const existing = slotElements?.static ?? [];
12
+ let staticValue;
13
+ staticValue = void 0 === index ? [
14
+ ...existing,
15
+ elementId
16
+ ] : [
17
+ ...existing.slice(0, index),
18
+ elementId,
19
+ ...existing.slice(index)
20
+ ];
21
+ inputs[slot] = {
22
+ ...inputs[slot],
23
+ type: "slot",
24
+ list: true,
25
+ static: staticValue
26
+ };
24
27
  }
25
- inputs[slot] = {
26
- ...inputs[slot],
27
- type: "slot",
28
- list: true,
29
- static: staticValue
28
+ document.bindings[parentId] = {
29
+ ...bindings,
30
+ inputs
30
31
  };
31
- }
32
- document.bindings[parentId] = {
33
- ...bindings,
34
- inputs
35
- };
36
32
  }
33
+ export { $addElementReferenceToParent };
37
34
 
38
35
  //# sourceMappingURL=$addElementReferenceToParent.js.map