@pepperi-addons/ngx-lib 0.3.15-loader.9 → 0.4.0-angular14.11

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 (1370) hide show
  1. package/address/address.component.d.ts +30 -27
  2. package/address/address.module.d.ts +15 -2
  3. package/address/index.d.ts +5 -0
  4. package/address/public-api.d.ts +2 -2
  5. package/attachment/attachment.component.d.ts +85 -82
  6. package/attachment/attachment.module.d.ts +14 -2
  7. package/attachment/index.d.ts +5 -0
  8. package/attachment/public-api.d.ts +2 -2
  9. package/bread-crumbs/bread-crumbs.component.d.ts +27 -23
  10. package/bread-crumbs/bread-crumbs.model.d.ts +11 -11
  11. package/bread-crumbs/bread-crumbs.module.d.ts +15 -5
  12. package/bread-crumbs/index.d.ts +5 -0
  13. package/bread-crumbs/public-api.d.ts +3 -3
  14. package/button/button.component.d.ts +102 -99
  15. package/button/button.model.d.ts +14 -14
  16. package/button/button.module.d.ts +13 -2
  17. package/button/index.d.ts +5 -0
  18. package/button/public-api.d.ts +3 -3
  19. package/carousel/carousel-item.directive.d.ts +12 -9
  20. package/carousel/carousel.component.d.ts +148 -145
  21. package/carousel/carousel.module.d.ts +8 -2
  22. package/carousel/index.d.ts +5 -0
  23. package/carousel/public-api.d.ts +3 -3
  24. package/checkbox/checkbox.component.d.ts +50 -47
  25. package/checkbox/checkbox.module.d.ts +19 -5
  26. package/checkbox/index.d.ts +5 -0
  27. package/checkbox/public-api.d.ts +2 -2
  28. package/color/color-picker.component.d.ts +57 -54
  29. package/color/color.component.d.ts +30 -27
  30. package/color/color.model.d.ts +1 -1
  31. package/color/color.module.d.ts +26 -5
  32. package/color/index.d.ts +5 -0
  33. package/color/public-api.d.ts +3 -3
  34. package/core/clipboard/clipboard.directive.d.ts +5 -2
  35. package/core/clipboard/clipboard.service.d.ts +5 -2
  36. package/core/clipboard/index.d.ts +1 -1
  37. package/core/clipboard/public-api.d.ts +2 -2
  38. package/core/common/directives/auto-width.directive.d.ts +19 -16
  39. package/core/common/directives/button-blur.directive.d.ts +9 -6
  40. package/core/common/directives/button-loader.directive.d.ts +26 -23
  41. package/core/common/directives/data-qa.directive.d.ts +11 -8
  42. package/core/common/directives/index.d.ts +1 -1
  43. package/core/common/directives/menu-blur.directive.d.ts +10 -7
  44. package/core/common/directives/prevent-multi-click.directive.d.ts +7 -4
  45. package/core/common/directives/print.directive.d.ts +75 -72
  46. package/core/common/directives/public-api.d.ts +7 -7
  47. package/core/common/index.d.ts +1 -1
  48. package/core/common/model/index.d.ts +1 -1
  49. package/core/common/model/papi.model.d.ts +2 -2
  50. package/core/common/model/public-api.d.ts +3 -3
  51. package/core/common/model/utilities.model.d.ts +5 -5
  52. package/core/common/model/wapi.model.d.ts +200 -200
  53. package/core/common/pipes/common-pipes.d.ts +57 -36
  54. package/core/common/pipes/date-ago.pipe.d.ts +11 -8
  55. package/core/common/pipes/index.d.ts +1 -1
  56. package/core/common/pipes/public-api.d.ts +2 -2
  57. package/core/common/public-api.d.ts +4 -4
  58. package/core/common/services/addon.service.d.ts +41 -38
  59. package/core/common/services/color.service.d.ts +51 -48
  60. package/core/common/services/cookie.service.d.ts +53 -50
  61. package/core/common/services/data-convertor.service.d.ts +44 -41
  62. package/core/common/services/file.service.d.ts +27 -24
  63. package/core/common/services/index.d.ts +1 -1
  64. package/core/common/services/jwt-helper.service.d.ts +13 -10
  65. package/core/common/services/public-api.d.ts +11 -11
  66. package/core/common/services/session.service.d.ts +18 -15
  67. package/core/common/services/translate.service.d.ts +12 -9
  68. package/core/common/services/utilities.service.d.ts +36 -33
  69. package/core/common/services/validator.service.d.ts +31 -28
  70. package/core/common/services/window-scrolling.service.d.ts +10 -7
  71. package/core/customization/customization.model.d.ts +264 -264
  72. package/core/customization/customization.service.d.ts +159 -156
  73. package/core/customization/index.d.ts +1 -1
  74. package/core/customization/public-api.d.ts +2 -2
  75. package/core/http/index.d.ts +1 -1
  76. package/core/http/interceptors/error.interceptor.d.ts +8 -5
  77. package/core/http/interceptors/index.d.ts +11 -11
  78. package/core/http/interceptors/loader.interceptor.d.ts +11 -8
  79. package/core/http/interceptors/profiler.interceptor.d.ts +8 -5
  80. package/core/http/public-api.d.ts +2 -2
  81. package/core/http/services/http.service.d.ts +28 -25
  82. package/core/http/services/loader.service.d.ts +13 -10
  83. package/core/index.d.ts +1 -1
  84. package/core/layout/index.d.ts +1 -1
  85. package/core/layout/layout.service.d.ts +36 -33
  86. package/core/layout/public-api.d.ts +2 -2
  87. package/core/layout/rtl.directive.d.ts +21 -16
  88. package/core/portal/attach.directive.d.ts +13 -10
  89. package/core/portal/index.d.ts +1 -1
  90. package/core/portal/portal.service.d.ts +12 -9
  91. package/core/portal/public-api.d.ts +3 -3
  92. package/core/portal/target.directive.d.ts +12 -9
  93. package/core/public-api.d.ts +7 -7
  94. package/core/scroll-to/index.d.ts +1 -1
  95. package/core/scroll-to/public-api.d.ts +1 -1
  96. package/core/scroll-to/scroll-to.service.d.ts +11 -8
  97. package/date/date.component.d.ts +69 -66
  98. package/date/date.model.d.ts +31 -26
  99. package/date/date.module.d.ts +23 -5
  100. package/date/index.d.ts +5 -0
  101. package/date/public-api.d.ts +2 -2
  102. package/dialog/default-dialog.component.d.ts +12 -9
  103. package/dialog/dialog.component.d.ts +13 -10
  104. package/dialog/dialog.model.d.ts +31 -31
  105. package/dialog/dialog.module.d.ts +18 -5
  106. package/dialog/dialog.service.d.ts +27 -24
  107. package/dialog/index.d.ts +5 -0
  108. package/dialog/public-api.d.ts +4 -4
  109. package/draggable-items/draggable-item/draggable-item.component.d.ts +11 -8
  110. package/draggable-items/draggable-items.component.d.ts +36 -33
  111. package/draggable-items/draggable-items.model.d.ts +11 -11
  112. package/draggable-items/draggable-items.module.d.ts +18 -5
  113. package/draggable-items/index.d.ts +5 -0
  114. package/draggable-items/public-api.d.ts +4 -4
  115. package/esm2020/address/address.component.mjs +109 -0
  116. package/esm2020/address/address.module.mjs +54 -0
  117. package/esm2020/address/pepperi-addons-ngx-lib-address.mjs +5 -0
  118. package/esm2020/address/public-api.mjs +6 -0
  119. package/esm2020/attachment/attachment.component.mjs +220 -0
  120. package/esm2020/attachment/attachment.module.mjs +50 -0
  121. package/esm2020/attachment/pepperi-addons-ngx-lib-attachment.mjs +5 -0
  122. package/esm2020/attachment/public-api.mjs +6 -0
  123. package/esm2020/bread-crumbs/bread-crumbs.component.mjs +85 -0
  124. package/esm2020/bread-crumbs/bread-crumbs.model.mjs +7 -0
  125. package/esm2020/bread-crumbs/bread-crumbs.module.mjs +50 -0
  126. package/esm2020/bread-crumbs/pepperi-addons-ngx-lib-bread-crumbs.mjs +5 -0
  127. package/esm2020/bread-crumbs/public-api.mjs +7 -0
  128. package/esm2020/button/button.component.mjs +138 -0
  129. package/esm2020/button/button.model.mjs +6 -0
  130. package/esm2020/button/button.module.mjs +46 -0
  131. package/esm2020/button/pepperi-addons-ngx-lib-button.mjs +5 -0
  132. package/esm2020/button/public-api.mjs +7 -0
  133. package/esm2020/carousel/carousel-item.directive.mjs +33 -0
  134. package/esm2020/carousel/carousel.component.mjs +745 -0
  135. package/esm2020/carousel/carousel.module.mjs +17 -0
  136. package/esm2020/carousel/pepperi-addons-ngx-lib-carousel.mjs +5 -0
  137. package/esm2020/carousel/public-api.mjs +8 -0
  138. package/esm2020/checkbox/checkbox.component.mjs +168 -0
  139. package/esm2020/checkbox/checkbox.module.mjs +63 -0
  140. package/esm2020/checkbox/pepperi-addons-ngx-lib-checkbox.mjs +5 -0
  141. package/esm2020/checkbox/public-api.mjs +6 -0
  142. package/esm2020/color/color-picker.component.mjs +224 -0
  143. package/esm2020/color/color.component.mjs +90 -0
  144. package/esm2020/color/color.model.mjs +2 -0
  145. package/esm2020/color/color.module.mjs +93 -0
  146. package/esm2020/color/pepperi-addons-ngx-lib-color.mjs +5 -0
  147. package/esm2020/color/public-api.mjs +7 -0
  148. package/esm2020/core/clipboard/clipboard.directive.mjs +24 -0
  149. package/esm2020/core/clipboard/clipboard.service.mjs +14 -0
  150. package/esm2020/core/clipboard/index.mjs +5 -0
  151. package/esm2020/core/clipboard/public-api.mjs +6 -0
  152. package/esm2020/core/common/directives/auto-width.directive.mjs +77 -0
  153. package/esm2020/core/common/directives/button-blur.directive.mjs +24 -0
  154. package/esm2020/core/common/directives/button-loader.directive.mjs +112 -0
  155. package/esm2020/core/common/directives/data-qa.directive.mjs +23 -0
  156. package/esm2020/core/common/directives/index.mjs +5 -0
  157. package/esm2020/core/common/directives/menu-blur.directive.mjs +32 -0
  158. package/esm2020/core/common/directives/prevent-multi-click.directive.mjs +27 -0
  159. package/esm2020/core/common/directives/print.directive.mjs +170 -0
  160. package/esm2020/core/common/directives/public-api.mjs +12 -0
  161. package/esm2020/core/common/index.mjs +5 -0
  162. package/esm2020/core/common/model/index.mjs +5 -0
  163. package/esm2020/core/common/model/papi.model.mjs +3 -0
  164. package/esm2020/core/common/model/public-api.mjs +7 -0
  165. package/esm2020/core/common/model/utilities.model.mjs +57 -0
  166. package/esm2020/core/common/model/wapi.model.mjs +156 -0
  167. package/esm2020/core/common/pipes/common-pipes.mjs +167 -0
  168. package/esm2020/core/common/pipes/date-ago.pipe.mjs +46 -0
  169. package/esm2020/core/common/pipes/index.mjs +5 -0
  170. package/esm2020/core/common/pipes/public-api.mjs +6 -0
  171. package/esm2020/core/common/public-api.mjs +8 -0
  172. package/esm2020/core/common/services/addon.service.mjs +148 -0
  173. package/esm2020/core/common/services/color.service.mjs +359 -0
  174. package/esm2020/core/common/services/cookie.service.mjs +153 -0
  175. package/esm2020/core/common/services/data-convertor.service.mjs +119 -0
  176. package/esm2020/core/common/services/file.service.mjs +213 -0
  177. package/esm2020/core/common/services/index.mjs +5 -0
  178. package/esm2020/core/common/services/jwt-helper.service.mjs +106 -0
  179. package/esm2020/core/common/services/public-api.mjs +15 -0
  180. package/esm2020/core/common/services/session.service.mjs +71 -0
  181. package/esm2020/core/common/services/translate.service.mjs +46 -0
  182. package/esm2020/core/common/services/utilities.service.mjs +210 -0
  183. package/esm2020/core/common/services/validator.service.mjs +272 -0
  184. package/esm2020/core/common/services/window-scrolling.service.mjs +36 -0
  185. package/esm2020/core/customization/customization.model.mjs +289 -0
  186. package/esm2020/core/customization/customization.service.mjs +771 -0
  187. package/esm2020/core/customization/index.mjs +5 -0
  188. package/esm2020/core/customization/public-api.mjs +6 -0
  189. package/esm2020/core/http/index.mjs +5 -0
  190. package/esm2020/core/http/interceptors/error.interceptor.mjs +27 -0
  191. package/esm2020/core/http/interceptors/index.mjs +24 -0
  192. package/esm2020/core/http/interceptors/loader.interceptor.mjs +33 -0
  193. package/esm2020/core/http/interceptors/profiler.interceptor.mjs +32 -0
  194. package/esm2020/core/http/public-api.mjs +6 -0
  195. package/esm2020/core/http/services/http.service.mjs +155 -0
  196. package/esm2020/core/http/services/loader.service.mjs +50 -0
  197. package/esm2020/core/index.mjs +5 -0
  198. package/esm2020/core/layout/index.mjs +5 -0
  199. package/esm2020/core/layout/layout.service.mjs +168 -0
  200. package/esm2020/core/layout/public-api.mjs +6 -0
  201. package/esm2020/core/layout/rtl.directive.mjs +44 -0
  202. package/esm2020/core/portal/attach.directive.mjs +27 -0
  203. package/esm2020/core/portal/index.mjs +5 -0
  204. package/esm2020/core/portal/portal.service.mjs +36 -0
  205. package/esm2020/core/portal/public-api.mjs +7 -0
  206. package/esm2020/core/portal/target.directive.mjs +24 -0
  207. package/esm2020/core/public-api.mjs +11 -0
  208. package/esm2020/core/scroll-to/index.mjs +5 -0
  209. package/esm2020/core/scroll-to/public-api.mjs +6 -0
  210. package/esm2020/core/scroll-to/scroll-to.service.mjs +84 -0
  211. package/esm2020/date/date.component.mjs +295 -0
  212. package/esm2020/date/date.model.mjs +54 -0
  213. package/esm2020/date/date.module.mjs +88 -0
  214. package/esm2020/date/pepperi-addons-ngx-lib-date.mjs +5 -0
  215. package/esm2020/date/public-api.mjs +6 -0
  216. package/esm2020/dialog/default-dialog.component.mjs +37 -0
  217. package/esm2020/dialog/dialog.component.mjs +36 -0
  218. package/esm2020/dialog/dialog.model.mjs +33 -0
  219. package/esm2020/dialog/dialog.module.mjs +59 -0
  220. package/esm2020/dialog/dialog.service.mjs +82 -0
  221. package/esm2020/dialog/pepperi-addons-ngx-lib-dialog.mjs +5 -0
  222. package/esm2020/dialog/public-api.mjs +8 -0
  223. package/esm2020/draggable-items/draggable-item/draggable-item.component.mjs +27 -0
  224. package/esm2020/draggable-items/draggable-items.component.mjs +102 -0
  225. package/esm2020/draggable-items/draggable-items.model.mjs +2 -0
  226. package/esm2020/draggable-items/draggable-items.module.mjs +60 -0
  227. package/esm2020/draggable-items/pepperi-addons-ngx-lib-draggable-items.mjs +5 -0
  228. package/esm2020/draggable-items/public-api.mjs +8 -0
  229. package/esm2020/field-title/field-title.component.mjs +42 -0
  230. package/esm2020/field-title/field-title.module.mjs +47 -0
  231. package/esm2020/field-title/pepperi-addons-ngx-lib-field-title.mjs +5 -0
  232. package/esm2020/field-title/public-api.mjs +6 -0
  233. package/esm2020/files-uploader/files-uploader.component.mjs +241 -0
  234. package/esm2020/files-uploader/files-uploader.module.mjs +79 -0
  235. package/esm2020/files-uploader/pepperi-addons-ngx-lib-files-uploader.mjs +5 -0
  236. package/esm2020/files-uploader/public-api.mjs +6 -0
  237. package/esm2020/form/field-generator.component.mjs +153 -0
  238. package/esm2020/form/form.component.mjs +1218 -0
  239. package/esm2020/form/form.model.mjs +2 -0
  240. package/esm2020/form/form.module.mjs +176 -0
  241. package/esm2020/form/indicators.component.mjs +23 -0
  242. package/esm2020/form/internal-button.component.mjs +184 -0
  243. package/esm2020/form/internal-carusel.component.mjs +117 -0
  244. package/esm2020/form/internal-carusel.service.mjs +32 -0
  245. package/esm2020/form/internal-field-generator.component.mjs +147 -0
  246. package/esm2020/form/internal-form.component.mjs +1214 -0
  247. package/esm2020/form/internal-list.component.mjs +510 -0
  248. package/esm2020/form/internal-menu.component.mjs +66 -0
  249. package/esm2020/form/internal-page.component.mjs +362 -0
  250. package/esm2020/form/internal-page.service.mjs +120 -0
  251. package/esm2020/form/pepperi-addons-ngx-lib-form.mjs +5 -0
  252. package/esm2020/form/public-api.mjs +7 -0
  253. package/esm2020/group-buttons/group-buttons.component.mjs +67 -0
  254. package/esm2020/group-buttons/group-buttons.module.mjs +59 -0
  255. package/esm2020/group-buttons/pepperi-addons-ngx-lib-group-buttons.mjs +5 -0
  256. package/esm2020/group-buttons/public-api.mjs +6 -0
  257. package/esm2020/icon/icon-generated-all.model.mjs +101 -0
  258. package/esm2020/icon/icon-generated.model.mjs +390 -0
  259. package/esm2020/icon/icon-registry.service.mjs +26 -0
  260. package/esm2020/icon/icon.component.mjs +91 -0
  261. package/esm2020/icon/icon.module.mjs +20 -0
  262. package/esm2020/icon/icon.service.mjs +31 -0
  263. package/esm2020/icon/pepperi-addons-ngx-lib-icon.mjs +5 -0
  264. package/esm2020/icon/public-api.mjs +11 -0
  265. package/esm2020/image/image.component.mjs +247 -0
  266. package/esm2020/image/image.module.mjs +74 -0
  267. package/esm2020/image/image.service.mjs +52 -0
  268. package/esm2020/image/pepperi-addons-ngx-lib-image.mjs +5 -0
  269. package/esm2020/image/public-api.mjs +7 -0
  270. package/esm2020/images-filmstrip/images-filmstrip.component.mjs +425 -0
  271. package/esm2020/images-filmstrip/images-filmstrip.module.mjs +138 -0
  272. package/esm2020/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.mjs +5 -0
  273. package/esm2020/images-filmstrip/public-api.mjs +6 -0
  274. package/esm2020/link/link.component.mjs +339 -0
  275. package/esm2020/link/link.module.mjs +80 -0
  276. package/esm2020/link/link.pipes.mjs +18 -0
  277. package/esm2020/link/pepperi-addons-ngx-lib-link.mjs +5 -0
  278. package/esm2020/link/public-api.mjs +6 -0
  279. package/esm2020/list/list-actions.component.mjs +44 -0
  280. package/esm2020/list/list-carousel.component.mjs +107 -0
  281. package/esm2020/list/list-chooser.component.mjs +64 -0
  282. package/esm2020/list/list-pager.component.mjs +120 -0
  283. package/esm2020/list/list-sorting.component.mjs +61 -0
  284. package/esm2020/list/list-total.component.mjs +30 -0
  285. package/esm2020/list/list-views.component.mjs +85 -0
  286. package/esm2020/list/list.component.mjs +1160 -0
  287. package/esm2020/list/list.model.mjs +4 -0
  288. package/esm2020/list/list.module.mjs +144 -0
  289. package/esm2020/list/list.pipes.mjs +47 -0
  290. package/esm2020/list/pepperi-addons-ngx-lib-list.mjs +5 -0
  291. package/esm2020/list/public-api.mjs +15 -0
  292. package/esm2020/list/virtual-scroller.mjs +1071 -0
  293. package/esm2020/menu/menu-item.component.mjs +115 -0
  294. package/esm2020/menu/menu.component.mjs +205 -0
  295. package/esm2020/menu/menu.model.mjs +19 -0
  296. package/esm2020/menu/menu.module.mjs +59 -0
  297. package/esm2020/menu/pepperi-addons-ngx-lib-menu.mjs +5 -0
  298. package/esm2020/menu/public-api.mjs +7 -0
  299. package/esm2020/ngx-lib.module.mjs +158 -0
  300. package/esm2020/page-layout/page-layout.component.mjs +35 -0
  301. package/esm2020/page-layout/page-layout.module.mjs +34 -0
  302. package/esm2020/page-layout/pepperi-addons-ngx-lib-page-layout.mjs +5 -0
  303. package/esm2020/page-layout/public-api.mjs +6 -0
  304. package/esm2020/pepperi-addons-ngx-lib.mjs +5 -0
  305. package/esm2020/plugin/pepperi-addons-ngx-lib-plugin.mjs +5 -0
  306. package/esm2020/plugin/plugin-proxy.component.mjs +97 -0
  307. package/esm2020/plugin/plugin.model.mjs +2 -0
  308. package/esm2020/plugin/public-api.mjs +6 -0
  309. package/esm2020/profile-data-views-list/pepperi-addons-ngx-lib-profile-data-views-list.mjs +5 -0
  310. package/esm2020/profile-data-views-list/profile-data-view/profile-data-view.component.mjs +45 -0
  311. package/esm2020/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.mjs +65 -0
  312. package/esm2020/profile-data-views-list/profile-data-views-list.component.mjs +95 -0
  313. package/esm2020/profile-data-views-list/profile-data-views-list.model.mjs +2 -0
  314. package/esm2020/profile-data-views-list/profile-data-views-list.module.mjs +88 -0
  315. package/esm2020/profile-data-views-list/public-api.mjs +9 -0
  316. package/esm2020/public-api.mjs +6 -0
  317. package/esm2020/quantity-selector/pepperi-addons-ngx-lib-quantity-selector.mjs +5 -0
  318. package/esm2020/quantity-selector/public-api.mjs +6 -0
  319. package/esm2020/quantity-selector/quantity-selector-validation.directive.mjs +47 -0
  320. package/esm2020/quantity-selector/quantity-selector.component.mjs +511 -0
  321. package/esm2020/quantity-selector/quantity-selector.module.mjs +82 -0
  322. package/esm2020/quantity-selector/quantity-selector.pipes.mjs +23 -0
  323. package/esm2020/query-builder/common/model/field.mjs +2 -0
  324. package/esm2020/query-builder/common/model/filter.mjs +2 -0
  325. package/esm2020/query-builder/common/model/legacy.mjs +2 -0
  326. package/esm2020/query-builder/common/model/operator-unit.mjs +42 -0
  327. package/esm2020/query-builder/common/model/operator.mjs +266 -0
  328. package/esm2020/query-builder/common/model/structure.mjs +2 -0
  329. package/esm2020/query-builder/common/model/type-map.mjs +27 -0
  330. package/esm2020/query-builder/common/model/type.mjs +6 -0
  331. package/esm2020/query-builder/common/services/output-query.service.mjs +114 -0
  332. package/esm2020/query-builder/common/services/query-structure.service.mjs +226 -0
  333. package/esm2020/query-builder/common/services/type-convertor.service.mjs +42 -0
  334. package/esm2020/query-builder/pepperi-addons-ngx-lib-query-builder.mjs +5 -0
  335. package/esm2020/query-builder/public-api.mjs +9 -0
  336. package/esm2020/query-builder/query-builder-item/query-builder-item.component.mjs +125 -0
  337. package/esm2020/query-builder/query-builder-section/query-builder-section.component.mjs +71 -0
  338. package/esm2020/query-builder/query-builder.component.mjs +110 -0
  339. package/esm2020/query-builder/query-builder.module.mjs +59 -0
  340. package/esm2020/query-builder/query-builder.service.mjs +102 -0
  341. package/esm2020/remote-loader/addon-block-loader.component.mjs +84 -0
  342. package/esm2020/remote-loader/addon-block-loader.service.mjs +61 -0
  343. package/esm2020/remote-loader/pepperi-addons-ngx-lib-remote-loader.mjs +5 -0
  344. package/esm2020/remote-loader/public-api.mjs +10 -0
  345. package/esm2020/remote-loader/remote-loader.component.mjs +137 -0
  346. package/esm2020/remote-loader/remote-loader.model.mjs +2 -0
  347. package/esm2020/remote-loader/remote-loader.module.mjs +60 -0
  348. package/esm2020/remote-loader/remote-loader.service.mjs +57 -0
  349. package/esm2020/rich-html-textarea/pepperi-addons-ngx-lib-rich-html-textarea.mjs +5 -0
  350. package/esm2020/rich-html-textarea/public-api.mjs +6 -0
  351. package/esm2020/rich-html-textarea/rich-html-textarea.component.mjs +245 -0
  352. package/esm2020/rich-html-textarea/rich-html-textarea.module.mjs +95 -0
  353. package/esm2020/search/pepperi-addons-ngx-lib-search.mjs +5 -0
  354. package/esm2020/search/public-api.mjs +7 -0
  355. package/esm2020/search/search.component.mjs +317 -0
  356. package/esm2020/search/search.model.mjs +2 -0
  357. package/esm2020/search/search.module.mjs +70 -0
  358. package/esm2020/select/pepperi-addons-ngx-lib-select.mjs +5 -0
  359. package/esm2020/select/public-api.mjs +6 -0
  360. package/esm2020/select/select.component.mjs +238 -0
  361. package/esm2020/select/select.module.mjs +70 -0
  362. package/esm2020/separator/pepperi-addons-ngx-lib-separator.mjs +5 -0
  363. package/esm2020/separator/public-api.mjs +6 -0
  364. package/esm2020/separator/separator.component.mjs +63 -0
  365. package/esm2020/separator/separator.module.mjs +18 -0
  366. package/esm2020/side-bar/pepperi-addons-ngx-lib-side-bar.mjs +5 -0
  367. package/esm2020/side-bar/public-api.mjs +7 -0
  368. package/esm2020/side-bar/side-bar.component.mjs +138 -0
  369. package/esm2020/side-bar/side-bar.model.mjs +2 -0
  370. package/esm2020/side-bar/side-bar.module.mjs +51 -0
  371. package/esm2020/signature/pepperi-addons-ngx-lib-signature.mjs +5 -0
  372. package/esm2020/signature/public-api.mjs +6 -0
  373. package/esm2020/signature/signature.component.mjs +254 -0
  374. package/esm2020/signature/signature.module.mjs +90 -0
  375. package/esm2020/size-detector/pepperi-addons-ngx-lib-size-detector.mjs +5 -0
  376. package/esm2020/size-detector/public-api.mjs +6 -0
  377. package/esm2020/size-detector/size-detector.component.mjs +92 -0
  378. package/esm2020/size-detector/size-detector.module.mjs +35 -0
  379. package/esm2020/slider/pepperi-addons-ngx-lib-slider.mjs +5 -0
  380. package/esm2020/slider/public-api.mjs +6 -0
  381. package/esm2020/slider/slider.component.mjs +101 -0
  382. package/esm2020/slider/slider.module.mjs +42 -0
  383. package/esm2020/smart-filters/boolean-filter/boolean-filter.component.mjs +75 -0
  384. package/esm2020/smart-filters/common/filter-actions.component.mjs +29 -0
  385. package/esm2020/smart-filters/common/model/base-filter-component.mjs +295 -0
  386. package/esm2020/smart-filters/common/model/creator.mjs +76 -0
  387. package/esm2020/smart-filters/common/model/field.mjs +117 -0
  388. package/esm2020/smart-filters/common/model/filter.mjs +2 -0
  389. package/esm2020/smart-filters/common/model/operator.mjs +271 -0
  390. package/esm2020/smart-filters/common/model/type.mjs +2 -0
  391. package/esm2020/smart-filters/date-filter/date-filter.component.mjs +172 -0
  392. package/esm2020/smart-filters/multi-select-filter/multi-select-filter.component.mjs +200 -0
  393. package/esm2020/smart-filters/number-filter/number-filter.component.mjs +116 -0
  394. package/esm2020/smart-filters/pepperi-addons-ngx-lib-smart-filters.mjs +5 -0
  395. package/esm2020/smart-filters/public-api.mjs +19 -0
  396. package/esm2020/smart-filters/smart-filters.component.mjs +141 -0
  397. package/esm2020/smart-filters/smart-filters.module.mjs +158 -0
  398. package/esm2020/smart-filters/text-filter/text-filter.component.mjs +92 -0
  399. package/esm2020/snack-bar/default-snack-bar.component.mjs +29 -0
  400. package/esm2020/snack-bar/pepperi-addons-ngx-lib-snack-bar.mjs +5 -0
  401. package/esm2020/snack-bar/public-api.mjs +8 -0
  402. package/esm2020/snack-bar/snack-bar.component.mjs +26 -0
  403. package/esm2020/snack-bar/snack-bar.model.mjs +7 -0
  404. package/esm2020/snack-bar/snack-bar.module.mjs +63 -0
  405. package/esm2020/snack-bar/snack-bar.service.mjs +60 -0
  406. package/esm2020/textarea/pepperi-addons-ngx-lib-textarea.mjs +5 -0
  407. package/esm2020/textarea/public-api.mjs +6 -0
  408. package/esm2020/textarea/textarea.component.mjs +182 -0
  409. package/esm2020/textarea/textarea.module.mjs +82 -0
  410. package/esm2020/textbox/pepperi-addons-ngx-lib-textbox.mjs +5 -0
  411. package/esm2020/textbox/public-api.mjs +6 -0
  412. package/esm2020/textbox/textbox-validation.directive.mjs +89 -0
  413. package/esm2020/textbox/textbox.component.mjs +442 -0
  414. package/esm2020/textbox/textbox.module.mjs +72 -0
  415. package/esm2020/textbox-icon/pepperi-addons-ngx-lib-textbox-icon.mjs +5 -0
  416. package/esm2020/textbox-icon/public-api.mjs +6 -0
  417. package/esm2020/textbox-icon/textbox-icon.component.mjs +48 -0
  418. package/esm2020/textbox-icon/textbox-icon.module.mjs +64 -0
  419. package/esm2020/top-bar/pepperi-addons-ngx-lib-top-bar.mjs +5 -0
  420. package/esm2020/top-bar/public-api.mjs +7 -0
  421. package/esm2020/top-bar/top-bar.component.mjs +112 -0
  422. package/esm2020/top-bar/top-bar.model.mjs +2 -0
  423. package/esm2020/top-bar/top-bar.module.mjs +62 -0
  424. package/fesm2015/pepperi-addons-ngx-lib-address.mjs +170 -0
  425. package/fesm2015/pepperi-addons-ngx-lib-address.mjs.map +1 -0
  426. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs +277 -0
  427. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs.map +1 -0
  428. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.mjs +147 -0
  429. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.mjs.map +1 -0
  430. package/fesm2015/pepperi-addons-ngx-lib-button.mjs +197 -0
  431. package/fesm2015/pepperi-addons-ngx-lib-button.mjs.map +1 -0
  432. package/fesm2015/pepperi-addons-ngx-lib-carousel.mjs +804 -0
  433. package/fesm2015/pepperi-addons-ngx-lib-carousel.mjs.map +1 -0
  434. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs +237 -0
  435. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -0
  436. package/fesm2015/pepperi-addons-ngx-lib-color.mjs +404 -0
  437. package/fesm2015/pepperi-addons-ngx-lib-color.mjs.map +1 -0
  438. package/fesm2015/pepperi-addons-ngx-lib-date.mjs +441 -0
  439. package/fesm2015/pepperi-addons-ngx-lib-date.mjs.map +1 -0
  440. package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs +242 -0
  441. package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs.map +1 -0
  442. package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs +192 -0
  443. package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -0
  444. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs +96 -0
  445. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs.map +1 -0
  446. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs +326 -0
  447. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -0
  448. package/fesm2015/pepperi-addons-ngx-lib-form.mjs +4204 -0
  449. package/fesm2015/pepperi-addons-ngx-lib-form.mjs.map +1 -0
  450. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs +132 -0
  451. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -0
  452. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs +661 -0
  453. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs.map +1 -0
  454. package/fesm2015/pepperi-addons-ngx-lib-image.mjs +374 -0
  455. package/fesm2015/pepperi-addons-ngx-lib-image.mjs.map +1 -0
  456. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs +552 -0
  457. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -0
  458. package/fesm2015/pepperi-addons-ngx-lib-link.mjs +438 -0
  459. package/fesm2015/pepperi-addons-ngx-lib-link.mjs.map +1 -0
  460. package/fesm2015/pepperi-addons-ngx-lib-list.mjs +2896 -0
  461. package/fesm2015/pepperi-addons-ngx-lib-list.mjs.map +1 -0
  462. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs +391 -0
  463. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs.map +1 -0
  464. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs +77 -0
  465. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -0
  466. package/fesm2015/pepperi-addons-ngx-lib-plugin.mjs +114 -0
  467. package/fesm2015/pepperi-addons-ngx-lib-plugin.mjs.map +1 -0
  468. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs +289 -0
  469. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -0
  470. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs +662 -0
  471. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -0
  472. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs +1167 -0
  473. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -0
  474. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs +404 -0
  475. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -0
  476. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs +344 -0
  477. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -0
  478. package/fesm2015/pepperi-addons-ngx-lib-search.mjs +393 -0
  479. package/fesm2015/pepperi-addons-ngx-lib-search.mjs.map +1 -0
  480. package/fesm2015/pepperi-addons-ngx-lib-select.mjs +314 -0
  481. package/fesm2015/pepperi-addons-ngx-lib-select.mjs.map +1 -0
  482. package/fesm2015/pepperi-addons-ngx-lib-separator.mjs +89 -0
  483. package/fesm2015/pepperi-addons-ngx-lib-separator.mjs.map +1 -0
  484. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs +194 -0
  485. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -0
  486. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +350 -0
  487. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs.map +1 -0
  488. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs +134 -0
  489. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -0
  490. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs +151 -0
  491. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs.map +1 -0
  492. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs +1676 -0
  493. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -0
  494. package/fesm2015/pepperi-addons-ngx-lib-snack-bar.mjs +183 -0
  495. package/fesm2015/pepperi-addons-ngx-lib-snack-bar.mjs.map +1 -0
  496. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs +271 -0
  497. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs.map +1 -0
  498. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs +118 -0
  499. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -0
  500. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs +604 -0
  501. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs.map +1 -0
  502. package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs +180 -0
  503. package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -0
  504. package/fesm2015/pepperi-addons-ngx-lib.mjs +4579 -0
  505. package/fesm2015/pepperi-addons-ngx-lib.mjs.map +1 -0
  506. package/fesm2020/pepperi-addons-ngx-lib-address.mjs +170 -0
  507. package/fesm2020/pepperi-addons-ngx-lib-address.mjs.map +1 -0
  508. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs +277 -0
  509. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs.map +1 -0
  510. package/fesm2020/pepperi-addons-ngx-lib-bread-crumbs.mjs +147 -0
  511. package/fesm2020/pepperi-addons-ngx-lib-bread-crumbs.mjs.map +1 -0
  512. package/fesm2020/pepperi-addons-ngx-lib-button.mjs +197 -0
  513. package/fesm2020/pepperi-addons-ngx-lib-button.mjs.map +1 -0
  514. package/fesm2020/pepperi-addons-ngx-lib-carousel.mjs +800 -0
  515. package/fesm2020/pepperi-addons-ngx-lib-carousel.mjs.map +1 -0
  516. package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs +237 -0
  517. package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -0
  518. package/fesm2020/pepperi-addons-ngx-lib-color.mjs +401 -0
  519. package/fesm2020/pepperi-addons-ngx-lib-color.mjs.map +1 -0
  520. package/fesm2020/pepperi-addons-ngx-lib-date.mjs +437 -0
  521. package/fesm2020/pepperi-addons-ngx-lib-date.mjs.map +1 -0
  522. package/fesm2020/pepperi-addons-ngx-lib-dialog.mjs +237 -0
  523. package/fesm2020/pepperi-addons-ngx-lib-dialog.mjs.map +1 -0
  524. package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs +191 -0
  525. package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -0
  526. package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs +96 -0
  527. package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs.map +1 -0
  528. package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs +323 -0
  529. package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -0
  530. package/fesm2020/pepperi-addons-ngx-lib-form.mjs +4200 -0
  531. package/fesm2020/pepperi-addons-ngx-lib-form.mjs.map +1 -0
  532. package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs +132 -0
  533. package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -0
  534. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs +659 -0
  535. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs.map +1 -0
  536. package/fesm2020/pepperi-addons-ngx-lib-image.mjs +372 -0
  537. package/fesm2020/pepperi-addons-ngx-lib-image.mjs.map +1 -0
  538. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs +549 -0
  539. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -0
  540. package/fesm2020/pepperi-addons-ngx-lib-link.mjs +438 -0
  541. package/fesm2020/pepperi-addons-ngx-lib-link.mjs.map +1 -0
  542. package/fesm2020/pepperi-addons-ngx-lib-list.mjs +2882 -0
  543. package/fesm2020/pepperi-addons-ngx-lib-list.mjs.map +1 -0
  544. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs +391 -0
  545. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs.map +1 -0
  546. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs +77 -0
  547. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -0
  548. package/fesm2020/pepperi-addons-ngx-lib-plugin.mjs +108 -0
  549. package/fesm2020/pepperi-addons-ngx-lib-plugin.mjs.map +1 -0
  550. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs +288 -0
  551. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -0
  552. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs +661 -0
  553. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -0
  554. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs +1156 -0
  555. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -0
  556. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs +393 -0
  557. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -0
  558. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs +344 -0
  559. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -0
  560. package/fesm2020/pepperi-addons-ngx-lib-search.mjs +392 -0
  561. package/fesm2020/pepperi-addons-ngx-lib-search.mjs.map +1 -0
  562. package/fesm2020/pepperi-addons-ngx-lib-select.mjs +314 -0
  563. package/fesm2020/pepperi-addons-ngx-lib-select.mjs.map +1 -0
  564. package/fesm2020/pepperi-addons-ngx-lib-separator.mjs +89 -0
  565. package/fesm2020/pepperi-addons-ngx-lib-separator.mjs.map +1 -0
  566. package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs +194 -0
  567. package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -0
  568. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs +350 -0
  569. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs.map +1 -0
  570. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs +134 -0
  571. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -0
  572. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs +150 -0
  573. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs.map +1 -0
  574. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs +1669 -0
  575. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -0
  576. package/fesm2020/pepperi-addons-ngx-lib-snack-bar.mjs +180 -0
  577. package/fesm2020/pepperi-addons-ngx-lib-snack-bar.mjs.map +1 -0
  578. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs +270 -0
  579. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs.map +1 -0
  580. package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs +118 -0
  581. package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -0
  582. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs +604 -0
  583. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs.map +1 -0
  584. package/fesm2020/pepperi-addons-ngx-lib-top-bar.mjs +179 -0
  585. package/fesm2020/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -0
  586. package/fesm2020/pepperi-addons-ngx-lib.mjs +4561 -0
  587. package/fesm2020/pepperi-addons-ngx-lib.mjs.map +1 -0
  588. package/field-title/field-title.component.d.ts +14 -11
  589. package/field-title/field-title.module.d.ts +15 -5
  590. package/field-title/index.d.ts +5 -0
  591. package/field-title/public-api.d.ts +2 -2
  592. package/files-uploader/files-uploader.component.d.ts +57 -53
  593. package/files-uploader/files-uploader.module.d.ts +21 -5
  594. package/files-uploader/index.d.ts +5 -0
  595. package/files-uploader/public-api.d.ts +2 -2
  596. package/form/field-generator.component.d.ts +39 -45
  597. package/form/form.component.d.ts +93 -90
  598. package/form/form.model.d.ts +20 -20
  599. package/form/form.module.d.ts +49 -5
  600. package/form/index.d.ts +5 -0
  601. package/form/indicators.component.d.ts +10 -7
  602. package/form/internal-button.component.d.ts +42 -39
  603. package/form/internal-carusel.component.d.ts +39 -38
  604. package/form/internal-carusel.service.d.ts +10 -7
  605. package/form/internal-field-generator.component.d.ts +35 -0
  606. package/form/internal-form.component.d.ts +89 -0
  607. package/form/internal-list.component.d.ts +95 -92
  608. package/form/internal-menu.component.d.ts +19 -16
  609. package/form/internal-page.component.d.ts +73 -72
  610. package/form/internal-page.service.d.ts +22 -19
  611. package/form/public-api.d.ts +3 -3
  612. package/group-buttons/group-buttons.component.d.ts +23 -20
  613. package/group-buttons/group-buttons.module.d.ts +18 -5
  614. package/group-buttons/index.d.ts +5 -0
  615. package/group-buttons/public-api.d.ts +2 -2
  616. package/icon/icon-generated-all.model.d.ts +99 -99
  617. package/icon/icon-generated.model.d.ts +394 -394
  618. package/icon/icon-registry.service.d.ts +9 -6
  619. package/icon/icon.component.d.ts +49 -46
  620. package/icon/icon.module.d.ts +7 -2
  621. package/icon/icon.service.d.ts +13 -10
  622. package/icon/index.d.ts +5 -0
  623. package/icon/public-api.d.ts +6 -6
  624. package/image/image.component.d.ts +66 -63
  625. package/image/image.module.d.ts +20 -5
  626. package/image/image.service.d.ts +14 -11
  627. package/image/index.d.ts +5 -0
  628. package/image/public-api.d.ts +3 -3
  629. package/images-filmstrip/images-filmstrip.component.d.ts +87 -87
  630. package/images-filmstrip/images-filmstrip.module.d.ts +22 -5
  631. package/images-filmstrip/index.d.ts +5 -0
  632. package/images-filmstrip/public-api.d.ts +2 -2
  633. package/index.d.ts +5 -0
  634. package/link/index.d.ts +5 -0
  635. package/link/link.component.d.ts +133 -131
  636. package/link/link.module.d.ts +22 -5
  637. package/link/link.pipes.d.ts +7 -4
  638. package/link/public-api.d.ts +2 -2
  639. package/list/index.d.ts +5 -0
  640. package/list/list-actions.component.d.ts +18 -14
  641. package/list/list-carousel.component.d.ts +40 -36
  642. package/list/list-chooser.component.d.ts +29 -25
  643. package/list/list-pager.component.d.ts +39 -35
  644. package/list/list-sorting.component.d.ts +30 -26
  645. package/list/list-total.component.d.ts +11 -7
  646. package/list/list-views.component.d.ts +35 -31
  647. package/list/list.component.d.ts +164 -161
  648. package/list/list.model.d.ts +31 -31
  649. package/list/list.module.d.ts +34 -5
  650. package/list/list.pipes.d.ts +16 -11
  651. package/list/public-api.d.ts +10 -10
  652. package/list/virtual-scroller.d.ts +183 -176
  653. package/menu/index.d.ts +5 -0
  654. package/menu/menu-item.component.d.ts +28 -25
  655. package/menu/menu.component.d.ts +46 -43
  656. package/menu/menu.model.d.ts +25 -25
  657. package/menu/menu.module.d.ts +18 -5
  658. package/menu/public-api.d.ts +3 -3
  659. package/ngx-lib.module.d.ts +23 -2
  660. package/package.json +353 -20
  661. package/page-layout/index.d.ts +5 -0
  662. package/page-layout/page-layout.component.d.ts +19 -16
  663. package/page-layout/page-layout.module.d.ts +10 -2
  664. package/page-layout/public-api.d.ts +2 -2
  665. package/plugin/index.d.ts +5 -0
  666. package/plugin/plugin-proxy.component.d.ts +25 -0
  667. package/plugin/plugin.model.d.ts +6 -0
  668. package/plugin/public-api.d.ts +2 -0
  669. package/profile-data-views-list/index.d.ts +5 -0
  670. package/profile-data-views-list/profile-data-view/profile-data-view.component.d.ts +18 -15
  671. package/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.d.ts +24 -21
  672. package/profile-data-views-list/profile-data-views-list.component.d.ts +35 -32
  673. package/profile-data-views-list/profile-data-views-list.model.d.ts +18 -18
  674. package/profile-data-views-list/profile-data-views-list.module.d.ts +23 -5
  675. package/profile-data-views-list/public-api.d.ts +5 -5
  676. package/public-api.d.ts +2 -2
  677. package/quantity-selector/index.d.ts +5 -0
  678. package/quantity-selector/public-api.d.ts +2 -2
  679. package/quantity-selector/quantity-selector-validation.directive.d.ts +16 -13
  680. package/quantity-selector/quantity-selector.component.d.ts +101 -98
  681. package/quantity-selector/quantity-selector.module.d.ts +23 -5
  682. package/quantity-selector/quantity-selector.pipes.d.ts +7 -4
  683. package/query-builder/common/model/field.d.ts +8 -8
  684. package/query-builder/common/model/filter.d.ts +6 -6
  685. package/query-builder/common/model/legacy.d.ts +29 -29
  686. package/query-builder/common/model/operator-unit.d.ts +13 -13
  687. package/query-builder/common/model/operator.d.ts +21 -21
  688. package/query-builder/common/model/structure.d.ts +4 -4
  689. package/query-builder/common/model/type-map.d.ts +12 -12
  690. package/query-builder/common/model/type.d.ts +4 -4
  691. package/query-builder/common/services/output-query.service.d.ts +47 -44
  692. package/query-builder/common/services/query-structure.service.d.ts +82 -78
  693. package/query-builder/common/services/type-convertor.service.d.ts +13 -10
  694. package/query-builder/index.d.ts +5 -0
  695. package/query-builder/public-api.d.ts +5 -5
  696. package/query-builder/query-builder-item/query-builder-item.component.d.ts +41 -38
  697. package/query-builder/query-builder-section/query-builder-section.component.d.ts +30 -27
  698. package/query-builder/query-builder.component.d.ts +39 -36
  699. package/query-builder/query-builder.module.d.ts +16 -2
  700. package/query-builder/query-builder.service.d.ts +30 -27
  701. package/remote-loader/addon-block-loader.component.d.ts +32 -29
  702. package/remote-loader/addon-block-loader.service.d.ts +16 -13
  703. package/remote-loader/index.d.ts +5 -0
  704. package/remote-loader/public-api.d.ts +6 -6
  705. package/remote-loader/remote-loader.component.d.ts +27 -24
  706. package/remote-loader/remote-loader.model.d.ts +36 -36
  707. package/remote-loader/remote-loader.module.d.ts +13 -2
  708. package/remote-loader/remote-loader.service.d.ts +17 -14
  709. package/rich-html-textarea/index.d.ts +5 -0
  710. package/rich-html-textarea/public-api.d.ts +2 -2
  711. package/rich-html-textarea/rich-html-textarea.component.d.ts +78 -75
  712. package/rich-html-textarea/rich-html-textarea.module.d.ts +25 -5
  713. package/search/index.d.ts +5 -0
  714. package/search/public-api.d.ts +3 -3
  715. package/search/search.component.d.ts +65 -61
  716. package/search/search.model.d.ts +14 -14
  717. package/search/search.module.d.ts +20 -5
  718. package/select/index.d.ts +5 -0
  719. package/select/public-api.d.ts +2 -2
  720. package/select/select.component.d.ts +53 -50
  721. package/select/select.module.d.ts +20 -5
  722. package/separator/index.d.ts +5 -0
  723. package/separator/public-api.d.ts +2 -2
  724. package/separator/separator.component.d.ts +22 -19
  725. package/separator/separator.module.d.ts +8 -2
  726. package/side-bar/index.d.ts +5 -0
  727. package/side-bar/public-api.d.ts +3 -3
  728. package/side-bar/side-bar.component.d.ts +42 -38
  729. package/side-bar/side-bar.model.d.ts +4 -4
  730. package/side-bar/side-bar.module.d.ts +16 -5
  731. package/signature/index.d.ts +5 -0
  732. package/signature/public-api.d.ts +2 -2
  733. package/signature/signature.component.d.ts +68 -65
  734. package/signature/signature.module.d.ts +24 -5
  735. package/size-detector/index.d.ts +5 -0
  736. package/size-detector/public-api.d.ts +2 -2
  737. package/size-detector/size-detector.component.d.ts +29 -26
  738. package/size-detector/size-detector.module.d.ts +11 -2
  739. package/slider/index.d.ts +5 -0
  740. package/slider/public-api.d.ts +2 -2
  741. package/slider/slider.component.d.ts +39 -36
  742. package/slider/slider.module.d.ts +12 -2
  743. package/smart-filters/boolean-filter/boolean-filter.component.d.ts +28 -25
  744. package/smart-filters/common/filter-actions.component.d.ts +12 -9
  745. package/smart-filters/common/model/base-filter-component.d.ts +73 -70
  746. package/smart-filters/common/model/creator.d.ts +6 -6
  747. package/smart-filters/common/model/field.d.ts +69 -69
  748. package/smart-filters/common/model/filter.d.ts +11 -11
  749. package/smart-filters/common/model/operator.d.ts +51 -51
  750. package/smart-filters/common/model/type.d.ts +4 -4
  751. package/smart-filters/date-filter/date-filter.component.d.ts +59 -56
  752. package/smart-filters/index.d.ts +5 -0
  753. package/smart-filters/multi-select-filter/multi-select-filter.component.d.ts +56 -53
  754. package/smart-filters/number-filter/number-filter.component.d.ts +51 -48
  755. package/smart-filters/public-api.d.ts +14 -14
  756. package/smart-filters/smart-filters.component.d.ts +35 -32
  757. package/smart-filters/smart-filters.module.d.ts +37 -5
  758. package/smart-filters/text-filter/text-filter.component.d.ts +28 -25
  759. package/snack-bar/default-snack-bar.component.d.ts +13 -10
  760. package/snack-bar/index.d.ts +5 -0
  761. package/snack-bar/public-api.d.ts +4 -4
  762. package/snack-bar/snack-bar.component.d.ts +12 -9
  763. package/snack-bar/snack-bar.model.d.ts +8 -8
  764. package/snack-bar/snack-bar.module.d.ts +19 -5
  765. package/snack-bar/snack-bar.service.d.ts +24 -21
  766. package/src/core/style/themes/black-theme.scss +1 -1
  767. package/src/core/style/themes/default-theme.scss +1 -1
  768. package/src/core/style/themes/light-theme.scss +1 -1
  769. package/src/core/style/themes/nature-theme.scss +1 -1
  770. package/textarea/index.d.ts +5 -0
  771. package/textarea/public-api.d.ts +2 -2
  772. package/textarea/textarea.component.d.ts +54 -51
  773. package/textarea/textarea.module.d.ts +23 -5
  774. package/textbox/index.d.ts +5 -0
  775. package/textbox/public-api.d.ts +2 -2
  776. package/textbox/textbox-validation.directive.d.ts +21 -18
  777. package/textbox/textbox.component.d.ts +143 -141
  778. package/textbox/textbox.module.d.ts +22 -5
  779. package/textbox-icon/index.d.ts +5 -0
  780. package/textbox-icon/public-api.d.ts +2 -2
  781. package/textbox-icon/textbox-icon.component.d.ts +13 -10
  782. package/textbox-icon/textbox-icon.module.d.ts +16 -5
  783. package/theming.scss +1 -1
  784. package/top-bar/index.d.ts +5 -0
  785. package/top-bar/public-api.d.ts +3 -3
  786. package/top-bar/top-bar.component.d.ts +39 -36
  787. package/top-bar/top-bar.model.d.ts +4 -4
  788. package/top-bar/top-bar.module.d.ts +18 -5
  789. package/address/package.json +0 -11
  790. package/address/pepperi-addons-ngx-lib-address.d.ts +0 -4
  791. package/address/pepperi-addons-ngx-lib-address.metadata.json +0 -1
  792. package/attachment/package.json +0 -11
  793. package/attachment/pepperi-addons-ngx-lib-attachment.d.ts +0 -4
  794. package/attachment/pepperi-addons-ngx-lib-attachment.metadata.json +0 -1
  795. package/bread-crumbs/package.json +0 -11
  796. package/bread-crumbs/pepperi-addons-ngx-lib-bread-crumbs.d.ts +0 -4
  797. package/bread-crumbs/pepperi-addons-ngx-lib-bread-crumbs.metadata.json +0 -1
  798. package/bundles/pepperi-addons-ngx-lib-address.umd.js +0 -145
  799. package/bundles/pepperi-addons-ngx-lib-address.umd.js.map +0 -1
  800. package/bundles/pepperi-addons-ngx-lib-attachment.umd.js +0 -268
  801. package/bundles/pepperi-addons-ngx-lib-attachment.umd.js.map +0 -1
  802. package/bundles/pepperi-addons-ngx-lib-bread-crumbs.umd.js +0 -145
  803. package/bundles/pepperi-addons-ngx-lib-bread-crumbs.umd.js.map +0 -1
  804. package/bundles/pepperi-addons-ngx-lib-button.umd.js +0 -182
  805. package/bundles/pepperi-addons-ngx-lib-button.umd.js.map +0 -1
  806. package/bundles/pepperi-addons-ngx-lib-carousel.umd.js +0 -812
  807. package/bundles/pepperi-addons-ngx-lib-carousel.umd.js.map +0 -1
  808. package/bundles/pepperi-addons-ngx-lib-checkbox.umd.js +0 -213
  809. package/bundles/pepperi-addons-ngx-lib-checkbox.umd.js.map +0 -1
  810. package/bundles/pepperi-addons-ngx-lib-color.umd.js +0 -326
  811. package/bundles/pepperi-addons-ngx-lib-color.umd.js.map +0 -1
  812. package/bundles/pepperi-addons-ngx-lib-date.umd.js +0 -698
  813. package/bundles/pepperi-addons-ngx-lib-date.umd.js.map +0 -1
  814. package/bundles/pepperi-addons-ngx-lib-dialog.umd.js +0 -578
  815. package/bundles/pepperi-addons-ngx-lib-dialog.umd.js.map +0 -1
  816. package/bundles/pepperi-addons-ngx-lib-draggable-items.umd.js +0 -175
  817. package/bundles/pepperi-addons-ngx-lib-draggable-items.umd.js.map +0 -1
  818. package/bundles/pepperi-addons-ngx-lib-field-title.umd.js +0 -78
  819. package/bundles/pepperi-addons-ngx-lib-field-title.umd.js.map +0 -1
  820. package/bundles/pepperi-addons-ngx-lib-files-uploader.umd.js +0 -281
  821. package/bundles/pepperi-addons-ngx-lib-files-uploader.umd.js.map +0 -1
  822. package/bundles/pepperi-addons-ngx-lib-form.umd.js +0 -3401
  823. package/bundles/pepperi-addons-ngx-lib-form.umd.js.map +0 -1
  824. package/bundles/pepperi-addons-ngx-lib-group-buttons.umd.js +0 -108
  825. package/bundles/pepperi-addons-ngx-lib-group-buttons.umd.js.map +0 -1
  826. package/bundles/pepperi-addons-ngx-lib-icon.umd.js +0 -834
  827. package/bundles/pepperi-addons-ngx-lib-icon.umd.js.map +0 -1
  828. package/bundles/pepperi-addons-ngx-lib-image.umd.js +0 -372
  829. package/bundles/pepperi-addons-ngx-lib-image.umd.js.map +0 -1
  830. package/bundles/pepperi-addons-ngx-lib-images-filmstrip.umd.js +0 -446
  831. package/bundles/pepperi-addons-ngx-lib-images-filmstrip.umd.js.map +0 -1
  832. package/bundles/pepperi-addons-ngx-lib-link.umd.js +0 -412
  833. package/bundles/pepperi-addons-ngx-lib-link.umd.js.map +0 -1
  834. package/bundles/pepperi-addons-ngx-lib-list.umd.js +0 -3274
  835. package/bundles/pepperi-addons-ngx-lib-list.umd.js.map +0 -1
  836. package/bundles/pepperi-addons-ngx-lib-menu.umd.js +0 -676
  837. package/bundles/pepperi-addons-ngx-lib-menu.umd.js.map +0 -1
  838. package/bundles/pepperi-addons-ngx-lib-page-layout.umd.js +0 -81
  839. package/bundles/pepperi-addons-ngx-lib-page-layout.umd.js.map +0 -1
  840. package/bundles/pepperi-addons-ngx-lib-profile-data-views-list.umd.js +0 -572
  841. package/bundles/pepperi-addons-ngx-lib-profile-data-views-list.umd.js.map +0 -1
  842. package/bundles/pepperi-addons-ngx-lib-quantity-selector.umd.js +0 -959
  843. package/bundles/pepperi-addons-ngx-lib-quantity-selector.umd.js.map +0 -1
  844. package/bundles/pepperi-addons-ngx-lib-query-builder.umd.js +0 -1250
  845. package/bundles/pepperi-addons-ngx-lib-query-builder.umd.js.map +0 -1
  846. package/bundles/pepperi-addons-ngx-lib-remote-loader.umd.js +0 -738
  847. package/bundles/pepperi-addons-ngx-lib-remote-loader.umd.js.map +0 -1
  848. package/bundles/pepperi-addons-ngx-lib-rich-html-textarea.umd.js +0 -296
  849. package/bundles/pepperi-addons-ngx-lib-rich-html-textarea.umd.js.map +0 -1
  850. package/bundles/pepperi-addons-ngx-lib-search.umd.js +0 -347
  851. package/bundles/pepperi-addons-ngx-lib-search.umd.js.map +0 -1
  852. package/bundles/pepperi-addons-ngx-lib-select.umd.js +0 -598
  853. package/bundles/pepperi-addons-ngx-lib-select.umd.js.map +0 -1
  854. package/bundles/pepperi-addons-ngx-lib-separator.umd.js +0 -100
  855. package/bundles/pepperi-addons-ngx-lib-separator.umd.js.map +0 -1
  856. package/bundles/pepperi-addons-ngx-lib-side-bar.umd.js +0 -184
  857. package/bundles/pepperi-addons-ngx-lib-side-bar.umd.js.map +0 -1
  858. package/bundles/pepperi-addons-ngx-lib-signature.umd.js +0 -307
  859. package/bundles/pepperi-addons-ngx-lib-signature.umd.js.map +0 -1
  860. package/bundles/pepperi-addons-ngx-lib-size-detector.umd.js +0 -134
  861. package/bundles/pepperi-addons-ngx-lib-size-detector.umd.js.map +0 -1
  862. package/bundles/pepperi-addons-ngx-lib-slider.umd.js +0 -145
  863. package/bundles/pepperi-addons-ngx-lib-slider.umd.js.map +0 -1
  864. package/bundles/pepperi-addons-ngx-lib-smart-filters.umd.js +0 -2044
  865. package/bundles/pepperi-addons-ngx-lib-smart-filters.umd.js.map +0 -1
  866. package/bundles/pepperi-addons-ngx-lib-snack-bar.umd.js +0 -202
  867. package/bundles/pepperi-addons-ngx-lib-snack-bar.umd.js.map +0 -1
  868. package/bundles/pepperi-addons-ngx-lib-textarea.umd.js +0 -232
  869. package/bundles/pepperi-addons-ngx-lib-textarea.umd.js.map +0 -1
  870. package/bundles/pepperi-addons-ngx-lib-textbox-icon.umd.js +0 -101
  871. package/bundles/pepperi-addons-ngx-lib-textbox-icon.umd.js.map +0 -1
  872. package/bundles/pepperi-addons-ngx-lib-textbox.umd.js +0 -577
  873. package/bundles/pepperi-addons-ngx-lib-textbox.umd.js.map +0 -1
  874. package/bundles/pepperi-addons-ngx-lib-top-bar.umd.js +0 -150
  875. package/bundles/pepperi-addons-ngx-lib-top-bar.umd.js.map +0 -1
  876. package/bundles/pepperi-addons-ngx-lib.umd.js +0 -5183
  877. package/bundles/pepperi-addons-ngx-lib.umd.js.map +0 -1
  878. package/button/package.json +0 -11
  879. package/button/pepperi-addons-ngx-lib-button.d.ts +0 -4
  880. package/button/pepperi-addons-ngx-lib-button.metadata.json +0 -1
  881. package/carousel/package.json +0 -11
  882. package/carousel/pepperi-addons-ngx-lib-carousel.d.ts +0 -4
  883. package/carousel/pepperi-addons-ngx-lib-carousel.metadata.json +0 -1
  884. package/checkbox/package.json +0 -14
  885. package/checkbox/pepperi-addons-ngx-lib-checkbox.d.ts +0 -4
  886. package/checkbox/pepperi-addons-ngx-lib-checkbox.metadata.json +0 -1
  887. package/color/package.json +0 -14
  888. package/color/pepperi-addons-ngx-lib-color.d.ts +0 -5
  889. package/color/pepperi-addons-ngx-lib-color.metadata.json +0 -1
  890. package/date/package.json +0 -18
  891. package/date/pepperi-addons-ngx-lib-date.d.ts +0 -5
  892. package/date/pepperi-addons-ngx-lib-date.metadata.json +0 -1
  893. package/dialog/package.json +0 -15
  894. package/dialog/pepperi-addons-ngx-lib-dialog.d.ts +0 -5
  895. package/dialog/pepperi-addons-ngx-lib-dialog.metadata.json +0 -1
  896. package/draggable-items/package.json +0 -14
  897. package/draggable-items/pepperi-addons-ngx-lib-draggable-items.d.ts +0 -4
  898. package/draggable-items/pepperi-addons-ngx-lib-draggable-items.metadata.json +0 -1
  899. package/esm2015/address/address.component.js +0 -97
  900. package/esm2015/address/address.module.js +0 -31
  901. package/esm2015/address/pepperi-addons-ngx-lib-address.js +0 -5
  902. package/esm2015/address/public-api.js +0 -6
  903. package/esm2015/attachment/attachment.component.js +0 -209
  904. package/esm2015/attachment/attachment.module.js +0 -29
  905. package/esm2015/attachment/pepperi-addons-ngx-lib-attachment.js +0 -5
  906. package/esm2015/attachment/public-api.js +0 -6
  907. package/esm2015/bread-crumbs/bread-crumbs.component.js +0 -79
  908. package/esm2015/bread-crumbs/bread-crumbs.model.js +0 -7
  909. package/esm2015/bread-crumbs/bread-crumbs.module.js +0 -35
  910. package/esm2015/bread-crumbs/pepperi-addons-ngx-lib-bread-crumbs.js +0 -5
  911. package/esm2015/bread-crumbs/public-api.js +0 -7
  912. package/esm2015/button/button.component.js +0 -128
  913. package/esm2015/button/button.model.js +0 -6
  914. package/esm2015/button/button.module.js +0 -27
  915. package/esm2015/button/pepperi-addons-ngx-lib-button.js +0 -5
  916. package/esm2015/button/public-api.js +0 -7
  917. package/esm2015/carousel/carousel-item.directive.js +0 -27
  918. package/esm2015/carousel/carousel.component.js +0 -714
  919. package/esm2015/carousel/carousel.module.js +0 -12
  920. package/esm2015/carousel/pepperi-addons-ngx-lib-carousel.js +0 -5
  921. package/esm2015/carousel/public-api.js +0 -8
  922. package/esm2015/checkbox/checkbox.component.js +0 -152
  923. package/esm2015/checkbox/checkbox.module.js +0 -40
  924. package/esm2015/checkbox/pepperi-addons-ngx-lib-checkbox.js +0 -5
  925. package/esm2015/checkbox/public-api.js +0 -6
  926. package/esm2015/color/color-picker.component.js +0 -224
  927. package/esm2015/color/color.component.js +0 -78
  928. package/esm2015/color/color.model.js +0 -2
  929. package/esm2015/color/color.module.js +0 -58
  930. package/esm2015/color/pepperi-addons-ngx-lib-color.js +0 -6
  931. package/esm2015/color/public-api.js +0 -7
  932. package/esm2015/core/clipboard/clipboard.directive.js +0 -20
  933. package/esm2015/core/clipboard/clipboard.service.js +0 -12
  934. package/esm2015/core/clipboard/index.js +0 -5
  935. package/esm2015/core/clipboard/public-api.js +0 -6
  936. package/esm2015/core/common/directives/auto-width.directive.js +0 -78
  937. package/esm2015/core/common/directives/button-blur.directive.js +0 -23
  938. package/esm2015/core/common/directives/button-loader.directive.js +0 -103
  939. package/esm2015/core/common/directives/data-qa.directive.js +0 -23
  940. package/esm2015/core/common/directives/index.js +0 -5
  941. package/esm2015/core/common/directives/menu-blur.directive.js +0 -29
  942. package/esm2015/core/common/directives/prevent-multi-click.directive.js +0 -22
  943. package/esm2015/core/common/directives/print.directive.js +0 -160
  944. package/esm2015/core/common/directives/public-api.js +0 -12
  945. package/esm2015/core/common/index.js +0 -5
  946. package/esm2015/core/common/model/index.js +0 -5
  947. package/esm2015/core/common/model/papi.model.js +0 -3
  948. package/esm2015/core/common/model/public-api.js +0 -7
  949. package/esm2015/core/common/model/utilities.model.js +0 -57
  950. package/esm2015/core/common/model/wapi.model.js +0 -156
  951. package/esm2015/core/common/pipes/common-pipes.js +0 -142
  952. package/esm2015/core/common/pipes/date-ago.pipe.js +0 -45
  953. package/esm2015/core/common/pipes/index.js +0 -5
  954. package/esm2015/core/common/pipes/public-api.js +0 -6
  955. package/esm2015/core/common/public-api.js +0 -8
  956. package/esm2015/core/common/services/addon.service.js +0 -161
  957. package/esm2015/core/common/services/color.service.js +0 -357
  958. package/esm2015/core/common/services/cookie.service.js +0 -148
  959. package/esm2015/core/common/services/data-convertor.service.js +0 -118
  960. package/esm2015/core/common/services/file.service.js +0 -212
  961. package/esm2015/core/common/services/index.js +0 -5
  962. package/esm2015/core/common/services/jwt-helper.service.js +0 -104
  963. package/esm2015/core/common/services/public-api.js +0 -15
  964. package/esm2015/core/common/services/session.service.js +0 -73
  965. package/esm2015/core/common/services/translate.service.js +0 -48
  966. package/esm2015/core/common/services/utilities.service.js +0 -211
  967. package/esm2015/core/common/services/validator.service.js +0 -273
  968. package/esm2015/core/common/services/window-scrolling.service.js +0 -35
  969. package/esm2015/core/customization/customization.model.js +0 -290
  970. package/esm2015/core/customization/customization.service.js +0 -778
  971. package/esm2015/core/customization/index.js +0 -5
  972. package/esm2015/core/customization/public-api.js +0 -6
  973. package/esm2015/core/http/index.js +0 -5
  974. package/esm2015/core/http/interceptors/error.interceptor.js +0 -24
  975. package/esm2015/core/http/interceptors/index.js +0 -24
  976. package/esm2015/core/http/interceptors/loader.interceptor.js +0 -39
  977. package/esm2015/core/http/interceptors/profiler.interceptor.js +0 -29
  978. package/esm2015/core/http/public-api.js +0 -6
  979. package/esm2015/core/http/services/http.service.js +0 -161
  980. package/esm2015/core/http/services/loader.service.js +0 -49
  981. package/esm2015/core/index.js +0 -5
  982. package/esm2015/core/layout/index.js +0 -5
  983. package/esm2015/core/layout/layout.service.js +0 -169
  984. package/esm2015/core/layout/public-api.js +0 -6
  985. package/esm2015/core/layout/rtl.directive.js +0 -47
  986. package/esm2015/core/portal/attach.directive.js +0 -27
  987. package/esm2015/core/portal/index.js +0 -5
  988. package/esm2015/core/portal/portal.service.js +0 -35
  989. package/esm2015/core/portal/public-api.js +0 -7
  990. package/esm2015/core/portal/target.directive.js +0 -24
  991. package/esm2015/core/public-api.js +0 -11
  992. package/esm2015/core/scroll-to/index.js +0 -5
  993. package/esm2015/core/scroll-to/public-api.js +0 -6
  994. package/esm2015/core/scroll-to/scroll-to.service.js +0 -82
  995. package/esm2015/date/date.component.js +0 -252
  996. package/esm2015/date/date.model.js +0 -45
  997. package/esm2015/date/date.module.js +0 -51
  998. package/esm2015/date/pepperi-addons-ngx-lib-date.js +0 -6
  999. package/esm2015/date/public-api.js +0 -6
  1000. package/esm2015/dialog/default-dialog.component.js +0 -32
  1001. package/esm2015/dialog/dialog.component.js +0 -29
  1002. package/esm2015/dialog/dialog.model.js +0 -35
  1003. package/esm2015/dialog/dialog.module.js +0 -40
  1004. package/esm2015/dialog/dialog.service.js +0 -88
  1005. package/esm2015/dialog/pepperi-addons-ngx-lib-dialog.js +0 -6
  1006. package/esm2015/dialog/public-api.js +0 -8
  1007. package/esm2015/draggable-items/draggable-item/draggable-item.component.js +0 -25
  1008. package/esm2015/draggable-items/draggable-items.component.js +0 -92
  1009. package/esm2015/draggable-items/draggable-items.model.js +0 -2
  1010. package/esm2015/draggable-items/draggable-items.module.js +0 -43
  1011. package/esm2015/draggable-items/pepperi-addons-ngx-lib-draggable-items.js +0 -5
  1012. package/esm2015/draggable-items/public-api.js +0 -8
  1013. package/esm2015/field-title/field-title.component.js +0 -32
  1014. package/esm2015/field-title/field-title.module.js +0 -32
  1015. package/esm2015/field-title/pepperi-addons-ngx-lib-field-title.js +0 -5
  1016. package/esm2015/field-title/public-api.js +0 -6
  1017. package/esm2015/files-uploader/files-uploader.component.js +0 -221
  1018. package/esm2015/files-uploader/files-uploader.module.js +0 -50
  1019. package/esm2015/files-uploader/pepperi-addons-ngx-lib-files-uploader.js +0 -5
  1020. package/esm2015/files-uploader/public-api.js +0 -6
  1021. package/esm2015/form/field-generator.component.js +0 -220
  1022. package/esm2015/form/form.component.js +0 -1197
  1023. package/esm2015/form/form.model.js +0 -2
  1024. package/esm2015/form/form.module.js +0 -108
  1025. package/esm2015/form/indicators.component.js +0 -21
  1026. package/esm2015/form/internal-button.component.js +0 -166
  1027. package/esm2015/form/internal-carusel.component.js +0 -116
  1028. package/esm2015/form/internal-carusel.service.js +0 -32
  1029. package/esm2015/form/internal-list.component.js +0 -495
  1030. package/esm2015/form/internal-menu.component.js +0 -55
  1031. package/esm2015/form/internal-page.component.js +0 -351
  1032. package/esm2015/form/internal-page.service.js +0 -121
  1033. package/esm2015/form/pepperi-addons-ngx-lib-form.js +0 -14
  1034. package/esm2015/form/public-api.js +0 -7
  1035. package/esm2015/group-buttons/group-buttons.component.js +0 -58
  1036. package/esm2015/group-buttons/group-buttons.module.js +0 -38
  1037. package/esm2015/group-buttons/pepperi-addons-ngx-lib-group-buttons.js +0 -5
  1038. package/esm2015/group-buttons/public-api.js +0 -6
  1039. package/esm2015/icon/icon-generated-all.model.js +0 -101
  1040. package/esm2015/icon/icon-generated.model.js +0 -390
  1041. package/esm2015/icon/icon-registry.service.js +0 -24
  1042. package/esm2015/icon/icon.component.js +0 -125
  1043. package/esm2015/icon/icon.module.js +0 -15
  1044. package/esm2015/icon/icon.service.js +0 -32
  1045. package/esm2015/icon/pepperi-addons-ngx-lib-icon.js +0 -5
  1046. package/esm2015/icon/public-api.js +0 -11
  1047. package/esm2015/image/image.component.js +0 -229
  1048. package/esm2015/image/image.module.js +0 -49
  1049. package/esm2015/image/image.service.js +0 -57
  1050. package/esm2015/image/pepperi-addons-ngx-lib-image.js +0 -5
  1051. package/esm2015/image/public-api.js +0 -7
  1052. package/esm2015/images-filmstrip/images-filmstrip.component.js +0 -375
  1053. package/esm2015/images-filmstrip/images-filmstrip.module.js +0 -71
  1054. package/esm2015/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.js +0 -5
  1055. package/esm2015/images-filmstrip/public-api.js +0 -6
  1056. package/esm2015/link/link.component.js +0 -316
  1057. package/esm2015/link/link.module.js +0 -51
  1058. package/esm2015/link/link.pipes.js +0 -14
  1059. package/esm2015/link/pepperi-addons-ngx-lib-link.js +0 -6
  1060. package/esm2015/link/public-api.js +0 -6
  1061. package/esm2015/list/list-actions.component.js +0 -36
  1062. package/esm2015/list/list-carousel.component.js +0 -95
  1063. package/esm2015/list/list-chooser.component.js +0 -58
  1064. package/esm2015/list/list-pager.component.js +0 -113
  1065. package/esm2015/list/list-sorting.component.js +0 -55
  1066. package/esm2015/list/list-total.component.js +0 -24
  1067. package/esm2015/list/list-views.component.js +0 -72
  1068. package/esm2015/list/list.component.js +0 -1128
  1069. package/esm2015/list/list.model.js +0 -4
  1070. package/esm2015/list/list.module.js +0 -88
  1071. package/esm2015/list/list.pipes.js +0 -40
  1072. package/esm2015/list/pepperi-addons-ngx-lib-list.js +0 -7
  1073. package/esm2015/list/public-api.js +0 -15
  1074. package/esm2015/list/virtual-scroller.js +0 -1079
  1075. package/esm2015/menu/menu-item.component.js +0 -103
  1076. package/esm2015/menu/menu.component.js +0 -174
  1077. package/esm2015/menu/menu.model.js +0 -19
  1078. package/esm2015/menu/menu.module.js +0 -40
  1079. package/esm2015/menu/pepperi-addons-ngx-lib-menu.js +0 -6
  1080. package/esm2015/menu/public-api.js +0 -7
  1081. package/esm2015/ngx-lib.module.js +0 -94
  1082. package/esm2015/page-layout/page-layout.component.js +0 -42
  1083. package/esm2015/page-layout/page-layout.module.js +0 -21
  1084. package/esm2015/page-layout/pepperi-addons-ngx-lib-page-layout.js +0 -5
  1085. package/esm2015/page-layout/public-api.js +0 -6
  1086. package/esm2015/pepperi-addons-ngx-lib.js +0 -9
  1087. package/esm2015/profile-data-views-list/pepperi-addons-ngx-lib-profile-data-views-list.js +0 -5
  1088. package/esm2015/profile-data-views-list/profile-data-view/profile-data-view.component.js +0 -39
  1089. package/esm2015/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.js +0 -60
  1090. package/esm2015/profile-data-views-list/profile-data-views-list.component.js +0 -87
  1091. package/esm2015/profile-data-views-list/profile-data-views-list.model.js +0 -2
  1092. package/esm2015/profile-data-views-list/profile-data-views-list.module.js +0 -57
  1093. package/esm2015/profile-data-views-list/public-api.js +0 -9
  1094. package/esm2015/public-api.js +0 -6
  1095. package/esm2015/quantity-selector/pepperi-addons-ngx-lib-quantity-selector.js +0 -7
  1096. package/esm2015/quantity-selector/public-api.js +0 -6
  1097. package/esm2015/quantity-selector/quantity-selector-validation.directive.js +0 -44
  1098. package/esm2015/quantity-selector/quantity-selector.component.js +0 -473
  1099. package/esm2015/quantity-selector/quantity-selector.module.js +0 -53
  1100. package/esm2015/quantity-selector/quantity-selector.pipes.js +0 -19
  1101. package/esm2015/query-builder/common/model/field.js +0 -2
  1102. package/esm2015/query-builder/common/model/filter.js +0 -2
  1103. package/esm2015/query-builder/common/model/legacy.js +0 -2
  1104. package/esm2015/query-builder/common/model/operator-unit.js +0 -42
  1105. package/esm2015/query-builder/common/model/operator.js +0 -266
  1106. package/esm2015/query-builder/common/model/structure.js +0 -2
  1107. package/esm2015/query-builder/common/model/type-map.js +0 -27
  1108. package/esm2015/query-builder/common/model/type.js +0 -6
  1109. package/esm2015/query-builder/common/services/output-query.service.js +0 -113
  1110. package/esm2015/query-builder/common/services/query-structure.service.js +0 -229
  1111. package/esm2015/query-builder/common/services/type-convertor.service.js +0 -40
  1112. package/esm2015/query-builder/pepperi-addons-ngx-lib-query-builder.js +0 -10
  1113. package/esm2015/query-builder/public-api.js +0 -9
  1114. package/esm2015/query-builder/query-builder-item/query-builder-item.component.js +0 -118
  1115. package/esm2015/query-builder/query-builder-section/query-builder-section.component.js +0 -64
  1116. package/esm2015/query-builder/query-builder.component.js +0 -108
  1117. package/esm2015/query-builder/query-builder.module.js +0 -35
  1118. package/esm2015/query-builder/query-builder.service.js +0 -103
  1119. package/esm2015/remote-loader/addon-block-loader.component.js +0 -78
  1120. package/esm2015/remote-loader/addon-block-loader.service.js +0 -62
  1121. package/esm2015/remote-loader/pepperi-addons-ngx-lib-remote-loader.js +0 -5
  1122. package/esm2015/remote-loader/public-api.js +0 -10
  1123. package/esm2015/remote-loader/remote-loader.component.js +0 -118
  1124. package/esm2015/remote-loader/remote-loader.model.js +0 -2
  1125. package/esm2015/remote-loader/remote-loader.module.js +0 -38
  1126. package/esm2015/remote-loader/remote-loader.service.js +0 -66
  1127. package/esm2015/rich-html-textarea/pepperi-addons-ngx-lib-rich-html-textarea.js +0 -5
  1128. package/esm2015/rich-html-textarea/public-api.js +0 -6
  1129. package/esm2015/rich-html-textarea/rich-html-textarea.component.js +0 -220
  1130. package/esm2015/rich-html-textarea/rich-html-textarea.module.js +0 -57
  1131. package/esm2015/search/pepperi-addons-ngx-lib-search.js +0 -5
  1132. package/esm2015/search/public-api.js +0 -7
  1133. package/esm2015/search/search.component.js +0 -274
  1134. package/esm2015/search/search.model.js +0 -2
  1135. package/esm2015/search/search.module.js +0 -45
  1136. package/esm2015/select/pepperi-addons-ngx-lib-select.js +0 -5
  1137. package/esm2015/select/public-api.js +0 -6
  1138. package/esm2015/select/select.component.js +0 -212
  1139. package/esm2015/select/select.module.js +0 -43
  1140. package/esm2015/separator/pepperi-addons-ngx-lib-separator.js +0 -5
  1141. package/esm2015/separator/public-api.js +0 -6
  1142. package/esm2015/separator/separator.component.js +0 -63
  1143. package/esm2015/separator/separator.module.js +0 -13
  1144. package/esm2015/side-bar/pepperi-addons-ngx-lib-side-bar.js +0 -5
  1145. package/esm2015/side-bar/public-api.js +0 -7
  1146. package/esm2015/side-bar/side-bar.component.js +0 -131
  1147. package/esm2015/side-bar/side-bar.model.js +0 -2
  1148. package/esm2015/side-bar/side-bar.module.js +0 -34
  1149. package/esm2015/signature/pepperi-addons-ngx-lib-signature.js +0 -5
  1150. package/esm2015/signature/public-api.js +0 -6
  1151. package/esm2015/signature/signature.component.js +0 -234
  1152. package/esm2015/signature/signature.module.js +0 -55
  1153. package/esm2015/size-detector/pepperi-addons-ngx-lib-size-detector.js +0 -5
  1154. package/esm2015/size-detector/public-api.js +0 -6
  1155. package/esm2015/size-detector/size-detector.component.js +0 -89
  1156. package/esm2015/size-detector/size-detector.module.js +0 -22
  1157. package/esm2015/slider/pepperi-addons-ngx-lib-slider.js +0 -5
  1158. package/esm2015/slider/public-api.js +0 -6
  1159. package/esm2015/slider/slider.component.js +0 -96
  1160. package/esm2015/slider/slider.module.js +0 -25
  1161. package/esm2015/smart-filters/boolean-filter/boolean-filter.component.js +0 -71
  1162. package/esm2015/smart-filters/common/filter-actions.component.js +0 -26
  1163. package/esm2015/smart-filters/common/model/base-filter-component.js +0 -292
  1164. package/esm2015/smart-filters/common/model/creator.js +0 -76
  1165. package/esm2015/smart-filters/common/model/field.js +0 -117
  1166. package/esm2015/smart-filters/common/model/filter.js +0 -2
  1167. package/esm2015/smart-filters/common/model/operator.js +0 -271
  1168. package/esm2015/smart-filters/common/model/type.js +0 -2
  1169. package/esm2015/smart-filters/date-filter/date-filter.component.js +0 -164
  1170. package/esm2015/smart-filters/multi-select-filter/multi-select-filter.component.js +0 -191
  1171. package/esm2015/smart-filters/number-filter/number-filter.component.js +0 -110
  1172. package/esm2015/smart-filters/pepperi-addons-ngx-lib-smart-filters.js +0 -5
  1173. package/esm2015/smart-filters/public-api.js +0 -19
  1174. package/esm2015/smart-filters/smart-filters.component.js +0 -130
  1175. package/esm2015/smart-filters/smart-filters.module.js +0 -91
  1176. package/esm2015/smart-filters/text-filter/text-filter.component.js +0 -86
  1177. package/esm2015/snack-bar/default-snack-bar.component.js +0 -28
  1178. package/esm2015/snack-bar/pepperi-addons-ngx-lib-snack-bar.js +0 -6
  1179. package/esm2015/snack-bar/public-api.js +0 -8
  1180. package/esm2015/snack-bar/snack-bar.component.js +0 -26
  1181. package/esm2015/snack-bar/snack-bar.model.js +0 -7
  1182. package/esm2015/snack-bar/snack-bar.module.js +0 -42
  1183. package/esm2015/snack-bar/snack-bar.service.js +0 -63
  1184. package/esm2015/textarea/pepperi-addons-ngx-lib-textarea.js +0 -5
  1185. package/esm2015/textarea/public-api.js +0 -6
  1186. package/esm2015/textarea/textarea.component.js +0 -161
  1187. package/esm2015/textarea/textarea.module.js +0 -51
  1188. package/esm2015/textbox/pepperi-addons-ngx-lib-textbox.js +0 -6
  1189. package/esm2015/textbox/public-api.js +0 -6
  1190. package/esm2015/textbox/textbox-validation.directive.js +0 -86
  1191. package/esm2015/textbox/textbox.component.js +0 -412
  1192. package/esm2015/textbox/textbox.module.js +0 -45
  1193. package/esm2015/textbox-icon/pepperi-addons-ngx-lib-textbox-icon.js +0 -5
  1194. package/esm2015/textbox-icon/public-api.js +0 -6
  1195. package/esm2015/textbox-icon/textbox-icon.component.js +0 -41
  1196. package/esm2015/textbox-icon/textbox-icon.module.js +0 -47
  1197. package/esm2015/top-bar/pepperi-addons-ngx-lib-top-bar.js +0 -5
  1198. package/esm2015/top-bar/public-api.js +0 -7
  1199. package/esm2015/top-bar/top-bar.component.js +0 -99
  1200. package/esm2015/top-bar/top-bar.model.js +0 -2
  1201. package/esm2015/top-bar/top-bar.module.js +0 -41
  1202. package/fesm2015/pepperi-addons-ngx-lib-address.js +0 -136
  1203. package/fesm2015/pepperi-addons-ngx-lib-address.js.map +0 -1
  1204. package/fesm2015/pepperi-addons-ngx-lib-attachment.js +0 -246
  1205. package/fesm2015/pepperi-addons-ngx-lib-attachment.js.map +0 -1
  1206. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.js +0 -128
  1207. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.js.map +0 -1
  1208. package/fesm2015/pepperi-addons-ngx-lib-button.js +0 -169
  1209. package/fesm2015/pepperi-addons-ngx-lib-button.js.map +0 -1
  1210. package/fesm2015/pepperi-addons-ngx-lib-carousel.js +0 -760
  1211. package/fesm2015/pepperi-addons-ngx-lib-carousel.js.map +0 -1
  1212. package/fesm2015/pepperi-addons-ngx-lib-checkbox.js +0 -200
  1213. package/fesm2015/pepperi-addons-ngx-lib-checkbox.js.map +0 -1
  1214. package/fesm2015/pepperi-addons-ngx-lib-color.js +0 -353
  1215. package/fesm2015/pepperi-addons-ngx-lib-color.js.map +0 -1
  1216. package/fesm2015/pepperi-addons-ngx-lib-date.js +0 -350
  1217. package/fesm2015/pepperi-addons-ngx-lib-date.js.map +0 -1
  1218. package/fesm2015/pepperi-addons-ngx-lib-dialog.js +0 -223
  1219. package/fesm2015/pepperi-addons-ngx-lib-dialog.js.map +0 -1
  1220. package/fesm2015/pepperi-addons-ngx-lib-draggable-items.js +0 -166
  1221. package/fesm2015/pepperi-addons-ngx-lib-draggable-items.js.map +0 -1
  1222. package/fesm2015/pepperi-addons-ngx-lib-field-title.js +0 -73
  1223. package/fesm2015/pepperi-addons-ngx-lib-field-title.js.map +0 -1
  1224. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.js +0 -276
  1225. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.js.map +0 -1
  1226. package/fesm2015/pepperi-addons-ngx-lib-form.js +0 -2854
  1227. package/fesm2015/pepperi-addons-ngx-lib-form.js.map +0 -1
  1228. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.js +0 -104
  1229. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.js.map +0 -1
  1230. package/fesm2015/pepperi-addons-ngx-lib-icon.js +0 -688
  1231. package/fesm2015/pepperi-addons-ngx-lib-icon.js.map +0 -1
  1232. package/fesm2015/pepperi-addons-ngx-lib-image.js +0 -337
  1233. package/fesm2015/pepperi-addons-ngx-lib-image.js.map +0 -1
  1234. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.js +0 -438
  1235. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.js.map +0 -1
  1236. package/fesm2015/pepperi-addons-ngx-lib-link.js +0 -384
  1237. package/fesm2015/pepperi-addons-ngx-lib-link.js.map +0 -1
  1238. package/fesm2015/pepperi-addons-ngx-lib-list.js +0 -2770
  1239. package/fesm2015/pepperi-addons-ngx-lib-list.js.map +0 -1
  1240. package/fesm2015/pepperi-addons-ngx-lib-menu.js +0 -338
  1241. package/fesm2015/pepperi-addons-ngx-lib-menu.js.map +0 -1
  1242. package/fesm2015/pepperi-addons-ngx-lib-page-layout.js +0 -70
  1243. package/fesm2015/pepperi-addons-ngx-lib-page-layout.js.map +0 -1
  1244. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.js +0 -247
  1245. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.js.map +0 -1
  1246. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.js +0 -592
  1247. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.js.map +0 -1
  1248. package/fesm2015/pepperi-addons-ngx-lib-query-builder.js +0 -1128
  1249. package/fesm2015/pepperi-addons-ngx-lib-query-builder.js.map +0 -1
  1250. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.js +0 -358
  1251. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.js.map +0 -1
  1252. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.js +0 -284
  1253. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.js.map +0 -1
  1254. package/fesm2015/pepperi-addons-ngx-lib-search.js +0 -326
  1255. package/fesm2015/pepperi-addons-ngx-lib-search.js.map +0 -1
  1256. package/fesm2015/pepperi-addons-ngx-lib-select.js +0 -263
  1257. package/fesm2015/pepperi-addons-ngx-lib-select.js.map +0 -1
  1258. package/fesm2015/pepperi-addons-ngx-lib-separator.js +0 -85
  1259. package/fesm2015/pepperi-addons-ngx-lib-separator.js.map +0 -1
  1260. package/fesm2015/pepperi-addons-ngx-lib-side-bar.js +0 -172
  1261. package/fesm2015/pepperi-addons-ngx-lib-side-bar.js.map +0 -1
  1262. package/fesm2015/pepperi-addons-ngx-lib-signature.js +0 -296
  1263. package/fesm2015/pepperi-addons-ngx-lib-signature.js.map +0 -1
  1264. package/fesm2015/pepperi-addons-ngx-lib-size-detector.js +0 -119
  1265. package/fesm2015/pepperi-addons-ngx-lib-size-detector.js.map +0 -1
  1266. package/fesm2015/pepperi-addons-ngx-lib-slider.js +0 -129
  1267. package/fesm2015/pepperi-addons-ngx-lib-slider.js.map +0 -1
  1268. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.js +0 -1595
  1269. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.js.map +0 -1
  1270. package/fesm2015/pepperi-addons-ngx-lib-snack-bar.js +0 -166
  1271. package/fesm2015/pepperi-addons-ngx-lib-snack-bar.js.map +0 -1
  1272. package/fesm2015/pepperi-addons-ngx-lib-textarea.js +0 -219
  1273. package/fesm2015/pepperi-addons-ngx-lib-textarea.js.map +0 -1
  1274. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.js +0 -96
  1275. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.js.map +0 -1
  1276. package/fesm2015/pepperi-addons-ngx-lib-textbox.js +0 -547
  1277. package/fesm2015/pepperi-addons-ngx-lib-textbox.js.map +0 -1
  1278. package/fesm2015/pepperi-addons-ngx-lib-top-bar.js +0 -146
  1279. package/fesm2015/pepperi-addons-ngx-lib-top-bar.js.map +0 -1
  1280. package/fesm2015/pepperi-addons-ngx-lib.js +0 -4461
  1281. package/fesm2015/pepperi-addons-ngx-lib.js.map +0 -1
  1282. package/field-title/package.json +0 -11
  1283. package/field-title/pepperi-addons-ngx-lib-field-title.d.ts +0 -4
  1284. package/field-title/pepperi-addons-ngx-lib-field-title.metadata.json +0 -1
  1285. package/files-uploader/package.json +0 -15
  1286. package/files-uploader/pepperi-addons-ngx-lib-files-uploader.d.ts +0 -4
  1287. package/files-uploader/pepperi-addons-ngx-lib-files-uploader.metadata.json +0 -1
  1288. package/form/package.json +0 -15
  1289. package/form/pepperi-addons-ngx-lib-form.d.ts +0 -13
  1290. package/form/pepperi-addons-ngx-lib-form.metadata.json +0 -1
  1291. package/group-buttons/package.json +0 -11
  1292. package/group-buttons/pepperi-addons-ngx-lib-group-buttons.d.ts +0 -4
  1293. package/group-buttons/pepperi-addons-ngx-lib-group-buttons.metadata.json +0 -1
  1294. package/icon/package.json +0 -11
  1295. package/icon/pepperi-addons-ngx-lib-icon.d.ts +0 -4
  1296. package/icon/pepperi-addons-ngx-lib-icon.metadata.json +0 -1
  1297. package/image/package.json +0 -14
  1298. package/image/pepperi-addons-ngx-lib-image.d.ts +0 -4
  1299. package/image/pepperi-addons-ngx-lib-image.metadata.json +0 -1
  1300. package/images-filmstrip/package.json +0 -17
  1301. package/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.d.ts +0 -4
  1302. package/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.metadata.json +0 -1
  1303. package/link/package.json +0 -14
  1304. package/link/pepperi-addons-ngx-lib-link.d.ts +0 -5
  1305. package/link/pepperi-addons-ngx-lib-link.metadata.json +0 -1
  1306. package/list/package.json +0 -15
  1307. package/list/pepperi-addons-ngx-lib-list.d.ts +0 -6
  1308. package/list/pepperi-addons-ngx-lib-list.metadata.json +0 -1
  1309. package/menu/package.json +0 -11
  1310. package/menu/pepperi-addons-ngx-lib-menu.d.ts +0 -5
  1311. package/menu/pepperi-addons-ngx-lib-menu.metadata.json +0 -1
  1312. package/page-layout/package.json +0 -11
  1313. package/page-layout/pepperi-addons-ngx-lib-page-layout.d.ts +0 -4
  1314. package/page-layout/pepperi-addons-ngx-lib-page-layout.metadata.json +0 -1
  1315. package/pepperi-addons-ngx-lib.d.ts +0 -8
  1316. package/pepperi-addons-ngx-lib.metadata.json +0 -1
  1317. package/profile-data-views-list/package.json +0 -15
  1318. package/profile-data-views-list/pepperi-addons-ngx-lib-profile-data-views-list.d.ts +0 -4
  1319. package/profile-data-views-list/pepperi-addons-ngx-lib-profile-data-views-list.metadata.json +0 -1
  1320. package/quantity-selector/package.json +0 -15
  1321. package/quantity-selector/pepperi-addons-ngx-lib-quantity-selector.d.ts +0 -6
  1322. package/quantity-selector/pepperi-addons-ngx-lib-quantity-selector.metadata.json +0 -1
  1323. package/query-builder/package.json +0 -14
  1324. package/query-builder/pepperi-addons-ngx-lib-query-builder.d.ts +0 -9
  1325. package/query-builder/pepperi-addons-ngx-lib-query-builder.metadata.json +0 -1
  1326. package/remote-loader/package.json +0 -14
  1327. package/remote-loader/pepperi-addons-ngx-lib-remote-loader.d.ts +0 -4
  1328. package/remote-loader/pepperi-addons-ngx-lib-remote-loader.metadata.json +0 -1
  1329. package/rich-html-textarea/package.json +0 -15
  1330. package/rich-html-textarea/pepperi-addons-ngx-lib-rich-html-textarea.d.ts +0 -4
  1331. package/rich-html-textarea/pepperi-addons-ngx-lib-rich-html-textarea.metadata.json +0 -1
  1332. package/search/package.json +0 -14
  1333. package/search/pepperi-addons-ngx-lib-search.d.ts +0 -4
  1334. package/search/pepperi-addons-ngx-lib-search.metadata.json +0 -1
  1335. package/select/package.json +0 -14
  1336. package/select/pepperi-addons-ngx-lib-select.d.ts +0 -4
  1337. package/select/pepperi-addons-ngx-lib-select.metadata.json +0 -1
  1338. package/separator/package.json +0 -11
  1339. package/separator/pepperi-addons-ngx-lib-separator.d.ts +0 -4
  1340. package/separator/pepperi-addons-ngx-lib-separator.metadata.json +0 -1
  1341. package/side-bar/package.json +0 -11
  1342. package/side-bar/pepperi-addons-ngx-lib-side-bar.d.ts +0 -4
  1343. package/side-bar/pepperi-addons-ngx-lib-side-bar.metadata.json +0 -1
  1344. package/signature/package.json +0 -15
  1345. package/signature/pepperi-addons-ngx-lib-signature.d.ts +0 -4
  1346. package/signature/pepperi-addons-ngx-lib-signature.metadata.json +0 -1
  1347. package/size-detector/package.json +0 -14
  1348. package/size-detector/pepperi-addons-ngx-lib-size-detector.d.ts +0 -4
  1349. package/size-detector/pepperi-addons-ngx-lib-size-detector.metadata.json +0 -1
  1350. package/slider/package.json +0 -11
  1351. package/slider/pepperi-addons-ngx-lib-slider.d.ts +0 -4
  1352. package/slider/pepperi-addons-ngx-lib-slider.metadata.json +0 -1
  1353. package/smart-filters/package.json +0 -20
  1354. package/smart-filters/pepperi-addons-ngx-lib-smart-filters.d.ts +0 -4
  1355. package/smart-filters/pepperi-addons-ngx-lib-smart-filters.metadata.json +0 -1
  1356. package/snack-bar/package.json +0 -15
  1357. package/snack-bar/pepperi-addons-ngx-lib-snack-bar.d.ts +0 -5
  1358. package/snack-bar/pepperi-addons-ngx-lib-snack-bar.metadata.json +0 -1
  1359. package/textarea/package.json +0 -14
  1360. package/textarea/pepperi-addons-ngx-lib-textarea.d.ts +0 -4
  1361. package/textarea/pepperi-addons-ngx-lib-textarea.metadata.json +0 -1
  1362. package/textbox/package.json +0 -14
  1363. package/textbox/pepperi-addons-ngx-lib-textbox.d.ts +0 -5
  1364. package/textbox/pepperi-addons-ngx-lib-textbox.metadata.json +0 -1
  1365. package/textbox-icon/package.json +0 -11
  1366. package/textbox-icon/pepperi-addons-ngx-lib-textbox-icon.d.ts +0 -4
  1367. package/textbox-icon/pepperi-addons-ngx-lib-textbox-icon.metadata.json +0 -1
  1368. package/top-bar/package.json +0 -11
  1369. package/top-bar/pepperi-addons-ngx-lib-top-bar.d.ts +0 -4
  1370. package/top-bar/pepperi-addons-ngx-lib-top-bar.metadata.json +0 -1
