@pepperi-addons/ngx-lib 0.4.2-beta.31 → 0.4.2-beta.310

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 (408) hide show
  1. package/README.md +35 -0
  2. package/address/address.component.d.ts +9 -2
  3. package/attachment/attachment.component.d.ts +3 -1
  4. package/carousel/carousel.component.d.ts +3 -2
  5. package/checkbox/checkbox.component.d.ts +8 -1
  6. package/chips/chips.component.d.ts +4 -7
  7. package/chips/chips.service.d.ts +0 -3
  8. package/core/common/directives/base-destroyer.directive.d.ts +10 -0
  9. package/core/common/directives/public-api.d.ts +1 -0
  10. package/core/common/pipes/common-pipes.d.ts +5 -2
  11. package/core/common/services/addon.service.d.ts +6 -4
  12. package/core/common/services/file.service.d.ts +7 -2
  13. package/core/common/services/session.service.d.ts +2 -0
  14. package/core/common/services/utilities.service.d.ts +4 -4
  15. package/core/customization/customization.model.d.ts +4 -1
  16. package/core/customization/customization.service.d.ts +4 -0
  17. package/date/date.component.d.ts +4 -2
  18. package/draggable-items/draggable-item/draggable-item.component.d.ts +16 -2
  19. package/draggable-items/draggable-items.component.d.ts +3 -6
  20. package/draggable-items/draggable-items.module.d.ts +4 -3
  21. package/elements/README.md +256 -0
  22. package/esm2020/address/address.component.mjs +93 -5
  23. package/esm2020/assets/i18n/ar.ngx-lib.json +180 -0
  24. package/esm2020/assets/i18n/de.ngx-lib.json +180 -0
  25. package/esm2020/assets/i18n/en.ngx-lib.json +186 -0
  26. package/esm2020/assets/i18n/es.ngx-lib.json +180 -0
  27. package/esm2020/assets/i18n/fr.ngx-lib.json +180 -0
  28. package/esm2020/assets/i18n/he.ngx-lib.json +180 -0
  29. package/esm2020/assets/i18n/hu.ngx-lib.json +79 -0
  30. package/esm2020/assets/i18n/it.ngx-lib.json +180 -0
  31. package/esm2020/assets/i18n/ja.ngx-lib.json +180 -0
  32. package/esm2020/assets/i18n/nl.ngx-lib.json +79 -0
  33. package/esm2020/assets/i18n/pl.ngx-lib.json +180 -0
  34. package/esm2020/assets/i18n/pt.ngx-lib.json +180 -0
  35. package/esm2020/assets/i18n/ru.ngx-lib.json +79 -0
  36. package/esm2020/assets/i18n/sr.ngx-lib.json +180 -0
  37. package/esm2020/assets/i18n/zh.ngx-lib.json +180 -0
  38. package/esm2020/attachment/attachment.component.mjs +16 -6
  39. package/esm2020/carousel/carousel.component.mjs +14 -4
  40. package/esm2020/checkbox/checkbox.component.mjs +37 -3
  41. package/esm2020/chips/chips.component.mjs +11 -16
  42. package/esm2020/chips/chips.service.mjs +2 -11
  43. package/esm2020/color/color-picker.component.mjs +3 -3
  44. package/esm2020/color/color.component.mjs +3 -3
  45. package/esm2020/core/common/directives/base-destroyer.directive.mjs +22 -0
  46. package/esm2020/core/common/directives/public-api.mjs +2 -1
  47. package/esm2020/core/common/pipes/common-pipes.mjs +18 -8
  48. package/esm2020/core/common/services/addon.service.mjs +31 -7
  49. package/esm2020/core/common/services/data-convertor.service.mjs +3 -3
  50. package/esm2020/core/common/services/file.service.mjs +57 -20
  51. package/esm2020/core/common/services/session.service.mjs +5 -1
  52. package/esm2020/core/common/services/utilities.service.mjs +7 -7
  53. package/esm2020/core/customization/customization.model.mjs +46 -10
  54. package/esm2020/core/customization/customization.service.mjs +29 -1
  55. package/esm2020/core/http/services/http.service.mjs +17 -8
  56. package/esm2020/core/http/services/loader.service.mjs +3 -3
  57. package/esm2020/date/date.component.mjs +35 -13
  58. package/esm2020/dialog/dialog.component.mjs +3 -3
  59. package/esm2020/draggable-items/draggable-item/draggable-item.component.mjs +44 -4
  60. package/esm2020/draggable-items/draggable-items.component.mjs +7 -15
  61. package/esm2020/draggable-items/draggable-items.module.mjs +5 -1
  62. package/esm2020/field-title/field-title.component.mjs +6 -3
  63. package/esm2020/files-uploader/files-uploader.component.mjs +23 -32
  64. package/esm2020/form/field-generator.component.mjs +3 -3
  65. package/esm2020/form/form.component.mjs +7 -4
  66. package/esm2020/form/internal-button.component.mjs +2 -2
  67. package/esm2020/form/internal-carusel.component.mjs +10 -6
  68. package/esm2020/form/internal-field-generator.component.mjs +3 -3
  69. package/esm2020/form/internal-form.component.mjs +5 -3
  70. package/esm2020/form/internal-list.component.mjs +2 -2
  71. package/esm2020/form/internal-menu.component.mjs +4 -6
  72. package/esm2020/form/internal-page.component.mjs +3 -4
  73. package/esm2020/group-buttons/group-buttons.component.mjs +2 -2
  74. package/esm2020/icon/icon.component.mjs +36 -6
  75. package/esm2020/icon/icon.service.mjs +5 -1
  76. package/esm2020/image/image.component.mjs +15 -3
  77. package/esm2020/image/image.service.mjs +2 -4
  78. package/esm2020/images-filmstrip/images-filmstrip.component.mjs +99 -25
  79. package/esm2020/json-editor/json-editor.component.mjs +288 -0
  80. package/esm2020/json-editor/json-editor.module.mjs +83 -0
  81. package/esm2020/json-editor/json-tree-node.component.mjs +32 -0
  82. package/esm2020/json-editor/pepperi-addons-ngx-lib-json-editor.mjs +5 -0
  83. package/esm2020/json-editor/public-api.mjs +6 -0
  84. package/esm2020/lib/i18n/embedded-i18n.mjs +33 -0
  85. package/esm2020/link/link.component.mjs +25 -4
  86. package/esm2020/list/list-actions.component.mjs +1 -1
  87. package/esm2020/list/list-chooser.component.mjs +1 -1
  88. package/esm2020/list/list-pager.component.mjs +1 -1
  89. package/esm2020/list/list-sorting.component.mjs +1 -1
  90. package/esm2020/list/list-total.component.mjs +6 -3
  91. package/esm2020/list/list-views.component.mjs +1 -1
  92. package/esm2020/list/list.component.mjs +230 -37
  93. package/esm2020/list/list.model.mjs +1 -1
  94. package/esm2020/menu/menu-item.component.mjs +3 -3
  95. package/esm2020/menu/menu.component.mjs +6 -3
  96. package/esm2020/menu/menu.model.mjs +2 -1
  97. package/esm2020/page-layout/page-layout.component.mjs +28 -7
  98. package/esm2020/profile-data-views-list/profile-data-view/profile-data-view.component.mjs +1 -1
  99. package/esm2020/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.mjs +25 -9
  100. package/esm2020/profile-data-views-list/profile-data-views-list.component.mjs +58 -26
  101. package/esm2020/profile-data-views-list/profile-data-views-list.model.mjs +1 -1
  102. package/esm2020/public-api.mjs +2 -1
  103. package/esm2020/quantity-selector/quantity-selector.component.mjs +67 -33
  104. package/esm2020/query-builder/common/model/legacy.mjs +1 -1
  105. package/esm2020/query-builder/common/model/operator.mjs +73 -63
  106. package/esm2020/query-builder/common/services/output-query.service.mjs +5 -3
  107. package/esm2020/query-builder/common/services/query-structure.service.mjs +34 -2
  108. package/esm2020/query-builder/query-builder-item/query-builder-item.component.mjs +14 -12
  109. package/esm2020/query-builder/query-builder-section/query-builder-section.component.mjs +3 -3
  110. package/esm2020/query-builder/query-builder.module.mjs +14 -3
  111. package/esm2020/query-builder/query-builder.service.mjs +2 -2
  112. package/esm2020/remote-loader/addon-block-loader.component.mjs +26 -16
  113. package/esm2020/remote-loader/addon-block-loader.service.mjs +5 -2
  114. package/esm2020/remote-loader/remote-loader-element.component.mjs +81 -27
  115. package/esm2020/remote-loader/remote-loader.component.mjs +1 -3
  116. package/esm2020/remote-loader/remote-loader.model.mjs +1 -1
  117. package/esm2020/remote-loader/remote-loader.service.mjs +49 -26
  118. package/esm2020/reset-configuration-field/pepperi-addons-ngx-lib-reset-configuration-field.mjs +5 -0
  119. package/esm2020/reset-configuration-field/public-api.mjs +3 -0
  120. package/esm2020/reset-configuration-field/reset-configuration-field.component.mjs +55 -0
  121. package/esm2020/reset-configuration-field/reset-configuration-field.module.mjs +36 -0
  122. package/esm2020/rich-html-textarea/rich-html-textarea.component.mjs +19 -3
  123. package/esm2020/search/search.component.mjs +43 -16
  124. package/esm2020/select/select.component.mjs +124 -53
  125. package/esm2020/select-panel/select-panel.component.mjs +4 -6
  126. package/esm2020/side-bar/side-bar.component.mjs +18 -4
  127. package/esm2020/signature/public-api.mjs +2 -1
  128. package/esm2020/signature/signature-dialog.component.mjs +79 -0
  129. package/esm2020/signature/signature.component.mjs +84 -68
  130. package/esm2020/signature/signature.module.mjs +6 -5
  131. package/esm2020/size-detector/size-detector.component.mjs +16 -6
  132. package/esm2020/skeleton-loader/public-api.mjs +2 -2
  133. package/esm2020/skeleton-loader/skeleton-loader.component.mjs +33 -9
  134. package/esm2020/slider/slider.component.mjs +2 -2
  135. package/esm2020/smart-filters/boolean-filter/boolean-filter.component.mjs +1 -1
  136. package/esm2020/smart-filters/common/model/base-filter-component.mjs +5 -11
  137. package/esm2020/smart-filters/common/model/operator.mjs +15 -6
  138. package/esm2020/smart-filters/common/model/type.mjs +1 -1
  139. package/esm2020/smart-filters/date-filter/date-filter.component.mjs +1 -1
  140. package/esm2020/smart-filters/multi-select-filter/multi-select-filter.component.mjs +3 -3
  141. package/esm2020/smart-filters/number-filter/number-filter.component.mjs +3 -3
  142. package/esm2020/smart-filters/smart-filters.component.mjs +2 -2
  143. package/esm2020/smart-filters/text-filter/text-filter.component.mjs +27 -7
  144. package/esm2020/snack-bar/snack-bar.component.mjs +19 -4
  145. package/esm2020/textarea/textarea.component.mjs +12 -3
  146. package/esm2020/textbox/textbox-validation.directive.mjs +2 -4
  147. package/esm2020/textbox/textbox.component.mjs +85 -10
  148. package/esm2020/textbox-icon/textbox-icon.component.mjs +3 -3
  149. package/esm2020/top-bar/top-bar.component.mjs +26 -15
  150. package/fesm2015/pepperi-addons-ngx-lib-address.mjs +92 -5
  151. package/fesm2015/pepperi-addons-ngx-lib-address.mjs.map +1 -1
  152. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs +15 -5
  153. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  154. package/fesm2015/pepperi-addons-ngx-lib-carousel.mjs +13 -3
  155. package/fesm2015/pepperi-addons-ngx-lib-carousel.mjs.map +1 -1
  156. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs +37 -2
  157. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
  158. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs +11 -25
  159. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
  160. package/fesm2015/pepperi-addons-ngx-lib-color.mjs +4 -4
  161. package/fesm2015/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  162. package/fesm2015/pepperi-addons-ngx-lib-date.mjs +35 -12
  163. package/fesm2015/pepperi-addons-ngx-lib-date.mjs.map +1 -1
  164. package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs +2 -2
  165. package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs.map +1 -1
  166. package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs +54 -19
  167. package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -1
  168. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs +5 -2
  169. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
  170. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs +22 -31
  171. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -1
  172. package/fesm2015/pepperi-addons-ngx-lib-form.mjs +31 -25
  173. package/fesm2015/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  174. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs +2 -2
  175. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
  176. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs +40 -5
  177. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
  178. package/fesm2015/pepperi-addons-ngx-lib-image.mjs +15 -5
  179. package/fesm2015/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  180. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs +101 -24
  181. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
  182. package/fesm2015/pepperi-addons-ngx-lib-json-editor.mjs +407 -0
  183. package/fesm2015/pepperi-addons-ngx-lib-json-editor.mjs.map +1 -0
  184. package/fesm2015/pepperi-addons-ngx-lib-link.mjs +24 -3
  185. package/fesm2015/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  186. package/fesm2015/pepperi-addons-ngx-lib-list.mjs +241 -43
  187. package/fesm2015/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  188. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs +8 -4
  189. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  190. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs +27 -6
  191. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
  192. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs +81 -33
  193. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
  194. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs +66 -31
  195. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  196. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs +140 -81
  197. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  198. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs +169 -83
  199. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  200. package/fesm2015/pepperi-addons-ngx-lib-reset-configuration-field.mjs +95 -0
  201. package/fesm2015/pepperi-addons-ngx-lib-reset-configuration-field.mjs.map +1 -0
  202. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs +18 -2
  203. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
  204. package/fesm2015/pepperi-addons-ngx-lib-search.mjs +45 -15
  205. package/fesm2015/pepperi-addons-ngx-lib-search.mjs.map +1 -1
  206. package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs +3 -5
  207. package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -1
  208. package/fesm2015/pepperi-addons-ngx-lib-select.mjs +123 -51
  209. package/fesm2015/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  210. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs +17 -3
  211. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
  212. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +173 -81
  213. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
  214. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs +15 -5
  215. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
  216. package/fesm2015/pepperi-addons-ngx-lib-skeleton-loader.mjs +33 -9
  217. package/fesm2015/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -1
  218. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs +2 -2
  219. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
  220. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs +53 -30
  221. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  222. package/fesm2015/pepperi-addons-ngx-lib-snack-bar.mjs +18 -3
  223. package/fesm2015/pepperi-addons-ngx-lib-snack-bar.mjs.map +1 -1
  224. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs +11 -2
  225. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
  226. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs +2 -2
  227. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
  228. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs +87 -12
  229. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  230. package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs +26 -15
  231. package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -1
  232. package/fesm2015/pepperi-addons-ngx-lib.mjs +3420 -577
  233. package/fesm2015/pepperi-addons-ngx-lib.mjs.map +1 -1
  234. package/fesm2020/pepperi-addons-ngx-lib-address.mjs +92 -5
  235. package/fesm2020/pepperi-addons-ngx-lib-address.mjs.map +1 -1
  236. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs +15 -5
  237. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  238. package/fesm2020/pepperi-addons-ngx-lib-carousel.mjs +13 -3
  239. package/fesm2020/pepperi-addons-ngx-lib-carousel.mjs.map +1 -1
  240. package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs +36 -2
  241. package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
  242. package/fesm2020/pepperi-addons-ngx-lib-chips.mjs +11 -25
  243. package/fesm2020/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
  244. package/fesm2020/pepperi-addons-ngx-lib-color.mjs +4 -4
  245. package/fesm2020/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  246. package/fesm2020/pepperi-addons-ngx-lib-date.mjs +34 -12
  247. package/fesm2020/pepperi-addons-ngx-lib-date.mjs.map +1 -1
  248. package/fesm2020/pepperi-addons-ngx-lib-dialog.mjs +2 -2
  249. package/fesm2020/pepperi-addons-ngx-lib-dialog.mjs.map +1 -1
  250. package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs +54 -19
  251. package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -1
  252. package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs +5 -2
  253. package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
  254. package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs +22 -31
  255. package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -1
  256. package/fesm2020/pepperi-addons-ngx-lib-form.mjs +31 -25
  257. package/fesm2020/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  258. package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs +2 -2
  259. package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
  260. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs +39 -5
  261. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
  262. package/fesm2020/pepperi-addons-ngx-lib-image.mjs +15 -5
  263. package/fesm2020/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  264. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs +98 -24
  265. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
  266. package/fesm2020/pepperi-addons-ngx-lib-json-editor.mjs +403 -0
  267. package/fesm2020/pepperi-addons-ngx-lib-json-editor.mjs.map +1 -0
  268. package/fesm2020/pepperi-addons-ngx-lib-link.mjs +24 -3
  269. package/fesm2020/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  270. package/fesm2020/pepperi-addons-ngx-lib-list.mjs +238 -42
  271. package/fesm2020/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  272. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs +8 -4
  273. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  274. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs +27 -6
  275. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
  276. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs +81 -33
  277. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
  278. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs +65 -31
  279. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  280. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs +136 -80
  281. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  282. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs +157 -69
  283. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  284. package/fesm2020/pepperi-addons-ngx-lib-reset-configuration-field.mjs +95 -0
  285. package/fesm2020/pepperi-addons-ngx-lib-reset-configuration-field.mjs.map +1 -0
  286. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs +18 -2
  287. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
  288. package/fesm2020/pepperi-addons-ngx-lib-search.mjs +42 -15
  289. package/fesm2020/pepperi-addons-ngx-lib-search.mjs.map +1 -1
  290. package/fesm2020/pepperi-addons-ngx-lib-select-panel.mjs +3 -5
  291. package/fesm2020/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -1
  292. package/fesm2020/pepperi-addons-ngx-lib-select.mjs +122 -51
  293. package/fesm2020/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  294. package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs +17 -3
  295. package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
  296. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs +169 -81
  297. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
  298. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs +15 -5
  299. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
  300. package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs +33 -9
  301. package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -1
  302. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs +2 -2
  303. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
  304. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs +53 -30
  305. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  306. package/fesm2020/pepperi-addons-ngx-lib-snack-bar.mjs +18 -3
  307. package/fesm2020/pepperi-addons-ngx-lib-snack-bar.mjs.map +1 -1
  308. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs +11 -2
  309. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
  310. package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs +2 -2
  311. package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
  312. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs +85 -12
  313. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  314. package/fesm2020/pepperi-addons-ngx-lib-top-bar.mjs +25 -14
  315. package/fesm2020/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -1
  316. package/fesm2020/pepperi-addons-ngx-lib.mjs +3416 -574
  317. package/fesm2020/pepperi-addons-ngx-lib.mjs.map +1 -1
  318. package/field-title/field-title.component.d.ts +2 -1
  319. package/files-uploader/files-uploader.component.d.ts +4 -2
  320. package/form/internal-carusel.component.d.ts +1 -0
  321. package/form/internal-menu.component.d.ts +1 -2
  322. package/icon/icon.component.d.ts +4 -0
  323. package/image/image.component.d.ts +3 -1
  324. package/images-filmstrip/images-filmstrip.component.d.ts +24 -8
  325. package/json-editor/index.d.ts +5 -0
  326. package/json-editor/json-editor.component.d.ts +75 -0
  327. package/json-editor/json-editor.component.theme.scss +5 -0
  328. package/json-editor/json-editor.module.d.ts +24 -0
  329. package/json-editor/json-tree-node.component.d.ts +18 -0
  330. package/json-editor/public-api.d.ts +2 -0
  331. package/lib/i18n/embedded-i18n.d.ts +1 -0
  332. package/link/link.component.d.ts +7 -2
  333. package/list/list-total.component.d.ts +2 -1
  334. package/list/list.component.d.ts +21 -5
  335. package/list/list.model.d.ts +2 -1
  336. package/menu/menu.component.d.ts +2 -1
  337. package/menu/menu.model.d.ts +1 -0
  338. package/package.json +18 -2
  339. package/page-layout/page-layout.component.d.ts +8 -2
  340. package/profile-data-views-list/profile-data-view/profile-data-view.component.d.ts +3 -3
  341. package/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.d.ts +5 -4
  342. package/profile-data-views-list/profile-data-views-list.component.d.ts +13 -10
  343. package/profile-data-views-list/profile-data-views-list.model.d.ts +8 -0
  344. package/public-api.d.ts +1 -0
  345. package/quantity-selector/quantity-selector.component.d.ts +9 -9
  346. package/query-builder/common/model/legacy.d.ts +2 -0
  347. package/query-builder/common/model/operator.d.ts +11 -1
  348. package/query-builder/common/services/query-structure.service.d.ts +1 -0
  349. package/query-builder/query-builder-item/query-builder-item.component.d.ts +3 -1
  350. package/query-builder/query-builder.module.d.ts +7 -3
  351. package/remote-loader/addon-block-loader.component.d.ts +4 -2
  352. package/remote-loader/remote-loader-element.component.d.ts +8 -1
  353. package/remote-loader/remote-loader.model.d.ts +1 -0
  354. package/remote-loader/remote-loader.service.d.ts +3 -1
  355. package/reset-configuration-field/index.d.ts +5 -0
  356. package/reset-configuration-field/public-api.d.ts +2 -0
  357. package/reset-configuration-field/reset-configuration-field.component.d.ts +23 -0
  358. package/reset-configuration-field/reset-configuration-field.module.d.ts +12 -0
  359. package/rich-html-textarea/rich-html-textarea.component.d.ts +4 -1
  360. package/rich-html-textarea/rich-html-textarea.component.theme.scss +4 -2
  361. package/search/search.component.d.ts +9 -3
  362. package/select/select.component.d.ts +18 -2
  363. package/select-panel/select-panel.component.d.ts +1 -2
  364. package/side-bar/side-bar.component.d.ts +4 -1
  365. package/signature/public-api.d.ts +1 -0
  366. package/signature/signature-dialog.component.d.ts +29 -0
  367. package/signature/signature.component.d.ts +3 -13
  368. package/signature/signature.module.d.ts +16 -15
  369. package/size-detector/size-detector.component.d.ts +6 -3
  370. package/skeleton-loader/skeleton-loader.component.d.ts +15 -7
  371. package/slider/slider.component.theme.scss +4 -0
  372. package/smart-filters/boolean-filter/boolean-filter.component.d.ts +3 -0
  373. package/smart-filters/common/model/base-filter-component.d.ts +2 -4
  374. package/smart-filters/common/model/operator.d.ts +3 -0
  375. package/smart-filters/common/model/type.d.ts +1 -1
  376. package/smart-filters/date-filter/date-filter.component.d.ts +3 -0
  377. package/smart-filters/multi-select-filter/multi-select-filter.component.d.ts +3 -0
  378. package/smart-filters/number-filter/number-filter.component.d.ts +3 -0
  379. package/smart-filters/text-filter/text-filter.component.d.ts +4 -0
  380. package/snack-bar/snack-bar.component.d.ts +9 -4
  381. package/src/assets/i18n/ar.ngx-lib.json +180 -0
  382. package/src/assets/i18n/de.ngx-lib.json +106 -4
  383. package/src/assets/i18n/en.ngx-lib.json +14 -3
  384. package/src/assets/i18n/es.ngx-lib.json +113 -11
  385. package/src/assets/i18n/fr.ngx-lib.json +105 -4
  386. package/src/assets/i18n/he.ngx-lib.json +105 -4
  387. package/src/assets/i18n/it.ngx-lib.json +114 -13
  388. package/src/assets/i18n/ja.ngx-lib.json +105 -4
  389. package/src/assets/i18n/pl.ngx-lib.json +105 -4
  390. package/src/assets/i18n/pt.ngx-lib.json +105 -4
  391. package/src/assets/i18n/sr.ngx-lib.json +180 -0
  392. package/src/assets/i18n/zh.ngx-lib.json +105 -2
  393. package/src/core/style/abstracts/mixins.scss +135 -26
  394. package/src/core/style/abstracts/variables.scss +10 -1
  395. package/src/core/style/base/Spacing.stories.mdx +22 -22
  396. package/src/core/style/base/base.scss +16 -14
  397. package/src/core/style/base/typography.scss +2 -1
  398. package/src/core/style/components/button.scss +11 -0
  399. package/src/core/style/components/checkbox.scss +13 -63
  400. package/src/core/style/components/file.scss +4 -4
  401. package/src/core/style/components/general.scss +27 -9
  402. package/src/core/style/components/textarea.scss +13 -0
  403. package/textarea/textarea.component.d.ts +2 -1
  404. package/textbox/textbox.component.d.ts +10 -3
  405. package/theming.scss +5 -1
  406. package/top-bar/top-bar.component.d.ts +2 -0
  407. package/src/assets/images/sail-away.jpg +0 -0
  408. package/src/core/style/abstracts/AbstractsIntro.stories.mdx +0 -7
