@sitecore-feaas/clientside 0.2.0 → 0.2.2

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 (120) hide show
  1. package/README.md +56 -36
  2. package/build/components/FEAASComponent.js +71 -11
  3. package/build/components/FEAASComponent.js.map +1 -1
  4. package/build/components/FEAASElement.js +411 -37
  5. package/build/components/FEAASElement.js.map +1 -1
  6. package/build/components/FEAASLoader.js +2 -2
  7. package/build/components/FEAASLoader.js.map +1 -1
  8. package/build/components/FEAASReactElement.js +47 -0
  9. package/build/components/FEAASReactElement.js.map +1 -0
  10. package/build/components/FEAASStylesheet.js +2 -2
  11. package/build/components/FEAASStylesheet.js.map +1 -1
  12. package/build/headless.js +4 -3
  13. package/build/headless.js.map +1 -1
  14. package/build/ui/FEAAS.js +5 -0
  15. package/build/ui/FEAAS.js.map +1 -0
  16. package/build/ui/FEAASContext.js +20 -8
  17. package/build/ui/FEAASContext.js.map +1 -1
  18. package/build/ui/FEAASEditor.js +2 -2
  19. package/build/ui/FEAASEditor.js.map +1 -1
  20. package/build/ui/FEAASExternal.js +128 -24
  21. package/build/ui/FEAASExternal.js.map +1 -1
  22. package/build/ui/FEAASPicker.js +7 -2
  23. package/build/ui/FEAASPicker.js.map +1 -1
  24. package/build/ui/index.js +3 -4
  25. package/build/ui/index.js.map +1 -1
  26. package/build/ui/react.js.map +1 -1
  27. package/build/utils/fetch.js +26 -0
  28. package/build/utils/fetch.js.map +1 -0
  29. package/dist/browser/headless.cjs +6 -6
  30. package/dist/browser/headless.cjs.map +4 -4
  31. package/dist/browser/headless.esm.js +6 -6
  32. package/dist/browser/headless.esm.js.map +1 -1
  33. package/dist/browser/index.cjs +7 -7
  34. package/dist/browser/index.cjs.map +4 -4
  35. package/dist/browser/index.esm.js +7 -7
  36. package/dist/browser/index.esm.js.map +1 -1
  37. package/dist/browser/react.cjs +6 -6
  38. package/dist/browser/react.cjs.map +4 -4
  39. package/dist/browser/react.esm.js +6 -6
  40. package/dist/browser/react.esm.js.map +1 -1
  41. package/dist/node/headless.cjs +4 -4
  42. package/dist/node/headless.cjs.map +4 -4
  43. package/dist/node/headless.esm.js +4 -4
  44. package/dist/node/headless.esm.js.map +4 -4
  45. package/dist/node/index.cjs +4 -4
  46. package/dist/node/index.cjs.map +4 -4
  47. package/dist/node/index.esm.js +4 -4
  48. package/dist/node/index.esm.js.map +4 -4
  49. package/dist/node/react.cjs +4 -4
  50. package/dist/node/react.cjs.map +4 -4
  51. package/dist/node/react.esm.js +4 -4
  52. package/dist/node/react.esm.js.map +4 -4
  53. package/headless.cjs +4 -4
  54. package/headless.cjs.map +4 -4
  55. package/headless.js +4 -4
  56. package/headless.js.map +4 -4
  57. package/package.json +11 -3
  58. package/react.cjs +6 -6
  59. package/react.cjs.map +4 -4
  60. package/react.js +6 -6
  61. package/react.js.map +4 -4
  62. package/scripts/build.js +1 -1
  63. package/scripts/test-setup.ts +1 -0
  64. package/src/components/FEAASComponent.tsx +96 -12
  65. package/src/components/FEAASElement.tsx +479 -41
  66. package/src/components/FEAASLoader.tsx +2 -2
  67. package/src/components/FEAASReactElement.tsx +61 -0
  68. package/src/components/FEAASStylesheet.tsx +3 -3
  69. package/src/headless.ts +5 -4
  70. package/src/ui/FEAAS.tsx +4 -0
  71. package/src/ui/FEAASContext.tsx +25 -7
  72. package/src/ui/FEAASEditor.tsx +7 -7
  73. package/src/ui/FEAASExternal.tsx +134 -24
  74. package/src/ui/FEAASPicker.tsx +9 -5
  75. package/src/ui/index.ts +4 -4
  76. package/src/ui/react.tsx +5 -0
  77. package/src/ui/tsconfig.json +1 -1
  78. package/src/utils/fetch.ts +44 -0
  79. package/test/FEAASBase.test.tsx +2 -2
  80. package/test/FEAASComponent.test.tsx +4 -1
  81. package/test/FEAASComponent2.test.tsx +215 -0
  82. package/test/FEAASContext.test.tsx +206 -29
  83. package/test/FEAASExternal.test.tsx +1 -8
  84. package/test/FEAASPicker.test.tsx +4 -2
  85. package/test/fetch-data.ts +55 -0
  86. package/types/components/FEAASComponent.d.ts +33 -3
  87. package/types/components/FEAASComponent.d.ts.map +1 -1
  88. package/types/components/FEAASElement.d.ts +299 -22
  89. package/types/components/FEAASElement.d.ts.map +1 -1
  90. package/types/components/FEAASLoader.d.ts +2 -2
  91. package/types/components/FEAASLoader.d.ts.map +1 -1
  92. package/types/components/FEAASReactElement.d.ts +30 -0
  93. package/types/components/FEAASReactElement.d.ts.map +1 -0
  94. package/types/components/FEAASStylesheet.d.ts +3 -3
  95. package/types/components/FEAASStylesheet.d.ts.map +1 -1
  96. package/types/headless.d.ts +4 -3
  97. package/types/headless.d.ts.map +1 -1
  98. package/types/tsbuildinfo +1 -1
  99. package/types/ui/FEAAS.d.ts +5 -0
  100. package/types/ui/FEAAS.d.ts.map +1 -0
  101. package/types/ui/FEAASContext.d.ts +16 -7
  102. package/types/ui/FEAASContext.d.ts.map +1 -1
  103. package/types/ui/FEAASEditor.d.ts +6 -6
  104. package/types/ui/FEAASEditor.d.ts.map +1 -1
  105. package/types/ui/FEAASExternal.d.ts +59 -10
  106. package/types/ui/FEAASExternal.d.ts.map +1 -1
  107. package/types/ui/FEAASPicker.d.ts +11 -9
  108. package/types/ui/FEAASPicker.d.ts.map +1 -1
  109. package/types/ui/index.d.ts +1 -4
  110. package/types/ui/index.d.ts.map +1 -1
  111. package/types/ui/react.d.ts.map +1 -1
  112. package/types/ui/tsbuildinfo +1 -0
  113. package/types/utils/fetch.d.ts +9 -0
  114. package/types/utils/fetch.d.ts.map +1 -0
  115. package/build/components/FEAASBase.js +0 -416
  116. package/build/components/FEAASBase.js.map +0 -1
  117. package/src/components/FEAASBase.tsx +0 -485
  118. package/types/components/FEAASBase.d.ts +0 -299
  119. package/types/components/FEAASBase.d.ts.map +0 -1
  120. package/types/tsbuildinfo_ui +0 -1
