ngx-vector-components 4.92.0 → 4.93.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 (358) hide show
  1. package/CHANGELOG.md +1220 -1214
  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 +982 -982
  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/esm2022/lib/components/badge/badge.component.mjs +39 -0
  29. package/esm2022/lib/components/badge/badge.module.mjs +19 -0
  30. package/{esm2020 → esm2022}/lib/components/badge/index.mjs +3 -3
  31. package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +66 -0
  32. package/esm2022/lib/components/breadcrumb/breadcrumb.module.mjs +18 -0
  33. package/{esm2020 → esm2022}/lib/components/breadcrumb/index.mjs +3 -3
  34. package/esm2022/lib/components/crud-base/crud-base.component.mjs +47 -0
  35. package/{esm2020 → esm2022}/lib/components/crud-base/index.mjs +2 -2
  36. package/esm2022/lib/components/crud-footer/crud-footer.component.mjs +32 -0
  37. package/esm2022/lib/components/crud-footer/crud-footer.module.mjs +20 -0
  38. package/{esm2020 → esm2022}/lib/components/crud-footer/index.mjs +3 -3
  39. package/esm2022/lib/components/crud-header/crud-header.component.mjs +30 -0
  40. package/esm2022/lib/components/crud-header/crud-header.module.mjs +19 -0
  41. package/{esm2020 → esm2022}/lib/components/crud-header/index.mjs +3 -3
  42. package/esm2022/lib/components/crud-history/crud-history.component.mjs +82 -0
  43. package/esm2022/lib/components/crud-history/crud-history.module.mjs +20 -0
  44. package/{esm2020 → esm2022}/lib/components/crud-history/index.mjs +3 -3
  45. package/esm2022/lib/components/fields/button/button.component.mjs +41 -0
  46. package/{esm2020 → esm2022}/lib/components/fields/button/index.mjs +2 -2
  47. package/esm2022/lib/components/fields/calendar-field/calendar-field.component.mjs +74 -0
  48. package/{esm2020 → esm2022}/lib/components/fields/calendar-field/index.mjs +2 -2
  49. package/esm2022/lib/components/fields/checkbox-field/checkbox-field.component.mjs +46 -0
  50. package/{esm2020 → esm2022}/lib/components/fields/checkbox-field/index.mjs +2 -2
  51. package/esm2022/lib/components/fields/currency-field/currency-field.component.mjs +98 -0
  52. package/{esm2020 → esm2022}/lib/components/fields/currency-field/index.mjs +2 -2
  53. package/esm2022/lib/components/fields/data-table/data-table.component.mjs +386 -0
  54. package/{esm2020 → esm2022}/lib/components/fields/data-table/index.mjs +2 -2
  55. package/esm2022/lib/components/fields/dropdown-field/dropdown-field.component.mjs +204 -0
  56. package/{esm2020 → esm2022}/lib/components/fields/dropdown-field/index.mjs +2 -2
  57. package/{esm2020 → esm2022}/lib/components/fields/field-error-message/field-error-message.component.mjs +30 -30
  58. package/{esm2020 → esm2022}/lib/components/fields/field-error-message/index.mjs +2 -2
  59. package/esm2022/lib/components/fields/fields.module.mjs +211 -0
  60. package/esm2022/lib/components/fields/filters/filters.component.mjs +203 -0
  61. package/{esm2020 → esm2022}/lib/components/fields/filters/index.mjs +2 -2
  62. package/{esm2020 → esm2022}/lib/components/fields/index.mjs +19 -19
  63. package/{esm2020 → esm2022}/lib/components/fields/input-number-field/index.mjs +2 -2
  64. package/esm2022/lib/components/fields/input-number-field/input-number-field.component.mjs +85 -0
  65. package/{esm2020 → esm2022}/lib/components/fields/multiselect-field/index.mjs +2 -2
  66. package/esm2022/lib/components/fields/multiselect-field/multiselect-field.component.mjs +50 -0
  67. package/{esm2020 → esm2022}/lib/components/fields/percentage-field/index.mjs +2 -2
  68. package/esm2022/lib/components/fields/percentage-field/percentage-field.component.mjs +42 -0
  69. package/{esm2020 → esm2022}/lib/components/fields/radio-button-field/index.mjs +2 -2
  70. package/esm2022/lib/components/fields/radio-button-field/radio-button-field.component.mjs +48 -0
  71. package/{esm2020 → esm2022}/lib/components/fields/range-value/index.mjs +2 -2
  72. package/{esm2020 → esm2022}/lib/components/fields/range-value/range-value.component.mjs +72 -72
  73. package/{esm2020 → esm2022}/lib/components/fields/search-field/index.mjs +2 -2
  74. package/esm2022/lib/components/fields/search-field/search-field.component.mjs +33 -0
  75. package/{esm2020 → esm2022}/lib/components/fields/select-button-field/index.mjs +2 -2
  76. package/esm2022/lib/components/fields/select-button-field/select-button-field.component.mjs +20 -0
  77. package/{esm2020 → esm2022}/lib/components/fields/text-field/index.mjs +2 -2
  78. package/esm2022/lib/components/fields/text-field/text-field.component.mjs +229 -0
  79. package/{esm2020 → esm2022}/lib/components/fields/textarea-field/index.mjs +2 -2
  80. package/esm2022/lib/components/fields/textarea-field/textarea-field.component.mjs +81 -0
  81. package/esm2022/lib/components/generic-error-modal/generic-error-modal.component.mjs +39 -0
  82. package/esm2022/lib/components/generic-error-modal/generic-error-modal.module.mjs +20 -0
  83. package/{esm2020 → esm2022}/lib/components/generic-error-modal/index.mjs +3 -3
  84. package/esm2022/lib/components/generic-modal/generic-modal.component.mjs +66 -0
  85. package/esm2022/lib/components/generic-modal/generic-modal.module.mjs +20 -0
  86. package/{esm2020 → esm2022}/lib/components/generic-modal/index.mjs +3 -3
  87. package/{esm2020 → esm2022}/lib/components/index.mjs +14 -14
  88. package/{esm2020 → esm2022}/lib/components/menu/index.mjs +4 -4
  89. package/esm2022/lib/components/menu/menu.component.mjs +305 -0
  90. package/esm2022/lib/components/menu/menu.module.mjs +20 -0
  91. package/esm2022/lib/components/menu/sub-menus-list/sub-menus-list.component.mjs +42 -0
  92. package/{esm2020 → esm2022}/lib/components/panel/index.mjs +3 -3
  93. package/esm2022/lib/components/panel/panel.component.mjs +15 -0
  94. package/esm2022/lib/components/panel/panel.module.mjs +19 -0
  95. package/{esm2020 → esm2022}/lib/components/score/index.mjs +3 -3
  96. package/esm2022/lib/components/score/score.component.mjs +17 -0
  97. package/{esm2020 → esm2022}/lib/components/score/score.module.mjs +16 -16
  98. package/{esm2020 → esm2022}/lib/components/top-bar/index.mjs +3 -3
  99. package/esm2022/lib/components/top-bar/top-bar.component.mjs +142 -0
  100. package/esm2022/lib/components/top-bar/top-bar.module.mjs +20 -0
  101. package/{esm2020 → esm2022}/lib/guards/crud-list-has-items.guard.mjs +22 -22
  102. package/{esm2020 → esm2022}/lib/guards/get-token-by-guid.guard.mjs +54 -54
  103. package/{esm2020 → esm2022}/lib/guards/has-permission.guard.mjs +27 -27
  104. package/{esm2020 → esm2022}/lib/guards/index.mjs +6 -6
  105. package/{esm2020 → esm2022}/lib/guards/role.guard.mjs +24 -24
  106. package/{esm2020 → esm2022}/lib/guards/token-is-present.guard.mjs +26 -26
  107. package/{esm2020 → esm2022}/lib/interceptors/http-interceptor.mjs +185 -185
  108. package/{esm2020 → esm2022}/lib/interceptors/index.mjs +2 -2
  109. package/{esm2020 → esm2022}/lib/models/app-name.enum.mjs +10 -10
  110. package/{esm2020 → esm2022}/lib/models/boolean-type.enum.mjs +6 -6
  111. package/{esm2020 → esm2022}/lib/models/crud-history.model.mjs +3 -3
  112. package/{esm2020 → esm2022}/lib/models/crud-mode.enum.mjs +7 -7
  113. package/{esm2020 → esm2022}/lib/models/currency.enum.mjs +7 -7
  114. package/esm2022/lib/models/data-table.model.mjs +23 -0
  115. package/{esm2020 → esm2022}/lib/models/document-type.enum.mjs +6 -6
  116. package/{esm2020 → esm2022}/lib/models/filters.model.mjs +2 -2
  117. package/{esm2020 → esm2022}/lib/models/generic-modal.model.mjs +2 -2
  118. package/esm2022/lib/models/http-response.model.mjs +2 -0
  119. package/{esm2020 → esm2022}/lib/models/index.mjs +18 -18
  120. package/{esm2020 → esm2022}/lib/models/ip-info.enum.mjs +2 -2
  121. package/{esm2020 → esm2022}/lib/models/list-item.model.mjs +2 -2
  122. package/{esm2020 → esm2022}/lib/models/locale.enum.mjs +7 -7
  123. package/esm2022/lib/models/menu-item.model.mjs +2 -0
  124. package/{esm2020 → esm2022}/lib/models/message-status.enum.mjs +8 -8
  125. package/{esm2020 → esm2022}/lib/models/profile.model.mjs +271 -271
  126. package/{esm2020 → esm2022}/lib/models/role.enum.mjs +5 -5
  127. package/{esm2020 → esm2022}/lib/models/status.enum.mjs +8 -8
  128. package/{esm2020 → esm2022}/lib/models/topbar.model.mjs +2 -2
  129. package/esm2022/lib/models/vector-app.model.mjs +2 -0
  130. package/{esm2020 → esm2022}/lib/models/vector-notification.model.mjs +2 -2
  131. package/{esm2020 → esm2022}/lib/models/view.enum.mjs +7 -7
  132. package/{esm2020 → esm2022}/lib/pipes/currency-brl.pipe.mjs +18 -18
  133. package/{esm2020 → esm2022}/lib/pipes/format-document.pipe.mjs +17 -17
  134. package/{esm2020 → esm2022}/lib/pipes/index.mjs +9 -9
  135. package/{esm2020 → esm2022}/lib/pipes/mask.pipe.mjs +21 -21
  136. package/{esm2020 → esm2022}/lib/pipes/not-hidden.pipe.mjs +16 -16
  137. package/{esm2020 → esm2022}/lib/pipes/only-active.pipe.mjs +16 -16
  138. package/{esm2020 → esm2022}/lib/pipes/pipes.module.mjs +50 -50
  139. package/{esm2020 → esm2022}/lib/pipes/remove-last-child.pipe.mjs +18 -18
  140. package/{esm2020 → esm2022}/lib/pipes/unread-notifications.pipe.mjs +15 -15
  141. package/{esm2020 → esm2022}/lib/resolvers/get-selected-crud-item.resolver.mjs +28 -28
  142. package/{esm2020 → esm2022}/lib/resolvers/index.mjs +2 -2
  143. package/{esm2020 → esm2022}/lib/services/auth.service.mjs +77 -77
  144. package/esm2022/lib/services/base-dropdown.mjs +2 -0
  145. package/{esm2020 → esm2022}/lib/services/crud-base.service.mjs +14 -14
  146. package/{esm2020 → esm2022}/lib/services/enum.service.mjs +43 -43
  147. package/{esm2020 → esm2022}/lib/services/error-message.service.mjs +16 -16
  148. package/{esm2020 → esm2022}/lib/services/geolocation.service.mjs +23 -23
  149. package/{esm2020 → esm2022}/lib/services/index.mjs +13 -13
  150. package/{esm2020 → esm2022}/lib/services/loading.service.mjs +15 -15
  151. package/{esm2020 → esm2022}/lib/services/menu.service.mjs +152 -152
  152. package/{esm2020 → esm2022}/lib/services/modal.service.mjs +15 -15
  153. package/{esm2020 → esm2022}/lib/services/notifications.service.mjs +64 -64
  154. package/{esm2020 → esm2022}/lib/services/profile.service.mjs +103 -103
  155. package/{esm2020 → esm2022}/lib/services/storage.service.mjs +108 -108
  156. package/esm2022/lib/shared/shared.module.mjs +19 -0
  157. package/{esm2020 → esm2022}/lib/utils/cpf-cnpj-validator.util.mjs +116 -116
  158. package/{esm2020 → esm2022}/lib/utils/file.util.mjs +15 -15
  159. package/{esm2020 → esm2022}/lib/utils/index.mjs +8 -8
  160. package/esm2022/lib/utils/mask.util.mjs +76 -0
  161. package/{esm2020 → esm2022}/lib/utils/object.util.mjs +27 -27
  162. package/{esm2020 → esm2022}/lib/utils/string.util.mjs +16 -16
  163. package/{esm2020 → esm2022}/lib/utils/validation.util.mjs +234 -234
  164. package/{esm2020 → esm2022}/lib/utils/window.util.mjs +9 -9
  165. package/{esm2020 → esm2022}/ngx-vector-components.mjs +4 -4
  166. package/{esm2020 → esm2022}/public-api.mjs +9 -9
  167. package/fesm2022/ngx-vector-components.mjs +4784 -0
  168. package/fesm2022/ngx-vector-components.mjs.map +1 -0
  169. package/{ngx-vector-components.d.ts → index.d.ts} +5 -5
  170. package/lib/components/badge/badge.component.d.ts +15 -15
  171. package/lib/components/badge/badge.module.d.ts +9 -9
  172. package/lib/components/badge/index.d.ts +2 -2
  173. package/lib/components/breadcrumb/breadcrumb.component.d.ts +19 -19
  174. package/lib/components/breadcrumb/breadcrumb.module.d.ts +8 -8
  175. package/lib/components/breadcrumb/index.d.ts +2 -2
  176. package/lib/components/crud-base/crud-base.component.d.ts +20 -20
  177. package/lib/components/crud-base/index.d.ts +1 -1
  178. package/lib/components/crud-footer/crud-footer.component.d.ts +13 -13
  179. package/lib/components/crud-footer/crud-footer.module.d.ts +10 -10
  180. package/lib/components/crud-footer/index.d.ts +2 -2
  181. package/lib/components/crud-header/crud-header.component.d.ts +11 -11
  182. package/lib/components/crud-header/crud-header.module.d.ts +9 -9
  183. package/lib/components/crud-header/index.d.ts +2 -2
  184. package/lib/components/crud-history/crud-history.component.d.ts +12 -12
  185. package/lib/components/crud-history/crud-history.module.d.ts +10 -10
  186. package/lib/components/crud-history/index.d.ts +2 -2
  187. package/lib/components/fields/button/button.component.d.ts +17 -17
  188. package/lib/components/fields/button/index.d.ts +1 -1
  189. package/lib/components/fields/calendar-field/calendar-field.component.d.ts +23 -23
  190. package/lib/components/fields/calendar-field/index.d.ts +1 -1
  191. package/lib/components/fields/checkbox-field/checkbox-field.component.d.ts +19 -19
  192. package/lib/components/fields/checkbox-field/index.d.ts +1 -1
  193. package/lib/components/fields/currency-field/currency-field.component.d.ts +32 -32
  194. package/lib/components/fields/currency-field/index.d.ts +1 -1
  195. package/lib/components/fields/data-table/data-table.component.d.ts +82 -82
  196. package/lib/components/fields/data-table/index.d.ts +1 -1
  197. package/lib/components/fields/dropdown-field/dropdown-field.component.d.ts +52 -52
  198. package/lib/components/fields/dropdown-field/index.d.ts +1 -1
  199. package/lib/components/fields/field-error-message/field-error-message.component.d.ts +10 -10
  200. package/lib/components/fields/field-error-message/index.d.ts +1 -1
  201. package/lib/components/fields/fields.module.d.ts +48 -48
  202. package/lib/components/fields/filters/filters.component.d.ts +63 -63
  203. package/lib/components/fields/filters/index.d.ts +1 -1
  204. package/lib/components/fields/index.d.ts +18 -18
  205. package/lib/components/fields/input-number-field/index.d.ts +1 -1
  206. package/lib/components/fields/input-number-field/input-number-field.component.d.ts +28 -28
  207. package/lib/components/fields/multiselect-field/index.d.ts +1 -1
  208. package/lib/components/fields/multiselect-field/multiselect-field.component.d.ts +16 -16
  209. package/lib/components/fields/percentage-field/index.d.ts +1 -1
  210. package/lib/components/fields/percentage-field/percentage-field.component.d.ts +16 -16
  211. package/lib/components/fields/radio-button-field/index.d.ts +1 -1
  212. package/lib/components/fields/radio-button-field/radio-button-field.component.d.ts +25 -25
  213. package/lib/components/fields/range-value/index.d.ts +1 -1
  214. package/lib/components/fields/range-value/range-value.component.d.ts +18 -18
  215. package/lib/components/fields/search-field/index.d.ts +1 -1
  216. package/lib/components/fields/search-field/search-field.component.d.ts +14 -14
  217. package/lib/components/fields/select-button-field/index.d.ts +1 -1
  218. package/lib/components/fields/select-button-field/select-button-field.component.d.ts +9 -9
  219. package/lib/components/fields/text-field/index.d.ts +1 -1
  220. package/lib/components/fields/text-field/text-field.component.d.ts +54 -54
  221. package/lib/components/fields/textarea-field/index.d.ts +1 -1
  222. package/lib/components/fields/textarea-field/textarea-field.component.d.ts +22 -22
  223. package/lib/components/generic-error-modal/generic-error-modal.component.d.ts +16 -15
  224. package/lib/components/generic-error-modal/generic-error-modal.module.d.ts +10 -10
  225. package/lib/components/generic-error-modal/index.d.ts +2 -2
  226. package/lib/components/generic-modal/generic-modal.component.d.ts +24 -24
  227. package/lib/components/generic-modal/generic-modal.module.d.ts +10 -10
  228. package/lib/components/generic-modal/index.d.ts +2 -2
  229. package/lib/components/index.d.ts +13 -13
  230. package/lib/components/menu/index.d.ts +3 -3
  231. package/lib/components/menu/menu.component.d.ts +53 -53
  232. package/lib/components/menu/menu.module.d.ts +10 -10
  233. package/lib/components/menu/sub-menus-list/sub-menus-list.component.d.ts +14 -14
  234. package/lib/components/panel/index.d.ts +2 -2
  235. package/lib/components/panel/panel.component.d.ts +8 -8
  236. package/lib/components/panel/panel.module.d.ts +9 -9
  237. package/lib/components/score/index.d.ts +2 -2
  238. package/lib/components/score/score.component.d.ts +9 -9
  239. package/lib/components/score/score.module.d.ts +7 -7
  240. package/lib/components/top-bar/index.d.ts +2 -2
  241. package/lib/components/top-bar/top-bar.component.d.ts +48 -48
  242. package/lib/components/top-bar/top-bar.module.d.ts +10 -10
  243. package/lib/guards/crud-list-has-items.guard.d.ts +10 -10
  244. package/lib/guards/get-token-by-guid.guard.d.ts +15 -15
  245. package/lib/guards/has-permission.guard.d.ts +13 -13
  246. package/lib/guards/index.d.ts +5 -5
  247. package/lib/guards/role.guard.d.ts +11 -11
  248. package/lib/guards/token-is-present.guard.d.ts +11 -11
  249. package/lib/interceptors/http-interceptor.d.ts +31 -31
  250. package/lib/interceptors/index.d.ts +1 -1
  251. package/lib/models/app-name.enum.d.ts +8 -8
  252. package/lib/models/boolean-type.enum.d.ts +4 -4
  253. package/lib/models/crud-history.model.d.ts +13 -13
  254. package/lib/models/crud-mode.enum.d.ts +5 -5
  255. package/lib/models/currency.enum.d.ts +5 -5
  256. package/lib/models/data-table.model.d.ts +65 -65
  257. package/lib/models/document-type.enum.d.ts +4 -4
  258. package/lib/models/filters.model.d.ts +4 -4
  259. package/lib/models/generic-modal.model.d.ts +13 -13
  260. package/lib/models/http-response.model.d.ts +48 -48
  261. package/lib/models/index.d.ts +17 -17
  262. package/lib/models/ip-info.enum.d.ts +6 -6
  263. package/lib/models/list-item.model.d.ts +7 -7
  264. package/lib/models/locale.enum.d.ts +5 -5
  265. package/lib/models/menu-item.model.d.ts +16 -16
  266. package/lib/models/message-status.enum.d.ts +6 -6
  267. package/lib/models/profile.model.d.ts +292 -292
  268. package/lib/models/role.enum.d.ts +3 -3
  269. package/lib/models/status.enum.d.ts +6 -6
  270. package/lib/models/topbar.model.d.ts +5 -5
  271. package/lib/models/vector-app.model.d.ts +9 -9
  272. package/lib/models/vector-notification.model.d.ts +8 -8
  273. package/lib/models/view.enum.d.ts +5 -5
  274. package/lib/pipes/currency-brl.pipe.d.ts +7 -7
  275. package/lib/pipes/format-document.pipe.d.ts +7 -7
  276. package/lib/pipes/index.d.ts +8 -8
  277. package/lib/pipes/mask.pipe.d.ts +7 -7
  278. package/lib/pipes/not-hidden.pipe.d.ts +7 -7
  279. package/lib/pipes/only-active.pipe.d.ts +7 -7
  280. package/lib/pipes/pipes.module.d.ts +13 -13
  281. package/lib/pipes/remove-last-child.pipe.d.ts +7 -7
  282. package/lib/pipes/unread-notifications.pipe.d.ts +9 -9
  283. package/lib/resolvers/get-selected-crud-item.resolver.d.ts +10 -10
  284. package/lib/resolvers/index.d.ts +1 -1
  285. package/lib/services/auth.service.d.ts +24 -24
  286. package/lib/services/base-dropdown.d.ts +7 -7
  287. package/lib/services/crud-base.service.d.ts +7 -7
  288. package/lib/services/enum.service.d.ts +13 -13
  289. package/lib/services/error-message.service.d.ts +8 -8
  290. package/lib/services/geolocation.service.d.ts +13 -13
  291. package/lib/services/index.d.ts +12 -12
  292. package/lib/services/loading.service.d.ts +7 -7
  293. package/lib/services/menu.service.d.ts +35 -35
  294. package/lib/services/modal.service.d.ts +7 -7
  295. package/lib/services/notifications.service.d.ts +13 -13
  296. package/lib/services/profile.service.d.ts +26 -26
  297. package/lib/services/storage.service.d.ts +43 -43
  298. package/lib/shared/shared.module.d.ts +10 -10
  299. package/lib/utils/cpf-cnpj-validator.util.d.ts +5 -5
  300. package/lib/utils/file.util.d.ts +4 -4
  301. package/lib/utils/index.d.ts +7 -7
  302. package/lib/utils/mask.util.d.ts +21 -21
  303. package/lib/utils/object.util.d.ts +5 -5
  304. package/lib/utils/string.util.d.ts +4 -4
  305. package/lib/utils/validation.util.d.ts +17 -17
  306. package/lib/utils/window.util.d.ts +4 -4
  307. package/package.json +18 -24
  308. package/public-api.d.ts +8 -8
  309. package/esm2020/lib/components/badge/badge.component.mjs +0 -39
  310. package/esm2020/lib/components/badge/badge.module.mjs +0 -19
  311. package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +0 -66
  312. package/esm2020/lib/components/breadcrumb/breadcrumb.module.mjs +0 -18
  313. package/esm2020/lib/components/crud-base/crud-base.component.mjs +0 -47
  314. package/esm2020/lib/components/crud-footer/crud-footer.component.mjs +0 -32
  315. package/esm2020/lib/components/crud-footer/crud-footer.module.mjs +0 -20
  316. package/esm2020/lib/components/crud-header/crud-header.component.mjs +0 -30
  317. package/esm2020/lib/components/crud-header/crud-header.module.mjs +0 -19
  318. package/esm2020/lib/components/crud-history/crud-history.component.mjs +0 -82
  319. package/esm2020/lib/components/crud-history/crud-history.module.mjs +0 -20
  320. package/esm2020/lib/components/fields/button/button.component.mjs +0 -41
  321. package/esm2020/lib/components/fields/calendar-field/calendar-field.component.mjs +0 -74
  322. package/esm2020/lib/components/fields/checkbox-field/checkbox-field.component.mjs +0 -46
  323. package/esm2020/lib/components/fields/currency-field/currency-field.component.mjs +0 -98
  324. package/esm2020/lib/components/fields/data-table/data-table.component.mjs +0 -386
  325. package/esm2020/lib/components/fields/dropdown-field/dropdown-field.component.mjs +0 -204
  326. package/esm2020/lib/components/fields/fields.module.mjs +0 -213
  327. package/esm2020/lib/components/fields/filters/filters.component.mjs +0 -203
  328. package/esm2020/lib/components/fields/input-number-field/input-number-field.component.mjs +0 -85
  329. package/esm2020/lib/components/fields/multiselect-field/multiselect-field.component.mjs +0 -50
  330. package/esm2020/lib/components/fields/percentage-field/percentage-field.component.mjs +0 -42
  331. package/esm2020/lib/components/fields/radio-button-field/radio-button-field.component.mjs +0 -48
  332. package/esm2020/lib/components/fields/search-field/search-field.component.mjs +0 -33
  333. package/esm2020/lib/components/fields/select-button-field/select-button-field.component.mjs +0 -20
  334. package/esm2020/lib/components/fields/text-field/text-field.component.mjs +0 -229
  335. package/esm2020/lib/components/fields/textarea-field/textarea-field.component.mjs +0 -81
  336. package/esm2020/lib/components/generic-error-modal/generic-error-modal.component.mjs +0 -36
  337. package/esm2020/lib/components/generic-error-modal/generic-error-modal.module.mjs +0 -20
  338. package/esm2020/lib/components/generic-modal/generic-modal.component.mjs +0 -66
  339. package/esm2020/lib/components/generic-modal/generic-modal.module.mjs +0 -20
  340. package/esm2020/lib/components/menu/menu.component.mjs +0 -305
  341. package/esm2020/lib/components/menu/menu.module.mjs +0 -20
  342. package/esm2020/lib/components/menu/sub-menus-list/sub-menus-list.component.mjs +0 -42
  343. package/esm2020/lib/components/panel/panel.component.mjs +0 -15
  344. package/esm2020/lib/components/panel/panel.module.mjs +0 -19
  345. package/esm2020/lib/components/score/score.component.mjs +0 -17
  346. package/esm2020/lib/components/top-bar/top-bar.component.mjs +0 -142
  347. package/esm2020/lib/components/top-bar/top-bar.module.mjs +0 -20
  348. package/esm2020/lib/models/data-table.model.mjs +0 -23
  349. package/esm2020/lib/models/http-response.model.mjs +0 -2
  350. package/esm2020/lib/models/menu-item.model.mjs +0 -2
  351. package/esm2020/lib/models/vector-app.model.mjs +0 -2
  352. package/esm2020/lib/services/base-dropdown.mjs +0 -2
  353. package/esm2020/lib/shared/shared.module.mjs +0 -19
  354. package/esm2020/lib/utils/mask.util.mjs +0 -76
  355. package/fesm2015/ngx-vector-components.mjs +0 -4805
  356. package/fesm2015/ngx-vector-components.mjs.map +0 -1
  357. package/fesm2020/ngx-vector-components.mjs +0 -4783
  358. package/fesm2020/ngx-vector-components.mjs.map +0 -1