@@ -1,4 +1,4 @@
1
1
  export class PepSelectionData {
2
2
  }
3
3
  export const DEFAULT_PAGE_SIZE = 50;
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvbGlzdC9saXN0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9CQSxNQUFNLE9BQU8sZ0JBQWdCO0NBSTVCO0FBa0JELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9iamVjdHNEYXRhUm93IH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuXG5leHBvcnQgdHlwZSBQZXBMaXN0U2VsZWN0aW9uVHlwZSA9XG4gICAgfCAnbm9uZSdcbiAgICB8ICdzaW5nbGUnXG4gICAgfCAnbXVsdGknO1xuXG5leHBvcnQgdHlwZSBQZXBMaXN0UGFnZXJUeXBlID0gJ3BhZ2VzJyB8ICdzY3JvbGwnO1xuXG5leHBvcnQgdHlwZSBQZXBMaXN0Vmlld1R5cGUgPSAnJyB8ICdjYXJkcycgfCAnbGluZXMnIHwgJ3RhYmxlJzsgLy8gfCAnbWFwJztcblxuZXhwb3J0IHR5cGUgUGVwTGlzdENhcmRTaXplVHlwZSA9ICdzbScgfCAnbWQnO1xuXG5leHBvcnQgdHlwZSBQZXBMaXN0VGFibGVWaWV3VHlwZSA9ICdjb21wYWN0JyB8ICdyZWd1bGFyJztcblxuZXhwb3J0IGludGVyZmFjZSBJUGVwTGlzdEl0ZW1DbGlja0V2ZW50IHtcbiAgICBzb3VyY2U6IE9iamVjdHNEYXRhUm93O1xuICAgIHZpZXdUeXBlOiBQZXBMaXN0Vmlld1R5cGU7XG59XG5cbmV4cG9ydCBjbGFzcyBQZXBTZWxlY3Rpb25EYXRhIHtcbiAgICBzZWxlY3Rpb25UeXBlOiBudW1iZXI7XG4gICAgcm93czogQXJyYXk8YW55PjtcbiAgICByb3dUeXBlczogQXJyYXk8YW55Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGVwTGlzdExvYWRJdGVtc0V2ZW50IHtcbiAgICBmcm9tSW5kZXg6IG51bWJlcjtcbiAgICB0b0luZGV4OiBudW1iZXI7XG4gICAgLy8gdXBkYXRlSXRlbXNGdW5jOiAoKSA9PiB2b2lkOyAvLygpID0+IGFueTsgXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBlcExpc3RMb2FkUGFnZUV2ZW50IHtcbiAgICBwYWdlSW5kZXg6IG51bWJlcjtcbiAgICBwYWdlU2l6ZTogbnVtYmVyO1xuICAgIC8vIHVwZGF0ZVBhZ2VGdW5jOiAoKSA9PiB2b2lkOyAvLygpID0+IGFueTsgXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBlcExpc3RTdGFydEluZGV4Q2hhbmdlRXZlbnQge1xuICAgIHN0YXJ0SW5kZXg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfUEFHRV9TSVpFID0gNTA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBlcExpc3RTb3J0aW5nQ2hhbmdlRXZlbnQge1xuICAgIHNvcnRCeTogc3RyaW5nO1xuICAgIGlzQXNjOiBib29sZWFuO1xufVxuIl19
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvbGlzdC9saXN0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9CQSxNQUFNLE9BQU8sZ0JBQWdCO0NBSTVCO0FBa0JELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9iamVjdHNEYXRhUm93IH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuXG5leHBvcnQgdHlwZSBQZXBMaXN0U2VsZWN0aW9uVHlwZSA9XG4gICAgfCAnbm9uZSdcbiAgICB8ICdzaW5nbGUnXG4gICAgfCAnbXVsdGknO1xuXG5leHBvcnQgdHlwZSBQZXBMaXN0UGFnZXJUeXBlID0gJ3BhZ2VzJyB8ICdzY3JvbGwnO1xuXG5leHBvcnQgdHlwZSBQZXBMaXN0Vmlld1R5cGUgPSAnJyB8ICdjYXJkcycgfCAnbGluZXMnIHwgJ3RhYmxlJzsgLy8gfCAnbWFwJztcblxuZXhwb3J0IHR5cGUgUGVwTGlzdENhcmRTaXplVHlwZSA9ICdzbScgfCAnbWQnO1xuXG5leHBvcnQgdHlwZSBQZXBMaXN0VGFibGVWaWV3VHlwZSA9ICdjb21wYWN0JyB8ICdyZWd1bGFyJztcblxuZXhwb3J0IGludGVyZmFjZSBJUGVwTGlzdEl0ZW1DbGlja0V2ZW50IHtcbiAgICBzb3VyY2U6IE9iamVjdHNEYXRhUm93O1xuICAgIHZpZXdUeXBlOiBQZXBMaXN0Vmlld1R5cGU7XG59XG5cbmV4cG9ydCBjbGFzcyBQZXBTZWxlY3Rpb25EYXRhIHtcbiAgICBzZWxlY3Rpb25UeXBlOiBudW1iZXI7XG4gICAgcm93czogQXJyYXk8YW55PjtcbiAgICByb3dUeXBlczogQXJyYXk8YW55Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGVwTGlzdExvYWRJdGVtc0V2ZW50IHtcbiAgICBmcm9tSW5kZXg6IG51bWJlcjtcbiAgICB0b0luZGV4OiBudW1iZXI7XG4gICAgLy8gdXBkYXRlSXRlbXNGdW5jOiAoKSA9PiB2b2lkOyAvLygpID0+IGFueTsgXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBlcExpc3RMb2FkUGFnZUV2ZW50IHtcbiAgICBwYWdlSW5kZXg6IG51bWJlcjtcbiAgICBwYWdlU2l6ZTogbnVtYmVyO1xuICAgIC8vIHVwZGF0ZVBhZ2VGdW5jOiAoKSA9PiB2b2lkOyAvLygpID0+IGFueTsgXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBlcExpc3RTdGFydEluZGV4Q2hhbmdlRXZlbnQge1xuICAgIHN0YXJ0SW5kZXg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfUEFHRV9TSVpFID0gNTA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBlcExpc3RTb3J0aW5nRGF0YSB7XG4gICAgc29ydEJ5OiBzdHJpbmc7XG4gICAgaXNBc2M6IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIElQZXBMaXN0U29ydGluZ0NoYW5nZUV2ZW50ID0gSVBlcExpc3RTb3J0aW5nRGF0YVxuIl19
@@ -90,10 +90,10 @@ export class PepMenuItemComponent {
90
90
  }
91
91
  }
92
92
  PepMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