package/README.md CHANGED
@@ -33,7 +33,7 @@ return (
33
33
  ### Web component
34
34
 
35
35
  ```javascript
36
- import * as FEAAS '@sitecore-feaas/clientside';
36
+ import * as FEAAS from '@sitecore-feaas/clientside';
37
37
 
38
38
  // provide html template directly
39
39
  <feaas-component template={`<p>Hello <var data-path="user.name" /></p>`} data={JSON.stringify({user: {name: "John"}})} />
@@ -168,9 +168,8 @@ import * as FEAAS from '@sitecore-feaas/clientside/react'
168
168
  registerComponent(component, options)
169
169
  ```
170
170
 
171
- `component` is the actual react component, `options` (optional) is a JSON Schema representation of your component
172
- options containing the components props and other options. If not provided, the component will be registered as a
173
- prop-less component. An example of `schema` is provided below:
171
+ `component` is the actual react component, `options` is a JSON Schema representation of your component
172
+ options containing the components props and other options. An example of `schema` is provided below:
174
173
 
175
174
  ```typescript
176
175
  const options = {
@@ -193,6 +192,24 @@ const options = {
193
192
  type: 'string',
194
193
  title: 'Telephone',
195
194
  minLength: 10
195
+ },
196
+ bold: {
197
+ type: 'boolean',
198
+ title: 'Show text in bold weight'
199
+ }
200
+ },
201
+ ui: {
202
+ firstName: {
203
+ 'ui:autofocus': true,
204
+ 'ui:placeholder': 'Write your first name'
205
+ },
206
+ telephone: {
207
+ 'ui:options': {
208
+ inputType: 'tel'
209
+ }
210
+ },
211
+ bold: {
212
+ 'ui:widget': 'radio'
196
213
  }
197
214
  }
198
215
  }
@@ -200,7 +217,7 @@ const options = {
200
217
 
201
218
  Options may contain any of the bellow items:
202
219
 
203
- **Name**<br/> Type: string<br/> Required: no<br/> Description: Name of your Component as it will be shown to the user.
220
+ **Name**<br/> Type: string<br/> Required: yes<br/> Description: Name of your Component as it will be shown to the user.
204
221
  If not provided, will be function name in title case.
205
222
 
206
223
  **Description**<br/> Type: string<br/> Required: no<br/> Description: Describe your Component and anything a user should
@@ -218,6 +235,9 @@ user when embedding this Component.
218
235
  **Required**<br/> Type: String Array<br/> Required: no<br/> Description: Array of keys from Inputs (Props) that should
219
236
  be required
220
237
 
238
+ **UI**<br/> Type: JSONSchema object<br/> Required: no<br/> Description: Any UI specific configuration for the inputs
239
+ form rendering in the builder
240
+
221
241
  _We use React JSONSchema Form to generate a form for the component properties. You can read more about React JSONSchema
222
242
  Form here:_ https://react-jsonschema-form.readthedocs.io
223
243
 
@@ -393,27 +413,30 @@ It is possible to use the styles as a part of BYOC component as well.
393
413
  Each element type like button, card, section has a dedicated class making it recieve the style. Designers can create
394
414
  their own element types, but some are built in. FEAAS class name starts with dash.
395
415
 
396
- - Text elements:
397
- - `-paragraph` or `<p>`
398
- - `-heading1` or `<h1>`
399
- - `-heading2` or `<h2>`
400
- - `-heading3` or `<h3>`
401
- - `-heading4` or `<h4>`
402
- - `-heading5` or `<h5>`
403
- - `-heading6` or `<h6>`
404
- - Block elements:
405
-
406
- - `-card`
407
- - `-section` or `<section>`
408
- - `-blockquote` or `<blockquote>`
409
- - `-block--media`
410
- - `-block--my-custom-type` - custom block type
411
-
412
- - Inline elements:
413
- - `-button` or `<button>`
414
- - `-link` or `<a>`
415
- - `-inline--badge`
416
- - `-inline--my-custom-type` - custom inline type
416
+ ### Text elements
417
+
418
+ - `-paragraph` or `<p>`
419
+ - `-heading1` or `<h1>`
420
+ - `-heading2` or `<h2>`
421
+ - `-heading3` or `<h3>`
422
+ - `-heading4` or `<h4>`
423
+ - `-heading5` or `<h5>`
424
+ - `-heading6` or `<h6>`
425
+
426
+ ###Block elements
427
+
428
+ - `-card`
429
+ - `-section` or `<section>`
430
+ - `-blockquote` or `<blockquote>`
431
+ - `-block--media`
432
+ - `-block--my-custom-type` - custom block type
433
+
434
+ ### Inline elements
435
+
436
+ - `-button` or `<button>`
437
+ - `-link` or `<a>`
438
+ - `-inline--badge`
439
+ - `-inline--my-custom-type` - custom inline type
417
440
 
418
441
  Applying the above classes inside an container with `-feaas -theme--name` classes will apply default theme styles for
419
442
  each. It is possible to use specific element styles defined in style guides overriding theme defaults with extra
@@ -436,14 +459,11 @@ of the badge
436
459
  </button>
437
460
 
438
461
  <!--
439
- "Primary" button with "instance" style created in builder.
440
- Style is bundled inline as a part of the html output.
441
- User can choose to start with reusable rule and "customize it".
442
- In that case the instance style is linked with the original.
443
- Removing the className belonging to instance style clears
444
- up the instance style from the document. In this case, only t
445
- he *typography* rule of the button was altered, so others
446
- (like spacing or decoration) still retain the link to shared styles.
462
+ "Primary" button with "instance" style created in builder. Style is bundled inline as a part of the html output.
463
+ User can choose to start with reusable rule and "customize it". In that case the instance style is linked with
464
+ the original. Removing the className belonging to instance style clears up the instance style from the document.
465
+ In this case, only the *typography* rule of the button was altered, so others (like spacing or decoration) still
466
+ retain the link to shared styles.
447
467
  -->
448
468
  <style>
449
469
  .-typography--chunky[data-instance-id="unique"][class][class][class] {
@@ -671,6 +691,7 @@ customizations and redefinitions do not rely on specificity.
671
691
 
672
692
  - **Gap override** (codename) - Child element can override the gap set by its parent. Used in builder. Similar to _
673
693
  align-self_ and _justify-self_ logic of flexbox. Independent from direction of layout.
694
+
674
695
  ```CSS
675
696
  /* Even though element style has lower priority than layout rule,
676
697
  the ---self-- family of variables can be redefined on element itself */
@@ -679,6 +700,7 @@ customizations and redefinitions do not rely on specificity.
679
700
  ---self--column-gap: 10px;
680
701
  }
