@sitecore-jss/sitecore-jss-angular 21.6.2-canary.2 → 21.6.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 (65) hide show
  1. package/LICENSE.txt +202 -202
  2. package/README.md +7 -7
  3. package/angular.json +48 -48
  4. package/dist/README.md +7 -7
  5. package/dist/components/data-resolver-factory.d.ts +13 -13
  6. package/dist/components/date.directive.d.ts +20 -20
  7. package/dist/components/editframe.component.d.ts +22 -22
  8. package/dist/components/file.directive.d.ts +17 -17
  9. package/dist/components/generic-link.directive.d.ts +20 -20
  10. package/dist/components/guard-resolver-factory.d.ts +11 -11
  11. package/dist/components/hidden-rendering.component.d.ts +7 -7
  12. package/dist/components/image.directive.d.ts +35 -35
  13. package/dist/components/link.directive.d.ts +26 -26
  14. package/dist/components/missing-component.component.d.ts +7 -7
  15. package/dist/components/placeholder-loading.directive.d.ts +8 -8
  16. package/dist/components/placeholder.component.d.ts +59 -59
  17. package/dist/components/placeholder.token.d.ts +64 -64
  18. package/dist/components/raw.component.d.ts +12 -12
  19. package/dist/components/render-component.component.d.ts +33 -33
  20. package/dist/components/render-each.directive.d.ts +8 -8
  21. package/dist/components/render-empty.directive.d.ts +8 -8
  22. package/dist/components/rendering-field.d.ts +41 -41
  23. package/dist/components/rendering.d.ts +5 -5
  24. package/dist/components/rich-text.directive.d.ts +18 -18
  25. package/dist/components/router-link.directive.d.ts +19 -19
  26. package/dist/components/text.directive.d.ts +16 -16
  27. package/dist/esm2022/components/data-resolver-factory.mjs +58 -58
  28. package/dist/esm2022/components/date.directive.mjs +67 -67
  29. package/dist/esm2022/components/editframe.component.mjs +70 -70
  30. package/dist/esm2022/components/file.directive.mjs +48 -48
  31. package/dist/esm2022/components/generic-link.directive.mjs +67 -67
  32. package/dist/esm2022/components/guard-resolver-factory.mjs +85 -85
  33. package/dist/esm2022/components/hidden-rendering.component.mjs +20 -20
  34. package/dist/esm2022/components/image.directive.mjs +150 -150
  35. package/dist/esm2022/components/link.directive.mjs +122 -122
  36. package/dist/esm2022/components/missing-component.component.mjs +16 -16
  37. package/dist/esm2022/components/placeholder-loading.directive.mjs +16 -16
  38. package/dist/esm2022/components/placeholder.component.mjs +271 -271
  39. package/dist/esm2022/components/placeholder.token.mjs +27 -27
  40. package/dist/esm2022/components/raw.component.mjs +38 -38
  41. package/dist/esm2022/components/render-component.component.mjs +98 -98
  42. package/dist/esm2022/components/render-each.directive.mjs +16 -16
  43. package/dist/esm2022/components/render-empty.directive.mjs +16 -16
  44. package/dist/esm2022/components/rendering-field.mjs +1 -1
  45. package/dist/esm2022/components/rendering.mjs +7 -7
  46. package/dist/esm2022/components/rich-text.directive.mjs +68 -68
  47. package/dist/esm2022/components/router-link.directive.mjs +49 -49
  48. package/dist/esm2022/components/text.directive.mjs +61 -61
  49. package/dist/esm2022/jss-component-factory.service.mjs +87 -87
  50. package/dist/esm2022/lib.module.mjs +160 -160
  51. package/dist/esm2022/public_api.mjs +24 -24
  52. package/dist/esm2022/sitecore-jss-sitecore-jss-angular.mjs +4 -4
  53. package/dist/esm2022/utils.mjs +16 -16
  54. package/dist/fesm2022/sitecore-jss-sitecore-jss-angular.mjs +1507 -1507
  55. package/dist/index.d.ts +5 -5
  56. package/dist/jss-component-factory.service.d.ts +25 -25
  57. package/dist/lib.module.d.ts +46 -46
  58. package/dist/package.json +2 -2
  59. package/dist/public_api.d.ts +25 -25
  60. package/dist/utils.d.ts +6 -6
  61. package/ng-package.json +13 -13
  62. package/package.json +3 -3
  63. package/tsconfig.json +9 -9
  64. package/tsconfig.spec.json +17 -17
  65. package/typings/README.md +2 -2
