@senior-gestao-empresarial/erpx-components 0.0.0-develop-3bab051d

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 (382) hide show
  1. package/bundles/senior-gestao-empresarial-erpx-components.umd.js +37665 -0
  2. package/bundles/senior-gestao-empresarial-erpx-components.umd.js.map +1 -0
  3. package/bundles/senior-gestao-empresarial-erpx-components.umd.min.js +17 -0
  4. package/bundles/senior-gestao-empresarial-erpx-components.umd.min.js.map +1 -0
  5. package/components/breadcrumb/breadcrumb.component.d.ts +21 -0
  6. package/components/breadcrumb/breadcrumb.module.d.ts +2 -0
  7. package/components/breadcrumb/index.d.ts +2 -0
  8. package/components/focus/focus.service.d.ts +4 -0
  9. package/components/lote-serie/erp-lote-serie.component.d.ts +183 -0
  10. package/components/lote-serie/erp-lote-serie.module.d.ts +2 -0
  11. package/components/lote-serie/erp-lote-serie.service.d.ts +137 -0
  12. package/components/lote-serie/index.d.ts +2 -0
  13. package/components/rateio-editor/erp-rateio-editor.component.d.ts +202 -0
  14. package/components/rateio-editor/erp-rateio-editor.converter.d.ts +18 -0
  15. package/components/rateio-editor/erp-rateio-editor.module.d.ts +2 -0
  16. package/components/rateio-editor/erp-rateio-editor.service.d.ts +17 -0
  17. package/components/rateio-editor/erp-rateio-editor.types.d.ts +171 -0
  18. package/components/rateio-editor/index.d.ts +4 -0
  19. package/components/resumo/erp-resumo.component.d.ts +17 -0
  20. package/components/resumo/erp-resumo.module.d.ts +2 -0
  21. package/components/resumo/erp-resumo.service.d.ts +2 -0
  22. package/components/resumo/index.d.ts +2 -0
  23. package/components/tributos/calculators/effective-tax-rate-calculator.d.ts +34 -0
  24. package/components/tributos/calculators/gross-amount-calculator.d.ts +20 -0
  25. package/components/tributos/calculators/tax-amount-calculator.d.ts +54 -0
  26. package/components/tributos/erp-tributos.component.d.ts +215 -0
  27. package/components/tributos/erp-tributos.module.d.ts +2 -0
  28. package/components/tributos/erp-tributos.service.d.ts +10 -0
  29. package/components/tributos/erp-tributos.types.d.ts +286 -0
  30. package/components/tributos/index.d.ts +12 -0
  31. package/components/tributos/mappings/enum-tip-imp-cst-mapping.d.ts +2 -0
  32. package/components/tributos/rules/calculation/registries/calculation-rules-registries/calculation-rules.registry.d.ts +15 -0
  33. package/components/tributos/rules/calculation/registries/calculation-rules-registries/incoming-invoice-calculation-rules.registry.d.ts +28 -0
  34. package/components/tributos/rules/calculation/registries/calculation-rules-registries/outgoing-invoice-calculation-rules.registry.d.ts +30 -0
  35. package/components/tributos/rules/calculation/registries/calculation-rules-registries/purchase-order-calculation-rules.registry.d.ts +22 -0
  36. package/components/tributos/rules/calculation/registries/calculation-rules-registries/sale-order-calculation-rules.registry.d.ts +22 -0
  37. package/components/tributos/rules/calculation/rules/apply-net-value-to-document-calculation-rule.d.ts +5 -0
  38. package/components/tributos/rules/calculation/rules/assessment-period-calculation-rule.d.ts +5 -0
  39. package/components/tributos/rules/calculation/rules/effective-tax-rate-calculation-rule.d.ts +8 -0
  40. package/components/tributos/rules/calculation/rules/gross-amount-calculation-rule.d.ts +8 -0
  41. package/components/tributos/rules/calculation/rules/manual-tax-calculation-rule.d.ts +5 -0
  42. package/components/tributos/rules/calculation/rules/tax-amount-calculation-rule.d.ts +8 -0
  43. package/components/tributos/rules/calculation/rules/tax-calculation-type-calculation-rule.d.ts +5 -0
  44. package/components/tributos/rules/calculation/rules/tax-classification-calculation-rule.d.ts +6 -0
  45. package/components/tributos/rules/calculation/rules/tax-rate-calculation-rule.d.ts +5 -0
  46. package/components/tributos/rules/calculation/rules/tax-situation-calculation-rule.d.ts +5 -0
  47. package/components/tributos/rules/calculation/rules/taxable-base-calculation-rule.d.ts +8 -0
  48. package/components/tributos/rules/rules.service.d.ts +19 -0
  49. package/components/tributos/rules/status/registries/incoming-invoice-status-rules.registry.d.ts +16 -0
  50. package/components/tributos/rules/status/registries/outgoing-invoice-status-rules.registry.d.ts +12 -0
  51. package/components/tributos/rules/status/registries/purchase-order-status-rules.registry.d.ts +12 -0
  52. package/components/tributos/rules/status/registries/sale-order-status-rules.registry.d.ts +8 -0
  53. package/components/tributos/rules/status/registries/status-rules.registry.d.ts +15 -0
  54. package/components/tributos/rules/status/rules/apply-net-value-to-document-status-rule.d.ts +5 -0
  55. package/components/tributos/rules/status/rules/tax-classification-status-rule.d.ts +5 -0
  56. package/components/tributos/rules/status/rules/tax-rate-status-rule.d.ts +5 -0
  57. package/components/tributos/rules/status/rules/taxable-base-status-rule.d.ts +5 -0
  58. package/components/tributos/rules/types/available-fields.d.ts +2 -0
  59. package/components/tributos/rules/types/available-taxes.d.ts +1 -0
  60. package/components/tributos/rules/types/field-calculation-rule-mapping.d.ts +6 -0
  61. package/components/tributos/rules/types/field-rule-mapping.d.ts +6 -0
  62. package/components/tributos/rules/types/field-status-rule-mapping.d.ts +6 -0
  63. package/components/tributos/rules/types/rule-payload.d.ts +9 -0
  64. package/components/tributos/rules/types/schemas/incoming-invoice.schema.d.ts +235 -0
  65. package/components/tributos/rules/types/schemas/outgoing-invoice.schema.d.ts +349 -0
  66. package/components/tributos/rules/types/schemas/purchase-order.schema.d.ts +26 -0
  67. package/components/tributos/rules/types/schemas/sale-order.schema.d.ts +131 -0
  68. package/components/tributos/rules/types/strategies-by-document.d.ts +12 -0
  69. package/components/tributos/rules/types/strategies.d.ts +4 -0
  70. package/components/tributos/rules/types/tax-rule.d.ts +4 -0
  71. package/components/tributos/rules/validation/registries/incoming-invoice-validation-rules.registry.d.ts +20 -0
  72. package/components/tributos/rules/validation/registries/outgoing-invoice-validation-rules.registry.d.ts +22 -0
  73. package/components/tributos/rules/validation/registries/purchase-order-validation-rules.registry.d.ts +14 -0
  74. package/components/tributos/rules/validation/registries/sale-order-validation-rules.registry.d.ts +14 -0
  75. package/components/tributos/rules/validation/registries/validation-rules.registry.d.ts +15 -0
  76. package/components/tributos/rules/validation/rules/required/apply-net-value-to-document-required-validation-rule.d.ts +5 -0
  77. package/components/tributos/rules/validation/rules/required/assessment-period-required-validation-rule.d.ts +5 -0
  78. package/components/tributos/rules/validation/rules/required/tax-amount-required-validation-rule.d.ts +5 -0
  79. package/components/tributos/rules/validation/rules/required/tax-classification-required-validation-rule.d.ts +5 -0
  80. package/components/tributos/rules/validation/rules/required/tax-rate-required-validation-rule.d.ts +6 -0
  81. package/components/tributos/rules/validation/rules/required/tax-situation-required-validation-rule.d.ts +6 -0
  82. package/components/tributos/rules/validation/rules/required/taxable-base-required-validation-rule.d.ts +6 -0
  83. package/components/tributos/services/tax-rounding.service.d.ts +5 -0
  84. package/components/tributos/stores/tax.store.d.ts +10 -0
  85. package/components/tributos/tax-reform-utilities.d.ts +36 -0
  86. package/components/tributos/types/context.d.ts +7 -0
  87. package/components/tributos/types/controllership-incoming-invoice-context.d.ts +5 -0
  88. package/components/tributos/types/controllership-incoming-invoice.d.ts +3 -0
  89. package/components/tributos/types/controllership-outgoing-invoice-context.d.ts +5 -0
  90. package/components/tributos/types/controllership-outgoing-invoice.d.ts +3 -0
  91. package/components/tributos/types/credit-invoice-type.d.ts +1 -0
  92. package/components/tributos/types/debit-invoice-type.d.ts +1 -0
  93. package/components/tributos/types/group.d.ts +6 -0
  94. package/components/tributos/types/incoming-invoice-context.d.ts +5 -0
  95. package/components/tributos/types/incoming-invoice-item.d.ts +4 -0
  96. package/components/tributos/types/incoming-invoice-type.d.ts +1 -0
  97. package/components/tributos/types/incoming-invoice.d.ts +11 -0
  98. package/components/tributos/types/item-type.d.ts +1 -0
  99. package/components/tributos/types/outgoing-Invoice.d.ts +11 -0
  100. package/components/tributos/types/outgoing-invoice-context.d.ts +5 -0
  101. package/components/tributos/types/outgoing-invoice-item.d.ts +4 -0
  102. package/components/tributos/types/outgoing-invoice-type.d.ts +1 -0
  103. package/components/tributos/types/purchase-order-context.d.ts +5 -0
  104. package/components/tributos/types/purchase-order-type.d.ts +1 -0
  105. package/components/tributos/types/purchase-order.d.ts +8 -0
  106. package/components/tributos/types/sale-order-context.d.ts +5 -0
  107. package/components/tributos/types/sale-order-type.d.ts +1 -0
  108. package/components/tributos/types/sale-order.d.ts +8 -0
  109. package/components/tributos/types/tax.d.ts +8 -0
  110. package/components/utils/breakpoints.d.ts +10 -0
  111. package/components/utils/export-utils.d.ts +6 -0
  112. package/components/utils/index.d.ts +3 -0
  113. package/components/utils/loading-context.d.ts +7 -0
  114. package/components/utils/utils.d.ts +4 -0
  115. package/core/entities/entity-service.d.ts +32 -0
  116. package/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda-dto.d.ts +36 -0
  117. package/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.d.ts +40 -0
  118. package/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.module.d.ts +2 -0
  119. package/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.service.d.ts +11 -0
  120. package/core/enums/enum-classificacao-tributaria.d.ts +4 -0
  121. package/core/enums/enum-tipo-calculo-imposto.d.ts +5 -0
  122. package/core/enums/enum-tipo-documento-parametros.d.ts +7 -0
  123. package/core/enums/enum-tipo-documento.d.ts +10 -0
  124. package/core/enums/erpx-com-processo-faturamento-backend/enum-indicativo-padrao.d.ts +5 -0
  125. package/core/enums/erpx-cpl-imp-cadastros-backend/enum-indicativo-padrao.d.ts +8 -0
  126. package/esm2015/components/breadcrumb/breadcrumb.component.js +86 -0
  127. package/esm2015/components/breadcrumb/breadcrumb.module.js +17 -0
  128. package/esm2015/components/breadcrumb/index.js +3 -0
  129. package/esm2015/components/focus/focus.service.js +32 -0
  130. package/esm2015/components/lote-serie/erp-lote-serie.component.js +1772 -0
  131. package/esm2015/components/lote-serie/erp-lote-serie.module.js +47 -0
  132. package/esm2015/components/lote-serie/erp-lote-serie.service.js +94 -0
  133. package/esm2015/components/lote-serie/index.js +3 -0
  134. package/esm2015/components/rateio-editor/erp-rateio-editor.component.js +794 -0
  135. package/esm2015/components/rateio-editor/erp-rateio-editor.converter.js +52 -0
  136. package/esm2015/components/rateio-editor/erp-rateio-editor.module.js +40 -0
  137. package/esm2015/components/rateio-editor/erp-rateio-editor.service.js +49 -0
  138. package/esm2015/components/rateio-editor/erp-rateio-editor.types.js +5 -0
  139. package/esm2015/components/rateio-editor/index.js +4 -0
  140. package/esm2015/components/resumo/erp-resumo.component.js +19 -0
  141. package/esm2015/components/resumo/erp-resumo.module.js +25 -0
  142. package/esm2015/components/resumo/erp-resumo.service.js +13 -0
  143. package/esm2015/components/resumo/index.js +2 -0
  144. package/esm2015/components/tributos/calculators/effective-tax-rate-calculator.js +53 -0
  145. package/esm2015/components/tributos/calculators/gross-amount-calculator.js +37 -0
  146. package/esm2015/components/tributos/calculators/tax-amount-calculator.js +87 -0
  147. package/esm2015/components/tributos/erp-tributos.component.js +5176 -0
  148. package/esm2015/components/tributos/erp-tributos.module.js +33 -0
  149. package/esm2015/components/tributos/erp-tributos.service.js +23 -0
  150. package/esm2015/components/tributos/erp-tributos.types.js +268 -0
  151. package/esm2015/components/tributos/index.js +4 -0
  152. package/esm2015/components/tributos/mappings/enum-tip-imp-cst-mapping.js +33 -0
  153. package/esm2015/components/tributos/rules/calculation/registries/calculation-rules-registries/calculation-rules.registry.js +45 -0
  154. package/esm2015/components/tributos/rules/calculation/registries/calculation-rules-registries/incoming-invoice-calculation-rules.registry.js +3102 -0
  155. package/esm2015/components/tributos/rules/calculation/registries/calculation-rules-registries/outgoing-invoice-calculation-rules.registry.js +4516 -0
  156. package/esm2015/components/tributos/rules/calculation/registries/calculation-rules-registries/purchase-order-calculation-rules.registry.js +294 -0
  157. package/esm2015/components/tributos/rules/calculation/registries/calculation-rules-registries/sale-order-calculation-rules.registry.js +1464 -0
  158. package/esm2015/components/tributos/rules/calculation/rules/apply-net-value-to-document-calculation-rule.js +48 -0
  159. package/esm2015/components/tributos/rules/calculation/rules/assessment-period-calculation-rule.js +55 -0
  160. package/esm2015/components/tributos/rules/calculation/rules/effective-tax-rate-calculation-rule.js +83 -0
  161. package/esm2015/components/tributos/rules/calculation/rules/gross-amount-calculation-rule.js +74 -0
  162. package/esm2015/components/tributos/rules/calculation/rules/manual-tax-calculation-rule.js +72 -0
  163. package/esm2015/components/tributos/rules/calculation/rules/tax-amount-calculation-rule.js +244 -0
  164. package/esm2015/components/tributos/rules/calculation/rules/tax-calculation-type-calculation-rule.js +74 -0
  165. package/esm2015/components/tributos/rules/calculation/rules/tax-classification-calculation-rule.js +170 -0
  166. package/esm2015/components/tributos/rules/calculation/rules/tax-rate-calculation-rule.js +100 -0
  167. package/esm2015/components/tributos/rules/calculation/rules/tax-situation-calculation-rule.js +124 -0
  168. package/esm2015/components/tributos/rules/calculation/rules/taxable-base-calculation-rule.js +292 -0
  169. package/esm2015/components/tributos/rules/rules.service.js +61 -0
  170. package/esm2015/components/tributos/rules/status/registries/incoming-invoice-status-rules.registry.js +1076 -0
  171. package/esm2015/components/tributos/rules/status/registries/outgoing-invoice-status-rules.registry.js +1317 -0
  172. package/esm2015/components/tributos/rules/status/registries/purchase-order-status-rules.registry.js +62 -0
  173. package/esm2015/components/tributos/rules/status/registries/sale-order-status-rules.registry.js +18 -0
  174. package/esm2015/components/tributos/rules/status/registries/status-rules.registry.js +45 -0
  175. package/esm2015/components/tributos/rules/status/rules/apply-net-value-to-document-status-rule.js +39 -0
  176. package/esm2015/components/tributos/rules/status/rules/tax-classification-status-rule.js +94 -0
  177. package/esm2015/components/tributos/rules/status/rules/tax-rate-status-rule.js +61 -0
  178. package/esm2015/components/tributos/rules/status/rules/taxable-base-status-rule.js +65 -0
  179. package/esm2015/components/tributos/rules/types/available-fields.js +1 -0
  180. package/esm2015/components/tributos/rules/types/available-taxes.js +1 -0
  181. package/esm2015/components/tributos/rules/types/field-calculation-rule-mapping.js +1 -0
  182. package/esm2015/components/tributos/rules/types/field-rule-mapping.js +1 -0
  183. package/esm2015/components/tributos/rules/types/field-status-rule-mapping.js +1 -0
  184. package/esm2015/components/tributos/rules/types/rule-payload.js +1 -0
  185. package/esm2015/components/tributos/rules/types/schemas/incoming-invoice.schema.js +1816 -0
  186. package/esm2015/components/tributos/rules/types/schemas/outgoing-invoice.schema.js +2750 -0
  187. package/esm2015/components/tributos/rules/types/schemas/purchase-order.schema.js +150 -0
  188. package/esm2015/components/tributos/rules/types/schemas/sale-order.schema.js +879 -0
  189. package/esm2015/components/tributos/rules/types/strategies-by-document.js +1 -0
  190. package/esm2015/components/tributos/rules/types/strategies.js +1 -0
  191. package/esm2015/components/tributos/rules/types/tax-rule.js +1 -0
  192. package/esm2015/components/tributos/rules/validation/registries/incoming-invoice-validation-rules.registry.js +3606 -0
  193. package/esm2015/components/tributos/rules/validation/registries/outgoing-invoice-validation-rules.registry.js +5452 -0
  194. package/esm2015/components/tributos/rules/validation/registries/purchase-order-validation-rules.registry.js +270 -0
  195. package/esm2015/components/tributos/rules/validation/registries/sale-order-validation-rules.registry.js +1392 -0
  196. package/esm2015/components/tributos/rules/validation/registries/validation-rules.registry.js +45 -0
  197. package/esm2015/components/tributos/rules/validation/rules/required/apply-net-value-to-document-required-validation-rule.js +73 -0
  198. package/esm2015/components/tributos/rules/validation/rules/required/assessment-period-required-validation-rule.js +78 -0
  199. package/esm2015/components/tributos/rules/validation/rules/required/tax-amount-required-validation-rule.js +902 -0
  200. package/esm2015/components/tributos/rules/validation/rules/required/tax-classification-required-validation-rule.js +401 -0
  201. package/esm2015/components/tributos/rules/validation/rules/required/tax-rate-required-validation-rule.js +719 -0
  202. package/esm2015/components/tributos/rules/validation/rules/required/tax-situation-required-validation-rule.js +300 -0
  203. package/esm2015/components/tributos/rules/validation/rules/required/taxable-base-required-validation-rule.js +717 -0
  204. package/esm2015/components/tributos/services/tax-rounding.service.js +18 -0
  205. package/esm2015/components/tributos/stores/tax.store.js +19 -0
  206. package/esm2015/components/tributos/tax-reform-utilities.js +243 -0
  207. package/esm2015/components/tributos/types/context.js +1 -0
  208. package/esm2015/components/tributos/types/controllership-incoming-invoice-context.js +1 -0
  209. package/esm2015/components/tributos/types/controllership-incoming-invoice.js +1 -0
  210. package/esm2015/components/tributos/types/controllership-outgoing-invoice-context.js +1 -0
  211. package/esm2015/components/tributos/types/controllership-outgoing-invoice.js +1 -0
  212. package/esm2015/components/tributos/types/credit-invoice-type.js +1 -0
  213. package/esm2015/components/tributos/types/debit-invoice-type.js +1 -0
  214. package/esm2015/components/tributos/types/group.js +1 -0
  215. package/esm2015/components/tributos/types/incoming-invoice-context.js +1 -0
  216. package/esm2015/components/tributos/types/incoming-invoice-item.js +1 -0
  217. package/esm2015/components/tributos/types/incoming-invoice-type.js +1 -0
  218. package/esm2015/components/tributos/types/incoming-invoice.js +1 -0
  219. package/esm2015/components/tributos/types/item-type.js +1 -0
  220. package/esm2015/components/tributos/types/outgoing-Invoice.js +1 -0
  221. package/esm2015/components/tributos/types/outgoing-invoice-context.js +1 -0
  222. package/esm2015/components/tributos/types/outgoing-invoice-item.js +1 -0
  223. package/esm2015/components/tributos/types/outgoing-invoice-type.js +1 -0
  224. package/esm2015/components/tributos/types/purchase-order-context.js +1 -0
  225. package/esm2015/components/tributos/types/purchase-order-type.js +1 -0
  226. package/esm2015/components/tributos/types/purchase-order.js +1 -0
  227. package/esm2015/components/tributos/types/sale-order-context.js +1 -0
  228. package/esm2015/components/tributos/types/sale-order-type.js +1 -0
  229. package/esm2015/components/tributos/types/sale-order.js +1 -0
  230. package/esm2015/components/tributos/types/tax.js +2 -0
  231. package/esm2015/components/utils/breakpoints.js +11 -0
  232. package/esm2015/components/utils/export-utils.js +71 -0
  233. package/esm2015/components/utils/index.js +4 -0
  234. package/esm2015/components/utils/loading-context.js +20 -0
  235. package/esm2015/components/utils/utils.js +18 -0
  236. package/esm2015/core/entities/entity-service.js +91 -0
  237. package/esm2015/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda-dto.js +1 -0
  238. package/esm2015/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.js +62 -0
  239. package/esm2015/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.module.js +24 -0
  240. package/esm2015/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.service.js +24 -0
  241. package/esm2015/core/enums/enum-classificacao-tributaria.js +6 -0
  242. package/esm2015/core/enums/enum-tipo-calculo-imposto.js +7 -0
  243. package/esm2015/core/enums/enum-tipo-documento-parametros.js +9 -0
  244. package/esm2015/core/enums/enum-tipo-documento.js +12 -0
  245. package/esm2015/core/enums/erpx-com-processo-faturamento-backend/enum-indicativo-padrao.js +7 -0
  246. package/esm2015/core/enums/erpx-cpl-imp-cadastros-backend/enum-indicativo-padrao.js +10 -0
  247. package/esm2015/locale/fallback.js +56 -0
  248. package/esm2015/public-api.js +8 -0
  249. package/esm2015/senior-gestao-empresarial-erpx-components.js +58 -0
  250. package/esm5/components/breadcrumb/breadcrumb.component.js +91 -0
  251. package/esm5/components/breadcrumb/breadcrumb.module.js +20 -0
  252. package/esm5/components/breadcrumb/index.js +3 -0
  253. package/esm5/components/focus/focus.service.js +35 -0
  254. package/esm5/components/lote-serie/erp-lote-serie.component.js +1830 -0
  255. package/esm5/components/lote-serie/erp-lote-serie.module.js +50 -0
  256. package/esm5/components/lote-serie/erp-lote-serie.service.js +96 -0
  257. package/esm5/components/lote-serie/index.js +3 -0
  258. package/esm5/components/rateio-editor/erp-rateio-editor.component.js +861 -0
  259. package/esm5/components/rateio-editor/erp-rateio-editor.converter.js +68 -0
  260. package/esm5/components/rateio-editor/erp-rateio-editor.module.js +43 -0
  261. package/esm5/components/rateio-editor/erp-rateio-editor.service.js +51 -0
  262. package/esm5/components/rateio-editor/erp-rateio-editor.types.js +5 -0
  263. package/esm5/components/rateio-editor/index.js +4 -0
  264. package/esm5/components/resumo/erp-resumo.component.js +22 -0
  265. package/esm5/components/resumo/erp-resumo.module.js +28 -0
  266. package/esm5/components/resumo/erp-resumo.service.js +16 -0
  267. package/esm5/components/resumo/index.js +2 -0
  268. package/esm5/components/tributos/calculators/effective-tax-rate-calculator.js +58 -0
  269. package/esm5/components/tributos/calculators/gross-amount-calculator.js +39 -0
  270. package/esm5/components/tributos/calculators/tax-amount-calculator.js +91 -0
  271. package/esm5/components/tributos/erp-tributos.component.js +5296 -0
  272. package/esm5/components/tributos/erp-tributos.module.js +36 -0
  273. package/esm5/components/tributos/erp-tributos.service.js +24 -0
  274. package/esm5/components/tributos/erp-tributos.types.js +268 -0
  275. package/esm5/components/tributos/index.js +4 -0
  276. package/esm5/components/tributos/mappings/enum-tip-imp-cst-mapping.js +33 -0
  277. package/esm5/components/tributos/rules/calculation/registries/calculation-rules-registries/calculation-rules.registry.js +46 -0
  278. package/esm5/components/tributos/rules/calculation/registries/calculation-rules-registries/incoming-invoice-calculation-rules.registry.js +3104 -0
  279. package/esm5/components/tributos/rules/calculation/registries/calculation-rules-registries/outgoing-invoice-calculation-rules.registry.js +4518 -0
  280. package/esm5/components/tributos/rules/calculation/registries/calculation-rules-registries/purchase-order-calculation-rules.registry.js +296 -0
  281. package/esm5/components/tributos/rules/calculation/registries/calculation-rules-registries/sale-order-calculation-rules.registry.js +1466 -0
  282. package/esm5/components/tributos/rules/calculation/rules/apply-net-value-to-document-calculation-rule.js +60 -0
  283. package/esm5/components/tributos/rules/calculation/rules/assessment-period-calculation-rule.js +77 -0
  284. package/esm5/components/tributos/rules/calculation/rules/effective-tax-rate-calculation-rule.js +92 -0
  285. package/esm5/components/tributos/rules/calculation/rules/gross-amount-calculation-rule.js +83 -0
  286. package/esm5/components/tributos/rules/calculation/rules/manual-tax-calculation-rule.js +87 -0
  287. package/esm5/components/tributos/rules/calculation/rules/tax-amount-calculation-rule.js +286 -0
  288. package/esm5/components/tributos/rules/calculation/rules/tax-calculation-type-calculation-rule.js +89 -0
  289. package/esm5/components/tributos/rules/calculation/rules/tax-classification-calculation-rule.js +241 -0
  290. package/esm5/components/tributos/rules/calculation/rules/tax-rate-calculation-rule.js +118 -0
  291. package/esm5/components/tributos/rules/calculation/rules/tax-situation-calculation-rule.js +200 -0
  292. package/esm5/components/tributos/rules/calculation/rules/taxable-base-calculation-rule.js +330 -0
  293. package/esm5/components/tributos/rules/rules.service.js +139 -0
  294. package/esm5/components/tributos/rules/status/registries/incoming-invoice-status-rules.registry.js +1078 -0
  295. package/esm5/components/tributos/rules/status/registries/outgoing-invoice-status-rules.registry.js +1319 -0
  296. package/esm5/components/tributos/rules/status/registries/purchase-order-status-rules.registry.js +64 -0
  297. package/esm5/components/tributos/rules/status/registries/sale-order-status-rules.registry.js +19 -0
  298. package/esm5/components/tributos/rules/status/registries/status-rules.registry.js +46 -0
  299. package/esm5/components/tributos/rules/status/rules/apply-net-value-to-document-status-rule.js +43 -0
  300. package/esm5/components/tributos/rules/status/rules/tax-classification-status-rule.js +106 -0
  301. package/esm5/components/tributos/rules/status/rules/tax-rate-status-rule.js +68 -0
  302. package/esm5/components/tributos/rules/status/rules/taxable-base-status-rule.js +72 -0
  303. package/esm5/components/tributos/rules/types/available-fields.js +1 -0
  304. package/esm5/components/tributos/rules/types/available-taxes.js +1 -0
  305. package/esm5/components/tributos/rules/types/field-calculation-rule-mapping.js +1 -0
  306. package/esm5/components/tributos/rules/types/field-rule-mapping.js +1 -0
  307. package/esm5/components/tributos/rules/types/field-status-rule-mapping.js +1 -0
  308. package/esm5/components/tributos/rules/types/rule-payload.js +1 -0
  309. package/esm5/components/tributos/rules/types/schemas/incoming-invoice.schema.js +1817 -0
  310. package/esm5/components/tributos/rules/types/schemas/outgoing-invoice.schema.js +2751 -0
  311. package/esm5/components/tributos/rules/types/schemas/purchase-order.schema.js +151 -0
  312. package/esm5/components/tributos/rules/types/schemas/sale-order.schema.js +880 -0
  313. package/esm5/components/tributos/rules/types/strategies-by-document.js +1 -0
  314. package/esm5/components/tributos/rules/types/strategies.js +1 -0
  315. package/esm5/components/tributos/rules/types/tax-rule.js +1 -0
  316. package/esm5/components/tributos/rules/validation/registries/incoming-invoice-validation-rules.registry.js +3608 -0
  317. package/esm5/components/tributos/rules/validation/registries/outgoing-invoice-validation-rules.registry.js +5454 -0
  318. package/esm5/components/tributos/rules/validation/registries/purchase-order-validation-rules.registry.js +272 -0
  319. package/esm5/components/tributos/rules/validation/registries/sale-order-validation-rules.registry.js +1394 -0
  320. package/esm5/components/tributos/rules/validation/registries/validation-rules.registry.js +46 -0
  321. package/esm5/components/tributos/rules/validation/rules/required/apply-net-value-to-document-required-validation-rule.js +77 -0
  322. package/esm5/components/tributos/rules/validation/rules/required/assessment-period-required-validation-rule.js +86 -0
  323. package/esm5/components/tributos/rules/validation/rules/required/tax-amount-required-validation-rule.js +968 -0
  324. package/esm5/components/tributos/rules/validation/rules/required/tax-classification-required-validation-rule.js +433 -0
  325. package/esm5/components/tributos/rules/validation/rules/required/tax-rate-required-validation-rule.js +774 -0
  326. package/esm5/components/tributos/rules/validation/rules/required/tax-situation-required-validation-rule.js +323 -0
  327. package/esm5/components/tributos/rules/validation/rules/required/taxable-base-required-validation-rule.js +772 -0
  328. package/esm5/components/tributos/services/tax-rounding.service.js +23 -0
  329. package/esm5/components/tributos/stores/tax.store.js +26 -0
  330. package/esm5/components/tributos/tax-reform-utilities.js +249 -0
  331. package/esm5/components/tributos/types/context.js +1 -0
  332. package/esm5/components/tributos/types/controllership-incoming-invoice-context.js +1 -0
  333. package/esm5/components/tributos/types/controllership-incoming-invoice.js +1 -0
  334. package/esm5/components/tributos/types/controllership-outgoing-invoice-context.js +1 -0
  335. package/esm5/components/tributos/types/controllership-outgoing-invoice.js +1 -0
  336. package/esm5/components/tributos/types/credit-invoice-type.js +1 -0
  337. package/esm5/components/tributos/types/debit-invoice-type.js +1 -0
  338. package/esm5/components/tributos/types/group.js +1 -0
  339. package/esm5/components/tributos/types/incoming-invoice-context.js +1 -0
  340. package/esm5/components/tributos/types/incoming-invoice-item.js +1 -0
  341. package/esm5/components/tributos/types/incoming-invoice-type.js +1 -0
  342. package/esm5/components/tributos/types/incoming-invoice.js +1 -0
  343. package/esm5/components/tributos/types/item-type.js +1 -0
  344. package/esm5/components/tributos/types/outgoing-Invoice.js +1 -0
  345. package/esm5/components/tributos/types/outgoing-invoice-context.js +1 -0
  346. package/esm5/components/tributos/types/outgoing-invoice-item.js +1 -0
  347. package/esm5/components/tributos/types/outgoing-invoice-type.js +1 -0
  348. package/esm5/components/tributos/types/purchase-order-context.js +1 -0
  349. package/esm5/components/tributos/types/purchase-order-type.js +1 -0
  350. package/esm5/components/tributos/types/purchase-order.js +1 -0
  351. package/esm5/components/tributos/types/sale-order-context.js +1 -0
  352. package/esm5/components/tributos/types/sale-order-type.js +1 -0
  353. package/esm5/components/tributos/types/sale-order.js +1 -0
  354. package/esm5/components/tributos/types/tax.js +2 -0
  355. package/esm5/components/utils/breakpoints.js +11 -0
  356. package/esm5/components/utils/export-utils.js +78 -0
  357. package/esm5/components/utils/index.js +4 -0
  358. package/esm5/components/utils/loading-context.js +22 -0
  359. package/esm5/components/utils/utils.js +20 -0
  360. package/esm5/core/entities/entity-service.js +98 -0
  361. package/esm5/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda-dto.js +1 -0
  362. package/esm5/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.js +67 -0
  363. package/esm5/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.module.js +27 -0
  364. package/esm5/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.service.js +27 -0
  365. package/esm5/core/enums/enum-classificacao-tributaria.js +6 -0
  366. package/esm5/core/enums/enum-tipo-calculo-imposto.js +7 -0
  367. package/esm5/core/enums/enum-tipo-documento-parametros.js +9 -0
  368. package/esm5/core/enums/enum-tipo-documento.js +12 -0
  369. package/esm5/core/enums/erpx-com-processo-faturamento-backend/enum-indicativo-padrao.js +7 -0
  370. package/esm5/core/enums/erpx-cpl-imp-cadastros-backend/enum-indicativo-padrao.js +10 -0
  371. package/esm5/locale/fallback.js +56 -0
  372. package/esm5/public-api.js +8 -0
  373. package/esm5/senior-gestao-empresarial-erpx-components.js +58 -0
  374. package/fesm2015/senior-gestao-empresarial-erpx-components.js +36350 -0
  375. package/fesm2015/senior-gestao-empresarial-erpx-components.js.map +1 -0
  376. package/fesm5/senior-gestao-empresarial-erpx-components.js +37396 -0
  377. package/fesm5/senior-gestao-empresarial-erpx-components.js.map +1 -0
  378. package/locale/fallback.d.ts +55 -0
  379. package/package.json +23 -0
  380. package/public-api.d.ts +7 -0
  381. package/senior-gestao-empresarial-erpx-components.d.ts +57 -0
  382. package/senior-gestao-empresarial-erpx-components.metadata.json +1 -0
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Converte entre o modelo plano (recDistribuicaoRateioManual — output de sugerirRateio)
3
+ * e o modelo hierárquico (recRateioConta + recRateioCCusto — usado pelo form e pela gravação).
4
+ */
5
+ export class ErpRateioEditorConverter {
6
+ /**
7
+ * Agrupa itens planos por conta financeira (e091plf_id), gerando a estrutura
8
+ * hierárquica esperada pelo form e pela API gravarRateioManual.
9
+ *
10
+ * Regras:
11
+ * - Itens com mesmo e091plf_id são agrupados em uma única RateioConta.
12
+ * - Se e044ccu_id estiver preenchido, gera um RateioCCusto dentro da conta.
13
+ * - Percentual e valor da conta são a soma dos itens agrupados.
14
+ * - Labels (contaFinanceira, descCCusto) ficam vazios — devem ser resolvidos via lookup pelo componente.
15
+ */
16
+ static sugestaoPlanaParaHierarquica(planas) {
17
+ if (!planas || planas.length === 0) {
18
+ return [];
19
+ }
20
+ const porConta = new Map();
21
+ for (const item of planas) {
22
+ let conta = porConta.get(item.e091plf_id);
23
+ if (!conta) {
24
+ conta = {
25
+ idContaFinanceira: item.e091plf_id,
26
+ contaFinanceira: '',
27
+ idContaContabil: item.e045pla_id || null,
28
+ contaContabil: null,
29
+ idProjeto: item.e615prj_id || null,
30
+ projeto: null,
31
+ idFaseProjeto: item.e615fpj_id || null,
32
+ faseProjeto: null,
33
+ percentual: 0,
34
+ valorRateadoConta: 0,
35
+ rateiosCCusto: []
36
+ };
37
+ porConta.set(item.e091plf_id, conta);
38
+ }
39
+ conta.percentual += item.percentual;
40
+ conta.valorRateadoConta += item.valor;
41
+ if (item.e044ccu_id) {
42
+ conta.rateiosCCusto.push({
43
+ idCentroCusto: item.e044ccu_id,
44
+ percentual: item.percentual,
45
+ valor: item.valor
46
+ });
47
+ }
48
+ }
49
+ return Array.from(porConta.values());
50
+ }
51
+ }
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJwLXJhdGVpby1lZGl0b3IuY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tZW1wcmVzYXJpYWwvZXJweC1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9yYXRlaW8tZWRpdG9yL2VycC1yYXRlaW8tZWRpdG9yLmNvbnZlcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sd0JBQXdCO0lBRWpDOzs7Ozs7Ozs7T0FTRztJQUNJLE1BQU0sQ0FBQyw0QkFBNEIsQ0FDdEMsTUFBdUM7UUFFdkMsSUFBSSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNoQyxPQUFPLEVBQUUsQ0FBQztTQUNiO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQXVCLENBQUM7UUFFaEQsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLEVBQUU7WUFDdkIsSUFBSSxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFMUMsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDUixLQUFLLEdBQUc7b0JBQ0osaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFVBQVU7b0JBQ2xDLGVBQWUsRUFBRSxFQUFFO29CQUNuQixlQUFlLEVBQUUsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJO29CQUN4QyxhQUFhLEVBQUUsSUFBSTtvQkFDbkIsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSTtvQkFDbEMsT0FBTyxFQUFFLElBQUk7b0JBQ2IsYUFBYSxFQUFFLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSTtvQkFDdEMsV0FBVyxFQUFFLElBQUk7b0JBQ2pCLFVBQVUsRUFBRSxDQUFDO29CQUNiLGlCQUFpQixFQUFFLENBQUM7b0JBQ3BCLGFBQWEsRUFBRSxFQUFFO2lCQUNwQixDQUFDO2dCQUNGLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQzthQUN4QztZQUVELEtBQUssQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNwQyxLQUFLLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQztZQUV0QyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ2pCLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO29CQUNyQixhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVU7b0JBQzlCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtvQkFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2lCQUNwQixDQUFDLENBQUM7YUFDTjtTQUNKO1FBRUQsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpc3RyaWJ1aWNhb1JhdGVpb01hbnVhbFBsYW5hLCBSYXRlaW9Db250YSB9IGZyb20gJy4vZXJwLXJhdGVpby1lZGl0b3IudHlwZXMnO1xuXG4vKipcbiAqIENvbnZlcnRlIGVudHJlIG8gbW9kZWxvIHBsYW5vIChyZWNEaXN0cmlidWljYW9SYXRlaW9NYW51YWwg4oCUIG91dHB1dCBkZSBzdWdlcmlyUmF0ZWlvKVxuICogZSBvIG1vZGVsbyBoaWVyw6FycXVpY28gKHJlY1JhdGVpb0NvbnRhICsgcmVjUmF0ZWlvQ0N1c3RvIOKAlCB1c2FkbyBwZWxvIGZvcm0gZSBwZWxhIGdyYXZhw6fDo28pLlxuICovXG5leHBvcnQgY2xhc3MgRXJwUmF0ZWlvRWRpdG9yQ29udmVydGVyIHtcblxuICAgIC8qKlxuICAgICAqIEFncnVwYSBpdGVucyBwbGFub3MgcG9yIGNvbnRhIGZpbmFuY2VpcmEgKGUwOTFwbGZfaWQpLCBnZXJhbmRvIGEgZXN0cnV0dXJhXG4gICAgICogaGllcsOhcnF1aWNhIGVzcGVyYWRhIHBlbG8gZm9ybSBlIHBlbGEgQVBJIGdyYXZhclJhdGVpb01hbnVhbC5cbiAgICAgKlxuICAgICAqIFJlZ3JhczpcbiAgICAgKiAtIEl0ZW5zIGNvbSBtZXNtbyBlMDkxcGxmX2lkIHPDo28gYWdydXBhZG9zIGVtIHVtYSDDum5pY2EgUmF0ZWlvQ29udGEuXG4gICAgICogLSBTZSBlMDQ0Y2N1X2lkIGVzdGl2ZXIgcHJlZW5jaGlkbywgZ2VyYSB1bSBSYXRlaW9DQ3VzdG8gZGVudHJvIGRhIGNvbnRhLlxuICAgICAqIC0gUGVyY2VudHVhbCBlIHZhbG9yIGRhIGNvbnRhIHPDo28gYSBzb21hIGRvcyBpdGVucyBhZ3J1cGFkb3MuXG4gICAgICogLSBMYWJlbHMgKGNvbnRhRmluYW5jZWlyYSwgZGVzY0NDdXN0bykgZmljYW0gdmF6aW9zIOKAlCBkZXZlbSBzZXIgcmVzb2x2aWRvcyB2aWEgbG9va3VwIHBlbG8gY29tcG9uZW50ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHN1Z2VzdGFvUGxhbmFQYXJhSGllcmFycXVpY2EoXG4gICAgICAgIHBsYW5hczogRGlzdHJpYnVpY2FvUmF0ZWlvTWFudWFsUGxhbmFbXVxuICAgICk6IFJhdGVpb0NvbnRhW10ge1xuICAgICAgICBpZiAoIXBsYW5hcyB8fCBwbGFuYXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwb3JDb250YSA9IG5ldyBNYXA8c3RyaW5nLCBSYXRlaW9Db250YT4oKTtcblxuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgcGxhbmFzKSB7XG4gICAgICAgICAgICBsZXQgY29udGEgPSBwb3JDb250YS5nZXQoaXRlbS5lMDkxcGxmX2lkKTtcblxuICAgICAgICAgICAgaWYgKCFjb250YSkge1xuICAgICAgICAgICAgICAgIGNvbnRhID0ge1xuICAgICAgICAgICAgICAgICAgICBpZENvbnRhRmluYW5jZWlyYTogaXRlbS5lMDkxcGxmX2lkLFxuICAgICAgICAgICAgICAgICAgICBjb250YUZpbmFuY2VpcmE6ICcnLFxuICAgICAgICAgICAgICAgICAgICBpZENvbnRhQ29udGFiaWw6IGl0ZW0uZTA0NXBsYV9pZCB8fCBudWxsLFxuICAgICAgICAgICAgICAgICAgICBjb250YUNvbnRhYmlsOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBpZFByb2pldG86IGl0ZW0uZTYxNXByal9pZCB8fCBudWxsLFxuICAgICAgICAgICAgICAgICAgICBwcm9qZXRvOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBpZEZhc2VQcm9qZXRvOiBpdGVtLmU2MTVmcGpfaWQgfHwgbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgZmFzZVByb2pldG86IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIHBlcmNlbnR1YWw6IDAsXG4gICAgICAgICAgICAgICAgICAgIHZhbG9yUmF0ZWFkb0NvbnRhOiAwLFxuICAgICAgICAgICAgICAgICAgICByYXRlaW9zQ0N1c3RvOiBbXVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgcG9yQ29udGEuc2V0KGl0ZW0uZTA5MXBsZl9pZCwgY29udGEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb250YS5wZXJjZW50dWFsICs9IGl0ZW0ucGVyY2VudHVhbDtcbiAgICAgICAgICAgIGNvbnRhLnZhbG9yUmF0ZWFkb0NvbnRhICs9IGl0ZW0udmFsb3I7XG5cbiAgICAgICAgICAgIGlmIChpdGVtLmUwNDRjY3VfaWQpIHtcbiAgICAgICAgICAgICAgICBjb250YS5yYXRlaW9zQ0N1c3RvLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBpZENlbnRyb0N1c3RvOiBpdGVtLmUwNDRjY3VfaWQsXG4gICAgICAgICAgICAgICAgICAgIHBlcmNlbnR1YWw6IGl0ZW0ucGVyY2VudHVhbCxcbiAgICAgICAgICAgICAgICAgICAgdmFsb3I6IGl0ZW0udmFsb3JcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHBvckNvbnRhLnZhbHVlcygpKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,40 @@
1
+ import { __decorate } from "tslib";
2
+ import { CommonModule } from '@angular/common';
3
+ import { NgModule } from '@angular/core';
4
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
5
+ import { TranslateModule } from '@ngx-translate/core';
6
+ import { ErpLookupsModule } from '@senior-gestao-empresarial/angular-components';
7
+ import { ButtonModule, DynamicFormModule, EmptyStateModule, LoadingStateModule, LocaleModule, StatsCardModule, TableModule as STableModule } from '@seniorsistemas/angular-components';
8
+ import { TableModule } from 'primeng/table';
9
+ import { PanelModule } from 'primeng/panel';
10
+ import { DialogModule } from 'primeng/dialog';
11
+ import { ErpRateioEditorComponent } from './erp-rateio-editor.component';
12
+ import { ErpRateioEditorService } from './erp-rateio-editor.service';
13
+ let ErpRateioEditorModule = class ErpRateioEditorModule {
14
+ };
15
+ ErpRateioEditorModule = __decorate([
16
+ NgModule({
17
+ declarations: [ErpRateioEditorComponent],
18
+ imports: [
19
+ CommonModule,
20
+ FormsModule,
21
+ ReactiveFormsModule,
22
+ TranslateModule,
23
+ ButtonModule,
24
+ DynamicFormModule,
25
+ EmptyStateModule,
26
+ LoadingStateModule,
27
+ LocaleModule,
28
+ ErpLookupsModule,
29
+ StatsCardModule,
30
+ TableModule,
31
+ STableModule,
32
+ PanelModule,
33
+ DialogModule
34
+ ],
35
+ providers: [ErpRateioEditorService],
36
+ exports: [ErpRateioEditorComponent]
37
+ })
38
+ ], ErpRateioEditorModule);
39
+ export { ErpRateioEditorModule };
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJwLXJhdGVpby1lZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tZW1wcmVzYXJpYWwvZXJweC1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9yYXRlaW8tZWRpdG9yL2VycC1yYXRlaW8tZWRpdG9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNqRixPQUFPLEVBQ0gsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixlQUFlLEVBQ2YsV0FBVyxJQUFJLFlBQVksRUFDOUIsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBd0JyRSxJQUFhLHFCQUFxQixHQUFsQyxNQUFhLHFCQUFxQjtDQUFHLENBQUE7QUFBeEIscUJBQXFCO0lBdEJqQyxRQUFRLENBQUM7UUFDTixZQUFZLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztRQUN4QyxPQUFPLEVBQUU7WUFDTCxZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsWUFBWTtZQUNaLGlCQUFpQjtZQUNqQixnQkFBZ0I7WUFDaEIsa0JBQWtCO1lBQ2xCLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsZUFBZTtZQUNmLFdBQVc7WUFDWCxZQUFZO1lBQ1osV0FBVztZQUNYLFlBQVk7U0FDZjtRQUNELFNBQVMsRUFBRSxDQUFDLHNCQUFzQixDQUFDO1FBQ25DLE9BQU8sRUFBRSxDQUFDLHdCQUF3QixDQUFDO0tBQ3RDLENBQUM7R0FDVyxxQkFBcUIsQ0FBRztTQUF4QixxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBFcnBMb29rdXBzTW9kdWxlIH0gZnJvbSAnQHNlbmlvci1nZXN0YW8tZW1wcmVzYXJpYWwvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIER5bmFtaWNGb3JtTW9kdWxlLFxuICAgIEVtcHR5U3RhdGVNb2R1bGUsXG4gICAgTG9hZGluZ1N0YXRlTW9kdWxlLFxuICAgIExvY2FsZU1vZHVsZSxcbiAgICBTdGF0c0NhcmRNb2R1bGUsXG4gICAgVGFibGVNb2R1bGUgYXMgU1RhYmxlTW9kdWxlXG59IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgVGFibGVNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RhYmxlJztcbmltcG9ydCB7IFBhbmVsTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9wYW5lbCc7XG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgfSBmcm9tICdwcmltZW5nL2RpYWxvZyc7XG5pbXBvcnQgeyBFcnBSYXRlaW9FZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2VycC1yYXRlaW8tZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFcnBSYXRlaW9FZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi9lcnAtcmF0ZWlvLWVkaXRvci5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtFcnBSYXRlaW9FZGl0b3JDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICBCdXR0b25Nb2R1bGUsXG4gICAgICAgIER5bmFtaWNGb3JtTW9kdWxlLFxuICAgICAgICBFbXB0eVN0YXRlTW9kdWxlLFxuICAgICAgICBMb2FkaW5nU3RhdGVNb2R1bGUsXG4gICAgICAgIExvY2FsZU1vZHVsZSxcbiAgICAgICAgRXJwTG9va3Vwc01vZHVsZSxcbiAgICAgICAgU3RhdHNDYXJkTW9kdWxlLFxuICAgICAgICBUYWJsZU1vZHVsZSxcbiAgICAgICAgU1RhYmxlTW9kdWxlLFxuICAgICAgICBQYW5lbE1vZHVsZSxcbiAgICAgICAgRGlhbG9nTW9kdWxlXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtFcnBSYXRlaW9FZGl0b3JTZXJ2aWNlXSxcbiAgICBleHBvcnRzOiBbRXJwUmF0ZWlvRWRpdG9yQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBFcnBSYXRlaW9FZGl0b3JNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,49 @@
1
+ import { __decorate } from "tslib";
2
+ import { HttpClient } from '@angular/common/http';
3
+ import { Injectable } from '@angular/core';
4
+ import { MessageService } from 'primeng/api';
5
+ import { throwError } from 'rxjs';
6
+ import { catchError } from 'rxjs/operators';
7
+ let ErpRateioEditorService = class ErpRateioEditorService {
8
+ constructor(http, messageService) {
9
+ this.http = http;
10
+ this.messageService = messageService;
11
+ this.baseQueries = 'erpx_fin_rat/rateio/queries';
12
+ this.baseActions = 'erpx_fin_rat/rateio/actions';
13
+ }
14
+ retornarRateio(input) {
15
+ return this.http
16
+ .post(`${this.baseQueries}/retornarRateio`, input)
17
+ .pipe(this.defaultCatch());
18
+ }
19
+ sugerirRateio(input) {
20
+ return this.http
21
+ .post(`${this.baseQueries}/sugerirRateio`, input)
22
+ .pipe(this.defaultCatch());
23
+ }
24
+ gravarRateioManual(input) {
25
+ return this.http
26
+ .post(`${this.baseActions}/gravarRateioManual`, input)
27
+ .pipe(this.defaultCatch());
28
+ }
29
+ defaultCatch() {
30
+ return catchError((err) => {
31
+ var _a;
32
+ if (err) {
33
+ const summary = (err === null || err === void 0 ? void 0 : err.status) ? String(err.status) : 'Error';
34
+ const detail = ((_a = err === null || err === void 0 ? void 0 : err.error) === null || _a === void 0 ? void 0 : _a.message) || (err === null || err === void 0 ? void 0 : err.statusText) || (err === null || err === void 0 ? void 0 : err.message) || 'Error';
35
+ this.messageService.add({ severity: 'error', summary, detail });
36
+ }
37
+ return throwError(err);
38
+ });
39
+ }
40
+ };
41
+ ErpRateioEditorService.ctorParameters = () => [
42
+ { type: HttpClient },
43
+ { type: MessageService }
44
+ ];
45
+ ErpRateioEditorService = __decorate([
46
+ Injectable()
47
+ ], ErpRateioEditorService);
48
+ export { ErpRateioEditorService };
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJwLXJhdGVpby1lZGl0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLWVtcHJlc2FyaWFsL2VycHgtY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvcmF0ZWlvLWVkaXRvci9lcnAtcmF0ZWlvLWVkaXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBVTVDLElBQWEsc0JBQXNCLEdBQW5DLE1BQWEsc0JBQXNCO0lBSS9CLFlBQ3FCLElBQWdCLEVBQ2hCLGNBQThCO1FBRDlCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBTGxDLGdCQUFXLEdBQUcsNkJBQTZCLENBQUM7UUFDNUMsZ0JBQVcsR0FBRyw2QkFBNkIsQ0FBQztJQUsxRCxDQUFDO0lBRUcsY0FBYyxDQUFDLEtBQTBCO1FBQzVDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDWCxJQUFJLENBQXVCLEdBQUcsSUFBSSxDQUFDLFdBQVcsaUJBQWlCLEVBQUUsS0FBSyxDQUFDO2FBQ3ZFLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUF3QixDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUF5QjtRQUMxQyxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsSUFBSSxDQUFpQyxHQUFHLElBQUksQ0FBQyxXQUFXLGdCQUFnQixFQUFFLEtBQUssQ0FBQzthQUNoRixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBa0MsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxLQUE4QjtRQUNwRCxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsSUFBSSxDQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcscUJBQXFCLEVBQUUsS0FBSyxDQUFDO2FBQzNELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFRLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU8sWUFBWTtRQUNoQixPQUFPLFVBQVUsQ0FBdUIsQ0FBQyxHQUFRLEVBQUUsRUFBRTs7WUFDakQsSUFBSSxHQUFHLEVBQUU7Z0JBQ0wsTUFBTSxPQUFPLEdBQUcsQ0FBQSxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7Z0JBQzNELE1BQU0sTUFBTSxHQUFHLE9BQUEsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLEtBQUssMENBQUUsT0FBTyxNQUFJLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxVQUFVLENBQUEsS0FBSSxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsT0FBTyxDQUFBLElBQUksT0FBTyxDQUFDO2dCQUNqRixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7YUFDbkU7WUFDRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSixDQUFBOztZQWhDOEIsVUFBVTtZQUNBLGNBQWM7O0FBTjFDLHNCQUFzQjtJQURsQyxVQUFVLEVBQUU7R0FDQSxzQkFBc0IsQ0FxQ2xDO1NBckNZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICAgIEdyYXZhclJhdGVpb01hbnVhbElucHV0LFxuICAgIFJldG9ybmFyUmF0ZWlvSW5wdXQsXG4gICAgUmV0b3JuYXJSYXRlaW9PdXRwdXQsXG4gICAgU3VnZXJpclJhdGVpb0lucHV0LFxuICAgIFN1Z2VzdGFvUmF0ZWlvXG59IGZyb20gJy4vZXJwLXJhdGVpby1lZGl0b3IudHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRXJwUmF0ZWlvRWRpdG9yU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBiYXNlUXVlcmllcyA9ICdlcnB4X2Zpbl9yYXQvcmF0ZWlvL3F1ZXJpZXMnO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYmFzZUFjdGlvbnMgPSAnZXJweF9maW5fcmF0L3JhdGVpby9hY3Rpb25zJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgcHVibGljIHJldG9ybmFyUmF0ZWlvKGlucHV0OiBSZXRvcm5hclJhdGVpb0lucHV0KTogT2JzZXJ2YWJsZTxSZXRvcm5hclJhdGVpb091dHB1dD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdDxSZXRvcm5hclJhdGVpb091dHB1dD4oYCR7dGhpcy5iYXNlUXVlcmllc30vcmV0b3JuYXJSYXRlaW9gLCBpbnB1dClcbiAgICAgICAgICAgIC5waXBlKHRoaXMuZGVmYXVsdENhdGNoPFJldG9ybmFyUmF0ZWlvT3V0cHV0PigpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3VnZXJpclJhdGVpbyhpbnB1dDogU3VnZXJpclJhdGVpb0lucHV0KTogT2JzZXJ2YWJsZTx7IHN1Z2VzdGFvOiBTdWdlc3Rhb1JhdGVpb1tdIH0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3Q8eyBzdWdlc3RhbzogU3VnZXN0YW9SYXRlaW9bXSB9PihgJHt0aGlzLmJhc2VRdWVyaWVzfS9zdWdlcmlyUmF0ZWlvYCwgaW5wdXQpXG4gICAgICAgICAgICAucGlwZSh0aGlzLmRlZmF1bHRDYXRjaDx7IHN1Z2VzdGFvOiBTdWdlc3Rhb1JhdGVpb1tdIH0+KCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBncmF2YXJSYXRlaW9NYW51YWwoaW5wdXQ6IEdyYXZhclJhdGVpb01hbnVhbElucHV0KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5wb3N0PHZvaWQ+KGAke3RoaXMuYmFzZUFjdGlvbnN9L2dyYXZhclJhdGVpb01hbnVhbGAsIGlucHV0KVxuICAgICAgICAgICAgLnBpcGUodGhpcy5kZWZhdWx0Q2F0Y2g8dm9pZD4oKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZWZhdWx0Q2F0Y2g8VD4oKSB7XG4gICAgICAgIHJldHVybiBjYXRjaEVycm9yPFQsIE9ic2VydmFibGU8bmV2ZXI+PigoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzdW1tYXJ5ID0gZXJyPy5zdGF0dXMgPyBTdHJpbmcoZXJyLnN0YXR1cykgOiAnRXJyb3InO1xuICAgICAgICAgICAgICAgIGNvbnN0IGRldGFpbCA9IGVycj8uZXJyb3I/Lm1lc3NhZ2UgfHwgZXJyPy5zdGF0dXNUZXh0IHx8IGVycj8ubWVzc2FnZSB8fCAnRXJyb3InO1xuICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnksIGRldGFpbCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Tipos do componente erp-rateio-editor.
3
+ * Espelham os records e enums do SDL erpx_fin_rat/rateio (ERPMAD-17682).
4
+ */
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJwLXJhdGVpby1lZGl0b3IudHlwZXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9lcnB4LWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3JhdGVpby1lZGl0b3IvZXJwLXJhdGVpby1lZGl0b3IudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaXBvcyBkbyBjb21wb25lbnRlIGVycC1yYXRlaW8tZWRpdG9yLlxuICogRXNwZWxoYW0gb3MgcmVjb3JkcyBlIGVudW1zIGRvIFNETCBlcnB4X2Zpbl9yYXQvcmF0ZWlvIChFUlBNQUQtMTc2ODIpLlxuICovXG5cbi8vID09PSBFTlVNUyA9PT1cblxuLyoqIEVzcGVsaG8gZGUgZW51bVRpcG9Nb3ZpbWVudG8gKFNETCDigJQgUGFzY2FsQ2FzZSkgKi9cbmV4cG9ydCB0eXBlIFRpcG9Nb3ZpbWVudG8gPVxuICAgIHwgJ1BlZGlkb1Byb2R1dG8nXG4gICAgfCAnUGVkaWRvU2VydmljbydcbiAgICB8ICdOb3RhRmlzY2FsU2FpZGFQcm9kdXRvJ1xuICAgIHwgJ05vdGFGaXNjYWxTYWlkYVNlcnZpY28nXG4gICAgfCAnQ29udHJhdG9WZW5kYVByb2R1dG8nXG4gICAgfCAnQ29udHJhdG9WZW5kYVNlcnZpY28nXG4gICAgfCAnUmVxdWlzaWNhbydcbiAgICB8ICdNb3ZpbWVudG9Fc3RvcXVlJ1xuICAgIHwgJ0NvbnRhc1JlY2ViZXInXG4gICAgfCAnU29saWNpdGFjYW9Db21wcmEnXG4gICAgfCAnT3JkZW1Db21wcmFQcm9kdXRvJ1xuICAgIHwgJ09yZGVtQ29tcHJhU2VydmljbydcbiAgICB8ICdOb3RhRmlzY2FsRW50cmFkYVByb2R1dG8nXG4gICAgfCAnTm90YUZpc2NhbEVudHJhZGFTZXJ2aWNvJ1xuICAgIHwgJ0NvbnRhc1BhZ2FyJ1xuICAgIHwgJ0NvbWlzc29lcydcbiAgICB8ICdUZXNvdXJhcmlhJ1xuICAgIHwgJ1ByZXBhcmFjYW9UZXNvdXJhcmlhJ1xuICAgIHwgJ0NvbnRyYXRvQ29tcHJhUHJvZHV0bydcbiAgICB8ICdDb250cmF0b0NvbXByYVNlcnZpY28nXG4gICAgfCAnTm90YUZpc2NhbEVudHJhZGEnXG4gICAgfCAnTm90YUZpc2NhbFNhaWRhJ1xuICAgIHwgJ0NvbnRyYXRvQ29tcHJhJ1xuICAgIHwgJ0NvbnRyYXRvVmVuZGEnXG4gICAgfCAnUGVkaWRvcyc7XG5cbi8qKlxuICogRXNwZWxobyBkZSBlbnVtQ3JpUmF0IChTREwpLlxuICogVjEgPSBSZWNlaXRhcyDigJQgQ29udGEgWCBDLiBDdXN0b3NcbiAqIFYyID0gUmVjZWl0YXMg4oCUIEMuIEN1c3RvcyBYIENvbnRhXG4gKiBWMyA9IERlc3Blc2FzIOKAlCBDb250YSBYIEMuIEN1c3Rvc1xuICogVjQgPSBEZXNwZXNhcyDigJQgQy4gQ3VzdG9zIFggQ29udGFcbiAqIFY1ID0gTmVuaHVtXG4gKi9cbmV4cG9ydCB0eXBlIENyaXRlcmlvUmF0ZWlvID0gJ1YxJyB8ICdWMicgfCAnVjMnIHwgJ1Y0JyB8ICdWNSc7XG5cbi8vID09PSBNT0RFTE8gSElFUsOBUlFVSUNPIChyZWNSYXRlaW9Db250YSArIHJlY1JhdGVpb0NDdXN0bykgPT09XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmF0ZWlvQ29udGEge1xuICAgIGlkPzogc3RyaW5nO1xuICAgIGlkQ29udGFGaW5hbmNlaXJhOiBzdHJpbmc7XG4gICAgY29udGFGaW5hbmNlaXJhOiBzdHJpbmc7XG4gICAgaWRDb250YUNvbnRhYmlsPzogc3RyaW5nO1xuICAgIGNvbnRhQ29udGFiaWw/OiBzdHJpbmc7XG4gICAgaWRQcm9qZXRvPzogc3RyaW5nO1xuICAgIHByb2pldG8/OiBzdHJpbmc7XG4gICAgaWRGYXNlUHJvamV0bz86IHN0cmluZztcbiAgICBmYXNlUHJvamV0bz86IHN0cmluZztcbiAgICBwZXJjZW50dWFsOiBudW1iZXI7XG4gICAgdmFsb3JSYXRlYWRvQ29udGE6IG51bWJlcjtcbiAgICByYXRlaW9zQ0N1c3RvOiBSYXRlaW9DQ3VzdG9bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSYXRlaW9DQ3VzdG8ge1xuICAgIGlkQ2VudHJvQ3VzdG86IHN0cmluZztcbiAgICBkZXNjQ0N1c3RvPzogc3RyaW5nO1xuICAgIHBlcmNlbnR1YWw6IG51bWJlcjtcbiAgICB2YWxvcjogbnVtYmVyO1xuICAgIG9ic2VydmFjYW8/OiBzdHJpbmc7XG59XG5cbi8vID09PSBSRUNPUkRTIEFVWElMSUFSRVMgPT09XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW1wcmVzYSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBjb2RFbXA6IG51bWJlcjtcbiAgICBub21FbXA6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWxpYWwge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgZTA3MGVtcDogRW1wcmVzYTtcbiAgICBjb2RGaWw6IG51bWJlcjtcbiAgICBub21GaWw6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmZvcm1hY2FvTW92aW1lbnRvIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGNvZGlnbzogc3RyaW5nO1xuICAgIGRlc2NyaWNhbzogc3RyaW5nO1xuICAgIGxhYmVsSW5mb3JtYWNhbzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludGVncmFjYW9Db250cm9sYWRvcmlhIHtcbiAgICBjb250YWJpbGlkYWRlPzogYm9vbGVhbjtcbiAgICB0cmlidXRvcz86IGJvb2xlYW47XG4gICAgcGF0cmltb25pbz86IGJvb2xlYW47XG59XG5cbi8vID09PSBQQVlMT0FEUyBERSBBUEkgPT09XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmV0b3JuYXJSYXRlaW9JbnB1dCB7XG4gICAgaWRNb3ZpbWVudG86IHN0cmluZztcbiAgICB0aXBvTW92aW1lbnRvOiBUaXBvTW92aW1lbnRvO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJldG9ybmFyUmF0ZWlvT3V0cHV0IHtcbiAgICByYXRlaW86IFJhdGVpb0NvbnRhW107XG4gICAgZTA3MGZpbDogRmlsaWFsO1xuICAgIG9yaVJhdDogc3RyaW5nO1xuICAgIGNyaVJhdDogQ3JpdGVyaW9SYXRlaW87XG4gICAgdmFsb3JCYXNlOiBudW1iZXI7XG4gICAgZGF0YUJhc2U6IHN0cmluZztcbiAgICBkYXRhTW92aW1lbnRvPzogc3RyaW5nO1xuICAgIGluZm9ybWFjb2VzTW92aW1lbnRvPzogSW5mb3JtYWNhb01vdmltZW50b1tdO1xuICAgIGFncnVwYWRvcklkOiBzdHJpbmc7XG4gICAgaW50ZWdyYWNhb0NvbnRyb2xhZG9yaWE/OiBJbnRlZ3JhY2FvQ29udHJvbGFkb3JpYTtcbiAgICB1c3VHZXI6IHN0cmluZztcbiAgICBkdGhHZXI6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcmF2YXJSYXRlaW9NYW51YWxJbnB1dCB7XG4gICAgaWRNb3ZpbWVudG86IHN0cmluZztcbiAgICBhZ3J1cGFkb3JJZD86IHN0cmluZztcbiAgICB0aXBvTW92aW1lbnRvOiBUaXBvTW92aW1lbnRvO1xuICAgIGUwNzBmaWxfaWQ6IHN0cmluZztcbiAgICBjcml0ZXJpb1JhdGVpbzogQ3JpdGVyaW9SYXRlaW87XG4gICAgZGF0YUJhc2U/OiBzdHJpbmc7XG4gICAgZGF0YU1vdmltZW50bz86IHN0cmluZztcbiAgICByYXRlaW9zOiBSYXRlaW9Db250YVtdO1xufVxuXG4vKiogTW9kZWxvIHBsYW5vIOKAlCB1c2FkbyBBUEVOQVMgcGVsbyBvdXRwdXQgZGUgc3VnZXJpclJhdGVpbyAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXN0cmlidWljYW9SYXRlaW9NYW51YWxQbGFuYSB7XG4gICAgZTA5MXBsZl9pZDogc3RyaW5nO1xuICAgIGUwNDRjY3VfaWQ/OiBzdHJpbmc7XG4gICAgZTA0NXBsYV9pZD86IHN0cmluZztcbiAgICBlNjE1cHJqX2lkPzogc3RyaW5nO1xuICAgIGU2MTVmcGpfaWQ/OiBzdHJpbmc7XG4gICAgcGVyY2VudHVhbDogbnVtYmVyO1xuICAgIHZhbG9yOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VnZXN0YW9SYXRlaW8ge1xuICAgIGlkTW92aW1lbnRvPzogc3RyaW5nO1xuICAgIHJhdGVpbzogUmF0ZWlvQ29udGFbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdWdlcmlyUmF0ZWlvSW5wdXQge1xuICAgIHBhcmFtZXRyb3M6IFN1Z2VyaXJSYXRlaW9QYXJhbWV0cm9bXTtcbiAgICB0aXBvOiBUaXBvTW92aW1lbnRvO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN1Z2VyaXJSYXRlaW9QYXJhbWV0cm8ge1xuICAgIGlkTW92aW1lbnRvPzogc3RyaW5nO1xuICAgIGUwNzBmaWxfaWQ6IHN0cmluZztcbiAgICB2YWxvckJhc2U6IG51bWJlcjtcbiAgICBtb3ZpbWVudG9zPzogc3RyaW5nO1xuICAgIGUwOTFwbGZfaWQ/OiBzdHJpbmc7XG4gICAgZTA0NXBsYV9pZD86IHN0cmluZztcbiAgICBlMDQ0Y2N1X2lkPzogc3RyaW5nO1xuICAgIGU2MTVwcmpfaWQ/OiBzdHJpbmc7XG4gICAgZTYxNWZwal9pZD86IHN0cmluZztcbiAgICBjcmlSYXQ6IENyaXRlcmlvUmF0ZWlvO1xuICAgIGlkVHJhbnNhY2FvPzogc3RyaW5nO1xuICAgIGlkRmFtaWxpYT86IHN0cmluZztcbiAgICBpZERlcml2YWNhbz86IHN0cmluZztcbiAgICBpZFNlcnZpY28/OiBzdHJpbmc7XG4gICAgZGF0YUJhc2U/OiBzdHJpbmc7XG4gICAgZGF0YU1vdmltZW50bz86IHN0cmluZztcbiAgICB2YWxvckV4Y2VkZW50ZT86IG51bWJlcjtcbn1cblxuLy8gPT09IFZBTE9SRVMgU0VMRUNJT05BRE9TIE5PUyBMT09LVVBTICh1c28gdHJhbnNpdMOzcmlvIHBhcmEgdmFsaWRhw6fDo28pID09PVxuXG4vKipcbiAqIFZhbG9yIHNlbGVjaW9uYWRvIG5vIGxvb2t1cCBkZSBjb250YSBmaW5hbmNlaXJhIChFMDkxUGxmKSBjb20gb3MgZGlzcGxheWZpZWxkc1xuICogdXNhZG9zIG5hIHZhbGlkYcOnw6NvIGFuYWzDrXRpY2EuIE7Do28gw6kgcGVyc2lzdGlkbyBlbSBSYXRlaW9Db250YS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb250YUZpbmFuY2VpcmFMb29rdXAge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICAvKiogJ1ZTJyA9IHNpbnTDqXRpY2E7IGRlbWFpcyB2YWxvcmVzID0gYW5hbMOtdGljYS4gKi9cbiAgICBhbmFTaW4/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogVmFsb3Igc2VsZWNpb25hZG8gbm8gbG9va3VwIGRlIGNlbnRybyBkZSBjdXN0byAoRTA0NENjdSkgY29tIG9zIGRpc3BsYXlmaWVsZHNcbiAqIHVzYWRvcyBuYSB2YWxpZGHDp8OjbyBhbmFsw610aWNhLiBOw6NvIMOpIHBlcnNpc3RpZG8gZW0gUmF0ZWlvQ0N1c3RvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENlbnRyb0N1c3RvTG9va3VwIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgLyoqICdWUycgPSBzaW50w6l0aWNvOyBkZW1haXMgdmFsb3JlcyA9IGFuYWzDrXRpY28uICovXG4gICAgYW5hU2luPzogc3RyaW5nO1xuICAgIC8qKiB0cnVlID0gYWNlaXRhIHJhdGVpbzsgZmFsc2UgPSBuw6NvIGFjZWl0YS4gKi9cbiAgICBhY2VSYXQ/OiBib29sZWFuO1xufVxuXG4vLyA9PT0gQ09ORklHVVJBw4fDg08gRE8gQ09NUE9ORU5URSA9PT1cblxuZXhwb3J0IGludGVyZmFjZSBSYXRlaW9FZGl0b3JDb25maWcge1xuICAgIC8qKiBDYXNhcyBkZWNpbWFpcyBwYXJhIHZhbG9yZXMgbW9uZXTDoXJpb3MgKGRlZmF1bHQ6IDIpICovXG4gICAgY3VycmVuY3lTY2FsZT86IG51bWJlcjtcbiAgICAvKiogQ2FzYXMgZGVjaW1haXMgcGFyYSBwZXJjZW50dWFpcyAoZGVmYXVsdDogNCkgKi9cbiAgICBwZXJjZW50YWdlU2NhbGU/OiBudW1iZXI7XG4gICAgLyoqIFBlcm1pdGlyIHZhbG9yZXMgbmVnYXRpdm9zIChkZWZhdWx0OiBmYWxzZSkgKi9cbiAgICBhbGxvd05lZ2F0aXZlVmFsdWVzPzogYm9vbGVhbjtcbiAgICAvKiogTcOheGltbyBkZSBjb250YXMgZmluYW5jZWlyYXMgKGRlZmF1bHQ6IHNlbSBsaW1pdGUpICovXG4gICAgbWF4QWNjb3VudHM/OiBudW1iZXI7XG59XG5cbi8vID09PSBFVkVOVE9TID09PVxuXG5leHBvcnQgaW50ZXJmYWNlIFJhdGVpb1NhdmVFdmVudCB7XG4gICAgaWRNb3ZpbWVudG86IHN0cmluZztcbiAgICB0aXBvTW92aW1lbnRvOiBUaXBvTW92aW1lbnRvO1xuICAgIHJhdGVpb3M6IFJhdGVpb0NvbnRhW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmF0ZWlvQ2hhbmdlRXZlbnQge1xuICAgIGlzRGlydHk6IGJvb2xlYW47XG4gICAgaXNWYWxpZDogYm9vbGVhbjtcbiAgICByYXRlaW9zOiBSYXRlaW9Db250YVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJhdGVpb0Vycm9yRXZlbnQge1xuICAgIG9wZXJhY2FvOiAnbG9hZCcgfCAnc2F2ZScgfCAnc3VnZ2VzdCc7XG4gICAgbWVzc2FnZTogc3RyaW5nO1xuICAgIGNvZGU/OiBzdHJpbmc7XG4gICAgb3JpZ2luYWxFcnJvcj86IHVua25vd247XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export { ErpRateioEditorModule } from './erp-rateio-editor.module';
2
+ export { ErpRateioEditorComponent } from './erp-rateio-editor.component';
3
+ export { ErpRateioEditorConverter } from './erp-rateio-editor.converter';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9lcnB4LWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3JhdGVpby1lZGl0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUF3QnpFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgRXJwUmF0ZWlvRWRpdG9yTW9kdWxlIH0gZnJvbSAnLi9lcnAtcmF0ZWlvLWVkaXRvci5tb2R1bGUnO1xuZXhwb3J0IHsgRXJwUmF0ZWlvRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9lcnAtcmF0ZWlvLWVkaXRvci5jb21wb25lbnQnO1xuZXhwb3J0IHtcbiAgICBUaXBvTW92aW1lbnRvLFxuICAgIENyaXRlcmlvUmF0ZWlvLFxuICAgIFJhdGVpb0NvbnRhLFxuICAgIFJhdGVpb0NDdXN0byxcbiAgICBDb250YUZpbmFuY2VpcmFMb29rdXAsXG4gICAgQ2VudHJvQ3VzdG9Mb29rdXAsXG4gICAgRW1wcmVzYSxcbiAgICBGaWxpYWwsXG4gICAgSW5mb3JtYWNhb01vdmltZW50byxcbiAgICBJbnRlZ3JhY2FvQ29udHJvbGFkb3JpYSxcbiAgICBSZXRvcm5hclJhdGVpb0lucHV0LFxuICAgIFJldG9ybmFyUmF0ZWlvT3V0cHV0LFxuICAgIEdyYXZhclJhdGVpb01hbnVhbElucHV0LFxuICAgIERpc3RyaWJ1aWNhb1JhdGVpb01hbnVhbFBsYW5hLFxuICAgIFN1Z2VzdGFvUmF0ZWlvLFxuICAgIFN1Z2VyaXJSYXRlaW9JbnB1dCxcbiAgICBTdWdlcmlyUmF0ZWlvUGFyYW1ldHJvLFxuICAgIFJhdGVpb0VkaXRvckNvbmZpZyxcbiAgICBSYXRlaW9TYXZlRXZlbnQsXG4gICAgUmF0ZWlvQ2hhbmdlRXZlbnQsXG4gICAgUmF0ZWlvRXJyb3JFdmVudFxufSBmcm9tICcuL2VycC1yYXRlaW8tZWRpdG9yLnR5cGVzJztcbmV4cG9ydCB7IEVycFJhdGVpb0VkaXRvckNvbnZlcnRlciB9IGZyb20gJy4vZXJwLXJhdGVpby1lZGl0b3IuY29udmVydGVyJztcbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, Input } from '@angular/core';
3
+ let ErpResumoComponent = class ErpResumoComponent {
4
+ getProp(obj, path) {
5
+ return path.split('.').reduce((result, prop) => (result[prop] === undefined ? ' ' : result[prop]), obj);
6
+ }
7
+ };
8
+ __decorate([
9
+ Input()
10
+ ], ErpResumoComponent.prototype, "summary", void 0);
11
+ ErpResumoComponent = __decorate([
12
+ Component({
13
+ selector: 'erp-resumo[summary]',
14
+ template: "<div *ngFor=\"let section of summary.sections\" class=\"ui-g-12 block\">\n <div *ngIf=\"section.title\" class=\"ui-g-12 title-item\">\n {{section?.title}}\n </div>\n <div *ngFor=\"let item of section.items\" class=\"ui-g-12 item border-bottom\">\n <div *ngFor=\"let subItem of item; index as key\">\n <div class=\"ui-g-6 left\" [ngClass]=\"{'sub': key > 0}\" [innerHTML]=\"getProp(subItem, 'label')\"></div>\n <div class=\"ui-g-6 right\" [ngClass]=\"{'sub': key > 0}\" [innerHTML]=\"getProp(subItem, 'value')\"></div>\n </div>\n </div>\n <div class=\"ui-g-12 item subtotal\" *ngIf=\"section.subtotal\">\n <div class=\"ui-g-6 left\" [innerHTML]=\"getProp(section, 'subtotal.label')\"></div>\n <div class=\"ui-g-6 right\" [innerHTML]=\"getProp(section, 'subtotal.value')\"></div>\n </div>\n</div>\n<div class=\"ui-g-12 total\" *ngIf=\"summary.total\">\n <div class=\"ui-g-12 item\">\n <div class=\"ui-g-6 left\" [innerHTML]=\"getProp(summary, 'total.label')\"></div>\n <div class=\"ui-g-6 right\" [innerHTML]=\"getProp(summary, 'total.value')\"></div>\n </div>\n</div>",
15
+ styles: [".block .title-item{font-weight:700;padding-left:0;padding-bottom:0}.block .border-bottom{border-bottom:1px solid #d8d8d8}.total div{padding-top:0;font-weight:700;color:#8d8d8d}.subtotal{font-weight:700;color:#8d8d8d}.item{padding-left:0;padding-right:0;padding-bottom:0}.item .right{text-align:right!important;padding-right:0}.item .left{padding-left:0}.item .sub{color:#8d8d8d;padding-top:2px}"]
16
+ })
17
+ ], ErpResumoComponent);
18
+ export { ErpResumoComponent };
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJwLXJlc3Vtby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9lcnB4LWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3Jlc3Vtby9lcnAtcmVzdW1vLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPakQsSUFBYSxrQkFBa0IsR0FBL0IsTUFBYSxrQkFBa0I7SUFJdEIsT0FBTyxDQUFDLEdBQVEsRUFBRSxJQUFTO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFXLEVBQUUsSUFBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDekgsQ0FBQztDQUVGLENBQUE7QUFOVTtJQUFSLEtBQUssRUFBRTttREFBa0I7QUFGZixrQkFBa0I7SUFMOUIsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLHFCQUFxQjtRQUMvQiw2bENBQTBDOztLQUUzQyxDQUFDO0dBQ1csa0JBQWtCLENBUTlCO1NBUlksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlcnAtcmVzdW1vW3N1bW1hcnldJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VycC1yZXN1bW8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lcnAtcmVzdW1vLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRXJwUmVzdW1vQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBzdW1tYXJ5OiBTdW1tYXJ5O1xuXG4gIHB1YmxpYyBnZXRQcm9wKG9iajogYW55LCBwYXRoOiBhbnkpIHtcbiAgICByZXR1cm4gcGF0aC5zcGxpdCgnLicpLnJlZHVjZSgocmVzdWx0OiBhbnksIHByb3A6IGFueSkgPT4gKHJlc3VsdFtwcm9wXSA9PT0gdW5kZWZpbmVkID8gJyZuYnNwOycgOiByZXN1bHRbcHJvcF0pLCBvYmopO1xuICB9XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdW1tYXJ5IHtcbiAgdG90YWw/OiBTdW1tYXJ5SXRlbTtcbiAgc2VjdGlvbnM6IEFycmF5PFN1bW1hcnlTZWN0aW9uSXRlbT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VtbWFyeVNlY3Rpb25JdGVtIHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGl0ZW1zOiBBcnJheTxBcnJheTxTdW1tYXJ5SXRlbT4+O1xuICBzdWJ0b3RhbD86IFN1bW1hcnlJdGVtO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN1bW1hcnlJdGVtIHtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIHZhbHVlPzogc3RyaW5nIHwgbnVtYmVyO1xufVxuIl19
@@ -0,0 +1,25 @@
1
+ import { __decorate } from "tslib";
2
+ import { NgModule } from '@angular/core';
3
+ import { CommonModule } from '@angular/common';
4
+ import { ErpResumoService } from './erp-resumo.service';
5
+ import { ErpResumoComponent } from './erp-resumo.component';
6
+ let ErpResumoModule = class ErpResumoModule {
7
+ };
8
+ ErpResumoModule = __decorate([
9
+ NgModule({
10
+ declarations: [
11
+ ErpResumoComponent
12
+ ],
13
+ imports: [
14
+ CommonModule
15
+ ],
16
+ providers: [
17
+ ErpResumoService
18
+ ],
19
+ exports: [
20
+ ErpResumoComponent
21
+ ]
22
+ })
23
+ ], ErpResumoModule);
24
+ export { ErpResumoModule };
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJwLXJlc3Vtby5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9lcnB4LWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3Jlc3Vtby9lcnAtcmVzdW1vLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFnQjVELElBQWEsZUFBZSxHQUE1QixNQUFhLGVBQWU7Q0FBSSxDQUFBO0FBQW5CLGVBQWU7SUFkM0IsUUFBUSxDQUFDO1FBQ1IsWUFBWSxFQUFFO1lBQ1osa0JBQWtCO1NBQ25CO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsWUFBWTtTQUNiO1FBQ0QsU0FBUyxFQUFFO1lBQ1QsZ0JBQWdCO1NBQ2pCO1FBQ0QsT0FBTyxFQUFFO1lBQ1Asa0JBQWtCO1NBQ25CO0tBQ0YsQ0FBQztHQUNXLGVBQWUsQ0FBSTtTQUFuQixlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFcnBSZXN1bW9TZXJ2aWNlIH0gZnJvbSAnLi9lcnAtcmVzdW1vLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXJwUmVzdW1vQ29tcG9uZW50IH0gZnJvbSAnLi9lcnAtcmVzdW1vLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEVycFJlc3Vtb0NvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIEVycFJlc3Vtb1NlcnZpY2VcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEVycFJlc3Vtb0NvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEVycFJlc3Vtb01vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,13 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ let ErpResumoService = class ErpResumoService {
5
+ };
6
+ ErpResumoService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ErpResumoService_Factory() { return new ErpResumoService(); }, token: ErpResumoService, providedIn: "root" });
7
+ ErpResumoService = __decorate([
8
+ Injectable({
9
+ providedIn: 'root'
10
+ })
11
+ ], ErpResumoService);
12
+ export { ErpResumoService };
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJwLXJlc3Vtby5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tZW1wcmVzYXJpYWwvZXJweC1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9yZXN1bW8vZXJwLXJlc3Vtby5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxJQUFhLGdCQUFnQixHQUE3QixNQUFhLGdCQUFnQjtDQUU1QixDQUFBOztBQUZZLGdCQUFnQjtJQUg1QixVQUFVLENBQUM7UUFDVixVQUFVLEVBQUUsTUFBTTtLQUNuQixDQUFDO0dBQ1csZ0JBQWdCLENBRTVCO1NBRlksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBFcnBSZXN1bW9TZXJ2aWNlIHtcblxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './erp-resumo.module';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9lcnB4LWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3Jlc3Vtby9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lcnAtcmVzdW1vLm1vZHVsZSc7XG5leHBvcnQgeyBTdW1tYXJ5LCBTdW1tYXJ5SXRlbSwgU3VtbWFyeVNlY3Rpb25JdGVtIH0gZnJvbSAnLi9lcnAtcmVzdW1vLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,53 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import BigNumber from 'bignumber.js';
4
+ import * as i0 from "@angular/core";
5
+ let EffectiveTaxRateCalculator = class EffectiveTaxRateCalculator {
6
+ /**
7
+ * Calculates the effective tax rate by applying both the tax rate reduction and the governmental tax rate reduction factors.
8
+ *
9
+ * @param params - An object containing the following properties:
10
+ * @param params.taxRate - The base tax rate as a BigNumber.
11
+ * @param params.taxRateReduction - The tax rate reduction percentage as a BigNumber.
12
+ * @param params.governamentalTaxRateReduction - The governmental tax rate reduction percentage as a BigNumber.
13
+ * @returns The effective tax rate as a BigNumber after applying the reduction factors.
14
+ */
15
+ calculateEffectiveTaxRate({ taxRate, taxRateReduction, governamentalTaxRateReduction }) {
16
+ const taxRateReductionFactor = taxRateReduction.isGreaterThan(0)
17
+ ? new BigNumber(1).minus(new BigNumber(taxRateReduction).dividedBy(100))
18
+ : new BigNumber(1);
19
+ const governamentalTaxRateReductionFactor = governamentalTaxRateReduction.isGreaterThan(0)
20
+ ? new BigNumber(1).minus(new BigNumber(governamentalTaxRateReduction).dividedBy(100))
21
+ : new BigNumber(1);
22
+ return taxRateReductionFactor
23
+ .multipliedBy(taxRate)
24
+ .multipliedBy(governamentalTaxRateReductionFactor);
25
+ }
26
+ /**
27
+ * Calculates the effective tax rate by applying a reduction factor to the given tax rate,
28
+ * excluding any governmental tax rate reductions.
29
+ *
30
+ * If the `taxRateReduction` is not a valid number, it defaults to zero.
31
+ * The reduction factor is computed as (1 - taxRateReduction / 100) if `taxRateReduction` is greater than zero,
32
+ * otherwise it is 1 (no reduction).
33
+ *
34
+ * @param params - An object containing:
35
+ * - taxRate: The original tax rate as a BigNumber.
36
+ * - taxRateReduction: The tax rate reduction percentage as a BigNumber.
37
+ * @returns The effective tax rate as a BigNumber after applying the reduction factor.
38
+ */
39
+ calculateEffectiveTaxRateWithoutGovernamentalTaxRateReduction({ taxRate, taxRateReduction }) {
40
+ if (taxRateReduction.isNaN())
41
+ taxRateReduction = new BigNumber(0);
42
+ const taxRateReductionFactor = taxRateReduction.isGreaterThan(0)
43
+ ? new BigNumber(1).minus(new BigNumber(taxRateReduction).dividedBy(100))
44
+ : new BigNumber(1);
45
+ return taxRateReductionFactor.multipliedBy(taxRate);
46
+ }
47
+ };
48
+ EffectiveTaxRateCalculator.ɵprov = i0.ɵɵdefineInjectable({ factory: function EffectiveTaxRateCalculator_Factory() { return new EffectiveTaxRateCalculator(); }, token: EffectiveTaxRateCalculator, providedIn: "root" });
49
+ EffectiveTaxRateCalculator = __decorate([
50
+ Injectable({ providedIn: 'root' })
51
+ ], EffectiveTaxRateCalculator);
52
+ export { EffectiveTaxRateCalculator };
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWZmZWN0aXZlLXRheC1yYXRlLWNhbGN1bGF0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9lcnB4LWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RyaWJ1dG9zL2NhbGN1bGF0b3JzL2VmZmVjdGl2ZS10YXgtcmF0ZS1jYWxjdWxhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sU0FBUyxNQUFNLGNBQWMsQ0FBQzs7QUFHckMsSUFBYSwwQkFBMEIsR0FBdkMsTUFBYSwwQkFBMEI7SUFDbkM7Ozs7Ozs7O09BUUc7SUFDSCx5QkFBeUIsQ0FBQyxFQUN0QixPQUFPLEVBQ1AsZ0JBQWdCLEVBQ2hCLDZCQUE2QixFQUtoQztRQUNHLE1BQU0sc0JBQXNCLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztZQUM1RCxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUNsQixJQUFJLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FDakQ7WUFDSCxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFdkIsTUFBTSxtQ0FBbUMsR0FDckMsNkJBQTZCLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztZQUMxQyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUNsQixJQUFJLFNBQVMsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLFNBQVMsQ0FDbEQsR0FBRyxDQUNOLENBQ0o7WUFDSCxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFM0IsT0FBTyxzQkFBc0I7YUFDeEIsWUFBWSxDQUFDLE9BQU8sQ0FBQzthQUNyQixZQUFZLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsNkRBQTZELENBQUMsRUFDMUQsT0FBTyxFQUNQLGdCQUFnQixFQUluQjtRQUNHLElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFO1lBQUUsZ0JBQWdCLEdBQUcsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbEUsTUFBTSxzQkFBc0IsR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQzVELENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQ2xCLElBQUksU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUNqRDtZQUNILENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV2QixPQUFPLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4RCxDQUFDO0NBQ0osQ0FBQTs7QUFyRVksMEJBQTBCO0lBRHRDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQztHQUN0QiwwQkFBMEIsQ0FxRXRDO1NBckVZLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEVmZmVjdGl2ZVRheFJhdGVDYWxjdWxhdG9yIHtcclxuICAgIC8qKlxyXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgZWZmZWN0aXZlIHRheCByYXRlIGJ5IGFwcGx5aW5nIGJvdGggdGhlIHRheCByYXRlIHJlZHVjdGlvbiBhbmQgdGhlIGdvdmVybm1lbnRhbCB0YXggcmF0ZSByZWR1Y3Rpb24gZmFjdG9ycy5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gcGFyYW1zIC0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOlxyXG4gICAgICogQHBhcmFtIHBhcmFtcy50YXhSYXRlIC0gVGhlIGJhc2UgdGF4IHJhdGUgYXMgYSBCaWdOdW1iZXIuXHJcbiAgICAgKiBAcGFyYW0gcGFyYW1zLnRheFJhdGVSZWR1Y3Rpb24gLSBUaGUgdGF4IHJhdGUgcmVkdWN0aW9uIHBlcmNlbnRhZ2UgYXMgYSBCaWdOdW1iZXIuXHJcbiAgICAgKiBAcGFyYW0gcGFyYW1zLmdvdmVybmFtZW50YWxUYXhSYXRlUmVkdWN0aW9uIC0gVGhlIGdvdmVybm1lbnRhbCB0YXggcmF0ZSByZWR1Y3Rpb24gcGVyY2VudGFnZSBhcyBhIEJpZ051bWJlci5cclxuICAgICAqIEByZXR1cm5zIFRoZSBlZmZlY3RpdmUgdGF4IHJhdGUgYXMgYSBCaWdOdW1iZXIgYWZ0ZXIgYXBwbHlpbmcgdGhlIHJlZHVjdGlvbiBmYWN0b3JzLlxyXG4gICAgICovXHJcbiAgICBjYWxjdWxhdGVFZmZlY3RpdmVUYXhSYXRlKHtcclxuICAgICAgICB0YXhSYXRlLFxyXG4gICAgICAgIHRheFJhdGVSZWR1Y3Rpb24sXHJcbiAgICAgICAgZ292ZXJuYW1lbnRhbFRheFJhdGVSZWR1Y3Rpb25cclxuICAgIH06IHtcclxuICAgICAgICB0YXhSYXRlOiBCaWdOdW1iZXI7XHJcbiAgICAgICAgdGF4UmF0ZVJlZHVjdGlvbjogQmlnTnVtYmVyO1xyXG4gICAgICAgIGdvdmVybmFtZW50YWxUYXhSYXRlUmVkdWN0aW9uOiBCaWdOdW1iZXI7XHJcbiAgICB9KTogQmlnTnVtYmVyIHtcclxuICAgICAgICBjb25zdCB0YXhSYXRlUmVkdWN0aW9uRmFjdG9yID0gdGF4UmF0ZVJlZHVjdGlvbi5pc0dyZWF0ZXJUaGFuKDApXHJcbiAgICAgICAgICAgID8gbmV3IEJpZ051bWJlcigxKS5taW51cyhcclxuICAgICAgICAgICAgICAgICAgbmV3IEJpZ051bWJlcih0YXhSYXRlUmVkdWN0aW9uKS5kaXZpZGVkQnkoMTAwKVxyXG4gICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgOiBuZXcgQmlnTnVtYmVyKDEpO1xyXG5cclxuICAgICAgICBjb25zdCBnb3Zlcm5hbWVudGFsVGF4UmF0ZVJlZHVjdGlvbkZhY3RvciA9XHJcbiAgICAgICAgICAgIGdvdmVybmFtZW50YWxUYXhSYXRlUmVkdWN0aW9uLmlzR3JlYXRlclRoYW4oMClcclxuICAgICAgICAgICAgICAgID8gbmV3IEJpZ051bWJlcigxKS5taW51cyhcclxuICAgICAgICAgICAgICAgICAgICAgIG5ldyBCaWdOdW1iZXIoZ292ZXJuYW1lbnRhbFRheFJhdGVSZWR1Y3Rpb24pLmRpdmlkZWRCeShcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAxMDBcclxuICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgOiBuZXcgQmlnTnVtYmVyKDEpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGF4UmF0ZVJlZHVjdGlvbkZhY3RvclxyXG4gICAgICAgICAgICAubXVsdGlwbGllZEJ5KHRheFJhdGUpXHJcbiAgICAgICAgICAgIC5tdWx0aXBsaWVkQnkoZ292ZXJuYW1lbnRhbFRheFJhdGVSZWR1Y3Rpb25GYWN0b3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgZWZmZWN0aXZlIHRheCByYXRlIGJ5IGFwcGx5aW5nIGEgcmVkdWN0aW9uIGZhY3RvciB0byB0aGUgZ2l2ZW4gdGF4IHJhdGUsXHJcbiAgICAgKiBleGNsdWRpbmcgYW55IGdvdmVybm1lbnRhbCB0YXggcmF0ZSByZWR1Y3Rpb25zLlxyXG4gICAgICpcclxuICAgICAqIElmIHRoZSBgdGF4UmF0ZVJlZHVjdGlvbmAgaXMgbm90IGEgdmFsaWQgbnVtYmVyLCBpdCBkZWZhdWx0cyB0byB6ZXJvLlxyXG4gICAgICogVGhlIHJlZHVjdGlvbiBmYWN0b3IgaXMgY29tcHV0ZWQgYXMgKDEgLSB0YXhSYXRlUmVkdWN0aW9uIC8gMTAwKSBpZiBgdGF4UmF0ZVJlZHVjdGlvbmAgaXMgZ3JlYXRlciB0aGFuIHplcm8sXHJcbiAgICAgKiBvdGhlcndpc2UgaXQgaXMgMSAobm8gcmVkdWN0aW9uKS5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gcGFyYW1zIC0gQW4gb2JqZWN0IGNvbnRhaW5pbmc6XHJcbiAgICAgKiAgIC0gdGF4UmF0ZTogVGhlIG9yaWdpbmFsIHRheCByYXRlIGFzIGEgQmlnTnVtYmVyLlxyXG4gICAgICogICAtIHRheFJhdGVSZWR1Y3Rpb246IFRoZSB0YXggcmF0ZSByZWR1Y3Rpb24gcGVyY2VudGFnZSBhcyBhIEJpZ051bWJlci5cclxuICAgICAqIEByZXR1cm5zIFRoZSBlZmZlY3RpdmUgdGF4IHJhdGUgYXMgYSBCaWdOdW1iZXIgYWZ0ZXIgYXBwbHlpbmcgdGhlIHJlZHVjdGlvbiBmYWN0b3IuXHJcbiAgICAgKi9cclxuICAgIGNhbGN1bGF0ZUVmZmVjdGl2ZVRheFJhdGVXaXRob3V0R292ZXJuYW1lbnRhbFRheFJhdGVSZWR1Y3Rpb24oe1xyXG4gICAgICAgIHRheFJhdGUsXHJcbiAgICAgICAgdGF4UmF0ZVJlZHVjdGlvblxyXG4gICAgfToge1xyXG4gICAgICAgIHRheFJhdGU6IEJpZ051bWJlcjtcclxuICAgICAgICB0YXhSYXRlUmVkdWN0aW9uOiBCaWdOdW1iZXI7XHJcbiAgICB9KTogQmlnTnVtYmVyIHtcclxuICAgICAgICBpZiAodGF4UmF0ZVJlZHVjdGlvbi5pc05hTigpKSB0YXhSYXRlUmVkdWN0aW9uID0gbmV3IEJpZ051bWJlcigwKTtcclxuXHJcbiAgICAgICAgY29uc3QgdGF4UmF0ZVJlZHVjdGlvbkZhY3RvciA9IHRheFJhdGVSZWR1Y3Rpb24uaXNHcmVhdGVyVGhhbigwKVxyXG4gICAgICAgICAgICA/IG5ldyBCaWdOdW1iZXIoMSkubWludXMoXHJcbiAgICAgICAgICAgICAgICAgIG5ldyBCaWdOdW1iZXIodGF4UmF0ZVJlZHVjdGlvbikuZGl2aWRlZEJ5KDEwMClcclxuICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIDogbmV3IEJpZ051bWJlcigxKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRheFJhdGVSZWR1Y3Rpb25GYWN0b3IubXVsdGlwbGllZEJ5KHRheFJhdGUpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,37 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { TaxRoundingService } from '../services/tax-rounding.service';
4
+ import { TaxStore } from '../stores/tax.store';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../services/tax-rounding.service";
7
+ import * as i2 from "../stores/tax.store";
8
+ let GrossAmountCalculator = class GrossAmountCalculator {
9
+ constructor(taxRoundingService, taxStore) {
10
+ this.taxRoundingService = taxRoundingService;
11
+ this.taxStore = taxStore;
12
+ }
13
+ /**
14
+ * Calculates the gross amount based on the provided taxable base and tax rate.
15
+ *
16
+ * @param params - An object containing:
17
+ * - taxableBase: The base amount to be taxed as a BigNumber.
18
+ * - taxRate: The tax rate to apply as a BigNumber (percentage).
19
+ * @returns The calculated gross amount as a BigNumber.
20
+ */
21
+ calculateGrossAmount({ taxableBase, taxRate }) {
22
+ const taxAmount = taxableBase.multipliedBy(taxRate).dividedBy(100);
23
+ return this.taxStore.getArredondamentoAbnt()
24
+ ? this.taxRoundingService.halfEven(taxAmount)
25
+ : this.taxRoundingService.halfUp(taxAmount.toNumber());
26
+ }
27
+ };
28
+ GrossAmountCalculator.ctorParameters = () => [
29
+ { type: TaxRoundingService },
30
+ { type: TaxStore }
31
+ ];
32
+ GrossAmountCalculator.ɵprov = i0.ɵɵdefineInjectable({ factory: function GrossAmountCalculator_Factory() { return new GrossAmountCalculator(i0.ɵɵinject(i1.TaxRoundingService), i0.ɵɵinject(i2.TaxStore)); }, token: GrossAmountCalculator, providedIn: "root" });
33
+ GrossAmountCalculator = __decorate([
34
+ Injectable({ providedIn: 'root' })
35
+ ], GrossAmountCalculator);
36
+ export { GrossAmountCalculator };
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jvc3MtYW1vdW50LWNhbGN1bGF0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9lcnB4LWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RyaWJ1dG9zL2NhbGN1bGF0b3JzL2dyb3NzLWFtb3VudC1jYWxjdWxhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQUcvQyxJQUFhLHFCQUFxQixHQUFsQyxNQUFhLHFCQUFxQjtJQUM5QixZQUNxQixrQkFBc0MsRUFDdEMsUUFBa0I7UUFEbEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQ3BDLENBQUM7SUFFSjs7Ozs7OztPQU9HO0lBQ0gsb0JBQW9CLENBQUMsRUFDakIsV0FBVyxFQUNYLE9BQU8sRUFJVjtRQUNHLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRW5FLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRTtZQUN4QyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7WUFDN0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztDQUNKLENBQUE7O1lBekI0QyxrQkFBa0I7WUFDNUIsUUFBUTs7O0FBSDlCLHFCQUFxQjtJQURqQyxVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7R0FDdEIscUJBQXFCLENBMkJqQztTQTNCWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcclxuaW1wb3J0IHsgVGF4Um91bmRpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGF4LXJvdW5kaW5nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUYXhTdG9yZSB9IGZyb20gJy4uL3N0b3Jlcy90YXguc3RvcmUnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEdyb3NzQW1vdW50Q2FsY3VsYXRvciB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRheFJvdW5kaW5nU2VydmljZTogVGF4Um91bmRpbmdTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGF4U3RvcmU6IFRheFN0b3JlXHJcbiAgICApIHt9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBncm9zcyBhbW91bnQgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHRheGFibGUgYmFzZSBhbmQgdGF4IHJhdGUuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHBhcmFtcyAtIEFuIG9iamVjdCBjb250YWluaW5nOlxyXG4gICAgICogICAtIHRheGFibGVCYXNlOiBUaGUgYmFzZSBhbW91bnQgdG8gYmUgdGF4ZWQgYXMgYSBCaWdOdW1iZXIuXHJcbiAgICAgKiAgIC0gdGF4UmF0ZTogVGhlIHRheCByYXRlIHRvIGFwcGx5IGFzIGEgQmlnTnVtYmVyIChwZXJjZW50YWdlKS5cclxuICAgICAqIEByZXR1cm5zIFRoZSBjYWxjdWxhdGVkIGdyb3NzIGFtb3VudCBhcyBhIEJpZ051bWJlci5cclxuICAgICAqL1xyXG4gICAgY2FsY3VsYXRlR3Jvc3NBbW91bnQoe1xyXG4gICAgICAgIHRheGFibGVCYXNlLFxyXG4gICAgICAgIHRheFJhdGVcclxuICAgIH06IHtcclxuICAgICAgICB0YXhhYmxlQmFzZTogQmlnTnVtYmVyO1xyXG4gICAgICAgIHRheFJhdGU6IEJpZ051bWJlcjtcclxuICAgIH0pOiBCaWdOdW1iZXIge1xyXG4gICAgICAgIGNvbnN0IHRheEFtb3VudCA9IHRheGFibGVCYXNlLm11bHRpcGxpZWRCeSh0YXhSYXRlKS5kaXZpZGVkQnkoMTAwKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMudGF4U3RvcmUuZ2V0QXJyZWRvbmRhbWVudG9BYm50KClcclxuICAgICAgICAgICAgPyB0aGlzLnRheFJvdW5kaW5nU2VydmljZS5oYWxmRXZlbih0YXhBbW91bnQpXHJcbiAgICAgICAgICAgIDogdGhpcy50YXhSb3VuZGluZ1NlcnZpY2UuaGFsZlVwKHRheEFtb3VudC50b051bWJlcigpKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,87 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import BigNumber from 'bignumber.js';
4
+ import { EffectiveTaxRateCalculator } from './effective-tax-rate-calculator';
5
+ import { TaxRoundingService } from '../services/tax-rounding.service';
6
+ import { TaxStore } from '../stores/tax.store';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "./effective-tax-rate-calculator";
9
+ import * as i2 from "../services/tax-rounding.service";
10
+ import * as i3 from "../stores/tax.store";
11
+ let TaxAmountCalculator = class TaxAmountCalculator {
12
+ constructor(effectiveTaxRateCalculator, taxRoundingService, taxStore) {
13
+ this.effectiveTaxRateCalculator = effectiveTaxRateCalculator;
14
+ this.taxRoundingService = taxRoundingService;
15
+ this.taxStore = taxStore;
16
+ }
17
+ /**
18
+ * Calculates the tax amount based on a taxable base and a tax rate.
19
+ *
20
+ * @param params - An object containing:
21
+ * @param params.taxableBase - The base amount on which the tax is calculated (as a BigNumber).
22
+ * @param params.taxRate - The tax rate to apply (as a BigNumber, representing a percentage).
23
+ * @returns The calculated tax amount as a BigNumber.
24
+ */
25
+ calculateTaxAmount({ taxableBase, taxRate }) {
26
+ const taxAmount = new BigNumber(taxableBase)
27
+ .multipliedBy(taxRate)
28
+ .dividedBy(100);
29
+ return this.taxStore.getArredondamentoAbnt()
30
+ ? this.taxRoundingService.halfEven(taxAmount)
31
+ : this.taxRoundingService.halfUp(taxAmount.toNumber());
32
+ }
33
+ /**
34
+ * Calculates the tax amount considering a deferred tax value.
35
+ *
36
+ * @param params - The parameters for the calculation.
37
+ * @param params.taxableBase - The base amount on which tax is calculated.
38
+ * @param params.taxRate - The tax rate as a percentage.
39
+ * @param params.deferredTaxAmount - The amount of tax that is deferred and should be subtracted from the result.
40
+ * @returns The calculated tax amount after subtracting the deferred tax.
41
+ */
42
+ calculateTaxAmountWithDeferredTax({ taxableBase, taxRate, deferredTaxAmount }) {
43
+ const taxAmount = new BigNumber(taxableBase)
44
+ .multipliedBy(taxRate)
45
+ .dividedBy(100)
46
+ .minus(deferredTaxAmount);
47
+ return this.taxStore.getArredondamentoAbnt()
48
+ ? this.taxRoundingService.halfEven(taxAmount)
49
+ : this.taxRoundingService.halfUp(taxAmount.toNumber());
50
+ }
51
+ /**
52
+ * Calculates the tax amount based on the provided tax base, tax rate, and tax rate reduction,
53
+ * excluding deferred tax and governamental tax rate reductions.
54
+ *
55
+ * This method uses the effective tax rate calculated without considering governamental tax rate reductions,
56
+ * and applies it to the tax base to determine the final tax amount.
57
+ *
58
+ * @param params - The parameters for tax calculation.
59
+ * @param params.taxBase - The base amount on which the tax is calculated.
60
+ * @param params.taxRate - The initial tax rate before any reductions.
61
+ * @param params.taxRateReduction - The reduction applied to the tax rate.
62
+ * @returns The calculated tax amount as a BigNumber.
63
+ */
64
+ calculateTaxAmountWithoutDeferredTaxAndWithoutGovernamentalTaxRate({ taxBase, taxRate, taxRateReduction }) {
65
+ const effectiveTaxRate = this.effectiveTaxRateCalculator.calculateEffectiveTaxRateWithoutGovernamentalTaxRateReduction({
66
+ taxRate,
67
+ taxRateReduction
68
+ });
69
+ const taxAmount = new BigNumber(taxBase)
70
+ .multipliedBy(effectiveTaxRate)
71
+ .dividedBy(100);
72
+ return this.taxStore.getArredondamentoAbnt()
73
+ ? this.taxRoundingService.halfEven(taxAmount)
74
+ : this.taxRoundingService.halfUp(taxAmount.toNumber());
75
+ }
76
+ };
77
+ TaxAmountCalculator.ctorParameters = () => [
78
+ { type: EffectiveTaxRateCalculator },
79
+ { type: TaxRoundingService },
80
+ { type: TaxStore }
81
+ ];
82
+ TaxAmountCalculator.ɵprov = i0.ɵɵdefineInjectable({ factory: function TaxAmountCalculator_Factory() { return new TaxAmountCalculator(i0.ɵɵinject(i1.EffectiveTaxRateCalculator), i0.ɵɵinject(i2.TaxRoundingService), i0.ɵɵinject(i3.TaxStore)); }, token: TaxAmountCalculator, providedIn: "root" });
83
+ TaxAmountCalculator = __decorate([
84
+ Injectable({ providedIn: 'root' })
85
+ ], TaxAmountCalculator);
86
+ export { TaxAmountCalculator };
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LWFtb3VudC1jYWxjdWxhdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tZW1wcmVzYXJpYWwvZXJweC1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90cmlidXRvcy9jYWxjdWxhdG9ycy90YXgtYW1vdW50LWNhbGN1bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxTQUFTLE1BQU0sY0FBYyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFHL0MsSUFBYSxtQkFBbUIsR0FBaEMsTUFBYSxtQkFBbUI7SUFDNUIsWUFDcUIsMEJBQXNELEVBQ3RELGtCQUFzQyxFQUN0QyxRQUFrQjtRQUZsQiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBQ3RELHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUNwQyxDQUFDO0lBRUo7Ozs7Ozs7T0FPRztJQUNILGtCQUFrQixDQUFDLEVBQ2YsV0FBVyxFQUNYLE9BQU8sRUFJVjtRQUNHLE1BQU0sU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDLFdBQVcsQ0FBQzthQUN2QyxZQUFZLENBQUMsT0FBTyxDQUFDO2FBQ3JCLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVwQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLEVBQUU7WUFDeEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO1lBQzdDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILGlDQUFpQyxDQUFDLEVBQzlCLFdBQVcsRUFDWCxPQUFPLEVBQ1AsaUJBQWlCLEVBS3BCO1FBQ0csTUFBTSxTQUFTLEdBQUcsSUFBSSxTQUFTLENBQUMsV0FBVyxDQUFDO2FBQ3ZDLFlBQVksQ0FBQyxPQUFPLENBQUM7YUFDckIsU0FBUyxDQUFDLEdBQUcsQ0FBQzthQUNkLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTlCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRTtZQUN4QyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7WUFDN0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILGtFQUFrRSxDQUFDLEVBQy9ELE9BQU8sRUFDUCxPQUFPLEVBQ1AsZ0JBQWdCLEVBS25CO1FBQ0csTUFBTSxnQkFBZ0IsR0FDbEIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLDZEQUE2RCxDQUN6RjtZQUNJLE9BQU87WUFDUCxnQkFBZ0I7U0FDbkIsQ0FDSixDQUFDO1FBRU4sTUFBTSxTQUFTLEdBQUcsSUFBSSxTQUFTLENBQUMsT0FBTyxDQUFDO2FBQ25DLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQzthQUM5QixTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFcEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLHFCQUFxQixFQUFFO1lBQ3hDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztZQUM3QyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDO0NBQ0osQ0FBQTs7WUEvRm9ELDBCQUEwQjtZQUNsQyxrQkFBa0I7WUFDNUIsUUFBUTs7O0FBSjlCLG1CQUFtQjtJQUQvQixVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7R0FDdEIsbUJBQW1CLENBaUcvQjtTQWpHWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcclxuaW1wb3J0IHsgRWZmZWN0aXZlVGF4UmF0ZUNhbGN1bGF0b3IgfSBmcm9tICcuL2VmZmVjdGl2ZS10YXgtcmF0ZS1jYWxjdWxhdG9yJztcclxuaW1wb3J0IHsgVGF4Um91bmRpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGF4LXJvdW5kaW5nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUYXhTdG9yZSB9IGZyb20gJy4uL3N0b3Jlcy90YXguc3RvcmUnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFRheEFtb3VudENhbGN1bGF0b3Ige1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBlZmZlY3RpdmVUYXhSYXRlQ2FsY3VsYXRvcjogRWZmZWN0aXZlVGF4UmF0ZUNhbGN1bGF0b3IsXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0YXhSb3VuZGluZ1NlcnZpY2U6IFRheFJvdW5kaW5nU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRheFN0b3JlOiBUYXhTdG9yZVxyXG4gICAgKSB7fVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgdGF4IGFtb3VudCBiYXNlZCBvbiBhIHRheGFibGUgYmFzZSBhbmQgYSB0YXggcmF0ZS5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gcGFyYW1zIC0gQW4gb2JqZWN0IGNvbnRhaW5pbmc6XHJcbiAgICAgKiAgIEBwYXJhbSBwYXJhbXMudGF4YWJsZUJhc2UgLSBUaGUgYmFzZSBhbW91bnQgb24gd2hpY2ggdGhlIHRheCBpcyBjYWxjdWxhdGVkIChhcyBhIEJpZ051bWJlcikuXHJcbiAgICAgKiAgIEBwYXJhbSBwYXJhbXMudGF4UmF0ZSAtIFRoZSB0YXggcmF0ZSB0byBhcHBseSAoYXMgYSBCaWdOdW1iZXIsIHJlcHJlc2VudGluZyBhIHBlcmNlbnRhZ2UpLlxyXG4gICAgICogQHJldHVybnMgVGhlIGNhbGN1bGF0ZWQgdGF4IGFtb3VudCBhcyBhIEJpZ051bWJlci5cclxuICAgICAqL1xyXG4gICAgY2FsY3VsYXRlVGF4QW1vdW50KHtcclxuICAgICAgICB0YXhhYmxlQmFzZSxcclxuICAgICAgICB0YXhSYXRlXHJcbiAgICB9OiB7XHJcbiAgICAgICAgdGF4YWJsZUJhc2U6IEJpZ051bWJlcjtcclxuICAgICAgICB0YXhSYXRlOiBCaWdOdW1iZXI7XHJcbiAgICB9KTogQmlnTnVtYmVyIHtcclxuICAgICAgICBjb25zdCB0YXhBbW91bnQgPSBuZXcgQmlnTnVtYmVyKHRheGFibGVCYXNlKVxyXG4gICAgICAgICAgICAubXVsdGlwbGllZEJ5KHRheFJhdGUpXHJcbiAgICAgICAgICAgIC5kaXZpZGVkQnkoMTAwKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMudGF4U3RvcmUuZ2V0QXJyZWRvbmRhbWVudG9BYm50KClcclxuICAgICAgICAgICAgPyB0aGlzLnRheFJvdW5kaW5nU2VydmljZS5oYWxmRXZlbih0YXhBbW91bnQpXHJcbiAgICAgICAgICAgIDogdGhpcy50YXhSb3VuZGluZ1NlcnZpY2UuaGFsZlVwKHRheEFtb3VudC50b051bWJlcigpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENhbGN1bGF0ZXMgdGhlIHRheCBhbW91bnQgY29uc2lkZXJpbmcgYSBkZWZlcnJlZCB0YXggdmFsdWUuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgY2FsY3VsYXRpb24uXHJcbiAgICAgKiBAcGFyYW0gcGFyYW1zLnRheGFibGVCYXNlIC0gVGhlIGJhc2UgYW1vdW50IG9uIHdoaWNoIHRheCBpcyBjYWxjdWxhdGVkLlxyXG4gICAgICogQHBhcmFtIHBhcmFtcy50YXhSYXRlIC0gVGhlIHRheCByYXRlIGFzIGEgcGVyY2VudGFnZS5cclxuICAgICAqIEBwYXJhbSBwYXJhbXMuZGVmZXJyZWRUYXhBbW91bnQgLSBUaGUgYW1vdW50IG9mIHRheCB0aGF0IGlzIGRlZmVycmVkIGFuZCBzaG91bGQgYmUgc3VidHJhY3RlZCBmcm9tIHRoZSByZXN1bHQuXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgY2FsY3VsYXRlZCB0YXggYW1vdW50IGFmdGVyIHN1YnRyYWN0aW5nIHRoZSBkZWZlcnJlZCB0YXguXHJcbiAgICAgKi9cclxuICAgIGNhbGN1bGF0ZVRheEFtb3VudFdpdGhEZWZlcnJlZFRheCh7XHJcbiAgICAgICAgdGF4YWJsZUJhc2UsXHJcbiAgICAgICAgdGF4UmF0ZSxcclxuICAgICAgICBkZWZlcnJlZFRheEFtb3VudFxyXG4gICAgfToge1xyXG4gICAgICAgIHRheGFibGVCYXNlOiBCaWdOdW1iZXI7XHJcbiAgICAgICAgdGF4UmF0ZTogQmlnTnVtYmVyO1xyXG4gICAgICAgIGRlZmVycmVkVGF4QW1vdW50OiBCaWdOdW1iZXI7XHJcbiAgICB9KTogQmlnTnVtYmVyIHtcclxuICAgICAgICBjb25zdCB0YXhBbW91bnQgPSBuZXcgQmlnTnVtYmVyKHRheGFibGVCYXNlKVxyXG4gICAgICAgICAgICAubXVsdGlwbGllZEJ5KHRheFJhdGUpXHJcbiAgICAgICAgICAgIC5kaXZpZGVkQnkoMTAwKVxyXG4gICAgICAgICAgICAubWludXMoZGVmZXJyZWRUYXhBbW91bnQpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy50YXhTdG9yZS5nZXRBcnJlZG9uZGFtZW50b0FibnQoKVxyXG4gICAgICAgICAgICA/IHRoaXMudGF4Um91bmRpbmdTZXJ2aWNlLmhhbGZFdmVuKHRheEFtb3VudClcclxuICAgICAgICAgICAgOiB0aGlzLnRheFJvdW5kaW5nU2VydmljZS5oYWxmVXAodGF4QW1vdW50LnRvTnVtYmVyKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgdGF4IGFtb3VudCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgdGF4IGJhc2UsIHRheCByYXRlLCBhbmQgdGF4IHJhdGUgcmVkdWN0aW9uLFxyXG4gICAgICogZXhjbHVkaW5nIGRlZmVycmVkIHRheCBhbmQgZ292ZXJuYW1lbnRhbCB0YXggcmF0ZSByZWR1Y3Rpb25zLlxyXG4gICAgICpcclxuICAgICAqIFRoaXMgbWV0aG9kIHVzZXMgdGhlIGVmZmVjdGl2ZSB0YXggcmF0ZSBjYWxjdWxhdGVkIHdpdGhvdXQgY29uc2lkZXJpbmcgZ292ZXJuYW1lbnRhbCB0YXggcmF0ZSByZWR1Y3Rpb25zLFxyXG4gICAgICogYW5kIGFwcGxpZXMgaXQgdG8gdGhlIHRheCBiYXNlIHRvIGRldGVybWluZSB0aGUgZmluYWwgdGF4IGFtb3VudC5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRheCBjYWxjdWxhdGlvbi5cclxuICAgICAqIEBwYXJhbSBwYXJhbXMudGF4QmFzZSAtIFRoZSBiYXNlIGFtb3VudCBvbiB3aGljaCB0aGUgdGF4IGlzIGNhbGN1bGF0ZWQuXHJcbiAgICAgKiBAcGFyYW0gcGFyYW1zLnRheFJhdGUgLSBUaGUgaW5pdGlhbCB0YXggcmF0ZSBiZWZvcmUgYW55IHJlZHVjdGlvbnMuXHJcbiAgICAgKiBAcGFyYW0gcGFyYW1zLnRheFJhdGVSZWR1Y3Rpb24gLSBUaGUgcmVkdWN0aW9uIGFwcGxpZWQgdG8gdGhlIHRheCByYXRlLlxyXG4gICAgICogQHJldHVybnMgVGhlIGNhbGN1bGF0ZWQgdGF4IGFtb3VudCBhcyBhIEJpZ051bWJlci5cclxuICAgICAqL1xyXG4gICAgY2FsY3VsYXRlVGF4QW1vdW50V2l0aG91dERlZmVycmVkVGF4QW5kV2l0aG91dEdvdmVybmFtZW50YWxUYXhSYXRlKHtcclxuICAgICAgICB0YXhCYXNlLFxyXG4gICAgICAgIHRheFJhdGUsXHJcbiAgICAgICAgdGF4UmF0ZVJlZHVjdGlvblxyXG4gICAgfToge1xyXG4gICAgICAgIHRheEJhc2U6IEJpZ051bWJlcjtcclxuICAgICAgICB0YXhSYXRlOiBCaWdOdW1iZXI7XHJcbiAgICAgICAgdGF4UmF0ZVJlZHVjdGlvbjogQmlnTnVtYmVyO1xyXG4gICAgfSk6IEJpZ051bWJlciB7XHJcbiAgICAgICAgY29uc3QgZWZmZWN0aXZlVGF4UmF0ZSA9XHJcbiAgICAgICAgICAgIHRoaXMuZWZmZWN0aXZlVGF4UmF0ZUNhbGN1bGF0b3IuY2FsY3VsYXRlRWZmZWN0aXZlVGF4UmF0ZVdpdGhvdXRHb3Zlcm5hbWVudGFsVGF4UmF0ZVJlZHVjdGlvbihcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB0YXhSYXRlLFxyXG4gICAgICAgICAgICAgICAgICAgIHRheFJhdGVSZWR1Y3Rpb25cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgY29uc3QgdGF4QW1vdW50ID0gbmV3IEJpZ051bWJlcih0YXhCYXNlKVxyXG4gICAgICAgICAgICAubXVsdGlwbGllZEJ5KGVmZmVjdGl2ZVRheFJhdGUpXHJcbiAgICAgICAgICAgIC5kaXZpZGVkQnkoMTAwKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMudGF4U3RvcmUuZ2V0QXJyZWRvbmRhbWVudG9BYm50KClcclxuICAgICAgICAgICAgPyB0aGlzLnRheFJvdW5kaW5nU2VydmljZS5oYWxmRXZlbih0YXhBbW91bnQpXHJcbiAgICAgICAgICAgIDogdGhpcy50YXhSb3VuZGluZ1NlcnZpY2UuaGFsZlVwKHRheEFtb3VudC50b051bWJlcigpKTtcclxuICAgIH1cclxufVxyXG4iXX0=