@pepperi-addons/ngx-lib 0.3.15-beta.60 → 0.3.15-beta.61

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 (690) hide show
  1. package/address/address.component.d.ts +27 -27
  2. package/address/address.module.d.ts +2 -2
  3. package/address/pepperi-addons-ngx-lib-address.d.ts +4 -4
  4. package/address/public-api.d.ts +2 -2
  5. package/attachment/attachment.component.d.ts +82 -82
  6. package/attachment/attachment.module.d.ts +2 -2
  7. package/attachment/pepperi-addons-ngx-lib-attachment.d.ts +4 -4
  8. package/attachment/public-api.d.ts +2 -2
  9. package/bread-crumbs/bread-crumbs.component.d.ts +23 -23
  10. package/bread-crumbs/bread-crumbs.model.d.ts +11 -11
  11. package/bread-crumbs/bread-crumbs.module.d.ts +5 -5
  12. package/bread-crumbs/pepperi-addons-ngx-lib-bread-crumbs.d.ts +4 -4
  13. package/bread-crumbs/public-api.d.ts +3 -3
  14. package/bundles/pepperi-addons-ngx-lib-address.umd.js +124 -124
  15. package/bundles/pepperi-addons-ngx-lib-attachment.umd.js +247 -247
  16. package/bundles/pepperi-addons-ngx-lib-bread-crumbs.umd.js +121 -121
  17. package/bundles/pepperi-addons-ngx-lib-button.umd.js +158 -158
  18. package/bundles/pepperi-addons-ngx-lib-carousel.umd.js +788 -788
  19. package/bundles/pepperi-addons-ngx-lib-checkbox.umd.js +192 -192
  20. package/bundles/pepperi-addons-ngx-lib-color.umd.js +302 -302
  21. package/bundles/pepperi-addons-ngx-lib-date.umd.js +667 -667
  22. package/bundles/pepperi-addons-ngx-lib-dialog.umd.js +519 -519
  23. package/bundles/pepperi-addons-ngx-lib-draggable-items.umd.js +151 -151
  24. package/bundles/pepperi-addons-ngx-lib-field-title.umd.js +57 -57
  25. package/bundles/pepperi-addons-ngx-lib-files-uploader.umd.js +260 -260
  26. package/bundles/pepperi-addons-ngx-lib-form.umd.js +3253 -3253
  27. package/bundles/pepperi-addons-ngx-lib-group-buttons.umd.js +87 -87
  28. package/bundles/pepperi-addons-ngx-lib-icon.umd.js +681 -681
  29. package/bundles/pepperi-addons-ngx-lib-image.umd.js +324 -324
  30. package/bundles/pepperi-addons-ngx-lib-images-filmstrip.umd.js +360 -360
  31. package/bundles/pepperi-addons-ngx-lib-link.umd.js +388 -388
  32. package/bundles/pepperi-addons-ngx-lib-list.umd.js +3191 -3191
  33. package/bundles/pepperi-addons-ngx-lib-menu.umd.js +646 -646
  34. package/bundles/pepperi-addons-ngx-lib-page-layout.umd.js +60 -60
  35. package/bundles/pepperi-addons-ngx-lib-profile-data-views-list.umd.js +543 -543
  36. package/bundles/pepperi-addons-ngx-lib-quantity-selector.umd.js +930 -930
  37. package/bundles/pepperi-addons-ngx-lib-query-builder.umd.js +1181 -1181
  38. package/bundles/pepperi-addons-ngx-lib-remote-loader.umd.js +683 -683
  39. package/bundles/pepperi-addons-ngx-lib-rich-html-textarea.umd.js +275 -275
  40. package/bundles/pepperi-addons-ngx-lib-search.umd.js +326 -326
  41. package/bundles/pepperi-addons-ngx-lib-select.umd.js +587 -587
  42. package/bundles/pepperi-addons-ngx-lib-separator.umd.js +79 -79
  43. package/bundles/pepperi-addons-ngx-lib-side-bar.umd.js +165 -165
  44. package/bundles/pepperi-addons-ngx-lib-signature.umd.js +286 -286
  45. package/bundles/pepperi-addons-ngx-lib-size-detector.umd.js +113 -113
  46. package/bundles/pepperi-addons-ngx-lib-slider.umd.js +124 -124
  47. package/bundles/pepperi-addons-ngx-lib-smart-filters.umd.js +1974 -1974
  48. package/bundles/pepperi-addons-ngx-lib-snack-bar.umd.js +148 -148
  49. package/bundles/pepperi-addons-ngx-lib-textarea.umd.js +211 -211
  50. package/bundles/pepperi-addons-ngx-lib-textbox-icon.umd.js +80 -80
  51. package/bundles/pepperi-addons-ngx-lib-textbox.umd.js +553 -553
  52. package/bundles/pepperi-addons-ngx-lib-top-bar.umd.js +129 -129
  53. package/bundles/pepperi-addons-ngx-lib.umd.js +4963 -4962
  54. package/bundles/pepperi-addons-ngx-lib.umd.js.map +1 -1
  55. package/button/button.component.d.ts +99 -99
  56. package/button/button.model.d.ts +14 -14
  57. package/button/button.module.d.ts +2 -2
  58. package/button/pepperi-addons-ngx-lib-button.d.ts +4 -4
  59. package/button/public-api.d.ts +3 -3
  60. package/carousel/carousel-item.directive.d.ts +9 -9
  61. package/carousel/carousel.component.d.ts +145 -145
  62. package/carousel/carousel.module.d.ts +2 -2
  63. package/carousel/pepperi-addons-ngx-lib-carousel.d.ts +4 -4
  64. package/carousel/public-api.d.ts +3 -3
  65. package/checkbox/checkbox.component.d.ts +47 -47
  66. package/checkbox/checkbox.module.d.ts +5 -5
  67. package/checkbox/pepperi-addons-ngx-lib-checkbox.d.ts +4 -4
  68. package/checkbox/public-api.d.ts +2 -2
  69. package/color/color-picker.component.d.ts +54 -54
  70. package/color/color.component.d.ts +27 -27
  71. package/color/color.model.d.ts +1 -1
  72. package/color/color.module.d.ts +5 -5
  73. package/color/pepperi-addons-ngx-lib-color.d.ts +5 -5
  74. package/color/public-api.d.ts +3 -3
  75. package/core/clipboard/clipboard.directive.d.ts +2 -2
  76. package/core/clipboard/clipboard.service.d.ts +2 -2
  77. package/core/clipboard/index.d.ts +1 -1
  78. package/core/clipboard/public-api.d.ts +2 -2
  79. package/core/common/directives/auto-width.directive.d.ts +16 -16
  80. package/core/common/directives/button-blur.directive.d.ts +6 -6
  81. package/core/common/directives/button-loader.directive.d.ts +23 -23
  82. package/core/common/directives/data-qa.directive.d.ts +8 -8
  83. package/core/common/directives/index.d.ts +1 -1
  84. package/core/common/directives/menu-blur.directive.d.ts +7 -7
  85. package/core/common/directives/prevent-multi-click.directive.d.ts +4 -4
  86. package/core/common/directives/print.directive.d.ts +72 -72
  87. package/core/common/directives/public-api.d.ts +7 -7
  88. package/core/common/index.d.ts +1 -1
  89. package/core/common/model/index.d.ts +1 -1
  90. package/core/common/model/papi.model.d.ts +2 -2
  91. package/core/common/model/public-api.d.ts +3 -3
  92. package/core/common/model/utilities.model.d.ts +5 -5
  93. package/core/common/model/wapi.model.d.ts +200 -200
  94. package/core/common/pipes/common-pipes.d.ts +36 -36
  95. package/core/common/pipes/date-ago.pipe.d.ts +8 -8
  96. package/core/common/pipes/index.d.ts +1 -1
  97. package/core/common/pipes/public-api.d.ts +2 -2
  98. package/core/common/public-api.d.ts +4 -4
  99. package/core/common/services/addon.service.d.ts +38 -38
  100. package/core/common/services/color.service.d.ts +48 -48
  101. package/core/common/services/cookie.service.d.ts +50 -50
  102. package/core/common/services/data-convertor.service.d.ts +41 -41
  103. package/core/common/services/file.service.d.ts +24 -24
  104. package/core/common/services/index.d.ts +1 -1
  105. package/core/common/services/jwt-helper.service.d.ts +10 -10
  106. package/core/common/services/public-api.d.ts +11 -11
  107. package/core/common/services/session.service.d.ts +15 -15
  108. package/core/common/services/translate.service.d.ts +9 -9
  109. package/core/common/services/utilities.service.d.ts +34 -34
  110. package/core/common/services/validator.service.d.ts +28 -28
  111. package/core/common/services/window-scrolling.service.d.ts +7 -7
  112. package/core/customization/customization.model.d.ts +266 -266
  113. package/core/customization/customization.service.d.ts +156 -156
  114. package/core/customization/index.d.ts +1 -1
  115. package/core/customization/public-api.d.ts +2 -2
  116. package/core/http/index.d.ts +1 -1
  117. package/core/http/interceptors/error.interceptor.d.ts +5 -5
  118. package/core/http/interceptors/index.d.ts +11 -11
  119. package/core/http/interceptors/loader.interceptor.d.ts +8 -8
  120. package/core/http/interceptors/profiler.interceptor.d.ts +5 -5
  121. package/core/http/public-api.d.ts +2 -2
  122. package/core/http/services/http.service.d.ts +25 -25
  123. package/core/http/services/loader.service.d.ts +10 -10
  124. package/core/index.d.ts +1 -1
  125. package/core/layout/index.d.ts +1 -1
  126. package/core/layout/layout.service.d.ts +33 -33
  127. package/core/layout/public-api.d.ts +2 -2
  128. package/core/layout/rtl.directive.d.ts +16 -16
  129. package/core/portal/attach.directive.d.ts +10 -10
  130. package/core/portal/index.d.ts +1 -1
  131. package/core/portal/portal.service.d.ts +9 -9
  132. package/core/portal/public-api.d.ts +3 -3
  133. package/core/portal/target.directive.d.ts +9 -9
  134. package/core/public-api.d.ts +7 -7
  135. package/core/scroll-to/index.d.ts +1 -1
  136. package/core/scroll-to/public-api.d.ts +1 -1
  137. package/core/scroll-to/scroll-to.service.d.ts +8 -8
  138. package/date/date.component.d.ts +66 -66
  139. package/date/date.model.d.ts +26 -26
  140. package/date/date.module.d.ts +5 -5
  141. package/date/pepperi-addons-ngx-lib-date.d.ts +5 -5
  142. package/date/public-api.d.ts +2 -2
  143. package/dialog/default-dialog.component.d.ts +9 -9
  144. package/dialog/dialog.component.d.ts +10 -10
  145. package/dialog/dialog.model.d.ts +31 -31
  146. package/dialog/dialog.module.d.ts +5 -5
  147. package/dialog/dialog.service.d.ts +24 -24
  148. package/dialog/pepperi-addons-ngx-lib-dialog.d.ts +5 -5
  149. package/dialog/public-api.d.ts +4 -4
  150. package/draggable-items/draggable-item/draggable-item.component.d.ts +8 -8
  151. package/draggable-items/draggable-items.component.d.ts +33 -33
  152. package/draggable-items/draggable-items.model.d.ts +11 -11
  153. package/draggable-items/draggable-items.module.d.ts +5 -5
  154. package/draggable-items/pepperi-addons-ngx-lib-draggable-items.d.ts +4 -4
  155. package/draggable-items/public-api.d.ts +4 -4
  156. package/esm2015/address/address.component.js +96 -96
  157. package/esm2015/address/address.module.js +30 -30
  158. package/esm2015/address/pepperi-addons-ngx-lib-address.js +4 -4
  159. package/esm2015/address/public-api.js +5 -5
  160. package/esm2015/attachment/attachment.component.js +208 -208
  161. package/esm2015/attachment/attachment.module.js +28 -28
  162. package/esm2015/attachment/pepperi-addons-ngx-lib-attachment.js +4 -4
  163. package/esm2015/attachment/public-api.js +5 -5
  164. package/esm2015/bread-crumbs/bread-crumbs.component.js +78 -78
  165. package/esm2015/bread-crumbs/bread-crumbs.model.js +6 -6
  166. package/esm2015/bread-crumbs/bread-crumbs.module.js +34 -34
  167. package/esm2015/bread-crumbs/pepperi-addons-ngx-lib-bread-crumbs.js +4 -4
  168. package/esm2015/bread-crumbs/public-api.js +6 -6
  169. package/esm2015/button/button.component.js +127 -127
  170. package/esm2015/button/button.model.js +5 -5
  171. package/esm2015/button/button.module.js +26 -26
  172. package/esm2015/button/pepperi-addons-ngx-lib-button.js +4 -4
  173. package/esm2015/button/public-api.js +6 -6
  174. package/esm2015/carousel/carousel-item.directive.js +26 -26
  175. package/esm2015/carousel/carousel.component.js +699 -699
  176. package/esm2015/carousel/carousel.module.js +11 -11
  177. package/esm2015/carousel/pepperi-addons-ngx-lib-carousel.js +4 -4
  178. package/esm2015/carousel/public-api.js +7 -7
  179. package/esm2015/checkbox/checkbox.component.js +151 -151
  180. package/esm2015/checkbox/checkbox.module.js +39 -39
  181. package/esm2015/checkbox/pepperi-addons-ngx-lib-checkbox.js +4 -4
  182. package/esm2015/checkbox/public-api.js +5 -5
  183. package/esm2015/color/color-picker.component.js +197 -197
  184. package/esm2015/color/color.component.js +77 -77
  185. package/esm2015/color/color.model.js +1 -1
  186. package/esm2015/color/color.module.js +57 -57
  187. package/esm2015/color/pepperi-addons-ngx-lib-color.js +5 -5
  188. package/esm2015/color/public-api.js +6 -6
  189. package/esm2015/core/clipboard/clipboard.directive.js +19 -19
  190. package/esm2015/core/clipboard/clipboard.service.js +11 -11
  191. package/esm2015/core/clipboard/index.js +4 -4
  192. package/esm2015/core/clipboard/public-api.js +5 -5
  193. package/esm2015/core/common/directives/auto-width.directive.js +77 -77
  194. package/esm2015/core/common/directives/button-blur.directive.js +22 -22
  195. package/esm2015/core/common/directives/button-loader.directive.js +102 -102
  196. package/esm2015/core/common/directives/data-qa.directive.js +22 -22
  197. package/esm2015/core/common/directives/index.js +4 -4
  198. package/esm2015/core/common/directives/menu-blur.directive.js +28 -28
  199. package/esm2015/core/common/directives/prevent-multi-click.directive.js +21 -21
  200. package/esm2015/core/common/directives/print.directive.js +134 -134
  201. package/esm2015/core/common/directives/public-api.js +11 -11
  202. package/esm2015/core/common/index.js +4 -4
  203. package/esm2015/core/common/model/index.js +4 -4
  204. package/esm2015/core/common/model/papi.model.js +2 -2
  205. package/esm2015/core/common/model/public-api.js +6 -6
  206. package/esm2015/core/common/model/utilities.model.js +56 -56
  207. package/esm2015/core/common/model/wapi.model.js +155 -155
  208. package/esm2015/core/common/pipes/common-pipes.js +141 -141
  209. package/esm2015/core/common/pipes/date-ago.pipe.js +44 -44
  210. package/esm2015/core/common/pipes/index.js +4 -4
  211. package/esm2015/core/common/pipes/public-api.js +5 -5
  212. package/esm2015/core/common/public-api.js +7 -7
  213. package/esm2015/core/common/services/addon.service.js +160 -160
  214. package/esm2015/core/common/services/color.service.js +356 -356
  215. package/esm2015/core/common/services/cookie.service.js +147 -147
  216. package/esm2015/core/common/services/data-convertor.service.js +117 -117
  217. package/esm2015/core/common/services/file.service.js +211 -211
  218. package/esm2015/core/common/services/index.js +4 -4
  219. package/esm2015/core/common/services/jwt-helper.service.js +103 -103
  220. package/esm2015/core/common/services/public-api.js +14 -14
  221. package/esm2015/core/common/services/session.service.js +72 -72
  222. package/esm2015/core/common/services/translate.service.js +47 -47
  223. package/esm2015/core/common/services/utilities.service.js +253 -253
  224. package/esm2015/core/common/services/validator.service.js +272 -272
  225. package/esm2015/core/common/services/window-scrolling.service.js +30 -30
  226. package/esm2015/core/customization/customization.model.js +290 -290
  227. package/esm2015/core/customization/customization.service.js +777 -777
  228. package/esm2015/core/customization/index.js +4 -4
  229. package/esm2015/core/customization/public-api.js +5 -5
  230. package/esm2015/core/http/index.js +4 -4
  231. package/esm2015/core/http/interceptors/error.interceptor.js +23 -23
  232. package/esm2015/core/http/interceptors/index.js +23 -23
  233. package/esm2015/core/http/interceptors/loader.interceptor.js +31 -31
  234. package/esm2015/core/http/interceptors/profiler.interceptor.js +28 -28
  235. package/esm2015/core/http/public-api.js +5 -5
  236. package/esm2015/core/http/services/http.service.js +160 -160
  237. package/esm2015/core/http/services/loader.service.js +48 -48
  238. package/esm2015/core/index.js +4 -4
  239. package/esm2015/core/layout/index.js +4 -4
  240. package/esm2015/core/layout/layout.service.js +168 -168
  241. package/esm2015/core/layout/public-api.js +5 -5
  242. package/esm2015/core/layout/rtl.directive.js +46 -46
  243. package/esm2015/core/portal/attach.directive.js +26 -26
  244. package/esm2015/core/portal/index.js +4 -4
  245. package/esm2015/core/portal/portal.service.js +34 -34
  246. package/esm2015/core/portal/public-api.js +6 -6
  247. package/esm2015/core/portal/target.directive.js +23 -23
  248. package/esm2015/core/public-api.js +10 -10
  249. package/esm2015/core/scroll-to/index.js +4 -4
  250. package/esm2015/core/scroll-to/public-api.js +5 -5
  251. package/esm2015/core/scroll-to/scroll-to.service.js +81 -81
  252. package/esm2015/date/date.component.js +251 -251
  253. package/esm2015/date/date.model.js +44 -44
  254. package/esm2015/date/date.module.js +50 -50
  255. package/esm2015/date/pepperi-addons-ngx-lib-date.js +5 -5
  256. package/esm2015/date/public-api.js +5 -5
  257. package/esm2015/dialog/default-dialog.component.js +31 -31
  258. package/esm2015/dialog/dialog.component.js +28 -28
  259. package/esm2015/dialog/dialog.model.js +34 -34
  260. package/esm2015/dialog/dialog.module.js +39 -39
  261. package/esm2015/dialog/dialog.service.js +87 -87
  262. package/esm2015/dialog/pepperi-addons-ngx-lib-dialog.js +5 -5
  263. package/esm2015/dialog/public-api.js +7 -7
  264. package/esm2015/draggable-items/draggable-item/draggable-item.component.js +24 -24
  265. package/esm2015/draggable-items/draggable-items.component.js +91 -91
  266. package/esm2015/draggable-items/draggable-items.model.js +1 -1
  267. package/esm2015/draggable-items/draggable-items.module.js +42 -42
  268. package/esm2015/draggable-items/pepperi-addons-ngx-lib-draggable-items.js +4 -4
  269. package/esm2015/draggable-items/public-api.js +7 -7
  270. package/esm2015/field-title/field-title.component.js +31 -31
  271. package/esm2015/field-title/field-title.module.js +31 -31
  272. package/esm2015/field-title/pepperi-addons-ngx-lib-field-title.js +4 -4
  273. package/esm2015/field-title/public-api.js +5 -5
  274. package/esm2015/files-uploader/files-uploader.component.js +220 -220
  275. package/esm2015/files-uploader/files-uploader.module.js +49 -49
  276. package/esm2015/files-uploader/pepperi-addons-ngx-lib-files-uploader.js +4 -4
  277. package/esm2015/files-uploader/public-api.js +5 -5
  278. package/esm2015/form/field-generator.component.js +121 -121
  279. package/esm2015/form/form.component.js +1200 -1200
  280. package/esm2015/form/form.model.js +1 -1
  281. package/esm2015/form/form.module.js +107 -107
  282. package/esm2015/form/indicators.component.js +20 -20
  283. package/esm2015/form/internal-button.component.js +165 -165
  284. package/esm2015/form/internal-carusel.component.js +115 -115
  285. package/esm2015/form/internal-carusel.service.js +31 -31
  286. package/esm2015/form/internal-list.component.js +494 -494
  287. package/esm2015/form/internal-menu.component.js +54 -54
  288. package/esm2015/form/internal-page.component.js +350 -350
  289. package/esm2015/form/internal-page.service.js +120 -120
  290. package/esm2015/form/pepperi-addons-ngx-lib-form.js +13 -13
  291. package/esm2015/form/public-api.js +6 -6
  292. package/esm2015/group-buttons/group-buttons.component.js +57 -57
  293. package/esm2015/group-buttons/group-buttons.module.js +37 -37
  294. package/esm2015/group-buttons/pepperi-addons-ngx-lib-group-buttons.js +4 -4
  295. package/esm2015/group-buttons/public-api.js +5 -5
  296. package/esm2015/icon/icon-generated-all.model.js +100 -100
  297. package/esm2015/icon/icon-generated.model.js +389 -389
  298. package/esm2015/icon/icon-registry.service.js +22 -22
  299. package/esm2015/icon/icon.component.js +124 -124
  300. package/esm2015/icon/icon.module.js +14 -14
  301. package/esm2015/icon/icon.service.js +31 -31
  302. package/esm2015/icon/pepperi-addons-ngx-lib-icon.js +4 -4
  303. package/esm2015/icon/public-api.js +10 -10
  304. package/esm2015/image/image.component.js +228 -228
  305. package/esm2015/image/image.module.js +48 -48
  306. package/esm2015/image/image.service.js +56 -56
  307. package/esm2015/image/pepperi-addons-ngx-lib-image.js +4 -4
  308. package/esm2015/image/public-api.js +6 -6
  309. package/esm2015/images-filmstrip/images-filmstrip.component.js +316 -316
  310. package/esm2015/images-filmstrip/images-filmstrip.module.js +51 -51
  311. package/esm2015/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.js +4 -4
  312. package/esm2015/images-filmstrip/public-api.js +5 -5
  313. package/esm2015/link/link.component.js +315 -315
  314. package/esm2015/link/link.module.js +50 -50
  315. package/esm2015/link/link.pipes.js +13 -13
  316. package/esm2015/link/pepperi-addons-ngx-lib-link.js +5 -5
  317. package/esm2015/link/public-api.js +5 -5
  318. package/esm2015/list/list-actions.component.js +35 -35
  319. package/esm2015/list/list-carousel.component.js +94 -94
  320. package/esm2015/list/list-chooser.component.js +57 -57
  321. package/esm2015/list/list-pager.component.js +112 -112
  322. package/esm2015/list/list-sorting.component.js +54 -54
  323. package/esm2015/list/list-total.component.js +23 -23
  324. package/esm2015/list/list-views.component.js +71 -71
  325. package/esm2015/list/list.component.js +1127 -1127
  326. package/esm2015/list/list.model.js +3 -3
  327. package/esm2015/list/list.module.js +87 -87
  328. package/esm2015/list/list.pipes.js +39 -39
  329. package/esm2015/list/pepperi-addons-ngx-lib-list.js +6 -6
  330. package/esm2015/list/public-api.js +14 -14
  331. package/esm2015/list/virtual-scroller.js +1018 -1018
  332. package/esm2015/menu/menu-item.component.js +102 -102
  333. package/esm2015/menu/menu.component.js +173 -173
  334. package/esm2015/menu/menu.model.js +18 -18
  335. package/esm2015/menu/menu.module.js +39 -39
  336. package/esm2015/menu/pepperi-addons-ngx-lib-menu.js +5 -5
  337. package/esm2015/menu/public-api.js +6 -6
  338. package/esm2015/ngx-lib.module.js +96 -94
  339. package/esm2015/page-layout/page-layout.component.js +41 -41
  340. package/esm2015/page-layout/page-layout.module.js +20 -20
  341. package/esm2015/page-layout/pepperi-addons-ngx-lib-page-layout.js +4 -4
  342. package/esm2015/page-layout/public-api.js +5 -5
  343. package/esm2015/pepperi-addons-ngx-lib.js +8 -8
  344. package/esm2015/profile-data-views-list/pepperi-addons-ngx-lib-profile-data-views-list.js +4 -4
  345. package/esm2015/profile-data-views-list/profile-data-view/profile-data-view.component.js +38 -38
  346. package/esm2015/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.js +59 -59
  347. package/esm2015/profile-data-views-list/profile-data-views-list.component.js +86 -86
  348. package/esm2015/profile-data-views-list/profile-data-views-list.model.js +1 -1
  349. package/esm2015/profile-data-views-list/profile-data-views-list.module.js +56 -56
  350. package/esm2015/profile-data-views-list/public-api.js +8 -8
  351. package/esm2015/public-api.js +5 -5
  352. package/esm2015/quantity-selector/pepperi-addons-ngx-lib-quantity-selector.js +6 -6
  353. package/esm2015/quantity-selector/public-api.js +5 -5
  354. package/esm2015/quantity-selector/quantity-selector-validation.directive.js +43 -43
  355. package/esm2015/quantity-selector/quantity-selector.component.js +472 -472
  356. package/esm2015/quantity-selector/quantity-selector.module.js +52 -52
  357. package/esm2015/quantity-selector/quantity-selector.pipes.js +18 -18
  358. package/esm2015/query-builder/common/model/field.js +1 -1
  359. package/esm2015/query-builder/common/model/filter.js +1 -1
  360. package/esm2015/query-builder/common/model/legacy.js +1 -1
  361. package/esm2015/query-builder/common/model/operator-unit.js +41 -41
  362. package/esm2015/query-builder/common/model/operator.js +265 -265
  363. package/esm2015/query-builder/common/model/structure.js +1 -1
  364. package/esm2015/query-builder/common/model/type-map.js +26 -26
  365. package/esm2015/query-builder/common/model/type.js +5 -5
  366. package/esm2015/query-builder/common/services/output-query.service.js +112 -112
  367. package/esm2015/query-builder/common/services/query-structure.service.js +228 -228
  368. package/esm2015/query-builder/common/services/type-convertor.service.js +39 -39
  369. package/esm2015/query-builder/pepperi-addons-ngx-lib-query-builder.js +9 -9
  370. package/esm2015/query-builder/public-api.js +8 -8
  371. package/esm2015/query-builder/query-builder-item/query-builder-item.component.js +117 -117
  372. package/esm2015/query-builder/query-builder-section/query-builder-section.component.js +63 -63
  373. package/esm2015/query-builder/query-builder.component.js +107 -107
  374. package/esm2015/query-builder/query-builder.module.js +34 -34
  375. package/esm2015/query-builder/query-builder.service.js +102 -102
  376. package/esm2015/remote-loader/addon-block-loader.component.js +77 -77
  377. package/esm2015/remote-loader/addon-block-loader.service.js +63 -63
  378. package/esm2015/remote-loader/pepperi-addons-ngx-lib-remote-loader.js +4 -4
  379. package/esm2015/remote-loader/public-api.js +9 -9
  380. package/esm2015/remote-loader/remote-loader.component.js +114 -114
  381. package/esm2015/remote-loader/remote-loader.model.js +1 -1
  382. package/esm2015/remote-loader/remote-loader.module.js +37 -37
  383. package/esm2015/remote-loader/remote-loader.service.js +65 -65
  384. package/esm2015/rich-html-textarea/pepperi-addons-ngx-lib-rich-html-textarea.js +4 -4
  385. package/esm2015/rich-html-textarea/public-api.js +5 -5
  386. package/esm2015/rich-html-textarea/rich-html-textarea.component.js +219 -219
  387. package/esm2015/rich-html-textarea/rich-html-textarea.module.js +56 -56
  388. package/esm2015/search/pepperi-addons-ngx-lib-search.js +4 -4
  389. package/esm2015/search/public-api.js +6 -6
  390. package/esm2015/search/search.component.js +273 -273
  391. package/esm2015/search/search.model.js +1 -1
  392. package/esm2015/search/search.module.js +44 -44
  393. package/esm2015/select/pepperi-addons-ngx-lib-select.js +4 -4
  394. package/esm2015/select/public-api.js +5 -5
  395. package/esm2015/select/select.component.js +219 -219
  396. package/esm2015/select/select.module.js +42 -42
  397. package/esm2015/separator/pepperi-addons-ngx-lib-separator.js +4 -4
  398. package/esm2015/separator/public-api.js +5 -5
  399. package/esm2015/separator/separator.component.js +62 -62
  400. package/esm2015/separator/separator.module.js +12 -12
  401. package/esm2015/side-bar/pepperi-addons-ngx-lib-side-bar.js +4 -4
  402. package/esm2015/side-bar/public-api.js +6 -6
  403. package/esm2015/side-bar/side-bar.component.js +132 -132
  404. package/esm2015/side-bar/side-bar.model.js +1 -1
  405. package/esm2015/side-bar/side-bar.module.js +33 -33
  406. package/esm2015/signature/pepperi-addons-ngx-lib-signature.js +4 -4
  407. package/esm2015/signature/public-api.js +5 -5
  408. package/esm2015/signature/signature.component.js +233 -233
  409. package/esm2015/signature/signature.module.js +54 -54
  410. package/esm2015/size-detector/pepperi-addons-ngx-lib-size-detector.js +4 -4
  411. package/esm2015/size-detector/public-api.js +5 -5
  412. package/esm2015/size-detector/size-detector.component.js +88 -88
  413. package/esm2015/size-detector/size-detector.module.js +21 -21
  414. package/esm2015/slider/pepperi-addons-ngx-lib-slider.js +4 -4
  415. package/esm2015/slider/public-api.js +5 -5
  416. package/esm2015/slider/slider.component.js +95 -95
  417. package/esm2015/slider/slider.module.js +24 -24
  418. package/esm2015/smart-filters/boolean-filter/boolean-filter.component.js +70 -70
  419. package/esm2015/smart-filters/common/filter-actions.component.js +25 -25
  420. package/esm2015/smart-filters/common/model/base-filter-component.js +291 -291
  421. package/esm2015/smart-filters/common/model/creator.js +75 -75
  422. package/esm2015/smart-filters/common/model/field.js +116 -116
  423. package/esm2015/smart-filters/common/model/filter.js +1 -1
  424. package/esm2015/smart-filters/common/model/operator.js +270 -270
  425. package/esm2015/smart-filters/common/model/type.js +1 -1
  426. package/esm2015/smart-filters/date-filter/date-filter.component.js +163 -163
  427. package/esm2015/smart-filters/multi-select-filter/multi-select-filter.component.js +190 -190
  428. package/esm2015/smart-filters/number-filter/number-filter.component.js +109 -109
  429. package/esm2015/smart-filters/pepperi-addons-ngx-lib-smart-filters.js +4 -4
  430. package/esm2015/smart-filters/public-api.js +18 -18
  431. package/esm2015/smart-filters/smart-filters.component.js +129 -129
  432. package/esm2015/smart-filters/smart-filters.module.js +90 -90
  433. package/esm2015/smart-filters/text-filter/text-filter.component.js +85 -85
  434. package/esm2015/snack-bar/default-snack-bar.component.js +27 -27
  435. package/esm2015/snack-bar/pepperi-addons-ngx-lib-snack-bar.js +5 -5
  436. package/esm2015/snack-bar/public-api.js +7 -7
  437. package/esm2015/snack-bar/snack-bar.component.js +25 -25
  438. package/esm2015/snack-bar/snack-bar.model.js +6 -6
  439. package/esm2015/snack-bar/snack-bar.module.js +41 -41
  440. package/esm2015/snack-bar/snack-bar.service.js +62 -62
  441. package/esm2015/textarea/pepperi-addons-ngx-lib-textarea.js +4 -4
  442. package/esm2015/textarea/public-api.js +5 -5
  443. package/esm2015/textarea/textarea.component.js +160 -160
  444. package/esm2015/textarea/textarea.module.js +50 -50
  445. package/esm2015/textbox/pepperi-addons-ngx-lib-textbox.js +5 -5
  446. package/esm2015/textbox/public-api.js +5 -5
  447. package/esm2015/textbox/textbox-validation.directive.js +85 -85
  448. package/esm2015/textbox/textbox.component.js +411 -411
  449. package/esm2015/textbox/textbox.module.js +44 -44
  450. package/esm2015/textbox-icon/pepperi-addons-ngx-lib-textbox-icon.js +4 -4
  451. package/esm2015/textbox-icon/public-api.js +5 -5
  452. package/esm2015/textbox-icon/textbox-icon.component.js +40 -40
  453. package/esm2015/textbox-icon/textbox-icon.module.js +46 -46
  454. package/esm2015/top-bar/pepperi-addons-ngx-lib-top-bar.js +4 -4
  455. package/esm2015/top-bar/public-api.js +6 -6
  456. package/esm2015/top-bar/top-bar.component.js +98 -98
  457. package/esm2015/top-bar/top-bar.model.js +1 -1
  458. package/esm2015/top-bar/top-bar.module.js +40 -40
  459. package/fesm2015/pepperi-addons-ngx-lib-address.js +116 -116
  460. package/fesm2015/pepperi-addons-ngx-lib-attachment.js +227 -227
  461. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.js +109 -109
  462. package/fesm2015/pepperi-addons-ngx-lib-button.js +149 -149
  463. package/fesm2015/pepperi-addons-ngx-lib-carousel.js +731 -731
  464. package/fesm2015/pepperi-addons-ngx-lib-checkbox.js +178 -178
  465. package/fesm2015/pepperi-addons-ngx-lib-color.js +298 -298
  466. package/fesm2015/pepperi-addons-ngx-lib-date.js +320 -320
  467. package/fesm2015/pepperi-addons-ngx-lib-dialog.js +192 -192
  468. package/fesm2015/pepperi-addons-ngx-lib-draggable-items.js +143 -143
  469. package/fesm2015/pepperi-addons-ngx-lib-field-title.js +55 -55
  470. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.js +252 -252
  471. package/fesm2015/pepperi-addons-ngx-lib-form.js +2697 -2697
  472. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.js +84 -84
  473. package/fesm2015/pepperi-addons-ngx-lib-icon.js +662 -662
  474. package/fesm2015/pepperi-addons-ngx-lib-image.js +308 -308
  475. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.js +347 -347
  476. package/fesm2015/pepperi-addons-ngx-lib-link.js +358 -358
  477. package/fesm2015/pepperi-addons-ngx-lib-list.js +2661 -2661
  478. package/fesm2015/pepperi-addons-ngx-lib-menu.js +314 -314
  479. package/fesm2015/pepperi-addons-ngx-lib-page-layout.js +55 -55
  480. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.js +219 -219
  481. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.js +561 -561
  482. package/fesm2015/pepperi-addons-ngx-lib-query-builder.js +1087 -1087
  483. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.js +327 -327
  484. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.js +256 -256
  485. package/fesm2015/pepperi-addons-ngx-lib-search.js +301 -301
  486. package/fesm2015/pepperi-addons-ngx-lib-select.js +249 -249
  487. package/fesm2015/pepperi-addons-ngx-lib-separator.js +71 -71
  488. package/fesm2015/pepperi-addons-ngx-lib-side-bar.js +156 -156
  489. package/fesm2015/pepperi-addons-ngx-lib-signature.js +270 -270
  490. package/fesm2015/pepperi-addons-ngx-lib-size-detector.js +103 -103
  491. package/fesm2015/pepperi-addons-ngx-lib-slider.js +112 -112
  492. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.js +1539 -1539
  493. package/fesm2015/pepperi-addons-ngx-lib-snack-bar.js +137 -137
  494. package/fesm2015/pepperi-addons-ngx-lib-textarea.js +194 -194
  495. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.js +78 -78
  496. package/fesm2015/pepperi-addons-ngx-lib-textbox.js +521 -521
  497. package/fesm2015/pepperi-addons-ngx-lib-top-bar.js +125 -125
  498. package/fesm2015/pepperi-addons-ngx-lib.js +4320 -4319
  499. package/fesm2015/pepperi-addons-ngx-lib.js.map +1 -1
  500. package/field-title/field-title.component.d.ts +11 -11
  501. package/field-title/field-title.module.d.ts +5 -5
  502. package/field-title/pepperi-addons-ngx-lib-field-title.d.ts +4 -4
  503. package/field-title/public-api.d.ts +2 -2
  504. package/files-uploader/files-uploader.component.d.ts +53 -53
  505. package/files-uploader/files-uploader.module.d.ts +5 -5
  506. package/files-uploader/pepperi-addons-ngx-lib-files-uploader.d.ts +4 -4
  507. package/files-uploader/public-api.d.ts +2 -2
  508. package/form/field-generator.component.d.ts +36 -36
  509. package/form/form.component.d.ts +90 -90
  510. package/form/form.model.d.ts +20 -20
  511. package/form/form.module.d.ts +5 -5
  512. package/form/indicators.component.d.ts +7 -7
  513. package/form/internal-button.component.d.ts +39 -39
  514. package/form/internal-carusel.component.d.ts +38 -38
  515. package/form/internal-carusel.service.d.ts +7 -7
  516. package/form/internal-list.component.d.ts +92 -92
  517. package/form/internal-menu.component.d.ts +16 -16
  518. package/form/internal-page.component.d.ts +72 -72
  519. package/form/internal-page.service.d.ts +19 -19
  520. package/form/pepperi-addons-ngx-lib-form.d.ts +13 -13
  521. package/form/public-api.d.ts +3 -3
  522. package/group-buttons/group-buttons.component.d.ts +20 -20
  523. package/group-buttons/group-buttons.module.d.ts +5 -5
  524. package/group-buttons/pepperi-addons-ngx-lib-group-buttons.d.ts +4 -4
  525. package/group-buttons/public-api.d.ts +2 -2
  526. package/icon/icon-generated-all.model.d.ts +99 -99
  527. package/icon/icon-generated.model.d.ts +394 -394
  528. package/icon/icon-registry.service.d.ts +6 -6
  529. package/icon/icon.component.d.ts +46 -46
  530. package/icon/icon.module.d.ts +2 -2
  531. package/icon/icon.service.d.ts +10 -10
  532. package/icon/pepperi-addons-ngx-lib-icon.d.ts +4 -4
  533. package/icon/public-api.d.ts +6 -6
  534. package/image/image.component.d.ts +63 -63
  535. package/image/image.module.d.ts +5 -5
  536. package/image/image.service.d.ts +11 -11
  537. package/image/pepperi-addons-ngx-lib-image.d.ts +4 -4
  538. package/image/public-api.d.ts +3 -3
  539. package/images-filmstrip/images-filmstrip.component.d.ts +84 -84
  540. package/images-filmstrip/images-filmstrip.module.d.ts +5 -5
  541. package/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.d.ts +4 -4
  542. package/images-filmstrip/public-api.d.ts +2 -2
  543. package/link/link.component.d.ts +131 -131
  544. package/link/link.module.d.ts +5 -5
  545. package/link/link.pipes.d.ts +4 -4
  546. package/link/pepperi-addons-ngx-lib-link.d.ts +5 -5
  547. package/link/public-api.d.ts +2 -2
  548. package/list/list-actions.component.d.ts +14 -14
  549. package/list/list-carousel.component.d.ts +36 -36
  550. package/list/list-chooser.component.d.ts +25 -25
  551. package/list/list-pager.component.d.ts +35 -35
  552. package/list/list-sorting.component.d.ts +26 -26
  553. package/list/list-total.component.d.ts +7 -7
  554. package/list/list-views.component.d.ts +31 -31
  555. package/list/list.component.d.ts +161 -161
  556. package/list/list.model.d.ts +31 -31
  557. package/list/list.module.d.ts +5 -5
  558. package/list/list.pipes.d.ts +11 -11
  559. package/list/pepperi-addons-ngx-lib-list.d.ts +6 -6
  560. package/list/public-api.d.ts +10 -10
  561. package/list/virtual-scroller.d.ts +176 -176
  562. package/menu/menu-item.component.d.ts +25 -25
  563. package/menu/menu.component.d.ts +43 -43
  564. package/menu/menu.model.d.ts +25 -25
  565. package/menu/menu.module.d.ts +5 -5
  566. package/menu/pepperi-addons-ngx-lib-menu.d.ts +5 -5
  567. package/menu/public-api.d.ts +3 -3
  568. package/ngx-lib.module.d.ts +2 -2
  569. package/package.json +1 -1
  570. package/page-layout/page-layout.component.d.ts +16 -16
  571. package/page-layout/page-layout.module.d.ts +2 -2
  572. package/page-layout/pepperi-addons-ngx-lib-page-layout.d.ts +4 -4
  573. package/page-layout/public-api.d.ts +2 -2
  574. package/pepperi-addons-ngx-lib.d.ts +8 -8
  575. package/pepperi-addons-ngx-lib.metadata.json +1 -1
  576. package/profile-data-views-list/pepperi-addons-ngx-lib-profile-data-views-list.d.ts +4 -4
  577. package/profile-data-views-list/profile-data-view/profile-data-view.component.d.ts +15 -15
  578. package/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.d.ts +21 -21
  579. package/profile-data-views-list/profile-data-views-list.component.d.ts +32 -32
  580. package/profile-data-views-list/profile-data-views-list.model.d.ts +18 -18
  581. package/profile-data-views-list/profile-data-views-list.module.d.ts +5 -5
  582. package/profile-data-views-list/public-api.d.ts +5 -5
  583. package/public-api.d.ts +2 -2
  584. package/quantity-selector/pepperi-addons-ngx-lib-quantity-selector.d.ts +6 -6
  585. package/quantity-selector/public-api.d.ts +2 -2
  586. package/quantity-selector/quantity-selector-validation.directive.d.ts +13 -13
  587. package/quantity-selector/quantity-selector.component.d.ts +98 -98
  588. package/quantity-selector/quantity-selector.module.d.ts +5 -5
  589. package/quantity-selector/quantity-selector.pipes.d.ts +4 -4
  590. package/query-builder/common/model/field.d.ts +8 -8
  591. package/query-builder/common/model/filter.d.ts +6 -6
  592. package/query-builder/common/model/legacy.d.ts +29 -29
  593. package/query-builder/common/model/operator-unit.d.ts +13 -13
  594. package/query-builder/common/model/operator.d.ts +21 -21
  595. package/query-builder/common/model/structure.d.ts +4 -4
  596. package/query-builder/common/model/type-map.d.ts +12 -12
  597. package/query-builder/common/model/type.d.ts +4 -4
  598. package/query-builder/common/services/output-query.service.d.ts +44 -44
  599. package/query-builder/common/services/query-structure.service.d.ts +78 -78
  600. package/query-builder/common/services/type-convertor.service.d.ts +10 -10
  601. package/query-builder/pepperi-addons-ngx-lib-query-builder.d.ts +9 -9
  602. package/query-builder/public-api.d.ts +5 -5
  603. package/query-builder/query-builder-item/query-builder-item.component.d.ts +38 -38
  604. package/query-builder/query-builder-section/query-builder-section.component.d.ts +27 -27
  605. package/query-builder/query-builder.component.d.ts +36 -36
  606. package/query-builder/query-builder.module.d.ts +2 -2
  607. package/query-builder/query-builder.service.d.ts +27 -27
  608. package/remote-loader/addon-block-loader.component.d.ts +29 -29
  609. package/remote-loader/addon-block-loader.service.d.ts +13 -13
  610. package/remote-loader/pepperi-addons-ngx-lib-remote-loader.d.ts +4 -4
  611. package/remote-loader/public-api.d.ts +6 -6
  612. package/remote-loader/remote-loader.component.d.ts +24 -24
  613. package/remote-loader/remote-loader.model.d.ts +36 -36
  614. package/remote-loader/remote-loader.module.d.ts +2 -2
  615. package/remote-loader/remote-loader.service.d.ts +14 -14
  616. package/rich-html-textarea/pepperi-addons-ngx-lib-rich-html-textarea.d.ts +4 -4
  617. package/rich-html-textarea/public-api.d.ts +2 -2
  618. package/rich-html-textarea/rich-html-textarea.component.d.ts +75 -75
  619. package/rich-html-textarea/rich-html-textarea.module.d.ts +5 -5
  620. package/search/pepperi-addons-ngx-lib-search.d.ts +4 -4
  621. package/search/public-api.d.ts +3 -3
  622. package/search/search.component.d.ts +61 -61
  623. package/search/search.model.d.ts +14 -14
  624. package/search/search.module.d.ts +5 -5
  625. package/select/pepperi-addons-ngx-lib-select.d.ts +4 -4
  626. package/select/public-api.d.ts +2 -2
  627. package/select/select.component.d.ts +52 -52
  628. package/select/select.module.d.ts +5 -5
  629. package/separator/pepperi-addons-ngx-lib-separator.d.ts +4 -4
  630. package/separator/public-api.d.ts +2 -2
  631. package/separator/separator.component.d.ts +19 -19
  632. package/separator/separator.module.d.ts +2 -2
  633. package/side-bar/pepperi-addons-ngx-lib-side-bar.d.ts +4 -4
  634. package/side-bar/public-api.d.ts +3 -3
  635. package/side-bar/side-bar.component.d.ts +39 -39
  636. package/side-bar/side-bar.model.d.ts +4 -4
  637. package/side-bar/side-bar.module.d.ts +5 -5
  638. package/signature/pepperi-addons-ngx-lib-signature.d.ts +4 -4
  639. package/signature/public-api.d.ts +2 -2
  640. package/signature/signature.component.d.ts +65 -65
  641. package/signature/signature.module.d.ts +5 -5
  642. package/size-detector/pepperi-addons-ngx-lib-size-detector.d.ts +4 -4
  643. package/size-detector/public-api.d.ts +2 -2
  644. package/size-detector/size-detector.component.d.ts +26 -26
  645. package/size-detector/size-detector.module.d.ts +2 -2
  646. package/slider/pepperi-addons-ngx-lib-slider.d.ts +4 -4
  647. package/slider/public-api.d.ts +2 -2
  648. package/slider/slider.component.d.ts +36 -36
  649. package/slider/slider.module.d.ts +2 -2
  650. package/smart-filters/boolean-filter/boolean-filter.component.d.ts +25 -25
  651. package/smart-filters/common/filter-actions.component.d.ts +9 -9
  652. package/smart-filters/common/model/base-filter-component.d.ts +70 -70
  653. package/smart-filters/common/model/creator.d.ts +6 -6
  654. package/smart-filters/common/model/field.d.ts +69 -69
  655. package/smart-filters/common/model/filter.d.ts +11 -11
  656. package/smart-filters/common/model/operator.d.ts +51 -51
  657. package/smart-filters/common/model/type.d.ts +4 -4
  658. package/smart-filters/date-filter/date-filter.component.d.ts +56 -56
  659. package/smart-filters/multi-select-filter/multi-select-filter.component.d.ts +53 -53
  660. package/smart-filters/number-filter/number-filter.component.d.ts +48 -48
  661. package/smart-filters/pepperi-addons-ngx-lib-smart-filters.d.ts +4 -4
  662. package/smart-filters/public-api.d.ts +14 -14
  663. package/smart-filters/smart-filters.component.d.ts +32 -32
  664. package/smart-filters/smart-filters.module.d.ts +5 -5
  665. package/smart-filters/text-filter/text-filter.component.d.ts +25 -25
  666. package/snack-bar/default-snack-bar.component.d.ts +10 -10
  667. package/snack-bar/pepperi-addons-ngx-lib-snack-bar.d.ts +5 -5
  668. package/snack-bar/public-api.d.ts +4 -4
  669. package/snack-bar/snack-bar.component.d.ts +9 -9
  670. package/snack-bar/snack-bar.model.d.ts +8 -8
  671. package/snack-bar/snack-bar.module.d.ts +5 -5
  672. package/snack-bar/snack-bar.service.d.ts +21 -21
  673. package/textarea/pepperi-addons-ngx-lib-textarea.d.ts +4 -4
  674. package/textarea/public-api.d.ts +2 -2
  675. package/textarea/textarea.component.d.ts +51 -51
  676. package/textarea/textarea.module.d.ts +5 -5
  677. package/textbox/pepperi-addons-ngx-lib-textbox.d.ts +5 -5
  678. package/textbox/public-api.d.ts +2 -2
  679. package/textbox/textbox-validation.directive.d.ts +18 -18
  680. package/textbox/textbox.component.d.ts +141 -141
  681. package/textbox/textbox.module.d.ts +5 -5
  682. package/textbox-icon/pepperi-addons-ngx-lib-textbox-icon.d.ts +4 -4
  683. package/textbox-icon/public-api.d.ts +2 -2
  684. package/textbox-icon/textbox-icon.component.d.ts +10 -10
  685. package/textbox-icon/textbox-icon.module.d.ts +5 -5
  686. package/top-bar/pepperi-addons-ngx-lib-top-bar.d.ts +4 -4
  687. package/top-bar/public-api.d.ts +3 -3
  688. package/top-bar/top-bar.component.d.ts +36 -36
  689. package/top-bar/top-bar.model.d.ts +4 -4
  690. package/top-bar/top-bar.module.d.ts +5 -5