@@ -0,0 +1,203 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
3
+ import { Subscription } from 'rxjs';
4
+ import { ObjectUtil, ValidationUtil } from '../../../utils';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/router";
7
+ import * as i2 from "@angular/common";
8
+ import * as i3 from "@angular/forms";
9
+ import * as i4 from "../text-field/text-field.component";
10
+ import * as i5 from "../button/button.component";
11
+ import * as i6 from "../calendar-field/calendar-field.component";
12
+ import * as i7 from "../multiselect-field/multiselect-field.component";
13
+ import * as i8 from "../dropdown-field/dropdown-field.component";
14
+ import * as i9 from "../currency-field/currency-field.component";
15
+ import * as i10 from "../select-button-field/select-button-field.component";
16
+ import * as i11 from "../../../pipes/not-hidden.pipe";
17
+ import * as i12 from "@ngx-translate/core";
18
+ export var FieldType;
19
+ (function (FieldType) {
20
+ FieldType[FieldType["DROPDOWN"] = 0] = "DROPDOWN";
21
+ FieldType[FieldType["TEXT"] = 1] = "TEXT";
22
+ FieldType[FieldType["DATE"] = 2] = "DATE";
23
+ FieldType[FieldType["NUMBER"] = 3] = "NUMBER";
24
+ FieldType[FieldType["CURRENCY"] = 4] = "CURRENCY";
25
+ FieldType[FieldType["DYNAMIC_DROPDOWN"] = 5] = "DYNAMIC_DROPDOWN";
26
+ FieldType[FieldType["SELECT_BUTTON"] = 6] = "SELECT_BUTTON";
27
+ FieldType[FieldType["DATE_RANGE"] = 7] = "DATE_RANGE";
28
+ FieldType[FieldType["MULTISELECT"] = 8] = "MULTISELECT";
29
+ })(FieldType || (FieldType = {}));
30
+ export class FiltersComponent {
31
+ set fields(_fields) {
32
+ const isFirstSet = !this._fields.length && _fields?.length;
33
+ this._fields = _fields;
34
+ this.formGroup = new UntypedFormGroup({});
35
+ this.fieldsSubscription.unsubscribe();
36
+ this.fieldsSubscription = new Subscription();
37
+ this.fields?.forEach((field) => {
38
+ if (field?.defaultValue && typeof field?.defaultValue === 'object') {
39
+ field.initiateValue = !!field.defaultValue?.code;
40
+ }
41
+ else {
42
+ field.initiateValue = !!field.defaultValue;
43
+ }
44
+ if (field.type === FieldType.DATE_RANGE) {
45
+ this.formGroup.addControl(field.name, new UntypedFormGroup({
46
+ startDate: new UntypedFormControl({ value: field.defaultValue?.startDate, disabled: field.readonly }, [
47
+ ...this.buildValidators(field),
48
+ ValidationUtil.lowerThanOrEqualTo('endDate'),
49
+ ]),
50
+ endDate: new UntypedFormControl({ value: field.defaultValue?.endDate, disabled: field.readonly }, [
51
+ ...this.buildValidators(field),
52
+ ValidationUtil.greaterThanOrEqualTo('startDate'),
53
+ ]),
54
+ }));
55
+ }
56
+ else {
57
+ this.formGroup.addControl(field.name, new UntypedFormControl({ value: field.defaultValue, disabled: field.readonly }, this.buildValidators(field)));
58
+ }
59
+ });
60
+ this.fields
61
+ ?.filter((field) => field.dependencies)
62
+ .forEach((field) => {
63
+ field.dependencies?.forEach((dependency) => {
64
+ this.fieldsSubscription.add(this.formGroup.get(dependency)?.valueChanges.subscribe((value) => {
65
+ this.formGroup.get(field.name)?.reset();
66
+ }));
67
+ });
68
+ });
69
+ this.patchFormFromQueryParams({ ...this.activatedRoute.snapshot.queryParams });
70
+ if (this._fields?.length && this.formGroup.valid && isFirstSet) {
71
+ this.search();
72
+ }
73
+ this.formBuilded.emit();
74
+ this.fieldsSubscription.add(this.activatedRoute.queryParams.subscribe((queryParams) => {
75
+ this.patchFormFromQueryParams({ ...queryParams });
76
+ }));
77
+ }
78
+ get fields() {
79
+ return this._fields;
80
+ }
81
+ get hideFilters() {
82
+ return !this.fields?.filter((item) => !item.hidden).length;
83
+ }
84
+ constructor(activatedRoute) {
85
+ this.activatedRoute = activatedRoute;
86
+ this.onSearch = new EventEmitter();
87
+ this.formBuilded = new EventEmitter();
88
+ this.fieldTypes = FieldType;
89
+ this.formGroup = new UntypedFormGroup({});
90
+ this._fields = [];
91
+ this.fieldsSubscription = new Subscription();
92
+ }
93
+ ngOnInit() { }
94
+ ngOnDestroy() {
95
+ this.fieldsSubscription.unsubscribe();
96
+ }
97
+ search() {
98
+ this.formGroup.markAllAsTouched();
99
+ if (this.formGroup.valid) {
100
+ const filterValue = this.formGroup.getRawValue();
101
+ Object.keys(filterValue).forEach((key) => {
102
+ if (filterValue[key]?.hasOwnProperty('code')) {
103
+ filterValue[key] = filterValue[key].code;
104
+ }
105
+ if (!ObjectUtil.isValid(filterValue[key])) {
106
+ const fieldType = this.fields.find((field) => field.name === key)?.type || FieldType.TEXT;
107
+ filterValue[key] = [FieldType.DROPDOWN, FieldType.NUMBER].includes(fieldType) ? -1 : '';
108
+ }
109
+ });
110
+ this.onSearch.emit(filterValue);
111
+ }
112
+ }
113
+ isTextFieldType(field) {
114
+ return [FieldType.TEXT, FieldType.NUMBER].includes(field.type);
115
+ }
116
+ getFieldDependencies(field) {
117
+ if (!field.dependencies) {
118
+ return undefined;
119
+ }
120
+ return field.dependencies.reduce((prev, curr) => {
121
+ let depValue = this.formGroup.get(curr)?.value?.code;
122
+ if (!ObjectUtil.isValid(depValue)) {
123
+ depValue = -1;
124
+ }
125
+ return {
126
+ ...prev,
127
+ [curr]: depValue,
128
+ };
129
+ }, {});
130
+ }
131
+ getGridClass(field) {
132
+ switch (field.size) {
133
+ case 'small':
134
+ return 'md:col-1';
135
+ case 'medium':
136
+ return 'md:col-3';
137
+ case 'large':
138
+ return 'md:col-4';
139
+ case 'largest':
140
+ return 'md:col-8';
141
+ case 'full':
142
+ return 'md:col-12';
143
+ default:
144
+ return 'md:col-4';
145
+ }
146
+ }
147
+ patchFormFromQueryParams(queryParams) {
148
+ if (Object.keys(queryParams).length) {
149
+ this.fields.forEach((field) => {
150
+ if (queryParams.hasOwnProperty(field.name)) {
151
+ try {
152
+ queryParams[field.name] = queryParams[field.name]
153
+ ? JSON.parse(queryParams[field.name])
154
+ : queryParams[field.name];
155
+ }
156
+ catch (_) { }
157
+ if (field.type === FieldType.DATE_RANGE) {
158
+ queryParams[field.name] = {
159
+ startDate: queryParams[field.name].startDate ? new Date(queryParams[field.name].startDate) : undefined,
160
+ endDate: queryParams[field.name].endDate ? new Date(queryParams[field.name].endDate) : undefined,
161
+ };
162
+ }
163
+ if (field.type === FieldType.DATE) {
164
+ queryParams[field.name] = queryParams[field.name] ? new Date(queryParams[field.name]) : undefined;
165
+ }
166
+ }
167
+ });
168
+ this.formGroup.patchValue(queryParams);
169
+ }
170
+ }
171
+ buildValidators(field) {
172
+ const validators = [];
173
+ if (field.required) {
174
+ validators.push(Validators.required);
175
+ }
176
+ if (field.minLength) {
177
+ validators.push(Validators.minLength(field.minLength));
178
+ }
179
+ if (field.maxLength) {
180
+ validators.push(Validators.maxLength(field.maxLength));
181
+ }
182
+ if (field.min) {
183
+ validators.push(Validators.min(field.min));
184
+ }
185
+ if (field.max) {
186
+ validators.push(Validators.max(field.max));
187
+ }
188
+ return validators;
189
+ }
190
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: FiltersComponent, deps: [{ token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
191
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: FiltersComponent, selector: "vector-filters", inputs: { fields: "fields" }, outputs: { onSearch: "onSearch", formBuilded: "formBuilded" }, ngImport: i0, template: "<div class=\"grid filter-container\" [ngClass]=\"{ 'display-none': hideFilters }\" [formGroup]=\"formGroup\">\n <div *ngFor=\"let field of fields | notHidden\" class=\"field col-12 sm:col-8 {{ getGridClass(field) }}\">\n <label>{{ field.label }}</label>\n <vector-text-field\n *ngIf=\"isTextFieldType(field)\"\n [control]=\"formGroup.get(field.name)\"\n [mask]=\"field.mask\"\n [label]=\"field.placeholder\"\n [isRequired]=\"field.required\"\n [numeric]=\"field.type === fieldTypes.NUMBER\"\n ></vector-text-field>\n <vector-dropdown-field\n *ngIf=\"[fieldTypes.DYNAMIC_DROPDOWN, fieldTypes.DROPDOWN].includes(field.type)\"\n [dynamicFilters]=\"field.filterTypes\"\n [disabled]=\"field.disabled\"\n [options]=\"field.options || []\"\n [service]=\"field.service\"\n [isRequired]=\"field.required\"\n [minLengthToService]=\"field.minLengthToService || 0\"\n [control]=\"formGroup.get(field.name)\"\n [paged]=\"false\"\n [dependencies]=\"getFieldDependencies(field)\"\n [initialLoad]=\"field.initiateValue\"\n ></vector-dropdown-field>\n <vector-currency-field\n *ngIf=\"field.type === fieldTypes.CURRENCY\"\n [control]=\"formGroup.get(field.name)\"\n [outlined]=\"true\"\n ></vector-currency-field>\n <vector-calendar-field\n *ngIf=\"field.type === fieldTypes.DATE\"\n [control]=\"formGroup.get(field.name)\"\n [isRequired]=\"field.required\"\n [label]=\"field.placeholder || ''\"\n ></vector-calendar-field>\n <vector-select-button-field\n *ngIf=\"field.type === fieldTypes.SELECT_BUTTON\"\n [control]=\"formGroup.get(field.name)\"\n [options]=\"field.options\"\n (click)=\"search()\"\n >\n </vector-select-button-field>\n <div *ngIf=\"field.type === fieldTypes.DATE_RANGE\" class=\"range-date-container\">\n <vector-calendar-field\n [control]=\"formGroup.get(field.name + '.startDate')\"\n [isRequired]=\"field.required\"\n [label]=\"field.placeholder || ''\"\n ></vector-calendar-field>\n At\u00E9\n <vector-calendar-field\n [control]=\"formGroup.get(field.name + '.endDate')\"\n [isRequired]=\"field.required\"\n [label]=\"field.placeholder || ''\"\n ></vector-calendar-field>\n </div>\n <vector-multiselect-field\n *ngIf=\"field.type === fieldTypes.MULTISELECT\"\n [control]=\"formGroup.get(field.name)\"\n [options]=\"field.options || []\"\n >\n </vector-multiselect-field>\n </div>\n <div class=\"search-button sm:col-4\">\n <vector-button\n [label]=\"'app.label.search' | translate\"\n (click)=\"search()\"\n [disabled]=\"!formGroup.valid\"\n ></vector-button>\n </div>\n</div>\n", styles: [".filter-container{align-items:center}.filter-container .field{display:flex;flex-direction:column}.filter-container .search-button{flex:1;padding-right:7px;display:flex;justify-content:flex-end}@media (min-width: 768px){.filter-container .search-button{padding-top:36px}}.filter-container .range-date-container{display:flex;align-items:center;gap:10px}.display-none{display:none!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.TextFieldComponent, selector: "vector-text-field", inputs: ["isRequired", "label", "maxlength", "isPassword", "numeric", "decimal", "onlyText", "alphaNumeric", "alphaNumericAndWhitespace", "mask", "autoClear", "rightIcon", "centered", "enableDocumentTypeChoice", "hiddenErrorMessage", "leftLabel", "control", "inputId", "slotChar"], outputs: ["blurEvent", "enterKeyPress", "backSpaceKeyPress", "focusEvent", "onDocumentTypeChange"] }, { kind: "component", type: i5.ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }, { kind: "component", type: i6.CalendarComponent, selector: "vector-calendar-field", inputs: ["isRequired", "control", "label", "showCalendarOnFocus", "min", "max", "disabledDates", "disabled", "defaultDate", "hiddenErrorMessage"] }, { kind: "component", type: i7.MultiselectFieldComponent, selector: "vector-multiselect-field", inputs: ["isRequired", "control", "label", "options", "filter", "showSelectAllOption"], outputs: ["onChange"] }, { kind: "component", type: i8.DropdownFieldComponent, selector: "vector-dropdown-field", inputs: ["options", "isNgContent", "isRequired", "control", "label", "service", "paged", "buttonAction", "dependencies", "hiddenErrorMessage", "dynamicFilters", "minLengthToService", "initialLoad", "disabled"], outputs: ["onFocus", "onChange"] }, { kind: "component", type: i9.CurrencyFieldComponent, selector: "vector-currency-field", inputs: ["minValue", "maxValue", "placeholder", "numberOfDecimals", "control", "outlined", "rounded", "label", "isBankingField", "inputClassName", "localePrefix", "currencyPrefix", "disabled", "centered"] }, { kind: "component", type: i10.SelectButtonFieldComponent, selector: "vector-select-button-field", inputs: ["options", "control"] }, { kind: "pipe", type: i11.NotHiddenPipe, name: "notHidden" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }] }); }
192
+ }
193
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: FiltersComponent, decorators: [{
194
+ type: Component,
195
+ args: [{ selector: 'vector-filters', template: "<div class=\"grid filter-container\" [ngClass]=\"{ 'display-none': hideFilters }\" [formGroup]=\"formGroup\">\n <div *ngFor=\"let field of fields | notHidden\" class=\"field col-12 sm:col-8 {{ getGridClass(field) }}\">\n <label>{{ field.label }}</label>\n <vector-text-field\n *ngIf=\"isTextFieldType(field)\"\n [control]=\"formGroup.get(field.name)\"\n [mask]=\"field.mask\"\n [label]=\"field.placeholder\"\n [isRequired]=\"field.required\"\n [numeric]=\"field.type === fieldTypes.NUMBER\"\n ></vector-text-field>\n <vector-dropdown-field\n *ngIf=\"[fieldTypes.DYNAMIC_DROPDOWN, fieldTypes.DROPDOWN].includes(field.type)\"\n [dynamicFilters]=\"field.filterTypes\"\n [disabled]=\"field.disabled\"\n [options]=\"field.options || []\"\n [service]=\"field.service\"\n [isRequired]=\"field.required\"\n [minLengthToService]=\"field.minLengthToService || 0\"\n [control]=\"formGroup.get(field.name)\"\n [paged]=\"false\"\n [dependencies]=\"getFieldDependencies(field)\"\n [initialLoad]=\"field.initiateValue\"\n ></vector-dropdown-field>\n <vector-currency-field\n *ngIf=\"field.type === fieldTypes.CURRENCY\"\n [control]=\"formGroup.get(field.name)\"\n [outlined]=\"true\"\n ></vector-currency-field>\n <vector-calendar-field\n *ngIf=\"field.type === fieldTypes.DATE\"\n [control]=\"formGroup.get(field.name)\"\n [isRequired]=\"field.required\"\n [label]=\"field.placeholder || ''\"\n ></vector-calendar-field>\n <vector-select-button-field\n *ngIf=\"field.type === fieldTypes.SELECT_BUTTON\"\n [control]=\"formGroup.get(field.name)\"\n [options]=\"field.options\"\n (click)=\"search()\"\n >\n </vector-select-button-field>\n <div *ngIf=\"field.type === fieldTypes.DATE_RANGE\" class=\"range-date-container\">\n <vector-calendar-field\n [control]=\"formGroup.get(field.name + '.startDate')\"\n [isRequired]=\"field.required\"\n [label]=\"field.placeholder || ''\"\n ></vector-calendar-field>\n At\u00E9\n <vector-calendar-field\n [control]=\"formGroup.get(field.name + '.endDate')\"\n [isRequired]=\"field.required\"\n [label]=\"field.placeholder || ''\"\n ></vector-calendar-field>\n </div>\n <vector-multiselect-field\n *ngIf=\"field.type === fieldTypes.MULTISELECT\"\n [control]=\"formGroup.get(field.name)\"\n [options]=\"field.options || []\"\n >\n </vector-multiselect-field>\n </div>\n <div class=\"search-button sm:col-4\">\n <vector-button\n [label]=\"'app.label.search' | translate\"\n (click)=\"search()\"\n [disabled]=\"!formGroup.valid\"\n ></vector-button>\n </div>\n</div>\n", styles: [".filter-container{align-items:center}.filter-container .field{display:flex;flex-direction:column}.filter-container .search-button{flex:1;padding-right:7px;display:flex;justify-content:flex-end}@media (min-width: 768px){.filter-container .search-button{padding-top:36px}}.filter-container .range-date-container{display:flex;align-items:center;gap:10px}.display-none{display:none!important}\n"] }]
196
+ }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }]; }, propDecorators: { fields: [{
197
+ type: Input
198
+ }], onSearch: [{
199
+ type: Output
200
+ }], formBuilded: [{
201
+ type: Output
202
+ }] } });
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9maWx0ZXJzL2ZpbHRlcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvZmlsdGVycy9maWx0ZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3BDLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBRTVELE1BQU0sQ0FBTixJQUFZLFNBVVg7QUFWRCxXQUFZLFNBQVM7SUFDbkIsaURBQVEsQ0FBQTtJQUNSLHlDQUFJLENBQUE7SUFDSix5Q0FBSSxDQUFBO0lBQ0osNkNBQU0sQ0FBQTtJQUNOLGlEQUFRLENBQUE7SUFDUixpRUFBZ0IsQ0FBQTtJQUNoQiwyREFBYSxDQUFBO0lBQ2IscURBQVUsQ0FBQTtJQUNWLHVEQUFXLENBQUE7QUFDYixDQUFDLEVBVlcsU0FBUyxLQUFULFNBQVMsUUFVcEI7QUErQkQsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixJQUNXLE1BQU0sQ0FBQyxPQUFzQjtRQUN0QyxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLE9BQU8sRUFBRSxN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bWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGlzdEl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQmFzZURyb3Bkb3duIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbCwgVmFsaWRhdGlvblV0aWwgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5cbmV4cG9ydCBlbnVtIEZpZWxkVHlwZSB7XG4gIERST1BET1dOLFxuICBURVhULFxuICBEQVRFLFxuICBOVU1CRVIsXG4gIENVUlJFTkNZLFxuICBEWU5BTUlDX0RST1BET1dOLFxuICBTRUxFQ1RfQlVUVE9OLFxuICBEQVRFX1JBTkdFLFxuICBNVUxUSVNFTEVDVCxcbn1cblxuZXhwb3J0IHR5cGUgRmlsdGVyRmllbGQgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogRmllbGRUeXBlO1xuICBtaW5MZW5ndGg/OiBudW1iZXI7XG4gIG1heExlbmd0aD86IG51bWJlcjtcbiAgbWluPzogbnVtYmVyO1xuICBtYXg/OiBudW1iZXI7XG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgcmVhZG9ubHk/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIGxhYmVsPzogc3RyaW5nO1xuICBtYXNrPzogc3RyaW5nO1xuICBvcHRpb25zPzogTGlzdEl0ZW1bXTtcbiAgZmlsdGVyVHlwZXM/OiBMaXN0SXRlbVtdO1xuICBzZXJ2aWNlPzogQmFzZURyb3Bkb3duO1xuICBkZWZhdWx0VmFsdWU/OiBhbnk7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBoaWRkZW4/OiBib29sZWFuO1xuICBkZXBlbmRlbmNpZXM/OiBzdHJpbmdbXTtcbiAgc2l6ZT86ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgfCAnbGFyZ2VzdCcgfCAnZnVsbCc7XG4gIG1pbkxlbmd0aFRvU2VydmljZT86IG51bWJlcjtcbiAgaW5pdGlhdGVWYWx1ZT86IGJvb2xlYW47XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZWN0b3ItZmlsdGVycycsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXJzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsdGVycy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGZpZWxkcyhfZmllbGRzOiBGaWx0ZXJGaWVsZFtdKSB7XG4gICAgY29uc3QgaXNGaXJzdFNldCA9ICF0aGlzLl9maWVsZHMubGVuZ3RoICYmIF9maWVsZHM/Lmxlbmd0aDtcbiAgICB0aGlzLl9maWVsZHMgPSBfZmllbGRzO1xuICAgIHRoaXMuZm9ybUdyb3VwID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe30pO1xuXG4gICAgdGhpcy5maWVsZHNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmZpZWxkc1N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIHRoaXMuZmllbGRzPy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgaWYgKGZpZWxkPy5kZWZhdWx0VmFsdWUgJiYgdHlwZW9mIGZpZWxkPy5kZWZhdWx0VmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGZpZWxkLmluaXRpYXRlVmFsdWUgPSAhIWZpZWxkLmRlZmF1bHRWYWx1ZT8uY29kZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZpZWxkLmluaXRpYXRlVmFsdWUgPSAhIWZpZWxkLmRlZmF1bHRWYWx1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChmaWVsZC50eXBlID09PSBGaWVsZFR5cGUuREFURV9SQU5HRSkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgICAgIGZpZWxkLm5hbWUsXG4gICAgICAgICAgbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xuICAgICAgICAgICAgc3RhcnREYXRlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHsgdmFsdWU6IGZpZWxkLmRlZmF1bHRWYWx1ZT8uc3RhcnREYXRlLCBkaXNhYmxlZDogZmllbGQucmVhZG9ubHkgfSwgW1xuICAgICAgICAgICAgICAuLi50aGlzLmJ1aWxkVmFsaWRhdG9ycyhmaWVsZCksXG4gICAgICAgICAgICAgIFZhbGlkYXRpb25VdGlsLmxvd2VyVGhhbk9yRXF1YWxUbygnZW5kRGF0ZScpLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICBlbmREYXRlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHsgdmFsdWU6IGZpZWxkLmRlZmF1bHRWYWx1ZT8uZW5kRGF0ZSwgZGlzYWJsZWQ6IGZpZWxkLnJlYWRvbmx5IH0sIFtcbiAgICAgICAgICAgICAgLi4udGhpcy5idWlsZFZhbGlkYXRvcnMoZmllbGQpLFxuICAgICAgICAgICAgICBWYWxpZGF0aW9uVXRpbC5ncmVhdGVyVGhhbk9yRXF1YWxUbygnc3RhcnREYXRlJyksXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICAgICBmaWVsZC5uYW1lLFxuICAgICAgICAgIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woeyB2YWx1ZTogZmllbGQuZGVmYXVsdFZhbHVlLCBkaXNhYmxlZDogZmllbGQucmVhZG9ubHkgfSwgdGhpcy5idWlsZFZhbGlkYXRvcnMoZmllbGQpKVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5maWVsZHNcbiAgICAgID8uZmlsdGVyKChmaWVsZCkgPT4gZmllbGQuZGVwZW5kZW5jaWVzKVxuICAgICAgLmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgICAgIGZpZWxkLmRlcGVuZGVuY2llcz8uZm9yRWFjaCgoZGVwZW5kZW5jeSkgPT4ge1xuICAgICAgICAgIHRoaXMuZmllbGRzU3Vic2NyaXB0aW9uLmFkZChcbiAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChkZXBlbmRlbmN5KT8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KGZpZWxkLm5hbWUpPy5yZXNldCgpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5wYXRjaEZvcm1Gcm9tUXVlcnlQYXJhbXMoeyAuLi50aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zIH0pO1xuXG4gICAgaWYgKHRoaXMuX2ZpZWxkcz8ubGVuZ3RoICYmIHRoaXMuZm9ybUdyb3VwLnZhbGlkICYmIGlzRmlyc3RTZXQpIHtcbiAgICAgIHRoaXMuc2VhcmNoKCk7XG4gICAgfVxuICAgIHRoaXMuZm9ybUJ1aWxkZWQuZW1pdCgpO1xuXG4gICAgdGhpcy5maWVsZHNTdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoKHF1ZXJ5UGFyYW1zKSA9PiB7XG4gICAgICAgIHRoaXMucGF0Y2hGb3JtRnJvbVF1ZXJ5UGFyYW1zKHsgLi4ucXVlcnlQYXJhbXMgfSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvblNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KClcbiAgcHVibGljIGZvcm1CdWlsZGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHB1YmxpYyBnZXQgZmllbGRzKCkge1xuICAgIHJldHVybiB0aGlzLl9maWVsZHM7XG4gIH1cblxuICBwdWJsaWMgZmllbGRUeXBlcyA9IEZpZWxkVHlwZTtcbiAgcHVibGljIGZvcm1Hcm91cCA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHt9KTtcbiAgcHJpdmF0ZSBfZmllbGRzOiBGaWx0ZXJGaWVsZFtdID0gW107XG4gIHByaXZhdGUgZmllbGRzU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGdldCBoaWRlRmlsdGVycygpIHtcbiAgICByZXR1cm4gIXRoaXMuZmllbGRzPy5maWx0ZXIoKGl0ZW0pID0+ICFpdGVtLmhpZGRlbikubGVuZ3RoO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZmllbGRzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoKCkge1xuICAgIHRoaXMuZm9ybUdyb3VwLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcbiAgICAgIGNvbnN0IGZpbHRlclZhbHVlID0gdGhpcy5mb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKTtcbiAgICAgIE9iamVjdC5rZXlzKGZpbHRlclZhbHVlKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgaWYgKGZpbHRlclZhbHVlW2tleV0/Lmhhc093blByb3BlcnR5KCdjb2RlJykpIHtcbiAgICAgICAgICBmaWx0ZXJWYWx1ZVtrZXldID0gZmlsdGVyVmFsdWVba2V5XS5jb2RlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghT2JqZWN0VXRpbC5pc1ZhbGlkKGZpbHRlclZhbHVlW2tleV0pKSB7XG4gICAgICAgICAgY29uc3QgZmllbGRUeXBlID0gdGhpcy5maWVsZHMuZmluZCgoZmllbGQpID0+IGZpZWxkLm5hbWUgPT09IGtleSk/LnR5cGUgfHwgRmllbGRUeXBlLlRFWFQ7XG4gICAgICAgICAgZmlsdGVyVmFsdWVba2V5XSA9IFtGaWVsZFR5cGUuRFJPUERPV04sIEZpZWxkVHlwZS5OVU1CRVJdLmluY2x1ZGVzKGZpZWxkVHlwZSkgPyAtMSA6ICcnO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMub25TZWFyY2guZW1pdChmaWx0ZXJWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzVGV4dEZpZWxkVHlwZShmaWVsZDogRmlsdGVyRmllbGQpIHtcbiAgICByZXR1cm4gW0ZpZWxkVHlwZS5URVhULCBGaWVsZFR5cGUuTlVNQkVSXS5pbmNsdWRlcyhmaWVsZC50eXBlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGaWVsZERlcGVuZGVuY2llcyhmaWVsZDogRmlsdGVyRmllbGQpIHtcbiAgICBpZiAoIWZpZWxkLmRlcGVuZGVuY2llcykge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIGZpZWxkLmRlcGVuZGVuY2llcy5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IHtcbiAgICAgIGxldCBkZXBWYWx1ZTogYW55ID0gdGhpcy5mb3JtR3JvdXAuZ2V0KGN1cnIpPy52YWx1ZT8uY29kZTtcbiAgICAgIGlmICghT2JqZWN0VXRpbC5pc1ZhbGlkKGRlcFZhbHVlKSkge1xuICAgICAgICBkZXBWYWx1ZSA9IC0xO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ucHJldixcbiAgICAgICAgW2N1cnJdOiBkZXBWYWx1ZSxcbiAgICAgIH07XG4gICAgfSwge30pO1xuICB9XG5cbiAgcHVibGljIGdldEdyaWRDbGFzcyhmaWVsZDogRmlsdGVyRmllbGQpIHtcbiAgICBzd2l0Y2ggKGZpZWxkLnNpemUpIHtcbiAgICAgIGNhc2UgJ3NtYWxsJzpcbiAgICAgICAgcmV0dXJuICdtZDpjb2wtMSc7XG4gICAgICBjYXNlICdtZWRpdW0nOlxuICAgICAgICByZXR1cm4gJ21kOmNvbC0zJztcbiAgICAgIGNhc2UgJ2xhcmdlJzpcbiAgICAgICAgcmV0dXJuICdtZDpjb2wtNCc7XG4gICAgICBjYXNlICdsYXJnZXN0JzpcbiAgICAgICAgcmV0dXJuICdtZDpjb2wtOCc7XG4gICAgICBjYXNlICdmdWxsJzpcbiAgICAgICAgcmV0dXJuICdtZDpjb2wtMTInO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdtZDpjb2wtNCc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwYXRjaEZvcm1Gcm9tUXVlcnlQYXJhbXMocXVlcnlQYXJhbXM6IGFueSkge1xuICAgIGlmIChPYmplY3Qua2V5cyhxdWVyeVBhcmFtcykubGVuZ3RoKSB7XG4gICAgICB0aGlzLmZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgICBpZiAocXVlcnlQYXJhbXMuaGFzT3duUHJvcGVydHkoZmllbGQubmFtZSkpIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbXNbZmllbGQubmFtZV0gPSBxdWVyeVBhcmFtc1tmaWVsZC5uYW1lXVxuICAgICAgICAgICAgICA/IEpTT04ucGFyc2UocXVlcnlQYXJhbXNbZmllbGQubmFtZV0pXG4gICAgICAgICAgICAgIDogcXVlcnlQYXJhbXNbZmllbGQubmFtZV07XG4gICAgICAgICAgfSBjYXRjaCAoXykge31cbiAgICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gRmllbGRUeXBlLkRBVEVfUkFOR0UpIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zW2ZpZWxkLm5hbWVdID0ge1xuICAgICAgICAgICAgICBzdGFydERhdGU6IHF1ZXJ5UGFyYW1zW2ZpZWxkLm5hbWVdLnN0YXJ0RGF0ZSA/IG5ldyBEYXRlKHF1ZXJ5UGFyYW1zW2ZpZWxkLm5hbWVdLnN0YXJ0RGF0ZSkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIGVuZERhdGU6IHF1ZXJ5UGFyYW1zW2ZpZWxkLm5hbWVdLmVuZERhdGUgPyBuZXcgRGF0ZShxdWVyeVBhcmFtc1tmaWVsZC5uYW1lXS5lbmREYXRlKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChmaWVsZC50eXBlID09PSBGaWVsZFR5cGUuREFURSkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbXNbZmllbGQubmFtZV0gPSBxdWVyeVBhcmFtc1tmaWVsZC5uYW1lXSA/IG5ldyBEYXRlKHF1ZXJ5UGFyYW1zW2ZpZWxkLm5hbWVdKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZShxdWVyeVBhcmFtcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFZhbGlkYXRvcnMoZmllbGQ6IEZpbHRlckZpZWxkKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgY29uc3QgdmFsaWRhdG9ycyA9IFtdO1xuICAgIGlmIChmaWVsZC5yZXF1aXJlZCkge1xuICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgIH1cbiAgICBpZiAoZmllbGQubWluTGVuZ3RoKSB7XG4gICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5taW5MZW5ndGgoZmllbGQubWluTGVuZ3RoKSk7XG4gICAgfVxuICAgIGlmIChmaWVsZC5tYXhMZW5ndGgpIHtcbiAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLm1heExlbmd0aChmaWVsZC5tYXhMZW5ndGgpKTtcbiAgICB9XG4gICAgaWYgKGZpZWxkLm1pbikge1xuICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMubWluKGZpZWxkLm1pbikpO1xuICAgIH1cbiAgICBpZiAoZmllbGQubWF4KSB7XG4gICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5tYXgoZmllbGQubWF4KSk7XG4gICAgfVxuICAgIHJldHVybiB2YWxpZGF0b3JzO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ3JpZCBmaWx0ZXItY29udGFpbmVyXCIgW25nQ2xhc3NdPVwieyAnZGlzcGxheS1ub25lJzogaGlkZUZpbHRlcnMgfVwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gIDxkaXYgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGZpZWxkcyB8IG5vdEhpZGRlblwiIGNsYXNzPVwiZmllbGQgY29sLTEyIHNtOmNvbC04IHt7IGdldEdyaWRDbGFzcyhmaWVsZCkgfX1cIj5cbiAgICA8bGFiZWw+e3sgZmllbGQubGFiZWwgfX08L2xhYmVsPlxuICAgIDx2ZWN0b3ItdGV4dC1maWVsZFxuICAgICAgKm5nSWY9XCJpc1RleHRGaWVsZFR5cGUoZmllbGQpXCJcbiAgICAgIFtjb250cm9sXT1cImZvcm1Hcm91cC5nZXQoZmllbGQubmFtZSlcIlxuICAgICAgW21hc2tdPVwiZmllbGQubWFza1wiXG4gICAgICBbbGFiZWxdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgW2lzUmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW251bWVyaWNdPVwiZmllbGQudHlwZSA9PT0gZmllbGRUeXBlcy5OVU1CRVJcIlxuICAgID48L3ZlY3Rvci10ZXh0LWZpZWxkPlxuICAgIDx2ZWN0b3ItZHJvcGRvd24tZmllbGRcbiAgICAgICpuZ0lmPVwiW2ZpZWxkVHlwZXMuRFlOQU1JQ19EUk9QRE9XTiwgZmllbGRUeXBlcy5EUk9QRE9XTl0uaW5jbHVkZXMoZmllbGQudHlwZSlcIlxuICAgICAgW2R5bmFtaWNGaWx0ZXJzXT1cImZpZWxkLmZpbHRlclR5cGVzXCJcbiAgICAgIFtkaXNhYmxlZF09XCJmaWVsZC5kaXNhYmxlZFwiXG4gICAgICBbb3B0aW9uc109XCJmaWVsZC5vcHRpb25zIHx8IFtdXCJcbiAgICAgIFtzZXJ2aWNlXT1cImZpZWxkLnNlcnZpY2VcIlxuICAgICAgW2lzUmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgW21pbkxlbmd0aFRvU2VydmljZV09XCJmaWVsZC5taW5MZW5ndGhUb1NlcnZpY2UgfHwgMFwiXG4gICAgICBbY29udHJvbF09XCJmb3JtR3JvdXAuZ2V0KGZpZWxkLm5hbWUpXCJcbiAgICAgIFtwYWdlZF09XCJmYWxzZVwiXG4gICAgICBbZGVwZW5kZW5jaWVzXT1cImdldEZpZWxkRGVwZW5kZW5jaWVzKGZpZWxkKVwiXG4gICAgICBbaW5pdGlhbExvYWRdPVwiZmllbGQuaW5pdGlhdGVWYWx1ZVwiXG4gICAgPjwvdmVjdG9yLWRyb3Bkb3duLWZpZWxkPlxuICAgIDx2ZWN0b3ItY3VycmVuY3ktZmllbGRcbiAgICAgICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gZmllbGRUeXBlcy5DVVJSRU5DWVwiXG4gICAgICBbY29udHJvbF09XCJmb3JtR3JvdXAuZ2V0KGZpZWxkLm5hbWUpXCJcbiAgICAgIFtvdXRsaW5lZF09XCJ0cnVlXCJcbiAgICA+PC92ZWN0b3ItY3VycmVuY3ktZmllbGQ+XG4gICAgPHZlY3Rvci1jYWxlbmRhci1maWVsZFxuICAgICAgKm5nSWY9XCJmaWVsZC50eXBlID09PSBmaWVsZFR5cGVzLkRBVEVcIlxuICAgICAgW2NvbnRyb2xdPVwiZm9ybUdyb3VwLmdldChmaWVsZC5uYW1lKVwiXG4gICAgICBbaXNSZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICBbbGFiZWxdPVwiZmllbGQucGxhY2Vob2xkZXIgfHwgJydcIlxuICAgID48L3ZlY3Rvci1jYWxlbmRhci1maWVsZD5cbiAgICA8dmVjdG9yLXNlbGVjdC1idXR0b24tZmllbGRcbiAgICAgICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gZmllbGRUeXBlcy5TRUxFQ1RfQlVUVE9OXCJcbiAgICAgIFtjb250cm9sXT1cImZvcm1Hcm91cC5nZXQoZmllbGQubmFtZSlcIlxuICAgICAgW29wdGlvbnNdPVwiZmllbGQub3B0aW9uc1wiXG4gICAgICAoY2xpY2spPVwic2VhcmNoKClcIlxuICAgID5cbiAgICA8L3ZlY3Rvci1zZWxlY3QtYnV0dG9uLWZpZWxkPlxuICAgIDxkaXYgKm5nSWY9XCJmaWVsZC50eXBlID09PSBmaWVsZFR5cGVzLkRBVEVfUkFOR0VcIiBjbGFzcz1cInJhbmdlLWRhdGUtY29udGFpbmVyXCI+XG4gICAgICA8dmVjdG9yLWNhbGVuZGFyLWZpZWxkXG4gICAgICAgIFtjb250cm9sXT1cImZvcm1Hcm91cC5nZXQoZmllbGQubmFtZSArICcuc3RhcnREYXRlJylcIlxuICAgICAgICBbaXNSZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICAgIFtsYWJlbF09XCJmaWVsZC5wbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICA+PC92ZWN0b3ItY2FsZW5kYXItZmllbGQ+XG4gICAgICBBdMOpXG4gICAgICA8dmVjdG9yLWNhbGVuZGFyLWZpZWxkXG4gICAgICAgIFtjb250cm9sXT1cImZvcm1Hcm91cC5nZXQoZmllbGQubmFtZSArICcuZW5kRGF0ZScpXCJcbiAgICAgICAgW2lzUmVxdWlyZWRdPVwiZmllbGQucmVxdWlyZWRcIlxuICAgICAgICBbbGFiZWxdPVwiZmllbGQucGxhY2Vob2xkZXIgfHwgJydcIlxuICAgICAgPjwvdmVjdG9yLWNhbGVuZGFyLWZpZWxkPlxuICAgIDwvZGl2PlxuICAgIDx2ZWN0b3ItbXVsdGlzZWxlY3QtZmllbGRcbiAgICAgICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gZmllbGRUeXBlcy5NVUxUSVNFTEVDVFwiXG4gICAgICBbY29udHJvbF09XCJmb3JtR3JvdXAuZ2V0KGZpZWxkLm5hbWUpXCJcbiAgICAgIFtvcHRpb25zXT1cImZpZWxkLm9wdGlvbnMgfHwgW11cIlxuICAgID5cbiAgICA8L3ZlY3Rvci1tdWx0aXNlbGVjdC1maWVsZD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJzZWFyY2gtYnV0dG9uIHNtOmNvbC00XCI+XG4gICAgPHZlY3Rvci1idXR0b25cbiAgICAgIFtsYWJlbF09XCInYXBwLmxhYmVsLnNlYXJjaCcgfCB0cmFuc2xhdGVcIlxuICAgICAgKGNsaWNrKT1cInNlYXJjaCgpXCJcbiAgICAgIFtkaXNhYmxlZF09XCIhZm9ybUdyb3VwLnZhbGlkXCJcbiAgICA+PC92ZWN0b3ItYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,2 +1,2 @@
1
- export * from './filters.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9maWx0ZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpbHRlcnMuY29tcG9uZW50JztcclxuIl19
1
+ export * from './filters.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9maWx0ZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpbHRlcnMuY29tcG9uZW50JztcbiJdfQ==
@@ -1,19 +1,19 @@
1
- export * from './button';
2
- export * from './calendar-field';
3
- export * from './checkbox-field';
4
- export * from './currency-field';
5
- export * from './data-table';
6
- export * from './dropdown-field';
7
- export * from './field-error-message';
8
- export * from './fields.module';
9
- export * from './filters';
10
- export * from './input-number-field';
11
- export * from './multiselect-field';
12
- export * from './percentage-field';
13
- export * from './radio-button-field';
14
- export * from './range-value';
15
- export * from './search-field';
16
- export * from './select-button-field';
17
- export * from './text-field';
18
- export * from './textarea-field';
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9idXR0b24nO1xyXG5leHBvcnQgKiBmcm9tICcuL2NhbGVuZGFyLWZpZWxkJztcclxuZXhwb3J0ICogZnJvbSAnLi9jaGVja2JveC1maWVsZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY3VycmVuY3ktZmllbGQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RhdGEtdGFibGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLWZpZWxkJztcclxuZXhwb3J0ICogZnJvbSAnLi9maWVsZC1lcnJvci1tZXNzYWdlJztcclxuZXhwb3J0ICogZnJvbSAnLi9maWVsZHMubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXJzJztcclxuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1udW1iZXItZmllbGQnO1xyXG5leHBvcnQgKiBmcm9tICcuL211bHRpc2VsZWN0LWZpZWxkJztcclxuZXhwb3J0ICogZnJvbSAnLi9wZXJjZW50YWdlLWZpZWxkJztcclxuZXhwb3J0ICogZnJvbSAnLi9yYWRpby1idXR0b24tZmllbGQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3JhbmdlLXZhbHVlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gtZmllbGQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdC1idXR0b24tZmllbGQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RleHQtZmllbGQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RleHRhcmVhLWZpZWxkJztcclxuIl19
1
+ export * from './button';
2
+ export * from './calendar-field';
3
+ export * from './checkbox-field';
4
+ export * from './currency-field';
5
+ export * from './data-table';
6
+ export * from './dropdown-field';
7
+ export * from './field-error-message';
8
+ export * from './fields.module';
9
+ export * from './filters';
10
+ export * from './input-number-field';
11
+ export * from './multiselect-field';
12
+ export * from './percentage-field';
13
+ export * from './radio-button-field';
14
+ export * from './range-value';
15
+ export * from './search-field';
16
+ export * from './select-button-field';
17
+ export * from './text-field';
18
+ export * from './textarea-field';
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9idXR0b24nO1xuZXhwb3J0ICogZnJvbSAnLi9jYWxlbmRhci1maWVsZCc7XG5leHBvcnQgKiBmcm9tICcuL2NoZWNrYm94LWZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vY3VycmVuY3ktZmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhLXRhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24tZmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9maWVsZC1lcnJvci1tZXNzYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vZmllbGRzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1udW1iZXItZmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9tdWx0aXNlbGVjdC1maWVsZCc7XG5leHBvcnQgKiBmcm9tICcuL3BlcmNlbnRhZ2UtZmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9yYWRpby1idXR0b24tZmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9yYW5nZS12YWx1ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC1maWVsZCc7XG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdC1idXR0b24tZmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0LWZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dGFyZWEtZmllbGQnO1xuIl19
@@ -1,2 +1,2 @@
1
- export * from './input-number-field.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9pbnB1dC1udW1iZXItZmllbGQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaW5wdXQtbnVtYmVyLWZpZWxkLmNvbXBvbmVudCc7XHJcbiJdfQ==
1
+ export * from './input-number-field.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9pbnB1dC1udW1iZXItZmllbGQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaW5wdXQtbnVtYmVyLWZpZWxkLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,85 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/forms";
4
+ import * as i2 from "primeng/inputnumber";
5
+ export class InputNumberFieldComponent {
6
+ constructor() {
7
+ this.showButtons = false;
8
+ this.type = 'decimal';
9
+ this.minFractionDigits = 0;
10
+ this.maxFractionDigits = 4;
11
+ this.buttonLayout = 'horizontal';
12
+ this.incrementButtonIcon = 'pi pi-plus-circle';
13
+ this.decrementButtonIcon = 'pi pi-minus-circle';
14
+ this.min = 0;
15
+ this.step = 1;
16
+ this.disabled = false;
17
+ this.onFocus = new EventEmitter();
18
+ this.onBlur = new EventEmitter();
19
+ this.onInput = new EventEmitter();
20
+ this.onClear = new EventEmitter();
21
+ this._maxFractionDigits = null;
22
+ this._max = null;
23
+ this._suffix = null;
24
+ }
25
+ set max(_max) {
26
+ this._max = _max;
27
+ }
28
+ set suffix(_suffix) {
29
+ this._suffix = _suffix;
30
+ }
31
+ get max() {
32
+ if (this.type === 'percent') {
33
+ return this._max || 100;
34
+ }
35
+ return this._max || 999999999;
36
+ }
37
+ get suffix() {
38
+ switch (this.type) {
39
+ case 'percent':
40
+ return this._suffix || '%';
41
+ }
42
+ return '';
43
+ }
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: InputNumberFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
45
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: InputNumberFieldComponent, selector: "vector-input-number", inputs: { control: "control", showButtons: "showButtons", type: "type", minFractionDigits: "minFractionDigits", maxFractionDigits: "maxFractionDigits", buttonLayout: "buttonLayout", incrementButtonIcon: "incrementButtonIcon", decrementButtonIcon: "decrementButtonIcon", min: "min", step: "step", disabled: "disabled", max: "max", suffix: "suffix" }, outputs: { onFocus: "onFocus", onBlur: "onBlur", onInput: "onInput", onClear: "onClear" }, ngImport: i0, template: "<div class=\"input-container\">\n <p-inputNumber\n [formControl]=\"control\"\n [min]=\"min\"\n [max]=\"max\"\n [suffix]=\"suffix\"\n [step]=\"step\"\n [minFractionDigits]=\"minFractionDigits\"\n [maxFractionDigits]=\"maxFractionDigits\"\n [showButtons]=\"showButtons\"\n [disabled]=\"disabled\"\n [buttonLayout]=\"buttonLayout\"\n [incrementButtonIcon]=\"incrementButtonIcon\"\n [decrementButtonIcon]=\"decrementButtonIcon\"\n ></p-inputNumber>\n</div>\n", styles: [".input-container{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }] }); }
46
+ }
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: InputNumberFieldComponent, decorators: [{
48
+ type: Component,
49
+ args: [{ selector: 'vector-input-number', template: "<div class=\"input-container\">\n <p-inputNumber\n [formControl]=\"control\"\n [min]=\"min\"\n [max]=\"max\"\n [suffix]=\"suffix\"\n [step]=\"step\"\n [minFractionDigits]=\"minFractionDigits\"\n [maxFractionDigits]=\"maxFractionDigits\"\n [showButtons]=\"showButtons\"\n [disabled]=\"disabled\"\n [buttonLayout]=\"buttonLayout\"\n [incrementButtonIcon]=\"incrementButtonIcon\"\n [decrementButtonIcon]=\"decrementButtonIcon\"\n ></p-inputNumber>\n</div>\n", styles: [".input-container{width:100%}\n"] }]
50
+ }], propDecorators: { control: [{
51
+ type: Input
52
+ }], showButtons: [{
53
+ type: Input
54
+ }], type: [{
55
+ type: Input
56
+ }], minFractionDigits: [{
57
+ type: Input
58
+ }], maxFractionDigits: [{
59
+ type: Input
60
+ }], buttonLayout: [{
61
+ type: Input
62
+ }], incrementButtonIcon: [{
63
+ type: Input
64
+ }], decrementButtonIcon: [{
65
+ type: Input
66
+ }], min: [{
67
+ type: Input
68
+ }], step: [{
69
+ type: Input
70
+ }], disabled: [{
71
+ type: Input
72
+ }], max: [{
73
+ type: Input
74
+ }], suffix: [{
75
+ type: Input
76
+ }], onFocus: [{
77
+ type: Output
78
+ }], onBlur: [{
79
+ type: Output
80
+ }], onInput: [{
81
+ type: Output
82
+ }], onClear: [{
83
+ type: Output
84
+ }] } });
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvZmllbGRzL2lucHV0LW51bWJlci1maWVsZC9pbnB1dC1udW1iZXItZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvaW5wdXQtbnVtYmVyLWZpZWxkL2lucHV0LW51bWJlci1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBTXZFLE1BQU0sT0FBTyx5QkFBeUI7SUFMdEM7UUFTUyxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUU3QixTQUFJLEdBQTBCLFNBQVMsQ0FBQztRQUV4QyxzQkFBaUIsR0FBVyxDQUFDLENBQUM7UUFFOUIsc0JBQWlCLEdBQVcsQ0FBQyxDQUFDO1FBRTlCLGlCQUFZLEdBQTBDLFlBQVksQ0FBQztRQUVuRSx3QkFBbUIsR0FBVyxtQkFBbUIsQ0FBQztRQUVsRCx3QkFBbUIsR0FBVyxvQkFBb0IsQ0FBQztRQUVuRCxRQUFHLEdBQVcsQ0FBQyxDQUFDO1FBRWhCLFNBQUksR0FBVyxDQUFDLENBQUM7UUFFakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQVlqQixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU3QixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU1QixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU3QixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQWlCN0IsdUJBQWtCLEdBQWtCLElBQUksQ0FBQztRQUN6QyxTQUFJLEdBQWtCLElBQUksQ0FBQztRQUMzQixZQUFPLEdBQWtCLElBQUksQ0FBQztLQUN0QztJQXBDQyxJQUNXLEdBQUcsQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUNXLE1BQU0sQ0FBQyxPQUFPO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFXRCxJQUFJLEdBQUc7UUFDTCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQzNCLE9BQU8sSUFBSSxDQUFDLElBQUksSUFBSSxHQUFHLENBQUM7U0FDekI7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLElBQUksU0FBUyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDakIsS0FBSyxTQUFTO2dCQUNaLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUM7U0FDOUI7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7OEdBdkRVLHlCQUF5QjtrR0FBekIseUJBQXlCLG9mQ050Qyw4ZUFnQkE7OzJGRFZhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSxxQkFBcUI7OEJBTXhCLE9BQU87c0JBRGIsS0FBSztnQkFHQyxXQUFXO3NCQURqQixLQUFLO2dCQUdDLElBQUk7c0JBRFYsS0FBSztnQkFHQyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBR0MsaUJBQWlCO3NCQUR2QixLQUFLO2dCQUdDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBR0MsbUJBQW1CO3NCQUR6QixLQUFLO2dCQUdDLG1CQUFtQjtzQkFEekIsS0FBSztnQkFHQyxHQUFHO3NCQURULEtBQUs7Z0JBR0MsSUFBSTtzQkFEVixLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFJSyxHQUFHO3NCQURiLEtBQUs7Z0JBS0ssTUFBTTtzQkFEaEIsS0FBSztnQkFNQyxPQUFPO3NCQURiLE1BQU07Z0JBR0EsTUFBTTtzQkFEWixNQUFNO2dCQUdBLE9BQU87c0JBRGIsTUFBTTtnQkFHQSxPQUFPO3NCQURiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVjdG9yLWlucHV0LW51bWJlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1udW1iZXItZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC1udW1iZXItZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXROdW1iZXJGaWVsZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb250cm9sOiBhbnk7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93QnV0dG9uczogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgdHlwZTogJ2RlY2ltYWwnIHwgJ3BlcmNlbnQnID0gJ2RlY2ltYWwnO1xuICBASW5wdXQoKVxuICBwdWJsaWMgbWluRnJhY3Rpb25EaWdpdHM6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYXhGcmFjdGlvbkRpZ2l0czogbnVtYmVyID0gNDtcbiAgQElucHV0KClcbiAgcHVibGljIGJ1dHRvbkxheW91dDogJ3N0YWNrZWQnIHwgJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyA9ICdob3Jpem9udGFsJztcbiAgQElucHV0KClcbiAgcHVibGljIGluY3JlbWVudEJ1dHRvbkljb246IHN0cmluZyA9ICdwaSBwaS1wbHVzLWNpcmNsZSc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkZWNyZW1lbnRCdXR0b25JY29uOiBzdHJpbmcgPSAncGkgcGktbWludXMtY2lyY2xlJztcbiAgQElucHV0KClcbiAgcHVibGljIG1pbjogbnVtYmVyID0gMDtcbiAgQElucHV0KClcbiAgcHVibGljIHN0ZXA6IG51bWJlciA9IDE7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbWF4KF9tYXgpIHtcbiAgICB0aGlzLl9tYXggPSBfbWF4O1xuICB9XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc3VmZml4KF9zdWZmaXgpIHtcbiAgICB0aGlzLl9zdWZmaXggPSBfc3VmZml4O1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KClcbiAgcHVibGljIG9uQmx1ciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbklucHV0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KClcbiAgcHVibGljIG9uQ2xlYXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgZ2V0IG1heCgpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLnR5cGUgPT09ICdwZXJjZW50Jykge1xuICAgICAgcmV0dXJuIHRoaXMuX21heCB8fCAxMDA7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9tYXggfHwgOTk5OTk5OTk5O1xuICB9XG5cbiAgZ2V0IHN1ZmZpeCgpIHtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSAncGVyY2VudCc6XG4gICAgICAgIHJldHVybiB0aGlzLl9zdWZmaXggfHwgJyUnO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwdWJsaWMgX21heEZyYWN0aW9uRGlnaXRzOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgcHVibGljIF9tYXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgX3N1ZmZpeDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG59XG4iLCI8ZGl2IGNsYXNzPVwiaW5wdXQtY29udGFpbmVyXCI+XG4gIDxwLWlucHV0TnVtYmVyXG4gICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAgIFttaW5dPVwibWluXCJcbiAgICBbbWF4XT1cIm1heFwiXG4gICAgW3N1ZmZpeF09XCJzdWZmaXhcIlxuICAgIFtzdGVwXT1cInN0ZXBcIlxuICAgIFttaW5GcmFjdGlvbkRpZ2l0c109XCJtaW5GcmFjdGlvbkRpZ2l0c1wiXG4gICAgW21heEZyYWN0aW9uRGlnaXRzXT1cIm1heEZyYWN0aW9uRGlnaXRzXCJcbiAgICBbc2hvd0J1dHRvbnNdPVwic2hvd0J1dHRvbnNcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2J1dHRvbkxheW91dF09XCJidXR0b25MYXlvdXRcIlxuICAgIFtpbmNyZW1lbnRCdXR0b25JY29uXT1cImluY3JlbWVudEJ1dHRvbkljb25cIlxuICAgIFtkZWNyZW1lbnRCdXR0b25JY29uXT1cImRlY3JlbWVudEJ1dHRvbkljb25cIlxuICA+PC9wLWlucHV0TnVtYmVyPlxuPC9kaXY+XG4iXX0=
@@ -1,2 +1,2 @@
1
- export * from './multiselect-field.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9tdWx0aXNlbGVjdC1maWVsZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tdWx0aXNlbGVjdC1maWVsZC5jb21wb25lbnQnO1xyXG4iXX0=
1
+ export * from './multiselect-field.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9tdWx0aXNlbGVjdC1maWVsZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tdWx0aXNlbGVjdC1maWVsZC5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,50 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/forms";
4
+ import * as i2 from "primeng/multiselect";
5
+ export class MultiselectFieldComponent {
6
+ constructor() {
7
+ this.isRequired = false;
8
+ this.label = '';
9
+ this.options = [];
10
+ this.filter = false;
11
+ this.showSelectAllOption = true;
12
+ this.onChange = new EventEmitter();
13
+ }
14
+ get placeholder() {
15
+ if (!this.label) {
16
+ return '';
17
+ }
18
+ return `${this.label}${this.isRequired ? '*' : ''}`;
19
+ }
20
+ fieldErrorLabel() {
21
+ if (this.control && this.control.invalid && this.control.touched) {
22
+ if (this.control.hasError('required')) {
23
+ return 'Campo obrigatório';
24
+ }
25
+ return typeof this.control.errors['invalid'] === 'string' ? this.control.errors['invalid'] : 'Campo inválido';
26
+ }
27
+ return '';
28
+ }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MultiselectFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: MultiselectFieldComponent, selector: "vector-multiselect-field", inputs: { isRequired: "isRequired", control: "control", label: "label", options: "options", filter: "filter", showSelectAllOption: "showSelectAllOption" }, outputs: { onChange: "onChange" }, ngImport: i0, template: "<div class=\"input-container\">\n <p-multiSelect\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showHeader]=\"true\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n (onChange)=\"onChange.emit($event)\"\n >\n </p-multiSelect>\n <span class=\"input-error\">{{ fieldErrorLabel() }}</span>\n</div>\n", styles: [".input-container{height:62px}.input-container .input-error{font-size:.7em;color:var(--error-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.MultiSelect, selector: "p-multiSelect", inputs: ["style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "appendTo", "dataKey", "name", "label", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove"] }] }); }
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MultiselectFieldComponent, decorators: [{
33
+ type: Component,
34
+ args: [{ selector: 'vector-multiselect-field', template: "<div class=\"input-container\">\n <p-multiSelect\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showHeader]=\"true\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n (onChange)=\"onChange.emit($event)\"\n >\n </p-multiSelect>\n <span class=\"input-error\">{{ fieldErrorLabel() }}</span>\n</div>\n", styles: [".input-container{height:62px}.input-container .input-error{font-size:.7em;color:var(--error-color)}\n"] }]
35
+ }], propDecorators: { isRequired: [{
36
+ type: Input
37
+ }], control: [{
38
+ type: Input
39
+ }], label: [{
40
+ type: Input
41
+ }], options: [{
42
+ type: Input
43
+ }], filter: [{
44
+ type: Input
45
+ }], showSelectAllOption: [{
46
+ type: Input
47
+ }], onChange: [{
48
+ type: Output
49
+ }] } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlzZWxlY3QtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvbXVsdGlzZWxlY3QtZmllbGQvbXVsdGlzZWxlY3QtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvbXVsdGlzZWxlY3QtZmllbGQvbXVsdGlzZWxlY3QtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVF2RSxNQUFNLE9BQU8seUJBQXlCO0lBTHRDO1FBT1MsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUk1QixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRW5CLFlBQU8sR0FBZSxFQUFFLENBQUM7UUFFekIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVmLHdCQUFtQixHQUFZLElBQUksQ0FBQztRQUVwQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQW9CdEM7SUFsQkMsSUFBSSxXQUFXO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBQ0QsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDaEUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDckMsT0FBTyxtQkFBbUIsQ0FBQzthQUM1QjtZQUVELE9BQU8sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztTQUMvRztRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzs4R0FqQ1UseUJBQXlCO2tHQUF6Qix5QkFBeUIsK1BDUnRDLGdzQkFzQkE7OzJGRGRhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSwwQkFBMEI7OEJBTTdCLFVBQVU7c0JBRGhCLEtBQUs7Z0JBR0MsT0FBTztzQkFEYixLQUFLO2dCQUdDLEtBQUs7c0JBRFgsS0FBSztnQkFHQyxPQUFPO3NCQURiLEtBQUs7Z0JBR0MsTUFBTTtzQkFEWixLQUFLO2dCQUdDLG1CQUFtQjtzQkFEekIsS0FBSztnQkFHQyxRQUFRO3NCQURkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGlzdEl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZWN0b3ItbXVsdGlzZWxlY3QtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGlzZWxlY3QtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tdWx0aXNlbGVjdC1maWVsZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aXNlbGVjdEZpZWxkQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgcHVibGljIGlzUmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgcHVibGljIGNvbnRyb2w6IGFueTtcbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KClcbiAgcHVibGljIG9wdGlvbnM6IExpc3RJdGVtW10gPSBbXTtcbiAgQElucHV0KClcbiAgcHVibGljIGZpbHRlciA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2hvd1NlbGVjdEFsbE9wdGlvbjogYm9vbGVhbiA9IHRydWU7XG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgZ2V0IHBsYWNlaG9sZGVyKCkge1xuICAgIGlmICghdGhpcy5sYWJlbCkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICByZXR1cm4gYCR7dGhpcy5sYWJlbH0ke3RoaXMuaXNSZXF1aXJlZCA/ICcqJyA6ICcnfWA7XG4gIH1cblxuICBwdWJsaWMgZmllbGRFcnJvckxhYmVsKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuY29udHJvbCAmJiB0aGlzLmNvbnRyb2wuaW52YWxpZCAmJiB0aGlzLmNvbnRyb2wudG91Y2hlZCkge1xuICAgICAgaWYgKHRoaXMuY29udHJvbC5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgICByZXR1cm4gJ0NhbXBvIG9icmlnYXTDs3Jpbyc7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0eXBlb2YgdGhpcy5jb250cm9sLmVycm9yc1snaW52YWxpZCddID09PSAnc3RyaW5nJyA/IHRoaXMuY29udHJvbC5lcnJvcnNbJ2ludmFsaWQnXSA6ICdDYW1wbyBpbnbDoWxpZG8nO1xuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImlucHV0LWNvbnRhaW5lclwiPlxuICA8cC1tdWx0aVNlbGVjdFxuICAgICNtdWx0aXNlbGVjdFxuICAgIGFwcGVuZFRvPVwiYm9keVwiXG4gICAgb3B0aW9uTGFiZWw9XCJuYW1lXCJcbiAgICBvcHRpb25WYWx1ZT1cImNvZGVcIlxuICAgIGRyb3Bkb3duSWNvbj1cImZhcyBmYS1zb3J0LWRvd25cIlxuICAgIHNlbGVjdGVkSXRlbXNMYWJlbD1cIlNlbGVjaW9uYXIgdG9kb3NcIlxuICAgIFtwYW5lbFN0eWxlQ2xhc3NdPVwiZmlsdGVyID8gJ2hhcy1maWx0ZXInIDogJydcIlxuICAgIFtvcHRpb25zXT1cIm9wdGlvbnNcIlxuICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFtmaWx0ZXJdPVwiZmlsdGVyXCJcbiAgICBbbWF4U2VsZWN0ZWRMYWJlbHNdPVwib3B0aW9ucy5sZW5ndGggLSAxXCJcbiAgICBbc2hvd0hlYWRlcl09XCJ0cnVlXCJcbiAgICBbc2hvd1RvZ2dsZUFsbF09XCJzaG93U2VsZWN0QWxsT3B0aW9uXCJcbiAgICBbZHJvcGRvd25JY29uXT1cIidwaSBwaS1jaGV2cm9uLWRvd24nXCJcbiAgICAob25DaGFuZ2UpPVwib25DaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgPlxuICA8L3AtbXVsdGlTZWxlY3Q+XG4gIDxzcGFuIGNsYXNzPVwiaW5wdXQtZXJyb3JcIj57eyBmaWVsZEVycm9yTGFiZWwoKSB9fTwvc3Bhbj5cbjwvZGl2PlxuIl19
@@ -1,2 +1,2 @@
1
- export * from './percentage-field.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9wZXJjZW50YWdlLWZpZWxkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3BlcmNlbnRhZ2UtZmllbGQuY29tcG9uZW50JztcclxuIl19
1
+ export * from './percentage-field.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9wZXJjZW50YWdlLWZpZWxkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3BlcmNlbnRhZ2UtZmllbGQuY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,42 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/forms";
4
+ import * as i2 from "primeng/inputnumber";
5
+ export class PercentageFieldComponent {
6
+ constructor() {
7
+ this.min = 0;
8
+ this.max = 100;
9
+ this.minFractionDigits = 0;
10
+ this.maxFractionDigits = 0;
11
+ this.step = 0;
12
+ this.blurEvent = new EventEmitter();
13
+ this.enterKeyPress = new EventEmitter();
14
+ this.focusEvent = new EventEmitter();
15
+ this.percentageRegex = `^(100(\\.0{1,2})?|[1-9]?\\d(\\.\\d{1,2})?)$`;
16
+ }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: PercentageFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: PercentageFieldComponent, selector: "vector-percentage-field", inputs: { control: "control", min: "min", max: "max", minFractionDigits: "minFractionDigits", maxFractionDigits: "maxFractionDigits", step: "step" }, outputs: { blurEvent: "blurEvent", enterKeyPress: "enterKeyPress", focusEvent: "focusEvent" }, ngImport: i0, template: "<form class=\"input-container\">\n <p-inputNumber\n [formControl]=\"control\"\n suffix=\"%\"\n [min]=\"min\"\n [max]=\"max\"\n [minFractionDigits]=\"minFractionDigits\"\n [maxFractionDigits]=\"maxFractionDigits\"\n [step]=\"step\"\n [showButtons]=\"step > 1\"\n buttonLayout=\"horizontal\"\n decrementButtonIcon=\"pi pi-minus-circle\"\n incrementButtonIcon=\"pi pi-plus-circle\"\n ></p-inputNumber>\n</form>\n", styles: [".input-container{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }] }); }
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: PercentageFieldComponent, decorators: [{
21
+ type: Component,
22
+ args: [{ selector: 'vector-percentage-field', template: "<form class=\"input-container\">\n <p-inputNumber\n [formControl]=\"control\"\n suffix=\"%\"\n [min]=\"min\"\n [max]=\"max\"\n [minFractionDigits]=\"minFractionDigits\"\n [maxFractionDigits]=\"maxFractionDigits\"\n [step]=\"step\"\n [showButtons]=\"step > 1\"\n buttonLayout=\"horizontal\"\n decrementButtonIcon=\"pi pi-minus-circle\"\n incrementButtonIcon=\"pi pi-plus-circle\"\n ></p-inputNumber>\n</form>\n", styles: [".input-container{width:100%}\n"] }]
23
+ }], propDecorators: { control: [{
24
+ type: Input
25
+ }], min: [{
26
+ type: Input
27
+ }], max: [{
28
+ type: Input
29
+ }], minFractionDigits: [{
30
+ type: Input
31
+ }], maxFractionDigits: [{
32
+ type: Input
33
+ }], step: [{
34
+ type: Input
35
+ }], blurEvent: [{
36
+ type: Output
37
+ }], enterKeyPress: [{
38
+ type: Output
39
+ }], focusEvent: [{
40
+ type: Output
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyY2VudGFnZS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9wZXJjZW50YWdlLWZpZWxkL3BlcmNlbnRhZ2UtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvcGVyY2VudGFnZS1maWVsZC9wZXJjZW50YWdlLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFPdkUsTUFBTSxPQUFPLHdCQUF3QjtJQUxyQztRQVNTLFFBQUcsR0FBVyxDQUFDLENBQUM7UUFFaEIsUUFBRyxHQUFXLEdBQUcsQ0FBQztRQUVsQixzQkFBaUIsR0FBVyxDQUFDLENBQUM7UUFFOUIsc0JBQWlCLEdBQVcsQ0FBQyxDQUFDO1FBRTlCLFNBQUksR0FBRyxDQUFDLENBQUM7UUFFVCxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUvQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFbkMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdkIsb0JBQWUsR0FBRyw2Q0FBNkMsQ0FBQztLQUNqRjs4R0FyQlksd0JBQXdCO2tHQUF4Qix3QkFBd0Isb1RDUHJDLDhiQWVBOzsyRkRSYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UseUJBQXlCOzhCQU01QixPQUFPO3NCQURiLEtBQUs7Z0JBR0MsR0FBRztzQkFEVCxLQUFLO2dCQUdDLEdBQUc7c0JBRFQsS0FBSztnQkFHQyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBR0MsaUJBQWlCO3NCQUR2QixLQUFLO2dCQUdDLElBQUk7c0JBRFYsS0FBSztnQkFHQyxTQUFTO3NCQURmLE1BQU07Z0JBR0EsYUFBYTtzQkFEbkIsTUFBTTtnQkFHQSxVQUFVO3NCQURoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVjdG9yLXBlcmNlbnRhZ2UtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGVyY2VudGFnZS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BlcmNlbnRhZ2UtZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUGVyY2VudGFnZUZpZWxkQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgcHVibGljIGNvbnRyb2w6IGFueTtcbiAgQElucHV0KClcbiAgcHVibGljIG1pbjogbnVtYmVyID0gMDtcbiAgQElucHV0KClcbiAgcHVibGljIG1heDogbnVtYmVyID0gMTAwO1xuICBASW5wdXQoKVxuICBwdWJsaWMgbWluRnJhY3Rpb25EaWdpdHM6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYXhGcmFjdGlvbkRpZ2l0czogbnVtYmVyID0gMDtcbiAgQElucHV0KClcbiAgcHVibGljIHN0ZXAgPSAwO1xuICBAT3V0cHV0KClcbiAgcHVibGljIGJsdXJFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBlbnRlcktleVByZXNzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KClcbiAgcHVibGljIGZvY3VzRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHBlcmNlbnRhZ2VSZWdleCA9IGBeKDEwMChcXFxcLjB7MSwyfSk/fFsxLTldP1xcXFxkKFxcXFwuXFxcXGR7MSwyfSk/KSRgO1xufVxuIiwiPGZvcm0gY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIj5cbiAgPHAtaW5wdXROdW1iZXJcbiAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgc3VmZml4PVwiJVwiXG4gICAgW21pbl09XCJtaW5cIlxuICAgIFttYXhdPVwibWF4XCJcbiAgICBbbWluRnJhY3Rpb25EaWdpdHNdPVwibWluRnJhY3Rpb25EaWdpdHNcIlxuICAgIFttYXhGcmFjdGlvbkRpZ2l0c109XCJtYXhGcmFjdGlvbkRpZ2l0c1wiXG4gICAgW3N0ZXBdPVwic3RlcFwiXG4gICAgW3Nob3dCdXR0b25zXT1cInN0ZXAgPiAxXCJcbiAgICBidXR0b25MYXlvdXQ9XCJob3Jpem9udGFsXCJcbiAgICBkZWNyZW1lbnRCdXR0b25JY29uPVwicGkgcGktbWludXMtY2lyY2xlXCJcbiAgICBpbmNyZW1lbnRCdXR0b25JY29uPVwicGkgcGktcGx1cy1jaXJjbGVcIlxuICA+PC9wLWlucHV0TnVtYmVyPlxuPC9mb3JtPlxuIl19
@@ -1,2 +1,2 @@
1
- export * from './radio-button-field.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9yYWRpby1idXR0b24tZmllbGQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcmFkaW8tYnV0dG9uLWZpZWxkLmNvbXBvbmVudCc7XHJcbiJdfQ==
1
+ export * from './radio-button-field.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9yYWRpby1idXR0b24tZmllbGQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcmFkaW8tYnV0dG9uLWZpZWxkLmNvbXBvbmVudCc7XG4iXX0=