@sitecore-jss/sitecore-jss-angular 15.0.1 → 15.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 (59) hide show
  1. package/LICENSE.txt +202 -202
  2. package/README.md +5 -5
  3. package/dist/README.md +5 -5
  4. package/dist/bundles/sitecore-jss-sitecore-jss-angular.umd.js +1 -1
  5. package/dist/bundles/sitecore-jss-sitecore-jss-angular.umd.js.map +1 -1
  6. package/dist/bundles/sitecore-jss-sitecore-jss-angular.umd.min.js +1 -1
  7. package/dist/bundles/sitecore-jss-sitecore-jss-angular.umd.min.js.map +1 -1
  8. package/dist/esm2015/components/date.directive.js +1 -1
  9. package/dist/esm2015/components/file.directive.js +1 -1
  10. package/dist/esm2015/components/generic-link.directive.js +1 -1
  11. package/dist/esm2015/components/image.directive.js +1 -1
  12. package/dist/esm2015/components/link.directive.js +1 -1
  13. package/dist/esm2015/components/missing-component.component.js +1 -1
  14. package/dist/esm2015/components/placeholder-loading.directive.js +1 -1
  15. package/dist/esm2015/components/placeholder.component.js +1 -1
  16. package/dist/esm2015/components/placeholder.token.js +1 -1
  17. package/dist/esm2015/components/raw.component.js +1 -1
  18. package/dist/esm2015/components/render-component.component.js +1 -1
  19. package/dist/esm2015/components/render-each.directive.js +1 -1
  20. package/dist/esm2015/components/render-empty.directive.js +1 -1
  21. package/dist/esm2015/components/rendering-field.js +1 -1
  22. package/dist/esm2015/components/rendering.js +1 -1
  23. package/dist/esm2015/components/rich-text.directive.js +1 -1
  24. package/dist/esm2015/components/router-link.directive.js +2 -2
  25. package/dist/esm2015/components/text.directive.js +1 -1
  26. package/dist/esm2015/jss-component-factory.service.js +1 -1
  27. package/dist/esm2015/layout-service-error.js +1 -1
  28. package/dist/esm2015/layout.service.js +1 -1
  29. package/dist/esm2015/lib.module.js +1 -1
  30. package/dist/esm2015/public_api.js +1 -1
  31. package/dist/esm2015/sitecore-jss-sitecore-jss-angular.js +1 -1
  32. package/dist/fesm2015/sitecore-jss-sitecore-jss-angular.js +1 -1
  33. package/dist/fesm2015/sitecore-jss-sitecore-jss-angular.js.map +1 -1
  34. package/dist/package.json +2 -2
  35. package/package.json +3 -3
  36. package/typings/README.md +2 -2
  37. package/__ivy_ngcc__/dist/esm2015/components/date.directive.js +0 -74
  38. package/__ivy_ngcc__/dist/esm2015/components/file.directive.js +0 -50
  39. package/__ivy_ngcc__/dist/esm2015/components/generic-link.directive.js +0 -77
  40. package/__ivy_ngcc__/dist/esm2015/components/image.directive.js +0 -145
  41. package/__ivy_ngcc__/dist/esm2015/components/link.directive.js +0 -114
  42. package/__ivy_ngcc__/dist/esm2015/components/missing-component.component.js +0 -35
  43. package/__ivy_ngcc__/dist/esm2015/components/placeholder-loading.directive.js +0 -19
  44. package/__ivy_ngcc__/dist/esm2015/components/placeholder.component.js +0 -252
  45. package/__ivy_ngcc__/dist/esm2015/components/placeholder.token.js +0 -15
  46. package/__ivy_ngcc__/dist/esm2015/components/raw.component.js +0 -42
  47. package/__ivy_ngcc__/dist/esm2015/components/render-component.component.js +0 -116
  48. package/__ivy_ngcc__/dist/esm2015/components/render-each.directive.js +0 -20
  49. package/__ivy_ngcc__/dist/esm2015/components/render-empty.directive.js +0 -20
  50. package/__ivy_ngcc__/dist/esm2015/components/rendering.js +0 -4
  51. package/__ivy_ngcc__/dist/esm2015/components/rich-text.directive.js +0 -52
  52. package/__ivy_ngcc__/dist/esm2015/components/router-link.directive.js +0 -60
  53. package/__ivy_ngcc__/dist/esm2015/components/text.directive.js +0 -69
  54. package/__ivy_ngcc__/dist/esm2015/jss-component-factory.service.js +0 -103
  55. package/__ivy_ngcc__/dist/esm2015/layout-service-error.js +0 -3
  56. package/__ivy_ngcc__/dist/esm2015/layout.service.js +0 -33
  57. package/__ivy_ngcc__/dist/esm2015/lib.module.js +0 -146
  58. package/__ivy_ngcc__/dist/esm2015/public_api.js +0 -16
  59. package/__ivy_ngcc__/dist/esm2015/sitecore-jss-sitecore-jss-angular.js +0 -13