93
- PepMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepMenuItemComponent, selector: "pep-menu-item", inputs: { type: "type", parent: "parent", items: "items", selectedItem: "selectedItem", xPosition: "xPosition", subMenuIconName: "subMenuIconName" }, outputs: { menuItemClick: "menuItemClick" }, viewQueries: [{ propertyName: "childMenu", first: true, predicate: ["childMenu"], descendants: true, static: true }], ngImport: i0, template: "<mat-menu #childMenu=\"matMenu\" xPosition=\"{{ xPosition }}\" class=\"pep-{{type}}-menu\">\n <ng-container *ngFor=\"let menuItem of items\">\n <ng-container *ngIf=\"!menuItem.hidden\">\n <ng-container *ngIf=\"menuItem.type === 'splitter'; then splitterBlock; else buttonBlock\"></ng-container>\n <ng-template #splitterBlock>\n <div mat-menu-item class=\"splitter\"></div>\n </ng-template>\n\n <ng-template #buttonBlock>\n <ng-container\n *ngIf=\"type !== 'select' && menuItem.children?.length > 0; then childrenBlock; else regularBlock\">\n </ng-container>\n <ng-template #childrenBlock>\n <button mat-menu-item (click)=\"onMenuItemClicked(menuItem)\" [matMenuTriggerFor]=\"menu.childMenu\"\n title=\"{{ menuItem.text }}\" pepRtlDirection [disabled]=\"menuItem.disabled\"\n [ngClass]=\"{ selected: type === 'action-select' && menuItem.selected, disabled: menuItem.disabled }\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {\n itemIconName: menuItem.iconName,\n itemText: menuItem.text,\n itemType: menuItem.type,\n hasChildren: true\n }\"></ng-container>\n </button>\n <pep-menu-item #menu [type]=\"type\" [items]=\"menuItem.children\" [parent]=\"menuItem\"\n (menuItemClick)=\"onChildClicked($event)\">\n </pep-menu-item>\n </ng-template>\n <ng-template #regularBlock>\n <button mat-menu-item (click)=\"onMenuItemClicked(menuItem)\" title=\"{{ menuItem.text }}\"\n pepRtlDirection [disabled]=\"menuItem.disabled\"\n [ngClass]=\"{ selected: (type === 'select' || type === 'action-select') && menuItem.selected, disabled: menuItem.disabled }\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {\n itemIconName: menuItem.iconName,\n itemText: menuItem.text,\n itemType: menuItem.type,\n hasChildren: false\n }\"></ng-container>\n </button>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n</mat-menu>\n\n<ng-template #itemTemplate let-itemIconName=\"itemIconName\" let-itemText=\"itemText\" let-itemType=\"itemType\"\n let-hasChildren=\"hasChildren\">\n <ng-container>\n <mat-icon *ngIf=\"itemIconName\" class=\"pull-left flip\">\n <pep-icon name=\"{{itemIconName}}\"></pep-icon>\n </mat-icon>\n <span *ngIf=\"itemText\" class=\"pull-left flip title ellipsis\"\n [ngClass]=\"{ 'spacing-from-icon': itemIconName, 'spacing-from-submenu-trigger': hasChildren }\"\n [title]=\"itemText\">\n {{ itemText }}\n </span>\n <mat-icon *ngIf=\"hasChildren\" class=\"pull-left flip submenu-trigger\"\n [ngClass]=\"{ 'rotate': xPosition === 'before' }\">\n <pep-icon name=\"{{ subMenuIconName }}\"></pep-icon>\n </mat-icon>\n </ng-container>\n</ng-template>", styles: [".mat-menu-item-submenu-trigger:after{display:none}.mat-menu-item .title{margin:0 var(--pep-spacing-xs, .25rem)}.mat-menu-item .title.spacing-from-icon{margin:0 var(--pep-spacing-sm, .5rem)}.mat-menu-item .title.spacing-from-submenu-trigger{padding-inline-end:var(--pep-spacing-lg, 1rem)}.mat-menu-item .mat-icon{margin:0}.mat-menu-item .submenu-trigger{position:absolute;right:var(--pep-spacing-sm, .5rem);width:1rem}.mat-menu-item .submenu-trigger.rotate{transform:rotate(180deg)}.mat-menu-item.splitter{height:1px!important;margin:var(--pep-spacing-sm, .5rem) 0}.mat-menu-item[dir=rtl] .submenu-trigger{right:unset;left:var(--pep-spacing-sm, .5rem);transform:rotate(180deg)}.mat-menu-item[dir=rtl] .submenu-trigger.rotate{transform:rotate(0)}.mat-menu-item-submenu-trigger:after{width:unset;height:unset;transform:unset}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.PepRtlDirectionDirective, selector: "[pepRtlDirection]" }, { kind: "component", type: i5.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: PepMenuItemComponent, selector: "pep-menu-item", inputs: ["type", "parent", "items", "selectedItem", "xPosition", "subMenuIconName"], outputs: ["menuItemClick"] }] });
93
+ PepMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepMenuItemComponent, selector: "pep-menu-item", inputs: { type: "type", parent: "parent", items: "items", selectedItem: "selectedItem", xPosition: "xPosition", subMenuIconName: "subMenuIconName" }, outputs: { menuItemClick: "menuItemClick" }, viewQueries: [{ propertyName: "childMenu", first: true, predicate: ["childMenu"], descendants: true, static: true }], ngImport: i0, template: "<mat-menu #childMenu=\"matMenu\" xPosition=\"{{ xPosition }}\" class=\"pep-{{type}}-menu\">\n <ng-container *ngFor=\"let menuItem of items\">\n <ng-container *ngIf=\"!menuItem.hidden\">\n <ng-container *ngIf=\"menuItem.type === 'splitter'; then splitterBlock; else buttonBlock\"></ng-container>\n <ng-template #splitterBlock>\n <div mat-menu-item class=\"splitter\"></div>\n </ng-template>\n\n <ng-template #buttonBlock>\n <ng-container\n *ngIf=\"type !== 'select' && menuItem.children?.length > 0; then childrenBlock; else regularBlock\">\n </ng-container>\n <ng-template #childrenBlock>\n <button mat-menu-item (click)=\"onMenuItemClicked(menuItem)\" [matMenuTriggerFor]=\"menu.childMenu\"\n title=\"{{ menuItem.text }}\" pepRtlDirection [disabled]=\"menuItem.disabled\"\n [ngClass]=\"{ selected: type === 'action-select' && menuItem.selected, disabled: menuItem.disabled }\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {\n itemIconName: menuItem.iconName,\n itemIconPosition: menuItem.iconPosition,\n itemText: menuItem.text,\n itemType: menuItem.type,\n hasChildren: true\n }\"></ng-container>\n </button>\n <pep-menu-item #menu [type]=\"type\" [items]=\"menuItem.children\" [parent]=\"menuItem\"\n (menuItemClick)=\"onChildClicked($event)\">\n </pep-menu-item>\n </ng-template>\n <ng-template #regularBlock>\n <button mat-menu-item (click)=\"onMenuItemClicked(menuItem)\" title=\"{{ menuItem.text }}\"\n pepRtlDirection [disabled]=\"menuItem.disabled\"\n [ngClass]=\"{ selected: (type === 'select' || type === 'action-select') && menuItem.selected, disabled: menuItem.disabled }\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {\n itemIconName: menuItem.iconName,\n itemIconPosition: menuItem.iconPosition,\n itemText: menuItem.text,\n itemType: menuItem.type,\n hasChildren: false\n }\"></ng-container>\n </button>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n</mat-menu>\n\n<ng-template #itemTemplate let-itemIconName=\"itemIconName\" let-itemIconPosition=\"itemIconPosition\" let-itemText=\"itemText\" let-itemType=\"itemType\"\n let-hasChildren=\"hasChildren\">\n <ng-container>\n <mat-icon *ngIf=\"itemIconName && itemIconPosition === 'before'\" class=\"pull-left flip\">\n <pep-icon name=\"{{itemIconName}}\"></pep-icon>\n </mat-icon>\n <span *ngIf=\"itemText\" class=\"pull-left flip title ellipsis\"\n [ngClass]=\"{ 'spacing-from-icon': itemIconName, 'spacing-from-submenu-trigger': hasChildren }\"\n [title]=\"itemText\">\n {{ itemText }}\n </span>\n <mat-icon *ngIf=\"itemIconName && itemIconPosition === 'after'\" class=\"pull-left flip\">\n <pep-icon name=\"{{itemIconName}}\"></pep-icon>\n </mat-icon>\n <mat-icon *ngIf=\"hasChildren\" class=\"pull-left flip submenu-trigger\"\n [ngClass]=\"{ 'rotate': xPosition === 'before' }\">\n <pep-icon name=\"{{ subMenuIconName }}\"></pep-icon>\n </mat-icon>\n </ng-container>\n</ng-template>", styles: [".mat-menu-item .title{margin:0 var(--pep-spacing-xs, .25rem)}.mat-menu-item .title.spacing-from-icon{margin:0 var(--pep-spacing-sm, .5rem)}.mat-menu-item .title.spacing-from-submenu-trigger{padding-inline-end:var(--pep-spacing-lg, 1rem)}.mat-menu-item .mat-icon{margin:0}.mat-menu-item .submenu-trigger{position:absolute;right:var(--pep-spacing-sm, .5rem);width:1rem}.mat-menu-item .submenu-trigger.rotate{transform:rotate(180deg)}.mat-menu-item.splitter{height:1px!important;margin:var(--pep-spacing-sm, .5rem) 0}.mat-menu-item[dir=rtl] .submenu-trigger{right:unset;left:var(--pep-spacing-sm, .5rem);transform:rotate(180deg)}.mat-menu-item[dir=rtl] .submenu-trigger.rotate{transform:rotate(0)}.mat-menu-item ::ng-deep .mat-menu-submenu-icon{display:none}.mat-menu-item-submenu-trigger:after{display:none;width:unset;height:unset;transform:unset}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.PepRtlDirectionDirective, selector: "[pepRtlDirection]" }, { kind: "component", type: i5.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: PepMenuItemComponent, selector: "pep-menu-item", inputs: ["type", "parent", "items", "selectedItem", "xPosition", "subMenuIconName"], outputs: ["menuItemClick"] }] });
94
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepMenuItemComponent, decorators: [{
95
95
  type: Component,
96
- args: [{ selector: 'pep-menu-item', template: "<mat-menu #childMenu=\"matMenu\" xPosition=\"{{ xPosition }}\" class=\"pep-{{type}}-menu\">\n <ng-container *ngFor=\"let menuItem of items\">\n <ng-container *ngIf=\"!menuItem.hidden\">\n <ng-container *ngIf=\"menuItem.type === 'splitter'; then splitterBlock; else buttonBlock\"></ng-container>\n <ng-template #splitterBlock>\n <div mat-menu-item class=\"splitter\"></div>\n </ng-template>\n\n <ng-template #buttonBlock>\n <ng-container\n *ngIf=\"type !== 'select' && menuItem.children?.length > 0; then childrenBlock; else regularBlock\">\n </ng-container>\n <ng-template #childrenBlock>\n <button mat-menu-item (click)=\"onMenuItemClicked(menuItem)\" [matMenuTriggerFor]=\"menu.childMenu\"\n title=\"{{ menuItem.text }}\" pepRtlDirection [disabled]=\"menuItem.disabled\"\n [ngClass]=\"{ selected: type === 'action-select' && menuItem.selected, disabled: menuItem.disabled }\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {\n itemIconName: menuItem.iconName,\n itemText: menuItem.text,\n itemType: menuItem.type,\n hasChildren: true\n }\"></ng-container>\n </button>\n <pep-menu-item #menu [type]=\"type\" [items]=\"menuItem.children\" [parent]=\"menuItem\"\n (menuItemClick)=\"onChildClicked($event)\">\n </pep-menu-item>\n </ng-template>\n <ng-template #regularBlock>\n <button mat-menu-item (click)=\"onMenuItemClicked(menuItem)\" title=\"{{ menuItem.text }}\"\n pepRtlDirection [disabled]=\"menuItem.disabled\"\n [ngClass]=\"{ selected: (type === 'select' || type === 'action-select') && menuItem.selected, disabled: menuItem.disabled }\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {\n itemIconName: menuItem.iconName,\n itemText: menuItem.text,\n itemType: menuItem.type,\n hasChildren: false\n }\"></ng-container>\n </button>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n</mat-menu>\n\n<ng-template #itemTemplate let-itemIconName=\"itemIconName\" let-itemText=\"itemText\" let-itemType=\"itemType\"\n let-hasChildren=\"hasChildren\">\n <ng-container>\n <mat-icon *ngIf=\"itemIconName\" class=\"pull-left flip\">\n <pep-icon name=\"{{itemIconName}}\"></pep-icon>\n </mat-icon>\n <span *ngIf=\"itemText\" class=\"pull-left flip title ellipsis\"\n [ngClass]=\"{ 'spacing-from-icon': itemIconName, 'spacing-from-submenu-trigger': hasChildren }\"\n [title]=\"itemText\">\n {{ itemText }}\n </span>\n <mat-icon *ngIf=\"hasChildren\" class=\"pull-left flip submenu-trigger\"\n [ngClass]=\"{ 'rotate': xPosition === 'before' }\">\n <pep-icon name=\"{{ subMenuIconName }}\"></pep-icon>\n </mat-icon>\n </ng-container>\n</ng-template>", styles: [".mat-menu-item-submenu-trigger:after{display:none}.mat-menu-item .title{margin:0 var(--pep-spacing-xs, .25rem)}.mat-menu-item .title.spacing-from-icon{margin:0 var(--pep-spacing-sm, .5rem)}.mat-menu-item .title.spacing-from-submenu-trigger{padding-inline-end:var(--pep-spacing-lg, 1rem)}.mat-menu-item .mat-icon{margin:0}.mat-menu-item .submenu-trigger{position:absolute;right:var(--pep-spacing-sm, .5rem);width:1rem}.mat-menu-item .submenu-trigger.rotate{transform:rotate(180deg)}.mat-menu-item.splitter{height:1px!important;margin:var(--pep-spacing-sm, .5rem) 0}.mat-menu-item[dir=rtl] .submenu-trigger{right:unset;left:var(--pep-spacing-sm, .5rem);transform:rotate(180deg)}.mat-menu-item[dir=rtl] .submenu-trigger.rotate{transform:rotate(0)}.mat-menu-item-submenu-trigger:after{width:unset;height:unset;transform:unset}\n"] }]
96
+ args: [{ selector: 'pep-menu-item', template: "<mat-menu #childMenu=\"matMenu\" xPosition=\"{{ xPosition }}\" class=\"pep-{{type}}-menu\">\n <ng-container *ngFor=\"let menuItem of items\">\n <ng-container *ngIf=\"!menuItem.hidden\">\n <ng-container *ngIf=\"menuItem.type === 'splitter'; then splitterBlock; else buttonBlock\"></ng-container>\n <ng-template #splitterBlock>\n <div mat-menu-item class=\"splitter\"></div>\n </ng-template>\n\n <ng-template #buttonBlock>\n <ng-container\n *ngIf=\"type !== 'select' && menuItem.children?.length > 0; then childrenBlock; else regularBlock\">\n </ng-container>\n <ng-template #childrenBlock>\n <button mat-menu-item (click)=\"onMenuItemClicked(menuItem)\" [matMenuTriggerFor]=\"menu.childMenu\"\n title=\"{{ menuItem.text }}\" pepRtlDirection [disabled]=\"menuItem.disabled\"\n [ngClass]=\"{ selected: type === 'action-select' && menuItem.selected, disabled: menuItem.disabled }\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {\n itemIconName: menuItem.iconName,\n itemIconPosition: menuItem.iconPosition,\n itemText: menuItem.text,\n itemType: menuItem.type,\n hasChildren: true\n }\"></ng-container>\n </button>\n <pep-menu-item #menu [type]=\"type\" [items]=\"menuItem.children\" [parent]=\"menuItem\"\n (menuItemClick)=\"onChildClicked($event)\">\n </pep-menu-item>\n </ng-template>\n <ng-template #regularBlock>\n <button mat-menu-item (click)=\"onMenuItemClicked(menuItem)\" title=\"{{ menuItem.text }}\"\n pepRtlDirection [disabled]=\"menuItem.disabled\"\n [ngClass]=\"{ selected: (type === 'select' || type === 'action-select') && menuItem.selected, disabled: menuItem.disabled }\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {\n itemIconName: menuItem.iconName,\n itemIconPosition: menuItem.iconPosition,\n itemText: menuItem.text,\n itemType: menuItem.type,\n hasChildren: false\n }\"></ng-container>\n </button>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n</mat-menu>\n\n<ng-template #itemTemplate let-itemIconName=\"itemIconName\" let-itemIconPosition=\"itemIconPosition\" let-itemText=\"itemText\" let-itemType=\"itemType\"\n let-hasChildren=\"hasChildren\">\n <ng-container>\n <mat-icon *ngIf=\"itemIconName && itemIconPosition === 'before'\" class=\"pull-left flip\">\n <pep-icon name=\"{{itemIconName}}\"></pep-icon>\n </mat-icon>\n <span *ngIf=\"itemText\" class=\"pull-left flip title ellipsis\"\n [ngClass]=\"{ 'spacing-from-icon': itemIconName, 'spacing-from-submenu-trigger': hasChildren }\"\n [title]=\"itemText\">\n {{ itemText }}\n </span>\n <mat-icon *ngIf=\"itemIconName && itemIconPosition === 'after'\" class=\"pull-left flip\">\n <pep-icon name=\"{{itemIconName}}\"></pep-icon>\n </mat-icon>\n <mat-icon *ngIf=\"hasChildren\" class=\"pull-left flip submenu-trigger\"\n [ngClass]=\"{ 'rotate': xPosition === 'before' }\">\n <pep-icon name=\"{{ subMenuIconName }}\"></pep-icon>\n </mat-icon>\n </ng-container>\n</ng-template>", styles: [".mat-menu-item .title{margin:0 var(--pep-spacing-xs, .25rem)}.mat-menu-item .title.spacing-from-icon{margin:0 var(--pep-spacing-sm, .5rem)}.mat-menu-item .title.spacing-from-submenu-trigger{padding-inline-end:var(--pep-spacing-lg, 1rem)}.mat-menu-item .mat-icon{margin:0}.mat-menu-item .submenu-trigger{position:absolute;right:var(--pep-spacing-sm, .5rem);width:1rem}.mat-menu-item .submenu-trigger.rotate{transform:rotate(180deg)}.mat-menu-item.splitter{height:1px!important;margin:var(--pep-spacing-sm, .5rem) 0}.mat-menu-item[dir=rtl] .submenu-trigger{right:unset;left:var(--pep-spacing-sm, .5rem);transform:rotate(180deg)}.mat-menu-item[dir=rtl] .submenu-trigger.rotate{transform:rotate(0)}.mat-menu-item ::ng-deep .mat-menu-submenu-icon{display:none}.mat-menu-item-submenu-trigger:after{display:none;width:unset;height:unset;transform:unset}\n"] }]
97
97
  }], propDecorators: { type: [{
98
98
  type: Input
99
99
  }], parent: [{
@@ -112,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
112
112
  }], menuItemClick: [{
113
113
  type: Output
114
114
  }] } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvbWVudS9tZW51LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9tZW51L21lbnUtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUVaLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQ0gsV0FBVyxHQUlkLE1BQU0sY0FBYyxDQUFDOzs7Ozs7O0FBRXRCLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxXQUFXO0lBQXBEOztRQUNJLGFBQVEsR0FBYSxLQUFLLENBQUM7SUFDL0IsQ0FBQztDQUFBO0FBT0QsTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQU1hLFNBQUksR0FBZ0IsUUFBUSxDQUFDO1FBRTdCLFdBQU0sR0FBc0IsSUFBSSxDQUFDO1FBQ2pDLFVBQUssR0FBK0IsRUFBRSxDQUFDO1FBRXhDLGtCQUFhLEdBQXdCLElBQUksQ0FBQztRQVN6QyxjQUFTLEdBQXVCLE9BQU8sQ0FBQztRQUN4QyxvQkFBZSxHQUFXLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUsxRCxrQkFBYSxHQUF5QyxJQUFJLFlBQVksRUFBMEIsQ0FBQztLQW9GcEc7SUFsR0csSUFDSSxZQUFZLENBQUMsWUFBaUM7UUFDOUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQVVELFdBQVc7UUFDUCw0QkFBNEI7UUFDNUIsd0NBQXdDO1FBQ3hDLElBQUk7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b0I7MkZBQXBCLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDSSxlQUFlOzhCQUtoQixJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFJRixZQUFZO3NCQURmLEtBQUs7Z0JBUUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUUyQyxTQUFTO3NCQUF6RCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBR3hDLGFBQWE7c0JBRFosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT25EZXN0cm95LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBwZXBJY29uQXJyb3dSaWdodCB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2ljb24nO1xuaW1wb3J0IHtcbiAgICBQZXBNZW51SXRlbSxcbiAgICBJUGVwTWVudUl0ZW1DbGlja0V2ZW50LFxuICAgIFBlcE1lbnVUeXBlLFxuICAgIFBlcE1lbnVJdGVtUGFyZW50LFxufSBmcm9tICcuL21lbnUubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgUGVwSW50ZXJuYWxNZW51SXRlbSBleHRlbmRzIFBlcE1lbnVJdGVtIHtcbiAgICBzZWxlY3RlZD86IGJvb2xlYW4gPSBmYWxzZTtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtbWVudS1pdGVtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWVudS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9tZW51LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUGVwTWVudUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIHR5cGU6IFBlcE1lbnVUeXBlID0gJ2FjdGlvbic7XG5cbiAgICBASW5wdXQoKSBwYXJlbnQ6IFBlcE1lbnVJdGVtUGFyZW50ID0gbnVsbDtcbiAgICBASW5wdXQoKSBpdGVtczogQXJyYXk8UGVwSW50ZXJuYWxNZW51SXRlbT4gPSBbXTtcblxuICAgIHByaXZhdGUgX3NlbGVjdGVkSXRlbTogUGVwSW50ZXJuYWxNZW51SXRlbSA9IG51bGw7XG4gICAgQElucHV0KClcbiAgICBzZXQgc2VsZWN0ZWRJdGVtKHNlbGVjdGVkSXRlbTogUGVwSW50ZXJuYWxNZW51SXRlbSkge1xuICAgICAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkSXRlbShzZWxlY3RlZEl0ZW0pO1xuICAgIH1cbiAgICBnZXQgc2VsZWN0ZWRJdGVtKCk6IFBlcEludGVybmFsTWVudUl0ZW0ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRJdGVtO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHhQb3NpdGlvbjogJ2JlZm9yZScgfCAnYWZ0ZXInID0gJ2FmdGVyJztcbiAgICBASW5wdXQoKSBzdWJNZW51SWNvbk5hbWU6IHN0cmluZyA9IHBlcEljb25BcnJvd1JpZ2h0Lm5hbWU7XG5cbiAgICBAVmlld0NoaWxkKCdjaGlsZE1lbnUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBwdWJsaWMgY2hpbGRNZW51OiBhbnk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBtZW51SXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8SVBlcE1lbnVJdGVtQ2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQZXBNZW51SXRlbUNsaWNrRXZlbnQ+KCk7XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy8gaWYgKHRoaXMubWVudUl0ZW1DbGljaykge1xuICAgICAgICAvLyAgICAgdGhpcy5tZW51SXRlbUNsaWNrLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIC8vIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNsZWFyU2VsZWN0ZWRJdGVtKHNlbGVjdGVkSXRlbTogUGVwSW50ZXJuYWxNZW51SXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pdGVtcykge1xuICAgICAgICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbS5zZWxlY3RlZCA9IHNlbGVjdGVkSXRlbT8ua2V5ID09PSBpdGVtLmtleTtcblxuICAgICAgICAgICAgICAgIGlmIChpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJTZWxlY3RlZENoaWxkcmVuKGNoaWxkLCBzZWxlY3RlZEl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJTZWxlY3RlZENoaWxkcmVuKFxuICAgICAgICBpdGVtOiBQZXBJbnRlcm5hbE1lbnVJdGVtLFxuICAgICAgICBzZWxlY3RlZEl0ZW06IFBlcEludGVybmFsTWVudUl0ZW1cbiAgICApOiB2b2lkIHtcbiAgICAgICAgaXRlbS5zZWxlY3RlZCA9IHNlbGVjdGVkSXRlbT8ua2V5ID09PSBpdGVtLmtleTtcblxuICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgICAgaXRlbS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJTZWxlY3RlZENoaWxkcmVuKGNoaWxkLCBzZWxlY3RlZEl0ZW0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNlbGVjdFBhcmVudEFuZENoaWxkcmVuKFxuICAgICAgICBpdGVtczogQXJyYXk8UGVwSW50ZXJuYWxNZW51SXRlbT4sXG4gICAgICAgIHBhcmVudHNLZXlzOiBBcnJheTxzdHJpbmc+XG4gICAgKSB7XG4gICAgICAgIGlmIChwYXJlbnRzS2V5cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBrZXkgPSBwYXJlbnRzS2V5cy5wb3AoKTtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkUGFyZW50ID0gaXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5rZXkgPT09IGtleSk7XG5cbiAgICAgICAgICAgIGlmIChzZWxlY3RlZFBhcmVudCkge1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkUGFyZW50LnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdFBhcmVudEFuZENoaWxkcmVuKFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFBhcmVudC5jaGlsZHJlbixcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50c0tleXNcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVTZWxlY3RlZFBhcmVudChcbiAgICAgICAgcGFyZW50SXRlbTogUGVwTWVudUl0ZW1QYXJlbnQsXG4gICAgICAgIHBhcmVudHNLZXlzOiBBcnJheTxzdHJpbmc+XG4gICAgKSB7XG4gICAgICAgIHBhcmVudHNLZXlzLnB1c2gocGFyZW50SXRlbS5rZXkpO1xuXG4gICAgICAgIGlmIChwYXJlbnRJdGVtLnBhcmVudCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTZWxlY3RlZFBhcmVudChwYXJlbnRJdGVtLnBhcmVudCwgcGFyZW50c0tleXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RQYXJlbnRBbmRDaGlsZHJlbih0aGlzLml0ZW1zLCBwYXJlbnRzS2V5cyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVNlbGVjdGVkSXRlbShzZWxlY3RlZEl0ZW06IFBlcEludGVybmFsTWVudUl0ZW0pIHtcbiAgICAgICAgdGhpcy5jbGVhclNlbGVjdGVkSXRlbShzZWxlY3RlZEl0ZW0pO1xuICAgICAgICB0aGlzLl9zZWxlY3RlZEl0ZW0gPSBzZWxlY3RlZEl0ZW07XG5cbiAgICAgICAgaWYgKHNlbGVjdGVkSXRlbSAmJiBzZWxlY3RlZEl0ZW0ucGFyZW50KSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkUGFyZW50KHNlbGVjdGVkSXRlbS5wYXJlbnQsIFtdKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ2hpbGRDbGlja2VkKGNsaWNrOiBJUGVwTWVudUl0ZW1DbGlja0V2ZW50KTogdm9pZCB7XG4gICAgICAgIC8vIGNsaWNrLnNvdXJjZS5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIHRoaXMubWVudUl0ZW1DbGljay5lbWl0KGNsaWNrKTtcbiAgICB9XG5cbiAgICBvbk1lbnVJdGVtQ2xpY2tlZChpdGVtOiBQZXBNZW51SXRlbSk6IHZvaWQge1xuICAgICAgICAvLyBpdGVtLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5tZW51SXRlbUNsaWNrLmVtaXQoeyBzb3VyY2U6IGl0ZW0gfSk7XG4gICAgfVxufVxuIiwiPG1hdC1tZW51ICNjaGlsZE1lbnU9XCJtYXRNZW51XCIgeFBvc2l0aW9uPVwie3sgeFBvc2l0aW9uIH19XCIgY2xhc3M9XCJwZXAte3t0eXBlfX0tbWVudVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1lbnVJdGVtIG9mIGl0ZW1zXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbWVudUl0ZW0uaGlkZGVuXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWVudUl0ZW0udHlwZSA9PT0gJ3NwbGl0dGVyJzsgdGhlbiBzcGxpdHRlckJsb2NrOyBlbHNlIGJ1dHRvbkJsb2NrXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI3NwbGl0dGVyQmxvY2s+XG4gICAgICAgICAgICAgICAgPGRpdiBtYXQtbWVudS1pdGVtIGNsYXNzPVwic3BsaXR0ZXJcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYnV0dG9uQmxvY2s+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInR5cGUgIT09ICdzZWxlY3QnICYmIG1lbnVJdGVtLmNoaWxkcmVuPy5sZW5ndGggPiAwOyB0aGVuIGNoaWxkcmVuQmxvY2s7IGVsc2UgcmVndWxhckJsb2NrXCI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjaGlsZHJlbkJsb2NrPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cIm9uTWVudUl0ZW1DbGlja2VkKG1lbnVJdGVtKVwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51LmNoaWxkTWVudVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7IG1lbnVJdGVtLnRleHQgfX1cIiBwZXBSdGxEaXJlY3Rpb24gW2Rpc2FibGVkXT1cIm1lbnVJdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgc2VsZWN0ZWQ6IHR5cGUgPT09ICdhY3Rpb24tc2VsZWN0JyAmJiBtZW51SXRlbS5zZWxlY3RlZCwgZGlzYWJsZWQ6IG1lbnVJdGVtLmRpc2FibGVkIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtSWNvbk5hbWU6IG1lbnVJdGVtLmljb25OYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1UZXh0OiBtZW51SXRlbS50ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1UeXBlOiBtZW51SXRlbS50eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0NoaWxkcmVuOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8cGVwLW1lbnUtaXRlbSAjbWVudSBbdHlwZV09XCJ0eXBlXCIgW2l0ZW1zXT1cIm1lbnVJdGVtLmNoaWxkcmVuXCIgW3BhcmVudF09XCJtZW51SXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobWVudUl0ZW1DbGljayk9XCJvbkNoaWxkQ2xpY2tlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvcGVwLW1lbnUtaXRlbT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcmVndWxhckJsb2NrPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cIm9uTWVudUl0ZW1DbGlja2VkKG1lbnVJdGVtKVwiIHRpdGxlPVwie3sgbWVudUl0ZW0udGV4dCB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBwZXBSdGxEaXJlY3Rpb24gW2Rpc2FibGVkXT1cIm1lbnVJdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgc2VsZWN0ZWQ6ICh0eXBlID09PSAnc2VsZWN0JyB8fCB0eXBlID09PSAnYWN0aW9uLXNlbGVjdCcpICYmIG1lbnVJdGVtLnNlbGVjdGVkLCBkaXNhYmxlZDogbWVudUl0ZW0uZGlzYWJsZWQgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZTsgY29udGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1JY29uTmFtZTogbWVudUl0ZW0uaWNvbk5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVRleHQ6IG1lbnVJdGVtLnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVR5cGU6IG1lbnVJdGVtLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzQ2hpbGRyZW46IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbWF0LW1lbnU+XG5cbjxuZy10ZW1wbGF0ZSAjaXRlbVRlbXBsYXRlIGxldC1pdGVtSWNvbk5hbWU9XCJpdGVtSWNvbk5hbWVcIiBsZXQtaXRlbVRleHQ9XCJpdGVtVGV4dFwiIGxldC1pdGVtVHlwZT1cIml0ZW1UeXBlXCJcbiAgICBsZXQtaGFzQ2hpbGRyZW49XCJoYXNDaGlsZHJlblwiPlxuICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIml0ZW1JY29uTmFtZVwiIGNsYXNzPVwicHVsbC1sZWZ0IGZsaXBcIj5cbiAgICAgICAgICAgIDxwZXAtaWNvbiBuYW1lPVwie3tpdGVtSWNvbk5hbWV9fVwiPjwvcGVwLWljb24+XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbVRleHRcIiBjbGFzcz1cInB1bGwtbGVmdCBmbGlwIHRpdGxlIGVsbGlwc2lzXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3NwYWNpbmctZnJvbS1pY29uJzogaXRlbUljb25OYW1lLCAnc3BhY2luZy1mcm9tLXN1Ym1lbnUtdHJpZ2dlcic6IGhhc0NoaWxkcmVuIH1cIlxuICAgICAgICAgICAgW3RpdGxlXT1cIml0ZW1UZXh0XCI+XG4gICAgICAgICAgICB7eyBpdGVtVGV4dCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImhhc0NoaWxkcmVuXCIgY2xhc3M9XCJwdWxsLWxlZnQgZmxpcCBzdWJtZW51LXRyaWdnZXJcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAncm90YXRlJzogeFBvc2l0aW9uID09PSAnYmVmb3JlJyB9XCI+XG4gICAgICAgICAgICA8cGVwLWljb24gbmFtZT1cInt7IHN1Yk1lbnVJY29uTmFtZSB9fVwiPjwvcGVwLWljb24+XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPiJdfQ==
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvbWVudS9tZW51LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9tZW51L21lbnUtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUVaLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQ0gsV0FBVyxHQUlkLE1BQU0sY0FBYyxDQUFDOzs7Ozs7O0FBRXRCLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxXQUFXO0lBQXBEOztRQUNJLGFBQVEsR0FBYSxLQUFLLENBQUM7SUFDL0IsQ0FBQztDQUFBO0FBT0QsTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQU1hLFNBQUksR0FBZ0IsUUFBUSxDQUFDO1FBRTdCLFdBQU0sR0FBc0IsSUFBSSxDQUFDO1FBQ2pDLFVBQUssR0FBK0IsRUFBRSxDQUFDO1FBRXhDLGtCQUFhLEdBQXdCLElBQUksQ0FBQztRQVN6QyxjQUFTLEdBQXVCLE9BQU8sQ0FBQztRQUN4QyxvQkFBZSxHQUFXLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUsxRCxrQkFBYSxHQUF5QyxJQUFJLFlBQVksRUFBMEIsQ0FBQztLQW9GcEc7SUFsR0csSUFDSSxZQUFZLENBQUMsWUFBaUM7UUFDOUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQVVELFdBQVc7UUFDUCw0QkFBNEI7UUFDNUIsd0NBQXdDO1FBQ3hDLElBQUk7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b0I7MkZBQXBCLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDSSxlQUFlOzhCQUtoQixJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFJRixZQUFZO3NCQURmLEtBQUs7Z0JBUUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUUyQyxTQUFTO3NCQUF6RCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBR3hDLGFBQWE7c0JBRFosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT25EZXN0cm95LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBwZXBJY29uQXJyb3dSaWdodCB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2ljb24nO1xuaW1wb3J0IHtcbiAgICBQZXBNZW51SXRlbSxcbiAgICBJUGVwTWVudUl0ZW1DbGlja0V2ZW50LFxuICAgIFBlcE1lbnVUeXBlLFxuICAgIFBlcE1lbnVJdGVtUGFyZW50LFxufSBmcm9tICcuL21lbnUubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgUGVwSW50ZXJuYWxNZW51SXRlbSBleHRlbmRzIFBlcE1lbnVJdGVtIHtcbiAgICBzZWxlY3RlZD86IGJvb2xlYW4gPSBmYWxzZTtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtbWVudS1pdGVtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWVudS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9tZW51LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUGVwTWVudUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIHR5cGU6IFBlcE1lbnVUeXBlID0gJ2FjdGlvbic7XG5cbiAgICBASW5wdXQoKSBwYXJlbnQ6IFBlcE1lbnVJdGVtUGFyZW50ID0gbnVsbDtcbiAgICBASW5wdXQoKSBpdGVtczogQXJyYXk8UGVwSW50ZXJuYWxNZW51SXRlbT4gPSBbXTtcblxuICAgIHByaXZhdGUgX3NlbGVjdGVkSXRlbTogUGVwSW50ZXJuYWxNZW51SXRlbSA9IG51bGw7XG4gICAgQElucHV0KClcbiAgICBzZXQgc2VsZWN0ZWRJdGVtKHNlbGVjdGVkSXRlbTogUGVwSW50ZXJuYWxNZW51SXRlbSkge1xuICAgICAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkSXRlbShzZWxlY3RlZEl0ZW0pO1xuICAgIH1cbiAgICBnZXQgc2VsZWN0ZWRJdGVtKCk6IFBlcEludGVybmFsTWVudUl0ZW0ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRJdGVtO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHhQb3NpdGlvbjogJ2JlZm9yZScgfCAnYWZ0ZXInID0gJ2FmdGVyJztcbiAgICBASW5wdXQoKSBzdWJNZW51SWNvbk5hbWU6IHN0cmluZyA9IHBlcEljb25BcnJvd1JpZ2h0Lm5hbWU7XG5cbiAgICBAVmlld0NoaWxkKCdjaGlsZE1lbnUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBwdWJsaWMgY2hpbGRNZW51OiBhbnk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBtZW51SXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8SVBlcE1lbnVJdGVtQ2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQZXBNZW51SXRlbUNsaWNrRXZlbnQ+KCk7XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy8gaWYgKHRoaXMubWVudUl0ZW1DbGljaykge1xuICAgICAgICAvLyAgICAgdGhpcy5tZW51SXRlbUNsaWNrLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIC8vIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNsZWFyU2VsZWN0ZWRJdGVtKHNlbGVjdGVkSXRlbTogUGVwSW50ZXJuYWxNZW51SXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pdGVtcykge1xuICAgICAgICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbS5zZWxlY3RlZCA9IHNlbGVjdGVkSXRlbT8ua2V5ID09PSBpdGVtLmtleTtcblxuICAgICAgICAgICAgICAgIGlmIChpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJTZWxlY3RlZENoaWxkcmVuKGNoaWxkLCBzZWxlY3RlZEl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJTZWxlY3RlZENoaWxkcmVuKFxuICAgICAgICBpdGVtOiBQZXBJbnRlcm5hbE1lbnVJdGVtLFxuICAgICAgICBzZWxlY3RlZEl0ZW06IFBlcEludGVybmFsTWVudUl0ZW1cbiAgICApOiB2b2lkIHtcbiAgICAgICAgaXRlbS5zZWxlY3RlZCA9IHNlbGVjdGVkSXRlbT8ua2V5ID09PSBpdGVtLmtleTtcblxuICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgICAgaXRlbS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJTZWxlY3RlZENoaWxkcmVuKGNoaWxkLCBzZWxlY3RlZEl0ZW0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNlbGVjdFBhcmVudEFuZENoaWxkcmVuKFxuICAgICAgICBpdGVtczogQXJyYXk8UGVwSW50ZXJuYWxNZW51SXRlbT4sXG4gICAgICAgIHBhcmVudHNLZXlzOiBBcnJheTxzdHJpbmc+XG4gICAgKSB7XG4gICAgICAgIGlmIChwYXJlbnRzS2V5cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBrZXkgPSBwYXJlbnRzS2V5cy5wb3AoKTtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkUGFyZW50ID0gaXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5rZXkgPT09IGtleSk7XG5cbiAgICAgICAgICAgIGlmIChzZWxlY3RlZFBhcmVudCkge1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkUGFyZW50LnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdFBhcmVudEFuZENoaWxkcmVuKFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFBhcmVudC5jaGlsZHJlbixcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50c0tleXNcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVTZWxlY3RlZFBhcmVudChcbiAgICAgICAgcGFyZW50SXRlbTogUGVwTWVudUl0ZW1QYXJlbnQsXG4gICAgICAgIHBhcmVudHNLZXlzOiBBcnJheTxzdHJpbmc+XG4gICAgKSB7XG4gICAgICAgIHBhcmVudHNLZXlzLnB1c2gocGFyZW50SXRlbS5rZXkpO1xuXG4gICAgICAgIGlmIChwYXJlbnRJdGVtLnBhcmVudCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTZWxlY3RlZFBhcmVudChwYXJlbnRJdGVtLnBhcmVudCwgcGFyZW50c0tleXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RQYXJlbnRBbmRDaGlsZHJlbih0aGlzLml0ZW1zLCBwYXJlbnRzS2V5cyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVNlbGVjdGVkSXRlbShzZWxlY3RlZEl0ZW06IFBlcEludGVybmFsTWVudUl0ZW0pIHtcbiAgICAgICAgdGhpcy5jbGVhclNlbGVjdGVkSXRlbShzZWxlY3RlZEl0ZW0pO1xuICAgICAgICB0aGlzLl9zZWxlY3RlZEl0ZW0gPSBzZWxlY3RlZEl0ZW07XG5cbiAgICAgICAgaWYgKHNlbGVjdGVkSXRlbSAmJiBzZWxlY3RlZEl0ZW0ucGFyZW50KSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkUGFyZW50KHNlbGVjdGVkSXRlbS5wYXJlbnQsIFtdKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ2hpbGRDbGlja2VkKGNsaWNrOiBJUGVwTWVudUl0ZW1DbGlja0V2ZW50KTogdm9pZCB7XG4gICAgICAgIC8vIGNsaWNrLnNvdXJjZS5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIHRoaXMubWVudUl0ZW1DbGljay5lbWl0KGNsaWNrKTtcbiAgICB9XG5cbiAgICBvbk1lbnVJdGVtQ2xpY2tlZChpdGVtOiBQZXBNZW51SXRlbSk6IHZvaWQge1xuICAgICAgICAvLyBpdGVtLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5tZW51SXRlbUNsaWNrLmVtaXQoeyBzb3VyY2U6IGl0ZW0gfSk7XG4gICAgfVxufVxuIiwiPG1hdC1tZW51ICNjaGlsZE1lbnU9XCJtYXRNZW51XCIgeFBvc2l0aW9uPVwie3sgeFBvc2l0aW9uIH19XCIgY2xhc3M9XCJwZXAte3t0eXBlfX0tbWVudVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1lbnVJdGVtIG9mIGl0ZW1zXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbWVudUl0ZW0uaGlkZGVuXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWVudUl0ZW0udHlwZSA9PT0gJ3NwbGl0dGVyJzsgdGhlbiBzcGxpdHRlckJsb2NrOyBlbHNlIGJ1dHRvbkJsb2NrXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI3NwbGl0dGVyQmxvY2s+XG4gICAgICAgICAgICAgICAgPGRpdiBtYXQtbWVudS1pdGVtIGNsYXNzPVwic3BsaXR0ZXJcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYnV0dG9uQmxvY2s+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInR5cGUgIT09ICdzZWxlY3QnICYmIG1lbnVJdGVtLmNoaWxkcmVuPy5sZW5ndGggPiAwOyB0aGVuIGNoaWxkcmVuQmxvY2s7IGVsc2UgcmVndWxhckJsb2NrXCI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjaGlsZHJlbkJsb2NrPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cIm9uTWVudUl0ZW1DbGlja2VkKG1lbnVJdGVtKVwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51LmNoaWxkTWVudVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7IG1lbnVJdGVtLnRleHQgfX1cIiBwZXBSdGxEaXJlY3Rpb24gW2Rpc2FibGVkXT1cIm1lbnVJdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgc2VsZWN0ZWQ6IHR5cGUgPT09ICdhY3Rpb24tc2VsZWN0JyAmJiBtZW51SXRlbS5zZWxlY3RlZCwgZGlzYWJsZWQ6IG1lbnVJdGVtLmRpc2FibGVkIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtSWNvbk5hbWU6IG1lbnVJdGVtLmljb25OYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1JY29uUG9zaXRpb246IG1lbnVJdGVtLmljb25Qb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtVGV4dDogbWVudUl0ZW0udGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtVHlwZTogbWVudUl0ZW0udHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNDaGlsZHJlbjogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPHBlcC1tZW51LWl0ZW0gI21lbnUgW3R5cGVdPVwidHlwZVwiIFtpdGVtc109XCJtZW51SXRlbS5jaGlsZHJlblwiIFtwYXJlbnRdPVwibWVudUl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG1lbnVJdGVtQ2xpY2spPVwib25DaGlsZENsaWNrZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICA8L3BlcC1tZW51LWl0ZW0+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3JlZ3VsYXJCbG9jaz5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJvbk1lbnVJdGVtQ2xpY2tlZChtZW51SXRlbSlcIiB0aXRsZT1cInt7IG1lbnVJdGVtLnRleHQgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgcGVwUnRsRGlyZWN0aW9uIFtkaXNhYmxlZF09XCJtZW51SXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7IHNlbGVjdGVkOiAodHlwZSA9PT0gJ3NlbGVjdCcgfHwgdHlwZSA9PT0gJ2FjdGlvbi1zZWxlY3QnKSAmJiBtZW51SXRlbS5zZWxlY3RlZCwgZGlzYWJsZWQ6IG1lbnVJdGVtLmRpc2FibGVkIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtSWNvbk5hbWU6IG1lbnVJdGVtLmljb25OYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1JY29uUG9zaXRpb246IG1lbnVJdGVtLmljb25Qb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtVGV4dDogbWVudUl0ZW0udGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtVHlwZTogbWVudUl0ZW0udHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNDaGlsZHJlbjogZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9tYXQtbWVudT5cblxuPG5nLXRlbXBsYXRlICNpdGVtVGVtcGxhdGUgbGV0LWl0ZW1JY29uTmFtZT1cIml0ZW1JY29uTmFtZVwiIGxldC1pdGVtSWNvblBvc2l0aW9uPVwiaXRlbUljb25Qb3NpdGlvblwiIGxldC1pdGVtVGV4dD1cIml0ZW1UZXh0XCIgbGV0LWl0ZW1UeXBlPVwiaXRlbVR5cGVcIlxuICAgIGxldC1oYXNDaGlsZHJlbj1cImhhc0NoaWxkcmVuXCI+XG4gICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiaXRlbUljb25OYW1lICYmIGl0ZW1JY29uUG9zaXRpb24gPT09ICdiZWZvcmUnXCIgY2xhc3M9XCJwdWxsLWxlZnQgZmxpcFwiPlxuICAgICAgICAgICAgPHBlcC1pY29uIG5hbWU9XCJ7e2l0ZW1JY29uTmFtZX19XCI+PC9wZXAtaWNvbj5cbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtVGV4dFwiIGNsYXNzPVwicHVsbC1sZWZ0IGZsaXAgdGl0bGUgZWxsaXBzaXNcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnc3BhY2luZy1mcm9tLWljb24nOiBpdGVtSWNvbk5hbWUsICdzcGFjaW5nLWZyb20tc3VibWVudS10cmlnZ2VyJzogaGFzQ2hpbGRyZW4gfVwiXG4gICAgICAgICAgICBbdGl0bGVdPVwiaXRlbVRleHRcIj5cbiAgICAgICAgICAgIHt7IGl0ZW1UZXh0IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiaXRlbUljb25OYW1lICYmIGl0ZW1JY29uUG9zaXRpb24gPT09ICdhZnRlcidcIiBjbGFzcz1cInB1bGwtbGVmdCBmbGlwXCI+XG4gICAgICAgICAgICA8cGVwLWljb24gbmFtZT1cInt7aXRlbUljb25OYW1lfX1cIj48L3BlcC1pY29uPlxuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJoYXNDaGlsZHJlblwiIGNsYXNzPVwicHVsbC1sZWZ0IGZsaXAgc3VibWVudS10cmlnZ2VyXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3JvdGF0ZSc6IHhQb3NpdGlvbiA9PT0gJ2JlZm9yZScgfVwiPlxuICAgICAgICAgICAgPHBlcC1pY29uIG5hbWU9XCJ7eyBzdWJNZW51SWNvbk5hbWUgfX1cIj48L3BlcC1pY29uPlxuICAgICAgICA8L21hdC1pY29uPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -22,6 +22,7 @@ export class PepMenuComponent {
22
22
  * @memberof PepMenuComponent
23
23
  */
24
24
  this.iconName = pepIconSystemMenu.name || 'system_menu';
25
+ this.iconPosition = 'after';
25
26
  this.type = 'action';
26
27
  this.styleType = 'weak';
27
28
  this.sizeType = 'md';
@@ -145,7 +146,7 @@ export class PepMenuComponent {
145
146
  }
146
147
  }
147
148
  PepMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepMenuComponent, deps: [{ token: i1.PepLayoutService }], target: i0.ɵɵFactoryTarget.Component });
