@sitecore-feaas/clientside 0.1.27 → 0.1.29

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 (156) hide show
  1. package/build/cdn.js +115 -0
  2. package/build/cdn.js.map +1 -0
  3. package/build/components/FEAASBase.js +212 -79
  4. package/build/components/FEAASBase.js.map +1 -1
  5. package/build/components/FEAASComponent.js +51 -17
  6. package/build/components/FEAASComponent.js.map +1 -1
  7. package/build/components/FEAASLoader.js +6 -0
  8. package/build/components/FEAASLoader.js.map +1 -1
  9. package/build/components/FEAASStylesheet.js +18 -13
  10. package/build/components/FEAASStylesheet.js.map +1 -1
  11. package/build/dom/component.js +34 -0
  12. package/build/dom/component.js.map +1 -0
  13. package/build/dom/data.js +105 -0
  14. package/build/dom/data.js.map +1 -0
  15. package/build/{dom.js → dom/rendering.js} +3 -194
  16. package/build/dom/rendering.js.map +1 -0
  17. package/build/dom/scripts.js +48 -0
  18. package/build/dom/scripts.js.map +1 -0
  19. package/build/dom/stylesheet.js +39 -0
  20. package/build/dom/stylesheet.js.map +1 -0
  21. package/build/fetch.js +72 -22
  22. package/build/fetch.js.map +1 -1
  23. package/build/{basic.js → headless.js} +11 -3
  24. package/build/headless.js.map +1 -0
  25. package/build/ui/FEAASContext.js +10 -3
  26. package/build/ui/FEAASContext.js.map +1 -1
  27. package/build/ui/FEAASEditor.js +5 -0
  28. package/build/ui/FEAASEditor.js.map +1 -1
  29. package/build/ui/FEAASPicker.js +7 -1
  30. package/build/ui/FEAASPicker.js.map +1 -1
  31. package/build/ui/index.js +1 -1
  32. package/build/ui/index.js.map +1 -1
  33. package/build/ui/react.js +6 -0
  34. package/build/ui/react.js.map +1 -0
  35. package/build/utils/promise.js +26 -0
  36. package/build/utils/promise.js.map +1 -0
  37. package/dist/browser/headless.esm.js +69 -0
  38. package/dist/browser/headless.esm.js.map +1 -0
  39. package/dist/browser/headless.js +69 -0
  40. package/dist/browser/headless.js.map +1 -0
  41. package/dist/browser/index.esm.js +3 -5
  42. package/dist/browser/index.esm.js.map +1 -1
  43. package/dist/browser/index.js +5 -5
  44. package/dist/browser/index.js.map +1 -1
  45. package/dist/browser/react.js +67 -0
  46. package/dist/browser/react.js.map +1 -0
  47. package/dist/node/headless.esm.js +67 -0
  48. package/dist/node/headless.esm.js.map +7 -0
  49. package/dist/node/headless.js +67 -0
  50. package/dist/node/headless.js.map +7 -0
  51. package/dist/node/index.esm.js +3 -3
  52. package/dist/node/index.esm.js.map +4 -4
  53. package/dist/node/index.js +3 -3
  54. package/dist/node/index.js.map +4 -4
  55. package/dist/node/react.js +67 -0
  56. package/dist/node/react.js.map +7 -0
  57. package/examples/index.html +0 -5
  58. package/package.json +23 -12
  59. package/scripts/build.js +17 -6
  60. package/scripts/test-setup.ts +1 -0
  61. package/src/cdn.ts +188 -0
  62. package/src/components/FEAASBase.tsx +234 -82
  63. package/src/components/FEAASComponent.tsx +59 -21
  64. package/src/components/FEAASLoader.tsx +4 -0
  65. package/src/components/FEAASStylesheet.tsx +14 -13
  66. package/src/dom/component.ts +35 -0
  67. package/src/dom/data.ts +124 -0
  68. package/src/{dom.ts → dom/rendering.ts} +4 -218
  69. package/src/dom/scripts.ts +47 -0
  70. package/src/dom/stylesheet.ts +48 -0
  71. package/src/fetch.ts +79 -25
  72. package/src/{basic.ts → headless.ts} +11 -2
  73. package/src/ui/FEAASContext.tsx +12 -4
  74. package/src/ui/FEAASEditor.tsx +5 -0
  75. package/src/ui/FEAASPicker.tsx +6 -2
  76. package/src/ui/index.ts +1 -1
  77. package/src/ui/react.tsx +8 -0
  78. package/src/utils/promise.ts +34 -0
  79. package/test/FEAASBase.test.tsx +195 -0
  80. package/test/FEAASComponent.test.tsx +284 -0
  81. package/test/FEAASContext.test.tsx +76 -0
  82. package/test/FEAASPicker.test.tsx +40 -0
  83. package/test/FEAASStylesheet.test.tsx +159 -0
  84. package/test/cdn.ts +39 -0
  85. package/test/{render.ts → dom.test.ts} +12 -6
  86. package/test/extras.ts +1 -1
  87. package/test/fetch.ts +254 -0
  88. package/test/tsconfig.json +4 -1
  89. package/types/cdn.d.ts +57 -0
  90. package/types/cdn.d.ts.map +1 -0
  91. package/types/components/FEAASBase.d.ts +220 -16
  92. package/types/components/FEAASBase.d.ts.map +1 -1
  93. package/types/components/FEAASComponent.d.ts +34 -7
  94. package/types/components/FEAASComponent.d.ts.map +1 -1
  95. package/types/components/FEAASLoader.d.ts +4 -0
  96. package/types/components/FEAASLoader.d.ts.map +1 -1
  97. package/types/components/FEAASStylesheet.d.ts +5 -13
  98. package/types/components/FEAASStylesheet.d.ts.map +1 -1
  99. package/types/dom/component.d.ts +6 -0
  100. package/types/dom/component.d.ts.map +1 -0
  101. package/types/dom/data.d.ts +15 -0
  102. package/types/dom/data.d.ts.map +1 -0
  103. package/types/dom/rendering.d.ts +20 -0
  104. package/types/dom/rendering.d.ts.map +1 -0
  105. package/types/dom/scripts.d.ts +4 -0
  106. package/types/dom/scripts.d.ts.map +1 -0
  107. package/types/dom/stylesheet.d.ts +8 -0
  108. package/types/dom/stylesheet.d.ts.map +1 -0
  109. package/types/fetch.d.ts +25 -11
  110. package/types/fetch.d.ts.map +1 -1
  111. package/types/headless.d.ts +24 -0
  112. package/types/headless.d.ts.map +1 -0
  113. package/types/tsbuildinfo +1 -1
  114. package/types/tsbuildinfo_ui +1 -1
  115. package/types/ui/FEAASContext.d.ts +15 -5
  116. package/types/ui/FEAASContext.d.ts.map +1 -1
  117. package/types/ui/FEAASEditor.d.ts +18 -0
  118. package/types/ui/FEAASEditor.d.ts.map +1 -1
  119. package/types/ui/FEAASPicker.d.ts +15 -3
  120. package/types/ui/FEAASPicker.d.ts.map +1 -1
  121. package/types/ui/index.d.ts +1 -1
  122. package/types/ui/index.d.ts.map +1 -1
  123. package/types/ui/react.d.ts +7 -0
  124. package/types/ui/react.d.ts.map +1 -0
  125. package/types/utils/promise.d.ts +8 -0
  126. package/types/utils/promise.d.ts.map +1 -0
  127. package/build/basic.js.map +0 -1
  128. package/build/cloud.js +0 -71
  129. package/build/cloud.js.map +0 -1
  130. package/build/dom.js.map +0 -1
  131. package/build/node.js +0 -10
  132. package/build/node.js.map +0 -1
  133. package/build/ui/node.js +0 -3
  134. package/build/ui/node.js.map +0 -1
  135. package/dist/browser/basic.esm.js +0 -69
  136. package/dist/browser/basic.esm.js.map +0 -1
  137. package/dist/browser/basic.js +0 -69
  138. package/dist/browser/basic.js.map +0 -1
  139. package/dist/node/basic.esm.js +0 -67
  140. package/dist/node/basic.esm.js.map +0 -7
  141. package/dist/node/basic.js +0 -67
  142. package/dist/node/basic.js.map +0 -7
  143. package/src/cloud.ts +0 -118
  144. package/src/node.ts +0 -10
  145. package/src/ui/node.ts +0 -2
  146. package/test/components.ts +0 -31
  147. package/types/basic.d.ts +0 -16
  148. package/types/basic.d.ts.map +0 -1
  149. package/types/cloud.d.ts +0 -28
  150. package/types/cloud.d.ts.map +0 -1
  151. package/types/dom.d.ts +0 -41
  152. package/types/dom.d.ts.map +0 -1
  153. package/types/node.d.ts +0 -4
  154. package/types/node.d.ts.map +0 -1
  155. package/types/ui/node.d.ts +0 -3
  156. package/types/ui/node.d.ts.map +0 -1