@@ -27,4 +27,4 @@ export class LayoutService {
27
27
  LayoutService.decorators = [
28
28
  { type: Injectable }
29
29
  ];
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovd29yay9wcm9qZWN0cy9qc3MtcmVsZWFzZS0xNS9wYWNrYWdlcy9zaXRlY29yZS1qc3MtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJsYXlvdXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQW1FLE1BQU0sNEJBQTRCLENBQUM7QUFDdEgsT0FBTyxFQUFFLElBQUksSUFBSSxXQUFXLEVBQWMsVUFBVSxJQUFJLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsTUFBTSxFQUFFLGNBQWMsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLE9BQU8sQ0FBQztBQUd6RCxNQUFNLE9BQU8sYUFBYTtJQUNoQixNQUFNLENBQUMscUJBQXFCLENBQUMsS0FBVTtRQUM3QyxNQUFNLGtCQUFrQixHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUNwRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQ2hDLElBQUksUUFBUSxFQUFFO1lBQ1osa0JBQWtCLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDNUMsa0JBQWtCLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUM7WUFDcEQsa0JBQWtCLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7U0FDekM7UUFFRCxPQUFPLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYSxFQUFFLE9BQXVEO1FBQ2pGLE9BQU8sV0FBVyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDL0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxrQkFBa0IsQ0FDaEIsS0FBYSxFQUNiLGVBQXVCLEVBQ3ZCLE9BQXFEO1FBRXJELE9BQU8sV0FBVyxDQUFDLG9CQUFvQixDQUFDLGVBQWUsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDdEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7OztZQTFCRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBkYXRhQXBpLCBMYXlvdXRTZXJ2aWNlRGF0YSwgTGF5b3V0U2VydmljZVJlcXVlc3RPcHRpb25zLCBQbGFjZWhvbGRlckRhdGEgfSBmcm9tICdAc2l0ZWNvcmUtanNzL3NpdGVjb3JlLWpzcyc7XHJcbmltcG9ydCB7IGZyb20gYXMgZnJvbVByb21pc2UsIE9ic2VydmFibGUsIHRocm93RXJyb3IgYXMgb2JzZXJ2YWJsZVRocm93IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IExheW91dFNlcnZpY2VFcnJvciB9IGZyb20gJy4vbGF5b3V0LXNlcnZpY2UtZXJyb3InO1xyXG5cclxuY29uc3QgeyBmZXRjaFJvdXRlRGF0YSwgZmV0Y2hQbGFjZWhvbGRlckRhdGEgfSA9IGRhdGFBcGk7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBMYXlvdXRTZXJ2aWNlIHtcclxuICBwcml2YXRlIHN0YXRpYyBnZXRMYXlvdXRTZXJ2aWNlRXJyb3IoZXJyb3I6IGFueSk6IE9ic2VydmFibGU8TGF5b3V0U2VydmljZUVycm9yPiB7XHJcbiAgICBjb25zdCBsYXlvdXRTZXJ2aWNlRXJyb3IgPSBuZXcgTGF5b3V0U2VydmljZUVycm9yKCk7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGVycm9yLnJlc3BvbnNlO1xyXG4gICAgaWYgKHJlc3BvbnNlKSB7XHJcbiAgICAgIGxheW91dFNlcnZpY2VFcnJvci5zdGF0dXMgPSByZXNwb25zZS5zdGF0dXM7XHJcbiAgICAgIGxheW91dFNlcnZpY2VFcnJvci5zdGF0dXNUZXh0ID0gcmVzcG9uc2Uuc3RhdHVzVGV4dDtcclxuICAgICAgbGF5b3V0U2VydmljZUVycm9yLmRhdGEgPSByZXNwb25zZS5kYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBvYnNlcnZhYmxlVGhyb3cobGF5b3V0U2VydmljZUVycm9yKTtcclxuICB9XHJcblxyXG4gIGdldFJvdXRlRGF0YShyb3V0ZTogc3RyaW5nLCBvcHRpb25zOiBMYXlvdXRTZXJ2aWNlUmVxdWVzdE9wdGlvbnM8TGF5b3V0U2VydmljZURhdGE+KTogT2JzZXJ2YWJsZTxMYXlvdXRTZXJ2aWNlRGF0YSB8IExheW91dFNlcnZpY2VFcnJvcj4ge1xyXG4gICAgcmV0dXJuIGZyb21Qcm9taXNlKGZldGNoUm91dGVEYXRhKHJvdXRlLCBvcHRpb25zKSlcclxuICAgICAgLnBpcGUoY2F0Y2hFcnJvcihMYXlvdXRTZXJ2aWNlLmdldExheW91dFNlcnZpY2VFcnJvcikpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGxhY2Vob2xkZXJEYXRhKFxyXG4gICAgcm91dGU6IHN0cmluZyxcclxuICAgIHBsYWNlaG9sZGVyTmFtZTogc3RyaW5nLFxyXG4gICAgb3B0aW9uczogTGF5b3V0U2VydmljZVJlcXVlc3RPcHRpb25zPFBsYWNlaG9sZGVyRGF0YT5cclxuICApOiBPYnNlcnZhYmxlPFBsYWNlaG9sZGVyRGF0YSB8IExheW91dFNlcnZpY2VFcnJvcj4ge1xyXG4gICAgcmV0dXJuIGZyb21Qcm9taXNlKGZldGNoUGxhY2Vob2xkZXJEYXRhKHBsYWNlaG9sZGVyTmFtZSwgcm91dGUsIG9wdGlvbnMpKVxyXG4gICAgICAucGlwZShjYXRjaEVycm9yKExheW91dFNlcnZpY2UuZ2V0TGF5b3V0U2VydmljZUVycm9yKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovV29yay9TaXRlY29yZS5KU1Mvc2NyaXB0cy9wdWJsaXNoL2pzcy1naXRodWIvcGFja2FnZXMvc2l0ZWNvcmUtanNzLWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGF5b3V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFtRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RILE9BQU8sRUFBRSxJQUFJLElBQUksV0FBVyxFQUFjLFVBQVUsSUFBSSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTVELE1BQU0sRUFBRSxjQUFjLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxPQUFPLENBQUM7QUFHekQsTUFBTSxPQUFPLGFBQWE7SUFDaEIsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEtBQVU7UUFDN0MsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFDcEQsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUNoQyxJQUFJLFFBQVEsRUFBRTtZQUNaLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQzVDLGtCQUFrQixDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDO1lBQ3BELGtCQUFrQixDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1NBQ3pDO1FBRUQsT0FBTyxlQUFlLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWEsRUFBRSxPQUF1RDtRQUNqRixPQUFPLFdBQVcsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQy9DLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsa0JBQWtCLENBQ2hCLEtBQWEsRUFDYixlQUF1QixFQUN2QixPQUFxRDtRQUVyRCxPQUFPLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQ3RFLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDOzs7WUExQkYsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZGF0YUFwaSwgTGF5b3V0U2VydmljZURhdGEsIExheW91dFNlcnZpY2VSZXF1ZXN0T3B0aW9ucywgUGxhY2Vob2xkZXJEYXRhIH0gZnJvbSAnQHNpdGVjb3JlLWpzcy9zaXRlY29yZS1qc3MnO1xyXG5pbXBvcnQgeyBmcm9tIGFzIGZyb21Qcm9taXNlLCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIGFzIG9ic2VydmFibGVUaHJvdyB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBMYXlvdXRTZXJ2aWNlRXJyb3IgfSBmcm9tICcuL2xheW91dC1zZXJ2aWNlLWVycm9yJztcclxuXHJcbmNvbnN0IHsgZmV0Y2hSb3V0ZURhdGEsIGZldGNoUGxhY2Vob2xkZXJEYXRhIH0gPSBkYXRhQXBpO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTGF5b3V0U2VydmljZSB7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0TGF5b3V0U2VydmljZUVycm9yKGVycm9yOiBhbnkpOiBPYnNlcnZhYmxlPExheW91dFNlcnZpY2VFcnJvcj4ge1xyXG4gICAgY29uc3QgbGF5b3V0U2VydmljZUVycm9yID0gbmV3IExheW91dFNlcnZpY2VFcnJvcigpO1xyXG4gICAgY29uc3QgcmVzcG9uc2UgPSBlcnJvci5yZXNwb25zZTtcclxuICAgIGlmIChyZXNwb25zZSkge1xyXG4gICAgICBsYXlvdXRTZXJ2aWNlRXJyb3Iuc3RhdHVzID0gcmVzcG9uc2Uuc3RhdHVzO1xyXG4gICAgICBsYXlvdXRTZXJ2aWNlRXJyb3Iuc3RhdHVzVGV4dCA9IHJlc3BvbnNlLnN0YXR1c1RleHQ7XHJcbiAgICAgIGxheW91dFNlcnZpY2VFcnJvci5kYXRhID0gcmVzcG9uc2UuZGF0YTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gb2JzZXJ2YWJsZVRocm93KGxheW91dFNlcnZpY2VFcnJvcik7XHJcbiAgfVxyXG5cclxuICBnZXRSb3V0ZURhdGEocm91dGU6IHN0cmluZywgb3B0aW9uczogTGF5b3V0U2VydmljZVJlcXVlc3RPcHRpb25zPExheW91dFNlcnZpY2VEYXRhPik6IE9ic2VydmFibGU8TGF5b3V0U2VydmljZURhdGEgfCBMYXlvdXRTZXJ2aWNlRXJyb3I+IHtcclxuICAgIHJldHVybiBmcm9tUHJvbWlzZShmZXRjaFJvdXRlRGF0YShyb3V0ZSwgb3B0aW9ucykpXHJcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IoTGF5b3V0U2VydmljZS5nZXRMYXlvdXRTZXJ2aWNlRXJyb3IpKTtcclxuICB9XHJcblxyXG4gIGdldFBsYWNlaG9sZGVyRGF0YShcclxuICAgIHJvdXRlOiBzdHJpbmcsXHJcbiAgICBwbGFjZWhvbGRlck5hbWU6IHN0cmluZyxcclxuICAgIG9wdGlvbnM6IExheW91dFNlcnZpY2VSZXF1ZXN0T3B0aW9uczxQbGFjZWhvbGRlckRhdGE+XHJcbiAgKTogT2JzZXJ2YWJsZTxQbGFjZWhvbGRlckRhdGEgfCBMYXlvdXRTZXJ2aWNlRXJyb3I+IHtcclxuICAgIHJldHVybiBmcm9tUHJvbWlzZShmZXRjaFBsYWNlaG9sZGVyRGF0YShwbGFjZWhvbGRlck5hbWUsIHJvdXRlLCBvcHRpb25zKSlcclxuICAgICAgLnBpcGUoY2F0Y2hFcnJvcihMYXlvdXRTZXJ2aWNlLmdldExheW91dFNlcnZpY2VFcnJvcikpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -110,4 +110,4 @@ JssModule.decorators = [
110
110
  ],
111
111
  },] }