148
- PepMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepMenuComponent, selector: "pep-menu", inputs: { text: "text", iconName: "iconName", type: "type", styleType: "styleType", sizeType: "sizeType", classNames: "classNames", xPosition: "xPosition", hideOnEmptyItems: "hideOnEmptyItems", items: "items", selectedItem: "selectedItem", disabled: "disabled" }, outputs: { stateChange: "stateChange", menuItemClick: "menuItemClick", menuClick: "menuClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"menu-container\" dir=\"{{ layoutService.isRtl() ? 'rtl' : 'ltr' }}\">\n\n <ng-container *ngIf=\"hideOnEmptyItems then animationTemplate else regularTemplate\">\n </ng-container>\n <ng-template #animationTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS }\"\n pepRtlDirection pepMenuBlur (click)=\"onMenuClicked($event)\" [@slideInOut]=\"state\"\n (@slideInOut.done)=\"animationDone()\" (@slideInOut.start)=\"animationStart()\"\n [matMenuTriggerFor]=\"menu.childMenu\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n <pep-menu-item #menu [type]=\"type\" [items]=\"items\" [selectedItem]=\"selectedItem\" [xPosition]=\"xPosition\"\n (menuItemClick)=\"onMenuItemClicked($event)\">\n </pep-menu-item>\n </ng-template>\n <ng-template #regularTemplate>\n <ng-container *ngIf=\"items then menuTemplate else buttonTemplate\"></ng-container>\n <ng-template #menuTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS, disabled: disabled }\"\n pepRtlDirection pepMenuBlur [matMenuTriggerFor]=\"menu.childMenu\" [disabled]=\"disabled\"\n (menuClick)=\"onMenuClicked($event)\" (menuOpened)=\"onMenuOpened()\" (menuClosed)=\"onMenuClosed()\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n <pep-menu-item #menu [type]=\"type\" [items]=\"items\" [selectedItem]=\"selectedItem\" [xPosition]=\"xPosition\"\n (menuItemClick)=\"onMenuItemClicked($event)\" ></pep-menu-item>\n </ng-template>\n <ng-template #buttonTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS, disabled: disabled }\"\n pepRtlDirection pepMenuBlur (menuClick)=\"onMenuClicked($event)\" [disabled]=\"disabled\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n </ng-template>\n </ng-template>\n</div>\n\n<ng-template #triggerTemplate>\n <span *ngIf=\"displayText && screenSize <= PepScreenSizeType.SM\" class=\"ellipsis\"\n [ngClass]=\"{ 'button-title-with-icon': iconName }\" [title]=\"displayText\">\n {{ displayText }}\n </span>\n <mat-icon *ngIf=\"iconName\">\n <pep-icon name=\"{{ iconName }}\"></pep-icon>\n </mat-icon>\n</ng-template>", styles: [".menu-container .pep-button{display:flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1.PepMenuBlurDirective, selector: "[pepMenuBlur]" }, { kind: "directive", type: i1.PepRtlDirectionDirective, selector: "[pepRtlDirection]" }, { kind: "component", type: i6.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i7.PepMenuItemComponent, selector: "pep-menu-item", inputs: ["type", "parent", "items", "selectedItem", "xPosition", "subMenuIconName"], outputs: ["menuItemClick"] }], animations: [
149
+ PepMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepMenuComponent, selector: "pep-menu", inputs: { text: "text", iconName: "iconName", iconPosition: "iconPosition", type: "type", styleType: "styleType", sizeType: "sizeType", classNames: "classNames", xPosition: "xPosition", hideOnEmptyItems: "hideOnEmptyItems", items: "items", selectedItem: "selectedItem", disabled: "disabled" }, outputs: { stateChange: "stateChange", menuItemClick: "menuItemClick", menuClick: "menuClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"menu-container\" dir=\"{{ layoutService.isRtl() ? 'rtl' : 'ltr' }}\">\n\n <ng-container *ngIf=\"hideOnEmptyItems then animationTemplate else regularTemplate\">\n </ng-container>\n <ng-template #animationTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS }\"\n pepRtlDirection pepMenuBlur (click)=\"onMenuClicked($event)\" [@slideInOut]=\"state\"\n (@slideInOut.done)=\"animationDone()\" (@slideInOut.start)=\"animationStart()\"\n [matMenuTriggerFor]=\"menu.childMenu\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n <pep-menu-item #menu [type]=\"type\" [items]=\"items\" [selectedItem]=\"selectedItem\" [xPosition]=\"xPosition\"\n (menuItemClick)=\"onMenuItemClicked($event)\">\n </pep-menu-item>\n </ng-template>\n <ng-template #regularTemplate>\n <ng-container *ngIf=\"items then menuTemplate else buttonTemplate\"></ng-container>\n <ng-template #menuTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS, disabled: disabled }\"\n pepRtlDirection pepMenuBlur [matMenuTriggerFor]=\"menu.childMenu\" [disabled]=\"disabled\"\n (menuClick)=\"onMenuClicked($event)\" (menuOpened)=\"onMenuOpened()\" (menuClosed)=\"onMenuClosed()\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n <pep-menu-item #menu [type]=\"type\" [items]=\"items\" [selectedItem]=\"selectedItem\" [xPosition]=\"xPosition\"\n (menuItemClick)=\"onMenuItemClicked($event)\" ></pep-menu-item>\n </ng-template>\n <ng-template #buttonTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS, disabled: disabled }\"\n pepRtlDirection pepMenuBlur (menuClick)=\"onMenuClicked($event)\" [disabled]=\"disabled\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n </ng-template>\n </ng-template>\n</div>\n\n<ng-template #triggerTemplate>\n <mat-icon *ngIf=\"iconName && iconPosition === 'before'\">\n <pep-icon name=\"{{ iconName }}\"></pep-icon>\n </mat-icon>\n <span *ngIf=\"displayText && screenSize <= PepScreenSizeType.SM\" class=\"ellipsis\"\n [ngClass]=\"{ 'button-title-with-icon': iconName, 'icon-before': iconPosition === 'before' }\" [title]=\"displayText\">\n {{ displayText }}\n </span>\n <mat-icon *ngIf=\"iconName && iconPosition === 'after'\">\n <pep-icon name=\"{{ iconName }}\"></pep-icon>\n </mat-icon>\n</ng-template>", styles: [".menu-container .pep-button{display:flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1.PepMenuBlurDirective, selector: "[pepMenuBlur]" }, { kind: "directive", type: i1.PepRtlDirectionDirective, selector: "[pepRtlDirection]" }, { kind: "component", type: i6.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i7.PepMenuItemComponent, selector: "pep-menu-item", inputs: ["type", "parent", "items", "selectedItem", "xPosition", "subMenuIconName"], outputs: ["menuItemClick"] }], animations: [
149
150
  trigger('slideInOut', [
150
151
  state('hidden', style({
151
152
  width: '0px',
@@ -180,11 +181,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
180
181
  transition('close => open', animate('500ms ease-in')),
181
182
  transition('open => close', animate('500ms ease-out')),
182
183
  ]),
183
- ], template: "<div class=\"menu-container\" dir=\"{{ layoutService.isRtl() ? 'rtl' : 'ltr' }}\">\n\n <ng-container *ngIf=\"hideOnEmptyItems then animationTemplate else regularTemplate\">\n </ng-container>\n <ng-template #animationTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS }\"\n pepRtlDirection pepMenuBlur (click)=\"onMenuClicked($event)\" [@slideInOut]=\"state\"\n (@slideInOut.done)=\"animationDone()\" (@slideInOut.start)=\"animationStart()\"\n [matMenuTriggerFor]=\"menu.childMenu\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n <pep-menu-item #menu [type]=\"type\" [items]=\"items\" [selectedItem]=\"selectedItem\" [xPosition]=\"xPosition\"\n (menuItemClick)=\"onMenuItemClicked($event)\">\n </pep-menu-item>\n </ng-template>\n <ng-template #regularTemplate>\n <ng-container *ngIf=\"items then menuTemplate else buttonTemplate\"></ng-container>\n <ng-template #menuTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS, disabled: disabled }\"\n pepRtlDirection pepMenuBlur [matMenuTriggerFor]=\"menu.childMenu\" [disabled]=\"disabled\"\n (menuClick)=\"onMenuClicked($event)\" (menuOpened)=\"onMenuOpened()\" (menuClosed)=\"onMenuClosed()\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n <pep-menu-item #menu [type]=\"type\" [items]=\"items\" [selectedItem]=\"selectedItem\" [xPosition]=\"xPosition\"\n (menuItemClick)=\"onMenuItemClicked($event)\" ></pep-menu-item>\n </ng-template>\n <ng-template #buttonTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS, disabled: disabled }\"\n pepRtlDirection pepMenuBlur (menuClick)=\"onMenuClicked($event)\" [disabled]=\"disabled\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n </ng-template>\n </ng-template>\n</div>\n\n<ng-template #triggerTemplate>\n <span *ngIf=\"displayText && screenSize <= PepScreenSizeType.SM\" class=\"ellipsis\"\n [ngClass]=\"{ 'button-title-with-icon': iconName }\" [title]=\"displayText\">\n {{ displayText }}\n </span>\n <mat-icon *ngIf=\"iconName\">\n <pep-icon name=\"{{ iconName }}\"></pep-icon>\n </mat-icon>\n</ng-template>", styles: [".menu-container .pep-button{display:flex;align-items:center;justify-content:center}\n"] }]
184
+ ], template: "<div class=\"menu-container\" dir=\"{{ layoutService.isRtl() ? 'rtl' : 'ltr' }}\">\n\n <ng-container *ngIf=\"hideOnEmptyItems then animationTemplate else regularTemplate\">\n </ng-container>\n <ng-template #animationTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS }\"\n pepRtlDirection pepMenuBlur (click)=\"onMenuClicked($event)\" [@slideInOut]=\"state\"\n (@slideInOut.done)=\"animationDone()\" (@slideInOut.start)=\"animationStart()\"\n [matMenuTriggerFor]=\"menu.childMenu\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n <pep-menu-item #menu [type]=\"type\" [items]=\"items\" [selectedItem]=\"selectedItem\" [xPosition]=\"xPosition\"\n (menuItemClick)=\"onMenuItemClicked($event)\">\n </pep-menu-item>\n </ng-template>\n <ng-template #regularTemplate>\n <ng-container *ngIf=\"items then menuTemplate else buttonTemplate\"></ng-container>\n <ng-template #menuTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS, disabled: disabled }\"\n pepRtlDirection pepMenuBlur [matMenuTriggerFor]=\"menu.childMenu\" [disabled]=\"disabled\"\n (menuClick)=\"onMenuClicked($event)\" (menuOpened)=\"onMenuOpened()\" (menuClosed)=\"onMenuClosed()\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n <pep-menu-item #menu [type]=\"type\" [items]=\"items\" [selectedItem]=\"selectedItem\" [xPosition]=\"xPosition\"\n (menuItemClick)=\"onMenuItemClicked($event)\" ></pep-menu-item>\n </ng-template>\n <ng-template #buttonTemplate>\n <button mat-button class=\"pep-button {{ sizeType }} {{ styleType }} {{ classNames }}\"\n [ngClass]=\"{ 'icon-button': !displayText || screenSize > PepScreenSizeType.SM, 'pep-button-limited-width': screenSize < PepScreenSizeType.XS, disabled: disabled }\"\n pepRtlDirection pepMenuBlur (menuClick)=\"onMenuClicked($event)\" [disabled]=\"disabled\">\n <ng-container *ngTemplateOutlet=\"triggerTemplate\">\n </ng-container>\n </button>\n </ng-template>\n </ng-template>\n</div>\n\n<ng-template #triggerTemplate>\n <mat-icon *ngIf=\"iconName && iconPosition === 'before'\">\n <pep-icon name=\"{{ iconName }}\"></pep-icon>\n </mat-icon>\n <span *ngIf=\"displayText && screenSize <= PepScreenSizeType.SM\" class=\"ellipsis\"\n [ngClass]=\"{ 'button-title-with-icon': iconName, 'icon-before': iconPosition === 'before' }\" [title]=\"displayText\">\n {{ displayText }}\n </span>\n <mat-icon *ngIf=\"iconName && iconPosition === 'after'\">\n <pep-icon name=\"{{ iconName }}\"></pep-icon>\n </mat-icon>\n</ng-template>", styles: [".menu-container .pep-button{display:flex;align-items:center;justify-content:center}\n"] }]
184
185
  }], ctorParameters: function () { return [{ type: i1.PepLayoutService }]; }, propDecorators: { text: [{
185
186
  type: Input
186
187
  }], iconName: [{
187
188
  type: Input
189
+ }], iconPosition: [{
190
+ type: Input
188
191
  }], type: [{
189
192
  type: Input
190
193
  }], styleType: [{
@@ -210,4 +213,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
210
213
  }], menuClick: [{
211
214
  type: Output
212
215
  }] } });
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL21lbnUvbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL21lbnUvbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQUdmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxPQUFPLEVBQ1AsS0FBSyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxHQUNWLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUlILGlCQUFpQixHQUNwQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBZSxNQUFNLDhCQUE4QixDQUFDO0FBQzlFLE9BQU8sRUFNSCxpQkFBaUIsR0FDcEIsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7OztBQThCdEIsTUFBTSxPQUFPLGdCQUFnQjtJQTBDekIsWUFBbUIsYUFBK0I7UUFBL0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBekN6QyxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ25COzs7OztXQUtHO1FBQ00sYUFBUSxHQUFnQixpQkFBaUIsQ0FBQyxJQUFJLElBQUksYUFBYSxDQUFDO1FBQ2hFLFNBQUksR0FBZ0IsUUFBUSxDQUFDO1FBQzdCLGNBQVMsR0FBaUIsTUFBTSxDQUFDO1FBQ2pDLGFBQVEsR0FBZ0IsSUFBSSxDQUFDO1FBQzdCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsY0FBUyxHQUF1QixPQUFPLENBQUM7UUFDeEMscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBRTFCLFdBQU0sR0FBdUIsSUFBSSxDQUFDO1FBVWpDLGlCQUFZLEdBQWdCLElBQUksQ0FBQztRQUNqQyxhQUFRLEdBQUcsS0FBSyxDQUFD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Ujt3QkFDUixPQUFPLENBQUMsWUFBWSxFQUFFOzRCQUNsQixLQUFLLENBQ0QsUUFBUSxFQUNSLEtBQUssQ0FBQztnQ0FDRixLQUFLLEVBQUUsS0FBSztnQ0FDWixPQUFPLEVBQUUsR0FBRztnQ0FDWixNQUFNLEVBQUUsR0FBRztnQ0FDWCxRQUFRLEVBQUUsS0FBSztnQ0FDZixPQUFPLEVBQUUsQ0FBQzs2QkFDYixDQUFDLENBQ0w7NEJBQ0QsS0FBSyxDQUNELFNBQVMsRUFDVCxLQUFLLENBQUM7Z0NBQ0YsS0FBSyxFQUFFLFNBQVM7Z0NBQ2hCLE9BQU8sRUFBRSxDQUFDOzZCQUNiLENBQUMsQ0FDTDs0QkFDRCxVQUFVLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQzs0QkFDckQsVUFBVSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzt5QkFDekQsQ0FBQztxQkFDTDt1R0FHUSxJQUFJO3NCQUFaLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBSUYsS0FBSztzQkFEUixLQUFLO2dCQVNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFHTixXQUFXO3NCQURWLE1BQU07Z0JBR1AsYUFBYTtzQkFEWixNQUFNO2dCQUVHLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICB0cmlnZ2VyLFxuICAgIHN0YXRlLFxuICAgIHN0eWxlLFxuICAgIHRyYW5zaXRpb24sXG4gICAgYW5pbWF0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICAgIFBlcExheW91dFNlcnZpY2UsXG4gICAgUGVwU3R5bGVUeXBlLFxuICAgIFBlcFNpemVUeXBlLFxuICAgIFBlcFNjcmVlblNpemVUeXBlLFxufSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBwZXBJY29uU3lzdGVtTWVudSwgUGVwSWNvblR5cGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9pY29uJztcbmltcG9ydCB7XG4gICAgUGVwTWVudUl0ZW0sXG4gICAgSVBlcE1lbnVJdGVtQ2xpY2tFdmVudCxcbiAgICBJUGVwTWVudVN0YXRlQ2hhbmdlRXZlbnQsXG4gICAgUGVwTWVudVN0YXRlVHlwZSxcbiAgICBQZXBNZW51VHlwZSxcbiAgICBQZXBNZW51SXRlbVBhcmVudCxcbn0gZnJvbSAnLi9tZW51Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtbWVudScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL21lbnUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ3NsaWRlSW5PdXQnLCBbXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnaGlkZGVuJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnMHB4JyxcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJzAnLFxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICcwJyxcbiAgICAgICAgICAgICAgICAgICAgbWluV2lkdGg6ICcwcHgnLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ3Zpc2libGUnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICdpbmhlcml0JyxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2Nsb3NlID0+IG9wZW4nLCBhbmltYXRlKCc1MDBtcyBlYXNlLWluJykpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignb3BlbiA9PiBjbG9zZScsIGFuaW1hdGUoJzUwMG1zIGVhc2Utb3V0JykpLFxuICAgICAgICBdKSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIHRleHQgPSAnJztcbiAgICAvKipcbiAgICAgKiBUaGUgaWNvbiBuYW1lIHRvIHNob3cgb24gdGhlIG1lbnUsIGxvb2sgaW4gKEBsaW5rIGljb24gLT4gQWxsIGljb25zKSwgZGVmYXVsdCBpY29uIGBzeXN0ZW1fbWVudWBcbiAgICAgKlxuICAgICAqIEB0eXBlIHtQZXBJY29uVHlwZX0gU2VlIHtAbGluayBQZXBJY29uVHlwZX1cbiAgICAgKiBAbWVtYmVyb2YgUGVwTWVudUNvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIGljb25OYW1lOiBQZXBJY29uVHlwZSA9IHBlcEljb25TeXN0ZW1NZW51Lm5hbWUgfHwgJ3N5c3RlbV9tZW51JztcbiAgICBASW5wdXQoKSB0eXBlOiBQZXBNZW51VHlwZSA9ICdhY3Rpb24nO1xuICAgIEBJbnB1dCgpIHN0eWxlVHlwZTogUGVwU3R5bGVUeXBlID0gJ3dlYWsnO1xuICAgIEBJbnB1dCgpIHNpemVUeXBlOiBQZXBTaXplVHlwZSA9ICdtZCc7XG4gICAgQElucHV0KCkgY2xhc3NOYW1lcyA9ICcnO1xuICAgIEBJbnB1dCgpIHhQb3NpdGlvbjogJ2JlZm9yZScgfCAnYWZ0ZXInID0gJ2FmdGVyJztcbiAgICBASW5wdXQoKSBoaWRlT25FbXB0eUl0ZW1zID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIF9pdGVtczogQXJyYXk8UGVwTWVudUl0ZW0+ID0gbnVsbDtcbiAgICBASW5wdXQoKVxuICAgIHNldCBpdGVtcyhpdGVtczogQXJyYXk8UGVwTWVudUl0ZW0+KSB7XG4gICAgICAgIHRoaXMuc2V0SXRlbXNQYXJlbnQoaXRlbXMpO1xuICAgICAgICB0aGlzLl9pdGVtcyA9IGl0ZW1zO1xuICAgIH1cbiAgICBnZXQgaXRlbXMoKTogQXJyYXk8UGVwTWVudUl0ZW0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2l0ZW1zO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNlbGVjdGVkSXRlbTogUGVwTWVudUl0ZW0gPSBudWxsO1xuICAgIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KClcbiAgICBzdGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPElQZXBNZW51U3RhdGVDaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQZXBNZW51U3RhdGVDaGFuZ2VFdmVudD4oKTtcbiAgICBAT3V0cHV0KClcbiAgICBtZW51SXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8SVBlcE1lbnVJdGVtQ2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQZXBNZW51SXRlbUNsaWNrRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIG1lbnVDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgc3RhdGU6IFBlcE1lbnVTdGF0ZVR5cGUgPSAnaGlkZGVuJztcblxuICAgIFBlcFNjcmVlblNpemVUeXBlID0gUGVwU2NyZWVuU2l6ZVR5cGU7XG4gICAgc2NyZWVuU2l6ZTogUGVwU2NyZWVuU2l6ZVR5cGU7XG5cbiAgICBkaXNwbGF5VGV4dDogc3RyaW5nID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBsYXlvdXRTZXJ2aWNlOiBQZXBMYXlvdXRTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5vblJlc2l6ZSQuc3Vic2NyaWJlKChzaXplKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNjcmVlblNpemUgPSBzaXplO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldENoaWxkcmVuUGFyZW50KFxuICAgICAgICBpdGVtOiBQZXBNZW51SXRlbSxcbiAgICAgICAgcGFyZW50OiBQZXBNZW51SXRlbVBhcmVudFxuICAgICk6IHZvaWQge1xuICAgICAgICBpdGVtLnBhcmVudCA9IHBhcmVudDtcblxuICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbiAmJiBpdGVtLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGl0ZW0uY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldENoaWxkcmVuUGFyZW50KGNoaWxkLCBuZXcgUGVwTWVudUl0ZW1QYXJlbnQoaXRlbSkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEl0ZW1zUGFyZW50KGl0ZW1zOiBBcnJheTxQZXBNZW51SXRlbT4pOiB2b2lkIHtcbiAgICAgICAgaWYgKGl0ZW1zKSB7XG4gICAgICAgICAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbS5wYXJlbnQgPSBudWxsO1xuXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4gJiYgaXRlbS5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0Q2hpbGRyZW5QYXJlbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFBlcE1lbnVJdGVtUGFyZW50KGl0ZW0pXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlVGV4dCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3NlbGVjdCcgfHwgdGhpcy50eXBlID09PSAnYWN0aW9uLXNlbGVjdCcpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheVRleHQgPSB0aGlzLnNlbGVjdGVkSXRlbVxuICAgICAgICAgICAgICAgID8gdGhpcy5zZWxlY3RlZEl0ZW0udGV4dFxuICAgICAgICAgICAgICAgIDogdGhpcy50ZXh0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kaXNwbGF5VGV4dCA9IHRoaXMudGV4dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaGlkZU9uRW1wdHlJdGVtcykge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZSA9XG4gICAgICAgICAgICAgICAgIXRoaXMuZGlzYWJsZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtcyAmJlxuICAgICAgICAgICAgICAgICAgICB0aGlzLml0ZW1zLmZpbHRlcigoaXRlbSkgPT4gIWl0ZW0uZGlzYWJsZWQpLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICAgICAgPyAndmlzaWJsZSdcbiAgICAgICAgICAgICAgICAgICAgOiAnaGlkZGVuJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPSAndmlzaWJsZSc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50eXBlID09PSAnc2VsZWN0Jykge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID09PSBudWxsICYmXG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtcyAmJlxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMubGVuZ3RoID4gMFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSB0aGlzLml0ZW1zWzBdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVUZXh0KCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIC8vIGlmICh0aGlzLm1lbnVJdGVtQ2xpY2spIHtcbiAgICAgICAgLy8gICAgIHRoaXMubWVudUl0ZW1DbGljay51bnN1YnNjcmliZSgpO1xuICAgICAgICAvLyB9XG4gICAgfVxuXG4gICAgb25NZW51Q2xpY2tlZChldmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1lbnVDbGljay5lbWl0KCk7XG4gICAgfVxuXG4gICAgLy8gcHJpdmF0ZSBtYW5pcHVsYXRlRGF0YShtZW51SXRlbTogUGVwTWVudUl0ZW0pIHtcbiAgICAvLyAgICAgbWVudUl0ZW0uY2hpbGRyZW4gPSBudWxsO1xuXG4gICAgLy8gICAgIGlmIChtZW51SXRlbS5wYXJlbnQpIHtcbiAgICAvLyAgICAgICAgIG1lbnVJdGVtLnBhcmVudCA9IG5ldyBQZXBNZW51SXRlbShtZW51SXRlbS5wYXJlbnQpO1xuICAgIC8vICAgICAgICAgdGhpcy5tYW5pcHVsYXRlRGF0YShtZW51SXRlbS5wYXJlbnQpO1xuICAgIC8vICAgICB9XG4gICAgLy8gfVxuXG4gICAgb25NZW51SXRlbUNsaWNrZWQoY2xpY2s6IElQZXBNZW51SXRlbUNsaWNrRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBjbGljay5zb3VyY2U7XG4gICAgICAgIHRoaXMudXBkYXRlVGV4dCgpO1xuXG4gICAgICAgIC8vIE1hbmlwdWxhdGUgY2xpY2sgZGF0YSBiZWNhdXNlIHRoZSBkYXRhIGlzIGR1cHBsaWNhdGUgaW4gcGFyZW50LmNoaWxkcmVuXG4gICAgICAgIC8vIGNvbnN0IHRtcCA9IG5ldyBQZXBNZW51SXRlbShjbGljay5zb3VyY2UpO1xuICAgICAgICAvLyB0aGlzLm1hbmlwdWxhdGVEYXRhKHRtcCk7XG4gICAgICAgIC8vIGNsaWNrLnNvdXJjZSA9IHRtcDtcblxuICAgICAgICB0aGlzLm1lbnVJdGVtQ2xpY2suZW1pdChjbGljayk7XG4gICAgfVxuXG4gICAgYW5pbWF0aW9uRG9uZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUgPT09ICdoaWRkZW4nKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQoeyBzdGF0ZTogdGhpcy5zdGF0ZSB9KTtcbiAgICAgICAgICAgIH0sIDUwMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhbmltYXRpb25TdGFydCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUgPT09ICd2aXNpYmxlJykge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZS5lbWl0KHsgc3RhdGU6IHRoaXMuc3RhdGUgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk1lbnVPcGVuZWQoKSB7XG4gICAgICAgIHRoaXMuc3RhdGUgPSAndmlzaWJsZSc7XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCh7IHN0YXRlOiB0aGlzLnN0YXRlIH0pO1xuICAgIH1cblxuICAgIG9uTWVudUNsb3NlZCgpIHtcbiAgICAgICAgdGhpcy5zdGF0ZSA9ICdoaWRkZW4nO1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQoeyBzdGF0ZTogdGhpcy5zdGF0ZSB9KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWVudS1jb250YWluZXJcIiBkaXI9XCJ7eyBsYXlvdXRTZXJ2aWNlLmlzUnRsKCkgPyAncnRsJyA6ICdsdHInIH19XCI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGlkZU9uRW1wdHlJdGVtcyB0aGVuIGFuaW1hdGlvblRlbXBsYXRlIGVsc2UgcmVndWxhclRlbXBsYXRlXCI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNhbmltYXRpb25UZW1wbGF0ZT5cbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNsYXNzPVwicGVwLWJ1dHRvbiB7eyBzaXplVHlwZSB9fSB7eyBzdHlsZVR5cGUgfX0ge3sgY2xhc3NOYW1lcyB9fVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpY29uLWJ1dHRvbic6ICFkaXNwbGF5VGV4dCB8fCBzY3JlZW5TaXplID4gUGVwU2NyZWVuU2l6ZVR5cGUuU00sICdwZXAtYnV0dG9uLWxpbWl0ZWQtd2lkdGgnOiBzY3JlZW5TaXplIDwgUGVwU2NyZWVuU2l6ZVR5cGUuWFMgIH1cIlxuICAgICAgICAgICAgcGVwUnRsRGlyZWN0aW9uIHBlcE1lbnVCbHVyIChjbGljayk9XCJvbk1lbnVDbGlja2VkKCRldmVudClcIiBbQHNsaWRlSW5PdXRdPVwic3RhdGVcIlxuICAgICAgICAgICAgKEBzbGlkZUluT3V0LmRvbmUpPVwiYW5pbWF0aW9uRG9uZSgpXCIgKEBzbGlkZUluT3V0LnN0YXJ0KT1cImFuaW1hdGlvblN0YXJ0KClcIlxuICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnUuY2hpbGRNZW51XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidHJpZ2dlclRlbXBsYXRlXCI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxwZXAtbWVudS1pdGVtICNtZW51IFt0eXBlXT1cInR5cGVcIiBbaXRlbXNdPVwiaXRlbXNcIiBbc2VsZWN0ZWRJdGVtXT1cInNlbGVjdGVkSXRlbVwiIFt4UG9zaXRpb25dPVwieFBvc2l0aW9uXCJcbiAgICAgICAgICAgIChtZW51SXRlbUNsaWNrKT1cIm9uTWVudUl0ZW1DbGlja2VkKCRldmVudClcIj5cbiAgICAgICAgPC9wZXAtbWVudS1pdGVtPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNyZWd1bGFyVGVtcGxhdGU+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtcyB0aGVuIG1lbnVUZW1wbGF0ZSBlbHNlIGJ1dHRvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbWVudVRlbXBsYXRlPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNsYXNzPVwicGVwLWJ1dHRvbiB7eyBzaXplVHlwZSB9fSB7eyBzdHlsZVR5cGUgfX0ge3sgY2xhc3NOYW1lcyB9fVwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaWNvbi1idXR0b24nOiAhZGlzcGxheVRleHQgfHwgc2NyZWVuU2l6ZSA+IFBlcFNjcmVlblNpemVUeXBlLlNNLCAncGVwLWJ1dHRvbi1saW1pdGVkLXdpZHRoJzogc2NyZWVuU2l6ZSA8IFBlcFNjcmVlblNpemVUeXBlLlhTLCBkaXNhYmxlZDogZGlzYWJsZWQgfVwiXG4gICAgICAgICAgICAgICAgcGVwUnRsRGlyZWN0aW9uIHBlcE1lbnVCbHVyIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51LmNoaWxkTWVudVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgKG1lbnVDbGljayk9XCJvbk1lbnVDbGlja2VkKCRldmVudClcIiAobWVudU9wZW5lZCk9XCJvbk1lbnVPcGVuZWQoKVwiIChtZW51Q2xvc2VkKT1cIm9uTWVudUNsb3NlZCgpXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRyaWdnZXJUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8cGVwLW1lbnUtaXRlbSAjbWVudSBbdHlwZV09XCJ0eXBlXCIgW2l0ZW1zXT1cIml0ZW1zXCIgW3NlbGVjdGVkSXRlbV09XCJzZWxlY3RlZEl0ZW1cIiBbeFBvc2l0aW9uXT1cInhQb3NpdGlvblwiXG4gICAgICAgICAgICAgICAgKG1lbnVJdGVtQ2xpY2spPVwib25NZW51SXRlbUNsaWNrZWQoJGV2ZW50KVwiID48L3BlcC1tZW51LWl0ZW0+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjYnV0dG9uVGVtcGxhdGU+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9XCJwZXAtYnV0dG9uIHt7IHNpemVUeXBlIH19IHt7IHN0eWxlVHlwZSB9fSB7eyBjbGFzc05hbWVzIH19XCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpY29uLWJ1dHRvbic6ICFkaXNwbGF5VGV4dCB8fCBzY3JlZW5TaXplID4gUGVwU2NyZWVuU2l6ZVR5cGUuU00sICdwZXAtYnV0dG9uLWxpbWl0ZWQtd2lkdGgnOiBzY3JlZW5TaXplIDwgUGVwU2NyZWVuU2l6ZVR5cGUuWFMsIGRpc2FibGVkOiBkaXNhYmxlZCB9XCJcbiAgICAgICAgICAgICAgICBwZXBSdGxEaXJlY3Rpb24gcGVwTWVudUJsdXIgKG1lbnVDbGljayk9XCJvbk1lbnVDbGlja2VkKCRldmVudClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidHJpZ2dlclRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjdHJpZ2dlclRlbXBsYXRlPlxuICAgIDxzcGFuICpuZ0lmPVwiZGlzcGxheVRleHQgJiYgc2NyZWVuU2l6ZSA8PSBQZXBTY3JlZW5TaXplVHlwZS5TTVwiIGNsYXNzPVwiZWxsaXBzaXNcIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdidXR0b24tdGl0bGUtd2l0aC1pY29uJzogaWNvbk5hbWUgfVwiIFt0aXRsZV09XCJkaXNwbGF5VGV4dFwiPlxuICAgICAgICB7eyBkaXNwbGF5VGV4dCB9fVxuICAgIDwvc3Bhbj5cbiAgICA8bWF0LWljb24gKm5nSWY9XCJpY29uTmFtZVwiPlxuICAgICAgICA8cGVwLWljb24gbmFtZT1cInt7IGljb25OYW1lIH19XCI+PC9wZXAtaWNvbj5cbiAgICA8L21hdC1pY29uPlxuPC9uZy10ZW1wbGF0ZT4iXX0=
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL21lbnUvbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL21lbnUvbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQUdmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxPQUFPLEVBQ1AsS0FBSyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxHQUNWLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUlILGlCQUFpQixHQUNwQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBZSxNQUFNLDhCQUE4QixDQUFDO0FBQzlFLE9BQU8sRUFNSCxpQkFBaUIsR0FDcEIsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7OztBQThCdEIsTUFBTSxPQUFPLGdCQUFnQjtJQTJDekIsWUFBbUIsYUFBK0I7UUFBL0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBMUN6QyxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ25COzs7OztXQUtHO1FBQ00sYUFBUSxHQUFnQixpQkFBaUIsQ0FBQyxJQUFJLElBQUksYUFBYSxDQUFDO1FBQ2hFLGlCQUFZLEdBQXVCLE9BQU8sQ0FBQztRQUMzQyxTQUFJLEdBQWdCLFFBQVEsQ0FBQztRQUM3QixjQUFTLEdBQWlCLE1BQU0sQ0FBQztRQUNqQyxhQUFRLEdBQWdCLElBQUksQ0FBQztRQUM3QixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLGNBQVMsR0FBdUIsT0FBTyxDQUFDO1FBQ3hDLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUUxQixXQUFNLEdBQXVCLElBQUksQ0FBQztRQVVqQyxpQkFBWSxHQUFnQixJQUFJLENB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QjtrQkE1QjVCLFNBQVM7K0JBQ0ksVUFBVSxjQUdSO3dCQUNSLE9BQU8sQ0FBQyxZQUFZLEVBQUU7NEJBQ2xCLEtBQUssQ0FDRCxRQUFRLEVBQ1IsS0FBSyxDQUFDO2dDQUNGLEtBQUssRUFBRSxLQUFLO2dDQUNaLE9BQU8sRUFBRSxHQUFHO2dDQUNaLE1BQU0sRUFBRSxHQUFHO2dDQUNYLFFBQVEsRUFBRSxLQUFLO2dDQUNmLE9BQU8sRUFBRSxDQUFDOzZCQUNiLENBQUMsQ0FDTDs0QkFDRCxLQUFLLENBQ0QsU0FBUyxFQUNULEtBQUssQ0FBQztnQ0FDRixLQUFLLEVBQUUsU0FBUztnQ0FDaEIsT0FBTyxFQUFFLENBQUM7NkJBQ2IsQ0FBQyxDQUNMOzRCQUNELFVBQVUsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDOzRCQUNyRCxVQUFVLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO3lCQUN6RCxDQUFDO3FCQUNMO3VHQUdRLElBQUk7c0JBQVosS0FBSztnQkFPRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUlGLEtBQUs7c0JBRFIsS0FBSztnQkFTRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR04sV0FBVztzQkFEVixNQUFNO2dCQUdQLGFBQWE7c0JBRFosTUFBTTtnQkFFRyxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgdHJpZ2dlcixcbiAgICBzdGF0ZSxcbiAgICBzdHlsZSxcbiAgICB0cmFuc2l0aW9uLFxuICAgIGFuaW1hdGUsXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgICBQZXBMYXlvdXRTZXJ2aWNlLFxuICAgIFBlcFN0eWxlVHlwZSxcbiAgICBQZXBTaXplVHlwZSxcbiAgICBQZXBTY3JlZW5TaXplVHlwZSxcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgcGVwSWNvblN5c3RlbU1lbnUsIFBlcEljb25UeXBlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvaWNvbic7XG5pbXBvcnQge1xuICAgIFBlcE1lbnVJdGVtLFxuICAgIElQZXBNZW51SXRlbUNsaWNrRXZlbnQsXG4gICAgSVBlcE1lbnVTdGF0ZUNoYW5nZUV2ZW50LFxuICAgIFBlcE1lbnVTdGF0ZVR5cGUsXG4gICAgUGVwTWVudVR5cGUsXG4gICAgUGVwTWVudUl0ZW1QYXJlbnQsXG59IGZyb20gJy4vbWVudS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLW1lbnUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9tZW51LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdzbGlkZUluT3V0JywgW1xuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2hpZGRlbicsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzBweCcsXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICcwJyxcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAnMCcsXG4gICAgICAgICAgICAgICAgICAgIG1pbldpZHRoOiAnMHB4JyxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICd2aXNpYmxlJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnaW5oZXJpdCcsXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdjbG9zZSA9PiBvcGVuJywgYW5pbWF0ZSgnNTAwbXMgZWFzZS1pbicpKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ29wZW4gPT4gY2xvc2UnLCBhbmltYXRlKCc1MDBtcyBlYXNlLW91dCcpKSxcbiAgICAgICAgXSksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUGVwTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSB0ZXh0ID0gJyc7XG4gICAgLyoqXG4gICAgICogVGhlIGljb24gbmFtZSB0byBzaG93IG9uIHRoZSBtZW51LCBsb29rIGluIChAbGluayBpY29uIC0+IEFsbCBpY29ucyksIGRlZmF1bHQgaWNvbiBgc3lzdGVtX21lbnVgXG4gICAgICpcbiAgICAgKiBAdHlwZSB7UGVwSWNvblR5cGV9IFNlZSB7QGxpbmsgUGVwSWNvblR5cGV9XG4gICAgICogQG1lbWJlcm9mIFBlcE1lbnVDb21wb25lbnRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBpY29uTmFtZTogUGVwSWNvblR5cGUgPSBwZXBJY29uU3lzdGVtTWVudS5uYW1lIHx8ICdzeXN0ZW1fbWVudSc7XG4gICAgQElucHV0KCkgaWNvblBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicgPSAnYWZ0ZXInO1xuICAgIEBJbnB1dCgpIHR5cGU6IFBlcE1lbnVUeXBlID0gJ2FjdGlvbic7XG4gICAgQElucHV0KCkgc3R5bGVUeXBlOiBQZXBTdHlsZVR5cGUgPSAnd2Vhayc7XG4gICAgQElucHV0KCkgc2l6ZVR5cGU6IFBlcFNpemVUeXBlID0gJ21kJztcbiAgICBASW5wdXQoKSBjbGFzc05hbWVzID0gJyc7XG4gICAgQElucHV0KCkgeFBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicgPSAnYWZ0ZXInO1xuICAgIEBJbnB1dCgpIGhpZGVPbkVtcHR5SXRlbXMgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgX2l0ZW1zOiBBcnJheTxQZXBNZW51SXRlbT4gPSBudWxsO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGl0ZW1zKGl0ZW1zOiBBcnJheTxQZXBNZW51SXRlbT4pIHtcbiAgICAgICAgdGhpcy5zZXRJdGVtc1BhcmVudChpdGVtcyk7XG4gICAgICAgIHRoaXMuX2l0ZW1zID0gaXRlbXM7XG4gICAgfVxuICAgIGdldCBpdGVtcygpOiBBcnJheTxQZXBNZW51SXRlbT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXRlbXM7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2VsZWN0ZWRJdGVtOiBQZXBNZW51SXRlbSA9IG51bGw7XG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHN0YXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVBlcE1lbnVTdGF0ZUNoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcE1lbnVTdGF0ZUNoYW5nZUV2ZW50PigpO1xuICAgIEBPdXRwdXQoKVxuICAgIG1lbnVJdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxJUGVwTWVudUl0ZW1DbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcE1lbnVJdGVtQ2xpY2tFdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgbWVudUNsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBzdGF0ZTogUGVwTWVudVN0YXRlVHlwZSA9ICdoaWRkZW4nO1xuXG4gICAgUGVwU2NyZWVuU2l6ZVR5cGUgPSBQZXBTY3JlZW5TaXplVHlwZTtcbiAgICBzY3JlZW5TaXplOiBQZXBTY3JlZW5TaXplVHlwZTtcblxuICAgIGRpc3BsYXlUZXh0OiBzdHJpbmcgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGxheW91dFNlcnZpY2U6IFBlcExheW91dFNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLm9uUmVzaXplJC5zdWJzY3JpYmUoKHNpemUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2NyZWVuU2l6ZSA9IHNpemU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Q2hpbGRyZW5QYXJlbnQoXG4gICAgICAgIGl0ZW06IFBlcE1lbnVJdGVtLFxuICAgICAgICBwYXJlbnQ6IFBlcE1lbnVJdGVtUGFyZW50XG4gICAgKTogdm9pZCB7XG4gICAgICAgIGl0ZW0ucGFyZW50ID0gcGFyZW50O1xuXG4gICAgICAgIGlmIChpdGVtLmNoaWxkcmVuICYmIGl0ZW0uY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgaXRlbS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0Q2hpbGRyZW5QYXJlbnQoY2hpbGQsIG5ldyBQZXBNZW51SXRlbVBhcmVudChpdGVtKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SXRlbXNQYXJlbnQoaXRlbXM6IEFycmF5PFBlcE1lbnVJdGVtPik6IHZvaWQge1xuICAgICAgICBpZiAoaXRlbXMpIHtcbiAgICAgICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBpdGVtLnBhcmVudCA9IG51bGw7XG5cbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbiAmJiBpdGVtLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRDaGlsZHJlblBhcmVudChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgUGVwTWVudUl0ZW1QYXJlbnQoaXRlbSlcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUZXh0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50eXBlID09PSAnc2VsZWN0JyB8fCB0aGlzLnR5cGUgPT09ICdhY3Rpb24tc2VsZWN0Jykge1xuICAgICAgICAgICAgdGhpcy5kaXNwbGF5VGV4dCA9IHRoaXMuc2VsZWN0ZWRJdGVtXG4gICAgICAgICAgICAgICAgPyB0aGlzLnNlbGVjdGVkSXRlbS50ZXh0XG4gICAgICAgICAgICAgICAgOiB0aGlzLnRleHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlUZXh0ID0gdGhpcy50ZXh0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5oaWRlT25FbXB0eUl0ZW1zKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXRlID1cbiAgICAgICAgICAgICAgICAhdGhpcy5kaXNhYmxlZCAmJlxuICAgICAgICAgICAgICAgICAgICB0aGlzLml0ZW1zICYmXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChpdGVtKSA9PiAhaXRlbS5kaXNhYmxlZCkubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgICAgICA/ICd2aXNpYmxlJ1xuICAgICAgICAgICAgICAgICAgICA6ICdoaWRkZW4nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZSA9ICd2aXNpYmxlJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdzZWxlY3QnKSB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPT09IG51bGwgJiZcbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1zICYmXG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtcy5sZW5ndGggPiAwXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHRoaXMuaXRlbXNbMF07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVRleHQoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy8gaWYgKHRoaXMubWVudUl0ZW1DbGljaykge1xuICAgICAgICAvLyAgICAgdGhpcy5tZW51SXRlbUNsaWNrLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIC8vIH1cbiAgICB9XG5cbiAgICBvbk1lbnVDbGlja2VkKGV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVudUNsaWNrLmVtaXQoKTtcbiAgICB9XG5cbiAgICAvLyBwcml2YXRlIG1hbmlwdWxhdGVEYXRhKG1lbnVJdGVtOiBQZXBNZW51SXRlbSkge1xuICAgIC8vICAgICBtZW51SXRlbS5jaGlsZHJlbiA9IG51bGw7XG5cbiAgICAvLyAgICAgaWYgKG1lbnVJdGVtLnBhcmVudCkge1xuICAgIC8vICAgICAgICAgbWVudUl0ZW0ucGFyZW50ID0gbmV3IFBlcE1lbnVJdGVtKG1lbnVJdGVtLnBhcmVudCk7XG4gICAgLy8gICAgICAgICB0aGlzLm1hbmlwdWxhdGVEYXRhKG1lbnVJdGVtLnBhcmVudCk7XG4gICAgLy8gICAgIH1cbiAgICAvLyB9XG5cbiAgICBvbk1lbnVJdGVtQ2xpY2tlZChjbGljazogSVBlcE1lbnVJdGVtQ2xpY2tFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IGNsaWNrLnNvdXJjZTtcbiAgICAgICAgdGhpcy51cGRhdGVUZXh0KCk7XG5cbiAgICAgICAgLy8gTWFuaXB1bGF0ZSBjbGljayBkYXRhIGJlY2F1c2UgdGhlIGRhdGEgaXMgZHVwcGxpY2F0ZSBpbiBwYXJlbnQuY2hpbGRyZW5cbiAgICAgICAgLy8gY29uc3QgdG1wID0gbmV3IFBlcE1lbnVJdGVtKGNsaWNrLnNvdXJjZSk7XG4gICAgICAgIC8vIHRoaXMubWFuaXB1bGF0ZURhdGEodG1wKTtcbiAgICAgICAgLy8gY2xpY2suc291cmNlID0gdG1wO1xuXG4gICAgICAgIHRoaXMubWVudUl0ZW1DbGljay5lbWl0KGNsaWNrKTtcbiAgICB9XG5cbiAgICBhbmltYXRpb25Eb25lKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ2hpZGRlbicpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCh7IHN0YXRlOiB0aGlzLnN0YXRlIH0pO1xuICAgICAgICAgICAgfSwgNTAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFuaW1hdGlvblN0YXJ0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ3Zpc2libGUnKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQoeyBzdGF0ZTogdGhpcy5zdGF0ZSB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTWVudU9wZW5lZCgpIHtcbiAgICAgICAgdGhpcy5zdGF0ZSA9ICd2aXNpYmxlJztcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZS5lbWl0KHsgc3RhdGU6IHRoaXMuc3RhdGUgfSk7XG4gICAgfVxuXG4gICAgb25NZW51Q2xvc2VkKCkge1xuICAgICAgICB0aGlzLnN0YXRlID0gJ2hpZGRlbic7XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCh7IHN0YXRlOiB0aGlzLnN0YXRlIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtZW51LWNvbnRhaW5lclwiIGRpcj1cInt7IGxheW91dFNlcnZpY2UuaXNSdGwoKSA/ICdydGwnIDogJ2x0cicgfX1cIj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoaWRlT25FbXB0eUl0ZW1zIHRoZW4gYW5pbWF0aW9uVGVtcGxhdGUgZWxzZSByZWd1bGFyVGVtcGxhdGVcIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2FuaW1hdGlvblRlbXBsYXRlPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9XCJwZXAtYnV0dG9uIHt7IHNpemVUeXBlIH19IHt7IHN0eWxlVHlwZSB9fSB7eyBjbGFzc05hbWVzIH19XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2ljb24tYnV0dG9uJzogIWRpc3BsYXlUZXh0IHx8IHNjcmVlblNpemUgPiBQZXBTY3JlZW5TaXplVHlwZS5TTSwgJ3BlcC1idXR0b24tbGltaXRlZC13aWR0aCc6IHNjcmVlblNpemUgPCBQZXBTY3JlZW5TaXplVHlwZS5YUyAgfVwiXG4gICAgICAgICAgICBwZXBSdGxEaXJlY3Rpb24gcGVwTWVudUJsdXIgKGNsaWNrKT1cIm9uTWVudUNsaWNrZWQoJGV2ZW50KVwiIFtAc2xpZGVJbk91dF09XCJzdGF0ZVwiXG4gICAgICAgICAgICAoQHNsaWRlSW5PdXQuZG9uZSk9XCJhbmltYXRpb25Eb25lKClcIiAoQHNsaWRlSW5PdXQuc3RhcnQpPVwiYW5pbWF0aW9uU3RhcnQoKVwiXG4gICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudS5jaGlsZE1lbnVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0cmlnZ2VyVGVtcGxhdGVcIj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPHBlcC1tZW51LWl0ZW0gI21lbnUgW3R5cGVdPVwidHlwZVwiIFtpdGVtc109XCJpdGVtc1wiIFtzZWxlY3RlZEl0ZW1dPVwic2VsZWN0ZWRJdGVtXCIgW3hQb3NpdGlvbl09XCJ4UG9zaXRpb25cIlxuICAgICAgICAgICAgKG1lbnVJdGVtQ2xpY2spPVwib25NZW51SXRlbUNsaWNrZWQoJGV2ZW50KVwiPlxuICAgICAgICA8L3BlcC1tZW51LWl0ZW0+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI3JlZ3VsYXJUZW1wbGF0ZT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1zIHRoZW4gbWVudVRlbXBsYXRlIGVsc2UgYnV0dG9uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNtZW51VGVtcGxhdGU+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9XCJwZXAtYnV0dG9uIHt7IHNpemVUeXBlIH19IHt7IHN0eWxlVHlwZSB9fSB7eyBjbGFzc05hbWVzIH19XCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpY29uLWJ1dHRvbic6ICFkaXNwbGF5VGV4dCB8fCBzY3JlZW5TaXplID4gUGVwU2NyZWVuU2l6ZVR5cGUuU00sICdwZXAtYnV0dG9uLWxpbWl0ZWQtd2lkdGgnOiBzY3JlZW5TaXplIDwgUGVwU2NyZWVuU2l6ZVR5cGUuWFMsIGRpc2FibGVkOiBkaXNhYmxlZCB9XCJcbiAgICAgICAgICAgICAgICBwZXBSdGxEaXJlY3Rpb24gcGVwTWVudUJsdXIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnUuY2hpbGRNZW51XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAobWVudUNsaWNrKT1cIm9uTWVudUNsaWNrZWQoJGV2ZW50KVwiIChtZW51T3BlbmVkKT1cIm9uTWVudU9wZW5lZCgpXCIgKG1lbnVDbG9zZWQpPVwib25NZW51Q2xvc2VkKClcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidHJpZ2dlclRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxwZXAtbWVudS1pdGVtICNtZW51IFt0eXBlXT1cInR5cGVcIiBbaXRlbXNdPVwiaXRlbXNcIiBbc2VsZWN0ZWRJdGVtXT1cInNlbGVjdGVkSXRlbVwiIFt4UG9zaXRpb25dPVwieFBvc2l0aW9uXCJcbiAgICAgICAgICAgICAgICAobWVudUl0ZW1DbGljayk9XCJvbk1lbnVJdGVtQ2xpY2tlZCgkZXZlbnQpXCIgPjwvcGVwLW1lbnUtaXRlbT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNidXR0b25UZW1wbGF0ZT5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjbGFzcz1cInBlcC1idXR0b24ge3sgc2l6ZVR5cGUgfX0ge3sgc3R5bGVUeXBlIH19IHt7IGNsYXNzTmFtZXMgfX1cIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2ljb24tYnV0dG9uJzogIWRpc3BsYXlUZXh0IHx8IHNjcmVlblNpemUgPiBQZXBTY3JlZW5TaXplVHlwZS5TTSwgJ3BlcC1idXR0b24tbGltaXRlZC13aWR0aCc6IHNjcmVlblNpemUgPCBQZXBTY3JlZW5TaXplVHlwZS5YUywgZGlzYWJsZWQ6IGRpc2FibGVkIH1cIlxuICAgICAgICAgICAgICAgIHBlcFJ0bERpcmVjdGlvbiBwZXBNZW51Qmx1ciAobWVudUNsaWNrKT1cIm9uTWVudUNsaWNrZWQoJGV2ZW50KVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0cmlnZ2VyVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICN0cmlnZ2VyVGVtcGxhdGU+XG4gICAgPG1hdC1pY29uICpuZ0lmPVwiaWNvbk5hbWUgJiYgaWNvblBvc2l0aW9uID09PSAnYmVmb3JlJ1wiPlxuICAgICAgICA8cGVwLWljb24gbmFtZT1cInt7IGljb25OYW1lIH19XCI+PC9wZXAtaWNvbj5cbiAgICA8L21hdC1pY29uPlxuICAgIDxzcGFuICpuZ0lmPVwiZGlzcGxheVRleHQgJiYgc2NyZWVuU2l6ZSA8PSBQZXBTY3JlZW5TaXplVHlwZS5TTVwiIGNsYXNzPVwiZWxsaXBzaXNcIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdidXR0b24tdGl0bGUtd2l0aC1pY29uJzogaWNvbk5hbWUsICdpY29uLWJlZm9yZSc6IGljb25Qb3NpdGlvbiA9PT0gJ2JlZm9yZScgfVwiIFt0aXRsZV09XCJkaXNwbGF5VGV4dFwiPlxuICAgICAgICB7eyBkaXNwbGF5VGV4dCB9fVxuICAgIDwvc3Bhbj5cbiAgICA8bWF0LWljb24gKm5nSWY9XCJpY29uTmFtZSAgJiYgaWNvblBvc2l0aW9uID09PSAnYWZ0ZXInXCI+XG4gICAgICAgIDxwZXAtaWNvbiBuYW1lPVwie3sgaWNvbk5hbWUgfX1cIj48L3BlcC1pY29uPlxuICAgIDwvbWF0LWljb24+XG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -10,10 +10,11 @@ export class PepMenuItem {
10
10
  this.disabled = false;
11
11
  this.hidden = false;
12
12
  this.iconName = null;
13
+ this.iconPosition = 'before';
13
14
  this.type = 'regular';
14
15
  this.children = null;
15
16
  this.parent = null;
16
17
  Object.assign(this, data);
17
18
  }