@@ -1,27 +1,35 @@
1
- import { fetchAndRevalidateComponent } from '../cloud.js';
2
- import { renderDOMContent, renderDOMElement } from '../dom.js';
1
+ import { DEFAULT_CDN_URL, fetchAndRevalidateComponent, parseComponentSource } from '../cdn.js';
2
+ import { renderDOMContent, renderDOMElement } from '../dom/rendering.js';
3
+ import { loadStylesheetAllowStale } from '../headless.js';
3
4
  import { FEAASBase } from './FEAASBase.js';
4
5
  export function FEAASComponentsProps(element = this) {
6
+ var _a, _b, _c, _d, _e, _f, _g, _h;
5
7
  let data;
8
+ const src = element.getAttribute('src');
9
+ if (src) {
10
+ var { cdn, library, component, version, revision } = parseComponentSource(src);
11
+ }
6
12
  const dataValue = element.getAttribute('data');
7
- if (dataValue != null) {
13
+ if (dataValue != null && dataValue != '') {
8
14
  try {
9
15
  data = typeof dataValue == 'string' ? JSON.parse(dataValue) : {};
10
16
  }
11
17
  catch (e) { }
12
18
  }
13
19
  return {
14
- data: data !== null && data !== void 0 ? data : {},
15
- library: element.getAttribute('library'),
16
- component: element.getAttribute('component'),
17
- version: element.getAttribute('version'),
18
- revision: element.getAttribute('revision'),
20
+ data: data || {},
21
+ cdn: (_b = (_a = element.getContextAttribute('cdn')) !== null && _a !== void 0 ? _a : cdn) !== null && _b !== void 0 ? _b : DEFAULT_CDN_URL,
22
+ library: (_c = element.getAttribute('library')) !== null && _c !== void 0 ? _c : library,
23
+ component: (_d = element.getAttribute('component')) !== null && _d !== void 0 ? _d : component,
24
+ version: (_f = (_e = element.getAttribute('version')) !== null && _e !== void 0 ? _e : version) !== null && _f !== void 0 ? _f : 'responsive',
25
+ revision: ((_h = (_g = element.getAttribute('revision')) !== null && _g !== void 0 ? _g : revision) !== null && _h !== void 0 ? _h : 'published'),
19
26
  hostname: element.getAttribute('hostname'),
20
- cdn: element.getContextAttribute('cdn'),
21
27
  template: element.getAttribute('template'),
22
28
  instance: element.getAttribute('instance'),
23
29
  editable: element.getAttribute('editable') != null,
24
- suspended: element.getAttribute('suspended') != null
30
+ suspended: element.getAttribute('suspended') != null,
31
+ lastModified: element.getAttribute('last-modified'),
32
+ withStylesheet: element.getAttribute('with-stylesheet') != 'false'
25
33
  };
26
34
  }
27
35
  export class FEAASComponent extends FEAASBase {
@@ -34,7 +42,10 @@ export class FEAASComponent extends FEAASBase {
34
42
  attributeChangedCallback(name, oldValue, newValue) {
35
43
  if (oldValue === newValue)
36
44
  return;
37
- this.payload = undefined;
45
+ // force component to be refreshed
46
+ if (name == 'library' || name == 'component' || name == 'revision' || name == 'version') {
47
+ this.payload = undefined;
48
+ }
38
49
  this.needsRefresh = true;
39
50
  super.attributeChangedCallback(name, oldValue, newValue);
40
51
  }
@@ -44,6 +55,18 @@ export class FEAASComponent extends FEAASBase {
44
55
  }
45
56
  constructor() {
46
57
  super();
58
+ this.defaultProps = {
59
+ cdn: DEFAULT_CDN_URL,
60
+ revision: 'published',
61
+ version: 'responsive',
62
+ withStylesheet: true,
63
+ editable: false,
64
+ suspended: false
65
+ };
66
+ this.onLoad = (html) => {
67
+ this.payload = html;
68
+ this.advance();
69
+ };
47
70
  this.addEventListener('click', () => {
48
71
  if (this.props.editable) {
49
72
  this.edit();
@@ -80,12 +103,22 @@ export class FEAASComponent extends FEAASBase {
80
103
  if (this.getOriginal()) {
81
104
  return;
82
105
  }
83
- try {
84
- fetchAndRevalidateComponent(this.props, this.onLoad);
85
- }
86
- catch (_a) {
87
- console.error(`FEAAS: Could not fetch component: ${this.props.component}/${this.props.version}/${this.props.revision}`);
106
+ if (this.props.withStylesheet) {
107
+ var stylesheetPromise = loadStylesheetAllowStale(this.props).then(() => {
108
+ stylesheetPromise = null;
109
+ if (this.payload) {
110
+ this.onLoad(this.payload);
111
+ }
112
+ });
88
113
  }
114
+ return Promise.all([
115
+ stylesheetPromise,
116
+ fetchAndRevalidateComponent(this.props, (html) => {
117
+ this.payload = html;
118
+ if (!stylesheetPromise)
119
+ this.onLoad(html);
120
+ })
121
+ ]).then(() => this.payload);
89
122
  }
90
123
  update() {
91
124
  if (Array.from(this.children).filter((c) => c.tagName != 'BR').length > 0 && !this.needsRefresh) {
@@ -111,7 +144,8 @@ FEAASComponent.observedAttributes = [
111
144
  'template',
112
145
  'data',
113
146
  'instance',
114
- 'editable'
147
+ 'editable',
148
+ 'with-stylesheet'
115
149
  ];
116
150
  FEAASComponent.register('feaas-component');
117
151
  export { FEAASComponent as Component };
@@ -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":"AAAA,OAAO,EAAE,eAAe,EAA2B,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AACvH,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,UAAU,oBAAoB,CAAC,UAAqB,IAAI;;IAC5D,IAAI,IAAS,CAAA;IACb,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IACvC,IAAI,GAAG,EAAE;QACP,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAA;KAC/E;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;IAC9C,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,IAAI,EAAE,EAAE;QACxC,IAAI;YACF,IAAI,GAAG,OAAO,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;SACjE;QAAC,OAAO,CAAC,EAAE,GAAE;KACf;IACD,OAAO;QACL,IAAI,EAAE,IAAI,IAAI,EAAE;QAChB,GAAG,EAAE,MAAA,MAAA,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,mCAAI,GAAG,mCAAI,eAAe;QACjE,OAAO,EAAE,MAAA,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,mCAAI,OAAO;QACnD,SAAS,EAAE,MAAA,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,mCAAI,SAAS;QACzD,OAAO,EAAE,MAAA,MAAA,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,mCAAI,OAAO,mCAAI,YAAY;QACnE,QAAQ,EAAE,CAAC,MAAA,MAAA,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,mCAAI,QAAQ,mCAAI,WAAW,CAAwC;QAC9G,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC;QAC1C,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC;QAC1C,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC;QAC1C,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,IAAI;QAClD,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,IAAI;QACpD,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC;QACnD,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,OAAO;KACnE,CAAA;AACH,CAAC;AAED,MAAM,OAAO,cAAe,SAAQ,SAAuC;IAyBzE,OAAO,CAAC,IAAS;QACf,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IACpB,CAAC;IAED,QAAQ;QACN,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;IAED,wBAAwB,CAAC,IAAY,EAAE,QAAgB,EAAE,QAAgB;QACvE,IAAI,QAAQ,KAAK,QAAQ;YAAE,OAAM;QACjC,kCAAkC;QAClC,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,UAAU,IAAI,IAAI,IAAI,SAAS,EAAE;YACvF,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;SACzB;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;QACxB,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC1D,CAAC;IAED,SAAS;;QACP,OAAO,MAAC,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAe,0CAAE,IAAI,CAAC,MAAM,CAAA;IAC5E,CAAC;IAED;QACE,KAAK,EAAE,CAAA;QAjCT,iBAAY,GAAG;YACb,GAAG,EAAE,eAAe;YACpB,QAAQ,EAAE,WAAW;YACrB,OAAO,EAAE,YAAY;YACrB,cAAc,EAAE,IAAI;YACpB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,KAAK;SACgB,CAAA;QA8DlC,WAAM,GAAG,CAAC,IAAY,EAAE,EAAE;YACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;YACnB,IAAI,CAAC,OAAO,EAAE,CAAA;QAChB,CAAC,CAAA;QAtCC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAClC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBACvB,IAAI,CAAC,IAAI,EAAE,CAAA;aACZ;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC/B,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAC,IAAI,CAAC,EAAE;YAC3B,MAAM,CAAC,IAAI,EAAE,CAAA;YACb,OAAO,IAAI,CAAA;SACZ;IACH,CAAC;IAED,qEAAqE;IACrE,WAAW;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAA;QAClD,IAAI,CAAC,KAAK;YAAE,OAAM;QAClB,KAAK,IAAI,OAAO,GAAG,IAAe,EAAE,CAAC,OAAO,GAAG,OAAO,CAAC,sBAAsB,CAAC,GAAI;YAChF,IAAI,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,KAAK,EAAE;gBACpD,IAAI,IAAI,GAAG,OAAO,CAAA;aACnB;iBAAM;gBACL,MAAK;aACN;SACF;QACD,OAAO,IAAsB,CAAA;IAC/B,CAAC;IAED,aAAa;QACX,OAAO,CACL,KAAK,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAClH,CAAA;IACH,CAAC;IAOD,KAAK,CAAC,IAAI;QACR,oCAAoC;QACpC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;YACtB,OAAM;SACP;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;YAC7B,IAAI,iBAAiB,GAAG,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACrE,iBAAiB,GAAG,IAAI,CAAA;gBACxB,IAAI,IAAI,CAAC,OAAO,EAAE;oBAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;iBAC1B;YACH,CAAC,CAAC,CAAA;SACH;QACD,OAAO,OAAO,CAAC,GAAG,CAAC;YACjB,iBAAiB;YACjB,2BAA2B,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC/C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;gBACnB,IAAI,CAAC,iBAAiB;oBAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC3C,CAAC,CAAC;SACH,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM;QACJ,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YAC/F,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;SACxC;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;YACxB,sCAAsC;YACtC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;gBACtB,OAAM;aACP;YACD,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;SACtD;IACH,CAAC;;AAzHM,iCAAkB,GAAG;IAC1B,SAAS;IACT,WAAW;IACX,SAAS;IACT,UAAU;IACV,UAAU;IACV,KAAK;IACL,UAAU;IACV,MAAM;IACN,UAAU;IACV,UAAU;IACV,iBAAiB;CAClB,CAAA;AA+HH,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;AAE1C,OAAO,EAAE,cAAc,IAAI,SAAS,EAAE,CAAA"}
@@ -6,6 +6,12 @@ export function FEAASLoaderProps(element = this) {
6
6
  };
7
7
  }
8
8
  export class FEAASLoader extends FEAASBase {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.defaultProps = {
12
+ hidden: false
13
+ };
14
+ }
9
15
  getProps() {
10
16
  return FEAASLoaderProps(this);
11
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FEAASLoader.js","sourceRoot":"","sources":["../../src/components/FEAASLoader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,UAAU,gBAAgB,CAAC,UAAuB,IAAI;IAC1D,OAAO;QACL,OAAO,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,SAAS,CAAC,EAAC,CAAC,CAAC,UAAU,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,MAAM,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,QAAQ,CAAC,KAAI,IAAI;KAChD,CAAA;AACH,CAAC;AAGD,MAAM,OAAO,WAAY,SAAQ,SAAmC;IAIlE,QAAQ;QACN,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAA;IAC/B,CAAC;IAID,wBAAwB,CAAC,IAAY,EAAE,QAAgB,EAAE,QAAgB;QACvE,IAAI,QAAQ,KAAK,QAAQ;YAAE,OAAM;QACjC,IAAI,IAAI,IAAI,QAAQ,EAAE;YACpB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;YACvD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,cAAc,EAAE,WAAW,CAAC,CAAA;YACjE,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,WAAW,CAAC,CAAA;gBACnD,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAA;aAClC;iBAAM;gBACL,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,WAAW,CAAC,CAAA;gBACnD,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAA;aACjC;SACF;QACD,OAAO,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACjE,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,KAAK,CAAC,iBAAiB,EAAE,CAAA;QACzB,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAA;QACjG,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QACjD,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyC/B,CAAA;QACC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC3C,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,CAAA;QACzB,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;SAuBnB,CAAA;QACL,IAAI,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC3C,IAAI,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACxD,CAAC;;AAjGM,8BAAkB,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;AA2GnD,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;AAEpC,OAAO,EAAE,WAAW,IAAI,MAAM,EAAE,CAAA"}
1
+ {"version":3,"file":"FEAASLoader.js","sourceRoot":"","sources":["../../src/components/FEAASLoader.tsx"],"names":[],"mappings":"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"}
@@ -1,29 +1,34 @@
1
- import { fetchStylesheet } from '../cloud.js';
1
+ import { DEFAULT_CDN_URL, parseStylesheetSource } from '../cdn.js';
2
+ import { loadStylesheet } from '../dom/stylesheet.js';
2
3
  import { FEAASBase } from './FEAASBase.js';
3
4
  export function FEAASStylesheetProps(element = this) {
4
- var _a;
5
+ var _a, _b, _c, _d;
6
+ const src = element.getAttribute('src');
7
+ if (src) {
8
+ var { cdn, library, revision } = parseStylesheetSource(src);
9
+ }
5
10
  return {
6
11
  library: element === null || element === void 0 ? void 0 : element.getContextAttribute('library'),
7
- revision: ((_a = element === null || element === void 0 ? void 0 : element.getAttribute('revision')) !== null && _a !== void 0 ? _a : 'published'),
8
- cdn: (element === null || element === void 0 ? void 0 : element.getContextAttribute('cdn')) || (element === null || element === void 0 ? void 0 : element.getContextAttribute('hostname'))
12
+ revision: (_b = (_a = element === null || element === void 0 ? void 0 : element.getAttribute('revision')) !== null && _a !== void 0 ? _a : revision) !== null && _b !== void 0 ? _b : 'published',
13
+ cdn: (_d = (_c = element === null || element === void 0 ? void 0 : element.getContextAttribute('cdn')) !== null && _c !== void 0 ? _c : element === null || element === void 0 ? void 0 : element.getContextAttribute('hostname')) !== null && _d !== void 0 ? _d : DEFAULT_CDN_URL
9
14
  };
10
15
  }
11
16
  export class FEAASStylesheet extends FEAASBase {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.onLoad = (html) => {
20
+ this.payload = html;
21
+ this.advance();
22
+ };
23
+ }
12
24
  getProps() {
13
25
  return FEAASStylesheetProps(this);
14
26
  }
15
27
  isReadyToLoad() {
16
28
  return this.props.library != null && this.props.revision != null && this.props.cdn != null;
17
29
  }
18
- async load() {
19
- fetchStylesheet(this.props, this.onLoad);
20
- }
21
- update() {
22
- if (!this.stylesheet) {
23
- this.stylesheet = document.createElement('style');
24
- this.appendChild(this.stylesheet);
25
- }
26
- this.stylesheet.textContent = this.payload;
30
+ load() {
31
+ return loadStylesheet(this.props, this.onLoad);
27
32
  }
28
33
  }
29
34
  FEAASStylesheet.register('feaas-stylesheet');
@@ -1 +1 @@
1
- {"version":3,"file":"FEAASStylesheet.js","sourceRoot":"","sources":["../../src/components/FEAASStylesheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,UAAU,oBAAoB,CAAC,UAAqB,IAAI;;IAC5D,OAAO;QACL,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,CAAC,SAAS,CAAC;QAChD,QAAQ,EAAE,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,UAAU,CAAC,mCAAI,WAAW,CAA+C;QAC1G,GAAG,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,CAAC,KAAK,CAAC,MAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,CAAC,UAAU,CAAC,CAAA;KACrF,CAAA;AACH,CAAC;AAGD,MAAM,OAAO,eAAgB,SAAQ,SAAuC;IAE1E,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;IAED,KAAK,CAAC,IAAI;QACR,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;YACjD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;SAClC;QACD,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAA;IAC5C,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,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"}
@@ -0,0 +1,34 @@
1
+ import { fetchAndRevalidateComponent } from '../cdn.js';
2
+ import { renderDOMContent, renderDOMElement } from './rendering.js';
3
+ export function renderComponentElement(content, datasources) {
4
+ const wrapper = document.createElement('div');
5
+ wrapper.innerHTML = content;
6
+ const fragment = document.createDocumentFragment();
7
+ while (wrapper.firstChild) {
8
+ fragment.appendChild(wrapper.firstChild);
9
+ }
10
+ renderDOMElement(fragment, datasources);
11
+ return wrapper;
12
+ }
13
+ export function renderComponent(props, root) {
14
+ renderComponentPromise(props, (root || (root = document.createElement('div'))));
15
+ return root;
16
+ }
17
+ export async function renderComponentPromise(props, root) {
18
+ root || (root = document.createElement('div'));
19
+ if (!root.childNodes.length) {
20
+ if ('template' in props) {
21
+ return renderDOMContent(root, props.template, props.data, props);
22
+ }
23
+ else {
24
+ return fetchAndRevalidateComponent(props, (template) => {
25
+ return renderDOMContent(root, template, props.data, props);
26
+ }).then(() => root);
27
+ }
28
+ /* update element with new data */
29
+ }
30
+ else {
31
+ return renderDOMElement(root, props.data, props);
32
+ }
33
+ }
34
+ //# sourceMappingURL=component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/dom/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAA;AAEvD,OAAO,EAAuB,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAExF,MAAM,UAAU,sBAAsB,CAAC,OAAe,EAAE,WAAwB;IAC9E,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC7C,OAAO,CAAC,SAAS,GAAG,OAAO,CAAA;IAC3B,MAAM,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAA;IAClD,OAAO,OAAO,CAAC,UAAU,EAAE;QACzB,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;KACzC;IACD,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;IACvC,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAA0B,EAAE,IAAkB;IAC5E,sBAAsB,CAAC,KAAK,EAAE,CAAC,IAAI,KAAJ,IAAI,GAAK,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,EAAC,CAAC,CAAA;IACvE,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,KAA0B,EAAE,IAAkB;IACzF,IAAI,KAAJ,IAAI,GAAK,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,EAAA;IACtC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;QAC3B,IAAI,UAAU,IAAI,KAAK,EAAE;YACvB,OAAO,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;SACjE;aAAM;YACL,OAAO,2BAA2B,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACrD,OAAO,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAC5D,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;SACpB;QACD,kCAAkC;KACnC;SAAM;QACL,OAAO,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;KACjD;AACH,CAAC"}
@@ -0,0 +1,105 @@
1
+ import { JSONPath } from 'jsonpath-plus';
2
+ export function cleanCollectionBit(path) {
3
+ return path.replace(/(\[[^\]\[]+\]|\.\*)$/g, '');
4
+ }
5
+ export function normalizeCollectionScope(path) {
6
+ return cleanCollectionBit(path) + '.*';
7
+ }
8
+ export function queryScopes(scopes, datapath, singleValue = false, json = scopes) {
9
+ var path = datapath;
10
+ /* find closest parent scope */
11
+ const keys = Object.keys(scopes).sort((b, a) => a.length - b.length);
12
+ for (const scope of keys) {
13
+ if (datapath.startsWith(scope) && 'ends with it') {
14
+ if (scope == datapath) {
15
+ if (singleValue) {
16
+ return scopes[scope];
17
+ }
18
+ else {
19
+ continue;
20
+ }
21
+ }
22
+ path = datapath.substring(scope.length + 1);
23
+ json = scopes[scope];
24
+ break;
25
+ }
26
+ }
27
+ var collection = JSONPath({ path, json });
28
+ // If regular path didn't match any data, try fallbacks
29
+ // datasourceId.wrapper.$.path
30
+ if (Array.isArray(collection) && (collection === null || collection === void 0 ? void 0 : collection.length) == 0) {
31
+ collection = [
32
+ // look up in `_` datasource id (catch-all id is used in JSS)
33
+ // _.wrapper.$.path
34
+ path.replace(/^.*?\./, '_.'),
35
+ // look up directly on data root
36
+ // wrapper.$.path
37
+ path.replace(/^.*?\./, ''),
38
+ // look up trimmed path in datasource
39
+ // datasourceId.path
40
+ path.replace(/^([^.]+).*?\.\$\./, '$1.'),
41
+ // look up trimmed path in catch all datasource
42
+ // _.path
43
+ path.replace(/^.*?\.\$\./, '_.'),
44
+ // look up trimmed path on root
45
+ // path
46
+ path.replace(/^.*?\.\$\./, ''),
47
+ // for case of top-level object data mapping full path can be replaced to _
48
+ path.replace(/^[^.]+$/, '_')
49
+ ]
50
+ .filter((v, i, a) => a.indexOf(v) === i)
51
+ .reduce((v, path) => {
52
+ return v.length > 0 ? v : JSONPath({ path, json });
53
+ }, []);
54
+ }
55
+ if (singleValue && Array.isArray(collection)) {
56
+ return collection[0];
57
+ }
58
+ else {
59
+ return collection;
60
+ }
61
+ }
62
+ function serializeCH1Tag(data, attrs = {}, tag) {
63
+ if (!tag)
64
+ return serializeCH1RichText(data);
65
+ return `<${tag}${Object.entries(attrs)
66
+ .map(([k, v]) => v != null && ` ${k}="${v}"`)
67
+ .filter(Boolean)
68
+ .join('')}>${serializeCH1RichText(data)}</${tag}>`.replace(/^<([a-z0-9][^>]*)><\/[^>]+>$/, '<$1 />');
69
+ }
70
+ export function serializeCH1RichText(data) {
71
+ var _a;
72
+ if (Array.isArray(data))
73
+ return data.map(serializeCH1RichText).join('\n').trim();
74
+ if (typeof data == 'string')
75
+ return data;
76
+ if (data == null)
77
+ return '';
78
+ switch (data.type) {
79
+ case 'heading':
80
+ const { level, ...attrs } = data.attrs;
81
+ return serializeCH1Tag(data.content, attrs, 'h' + level);
82
+ case 'text':
83
+ return (data.marks || []).reduce((text, mark) => {
84
+ return serializeCH1Tag(text, mark.attrs, {
85
+ link: 'a',
86
+ bold: 'strong',
87
+ italic: 'em',
88
+ strike: 's',
89
+ underline: 'u'
90
+ }[mark.type]);
91
+ }, (_a = data.text) === null || _a === void 0 ? void 0 : _a.replace(/\s+/, ' '));
92
+ default:
93
+ return serializeCH1Tag(data.content || data.text, data.attrs, {
94
+ bulletList: 'ul',
95
+ orderedList: 'ol',
96
+ listItem: 'li',
97
+ horizontalRule: 'hr',
98
+ paragraph: 'p',
99
+ codeBlock: 'code',
100
+ blockquote: 'blockquote'
101
+ }[data.type]);
102
+ }
103
+ }
104
+ export { JSONPath };
105
+ //# sourceMappingURL=data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/dom/data.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,5 @@
1
- import { JSONPath } from 'jsonpath-plus';
2
- import { fetchAndRevalidateComponent, fetchStylesheet } from './cloud.js';
3
- export function renderComponentElement(content, datasources) {
4
- const wrapper = document.createElement('div');
5
- wrapper.innerHTML = content;
6
- const fragment = document.createDocumentFragment();
7
- while (wrapper.firstChild) {
8
- fragment.appendChild(wrapper.firstChild);
9
- }
10
- renderDOMElement(fragment, datasources);
11
- return wrapper;
12
- }
13
- export function cleanCollectionBit(path) {
14
- return path.replace(/(\[[^\]\[]+\]|\.\*)$/g, '');
15
- }
16
- export function normalizeCollectionScope(path) {
17
- return cleanCollectionBit(path) + '.*';
18
- }
1
+ import { normalizeCollectionScope, queryScopes, serializeCH1RichText } from './data.js';
2
+ import { loadScript } from './scripts.js';
19
3
  function getDOMCollectionIndex(element) {
20
4
  const datascope = element.getAttribute('data-path-scope');
21
5
  var index = 0;
@@ -64,60 +48,6 @@ function updateDOMClones(element, targetCount, config) {
64
48
  parentElement.removeChild(last.nextElementSibling);
65
49
  }
66
50
  }
67
- export function queryScopes(scopes, datapath, singleValue = false, json = scopes) {
68
- var path = datapath;
69
- /* find closest parent scope */
70
- const keys = Object.keys(scopes).sort((b, a) => a.length - b.length);
71
- for (const scope of keys) {
72
- if (datapath.startsWith(scope) && 'ends with it') {
73
- if (scope == datapath) {
74
- if (singleValue) {
75
- return scopes[scope];
76
- }
77
- else {
78
- continue;
79
- }
80
- }
81
- path = datapath.substring(scope.length + 1);
82
- json = scopes[scope];
83
- break;
84
- }
85
- }
86
- var collection = JSONPath({ path, json });
87
- // If regular path didn't match any data, try fallbacks
88
- // datasourceId.wrapper.$.path
89
- if (Array.isArray(collection) && (collection === null || collection === void 0 ? void 0 : collection.length) == 0) {
90
- collection = [
91
- // look up in `_` datasource id (catch-all id is used in JSS)
92
- // _.wrapper.$.path
93
- path.replace(/^.*?\./, '_.'),
94
- // look up directly on data root
95
- // wrapper.$.path
96
- path.replace(/^.*?\./, ''),
97
- // look up trimmed path in datasource
98
- // datasourceId.path
99
- path.replace(/^([^.]+).*?\.\$\./, '$1.'),
100
- // look up trimmed path in catch all datasource
101
- // _.path
102
- path.replace(/^.*?\.\$\./, '_.'),
103
- // look up trimmed path on root
104
- // path
105
- path.replace(/^.*?\.\$\./, ''),
106
- // for case of top-level object data mapping full path can be replaced to _
107
- path.replace(/^[^.]+$/, '_')
108
- ]
109
- .filter((v, i, a) => a.indexOf(v) === i)
110
- .reduce((v, path) => {
111
- return v.length > 0 ? v : JSONPath({ path, json });
112
- }, []);
113
- }
114
- if (singleValue && Array.isArray(collection)) {
115
- return collection[0];
116
- }
117
- else {
118
- return collection;
119
- }
120
- }
121
51
  export function setDOMAttribute(element, attribute, value, config) {
122
52
  var _a;
123
53
  if (!element)
@@ -189,53 +119,6 @@ export function setDOMAttribute(element, attribute, value, config) {
189
119
  }
190
120
  }
191
121
  }
192
- export function observeDOMElement(element) {
193
- const observer = new element.ownerDocument.defaultView.MutationObserver((changes) => {
194
- changes.forEach((change) => {
195
- const target = change.target;
196
- const src = target.getAttribute('data-embed-src');
197
- if (src) {
198
- loadScript(target, src);
199
- }
200
- if (change.addedNodes) {
201
- change.addedNodes.forEach((node) => {
202
- if (node.nodeType == 1)
203
- autoloadScripts(node, false);
204
- });
205
- }
206
- });
207
- });
208
- observer.observe(element, { attributes: true, subtree: true, childList: true });
209
- return observer;
210
- }
211
- export function autoloadScripts(element, observe = true) {
212
- const embeds = element.querySelectorAll('[data-embed-src]');
213
- for (var i = 0; i < embeds.length; i++) {
214
- const embed = embeds[i];
215
- loadScript(embed, embed.getAttribute('data-embed-src'));
216
- }
217
- if (observe)
218
- return observeDOMElement(element);
219
- }
220
- export function loadScript(element, src) {
221
- for (var p = element; p; p = p.parentElement) {
222
- if (!p.parentElement) {
223
- const scripts = p.querySelectorAll('script');
224
- for (var i = 0; i < scripts.length; i++) {
225
- if (scripts[i].getAttribute('src') == src) {
226
- return true;
227
- }
228
- }
229
- if (p.tagName == 'HTML')
230
- p = p.querySelector('head') || p;
231
- const script = p.ownerDocument.createElement('script');
232
- script.type = 'module';
233
- script.src = src;
234
- p.appendChild(script);
235
- break;
236
- }
237
- }
238
- }
239
122
  // order in which attributes are proccesed. Rightmost are more important
240
123
  var sortOrder = ['data-attributes-keys', 'data-path-attributes', 'data-path-scope'];
241
124
  export function renderDOMElement(input, datascopes, config, isNested) {
@@ -314,78 +197,4 @@ export function renderHTMLContent(template, data, config, fakeDOM = false) {
314
197
  return root.innerHTML;
315
198
  }
316
199
  }
317
- export function renderStylesheet(props, style) {
318
- renderStylesheetPromise(props, (style || (style = document.createElement('style'))));
319
- return style;
320
- }
321
- export function renderStylesheetPromise(props, style) {
322
- style || (style = document.createElement('style'));
323
- return fetchStylesheet(props, (cssText) => {
324
- style.textContent = cssText;
325
- }).then(() => style);
326
- }
327
- export function renderComponent(props, root) {
328
- renderComponentPromise(props, (root || (root = document.createElement('div'))));
329
- return root;
330
- }
331
- export async function renderComponentPromise(props, root) {
332
- root || (root = document.createElement('div'));
333
- if (!root.childNodes.length) {
334
- if ('template' in props) {
335
- return renderDOMContent(root, props.template, props.data, props);
336
- }
337
- else {
338
- return fetchAndRevalidateComponent(props, (template) => {
339
- return renderDOMContent(root, template, props.data, props);
340
- }).then(() => root);
341
- }
342
- /* update element with new data */
343
- }
344
- else {
345
- return renderDOMElement(root, props.data, props);
346
- }
347
- }
348
- function serializeCH1Tag(data, attrs = {}, tag) {
349
- if (!tag)
350
- return serializeCH1RichText(data);
351
- return `<${tag}${Object.entries(attrs)
352
- .map(([k, v]) => v != null && ` ${k}="${v}"`)
353
- .filter(Boolean)
354
- .join('')}>${serializeCH1RichText(data)}</${tag}>`.replace(/^<([a-z0-9][^>]*)><\/[^>]+>$/, '<$1 />');
355
- }
356
- export function serializeCH1RichText(data) {
357
- var _a;
358
- if (Array.isArray(data))
359
- return data.map(serializeCH1RichText).join('\n').trim();
360
- if (typeof data == 'string')
361
- return data;
362
- if (data == null)
363
- return '';
364
- switch (data.type) {
365
- case 'heading':
366
- const { level, ...attrs } = data.attrs;
367
- return serializeCH1Tag(data.content, attrs, 'h' + level);
368
- case 'text':
369
- return (data.marks || []).reduce((text, mark) => {
370
- return serializeCH1Tag(text, mark.attrs, {
371
- link: 'a',
372
- bold: 'strong',
373
- italic: 'em',
374
- strike: 's',
375
- underline: 'u'
376
- }[mark.type]);
377
- }, (_a = data.text) === null || _a === void 0 ? void 0 : _a.replace(/\s+/, ' '));
378
- default:
379
- return serializeCH1Tag(data.content || data.text, data.attrs, {
380
- bulletList: 'ul',
381
- orderedList: 'ol',
382
- listItem: 'li',
383
- horizontalRule: 'hr',
384
- paragraph: 'p',
385
- codeBlock: 'code',
386
- blockquote: 'blockquote'
387
- }[data.type]);
388
- }
389
- }
390
- export { JSONPath };
391
- //# sourceMappingURL=dom.js.map
200
+ //# sourceMappingURL=rendering.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rendering.js","sourceRoot":"","sources":["../../src/dom/rendering.ts"],"names":[],"mappings":"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"}