@sitecore-feaas/clientside 0.1.54 → 0.1.56

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 (91) hide show
  1. package/README.md +20 -20
  2. package/build/components/FEAASComponent.js +1 -1
  3. package/build/components/FEAASComponent.js.map +1 -1
  4. package/build/components/FEAASLoader.js +1 -1
  5. package/build/components/FEAASLoader.js.map +1 -1
  6. package/build/components/FEAASStylesheet.js +1 -1
  7. package/build/components/FEAASStylesheet.js.map +1 -1
  8. package/build/dom/thumbnail.js +247 -0
  9. package/build/dom/thumbnail.js.map +1 -0
  10. package/build/fetch.js +4 -2
  11. package/build/fetch.js.map +1 -1
  12. package/build/headless.js +1 -0
  13. package/build/headless.js.map +1 -1
  14. package/build/ui/FEAASContext.js +8 -3
  15. package/build/ui/FEAASContext.js.map +1 -1
  16. package/build/ui/FEAASEditor.js +5 -5
  17. package/build/ui/FEAASEditor.js.map +1 -1
  18. package/build/ui/FEAASExternal.js +8 -9
  19. package/build/ui/FEAASExternal.js.map +1 -1
  20. package/build/ui/FEAASPicker.js +5 -3
  21. package/build/ui/FEAASPicker.js.map +1 -1
  22. package/build/utils/promise.js.map +1 -1
  23. package/dist/browser/headless.cjs +8 -5
  24. package/dist/browser/headless.cjs.map +4 -4
  25. package/dist/browser/headless.esm.js +8 -5
  26. package/dist/browser/headless.esm.js.map +1 -1
  27. package/dist/browser/index.cjs +8 -5
  28. package/dist/browser/index.cjs.map +4 -4
  29. package/dist/browser/index.esm.js +8 -5
  30. package/dist/browser/index.esm.js.map +1 -1
  31. package/dist/browser/react.cjs +8 -5
  32. package/dist/browser/react.cjs.map +4 -4
  33. package/dist/browser/react.esm.js +8 -5
  34. package/dist/browser/react.esm.js.map +1 -1
  35. package/dist/node/headless.cjs +6 -3
  36. package/dist/node/headless.cjs.map +4 -4
  37. package/dist/node/headless.esm.js +6 -3
  38. package/dist/node/headless.esm.js.map +4 -4
  39. package/dist/node/index.cjs +6 -3
  40. package/dist/node/index.cjs.map +4 -4
  41. package/dist/node/index.esm.js +6 -3
  42. package/dist/node/index.esm.js.map +4 -4
  43. package/dist/node/react.cjs +6 -3
  44. package/dist/node/react.cjs.map +4 -4
  45. package/dist/node/react.esm.js +6 -3
  46. package/dist/node/react.esm.js.map +4 -4
  47. package/headless.cjs +6 -3
  48. package/headless.cjs.map +4 -4
  49. package/headless.js +6 -3
  50. package/headless.js.map +4 -4
  51. package/package.json +2 -1
  52. package/react.cjs +8 -5
  53. package/react.cjs.map +4 -4
  54. package/react.js +8 -5
  55. package/react.js.map +4 -4
  56. package/src/components/FEAASComponent.tsx +1 -1
  57. package/src/components/FEAASLoader.tsx +1 -1
  58. package/src/components/FEAASStylesheet.tsx +1 -1
  59. package/src/dom/thumbnail.ts +293 -0
  60. package/src/fetch.ts +5 -3
  61. package/src/headless.ts +1 -0
  62. package/src/ui/FEAASContext.tsx +9 -3
  63. package/src/ui/FEAASEditor.tsx +5 -5
  64. package/src/ui/FEAASExternal.tsx +7 -8
  65. package/src/ui/FEAASPicker.tsx +7 -2
  66. package/src/utils/promise.ts +2 -2
  67. package/test/FEAASComponent.react.test.tsx +3 -6
  68. package/types/components/FEAASComponent.d.ts +1 -1
  69. package/types/components/FEAASComponent.d.ts.map +1 -1
  70. package/types/components/FEAASLoader.d.ts +1 -1
  71. package/types/components/FEAASLoader.d.ts.map +1 -1
  72. package/types/components/FEAASStylesheet.d.ts +1 -1
  73. package/types/components/FEAASStylesheet.d.ts.map +1 -1
  74. package/types/dom/thumbnail.d.ts +82 -0
  75. package/types/dom/thumbnail.d.ts.map +1 -0
  76. package/types/fetch.d.ts +6 -4
  77. package/types/fetch.d.ts.map +1 -1
  78. package/types/headless.d.ts +1 -0
  79. package/types/headless.d.ts.map +1 -1
  80. package/types/tsbuildinfo +1 -1
  81. package/types/tsbuildinfo_ui +1 -1
  82. package/types/ui/FEAASContext.d.ts +9 -5
  83. package/types/ui/FEAASContext.d.ts.map +1 -1
  84. package/types/ui/FEAASEditor.d.ts +2 -2
  85. package/types/ui/FEAASEditor.d.ts.map +1 -1
  86. package/types/ui/FEAASExternal.d.ts +1 -1
  87. package/types/ui/FEAASExternal.d.ts.map +1 -1
  88. package/types/ui/FEAASPicker.d.ts +2 -2
  89. package/types/ui/FEAASPicker.d.ts.map +1 -1
  90. package/types/utils/promise.d.ts +1 -1
  91. package/types/utils/promise.d.ts.map +1 -1