18
19
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvbWVudS9tZW51Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sT0FBTyxpQkFBaUI7SUFJMUIsWUFBWSxJQUFpQjtRQUY3QixXQUFNLEdBQXVCLElBQUksQ0FBQztRQUc5QixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzlCLENBQUM7Q0FDSjtBQUNELE1BQU0sT0FBTyxXQUFXO0lBVXBCLFlBQVksSUFBMEI7UUFQdEMsYUFBUSxHQUFhLEtBQUssQ0FBQztRQUMzQixXQUFNLEdBQWEsS0FBSyxDQUFDO1FBQ3pCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFDekIsU0FBSSxHQUFxQixTQUFTLENBQUM7UUFDbkMsYUFBUSxHQUF3QixJQUFJLENBQUM7UUFDckMsV0FBTSxHQUF1QixJQUFJLENBQUM7UUFHOUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgUGVwTWVudVR5cGUgPSAnYWN0aW9uJyB8ICdhY3Rpb24tc2VsZWN0JyB8ICdzZWxlY3QnO1xuXG5leHBvcnQgdHlwZSBQZXBNZW51SXRlbVR5cGUgPSAncmVndWxhcicgfCAnc3BsaXR0ZXInO1xuXG5leHBvcnQgdHlwZSBQZXBNZW51U3RhdGVUeXBlID0gJ3Zpc2libGUnIHwgJ2hpZGRlbic7XG5cbmV4cG9ydCBjbGFzcyBQZXBNZW51SXRlbVBhcmVudCB7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgcGFyZW50PzogUGVwTWVudUl0ZW1QYXJlbnQgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoZGF0YTogUGVwTWVudUl0ZW0pIHtcbiAgICAgICAgdGhpcy5rZXkgPSBkYXRhLmtleTtcbiAgICAgICAgdGhpcy5wYXJlbnQgPSBkYXRhLnBhcmVudDtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgUGVwTWVudUl0ZW0ge1xuICAgIGtleTogc3RyaW5nO1xuICAgIHRleHQ/OiBzdHJpbmc7XG4gICAgZGlzYWJsZWQ/OiBib29sZWFuID0gZmFsc2U7XG4gICAgaGlkZGVuPzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGljb25OYW1lPzogc3RyaW5nID0gbnVsbDtcbiAgICB0eXBlPzogUGVwTWVudUl0ZW1UeXBlID0gJ3JlZ3VsYXInO1xuICAgIGNoaWxkcmVuPzogQXJyYXk8UGVwTWVudUl0ZW0+ID0gbnVsbDtcbiAgICBwYXJlbnQ/OiBQZXBNZW51SXRlbVBhcmVudCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBQYXJ0aWFsPFBlcE1lbnVJdGVtPikge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGRhdGEpO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGVwTWVudUl0ZW1DbGlja0V2ZW50IHtcbiAgICBzb3VyY2U6IFBlcE1lbnVJdGVtO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQZXBNZW51U3RhdGVDaGFuZ2VFdmVudCB7XG4gICAgc3RhdGU6IFBlcE1lbnVTdGF0ZVR5cGU7XG59XG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvbWVudS9tZW51Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sT0FBTyxpQkFBaUI7SUFJMUIsWUFBWSxJQUFpQjtRQUY3QixXQUFNLEdBQXVCLElBQUksQ0FBQztRQUc5QixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzlCLENBQUM7Q0FDSjtBQUNELE1BQU0sT0FBTyxXQUFXO0lBV3BCLFlBQVksSUFBMEI7UUFSdEMsYUFBUSxHQUFhLEtBQUssQ0FBQztRQUMzQixXQUFNLEdBQWEsS0FBSyxDQUFDO1FBQ3pCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFDekIsaUJBQVksR0FBd0IsUUFBUSxDQUFDO1FBQzdDLFNBQUksR0FBcUIsU0FBUyxDQUFDO1FBQ25DLGFBQVEsR0FBd0IsSUFBSSxDQUFDO1FBQ3JDLFdBQU0sR0FBdUIsSUFBSSxDQUFDO1FBRzlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFBlcE1lbnVUeXBlID0gJ2FjdGlvbicgfCAnYWN0aW9uLXNlbGVjdCcgfCAnc2VsZWN0JztcblxuZXhwb3J0IHR5cGUgUGVwTWVudUl0ZW1UeXBlID0gJ3JlZ3VsYXInIHwgJ3NwbGl0dGVyJztcblxuZXhwb3J0IHR5cGUgUGVwTWVudVN0YXRlVHlwZSA9ICd2aXNpYmxlJyB8ICdoaWRkZW4nO1xuXG5leHBvcnQgY2xhc3MgUGVwTWVudUl0ZW1QYXJlbnQge1xuICAgIGtleTogc3RyaW5nO1xuICAgIHBhcmVudD86IFBlcE1lbnVJdGVtUGFyZW50ID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKGRhdGE6IFBlcE1lbnVJdGVtKSB7XG4gICAgICAgIHRoaXMua2V5ID0gZGF0YS5rZXk7XG4gICAgICAgIHRoaXMucGFyZW50ID0gZGF0YS5wYXJlbnQ7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIFBlcE1lbnVJdGVtIHtcbiAgICBrZXk6IHN0cmluZztcbiAgICB0ZXh0Pzogc3RyaW5nO1xuICAgIGRpc2FibGVkPzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGhpZGRlbj86IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBpY29uTmFtZT86IHN0cmluZyA9IG51bGw7XG4gICAgaWNvblBvc2l0aW9uPzogJ2JlZm9yZScgfCAnYWZ0ZXInID0gJ2JlZm9yZSc7XG4gICAgdHlwZT86IFBlcE1lbnVJdGVtVHlwZSA9ICdyZWd1bGFyJztcbiAgICBjaGlsZHJlbj86IEFycmF5PFBlcE1lbnVJdGVtPiA9IG51bGw7XG4gICAgcGFyZW50PzogUGVwTWVudUl0ZW1QYXJlbnQgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoZGF0YTogUGFydGlhbDxQZXBNZW51SXRlbT4pIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBkYXRhKTtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBlcE1lbnVJdGVtQ2xpY2tFdmVudCB7XG4gICAgc291cmNlOiBQZXBNZW51SXRlbTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGVwTWVudVN0YXRlQ2hhbmdlRXZlbnQge1xuICAgIHN0YXRlOiBQZXBNZW51U3RhdGVUeXBlO1xufVxuIl19
@@ -1,7 +1,6 @@
1
1
  import { Component, Input, } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@pepperi-addons/ngx-lib";