@@ -0,0 +1,66 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, } from '@angular/core';
2
+ import { DEFAULT_HORIZONTAL_ALIGNMENT, } from '@pepperi-addons/ngx-lib';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/material/button";
6
+ import * as i3 from "@angular/material/icon";
7
+ import * as i4 from "@angular/material/menu";
8
+ import * as i5 from "@pepperi-addons/ngx-lib/icon";
9
+ import * as i6 from "@ngx-translate/core";
10
+ export class PepInternalMenuComponent {
11
+ constructor() {
12
+ this.key = '';
13
+ this.label = '';
14
+ this.disabled = false;
15
+ this.xAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;
16
+ // @Input() hasSubMenu = false;
17
+ this.options = [];
18
+ this.invertClass = true;
19
+ this.controlType = 'menu';
20
+ this.layoutType = 'form';
21
+ this.elementClick = new EventEmitter();
22
+ }
23
+ // @Output() menuItemClick: EventEmitter<IPepFieldClickEvent> = new EventEmitter<IPepFieldClickEvent>();
24
+ ngOnDestroy() {
25
+ // if (this.elementClick) {
26
+ // this.elementClick.unsubscribe();
27
+ // }
28
+ // if (this.menuItemClick) {
29
+ // this.menuItemClick.unsubscribe();
30
+ // }
31
+ }
32
+ menuClicked(event) {
33
+ this.elementClick.emit({
34
+ key: this.key,
35
+ controlType: this.controlType,
36
+ eventWhich: event.which,
37
+ });
38
+ }
39
+ menuItemClicked(itemKey) {
40
+ // Not in use comment in version 16.55 for webapp.
41
+ // this.menuItemClick.emit({ key: itemKey });
42
+ }
43
+ }
44
+ PepInternalMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepInternalMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
45
+ PepInternalMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepInternalMenuComponent, selector: "pep-internal-menu", inputs: { key: "key", label: "label", disabled: "disabled", xAlignment: "xAlignment", options: "options", invertClass: "invertClass", layoutType: "layoutType" }, outputs: { elementClick: "elementClick" }, ngImport: i0, template: "<ng-container *ngIf=\"options?.length > 0; then subMenuBlock; else noSubMenuBlock\"></ng-container>\n<ng-template #noSubMenuBlock>\n <button (click)=\"menuClicked($event)\" title=\"{{ label }}\" mat-button\n class=\"pep-button icon-button weak {{ layoutType === 'table' ? 'sm' : 'md' }}\" [ngClass]=\"{\n 'lock-events': disabled,\n 'left-alignment': xAlignment == 'left',\n 'right-alignment': xAlignment == 'right',\n 'center-alignment': xAlignment == 'center',\n 'invert': invertClass\n }\">\n <mat-icon>\n <pep-icon name=\"system_menu\">\n </pep-icon>\n </mat-icon>\n </button>\n</ng-template>\n\n<ng-template #subMenuBlock>\n <button mat-button [matMenuTriggerFor]=\"menu\" menu-blur\n class=\"pep-button icon-button weak {{ layoutType === 'table' ? 'sm' : 'md' }}\" [ngClass]=\"{\n 'left-alignment': xAlignment == 'left',\n 'right-alignment': xAlignment == 'right',\n 'center-alignment': xAlignment == 'center',\n 'invert': invertClass\n }\" title=\"{{ label }}\">\n <mat-icon>\n <pep-icon name=\"system_menu\">\n </pep-icon>\n </mat-icon>\n </button>\n\n <mat-menu #menu=\"matMenu\" xPosition=\"{{xAlignment == 'right' ? 'after' : 'before'}}\"\n [ngClass]=\"{ rtlMenu: xAlignment == 'right' }\">\n <button *ngFor=\"let option of options\" mat-menu-item (click)=\"menuItemClicked(option.key)\">\n <span>{{ option.value | translate }}</span>\n </button>\n </mat-menu>\n\n</ng-template>", styles: [":host{height:inherit;display:grid}:host>*{align-self:center}.pepperi-button,.pep-button{cursor:pointer}.pepperi-button.left-alignment,.pep-button.left-alignment{justify-self:flex-start}.pepperi-button.center-alignment,.pep-button.center-alignment{justify-self:center}.pepperi-button.right-alignment,.pep-button.right-alignment{justify-self:flex-end}\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: "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.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepInternalMenuComponent, decorators: [{
47
+ type: Component,
48
+ args: [{ selector: 'pep-internal-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"options?.length > 0; then subMenuBlock; else noSubMenuBlock\"></ng-container>\n<ng-template #noSubMenuBlock>\n <button (click)=\"menuClicked($event)\" title=\"{{ label }}\" mat-button\n class=\"pep-button icon-button weak {{ layoutType === 'table' ? 'sm' : 'md' }}\" [ngClass]=\"{\n 'lock-events': disabled,\n 'left-alignment': xAlignment == 'left',\n 'right-alignment': xAlignment == 'right',\n 'center-alignment': xAlignment == 'center',\n 'invert': invertClass\n }\">\n <mat-icon>\n <pep-icon name=\"system_menu\">\n </pep-icon>\n </mat-icon>\n </button>\n</ng-template>\n\n<ng-template #subMenuBlock>\n <button mat-button [matMenuTriggerFor]=\"menu\" menu-blur\n class=\"pep-button icon-button weak {{ layoutType === 'table' ? 'sm' : 'md' }}\" [ngClass]=\"{\n 'left-alignment': xAlignment == 'left',\n 'right-alignment': xAlignment == 'right',\n 'center-alignment': xAlignment == 'center',\n 'invert': invertClass\n }\" title=\"{{ label }}\">\n <mat-icon>\n <pep-icon name=\"system_menu\">\n </pep-icon>\n </mat-icon>\n </button>\n\n <mat-menu #menu=\"matMenu\" xPosition=\"{{xAlignment == 'right' ? 'after' : 'before'}}\"\n [ngClass]=\"{ rtlMenu: xAlignment == 'right' }\">\n <button *ngFor=\"let option of options\" mat-menu-item (click)=\"menuItemClicked(option.key)\">\n <span>{{ option.value | translate }}</span>\n </button>\n </mat-menu>\n\n</ng-template>", styles: [":host{height:inherit;display:grid}:host>*{align-self:center}.pepperi-button,.pep-button{cursor:pointer}.pepperi-button.left-alignment,.pep-button.left-alignment{justify-self:flex-start}.pepperi-button.center-alignment,.pep-button.center-alignment{justify-self:center}.pepperi-button.right-alignment,.pep-button.right-alignment{justify-self:flex-end}\n"] }]
49
+ }], propDecorators: { key: [{
50
+ type: Input
51
+ }], label: [{
52
+ type: Input
53
+ }], disabled: [{
54
+ type: Input
55
+ }], xAlignment: [{
56
+ type: Input
57
+ }], options: [{
58
+ type: Input
59
+ }], invertClass: [{
60
+ type: Input
61
+ }], layoutType: [{
62
+ type: Input
63
+ }], elementClick: [{
64
+ type: Output
65
+ }] } });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2Zvcm0vaW50ZXJuYWwtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2Zvcm0vaW50ZXJuYWwtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUVaLHVCQUF1QixHQUUxQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBSUgsNEJBQTRCLEdBRS9CLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7O0FBUWpDLE1BQU0sT0FBTyx3QkFBd0I7SUFOckM7UUFPYSxRQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ1QsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZUFBVSxHQUEyQiw0QkFBNEIsQ0FBQztRQUMzRSwrQkFBK0I7UUFDdEIsWUFBTyxHQUFpQixFQUFFLENBQUM7UUFDM0IsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFFNUIsZ0JBQVcsR0FBRyxNQUFNLENBQUM7UUFFWixlQUFVLEdBQWtCLE1BQU0sQ0FBQztRQUU1QyxpQkFBWSxHQUFzQyxJQUFJLFlBQVksRUFBdUIsQ0FBQztLQXdCN0Y7SUF2Qkcsd0dBQXdHO0lBRXhHLFdBQVc7UUFDUCwyQkFBMkI7UUFDM0IsdUNBQXVDO1FBQ3ZDLElBQUk7UUFDSiw0QkFBNEI7UUFDNUIsd0NBQXdDO1FBQ3hDLElBQUk7SUFDUixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVU7UUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDbkIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLFVBQVUsRUFBRSxLQUFLLENBQUMsS0FBSztTQUMxQixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQVk7UUFDeEIsa0RBQWtEO1FBQ2xELDZDQUE2QztJQUNqRCxDQUFDOztxSEFwQ1Esd0JBQXdCO3lHQUF4Qix3QkFBd0Isc1FDdkJyQyx1bURBc0NjOzJGRGZELHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDSSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsR0FBRztzQkFBWCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBSUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFTixZQUFZO3NCQURYLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIFBlcExheW91dFR5cGUsXG4gICAgSVBlcE9wdGlvbixcbiAgICBQZXBIb3Jpem9udGFsQWxpZ25tZW50LFxuICAgIERFRkFVTFRfSE9SSVpPTlRBTF9BTElHTk1FTlQsXG4gICAgSVBlcEZpZWxkQ2xpY2tFdmVudCxcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1pbnRlcm5hbC1tZW51JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW50ZXJuYWwtbWVudS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW50ZXJuYWwtbWVudS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBJbnRlcm5hbE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGtleSA9ICcnO1xuICAgIEBJbnB1dCgpIGxhYmVsID0gJyc7XG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSB4QWxpZ25tZW50OiBQZXBIb3Jpem9udGFsQWxpZ25tZW50ID0gREVGQVVMVF9IT1JJWk9OVEFMX0FMSUdOTUVOVDtcbiAgICAvLyBASW5wdXQoKSBoYXNTdWJNZW51ID0gZmFsc2U7XG4gICAgQElucHV0KCkgb3B0aW9uczogSVBlcE9wdGlvbltdID0gW107XG4gICAgQElucHV0KCkgaW52ZXJ0Q2xhc3MgPSB0cnVlO1xuXG4gICAgY29udHJvbFR5cGUgPSAnbWVudSc7XG5cbiAgICBASW5wdXQoKSBsYXlvdXRUeXBlOiBQZXBMYXlvdXRUeXBlID0gJ2Zvcm0nO1xuICAgIEBPdXRwdXQoKVxuICAgIGVsZW1lbnRDbGljazogRXZlbnRFbWl0dGVyPElQZXBGaWVsZENsaWNrRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJUGVwRmllbGRDbGlja0V2ZW50PigpO1xuICAgIC8vIEBPdXRwdXQoKSBtZW51SXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8SVBlcEZpZWxkQ2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQZXBGaWVsZENsaWNrRXZlbnQ+KCk7XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy8gaWYgKHRoaXMuZWxlbWVudENsaWNrKSB7XG4gICAgICAgIC8vICAgICB0aGlzLmVsZW1lbnRDbGljay51bnN1YnNjcmliZSgpO1xuICAgICAgICAvLyB9XG4gICAgICAgIC8vIGlmICh0aGlzLm1lbnVJdGVtQ2xpY2spIHtcbiAgICAgICAgLy8gICAgIHRoaXMubWVudUl0ZW1DbGljay51bnN1YnNjcmliZSgpO1xuICAgICAgICAvLyB9XG4gICAgfVxuXG4gICAgbWVudUNsaWNrZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnRDbGljay5lbWl0KHtcbiAgICAgICAgICAgIGtleTogdGhpcy5rZXksXG4gICAgICAgICAgICBjb250cm9sVHlwZTogdGhpcy5jb250cm9sVHlwZSxcbiAgICAgICAgICAgIGV2ZW50V2hpY2g6IGV2ZW50LndoaWNoLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBtZW51SXRlbUNsaWNrZWQoaXRlbUtleTogYW55KTogdm9pZCB7XG4gICAgICAgIC8vIE5vdCBpbiB1c2UgY29tbWVudCBpbiB2ZXJzaW9uIDE2LjU1IGZvciB3ZWJhcHAuXG4gICAgICAgIC8vIHRoaXMubWVudUl0ZW1DbGljay5lbWl0KHsga2V5OiBpdGVtS2V5IH0pO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb25zPy5sZW5ndGggPiAwOyB0aGVuIHN1Yk1lbnVCbG9jazsgZWxzZSBub1N1Yk1lbnVCbG9ja1wiPjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNub1N1Yk1lbnVCbG9jaz5cbiAgICA8YnV0dG9uIChjbGljayk9XCJtZW51Q2xpY2tlZCgkZXZlbnQpXCIgdGl0bGU9XCJ7eyBsYWJlbCB9fVwiIG1hdC1idXR0b25cbiAgICAgICAgY2xhc3M9XCJwZXAtYnV0dG9uIGljb24tYnV0dG9uIHdlYWsge3sgbGF5b3V0VHlwZSA9PT0gJ3RhYmxlJyA/ICdzbScgOiAnbWQnIH19XCIgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ2xvY2stZXZlbnRzJzogZGlzYWJsZWQsXG4gICAgICAgICAgICAnbGVmdC1hbGlnbm1lbnQnOiB4QWxpZ25tZW50ID09ICdsZWZ0JyxcbiAgICAgICAgICAgICdyaWdodC1hbGlnbm1lbnQnOiB4QWxpZ25tZW50ID09ICdyaWdodCcsXG4gICAgICAgICAgICAnY2VudGVyLWFsaWdubWVudCc6IHhBbGlnbm1lbnQgPT0gJ2NlbnRlcicsXG4gICAgICAgICAgICAnaW52ZXJ0JzogaW52ZXJ0Q2xhc3NcbiAgICAgICAgfVwiPlxuICAgICAgICA8bWF0LWljb24+XG4gICAgICAgICAgICA8cGVwLWljb24gbmFtZT1cInN5c3RlbV9tZW51XCI+XG4gICAgICAgICAgICA8L3BlcC1pY29uPlxuICAgICAgICA8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzdWJNZW51QmxvY2s+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCIgbWVudS1ibHVyXG4gICAgICAgIGNsYXNzPVwicGVwLWJ1dHRvbiBpY29uLWJ1dHRvbiB3ZWFrIHt7IGxheW91dFR5cGUgPT09ICd0YWJsZScgPyAnc20nIDogJ21kJyB9fVwiIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICdsZWZ0LWFsaWdubWVudCc6IHhBbGlnbm1lbnQgPT0gJ2xlZnQnLFxuICAgICAgICAgICAgJ3JpZ2h0LWFsaWdubWVudCc6IHhBbGlnbm1lbnQgPT0gJ3JpZ2h0JyxcbiAgICAgICAgICAgICdjZW50ZXItYWxpZ25tZW50JzogeEFsaWdubWVudCA9PSAnY2VudGVyJyxcbiAgICAgICAgICAgICdpbnZlcnQnOiBpbnZlcnRDbGFzc1xuICAgICAgICB9XCIgdGl0bGU9XCJ7eyBsYWJlbCB9fVwiPlxuICAgICAgICA8bWF0LWljb24+XG4gICAgICAgICAgICA8cGVwLWljb24gbmFtZT1cInN5c3RlbV9tZW51XCI+XG4gICAgICAgICAgICA8L3BlcC1pY29uPlxuICAgICAgICA8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiIHhQb3NpdGlvbj1cInt7eEFsaWdubWVudCA9PSAncmlnaHQnID8gJ2FmdGVyJyA6ICdiZWZvcmUnfX1cIlxuICAgICAgICBbbmdDbGFzc109XCJ7IHJ0bE1lbnU6IHhBbGlnbm1lbnQgPT0gJ3JpZ2h0JyB9XCI+XG4gICAgICAgIDxidXR0b24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCIgbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwibWVudUl0ZW1DbGlja2VkKG9wdGlvbi5rZXkpXCI+XG4gICAgICAgICAgICA8c3Bhbj57eyBvcHRpb24udmFsdWUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LW1lbnU+XG5cbjwvbmctdGVtcGxhdGU+Il19
@@ -0,0 +1,362 @@
1
+ import { Component, Input, Output, EventEmitter, ViewChild, ViewContainerRef, TemplateRef, ChangeDetectionStrategy, } from '@angular/core';
2
+ import { PepInternalPageService } from './internal-page.service';
3
+ import { FIELD_TYPE, } from '@pepperi-addons/ngx-lib';
4
+ import { PepInternalListComponent, } from './internal-list.component';
5
+ import { fromEvent } from 'rxjs';
6
+ import { debounceTime } from 'rxjs/operators';
7
+ import { PepQuantitySelectorComponent } from '@pepperi-addons/ngx-lib/quantity-selector';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@pepperi-addons/ngx-lib/dialog";
10
+ import * as i2 from "./internal-page.service";
11
+ import * as i3 from "@pepperi-addons/ngx-lib";
12
+ import * as i4 from "@angular/common";
13
+ import * as i5 from "@angular/material/button";
14
+ import * as i6 from "@angular/material/icon";
15
+ import * as i7 from "@angular/material/menu";
16
+ import * as i8 from "@pepperi-addons/ngx-lib/icon";
17
+ import * as i9 from "./internal-list.component";
18
+ import * as i10 from "@ngx-translate/core";
19
+ export class PepInternalPageComponent {
20
+ constructor(dialogService, internalPageService, customizationService, changeDetectorRef) {
21
+ this.dialogService = dialogService;
22
+ this.internalPageService = internalPageService;
23
+ this.customizationService = customizationService;
24
+ this.changeDetectorRef = changeDetectorRef;
25
+ this.controlType = 'internalPage';
26
+ this.layoutType = 'form';
27
+ this.internalFormFieldChange = new EventEmitter();
28
+ this.internalFormFieldClick = new EventEmitter();
29
+ this.checkForChanges = null;
30
+ this.childData = null;
31
+ this.totalsRow = [];
32
+ this.additionalApiNames = null;
33
+ this.currentAdditionalApiName = null;
34
+ this.focusedQS = false;
35
+ this.fieldIdWithFocus = '';
36
+ this.columnWidth = 100;
37
+ this.coverChildTable = false;
38
+ this.currentViewType = null;
39
+ this.sumOfMinColWidth = 0;
40
+ this.totalRowsWidth = 0;
41
+ this.viewWidth = '100%';
42
+ this.viewHeight = 'auto';
43
+ this.displayQSbtns = true;
44
+ this.selectedApiName = '';
45
+ this.showSort = false;
46
+ this.defaultRowSpan = -1;
47
+ }
48
+ fillData(isInDialog = false) {
49
+ const view = this.matrixTemplate.createEmbeddedView(null);
50
+ this.customList?.clear();
51
+ this.orgCont?.clear();
52
+ if (isInDialog) {
53
+ this.dialogCont?.clear();
54
+ this.dialogCont?.insert(view);
55
+ }
56
+ else {
57
+ this.orgCont?.insert(view);
58
+ }
59
+ setTimeout(() => {
60
+ const viewType = this.isTableView()
61
+ ? 'table'
62
+ : 'lines';
63
+ this.customList.initListData(this.uiControl, this.childData.TotalRows, this.childData.Rows, viewType);
64
+ this.setTotalsRow();
65
+ // if (!this.childModal.isShown) {
66
+ const childrenCount = this.childData.Rows
67
+ ? this.childData.Rows.length
68
+ : 0;
69
+ const isEven = childrenCount % 2 === 0;
70
+ // 3 for matrix & flat matrix because the header + total is 2 more rows.
71
+ const rowsToAdd = this.isMatrixView() || this.isFlatMatrixView()
72
+ ? isEven
73
+ ? 3
74
+ : 4
75
+ : 1;
76
+ const formRowHeight = this.customizationService.calculateFormFieldHeight() * 16; // convert rem to pixel
77
+ // Set the default only if not set yet.
78
+ if (this.defaultRowSpan === -1) {
79
+ this.defaultRowSpan = this.field.rowSpan;
80
+ }
81
+ this.sumOfMinColWidth = 0;
82
+ this.totalRowsWidth = 0;
83
+ this.childData.UIControl.ControlFields.forEach((uiControlField) => {
84
+ this.totalRowsWidth += uiControlField.ColumnWidth;
85
+ uiControlField.minFieldWidth = this.mmToPx(12); // NEED TO GET THIS PARAM FROM CUSTOMIZATION;
86
+ this.sumOfMinColWidth += 12;
87
+ });
88
+ this.setViewCover(this.childData.Rows);
89
+ if (this.coverChildTable) {
90
+ this.field.rowSpan = this.defaultRowSpan;
91
+ }
92
+ else {
93
+ // For line view Add the height of the line (form height).
94
+ if (this.currentViewType.Key === 'OrderCenterFlatMatrixLine') {
95
+ const maxRow = Math.max(...this.uiControl.ControlFields.map((f) => {
96
+ return f.Layout.Y + f.Layout.Height;
97
+ }));
98
+ // * 16 convert rem to pixel
99
+ const cardRowsHeight = this.customizationService.calculateCardRowsHeight(maxRow) * 16;
100
+ // maxRow * 24 + 60 - 24 for each row in card + 60 for the padding of each card.
101
+ // const rowSpanToAdd = Math.floor(childrenCount * ((cardRowsHeight + 56) / formRowHeight) + rowsToAdd);
102
+ // + 16 is the 1rem margin outside card.
103
+ const rowSpanToAdd = (childrenCount * (cardRowsHeight + 16)) /
104
+ formRowHeight +
105
+ rowsToAdd;
106
+ this.field.rowSpan = rowSpanToAdd;
107
+ }
108
+ else {
109
+ // const tableRowsHeight = this.customizationService.calculateTableRowsHeight(childrenCount) * 16;
110
+ // this.field.rowSpan = Math.ceil((tableRowsHeight + (rowsToAdd * 40)) / formRowHeight);
111
+ // * 16 convert rem to pixel
112
+ const rowsToAddHeight = this.customizationService.calculateTableRowsHeight(rowsToAdd, false) * 16;
113
+ const tableRowsHeight = this.customizationService.calculateTableRowsHeight(childrenCount) * 16;
114
+ this.field.rowSpan =
115
+ (rowsToAddHeight + tableRowsHeight) / formRowHeight;
116
+ }
117
+ }
118
+ }, 0);
119
+ this.changeDetectorRef.markForCheck();
120
+ }
121
+ fillChildData(res) {
122
+ this.childData = res;
123
+ this.uiControl = res.UIControl;
124
+ this.additionalApiNames = res.AdditionalApiNames;
125
+ this.fillData();
126
+ }
127
+ mmToPx(mm) {
128
+ const height = this.my1mm.nativeElement.clientHeight;
129
+ return Math.floor(mm * height); // returns sizes in PX
130
+ }
131
+ isMatrixView() {
132
+ return (this.currentViewType &&
133
+ this.currentViewType.Key === 'OrderCenterMatrix');
134
+ }
135
+ isFlatMatrixView() {
136
+ return (this.currentViewType &&
137
+ this.currentViewType.Key === 'OrderCenterFlatMatrixGrid');
138
+ }
139
+ isTableView() {
140
+ return this.isMatrixView() || this.isFlatMatrixView();
141
+ }
142
+ changeChildrenViewType(viewTypeKey) {
143
+ this.rows = [];
144
+ this.uiControl = null;
145
+ for (const vt of this.childViewTypes) {
146
+ if (vt.Key === viewTypeKey) {
147
+ this.currentViewType = vt;
148
+ break;
149
+ }
150
+ }
151
+ this.currentViewTypeTitle = this.currentViewType.Value;
152
+ this.internalPageService.changeChildrenViewType(this.currentViewType.Key, (res) => {
153
+ if (res.Rows) {
154
+ this.fillChildData(res);
155
+ }
156
+ });
157
+ }
158
+ setViewCover(rows) {
159
+ if (!rows) {
160
+ return;
161
+ }
162
+ const matrixCont = this.mainViewCont.nativeElement;
163
+ const viewWidth = matrixCont.clientWidth;
164
+ this.viewWidth = viewWidth ? viewWidth.toString() : '100%';
165
+ // if the matrix located on the bottom / there is nothing under the matrix we dont need to check the height
166
+ if (parseInt(viewWidth, 10) < this.mmToPx(this.sumOfMinColWidth)) {
167
+ this.coverChildTable = true;
168
+ }
169
+ else {
170
+ this.coverChildTable = false;
171
+ }
172
+ this.changeDetectorRef.markForCheck();
173
+ }
174
+ showMatrixDialog() {
175
+ const config = this.dialogService.getDialogConfig({
176
+ disableClose: false,
177
+ }, 'large');
178
+ const dialogRef = this.dialogService.openDialog(this.matrixDialogTemplate, {}, config);
179
+ dialogRef.afterOpened().subscribe(() => {
180
+ this.fillData(true);
181
+ });
182
+ dialogRef.afterClosed().subscribe((value) => {
183
+ this.fillData(false);
184
+ });
185
+ }
186
+ ngOnInit() {
187
+ // let field = this.field as PepInternalPageField;
188
+ this.internalPageService.initDetails(this.field.objectId, this.field.parentId, this.field.searchCode, (resViewTypes) => {
189
+ // my code DI-7134
190
+ resViewTypes.Rows = resViewTypes.Rows.filter((item) => item.Key !== 'OrderCenterView1');
191
+ if (resViewTypes.Rows && resViewTypes.Rows.length > 0) {
192
+ if (!resViewTypes.Default) {
193
+ resViewTypes.Default = resViewTypes.Rows[0].Key;
194
+ }
195
+ this.childViewTypes = resViewTypes.Rows;
196
+ this.currentViewType = resViewTypes.Rows[0];
197
+ // for (var i = 0; i < resViewTypes.Rows.length; i++) {
198
+ for (const viewTypeRow of resViewTypes.Rows) {
199
+ if (viewTypeRow.Value === resViewTypes.Default) {
200
+ this.currentViewType = viewTypeRow;
201
+ }
202
+ }
203
+ this.loadLastAdditionalApiName();
204
+ this.changeChildrenViewType(this.currentViewType.Key);
205
+ }
206
+ });
207
+ this.resize = fromEvent(window, 'resize')
208
+ .pipe(debounceTime(10))
209
+ .subscribe((event) => {
210
+ this.setViewCover(this.rows);
211
+ });
212
+ }
213
+ loadLastAdditionalApiName() {
214
+ const daa = sessionStorage.getItem(PepInternalPageComponent.CURRENT_ADDITIONAL_API_NAME);
215
+ if (daa && daa.length > 0) {
216
+ const additionalApiName = JSON.parse(daa);
217
+ this.currentAdditionalApiName = additionalApiName;
218
+ this.internalPageService.additionalApiName = additionalApiName?.Key;
219
+ }
220
+ }
221
+ ngOnDestroy() {
222
+ if (this.resize) {
223
+ this.resize.unsubscribe();
224
+ }
225
+ }
226
+ changeAdditionalApiName(additionalApiName) {
227
+ this.internalPageService.changeAdditionalApiName(additionalApiName ? additionalApiName.Key : '', (res) => {
228
+ // for (let index = 0; index < res.Rows.length; index++) {
229
+ for (const row of res.Rows) {
230
+ this.updateChanges(row);
231
+ }
232
+ this.changeDetectorRef.markForCheck();
233
+ });
234
+ sessionStorage.setItem(PepInternalPageComponent.CURRENT_ADDITIONAL_API_NAME, JSON.stringify(additionalApiName));
235
+ setTimeout(() => {
236
+ this.currentAdditionalApiName = additionalApiName;
237
+ }, 0);
238
+ }
239
+ setTotalsRow() {
240
+ this.totalsRow = [];
241
+ if (this.isMatrixView() || this.isFlatMatrixView()) {
242
+ let totalCol = 0;
243
+ const items = this.customList.items;
244
+ if (items) {
245
+ for (let col = 0; col < items[0].Fields.length; col++) {
246
+ const field = items[0].Fields[col];
247
+ if (field.FieldType === FIELD_TYPE.NumberIntegerForMatrix ||
248
+ field.FieldType ===
249
+ FIELD_TYPE.NumberIntegerQuantitySelector ||
250
+ field.FieldType === FIELD_TYPE.NumberRealForMatrix ||
251
+ field.FieldType ===
252
+ FIELD_TYPE.NumberRealQuantitySelector ||
253
+ field.FieldType === FIELD_TYPE.CalculatedInt ||
254
+ field.FieldType === FIELD_TYPE.NumberInteger ||
255
+ field.FieldType === FIELD_TYPE.CalculatedReal ||
256
+ field.FieldType === FIELD_TYPE.NumberReal) {
257
+ totalCol = 0;
258
+ for (const listItem of items) {
259
+ if (listItem.Fields[col] &&
260
+ listItem.Fields[col].Value) {
261
+ const num = parseFloat(listItem.Fields[col].Value);
262
+ totalCol += isNaN(num) ? 0 : num;
263
+ }
264
+ }
265
+ this.totalsRow.push(totalCol);
266
+ }
267
+ else {
268
+ this.totalsRow.push('');
269
+ }
270
+ }
271
+ }
272
+ }
273
+ }
274
+ updateChanges(elementToUpdate) {
275
+ this.customList.updateItem(elementToUpdate);
276
+ // Update memory data
277
+ for (let index = 0; index < this.childData.Rows.length; index++) {
278
+ if (this.childData.Rows[index].UID === elementToUpdate.UID) {
279
+ this.childData.Rows[index] = elementToUpdate;
280
+ }
281
+ }
282
+ }
283
+ setValueCallback(id, res) {
284
+ if (res.Rows.length === 1) {
285
+ const field = res.Rows[0].Fields.find((f) => f.ApiName === 'ObjectMenu');
286
+ if (field) {
287
+ // HACK : Until "Enabled" returns from the server, we set PepMenu to be
288
+ // Disabled in cart on regular items and not campign items.
289
+ field.Enabled = true;
290
+ }
291
+ this.updateChanges(res.Rows[0]);
292
+ }
293
+ this.setTotalsRow();
294
+ this.checkForChanges = new Date();
295
+ // DI-15985
296
+ this.internalFormFieldChange.emit(res);
297
+ this.changeDetectorRef.markForCheck();
298
+ }
299
+ onCustomizeObjectChanged(customizeObjectChangedData) {
300
+ this.internalPageService.childValueChanged(customizeObjectChangedData.id, customizeObjectChangedData.key, customizeObjectChangedData.value, (res) => {
301
+ this.setValueCallback(customizeObjectChangedData.id, res);
302
+ });
303
+ }
304
+ onCustomizeFieldClick(fieldClickEvent) {
305
+ let handledEvent = false;
306
+ // For the new custom form, the plus and minus events transform in the IPepFormFieldValueChangeEvent
307
+ if (fieldClickEvent.controlType === 'qs') {
308
+ if (fieldClickEvent.value === PepQuantitySelectorComponent.PLUS) {
309
+ handledEvent = true;
310
+ this.internalPageService.childPlusClick(fieldClickEvent.id, fieldClickEvent.key, (res) => {
311
+ this.setValueCallback(fieldClickEvent.id, res);
312
+ });
313
+ }
314
+ else if (fieldClickEvent.value === PepQuantitySelectorComponent.MINUS) {
315
+ handledEvent = true;
316
+ this.internalPageService.childMinusClick(fieldClickEvent.id, fieldClickEvent.key, (res) => {
317
+ this.setValueCallback(fieldClickEvent.id, res);
318
+ });
319
+ }
320
+ }
321
+ if (!handledEvent) {
322
+ this.internalFormFieldClick.emit(fieldClickEvent);
323
+ }
324
+ }
325
+ }
326
+ PepInternalPageComponent.CURRENT_ADDITIONAL_API_NAME = 'item_details_currentAdditionalApiName';
327
+ PepInternalPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepInternalPageComponent, deps: [{ token: i1.PepDialogService }, { token: i2.PepInternalPageService }, { token: i3.PepCustomizationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
328
+ PepInternalPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepInternalPageComponent, selector: "pep-internal-page", inputs: { field: "field", layoutType: "layoutType" }, outputs: { internalFormFieldChange: "internalFormFieldChange", internalFormFieldClick: "internalFormFieldClick" }, providers: [PepInternalPageService], viewQueries: [{ propertyName: "my1mm", first: true, predicate: ["my1mm"], descendants: true }, { propertyName: "mainViewCont", first: true, predicate: ["mainViewCont"], descendants: true }, { propertyName: "orgCont", first: true, predicate: ["orgCont"], descendants: true, read: ViewContainerRef }, { propertyName: "dialogCont", first: true, predicate: ["dialogCont"], descendants: true, read: ViewContainerRef }, { propertyName: "matrixTemplate", first: true, predicate: ["matrixTemplate"], descendants: true }, { propertyName: "matrixDialogTemplate", first: true, predicate: ["matrixDialogTemplate"], descendants: true, read: TemplateRef }, { propertyName: "customList", first: true, predicate: PepInternalListComponent, descendants: true }], ngImport: i0, template: "<ng-template #matrixHeaderTemplate>\n <div class=\"matrix-title-container pep-border-bottom align-{{\n field.xAlignment\n }}\" title=\"{{ field.label }}\">\n <span class=\"block-with-text body-md\">{{ field.label }}</span>\n\n <div class=\"buttons-container pep-spacing-element-negative pull-right flip\">\n <ng-container *ngIf=\"\n currentViewType?.Key == 'OrderCenterMatrix' &&\n additionalApiNames &&\n additionalApiNames.length > 0\n \">\n <button class=\"pep-spacing-element pep-button icon-button sm weak\" mat-button [matMenuTriggerFor]=\"menu\"\n menu-blur>\n <span class=\"pull-left flip\" *ngIf=\"currentAdditionalApiName\">&nbsp;{{\n currentAdditionalApiName?.Value }}&nbsp;</span>\n\n <mat-icon [ngClass]=\"{'pull-left flip': currentAdditionalApiName}\">\n <pep-icon name=\"system_info\"></pep-icon>\n </mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\" xPosition=\"before\">\n <button mat-menu-item [ngClass]=\"{\n selected: currentAdditionalApiName === null\n }\" (click)=\"changeAdditionalApiName(null)\">\n <span>{{ \"LIST.NONE\" | translate }}</span>\n </button>\n <button mat-menu-item [ngClass]=\"{\n selected:\n currentAdditionalApiName?.Key ==\n additionalApiName?.Key\n }\" *ngFor=\"let additionalApiName of additionalApiNames\"\n (click)=\"changeAdditionalApiName(additionalApiName)\">\n <span>{{ additionalApiName.Value }}</span>\n </button>\n </mat-menu>\n </ng-container>\n <ng-container *ngIf=\"childViewTypes && childViewTypes.length > 1\">\n <button class=\"pep-spacing-element pep-button icon-button sm weak\" mat-button\n [matMenuTriggerFor]=\"viewsMenu\" menu-blur>\n <mat-icon>\n <pep-icon name=\"view_card_md\"></pep-icon>\n </mat-icon>\n </button>\n\n <mat-menu #viewsMenu=\"matMenu\" xPosition=\"before\">\n <button mat-menu-item [ngClass]=\"{\n selected: currentViewType?.Key == viewType?.Key\n }\" *ngFor=\"let viewType of childViewTypes\" (click)=\"changeChildrenViewType(viewType?.Key)\">\n <mat-icon [ngSwitch]=\"viewType?.Key\">\n <pep-icon *ngSwitchCase=\"'OrderCenterMatrix'\" name=\"view_matrix\"></pep-icon>\n <pep-icon *ngSwitchCase=\"'OrderCenterFlatMatrixGrid'\" name=\"view_table\"></pep-icon>\n <pep-icon *ngSwitchCase=\"'OrderCenterFlatMatrixLine'\" name=\"view_line\"></pep-icon>\n </mat-icon>\n <span>{{ viewType?.Value }}</span>\n </button>\n </mat-menu>\n </ng-container>\n </div>\n </div>\n\n</ng-template>\n\n<ng-template #matrixTemplate>\n <div #matrixContainer class=\"matrix-container\">\n <pep-internal-list (valueChange)=\"onCustomizeObjectChanged($event)\" [parentScroll]=\"matrixContainer\"\n (fieldClick)=\"onCustomizeFieldClick($event)\" [totalsRow]=\"totalsRow\"></pep-internal-list>\n </div>\n</ng-template>\n\n<div #mainViewCont id=\"mainViewCont\" [ngStyle]=\"{ 'max-width': viewWidth, 'max-height': viewHeight }\">\n <div #my1mm id=\"my1_mm\" style=\"height:1mm;width:1mm;visibility: hidden;\"></div>\n <ng-container *ngIf=\"coverChildTable && uiControl != null\">\n <div class=\"table-cover\"></div>\n <button (click)=\"showMatrixDialog()\" class=\"pep-button strong sm table-cover-button\"\n [ngClass]=\"{ 'lineview-btn': currentViewType?.Key == 'OrderCenterFlatMatrixLine'}\">\n {{ \"INTERNAL_PAGE.CLICK_TO_ORDER\" | translate }}\n </button>\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"matrixHeaderTemplate\"></ng-container>\n <ng-container #orgCont></ng-container>\n</div>\n\n<ng-template #matrixDialogTemplate>\n\n <div mat-dialog-title>\n <ng-container *ngTemplateOutlet=\"matrixHeaderTemplate\"></ng-container>\n </div>\n\n <div mat-dialog-content>\n <ng-container #dialogCont></ng-container>\n </div>\n</ng-template>\n\n<!-- <div id=\"childGridModal\" bsModal (onShown)=\"onShown()\" (onHidden)=\"onHidden()\" #childModal=\"bs-modal\" class=\"modal\"\n tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"gridModalLabel\" aria-hidden=\"true\">\n <div class=\"modal-dialog\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-body matrix-dialog-body\">\n <ng-container #modalCont></ng-container>\n </div>\n </div>\n </div>\n</div> -->", styles: [":host{display:grid;width:inherit;height:inherit}.matrix-title-container{padding:0;height:var(--pep-form-field-height, 2.5rem);display:flex;align-items:flex-end}.matrix-title-container .block-with-text{width:100%;max-height:inherit;font-weight:var(--pep-font-weight-bold, 600);display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.matrix-title-container .buttons-container{display:flex;align-self:center}.matrix-title-container .buttons-container .pepperi-button,.matrix-title-container .buttons-container .pep-button{width:max-content}#mainViewCont{width:100%;height:inherit;overflow:hidden;padding:0 var(--pep-spacing-xs, .25rem)}#mainViewCont .table-cover{background-color:#fff;z-index:98;position:absolute;top:0;width:100%;height:inherit;opacity:.5}#mainViewCont .table-cover-button{position:absolute;left:50%;transform:translate(-50%,-50%);top:calc(50% + var(--pep-form-field-height, 2.5rem));z-index:99}#mainViewCont .table-cover-button.lineview-btn{top:calc(2 * var(--pep-form-field-height, 2.5rem));transform:translate(-50%)}#mainViewCont .underCover{max-height:inherit;overflow:hidden}#mainViewCont ::ng-deep .table-header{top:unset!important}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i5.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: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i7.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i7.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i8.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i9.PepInternalListComponent, selector: "pep-internal-list", inputs: ["noDataFoundMsg", "hideAllSelectionInMulti", "top", "objectId", "parentId", "searchCode", "supportResizing", "parentScroll", "disabled", "disableEvents", "disableSelectionItems", "totalsRow"], outputs: ["fieldClick", "valueChange"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
329
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepInternalPageComponent, decorators: [{
330
+ type: Component,
331
+ args: [{ selector: 'pep-internal-page', providers: [PepInternalPageService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #matrixHeaderTemplate>\n <div class=\"matrix-title-container pep-border-bottom align-{{\n field.xAlignment\n }}\" title=\"{{ field.label }}\">\n <span class=\"block-with-text body-md\">{{ field.label }}</span>\n\n <div class=\"buttons-container pep-spacing-element-negative pull-right flip\">\n <ng-container *ngIf=\"\n currentViewType?.Key == 'OrderCenterMatrix' &&\n additionalApiNames &&\n additionalApiNames.length > 0\n \">\n <button class=\"pep-spacing-element pep-button icon-button sm weak\" mat-button [matMenuTriggerFor]=\"menu\"\n menu-blur>\n <span class=\"pull-left flip\" *ngIf=\"currentAdditionalApiName\">&nbsp;{{\n currentAdditionalApiName?.Value }}&nbsp;</span>\n\n <mat-icon [ngClass]=\"{'pull-left flip': currentAdditionalApiName}\">\n <pep-icon name=\"system_info\"></pep-icon>\n </mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\" xPosition=\"before\">\n <button mat-menu-item [ngClass]=\"{\n selected: currentAdditionalApiName === null\n }\" (click)=\"changeAdditionalApiName(null)\">\n <span>{{ \"LIST.NONE\" | translate }}</span>\n </button>\n <button mat-menu-item [ngClass]=\"{\n selected:\n currentAdditionalApiName?.Key ==\n additionalApiName?.Key\n }\" *ngFor=\"let additionalApiName of additionalApiNames\"\n (click)=\"changeAdditionalApiName(additionalApiName)\">\n <span>{{ additionalApiName.Value }}</span>\n </button>\n </mat-menu>\n </ng-container>\n <ng-container *ngIf=\"childViewTypes && childViewTypes.length > 1\">\n <button class=\"pep-spacing-element pep-button icon-button sm weak\" mat-button\n [matMenuTriggerFor]=\"viewsMenu\" menu-blur>\n <mat-icon>\n <pep-icon name=\"view_card_md\"></pep-icon>\n </mat-icon>\n </button>\n\n <mat-menu #viewsMenu=\"matMenu\" xPosition=\"before\">\n <button mat-menu-item [ngClass]=\"{\n selected: currentViewType?.Key == viewType?.Key\n }\" *ngFor=\"let viewType of childViewTypes\" (click)=\"changeChildrenViewType(viewType?.Key)\">\n <mat-icon [ngSwitch]=\"viewType?.Key\">\n <pep-icon *ngSwitchCase=\"'OrderCenterMatrix'\" name=\"view_matrix\"></pep-icon>\n <pep-icon *ngSwitchCase=\"'OrderCenterFlatMatrixGrid'\" name=\"view_table\"></pep-icon>\n <pep-icon *ngSwitchCase=\"'OrderCenterFlatMatrixLine'\" name=\"view_line\"></pep-icon>\n </mat-icon>\n <span>{{ viewType?.Value }}</span>\n </button>\n </mat-menu>\n </ng-container>\n </div>\n </div>\n\n</ng-template>\n\n<ng-template #matrixTemplate>\n <div #matrixContainer class=\"matrix-container\">\n <pep-internal-list (valueChange)=\"onCustomizeObjectChanged($event)\" [parentScroll]=\"matrixContainer\"\n (fieldClick)=\"onCustomizeFieldClick($event)\" [totalsRow]=\"totalsRow\"></pep-internal-list>\n </div>\n</ng-template>\n\n<div #mainViewCont id=\"mainViewCont\" [ngStyle]=\"{ 'max-width': viewWidth, 'max-height': viewHeight }\">\n <div #my1mm id=\"my1_mm\" style=\"height:1mm;width:1mm;visibility: hidden;\"></div>\n <ng-container *ngIf=\"coverChildTable && uiControl != null\">\n <div class=\"table-cover\"></div>\n <button (click)=\"showMatrixDialog()\" class=\"pep-button strong sm table-cover-button\"\n [ngClass]=\"{ 'lineview-btn': currentViewType?.Key == 'OrderCenterFlatMatrixLine'}\">\n {{ \"INTERNAL_PAGE.CLICK_TO_ORDER\" | translate }}\n </button>\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"matrixHeaderTemplate\"></ng-container>\n <ng-container #orgCont></ng-container>\n</div>\n\n<ng-template #matrixDialogTemplate>\n\n <div mat-dialog-title>\n <ng-container *ngTemplateOutlet=\"matrixHeaderTemplate\"></ng-container>\n </div>\n\n <div mat-dialog-content>\n <ng-container #dialogCont></ng-container>\n </div>\n</ng-template>\n\n<!-- <div id=\"childGridModal\" bsModal (onShown)=\"onShown()\" (onHidden)=\"onHidden()\" #childModal=\"bs-modal\" class=\"modal\"\n tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"gridModalLabel\" aria-hidden=\"true\">\n <div class=\"modal-dialog\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-body matrix-dialog-body\">\n <ng-container #modalCont></ng-container>\n </div>\n </div>\n </div>\n</div> -->", styles: [":host{display:grid;width:inherit;height:inherit}.matrix-title-container{padding:0;height:var(--pep-form-field-height, 2.5rem);display:flex;align-items:flex-end}.matrix-title-container .block-with-text{width:100%;max-height:inherit;font-weight:var(--pep-font-weight-bold, 600);display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.matrix-title-container .buttons-container{display:flex;align-self:center}.matrix-title-container .buttons-container .pepperi-button,.matrix-title-container .buttons-container .pep-button{width:max-content}#mainViewCont{width:100%;height:inherit;overflow:hidden;padding:0 var(--pep-spacing-xs, .25rem)}#mainViewCont .table-cover{background-color:#fff;z-index:98;position:absolute;top:0;width:100%;height:inherit;opacity:.5}#mainViewCont .table-cover-button{position:absolute;left:50%;transform:translate(-50%,-50%);top:calc(50% + var(--pep-form-field-height, 2.5rem));z-index:99}#mainViewCont .table-cover-button.lineview-btn{top:calc(2 * var(--pep-form-field-height, 2.5rem));transform:translate(-50%)}#mainViewCont .underCover{max-height:inherit;overflow:hidden}#mainViewCont ::ng-deep .table-header{top:unset!important}\n"] }]
332
+ }], ctorParameters: function () { return [{ type: i1.PepDialogService }, { type: i2.PepInternalPageService }, { type: i3.PepCustomizationService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { field: [{
333
+ type: Input
334
+ }], layoutType: [{
335
+ type: Input
336
+ }], internalFormFieldChange: [{
337
+ type: Output
338
+ }], internalFormFieldClick: [{
339
+ type: Output
340
+ }], my1mm: [{
341
+ type: ViewChild,
342
+ args: ['my1mm']
343
+ }], mainViewCont: [{
344
+ type: ViewChild,
345
+ args: ['mainViewCont']
346
+ }], orgCont: [{
347
+ type: ViewChild,
348
+ args: ['orgCont', { read: ViewContainerRef }]
349
+ }], dialogCont: [{
350
+ type: ViewChild,
351
+ args: ['dialogCont', { read: ViewContainerRef }]
352
+ }], matrixTemplate: [{
353
+ type: ViewChild,
354
+ args: ['matrixTemplate']
355
+ }], matrixDialogTemplate: [{
356
+ type: ViewChild,
357
+ args: ['matrixDialogTemplate', { read: TemplateRef }]
358
+ }], customList: [{
359
+ type: ViewChild,
360
+ args: [PepInternalListComponent]
361
+ }] } });
362
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2Zvcm0vaW50ZXJuYWwtcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2Zvcm0vaW50ZXJuYWwtcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUdULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFNBQVMsRUFFVCxnQkFBZ0IsRUFDaEIsV0FBVyxFQUNYLHVCQUF1QixHQUUxQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVqRSxPQUFPLEVBT0gsVUFBVSxHQUNiLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUNILHdCQUF3QixHQUUzQixNQUFNLDJCQUEyQixDQUFDO0FBTW5DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7Ozs7Ozs7QUFTekYsTUFBTSxPQUFPLHdCQUF3QjtJQXVEakMsWUFDWSxhQUErQixFQUMvQixtQkFBMkMsRUFDNUMsb0JBQTZDLEVBQzVDLGlCQUFvQztRQUhwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0Isd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF3QjtRQUM1Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXlCO1FBQzVDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUF2RGhELGdCQUFXLEdBQUcsY0FBYyxDQUFDO1FBR3BCLGVBQVUsR0FBa0IsTUFBTSxDQUFDO1FBRzVDLDRCQUF1QixHQUFzQixJQUFJ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LE1BQU07Z0JBR2EsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPO2dCQUNTLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYztnQkFFeUIsT0FBTztzQkFBeEQsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBRWhELFVBQVU7c0JBRFQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBRXRCLGNBQWM7c0JBQTFDLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUUzQixvQkFBb0I7c0JBRG5CLFNBQVM7dUJBQUMsc0JBQXNCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUl4RCxVQUFVO3NCQURULFNBQVM7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgT25Jbml0LFxuICAgIE9uRGVzdHJveSxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIFZpZXdDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUGVwSW50ZXJuYWxQYWdlU2VydmljZSB9IGZyb20gJy4vaW50ZXJuYWwtcGFnZS5zZXJ2aWNlJztcblxuaW1wb3J0IHtcbiAgICBQZXBMYXlvdXRUeXBlLFxuICAgIFVJQ29udHJvbCxcbiAgICBLZXlWYWx1ZVBhaXIsXG4gICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgVUlDb250cm9sRmllbGQsXG4gICAgT2JqZWN0c0RhdGEsXG4gICAgRklFTERfVFlQRSxcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHtcbiAgICBQZXBJbnRlcm5hbExpc3RDb21wb25lbnQsXG4gICAgUGVwTGlzdFZpZXdUeXBlLFxufSBmcm9tICcuL2ludGVybmFsLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7XG4gICAgSVBlcEZvcm1GaWVsZENsaWNrRXZlbnQsXG4gICAgSVBlcEZvcm1GaWVsZFZhbHVlQ2hhbmdlRXZlbnQsXG59IGZyb20gJy4vZm9ybS5tb2RlbCc7XG5pbXBvcnQgeyBQZXBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvZGlhbG9nJztcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUGVwUXVhbnRpdHlTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL3F1YW50aXR5LXNlbGVjdG9yJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtaW50ZXJuYWwtcGFnZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ludGVybmFsLXBhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ludGVybmFsLXBhZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtQZXBJbnRlcm5hbFBhZ2VTZXJ2aWNlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUGVwSW50ZXJuYWxQYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHN0YXRpYyBDVVJSRU5UX0FERElUSU9OQUxfQVBJX05BTUUgPVxuICAgICAgICAnaXRlbV9kZXRhaWxzX2N1cnJlbnRBZGRpdGlvbmFsQXBpTmFtZSc7XG5cbiAgICBjb250cm9sVHlwZSA9ICdpbnRlcm5hbFBhZ2UnO1xuXG4gICAgQElucHV0KCkgZmllbGQ6IGFueTtcbiAgICBASW5wdXQoKSBsYXlvdXRUeXBlOiBQZXBMYXlvdXRUeXBlID0gJ2Zvcm0nO1xuXG4gICAgQE91dHB1dCgpXG4gICAgaW50ZXJuYWxGb3JtRmllbGRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpXG4gICAgaW50ZXJuYWxGb3JtRmllbGRDbGljazogRXZlbnRFbWl0dGVyPElQZXBGb3JtRmllbGRDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcEZvcm1GaWVsZENsaWNrRXZlbnQ+KCk7XG5cbiAgICBAVmlld0NoaWxkKCdteTFtbScpIG15MW1tOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ21haW5WaWV3Q29udCcpIG1haW5WaWV3Q29udDogRWxlbWVudFJlZjtcblxuICAgIEBWaWV3Q2hpbGQoJ29yZ0NvbnQnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgb3JnQ29udDogVmlld0NvbnRhaW5lclJlZjtcbiAgICBAVmlld0NoaWxkKCdkaWFsb2dDb250JywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pXG4gICAgZGlhbG9nQ29udDogVmlld0NvbnRhaW5lclJlZjtcbiAgICBAVmlld0NoaWxkKCdtYXRyaXhUZW1wbGF0ZScpIG1hdHJpeFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoJ21hdHJpeERpYWxvZ1RlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICAgIG1hdHJpeERpYWxvZ1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQFZpZXdDaGlsZChQZXBJbnRlcm5hbExpc3RDb21wb25lbnQpXG4gICAgY3VzdG9tTGlzdDogUGVwSW50ZXJuYWxMaXN0Q29tcG9uZW50O1xuXG4gICAgcmVzaXplOiBhbnk7XG4gICAgY2hlY2tGb3JDaGFuZ2VzOiBhbnkgPSBudWxsO1xuXG4gICAgY2hpbGREYXRhOiBhbnkgPSBudWxsO1xuXG4gICAgZW1wdHlGb3JtOiBGb3JtR3JvdXA7XG4gICAgdWlDb250cm9sOiBVSUNvbnRyb2w7XG4gICAgcm93czogYW55O1xuICAgIGxpbmVWaWV3Um93czogYW55O1xuICAgIHRvdGFsc1JvdzogYW55ID0gW107XG4gICAgYWRkaXRpb25hbEFwaU5hbWVzOiBhbnkgPSBudWxsO1xuICAgIGN1cnJlbnRBZGRpdGlvbmFsQXBpTmFtZTogYW55ID0gbnVsbDtcbiAgICBmb2N1c2VkUVMgPSBmYWxzZTtcbiAgICBmaWVsZElkV2l0aEZvY3VzID0gJyc7XG4gICAgY29sdW1uV2lkdGggPSAxMDA7XG4gICAgY292ZXJDaGlsZFRhYmxlID0gZmFsc2U7XG4gICAgY2hpbGRWaWV3VHlwZXM6IEFycmF5PEtleVZhbHVlUGFpcjxzdHJpbmc+PjtcbiAgICBjdXJyZW50Vmlld1R5cGU6IEtleVZhbHVlUGFpcjxzdHJpbmc+ID0gbnVsbDtcbiAgICBjdXJyZW50Vmlld1R5cGVUaXRsZTogc3RyaW5nO1xuICAgIHN1bU9mTWluQ29sV2lkdGggPSAwO1xuICAgIHRvdGFsUm93c1dpZHRoID0gMDtcbiAgICB2aWV3V2lkdGggPSAnMTAwJSc7XG4gICAgdmlld0hlaWdodCA9ICdhdXRvJztcbiAgICBkaXNwbGF5UVNidG5zID0gdHJ1ZTtcbiAgICBzZWxlY3RlZEFwaU5hbWUgPSAnJztcbiAgICBzaG93U29ydCA9IGZhbHNlO1xuICAgIGRlZmF1bHRSb3dTcGFuID0gLTE7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBQZXBEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGludGVybmFsUGFnZVNlcnZpY2U6IFBlcEludGVybmFsUGFnZVNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBjdXN0b21pemF0aW9uU2VydmljZTogUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7IH1cblxuICAgIHByaXZhdGUgZmlsbERhdGEoaXNJbkRpYWxvZyA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZpZXcgPSB0aGlzLm1hdHJpeFRlbXBsYXRlLmNyZWF0ZUVtYmVkZGVkVmlldyhudWxsKTtcblxuICAgICAgICB0aGlzLmN1c3RvbUxpc3Q/LmNsZWFyKCk7XG4gICAgICAgIHRoaXMub3JnQ29udD8uY2xlYXIoKTtcblxuICAgICAgICBpZiAoaXNJbkRpYWxvZykge1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dDb250Py5jbGVhcigpO1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dDb250Py5pbnNlcnQodmlldyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9yZ0NvbnQ/Lmluc2VydCh2aWV3KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgdmlld1R5cGU6IFBlcExpc3RWaWV3VHlwZSA9IHRoaXMuaXNUYWJsZVZpZXcoKVxuICAgICAgICAgICAgICAgID8gJ3RhYmxlJ1xuICAgICAgICAgICAgICAgIDogJ2xpbmVzJztcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tTGlzdC5pbml0TGlzdERhdGEoXG4gICAgICAgICAgICAgICAgdGhpcy51aUNvbnRyb2wsXG4gICAgICAgICAgICAgICAgdGhpcy5jaGlsZERhdGEuVG90YWxSb3dzLFxuICAgICAgICAgICAgICAgIHRoaXMuY2hpbGREYXRhLlJvd3MsXG4gICAgICAgICAgICAgICAgdmlld1R5cGVcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLnNldFRvdGFsc1JvdygpO1xuXG4gICAgICAgICAgICAvLyBpZiAoIXRoaXMuY2hpbGRNb2RhbC5pc1Nob3duKSB7XG4gICAgICAgICAgICBjb25zdCBjaGlsZHJlbkNvdW50ID0gdGhpcy5jaGlsZERhdGEuUm93c1xuICAgICAgICAgICAgICAgID8gdGhpcy5jaGlsZERhdGEuUm93cy5sZW5ndGhcbiAgICAgICAgICAgICAgICA6IDA7XG4gICAgICAgICAgICBjb25zdCBpc0V2ZW4gPSBjaGlsZHJlbkNvdW50ICUgMiA9PT0gMDtcbiAgICAgICAgICAgIC8vIDMgZm9yIG1hdHJpeCAmIGZsYXQgbWF0cml4IGJlY2F1c2UgdGhlIGhlYWRlciArIHRvdGFsIGlzIDIgbW9yZSByb3dzLlxuICAgICAgICAgICAgY29uc3Qgcm93c1RvQWRkID1cbiAgICAgICAgICAgICAgICB0aGlzLmlzTWF0cml4VmlldygpIHx8IHRoaXMuaXNGbGF0TWF0cml4VmlldygpXG4gICAgICAgICAgICAgICAgICAgID8gaXNFdmVuXG4gICAgICAgICAgICAgICAgICAgICAgICA/IDNcbiAgICAgICAgICAgICAgICAgICAgICAgIDogNFxuICAgICAgICAgICAgICAgICAgICA6IDE7XG5cbiAgICAgICAgICAgIGNvbnN0IGZvcm1Sb3dIZWlnaHQgPVxuICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9taXphdGlvblNlcnZpY2UuY2FsY3VsYXRlRm9ybUZpZWxkSGVpZ2h0KCkgKiAxNjsgLy8gY29udmVydCByZW0gdG8gcGl4ZWxcblxuICAgICAgICAgICAgLy8gU2V0IHRoZSBkZWZhdWx0IG9ubHkgaWYgbm90IHNldCB5ZXQuXG4gICAgICAgICAgICBpZiAodGhpcy5kZWZhdWx0Um93U3BhbiA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRSb3dTcGFuID0gdGhpcy5maWVsZC5yb3dTcGFuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnN1bU9mTWluQ29sV2lkdGggPSAwO1xuICAgICAgICAgICAgdGhpcy50b3RhbFJvd3NXaWR0aCA9IDA7XG5cbiAgICAgICAgICAgIHRoaXMuY2hpbGREYXRhLlVJQ29udHJvbC5Db250cm9sRmllbGRzLmZvckVhY2goXG4gICAgICAgICAgICAgICAgKHVpQ29udHJvbEZpZWxkOiBVSUNvbnRyb2xGaWVsZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvdGFsUm93c1dpZHRoICs9IHVpQ29udHJvbEZpZWxkLkNvbHVtbldpZHRoO1xuICAgICAgICAgICAgICAgICAgICB1aUNvbnRyb2xGaWVsZC5taW5GaWVsZFdpZHRoID0gdGhpcy5tbVRvUHgoMTIpOyAvLyBORUVEIFRPIEdFVCBUSElTIFBBUkFNIEZST00gQ1VTVE9NSVpBVElPTjtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdW1PZk1pbkNvbFdpZHRoICs9IDEyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHRoaXMuc2V0Vmlld0NvdmVyKHRoaXMuY2hpbGREYXRhLlJvd3MpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5jb3ZlckNoaWxkVGFibGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpZWxkLnJvd1NwYW4gPSB0aGlzLmRlZmF1bHRSb3dTcGFuO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBGb3IgbGluZSB2aWV3IEFkZCB0aGUgaGVpZ2h0IG9mIHRoZSBsaW5lIChmb3JtIGhlaWdodCkuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudFZpZXdUeXBlLktleSA9PT0gJ09yZGVyQ2VudGVyRmxhdE1hdHJpeExpbmUnKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1heFJvdyA9IE1hdGgubWF4KFxuICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy51aUNvbnRyb2wuQ29udHJvbEZpZWxkcy5tYXAoKGYpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZi5MYXlvdXQuWSArIGYuTGF5b3V0LkhlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gKiAxNiBjb252ZXJ0IHJlbSB0byBwaXhlbFxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjYXJkUm93c0hlaWdodCA9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLmNhbGN1bGF0ZUNhcmRSb3dzSGVpZ2h0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heFJvd1xuICAgICAgICAgICAgICAgICAgICAgICAgKSAqIDE2O1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIG1heFJvdyAqIDI0ICsgNjAgLSAyNCBmb3IgZWFjaCByb3cgaW4gY2FyZCArIDYwIGZvciB0aGUgcGFkZGluZyBvZiBlYWNoIGNhcmQuXG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnN0IHJvd1NwYW5Ub0FkZCA9IE1hdGguZmxvb3IoY2hpbGRyZW5Db3VudCAqICgoY2FyZFJvd3NIZWlnaHQgKyA1NikgLyBmb3JtUm93SGVpZ2h0KSArIHJvd3NUb0FkZCk7XG4gICAgICAgICAgICAgICAgICAgIC8vICsgMTYgaXMgdGhlIDFyZW0gbWFyZ2luIG91dHNpZGUgY2FyZC5cbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm93U3BhblRvQWRkID1cbiAgICAgICAgICAgICAgICAgICAgICAgIChjaGlsZHJlbkNvdW50ICogKGNhcmRSb3dzSGVpZ2h0ICsgMTYpKSAvXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtUm93SGVpZ2h0ICtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvd3NUb0FkZDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZC5yb3dTcGFuID0gcm93U3BhblRvQWRkO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnN0IHRhYmxlUm93c0hlaWdodCA9IHRoaXMuY3VzdG9taXphdGlvblNlcnZpY2UuY2FsY3VsYXRlVGFibGVSb3dzSGVpZ2h0KGNoaWxkcmVuQ291bnQpICogMTY7XG4gICAgICAgICAgICAgICAgICAgIC8vIHRoaXMuZmllbGQucm93U3BhbiA9IE1hdGguY2VpbCgodGFibGVSb3dzSGVpZ2h0ICsgKHJvd3NUb0FkZCAqIDQwKSkgLyBmb3JtUm93SGVpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgLy8gKiAxNiBjb252ZXJ0IHJlbSB0byBwaXhlbFxuICAgICAgICAgICAgICAgICAgICBjb25zdCByb3dzVG9BZGRIZWlnaHQgPVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXN0b21pemF0aW9uU2VydmljZS5jYWxjdWxhdGVUYWJsZVJvd3NIZWlnaHQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcm93c1RvQWRkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICApICogMTY7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhYmxlUm93c0hlaWdodCA9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLmNhbGN1bGF0ZVRhYmxlUm93c0hlaWdodChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbkNvdW50XG4gICAgICAgICAgICAgICAgICAgICAgICApICogMTY7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGQucm93U3BhbiA9XG4gICAgICAgICAgICAgICAgICAgICAgICAocm93c1RvQWRkSGVpZ2h0ICsgdGFibGVSb3dzSGVpZ2h0KSAvIGZvcm1Sb3dIZWlnaHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9LCAwKTtcblxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmlsbENoaWxkRGF0YShyZXM6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoaWxkRGF0YSA9IHJlcztcbiAgICAgICAgdGhpcy51aUNvbnRyb2wgPSByZXMuVUlDb250cm9sO1xuICAgICAgICB0aGlzLmFkZGl0aW9uYWxBcGlOYW1lcyA9IHJlcy5BZGRpdGlvbmFsQXBpTmFtZXM7XG5cbiAgICAgICAgdGhpcy5maWxsRGF0YSgpO1xuICAgIH1cblxuICAgIG1tVG9QeChtbSk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGhlaWdodCA9IHRoaXMubXkxbW0ubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XG4gICAgICAgIHJldHVybiBNYXRoLmZsb29yKG1tICogaGVpZ2h0KTsgLy8gcmV0dXJucyBzaXplcyBpbiBQWFxuICAgIH1cblxuICAgIHByaXZhdGUgaXNNYXRyaXhWaWV3KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5jdXJyZW50Vmlld1R5cGUgJiZcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFZpZXdUeXBlLktleSA9PT0gJ09yZGVyQ2VudGVyTWF0cml4J1xuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNGbGF0TWF0cml4VmlldygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFZpZXdUeXBlICYmXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRWaWV3VHlwZS5LZXkgPT09ICdPcmRlckNlbnRlckZsYXRNYXRyaXhHcmlkJ1xuICAgICAgICApO1xuICAgIH1cblxuICAgIGlzVGFibGVWaWV3KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc01hdHJpeFZpZXcoKSB8fCB0aGlzLmlzRmxhdE1hdHJpeFZpZXcoKTtcbiAgICB9XG5cbiAgICBjaGFuZ2VDaGlsZHJlblZpZXdUeXBlKHZpZXdUeXBlS2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yb3dzID0gW107XG4gICAgICAgIHRoaXMudWlDb250cm9sID0gbnVsbDtcblxuICAgICAgICBmb3IgKGNvbnN0IHZ0IG9mIHRoaXMuY2hpbGRWaWV3VHlwZXMpIHtcbiAgICAgICAgICAgIGlmICh2dC5LZXkgPT09IHZpZXdUeXBlS2V5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50Vmlld1R5cGUgPSB2dDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY3VycmVudFZpZXdUeXBlVGl0bGUgPSB0aGlzLmN1cnJlbnRWaWV3VHlwZS5WYWx1ZTtcblxuICAgICAgICB0aGlzLmludGVybmFsUGFnZVNlcnZpY2UuY2hhbmdlQ2hpbGRyZW5WaWV3VHlwZShcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFZpZXdUeXBlLktleSxcbiAgICAgICAgICAgIChyZXM6IE9iamVjdHNEYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlcy5Sb3dzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsbENoaWxkRGF0YShyZXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBzZXRWaWV3Q292ZXIocm93cyk6IHZvaWQge1xuICAgICAgICBpZiAoIXJvd3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1hdHJpeENvbnQgPSB0aGlzLm1haW5WaWV3Q29udC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCB2aWV3V2lkdGggPSBtYXRyaXhDb250LmNsaWVudFdpZHRoO1xuXG4gICAgICAgIHRoaXMudmlld1dpZHRoID0gdmlld1dpZHRoID8gdmlld1dpZHRoLnRvU3RyaW5nKCkgOiAnMTAwJSc7XG5cbiAgICAgICAgLy8gaWYgdGhlIG1hdHJpeCBsb2NhdGVkIG9uIHRoZSBib3R0b20gLyB0aGVyZSBpcyBub3RoaW5nIHVuZGVyIHRoZSBtYXRyaXggd2UgZG9udCBuZWVkIHRvIGNoZWNrIHRoZSBoZWlnaHRcbiAgICAgICAgaWYgKHBhcnNlSW50KHZpZXdXaWR0aCwgMTApIDwgdGhpcy5tbVRvUHgodGhpcy5zdW1PZk1pbkNvbFdpZHRoKSkge1xuICAgICAgICAgICAgdGhpcy5jb3ZlckNoaWxkVGFibGUgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jb3ZlckNoaWxkVGFibGUgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgc2hvd01hdHJpeERpYWxvZygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5kaWFsb2dTZXJ2aWNlLmdldERpYWxvZ0NvbmZpZyhcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICdsYXJnZSdcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbkRpYWxvZyhcbiAgICAgICAgICAgIHRoaXMubWF0cml4RGlhbG9nVGVtcGxhdGUsXG4gICAgICAgICAgICB7fSxcbiAgICAgICAgICAgIGNvbmZpZ1xuICAgICAgICApO1xuXG4gICAgICAgIGRpYWxvZ1JlZi5hZnRlck9wZW5lZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZpbGxEYXRhKHRydWUpO1xuICAgICAgICB9KTtcblxuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZpbGxEYXRhKGZhbHNlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIGxldCBmaWVsZCA9IHRoaXMuZmllbGQgYXMgUGVwSW50ZXJuYWxQYWdlRmllbGQ7XG5cbiAgICAgICAgdGhpcy5pbnRlcm5hbFBhZ2VTZXJ2aWNlLmluaXREZXRhaWxzKFxuICAgICAgICAgICAgdGhpcy5maWVsZC5vYmplY3RJZCxcbiAgICAgICAgICAgIHRoaXMuZmllbGQucGFyZW50SWQsXG4gICAgICAgICAgICB0aGlzLmZpZWxkLnNlYXJjaENvZGUsXG4gICAgICAgICAgICAocmVzVmlld1R5cGVzOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBteSBjb2RlIERJLTcxMzRcbiAgICAgICAgICAgICAgICByZXNWaWV3VHlwZXMuUm93cyA9IHJlc1ZpZXdUeXBlcy5Sb3dzLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgKGl0ZW0pID0+IGl0ZW0uS2V5ICE9PSAnT3JkZXJDZW50ZXJWaWV3MSdcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgaWYgKHJlc1ZpZXdUeXBlcy5Sb3dzICYmIHJlc1ZpZXdUeXBlcy5Sb3dzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZXNWaWV3VHlwZXMuRGVmYXVsdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzVmlld1R5cGVzLkRlZmF1bHQgPSByZXNWaWV3VHlwZXMuUm93c1swXS5LZXk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGlsZFZpZXdUeXBlcyA9IHJlc1ZpZXdUeXBlcy5Sb3dzO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRWaWV3VHlwZSA9IHJlc1ZpZXdUeXBlcy5Sb3dzWzBdO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzVmlld1R5cGVzLlJvd3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCB2aWV3VHlwZVJvdyBvZiByZXNWaWV3VHlwZXMuUm93cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZpZXdUeXBlUm93LlZhbHVlID09PSByZXNWaWV3VHlwZXMuRGVmYXVsdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFZpZXdUeXBlID0gdmlld1R5cGVSb3c7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRMYXN0QWRkaXRpb25hbEFwaU5hbWUoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VDaGlsZHJlblZpZXdUeXBlKHRoaXMuY3VycmVudFZpZXdUeXBlLktleSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMucmVzaXplID0gZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpXG4gICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTApKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFZpZXdDb3Zlcih0aGlzLnJvd3MpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbG9hZExhc3RBZGRpdGlvbmFsQXBpTmFtZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGFhID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShcbiAgICAgICAgICAgIFBlcEludGVybmFsUGFnZUNvbXBvbmVudC5DVVJSRU5UX0FERElUSU9OQUxfQVBJX05BTUVcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGRhYSAmJiBkYWEubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgYWRkaXRpb25hbEFwaU5hbWUgPSBKU09OLnBhcnNlKGRhYSk7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRBZGRpdGlvbmFsQXBpTmFtZSA9IGFkZGl0aW9uYWxBcGlOYW1lO1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbFBhZ2VTZXJ2aWNlLmFkZGl0aW9uYWxBcGlOYW1lID0gYWRkaXRpb25hbEFwaU5hbWU/LktleTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5yZXNpemUpIHtcbiAgICAgICAgICAgIHRoaXMucmVzaXplLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGFuZ2VBZGRpdGlvbmFsQXBpTmFtZShhZGRpdGlvbmFsQXBpTmFtZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmludGVybmFsUGFnZVNlcnZpY2UuY2hhbmdlQWRkaXRpb25hbEFwaU5hbWUoXG4gICAgICAgICAgICBhZGRpdGlvbmFsQXBpTmFtZSA/IGFkZGl0aW9uYWxBcGlOYW1lLktleSA6ICcnLFxuICAgICAgICAgICAgKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHJlcy5Sb3dzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgcm93IG9mIHJlcy5Sb3dzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQ2hhbmdlcyhyb3cpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG5cbiAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcbiAgICAgICAgICAgIFBlcEludGVybmFsUGFnZUNvbXBvbmVudC5DVVJSRU5UX0FERElUSU9OQUxfQVBJX05BTUUsXG4gICAgICAgICAgICBKU09OLnN0cmluZ2lmeShhZGRpdGlvbmFsQXBpTmFtZSlcbiAgICAgICAgKTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudEFkZGl0aW9uYWxBcGlOYW1lID0gYWRkaXRpb25hbEFwaU5hbWU7XG4gICAgICAgIH0sIDApO1xuICAgIH1cblxuICAgIHNldFRvdGFsc1JvdygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50b3RhbHNSb3cgPSBbXTtcblxuICAgICAgICBpZiAodGhpcy5pc01hdHJpeFZpZXcoKSB8fCB0aGlzLmlzRmxhdE1hdHJpeFZpZXcoKSkge1xuICAgICAgICAgICAgbGV0IHRvdGFsQ29sID0gMDtcblxuICAgICAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLmN1c3RvbUxpc3QuaXRlbXM7XG4gICAgICAgICAgICBpZiAoaXRlbXMpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBjb2wgPSAwOyBjb2wgPCBpdGVtc1swXS5GaWVsZHMubGVuZ3RoOyBjb2wrKykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWVsZCA9IGl0ZW1zWzBdLkZpZWxkc1tjb2xdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZC5GaWVsZFR5cGUgPT09IEZJRUxEX1RZUEUuTnVtYmVySW50ZWdlckZvck1hdHJpeCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQuRmllbGRUeXBlID09PVxuICAgICAgICAgICAgICAgICAgICAgICAgRklFTERfVFlQRS5OdW1iZXJJbnRlZ2VyUXVhbnRpdHlTZWxlY3RvciB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQuRmllbGRUeXBlID09PSBGSUVMRF9UWVBFLk51bWJlclJlYWxGb3JNYXRyaXggfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkLkZpZWxkVHlwZSA9PT1cbiAgICAgICAgICAgICAgICAgICAgICAgIEZJRUxEX1RZUEUuTnVtYmVyUmVhbFF1YW50aXR5U2VsZWN0b3IgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkLkZpZWxkVHlwZSA9PT0gRklFTERfVFlQRS5DYWxjdWxhdGVkSW50IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZC5GaWVsZFR5cGUgPT09IEZJRUxEX1RZUEUuTnVtYmVySW50ZWdlciB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQuRmllbGRUeXBlID09PSBGSUVMRF9UWVBFLkNhbGN1bGF0ZWRSZWFsIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZC5GaWVsZFR5cGUgPT09IEZJRUxEX1RZUEUuTnVtYmVyUmVhbFxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsQ29sID0gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgbGlzdEl0ZW0gb2YgaXRlbXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RJdGVtLkZpZWxkc1tjb2xdICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RJdGVtLkZpZWxkc1tjb2xdLlZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG51bSA9IHBhcnNlRmxvYXQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0SXRlbS5GaWVsZHNbY29sXS5WYWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbENvbCArPSBpc05hTihudW0pID8gMCA6IG51bTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvdGFsc1Jvdy5wdXNoKHRvdGFsQ29sKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG90YWxzUm93LnB1c2goJycpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlQ2hhbmdlcyhlbGVtZW50VG9VcGRhdGU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1c3RvbUxpc3QudXBkYXRlSXRlbShlbGVtZW50VG9VcGRhdGUpO1xuXG4gICAgICAgIC8vIFVwZGF0ZSBtZW1vcnkgZGF0YVxuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdGhpcy5jaGlsZERhdGEuUm93cy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNoaWxkRGF0YS5Sb3dzW2luZGV4XS5VSUQgPT09IGVsZW1lbnRUb1VwZGF0ZS5VSUQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoaWxkRGF0YS5Sb3dzW2luZGV4XSA9IGVsZW1lbnRUb1VwZGF0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldFZhbHVlQ2FsbGJhY2soaWQ6IGFueSwgcmVzOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHJlcy5Sb3dzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgY29uc3QgZmllbGQgPSByZXMuUm93c1swXS5GaWVsZHMuZmluZCgoZikgPT4gZi5BcGlOYW1lID09PSAnT2JqZWN0TWVudScpO1xuICAgICAgICAgICAgaWYgKGZpZWxkKSB7XG4gICAgICAgICAgICAgICAgLy8gSEFDSyA6IFVudGlsIFwiRW5hYmxlZFwiIHJldHVybnMgZnJvbSB0aGUgc2VydmVyLCB3ZSBzZXQgUGVwTWVudSB0byBiZVxuICAgICAgICAgICAgICAgIC8vICAgICAgICBEaXNhYmxlZCBpbiBjYXJ0IG9uIHJlZ3VsYXIgaXRlbXMgYW5kIG5vdCBjYW1waWduIGl0ZW1zLlxuICAgICAgICAgICAgICAgIGZpZWxkLkVuYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNoYW5nZXMocmVzLlJvd3NbMF0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXRUb3RhbHNSb3coKTtcbiAgICAgICAgdGhpcy5jaGVja0ZvckNoYW5nZXMgPSBuZXcgRGF0ZSgpO1xuXG4gICAgICAgIC8vIERJLTE1OTg1XG4gICAgICAgIHRoaXMuaW50ZXJuYWxGb3JtRmllbGRDaGFuZ2UuZW1pdChyZXMpO1xuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgb25DdXN0b21pemVPYmplY3RDaGFuZ2VkKFxuICAgICAgICBjdXN0b21pemVPYmplY3RDaGFuZ2VkRGF0YTogSVBlcEZvcm1GaWVsZFZhbHVlQ2hhbmdlRXZlbnRcbiAgICApOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbFBhZ2VTZXJ2aWNlLmNoaWxkVmFsdWVDaGFuZ2VkKFxuICAgICAgICAgICAgY3VzdG9taXplT2JqZWN0Q2hhbmdlZERhdGEuaWQsXG4gICAgICAgICAgICBjdXN0b21pemVPYmplY3RDaGFuZ2VkRGF0YS5rZXksXG4gICAgICAgICAgICBjdXN0b21pemVPYmplY3RDaGFuZ2VkRGF0YS52YWx1ZSxcbiAgICAgICAgICAgIChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0VmFsdWVDYWxsYmFjayhjdXN0b21pemVPYmplY3RDaGFuZ2VkRGF0YS5pZCwgcmVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvbkN1c3RvbWl6ZUZpZWxkQ2xpY2soZmllbGRDbGlja0V2ZW50OiBJUGVwRm9ybUZpZWxkQ2xpY2tFdmVudCk6IHZvaWQge1xuICAgICAgICBsZXQgaGFuZGxlZEV2ZW50ID0gZmFsc2U7XG5cbiAgICAgICAgLy8gRm9yIHRoZSBuZXcgY3VzdG9tIGZvcm0sIHRoZSBwbHVzIGFuZCBtaW51cyBldmVudHMgdHJhbnNmb3JtIGluIHRoZSBJUGVwRm9ybUZpZWxkVmFsdWVDaGFuZ2VFdmVudFxuICAgICAgICBpZiAoZmllbGRDbGlja0V2ZW50LmNvbnRyb2xUeXBlID09PSAncXMnKSB7XG4gICAgICAgICAgICBpZiAoZmllbGRDbGlja0V2ZW50LnZhbHVlID09PSBQZXBRdWFudGl0eVNlbGVjdG9yQ29tcG9uZW50LlBMVVMpIHtcbiAgICAgICAgICAgICAgICBoYW5kbGVkRXZlbnQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxQYWdlU2VydmljZS5jaGlsZFBsdXNDbGljayhcbiAgICAgICAgICAgICAgICAgICAgZmllbGRDbGlja0V2ZW50LmlkLFxuICAgICAgICAgICAgICAgICAgICBmaWVsZENsaWNrRXZlbnQua2V5LFxuICAgICAgICAgICAgICAgICAgICAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0VmFsdWVDYWxsYmFjayhmaWVsZENsaWNrRXZlbnQuaWQsIHJlcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgICBmaWVsZENsaWNrRXZlbnQudmFsdWUgPT09IFBlcFF1YW50aXR5U2VsZWN0b3JDb21wb25lbnQuTUlOVVNcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGhhbmRsZWRFdmVudCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnRlcm5hbFBhZ2VTZXJ2aWNlLmNoaWxkTWludXNDbGljayhcbiAgICAgICAgICAgICAgICAgICAgZmllbGRDbGlja0V2ZW50LmlkLFxuICAgICAgICAgICAgICAgICAgICBmaWVsZENsaWNrRXZlbnQua2V5LFxuICAgICAgICAgICAgICAgICAgICAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0VmFsdWVDYWxsYmFjayhmaWVsZENsaWNrRXZlbnQuaWQsIHJlcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFoYW5kbGVkRXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxGb3JtRmllbGRDbGljay5lbWl0KGZpZWxkQ2xpY2tFdmVudCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI21hdHJpeEhlYWRlclRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJtYXRyaXgtdGl0bGUtY29udGFpbmVyIHBlcC1ib3JkZXItYm90dG9tIGFsaWduLXt7XG4gICAgICAgICAgICBmaWVsZC54QWxpZ25tZW50XG4gICAgICAgIH19XCIgdGl0bGU9XCJ7eyBmaWVsZC5sYWJlbCB9fVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImJsb2NrLXdpdGgtdGV4dCBib2R5LW1kXCI+e3sgZmllbGQubGFiZWwgfX08L3NwYW4+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnMtY29udGFpbmVyIHBlcC1zcGFjaW5nLWVsZW1lbnQtbmVnYXRpdmUgcHVsbC1yaWdodCBmbGlwXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRWaWV3VHlwZT8uS2V5ID09ICdPcmRlckNlbnRlck1hdHJpeCcgJiZcbiAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbEFwaU5hbWVzICYmXG4gICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxBcGlOYW1lcy5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInBlcC1zcGFjaW5nLWVsZW1lbnQgcGVwLWJ1dHRvbiBpY29uLWJ1dHRvbiBzbSB3ZWFrXCIgbWF0LWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiXG4gICAgICAgICAgICAgICAgICAgIG1lbnUtYmx1cj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwdWxsLWxlZnQgZmxpcFwiICpuZ0lmPVwiY3VycmVudEFkZGl0aW9uYWxBcGlOYW1lXCI+Jm5ic3A7e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRBZGRpdGlvbmFsQXBpTmFtZT8uVmFsdWUgfX0mbmJzcDs8L3NwYW4+XG5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIFtuZ0NsYXNzXT1cInsncHVsbC1sZWZ0IGZsaXAnOiBjdXJyZW50QWRkaXRpb25hbEFwaU5hbWV9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGVwLWljb24gbmFtZT1cInN5c3RlbV9pbmZvXCI+PC9wZXAtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCIgeFBvc2l0aW9uPVwiYmVmb3JlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGN1cnJlbnRBZGRpdGlvbmFsQXBpTmFtZSA9PT0gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiIChjbGljayk9XCJjaGFuZ2VBZGRpdGlvbmFsQXBpTmFtZShudWxsKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgXCJMSVNULk5PTkVcIiB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRBZGRpdGlvbmFsQXBpTmFtZT8uS2V5ID09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxBcGlOYW1lPy5LZXlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIiAqbmdGb3I9XCJsZXQgYWRkaXRpb25hbEFwaU5hbWUgb2YgYWRkaXRpb25hbEFwaU5hbWVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VBZGRpdGlvbmFsQXBpTmFtZShhZGRpdGlvbmFsQXBpTmFtZSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGFkZGl0aW9uYWxBcGlOYW1lLlZhbHVlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2hpbGRWaWV3VHlwZXMgJiYgY2hpbGRWaWV3VHlwZXMubGVuZ3RoID4gMVwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJwZXAtc3BhY2luZy1lbGVtZW50IHBlcC1idXR0b24gaWNvbi1idXR0b24gc20gd2Vha1wiIG1hdC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cInZpZXdzTWVudVwiIG1lbnUtYmx1cj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHBlcC1pY29uIG5hbWU9XCJ2aWV3X2NhcmRfbWRcIj48L3BlcC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1tZW51ICN2aWV3c01lbnU9XCJtYXRNZW51XCIgeFBvc2l0aW9uPVwiYmVmb3JlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGN1cnJlbnRWaWV3VHlwZT8uS2V5ID09IHZpZXdUeXBlPy5LZXlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIiAqbmdGb3I9XCJsZXQgdmlld1R5cGUgb2YgY2hpbGRWaWV3VHlwZXNcIiAoY2xpY2spPVwiY2hhbmdlQ2hpbGRyZW5WaWV3VHlwZSh2aWV3VHlwZT8uS2V5KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIFtuZ1N3aXRjaF09XCJ2aWV3VHlwZT8uS2V5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBlcC1pY29uICpuZ1N3aXRjaENhc2U9XCInT3JkZXJDZW50ZXJNYXRyaXgnXCIgbmFtZT1cInZpZXdfbWF0cml4XCI+PC9wZXAtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGVwLWljb24gKm5nU3dpdGNoQ2FzZT1cIidPcmRlckNlbnRlckZsYXRNYXRyaXhHcmlkJ1wiIG5hbWU9XCJ2aWV3X3RhYmxlXCI+PC9wZXAtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGVwLWljb24gKm5nU3dpdGNoQ2FzZT1cIidPcmRlckNlbnRlckZsYXRNYXRyaXhMaW5lJ1wiIG5hbWU9XCJ2aWV3X2xpbmVcIj48L3BlcC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IHZpZXdUeXBlPy5WYWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNtYXRyaXhUZW1wbGF0ZT5cbiAgICA8ZGl2ICNtYXRyaXhDb250YWluZXIgY2xhc3M9XCJtYXRyaXgtY29udGFpbmVyXCI+XG4gICAgICAgIDxwZXAtaW50ZXJuYWwtbGlzdCAodmFsdWVDaGFuZ2UpPVwib25DdXN0b21pemVPYmplY3RDaGFuZ2VkKCRldmVudClcIiBbcGFyZW50U2Nyb2xsXT1cIm1hdHJpeENvbnRhaW5lclwiXG4gICAgICAgICAgICAoZmllbGRDbGljayk9XCJvbkN1c3RvbWl6ZUZpZWxkQ2xpY2soJGV2ZW50KVwiIFt0b3RhbHNSb3ddPVwidG90YWxzUm93XCI+PC9wZXAtaW50ZXJuYWwtbGlzdD5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxkaXYgI21haW5WaWV3Q29udCBpZD1cIm1haW5WaWV3Q29udFwiIFtuZ1N0eWxlXT1cInsgJ21heC13aWR0aCc6IHZpZXdXaWR0aCwgJ21heC1oZWlnaHQnOiB2aWV3SGVpZ2h0IH1cIj5cbiAgICA8ZGl2ICNteTFtbSBpZD1cIm15MV9tbVwiIHN0eWxlPVwiaGVpZ2h0OjFtbTt3aWR0aDoxbW07dmlzaWJpbGl0eTogaGlkZGVuO1wiPjwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb3ZlckNoaWxkVGFibGUgJiYgdWlDb250cm9sICE9IG51bGxcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvdmVyXCI+PC9kaXY+XG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cInNob3dNYXRyaXhEaWFsb2coKVwiIGNsYXNzPVwicGVwLWJ1dHRvbiBzdHJvbmcgc20gdGFibGUtY292ZXItYnV0dG9uXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2xpbmV2aWV3LWJ0bic6IGN1cnJlbnRWaWV3VHlwZT8uS2V5ID09ICdPcmRlckNlbnRlckZsYXRNYXRyaXhMaW5lJ31cIj5cbiAgICAgICAgICAgIHt7IFwiSU5URVJOQUxfUEFHRS5DTElDS19UT19PUkRFUlwiIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1hdHJpeEhlYWRlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAjb3JnQ29udD48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI21hdHJpeERpYWxvZ1RlbXBsYXRlPlxuXG4gICAgPGRpdiBtYXQtZGlhbG9nLXRpdGxlPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibWF0cml4SGVhZGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxuICAgICAgICA8bmctY29udGFpbmVyICNkaWFsb2dDb250PjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSA8ZGl2IGlkPVwiY2hpbGRHcmlkTW9kYWxcIiBic01vZGFsIChvblNob3duKT1cIm9uU2hvd24oKVwiIChvbkhpZGRlbik9XCJvbkhpZGRlbigpXCIgI2NoaWxkTW9kYWw9XCJicy1tb2RhbFwiIGNsYXNzPVwibW9kYWxcIlxuICAgIHRhYmluZGV4PVwiLTFcIiByb2xlPVwiZGlhbG9nXCIgYXJpYS1sYWJlbGxlZGJ5PVwiZ3JpZE1vZGFsTGFiZWxcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZGlhbG9nXCIgcm9sZT1cImRvY3VtZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBtYXRyaXgtZGlhbG9nLWJvZHlcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICNtb2RhbENvbnQ+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj4gLS0+Il19