package/README.md CHANGED
@@ -7,7 +7,7 @@ data.
7
7
 
8
8
  - Renders component content and returns React/DOM element
9
9
  - Populates attributes and text valeus with mapped data
10
- - Repeats nodes mapped to collections
10
+ - Repeats nodes mapped to collections
11
11
  - Updates previously rendered component for new data
12
12
  - Provides both react and javascript revisions of Clientside
13
13
  - (optional) Fetches of component from the cloud
@@ -177,34 +177,34 @@ const options = {
177
177
 
178
178
  Options may contain any of the bellow items:
179
179
 
180
- <b>Name</b></br>
181
- Type: string</br>
182
- Required: no</br>
180
+ **Name**<br/>
181
+ Type: string<br/>
182
+ Required: no<br/>
183
183
  Description: Name of your Component as it will be shown to the user. If not provided, will be function name in title case.
184
184
 
185
- <b>Description</b></br>
186
- Type: string</br>
187
- Required: no</br>
185
+ **Description**<br/>
186
+ Type: string<br/>
187
+ Required: no<br/>
188
188
  Description: Describe your Component and anything a user should know when using it.
189
189
 
190
- <b>Thumbnail</b></br>
191
- Type: url</br>
192
- Required: no</br>
190
+ **Thumbnail**<br/>
191
+ Type: url<br/>
192
+ Required: no<br/>
193
193
  Description: A URL of a thumbnail image to be displayed in the Builder. Should have some dimension guidelines.
194
194
 
195
- <b>Group</b></br>
196
- Type: string</br>
197
- Required: no</br>
195
+ **Group**<br/>
196
+ Type: string<br/>
197
+ Required: no<br/>
198
198
  Description: Used to group related Components together in the UI. E.g. Typography
199
199
 
200
- <b>Properties</b></br>
201
- Type: JSONSchema object</br>
202
- Required: no</br>
200
+ **Properties**<br/>
201
+ Type: JSONSchema object<br/>
202
+ Required: no<br/>
203
203
  Description: Inputs (Props) to be provided by the user when embedding this Component.
204
204
 
205
- <b>Required</b></br>
206
- Type: String Array</br>
207
- Required: no</br>
205
+ **Required**<br/>
206
+ Type: String Array<br/>
207
+ Required: no<br/>
208
208
  Description: Array of keys from Inputs (Props) that should be required
209
209
 
210
- <i>We use React JSONSchema Form to generate a form for the component properties. You can read more about React JSONSchema Form here: <i/> https://react-jsonschema-form.readthedocs.io
210
+ _We use React JSONSchema Form to generate a form for the component properties. You can read more about React JSONSchema Form here:_ https://react-jsonschema-form.readthedocs.io
@@ -2,7 +2,7 @@ import { DEFAULT_CDN_URL, fetchAndRevalidateComponent, parseComponentSource } fr
2
2
  import { renderDOMContent, renderDOMElement } from '../dom/rendering.js';
3
3
  import { loadStylesheetAllowStale } from '../headless.js';
4
4
  import { FEAASBase } from './FEAASBase.js';
5
- export function FEAASComponentsProps(element = this) {
5
+ export function FEAASComponentsProps(element) {
6
6
  var _a, _b, _c, _d, _e, _f, _g, _h;
7
7
  let data;
8
8
  const src = element.getAttribute('src');
@@ -1 +1 @@
1
- {"version":3,"file":"FEAASComponent.js","sourceRoot":"","sources":["../../src/components/FEAASComponent.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FEAASComponent.js","sourceRoot":"","sources":["../../src/components/FEAASComponent.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { FEAASBase } from './FEAASBase.js';
2
- export function FEAASLoaderProps(element = this) {
2
+ export function FEAASLoaderProps(element) {
3
3
  return {
4
4
  opacity: (element === null || element === void 0 ? void 0 : element.getAttribute('opacity')) ? parseFloat(element === null || element === void 0 ? void 0 : element.getAttribute('opacity')) : 1,
5
5
  hidden: (element === null || element === void 0 ? void 0 : element.getAttribute('hidden')) != null
@@ -1 +1 @@
1
- {"version":3,"file":"FEAASLoader.js","sourceRoot":"","sources":["../../src/components/FEAASLoader.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FEAASLoader.js","sourceRoot":"","sources":["../../src/components/FEAASLoader.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { DEFAULT_CDN_URL, parseStylesheetSource } from '../cdn.js';
2
2
  import { loadStylesheet } from '../dom/stylesheet.js';
3
3
  import { FEAASBase } from './FEAASBase.js';
4
- export function FEAASStylesheetProps(element = this) {
4
+ export function FEAASStylesheetProps(element) {
5
5
  var _a, _b, _c, _d;
6
6
  const src = element.getAttribute('src');
7
7
  if (src) {
@@ -1 +1 @@
1
- {"version":3,"file":"FEAASStylesheet.js","sourceRoot":"","sources":["../../src/components/FEAASStylesheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA4B,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAC5F,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,UAAU,oBAAoB,CAAC,UAAqB,IAAI;;IAC5D,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IACvC,IAAI,GAAG,EAAE;QACP,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAA;KAC5D;IACD,OAAO;QACL,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,CAAC,SAAS,CAAC;QAChD,QAAQ,EAAE,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,UAAU,CAAC,mCAAI,QAAQ,mCAAI,WAAW;QACtE,GAAG,EAAE,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,CAAC,KAAK,CAAC,mCAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,CAAC,UAAU,CAAC,mCAAI,eAAe;KAC5E,CAAA;AAC/B,CAAC;AAGD,MAAM,OAAO,eAAgB,SAAQ,SAAuC;IAA5E;;QASE,WAAM,GAAG,CAAC,IAAY,EAAE,EAAE;YACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;YACnB,IAAI,CAAC,OAAO,EAAE,CAAA;QAChB,CAAC,CAAA;IAKH,CAAC;IAhBC,QAAQ;QACN,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAA;IAC5F,CAAC;IAOD,IAAI;QACF,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAChD,CAAC;CACF;AASD,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;AAC5C,OAAO,EAAE,eAAe,IAAI,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"FEAASStylesheet.js","sourceRoot":"","sources":["../../src/components/FEAASStylesheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA4B,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAC5F,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,UAAU,oBAAoB,CAAC,OAAkB;;IACrD,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IACvC,IAAI,GAAG,EAAE;QACP,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAA;KAC5D;IACD,OAAO;QACL,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,CAAC,SAAS,CAAC;QAChD,QAAQ,EAAE,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,UAAU,CAAC,mCAAI,QAAQ,mCAAI,WAAW;QACtE,GAAG,EAAE,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,CAAC,KAAK,CAAC,mCAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,CAAC,UAAU,CAAC,mCAAI,eAAe;KAC5E,CAAA;AAC/B,CAAC;AAGD,MAAM,OAAO,eAAgB,SAAQ,SAAuC;IAA5E;;QASE,WAAM,GAAG,CAAC,IAAY,EAAE,EAAE;YACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;YACnB,IAAI,CAAC,OAAO,EAAE,CAAA;QAChB,CAAC,CAAA;IAKH,CAAC;IAhBC,QAAQ;QACN,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAA;IAC5F,CAAC;IAOD,IAAI;QACF,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAChD,CAAC;CACF;AASD,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;AAC5C,OAAO,EAAE,eAAe,IAAI,UAAU,EAAE,CAAA"}
@@ -0,0 +1,247 @@
1
+ import { fetchAndRevalidate } from '../fetch.js';
2
+ import { renderComponent } from './component.js';
3
+ export const convertBase64toBlob = (base64) => fetch(base64).then((res) => res.blob());
4
+ /** Parse fetch response as blob and turn it into HTMLImageElement off thread */
5
+ export const responseToImage = (response) => response.blob().then((blob) => {
6
+ return new Promise((resolve, reject) => {
7
+ const img = new Image();
8
+ img.onerror = reject;
9
+ img.onload = () => {
10
+ resolve(img);
11
+ };
12
+ img.src = URL.createObjectURL(blob);
13
+ });
14
+ });
15
+ /**
16
+ * Retrieves the version of a given component that best fits a specific display width.
17
+ *
18
+ * The function ensures that the version data for the component is available and selects the one that is most suitable
19
+ * for a display width of 800 pixels.
20
+ *
21
+ * @param {ComponentModel} component - The component for which the version needs to be obtained.
22
+ * @returns {Promise<VersionModel>} - A promise that resolves to the most suitable version for a display width of 800
23
+ * pixels.
24
+ */
25
+ export async function getVersionForThumbnail(component) {
26
+ if (!component.versions.length)
27
+ await component.versions.fetch();
28
+ return component.getVersionForWidth(800);
29
+ }
30
+ /**
31
+ * Ensures an up-to-date thumbnail for a specific component and version.
32
+ *
33
+ * This operation initiates thumbnail load and, if that fails or if file is out of date, a new thumbnail is generated.
34
+ * It can work with a callback, which is designed to potentially fire twice for enhancing user experience. This dual
35
+ * firing allows for an immediate display of a possibly stale cached image while downloading or generating new version
36
+ * in the background.
37
+ *
38
+ * 1. The first call can happen with the stale cached or outdated image.
39
+ * 2. The second call occurs with the up-to-date loaded or freshly generated generated image.
40
+ *
41
+ * @param {ComponentModel} component - Relevant component.
42
+ * @param {VersionModel} [version] - Relevant version (optional, falls back to responsive).
43
+ * @param {Callback} [callback] - Callback to handle the loaded or generated image (optional).
44
+ * @returns {Promise<HTMLImageElement | null>} - The final thumbnail image (either loaded or freshly generated).
45
+ */
46
+ export async function get(component, version, callback) {
47
+ try {
48
+ if (!component.isNew) {
49
+ return await load(component, version, callback);
50
+ }
51
+ }
52
+ catch (e) {
53
+ component.sdk.log(`FEAAS: Thumbnail ${component.id}, version: ${(version === null || version === void 0 ? void 0 : version.id) || 'responsive'}, status: generating ${status}, reason: ${e}`);
54
+ }
55
+ // generate the image
56
+ const img = await generate(component, version);
57
+ callback === null || callback === void 0 ? void 0 : callback(img, false);
58
+ // upload base64 image as blob off-thread
59
+ if (img && !component.isNew) {
60
+ convertBase64toBlob(img.src).then((blob) => upload(component, version, blob));
61
+ }
62
+ return img;
63
+ }
64
+ /**
65
+ * Retrieves the thumbnail image for a given component/version combination, with a responsive default if version is not
66
+ * provided.
67
+ *
68
+ * The resulting HTML <img> element will have `width`, `height`, and `src` properties ready for use. Although it can
69
+ * operate as a regular promise that resolves when the thumbnail is loaded, it also supports a callback for an enhanced
70
+ * user experience. This callback may be invoked twice, depending on the state of the cache:
71
+ *
72
+ * 1. The first call occurs if the image was previously cached by the browser, but the cache is stale.
73
+ * 2. The second call happens when the image is updated from a fresh download. By this design, the user gets to see a
74
+ * cached image immediately while the updated image is being downloaded in the background.
75
+ *
76
+ * If the version of a component is known to be newer than remote file, the function will throw `InvalidResponse` error.
77
+ * As a way to handle that error, the `generate` function may be used to produce new thumbnail (@see render).
78
+ *
79
+ * @param {ComponentModel} component - The component to load a thumbnail for.
80
+ * @param {VersionModel} [version] - The version of the component to load a thumbnail for. If not provided, a version
81
+ * suitable for a responsive component is selected.
82
+ * @param {Callback} [callback] - A callback to handle the loaded image. This callback may be invoked twice for the
83
+ * reasons described above.
84
+ * @returns {Promise<HTMLImageElement>} - The thumbnail image for the component/version combination.
85
+ */
86
+ export async function load(component, version, callback) {
87
+ const url = version ? version.getThumbnailURL() : component.getThumbnailURL();
88
+ const stylesheet = component.library.stylesheet;
89
+ const lastModifiedDate = new Date(Math.max(Number(component.modifiedAt), Number(stylesheet.modifiedAt)));
90
+ component.sdk.log(`FEAAS: Thumbnail ${component.id}/${(version === null || version === void 0 ? void 0 : version.id) || 'responsive'}, loading`);
91
+ // Otherwise use a logic that will invoke callback for cached request and then try to revalidate it
92
+ var img;
93
+ await fetchAndRevalidate(url, {}, (response, isCached) => {
94
+ // <2 second difference is not considered outdated
95
+ // If thumbnail is detected as outdated it will throw error and promise will be rejected
96
+ const isUpToDate = Math.abs(Number(new Date(response.headers.get('x-ms-meta-componentRenderedAt'))) - Number(lastModifiedDate)) <
97
+ 2000;
98
+ if (isCached && !isUpToDate) {
99
+ responseToImage(response).then((image) => {
100
+ img = image;
101
+ callback(image, isCached);
102
+ });
103
+ }
104
+ return isUpToDate;
105
+ }, (response, state, isCached) => {
106
+ component.sdk.log(`FEAAS: Thumbnail ${component.id}/${(version === null || version === void 0 ? void 0 : version.id) || 'responsive'}, status: ${state}`);
107
+ responseToImage(response).then((image) => {
108
+ img = image;
109
+ callback(image, isCached);
110
+ });
111
+ }, null);
112
+ return img;
113
+ }
114
+ /**
115
+ * Creates a thumbnail image for a given component and version.
116
+ *
117
+ * First, it determines the appropriate version to use. If not provided, it attempts to fetch one suitable for
118
+ * thumbnail. It then leverages `render` to generate an image with provided parameters and finally, if the component
119
+ * isn't new, uploads the generated as a Blob onto cdn for future retrieval.
120
+ *
121
+ * @param {ComponentModel} component - Component instance.
122
+ * @param {VersionModel} [version] - Version instance.
123
+ * @returns {Promise<HTMLImageElement | null>} Thumbnail image or null if generation isn't possible.
124
+ */
125
+ export async function generate(component, version) {
126
+ const sourceVersion = version || (component.isNew ? null : await getVersionForThumbnail(component));
127
+ if (!sourceVersion || sourceVersion.isViewEmpty()) {
128
+ return null;
129
+ }
130
+ const { stylesheet, datasources } = component.library;
131
+ const img = await render(sourceVersion.classList, stylesheet.getBreakpointForWidth(800, sourceVersion.getBreakpoints()), sourceVersion.view, datasources.reduce((object, datasource) => {
132
+ return Object.assign(object, { [datasource.id]: datasource.sample });
133
+ }, {}), stylesheet.css, component.sdk);
134
+ return img;
135
+ }
136
+ /**
137
+ * Transforms a specific component version into an image.
138
+ *
139
+ * Generates an isolated environment (iframe) to render the component with supplied parameters. 'html2canvas.js' is then
140
+ * injected into the iframe to capture the rendered component as an image. The image is created respecting the provided
141
+ * design breakpoint, ensuring an accurate visual representation.
142
+ *
143
+ * @param {string[]} classList - Array of class names applied to the rendered component.
144
+ * @param {Style.Rule<'breakpoint'>} breakpoint - Breakpoint style rule that dictates the viewport dimensions for
145
+ * rendering.
146
+ * @param {string} template - String template of the component to render.
147
+ * @param {any} data - Data object to be used when rendering the component.
148
+ * @param {string} cssText - CSS rules to be applied during component rendering.
149
+ * @param {EnvironmentVariables} env - Environment variables used to set frontend and backend endpoint URLs.
150
+ * @returns {Promise<BasicImage>} - Promise that resolves to an object containing the src, width, and height of the
151
+ * created image.
152
+ */
153
+ function render(classList, breakpoint, template, data, cssText, sdk) {
154
+ const iframe = document.createElement('iframe');
155
+ iframe.style.position = 'absolute';
156
+ iframe.style.top = '-2000px';
157
+ iframe.style.left = '-2000px';
158
+ iframe.style.width = breakpoint.props.minWidth + 'px';
159
+ iframe.style.height = '720px';
160
+ iframe.style.zIndex = '100011';
161
+ document.body.appendChild(iframe);
162
+ return new Promise((resolve, reject) => {
163
+ const script = document.createElement('script');
164
+ script.onerror = reject;
165
+ script.src = sdk.frontend + '/assets/html2canvas.js';
166
+ script.onload = () => {
167
+ var _a;
168
+ ;
169
+ (((_a = iframe.contentWindow.document.fonts) === null || _a === void 0 ? void 0 : _a.ready) || Promise.resolve()).then(function () {
170
+ return (iframe.contentWindow
171
+ //@ts-ignore
172
+ .html2canvas(root, {
173
+ // 1.1 scale is to remove shadows that are drawn incorrectly
174
+ scale: Math.max(1.1, 1000 / Math.min(1401, Math.max(320, breakpoint.props.minWidth))),
175
+ width: Math.min(1401, Math.max(320, breakpoint.props.minWidth)),
176
+ height: Math.max(1, Math.min(2000, root.offsetHeight)),
177
+ windowWidth: breakpoint.props.minWidth + 'px',
178
+ windowHeight: 1000,
179
+ proxy: sdk.backend + '/proxy/media',
180
+ backgroundColor: '#ffffff'
181
+ })
182
+ .then((canvas) => {
183
+ const src = canvas.toDataURL('image/jpeg', 0.6);
184
+ iframe.parentElement.removeChild(iframe);
185
+ const img = new Image();
186
+ img.onload = () => {
187
+ resolve(img);
188
+ };
189
+ img.onerror = reject;
190
+ img.src = src;
191
+ }));
192
+ });
193
+ };
194
+ iframe.contentWindow.document.head.appendChild(script);
195
+ const stylesheet = iframe.contentWindow.document.createElement('style');
196
+ stylesheet.textContent = `
197
+ ${cssText}
198
+ body, html { padding: 0; margin: 0; overflow: hidden }
199
+ `;
200
+ iframe.contentWindow.document.head.appendChild(stylesheet);
201
+ const root = renderComponent({ template, data });
202
+ root.classList.add(...classList, '-feaas--preview', '-emulate--' + breakpoint.details.slug);
203
+ iframe.contentWindow.document.body.appendChild(root);
204
+ });
205
+ }
206
+ /**
207
+ * Uploads a thumbnail Blob to a CDN, enabling it for future retrieval.
208
+ *
209
+ * It constructs a URL based on component and version information, if available. The thumbnail's blob is uploaded with
210
+ * several metadata points, including identifiers and timestamps. Upon successful upload, it sends a no-cache fetch
211
+ * request to the constructed URL to bust the cache.
212
+ *
213
+ * @param {ComponentModel} component - Component instance.
214
+ * @param {VersionModel} version - Version instance.
215
+ * @param {Blob} blob - Blob instance to upload.
216
+ * @returns {Promise<string>} URL of the uploaded Blob.
217
+ */
218
+ export async function upload(component, version, blob) {
219
+ const url = version ? version.getThumbnailURL() : component.getThumbnailURL();
220
+ const lastModifiedDate = new Date(Math.max(Number(component.modifiedAt), Number(component.library.stylesheet.modifiedAt)));
221
+ try {
222
+ await component.sdk.uploadBlob('thumbnails', url.split(/\/thumbnails\//)[1], blob, {
223
+ headers: {
224
+ 'x-ms-blob-content-type': 'image/jpg',
225
+ 'x-ms-blob-cache-control': 'public,max-age=31536000,immutable',
226
+ 'x-ms-meta-versionId': version ? version.id : null,
227
+ 'x-ms-meta-versionRevision': version ? version.revision.toString() : null,
228
+ 'x-ms-meta-componentId': component.id,
229
+ 'x-ms-meta-componentRenderedAt': lastModifiedDate.toUTCString(),
230
+ 'x-ms-meta-componentModifiedAt': component.modifiedAt.toUTCString(),
231
+ 'x-ms-meta-componentCreatedAt': component.createdAt.toUTCString(),
232
+ 'x-ms-meta-modifiedAt': component.modifiedAt.toUTCString()
233
+ }
234
+ });
235
+ // bust thumbnail cache for the future, off-thread
236
+ fetch(url, {
237
+ cache: 'no-cache'
238
+ }).then(() => {
239
+ component.sdk.log('FEAAS: Thumbnail uploaded', url);
240
+ });
241
+ }
242
+ catch (e) {
243
+ component.sdk.log('FEAAS: Thumbnail failed to upload', url, e);
244
+ }
245
+ return url;
246
+ }
247
+ //# sourceMappingURL=thumbnail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thumbnail.js","sourceRoot":"","sources":["../../src/dom/thumbnail.ts"],"names":[],"mappings":"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"}
package/build/fetch.js CHANGED
@@ -36,6 +36,8 @@ export function getFetchCache(url, dontCreate = false) {
36
36
  }
37
37
  return cache;
38
38
  }
39
+ export class InvalidResponse extends Error {
40
+ }
39
41
  export async function fetchWithCacheAwareness({ url, options, validator, callback, cache }, phase = 'initial') {
40
42
  const date = new Date();
41
43
  if (cache != null) {
@@ -58,11 +60,11 @@ export async function fetchWithCacheAwareness({ url, options, validator, callbac
58
60
  }
59
61
  if (!response.ok)
60
62
  throw new Error('Fetch failed');
61
- if ((validator === null || validator === void 0 ? void 0 : validator(response)) === false)
62
- throw new Error('Response is not valid');
63
63
  // see if response was pulled from cache
64
64
  const isCached = new Date(response.headers.get('date')) < date ||
65
65
  (promise && phase == 'initial' && (cachedRequest.phase == 'updated' || cachedRequest.phase == 'check'));
66
+ if ((validator === null || validator === void 0 ? void 0 : validator(response, isCached)) === false)
67
+ throw new InvalidResponse('Response is not valid');
66
68
  await (callback === null || callback === void 0 ? void 0 : callback(response, phase, isCached));
67
69
  return {
68
70
  url,
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"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"}
package/build/headless.js CHANGED
@@ -17,6 +17,7 @@ export * from './components/FEAASComponent.js';
17
17
  export * from './components/FEAASLoader.js';
18
18
  export * from './components/FEAASStylesheet.js';
19
19
  export * from './utils/datapath.js';
20
+ export * as Thumbnail from './dom/thumbnail.js';
20
21
  if (typeof window != 'undefined') {
21
22
  window.FEAASElement = FEAASElement;
22
23
  (_a = window.FEAASLoading) !== null && _a !== void 0 ? _a : (window.FEAASLoading = Promise.resolve());
@@ -1 +1 @@
1
- {"version":3,"file":"headless.js","sourceRoot":"","sources":["../src/headless.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,YAAY,MAAM,8BAA8B,CAAA;AAEvD,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,2BAA2B,CAAA;AACzC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,qBAAqB,CAAA;AASnC,IAAI,OAAO,MAAM,IAAI,WAAW,EAAE;IAChC,MAAM,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,MAAA,MAAM,CAAC,YAAY,oCAAnB,MAAM,CAAC,YAAY,GAAK,OAAO,CAAC,OAAO,EAAE,EAAA;CAC1C"}
1
+ {"version":3,"file":"headless.js","sourceRoot":"","sources":["../src/headless.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,YAAY,MAAM,8BAA8B,CAAA;AAEvD,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,2BAA2B,CAAA;AACzC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,qBAAqB,CAAA;AACnC,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAA;AAS/C,IAAI,OAAO,MAAM,IAAI,WAAW,EAAE;IAChC,MAAM,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,MAAA,MAAM,CAAC,YAAY,oCAAnB,MAAM,CAAC,YAAY,GAAK,OAAO,CAAC,OAAO,EAAE,EAAA;CAC1C"}
@@ -1,5 +1,6 @@
1
1
  import { FEAASBase } from '../components/FEAASBase.js';
2
- export function FEAASContextProps(element = this) {
2
+ import { ControlledPromise } from '../utils/promise.js';
3
+ export function FEAASContextProps(element) {
3
4
  var _a, _b, _c, _d;
4
5
  return {
5
6
  library: element === null || element === void 0 ? void 0 : element.getAttribute('library'),
@@ -21,11 +22,15 @@ class FEAASContext extends FEAASBase {
21
22
  this.defaultProps = {
22
23
  isolate: true
23
24
  };
24
- this.onStatusChange = (status) => {
25
+ this.onStatusChange = (status, sdk) => {
25
26
  if (status == 'ready') {
26
- this.dispatchEvent(new Event('feaasReady', { bubbles: true, composed: true }));
27
+ this.whenSDKReady.resolve(sdk);
28
+ this.dispatchEvent(new CustomEvent('feaasReady', { bubbles: true, composed: true, detail: sdk }));
27
29
  }
28
30
  };
31
+ this.whenSDKReady = ControlledPromise((sdk) => {
32
+ this.sdk = sdk;
33
+ });
29
34
  }
30
35
  getProps() {
31
36
  return FEAASContextProps(this);
@@ -1 +1 @@
1
- {"version":3,"file":"FEAASContext.js","sourceRoot":"","sources":["../../src/ui/FEAASContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FEAASContext.js","sourceRoot":"","sources":["../../src/ui/FEAASContext.tsx"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ export function getFramePosition(element) {
31
31
  };
32
32
  }, { left: 0, top: 0 });
33
33
  }
34
- export function FEAASEditorProps(element = this) {
34
+ export function FEAASEditorProps(element) {
35
35
  var _a;
36
36
  return {
37
37
  context: HTMLElement,
@@ -363,15 +363,15 @@ class FEAASEditor extends FEAASBase {
363
363
  });
364
364
  this.setAttribute('state', 'ready');
365
365
  }
366
- render({ children, component: componentId, version: versionId, instance: instanceId }, { Editor, VersionStatusList, VersionStatusButton, Version, VersionMenu, EditorUIUndo, EditorUIMode, React: { useEffect, useMemo, useState, useContext }, Chakra: { HStack, Box, Button, MenuItem }, Chrome, ReactDOM, useSDK, useSlots, useModelObserver, ConfirmationContext, VersionContext }) {
366
+ render({ children, component: componentId, version: versionId, instance: instanceId }, { Editor, VersionStatusList, VersionStatusButton, Version, VersionMenu, EditorUIUndo, EditorUIMode, React: { useEffect, useMemo, useState, useContext }, Chakra: { HStack, Box, Button, MenuItem }, Chrome, ReactDOM, useSDK, useLibrary, useSlots, useModelObserver, ConfirmationContext, VersionContext }) {
367
367
  if (!this.payload)
368
368
  return;
369
369
  const { React } = this.payload;
370
- const { sdk } = useSDK();
370
+ const sdk = useSDK();
371
+ const library = useLibrary();
371
372
  const [component, setComponent] = useState();
372
373
  const { setConfirm } = useContext(ConfirmationContext);
373
374
  const usedId = instanceId || versionId;
374
- const library = sdk.library;
375
375
  if (component)
376
376
  this.component = component;
377
377
  useEffect(() => {
@@ -504,7 +504,7 @@ class FEAASEditor extends FEAASBase {
504
504
  : null;
505
505
  } },
506
506
  React.createElement(Box, { className: 'editor-wrapper', position: 'absolute', left: 0, top: 0 },
507
- React.createElement(Editor, { datasources: sdk.datasources, sdk: sdk, library: sdk.library, component: component, versions: versions, context: {
507
+ React.createElement(Editor, { datasources: sdk.datasources, sdk: sdk, library: library, component: component, versions: versions, context: {
508
508
  isAutosaveEnabled: false,
509
509
  onChromeMeasure: this.onMeasure,
510
510
  onChromeBeforeMeasure: this.onBeforeMeasure,