@sitecore-jss/sitecore-jss-angular 16.0.2 → 16.0.3

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 (32) hide show
  1. package/dist/bundles/sitecore-jss-sitecore-jss-angular.umd.js +4 -0
  2. package/dist/bundles/sitecore-jss-sitecore-jss-angular.umd.js.map +1 -1
  3. package/dist/bundles/sitecore-jss-sitecore-jss-angular.umd.min.js +1 -1
  4. package/dist/bundles/sitecore-jss-sitecore-jss-angular.umd.min.js.map +1 -1
  5. package/dist/esm2015/components/date.directive.js +1 -1
  6. package/dist/esm2015/components/file.directive.js +1 -1
  7. package/dist/esm2015/components/generic-link.directive.js +1 -1
  8. package/dist/esm2015/components/image.directive.js +3 -1
  9. package/dist/esm2015/components/link.directive.js +3 -1
  10. package/dist/esm2015/components/missing-component.component.js +1 -1
  11. package/dist/esm2015/components/placeholder-loading.directive.js +1 -1
  12. package/dist/esm2015/components/placeholder.component.js +1 -1
  13. package/dist/esm2015/components/placeholder.token.js +1 -1
  14. package/dist/esm2015/components/raw.component.js +1 -1
  15. package/dist/esm2015/components/render-component.component.js +1 -1
  16. package/dist/esm2015/components/render-each.directive.js +1 -1
  17. package/dist/esm2015/components/render-empty.directive.js +1 -1
  18. package/dist/esm2015/components/rendering-field.js +1 -1
  19. package/dist/esm2015/components/rendering.js +1 -1
  20. package/dist/esm2015/components/rich-text.directive.js +1 -1
  21. package/dist/esm2015/components/router-link.directive.js +1 -1
  22. package/dist/esm2015/components/text.directive.js +1 -1
  23. package/dist/esm2015/jss-component-factory.service.js +1 -1
  24. package/dist/esm2015/layout-service-error.js +1 -1
  25. package/dist/esm2015/layout.service.js +1 -1
  26. package/dist/esm2015/lib.module.js +1 -1
  27. package/dist/esm2015/public_api.js +1 -1
  28. package/dist/esm2015/sitecore-jss-sitecore-jss-angular.js +1 -1
  29. package/dist/fesm2015/sitecore-jss-sitecore-jss-angular.js +4 -0
  30. package/dist/fesm2015/sitecore-jss-sitecore-jss-angular.js.map +1 -1
  31. package/dist/package.json +2 -2
  32. package/package.json +3 -3
@@ -407,6 +407,7 @@
407
407
  var view = this.templateRef.createEmbeddedView(null);
408
408
  var element = view.rootNodes[0];
409
409
  if (!element) {
410
+ view.destroy();
410
411
  return {};
411
412
  }
412
413
  var attrs = {};
@@ -416,6 +417,7 @@
416
417
  attrs[attr.name] = attr.value;
417
418
  }
418
419
  }
420
+ view.destroy();
419
421
  return attrs;
420
422
  };
421
423
  ImageDirective.prototype.renderInlineWrapper = function (editable) {
@@ -523,6 +525,7 @@
523
525
  var view = this.templateRef.createEmbeddedView(null);
524
526
  var element = view.rootNodes[0];
525
527
  if (!element) {
528
+ view.destroy();
526
529
  return {};
527
530
  }
528
531
  var attrs = {};
@@ -532,6 +535,7 @@
532
535
  attrs[attr.name] = attr.value;
533
536
  }
534
537
  }
538
+ view.destroy();
535
539
  return attrs;
536
540
  };
537
541
  return LinkDirective;