112
112
  ];
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJDOi93b3JrL3Byb2plY3RzL2pzcy1yZWxlYXNlLTE1L3BhY2thZ2VzL3NpdGVjb3JlLWpzcy1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImxpYi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsNEJBQTRCLEVBRTVCLFFBQVEsRUFFVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzFFLE9BQU8sRUFHTCxpQkFBaUIsRUFDakIsc0JBQXNCLEVBQ3RCLDJCQUEyQixFQUMzQix1Q0FBdUMsRUFDeEMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbkYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxF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ICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIEFOQUxZWkVfRk9SX0VOVFJZX0NPTVBPTkVOVFMsXHJcbiAgTW9kdWxlV2l0aFByb3ZpZGVycyxcclxuICBOZ01vZHVsZSxcclxuICBUeXBlXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJPVVRFUyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IERhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBGaWxlRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgR2VuZXJpY0xpbmtEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvZ2VuZXJpYy1saW5rLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEltYWdlRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL2ltYWdlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IExpbmtEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvbGluay5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBNaXNzaW5nQ29tcG9uZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21pc3NpbmctY29tcG9uZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBsYWNlaG9sZGVyTG9hZGluZ0RpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy9wbGFjZWhvbGRlci1sb2FkaW5nLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFBsYWNlaG9sZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BsYWNlaG9sZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50TmFtZUFuZE1vZHVsZSxcclxuICBDb21wb25lbnROYW1lQW5kVHlwZSxcclxuICBEWU5BTUlDX0NPTVBPTkVOVCxcclxuICBQTEFDRUhPTERFUl9DT01QT05FTlRTLFxyXG4gIFBMQUNFSE9MREVSX0xBWllfQ09NUE9ORU5UUyxcclxuICBQTEFDRUhPTERFUl9NSVNTSU5HX0NPTVBPTkVOVF9DT01QT05FTlRcclxufSBmcm9tICcuL2NvbXBvbmVudHMvcGxhY2Vob2xkZXIudG9rZW4nO1xyXG5pbXBvcnQgeyBSYXdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmF3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlbmRlckNvbXBvbmVudENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yZW5kZXItY29tcG9uZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlbmRlckVhY2hEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvcmVuZGVyLWVhY2guZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUmVuZGVyRW1wdHlEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvcmVuZGVyLWVtcHR5LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFJpY2hUZXh0RGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL3JpY2gtdGV4dC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXJMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL3JvdXRlci1saW5rLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFRleHREaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvdGV4dC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBKc3NDb21wb25lbnRGYWN0b3J5U2VydmljZSB9IGZyb20gJy4vanNzLWNvbXBvbmVudC1mYWN0b3J5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMYXlvdXRTZXJ2aWNlIH0gZnJvbSAnLi9sYXlvdXQuc2VydmljZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgRmlsZURpcmVjdGl2ZSxcclxuICAgIEltYWdlRGlyZWN0aXZlLFxyXG4gICAgTGlua0RpcmVjdGl2ZSxcclxuICAgIFJvdXRlckxpbmtEaXJlY3RpdmUsXHJcbiAgICBHZW5lcmljTGlua0RpcmVjdGl2ZSxcclxuICAgIERhdGVEaXJlY3RpdmUsXHJcbiAgICBSZW5kZXJFYWNoRGlyZWN0aXZlLFxyXG4gICAgUmVuZGVyRW1wdHlEaXJlY3RpdmUsXHJcbiAgICBQbGFjZWhvbGRlckxvYWRpbmdEaXJlY3RpdmUsXHJcbiAgICBSZW5kZXJDb21wb25lbnRDb21wb25lbnQsXHJcbiAgICBQbGFjZWhvbGRlckNvbXBvbmVudCxcclxuICAgIFJhd0NvbXBvbmVudCxcclxuICAgIFJpY2hUZXh0RGlyZWN0aXZlLFxyXG4gICAgVGV4dERpcmVjdGl2ZSxcclxuICAgIE1pc3NpbmdDb21wb25lbnRDb21wb25lbnQsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBGaWxlRGlyZWN0aXZlLFxyXG4gICAgSW1hZ2VEaXJlY3RpdmUsXHJcbiAgICBEYXRlRGlyZWN0aXZlLFxyXG4gICAgTGlua0RpcmVjdGl2ZSxcclxuICAgIFJvdXRlckxpbmtEaXJlY3RpdmUsXHJcbiAgICBHZW5lcmljTGlua0RpcmVjdGl2ZSxcclxuICAgIFJlbmRlckVhY2hEaXJlY3RpdmUsXHJcbiAgICBSZW5kZXJFbXB0eURpcmVjdGl2ZSxcclxuICAgIFJlbmRlckNvbXBvbmVudENvbXBvbmVudCxcclxuICAgIFBsYWNlaG9sZGVyQ29tcG9uZW50LFxyXG4gICAgUGxhY2Vob2xkZXJMb2FkaW5nRGlyZWN0aXZlLFxyXG4gICAgUmljaFRleHREaXJlY3RpdmUsXHJcbiAgICBUZXh0RGlyZWN0aXZlLFxyXG4gIF0sXHJcbiAgZW50cnlDb21wb25lbnRzOiBbXHRcclxuICAgIFJhd0NvbXBvbmVudCxcdFxyXG4gICAgTWlzc2luZ0NvbXBvbmVudENvbXBvbmVudCxcdFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBKc3NNb2R1bGUge1xyXG4gIC8qKlxyXG4gICAqIEluc3RhbnRpYXRlcyB0aGUgSlNTIG1vZHVsZSB3aXRoIG5vIGNvbXBvbmVudCBmYWN0b3J5LlxyXG4gICAqIFVzZWZ1bCBmb3IgdXNpbmcgaXQgZnJvbSBsaWJyYXJpZXMuIE1vc3Qgb2YgdGhlIHRpbWUgeW91J2Qgd2FudCB3aXRoQ29tcG9uZW50cygpXHJcbiAgICovXHJcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxKc3NNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBKc3NNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIExheW91dFNlcnZpY2UsXHJcbiAgICAgICAgRGF0ZVBpcGUsXHJcbiAgICAgICAgSnNzQ29tcG9uZW50RmFjdG9yeVNlcnZpY2UsXHJcbiAgICAgIF0sXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqIEluc3RhbnRpYXRlcyBhIG1vZHVsZSBmb3IgYSBsYXp5LWxvYWRlZCBKU1MgY29tcG9uZW50ICovXHJcbiAgc3RhdGljIGZvckNoaWxkKGNvbXBvbmVudDogVHlwZTxhbnk+KTogTW9kdWxlV2l0aFByb3ZpZGVyczxKc3NNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBKc3NNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHsgcHJvdmlkZTogQU5BTFlaRV9GT1JfRU5UUllfQ09NUE9ORU5UUywgdXNlVmFsdWU6IGNvbXBvbmVudCwgbXVsdGk6IHRydWUgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IFJPVVRFUywgdXNlVmFsdWU6IFtdLCBtdWx0aTogdHJ1ZSB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogRFlOQU1JQ19DT01QT05FTlQsIHVzZVZhbHVlOiBjb21wb25lbnQgfSxcclxuICAgICAgXSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbnN0YW50aWF0ZXMgdGhlIEpTUyBtb2R1bGUgYW5kIHNwZWNpZmllcyB0aGUgbWFwcGluZyBmcm9tIGNvbXBvbmVudCBuYW1lIHRvIGNvbXBvbmVudCBpbXBsZW1lbnRhdGlvbi5cclxuICAgKiBBcHByb3ByaWF0ZSB3aGVuIGRlZmluaW5nIHRoZSBzZXQgb2YgSlNTIGNvbXBvbmVudHMgdGhhdCB5b3VyIGFwcCBpcyBhd2FyZSBvZi5cclxuICAgKi9cclxuICBzdGF0aWMgd2l0aENvbXBvbmVudHMoY29tcG9uZW50czogQ29tcG9uZW50TmFtZUFuZFR5cGVbXSwgbGF6eUNvbXBvbmVudHM/OiBDb21wb25lbnROYW1lQW5kTW9kdWxlW10pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEpzc01vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IEpzc01vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogQU5BTFlaRV9GT1JfRU5UUllfQ09NUE9ORU5UUyxcclxuICAgICAgICAgIHVzZVZhbHVlOiBjb21wb25lbnRzLFxyXG4gICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IFBMQUNFSE9MREVSX0NPTVBPTkVOVFMsIHVzZVZhbHVlOiBjb21wb25lbnRzIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBQTEFDRUhPTERFUl9MQVpZX0NPTVBPTkVOVFMsIHVzZVZhbHVlOiBsYXp5Q29tcG9uZW50cyB8fCBbXSB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogUk9VVEVTLCB1c2VWYWx1ZTogbGF6eUNvbXBvbmVudHMgfHwgW10sIG11bHRpOiB0cnVlIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBQTEFDRUhPTERFUl9NSVNTSU5HX0NPTVBPTkVOVF9DT01QT05FTlQsIHVzZVZhbHVlOiBNaXNzaW5nQ29tcG9uZW50Q29tcG9uZW50IH0sXHJcbiAgICAgICAgLi4uKEpzc01vZHVsZS5mb3JSb290KCkucHJvdmlkZXJzIGFzIGFueVtdKSxcclxuICAgICAgXSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Xb3JrL1NpdGVjb3JlLkpTUy9zY3JpcHRzL3B1Ymxpc2gvanNzLWdpdGh1Yi9wYWNrYWdlcy9zaXRlY29yZS1qc3MtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJsaWIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUNMLDRCQUE0QixFQUU1QixRQUFRLEVBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN6RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEVBR0wsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUN0QiwyQkFBMkIsRUFDM0IsdUNBQXVDLEVBQ3hDLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxD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IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBBTkFMWVpFX0ZPUl9FTlRSWV9DT01QT05FTlRTLFxyXG4gIE1vZHVsZVdpdGhQcm92aWRlcnMsXHJcbiAgTmdNb2R1bGUsXHJcbiAgVHlwZVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBST1VURVMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBEYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRmlsZURpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEdlbmVyaWNMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL2dlbmVyaWMtbGluay5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBJbWFnZURpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy9pbWFnZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL2xpbmsuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTWlzc2luZ0NvbXBvbmVudENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9taXNzaW5nLWNvbXBvbmVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQbGFjZWhvbGRlckxvYWRpbmdEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvcGxhY2Vob2xkZXItbG9hZGluZy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBQbGFjZWhvbGRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wbGFjZWhvbGRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudE5hbWVBbmRNb2R1bGUsXHJcbiAgQ29tcG9uZW50TmFtZUFuZFR5cGUsXHJcbiAgRFlOQU1JQ19DT01QT05FTlQsXHJcbiAgUExBQ0VIT0xERVJfQ09NUE9ORU5UUyxcclxuICBQTEFDRUhPTERFUl9MQVpZX0NPTVBPTkVOVFMsXHJcbiAgUExBQ0VIT0xERVJfTUlTU0lOR19DT01QT05FTlRfQ09NUE9ORU5UXHJcbn0gZnJvbSAnLi9jb21wb25lbnRzL3BsYWNlaG9sZGVyLnRva2VuJztcclxuaW1wb3J0IHsgUmF3Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Jhdy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZW5kZXJDb21wb25lbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmVuZGVyLWNvbXBvbmVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZW5kZXJFYWNoRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL3JlbmRlci1lYWNoLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFJlbmRlckVtcHR5RGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL3JlbmRlci1lbXB0eS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBSaWNoVGV4dERpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy9yaWNoLXRleHQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUm91dGVyTGlua0RpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy9yb3V0ZXItbGluay5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBUZXh0RGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL3RleHQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSnNzQ29tcG9uZW50RmFjdG9yeVNlcnZpY2UgfSBmcm9tICcuL2pzcy1jb21wb25lbnQtZmFjdG9yeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGF5b3V0U2VydmljZSB9IGZyb20gJy4vbGF5b3V0LnNlcnZpY2UnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEZpbGVEaXJlY3RpdmUsXHJcbiAgICBJbWFnZURpcmVjdGl2ZSxcclxuICAgIExpbmtEaXJlY3RpdmUsXHJcbiAgICBSb3V0ZXJMaW5rRGlyZWN0aXZlLFxyXG4gICAgR2VuZXJpY0xpbmtEaXJlY3RpdmUsXHJcbiAgICBEYXRlRGlyZWN0aXZlLFxyXG4gICAgUmVuZGVyRWFjaERpcmVjdGl2ZSxcclxuICAgIFJlbmRlckVtcHR5RGlyZWN0aXZlLFxyXG4gICAgUGxhY2Vob2xkZXJMb2FkaW5nRGlyZWN0aXZlLFxyXG4gICAgUmVuZGVyQ29tcG9uZW50Q29tcG9uZW50LFxyXG4gICAgUGxhY2Vob2xkZXJDb21wb25lbnQsXHJcbiAgICBSYXdDb21wb25lbnQsXHJcbiAgICBSaWNoVGV4dERpcmVjdGl2ZSxcclxuICAgIFRleHREaXJlY3RpdmUsXHJcbiAgICBNaXNzaW5nQ29tcG9uZW50Q29tcG9uZW50LFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgRmlsZURpcmVjdGl2ZSxcclxuICAgIEltYWdlRGlyZWN0aXZlLFxyXG4gICAgRGF0ZURpcmVjdGl2ZSxcclxuICAgIExpbmtEaXJlY3RpdmUsXHJcbiAgICBSb3V0ZXJMaW5rRGlyZWN0aXZlLFxyXG4gICAgR2VuZXJpY0xpbmtEaXJlY3RpdmUsXHJcbiAgICBSZW5kZXJFYWNoRGlyZWN0aXZlLFxyXG4gICAgUmVuZGVyRW1wdHlEaXJlY3RpdmUsXHJcbiAgICBSZW5kZXJDb21wb25lbnRDb21wb25lbnQsXHJcbiAgICBQbGFjZWhvbGRlckNvbXBvbmVudCxcclxuICAgIFBsYWNlaG9sZGVyTG9hZGluZ0RpcmVjdGl2ZSxcclxuICAgIFJpY2hUZXh0RGlyZWN0aXZlLFxyXG4gICAgVGV4dERpcmVjdGl2ZSxcclxuICBdLFxyXG4gIGVudHJ5Q29tcG9uZW50czogW1x0XHJcbiAgICBSYXdDb21wb25lbnQsXHRcclxuICAgIE1pc3NpbmdDb21wb25lbnRDb21wb25lbnQsXHRcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSnNzTW9kdWxlIHtcclxuICAvKipcclxuICAgKiBJbnN0YW50aWF0ZXMgdGhlIEpTUyBtb2R1bGUgd2l0aCBubyBjb21wb25lbnQgZmFjdG9yeS5cclxuICAgKiBVc2VmdWwgZm9yIHVzaW5nIGl0IGZyb20gbGlicmFyaWVzLiBNb3N0IG9mIHRoZSB0aW1lIHlvdSdkIHdhbnQgd2l0aENvbXBvbmVudHMoKVxyXG4gICAqL1xyXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SnNzTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogSnNzTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBMYXlvdXRTZXJ2aWNlLFxyXG4gICAgICAgIERhdGVQaXBlLFxyXG4gICAgICAgIEpzc0NvbXBvbmVudEZhY3RvcnlTZXJ2aWNlLFxyXG4gICAgICBdLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKiBJbnN0YW50aWF0ZXMgYSBtb2R1bGUgZm9yIGEgbGF6eS1sb2FkZWQgSlNTIGNvbXBvbmVudCAqL1xyXG4gIHN0YXRpYyBmb3JDaGlsZChjb21wb25lbnQ6IFR5cGU8YW55Pik6IE1vZHVsZVdpdGhQcm92aWRlcnM8SnNzTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogSnNzTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6IEFOQUxZWkVfRk9SX0VOVFJZX0NPTVBPTkVOVFMsIHVzZVZhbHVlOiBjb21wb25lbnQsIG11bHRpOiB0cnVlIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBST1VURVMsIHVzZVZhbHVlOiBbXSwgbXVsdGk6IHRydWUgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IERZTkFNSUNfQ09NUE9ORU5ULCB1c2VWYWx1ZTogY29tcG9uZW50IH0sXHJcbiAgICAgIF0sXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5zdGFudGlhdGVzIHRoZSBKU1MgbW9kdWxlIGFuZCBzcGVjaWZpZXMgdGhlIG1hcHBpbmcgZnJvbSBjb21wb25lbnQgbmFtZSB0byBjb21wb25lbnQgaW1wbGVtZW50YXRpb24uXHJcbiAgICogQXBwcm9wcmlhdGUgd2hlbiBkZWZpbmluZyB0aGUgc2V0IG9mIEpTUyBjb21wb25lbnRzIHRoYXQgeW91ciBhcHAgaXMgYXdhcmUgb2YuXHJcbiAgICovXHJcbiAgc3RhdGljIHdpdGhDb21wb25lbnRzKGNvbXBvbmVudHM6IENvbXBvbmVudE5hbWVBbmRUeXBlW10sIGxhenlDb21wb25lbnRzPzogQ29tcG9uZW50TmFtZUFuZE1vZHVsZVtdKTogTW9kdWxlV2l0aFByb3ZpZGVyczxKc3NNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBKc3NNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IEFOQUxZWkVfRk9SX0VOVFJZX0NPTVBPTkVOVFMsXHJcbiAgICAgICAgICB1c2VWYWx1ZTogY29tcG9uZW50cyxcclxuICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBQTEFDRUhPTERFUl9DT01QT05FTlRTLCB1c2VWYWx1ZTogY29tcG9uZW50cyB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogUExBQ0VIT0xERVJfTEFaWV9DT01QT05FTlRTLCB1c2VWYWx1ZTogbGF6eUNvbXBvbmVudHMgfHwgW10gfSxcclxuICAgICAgICB7IHByb3ZpZGU6IFJPVVRFUywgdXNlVmFsdWU6IGxhenlDb21wb25lbnRzIHx8IFtdLCBtdWx0aTogdHJ1ZSB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogUExBQ0VIT0xERVJfTUlTU0lOR19DT01QT05FTlRfQ09NUE9ORU5ULCB1c2VWYWx1ZTogTWlzc2luZ0NvbXBvbmVudENvbXBvbmVudCB9LFxyXG4gICAgICAgIC4uLihKc3NNb2R1bGUuZm9yUm9vdCgpLnByb3ZpZGVycyBhcyBhbnlbXSksXHJcbiAgICAgIF0sXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -13,4 +13,4 @@ export { LayoutService } from './layout.service';
13
13
  export { LayoutServiceError } from './layout-service-error';