@@ -1,28 +1,28 @@
1
- import { InjectionToken } from '@angular/core';
2
- /** Registers a statically loaded component */
3
- export class ComponentNameAndType {
4
- name;
5
- type;
6
- canActivate;
7
- resolve;
8
- }
9
- /**
10
- * @param {unknown} object
11
- */
12
- export function instanceOfComponentNameAndType(object) {
13
- return typeof object === 'object' && object !== null && 'type' in object;
14
- }
15
- /**
16
- * @param {unknown} object
17
- */
18
- export function instanceOfComponentNameAndModule(object) {
19
- return typeof object === 'object' && object !== null && 'module' in object;
20
- }
21
- export const PLACEHOLDER_COMPONENTS = new InjectionToken('Sc.placeholder.components');
22
- export const PLACEHOLDER_LAZY_COMPONENTS = new InjectionToken('Sc.placeholder.lazyComponents');
23
- export const PLACEHOLDER_MISSING_COMPONENT_COMPONENT = new InjectionToken('Sc.placeholder.missingComponentComponent');
24
- export const PLACEHOLDER_HIDDEN_RENDERING_COMPONENT = new InjectionToken('Sc.placeholder.hiddenRenderingComponent');
25
- export const DYNAMIC_COMPONENT = new InjectionToken('Sc.placeholder.dynamicComponent');
26
- export const GUARD_RESOLVER = new InjectionToken('Sc.placeholder.guardResolver');
27
- export const DATA_RESOLVER = new InjectionToken('Sc.placeholder.dataResolver');
1
+ import { InjectionToken } from '@angular/core';
2
+ /** Registers a statically loaded component */
3
+ export class ComponentNameAndType {
4
+ name;
5
+ type;
6
+ canActivate;
7
+ resolve;
8
+ }
9
+ /**
10
+ * @param {unknown} object
11
+ */
12
+ export function instanceOfComponentNameAndType(object) {
13
+ return typeof object === 'object' && object !== null && 'type' in object;
14
+ }
15
+ /**
16
+ * @param {unknown} object
17
+ */
18
+ export function instanceOfComponentNameAndModule(object) {
19
+ return typeof object === 'object' && object !== null && 'module' in object;
20
+ }
21
+ export const PLACEHOLDER_COMPONENTS = new InjectionToken('Sc.placeholder.components');
22
+ export const PLACEHOLDER_LAZY_COMPONENTS = new InjectionToken('Sc.placeholder.lazyComponents');
23
+ export const PLACEHOLDER_MISSING_COMPONENT_COMPONENT = new InjectionToken('Sc.placeholder.missingComponentComponent');
24
+ export const PLACEHOLDER_HIDDEN_RENDERING_COMPONENT = new InjectionToken('Sc.placeholder.hiddenRenderingComponent');
25
+ export const DYNAMIC_COMPONENT = new InjectionToken('Sc.placeholder.dynamicComponent');
26
+ export const GUARD_RESOLVER = new InjectionToken('Sc.placeholder.guardResolver');
27
+ export const DATA_RESOLVER = new InjectionToken('Sc.placeholder.dataResolver');
28
28
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Vob2xkZXIudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wbGFjZWhvbGRlci50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBTXJELDhDQUE4QztBQUM5QyxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLElBQUksQ0FBUztJQUNiLElBQUksQ0FBZ0I7SUFFcEIsV0FBVyxDQUl5RDtJQUNwRSxPQUFPLENBQXNFO0NBQzlFO0FBbUJEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLDhCQUE4QixDQUFDLE1BQWU7SUFDNUQsT0FBTyxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksTUFBTSxLQUFLLElBQUksSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDO0FBQzNFLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxnQ0FBZ0MsQ0FDOUMsTUFBZTtJQUVmLE9BQU8sT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLE1BQU0sS0FBSyxJQUFJLElBQUksUUFBUSxJQUFJLE1BQU0sQ0FBQztBQUM3RSxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQ3RELDJCQUEyQixDQUM1QixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsSUFBSSxjQUFjLENBQzNELCtCQUErQixDQUNoQyxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sdUNBQXVDLEdBQUcsSUFBSSxjQUFjLENBQ3ZFLDBDQUEwQyxDQUMzQyxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sc0NBQXNDLEdBQUcsSUFBSSxjQUFjLENBQ3RFLHlDQUF5QyxDQUMxQyxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQ2pELGlDQUFpQyxDQUNsQyxDQUFDO0FBSUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUFnQiw4QkFBOEIsQ0FBQyxDQUFDO0FBTWhHLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBZSw2QkFBNkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgRGF0YSwgUm91dGVyU3RhdGVTbmFwc2hvdCwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50RmFjdG9yeVJlc3VsdCB9IGZyb20gJy4uL2pzcy1jb21wb25lbnQtZmFjdG9yeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50UmVuZGVyaW5nIH0gZnJvbSAnLi4vcHVibGljX2FwaSc7XHJcblxyXG4vKiogUmVnaXN0ZXJzIGEgc3RhdGljYWxseSBsb2FkZWQgY29tcG9uZW50ICovXHJcbmV4cG9ydCBjbGFzcyBDb21wb25lbnROYW1lQW5kVHlwZSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHR5cGU6IFR5cGU8dW5rbm93bj47XHJcblxyXG4gIGNhbkFjdGl2YXRlPzpcclxuICAgIHwgSnNzQ2FuQWN0aXZhdGVcclxuICAgIHwgVHlwZTxKc3NDYW5BY3RpdmF0ZT5cclxuICAgIHwgSnNzQ2FuQWN0aXZhdGVGblxyXG4gICAgfCBBcnJheTxKc3NDYW5BY3RpdmF0ZSB8IEpzc0NhbkFjdGl2YXRlRm4gfCBUeXBlPEpzc0NhbkFjdGl2YXRlPj47XHJcbiAgcmVzb2x2ZT86IHsgW2tleTogc3RyaW5nXTogSnNzUmVzb2x2ZTx1bmtub3duPiB8IFR5cGU8SnNzUmVzb2x2ZTx1bmtub3duPj4gfTtcclxufVxyXG5cclxuLyoqIFJlZ2lzdGVycyBhIGxhemlseSBsb2FkZWQgY29tcG9uZW50IGJ5IG5hbWUgYW5kIG1vZHVsZSB0byBsYXp5IGxvYWQgd2hlbiBpdCdzIG5lZWRlZCAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudE5hbWVBbmRNb2R1bGUge1xyXG4gIC8qKiBOYW1lIG9mIHRoZSBjb21wb25lbnQgKi9cclxuICBwYXRoOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogRHluYW1pYyBpbXBvcnQgb2YgdGhlIGNvbXBvbmVudCxcclxuICAgKiBlLmcuICgpID0+IGltcG9ydCgnLi9wYXRoL3RvL2xhenlsb2FkZWRjb21wb25lbnQubW9kdWxlJykudGhlbihtID0+IG0uTGF6eUxvYWRlZENvbXBvbmVudE1vZHVsZUV4cG9ydE5hbWUpXHJcbiAgICovXHJcbiAgbG9hZENoaWxkcmVuOiAoKSA9PiBQcm9taXNlPFR5cGU8dW5rbm93bj4+O1xyXG4gIGNhbkFjdGl2YXRlPzpcclxuICAgIHwgSnNzQ2FuQWN0aXZhdGVcclxuICAgIHwgSnNzQ2FuQWN0aXZhdGVGblxyXG4gICAgfCBUeXBlPEpzc0NhbkFjdGl2YXRlPlxyXG4gICAgfCBBcnJheTxKc3NDYW5BY3RpdmF0ZSB8IEpzc0NhbkFjdGl2YXRlRm4gfCBUeXBlPEpzc0NhbkFjdGl2YXRlPj47XHJcbiAgcmVzb2x2ZT86IHsgW2tleTogc3RyaW5nXTogSnNzUmVzb2x2ZTx1bmtub3duPiB8IFR5cGU8SnNzUmVzb2x2ZTx1bmtub3duPj4gfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7dW5rbm93bn0gb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFuY2VPZkNvbXBvbmVudE5hbWVBbmRUeXBlKG9iamVjdDogdW5rbm93bik6IG9iamVjdCBpcyBDb21wb25lbnROYW1lQW5kVHlwZSB7XHJcbiAgcmV0dXJuIHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYmIG9iamVjdCAhPT0gbnVsbCAmJiAndHlwZScgaW4gb2JqZWN0O1xyXG59XHJcblxyXG4vKipcclxuICogQHBhcmFtIHt1bmtub3dufSBvYmplY3RcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBpbnN0YW5jZU9mQ29tcG9uZW50TmFtZUFuZE1vZHVsZShcclxuICBvYmplY3Q6IHVua25vd25cclxuKTogb2JqZWN0IGlzIENvbXBvbmVudE5hbWVBbmRNb2R1bGUge1xyXG4gIHJldHVybiB0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0JyAmJiBvYmplY3QgIT09IG51bGwgJiYgJ21vZHVsZScgaW4gb2JqZWN0O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgUExBQ0VIT0xERVJfQ09NUE9ORU5UUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDb21wb25lbnROYW1lQW5kVHlwZVtdPihcclxuICAnU2MucGxhY2Vob2xkZXIuY29tcG9uZW50cydcclxuKTtcclxuZXhwb3J0IGNvbnN0IFBMQUNFSE9MREVSX0xBWllfQ09NUE9ORU5UUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDb21wb25lbnROYW1lQW5kVHlwZVtdPihcclxuICAnU2MucGxhY2Vob2xkZXIubGF6eUNvbXBvbmVudHMnXHJcbik7XHJcbmV4cG9ydCBjb25zdCBQTEFDRUhPTERFUl9NSVNTSU5HX0NPTVBPTkVOVF9DT01QT05FTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48VHlwZTx1bmtub3duPj4oXHJcbiAgJ1NjLnBsYWNlaG9sZGVyLm1pc3NpbmdDb21wb25lbnRDb21wb25lbnQnXHJcbik7XHJcbmV4cG9ydCBjb25zdCBQTEFDRUhPTERFUl9ISURERU5fUkVOREVSSU5HX0NPTVBPTkVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUeXBlPHVua25vd24+PihcclxuICAnU2MucGxhY2Vob2xkZXIuaGlkZGVuUmVuZGVyaW5nQ29tcG9uZW50J1xyXG4pO1xyXG5leHBvcnQgY29uc3QgRFlOQU1JQ19DT01QT05FTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48VHlwZTx1bmtub3duPiB8IHsgW3M6IHN0cmluZ106IHVua25vd24gfT4oXHJcbiAgJ1NjLnBsYWNlaG9sZGVyLmR5bmFtaWNDb21wb25lbnQnXHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBHdWFyZFJlc29sdmVyID0gKHJlc3VsdDogQ29tcG9uZW50RmFjdG9yeVJlc3VsdFtdKSA9PiBQcm9taXNlPENvbXBvbmVudEZhY3RvcnlSZXN1bHRbXT47XHJcblxyXG5leHBvcnQgY29uc3QgR1VBUkRfUkVTT0xWRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48R3VhcmRSZXNvbHZlcj4oJ1NjLnBsYWNlaG9sZGVyLmd1YXJkUmVzb2x2ZXInKTtcclxuXHJcbmV4cG9ydCB0eXBlIERhdGFSZXNvbHZlciA9IChcclxuICByZXN1bHQ6IENvbXBvbmVudEZhY3RvcnlSZXN1bHRbXVxyXG4pID0+IFByb21pc2U8QXJyYXk8eyBmYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5UmVzdWx0OyBkYXRhOiBEYXRhIH0+PjtcclxuXHJcbmV4cG9ydCBjb25zdCBEQVRBX1JFU09MVkVSID0gbmV3IEluamVjdGlvblRva2VuPERhdGFSZXNvbHZlcj4oJ1NjLnBsYWNlaG9sZGVyLmRhdGFSZXNvbHZlcicpO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBHdWFyZElucHV0IHtcclxuICBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdDtcclxuICByb3V0ZXJTdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdDtcclxuICByZW5kZXJpbmc6IENvbXBvbmVudFJlbmRlcmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBKc3NDYW5BY3RpdmF0ZUZuIHtcclxuICAoaW5wdXQ6IEd1YXJkSW5wdXQpOlxyXG4gICAgfCBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlIHwgc3RyaW5nIHwgc3RyaW5nW10+XHJcbiAgICB8IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWUgfCBzdHJpbmcgfCBzdHJpbmdbXT5cclxuICAgIHwgYm9vbGVhblxyXG4gICAgfCBVcmxUcmVlXHJcbiAgICB8IHN0cmluZ1xyXG4gICAgfCBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBKc3NDYW5BY3RpdmF0ZSB7XHJcbiAgY2FuQWN0aXZhdGU6IEpzc0NhbkFjdGl2YXRlRm47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSnNzUmVzb2x2ZTxUPiB7XHJcbiAgcmVzb2x2ZShpbnB1dDogR3VhcmRJbnB1dCk6IE9ic2VydmFibGU8VD4gfCBQcm9taXNlPFQ+IHwgVDtcclxufVxyXG4iXX0=
@@ -1,39 +1,39 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class RawComponent {
4
- renderer;
5
- elementRef;
6
- rendering;
7
- constructor(renderer, elementRef) {
8
- this.renderer = renderer;
9
- this.elementRef = elementRef;
10
- }
11
- ngOnInit() {
12
- const el = this.renderer.createElement(this.rendering.name);
13
- const contents = this.renderer.createText(this.rendering.contents || '');
14
- const attributes = this.rendering.attributes;
15
- for (const attr in attributes) {
16
- // eslint-disable-next-line no-prototype-builtins
17
- if (attributes.hasOwnProperty(attr)) {
18
- const value = attributes[attr];
19
- this.renderer.setAttribute(el, attr, value || '');
20
- }
21
- }
22
- this.renderer.appendChild(el, contents);
23
- const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);
24
- this.renderer.insertBefore(parentNode, el, this.elementRef.nativeElement);
25
- parentNode.removeChild(this.elementRef.nativeElement);
26
- }
27
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RawComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
28
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RawComponent, selector: "sc-raw", inputs: { rendering: "rendering" }, ngImport: i0, template: '', isInline: true });
29
- }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RawComponent, decorators: [{
31
- type: Component,
32
- args: [{
33
- selector: 'sc-raw',
34
- template: '',
35
- }]
36
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { rendering: [{
37
- type: Input
38
- }] } });
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class RawComponent {
4
+ renderer;
5
+ elementRef;
6
+ rendering;
7
+ constructor(renderer, elementRef) {
8
+ this.renderer = renderer;
9
+ this.elementRef = elementRef;
10
+ }
11
+ ngOnInit() {
12
+ const el = this.renderer.createElement(this.rendering.name);
13
+ const contents = this.renderer.createText(this.rendering.contents || '');
14
+ const attributes = this.rendering.attributes;
15
+ for (const attr in attributes) {
16
+ // eslint-disable-next-line no-prototype-builtins
17
+ if (attributes.hasOwnProperty(attr)) {
18
+ const value = attributes[attr];
19
+ this.renderer.setAttribute(el, attr, value || '');
20
+ }
21
+ }
22
+ this.renderer.appendChild(el, contents);
23
+ const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);
24
+ this.renderer.insertBefore(parentNode, el, this.elementRef.nativeElement);
25
+ parentNode.removeChild(this.elementRef.nativeElement);
26
+ }
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RawComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
28
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RawComponent, selector: "sc-raw", inputs: { rendering: "rendering" }, ngImport: i0, template: '', isInline: true });
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RawComponent, decorators: [{
31
+ type: Component,
32
+ args: [{
33
+ selector: 'sc-raw',
34
+ template: '',
35
+ }]
36
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { rendering: [{
37
+ type: Input
38
+ }] } });
39
39
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3Jhdy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDOztBQU9oRixNQUFNLE9BQU8sWUFBWTtJQUdIO0lBQTZCO0lBRnhDLFNBQVMsQ0FBdUI7SUFFekMsWUFBb0IsUUFBbUIsRUFBVSxVQUFzQjtRQUFuRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUFHLENBQUM7SUFFM0UsUUFBUTtRQUNOLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7UUFDekUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUM7UUFDN0MsS0FBSyxNQUFNLElBQUksSUFBSSxVQUFVLEVBQUU7WUFDN0IsaURBQWlEO1lBQ2pELElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDbkMsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQzthQUNuRDtTQUNGO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzFFLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN4RCxDQUFDO3dHQXJCVSxZQUFZOzRGQUFaLFlBQVksa0ZBRmIsRUFBRTs7NEZBRUQsWUFBWTtrQkFKeEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsUUFBUTtvQkFDbEIsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7eUhBRVUsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0bWxFbGVtZW50UmVuZGVyaW5nIH0gZnJvbSAnQHNpdGVjb3JlLWpzcy9zaXRlY29yZS1qc3MvbGF5b3V0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2MtcmF3JyxcclxuICB0ZW1wbGF0ZTogJycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHJlbmRlcmluZzogSHRtbEVsZW1lbnRSZW5kZXJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnN0IGVsID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KHRoaXMucmVuZGVyaW5nLm5hbWUpO1xyXG4gICAgY29uc3QgY29udGVudHMgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZVRleHQodGhpcy5yZW5kZXJpbmcuY29udGVudHMgfHwgJycpO1xyXG4gICAgY29uc3QgYXR0cmlidXRlcyA9IHRoaXMucmVuZGVyaW5nLmF0dHJpYnV0ZXM7XHJcbiAgICBmb3IgKGNvbnN0IGF0dHIgaW4gYXR0cmlidXRlcykge1xyXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zXHJcbiAgICAgIGlmIChhdHRyaWJ1dGVzLmhhc093blByb3BlcnR5KGF0dHIpKSB7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBhdHRyaWJ1dGVzW2F0dHJdO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGVsLCBhdHRyLCB2YWx1ZSB8fCAnJyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGVsLCBjb250ZW50cyk7XHJcbiAgICBjb25zdCBwYXJlbnROb2RlID0gdGhpcy5yZW5kZXJlci5wYXJlbnROb2RlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICAgIHRoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKHBhcmVudE5vZGUsIGVsLCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICBwYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,106 +1,106 @@
1
- import { Component, Inject, Input, ViewChild, ViewContainerRef, } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import { takeWhile } from 'rxjs/operators';
4
- import { PLACEHOLDER_MISSING_COMPONENT_COMPONENT } from './placeholder.token';
5
- import { RawComponent } from './raw.component';
6
- import { isRawRendering } from './rendering';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "../jss-component-factory.service";
9
- /**
10
- * Renders a single JSS component given a rendering definition.
11
- * Useful inside templated placeholders.
12
- */
13
- export class RenderComponentComponent {
14
- differs;
15
- componentFactory;
16
- missingComponentComponent;
17
- rendering;
18
- outputs;
19
- view;
20
- _inputs;
21
- _differ;
22
- destroyed = false;
23
- constructor(differs, componentFactory, missingComponentComponent) {
24
- this.differs = differs;
25
- this.componentFactory = componentFactory;
26
- this.missingComponentComponent = missingComponentComponent;
27
- }
28
- set inputs(value) {
29
- this._inputs = value;
30
- if (!this._differ && value) {
31
- this._differ = this.differs.find(value).create();
32
- }
33
- }
34
- ngOnChanges(changes) {
35
- if (changes.rendering) {
36
- this._render();
37
- }
38
- }
39
- _setComponentInputs(componentInstance, inputs) {
40
- Object.entries(inputs).forEach(([input, inputValue]) => (componentInstance[input] = inputValue));
41
- }
42
- _subscribeComponentOutputs(componentInstance, outputs) {
43
- Object.keys(outputs)
44
- .filter((output) => componentInstance[output] && componentInstance[output] instanceof Observable)
45
- .forEach((output) => componentInstance[output]
46
- .pipe(takeWhile(() => !this.destroyed))
47
- .subscribe(outputs[output]));
48
- }
49
- _render() {
50
- this.view.clear();
51
- if (!this.rendering) {
52
- return;
53
- }
54
- const resolveComponent = isRawRendering(this.rendering)
55
- ? Promise.resolve({
56
- componentImplementation: RawComponent,
57
- componentDefinition: this.rendering,
58
- })
59
- : this.componentFactory.getComponent(this.rendering);
60
- resolveComponent.then((rendering) => {
61
- if (!rendering.componentImplementation) {
62
- const componentName = rendering.componentDefinition.componentName;
1
+ import { Component, Inject, Input, ViewChild, ViewContainerRef, } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { takeWhile } from 'rxjs/operators';
4
+ import { PLACEHOLDER_MISSING_COMPONENT_COMPONENT } from './placeholder.token';
5
+ import { RawComponent } from './raw.component';
6
+ import { isRawRendering } from './rendering';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../jss-component-factory.service";
9
+ /**
10
+ * Renders a single JSS component given a rendering definition.
11
+ * Useful inside templated placeholders.
12
+ */
13
+ export class RenderComponentComponent {
14
+ differs;
15
+ componentFactory;
16
+ missingComponentComponent;
17
+ rendering;
18
+ outputs;
19
+ view;
20
+ _inputs;
21
+ _differ;
22
+ destroyed = false;
23
+ constructor(differs, componentFactory, missingComponentComponent) {
24
+ this.differs = differs;
25
+ this.componentFactory = componentFactory;
26
+ this.missingComponentComponent = missingComponentComponent;
27
+ }
28
+ set inputs(value) {
29
+ this._inputs = value;
30
+ if (!this._differ && value) {
31
+ this._differ = this.differs.find(value).create();
32
+ }
33
+ }
34
+ ngOnChanges(changes) {
35
+ if (changes.rendering) {
36
+ this._render();
37
+ }
38
+ }
39
+ _setComponentInputs(componentInstance, inputs) {
40
+ Object.entries(inputs).forEach(([input, inputValue]) => (componentInstance[input] = inputValue));
41
+ }
42
+ _subscribeComponentOutputs(componentInstance, outputs) {
43
+ Object.keys(outputs)
44
+ .filter((output) => componentInstance[output] && componentInstance[output] instanceof Observable)
45
+ .forEach((output) => componentInstance[output]
46
+ .pipe(takeWhile(() => !this.destroyed))
47
+ .subscribe(outputs[output]));
48
+ }
49
+ _render() {
50
+ this.view.clear();
51
+ if (!this.rendering) {
52
+ return;
53
+ }
54
+ const resolveComponent = isRawRendering(this.rendering)
55
+ ? Promise.resolve({
56
+ componentImplementation: RawComponent,
57
+ componentDefinition: this.rendering,
58
+ })
59
+ : this.componentFactory.getComponent(this.rendering);
60
+ resolveComponent.then((rendering) => {
61
+ if (!rendering.componentImplementation) {
62
+ const componentName = rendering.componentDefinition.componentName;
63
63
  console.error(`Attempted to render unknown component ${componentName}.`, `Ensure component is mapped, like:
64
64
  JssModule.withComponents([
65
65
  { name: '${componentName}', type: ${componentName}Component }
66
- ])`);
67
- rendering.componentImplementation = this.missingComponentComponent;
68
- }
69
- const componentInstance = this.view.createComponent(rendering.componentImplementation)
70
- .instance;
71
- componentInstance.rendering = rendering.componentDefinition;
72
- if (this._inputs) {
73
- this._setComponentInputs(componentInstance, this._inputs);
74
- }
75
- if (this.outputs) {
76
- this._subscribeComponentOutputs(componentInstance, this.outputs);
77
- }
78
- });
79
- }
80
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RenderComponentComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i1.JssComponentFactoryService }, { token: PLACEHOLDER_MISSING_COMPONENT_COMPONENT }], target: i0.ɵɵFactoryTarget.Component });
66
+ ])`);
67
+ rendering.componentImplementation = this.missingComponentComponent;
68
+ }
69
+ const componentInstance = this.view.createComponent(rendering.componentImplementation)
70
+ .instance;
71
+ componentInstance.rendering = rendering.componentDefinition;
72
+ if (this._inputs) {
73
+ this._setComponentInputs(componentInstance, this._inputs);
74
+ }
75
+ if (this.outputs) {
76
+ this._subscribeComponentOutputs(componentInstance, this.outputs);
77
+ }
78
+ });
79
+ }
80
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RenderComponentComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i1.JssComponentFactoryService }, { token: PLACEHOLDER_MISSING_COMPONENT_COMPONENT }], target: i0.ɵɵFactoryTarget.Component });
81
81
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RenderComponentComponent, selector: "sc-render-component", inputs: { rendering: "rendering", outputs: "outputs", inputs: "inputs" }, viewQueries: [{ propertyName: "view", first: true, predicate: ["view"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: `
82
82
  <ng-template #view></ng-template>
