@pepperi-addons/ngx-lib 0.4.0-angular14.9 → 0.4.0-beta.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 (234) hide show
  1. package/chips/chips.component.d.ts +93 -0
  2. package/chips/chips.component.theme.scss +58 -0
  3. package/chips/chips.model.d.ts +13 -0
  4. package/chips/chips.module.d.ts +20 -0
  5. package/chips/chips.service.d.ts +15 -0
  6. package/{plugin → chips}/index.d.ts +1 -1
  7. package/chips/public-api.d.ts +3 -0
  8. package/color/color-picker.component.d.ts +1 -1
  9. package/core/common/model/wapi.model.d.ts +1 -0
  10. package/core/common/services/addon.service.d.ts +13 -9
  11. package/core/common/services/utilities.service.d.ts +5 -4
  12. package/core/customization/customization.model.d.ts +7 -0
  13. package/esm2020/address/address.component.mjs +1 -1
  14. package/esm2020/attachment/attachment.component.mjs +1 -1
  15. package/esm2020/checkbox/checkbox.component.mjs +1 -1
  16. package/esm2020/chips/chips.component.mjs +158 -0
  17. package/esm2020/chips/chips.model.mjs +2 -0
  18. package/esm2020/chips/chips.module.mjs +81 -0
  19. package/esm2020/chips/chips.service.mjs +44 -0
  20. package/esm2020/chips/pepperi-addons-ngx-lib-chips.mjs +5 -0
  21. package/esm2020/chips/public-api.mjs +7 -0
  22. package/esm2020/color/color-picker.component.mjs +4 -4
  23. package/esm2020/color/color.component.mjs +1 -1
  24. package/esm2020/core/common/model/wapi.model.mjs +1 -1
  25. package/esm2020/core/common/services/addon.service.mjs +43 -38
  26. package/esm2020/core/common/services/utilities.service.mjs +66 -13
  27. package/esm2020/core/customization/customization.model.mjs +10 -1
  28. package/esm2020/core/http/interceptors/loader.interceptor.mjs +4 -5
  29. package/esm2020/core/http/services/loader.service.mjs +4 -4
  30. package/esm2020/date/date.component.mjs +3 -3
  31. package/esm2020/field-title/field-title.component.mjs +6 -3
  32. package/esm2020/form/field-generator.component.mjs +7 -7
  33. package/esm2020/form/form.component.mjs +12 -3
  34. package/esm2020/form/internal-button.component.mjs +1 -1
  35. package/esm2020/form/internal-field-generator.component.mjs +3 -3
  36. package/esm2020/form/internal-form.component.mjs +4 -2
  37. package/esm2020/form/internal-list.component.mjs +5 -2
  38. package/esm2020/group-buttons/group-buttons.component.mjs +8 -4
  39. package/esm2020/icon/icon-generated-all.model.mjs +8 -1
  40. package/esm2020/icon/icon-generated.model.mjs +29 -1
  41. package/esm2020/image/image.component.mjs +1 -1
  42. package/esm2020/images-filmstrip/images-filmstrip.component.mjs +3 -91
  43. package/esm2020/images-filmstrip/images-filmstrip.module.mjs +1 -56
  44. package/esm2020/link/link.component.mjs +1 -1
  45. package/esm2020/list/list-pager.component.mjs +1 -1
  46. package/esm2020/list/list.component.mjs +5 -2
  47. package/esm2020/list/virtual-scroller.mjs +11 -10
  48. package/esm2020/menu/menu.component.mjs +11 -3
  49. package/esm2020/page-layout/page-layout.component.mjs +3 -3
  50. package/esm2020/profile-data-views-list/profile-data-views-list.component.mjs +1 -1
  51. package/esm2020/quantity-selector/quantity-selector.component.mjs +24 -4
  52. package/esm2020/query-builder/query-builder-item/query-builder-item.component.mjs +1 -1
  53. package/esm2020/query-builder/query-builder-section/query-builder-section.component.mjs +1 -1
  54. package/esm2020/remote-loader/addon-block-loader.component.mjs +23 -5
  55. package/esm2020/remote-loader/addon-block-loader.service.mjs +9 -8
  56. package/esm2020/remote-loader/public-api.mjs +2 -1
  57. package/esm2020/remote-loader/remote-loader-element.component.mjs +109 -0
  58. package/esm2020/remote-loader/remote-loader.component.mjs +37 -59
  59. package/esm2020/remote-loader/remote-loader.model.mjs +1 -1
  60. package/esm2020/remote-loader/remote-loader.module.mjs +12 -3
  61. package/esm2020/remote-loader/remote-loader.service.mjs +50 -26
  62. package/esm2020/rich-html-textarea/rich-html-textarea.component.mjs +1 -1
  63. package/esm2020/select/select.component.mjs +33 -7
  64. package/esm2020/side-bar/side-bar.component.mjs +11 -27
  65. package/esm2020/side-bar/side-bar.module.mjs +7 -3
  66. package/esm2020/signature/signature.component.mjs +1 -1
  67. package/esm2020/size-detector/size-detector.component.mjs +2 -2
  68. package/esm2020/slider/slider.component.mjs +1 -1
  69. package/esm2020/smart-filters/boolean-filter/boolean-filter.component.mjs +1 -1
  70. package/esm2020/smart-filters/date-filter/date-filter.component.mjs +1 -1
  71. package/esm2020/smart-filters/multi-select-filter/multi-select-filter.component.mjs +1 -1
  72. package/esm2020/smart-filters/number-filter/number-filter.component.mjs +3 -3
  73. package/esm2020/smart-filters/text-filter/text-filter.component.mjs +1 -1
  74. package/esm2020/textarea/textarea.component.mjs +1 -1
  75. package/esm2020/textbox/textbox.component.mjs +48 -7
  76. package/esm2020/textbox-icon/textbox-icon.component.mjs +2 -2
  77. package/fesm2015/pepperi-addons-ngx-lib-address.mjs +1 -1
  78. package/fesm2015/pepperi-addons-ngx-lib-address.mjs.map +1 -1
  79. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs +1 -1
  80. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  81. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs +1 -1
  82. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
  83. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs +287 -0
  84. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs.map +1 -0
  85. package/fesm2015/pepperi-addons-ngx-lib-color.mjs +4 -4
  86. package/fesm2015/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  87. package/fesm2015/pepperi-addons-ngx-lib-date.mjs +2 -2
  88. package/fesm2015/pepperi-addons-ngx-lib-date.mjs.map +1 -1
  89. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs +5 -2
  90. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
  91. package/fesm2015/pepperi-addons-ngx-lib-form.mjs +23 -12
  92. package/fesm2015/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  93. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs +7 -3
  94. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
  95. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs +36 -1
  96. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
  97. package/fesm2015/pepperi-addons-ngx-lib-image.mjs +1 -1
  98. package/fesm2015/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  99. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs +2 -129
  100. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
  101. package/fesm2015/pepperi-addons-ngx-lib-link.mjs +1 -1
  102. package/fesm2015/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  103. package/fesm2015/pepperi-addons-ngx-lib-list.mjs +15 -11
  104. package/fesm2015/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  105. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs +10 -2
  106. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  107. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs +2 -2
  108. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
  109. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs +1 -1
  110. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
  111. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs +23 -3
  112. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  113. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs +2 -2
  114. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  115. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs +249 -105
  116. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  117. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs +1 -1
  118. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
  119. package/fesm2015/pepperi-addons-ngx-lib-select.mjs +32 -6
  120. package/fesm2015/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  121. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs +15 -27
  122. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
  123. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +1 -1
  124. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
  125. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs +1 -1
  126. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
  127. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs +1 -1
  128. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
  129. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs +6 -6
  130. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  131. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs +1 -1
  132. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
  133. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs +1 -1
  134. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
  135. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs +49 -8
  136. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  137. package/fesm2015/pepperi-addons-ngx-lib.mjs +128 -57
  138. package/fesm2015/pepperi-addons-ngx-lib.mjs.map +1 -1
  139. package/fesm2020/pepperi-addons-ngx-lib-address.mjs +1 -1
  140. package/fesm2020/pepperi-addons-ngx-lib-address.mjs.map +1 -1
  141. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs +1 -1
  142. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  143. package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs +1 -1
  144. package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
  145. package/fesm2020/pepperi-addons-ngx-lib-chips.mjs +287 -0
  146. package/fesm2020/pepperi-addons-ngx-lib-chips.mjs.map +1 -0
  147. package/fesm2020/pepperi-addons-ngx-lib-color.mjs +4 -4
  148. package/fesm2020/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  149. package/fesm2020/pepperi-addons-ngx-lib-date.mjs +2 -2
  150. package/fesm2020/pepperi-addons-ngx-lib-date.mjs.map +1 -1
  151. package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs +5 -2
  152. package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
  153. package/fesm2020/pepperi-addons-ngx-lib-form.mjs +26 -12
  154. package/fesm2020/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  155. package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs +7 -3
  156. package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
  157. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs +36 -1
  158. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
  159. package/fesm2020/pepperi-addons-ngx-lib-image.mjs +1 -1
  160. package/fesm2020/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  161. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs +2 -129
  162. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
  163. package/fesm2020/pepperi-addons-ngx-lib-link.mjs +1 -1
  164. package/fesm2020/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  165. package/fesm2020/pepperi-addons-ngx-lib-list.mjs +15 -11
  166. package/fesm2020/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  167. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs +10 -2
  168. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  169. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs +2 -2
  170. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
  171. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs +1 -1
  172. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
  173. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs +23 -3
  174. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  175. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs +2 -2
  176. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  177. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs +230 -98
  178. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  179. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs +1 -1
  180. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
  181. package/fesm2020/pepperi-addons-ngx-lib-select.mjs +32 -6
  182. package/fesm2020/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  183. package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs +15 -27
  184. package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
  185. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs +1 -1
  186. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
  187. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs +1 -1
  188. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
  189. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs +1 -1
  190. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
  191. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs +6 -6
  192. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  193. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs +1 -1
  194. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
  195. package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs +1 -1
  196. package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
  197. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs +48 -8
  198. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  199. package/fesm2020/pepperi-addons-ngx-lib.mjs +125 -58
  200. package/fesm2020/pepperi-addons-ngx-lib.mjs.map +1 -1
  201. package/field-title/field-title.component.d.ts +2 -1
  202. package/form/field-generator.component.d.ts +1 -1
  203. package/group-buttons/group-buttons.component.d.ts +2 -1
  204. package/icon/icon-generated-all.model.d.ts +7 -0
  205. package/icon/icon-generated.model.d.ts +29 -1
  206. package/menu/menu.component.d.ts +2 -0
  207. package/package.json +14 -13
  208. package/page-layout/page-layout.component.d.ts +1 -1
  209. package/quantity-selector/quantity-selector.component.d.ts +7 -1
  210. package/remote-loader/addon-block-loader.component.d.ts +10 -6
  211. package/remote-loader/addon-block-loader.service.d.ts +2 -3
  212. package/remote-loader/public-api.d.ts +1 -0
  213. package/remote-loader/remote-loader-element.component.d.ts +30 -0
  214. package/remote-loader/remote-loader.component.d.ts +3 -5
  215. package/remote-loader/remote-loader.model.d.ts +16 -11
  216. package/remote-loader/remote-loader.module.d.ts +8 -6
  217. package/remote-loader/remote-loader.service.d.ts +5 -7
  218. package/select/select.component.d.ts +10 -4
  219. package/side-bar/side-bar.component.d.ts +3 -3
  220. package/src/assets/i18n/en.ngx-lib.json +4 -0
  221. package/src/core/style/components/checkbox.scss +20 -1
  222. package/src/core/style/components/general.scss +5 -4
  223. package/textbox/textbox.component.d.ts +16 -1
  224. package/esm2020/plugin/pepperi-addons-ngx-lib-plugin.mjs +0 -5
  225. package/esm2020/plugin/plugin-proxy.component.mjs +0 -90
  226. package/esm2020/plugin/plugin.model.mjs +0 -2
  227. package/esm2020/plugin/public-api.mjs +0 -6
  228. package/fesm2015/pepperi-addons-ngx-lib-plugin.mjs +0 -107
  229. package/fesm2015/pepperi-addons-ngx-lib-plugin.mjs.map +0 -1
  230. package/fesm2020/pepperi-addons-ngx-lib-plugin.mjs +0 -101
  231. package/fesm2020/pepperi-addons-ngx-lib-plugin.mjs.map +0 -1
  232. package/plugin/plugin-proxy.component.d.ts +0 -22
  233. package/plugin/plugin.model.d.ts +0 -5
  234. package/plugin/public-api.d.ts +0 -2
