ngx-vector-components 4.130.0 → 4.131.0

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 (320) hide show
  1. package/CHANGELOG.md +1472 -1467
  2. package/README.md +35 -35
  3. package/assets/icons/chevron_down_icon.svg +3 -3
  4. package/assets/icons/home_menu_icon.svg +3 -3
  5. package/assets/icons/logout_icon.svg +9 -9
  6. package/assets/icons/menu_footer_icon.svg +3 -3
  7. package/assets/icons/menu_hamburguer_icon.svg +3 -3
  8. package/assets/icons/terms_of_use_icon.svg +9 -9
  9. package/assets/icons/vector_admin_icon.svg +4 -4
  10. package/assets/icons/vector_fintech_icon.svg +3 -3
  11. package/assets/icons/vector_logtech_icon.svg +6 -6
  12. package/assets/icons/vector_marketplace_icon.svg +3 -3
  13. package/assets/images/bunge_logo.svg +23 -23
  14. package/assets/images/cofco_logo.svg +117 -117
  15. package/assets/images/emote_bad.svg +6 -6
  16. package/assets/images/emote_cool.svg +5 -5
  17. package/assets/images/emote_nice.svg +5 -5
  18. package/assets/images/success_sign.svg +4 -4
  19. package/assets/images/vector-logo-horizontal-inverse-color.svg +13 -13
  20. package/assets/images/vector_logo_horizontal.svg +13 -13
  21. package/assets/images/warn_sign.svg +4 -4
  22. package/assets/styles/_fonts.scss +114 -114
  23. package/assets/styles/_mixins.scss +7 -7
  24. package/assets/styles/_primeng-custom-theme.scss +1105 -1101
  25. package/assets/styles/_spinner.scss +35 -35
  26. package/assets/styles/_styles.scss +115 -115
  27. package/assets/styles/_variables.scss +27 -27
  28. package/esm2020/lib/components/badge/badge.component.mjs +39 -39
  29. package/esm2020/lib/components/badge/badge.module.mjs +19 -19
  30. package/esm2020/lib/components/badge/index.mjs +3 -3
  31. package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +66 -66
  32. package/esm2020/lib/components/breadcrumb/breadcrumb.module.mjs +18 -18
  33. package/esm2020/lib/components/breadcrumb/index.mjs +3 -3
  34. package/esm2020/lib/components/crud-base/crud-base.component.mjs +47 -47
  35. package/esm2020/lib/components/crud-base/index.mjs +2 -2
  36. package/esm2020/lib/components/crud-footer/crud-footer.component.mjs +40 -40
  37. package/esm2020/lib/components/crud-footer/crud-footer.module.mjs +20 -20
  38. package/esm2020/lib/components/crud-footer/index.mjs +3 -3
  39. package/esm2020/lib/components/crud-header/crud-header.component.mjs +30 -30
  40. package/esm2020/lib/components/crud-header/crud-header.module.mjs +19 -19
  41. package/esm2020/lib/components/crud-header/index.mjs +3 -3
  42. package/esm2020/lib/components/crud-history/crud-history.component.mjs +82 -82
  43. package/esm2020/lib/components/crud-history/crud-history.module.mjs +20 -20
  44. package/esm2020/lib/components/crud-history/index.mjs +3 -3
  45. package/esm2020/lib/components/fields/button/button.component.mjs +41 -41
  46. package/esm2020/lib/components/fields/button/index.mjs +2 -2
  47. package/esm2020/lib/components/fields/calendar-field/calendar-field.component.mjs +74 -74
  48. package/esm2020/lib/components/fields/calendar-field/index.mjs +2 -2
  49. package/esm2020/lib/components/fields/checkbox-field/checkbox-field.component.mjs +46 -46
  50. package/esm2020/lib/components/fields/checkbox-field/index.mjs +2 -2
  51. package/esm2020/lib/components/fields/currency-field/currency-field.component.mjs +98 -98
  52. package/esm2020/lib/components/fields/currency-field/index.mjs +2 -2
  53. package/esm2020/lib/components/fields/data-table/data-table.component.mjs +388 -388
  54. package/esm2020/lib/components/fields/data-table/index.mjs +2 -2
  55. package/esm2020/lib/components/fields/dropdown-field/dropdown-field.component.mjs +204 -204
  56. package/esm2020/lib/components/fields/dropdown-field/index.mjs +2 -2
  57. package/esm2020/lib/components/fields/field-error-message/field-error-message.component.mjs +30 -30
  58. package/esm2020/lib/components/fields/field-error-message/index.mjs +2 -2
  59. package/esm2020/lib/components/fields/fields.module.mjs +222 -222
  60. package/esm2020/lib/components/fields/filters/filters.component.mjs +209 -209
  61. package/esm2020/lib/components/fields/filters/index.mjs +2 -2
  62. package/esm2020/lib/components/fields/index.mjs +20 -20
  63. package/esm2020/lib/components/fields/input-number-field/index.mjs +2 -2
  64. package/esm2020/lib/components/fields/input-number-field/input-number-field.component.mjs +86 -86
  65. package/esm2020/lib/components/fields/input-switch-field/index.mjs +2 -2
  66. package/esm2020/lib/components/fields/input-switch-field/input-switch-field.component.mjs +16 -16
  67. package/esm2020/lib/components/fields/multiselect-field/index.mjs +2 -2
  68. package/esm2020/lib/components/fields/multiselect-field/multiselect-field.component.mjs +154 -154
  69. package/esm2020/lib/components/fields/percentage-field/index.mjs +2 -2
  70. package/esm2020/lib/components/fields/percentage-field/percentage-field.component.mjs +54 -54
  71. package/esm2020/lib/components/fields/radio-button-field/index.mjs +2 -2
  72. package/esm2020/lib/components/fields/radio-button-field/radio-button-field.component.mjs +48 -48
  73. package/esm2020/lib/components/fields/range-value/index.mjs +2 -2
  74. package/esm2020/lib/components/fields/range-value/range-value.component.mjs +72 -72
  75. package/esm2020/lib/components/fields/search-field/index.mjs +2 -2
  76. package/esm2020/lib/components/fields/search-field/search-field.component.mjs +33 -33
  77. package/esm2020/lib/components/fields/select-button-field/index.mjs +2 -2
  78. package/esm2020/lib/components/fields/select-button-field/select-button-field.component.mjs +20 -20
  79. package/esm2020/lib/components/fields/text-field/index.mjs +2 -2
  80. package/esm2020/lib/components/fields/text-field/text-field.component.mjs +238 -238
  81. package/esm2020/lib/components/fields/textarea-field/index.mjs +2 -2
  82. package/esm2020/lib/components/fields/textarea-field/textarea-field.component.mjs +81 -81
  83. package/esm2020/lib/components/generic-error-modal/generic-error-modal.component.mjs +36 -36
  84. package/esm2020/lib/components/generic-error-modal/generic-error-modal.module.mjs +20 -20
  85. package/esm2020/lib/components/generic-error-modal/index.mjs +3 -3
  86. package/esm2020/lib/components/generic-modal/generic-modal.component.mjs +66 -66
  87. package/esm2020/lib/components/generic-modal/generic-modal.module.mjs +20 -20
  88. package/esm2020/lib/components/generic-modal/index.mjs +3 -3
  89. package/esm2020/lib/components/index.mjs +15 -15
  90. package/esm2020/lib/components/menu/index.mjs +4 -4
  91. package/esm2020/lib/components/menu/menu.component.mjs +305 -305
  92. package/esm2020/lib/components/menu/menu.module.mjs +20 -20
  93. package/esm2020/lib/components/menu/sub-menus-list/sub-menus-list.component.mjs +42 -42
  94. package/esm2020/lib/components/panel/index.mjs +3 -3
  95. package/esm2020/lib/components/panel/panel.component.mjs +15 -15
  96. package/esm2020/lib/components/panel/panel.module.mjs +19 -19
  97. package/esm2020/lib/components/score/index.mjs +3 -3
  98. package/esm2020/lib/components/score/score.component.mjs +17 -17
  99. package/esm2020/lib/components/score/score.module.mjs +16 -16
  100. package/esm2020/lib/components/stepper/index.mjs +3 -3
  101. package/esm2020/lib/components/stepper/stepper.component.mjs +47 -47
  102. package/esm2020/lib/components/stepper/stepper.module.mjs +19 -19
  103. package/esm2020/lib/components/top-bar/index.mjs +3 -3
  104. package/esm2020/lib/components/top-bar/top-bar.component.mjs +147 -147
  105. package/esm2020/lib/components/top-bar/top-bar.module.mjs +20 -20
  106. package/esm2020/lib/guards/crud-list-has-items.guard.mjs +22 -22
  107. package/esm2020/lib/guards/get-token-by-guid.guard.mjs +54 -54
  108. package/esm2020/lib/guards/has-permission.guard.mjs +27 -27
  109. package/esm2020/lib/guards/index.mjs +6 -6
  110. package/esm2020/lib/guards/role.guard.mjs +24 -24
  111. package/esm2020/lib/guards/token-is-present.guard.mjs +26 -26
  112. package/esm2020/lib/interceptors/http-interceptor.mjs +185 -185
  113. package/esm2020/lib/interceptors/index.mjs +2 -2
  114. package/esm2020/lib/models/app-name.enum.mjs +10 -10
  115. package/esm2020/lib/models/boolean-type.enum.mjs +6 -6
  116. package/esm2020/lib/models/crud-history.model.mjs +3 -3
  117. package/esm2020/lib/models/crud-mode.enum.mjs +7 -7
  118. package/esm2020/lib/models/currency.enum.mjs +7 -7
  119. package/esm2020/lib/models/data-table.model.mjs +23 -23
  120. package/esm2020/lib/models/document-type.enum.mjs +6 -6
  121. package/esm2020/lib/models/filters.model.mjs +2 -2
  122. package/esm2020/lib/models/generic-modal.model.mjs +2 -2
  123. package/esm2020/lib/models/http-response.model.mjs +2 -2
  124. package/esm2020/lib/models/index.mjs +18 -18
  125. package/esm2020/lib/models/ip-info.enum.mjs +2 -2
  126. package/esm2020/lib/models/list-item.model.mjs +2 -2
  127. package/esm2020/lib/models/locale.enum.mjs +7 -7
  128. package/esm2020/lib/models/menu-item.model.mjs +2 -2
  129. package/esm2020/lib/models/message-status.enum.mjs +8 -8
  130. package/esm2020/lib/models/profile.model.mjs +338 -338
  131. package/esm2020/lib/models/role.enum.mjs +5 -5
  132. package/esm2020/lib/models/status.enum.mjs +8 -8
  133. package/esm2020/lib/models/topbar.model.mjs +2 -2
  134. package/esm2020/lib/models/vector-app.model.mjs +2 -2
  135. package/esm2020/lib/models/vector-notification.model.mjs +2 -2
  136. package/esm2020/lib/models/view.enum.mjs +8 -8
  137. package/esm2020/lib/pipes/currency-brl.pipe.mjs +18 -18
  138. package/esm2020/lib/pipes/format-document.pipe.mjs +17 -17
  139. package/esm2020/lib/pipes/index.mjs +9 -9
  140. package/esm2020/lib/pipes/mask.pipe.mjs +21 -21
  141. package/esm2020/lib/pipes/not-hidden.pipe.mjs +16 -16
  142. package/esm2020/lib/pipes/only-active.pipe.mjs +16 -16
  143. package/esm2020/lib/pipes/pipes.module.mjs +50 -50
  144. package/esm2020/lib/pipes/remove-last-child.pipe.mjs +18 -18
  145. package/esm2020/lib/pipes/unread-notifications.pipe.mjs +15 -15
  146. package/esm2020/lib/resolvers/get-selected-crud-item.resolver.mjs +28 -28
  147. package/esm2020/lib/resolvers/index.mjs +2 -2
  148. package/esm2020/lib/services/auth.service.mjs +77 -77
  149. package/esm2020/lib/services/base-dropdown.mjs +2 -2
  150. package/esm2020/lib/services/crud-base.service.mjs +14 -14
  151. package/esm2020/lib/services/enum.service.mjs +43 -43
  152. package/esm2020/lib/services/error-message.service.mjs +16 -16
  153. package/esm2020/lib/services/geolocation.service.mjs +23 -23
  154. package/esm2020/lib/services/index.mjs +13 -13
  155. package/esm2020/lib/services/loading.service.mjs +15 -15
  156. package/esm2020/lib/services/menu.service.mjs +152 -152
  157. package/esm2020/lib/services/modal.service.mjs +15 -15
  158. package/esm2020/lib/services/notifications.service.mjs +64 -64
  159. package/esm2020/lib/services/profile.service.mjs +112 -112
  160. package/esm2020/lib/services/storage.service.mjs +108 -108
  161. package/esm2020/lib/shared/shared.module.mjs +19 -19
  162. package/esm2020/lib/utils/cpf-cnpj-validator.util.mjs +116 -116
  163. package/esm2020/lib/utils/file.util.mjs +15 -15
  164. package/esm2020/lib/utils/index.mjs +8 -8
  165. package/esm2020/lib/utils/mask.util.mjs +76 -76
  166. package/esm2020/lib/utils/object.util.mjs +27 -27
  167. package/esm2020/lib/utils/string.util.mjs +30 -30
  168. package/esm2020/lib/utils/validation.util.mjs +234 -234
  169. package/esm2020/lib/utils/window.util.mjs +9 -9
  170. package/esm2020/ngx-vector-components.mjs +4 -4
  171. package/esm2020/public-api.mjs +9 -9
  172. package/fesm2015/ngx-vector-components.mjs +4866 -4866
  173. package/fesm2015/ngx-vector-components.mjs.map +1 -1
  174. package/fesm2020/ngx-vector-components.mjs +4842 -4842
  175. package/fesm2020/ngx-vector-components.mjs.map +1 -1
  176. package/lib/components/badge/badge.component.d.ts +15 -15
  177. package/lib/components/badge/badge.module.d.ts +9 -9
  178. package/lib/components/badge/index.d.ts +2 -2
  179. package/lib/components/breadcrumb/breadcrumb.component.d.ts +19 -19
  180. package/lib/components/breadcrumb/breadcrumb.module.d.ts +8 -8
  181. package/lib/components/breadcrumb/index.d.ts +2 -2
  182. package/lib/components/crud-base/crud-base.component.d.ts +20 -20
  183. package/lib/components/crud-base/index.d.ts +1 -1
  184. package/lib/components/crud-footer/crud-footer.component.d.ts +19 -19
  185. package/lib/components/crud-footer/crud-footer.module.d.ts +10 -10
  186. package/lib/components/crud-footer/index.d.ts +2 -2
  187. package/lib/components/crud-header/crud-header.component.d.ts +11 -11
  188. package/lib/components/crud-header/crud-header.module.d.ts +9 -9
  189. package/lib/components/crud-header/index.d.ts +2 -2
  190. package/lib/components/crud-history/crud-history.component.d.ts +12 -12
  191. package/lib/components/crud-history/crud-history.module.d.ts +10 -10
  192. package/lib/components/crud-history/index.d.ts +2 -2
  193. package/lib/components/fields/button/button.component.d.ts +17 -17
  194. package/lib/components/fields/button/index.d.ts +1 -1
  195. package/lib/components/fields/calendar-field/calendar-field.component.d.ts +23 -23
  196. package/lib/components/fields/calendar-field/index.d.ts +1 -1
  197. package/lib/components/fields/checkbox-field/checkbox-field.component.d.ts +19 -19
  198. package/lib/components/fields/checkbox-field/index.d.ts +1 -1
  199. package/lib/components/fields/currency-field/currency-field.component.d.ts +32 -32
  200. package/lib/components/fields/currency-field/index.d.ts +1 -1
  201. package/lib/components/fields/data-table/data-table.component.d.ts +87 -87
  202. package/lib/components/fields/data-table/index.d.ts +1 -1
  203. package/lib/components/fields/dropdown-field/dropdown-field.component.d.ts +52 -52
  204. package/lib/components/fields/dropdown-field/index.d.ts +1 -1
  205. package/lib/components/fields/field-error-message/field-error-message.component.d.ts +10 -10
  206. package/lib/components/fields/field-error-message/index.d.ts +1 -1
  207. package/lib/components/fields/fields.module.d.ts +50 -50
  208. package/lib/components/fields/filters/filters.component.d.ts +65 -65
  209. package/lib/components/fields/filters/index.d.ts +1 -1
  210. package/lib/components/fields/index.d.ts +19 -19
  211. package/lib/components/fields/input-number-field/index.d.ts +1 -1
  212. package/lib/components/fields/input-number-field/input-number-field.component.d.ts +28 -28
  213. package/lib/components/fields/input-switch-field/index.d.ts +1 -1
  214. package/lib/components/fields/input-switch-field/input-switch-field.component.d.ts +8 -8
  215. package/lib/components/fields/multiselect-field/index.d.ts +1 -1
  216. package/lib/components/fields/multiselect-field/multiselect-field.component.d.ts +40 -40
  217. package/lib/components/fields/percentage-field/index.d.ts +1 -1
  218. package/lib/components/fields/percentage-field/percentage-field.component.d.ts +20 -20
  219. package/lib/components/fields/radio-button-field/index.d.ts +1 -1
  220. package/lib/components/fields/radio-button-field/radio-button-field.component.d.ts +25 -25
  221. package/lib/components/fields/range-value/index.d.ts +1 -1
  222. package/lib/components/fields/range-value/range-value.component.d.ts +18 -18
  223. package/lib/components/fields/search-field/index.d.ts +1 -1
  224. package/lib/components/fields/search-field/search-field.component.d.ts +14 -14
  225. package/lib/components/fields/select-button-field/index.d.ts +1 -1
  226. package/lib/components/fields/select-button-field/select-button-field.component.d.ts +9 -9
  227. package/lib/components/fields/text-field/index.d.ts +1 -1
  228. package/lib/components/fields/text-field/text-field.component.d.ts +56 -56
  229. package/lib/components/fields/textarea-field/index.d.ts +1 -1
  230. package/lib/components/fields/textarea-field/textarea-field.component.d.ts +22 -22
  231. package/lib/components/generic-error-modal/generic-error-modal.component.d.ts +15 -15
  232. package/lib/components/generic-error-modal/generic-error-modal.module.d.ts +10 -10
  233. package/lib/components/generic-error-modal/index.d.ts +2 -2
  234. package/lib/components/generic-modal/generic-modal.component.d.ts +24 -24
  235. package/lib/components/generic-modal/generic-modal.module.d.ts +10 -10
  236. package/lib/components/generic-modal/index.d.ts +2 -2
  237. package/lib/components/index.d.ts +14 -14
  238. package/lib/components/menu/index.d.ts +3 -3
  239. package/lib/components/menu/menu.component.d.ts +53 -53
  240. package/lib/components/menu/menu.module.d.ts +10 -10
  241. package/lib/components/menu/sub-menus-list/sub-menus-list.component.d.ts +14 -14
  242. package/lib/components/panel/index.d.ts +2 -2
  243. package/lib/components/panel/panel.component.d.ts +8 -8
  244. package/lib/components/panel/panel.module.d.ts +9 -9
  245. package/lib/components/score/index.d.ts +2 -2
  246. package/lib/components/score/score.component.d.ts +9 -9
  247. package/lib/components/score/score.module.d.ts +7 -7
  248. package/lib/components/stepper/index.d.ts +2 -2
  249. package/lib/components/stepper/stepper.component.d.ts +15 -15
  250. package/lib/components/stepper/stepper.module.d.ts +9 -9
  251. package/lib/components/top-bar/index.d.ts +2 -2
  252. package/lib/components/top-bar/top-bar.component.d.ts +49 -49
  253. package/lib/components/top-bar/top-bar.module.d.ts +10 -10
  254. package/lib/guards/crud-list-has-items.guard.d.ts +10 -10
  255. package/lib/guards/get-token-by-guid.guard.d.ts +15 -15
  256. package/lib/guards/has-permission.guard.d.ts +13 -13
  257. package/lib/guards/index.d.ts +5 -5
  258. package/lib/guards/role.guard.d.ts +11 -11
  259. package/lib/guards/token-is-present.guard.d.ts +11 -11
  260. package/lib/interceptors/http-interceptor.d.ts +31 -31
  261. package/lib/interceptors/index.d.ts +1 -1
  262. package/lib/models/app-name.enum.d.ts +8 -8
  263. package/lib/models/boolean-type.enum.d.ts +4 -4
  264. package/lib/models/crud-history.model.d.ts +13 -13
  265. package/lib/models/crud-mode.enum.d.ts +5 -5
  266. package/lib/models/currency.enum.d.ts +5 -5
  267. package/lib/models/data-table.model.d.ts +65 -65
  268. package/lib/models/document-type.enum.d.ts +4 -4
  269. package/lib/models/filters.model.d.ts +4 -4
  270. package/lib/models/generic-modal.model.d.ts +12 -12
  271. package/lib/models/http-response.model.d.ts +57 -57
  272. package/lib/models/index.d.ts +17 -17
  273. package/lib/models/ip-info.enum.d.ts +6 -6
  274. package/lib/models/list-item.model.d.ts +7 -7
  275. package/lib/models/locale.enum.d.ts +5 -5
  276. package/lib/models/menu-item.model.d.ts +16 -16
  277. package/lib/models/message-status.enum.d.ts +6 -6
  278. package/lib/models/profile.model.d.ts +358 -358
  279. package/lib/models/role.enum.d.ts +3 -3
  280. package/lib/models/status.enum.d.ts +6 -6
  281. package/lib/models/topbar.model.d.ts +5 -5
  282. package/lib/models/vector-app.model.d.ts +9 -9
  283. package/lib/models/vector-notification.model.d.ts +8 -8
  284. package/lib/models/view.enum.d.ts +6 -6
  285. package/lib/pipes/currency-brl.pipe.d.ts +7 -7
  286. package/lib/pipes/format-document.pipe.d.ts +7 -7
  287. package/lib/pipes/index.d.ts +8 -8
  288. package/lib/pipes/mask.pipe.d.ts +7 -7
  289. package/lib/pipes/not-hidden.pipe.d.ts +7 -7
  290. package/lib/pipes/only-active.pipe.d.ts +7 -7
  291. package/lib/pipes/pipes.module.d.ts +13 -13
  292. package/lib/pipes/remove-last-child.pipe.d.ts +7 -7
  293. package/lib/pipes/unread-notifications.pipe.d.ts +9 -9
  294. package/lib/resolvers/get-selected-crud-item.resolver.d.ts +10 -10
  295. package/lib/resolvers/index.d.ts +1 -1
  296. package/lib/services/auth.service.d.ts +24 -24
  297. package/lib/services/base-dropdown.d.ts +7 -7
  298. package/lib/services/crud-base.service.d.ts +7 -7
  299. package/lib/services/enum.service.d.ts +13 -13
  300. package/lib/services/error-message.service.d.ts +8 -8
  301. package/lib/services/geolocation.service.d.ts +13 -13
  302. package/lib/services/index.d.ts +12 -12
  303. package/lib/services/loading.service.d.ts +7 -7
  304. package/lib/services/menu.service.d.ts +35 -35
  305. package/lib/services/modal.service.d.ts +7 -7
  306. package/lib/services/notifications.service.d.ts +13 -13
  307. package/lib/services/profile.service.d.ts +27 -27
  308. package/lib/services/storage.service.d.ts +43 -43
  309. package/lib/shared/shared.module.d.ts +10 -10
  310. package/lib/utils/cpf-cnpj-validator.util.d.ts +5 -5
  311. package/lib/utils/file.util.d.ts +4 -4
  312. package/lib/utils/index.d.ts +7 -7
  313. package/lib/utils/mask.util.d.ts +21 -21
  314. package/lib/utils/object.util.d.ts +5 -5
  315. package/lib/utils/string.util.d.ts +6 -6
  316. package/lib/utils/validation.util.d.ts +17 -17
  317. package/lib/utils/window.util.d.ts +4 -4
  318. package/ngx-vector-components.d.ts +5 -5
  319. package/package.json +1 -1
  320. package/public-api.d.ts +8 -8
@@ -1,238 +1,238 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { Subscription } from 'rxjs';
3
- import { DocumentType } from '../../../models';
4
- import { MaskUtil } from '../../../utils';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../button/button.component";
7
- import * as i2 from "primeng/inputmask";
8
- import * as i3 from "../field-error-message/field-error-message.component";
9
- import * as i4 from "@angular/forms";
10
- import * as i5 from "@angular/common";
11
- import * as i6 from "primeng/inputtext";
12
- import * as i7 from "primeng/keyfilter";
13
- export class TextFieldComponent {
14
- constructor() {
15
- this.isRequired = false;
16
- this.label = '';
17
- this.maxlength = '';
18
- this.isPassword = false;
19
- this.numeric = false;
20
- this.numericPositive = false;
21
- this.decimal = false;
22
- this.onlyText = false;
23
- this.alphaNumeric = false;
24
- this.alphaNumericAndWhitespace = false;
25
- this.autoClear = true;
26
- this.readonly = false;
27
- this.rightIcon = '';
28
- this.centered = false;
29
- this.enableDocumentTypeChoice = false;
30
- this.hiddenErrorMessage = false;
31
- this.slotChar = '_';
32
- this.blurEvent = new EventEmitter();
33
- this.enterKeyPress = new EventEmitter();
34
- this.backSpaceKeyPress = new EventEmitter();
35
- this.focusEvent = new EventEmitter();
36
- this.onDocumentTypeChange = new EventEmitter();
37
- this.isPasswordVisible = false;
38
- this.validateOnly = false;
39
- this.documentTypes = [
40
- {
41
- name: 'CPF',
42
- code: DocumentType.CPF,
43
- },
44
- {
45
- name: 'CNPJ',
46
- code: DocumentType.CNPJ,
47
- },
48
- ];
49
- this.selectedDocumentType = this.documentTypes[1];
50
- this.lastBlurValue = '';
51
- this.lastTypedValue = '';
52
- this.subscription = new Subscription();
53
- this.controlSubscription = new Subscription();
54
- }
55
- set control(_control) {
56
- this._control = _control;
57
- if (this.enableDocumentTypeChoice) {
58
- this.handleInitialDocumentTypeState();
59
- }
60
- if (this.controlSubscription) {
61
- this.controlSubscription.unsubscribe();
62
- this.controlSubscription = new Subscription();
63
- }
64
- this.controlSubscription.add(this.control.valueChanges.subscribe((value) => {
65
- if (this.enableDocumentTypeChoice && !this.lastTypedValue && value?.length > 11) {
66
- this.handleInitialDocumentTypeState();
67
- }
68
- this.lastTypedValue = value;
69
- }));
70
- }
71
- get placeholder() {
72
- if (!this.label) {
73
- return '';
74
- }
75
- return `${this.label}${this.isRequired ? '*' : ''}`;
76
- }
77
- get keyfilter() {
78
- this.validateOnly = false;
79
- if (this.numeric) {
80
- return 'int';
81
- }
82
- if (this.numericPositive) {
83
- return 'pint';
84
- }
85
- if (this.decimal) {
86
- this.validateOnly = true;
87
- return /^(\d+(?:[\,]\d{2})?)$/;
88
- }
89
- if (this.onlyText) {
90
- this.validateOnly = true;
91
- return /^[a-zA-ZÀ-ú\s]*$/gm;
92
- }
93
- if (this.alphaNumeric) {
94
- return 'alphanum';
95
- }
96
- if (this.alphaNumericAndWhitespace) {
97
- return /^[A-Za-zÀ-ú0-9 ]*$/gm;
98
- }
99
- return /[\s\S]*/;
100
- }
101
- get control() {
102
- return this._control;
103
- }
104
- get showPasswordIcon() {
105
- return this.isPasswordVisible ? 'fas fa-eye' : 'fas fa-eye-slash';
106
- }
107
- ngOnInit() {
108
- if (this.enableDocumentTypeChoice) {
109
- this.setDocumentType(this.selectedDocumentType.code);
110
- }
111
- }
112
- ngOnDestroy() {
113
- this.subscription.unsubscribe();
114
- this.controlSubscription.unsubscribe();
115
- }
116
- onBlur() {
117
- this.control.markAsTouched();
118
- if (this.lastBlurValue !== this.control.value) {
119
- this.lastBlurValue = this.control.value;
120
- setTimeout(() => {
121
- this.blurEvent.emit(this.control.value);
122
- });
123
- }
124
- }
125
- onEnterPress() {
126
- this.onBlur();
127
- this.enterKeyPress.emit();
128
- }
129
- onBackSpacePress() {
130
- this.onBlur();
131
- this.backSpaceKeyPress.emit();
132
- }
133
- onFocus($event) {
134
- const target = $event.target;
135
- if (this.mask) {
136
- const firstUnderscore = target?.value.indexOf('_');
137
- const selectionIndex = (firstUnderscore >= 0 ? firstUnderscore : target?.value.length) || 0;
138
- target?.setSelectionRange(selectionIndex, selectionIndex);
139
- }
140
- this.focusEvent.emit(target?.value);
141
- }
142
- toggleShowPassword() {
143
- this.isPasswordVisible = !this.isPasswordVisible;
144
- }
145
- handleDocumentTypeChange() {
146
- if (this.selectedDocumentType.code === DocumentType.CNPJ) {
147
- this.setDocumentType(DocumentType.CPF);
148
- }
149
- else {
150
- this.setDocumentType(DocumentType.CNPJ);
151
- }
152
- }
153
- handleInitialDocumentTypeState() {
154
- if (this.control?.value) {
155
- if (this.control.value.length === 11) {
156
- this.setDocumentType(DocumentType.CPF);
157
- }
158
- else {
159
- this.setDocumentType(DocumentType.CNPJ);
160
- }
161
- }
162
- else {
163
- this.setDocumentType(DocumentType.CPF);
164
- }
165
- }
166
- setDocumentType(documentType) {
167
- switch (documentType) {
168
- case DocumentType.CNPJ:
169
- this.selectedDocumentType = this.documentTypes[1];
170
- this.mask = MaskUtil.CNPJ_TEXT_FIELD_PATTERN;
171
- break;
172
- case DocumentType.CPF:
173
- this.selectedDocumentType = this.documentTypes[0];
174
- this.mask = MaskUtil.CPF_TEXT_FIELD_PATTERN;
175
- break;
176
- }
177
- this.onDocumentTypeChange.emit(this.selectedDocumentType);
178
- }
179
- }
180
- TextFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TextFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
181
- TextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: TextFieldComponent, selector: "vector-text-field", inputs: { isRequired: "isRequired", label: "label", maxlength: "maxlength", isPassword: "isPassword", numeric: "numeric", numericPositive: "numericPositive", decimal: "decimal", onlyText: "onlyText", alphaNumeric: "alphaNumeric", alphaNumericAndWhitespace: "alphaNumericAndWhitespace", mask: "mask", autoClear: "autoClear", readonly: "readonly", rightIcon: "rightIcon", centered: "centered", enableDocumentTypeChoice: "enableDocumentTypeChoice", hiddenErrorMessage: "hiddenErrorMessage", leftLabel: "leftLabel", control: "control", inputId: "inputId", slotChar: "slotChar" }, outputs: { blurEvent: "blurEvent", enterKeyPress: "enterKeyPress", backSpaceKeyPress: "backSpaceKeyPress", focusEvent: "focusEvent", onDocumentTypeChange: "onDocumentTypeChange" }, ngImport: i0, template: "<form class=\"input-container p-input-icon-right\">\r\n <i *ngIf=\"rightIcon\" [class]=\"rightIcon\"></i>\r\n <i *ngIf=\"isPassword\" class=\"show-password-icon {{ showPasswordIcon }}\" (click)=\"toggleShowPassword()\"></i>\r\n <div class=\"p-inputgroup\">\r\n <vector-button\r\n *ngIf=\"enableDocumentTypeChoice\"\r\n leftIcon=\"fas fa-exchange-alt\"\r\n type=\"success\"\r\n [label]=\"selectedDocumentType.name\"\r\n [disabled]=\"control.disabled\"\r\n [noShadow]=\"true\"\r\n (onClick)=\"handleDocumentTypeChange()\"\r\n ></vector-button>\r\n\r\n <span *ngIf=\"leftLabel\" class=\"left-label\">\r\n {{ leftLabel }}\r\n </span>\r\n\r\n <input\r\n *ngIf=\"!mask\"\r\n [id]=\"inputId\"\r\n pInputText\r\n type=\"text\"\r\n [formControl]=\"control\"\r\n [attr.maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [pValidateOnly]=\"validateOnly\"\r\n [pKeyFilter]=\"keyfilter\"\r\n [ngClass]=\"{ 'password-field': isPassword && !isPasswordVisible, 'text-centered': centered }\"\r\n (blur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (keydown.backspace)=\"onBackSpacePress()\"\r\n (click)=\"onFocus($event)\"\r\n [readonly]=\"readonly ? true : null\"\r\n />\r\n <p-inputMask\r\n *ngIf=\"mask\"\r\n type=\"text\"\r\n [inputId]=\"inputId || 'mask-field'\"\r\n [formControl]=\"control\"\r\n [mask]=\"mask\"\r\n [placeholder]=\"placeholder\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (keydown.backspace)=\"onBackSpacePress()\"\r\n [autoClear]=\"autoClear\"\r\n [unmask]=\"true\"\r\n [styleClass]=\"centered ? 'text-centered' : ''\"\r\n [slotChar]=\"slotChar\"\r\n (click)=\"onFocus($event)\"\r\n ></p-inputMask>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</form>\r\n", styles: [".input-container{width:100%}.input-container .password-field{-webkit-text-security:disc}.input-container .input-error{font-size:.7em;color:var(--error-color);position:absolute;width:max-content}.input-container .show-password-icon{font-size:1.4em;margin-right:5px;cursor:pointer}.input-container .text-centered{text-align:center}.input-container .left-label{min-height:100%;display:flex;align-items:center;justify-content:center;padding:0 10px;white-space:nowrap;font-size:13px;background-color:var(--gray-light);color:var(--theme-primary)}\n"], components: [{ type: i1.ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }, { type: i2.InputMask, selector: "p-inputMask", inputs: ["type", "slotChar", "autoClear", "style", "inputId", "styleClass", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "disabled", "readonly", "unmask", "name", "required", "characterPattern", "autoFocus", "autocomplete", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown"] }, { type: i3.FieldErrorMessageComponent, selector: "vector-field-error-message", inputs: ["control"] }], directives: [{ type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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]" }, { type: i6.InputText, selector: "[pInputText]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i7.KeyFilter, selector: "[pKeyFilter]", inputs: ["pValidateOnly", "pKeyFilter"], outputs: ["ngModelChange"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
182
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TextFieldComponent, decorators: [{
183
- type: Component,
184
- args: [{ selector: 'vector-text-field', template: "<form class=\"input-container p-input-icon-right\">\r\n <i *ngIf=\"rightIcon\" [class]=\"rightIcon\"></i>\r\n <i *ngIf=\"isPassword\" class=\"show-password-icon {{ showPasswordIcon }}\" (click)=\"toggleShowPassword()\"></i>\r\n <div class=\"p-inputgroup\">\r\n <vector-button\r\n *ngIf=\"enableDocumentTypeChoice\"\r\n leftIcon=\"fas fa-exchange-alt\"\r\n type=\"success\"\r\n [label]=\"selectedDocumentType.name\"\r\n [disabled]=\"control.disabled\"\r\n [noShadow]=\"true\"\r\n (onClick)=\"handleDocumentTypeChange()\"\r\n ></vector-button>\r\n\r\n <span *ngIf=\"leftLabel\" class=\"left-label\">\r\n {{ leftLabel }}\r\n </span>\r\n\r\n <input\r\n *ngIf=\"!mask\"\r\n [id]=\"inputId\"\r\n pInputText\r\n type=\"text\"\r\n [formControl]=\"control\"\r\n [attr.maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [pValidateOnly]=\"validateOnly\"\r\n [pKeyFilter]=\"keyfilter\"\r\n [ngClass]=\"{ 'password-field': isPassword && !isPasswordVisible, 'text-centered': centered }\"\r\n (blur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (keydown.backspace)=\"onBackSpacePress()\"\r\n (click)=\"onFocus($event)\"\r\n [readonly]=\"readonly ? true : null\"\r\n />\r\n <p-inputMask\r\n *ngIf=\"mask\"\r\n type=\"text\"\r\n [inputId]=\"inputId || 'mask-field'\"\r\n [formControl]=\"control\"\r\n [mask]=\"mask\"\r\n [placeholder]=\"placeholder\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (keydown.backspace)=\"onBackSpacePress()\"\r\n [autoClear]=\"autoClear\"\r\n [unmask]=\"true\"\r\n [styleClass]=\"centered ? 'text-centered' : ''\"\r\n [slotChar]=\"slotChar\"\r\n (click)=\"onFocus($event)\"\r\n ></p-inputMask>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</form>\r\n", styles: [".input-container{width:100%}.input-container .password-field{-webkit-text-security:disc}.input-container .input-error{font-size:.7em;color:var(--error-color);position:absolute;width:max-content}.input-container .show-password-icon{font-size:1.4em;margin-right:5px;cursor:pointer}.input-container .text-centered{text-align:center}.input-container .left-label{min-height:100%;display:flex;align-items:center;justify-content:center;padding:0 10px;white-space:nowrap;font-size:13px;background-color:var(--gray-light);color:var(--theme-primary)}\n"] }]
185
- }], propDecorators: { isRequired: [{
186
- type: Input
187
- }], label: [{
188
- type: Input
189
- }], maxlength: [{
190
- type: Input
191
- }], isPassword: [{
192
- type: Input
193
- }], numeric: [{
194
- type: Input
195
- }], numericPositive: [{
196
- type: Input
197
- }], decimal: [{
198
- type: Input
199
- }], onlyText: [{
200
- type: Input
201
- }], alphaNumeric: [{
202
- type: Input
203
- }], alphaNumericAndWhitespace: [{
204
- type: Input
205
- }], mask: [{
206
- type: Input
207
- }], autoClear: [{
208
- type: Input
209
- }], readonly: [{
210
- type: Input
211
- }], rightIcon: [{
212
- type: Input
213
- }], centered: [{
214
- type: Input
215
- }], enableDocumentTypeChoice: [{
216
- type: Input
217
- }], hiddenErrorMessage: [{
218
- type: Input
219
- }], leftLabel: [{
220
- type: Input
221
- }], control: [{
222
- type: Input
223
- }], inputId: [{
224
- type: Input
225
- }], slotChar: [{
226
- type: Input
227
- }], blurEvent: [{
228
- type: Output
229
- }], enterKeyPress: [{
230
- type: Output
231
- }], backSpaceKeyPress: [{
232
- type: Output
233
- }], focusEvent: [{
234
- type: Output
235
- }], onDocumentTypeChange: [{
236
- type: Output
237
- }] } });
238
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy90ZXh0LWZpZWxkL3RleHQtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvdGV4dC1maWVsZC90ZXh0LWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBTzFDLE1BQU0sT0FBTyxrQkFBa0I7SUFML0I7UUFPUyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBRTVCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFFbkIsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUV2QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRW5CLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFaEIsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFFeEIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLDhCQUF5QixHQUFHLEtBQUssQ0FBQztRQUlsQyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRWpCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsY0FBUyxHQUFHLEVBQUUs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S0FBSztnQkFHQyxZQUFZO3NCQURsQixLQUFLO2dCQUdDLHlCQUF5QjtzQkFEL0IsS0FBSztnQkFHQyxJQUFJO3NCQURWLEtBQUs7Z0JBR0MsU0FBUztzQkFEZixLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFHQyxTQUFTO3NCQURmLEtBQUs7Z0JBR0MsUUFBUTtzQkFEZCxLQUFLO2dCQUdDLHdCQUF3QjtzQkFEOUIsS0FBSztnQkFHQyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBR0MsU0FBUztzQkFEZixLQUFLO2dCQUdGLE9BQU87c0JBRFYsS0FBSztnQkFxQkMsT0FBTztzQkFEYixLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFHQyxTQUFTO3NCQURmLE1BQU07Z0JBR0EsYUFBYTtzQkFEbkIsTUFBTTtnQkFHQSxpQkFBaUI7c0JBRHZCLE1BQU07Z0JBR0EsVUFBVTtzQkFEaEIsTUFBTTtnQkFHQSxvQkFBb0I7c0JBRDFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IERvY3VtZW50VHlwZSwgTGlzdEl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBNYXNrVXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndmVjdG9yLXRleHQtZmllbGQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0LWZpZWxkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90ZXh0LWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXh0RmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNSZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtYXhsZW5ndGg6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzUGFzc3dvcmQgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBudW1lcmljID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbnVtZXJpY1Bvc2l0aXZlID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGVjaW1hbCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG9ubHlUZXh0ID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWxwaGFOdW1lcmljID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWxwaGFOdW1lcmljQW5kV2hpdGVzcGFjZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG1hc2s/OiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXV0b0NsZWFyID0gdHJ1ZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJpZ2h0SWNvbiA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNlbnRlcmVkID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZW5hYmxlRG9jdW1lbnRUeXBlQ2hvaWNlID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaGlkZGVuRXJyb3JNZXNzYWdlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGVmdExhYmVsPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGNvbnRyb2woX2NvbnRyb2w6IGFueSkge1xyXG4gICAgdGhpcy5fY29udHJvbCA9IF9jb250cm9sO1xyXG4gICAgaWYgKHRoaXMuZW5hYmxlRG9jdW1lbnRUeXBlQ2hvaWNlKSB7XHJcbiAgICAgIHRoaXMuaGFuZGxlSW5pdGlhbERvY3VtZW50VHlwZVN0YXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY29udHJvbFN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLmNvbnRyb2xTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgdGhpcy5jb250cm9sU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jb250cm9sU3Vic2NyaXB0aW9uLmFkZChcclxuICAgICAgdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5lbmFibGVEb2N1bWVudFR5cGVDaG9pY2UgJiYgIXRoaXMubGFzdFR5cGVkVmFsdWUgJiYgdmFsdWU/Lmxlbmd0aCA+IDExKSB7XHJcbiAgICAgICAgICB0aGlzLmhhbmRsZUluaXRpYWxEb2N1bWVudFR5cGVTdGF0ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxhc3RUeXBlZFZhbHVlID0gdmFsdWU7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpbnB1dElkPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNsb3RDaGFyID0gJ18nO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBibHVyRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGVudGVyS2V5UHJlc3MgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGJhY2tTcGFjZUtleVByZXNzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBmb2N1c0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvbkRvY3VtZW50VHlwZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TGlzdEl0ZW0+KCk7XHJcblxyXG4gIHB1YmxpYyBpc1Bhc3N3b3JkVmlzaWJsZSA9IGZhbHNlO1xyXG4gIHB1YmxpYyB2YWxpZGF0ZU9ubHkgPSBmYWxzZTtcclxuXHJcbiAgZ2V0IHBsYWNlaG9sZGVyKCkge1xyXG4gICAgaWYgKCF0aGlzLmxhYmVsKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGlzLmxhYmVsfSR7dGhpcy5pc1JlcXVpcmVkID8gJyonIDogJyd9YDtcclxuICB9XHJcblxyXG4gIGdldCBrZXlmaWx0ZXIoKSB7XHJcbiAgICB0aGlzLnZhbGlkYXRlT25seSA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMubnVtZXJpYykge1xyXG4gICAgICByZXR1cm4gJ2ludCc7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5udW1lcmljUG9zaXRpdmUpIHtcclxuICAgICAgcmV0dXJuICdwaW50JztcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmRlY2ltYWwpIHtcclxuICAgICAgdGhpcy52YWxpZGF0ZU9ubHkgPSB0cnVlO1xyXG4gICAgICByZXR1cm4gL14oXFxkKyg/OltcXCxdXFxkezJ9KT8pJC87XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5vbmx5VGV4dCkge1xyXG4gICAgICB0aGlzLnZhbGlkYXRlT25seSA9IHRydWU7XHJcbiAgICAgIHJldHVybiAvXlthLXpBLVrDgC3Dulxcc10qJC9nbTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmFscGhhTnVtZXJpYykge1xyXG4gICAgICByZXR1cm4gJ2FscGhhbnVtJztcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmFscGhhTnVtZXJpY0FuZFdoaXRlc3BhY2UpIHtcclxuICAgICAgcmV0dXJuIC9eW0EtWmEtesOALcO6MC05IF0qJC9nbTtcclxuICAgIH1cclxuICAgIHJldHVybiAvW1xcc1xcU10qLztcclxuICB9XHJcblxyXG4gIGdldCBjb250cm9sKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbnRyb2w7XHJcbiAgfVxyXG5cclxuICBnZXQgc2hvd1Bhc3N3b3JkSWNvbigpIHtcclxuICAgIHJldHVybiB0aGlzLmlzUGFzc3dvcmRWaXNpYmxlID8gJ2ZhcyBmYS1leWUnIDogJ2ZhcyBmYS1leWUtc2xhc2gnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRvY3VtZW50VHlwZXM6IExpc3RJdGVtW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdDUEYnLFxyXG4gICAgICBjb2RlOiBEb2N1bWVudFR5cGUuQ1BGLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ0NOUEonLFxyXG4gICAgICBjb2RlOiBEb2N1bWVudFR5cGUuQ05QSixcclxuICAgIH0sXHJcbiAgXTtcclxuXHJcbiAgcHVibGljIHNlbGVjdGVkRG9jdW1lbnRUeXBlID0gdGhpcy5kb2N1bWVudFR5cGVzWzFdO1xyXG5cclxuICBwcml2YXRlIGxhc3RCbHVyVmFsdWUgPSAnJztcclxuICBwcml2YXRlIGxhc3RUeXBlZFZhbHVlID0gJyc7XHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcbiAgcHJpdmF0ZSBjb250cm9sU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG4gIHByaXZhdGUgX2NvbnRyb2w6IGFueTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5lbmFibGVEb2N1bWVudFR5cGVDaG9pY2UpIHtcclxuICAgICAgdGhpcy5zZXREb2N1bWVudFR5cGUodGhpcy5zZWxlY3RlZERvY3VtZW50VHlwZS5jb2RlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuY29udHJvbFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQmx1cigpIHtcclxuICAgIHRoaXMuY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICBpZiAodGhpcy5sYXN0Qmx1clZhbHVlICE9PSB0aGlzLmNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgdGhpcy5sYXN0Qmx1clZhbHVlID0gdGhpcy5jb250cm9sLnZhbHVlO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmJsdXJFdmVudC5lbWl0KHRoaXMuY29udHJvbC52YWx1ZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uRW50ZXJQcmVzcygpIHtcclxuICAgIHRoaXMub25CbHVyKCk7XHJcbiAgICB0aGlzLmVudGVyS2V5UHJlc3MuZW1pdCgpO1xyXG4gIH1cclxuICBwdWJsaWMgb25CYWNrU3BhY2VQcmVzcygpIHtcclxuICAgIHRoaXMub25CbHVyKCk7XHJcbiAgICB0aGlzLmJhY2tTcGFjZUtleVByZXNzLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkZvY3VzKCRldmVudDogRXZlbnQpIHtcclxuICAgIGNvbnN0IHRhcmdldCA9ICRldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgIGlmICh0aGlzLm1hc2spIHtcclxuICAgICAgY29uc3QgZmlyc3RVbmRlcnNjb3JlID0gdGFyZ2V0Py52YWx1ZS5pbmRleE9mKCdfJyk7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGlvbkluZGV4ID0gKGZpcnN0VW5kZXJzY29yZSA+PSAwID8gZmlyc3RVbmRlcnNjb3JlIDogdGFyZ2V0Py52YWx1ZS5sZW5ndGgpIHx8IDA7XHJcbiAgICAgIHRhcmdldD8uc2V0U2VsZWN0aW9uUmFuZ2Uoc2VsZWN0aW9uSW5kZXgsIHNlbGVjdGlvbkluZGV4KTtcclxuICAgIH1cclxuICAgIHRoaXMuZm9jdXNFdmVudC5lbWl0KHRhcmdldD8udmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZVNob3dQYXNzd29yZCgpIHtcclxuICAgIHRoaXMuaXNQYXNzd29yZFZpc2libGUgPSAhdGhpcy5pc1Bhc3N3b3JkVmlzaWJsZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVEb2N1bWVudFR5cGVDaGFuZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZERvY3VtZW50VHlwZS5jb2RlID09PSBEb2N1bWVudFR5cGUuQ05QSikge1xyXG4gICAgICB0aGlzLnNldERvY3VtZW50VHlwZShEb2N1bWVudFR5cGUuQ1BGKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0RG9jdW1lbnRUeXBlKERvY3VtZW50VHlwZS5DTlBKKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlSW5pdGlhbERvY3VtZW50VHlwZVN0YXRlKCkge1xyXG4gICAgaWYgKHRoaXMuY29udHJvbD8udmFsdWUpIHtcclxuICAgICAgaWYgKHRoaXMuY29udHJvbC52YWx1ZS5sZW5ndGggPT09IDExKSB7XHJcbiAgICAgICAgdGhpcy5zZXREb2N1bWVudFR5cGUoRG9jdW1lbnRUeXBlLkNQRik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zZXREb2N1bWVudFR5cGUoRG9jdW1lbnRUeXBlLkNOUEopO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldERvY3VtZW50VHlwZShEb2N1bWVudFR5cGUuQ1BGKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RG9jdW1lbnRUeXBlKGRvY3VtZW50VHlwZTogRG9jdW1lbnRUeXBlKSB7XHJcbiAgICBzd2l0Y2ggKGRvY3VtZW50VHlwZSkge1xyXG4gICAgICBjYXNlIERvY3VtZW50VHlwZS5DTlBKOlxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREb2N1bWVudFR5cGUgPSB0aGlzLmRvY3VtZW50VHlwZXNbMV07XHJcbiAgICAgICAgdGhpcy5tYXNrID0gTWFza1V0aWwuQ05QSl9URVhUX0ZJRUxEX1BBVFRFUk47XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRG9jdW1lbnRUeXBlLkNQRjpcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRG9jdW1lbnRUeXBlID0gdGhpcy5kb2N1bWVudFR5cGVzWzBdO1xyXG4gICAgICAgIHRoaXMubWFzayA9IE1hc2tVdGlsLkNQRl9URVhUX0ZJRUxEX1BBVFRFUk47XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uRG9jdW1lbnRUeXBlQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZERvY3VtZW50VHlwZSk7XHJcbiAgfVxyXG59XHJcbiIsIjxmb3JtIGNsYXNzPVwiaW5wdXQtY29udGFpbmVyIHAtaW5wdXQtaWNvbi1yaWdodFwiPlxyXG4gIDxpICpuZ0lmPVwicmlnaHRJY29uXCIgW2NsYXNzXT1cInJpZ2h0SWNvblwiPjwvaT5cclxuICA8aSAqbmdJZj1cImlzUGFzc3dvcmRcIiBjbGFzcz1cInNob3ctcGFzc3dvcmQtaWNvbiB7eyBzaG93UGFzc3dvcmRJY29uIH19XCIgKGNsaWNrKT1cInRvZ2dsZVNob3dQYXNzd29yZCgpXCI+PC9pPlxyXG4gIDxkaXYgY2xhc3M9XCJwLWlucHV0Z3JvdXBcIj5cclxuICAgIDx2ZWN0b3ItYnV0dG9uXHJcbiAgICAgICpuZ0lmPVwiZW5hYmxlRG9jdW1lbnRUeXBlQ2hvaWNlXCJcclxuICAgICAgbGVmdEljb249XCJmYXMgZmEtZXhjaGFuZ2UtYWx0XCJcclxuICAgICAgdHlwZT1cInN1Y2Nlc3NcIlxyXG4gICAgICBbbGFiZWxdPVwic2VsZWN0ZWREb2N1bWVudFR5cGUubmFtZVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJjb250cm9sLmRpc2FibGVkXCJcclxuICAgICAgW25vU2hhZG93XT1cInRydWVcIlxyXG4gICAgICAob25DbGljayk9XCJoYW5kbGVEb2N1bWVudFR5cGVDaGFuZ2UoKVwiXHJcbiAgICA+PC92ZWN0b3ItYnV0dG9uPlxyXG5cclxuICAgIDxzcGFuICpuZ0lmPVwibGVmdExhYmVsXCIgY2xhc3M9XCJsZWZ0LWxhYmVsXCI+XHJcbiAgICAgIHt7IGxlZnRMYWJlbCB9fVxyXG4gICAgPC9zcGFuPlxyXG5cclxuICAgIDxpbnB1dFxyXG4gICAgICAqbmdJZj1cIiFtYXNrXCJcclxuICAgICAgW2lkXT1cImlucHV0SWRcIlxyXG4gICAgICBwSW5wdXRUZXh0XHJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxyXG4gICAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgW3BWYWxpZGF0ZU9ubHldPVwidmFsaWRhdGVPbmx5XCJcclxuICAgICAgW3BLZXlGaWx0ZXJdPVwia2V5ZmlsdGVyXCJcclxuICAgICAgW25nQ2xhc3NdPVwieyAncGFzc3dvcmQtZmllbGQnOiBpc1Bhc3N3b3JkICYmICFpc1Bhc3N3b3JkVmlzaWJsZSwgJ3RleHQtY2VudGVyZWQnOiBjZW50ZXJlZCB9XCJcclxuICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxyXG4gICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkVudGVyUHJlc3MoKVwiXHJcbiAgICAgIChrZXlkb3duLmJhY2tzcGFjZSk9XCJvbkJhY2tTcGFjZVByZXNzKClcIlxyXG4gICAgICAoY2xpY2spPVwib25Gb2N1cygkZXZlbnQpXCJcclxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5ID8gdHJ1ZSA6IG51bGxcIlxyXG4gICAgLz5cclxuICAgIDxwLWlucHV0TWFza1xyXG4gICAgICAqbmdJZj1cIm1hc2tcIlxyXG4gICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgIFtpbnB1dElkXT1cImlucHV0SWQgfHwgJ21hc2stZmllbGQnXCJcclxuICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxyXG4gICAgICBbbWFza109XCJtYXNrXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgKG9uQmx1cik9XCJvbkJsdXIoKVwiXHJcbiAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uRW50ZXJQcmVzcygpXCJcclxuICAgICAgKGtleWRvd24uYmFja3NwYWNlKT1cIm9uQmFja1NwYWNlUHJlc3MoKVwiXHJcbiAgICAgIFthdXRvQ2xlYXJdPVwiYXV0b0NsZWFyXCJcclxuICAgICAgW3VubWFza109XCJ0cnVlXCJcclxuICAgICAgW3N0eWxlQ2xhc3NdPVwiY2VudGVyZWQgPyAndGV4dC1jZW50ZXJlZCcgOiAnJ1wiXHJcbiAgICAgIFtzbG90Q2hhcl09XCJzbG90Q2hhclwiXHJcbiAgICAgIChjbGljayk9XCJvbkZvY3VzKCRldmVudClcIlxyXG4gICAgPjwvcC1pbnB1dE1hc2s+XHJcbiAgPC9kaXY+XHJcbiAgPHZlY3Rvci1maWVsZC1lcnJvci1tZXNzYWdlICpuZ0lmPVwiIWhpZGRlbkVycm9yTWVzc2FnZVwiIFtjb250cm9sXT1cImNvbnRyb2xcIj48L3ZlY3Rvci1maWVsZC1lcnJvci1tZXNzYWdlPlxyXG48L2Zvcm0+XHJcbiJdfQ==
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { Subscription } from 'rxjs';
3
+ import { DocumentType } from '../../../models';
4
+ import { MaskUtil } from '../../../utils';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../button/button.component";
7
+ import * as i2 from "primeng/inputmask";
8
+ import * as i3 from "../field-error-message/field-error-message.component";
9
+ import * as i4 from "@angular/forms";
10
+ import * as i5 from "@angular/common";
11
+ import * as i6 from "primeng/inputtext";
12
+ import * as i7 from "primeng/keyfilter";
13
+ export class TextFieldComponent {
14
+ constructor() {
15
+ this.isRequired = false;
16
+ this.label = '';
17
+ this.maxlength = '';
18
+ this.isPassword = false;
19
+ this.numeric = false;
20
+ this.numericPositive = false;
21
+ this.decimal = false;
22
+ this.onlyText = false;
23
+ this.alphaNumeric = false;
24
+ this.alphaNumericAndWhitespace = false;
25
+ this.autoClear = true;
26
+ this.readonly = false;
27
+ this.rightIcon = '';
28
+ this.centered = false;
29
+ this.enableDocumentTypeChoice = false;
30
+ this.hiddenErrorMessage = false;
31
+ this.slotChar = '_';
32
+ this.blurEvent = new EventEmitter();
33
+ this.enterKeyPress = new EventEmitter();
34
+ this.backSpaceKeyPress = new EventEmitter();
35
+ this.focusEvent = new EventEmitter();
36
+ this.onDocumentTypeChange = new EventEmitter();
37
+ this.isPasswordVisible = false;
38
+ this.validateOnly = false;
39
+ this.documentTypes = [
40
+ {
41
+ name: 'CPF',
42
+ code: DocumentType.CPF,
43
+ },
44
+ {
45
+ name: 'CNPJ',
46
+ code: DocumentType.CNPJ,
47
+ },
48
+ ];
49
+ this.selectedDocumentType = this.documentTypes[1];
50
+ this.lastBlurValue = '';
51
+ this.lastTypedValue = '';
52
+ this.subscription = new Subscription();
53
+ this.controlSubscription = new Subscription();
54
+ }
55
+ set control(_control) {
56
+ this._control = _control;
57
+ if (this.enableDocumentTypeChoice) {
58
+ this.handleInitialDocumentTypeState();
59
+ }
60
+ if (this.controlSubscription) {
61
+ this.controlSubscription.unsubscribe();
62
+ this.controlSubscription = new Subscription();
63
+ }
64
+ this.controlSubscription.add(this.control.valueChanges.subscribe((value) => {
65
+ if (this.enableDocumentTypeChoice && !this.lastTypedValue && value?.length > 11) {
66
+ this.handleInitialDocumentTypeState();
67
+ }
68
+ this.lastTypedValue = value;
69
+ }));
70
+ }
71
+ get placeholder() {
72
+ if (!this.label) {
73
+ return '';
74
+ }
75
+ return `${this.label}${this.isRequired ? '*' : ''}`;
76
+ }
77
+ get keyfilter() {
78
+ this.validateOnly = false;
79
+ if (this.numeric) {
80
+ return 'int';
81
+ }
82
+ if (this.numericPositive) {
83
+ return 'pint';
84
+ }
85
+ if (this.decimal) {
86
+ this.validateOnly = true;
87
+ return /^(\d+(?:[\,]\d{2})?)$/;
88
+ }
89
+ if (this.onlyText) {
90
+ this.validateOnly = true;
91
+ return /^[a-zA-ZÀ-ú\s]*$/gm;
92
+ }
93
+ if (this.alphaNumeric) {
94
+ return 'alphanum';
95
+ }
96
+ if (this.alphaNumericAndWhitespace) {
97
+ return /^[A-Za-zÀ-ú0-9 ]*$/gm;
98
+ }
99
+ return /[\s\S]*/;
100
+ }
101
+ get control() {
102
+ return this._control;
103
+ }
104
+ get showPasswordIcon() {
105
+ return this.isPasswordVisible ? 'fas fa-eye' : 'fas fa-eye-slash';
106
+ }
107
+ ngOnInit() {
108
+ if (this.enableDocumentTypeChoice) {
109
+ this.setDocumentType(this.selectedDocumentType.code);
110
+ }
111
+ }
112
+ ngOnDestroy() {
113
+ this.subscription.unsubscribe();
114
+ this.controlSubscription.unsubscribe();
115
+ }
116
+ onBlur() {
117
+ this.control.markAsTouched();
118
+ if (this.lastBlurValue !== this.control.value) {
119
+ this.lastBlurValue = this.control.value;
120
+ setTimeout(() => {
121
+ this.blurEvent.emit(this.control.value);
122
+ });
123
+ }
124
+ }
125
+ onEnterPress() {
126
+ this.onBlur();
127
+ this.enterKeyPress.emit();
128
+ }
129
+ onBackSpacePress() {
130
+ this.onBlur();
131
+ this.backSpaceKeyPress.emit();
132
+ }
133
+ onFocus($event) {
134
+ const target = $event.target;
135
+ if (this.mask) {
136
+ const firstUnderscore = target?.value.indexOf('_');
137
+ const selectionIndex = (firstUnderscore >= 0 ? firstUnderscore : target?.value.length) || 0;
138
+ target?.setSelectionRange(selectionIndex, selectionIndex);
139
+ }
140
+ this.focusEvent.emit(target?.value);
141
+ }
142
+ toggleShowPassword() {
143
+ this.isPasswordVisible = !this.isPasswordVisible;
144
+ }
145
+ handleDocumentTypeChange() {
146
+ if (this.selectedDocumentType.code === DocumentType.CNPJ) {
147
+ this.setDocumentType(DocumentType.CPF);
148
+ }
149
+ else {
150
+ this.setDocumentType(DocumentType.CNPJ);
151
+ }
152
+ }
153
+ handleInitialDocumentTypeState() {
154
+ if (this.control?.value) {
155
+ if (this.control.value.length === 11) {
156
+ this.setDocumentType(DocumentType.CPF);
157
+ }
158
+ else {
159
+ this.setDocumentType(DocumentType.CNPJ);
160
+ }
161
+ }
162
+ else {
163
+ this.setDocumentType(DocumentType.CPF);
164
+ }
165
+ }
166
+ setDocumentType(documentType) {
167
+ switch (documentType) {
168
+ case DocumentType.CNPJ:
169
+ this.selectedDocumentType = this.documentTypes[1];
170
+ this.mask = MaskUtil.CNPJ_TEXT_FIELD_PATTERN;
171
+ break;
172
+ case DocumentType.CPF:
173
+ this.selectedDocumentType = this.documentTypes[0];
174
+ this.mask = MaskUtil.CPF_TEXT_FIELD_PATTERN;
175
+ break;
176
+ }
177
+ this.onDocumentTypeChange.emit(this.selectedDocumentType);
178
+ }
179
+ }
180
+ TextFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TextFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
181
+ TextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: TextFieldComponent, selector: "vector-text-field", inputs: { isRequired: "isRequired", label: "label", maxlength: "maxlength", isPassword: "isPassword", numeric: "numeric", numericPositive: "numericPositive", decimal: "decimal", onlyText: "onlyText", alphaNumeric: "alphaNumeric", alphaNumericAndWhitespace: "alphaNumericAndWhitespace", mask: "mask", autoClear: "autoClear", readonly: "readonly", rightIcon: "rightIcon", centered: "centered", enableDocumentTypeChoice: "enableDocumentTypeChoice", hiddenErrorMessage: "hiddenErrorMessage", leftLabel: "leftLabel", control: "control", inputId: "inputId", slotChar: "slotChar" }, outputs: { blurEvent: "blurEvent", enterKeyPress: "enterKeyPress", backSpaceKeyPress: "backSpaceKeyPress", focusEvent: "focusEvent", onDocumentTypeChange: "onDocumentTypeChange" }, ngImport: i0, template: "<form class=\"input-container p-input-icon-right\">\n <i *ngIf=\"rightIcon\" [class]=\"rightIcon\"></i>\n <i *ngIf=\"isPassword\" class=\"show-password-icon {{ showPasswordIcon }}\" (click)=\"toggleShowPassword()\"></i>\n <div class=\"p-inputgroup\">\n <vector-button\n *ngIf=\"enableDocumentTypeChoice\"\n leftIcon=\"fas fa-exchange-alt\"\n type=\"success\"\n [label]=\"selectedDocumentType.name\"\n [disabled]=\"control.disabled\"\n [noShadow]=\"true\"\n (onClick)=\"handleDocumentTypeChange()\"\n ></vector-button>\n\n <span *ngIf=\"leftLabel\" class=\"left-label\">\n {{ leftLabel }}\n </span>\n\n <input\n *ngIf=\"!mask\"\n [id]=\"inputId\"\n pInputText\n type=\"text\"\n [formControl]=\"control\"\n [attr.maxlength]=\"maxlength\"\n [placeholder]=\"placeholder\"\n [pValidateOnly]=\"validateOnly\"\n [pKeyFilter]=\"keyfilter\"\n [ngClass]=\"{ 'password-field': isPassword && !isPasswordVisible, 'text-centered': centered }\"\n (blur)=\"onBlur()\"\n (keydown.enter)=\"onEnterPress()\"\n (keydown.backspace)=\"onBackSpacePress()\"\n (click)=\"onFocus($event)\"\n [readonly]=\"readonly ? true : null\"\n />\n <p-inputMask\n *ngIf=\"mask\"\n type=\"text\"\n [inputId]=\"inputId || 'mask-field'\"\n [formControl]=\"control\"\n [mask]=\"mask\"\n [placeholder]=\"placeholder\"\n (onBlur)=\"onBlur()\"\n (keydown.enter)=\"onEnterPress()\"\n (keydown.backspace)=\"onBackSpacePress()\"\n [autoClear]=\"autoClear\"\n [unmask]=\"true\"\n [styleClass]=\"centered ? 'text-centered' : ''\"\n [slotChar]=\"slotChar\"\n (click)=\"onFocus($event)\"\n ></p-inputMask>\n </div>\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\n</form>\n", styles: [".input-container{width:100%}.input-container .password-field{-webkit-text-security:disc}.input-container .input-error{font-size:.7em;color:var(--error-color);position:absolute;width:max-content}.input-container .show-password-icon{font-size:1.4em;margin-right:5px;cursor:pointer}.input-container .text-centered{text-align:center}.input-container .left-label{min-height:100%;display:flex;align-items:center;justify-content:center;padding:0 10px;white-space:nowrap;font-size:13px;background-color:var(--gray-light);color:var(--theme-primary)}\n"], components: [{ type: i1.ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }, { type: i2.InputMask, selector: "p-inputMask", inputs: ["type", "slotChar", "autoClear", "style", "inputId", "styleClass", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "disabled", "readonly", "unmask", "name", "required", "characterPattern", "autoFocus", "autocomplete", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown"] }, { type: i3.FieldErrorMessageComponent, selector: "vector-field-error-message", inputs: ["control"] }], directives: [{ type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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]" }, { type: i6.InputText, selector: "[pInputText]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i7.KeyFilter, selector: "[pKeyFilter]", inputs: ["pValidateOnly", "pKeyFilter"], outputs: ["ngModelChange"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
182
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TextFieldComponent, decorators: [{
183
+ type: Component,
184
+ args: [{ selector: 'vector-text-field', template: "<form class=\"input-container p-input-icon-right\">\n <i *ngIf=\"rightIcon\" [class]=\"rightIcon\"></i>\n <i *ngIf=\"isPassword\" class=\"show-password-icon {{ showPasswordIcon }}\" (click)=\"toggleShowPassword()\"></i>\n <div class=\"p-inputgroup\">\n <vector-button\n *ngIf=\"enableDocumentTypeChoice\"\n leftIcon=\"fas fa-exchange-alt\"\n type=\"success\"\n [label]=\"selectedDocumentType.name\"\n [disabled]=\"control.disabled\"\n [noShadow]=\"true\"\n (onClick)=\"handleDocumentTypeChange()\"\n ></vector-button>\n\n <span *ngIf=\"leftLabel\" class=\"left-label\">\n {{ leftLabel }}\n </span>\n\n <input\n *ngIf=\"!mask\"\n [id]=\"inputId\"\n pInputText\n type=\"text\"\n [formControl]=\"control\"\n [attr.maxlength]=\"maxlength\"\n [placeholder]=\"placeholder\"\n [pValidateOnly]=\"validateOnly\"\n [pKeyFilter]=\"keyfilter\"\n [ngClass]=\"{ 'password-field': isPassword && !isPasswordVisible, 'text-centered': centered }\"\n (blur)=\"onBlur()\"\n (keydown.enter)=\"onEnterPress()\"\n (keydown.backspace)=\"onBackSpacePress()\"\n (click)=\"onFocus($event)\"\n [readonly]=\"readonly ? true : null\"\n />\n <p-inputMask\n *ngIf=\"mask\"\n type=\"text\"\n [inputId]=\"inputId || 'mask-field'\"\n [formControl]=\"control\"\n [mask]=\"mask\"\n [placeholder]=\"placeholder\"\n (onBlur)=\"onBlur()\"\n (keydown.enter)=\"onEnterPress()\"\n (keydown.backspace)=\"onBackSpacePress()\"\n [autoClear]=\"autoClear\"\n [unmask]=\"true\"\n [styleClass]=\"centered ? 'text-centered' : ''\"\n [slotChar]=\"slotChar\"\n (click)=\"onFocus($event)\"\n ></p-inputMask>\n </div>\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\n</form>\n", styles: [".input-container{width:100%}.input-container .password-field{-webkit-text-security:disc}.input-container .input-error{font-size:.7em;color:var(--error-color);position:absolute;width:max-content}.input-container .show-password-icon{font-size:1.4em;margin-right:5px;cursor:pointer}.input-container .text-centered{text-align:center}.input-container .left-label{min-height:100%;display:flex;align-items:center;justify-content:center;padding:0 10px;white-space:nowrap;font-size:13px;background-color:var(--gray-light);color:var(--theme-primary)}\n"] }]
185
+ }], propDecorators: { isRequired: [{
186
+ type: Input
187
+ }], label: [{
188
+ type: Input
189
+ }], maxlength: [{
190
+ type: Input
191
+ }], isPassword: [{
192
+ type: Input
193
+ }], numeric: [{
194
+ type: Input
195
+ }], numericPositive: [{
196
+ type: Input
197
+ }], decimal: [{
198
+ type: Input
199
+ }], onlyText: [{
200
+ type: Input
201
+ }], alphaNumeric: [{
202
+ type: Input
203
+ }], alphaNumericAndWhitespace: [{
204
+ type: Input
205
+ }], mask: [{
206
+ type: Input
207
+ }], autoClear: [{
208
+ type: Input
209
+ }], readonly: [{
210
+ type: Input
211
+ }], rightIcon: [{
212
+ type: Input
213
+ }], centered: [{
214
+ type: Input
215
+ }], enableDocumentTypeChoice: [{
216
+ type: Input
217
+ }], hiddenErrorMessage: [{
218
+ type: Input
219
+ }], leftLabel: [{
220
+ type: Input
221
+ }], control: [{
222
+ type: Input
223
+ }], inputId: [{
224
+ type: Input
225
+ }], slotChar: [{
226
+ type: Input
227
+ }], blurEvent: [{
228
+ type: Output
229
+ }], enterKeyPress: [{
230
+ type: Output
231
+ }], backSpaceKeyPress: [{
232
+ type: Output
233
+ }], focusEvent: [{
234
+ type: Output
235
+ }], onDocumentTypeChange: [{
236
+ type: Output
237
+ }] } });
238
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy90ZXh0LWZpZWxkL3RleHQtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvdGV4dC1maWVsZC90ZXh0LWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBTzFDLE1BQU0sT0FBTyxrQkFBa0I7SUFML0I7UUFPUyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBRTVCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFFbkIsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUV2QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRW5CLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFaEIsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFFeEIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLDhCQUF5QixHQUFHLEtBQUssQ0FBQztRQUlsQyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRWpCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsY0FBUyxHQUFHLEVBQUUs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S0FBSztnQkFHQyxZQUFZO3NCQURsQixLQUFLO2dCQUdDLHlCQUF5QjtzQkFEL0IsS0FBSztnQkFHQyxJQUFJO3NCQURWLEtBQUs7Z0JBR0MsU0FBUztzQkFEZixLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFHQyxTQUFTO3NCQURmLEtBQUs7Z0JBR0MsUUFBUTtzQkFEZCxLQUFLO2dCQUdDLHdCQUF3QjtzQkFEOUIsS0FBSztnQkFHQyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBR0MsU0FBUztzQkFEZixLQUFLO2dCQUdGLE9BQU87c0JBRFYsS0FBSztnQkFxQkMsT0FBTztzQkFEYixLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFHQyxTQUFTO3NCQURmLE1BQU07Z0JBR0EsYUFBYTtzQkFEbkIsTUFBTTtnQkFHQSxpQkFBaUI7c0JBRHZCLE1BQU07Z0JBR0EsVUFBVTtzQkFEaEIsTUFBTTtnQkFHQSxvQkFBb0I7c0JBRDFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRG9jdW1lbnRUeXBlLCBMaXN0SXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBNYXNrVXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVjdG9yLXRleHQtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHQtZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV4dEZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBwdWJsaWMgaXNSZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgbGFiZWw6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKVxuICBwdWJsaWMgbWF4bGVuZ3RoOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KClcbiAgcHVibGljIGlzUGFzc3dvcmQgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgcHVibGljIG51bWVyaWMgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgcHVibGljIG51bWVyaWNQb3NpdGl2ZSA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGVjaW1hbCA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgb25seVRleHQgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgcHVibGljIGFscGhhTnVtZXJpYyA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgYWxwaGFOdW1lcmljQW5kV2hpdGVzcGFjZSA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgbWFzaz86IHN0cmluZztcbiAgQElucHV0KClcbiAgcHVibGljIGF1dG9DbGVhciA9IHRydWU7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZWFkb25seSA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgcmlnaHRJY29uID0gJyc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjZW50ZXJlZCA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZW5hYmxlRG9jdW1lbnRUeXBlQ2hvaWNlID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoaWRkZW5FcnJvck1lc3NhZ2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgcHVibGljIGxlZnRMYWJlbD86IHN0cmluZztcbiAgQElucHV0KClcbiAgc2V0IGNvbnRyb2woX2NvbnRyb2w6IGFueSkge1xuICAgIHRoaXMuX2NvbnRyb2wgPSBfY29udHJvbDtcbiAgICBpZiAodGhpcy5lbmFibGVEb2N1bWVudFR5cGVDaG9pY2UpIHtcbiAgICAgIHRoaXMuaGFuZGxlSW5pdGlhbERvY3VtZW50VHlwZVN0YXRlKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29udHJvbFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5jb250cm9sU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLmNvbnRyb2xTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgfVxuICAgIHRoaXMuY29udHJvbFN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgICBpZiAodGhpcy5lbmFibGVEb2N1bWVudFR5cGVDaG9pY2UgJiYgIXRoaXMubGFzdFR5cGVkVmFsdWUgJiYgdmFsdWU/Lmxlbmd0aCA+IDExKSB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVJbml0aWFsRG9jdW1lbnRUeXBlU3RhdGUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxhc3RUeXBlZFZhbHVlID0gdmFsdWU7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbiAgQElucHV0KClcbiAgcHVibGljIGlucHV0SWQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzbG90Q2hhciA9ICdfJztcbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBibHVyRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZW50ZXJLZXlQcmVzcyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBiYWNrU3BhY2VLZXlQcmVzcyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmb2N1c0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KClcbiAgcHVibGljIG9uRG9jdW1lbnRUeXBlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxMaXN0SXRlbT4oKTtcblxuICBwdWJsaWMgaXNQYXNzd29yZFZpc2libGUgPSBmYWxzZTtcbiAgcHVibGljIHZhbGlkYXRlT25seSA9IGZhbHNlO1xuXG4gIGdldCBwbGFjZWhvbGRlcigpIHtcbiAgICBpZiAoIXRoaXMubGFiZWwpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgcmV0dXJuIGAke3RoaXMubGFiZWx9JHt0aGlzLmlzUmVxdWlyZWQgPyAnKicgOiAnJ31gO1xuICB9XG5cbiAgZ2V0IGtleWZpbHRlcigpIHtcbiAgICB0aGlzLnZhbGlkYXRlT25seSA9IGZhbHNlO1xuICAgIGlmICh0aGlzLm51bWVyaWMpIHtcbiAgICAgIHJldHVybiAnaW50JztcbiAgICB9XG4gICAgaWYgKHRoaXMubnVtZXJpY1Bvc2l0aXZlKSB7XG4gICAgICByZXR1cm4gJ3BpbnQnO1xuICAgIH1cbiAgICBpZiAodGhpcy5kZWNpbWFsKSB7XG4gICAgICB0aGlzLnZhbGlkYXRlT25seSA9IHRydWU7XG4gICAgICByZXR1cm4gL14oXFxkKyg/OltcXCxdXFxkezJ9KT8pJC87XG4gICAgfVxuICAgIGlmICh0aGlzLm9ubHlUZXh0KSB7XG4gICAgICB0aGlzLnZhbGlkYXRlT25seSA9IHRydWU7XG4gICAgICByZXR1cm4gL15bYS16QS1aw4Atw7pcXHNdKiQvZ207XG4gICAgfVxuICAgIGlmICh0aGlzLmFscGhhTnVtZXJpYykge1xuICAgICAgcmV0dXJuICdhbHBoYW51bSc7XG4gICAgfVxuICAgIGlmICh0aGlzLmFscGhhTnVtZXJpY0FuZFdoaXRlc3BhY2UpIHtcbiAgICAgIHJldHVybiAvXltBLVphLXrDgC3DujAtOSBdKiQvZ207XG4gICAgfVxuICAgIHJldHVybiAvW1xcc1xcU10qLztcbiAgfVxuXG4gIGdldCBjb250cm9sKCkge1xuICAgIHJldHVybiB0aGlzLl9jb250cm9sO1xuICB9XG5cbiAgZ2V0IHNob3dQYXNzd29yZEljb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNQYXNzd29yZFZpc2libGUgPyAnZmFzIGZhLWV5ZScgOiAnZmFzIGZhLWV5ZS1zbGFzaCc7XG4gIH1cblxuICBwdWJsaWMgZG9jdW1lbnRUeXBlczogTGlzdEl0ZW1bXSA9IFtcbiAgICB7XG4gICAgICBuYW1lOiAnQ1BGJyxcbiAgICAgIGNvZGU6IERvY3VtZW50VHlwZS5DUEYsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnQ05QSicsXG4gICAgICBjb2RlOiBEb2N1bWVudFR5cGUuQ05QSixcbiAgICB9LFxuICBdO1xuXG4gIHB1YmxpYyBzZWxlY3RlZERvY3VtZW50VHlwZSA9IHRoaXMuZG9jdW1lbnRUeXBlc1sxXTtcblxuICBwcml2YXRlIGxhc3RCbHVyVmFsdWUgPSAnJztcbiAgcHJpdmF0ZSBsYXN0VHlwZWRWYWx1ZSA9ICcnO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgcHJpdmF0ZSBjb250cm9sU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICBwcml2YXRlIF9jb250cm9sOiBhbnk7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuZW5hYmxlRG9jdW1lbnRUeXBlQ2hvaWNlKSB7XG4gICAgICB0aGlzLnNldERvY3VtZW50VHlwZSh0aGlzLnNlbGVjdGVkRG9jdW1lbnRUeXBlLmNvZGUpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5jb250cm9sU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgb25CbHVyKCkge1xuICAgIHRoaXMuY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgaWYgKHRoaXMubGFzdEJsdXJWYWx1ZSAhPT0gdGhpcy5jb250cm9sLnZhbHVlKSB7XG4gICAgICB0aGlzLmxhc3RCbHVyVmFsdWUgPSB0aGlzLmNvbnRyb2wudmFsdWU7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5ibHVyRXZlbnQuZW1pdCh0aGlzLmNvbnRyb2wudmFsdWUpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uRW50ZXJQcmVzcygpIHtcbiAgICB0aGlzLm9uQmx1cigpO1xuICAgIHRoaXMuZW50ZXJLZXlQcmVzcy5lbWl0KCk7XG4gIH1cbiAgcHVibGljIG9uQmFja1NwYWNlUHJlc3MoKSB7XG4gICAgdGhpcy5vbkJsdXIoKTtcbiAgICB0aGlzLmJhY2tTcGFjZUtleVByZXNzLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkZvY3VzKCRldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCB0YXJnZXQgPSAkZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgaWYgKHRoaXMubWFzaykge1xuICAgICAgY29uc3QgZmlyc3RVbmRlcnNjb3JlID0gdGFyZ2V0Py52YWx1ZS5pbmRleE9mKCdfJyk7XG4gICAgICBjb25zdCBzZWxlY3Rpb25JbmRleCA9IChmaXJzdFVuZGVyc2NvcmUgPj0gMCA/IGZpcnN0VW5kZXJzY29yZSA6IHRhcmdldD8udmFsdWUubGVuZ3RoKSB8fCAwO1xuICAgICAgdGFyZ2V0Py5zZXRTZWxlY3Rpb25SYW5nZShzZWxlY3Rpb25JbmRleCwgc2VsZWN0aW9uSW5kZXgpO1xuICAgIH1cbiAgICB0aGlzLmZvY3VzRXZlbnQuZW1pdCh0YXJnZXQ/LnZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVTaG93UGFzc3dvcmQoKSB7XG4gICAgdGhpcy5pc1Bhc3N3b3JkVmlzaWJsZSA9ICF0aGlzLmlzUGFzc3dvcmRWaXNpYmxlO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZURvY3VtZW50VHlwZUNoYW5nZSgpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZERvY3VtZW50VHlwZS5jb2RlID09PSBEb2N1bWVudFR5cGUuQ05QSikge1xuICAgICAgdGhpcy5zZXREb2N1bWVudFR5cGUoRG9jdW1lbnRUeXBlLkNQRik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0RG9jdW1lbnRUeXBlKERvY3VtZW50VHlwZS5DTlBKKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUluaXRpYWxEb2N1bWVudFR5cGVTdGF0ZSgpIHtcbiAgICBpZiAodGhpcy5jb250cm9sPy52YWx1ZSkge1xuICAgICAgaWYgKHRoaXMuY29udHJvbC52YWx1ZS5sZW5ndGggPT09IDExKSB7XG4gICAgICAgIHRoaXMuc2V0RG9jdW1lbnRUeXBlKERvY3VtZW50VHlwZS5DUEYpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZXREb2N1bWVudFR5cGUoRG9jdW1lbnRUeXBlLkNOUEopO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldERvY3VtZW50VHlwZShEb2N1bWVudFR5cGUuQ1BGKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldERvY3VtZW50VHlwZShkb2N1bWVudFR5cGU6IERvY3VtZW50VHlwZSkge1xuICAgIHN3aXRjaCAoZG9jdW1lbnRUeXBlKSB7XG4gICAgICBjYXNlIERvY3VtZW50VHlwZS5DTlBKOlxuICAgICAgICB0aGlzLnNlbGVjdGVkRG9jdW1lbnRUeXBlID0gdGhpcy5kb2N1bWVudFR5cGVzWzFdO1xuICAgICAgICB0aGlzLm1hc2sgPSBNYXNrVXRpbC5DTlBKX1RFWFRfRklFTERfUEFUVEVSTjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIERvY3VtZW50VHlwZS5DUEY6XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREb2N1bWVudFR5cGUgPSB0aGlzLmRvY3VtZW50VHlwZXNbMF07XG4gICAgICAgIHRoaXMubWFzayA9IE1hc2tVdGlsLkNQRl9URVhUX0ZJRUxEX1BBVFRFUk47XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICB0aGlzLm9uRG9jdW1lbnRUeXBlQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZERvY3VtZW50VHlwZSk7XG4gIH1cbn1cbiIsIjxmb3JtIGNsYXNzPVwiaW5wdXQtY29udGFpbmVyIHAtaW5wdXQtaWNvbi1yaWdodFwiPlxuICA8aSAqbmdJZj1cInJpZ2h0SWNvblwiIFtjbGFzc109XCJyaWdodEljb25cIj48L2k+XG4gIDxpICpuZ0lmPVwiaXNQYXNzd29yZFwiIGNsYXNzPVwic2hvdy1wYXNzd29yZC1pY29uIHt7IHNob3dQYXNzd29yZEljb24gfX1cIiAoY2xpY2spPVwidG9nZ2xlU2hvd1Bhc3N3b3JkKClcIj48L2k+XG4gIDxkaXYgY2xhc3M9XCJwLWlucHV0Z3JvdXBcIj5cbiAgICA8dmVjdG9yLWJ1dHRvblxuICAgICAgKm5nSWY9XCJlbmFibGVEb2N1bWVudFR5cGVDaG9pY2VcIlxuICAgICAgbGVmdEljb249XCJmYXMgZmEtZXhjaGFuZ2UtYWx0XCJcbiAgICAgIHR5cGU9XCJzdWNjZXNzXCJcbiAgICAgIFtsYWJlbF09XCJzZWxlY3RlZERvY3VtZW50VHlwZS5uYW1lXCJcbiAgICAgIFtkaXNhYmxlZF09XCJjb250cm9sLmRpc2FibGVkXCJcbiAgICAgIFtub1NoYWRvd109XCJ0cnVlXCJcbiAgICAgIChvbkNsaWNrKT1cImhhbmRsZURvY3VtZW50VHlwZUNoYW5nZSgpXCJcbiAgICA+PC92ZWN0b3ItYnV0dG9uPlxuXG4gICAgPHNwYW4gKm5nSWY9XCJsZWZ0TGFiZWxcIiBjbGFzcz1cImxlZnQtbGFiZWxcIj5cbiAgICAgIHt7IGxlZnRMYWJlbCB9fVxuICAgIDwvc3Bhbj5cblxuICAgIDxpbnB1dFxuICAgICAgKm5nSWY9XCIhbWFza1wiXG4gICAgICBbaWRdPVwiaW5wdXRJZFwiXG4gICAgICBwSW5wdXRUZXh0XG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICBbcFZhbGlkYXRlT25seV09XCJ2YWxpZGF0ZU9ubHlcIlxuICAgICAgW3BLZXlGaWx0ZXJdPVwia2V5ZmlsdGVyXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ3Bhc3N3b3JkLWZpZWxkJzogaXNQYXNzd29yZCAmJiAhaXNQYXNzd29yZFZpc2libGUsICd0ZXh0LWNlbnRlcmVkJzogY2VudGVyZWQgfVwiXG4gICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkVudGVyUHJlc3MoKVwiXG4gICAgICAoa2V5ZG93bi5iYWNrc3BhY2UpPVwib25CYWNrU3BhY2VQcmVzcygpXCJcbiAgICAgIChjbGljayk9XCJvbkZvY3VzKCRldmVudClcIlxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5ID8gdHJ1ZSA6IG51bGxcIlxuICAgIC8+XG4gICAgPHAtaW5wdXRNYXNrXG4gICAgICAqbmdJZj1cIm1hc2tcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgW2lucHV0SWRdPVwiaW5wdXRJZCB8fCAnbWFzay1maWVsZCdcIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgW21hc2tdPVwibWFza1wiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgKG9uQmx1cik9XCJvbkJsdXIoKVwiXG4gICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkVudGVyUHJlc3MoKVwiXG4gICAgICAoa2V5ZG93bi5iYWNrc3BhY2UpPVwib25CYWNrU3BhY2VQcmVzcygpXCJcbiAgICAgIFthdXRvQ2xlYXJdPVwiYXV0b0NsZWFyXCJcbiAgICAgIFt1bm1hc2tdPVwidHJ1ZVwiXG4gICAgICBbc3R5bGVDbGFzc109XCJjZW50ZXJlZCA/ICd0ZXh0LWNlbnRlcmVkJyA6ICcnXCJcbiAgICAgIFtzbG90Q2hhcl09XCJzbG90Q2hhclwiXG4gICAgICAoY2xpY2spPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgICA+PC9wLWlucHV0TWFzaz5cbiAgPC9kaXY+XG4gIDx2ZWN0b3ItZmllbGQtZXJyb3ItbWVzc2FnZSAqbmdJZj1cIiFoaWRkZW5FcnJvck1lc3NhZ2VcIiBbY29udHJvbF09XCJjb250cm9sXCI+PC92ZWN0b3ItZmllbGQtZXJyb3ItbWVzc2FnZT5cbjwvZm9ybT5cbiJdfQ==
@@ -1,2 +1,2 @@
1
- export * from './textarea-field.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy90ZXh0YXJlYS1maWVsZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90ZXh0YXJlYS1maWVsZC5jb21wb25lbnQnO1xyXG4iXX0=
1
+ export * from './textarea-field.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy90ZXh0YXJlYS1maWVsZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90ZXh0YXJlYS1maWVsZC5jb21wb25lbnQnO1xuIl19