@pepperi-addons/ngx-lib 0.4.1-cards-list-scroll.32 → 0.4.1

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 (752) hide show
  1. package/address/address.component.d.ts +30 -30
  2. package/address/address.module.d.ts +15 -15
  3. package/address/index.d.ts +5 -5
  4. package/address/public-api.d.ts +2 -2
  5. package/attachment/attachment.component.d.ts +85 -85
  6. package/attachment/attachment.module.d.ts +14 -14
  7. package/attachment/index.d.ts +5 -5
  8. package/attachment/public-api.d.ts +2 -2
  9. package/bread-crumbs/bread-crumbs.component.d.ts +27 -27
  10. package/bread-crumbs/bread-crumbs.model.d.ts +11 -11
  11. package/bread-crumbs/bread-crumbs.module.d.ts +15 -15
  12. package/bread-crumbs/index.d.ts +5 -5
  13. package/bread-crumbs/public-api.d.ts +3 -3
  14. package/button/button.component.d.ts +102 -102
  15. package/button/button.model.d.ts +14 -14
  16. package/button/button.module.d.ts +13 -13
  17. package/button/index.d.ts +5 -5
  18. package/button/public-api.d.ts +3 -3
  19. package/carousel/carousel-item.directive.d.ts +12 -12
  20. package/carousel/carousel.component.d.ts +148 -148
  21. package/carousel/carousel.module.d.ts +8 -8
  22. package/carousel/index.d.ts +5 -5
  23. package/carousel/public-api.d.ts +3 -3
  24. package/checkbox/checkbox.component.d.ts +50 -50
  25. package/checkbox/checkbox.module.d.ts +19 -19
  26. package/checkbox/index.d.ts +5 -5
  27. package/checkbox/public-api.d.ts +2 -2
  28. package/chips/chips.component.d.ts +104 -93
  29. package/chips/chips.component.theme.scss +16 -7
  30. package/chips/chips.model.d.ts +14 -14
  31. package/chips/chips.module.d.ts +20 -20
  32. package/chips/chips.service.d.ts +15 -15
  33. package/chips/index.d.ts +5 -5
  34. package/chips/public-api.d.ts +3 -3
  35. package/color/color-picker.component.d.ts +57 -57
  36. package/color/color.component.d.ts +30 -30
  37. package/color/color.model.d.ts +1 -1
  38. package/color/color.module.d.ts +26 -26
  39. package/color/index.d.ts +5 -5
  40. package/color/public-api.d.ts +3 -3
  41. package/core/clipboard/clipboard.directive.d.ts +5 -5
  42. package/core/clipboard/clipboard.service.d.ts +5 -5
  43. package/core/clipboard/index.d.ts +1 -1
  44. package/core/clipboard/public-api.d.ts +2 -2
  45. package/core/common/directives/auto-width.directive.d.ts +19 -19
  46. package/core/common/directives/button-blur.directive.d.ts +9 -9
  47. package/core/common/directives/button-loader.directive.d.ts +26 -26
  48. package/core/common/directives/data-qa.directive.d.ts +11 -11
  49. package/core/common/directives/div-loader.directive.d.ts +21 -21
  50. package/core/common/directives/index.d.ts +1 -1
  51. package/core/common/directives/menu-blur.directive.d.ts +10 -10
  52. package/core/common/directives/prevent-multi-click.directive.d.ts +7 -7
  53. package/core/common/directives/print.directive.d.ts +75 -75
  54. package/core/common/directives/public-api.d.ts +8 -8
  55. package/core/common/index.d.ts +1 -1
  56. package/core/common/model/index.d.ts +1 -1
  57. package/core/common/model/papi.model.d.ts +2 -2
  58. package/core/common/model/public-api.d.ts +3 -3
  59. package/core/common/model/utilities.model.d.ts +5 -5
  60. package/core/common/model/wapi.model.d.ts +202 -202
  61. package/core/common/pipes/common-pipes.d.ts +57 -57
  62. package/core/common/pipes/date-ago.pipe.d.ts +11 -11
  63. package/core/common/pipes/index.d.ts +1 -1
  64. package/core/common/pipes/public-api.d.ts +2 -2
  65. package/core/common/public-api.d.ts +4 -4
  66. package/core/common/services/addon.service.d.ts +50 -48
  67. package/core/common/services/color.service.d.ts +51 -51
  68. package/core/common/services/cookie.service.d.ts +53 -53
  69. package/core/common/services/data-convertor.service.d.ts +45 -45
  70. package/core/common/services/file.service.d.ts +27 -27
  71. package/core/common/services/index.d.ts +1 -1
  72. package/core/common/services/jwt-helper.service.d.ts +13 -13
  73. package/core/common/services/public-api.d.ts +11 -11
  74. package/core/common/services/session.service.d.ts +18 -18
  75. package/core/common/services/translate.service.d.ts +12 -12
  76. package/core/common/services/utilities.service.d.ts +39 -39
  77. package/core/common/services/validator.service.d.ts +31 -31
  78. package/core/common/services/window-scrolling.service.d.ts +10 -10
  79. package/core/customization/customization.model.d.ts +277 -277
  80. package/core/customization/customization.service.d.ts +159 -159
  81. package/core/customization/index.d.ts +1 -1
  82. package/core/customization/public-api.d.ts +2 -2
  83. package/core/http/index.d.ts +1 -1
  84. package/core/http/interceptors/error.interceptor.d.ts +8 -8
  85. package/core/http/interceptors/index.d.ts +11 -11
  86. package/core/http/interceptors/loader.interceptor.d.ts +11 -11
  87. package/core/http/interceptors/profiler.interceptor.d.ts +8 -8
  88. package/core/http/public-api.d.ts +2 -2
  89. package/core/http/services/http.service.d.ts +28 -28
  90. package/core/http/services/loader.service.d.ts +13 -13
  91. package/core/index.d.ts +1 -1
  92. package/core/layout/index.d.ts +1 -1
  93. package/core/layout/layout.service.d.ts +36 -36
  94. package/core/layout/public-api.d.ts +2 -2
  95. package/core/layout/rtl.directive.d.ts +21 -21
  96. package/core/portal/attach.directive.d.ts +13 -13
  97. package/core/portal/index.d.ts +1 -1
  98. package/core/portal/portal.service.d.ts +12 -12
  99. package/core/portal/public-api.d.ts +3 -3
  100. package/core/portal/target.directive.d.ts +12 -12
  101. package/core/public-api.d.ts +7 -7
  102. package/core/scroll-to/index.d.ts +1 -1
  103. package/core/scroll-to/public-api.d.ts +1 -1
  104. package/core/scroll-to/scroll-to.service.d.ts +11 -11
  105. package/date/date.component.d.ts +70 -69
  106. package/date/date.model.d.ts +31 -31
  107. package/date/date.module.d.ts +23 -23
  108. package/date/index.d.ts +5 -5
  109. package/date/public-api.d.ts +2 -2
  110. package/dialog/default-dialog.component.d.ts +12 -12
  111. package/dialog/dialog.component.d.ts +13 -13
  112. package/dialog/dialog.model.d.ts +31 -31
  113. package/dialog/dialog.module.d.ts +18 -18
  114. package/dialog/dialog.service.d.ts +27 -27
  115. package/dialog/index.d.ts +5 -5
  116. package/dialog/public-api.d.ts +4 -4
  117. package/draggable-items/draggable-item/draggable-item.component.d.ts +11 -11
  118. package/draggable-items/draggable-items.component.d.ts +36 -36
  119. package/draggable-items/draggable-items.model.d.ts +11 -11
  120. package/draggable-items/draggable-items.module.d.ts +18 -18
  121. package/draggable-items/index.d.ts +5 -5
  122. package/draggable-items/public-api.d.ts +4 -4
  123. package/esm2020/address/address.component.mjs +108 -108
  124. package/esm2020/address/address.module.mjs +53 -53
  125. package/esm2020/address/pepperi-addons-ngx-lib-address.mjs +4 -4
  126. package/esm2020/address/public-api.mjs +5 -5
  127. package/esm2020/attachment/attachment.component.mjs +219 -219
  128. package/esm2020/attachment/attachment.module.mjs +49 -49
  129. package/esm2020/attachment/pepperi-addons-ngx-lib-attachment.mjs +4 -4
  130. package/esm2020/attachment/public-api.mjs +5 -5
  131. package/esm2020/bread-crumbs/bread-crumbs.component.mjs +84 -84
  132. package/esm2020/bread-crumbs/bread-crumbs.model.mjs +6 -6
  133. package/esm2020/bread-crumbs/bread-crumbs.module.mjs +49 -49
  134. package/esm2020/bread-crumbs/pepperi-addons-ngx-lib-bread-crumbs.mjs +4 -4
  135. package/esm2020/bread-crumbs/public-api.mjs +6 -6
  136. package/esm2020/button/button.component.mjs +137 -137
  137. package/esm2020/button/button.model.mjs +5 -5
  138. package/esm2020/button/button.module.mjs +45 -45
  139. package/esm2020/button/pepperi-addons-ngx-lib-button.mjs +4 -4
  140. package/esm2020/button/public-api.mjs +6 -6
  141. package/esm2020/carousel/carousel-item.directive.mjs +32 -32
  142. package/esm2020/carousel/carousel.component.mjs +736 -736
  143. package/esm2020/carousel/carousel.module.mjs +16 -16
  144. package/esm2020/carousel/pepperi-addons-ngx-lib-carousel.mjs +4 -4
  145. package/esm2020/carousel/public-api.mjs +7 -7
  146. package/esm2020/checkbox/checkbox.component.mjs +167 -167
  147. package/esm2020/checkbox/checkbox.module.mjs +62 -62
  148. package/esm2020/checkbox/pepperi-addons-ngx-lib-checkbox.mjs +4 -4
  149. package/esm2020/checkbox/public-api.mjs +5 -5
  150. package/esm2020/chips/chips.component.mjs +190 -158
  151. package/esm2020/chips/chips.model.mjs +1 -1
  152. package/esm2020/chips/chips.module.mjs +80 -80
  153. package/esm2020/chips/chips.service.mjs +44 -44
  154. package/esm2020/chips/pepperi-addons-ngx-lib-chips.mjs +4 -4
  155. package/esm2020/chips/public-api.mjs +6 -6
  156. package/esm2020/color/color-picker.component.mjs +197 -197
  157. package/esm2020/color/color.component.mjs +89 -89
  158. package/esm2020/color/color.model.mjs +1 -1
  159. package/esm2020/color/color.module.mjs +92 -92
  160. package/esm2020/color/pepperi-addons-ngx-lib-color.mjs +4 -4
  161. package/esm2020/color/public-api.mjs +6 -6
  162. package/esm2020/core/clipboard/clipboard.directive.mjs +23 -23
  163. package/esm2020/core/clipboard/clipboard.service.mjs +13 -13
  164. package/esm2020/core/clipboard/index.mjs +4 -4
  165. package/esm2020/core/clipboard/public-api.mjs +5 -5
  166. package/esm2020/core/common/directives/auto-width.directive.mjs +76 -76
  167. package/esm2020/core/common/directives/button-blur.directive.mjs +23 -23
  168. package/esm2020/core/common/directives/button-loader.directive.mjs +111 -111
  169. package/esm2020/core/common/directives/data-qa.directive.mjs +22 -22
  170. package/esm2020/core/common/directives/div-loader.directive.mjs +60 -60
  171. package/esm2020/core/common/directives/index.mjs +4 -4
  172. package/esm2020/core/common/directives/menu-blur.directive.mjs +31 -31
  173. package/esm2020/core/common/directives/prevent-multi-click.directive.mjs +26 -26
  174. package/esm2020/core/common/directives/print.directive.mjs +144 -144
  175. package/esm2020/core/common/directives/public-api.mjs +12 -12
  176. package/esm2020/core/common/index.mjs +4 -4
  177. package/esm2020/core/common/model/index.mjs +4 -4
  178. package/esm2020/core/common/model/papi.model.mjs +2 -2
  179. package/esm2020/core/common/model/public-api.mjs +6 -6
  180. package/esm2020/core/common/model/utilities.model.mjs +56 -56
  181. package/esm2020/core/common/model/wapi.model.mjs +156 -156
  182. package/esm2020/core/common/pipes/common-pipes.mjs +166 -166
  183. package/esm2020/core/common/pipes/date-ago.pipe.mjs +45 -45
  184. package/esm2020/core/common/pipes/index.mjs +4 -4
  185. package/esm2020/core/common/pipes/public-api.mjs +5 -5
  186. package/esm2020/core/common/public-api.mjs +7 -7
  187. package/esm2020/core/common/services/addon.service.mjs +203 -189
  188. package/esm2020/core/common/services/color.service.mjs +358 -358
  189. package/esm2020/core/common/services/cookie.service.mjs +152 -152
  190. package/esm2020/core/common/services/data-convertor.service.mjs +121 -121
  191. package/esm2020/core/common/services/file.service.mjs +212 -212
  192. package/esm2020/core/common/services/index.mjs +4 -4
  193. package/esm2020/core/common/services/jwt-helper.service.mjs +105 -105
  194. package/esm2020/core/common/services/public-api.mjs +14 -14
  195. package/esm2020/core/common/services/session.service.mjs +70 -70
  196. package/esm2020/core/common/services/translate.service.mjs +45 -45
  197. package/esm2020/core/common/services/utilities.service.mjs +301 -299
  198. package/esm2020/core/common/services/validator.service.mjs +271 -271
  199. package/esm2020/core/common/services/window-scrolling.service.mjs +31 -31
  200. package/esm2020/core/customization/customization.model.mjs +301 -301
  201. package/esm2020/core/customization/customization.service.mjs +770 -770
  202. package/esm2020/core/customization/index.mjs +4 -4
  203. package/esm2020/core/customization/public-api.mjs +5 -5
  204. package/esm2020/core/http/index.mjs +4 -4
  205. package/esm2020/core/http/interceptors/error.interceptor.mjs +26 -26
  206. package/esm2020/core/http/interceptors/index.mjs +23 -23
  207. package/esm2020/core/http/interceptors/loader.interceptor.mjs +31 -31
  208. package/esm2020/core/http/interceptors/profiler.interceptor.mjs +31 -31
  209. package/esm2020/core/http/public-api.mjs +5 -5
  210. package/esm2020/core/http/services/http.service.mjs +154 -154
  211. package/esm2020/core/http/services/loader.service.mjs +49 -49
  212. package/esm2020/core/index.mjs +4 -4
  213. package/esm2020/core/layout/index.mjs +4 -4
  214. package/esm2020/core/layout/layout.service.mjs +167 -167
  215. package/esm2020/core/layout/public-api.mjs +5 -5
  216. package/esm2020/core/layout/rtl.directive.mjs +43 -43
  217. package/esm2020/core/portal/attach.directive.mjs +26 -26
  218. package/esm2020/core/portal/index.mjs +4 -4
  219. package/esm2020/core/portal/portal.service.mjs +35 -35
  220. package/esm2020/core/portal/public-api.mjs +6 -6
  221. package/esm2020/core/portal/target.directive.mjs +23 -23
  222. package/esm2020/core/public-api.mjs +10 -10
  223. package/esm2020/core/scroll-to/index.mjs +4 -4
  224. package/esm2020/core/scroll-to/public-api.mjs +5 -5
  225. package/esm2020/core/scroll-to/scroll-to.service.mjs +83 -83
  226. package/esm2020/date/date.component.mjs +312 -307
  227. package/esm2020/date/date.model.mjs +53 -53
  228. package/esm2020/date/date.module.mjs +87 -87
  229. package/esm2020/date/pepperi-addons-ngx-lib-date.mjs +4 -4
  230. package/esm2020/date/public-api.mjs +5 -5
  231. package/esm2020/dialog/default-dialog.component.mjs +36 -36
  232. package/esm2020/dialog/dialog.component.mjs +35 -35
  233. package/esm2020/dialog/dialog.model.mjs +32 -32
  234. package/esm2020/dialog/dialog.module.mjs +58 -58
  235. package/esm2020/dialog/dialog.service.mjs +81 -81
  236. package/esm2020/dialog/pepperi-addons-ngx-lib-dialog.mjs +4 -4
  237. package/esm2020/dialog/public-api.mjs +7 -7
  238. package/esm2020/draggable-items/draggable-item/draggable-item.component.mjs +26 -26
  239. package/esm2020/draggable-items/draggable-items.component.mjs +101 -101
  240. package/esm2020/draggable-items/draggable-items.model.mjs +1 -1
  241. package/esm2020/draggable-items/draggable-items.module.mjs +59 -59
  242. package/esm2020/draggable-items/pepperi-addons-ngx-lib-draggable-items.mjs +4 -4
  243. package/esm2020/draggable-items/public-api.mjs +7 -7
  244. package/esm2020/field-title/field-title.component.mjs +44 -44
  245. package/esm2020/field-title/field-title.module.mjs +46 -46
  246. package/esm2020/field-title/pepperi-addons-ngx-lib-field-title.mjs +4 -4
  247. package/esm2020/field-title/public-api.mjs +5 -5
  248. package/esm2020/files-uploader/files-uploader.component.mjs +240 -240
  249. package/esm2020/files-uploader/files-uploader.module.mjs +78 -78
  250. package/esm2020/files-uploader/pepperi-addons-ngx-lib-files-uploader.mjs +4 -4
  251. package/esm2020/files-uploader/public-api.mjs +5 -5
  252. package/esm2020/form/field-generator.component.mjs +152 -152
  253. package/esm2020/form/form.component.mjs +1237 -1227
  254. package/esm2020/form/form.model.mjs +1 -1
  255. package/esm2020/form/form.module.mjs +178 -178
  256. package/esm2020/form/indicators.component.mjs +22 -22
  257. package/esm2020/form/internal-button.component.mjs +183 -183
  258. package/esm2020/form/internal-carusel.component.mjs +116 -116
  259. package/esm2020/form/internal-carusel.service.mjs +31 -31
  260. package/esm2020/form/internal-field-generator.component.mjs +145 -145
  261. package/esm2020/form/internal-form.component.mjs +1215 -1215
  262. package/esm2020/form/internal-list.component.mjs +512 -512
  263. package/esm2020/form/internal-menu.component.mjs +65 -65
  264. package/esm2020/form/internal-page.component.mjs +361 -361
  265. package/esm2020/form/internal-page.service.mjs +119 -119
  266. package/esm2020/form/pepperi-addons-ngx-lib-form.mjs +4 -4
  267. package/esm2020/form/public-api.mjs +6 -6
  268. package/esm2020/group-buttons/group-buttons.component.mjs +70 -70
  269. package/esm2020/group-buttons/group-buttons.module.mjs +58 -58
  270. package/esm2020/group-buttons/pepperi-addons-ngx-lib-group-buttons.mjs +4 -4
  271. package/esm2020/group-buttons/public-api.mjs +5 -5
  272. package/esm2020/icon/icon-generated-all.model.mjs +117 -114
  273. package/esm2020/icon/icon-generated.model.mjs +454 -442
  274. package/esm2020/icon/icon-registry.service.mjs +24 -24
  275. package/esm2020/icon/icon.component.mjs +90 -90
  276. package/esm2020/icon/icon.module.mjs +19 -19
  277. package/esm2020/icon/icon.service.mjs +30 -30
  278. package/esm2020/icon/pepperi-addons-ngx-lib-icon.mjs +4 -4
  279. package/esm2020/icon/public-api.mjs +10 -10
  280. package/esm2020/image/image.component.mjs +246 -246
  281. package/esm2020/image/image.module.mjs +73 -73
  282. package/esm2020/image/image.service.mjs +51 -51
  283. package/esm2020/image/pepperi-addons-ngx-lib-image.mjs +4 -4
  284. package/esm2020/image/public-api.mjs +6 -6
  285. package/esm2020/images-filmstrip/images-filmstrip.component.mjs +336 -336
  286. package/esm2020/images-filmstrip/images-filmstrip.module.mjs +82 -82
  287. package/esm2020/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.mjs +4 -4
  288. package/esm2020/images-filmstrip/public-api.mjs +5 -5
  289. package/esm2020/link/link.component.mjs +324 -324
  290. package/esm2020/link/link.module.mjs +79 -79
  291. package/esm2020/link/link.pipes.mjs +17 -17
  292. package/esm2020/link/pepperi-addons-ngx-lib-link.mjs +4 -4
  293. package/esm2020/link/public-api.mjs +7 -6
  294. package/esm2020/list/list-actions.component.mjs +43 -43
  295. package/esm2020/list/list-carousel.component.mjs +106 -106
  296. package/esm2020/list/list-chooser.component.mjs +63 -63
  297. package/esm2020/list/list-pager.component.mjs +119 -119
  298. package/esm2020/list/list-sorting.component.mjs +60 -60
  299. package/esm2020/list/list-total.component.mjs +29 -29
  300. package/esm2020/list/list-views.component.mjs +84 -84
  301. package/esm2020/list/list.component.mjs +1193 -1187
  302. package/esm2020/list/list.model.mjs +3 -3
  303. package/esm2020/list/list.module.mjs +143 -143
  304. package/esm2020/list/list.pipes.mjs +46 -46
  305. package/esm2020/list/pepperi-addons-ngx-lib-list.mjs +4 -4
  306. package/esm2020/list/public-api.mjs +14 -14
  307. package/esm2020/list/virtual-scroller.mjs +1070 -1070
  308. package/esm2020/menu/menu-item.component.mjs +114 -114
  309. package/esm2020/menu/menu.component.mjs +212 -212
  310. package/esm2020/menu/menu.model.mjs +18 -18
  311. package/esm2020/menu/menu.module.mjs +58 -58
  312. package/esm2020/menu/pepperi-addons-ngx-lib-menu.mjs +4 -4
  313. package/esm2020/menu/public-api.mjs +6 -6
  314. package/esm2020/ngx-lib.module.mjs +161 -161
  315. package/esm2020/page-layout/page-layout.component.mjs +34 -34
  316. package/esm2020/page-layout/page-layout.module.mjs +33 -33
  317. package/esm2020/page-layout/pepperi-addons-ngx-lib-page-layout.mjs +4 -4
  318. package/esm2020/page-layout/public-api.mjs +5 -5
  319. package/esm2020/pepperi-addons-ngx-lib.mjs +4 -4
  320. package/esm2020/profile-data-views-list/pepperi-addons-ngx-lib-profile-data-views-list.mjs +4 -4
  321. package/esm2020/profile-data-views-list/profile-data-view/profile-data-view.component.mjs +44 -44
  322. package/esm2020/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.mjs +64 -64
  323. package/esm2020/profile-data-views-list/profile-data-views-list.component.mjs +94 -94
  324. package/esm2020/profile-data-views-list/profile-data-views-list.model.mjs +1 -1
  325. package/esm2020/profile-data-views-list/profile-data-views-list.module.mjs +87 -87
  326. package/esm2020/profile-data-views-list/public-api.mjs +8 -8
  327. package/esm2020/public-api.mjs +5 -5
  328. package/esm2020/quantity-selector/pepperi-addons-ngx-lib-quantity-selector.mjs +4 -4
  329. package/esm2020/quantity-selector/public-api.mjs +5 -5
  330. package/esm2020/quantity-selector/quantity-selector-validation.directive.mjs +48 -48
  331. package/esm2020/quantity-selector/quantity-selector.component.mjs +574 -574
  332. package/esm2020/quantity-selector/quantity-selector.module.mjs +81 -81
  333. package/esm2020/quantity-selector/quantity-selector.pipes.mjs +22 -22
  334. package/esm2020/query-builder/common/model/field.mjs +1 -1
  335. package/esm2020/query-builder/common/model/filter.mjs +1 -1
  336. package/esm2020/query-builder/common/model/legacy.mjs +1 -1
  337. package/esm2020/query-builder/common/model/operator-unit.mjs +41 -41
  338. package/esm2020/query-builder/common/model/operator.mjs +265 -265
  339. package/esm2020/query-builder/common/model/structure.mjs +1 -1
  340. package/esm2020/query-builder/common/model/type-map.mjs +27 -27
  341. package/esm2020/query-builder/common/model/type.mjs +5 -5
  342. package/esm2020/query-builder/common/services/output-query.service.mjs +113 -113
  343. package/esm2020/query-builder/common/services/query-structure.service.mjs +225 -225
  344. package/esm2020/query-builder/common/services/type-convertor.service.mjs +41 -41
  345. package/esm2020/query-builder/pepperi-addons-ngx-lib-query-builder.mjs +4 -4
  346. package/esm2020/query-builder/public-api.mjs +8 -8
  347. package/esm2020/query-builder/query-builder-item/query-builder-item.component.mjs +124 -124
  348. package/esm2020/query-builder/query-builder-section/query-builder-section.component.mjs +70 -70
  349. package/esm2020/query-builder/query-builder.component.mjs +109 -109
  350. package/esm2020/query-builder/query-builder.module.mjs +58 -58
  351. package/esm2020/query-builder/query-builder.service.mjs +101 -101
  352. package/esm2020/remote-loader/addon-block-loader.component.mjs +101 -101
  353. package/esm2020/remote-loader/addon-block-loader.service.mjs +61 -61
  354. package/esm2020/remote-loader/pepperi-addons-ngx-lib-remote-loader.mjs +4 -4
  355. package/esm2020/remote-loader/public-api.mjs +10 -10
  356. package/esm2020/remote-loader/remote-loader-element.component.mjs +112 -105
  357. package/esm2020/remote-loader/remote-loader.component.mjs +108 -108
  358. package/esm2020/remote-loader/remote-loader.model.mjs +1 -1
  359. package/esm2020/remote-loader/remote-loader.module.mjs +68 -68
  360. package/esm2020/remote-loader/remote-loader.service.mjs +80 -80
  361. package/esm2020/rich-html-textarea/pepperi-addons-ngx-lib-rich-html-textarea.mjs +4 -4
  362. package/esm2020/rich-html-textarea/public-api.mjs +5 -5
  363. package/esm2020/rich-html-textarea/rich-html-textarea.component.mjs +247 -247
  364. package/esm2020/rich-html-textarea/rich-html-textarea.module.mjs +94 -94
  365. package/esm2020/search/pepperi-addons-ngx-lib-search.mjs +4 -4
  366. package/esm2020/search/public-api.mjs +6 -6
  367. package/esm2020/search/search.component.mjs +316 -316
  368. package/esm2020/search/search.model.mjs +1 -1
  369. package/esm2020/search/search.module.mjs +69 -69
  370. package/esm2020/select/pepperi-addons-ngx-lib-select.mjs +4 -4
  371. package/esm2020/select/public-api.mjs +5 -5
  372. package/esm2020/select/select.component.mjs +263 -263
  373. package/esm2020/select/select.module.mjs +69 -69
  374. package/esm2020/select-panel/pepperi-addons-ngx-lib-select-panel.mjs +4 -4
  375. package/esm2020/select-panel/public-api.mjs +6 -6
  376. package/esm2020/select-panel/select-panel.component.mjs +158 -158
  377. package/esm2020/select-panel/select-panel.model.mjs +1 -1
  378. package/esm2020/select-panel/select-panel.module.mjs +69 -69
  379. package/esm2020/separator/pepperi-addons-ngx-lib-separator.mjs +4 -4
  380. package/esm2020/separator/public-api.mjs +5 -5
  381. package/esm2020/separator/separator.component.mjs +62 -62
  382. package/esm2020/separator/separator.module.mjs +17 -17
  383. package/esm2020/side-bar/pepperi-addons-ngx-lib-side-bar.mjs +4 -4
  384. package/esm2020/side-bar/public-api.mjs +6 -6
  385. package/esm2020/side-bar/side-bar.component.mjs +121 -121
  386. package/esm2020/side-bar/side-bar.model.mjs +1 -1
  387. package/esm2020/side-bar/side-bar.module.mjs +54 -54
  388. package/esm2020/signature/pepperi-addons-ngx-lib-signature.mjs +4 -4
  389. package/esm2020/signature/public-api.mjs +5 -5
  390. package/esm2020/signature/signature.component.mjs +253 -253
  391. package/esm2020/signature/signature.module.mjs +89 -89
  392. package/esm2020/size-detector/pepperi-addons-ngx-lib-size-detector.mjs +4 -4
  393. package/esm2020/size-detector/public-api.mjs +5 -5
  394. package/esm2020/size-detector/size-detector.component.mjs +91 -91
  395. package/esm2020/size-detector/size-detector.module.mjs +34 -34
  396. package/esm2020/slider/pepperi-addons-ngx-lib-slider.mjs +4 -4
  397. package/esm2020/slider/public-api.mjs +5 -5
  398. package/esm2020/slider/slider.component.mjs +100 -100
  399. package/esm2020/slider/slider.module.mjs +41 -41
  400. package/esm2020/smart-filters/boolean-filter/boolean-filter.component.mjs +75 -75
  401. package/esm2020/smart-filters/common/filter-actions.component.mjs +28 -28
  402. package/esm2020/smart-filters/common/model/base-filter-component.mjs +295 -295
  403. package/esm2020/smart-filters/common/model/creator.mjs +75 -75
  404. package/esm2020/smart-filters/common/model/field.mjs +116 -116
  405. package/esm2020/smart-filters/common/model/filter.mjs +1 -1
  406. package/esm2020/smart-filters/common/model/operator.mjs +270 -270
  407. package/esm2020/smart-filters/common/model/type.mjs +1 -1
  408. package/esm2020/smart-filters/date-filter/date-filter.component.mjs +181 -181
  409. package/esm2020/smart-filters/multi-select-filter/multi-select-filter.component.mjs +199 -199
  410. package/esm2020/smart-filters/number-filter/number-filter.component.mjs +135 -135
  411. package/esm2020/smart-filters/pepperi-addons-ngx-lib-smart-filters.mjs +4 -4
  412. package/esm2020/smart-filters/public-api.mjs +18 -18
  413. package/esm2020/smart-filters/smart-filters.component.mjs +140 -140
  414. package/esm2020/smart-filters/smart-filters.module.mjs +157 -157
  415. package/esm2020/smart-filters/text-filter/text-filter.component.mjs +92 -92
  416. package/esm2020/snack-bar/default-snack-bar.component.mjs +28 -28
  417. package/esm2020/snack-bar/pepperi-addons-ngx-lib-snack-bar.mjs +4 -4
  418. package/esm2020/snack-bar/public-api.mjs +7 -7
  419. package/esm2020/snack-bar/snack-bar.component.mjs +25 -25
  420. package/esm2020/snack-bar/snack-bar.model.mjs +6 -6
  421. package/esm2020/snack-bar/snack-bar.module.mjs +62 -62
  422. package/esm2020/snack-bar/snack-bar.service.mjs +59 -59
  423. package/esm2020/textarea/pepperi-addons-ngx-lib-textarea.mjs +4 -4
  424. package/esm2020/textarea/public-api.mjs +5 -5
  425. package/esm2020/textarea/textarea.component.mjs +187 -187
  426. package/esm2020/textarea/textarea.module.mjs +81 -81
  427. package/esm2020/textbox/pepperi-addons-ngx-lib-textbox.mjs +4 -4
  428. package/esm2020/textbox/public-api.mjs +5 -5
  429. package/esm2020/textbox/textbox-validation.directive.mjs +92 -92
  430. package/esm2020/textbox/textbox.component.mjs +576 -551
  431. package/esm2020/textbox/textbox.module.mjs +71 -71
  432. package/esm2020/textbox-icon/pepperi-addons-ngx-lib-textbox-icon.mjs +4 -4
  433. package/esm2020/textbox-icon/public-api.mjs +5 -5
  434. package/esm2020/textbox-icon/textbox-icon.component.mjs +47 -47
  435. package/esm2020/textbox-icon/textbox-icon.module.mjs +63 -63
  436. package/esm2020/top-bar/pepperi-addons-ngx-lib-top-bar.mjs +4 -4
  437. package/esm2020/top-bar/public-api.mjs +6 -6
  438. package/esm2020/top-bar/top-bar.component.mjs +111 -111
  439. package/esm2020/top-bar/top-bar.model.mjs +1 -1
  440. package/esm2020/top-bar/top-bar.module.mjs +61 -61
  441. package/fesm2015/pepperi-addons-ngx-lib-address.mjs +143 -143
  442. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs +253 -253
  443. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.mjs +122 -122
  444. package/fesm2015/pepperi-addons-ngx-lib-button.mjs +171 -171
  445. package/fesm2015/pepperi-addons-ngx-lib-carousel.mjs +780 -780
  446. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs +206 -206
  447. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs +289 -258
  448. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
  449. package/fesm2015/pepperi-addons-ngx-lib-color.mjs +336 -336
  450. package/fesm2015/pepperi-addons-ngx-lib-date.mjs +414 -409
  451. package/fesm2015/pepperi-addons-ngx-lib-date.mjs.map +1 -1
  452. package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs +207 -207
  453. package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs +163 -163
  454. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs +76 -76
  455. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs +291 -291
  456. package/fesm2015/pepperi-addons-ngx-lib-form.mjs +4129 -4119
  457. package/fesm2015/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  458. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs +109 -109
  459. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs +718 -703
  460. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
  461. package/fesm2015/pepperi-addons-ngx-lib-image.mjs +340 -340
  462. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs +390 -390
  463. package/fesm2015/pepperi-addons-ngx-lib-link.mjs +388 -388
  464. package/fesm2015/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  465. package/fesm2015/pepperi-addons-ngx-lib-list.mjs +2866 -2859
  466. package/fesm2015/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  467. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs +368 -368
  468. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs +59 -59
  469. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs +254 -254
  470. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs +686 -686
  471. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs +1119 -1119
  472. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  473. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs +511 -504
  474. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  475. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs +303 -303
  476. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
  477. package/fesm2015/pepperi-addons-ngx-lib-search.mjs +356 -356
  478. package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs +206 -206
  479. package/fesm2015/pepperi-addons-ngx-lib-select.mjs +305 -305
  480. package/fesm2015/pepperi-addons-ngx-lib-separator.mjs +73 -73
  481. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs +158 -158
  482. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +311 -311
  483. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs +114 -114
  484. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs +130 -130
  485. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs +1634 -1634
  486. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  487. package/fesm2015/pepperi-addons-ngx-lib-snack-bar.mjs +152 -152
  488. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs +238 -238
  489. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
  490. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs +95 -95
  491. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs +703 -678
  492. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  493. package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs +155 -155
  494. package/fesm2015/pepperi-addons-ngx-lib.mjs +4632 -4616
  495. package/fesm2015/pepperi-addons-ngx-lib.mjs.map +1 -1
  496. package/fesm2020/pepperi-addons-ngx-lib-address.mjs +143 -143
  497. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs +253 -253
  498. package/fesm2020/pepperi-addons-ngx-lib-bread-crumbs.mjs +122 -122
  499. package/fesm2020/pepperi-addons-ngx-lib-button.mjs +171 -171
  500. package/fesm2020/pepperi-addons-ngx-lib-carousel.mjs +776 -776
  501. package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs +206 -206
  502. package/fesm2020/pepperi-addons-ngx-lib-chips.mjs +288 -257
  503. package/fesm2020/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
  504. package/fesm2020/pepperi-addons-ngx-lib-color.mjs +333 -333
  505. package/fesm2020/pepperi-addons-ngx-lib-date.mjs +410 -405
  506. package/fesm2020/pepperi-addons-ngx-lib-date.mjs.map +1 -1
  507. package/fesm2020/pepperi-addons-ngx-lib-dialog.mjs +203 -203
  508. package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs +162 -162
  509. package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs +76 -76
  510. package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs +288 -288
  511. package/fesm2020/pepperi-addons-ngx-lib-form.mjs +4128 -4118
  512. package/fesm2020/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  513. package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs +109 -109
  514. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs +716 -701
  515. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
  516. package/fesm2020/pepperi-addons-ngx-lib-image.mjs +338 -338
  517. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs +387 -387
  518. package/fesm2020/pepperi-addons-ngx-lib-link.mjs +388 -388
  519. package/fesm2020/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  520. package/fesm2020/pepperi-addons-ngx-lib-list.mjs +2853 -2846
  521. package/fesm2020/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  522. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs +368 -368
  523. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs +59 -59
  524. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs +253 -253
  525. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs +685 -685
  526. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs +1108 -1108
  527. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  528. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs +489 -482
  529. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  530. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs +303 -303
  531. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
  532. package/fesm2020/pepperi-addons-ngx-lib-search.mjs +355 -355
  533. package/fesm2020/pepperi-addons-ngx-lib-select-panel.mjs +205 -205
  534. package/fesm2020/pepperi-addons-ngx-lib-select.mjs +305 -305
  535. package/fesm2020/pepperi-addons-ngx-lib-separator.mjs +73 -73
  536. package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs +158 -158
  537. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs +311 -311
  538. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs +114 -114
  539. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs +129 -129
  540. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs +1627 -1627
  541. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  542. package/fesm2020/pepperi-addons-ngx-lib-snack-bar.mjs +149 -149
  543. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs +237 -237
  544. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
  545. package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs +95 -95
  546. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs +703 -678
  547. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  548. package/fesm2020/pepperi-addons-ngx-lib-top-bar.mjs +154 -154
  549. package/fesm2020/pepperi-addons-ngx-lib.mjs +4602 -4586
  550. package/fesm2020/pepperi-addons-ngx-lib.mjs.map +1 -1
  551. package/field-title/field-title.component.d.ts +15 -15
  552. package/field-title/field-title.module.d.ts +15 -15
  553. package/field-title/index.d.ts +5 -5
  554. package/field-title/public-api.d.ts +2 -2
  555. package/files-uploader/files-uploader.component.d.ts +57 -57
  556. package/files-uploader/files-uploader.module.d.ts +21 -21
  557. package/files-uploader/index.d.ts +5 -5
  558. package/files-uploader/public-api.d.ts +2 -2
  559. package/form/field-generator.component.d.ts +37 -37
  560. package/form/form.component.d.ts +93 -93
  561. package/form/form.model.d.ts +20 -20
  562. package/form/form.module.d.ts +50 -50
  563. package/form/index.d.ts +5 -5
  564. package/form/indicators.component.d.ts +10 -10
  565. package/form/internal-button.component.d.ts +42 -42
  566. package/form/internal-carusel.component.d.ts +39 -39
  567. package/form/internal-carusel.service.d.ts +10 -10
  568. package/form/internal-field-generator.component.d.ts +33 -33
  569. package/form/internal-form.component.d.ts +89 -89
  570. package/form/internal-list.component.d.ts +95 -95
  571. package/form/internal-menu.component.d.ts +19 -19
  572. package/form/internal-page.component.d.ts +73 -73
  573. package/form/internal-page.service.d.ts +22 -22
  574. package/form/public-api.d.ts +3 -3
  575. package/group-buttons/group-buttons.component.d.ts +24 -24
  576. package/group-buttons/group-buttons.module.d.ts +18 -18
  577. package/group-buttons/index.d.ts +5 -5
  578. package/group-buttons/public-api.d.ts +2 -2
  579. package/icon/icon-generated-all.model.d.ts +115 -112
  580. package/icon/icon-generated.model.d.ts +458 -446
  581. package/icon/icon-registry.service.d.ts +9 -9
  582. package/icon/icon.component.d.ts +49 -49
  583. package/icon/icon.module.d.ts +7 -7
  584. package/icon/icon.service.d.ts +13 -13
  585. package/icon/index.d.ts +5 -5
  586. package/icon/public-api.d.ts +6 -6
  587. package/image/image.component.d.ts +66 -66
  588. package/image/image.module.d.ts +20 -20
  589. package/image/image.service.d.ts +14 -14
  590. package/image/index.d.ts +5 -5
  591. package/image/public-api.d.ts +3 -3
  592. package/images-filmstrip/images-filmstrip.component.d.ts +87 -87
  593. package/images-filmstrip/images-filmstrip.module.d.ts +22 -22
  594. package/images-filmstrip/index.d.ts +5 -5
  595. package/images-filmstrip/public-api.d.ts +2 -2
  596. package/index.d.ts +5 -5
  597. package/link/index.d.ts +5 -5
  598. package/link/link.component.d.ts +125 -125
  599. package/link/link.module.d.ts +22 -22
  600. package/link/link.pipes.d.ts +7 -7
  601. package/link/public-api.d.ts +3 -2
  602. package/list/index.d.ts +5 -5
  603. package/list/list-actions.component.d.ts +18 -18
  604. package/list/list-carousel.component.d.ts +40 -40
  605. package/list/list-chooser.component.d.ts +29 -29
  606. package/list/list-pager.component.d.ts +39 -39
  607. package/list/list-sorting.component.d.ts +30 -30
  608. package/list/list-total.component.d.ts +11 -11
  609. package/list/list-views.component.d.ts +35 -35
  610. package/list/list.component.d.ts +167 -165
  611. package/list/list.model.d.ts +31 -31
  612. package/list/list.module.d.ts +34 -34
  613. package/list/list.pipes.d.ts +16 -16
  614. package/list/public-api.d.ts +10 -10
  615. package/list/virtual-scroller.d.ts +183 -183
  616. package/menu/index.d.ts +5 -5
  617. package/menu/menu-item.component.d.ts +28 -28
  618. package/menu/menu.component.d.ts +48 -48
  619. package/menu/menu.model.d.ts +25 -25
  620. package/menu/menu.module.d.ts +18 -18
  621. package/menu/public-api.d.ts +3 -3
  622. package/ngx-lib.module.d.ts +24 -24
  623. package/package.json +1 -1
  624. package/page-layout/index.d.ts +5 -5
  625. package/page-layout/page-layout.component.d.ts +19 -19
  626. package/page-layout/page-layout.module.d.ts +10 -10
  627. package/page-layout/public-api.d.ts +2 -2
  628. package/profile-data-views-list/index.d.ts +5 -5
  629. package/profile-data-views-list/profile-data-view/profile-data-view.component.d.ts +18 -18
  630. package/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.d.ts +24 -24
  631. package/profile-data-views-list/profile-data-views-list.component.d.ts +35 -35
  632. package/profile-data-views-list/profile-data-views-list.model.d.ts +18 -18
  633. package/profile-data-views-list/profile-data-views-list.module.d.ts +23 -23
  634. package/profile-data-views-list/public-api.d.ts +5 -5
  635. package/public-api.d.ts +2 -2
  636. package/quantity-selector/index.d.ts +5 -5
  637. package/quantity-selector/public-api.d.ts +2 -2
  638. package/quantity-selector/quantity-selector-validation.directive.d.ts +17 -17
  639. package/quantity-selector/quantity-selector.component.d.ts +112 -112
  640. package/quantity-selector/quantity-selector.module.d.ts +23 -23
  641. package/quantity-selector/quantity-selector.pipes.d.ts +7 -7
  642. package/query-builder/common/model/field.d.ts +8 -8
  643. package/query-builder/common/model/filter.d.ts +6 -6
  644. package/query-builder/common/model/legacy.d.ts +29 -29
  645. package/query-builder/common/model/operator-unit.d.ts +13 -13
  646. package/query-builder/common/model/operator.d.ts +21 -21
  647. package/query-builder/common/model/structure.d.ts +4 -4
  648. package/query-builder/common/model/type-map.d.ts +12 -12
  649. package/query-builder/common/model/type.d.ts +4 -4
  650. package/query-builder/common/services/output-query.service.d.ts +47 -47
  651. package/query-builder/common/services/query-structure.service.d.ts +82 -82
  652. package/query-builder/common/services/type-convertor.service.d.ts +13 -13
  653. package/query-builder/index.d.ts +5 -5
  654. package/query-builder/public-api.d.ts +5 -5
  655. package/query-builder/query-builder-item/query-builder-item.component.d.ts +41 -41
  656. package/query-builder/query-builder-section/query-builder-section.component.d.ts +30 -30
  657. package/query-builder/query-builder.component.d.ts +39 -39
  658. package/query-builder/query-builder.module.d.ts +16 -16
  659. package/query-builder/query-builder.service.d.ts +30 -30
  660. package/remote-loader/addon-block-loader.component.d.ts +36 -36
  661. package/remote-loader/addon-block-loader.service.d.ts +15 -15
  662. package/remote-loader/index.d.ts +5 -5
  663. package/remote-loader/public-api.d.ts +7 -7
  664. package/remote-loader/remote-loader-element.component.d.ts +32 -30
  665. package/remote-loader/remote-loader.component.d.ts +25 -25
  666. package/remote-loader/remote-loader.model.d.ts +41 -41
  667. package/remote-loader/remote-loader.module.d.ts +15 -15
  668. package/remote-loader/remote-loader.service.d.ts +15 -15
  669. package/rich-html-textarea/index.d.ts +5 -5
  670. package/rich-html-textarea/public-api.d.ts +2 -2
  671. package/rich-html-textarea/rich-html-textarea.component.d.ts +79 -79
  672. package/rich-html-textarea/rich-html-textarea.module.d.ts +25 -25
  673. package/search/index.d.ts +5 -5
  674. package/search/public-api.d.ts +3 -3
  675. package/search/search.component.d.ts +65 -65
  676. package/search/search.model.d.ts +14 -14
  677. package/search/search.module.d.ts +20 -20
  678. package/select/index.d.ts +5 -5
  679. package/select/public-api.d.ts +2 -2
  680. package/select/select.component.d.ts +59 -59
  681. package/select/select.module.d.ts +20 -20
  682. package/select-panel/index.d.ts +5 -5
  683. package/select-panel/public-api.d.ts +3 -3
  684. package/select-panel/select-panel.component.d.ts +51 -51
  685. package/select-panel/select-panel.model.d.ts +5 -5
  686. package/select-panel/select-panel.module.d.ts +19 -19
  687. package/separator/index.d.ts +5 -5
  688. package/separator/public-api.d.ts +2 -2
  689. package/separator/separator.component.d.ts +22 -22
  690. package/separator/separator.module.d.ts +8 -8
  691. package/side-bar/index.d.ts +5 -5
  692. package/side-bar/public-api.d.ts +3 -3
  693. package/side-bar/side-bar.component.d.ts +42 -42
  694. package/side-bar/side-bar.model.d.ts +4 -4
  695. package/side-bar/side-bar.module.d.ts +16 -16
  696. package/signature/index.d.ts +5 -5
  697. package/signature/public-api.d.ts +2 -2
  698. package/signature/signature.component.d.ts +68 -68
  699. package/signature/signature.module.d.ts +24 -24
  700. package/size-detector/index.d.ts +5 -5
  701. package/size-detector/public-api.d.ts +2 -2
  702. package/size-detector/size-detector.component.d.ts +29 -29
  703. package/size-detector/size-detector.module.d.ts +11 -11
  704. package/slider/index.d.ts +5 -5
  705. package/slider/public-api.d.ts +2 -2
  706. package/slider/slider.component.d.ts +39 -39
  707. package/slider/slider.module.d.ts +12 -12
  708. package/smart-filters/boolean-filter/boolean-filter.component.d.ts +28 -28
  709. package/smart-filters/common/filter-actions.component.d.ts +12 -12
  710. package/smart-filters/common/model/base-filter-component.d.ts +74 -74
  711. package/smart-filters/common/model/creator.d.ts +6 -6
  712. package/smart-filters/common/model/field.d.ts +69 -69
  713. package/smart-filters/common/model/filter.d.ts +11 -11
  714. package/smart-filters/common/model/operator.d.ts +51 -51
  715. package/smart-filters/common/model/type.d.ts +4 -4
  716. package/smart-filters/date-filter/date-filter.component.d.ts +60 -60
  717. package/smart-filters/index.d.ts +5 -5
  718. package/smart-filters/multi-select-filter/multi-select-filter.component.d.ts +56 -56
  719. package/smart-filters/number-filter/number-filter.component.d.ts +52 -52
  720. package/smart-filters/public-api.d.ts +14 -14
  721. package/smart-filters/smart-filters.component.d.ts +35 -35
  722. package/smart-filters/smart-filters.module.d.ts +37 -37
  723. package/smart-filters/text-filter/text-filter.component.d.ts +28 -28
  724. package/snack-bar/default-snack-bar.component.d.ts +13 -13
  725. package/snack-bar/index.d.ts +5 -5
  726. package/snack-bar/public-api.d.ts +4 -4
  727. package/snack-bar/snack-bar.component.d.ts +12 -12
  728. package/snack-bar/snack-bar.model.d.ts +8 -8
  729. package/snack-bar/snack-bar.module.d.ts +19 -19
  730. package/snack-bar/snack-bar.service.d.ts +24 -24
  731. package/src/core/style/base/typography.scss +1 -1
  732. package/src/core/style/components/textarea.scss +4 -2
  733. package/textarea/index.d.ts +5 -5
  734. package/textarea/public-api.d.ts +2 -2
  735. package/textarea/textarea.component.d.ts +56 -56
  736. package/textarea/textarea.module.d.ts +23 -23
  737. package/textbox/index.d.ts +5 -5
  738. package/textbox/public-api.d.ts +2 -2
  739. package/textbox/textbox-validation.directive.d.ts +22 -22
  740. package/textbox/textbox.component.d.ts +157 -154
  741. package/textbox/textbox.module.d.ts +22 -22
  742. package/textbox-icon/index.d.ts +5 -5
  743. package/textbox-icon/public-api.d.ts +2 -2
  744. package/textbox-icon/textbox-icon.component.d.ts +13 -13
  745. package/textbox-icon/textbox-icon.module.d.ts +16 -16
  746. package/theming-offline.scss +79 -0
  747. package/theming.scss +4 -31
  748. package/top-bar/index.d.ts +5 -5
  749. package/top-bar/public-api.d.ts +3 -3
  750. package/top-bar/top-bar.component.d.ts +39 -39
  751. package/top-bar/top-bar.model.d.ts +4 -4
  752. package/top-bar/top-bar.module.d.ts +18 -18
@@ -25,692 +25,717 @@ import { BehaviorSubject, distinctUntilChanged } from 'rxjs';
25
25
  import { coerceNumberProperty } from '@angular/cdk/coercion';
26
26
  import * as i2 from '@ngx-translate/core';
27
27
 
28
- class PepTextboxValidationDirective {
29
- constructor(hostElement, utilitiesService, validatorService) {
30
- this.hostElement = hostElement;
31
- this.utilitiesService = utilitiesService;
32
- this.validatorService = validatorService;
33
- this.type = 'text';
34
- this.previousValue = '';
35
- }
36
- ngOnInit() {
37
- //
38
- }
39
- isNumber() {
40
- return this.isInteger() || this.isDecimal();
41
- }
42
- isInteger() {
43
- return this.type === 'int';
44
- }
45
- isDecimal() {
46
- return (this.type === 'currency' ||
47
- this.type === 'percentage' ||
48
- this.type === 'real');
49
- }
50
- isPhone() {
51
- return this.type === 'phone';
52
- }
53
- isText() {
54
- return (this.type === 'email' ||
55
- this.type === 'link' ||
56
- this.type === 'text');
57
- }
58
- onChange(e) {
59
- this.validateValue(this.hostElement.nativeElement.value);
60
- }
61
- onKeyDown(e) {
62
- const originalValue = e.target['value'];
63
- if (this.isNumber()) {
64
- // save value before keydown event
65
- this.previousValue = originalValue;
66
- const isNumber = this.validatorService.isNumber(e, this.isDecimal());
67
- if (isNumber)
68
- return;
69
- else
70
- e.preventDefault();
71
- }
72
- else if (this.isPhone()) {
73
- const isPhone = this.validatorService.isPhone(e);
74
- if (isPhone)
75
- return;
76
- else
77
- e.preventDefault();
78
- }
79
- }
80
- validateValue(value) {
81
- console.log(`validateValue start value is - ${value}`);
82
- if (this.isNumber()) {
83
- const newValue = this.validatorService.validateNumber(value, this.isDecimal());
84
- console.log(`after validateNumber newValue is - ${newValue}`);
85
- // Always set to the value input number with '.' decomal separator.
86
- this.hostElement.nativeElement['value'] = newValue ? this.utilitiesService.changeDecimalSeparatorWhenItsComma(newValue) : 0;
87
- }
88
- else if (this.isPhone()) {
89
- // test phone with regular expression, when
90
- // phone is invalid, replace it with the previousValue
91
- const valid = this.validatorService.validatePhone(value);
92
- this.hostElement.nativeElement['value'] = valid
93
- ? value
94
- : this.previousValue;
95
- }
96
- else if (this.isText()) {
97
- this.hostElement.nativeElement['value'] = value;
98
- }
99
- }
100
- }
101
- PepTextboxValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepTextboxValidationDirective, deps: [{ token: i0.ElementRef }, { token: i1.PepUtilitiesService }, { token: i1.PepValidatorService }], target: i0.ɵɵFactoryTarget.Directive });
102
- PepTextboxValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.2", type: PepTextboxValidationDirective, selector: "[pepTextboxValidation]", inputs: { type: "type" }, host: { listeners: { "change": "onChange($event)", "keydown": "onKeyDown($event)" } }, ngImport: i0 });
103
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepTextboxValidationDirective, decorators: [{
104
- type: Directive,
105
- args: [{
106
- selector: '[pepTextboxValidation]',
107
- }]
108
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.PepUtilitiesService }, { type: i1.PepValidatorService }]; }, propDecorators: { type: [{
109
- type: Input
110
- }], onChange: [{
111
- type: HostListener,
112
- args: ['change', ['$event']]
113
- }], onKeyDown: [{
114
- type: HostListener,
115
- args: ['keydown', ['$event']]
28
+ class PepTextboxValidationDirective {
29
+ constructor(hostElement, utilitiesService, validatorService) {
30
+ this.hostElement = hostElement;
31
+ this.utilitiesService = utilitiesService;
32
+ this.validatorService = validatorService;
33
+ this.type = 'text';
34
+ this.previousValue = '';
35
+ }
36
+ ngOnInit() {
37
+ //
38
+ }
39
+ isNumber() {
40
+ return this.isInteger() || this.isDecimal();
41
+ }
42
+ isInteger() {
43
+ return this.type === 'int';
44
+ }
45
+ isDecimal() {
46
+ return (this.type === 'currency' ||
47
+ this.type === 'percentage' ||
48
+ this.type === 'real');
49
+ }
50
+ isPhone() {
51
+ return this.type === 'phone';
52
+ }
53
+ isText() {
54
+ return (this.type === 'email' ||
55
+ this.type === 'link' ||
56
+ this.type === 'text');
57
+ }
58
+ onChange(e) {
59
+ this.validateValue(this.hostElement.nativeElement.value);
60
+ }
61
+ onKeyDown(e) {
62
+ const originalValue = e.target['value'];
63
+ if (this.isNumber()) {
64
+ // save value before keydown event
65
+ this.previousValue = originalValue;
66
+ const isNumber = this.validatorService.isNumber(e, this.isDecimal());
67
+ if (isNumber)
68
+ return;
69
+ else
70
+ e.preventDefault();
71
+ }
72
+ else if (this.isPhone()) {
73
+ const isPhone = this.validatorService.isPhone(e);
74
+ if (isPhone)
75
+ return;
76
+ else
77
+ e.preventDefault();
78
+ }
79
+ }
80
+ validateValue(value) {
81
+ console.log(`validateValue start value is - ${value}`);
82
+ if (this.isNumber()) {
83
+ const newValue = this.validatorService.validateNumber(value, this.isDecimal());
84
+ console.log(`after validateNumber newValue is - ${newValue}`);
85
+ // Always set to the value input number with '.' decomal separator.
86
+ this.hostElement.nativeElement['value'] = newValue ? this.utilitiesService.changeDecimalSeparatorWhenItsComma(newValue) : 0;
87
+ }
88
+ else if (this.isPhone()) {
89
+ // test phone with regular expression, when
90
+ // phone is invalid, replace it with the previousValue
91
+ const valid = this.validatorService.validatePhone(value);
92
+ this.hostElement.nativeElement['value'] = valid
93
+ ? value
94
+ : this.previousValue;
95
+ }
96
+ else if (this.isText()) {
97
+ this.hostElement.nativeElement['value'] = value;
98
+ }
99
+ }
100
+ }
101
+ PepTextboxValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepTextboxValidationDirective, deps: [{ token: i0.ElementRef }, { token: i1.PepUtilitiesService }, { token: i1.PepValidatorService }], target: i0.ɵɵFactoryTarget.Directive });
102
+ PepTextboxValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.2", type: PepTextboxValidationDirective, selector: "[pepTextboxValidation]", inputs: { type: "type" }, host: { listeners: { "change": "onChange($event)", "keydown": "onKeyDown($event)" } }, ngImport: i0 });
103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepTextboxValidationDirective, decorators: [{
104
+ type: Directive,
105
+ args: [{
106
+ selector: '[pepTextboxValidation]',
107
+ }]
108
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.PepUtilitiesService }, { type: i1.PepValidatorService }]; }, propDecorators: { type: [{
109
+ type: Input
110
+ }], onChange: [{
111
+ type: HostListener,
112
+ args: ['change', ['$event']]
113
+ }], onKeyDown: [{
114
+ type: HostListener,
115
+ args: ['keydown', ['$event']]
116
116
  }] } });
117
117
 
118
- // Not in use - I don't know why we need this???
119
- // /** error when invalid control is dirty or touched */
120
- // export class TextErrorStateMatcher implements ErrorStateMatcher {
121
- // isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {
122
- // const validateOnDirty = form?.form?.controls?.['validateOnDirty']?.value;
123
- // return !!(validateOnDirty && control && control.invalid && (control.dirty || control.touched));
124
- // }
125
- // }
126
- /**
127
- * This is a text box input component that can be use to
128
- *
129
- * @export
130
- * @class PepTextboxComponent
131
- * @implements {OnChanges}
132
- * @implements {OnInit}
133
- * @implements {OnDestroy}
134
- */
135
- class PepTextboxComponent {
136
- constructor(customizationService, renderer, element, translate, utilitiesService) {
137
- this.customizationService = customizationService;
138
- this.renderer = renderer;
139
- this.element = element;
140
- this.translate = translate;
141
- this.utilitiesService = utilitiesService;
142
- this.dataQa = '';
143
- this._key = '';
144
- this._value = '';
145
- this.formattedValue = '';
146
- // private _formattedValue = '';
147
- // /**
148
- // * The formatted value.
149
- // *
150
- // * @memberof PepTextboxComponent
151
- // */
152
- // @Input()
153
- // set formattedValue(value: string) {
154
- // // Do nothing.
155
- // // if (!value) {
156
- // // value = '';
157
- // // }
158
- // // if (this._calculateFormattedValue) {
159
- // // this._calculateFormattedValue = false;
160
- // // }
161
- // // this.setFormattedValue(value);
162
- // }
163
- // get formattedValue(): string {
164
- // return this._formattedValue;
165
- // }
166
- this._minFractionDigits = NaN;
167
- this._maxFractionDigits = NaN;
168
- /**
169
- * The accessory sign.
170
- *
171
- * @memberof PepTextboxComponent
172
- */
173
- this.accessory = '';
174
- /**
175
- * The title of the textbox.
176
- *
177
- * @memberof PepTextboxComponent
178
- */
179
- this.label = '';
180
- /**
181
- * The placeholder (relevant only for children - if parent isn't null).
182
- *
183
- * @memberof PepTextboxComponent
184
- */
185
- this.placeholder = '';
186
- /**
187
- * The type of the textbox.
188
- *
189
- * @type {PepTextboxFieldType}
190
- * @memberof PepTextboxComponent
191
- */
192
- this._type = 'text';
193
- /**
194
- * If the textbox is mandatory
195
- *
196
- * @memberof PepTextboxComponent
197
- */
198
- this._mandatory = false;
199
- // TODO: Check if should remove disabled and keep only readonly.
200
- /**
201
- * If the textbox is disabled.
202
- *
203
- * @memberof PepTextboxComponent
204
- */
205
- this.disabled = false;
206
- /**
207
- * If the textbox is readonly
208
- *
209
- * @memberof PepTextboxComponent
210
- */
211
- this.readonly = false;
212
- this.textColor = '';
213
- this.xAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;
214
- this.rowSpan = 1;
215
- // @Input() lastFocusField: any;
216
- this.minValue = NaN;
217
- this.maxValue = NaN;
218
- this._visible = true;
219
- this.form = null;
220
- this.isActive = false;
221
- this.showTitle = true;
222
- this.renderTitle = true;
223
- this.renderError = true;
224
- this.renderSymbol = true;
225
- this.layoutType = 'form';
226
- this.parentFieldKey = null;
227
- this.regex = null;
228
- this.regexError = '';
229
- /**
230
- * The value change event.
231
- *
232
- * @type {EventEmitter<string>}
233
- * @memberof PepTextboxComponent
234
- */
235
- this.valueChange = new EventEmitter();
236
- // @Output()
237
- // formValidationChange: EventEmitter<boolean> = new EventEmitter<boolean>();
238
- this.keyup = new EventEmitter();
239
- this._calculateFormattedValue = true;
240
- this.controlType = 'textbox';
241
- this.standAlone = false;
242
- this.isInEditMode = false;
243
- this._isInFocus = false;
244
- // matcher = new TextErrorStateMatcher();
245
- // protected displayValue$:
246
- this._displayValueSubject = new BehaviorSubject('');
247
- this.isInFocus = false;
248
- }
249
- /**
250
- * The text box key
251
- *
252
- * @memberof PepTextboxComponent
253
- */
254
- set key(value) {
255
- this._key = value;
256
- this.dataQa = value;
257
- }
258
- get key() {
259
- return this._key;
260
- }
261
- /**
262
- * The value of the text box.
263
- *
264
- * @memberof PepTextboxComponent
265
- */
266
- set value(value) {
267
- if (!value) {
268
- value = '';
269
- }
270
- if (this.isDifferentValue(value)) {
271
- // console.log(`set value, value is - ${value}`)
272
- this._value = value;
273
- }
274
- this.setFormattedValue(this.value);
275
- this.changeDisplayValue();
276
- }
277
- get value() {
278
- return this._value;
279
- }
280
- get valueAsCurrentCulture() {
281
- return this.utilitiesService.changeDecimalSeparatorWhenItsComma(this.value, true);
282
- // let res = this.value;
283
- // if (this.isDecimal()) {
284
- // res = this.utilitiesService.formatDecimal(this.value, this.minFractionDigits, this.maxFractionDigits, false);
285
- // }
286
- // return res;
287
- }
288
- set minFractionDigits(value) {
289
- this._minFractionDigits = value;
290
- this.setFormattedValue(this.value);
291
- this.changeDisplayValue();
292
- }
293
- get minFractionDigits() {
294
- return this._minFractionDigits;
295
- }
296
- set maxFractionDigits(value) {
297
- this._maxFractionDigits = value;
298
- this.setFormattedValue(this.value);
299
- this.changeDisplayValue();
300
- }
301
- get maxFractionDigits() {
302
- return this._maxFractionDigits;
303
- }
304
- set type(value) {
305
- this._type = value;
306
- if (this.value) {
307
- this.setFormattedValue(this.value);
308
- this.changeDisplayValue();
309
- }
310
- }
311
- get type() {
312
- return this._type;
313
- }
314
- set mandatory(value) {
315
- this._mandatory = value;
316
- }
317
- get mandatory() {
318
- return this._mandatory;
319
- }
320
- set visible(visible) {
321
- this._visible = visible;
322
- if (visible) {
323
- this.renderer.removeClass(this.element.nativeElement, 'hidden-element');
324
- }
325
- else {
326
- this.renderer.addClass(this.element.nativeElement, 'hidden-element');
327
- }
328
- }
329
- get visible() {
330
- return this._visible;
331
- }
332
- get calculateFormattedValue() {
333
- return this._calculateFormattedValue;
334
- }
335
- set isInFocus(isInFocus) {
336
- this._isInFocus = isInFocus;
337
- this.setFormattedValue(this.value);
338
- this.changeDisplayValue();
339
- }
340
- get isInFocus() {
341
- return this._isInFocus;
342
- }
343
- get displayValue$() {
344
- return this._displayValueSubject.asObservable().pipe(distinctUntilChanged());
345
- }
346
- notifyDisplayValueChange(value) {
347
- this._displayValueSubject.next(value);
348
- }
349
- setFormattedValue(value) {
350
- if (this.isInFocus) {
351
- return;
352
- }
353
- if (this._calculateFormattedValue) {
354
- // console.log(`setFormattedValue before - value is ${value}`);
355
- if (this.type === 'currency') {
356
- this.formattedValue = this.utilitiesService.formatCurrency(value, this.accessory, this.minFractionDigits, this.maxFractionDigits);
357
- }
358
- else if (this.type === 'percentage') {
359
- this.formattedValue = this.utilitiesService.formatPercent(value, this.minFractionDigits, this.maxFractionDigits);
360
- }
361
- else if (this.type === 'real') {
362
- this.formattedValue = this.utilitiesService.formatDecimal(value, this.minFractionDigits, this.maxFractionDigits);
363
- }
364
- else if (this.type === 'int') {
365
- this.formattedValue = this.utilitiesService.formatNumber(value);
366
- }
367
- else if (this.type === 'duration') {
368
- this.formattedValue = this.utilitiesService.formatDuration(value, { duration: 'seconds' });
369
- }
370
- else {
371
- this.formattedValue = value;
372
- }
373
- }
374
- else {
375
- this.formattedValue = value;
376
- }
377
- // console.log(`setFormattedValue after - value is ${this.formattedValue}`);
378
- this.updateFormFieldValue();
379
- }
380
- updateFormFieldValue(firstLoad = false) {
381
- // Set the formatted value only for the first load cause it's not formatted if we set the value (I don't know why)
382
- // Else we set the value - this is important to set the value only cause setting the formatted value will cause bug when the number is with thousand separator
383
- this.customizationService.updateFormFieldValue(this.form, this.key, firstLoad ? this.formattedValue : this.value, this.parentFieldKey);
384
- }
385
- changeDisplayValue() {
386
- let res = '';
387
- if (this.type == 'link') {
388
- res = this.formattedValue;
389
- }
390
- else if (this.isDecimal()) {
391
- res = this.isInFocus ? this.valueAsCurrentCulture : this.formattedValue;
392
- }
393
- else if (this.isNumberType()) {
394
- res = this.isInFocus ? this.value : this.formattedValue;
395
- }
396
- else {
397
- res = this.isInFocus ? this.value : this.formattedValue;
398
- }
399
- this.notifyDisplayValueChange(res);
400
- // console.log('changeDisplayValue ' + res);
401
- }
402
- setDefaultForm() {
403
- const pepField = new PepTextboxField({
404
- key: this.key,
405
- value: this.valueAsCurrentCulture,
406
- mandatory: this.mandatory,
407
- readonly: this.readonly,
408
- disabled: this.disabled,
409
- maxFieldCharacters: this.maxFieldCharacters,
410
- type: this.type,
411
- minValue: this.minValue,
412
- maxValue: this.maxValue,
413
- regex: this.regex
414
- });
415
- this.form = this.customizationService.getDefaultFromGroup(pepField, this.renderError);
416
- }
417
- ngOnInit() {
418
- if (this.form === null) {
419
- this.standAlone = true;
420
- this.minValue =
421
- isNaN(this.minValue) && !isNaN(this.maxValue)
422
- ? 0
423
- : this.minValue;
424
- this.maxValue =
425
- isNaN(this.maxValue) && !isNaN(this.minValue)
426
- ? 99999
427
- : this.maxValue;
428
- this.setDefaultForm();
429
- this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME);
430
- if (!this.renderTitle) {
431
- this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME);
432
- }
433
- }
434
- // flag to indicate whether validation on dirty is required
435
- // this.form.addControl('validateOnDirty', new FormControl(this.type === 'text'));
436
- this.readonly = this.type === 'duration' ? true : this.readonly; // Hack until we develop Timer UI for editing Duration field
437
- // load default error text
438
- if (this.type === 'text' && this.regex && (!this.regexError || this.regexError.length === 0)) {
439
- this.translate.get('MESSAGES.ERROR_INVALID_PATTERN').subscribe(text => this.regexError = text);
440
- }
441
- this.updateFormFieldValue(true);
442
- }
443
- ngOnChanges(changes) {
444
- if (this.standAlone) {
445
- this.setDefaultForm();
446
- }
447
- this.readonly = this.type === 'duration' ? true : this.readonly; // Hack until we develop Timer UI for editing Duration field
448
- }
449
- ngOnDestroy() {
450
- //
451
- }
452
- onFocus(event) {
453
- this.isInFocus = true;
454
- // select the value in focus (DI-18246 improvement)
455
- setTimeout(() => {
456
- if (this.isInFocus) {
457
- const eventTarget = event.target || event.srcElement;
458
- if (eventTarget) {
459
- eventTarget.select();
460
- }
461
- }
462
- }, 0);
463
- }
464
- isDecimal() {
465
- let res = false;
466
- if (this.isNumberType()) {
467
- if (this.type === 'currency' || this.type === 'real') {
468
- res = true;
469
- }
470
- }
471
- return res;
472
- }
473
- isNumberType() {
474
- return (this.type === 'percentage' ||
475
- this.type === 'int' ||
476
- this.type === 'currency' ||
477
- this.type === 'real');
478
- }
479
- isValueValid(value) {
480
- let res = false;
481
- if (this.isNumberType()) {
482
- if (value === '') {
483
- res = this.mandatory ? false : true;
484
- }
485
- else {
486
- value = this.utilitiesService.changeDecimalSeparatorWhenItsComma(value);
487
- const numberValue = coerceNumberProperty(value);
488
- if (!isNaN(this.minValue) && !isNaN(this.maxValue)) {
489
- res = numberValue >= this.minValue && numberValue <= this.maxValue;
490
- }
491
- else if (!isNaN(this.minValue)) {
492
- res = numberValue >= this.minValue;
493
- }
494
- else if (!isNaN(this.maxValue)) {
495
- res = numberValue <= this.maxValue;
496
- }
497
- else {
498
- res = true;
499
- }
500
- }
501
- }
502
- else {
503
- // TODO: Maybe need to check other types.
504
- res = true;
505
- }
506
- return res;
507
- }
508
- isDifferentValue(value) {
509
- let res = false;
510
- if (this.isNumberType()) {
511
- if ((this.value === '' || value === '')) {
512
- res = true;
513
- }
514
- else {
515
- res = this.utilitiesService.isEqualNumber(this.valueAsCurrentCulture, value) === false;
516
- }
517
- }
518
- else {
519
- res = true;
520
- }
521
- return res;
522
- }
523
- onChange(e) {
524
- const value = e.target ? e.target.value : e;
525
- // console.log(`onChange value is ${value}`);
526
- this.valueChange.emit(value);
527
- }
528
- onKeyup(event) {
529
- this.keyup.emit(event);
530
- }
531
- onBlur(e) {
532
- const value = e.target ? e.target.value : e;
533
- // If renderError is false and the new value is not valid.
534
- if (!this.renderError && !this.isValueValid(value)) {
535
- this.renderer.setProperty(this.input.nativeElement, 'value', this.valueAsCurrentCulture);
536
- }
537
- else {
538
- // For decimal we need to replace the decimal separator back if it's comma (',').
539
- const correctValue = this.isDecimal() ? this.utilitiesService.changeDecimalSeparatorWhenItsComma(value) : value;
540
- if (correctValue !== this.valueAsCurrentCulture && this.isDifferentValue(value)) {
541
- this.value = correctValue;
542
- this.valueChange.emit(this.value);
543
- }
544
- }
545
- if (this.isInEditMode) {
546
- this.isInEditMode = false;
547
- }
548
- this.isInFocus = false;
549
- }
550
- anchorClicked() {
551
- const currentValue = this.value;
552
- if (currentValue.trim().length > 0) {
553
- switch (this.type) {
554
- case 'email':
555
- window.open('mailto:' + currentValue, 'email');
556
- break;
557
- case 'phone':
558
- window.open('tel:' + currentValue, 'tel');
559
- break;
560
- case 'link':
561
- window.open(currentValue);
562
- break;
563
- default:
564
- break;
565
- }
566
- }
567
- }
568
- cardTemplateClicked(event) {
569
- this.isInEditMode = true;
570
- setTimeout(() => {
571
- this.input.nativeElement.focus();
572
- }, 0);
573
- }
574
- }
575
- PepTextboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepTextboxComponent, deps: [{ token: i1.PepCustomizationService }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2.TranslateService }, { token: i1.PepUtilitiesService }], target: i0.ɵɵFactoryTarget.Component });
576
- PepTextboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepTextboxComponent, selector: "pep-textbox", inputs: { key: "key", value: "value", minFractionDigits: "minFractionDigits", maxFractionDigits: "maxFractionDigits", accessory: "accessory", label: "label", placeholder: "placeholder", type: "type", mandatory: "mandatory", disabled: "disabled", readonly: "readonly", maxFieldCharacters: "maxFieldCharacters", hint: "hint", textColor: "textColor", xAlignment: "xAlignment", rowSpan: "rowSpan", minValue: "minValue", maxValue: "maxValue", visible: "visible", form: "form", isActive: "isActive", showTitle: "showTitle", renderTitle: "renderTitle", renderError: "renderError", renderSymbol: "renderSymbol", layoutType: "layoutType", parentFieldKey: "parentFieldKey", regex: "regex", regexError: "regexError", isInFocus: "isInFocus" }, outputs: { valueChange: "valueChange", keyup: "keyup" }, host: { properties: { "attr.data-qa": "this.dataQa" } }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container [formGroup]=\"form\">\n <ng-template #pepTemplate let-isFormView=\"isFormView\" let-hasParent=\"hasParent\">\n <pep-field-title *ngIf=\"renderTitle && isFormView && !hasParent\" [label]=\"label\" [mandatory]=\"mandatory\"\n [disabled]=\"disabled\" [maxFieldCharacters]=\"maxFieldCharacters\" [hint]=\"hint\" [xAlignment]=\"xAlignment\"\n [showTitle]=\"showTitle\" [inputLength]=\"input.value?.length\">\n </pep-field-title>\n <mat-form-field appearance=\"outline\">\n <!-- (click)=\"$event.target.select()\" -->\n <input #input matInput pepTextboxValidation [formControlName]=\"key\" [id]=\"key\"\n [name]=\"key\" class=\" body-sm \" autocomplete=\"off\"\n maxlength=\"{{ maxFieldCharacters > 0 ? maxFieldCharacters : 99999 }}\"\n [placeholder]=\"hasParent && !disabled ? placeholder : ''\"\n [ngStyle]=\"{ color: textColor, 'text-align': xAlignment == 'center' ? 'center' : xAlignment == 'right' ? 'right' : 'left' }\"\n title=\"{{ formattedValue }}\" [type]=\"type\" [value]=\"displayValue$ | async\"\n (keyup.enter)=\"$event?.currentTarget?.blur()\" (focus)=\"onFocus($event);\" (blur)=\"onBlur($event)\"\n (change)=\"onChange($event)\" (keyup)=\"onKeyup($event)\"\n [ngClass]=\"{'disable-hidden': disabled && formattedValue?.length > 0 && (type === 'phone' || type === 'email' || type === 'link')}\" />\n\n <span\n *ngIf=\"disabled && formattedValue?.length > 0 && (type === 'phone' || type === 'email' || type === 'link')\"\n class=\"dis-grid\">\n <a href=\"javascript:void(0)\" (click)=\"anchorClicked()\" [id]=\"key\" [name]=\"key\"\n class=\"color-link body-sm \"> {{formattedValue}}</a>\n </span>\n <mat-error *ngIf=\"renderError\"> \n <ng-container *ngIf=\"mandatory && input.value.length == 0 then requiredError else otherErrorContainer\">\n </ng-container>\n <ng-template #requiredError>\n <span class=\"body-xs\" [title]=\"('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label })\"\n [innerText]=\"('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label })\">\n </span>\n </ng-template>\n <ng-template #otherErrorContainer>\n <ng-template *ngIf=\"regex && form?.get(key)?.errors?.pattern then patternError else otherError\"></ng-template>\n <ng-template #patternError>\n <span class=\"body-xs\">\n {{ regexError }}\n </span>\n </ng-template>\n <ng-template #otherError>\n <span class=\"body-xs\" [title]=\"(input.value | pepToNumber) > this.maxValue || (input.value | pepToNumber) < this.minValue ?\n ('MESSAGES.ERROR_RANGE_IS_NOT_VALID' | translate: { min: minValue, max: maxValue }) :\n ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\" [innerText]=\"(input.value | pepToNumber) > this.maxValue || (input.value | pepToNumber) < this.minValue ?\n ('MESSAGES.ERROR_RANGE_IS_NOT_VALID' | translate: { min: minValue, max: maxValue }) :\n ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\">\n </span>\n </ng-template>\n </ng-template>\n </mat-error> \n <pep-textbox-icon *ngIf=\"renderSymbol && isFormView && xAlignment == 'right'\" matPrefix [value]=\"value\"\n [label]=\"label\" [type]=\"type\" [disabled]=\"disabled\">\n </pep-textbox-icon>\n <pep-textbox-icon *ngIf=\"renderSymbol && isFormView && (xAlignment == 'left')\" matSuffix [value]=\"value\"\n [label]=\"label\" [type]=\"type\" [disabled]=\"disabled\">\n </pep-textbox-icon>\n </mat-form-field>\n </ng-template> \n <ng-container *ngIf=\"layoutType === 'form'\">\n <ng-container *ngIf=\"parentFieldKey; then groupedBlock; else regularBlock\"></ng-container>\n <ng-template #regularBlock>\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: true, hasParent: false }\">\n </ng-container>\n </ng-template>\n <ng-template #groupedBlock>\n <ng-container [formGroupName]=\"parentFieldKey\">\n <mat-form-field appearance=\"outline\">\n <!-- (click)=\"$event.target.select()\" -->\n <input pepTextboxValidation [id]=\"key\" [name]=\"key\" class=\" body-sm \" matInput autocomplete=\"off\" \n [placeholder]=\"!disabled ? placeholder : ''\" title=\"{{ formattedValue }}\"\n [formControlName]=\"key\" [value]=\"value\" \n (blur)=\"onBlur($event)\" (change)=\"onChange($event)\" (keyup)=\"onKeyup($event)\"\n (keyup.enter)=\"$event?.currentTarget?.blur()\" (focus)=\"onFocus($event)\" />\n </mat-form-field>\n <!-- <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: true, hasParent: true }\"></ng-container> -->\n </ng-container>\n </ng-template>\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; context: { isFormView: false, hasParent: false }\">\n </ng-container>\n </div>\n </ng-template>\n <ng-template #readOnlyBlock>\n <div class=\"pep-card-input card-flex-container\" [ngStyle]=\"{ color: textColor }\"\n [class]=\"'text-align-' + xAlignment\" [ngClass]=\"{'one-row': rowSpan === 1,\n 'multi-rows': rowSpan > 1,\n 'pep-button weak': isActive && !disabled}\"\n (click)=\"!disabled ? cardTemplateClicked($event) : ''\">\n <span *ngIf=\"showTitle && label != ''\" class=\"body-xs title\" title=\"{{ label }}\">{{ label\n }}&nbsp;</span>\n <span [id]=\"key\" title=\"{{ formattedValue }}\" class=\"body-sm value\"\n [ngClass]=\"{'multi-rows-text': rowSpan > 1}\" [ngStyle]=\"{ '-webkit-line-clamp': rowSpan }\">{{\n formattedValue }}</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\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; context: { isFormView: false, hasParent: false }\">\n </ng-container>\n </ng-template>\n <ng-template #notSelectedBlock>\n <ng-container *ngIf=\"formattedValue?.length > 0; then notEmptyBlock; else emptyBlock\"></ng-container>\n <ng-template #notEmptyBlock>\n <ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"'link'\">\n <a [id]=\"key\" class=\"color-link body-sm pep-report-input\"\n [ngClass]=\"{'disable': (disabled && value === '')}\" *ngIf=\"formattedValue != null\"\n title=\"{{ formattedValue }}\" target=\"_blank\" href=\"{{ value ? value : formattedValue }}\">{{\n formattedValue }}</a>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <span [id]=\"key\" class=\"body-sm pep-report-input\" [ngClass]=\"{'readonly': disabled}\"\n title=\"{{ formattedValue }}\" [ngStyle]=\"{ color: textColor }\">{{ formattedValue }}</span>\n </ng-container>\n </ng-container>\n </ng-template>\n <ng-template #emptyBlock>\n <span [id]=\"key\">&nbsp;</span>\n </ng-template>\n </ng-template>\n </ng-container>\n\n</ng-container>", styles: [":host{height:inherit;display:grid}:host>*{align-self:center;align-items:baseline}.disable-hidden{display:none}.dis-grid{display:grid}.multi-rows-text{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal!important}\n", ""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatPrefix, selector: "[matPrefix]" }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i1$1.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i10.PepFieldTitleComponent, selector: "pep-field-title", inputs: ["label", "mandatory", "disabled", "maxFieldCharacters", "hint", "xAlignment", "showTitle", "inputLength", "fontBodyType"] }, { kind: "component", type: i11.PepTextboxIconComponent, selector: "pep-textbox-icon", inputs: ["value", "label", "type", "disabled"], outputs: ["iconClick"] }, { kind: "directive", type: PepTextboxValidationDirective, selector: "[pepTextboxValidation]", inputs: ["type"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.PepToNumberPipe, name: "pepToNumber" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
577
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepTextboxComponent, decorators: [{
578
- type: Component,
579
- args: [{ selector: 'pep-textbox', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [formGroup]=\"form\">\n <ng-template #pepTemplate let-isFormView=\"isFormView\" let-hasParent=\"hasParent\">\n <pep-field-title *ngIf=\"renderTitle && isFormView && !hasParent\" [label]=\"label\" [mandatory]=\"mandatory\"\n [disabled]=\"disabled\" [maxFieldCharacters]=\"maxFieldCharacters\" [hint]=\"hint\" [xAlignment]=\"xAlignment\"\n [showTitle]=\"showTitle\" [inputLength]=\"input.value?.length\">\n </pep-field-title>\n <mat-form-field appearance=\"outline\">\n <!-- (click)=\"$event.target.select()\" -->\n <input #input matInput pepTextboxValidation [formControlName]=\"key\" [id]=\"key\"\n [name]=\"key\" class=\" body-sm \" autocomplete=\"off\"\n maxlength=\"{{ maxFieldCharacters > 0 ? maxFieldCharacters : 99999 }}\"\n [placeholder]=\"hasParent && !disabled ? placeholder : ''\"\n [ngStyle]=\"{ color: textColor, 'text-align': xAlignment == 'center' ? 'center' : xAlignment == 'right' ? 'right' : 'left' }\"\n title=\"{{ formattedValue }}\" [type]=\"type\" [value]=\"displayValue$ | async\"\n (keyup.enter)=\"$event?.currentTarget?.blur()\" (focus)=\"onFocus($event);\" (blur)=\"onBlur($event)\"\n (change)=\"onChange($event)\" (keyup)=\"onKeyup($event)\"\n [ngClass]=\"{'disable-hidden': disabled && formattedValue?.length > 0 && (type === 'phone' || type === 'email' || type === 'link')}\" />\n\n <span\n *ngIf=\"disabled && formattedValue?.length > 0 && (type === 'phone' || type === 'email' || type === 'link')\"\n class=\"dis-grid\">\n <a href=\"javascript:void(0)\" (click)=\"anchorClicked()\" [id]=\"key\" [name]=\"key\"\n class=\"color-link body-sm \"> {{formattedValue}}</a>\n </span>\n <mat-error *ngIf=\"renderError\"> \n <ng-container *ngIf=\"mandatory && input.value.length == 0 then requiredError else otherErrorContainer\">\n </ng-container>\n <ng-template #requiredError>\n <span class=\"body-xs\" [title]=\"('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label })\"\n [innerText]=\"('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label })\">\n </span>\n </ng-template>\n <ng-template #otherErrorContainer>\n <ng-template *ngIf=\"regex && form?.get(key)?.errors?.pattern then patternError else otherError\"></ng-template>\n <ng-template #patternError>\n <span class=\"body-xs\">\n {{ regexError }}\n </span>\n </ng-template>\n <ng-template #otherError>\n <span class=\"body-xs\" [title]=\"(input.value | pepToNumber) > this.maxValue || (input.value | pepToNumber) < this.minValue ?\n ('MESSAGES.ERROR_RANGE_IS_NOT_VALID' | translate: { min: minValue, max: maxValue }) :\n ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\" [innerText]=\"(input.value | pepToNumber) > this.maxValue || (input.value | pepToNumber) < this.minValue ?\n ('MESSAGES.ERROR_RANGE_IS_NOT_VALID' | translate: { min: minValue, max: maxValue }) :\n ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\">\n </span>\n </ng-template>\n </ng-template>\n </mat-error> \n <pep-textbox-icon *ngIf=\"renderSymbol && isFormView && xAlignment == 'right'\" matPrefix [value]=\"value\"\n [label]=\"label\" [type]=\"type\" [disabled]=\"disabled\">\n </pep-textbox-icon>\n <pep-textbox-icon *ngIf=\"renderSymbol && isFormView && (xAlignment == 'left')\" matSuffix [value]=\"value\"\n [label]=\"label\" [type]=\"type\" [disabled]=\"disabled\">\n </pep-textbox-icon>\n </mat-form-field>\n </ng-template> \n <ng-container *ngIf=\"layoutType === 'form'\">\n <ng-container *ngIf=\"parentFieldKey; then groupedBlock; else regularBlock\"></ng-container>\n <ng-template #regularBlock>\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: true, hasParent: false }\">\n </ng-container>\n </ng-template>\n <ng-template #groupedBlock>\n <ng-container [formGroupName]=\"parentFieldKey\">\n <mat-form-field appearance=\"outline\">\n <!-- (click)=\"$event.target.select()\" -->\n <input pepTextboxValidation [id]=\"key\" [name]=\"key\" class=\" body-sm \" matInput autocomplete=\"off\" \n [placeholder]=\"!disabled ? placeholder : ''\" title=\"{{ formattedValue }}\"\n [formControlName]=\"key\" [value]=\"value\" \n (blur)=\"onBlur($event)\" (change)=\"onChange($event)\" (keyup)=\"onKeyup($event)\"\n (keyup.enter)=\"$event?.currentTarget?.blur()\" (focus)=\"onFocus($event)\" />\n </mat-form-field>\n <!-- <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: true, hasParent: true }\"></ng-container> -->\n </ng-container>\n </ng-template>\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; context: { isFormView: false, hasParent: false }\">\n </ng-container>\n </div>\n </ng-template>\n <ng-template #readOnlyBlock>\n <div class=\"pep-card-input card-flex-container\" [ngStyle]=\"{ color: textColor }\"\n [class]=\"'text-align-' + xAlignment\" [ngClass]=\"{'one-row': rowSpan === 1,\n 'multi-rows': rowSpan > 1,\n 'pep-button weak': isActive && !disabled}\"\n (click)=\"!disabled ? cardTemplateClicked($event) : ''\">\n <span *ngIf=\"showTitle && label != ''\" class=\"body-xs title\" title=\"{{ label }}\">{{ label\n }}&nbsp;</span>\n <span [id]=\"key\" title=\"{{ formattedValue }}\" class=\"body-sm value\"\n [ngClass]=\"{'multi-rows-text': rowSpan > 1}\" [ngStyle]=\"{ '-webkit-line-clamp': rowSpan }\">{{\n formattedValue }}</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\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; context: { isFormView: false, hasParent: false }\">\n </ng-container>\n </ng-template>\n <ng-template #notSelectedBlock>\n <ng-container *ngIf=\"formattedValue?.length > 0; then notEmptyBlock; else emptyBlock\"></ng-container>\n <ng-template #notEmptyBlock>\n <ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"'link'\">\n <a [id]=\"key\" class=\"color-link body-sm pep-report-input\"\n [ngClass]=\"{'disable': (disabled && value === '')}\" *ngIf=\"formattedValue != null\"\n title=\"{{ formattedValue }}\" target=\"_blank\" href=\"{{ value ? value : formattedValue }}\">{{\n formattedValue }}</a>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <span [id]=\"key\" class=\"body-sm pep-report-input\" [ngClass]=\"{'readonly': disabled}\"\n title=\"{{ formattedValue }}\" [ngStyle]=\"{ color: textColor }\">{{ formattedValue }}</span>\n </ng-container>\n </ng-container>\n </ng-template>\n <ng-template #emptyBlock>\n <span [id]=\"key\">&nbsp;</span>\n </ng-template>\n </ng-template>\n </ng-container>\n\n</ng-container>", styles: [":host{height:inherit;display:grid}:host>*{align-self:center;align-items:baseline}.disable-hidden{display:none}.dis-grid{display:grid}.multi-rows-text{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal!important}\n"] }]
580
- }], ctorParameters: function () { return [{ type: i1.PepCustomizationService }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i2.TranslateService }, { type: i1.PepUtilitiesService }]; }, propDecorators: { dataQa: [{
581
- type: HostBinding,
582
- args: ['attr.data-qa']
583
- }], key: [{
584
- type: Input
585
- }], value: [{
586
- type: Input
587
- }], minFractionDigits: [{
588
- type: Input
589
- }], maxFractionDigits: [{
590
- type: Input
591
- }], accessory: [{
592
- type: Input
593
- }], label: [{
594
- type: Input
595
- }], placeholder: [{
596
- type: Input
597
- }], type: [{
598
- type: Input
599
- }], mandatory: [{
600
- type: Input
601
- }], disabled: [{
602
- type: Input
603
- }], readonly: [{
604
- type: Input
605
- }], maxFieldCharacters: [{
606
- type: Input
607
- }], hint: [{
608
- type: Input
609
- }], textColor: [{
610
- type: Input
611
- }], xAlignment: [{
612
- type: Input
613
- }], rowSpan: [{
614
- type: Input
615
- }], minValue: [{
616
- type: Input
617
- }], maxValue: [{
618
- type: Input
619
- }], visible: [{
620
- type: Input
621
- }], form: [{
622
- type: Input
623
- }], isActive: [{
624
- type: Input
625
- }], showTitle: [{
626
- type: Input
627
- }], renderTitle: [{
628
- type: Input
629
- }], renderError: [{
630
- type: Input
631
- }], renderSymbol: [{
632
- type: Input
633
- }], layoutType: [{
634
- type: Input
635
- }], parentFieldKey: [{
636
- type: Input
637
- }], regex: [{
638
- type: Input
639
- }], regexError: [{
640
- type: Input
641
- }], valueChange: [{
642
- type: Output
643
- }], keyup: [{
644
- type: Output
645
- }], input: [{
646
- type: ViewChild,
647
- args: ['input']
648
- }], isInFocus: [{
649
- type: Input
118
+ // Not in use - I don't know why we need this???
119
+ // /** error when invalid control is dirty or touched */
120
+ // export class TextErrorStateMatcher implements ErrorStateMatcher {
121
+ // isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {
122
+ // const validateOnDirty = form?.form?.controls?.['validateOnDirty']?.value;
123
+ // return !!(validateOnDirty && control && control.invalid && (control.dirty || control.touched));
124
+ // }
125
+ // }
126
+ /**
127
+ * This is a text box input component that can be use to
128
+ *
129
+ * @export
130
+ * @class PepTextboxComponent
131
+ * @implements {OnChanges}
132
+ * @implements {OnInit}
133
+ * @implements {OnDestroy}
134
+ */
135
+ class PepTextboxComponent {
136
+ constructor(customizationService, renderer, element, translate, utilitiesService) {
137
+ this.customizationService = customizationService;
138
+ this.renderer = renderer;
139
+ this.element = element;
140
+ this.translate = translate;
141
+ this.utilitiesService = utilitiesService;
142
+ this.dataQa = '';
143
+ this._key = '';
144
+ this._value = '';
145
+ this.formattedValue = '';
146
+ // private _formattedValue = '';
147
+ // /**
148
+ // * The formatted value.
149
+ // *
150
+ // * @memberof PepTextboxComponent
151
+ // */
152
+ // @Input()
153
+ // set formattedValue(value: string) {
154
+ // // Do nothing.
155
+ // // if (!value) {
156
+ // // value = '';
157
+ // // }
158
+ // // if (this._calculateFormattedValue) {
159
+ // // this._calculateFormattedValue = false;
160
+ // // }
161
+ // // this.setFormattedValue(value);
162
+ // }
163
+ // get formattedValue(): string {
164
+ // return this._formattedValue;
165
+ // }
166
+ this._minFractionDigits = NaN;
167
+ this._maxFractionDigits = NaN;
168
+ /**
169
+ * The accessory sign.
170
+ *
171
+ * @memberof PepTextboxComponent
172
+ */
173
+ this.accessory = '';
174
+ /**
175
+ * The title of the textbox.
176
+ *
177
+ * @memberof PepTextboxComponent
178
+ */
179
+ this.label = '';
180
+ /**
181
+ * The placeholder (relevant only for children - if parent isn't null).
182
+ *
183
+ * @memberof PepTextboxComponent
184
+ */
185
+ this.placeholder = '';
186
+ /**
187
+ * The type of the textbox.
188
+ *
189
+ * @type {PepTextboxFieldType}
190
+ * @memberof PepTextboxComponent
191
+ */
192
+ this._type = 'text';
193
+ this.inputMode = 'text';
194
+ /**
195
+ * If the textbox is mandatory
196
+ *
197
+ * @memberof PepTextboxComponent
198
+ */
199
+ this._mandatory = false;
200
+ // TODO: Check if should remove disabled and keep only readonly.
201
+ /**
202
+ * If the textbox is disabled.
203
+ *
204
+ * @memberof PepTextboxComponent
205
+ */
206
+ this.disabled = false;
207
+ /**
208
+ * If the textbox is readonly
209
+ *
210
+ * @memberof PepTextboxComponent
211
+ */
212
+ this.readonly = false;
213
+ this.textColor = '';
214
+ this.xAlignment = DEFAULT_HORIZONTAL_ALIGNMENT;
215
+ this.rowSpan = 1;
216
+ // @Input() lastFocusField: any;
217
+ this.minValue = NaN;
218
+ this.maxValue = NaN;
219
+ this._visible = true;
220
+ this.form = null;
221
+ this.isActive = false;
222
+ this.showTitle = true;
223
+ this.renderTitle = true;
224
+ this.renderError = true;
225
+ this.renderSymbol = true;
226
+ this.layoutType = 'form';
227
+ this.parentFieldKey = null;
228
+ this.regex = null;
229
+ this.regexError = '';
230
+ /**
231
+ * The value change event.
232
+ *
233
+ * @type {EventEmitter<string>}
234
+ * @memberof PepTextboxComponent
235
+ */
236
+ this.valueChange = new EventEmitter();
237
+ // @Output()
238
+ // formValidationChange: EventEmitter<boolean> = new EventEmitter<boolean>();
239
+ this.keyup = new EventEmitter();
240
+ this._calculateFormattedValue = true;
241
+ this.controlType = 'textbox';
242
+ this.standAlone = false;
243
+ this.isInEditMode = false;
244
+ this._isInFocus = false;
245
+ // matcher = new TextErrorStateMatcher();
246
+ // protected displayValue$:
247
+ this._displayValueSubject = new BehaviorSubject('');
248
+ this.isInFocus = false;
249
+ }
250
+ /**
251
+ * The text box key
252
+ *
253
+ * @memberof PepTextboxComponent
254
+ */
255
+ set key(value) {
256
+ this._key = value;
257
+ this.dataQa = value;
258
+ }
259
+ get key() {
260
+ return this._key;
261
+ }
262
+ /**
263
+ * The value of the text box.
264
+ *
265
+ * @memberof PepTextboxComponent
266
+ */
267
+ set value(value) {
268
+ if (!value) {
269
+ value = '';
270
+ }
271
+ if (this.isDifferentValue(value)) {
272
+ // console.log(`set value, value is - ${value}`)
273
+ this._value = value;
274
+ }
275
+ this.setFormattedValue(this.value);
276
+ this.changeDisplayValue();
277
+ }
278
+ get value() {
279
+ return this._value;
280
+ }
281
+ get valueAsCurrentCulture() {
282
+ return this.utilitiesService.changeDecimalSeparatorWhenItsComma(this.value, true);
283
+ // let res = this.value;
284
+ // if (this.isDecimal()) {
285
+ // res = this.utilitiesService.formatDecimal(this.value, this.minFractionDigits, this.maxFractionDigits, false);
286
+ // }
287
+ // return res;
288
+ }
289
+ set minFractionDigits(value) {
290
+ this._minFractionDigits = value;
291
+ this.setFormattedValue(this.value);
292
+ this.changeDisplayValue();
293
+ }
294
+ get minFractionDigits() {
295
+ return this._minFractionDigits;
296
+ }
297
+ set maxFractionDigits(value) {
298
+ this._maxFractionDigits = value;
299
+ this.setFormattedValue(this.value);
300
+ this.changeDisplayValue();
301
+ }
302
+ get maxFractionDigits() {
303
+ return this._maxFractionDigits;
304
+ }
305
+ set type(value) {
306
+ this._type = value;
307
+ if (this.value) {
308
+ this.setFormattedValue(this.value);
309
+ this.changeDisplayValue();
310
+ this.setInputModeAttribute();
311
+ }
312
+ }
313
+ get type() {
314
+ return this._type;
315
+ }
316
+ set mandatory(value) {
317
+ this._mandatory = value;
318
+ }
319
+ get mandatory() {
320
+ return this._mandatory;
321
+ }
322
+ set visible(visible) {
323
+ this._visible = visible;
324
+ if (visible) {
325
+ this.renderer.removeClass(this.element.nativeElement, 'hidden-element');
326
+ }
327
+ else {
328
+ this.renderer.addClass(this.element.nativeElement, 'hidden-element');
329
+ }
330
+ }
331
+ get visible() {
332
+ return this._visible;
333
+ }
334
+ get calculateFormattedValue() {
335
+ return this._calculateFormattedValue;
336
+ }
337
+ set isInFocus(isInFocus) {
338
+ this._isInFocus = isInFocus;
339
+ this.setFormattedValue(this.value);
340
+ this.changeDisplayValue();
341
+ }
342
+ get isInFocus() {
343
+ return this._isInFocus;
344
+ }
345
+ get displayValue$() {
346
+ return this._displayValueSubject.asObservable().pipe(distinctUntilChanged());
347
+ }
348
+ setInputModeAttribute() {
349
+ if (this.type === 'currency' || this.type === 'percentage' || this.type === 'real') {
350
+ this.inputMode = 'decimal';
351
+ }
352
+ else if (this.type === 'int') {
353
+ this.inputMode = 'numeric';
354
+ }
355
+ else if (this.type === 'phone') {
356
+ this.inputMode = 'tel';
357
+ }
358
+ else if (this.type === 'email') {
359
+ this.inputMode = 'email';
360
+ }
361
+ else {
362
+ this.inputMode = 'text';
363
+ }
364
+ if (this.input) {
365
+ this.renderer.setAttribute(this.input.nativeElement, 'inputmode', this.inputMode);
366
+ }
367
+ }
368
+ notifyDisplayValueChange(value) {
369
+ this._displayValueSubject.next(value);
370
+ }
371
+ setFormattedValue(value) {
372
+ if (this.isInFocus) {
373
+ return;
374
+ }
375
+ if (this._calculateFormattedValue) {
376
+ // console.log(`setFormattedValue before - value is ${value}`);
377
+ if (this.type === 'currency') {
378
+ this.formattedValue = this.utilitiesService.formatCurrency(value, this.accessory, this.minFractionDigits, this.maxFractionDigits);
379
+ }
380
+ else if (this.type === 'percentage') {
381
+ this.formattedValue = this.utilitiesService.formatPercent(value, this.minFractionDigits, this.maxFractionDigits);
382
+ }
383
+ else if (this.type === 'real') {
384
+ this.formattedValue = this.utilitiesService.formatDecimal(value, this.minFractionDigits, this.maxFractionDigits);
385
+ }
386
+ else if (this.type === 'int') {
387
+ this.formattedValue = this.utilitiesService.formatNumber(value);
388
+ }
389
+ else if (this.type === 'duration') {
390
+ this.formattedValue = this.utilitiesService.formatDuration(value, { duration: 'seconds' });
391
+ }
392
+ else {
393
+ this.formattedValue = value;
394
+ }
395
+ }
396
+ else {
397
+ this.formattedValue = value;
398
+ }
399
+ // console.log(`setFormattedValue after - value is ${this.formattedValue}`);
400
+ this.updateFormFieldValue();
401
+ }
402
+ updateFormFieldValue(firstLoad = false) {
403
+ // Set the formatted value only for the first load cause it's not formatted if we set the value (I don't know why)
404
+ // Else we set the value - this is important to set the value only cause setting the formatted value will cause bug when the number is with thousand separator
405
+ this.customizationService.updateFormFieldValue(this.form, this.key, firstLoad ? this.formattedValue : this.value, this.parentFieldKey);
406
+ }
407
+ changeDisplayValue() {
408
+ let res = '';
409
+ if (this.type == 'link') {
410
+ res = this.formattedValue;
411
+ }
412
+ else if (this.isDecimal()) {
413
+ res = this.isInFocus ? this.valueAsCurrentCulture : this.formattedValue;
414
+ }
415
+ else if (this.isNumberType()) {
416
+ res = this.isInFocus ? this.value : this.formattedValue;
417
+ }
418
+ else {
419
+ res = this.isInFocus ? this.value : this.formattedValue;
420
+ }
421
+ this.notifyDisplayValueChange(res);
422
+ // console.log('changeDisplayValue ' + res);
423
+ }
424
+ setDefaultForm() {
425
+ const pepField = new PepTextboxField({
426
+ key: this.key,
427
+ value: this.valueAsCurrentCulture,
428
+ mandatory: this.mandatory,
429
+ readonly: this.readonly,
430
+ disabled: this.disabled,
431
+ maxFieldCharacters: this.maxFieldCharacters,
432
+ type: this.type,
433
+ minValue: this.minValue,
434
+ maxValue: this.maxValue,
435
+ regex: this.regex
436
+ });
437
+ this.form = this.customizationService.getDefaultFromGroup(pepField, this.renderError);
438
+ }
439
+ ngOnInit() {
440
+ if (this.form === null) {
441
+ this.standAlone = true;
442
+ this.minValue =
443
+ isNaN(this.minValue) && !isNaN(this.maxValue)
444
+ ? 0
445
+ : this.minValue;
446
+ this.maxValue =
447
+ isNaN(this.maxValue) && !isNaN(this.minValue)
448
+ ? 99999
449
+ : this.maxValue;
450
+ this.setDefaultForm();
451
+ this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME);
452
+ if (!this.renderTitle) {
453
+ this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME);
454
+ }
455
+ }
456
+ // flag to indicate whether validation on dirty is required
457
+ // this.form.addControl('validateOnDirty', new FormControl(this.type === 'text'));
458
+ this.readonly = this.type === 'duration' ? true : this.readonly; // Hack until we develop Timer UI for editing Duration field
459
+ // load default error text
460
+ if (this.type === 'text' && this.regex && (!this.regexError || this.regexError.length === 0)) {
461
+ this.translate.get('MESSAGES.ERROR_INVALID_PATTERN').subscribe(text => this.regexError = text);
462
+ }
463
+ this.updateFormFieldValue(true);
464
+ }
465
+ ngAfterViewInit() {
466
+ this.setInputModeAttribute();
467
+ }
468
+ ngOnChanges(changes) {
469
+ if (this.standAlone) {
470
+ this.setDefaultForm();
471
+ }
472
+ this.readonly = this.type === 'duration' ? true : this.readonly; // Hack until we develop Timer UI for editing Duration field
473
+ }
474
+ ngOnDestroy() {
475
+ //
476
+ }
477
+ onFocus(event) {
478
+ this.isInFocus = true;
479
+ // select the value in focus (DI-18246 improvement)
480
+ setTimeout(() => {
481
+ if (this.isInFocus) {
482
+ const eventTarget = event.target || event.srcElement;
483
+ if (eventTarget) {
484
+ eventTarget.select();
485
+ }
486
+ }
487
+ }, 0);
488
+ }
489
+ isDecimal() {
490
+ let res = false;
491
+ if (this.isNumberType()) {
492
+ if (this.type === 'currency' || this.type === 'real') {
493
+ res = true;
494
+ }
495
+ }
496
+ return res;
497
+ }
498
+ isNumberType() {
499
+ return (this.type === 'percentage' ||
500
+ this.type === 'int' ||
501
+ this.type === 'currency' ||
502
+ this.type === 'real');
503
+ }
504
+ isValueValid(value) {
505
+ let res = false;
506
+ if (this.isNumberType()) {
507
+ if (value === '') {
508
+ res = this.mandatory ? false : true;
509
+ }
510
+ else {
511
+ value = this.utilitiesService.changeDecimalSeparatorWhenItsComma(value);
512
+ const numberValue = coerceNumberProperty(value);
513
+ if (!isNaN(this.minValue) && !isNaN(this.maxValue)) {
514
+ res = numberValue >= this.minValue && numberValue <= this.maxValue;
515
+ }
516
+ else if (!isNaN(this.minValue)) {
517
+ res = numberValue >= this.minValue;
518
+ }
519
+ else if (!isNaN(this.maxValue)) {
520
+ res = numberValue <= this.maxValue;
521
+ }
522
+ else {
523
+ res = true;
524
+ }
525
+ }
526
+ }
527
+ else {
528
+ // TODO: Maybe need to check other types.
529
+ res = true;
530
+ }
531
+ return res;
532
+ }
533
+ isDifferentValue(value) {
534
+ let res = false;
535
+ if (this.isNumberType()) {
536
+ if ((this.value === '' || value === '')) {
537
+ res = true;
538
+ }
539
+ else {
540
+ res = this.utilitiesService.isEqualNumber(this.valueAsCurrentCulture, value) === false;
541
+ }
542
+ }
543
+ else {
544
+ res = true;
545
+ }
546
+ return res;
547
+ }
548
+ onChange(e) {
549
+ const value = e.target ? e.target.value : e;
550
+ // console.log(`onChange value is ${value}`);
551
+ this.valueChange.emit(value);
552
+ }
553
+ onKeyup(event) {
554
+ this.keyup.emit(event);
555
+ }
556
+ onBlur(e) {
557
+ const value = e.target ? e.target.value : e;
558
+ // If renderError is false and the new value is not valid.
559
+ if (!this.renderError && !this.isValueValid(value)) {
560
+ this.renderer.setProperty(this.input.nativeElement, 'value', this.valueAsCurrentCulture);
561
+ }
562
+ else {
563
+ // For decimal we need to replace the decimal separator back if it's comma (',').
564
+ const correctValue = this.isDecimal() ? this.utilitiesService.changeDecimalSeparatorWhenItsComma(value) : value;
565
+ if (correctValue !== this.valueAsCurrentCulture && this.isDifferentValue(value)) {
566
+ this.value = correctValue;
567
+ this.valueChange.emit(this.value);
568
+ }
569
+ }
570
+ if (this.isInEditMode) {
571
+ this.isInEditMode = false;
572
+ }
573
+ this.isInFocus = false;
574
+ }
575
+ anchorClicked() {
576
+ const currentValue = this.value;
577
+ if (currentValue.trim().length > 0) {
578
+ switch (this.type) {
579
+ case 'email':
580
+ window.open('mailto:' + currentValue, 'email');
581
+ break;
582
+ case 'phone':
583
+ window.open('tel:' + currentValue, 'tel');
584
+ break;
585
+ case 'link':
586
+ window.open(currentValue);
587
+ break;
588
+ default:
589
+ break;
590
+ }
591
+ }
592
+ }
593
+ cardTemplateClicked(event) {
594
+ this.isInEditMode = true;
595
+ setTimeout(() => {
596
+ this.input.nativeElement.focus();
597
+ }, 0);
598
+ }
599
+ }
600
+ PepTextboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepTextboxComponent, deps: [{ token: i1.PepCustomizationService }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2.TranslateService }, { token: i1.PepUtilitiesService }], target: i0.ɵɵFactoryTarget.Component });
601
+ PepTextboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepTextboxComponent, selector: "pep-textbox", inputs: { key: "key", value: "value", minFractionDigits: "minFractionDigits", maxFractionDigits: "maxFractionDigits", accessory: "accessory", label: "label", placeholder: "placeholder", type: "type", mandatory: "mandatory", disabled: "disabled", readonly: "readonly", maxFieldCharacters: "maxFieldCharacters", hint: "hint", textColor: "textColor", xAlignment: "xAlignment", rowSpan: "rowSpan", minValue: "minValue", maxValue: "maxValue", visible: "visible", form: "form", isActive: "isActive", showTitle: "showTitle", renderTitle: "renderTitle", renderError: "renderError", renderSymbol: "renderSymbol", layoutType: "layoutType", parentFieldKey: "parentFieldKey", regex: "regex", regexError: "regexError", isInFocus: "isInFocus" }, outputs: { valueChange: "valueChange", keyup: "keyup" }, host: { properties: { "attr.data-qa": "this.dataQa" } }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container [formGroup]=\"form\">\n <ng-template #pepTemplate let-isFormView=\"isFormView\" let-hasParent=\"hasParent\">\n <pep-field-title *ngIf=\"renderTitle && isFormView && !hasParent\" [label]=\"label\" [mandatory]=\"mandatory\"\n [disabled]=\"disabled\" [maxFieldCharacters]=\"maxFieldCharacters\" [hint]=\"hint\" [xAlignment]=\"xAlignment\"\n [showTitle]=\"showTitle\" [inputLength]=\"input.value?.length\">\n </pep-field-title>\n <mat-form-field appearance=\"outline\">\n <!-- (click)=\"$event.target.select()\" -->\n <input #input matInput pepTextboxValidation [formControlName]=\"key\" [id]=\"key\"\n [name]=\"key\" class=\" body-sm \" autocomplete=\"off\"\n maxlength=\"{{ maxFieldCharacters > 0 ? maxFieldCharacters : 99999 }}\"\n [placeholder]=\"hasParent && !disabled ? placeholder : ''\"\n [ngStyle]=\"{ color: textColor, 'text-align': xAlignment == 'center' ? 'center' : xAlignment == 'right' ? 'right' : 'left' }\"\n title=\"{{ formattedValue }}\" [type]=\"type\" [value]=\"displayValue$ | async\"\n (keyup.enter)=\"$event?.currentTarget?.blur()\" (focus)=\"onFocus($event);\" (blur)=\"onBlur($event)\"\n (change)=\"onChange($event)\" (keyup)=\"onKeyup($event)\"\n [ngClass]=\"{'disable-hidden': disabled && formattedValue?.length > 0 && (type === 'phone' || type === 'email' || type === 'link')}\" />\n<!-- [attr.inputmode]=\"inputMode\" -->\n <span\n *ngIf=\"disabled && formattedValue?.length > 0 && (type === 'phone' || type === 'email' || type === 'link')\"\n class=\"dis-grid\">\n <a href=\"javascript:void(0)\" (click)=\"anchorClicked()\" [id]=\"key\" [name]=\"key\"\n class=\"color-link body-sm \"> {{formattedValue}}</a>\n </span>\n <mat-error *ngIf=\"renderError\"> \n <ng-container *ngIf=\"mandatory && input.value.length == 0 then requiredError else otherErrorContainer\">\n </ng-container>\n <ng-template #requiredError>\n <span class=\"body-xs\" [title]=\"('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label })\"\n [innerText]=\"('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label })\">\n </span>\n </ng-template>\n <ng-template #otherErrorContainer>\n <ng-template *ngIf=\"regex && form?.get(key)?.errors?.pattern then patternError else otherError\"></ng-template>\n <ng-template #patternError>\n <span class=\"body-xs\">\n {{ regexError }}\n </span>\n </ng-template>\n <ng-template #otherError>\n <span class=\"body-xs\" [title]=\"(input.value | pepToNumber) > this.maxValue || (input.value | pepToNumber) < this.minValue ?\n ('MESSAGES.ERROR_RANGE_IS_NOT_VALID' | translate: { min: minValue, max: maxValue }) :\n ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\" [innerText]=\"(input.value | pepToNumber) > this.maxValue || (input.value | pepToNumber) < this.minValue ?\n ('MESSAGES.ERROR_RANGE_IS_NOT_VALID' | translate: { min: minValue, max: maxValue }) :\n ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\">\n </span>\n </ng-template>\n </ng-template>\n </mat-error> \n <pep-textbox-icon *ngIf=\"renderSymbol && isFormView && xAlignment == 'right'\" matPrefix [value]=\"value\"\n [label]=\"label\" [type]=\"type\" [disabled]=\"disabled\">\n </pep-textbox-icon>\n <pep-textbox-icon *ngIf=\"renderSymbol && isFormView && (xAlignment == 'left')\" matSuffix [value]=\"value\"\n [label]=\"label\" [type]=\"type\" [disabled]=\"disabled\">\n </pep-textbox-icon>\n </mat-form-field>\n </ng-template> \n <ng-container *ngIf=\"layoutType === 'form'\">\n <ng-container *ngIf=\"parentFieldKey; then groupedBlock; else regularBlock\"></ng-container>\n <ng-template #regularBlock>\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: true, hasParent: false }\">\n </ng-container>\n </ng-template>\n <ng-template #groupedBlock>\n <ng-container [formGroupName]=\"parentFieldKey\">\n <mat-form-field appearance=\"outline\">\n <!-- (click)=\"$event.target.select()\" -->\n <input pepTextboxValidation [id]=\"key\" [name]=\"key\" class=\" body-sm \" matInput autocomplete=\"off\" \n [placeholder]=\"!disabled ? placeholder : ''\" title=\"{{ formattedValue }}\"\n [formControlName]=\"key\" [value]=\"value\" \n (blur)=\"onBlur($event)\" (change)=\"onChange($event)\" (keyup)=\"onKeyup($event)\"\n (keyup.enter)=\"$event?.currentTarget?.blur()\" (focus)=\"onFocus($event)\" />\n </mat-form-field>\n <!-- <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: true, hasParent: true }\"></ng-container> -->\n </ng-container>\n </ng-template>\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; context: { isFormView: false, hasParent: false }\">\n </ng-container>\n </div>\n </ng-template>\n <ng-template #readOnlyBlock>\n <div class=\"pep-card-input card-flex-container\" [ngStyle]=\"{ color: textColor }\"\n [class]=\"'text-align-' + xAlignment\" [ngClass]=\"{'one-row': rowSpan === 1,\n 'multi-rows': rowSpan > 1,\n 'pep-button weak': isActive && !disabled}\"\n (click)=\"!disabled ? cardTemplateClicked($event) : ''\">\n <span *ngIf=\"showTitle && label != ''\" class=\"body-xs title\" title=\"{{ label }}\">{{ label\n }}&nbsp;</span>\n <span [id]=\"key\" title=\"{{ formattedValue }}\" class=\"body-sm value\"\n [ngClass]=\"{'multi-rows-text': rowSpan > 1}\" [ngStyle]=\"{ '-webkit-line-clamp': rowSpan }\">{{\n formattedValue }}</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\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; context: { isFormView: false, hasParent: false }\">\n </ng-container>\n </ng-template>\n <ng-template #notSelectedBlock>\n <ng-container *ngIf=\"formattedValue?.length > 0; then notEmptyBlock; else emptyBlock\"></ng-container>\n <ng-template #notEmptyBlock>\n <ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"'link'\">\n <a [id]=\"key\" class=\"color-link body-sm pep-report-input\"\n [ngClass]=\"{'disable': (disabled && value === '')}\" *ngIf=\"formattedValue != null\"\n title=\"{{ formattedValue }}\" target=\"_blank\" href=\"{{ value ? value : formattedValue }}\">{{\n formattedValue }}</a>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <span [id]=\"key\" class=\"body-sm pep-report-input\" [ngClass]=\"{'readonly': disabled}\"\n title=\"{{ formattedValue }}\" [ngStyle]=\"{ color: textColor }\">{{ formattedValue }}</span>\n </ng-container>\n </ng-container>\n </ng-template>\n <ng-template #emptyBlock>\n <span [id]=\"key\">&nbsp;</span>\n </ng-template>\n </ng-template>\n </ng-container>\n\n</ng-container>", styles: [":host{height:inherit;display:grid}:host>*{align-self:center;align-items:baseline}.disable-hidden{display:none}.dis-grid{display:grid}.multi-rows-text{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal!important}\n", ""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatPrefix, selector: "[matPrefix]" }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i1$1.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i10.PepFieldTitleComponent, selector: "pep-field-title", inputs: ["label", "mandatory", "disabled", "maxFieldCharacters", "hint", "xAlignment", "showTitle", "inputLength", "fontBodyType"] }, { kind: "component", type: i11.PepTextboxIconComponent, selector: "pep-textbox-icon", inputs: ["value", "label", "type", "disabled"], outputs: ["iconClick"] }, { kind: "directive", type: PepTextboxValidationDirective, selector: "[pepTextboxValidation]", inputs: ["type"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.PepToNumberPipe, name: "pepToNumber" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
602
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepTextboxComponent, decorators: [{
603
+ type: Component,
604
+ args: [{ selector: 'pep-textbox', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [formGroup]=\"form\">\n <ng-template #pepTemplate let-isFormView=\"isFormView\" let-hasParent=\"hasParent\">\n <pep-field-title *ngIf=\"renderTitle && isFormView && !hasParent\" [label]=\"label\" [mandatory]=\"mandatory\"\n [disabled]=\"disabled\" [maxFieldCharacters]=\"maxFieldCharacters\" [hint]=\"hint\" [xAlignment]=\"xAlignment\"\n [showTitle]=\"showTitle\" [inputLength]=\"input.value?.length\">\n </pep-field-title>\n <mat-form-field appearance=\"outline\">\n <!-- (click)=\"$event.target.select()\" -->\n <input #input matInput pepTextboxValidation [formControlName]=\"key\" [id]=\"key\"\n [name]=\"key\" class=\" body-sm \" autocomplete=\"off\"\n maxlength=\"{{ maxFieldCharacters > 0 ? maxFieldCharacters : 99999 }}\"\n [placeholder]=\"hasParent && !disabled ? placeholder : ''\"\n [ngStyle]=\"{ color: textColor, 'text-align': xAlignment == 'center' ? 'center' : xAlignment == 'right' ? 'right' : 'left' }\"\n title=\"{{ formattedValue }}\" [type]=\"type\" [value]=\"displayValue$ | async\"\n (keyup.enter)=\"$event?.currentTarget?.blur()\" (focus)=\"onFocus($event);\" (blur)=\"onBlur($event)\"\n (change)=\"onChange($event)\" (keyup)=\"onKeyup($event)\"\n [ngClass]=\"{'disable-hidden': disabled && formattedValue?.length > 0 && (type === 'phone' || type === 'email' || type === 'link')}\" />\n<!-- [attr.inputmode]=\"inputMode\" -->\n <span\n *ngIf=\"disabled && formattedValue?.length > 0 && (type === 'phone' || type === 'email' || type === 'link')\"\n class=\"dis-grid\">\n <a href=\"javascript:void(0)\" (click)=\"anchorClicked()\" [id]=\"key\" [name]=\"key\"\n class=\"color-link body-sm \"> {{formattedValue}}</a>\n </span>\n <mat-error *ngIf=\"renderError\"> \n <ng-container *ngIf=\"mandatory && input.value.length == 0 then requiredError else otherErrorContainer\">\n </ng-container>\n <ng-template #requiredError>\n <span class=\"body-xs\" [title]=\"('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label })\"\n [innerText]=\"('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label })\">\n </span>\n </ng-template>\n <ng-template #otherErrorContainer>\n <ng-template *ngIf=\"regex && form?.get(key)?.errors?.pattern then patternError else otherError\"></ng-template>\n <ng-template #patternError>\n <span class=\"body-xs\">\n {{ regexError }}\n </span>\n </ng-template>\n <ng-template #otherError>\n <span class=\"body-xs\" [title]=\"(input.value | pepToNumber) > this.maxValue || (input.value | pepToNumber) < this.minValue ?\n ('MESSAGES.ERROR_RANGE_IS_NOT_VALID' | translate: { min: minValue, max: maxValue }) :\n ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\" [innerText]=\"(input.value | pepToNumber) > this.maxValue || (input.value | pepToNumber) < this.minValue ?\n ('MESSAGES.ERROR_RANGE_IS_NOT_VALID' | translate: { min: minValue, max: maxValue }) :\n ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\">\n </span>\n </ng-template>\n </ng-template>\n </mat-error> \n <pep-textbox-icon *ngIf=\"renderSymbol && isFormView && xAlignment == 'right'\" matPrefix [value]=\"value\"\n [label]=\"label\" [type]=\"type\" [disabled]=\"disabled\">\n </pep-textbox-icon>\n <pep-textbox-icon *ngIf=\"renderSymbol && isFormView && (xAlignment == 'left')\" matSuffix [value]=\"value\"\n [label]=\"label\" [type]=\"type\" [disabled]=\"disabled\">\n </pep-textbox-icon>\n </mat-form-field>\n </ng-template> \n <ng-container *ngIf=\"layoutType === 'form'\">\n <ng-container *ngIf=\"parentFieldKey; then groupedBlock; else regularBlock\"></ng-container>\n <ng-template #regularBlock>\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: true, hasParent: false }\">\n </ng-container>\n </ng-template>\n <ng-template #groupedBlock>\n <ng-container [formGroupName]=\"parentFieldKey\">\n <mat-form-field appearance=\"outline\">\n <!-- (click)=\"$event.target.select()\" -->\n <input pepTextboxValidation [id]=\"key\" [name]=\"key\" class=\" body-sm \" matInput autocomplete=\"off\" \n [placeholder]=\"!disabled ? placeholder : ''\" title=\"{{ formattedValue }}\"\n [formControlName]=\"key\" [value]=\"value\" \n (blur)=\"onBlur($event)\" (change)=\"onChange($event)\" (keyup)=\"onKeyup($event)\"\n (keyup.enter)=\"$event?.currentTarget?.blur()\" (focus)=\"onFocus($event)\" />\n </mat-form-field>\n <!-- <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: true, hasParent: true }\"></ng-container> -->\n </ng-container>\n </ng-template>\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; context: { isFormView: false, hasParent: false }\">\n </ng-container>\n </div>\n </ng-template>\n <ng-template #readOnlyBlock>\n <div class=\"pep-card-input card-flex-container\" [ngStyle]=\"{ color: textColor }\"\n [class]=\"'text-align-' + xAlignment\" [ngClass]=\"{'one-row': rowSpan === 1,\n 'multi-rows': rowSpan > 1,\n 'pep-button weak': isActive && !disabled}\"\n (click)=\"!disabled ? cardTemplateClicked($event) : ''\">\n <span *ngIf=\"showTitle && label != ''\" class=\"body-xs title\" title=\"{{ label }}\">{{ label\n }}&nbsp;</span>\n <span [id]=\"key\" title=\"{{ formattedValue }}\" class=\"body-sm value\"\n [ngClass]=\"{'multi-rows-text': rowSpan > 1}\" [ngStyle]=\"{ '-webkit-line-clamp': rowSpan }\">{{\n formattedValue }}</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\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; context: { isFormView: false, hasParent: false }\">\n </ng-container>\n </ng-template>\n <ng-template #notSelectedBlock>\n <ng-container *ngIf=\"formattedValue?.length > 0; then notEmptyBlock; else emptyBlock\"></ng-container>\n <ng-template #notEmptyBlock>\n <ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"'link'\">\n <a [id]=\"key\" class=\"color-link body-sm pep-report-input\"\n [ngClass]=\"{'disable': (disabled && value === '')}\" *ngIf=\"formattedValue != null\"\n title=\"{{ formattedValue }}\" target=\"_blank\" href=\"{{ value ? value : formattedValue }}\">{{\n formattedValue }}</a>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <span [id]=\"key\" class=\"body-sm pep-report-input\" [ngClass]=\"{'readonly': disabled}\"\n title=\"{{ formattedValue }}\" [ngStyle]=\"{ color: textColor }\">{{ formattedValue }}</span>\n </ng-container>\n </ng-container>\n </ng-template>\n <ng-template #emptyBlock>\n <span [id]=\"key\">&nbsp;</span>\n </ng-template>\n </ng-template>\n </ng-container>\n\n</ng-container>", styles: [":host{height:inherit;display:grid}:host>*{align-self:center;align-items:baseline}.disable-hidden{display:none}.dis-grid{display:grid}.multi-rows-text{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal!important}\n"] }]
605
+ }], ctorParameters: function () { return [{ type: i1.PepCustomizationService }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i2.TranslateService }, { type: i1.PepUtilitiesService }]; }, propDecorators: { dataQa: [{
606
+ type: HostBinding,
607
+ args: ['attr.data-qa']
608
+ }], key: [{
609
+ type: Input
610
+ }], value: [{
611
+ type: Input
612
+ }], minFractionDigits: [{
613
+ type: Input
614
+ }], maxFractionDigits: [{
615
+ type: Input
616
+ }], accessory: [{
617
+ type: Input
618
+ }], label: [{
619
+ type: Input
620
+ }], placeholder: [{
621
+ type: Input
622
+ }], type: [{
623
+ type: Input
624
+ }], mandatory: [{
625
+ type: Input
626
+ }], disabled: [{
627
+ type: Input
628
+ }], readonly: [{
629
+ type: Input
630
+ }], maxFieldCharacters: [{
631
+ type: Input
632
+ }], hint: [{
633
+ type: Input
634
+ }], textColor: [{
635
+ type: Input
636
+ }], xAlignment: [{
637
+ type: Input
638
+ }], rowSpan: [{
639
+ type: Input
640
+ }], minValue: [{
641
+ type: Input
642
+ }], maxValue: [{
643
+ type: Input
644
+ }], visible: [{
645
+ type: Input
646
+ }], form: [{
647
+ type: Input
648
+ }], isActive: [{
649
+ type: Input
650
+ }], showTitle: [{
651
+ type: Input
652
+ }], renderTitle: [{
653
+ type: Input
654
+ }], renderError: [{
655
+ type: Input
656
+ }], renderSymbol: [{
657
+ type: Input
658
+ }], layoutType: [{
659
+ type: Input
660
+ }], parentFieldKey: [{
661
+ type: Input
662
+ }], regex: [{
663
+ type: Input
664
+ }], regexError: [{
665
+ type: Input
666
+ }], valueChange: [{
667
+ type: Output
668
+ }], keyup: [{
669
+ type: Output
670
+ }], input: [{
671
+ type: ViewChild,
672
+ args: ['input']
673
+ }], isInFocus: [{
674
+ type: Input
650
675
  }] } });