14
14
  export { JssModule } from './lib.module';
15
15
  export { dataApi, mediaApi, isExperienceEditorActive, resetExperienceEditorChromes, getChildPlaceholder, getFieldValue, isServer } from '@sitecore-jss/sitecore-jss';
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJDOi93b3JrL3Byb2plY3RzL2pzcy1yZWxlYXNlLTE1L3BhY2thZ2VzL3NpdGVjb3JlLWpzcy1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDekYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXhELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsT0FBTyxFQUNQLFFBQVEsRUFDUix3QkFBd0IsRUFDeEIsNEJBQTRCLEVBTzVCLG1CQUFtQixFQUNuQixhQUFhLEVBTWIsUUFBUSxFQUNULE1BQU0sNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBGaWxlRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUuZGlyZWN0aXZlJztcclxuZXhwb3J0IHsgSW1hZ2VEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvaW1hZ2UuZGlyZWN0aXZlJztcclxuZXhwb3J0IHsgTGlua0RpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy9saW5rLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCB7IFJvdXRlckxpbmtEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvcm91dGVyLWxpbmsuZGlyZWN0aXZlJztcclxuZXhwb3J0IHsgR2VuZXJpY0xpbmtEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvZ2VuZXJpYy1saW5rLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCB7IFBsYWNlaG9sZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BsYWNlaG9sZGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IFBsYWNlaG9sZGVyTG9hZGluZ0RpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy9wbGFjZWhvbGRlci1sb2FkaW5nLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCB7IENvbXBvbmVudE5hbWVBbmRUeXBlLCBEWU5BTUlDX0NPTVBPTkVOVCB9IGZyb20gJy4vY29tcG9uZW50cy9wbGFjZWhvbGRlci50b2tlbic7XHJcbmV4cG9ydCB7IGlzUmF3UmVuZGVyaW5nIH0gZnJvbSAnLi9jb21wb25lbnRzL3JlbmRlcmluZyc7XHJcbmV4cG9ydCB7IEZpbGVGaWVsZCwgSW1hZ2VGaWVsZCwgTGlua0ZpZWxkLCBSZW5kZXJpbmdGaWVsZCwgUmljaFRleHRGaWVsZCwgVGV4dEZpZWxkIH0gZnJvbSAnLi9jb21wb25lbnRzL3JlbmRlcmluZy1maWVsZCc7XHJcbmV4cG9ydCB7IFJpY2hUZXh0RGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL3JpY2gtdGV4dC5kaXJlY3RpdmUnO1xyXG5leHBvcnQgeyBUZXh0RGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL3RleHQuZGlyZWN0aXZlJztcclxuZXhwb3J0IHsgTGF5b3V0U2VydmljZSB9IGZyb20gJy4vbGF5b3V0LnNlcnZpY2UnO1xyXG5leHBvcnQgeyBMYXlvdXRTZXJ2aWNlRXJyb3IgfSBmcm9tICcuL2xheW91dC1zZXJ2aWNlLWVycm9yJztcclxuZXhwb3J0IHsgSnNzTW9kdWxlIH0gZnJvbSAnLi9saWIubW9kdWxlJztcclxuZXhwb3J0IHtcclxuICBkYXRhQXBpLFxyXG4gIG1lZGlhQXBpLFxyXG4gIGlzRXhwZXJpZW5jZUVkaXRvckFjdGl2ZSxcclxuICByZXNldEV4cGVyaWVuY2VFZGl0b3JDaHJvbWVzLFxyXG4gIExheW91dFNlcnZpY2VEYXRhLFxyXG4gIExheW91dFNlcnZpY2VDb250ZXh0RGF0YSxcclxuICBSb3V0ZURhdGEsXHJcbiAgRmllbGQsXHJcbiAgSHRtbEVsZW1lbnRSZW5kZXJpbmcsXHJcbiAgTGF5b3V0U2VydmljZVJlcXVlc3RPcHRpb25zLFxyXG4gIGdldENoaWxkUGxhY2Vob2xkZXIsXHJcbiAgZ2V0RmllbGRWYWx1ZSxcclxuICBDb21wb25lbnRSZW5kZXJpbmcsXHJcbiAgQ29tcG9uZW50RmllbGRzLFxyXG4gIENvbXBvbmVudFBhcmFtcyxcclxuICBIdHRwSnNvbkZldGNoZXIsXHJcbiAgSHR0cFJlc3BvbnNlLFxyXG4gIGlzU2VydmVyXHJcbn0gZnJvbSAnQHNpdGVjb3JlLWpzcy9zaXRlY29yZS1qc3MnO1xyXG4iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Xb3JrL1NpdGVjb3JlLkpTUy9zY3JpcHRzL3B1Ymxpc2gvanNzLWdpdGh1Yi9wYWNrYWdlcy9zaXRlY29yZS1qc3MtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJwdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUNMLE9BQU8sRUFDUCxRQUFRLEVBQ1Isd0JBQXdCLEVBQ3hCLDRCQUE0QixFQU81QixtQkFBbUIsRUFDbkIsYUFBYSxFQU1iLFFBQVEsRUFDVCxNQUFNLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgRmlsZURpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCB7IEltYWdlRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL2ltYWdlLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCB7IExpbmtEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvbGluay5kaXJlY3RpdmUnO1xyXG5leHBvcnQgeyBSb3V0ZXJMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL3JvdXRlci1saW5rLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCB7IEdlbmVyaWNMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL2dlbmVyaWMtbGluay5kaXJlY3RpdmUnO1xyXG5leHBvcnQgeyBQbGFjZWhvbGRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wbGFjZWhvbGRlci5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBQbGFjZWhvbGRlckxvYWRpbmdEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvcGxhY2Vob2xkZXItbG9hZGluZy5kaXJlY3RpdmUnO1xyXG5leHBvcnQgeyBDb21wb25lbnROYW1lQW5kVHlwZSwgRFlOQU1JQ19DT01QT05FTlQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGxhY2Vob2xkZXIudG9rZW4nO1xyXG5leHBvcnQgeyBpc1Jhd1JlbmRlcmluZyB9IGZyb20gJy4vY29tcG9uZW50cy9yZW5kZXJpbmcnO1xyXG5leHBvcnQgeyBGaWxlRmllbGQsIEltYWdlRmllbGQsIExpbmtGaWVsZCwgUmVuZGVyaW5nRmllbGQsIFJpY2hUZXh0RmllbGQsIFRleHRGaWVsZCB9IGZyb20gJy4vY29tcG9uZW50cy9yZW5kZXJpbmctZmllbGQnO1xyXG5leHBvcnQgeyBSaWNoVGV4dERpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy9yaWNoLXRleHQuZGlyZWN0aXZlJztcclxuZXhwb3J0IHsgVGV4dERpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy90ZXh0LmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCB7IExheW91dFNlcnZpY2UgfSBmcm9tICcuL2xheW91dC5zZXJ2aWNlJztcclxuZXhwb3J0IHsgTGF5b3V0U2VydmljZUVycm9yIH0gZnJvbSAnLi9sYXlvdXQtc2VydmljZS1lcnJvcic7XHJcbmV4cG9ydCB7IEpzc01vZHVsZSB9IGZyb20gJy4vbGliLm1vZHVsZSc7XHJcbmV4cG9ydCB7XHJcbiAgZGF0YUFwaSxcclxuICBtZWRpYUFwaSxcclxuICBpc0V4cGVyaWVuY2VFZGl0b3JBY3RpdmUsXHJcbiAgcmVzZXRFeHBlcmllbmNlRWRpdG9yQ2hyb21lcyxcclxuICBMYXlvdXRTZXJ2aWNlRGF0YSxcclxuICBMYXlvdXRTZXJ2aWNlQ29udGV4dERhdGEsXHJcbiAgUm91dGVEYXRhLFxyXG4gIEZpZWxkLFxyXG4gIEh0bWxFbGVtZW50UmVuZGVyaW5nLFxyXG4gIExheW91dFNlcnZpY2VSZXF1ZXN0T3B0aW9ucyxcclxuICBnZXRDaGlsZFBsYWNlaG9sZGVyLFxyXG4gIGdldEZpZWxkVmFsdWUsXHJcbiAgQ29tcG9uZW50UmVuZGVyaW5nLFxyXG4gIENvbXBvbmVudEZpZWxkcyxcclxuICBDb21wb25lbnRQYXJhbXMsXHJcbiAgSHR0cEpzb25GZXRjaGVyLFxyXG4gIEh0dHBSZXNwb25zZSxcclxuICBpc1NlcnZlclxyXG59IGZyb20gJ0BzaXRlY29yZS1qc3Mvc2l0ZWNvcmUtanNzJztcclxuIl19
@@ -10,4 +10,4 @@ export { RenderComponentComponent as ɵi } from './components/render-component.c
10
10
  export { RenderEachDirective as ɵe } from './components/render-each.directive';