@@ -101,7 +101,7 @@ export class PepQueryBuilderItemComponent {
101
101
  }
102
102
  }
103
103
  PepQueryBuilderItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepQueryBuilderItemComponent, deps: [{ token: i1.FormBuilder }, { token: i2.PepTypeConvertorService }], target: i0.ɵɵFactoryTarget.Component });
104
- PepQueryBuilderItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepQueryBuilderItemComponent, selector: "pep-query-builder-item", inputs: { formKey: "formKey", fields: "fields", selected: "selected", filter: "filter", parentForm: "parentForm", variableFields: "variableFields" }, outputs: { filterChange: "filterChange", remove: "remove" }, ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutGap=\".5rem\">\n <div fxLayout=\"row\" fxLayoutGap=\".5rem\">\n <pep-select fxFlex=\"25%\" [value]=\"_selectedField?.id\" xAlignment=\"left\" [options]=\"_options\"\n [renderTitle]=\"false\" (valueChange)=\"onFieldChanged($event)\"></pep-select>\n <ng-container *ngIf=\"_selectedField?.componentType\">\n <ng-container [ngSwitch]=\"_selectedField.componentType\">\n <ng-container *ngSwitchCase=\"'text'\">\n <pep-text-filter fxFlex=\"auto\" [showActionButtons]=\"false\" [variableField]=\"variableFields?.text\"\n [field]=\"_selectedField\" [filter]=\"_filter\" [parentForm]=\"f.smart\" [emitOnChange]=\"true\"\n [inline]=\"true\" [renderTitle]=\"false\" (filterChange)=\"onFilterChanged()\">\n </pep-text-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'boolean'\">\n <pep-boolean-filter fxFlex=\"auto\" [showActionButtons]=\"false\"\n [variableField]=\"variableFields?.boolean\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\"\n [options]=\"typeConvertorService.booleans\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-boolean-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'date'\">\n <pep-date-filter fxFlex=\"auto\" [showActionButtons]=\"false\" [showAdditionalOperators]=\"true\"\n [variableField]=\"variableFields?.date\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-date-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'multi-select'\">\n <pep-multi-select-filter fxFlex=\"auto\" [showActionButtons]=\"false\"\n [variableField]=\"variableFields?.['multi-select']\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-multi-select-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'number'\">\n <pep-number-filter fxFlex=\"auto\" [showActionButtons]=\"false\"\n [variableField]=\"variableFields?.number\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-number-filter>\n </ng-container>\n </ng-container>\n </ng-container>\n <pep-button styleType=\"weak\" styleStateType=\"system_bin\" sizeType=\"md\" classNames=\"\" [disabled]=\"false\"\n iconName=\"system_bin\" iconPosition=\"end\" [visible]=\"true\" (buttonClick)=\"onDeleteItemClicked()\">\n </pep-button>\n </div>\n</div>", styles: ["::ng-deep .pep-field-no-spacing{min-height:0!important;margin-bottom:0!important}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i5.PepSelectComponent, selector: "pep-select", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "options", "visible", "form", "layoutType", "parentFieldKey", "isActive", "showTitle", "emptyOption", "renderTitle"], outputs: ["valueChange", "formValidationChange"] }, { kind: "component", type: i6.PepButtonComponent, selector: "pep-button", inputs: ["key", "value", "styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconName", "iconPosition", "visible"], outputs: ["buttonClick"] }, { kind: "component", type: i7.PepTextFilterComponent, selector: "pep-text-filter" }, { kind: "component", type: i7.PepBooleanFilterComponent, selector: "pep-boolean-filter", inputs: ["options"] }, { kind: "component", type: i7.PepDateFilterComponent, selector: "pep-date-filter" }, { kind: "component", type: i7.PepMultiSelectFilterComponent, selector: "pep-multi-select-filter" }, { kind: "component", type: i7.PepNumberFilterComponent, selector: "pep-number-filter" }] });
104
+ PepQueryBuilderItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepQueryBuilderItemComponent, selector: "pep-query-builder-item", inputs: { formKey: "formKey", fields: "fields", selected: "selected", filter: "filter", parentForm: "parentForm", variableFields: "variableFields" }, outputs: { filterChange: "filterChange", remove: "remove" }, ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutGap=\".5rem\">\n <div fxLayout=\"row\" fxLayoutGap=\".5rem\">\n <pep-select fxFlex=\"25%\" [value]=\"_selectedField?.id\" xAlignment=\"left\" [options]=\"_options\"\n [renderTitle]=\"false\" (valueChange)=\"onFieldChanged($event)\"></pep-select>\n <ng-container *ngIf=\"_selectedField?.componentType\">\n <ng-container [ngSwitch]=\"_selectedField.componentType\">\n <ng-container *ngSwitchCase=\"'text'\">\n <pep-text-filter fxFlex=\"auto\" [showActionButtons]=\"false\" [variableField]=\"variableFields?.text\"\n [field]=\"_selectedField\" [filter]=\"_filter\" [parentForm]=\"f.smart\" [emitOnChange]=\"true\"\n [inline]=\"true\" [renderTitle]=\"false\" (filterChange)=\"onFilterChanged()\">\n </pep-text-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'boolean'\">\n <pep-boolean-filter fxFlex=\"auto\" [showActionButtons]=\"false\"\n [variableField]=\"variableFields?.boolean\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\"\n [options]=\"typeConvertorService.booleans\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-boolean-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'date'\">\n <pep-date-filter fxFlex=\"auto\" [showActionButtons]=\"false\" [showAdditionalOperators]=\"true\"\n [variableField]=\"variableFields?.date\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-date-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'multi-select'\">\n <pep-multi-select-filter fxFlex=\"auto\" [showActionButtons]=\"false\"\n [variableField]=\"variableFields?.['multi-select']\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-multi-select-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'number'\">\n <pep-number-filter fxFlex=\"auto\" [showActionButtons]=\"false\"\n [variableField]=\"variableFields?.number\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-number-filter>\n </ng-container>\n </ng-container>\n </ng-container>\n <pep-button styleType=\"weak\" styleStateType=\"system_bin\" sizeType=\"md\" classNames=\"\" [disabled]=\"false\"\n iconName=\"system_bin\" iconPosition=\"end\" [visible]=\"true\" (buttonClick)=\"onDeleteItemClicked()\">\n </pep-button>\n </div>\n</div>", styles: ["::ng-deep .pep-field-no-spacing{min-height:0!important;margin-bottom:0!important}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i5.PepSelectComponent, selector: "pep-select", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "options", "visible", "emptyOption", "form", "layoutType", "parentFieldKey", "isActive", "showTitle", "renderTitle"], outputs: ["valueChange", "formValidationChange"] }, { kind: "component", type: i6.PepButtonComponent, selector: "pep-button", inputs: ["key", "value", "styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconName", "iconPosition", "visible"], outputs: ["buttonClick"] }, { kind: "component", type: i7.PepTextFilterComponent, selector: "pep-text-filter" }, { kind: "component", type: i7.PepBooleanFilterComponent, selector: "pep-boolean-filter", inputs: ["options"] }, { kind: "component", type: i7.PepDateFilterComponent, selector: "pep-date-filter" }, { kind: "component", type: i7.PepMultiSelectFilterComponent, selector: "pep-multi-select-filter" }, { kind: "component", type: i7.PepNumberFilterComponent, selector: "pep-number-filter" }] });
105
105
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepQueryBuilderItemComponent, decorators: [{
106
106
  type: Component,
107
107
  args: [{ selector: 'pep-query-builder-item', template: "<div fxLayout=\"column\" fxLayoutGap=\".5rem\">\n <div fxLayout=\"row\" fxLayoutGap=\".5rem\">\n <pep-select fxFlex=\"25%\" [value]=\"_selectedField?.id\" xAlignment=\"left\" [options]=\"_options\"\n [renderTitle]=\"false\" (valueChange)=\"onFieldChanged($event)\"></pep-select>\n <ng-container *ngIf=\"_selectedField?.componentType\">\n <ng-container [ngSwitch]=\"_selectedField.componentType\">\n <ng-container *ngSwitchCase=\"'text'\">\n <pep-text-filter fxFlex=\"auto\" [showActionButtons]=\"false\" [variableField]=\"variableFields?.text\"\n [field]=\"_selectedField\" [filter]=\"_filter\" [parentForm]=\"f.smart\" [emitOnChange]=\"true\"\n [inline]=\"true\" [renderTitle]=\"false\" (filterChange)=\"onFilterChanged()\">\n </pep-text-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'boolean'\">\n <pep-boolean-filter fxFlex=\"auto\" [showActionButtons]=\"false\"\n [variableField]=\"variableFields?.boolean\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\"\n [options]=\"typeConvertorService.booleans\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-boolean-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'date'\">\n <pep-date-filter fxFlex=\"auto\" [showActionButtons]=\"false\" [showAdditionalOperators]=\"true\"\n [variableField]=\"variableFields?.date\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-date-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'multi-select'\">\n <pep-multi-select-filter fxFlex=\"auto\" [showActionButtons]=\"false\"\n [variableField]=\"variableFields?.['multi-select']\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-multi-select-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'number'\">\n <pep-number-filter fxFlex=\"auto\" [showActionButtons]=\"false\"\n [variableField]=\"variableFields?.number\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-number-filter>\n </ng-container>\n </ng-container>\n </ng-container>\n <pep-button styleType=\"weak\" styleStateType=\"system_bin\" sizeType=\"md\" classNames=\"\" [disabled]=\"false\"\n iconName=\"system_bin\" iconPosition=\"end\" [visible]=\"true\" (buttonClick)=\"onDeleteItemClicked()\">\n </pep-button>\n </div>\n</div>", styles: ["::ng-deep .pep-field-no-spacing{min-height:0!important;margin-bottom:0!important}\n"] }]
@@ -46,7 +46,7 @@ export class PepQueryBuilderSectionComponent {
46
46
  }
47
47
  }
48
48
  PepQueryBuilderSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepQueryBuilderSectionComponent, deps: [{ token: i1.PepTypeConvertorService }], target: i0.ɵɵFactoryTarget.Component });
49
- PepQueryBuilderSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepQueryBuilderSectionComponent, selector: "pep-query-builder-section", inputs: { form: "form", depth: "depth", hasFields: "hasFields" }, outputs: { createSection: "createSection", createItem: "createItem", remove: "remove", operatorChange: "operatorChange" }, viewQueries: [{ propertyName: "sectionContainer", first: true, predicate: ["sectionContainer"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div fxLayout=\"row\" fxLayoutGap=\".5rem\">\n <div class=\"query-section-container\" fxLayout=\"column\" fxLayoutGap=\".5rem\">\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between\">\n <pep-group-buttons [buttons]=\"toggleButtons\" [selectedButtonKey]=\"f.operator?.value || ''\" styleType=\"weak\"\n sizeType=\"sm\" [viewType]=\"'toggle'\" [buttonsDisabled]=\"!hasFields\">\n </pep-group-buttons>\n <div fxLayout=\"row\" fxLayoutGap=\".5rem\">\n <pep-button value=\"Add Filter\" styleType=\"weak\" styleStateType=\"system\" sizeType=\"sm\" classNames=\"\"\n [disabled]=\"!hasFields\" iconName=\"number_plus\" iconPosition=\"end\" [visible]=\"true\"\n (buttonClick)=\"onAddRuleClicked()\"></pep-button>\n <ng-container *ngIf=\"depth.current < depth.max-1\">\n <pep-button value=\"Add Filter Group\" styleType=\"weak\" styleStateType=\"system\" sizeType=\"sm\"\n classNames=\"\" [disabled]=\"!hasFields\" iconName=\"number_plus\" iconPosition=\"end\" [visible]=\"true\"\n (buttonClick)=\"onAddRuleSetClicked()\"></pep-button>\n </ng-container>\n </div>\n </div>\n <ng-container #sectionContainer></ng-container>\n </div>\n <pep-button *ngIf=\"depth.current > 0\" styleType=\"weak\" styleStateType=\"system_bin\" sizeType=\"md\" classNames=\"\"\n [disabled]=\"false\" iconName=\"system_bin\" iconPosition=\"end\" [visible]=\"true\"\n (buttonClick)=\"onDeleteSectionClicked()\">\n </pep-button>\n</div>", styles: [".query-section-container{border-radius:var(--pep-border-radius-md, .25rem);padding:.5rem;width:100%}\n", ".query-section-container{box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.08);border:1px solid hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.24)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "component", type: i4.PepButtonComponent, selector: "pep-button", inputs: ["key", "value", "styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconName", "iconPosition", "visible"], outputs: ["buttonClick"] }, { kind: "component", type: i5.PepGroupButtonsComponent, selector: "pep-group-buttons", inputs: ["viewType", "styleType", "sizeType", "buttons", "buttonsDisabled", "selectedButtonKey", "stretch"], outputs: ["buttonClick"] }] });
49
+ PepQueryBuilderSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepQueryBuilderSectionComponent, selector: "pep-query-builder-section", inputs: { form: "form", depth: "depth", hasFields: "hasFields" }, outputs: { createSection: "createSection", createItem: "createItem", remove: "remove", operatorChange: "operatorChange" }, viewQueries: [{ propertyName: "sectionContainer", first: true, predicate: ["sectionContainer"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div fxLayout=\"row\" fxLayoutGap=\".5rem\">\n <div class=\"query-section-container\" fxLayout=\"column\" fxLayoutGap=\".5rem\">\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between\">\n <pep-group-buttons [buttons]=\"toggleButtons\" [selectedButtonKey]=\"f.operator?.value || ''\" styleType=\"weak\"\n sizeType=\"sm\" [viewType]=\"'toggle'\" [buttonsDisabled]=\"!hasFields\">\n </pep-group-buttons>\n <div fxLayout=\"row\" fxLayoutGap=\".5rem\">\n <pep-button value=\"Add Filter\" styleType=\"weak\" styleStateType=\"system\" sizeType=\"sm\" classNames=\"\"\n [disabled]=\"!hasFields\" iconName=\"number_plus\" iconPosition=\"end\" [visible]=\"true\"\n (buttonClick)=\"onAddRuleClicked()\"></pep-button>\n <ng-container *ngIf=\"depth.current < depth.max-1\">\n <pep-button value=\"Add Filter Group\" styleType=\"weak\" styleStateType=\"system\" sizeType=\"sm\"\n classNames=\"\" [disabled]=\"!hasFields\" iconName=\"number_plus\" iconPosition=\"end\" [visible]=\"true\"\n (buttonClick)=\"onAddRuleSetClicked()\"></pep-button>\n </ng-container>\n </div>\n </div>\n <ng-container #sectionContainer></ng-container>\n </div>\n <pep-button *ngIf=\"depth.current > 0\" styleType=\"weak\" styleStateType=\"system_bin\" sizeType=\"md\" classNames=\"\"\n [disabled]=\"false\" iconName=\"system_bin\" iconPosition=\"end\" [visible]=\"true\"\n (buttonClick)=\"onDeleteSectionClicked()\">\n </pep-button>\n</div>", styles: [".query-section-container{border-radius:var(--pep-border-radius-md, .25rem);padding:.5rem;width:100%}\n", ".query-section-container{box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.08);border:1px solid hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.24)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "component", type: i4.PepButtonComponent, selector: "pep-button", inputs: ["key", "value", "styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconName", "iconPosition", "visible"], outputs: ["buttonClick"] }, { kind: "component", type: i5.PepGroupButtonsComponent, selector: "pep-group-buttons", inputs: ["viewType", "styleType", "sizeType", "buttons", "buttonsDisabled", "supportUnselect", "selectedButtonKey", "stretch"], outputs: ["buttonClick"] }] });
50
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepQueryBuilderSectionComponent, decorators: [{
51
51
  type: Component,
52
52
  args: [{ selector: 'pep-query-builder-section', template: "<div fxLayout=\"row\" fxLayoutGap=\".5rem\">\n <div class=\"query-section-container\" fxLayout=\"column\" fxLayoutGap=\".5rem\">\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between\">\n <pep-group-buttons [buttons]=\"toggleButtons\" [selectedButtonKey]=\"f.operator?.value || ''\" styleType=\"weak\"\n sizeType=\"sm\" [viewType]=\"'toggle'\" [buttonsDisabled]=\"!hasFields\">\n </pep-group-buttons>\n <div fxLayout=\"row\" fxLayoutGap=\".5rem\">\n <pep-button value=\"Add Filter\" styleType=\"weak\" styleStateType=\"system\" sizeType=\"sm\" classNames=\"\"\n [disabled]=\"!hasFields\" iconName=\"number_plus\" iconPosition=\"end\" [visible]=\"true\"\n (buttonClick)=\"onAddRuleClicked()\"></pep-button>\n <ng-container *ngIf=\"depth.current < depth.max-1\">\n <pep-button value=\"Add Filter Group\" styleType=\"weak\" styleStateType=\"system\" sizeType=\"sm\"\n classNames=\"\" [disabled]=\"!hasFields\" iconName=\"number_plus\" iconPosition=\"end\" [visible]=\"true\"\n (buttonClick)=\"onAddRuleSetClicked()\"></pep-button>\n </ng-container>\n </div>\n </div>\n <ng-container #sectionContainer></ng-container>\n </div>\n <pep-button *ngIf=\"depth.current > 0\" styleType=\"weak\" styleStateType=\"system_bin\" sizeType=\"md\" classNames=\"\"\n [disabled]=\"false\" iconName=\"system_bin\" iconPosition=\"end\" [visible]=\"true\"\n (buttonClick)=\"onDeleteSectionClicked()\">\n </pep-button>\n</div>", styles: [".query-section-container{border-radius:var(--pep-border-radius-md, .25rem);padding:.5rem;width:100%}\n", ".query-section-container{box-shadow:var(--pep-shadow-sm-offset, 0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.08);border:1px solid hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.24)}\n"] }]
@@ -4,10 +4,13 @@ import * as i1 from "./remote-loader.service";
4
4
  import * as i2 from "@angular/common";
5
5
  import * as i3 from "@pepperi-addons/ngx-lib/dialog";
6
6
  import * as i4 from "./remote-loader.component";
7
+ import * as i5 from "./remote-loader-element.component";
7
8
  export class PepAddonBlockLoaderComponent {
8
9
  constructor(remoteLoaderService) {
9
10
  this.remoteLoaderService = remoteLoaderService;
11
+ this.addonId = '';
10
12
  this.remoteEntry = '';
13
+ this.slugName = '';
11
14
  this._blockType = 'AddonBlock';
12
15
  this._name = '';
13
16
  this.hostObject = null;
@@ -16,7 +19,10 @@ export class PepAddonBlockLoaderComponent {
16
19
  this.blockLoad = new EventEmitter();
17
20
  this.inDialog = false;
18
21
  this.remotePathOptions = null;
19
- //
22
+ this.loadElement = false;
23
+ this.onHostEventsCallback = (event) => {
24
+ this.onHostEvents(event.detail);
25
+ };
20
26
  }
21
27
  set blockType(value) {
22
28
  this._blockType = value;
@@ -38,7 +44,15 @@ export class PepAddonBlockLoaderComponent {
38
44
  return this._dialogRef;
39
45
  }
40
46
  ngOnInit() {
41
- this.remoteLoaderService.getBlockRemoteLoaderOptions(this.name, this.blockType, this.remoteEntry).then(options => {
47
+ const options = {
48
+ name: this.name,
49
+ slugName: this.slugName,
50
+ blockType: this.blockType,
51
+ addonUUID: this.addonId,
52
+ blockRemoteEntry: this.remoteEntry
53
+ };
54
+ this.remoteLoaderService.getBlockRemoteLoaderOptions(options).then((options) => {
55
+ this.loadElement = options.elementName?.length > 0;
42
56
  this.remotePathOptions = options;
43
57
  });
44
58
  }
@@ -59,15 +73,19 @@ export class PepAddonBlockLoaderComponent {
59
73
  }
60
74
  }
61
75
  PepAddonBlockLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderComponent, deps: [{ token: i1.PepRemoteLoaderService }], target: i0.ɵɵFactoryTarget.Component });
62
- PepAddonBlockLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepAddonBlockLoaderComponent, selector: "pep-addon-block-loader", inputs: { remoteEntry: "remoteEntry", blockType: "blockType", name: "name", hostObject: "hostObject", dialogRef: "dialogRef" }, outputs: { hostEvents: "hostEvents", blockLoad: "blockLoad" }, viewQueries: [{ propertyName: "dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-container *ngIf=\"!inDialog\">\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #dialogTemplate let-data>\n <pep-dialog [showClose]=\"data?.showClose\" [showHeader]=\"data?.showHeader\" [showFooter]=\"data?.showFooter\" [title]=\"data?.title\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n </ng-container>\n </pep-dialog>\n</ng-template>\n\n<ng-template #remoteLoaderTemplate>\n <pep-remote-loader *ngIf=\"remotePathOptions\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\n</ng-template>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.PepDialogComponent, selector: "pep-dialog", inputs: ["title", "showClose", "showHeader", "showFooter"], outputs: ["close"] }, { kind: "component", type: i4.PepRemoteLoaderComponent, selector: "pep-remote-loader", inputs: ["options", "hostObject"], outputs: ["hostEvents", "load"] }] });
76
+ PepAddonBlockLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepAddonBlockLoaderComponent, selector: "pep-addon-block-loader", inputs: { addonId: "addonId", remoteEntry: "remoteEntry", slugName: "slugName", blockType: "blockType", name: "name", hostObject: "hostObject", dialogRef: "dialogRef" }, outputs: { hostEvents: "hostEvents", blockLoad: "blockLoad" }, viewQueries: [{ propertyName: "dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-container *ngIf=\"!inDialog\">\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #dialogTemplate let-data>\n <pep-dialog [showClose]=\"data?.showClose\" [showHeader]=\"data?.showHeader\" [showFooter]=\"data?.showFooter\" [title]=\"data?.title\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n </ng-container>\n </pep-dialog>\n</ng-template>\n\n<ng-template #remoteLoaderTemplate>\n <pep-remote-loader *ngIf=\"remotePathOptions && !loadElement\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\n\n <pep-remote-loader-element *ngIf=\"remotePathOptions && loadElement\" \n [options]=\"remotePathOptions\"\n [props]=\"{ hostObject: hostObject }\"\n [events]=\"{ hostEvents: onHostEventsCallback }\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader-element>\n\n</ng-template>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.PepDialogComponent, selector: "pep-dialog", inputs: ["title", "showClose", "showHeader", "showFooter"], outputs: ["close"] }, { kind: "component", type: i4.PepRemoteLoaderComponent, selector: "pep-remote-loader", inputs: ["options", "hostObject"], outputs: ["hostEvents", "load"] }, { kind: "component", type: i5.PepRemoteLoaderElementComponent, selector: "pep-remote-loader-element", inputs: ["options", "props", "events"], outputs: ["load"] }] });
63
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderComponent, decorators: [{
64
78
  type: Component,
65
- args: [{ selector: 'pep-addon-block-loader', template: "<ng-container *ngIf=\"!inDialog\">\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #dialogTemplate let-data>\n <pep-dialog [showClose]=\"data?.showClose\" [showHeader]=\"data?.showHeader\" [showFooter]=\"data?.showFooter\" [title]=\"data?.title\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n </ng-container>\n </pep-dialog>\n</ng-template>\n\n<ng-template #remoteLoaderTemplate>\n <pep-remote-loader *ngIf=\"remotePathOptions\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\n</ng-template>" }]
79
+ args: [{ selector: 'pep-addon-block-loader', template: "<ng-container *ngIf=\"!inDialog\">\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #dialogTemplate let-data>\n <pep-dialog [showClose]=\"data?.showClose\" [showHeader]=\"data?.showHeader\" [showFooter]=\"data?.showFooter\" [title]=\"data?.title\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <ng-container *ngTemplateOutlet=\"remoteLoaderTemplate\"></ng-container>\n </ng-container>\n </pep-dialog>\n</ng-template>\n\n<ng-template #remoteLoaderTemplate>\n <pep-remote-loader *ngIf=\"remotePathOptions && !loadElement\"\n [options]=\"remotePathOptions\"\n [hostObject]=\"hostObject\"\n (hostEvents)=\"onHostEvents($event);\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader>\n\n <pep-remote-loader-element *ngIf=\"remotePathOptions && loadElement\" \n [options]=\"remotePathOptions\"\n [props]=\"{ hostObject: hostObject }\"\n [events]=\"{ hostEvents: onHostEventsCallback }\"\n (load)=\"onBlockLoad()\">\n </pep-remote-loader-element>\n\n</ng-template>" }]
66
80
  }], ctorParameters: function () { return [{ type: i1.PepRemoteLoaderService }]; }, propDecorators: { dialogTemplate: [{
67
81
  type: ViewChild,
68
82
  args: ['dialogTemplate', { static: true, read: TemplateRef }]
83
+ }], addonId: [{
84
+ type: Input
69
85
  }], remoteEntry: [{
70
86
  type: Input
87
+ }], slugName: [{
88
+ type: Input
71
89
  }], blockType: [{
72
90
  type: Input
73
91
  }], name: [{
@@ -81,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
81
99
  }], blockLoad: [{
82
100
  type: Output
83
101
  }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkb24tYmxvY2stbG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcmVtb3RlLWxvYWRlci9hZGRvbi1ibG9jay1sb2FkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9yZW1vdGUtbG9hZGVyL2FkZG9uLWJsb2NrLWxvYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVVsSCxNQUFNLE9BQU8sNEJBQTRCO0lBeUNyQyxZQUFvQixtQkFBMkM7UUFBM0Msd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF3QjtRQXRDdEQsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFMUIsZUFBVSxHQUFxQixZQUFZLENBQUM7UUFTNUMsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQVNWLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFFbkIsZUFBVSxHQUFzQixJQUFJLENBQUM7UUFVbkMsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3hELGNBQVMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVuRSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLHNCQUFpQixHQUEyQixJQUFJLENBQUM7UUFHN0MsRUFBRTtJQUNOLENBQUM7SUFyQ0QsSUFDSSxTQUFTLENBQUMsS0FBdUI7UUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBR0QsSUFDSSxJQUFJLENBQUMsS0FBYTtRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFLRCxJQUNJLFNBQVMsQ0FBQyxLQUF3QjtRQUNsQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDO0lBQzVDLENBQUM7SUFDRCxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQVlELFFBQVE7UUFDSixJQUFJLENBQUMsbUJBQW1CLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDN0csSUFBSSxDQUFDLGlCQUFpQixHQUFHLE9BQU8sQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1NBQ3pCO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUNsQyxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBSztRQUNiLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7O3lIQXJFUSw0QkFBNEI7NkdBQTVCLDRCQUE0QiwwVkFDYyxXQUFXLDJDQ1hsRSw4ekJBbUJjOzJGRFRELDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDSSx3QkFBd0I7NkdBS2dDLGNBQWM7c0JBQS9FLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBRXZELFdBQVc7c0JBQW5CLEtBQUs7Z0JBSUYsU0FBUztzQkFEWixLQUFLO2dCQVVGLElBQUk7c0JBRFAsS0FBSztnQkFRRyxVQUFVO3NCQUFsQixLQUFLO2dCQUlGLFNBQVM7c0JBRFosS0FBSztnQkFTSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBQZXBCbG9ja0RhdGFUeXBlLCBQZXBSZW1vdGVMb2FkZXJPcHRpb25zIH0gZnJvbSAnLi9yZW1vdGUtbG9hZGVyLm1vZGVsJztcbmltcG9ydCB7IFBlcFJlbW90ZUxvYWRlclNlcnZpY2UgfSBmcm9tICcuL3JlbW90ZS1sb2FkZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLWFkZG9uLWJsb2NrLWxvYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FkZG9uLWJsb2NrLWxvYWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYWRkb24tYmxvY2stbG9hZGVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUGVwQWRkb25CbG9ja0xvYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBAVmlld0NoaWxkKCdkaWFsb2dUZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBUZW1wbGF0ZVJlZiB9KSBkaWFsb2dUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgXG4gICAgQElucHV0KCkgcmVtb3RlRW50cnk6IHN0cmluZyA9ICcnO1xuXG4gICAgcHJpdmF0ZSBfYmxvY2tUeXBlOiBQZXBCbG9ja0RhdGFUeXBlID0gJ0FkZG9uQmxvY2snO1xuICAgIEBJbnB1dCgpIFxuICAgIHNldCBibG9ja1R5cGUodmFsdWU6IFBlcEJsb2NrRGF0YVR5cGUpIHtcbiAgICAgICAgdGhpcy5fYmxvY2tUeXBlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBibG9ja1R5cGUoKTogUGVwQmxvY2tEYXRhVHlwZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ibG9ja1R5cGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbmFtZSA9ICcnO1xuICAgIEBJbnB1dCgpIFxuICAgIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fbmFtZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbmFtZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBob3N0T2JqZWN0ID0gbnVsbDtcbiAgICBcbiAgICBwcml2YXRlIF9kaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxhbnk+ID0gbnVsbDtcbiAgICBASW5wdXQoKVxuICAgIHNldCBkaWFsb2dSZWYodmFsdWU6IE1hdERpYWxvZ1JlZjxhbnk+KSB7XG4gICAgICAgIHRoaXMuX2RpYWxvZ1JlZiA9IHZhbHVlO1xuICAgICAgICB0aGlzLmluRGlhbG9nID0gdGhpcy5fZGlhbG9nUmVmICE9IG51bGw7XG4gICAgfVxuICAgIGdldCBkaWFsb2dSZWYoKTogTWF0RGlhbG9nUmVmPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlhbG9nUmVmO1xuICAgIH1cbiAgICBcbiAgICBAT3V0cHV0KCkgaG9zdEV2ZW50czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgYmxvY2tMb2FkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgXG4gICAgaW5EaWFsb2cgPSBmYWxzZTtcbiAgICByZW1vdGVQYXRoT3B0aW9uczogUGVwUmVtb3RlTG9hZGVyT3B0aW9ucyA9IG51bGw7XG4gICAgXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZW1vdGVMb2FkZXJTZXJ2aWNlOiBQZXBSZW1vdGVMb2FkZXJTZXJ2aWNlKSB7XG4gICAgICAgIC8vXG4gICAgfVxuICAgIFxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnJlbW90ZUxvYWRlclNlcnZpY2UuZ2V0QmxvY2tSZW1vdGVMb2FkZXJPcHRpb25zKHRoaXMubmFtZSwgdGhpcy5ibG9ja1R5cGUsIHRoaXMucmVtb3RlRW50cnkpLnRoZW4ob3B0aW9ucyA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbW90ZVBhdGhPcHRpb25zID0gb3B0aW9ucztcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpYWxvZ1JlZikge1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5yZW1vdGVQYXRoT3B0aW9ucyA9IG51bGw7XG4gICAgfVxuXG4gICAgb25CbG9ja0xvYWQoKSB7XG4gICAgICAgIHRoaXMuYmxvY2tMb2FkLmVtaXQoKTtcbiAgICB9XG5cbiAgICBvbkhvc3RFdmVudHMoZXZlbnQ6IGFueSkge1xuICAgICAgICB0aGlzLmhvc3RFdmVudHMuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgY2xvc2VEaWFsb2coZXZlbnQpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWY/LmNsb3NlKGV2ZW50KTtcbiAgICB9XG59IiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpbkRpYWxvZ1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZW1vdGVMb2FkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjZGlhbG9nVGVtcGxhdGUgbGV0LWRhdGE+XG4gICAgPHBlcC1kaWFsb2cgW3Nob3dDbG9zZV09XCJkYXRhPy5zaG93Q2xvc2VcIiBbc2hvd0hlYWRlcl09XCJkYXRhPy5zaG93SGVhZGVyXCIgW3Nob3dGb290ZXJdPVwiZGF0YT8uc2hvd0Zvb3RlclwiIFt0aXRsZV09XCJkYXRhPy50aXRsZVwiIChjbG9zZSk9XCJjbG9zZURpYWxvZygkZXZlbnQpXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgcGVwLWRpYWxvZy1jb250ZW50PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlbW90ZUxvYWRlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvcGVwLWRpYWxvZz5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcmVtb3RlTG9hZGVyVGVtcGxhdGU+XG4gICAgPHBlcC1yZW1vdGUtbG9hZGVyICpuZ0lmPVwicmVtb3RlUGF0aE9wdGlvbnNcIlxuICAgICAgICBbb3B0aW9uc109XCJyZW1vdGVQYXRoT3B0aW9uc1wiXG4gICAgICAgIFtob3N0T2JqZWN0XT1cImhvc3RPYmplY3RcIlxuICAgICAgICAoaG9zdEV2ZW50cyk9XCJvbkhvc3RFdmVudHMoJGV2ZW50KTtcIlxuICAgICAgICAobG9hZCk9XCJvbkJsb2NrTG9hZCgpXCI+XG4gICAgPC9wZXAtcmVtb3RlLWxvYWRlcj5cbjwvbmctdGVtcGxhdGU+Il19
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkb24tYmxvY2stbG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcmVtb3RlLWxvYWRlci9hZGRvbi1ibG9jay1sb2FkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9yZW1vdGUtbG9hZGVyL2FkZG9uLWJsb2NrLWxvYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFVbEgsTUFBTSxPQUFPLDRCQUE0QjtJQThDckMsWUFBb0IsbUJBQTJDO1FBQTNDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBd0I7UUEzQ3RELFlBQU8sR0FBVyxFQUFFLENBQUM7UUFDckIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUV2QixlQUFVLEdBQVcsWUFBWSxDQUFDO1FBU2xDLFVBQUssR0FBRyxFQUFFLENBQUM7UUFTVixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBRW5CLGVBQVUsR0FBc0IsSUFBSSxDQUFDO1FBVW5DLGVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN4RCxjQUFTLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFekQsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixzQkFBaUIsR0FBMkIsSUFBSSxDQUFDO1FBQ2pELGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBS25DLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxDQUFDLEtBQWtCLEVBQUUsRUFBRTtZQUMvQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUE7SUFDTCxDQUFDO0lBMUNELElBQ0ksU0FBUyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBR0QsSUFDSSxJQUFJLENBQUMsS0FBYTtRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFLRCxJQUNJLFNBQVMsQ0FBQyxLQUF3QjtRQUNsQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDO0lBQzVDLENBQUM7SUFDRCxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQWlCRCxRQUFRO1FBQ0osTUFBTSxPQUFPLEdBQWtDO1lBQzNDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3ZCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxXQUFXO1NBQ3JDLENBQUM7UUFFRixJQUFJLENBQUMsbUJBQW1CLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBK0IsRUFBRSxFQUFFO1lBQ25HLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztTQUN6QjtRQUVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFDbEMsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQUs7UUFDYixJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDOzt5SEFyRlEsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsb1lBQ2MsV0FBVywyQ0NabEUsdW5DQTJCYzsyRkRoQkQsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNJLHdCQUF3Qjs2R0FLZ0MsY0FBYztzQkFBL0UsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFFdkQsT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFJRixTQUFTO3NCQURaLEtBQUs7Z0JBVUYsSUFBSTtzQkFEUCxLQUFLO2dCQVFHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBSUYsU0FBUztzQkFEWixLQUFLO2dCQVNJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdlYkNvbXBvbmVudFdyYXBwZXJPcHRpb25zIH0gZnJvbSAnQGFuZ3VsYXItYXJjaGl0ZWN0cy9tb2R1bGUtZmVkZXJhdGlvbi10b29scyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBJUGVwUmVtb3RlTG9hZGVyUGFyYW1zT3B0aW9ucywgUGVwUmVtb3RlTG9hZGVyT3B0aW9ucyB9IGZyb20gJy4vcmVtb3RlLWxvYWRlci5tb2RlbCc7XG5pbXBvcnQgeyBQZXBSZW1vdGVMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi9yZW1vdGUtbG9hZGVyLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1hZGRvbi1ibG9jay1sb2FkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hZGRvbi1ibG9jay1sb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2FkZG9uLWJsb2NrLWxvYWRlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBlcEFkZG9uQmxvY2tMb2FkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZCgnZGlhbG9nVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogVGVtcGxhdGVSZWYgfSkgZGlhbG9nVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIFxuICAgIEBJbnB1dCgpIGFkZG9uSWQ6IHN0cmluZyA9ICcnO1xuICAgIEBJbnB1dCgpIHJlbW90ZUVudHJ5OiBzdHJpbmcgPSAnJztcbiAgICBASW5wdXQoKSBzbHVnTmFtZTogc3RyaW5nID0gJyc7XG5cbiAgICBwcml2YXRlIF9ibG9ja1R5cGU6IHN0cmluZyA9ICdBZGRvbkJsb2NrJztcbiAgICBASW5wdXQoKSBcbiAgICBzZXQgYmxvY2tUeXBlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fYmxvY2tUeXBlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBibG9ja1R5cGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Jsb2NrVHlwZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9uYW1lID0gJyc7XG4gICAgQElucHV0KCkgXG4gICAgc2V0IG5hbWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9uYW1lID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uYW1lO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGhvc3RPYmplY3QgPSBudWxsO1xuICAgIFxuICAgIHByaXZhdGUgX2RpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPGFueT4gPSBudWxsO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGRpYWxvZ1JlZih2YWx1ZTogTWF0RGlhbG9nUmVmPGFueT4pIHtcbiAgICAgICAgdGhpcy5fZGlhbG9nUmVmID0gdmFsdWU7XG4gICAgICAgIHRoaXMuaW5EaWFsb2cgPSB0aGlzLl9kaWFsb2dSZWYgIT0gbnVsbDtcbiAgICB9XG4gICAgZ2V0IGRpYWxvZ1JlZigpOiBNYXREaWFsb2dSZWY8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaWFsb2dSZWY7XG4gICAgfVxuICAgIFxuICAgIEBPdXRwdXQoKSBob3N0RXZlbnRzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBibG9ja0xvYWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBcbiAgICBwcm90ZWN0ZWQgaW5EaWFsb2cgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgcmVtb3RlUGF0aE9wdGlvbnM6IFBlcFJlbW90ZUxvYWRlck9wdGlvbnMgPSBudWxsO1xuICAgIHByb3RlY3RlZCBsb2FkRWxlbWVudDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHJvdGVjdGVkIG9uSG9zdEV2ZW50c0NhbGxiYWNrOiAoZXZlbnQ6IEN1c3RvbUV2ZW50KSA9PiB2b2lkO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZW1vdGVMb2FkZXJTZXJ2aWNlOiBQZXBSZW1vdGVMb2FkZXJTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMub25Ib3N0RXZlbnRzQ2FsbGJhY2sgPSAoZXZlbnQ6IEN1c3RvbUV2ZW50KSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uSG9zdEV2ZW50cyhldmVudC5kZXRhaWwpO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBjb25zdCBvcHRpb25zOiBJUGVwUmVtb3RlTG9hZGVyUGFyYW1zT3B0aW9ucyA9IHtcbiAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgICAgIHNsdWdOYW1lOiB0aGlzLnNsdWdOYW1lLFxuICAgICAgICAgICAgYmxvY2tUeXBlOiB0aGlzLmJsb2NrVHlwZSxcbiAgICAgICAgICAgIGFkZG9uVVVJRDogdGhpcy5hZGRvbklkLFxuICAgICAgICAgICAgYmxvY2tSZW1vdGVFbnRyeTogdGhpcy5yZW1vdGVFbnRyeVxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMucmVtb3RlTG9hZGVyU2VydmljZS5nZXRCbG9ja1JlbW90ZUxvYWRlck9wdGlvbnMob3B0aW9ucykudGhlbigob3B0aW9uczogUGVwUmVtb3RlTG9hZGVyT3B0aW9ucykgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2FkRWxlbWVudCA9IG9wdGlvbnMuZWxlbWVudE5hbWU/Lmxlbmd0aCA+IDA7XG4gICAgICAgICAgICB0aGlzLnJlbW90ZVBhdGhPcHRpb25zID0gb3B0aW9ucztcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpYWxvZ1JlZikge1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5yZW1vdGVQYXRoT3B0aW9ucyA9IG51bGw7XG4gICAgfVxuXG4gICAgb25CbG9ja0xvYWQoKSB7XG4gICAgICAgIHRoaXMuYmxvY2tMb2FkLmVtaXQoKTtcbiAgICB9XG5cbiAgICBvbkhvc3RFdmVudHMoZXZlbnQ6IGFueSkge1xuICAgICAgICB0aGlzLmhvc3RFdmVudHMuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgY2xvc2VEaWFsb2coZXZlbnQpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWY/LmNsb3NlKGV2ZW50KTtcbiAgICB9XG59IiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpbkRpYWxvZ1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZW1vdGVMb2FkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjZGlhbG9nVGVtcGxhdGUgbGV0LWRhdGE+XG4gICAgPHBlcC1kaWFsb2cgW3Nob3dDbG9zZV09XCJkYXRhPy5zaG93Q2xvc2VcIiBbc2hvd0hlYWRlcl09XCJkYXRhPy5zaG93SGVhZGVyXCIgW3Nob3dGb290ZXJdPVwiZGF0YT8uc2hvd0Zvb3RlclwiIFt0aXRsZV09XCJkYXRhPy50aXRsZVwiIChjbG9zZSk9XCJjbG9zZURpYWxvZygkZXZlbnQpXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgcGVwLWRpYWxvZy1jb250ZW50PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlbW90ZUxvYWRlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvcGVwLWRpYWxvZz5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcmVtb3RlTG9hZGVyVGVtcGxhdGU+XG4gICAgPHBlcC1yZW1vdGUtbG9hZGVyICpuZ0lmPVwicmVtb3RlUGF0aE9wdGlvbnMgJiYgIWxvYWRFbGVtZW50XCJcbiAgICAgICAgW29wdGlvbnNdPVwicmVtb3RlUGF0aE9wdGlvbnNcIlxuICAgICAgICBbaG9zdE9iamVjdF09XCJob3N0T2JqZWN0XCJcbiAgICAgICAgKGhvc3RFdmVudHMpPVwib25Ib3N0RXZlbnRzKCRldmVudCk7XCJcbiAgICAgICAgKGxvYWQpPVwib25CbG9ja0xvYWQoKVwiPlxuICAgIDwvcGVwLXJlbW90ZS1sb2FkZXI+XG5cbiAgICA8cGVwLXJlbW90ZS1sb2FkZXItZWxlbWVudCAqbmdJZj1cInJlbW90ZVBhdGhPcHRpb25zICYmIGxvYWRFbGVtZW50XCIgXG4gICAgICAgIFtvcHRpb25zXT1cInJlbW90ZVBhdGhPcHRpb25zXCJcbiAgICAgICAgW3Byb3BzXT1cInsgaG9zdE9iamVjdDogaG9zdE9iamVjdCB9XCJcbiAgICAgICAgW2V2ZW50c109XCJ7IGhvc3RFdmVudHM6IG9uSG9zdEV2ZW50c0NhbGxiYWNrIH1cIlxuICAgICAgICAobG9hZCk9XCJvbkJsb2NrTG9hZCgpXCI+XG4gICAgPC9wZXAtcmVtb3RlLWxvYWRlci1lbGVtZW50PlxuXG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -3,18 +3,19 @@ import { PepAddonBlockLoaderComponent } from './addon-block-loader.component';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@pepperi-addons/ngx-lib/dialog";
5
5
  export class PepAddonBlockLoaderService {
6
- constructor(resolver, dialogService) {
7
- this.resolver = resolver;
6
+ constructor(dialogService) {
8
7
  this.dialogService = dialogService;
9
8
  //
10
9
  }
11
10
  loadAddonBlockInternal(options) {
12
11
  if (options.container !== null) {
13
- const factory = this.resolver.resolveComponentFactory(PepAddonBlockLoaderComponent);
14
- const componentRef = options.container.createComponent(factory);
12
+ const componentRef = options.container.createComponent(PepAddonBlockLoaderComponent);
15
13
  const addonBlockInstance = componentRef.instance;
16
- addonBlockInstance.blockType = options.blockType || 'AddonBlock';
17
14
  addonBlockInstance.name = options.name;
15
+ addonBlockInstance.slugName = options.slugName;
16
+ addonBlockInstance.blockType = options.blockType || 'AddonBlock';
17
+ addonBlockInstance.addonId = options.addonUUID;
18
+ addonBlockInstance.remoteEntry = options.blockRemoteEntry;
18
19
  addonBlockInstance.hostObject = options.hostObject;
19
20
  addonBlockInstance.hostEvents.subscribe((event) => {
20
21
  if (options.hostEventsCallback) {
@@ -50,12 +51,12 @@ export class PepAddonBlockLoaderService {
50
51
  }
51
52
  }
52
53
  }
53
- PepAddonBlockLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i1.PepDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
54
+ PepAddonBlockLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, deps: [{ token: i1.PepDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
54
55
  PepAddonBlockLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, providedIn: 'root' });
55
56
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, decorators: [{
56
57
  type: Injectable,
57
58
  args: [{
58
59
  providedIn: 'root'
59
60
  }]
60
- }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1.PepDialogService }]; } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkb24tYmxvY2stbG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3JlbW90ZS1sb2FkZXIvYWRkb24tYmxvY2stbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEwQyxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFN0YsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQU85RSxNQUFNLE9BQU8sMEJBQTBCO0lBRW5DLFlBQ1ksUUFBa0MsRUFDbEMsYUFBK0I7UUFEL0IsYUFBUSxHQUFSLFFBQVEsQ0FBMEI7UUFDbEMsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBRXZDLEVBQUU7SUFDTixDQUFDO0lBRU8sc0JBQXNCLENBQUMsT0FBdUM7UUFDbEUsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLElBQUksRUFBRTtZQUM1QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLDRCQUE0QixDQUFDLENBQUM7WUFDcEYsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEUsTUFBTSxrQkFBa0IsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO1lBRWpELGtCQUFrQixDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxJQUFJLFlBQVksQ0FBQztZQUNqRSxrQkFBa0IsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztZQUN2QyxrQkFBa0IsQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztZQUVuRCxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQzlDLElBQUksT0FBTyxDQUFDLGtCQUFrQixFQUFFO29CQUM1QixPQUFPLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ3JDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFFSCxPQUFPLFlBQVksQ0FBQztTQUN2QjthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNMLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxPQUFpQztRQUN2RCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsT0FBdUM7UUFDMUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFELElBQUksWUFBWSxFQUFFO1lBQ2QsTUFBTSxrQkFBa0IsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO1lBQ2pELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsc0JBQXNCLEVBQUUsRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLGFBQWEsQ0FBQyxDQUFDO1lBQ2pKLE1BQU0sV0FBVyxHQUFHLEVBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsU0FBUyxFQUFDLENBQUM7WUFDdEQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7WUFDbEMsa0JBQWtCLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDbkgsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3RELFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQy9CLFlBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2hDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sa0JBQWtCLENBQUMsU0FBUyxDQUFDO1NBRXZDO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0wsQ0FBQzs7dUhBdERRLDBCQUEwQjsySEFBMUIsMEJBQTBCLGNBRnZCLE1BQU07MkZBRVQsMEJBQTBCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUFkZG9uQmxvY2tMb2FkZXJEaWFsb2dPcHRpb25zLCBJQWRkb25CbG9ja0xvYWRlck9wdGlvbnMsIElCbG9ja0xvYWRlckRhdGEgfSBmcm9tICcuL3JlbW90ZS1sb2FkZXIubW9kZWwnO1xuaW1wb3J0IHsgUGVwQWRkb25CbG9ja0xvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vYWRkb24tYmxvY2stbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgUGVwRGlhbG9nU2VydmljZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2RpYWxvZyc7XG5cbkBJbmplY3RhYmxlKHsgXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnIFxufSlcbmV4cG9ydCBjbGFzcyBQZXBBZGRvbkJsb2NrTG9hZGVyU2VydmljZSB7XG4gICAgXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBQZXBEaWFsb2dTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICAvL1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZEFkZG9uQmxvY2tJbnRlcm5hbChvcHRpb25zOiBJQWRkb25CbG9ja0xvYWRlckRpYWxvZ09wdGlvbnMpOiBDb21wb25lbnRSZWY8UGVwQWRkb25CbG9ja0xvYWRlckNvbXBvbmVudD4gfCBudWxsIHtcbiAgICAgICAgaWYgKG9wdGlvbnMuY29udGFpbmVyICE9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5yZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShQZXBBZGRvbkJsb2NrTG9hZGVyQ29tcG9uZW50KTtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IG9wdGlvbnMuY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcbiAgICAgICAgICAgIGNvbnN0IGFkZG9uQmxvY2tJbnN0YW5jZSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcblxuICAgICAgICAgICAgYWRkb25CbG9ja0luc3RhbmNlLmJsb2NrVHlwZSA9IG9wdGlvbnMuYmxvY2tUeXBlIHx8ICdBZGRvbkJsb2NrJztcbiAgICAgICAgICAgIGFkZG9uQmxvY2tJbnN0YW5jZS5uYW1lID0gb3B0aW9ucy5uYW1lO1xuICAgICAgICAgICAgYWRkb25CbG9ja0luc3RhbmNlLmhvc3RPYmplY3QgPSBvcHRpb25zLmhvc3RPYmplY3Q7XG5cbiAgICAgICAgICAgIGFkZG9uQmxvY2tJbnN0YW5jZS5ob3N0RXZlbnRzLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5ob3N0RXZlbnRzQ2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5ob3N0RXZlbnRzQ2FsbGJhY2soZXZlbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gY29tcG9uZW50UmVmO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsb2FkQWRkb25CbG9ja0luQ29udGFpbmVyKG9wdGlvbnM6IElBZGRvbkJsb2NrTG9hZGVyT3B0aW9ucyk6IENvbXBvbmVudFJlZjxQZXBBZGRvbkJsb2NrTG9hZGVyQ29tcG9uZW50PiB8IG51bGwgIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9hZEFkZG9uQmxvY2tJbnRlcm5hbChvcHRpb25zKTtcbiAgICB9XG5cbiAgICBsb2FkQWRkb25CbG9ja0luRGlhbG9nKG9wdGlvbnM6IElBZGRvbkJsb2NrTG9hZGVyRGlhbG9nT3B0aW9ucyk6IE1hdERpYWxvZ1JlZjxhbnk+IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMubG9hZEFkZG9uQmxvY2tJbnRlcm5hbChvcHRpb25zKTtcbiAgICAgICAgXG4gICAgICAgIGlmIChjb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgIGNvbnN0IGFkZG9uQmxvY2tJbnN0YW5jZSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICAgICAgICAgIGNvbnN0IHBlcENvbmZpZyA9IHRoaXMuZGlhbG9nU2VydmljZS5nZXREaWFsb2dDb25maWcoeyBkaXNhYmxlQ2xvc2U6IGZhbHNlLCBwYW5lbENsYXNzOiAncmVtb3RlLWxvYWRlci1kaWFsb2cnIH0sIG9wdGlvbnMuc2l6ZSB8fCAnZnVsbC1zY3JlZW4nKTtcbiAgICAgICAgICAgIGNvbnN0IG1lcmdlQ29uZmlnID0gey4uLm9wdGlvbnMuY29uZmlnLCAuLi5wZXBDb25maWd9OyBcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBvcHRpb25zLmRhdGEgfHwgbnVsbDtcbiAgICAgICAgICAgIGFkZG9uQmxvY2tJbnN0YW5jZS5kaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbkRpYWxvZyhhZGRvbkJsb2NrSW5zdGFuY2UuZGlhbG9nVGVtcGxhdGUsIGRhdGEsIG1lcmdlQ29uZmlnKTtcbiAgICAgICAgICAgIGFkZG9uQmxvY2tJbnN0YW5jZS5kaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudFJlZi5ob3N0Vmlldy5kZXRhY2goKTtcbiAgICAgICAgICAgICAgICBjb21wb25lbnRSZWYuaG9zdFZpZXcuZGVzdHJveSgpO1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBhZGRvbkJsb2NrSW5zdGFuY2UuZGlhbG9nUmVmO1xuXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
61
+ }], ctorParameters: function () { return [{ type: i1.PepDialogService }]; } });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkb24tYmxvY2stbG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3JlbW90ZS1sb2FkZXIvYWRkb24tYmxvY2stbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEwQyxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFN0YsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQU85RSxNQUFNLE9BQU8sMEJBQTBCO0lBRW5DLFlBQ1ksYUFBK0I7UUFBL0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBRXZDLEVBQUU7SUFDTixDQUFDO0lBRU8sc0JBQXNCLENBQUMsT0FBdUM7UUFDbEUsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLElBQUksRUFBRTtZQUM1QixNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1lBQ3JGLE1BQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztZQUVqRCxrQkFBa0IsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztZQUN2QyxrQkFBa0IsQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUMvQyxrQkFBa0IsQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSxZQUFZLENBQUM7WUFDakUsa0JBQWtCLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7WUFDL0Msa0JBQWtCLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztZQUMxRCxrQkFBa0IsQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztZQUVuRCxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQzlDLElBQUksT0FBTyxDQUFDLGtCQUFrQixFQUFFO29CQUM1QixPQUFPLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ3JDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFFSCxPQUFPLFlBQVksQ0FBQztTQUN2QjthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNMLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxPQUFpQztRQUN2RCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsT0FBdUM7UUFDMUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFELElBQUksWUFBWSxFQUFFO1lBQ2QsTUFBTSxrQkFBa0IsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO1lBQ2pELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsc0JBQXNCLEVBQUUsRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLGFBQWEsQ0FBQyxDQUFDO1lBQ2pKLE1BQU0sV0FBVyxHQUFHLEVBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsU0FBUyxFQUFDLENBQUM7WUFDdEQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7WUFDbEMsa0JBQWtCLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDbkgsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3RELFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQy9CLFlBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2hDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sa0JBQWtCLENBQUMsU0FBUyxDQUFDO1NBRXZDO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0wsQ0FBQzs7dUhBdkRRLDBCQUEwQjsySEFBMUIsMEJBQTBCLGNBRnZCLE1BQU07MkZBRVQsMEJBQTBCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUFkZG9uQmxvY2tMb2FkZXJEaWFsb2dPcHRpb25zLCBJQWRkb25CbG9ja0xvYWRlck9wdGlvbnMsIElCbG9ja0xvYWRlckRhdGEgfSBmcm9tICcuL3JlbW90ZS1sb2FkZXIubW9kZWwnO1xuaW1wb3J0IHsgUGVwQWRkb25CbG9ja0xvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vYWRkb24tYmxvY2stbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgUGVwRGlhbG9nU2VydmljZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2RpYWxvZyc7XG5cbkBJbmplY3RhYmxlKHsgXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnIFxufSlcbmV4cG9ydCBjbGFzcyBQZXBBZGRvbkJsb2NrTG9hZGVyU2VydmljZSB7XG4gICAgXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZGlhbG9nU2VydmljZTogUGVwRGlhbG9nU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgLy9cbiAgICB9XG5cbiAgICBwcml2YXRlIGxvYWRBZGRvbkJsb2NrSW50ZXJuYWwob3B0aW9uczogSUFkZG9uQmxvY2tMb2FkZXJEaWFsb2dPcHRpb25zKTogQ29tcG9uZW50UmVmPFBlcEFkZG9uQmxvY2tMb2FkZXJDb21wb25lbnQ+IHwgbnVsbCB7XG4gICAgICAgIGlmIChvcHRpb25zLmNvbnRhaW5lciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gb3B0aW9ucy5jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KFBlcEFkZG9uQmxvY2tMb2FkZXJDb21wb25lbnQpO1xuICAgICAgICAgICAgY29uc3QgYWRkb25CbG9ja0luc3RhbmNlID0gY29tcG9uZW50UmVmLmluc3RhbmNlO1xuXG4gICAgICAgICAgICBhZGRvbkJsb2NrSW5zdGFuY2UubmFtZSA9IG9wdGlvbnMubmFtZTtcbiAgICAgICAgICAgIGFkZG9uQmxvY2tJbnN0YW5jZS5zbHVnTmFtZSA9IG9wdGlvbnMuc2x1Z05hbWU7XG4gICAgICAgICAgICBhZGRvbkJsb2NrSW5zdGFuY2UuYmxvY2tUeXBlID0gb3B0aW9ucy5ibG9ja1R5cGUgfHwgJ0FkZG9uQmxvY2snO1xuICAgICAgICAgICAgYWRkb25CbG9ja0luc3RhbmNlLmFkZG9uSWQgPSBvcHRpb25zLmFkZG9uVVVJRDtcbiAgICAgICAgICAgIGFkZG9uQmxvY2tJbnN0YW5jZS5yZW1vdGVFbnRyeSA9IG9wdGlvbnMuYmxvY2tSZW1vdGVFbnRyeTtcbiAgICAgICAgICAgIGFkZG9uQmxvY2tJbnN0YW5jZS5ob3N0T2JqZWN0ID0gb3B0aW9ucy5ob3N0T2JqZWN0O1xuXG4gICAgICAgICAgICBhZGRvbkJsb2NrSW5zdGFuY2UuaG9zdEV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuaG9zdEV2ZW50c0NhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuaG9zdEV2ZW50c0NhbGxiYWNrKGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbG9hZEFkZG9uQmxvY2tJbkNvbnRhaW5lcihvcHRpb25zOiBJQWRkb25CbG9ja0xvYWRlck9wdGlvbnMpOiBDb21wb25lbnRSZWY8UGVwQWRkb25CbG9ja0xvYWRlckNvbXBvbmVudD4gfCBudWxsICB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRBZGRvbkJsb2NrSW50ZXJuYWwob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgbG9hZEFkZG9uQmxvY2tJbkRpYWxvZyhvcHRpb25zOiBJQWRkb25CbG9ja0xvYWRlckRpYWxvZ09wdGlvbnMpOiBNYXREaWFsb2dSZWY8YW55PiB8IG51bGwge1xuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmxvYWRBZGRvbkJsb2NrSW50ZXJuYWwob3B0aW9ucyk7XG4gICAgICAgIFxuICAgICAgICBpZiAoY29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgICBjb25zdCBhZGRvbkJsb2NrSW5zdGFuY2UgPSBjb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgICAgICAgICBjb25zdCBwZXBDb25maWcgPSB0aGlzLmRpYWxvZ1NlcnZpY2UuZ2V0RGlhbG9nQ29uZmlnKHsgZGlzYWJsZUNsb3NlOiBmYWxzZSwgcGFuZWxDbGFzczogJ3JlbW90ZS1sb2FkZXItZGlhbG9nJyB9LCBvcHRpb25zLnNpemUgfHwgJ2Z1bGwtc2NyZWVuJyk7XG4gICAgICAgICAgICBjb25zdCBtZXJnZUNvbmZpZyA9IHsuLi5vcHRpb25zLmNvbmZpZywgLi4ucGVwQ29uZmlnfTsgXG4gICAgICAgICAgICBjb25zdCBkYXRhID0gb3B0aW9ucy5kYXRhIHx8IG51bGw7XG4gICAgICAgICAgICBhZGRvbkJsb2NrSW5zdGFuY2UuZGlhbG9nUmVmID0gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW5EaWFsb2coYWRkb25CbG9ja0luc3RhbmNlLmRpYWxvZ1RlbXBsYXRlLCBkYXRhLCBtZXJnZUNvbmZpZyk7XG4gICAgICAgICAgICBhZGRvbkJsb2NrSW5zdGFuY2UuZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnRSZWYuaG9zdFZpZXcuZGV0YWNoKCk7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50UmVmLmhvc3RWaWV3LmRlc3Ryb3koKTtcbiAgICAgICAgICAgICAgICBjb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gYWRkb25CbG9ja0luc3RhbmNlLmRpYWxvZ1JlZjtcblxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -4,7 +4,8 @@
4
4
  export * from './addon-block-loader.component';
5
5
  export * from './addon-block-loader.service';
6
6
  export * from './remote-loader.component';
7
+ export * from './remote-loader-element.component';
7
8
  export * from './remote-loader.module';
8
9
  export * from './remote-loader.model';
9
10
  export * from './remote-loader.service';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcmVtb3RlLWxvYWRlci9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHJlbW90ZS1sb2FkZXJcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9hZGRvbi1ibG9jay1sb2FkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vYWRkb24tYmxvY2stbG9hZGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9yZW1vdGUtbG9hZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3JlbW90ZS1sb2FkZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVtb3RlLWxvYWRlci5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3JlbW90ZS1sb2FkZXIuc2VydmljZSc7XG4iXX0=
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcmVtb3RlLWxvYWRlci9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgcmVtb3RlLWxvYWRlclxuICovXG5leHBvcnQgKiBmcm9tICcuL2FkZG9uLWJsb2NrLWxvYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hZGRvbi1ibG9jay1sb2FkZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlbW90ZS1sb2FkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmVtb3RlLWxvYWRlci1lbGVtZW50LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3JlbW90ZS1sb2FkZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVtb3RlLWxvYWRlci5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3JlbW90ZS1sb2FkZXIuc2VydmljZSc7XG4iXX0=
@@ -0,0 +1,109 @@
1
+ import { Component, EventEmitter, Input, Optional, Output } from '@angular/core';
2
+ import { loadRemoteModule } from '@angular-architects/module-federation';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@pepperi-addons/ngx-lib";
5
+ import * as i2 from "./remote-loader.service";
6
+ import * as i3 from "@angular/router";
7
+ export class PepRemoteLoaderElementComponent {
8
+ constructor(renderer, el, pepAddonService, remoteLoaderService, route) {
9
+ this.renderer = renderer;
10
+ this.el = el;
11
+ this.pepAddonService = pepAddonService;
12
+ this.remoteLoaderService = remoteLoaderService;
13
+ this.route = route;
14
+ this.load = new EventEmitter();
15
+ this.element = null;
16
+ }
17
+ ngOnChanges() {
18
+ if (!this.element)
19
+ return;
20
+ this.populateProps();
21
+ }
22
+ populateProps() {
23
+ for (const prop in this.props) {
24
+ this.element[prop] = this.props[prop];
25
+ }
26
+ }
27
+ setupEvents() {
28
+ for (const event in this.events) {
29
+ this.element.addEventListener(event, this.events[event]);
30
+ }
31
+ }
32
+ async loadOptionsFromRoute() {
33
+ const params = this.route?.snapshot.params;
34
+ const data = this.route?.snapshot.data;
35
+ const blockType = data?.blockType || 'SettingsBlock';
36
+ const slugName = params?.slugName || data?.slugName;
37
+ const blockName = params?.blockName || data?.blockName;
38
+ if (blockName?.length > 0 || (slugName?.length > 0 && blockType === 'SettingsBlock')) {
39
+ const addonUUID = params?.addonUUID || data?.addonUUID || '';
40
+ const blockRemoteEntry = data?.blockRemoteEntry || '';
41
+ this.options = await this.remoteLoaderService.getBlockRemoteLoaderOptions({
42
+ name: blockName,
43
+ slugName,
44
+ blockType,
45
+ addonUUID,
46
+ blockRemoteEntry
47
+ });
48
+ const fileName = `${this.options['remoteName']}.js`;
49
+ if (window.location.search.indexOf('dev=true') > 0) {
50
+ this.options['remoteEntry'] = `http://localhost:4400/${fileName}`;
51
+ }
52
+ // Set the data into the props cause this component is loading from the route.
53
+ this.props = data;
54
+ }
55
+ }
56
+ async ngAfterContentInit() {
57
+ try {
58
+ const t0 = performance.now();
59
+ // If the options is not supplied then we need to get it from the route.
60
+ if (!this.options) {
61
+ await this.loadOptionsFromRoute();
62
+ }
63
+ if (!this.options) {
64
+ throw new Error('No options supplied to the component.');
65
+ }
66
+ else {
67
+ if (this.options?.addonId && (this.options.type === 'module' || this.options.type === 'script')) {
68
+ const lastSlashIndex = this.options.remoteEntry?.lastIndexOf('/') || -1;
69
+ if (lastSlashIndex > 0) {
70
+ const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);
71
+ this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
72
+ }
73
+ }
74
+ await loadRemoteModule(this.options);
75
+ this.element = this.renderer.createElement(this.options.elementName);
76
+ this.populateProps();
77
+ this.setupEvents();
78
+ this.renderer.appendChild(this.el.nativeElement, this.element);
79
+ const t1 = performance.now();
80
+ console.log('remote module wc load performance: ' + (t1 - t0) / 1000);
81
+ this.load.emit();
82
+ }
83
+ }
84
+ catch (error) {
85
+ console.error(error);
86
+ }
87
+ }
88
+ }
89
+ PepRemoteLoaderElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderElementComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.PepAddonService }, { token: i2.PepRemoteLoaderService }, { token: i3.ActivatedRoute, optional: true }], target: i0.ɵɵFactoryTarget.Component });
90
+ PepRemoteLoaderElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepRemoteLoaderElementComponent, selector: "pep-remote-loader-element", inputs: { options: "options", props: "props", events: "events" }, outputs: { load: "load" }, usesOnChanges: true, ngImport: i0, template: `
91
+ <!--<div #vc style="height: inherit;"></div>-->
92
+ `, isInline: true, styles: [":host{width:100%;height:inherit}:host::ng-deep>*{height:inherit}\n"] });
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderElementComponent, decorators: [{
94
+ type: Component,
95
+ args: [{ selector: 'pep-remote-loader-element', template: `
96
+ <!--<div #vc style="height: inherit;"></div>-->
97
+ `, styles: [":host{width:100%;height:inherit}:host::ng-deep>*{height:inherit}\n"] }]
98
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.PepAddonService }, { type: i2.PepRemoteLoaderService }, { type: i3.ActivatedRoute, decorators: [{
99
+ type: Optional
100
+ }] }]; }, propDecorators: { options: [{
101
+ type: Input
102
+ }], props: [{
103
+ type: Input
104
+ }], events: [{
105
+ type: Input
106
+ }], load: [{
107
+ type: Output
108
+ }] } });
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci1lbGVtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcmVtb3RlLWxvYWRlci9yZW1vdGUtbG9hZGVyLWVsZW1lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQWEsUUFBUSxFQUFFLE1BQU0sRUFBMEMsTUFBTSxlQUFlLENBQUM7QUFFbEssT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7O0FBaUJ6RSxNQUFNLE9BQU8sK0JBQStCO0lBU3hDLFlBQ1ksUUFBbUIsRUFDbkIsRUFBYSxFQUNiLGVBQWdDLEVBQ2hDLG1CQUEyQyxFQUMvQixLQUFxQjtRQUpqQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQVc7UUFDYixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF3QjtRQUMvQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQVRuQyxTQUFJLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFeEQsWUFBTyxHQUFnQixJQUFJLENBQUM7SUFVNUIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRTFCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU8sYUFBYTtRQUNqQixLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pDO0lBQ0wsQ0FBQztJQUVPLFdBQVc7UUFDZixLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQzVEO0lBQ0wsQ0FBQztJQUVPLEtBQUssQ0FBQyxvQkFBb0I7UUFDOUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQzNDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QyxNQUFNLFNBQVMsR0FBRyxJQUFJLEVBQUUsU0FBUyxJQUFJLGVBQWUsQ0FBQztRQUVyRCxNQUFNLFFBQVEsR0FBRyxNQUFNLEVBQUUsUUFBUSxJQUFJLElBQUksRUFBRSxRQUFRLENBQUM7UUFDcEQsTUFBTSxTQUFTLEdBQUcsTUFBTSxFQUFFLFNBQVMsSUFBSSxJQUFJLEVBQUUsU0FBUyxDQUFDO1FBRXZELElBQUksU0FBUyxFQUFFLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLENBQUMsSUFBSSxTQUFTLEtBQUssZUFBZSxDQUFDLEVBQUU7WUFDbEYsTUFBTSxTQUFTLEdBQUcsTUFBTSxFQUFFLFNBQVMsSUFBSSxJQUFJLEVBQUUsU0FBUyxJQUFJLEVBQUUsQ0FBQztZQUM3RCxNQUFNLGdCQUFnQixHQUFHLElBQUksRUFBRSxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7WUFFdEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQywyQkFBMkIsQ0FBQztnQkFDdEUsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsUUFBUTtnQkFDUixTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsZ0JBQWdCO2FBQ25CLENBQUMsQ0FBQztZQUVILE1BQU0sUUFBUSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1lBRXBELElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyx5QkFBeUIsUUFBUSxFQUFFLENBQUM7YUFDckU7WUFFRCw4RUFBOEU7WUFDOUUsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7U0FDckI7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLGtCQUFrQjtRQUNwQixJQUFJO1lBQ0EsTUFBTSxFQUFFLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBRTdCLHdFQUF3RTtZQUN4RSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDZixNQUFNLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQ3JDO1lBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO2FBQzVEO2lCQUFNO2dCQUNILElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLEVBQUU7b0JBQzdGLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztvQkFFeEUsSUFBSSxjQUFjLEdBQUcsQ0FBQyxFQUFFO3dCQUNwQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLGNBQWMsR0FBRyxDQUFDLENBQUMsQ0FBQzt3QkFDN0UsSUFBSSxDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztxQkFDL0U7aUJBQ0o7Z0JBRUQsTUFBTSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBRXJDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDckUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBRW5CLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFFL0QsTUFBTSxFQUFFLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLHFDQUFxQyxHQUFHLENBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQyxHQUFDLElBQUksQ0FBQyxDQUFDO2dCQUVsRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ3BCO1NBQ0o7UUFDRCxPQUFNLEtBQUssRUFBRTtZQUNULE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDeEI7SUFDTCxDQUFDOzs0SEExR1EsK0JBQStCO2dIQUEvQiwrQkFBK0IsbUxBVjlCOztLQUVUOzJGQVFRLCtCQUErQjtrQkFaM0MsU0FBUzsrQkFDSSwyQkFBMkIsWUFDM0I7O0tBRVQ7OzBCQXNCSSxRQUFROzRDQWJKLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUVJLElBQUk7c0JBQWIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPcHRpb25hbCwgT3V0cHV0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgbG9hZFJlbW90ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyLWFyY2hpdGVjdHMvbW9kdWxlLWZlZGVyYXRpb24nO1xuaW1wb3J0IHsgUGVwQWRkb25TZXJ2aWNlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgUGVwUmVtb3RlTG9hZGVyT3B0aW9ucyB9IGZyb20gJy4vcmVtb3RlLWxvYWRlci5tb2RlbCc7XG5pbXBvcnQgeyBQZXBSZW1vdGVMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi9yZW1vdGUtbG9hZGVyLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1yZW1vdGUtbG9hZGVyLWVsZW1lbnQnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDwhLS08ZGl2ICN2YyBzdHlsZT1cImhlaWdodDogaW5oZXJpdDtcIj48L2Rpdj4tLT5cbiAgICBgLFxuICAgIHN0eWxlczogW2BcbiAgICAgICAgOmhvc3QgeyB3aWR0aDoxMDAlOyBoZWlnaHQ6IGluaGVyaXQgfVxuICAgICAgICA6aG9zdDo6bmctZGVlcCA+ICoge1xuICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgYF0sXG59KVxuZXhwb3J0IGNsYXNzIFBlcFJlbW90ZUxvYWRlckVsZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpIG9wdGlvbnM6IFBlcFJlbW90ZUxvYWRlck9wdGlvbnM7XG4gICAgQElucHV0KCkgcHJvcHM6IHsgW3Byb3A6IHN0cmluZ106IHVua25vd24gfTtcbiAgICBASW5wdXQoKSBldmVudHM6IHsgW2V2ZW50OiBzdHJpbmddOiAoZXZlbnQ6IEV2ZW50KSA9PiB2b2lkIH07XG5cbiAgICBAT3V0cHV0KCkgbG9hZDogRXZlbnRFbWl0dGVyPGFueT4gPSAgbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgZWxlbWVudDogSFRNTEVsZW1lbnQgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBlbDpFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHBlcEFkZG9uU2VydmljZTogUGVwQWRkb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlbW90ZUxvYWRlclNlcnZpY2U6IFBlcFJlbW90ZUxvYWRlclNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlXG4gICAgKSB7IFxuXG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5lbGVtZW50KSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5wb3B1bGF0ZVByb3BzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwb3B1bGF0ZVByb3BzKCkge1xuICAgICAgICBmb3IgKGNvbnN0IHByb3AgaW4gdGhpcy5wcm9wcykge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50W3Byb3BdID0gdGhpcy5wcm9wc1twcm9wXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBFdmVudHMoKSB7XG4gICAgICAgIGZvciAoY29uc3QgZXZlbnQgaW4gdGhpcy5ldmVudHMpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCB0aGlzLmV2ZW50c1tldmVudF0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBsb2FkT3B0aW9uc0Zyb21Sb3V0ZSgpIHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5yb3V0ZT8uc25hcHNob3QucGFyYW1zO1xuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5yb3V0ZT8uc25hcHNob3QuZGF0YTtcbiAgICAgICAgY29uc3QgYmxvY2tUeXBlID0gZGF0YT8uYmxvY2tUeXBlIHx8ICdTZXR0aW5nc0Jsb2NrJztcblxuICAgICAgICBjb25zdCBzbHVnTmFtZSA9IHBhcmFtcz8uc2x1Z05hbWUgfHwgZGF0YT8uc2x1Z05hbWU7XG4gICAgICAgIGNvbnN0IGJsb2NrTmFtZSA9IHBhcmFtcz8uYmxvY2tOYW1lIHx8IGRhdGE/LmJsb2NrTmFtZTtcbiAgICAgICAgXG4gICAgICAgIGlmIChibG9ja05hbWU/Lmxlbmd0aCA+IDAgfHwgKHNsdWdOYW1lPy5sZW5ndGggPiAwICYmIGJsb2NrVHlwZSA9PT0gJ1NldHRpbmdzQmxvY2snKSkge1xuICAgICAgICAgICAgY29uc3QgYWRkb25VVUlEID0gcGFyYW1zPy5hZGRvblVVSUQgfHwgZGF0YT8uYWRkb25VVUlEIHx8ICcnO1xuICAgICAgICAgICAgY29uc3QgYmxvY2tSZW1vdGVFbnRyeSA9IGRhdGE/LmJsb2NrUmVtb3RlRW50cnkgfHwgJyc7XG5cbiAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IGF3YWl0IHRoaXMucmVtb3RlTG9hZGVyU2VydmljZS5nZXRCbG9ja1JlbW90ZUxvYWRlck9wdGlvbnMoe1xuICAgICAgICAgICAgICAgIG5hbWU6IGJsb2NrTmFtZSxcbiAgICAgICAgICAgICAgICBzbHVnTmFtZSxcbiAgICAgICAgICAgICAgICBibG9ja1R5cGUsXG4gICAgICAgICAgICAgICAgYWRkb25VVUlELFxuICAgICAgICAgICAgICAgIGJsb2NrUmVtb3RlRW50cnlcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGAke3RoaXMub3B0aW9uc1sncmVtb3RlTmFtZSddfS5qc2A7XG5cbiAgICAgICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24uc2VhcmNoLmluZGV4T2YoJ2Rldj10cnVlJykgPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zWydyZW1vdGVFbnRyeSddID0gYGh0dHA6Ly9sb2NhbGhvc3Q6NDQwMC8ke2ZpbGVOYW1lfWA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNldCB0aGUgZGF0YSBpbnRvIHRoZSBwcm9wcyBjYXVzZSB0aGlzIGNvbXBvbmVudCBpcyBsb2FkaW5nIGZyb20gdGhlIHJvdXRlLlxuICAgICAgICAgICAgdGhpcy5wcm9wcyA9IGRhdGE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB0MCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuXG4gICAgICAgICAgICAvLyBJZiB0aGUgb3B0aW9ucyBpcyBub3Qgc3VwcGxpZWQgdGhlbiB3ZSBuZWVkIHRvIGdldCBpdCBmcm9tIHRoZSByb3V0ZS5cbiAgICAgICAgICAgIGlmICghdGhpcy5vcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2FkT3B0aW9uc0Zyb21Sb3V0ZSgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIXRoaXMub3B0aW9ucykge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gb3B0aW9ucyBzdXBwbGllZCB0byB0aGUgY29tcG9uZW50LicpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zPy5hZGRvbklkICYmICh0aGlzLm9wdGlvbnMudHlwZSA9PT0gJ21vZHVsZScgfHwgdGhpcy5vcHRpb25zLnR5cGUgPT09ICdzY3JpcHQnKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXN0U2xhc2hJbmRleCA9IHRoaXMub3B0aW9ucy5yZW1vdGVFbnRyeT8ubGFzdEluZGV4T2YoJy8nKSB8fCAtMTtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIGlmIChsYXN0U2xhc2hJbmRleCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHB1YmxpY1BhdGggPSB0aGlzLm9wdGlvbnMucmVtb3RlRW50cnkuc3Vic3RyaW5nKDAsIGxhc3RTbGFzaEluZGV4ICsgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBlcEFkZG9uU2VydmljZS5zZXRBZGRvblN0YXRpY0ZvbGRlcihwdWJsaWNQYXRoLCB0aGlzLm9wdGlvbnMuYWRkb25JZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgYXdhaXQgbG9hZFJlbW90ZU1vZHVsZSh0aGlzLm9wdGlvbnMpO1xuICAgIFxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCh0aGlzLm9wdGlvbnMuZWxlbWVudE5hbWUpO1xuICAgICAgICAgICAgICAgIHRoaXMucG9wdWxhdGVQcm9wcygpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0dXBFdmVudHMoKTtcbiAgICBcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgdGhpcy5lbGVtZW50KTtcbiAgICBcbiAgICAgICAgICAgICAgICBjb25zdCB0MSA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdyZW1vdGUgbW9kdWxlIHdjIGxvYWQgcGVyZm9ybWFuY2U6ICcgKyAodDEtdDApLzEwMDApO1xuICAgIFxuICAgICAgICAgICAgICAgIHRoaXMubG9hZC5lbWl0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2goZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxufSJdfQ==