@sitecore-jss/sitecore-jss-angular 21.1.2-canary.0 → 21.1.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 (58) hide show
  1. package/dist/components/data-resolver-factory.d.ts +13 -13
  2. package/dist/components/date.directive.d.ts +20 -20
  3. package/dist/components/editframe.component.d.ts +22 -22
  4. package/dist/components/file.directive.d.ts +17 -17
  5. package/dist/components/generic-link.directive.d.ts +20 -20
  6. package/dist/components/guard-resolver-factory.d.ts +11 -11
  7. package/dist/components/hidden-rendering.component.d.ts +7 -7
  8. package/dist/components/image.directive.d.ts +35 -35
  9. package/dist/components/link.directive.d.ts +26 -26
  10. package/dist/components/missing-component.component.d.ts +7 -7
  11. package/dist/components/placeholder-loading.directive.d.ts +8 -8
  12. package/dist/components/placeholder.component.d.ts +59 -59
  13. package/dist/components/placeholder.token.d.ts +64 -64
  14. package/dist/components/raw.component.d.ts +12 -12
  15. package/dist/components/render-component.component.d.ts +33 -33
  16. package/dist/components/render-each.directive.d.ts +8 -8
  17. package/dist/components/render-empty.directive.d.ts +8 -8
  18. package/dist/components/rendering-field.d.ts +40 -40
  19. package/dist/components/rendering.d.ts +5 -5
  20. package/dist/components/rich-text.directive.d.ts +18 -18
  21. package/dist/components/router-link.directive.d.ts +19 -19
  22. package/dist/components/text.directive.d.ts +16 -16
  23. package/dist/esm2020/components/data-resolver-factory.mjs +57 -57
  24. package/dist/esm2020/components/date.directive.mjs +59 -59
  25. package/dist/esm2020/components/editframe.component.mjs +65 -65
  26. package/dist/esm2020/components/file.directive.mjs +44 -44
  27. package/dist/esm2020/components/generic-link.directive.mjs +52 -52
  28. package/dist/esm2020/components/guard-resolver-factory.mjs +87 -87
  29. package/dist/esm2020/components/hidden-rendering.component.mjs +20 -20
  30. package/dist/esm2020/components/image.directive.mjs +135 -135
  31. package/dist/esm2020/components/link.directive.mjs +112 -112
  32. package/dist/esm2020/components/missing-component.component.mjs +15 -15
  33. package/dist/esm2020/components/placeholder-loading.directive.mjs +15 -15
  34. package/dist/esm2020/components/placeholder.component.mjs +250 -250
  35. package/dist/esm2020/components/placeholder.token.mjs +23 -23
  36. package/dist/esm2020/components/raw.component.mjs +35 -35
  37. package/dist/esm2020/components/render-component.component.mjs +90 -90
  38. package/dist/esm2020/components/render-each.directive.mjs +15 -15
  39. package/dist/esm2020/components/render-empty.directive.mjs +15 -15
  40. package/dist/esm2020/components/rendering-field.mjs +1 -1
  41. package/dist/esm2020/components/rendering.mjs +7 -7
  42. package/dist/esm2020/components/rich-text.directive.mjs +62 -62
  43. package/dist/esm2020/components/router-link.directive.mjs +44 -44
  44. package/dist/esm2020/components/text.directive.mjs +57 -57
  45. package/dist/esm2020/jss-component-factory.service.mjs +83 -83
  46. package/dist/esm2020/lib.module.mjs +167 -167
  47. package/dist/esm2020/public_api.mjs +24 -24
  48. package/dist/esm2020/sitecore-jss-sitecore-jss-angular.mjs +4 -4
  49. package/dist/esm2020/utils.mjs +16 -16
  50. package/dist/fesm2015/sitecore-jss-sitecore-jss-angular.mjs +1399 -1399
  51. package/dist/fesm2020/sitecore-jss-sitecore-jss-angular.mjs +1400 -1400
  52. package/dist/index.d.ts +5 -5
  53. package/dist/jss-component-factory.service.d.ts +25 -25
  54. package/dist/lib.module.d.ts +46 -46
  55. package/dist/package.json +2 -2
  56. package/dist/public_api.d.ts +25 -25
  57. package/dist/utils.d.ts +7 -7
  58. package/package.json +3 -3