4
- import * as i2 from "@angular/common";
5
4
  export class PepPageLayoutComponent {
6
5
  constructor(customizationService, layoutService, cdRef, hostElement, renderer) {
7
6
  this.customizationService = customizationService;
@@ -9,27 +8,49 @@ export class PepPageLayoutComponent {
9
8
  this.cdRef = cdRef;
10
9
  this.hostElement = hostElement;
11
10
  this.renderer = renderer;
12
- this.addPadding = false;
13
- this.showShadow = false;
11
+ this._addPadding = false;
12
+ this.__pepLifecyclePhase = 'constructor';
13
+ this.__pepViewReady = false;
14
+ this._showShadow = false;
14
15
  this.renderer.addClass(this.hostElement.nativeElement, 'pep-page-layout');
15
16
  }
17
+ set addPadding(value) {
18
+ this._addPadding = value;
19
+ if (this.cdRef && this.__pepViewReady) {
20
+ this.cdRef.detectChanges();
21
+ }
22
+ }
23
+ get addPadding() {
24
+ return this._addPadding;
25
+ }
26
+ set showShadow(value) {
27
+ this._showShadow = value;
28
+ if (this.cdRef && this.__pepViewReady) {
29
+ this.cdRef.detectChanges();
30
+ }
31
+ }
32
+ get showShadow() {
33
+ return this._showShadow;
34
+ }
16
35
  ngAfterViewInit() {
36
+ this.__pepLifecyclePhase = 'ngAfterViewInit';
37
+ this.__pepViewReady = true;
17
38
  this.layoutService.onResize$.subscribe((size) => {
18
39
  this.screenSize = size;
19
40
  });
20
41
  }
21
42
  ngAfterContentInit() {
22
- //
43
+ this.__pepLifecyclePhase = 'ngAfterContentInit';
23
44
  }
24
45
  }
25
46
  PepPageLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepPageLayoutComponent, deps: [{ token: i1.PepCustomizationService }, { token: i1.PepLayoutService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
26
- PepPageLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepPageLayoutComponent, selector: "pep-page-layout", inputs: { addPadding: "addPadding", showShadow: "showShadow" }, ngImport: i0, template: "<div class=\"pep-page-header-layout\">\n <ng-content select=\"[pep-header-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar\"></ng-content>\n <ng-content select=\"[pep-side-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout side-layout-end\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar[position='end']\"></ng-content>\n <ng-content select=\"[pep-side-area-end]\"></ng-content>\n</div>\n<div class=\"pep-page-main-layout\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div class=\"pep-top-area\">\n <ng-content select=\"[pep-top-area]\"></ng-content>\n </div>\n <div class=\"pep-main-area\">\n <ng-content select=\"[pep-main-area]\"></ng-content>\n </div>\n</div>", styles: [":host.pep-page-layout{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;grid-template-areas:\"header-layout header-layout header-layout\" \"side-layout main-layout side-layout-end\";height:100%;width:100%;overflow:hidden}:host.pep-page-layout .pep-page-header-layout{grid-area:header-layout;z-index:10}:host.pep-page-layout .pep-page-side-layout{grid-area:side-layout;overflow:hidden;height:100%;z-index:5}:host.pep-page-layout .pep-page-side-layout.show-shadow [pep-side-area],:host.pep-page-layout .pep-page-side-layout.show-shadow pep-side-bar{padding-inline-end:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-side-layout.side-layout-end{grid-area:side-layout-end}:host.pep-page-layout .pep-page-side-layout.side-layout-end.show-shadow [pep-side-area-end],:host.pep-page-layout .pep-page-side-layout.side-layout-end.show-shadow pep-side-bar[position=end]{padding-inline-start:var(--pep-spacing-lg, 1rem);padding-inline-end:unset}:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area],:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area-end]{height:inherit}:host.pep-page-layout .pep-page-main-layout{grid-area:main-layout;overflow:hidden;height:100%;z-index:1;padding-bottom:var(--pep-footer-bar-height, 4.5rem);display:grid;grid-template-rows:auto 1fr;grid-template-areas:\"top-area\" \"main-area\"}:host.pep-page-layout .pep-page-main-layout.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-main-layout .pep-top-area{grid-area:top-area}:host.pep-page-layout .pep-page-main-layout .pep-main-area{grid-area:main-area;overflow:auto;height:100%;display:block}:host.pep-page-layout .pep-page-main-layout .pep-main-area>*{height:inherit}\n", ".pep-page-side-layout.show-shadow{box-shadow:var(--pep-shadow-md-offset, 0 .5rem 1rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.32)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
47
+ PepPageLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepPageLayoutComponent, selector: "pep-page-layout", inputs: { addPadding: "addPadding", showShadow: "showShadow" }, ngImport: i0, template: "<div class=\"pep-page-header-layout\">\n <ng-content select=\"[pep-header-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout\" [class.show-shadow]=\"showShadow\">\n <ng-content select=\"pep-side-bar\"></ng-content>\n <ng-content select=\"[pep-side-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout side-layout-end\" [class.show-shadow]=\"showShadow\">\n <ng-content select=\"pep-side-bar[position='end']\"></ng-content>\n <ng-content select=\"[pep-side-area-end]\"></ng-content>\n</div>\n<div class=\"pep-page-main-layout\" [class.add-padding]=\"addPadding\">\n <div class=\"pep-top-area\">\n <ng-content select=\"[pep-top-area]\"></ng-content>\n </div>\n <div class=\"pep-main-area\">\n <ng-content select=\"[pep-main-area]\"></ng-content>\n </div>\n</div>", styles: [":host.pep-page-layout{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;grid-template-areas:\"header-layout header-layout header-layout\" \"side-layout main-layout side-layout-end\";height:100%;width:100%;overflow:hidden}:host.pep-page-layout .pep-page-header-layout{grid-area:header-layout;z-index:10}:host.pep-page-layout .pep-page-side-layout{grid-area:side-layout;overflow:hidden;height:100%;z-index:5}:host.pep-page-layout .pep-page-side-layout.show-shadow [pep-side-area],:host.pep-page-layout .pep-page-side-layout.show-shadow pep-side-bar{padding-inline-end:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-side-layout.side-layout-end{grid-area:side-layout-end}:host.pep-page-layout .pep-page-side-layout.side-layout-end.show-shadow [pep-side-area-end],:host.pep-page-layout .pep-page-side-layout.side-layout-end.show-shadow pep-side-bar[position=end]{padding-inline-start:var(--pep-spacing-lg, 1rem);padding-inline-end:unset}:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area],:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area-end]{height:inherit}:host.pep-page-layout .pep-page-main-layout{grid-area:main-layout;overflow:hidden;height:100%;z-index:1;padding-bottom:var(--pep-footer-bar-height, 4.5rem);display:grid;grid-template-rows:auto 1fr;grid-template-areas:\"top-area\" \"main-area\"}:host.pep-page-layout .pep-page-main-layout.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-main-layout .pep-top-area{grid-area:top-area}:host.pep-page-layout .pep-page-main-layout .pep-main-area{grid-area:main-area;overflow:auto;height:100%;display:block}:host.pep-page-layout .pep-page-main-layout .pep-main-area>*{height:inherit}\n", ".pep-page-side-layout.show-shadow{box-shadow:var(--pep-shadow-md-offset, 0 .5rem 1rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.32)}\n"] });
27
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepPageLayoutComponent, decorators: [{
28
49
  type: Component,
29
- args: [{ selector: 'pep-page-layout', template: "<div class=\"pep-page-header-layout\">\n <ng-content select=\"[pep-header-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar\"></ng-content>\n <ng-content select=\"[pep-side-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout side-layout-end\" [ngClass]=\"{ 'show-shadow': showShadow }\">\n <ng-content select=\"pep-side-bar[position='end']\"></ng-content>\n <ng-content select=\"[pep-side-area-end]\"></ng-content>\n</div>\n<div class=\"pep-page-main-layout\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div class=\"pep-top-area\">\n <ng-content select=\"[pep-top-area]\"></ng-content>\n </div>\n <div class=\"pep-main-area\">\n <ng-content select=\"[pep-main-area]\"></ng-content>\n </div>\n</div>", styles: [":host.pep-page-layout{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;grid-template-areas:\"header-layout header-layout header-layout\" \"side-layout main-layout side-layout-end\";height:100%;width:100%;overflow:hidden}:host.pep-page-layout .pep-page-header-layout{grid-area:header-layout;z-index:10}:host.pep-page-layout .pep-page-side-layout{grid-area:side-layout;overflow:hidden;height:100%;z-index:5}:host.pep-page-layout .pep-page-side-layout.show-shadow [pep-side-area],:host.pep-page-layout .pep-page-side-layout.show-shadow pep-side-bar{padding-inline-end:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-side-layout.side-layout-end{grid-area:side-layout-end}:host.pep-page-layout .pep-page-side-layout.side-layout-end.show-shadow [pep-side-area-end],:host.pep-page-layout .pep-page-side-layout.side-layout-end.show-shadow pep-side-bar[position=end]{padding-inline-start:var(--pep-spacing-lg, 1rem);padding-inline-end:unset}:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area],:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area-end]{height:inherit}:host.pep-page-layout .pep-page-main-layout{grid-area:main-layout;overflow:hidden;height:100%;z-index:1;padding-bottom:var(--pep-footer-bar-height, 4.5rem);display:grid;grid-template-rows:auto 1fr;grid-template-areas:\"top-area\" \"main-area\"}:host.pep-page-layout .pep-page-main-layout.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-main-layout .pep-top-area{grid-area:top-area}:host.pep-page-layout .pep-page-main-layout .pep-main-area{grid-area:main-area;overflow:auto;height:100%;display:block}:host.pep-page-layout .pep-page-main-layout .pep-main-area>*{height:inherit}\n", ".pep-page-side-layout.show-shadow{box-shadow:var(--pep-shadow-md-offset, 0 .5rem 1rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.32)}\n"] }]
50
+ args: [{ selector: 'pep-page-layout', template: "<div class=\"pep-page-header-layout\">\n <ng-content select=\"[pep-header-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout\" [class.show-shadow]=\"showShadow\">\n <ng-content select=\"pep-side-bar\"></ng-content>\n <ng-content select=\"[pep-side-area]\"></ng-content>\n</div>\n<div class=\"pep-page-side-layout side-layout-end\" [class.show-shadow]=\"showShadow\">\n <ng-content select=\"pep-side-bar[position='end']\"></ng-content>\n <ng-content select=\"[pep-side-area-end]\"></ng-content>\n</div>\n<div class=\"pep-page-main-layout\" [class.add-padding]=\"addPadding\">\n <div class=\"pep-top-area\">\n <ng-content select=\"[pep-top-area]\"></ng-content>\n </div>\n <div class=\"pep-main-area\">\n <ng-content select=\"[pep-main-area]\"></ng-content>\n </div>\n</div>", styles: [":host.pep-page-layout{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;grid-template-areas:\"header-layout header-layout header-layout\" \"side-layout main-layout side-layout-end\";height:100%;width:100%;overflow:hidden}:host.pep-page-layout .pep-page-header-layout{grid-area:header-layout;z-index:10}:host.pep-page-layout .pep-page-side-layout{grid-area:side-layout;overflow:hidden;height:100%;z-index:5}:host.pep-page-layout .pep-page-side-layout.show-shadow [pep-side-area],:host.pep-page-layout .pep-page-side-layout.show-shadow pep-side-bar{padding-inline-end:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-side-layout.side-layout-end{grid-area:side-layout-end}:host.pep-page-layout .pep-page-side-layout.side-layout-end.show-shadow [pep-side-area-end],:host.pep-page-layout .pep-page-side-layout.side-layout-end.show-shadow pep-side-bar[position=end]{padding-inline-start:var(--pep-spacing-lg, 1rem);padding-inline-end:unset}:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area],:host.pep-page-layout .pep-page-side-layout ::ng-deep div[pep-side-area-end]{height:inherit}:host.pep-page-layout .pep-page-main-layout{grid-area:main-layout;overflow:hidden;height:100%;z-index:1;padding-bottom:var(--pep-footer-bar-height, 4.5rem);display:grid;grid-template-rows:auto 1fr;grid-template-areas:\"top-area\" \"main-area\"}:host.pep-page-layout .pep-page-main-layout.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}:host.pep-page-layout .pep-page-main-layout .pep-top-area{grid-area:top-area}:host.pep-page-layout .pep-page-main-layout .pep-main-area{grid-area:main-area;overflow:auto;height:100%;display:block}:host.pep-page-layout .pep-page-main-layout .pep-main-area>*{height:inherit}\n", ".pep-page-side-layout.show-shadow{box-shadow:var(--pep-shadow-md-offset, 0 .5rem 1rem 0) hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.32)}\n"] }]
30
51
  }], ctorParameters: function () { return [{ type: i1.PepCustomizationService }, { type: i1.PepLayoutService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { addPadding: [{
31
52
  type: Input
32
53
  }], showShadow: [{
33
54
  type: Input
34
55
  }] } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9wYWdlLWxheW91dC9wYWdlLWxheW91dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3BhZ2UtbGF5b3V0L3BhZ2UtbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFFSCxTQUFTLEVBRVQsS0FBSyxHQUVSLE1BQU0sZUFBZSxDQUFDOzs7O0FBWXZCLE1BQU0sT0FBTyxzQkFBc0I7SUFNL0IsWUFDVyxvQkFBNkMsRUFDN0MsYUFBK0IsRUFDOUIsS0FBd0IsRUFDeEIsV0FBdUIsRUFDdkIsUUFBbUI7UUFKcEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF5QjtRQUM3QyxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDOUIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQVZ0QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFXeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQXVCLEVBQUUsRUFBRTtZQUMvRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUVQLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxFQUFFO0lBQ04sQ0FBQzs7bUhBekJRLHNCQUFzQjt1R0FBdEIsc0JBQXNCLHVIQzFCbkMsdzFCQWtCTTsyRkRRTyxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0ksaUJBQWlCOzhOQUtsQixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgUmVuZGVyZXIyLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBQZXBDdXN0b21pemF0aW9uU2VydmljZSxcbiAgICBQZXBMYXlvdXRTZXJ2aWNlLFxuICAgIFBlcFNjcmVlblNpemVUeXBlLFxufSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLXBhZ2UtbGF5b3V0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGFnZS1sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3BhZ2UtbGF5b3V0LmNvbXBvbmVudC5zY3NzJywgJy4vcGFnZS1sYXlvdXQuY29tcG9uZW50LnRoZW1lLnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUGVwUGFnZUxheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIEFmdGVyQ29udGVudEluaXQge1xuICAgIEBJbnB1dCgpIGFkZFBhZGRpbmcgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBzaG93U2hhZG93ID0gZmFsc2U7XG4gICAgXG4gICAgc2NyZWVuU2l6ZTogUGVwU2NyZWVuU2l6ZVR5cGU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGN1c3RvbWl6YXRpb25TZXJ2aWNlOiBQZXBDdXN0b21pemF0aW9uU2VydmljZSxcbiAgICAgICAgcHVibGljIGxheW91dFNlcnZpY2U6IFBlcExheW91dFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAncGVwLXBhZ2UtbGF5b3V0Jyk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uub25SZXNpemUkLnN1YnNjcmliZSgoc2l6ZTogUGVwU2NyZWVuU2l6ZVR5cGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2NyZWVuU2l6ZSA9IHNpemU7XG4gICAgICAgIH0pO1xuXG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICAvL1xuICAgIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cInBlcC1wYWdlLWhlYWRlci1sYXlvdXRcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbcGVwLWhlYWRlci1hcmVhXVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInBlcC1wYWdlLXNpZGUtbGF5b3V0XCIgW25nQ2xhc3NdPVwieyAnc2hvdy1zaGFkb3cnOiBzaG93U2hhZG93IH1cIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJwZXAtc2lkZS1iYXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3BlcC1zaWRlLWFyZWFdXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicGVwLXBhZ2Utc2lkZS1sYXlvdXQgc2lkZS1sYXlvdXQtZW5kXCIgW25nQ2xhc3NdPVwieyAnc2hvdy1zaGFkb3cnOiBzaG93U2hhZG93IH1cIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJwZXAtc2lkZS1iYXJbcG9zaXRpb249J2VuZCddXCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltwZXAtc2lkZS1hcmVhLWVuZF1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJwZXAtcGFnZS1tYWluLWxheW91dFwiIFtuZ0NsYXNzXT1cInsgJ2FkZC1wYWRkaW5nJzogYWRkUGFkZGluZyB9XCI+XG4gICAgPGRpdiBjbGFzcz1cInBlcC10b3AtYXJlYVwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbcGVwLXRvcC1hcmVhXVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicGVwLW1haW4tYXJlYVwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbcGVwLW1haW4tYXJlYV1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9wYWdlLWxheW91dC9wYWdlLWxheW91dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3BhZ2UtbGF5b3V0L3BhZ2UtbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFFSCxTQUFTLEVBRVQsS0FBSyxHQUVSLE1BQU0sZUFBZSxDQUFDOzs7QUFZdkIsTUFBTSxPQUFPLHNCQUFzQjtJQWdDL0IsWUFDVyxvQkFBNkMsRUFDN0MsYUFBK0IsRUFDOUIsS0FBd0IsRUFDeEIsV0FBdUIsRUFDdkIsUUFBbUI7UUFKcEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF5QjtRQUM3QyxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDOUIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQXBDdkIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsd0JBQW1CLEdBQUcsYUFBYSxDQUFDO1FBQ3BDLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBY3ZCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBc0J4QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFuQ0QsSUFDSSxVQUFVLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUV6QixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQzlCO0lBQ0wsQ0FBQztJQUNELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBR0QsSUFDSSxVQUFVLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUV6QixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQzlCO0lBQ0wsQ0FBQztJQUNELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBY0QsZUFBZTtRQUNYLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxpQkFBaUIsQ0FBQztRQUM3QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUUzQixJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUF1QixFQUFFLEVBQUU7WUFDL0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFFUCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLG1CQUFtQixHQUFHLG9CQUFvQixDQUFDO0lBQ3BELENBQUM7O21IQXREUSxzQkFBc0I7dUdBQXRCLHNCQUFzQix1SEMxQm5DLDZ6QkFrQk07MkZEUU8sc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNJLGlCQUFpQjs4TkFVdkIsVUFBVTtzQkFEYixLQUFLO2dCQWNGLFVBQVU7c0JBRGIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBSZW5kZXJlcjIsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLFxuICAgIFBlcExheW91dFNlcnZpY2UsXG4gICAgUGVwU2NyZWVuU2l6ZVR5cGUsXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtcGFnZS1sYXlvdXQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wYWdlLWxheW91dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcGFnZS1sYXlvdXQuY29tcG9uZW50LnNjc3MnLCAnLi9wYWdlLWxheW91dC5jb21wb25lbnQudGhlbWUuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBQYWdlTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgcHJpdmF0ZSBfYWRkUGFkZGluZyA9IGZhbHNlO1xuICAgIHByaXZhdGUgX19wZXBMaWZlY3ljbGVQaGFzZSA9ICdjb25zdHJ1Y3Rvcic7XG4gICAgcHJpdmF0ZSBfX3BlcFZpZXdSZWFkeSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgYWRkUGFkZGluZyh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9hZGRQYWRkaW5nID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMuY2RSZWYgJiYgdGhpcy5fX3BlcFZpZXdSZWFkeSkge1xuICAgICAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IGFkZFBhZGRpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRQYWRkaW5nO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3Nob3dTaGFkb3cgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIHNldCBzaG93U2hhZG93KHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3Nob3dTaGFkb3cgPSB2YWx1ZTtcblxuICAgICAgICBpZiAodGhpcy5jZFJlZiAmJiB0aGlzLl9fcGVwVmlld1JlYWR5KSB7XG4gICAgICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgc2hvd1NoYWRvdygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dTaGFkb3c7XG4gICAgfVxuICAgIFxuICAgIHNjcmVlblNpemU6IFBlcFNjcmVlblNpemVUeXBlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBjdXN0b21pemF0aW9uU2VydmljZTogUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBsYXlvdXRTZXJ2aWNlOiBQZXBMYXlvdXRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3BlcC1wYWdlLWxheW91dCcpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fX3BlcExpZmVjeWNsZVBoYXNlID0gJ25nQWZ0ZXJWaWV3SW5pdCc7XG4gICAgICAgIHRoaXMuX19wZXBWaWV3UmVhZHkgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5vblJlc2l6ZSQuc3Vic2NyaWJlKChzaXplOiBQZXBTY3JlZW5TaXplVHlwZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zY3JlZW5TaXplID0gc2l6ZTtcbiAgICAgICAgfSk7XG5cbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMuX19wZXBMaWZlY3ljbGVQaGFzZSA9ICduZ0FmdGVyQ29udGVudEluaXQnO1xuICAgIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cInBlcC1wYWdlLWhlYWRlci1sYXlvdXRcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbcGVwLWhlYWRlci1hcmVhXVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInBlcC1wYWdlLXNpZGUtbGF5b3V0XCIgW2NsYXNzLnNob3ctc2hhZG93XT1cInNob3dTaGFkb3dcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJwZXAtc2lkZS1iYXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3BlcC1zaWRlLWFyZWFdXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicGVwLXBhZ2Utc2lkZS1sYXlvdXQgc2lkZS1sYXlvdXQtZW5kXCIgW2NsYXNzLnNob3ctc2hhZG93XT1cInNob3dTaGFkb3dcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJwZXAtc2lkZS1iYXJbcG9zaXRpb249J2VuZCddXCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltwZXAtc2lkZS1hcmVhLWVuZF1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJwZXAtcGFnZS1tYWluLWxheW91dFwiIFtjbGFzcy5hZGQtcGFkZGluZ109XCJhZGRQYWRkaW5nXCI+XG4gICAgPGRpdiBjbGFzcz1cInBlcC10b3AtYXJlYVwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbcGVwLXRvcC1hcmVhXVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicGVwLW1haW4tYXJlYVwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbcGVwLW1haW4tYXJlYV1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
42
42
  }], deleteClick: [{
43
43
  type: Output
44
44
  }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1kYXRhLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9wcm9maWxlLWRhdGEtdmlld3MtbGlzdC9wcm9maWxlLWRhdGEtdmlldy9wcm9maWxlLWRhdGEtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3Byb2ZpbGUtZGF0YS12aWV3cy1saXN0L3Byb2ZpbGUtZGF0YS12aWV3L3Byb2ZpbGUtZGF0YS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUy9FLE1BQU0sT0FBTyx3QkFBd0I7SUFTakM7UUFMUyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRWhCLGNBQVMsR0FBZ0QsSUFBSSxZQUFZLEVBQWlDLENBQUM7UUFDM0csZ0JBQVcsR0FBZ0QsSUFBSSxZQUFZLEVBQWlDLENBQUM7UUFHbkgsRUFBRTtJQUNMLENBQUM7SUFFRixRQUFRO1FBQ0osRUFBRTtJQUNOLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBMkI7UUFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDaEIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQzlCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBMkI7UUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7WUFDbEIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQzlCLENBQUMsQ0FBQztJQUNQLENBQUM7O3FIQTNCUSx3QkFBd0I7eUdBQXhCLHdCQUF3Qiw4TkNUckMsazhCQWdCTTsyRkRQTyx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0ksdUJBQXVCOzBFQUt4QixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFSSxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJUGVwQnV0dG9uQ2xpY2tFdmVudCB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2J1dHRvbic7XG5pbXBvcnQgeyBJUGVwUHJvZmlsZURhdGFWaWV3Q2xpY2tFdmVudCB9IGZyb20gJy4uL3Byb2ZpbGUtZGF0YS12aWV3cy1saXN0Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtcHJvZmlsZS1kYXRhLXZpZXcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcm9maWxlLWRhdGEtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcHJvZmlsZS1kYXRhLXZpZXcuY29tcG9uZW50LnNjc3MnLCAnLi9wcm9maWxlLWRhdGEtdmlldy5jb21wb25lbnQudGhlbWUuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVEYXRhVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgZGF0YVZpZXdJZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZmllbGRzOiBzdHJpbmdbXTtcbiAgICBASW5wdXQoKSBjYW5EZWxldGUgPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpIGVkaXRDbGljazogRXZlbnRFbWl0dGVyPElQZXBQcm9maWxlRGF0YVZpZXdDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcFByb2ZpbGVEYXRhVmlld0NsaWNrRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIGRlbGV0ZUNsaWNrOiBFdmVudEVtaXR0ZXI8SVBlcFByb2ZpbGVEYXRhVmlld0NsaWNrRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJUGVwUHJvZmlsZURhdGFWaWV3Q2xpY2tFdmVudD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICAvL1xuICAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgLy9cbiAgICB9XG5cbiAgICBvbkVkaXRDbGlja2VkKGV2ZW50OiBJUGVwQnV0dG9uQ2xpY2tFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVkaXRDbGljay5lbWl0KHtcbiAgICAgICAgICAgIGRhdGFWaWV3SWQ6IHRoaXMuZGF0YVZpZXdJZFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkRlbGV0ZUNsaWNrZWQoZXZlbnQ6IElQZXBCdXR0b25DbGlja0V2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVsZXRlQ2xpY2suZW1pdCh7XG4gICAgICAgICAgICBkYXRhVmlld0lkOiB0aGlzLmRhdGFWaWV3SWRcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGRpdiAqbmdJZj1cInRpdGxlPy5sZW5ndGggPiAwXCIgY2xhc3M9XCJkYXRhLXZpZXctdGl0bGUtY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cInRpdGxlIGVsbGlwc2lzXCIgW3RpdGxlXT1cInRpdGxlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGUtbWRcIj57e3RpdGxlfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPHBlcC1idXR0b24gKm5nSWY9XCJjYW5EZWxldGVcIiBjbGFzcz1cImRlbGV0ZS1idXR0b25cIiBzaXplVHlwZT1cInhzXCIgKGJ1dHRvbkNsaWNrKT1cIm9uRGVsZXRlQ2xpY2tlZCgkZXZlbnQpXCJcbiAgICAgICAgW3ZhbHVlXT1cIidBQ1RJT05TLlJFTU9WRScgfCB0cmFuc2xhdGVcIj5cbiAgICA8L3BlcC1idXR0b24+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJkYXRhLXZpZXctY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImZpZWxkcy1jb250YWluZXJcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjb2xvci1jYXV0aW9uIGJvZHkteHMgZWxsaXBzaXMgZGF0YS12aWV3LWZpZWxkXCIgKm5nSWY9XCJmaWVsZHMgPT09IG51bGwgfHwgZmllbGRzLmxlbmd0aCA9PT0gMFwiPlxuICAgICAgICAgICAge3soJ1BST0ZJTEVfREFUQV9WSUVXU19MSVNULk5PX0ZJRUxEU19BU1NJR05FRCcgfCB0cmFuc2xhdGUpfX08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY29sb3ItZGltbWVkIGJvZHkteHMgZWxsaXBzaXMgZGF0YS12aWV3LWZpZWxkXCIgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGZpZWxkc1wiIFt0aXRsZV09XCJmaWVsZFwiPnt7ZmllbGR9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8cGVwLWJ1dHRvbiBjbGFzcz1cImVkaXQtYnV0dG9uXCIgaWNvbk5hbWU9XCJzeXN0ZW1fZWRpdFwiIHNpemVUeXBlPVwieHNcIiAoYnV0dG9uQ2xpY2spPVwib25FZGl0Q2xpY2tlZCgkZXZlbnQpXCI+XG4gICAgPC9wZXAtYnV0dG9uPlxuPC9kaXY+Il19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1kYXRhLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9wcm9maWxlLWRhdGEtdmlld3MtbGlzdC9wcm9maWxlLWRhdGEtdmlldy9wcm9maWxlLWRhdGEtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3Byb2ZpbGUtZGF0YS12aWV3cy1saXN0L3Byb2ZpbGUtZGF0YS12aWV3L3Byb2ZpbGUtZGF0YS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUy9FLE1BQU0sT0FBTyx3QkFBd0I7SUFTakM7UUFMUyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRWhCLGNBQVMsR0FBeUMsSUFBSSxZQUFZLEVBQTBCLENBQUM7UUFDN0YsZ0JBQVcsR0FBeUMsSUFBSSxZQUFZLEVBQTBCLENBQUM7UUFHckcsRUFBRTtJQUNMLENBQUM7SUFFRixRQUFRO1FBQ0osRUFBRTtJQUNOLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBMkI7UUFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDaEIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQzlCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBMkI7UUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7WUFDbEIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQzlCLENBQUMsQ0FBQztJQUNQLENBQUM7O3FIQTNCUSx3QkFBd0I7eUdBQXhCLHdCQUF3Qiw4TkNUckMsazhCQWdCTTsyRkRQTyx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0ksdUJBQXVCOzBFQUt4QixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFSSxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJUGVwQnV0dG9uQ2xpY2tFdmVudCB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2J1dHRvbic7XG5pbXBvcnQgeyBJUGVwRGF0YVZpZXdDbGlja0V2ZW50IH0gZnJvbSAnLi4vcHJvZmlsZS1kYXRhLXZpZXdzLWxpc3QubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1wcm9maWxlLWRhdGEtdmlldycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Byb2ZpbGUtZGF0YS12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wcm9maWxlLWRhdGEtdmlldy5jb21wb25lbnQuc2NzcycsICcuL3Byb2ZpbGUtZGF0YS12aWV3LmNvbXBvbmVudC50aGVtZS5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUHJvZmlsZURhdGFWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBkYXRhVmlld0lkOiBzdHJpbmc7XG4gICAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcbiAgICBASW5wdXQoKSBmaWVsZHM6IHN0cmluZ1tdO1xuICAgIEBJbnB1dCgpIGNhbkRlbGV0ZSA9IHRydWU7XG5cbiAgICBAT3V0cHV0KCkgZWRpdENsaWNrOiBFdmVudEVtaXR0ZXI8SVBlcERhdGFWaWV3Q2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQZXBEYXRhVmlld0NsaWNrRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIGRlbGV0ZUNsaWNrOiBFdmVudEVtaXR0ZXI8SVBlcERhdGFWaWV3Q2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQZXBEYXRhVmlld0NsaWNrRXZlbnQ+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgLy9cbiAgICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIC8vXG4gICAgfVxuXG4gICAgb25FZGl0Q2xpY2tlZChldmVudDogSVBlcEJ1dHRvbkNsaWNrRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0Q2xpY2suZW1pdCh7XG4gICAgICAgICAgICBkYXRhVmlld0lkOiB0aGlzLmRhdGFWaWV3SWRcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25EZWxldGVDbGlja2VkKGV2ZW50OiBJUGVwQnV0dG9uQ2xpY2tFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlbGV0ZUNsaWNrLmVtaXQoe1xuICAgICAgICAgICAgZGF0YVZpZXdJZDogdGhpcy5kYXRhVmlld0lkXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJ0aXRsZT8ubGVuZ3RoID4gMFwiIGNsYXNzPVwiZGF0YS12aWV3LXRpdGxlLWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0aXRsZSBlbGxpcHNpc1wiIFt0aXRsZV09XCJ0aXRsZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlLW1kXCI+e3t0aXRsZX19PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxwZXAtYnV0dG9uICpuZ0lmPVwiY2FuRGVsZXRlXCIgY2xhc3M9XCJkZWxldGUtYnV0dG9uXCIgc2l6ZVR5cGU9XCJ4c1wiIChidXR0b25DbGljayk9XCJvbkRlbGV0ZUNsaWNrZWQoJGV2ZW50KVwiXG4gICAgICAgIFt2YWx1ZV09XCInQUNUSU9OUy5SRU1PVkUnIHwgdHJhbnNsYXRlXCI+XG4gICAgPC9wZXAtYnV0dG9uPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZGF0YS12aWV3LWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZHMtY29udGFpbmVyXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY29sb3ItY2F1dGlvbiBib2R5LXhzIGVsbGlwc2lzIGRhdGEtdmlldy1maWVsZFwiICpuZ0lmPVwiZmllbGRzID09PSBudWxsIHx8IGZpZWxkcy5sZW5ndGggPT09IDBcIj5cbiAgICAgICAgICAgIHt7KCdQUk9GSUxFX0RBVEFfVklFV1NfTElTVC5OT19GSUVMRFNfQVNTSUdORUQnIHwgdHJhbnNsYXRlKX19PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNvbG9yLWRpbW1lZCBib2R5LXhzIGVsbGlwc2lzIGRhdGEtdmlldy1maWVsZFwiICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBmaWVsZHNcIiBbdGl0bGVdPVwiZmllbGRcIj57e2ZpZWxkfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPHBlcC1idXR0b24gY2xhc3M9XCJlZGl0LWJ1dHRvblwiIGljb25OYW1lPVwic3lzdGVtX2VkaXRcIiBzaXplVHlwZT1cInhzXCIgKGJ1dHRvbkNsaWNrKT1cIm9uRWRpdENsaWNrZWQoJGV2ZW50KVwiPlxuICAgIDwvcGVwLWJ1dHRvbj5cbjwvZGl2PiJdfQ==