ngx-vector-components 4.54.0 → 4.55.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 (290) hide show
  1. package/CHANGELOG.md +907 -900
  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 +978 -978
  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 +65 -65
  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 +31 -31
  37. package/esm2020/lib/components/crud-footer/crud-footer.module.mjs +19 -19
  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 +87 -87
  52. package/esm2020/lib/components/fields/currency-field/index.mjs +2 -2
  53. package/esm2020/lib/components/fields/data-table/data-table.component.mjs +365 -365
  54. package/esm2020/lib/components/fields/data-table/index.mjs +2 -2
  55. package/esm2020/lib/components/fields/dropdown-field/dropdown-field.component.mjs +196 -196
  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 +205 -205
  60. package/esm2020/lib/components/fields/filters/filters.component.mjs +195 -195
  61. package/esm2020/lib/components/fields/filters/index.mjs +2 -2
  62. package/esm2020/lib/components/fields/index.mjs +19 -19
  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 +82 -82
  65. package/esm2020/lib/components/fields/multiselect-field/index.mjs +2 -2
  66. package/esm2020/lib/components/fields/multiselect-field/multiselect-field.component.mjs +47 -47
  67. package/esm2020/lib/components/fields/percentage-field/index.mjs +2 -2
  68. package/esm2020/lib/components/fields/percentage-field/percentage-field.component.mjs +42 -42
  69. package/esm2020/lib/components/fields/radio-button-field/index.mjs +2 -2
  70. package/esm2020/lib/components/fields/radio-button-field/radio-button-field.component.mjs +38 -38
  71. package/esm2020/lib/components/fields/range-value/index.mjs +2 -2
  72. package/esm2020/lib/components/fields/range-value/range-value.component.mjs +72 -72
  73. package/esm2020/lib/components/fields/search-field/index.mjs +2 -2
  74. package/esm2020/lib/components/fields/search-field/search-field.component.mjs +33 -33
  75. package/esm2020/lib/components/fields/select-button-field/index.mjs +2 -2
  76. package/esm2020/lib/components/fields/select-button-field/select-button-field.component.mjs +20 -20
  77. package/esm2020/lib/components/fields/text-field/index.mjs +2 -2
  78. package/esm2020/lib/components/fields/text-field/text-field.component.mjs +211 -209
  79. package/esm2020/lib/components/fields/textarea-field/index.mjs +2 -2
  80. package/esm2020/lib/components/fields/textarea-field/textarea-field.component.mjs +75 -75
  81. package/esm2020/lib/components/generic-error-modal/generic-error-modal.component.mjs +30 -30
  82. package/esm2020/lib/components/generic-error-modal/generic-error-modal.module.mjs +20 -20
  83. package/esm2020/lib/components/generic-error-modal/index.mjs +3 -3
  84. package/esm2020/lib/components/generic-modal/generic-modal.component.mjs +66 -66
  85. package/esm2020/lib/components/generic-modal/generic-modal.module.mjs +20 -20
  86. package/esm2020/lib/components/generic-modal/index.mjs +3 -3
  87. package/esm2020/lib/components/index.mjs +13 -13
  88. package/esm2020/lib/components/menu/index.mjs +4 -4
  89. package/esm2020/lib/components/menu/menu.component.mjs +302 -302
  90. package/esm2020/lib/components/menu/menu.module.mjs +20 -20
  91. package/esm2020/lib/components/menu/sub-menus-list/sub-menus-list.component.mjs +42 -42
  92. package/esm2020/lib/components/panel/index.mjs +3 -3
  93. package/esm2020/lib/components/panel/panel.component.mjs +15 -15
  94. package/esm2020/lib/components/panel/panel.module.mjs +19 -19
  95. package/esm2020/lib/components/top-bar/index.mjs +3 -3
  96. package/esm2020/lib/components/top-bar/top-bar.component.mjs +102 -102
  97. package/esm2020/lib/components/top-bar/top-bar.module.mjs +19 -19
  98. package/esm2020/lib/guards/crud-list-has-items.guard.mjs +22 -22
  99. package/esm2020/lib/guards/get-token-by-guid.guard.mjs +54 -54
  100. package/esm2020/lib/guards/has-permission.guard.mjs +27 -27
  101. package/esm2020/lib/guards/index.mjs +6 -6
  102. package/esm2020/lib/guards/role.guard.mjs +24 -24
  103. package/esm2020/lib/guards/token-is-present.guard.mjs +26 -26
  104. package/esm2020/lib/interceptors/http-interceptor.mjs +183 -183
  105. package/esm2020/lib/interceptors/index.mjs +2 -2
  106. package/esm2020/lib/models/app-name.enum.mjs +9 -9
  107. package/esm2020/lib/models/boolean-type.enum.mjs +6 -6
  108. package/esm2020/lib/models/crud-history.model.mjs +3 -3
  109. package/esm2020/lib/models/crud-mode.enum.mjs +7 -7
  110. package/esm2020/lib/models/data-table.model.mjs +22 -22
  111. package/esm2020/lib/models/document-type.enum.mjs +6 -6
  112. package/esm2020/lib/models/filters.model.mjs +2 -2
  113. package/esm2020/lib/models/generic-modal.model.mjs +2 -2
  114. package/esm2020/lib/models/http-response.model.mjs +2 -2
  115. package/esm2020/lib/models/index.mjs +16 -16
  116. package/esm2020/lib/models/ip-info.enum.mjs +2 -2
  117. package/esm2020/lib/models/list-item.model.mjs +2 -2
  118. package/esm2020/lib/models/menu-item.model.mjs +2 -2
  119. package/esm2020/lib/models/message-status.enum.mjs +8 -8
  120. package/esm2020/lib/models/profile.model.mjs +217 -217
  121. package/esm2020/lib/models/role.enum.mjs +5 -5
  122. package/esm2020/lib/models/status.enum.mjs +8 -8
  123. package/esm2020/lib/models/view.enum.mjs +7 -7
  124. package/esm2020/lib/pipes/currency-brl.pipe.mjs +18 -18
  125. package/esm2020/lib/pipes/format-document.pipe.mjs +17 -17
  126. package/esm2020/lib/pipes/index.mjs +8 -8
  127. package/esm2020/lib/pipes/mask.pipe.mjs +21 -21
  128. package/esm2020/lib/pipes/not-hidden.pipe.mjs +16 -16
  129. package/esm2020/lib/pipes/only-active.pipe.mjs +16 -16
  130. package/esm2020/lib/pipes/pipes.module.mjs +21 -21
  131. package/esm2020/lib/pipes/remove-last-child.pipe.mjs +18 -18
  132. package/esm2020/lib/resolvers/get-selected-crud-item.resolver.mjs +28 -28
  133. package/esm2020/lib/resolvers/index.mjs +2 -2
  134. package/esm2020/lib/services/auth.service.mjs +77 -77
  135. package/esm2020/lib/services/base-dropdown.mjs +2 -2
  136. package/esm2020/lib/services/crud-base.service.mjs +14 -14
  137. package/esm2020/lib/services/enum.service.mjs +43 -43
  138. package/esm2020/lib/services/error-message.service.mjs +16 -16
  139. package/esm2020/lib/services/geolocation.service.mjs +23 -23
  140. package/esm2020/lib/services/index.mjs +12 -12
  141. package/esm2020/lib/services/loading.service.mjs +15 -15
  142. package/esm2020/lib/services/menu.service.mjs +147 -147
  143. package/esm2020/lib/services/modal.service.mjs +15 -15
  144. package/esm2020/lib/services/profile.service.mjs +100 -100
  145. package/esm2020/lib/services/storage.service.mjs +108 -108
  146. package/esm2020/lib/shared/shared.module.mjs +17 -17
  147. package/esm2020/lib/utils/cpf-cnpj-validator.util.mjs +116 -116
  148. package/esm2020/lib/utils/file.util.mjs +15 -15
  149. package/esm2020/lib/utils/index.mjs +8 -8
  150. package/esm2020/lib/utils/mask.util.mjs +66 -66
  151. package/esm2020/lib/utils/object.util.mjs +27 -27
  152. package/esm2020/lib/utils/string.util.mjs +16 -16
  153. package/esm2020/lib/utils/validation.util.mjs +234 -234
  154. package/esm2020/lib/utils/window.util.mjs +9 -9
  155. package/esm2020/ngx-vector-components.mjs +4 -4
  156. package/esm2020/public-api.mjs +9 -9
  157. package/fesm2015/ngx-vector-components.mjs +4219 -4217
  158. package/fesm2015/ngx-vector-components.mjs.map +1 -1
  159. package/fesm2020/ngx-vector-components.mjs +4196 -4194
  160. package/fesm2020/ngx-vector-components.mjs.map +1 -1
  161. package/lib/components/badge/badge.component.d.ts +15 -15
  162. package/lib/components/badge/badge.module.d.ts +9 -9
  163. package/lib/components/badge/index.d.ts +2 -2
  164. package/lib/components/breadcrumb/breadcrumb.component.d.ts +19 -19
  165. package/lib/components/breadcrumb/breadcrumb.module.d.ts +8 -8
  166. package/lib/components/breadcrumb/index.d.ts +2 -2
  167. package/lib/components/crud-base/crud-base.component.d.ts +20 -20
  168. package/lib/components/crud-base/index.d.ts +1 -1
  169. package/lib/components/crud-footer/crud-footer.component.d.ts +13 -13
  170. package/lib/components/crud-footer/crud-footer.module.d.ts +9 -9
  171. package/lib/components/crud-footer/index.d.ts +2 -2
  172. package/lib/components/crud-header/crud-header.component.d.ts +11 -11
  173. package/lib/components/crud-header/crud-header.module.d.ts +9 -9
  174. package/lib/components/crud-header/index.d.ts +2 -2
  175. package/lib/components/crud-history/crud-history.component.d.ts +12 -12
  176. package/lib/components/crud-history/crud-history.module.d.ts +10 -10
  177. package/lib/components/crud-history/index.d.ts +2 -2
  178. package/lib/components/fields/button/button.component.d.ts +17 -17
  179. package/lib/components/fields/button/index.d.ts +1 -1
  180. package/lib/components/fields/calendar-field/calendar-field.component.d.ts +23 -23
  181. package/lib/components/fields/calendar-field/index.d.ts +1 -1
  182. package/lib/components/fields/checkbox-field/checkbox-field.component.d.ts +19 -19
  183. package/lib/components/fields/checkbox-field/index.d.ts +1 -1
  184. package/lib/components/fields/currency-field/currency-field.component.d.ts +27 -27
  185. package/lib/components/fields/currency-field/index.d.ts +1 -1
  186. package/lib/components/fields/data-table/data-table.component.d.ts +78 -78
  187. package/lib/components/fields/data-table/index.d.ts +1 -1
  188. package/lib/components/fields/dropdown-field/dropdown-field.component.d.ts +50 -50
  189. package/lib/components/fields/dropdown-field/index.d.ts +1 -1
  190. package/lib/components/fields/field-error-message/field-error-message.component.d.ts +10 -10
  191. package/lib/components/fields/field-error-message/index.d.ts +1 -1
  192. package/lib/components/fields/fields.module.d.ts +46 -46
  193. package/lib/components/fields/filters/filters.component.d.ts +61 -61
  194. package/lib/components/fields/filters/index.d.ts +1 -1
  195. package/lib/components/fields/index.d.ts +18 -18
  196. package/lib/components/fields/input-number-field/index.d.ts +1 -1
  197. package/lib/components/fields/input-number-field/input-number-field.component.d.ts +27 -27
  198. package/lib/components/fields/multiselect-field/index.d.ts +1 -1
  199. package/lib/components/fields/multiselect-field/multiselect-field.component.d.ts +15 -15
  200. package/lib/components/fields/percentage-field/index.d.ts +1 -1
  201. package/lib/components/fields/percentage-field/percentage-field.component.d.ts +16 -16
  202. package/lib/components/fields/radio-button-field/index.d.ts +1 -1
  203. package/lib/components/fields/radio-button-field/radio-button-field.component.d.ts +21 -21
  204. package/lib/components/fields/range-value/index.d.ts +1 -1
  205. package/lib/components/fields/range-value/range-value.component.d.ts +18 -18
  206. package/lib/components/fields/search-field/index.d.ts +1 -1
  207. package/lib/components/fields/search-field/search-field.component.d.ts +14 -14
  208. package/lib/components/fields/select-button-field/index.d.ts +1 -1
  209. package/lib/components/fields/select-button-field/select-button-field.component.d.ts +9 -9
  210. package/lib/components/fields/text-field/index.d.ts +1 -1
  211. package/lib/components/fields/text-field/text-field.component.d.ts +49 -48
  212. package/lib/components/fields/textarea-field/index.d.ts +1 -1
  213. package/lib/components/fields/textarea-field/textarea-field.component.d.ts +20 -20
  214. package/lib/components/generic-error-modal/generic-error-modal.component.d.ts +14 -14
  215. package/lib/components/generic-error-modal/generic-error-modal.module.d.ts +10 -10
  216. package/lib/components/generic-error-modal/index.d.ts +2 -2
  217. package/lib/components/generic-modal/generic-modal.component.d.ts +24 -24
  218. package/lib/components/generic-modal/generic-modal.module.d.ts +10 -10
  219. package/lib/components/generic-modal/index.d.ts +2 -2
  220. package/lib/components/index.d.ts +12 -12
  221. package/lib/components/menu/index.d.ts +3 -3
  222. package/lib/components/menu/menu.component.d.ts +54 -54
  223. package/lib/components/menu/menu.module.d.ts +10 -10
  224. package/lib/components/menu/sub-menus-list/sub-menus-list.component.d.ts +14 -14
  225. package/lib/components/panel/index.d.ts +2 -2
  226. package/lib/components/panel/panel.component.d.ts +8 -8
  227. package/lib/components/panel/panel.module.d.ts +9 -9
  228. package/lib/components/top-bar/index.d.ts +2 -2
  229. package/lib/components/top-bar/top-bar.component.d.ts +38 -38
  230. package/lib/components/top-bar/top-bar.module.d.ts +9 -9
  231. package/lib/guards/crud-list-has-items.guard.d.ts +10 -10
  232. package/lib/guards/get-token-by-guid.guard.d.ts +15 -15
  233. package/lib/guards/has-permission.guard.d.ts +13 -13
  234. package/lib/guards/index.d.ts +5 -5
  235. package/lib/guards/role.guard.d.ts +11 -11
  236. package/lib/guards/token-is-present.guard.d.ts +11 -11
  237. package/lib/interceptors/http-interceptor.d.ts +31 -31
  238. package/lib/interceptors/index.d.ts +1 -1
  239. package/lib/models/app-name.enum.d.ts +7 -7
  240. package/lib/models/boolean-type.enum.d.ts +4 -4
  241. package/lib/models/crud-history.model.d.ts +13 -13
  242. package/lib/models/crud-mode.enum.d.ts +5 -5
  243. package/lib/models/data-table.model.d.ts +62 -62
  244. package/lib/models/document-type.enum.d.ts +4 -4
  245. package/lib/models/filters.model.d.ts +4 -4
  246. package/lib/models/generic-modal.model.d.ts +13 -13
  247. package/lib/models/http-response.model.d.ts +40 -40
  248. package/lib/models/index.d.ts +15 -15
  249. package/lib/models/ip-info.enum.d.ts +6 -6
  250. package/lib/models/list-item.model.d.ts +6 -6
  251. package/lib/models/menu-item.model.d.ts +16 -16
  252. package/lib/models/message-status.enum.d.ts +6 -6
  253. package/lib/models/profile.model.d.ts +238 -238
  254. package/lib/models/role.enum.d.ts +3 -3
  255. package/lib/models/status.enum.d.ts +6 -6
  256. package/lib/models/view.enum.d.ts +5 -5
  257. package/lib/pipes/currency-brl.pipe.d.ts +7 -7
  258. package/lib/pipes/format-document.pipe.d.ts +7 -7
  259. package/lib/pipes/index.d.ts +7 -7
  260. package/lib/pipes/mask.pipe.d.ts +7 -7
  261. package/lib/pipes/not-hidden.pipe.d.ts +7 -7
  262. package/lib/pipes/only-active.pipe.d.ts +7 -7
  263. package/lib/pipes/pipes.module.d.ts +12 -12
  264. package/lib/pipes/remove-last-child.pipe.d.ts +7 -7
  265. package/lib/resolvers/get-selected-crud-item.resolver.d.ts +10 -10
  266. package/lib/resolvers/index.d.ts +1 -1
  267. package/lib/services/auth.service.d.ts +24 -24
  268. package/lib/services/base-dropdown.d.ts +7 -7
  269. package/lib/services/crud-base.service.d.ts +7 -7
  270. package/lib/services/enum.service.d.ts +13 -13
  271. package/lib/services/error-message.service.d.ts +8 -8
  272. package/lib/services/geolocation.service.d.ts +13 -13
  273. package/lib/services/index.d.ts +11 -11
  274. package/lib/services/loading.service.d.ts +7 -7
  275. package/lib/services/menu.service.d.ts +37 -37
  276. package/lib/services/modal.service.d.ts +7 -7
  277. package/lib/services/profile.service.d.ts +26 -26
  278. package/lib/services/storage.service.d.ts +43 -43
  279. package/lib/shared/shared.module.d.ts +9 -9
  280. package/lib/utils/cpf-cnpj-validator.util.d.ts +5 -5
  281. package/lib/utils/file.util.d.ts +4 -4
  282. package/lib/utils/index.d.ts +7 -7
  283. package/lib/utils/mask.util.d.ts +17 -17
  284. package/lib/utils/object.util.d.ts +5 -5
  285. package/lib/utils/string.util.d.ts +4 -4
  286. package/lib/utils/validation.util.d.ts +17 -17
  287. package/lib/utils/window.util.d.ts +4 -4
  288. package/ngx-vector-components.d.ts +5 -5
  289. package/package.json +1 -1
  290. package/public-api.d.ts +8 -8
