@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
@@ -30,10 +30,10 @@ export class PepTextboxIconComponent {
30
30
  }
31
31
  }
32
32
  PepTextboxIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepTextboxIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
- PepTextboxIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepTextboxIconComponent, selector: "pep-textbox-icon", inputs: { value: "value", label: "label", type: "type", disabled: "disabled" }, outputs: { iconClick: "iconClick" }, ngImport: i0, template: "<mat-icon *ngIf=\"type === 'currency'\" class=\"pep-text-icon\">\n <pep-icon name=\"number_coins\">\n </pep-icon>\n</mat-icon>\n<mat-icon *ngIf=\"type === 'percentage'\" class=\"pep-text-icon\">\n <pep-icon name=\"number_percent\">\n </pep-icon>\n</mat-icon>\n<mat-icon *ngIf=\"type === 'int'\" class=\"pep-text-icon\">\n <pep-icon name=\"number_number\">\n </pep-icon>\n</mat-icon>\n<mat-icon *ngIf=\"type === 'real'\" class=\"pep-text-icon\">\n <pep-icon name=\"number_decimal\">\n </pep-icon>\n</mat-icon>\n<button *ngIf=\"type === 'phone'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\"\n [disabled]=\"value.length === 0\" [ngClass]=\"{ disabled: value.length === 0 }\">\n <mat-icon>\n <pep-icon name=\"system_phone\">\n </pep-icon>\n </mat-icon>\n</button>\n<button *ngIf=\"type === 'email'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\"\n [disabled]=\"value.length === 0\" [ngClass]=\"{ disabled: value.length === 0 }\">\n <mat-icon>\n <pep-icon name=\"system_email\">\n </pep-icon>\n </mat-icon>\n</button>\n<button *ngIf=\"type === 'link'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\"\n [disabled]=\"value.length === 0\" [ngClass]=\"{ disabled: value.length === 0 }\">\n <mat-icon>\n <pep-icon name=\"system_link\">\n </pep-icon>\n </mat-icon>\n</button>\n<button *ngIf=\"type === 'textarea'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\">\n <mat-icon>\n <pep-icon name=\"system_full_screen\">\n </pep-icon>\n </mat-icon>\n</button>\n<button *ngIf=\"type === 'richhtmltextarea'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\">\n <mat-icon>\n <pep-icon name=\"{{ disabled ? 'system_full_screen' : 'system_edit'}}\">\n </pep-icon>\n </mat-icon>\n</button>\n\n<button *ngIf=\"!disabled && type === 'datetime'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\">\n <mat-icon>\n <pep-icon name=\"time_datetime\">\n </pep-icon>\n </mat-icon>\n</button>\n\n<button *ngIf=\"!disabled && type === 'date'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\">\n <mat-icon>\n <pep-icon name=\"time_cal\">\n </pep-icon>\n </mat-icon>\n</button>\n\n<!-- <span class=\"pep-text-icon\" *ngIf=\"type === 'percentage'\">%</span> -->\n<!-- <mat-icon matSuffix>sentiment_very_satisfied</mat-icon> -->\n<!-- <mat-icon matPrefix>sentiment_very_satisfied</mat-icon> -->\n<!-- <mat-hint>Hint</mat-hint> -->", styles: [":host{display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }] });
33
+ PepTextboxIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepTextboxIconComponent, selector: "pep-textbox-icon", inputs: { value: "value", label: "label", type: "type", disabled: "disabled" }, outputs: { iconClick: "iconClick" }, ngImport: i0, template: "<mat-icon *ngIf=\"type === 'currency'\" class=\"pep-text-icon\">\n <pep-icon name=\"number_coins\">\n </pep-icon>\n</mat-icon>\n<mat-icon *ngIf=\"type === 'percentage'\" class=\"pep-text-icon\">\n <pep-icon name=\"number_percent\">\n </pep-icon>\n</mat-icon>\n<mat-icon *ngIf=\"type === 'int'\" class=\"pep-text-icon\">\n <pep-icon name=\"number_number\">\n </pep-icon>\n</mat-icon>\n<mat-icon *ngIf=\"type === 'real'\" class=\"pep-text-icon\">\n <pep-icon name=\"number_decimal\">\n </pep-icon>\n</mat-icon>\n<button *ngIf=\"type === 'phone'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\"\n [disabled]=\"value.length === 0\" [ngClass]=\"{ disabled: value.length === 0 }\">\n <mat-icon>\n <pep-icon name=\"system_phone\">\n </pep-icon>\n </mat-icon>\n</button>\n<button *ngIf=\"type === 'email'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\"\n [disabled]=\"value.length === 0\" [ngClass]=\"{ disabled: value.length === 0 }\">\n <mat-icon>\n <pep-icon name=\"system_email\">\n </pep-icon>\n </mat-icon>\n</button>\n<button *ngIf=\"type === 'link'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\"\n [disabled]=\"value.length === 0\" [ngClass]=\"{ disabled: value.length === 0 }\">\n <mat-icon>\n <pep-icon name=\"system_link\">\n </pep-icon>\n </mat-icon>\n</button>\n<button *ngIf=\"type === 'textarea'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\">\n <mat-icon>\n <pep-icon name=\"system_full_screen\">\n </pep-icon>\n </mat-icon>\n</button>\n<button *ngIf=\"type === 'richhtmltextarea' || type === 'jsoneditor'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\">\n <mat-icon>\n <pep-icon name=\"{{ disabled ? 'system_full_screen' : 'system_edit'}}\">\n </pep-icon>\n </mat-icon>\n</button>\n\n<button *ngIf=\"!disabled && type === 'datetime'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\">\n <mat-icon>\n <pep-icon name=\"time_datetime\">\n </pep-icon>\n </mat-icon>\n</button>\n\n<button *ngIf=\"!disabled && type === 'date'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\">\n <mat-icon>\n <pep-icon name=\"time_cal\">\n </pep-icon>\n </mat-icon>\n</button>\n\n<!-- <span class=\"pep-text-icon\" *ngIf=\"type === 'percentage'\">%</span> -->\n<!-- <mat-icon matSuffix>sentiment_very_satisfied</mat-icon> -->\n<!-- <mat-icon matPrefix>sentiment_very_satisfied</mat-icon> -->\n<!-- <mat-hint>Hint</mat-hint> -->", styles: [":host{display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }] });
34
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepTextboxIconComponent, decorators: [{
35
35
  type: Component,
36
- args: [{ selector: 'pep-textbox-icon', template: "<mat-icon *ngIf=\"type === 'currency'\" class=\"pep-text-icon\">\n <pep-icon name=\"number_coins\">\n </pep-icon>\n</mat-icon>\n<mat-icon *ngIf=\"type === 'percentage'\" class=\"pep-text-icon\">\n <pep-icon name=\"number_percent\">\n </pep-icon>\n</mat-icon>\n<mat-icon *ngIf=\"type === 'int'\" class=\"pep-text-icon\">\n <pep-icon name=\"number_number\">\n </pep-icon>\n</mat-icon>\n<mat-icon *ngIf=\"type === 'real'\" class=\"pep-text-icon\">\n <pep-icon name=\"number_decimal\">\n </pep-icon>\n</mat-icon>\n<button *ngIf=\"type === 'phone'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\"\n [disabled]=\"value.length === 0\" [ngClass]=\"{ disabled: value.length === 0 }\">\n <mat-icon>\n <pep-icon name=\"system_phone\">\n </pep-icon>\n </mat-icon>\n</button>\n<button *ngIf=\"type === 'email'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\"\n [disabled]=\"value.length === 0\" [ngClass]=\"{ disabled: value.length === 0 }\">\n <mat-icon>\n <pep-icon name=\"system_email\">\n </pep-icon>\n </mat-icon>\n</button>\n<button *ngIf=\"type === 'link'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\"\n [disabled]=\"value.length === 0\" [ngClass]=\"{ disabled: value.length === 0 }\">\n <mat-icon>\n <pep-icon name=\"system_link\">\n </pep-icon>\n </mat-icon>\n</button>\n<button *ngIf=\"type === 'textarea'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\">\n <mat-icon>\n <pep-icon name=\"system_full_screen\">\n </pep-icon>\n </mat-icon>\n</button>\n<button *ngIf=\"type === 'richhtmltextarea'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\">\n <mat-icon>\n <pep-icon name=\"{{ disabled ? 'system_full_screen' : 'system_edit'}}\">\n </pep-icon>\n </mat-icon>\n</button>\n\n<button *ngIf=\"!disabled && type === 'datetime'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\">\n <mat-icon>\n <pep-icon name=\"time_datetime\">\n </pep-icon>\n </mat-icon>\n</button>\n\n<button *ngIf=\"!disabled && type === 'date'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\">\n <mat-icon>\n <pep-icon name=\"time_cal\">\n </pep-icon>\n </mat-icon>\n</button>\n\n<!-- <span class=\"pep-text-icon\" *ngIf=\"type === 'percentage'\">%</span> -->\n<!-- <mat-icon matSuffix>sentiment_very_satisfied</mat-icon> -->\n<!-- <mat-icon matPrefix>sentiment_very_satisfied</mat-icon> -->\n<!-- <mat-hint>Hint</mat-hint> -->", styles: [":host{display:flex}\n"] }]
36
+ args: [{ selector: 'pep-textbox-icon', template: "<mat-icon *ngIf=\"type === 'currency'\" class=\"pep-text-icon\">\n <pep-icon name=\"number_coins\">\n </pep-icon>\n</mat-icon>\n<mat-icon *ngIf=\"type === 'percentage'\" class=\"pep-text-icon\">\n <pep-icon name=\"number_percent\">\n </pep-icon>\n</mat-icon>\n<mat-icon *ngIf=\"type === 'int'\" class=\"pep-text-icon\">\n <pep-icon name=\"number_number\">\n </pep-icon>\n</mat-icon>\n<mat-icon *ngIf=\"type === 'real'\" class=\"pep-text-icon\">\n <pep-icon name=\"number_decimal\">\n </pep-icon>\n</mat-icon>\n<button *ngIf=\"type === 'phone'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\"\n [disabled]=\"value.length === 0\" [ngClass]=\"{ disabled: value.length === 0 }\">\n <mat-icon>\n <pep-icon name=\"system_phone\">\n </pep-icon>\n </mat-icon>\n</button>\n<button *ngIf=\"type === 'email'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\"\n [disabled]=\"value.length === 0\" [ngClass]=\"{ disabled: value.length === 0 }\">\n <mat-icon>\n <pep-icon name=\"system_email\">\n </pep-icon>\n </mat-icon>\n</button>\n<button *ngIf=\"type === 'link'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\"\n [disabled]=\"value.length === 0\" [ngClass]=\"{ disabled: value.length === 0 }\">\n <mat-icon>\n <pep-icon name=\"system_link\">\n </pep-icon>\n </mat-icon>\n</button>\n<button *ngIf=\"type === 'textarea'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\">\n <mat-icon>\n <pep-icon name=\"system_full_screen\">\n </pep-icon>\n </mat-icon>\n</button>\n<button *ngIf=\"type === 'richhtmltextarea' || type === 'jsoneditor'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\">\n <mat-icon>\n <pep-icon name=\"{{ disabled ? 'system_full_screen' : 'system_edit'}}\">\n </pep-icon>\n </mat-icon>\n</button>\n\n<button *ngIf=\"!disabled && type === 'datetime'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\">\n <mat-icon>\n <pep-icon name=\"time_datetime\">\n </pep-icon>\n </mat-icon>\n</button>\n\n<button *ngIf=\"!disabled && type === 'date'\" class=\"pep-button md regular\" mat-button (click)=\"iconButtonClicked()\">\n <mat-icon>\n <pep-icon name=\"time_cal\">\n </pep-icon>\n </mat-icon>\n</button>\n\n<!-- <span class=\"pep-text-icon\" *ngIf=\"type === 'percentage'\">%</span> -->\n<!-- <mat-icon matSuffix>sentiment_very_satisfied</mat-icon> -->\n<!-- <mat-icon matPrefix>sentiment_very_satisfied</mat-icon> -->\n<!-- <mat-hint>Hint</mat-hint> -->", styles: [":host{display:flex}\n"] }]
37
37
  }], propDecorators: { value: [{
38
38
  type: Input
39
39
  }], label: [{
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
45
45
  }], iconClick: [{
46
46
  type: Output
47
47
  }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGJveC1pY29uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvdGV4dGJveC1pY29uL3RleHRib3gtaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3RleHRib3gtaWNvbi90ZXh0Ym94LWljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBT3ZFLE1BQU0sT0FBTyx1QkFBdUI7SUFMcEM7UUFXSSxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ0YsY0FBUyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0tBc0J0RTtJQXBCRyxpQkFBaUI7UUFDYixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ2hDLElBQUksWUFBWSxJQUFJLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzNELFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDZixLQUFLLE9BQU87b0JBQ1IsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO29CQUMvQyxNQUFNO2dCQUNWLEtBQUssT0FBTztvQkFDUixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7b0JBQzFDLE1BQU07Z0JBQ1YsS0FBSyxNQUFNO29CQUNQLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQzFCLE1BQU07Z0JBQ1Y7b0JBQ0ksTUFBTTthQUNiO1NBQ0o7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7O29IQTVCUSx1QkFBdUI7d0dBQXZCLHVCQUF1Qiw2S0NQcEMsdW1GQW1Fa0M7MkZENURyQix1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0ksa0JBQWtCOzhCQUtuQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC10ZXh0Ym94LWljb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90ZXh0Ym94LWljb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RleHRib3gtaWNvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBUZXh0Ym94SWNvbkNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgdmFsdWU6IHN0cmluZztcbiAgICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHR5cGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICB0ZXN0ID0gdHJ1ZTtcbiAgICBAT3V0cHV0KCkgaWNvbkNsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBpY29uQnV0dG9uQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICAgICAgaWYgKGN1cnJlbnRWYWx1ZSAmJiBjdXJyZW50VmFsdWUudG9TdHJpbmcoKS50cmltKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdlbWFpbCc6XG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5vcGVuKCdtYWlsdG86JyArIGN1cnJlbnRWYWx1ZSwgJ2VtYWlsJyk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3Bob25lJzpcbiAgICAgICAgICAgICAgICAgICAgd2luZG93Lm9wZW4oJ3RlbDonICsgY3VycmVudFZhbHVlLCAndGVsJyk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2xpbmsnOlxuICAgICAgICAgICAgICAgICAgICB3aW5kb3cub3BlbihjdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaWNvbkNsaWNrLmVtaXQoKTtcbiAgICB9XG59XG4iLCI8bWF0LWljb24gKm5nSWY9XCJ0eXBlID09PSAnY3VycmVuY3knXCIgY2xhc3M9XCJwZXAtdGV4dC1pY29uXCI+XG4gICAgPHBlcC1pY29uIG5hbWU9XCJudW1iZXJfY29pbnNcIj5cbiAgICA8L3BlcC1pY29uPlxuPC9tYXQtaWNvbj5cbjxtYXQtaWNvbiAqbmdJZj1cInR5cGUgPT09ICdwZXJjZW50YWdlJ1wiIGNsYXNzPVwicGVwLXRleHQtaWNvblwiPlxuICAgIDxwZXAtaWNvbiBuYW1lPVwibnVtYmVyX3BlcmNlbnRcIj5cbiAgICA8L3BlcC1pY29uPlxuPC9tYXQtaWNvbj5cbjxtYXQtaWNvbiAqbmdJZj1cInR5cGUgPT09ICdpbnQnXCIgY2xhc3M9XCJwZXAtdGV4dC1pY29uXCI+XG4gICAgPHBlcC1pY29uIG5hbWU9XCJudW1iZXJfbnVtYmVyXCI+XG4gICAgPC9wZXAtaWNvbj5cbjwvbWF0LWljb24+XG48bWF0LWljb24gKm5nSWY9XCJ0eXBlID09PSAncmVhbCdcIiBjbGFzcz1cInBlcC10ZXh0LWljb25cIj5cbiAgICA8cGVwLWljb24gbmFtZT1cIm51bWJlcl9kZWNpbWFsXCI+XG4gICAgPC9wZXAtaWNvbj5cbjwvbWF0LWljb24+XG48YnV0dG9uICpuZ0lmPVwidHlwZSA9PT0gJ3Bob25lJ1wiIGNsYXNzPVwicGVwLWJ1dHRvbiBtZCByZWd1bGFyXCIgbWF0LWJ1dHRvbiAoY2xpY2spPVwiaWNvbkJ1dHRvbkNsaWNrZWQoKVwiXG4gICAgW2Rpc2FibGVkXT1cInZhbHVlLmxlbmd0aCA9PT0gMFwiIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IHZhbHVlLmxlbmd0aCA9PT0gMCB9XCI+XG4gICAgPG1hdC1pY29uPlxuICAgICAgICA8cGVwLWljb24gbmFtZT1cInN5c3RlbV9waG9uZVwiPlxuICAgICAgICA8L3BlcC1pY29uPlxuICAgIDwvbWF0LWljb24+XG48L2J1dHRvbj5cbjxidXR0b24gKm5nSWY9XCJ0eXBlID09PSAnZW1haWwnXCIgY2xhc3M9XCJwZXAtYnV0dG9uIG1kIHJlZ3VsYXJcIiBtYXQtYnV0dG9uIChjbGljayk9XCJpY29uQnV0dG9uQ2xpY2tlZCgpXCJcbiAgICBbZGlzYWJsZWRdPVwidmFsdWUubGVuZ3RoID09PSAwXCIgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogdmFsdWUubGVuZ3RoID09PSAwIH1cIj5cbiAgICA8bWF0LWljb24+XG4gICAgICAgIDxwZXAtaWNvbiBuYW1lPVwic3lzdGVtX2VtYWlsXCI+XG4gICAgICAgIDwvcGVwLWljb24+XG4gICAgPC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuPGJ1dHRvbiAqbmdJZj1cInR5cGUgPT09ICdsaW5rJ1wiIGNsYXNzPVwicGVwLWJ1dHRvbiBtZCByZWd1bGFyXCIgbWF0LWJ1dHRvbiAoY2xpY2spPVwiaWNvbkJ1dHRvbkNsaWNrZWQoKVwiXG4gICAgW2Rpc2FibGVkXT1cInZhbHVlLmxlbmd0aCA9PT0gMFwiIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IHZhbHVlLmxlbmd0aCA9PT0gMCB9XCI+XG4gICAgPG1hdC1pY29uPlxuICAgICAgICA8cGVwLWljb24gbmFtZT1cInN5c3RlbV9saW5rXCI+XG4gICAgICAgIDwvcGVwLWljb24+XG4gICAgPC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuPGJ1dHRvbiAqbmdJZj1cInR5cGUgPT09ICd0ZXh0YXJlYSdcIiBjbGFzcz1cInBlcC1idXR0b24gbWQgcmVndWxhclwiIG1hdC1idXR0b24gKGNsaWNrKT1cImljb25CdXR0b25DbGlja2VkKClcIj5cbiAgICA8bWF0LWljb24+XG4gICAgICAgIDxwZXAtaWNvbiBuYW1lPVwic3lzdGVtX2Z1bGxfc2NyZWVuXCI+XG4gICAgICAgIDwvcGVwLWljb24+XG4gICAgPC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuPGJ1dHRvbiAqbmdJZj1cInR5cGUgPT09ICdyaWNoaHRtbHRleHRhcmVhJ1wiIGNsYXNzPVwicGVwLWJ1dHRvbiBtZCByZWd1bGFyXCIgbWF0LWJ1dHRvbiAoY2xpY2spPVwiaWNvbkJ1dHRvbkNsaWNrZWQoKVwiPlxuICAgIDxtYXQtaWNvbj5cbiAgICAgICAgPHBlcC1pY29uIG5hbWU9XCJ7eyBkaXNhYmxlZCA/ICdzeXN0ZW1fZnVsbF9zY3JlZW4nIDogJ3N5c3RlbV9lZGl0J319XCI+XG4gICAgICAgIDwvcGVwLWljb24+XG4gICAgPC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuXG48YnV0dG9uICpuZ0lmPVwiIWRpc2FibGVkICYmIHR5cGUgPT09ICdkYXRldGltZSdcIiBjbGFzcz1cInBlcC1idXR0b24gbWQgcmVndWxhclwiIG1hdC1idXR0b24gKGNsaWNrKT1cImljb25CdXR0b25DbGlja2VkKClcIj5cbiAgICA8bWF0LWljb24+XG4gICAgICAgIDxwZXAtaWNvbiBuYW1lPVwidGltZV9kYXRldGltZVwiPlxuICAgICAgICA8L3BlcC1pY29uPlxuICAgIDwvbWF0LWljb24+XG48L2J1dHRvbj5cblxuPGJ1dHRvbiAqbmdJZj1cIiFkaXNhYmxlZCAmJiB0eXBlID09PSAnZGF0ZSdcIiBjbGFzcz1cInBlcC1idXR0b24gbWQgcmVndWxhclwiIG1hdC1idXR0b24gKGNsaWNrKT1cImljb25CdXR0b25DbGlja2VkKClcIj5cbiAgICA8bWF0LWljb24+XG4gICAgICAgIDxwZXAtaWNvbiBuYW1lPVwidGltZV9jYWxcIj5cbiAgICAgICAgPC9wZXAtaWNvbj5cbiAgICA8L21hdC1pY29uPlxuPC9idXR0b24+XG5cbjwhLS0gPHNwYW4gY2xhc3M9XCJwZXAtdGV4dC1pY29uXCIgKm5nSWY9XCJ0eXBlID09PSAncGVyY2VudGFnZSdcIj4lPC9zcGFuPiAtLT5cbjwhLS0gPG1hdC1pY29uIG1hdFN1ZmZpeD5zZW50aW1lbnRfdmVyeV9zYXRpc2ZpZWQ8L21hdC1pY29uPiAtLT5cbjwhLS0gPG1hdC1pY29uIG1hdFByZWZpeD5zZW50aW1lbnRfdmVyeV9zYXRpc2ZpZWQ8L21hdC1pY29uPiAtLT5cbjwhLS0gPG1hdC1oaW50PkhpbnQ8L21hdC1oaW50PiAtLT4iXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGJveC1pY29uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvdGV4dGJveC1pY29uL3RleHRib3gtaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3RleHRib3gtaWNvbi90ZXh0Ym94LWljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBT3ZFLE1BQU0sT0FBTyx1QkFBdUI7SUFMcEM7UUFXSSxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ0YsY0FBUyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0tBc0J0RTtJQXBCRyxpQkFBaUI7UUFDYixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ2hDLElBQUksWUFBWSxJQUFJLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzNELFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDZixLQUFLLE9BQU87b0JBQ1IsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO29CQUMvQyxNQUFNO2dCQUNWLEtBQUssT0FBTztvQkFDUixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7b0JBQzFDLE1BQU07Z0JBQ1YsS0FBSyxNQUFNO29CQUNQLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQzFCLE1BQU07Z0JBQ1Y7b0JBQ0ksTUFBTTthQUNiO1NBQ0o7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7O29IQTVCUSx1QkFBdUI7d0dBQXZCLHVCQUF1Qiw2S0NQcEMsZ29GQW1Fa0M7MkZENURyQix1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0ksa0JBQWtCOzhCQUtuQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC10ZXh0Ym94LWljb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90ZXh0Ym94LWljb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RleHRib3gtaWNvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBUZXh0Ym94SWNvbkNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgdmFsdWU6IHN0cmluZztcbiAgICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHR5cGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICB0ZXN0ID0gdHJ1ZTtcbiAgICBAT3V0cHV0KCkgaWNvbkNsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBpY29uQnV0dG9uQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICAgICAgaWYgKGN1cnJlbnRWYWx1ZSAmJiBjdXJyZW50VmFsdWUudG9TdHJpbmcoKS50cmltKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdlbWFpbCc6XG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5vcGVuKCdtYWlsdG86JyArIGN1cnJlbnRWYWx1ZSwgJ2VtYWlsJyk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3Bob25lJzpcbiAgICAgICAgICAgICAgICAgICAgd2luZG93Lm9wZW4oJ3RlbDonICsgY3VycmVudFZhbHVlLCAndGVsJyk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2xpbmsnOlxuICAgICAgICAgICAgICAgICAgICB3aW5kb3cub3BlbihjdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaWNvbkNsaWNrLmVtaXQoKTtcbiAgICB9XG59XG4iLCI8bWF0LWljb24gKm5nSWY9XCJ0eXBlID09PSAnY3VycmVuY3knXCIgY2xhc3M9XCJwZXAtdGV4dC1pY29uXCI+XG4gICAgPHBlcC1pY29uIG5hbWU9XCJudW1iZXJfY29pbnNcIj5cbiAgICA8L3BlcC1pY29uPlxuPC9tYXQtaWNvbj5cbjxtYXQtaWNvbiAqbmdJZj1cInR5cGUgPT09ICdwZXJjZW50YWdlJ1wiIGNsYXNzPVwicGVwLXRleHQtaWNvblwiPlxuICAgIDxwZXAtaWNvbiBuYW1lPVwibnVtYmVyX3BlcmNlbnRcIj5cbiAgICA8L3BlcC1pY29uPlxuPC9tYXQtaWNvbj5cbjxtYXQtaWNvbiAqbmdJZj1cInR5cGUgPT09ICdpbnQnXCIgY2xhc3M9XCJwZXAtdGV4dC1pY29uXCI+XG4gICAgPHBlcC1pY29uIG5hbWU9XCJudW1iZXJfbnVtYmVyXCI+XG4gICAgPC9wZXAtaWNvbj5cbjwvbWF0LWljb24+XG48bWF0LWljb24gKm5nSWY9XCJ0eXBlID09PSAncmVhbCdcIiBjbGFzcz1cInBlcC10ZXh0LWljb25cIj5cbiAgICA8cGVwLWljb24gbmFtZT1cIm51bWJlcl9kZWNpbWFsXCI+XG4gICAgPC9wZXAtaWNvbj5cbjwvbWF0LWljb24+XG48YnV0dG9uICpuZ0lmPVwidHlwZSA9PT0gJ3Bob25lJ1wiIGNsYXNzPVwicGVwLWJ1dHRvbiBtZCByZWd1bGFyXCIgbWF0LWJ1dHRvbiAoY2xpY2spPVwiaWNvbkJ1dHRvbkNsaWNrZWQoKVwiXG4gICAgW2Rpc2FibGVkXT1cInZhbHVlLmxlbmd0aCA9PT0gMFwiIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IHZhbHVlLmxlbmd0aCA9PT0gMCB9XCI+XG4gICAgPG1hdC1pY29uPlxuICAgICAgICA8cGVwLWljb24gbmFtZT1cInN5c3RlbV9waG9uZVwiPlxuICAgICAgICA8L3BlcC1pY29uPlxuICAgIDwvbWF0LWljb24+XG48L2J1dHRvbj5cbjxidXR0b24gKm5nSWY9XCJ0eXBlID09PSAnZW1haWwnXCIgY2xhc3M9XCJwZXAtYnV0dG9uIG1kIHJlZ3VsYXJcIiBtYXQtYnV0dG9uIChjbGljayk9XCJpY29uQnV0dG9uQ2xpY2tlZCgpXCJcbiAgICBbZGlzYWJsZWRdPVwidmFsdWUubGVuZ3RoID09PSAwXCIgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogdmFsdWUubGVuZ3RoID09PSAwIH1cIj5cbiAgICA8bWF0LWljb24+XG4gICAgICAgIDxwZXAtaWNvbiBuYW1lPVwic3lzdGVtX2VtYWlsXCI+XG4gICAgICAgIDwvcGVwLWljb24+XG4gICAgPC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuPGJ1dHRvbiAqbmdJZj1cInR5cGUgPT09ICdsaW5rJ1wiIGNsYXNzPVwicGVwLWJ1dHRvbiBtZCByZWd1bGFyXCIgbWF0LWJ1dHRvbiAoY2xpY2spPVwiaWNvbkJ1dHRvbkNsaWNrZWQoKVwiXG4gICAgW2Rpc2FibGVkXT1cInZhbHVlLmxlbmd0aCA9PT0gMFwiIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IHZhbHVlLmxlbmd0aCA9PT0gMCB9XCI+XG4gICAgPG1hdC1pY29uPlxuICAgICAgICA8cGVwLWljb24gbmFtZT1cInN5c3RlbV9saW5rXCI+XG4gICAgICAgIDwvcGVwLWljb24+XG4gICAgPC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuPGJ1dHRvbiAqbmdJZj1cInR5cGUgPT09ICd0ZXh0YXJlYSdcIiBjbGFzcz1cInBlcC1idXR0b24gbWQgcmVndWxhclwiIG1hdC1idXR0b24gKGNsaWNrKT1cImljb25CdXR0b25DbGlja2VkKClcIj5cbiAgICA8bWF0LWljb24+XG4gICAgICAgIDxwZXAtaWNvbiBuYW1lPVwic3lzdGVtX2Z1bGxfc2NyZWVuXCI+XG4gICAgICAgIDwvcGVwLWljb24+XG4gICAgPC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuPGJ1dHRvbiAqbmdJZj1cInR5cGUgPT09ICdyaWNoaHRtbHRleHRhcmVhJyB8fCB0eXBlID09PSAnanNvbmVkaXRvcidcIiBjbGFzcz1cInBlcC1idXR0b24gbWQgcmVndWxhclwiIG1hdC1idXR0b24gKGNsaWNrKT1cImljb25CdXR0b25DbGlja2VkKClcIj5cbiAgICA8bWF0LWljb24+XG4gICAgICAgIDxwZXAtaWNvbiBuYW1lPVwie3sgZGlzYWJsZWQgPyAnc3lzdGVtX2Z1bGxfc2NyZWVuJyA6ICdzeXN0ZW1fZWRpdCd9fVwiPlxuICAgICAgICA8L3BlcC1pY29uPlxuICAgIDwvbWF0LWljb24+XG48L2J1dHRvbj5cblxuPGJ1dHRvbiAqbmdJZj1cIiFkaXNhYmxlZCAmJiB0eXBlID09PSAnZGF0ZXRpbWUnXCIgY2xhc3M9XCJwZXAtYnV0dG9uIG1kIHJlZ3VsYXJcIiBtYXQtYnV0dG9uIChjbGljayk9XCJpY29uQnV0dG9uQ2xpY2tlZCgpXCI+XG4gICAgPG1hdC1pY29uPlxuICAgICAgICA8cGVwLWljb24gbmFtZT1cInRpbWVfZGF0ZXRpbWVcIj5cbiAgICAgICAgPC9wZXAtaWNvbj5cbiAgICA8L21hdC1pY29uPlxuPC9idXR0b24+XG5cbjxidXR0b24gKm5nSWY9XCIhZGlzYWJsZWQgJiYgdHlwZSA9PT0gJ2RhdGUnXCIgY2xhc3M9XCJwZXAtYnV0dG9uIG1kIHJlZ3VsYXJcIiBtYXQtYnV0dG9uIChjbGljayk9XCJpY29uQnV0dG9uQ2xpY2tlZCgpXCI+XG4gICAgPG1hdC1pY29uPlxuICAgICAgICA8cGVwLWljb24gbmFtZT1cInRpbWVfY2FsXCI+XG4gICAgICAgIDwvcGVwLWljb24+XG4gICAgPC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuXG48IS0tIDxzcGFuIGNsYXNzPVwicGVwLXRleHQtaWNvblwiICpuZ0lmPVwidHlwZSA9PT0gJ3BlcmNlbnRhZ2UnXCI+JTwvc3Bhbj4gLS0+XG48IS0tIDxtYXQtaWNvbiBtYXRTdWZmaXg+c2VudGltZW50X3Zlcnlfc2F0aXNmaWVkPC9tYXQtaWNvbj4gLS0+XG48IS0tIDxtYXQtaWNvbiBtYXRQcmVmaXg+c2VudGltZW50X3Zlcnlfc2F0aXNmaWVkPC9tYXQtaWNvbj4gLS0+XG48IS0tIDxtYXQtaGludD5IaW50PC9tYXQtaGludD4gLS0+Il19
@@ -18,24 +18,33 @@ export class PepTopBarComponent {
18
18
  this.isHidden = true;
19
19
  this.searchIsOpenAndSmallDevice = false;
20
20
  this.PepScreenSizeType = PepScreenSizeType;
21
+ this.__pepLifecyclePhase = 'constructor';
22
+ this.__pepViewReady = false;
21
23
  }
22
24
  ngAfterViewInit() {
23
- if (!this.inline) {
24
- this.hasFooterContent =
25
- this.footerStartContent?.nativeElement?.children?.length > 0 ||
26
- this.footerEndContent?.nativeElement?.children?.length > 0;
27
- }
28
- this.layoutService.onResize$.subscribe((size) => {
29
- this.screenSize = size;
30
- this.setSearchIsOpenAndSmallDevice();
25
+ this.__pepLifecyclePhase = 'ngAfterViewInit';
26
+ setTimeout(() => {
31
27
  if (!this.inline) {
32
- this.setFooterState();
28
+ this.hasFooterContent =
29
+ this.footerStartContent?.nativeElement?.children?.length > 0 ||
30
+ this.footerEndContent?.nativeElement?.children?.length > 0;
31
+ }
32
+ this.layoutService.onResize$.subscribe((size) => {
33
+ this.screenSize = size;
34
+ this.setSearchIsOpenAndSmallDevice();
35
+ if (!this.inline) {
36
+ this.setFooterState();
37
+ }
38
+ });
39
+ this.isHidden = false;
40
+ this.__pepViewReady = true;
41
+ if (this.cdRef && this.__pepViewReady) {
42
+ this.cdRef.detectChanges();
33
43
  }
34
44
  });
35
- this.isHidden = false;
36
- this.cdRef.detectChanges();
37
45
  }
38
46
  ngAfterContentInit() {
47
+ this.__pepLifecyclePhase = 'ngAfterContentInit';
39
48
  if (this.searchComp) {
40
49
  this.searchComp.stateChange
41
50
  .subscribe((searchStateChangeEvent) => {
@@ -62,7 +71,9 @@ export class PepTopBarComponent {
62
71
  : 'hidden';
63
72
  if (this.footerState !== newFooterState) {
64
73
  this.footerState = newFooterState;
65
- this.cdRef.detectChanges();
74
+ if (this.cdRef && this.__pepViewReady) {
75
+ this.cdRef.detectChanges();
76
+ }
66
77
  this.footerStateChange.emit({ state: this.footerState });
67
78
  if (this.footerState === 'visible') {
68
79
  this.customizationService.showFooter();
@@ -74,10 +85,10 @@ export class PepTopBarComponent {
74
85
  }
75
86
  }
76
87
  PepTopBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepTopBarComponent, deps: [{ token: i1.PepCustomizationService }, { token: i1.PepLayoutService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
77
- PepTopBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepTopBarComponent, selector: "pep-top-bar", inputs: { inline: "inline", title: "title" }, outputs: { footerStateChange: "footerStateChange" }, queries: [{ propertyName: "searchComp", first: true, predicate: PepSearchComponent, descendants: true }, { propertyName: "listActionsComp", first: true, predicate: PepListActionsComponent, descendants: true }, { propertyName: "listChooserComp", first: true, predicate: PepListChooserComponent, descendants: true }, { propertyName: "listTotalComp", first: true, predicate: PepListTotalComponent, descendants: true }, { propertyName: "listSortingComp", first: true, predicate: PepListSortingComponent, descendants: true }, { propertyName: "listViewsComp", first: true, predicate: PepListViewsComponent, descendants: true }], viewQueries: [{ propertyName: "footerStartContent", first: true, predicate: ["footerStartContent"], descendants: true }, { propertyName: "footerEndContent", first: true, predicate: ["footerEndContent"], descendants: true }], ngImport: i0, template: "<div pepRtlDirection [hidden]=\"isHidden\" class=\"pep-top-bar-container\" [ngClass]=\"{ inline: inline }\">\n <div class=\"header-content\">\n <div class=\"main-layout\">\n <div class=\"content pep-border-bottom\">\n <div class=\"left-container pep-spacing-element-negative\">\n <ng-container *ngTemplateOutlet=\"listActionsTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"titleTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"listChooserTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"leftContentTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"listTotalTemplate\"></ng-container>\n </div>\n <div class=\"pep-spacing-element\"></div>\n <div class=\"right-container pep-spacing-element-negative\">\n <ng-container *ngTemplateOutlet=\"searchTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"sortingTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"viewsTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"rightContentTemplate\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n\n <!-- hasFooterContent === null is for the first load to see if there is data in the (footer-start-content || footer-end-content). -->\n <div *ngIf=\"hasFooterContent === null || (hasFooterContent && footerState === 'visible')\" class=\"footer\"\n [style.height.rem]=\"customizationService.footerHeight\">\n <div class=\"content pep-border-top\">\n <div #footerStartContent class=\"left-container pep-spacing-element-negative flex-wrapper\">\n <ng-content select=\"[footer-start-content]\"></ng-content>\n </div>\n <div #footerEndContent class=\"right-container pep-spacing-element-negative flex-wrapper\">\n <ng-content select=\"[footer-end-content]\"></ng-content>\n </div>\n </div>\n <!-- <ng-container *ngIf=\"showFooter && screenSize >= PepScreenSizeType.MD; then footerBlock; else noFooterBlock\">\n </ng-container>\n <ng-template #footerBlock>\n {{ customizationService.showFooter() }}\n </ng-template>\n <ng-template #noFooterBlock>\n {{ customizationService.hideFooter() }}\n </ng-template> -->\n </div>\n\n</div>\n\n<!-- Left side templates -->\n<ng-template #listActionsTemplate>\n <div class=\"list-actions-wrapper\">\n <ng-content *ngIf=\"!searchIsOpenAndSmallDevice\" select=\"pep-list-actions\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #titleTemplate>\n <div *ngIf=\"title?.length > 0\" class=\"pep-spacing-element title {{ inline ? 'title-md' : 'title-lg' }}\">\n <span [title]=\"title\">{{ title }}</span>\n </div>\n</ng-template>\n\n<ng-template #listChooserTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listChooserComp }\">\n <ng-content select=\"pep-list-chooser\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #leftContentTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" class=\"flex-wrapper\">\n <ng-content select=\"[header-start-content]\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #listTotalTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listTotalComp }\">\n <ng-content select=\"pep-list-total\"></ng-content>\n </div>\n</ng-template>\n\n<!-- Right side templates -->\n<ng-template #searchTemplate>\n <div [ngClass]=\"{ 'pep-spacing-element': searchComp }\">\n <ng-content select=\"pep-search\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #sortingTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listSortingComp }\">\n <ng-content select=\"pep-list-sorting\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #viewsTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listViewsComp }\" class=\"flex-wrapper\">\n <ng-content select=\"pep-list-views\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #rightContentTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" class=\"flex-wrapper\">\n <ng-content select=\"[header-end-content]\"></ng-content>\n </div>\n</ng-template>", styles: [".pep-top-bar-container{display:grid;height:calc(var(--pep-top-bar-spacing-top, 1.5rem) + var(--pep-top-bar-spacing-bottom, .5rem) + var(--pep-top-bar-field-height, 2.5rem));z-index:101}.pep-top-bar-container .title{display:inline-flex!important;align-items:center;justify-content:center}.pep-top-bar-container .header-content{height:calc(var(--pep-top-bar-spacing-bottom, .5rem) + var(--pep-top-bar-field-height, 2.5rem));margin-top:var(--pep-top-bar-spacing-top, 1.5rem)}.pep-top-bar-container .header-content .main-layout{width:inherit;height:inherit;padding:0}.pep-top-bar-container .header-content .main-layout .content{display:flex;justify-content:space-between;height:inherit}.pep-top-bar-container .header-content .main-layout .content .left-container,.pep-top-bar-container .header-content .main-layout .content .right-container{height:inherit}.pep-top-bar-container .footer{position:fixed;bottom:0;left:0;right:0;height:var(--pep-footer-bar-height, 4.5rem)}.pep-top-bar-container .footer .content{display:flex;justify-content:space-between;margin-inline:calc(var(--pep-spacing-lg, 1rem) * 2);padding-top:var(--pep-footer-bar-spacing-top, .75rem)}@media (max-width: 599px){.pep-top-bar-container .footer .content{margin-inline:var(--pep-spacing-lg, 1rem)}}.pep-top-bar-container .left-container{display:flex}.pep-top-bar-container .right-container{display:flex;justify-content:flex-end}.pep-top-bar-container .flex-wrapper ::ng-deep>*{display:flex}.pep-top-bar-container .list-actions-wrapper ::ng-deep .pep-button{margin-right:var(--pep-spacing-xs, .25rem);margin-left:var(--pep-spacing-xs, .25rem)}.pep-top-bar-container:not(.inline) ::ng-deep .pepperi-button,.pep-top-bar-container:not(.inline) ::ng-deep .pep-button,.pep-top-bar-container:not(.inline) .pepperi-button,.pep-top-bar-container:not(.inline) .pep-button{height:var(--pep-top-bar-field-height, 2.5rem);line-height:var(--pep-top-bar-field-height, 2.5rem)}.pep-top-bar-container.inline{position:inherit;height:var(--pep-top-bar-field-height, 2.5rem);width:100%}.pep-top-bar-container.inline .header-content{margin-top:0;height:inherit;padding:0;position:inherit;width:inherit}.pep-top-bar-container.inline .header-content .main-layout{width:inherit;height:inherit;padding:0}.pep-top-bar-container.inline .header-content .main-layout .content{height:inherit;margin:0}\n", ".pep-top-bar-container{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.pep-top-bar-container .footer{background-color:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}\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: i1.PepRtlDirectionDirective, selector: "[pepRtlDirection]" }] });
88
+ PepTopBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepTopBarComponent, selector: "pep-top-bar", inputs: { inline: "inline", title: "title" }, outputs: { footerStateChange: "footerStateChange" }, queries: [{ propertyName: "searchComp", first: true, predicate: PepSearchComponent, descendants: true }, { propertyName: "listActionsComp", first: true, predicate: PepListActionsComponent, descendants: true }, { propertyName: "listChooserComp", first: true, predicate: PepListChooserComponent, descendants: true }, { propertyName: "listTotalComp", first: true, predicate: PepListTotalComponent, descendants: true }, { propertyName: "listSortingComp", first: true, predicate: PepListSortingComponent, descendants: true }, { propertyName: "listViewsComp", first: true, predicate: PepListViewsComponent, descendants: true }], viewQueries: [{ propertyName: "footerStartContent", first: true, predicate: ["footerStartContent"], descendants: true }, { propertyName: "footerEndContent", first: true, predicate: ["footerEndContent"], descendants: true }], ngImport: i0, template: "<div pepRtlDirection [hidden]=\"isHidden\" class=\"pep-top-bar-container\" [ngClass]=\"{ inline: inline }\">\n <div class=\"header-content\">\n <div class=\"main-layout\">\n <div class=\"content pep-border-bottom\">\n <div class=\"left-container pep-spacing-element-negative\">\n <ng-container *ngTemplateOutlet=\"listActionsTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"titleTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"listChooserTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"leftContentTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"listTotalTemplate\"></ng-container>\n </div>\n <div class=\"pep-spacing-element\"></div>\n <div class=\"right-container pep-spacing-element-negative\">\n <ng-container *ngTemplateOutlet=\"searchTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"sortingTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"viewsTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"rightContentTemplate\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n\n <!-- hasFooterContent === null is for the first load to see if there is data in the (footer-start-content || footer-end-content). -->\n <div *ngIf=\"hasFooterContent === null || (hasFooterContent && footerState === 'visible')\" class=\"footer\"\n [style.height.rem]=\"customizationService.footerHeight\">\n <div class=\"content pep-border-top\">\n <div #footerStartContent class=\"left-container pep-spacing-element-negative flex-wrapper\">\n <ng-content select=\"[footer-start-content]\"></ng-content>\n </div>\n <div #footerEndContent class=\"right-container pep-spacing-element-negative flex-wrapper\">\n <ng-content select=\"[footer-end-content]\"></ng-content>\n </div>\n </div>\n <!-- <ng-container *ngIf=\"showFooter && screenSize >= PepScreenSizeType.MD; then footerBlock; else noFooterBlock\">\n </ng-container>\n <ng-template #footerBlock>\n {{ customizationService.showFooter() }}\n </ng-template>\n <ng-template #noFooterBlock>\n {{ customizationService.hideFooter() }}\n </ng-template> -->\n </div>\n\n</div>\n\n<!-- Left side templates -->\n<ng-template #listActionsTemplate>\n <div class=\"list-actions-wrapper\">\n <ng-content *ngIf=\"!searchIsOpenAndSmallDevice\" select=\"pep-list-actions\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #titleTemplate>\n <div *ngIf=\"title?.length > 0\" class=\"pep-spacing-element title ellipsis {{ inline ? 'title-md' : 'title-lg' }} \"\n [ngClass]=\"{ 'md-max-title-width': screenSize === PepScreenSizeType.MD, 'sm-max-title-width': screenSize >= PepScreenSizeType.SM }\"\n >\n <span class=\"ellipsis\" [title]=\"title\">{{ title }}</span>\n </div>\n</ng-template>\n\n<ng-template #listChooserTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listChooserComp }\">\n <ng-content select=\"pep-list-chooser\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #leftContentTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" class=\"flex-wrapper\">\n <ng-content select=\"[header-start-content]\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #listTotalTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listTotalComp }\">\n <ng-content select=\"pep-list-total\"></ng-content>\n </div>\n</ng-template>\n\n<!-- Right side templates -->\n<ng-template #searchTemplate>\n <div [ngClass]=\"{ 'pep-spacing-element': searchComp }\">\n <ng-content select=\"pep-search\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #sortingTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listSortingComp }\">\n <ng-content select=\"pep-list-sorting\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #viewsTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listViewsComp }\" class=\"flex-wrapper\">\n <ng-content select=\"pep-list-views\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #rightContentTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" class=\"flex-wrapper\">\n <ng-content select=\"[header-end-content]\"></ng-content>\n </div>\n</ng-template>", styles: [".pep-top-bar-container{display:grid;height:calc(var(--pep-top-bar-spacing-top, 1.5rem) + var(--pep-top-bar-spacing-bottom, .5rem) + var(--pep-top-bar-field-height, 2.5rem));z-index:101}.pep-top-bar-container .title{display:inline-flex!important;align-items:center;justify-content:center}.pep-top-bar-container .title.md-max-title-width{max-width:300px}.pep-top-bar-container .title.sm-max-title-width{max-width:180px}.pep-top-bar-container .header-content{height:calc(var(--pep-top-bar-spacing-bottom, .5rem) + var(--pep-top-bar-field-height, 2.5rem));margin-top:var(--pep-top-bar-spacing-top, 1.5rem)}.pep-top-bar-container .header-content .main-layout{width:inherit;height:inherit;padding:0}.pep-top-bar-container .header-content .main-layout .content{display:flex;justify-content:space-between;height:inherit}.pep-top-bar-container .header-content .main-layout .content .left-container,.pep-top-bar-container .header-content .main-layout .content .right-container{height:inherit}.pep-top-bar-container .footer{position:fixed;bottom:0;left:0;right:0;height:var(--pep-footer-bar-height, 4.5rem);z-index:101}.pep-top-bar-container .footer .content{display:flex;justify-content:space-between;margin-inline:calc(var(--pep-spacing-lg, 1rem) * 2);padding-top:var(--pep-footer-bar-spacing-top, .75rem)}@media (max-width: 599px){.pep-top-bar-container .footer .content{margin-inline:var(--pep-spacing-lg, 1rem)}}.pep-top-bar-container .left-container{display:flex}.pep-top-bar-container .right-container{display:flex;justify-content:flex-end}.pep-top-bar-container .flex-wrapper ::ng-deep>*{display:flex}.pep-top-bar-container .list-actions-wrapper ::ng-deep .pep-button{margin-right:var(--pep-spacing-xs, .25rem);margin-left:var(--pep-spacing-xs, .25rem)}.pep-top-bar-container:not(.inline) ::ng-deep .pepperi-button,.pep-top-bar-container:not(.inline) ::ng-deep .pep-button,.pep-top-bar-container:not(.inline) .pepperi-button,.pep-top-bar-container:not(.inline) .pep-button{height:var(--pep-top-bar-field-height, 2.5rem);line-height:var(--pep-top-bar-field-height, 2.5rem)}.pep-top-bar-container.inline{position:inherit;height:var(--pep-top-bar-field-height, 2.5rem);width:100%}.pep-top-bar-container.inline .header-content{margin-top:0;height:inherit;padding:0;position:inherit;width:inherit}.pep-top-bar-container.inline .header-content .main-layout{width:inherit;height:inherit;padding:0}.pep-top-bar-container.inline .header-content .main-layout .content{height:inherit;margin:0}\n", ".pep-top-bar-container{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.pep-top-bar-container .footer{background-color:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}\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: i1.PepRtlDirectionDirective, selector: "[pepRtlDirection]" }] });
78
89
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepTopBarComponent, decorators: [{
79
90
  type: Component,
80
- args: [{ selector: 'pep-top-bar', template: "<div pepRtlDirection [hidden]=\"isHidden\" class=\"pep-top-bar-container\" [ngClass]=\"{ inline: inline }\">\n <div class=\"header-content\">\n <div class=\"main-layout\">\n <div class=\"content pep-border-bottom\">\n <div class=\"left-container pep-spacing-element-negative\">\n <ng-container *ngTemplateOutlet=\"listActionsTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"titleTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"listChooserTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"leftContentTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"listTotalTemplate\"></ng-container>\n </div>\n <div class=\"pep-spacing-element\"></div>\n <div class=\"right-container pep-spacing-element-negative\">\n <ng-container *ngTemplateOutlet=\"searchTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"sortingTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"viewsTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"rightContentTemplate\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n\n <!-- hasFooterContent === null is for the first load to see if there is data in the (footer-start-content || footer-end-content). -->\n <div *ngIf=\"hasFooterContent === null || (hasFooterContent && footerState === 'visible')\" class=\"footer\"\n [style.height.rem]=\"customizationService.footerHeight\">\n <div class=\"content pep-border-top\">\n <div #footerStartContent class=\"left-container pep-spacing-element-negative flex-wrapper\">\n <ng-content select=\"[footer-start-content]\"></ng-content>\n </div>\n <div #footerEndContent class=\"right-container pep-spacing-element-negative flex-wrapper\">\n <ng-content select=\"[footer-end-content]\"></ng-content>\n </div>\n </div>\n <!-- <ng-container *ngIf=\"showFooter && screenSize >= PepScreenSizeType.MD; then footerBlock; else noFooterBlock\">\n </ng-container>\n <ng-template #footerBlock>\n {{ customizationService.showFooter() }}\n </ng-template>\n <ng-template #noFooterBlock>\n {{ customizationService.hideFooter() }}\n </ng-template> -->\n </div>\n\n</div>\n\n<!-- Left side templates -->\n<ng-template #listActionsTemplate>\n <div class=\"list-actions-wrapper\">\n <ng-content *ngIf=\"!searchIsOpenAndSmallDevice\" select=\"pep-list-actions\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #titleTemplate>\n <div *ngIf=\"title?.length > 0\" class=\"pep-spacing-element title {{ inline ? 'title-md' : 'title-lg' }}\">\n <span [title]=\"title\">{{ title }}</span>\n </div>\n</ng-template>\n\n<ng-template #listChooserTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listChooserComp }\">\n <ng-content select=\"pep-list-chooser\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #leftContentTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" class=\"flex-wrapper\">\n <ng-content select=\"[header-start-content]\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #listTotalTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listTotalComp }\">\n <ng-content select=\"pep-list-total\"></ng-content>\n </div>\n</ng-template>\n\n<!-- Right side templates -->\n<ng-template #searchTemplate>\n <div [ngClass]=\"{ 'pep-spacing-element': searchComp }\">\n <ng-content select=\"pep-search\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #sortingTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listSortingComp }\">\n <ng-content select=\"pep-list-sorting\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #viewsTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listViewsComp }\" class=\"flex-wrapper\">\n <ng-content select=\"pep-list-views\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #rightContentTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" class=\"flex-wrapper\">\n <ng-content select=\"[header-end-content]\"></ng-content>\n </div>\n</ng-template>", styles: [".pep-top-bar-container{display:grid;height:calc(var(--pep-top-bar-spacing-top, 1.5rem) + var(--pep-top-bar-spacing-bottom, .5rem) + var(--pep-top-bar-field-height, 2.5rem));z-index:101}.pep-top-bar-container .title{display:inline-flex!important;align-items:center;justify-content:center}.pep-top-bar-container .header-content{height:calc(var(--pep-top-bar-spacing-bottom, .5rem) + var(--pep-top-bar-field-height, 2.5rem));margin-top:var(--pep-top-bar-spacing-top, 1.5rem)}.pep-top-bar-container .header-content .main-layout{width:inherit;height:inherit;padding:0}.pep-top-bar-container .header-content .main-layout .content{display:flex;justify-content:space-between;height:inherit}.pep-top-bar-container .header-content .main-layout .content .left-container,.pep-top-bar-container .header-content .main-layout .content .right-container{height:inherit}.pep-top-bar-container .footer{position:fixed;bottom:0;left:0;right:0;height:var(--pep-footer-bar-height, 4.5rem)}.pep-top-bar-container .footer .content{display:flex;justify-content:space-between;margin-inline:calc(var(--pep-spacing-lg, 1rem) * 2);padding-top:var(--pep-footer-bar-spacing-top, .75rem)}@media (max-width: 599px){.pep-top-bar-container .footer .content{margin-inline:var(--pep-spacing-lg, 1rem)}}.pep-top-bar-container .left-container{display:flex}.pep-top-bar-container .right-container{display:flex;justify-content:flex-end}.pep-top-bar-container .flex-wrapper ::ng-deep>*{display:flex}.pep-top-bar-container .list-actions-wrapper ::ng-deep .pep-button{margin-right:var(--pep-spacing-xs, .25rem);margin-left:var(--pep-spacing-xs, .25rem)}.pep-top-bar-container:not(.inline) ::ng-deep .pepperi-button,.pep-top-bar-container:not(.inline) ::ng-deep .pep-button,.pep-top-bar-container:not(.inline) .pepperi-button,.pep-top-bar-container:not(.inline) .pep-button{height:var(--pep-top-bar-field-height, 2.5rem);line-height:var(--pep-top-bar-field-height, 2.5rem)}.pep-top-bar-container.inline{position:inherit;height:var(--pep-top-bar-field-height, 2.5rem);width:100%}.pep-top-bar-container.inline .header-content{margin-top:0;height:inherit;padding:0;position:inherit;width:inherit}.pep-top-bar-container.inline .header-content .main-layout{width:inherit;height:inherit;padding:0}.pep-top-bar-container.inline .header-content .main-layout .content{height:inherit;margin:0}\n", ".pep-top-bar-container{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.pep-top-bar-container .footer{background-color:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}\n"] }]
91
+ args: [{ selector: 'pep-top-bar', template: "<div pepRtlDirection [hidden]=\"isHidden\" class=\"pep-top-bar-container\" [ngClass]=\"{ inline: inline }\">\n <div class=\"header-content\">\n <div class=\"main-layout\">\n <div class=\"content pep-border-bottom\">\n <div class=\"left-container pep-spacing-element-negative\">\n <ng-container *ngTemplateOutlet=\"listActionsTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"titleTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"listChooserTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"leftContentTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"listTotalTemplate\"></ng-container>\n </div>\n <div class=\"pep-spacing-element\"></div>\n <div class=\"right-container pep-spacing-element-negative\">\n <ng-container *ngTemplateOutlet=\"searchTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"sortingTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"viewsTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"rightContentTemplate\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n\n <!-- hasFooterContent === null is for the first load to see if there is data in the (footer-start-content || footer-end-content). -->\n <div *ngIf=\"hasFooterContent === null || (hasFooterContent && footerState === 'visible')\" class=\"footer\"\n [style.height.rem]=\"customizationService.footerHeight\">\n <div class=\"content pep-border-top\">\n <div #footerStartContent class=\"left-container pep-spacing-element-negative flex-wrapper\">\n <ng-content select=\"[footer-start-content]\"></ng-content>\n </div>\n <div #footerEndContent class=\"right-container pep-spacing-element-negative flex-wrapper\">\n <ng-content select=\"[footer-end-content]\"></ng-content>\n </div>\n </div>\n <!-- <ng-container *ngIf=\"showFooter && screenSize >= PepScreenSizeType.MD; then footerBlock; else noFooterBlock\">\n </ng-container>\n <ng-template #footerBlock>\n {{ customizationService.showFooter() }}\n </ng-template>\n <ng-template #noFooterBlock>\n {{ customizationService.hideFooter() }}\n </ng-template> -->\n </div>\n\n</div>\n\n<!-- Left side templates -->\n<ng-template #listActionsTemplate>\n <div class=\"list-actions-wrapper\">\n <ng-content *ngIf=\"!searchIsOpenAndSmallDevice\" select=\"pep-list-actions\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #titleTemplate>\n <div *ngIf=\"title?.length > 0\" class=\"pep-spacing-element title ellipsis {{ inline ? 'title-md' : 'title-lg' }} \"\n [ngClass]=\"{ 'md-max-title-width': screenSize === PepScreenSizeType.MD, 'sm-max-title-width': screenSize >= PepScreenSizeType.SM }\"\n >\n <span class=\"ellipsis\" [title]=\"title\">{{ title }}</span>\n </div>\n</ng-template>\n\n<ng-template #listChooserTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listChooserComp }\">\n <ng-content select=\"pep-list-chooser\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #leftContentTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" class=\"flex-wrapper\">\n <ng-content select=\"[header-start-content]\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #listTotalTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listTotalComp }\">\n <ng-content select=\"pep-list-total\"></ng-content>\n </div>\n</ng-template>\n\n<!-- Right side templates -->\n<ng-template #searchTemplate>\n <div [ngClass]=\"{ 'pep-spacing-element': searchComp }\">\n <ng-content select=\"pep-search\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #sortingTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listSortingComp }\">\n <ng-content select=\"pep-list-sorting\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #viewsTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" [ngClass]=\"{ 'pep-spacing-element': listViewsComp }\" class=\"flex-wrapper\">\n <ng-content select=\"pep-list-views\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #rightContentTemplate>\n <div *ngIf=\"!searchIsOpenAndSmallDevice\" class=\"flex-wrapper\">\n <ng-content select=\"[header-end-content]\"></ng-content>\n </div>\n</ng-template>", styles: [".pep-top-bar-container{display:grid;height:calc(var(--pep-top-bar-spacing-top, 1.5rem) + var(--pep-top-bar-spacing-bottom, .5rem) + var(--pep-top-bar-field-height, 2.5rem));z-index:101}.pep-top-bar-container .title{display:inline-flex!important;align-items:center;justify-content:center}.pep-top-bar-container .title.md-max-title-width{max-width:300px}.pep-top-bar-container .title.sm-max-title-width{max-width:180px}.pep-top-bar-container .header-content{height:calc(var(--pep-top-bar-spacing-bottom, .5rem) + var(--pep-top-bar-field-height, 2.5rem));margin-top:var(--pep-top-bar-spacing-top, 1.5rem)}.pep-top-bar-container .header-content .main-layout{width:inherit;height:inherit;padding:0}.pep-top-bar-container .header-content .main-layout .content{display:flex;justify-content:space-between;height:inherit}.pep-top-bar-container .header-content .main-layout .content .left-container,.pep-top-bar-container .header-content .main-layout .content .right-container{height:inherit}.pep-top-bar-container .footer{position:fixed;bottom:0;left:0;right:0;height:var(--pep-footer-bar-height, 4.5rem);z-index:101}.pep-top-bar-container .footer .content{display:flex;justify-content:space-between;margin-inline:calc(var(--pep-spacing-lg, 1rem) * 2);padding-top:var(--pep-footer-bar-spacing-top, .75rem)}@media (max-width: 599px){.pep-top-bar-container .footer .content{margin-inline:var(--pep-spacing-lg, 1rem)}}.pep-top-bar-container .left-container{display:flex}.pep-top-bar-container .right-container{display:flex;justify-content:flex-end}.pep-top-bar-container .flex-wrapper ::ng-deep>*{display:flex}.pep-top-bar-container .list-actions-wrapper ::ng-deep .pep-button{margin-right:var(--pep-spacing-xs, .25rem);margin-left:var(--pep-spacing-xs, .25rem)}.pep-top-bar-container:not(.inline) ::ng-deep .pepperi-button,.pep-top-bar-container:not(.inline) ::ng-deep .pep-button,.pep-top-bar-container:not(.inline) .pepperi-button,.pep-top-bar-container:not(.inline) .pep-button{height:var(--pep-top-bar-field-height, 2.5rem);line-height:var(--pep-top-bar-field-height, 2.5rem)}.pep-top-bar-container.inline{position:inherit;height:var(--pep-top-bar-field-height, 2.5rem);width:100%}.pep-top-bar-container.inline .header-content{margin-top:0;height:inherit;padding:0;position:inherit;width:inherit}.pep-top-bar-container.inline .header-content .main-layout{width:inherit;height:inherit;padding:0}.pep-top-bar-container.inline .header-content .main-layout .content{height:inherit;margin:0}\n", ".pep-top-bar-container{background:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}.pep-top-bar-container .footer{background-color:hsl(var(--pep-color-system-primary-invert-h, 255),var(--pep-color-system-primary-invert-s, 100%),var(--pep-color-system-primary-invert-l, 100%))}\n"] }]
81
92
  }], ctorParameters: function () { return [{ type: i1.PepCustomizationService }, { type: i1.PepLayoutService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { inline: [{
82
93
  type: Input
83
94
  }], title: [{
@@ -109,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
109
120
  type: ContentChild,
110
121
  args: [PepListViewsComponent]
111
122
  }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3RvcC1iYXIvdG9wLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3RvcC1iYXIvdG9wLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsWUFBWSxFQUdaLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUgsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHSCxpQkFBaUIsR0FDcEIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLHVCQUF1QixFQUN2Qix1QkFBdUIsRUFDdkIscUJBQXFCLEVBQ3JCLHFCQUFxQixHQUN4QixNQUFNLDhCQUE4QixDQUFDOzs7O0FBZ0J0QyxNQUFNLE9BQU8sa0JBQWtCO0lBNkIzQixZQUNXLG9CQUE2QyxFQUM3QyxhQUErQixFQUM5QixLQUF3QjtRQUZ6Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXlCO1FBQzdDLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUM5QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQS9CM0IsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLFVBQUssR0FBVyxJQUFJLENBQUM7UUFHOUIsc0JBQWlCLEdBQTZDLElBQUksWUFBWSxFQUE4QixDQUFDO1FBZTdHLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUN4QixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBSWhCLCtCQUEwQixHQUFHLEtBQUssQ0FBQztRQUVuQyxzQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztJQU1sQyxDQUFDO0lBRUwsZUFBZTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2QsSUFBSSxDQUFDLGdCQUFnQjtnQkFDakIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFHLENBQUM7b0JBQzVELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDbEU7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUF1QixFQUFFLEVBQUU7WUFDL0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDdkIsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7WUFFckMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ3pCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXO2lCQUN0QixTQUFTLENBQ04sQ0FBQyxzQkFBa0QsRUFBRSxFQUFFO2dCQUNuRCxJQUFJLENBQUMsV0FBVyxHQUFHLHNCQUFzQixDQUFDLEtBQUssQ0FBQztnQkFDaEQsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7WUFDekMsQ0FBQyxDQUNKO2lCQUNBLFdBQVcsRUFBRSxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUMzQixJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDMUM7SUFDTCxDQUFDO0lBRU8sNkJBQTZCO1FBQ2pDLHNFQUFzRTtRQUN0RSxJQUFJLENBQUMsMEJBQTBCO1lBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsaUJBQWlCLENBQUMsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLFdBQVcsS0FBSyxNQUFNLENBQUM7SUFDcEMsQ0FBQztJQUVPLGNBQWM7UUFDbEIsTUFBTSxjQUFjLEdBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLGlCQUFpQixDQUFDLEVBQUU7WUFDNUQsQ0FBQyxDQUFDLFNBQVM7WUFDWCxDQUFDLENBQUMsUUFBUSxDQUFDO1FBRW5CLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxjQUFjLEVBQUU7WUFDckMsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUM7WUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBRXpELElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxTQUFTLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQTthQUN6QztpQkFBTTtnQkFDSCxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxFQUFFLENBQUE7YUFDekM7U0FDSjtJQUNMLENBQUM7OytHQWxHUSxrQkFBa0I7bUdBQWxCLGtCQUFrQiw4TEFVYixrQkFBa0Isa0ZBQ2xCLHVCQUF1QixrRkFFdkIsdUJBQXVCLGdGQUV2QixxQkFBcUIsa0ZBQ3JCLHVCQUF1QixnRkFFdkIscUJBQXFCLGlSQzdEdkMsOCtJQW1HYzsyRkR4REQsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNJLGFBQWE7NktBS2QsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFHTixpQkFBaUI7c0JBRGhCLE1BQU07Z0JBRzBCLGtCQUFrQjtzQkFBbEQsU0FBUzt1QkFBQyxvQkFBb0I7Z0JBQ0EsZ0JBQWdCO3NCQUE5QyxTQUFTO3VCQUFDLGtCQUFrQjtnQkFFSyxVQUFVO3NCQUEzQyxZQUFZO3VCQUFDLGtCQUFrQjtnQkFFaEMsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLHVCQUF1QjtnQkFHckMsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLHVCQUF1QjtnQkFFQSxhQUFhO3NCQUFqRCxZQUFZO3VCQUFDLHFCQUFxQjtnQkFFbkMsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLHVCQUF1QjtnQkFFQSxhQUFhO3NCQUFqRCxZQUFZO3VCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBPbkRlc3Ryb3ksXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLFxuICAgIFBlcExheW91dFNlcnZpY2UsXG4gICAgUGVwU2NyZWVuU2l6ZVR5cGUsXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IFBlcFNlYXJjaENvbXBvbmVudCB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL3NlYXJjaCc7XG5pbXBvcnQge1xuICAgIFBlcExpc3RBY3Rpb25zQ29tcG9uZW50LFxuICAgIFBlcExpc3RDaG9vc2VyQ29tcG9uZW50LFxuICAgIFBlcExpc3RTb3J0aW5nQ29tcG9uZW50LFxuICAgIFBlcExpc3RUb3RhbENvbXBvbmVudCxcbiAgICBQZXBMaXN0Vmlld3NDb21wb25lbnQsXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2xpc3QnO1xuaW1wb3J0IHsgUGVwTWVudVN0YXRlVHlwZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL21lbnUnO1xuaW1wb3J0IHtcbiAgICBJUGVwU2VhcmNoU3RhdGVDaGFuZ2VFdmVudCxcbiAgICBQZXBTZWFyY2hTdGF0ZVR5cGUsXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL3NlYXJjaCc7XG5pbXBvcnQge1xuICAgIElQZXBGb290ZXJTdGF0ZUNoYW5nZUV2ZW50LFxuICAgIFBlcEZvb3RlclN0YXRlVHlwZSxcbn0gZnJvbSAnLi90b3AtYmFyLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtdG9wLWJhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RvcC1iYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RvcC1iYXIuY29tcG9uZW50LnNjc3MnLCAnLi90b3AtYmFyLmNvbXBvbmVudC50aGVtZS5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBlcFRvcEJhckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgaW5saW5lID0gZmFsc2U7XG4gICAgQElucHV0KCkgdGl0bGU6IHN0cmluZyA9IG51bGw7XG5cbiAgICBAT3V0cHV0KClcbiAgICBmb290ZXJTdGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPElQZXBGb290ZXJTdGF0ZUNoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcEZvb3RlclN0YXRlQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgICBAVmlld0NoaWxkKCdmb290ZXJTdGFydENvbnRlbnQnKSBmb290ZXJTdGFydENvbnRlbnQ6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnZm9vdGVyRW5kQ29udGVudCcpIGZvb3RlckVuZENvbnRlbnQ6IEVsZW1lbnRSZWY7XG5cbiAgICBAQ29udGVudENoaWxkKFBlcFNlYXJjaENvbXBvbmVudCkgc2VhcmNoQ29tcDogUGVwU2VhcmNoQ29tcG9uZW50O1xuICAgIEBDb250ZW50Q2hpbGQoUGVwTGlzdEFjdGlvbnNDb21wb25lbnQpXG4gICAgbGlzdEFjdGlvbnNDb21wOiBQZXBMaXN0QWN0aW9uc0NvbXBvbmVudDtcbiAgICBAQ29udGVudENoaWxkKFBlcExpc3RDaG9vc2VyQ29tcG9uZW50KVxuICAgIGxpc3RDaG9vc2VyQ29tcDogUGVwTGlzdENob29zZXJDb21wb25lbnQ7XG4gICAgQENvbnRlbnRDaGlsZChQZXBMaXN0VG90YWxDb21wb25lbnQpIGxpc3RUb3RhbENvbXA6IFBlcExpc3RUb3RhbENvbXBvbmVudDtcbiAgICBAQ29udGVudENoaWxkKFBlcExpc3RTb3J0aW5nQ29tcG9uZW50KVxuICAgIGxpc3RTb3J0aW5nQ29tcDogUGVwTGlzdFNvcnRpbmdDb21wb25lbnQ7XG4gICAgQENvbnRlbnRDaGlsZChQZXBMaXN0Vmlld3NDb21wb25lbnQpIGxpc3RWaWV3c0NvbXA6IFBlcExpc3RWaWV3c0NvbXBvbmVudDtcblxuICAgIGhhc0Zvb3RlckNvbnRlbnQgPSBudWxsO1xuICAgIGlzSGlkZGVuID0gdHJ1ZTtcbiAgICBzY3JlZW5TaXplOiBQZXBTY3JlZW5TaXplVHlwZTtcbiAgICAvLyBsaXN0QWN0aW9uc0lzVmlzaWJsZSA9IGZhbHNlO1xuICAgIHNlYXJjaFN0YXRlOiBQZXBTZWFyY2hTdGF0ZVR5cGU7XG4gICAgc2VhcmNoSXNPcGVuQW5kU21hbGxEZXZpY2UgPSBmYWxzZTtcbiAgICBmb290ZXJTdGF0ZTogUGVwRm9vdGVyU3RhdGVUeXBlO1xuICAgIFBlcFNjcmVlblNpemVUeXBlID0gUGVwU2NyZWVuU2l6ZVR5cGU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGN1c3RvbWl6YXRpb25TZXJ2aWNlOiBQZXBDdXN0b21pemF0aW9uU2VydmljZSxcbiAgICAgICAgcHVibGljIGxheW91dFNlcnZpY2U6IFBlcExheW91dFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7IH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlubGluZSkge1xuICAgICAgICAgICAgdGhpcy5oYXNGb290ZXJDb250ZW50ID1cbiAgICAgICAgICAgICAgICB0aGlzLmZvb3RlclN0YXJ0Q29udGVudD8ubmF0aXZlRWxlbWVudD8uY2hpbGRyZW4/Lmxlbmd0aCA+IDAgfHxcbiAgICAgICAgICAgICAgICB0aGlzLmZvb3RlckVuZENvbnRlbnQ/Lm5hdGl2ZUVsZW1lbnQ/LmNoaWxkcmVuPy5sZW5ndGggPiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLm9uUmVzaXplJC5zdWJzY3JpYmUoKHNpemU6IFBlcFNjcmVlblNpemVUeXBlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNjcmVlblNpemUgPSBzaXplO1xuICAgICAgICAgICAgdGhpcy5zZXRTZWFyY2hJc09wZW5BbmRTbWFsbERldmljZSgpO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMuaW5saW5lKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRGb290ZXJTdGF0ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmlzSGlkZGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoQ29tcCkge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hDb21wLnN0YXRlQ2hhbmdlXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAgICAgKHNlYXJjaFN0YXRlQ2hhbmdlRXZlbnQ6IElQZXBTZWFyY2hTdGF0ZUNoYW5nZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaFN0YXRlID0gc2VhcmNoU3RhdGVDaGFuZ2VFdmVudC5zdGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U2VhcmNoSXNPcGVuQW5kU21hbGxEZXZpY2UoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jdXN0b21pemF0aW9uU2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5jdXN0b21pemF0aW9uU2VydmljZS5oaWRlRm9vdGVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFNlYXJjaElzT3BlbkFuZFNtYWxsRGV2aWNlKCk6IHZvaWQge1xuICAgICAgICAvLyBjaGVjayBpZiBzZWFyY2ggaXMgb3BlbiBhbmQgdGhlIGRldmljZSBzaXplIGlzIHNtYWxsIG9yIGV4dHJhIHNtYWxsXG4gICAgICAgIHRoaXMuc2VhcmNoSXNPcGVuQW5kU21hbGxEZXZpY2UgPVxuICAgICAgICAgICAgdGhpcy5zY3JlZW5TaXplID4gUGVwU2NyZWVuU2l6ZVR5cGUuU00gJiZcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoU3RhdGUgPT09ICdvcGVuJztcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEZvb3RlclN0YXRlKCkge1xuICAgICAgICBjb25zdCBuZXdGb290ZXJTdGF0ZTogUGVwRm9vdGVyU3RhdGVUeXBlID1cbiAgICAgICAgICAgIHRoaXMuaGFzRm9vdGVyQ29udGVudCAmJiB0aGlzLnNjcmVlblNpemUgPj0gUGVwU2NyZWVuU2l6ZVR5cGUuTURcbiAgICAgICAgICAgICAgICA/ICd2aXNpYmxlJ1xuICAgICAgICAgICAgICAgIDogJ2hpZGRlbic7XG5cbiAgICAgICAgaWYgKHRoaXMuZm9vdGVyU3RhdGUgIT09IG5ld0Zvb3RlclN0YXRlKSB7XG4gICAgICAgICAgICB0aGlzLmZvb3RlclN0YXRlID0gbmV3Rm9vdGVyU3RhdGU7XG4gICAgICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIHRoaXMuZm9vdGVyU3RhdGVDaGFuZ2UuZW1pdCh7IHN0YXRlOiB0aGlzLmZvb3RlclN0YXRlIH0pO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5mb290ZXJTdGF0ZSA9PT0gJ3Zpc2libGUnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXN0b21pemF0aW9uU2VydmljZS5zaG93Rm9vdGVyKClcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXN0b21pemF0aW9uU2VydmljZS5oaWRlRm9vdGVyKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgcGVwUnRsRGlyZWN0aW9uIFtoaWRkZW5dPVwiaXNIaWRkZW5cIiBjbGFzcz1cInBlcC10b3AtYmFyLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsgaW5saW5lOiBpbmxpbmUgfVwiPlxuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItY29udGVudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1sYXlvdXRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50IHBlcC1ib3JkZXItYm90dG9tXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtY29udGFpbmVyIHBlcC1zcGFjaW5nLWVsZW1lbnQtbmVnYXRpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpc3RBY3Rpb25zVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRpdGxlVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpc3RDaG9vc2VyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxlZnRDb250ZW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpc3RUb3RhbFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBlcC1zcGFjaW5nLWVsZW1lbnRcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHQtY29udGFpbmVyIHBlcC1zcGFjaW5nLWVsZW1lbnQtbmVnYXRpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlYXJjaFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzb3J0aW5nVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInZpZXdzVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJpZ2h0Q29udGVudFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIGhhc0Zvb3RlckNvbnRlbnQgPT09IG51bGwgaXMgZm9yIHRoZSBmaXJzdCBsb2FkIHRvIHNlZSBpZiB0aGVyZSBpcyBkYXRhIGluIHRoZSAoZm9vdGVyLXN0YXJ0LWNvbnRlbnQgfHwgZm9vdGVyLWVuZC1jb250ZW50KS4gLS0+XG4gICAgPGRpdiAqbmdJZj1cImhhc0Zvb3RlckNvbnRlbnQgPT09IG51bGwgfHwgKGhhc0Zvb3RlckNvbnRlbnQgJiYgZm9vdGVyU3RhdGUgPT09ICd2aXNpYmxlJylcIiBjbGFzcz1cImZvb3RlclwiXG4gICAgICAgIFtzdHlsZS5oZWlnaHQucmVtXT1cImN1c3RvbWl6YXRpb25TZXJ2aWNlLmZvb3RlckhlaWdodFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudCBwZXAtYm9yZGVyLXRvcFwiPlxuICAgICAgICAgICAgPGRpdiAjZm9vdGVyU3RhcnRDb250ZW50IGNsYXNzPVwibGVmdC1jb250YWluZXIgcGVwLXNwYWNpbmctZWxlbWVudC1uZWdhdGl2ZSBmbGV4LXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZm9vdGVyLXN0YXJ0LWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICNmb290ZXJFbmRDb250ZW50IGNsYXNzPVwicmlnaHQtY29udGFpbmVyIHBlcC1zcGFjaW5nLWVsZW1lbnQtbmVnYXRpdmUgZmxleC13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Zvb3Rlci1lbmQtY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dGb290ZXIgJiYgc2NyZWVuU2l6ZSA+PSBQZXBTY3JlZW5TaXplVHlwZS5NRDsgdGhlbiBmb290ZXJCbG9jazsgZWxzZSBub0Zvb3RlckJsb2NrXCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2Zvb3RlckJsb2NrPlxuICAgICAgICAgICAge3sgY3VzdG9taXphdGlvblNlcnZpY2Uuc2hvd0Zvb3RlcigpIH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9Gb290ZXJCbG9jaz5cbiAgICAgICAgICAgIHt7IGN1c3RvbWl6YXRpb25TZXJ2aWNlLmhpZGVGb290ZXIoKSB9fVxuICAgICAgICA8L25nLXRlbXBsYXRlPiAtLT5cbiAgICA8L2Rpdj5cblxuPC9kaXY+XG5cbjwhLS0gTGVmdCBzaWRlIHRlbXBsYXRlcyAtLT5cbjxuZy10ZW1wbGF0ZSAjbGlzdEFjdGlvbnNUZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwibGlzdC1hY3Rpb25zLXdyYXBwZXJcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgKm5nSWY9XCIhc2VhcmNoSXNPcGVuQW5kU21hbGxEZXZpY2VcIiBzZWxlY3Q9XCJwZXAtbGlzdC1hY3Rpb25zXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN0aXRsZVRlbXBsYXRlPlxuICAgIDxkaXYgKm5nSWY9XCJ0aXRsZT8ubGVuZ3RoID4gMFwiIGNsYXNzPVwicGVwLXNwYWNpbmctZWxlbWVudCB0aXRsZSB7eyBpbmxpbmUgPyAndGl0bGUtbWQnIDogJ3RpdGxlLWxnJyB9fVwiPlxuICAgICAgICA8c3BhbiBbdGl0bGVdPVwidGl0bGVcIj57eyB0aXRsZSB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbGlzdENob29zZXJUZW1wbGF0ZT5cbiAgICA8ZGl2ICpuZ0lmPVwiIXNlYXJjaElzT3BlbkFuZFNtYWxsRGV2aWNlXCIgW25nQ2xhc3NdPVwieyAncGVwLXNwYWNpbmctZWxlbWVudCc6IGxpc3RDaG9vc2VyQ29tcCB9XCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInBlcC1saXN0LWNob29zZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2xlZnRDb250ZW50VGVtcGxhdGU+XG4gICAgPGRpdiAqbmdJZj1cIiFzZWFyY2hJc09wZW5BbmRTbWFsbERldmljZVwiIGNsYXNzPVwiZmxleC13cmFwcGVyXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltoZWFkZXItc3RhcnQtY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2xpc3RUb3RhbFRlbXBsYXRlPlxuICAgIDxkaXYgKm5nSWY9XCIhc2VhcmNoSXNPcGVuQW5kU21hbGxEZXZpY2VcIiBbbmdDbGFzc109XCJ7ICdwZXAtc3BhY2luZy1lbGVtZW50JzogbGlzdFRvdGFsQ29tcCB9XCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInBlcC1saXN0LXRvdGFsXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBSaWdodCBzaWRlIHRlbXBsYXRlcyAtLT5cbjxuZy10ZW1wbGF0ZSAjc2VhcmNoVGVtcGxhdGU+XG4gICAgPGRpdiBbbmdDbGFzc109XCJ7ICdwZXAtc3BhY2luZy1lbGVtZW50Jzogc2VhcmNoQ29tcCB9XCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInBlcC1zZWFyY2hcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3NvcnRpbmdUZW1wbGF0ZT5cbiAgICA8ZGl2ICpuZ0lmPVwiIXNlYXJjaElzT3BlbkFuZFNtYWxsRGV2aWNlXCIgW25nQ2xhc3NdPVwieyAncGVwLXNwYWNpbmctZWxlbWVudCc6IGxpc3RTb3J0aW5nQ29tcCB9XCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInBlcC1saXN0LXNvcnRpbmdcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3ZpZXdzVGVtcGxhdGU+XG4gICAgPGRpdiAqbmdJZj1cIiFzZWFyY2hJc09wZW5BbmRTbWFsbERldmljZVwiIFtuZ0NsYXNzXT1cInsgJ3BlcC1zcGFjaW5nLWVsZW1lbnQnOiBsaXN0Vmlld3NDb21wIH1cIiBjbGFzcz1cImZsZXgtd3JhcHBlclwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJwZXAtbGlzdC12aWV3c1wiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcmlnaHRDb250ZW50VGVtcGxhdGU+XG4gICAgPGRpdiAqbmdJZj1cIiFzZWFyY2hJc09wZW5BbmRTbWFsbERldmljZVwiIGNsYXNzPVwiZmxleC13cmFwcGVyXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltoZWFkZXItZW5kLWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3RvcC1iYXIvdG9wLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3RvcC1iYXIvdG9wLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsWUFBWSxFQUdaLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUgsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHSCxpQkFBaUIsR0FDcEIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLHVCQUF1QixFQUN2Qix1QkFBdUIsRUFDdkIscUJBQXFCLEVBQ3JCLHFCQUFxQixHQUN4QixNQUFNLDhCQUE4QixDQUFDOzs7O0FBZ0J0QyxNQUFNLE9BQU8sa0JBQWtCO0lBK0IzQixZQUNXLG9CQUE2QyxFQUM3QyxhQUErQixFQUM5QixLQUF3QjtRQUZ6Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXlCO1FBQzdDLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUM5QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQWpDM0IsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLFVBQUssR0FBVyxJQUFJLENBQUM7UUFHOUIsc0JBQWlCLEdBQTZDLElBQUksWUFBWSxFQUE4QixDQUFDO1FBZTdHLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUN4QixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBSWhCLCtCQUEwQixHQUFHLEtBQUssQ0FBQztRQUVuQyxzQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUM5Qix3QkFBbUIsR0FBRyxhQUFhLENBQUM7UUFDcEMsbUJBQWMsR0FBRyxLQUFLLENBQUM7SUFNM0IsQ0FBQztJQUVMLGVBQWU7UUFDWCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsaUJBQWlCLENBQUM7UUFFN0MsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNkLElBQUksQ0FBQyxnQkFBZ0I7b0JBQ2pCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sR0FBRyxDQUFDO3dCQUM1RCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDO2FBQ2xFO1lBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBdUIsRUFBRSxFQUFFO2dCQUMvRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztnQkFDdkIsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7Z0JBRXJDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO29CQUNkLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztpQkFDekI7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBRXRCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1lBQzNCLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO2FBQzlCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLG1CQUFtQixHQUFHLG9CQUFvQixDQUFDO1FBRWhELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVc7aUJBQ3RCLFNBQVMsQ0FDTixDQUFDLHNCQUFrRCxFQUFFLEVBQUU7Z0JBQ25ELElBQUksQ0FBQyxXQUFXLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxDQUFDO2dCQUNoRCxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztZQUN6QyxDQUFDLENBQ0o7aUJBQ0EsV0FBVyxFQUFFLENBQUM7U0FDdEI7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzNCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUMxQztJQUNMLENBQUM7SUFFTyw2QkFBNkI7UUFDakMsc0VBQXNFO1FBQ3RFLElBQUksQ0FBQywwQkFBMEI7WUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxFQUFFO2dCQUN0QyxJQUFJLENBQUMsV0FBVyxLQUFLLE1BQU0sQ0FBQztJQUNwQyxDQUFDO0lBRU8sY0FBYztRQUNsQixNQUFNLGNBQWMsR0FDaEIsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksaUJBQWlCLENBQUMsRUFBRTtZQUM1RCxDQUFDLENBQUMsU0FBUztZQUNYLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFFbkIsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLGNBQWMsRUFBRTtZQUNyQyxJQUFJLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQztZQUVsQyxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQzthQUM5QjtZQUVELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFFekQsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxDQUFBO2FBQ3pDO2lCQUFNO2dCQUNILElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQTthQUN6QztTQUNKO0lBQ0wsQ0FBQzs7K0dBbEhRLGtCQUFrQjttR0FBbEIsa0JBQWtCLDhMQVViLGtCQUFrQixrRkFDbEIsdUJBQXVCLGtGQUV2Qix1QkFBdUIsZ0ZBRXZCLHFCQUFxQixrRkFDckIsdUJBQXVCLGdGQUV2QixxQkFBcUIsaVJDN0R2QyxvcUpBcUdjOzJGRDFERCxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0ksYUFBYTs2S0FLZCxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUdOLGlCQUFpQjtzQkFEaEIsTUFBTTtnQkFHMEIsa0JBQWtCO3NCQUFsRCxTQUFTO3VCQUFDLG9CQUFvQjtnQkFDQSxnQkFBZ0I7c0JBQTlDLFNBQVM7dUJBQUMsa0JBQWtCO2dCQUVLLFVBQVU7c0JBQTNDLFlBQVk7dUJBQUMsa0JBQWtCO2dCQUVoQyxlQUFlO3NCQURkLFlBQVk7dUJBQUMsdUJBQXVCO2dCQUdyQyxlQUFlO3NCQURkLFlBQVk7dUJBQUMsdUJBQXVCO2dCQUVBLGFBQWE7c0JBQWpELFlBQVk7dUJBQUMscUJBQXFCO2dCQUVuQyxlQUFlO3NCQURkLFlBQVk7dUJBQUMsdUJBQXVCO2dCQUVBLGFBQWE7c0JBQWpELFlBQVk7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIE9uRGVzdHJveSxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgUGVwTGF5b3V0U2VydmljZSxcbiAgICBQZXBTY3JlZW5TaXplVHlwZSxcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgUGVwU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvc2VhcmNoJztcbmltcG9ydCB7XG4gICAgUGVwTGlzdEFjdGlvbnNDb21wb25lbnQsXG4gICAgUGVwTGlzdENob29zZXJDb21wb25lbnQsXG4gICAgUGVwTGlzdFNvcnRpbmdDb21wb25lbnQsXG4gICAgUGVwTGlzdFRvdGFsQ29tcG9uZW50LFxuICAgIFBlcExpc3RWaWV3c0NvbXBvbmVudCxcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvbGlzdCc7XG5pbXBvcnQgeyBQZXBNZW51U3RhdGVUeXBlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvbWVudSc7XG5pbXBvcnQge1xuICAgIElQZXBTZWFyY2hTdGF0ZUNoYW5nZUV2ZW50LFxuICAgIFBlcFNlYXJjaFN0YXRlVHlwZSxcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvc2VhcmNoJztcbmltcG9ydCB7XG4gICAgSVBlcEZvb3RlclN0YXRlQ2hhbmdlRXZlbnQsXG4gICAgUGVwRm9vdGVyU3RhdGVUeXBlLFxufSBmcm9tICcuL3RvcC1iYXIubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC10b3AtYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9wLWJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdG9wLWJhci5jb21wb25lbnQuc2NzcycsICcuL3RvcC1iYXIuY29tcG9uZW50LnRoZW1lLnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUGVwVG9wQmFyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBpbmxpbmUgPSBmYWxzZTtcbiAgICBASW5wdXQoKSB0aXRsZTogc3RyaW5nID0gbnVsbDtcblxuICAgIEBPdXRwdXQoKVxuICAgIGZvb3RlclN0YXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVBlcEZvb3RlclN0YXRlQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJUGVwRm9vdGVyU3RhdGVDaGFuZ2VFdmVudD4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2Zvb3RlclN0YXJ0Q29udGVudCcpIGZvb3RlclN0YXJ0Q29udGVudDogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCdmb290ZXJFbmRDb250ZW50JykgZm9vdGVyRW5kQ29udGVudDogRWxlbWVudFJlZjtcblxuICAgIEBDb250ZW50Q2hpbGQoUGVwU2VhcmNoQ29tcG9uZW50KSBzZWFyY2hDb21wOiBQZXBTZWFyY2hDb21wb25lbnQ7XG4gICAgQENvbnRlbnRDaGlsZChQZXBMaXN0QWN0aW9uc0NvbXBvbmVudClcbiAgICBsaXN0QWN0aW9uc0NvbXA6IFBlcExpc3RBY3Rpb25zQ29tcG9uZW50O1xuICAgIEBDb250ZW50Q2hpbGQoUGVwTGlzdENob29zZXJDb21wb25lbnQpXG4gICAgbGlzdENob29zZXJDb21wOiBQZXBMaXN0Q2hvb3NlckNvbXBvbmVudDtcbiAgICBAQ29udGVudENoaWxkKFBlcExpc3RUb3RhbENvbXBvbmVudCkgbGlzdFRvdGFsQ29tcDogUGVwTGlzdFRvdGFsQ29tcG9uZW50O1xuICAgIEBDb250ZW50Q2hpbGQoUGVwTGlzdFNvcnRpbmdDb21wb25lbnQpXG4gICAgbGlzdFNvcnRpbmdDb21wOiBQZXBMaXN0U29ydGluZ0NvbXBvbmVudDtcbiAgICBAQ29udGVudENoaWxkKFBlcExpc3RWaWV3c0NvbXBvbmVudCkgbGlzdFZpZXdzQ29tcDogUGVwTGlzdFZpZXdzQ29tcG9uZW50O1xuXG4gICAgaGFzRm9vdGVyQ29udGVudCA9IG51bGw7XG4gICAgaXNIaWRkZW4gPSB0cnVlO1xuICAgIHNjcmVlblNpemU6IFBlcFNjcmVlblNpemVUeXBlO1xuICAgIC8vIGxpc3RBY3Rpb25zSXNWaXNpYmxlID0gZmFsc2U7XG4gICAgc2VhcmNoU3RhdGU6IFBlcFNlYXJjaFN0YXRlVHlwZTtcbiAgICBzZWFyY2hJc09wZW5BbmRTbWFsbERldmljZSA9IGZhbHNlO1xuICAgIGZvb3RlclN0YXRlOiBQZXBGb290ZXJTdGF0ZVR5cGU7XG4gICAgUGVwU2NyZWVuU2l6ZVR5cGUgPSBQZXBTY3JlZW5TaXplVHlwZTtcbiAgICBwcml2YXRlIF9fcGVwTGlmZWN5Y2xlUGhhc2UgPSAnY29uc3RydWN0b3InO1xuICAgIHByaXZhdGUgX19wZXBWaWV3UmVhZHkgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgY3VzdG9taXphdGlvblNlcnZpY2U6IFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgbGF5b3V0U2VydmljZTogUGVwTGF5b3V0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgKSB7IH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fX3BlcExpZmVjeWNsZVBoYXNlID0gJ25nQWZ0ZXJWaWV3SW5pdCc7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaW5saW5lKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYXNGb290ZXJDb250ZW50ID1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb290ZXJTdGFydENvbnRlbnQ/Lm5hdGl2ZUVsZW1lbnQ/LmNoaWxkcmVuPy5sZW5ndGggPiAwIHx8XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9vdGVyRW5kQ29udGVudD8ubmF0aXZlRWxlbWVudD8uY2hpbGRyZW4/Lmxlbmd0aCA+IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5vblJlc2l6ZSQuc3Vic2NyaWJlKChzaXplOiBQZXBTY3JlZW5TaXplVHlwZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2NyZWVuU2l6ZSA9IHNpemU7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTZWFyY2hJc09wZW5BbmRTbWFsbERldmljZSgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlubGluZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEZvb3RlclN0YXRlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuaXNIaWRkZW4gPSBmYWxzZTtcblxuICAgICAgICAgICAgdGhpcy5fX3BlcFZpZXdSZWFkeSA9IHRydWU7XG4gICAgICAgICAgICBpZiAodGhpcy5jZFJlZiAmJiB0aGlzLl9fcGVwVmlld1JlYWR5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy5fX3BlcExpZmVjeWNsZVBoYXNlID0gJ25nQWZ0ZXJDb250ZW50SW5pdCc7XG5cbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoQ29tcCkge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hDb21wLnN0YXRlQ2hhbmdlXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAgICAgKHNlYXJjaFN0YXRlQ2hhbmdlRXZlbnQ6IElQZXBTZWFyY2hTdGF0ZUNoYW5nZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaFN0YXRlID0gc2VhcmNoU3RhdGVDaGFuZ2VFdmVudC5zdGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U2VhcmNoSXNPcGVuQW5kU21hbGxEZXZpY2UoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jdXN0b21pemF0aW9uU2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5jdXN0b21pemF0aW9uU2VydmljZS5oaWRlRm9vdGVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFNlYXJjaElzT3BlbkFuZFNtYWxsRGV2aWNlKCk6IHZvaWQge1xuICAgICAgICAvLyBjaGVjayBpZiBzZWFyY2ggaXMgb3BlbiBhbmQgdGhlIGRldmljZSBzaXplIGlzIHNtYWxsIG9yIGV4dHJhIHNtYWxsXG4gICAgICAgIHRoaXMuc2VhcmNoSXNPcGVuQW5kU21hbGxEZXZpY2UgPVxuICAgICAgICAgICAgdGhpcy5zY3JlZW5TaXplID4gUGVwU2NyZWVuU2l6ZVR5cGUuU00gJiZcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoU3RhdGUgPT09ICdvcGVuJztcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEZvb3RlclN0YXRlKCkge1xuICAgICAgICBjb25zdCBuZXdGb290ZXJTdGF0ZTogUGVwRm9vdGVyU3RhdGVUeXBlID1cbiAgICAgICAgICAgIHRoaXMuaGFzRm9vdGVyQ29udGVudCAmJiB0aGlzLnNjcmVlblNpemUgPj0gUGVwU2NyZWVuU2l6ZVR5cGUuTURcbiAgICAgICAgICAgICAgICA/ICd2aXNpYmxlJ1xuICAgICAgICAgICAgICAgIDogJ2hpZGRlbic7XG5cbiAgICAgICAgaWYgKHRoaXMuZm9vdGVyU3RhdGUgIT09IG5ld0Zvb3RlclN0YXRlKSB7XG4gICAgICAgICAgICB0aGlzLmZvb3RlclN0YXRlID0gbmV3Rm9vdGVyU3RhdGU7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmNkUmVmICYmIHRoaXMuX19wZXBWaWV3UmVhZHkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5mb290ZXJTdGF0ZUNoYW5nZS5lbWl0KHsgc3RhdGU6IHRoaXMuZm9vdGVyU3RhdGUgfSk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmZvb3RlclN0YXRlID09PSAndmlzaWJsZScpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLnNob3dGb290ZXIoKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLmhpZGVGb290ZXIoKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBwZXBSdGxEaXJlY3Rpb24gW2hpZGRlbl09XCJpc0hpZGRlblwiIGNsYXNzPVwicGVwLXRvcC1iYXItY29udGFpbmVyXCIgW25nQ2xhc3NdPVwieyBpbmxpbmU6IGlubGluZSB9XCI+XG4gICAgPGRpdiBjbGFzcz1cImhlYWRlci1jb250ZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWxheW91dFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQgcGVwLWJvcmRlci1ib3R0b21cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1jb250YWluZXIgcGVwLXNwYWNpbmctZWxlbWVudC1uZWdhdGl2ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlzdEFjdGlvbnNUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGl0bGVUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlzdENob29zZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGVmdENvbnRlbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlzdFRvdGFsVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGVwLXNwYWNpbmctZWxlbWVudFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodC1jb250YWluZXIgcGVwLXNwYWNpbmctZWxlbWVudC1uZWdhdGl2ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VhcmNoVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNvcnRpbmdUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidmlld3NUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmlnaHRDb250ZW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gaGFzRm9vdGVyQ29udGVudCA9PT0gbnVsbCBpcyBmb3IgdGhlIGZpcnN0IGxvYWQgdG8gc2VlIGlmIHRoZXJlIGlzIGRhdGEgaW4gdGhlIChmb290ZXItc3RhcnQtY29udGVudCB8fCBmb290ZXItZW5kLWNvbnRlbnQpLiAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwiaGFzRm9vdGVyQ29udGVudCA9PT0gbnVsbCB8fCAoaGFzRm9vdGVyQ29udGVudCAmJiBmb290ZXJTdGF0ZSA9PT0gJ3Zpc2libGUnKVwiIGNsYXNzPVwiZm9vdGVyXCJcbiAgICAgICAgW3N0eWxlLmhlaWdodC5yZW1dPVwiY3VzdG9taXphdGlvblNlcnZpY2UuZm9vdGVySGVpZ2h0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50IHBlcC1ib3JkZXItdG9wXCI+XG4gICAgICAgICAgICA8ZGl2ICNmb290ZXJTdGFydENvbnRlbnQgY2xhc3M9XCJsZWZ0LWNvbnRhaW5lciBwZXAtc3BhY2luZy1lbGVtZW50LW5lZ2F0aXZlIGZsZXgtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmb290ZXItc3RhcnQtY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgI2Zvb3RlckVuZENvbnRlbnQgY2xhc3M9XCJyaWdodC1jb250YWluZXIgcGVwLXNwYWNpbmctZWxlbWVudC1uZWdhdGl2ZSBmbGV4LXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZm9vdGVyLWVuZC1jb250ZW50XVwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0Zvb3RlciAmJiBzY3JlZW5TaXplID49IFBlcFNjcmVlblNpemVUeXBlLk1EOyB0aGVuIGZvb3RlckJsb2NrOyBlbHNlIG5vRm9vdGVyQmxvY2tcIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyQmxvY2s+XG4gICAgICAgICAgICB7eyBjdXN0b21pemF0aW9uU2VydmljZS5zaG93Rm9vdGVyKCkgfX1cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNub0Zvb3RlckJsb2NrPlxuICAgICAgICAgICAge3sgY3VzdG9taXphdGlvblNlcnZpY2UuaGlkZUZvb3RlcigpIH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+IC0tPlxuICAgIDwvZGl2PlxuXG48L2Rpdj5cblxuPCEtLSBMZWZ0IHNpZGUgdGVtcGxhdGVzIC0tPlxuPG5nLXRlbXBsYXRlICNsaXN0QWN0aW9uc1RlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJsaXN0LWFjdGlvbnMtd3JhcHBlclwiPlxuICAgICAgICA8bmctY29udGVudCAqbmdJZj1cIiFzZWFyY2hJc09wZW5BbmRTbWFsbERldmljZVwiIHNlbGVjdD1cInBlcC1saXN0LWFjdGlvbnNcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RpdGxlVGVtcGxhdGU+XG4gICAgPGRpdiAqbmdJZj1cInRpdGxlPy5sZW5ndGggPiAwXCIgY2xhc3M9XCJwZXAtc3BhY2luZy1lbGVtZW50IHRpdGxlIGVsbGlwc2lzIHt7IGlubGluZSA/ICd0aXRsZS1tZCcgOiAndGl0bGUtbGcnIH19IFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ21kLW1heC10aXRsZS13aWR0aCc6IHNjcmVlblNpemUgPT09IFBlcFNjcmVlblNpemVUeXBlLk1ELCAnc20tbWF4LXRpdGxlLXdpZHRoJzogc2NyZWVuU2l6ZSA+PSBQZXBTY3JlZW5TaXplVHlwZS5TTSB9XCJcbiAgICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImVsbGlwc2lzXCIgW3RpdGxlXT1cInRpdGxlXCI+e3sgdGl0bGUgfX08L3NwYW4+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2xpc3RDaG9vc2VyVGVtcGxhdGU+XG4gICAgPGRpdiAqbmdJZj1cIiFzZWFyY2hJc09wZW5BbmRTbWFsbERldmljZVwiIFtuZ0NsYXNzXT1cInsgJ3BlcC1zcGFjaW5nLWVsZW1lbnQnOiBsaXN0Q2hvb3NlckNvbXAgfVwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJwZXAtbGlzdC1jaG9vc2VyXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNsZWZ0Q29udGVudFRlbXBsYXRlPlxuICAgIDxkaXYgKm5nSWY9XCIhc2VhcmNoSXNPcGVuQW5kU21hbGxEZXZpY2VcIiBjbGFzcz1cImZsZXgtd3JhcHBlclwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbaGVhZGVyLXN0YXJ0LWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNsaXN0VG90YWxUZW1wbGF0ZT5cbiAgICA8ZGl2ICpuZ0lmPVwiIXNlYXJjaElzT3BlbkFuZFNtYWxsRGV2aWNlXCIgW25nQ2xhc3NdPVwieyAncGVwLXNwYWNpbmctZWxlbWVudCc6IGxpc3RUb3RhbENvbXAgfVwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJwZXAtbGlzdC10b3RhbFwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0gUmlnaHQgc2lkZSB0ZW1wbGF0ZXMgLS0+XG48bmctdGVtcGxhdGUgI3NlYXJjaFRlbXBsYXRlPlxuICAgIDxkaXYgW25nQ2xhc3NdPVwieyAncGVwLXNwYWNpbmctZWxlbWVudCc6IHNlYXJjaENvbXAgfVwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJwZXAtc2VhcmNoXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzb3J0aW5nVGVtcGxhdGU+XG4gICAgPGRpdiAqbmdJZj1cIiFzZWFyY2hJc09wZW5BbmRTbWFsbERldmljZVwiIFtuZ0NsYXNzXT1cInsgJ3BlcC1zcGFjaW5nLWVsZW1lbnQnOiBsaXN0U29ydGluZ0NvbXAgfVwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJwZXAtbGlzdC1zb3J0aW5nXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN2aWV3c1RlbXBsYXRlPlxuICAgIDxkaXYgKm5nSWY9XCIhc2VhcmNoSXNPcGVuQW5kU21hbGxEZXZpY2VcIiBbbmdDbGFzc109XCJ7ICdwZXAtc3BhY2luZy1lbGVtZW50JzogbGlzdFZpZXdzQ29tcCB9XCIgY2xhc3M9XCJmbGV4LXdyYXBwZXJcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwicGVwLWxpc3Qtdmlld3NcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3JpZ2h0Q29udGVudFRlbXBsYXRlPlxuICAgIDxkaXYgKm5nSWY9XCIhc2VhcmNoSXNPcGVuQW5kU21hbGxEZXZpY2VcIiBjbGFzcz1cImZsZXgtd3JhcHBlclwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbaGVhZGVyLWVuZC1jb250ZW50XVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
@@ -3,7 +3,7 @@ import { EventEmitter, Component, ChangeDetectionStrategy, Input, Output, NgModu
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i2 from '@angular/forms';
6
- import { ReactiveFormsModule } from '@angular/forms';
6
+ import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
7
7
  import { MatCommonModule } from '@angular/material/core';
8
8
  import { MatFormFieldModule } from '@angular/material/form-field';
9
9
  import { DEFAULT_HORIZONTAL_ALIGNMENT, PepNgxLibModule } from '@pepperi-addons/ngx-lib';
@@ -28,11 +28,33 @@ class PepAddressComponent {
28
28
  this.readonly = false;
29
29
  this.xAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;
30
30
  this.rowSpan = 1;
31
- this.form = null;
31
+ this._formProvidedExternally = false;
32
+ this._form = null;
32
33
  this.layoutType = 'form';
33
34
  this._visible = true;
34
35
  this.addressValueChange = new EventEmitter();
35
36
  }
37
+ set groupFields(value) {
38
+ this._groupFields = value;
39
+ // Reset form when groupFields change
40
+ if (this._form && !this._formProvidedExternally) {
41
+ this._form = null;
42
+ }
43
+ }
44
+ get groupFields() {
45
+ return this._groupFields;
46
+ }
47
+ set form(value) {
48
+ this._form = value;
49
+ this._formProvidedExternally = !!value;
50
+ }
51
+ get form() {
52
+ // If no form is provided, create one internally
53
+ if (!this._form && this.key && this.groupFields) {
54
+ this._form = this.createInternalForm();
55
+ }
56
+ return this._form;
57
+ }
36
58
  set visible(visible) {
37
59
  this._visible = visible;
38
60
  if (visible) {
@@ -47,9 +69,22 @@ class PepAddressComponent {
47
69
  }
48
70
  ngOnInit() {
49
71
  this.renderer.addClass(this.element.nativeElement, 'pep-grouped-field');
72
+ // Ensure form is created if needed
73
+ if (!this.form && this.key && this.groupFields) {
74
+ this._form = this.createInternalForm();
75
+ }
50
76
  }
51
77
  ngOnChanges(changes) {
52
- //
78
+ // Recreate form if groupFields or key changed
79
+ if ((changes.groupFields || changes.key) && !this._formProvidedExternally) {
80
+ if (this.key && this.groupFields) {
81
+ this._form = this.createInternalForm();
82
+ }
83
+ }
84
+ // Handle disabled/readonly state changes
85
+ if (changes.disabled || changes.readonly) {
86
+ this.updateFormControlsState();
87
+ }
53
88
  }
54
89
  ngOnDestroy() {
55
90
  //
@@ -81,12 +116,64 @@ class PepAddressComponent {
81
116
  });
82
117
  }
83
118
  }
119
+ // changeValue(field: any): void {
120
+ // const currentGroupField = this.groupFields.filter(
121
+ // (groupField) => groupField.key === field.key
122
+ // )[0];
123
+ // if (currentGroupField.value !== field.value) {
124
+ // // Set the value in the form controls
125
+ // if (this.form) {
126
+ // const formCtrl = this.form.get(this.key);
127
+ // if (formCtrl) {
128
+ // formCtrl.get(field.key).setValue(field.value);
129
+ // }
130
+ // }
131
+ // this.valueChange.emit({
132
+ // key: field.key,
133
+ // value: field.value,
134
+ // });
135
+ // }
136
+ // }
137
+ createInternalForm() {
138
+ const addressControls = {};
139
+ if (this.groupFields) {
140
+ this.groupFields.forEach(field => {
141
+ addressControls[field.key] = new FormControl(field.value || '');
142
+ });
143
+ }
144
+ const addressFormGroup = new FormGroup(addressControls);
145
+ return new FormGroup({
146
+ [this.key]: addressFormGroup
147
+ });
148
+ }
149
+ updateFormControlsState() {
150
+ if (!this.form || !this.key)
151
+ return;
152
+ const addressGroup = this.form.get(this.key);
153
+ if (!addressGroup)
154
+ return;
155
+ // Update each field's form control disabled state
156
+ if (this.groupFields) {
157
+ this.groupFields.forEach(field => {
158
+ const control = addressGroup.get(field.key);
159
+ if (control) {
160
+ const shouldBeDisabled = this.disabled || field.disabled;
161
+ if (shouldBeDisabled && control.enabled) {
162
+ control.disable({ emitEvent: false });
163
+ }
164
+ else if (!shouldBeDisabled && control.disabled) {
165
+ control.enable({ emitEvent: false });
166
+ }
167
+ }
168
+ });
169
+ }
170
+ }
84
171
  }
85
172
  PepAddressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddressComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
86
- PepAddressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepAddressComponent, selector: "pep-address", inputs: { key: "key", formattedValue: "formattedValue", label: "label", mandatory: "mandatory", disabled: "disabled", readonly: "readonly", xAlignment: "xAlignment", rowSpan: "rowSpan", groupFields: "groupFields", form: "form", layoutType: "layoutType", visible: "visible" }, outputs: { addressValueChange: "addressValueChange" }, usesOnChanges: true, ngImport: i0, template: "<ng-container [formGroup]=\"form\">\n <ng-container *ngIf=\"layoutType === 'form'\">\n <pep-field-title [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\" class=\"header\">\n </pep-field-title>\n <div [formGroupName]=\"key\" [id]=\"key\" class=\"pep-address-container\"\n dir=\"{{ xAlignment === 'right' ? 'rtl' : 'ltr' }}\">\n <div [ngSwitch]=\"groupField.controlType\" *ngFor=\"let groupField of groupFields; let i = index\"\n class=\"pep-address-field columns-{{ groupField.colSpan }}\">\n <pep-textbox *ngSwitchCase=\"'textbox'\" [layoutType]=\"layoutType\" title=\"{{ groupField.formattedValue }}\"\n [form]=\"form\" [key]=\"groupField.key\" [value]=\"groupField.value\" [label]=\"groupField.label\"\n [placeholder]=\"groupField.placeholder\" [type]=\"groupField.type\" [mandatory]=\"groupField.mandatory\"\n [disabled]=\"groupField.disabled\" [readonly]=\"groupField.readonly\"\n [xAlignment]=\"groupField.xAlignment\" [rowSpan]=\"groupField.rowSpan\" [parentFieldKey]=\"key\"\n (valueChange)=\"onValueChange($event, groupField.key)\">\n </pep-textbox>\n\n <pep-select *ngSwitchCase=\"'select'\" [layoutType]=\"layoutType\" title=\"{{ groupField.formattedValue }}\"\n [form]=\"form\" [key]=\"groupField.key\" [value]=\"groupField.value\" [label]=\"groupField.label\"\n [type]=\"groupField.type\" [mandatory]=\"groupField.mandatory\" [disabled]=\"groupField.disabled\"\n [readonly]=\"groupField.readonly\" [xAlignment]=\"groupField.xAlignment\" [rowSpan]=\"groupField.rowSpan\"\n [options]=\"groupField.options\" [parentFieldKey]=\"key\"\n (valueChange)=\"onValueChange($event, groupField.key)\">\n </pep-select>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <div class=\"pep-card-input \" title=\"{{ label }}&nbsp;{{ formattedValue }}\"\n [ngClass]=\"['text-align-' + xAlignment]\">\n <span *ngIf=\"label != ''\" class=\"body-xs title\">{{ label }}&nbsp;</span>\n <ng-container *ngFor=\"let groupField of groupFields; let i = index\">\n <span *ngIf=\"groupField?.formattedValue != ''\" class=\"body-sm\">{{ groupField.formattedValue\n }},&nbsp;</span>\n </ng-container>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <div class=\"pep-card-input \" title=\"{{ formattedValue }}\" [ngClass]=\"['text-align-' + xAlignment]\">\n <ng-container *ngFor=\"let groupField of groupFields; let i = index\">\n <span *ngIf=\"groupField?.formattedValue != ''\" class=\"body-sm\">{{ groupField.formattedValue\n }},&nbsp;</span>\n </ng-container>\n </div>\n </ng-container>\n</ng-container>", styles: [".header{grid-column:1/span 3}.pep-address-container{padding:.875rem var(--pep-spacing-md, .75rem);border-radius:var(--pep-border-radius-md, .25rem);display:grid;grid-template-columns:repeat(3,1fr);grid-column-gap:var(--pep-spacing-md, .75rem);grid-row-gap:var(--pep-spacing-md, .75rem)}.pep-address-container .columns-2{grid-column:1/span 2}.pep-address-container .columns-3{grid-column:1/span 3}\n", ".pepperi-address-container,.pep-address-container{background:hsla(var(--pep-color-weak-h, 0),var(--pep-color-weak-s, 0%),var(--pep-color-weak-l, 10%),.04)}\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.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i3.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i4.PepTextboxComponent, selector: "pep-textbox", inputs: ["key", "value", "minFractionDigits", "maxFractionDigits", "accessory", "label", "placeholder", "type", "mandatory", "disabled", "readonly", "maxFieldCharacters", "hint", "textColor", "xAlignment", "rowSpan", "minValue", "maxValue", "visible", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType", "parentFieldKey", "regex", "regexError", "isInFocus"], outputs: ["valueChange", "keyup"] }, { kind: "component", type: i5.PepSelectComponent, selector: "pep-select", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "options", "visible", "emptyOption", "form", "layoutType", "parentFieldKey", "isActive", "showTitle", "renderTitle", "typeaheadDebounceInterval"], outputs: ["valueChange"] }, { kind: "component", type: i6.PepFieldTitleComponent, selector: "pep-field-title", inputs: ["label", "mandatory", "disabled", "maxFieldCharacters", "hint", "xAlignment", "showTitle", "inputLength", "fontBodyType"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
173
+ PepAddressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepAddressComponent, selector: "pep-address", inputs: { key: "key", formattedValue: "formattedValue", label: "label", mandatory: "mandatory", disabled: "disabled", readonly: "readonly", xAlignment: "xAlignment", rowSpan: "rowSpan", groupFields: "groupFields", form: "form", layoutType: "layoutType", visible: "visible" }, outputs: { addressValueChange: "addressValueChange" }, usesOnChanges: true, ngImport: i0, template: "<ng-container [formGroup]=\"form\">\n <ng-container *ngIf=\"layoutType === 'form' && form && key && groupFields?.length\">\n <pep-field-title [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\" class=\"header\">\n </pep-field-title>\n <div [id]=\"key\" class=\"pep-address-container\"\n dir=\"{{ xAlignment === 'right' ? 'rtl' : 'ltr' }}\">\n <div [ngSwitch]=\"groupField.controlType\" *ngFor=\"let groupField of groupFields; let i = index\"\n class=\"pep-address-field columns-{{ groupField.colSpan }}\">\n <pep-textbox *ngSwitchCase=\"'textbox'\" [layoutType]=\"layoutType\" title=\"{{ groupField.formattedValue }}\"\n [form]=\"form\" [key]=\"groupField.key\" [value]=\"groupField.value\" [label]=\"groupField.label\"\n [placeholder]=\"groupField.placeholder\" [type]=\"groupField.type\" \n [mandatory]=\"mandatory || groupField.mandatory\"\n [disabled]=\"disabled || groupField.disabled\" \n [readonly]=\"readonly || groupField.readonly\"\n [xAlignment]=\"groupField.xAlignment\" [rowSpan]=\"groupField.rowSpan\" [parentFieldKey]=\"key\"\n (valueChange)=\"onValueChange($event, groupField.key)\">\n </pep-textbox>\n\n <pep-select *ngSwitchCase=\"'select'\" [layoutType]=\"layoutType\" title=\"{{ groupField.formattedValue }}\"\n [form]=\"form\" [key]=\"groupField.key\" [value]=\"groupField.value\" [label]=\"groupField.label\"\n [type]=\"groupField.type\" \n [mandatory]=\"mandatory || groupField.mandatory\" \n [disabled]=\"disabled || groupField.disabled\"\n [readonly]=\"readonly || groupField.readonly\" \n [xAlignment]=\"groupField.xAlignment\" [rowSpan]=\"groupField.rowSpan\"\n [options]=\"groupField.options\" [parentFieldKey]=\"key\"\n (valueChange)=\"onValueChange($event, groupField.key)\">\n </pep-select>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <div class=\"pep-card-input \" title=\"{{ label }}&nbsp;{{ formattedValue }}\"\n [ngClass]=\"['text-align-' + xAlignment]\">\n <span *ngIf=\"label != ''\" class=\"body-xs title\">{{ label }}&nbsp;</span>\n <ng-container *ngFor=\"let groupField of groupFields; let i = index\">\n <span *ngIf=\"groupField?.formattedValue != ''\" class=\"body-sm\">{{ groupField.formattedValue\n }},&nbsp;</span>\n </ng-container>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <div class=\"pep-card-input \" title=\"{{ formattedValue }}\" [ngClass]=\"['text-align-' + xAlignment]\">\n <ng-container *ngFor=\"let groupField of groupFields; let i = index\">\n <span *ngIf=\"groupField?.formattedValue != ''\" class=\"body-sm\">{{ groupField.formattedValue\n }},&nbsp;</span>\n </ng-container>\n </div>\n </ng-container>\n</ng-container>", styles: [".header{grid-column:1/span 3}.pep-address-container{padding:.875rem var(--pep-spacing-md, .75rem);border-radius:var(--pep-border-radius-md, .25rem);display:grid;grid-template-columns:repeat(3,1fr);grid-column-gap:var(--pep-spacing-md, .75rem);grid-row-gap:var(--pep-spacing-md, .75rem)}.pep-address-container .columns-2{grid-column:1/span 2}.pep-address-container .columns-3{grid-column:1/span 3}\n", ".pepperi-address-container,.pep-address-container{background:hsla(var(--pep-color-weak-h, 0),var(--pep-color-weak-s, 0%),var(--pep-color-weak-l, 10%),.04)}\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.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i4.PepTextboxComponent, selector: "pep-textbox", inputs: ["key", "value", "minFractionDigits", "maxFractionDigits", "accessory", "label", "placeholder", "type", "mandatory", "disabled", "readonly", "maxFieldCharacters", "hint", "textColor", "xAlignment", "rowSpan", "minValue", "maxValue", "visible", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType", "parentFieldKey", "regex", "regexError", "isInFocus"], outputs: ["valueChange", "keyup", "validationChange"] }, { kind: "component", type: i5.PepSelectComponent, selector: "pep-select", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "placeholder", "placeholderWhenDisabled", "autoSortOptions", "options", "visible", "emptyOption", "form", "layoutType", "parentFieldKey", "isActive", "showTitle", "renderTitle", "typeaheadDebounceInterval", "addValueToOptionsIfNotExist"], outputs: ["valueChange", "validationChange"] }, { kind: "component", type: i6.PepFieldTitleComponent, selector: "pep-field-title", inputs: ["label", "mandatory", "disabled", "maxFieldCharacters", "hint", "xAlignment", "showTitle", "inputLength", "fontBodyType", "multiLine"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
87
174
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddressComponent, decorators: [{
88
175
  type: Component,
89
- args: [{ selector: 'pep-address', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [formGroup]=\"form\">\n <ng-container *ngIf=\"layoutType === 'form'\">\n <pep-field-title [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\" class=\"header\">\n </pep-field-title>\n <div [formGroupName]=\"key\" [id]=\"key\" class=\"pep-address-container\"\n dir=\"{{ xAlignment === 'right' ? 'rtl' : 'ltr' }}\">\n <div [ngSwitch]=\"groupField.controlType\" *ngFor=\"let groupField of groupFields; let i = index\"\n class=\"pep-address-field columns-{{ groupField.colSpan }}\">\n <pep-textbox *ngSwitchCase=\"'textbox'\" [layoutType]=\"layoutType\" title=\"{{ groupField.formattedValue }}\"\n [form]=\"form\" [key]=\"groupField.key\" [value]=\"groupField.value\" [label]=\"groupField.label\"\n [placeholder]=\"groupField.placeholder\" [type]=\"groupField.type\" [mandatory]=\"groupField.mandatory\"\n [disabled]=\"groupField.disabled\" [readonly]=\"groupField.readonly\"\n [xAlignment]=\"groupField.xAlignment\" [rowSpan]=\"groupField.rowSpan\" [parentFieldKey]=\"key\"\n (valueChange)=\"onValueChange($event, groupField.key)\">\n </pep-textbox>\n\n <pep-select *ngSwitchCase=\"'select'\" [layoutType]=\"layoutType\" title=\"{{ groupField.formattedValue }}\"\n [form]=\"form\" [key]=\"groupField.key\" [value]=\"groupField.value\" [label]=\"groupField.label\"\n [type]=\"groupField.type\" [mandatory]=\"groupField.mandatory\" [disabled]=\"groupField.disabled\"\n [readonly]=\"groupField.readonly\" [xAlignment]=\"groupField.xAlignment\" [rowSpan]=\"groupField.rowSpan\"\n [options]=\"groupField.options\" [parentFieldKey]=\"key\"\n (valueChange)=\"onValueChange($event, groupField.key)\">\n </pep-select>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <div class=\"pep-card-input \" title=\"{{ label }}&nbsp;{{ formattedValue }}\"\n [ngClass]=\"['text-align-' + xAlignment]\">\n <span *ngIf=\"label != ''\" class=\"body-xs title\">{{ label }}&nbsp;</span>\n <ng-container *ngFor=\"let groupField of groupFields; let i = index\">\n <span *ngIf=\"groupField?.formattedValue != ''\" class=\"body-sm\">{{ groupField.formattedValue\n }},&nbsp;</span>\n </ng-container>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <div class=\"pep-card-input \" title=\"{{ formattedValue }}\" [ngClass]=\"['text-align-' + xAlignment]\">\n <ng-container *ngFor=\"let groupField of groupFields; let i = index\">\n <span *ngIf=\"groupField?.formattedValue != ''\" class=\"body-sm\">{{ groupField.formattedValue\n }},&nbsp;</span>\n </ng-container>\n </div>\n </ng-container>\n</ng-container>", styles: [".header{grid-column:1/span 3}.pep-address-container{padding:.875rem var(--pep-spacing-md, .75rem);border-radius:var(--pep-border-radius-md, .25rem);display:grid;grid-template-columns:repeat(3,1fr);grid-column-gap:var(--pep-spacing-md, .75rem);grid-row-gap:var(--pep-spacing-md, .75rem)}.pep-address-container .columns-2{grid-column:1/span 2}.pep-address-container .columns-3{grid-column:1/span 3}\n", ".pepperi-address-container,.pep-address-container{background:hsla(var(--pep-color-weak-h, 0),var(--pep-color-weak-s, 0%),var(--pep-color-weak-l, 10%),.04)}\n"] }]
176
+ args: [{ selector: 'pep-address', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [formGroup]=\"form\">\n <ng-container *ngIf=\"layoutType === 'form' && form && key && groupFields?.length\">\n <pep-field-title [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\" class=\"header\">\n </pep-field-title>\n <div [id]=\"key\" class=\"pep-address-container\"\n dir=\"{{ xAlignment === 'right' ? 'rtl' : 'ltr' }}\">\n <div [ngSwitch]=\"groupField.controlType\" *ngFor=\"let groupField of groupFields; let i = index\"\n class=\"pep-address-field columns-{{ groupField.colSpan }}\">\n <pep-textbox *ngSwitchCase=\"'textbox'\" [layoutType]=\"layoutType\" title=\"{{ groupField.formattedValue }}\"\n [form]=\"form\" [key]=\"groupField.key\" [value]=\"groupField.value\" [label]=\"groupField.label\"\n [placeholder]=\"groupField.placeholder\" [type]=\"groupField.type\" \n [mandatory]=\"mandatory || groupField.mandatory\"\n [disabled]=\"disabled || groupField.disabled\" \n [readonly]=\"readonly || groupField.readonly\"\n [xAlignment]=\"groupField.xAlignment\" [rowSpan]=\"groupField.rowSpan\" [parentFieldKey]=\"key\"\n (valueChange)=\"onValueChange($event, groupField.key)\">\n </pep-textbox>\n\n <pep-select *ngSwitchCase=\"'select'\" [layoutType]=\"layoutType\" title=\"{{ groupField.formattedValue }}\"\n [form]=\"form\" [key]=\"groupField.key\" [value]=\"groupField.value\" [label]=\"groupField.label\"\n [type]=\"groupField.type\" \n [mandatory]=\"mandatory || groupField.mandatory\" \n [disabled]=\"disabled || groupField.disabled\"\n [readonly]=\"readonly || groupField.readonly\" \n [xAlignment]=\"groupField.xAlignment\" [rowSpan]=\"groupField.rowSpan\"\n [options]=\"groupField.options\" [parentFieldKey]=\"key\"\n (valueChange)=\"onValueChange($event, groupField.key)\">\n </pep-select>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <div class=\"pep-card-input \" title=\"{{ label }}&nbsp;{{ formattedValue }}\"\n [ngClass]=\"['text-align-' + xAlignment]\">\n <span *ngIf=\"label != ''\" class=\"body-xs title\">{{ label }}&nbsp;</span>\n <ng-container *ngFor=\"let groupField of groupFields; let i = index\">\n <span *ngIf=\"groupField?.formattedValue != ''\" class=\"body-sm\">{{ groupField.formattedValue\n }},&nbsp;</span>\n </ng-container>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <div class=\"pep-card-input \" title=\"{{ formattedValue }}\" [ngClass]=\"['text-align-' + xAlignment]\">\n <ng-container *ngFor=\"let groupField of groupFields; let i = index\">\n <span *ngIf=\"groupField?.formattedValue != ''\" class=\"body-sm\">{{ groupField.formattedValue\n }},&nbsp;</span>\n </ng-container>\n </div>\n </ng-container>\n</ng-container>", styles: [".header{grid-column:1/span 3}.pep-address-container{padding:.875rem var(--pep-spacing-md, .75rem);border-radius:var(--pep-border-radius-md, .25rem);display:grid;grid-template-columns:repeat(3,1fr);grid-column-gap:var(--pep-spacing-md, .75rem);grid-row-gap:var(--pep-spacing-md, .75rem)}.pep-address-container .columns-2{grid-column:1/span 2}.pep-address-container .columns-3{grid-column:1/span 3}\n", ".pepperi-address-container,.pep-address-container{background:hsla(var(--pep-color-weak-h, 0),var(--pep-color-weak-s, 0%),var(--pep-color-weak-l, 10%),.04)}\n"] }]
90
177
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { key: [{
91
178
  type: Input
92
179
  }], formattedValue: [{