@@ -1 +1 @@
1
- {"version":3,"file":"sitecore-jss-sitecore-jss-angular.umd.js","sources":["../../src/components/file.directive.ts","../../node_modules/tslib/tslib.es6.js","../../src/components/image.directive.ts","../../src/components/link.directive.ts","../../src/components/router-link.directive.ts","../../src/components/generic-link.directive.ts","../../src/components/placeholder.token.ts","../../src/components/raw.component.ts","../../src/components/rendering.ts","../../src/jss-component-factory.service.ts","../../src/components/placeholder-loading.directive.ts","../../src/components/render-each.directive.ts","../../src/components/render-empty.directive.ts","../../src/components/placeholder.component.ts","../../src/components/rich-text.directive.ts","../../src/components/text.directive.ts","../../src/layout-service-error.ts","../../src/layout.service.ts","../../src/components/date.directive.ts","../../src/components/missing-component.component.ts","../../src/components/render-component.component.ts","../../src/lib.module.ts","../../src/sitecore-jss-sitecore-jss-angular.ts"],"sourcesContent":["import {\r\n Directive,\r\n EmbeddedViewRef,\r\n Input,\r\n OnChanges,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { FileField } from './rendering-field';\r\n\r\n/**\r\n * File fields cannot be managed via the EE. We never output \"editable.\"\r\n */\r\n@Directive({ selector: '[scFile]' })\r\nexport class FileDirective implements OnChanges {\r\n private viewRef: EmbeddedViewRef<any>;\r\n\r\n @Input('scFile') field: FileField;\r\n\r\n constructor(private viewContainer: ViewContainerRef, private templateRef: TemplateRef<any>) {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.field) {\r\n if (!this.viewRef) {\r\n this.viewContainer.clear();\r\n this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n\r\n if (!field || (!field.value && !field.src)) {\r\n return;\r\n }\r\n\r\n const file = field.src ? field : field.value;\r\n this.viewRef.rootNodes.forEach((node) => {\r\n node.href = file.src;\r\n if (node.innerHTML === '') {\r\n node.innerHTML = file.title || file.displayName;\r\n }\r\n });\r\n }\r\n}\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n Input,\r\n OnChanges,\r\n Renderer2,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { mediaApi } from '@sitecore-jss/sitecore-jss';\r\nimport { ImageField } from './rendering-field';\r\n\r\n@Directive({ selector: '[scImage]' })\r\nexport class ImageDirective implements OnChanges {\r\n private inlineRef: HTMLSpanElement | null = null;\r\n\r\n @Input('scImage') field: ImageField | '';\r\n\r\n @Input('scImageEditable') editable = true;\r\n\r\n /**\r\n * Custom regexp that finds media URL prefix that will be replaced by `/-/jssmedia` or `/~/jssmedia`.\r\n * @example\r\n * /\\/([-~]{1})assets\\//i\r\n * /-assets/website -> /-/jssmedia/website\r\n * /~assets/website -> /~/jssmedia/website\r\n */\r\n @Input('scImageMediaUrlPrefix') mediaUrlPrefix?: RegExp;\r\n\r\n @Input('scImageUrlParams') urlParams = {};\r\n\r\n @Input('scImageAttrs') attrs = {};\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n private renderer: Renderer2,\r\n private elementRef: ElementRef\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.field || changes.editable || changes.urlParams || changes.attrs) {\r\n this.viewContainer.clear();\r\n if (this.inlineRef) {\r\n this.inlineRef.remove();\r\n this.inlineRef = null;\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const overrideAttrs = {\r\n ...this.getElementAttrs(),\r\n ...this.attrs,\r\n };\r\n const media = this.field;\r\n\r\n if (!media || (!media.editable && !media.value && !media.src)) {\r\n return;\r\n }\r\n\r\n let attrs: any = {};\r\n\r\n // we likely have an experience editor value, should be a string\r\n if (this.editable && media.editable) {\r\n const foundImg = mediaApi.findEditorImageTag(media.editable);\r\n if (!foundImg) {\r\n return this.renderInlineWrapper(media.editable);\r\n }\r\n attrs = this.getImageAttrs(foundImg.attrs, overrideAttrs, this.urlParams);\r\n if (!attrs) {\r\n return this.renderInlineWrapper(media.editable);\r\n }\r\n const tempImg: HTMLImageElement = this.renderer.createElement('img');\r\n Object.entries(attrs).forEach(([key, attrValue]: [string, any]) =>\r\n tempImg.setAttribute(key, attrValue)\r\n );\r\n const editableMarkup = media.editable.replace(foundImg.imgTag, tempImg.outerHTML);\r\n return this.renderInlineWrapper(editableMarkup);\r\n }\r\n\r\n // some wise-guy/gal is passing in a 'raw' image object value\r\n const img = media.src ? media : media.value;\r\n if (!img) {\r\n return null;\r\n }\r\n\r\n attrs = this.getImageAttrs(img, overrideAttrs, this.urlParams);\r\n if (attrs) {\r\n this.renderTemplate(attrs);\r\n }\r\n }\r\n\r\n private getImageAttrs(fieldAttrs: any, parsedAttrs: any, imageParams: any): any {\r\n const combinedAttrs = {\r\n ...fieldAttrs,\r\n ...parsedAttrs,\r\n };\r\n // eslint-disable-next-line prefer-const\r\n let { src, srcSet, ...otherAttrs } = combinedAttrs;\r\n if (!src) {\r\n return null;\r\n }\r\n const newAttrs = {\r\n ...otherAttrs,\r\n };\r\n // update image URL for jss handler and image rendering params\r\n src = mediaApi.updateImageUrl(src, imageParams, this.mediaUrlPrefix);\r\n if (srcSet) {\r\n // replace with HTML-formatted srcset, including updated image URLs\r\n newAttrs.srcSet = mediaApi.getSrcSet(src, srcSet, imageParams, this.mediaUrlPrefix);\r\n } else {\r\n newAttrs.src = src;\r\n }\r\n return newAttrs;\r\n }\r\n\r\n private renderTemplate(imageProps: any) {\r\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n viewRef.rootNodes.forEach((node) => {\r\n Object.entries(imageProps).forEach(([key, imgPropVal]: [string, any]) =>\r\n this.renderer.setAttribute(node, key, imgPropVal)\r\n );\r\n });\r\n }\r\n\r\n private getElementAttrs(): { [key: string]: any } {\r\n const view = this.templateRef.createEmbeddedView(null);\r\n const element: Element = view.rootNodes[0];\r\n if (!element) {\r\n return {};\r\n }\r\n const attrs: { [key: string]: any } = {};\r\n for (let i = 0; i < element.attributes.length; i++) {\r\n const attr = element.attributes.item(i);\r\n if (attr) {\r\n attrs[attr.name] = attr.value;\r\n }\r\n }\r\n return attrs;\r\n }\r\n\r\n private renderInlineWrapper(editable: string) {\r\n const span: HTMLSpanElement = this.renderer.createElement('span');\r\n span.className = 'sc-image-wrapper';\r\n span.innerHTML = editable;\r\n\r\n const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);\r\n this.renderer.insertBefore(parentNode, span, this.elementRef.nativeElement);\r\n parentNode.removeChild(this.elementRef.nativeElement);\r\n\r\n this.inlineRef = span;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n Input,\r\n OnChanges,\r\n Renderer2,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { LinkField } from './rendering-field';\r\n\r\n@Directive({ selector: '[scLink]' })\r\nexport class LinkDirective implements OnChanges {\r\n private inlineRef: HTMLSpanElement | null = null;\r\n\r\n @Input('scLinkEditable') editable = true;\r\n\r\n @Input('scLinkAttrs') attrs: any = {};\r\n\r\n @Input('scLink') field: LinkField;\r\n\r\n constructor(\r\n protected viewContainer: ViewContainerRef,\r\n protected templateRef: TemplateRef<any>,\r\n protected renderer: Renderer2,\r\n private elementRef: ElementRef\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.field || changes.editable || changes.attrs) {\r\n this.viewContainer.clear();\r\n if (this.inlineRef) {\r\n this.inlineRef.remove();\r\n this.inlineRef = null;\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n if (this.editable && field && field.editableFirstPart && field.editableLastPart) {\r\n this.renderInlineWrapper(field.editableFirstPart, field.editableLastPart);\r\n } else if (field && (field.href || field.value)) {\r\n const props = field.href ? field : field.value;\r\n const linkText = field.text || field.value.text || field.href || field.value.href;\r\n const mergedAttrs = { ...props, ...this.attrs };\r\n this.renderTemplate(mergedAttrs, linkText);\r\n }\r\n }\r\n\r\n protected renderTemplate(props: any, linkText: string) {\r\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n\r\n viewRef.rootNodes.forEach((node) => {\r\n Object.entries(props).forEach(([key, propValue]: [string, any]) => {\r\n if (key === 'href') {\r\n const isInvalidLink = !propValue || /^https?:\\/\\/$/.test(propValue);\r\n\r\n if (isInvalidLink) {\r\n if (!node.href) {\r\n return;\r\n }\r\n\r\n propValue = node.href;\r\n }\r\n }\r\n\r\n if (key === 'class' && node.className) {\r\n propValue += ` ${node.className}`;\r\n }\r\n\r\n this.renderer.setAttribute(node, key, propValue);\r\n });\r\n\r\n if (node.childNodes && node.childNodes.length === 0 && linkText) {\r\n node.textContent = linkText;\r\n }\r\n });\r\n }\r\n\r\n private renderInlineWrapper(editableFirstPart: string, editableLastPart: string) {\r\n const span: HTMLSpanElement = this.renderer.createElement('span');\r\n span.className = 'sc-link-wrapper';\r\n span.innerHTML = editableFirstPart + editableLastPart;\r\n\r\n // assign attributes from template to inline wrapper\r\n const attrs = {\r\n ...this.getElementAttrs(),\r\n ...this.attrs,\r\n };\r\n Object.entries(attrs).forEach(([key, attrValue]: [string, any]) =>\r\n this.renderer.setAttribute(span, key, attrValue)\r\n );\r\n\r\n this.viewContainer.createEmbeddedView(this.templateRef);\r\n\r\n const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);\r\n this.renderer.insertBefore(parentNode, span, this.elementRef.nativeElement);\r\n\r\n this.inlineRef = span;\r\n }\r\n\r\n private getElementAttrs(): { [key: string]: any } {\r\n const view = this.templateRef.createEmbeddedView(null);\r\n const element: Element = view.rootNodes[0];\r\n if (!element) {\r\n return {};\r\n }\r\n const attrs: { [key: string]: any } = {};\r\n for (let i = 0; i < element.attributes.length; i++) {\r\n const attr = element.attributes.item(i);\r\n if (attr) {\r\n attrs[attr.name] = attr.value;\r\n }\r\n }\r\n return attrs;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n Input,\r\n Renderer2,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { LinkDirective } from './link.directive';\r\nimport { LinkField } from './rendering-field';\r\n\r\n@Directive({ selector: '[scRouterLink]' })\r\nexport class RouterLinkDirective extends LinkDirective {\r\n @Input('scRouterLinkEditable') editable = true;\r\n\r\n @Input('scRouterLinkAttrs') attrs: any = {};\r\n\r\n @Input('scRouterLink') field: LinkField;\r\n\r\n constructor(\r\n viewContainer: ViewContainerRef,\r\n templateRef: TemplateRef<any>,\r\n renderer: Renderer2,\r\n elementRef: ElementRef,\r\n private router: Router\r\n ) {\r\n super(viewContainer, templateRef, renderer, elementRef);\r\n }\r\n\r\n protected renderTemplate(props: any, linkText: string) {\r\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n\r\n viewRef.rootNodes.forEach((node) => {\r\n Object.entries(props).forEach(([key, propValue]: [string, any]) => {\r\n this.renderer.setAttribute(node, key, propValue);\r\n\r\n if (key === 'href') {\r\n this.renderer.listen(node, 'click', (event) => {\r\n this.router.navigate([propValue]);\r\n event.preventDefault();\r\n });\r\n }\r\n });\r\n\r\n if (node.childNodes && node.childNodes.length === 0 && linkText) {\r\n node.textContent = linkText;\r\n }\r\n });\r\n }\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n Input,\r\n Renderer2,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { Router, NavigationExtras } from '@angular/router';\r\nimport { LinkDirective } from './link.directive';\r\nimport { LinkField } from './rendering-field';\r\n\r\n@Directive({ selector: '[scGenericLink]' })\r\nexport class GenericLinkDirective extends LinkDirective {\r\n @Input('scGenericLinkEditable') editable = true;\r\n\r\n @Input('scGenericLinkAttrs') attrs: any = {};\r\n\r\n @Input('scGenericLink') field: LinkField;\r\n\r\n @Input('scGenericLinkExtras') extras?: NavigationExtras;\r\n\r\n constructor(\r\n viewContainer: ViewContainerRef,\r\n templateRef: TemplateRef<any>,\r\n renderer: Renderer2,\r\n elementRef: ElementRef,\r\n private router: Router\r\n ) {\r\n super(viewContainer, templateRef, renderer, elementRef);\r\n }\r\n\r\n protected renderTemplate(props: any, linkText: string) {\r\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n\r\n viewRef.rootNodes.forEach((node) => {\r\n Object.entries(props).forEach(([key, propValue]: [string, any]) => {\r\n if (key === 'href' && !this.isAbsoluteUrl(propValue)) {\r\n const urlTree = this.router.createUrlTree([propValue], this.extras);\r\n this.renderer.setAttribute(node, key, this.router.serializeUrl(urlTree));\r\n this.renderer.listen(node, 'click', (event) => {\r\n this.router.navigate([propValue], this.extras);\r\n event.preventDefault();\r\n });\r\n } else {\r\n this.renderer.setAttribute(node, key, propValue);\r\n }\r\n });\r\n\r\n if (node.childNodes && node.childNodes.length === 0 && linkText) {\r\n node.textContent = linkText;\r\n }\r\n });\r\n }\r\n\r\n private isAbsoluteUrl(url?: string) {\r\n if (url === null) {\r\n return false;\r\n }\r\n if (typeof url !== 'string') {\r\n throw new TypeError('Expected a string');\r\n }\r\n\r\n return /^[a-z][a-z0-9+.-]*:/.test(url);\r\n }\r\n}\r\n","import { InjectionToken, Type } from '@angular/core';\r\n\r\n/** Registers a statically loaded component */\r\nexport class ComponentNameAndType {\r\n name: string;\r\n type: Type<any>;\r\n}\r\n\r\n/** Registers a lazily loaded component by name and module to lazy load when it's needed */\r\nexport interface ComponentNameAndModule {\r\n /** Name of the component */\r\n path: string;\r\n /**\r\n * Dynamic import of the component,\r\n * e.g. () => import('./path/to/lazyloadedcomponent.module').then(m => m.LazyLoadedComponentModuleExportName)\r\n */\r\n loadChildren: () => Promise<any>;\r\n}\r\n\r\n/**\r\n * @param {any} object\r\n */\r\nexport function instanceOfComponentNameAndType(object: any): object is ComponentNameAndType {\r\n return 'type' in object;\r\n}\r\n\r\n/**\r\n * @param {any} object\r\n */\r\nexport function instanceOfComponentNameAndModule(object: any): object is ComponentNameAndModule {\r\n return 'module' in object;\r\n}\r\n\r\nexport const PLACEHOLDER_COMPONENTS = new InjectionToken<ComponentNameAndType[]>(\r\n 'Sc.placeholder.components'\r\n);\r\nexport const PLACEHOLDER_LAZY_COMPONENTS = new InjectionToken<ComponentNameAndType[]>(\r\n 'Sc.placeholder.lazyComponents'\r\n);\r\nexport const PLACEHOLDER_MISSING_COMPONENT_COMPONENT = new InjectionToken<Type<any>>(\r\n 'Sc.placeholder.missingComponentComponent'\r\n);\r\nexport const DYNAMIC_COMPONENT = new InjectionToken<Type<any> | { [s: string]: any }>(\r\n 'Sc.placeholder.dynamicComponent'\r\n);\r\n","import { Component, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\n\r\n@Component({\r\n selector: 'sc-raw',\r\n template: '',\r\n})\r\nexport class RawComponent implements OnInit {\r\n @Input() rendering: HtmlElementRendering;\r\n\r\n constructor(private renderer: Renderer2, private elementRef: ElementRef) {}\r\n\r\n ngOnInit() {\r\n const el = this.renderer.createElement(this.rendering.name);\r\n const contents = this.renderer.createText(this.rendering.contents || '');\r\n const attributes = this.rendering.attributes;\r\n for (const attr in attributes) {\r\n // eslint-disable-next-line no-prototype-builtins\r\n if ((attributes as any).hasOwnProperty(attr)) {\r\n const value = attributes[attr];\r\n this.renderer.setAttribute(el, attr, value || '');\r\n }\r\n }\r\n\r\n this.renderer.appendChild(el, contents);\r\n const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);\r\n this.renderer.insertBefore(parentNode, el, this.elementRef.nativeElement);\r\n parentNode.removeChild(this.elementRef.nativeElement);\r\n }\r\n}\r\n","import { ComponentRendering, HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\n\r\n/**\r\n * @param {HtmlElementRendering | ComponentRendering} rendering\r\n */\r\nexport function isRawRendering(\r\n rendering: HtmlElementRendering | ComponentRendering\r\n): rendering is HtmlElementRendering {\r\n return (\r\n !(rendering as ComponentRendering).componentName &&\r\n (rendering as HtmlElementRendering).name !== undefined\r\n );\r\n}\r\n","import {\r\n ComponentFactory,\r\n Inject,\r\n Injectable,\r\n Injector,\r\n Type,\r\n Compiler,\r\n NgModuleFactory,\r\n} from '@angular/core';\r\nimport { ComponentRendering, HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\nimport {\r\n ComponentNameAndModule,\r\n ComponentNameAndType,\r\n DYNAMIC_COMPONENT,\r\n PLACEHOLDER_COMPONENTS,\r\n PLACEHOLDER_LAZY_COMPONENTS,\r\n} from './components/placeholder.token';\r\nimport { RawComponent } from './components/raw.component';\r\nimport { isRawRendering } from './components/rendering';\r\n\r\nexport interface ComponentFactoryResult {\r\n componentImplementation?: Type<any>;\r\n componentDefinition: ComponentRendering | HtmlElementRendering;\r\n componentFactory?: ComponentFactory<any>;\r\n}\r\n\r\n@Injectable()\r\nexport class JssComponentFactoryService {\r\n private componentMap: Map<string, Type<any>>;\r\n private lazyComponentMap: Map<string, ComponentNameAndModule>;\r\n\r\n constructor(\r\n private injector: Injector,\r\n private compiler: Compiler,\r\n @Inject(PLACEHOLDER_COMPONENTS) private components: ComponentNameAndType[],\r\n @Inject(PLACEHOLDER_LAZY_COMPONENTS) private lazyComponents: ComponentNameAndModule[]\r\n ) {\r\n this.componentMap = new Map();\r\n this.lazyComponentMap = new Map();\r\n\r\n this.components.forEach((c) => this.componentMap.set(c.name, c.type));\r\n\r\n if (this.lazyComponents) {\r\n this.lazyComponents.forEach((c) => this.lazyComponentMap.set(c.path, c));\r\n }\r\n }\r\n\r\n private loadModuleFactory(lazyComponent: ComponentNameAndModule): Promise<NgModuleFactory<any>> {\r\n return lazyComponent.loadChildren().then((loaded) => {\r\n if (loaded instanceof NgModuleFactory) {\r\n return loaded;\r\n } else {\r\n return this.compiler.compileModuleAsync(loaded);\r\n }\r\n });\r\n }\r\n\r\n getComponent(component: ComponentRendering): Promise<ComponentFactoryResult> {\r\n const loadedComponent = this.componentMap.get(component.componentName);\r\n\r\n if (loadedComponent) {\r\n return Promise.resolve({\r\n componentDefinition: component,\r\n componentImplementation: this.componentMap.get(component.componentName),\r\n });\r\n }\r\n\r\n const lazyComponent = this.lazyComponentMap.get(component.componentName);\r\n\r\n if (lazyComponent) {\r\n return this.loadModuleFactory(lazyComponent).then((ngModuleFactory) => {\r\n let componentType = null;\r\n const moduleRef = ngModuleFactory.create(this.injector);\r\n const dynamicComponentType = moduleRef.injector.get(DYNAMIC_COMPONENT);\r\n if (!dynamicComponentType) {\r\n throw new Error(\r\n `JssComponentFactoryService: Lazy load module for component \"${lazyComponent.path}\" missing DYNAMIC_COMPONENT provider. Missing JssModule.forChild()?`\r\n );\r\n }\r\n\r\n if (component.componentName in dynamicComponentType) {\r\n componentType = (dynamicComponentType as { [s: string]: any })[component.componentName];\r\n } else {\r\n if (typeof dynamicComponentType === 'function') {\r\n componentType = dynamicComponentType;\r\n } else {\r\n throw new Error(\r\n `JssComponentFactoryService: Lazy load module for component \"${lazyComponent.path}\" missing DYNAMIC_COMPONENT provider. Missing JssModule.forChild()?`\r\n );\r\n }\r\n }\r\n\r\n return {\r\n componentDefinition: component,\r\n componentImplementation: componentType,\r\n componentFactory: moduleRef.componentFactoryResolver.resolveComponentFactory(\r\n componentType\r\n ),\r\n };\r\n });\r\n }\r\n\r\n return Promise.resolve({\r\n componentDefinition: component,\r\n });\r\n }\r\n\r\n getComponents(\r\n components: Array<ComponentRendering | HtmlElementRendering>\r\n ): Promise<ComponentFactoryResult[]> {\r\n // acquire all components and keep them in order while handling their potential async-ness\r\n return Promise.all(\r\n components.map((component) =>\r\n isRawRendering(component) ? this.getRawComponent(component) : this.getComponent(component)\r\n )\r\n );\r\n }\r\n\r\n private getRawComponent(component: HtmlElementRendering): Promise<ComponentFactoryResult> {\r\n return Promise.resolve({\r\n componentImplementation: RawComponent,\r\n componentDefinition: component,\r\n });\r\n }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[scPlaceholderLoading]',\r\n})\r\nexport class PlaceholderLoadingDirective {\r\n constructor(public templateRef: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[renderEach]',\r\n})\r\nexport class RenderEachDirective {\r\n constructor(public templateRef: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[renderEmpty]',\r\n})\r\nexport class RenderEmptyDirective {\r\n constructor(public templateRef: TemplateRef<any>) {}\r\n}\r\n","/* eslint-disable @angular-eslint/no-conflicting-lifecycle */\r\nimport {\r\n ChangeDetectorRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n ContentChild,\r\n DoCheck,\r\n ElementRef,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n KeyValueDiffer,\r\n KeyValueDiffers,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n SimpleChanges,\r\n Type,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { ComponentRendering, HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile } from 'rxjs/operators';\r\nimport {\r\n ComponentFactoryResult,\r\n JssComponentFactoryService,\r\n} from '../jss-component-factory.service';\r\nimport { PlaceholderLoadingDirective } from './placeholder-loading.directive';\r\nimport { PLACEHOLDER_MISSING_COMPONENT_COMPONENT } from './placeholder.token';\r\nimport { RenderEachDirective } from './render-each.directive';\r\nimport { RenderEmptyDirective } from './render-empty.directive';\r\nimport { isRawRendering } from './rendering';\r\n\r\n/**\r\n * @param {ComponentRendering} rendering\r\n * @param {string} name\r\n */\r\nfunction getPlaceholder(rendering: ComponentRendering, name: string) {\r\n if (rendering && rendering.placeholders && Object.keys(rendering.placeholders).length > 0) {\r\n return rendering.placeholders[name];\r\n }\r\n return null;\r\n}\r\n\r\n@Component({\r\n selector: 'sc-placeholder,[sc-placeholder]',\r\n template: `\r\n <ng-template\r\n *ngIf=\"isLoading\"\r\n [ngTemplateOutlet]=\"placeholderLoading?.templateRef\"\r\n ></ng-template>\r\n <ng-template #view></ng-template>\r\n `,\r\n})\r\nexport class PlaceholderComponent implements OnInit, OnChanges, DoCheck, OnDestroy {\r\n private _inputs: { [key: string]: any };\r\n private _differ: KeyValueDiffer<string, any>;\r\n private _componentInstances: any[] = [];\r\n private destroyed = false;\r\n private parentStyleAttribute = '';\r\n public isLoading = true;\r\n\r\n @Input() name?: string;\r\n @Input() rendering: ComponentRendering;\r\n @Input() renderings?: Array<ComponentRendering | HtmlElementRendering>;\r\n @Input() outputs: { [k: string]: (eventType: any) => void };\r\n\r\n @Output()\r\n loaded = new EventEmitter<string | undefined>();\r\n\r\n @ViewChild('view', { read: ViewContainerRef, static: true }) private view: ViewContainerRef;\r\n @ContentChild(RenderEachDirective, { static: true }) renderEachTemplate: RenderEachDirective;\r\n @ContentChild(RenderEmptyDirective, { static: true }) renderEmptyTemplate: RenderEmptyDirective;\r\n @ContentChild(PlaceholderLoadingDirective, { static: true })\r\n placeholderLoading?: PlaceholderLoadingDirective;\r\n\r\n @Input()\r\n set inputs(value: { [key: string]: any }) {\r\n this._inputs = value;\r\n if (!this._differ && value) {\r\n this._differ = this.differs.find(value).create();\r\n }\r\n }\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private differs: KeyValueDiffers,\r\n private componentFactory: JssComponentFactoryService,\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private elementRef: ElementRef,\r\n private renderer: Renderer2,\r\n @Inject(PLACEHOLDER_MISSING_COMPONENT_COMPONENT) private missingComponentComponent: Type<any>\r\n ) {}\r\n\r\n ngOnInit() {\r\n // just to ensure the element exists\r\n const elem = this.elementRef.nativeElement;\r\n\r\n if (elem) {\r\n const attributes: NamedNodeMap = elem.attributes;\r\n for (let i = 0; i < attributes.length; i++) {\r\n const attr: Attr | null = attributes.item(i);\r\n if (attr && attr.name.indexOf('_ngcontent') !== -1) {\r\n this.parentStyleAttribute = attr.name;\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroyed = true;\r\n this._componentInstances = [];\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.rendering || changes.renderings) {\r\n this._render();\r\n }\r\n }\r\n\r\n ngDoCheck() {\r\n if (!this._differ || !this._inputs || this._componentInstances.length === 0) {\r\n return;\r\n }\r\n\r\n const changes = this._differ.diff(this._inputs);\r\n if (!changes) {\r\n return;\r\n }\r\n const updates: { [key: string]: any } = {};\r\n changes.forEachRemovedItem((change) => (updates[change.key] = null));\r\n changes.forEachAddedItem((change) => (updates[change.key] = change.currentValue));\r\n changes.forEachChangedItem((change) => (updates[change.key] = change.currentValue));\r\n this._componentInstances.forEach((componentInstance) =>\r\n this._setComponentInputs(componentInstance, updates)\r\n );\r\n }\r\n\r\n private _setComponentInputs(componentInstance: any, inputs: { [key: string]: any }) {\r\n Object.entries(inputs).forEach(\r\n ([input, inputValue]) => (componentInstance[input] = inputValue)\r\n );\r\n }\r\n\r\n private _subscribeComponentOutputs(\r\n componentInstance: any,\r\n outputs: { [k: string]: (eventType: any) => void }\r\n ) {\r\n Object.keys(outputs)\r\n .filter(\r\n (output) => componentInstance[output] && componentInstance[output] instanceof Observable\r\n )\r\n .forEach((output) =>\r\n (componentInstance[output] as Observable<any>)\r\n .pipe(takeWhile(() => !this.destroyed))\r\n .subscribe(outputs[output])\r\n );\r\n }\r\n\r\n private _render() {\r\n this._componentInstances = [];\r\n this.view.clear();\r\n\r\n if (!this.rendering && !this.renderings) {\r\n return;\r\n }\r\n\r\n if (!this.name && !this.renderings) {\r\n console.warn(\r\n 'Placeholder name was not specified, and explicit renderings array was not passed. Placeholder requires either name and rendering, or renderings.'\r\n );\r\n this.isLoading = false;\r\n return;\r\n }\r\n\r\n const placeholder = this.renderings || getPlaceholder(this.rendering, this.name || '');\r\n\r\n if (!placeholder) {\r\n console.warn(\r\n `Placeholder '${this.name}' was not found in the current rendering data`,\r\n JSON.stringify(this.rendering, null, 2)\r\n );\r\n this.isLoading = false;\r\n return;\r\n }\r\n\r\n // if the placeholder is empty (contains only raw renderings), then we may need to use the empty template if it's defined\r\n const placeholderIsEmpty = placeholder.every(\r\n (rendering: ComponentRendering | HtmlElementRendering) => isRawRendering(rendering)\r\n );\r\n\r\n if (this.renderEmptyTemplate && placeholderIsEmpty) {\r\n this.view.createEmbeddedView(this.renderEmptyTemplate.templateRef, {\r\n renderings: placeholder,\r\n });\r\n this.isLoading = false;\r\n } else {\r\n this.componentFactory\r\n .getComponents(placeholder)\r\n .then((components) =>\r\n components.forEach((rendering, index) => {\r\n if (this.renderEachTemplate && !isRawRendering(rendering.componentDefinition)) {\r\n this._renderTemplatedComponent(rendering.componentDefinition, index);\r\n } else {\r\n this._renderEmbeddedComponent(rendering, index);\r\n }\r\n this.isLoading = false;\r\n })\r\n )\r\n .then(() => {\r\n this.changeDetectorRef.markForCheck();\r\n this.loaded.emit(this.name);\r\n });\r\n }\r\n }\r\n\r\n private _renderTemplatedComponent(\r\n rendering: ComponentRendering | HtmlElementRendering,\r\n index: number\r\n ) {\r\n // the render-each template takes care of all component mapping etc\r\n // generally using <sc-render-component> which is about like _renderEmbeddedComponent()\r\n // as a separate component\r\n this.view.createEmbeddedView(this.renderEachTemplate.templateRef, {\r\n rendering,\r\n index,\r\n });\r\n }\r\n\r\n private _renderEmbeddedComponent(rendering: ComponentFactoryResult, index: number) {\r\n if (!rendering.componentImplementation) {\r\n const componentName = (rendering.componentDefinition as ComponentRendering).componentName;\r\n console.error(\r\n `Placeholder ${this.name} contains unknown component ${componentName}.`,\r\n `Ensure component is mapped, like:\r\n JssModule.withComponents([\r\n { name: '${componentName}', type: ${componentName}Component }\r\n ])`\r\n );\r\n\r\n rendering.componentImplementation = this.missingComponentComponent;\r\n }\r\n\r\n const componentFactory =\r\n rendering.componentFactory ||\r\n this.componentFactoryResolver.resolveComponentFactory(rendering.componentImplementation);\r\n\r\n // apply the parent style attribute _ngcontent\r\n // work-around for https://github.com/angular/angular/issues/12215\r\n const createdComponentRef = this.view.createComponent(componentFactory, index);\r\n if (this.parentStyleAttribute) {\r\n this.renderer.setAttribute(\r\n createdComponentRef.location.nativeElement,\r\n this.parentStyleAttribute,\r\n ''\r\n );\r\n }\r\n\r\n const componentInstance = createdComponentRef.instance;\r\n componentInstance.rendering = rendering.componentDefinition;\r\n if (this._inputs) {\r\n this._setComponentInputs(componentInstance, this._inputs);\r\n }\r\n if (this.outputs) {\r\n this._subscribeComponentOutputs(componentInstance, this.outputs);\r\n }\r\n this._componentInstances.push(componentInstance);\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EmbeddedViewRef,\r\n Input,\r\n OnChanges,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { RichTextField } from './rendering-field';\r\n\r\n@Directive({\r\n selector: '[scRichText]',\r\n})\r\nexport class RichTextDirective implements OnChanges {\r\n private viewRef: EmbeddedViewRef<any>;\r\n\r\n @Input('scRichTextEditable') editable = true;\r\n\r\n @Input('scRichText') field: RichTextField;\r\n\r\n constructor(private viewContainer: ViewContainerRef, private templateRef: TemplateRef<any>) {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.field || changes.editable) {\r\n if (!this.viewRef) {\r\n this.viewContainer.clear();\r\n this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n if (!field || (!field.editable && !field.value)) {\r\n return;\r\n }\r\n\r\n const html = field.editable && this.editable ? field.editable : field.value;\r\n this.viewRef.rootNodes.forEach((node) => {\r\n node.innerHTML = html;\r\n });\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EmbeddedViewRef,\r\n Input,\r\n OnChanges,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { TextField } from './rendering-field';\r\n\r\n@Directive({\r\n selector: '[scText]',\r\n})\r\nexport class TextDirective implements OnChanges {\r\n private viewRef: EmbeddedViewRef<any>;\r\n\r\n @Input('scTextEditable') editable = true;\r\n\r\n @Input('scTextEncode') encode = true;\r\n\r\n @Input('scText') field: TextField;\r\n\r\n constructor(private viewContainer: ViewContainerRef, private templateRef: TemplateRef<any>) {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.field || changes.editable || changes.encode) {\r\n if (!this.viewRef) {\r\n this.viewContainer.clear();\r\n this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n let editable = this.editable;\r\n\r\n if (!field || (!field.editable && !field.value)) {\r\n return;\r\n }\r\n\r\n // can't use editable value if we want to output unencoded\r\n if (!this.encode) {\r\n editable = false;\r\n }\r\n\r\n const html = field.editable && editable ? field.editable : field.value;\r\n const setDangerously = (field.editable && editable) || !this.encode;\r\n\r\n this.viewRef.rootNodes.forEach((node) => {\r\n if (setDangerously) {\r\n node.innerHTML = html;\r\n } else {\r\n node.textContent = html;\r\n }\r\n });\r\n }\r\n}\r\n","import { LayoutServiceContextData } from '@sitecore-jss/sitecore-jss';\r\n\r\nexport class LayoutServiceError {\r\n status: number;\r\n statusText: string;\r\n data?: { sitecore?: LayoutServiceContextData };\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n dataApi,\r\n LayoutServiceData,\r\n LayoutServiceRequestOptions,\r\n PlaceholderData,\r\n} from '@sitecore-jss/sitecore-jss';\r\nimport { from as fromPromise, Observable, throwError as observableThrow } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { LayoutServiceError } from './layout-service-error';\r\n\r\nconst { fetchRouteData, fetchPlaceholderData } = dataApi;\r\n\r\n@Injectable()\r\nexport class LayoutService {\r\n private static getLayoutServiceError(error: any): Observable<LayoutServiceError> {\r\n const layoutServiceError = new LayoutServiceError();\r\n const response = error.response;\r\n if (response) {\r\n layoutServiceError.status = response.status;\r\n layoutServiceError.statusText = response.statusText;\r\n layoutServiceError.data = response.data;\r\n }\r\n\r\n return observableThrow(layoutServiceError);\r\n }\r\n\r\n getRouteData(\r\n route: string,\r\n options: LayoutServiceRequestOptions<LayoutServiceData>\r\n ): Observable<LayoutServiceData | LayoutServiceError> {\r\n return fromPromise(fetchRouteData(route, options)).pipe(\r\n catchError(LayoutService.getLayoutServiceError)\r\n );\r\n }\r\n\r\n getPlaceholderData(\r\n route: string,\r\n placeholderName: string,\r\n options: LayoutServiceRequestOptions<PlaceholderData>\r\n ): Observable<PlaceholderData | LayoutServiceError> {\r\n return fromPromise(fetchPlaceholderData(placeholderName, route, options)).pipe(\r\n catchError(LayoutService.getLayoutServiceError)\r\n );\r\n }\r\n}\r\n","import { DatePipe } from '@angular/common';\r\nimport {\r\n Directive,\r\n EmbeddedViewRef,\r\n Input,\r\n OnChanges,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { TextField } from './rendering-field';\r\n\r\n@Directive({\r\n selector: '[scDate]',\r\n})\r\nexport class DateDirective implements OnChanges {\r\n private viewRef: EmbeddedViewRef<any>;\r\n\r\n @Input('scDateFormat') format?: string;\r\n\r\n @Input('scDateTimezone') timezone?: string;\r\n\r\n @Input('scDateLocale') locale?: string;\r\n\r\n @Input('scDateEditable') editable = true;\r\n\r\n @Input('scDate') field: TextField;\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n private datePipe: DatePipe\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.field || changes.format) {\r\n if (!this.viewRef) {\r\n this.viewContainer.clear();\r\n this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n\r\n if (!field || (!field.editable && !field.value)) {\r\n return;\r\n }\r\n\r\n const html = field.editable && this.editable ? field.editable : field.value;\r\n const setDangerously = field.editable && this.editable;\r\n\r\n this.viewRef.rootNodes.forEach((node) => {\r\n if (setDangerously) {\r\n node.innerHTML = html;\r\n } else {\r\n node.textContent = this.datePipe.transform(html, this.format, this.timezone, this.locale);\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sc-missing-component',\r\n template: `\r\n <div\r\n style=\"background: darkorange; outline: 5px solid orange; padding: 10px; color: white; max-width: 500px;\"\r\n >\r\n <h2>{{ rendering.componentName }}</h2>\r\n <p>JSS component is missing Angular component implementation.</p>\r\n </div>\r\n `,\r\n})\r\nexport class MissingComponentComponent {\r\n @Input() rendering: any;\r\n}\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n Inject,\r\n Input,\r\n KeyValueDiffer,\r\n KeyValueDiffers,\r\n OnChanges,\r\n SimpleChanges,\r\n Type,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { ComponentRendering, HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile } from 'rxjs/operators';\r\nimport {\r\n ComponentFactoryResult,\r\n JssComponentFactoryService,\r\n} from '../jss-component-factory.service';\r\nimport { PLACEHOLDER_MISSING_COMPONENT_COMPONENT } from './placeholder.token';\r\nimport { RawComponent } from './raw.component';\r\nimport { isRawRendering } from './rendering';\r\n\r\n/**\r\n * Renders a single JSS component given a rendering definition.\r\n * Useful inside templated placeholders.\r\n */\r\n@Component({\r\n selector: 'sc-render-component',\r\n template: `\r\n <ng-template #view></ng-template>\r\n `,\r\n})\r\nexport class RenderComponentComponent implements OnChanges {\r\n private _inputs: { [key: string]: any };\r\n private _differ: KeyValueDiffer<string, any>;\r\n private destroyed = false;\r\n\r\n @Input() rendering: ComponentRendering | HtmlElementRendering;\r\n @Input() outputs: { [k: string]: (eventType: any) => void };\r\n @ViewChild('view', { read: ViewContainerRef, static: true }) private view: ViewContainerRef;\r\n\r\n @Input()\r\n set inputs(value: { [key: string]: any }) {\r\n this._inputs = value;\r\n if (!this._differ && value) {\r\n this._differ = this.differs.find(value).create();\r\n }\r\n }\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private differs: KeyValueDiffers,\r\n private componentFactory: JssComponentFactoryService,\r\n @Inject(PLACEHOLDER_MISSING_COMPONENT_COMPONENT) private missingComponentComponent: Type<any>\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.rendering) {\r\n this._render();\r\n }\r\n }\r\n\r\n private _setComponentInputs(componentInstance: any, inputs: { [key: string]: any }) {\r\n Object.entries(inputs).forEach(\r\n ([input, inputValue]) => (componentInstance[input] = inputValue)\r\n );\r\n }\r\n\r\n private _subscribeComponentOutputs(\r\n componentInstance: any,\r\n outputs: { [k: string]: (eventType: any) => void }\r\n ) {\r\n Object.keys(outputs)\r\n .filter(\r\n (output) => componentInstance[output] && componentInstance[output] instanceof Observable\r\n )\r\n .forEach((output) =>\r\n (componentInstance[output] as Observable<any>)\r\n .pipe(takeWhile(() => !this.destroyed))\r\n .subscribe(outputs[output])\r\n );\r\n }\r\n\r\n private _render() {\r\n this.view.clear();\r\n\r\n if (!this.rendering) {\r\n return;\r\n }\r\n\r\n const resolveComponent: Promise<ComponentFactoryResult> = isRawRendering(this.rendering)\r\n ? Promise.resolve({\r\n componentImplementation: RawComponent,\r\n componentDefinition: this.rendering,\r\n })\r\n : this.componentFactory.getComponent(this.rendering);\r\n\r\n resolveComponent.then((rendering) => {\r\n if (!rendering.componentImplementation) {\r\n const componentName = (rendering.componentDefinition as ComponentRendering).componentName;\r\n console.error(\r\n `Attempted to render unknown component ${componentName}.`,\r\n `Ensure component is mapped, like:\r\n JssModule.withComponents([\r\n { name: '${componentName}', type: ${componentName}Component }\r\n ])`\r\n );\r\n\r\n rendering.componentImplementation = this.missingComponentComponent;\r\n }\r\n\r\n const componentFactory =\r\n rendering.componentFactory ||\r\n this.componentFactoryResolver.resolveComponentFactory(rendering.componentImplementation);\r\n\r\n const componentInstance = this.view.createComponent(componentFactory, 0).instance;\r\n componentInstance.rendering = rendering.componentDefinition;\r\n if (this._inputs) {\r\n this._setComponentInputs(componentInstance, this._inputs);\r\n }\r\n if (this.outputs) {\r\n this._subscribeComponentOutputs(componentInstance, this.outputs);\r\n }\r\n });\r\n }\r\n}\r\n","import { CommonModule, DatePipe } from '@angular/common';\r\nimport { ANALYZE_FOR_ENTRY_COMPONENTS, ModuleWithProviders, NgModule, Type } from '@angular/core';\r\nimport { ROUTES } from '@angular/router';\r\nimport { DateDirective } from './components/date.directive';\r\nimport { FileDirective } from './components/file.directive';\r\nimport { GenericLinkDirective } from './components/generic-link.directive';\r\nimport { ImageDirective } from './components/image.directive';\r\nimport { LinkDirective } from './components/link.directive';\r\nimport { MissingComponentComponent } from './components/missing-component.component';\r\nimport { PlaceholderLoadingDirective } from './components/placeholder-loading.directive';\r\nimport { PlaceholderComponent } from './components/placeholder.component';\r\nimport {\r\n ComponentNameAndModule,\r\n ComponentNameAndType,\r\n DYNAMIC_COMPONENT,\r\n PLACEHOLDER_COMPONENTS,\r\n PLACEHOLDER_LAZY_COMPONENTS,\r\n PLACEHOLDER_MISSING_COMPONENT_COMPONENT,\r\n} from './components/placeholder.token';\r\nimport { RawComponent } from './components/raw.component';\r\nimport { RenderComponentComponent } from './components/render-component.component';\r\nimport { RenderEachDirective } from './components/render-each.directive';\r\nimport { RenderEmptyDirective } from './components/render-empty.directive';\r\nimport { RichTextDirective } from './components/rich-text.directive';\r\nimport { RouterLinkDirective } from './components/router-link.directive';\r\nimport { TextDirective } from './components/text.directive';\r\nimport { JssComponentFactoryService } from './jss-component-factory.service';\r\nimport { LayoutService } from './layout.service';\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [\r\n FileDirective,\r\n ImageDirective,\r\n LinkDirective,\r\n RouterLinkDirective,\r\n GenericLinkDirective,\r\n DateDirective,\r\n RenderEachDirective,\r\n RenderEmptyDirective,\r\n PlaceholderLoadingDirective,\r\n RenderComponentComponent,\r\n PlaceholderComponent,\r\n RawComponent,\r\n RichTextDirective,\r\n TextDirective,\r\n MissingComponentComponent,\r\n ],\r\n exports: [\r\n FileDirective,\r\n ImageDirective,\r\n DateDirective,\r\n LinkDirective,\r\n RouterLinkDirective,\r\n GenericLinkDirective,\r\n RenderEachDirective,\r\n RenderEmptyDirective,\r\n RenderComponentComponent,\r\n PlaceholderComponent,\r\n PlaceholderLoadingDirective,\r\n RichTextDirective,\r\n TextDirective,\r\n ],\r\n entryComponents: [RawComponent, MissingComponentComponent],\r\n})\r\nexport class JssModule {\r\n /**\r\n * Instantiates the JSS module with no component factory.\r\n * Useful for using it from libraries. Most of the time you'd want withComponents()\r\n * @returns {ModuleWithProviders<JssModule>} module\r\n */\r\n static forRoot(): ModuleWithProviders<JssModule> {\r\n return {\r\n ngModule: JssModule,\r\n providers: [LayoutService, DatePipe, JssComponentFactoryService],\r\n };\r\n }\r\n\r\n /**\r\n * Instantiates a module for a lazy-loaded JSS component\r\n * @param {Type<any>} component\r\n * @returns {ModuleWithProviders<JssModule>} module\r\n */\r\n static forChild(component: Type<any>): ModuleWithProviders<JssModule> {\r\n return {\r\n ngModule: JssModule,\r\n providers: [\r\n { provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: component, multi: true },\r\n { provide: ROUTES, useValue: [], multi: true },\r\n { provide: DYNAMIC_COMPONENT, useValue: component },\r\n ],\r\n };\r\n }\r\n\r\n /**\r\n * Instantiates the JSS module and specifies the mapping from component name to component implementation.\r\n * Appropriate when defining the set of JSS components that your app is aware of.\r\n * @param {ComponentNameAndType[]} components\r\n * @param {ComponentNameAndModule[]} [lazyComponents]\r\n * @returns {ModuleWithProviders<JssModule>} module\r\n */\r\n static withComponents(\r\n components: ComponentNameAndType[],\r\n lazyComponents?: ComponentNameAndModule[]\r\n ): ModuleWithProviders<JssModule> {\r\n return {\r\n ngModule: JssModule,\r\n providers: [\r\n {\r\n provide: ANALYZE_FOR_ENTRY_COMPONENTS,\r\n useValue: components,\r\n multi: true,\r\n },\r\n { provide: PLACEHOLDER_COMPONENTS, useValue: components },\r\n { provide: PLACEHOLDER_LAZY_COMPONENTS, useValue: lazyComponents || [] },\r\n { provide: ROUTES, useValue: lazyComponents || [], multi: true },\r\n { provide: PLACEHOLDER_MISSING_COMPONENT_COMPONENT, useValue: MissingComponentComponent },\r\n ...(JssModule.forRoot().providers as any[]),\r\n ],\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {DateDirective as ɵh} from './components/date.directive';\nexport {MissingComponentComponent as ɵk} from './components/missing-component.component';\nexport {ComponentNameAndModule as ɵa,PLACEHOLDER_COMPONENTS as ɵb,PLACEHOLDER_LAZY_COMPONENTS as ɵc,PLACEHOLDER_MISSING_COMPONENT_COMPONENT as ɵd} from './components/placeholder.token';\nexport {RawComponent as ɵj} from './components/raw.component';\nexport {RenderComponentComponent as ɵi} from './components/render-component.component';\nexport {RenderEachDirective as ɵe} from './components/render-each.directive';\nexport {RenderEmptyDirective as ɵf} from './components/render-empty.directive';\nexport {JssComponentFactoryService as ɵg} from './jss-component-factory.service';"],"names":["Directive","ViewContainerRef","TemplateRef","Input","mediaApi","Renderer2","ElementRef","Router","InjectionToken","Component","NgModuleFactory","Injectable","Injector","Compiler","Inject","EventEmitter","Observable","takeWhile","ComponentFactoryResolver","KeyValueDiffers","ChangeDetectorRef","Type","Output","ViewChild","ContentChild","dataApi","observableThrow","fromPromise","catchError","DatePipe","ANALYZE_FOR_ENTRY_COMPONENTS","ROUTES","NgModule","CommonModule"],"mappings":"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"}
1
+ {"version":3,"file":"sitecore-jss-sitecore-jss-angular.umd.js","sources":["../../src/components/file.directive.ts","../../node_modules/tslib/tslib.es6.js","../../src/components/image.directive.ts","../../src/components/link.directive.ts","../../src/components/router-link.directive.ts","../../src/components/generic-link.directive.ts","../../src/components/placeholder.token.ts","../../src/components/raw.component.ts","../../src/components/rendering.ts","../../src/jss-component-factory.service.ts","../../src/components/placeholder-loading.directive.ts","../../src/components/render-each.directive.ts","../../src/components/render-empty.directive.ts","../../src/components/placeholder.component.ts","../../src/components/rich-text.directive.ts","../../src/components/text.directive.ts","../../src/layout-service-error.ts","../../src/layout.service.ts","../../src/components/date.directive.ts","../../src/components/missing-component.component.ts","../../src/components/render-component.component.ts","../../src/lib.module.ts","../../src/sitecore-jss-sitecore-jss-angular.ts"],"sourcesContent":["import {\r\n Directive,\r\n EmbeddedViewRef,\r\n Input,\r\n OnChanges,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { FileField } from './rendering-field';\r\n\r\n/**\r\n * File fields cannot be managed via the EE. We never output \"editable.\"\r\n */\r\n@Directive({ selector: '[scFile]' })\r\nexport class FileDirective implements OnChanges {\r\n private viewRef: EmbeddedViewRef<any>;\r\n\r\n @Input('scFile') field: FileField;\r\n\r\n constructor(private viewContainer: ViewContainerRef, private templateRef: TemplateRef<any>) {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.field) {\r\n if (!this.viewRef) {\r\n this.viewContainer.clear();\r\n this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n\r\n if (!field || (!field.value && !field.src)) {\r\n return;\r\n }\r\n\r\n const file = field.src ? field : field.value;\r\n this.viewRef.rootNodes.forEach((node) => {\r\n node.href = file.src;\r\n if (node.innerHTML === '') {\r\n node.innerHTML = file.title || file.displayName;\r\n }\r\n });\r\n }\r\n}\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n Input,\r\n OnChanges,\r\n Renderer2,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { mediaApi } from '@sitecore-jss/sitecore-jss';\r\nimport { ImageField } from './rendering-field';\r\n\r\n@Directive({ selector: '[scImage]' })\r\nexport class ImageDirective implements OnChanges {\r\n private inlineRef: HTMLSpanElement | null = null;\r\n\r\n @Input('scImage') field: ImageField | '';\r\n\r\n @Input('scImageEditable') editable = true;\r\n\r\n /**\r\n * Custom regexp that finds media URL prefix that will be replaced by `/-/jssmedia` or `/~/jssmedia`.\r\n * @example\r\n * /\\/([-~]{1})assets\\//i\r\n * /-assets/website -> /-/jssmedia/website\r\n * /~assets/website -> /~/jssmedia/website\r\n */\r\n @Input('scImageMediaUrlPrefix') mediaUrlPrefix?: RegExp;\r\n\r\n @Input('scImageUrlParams') urlParams = {};\r\n\r\n @Input('scImageAttrs') attrs = {};\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n private renderer: Renderer2,\r\n private elementRef: ElementRef\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.field || changes.editable || changes.urlParams || changes.attrs) {\r\n this.viewContainer.clear();\r\n if (this.inlineRef) {\r\n this.inlineRef.remove();\r\n this.inlineRef = null;\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const overrideAttrs = {\r\n ...this.getElementAttrs(),\r\n ...this.attrs,\r\n };\r\n const media = this.field;\r\n\r\n if (!media || (!media.editable && !media.value && !media.src)) {\r\n return;\r\n }\r\n\r\n let attrs: any = {};\r\n\r\n // we likely have an experience editor value, should be a string\r\n if (this.editable && media.editable) {\r\n const foundImg = mediaApi.findEditorImageTag(media.editable);\r\n if (!foundImg) {\r\n return this.renderInlineWrapper(media.editable);\r\n }\r\n attrs = this.getImageAttrs(foundImg.attrs, overrideAttrs, this.urlParams);\r\n if (!attrs) {\r\n return this.renderInlineWrapper(media.editable);\r\n }\r\n const tempImg: HTMLImageElement = this.renderer.createElement('img');\r\n Object.entries(attrs).forEach(([key, attrValue]: [string, any]) =>\r\n tempImg.setAttribute(key, attrValue)\r\n );\r\n const editableMarkup = media.editable.replace(foundImg.imgTag, tempImg.outerHTML);\r\n return this.renderInlineWrapper(editableMarkup);\r\n }\r\n\r\n // some wise-guy/gal is passing in a 'raw' image object value\r\n const img = media.src ? media : media.value;\r\n if (!img) {\r\n return null;\r\n }\r\n\r\n attrs = this.getImageAttrs(img, overrideAttrs, this.urlParams);\r\n if (attrs) {\r\n this.renderTemplate(attrs);\r\n }\r\n }\r\n\r\n private getImageAttrs(fieldAttrs: any, parsedAttrs: any, imageParams: any): any {\r\n const combinedAttrs = {\r\n ...fieldAttrs,\r\n ...parsedAttrs,\r\n };\r\n // eslint-disable-next-line prefer-const\r\n let { src, srcSet, ...otherAttrs } = combinedAttrs;\r\n if (!src) {\r\n return null;\r\n }\r\n const newAttrs = {\r\n ...otherAttrs,\r\n };\r\n // update image URL for jss handler and image rendering params\r\n src = mediaApi.updateImageUrl(src, imageParams, this.mediaUrlPrefix);\r\n if (srcSet) {\r\n // replace with HTML-formatted srcset, including updated image URLs\r\n newAttrs.srcSet = mediaApi.getSrcSet(src, srcSet, imageParams, this.mediaUrlPrefix);\r\n } else {\r\n newAttrs.src = src;\r\n }\r\n return newAttrs;\r\n }\r\n\r\n private renderTemplate(imageProps: any) {\r\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n viewRef.rootNodes.forEach((node) => {\r\n Object.entries(imageProps).forEach(([key, imgPropVal]: [string, any]) =>\r\n this.renderer.setAttribute(node, key, imgPropVal)\r\n );\r\n });\r\n }\r\n\r\n private getElementAttrs(): { [key: string]: any } {\r\n const view = this.templateRef.createEmbeddedView(null);\r\n const element: Element = view.rootNodes[0];\r\n if (!element) {\r\n view.destroy();\r\n return {};\r\n }\r\n const attrs: { [key: string]: any } = {};\r\n for (let i = 0; i < element.attributes.length; i++) {\r\n const attr = element.attributes.item(i);\r\n if (attr) {\r\n attrs[attr.name] = attr.value;\r\n }\r\n }\r\n view.destroy();\r\n return attrs;\r\n }\r\n\r\n private renderInlineWrapper(editable: string) {\r\n const span: HTMLSpanElement = this.renderer.createElement('span');\r\n span.className = 'sc-image-wrapper';\r\n span.innerHTML = editable;\r\n\r\n const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);\r\n this.renderer.insertBefore(parentNode, span, this.elementRef.nativeElement);\r\n parentNode.removeChild(this.elementRef.nativeElement);\r\n\r\n this.inlineRef = span;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n Input,\r\n OnChanges,\r\n Renderer2,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { LinkField } from './rendering-field';\r\n\r\n@Directive({ selector: '[scLink]' })\r\nexport class LinkDirective implements OnChanges {\r\n private inlineRef: HTMLSpanElement | null = null;\r\n\r\n @Input('scLinkEditable') editable = true;\r\n\r\n @Input('scLinkAttrs') attrs: any = {};\r\n\r\n @Input('scLink') field: LinkField;\r\n\r\n constructor(\r\n protected viewContainer: ViewContainerRef,\r\n protected templateRef: TemplateRef<any>,\r\n protected renderer: Renderer2,\r\n private elementRef: ElementRef\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.field || changes.editable || changes.attrs) {\r\n this.viewContainer.clear();\r\n if (this.inlineRef) {\r\n this.inlineRef.remove();\r\n this.inlineRef = null;\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n if (this.editable && field && field.editableFirstPart && field.editableLastPart) {\r\n this.renderInlineWrapper(field.editableFirstPart, field.editableLastPart);\r\n } else if (field && (field.href || field.value)) {\r\n const props = field.href ? field : field.value;\r\n const linkText = field.text || field.value.text || field.href || field.value.href;\r\n const mergedAttrs = { ...props, ...this.attrs };\r\n this.renderTemplate(mergedAttrs, linkText);\r\n }\r\n }\r\n\r\n protected renderTemplate(props: any, linkText: string) {\r\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n\r\n viewRef.rootNodes.forEach((node) => {\r\n Object.entries(props).forEach(([key, propValue]: [string, any]) => {\r\n if (key === 'href') {\r\n const isInvalidLink = !propValue || /^https?:\\/\\/$/.test(propValue);\r\n\r\n if (isInvalidLink) {\r\n if (!node.href) {\r\n return;\r\n }\r\n\r\n propValue = node.href;\r\n }\r\n }\r\n\r\n if (key === 'class' && node.className) {\r\n propValue += ` ${node.className}`;\r\n }\r\n\r\n this.renderer.setAttribute(node, key, propValue);\r\n });\r\n\r\n if (node.childNodes && node.childNodes.length === 0 && linkText) {\r\n node.textContent = linkText;\r\n }\r\n });\r\n }\r\n\r\n private renderInlineWrapper(editableFirstPart: string, editableLastPart: string) {\r\n const span: HTMLSpanElement = this.renderer.createElement('span');\r\n span.className = 'sc-link-wrapper';\r\n span.innerHTML = editableFirstPart + editableLastPart;\r\n\r\n // assign attributes from template to inline wrapper\r\n const attrs = {\r\n ...this.getElementAttrs(),\r\n ...this.attrs,\r\n };\r\n Object.entries(attrs).forEach(([key, attrValue]: [string, any]) =>\r\n this.renderer.setAttribute(span, key, attrValue)\r\n );\r\n\r\n this.viewContainer.createEmbeddedView(this.templateRef);\r\n\r\n const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);\r\n this.renderer.insertBefore(parentNode, span, this.elementRef.nativeElement);\r\n\r\n this.inlineRef = span;\r\n }\r\n\r\n private getElementAttrs(): { [key: string]: any } {\r\n const view = this.templateRef.createEmbeddedView(null);\r\n const element: Element = view.rootNodes[0];\r\n if (!element) {\r\n view.destroy();\r\n return {};\r\n }\r\n const attrs: { [key: string]: any } = {};\r\n for (let i = 0; i < element.attributes.length; i++) {\r\n const attr = element.attributes.item(i);\r\n if (attr) {\r\n attrs[attr.name] = attr.value;\r\n }\r\n }\r\n view.destroy();\r\n return attrs;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n Input,\r\n Renderer2,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { LinkDirective } from './link.directive';\r\nimport { LinkField } from './rendering-field';\r\n\r\n@Directive({ selector: '[scRouterLink]' })\r\nexport class RouterLinkDirective extends LinkDirective {\r\n @Input('scRouterLinkEditable') editable = true;\r\n\r\n @Input('scRouterLinkAttrs') attrs: any = {};\r\n\r\n @Input('scRouterLink') field: LinkField;\r\n\r\n constructor(\r\n viewContainer: ViewContainerRef,\r\n templateRef: TemplateRef<any>,\r\n renderer: Renderer2,\r\n elementRef: ElementRef,\r\n private router: Router\r\n ) {\r\n super(viewContainer, templateRef, renderer, elementRef);\r\n }\r\n\r\n protected renderTemplate(props: any, linkText: string) {\r\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n\r\n viewRef.rootNodes.forEach((node) => {\r\n Object.entries(props).forEach(([key, propValue]: [string, any]) => {\r\n this.renderer.setAttribute(node, key, propValue);\r\n\r\n if (key === 'href') {\r\n this.renderer.listen(node, 'click', (event) => {\r\n this.router.navigate([propValue]);\r\n event.preventDefault();\r\n });\r\n }\r\n });\r\n\r\n if (node.childNodes && node.childNodes.length === 0 && linkText) {\r\n node.textContent = linkText;\r\n }\r\n });\r\n }\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n Input,\r\n Renderer2,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { Router, NavigationExtras } from '@angular/router';\r\nimport { LinkDirective } from './link.directive';\r\nimport { LinkField } from './rendering-field';\r\n\r\n@Directive({ selector: '[scGenericLink]' })\r\nexport class GenericLinkDirective extends LinkDirective {\r\n @Input('scGenericLinkEditable') editable = true;\r\n\r\n @Input('scGenericLinkAttrs') attrs: any = {};\r\n\r\n @Input('scGenericLink') field: LinkField;\r\n\r\n @Input('scGenericLinkExtras') extras?: NavigationExtras;\r\n\r\n constructor(\r\n viewContainer: ViewContainerRef,\r\n templateRef: TemplateRef<any>,\r\n renderer: Renderer2,\r\n elementRef: ElementRef,\r\n private router: Router\r\n ) {\r\n super(viewContainer, templateRef, renderer, elementRef);\r\n }\r\n\r\n protected renderTemplate(props: any, linkText: string) {\r\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n\r\n viewRef.rootNodes.forEach((node) => {\r\n Object.entries(props).forEach(([key, propValue]: [string, any]) => {\r\n if (key === 'href' && !this.isAbsoluteUrl(propValue)) {\r\n const urlTree = this.router.createUrlTree([propValue], this.extras);\r\n this.renderer.setAttribute(node, key, this.router.serializeUrl(urlTree));\r\n this.renderer.listen(node, 'click', (event) => {\r\n this.router.navigate([propValue], this.extras);\r\n event.preventDefault();\r\n });\r\n } else {\r\n this.renderer.setAttribute(node, key, propValue);\r\n }\r\n });\r\n\r\n if (node.childNodes && node.childNodes.length === 0 && linkText) {\r\n node.textContent = linkText;\r\n }\r\n });\r\n }\r\n\r\n private isAbsoluteUrl(url?: string) {\r\n if (url === null) {\r\n return false;\r\n }\r\n if (typeof url !== 'string') {\r\n throw new TypeError('Expected a string');\r\n }\r\n\r\n return /^[a-z][a-z0-9+.-]*:/.test(url);\r\n }\r\n}\r\n","import { InjectionToken, Type } from '@angular/core';\r\n\r\n/** Registers a statically loaded component */\r\nexport class ComponentNameAndType {\r\n name: string;\r\n type: Type<any>;\r\n}\r\n\r\n/** Registers a lazily loaded component by name and module to lazy load when it's needed */\r\nexport interface ComponentNameAndModule {\r\n /** Name of the component */\r\n path: string;\r\n /**\r\n * Dynamic import of the component,\r\n * e.g. () => import('./path/to/lazyloadedcomponent.module').then(m => m.LazyLoadedComponentModuleExportName)\r\n */\r\n loadChildren: () => Promise<any>;\r\n}\r\n\r\n/**\r\n * @param {any} object\r\n */\r\nexport function instanceOfComponentNameAndType(object: any): object is ComponentNameAndType {\r\n return 'type' in object;\r\n}\r\n\r\n/**\r\n * @param {any} object\r\n */\r\nexport function instanceOfComponentNameAndModule(object: any): object is ComponentNameAndModule {\r\n return 'module' in object;\r\n}\r\n\r\nexport const PLACEHOLDER_COMPONENTS = new InjectionToken<ComponentNameAndType[]>(\r\n 'Sc.placeholder.components'\r\n);\r\nexport const PLACEHOLDER_LAZY_COMPONENTS = new InjectionToken<ComponentNameAndType[]>(\r\n 'Sc.placeholder.lazyComponents'\r\n);\r\nexport const PLACEHOLDER_MISSING_COMPONENT_COMPONENT = new InjectionToken<Type<any>>(\r\n 'Sc.placeholder.missingComponentComponent'\r\n);\r\nexport const DYNAMIC_COMPONENT = new InjectionToken<Type<any> | { [s: string]: any }>(\r\n 'Sc.placeholder.dynamicComponent'\r\n);\r\n","import { Component, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\n\r\n@Component({\r\n selector: 'sc-raw',\r\n template: '',\r\n})\r\nexport class RawComponent implements OnInit {\r\n @Input() rendering: HtmlElementRendering;\r\n\r\n constructor(private renderer: Renderer2, private elementRef: ElementRef) {}\r\n\r\n ngOnInit() {\r\n const el = this.renderer.createElement(this.rendering.name);\r\n const contents = this.renderer.createText(this.rendering.contents || '');\r\n const attributes = this.rendering.attributes;\r\n for (const attr in attributes) {\r\n // eslint-disable-next-line no-prototype-builtins\r\n if ((attributes as any).hasOwnProperty(attr)) {\r\n const value = attributes[attr];\r\n this.renderer.setAttribute(el, attr, value || '');\r\n }\r\n }\r\n\r\n this.renderer.appendChild(el, contents);\r\n const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);\r\n this.renderer.insertBefore(parentNode, el, this.elementRef.nativeElement);\r\n parentNode.removeChild(this.elementRef.nativeElement);\r\n }\r\n}\r\n","import { ComponentRendering, HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\n\r\n/**\r\n * @param {HtmlElementRendering | ComponentRendering} rendering\r\n */\r\nexport function isRawRendering(\r\n rendering: HtmlElementRendering | ComponentRendering\r\n): rendering is HtmlElementRendering {\r\n return (\r\n !(rendering as ComponentRendering).componentName &&\r\n (rendering as HtmlElementRendering).name !== undefined\r\n );\r\n}\r\n","import {\r\n ComponentFactory,\r\n Inject,\r\n Injectable,\r\n Injector,\r\n Type,\r\n Compiler,\r\n NgModuleFactory,\r\n} from '@angular/core';\r\nimport { ComponentRendering, HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\nimport {\r\n ComponentNameAndModule,\r\n ComponentNameAndType,\r\n DYNAMIC_COMPONENT,\r\n PLACEHOLDER_COMPONENTS,\r\n PLACEHOLDER_LAZY_COMPONENTS,\r\n} from './components/placeholder.token';\r\nimport { RawComponent } from './components/raw.component';\r\nimport { isRawRendering } from './components/rendering';\r\n\r\nexport interface ComponentFactoryResult {\r\n componentImplementation?: Type<any>;\r\n componentDefinition: ComponentRendering | HtmlElementRendering;\r\n componentFactory?: ComponentFactory<any>;\r\n}\r\n\r\n@Injectable()\r\nexport class JssComponentFactoryService {\r\n private componentMap: Map<string, Type<any>>;\r\n private lazyComponentMap: Map<string, ComponentNameAndModule>;\r\n\r\n constructor(\r\n private injector: Injector,\r\n private compiler: Compiler,\r\n @Inject(PLACEHOLDER_COMPONENTS) private components: ComponentNameAndType[],\r\n @Inject(PLACEHOLDER_LAZY_COMPONENTS) private lazyComponents: ComponentNameAndModule[]\r\n ) {\r\n this.componentMap = new Map();\r\n this.lazyComponentMap = new Map();\r\n\r\n this.components.forEach((c) => this.componentMap.set(c.name, c.type));\r\n\r\n if (this.lazyComponents) {\r\n this.lazyComponents.forEach((c) => this.lazyComponentMap.set(c.path, c));\r\n }\r\n }\r\n\r\n private loadModuleFactory(lazyComponent: ComponentNameAndModule): Promise<NgModuleFactory<any>> {\r\n return lazyComponent.loadChildren().then((loaded) => {\r\n if (loaded instanceof NgModuleFactory) {\r\n return loaded;\r\n } else {\r\n return this.compiler.compileModuleAsync(loaded);\r\n }\r\n });\r\n }\r\n\r\n getComponent(component: ComponentRendering): Promise<ComponentFactoryResult> {\r\n const loadedComponent = this.componentMap.get(component.componentName);\r\n\r\n if (loadedComponent) {\r\n return Promise.resolve({\r\n componentDefinition: component,\r\n componentImplementation: this.componentMap.get(component.componentName),\r\n });\r\n }\r\n\r\n const lazyComponent = this.lazyComponentMap.get(component.componentName);\r\n\r\n if (lazyComponent) {\r\n return this.loadModuleFactory(lazyComponent).then((ngModuleFactory) => {\r\n let componentType = null;\r\n const moduleRef = ngModuleFactory.create(this.injector);\r\n const dynamicComponentType = moduleRef.injector.get(DYNAMIC_COMPONENT);\r\n if (!dynamicComponentType) {\r\n throw new Error(\r\n `JssComponentFactoryService: Lazy load module for component \"${lazyComponent.path}\" missing DYNAMIC_COMPONENT provider. Missing JssModule.forChild()?`\r\n );\r\n }\r\n\r\n if (component.componentName in dynamicComponentType) {\r\n componentType = (dynamicComponentType as { [s: string]: any })[component.componentName];\r\n } else {\r\n if (typeof dynamicComponentType === 'function') {\r\n componentType = dynamicComponentType;\r\n } else {\r\n throw new Error(\r\n `JssComponentFactoryService: Lazy load module for component \"${lazyComponent.path}\" missing DYNAMIC_COMPONENT provider. Missing JssModule.forChild()?`\r\n );\r\n }\r\n }\r\n\r\n return {\r\n componentDefinition: component,\r\n componentImplementation: componentType,\r\n componentFactory: moduleRef.componentFactoryResolver.resolveComponentFactory(\r\n componentType\r\n ),\r\n };\r\n });\r\n }\r\n\r\n return Promise.resolve({\r\n componentDefinition: component,\r\n });\r\n }\r\n\r\n getComponents(\r\n components: Array<ComponentRendering | HtmlElementRendering>\r\n ): Promise<ComponentFactoryResult[]> {\r\n // acquire all components and keep them in order while handling their potential async-ness\r\n return Promise.all(\r\n components.map((component) =>\r\n isRawRendering(component) ? this.getRawComponent(component) : this.getComponent(component)\r\n )\r\n );\r\n }\r\n\r\n private getRawComponent(component: HtmlElementRendering): Promise<ComponentFactoryResult> {\r\n return Promise.resolve({\r\n componentImplementation: RawComponent,\r\n componentDefinition: component,\r\n });\r\n }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[scPlaceholderLoading]',\r\n})\r\nexport class PlaceholderLoadingDirective {\r\n constructor(public templateRef: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[renderEach]',\r\n})\r\nexport class RenderEachDirective {\r\n constructor(public templateRef: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[renderEmpty]',\r\n})\r\nexport class RenderEmptyDirective {\r\n constructor(public templateRef: TemplateRef<any>) {}\r\n}\r\n","/* eslint-disable @angular-eslint/no-conflicting-lifecycle */\r\nimport {\r\n ChangeDetectorRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n ContentChild,\r\n DoCheck,\r\n ElementRef,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n KeyValueDiffer,\r\n KeyValueDiffers,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n SimpleChanges,\r\n Type,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { ComponentRendering, HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile } from 'rxjs/operators';\r\nimport {\r\n ComponentFactoryResult,\r\n JssComponentFactoryService,\r\n} from '../jss-component-factory.service';\r\nimport { PlaceholderLoadingDirective } from './placeholder-loading.directive';\r\nimport { PLACEHOLDER_MISSING_COMPONENT_COMPONENT } from './placeholder.token';\r\nimport { RenderEachDirective } from './render-each.directive';\r\nimport { RenderEmptyDirective } from './render-empty.directive';\r\nimport { isRawRendering } from './rendering';\r\n\r\n/**\r\n * @param {ComponentRendering} rendering\r\n * @param {string} name\r\n */\r\nfunction getPlaceholder(rendering: ComponentRendering, name: string) {\r\n if (rendering && rendering.placeholders && Object.keys(rendering.placeholders).length > 0) {\r\n return rendering.placeholders[name];\r\n }\r\n return null;\r\n}\r\n\r\n@Component({\r\n selector: 'sc-placeholder,[sc-placeholder]',\r\n template: `\r\n <ng-template\r\n *ngIf=\"isLoading\"\r\n [ngTemplateOutlet]=\"placeholderLoading?.templateRef\"\r\n ></ng-template>\r\n <ng-template #view></ng-template>\r\n `,\r\n})\r\nexport class PlaceholderComponent implements OnInit, OnChanges, DoCheck, OnDestroy {\r\n private _inputs: { [key: string]: any };\r\n private _differ: KeyValueDiffer<string, any>;\r\n private _componentInstances: any[] = [];\r\n private destroyed = false;\r\n private parentStyleAttribute = '';\r\n public isLoading = true;\r\n\r\n @Input() name?: string;\r\n @Input() rendering: ComponentRendering;\r\n @Input() renderings?: Array<ComponentRendering | HtmlElementRendering>;\r\n @Input() outputs: { [k: string]: (eventType: any) => void };\r\n\r\n @Output()\r\n loaded = new EventEmitter<string | undefined>();\r\n\r\n @ViewChild('view', { read: ViewContainerRef, static: true }) private view: ViewContainerRef;\r\n @ContentChild(RenderEachDirective, { static: true }) renderEachTemplate: RenderEachDirective;\r\n @ContentChild(RenderEmptyDirective, { static: true }) renderEmptyTemplate: RenderEmptyDirective;\r\n @ContentChild(PlaceholderLoadingDirective, { static: true })\r\n placeholderLoading?: PlaceholderLoadingDirective;\r\n\r\n @Input()\r\n set inputs(value: { [key: string]: any }) {\r\n this._inputs = value;\r\n if (!this._differ && value) {\r\n this._differ = this.differs.find(value).create();\r\n }\r\n }\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private differs: KeyValueDiffers,\r\n private componentFactory: JssComponentFactoryService,\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private elementRef: ElementRef,\r\n private renderer: Renderer2,\r\n @Inject(PLACEHOLDER_MISSING_COMPONENT_COMPONENT) private missingComponentComponent: Type<any>\r\n ) {}\r\n\r\n ngOnInit() {\r\n // just to ensure the element exists\r\n const elem = this.elementRef.nativeElement;\r\n\r\n if (elem) {\r\n const attributes: NamedNodeMap = elem.attributes;\r\n for (let i = 0; i < attributes.length; i++) {\r\n const attr: Attr | null = attributes.item(i);\r\n if (attr && attr.name.indexOf('_ngcontent') !== -1) {\r\n this.parentStyleAttribute = attr.name;\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroyed = true;\r\n this._componentInstances = [];\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.rendering || changes.renderings) {\r\n this._render();\r\n }\r\n }\r\n\r\n ngDoCheck() {\r\n if (!this._differ || !this._inputs || this._componentInstances.length === 0) {\r\n return;\r\n }\r\n\r\n const changes = this._differ.diff(this._inputs);\r\n if (!changes) {\r\n return;\r\n }\r\n const updates: { [key: string]: any } = {};\r\n changes.forEachRemovedItem((change) => (updates[change.key] = null));\r\n changes.forEachAddedItem((change) => (updates[change.key] = change.currentValue));\r\n changes.forEachChangedItem((change) => (updates[change.key] = change.currentValue));\r\n this._componentInstances.forEach((componentInstance) =>\r\n this._setComponentInputs(componentInstance, updates)\r\n );\r\n }\r\n\r\n private _setComponentInputs(componentInstance: any, inputs: { [key: string]: any }) {\r\n Object.entries(inputs).forEach(\r\n ([input, inputValue]) => (componentInstance[input] = inputValue)\r\n );\r\n }\r\n\r\n private _subscribeComponentOutputs(\r\n componentInstance: any,\r\n outputs: { [k: string]: (eventType: any) => void }\r\n ) {\r\n Object.keys(outputs)\r\n .filter(\r\n (output) => componentInstance[output] && componentInstance[output] instanceof Observable\r\n )\r\n .forEach((output) =>\r\n (componentInstance[output] as Observable<any>)\r\n .pipe(takeWhile(() => !this.destroyed))\r\n .subscribe(outputs[output])\r\n );\r\n }\r\n\r\n private _render() {\r\n this._componentInstances = [];\r\n this.view.clear();\r\n\r\n if (!this.rendering && !this.renderings) {\r\n return;\r\n }\r\n\r\n if (!this.name && !this.renderings) {\r\n console.warn(\r\n 'Placeholder name was not specified, and explicit renderings array was not passed. Placeholder requires either name and rendering, or renderings.'\r\n );\r\n this.isLoading = false;\r\n return;\r\n }\r\n\r\n const placeholder = this.renderings || getPlaceholder(this.rendering, this.name || '');\r\n\r\n if (!placeholder) {\r\n console.warn(\r\n `Placeholder '${this.name}' was not found in the current rendering data`,\r\n JSON.stringify(this.rendering, null, 2)\r\n );\r\n this.isLoading = false;\r\n return;\r\n }\r\n\r\n // if the placeholder is empty (contains only raw renderings), then we may need to use the empty template if it's defined\r\n const placeholderIsEmpty = placeholder.every(\r\n (rendering: ComponentRendering | HtmlElementRendering) => isRawRendering(rendering)\r\n );\r\n\r\n if (this.renderEmptyTemplate && placeholderIsEmpty) {\r\n this.view.createEmbeddedView(this.renderEmptyTemplate.templateRef, {\r\n renderings: placeholder,\r\n });\r\n this.isLoading = false;\r\n } else {\r\n this.componentFactory\r\n .getComponents(placeholder)\r\n .then((components) =>\r\n components.forEach((rendering, index) => {\r\n if (this.renderEachTemplate && !isRawRendering(rendering.componentDefinition)) {\r\n this._renderTemplatedComponent(rendering.componentDefinition, index);\r\n } else {\r\n this._renderEmbeddedComponent(rendering, index);\r\n }\r\n this.isLoading = false;\r\n })\r\n )\r\n .then(() => {\r\n this.changeDetectorRef.markForCheck();\r\n this.loaded.emit(this.name);\r\n });\r\n }\r\n }\r\n\r\n private _renderTemplatedComponent(\r\n rendering: ComponentRendering | HtmlElementRendering,\r\n index: number\r\n ) {\r\n // the render-each template takes care of all component mapping etc\r\n // generally using <sc-render-component> which is about like _renderEmbeddedComponent()\r\n // as a separate component\r\n this.view.createEmbeddedView(this.renderEachTemplate.templateRef, {\r\n rendering,\r\n index,\r\n });\r\n }\r\n\r\n private _renderEmbeddedComponent(rendering: ComponentFactoryResult, index: number) {\r\n if (!rendering.componentImplementation) {\r\n const componentName = (rendering.componentDefinition as ComponentRendering).componentName;\r\n console.error(\r\n `Placeholder ${this.name} contains unknown component ${componentName}.`,\r\n `Ensure component is mapped, like:\r\n JssModule.withComponents([\r\n { name: '${componentName}', type: ${componentName}Component }\r\n ])`\r\n );\r\n\r\n rendering.componentImplementation = this.missingComponentComponent;\r\n }\r\n\r\n const componentFactory =\r\n rendering.componentFactory ||\r\n this.componentFactoryResolver.resolveComponentFactory(rendering.componentImplementation);\r\n\r\n // apply the parent style attribute _ngcontent\r\n // work-around for https://github.com/angular/angular/issues/12215\r\n const createdComponentRef = this.view.createComponent(componentFactory, index);\r\n if (this.parentStyleAttribute) {\r\n this.renderer.setAttribute(\r\n createdComponentRef.location.nativeElement,\r\n this.parentStyleAttribute,\r\n ''\r\n );\r\n }\r\n\r\n const componentInstance = createdComponentRef.instance;\r\n componentInstance.rendering = rendering.componentDefinition;\r\n if (this._inputs) {\r\n this._setComponentInputs(componentInstance, this._inputs);\r\n }\r\n if (this.outputs) {\r\n this._subscribeComponentOutputs(componentInstance, this.outputs);\r\n }\r\n this._componentInstances.push(componentInstance);\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EmbeddedViewRef,\r\n Input,\r\n OnChanges,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { RichTextField } from './rendering-field';\r\n\r\n@Directive({\r\n selector: '[scRichText]',\r\n})\r\nexport class RichTextDirective implements OnChanges {\r\n private viewRef: EmbeddedViewRef<any>;\r\n\r\n @Input('scRichTextEditable') editable = true;\r\n\r\n @Input('scRichText') field: RichTextField;\r\n\r\n constructor(private viewContainer: ViewContainerRef, private templateRef: TemplateRef<any>) {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.field || changes.editable) {\r\n if (!this.viewRef) {\r\n this.viewContainer.clear();\r\n this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n if (!field || (!field.editable && !field.value)) {\r\n return;\r\n }\r\n\r\n const html = field.editable && this.editable ? field.editable : field.value;\r\n this.viewRef.rootNodes.forEach((node) => {\r\n node.innerHTML = html;\r\n });\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EmbeddedViewRef,\r\n Input,\r\n OnChanges,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { TextField } from './rendering-field';\r\n\r\n@Directive({\r\n selector: '[scText]',\r\n})\r\nexport class TextDirective implements OnChanges {\r\n private viewRef: EmbeddedViewRef<any>;\r\n\r\n @Input('scTextEditable') editable = true;\r\n\r\n @Input('scTextEncode') encode = true;\r\n\r\n @Input('scText') field: TextField;\r\n\r\n constructor(private viewContainer: ViewContainerRef, private templateRef: TemplateRef<any>) {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.field || changes.editable || changes.encode) {\r\n if (!this.viewRef) {\r\n this.viewContainer.clear();\r\n this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n let editable = this.editable;\r\n\r\n if (!field || (!field.editable && !field.value)) {\r\n return;\r\n }\r\n\r\n // can't use editable value if we want to output unencoded\r\n if (!this.encode) {\r\n editable = false;\r\n }\r\n\r\n const html = field.editable && editable ? field.editable : field.value;\r\n const setDangerously = (field.editable && editable) || !this.encode;\r\n\r\n this.viewRef.rootNodes.forEach((node) => {\r\n if (setDangerously) {\r\n node.innerHTML = html;\r\n } else {\r\n node.textContent = html;\r\n }\r\n });\r\n }\r\n}\r\n","import { LayoutServiceContextData } from '@sitecore-jss/sitecore-jss';\r\n\r\nexport class LayoutServiceError {\r\n status: number;\r\n statusText: string;\r\n data?: { sitecore?: LayoutServiceContextData };\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n dataApi,\r\n LayoutServiceData,\r\n LayoutServiceRequestOptions,\r\n PlaceholderData,\r\n} from '@sitecore-jss/sitecore-jss';\r\nimport { from as fromPromise, Observable, throwError as observableThrow } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { LayoutServiceError } from './layout-service-error';\r\n\r\nconst { fetchRouteData, fetchPlaceholderData } = dataApi;\r\n\r\n@Injectable()\r\nexport class LayoutService {\r\n private static getLayoutServiceError(error: any): Observable<LayoutServiceError> {\r\n const layoutServiceError = new LayoutServiceError();\r\n const response = error.response;\r\n if (response) {\r\n layoutServiceError.status = response.status;\r\n layoutServiceError.statusText = response.statusText;\r\n layoutServiceError.data = response.data;\r\n }\r\n\r\n return observableThrow(layoutServiceError);\r\n }\r\n\r\n getRouteData(\r\n route: string,\r\n options: LayoutServiceRequestOptions<LayoutServiceData>\r\n ): Observable<LayoutServiceData | LayoutServiceError> {\r\n return fromPromise(fetchRouteData(route, options)).pipe(\r\n catchError(LayoutService.getLayoutServiceError)\r\n );\r\n }\r\n\r\n getPlaceholderData(\r\n route: string,\r\n placeholderName: string,\r\n options: LayoutServiceRequestOptions<PlaceholderData>\r\n ): Observable<PlaceholderData | LayoutServiceError> {\r\n return fromPromise(fetchPlaceholderData(placeholderName, route, options)).pipe(\r\n catchError(LayoutService.getLayoutServiceError)\r\n );\r\n }\r\n}\r\n","import { DatePipe } from '@angular/common';\r\nimport {\r\n Directive,\r\n EmbeddedViewRef,\r\n Input,\r\n OnChanges,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { TextField } from './rendering-field';\r\n\r\n@Directive({\r\n selector: '[scDate]',\r\n})\r\nexport class DateDirective implements OnChanges {\r\n private viewRef: EmbeddedViewRef<any>;\r\n\r\n @Input('scDateFormat') format?: string;\r\n\r\n @Input('scDateTimezone') timezone?: string;\r\n\r\n @Input('scDateLocale') locale?: string;\r\n\r\n @Input('scDateEditable') editable = true;\r\n\r\n @Input('scDate') field: TextField;\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n private datePipe: DatePipe\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.field || changes.format) {\r\n if (!this.viewRef) {\r\n this.viewContainer.clear();\r\n this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\r\n }\r\n\r\n this.updateView();\r\n }\r\n }\r\n\r\n private updateView() {\r\n const field = this.field;\r\n\r\n if (!field || (!field.editable && !field.value)) {\r\n return;\r\n }\r\n\r\n const html = field.editable && this.editable ? field.editable : field.value;\r\n const setDangerously = field.editable && this.editable;\r\n\r\n this.viewRef.rootNodes.forEach((node) => {\r\n if (setDangerously) {\r\n node.innerHTML = html;\r\n } else {\r\n node.textContent = this.datePipe.transform(html, this.format, this.timezone, this.locale);\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sc-missing-component',\r\n template: `\r\n <div\r\n style=\"background: darkorange; outline: 5px solid orange; padding: 10px; color: white; max-width: 500px;\"\r\n >\r\n <h2>{{ rendering.componentName }}</h2>\r\n <p>JSS component is missing Angular component implementation.</p>\r\n </div>\r\n `,\r\n})\r\nexport class MissingComponentComponent {\r\n @Input() rendering: any;\r\n}\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n Inject,\r\n Input,\r\n KeyValueDiffer,\r\n KeyValueDiffers,\r\n OnChanges,\r\n SimpleChanges,\r\n Type,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { ComponentRendering, HtmlElementRendering } from '@sitecore-jss/sitecore-jss';\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile } from 'rxjs/operators';\r\nimport {\r\n ComponentFactoryResult,\r\n JssComponentFactoryService,\r\n} from '../jss-component-factory.service';\r\nimport { PLACEHOLDER_MISSING_COMPONENT_COMPONENT } from './placeholder.token';\r\nimport { RawComponent } from './raw.component';\r\nimport { isRawRendering } from './rendering';\r\n\r\n/**\r\n * Renders a single JSS component given a rendering definition.\r\n * Useful inside templated placeholders.\r\n */\r\n@Component({\r\n selector: 'sc-render-component',\r\n template: `\r\n <ng-template #view></ng-template>\r\n `,\r\n})\r\nexport class RenderComponentComponent implements OnChanges {\r\n private _inputs: { [key: string]: any };\r\n private _differ: KeyValueDiffer<string, any>;\r\n private destroyed = false;\r\n\r\n @Input() rendering: ComponentRendering | HtmlElementRendering;\r\n @Input() outputs: { [k: string]: (eventType: any) => void };\r\n @ViewChild('view', { read: ViewContainerRef, static: true }) private view: ViewContainerRef;\r\n\r\n @Input()\r\n set inputs(value: { [key: string]: any }) {\r\n this._inputs = value;\r\n if (!this._differ && value) {\r\n this._differ = this.differs.find(value).create();\r\n }\r\n }\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private differs: KeyValueDiffers,\r\n private componentFactory: JssComponentFactoryService,\r\n @Inject(PLACEHOLDER_MISSING_COMPONENT_COMPONENT) private missingComponentComponent: Type<any>\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.rendering) {\r\n this._render();\r\n }\r\n }\r\n\r\n private _setComponentInputs(componentInstance: any, inputs: { [key: string]: any }) {\r\n Object.entries(inputs).forEach(\r\n ([input, inputValue]) => (componentInstance[input] = inputValue)\r\n );\r\n }\r\n\r\n private _subscribeComponentOutputs(\r\n componentInstance: any,\r\n outputs: { [k: string]: (eventType: any) => void }\r\n ) {\r\n Object.keys(outputs)\r\n .filter(\r\n (output) => componentInstance[output] && componentInstance[output] instanceof Observable\r\n )\r\n .forEach((output) =>\r\n (componentInstance[output] as Observable<any>)\r\n .pipe(takeWhile(() => !this.destroyed))\r\n .subscribe(outputs[output])\r\n );\r\n }\r\n\r\n private _render() {\r\n this.view.clear();\r\n\r\n if (!this.rendering) {\r\n return;\r\n }\r\n\r\n const resolveComponent: Promise<ComponentFactoryResult> = isRawRendering(this.rendering)\r\n ? Promise.resolve({\r\n componentImplementation: RawComponent,\r\n componentDefinition: this.rendering,\r\n })\r\n : this.componentFactory.getComponent(this.rendering);\r\n\r\n resolveComponent.then((rendering) => {\r\n if (!rendering.componentImplementation) {\r\n const componentName = (rendering.componentDefinition as ComponentRendering).componentName;\r\n console.error(\r\n `Attempted to render unknown component ${componentName}.`,\r\n `Ensure component is mapped, like:\r\n JssModule.withComponents([\r\n { name: '${componentName}', type: ${componentName}Component }\r\n ])`\r\n );\r\n\r\n rendering.componentImplementation = this.missingComponentComponent;\r\n }\r\n\r\n const componentFactory =\r\n rendering.componentFactory ||\r\n this.componentFactoryResolver.resolveComponentFactory(rendering.componentImplementation);\r\n\r\n const componentInstance = this.view.createComponent(componentFactory, 0).instance;\r\n componentInstance.rendering = rendering.componentDefinition;\r\n if (this._inputs) {\r\n this._setComponentInputs(componentInstance, this._inputs);\r\n }\r\n if (this.outputs) {\r\n this._subscribeComponentOutputs(componentInstance, this.outputs);\r\n }\r\n });\r\n }\r\n}\r\n","import { CommonModule, DatePipe } from '@angular/common';\r\nimport { ANALYZE_FOR_ENTRY_COMPONENTS, ModuleWithProviders, NgModule, Type } from '@angular/core';\r\nimport { ROUTES } from '@angular/router';\r\nimport { DateDirective } from './components/date.directive';\r\nimport { FileDirective } from './components/file.directive';\r\nimport { GenericLinkDirective } from './components/generic-link.directive';\r\nimport { ImageDirective } from './components/image.directive';\r\nimport { LinkDirective } from './components/link.directive';\r\nimport { MissingComponentComponent } from './components/missing-component.component';\r\nimport { PlaceholderLoadingDirective } from './components/placeholder-loading.directive';\r\nimport { PlaceholderComponent } from './components/placeholder.component';\r\nimport {\r\n ComponentNameAndModule,\r\n ComponentNameAndType,\r\n DYNAMIC_COMPONENT,\r\n PLACEHOLDER_COMPONENTS,\r\n PLACEHOLDER_LAZY_COMPONENTS,\r\n PLACEHOLDER_MISSING_COMPONENT_COMPONENT,\r\n} from './components/placeholder.token';\r\nimport { RawComponent } from './components/raw.component';\r\nimport { RenderComponentComponent } from './components/render-component.component';\r\nimport { RenderEachDirective } from './components/render-each.directive';\r\nimport { RenderEmptyDirective } from './components/render-empty.directive';\r\nimport { RichTextDirective } from './components/rich-text.directive';\r\nimport { RouterLinkDirective } from './components/router-link.directive';\r\nimport { TextDirective } from './components/text.directive';\r\nimport { JssComponentFactoryService } from './jss-component-factory.service';\r\nimport { LayoutService } from './layout.service';\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [\r\n FileDirective,\r\n ImageDirective,\r\n LinkDirective,\r\n RouterLinkDirective,\r\n GenericLinkDirective,\r\n DateDirective,\r\n RenderEachDirective,\r\n RenderEmptyDirective,\r\n PlaceholderLoadingDirective,\r\n RenderComponentComponent,\r\n PlaceholderComponent,\r\n RawComponent,\r\n RichTextDirective,\r\n TextDirective,\r\n MissingComponentComponent,\r\n ],\r\n exports: [\r\n FileDirective,\r\n ImageDirective,\r\n DateDirective,\r\n LinkDirective,\r\n RouterLinkDirective,\r\n GenericLinkDirective,\r\n RenderEachDirective,\r\n RenderEmptyDirective,\r\n RenderComponentComponent,\r\n PlaceholderComponent,\r\n PlaceholderLoadingDirective,\r\n RichTextDirective,\r\n TextDirective,\r\n ],\r\n entryComponents: [RawComponent, MissingComponentComponent],\r\n})\r\nexport class JssModule {\r\n /**\r\n * Instantiates the JSS module with no component factory.\r\n * Useful for using it from libraries. Most of the time you'd want withComponents()\r\n * @returns {ModuleWithProviders<JssModule>} module\r\n */\r\n static forRoot(): ModuleWithProviders<JssModule> {\r\n return {\r\n ngModule: JssModule,\r\n providers: [LayoutService, DatePipe, JssComponentFactoryService],\r\n };\r\n }\r\n\r\n /**\r\n * Instantiates a module for a lazy-loaded JSS component\r\n * @param {Type<any>} component\r\n * @returns {ModuleWithProviders<JssModule>} module\r\n */\r\n static forChild(component: Type<any>): ModuleWithProviders<JssModule> {\r\n return {\r\n ngModule: JssModule,\r\n providers: [\r\n { provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: component, multi: true },\r\n { provide: ROUTES, useValue: [], multi: true },\r\n { provide: DYNAMIC_COMPONENT, useValue: component },\r\n ],\r\n };\r\n }\r\n\r\n /**\r\n * Instantiates the JSS module and specifies the mapping from component name to component implementation.\r\n * Appropriate when defining the set of JSS components that your app is aware of.\r\n * @param {ComponentNameAndType[]} components\r\n * @param {ComponentNameAndModule[]} [lazyComponents]\r\n * @returns {ModuleWithProviders<JssModule>} module\r\n */\r\n static withComponents(\r\n components: ComponentNameAndType[],\r\n lazyComponents?: ComponentNameAndModule[]\r\n ): ModuleWithProviders<JssModule> {\r\n return {\r\n ngModule: JssModule,\r\n providers: [\r\n {\r\n provide: ANALYZE_FOR_ENTRY_COMPONENTS,\r\n useValue: components,\r\n multi: true,\r\n },\r\n { provide: PLACEHOLDER_COMPONENTS, useValue: components },\r\n { provide: PLACEHOLDER_LAZY_COMPONENTS, useValue: lazyComponents || [] },\r\n { provide: ROUTES, useValue: lazyComponents || [], multi: true },\r\n { provide: PLACEHOLDER_MISSING_COMPONENT_COMPONENT, useValue: MissingComponentComponent },\r\n ...(JssModule.forRoot().providers as any[]),\r\n ],\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {DateDirective as ɵh} from './components/date.directive';\nexport {MissingComponentComponent as ɵk} from './components/missing-component.component';\nexport {ComponentNameAndModule as ɵa,PLACEHOLDER_COMPONENTS as ɵb,PLACEHOLDER_LAZY_COMPONENTS as ɵc,PLACEHOLDER_MISSING_COMPONENT_COMPONENT as ɵd} from './components/placeholder.token';\nexport {RawComponent as ɵj} from './components/raw.component';\nexport {RenderComponentComponent as ɵi} from './components/render-component.component';\nexport {RenderEachDirective as ɵe} from './components/render-each.directive';\nexport {RenderEmptyDirective as ɵf} from './components/render-empty.directive';\nexport {JssComponentFactoryService as ɵg} from './jss-component-factory.service';"],"names":["Directive","ViewContainerRef","TemplateRef","Input","mediaApi","Renderer2","ElementRef","Router","InjectionToken","Component","NgModuleFactory","Injectable","Injector","Compiler","Inject","EventEmitter","Observable","takeWhile","ComponentFactoryResolver","KeyValueDiffers","ChangeDetectorRef","Type","Output","ViewChild","ContentChild","dataApi","observableThrow","fromPromise","catchError","DatePipe","ANALYZE_FOR_ENTRY_COMPONENTS","ROUTES","NgModule","CommonModule"],"mappings":"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"}