@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.
- package/build/cdn.js +115 -0
- package/build/cdn.js.map +1 -0
- package/build/components/FEAASBase.js +212 -79
- package/build/components/FEAASBase.js.map +1 -1
- package/build/components/FEAASComponent.js +51 -17
- package/build/components/FEAASComponent.js.map +1 -1
- package/build/components/FEAASLoader.js +6 -0
- package/build/components/FEAASLoader.js.map +1 -1
- package/build/components/FEAASStylesheet.js +18 -13
- package/build/components/FEAASStylesheet.js.map +1 -1
- package/build/dom/component.js +34 -0
- package/build/dom/component.js.map +1 -0
- package/build/dom/data.js +105 -0
- package/build/dom/data.js.map +1 -0
- package/build/{dom.js → dom/rendering.js} +3 -194
- package/build/dom/rendering.js.map +1 -0
- package/build/dom/scripts.js +48 -0
- package/build/dom/scripts.js.map +1 -0
- package/build/dom/stylesheet.js +39 -0
- package/build/dom/stylesheet.js.map +1 -0
- package/build/fetch.js +72 -22
- package/build/fetch.js.map +1 -1
- package/build/{basic.js → headless.js} +11 -3
- package/build/headless.js.map +1 -0
- package/build/ui/FEAASContext.js +10 -3
- package/build/ui/FEAASContext.js.map +1 -1
- package/build/ui/FEAASEditor.js +5 -0
- package/build/ui/FEAASEditor.js.map +1 -1
- package/build/ui/FEAASPicker.js +7 -1
- package/build/ui/FEAASPicker.js.map +1 -1
- package/build/ui/index.js +1 -1
- package/build/ui/index.js.map +1 -1
- package/build/ui/react.js +6 -0
- package/build/ui/react.js.map +1 -0
- package/build/utils/promise.js +26 -0
- package/build/utils/promise.js.map +1 -0
- package/dist/browser/headless.esm.js +69 -0
- package/dist/browser/headless.esm.js.map +1 -0
- package/dist/browser/headless.js +69 -0
- package/dist/browser/headless.js.map +1 -0
- package/dist/browser/index.esm.js +3 -5
- package/dist/browser/index.esm.js.map +1 -1
- package/dist/browser/index.js +5 -5
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/react.js +67 -0
- package/dist/browser/react.js.map +1 -0
- package/dist/node/headless.esm.js +67 -0
- package/dist/node/headless.esm.js.map +7 -0
- package/dist/node/headless.js +67 -0
- package/dist/node/headless.js.map +7 -0
- package/dist/node/index.esm.js +3 -3
- package/dist/node/index.esm.js.map +4 -4
- package/dist/node/index.js +3 -3
- package/dist/node/index.js.map +4 -4
- package/dist/node/react.js +67 -0
- package/dist/node/react.js.map +7 -0
- package/examples/index.html +0 -5
- package/package.json +23 -12
- package/scripts/build.js +17 -6
- package/scripts/test-setup.ts +1 -0
- package/src/cdn.ts +188 -0
- package/src/components/FEAASBase.tsx +234 -82
- package/src/components/FEAASComponent.tsx +59 -21
- package/src/components/FEAASLoader.tsx +4 -0
- package/src/components/FEAASStylesheet.tsx +14 -13
- package/src/dom/component.ts +35 -0
- package/src/dom/data.ts +124 -0
- package/src/{dom.ts → dom/rendering.ts} +4 -218
- package/src/dom/scripts.ts +47 -0
- package/src/dom/stylesheet.ts +48 -0
- package/src/fetch.ts +79 -25
- package/src/{basic.ts → headless.ts} +11 -2
- package/src/ui/FEAASContext.tsx +12 -4
- package/src/ui/FEAASEditor.tsx +5 -0
- package/src/ui/FEAASPicker.tsx +6 -2
- package/src/ui/index.ts +1 -1
- package/src/ui/react.tsx +8 -0
- package/src/utils/promise.ts +34 -0
- package/test/FEAASBase.test.tsx +195 -0
- package/test/FEAASComponent.test.tsx +284 -0
- package/test/FEAASContext.test.tsx +76 -0
- package/test/FEAASPicker.test.tsx +40 -0
- package/test/FEAASStylesheet.test.tsx +159 -0
- package/test/cdn.ts +39 -0
- package/test/{render.ts → dom.test.ts} +12 -6
- package/test/extras.ts +1 -1
- package/test/fetch.ts +254 -0
- package/test/tsconfig.json +4 -1
- package/types/cdn.d.ts +57 -0
- package/types/cdn.d.ts.map +1 -0
- package/types/components/FEAASBase.d.ts +220 -16
- package/types/components/FEAASBase.d.ts.map +1 -1
- package/types/components/FEAASComponent.d.ts +34 -7
- package/types/components/FEAASComponent.d.ts.map +1 -1
- package/types/components/FEAASLoader.d.ts +4 -0
- package/types/components/FEAASLoader.d.ts.map +1 -1
- package/types/components/FEAASStylesheet.d.ts +5 -13
- package/types/components/FEAASStylesheet.d.ts.map +1 -1
- package/types/dom/component.d.ts +6 -0
- package/types/dom/component.d.ts.map +1 -0
- package/types/dom/data.d.ts +15 -0
- package/types/dom/data.d.ts.map +1 -0
- package/types/dom/rendering.d.ts +20 -0
- package/types/dom/rendering.d.ts.map +1 -0
- package/types/dom/scripts.d.ts +4 -0
- package/types/dom/scripts.d.ts.map +1 -0
- package/types/dom/stylesheet.d.ts +8 -0
- package/types/dom/stylesheet.d.ts.map +1 -0
- package/types/fetch.d.ts +25 -11
- package/types/fetch.d.ts.map +1 -1
- package/types/headless.d.ts +24 -0
- package/types/headless.d.ts.map +1 -0
- package/types/tsbuildinfo +1 -1
- package/types/tsbuildinfo_ui +1 -1
- package/types/ui/FEAASContext.d.ts +15 -5
- package/types/ui/FEAASContext.d.ts.map +1 -1
- package/types/ui/FEAASEditor.d.ts +18 -0
- package/types/ui/FEAASEditor.d.ts.map +1 -1
- package/types/ui/FEAASPicker.d.ts +15 -3
- package/types/ui/FEAASPicker.d.ts.map +1 -1
- package/types/ui/index.d.ts +1 -1
- package/types/ui/index.d.ts.map +1 -1
- package/types/ui/react.d.ts +7 -0
- package/types/ui/react.d.ts.map +1 -0
- package/types/utils/promise.d.ts +8 -0
- package/types/utils/promise.d.ts.map +1 -0
- package/build/basic.js.map +0 -1
- package/build/cloud.js +0 -71
- package/build/cloud.js.map +0 -1
- package/build/dom.js.map +0 -1
- package/build/node.js +0 -10
- package/build/node.js.map +0 -1
- package/build/ui/node.js +0 -3
- package/build/ui/node.js.map +0 -1
- package/dist/browser/basic.esm.js +0 -69
- package/dist/browser/basic.esm.js.map +0 -1
- package/dist/browser/basic.js +0 -69
- package/dist/browser/basic.js.map +0 -1
- package/dist/node/basic.esm.js +0 -67
- package/dist/node/basic.esm.js.map +0 -7
- package/dist/node/basic.js +0 -67
- package/dist/node/basic.js.map +0 -7
- package/src/cloud.ts +0 -118
- package/src/node.ts +0 -10
- package/src/ui/node.ts +0 -2
- package/test/components.ts +0 -31
- package/types/basic.d.ts +0 -16
- package/types/basic.d.ts.map +0 -1
- package/types/cloud.d.ts +0 -28
- package/types/cloud.d.ts.map +0 -1
- package/types/dom.d.ts +0 -41
- package/types/dom.d.ts.map +0 -1
- package/types/node.d.ts +0 -4
- package/types/node.d.ts.map +0 -1
- package/types/ui/node.d.ts +0 -3
- package/types/ui/node.d.ts.map +0 -1
|
@@ -1,27 +1,35 @@
|
|
|
1
|
-
import { fetchAndRevalidateComponent } from '../
|
|
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
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
-
|
|
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
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
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":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"FEAASComponent.js","sourceRoot":"","sources":["../../src/components/FEAASComponent.tsx"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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;IAApE;;QAQE,iBAAY,GAAG;YACb,MAAM,EAAE,KAAK;SACe,CAAA;IAoGhC,CAAC;IA1GC,QAAQ;QACN,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAA;IAC/B,CAAC;IAQD,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,29 +1,34 @@
|
|
|
1
|
-
import {
|
|
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'))
|
|
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
|
-
|
|
19
|
-
|
|
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,
|
|
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 {
|
|
2
|
-
import {
|
|
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
|
-
|
|
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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"}
|