83
- `, isInline: true });
84
- }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RenderComponentComponent, decorators: [{
86
- type: Component,
87
- args: [{
88
- selector: 'sc-render-component',
83
+ `, isInline: true });
84
+ }
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RenderComponentComponent, decorators: [{
86
+ type: Component,
87
+ args: [{
88
+ selector: 'sc-render-component',
89
89
  template: `
90
90
  <ng-template #view></ng-template>
91
- `,
92
- }]
93
- }], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }, { type: i1.JssComponentFactoryService }, { type: i0.Type, decorators: [{
94
- type: Inject,
95
- args: [PLACEHOLDER_MISSING_COMPONENT_COMPONENT]
96
- }] }]; }, propDecorators: { rendering: [{
97
- type: Input
98
- }], outputs: [{
99
- type: Input
100
- }], view: [{
101
- type: ViewChild,
102
- args: ['view', { read: ViewContainerRef, static: true }]
103
- }], inputs: [{
104
- type: Input
105
- }] } });
91
+ `,
92
+ }]
93
+ }], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }, { type: i1.JssComponentFactoryService }, { type: i0.Type, decorators: [{
94
+ type: Inject,
95
+ args: [PLACEHOLDER_MISSING_COMPONENT_COMPONENT]
96
+ }] }]; }, propDecorators: { rendering: [{
97
+ type: Input
98
+ }], outputs: [{
99
+ type: Input
100
+ }], view: [{
101
+ type: ViewChild,
102
+ args: ['view', { read: ViewContainerRef, static: true }]
103
+ }], inputs: [{
104
+ type: Input
105
+ }] } });
106
106
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWNvbXBvbmVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9yZW5kZXItY29tcG9uZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBTUwsU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUszQyxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBRTdDOzs7R0FHRztBQU9ILE1BQU0sT0FBTyx3QkFBd0I7SUFVekI7SUFDQTtJQUVBO0lBWkQsU0FBUyxDQUE0QztJQUNyRCxPQUFPLENBQWdEO0lBQ0ssSUFBSSxDQUFtQjtJQUVwRixPQUFPLENBQTZCO0lBQ3BDLE9BQU8sQ0FBa0M7SUFDekMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUUxQixZQUNVLE9BQXdCLEVBQ3hCLGdCQUE0QyxFQUU1Qyx5QkFBMkQ7UUFIM0QsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFDeEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE0QjtRQUU1Qyw4QkFBeUIsR0FBekIseUJBQXlCLENBQWtDO0lBQ2xFLENBQUM7SUFFSixJQUNJLE1BQU0sQ0FBQyxLQUFpQztRQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLEVBQUU7WUFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJ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RVQ7OzRGQUVVLHdCQUF3QjtrQkFOcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUU7O0dBRVQ7aUJBQ0Y7OzBCQWFJLE1BQU07MkJBQUMsdUNBQXVDOzRDQVh4QyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDK0QsSUFBSTtzQkFBeEUsU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFjdkQsTUFBTTtzQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIEtleVZhbHVlRGlmZmVyLFxyXG4gIEtleVZhbHVlRGlmZmVycyxcclxuICBPbkNoYW5nZXMsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBUeXBlLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRSZW5kZXJpbmcsIEh0bWxFbGVtZW50UmVuZGVyaW5nIH0gZnJvbSAnQHNpdGVjb3JlLWpzcy9zaXRlY29yZS1qc3MvbGF5b3V0JztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc3VsdCxcclxuICBKc3NDb21wb25lbnRGYWN0b3J5U2VydmljZSxcclxufSBmcm9tICcuLi9qc3MtY29tcG9uZW50LWZhY3Rvcnkuc2VydmljZSc7XHJcbmltcG9ydCB7IFBMQUNFSE9MREVSX01JU1NJTkdfQ09NUE9ORU5UX0NPTVBPTkVOVCB9IGZyb20gJy4vcGxhY2Vob2xkZXIudG9rZW4nO1xyXG5pbXBvcnQgeyBSYXdDb21wb25lbnQgfSBmcm9tICcuL3Jhdy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBpc1Jhd1JlbmRlcmluZyB9IGZyb20gJy4vcmVuZGVyaW5nJztcclxuXHJcbi8qKlxyXG4gKiBSZW5kZXJzIGEgc2luZ2xlIEpTUyBjb21wb25lbnQgZ2l2ZW4gYSByZW5kZXJpbmcgZGVmaW5pdGlvbi5cclxuICogVXNlZnVsIGluc2lkZSB0ZW1wbGF0ZWQgcGxhY2Vob2xkZXJzLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYy1yZW5kZXItY29tcG9uZW50JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPG5nLXRlbXBsYXRlICN2aWV3PjwvbmctdGVtcGxhdGU+XHJcbiAgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlbmRlckNvbXBvbmVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgcmVuZGVyaW5nOiBDb21wb25lbnRSZW5kZXJpbmcgfCBIdG1sRWxlbWVudFJlbmRlcmluZztcclxuICBASW5wdXQoKSBvdXRwdXRzOiB7IFtrOiBzdHJpbmddOiAoZXZlbnRUeXBlOiB1bmtub3duKSA9PiB2b2lkIH07XHJcbiAgQFZpZXdDaGlsZCgndmlldycsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIHByaXZhdGUgdmlldzogVmlld0NvbnRhaW5lclJlZjtcclxuXHJcbiAgcHJpdmF0ZSBfaW5wdXRzOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfTtcclxuICBwcml2YXRlIF9kaWZmZXI6IEtleVZhbHVlRGlmZmVyPHN0cmluZywgdW5rbm93bj47XHJcbiAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRpZmZlcnM6IEtleVZhbHVlRGlmZmVycyxcclxuICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeTogSnNzQ29tcG9uZW50RmFjdG9yeVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KFBMQUNFSE9MREVSX01JU1NJTkdfQ09NUE9ORU5UX0NPTVBPTkVOVClcclxuICAgIHByaXZhdGUgbWlzc2luZ0NvbXBvbmVudENvbXBvbmVudDogVHlwZTx7IFtrZXk6IHN0cmluZ106IHVua25vd24gfT5cclxuICApIHt9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGlucHV0cyh2YWx1ZTogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0pIHtcclxuICAgIHRoaXMuX2lucHV0cyA9IHZhbHVlO1xyXG4gICAgaWYgKCF0aGlzLl9kaWZmZXIgJiYgdmFsdWUpIHtcclxuICAgICAgdGhpcy5fZGlmZmVyID0gdGhpcy5kaWZmZXJzLmZpbmQodmFsdWUpLmNyZWF0ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKGNoYW5nZXMucmVuZGVyaW5nKSB7XHJcbiAgICAgIHRoaXMuX3JlbmRlcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0Q29tcG9uZW50SW5wdXRzKFxyXG4gICAgY29tcG9uZW50SW5zdGFuY2U6IHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9LFxyXG4gICAgaW5wdXRzOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfVxyXG4gICkge1xyXG4gICAgT2JqZWN0LmVudHJpZXMoaW5wdXRzKS5mb3JFYWNoKFxyXG4gICAgICAoW2lucHV0LCBpbnB1dFZhbHVlXSkgPT5cclxuICAgICAgICAoKGNvbXBvbmVudEluc3RhbmNlIGFzIHsgW3Byb3A6IHN0cmluZ106IHVua25vd24gfSlbaW5wdXRdID0gaW5wdXRWYWx1ZSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zdWJzY3JpYmVDb21wb25lbnRPdXRwdXRzKFxyXG4gICAgY29tcG9uZW50SW5zdGFuY2U6IHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9LFxyXG4gICAgb3V0cHV0czogeyBbazogc3RyaW5nXTogKGV2ZW50VHlwZTogdW5rbm93bikgPT4gdm9pZCB9XHJcbiAgKSB7XHJcbiAgICBPYmplY3Qua2V5cyhvdXRwdXRzKVxyXG4gICAgICAuZmlsdGVyKFxyXG4gICAgICAgIChvdXRwdXQpID0+IGNvbXBvbmVudEluc3RhbmNlW291dHB1dF0gJiYgY29tcG9uZW50SW5zdGFuY2Vbb3V0cHV0XSBpbnN0YW5jZW9mIE9ic2VydmFibGVcclxuICAgICAgKVxyXG4gICAgICAuZm9yRWFjaCgob3V0cHV0KSA9PlxyXG4gICAgICAgIChjb21wb25lbnRJbnN0YW5jZVtvdXRwdXRdIGFzIE9ic2VydmFibGU8dW5rbm93bj4pXHJcbiAgICAgICAgICAucGlwZSh0YWtlV2hpbGUoKCkgPT4gIXRoaXMuZGVzdHJveWVkKSlcclxuICAgICAgICAgIC5zdWJzY3JpYmUob3V0cHV0c1tvdXRwdXRdKVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcmVuZGVyKCkge1xyXG4gICAgdGhpcy52aWV3LmNsZWFyKCk7XHJcblxyXG4gICAgaWYgKCF0aGlzLnJlbmRlcmluZykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcmVzb2x2ZUNvbXBvbmVudDogUHJvbWlzZTxDb21wb25lbnRGYWN0b3J5UmVzdWx0PiA9IGlzUmF3UmVuZGVyaW5nKHRoaXMucmVuZGVyaW5nKVxyXG4gICAgICA/IFByb21pc2UucmVzb2x2ZSh7XHJcbiAgICAgICAgICBjb21wb25lbnRJbXBsZW1lbnRhdGlvbjogUmF3Q29tcG9uZW50LFxyXG4gICAgICAgICAgY29tcG9uZW50RGVmaW5pdGlvbjogdGhpcy5yZW5kZXJpbmcsXHJcbiAgICAgICAgfSlcclxuICAgICAgOiB0aGlzLmNvbXBvbmVudEZhY3RvcnkuZ2V0Q29tcG9uZW50KHRoaXMucmVuZGVyaW5nKTtcclxuXHJcbiAgICByZXNvbHZlQ29tcG9uZW50LnRoZW4oKHJlbmRlcmluZykgPT4ge1xyXG4gICAgICBpZiAoIXJlbmRlcmluZy5jb21wb25lbnRJbXBsZW1lbnRhdGlvbikge1xyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudE5hbWUgPSAocmVuZGVyaW5nLmNvbXBvbmVudERlZmluaXRpb24gYXMgQ29tcG9uZW50UmVuZGVyaW5nKS5jb21wb25lbnROYW1lO1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXHJcbiAgICAgICAgICBgQXR0ZW1wdGVkIHRvIHJlbmRlciB1bmtub3duIGNvbXBvbmVudCAke2NvbXBvbmVudE5hbWV9LmAsXHJcbiAgICAgICAgICBgRW5zdXJlIGNvbXBvbmVudCBpcyBtYXBwZWQsIGxpa2U6XHJcbiAgICAgICAgICBKc3NNb2R1bGUud2l0aENvbXBvbmVudHMoW1xyXG4gICAgICAgICAgICB7IG5hbWU6ICcke2NvbXBvbmVudE5hbWV9JywgdHlwZTogJHtjb21wb25lbnROYW1lfUNvbXBvbmVudCB9XHJcbiAgICAgICAgICBdKWBcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICByZW5kZXJpbmcuY29tcG9uZW50SW1wbGVtZW50YXRpb24gPSB0aGlzLm1pc3NpbmdDb21wb25lbnRDb21wb25lbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGNvbXBvbmVudEluc3RhbmNlID0gdGhpcy52aWV3LmNyZWF0ZUNvbXBvbmVudChyZW5kZXJpbmcuY29tcG9uZW50SW1wbGVtZW50YXRpb24pXHJcbiAgICAgICAgLmluc3RhbmNlO1xyXG4gICAgICBjb21wb25lbnRJbnN0YW5jZS5yZW5kZXJpbmcgPSByZW5kZXJpbmcuY29tcG9uZW50RGVmaW5pdGlvbjtcclxuICAgICAgaWYgKHRoaXMuX2lucHV0cykge1xyXG4gICAgICAgIHRoaXMuX3NldENvbXBvbmVudElucHV0cyhjb21wb25lbnRJbnN0YW5jZSwgdGhpcy5faW5wdXRzKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5vdXRwdXRzKSB7XHJcbiAgICAgICAgdGhpcy5fc3Vic2NyaWJlQ29tcG9uZW50T3V0cHV0cyhjb21wb25lbnRJbnN0YW5jZSwgdGhpcy5vdXRwdXRzKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,17 +1,17 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class RenderEachDirective {
4
- templateRef;
5
- constructor(templateRef) {
6
- this.templateRef = templateRef;
7
- }
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RenderEachDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: RenderEachDirective, selector: "[renderEach]", ngImport: i0 });
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RenderEachDirective, decorators: [{
12
- type: Directive,
13
- args: [{
14
- selector: '[renderEach]',
15
- }]
16
- }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class RenderEachDirective {
4
+ templateRef;
5
+ constructor(templateRef) {
6
+ this.templateRef = templateRef;
7
+ }
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RenderEachDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: RenderEachDirective, selector: "[renderEach]", ngImport: i0 });
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RenderEachDirective, decorators: [{
12
+ type: Directive,
13
+ args: [{
14
+ selector: '[renderEach]',
15
+ }]
16
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
17
17
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWVhY2guZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcmVuZGVyLWVhY2guZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7O0FBS3ZELE1BQU0sT0FBTyxtQkFBbUI7SUFDWDtJQUFuQixZQUFtQixXQUFpQztRQUFqQyxnQkFBVyxHQUFYLFdBQVcsQ0FBc0I7SUFBRyxDQUFDO3dHQUQ3QyxtQkFBbUI7NEZBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tyZW5kZXJFYWNoXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZW5kZXJFYWNoRGlyZWN0aXZlIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+KSB7fVxyXG59XHJcbiJdfQ==
@@ -1,17 +1,17 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class RenderEmptyDirective {
4
- templateRef;
5
- constructor(templateRef) {
6
- this.templateRef = templateRef;
7
- }
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RenderEmptyDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: RenderEmptyDirective, selector: "[renderEmpty]", ngImport: i0 });
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RenderEmptyDirective, decorators: [{
12
- type: Directive,
13
- args: [{
14
- selector: '[renderEmpty]',
15
- }]
16
- }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class RenderEmptyDirective {
4
+ templateRef;
5
+ constructor(templateRef) {
6
+ this.templateRef = templateRef;
7
+ }
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RenderEmptyDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: RenderEmptyDirective, selector: "[renderEmpty]", ngImport: i0 });
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RenderEmptyDirective, decorators: [{
12
+ type: Directive,
13
+ args: [{
14
+ selector: '[renderEmpty]',
15
+ }]
16
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
17
17
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWVtcHR5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3JlbmRlci1lbXB0eS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFLdkQsTUFBTSxPQUFPLG9CQUFvQjtJQUNaO0lBQW5CLFlBQW1CLFdBQWlDO1FBQWpDLGdCQUFXLEdBQVgsV0FBVyxDQUFzQjtJQUFHLENBQUM7d0dBRDdDLG9CQUFvQjs0RkFBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO2lCQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3JlbmRlckVtcHR5XScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZW5kZXJFbXB0eURpcmVjdGl2ZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPikge31cclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLWZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcmVuZGVyaW5nLWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVuZGVyaW5nRmllbGQ8ViA9IHVua25vd24+IHtcclxuICB2YWx1ZT86IFY7XHJcbiAgZWRpdGFibGU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0ZUZpZWxkIHtcclxuICB2YWx1ZT86IHN0cmluZyB8IG51bWJlciB8IERhdGU7XHJcbiAgZWRpdGFibGU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmlsZUZpZWxkVmFsdWUge1xyXG4gIHNyYz86IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICBkaXNwbGF5TmFtZT86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaWxlRmllbGQgZXh0ZW5kcyBGaWxlRmllbGRWYWx1ZSwgUmVuZGVyaW5nRmllbGQge1xyXG4gIHZhbHVlPzogRmlsZUZpZWxkVmFsdWU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VGaWVsZFZhbHVlIHtcclxuICBba2V5OiBzdHJpbmddOiB1bmtub3duO1xyXG4gIHNyYz86IHN0cmluZztcclxuICBzcmNTZXQ/OiB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQ7XHJcbiAgfVtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlRmllbGQgZXh0ZW5kcyBJbWFnZUZpZWxkVmFsdWUsIFJlbmRlcmluZ0ZpZWxkIHtcclxuICB2YWx1ZT86IEltYWdlRmllbGRWYWx1ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMaW5rRmllbGRWYWx1ZSB7XHJcbiAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcclxuICBocmVmPzogc3RyaW5nO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgYW5jaG9yPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExpbmtGaWVsZCBleHRlbmRzIExpbmtGaWVsZFZhbHVlLCBSZW5kZXJpbmdGaWVsZCB7XHJcbiAgdmFsdWU/OiBMaW5rRmllbGRWYWx1ZTtcclxuICBlZGl0YWJsZUZpcnN0UGFydD86IHN0cmluZztcclxuICBlZGl0YWJsZUxhc3RQYXJ0Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJpY2hUZXh0RmllbGQgZXh0ZW5kcyBSZW5kZXJpbmdGaWVsZDxzdHJpbmc+IHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRleHRGaWVsZCBleHRlbmRzIFJlbmRlcmluZ0ZpZWxkPHN0cmluZz4ge31cclxuIl19
@@ -1,8 +1,8 @@
1
- /**
2
- * @param {HtmlElementRendering | ComponentRendering} rendering
3
- */
4
- export function isRawRendering(rendering) {
5
- return (!rendering.componentName &&
6
- rendering.name !== undefined);
7
- }
1
+ /**
2
+ * @param {HtmlElementRendering | ComponentRendering} rendering
3
+ */
4
+ export function isRawRendering(rendering) {
5
+ return (!rendering.componentName &&
6
+ rendering.name !== undefined);
7
+ }
8
8
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcmVuZGVyaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsU0FBb0Q7SUFFcEQsT0FBTyxDQUNMLENBQUUsU0FBZ0MsQ0FBQyxhQUFhO1FBQy9DLFNBQWtDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FDdkQsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRSZW5kZXJpbmcsIEh0bWxFbGVtZW50UmVuZGVyaW5nIH0gZnJvbSAnQHNpdGVjb3JlLWpzcy9zaXRlY29yZS1qc3MvbGF5b3V0JztcclxuXHJcbi8qKlxyXG4gKiBAcGFyYW0ge0h0bWxFbGVtZW50UmVuZGVyaW5nIHwgQ29tcG9uZW50UmVuZGVyaW5nfSByZW5kZXJpbmdcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBpc1Jhd1JlbmRlcmluZyhcclxuICByZW5kZXJpbmc6IEh0bWxFbGVtZW50UmVuZGVyaW5nIHwgQ29tcG9uZW50UmVuZGVyaW5nXHJcbik6IHJlbmRlcmluZyBpcyBIdG1sRWxlbWVudFJlbmRlcmluZyB7XHJcbiAgcmV0dXJuIChcclxuICAgICEocmVuZGVyaW5nIGFzIENvbXBvbmVudFJlbmRlcmluZykuY29tcG9uZW50TmFtZSAmJlxyXG4gICAgKHJlbmRlcmluZyBhcyBIdG1sRWxlbWVudFJlbmRlcmluZykubmFtZSAhPT0gdW5kZWZpbmVkXHJcbiAgKTtcclxufVxyXG4iXX0=
@@ -1,69 +1,69 @@
1
- import { Directive, Input, } from '@angular/core';
2
- import { isAbsoluteUrl } from '@sitecore-jss/sitecore-jss/utils';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/router";
5
- export class RichTextDirective {
6
- viewContainer;
7
- templateRef;
8
- renderer;
9
- router;
10
- editable = true;
11
- field;
12
- viewRef;
13
- constructor(viewContainer, templateRef, renderer, router) {
14
- this.viewContainer = viewContainer;
15
- this.templateRef = templateRef;
16
- this.renderer = renderer;
17
- this.router = router;
18
- }
19
- ngOnChanges(changes) {
20
- if (changes.field || changes.editable) {
21
- if (!this.viewRef) {
22
- this.viewContainer.clear();
23
- this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
24
- }
25
- this.updateView();
26
- }
27
- }
28
- updateView() {
29
- const field = this.field;
30
- if (!field || (!field.editable && !field.value)) {
31
- return;
32
- }
33
- const html = field.editable && this.editable ? field.editable : field.value;
34
- this.viewRef.rootNodes.forEach((node) => {
35
- node.innerHTML = html;
36
- if (!node.querySelectorAll) {
37
- return;
38
- }
39
- const links = node.querySelectorAll('a[href]');
40
- const linksArray = [].slice.call(links);
41
- linksArray.forEach((link) => {
42
- const href = link.getAttribute('href');
43
- const target = link.getAttribute('target');
44
- if (!href || isAbsoluteUrl(href) || target === '_blank' || target === '_top') {
45
- return;
46
- }
47
- this.renderer.listen(link, 'click', (event) => {
48
- this.router.navigateByUrl(href);
49
- event.preventDefault();
50
- });
51
- });
52
- });
53
- }
54
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RichTextDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.Renderer2 }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Directive });
55
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: RichTextDirective, selector: "[scRichText]", inputs: { editable: ["scRichTextEditable", "editable"], field: ["scRichText", "field"] }, usesOnChanges: true, ngImport: i0 });
56
- }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RichTextDirective, decorators: [{
58
- type: Directive,
59
- args: [{
60
- selector: '[scRichText]',
61
- }]
62
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.Renderer2 }, { type: i1.Router }]; }, propDecorators: { editable: [{
63
- type: Input,
64
- args: ['scRichTextEditable']
65
- }], field: [{
66
- type: Input,
67
- args: ['scRichText']
68
- }] } });
1
+ import { Directive, Input, } from '@angular/core';
2
+ import { isAbsoluteUrl } from '@sitecore-jss/sitecore-jss/utils';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/router";
5
+ export class RichTextDirective {
6
+ viewContainer;
7
+ templateRef;
8
+ renderer;
9
+ router;
10
+ editable = true;
11
+ field;
12
+ viewRef;
13
+ constructor(viewContainer, templateRef, renderer, router) {
14
+ this.viewContainer = viewContainer;
15
+ this.templateRef = templateRef;
16
+ this.renderer = renderer;
17
+ this.router = router;
18
+ }
19
+ ngOnChanges(changes) {
20
+ if (changes.field || changes.editable) {
21
+ if (!this.viewRef) {
22
+ this.viewContainer.clear();
23
+ this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
24
+ }
25
+ this.updateView();
26
+ }
27
+ }
28
+ updateView() {
29
+ const field = this.field;
30
+ if (!field || (!field.editable && !field.value)) {
31
+ return;
32
+ }
33
+ const html = field.editable && this.editable ? field.editable : field.value;
34
+ this.viewRef.rootNodes.forEach((node) => {
35
+ node.innerHTML = html;
36
+ if (!node.querySelectorAll) {
37
+ return;
38
+ }
39
+ const links = node.querySelectorAll('a[href]');
40
+ const linksArray = [].slice.call(links);
41
+ linksArray.forEach((link) => {
42
+ const href = link.getAttribute('href');
43
+ const target = link.getAttribute('target');
44
+ if (!href || isAbsoluteUrl(href) || target === '_blank' || target === '_top') {
45
+ return;
46
+ }
47
+ this.renderer.listen(link, 'click', (event) => {
48
+ this.router.navigateByUrl(href);
49
+ event.preventDefault();
50
+ });
51
+ });
52
+ });
53
+ }
54
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RichTextDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.Renderer2 }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Directive });
55
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: RichTextDirective, selector: "[scRichText]", inputs: { editable: ["scRichTextEditable", "editable"], field: ["scRichText", "field"] }, usesOnChanges: true, ngImport: i0 });
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RichTextDirective, decorators: [{
58
+ type: Directive,
59
+ args: [{
60
+ selector: '[scRichText]',
61
+ }]
62
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.Renderer2 }, { type: i1.Router }]; }, propDecorators: { editable: [{
63
+ type: Input,
64
+ args: ['scRichTextEditable']
65
+ }], field: [{
66
+ type: Input,
67
+ args: ['scRichText']
68
+ }] } });
69
69
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3JpY2gtdGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEdBTU4sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7QUFNakUsTUFBTSxPQUFPLGlCQUFpQjtJQVFsQjtJQUNBO0lBQ0E7SUFDQTtJQVZtQixRQUFRLEdBQUcsSUFBSSxDQUFDO0lBRXhCLEtBQUssQ0FBZ0I7SUFFbEMsT0FBTyxDQUEyQjtJQUUxQyxZQUNVLGFBQStCLEVBQy9CLFdBQWlDLEVBQ2pDLFFBQW1CLEVBQ25CLE1BQWM7UUFIZCxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsZ0JBQVcsR0FBWCxXQUFXLENBQXNCO1FBQ2pDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNyQixDQUFDO0lBRUosV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ3hFO1lBRUQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVPLFVBQVU7UUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQy9DLE9BQU87U0FDUjtRQUVELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUM1RSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUV0QixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUMxQixPQUFPO2FBQ1I7WUFFRCxNQUFNLEtBQUssR0FBZ0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzVFLE1BQU0sVUFBVSxHQUEyQixFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUVoRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQzFCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3ZDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBRTNDLElBQUksQ0FBQyxJQUFJLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sS0FBSyxRQUFRLElBQUksTUFBTSxLQUFLLE1BQU0sRUFBRTtvQkFDNUUsT0FBTztpQkFDUjtnQkFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNoQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3pCLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBeERVLGlCQUFpQjs0RkFBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUg3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO2lCQUN6Qjs4S0FFOEIsUUFBUTtzQkFBcEMsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBRU4sS0FBSztzQkFBekIsS0FBSzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgRW1iZWRkZWRWaWV3UmVmLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbiAgUmVuZGVyZXIyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBpc0Fic29sdXRlVXJsIH0gZnJvbSAnQHNpdGVjb3JlLWpzcy9zaXRlY29yZS1qc3MvdXRpbHMnO1xyXG5pbXBvcnQgeyBSaWNoVGV4dEZpZWxkIH0gZnJvbSAnLi9yZW5kZXJpbmctZmllbGQnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbc2NSaWNoVGV4dF0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmljaFRleHREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgnc2NSaWNoVGV4dEVkaXRhYmxlJykgZWRpdGFibGUgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoJ3NjUmljaFRleHQnKSBmaWVsZDogUmljaFRleHRGaWVsZDtcclxuXHJcbiAgcHJpdmF0ZSB2aWV3UmVmOiBFbWJlZGRlZFZpZXdSZWY8dW5rbm93bj47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4sXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlcy5maWVsZCB8fCBjaGFuZ2VzLmVkaXRhYmxlKSB7XHJcbiAgICAgIGlmICghdGhpcy52aWV3UmVmKSB7XHJcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICAgICAgdGhpcy52aWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVZpZXcoKSB7XHJcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuZmllbGQ7XHJcbiAgICBpZiAoIWZpZWxkIHx8ICghZmllbGQuZWRpdGFibGUgJiYgIWZpZWxkLnZhbHVlKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaHRtbCA9IGZpZWxkLmVkaXRhYmxlICYmIHRoaXMuZWRpdGFibGUgPyBmaWVsZC5lZGl0YWJsZSA6IGZpZWxkLnZhbHVlO1xyXG4gICAgdGhpcy52aWV3UmVmLnJvb3ROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcbiAgICAgIG5vZGUuaW5uZXJIVE1MID0gaHRtbDtcclxuXHJcbiAgICAgIGlmICghbm9kZS5xdWVyeVNlbGVjdG9yQWxsKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBsaW5rczogTm9kZUxpc3RPZjxIVE1MTGlua0VsZW1lbnQ+ID0gbm9kZS5xdWVyeVNlbGVjdG9yQWxsKCdhW2hyZWZdJyk7XHJcbiAgICAgIGNvbnN0IGxpbmtzQXJyYXk6IEFycmF5PEhUTUxMaW5rRWxlbWVudD4gPSBbXS5zbGljZS5jYWxsKGxpbmtzKTtcclxuXHJcbiAgICAgIGxpbmtzQXJyYXkuZm9yRWFjaCgobGluaykgPT4ge1xyXG4gICAgICAgIGNvbnN0IGhyZWYgPSBsaW5rLmdldEF0dHJpYnV0ZSgnaHJlZicpO1xyXG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGxpbmsuZ2V0QXR0cmlidXRlKCd0YXJnZXQnKTtcclxuXHJcbiAgICAgICAgaWYgKCFocmVmIHx8IGlzQWJzb2x1dGVVcmwoaHJlZikgfHwgdGFyZ2V0ID09PSAnX2JsYW5rJyB8fCB0YXJnZXQgPT09ICdfdG9wJykge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4obGluaywgJ2NsaWNrJywgKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGhyZWYpO1xyXG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19