651
676
 
652
- class PepTextboxModule {
653
- constructor(pepIconRegistry) {
654
- this.pepIconRegistry = pepIconRegistry;
655
- this.pepIconRegistry.registerIcons([pepIconSystemEdit]);
656
- }
657
- }
658
- PepTextboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepTextboxModule, deps: [{ token: i1$1.PepIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
659
- PepTextboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: PepTextboxModule, declarations: [PepTextboxComponent, PepTextboxValidationDirective], imports: [CommonModule,
660
- ReactiveFormsModule,
661
- // Material modules,
662
- MatCommonModule,
663
- MatButtonModule,
664
- MatFormFieldModule,
665
- MatInputModule,
666
- MatIconModule,
667
- // ngx-lib modules
668
- PepNgxLibModule,
669
- PepIconModule,
670
- PepFieldTitleModule,
671
- PepTextboxIconModule], exports: [PepTextboxComponent] });
672
- PepTextboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepTextboxModule, imports: [CommonModule,
673
- ReactiveFormsModule,
674
- // Material modules,
675
- MatCommonModule,
676
- MatButtonModule,
677
- MatFormFieldModule,
678
- MatInputModule,
679
- MatIconModule,
680
- // ngx-lib modules
681
- PepNgxLibModule,
682
- PepIconModule,
683
- PepFieldTitleModule,
684
- PepTextboxIconModule] });
685
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepTextboxModule, decorators: [{
686
- type: NgModule,
687
- args: [{
688
- imports: [
689
- CommonModule,
690
- ReactiveFormsModule,
691
- // Material modules,
692
- MatCommonModule,
693
- MatButtonModule,
694
- MatFormFieldModule,
695
- MatInputModule,
696
- MatIconModule,
697
- // ngx-lib modules
698
- PepNgxLibModule,
699
- PepIconModule,
700
- PepFieldTitleModule,
701
- PepTextboxIconModule,
702
- ],
703
- exports: [PepTextboxComponent],
704
- declarations: [PepTextboxComponent, PepTextboxValidationDirective],
705
- }]
677
+ class PepTextboxModule {
678
+ constructor(pepIconRegistry) {
679
+ this.pepIconRegistry = pepIconRegistry;
680
+ this.pepIconRegistry.registerIcons([pepIconSystemEdit]);
681
+ }
682
+ }
683
+ PepTextboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepTextboxModule, deps: [{ token: i1$1.PepIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
684
+ PepTextboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: PepTextboxModule, declarations: [PepTextboxComponent, PepTextboxValidationDirective], imports: [CommonModule,
685
+ ReactiveFormsModule,
686
+ // Material modules,
687
+ MatCommonModule,
688
+ MatButtonModule,
689
+ MatFormFieldModule,
690
+ MatInputModule,
691
+ MatIconModule,
692
+ // ngx-lib modules
693
+ PepNgxLibModule,
694
+ PepIconModule,
695
+ PepFieldTitleModule,
696
+ PepTextboxIconModule], exports: [PepTextboxComponent] });
697
+ PepTextboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepTextboxModule, imports: [CommonModule,
698
+ ReactiveFormsModule,
699
+ // Material modules,
700
+ MatCommonModule,
701
+ MatButtonModule,
702
+ MatFormFieldModule,
703
+ MatInputModule,
704
+ MatIconModule,
705
+ // ngx-lib modules
706
+ PepNgxLibModule,
707
+ PepIconModule,
708
+ PepFieldTitleModule,
709
+ PepTextboxIconModule] });
710
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepTextboxModule, decorators: [{
711
+ type: NgModule,
712
+ args: [{
713
+ imports: [
714
+ CommonModule,
715
+ ReactiveFormsModule,
716
+ // Material modules,
717
+ MatCommonModule,
718
+ MatButtonModule,
719
+ MatFormFieldModule,
720
+ MatInputModule,
721
+ MatIconModule,
722
+ // ngx-lib modules
723
+ PepNgxLibModule,
724
+ PepIconModule,
725
+ PepFieldTitleModule,
726
+ PepTextboxIconModule,
727
+ ],
728
+ exports: [PepTextboxComponent],
729
+ declarations: [PepTextboxComponent, PepTextboxValidationDirective],
730
+ }]
706
731
  }], ctorParameters: function () { return [{ type: i1$1.PepIconRegistry }]; } });
707
732
 
708
- /*
709
- * Public API Surface of ngx-lib/textbox
733
+ /*
734
+ * Public API Surface of ngx-lib/textbox
710
735
  */
711
736
 
712
- /**
713
- * Generated bundle index. Do not edit.
737
+ /**
738
+ * Generated bundle index. Do not edit.
714
739
  */
715
740
 
716
741
  export { PepTextboxComponent, PepTextboxModule };