ngx-vector-components 4.69.3 → 4.70.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. package/CHANGELOG.md +1029 -1023
  2. package/README.md +35 -35
  3. package/assets/icons/chevron_down_icon.svg +3 -3
  4. package/assets/icons/home_menu_icon.svg +3 -3
  5. package/assets/icons/logout_icon.svg +9 -9
  6. package/assets/icons/menu_footer_icon.svg +3 -3
  7. package/assets/icons/menu_hamburguer_icon.svg +3 -3
  8. package/assets/icons/terms_of_use_icon.svg +9 -9
  9. package/assets/icons/vector_admin_icon.svg +4 -4
  10. package/assets/icons/vector_fintech_icon.svg +3 -3
  11. package/assets/icons/vector_logtech_icon.svg +6 -6
  12. package/assets/icons/vector_marketplace_icon.svg +3 -3
  13. package/assets/images/bunge_logo.svg +23 -23
  14. package/assets/images/cofco_logo.svg +117 -117
  15. package/assets/images/emote_bad.svg +6 -6
  16. package/assets/images/emote_cool.svg +5 -5
  17. package/assets/images/emote_nice.svg +5 -5
  18. package/assets/images/success_sign.svg +4 -4
  19. package/assets/images/vector-logo-horizontal-inverse-color.svg +13 -13
  20. package/assets/images/vector_logo_horizontal.svg +13 -13
  21. package/assets/images/warn_sign.svg +4 -4
  22. package/assets/styles/_fonts.scss +114 -114
  23. package/assets/styles/_mixins.scss +7 -7
  24. package/assets/styles/_primeng-custom-theme.scss +978 -978
  25. package/assets/styles/_spinner.scss +35 -35
  26. package/assets/styles/_styles.scss +115 -115
  27. package/assets/styles/_variables.scss +27 -27
  28. package/esm2020/lib/components/badge/badge.component.mjs +39 -39
  29. package/esm2020/lib/components/badge/badge.module.mjs +19 -19
  30. package/esm2020/lib/components/badge/index.mjs +3 -3
  31. package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +66 -66
  32. package/esm2020/lib/components/breadcrumb/breadcrumb.module.mjs +18 -18
  33. package/esm2020/lib/components/breadcrumb/index.mjs +3 -3
  34. package/esm2020/lib/components/crud-base/crud-base.component.mjs +47 -47
  35. package/esm2020/lib/components/crud-base/index.mjs +2 -2
  36. package/esm2020/lib/components/crud-footer/crud-footer.component.mjs +32 -32
  37. package/esm2020/lib/components/crud-footer/crud-footer.module.mjs +20 -20
  38. package/esm2020/lib/components/crud-footer/index.mjs +3 -3
  39. package/esm2020/lib/components/crud-header/crud-header.component.mjs +30 -30
  40. package/esm2020/lib/components/crud-header/crud-header.module.mjs +19 -19
  41. package/esm2020/lib/components/crud-header/index.mjs +3 -3
  42. package/esm2020/lib/components/crud-history/crud-history.component.mjs +82 -82
  43. package/esm2020/lib/components/crud-history/crud-history.module.mjs +20 -20
  44. package/esm2020/lib/components/crud-history/index.mjs +3 -3
  45. package/esm2020/lib/components/fields/button/button.component.mjs +41 -41
  46. package/esm2020/lib/components/fields/button/index.mjs +2 -2
  47. package/esm2020/lib/components/fields/calendar-field/calendar-field.component.mjs +74 -74
  48. package/esm2020/lib/components/fields/calendar-field/index.mjs +2 -2
  49. package/esm2020/lib/components/fields/checkbox-field/checkbox-field.component.mjs +46 -46
  50. package/esm2020/lib/components/fields/checkbox-field/index.mjs +2 -2
  51. package/esm2020/lib/components/fields/currency-field/currency-field.component.mjs +95 -95
  52. package/esm2020/lib/components/fields/currency-field/index.mjs +2 -2
  53. package/esm2020/lib/components/fields/data-table/data-table.component.mjs +382 -382
  54. package/esm2020/lib/components/fields/data-table/index.mjs +2 -2
  55. package/esm2020/lib/components/fields/dropdown-field/dropdown-field.component.mjs +197 -197
  56. package/esm2020/lib/components/fields/dropdown-field/index.mjs +2 -2
  57. package/esm2020/lib/components/fields/field-error-message/field-error-message.component.mjs +30 -30
  58. package/esm2020/lib/components/fields/field-error-message/index.mjs +2 -2
  59. package/esm2020/lib/components/fields/fields.module.mjs +213 -213
  60. package/esm2020/lib/components/fields/filters/filters.component.mjs +203 -203
  61. package/esm2020/lib/components/fields/filters/index.mjs +2 -2
  62. package/esm2020/lib/components/fields/index.mjs +19 -19
  63. package/esm2020/lib/components/fields/input-number-field/index.mjs +2 -2
  64. package/esm2020/lib/components/fields/input-number-field/input-number-field.component.mjs +85 -85
  65. package/esm2020/lib/components/fields/multiselect-field/index.mjs +2 -2
  66. package/esm2020/lib/components/fields/multiselect-field/multiselect-field.component.mjs +47 -47
  67. package/esm2020/lib/components/fields/percentage-field/index.mjs +2 -2
  68. package/esm2020/lib/components/fields/percentage-field/percentage-field.component.mjs +42 -42
  69. package/esm2020/lib/components/fields/radio-button-field/index.mjs +2 -2
  70. package/esm2020/lib/components/fields/radio-button-field/radio-button-field.component.mjs +48 -48
  71. package/esm2020/lib/components/fields/range-value/index.mjs +2 -2
  72. package/esm2020/lib/components/fields/range-value/range-value.component.mjs +72 -72
  73. package/esm2020/lib/components/fields/search-field/index.mjs +2 -2
  74. package/esm2020/lib/components/fields/search-field/search-field.component.mjs +33 -33
  75. package/esm2020/lib/components/fields/select-button-field/index.mjs +2 -2
  76. package/esm2020/lib/components/fields/select-button-field/select-button-field.component.mjs +20 -20
  77. package/esm2020/lib/components/fields/text-field/index.mjs +2 -2
  78. package/esm2020/lib/components/fields/text-field/text-field.component.mjs +217 -211
  79. package/esm2020/lib/components/fields/textarea-field/index.mjs +2 -2
  80. package/esm2020/lib/components/fields/textarea-field/textarea-field.component.mjs +81 -81
  81. package/esm2020/lib/components/generic-error-modal/generic-error-modal.component.mjs +30 -30
  82. package/esm2020/lib/components/generic-error-modal/generic-error-modal.module.mjs +20 -20
  83. package/esm2020/lib/components/generic-error-modal/index.mjs +3 -3
  84. package/esm2020/lib/components/generic-modal/generic-modal.component.mjs +66 -66
  85. package/esm2020/lib/components/generic-modal/generic-modal.module.mjs +20 -20
  86. package/esm2020/lib/components/generic-modal/index.mjs +3 -3
  87. package/esm2020/lib/components/index.mjs +14 -14
  88. package/esm2020/lib/components/menu/index.mjs +4 -4
  89. package/esm2020/lib/components/menu/menu.component.mjs +305 -305
  90. package/esm2020/lib/components/menu/menu.module.mjs +20 -20
  91. package/esm2020/lib/components/menu/sub-menus-list/sub-menus-list.component.mjs +42 -42
  92. package/esm2020/lib/components/panel/index.mjs +3 -3
  93. package/esm2020/lib/components/panel/panel.component.mjs +15 -15
  94. package/esm2020/lib/components/panel/panel.module.mjs +19 -19
  95. package/esm2020/lib/components/score/index.mjs +3 -3
  96. package/esm2020/lib/components/score/score.component.mjs +17 -17
  97. package/esm2020/lib/components/score/score.module.mjs +16 -16
  98. package/esm2020/lib/components/top-bar/index.mjs +3 -3
  99. package/esm2020/lib/components/top-bar/top-bar.component.mjs +120 -114
  100. package/esm2020/lib/components/top-bar/top-bar.module.mjs +20 -20
  101. package/esm2020/lib/guards/crud-list-has-items.guard.mjs +22 -22
  102. package/esm2020/lib/guards/get-token-by-guid.guard.mjs +54 -54
  103. package/esm2020/lib/guards/has-permission.guard.mjs +27 -27
  104. package/esm2020/lib/guards/index.mjs +6 -6
  105. package/esm2020/lib/guards/role.guard.mjs +24 -24
  106. package/esm2020/lib/guards/token-is-present.guard.mjs +26 -26
  107. package/esm2020/lib/interceptors/http-interceptor.mjs +183 -183
  108. package/esm2020/lib/interceptors/index.mjs +2 -2
  109. package/esm2020/lib/models/app-name.enum.mjs +10 -10
  110. package/esm2020/lib/models/boolean-type.enum.mjs +6 -6
  111. package/esm2020/lib/models/crud-history.model.mjs +3 -3
  112. package/esm2020/lib/models/crud-mode.enum.mjs +7 -7
  113. package/esm2020/lib/models/currency.enum.mjs +7 -7
  114. package/esm2020/lib/models/data-table.model.mjs +23 -23
  115. package/esm2020/lib/models/document-type.enum.mjs +6 -6
  116. package/esm2020/lib/models/filters.model.mjs +2 -2
  117. package/esm2020/lib/models/generic-modal.model.mjs +2 -2
  118. package/esm2020/lib/models/http-response.model.mjs +2 -2
  119. package/esm2020/lib/models/index.mjs +18 -18
  120. package/esm2020/lib/models/ip-info.enum.mjs +2 -2
  121. package/esm2020/lib/models/list-item.model.mjs +2 -2
  122. package/esm2020/lib/models/locale.enum.mjs +7 -7
  123. package/esm2020/lib/models/menu-item.model.mjs +2 -2
  124. package/esm2020/lib/models/message-status.enum.mjs +8 -8
  125. package/esm2020/lib/models/profile.model.mjs +237 -237
  126. package/esm2020/lib/models/role.enum.mjs +5 -5
  127. package/esm2020/lib/models/status.enum.mjs +8 -8
  128. package/esm2020/lib/models/vector-app.model.mjs +2 -2
  129. package/esm2020/lib/models/vector-notification.model.mjs +2 -2
  130. package/esm2020/lib/models/view.enum.mjs +7 -7
  131. package/esm2020/lib/pipes/currency-brl.pipe.mjs +18 -18
  132. package/esm2020/lib/pipes/format-document.pipe.mjs +17 -17
  133. package/esm2020/lib/pipes/index.mjs +9 -9
  134. package/esm2020/lib/pipes/mask.pipe.mjs +21 -21
  135. package/esm2020/lib/pipes/not-hidden.pipe.mjs +16 -16
  136. package/esm2020/lib/pipes/only-active.pipe.mjs +16 -16
  137. package/esm2020/lib/pipes/pipes.module.mjs +50 -50
  138. package/esm2020/lib/pipes/remove-last-child.pipe.mjs +18 -18
  139. package/esm2020/lib/pipes/unread-notifications.pipe.mjs +15 -15
  140. package/esm2020/lib/resolvers/get-selected-crud-item.resolver.mjs +28 -28
  141. package/esm2020/lib/resolvers/index.mjs +2 -2
  142. package/esm2020/lib/services/auth.service.mjs +77 -77
  143. package/esm2020/lib/services/base-dropdown.mjs +2 -2
  144. package/esm2020/lib/services/crud-base.service.mjs +14 -14
  145. package/esm2020/lib/services/enum.service.mjs +43 -43
  146. package/esm2020/lib/services/error-message.service.mjs +16 -16
  147. package/esm2020/lib/services/geolocation.service.mjs +23 -23
  148. package/esm2020/lib/services/index.mjs +13 -13
  149. package/esm2020/lib/services/loading.service.mjs +15 -15
  150. package/esm2020/lib/services/menu.service.mjs +152 -152
  151. package/esm2020/lib/services/modal.service.mjs +15 -15
  152. package/esm2020/lib/services/notifications.service.mjs +64 -64
  153. package/esm2020/lib/services/profile.service.mjs +100 -100
  154. package/esm2020/lib/services/storage.service.mjs +108 -108
  155. package/esm2020/lib/shared/shared.module.mjs +19 -19
  156. package/esm2020/lib/utils/cpf-cnpj-validator.util.mjs +116 -116
  157. package/esm2020/lib/utils/file.util.mjs +15 -15
  158. package/esm2020/lib/utils/index.mjs +8 -8
  159. package/esm2020/lib/utils/mask.util.mjs +76 -76
  160. package/esm2020/lib/utils/object.util.mjs +27 -27
  161. package/esm2020/lib/utils/string.util.mjs +16 -16
  162. package/esm2020/lib/utils/validation.util.mjs +234 -234
  163. package/esm2020/lib/utils/window.util.mjs +9 -9
  164. package/esm2020/ngx-vector-components.mjs +4 -4
  165. package/esm2020/public-api.mjs +9 -9
  166. package/fesm2015/ngx-vector-components.mjs +4465 -4453
  167. package/fesm2015/ngx-vector-components.mjs.map +1 -1
  168. package/fesm2020/ngx-vector-components.mjs +4443 -4431
  169. package/fesm2020/ngx-vector-components.mjs.map +1 -1
  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 +31 -31
  194. package/lib/components/fields/currency-field/index.d.ts +1 -1
  195. package/lib/components/fields/data-table/data-table.component.d.ts +81 -81
  196. package/lib/components/fields/data-table/index.d.ts +1 -1
  197. package/lib/components/fields/dropdown-field/dropdown-field.component.d.ts +50 -50
  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 +62 -62
  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 +15 -15
  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 +50 -49
  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 +14 -14
  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 +46 -44
  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 +40 -40
  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 +6 -6
  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 +258 -258
  268. package/lib/models/role.enum.d.ts +3 -3
  269. package/lib/models/status.enum.d.ts +6 -6
  270. package/lib/models/vector-app.model.d.ts +9 -9
  271. package/lib/models/vector-notification.model.d.ts +8 -7
  272. package/lib/models/view.enum.d.ts +5 -5
  273. package/lib/pipes/currency-brl.pipe.d.ts +7 -7
  274. package/lib/pipes/format-document.pipe.d.ts +7 -7
  275. package/lib/pipes/index.d.ts +8 -8
  276. package/lib/pipes/mask.pipe.d.ts +7 -7
  277. package/lib/pipes/not-hidden.pipe.d.ts +7 -7
  278. package/lib/pipes/only-active.pipe.d.ts +7 -7
  279. package/lib/pipes/pipes.module.d.ts +13 -13
  280. package/lib/pipes/remove-last-child.pipe.d.ts +7 -7
  281. package/lib/pipes/unread-notifications.pipe.d.ts +9 -9
  282. package/lib/resolvers/get-selected-crud-item.resolver.d.ts +10 -10
  283. package/lib/resolvers/index.d.ts +1 -1
  284. package/lib/services/auth.service.d.ts +24 -24
  285. package/lib/services/base-dropdown.d.ts +7 -7
  286. package/lib/services/crud-base.service.d.ts +7 -7
  287. package/lib/services/enum.service.d.ts +13 -13
  288. package/lib/services/error-message.service.d.ts +8 -8
  289. package/lib/services/geolocation.service.d.ts +13 -13
  290. package/lib/services/index.d.ts +12 -12
  291. package/lib/services/loading.service.d.ts +7 -7
  292. package/lib/services/menu.service.d.ts +35 -35
  293. package/lib/services/modal.service.d.ts +7 -7
  294. package/lib/services/notifications.service.d.ts +13 -13
  295. package/lib/services/profile.service.d.ts +26 -26
  296. package/lib/services/storage.service.d.ts +43 -43
  297. package/lib/shared/shared.module.d.ts +10 -10
  298. package/lib/utils/cpf-cnpj-validator.util.d.ts +5 -5
  299. package/lib/utils/file.util.d.ts +4 -4
  300. package/lib/utils/index.d.ts +7 -7
  301. package/lib/utils/mask.util.d.ts +21 -21
  302. package/lib/utils/object.util.d.ts +5 -5
  303. package/lib/utils/string.util.d.ts +4 -4
  304. package/lib/utils/validation.util.d.ts +17 -17
  305. package/lib/utils/window.util.d.ts +4 -4
  306. package/ngx-vector-components.d.ts +5 -5
  307. package/package.json +1 -1
  308. package/public-api.d.ts +8 -8