11
11
  export { RenderEmptyDirective as ɵf } from './components/render-empty.directive';
12
12
  export { JssComponentFactoryService as ɵg } from './jss-component-factory.service';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZWNvcmUtanNzLXNpdGVjb3JlLWpzcy1hbmd1bGFyLmpzIiwic291cmNlUm9vdCI6IkM6L3dvcmsvcHJvamVjdHMvanNzLXJlbGVhc2UtMTUvcGFja2FnZXMvc2l0ZWNvcmUtanNzLWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsic2l0ZWNvcmUtanNzLXNpdGVjb3JlLWpzcy1hbmd1bGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLGFBQWEsSUFBSSxFQUFFLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMseUJBQXlCLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDekYsT0FBTyxFQUE4QixzQkFBc0IsSUFBSSxFQUFFLEVBQUMsMkJBQTJCLElBQUksRUFBRSxFQUFDLHVDQUF1QyxJQUFJLEVBQUUsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pMLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUM3RSxPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDL0UsT0FBTyxFQUFDLDBCQUEwQixJQUFJLEVBQUUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuXG5leHBvcnQge0RhdGVEaXJlY3RpdmUgYXMgybVofSBmcm9tICcuL2NvbXBvbmVudHMvZGF0ZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtNaXNzaW5nQ29tcG9uZW50Q29tcG9uZW50IGFzIMm1a30gZnJvbSAnLi9jb21wb25lbnRzL21pc3NpbmctY29tcG9uZW50LmNvbXBvbmVudCc7XG5leHBvcnQge0NvbXBvbmVudE5hbWVBbmRNb2R1bGUgYXMgybVhLFBMQUNFSE9MREVSX0NPTVBPTkVOVFMgYXMgybViLFBMQUNFSE9MREVSX0xBWllfQ09NUE9ORU5UUyBhcyDJtWMsUExBQ0VIT0xERVJfTUlTU0lOR19DT01QT05FTlRfQ09NUE9ORU5UIGFzIMm1ZH0gZnJvbSAnLi9jb21wb25lbnRzL3BsYWNlaG9sZGVyLnRva2VuJztcbmV4cG9ydCB7UmF3Q29tcG9uZW50IGFzIMm1an0gZnJvbSAnLi9jb21wb25lbnRzL3Jhdy5jb21wb25lbnQnO1xuZXhwb3J0IHtSZW5kZXJDb21wb25lbnRDb21wb25lbnQgYXMgybVpfSBmcm9tICcuL2NvbXBvbmVudHMvcmVuZGVyLWNvbXBvbmVudC5jb21wb25lbnQnO1xuZXhwb3J0IHtSZW5kZXJFYWNoRGlyZWN0aXZlIGFzIMm1ZX0gZnJvbSAnLi9jb21wb25lbnRzL3JlbmRlci1lYWNoLmRpcmVjdGl2ZSc7XG5leHBvcnQge1JlbmRlckVtcHR5RGlyZWN0aXZlIGFzIMm1Zn0gZnJvbSAnLi9jb21wb25lbnRzL3JlbmRlci1lbXB0eS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtKc3NDb21wb25lbnRGYWN0b3J5U2VydmljZSBhcyDJtWd9IGZyb20gJy4vanNzLWNvbXBvbmVudC1mYWN0b3J5LnNlcnZpY2UnOyJdfQ==
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZWNvcmUtanNzLXNpdGVjb3JlLWpzcy1hbmd1bGFyLmpzIiwic291cmNlUm9vdCI6IkM6L1dvcmsvU2l0ZWNvcmUuSlNTL3NjcmlwdHMvcHVibGlzaC9qc3MtZ2l0aHViL3BhY2thZ2VzL3NpdGVjb3JlLWpzcy1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbInNpdGVjb3JlLWpzcy1zaXRlY29yZS1qc3MtYW5ndWxhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxhQUFhLElBQUksRUFBRSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFDLHlCQUF5QixJQUFJLEVBQUUsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3pGLE9BQU8sRUFBOEIsc0JBQXNCLElBQUksRUFBRSxFQUFDLDJCQUEyQixJQUFJLEVBQUUsRUFBQyx1Q0FBdUMsSUFBSSxFQUFFLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6TCxPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxFQUFFLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN2RixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDN0UsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQy9FLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxFQUFFLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcblxuZXhwb3J0IHtEYXRlRGlyZWN0aXZlIGFzIMm1aH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGUuZGlyZWN0aXZlJztcbmV4cG9ydCB7TWlzc2luZ0NvbXBvbmVudENvbXBvbmVudCBhcyDJtWt9IGZyb20gJy4vY29tcG9uZW50cy9taXNzaW5nLWNvbXBvbmVudC5jb21wb25lbnQnO1xuZXhwb3J0IHtDb21wb25lbnROYW1lQW5kTW9kdWxlIGFzIMm1YSxQTEFDRUhPTERFUl9DT01QT05FTlRTIGFzIMm1YixQTEFDRUhPTERFUl9MQVpZX0NPTVBPTkVOVFMgYXMgybVjLFBMQUNFSE9MREVSX01JU1NJTkdfQ09NUE9ORU5UX0NPTVBPTkVOVCBhcyDJtWR9IGZyb20gJy4vY29tcG9uZW50cy9wbGFjZWhvbGRlci50b2tlbic7XG5leHBvcnQge1Jhd0NvbXBvbmVudCBhcyDJtWp9IGZyb20gJy4vY29tcG9uZW50cy9yYXcuY29tcG9uZW50JztcbmV4cG9ydCB7UmVuZGVyQ29tcG9uZW50Q29tcG9uZW50IGFzIMm1aX0gZnJvbSAnLi9jb21wb25lbnRzL3JlbmRlci1jb21wb25lbnQuY29tcG9uZW50JztcbmV4cG9ydCB7UmVuZGVyRWFjaERpcmVjdGl2ZSBhcyDJtWV9IGZyb20gJy4vY29tcG9uZW50cy9yZW5kZXItZWFjaC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtSZW5kZXJFbXB0eURpcmVjdGl2ZSBhcyDJtWZ9IGZyb20gJy4vY29tcG9uZW50cy9yZW5kZXItZW1wdHkuZGlyZWN0aXZlJztcbmV4cG9ydCB7SnNzQ29tcG9uZW50RmFjdG9yeVNlcnZpY2UgYXMgybVnfSBmcm9tICcuL2pzcy1jb21wb25lbnQtZmFjdG9yeS5zZXJ2aWNlJzsiXX0=
@@ -288,7 +288,7 @@ class RouterLinkDirective extends LinkDirective {
288
288
  this.renderer.setAttribute(node, key, propValue);
289
289
  if (key === 'href') {
290
290
  this.renderer.listen(node, 'click', (event) => {
291
- this.router.navigate([propValue]);
291
+ this.router.navigateByUrl(propValue);
292
292
  event.preventDefault();
293
293
  });
294
294
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sitecore-jss-sitecore-jss-angular.js","sources":["../../src/components/file.directive.ts","../../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 { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } 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 // tslint:disable-next-line:no-input-rename\r\n @Input('scFile') field: FileField;\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n ) { }\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","import { Directive, ElementRef, Input, OnChanges, Renderer2, SimpleChanges, TemplateRef, ViewContainerRef } 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 // tslint:disable-next-line:no-input-rename\r\n @Input('scImage') field: ImageField | '';\r\n\r\n // tslint:disable-next-line:no-input-rename\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 // tslint:disable-next-line:no-input-rename\r\n @Input('scImageMediaUrlPrefix') mediaUrlPrefix?: RegExp;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scImageUrlParams') urlParams = {};\r\n\r\n // tslint:disable-next-line:no-input-rename\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 // tslint: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]) => this.renderer.setAttribute(node, key, imgPropVal));\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 { Directive, ElementRef, Input, OnChanges, Renderer2, SimpleChanges, TemplateRef, ViewContainerRef } 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 // tslint:disable-next-line:no-input-rename\r\n @Input('scLinkEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scLinkAttrs') attrs: any = {};\r\n\r\n // tslint:disable-next-line:no-input-rename\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 { Directive, ElementRef, Input, Renderer2, TemplateRef, ViewContainerRef } 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\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scRouterLinkEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scRouterLinkAttrs') attrs: any = {};\r\n\r\n // tslint:disable-next-line:no-input-rename\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 { Directive, ElementRef, Input, Renderer2, TemplateRef, ViewContainerRef } 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\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scGenericLinkEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scGenericLinkAttrs') attrs: any = {};\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scGenericLink') field: LinkField;\r\n\r\n // tslint:disable-next-line:no-input-rename\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\nexport function instanceOfComponentNameAndType(object: any): object is ComponentNameAndType {\r\n return 'type' in object;\r\n}\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[]>('Sc.placeholder.components');\r\nexport const PLACEHOLDER_LAZY_COMPONENTS = new InjectionToken<ComponentNameAndType[]>('Sc.placeholder.lazyComponents');\r\nexport const PLACEHOLDER_MISSING_COMPONENT_COMPONENT = new InjectionToken<Type<any>>('Sc.placeholder.missingComponentComponent');\r\nexport const DYNAMIC_COMPONENT = new InjectionToken<Type<any> | {[s: string]: any}> ('Sc.placeholder.dynamicComponent');\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(\r\n private renderer: Renderer2,\r\n private elementRef: ElementRef\r\n ) { }\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 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\nexport function isRawRendering(rendering: HtmlElementRendering | ComponentRendering): rendering is HtmlElementRendering {\r\n return !(rendering as ComponentRendering).componentName && (rendering as HtmlElementRendering).name !== undefined;\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)\r\n .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 // tslint:disable-next-line:max-line-length\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 // tslint:disable-next-line:max-line-length\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(componentType),\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(components: Array<ComponentRendering | HtmlElementRendering>): 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) => isRawRendering(component)\r\n ? this.getRawComponent(component)\r\n : this.getComponent(component))\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 // tslint:disable-next-line:directive-selector\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 // tslint:disable-next-line:directive-selector\r\n selector: '[renderEmpty]',\r\n})\r\nexport class RenderEmptyDirective {\r\n constructor(public templateRef: TemplateRef<any>) {}\r\n}\r\n","import {\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 { ComponentFactoryResult, JssComponentFactoryService } from '../jss-component-factory.service';\r\nimport { PlaceholderLoadingDirective } from './placeholder-loading.directive';\r\nimport {\r\n PLACEHOLDER_MISSING_COMPONENT_COMPONENT\r\n} 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\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 *ngIf=\"isLoading\" [ngTemplateOutlet]=\"placeholderLoading?.templateRef\"></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: string = '';\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 }) 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) => this._setComponentInputs(componentInstance, updates));\r\n }\r\n\r\n private _setComponentInputs(componentInstance: any, inputs: { [key: string]: any }) {\r\n Object.entries(inputs).forEach(([input, inputValue]) => componentInstance[input] = inputValue);\r\n }\r\n\r\n private _subscribeComponentOutputs(componentInstance: any, outputs: { [k: string]: (eventType: any) => void }) {\r\n Object.keys(outputs)\r\n .filter((output) => componentInstance[output] && componentInstance[output] instanceof Observable)\r\n .forEach((output) => (componentInstance[output] as Observable<any>)\r\n .pipe(\r\n takeWhile(() => !this.destroyed)\r\n )\r\n .subscribe(outputs[output]));\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 // tslint:disable-next-line:max-line-length\r\n console.warn(`Placeholder name was not specified, and explicit renderings array was not passed. Placeholder requires either name and rendering, or renderings.`);\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(`Placeholder '${this.name}' was not found in the current rendering data`, JSON.stringify(this.rendering, null, 2));\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((rendering: ComponentRendering | HtmlElementRendering) => isRawRendering(rendering));\r\n\r\n if (this.renderEmptyTemplate && placeholderIsEmpty) {\r\n this.view.createEmbeddedView(this.renderEmptyTemplate.templateRef,\r\n {\r\n renderings: placeholder,\r\n });\r\n this.isLoading = false;\r\n } else {\r\n this.componentFactory.getComponents(placeholder)\r\n .then((components) => 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 })).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 {\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 || 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(createdComponentRef.location.nativeElement, this.parentStyleAttribute, '');\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 { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } 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 // tslint:disable-next-line:no-input-rename\r\n @Input('scRichTextEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scRichText') field: RichTextField;\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n ) { }\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 { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } 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 // tslint:disable-next-line:no-input-rename\r\n @Input('scTextEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scTextEncode') encode = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scText') field: TextField;\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>\r\n ) { }\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 { dataApi, LayoutServiceData, LayoutServiceRequestOptions, PlaceholderData } 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(route: string, options: LayoutServiceRequestOptions<LayoutServiceData>): Observable<LayoutServiceData | LayoutServiceError> {\r\n return fromPromise(fetchRouteData(route, options))\r\n .pipe(catchError(LayoutService.getLayoutServiceError));\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))\r\n .pipe(catchError(LayoutService.getLayoutServiceError));\r\n }\r\n}\r\n","import { DatePipe } from '@angular/common';\r\nimport { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } 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 // tslint:disable-next-line:no-input-rename\r\n @Input('scDateFormat') format?: string;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scDateTimezone') timezone?: string;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scDateLocale') locale?: string;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scDateEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\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 style=\"background: darkorange; outline: 5px solid orange; padding: 10px; color: white; max-width: 500px;\">\r\n <h2>{{ rendering.componentName }}</h2>\r\n <p>JSS component is missing Angular component implementation.</p>\r\n</div>`,\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 { ComponentFactoryResult, JssComponentFactoryService } 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(([input, inputValue]) => componentInstance[input] = inputValue);\r\n }\r\n\r\n private _subscribeComponentOutputs(componentInstance: any, outputs: { [k: string]: (eventType: any) => void }) {\r\n Object.keys(outputs)\r\n .filter((output) => componentInstance[output] && componentInstance[output] instanceof Observable)\r\n .forEach((output) => (componentInstance[output] as Observable<any>)\r\n .pipe(\r\n takeWhile(() => !this.destroyed)\r\n )\r\n .subscribe(outputs[output]));\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({ componentImplementation: RawComponent, componentDefinition: this.rendering })\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}.`, `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 || 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 {\r\n ANALYZE_FOR_ENTRY_COMPONENTS,\r\n ModuleWithProviders,\r\n NgModule,\r\n Type\r\n} 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: [\r\n CommonModule,\r\n ],\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: [\t\r\n RawComponent,\t\r\n MissingComponentComponent,\t\r\n ],\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 */\r\n static forRoot(): ModuleWithProviders<JssModule> {\r\n return {\r\n ngModule: JssModule,\r\n providers: [\r\n LayoutService,\r\n DatePipe,\r\n JssComponentFactoryService,\r\n ],\r\n };\r\n }\r\n\r\n /** Instantiates a module for a lazy-loaded JSS component */\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 */\r\n static withComponents(components: ComponentNameAndType[], lazyComponents?: ComponentNameAndModule[]): 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":["observableThrow","fromPromise"],"mappings":"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"}
1
+ {"version":3,"file":"sitecore-jss-sitecore-jss-angular.js","sources":["../../src/components/file.directive.ts","../../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 { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } 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 // tslint:disable-next-line:no-input-rename\r\n @Input('scFile') field: FileField;\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n ) { }\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","import { Directive, ElementRef, Input, OnChanges, Renderer2, SimpleChanges, TemplateRef, ViewContainerRef } 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 // tslint:disable-next-line:no-input-rename\r\n @Input('scImage') field: ImageField | '';\r\n\r\n // tslint:disable-next-line:no-input-rename\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 // tslint:disable-next-line:no-input-rename\r\n @Input('scImageMediaUrlPrefix') mediaUrlPrefix?: RegExp;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scImageUrlParams') urlParams = {};\r\n\r\n // tslint:disable-next-line:no-input-rename\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 // tslint: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]) => this.renderer.setAttribute(node, key, imgPropVal));\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 { Directive, ElementRef, Input, OnChanges, Renderer2, SimpleChanges, TemplateRef, ViewContainerRef } 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 // tslint:disable-next-line:no-input-rename\r\n @Input('scLinkEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scLinkAttrs') attrs: any = {};\r\n\r\n // tslint:disable-next-line:no-input-rename\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 { Directive, ElementRef, Input, Renderer2, TemplateRef, ViewContainerRef } 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\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scRouterLinkEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scRouterLinkAttrs') attrs: any = {};\r\n\r\n // tslint:disable-next-line:no-input-rename\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.navigateByUrl(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 { Directive, ElementRef, Input, Renderer2, TemplateRef, ViewContainerRef } 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\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scGenericLinkEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scGenericLinkAttrs') attrs: any = {};\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scGenericLink') field: LinkField;\r\n\r\n // tslint:disable-next-line:no-input-rename\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\nexport function instanceOfComponentNameAndType(object: any): object is ComponentNameAndType {\r\n return 'type' in object;\r\n}\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[]>('Sc.placeholder.components');\r\nexport const PLACEHOLDER_LAZY_COMPONENTS = new InjectionToken<ComponentNameAndType[]>('Sc.placeholder.lazyComponents');\r\nexport const PLACEHOLDER_MISSING_COMPONENT_COMPONENT = new InjectionToken<Type<any>>('Sc.placeholder.missingComponentComponent');\r\nexport const DYNAMIC_COMPONENT = new InjectionToken<Type<any> | {[s: string]: any}> ('Sc.placeholder.dynamicComponent');\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(\r\n private renderer: Renderer2,\r\n private elementRef: ElementRef\r\n ) { }\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 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\nexport function isRawRendering(rendering: HtmlElementRendering | ComponentRendering): rendering is HtmlElementRendering {\r\n return !(rendering as ComponentRendering).componentName && (rendering as HtmlElementRendering).name !== undefined;\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)\r\n .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 // tslint:disable-next-line:max-line-length\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 // tslint:disable-next-line:max-line-length\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(componentType),\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(components: Array<ComponentRendering | HtmlElementRendering>): 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) => isRawRendering(component)\r\n ? this.getRawComponent(component)\r\n : this.getComponent(component))\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 // tslint:disable-next-line:directive-selector\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 // tslint:disable-next-line:directive-selector\r\n selector: '[renderEmpty]',\r\n})\r\nexport class RenderEmptyDirective {\r\n constructor(public templateRef: TemplateRef<any>) {}\r\n}\r\n","import {\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 { ComponentFactoryResult, JssComponentFactoryService } from '../jss-component-factory.service';\r\nimport { PlaceholderLoadingDirective } from './placeholder-loading.directive';\r\nimport {\r\n PLACEHOLDER_MISSING_COMPONENT_COMPONENT\r\n} 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\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 *ngIf=\"isLoading\" [ngTemplateOutlet]=\"placeholderLoading?.templateRef\"></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: string = '';\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 }) 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) => this._setComponentInputs(componentInstance, updates));\r\n }\r\n\r\n private _setComponentInputs(componentInstance: any, inputs: { [key: string]: any }) {\r\n Object.entries(inputs).forEach(([input, inputValue]) => componentInstance[input] = inputValue);\r\n }\r\n\r\n private _subscribeComponentOutputs(componentInstance: any, outputs: { [k: string]: (eventType: any) => void }) {\r\n Object.keys(outputs)\r\n .filter((output) => componentInstance[output] && componentInstance[output] instanceof Observable)\r\n .forEach((output) => (componentInstance[output] as Observable<any>)\r\n .pipe(\r\n takeWhile(() => !this.destroyed)\r\n )\r\n .subscribe(outputs[output]));\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 // tslint:disable-next-line:max-line-length\r\n console.warn(`Placeholder name was not specified, and explicit renderings array was not passed. Placeholder requires either name and rendering, or renderings.`);\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(`Placeholder '${this.name}' was not found in the current rendering data`, JSON.stringify(this.rendering, null, 2));\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((rendering: ComponentRendering | HtmlElementRendering) => isRawRendering(rendering));\r\n\r\n if (this.renderEmptyTemplate && placeholderIsEmpty) {\r\n this.view.createEmbeddedView(this.renderEmptyTemplate.templateRef,\r\n {\r\n renderings: placeholder,\r\n });\r\n this.isLoading = false;\r\n } else {\r\n this.componentFactory.getComponents(placeholder)\r\n .then((components) => 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 })).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 {\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 || 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(createdComponentRef.location.nativeElement, this.parentStyleAttribute, '');\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 { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } 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 // tslint:disable-next-line:no-input-rename\r\n @Input('scRichTextEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scRichText') field: RichTextField;\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n ) { }\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 { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } 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 // tslint:disable-next-line:no-input-rename\r\n @Input('scTextEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scTextEncode') encode = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scText') field: TextField;\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>\r\n ) { }\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 { dataApi, LayoutServiceData, LayoutServiceRequestOptions, PlaceholderData } 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(route: string, options: LayoutServiceRequestOptions<LayoutServiceData>): Observable<LayoutServiceData | LayoutServiceError> {\r\n return fromPromise(fetchRouteData(route, options))\r\n .pipe(catchError(LayoutService.getLayoutServiceError));\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))\r\n .pipe(catchError(LayoutService.getLayoutServiceError));\r\n }\r\n}\r\n","import { DatePipe } from '@angular/common';\r\nimport { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } 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 // tslint:disable-next-line:no-input-rename\r\n @Input('scDateFormat') format?: string;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scDateTimezone') timezone?: string;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scDateLocale') locale?: string;\r\n\r\n // tslint:disable-next-line:no-input-rename\r\n @Input('scDateEditable') editable = true;\r\n\r\n // tslint:disable-next-line:no-input-rename\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 style=\"background: darkorange; outline: 5px solid orange; padding: 10px; color: white; max-width: 500px;\">\r\n <h2>{{ rendering.componentName }}</h2>\r\n <p>JSS component is missing Angular component implementation.</p>\r\n</div>`,\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 { ComponentFactoryResult, JssComponentFactoryService } 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(([input, inputValue]) => componentInstance[input] = inputValue);\r\n }\r\n\r\n private _subscribeComponentOutputs(componentInstance: any, outputs: { [k: string]: (eventType: any) => void }) {\r\n Object.keys(outputs)\r\n .filter((output) => componentInstance[output] && componentInstance[output] instanceof Observable)\r\n .forEach((output) => (componentInstance[output] as Observable<any>)\r\n .pipe(\r\n takeWhile(() => !this.destroyed)\r\n )\r\n .subscribe(outputs[output]));\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({ componentImplementation: RawComponent, componentDefinition: this.rendering })\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}.`, `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 || 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 {\r\n ANALYZE_FOR_ENTRY_COMPONENTS,\r\n ModuleWithProviders,\r\n NgModule,\r\n Type\r\n} 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: [\r\n CommonModule,\r\n ],\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: [\t\r\n RawComponent,\t\r\n MissingComponentComponent,\t\r\n ],\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 */\r\n static forRoot(): ModuleWithProviders<JssModule> {\r\n return {\r\n ngModule: JssModule,\r\n providers: [\r\n LayoutService,\r\n DatePipe,\r\n JssComponentFactoryService,\r\n ],\r\n };\r\n }\r\n\r\n /** Instantiates a module for a lazy-loaded JSS component */\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 */\r\n static withComponents(components: ComponentNameAndType[], lazyComponents?: ComponentNameAndModule[]): 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":["observableThrow","fromPromise"],"mappings":"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"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sitecore-jss/sitecore-jss-angular",
3
- "version": "15.0.0",
3
+ "version": "15.0.2",
4
4
  "description": "",
5
5
  "author": {
6
6
  "name": "Sitecore Corporation",
@@ -18,7 +18,7 @@
18
18
  "rxjs": "^6.5.3"
19
19
  },
20
20
  "dependencies": {
21
- "@sitecore-jss/sitecore-jss": "^15.0.0",
21
+ "@sitecore-jss/sitecore-jss": "^15.0.2",
22
22
  "tslib": "^2.0.0"
23
23
  },
24
24
  "main": "bundles/sitecore-jss-sitecore-jss-angular.umd.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sitecore-jss/sitecore-jss-angular",
3
- "version": "15.0.1",
3
+ "version": "15.0.3",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "build": "ng-packagr -p ng-package.json",
@@ -51,7 +51,7 @@
51
51
  "rxjs": "^6.5.3"
52
52
  },
53
53
  "dependencies": {
54
- "@sitecore-jss/sitecore-jss": "^15.0.1"
54
+ "@sitecore-jss/sitecore-jss": "^15.0.3"
55
55
  },
56
56
  "main": "dist/bundles/sitecore-jss-sitecore-jss-angular.umd.js",
57
57
  "module": "dist/esm5/sitecore-jss-sitecore-jss-angular.js",
@@ -63,5 +63,5 @@
63
63
  "fesm5": "dist/fesm5/sitecore-jss-sitecore-jss-angular.js",
64
64
  "fesm2015": "dist/fesm2015/sitecore-jss-sitecore-jss-angular.js",
65
65
  "sideEffects": false,
66
- "gitHead": "2a1c3e4b74789d40a76d7f91e8b6cc1d874db6c3"
66
+ "gitHead": "1fd6e38befecbf6b51942e6eda0704499010c851"
67
67
  }
package/typings/README.md CHANGED
@@ -1,2 +1,2 @@
1
- This folder is not a TypeScript v1 typings folder (which was a generated folder of typings).
2
- This is a manually maintained typings folder.
1
+ This folder is not a TypeScript v1 typings folder (which was a generated folder of typings).
2
+ This is a manually maintained typings folder.