@@ -1,113 +1,113 @@
1
- import { Directive, Input, } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class LinkDirective {
4
- constructor(viewContainer, templateRef, renderer, elementRef) {
5
- this.viewContainer = viewContainer;
6
- this.templateRef = templateRef;
7
- this.renderer = renderer;
8
- this.elementRef = elementRef;
9
- this.editable = true;
10
- this.attrs = {};
11
- this.inlineRef = null;
12
- }
13
- ngOnChanges(changes) {
14
- if (changes.field || changes.editable || changes.attrs) {
15
- this.viewContainer.clear();
16
- if (this.inlineRef) {
17
- this.inlineRef.remove();
18
- this.inlineRef = null;
19
- }
20
- this.updateView();
21
- }
22
- }
23
- renderTemplate(props, linkText) {
24
- const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
25
- viewRef.rootNodes.forEach((node) => {
26
- Object.entries(props).forEach(([key, propValue]) => {
27
- this.updateAttribute(node, key, propValue);
28
- });
29
- if (node.childNodes && node.childNodes.length === 0 && linkText) {
30
- node.textContent = linkText;
31
- }
32
- });
33
- }
34
- updateAttribute(node, key, propValue) {
35
- if (typeof propValue !== 'string' || !propValue || propValue === '') {
36
- return;
37
- }
38
- if (key === 'href') {
39
- const isInvalidLink = !propValue || /^https?:\/\/$/.test(propValue);
40
- if (isInvalidLink) {
41
- if (!node.href) {
42
- return;
43
- }
44
- propValue = node.href;
45
- }
46
- this.renderer.setAttribute(node, key, propValue);
47
- }
48
- else if (key === 'class' && node.className !== '') {
49
- this.renderer.setAttribute(node, key, `${node.className} ${propValue}`);
50
- }
51
- else {
52
- this.renderer.setAttribute(node, key, propValue);
53
- }
54
- }
55
- updateView() {
56
- const field = this.field;
57
- if (this.editable && field && field.editableFirstPart && field.editableLastPart) {
58
- this.renderInlineWrapper(field.editableFirstPart, field.editableLastPart);
59
- }
60
- else if (field && (field.href || field.value)) {
61
- const props = field.href ? field : field.value;
62
- const linkText = field.text || field.value?.text || field.href || field.value?.href;
63
- const mergedAttrs = { ...props, ...this.attrs };
64
- this.renderTemplate(mergedAttrs, linkText);
65
- }
66
- }
67
- renderInlineWrapper(editableFirstPart, editableLastPart) {
68
- const span = this.renderer.createElement('span');
69
- span.className = 'sc-link-wrapper';
70
- span.innerHTML = editableFirstPart + editableLastPart;
71
- // assign attributes from template to inline wrapper
72
- const attrs = {
73
- ...this.getElementAttrs(),
74
- ...this.attrs,
75
- };
76
- Object.entries(attrs).forEach(([key, attrValue]) => this.updateAttribute(span, key, attrValue));
77
- this.viewContainer.createEmbeddedView(this.templateRef);
78
- const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);
79
- this.renderer.insertBefore(parentNode, span, this.elementRef.nativeElement);
80
- this.inlineRef = span;
81
- }
82
- getElementAttrs() {
83
- const view = this.templateRef.createEmbeddedView(null);
84
- const element = view.rootNodes[0];
85
- if (!element) {
86
- return {};
87
- }
88
- const attrs = {};
89
- for (let i = 0; i < element.attributes.length; i++) {
90
- const attr = element.attributes.item(i);
91
- if (attr) {
92
- attrs[attr.name] = attr.value;
93
- }
94
- }
95
- return attrs;
96
- }
97
- }
98
- LinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LinkDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
99
- LinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: LinkDirective, selector: "[scLink]", inputs: { editable: ["scLinkEditable", "editable"], attrs: ["scLinkAttrs", "attrs"], field: ["scLink", "field"] }, usesOnChanges: true, ngImport: i0 });
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LinkDirective, decorators: [{
101
- type: Directive,
102
- args: [{ selector: '[scLink]' }]
103
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { editable: [{
104
- type: Input,
105
- args: ['scLinkEditable']
106
- }], attrs: [{
107
- type: Input,
108
- args: ['scLinkAttrs']
109
- }], field: [{
110
- type: Input,
111
- args: ['scLink']
112
- }] } });
1
+ import { Directive, Input, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class LinkDirective {
4
+ constructor(viewContainer, templateRef, renderer, elementRef) {
5
+ this.viewContainer = viewContainer;
6
+ this.templateRef = templateRef;
7
+ this.renderer = renderer;
8
+ this.elementRef = elementRef;
9
+ this.editable = true;
10
+ this.attrs = {};
11
+ this.inlineRef = null;
12
+ }
13
+ ngOnChanges(changes) {
14
+ if (changes.field || changes.editable || changes.attrs) {
15
+ this.viewContainer.clear();
16
+ if (this.inlineRef) {
17
+ this.inlineRef.remove();
18
+ this.inlineRef = null;
19
+ }
20
+ this.updateView();
21
+ }
22
+ }
23
+ renderTemplate(props, linkText) {
24
+ const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
25
+ viewRef.rootNodes.forEach((node) => {
26
+ Object.entries(props).forEach(([key, propValue]) => {
27
+ this.updateAttribute(node, key, propValue);
28
+ });
29
+ if (node.childNodes && node.childNodes.length === 0 && linkText) {
30
+ node.textContent = linkText;
31
+ }
32
+ });
33
+ }
34
+ updateAttribute(node, key, propValue) {
35
+ if (typeof propValue !== 'string' || !propValue || propValue === '') {
36
+ return;
37
+ }
38
+ if (key === 'href') {
39
+ const isInvalidLink = !propValue || /^https?:\/\/$/.test(propValue);
40
+ if (isInvalidLink) {
41
+ if (!node.href) {
42
+ return;
43
+ }
44
+ propValue = node.href;
45
+ }
46
+ this.renderer.setAttribute(node, key, propValue);
47
+ }
48
+ else if (key === 'class' && node.className !== '') {
49
+ this.renderer.setAttribute(node, key, `${node.className} ${propValue}`);
50
+ }
51
+ else {
52
+ this.renderer.setAttribute(node, key, propValue);
53
+ }
54
+ }
55
+ updateView() {
56
+ const field = this.field;
57
+ if (this.editable && field && field.editableFirstPart && field.editableLastPart) {
58
+ this.renderInlineWrapper(field.editableFirstPart, field.editableLastPart);
59
+ }
60
+ else if (field && (field.href || field.value)) {
61
+ const props = field.href ? field : field.value;
62
+ const linkText = field.text || field.value?.text || field.href || field.value?.href;
63
+ const mergedAttrs = { ...props, ...this.attrs };
64
+ this.renderTemplate(mergedAttrs, linkText);
65
+ }
66
+ }
67
+ renderInlineWrapper(editableFirstPart, editableLastPart) {
68
+ const span = this.renderer.createElement('span');
69
+ span.className = 'sc-link-wrapper';
70
+ span.innerHTML = editableFirstPart + editableLastPart;
71
+ // assign attributes from template to inline wrapper
72
+ const attrs = {
73
+ ...this.getElementAttrs(),
74
+ ...this.attrs,
75
+ };
76
+ Object.entries(attrs).forEach(([key, attrValue]) => this.updateAttribute(span, key, attrValue));
77
+ this.viewContainer.createEmbeddedView(this.templateRef);
78
+ const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);
79
+ this.renderer.insertBefore(parentNode, span, this.elementRef.nativeElement);
80
+ this.inlineRef = span;
81
+ }
82
+ getElementAttrs() {
83
+ const view = this.templateRef.createEmbeddedView(null);
84
+ const element = view.rootNodes[0];
85
+ if (!element) {
86
+ return {};
87
+ }
88
+ const attrs = {};
89
+ for (let i = 0; i < element.attributes.length; i++) {
90
+ const attr = element.attributes.item(i);
91
+ if (attr) {
92
+ attrs[attr.name] = attr.value;
93
+ }
94
+ }
95
+ return attrs;
96
+ }
97
+ }
98
+ LinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LinkDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
99
+ LinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: LinkDirective, selector: "[scLink]", inputs: { editable: ["scLinkEditable", "editable"], attrs: ["scLinkAttrs", "attrs"], field: ["scLink", "field"] }, usesOnChanges: true, ngImport: i0 });
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LinkDirective, decorators: [{
101
+ type: Directive,
102
+ args: [{ selector: '[scLink]' }]
103
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { editable: [{
104
+ type: Input,
105
+ args: ['scLinkEditable']
106
+ }], attrs: [{
107
+ type: Input,
108
+ args: ['scLinkAttrs']
109
+ }], field: [{
110
+ type: Input,
111
+ args: ['scLink']
112
+ }] } });
113
113
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9saW5rLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssR0FNTixNQUFNLGVBQWUsQ0FBQzs7QUFJdkIsTUFBTSxPQUFPLGFBQWE7SUFTeEIsWUFDWSxhQUErQixFQUMvQixXQUFpQyxFQUNqQyxRQUFtQixFQUNyQixVQUFzQjtRQUhwQixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsZ0JBQVcsR0FBWCxXQUFXLENBQXNCO1FBQ2pDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDckIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVpQLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFFbkIsVUFBSyxHQUErQixFQUFFLENBQUM7UUFJckQsY0FBUyxHQUEyQixJQUFJLENBQUM7SUFPOUMsQ0FBQztJQUVKLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQ3RELElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQzthQUN2QjtZQUVELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNuQjtJQUNILENBQUM7SUFFUyxjQUFjLENBQUMsS0FBa0MsRUFBRSxRQUFpQjtRQUM1RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUV4RSxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxD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RUFBRSxFQUFFO1lBQ2xELE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLElBQUksSUFBSSxFQUFFO2dCQUNSLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQzthQUMvQjtTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzsyR0EvR1UsYUFBYTsrRkFBYixhQUFhOzRGQUFiLGFBQWE7a0JBRHpCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFO2tMQUVSLFFBQVE7c0JBQWhDLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUVELEtBQUs7c0JBQTFCLEtBQUs7dUJBQUMsYUFBYTtnQkFFSCxLQUFLO3NCQUFyQixLQUFLO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBFbGVtZW50UmVmLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBSZW5kZXJlcjIsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMaW5rRmllbGQgfSBmcm9tICcuL3JlbmRlcmluZy1maWVsZCc7XHJcblxyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbc2NMaW5rXScgfSlcclxuZXhwb3J0IGNsYXNzIExpbmtEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgnc2NMaW5rRWRpdGFibGUnKSBlZGl0YWJsZSA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgnc2NMaW5rQXR0cnMnKSBhdHRyczogeyBbYXR0cjogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuXHJcbiAgQElucHV0KCdzY0xpbmsnKSBmaWVsZDogTGlua0ZpZWxkO1xyXG5cclxuICBwcml2YXRlIGlubGluZVJlZjogSFRNTFNwYW5FbGVtZW50IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcm90ZWN0ZWQgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+LFxyXG4gICAgcHJvdGVjdGVkIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcclxuICApIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmIChjaGFuZ2VzLmZpZWxkIHx8IGNoYW5nZXMuZWRpdGFibGUgfHwgY2hhbmdlcy5hdHRycykge1xyXG4gICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcclxuICAgICAgaWYgKHRoaXMuaW5saW5lUmVmKSB7XHJcbiAgICAgICAgdGhpcy5pbmxpbmVSZWYucmVtb3ZlKCk7XHJcbiAgICAgICAgdGhpcy5pbmxpbmVSZWYgPSBudWxsO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnVwZGF0ZVZpZXcoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCByZW5kZXJUZW1wbGF0ZShwcm9wczogeyBbcHJvcDogc3RyaW5nXTogdW5rbm93biB9LCBsaW5rVGV4dD86IHN0cmluZykge1xyXG4gICAgY29uc3Qgdmlld1JlZiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZik7XHJcblxyXG4gICAgdmlld1JlZi5yb290Tm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xyXG4gICAgICBPYmplY3QuZW50cmllcyhwcm9wcykuZm9yRWFjaCgoW2tleSwgcHJvcFZhbHVlXSkgPT4ge1xyXG4gICAgICAgIHRoaXMudXBkYXRlQXR0cmlidXRlKG5vZGUsIGtleSwgcHJvcFZhbHVlKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBpZiAobm9kZS5jaGlsZE5vZGVzICYmIG5vZGUuY2hpbGROb2Rlcy5sZW5ndGggPT09IDAgJiYgbGlua1RleHQpIHtcclxuICAgICAgICBub2RlLnRleHRDb250ZW50ID0gbGlua1RleHQ7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHVwZGF0ZUF0dHJpYnV0ZShub2RlOiBIVE1MRWxlbWVudCwga2V5OiBzdHJpbmcsIHByb3BWYWx1ZT86IHVua25vd24pIHtcclxuICAgIGlmICh0eXBlb2YgcHJvcFZhbHVlICE9PSAnc3RyaW5nJyB8fCAhcHJvcFZhbHVlIHx8IHByb3BWYWx1ZSA9PT0gJycpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChrZXkgPT09ICdocmVmJykge1xyXG4gICAgICBjb25zdCBpc0ludmFsaWRMaW5rID0gIXByb3BWYWx1ZSB8fCAvXmh0dHBzPzpcXC9cXC8kLy50ZXN0KHByb3BWYWx1ZSk7XHJcblxyXG4gICAgICBpZiAoaXNJbnZhbGlkTGluaykge1xyXG4gICAgICAgIGlmICghKG5vZGUgYXMgSFRNTExpbmtFbGVtZW50KS5ocmVmKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwcm9wVmFsdWUgPSAobm9kZSBhcyBIVE1MTGlua0VsZW1lbnQpLmhyZWYgYXMgc3RyaW5nO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKG5vZGUsIGtleSwgcHJvcFZhbHVlIGFzIHN0cmluZyk7XHJcbiAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ2NsYXNzJyAmJiBub2RlLmNsYXNzTmFtZSAhPT0gJycpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUobm9kZSwga2V5LCBgJHtub2RlLmNsYXNzTmFtZX0gJHtwcm9wVmFsdWV9YCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShub2RlLCBrZXksIHByb3BWYWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVZpZXcoKSB7XHJcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuZmllbGQ7XHJcbiAgICBpZiAodGhpcy5lZGl0YWJsZSAmJiBmaWVsZCAmJiBmaWVsZC5lZGl0YWJsZUZpcnN0UGFydCAmJiBmaWVsZC5lZGl0YWJsZUxhc3RQYXJ0KSB7XHJcbiAgICAgIHRoaXMucmVuZGVySW5saW5lV3JhcHBlcihmaWVsZC5lZGl0YWJsZUZpcnN0UGFydCwgZmllbGQuZWRpdGFibGVMYXN0UGFydCk7XHJcbiAgICB9IGVsc2UgaWYgKGZpZWxkICYmIChmaWVsZC5ocmVmIHx8IGZpZWxkLnZhbHVlKSkge1xyXG4gICAgICBjb25zdCBwcm9wcyA9IGZpZWxkLmhyZWYgPyBmaWVsZCA6IGZpZWxkLnZhbHVlO1xyXG4gICAgICBjb25zdCBsaW5rVGV4dCA9IGZpZWxkLnRleHQgfHwgZmllbGQudmFsdWU/LnRleHQgfHwgZmllbGQuaHJlZiB8fCBmaWVsZC52YWx1ZT8uaHJlZjtcclxuICAgICAgY29uc3QgbWVyZ2VkQXR0cnMgPSB7IC4uLnByb3BzLCAuLi50aGlzLmF0dHJzIH07XHJcbiAgICAgIHRoaXMucmVuZGVyVGVtcGxhdGUobWVyZ2VkQXR0cnMsIGxpbmtUZXh0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVuZGVySW5saW5lV3JhcHBlcihlZGl0YWJsZUZpcnN0UGFydDogc3RyaW5nLCBlZGl0YWJsZUxhc3RQYXJ0OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHNwYW46IEhUTUxTcGFuRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgc3Bhbi5jbGFzc05hbWUgPSAnc2MtbGluay13cmFwcGVyJztcclxuICAgIHNwYW4uaW5uZXJIVE1MID0gZWRpdGFibGVGaXJzdFBhcnQgKyBlZGl0YWJsZUxhc3RQYXJ0O1xyXG5cclxuICAgIC8vIGFzc2lnbiBhdHRyaWJ1dGVzIGZyb20gdGVtcGxhdGUgdG8gaW5saW5lIHdyYXBwZXJcclxuICAgIGNvbnN0IGF0dHJzID0ge1xyXG4gICAgICAuLi50aGlzLmdldEVsZW1lbnRBdHRycygpLFxyXG4gICAgICAuLi50aGlzLmF0dHJzLFxyXG4gICAgfTtcclxuICAgIE9iamVjdC5lbnRyaWVzKGF0dHJzKS5mb3JFYWNoKChba2V5LCBhdHRyVmFsdWVdKSA9PiB0aGlzLnVwZGF0ZUF0dHJpYnV0ZShzcGFuLCBrZXksIGF0dHJWYWx1ZSkpO1xyXG5cclxuICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZik7XHJcblxyXG4gICAgY29uc3QgcGFyZW50Tm9kZSA9IHRoaXMucmVuZGVyZXIucGFyZW50Tm9kZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZShwYXJlbnROb2RlLCBzcGFuLCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcblxyXG4gICAgdGhpcy5pbmxpbmVSZWYgPSBzcGFuO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRFbGVtZW50QXR0cnMoKSB7XHJcbiAgICBjb25zdCB2aWV3ID0gdGhpcy50ZW1wbGF0ZVJlZi5jcmVhdGVFbWJlZGRlZFZpZXcobnVsbCk7XHJcbiAgICBjb25zdCBlbGVtZW50OiBFbGVtZW50ID0gdmlldy5yb290Tm9kZXNbMF07XHJcbiAgICBpZiAoIWVsZW1lbnQpIHtcclxuICAgICAgcmV0dXJuIHt9O1xyXG4gICAgfVxyXG4gICAgY29uc3QgYXR0cnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZWxlbWVudC5hdHRyaWJ1dGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGF0dHIgPSBlbGVtZW50LmF0dHJpYnV0ZXMuaXRlbShpKTtcclxuICAgICAgaWYgKGF0dHIpIHtcclxuICAgICAgICBhdHRyc1thdHRyLm5hbWVdID0gYXR0ci52YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGF0dHJzO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,8 +1,8 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class MissingComponentComponent {
4
- }
5
- MissingComponentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MissingComponentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class MissingComponentComponent {
4
+ }
5
+ MissingComponentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MissingComponentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
6
  MissingComponentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: MissingComponentComponent, selector: "sc-missing-component", inputs: { rendering: "rendering" }, ngImport: i0, template: `
7
7
  <div
8
8
  style="background: darkorange; outline: 5px solid orange; padding: 10px; color: white; max-width: 500px;"
@@ -10,11 +10,11 @@ MissingComponentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.
10
10
  <h2>{{ rendering.componentName }}</h2>
11
11
  <p>JSS component is missing Angular component implementation.</p>
12
12
  </div>
13
- `, isInline: true });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MissingComponentComponent, decorators: [{
15
- type: Component,
16
- args: [{
17
- selector: 'sc-missing-component',
13
+ `, isInline: true });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MissingComponentComponent, decorators: [{
15
+ type: Component,
16
+ args: [{
17
+ selector: 'sc-missing-component',
18
18
  template: `
19
19
  <div
20
20
  style="background: darkorange; outline: 5px solid orange; padding: 10px; color: white; max-width: 500px;"
@@ -22,9 +22,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
22
22
  <h2>{{ rendering.componentName }}</h2>
23
23
  <p>JSS component is missing Angular component implementation.</p>
24
24
  </div>
25
- `,
26
- }]
27
- }], propDecorators: { rendering: [{
28
- type: Input
29
- }] } });
25
+ `,
26
+ }]
27
+ }], propDecorators: { rendering: [{
28
+ type: Input
29
+ }] } });
30
30
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzc2luZy1jb21wb25lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbWlzc2luZy1jb21wb25lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWNqRCxNQUFNLE9BQU8seUJBQXlCOzt1SEFBekIseUJBQXlCOzJHQUF6Qix5QkFBeUIsZ0dBVDFCOzs7Ozs7O0dBT1Q7NEZBRVUseUJBQXlCO2tCQVhyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFFBQVEsRUFBRTs7Ozs7OztHQU9UO2lCQUNGOzhCQUVVLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudFJlbmRlcmluZyB9IGZyb20gJ0BzaXRlY29yZS1qc3Mvc2l0ZWNvcmUtanNzL2xheW91dCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NjLW1pc3NpbmctY29tcG9uZW50JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdlxyXG4gICAgICBzdHlsZT1cImJhY2tncm91bmQ6IGRhcmtvcmFuZ2U7IG91dGxpbmU6IDVweCBzb2xpZCBvcmFuZ2U7IHBhZGRpbmc6IDEwcHg7IGNvbG9yOiB3aGl0ZTsgbWF4LXdpZHRoOiA1MDBweDtcIlxyXG4gICAgPlxyXG4gICAgICA8aDI+e3sgcmVuZGVyaW5nLmNvbXBvbmVudE5hbWUgfX08L2gyPlxyXG4gICAgICA8cD5KU1MgY29tcG9uZW50IGlzIG1pc3NpbmcgQW5ndWxhciBjb21wb25lbnQgaW1wbGVtZW50YXRpb24uPC9wPlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1pc3NpbmdDb21wb25lbnRDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIHJlbmRlcmluZzogQ29tcG9uZW50UmVuZGVyaW5nO1xyXG59XHJcbiJdfQ==
@@ -1,16 +1,16 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class PlaceholderLoadingDirective {
4
- constructor(templateRef) {
5
- this.templateRef = templateRef;
6
- }
7
- }
8
- PlaceholderLoadingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlaceholderLoadingDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- PlaceholderLoadingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: PlaceholderLoadingDirective, selector: "[scPlaceholderLoading]", ngImport: i0 });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlaceholderLoadingDirective, decorators: [{
11
- type: Directive,
12
- args: [{
13
- selector: '[scPlaceholderLoading]',
14
- }]
15
- }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class PlaceholderLoadingDirective {
4
+ constructor(templateRef) {
5
+ this.templateRef = templateRef;
6
+ }
7
+ }
8
+ PlaceholderLoadingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlaceholderLoadingDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ PlaceholderLoadingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: PlaceholderLoadingDirective, selector: "[scPlaceholderLoading]", ngImport: i0 });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlaceholderLoadingDirective, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ selector: '[scPlaceholderLoading]',
14
+ }]
15
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
16
16
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Vob2xkZXItbG9hZGluZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wbGFjZWhvbGRlci1sb2FkaW5nLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFlLE1BQU0sZUFBZSxDQUFDOztBQUt2RCxNQUFNLE9BQU8sMkJBQTJCO0lBQ3RDLFlBQW1CLFdBQWlDO1FBQWpDLGdCQUFXLEdBQVgsV0FBVyxDQUFzQjtJQUFHLENBQUM7O3lIQUQ3QywyQkFBMkI7NkdBQTNCLDJCQUEyQjs0RkFBM0IsMkJBQTJCO2tCQUh2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbc2NQbGFjZWhvbGRlckxvYWRpbmddJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBsYWNlaG9sZGVyTG9hZGluZ0RpcmVjdGl2ZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPikge31cclxufVxyXG4iXX0=