681
702
  ```
703
+
682
704
  - **Paragraph spacing** - like gap, but for text elements. Takes precedence over vertical gap. Because text elements can
683
705
  not be direct children inside horizontal layouts, does not care about direction.
684
706
 
@@ -689,5 +711,3 @@ customizations and redefinitions do not rely on specificity.
689
711
  }
690
712
 
691
713
  ```
692
-
693
- > > > > > > > Stashed changes
@@ -1,7 +1,9 @@
1
1
  import { DEFAULT_CDN_URL, fetchAndRevalidateComponent, parseComponentSource } from '../cdn.js';
2
2
  import { renderDOMContent, renderDOMElement } from '../dom/rendering.js';
3
3
  import { loadStylesheetAllowStale } from '../headless.js';
4
- import { FEAASBase } from './FEAASBase.js';
4
+ import { ControlledPromise } from '../utils/promise.js';
5
+ import { fetchData } from '../utils/fetch.js';
6
+ import { FEAASElement } from './FEAASElement.js';
5
7
  export function FEAASComponentsProps(element) {
6
8
  var _a, _b, _c, _d, _e, _f, _g, _h;
7
9
  let data;
@@ -35,7 +37,31 @@ export function FEAASComponentsProps(element) {
35
37
  withStylesheet: element.getAttribute('with-stylesheet') != 'false'
36
38
  };
37
39
  }