@@ -1,2 +1,2 @@
1
- export * from './data-table.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9kYXRhLXRhYmxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RhdGEtdGFibGUuY29tcG9uZW50JztcbiJdfQ==
1
+ export * from './data-table.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9kYXRhLXRhYmxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RhdGEtdGFibGUuY29tcG9uZW50JztcclxuIl19
@@ -1,196 +1,196 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { Subscription } from 'rxjs';
3
- import { ObjectUtil } from '../../../utils';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "primeng/dropdown";
6
- import * as i2 from "primeng/autocomplete";
7
- import * as i3 from "../button/button.component";
8
- import * as i4 from "../field-error-message/field-error-message.component";
9
- import * as i5 from "@angular/common";
10
- import * as i6 from "@angular/forms";
11
- export class DropdownFieldComponent {
12
- constructor(renderer) {
13
- this.renderer = renderer;
14
- this.isRequired = false;
15
- this.label = '';
16
- this.paged = true;
17
- this.hiddenErrorMessage = false;
18
- this.minLengthToService = 0;
19
- this.initialLoad = true;
20
- this.onFocus = new EventEmitter();
21
- this.onChange = new EventEmitter();
22
- this.pagedSuggestions = [];
23
- this.unlistenAutocompleteVirtualScroll = () => { };
24
- this.selectedDynamicFilter = this.dynamicFilters ? this.dynamicFilters[0].code : undefined;
25
- this._options = [];
26
- this.currentScrollPage = -1;
27
- this.currentScrollIndex = 0;
28
- this.subscription = new Subscription();
29
- this.currentSearchQuery = '';
30
- }
31
- set options(_options) {
32
- this._options = _options;
33
- this.pagedSuggestions = this.options || [];
34
- }
35
- set control(_control) {
36
- this._control = _control;
37
- if (this.control) {
38
- this.subscription.add(this.control.valueChanges.subscribe(() => {
39
- this.setControlValueFromSuggestions();
40
- }));
41
- }
42
- }
43
- get control() {
44
- return this._control;
45
- }
46
- get options() {
47
- return this._options;
48
- }
49
- get placeholder() {
50
- if (!this.label) {
51
- return '';
52
- }
53
- return `${this.label}${this.isRequired ? '*' : ''}`;
54
- }
55
- ngOnInit() {
56
- if (this.initialLoad) {
57
- this.search(null, true);
58
- }
59
- }
60
- ngOnDestroy() {
61
- this.subscription.unsubscribe();
62
- if (this.unlistenAutocompleteVirtualScroll) {
63
- this.unlistenAutocompleteVirtualScroll();
64
- }
65
- }
66
- fieldErrorLabel() {
67
- if (this.control?.invalid && this.control.touched) {
68
- if (this.control.hasError('required')) {
69
- return 'Campo obrigatório';
70
- }
71
- return this.control?.errors && typeof this.control.errors['invalid'] === 'string'
72
- ? this.control?.errors['invalid']
73
- : 'Campo inválido';
74
- }
75
- return '';
76
- }
77
- search($event, forceSearch = false) {
78
- this.currentSearchQuery = $event?.query.toUpperCase() || '';
79
- this.currentScrollPage = -1;
80
- this.currentScrollIndex = 0;
81
- if (forceSearch || this.currentSearchQuery.length >= this.minLengthToService) {
82
- this.pageResults();
83
- }
84
- else {
85
- this.pagedSuggestions = [];
86
- }
87
- }
88
- onOpenAutocompletePanel() {
89
- const autocompletePanel = document.querySelector('.p-autocomplete-panel');
90
- if (autocompletePanel && this.paged && this.currentSearchQuery.length >= this.minLengthToService) {
91
- this.unlistenAutocompleteVirtualScroll = this.renderer.listen(autocompletePanel, 'scroll', (event) => {
92
- if (event.target.scrollHeight - event.target.clientHeight === Math.round(event.target.scrollTop)) {
93
- this.pageResults();
94
- }
95
- });
96
- }
97
- }
98
- onHideAutocompletePanel() {
99
- if (this.paged) {
100
- this.unlistenAutocompleteVirtualScroll();
101
- }
102
- }
103
- pageResults() {
104
- if (this.service) {
105
- this.currentScrollPage++;
106
- this.service
107
- .getPaged(encodeURIComponent(this.currentSearchQuery), this.currentScrollPage, 20, this.dependencies)
108
- .subscribe({
109
- next: (response) => {
110
- this.pagedSuggestions = this.currentScrollPage === 0 ? response : this.pagedSuggestions?.concat(response);
111
- this.setControlValueFromSuggestions();
112
- this.handleSearchErrors();
113
- },
114
- error: (err) => { },
115
- });
116
- }
117
- else {
118
- const filteredOptions = this.filterListByQuery(this.options, this.currentSearchQuery.toUpperCase());
119
- this.pagedSuggestions = filteredOptions.slice(0, this.currentScrollIndex + 20);
120
- if (this.options?.length && this.options.length > 20) {
121
- this.currentScrollIndex = this.currentScrollIndex + 20;
122
- }
123
- this.setControlValueFromSuggestions();
124
- this.handleSearchErrors();
125
- }
126
- }
127
- setControlValueFromSuggestions() {
128
- const code = (ObjectUtil.isValid(this.control.value?.code) && `${this.control.value?.code}`) || `${this.control.value}`;
129
- if (this.control.value && this.pagedSuggestions?.length) {
130
- let itemsArray = this.pagedSuggestions;
131
- if (this.options?.length) {
132
- itemsArray = this.options;
133
- }
134
- const itemFromSuggestions = itemsArray.find((opt) => `${opt.code}`.toUpperCase() === code.toUpperCase());
135
- if (itemFromSuggestions) {
136
- this.control.setValue(itemFromSuggestions, { emitEvent: false });
137
- }
138
- else {
139
- this.service?.getById(+code).subscribe((response) => {
140
- this.control.setValue(response, { emitEvent: false });
141
- });
142
- }
143
- }
144
- else if (this.control.value && !this.pagedSuggestions?.length) {
145
- this.service?.getById(+code).subscribe((response) => {
146
- this.control.setValue(response, { emitEvent: false });
147
- });
148
- }
149
- }
150
- handleSearchErrors() {
151
- if (this.pagedSuggestions?.length) {
152
- delete this.control.errors?.itemNotFound;
153
- }
154
- else if (this.currentSearchQuery) {
155
- this.control.setErrors({ itemNotFound: true });
156
- }
157
- }
158
- filterListByQuery(list = [], query) {
159
- return list.filter((opt) => String(opt.code).toUpperCase().includes(query) || opt.name.toUpperCase().includes(query));
160
- }
161
- }
162
- DropdownFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DropdownFieldComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
163
- DropdownFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: DropdownFieldComponent, selector: "vector-dropdown-field", inputs: { options: "options", isRequired: "isRequired", control: "control", label: "label", service: "service", paged: "paged", buttonAction: "buttonAction", dependencies: "dependencies", hiddenErrorMessage: "hiddenErrorMessage", dynamicFilters: "dynamicFilters", minLengthToService: "minLengthToService", initialLoad: "initialLoad" }, outputs: { onFocus: "onFocus", onChange: "onChange" }, ngImport: i0, template: "<div class=\"relative\">\n <div class=\"input-container\">\n <div class=\"input-inner-container\">\n <p-dropdown\n *ngIf=\"dynamicFilters\"\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n [(ngModel)]=\"selectedDynamicFilter\"\n [options]=\"dynamicFilters\"\n >\n </p-dropdown>\n <p-autoComplete\n appendTo=\"body\"\n field=\"name\"\n dataKey=\"code\"\n [forceSelection]=\"true\"\n [dropdown]=\"true\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [suggestions]=\"pagedSuggestions\"\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\n (completeMethod)=\"search($event)\"\n (onShow)=\"onOpenAutocompletePanel()\"\n (onHide)=\"onHideAutocompletePanel()\"\n (onFocus)=\"onFocus.emit($event)\"\n (onChange)=\"onChange.emit($event)\"\n >\n </p-autoComplete>\n </div>\n <vector-button\n *ngIf=\"buttonAction\"\n [label]=\"buttonAction.label\"\n [disabled]=\"!control.value\"\n (onClick)=\"buttonAction.onClick(control.value)\"\n ></vector-button>\n </div>\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\n</div>\n", styles: [".input-container{display:flex;align-items:flex-end;width:100%}@media (max-width: 575px){.input-container{align-items:flex-start;flex-direction:column}}.input-container p-autoComplete{flex:1}@media (max-width: 575px){.input-container p-autoComplete{width:100%}}.input-container vector-button{margin-left:15px}@media (max-width: 575px){.input-container vector-button{margin-left:0;margin-top:10px;width:100%}}.input-container p-dropdown{margin-right:-5px;width:150px}@media (max-width: 575px){.input-container p-dropdown{width:100px}}.input-container .input-inner-container{display:flex;width:100%}\n"], components: [{ type: i1.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }, { type: i2.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "virtualScroll", "itemSize", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "field", "scrollHeight", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "suggestions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide"] }, { type: i3.ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }, { type: i4.FieldErrorMessageComponent, selector: "vector-field-error-message", inputs: ["control"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DropdownFieldComponent, decorators: [{
165
- type: Component,
166
- args: [{ selector: 'vector-dropdown-field', template: "<div class=\"relative\">\n <div class=\"input-container\">\n <div class=\"input-inner-container\">\n <p-dropdown\n *ngIf=\"dynamicFilters\"\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n [(ngModel)]=\"selectedDynamicFilter\"\n [options]=\"dynamicFilters\"\n >\n </p-dropdown>\n <p-autoComplete\n appendTo=\"body\"\n field=\"name\"\n dataKey=\"code\"\n [forceSelection]=\"true\"\n [dropdown]=\"true\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [suggestions]=\"pagedSuggestions\"\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\n (completeMethod)=\"search($event)\"\n (onShow)=\"onOpenAutocompletePanel()\"\n (onHide)=\"onHideAutocompletePanel()\"\n (onFocus)=\"onFocus.emit($event)\"\n (onChange)=\"onChange.emit($event)\"\n >\n </p-autoComplete>\n </div>\n <vector-button\n *ngIf=\"buttonAction\"\n [label]=\"buttonAction.label\"\n [disabled]=\"!control.value\"\n (onClick)=\"buttonAction.onClick(control.value)\"\n ></vector-button>\n </div>\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\n</div>\n", styles: [".input-container{display:flex;align-items:flex-end;width:100%}@media (max-width: 575px){.input-container{align-items:flex-start;flex-direction:column}}.input-container p-autoComplete{flex:1}@media (max-width: 575px){.input-container p-autoComplete{width:100%}}.input-container vector-button{margin-left:15px}@media (max-width: 575px){.input-container vector-button{margin-left:0;margin-top:10px;width:100%}}.input-container p-dropdown{margin-right:-5px;width:150px}@media (max-width: 575px){.input-container p-dropdown{width:100px}}.input-container .input-inner-container{display:flex;width:100%}\n"] }]
167
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { options: [{
168
- type: Input
169
- }], isRequired: [{
170
- type: Input
171
- }], control: [{
172
- type: Input
173
- }], label: [{
174
- type: Input
175
- }], service: [{
176
- type: Input
177
- }], paged: [{
178
- type: Input
179
- }], buttonAction: [{
180
- type: Input
181
- }], dependencies: [{
182
- type: Input
183
- }], hiddenErrorMessage: [{
184
- type: Input
185
- }], dynamicFilters: [{
186
- type: Input
187
- }], minLengthToService: [{
188
- type: Input
189
- }], initialLoad: [{
190
- type: Input
191
- }], onFocus: [{
192
- type: Output
193
- }], onChange: [{
194
- type: Output
195
- }] } });
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvZHJvcGRvd24tZmllbGQvZHJvcGRvd24tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvZHJvcGRvd24tZmllbGQvZHJvcGRvd24tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBWTVDLE1BQU0sT0FBTyxzQkFBc0I7SUFvRWpDLFlBQW9CLFFBQW1CO1FBQW5CLGFBQVEsR0FBUixRQUFRLENBQVc7UUE3RGhDLGVBQVUsR0FBd0IsS0FBSyxDQUFDO1FBYXhDLFVBQUssR0FBVyxFQUFFLENBQUM7UUFJbkIsVUFBSyxHQUFHLElBQUksQ0FBQztRQU1iLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUlwQyx1QkFBa0IsR0FBVyxDQUFDLENBQUM7UUFFL0IsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFFbkIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFN0IsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFpQjlCLHFCQUFnQixHQUFlLEVBQUUsQ0FBQztRQUNsQyxzQ0FBaUMsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDN0MsMEJBQXFCLEdB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QyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBR0MsV0FBVztzQkFEakIsS0FBSztnQkFHQyxPQUFPO3NCQURiLE1BQU07Z0JBR0EsUUFBUTtzQkFEZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGlzdEl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQmFzZURyb3Bkb3duIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcblxuZXhwb3J0IHR5cGUgRHJvcGRvd25CdXR0b25BY3Rpb24gPSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIG9uQ2xpY2s6ICh2YWx1ZTogYW55KSA9PiB2b2lkO1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVjdG9yLWRyb3Bkb3duLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24tZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25GaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgc2V0IG9wdGlvbnMoX29wdGlvbnM6IExpc3RJdGVtW10pIHtcbiAgICB0aGlzLl9vcHRpb25zID0gX29wdGlvbnM7XG4gICAgdGhpcy5wYWdlZFN1Z2dlc3Rpb25zID0gdGhpcy5vcHRpb25zIHx8IFtdO1xuICB9XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc1JlcXVpcmVkOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHNldCBjb250cm9sKF9jb250cm9sOiBhbnkpIHtcbiAgICB0aGlzLl9jb250cm9sID0gX2NvbnRyb2w7XG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRDb250cm9sVmFsdWVGcm9tU3VnZ2VzdGlvbnMoKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXJ2aWNlOiBCYXNlRHJvcGRvd24gfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlZCA9IHRydWU7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBidXR0b25BY3Rpb246IERyb3Bkb3duQnV0dG9uQWN0aW9uIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGVwZW5kZW5jaWVzOiBhbnk7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoaWRkZW5FcnJvck1lc3NhZ2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgcHVibGljIGR5bmFtaWNGaWx0ZXJzPzogTGlzdEl0ZW1bXTtcbiAgQElucHV0KClcbiAgcHVibGljIG1pbkxlbmd0aFRvU2VydmljZTogbnVtYmVyID0gMDtcbiAgQElucHV0KClcbiAgcHVibGljIGluaXRpYWxMb2FkID0gdHJ1ZTtcbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KClcbiAgcHVibGljIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGdldCBjb250cm9sKCkge1xuICAgIHJldHVybiB0aGlzLl9jb250cm9sO1xuICB9XG5cbiAgZ2V0IG9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX29wdGlvbnM7XG4gIH1cblxuICBnZXQgcGxhY2Vob2xkZXIoKSB7XG4gICAgaWYgKCF0aGlzLmxhYmVsKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiBgJHt0aGlzLmxhYmVsfSR7dGhpcy5pc1JlcXVpcmVkID8gJyonIDogJyd9YDtcbiAgfVxuXG4gIHB1YmxpYyBwYWdlZFN1Z2dlc3Rpb25zOiBMaXN0SXRlbVtdID0gW107XG4gIHB1YmxpYyB1bmxpc3RlbkF1dG9jb21wbGV0ZVZpcnR1YWxTY3JvbGwgPSAoKSA9PiB7fTtcbiAgcHVibGljIHNlbGVjdGVkRHluYW1pY0ZpbHRlcjogYW55ID0gdGhpcy5keW5hbWljRmlsdGVycyA/IHRoaXMuZHluYW1pY0ZpbHRlcnNbMF0uY29kZSA6IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIF9jb250cm9sOiBhbnk7XG4gIHByaXZhdGUgX29wdGlvbnM6IGFueVtdID0gW107XG4gIHByaXZhdGUgY3VycmVudFNjcm9sbFBhZ2UgPSAtMTtcbiAgcHJpdmF0ZSBjdXJyZW50U2Nyb2xsSW5kZXggPSAwO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgcHJpdmF0ZSBjdXJyZW50U2VhcmNoUXVlcnkgPSAnJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW5pdGlhbExvYWQpIHtcbiAgICAgIHRoaXMuc2VhcmNoKG51bGwsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgaWYgKHRoaXMudW5saXN0ZW5BdXRvY29tcGxldGVWaXJ0dWFsU2Nyb2xsKSB7XG4gICAgICB0aGlzLnVubGlzdGVuQXV0b2NvbXBsZXRlVmlydHVhbFNjcm9sbCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaWVsZEVycm9yTGFiZWwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5jb250cm9sPy5pbnZhbGlkICYmIHRoaXMuY29udHJvbC50b3VjaGVkKSB7XG4gICAgICBpZiAodGhpcy5jb250cm9sLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XG4gICAgICAgIHJldHVybiAnQ2FtcG8gb2JyaWdhdMOzcmlvJztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMuY29udHJvbD8uZXJyb3JzICYmIHR5cGVvZiB0aGlzLmNvbnRyb2wuZXJyb3JzWydpbnZhbGlkJ10gPT09ICdzdHJpbmcnXG4gICAgICAgID8gdGhpcy5jb250cm9sPy5lcnJvcnNbJ2ludmFsaWQnXVxuICAgICAgICA6ICdDYW1wbyBpbnbDoWxpZG8nO1xuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2goJGV2ZW50PzogYW55LCBmb3JjZVNlYXJjaCA9IGZhbHNlKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50U2VhcmNoUXVlcnkgPSAkZXZlbnQ/LnF1ZXJ5LnRvVXBwZXJDYXNlKCkgfHwgJyc7XG4gICAgdGhpcy5jdXJyZW50U2Nyb2xsUGFnZSA9IC0xO1xuICAgIHRoaXMuY3VycmVudFNjcm9sbEluZGV4ID0gMDtcbiAgICBpZiAoZm9yY2VTZWFyY2ggfHwgdGhpcy5jdXJyZW50U2VhcmNoUXVlcnkubGVuZ3RoID49IHRoaXMubWluTGVuZ3RoVG9TZXJ2aWNlKSB7XG4gICAgICB0aGlzLnBhZ2VSZXN1bHRzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucGFnZWRTdWdnZXN0aW9ucyA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbk9wZW5BdXRvY29tcGxldGVQYW5lbCgpOiB2b2lkIHtcbiAgICBjb25zdCBhdXRvY29tcGxldGVQYW5lbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wLWF1dG9jb21wbGV0ZS1wYW5lbCcpO1xuICAgIGlmIChhdXRvY29tcGxldGVQYW5lbCAmJiB0aGlzLnBhZ2VkICYmIHRoaXMuY3VycmVudFNlYXJjaFF1ZXJ5Lmxlbmd0aCA+PSB0aGlzLm1pbkxlbmd0aFRvU2VydmljZSkge1xuICAgICAgdGhpcy51bmxpc3RlbkF1dG9jb21wbGV0ZVZpcnR1YWxTY3JvbGwgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbihhdXRvY29tcGxldGVQYW5lbCwgJ3Njcm9sbCcsIChldmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQudGFyZ2V0LnNjcm9sbEhlaWdodCAtIGV2ZW50LnRhcmdldC5jbGllbnRIZWlnaHQgPT09IE1hdGgucm91bmQoZXZlbnQudGFyZ2V0LnNjcm9sbFRvcCkpIHtcbiAgICAgICAgICB0aGlzLnBhZ2VSZXN1bHRzKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkhpZGVBdXRvY29tcGxldGVQYW5lbCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wYWdlZCkge1xuICAgICAgdGhpcy51bmxpc3RlbkF1dG9jb21wbGV0ZVZpcnR1YWxTY3JvbGwoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHBhZ2VSZXN1bHRzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlcnZpY2UpIHtcbiAgICAgIHRoaXMuY3VycmVudFNjcm9sbFBhZ2UrKztcbiAgICAgIHRoaXMuc2VydmljZVxuICAgICAgICAuZ2V0UGFnZWQoZW5jb2RlVVJJQ29tcG9uZW50KHRoaXMuY3VycmVudFNlYXJjaFF1ZXJ5KSwgdGhpcy5jdXJyZW50U2Nyb2xsUGFnZSwgMjAsIHRoaXMuZGVwZW5kZW5jaWVzKVxuICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHRoaXMucGFnZWRTdWdnZXN0aW9ucyA9IHRoaXMuY3VycmVudFNjcm9sbFBhZ2UgPT09IDAgPyByZXNwb25zZSA6IHRoaXMucGFnZWRTdWdnZXN0aW9ucz8uY29uY2F0KHJlc3BvbnNlKTtcbiAgICAgICAgICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlRnJvbVN1Z2dlc3Rpb25zKCk7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVNlYXJjaEVycm9ycygpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZXJyb3I6IChlcnIpID0+IHt9LFxuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZmlsdGVyZWRPcHRpb25zID0gdGhpcy5maWx0ZXJMaXN0QnlRdWVyeSh0aGlzLm9wdGlvbnMsIHRoaXMuY3VycmVudFNlYXJjaFF1ZXJ5LnRvVXBwZXJDYXNlKCkpO1xuICAgICAgdGhpcy5wYWdlZFN1Z2dlc3Rpb25zID0gZmlsdGVyZWRPcHRpb25zLnNsaWNlKDAsIHRoaXMuY3VycmVudFNjcm9sbEluZGV4ICsgMjApO1xuXG4gICAgICBpZiAodGhpcy5vcHRpb25zPy5sZW5ndGggJiYgdGhpcy5vcHRpb25zLmxlbmd0aCA+IDIwKSB7XG4gICAgICAgIHRoaXMuY3VycmVudFNjcm9sbEluZGV4ID0gdGhpcy5jdXJyZW50U2Nyb2xsSW5kZXggKyAyMDtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zZXRDb250cm9sVmFsdWVGcm9tU3VnZ2VzdGlvbnMoKTtcbiAgICAgIHRoaXMuaGFuZGxlU2VhcmNoRXJyb3JzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRDb250cm9sVmFsdWVGcm9tU3VnZ2VzdGlvbnMoKSB7XG4gICAgY29uc3QgY29kZSA9XG4gICAgICAoT2JqZWN0VXRpbC5pc1ZhbGlkKHRoaXMuY29udHJvbC52YWx1ZT8uY29kZSkgJiYgYCR7dGhpcy5jb250cm9sLnZhbHVlPy5jb2RlfWApIHx8IGAke3RoaXMuY29udHJvbC52YWx1ZX1gO1xuICAgIGlmICh0aGlzLmNvbnRyb2wudmFsdWUgJiYgdGhpcy5wYWdlZFN1Z2dlc3Rpb25zPy5sZW5ndGgpIHtcbiAgICAgIGxldCBpdGVtc0FycmF5ID0gdGhpcy5wYWdlZFN1Z2dlc3Rpb25zO1xuICAgICAgaWYgKHRoaXMub3B0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICAgIGl0ZW1zQXJyYXkgPSB0aGlzLm9wdGlvbnM7XG4gICAgICB9XG4gICAgICBjb25zdCBpdGVtRnJvbVN1Z2dlc3Rpb25zID0gaXRlbXNBcnJheS5maW5kKChvcHQpID0+IGAke29wdC5jb2RlfWAudG9VcHBlckNhc2UoKSA9PT0gY29kZS50b1VwcGVyQ2FzZSgpKTtcbiAgICAgIGlmIChpdGVtRnJvbVN1Z2dlc3Rpb25zKSB7XG4gICAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShpdGVtRnJvbVN1Z2dlc3Rpb25zLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlcnZpY2U/LmdldEJ5SWQoK2NvZGUpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUocmVzcG9uc2UsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbnRyb2wudmFsdWUgJiYgIXRoaXMucGFnZWRTdWdnZXN0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNlcnZpY2U/LmdldEJ5SWQoK2NvZGUpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHJlc3BvbnNlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVNlYXJjaEVycm9ycygpIHtcbiAgICBpZiAodGhpcy5wYWdlZFN1Z2dlc3Rpb25zPy5sZW5ndGgpIHtcbiAgICAgIGRlbGV0ZSB0aGlzLmNvbnRyb2wuZXJyb3JzPy5pdGVtTm90Rm91bmQ7XG4gICAgfSBlbHNlIGlmICh0aGlzLmN1cnJlbnRTZWFyY2hRdWVyeSkge1xuICAgICAgdGhpcy5jb250cm9sLnNldEVycm9ycyh7IGl0ZW1Ob3RGb3VuZDogdHJ1ZSB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbHRlckxpc3RCeVF1ZXJ5KGxpc3Q6IExpc3RJdGVtW10gPSBbXSwgcXVlcnk6IHN0cmluZyk6IExpc3RJdGVtW10ge1xuICAgIHJldHVybiBsaXN0LmZpbHRlcihcbiAgICAgIChvcHQpID0+IFN0cmluZyhvcHQuY29kZSkudG9VcHBlckNhc2UoKS5pbmNsdWRlcyhxdWVyeSkgfHwgb3B0Lm5hbWUudG9VcHBlckNhc2UoKS5pbmNsdWRlcyhxdWVyeSlcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicmVsYXRpdmVcIj5cbiAgPGRpdiBjbGFzcz1cImlucHV0LWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1pbm5lci1jb250YWluZXJcIj5cbiAgICAgIDxwLWRyb3Bkb3duXG4gICAgICAgICpuZ0lmPVwiZHluYW1pY0ZpbHRlcnNcIlxuICAgICAgICBhcHBlbmRUbz1cImJvZHlcIlxuICAgICAgICBvcHRpb25MYWJlbD1cIm5hbWVcIlxuICAgICAgICBvcHRpb25WYWx1ZT1cImNvZGVcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRHluYW1pY0ZpbHRlclwiXG4gICAgICAgIFtvcHRpb25zXT1cImR5bmFtaWNGaWx0ZXJzXCJcbiAgICAgID5cbiAgICAgIDwvcC1kcm9wZG93bj5cbiAgICAgIDxwLWF1dG9Db21wbGV0ZVxuICAgICAgICBhcHBlbmRUbz1cImJvZHlcIlxuICAgICAgICBmaWVsZD1cIm5hbWVcIlxuICAgICAgICBkYXRhS2V5PVwiY29kZVwiXG4gICAgICAgIFtmb3JjZVNlbGVjdGlvbl09XCJ0cnVlXCJcbiAgICAgICAgW2Ryb3Bkb3duXT1cInRydWVcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgIFtzdWdnZXN0aW9uc109XCJwYWdlZFN1Z2dlc3Rpb25zXCJcbiAgICAgICAgW2Ryb3Bkb3duSWNvbl09XCJkeW5hbWljRmlsdGVycyA/ICdwaSBwaS1zZWFyY2gnIDogJ3BpIHBpLWNoZXZyb24tZG93bidcIlxuICAgICAgICAoY29tcGxldGVNZXRob2QpPVwic2VhcmNoKCRldmVudClcIlxuICAgICAgICAob25TaG93KT1cIm9uT3BlbkF1dG9jb21wbGV0ZVBhbmVsKClcIlxuICAgICAgICAob25IaWRlKT1cIm9uSGlkZUF1dG9jb21wbGV0ZVBhbmVsKClcIlxuICAgICAgICAob25Gb2N1cyk9XCJvbkZvY3VzLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIChvbkNoYW5nZSk9XCJvbkNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgPlxuICAgICAgPC9wLWF1dG9Db21wbGV0ZT5cbiAgICA8L2Rpdj5cbiAgICA8dmVjdG9yLWJ1dHRvblxuICAgICAgKm5nSWY9XCJidXR0b25BY3Rpb25cIlxuICAgICAgW2xhYmVsXT1cImJ1dHRvbkFjdGlvbi5sYWJlbFwiXG4gICAgICBbZGlzYWJsZWRdPVwiIWNvbnRyb2wudmFsdWVcIlxuICAgICAgKG9uQ2xpY2spPVwiYnV0dG9uQWN0aW9uLm9uQ2xpY2soY29udHJvbC52YWx1ZSlcIlxuICAgID48L3ZlY3Rvci1idXR0b24+XG4gIDwvZGl2PlxuICA8dmVjdG9yLWZpZWxkLWVycm9yLW1lc3NhZ2UgKm5nSWY9XCIhaGlkZGVuRXJyb3JNZXNzYWdlXCIgW2NvbnRyb2xdPVwiY29udHJvbFwiPjwvdmVjdG9yLWZpZWxkLWVycm9yLW1lc3NhZ2U+XG48L2Rpdj5cbiJdfQ==
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { Subscription } from 'rxjs';
3
+ import { ObjectUtil } from '../../../utils';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "primeng/dropdown";
6
+ import * as i2 from "primeng/autocomplete";
7
+ import * as i3 from "../button/button.component";
8
+ import * as i4 from "../field-error-message/field-error-message.component";
9
+ import * as i5 from "@angular/common";
10
+ import * as i6 from "@angular/forms";
11
+ export class DropdownFieldComponent {
12
+ constructor(renderer) {
13
+ this.renderer = renderer;
14
+ this.isRequired = false;
15
+ this.label = '';
16
+ this.paged = true;
17
+ this.hiddenErrorMessage = false;
18
+ this.minLengthToService = 0;
19
+ this.initialLoad = true;
20
+ this.onFocus = new EventEmitter();
21
+ this.onChange = new EventEmitter();
22
+ this.pagedSuggestions = [];
23
+ this.unlistenAutocompleteVirtualScroll = () => { };
24
+ this.selectedDynamicFilter = this.dynamicFilters ? this.dynamicFilters[0].code : undefined;
25
+ this._options = [];
26
+ this.currentScrollPage = -1;
27
+ this.currentScrollIndex = 0;
28
+ this.subscription = new Subscription();
29
+ this.currentSearchQuery = '';
30
+ }
31
+ set options(_options) {
32
+ this._options = _options;
33
+ this.pagedSuggestions = this.options || [];
34
+ }
35
+ set control(_control) {
36
+ this._control = _control;
37
+ if (this.control) {
38
+ this.subscription.add(this.control.valueChanges.subscribe(() => {
39
+ this.setControlValueFromSuggestions();
40
+ }));
41
+ }
42
+ }
43
+ get control() {
44
+ return this._control;
45
+ }
46
+ get options() {
47
+ return this._options;
48
+ }
49
+ get placeholder() {
50
+ if (!this.label) {
51
+ return '';
52
+ }
53
+ return `${this.label}${this.isRequired ? '*' : ''}`;
54
+ }
55
+ ngOnInit() {
56
+ if (this.initialLoad) {
57
+ this.search(null, true);
58
+ }
59
+ }
60
+ ngOnDestroy() {
61
+ this.subscription.unsubscribe();
62
+ if (this.unlistenAutocompleteVirtualScroll) {
63
+ this.unlistenAutocompleteVirtualScroll();
64
+ }
65
+ }
66
+ fieldErrorLabel() {
67
+ if (this.control?.invalid && this.control.touched) {
68
+ if (this.control.hasError('required')) {
69
+ return 'Campo obrigatório';
70
+ }
71
+ return this.control?.errors && typeof this.control.errors['invalid'] === 'string'
72
+ ? this.control?.errors['invalid']
73
+ : 'Campo inválido';
74
+ }
75
+ return '';
76
+ }
77
+ search($event, forceSearch = false) {
78
+ this.currentSearchQuery = $event?.query.toUpperCase() || '';
79
+ this.currentScrollPage = -1;
80
+ this.currentScrollIndex = 0;
81
+ if (forceSearch || this.currentSearchQuery.length >= this.minLengthToService) {
82
+ this.pageResults();
83
+ }
84
+ else {
85
+ this.pagedSuggestions = [];
86
+ }
87
+ }
88
+ onOpenAutocompletePanel() {
89
+ const autocompletePanel = document.querySelector('.p-autocomplete-panel');
90
+ if (autocompletePanel && this.paged && this.currentSearchQuery.length >= this.minLengthToService) {
91
+ this.unlistenAutocompleteVirtualScroll = this.renderer.listen(autocompletePanel, 'scroll', (event) => {
92
+ if (event.target.scrollHeight - event.target.clientHeight === Math.round(event.target.scrollTop)) {
93
+ this.pageResults();
94
+ }
95
+ });
96
+ }
97
+ }
98
+ onHideAutocompletePanel() {
99
+ if (this.paged) {
100
+ this.unlistenAutocompleteVirtualScroll();
101
+ }
102
+ }
103
+ pageResults() {
104
+ if (this.service) {
105
+ this.currentScrollPage++;
106
+ this.service
107
+ .getPaged(encodeURIComponent(this.currentSearchQuery), this.currentScrollPage, 20, this.dependencies)
108
+ .subscribe({
109
+ next: (response) => {
110
+ this.pagedSuggestions = this.currentScrollPage === 0 ? response : this.pagedSuggestions?.concat(response);
111
+ this.setControlValueFromSuggestions();
112
+ this.handleSearchErrors();
113
+ },
114
+ error: (err) => { },
115
+ });
116
+ }
117
+ else {
118
+ const filteredOptions = this.filterListByQuery(this.options, this.currentSearchQuery.toUpperCase());
119
+ this.pagedSuggestions = filteredOptions.slice(0, this.currentScrollIndex + 20);
120
+ if (this.options?.length && this.options.length > 20) {
121
+ this.currentScrollIndex = this.currentScrollIndex + 20;
122
+ }
123
+ this.setControlValueFromSuggestions();
124
+ this.handleSearchErrors();
125
+ }
126
+ }
127
+ setControlValueFromSuggestions() {
128
+ const code = (ObjectUtil.isValid(this.control.value?.code) && `${this.control.value?.code}`) || `${this.control.value}`;
129
+ if (this.control.value && this.pagedSuggestions?.length) {
130
+ let itemsArray = this.pagedSuggestions;
131
+ if (this.options?.length) {
132
+ itemsArray = this.options;
133
+ }
134
+ const itemFromSuggestions = itemsArray.find((opt) => `${opt.code}`.toUpperCase() === code.toUpperCase());
135
+ if (itemFromSuggestions) {
136
+ this.control.setValue(itemFromSuggestions, { emitEvent: false });
137
+ }
138
+ else {
139
+ this.service?.getById(+code).subscribe((response) => {
140
+ this.control.setValue(response, { emitEvent: false });
141
+ });
142
+ }
143
+ }
144
+ else if (this.control.value && !this.pagedSuggestions?.length) {
145
+ this.service?.getById(+code).subscribe((response) => {
146
+ this.control.setValue(response, { emitEvent: false });
147
+ });
148
+ }
149
+ }
150
+ handleSearchErrors() {
151
+ if (this.pagedSuggestions?.length) {
152
+ delete this.control.errors?.itemNotFound;
153
+ }
154
+ else if (this.currentSearchQuery) {
155
+ this.control.setErrors({ itemNotFound: true });
156
+ }
157
+ }
158
+ filterListByQuery(list = [], query) {
159
+ return list.filter((opt) => String(opt.code).toUpperCase().includes(query) || opt.name.toUpperCase().includes(query));
160
+ }
161
+ }
162
+ DropdownFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DropdownFieldComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
163
+ DropdownFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: DropdownFieldComponent, selector: "vector-dropdown-field", inputs: { options: "options", isRequired: "isRequired", control: "control", label: "label", service: "service", paged: "paged", buttonAction: "buttonAction", dependencies: "dependencies", hiddenErrorMessage: "hiddenErrorMessage", dynamicFilters: "dynamicFilters", minLengthToService: "minLengthToService", initialLoad: "initialLoad" }, outputs: { onFocus: "onFocus", onChange: "onChange" }, ngImport: i0, template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <div class=\"input-inner-container\">\r\n <p-dropdown\r\n *ngIf=\"dynamicFilters\"\r\n appendTo=\"body\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n [(ngModel)]=\"selectedDynamicFilter\"\r\n [options]=\"dynamicFilters\"\r\n >\r\n </p-dropdown>\r\n <p-autoComplete\r\n appendTo=\"body\"\r\n field=\"name\"\r\n dataKey=\"code\"\r\n [forceSelection]=\"true\"\r\n [dropdown]=\"true\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"pagedSuggestions\"\r\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\r\n (completeMethod)=\"search($event)\"\r\n (onShow)=\"onOpenAutocompletePanel()\"\r\n (onHide)=\"onHideAutocompletePanel()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onChange)=\"onChange.emit($event)\"\r\n >\r\n </p-autoComplete>\r\n </div>\r\n <vector-button\r\n *ngIf=\"buttonAction\"\r\n [label]=\"buttonAction.label\"\r\n [disabled]=\"!control.value\"\r\n (onClick)=\"buttonAction.onClick(control.value)\"\r\n ></vector-button>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n", styles: [".input-container{display:flex;align-items:flex-end;width:100%}@media (max-width: 575px){.input-container{align-items:flex-start;flex-direction:column}}.input-container p-autoComplete{flex:1}@media (max-width: 575px){.input-container p-autoComplete{width:100%}}.input-container vector-button{margin-left:15px}@media (max-width: 575px){.input-container vector-button{margin-left:0;margin-top:10px;width:100%}}.input-container p-dropdown{margin-right:-5px;width:150px}@media (max-width: 575px){.input-container p-dropdown{width:100px}}.input-container .input-inner-container{display:flex;width:100%}\n"], components: [{ type: i1.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }, { type: i2.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "virtualScroll", "itemSize", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "field", "scrollHeight", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "suggestions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide"] }, { type: i3.ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }, { type: i4.FieldErrorMessageComponent, selector: "vector-field-error-message", inputs: ["control"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DropdownFieldComponent, decorators: [{
165
+ type: Component,
166
+ args: [{ selector: 'vector-dropdown-field', template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <div class=\"input-inner-container\">\r\n <p-dropdown\r\n *ngIf=\"dynamicFilters\"\r\n appendTo=\"body\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n [(ngModel)]=\"selectedDynamicFilter\"\r\n [options]=\"dynamicFilters\"\r\n >\r\n </p-dropdown>\r\n <p-autoComplete\r\n appendTo=\"body\"\r\n field=\"name\"\r\n dataKey=\"code\"\r\n [forceSelection]=\"true\"\r\n [dropdown]=\"true\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"pagedSuggestions\"\r\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\r\n (completeMethod)=\"search($event)\"\r\n (onShow)=\"onOpenAutocompletePanel()\"\r\n (onHide)=\"onHideAutocompletePanel()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onChange)=\"onChange.emit($event)\"\r\n >\r\n </p-autoComplete>\r\n </div>\r\n <vector-button\r\n *ngIf=\"buttonAction\"\r\n [label]=\"buttonAction.label\"\r\n [disabled]=\"!control.value\"\r\n (onClick)=\"buttonAction.onClick(control.value)\"\r\n ></vector-button>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n", styles: [".input-container{display:flex;align-items:flex-end;width:100%}@media (max-width: 575px){.input-container{align-items:flex-start;flex-direction:column}}.input-container p-autoComplete{flex:1}@media (max-width: 575px){.input-container p-autoComplete{width:100%}}.input-container vector-button{margin-left:15px}@media (max-width: 575px){.input-container vector-button{margin-left:0;margin-top:10px;width:100%}}.input-container p-dropdown{margin-right:-5px;width:150px}@media (max-width: 575px){.input-container p-dropdown{width:100px}}.input-container .input-inner-container{display:flex;width:100%}\n"] }]
167
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { options: [{
168
+ type: Input
169
+ }], isRequired: [{
170
+ type: Input
171
+ }], control: [{
172
+ type: Input
173
+ }], label: [{
174
+ type: Input
175
+ }], service: [{
176
+ type: Input
177
+ }], paged: [{
178
+ type: Input
179
+ }], buttonAction: [{
180
+ type: Input
181
+ }], dependencies: [{
182
+ type: Input
183
+ }], hiddenErrorMessage: [{
184
+ type: Input
185
+ }], dynamicFilters: [{
186
+ type: Input
187
+ }], minLengthToService: [{
188
+ type: Input
189
+ }], initialLoad: [{
190
+ type: Input
191
+ }], onFocus: [{
192
+ type: Output
193
+ }], onChange: [{
194
+ type: Output
195
+ }] } });
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvZHJvcGRvd24tZmllbGQvZHJvcGRvd24tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvZHJvcGRvd24tZmllbGQvZHJvcGRvd24tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBWTVDLE1BQU0sT0FBTyxzQkFBc0I7SUFvRWpDLFlBQW9CLFFBQW1CO1FBQW5CLGFBQVEsR0FBUixRQUFRLENBQVc7UUE3RGhDLGVBQVUsR0FBd0IsS0FBSyxDQUFDO1FBYXhDLFVBQUssR0FBVyxFQUFFLENBQUM7UUFJbkIsVUFBSyxHQUFHLElBQUksQ0FBQztRQU1iLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUlwQyx1QkFBa0IsR0FBVyxDQUFDLENBQUM7UUFFL0IsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFFbkIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFN0IsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFpQjlCLHFCQUFnQixHQUFlLEVBQUUsQ0FBQztRQUNsQyxzQ0FBaUMsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDN0MsMEJBQXFCLEdB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QyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBR0MsV0FBVztzQkFEakIsS0FBSztnQkFHQyxPQUFPO3NCQURiLE1BQU07Z0JBR0EsUUFBUTtzQkFEZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExpc3RJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgQmFzZURyb3Bkb3duIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBPYmplY3RVdGlsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xyXG5cclxuZXhwb3J0IHR5cGUgRHJvcGRvd25CdXR0b25BY3Rpb24gPSB7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBvbkNsaWNrOiAodmFsdWU6IGFueSkgPT4gdm9pZDtcclxufTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndmVjdG9yLWRyb3Bkb3duLWZpZWxkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24tZmllbGQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IG9wdGlvbnMoX29wdGlvbnM6IExpc3RJdGVtW10pIHtcclxuICAgIHRoaXMuX29wdGlvbnMgPSBfb3B0aW9ucztcclxuICAgIHRoaXMucGFnZWRTdWdnZXN0aW9ucyA9IHRoaXMub3B0aW9ucyB8fCBbXTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNSZXF1aXJlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGNvbnRyb2woX2NvbnRyb2w6IGFueSkge1xyXG4gICAgdGhpcy5fY29udHJvbCA9IF9jb250cm9sO1xyXG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXHJcbiAgICAgICAgdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZXRDb250cm9sVmFsdWVGcm9tU3VnZ2VzdGlvbnMoKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2VydmljZTogQmFzZURyb3Bkb3duIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBhZ2VkID0gdHJ1ZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBidXR0b25BY3Rpb246IERyb3Bkb3duQnV0dG9uQWN0aW9uIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRlcGVuZGVuY2llczogYW55O1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGhpZGRlbkVycm9yTWVzc2FnZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGR5bmFtaWNGaWx0ZXJzPzogTGlzdEl0ZW1bXTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtaW5MZW5ndGhUb1NlcnZpY2U6IG51bWJlciA9IDA7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaW5pdGlhbExvYWQgPSB0cnVlO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvbkZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgZ2V0IGNvbnRyb2woKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29udHJvbDtcclxuICB9XHJcblxyXG4gIGdldCBvcHRpb25zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX29wdGlvbnM7XHJcbiAgfVxyXG5cclxuICBnZXQgcGxhY2Vob2xkZXIoKSB7XHJcbiAgICBpZiAoIXRoaXMubGFiZWwpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoaXMubGFiZWx9JHt0aGlzLmlzUmVxdWlyZWQgPyAnKicgOiAnJ31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHBhZ2VkU3VnZ2VzdGlvbnM6IExpc3RJdGVtW10gPSBbXTtcclxuICBwdWJsaWMgdW5saXN0ZW5BdXRvY29tcGxldGVWaXJ0dWFsU2Nyb2xsID0gKCkgPT4ge307XHJcbiAgcHVibGljIHNlbGVjdGVkRHluYW1pY0ZpbHRlcjogYW55ID0gdGhpcy5keW5hbWljRmlsdGVycyA/IHRoaXMuZHluYW1pY0ZpbHRlcnNbMF0uY29kZSA6IHVuZGVmaW5lZDtcclxuXHJcbiAgcHJpdmF0ZSBfY29udHJvbDogYW55O1xyXG4gIHByaXZhdGUgX29wdGlvbnM6IGFueVtdID0gW107XHJcbiAgcHJpdmF0ZSBjdXJyZW50U2Nyb2xsUGFnZSA9IC0xO1xyXG4gIHByaXZhdGUgY3VycmVudFNjcm9sbEluZGV4ID0gMDtcclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuICBwcml2YXRlIGN1cnJlbnRTZWFyY2hRdWVyeSA9ICcnO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaW5pdGlhbExvYWQpIHtcclxuICAgICAgdGhpcy5zZWFyY2gobnVsbCwgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICBpZiAodGhpcy51bmxpc3RlbkF1dG9jb21wbGV0ZVZpcnR1YWxTY3JvbGwpIHtcclxuICAgICAgdGhpcy51bmxpc3RlbkF1dG9jb21wbGV0ZVZpcnR1YWxTY3JvbGwoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBmaWVsZEVycm9yTGFiZWwoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLmNvbnRyb2w/LmludmFsaWQgJiYgdGhpcy5jb250cm9sLnRvdWNoZWQpIHtcclxuICAgICAgaWYgKHRoaXMuY29udHJvbC5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xyXG4gICAgICAgIHJldHVybiAnQ2FtcG8gb2JyaWdhdMOzcmlvJztcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHRoaXMuY29udHJvbD8uZXJyb3JzICYmIHR5cGVvZiB0aGlzLmNvbnRyb2wuZXJyb3JzWydpbnZhbGlkJ10gPT09ICdzdHJpbmcnXHJcbiAgICAgICAgPyB0aGlzLmNvbnRyb2w/LmVycm9yc1snaW52YWxpZCddXHJcbiAgICAgICAgOiAnQ2FtcG8gaW52w6FsaWRvJztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VhcmNoKCRldmVudD86IGFueSwgZm9yY2VTZWFyY2ggPSBmYWxzZSk6IHZvaWQge1xyXG4gICAgdGhpcy5jdXJyZW50U2VhcmNoUXVlcnkgPSAkZXZlbnQ/LnF1ZXJ5LnRvVXBwZXJDYXNlKCkgfHwgJyc7XHJcbiAgICB0aGlzLmN1cnJlbnRTY3JvbGxQYWdlID0gLTE7XHJcbiAgICB0aGlzLmN1cnJlbnRTY3JvbGxJbmRleCA9IDA7XHJcbiAgICBpZiAoZm9yY2VTZWFyY2ggfHwgdGhpcy5jdXJyZW50U2VhcmNoUXVlcnkubGVuZ3RoID49IHRoaXMubWluTGVuZ3RoVG9TZXJ2aWNlKSB7XHJcbiAgICAgIHRoaXMucGFnZVJlc3VsdHMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucGFnZWRTdWdnZXN0aW9ucyA9IFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uT3BlbkF1dG9jb21wbGV0ZVBhbmVsKCk6IHZvaWQge1xyXG4gICAgY29uc3QgYXV0b2NvbXBsZXRlUGFuZWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucC1hdXRvY29tcGxldGUtcGFuZWwnKTtcclxuICAgIGlmIChhdXRvY29tcGxldGVQYW5lbCAmJiB0aGlzLnBhZ2VkICYmIHRoaXMuY3VycmVudFNlYXJjaFF1ZXJ5Lmxlbmd0aCA+PSB0aGlzLm1pbkxlbmd0aFRvU2VydmljZSkge1xyXG4gICAgICB0aGlzLnVubGlzdGVuQXV0b2NvbXBsZXRlVmlydHVhbFNjcm9sbCA9IHRoaXMucmVuZGVyZXIubGlzdGVuKGF1dG9jb21wbGV0ZVBhbmVsLCAnc2Nyb2xsJywgKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldC5zY3JvbGxIZWlnaHQgLSBldmVudC50YXJnZXQuY2xpZW50SGVpZ2h0ID09PSBNYXRoLnJvdW5kKGV2ZW50LnRhcmdldC5zY3JvbGxUb3ApKSB7XHJcbiAgICAgICAgICB0aGlzLnBhZ2VSZXN1bHRzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkhpZGVBdXRvY29tcGxldGVQYW5lbCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBhZ2VkKSB7XHJcbiAgICAgIHRoaXMudW5saXN0ZW5BdXRvY29tcGxldGVWaXJ0dWFsU2Nyb2xsKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBhZ2VSZXN1bHRzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VydmljZSkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRTY3JvbGxQYWdlKys7XHJcbiAgICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAgIC5nZXRQYWdlZChlbmNvZGVVUklDb21wb25lbnQodGhpcy5jdXJyZW50U2VhcmNoUXVlcnkpLCB0aGlzLmN1cnJlbnRTY3JvbGxQYWdlLCAyMCwgdGhpcy5kZXBlbmRlbmNpZXMpXHJcbiAgICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5wYWdlZFN1Z2dlc3Rpb25zID0gdGhpcy5jdXJyZW50U2Nyb2xsUGFnZSA9PT0gMCA/IHJlc3BvbnNlIDogdGhpcy5wYWdlZFN1Z2dlc3Rpb25zPy5jb25jYXQocmVzcG9uc2UpO1xyXG4gICAgICAgICAgICB0aGlzLnNldENvbnRyb2xWYWx1ZUZyb21TdWdnZXN0aW9ucygpO1xyXG4gICAgICAgICAgICB0aGlzLmhhbmRsZVNlYXJjaEVycm9ycygpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVycm9yOiAoZXJyKSA9PiB7fSxcclxuICAgICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGZpbHRlcmVkT3B0aW9ucyA9IHRoaXMuZmlsdGVyTGlzdEJ5UXVlcnkodGhpcy5vcHRpb25zLCB0aGlzLmN1cnJlbnRTZWFyY2hRdWVyeS50b1VwcGVyQ2FzZSgpKTtcclxuICAgICAgdGhpcy5wYWdlZFN1Z2dlc3Rpb25zID0gZmlsdGVyZWRPcHRpb25zLnNsaWNlKDAsIHRoaXMuY3VycmVudFNjcm9sbEluZGV4ICsgMjApO1xyXG5cclxuICAgICAgaWYgKHRoaXMub3B0aW9ucz8ubGVuZ3RoICYmIHRoaXMub3B0aW9ucy5sZW5ndGggPiAyMCkge1xyXG4gICAgICAgIHRoaXMuY3VycmVudFNjcm9sbEluZGV4ID0gdGhpcy5jdXJyZW50U2Nyb2xsSW5kZXggKyAyMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5zZXRDb250cm9sVmFsdWVGcm9tU3VnZ2VzdGlvbnMoKTtcclxuICAgICAgdGhpcy5oYW5kbGVTZWFyY2hFcnJvcnMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q29udHJvbFZhbHVlRnJvbVN1Z2dlc3Rpb25zKCkge1xyXG4gICAgY29uc3QgY29kZSA9XHJcbiAgICAgIChPYmplY3RVdGlsLmlzVmFsaWQodGhpcy5jb250cm9sLnZhbHVlPy5jb2RlKSAmJiBgJHt0aGlzLmNvbnRyb2wudmFsdWU/LmNvZGV9YCkgfHwgYCR7dGhpcy5jb250cm9sLnZhbHVlfWA7XHJcbiAgICBpZiAodGhpcy5jb250cm9sLnZhbHVlICYmIHRoaXMucGFnZWRTdWdnZXN0aW9ucz8ubGVuZ3RoKSB7XHJcbiAgICAgIGxldCBpdGVtc0FycmF5ID0gdGhpcy5wYWdlZFN1Z2dlc3Rpb25zO1xyXG4gICAgICBpZiAodGhpcy5vcHRpb25zPy5sZW5ndGgpIHtcclxuICAgICAgICBpdGVtc0FycmF5ID0gdGhpcy5vcHRpb25zO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGl0ZW1Gcm9tU3VnZ2VzdGlvbnMgPSBpdGVtc0FycmF5LmZpbmQoKG9wdCkgPT4gYCR7b3B0LmNvZGV9YC50b1VwcGVyQ2FzZSgpID09PSBjb2RlLnRvVXBwZXJDYXNlKCkpO1xyXG4gICAgICBpZiAoaXRlbUZyb21TdWdnZXN0aW9ucykge1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShpdGVtRnJvbVN1Z2dlc3Rpb25zLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlPy5nZXRCeUlkKCtjb2RlKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUocmVzcG9uc2UsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbnRyb2wudmFsdWUgJiYgIXRoaXMucGFnZWRTdWdnZXN0aW9ucz8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuc2VydmljZT8uZ2V0QnlJZCgrY29kZSkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShyZXNwb25zZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlU2VhcmNoRXJyb3JzKCkge1xyXG4gICAgaWYgKHRoaXMucGFnZWRTdWdnZXN0aW9ucz8ubGVuZ3RoKSB7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLmNvbnRyb2wuZXJyb3JzPy5pdGVtTm90Rm91bmQ7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuY3VycmVudFNlYXJjaFF1ZXJ5KSB7XHJcbiAgICAgIHRoaXMuY29udHJvbC5zZXRFcnJvcnMoeyBpdGVtTm90Rm91bmQ6IHRydWUgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbHRlckxpc3RCeVF1ZXJ5KGxpc3Q6IExpc3RJdGVtW10gPSBbXSwgcXVlcnk6IHN0cmluZyk6IExpc3RJdGVtW10ge1xyXG4gICAgcmV0dXJuIGxpc3QuZmlsdGVyKFxyXG4gICAgICAob3B0KSA9PiBTdHJpbmcob3B0LmNvZGUpLnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMocXVlcnkpIHx8IG9wdC5uYW1lLnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMocXVlcnkpXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicmVsYXRpdmVcIj5cclxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtaW5uZXItY29udGFpbmVyXCI+XHJcbiAgICAgIDxwLWRyb3Bkb3duXHJcbiAgICAgICAgKm5nSWY9XCJkeW5hbWljRmlsdGVyc1wiXHJcbiAgICAgICAgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICBvcHRpb25MYWJlbD1cIm5hbWVcIlxyXG4gICAgICAgIG9wdGlvblZhbHVlPVwiY29kZVwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZER5bmFtaWNGaWx0ZXJcIlxyXG4gICAgICAgIFtvcHRpb25zXT1cImR5bmFtaWNGaWx0ZXJzXCJcclxuICAgICAgPlxyXG4gICAgICA8L3AtZHJvcGRvd24+XHJcbiAgICAgIDxwLWF1dG9Db21wbGV0ZVxyXG4gICAgICAgIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgZmllbGQ9XCJuYW1lXCJcclxuICAgICAgICBkYXRhS2V5PVwiY29kZVwiXHJcbiAgICAgICAgW2ZvcmNlU2VsZWN0aW9uXT1cInRydWVcIlxyXG4gICAgICAgIFtkcm9wZG93bl09XCJ0cnVlXCJcclxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICBbc3VnZ2VzdGlvbnNdPVwicGFnZWRTdWdnZXN0aW9uc1wiXHJcbiAgICAgICAgW2Ryb3Bkb3duSWNvbl09XCJkeW5hbWljRmlsdGVycyA/ICdwaSBwaS1zZWFyY2gnIDogJ3BpIHBpLWNoZXZyb24tZG93bidcIlxyXG4gICAgICAgIChjb21wbGV0ZU1ldGhvZCk9XCJzZWFyY2goJGV2ZW50KVwiXHJcbiAgICAgICAgKG9uU2hvdyk9XCJvbk9wZW5BdXRvY29tcGxldGVQYW5lbCgpXCJcclxuICAgICAgICAob25IaWRlKT1cIm9uSGlkZUF1dG9jb21wbGV0ZVBhbmVsKClcIlxyXG4gICAgICAgIChvbkZvY3VzKT1cIm9uRm9jdXMuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAob25DaGFuZ2UpPVwib25DaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgPlxyXG4gICAgICA8L3AtYXV0b0NvbXBsZXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8dmVjdG9yLWJ1dHRvblxyXG4gICAgICAqbmdJZj1cImJ1dHRvbkFjdGlvblwiXHJcbiAgICAgIFtsYWJlbF09XCJidXR0b25BY3Rpb24ubGFiZWxcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiIWNvbnRyb2wudmFsdWVcIlxyXG4gICAgICAob25DbGljayk9XCJidXR0b25BY3Rpb24ub25DbGljayhjb250cm9sLnZhbHVlKVwiXHJcbiAgICA+PC92ZWN0b3ItYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDx2ZWN0b3ItZmllbGQtZXJyb3ItbWVzc2FnZSAqbmdJZj1cIiFoaWRkZW5FcnJvck1lc3NhZ2VcIiBbY29udHJvbF09XCJjb250cm9sXCI+PC92ZWN0b3ItZmllbGQtZXJyb3ItbWVzc2FnZT5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
- export * from './dropdown-field.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9kcm9wZG93bi1maWVsZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi1maWVsZC5jb21wb25lbnQnO1xuIl19
1
+ export * from './dropdown-field.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9kcm9wZG93bi1maWVsZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi1maWVsZC5jb21wb25lbnQnO1xyXG4iXX0=
@@ -1,30 +1,30 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class FieldErrorMessageComponent {
4
- constructor() { }
5
- ngOnInit() { }
6
- fieldErrorLabel() {
7
- if (this.control && this.control.invalid && this.control.touched) {
8
- if (this.control.hasError('required')) {
9
- return 'Campo obrigatório';
10
- }
11
- if (this.control.hasError('minlength')) {
12
- return `Tamanho mínimo: ${this.control.errors['minlength'].requiredLength}`;
13
- }
14
- if (this.control.hasError('maxlength')) {
15
- return `Tamanho máximo permitido: ${this.control.errors['maxlength'].requiredLength}`;
16
- }
17
- return typeof this.control.errors['invalid'] === 'string' ? this.control.errors['invalid'] : 'Campo inválido';
18
- }
19
- return '';
20
- }
21
- }
22
- FieldErrorMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FieldErrorMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
- FieldErrorMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FieldErrorMessageComponent, selector: "vector-field-error-message", inputs: { control: "control" }, ngImport: i0, template: "<span class=\"input-error\">{{ fieldErrorLabel() }}</span>\n", styles: [".input-error{font-size:.7em;color:var(--error-color);position:absolute;width:max-content}\n"] });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FieldErrorMessageComponent, decorators: [{
25
- type: Component,
26
- args: [{ selector: 'vector-field-error-message', template: "<span class=\"input-error\">{{ fieldErrorLabel() }}</span>\n", styles: [".input-error{font-size:.7em;color:var(--error-color);position:absolute;width:max-content}\n"] }]
27
- }], ctorParameters: function () { return []; }, propDecorators: { control: [{
28
- type: Input
29
- }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZXJyb3ItbWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9maWVsZC1lcnJvci1tZXNzYWdlL2ZpZWxkLWVycm9yLW1lc3NhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvZmllbGQtZXJyb3ItbWVzc2FnZS9maWVsZC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOztBQU96RCxNQUFNLE9BQU8sMEJBQTBCO0lBR3JDLGdCQUFlLENBQUM7SUFFaEIsUUFBUSxLQUFVLENBQUM7SUFFWixlQUFlO1FBQ3BCLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUNoRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNyQyxPQUFPLG1CQUFtQixDQUFDO2FBQzVCO1lBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDdEMsT0FBTyxtQkFBbUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7YUFDN0U7WUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUN0QyxPQUFPLDZCQUE2QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUN2RjtZQUVELE9BQU8sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztTQUMvRztRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzs7dUhBekJVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLGtHQ1B2Qyw4REFDQTsyRkRNYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UsNEJBQTRCOzBFQU0vQixPQUFPO3NCQURiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVjdG9yLWZpZWxkLWVycm9yLW1lc3NhZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmllbGQtZXJyb3ItbWVzc2FnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpZWxkLWVycm9yLW1lc3NhZ2UuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRmllbGRFcnJvck1lc3NhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBwdWJsaWMgY29udHJvbDogYW55O1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIHB1YmxpYyBmaWVsZEVycm9yTGFiZWwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5jb250cm9sICYmIHRoaXMuY29udHJvbC5pbnZhbGlkICYmIHRoaXMuY29udHJvbC50b3VjaGVkKSB7XG4gICAgICBpZiAodGhpcy5jb250cm9sLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XG4gICAgICAgIHJldHVybiAnQ2FtcG8gb2JyaWdhdMOzcmlvJztcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuY29udHJvbC5oYXNFcnJvcignbWlubGVuZ3RoJykpIHtcbiAgICAgICAgcmV0dXJuIGBUYW1hbmhvIG3DrW5pbW86ICR7dGhpcy5jb250cm9sLmVycm9yc1snbWlubGVuZ3RoJ10ucmVxdWlyZWRMZW5ndGh9YDtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuY29udHJvbC5oYXNFcnJvcignbWF4bGVuZ3RoJykpIHtcbiAgICAgICAgcmV0dXJuIGBUYW1hbmhvIG3DoXhpbW8gcGVybWl0aWRvOiAke3RoaXMuY29udHJvbC5lcnJvcnNbJ21heGxlbmd0aCddLnJlcXVpcmVkTGVuZ3RofWA7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0eXBlb2YgdGhpcy5jb250cm9sLmVycm9yc1snaW52YWxpZCddID09PSAnc3RyaW5nJyA/IHRoaXMuY29udHJvbC5lcnJvcnNbJ2ludmFsaWQnXSA6ICdDYW1wbyBpbnbDoWxpZG8nO1xuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxufVxuIiwiPHNwYW4gY2xhc3M9XCJpbnB1dC1lcnJvclwiPnt7IGZpZWxkRXJyb3JMYWJlbCgpIH19PC9zcGFuPlxuIl19
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FieldErrorMessageComponent {
4
+ constructor() { }
5
+ ngOnInit() { }
6
+ fieldErrorLabel() {
7
+ if (this.control && this.control.invalid && this.control.touched) {
8
+ if (this.control.hasError('required')) {
9
+ return 'Campo obrigatório';
10
+ }
11
+ if (this.control.hasError('minlength')) {
12
+ return `Tamanho mínimo: ${this.control.errors['minlength'].requiredLength}`;
13
+ }
14
+ if (this.control.hasError('maxlength')) {
15
+ return `Tamanho máximo permitido: ${this.control.errors['maxlength'].requiredLength}`;
16
+ }
17
+ return typeof this.control.errors['invalid'] === 'string' ? this.control.errors['invalid'] : 'Campo inválido';
18
+ }
19
+ return '';
20
+ }
21
+ }
22
+ FieldErrorMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FieldErrorMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ FieldErrorMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FieldErrorMessageComponent, selector: "vector-field-error-message", inputs: { control: "control" }, ngImport: i0, template: "<span class=\"input-error\">{{ fieldErrorLabel() }}</span>\r\n", styles: [".input-error{font-size:.7em;color:var(--error-color);position:absolute;width:max-content}\n"] });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FieldErrorMessageComponent, decorators: [{
25
+ type: Component,
26
+ args: [{ selector: 'vector-field-error-message', template: "<span class=\"input-error\">{{ fieldErrorLabel() }}</span>\r\n", styles: [".input-error{font-size:.7em;color:var(--error-color);position:absolute;width:max-content}\n"] }]
27
+ }], ctorParameters: function () { return []; }, propDecorators: { control: [{
28
+ type: Input
29
+ }] } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZXJyb3ItbWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9maWVsZC1lcnJvci1tZXNzYWdlL2ZpZWxkLWVycm9yLW1lc3NhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvZmllbGQtZXJyb3ItbWVzc2FnZS9maWVsZC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOztBQU96RCxNQUFNLE9BQU8sMEJBQTBCO0lBR3JDLGdCQUFlLENBQUM7SUFFaEIsUUFBUSxLQUFVLENBQUM7SUFFWixlQUFlO1FBQ3BCLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUNoRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNyQyxPQUFPLG1CQUFtQixDQUFDO2FBQzVCO1lBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDdEMsT0FBTyxtQkFBbUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7YUFDN0U7WUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUN0QyxPQUFPLDZCQUE2QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUN2RjtZQUVELE9BQU8sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztTQUMvRztRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzs7dUhBekJVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLGtHQ1B2QyxnRUFDQTsyRkRNYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UsNEJBQTRCOzBFQU0vQixPQUFPO3NCQURiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndmVjdG9yLWZpZWxkLWVycm9yLW1lc3NhZ2UnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9maWVsZC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9maWVsZC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWVsZEVycm9yTWVzc2FnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY29udHJvbDogYW55O1xyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuICBwdWJsaWMgZmllbGRFcnJvckxhYmVsKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5jb250cm9sICYmIHRoaXMuY29udHJvbC5pbnZhbGlkICYmIHRoaXMuY29udHJvbC50b3VjaGVkKSB7XHJcbiAgICAgIGlmICh0aGlzLmNvbnRyb2wuaGFzRXJyb3IoJ3JlcXVpcmVkJykpIHtcclxuICAgICAgICByZXR1cm4gJ0NhbXBvIG9icmlnYXTDs3Jpbyc7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh0aGlzLmNvbnRyb2wuaGFzRXJyb3IoJ21pbmxlbmd0aCcpKSB7XHJcbiAgICAgICAgcmV0dXJuIGBUYW1hbmhvIG3DrW5pbW86ICR7dGhpcy5jb250cm9sLmVycm9yc1snbWlubGVuZ3RoJ10ucmVxdWlyZWRMZW5ndGh9YDtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMuY29udHJvbC5oYXNFcnJvcignbWF4bGVuZ3RoJykpIHtcclxuICAgICAgICByZXR1cm4gYFRhbWFuaG8gbcOheGltbyBwZXJtaXRpZG86ICR7dGhpcy5jb250cm9sLmVycm9yc1snbWF4bGVuZ3RoJ10ucmVxdWlyZWRMZW5ndGh9YDtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzLmNvbnRyb2wuZXJyb3JzWydpbnZhbGlkJ10gPT09ICdzdHJpbmcnID8gdGhpcy5jb250cm9sLmVycm9yc1snaW52YWxpZCddIDogJ0NhbXBvIGludsOhbGlkbyc7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxufVxyXG4iLCI8c3BhbiBjbGFzcz1cImlucHV0LWVycm9yXCI+e3sgZmllbGRFcnJvckxhYmVsKCkgfX08L3NwYW4+XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
- export * from './field-error-message.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9maWVsZC1lcnJvci1tZXNzYWdlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpZWxkLWVycm9yLW1lc3NhZ2UuY29tcG9uZW50JztcbiJdfQ==
1
+ export * from './field-error-message.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9maWVsZC1lcnJvci1tZXNzYWdlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpZWxkLWVycm9yLW1lc3NhZ2UuY29tcG9uZW50JztcclxuIl19