@@ -1,220 +1,220 @@
1
- import { Component, Input, Output, EventEmitter, ViewChild, ElementRef, ChangeDetectionStrategy, Renderer2, } from '@angular/core';
2
- import { PepCustomizationService, DEFAULT_HORIZONTAL_ALIGNMENT, PepSelectField, } from '@pepperi-addons/ngx-lib';
3
- export class PepSelectComponent {
4
- constructor(customizationService, renderer, element) {
5
- this.customizationService = customizationService;
6
- this.renderer = renderer;
7
- this.element = element;
8
- this.key = '';
9
- this.value = '';
10
- this.label = '';
11
- this.type = 'select';
12
- this.mandatory = false;
13
- this.disabled = false;
14
- this.readonly = false;
15
- this.xAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;
16
- this.rowSpan = 1;
17
- this.options = [];
18
- this._visible = true;
19
- this._emptyOption = true;
20
- this.controlType = 'select';
21
- // @Input() field: PepFieldBase;
22
- this.form = null;
23
- this.layoutType = 'form';
24
- this.parentFieldKey = null;
25
- this.isActive = false;
26
- this.showTitle = true;
27
- this.renderTitle = true;
28
- this.valueChange = new EventEmitter();
29
- this.formValidationChange = new EventEmitter();
30
- this.standAlone = false;
31
- this.isInEditMode = false;
32
- this.isMulti = false;
33
- this.fieldFormattedValue = '';
34
- }
35
- set visible(visible) {
36
- this._visible = visible;
37
- if (visible) {
38
- this.renderer.removeClass(this.element.nativeElement, 'hidden-element');
39
- }
40
- else {
41
- this.renderer.addClass(this.element.nativeElement, 'hidden-element');
42
- }
43
- }
44
- get visible() {
45
- return this._visible;
46
- }
47
- set emptyOption(val) {
48
- if (val !== undefined) {
49
- this._emptyOption = val;
50
- }
51
- }
52
- get emptyOption() {
53
- return this._emptyOption;
54
- }
55
- addOptionsIfNeeded() {
56
- if (this.isMulti) {
57
- // Go gor all selected and add to options if not exist
58
- // for (let i = 0; i < this.selectedValuesModel.length; i++) {
59
- for (const selectedValue of this.selectedValuesModel) {
60
- let valueNotExist = false;
61
- if (this.options &&
62
- !this.options.find((opt) => opt.key === selectedValue)) {
63
- valueNotExist = true;
64
- }
65
- // Add it to options.
66
- if (valueNotExist) {
67
- this.options.push({
68
- key: selectedValue,
69
- value: selectedValue,
70
- });
71
- }
72
- }
73
- }
74
- else {
75
- if (this.value &&
76
- this.value !== '' &&
77
- this.options &&
78
- !this.options.find((opt) => opt.key === this.value)) {
79
- this.options.push({ key: this.value, value: this.value });
80
- }
81
- }
82
- }
83
- setFieldFormattedValue(value) {
84
- if (this.isMulti) {
85
- if (this.selectedValuesModel.length > 0) {
86
- this.fieldFormattedValue = this.selectedValuesModel
87
- .map((value) => {
88
- var _a;
89
- return (_a = this.options.find((opt) => opt.key === value)) === null || _a === void 0 ? void 0 : _a.value;
90
- })
91
- .join(', ');
92
- }
93
- else {
94
- this.fieldFormattedValue = '';
95
- }
96
- // this.fieldFormattedValue = typeof value === 'string' ? value.replace(new RegExp(';', 'g'), ', ') : '';
97
- }
98
- else {
99
- const selectedOpt = this.options.find((opt) => opt.key === value);
100
- // fix DI-19371 - can't select none as option : avner
101
- this.fieldFormattedValue = selectedOpt ? selectedOpt.value : '';
102
- }
103
- }
104
- setDefaultForm() {
105
- const pepField = new PepSelectField({
106
- key: this.key,
107
- value: this.value,
108
- mandatory: this.mandatory,
109
- readonly: this.readonly,
110
- disabled: this.disabled,
111
- });
112
- this.form = this.customizationService.getDefaultFromGroup(pepField);
113
- }
114
- ngOnInit() {
115
- if (this.form === null) {
116
- this.standAlone = true;
117
- this.setDefaultForm();
118
- this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME);
119
- if (!this.renderTitle) {
120
- this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME);
121
- }
122
- }
123
- }
124
- ngOnChanges(changes) {
125
- if (this.standAlone) {
126
- this.setDefaultForm();
127
- }
128
- this.isMulti = this.type === 'multi';
129
- if (this.isMulti) {
130
- this.selectedValuesModel =
131
- this.value.length > 0 ? this.value.split(';') : [];
132
- }
133
- else {
134
- this.selectedValueModel = this.value;
135
- }
136
- this.addOptionsIfNeeded();
137
- this.setFieldFormattedValue(this.value);
138
- }
139
- ngOnDestroy() {
140
- //
141
- }
142
- selectionChange(event) {
143
- if (!this.isMulti) {
144
- this.changeValue(this.selectedValueModel);
145
- }
146
- }
147
- openedChange(event) {
148
- // Only on close.
149
- if (!event) {
150
- if (this.isMulti) {
151
- this.changeValue(this.selectedValuesModel.join(';'));
152
- }
153
- if (this.isInEditMode) {
154
- this.isInEditMode = false;
155
- }
156
- }
157
- }
158
- changeValue(value) {
159
- this.setFieldFormattedValue(value);
160
- this.customizationService.updateFormFieldValue(this.form, this.key,
161
- // value,
162
- this.fieldFormattedValue, this.parentFieldKey);
163
- if (this.mandatory) {
164
- const fieldControl = this.form.controls[this.key];
165
- if (value) {
166
- fieldControl.setErrors(null);
167
- }
168
- else {
169
- fieldControl.setErrors({
170
- serverError: 'Required',
171
- });
172
- }
173
- this.formValidationChange.emit(this.form.valid);
174
- }
175
- this.valueChange.emit(value);
176
- }
177
- cardTemplateClicked(event) {
178
- this.isInEditMode = true;
179
- setTimeout(() => {
180
- this.select.open();
181
- }, 0);
182
- }
183
- }
184
- PepSelectComponent.decorators = [
185
- { type: Component, args: [{
186
- selector: 'pep-select',
187
- template: "<ng-container [formGroup]=\"form\">\n <ng-template #pepTemplate>\n <ng-container *ngIf=\"type == 'multi'; then multiSelectBlock; else regularSelectBlock\"></ng-container>\n <ng-template #regularSelectBlock>\n <mat-form-field appearance=\"outline\" dir=\"{{ xAlignment === 'right' ? 'rtl' : 'ltr' }}\">\n <mat-select #select [required]=\"mandatory ? mandatory : undefined\" matInput disableOptionCentering\n class=\"body-sm text-align-{{ xAlignment }}\" [id]=\"key\"\n [ngClass]=\"{'right-alignment': xAlignment === 'right'}\"\n [placeholder]=\"disabled || readonly ? '' : ('SELECT.HINT' | translate)\"\n [(ngModel)]=\"selectedValueModel\" [ngModelOptions]=\"{standalone: true}\" [disabled]=\"disabled\"\n (selectionChange)=\"selectionChange($event)\" (openedChange)=\"openedChange($event)\"\n title=\"{{ fieldFormattedValue }}\">\n <mat-option *ngIf=\"emptyOption\" value=\"\" [title]=\"'LIST.NONE' | translate\">{{ 'LIST.NONE' |\n translate }}</mat-option>\n <mat-option *ngFor=\"let option of options\" [value]=\"option.key\" [title]=\"option.value\">{{\n option.value }}</mat-option>\n </mat-select>\n <mat-error>\n <span class=\"body-xs\" [title]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"\n [innerText]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"></span>\n </mat-error>\n </mat-form-field>\n </ng-template>\n <ng-template #multiSelectBlock>\n <mat-form-field appearance=\"outline\" dir=\"{{ xAlignment === 'right' ? 'rtl' : 'ltr' }}\">\n <mat-select #select multiple [required]=\"mandatory ? mandatory : undefined\" matInput\n disableOptionCentering class=\"body-sm text-align-{{ xAlignment }}\" [id]=\"key\"\n [ngClass]=\"{'right-alignment': xAlignment === 'right'}\"\n [placeholder]=\"disabled || readonly ? '' : ('SELECT.HINT' | translate)\"\n [(ngModel)]=\"selectedValuesModel\" [ngModelOptions]=\"{standalone: true}\" [disabled]=\"disabled\"\n (openedChange)=\"openedChange($event)\" title=\"{{ fieldFormattedValue }}\">\n <mat-option *ngFor=\"let option of options\" [value]=\"option.key\" [title]=\"option.value\">{{\n option.value }}</mat-option>\n </mat-select>\n <mat-error><span class=\"body-xs\" [title]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"\n [innerText]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"> </span>\n </mat-error>\n </mat-form-field>\n </ng-template>\n </ng-template>\n\n <ng-container *ngIf=\"layoutType === 'form'\">\n <pep-field-title *ngIf=\"!parentFieldKey && renderTitle\" [label]=\"label\" [mandatory]=\"mandatory\"\n [disabled]=\"disabled\" [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngIf=\"isInEditMode; then editBlock; else readOnlyBlock\"></ng-container>\n <ng-template #editBlock>\n <div [ngClass]=\"{'one-row': rowSpan === 1}\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #readOnlyBlock>\n <div class=\"pep-card-input card-flex-container\"\n [ngClass]=\"{'one-row': rowSpan === 1, 'pep-button weak': isActive && !disabled}\"\n [class]=\"'text-align-' + xAlignment\" (click)=\"!disabled ? cardTemplateClicked($event) : ''\">\n <span *ngIf=\"showTitle && label != ''\" class=\"body-xs title\" title=\"{{ label }}\">{{ label\n }}&nbsp;</span>\n <span [id]=\"key\" title=\"{{ fieldFormattedValue }}\" class=\"body-sm value\">{{ fieldFormattedValue\n }}</span>\n <button *ngIf=\"isActive && !disabled\" class=\"pep-button weak card-edit-button\" mat-button>\n <mat-icon>\n <pep-icon name=\"system_edit\">\n </pep-icon>\n </mat-icon>\n </button>\n </div>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngIf=\"isActive && !disabled; then selectedBlock; else notSelectedBlock\"></ng-container>\n <ng-template #selectedBlock>\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </ng-template>\n <ng-template #notSelectedBlock>\n <span [id]=\"key\" class=\"body-sm pep-report-input\" [ngClass]=\"{readonly: disabled}\"\n title=\"{{ fieldFormattedValue }}\">{{ fieldFormattedValue }}</span>\n </ng-template>\n </ng-container>\n</ng-container>",
188
- changeDetection: ChangeDetectionStrategy.OnPush,
189
- styles: [":host{height:inherit;display:grid}:host>*{align-self:center}::ng-deep .mat-select-trigger{display:flex;align-content:center;height:inherit}::ng-deep .mat-select-value{max-width:inherit;display:grid;align-self:center}::ng-deep .mat-select-arrow{width:1.5rem;height:1.5rem;margin:0;display:flex;align-items:center;justify-content:center}::ng-deep .mat-select-arrow:after{content:url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgaWQ9InN2ZzQiCiAgIHZlcnNpb249IjEuMSIKICAgdmlld0JveD0iMCAwIDI0IDI0IgogICBoZWlnaHQ9IjE2IgogICB3aWR0aD0iMTYiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTEwIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8cGF0aAogICAgIGlkPSJwYXRoMiIKICAgICBkPSJNNS44MDAzMjE0OCw5LjI4Njc0MzU0IEwxMS4yNTQyODI0LDEzLjIwMjc1ODMgQzExLjY2NjEzMDksMTMuNTg1MDgzIDEyLjMzMzg2OTEsMTMuNTg1MDgzIDEyLjc0NTcxNzYsMTMuMjAyNzU4MyBMMTguMTk5Njc4NSw5LjI4Njc0MzU0IEMxOC42MTE1MjcsOC45MDQ0MTg4MiAxOS4yNzkyNjUyLDguOTA0NDE4ODIgMTkuNjkxMTEzNyw5LjI4Njc0MzU0IEMyMC4xMDI5NjIxLDkuNjY5MDY4MjYgMjAuMTAyOTYyMSwxMC4yODg5MzkxIDE5LjY5MTExMzcsMTAuNjcxMjYzOCBMMTMuNDkxNDM1MSwxNi40MjY1MTI5IEMxMi42Njc3MzgzLDE3LjE5MTE2MjQgMTEuMzMyMjYxNywxNy4xOTExNjI0IDEwLjUwODU2NDksMTYuNDI2NTEyOSBMNC4zMDg4ODYzMywxMC42NzEyNjM4IEMzLjg5NzAzNzg5LDEwLjI4ODkzOTEgMy44OTcwMzc4OSw5LjY2OTA2ODI2IDQuMzA4ODg2MzMsOS4yODY3NDM1NCBDNC43MjA3MzQ3OCw4LjkwNDQxODgyIDUuMzg4NDczMDMsOC45MDQ0MTg4MiA1LjgwMDMyMTQ4LDkuMjg2NzQzNTQgWiIKICAgICBmaWxsLXJ1bGU9ImV2ZW5vZGQiCiAgICAgZmlsbC1vcGFjaXR5PSIuNSIgLz4KPC9zdmc+Cg==\");cursor:pointer;width:1rem;height:1rem}::ng-deep .mat-select-disabled{pointer-events:none}::ng-deep .mat-select-disabled .mat-select-arrow:after{content:none}::ng-deep .mat-select-panel .mat-pseudo-checkbox{width:1rem;height:1rem;border-radius:.25rem}::ng-deep .mat-select-panel .mat-pseudo-checkbox:after{width:0;height:0}::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-checked{content:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNy41MTExNjM5LDcuMDAwNjI5NjggQzE3LjEzNTI3Myw3LjAxMDk5Mjg1IDE2Ljc3OTE1ODIsNy4xNjgzMTkwOSAxNi41MTYzMjg4LDcuNDM3NzU0MjEgQzE0LjIyNjEzMzksOS43MzI2NTE5MiAxMi4xMzU2Nzc4LDExLjk4MjQwMjIgOS45MzY5MTEzNSwxNC4yMjgxOTczIEw3LjM1MTc4NzA4LDEyLjE1NTYxMiBDNy4wNTIyMDMwMywxMS45MTUzODI5IDYuNjY5NzI4MTIsMTEuODA0MjI0MiA2LjI4ODE2OTY2LDExLjg0NjYyMjMgQzUuOTA1Njk0NzUsMTEuODg5MDE1NSA1LjU1NzEyODY0LDEyLjA4MTIwMDggNS4zMTY4OTcwNiwxMi4zODE3MzUxIEM1LjA3NzYwODQ2LDEyLjY4MTMxOTEgNC45NjY0NDk4MSwxMy4wNjM3OTQgNS4wMDg4NDc4NywxMy40NDUzNTI1IEM1LjA1MTI0MTExLDEzLjgyNzgyNzQgNS4yNDM0MjYzOCwxNC4xNzYzOTM1IDUuNTQyOTk1OTUsMTQuNDE2NjI1MSBMOS4xNjA1NzgyLDE3LjMxMDY5MDkgQzkuNzM5MDA1NDksMTcuNzcwNDEzMiAxMC41Njk5NCwxNy43MjIzNzE3IDExLjA4OTk1NTQsMTcuMTk3NjQxNCBDMTMuNjkxOTYxNywxNC41OTAwODgxIDE2LjAyMzYxNDEsMTIuMDI4MzU3NiAxOC41NjYyOTIxLDkuNDgwMTMyNjIgQzE4Ljk5MTE2NSw5LjA2Mjc4NDIxIDE5LjExNzQxODcsOC40Mjc4MjYxOCAxOC44ODQ3MTE2LDcuODgwNDg1OTggQzE4LjY1MTA3NjEsNy4zMzIyMDUyMSAxOC4xMDY1NDU2LDYuOTgzNjE0OTkgMTcuNTExMTYzOSw3LjAwMDU5MzUxIEwxNy41MTExNjM5LDcuMDAwNjI5NjggWiIvPgogIDwvc3ZnPg==\")}.right-alignment{direction:rtl}", "mat-select{outline:none}::ng-deep .mat-select-disabled .mat-select-value{color:rgba(26,26,26,.7);color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.7)}::ng-deep .mat-select-arrow-wrapper{transform:unset!important;vertical-align:middle}::ng-deep .mat-select-arrow-wrapper .mat-select-arrow{border:0}::ng-deep .mat-select-arrow-wrapper .mat-select-arrow:after{color:#1a1a1a;color:hsl(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%))}::ng-deep .mat-select-panel .mat-option{background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .mat-select-panel .mat-option:hover{background:rgba(26,26,26,.16);background:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.16)}::ng-deep .mat-select-panel .mat-option:active{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);background:rgba(26,26,26,.24)!important;background:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.24)!important}::ng-deep .mat-select-panel .mat-option:active:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .mat-select-panel .mat-option:disabled{box-shadow:unset;border:unset;color:rgba(26,26,26,.35)!important;color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)!important;background:rgba(26,26,26,.04)!important;background:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.04)!important}::ng-deep .mat-select-panel .mat-option:disabled:after{border:unset}::ng-deep .mat-select-panel .mat-option:disabled .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .mat-select-panel .mat-option:disabled .svg-icon.stroke{fill:unset;stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .mat-select-panel .mat-option.mat-selected{background:rgba(26,26,26,.12);background:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.12)}::ng-deep .mat-select-panel .mat-option.mat-selected:hover{background:rgba(26,26,26,.16);background:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.16)}::ng-deep .mat-select-panel .mat-option.mat-selected:active{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);background:rgba(26,26,26,.24)!important;background:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.24)!important}::ng-deep .mat-select-panel .mat-option.mat-selected:active:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .mat-select-panel .mat-option.mat-selected:disabled{box-shadow:unset;border:unset;color:rgba(26,26,26,.35)!important;color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)!important;background:rgba(26,26,26,.04)!important;background:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.04)!important}::ng-deep .mat-select-panel .mat-option.mat-selected:disabled:after{border:unset}::ng-deep .mat-select-panel .mat-option.mat-selected:disabled .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .mat-select-panel .mat-option.mat-selected:disabled .svg-icon.stroke{fill:unset;stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .mat-select-panel .mat-pseudo-checkbox{background:#fafafa;background:hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),98%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);border:1px solid hsl(0,0%,calc(10% + 30%));border:1px solid hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),calc(var(--pep-color-regular-l, 10%) + 30%))}::ng-deep .mat-select-panel .mat-pseudo-checkbox:hover{background:#fafafa;background:hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),98%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.16);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.16);border:1px solid hsl(0,0%,calc(10% + 20%));border:1px solid hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),calc(var(--pep-color-regular-l, 10%) + 20%))}::ng-deep .mat-select-panel .mat-pseudo-checkbox:active{background:#e0e0e0;background:hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),88%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.32);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.32);border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),var(--pep-color-regular-l,10%))}::ng-deep .mat-select-panel .mat-pseudo-checkbox:disabled{box-shadow:unset;border:unset;color:rgba(26,26,26,.35)!important;color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)!important;background:#e0e0e0!important;background:hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),88%)!important;box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.04)!important;box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.04)!important;border:1px solid rgba(26,26,26,.08);border:1px solid hsla(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),var(--pep-color-regular-l,10%),.08)}::ng-deep .mat-select-panel .mat-pseudo-checkbox:disabled:after{border:unset}::ng-deep .mat-select-panel .mat-pseudo-checkbox:disabled .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .mat-select-panel .mat-pseudo-checkbox:disabled .svg-icon.stroke{fill:unset;stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-checked,::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{background:#fafafa;background:hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),98%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);border:1px solid hsl(0,0%,calc(10% + 20%));border:1px solid hsl(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),calc(var(--pep-color-system-primary-l, 10%) + 20%))}::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-checked:hover,::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate:hover{background:#fafafa;background:hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),98%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.16);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.16);border:1px solid hsl(0,0%,calc(10% + 20%));border:1px solid hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),calc(var(--pep-color-regular-l, 10%) + 20%))}::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-checked:active,::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate:active{background:#e0e0e0;background:hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),88%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.32);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.32);border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),var(--pep-color-regular-l,10%))}::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-checked:disabled,::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate:disabled{box-shadow:unset;border:unset;color:rgba(26,26,26,.35)!important;color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)!important;background:#e0e0e0!important;background:hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),88%)!important;box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.04)!important;box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.04)!important;border:1px solid rgba(26,26,26,.08);border:1px solid hsla(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),var(--pep-color-regular-l,10%),.08)}::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-checked:disabled:after,::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate:disabled:after{border:unset}::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-checked:disabled .svg-icon,::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate:disabled .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-checked:disabled .svg-icon.stroke,::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate:disabled .svg-icon.stroke{fill:unset;stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .mat-select-panel .mat-pseudo-checkbox:after{color:#1a1a1a!important;color:hsl(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%))!important}"]
190
- },] }
191
- ];
192
- PepSelectComponent.ctorParameters = () => [
193
- { type: PepCustomizationService },
194
- { type: Renderer2 },
195
- { type: ElementRef }
196
- ];
197
- PepSelectComponent.propDecorators = {
198
- key: [{ type: Input }],
199
- value: [{ type: Input }],
200
- label: [{ type: Input }],
201
- type: [{ type: Input }],
202
- mandatory: [{ type: Input }],
203
- disabled: [{ type: Input }],
204
- readonly: [{ type: Input }],
205
- xAlignment: [{ type: Input }],
206
- rowSpan: [{ type: Input }],
207
- options: [{ type: Input }],
208
- visible: [{ type: Input }],
209
- emptyOption: [{ type: Input }],
210
- form: [{ type: Input }],
211
- layoutType: [{ type: Input }],
212
- parentFieldKey: [{ type: Input }],
213
- isActive: [{ type: Input }],
214
- showTitle: [{ type: Input }],
215
- renderTitle: [{ type: Input }],
216
- valueChange: [{ type: Output }],
217
- formValidationChange: [{ type: Output }],
218
- select: [{ type: ViewChild, args: ['select',] }]
219
- };
1
+ import { Component, Input, Output, EventEmitter, ViewChild, ElementRef, ChangeDetectionStrategy, Renderer2, } from '@angular/core';
2
+ import { PepCustomizationService, DEFAULT_HORIZONTAL_ALIGNMENT, PepSelectField, } from '@pepperi-addons/ngx-lib';
3
+ export class PepSelectComponent {
4
+ constructor(customizationService, renderer, element) {
5
+ this.customizationService = customizationService;
6
+ this.renderer = renderer;
7
+ this.element = element;
8
+ this.key = '';
9
+ this.value = '';
10
+ this.label = '';
11
+ this.type = 'select';
12
+ this.mandatory = false;
13
+ this.disabled = false;
14
+ this.readonly = false;
15
+ this.xAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;
16
+ this.rowSpan = 1;
17
+ this.options = [];
18
+ this._visible = true;
19
+ this._emptyOption = true;
20
+ this.controlType = 'select';
21
+ // @Input() field: PepFieldBase;
22
+ this.form = null;
23
+ this.layoutType = 'form';
24
+ this.parentFieldKey = null;
25
+ this.isActive = false;
26
+ this.showTitle = true;
27
+ this.renderTitle = true;
28
+ this.valueChange = new EventEmitter();
29
+ this.formValidationChange = new EventEmitter();
30
+ this.standAlone = false;
31
+ this.isInEditMode = false;
32
+ this.isMulti = false;
33
+ this.fieldFormattedValue = '';
34
+ }
35
+ set visible(visible) {
36
+ this._visible = visible;
37
+ if (visible) {
38
+ this.renderer.removeClass(this.element.nativeElement, 'hidden-element');
39
+ }
40
+ else {
41
+ this.renderer.addClass(this.element.nativeElement, 'hidden-element');
42
+ }
43
+ }
44
+ get visible() {
45
+ return this._visible;
46
+ }
47
+ set emptyOption(val) {
48
+ if (val !== undefined) {
49
+ this._emptyOption = val;
50
+ }
51
+ }
52
+ get emptyOption() {
53
+ return this._emptyOption;
54
+ }
55
+ addOptionsIfNeeded() {
56
+ if (this.isMulti) {
57
+ // Go gor all selected and add to options if not exist
58
+ // for (let i = 0; i < this.selectedValuesModel.length; i++) {
59
+ for (const selectedValue of this.selectedValuesModel) {
60
+ let valueNotExist = false;
61
+ if (this.options &&
62
+ !this.options.find((opt) => opt.key === selectedValue)) {
63
+ valueNotExist = true;
64
+ }
65
+ // Add it to options.
66
+ if (valueNotExist) {
67
+ this.options.push({
68
+ key: selectedValue,
69
+ value: selectedValue,
70
+ });
71
+ }
72
+ }
73
+ }
74
+ else {
75
+ if (this.value &&
76
+ this.value !== '' &&
77
+ this.options &&
78
+ !this.options.find((opt) => opt.key === this.value)) {
79
+ this.options.push({ key: this.value, value: this.value });
80
+ }
81
+ }
82
+ }
83
+ setFieldFormattedValue(value) {
84
+ if (this.isMulti) {
85
+ if (this.selectedValuesModel.length > 0) {
86
+ this.fieldFormattedValue = this.selectedValuesModel
87
+ .map((value) => {
88
+ var _a;
89
+ return (_a = this.options.find((opt) => opt.key === value)) === null || _a === void 0 ? void 0 : _a.value;
90
+ })
91
+ .join(', ');
92
+ }
93
+ else {
94
+ this.fieldFormattedValue = '';
95
+ }
96
+ // this.fieldFormattedValue = typeof value === 'string' ? value.replace(new RegExp(';', 'g'), ', ') : '';
97
+ }
98
+ else {
99
+ const selectedOpt = this.options.find((opt) => opt.key === value);
100
+ // fix DI-19371 - can't select none as option : avner
101
+ this.fieldFormattedValue = selectedOpt ? selectedOpt.value : '';
102
+ }
103
+ }
104
+ setDefaultForm() {
105
+ const pepField = new PepSelectField({
106
+ key: this.key,
107
+ value: this.value,
108
+ mandatory: this.mandatory,
109
+ readonly: this.readonly,
110
+ disabled: this.disabled,
111
+ });
112
+ this.form = this.customizationService.getDefaultFromGroup(pepField);
113
+ }
114
+ ngOnInit() {
115
+ if (this.form === null) {
116
+ this.standAlone = true;
117
+ this.setDefaultForm();
118
+ this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME);
119
+ if (!this.renderTitle) {
120
+ this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME);
121
+ }
122
+ }
123
+ }
124
+ ngOnChanges(changes) {
125
+ if (this.standAlone) {
126
+ this.setDefaultForm();
127
+ }
128
+ this.isMulti = this.type === 'multi';
129
+ if (this.isMulti) {
130
+ this.selectedValuesModel =
131
+ this.value.length > 0 ? this.value.split(';') : [];
132
+ }
133
+ else {
134
+ this.selectedValueModel = this.value;
135
+ }
136
+ this.addOptionsIfNeeded();
137
+ this.setFieldFormattedValue(this.value);
138
+ }
139
+ ngOnDestroy() {
140
+ //
141
+ }
142
+ selectionChange(event) {
143
+ if (!this.isMulti) {
144
+ this.changeValue(this.selectedValueModel);
145
+ }
146
+ }
147
+ openedChange(event) {
148
+ // Only on close.
149
+ if (!event) {
150
+ if (this.isMulti) {
151
+ this.changeValue(this.selectedValuesModel.join(';'));
152
+ }
153
+ if (this.isInEditMode) {
154
+ this.isInEditMode = false;
155
+ }
156
+ }
157
+ }
158
+ changeValue(value) {
159
+ this.setFieldFormattedValue(value);
160
+ this.customizationService.updateFormFieldValue(this.form, this.key,
161
+ // value,
162
+ this.fieldFormattedValue, this.parentFieldKey);
163
+ if (this.mandatory) {
164
+ const fieldControl = this.form.controls[this.key];
165
+ if (value) {
166
+ fieldControl.setErrors(null);
167
+ }
168
+ else {
169
+ fieldControl.setErrors({
170
+ serverError: 'Required',
171
+ });
172
+ }
173
+ this.formValidationChange.emit(this.form.valid);
174
+ }
175
+ this.valueChange.emit(value);
176
+ }
177
+ cardTemplateClicked(event) {
178
+ this.isInEditMode = true;
179
+ setTimeout(() => {
180
+ this.select.open();
181
+ }, 0);
182
+ }
183
+ }
184
+ PepSelectComponent.decorators = [
185
+ { type: Component, args: [{
186
+ selector: 'pep-select',
187
+ template: "<ng-container [formGroup]=\"form\">\n <ng-template #pepTemplate>\n <ng-container *ngIf=\"type == 'multi'; then multiSelectBlock; else regularSelectBlock\"></ng-container>\n <ng-template #regularSelectBlock>\n <mat-form-field appearance=\"outline\" dir=\"{{ xAlignment === 'right' ? 'rtl' : 'ltr' }}\">\n <mat-select #select [required]=\"mandatory ? mandatory : undefined\" matInput disableOptionCentering\n class=\"body-sm text-align-{{ xAlignment }}\" [id]=\"key\"\n [ngClass]=\"{'right-alignment': xAlignment === 'right'}\"\n [placeholder]=\"disabled || readonly ? '' : ('SELECT.HINT' | translate)\"\n [(ngModel)]=\"selectedValueModel\" [ngModelOptions]=\"{standalone: true}\" [disabled]=\"disabled\"\n (selectionChange)=\"selectionChange($event)\" (openedChange)=\"openedChange($event)\"\n title=\"{{ fieldFormattedValue }}\">\n <mat-option *ngIf=\"emptyOption\" value=\"\" [title]=\"'LIST.NONE' | translate\">{{ 'LIST.NONE' |\n translate }}</mat-option>\n <mat-option *ngFor=\"let option of options\" [value]=\"option.key\" [title]=\"option.value\">{{\n option.value }}</mat-option>\n </mat-select>\n <mat-error>\n <span class=\"body-xs\" [title]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"\n [innerText]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"></span>\n </mat-error>\n </mat-form-field>\n </ng-template>\n <ng-template #multiSelectBlock>\n <mat-form-field appearance=\"outline\" dir=\"{{ xAlignment === 'right' ? 'rtl' : 'ltr' }}\">\n <mat-select #select multiple [required]=\"mandatory ? mandatory : undefined\" matInput\n disableOptionCentering class=\"body-sm text-align-{{ xAlignment }}\" [id]=\"key\"\n [ngClass]=\"{'right-alignment': xAlignment === 'right'}\"\n [placeholder]=\"disabled || readonly ? '' : ('SELECT.HINT' | translate)\"\n [(ngModel)]=\"selectedValuesModel\" [ngModelOptions]=\"{standalone: true}\" [disabled]=\"disabled\"\n (openedChange)=\"openedChange($event)\" title=\"{{ fieldFormattedValue }}\">\n <mat-option *ngFor=\"let option of options\" [value]=\"option.key\" [title]=\"option.value\">{{\n option.value }}</mat-option>\n </mat-select>\n <mat-error><span class=\"body-xs\" [title]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"\n [innerText]=\"'MESSAGES.ERROR_IS_REQUIRED' | translate: {field: label}\"> </span>\n </mat-error>\n </mat-form-field>\n </ng-template>\n </ng-template>\n\n <ng-container *ngIf=\"layoutType === 'form'\">\n <pep-field-title *ngIf=\"!parentFieldKey && renderTitle\" [label]=\"label\" [mandatory]=\"mandatory\"\n [disabled]=\"disabled\" [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngIf=\"isInEditMode; then editBlock; else readOnlyBlock\"></ng-container>\n <ng-template #editBlock>\n <div [ngClass]=\"{'one-row': rowSpan === 1}\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #readOnlyBlock>\n <div class=\"pep-card-input card-flex-container\"\n [ngClass]=\"{'one-row': rowSpan === 1, 'pep-button weak': isActive && !disabled}\"\n [class]=\"'text-align-' + xAlignment\" (click)=\"!disabled ? cardTemplateClicked($event) : ''\">\n <span *ngIf=\"showTitle && label != ''\" class=\"body-xs title\" title=\"{{ label }}\">{{ label\n }}&nbsp;</span>\n <span [id]=\"key\" title=\"{{ fieldFormattedValue }}\" class=\"body-sm value\">{{ fieldFormattedValue\n }}</span>\n <button *ngIf=\"isActive && !disabled\" class=\"pep-button weak card-edit-button\" mat-button>\n <mat-icon>\n <pep-icon name=\"system_edit\">\n </pep-icon>\n </mat-icon>\n </button>\n </div>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngIf=\"isActive && !disabled; then selectedBlock; else notSelectedBlock\"></ng-container>\n <ng-template #selectedBlock>\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </ng-template>\n <ng-template #notSelectedBlock>\n <span [id]=\"key\" class=\"body-sm pep-report-input\" [ngClass]=\"{readonly: disabled}\"\n title=\"{{ fieldFormattedValue }}\">{{ fieldFormattedValue }}</span>\n </ng-template>\n </ng-container>\n</ng-container>",
188
+ changeDetection: ChangeDetectionStrategy.OnPush,
189
+ styles: [":host{height:inherit;display:grid}:host>*{align-self:center}::ng-deep .mat-select-trigger{display:flex;align-content:center;height:inherit}::ng-deep .mat-select-value{max-width:inherit;display:grid;align-self:center}::ng-deep .mat-select-arrow{width:1.5rem;height:1.5rem;margin:0;display:flex;align-items:center;justify-content:center}::ng-deep .mat-select-arrow:after{content:url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgaWQ9InN2ZzQiCiAgIHZlcnNpb249IjEuMSIKICAgdmlld0JveD0iMCAwIDI0IDI0IgogICBoZWlnaHQ9IjE2IgogICB3aWR0aD0iMTYiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTEwIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8cGF0aAogICAgIGlkPSJwYXRoMiIKICAgICBkPSJNNS44MDAzMjE0OCw5LjI4Njc0MzU0IEwxMS4yNTQyODI0LDEzLjIwMjc1ODMgQzExLjY2NjEzMDksMTMuNTg1MDgzIDEyLjMzMzg2OTEsMTMuNTg1MDgzIDEyLjc0NTcxNzYsMTMuMjAyNzU4MyBMMTguMTk5Njc4NSw5LjI4Njc0MzU0IEMxOC42MTE1MjcsOC45MDQ0MTg4MiAxOS4yNzkyNjUyLDguOTA0NDE4ODIgMTkuNjkxMTEzNyw5LjI4Njc0MzU0IEMyMC4xMDI5NjIxLDkuNjY5MDY4MjYgMjAuMTAyOTYyMSwxMC4yODg5MzkxIDE5LjY5MTExMzcsMTAuNjcxMjYzOCBMMTMuNDkxNDM1MSwxNi40MjY1MTI5IEMxMi42Njc3MzgzLDE3LjE5MTE2MjQgMTEuMzMyMjYxNywxNy4xOTExNjI0IDEwLjUwODU2NDksMTYuNDI2NTEyOSBMNC4zMDg4ODYzMywxMC42NzEyNjM4IEMzLjg5NzAzNzg5LDEwLjI4ODkzOTEgMy44OTcwMzc4OSw5LjY2OTA2ODI2IDQuMzA4ODg2MzMsOS4yODY3NDM1NCBDNC43MjA3MzQ3OCw4LjkwNDQxODgyIDUuMzg4NDczMDMsOC45MDQ0MTg4MiA1LjgwMDMyMTQ4LDkuMjg2NzQzNTQgWiIKICAgICBmaWxsLXJ1bGU9ImV2ZW5vZGQiCiAgICAgZmlsbC1vcGFjaXR5PSIuNSIgLz4KPC9zdmc+Cg==\");cursor:pointer;width:1rem;height:1rem}::ng-deep .mat-select-disabled{pointer-events:none}::ng-deep .mat-select-disabled .mat-select-arrow:after{content:none}::ng-deep .mat-select-panel .mat-pseudo-checkbox{width:1rem;height:1rem;border-radius:.25rem}::ng-deep .mat-select-panel .mat-pseudo-checkbox:after{width:0;height:0}::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-checked{content:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNy41MTExNjM5LDcuMDAwNjI5NjggQzE3LjEzNTI3Myw3LjAxMDk5Mjg1IDE2Ljc3OTE1ODIsNy4xNjgzMTkwOSAxNi41MTYzMjg4LDcuNDM3NzU0MjEgQzE0LjIyNjEzMzksOS43MzI2NTE5MiAxMi4xMzU2Nzc4LDExLjk4MjQwMjIgOS45MzY5MTEzNSwxNC4yMjgxOTczIEw3LjM1MTc4NzA4LDEyLjE1NTYxMiBDNy4wNTIyMDMwMywxMS45MTUzODI5IDYuNjY5NzI4MTIsMTEuODA0MjI0MiA2LjI4ODE2OTY2LDExLjg0NjYyMjMgQzUuOTA1Njk0NzUsMTEuODg5MDE1NSA1LjU1NzEyODY0LDEyLjA4MTIwMDggNS4zMTY4OTcwNiwxMi4zODE3MzUxIEM1LjA3NzYwODQ2LDEyLjY4MTMxOTEgNC45NjY0NDk4MSwxMy4wNjM3OTQgNS4wMDg4NDc4NywxMy40NDUzNTI1IEM1LjA1MTI0MTExLDEzLjgyNzgyNzQgNS4yNDM0MjYzOCwxNC4xNzYzOTM1IDUuNTQyOTk1OTUsMTQuNDE2NjI1MSBMOS4xNjA1NzgyLDE3LjMxMDY5MDkgQzkuNzM5MDA1NDksMTcuNzcwNDEzMiAxMC41Njk5NCwxNy43MjIzNzE3IDExLjA4OTk1NTQsMTcuMTk3NjQxNCBDMTMuNjkxOTYxNywxNC41OTAwODgxIDE2LjAyMzYxNDEsMTIuMDI4MzU3NiAxOC41NjYyOTIxLDkuNDgwMTMyNjIgQzE4Ljk5MTE2NSw5LjA2Mjc4NDIxIDE5LjExNzQxODcsOC40Mjc4MjYxOCAxOC44ODQ3MTE2LDcuODgwNDg1OTggQzE4LjY1MTA3NjEsNy4zMzIyMDUyMSAxOC4xMDY1NDU2LDYuOTgzNjE0OTkgMTcuNTExMTYzOSw3LjAwMDU5MzUxIEwxNy41MTExNjM5LDcuMDAwNjI5NjggWiIvPgogIDwvc3ZnPg==\")}.right-alignment{direction:rtl}", "mat-select{outline:none}::ng-deep .mat-select-disabled .mat-select-value{color:rgba(26,26,26,.7);color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.7)}::ng-deep .mat-select-arrow-wrapper{transform:unset!important;vertical-align:middle}::ng-deep .mat-select-arrow-wrapper .mat-select-arrow{border:0}::ng-deep .mat-select-arrow-wrapper .mat-select-arrow:after{color:#1a1a1a;color:hsl(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%))}::ng-deep .mat-select-panel .mat-option{background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .mat-select-panel .mat-option:hover{background:rgba(26,26,26,.16);background:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.16)}::ng-deep .mat-select-panel .mat-option:active{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);background:rgba(26,26,26,.24)!important;background:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.24)!important}::ng-deep .mat-select-panel .mat-option:active:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .mat-select-panel .mat-option:disabled{box-shadow:unset;border:unset;color:rgba(26,26,26,.35)!important;color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)!important;background:rgba(26,26,26,.04)!important;background:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.04)!important}::ng-deep .mat-select-panel .mat-option:disabled:after{border:unset}::ng-deep .mat-select-panel .mat-option:disabled .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .mat-select-panel .mat-option:disabled .svg-icon.stroke{fill:unset;stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .mat-select-panel .mat-option.mat-selected{background:rgba(26,26,26,.12);background:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.12)}::ng-deep .mat-select-panel .mat-option.mat-selected:hover{background:rgba(26,26,26,.16);background:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.16)}::ng-deep .mat-select-panel .mat-option.mat-selected:active{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);background:rgba(26,26,26,.24)!important;background:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.24)!important}::ng-deep .mat-select-panel .mat-option.mat-selected:active:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .mat-select-panel .mat-option.mat-selected:disabled{box-shadow:unset;border:unset;color:rgba(26,26,26,.35)!important;color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)!important;background:rgba(26,26,26,.04)!important;background:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.04)!important}::ng-deep .mat-select-panel .mat-option.mat-selected:disabled:after{border:unset}::ng-deep .mat-select-panel .mat-option.mat-selected:disabled .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .mat-select-panel .mat-option.mat-selected:disabled .svg-icon.stroke{fill:unset;stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .mat-select-panel .mat-pseudo-checkbox{background:#fafafa;background:hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),98%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);border:1px solid hsl(0,0%,calc(10% + 30%));border:1px solid hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),calc(var(--pep-color-regular-l, 10%) + 30%))}::ng-deep .mat-select-panel .mat-pseudo-checkbox:hover{background:#fafafa;background:hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),98%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.16);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.16);border:1px solid hsl(0,0%,calc(10% + 20%));border:1px solid hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),calc(var(--pep-color-regular-l, 10%) + 20%))}::ng-deep .mat-select-panel .mat-pseudo-checkbox:active{background:#e0e0e0;background:hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),88%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.32);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.32);border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),var(--pep-color-regular-l,10%))}::ng-deep .mat-select-panel .mat-pseudo-checkbox:disabled{box-shadow:unset;border:unset;color:rgba(26,26,26,.35)!important;color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)!important;background:#e0e0e0!important;background:hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),88%)!important;box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.04)!important;box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.04)!important;border:1px solid rgba(26,26,26,.08);border:1px solid hsla(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),var(--pep-color-regular-l,10%),.08)}::ng-deep .mat-select-panel .mat-pseudo-checkbox:disabled:after{border:unset}::ng-deep .mat-select-panel .mat-pseudo-checkbox:disabled .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .mat-select-panel .mat-pseudo-checkbox:disabled .svg-icon.stroke{fill:unset;stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-checked,::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{background:#fafafa;background:hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),98%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);border:1px solid hsl(0,0%,calc(10% + 20%));border:1px solid hsl(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),calc(var(--pep-color-system-primary-l, 10%) + 20%))}::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-checked:hover,::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate:hover{background:#fafafa;background:hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),98%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.16);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.16);border:1px solid hsl(0,0%,calc(10% + 20%));border:1px solid hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),calc(var(--pep-color-regular-l, 10%) + 20%))}::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-checked:active,::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate:active{background:#e0e0e0;background:hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),88%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.32);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.32);border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),var(--pep-color-regular-l,10%))}::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-checked:disabled,::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate:disabled{box-shadow:unset;border:unset;color:rgba(26,26,26,.35)!important;color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)!important;background:#e0e0e0!important;background:hsl(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),88%)!important;box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.04)!important;box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.04)!important;border:1px solid rgba(26,26,26,.08);border:1px solid hsla(var(--pep-color-regular-h,0),var(--pep-color-regular-s,0%),var(--pep-color-regular-l,10%),.08)}::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-checked:disabled:after,::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate:disabled:after{border:unset}::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-checked:disabled .svg-icon,::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate:disabled .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-checked:disabled .svg-icon.stroke,::ng-deep .mat-select-panel .mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate:disabled .svg-icon.stroke{fill:unset;stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .mat-select-panel .mat-pseudo-checkbox:after{color:#1a1a1a!important;color:hsl(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%))!important}"]
190
+ },] }
191
+ ];
192
+ PepSelectComponent.ctorParameters = () => [
193
+ { type: PepCustomizationService },
194
+ { type: Renderer2 },
195
+ { type: ElementRef }
196
+ ];
197
+ PepSelectComponent.propDecorators = {
198
+ key: [{ type: Input }],
199
+ value: [{ type: Input }],
200
+ label: [{ type: Input }],
201
+ type: [{ type: Input }],
202
+ mandatory: [{ type: Input }],
203
+ disabled: [{ type: Input }],
204
+ readonly: [{ type: Input }],
205
+ xAlignment: [{ type: Input }],
206
+ rowSpan: [{ type: Input }],
207
+ options: [{ type: Input }],
208
+ visible: [{ type: Input }],
209
+ emptyOption: [{ type: Input }],
210
+ form: [{ type: Input }],
211
+ layoutType: [{ type: Input }],
212
+ parentFieldKey: [{ type: Input }],
213
+ isActive: [{ type: Input }],
214
+ showTitle: [{ type: Input }],
215
+ renderTitle: [{ type: Input }],
216
+ valueChange: [{ type: Output }],
217
+ formValidationChange: [{ type: Output }],
218
+ select: [{ type: ViewChild, args: ['select',] }]
219
+ };
220
220
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFHVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBQ1QsVUFBVSxFQUNWLHVCQUF1QixFQUV2QixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUVILHVCQUF1QixFQUV2Qiw0QkFBNEIsRUFFNUIsY0FBYyxHQUVqQixNQUFNLHlCQUF5QixDQUFDO0FBUWpDLE1BQU0sT0FBTyxrQkFBa0I7SUFvRTNCLFlBQ1ksb0JBQTZDLEVBQzdDLFFBQW1CLEVBQ25CLE9BQW1CO1FBRm5CLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBeUI7UUFDN0MsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBdEV0QixRQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ1QsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxTQUFJLEdBQXVCLFFBQVEsQ0FBQztRQUNwQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixlQUFVLEdBQTJCLDRCQUE0QixDQUFDO1FBQ2xFLFlBQU8sR0FBRyxDQUFDLENBQUM7UUFDWixZQUFPLEdBQXNCLEVBQUUsQ0FBQztRQUVqQyxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBb0JoQixpQkFBWSxHQUFHLElBQUksQ0FBQztRQVc1QixnQkFBVyxHQUFHLFFBQVEsQ0FBQztRQUV2QixnQ0FBZ0M7UUFDdkIsU0FBSSxHQUFjLElBQUksQ0FBQztRQUN2QixlQUFVLEdBQWtCLE1BQU0sQ0FBQztRQUNuQyxt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QUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1YsQ0FBQzs7O1lBOU9KLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsaXNLQUFzQztnQkFFdEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2xEOzs7WUFiRyx1QkFBdUI7WUFOdkIsU0FBUztZQUhULFVBQVU7OztrQkF3QlQsS0FBSztvQkFDTCxLQUFLO29CQUNMLEtBQUs7bUJBQ0wsS0FBSzt3QkFDTCxLQUFLO3VCQUNMLEtBQUs7dUJBQ0wsS0FBSzt5QkFDTCxLQUFLO3NCQUNMLEtBQUs7c0JBQ0wsS0FBSztzQkFHTCxLQUFLOzBCQW9CTCxLQUFLO21CQWFMLEtBQUs7eUJBQ0wsS0FBSzs2QkFDTCxLQUFLO3VCQUNMLEtBQUs7d0JBQ0wsS0FBSzswQkFFTCxLQUFLOzBCQUVMLE1BQU07bUNBRU4sTUFBTTtxQkFHTixTQUFTLFNBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBPbkNoYW5nZXMsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBWaWV3Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdFNlbGVjdCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQge1xuICAgIFBlcExheW91dFR5cGUsXG4gICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgUGVwSG9yaXpvbnRhbEFsaWdubWVudCxcbiAgICBERUZBVUxUX0hPUklaT05UQUxfQUxJR05NRU5ULFxuICAgIFBlcFNlbGVjdEZpZWxkVHlwZSxcbiAgICBQZXBTZWxlY3RGaWVsZCxcbiAgICBJUGVwT3B0aW9uLFxufSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLXNlbGVjdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LmNvbXBvbmVudC5zY3NzJywgJy4vc2VsZWN0LmNvbXBvbmVudC50aGVtZS5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFBlcFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGtleSA9ICcnO1xuICAgIEBJbnB1dCgpIHZhbHVlID0gJyc7XG4gICAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgICBASW5wdXQoKSB0eXBlOiBQZXBTZWxlY3RGaWVsZFR5cGUgPSAnc2VsZWN0JztcbiAgICBASW5wdXQoKSBtYW5kYXRvcnkgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XG4gICAgQElucHV0KCkgeEFsaWdubWVudDogUGVwSG9yaXpvbnRhbEFsaWdubWVudCA9IERFRkFVTFRfSE9SSVpPTlRBTF9BTElHTk1FTlQ7XG4gICAgQElucHV0KCkgcm93U3BhbiA9IDE7XG4gICAgQElucHV0KCkgb3B0aW9uczogQXJyYXk8SVBlcE9wdGlvbj4gPSBbXTtcblxuICAgIHByaXZhdGUgX3Zpc2libGUgPSB0cnVlO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHZpc2libGUodmlzaWJsZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl92aXNpYmxlID0gdmlzaWJsZTtcbiAgICAgICAgaWYgKHZpc2libGUpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgJ2hpZGRlbi1lbGVtZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgJ2hpZGRlbi1lbGVtZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZW1wdHlPcHRpb24gPSB0cnVlO1xuICAgIEBJbnB1dCgpIFxuICAgIHNldCBlbXB0eU9wdGlvbih2YWw6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHZhbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLl9lbXB0eU9wdGlvbiA9IHZhbDtcbiAgICAgICAgfSAgICAgICAgXG4gICAgfSBcbiAgICBnZXQgZW1wdHlPcHRpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbXB0eU9wdGlvbjtcbiAgICB9XG5cbiAgICBjb250cm9sVHlwZSA9ICdzZWxlY3QnO1xuXG4gICAgLy8gQElucHV0KCkgZmllbGQ6IFBlcEZpZWxkQmFzZTtcbiAgICBASW5wdXQoKSBmb3JtOiBGb3JtR3JvdXAgPSBudWxsO1xuICAgIEBJbnB1dCgpIGxheW91dFR5cGU6IFBlcExheW91dFR5cGUgPSAnZm9ybSc7XG4gICAgQElucHV0KCkgcGFyZW50RmllbGRLZXk6IHN0cmluZyA9IG51bGw7XG4gICAgQElucHV0KCkgaXNBY3RpdmUgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBzaG93VGl0bGUgPSB0cnVlOyAgXG5cbiAgICBASW5wdXQoKSByZW5kZXJUaXRsZSA9IHRydWU7XG5cbiAgICBAT3V0cHV0KClcbiAgICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgICBAT3V0cHV0KClcbiAgICBmb3JtVmFsaWRhdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQFZpZXdDaGlsZCgnc2VsZWN0Jykgc2VsZWN0OiBNYXRTZWxlY3Q7XG5cbiAgICBzdGFuZEFsb25lID0gZmFsc2U7XG4gICAgaXNJbkVkaXRNb2RlID0gZmFsc2U7XG4gICAgaXNNdWx0aSA9IGZhbHNlO1xuICAgIHNlbGVjdGVkVmFsdWVzTW9kZWw6IHN0cmluZ1tdO1xuICAgIHNlbGVjdGVkVmFsdWVNb2RlbDogc3RyaW5nO1xuICAgIGZpZWxkRm9ybWF0dGVkVmFsdWUgPSAnJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGN1c3RvbWl6YXRpb25TZXJ2aWNlOiBQZXBDdXN0b21pemF0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWZcbiAgICApIHsgfVxuXG4gICAgcHJpdmF0ZSBhZGRPcHRpb25zSWZOZWVkZWQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTXVsdGkpIHtcbiAgICAgICAgICAgIC8vIEdvIGdvciBhbGwgc2VsZWN0ZWQgYW5kIGFkZCB0byBvcHRpb25zIGlmIG5vdCBleGlzdFxuICAgICAgICAgICAgLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnNlbGVjdGVkVmFsdWVzTW9kZWwubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGZvciAoY29uc3Qgc2VsZWN0ZWRWYWx1ZSBvZiB0aGlzLnNlbGVjdGVkVmFsdWVzTW9kZWwpIHtcbiAgICAgICAgICAgICAgICBsZXQgdmFsdWVOb3RFeGlzdCA9IGZhbHNlO1xuXG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMgJiZcbiAgICAgICAgICAgICAgICAgICAgIXRoaXMub3B0aW9ucy5maW5kKChvcHQpID0+IG9wdC5rZXkgPT09IHNlbGVjdGVkVmFsdWUpXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlTm90RXhpc3QgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIEFkZCBpdCB0byBvcHRpb25zLlxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZU5vdEV4aXN0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleTogc2VsZWN0ZWRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzZWxlY3RlZFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSAmJlxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgIT09ICcnICYmXG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zICYmXG4gICAgICAgICAgICAgICAgIXRoaXMub3B0aW9ucy5maW5kKChvcHQpID0+IG9wdC5rZXkgPT09IHRoaXMudmFsdWUpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMucHVzaCh7IGtleTogdGhpcy52YWx1ZSwgdmFsdWU6IHRoaXMudmFsdWUgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEZpZWxkRm9ybWF0dGVkVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc011bHRpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlc01vZGVsLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpZWxkRm9ybWF0dGVkVmFsdWUgPSB0aGlzLnNlbGVjdGVkVmFsdWVzTW9kZWxcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZmluZCgob3B0KSA9PiBvcHQua2V5ID09PSB2YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAuam9pbignLCAnKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZEZvcm1hdHRlZFZhbHVlID0gJyc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHRoaXMuZmllbGRGb3JtYXR0ZWRWYWx1ZSA9IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyB2YWx1ZS5yZXBsYWNlKG5ldyBSZWdFeHAoJzsnLCAnZycpLCAnLCAnKSA6ICcnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRPcHQgPSB0aGlzLm9wdGlvbnMuZmluZCgob3B0KSA9PiBvcHQua2V5ID09PSB2YWx1ZSk7XG5cbiAgICAgICAgICAgIC8vIGZpeCBESS0xOTM3MSAtIGNhbid0IHNlbGVjdCBub25lIGFzIG9wdGlvbiA6IGF2bmVyXG4gICAgICAgICAgICB0aGlzLmZpZWxkRm9ybWF0dGVkVmFsdWUgPSBzZWxlY3RlZE9wdCA/IHNlbGVjdGVkT3B0LnZhbHVlIDogJyc7XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RGVmYXVsdEZvcm0oKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBlcEZpZWxkID0gbmV3IFBlcFNlbGVjdEZpZWxkKHtcbiAgICAgICAgICAgIGtleTogdGhpcy5rZXksXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcbiAgICAgICAgICAgIG1hbmRhdG9yeTogdGhpcy5tYW5kYXRvcnksXG4gICAgICAgICAgICByZWFkb25seTogdGhpcy5yZWFkb25seSxcbiAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5jdXN0b21pemF0aW9uU2VydmljZS5nZXREZWZhdWx0RnJvbUdyb3VwKHBlcEZpZWxkKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5zdGFuZEFsb25lID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuc2V0RGVmYXVsdEZvcm0oKTtcblxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICBQZXBDdXN0b21pemF0aW9uU2VydmljZS5TVEFORF9BTE9ORV9GSUVMRF9DTEFTU19OQU1FXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMucmVuZGVyVGl0bGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UuU1RBTkRfQUxPTkVfRklFTERfTk9fU1BBQ0lOR19DTEFTU19OQU1FXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdGFuZEFsb25lKSB7XG4gICAgICAgICAgICB0aGlzLnNldERlZmF1bHRGb3JtKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzTXVsdGkgPSB0aGlzLnR5cGUgPT09ICdtdWx0aSc7XG4gICAgICAgIGlmICh0aGlzLmlzTXVsdGkpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXNNb2RlbCA9XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZS5sZW5ndGggPiAwID8gdGhpcy52YWx1ZS5zcGxpdCgnOycpIDogW107XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVNb2RlbCA9IHRoaXMudmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFkZE9wdGlvbnNJZk5lZWRlZCgpO1xuICAgICAgICB0aGlzLnNldEZpZWxkRm9ybWF0dGVkVmFsdWUodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIC8vXG4gICAgfVxuXG4gICAgc2VsZWN0aW9uQ2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzTXVsdGkpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlVmFsdWUodGhpcy5zZWxlY3RlZFZhbHVlTW9kZWwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3BlbmVkQ2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgLy8gT25seSBvbiBjbG9zZS5cbiAgICAgICAgaWYgKCFldmVudCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNNdWx0aSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlVmFsdWUodGhpcy5zZWxlY3RlZFZhbHVlc01vZGVsLmpvaW4oJzsnKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmlzSW5FZGl0TW9kZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNJbkVkaXRNb2RlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGFuZ2VWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0RmllbGRGb3JtYXR0ZWRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuY3VzdG9taXphdGlvblNlcnZpY2UudXBkYXRlRm9ybUZpZWxkVmFsdWUoXG4gICAgICAgICAgICB0aGlzLmZvcm0sXG4gICAgICAgICAgICB0aGlzLmtleSxcbiAgICAgICAgICAgIC8vIHZhbHVlLFxuICAgICAgICAgICAgdGhpcy5maWVsZEZvcm1hdHRlZFZhbHVlLFxuICAgICAgICAgICAgdGhpcy5wYXJlbnRGaWVsZEtleVxuICAgICAgICApO1xuXG4gICAgICAgIGlmICh0aGlzLm1hbmRhdG9yeSkge1xuICAgICAgICAgICAgY29uc3QgZmllbGRDb250cm9sID0gdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMua2V5XTtcbiAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIGZpZWxkQ29udHJvbC5zZXRFcnJvcnMobnVsbCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGZpZWxkQ29udHJvbC5zZXRFcnJvcnMoe1xuICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJFcnJvcjogJ1JlcXVpcmVkJyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZm9ybVZhbGlkYXRpb25DaGFuZ2UuZW1pdCh0aGlzLmZvcm0udmFsaWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBjYXJkVGVtcGxhdGVDbGlja2VkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0luRWRpdE1vZGUgPSB0cnVlO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Qub3BlbigpO1xuICAgICAgICB9LCAwKTtcbiAgICB9XG59XG4iXX0=