@@ -1,74 +1,74 @@
1
- import { Component, Input } from '@angular/core';
2
- import { DateTime } from 'luxon';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../../services";
5
- import * as i2 from "primeng/calendar";
6
- import * as i3 from "../field-error-message/field-error-message.component";
7
- import * as i4 from "@angular/forms";
8
- import * as i5 from "@angular/common";
9
- export class CalendarComponent {
10
- constructor(modalService) {
11
- this.modalService = modalService;
12
- this.isRequired = false;
13
- this.label = '';
14
- this.showCalendarOnFocus = true;
15
- this.min = DateTime.fromFormat('01/01/1900', 'dd/MM/yyyy').toJSDate();
16
- this.max = DateTime.now().startOf('day').plus({ years: 1 }).toJSDate();
17
- this.disabledDates = [];
18
- this.disabled = false;
19
- this.defaultDate = DateTime.now().toJSDate();
20
- this.hiddenErrorMessage = false;
21
- this.keyFilter = '';
22
- }
23
- get placeholder() {
24
- if (!this.label) {
25
- return '';
26
- }
27
- return `${this.label}${this.isRequired ? '*' : ''}`;
28
- }
29
- fieldErrorLabel() {
30
- if (this.control && this.control.invalid && this.control.touched) {
31
- if (this.control.hasError('required')) {
32
- return 'Campo obrigatório';
33
- }
34
- if (this.control.hasError('maxlength')) {
35
- return `Tamanho máximo permitido: ${this.control.errors['maxlength'].requiredLength}`;
36
- }
37
- return 'Campo inválido';
38
- }
39
- return '';
40
- }
41
- onShowCalendar() {
42
- this.modalService.showModalBackground$.next(true);
43
- }
44
- onHideCalendar() {
45
- this.modalService.showModalBackground$.next(false);
46
- }
47
- }
48
- CalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CalendarComponent, deps: [{ token: i1.ModalService }], target: i0.ɵɵFactoryTarget.Component });
49
- CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CalendarComponent, selector: "vector-calendar-field", inputs: { isRequired: "isRequired", control: "control", label: "label", showCalendarOnFocus: "showCalendarOnFocus", min: "min", max: "max", disabledDates: "disabledDates", disabled: "disabled", defaultDate: "defaultDate", hiddenErrorMessage: "hiddenErrorMessage" }, ngImport: i0, template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <p-calendar\r\n appendTo=\"body\"\r\n [formControl]=\"control\"\r\n [showOnFocus]=\"showCalendarOnFocus\"\r\n [minDate]=\"min\"\r\n [maxDate]=\"max\"\r\n icon=\"fas fa-calendar-day\"\r\n [showIcon]=\"true\"\r\n [disabledDates]=\"disabledDates\"\r\n [readonlyInput]=\"false\"\r\n (onShow)=\"onShowCalendar()\"\r\n (onClose)=\"onHideCalendar()\"\r\n [disabled]=\"disabled\"\r\n [defaultDate]=\"defaultDate\"\r\n ></p-calendar>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n", styles: [".input-container input{transition:border-width ease-in-out .08s;border:1px solid rgba(0,0,0,.6);width:100%;padding:6px 30px 6px 12px;font-size:14px;line-height:1.5em;border-radius:var(--border-radius);height:40px}.input-container input:disabled{cursor:not-allowed;background-color:var(--disabled-background);opacity:1}.input-container input:focus{outline:0;box-shadow:none;border-width:2px}.input-container input::placeholder{color:var(--placeholder-color);font-size:12px}.input-container input.ng-touched.ng-invalid{border-color:var(--error-color)!important}.input-container .input-error{font-size:.7em;color:var(--error-color)}\n"], components: [{ type: i2.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "view", "defaultDate", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { type: i3.FieldErrorMessageComponent, selector: "vector-field-error-message", inputs: ["control"] }], directives: [{ type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CalendarComponent, decorators: [{
51
- type: Component,
52
- args: [{ selector: 'vector-calendar-field', template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <p-calendar\r\n appendTo=\"body\"\r\n [formControl]=\"control\"\r\n [showOnFocus]=\"showCalendarOnFocus\"\r\n [minDate]=\"min\"\r\n [maxDate]=\"max\"\r\n icon=\"fas fa-calendar-day\"\r\n [showIcon]=\"true\"\r\n [disabledDates]=\"disabledDates\"\r\n [readonlyInput]=\"false\"\r\n (onShow)=\"onShowCalendar()\"\r\n (onClose)=\"onHideCalendar()\"\r\n [disabled]=\"disabled\"\r\n [defaultDate]=\"defaultDate\"\r\n ></p-calendar>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n", styles: [".input-container input{transition:border-width ease-in-out .08s;border:1px solid rgba(0,0,0,.6);width:100%;padding:6px 30px 6px 12px;font-size:14px;line-height:1.5em;border-radius:var(--border-radius);height:40px}.input-container input:disabled{cursor:not-allowed;background-color:var(--disabled-background);opacity:1}.input-container input:focus{outline:0;box-shadow:none;border-width:2px}.input-container input::placeholder{color:var(--placeholder-color);font-size:12px}.input-container input.ng-touched.ng-invalid{border-color:var(--error-color)!important}.input-container .input-error{font-size:.7em;color:var(--error-color)}\n"] }]
53
- }], ctorParameters: function () { return [{ type: i1.ModalService }]; }, propDecorators: { isRequired: [{
54
- type: Input
55
- }], control: [{
56
- type: Input
57
- }], label: [{
58
- type: Input
59
- }], showCalendarOnFocus: [{
60
- type: Input
61
- }], min: [{
62
- type: Input
63
- }], max: [{
64
- type: Input
65
- }], disabledDates: [{
66
- type: Input
67
- }], disabled: [{
68
- type: Input
69
- }], defaultDate: [{
70
- type: Input
71
- }], hiddenErrorMessage: [{
72
- type: Input
73
- }] } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY2FsZW5kYXItZmllbGQvY2FsZW5kYXItZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY2FsZW5kYXItZmllbGQvY2FsZW5kYXItZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQzs7Ozs7OztBQVFqQyxNQUFNLE9BQU8saUJBQWlCO0lBK0I1QixZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQTdCdkMsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUk1QixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRW5CLHdCQUFtQixHQUFHLElBQUksQ0FBQztRQUUzQixRQUFHLEdBQVMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFdkUsUUFBRyxHQUFTLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFeEUsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFFM0IsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQixnQkFBVyxHQUFTLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUU5Qyx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFTcEMsY0FBUyxHQUFHLEVBQUUsQ0FBQztJQUUyQixDQUFDO0lBVGxELElBQUksV0FBVztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQU1NLGVBQWU7UUFDcEIsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO1lBQ2hFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ3JDLE9BQU8sbUJBQW1CLENBQUM7YUFDNUI7WUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUN0QyxPQUFPLDZCQUE2QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUN2RjtZQUVELE9BQU8sZ0JBQWdCLENBQUM7U0FDekI7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JELENBQUM7OzhHQXZEVSxpQkFBaUI7a0dBQWpCLGlCQUFpQix1VUNUOUIsZ3NCQW9CQTsyRkRYYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsdUJBQXVCO21HQU0xQixVQUFVO3NCQURoQixLQUFLO2dCQUdDLE9BQU87c0JBRGIsS0FBSztnQkFHQyxLQUFLO3NCQURYLEtBQUs7Z0JBR0MsbUJBQW1CO3NCQUR6QixLQUFLO2dCQUdDLEdBQUc7c0JBRFQsS0FBSztnQkFHQyxHQUFHO3NCQURULEtBQUs7Z0JBR0MsYUFBYTtzQkFEbkIsS0FBSztnQkFHQyxRQUFRO3NCQURkLEtBQUs7Z0JBR0MsV0FBVztzQkFEakIsS0FBSztnQkFHQyxrQkFBa0I7c0JBRHhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nO1xyXG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ZlY3Rvci1jYWxlbmRhci1maWVsZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jYWxlbmRhci1maWVsZC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzUmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjb250cm9sOiBhbnk7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGFiZWw6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dDYWxlbmRhck9uRm9jdXMgPSB0cnVlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG1pbj86IGFueSA9IERhdGVUaW1lLmZyb21Gb3JtYXQoJzAxLzAxLzE5MDAnLCAnZGQvTU0veXl5eScpLnRvSlNEYXRlKCk7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbWF4PzogYW55ID0gRGF0ZVRpbWUubm93KCkuc3RhcnRPZignZGF5JykucGx1cyh7IHllYXJzOiAxIH0pLnRvSlNEYXRlKCk7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGlzYWJsZWREYXRlczogRGF0ZVtdID0gW107XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkZWZhdWx0RGF0ZTogRGF0ZSA9IERhdGVUaW1lLm5vdygpLnRvSlNEYXRlKCk7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaGlkZGVuRXJyb3JNZXNzYWdlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGdldCBwbGFjZWhvbGRlcigpIHtcclxuICAgIGlmICghdGhpcy5sYWJlbCkge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhpcy5sYWJlbH0ke3RoaXMuaXNSZXF1aXJlZCA/ICcqJyA6ICcnfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMga2V5RmlsdGVyID0gJyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UpIHt9XHJcblxyXG4gIHB1YmxpYyBmaWVsZEVycm9yTGFiZWwoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLmNvbnRyb2wgJiYgdGhpcy5jb250cm9sLmludmFsaWQgJiYgdGhpcy5jb250cm9sLnRvdWNoZWQpIHtcclxuICAgICAgaWYgKHRoaXMuY29udHJvbC5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xyXG4gICAgICAgIHJldHVybiAnQ2FtcG8gb2JyaWdhdMOzcmlvJztcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMuY29udHJvbC5oYXNFcnJvcignbWF4bGVuZ3RoJykpIHtcclxuICAgICAgICByZXR1cm4gYFRhbWFuaG8gbcOheGltbyBwZXJtaXRpZG86ICR7dGhpcy5jb250cm9sLmVycm9yc1snbWF4bGVuZ3RoJ10ucmVxdWlyZWRMZW5ndGh9YDtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuICdDYW1wbyBpbnbDoWxpZG8nO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblNob3dDYWxlbmRhcigpIHtcclxuICAgIHRoaXMubW9kYWxTZXJ2aWNlLnNob3dNb2RhbEJhY2tncm91bmQkLm5leHQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25IaWRlQ2FsZW5kYXIoKSB7XHJcbiAgICB0aGlzLm1vZGFsU2VydmljZS5zaG93TW9kYWxCYWNrZ3JvdW5kJC5uZXh0KGZhbHNlKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJlbGF0aXZlXCI+XHJcbiAgPGRpdiBjbGFzcz1cImlucHV0LWNvbnRhaW5lclwiPlxyXG4gICAgPHAtY2FsZW5kYXJcclxuICAgICAgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxyXG4gICAgICBbc2hvd09uRm9jdXNdPVwic2hvd0NhbGVuZGFyT25Gb2N1c1wiXHJcbiAgICAgIFttaW5EYXRlXT1cIm1pblwiXHJcbiAgICAgIFttYXhEYXRlXT1cIm1heFwiXHJcbiAgICAgIGljb249XCJmYXMgZmEtY2FsZW5kYXItZGF5XCJcclxuICAgICAgW3Nob3dJY29uXT1cInRydWVcIlxyXG4gICAgICBbZGlzYWJsZWREYXRlc109XCJkaXNhYmxlZERhdGVzXCJcclxuICAgICAgW3JlYWRvbmx5SW5wdXRdPVwiZmFsc2VcIlxyXG4gICAgICAob25TaG93KT1cIm9uU2hvd0NhbGVuZGFyKClcIlxyXG4gICAgICAob25DbG9zZSk9XCJvbkhpZGVDYWxlbmRhcigpXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgW2RlZmF1bHREYXRlXT1cImRlZmF1bHREYXRlXCJcclxuICAgID48L3AtY2FsZW5kYXI+XHJcbiAgPC9kaXY+XHJcbiAgPHZlY3Rvci1maWVsZC1lcnJvci1tZXNzYWdlICpuZ0lmPVwiIWhpZGRlbkVycm9yTWVzc2FnZVwiIFtjb250cm9sXT1cImNvbnRyb2xcIj48L3ZlY3Rvci1maWVsZC1lcnJvci1tZXNzYWdlPlxyXG48L2Rpdj5cclxuIl19
1
+ import { Component, Input } from '@angular/core';
2
+ import { DateTime } from 'luxon';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../../services";
5
+ import * as i2 from "primeng/calendar";
6
+ import * as i3 from "../field-error-message/field-error-message.component";
7
+ import * as i4 from "@angular/forms";
8
+ import * as i5 from "@angular/common";
9
+ export class CalendarComponent {
10
+ constructor(modalService) {
11
+ this.modalService = modalService;
12
+ this.isRequired = false;
13
+ this.label = '';
14
+ this.showCalendarOnFocus = true;
15
+ this.min = DateTime.fromFormat('01/01/1900', 'dd/MM/yyyy').toJSDate();
16
+ this.max = DateTime.now().startOf('day').plus({ years: 1 }).toJSDate();
17
+ this.disabledDates = [];
18
+ this.disabled = false;
19
+ this.defaultDate = DateTime.now().toJSDate();
20
+ this.hiddenErrorMessage = false;
21
+ this.keyFilter = '';
22
+ }
23
+ get placeholder() {
24
+ if (!this.label) {
25
+ return '';
26
+ }
27
+ return `${this.label}${this.isRequired ? '*' : ''}`;
28
+ }
29
+ fieldErrorLabel() {
30
+ if (this.control && this.control.invalid && this.control.touched) {
31
+ if (this.control.hasError('required')) {
32
+ return 'Campo obrigatório';
33
+ }
34
+ if (this.control.hasError('maxlength')) {
35
+ return `Tamanho máximo permitido: ${this.control.errors['maxlength'].requiredLength}`;
36
+ }
37
+ return 'Campo inválido';
38
+ }
39
+ return '';
40
+ }
41
+ onShowCalendar() {
42
+ this.modalService.showModalBackground$.next(true);
43
+ }
44
+ onHideCalendar() {
45
+ this.modalService.showModalBackground$.next(false);
46
+ }
47
+ }
48
+ CalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CalendarComponent, deps: [{ token: i1.ModalService }], target: i0.ɵɵFactoryTarget.Component });
49
+ CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CalendarComponent, selector: "vector-calendar-field", inputs: { isRequired: "isRequired", control: "control", label: "label", showCalendarOnFocus: "showCalendarOnFocus", min: "min", max: "max", disabledDates: "disabledDates", disabled: "disabled", defaultDate: "defaultDate", hiddenErrorMessage: "hiddenErrorMessage" }, ngImport: i0, template: "<div class=\"relative\">\n <div class=\"input-container\">\n <p-calendar\n appendTo=\"body\"\n [formControl]=\"control\"\n [showOnFocus]=\"showCalendarOnFocus\"\n [minDate]=\"min\"\n [maxDate]=\"max\"\n icon=\"fas fa-calendar-day\"\n [showIcon]=\"true\"\n [disabledDates]=\"disabledDates\"\n [readonlyInput]=\"false\"\n (onShow)=\"onShowCalendar()\"\n (onClose)=\"onHideCalendar()\"\n [disabled]=\"disabled\"\n [defaultDate]=\"defaultDate\"\n ></p-calendar>\n </div>\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\n</div>\n", styles: [".input-container input{transition:border-width ease-in-out .08s;border:1px solid rgba(0,0,0,.6);width:100%;padding:6px 30px 6px 12px;font-size:14px;line-height:1.5em;border-radius:var(--border-radius);height:40px}.input-container input:disabled{cursor:not-allowed;background-color:var(--disabled-background);opacity:1}.input-container input:focus{outline:0;box-shadow:none;border-width:2px}.input-container input::placeholder{color:var(--placeholder-color);font-size:12px}.input-container input.ng-touched.ng-invalid{border-color:var(--error-color)!important}.input-container .input-error{font-size:.7em;color:var(--error-color)}\n"], components: [{ type: i2.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "view", "defaultDate", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { type: i3.FieldErrorMessageComponent, selector: "vector-field-error-message", inputs: ["control"] }], directives: [{ type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CalendarComponent, decorators: [{
51
+ type: Component,
52
+ args: [{ selector: 'vector-calendar-field', template: "<div class=\"relative\">\n <div class=\"input-container\">\n <p-calendar\n appendTo=\"body\"\n [formControl]=\"control\"\n [showOnFocus]=\"showCalendarOnFocus\"\n [minDate]=\"min\"\n [maxDate]=\"max\"\n icon=\"fas fa-calendar-day\"\n [showIcon]=\"true\"\n [disabledDates]=\"disabledDates\"\n [readonlyInput]=\"false\"\n (onShow)=\"onShowCalendar()\"\n (onClose)=\"onHideCalendar()\"\n [disabled]=\"disabled\"\n [defaultDate]=\"defaultDate\"\n ></p-calendar>\n </div>\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\n</div>\n", styles: [".input-container input{transition:border-width ease-in-out .08s;border:1px solid rgba(0,0,0,.6);width:100%;padding:6px 30px 6px 12px;font-size:14px;line-height:1.5em;border-radius:var(--border-radius);height:40px}.input-container input:disabled{cursor:not-allowed;background-color:var(--disabled-background);opacity:1}.input-container input:focus{outline:0;box-shadow:none;border-width:2px}.input-container input::placeholder{color:var(--placeholder-color);font-size:12px}.input-container input.ng-touched.ng-invalid{border-color:var(--error-color)!important}.input-container .input-error{font-size:.7em;color:var(--error-color)}\n"] }]
53
+ }], ctorParameters: function () { return [{ type: i1.ModalService }]; }, propDecorators: { isRequired: [{
54
+ type: Input
55
+ }], control: [{
56
+ type: Input
57
+ }], label: [{
58
+ type: Input
59
+ }], showCalendarOnFocus: [{
60
+ type: Input
61
+ }], min: [{
62
+ type: Input
63
+ }], max: [{
64
+ type: Input
65
+ }], disabledDates: [{
66
+ type: Input
67
+ }], disabled: [{
68
+ type: Input
69
+ }], defaultDate: [{
70
+ type: Input
71
+ }], hiddenErrorMessage: [{
72
+ type: Input
73
+ }] } });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY2FsZW5kYXItZmllbGQvY2FsZW5kYXItZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY2FsZW5kYXItZmllbGQvY2FsZW5kYXItZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQzs7Ozs7OztBQVFqQyxNQUFNLE9BQU8saUJBQWlCO0lBK0I1QixZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQTdCdkMsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUk1QixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRW5CLHdCQUFtQixHQUFHLElBQUksQ0FBQztRQUUzQixRQUFHLEdBQVMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFdkUsUUFBRyxHQUFTLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFeEUsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFFM0IsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQixnQkFBVyxHQUFTLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUU5Qyx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFTcEMsY0FBUyxHQUFHLEVBQUUsQ0FBQztJQUUyQixDQUFDO0lBVGxELElBQUksV0FBVztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQU1NLGVBQWU7UUFDcEIsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO1lBQ2hFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ3JDLE9BQU8sbUJBQW1CLENBQUM7YUFDNUI7WUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUN0QyxPQUFPLDZCQUE2QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUN2RjtZQUVELE9BQU8sZ0JBQWdCLENBQUM7U0FDekI7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JELENBQUM7OzhHQXZEVSxpQkFBaUI7a0dBQWpCLGlCQUFpQix1VUNUOUIsd3BCQW9CQTsyRkRYYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsdUJBQXVCO21HQU0xQixVQUFVO3NCQURoQixLQUFLO2dCQUdDLE9BQU87c0JBRGIsS0FBSztnQkFHQyxLQUFLO3NCQURYLEtBQUs7Z0JBR0MsbUJBQW1CO3NCQUR6QixLQUFLO2dCQUdDLEdBQUc7c0JBRFQsS0FBSztnQkFHQyxHQUFHO3NCQURULEtBQUs7Z0JBR0MsYUFBYTtzQkFEbkIsS0FBSztnQkFHQyxRQUFRO3NCQURkLEtBQUs7Z0JBR0MsV0FBVztzQkFEakIsS0FBSztnQkFHQyxrQkFBa0I7c0JBRHhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRlVGltZSB9IGZyb20gJ2x1eG9uJztcbmltcG9ydCB7IE1vZGFsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVjdG9yLWNhbGVuZGFyLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FsZW5kYXItZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBwdWJsaWMgaXNSZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgY29udHJvbDogYW55O1xuICBASW5wdXQoKVxuICBwdWJsaWMgbGFiZWw6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2hvd0NhbGVuZGFyT25Gb2N1cyA9IHRydWU7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtaW4/OiBhbnkgPSBEYXRlVGltZS5mcm9tRm9ybWF0KCcwMS8wMS8xOTAwJywgJ2RkL01NL3l5eXknKS50b0pTRGF0ZSgpO1xuICBASW5wdXQoKVxuICBwdWJsaWMgbWF4PzogYW55ID0gRGF0ZVRpbWUubm93KCkuc3RhcnRPZignZGF5JykucGx1cyh7IHllYXJzOiAxIH0pLnRvSlNEYXRlKCk7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXNhYmxlZERhdGVzOiBEYXRlW10gPSBbXTtcbiAgQElucHV0KClcbiAgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkZWZhdWx0RGF0ZTogRGF0ZSA9IERhdGVUaW1lLm5vdygpLnRvSlNEYXRlKCk7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoaWRkZW5FcnJvck1lc3NhZ2U6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBnZXQgcGxhY2Vob2xkZXIoKSB7XG4gICAgaWYgKCF0aGlzLmxhYmVsKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiBgJHt0aGlzLmxhYmVsfSR7dGhpcy5pc1JlcXVpcmVkID8gJyonIDogJyd9YDtcbiAgfVxuXG4gIHB1YmxpYyBrZXlGaWx0ZXIgPSAnJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBmaWVsZEVycm9yTGFiZWwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5jb250cm9sICYmIHRoaXMuY29udHJvbC5pbnZhbGlkICYmIHRoaXMuY29udHJvbC50b3VjaGVkKSB7XG4gICAgICBpZiAodGhpcy5jb250cm9sLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XG4gICAgICAgIHJldHVybiAnQ2FtcG8gb2JyaWdhdMOzcmlvJztcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuY29udHJvbC5oYXNFcnJvcignbWF4bGVuZ3RoJykpIHtcbiAgICAgICAgcmV0dXJuIGBUYW1hbmhvIG3DoXhpbW8gcGVybWl0aWRvOiAke3RoaXMuY29udHJvbC5lcnJvcnNbJ21heGxlbmd0aCddLnJlcXVpcmVkTGVuZ3RofWA7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAnQ2FtcG8gaW52w6FsaWRvJztcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwdWJsaWMgb25TaG93Q2FsZW5kYXIoKSB7XG4gICAgdGhpcy5tb2RhbFNlcnZpY2Uuc2hvd01vZGFsQmFja2dyb3VuZCQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkhpZGVDYWxlbmRhcigpIHtcbiAgICB0aGlzLm1vZGFsU2VydmljZS5zaG93TW9kYWxCYWNrZ3JvdW5kJC5uZXh0KGZhbHNlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJlbGF0aXZlXCI+XG4gIDxkaXYgY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIj5cbiAgICA8cC1jYWxlbmRhclxuICAgICAgYXBwZW5kVG89XCJib2R5XCJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgICAgIFtzaG93T25Gb2N1c109XCJzaG93Q2FsZW5kYXJPbkZvY3VzXCJcbiAgICAgIFttaW5EYXRlXT1cIm1pblwiXG4gICAgICBbbWF4RGF0ZV09XCJtYXhcIlxuICAgICAgaWNvbj1cImZhcyBmYS1jYWxlbmRhci1kYXlcIlxuICAgICAgW3Nob3dJY29uXT1cInRydWVcIlxuICAgICAgW2Rpc2FibGVkRGF0ZXNdPVwiZGlzYWJsZWREYXRlc1wiXG4gICAgICBbcmVhZG9ubHlJbnB1dF09XCJmYWxzZVwiXG4gICAgICAob25TaG93KT1cIm9uU2hvd0NhbGVuZGFyKClcIlxuICAgICAgKG9uQ2xvc2UpPVwib25IaWRlQ2FsZW5kYXIoKVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW2RlZmF1bHREYXRlXT1cImRlZmF1bHREYXRlXCJcbiAgICA+PC9wLWNhbGVuZGFyPlxuICA8L2Rpdj5cbiAgPHZlY3Rvci1maWVsZC1lcnJvci1tZXNzYWdlICpuZ0lmPVwiIWhpZGRlbkVycm9yTWVzc2FnZVwiIFtjb250cm9sXT1cImNvbnRyb2xcIj48L3ZlY3Rvci1maWVsZC1lcnJvci1tZXNzYWdlPlxuPC9kaXY+XG4iXX0=
@@ -1,2 +1,2 @@
1
- export * from './calendar-field.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9jYWxlbmRhci1maWVsZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWxlbmRhci1maWVsZC5jb21wb25lbnQnO1xyXG4iXX0=
1
+ export * from './calendar-field.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9jYWxlbmRhci1maWVsZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWxlbmRhci1maWVsZC5jb21wb25lbnQnO1xuIl19
@@ -1,46 +1,46 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "primeng/checkbox";
4
- import * as i2 from "@angular/common";
5
- import * as i3 from "@angular/forms";
6
- export class CheckboxFieldComponent {
7
- constructor() {
8
- this.isRequired = false;
9
- this.label = '';
10
- this.rounded = false;
11
- this.labelSize = 'default';
12
- this.value = false;
13
- this.groupName = '';
14
- this.options = null;
15
- this.disabled = false;
16
- this.valueChange = new EventEmitter();
17
- }
18
- ngOnInit() { }
19
- }
20
- CheckboxFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CheckboxFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
- CheckboxFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CheckboxFieldComponent, selector: "vector-checkbox-field", inputs: { isRequired: "isRequired", control: "control", label: "label", rounded: "rounded", labelSize: "labelSize", value: "value", groupName: "groupName", options: "options", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"checkbox-container flex-wrap\">\r\n <ng-container *ngIf=\"control && groupName; else elseBlock\">\r\n <div class=\"checkbox-item mb-3 mr-3\" *ngFor=\"let option of options\">\r\n <p-checkbox\r\n [name]=\"groupName\"\r\n [formControl]=\"control\"\r\n [value]=\"option\"\r\n checkboxIcon=\"fas fa-check\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n [inputId]=\"option.code\"\r\n ></p-checkbox>\r\n <label [for]=\"option.code\"> {{ option.name }}</label>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-template #elseBlock>\r\n <p-checkbox\r\n *ngIf=\"control && !groupName\"\r\n [formControl]=\"control\"\r\n checkboxIcon=\"fas fa-check\"\r\n [binary]=\"true\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n ></p-checkbox>\r\n <p-checkbox\r\n *ngIf=\"!control && !groupName\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"value = $event; valueChange.emit($event)\"\r\n checkboxIcon=\"fas fa-check\"\r\n [binary]=\"true\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n [disabled]=\"disabled\"\r\n ></p-checkbox>\r\n <label *ngIf=\"label\" [class.large-label]=\"labelSize === 'large'\" (click)=\"control.setValue(!control.value)\"\r\n >{{ label }}\r\n <span class=\"red-label\" *ngIf=\"isRequired\"> (*)</span>\r\n </label>\r\n </ng-template>\r\n</div>\r\n", styles: [".checkbox-container{display:flex;align-items:center}.checkbox-container label{margin-left:10px}.checkbox-container .large-label{font-size:1em}.checkbox-container .checkbox-item{min-width:80px}\n"], components: [{ type: i1.Checkbox, selector: "p-checkbox", inputs: ["value", "name", "disabled", "binary", "label", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "styleClass", "labelStyleClass", "formControl", "checkboxIcon", "readonly", "required", "trueValue", "falseValue"], outputs: ["onChange"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CheckboxFieldComponent, decorators: [{
23
- type: Component,
24
- args: [{ selector: 'vector-checkbox-field', template: "<div class=\"checkbox-container flex-wrap\">\r\n <ng-container *ngIf=\"control && groupName; else elseBlock\">\r\n <div class=\"checkbox-item mb-3 mr-3\" *ngFor=\"let option of options\">\r\n <p-checkbox\r\n [name]=\"groupName\"\r\n [formControl]=\"control\"\r\n [value]=\"option\"\r\n checkboxIcon=\"fas fa-check\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n [inputId]=\"option.code\"\r\n ></p-checkbox>\r\n <label [for]=\"option.code\"> {{ option.name }}</label>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-template #elseBlock>\r\n <p-checkbox\r\n *ngIf=\"control && !groupName\"\r\n [formControl]=\"control\"\r\n checkboxIcon=\"fas fa-check\"\r\n [binary]=\"true\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n ></p-checkbox>\r\n <p-checkbox\r\n *ngIf=\"!control && !groupName\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"value = $event; valueChange.emit($event)\"\r\n checkboxIcon=\"fas fa-check\"\r\n [binary]=\"true\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n [disabled]=\"disabled\"\r\n ></p-checkbox>\r\n <label *ngIf=\"label\" [class.large-label]=\"labelSize === 'large'\" (click)=\"control.setValue(!control.value)\"\r\n >{{ label }}\r\n <span class=\"red-label\" *ngIf=\"isRequired\"> (*)</span>\r\n </label>\r\n </ng-template>\r\n</div>\r\n", styles: [".checkbox-container{display:flex;align-items:center}.checkbox-container label{margin-left:10px}.checkbox-container .large-label{font-size:1em}.checkbox-container .checkbox-item{min-width:80px}\n"] }]
25
- }], ctorParameters: function () { return []; }, propDecorators: { isRequired: [{
26
- type: Input
27
- }], control: [{
28
- type: Input
29
- }], label: [{
30
- type: Input
31
- }], rounded: [{
32
- type: Input
33
- }], labelSize: [{
34
- type: Input
35
- }], value: [{
36
- type: Input
37
- }], groupName: [{
38
- type: Input
39
- }], options: [{
40
- type: Input
41
- }], disabled: [{
42
- type: Input
43
- }], valueChange: [{
44
- type: Output
45
- }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY2hlY2tib3gtZmllbGQvY2hlY2tib3gtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY2hlY2tib3gtZmllbGQvY2hlY2tib3gtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFRL0UsTUFBTSxPQUFPLHNCQUFzQjtJQXFCakM7UUFuQk8sZUFBVSxHQUFZLEtBQUssQ0FBQztRQUk1QixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRW5CLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIsY0FBUyxHQUF3QixTQUFTLENBQUM7UUFFM0MsVUFBSyxHQUF3QixLQUFLLENBQUM7UUFFbkMsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUV2QixZQUFPLEdBQXNCLElBQUksQ0FBQztRQUVsQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUNsQyxDQUFDO0lBRWhCLFFBQVEsS0FBSSxDQUFDOzttSEF2QkYsc0JBQXNCO3VHQUF0QixzQkFBc0IsOFNDUm5DLHM0Q0FzQ0E7MkZEOUJhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSx1QkFBdUI7MEVBTTFCLFVBQVU7c0JBRGhCLEtBQUs7Z0JBR0MsT0FBTztzQkFEYixLQUFLO2dCQUdDLEtBQUs7c0JBRFgsS0FBSztnQkFHQyxPQUFPO3NCQURiLEtBQUs7Z0JBR0MsU0FBUztzQkFEZixLQUFLO2dCQUdDLEtBQUs7c0JBRFgsS0FBSztnQkFHQyxTQUFTO3NCQURmLEtBQUs7Z0JBR0MsT0FBTztzQkFEYixLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFHQyxXQUFXO3NCQURqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMaXN0SXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ZlY3Rvci1jaGVja2JveC1maWVsZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LWZpZWxkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC1maWVsZC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNSZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNvbnRyb2w6IGFueTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcm91bmRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsU2l6ZTogJ2RlZmF1bHQnIHwgJ2xhcmdlJyA9ICdkZWZhdWx0JztcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdyb3VwTmFtZTogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgb3B0aW9uczogTGlzdEl0ZW1bXSB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7fVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjaGVja2JveC1jb250YWluZXIgZmxleC13cmFwXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2wgJiYgZ3JvdXBOYW1lOyBlbHNlIGVsc2VCbG9ja1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNoZWNrYm94LWl0ZW0gbWItMyBtci0zXCIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCI+XHJcbiAgICAgIDxwLWNoZWNrYm94XHJcbiAgICAgICAgW25hbWVdPVwiZ3JvdXBOYW1lXCJcclxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXHJcbiAgICAgICAgW3ZhbHVlXT1cIm9wdGlvblwiXHJcbiAgICAgICAgY2hlY2tib3hJY29uPVwiZmFzIGZhLWNoZWNrXCJcclxuICAgICAgICBbY2xhc3Mucm91bmRlZC1jaGVja2JveF09XCJyb3VuZGVkXCJcclxuICAgICAgICBbaW5wdXRJZF09XCJvcHRpb24uY29kZVwiXHJcbiAgICAgID48L3AtY2hlY2tib3g+XHJcbiAgICAgIDxsYWJlbCBbZm9yXT1cIm9wdGlvbi5jb2RlXCI+IHt7IG9wdGlvbi5uYW1lIH19PC9sYWJlbD5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2Vsc2VCbG9jaz5cclxuICAgIDxwLWNoZWNrYm94XHJcbiAgICAgICpuZ0lmPVwiY29udHJvbCAmJiAhZ3JvdXBOYW1lXCJcclxuICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxyXG4gICAgICBjaGVja2JveEljb249XCJmYXMgZmEtY2hlY2tcIlxyXG4gICAgICBbYmluYXJ5XT1cInRydWVcIlxyXG4gICAgICBbY2xhc3Mucm91bmRlZC1jaGVja2JveF09XCJyb3VuZGVkXCJcclxuICAgID48L3AtY2hlY2tib3g+XHJcbiAgICA8cC1jaGVja2JveFxyXG4gICAgICAqbmdJZj1cIiFjb250cm9sICYmICFncm91cE5hbWVcIlxyXG4gICAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXHJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInZhbHVlID0gJGV2ZW50OyB2YWx1ZUNoYW5nZS5lbWl0KCRldmVudClcIlxyXG4gICAgICBjaGVja2JveEljb249XCJmYXMgZmEtY2hlY2tcIlxyXG4gICAgICBbYmluYXJ5XT1cInRydWVcIlxyXG4gICAgICBbY2xhc3Mucm91bmRlZC1jaGVja2JveF09XCJyb3VuZGVkXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgID48L3AtY2hlY2tib3g+XHJcbiAgICA8bGFiZWwgKm5nSWY9XCJsYWJlbFwiIFtjbGFzcy5sYXJnZS1sYWJlbF09XCJsYWJlbFNpemUgPT09ICdsYXJnZSdcIiAoY2xpY2spPVwiY29udHJvbC5zZXRWYWx1ZSghY29udHJvbC52YWx1ZSlcIlxyXG4gICAgICA+e3sgbGFiZWwgfX1cclxuICAgICAgPHNwYW4gY2xhc3M9XCJyZWQtbGFiZWxcIiAqbmdJZj1cImlzUmVxdWlyZWRcIj4gKCopPC9zcGFuPlxyXG4gICAgPC9sYWJlbD5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2Rpdj5cclxuIl19
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "primeng/checkbox";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "@angular/forms";
6
+ export class CheckboxFieldComponent {
7
+ constructor() {
8
+ this.isRequired = false;
9
+ this.label = '';
10
+ this.rounded = false;
11
+ this.labelSize = 'default';
12
+ this.value = false;
13
+ this.groupName = '';
14
+ this.options = null;
15
+ this.disabled = false;
16
+ this.valueChange = new EventEmitter();
17
+ }
18
+ ngOnInit() { }
19
+ }
20
+ CheckboxFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CheckboxFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
+ CheckboxFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CheckboxFieldComponent, selector: "vector-checkbox-field", inputs: { isRequired: "isRequired", control: "control", label: "label", rounded: "rounded", labelSize: "labelSize", value: "value", groupName: "groupName", options: "options", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"checkbox-container flex-wrap\">\n <ng-container *ngIf=\"control && groupName; else elseBlock\">\n <div class=\"checkbox-item mb-3 mr-3\" *ngFor=\"let option of options\">\n <p-checkbox\n [name]=\"groupName\"\n [formControl]=\"control\"\n [value]=\"option\"\n checkboxIcon=\"fas fa-check\"\n [class.rounded-checkbox]=\"rounded\"\n [inputId]=\"option.code\"\n ></p-checkbox>\n <label [for]=\"option.code\"> {{ option.name }}</label>\n </div>\n </ng-container>\n\n <ng-template #elseBlock>\n <p-checkbox\n *ngIf=\"control && !groupName\"\n [formControl]=\"control\"\n checkboxIcon=\"fas fa-check\"\n [binary]=\"true\"\n [class.rounded-checkbox]=\"rounded\"\n ></p-checkbox>\n <p-checkbox\n *ngIf=\"!control && !groupName\"\n [ngModel]=\"value\"\n (ngModelChange)=\"value = $event; valueChange.emit($event)\"\n checkboxIcon=\"fas fa-check\"\n [binary]=\"true\"\n [class.rounded-checkbox]=\"rounded\"\n [disabled]=\"disabled\"\n ></p-checkbox>\n <label *ngIf=\"label\" [class.large-label]=\"labelSize === 'large'\" (click)=\"control.setValue(!control.value)\"\n >{{ label }}\n <span class=\"red-label\" *ngIf=\"isRequired\"> (*)</span>\n </label>\n </ng-template>\n</div>\n", styles: [".checkbox-container{display:flex;align-items:center}.checkbox-container label{margin-left:10px}.checkbox-container .large-label{font-size:1em}.checkbox-container .checkbox-item{min-width:80px}\n"], components: [{ type: i1.Checkbox, selector: "p-checkbox", inputs: ["value", "name", "disabled", "binary", "label", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "styleClass", "labelStyleClass", "formControl", "checkboxIcon", "readonly", "required", "trueValue", "falseValue"], outputs: ["onChange"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CheckboxFieldComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ selector: 'vector-checkbox-field', template: "<div class=\"checkbox-container flex-wrap\">\n <ng-container *ngIf=\"control && groupName; else elseBlock\">\n <div class=\"checkbox-item mb-3 mr-3\" *ngFor=\"let option of options\">\n <p-checkbox\n [name]=\"groupName\"\n [formControl]=\"control\"\n [value]=\"option\"\n checkboxIcon=\"fas fa-check\"\n [class.rounded-checkbox]=\"rounded\"\n [inputId]=\"option.code\"\n ></p-checkbox>\n <label [for]=\"option.code\"> {{ option.name }}</label>\n </div>\n </ng-container>\n\n <ng-template #elseBlock>\n <p-checkbox\n *ngIf=\"control && !groupName\"\n [formControl]=\"control\"\n checkboxIcon=\"fas fa-check\"\n [binary]=\"true\"\n [class.rounded-checkbox]=\"rounded\"\n ></p-checkbox>\n <p-checkbox\n *ngIf=\"!control && !groupName\"\n [ngModel]=\"value\"\n (ngModelChange)=\"value = $event; valueChange.emit($event)\"\n checkboxIcon=\"fas fa-check\"\n [binary]=\"true\"\n [class.rounded-checkbox]=\"rounded\"\n [disabled]=\"disabled\"\n ></p-checkbox>\n <label *ngIf=\"label\" [class.large-label]=\"labelSize === 'large'\" (click)=\"control.setValue(!control.value)\"\n >{{ label }}\n <span class=\"red-label\" *ngIf=\"isRequired\"> (*)</span>\n </label>\n </ng-template>\n</div>\n", styles: [".checkbox-container{display:flex;align-items:center}.checkbox-container label{margin-left:10px}.checkbox-container .large-label{font-size:1em}.checkbox-container .checkbox-item{min-width:80px}\n"] }]
25
+ }], ctorParameters: function () { return []; }, propDecorators: { isRequired: [{
26
+ type: Input
27
+ }], control: [{
28
+ type: Input
29
+ }], label: [{
30
+ type: Input
31
+ }], rounded: [{
32
+ type: Input
33
+ }], labelSize: [{
34
+ type: Input
35
+ }], value: [{
36
+ type: Input
37
+ }], groupName: [{
38
+ type: Input
39
+ }], options: [{
40
+ type: Input
41
+ }], disabled: [{
42
+ type: Input
43
+ }], valueChange: [{
44
+ type: Output
45
+ }] } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY2hlY2tib3gtZmllbGQvY2hlY2tib3gtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY2hlY2tib3gtZmllbGQvY2hlY2tib3gtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFRL0UsTUFBTSxPQUFPLHNCQUFzQjtJQXFCakM7UUFuQk8sZUFBVSxHQUFZLEtBQUssQ0FBQztRQUk1QixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRW5CLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIsY0FBUyxHQUF3QixTQUFTLENBQUM7UUFFM0MsVUFBSyxHQUF3QixLQUFLLENBQUM7UUFFbkMsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUV2QixZQUFPLEdBQXNCLElBQUksQ0FBQztRQUVsQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUNsQyxDQUFDO0lBRWhCLFFBQVEsS0FBSSxDQUFDOzttSEF2QkYsc0JBQXNCO3VHQUF0QixzQkFBc0IsOFNDUm5DLDB6Q0FzQ0E7MkZEOUJhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSx1QkFBdUI7MEVBTTFCLFVBQVU7c0JBRGhCLEtBQUs7Z0JBR0MsT0FBTztzQkFEYixLQUFLO2dCQUdDLEtBQUs7c0JBRFgsS0FBSztnQkFHQyxPQUFPO3NCQURiLEtBQUs7Z0JBR0MsU0FBUztzQkFEZixLQUFLO2dCQUdDLEtBQUs7c0JBRFgsS0FBSztnQkFHQyxTQUFTO3NCQURmLEtBQUs7Z0JBR0MsT0FBTztzQkFEYixLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFHQyxXQUFXO3NCQURqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGlzdEl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZWN0b3ItY2hlY2tib3gtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3gtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC1maWVsZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDaGVja2JveEZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgcHVibGljIGlzUmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgcHVibGljIGNvbnRyb2w6IGFueTtcbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KClcbiAgcHVibGljIHJvdW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsU2l6ZTogJ2RlZmF1bHQnIHwgJ2xhcmdlJyA9ICdkZWZhdWx0JztcbiAgQElucHV0KClcbiAgcHVibGljIHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBncm91cE5hbWU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3B0aW9uczogTGlzdEl0ZW1bXSB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQE91dHB1dCgpXG4gIHB1YmxpYyB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge31cbn1cbiIsIjxkaXYgY2xhc3M9XCJjaGVja2JveC1jb250YWluZXIgZmxleC13cmFwXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250cm9sICYmIGdyb3VwTmFtZTsgZWxzZSBlbHNlQmxvY2tcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3gtaXRlbSBtYi0zIG1yLTNcIiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIj5cbiAgICAgIDxwLWNoZWNrYm94XG4gICAgICAgIFtuYW1lXT1cImdyb3VwTmFtZVwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgICAgICAgW3ZhbHVlXT1cIm9wdGlvblwiXG4gICAgICAgIGNoZWNrYm94SWNvbj1cImZhcyBmYS1jaGVja1wiXG4gICAgICAgIFtjbGFzcy5yb3VuZGVkLWNoZWNrYm94XT1cInJvdW5kZWRcIlxuICAgICAgICBbaW5wdXRJZF09XCJvcHRpb24uY29kZVwiXG4gICAgICA+PC9wLWNoZWNrYm94PlxuICAgICAgPGxhYmVsIFtmb3JdPVwib3B0aW9uLmNvZGVcIj4ge3sgb3B0aW9uLm5hbWUgfX08L2xhYmVsPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctdGVtcGxhdGUgI2Vsc2VCbG9jaz5cbiAgICA8cC1jaGVja2JveFxuICAgICAgKm5nSWY9XCJjb250cm9sICYmICFncm91cE5hbWVcIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgY2hlY2tib3hJY29uPVwiZmFzIGZhLWNoZWNrXCJcbiAgICAgIFtiaW5hcnldPVwidHJ1ZVwiXG4gICAgICBbY2xhc3Mucm91bmRlZC1jaGVja2JveF09XCJyb3VuZGVkXCJcbiAgICA+PC9wLWNoZWNrYm94PlxuICAgIDxwLWNoZWNrYm94XG4gICAgICAqbmdJZj1cIiFjb250cm9sICYmICFncm91cE5hbWVcIlxuICAgICAgW25nTW9kZWxdPVwidmFsdWVcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidmFsdWUgPSAkZXZlbnQ7IHZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICBjaGVja2JveEljb249XCJmYXMgZmEtY2hlY2tcIlxuICAgICAgW2JpbmFyeV09XCJ0cnVlXCJcbiAgICAgIFtjbGFzcy5yb3VuZGVkLWNoZWNrYm94XT1cInJvdW5kZWRcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICA+PC9wLWNoZWNrYm94PlxuICAgIDxsYWJlbCAqbmdJZj1cImxhYmVsXCIgW2NsYXNzLmxhcmdlLWxhYmVsXT1cImxhYmVsU2l6ZSA9PT0gJ2xhcmdlJ1wiIChjbGljayk9XCJjb250cm9sLnNldFZhbHVlKCFjb250cm9sLnZhbHVlKVwiXG4gICAgICA+e3sgbGFiZWwgfX1cbiAgICAgIDxzcGFuIGNsYXNzPVwicmVkLWxhYmVsXCIgKm5nSWY9XCJpc1JlcXVpcmVkXCI+ICgqKTwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
@@ -1,2 +1,2 @@
1
- export * from './checkbox-field.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9jaGVja2JveC1maWVsZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jaGVja2JveC1maWVsZC5jb21wb25lbnQnO1xyXG4iXX0=
1
+ export * from './checkbox-field.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9jaGVja2JveC1maWVsZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jaGVja2JveC1maWVsZC5jb21wb25lbnQnO1xuIl19
@@ -1,95 +1,95 @@
1
- import { Component, Input, ViewChild } from '@angular/core';
2
- import { InputNumber } from 'primeng/inputnumber';
3
- import { Currency } from '../../../models/currency.enum';
4
- import { Locale } from '../../../models/locale.enum';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "primeng/inputnumber";
7
- import * as i2 from "@angular/common";
8
- import * as i3 from "@angular/forms";
9
- export class CurrencyFieldComponent {
10
- constructor() {
11
- this.minValue = 0;
12
- this.maxValue = 999999999;
13
- this.placeholder = '';
14
- this.numberOfDecimals = 2;
15
- this.outlined = false;
16
- this.rounded = false;
17
- this.isBankingField = false;
18
- this.inputClassName = '';
19
- this.localePrefix = Locale.BR;
20
- this.currencyPrefix = Currency.BR;
21
- this.disabled = false;
22
- }
23
- ngAfterViewInit() {
24
- const inputElement = this.inputElement?.el.nativeElement.querySelector('input');
25
- inputElement.addEventListener('select', () => {
26
- inputElement.selectionStart = inputElement.selectionEnd;
27
- }, false);
28
- }
29
- getInputNgClass() {
30
- return { outlined: this.outlined, rounded: this.rounded, [this.inputClassName]: !!this.inputClassName };
31
- }
32
- focusLastIndex($event) {
33
- const target = $event.target;
34
- const selectionIndex = target?.value.length || 0;
35
- target?.setSelectionRange(selectionIndex, selectionIndex);
36
- }
37
- inputNextChar($event) {
38
- const target = $event.target;
39
- const valueTyped = $event.key;
40
- let newValue = target.value.replace('R$ ', '').replace(/[\.,]/g, '');
41
- const isDeleteOrBackspace = ['Delete', 'Backspace'].includes($event.key);
42
- if (isDeleteOrBackspace) {
43
- newValue = newValue.substring(0, newValue.length - 1).padStart(3, '0');
44
- }
45
- else if (!isNaN(+valueTyped)) {
46
- newValue += valueTyped;
47
- newValue = `${+newValue}`.padStart(3, '0');
48
- }
49
- target.value = `${this.outlined ? 'R$ ' : ''}${Number(`${newValue.substring(0, newValue.length - 2)}.${newValue.substring(newValue.length - 2, newValue.length)}`).toLocaleString('pt-BR', {
50
- currency: 'BRL',
51
- minimumFractionDigits: 2,
52
- maximumFractionDigits: this.numberOfDecimals,
53
- })}`;
54
- this.focusLastIndex($event);
55
- }
56
- clearValue() {
57
- this.control.setValue(0);
58
- }
59
- }
60
- CurrencyFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CurrencyFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
61
- CurrencyFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CurrencyFieldComponent, selector: "vector-currency-field", inputs: { minValue: "minValue", maxValue: "maxValue", placeholder: "placeholder", numberOfDecimals: "numberOfDecimals", control: "control", outlined: "outlined", rounded: "rounded", label: "label", isBankingField: "isBankingField", inputClassName: "inputClassName", localePrefix: "localePrefix", currencyPrefix: "currencyPrefix", disabled: "disabled" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: InputNumber, descendants: true }], ngImport: i0, template: "<div [ngClass]=\"{ 'input-container': outlined, 'value-input-container': !outlined, rounded: rounded }\">\r\n <div class=\"inner-container\">\r\n <label *ngIf=\"label\">{{ label }}</label>\r\n <div class=\"input\">\r\n <span *ngIf=\"!outlined\">{{ currencyPrefix }} </span>\r\n <div class=\"value-input\">\r\n <p-inputNumber\r\n class=\"currency-input\"\r\n [ngClass]=\"getInputNgClass()\"\r\n [formControl]=\"control\"\r\n mode=\"decimal\"\r\n [minFractionDigits]=\"2\"\r\n [maxFractionDigits]=\"numberOfDecimals\"\r\n [min]=\"minValue\"\r\n [max]=\"maxValue\"\r\n [prefix]=\"outlined ? currencyPrefix : ''\"\r\n [disabled]=\"disabled\"\r\n [locale]=\"localePrefix ? localePrefix : 'pt-BR'\"\r\n (click)=\"isBankingField ? focusLastIndex($event) : null\"\r\n (onKeyDown)=\"isBankingField ? inputNextChar($event) : null\"\r\n ></p-inputNumber>\r\n </div>\r\n </div>\r\n </div>\r\n <span *ngIf=\"rounded\" class=\"clear-value\" (click)=\"clearValue()\"><i class=\"pi pi-times\"></i></span>\r\n</div>\r\n", styles: [".value-input-container{padding:5px 20px;display:flex;align-items:center;justify-content:space-between}.value-input-container:focus-within{border:2px solid var(--theme-dark)}.value-input-container:not(.rounded) span{font-size:2em}.value-input-container label{color:var(--gray-dark);font-size:13px}.value-input-container span{font-weight:700;color:var(--theme-dark)}.value-input-container .input{display:flex;align-items:center}.value-input-container .input .value-input{margin:0 4px;flex:1}.rounded:not(.currency-input){padding:0 25px;background-color:#fff;border-radius:16px}.rounded span{font-size:1em}.rounded input{font-size:1rem}.rounded .clear-value{padding:5px 5px 0;border-radius:20px}.rounded .clear-value:hover{background-color:var(--gray-medium)}\n"], components: [{ type: i1.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", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CurrencyFieldComponent, decorators: [{
63
- type: Component,
64
- args: [{ selector: 'vector-currency-field', template: "<div [ngClass]=\"{ 'input-container': outlined, 'value-input-container': !outlined, rounded: rounded }\">\r\n <div class=\"inner-container\">\r\n <label *ngIf=\"label\">{{ label }}</label>\r\n <div class=\"input\">\r\n <span *ngIf=\"!outlined\">{{ currencyPrefix }} </span>\r\n <div class=\"value-input\">\r\n <p-inputNumber\r\n class=\"currency-input\"\r\n [ngClass]=\"getInputNgClass()\"\r\n [formControl]=\"control\"\r\n mode=\"decimal\"\r\n [minFractionDigits]=\"2\"\r\n [maxFractionDigits]=\"numberOfDecimals\"\r\n [min]=\"minValue\"\r\n [max]=\"maxValue\"\r\n [prefix]=\"outlined ? currencyPrefix : ''\"\r\n [disabled]=\"disabled\"\r\n [locale]=\"localePrefix ? localePrefix : 'pt-BR'\"\r\n (click)=\"isBankingField ? focusLastIndex($event) : null\"\r\n (onKeyDown)=\"isBankingField ? inputNextChar($event) : null\"\r\n ></p-inputNumber>\r\n </div>\r\n </div>\r\n </div>\r\n <span *ngIf=\"rounded\" class=\"clear-value\" (click)=\"clearValue()\"><i class=\"pi pi-times\"></i></span>\r\n</div>\r\n", styles: [".value-input-container{padding:5px 20px;display:flex;align-items:center;justify-content:space-between}.value-input-container:focus-within{border:2px solid var(--theme-dark)}.value-input-container:not(.rounded) span{font-size:2em}.value-input-container label{color:var(--gray-dark);font-size:13px}.value-input-container span{font-weight:700;color:var(--theme-dark)}.value-input-container .input{display:flex;align-items:center}.value-input-container .input .value-input{margin:0 4px;flex:1}.rounded:not(.currency-input){padding:0 25px;background-color:#fff;border-radius:16px}.rounded span{font-size:1em}.rounded input{font-size:1rem}.rounded .clear-value{padding:5px 5px 0;border-radius:20px}.rounded .clear-value:hover{background-color:var(--gray-medium)}\n"] }]
65
- }], propDecorators: { minValue: [{
66
- type: Input
67
- }], maxValue: [{
68
- type: Input
69
- }], placeholder: [{
70
- type: Input
71
- }], numberOfDecimals: [{
72
- type: Input
73
- }], control: [{
74
- type: Input
75
- }], outlined: [{
76
- type: Input
77
- }], rounded: [{
78
- type: Input
79
- }], label: [{
80
- type: Input
81
- }], isBankingField: [{
82
- type: Input
83
- }], inputClassName: [{
84
- type: Input
85
- }], localePrefix: [{
86
- type: Input
87
- }], currencyPrefix: [{
88
- type: Input
89
- }], disabled: [{
90
- type: Input
91
- }], inputElement: [{
92
- type: ViewChild,
93
- args: [InputNumber]
94
- }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY3VycmVuY3ktZmllbGQvY3VycmVuY3ktZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY3VycmVuY3ktZmllbGQvY3VycmVuY3ktZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7QUFPckQsTUFBTSxPQUFPLHNCQUFzQjtJQUxuQztRQU9TLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFFYixhQUFRLEdBQUcsU0FBUyxDQUFDO1FBRXJCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBRXpCLHFCQUFnQixHQUFXLENBQUMsQ0FBQztRQUk3QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFJaEIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFFaEMsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFFcEIsaUJBQVksR0FBb0IsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUUxQyxtQkFBYyxHQUFzQixRQUFRLENBQUMsRUFBRSxDQUFDO1FBRWhELGFBQVEsR0FBRyxLQUFLLENBQUM7S0FpRHpCO0lBN0NDLGVB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UTtzQkFEZCxLQUFLO2dCQUdDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBR0MsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQUdDLE9BQU87c0JBRGIsS0FBSztnQkFHQyxRQUFRO3NCQURkLEtBQUs7Z0JBR0MsT0FBTztzQkFEYixLQUFLO2dCQUdDLEtBQUs7c0JBRFgsS0FBSztnQkFHQyxjQUFjO3NCQURwQixLQUFLO2dCQUdDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBR0MsWUFBWTtzQkFEbEIsS0FBSztnQkFHQyxjQUFjO3NCQURwQixLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFHRSxZQUFZO3NCQURuQixTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW5wdXROdW1iZXIgfSBmcm9tICdwcmltZW5nL2lucHV0bnVtYmVyJztcclxuaW1wb3J0IHsgQ3VycmVuY3kgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvY3VycmVuY3kuZW51bSc7XHJcbmltcG9ydCB7IExvY2FsZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9sb2NhbGUuZW51bSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ZlY3Rvci1jdXJyZW5jeS1maWVsZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2N1cnJlbmN5LWZpZWxkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jdXJyZW5jeS1maWVsZC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VycmVuY3lGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG1pblZhbHVlID0gMDtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtYXhWYWx1ZSA9IDk5OTk5OTk5OTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbnVtYmVyT2ZEZWNpbWFsczogbnVtYmVyID0gMjtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjb250cm9sOiBhbnk7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgb3V0bGluZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByb3VuZGVkID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGFiZWw/OiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNCYW5raW5nRmllbGQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpbnB1dENsYXNzTmFtZSA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxvY2FsZVByZWZpeDogTG9jYWxlIHwgc3RyaW5nID0gTG9jYWxlLkJSO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGN1cnJlbmN5UHJlZml4OiBDdXJyZW5jeSB8IHN0cmluZyA9IEN1cnJlbmN5LkJSO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQFZpZXdDaGlsZChJbnB1dE51bWJlcilcclxuICBwcml2YXRlIGlucHV0RWxlbWVudD86IElucHV0TnVtYmVyO1xyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSB0aGlzLmlucHV0RWxlbWVudD8uZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpO1xyXG4gICAgaW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXHJcbiAgICAgICdzZWxlY3QnLFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgaW5wdXRFbGVtZW50LnNlbGVjdGlvblN0YXJ0ID0gaW5wdXRFbGVtZW50LnNlbGVjdGlvbkVuZDtcclxuICAgICAgfSxcclxuICAgICAgZmFsc2VcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0SW5wdXROZ0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHsgb3V0bGluZWQ6IHRoaXMub3V0bGluZWQsIHJvdW5kZWQ6IHRoaXMucm91bmRlZCwgW3RoaXMuaW5wdXRDbGFzc05hbWVdOiAhIXRoaXMuaW5wdXRDbGFzc05hbWUgfTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBmb2N1c0xhc3RJbmRleCgkZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBjb25zdCB0YXJnZXQgPSAkZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICBjb25zdCBzZWxlY3Rpb25JbmRleCA9IHRhcmdldD8udmFsdWUubGVuZ3RoIHx8IDA7XHJcbiAgICB0YXJnZXQ/LnNldFNlbGVjdGlvblJhbmdlKHNlbGVjdGlvbkluZGV4LCBzZWxlY3Rpb25JbmRleCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW5wdXROZXh0Q2hhcigkZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IHRhcmdldCA9ICRldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgIGNvbnN0IHZhbHVlVHlwZWQgPSAkZXZlbnQua2V5O1xyXG4gICAgbGV0IG5ld1ZhbHVlID0gdGFyZ2V0LnZhbHVlLnJlcGxhY2UoJ1IkICcsICcnKS5yZXBsYWNlKC9bXFwuLF0vZywgJycpO1xyXG4gICAgY29uc3QgaXNEZWxldGVPckJhY2tzcGFjZSA9IFsnRGVsZXRlJywgJ0JhY2tzcGFjZSddLmluY2x1ZGVzKCRldmVudC5rZXkpO1xyXG4gICAgaWYgKGlzRGVsZXRlT3JCYWNrc3BhY2UpIHtcclxuICAgICAgbmV3VmFsdWUgPSBuZXdWYWx1ZS5zdWJzdHJpbmcoMCwgbmV3VmFsdWUubGVuZ3RoIC0gMSkucGFkU3RhcnQoMywgJzAnKTtcclxuICAgIH0gZWxzZSBpZiAoIWlzTmFOKCt2YWx1ZVR5cGVkKSkge1xyXG4gICAgICBuZXdWYWx1ZSArPSB2YWx1ZVR5cGVkO1xyXG4gICAgICBuZXdWYWx1ZSA9IGAkeytuZXdWYWx1ZX1gLnBhZFN0YXJ0KDMsICcwJyk7XHJcbiAgICB9XHJcbiAgICB0YXJnZXQudmFsdWUgPSBgJHt0aGlzLm91dGxpbmVkID8gJ1IkICcgOiAnJ30ke051bWJlcihcclxuICAgICAgYCR7bmV3VmFsdWUuc3Vic3RyaW5nKDAsIG5ld1ZhbHVlLmxlbmd0aCAtIDIpfS4ke25ld1ZhbHVlLnN1YnN0cmluZyhuZXdWYWx1ZS5sZW5ndGggLSAyLCBuZXdWYWx1ZS5sZW5ndGgpfWBcclxuICAgICkudG9Mb2NhbGVTdHJpbmcoJ3B0LUJSJywge1xyXG4gICAgICBjdXJyZW5jeTogJ0JSTCcsXHJcbiAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMixcclxuICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiB0aGlzLm51bWJlck9mRGVjaW1hbHMsXHJcbiAgICB9KX1gO1xyXG4gICAgdGhpcy5mb2N1c0xhc3RJbmRleCgkZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsZWFyVmFsdWUoKSB7XHJcbiAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoMCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgW25nQ2xhc3NdPVwieyAnaW5wdXQtY29udGFpbmVyJzogb3V0bGluZWQsICd2YWx1ZS1pbnB1dC1jb250YWluZXInOiAhb3V0bGluZWQsIHJvdW5kZWQ6IHJvdW5kZWQgfVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJpbm5lci1jb250YWluZXJcIj5cclxuICAgIDxsYWJlbCAqbmdJZj1cImxhYmVsXCI+e3sgbGFiZWwgfX08L2xhYmVsPlxyXG4gICAgPGRpdiBjbGFzcz1cImlucHV0XCI+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwiIW91dGxpbmVkXCI+e3sgY3VycmVuY3lQcmVmaXggfX0gPC9zcGFuPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidmFsdWUtaW5wdXRcIj5cclxuICAgICAgICA8cC1pbnB1dE51bWJlclxyXG4gICAgICAgICAgY2xhc3M9XCJjdXJyZW5jeS1pbnB1dFwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJnZXRJbnB1dE5nQ2xhc3MoKVwiXHJcbiAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXHJcbiAgICAgICAgICBtb2RlPVwiZGVjaW1hbFwiXHJcbiAgICAgICAgICBbbWluRnJhY3Rpb25EaWdpdHNdPVwiMlwiXHJcbiAgICAgICAgICBbbWF4RnJhY3Rpb25EaWdpdHNdPVwibnVtYmVyT2ZEZWNpbWFsc1wiXHJcbiAgICAgICAgICBbbWluXT1cIm1pblZhbHVlXCJcclxuICAgICAgICAgIFttYXhdPVwibWF4VmFsdWVcIlxyXG4gICAgICAgICAgW3ByZWZpeF09XCJvdXRsaW5lZCA/IGN1cnJlbmN5UHJlZml4IDogJydcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgIFtsb2NhbGVdPVwibG9jYWxlUHJlZml4ID8gbG9jYWxlUHJlZml4IDogJ3B0LUJSJ1wiXHJcbiAgICAgICAgICAoY2xpY2spPVwiaXNCYW5raW5nRmllbGQgPyBmb2N1c0xhc3RJbmRleCgkZXZlbnQpIDogbnVsbFwiXHJcbiAgICAgICAgICAob25LZXlEb3duKT1cImlzQmFua2luZ0ZpZWxkID8gaW5wdXROZXh0Q2hhcigkZXZlbnQpIDogbnVsbFwiXHJcbiAgICAgICAgPjwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8c3BhbiAqbmdJZj1cInJvdW5kZWRcIiBjbGFzcz1cImNsZWFyLXZhbHVlXCIgKGNsaWNrKT1cImNsZWFyVmFsdWUoKVwiPjxpIGNsYXNzPVwicGkgcGktdGltZXNcIj48L2k+PC9zcGFuPlxyXG48L2Rpdj5cclxuIl19
1
+ import { Component, Input, ViewChild } from '@angular/core';
2
+ import { InputNumber } from 'primeng/inputnumber';
3
+ import { Currency } from '../../../models/currency.enum';
4
+ import { Locale } from '../../../models/locale.enum';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "primeng/inputnumber";
7
+ import * as i2 from "@angular/common";
8
+ import * as i3 from "@angular/forms";
9
+ export class CurrencyFieldComponent {
10
+ constructor() {
11
+ this.minValue = 0;
12
+ this.maxValue = 999999999;
13
+ this.placeholder = '';
14
+ this.numberOfDecimals = 2;
15
+ this.outlined = false;
16
+ this.rounded = false;
17
+ this.isBankingField = false;
18
+ this.inputClassName = '';
19
+ this.localePrefix = Locale.BR;
20
+ this.currencyPrefix = Currency.BR;
21
+ this.disabled = false;
22
+ }
23
+ ngAfterViewInit() {
24
+ const inputElement = this.inputElement?.el.nativeElement.querySelector('input');
25
+ inputElement.addEventListener('select', () => {
26
+ inputElement.selectionStart = inputElement.selectionEnd;
27
+ }, false);
28
+ }
29
+ getInputNgClass() {
30
+ return { outlined: this.outlined, rounded: this.rounded, [this.inputClassName]: !!this.inputClassName };
31
+ }
32
+ focusLastIndex($event) {
33
+ const target = $event.target;
34
+ const selectionIndex = target?.value.length || 0;
35
+ target?.setSelectionRange(selectionIndex, selectionIndex);
36
+ }
37
+ inputNextChar($event) {
38
+ const target = $event.target;
39
+ const valueTyped = $event.key;
40
+ let newValue = target.value.replace('R$ ', '').replace(/[\.,]/g, '');
41
+ const isDeleteOrBackspace = ['Delete', 'Backspace'].includes($event.key);
42
+ if (isDeleteOrBackspace) {
43
+ newValue = newValue.substring(0, newValue.length - 1).padStart(3, '0');
44
+ }
45
+ else if (!isNaN(+valueTyped)) {
46
+ newValue += valueTyped;
47
+ newValue = `${+newValue}`.padStart(3, '0');
48
+ }
49
+ target.value = `${this.outlined ? 'R$ ' : ''}${Number(`${newValue.substring(0, newValue.length - 2)}.${newValue.substring(newValue.length - 2, newValue.length)}`).toLocaleString('pt-BR', {
50
+ currency: 'BRL',
51
+ minimumFractionDigits: 2,
52
+ maximumFractionDigits: this.numberOfDecimals,
53
+ })}`;
54
+ this.focusLastIndex($event);
55
+ }
56
+ clearValue() {
57
+ this.control.setValue(0);
58
+ }
59
+ }
60
+ CurrencyFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CurrencyFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
61
+ CurrencyFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CurrencyFieldComponent, selector: "vector-currency-field", inputs: { minValue: "minValue", maxValue: "maxValue", placeholder: "placeholder", numberOfDecimals: "numberOfDecimals", control: "control", outlined: "outlined", rounded: "rounded", label: "label", isBankingField: "isBankingField", inputClassName: "inputClassName", localePrefix: "localePrefix", currencyPrefix: "currencyPrefix", disabled: "disabled" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: InputNumber, descendants: true }], ngImport: i0, template: "<div [ngClass]=\"{ 'input-container': outlined, 'value-input-container': !outlined, rounded: rounded }\">\n <div class=\"inner-container\">\n <label *ngIf=\"label\">{{ label }}</label>\n <div class=\"input\">\n <span *ngIf=\"!outlined\">{{ currencyPrefix }} </span>\n <div class=\"value-input\">\n <p-inputNumber\n class=\"currency-input\"\n [ngClass]=\"getInputNgClass()\"\n [formControl]=\"control\"\n mode=\"decimal\"\n [minFractionDigits]=\"2\"\n [maxFractionDigits]=\"numberOfDecimals\"\n [min]=\"minValue\"\n [max]=\"maxValue\"\n [prefix]=\"outlined ? currencyPrefix : ''\"\n [disabled]=\"disabled\"\n [locale]=\"localePrefix ? localePrefix : 'pt-BR'\"\n (click)=\"isBankingField ? focusLastIndex($event) : null\"\n (onKeyDown)=\"isBankingField ? inputNextChar($event) : null\"\n ></p-inputNumber>\n </div>\n </div>\n </div>\n <span *ngIf=\"rounded\" class=\"clear-value\" (click)=\"clearValue()\"><i class=\"pi pi-times\"></i></span>\n</div>\n", styles: [".value-input-container{padding:5px 20px;display:flex;align-items:center;justify-content:space-between}.value-input-container:focus-within{border:2px solid var(--theme-dark)}.value-input-container:not(.rounded) span{font-size:2em}.value-input-container label{color:var(--gray-dark);font-size:13px}.value-input-container span{font-weight:700;color:var(--theme-dark)}.value-input-container .input{display:flex;align-items:center}.value-input-container .input .value-input{margin:0 4px;flex:1}.rounded:not(.currency-input){padding:0 25px;background-color:#fff;border-radius:16px}.rounded span{font-size:1em}.rounded input{font-size:1rem}.rounded .clear-value{padding:5px 5px 0;border-radius:20px}.rounded .clear-value:hover{background-color:var(--gray-medium)}\n"], components: [{ type: i1.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", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CurrencyFieldComponent, decorators: [{
63
+ type: Component,
64
+ args: [{ selector: 'vector-currency-field', template: "<div [ngClass]=\"{ 'input-container': outlined, 'value-input-container': !outlined, rounded: rounded }\">\n <div class=\"inner-container\">\n <label *ngIf=\"label\">{{ label }}</label>\n <div class=\"input\">\n <span *ngIf=\"!outlined\">{{ currencyPrefix }} </span>\n <div class=\"value-input\">\n <p-inputNumber\n class=\"currency-input\"\n [ngClass]=\"getInputNgClass()\"\n [formControl]=\"control\"\n mode=\"decimal\"\n [minFractionDigits]=\"2\"\n [maxFractionDigits]=\"numberOfDecimals\"\n [min]=\"minValue\"\n [max]=\"maxValue\"\n [prefix]=\"outlined ? currencyPrefix : ''\"\n [disabled]=\"disabled\"\n [locale]=\"localePrefix ? localePrefix : 'pt-BR'\"\n (click)=\"isBankingField ? focusLastIndex($event) : null\"\n (onKeyDown)=\"isBankingField ? inputNextChar($event) : null\"\n ></p-inputNumber>\n </div>\n </div>\n </div>\n <span *ngIf=\"rounded\" class=\"clear-value\" (click)=\"clearValue()\"><i class=\"pi pi-times\"></i></span>\n</div>\n", styles: [".value-input-container{padding:5px 20px;display:flex;align-items:center;justify-content:space-between}.value-input-container:focus-within{border:2px solid var(--theme-dark)}.value-input-container:not(.rounded) span{font-size:2em}.value-input-container label{color:var(--gray-dark);font-size:13px}.value-input-container span{font-weight:700;color:var(--theme-dark)}.value-input-container .input{display:flex;align-items:center}.value-input-container .input .value-input{margin:0 4px;flex:1}.rounded:not(.currency-input){padding:0 25px;background-color:#fff;border-radius:16px}.rounded span{font-size:1em}.rounded input{font-size:1rem}.rounded .clear-value{padding:5px 5px 0;border-radius:20px}.rounded .clear-value:hover{background-color:var(--gray-medium)}\n"] }]
65
+ }], propDecorators: { minValue: [{
66
+ type: Input
67
+ }], maxValue: [{
68
+ type: Input
69
+ }], placeholder: [{
70
+ type: Input
71
+ }], numberOfDecimals: [{
72
+ type: Input
73
+ }], control: [{
74
+ type: Input
75
+ }], outlined: [{
76
+ type: Input
77
+ }], rounded: [{
78
+ type: Input
79
+ }], label: [{
80
+ type: Input
81
+ }], isBankingField: [{
82
+ type: Input
83
+ }], inputClassName: [{
84
+ type: Input
85
+ }], localePrefix: [{
86
+ type: Input
87
+ }], currencyPrefix: [{
88
+ type: Input
89
+ }], disabled: [{
90
+ type: Input
91
+ }], inputElement: [{
92
+ type: ViewChild,
93
+ args: [InputNumber]
94
+ }] } });
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY3VycmVuY3ktZmllbGQvY3VycmVuY3ktZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY3VycmVuY3ktZmllbGQvY3VycmVuY3ktZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7QUFPckQsTUFBTSxPQUFPLHNCQUFzQjtJQUxuQztRQU9TLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFFYixhQUFRLEdBQUcsU0FBUyxDQUFDO1FBRXJCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBRXpCLHFCQUFnQixHQUFXLENBQUMsQ0FBQztRQUk3QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFJaEIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFFaEMsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFFcEIsaUJBQVksR0FBb0IsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUUxQyxtQkFBYyxHQUFzQixRQUFRLENBQUMsRUFBRSxDQUFDO1FBRWhELGFBQVEsR0FBRyxLQUFLLENBQUM7S0FpRHpCO0lBN0NDLGVB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UTtzQkFEZCxLQUFLO2dCQUdDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBR0MsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQUdDLE9BQU87c0JBRGIsS0FBSztnQkFHQyxRQUFRO3NCQURkLEtBQUs7Z0JBR0MsT0FBTztzQkFEYixLQUFLO2dCQUdDLEtBQUs7c0JBRFgsS0FBSztnQkFHQyxjQUFjO3NCQURwQixLQUFLO2dCQUdDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBR0MsWUFBWTtzQkFEbEIsS0FBSztnQkFHQyxjQUFjO3NCQURwQixLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFHRSxZQUFZO3NCQURuQixTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElucHV0TnVtYmVyIH0gZnJvbSAncHJpbWVuZy9pbnB1dG51bWJlcic7XG5pbXBvcnQgeyBDdXJyZW5jeSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9jdXJyZW5jeS5lbnVtJztcbmltcG9ydCB7IExvY2FsZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9sb2NhbGUuZW51bSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlY3Rvci1jdXJyZW5jeS1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXJyZW5jeS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2N1cnJlbmN5LWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEN1cnJlbmN5RmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KClcbiAgcHVibGljIG1pblZhbHVlID0gMDtcbiAgQElucHV0KClcbiAgcHVibGljIG1heFZhbHVlID0gOTk5OTk5OTk5O1xuICBASW5wdXQoKVxuICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKVxuICBwdWJsaWMgbnVtYmVyT2ZEZWNpbWFsczogbnVtYmVyID0gMjtcbiAgQElucHV0KClcbiAgcHVibGljIGNvbnRyb2w6IGFueTtcbiAgQElucHV0KClcbiAgcHVibGljIG91dGxpbmVkID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb3VuZGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYWJlbD86IHN0cmluZztcbiAgQElucHV0KClcbiAgcHVibGljIGlzQmFua2luZ0ZpZWxkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbnB1dENsYXNzTmFtZSA9ICcnO1xuICBASW5wdXQoKVxuICBwdWJsaWMgbG9jYWxlUHJlZml4OiBMb2NhbGUgfCBzdHJpbmcgPSBMb2NhbGUuQlI7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjdXJyZW5jeVByZWZpeDogQ3VycmVuY3kgfCBzdHJpbmcgPSBDdXJyZW5jeS5CUjtcbiAgQElucHV0KClcbiAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG4gIEBWaWV3Q2hpbGQoSW5wdXROdW1iZXIpXG4gIHByaXZhdGUgaW5wdXRFbGVtZW50PzogSW5wdXROdW1iZXI7XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IHRoaXMuaW5wdXRFbGVtZW50Py5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Jyk7XG4gICAgaW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnc2VsZWN0JyxcbiAgICAgICgpID0+IHtcbiAgICAgICAgaW5wdXRFbGVtZW50LnNlbGVjdGlvblN0YXJ0ID0gaW5wdXRFbGVtZW50LnNlbGVjdGlvbkVuZDtcbiAgICAgIH0sXG4gICAgICBmYWxzZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SW5wdXROZ0NsYXNzKCkge1xuICAgIHJldHVybiB7IG91dGxpbmVkOiB0aGlzLm91dGxpbmVkLCByb3VuZGVkOiB0aGlzLnJvdW5kZWQsIFt0aGlzLmlucHV0Q2xhc3NOYW1lXTogISF0aGlzLmlucHV0Q2xhc3NOYW1lIH07XG4gIH1cblxuICBwdWJsaWMgZm9jdXNMYXN0SW5kZXgoJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldCA9ICRldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICBjb25zdCBzZWxlY3Rpb25JbmRleCA9IHRhcmdldD8udmFsdWUubGVuZ3RoIHx8IDA7XG4gICAgdGFyZ2V0Py5zZXRTZWxlY3Rpb25SYW5nZShzZWxlY3Rpb25JbmRleCwgc2VsZWN0aW9uSW5kZXgpO1xuICB9XG5cbiAgcHVibGljIGlucHV0TmV4dENoYXIoJGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0ID0gJGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGNvbnN0IHZhbHVlVHlwZWQgPSAkZXZlbnQua2V5O1xuICAgIGxldCBuZXdWYWx1ZSA9IHRhcmdldC52YWx1ZS5yZXBsYWNlKCdSJCAnLCAnJykucmVwbGFjZSgvW1xcLixdL2csICcnKTtcbiAgICBjb25zdCBpc0RlbGV0ZU9yQmFja3NwYWNlID0gWydEZWxldGUnLCAnQmFja3NwYWNlJ10uaW5jbHVkZXMoJGV2ZW50LmtleSk7XG4gICAgaWYgKGlzRGVsZXRlT3JCYWNrc3BhY2UpIHtcbiAgICAgIG5ld1ZhbHVlID0gbmV3VmFsdWUuc3Vic3RyaW5nKDAsIG5ld1ZhbHVlLmxlbmd0aCAtIDEpLnBhZFN0YXJ0KDMsICcwJyk7XG4gICAgfSBlbHNlIGlmICghaXNOYU4oK3ZhbHVlVHlwZWQpKSB7XG4gICAgICBuZXdWYWx1ZSArPSB2YWx1ZVR5cGVkO1xuICAgICAgbmV3VmFsdWUgPSBgJHsrbmV3VmFsdWV9YC5wYWRTdGFydCgzLCAnMCcpO1xuICAgIH1cbiAgICB0YXJnZXQudmFsdWUgPSBgJHt0aGlzLm91dGxpbmVkID8gJ1IkICcgOiAnJ30ke051bWJlcihcbiAgICAgIGAke25ld1ZhbHVlLnN1YnN0cmluZygwLCBuZXdWYWx1ZS5sZW5ndGggLSAyKX0uJHtuZXdWYWx1ZS5zdWJzdHJpbmcobmV3VmFsdWUubGVuZ3RoIC0gMiwgbmV3VmFsdWUubGVuZ3RoKX1gXG4gICAgKS50b0xvY2FsZVN0cmluZygncHQtQlInLCB7XG4gICAgICBjdXJyZW5jeTogJ0JSTCcsXG4gICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDIsXG4gICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IHRoaXMubnVtYmVyT2ZEZWNpbWFscyxcbiAgICB9KX1gO1xuICAgIHRoaXMuZm9jdXNMYXN0SW5kZXgoJGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhclZhbHVlKCkge1xuICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZSgwKTtcbiAgfVxufVxuIiwiPGRpdiBbbmdDbGFzc109XCJ7ICdpbnB1dC1jb250YWluZXInOiBvdXRsaW5lZCwgJ3ZhbHVlLWlucHV0LWNvbnRhaW5lcic6ICFvdXRsaW5lZCwgcm91bmRlZDogcm91bmRlZCB9XCI+XG4gIDxkaXYgY2xhc3M9XCJpbm5lci1jb250YWluZXJcIj5cbiAgICA8bGFiZWwgKm5nSWY9XCJsYWJlbFwiPnt7IGxhYmVsIH19PC9sYWJlbD5cbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXRcIj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiIW91dGxpbmVkXCI+e3sgY3VycmVuY3lQcmVmaXggfX0gPC9zcGFuPlxuICAgICAgPGRpdiBjbGFzcz1cInZhbHVlLWlucHV0XCI+XG4gICAgICAgIDxwLWlucHV0TnVtYmVyXG4gICAgICAgICAgY2xhc3M9XCJjdXJyZW5jeS1pbnB1dFwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwiZ2V0SW5wdXROZ0NsYXNzKClcIlxuICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgICAgICAgICBtb2RlPVwiZGVjaW1hbFwiXG4gICAgICAgICAgW21pbkZyYWN0aW9uRGlnaXRzXT1cIjJcIlxuICAgICAgICAgIFttYXhGcmFjdGlvbkRpZ2l0c109XCJudW1iZXJPZkRlY2ltYWxzXCJcbiAgICAgICAgICBbbWluXT1cIm1pblZhbHVlXCJcbiAgICAgICAgICBbbWF4XT1cIm1heFZhbHVlXCJcbiAgICAgICAgICBbcHJlZml4XT1cIm91dGxpbmVkID8gY3VycmVuY3lQcmVmaXggOiAnJ1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICBbbG9jYWxlXT1cImxvY2FsZVByZWZpeCA/IGxvY2FsZVByZWZpeCA6ICdwdC1CUidcIlxuICAgICAgICAgIChjbGljayk9XCJpc0JhbmtpbmdGaWVsZCA/IGZvY3VzTGFzdEluZGV4KCRldmVudCkgOiBudWxsXCJcbiAgICAgICAgICAob25LZXlEb3duKT1cImlzQmFua2luZ0ZpZWxkID8gaW5wdXROZXh0Q2hhcigkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgID48L3AtaW5wdXROdW1iZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxzcGFuICpuZ0lmPVwicm91bmRlZFwiIGNsYXNzPVwiY2xlYXItdmFsdWVcIiAoY2xpY2spPVwiY2xlYXJWYWx1ZSgpXCI+PGkgY2xhc3M9XCJwaSBwaS10aW1lc1wiPjwvaT48L3NwYW4+XG48L2Rpdj5cbiJdfQ==