38
- class FEAASComponent extends FEAASBase {
40
+ /**
41
+ * - Initialization lifecycle:
42
+ * - - `set(props)`
43
+ * - - `scheduleRender()` - any attribute change causes render to schedule to next frame
44
+ * - - `whenRendered.restart()` - rendering promise is reset and will resolve after render
45
+ * - - `advance()` - called on next frame
46
+ * - - `if (isReadyToLoad()) => boolean` - check if component has all necessary properties to load
47
+ * - - `load() => payload` => component is loaded
48
+ * - - `onLoad?(payload)` => invoke loaded callback for cached version of a component
49
+ * - - `advance()` => going further in state machine
50
+ * - - `flush()` => flushes all react changes if needed
51
+ * - - `update()` => component-specific method (or react) to render changes to dom
52
+ * - - `render(payload, props)` => render means react
53
+ * - - `whenRendered.resolve()` - rendering promise is resolved after rendering
54
+ * - - IF CACHE WAS STALE - FETCH AND RENDER AGAIN
55
+ * - - `fetchByPassingCache()` - load up-to-date version of a component
56
+ * - - `onLoad(newPayload) `
57
+ * - - `advance()` => going further in state machine
58
+ * - - `flush()` => flushes all react changes if needed
59
+ * - - `update()` => component-specific method (or react) to render changes to dom
60
+ * - - `render(payload, props)` => render means react
61
+ * - - `whenRendered.resolve()` - rendering promise is resolved after rendering
62
+ * - - `whenLoaded.resolved()` - resolved after loading of up to date component
63
+ */
64
+ class FEAASComponent extends FEAASElement {
39
65
  setData(data) {
40
66
  this.set({ data });
41
67
  }
@@ -51,6 +77,20 @@ class FEAASComponent extends FEAASBase {
51
77
  }
52
78
  this.needsRefresh = true;
53
79
  super.attributeChangedCallback(name, oldValue, newValue);
80
+ if (name === 'data') {
81
+ this.fetchData();
82
+ }
83
+ }
84
+ // Reset readyData and perform a new fetch.
85
+ async fetchData() {
86
+ this.readyData = undefined;
87
+ this.whenDataReady = this.whenDataReady.restart();
88
+ const data = await fetchData(this.props.data);
89
+ const alreadyRendered = this.alreadyRendered;
90
+ await this.whenDataReady.resolve(data);
91
+ if (alreadyRendered) {
92
+ this.advance();
93
+ }
54
94
  }
55
95
  getEditor() {
56
96
  var _a;
@@ -58,6 +98,8 @@ class FEAASComponent extends FEAASBase {
58
98
  }
59
99
  constructor() {
60
100
  super();
101
+ this.readyData = {};
102
+ this.whenDataReady = ControlledPromise((data) => (this.readyData = data), (e) => this.onError(e));
61
103
  this.defaultProps = {
62
104
  cdn: DEFAULT_CDN_URL,
63
105
  revision: 'published',
@@ -70,6 +112,9 @@ class FEAASComponent extends FEAASBase {
70
112
  this.payload = html;
71
113
  this.advance();
72
114
  };
115
+ if (!this.getAttribute('data')) {
116
+ this.whenDataReady.resolve({});
117
+ }
73
118
  this.addEventListener('click', () => {
74
119
  if (this.props.editable) {
75
120
  this.edit();
@@ -103,29 +148,44 @@ class FEAASComponent extends FEAASBase {
103
148
  }
104
149
  async load() {
105
150
  // defer loading to original element
106
- if (this.getOriginal()) {
151
+ if (this.getOriginal())
107
152
  return;
108
- }
153
+ const advanceIfEverythingIsReady = () => {
154
+ // html is not loaded
155
+ if (!this.payload)
156
+ return;
157
+ // shared stylesheet is still being loaded
158
+ if (stylesheetPromise)
159
+ return;
160
+ // data is still loading
161
+ if (!this.readyData)
162
+ return;
163
+ this.onLoad(this.payload);
164
+ };
109
165
  if (this.props.withStylesheet) {
110
166
  var stylesheetPromise = loadStylesheetAllowStale({ ...this.props, revision: 'published' }).then(() => {
111
167
  stylesheetPromise = null;
112
- if (this.payload) {
113
- this.onLoad(this.payload);
114
- }
168
+ advanceIfEverythingIsReady();
115
169
  });
116
170
  }
117
171
  return Promise.all([
118
172
  stylesheetPromise,
173
+ this.whenDataReady.then(() => advanceIfEverythingIsReady()),
119
174
  fetchAndRevalidateComponent(this.props, (html) => {
120
175
  this.payload = html;
121
- if (!stylesheetPromise)
122
- this.onLoad(html);
176
+ advanceIfEverythingIsReady();
123
177
  })
124
178
  ]).then(() => this.payload);
125
179
  }
180
+ flush() {
181
+ if (!this.readyData)
182
+ return;
183
+ super.flush();
184
+ }
126
185
  update() {
186
+ this.alreadyRendered = true;
127
187
  if (Array.from(this.children).filter((c) => c.tagName != 'BR').length > 0 && !this.needsRefresh) {
128
- renderDOMElement(this, this.props.data);
188
+ renderDOMElement(this, this.readyData);
129
189
  }
130
190
  else {
131
191
  this.needsRefresh = true;
@@ -133,7 +193,7 @@ class FEAASComponent extends FEAASBase {
133
193
  if (this.getOriginal()) {
134
194
  return;
135
195
  }
136
- renderDOMContent(this, this.payload, this.props.data);
196
+ renderDOMContent(this, this.payload, this.readyData);
137
197
  }
138
198
  }
139
199
  }
@@ -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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"}