@sachahjkl/backoffice 0.2.5 → 0.2.6

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 (280) hide show
  1. package/README.md +3 -1
  2. package/bin/backoffice.mjs +2 -2
  3. package/dist/demo-reset.cjs +65895 -0
  4. package/dist/main.cjs +71 -39
  5. package/dist/migrate.cjs +17 -3
  6. package/dist/web/{chunk-Bans5XmP2.js → chunk--RuvStn6.js} +1 -1
  7. package/dist/web/{chunk-BidSGJER.js → chunk-4ipZT9nT.js} +1 -1
  8. package/dist/web/chunk-6jIo5mZ42.js +1 -0
  9. package/dist/web/{chunk-D0WfOSVe.js → chunk-9X4vLcFh.js} +1 -1
  10. package/dist/web/chunk-9d_UD-MQ.js +1 -0
  11. package/dist/web/{chunk-CuukTiS1.js → chunk-AJOoJgZJ.js} +1 -1
  12. package/dist/web/{chunk-2sHWWuzv2.js → chunk-B0bNirg2.js} +1 -1
  13. package/dist/web/chunk-B3OxeBLO2.js +1 -0
  14. package/dist/web/chunk-B5xzAYYx2.js +1 -0
  15. package/dist/web/{chunk-BQRlJCOd.js → chunk-B6Rml85x2.js} +1 -1
  16. package/dist/web/chunk-B8_dFe5w.js +1 -0
  17. package/dist/web/chunk-B91VAo1J.js +1 -0
  18. package/dist/web/chunk-B9NV1rY62.js +1 -0
  19. package/dist/web/chunk-BAn0tBhX.js +1 -0
  20. package/dist/web/chunk-BGVaNZdj.js +1 -0
  21. package/dist/web/chunk-BHDXYrox.js +1 -0
  22. package/dist/web/chunk-BI9lIdFn.js +1 -0
  23. package/dist/web/{chunk-CYB9QO85.js → chunk-BKufCOYq.js} +1 -1
  24. package/dist/web/chunk-BNksdK_D2.js +1 -0
  25. package/dist/web/chunk-BQ7WWH4L.js +1 -0
  26. package/dist/web/chunk-BQrmVphu2.js +1 -0
  27. package/dist/web/chunk-BR0demlX.js +1 -0
  28. package/dist/web/chunk-BT8KtCYG.js +1 -0
  29. package/dist/web/{chunk-Bm0a1bep.js → chunk-BVszSMJC.js} +1 -1
  30. package/dist/web/{chunk-CJDa7FT62.js → chunk-BYjxXKZ4.js} +1 -1
  31. package/dist/web/chunk-BZZJ287h.js +1 -0
  32. package/dist/web/chunk-Bb31fHqC2.js +1 -0
  33. package/dist/web/chunk-BcUjdID-.js +1 -0
  34. package/dist/web/{chunk-BzOWqX4m2.js → chunk-Bck0-DJt2.js} +1 -1
  35. package/dist/web/chunk-Bf3eV_su2.js +1 -0
  36. package/dist/web/chunk-BfSewUhY.js +1 -0
  37. package/dist/web/{chunk-osh5v_OU2.js → chunk-Bfx7EEIR.js} +1 -1
  38. package/dist/web/chunk-Bi4Jixry2.js +1 -0
  39. package/dist/web/chunk-BiECfDS7.js +1 -0
  40. package/dist/web/{chunk-CGgGK0-O2.js → chunk-Bj7Oze2U2.js} +1 -1
  41. package/dist/web/{chunk-BYalGDdQ.js → chunk-Bjo6eVnk.js} +1 -1
  42. package/dist/web/{chunk-BbKL19W02.js → chunk-BkvskoFt2.js} +1 -1
  43. package/dist/web/chunk-Bn46cQyx.js +1 -0
  44. package/dist/web/chunk-Bn6RkvPA2.js +1 -0
  45. package/dist/web/{chunk-B08xNtqD2.js → chunk-BpZ7MSOP.js} +1 -1
  46. package/dist/web/{chunk-DCE1ImZZ2.js → chunk-Bq2zV2_3.js} +1 -1
  47. package/dist/web/chunk-By2EFyNM.js +1 -0
  48. package/dist/web/{chunk-DQwyRMR6.js → chunk-C-O6GrQC2.js} +1 -1
  49. package/dist/web/{chunk-CtR8WyO5.js → chunk-C0Ceu-vg.js} +1 -1
  50. package/dist/web/chunk-C0gTeWW62.js +1 -0
  51. package/dist/web/{chunk-ClevJX5T2.js → chunk-C19Alcnx2.js} +1 -1
  52. package/dist/web/{chunk-BKWyrwrz.js → chunk-CABvk97t2.js} +1 -1
  53. package/dist/web/chunk-CApvwK4D.js +1 -0
  54. package/dist/web/chunk-CCkaRRSy.js +1 -0
  55. package/dist/web/chunk-CCqlW8pS2.js +3 -0
  56. package/dist/web/chunk-CCr_R2Cg.js +1 -0
  57. package/dist/web/chunk-CDK48Khc.js +1 -0
  58. package/dist/web/chunk-CDS6LjBz2.js +1 -0
  59. package/dist/web/chunk-CE9WzUCM.js +1 -0
  60. package/dist/web/chunk-CEJjSd8-2.js +1 -0
  61. package/dist/web/{chunk-Ce_TeGo52.js → chunk-CG4Kbo1n2.js} +1 -1
  62. package/dist/web/chunk-CGfyD3XX2.js +1 -0
  63. package/dist/web/chunk-CK6Sjqig.js +1 -0
  64. package/dist/web/chunk-CKFB1V-p2.js +1 -0
  65. package/dist/web/chunk-CL02A9wI.js +1 -0
  66. package/dist/web/{chunk-CrhlmMPy2.js → chunk-CLHj5Ycx2.js} +1 -1
  67. package/dist/web/chunk-CLZ5xsSQ2.js +1 -0
  68. package/dist/web/{chunk-JUTCkl5C2.js → chunk-CMvRZBpn.js} +1 -1
  69. package/dist/web/chunk-CNfmNEak.js +1 -0
  70. package/dist/web/chunk-COTrF1xY2.js +1 -0
  71. package/dist/web/{chunk-CC05ZHq-.js → chunk-COXN76fu2.js} +1 -1
  72. package/dist/web/{chunk-BkKRFLuX2.js → chunk-CPHUl7N2.js} +1 -1
  73. package/dist/web/chunk-CUqj_Bxs2.js +1 -0
  74. package/dist/web/{chunk-C2gUrdSR2.js → chunk-CVHqiS63.js} +1 -1
  75. package/dist/web/chunk-CV_fLVFT.js +1 -0
  76. package/dist/web/{chunk-CJKvPHwX.js → chunk-CYGyIy7J.js} +1 -1
  77. package/dist/web/chunk-CYRUKYKv2.js +1 -0
  78. package/dist/web/{chunk-xlLlHW0G2.js → chunk-C_QyIKvy.js} +1 -1
  79. package/dist/web/chunk-Ca3lwqEF.js +1 -0
  80. package/dist/web/chunk-CaJrmM9V.js +1 -0
  81. package/dist/web/{chunk-Ok502fV82.js → chunk-CfcCxe_k.js} +1 -1
  82. package/dist/web/chunk-Ck6cItVE2.js +2 -0
  83. package/dist/web/{chunk-S5Gmkpdy2.js → chunk-CkWd-yMn.js} +1 -1
  84. package/dist/web/{chunk-C7DvmZKC.js → chunk-CmokTGIG.js} +1 -1
  85. package/dist/web/chunk-CpXqQPuw.js +1 -0
  86. package/dist/web/{chunk-Dyia17vy.js → chunk-CtmP6l7_2.js} +1 -1
  87. package/dist/web/chunk-CubfQf-X2.js +1 -0
  88. package/dist/web/chunk-CuepVIkm2.js +1 -0
  89. package/dist/web/chunk-CvMAjyvr2.js +1 -0
  90. package/dist/web/chunk-CvsVlcIU2.js +1 -0
  91. package/dist/web/chunk-CwzCbuXH.js +1 -0
  92. package/dist/web/{chunk-BxQ7up-t.js → chunk-Cx07K71K.js} +1 -1
  93. package/dist/web/chunk-D-VHaopx.js +1 -0
  94. package/dist/web/chunk-D1DvlGbP.js +1 -0
  95. package/dist/web/{chunk-CfAqWkFp.js → chunk-D1wrPwB5.js} +1 -1
  96. package/dist/web/{chunk-BbWEBemE.js → chunk-D3XjW5Cm.js} +1 -1
  97. package/dist/web/{chunk-DRgIjFR6.js → chunk-D5MFwK9L.js} +1 -1
  98. package/dist/web/{chunk-CjtJKrza.js → chunk-D5qmP2Wu.js} +2 -2
  99. package/dist/web/{chunk-BbbRo5jM2.js → chunk-D6k6pmdU.js} +1 -1
  100. package/dist/web/chunk-D8kEdb5y2.js +1 -0
  101. package/dist/web/chunk-D8t0s8LD.js +1 -0
  102. package/dist/web/{chunk-Z9CNux5n2.js → chunk-D8xHm8jb2.js} +1 -1
  103. package/dist/web/{chunk-BMYHfrEK.js → chunk-D97UUzIx.js} +1 -1
  104. package/dist/web/chunk-DB6sOjsn2.js +1 -0
  105. package/dist/web/{chunk-D4J7xo6v.js → chunk-DDCyjjcE.js} +1 -1
  106. package/dist/web/chunk-DEXzwHB0.js +1 -0
  107. package/dist/web/{chunk-DODMV1QO.js → chunk-DGbo0App2.js} +1 -1
  108. package/dist/web/chunk-DIBFSF2Z.js +1 -0
  109. package/dist/web/{chunk-bP01prsY.js → chunk-DIJSXeQC2.js} +1 -1
  110. package/dist/web/{chunk-CvjKWUFl.js → chunk-DKlxu0GP2.js} +1 -1
  111. package/dist/web/{chunk-BtRCqgfa.js → chunk-DM4Wc9U7.js} +1 -1
  112. package/dist/web/{chunk-DUJbqlfC.js → chunk-DM5aibnW.js} +1 -1
  113. package/dist/web/chunk-DMXgU6Nc2.js +1 -0
  114. package/dist/web/chunk-DMskLhpk2.js +1 -0
  115. package/dist/web/{chunk-HhmMH02E.js → chunk-DOCau85G2.js} +1 -1
  116. package/dist/web/{chunk-B86wqImw.js → chunk-DOinRyX_2.js} +1 -1
  117. package/dist/web/chunk-DQp-2GVv.js +1 -0
  118. package/dist/web/chunk-DQr_9Q6T.js +1 -0
  119. package/dist/web/chunk-DSpA-ZPx.js +1 -0
  120. package/dist/web/chunk-DTPC4JtI2.js +1 -0
  121. package/dist/web/chunk-DURq7J8U2.js +1 -0
  122. package/dist/web/chunk-DVJ4YZuU.js +1 -0
  123. package/dist/web/chunk-DVyDnsGh.js +1 -0
  124. package/dist/web/{chunk-oS95kAu6.js → chunk-DXvlXoVT2.js} +1 -1
  125. package/dist/web/{chunk-CHUMIo442.js → chunk-DZgMGE6C.js} +1 -1
  126. package/dist/web/{chunk-BK0Mi7Tk.js → chunk-DZgf7AIe.js} +1 -1
  127. package/dist/web/{chunk-CBXOl0VL.js → chunk-D_8jIApo.js} +1 -1
  128. package/dist/web/chunk-D_vyhgGx.js +1 -0
  129. package/dist/web/chunk-Db2zQ-8C.js +1 -0
  130. package/dist/web/{chunk-BEAkjhZc2.js → chunk-DboSVJMM.js} +1 -1
  131. package/dist/web/chunk-DdOc1fs-.js +1 -0
  132. package/dist/web/chunk-DddDKWSn2.js +1 -0
  133. package/dist/web/{chunk-DAdKllIN.js → chunk-DerJPaBw.js} +1 -1
  134. package/dist/web/chunk-Dh86w63y.js +1 -0
  135. package/dist/web/{chunk-DXsw8_Za2.js → chunk-DhLlQTD-2.js} +1 -1
  136. package/dist/web/{chunk-9qDelKdu.js → chunk-DhkjPUn4.js} +1 -1
  137. package/dist/web/{chunk-BAKoExNF.js → chunk-Di9FA_QV.js} +1 -1
  138. package/dist/web/chunk-DjwvqY3z2.js +1 -0
  139. package/dist/web/{chunk-CH-_LXUF.js → chunk-Dl4EbYnM2.js} +1 -1
  140. package/dist/web/chunk-Dl4V93zm2.js +1 -0
  141. package/dist/web/{chunk-CsiZwjWr2.js → chunk-Dns8uMf32.js} +1 -1
  142. package/dist/web/chunk-Dnzjseqf2.js +1 -0
  143. package/dist/web/chunk-DpI44v1z.js +1 -0
  144. package/dist/web/{chunk-BqIPzI6E2.js → chunk-DpLF2wJ62.js} +1 -1
  145. package/dist/web/chunk-Dqhs2Pyw2.js +1 -0
  146. package/dist/web/{chunk-BWNhkOOr.js → chunk-DsaNNeZe.js} +1 -1
  147. package/dist/web/{chunk-GjZTRlHL.js → chunk-DubWLqvO.js} +1 -1
  148. package/dist/web/{chunk-DibPYvNu.js → chunk-Fc120Hsi2.js} +1 -1
  149. package/dist/web/{chunk-B23x0ZHj2.js → chunk-HmRGBt692.js} +1 -1
  150. package/dist/web/chunk-IlM3eTPp2.js +1 -0
  151. package/dist/web/chunk-IzGdqlW82.js +1 -0
  152. package/dist/web/{chunk-u_CBgBep.js → chunk-MpUdRrak2.js} +1 -1
  153. package/dist/web/{chunk-BlE9HnAo.js → chunk-NDpjbcAr2.js} +1 -1
  154. package/dist/web/chunk-P1du2kWg2.js +1 -0
  155. package/dist/web/{chunk-BCemdpJW.js → chunk-POMKwNf_.js} +1 -1
  156. package/dist/web/chunk-PqGGk0JD.js +1 -0
  157. package/dist/web/{chunk-BG9HC5MH2.js → chunk-RIi7_iVg.js} +1 -1
  158. package/dist/web/chunk-SZJG1lFa2.js +1 -0
  159. package/dist/web/{chunk-jEvWOBug.js → chunk-WNYFaDlu2.js} +1 -1
  160. package/dist/web/{chunk-Cx_tkq5a.js → chunk-XtjMOmku2.js} +1 -1
  161. package/dist/web/chunk-XvyWOb2Q.js +1 -0
  162. package/dist/web/{chunk-BPI0E5qw.js → chunk-ZcJhJsoo.js} +1 -1
  163. package/dist/web/{chunk-Dk7Fe34Y.js → chunk-aW8Vltn22.js} +1 -1
  164. package/dist/web/chunk-a_Va_Nj7.js +1 -0
  165. package/dist/web/{chunk-D83vXRZS2.js → chunk-enci06qG.js} +1 -1
  166. package/dist/web/chunk-fYJ7OBkh.js +1 -0
  167. package/dist/web/{chunk-THRzZN4s.js → chunk-k6TIcaIA.js} +1 -1
  168. package/dist/web/{chunk-BsXdvb75.js → chunk-nC_XlFOG.js} +1 -1
  169. package/dist/web/{chunk-DzxhjLIR.js → chunk-niXXbm7H.js} +1 -1
  170. package/dist/web/chunk-owvOEsA9.js +1 -0
  171. package/dist/web/{chunk-D8ywkT0Z2.js → chunk-pV57uiBu2.js} +1 -1
  172. package/dist/web/{chunk-CdEOFR_J.js → chunk-qKosqkwC.js} +1 -1
  173. package/dist/web/{chunk-BMsK7VjB2.js → chunk-r6H-BfOd.js} +1 -1
  174. package/dist/web/chunk-tDREPM-0.js +1 -0
  175. package/dist/web/{chunk-78yNgJiB.js → chunk-xTX16tt2.js} +1 -1
  176. package/dist/web/chunk-y0Vyi0HZ.js +1 -0
  177. package/dist/web/chunk-yfBrkklv.js +1 -0
  178. package/dist/web/index.csr.html +1 -1
  179. package/dist/web/{main-AJD2LGCE.js → main-F7D3L737.js} +4 -4
  180. package/package.json +1 -1
  181. package/dist/web/chunk-0C-62od6.js +0 -1
  182. package/dist/web/chunk-B1Kpw1um2.js +0 -1
  183. package/dist/web/chunk-B43WHzJp.js +0 -1
  184. package/dist/web/chunk-B6BtInzP2.js +0 -1
  185. package/dist/web/chunk-BAjZiy9u2.js +0 -1
  186. package/dist/web/chunk-BE8oALxd.js +0 -1
  187. package/dist/web/chunk-BIydbtyu.js +0 -1
  188. package/dist/web/chunk-BMU6gPN0.js +0 -1
  189. package/dist/web/chunk-BRUZgvLR2.js +0 -1
  190. package/dist/web/chunk-BSxXPdhz2.js +0 -1
  191. package/dist/web/chunk-BTDByxsO2.js +0 -1
  192. package/dist/web/chunk-BUnVNwR0.js +0 -1
  193. package/dist/web/chunk-BV-2_l7u2.js +0 -1
  194. package/dist/web/chunk-B_pX979y.js +0 -1
  195. package/dist/web/chunk-Ba4cFLiE2.js +0 -1
  196. package/dist/web/chunk-BaLdnNAA.js +0 -1
  197. package/dist/web/chunk-BhCP8fQA.js +0 -1
  198. package/dist/web/chunk-BhwbhxlY2.js +0 -1
  199. package/dist/web/chunk-Bjio-Q3F.js +0 -1
  200. package/dist/web/chunk-BjiyoDeK2.js +0 -1
  201. package/dist/web/chunk-BnPSwNBN.js +0 -1
  202. package/dist/web/chunk-BqbhE2jJ.js +0 -1
  203. package/dist/web/chunk-BrRhr7VS.js +0 -1
  204. package/dist/web/chunk-Bt1ivJuj2.js +0 -1
  205. package/dist/web/chunk-BtH61zrc.js +0 -1
  206. package/dist/web/chunk-BuKqE_YG2.js +0 -1
  207. package/dist/web/chunk-ByBw4qTD.js +0 -1
  208. package/dist/web/chunk-ByfP_6io2.js +0 -1
  209. package/dist/web/chunk-Bylz8GTy2.js +0 -1
  210. package/dist/web/chunk-C1jIGjiG.js +0 -1
  211. package/dist/web/chunk-C2WwmFiS.js +0 -1
  212. package/dist/web/chunk-C3v6o8sk.js +0 -1
  213. package/dist/web/chunk-C7TzEeP_2.js +0 -1
  214. package/dist/web/chunk-C8AJBuJL2.js +0 -1
  215. package/dist/web/chunk-C9_g77K0.js +0 -1
  216. package/dist/web/chunk-CAr--Z8G2.js +0 -1
  217. package/dist/web/chunk-CIIIDIUz.js +0 -1
  218. package/dist/web/chunk-CUvLKCob2.js +0 -1
  219. package/dist/web/chunk-CV-g60E82.js +0 -1
  220. package/dist/web/chunk-CV1Zh4JH.js +0 -1
  221. package/dist/web/chunk-CVZQi-q62.js +0 -1
  222. package/dist/web/chunk-CY4lfBdp2.js +0 -1
  223. package/dist/web/chunk-Cc534gtY.js +0 -1
  224. package/dist/web/chunk-CcvGqiZH.js +0 -1
  225. package/dist/web/chunk-CdDlz5SQ2.js +0 -1
  226. package/dist/web/chunk-CdeX3SOP.js +0 -1
  227. package/dist/web/chunk-CgThkMbX2.js +0 -1
  228. package/dist/web/chunk-Chasvinb.js +0 -1
  229. package/dist/web/chunk-CihZnkoG2.js +0 -1
  230. package/dist/web/chunk-ClYiqUra.js +0 -1
  231. package/dist/web/chunk-CmhHSFX72.js +0 -1
  232. package/dist/web/chunk-CsdHWYnL.js +0 -1
  233. package/dist/web/chunk-CuQMh9Mm2.js +0 -1
  234. package/dist/web/chunk-D2Albj_1.js +0 -1
  235. package/dist/web/chunk-D2P8u0ih2.js +0 -1
  236. package/dist/web/chunk-D2reBpeg2.js +0 -1
  237. package/dist/web/chunk-D6HQPG4L.js +0 -1
  238. package/dist/web/chunk-DFQAtlu22.js +0 -1
  239. package/dist/web/chunk-DIyfCN-v.js +0 -1
  240. package/dist/web/chunk-DK0GFIMr.js +0 -1
  241. package/dist/web/chunk-DMlYYeVV2.js +0 -3
  242. package/dist/web/chunk-DS8Gi0yV2.js +0 -1
  243. package/dist/web/chunk-DSIpVKzQ.js +0 -1
  244. package/dist/web/chunk-DT9HaYIg.js +0 -1
  245. package/dist/web/chunk-DU2qw7-O.js +0 -1
  246. package/dist/web/chunk-DZX7bq5d.js +0 -1
  247. package/dist/web/chunk-DiSSXeWw2.js +0 -1
  248. package/dist/web/chunk-DjQuCwaE.js +0 -1
  249. package/dist/web/chunk-DmBRHpbi2.js +0 -1
  250. package/dist/web/chunk-DpbG_pUL.js +0 -1
  251. package/dist/web/chunk-DqoyE916.js +0 -1
  252. package/dist/web/chunk-DsZGgyjH2.js +0 -1
  253. package/dist/web/chunk-DsbC92Ad2.js +0 -1
  254. package/dist/web/chunk-DuQk8dor2.js +0 -1
  255. package/dist/web/chunk-DxjwnDdp.js +0 -1
  256. package/dist/web/chunk-DyaBJhQt2.js +0 -1
  257. package/dist/web/chunk-H2FHxG4A.js +0 -1
  258. package/dist/web/chunk-KV_4fJOq.js +0 -2
  259. package/dist/web/chunk-NyAoR3GT.js +0 -1
  260. package/dist/web/chunk-Qhc5gzMT.js +0 -1
  261. package/dist/web/chunk-RRqL4AoW2.js +0 -1
  262. package/dist/web/chunk-THDcl3GX2.js +0 -1
  263. package/dist/web/chunk-TRzqZ7nT.js +0 -1
  264. package/dist/web/chunk-VKqyG94L.js +0 -1
  265. package/dist/web/chunk-cxgj3JaU2.js +0 -1
  266. package/dist/web/chunk-dClaCeUx.js +0 -1
  267. package/dist/web/chunk-kb-UZrxn2.js +0 -1
  268. package/dist/web/chunk-mI1TUlml.js +0 -1
  269. package/dist/web/chunk-tiVwZKxb.js +0 -1
  270. package/dist/web/chunk-uYhVCHeh2.js +0 -1
  271. package/dist/web/chunk-ynjMwOUq.js +0 -1
  272. package/dist/web/chunk-z-mghjkB.js +0 -1
  273. /package/dist/web/{chunk-BUoX0svL2.js → chunk-BUoX0svL.js} +0 -0
  274. /package/dist/web/{chunk-Bsy3r41y.js → chunk-Bsy3r41y2.js} +0 -0
  275. /package/dist/web/{chunk-CARNiCDb.js → chunk-CARNiCDb2.js} +0 -0
  276. /package/dist/web/{chunk-CGo7Fepz2.js → chunk-CGo7Fepz.js} +0 -0
  277. /package/dist/web/{chunk-CXHCUTDs2.js → chunk-CXHCUTDs.js} +0 -0
  278. /package/dist/web/{chunk-CtcsJTAS.js → chunk-CtcsJTAS2.js} +0 -0
  279. /package/dist/web/{chunk-WJWN7A_V.js → chunk-WJWN7A_V2.js} +0 -0
  280. /package/dist/web/{chunk-cTGENC4T.js → chunk-cTGENC4T2.js} +0 -0
@@ -0,0 +1 @@
1
+ import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,Gn as k_,Ir as wp,It as Us,Jr as zS,K as Ke,Nr as vd,Rn as jS,Tn as fd,Wn as kS,Wr as y_,X as LS,dr as pe$1,ft as Ol,l as A_,lt as OS,pr as qS,qn as ky,rr as nv,ut as O_,vt as Py,w as Fb,z as Ip}from"./chunk-BAHiFuUo.js";import{h as Ne,m as Ie,r as N,v as Dt}from"./main-F7D3L737.js";import"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import"./chunk-D5qmP2Wu.js";import{t as Ft$1}from"./chunk-DjewtV43.js";import"./chunk-BzUDWIzm.js";import"./chunk-CczD0yXn.js";import"./chunk-CReShp-B.js";import"./chunk-DsaNNeZe.js";import"./chunk-AJOoJgZJ.js";import{t as u}from"./chunk-Bfx7EEIR.js";import{t as c}from"./chunk-enci06qG.js";import"./chunk-CSkyOfSg.js";import{t as g$1}from"./chunk-B56nz2lI.js";import{t as k}from"./chunk-D5MFwK9L.js";import"./chunk-CXHCUTDs.js";import{n as m,t as d}from"./chunk-cTGENC4T2.js";import"./chunk-ZBDWcE362.js";import"./chunk-CP-AnFGa2.js";import"./chunk-scbWWgLx2.js";import{t as R}from"./chunk-NDpjbcAr2.js";import{t as l}from"./chunk-Dl4EbYnM2.js";import"./chunk-Bsy3r41y2.js";import"./chunk-DB6sOjsn2.js";import"./chunk-CABvk97t2.js";import{n as B,t as $}from"./chunk-CCqlW8pS2.js";import"./chunk-qKosqkwC.js";import{d as V,m as h,s as P}from"./chunk-B6Rml85x2.js";import{c as W,i as K,l as q,n as C,o as N$1,r as F,u as w}from"./chunk-CEJjSd8-2.js";import{n as Z,t as P$1}from"./chunk-B3OxeBLO2.js";import{t as d$1}from"./chunk-Bj7Oze2U2.js";var se=()=>({credit:`with`});var ce=s=>({count:s});var le=s=>[`/invoices`,s];var de=(s,n)=>n.item.id;function pe(s,n){if(s&1&&(Us(0,`p`,7),y_(1),fd()),s&2){let e=qS();ZC(),nv(e.i18n.t(`backOffice.invoices.loading`))}}function me(s,n){if(s&1){let e=zS();Us(0,`p`,8),y_(1),fd(),Us(2,`button`,9),Gy(`click`,function(){Ip(e);return wp(qS().load())}),y_(3),fd()}if(s&2){let e=qS();ZC(),nv(e.i18n.t(`billingWorkspace.loadError`)),ZC(2),nv(e.i18n.t(`listControls.reload`))}}function ue(s,n){if(s&1){let e=zS();Us(0,`p`,8),y_(1),fd(),Us(2,`button`,9),Gy(`click`,function(){Ip(e);return wp(qS().load())}),y_(3),fd()}if(s&2){let e=qS();ZC(),nv(e.i18n.t(`billingWorkspace.limitExceeded`)),ZC(2),nv(e.i18n.t(`listControls.reload`))}}function fe(s,n){if(s&1&&(Us(0,`tr`)(1,`td`)(2,`div`,15),Py(3,`app-entity-icon`,16),Us(4,`a`,17),y_(5),fd()()(),Us(6,`td`)(7,`span`,18),y_(8),fd(),Us(9,`small`)(10,`span`,18),y_(11),fd(),y_(12,` · `),Us(13,`span`,18),y_(14),fd()()(),Us(15,`td`,18),y_(16),fd(),Us(17,`td`),y_(18),fd(),Us(19,`td`),y_(20),fd(),Us(21,`td`,19),y_(22),fd()()),s&2){let e=n.$implicit,i=qS(2),r=e.item;ZC(3),Fy(`variant`,i.iconVariant(r)),ZC(),Fy(`routerLink`,k_(17,le,r.invoiceId))(`queryParams`,i.detailQuery())(`fragment`,r.id)(`appSearchHighlight`,i.matchIndices(e,`reference`)),ZC(),nv(r.reference),ZC(2),Fy(`appSearchHighlight`,i.matchIndices(e,`invoiceNumber`)),ZC(),nv(r.invoiceNumber),ZC(2),Fy(`appSearchHighlight`,i.matchIndices(e,`title`)),ZC(),nv(r.title),ZC(2),Fy(`appSearchHighlight`,i.matchIndices(e,`orderReference`)),ZC(),nv(r.orderReference),ZC(),Fy(`appSearchHighlight`,i.matchIndices(e,`clientDisplayName`)),ZC(),vd(` `,r.clientDisplayName,` `),ZC(2),nv(r.refundedOn),ZC(2),nv(i.i18n.t(i.entryStatusKey(r))),ZC(2),nv(i.money(r.amountCents))}}function ye(s,n){if(s&1&&(Us(0,`tr`)(1,`td`,20),y_(2),fd()()),s&2){let e=qS(2);ZC(2),nv(e.i18n.t(e.emptyKey()))}}function ge(s,n){if(s&1){let e=zS();Us(0,`div`,10)(1,`table`)(2,`thead`)(3,`tr`)(4,`th`,11)(5,`button`,12),Gy(`click`,function(){Ip(e);return wp(qS().sortBy(`reference`))}),fd()(),Us(6,`th`,11)(7,`button`,12),Gy(`click`,function(){Ip(e);return wp(qS().sortBy(`invoice`))}),fd()(),Us(8,`th`,11)(9,`button`,12),Gy(`click`,function(){Ip(e);return wp(qS().sortBy(`client`))}),fd()(),Us(10,`th`,11)(11,`button`,12),Gy(`click`,function(){Ip(e);return wp(qS().sortBy(`date`))}),fd()(),Us(12,`th`,11)(13,`button`,12),Gy(`click`,function(){Ip(e);return wp(qS().sortBy(`status`))}),fd()(),Us(14,`th`,13)(15,`button`,12),Gy(`click`,function(){Ip(e);return wp(qS().sortBy(`amount`))}),fd()()()(),Us(16,`tbody`),LS(17,fe,23,19,`tr`,null,de,!1,ye,3,1,`tr`),fd()()(),Us(20,`footer`,14)(21,`p`,7),y_(22),fd()()}if(s&2){let e=qS();ZC(4),ky(`aria-sort`,e.sortDirection(e.sort(),`reference`)),ZC(),Fy(`label`,e.i18n.t(`credit.reference`))(`direction`,e.sortDirection(e.sort(),`reference`)),ZC(),ky(`aria-sort`,e.sortDirection(e.sort(),`invoice`)),ZC(),Fy(`label`,e.i18n.t(`backOffice.invoices.number`))(`direction`,e.sortDirection(e.sort(),`invoice`)),ZC(),ky(`aria-sort`,e.sortDirection(e.sort(),`client`)),ZC(),Fy(`label`,e.i18n.t(`backOffice.invoices.client`))(`direction`,e.sortDirection(e.sort(),`client`)),ZC(),ky(`aria-sort`,e.sortDirection(e.sort(),`date`)),ZC(),Fy(`label`,e.i18n.t(`credit.refundedOn`))(`direction`,e.sortDirection(e.sort(),`date`)),ZC(),ky(`aria-sort`,e.sortDirection(e.sort(),`status`)),ZC(),Fy(`label`,e.i18n.t(`billingWorkspace.financialStatus`))(`direction`,e.sortDirection(e.sort(),`status`)),ZC(),ky(`aria-sort`,e.sortDirection(e.sort(),`amount`)),ZC(),Fy(`label`,e.i18n.t(`credit.amount`))(`direction`,e.sortDirection(e.sort(),`amount`)),ZC(2),jS(e.visible()),ZC(5),nv(e.i18n.plural(`entityList.refunds`,k_(20,ce,e.visible().length)))}}var oe=class s{i18n=g(Ie);api=g(R);destroyRef=g(pe$1);filters=g(P$1);detailQuery=Ft(()=>W(`refunds`,this.filters.params(),`credit`));entryStatusKey=F;emptyKey=Ft(()=>w(this.rows().length));exportEmptyKey=Ft(()=>q(this.state()));rows=Ke([]);sort=Ft(()=>K(this.filters.params(),C));sortDirection=P;matchIndices=V;searchResults=Ft$1(this.rows,Ft(()=>this.filters.fields.q().value()),{keys:[`reference`,`invoiceNumber`,`title`,`clientDisplayName`,`orderReference`],ignoreDiacritics:!0,ignoreLocation:!0,includeMatches:!0,threshold:.35});visible=Ft(()=>{let n=new Intl.Collator(this.i18n.language(),{numeric:!0,sensitivity:`base`});return this.searchResults().filter(({item:e})=>this.filters.passes(e,e.refundedOn)).toSorted((e,i)=>N$1(e.item,i.item,this.sort(),n,r=>this.i18n.t(r)))});sortBy(n){this.filters.updateSort(h(this.sort(),n))}iconVariant(n){return n.cancelledAt===null?`success`:`danger`}clients=Ft(()=>[...new Map(this.rows().map(n=>[n.clientId,n.clientDisplayName])).entries()]);state=Ke(`loading`);csvColumns=Ft(()=>[this.i18n.t(`credit.reference`),this.i18n.t(`backOffice.invoices.number`),this.i18n.t(`backOffice.invoice.title`),this.i18n.t(`backOffice.invoice.order`),this.i18n.t(`backOffice.invoices.client`),this.i18n.t(`credit.refundedOn`),this.i18n.t(`billingWorkspace.financialStatus`),`${this.i18n.t(`credit.amount`)} (EUR)`]);csvRows=Ft(()=>this.state()!==`ready`?[]:this.visible().map(({item:n})=>[n.reference,n.invoiceNumber,n.title,n.orderReference,n.clientDisplayName,n.refundedOn,this.i18n.t(F(n)),n.amountCents/100]));constructor(){Ol(()=>{this.load()})}async load(){this.state.set(`loading`),this.rows.set([]);try{let n=await this.api.refunds();if(this.destroyRef.destroyed)return;n.success?(this.rows.set(n.result),this.state.set(`ready`)):this.state.set(n.code===`invoice.workspace_limit`?`limit`:`error`)}catch{this.destroyRef.destroyed||this.state.set(`error`)}}money(n){return Ne(n,this.i18n.language(),`EUR`)}static ɵfac=function(e){return new(e||s)};static ɵcmp=Fb({type:s,selectors:[[`app-refund-list`]],hostAttrs:[1,`page-container`],features:[A_([P$1,d])],decls:18,vars:16,consts:[[`aria-labelledby`,`refunds-title`,1,`detail-page`,`wide-page`,`billing-page`],[`id`,`refunds-title`],[1,`muted`],[`pageActions`,``,`appLinkButton`,``,`icon`,`invoice`,`variant`,`primary`,`routerLink`,`/billing`,3,`queryParams`],[`appListWorkspace`,``],[3,`clients`,`disabled`,`periodLabel`],[`listActions`,``,`filename`,`refunds.csv`,3,`columns`,`rows`,`label`,`emptyHint`,`pendingHint`,`pending`],[`role`,`status`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`appButton`,``,3,`click`],[`appDataTable`,``],[`scope`,`col`],[`appTableSort`,``,3,`click`,`label`,`direction`],[`scope`,`col`,1,`amount`],[1,`list-summary`],[1,`entity-label`],[`icon`,`bank`,3,`variant`],[3,`routerLink`,`queryParams`,`fragment`,`appSearchHighlight`],[3,`appSearchHighlight`],[1,`amount`],[`colspan`,`6`]],template:function(e,i){if(e&1&&(Us(0,`section`,0)(1,`app-page-header`)(2,`h1`,1),y_(3),fd(),Us(4,`p`,2),y_(5),fd(),Us(6,`a`,3),y_(7),fd()(),Py(8,`app-billing-nav`),Us(9,`section`,4)(10,`app-billing-entry-filters`,5),Py(11,`app-table-export`,6),fd(),OS(12,pe,2,1,`p`,7)(13,me,4,2)(14,ue,4,2)(15,ge,23,22),fd(),Us(16,`p`,2),y_(17),fd()()),e&2){let r;ZC(3),nv(i.i18n.t(`backOffice.billing.title`)),ZC(2),nv(i.i18n.t(`backOffice.billing.intro`)),ZC(),Fy(`queryParams`,O_(15,se)),ZC(),nv(i.i18n.t(`billingWorkspace.chooseInvoice`)),ZC(3),Fy(`clients`,i.clients())(`disabled`,i.state()!==`ready`)(`periodLabel`,i.i18n.t(`billingWorkspace.refundPeriod`)),ZC(),Fy(`columns`,i.csvColumns())(`rows`,i.csvRows())(`label`,i.i18n.t(`listWorkspace.exportCsv`))(`emptyHint`,i.i18n.t(i.exportEmptyKey()))(`pendingHint`,i.i18n.t(`listWorkspace.exportPending`))(`pending`,i.state()===`loading`),ZC(),kS((r=i.state())===`loading`?12:r===`error`?13:r===`limit`?14:r===`ready`?15:-1),ZC(5),nv(i.i18n.t(`billingWorkspace.refundHint`))}},dependencies:[l,N,k,g$1,c,Dt,d$1,Z,u,m,B,$],styles:[`[_nghost-%COMP%]{display:block}[appListWorkspace][_ngcontent-%COMP%] > p[_ngcontent-%COMP%]{margin-block:0}header[_ngcontent-%COMP%], .actions[_ngcontent-%COMP%], .filters[_ngcontent-%COMP%], .chips[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--%NS%space-3)}header[_ngcontent-%COMP%]{justify-content:space-between;align-items:start}.billing-page[_ngcontent-%COMP%] > h1[_ngcontent-%COMP%]{font-size:var(--%NS%text-2xl);margin-block:var(--%NS%space-2)}h2[_ngcontent-%COMP%]{font-size:var(--%NS%text-xl)}.field[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-2);min-inline-size:0}.filters[_ngcontent-%COMP%]{align-items:end}.filters[_ngcontent-%COMP%] .search[_ngcontent-%COMP%]{flex:1 1 22rem}.filters[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]:not(.search){flex:1 1 10rem}.amount[_ngcontent-%COMP%]{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}td[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{display:block;color:var(--%NS%color-muted)}.muted[_ngcontent-%COMP%]{color:var(--%NS%color-muted)}.empty[_ngcontent-%COMP%], .bulk-actions[_ngcontent-%COMP%], .summary[_ngcontent-%COMP%]{padding:var(--%NS%space-4)}.task-form[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-5);inline-size:100%}.fields[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--%NS%space-4)}.field-error[_ngcontent-%COMP%]{color:var(--%NS%color-danger);font-size:var(--%NS%text-sm)}.field-error[_ngcontent-%COMP%]:empty{display:none}dl[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-3)}dl[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--%NS%space-2) var(--%NS%space-4)}dt[_ngcontent-%COMP%]{color:var(--%NS%color-muted)}dd[_ngcontent-%COMP%]{margin:0;overflow-wrap:anywhere}ol[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4)}.history-entry[_ngcontent-%COMP%]{padding:var(--%NS%space-4);overflow-wrap:anywhere}@media(max-width:40rem){.fields[_ngcontent-%COMP%]{grid-template-columns:1fr}}.entity-label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--%NS%space-2);min-inline-size:0}.entity-label[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:last-child{min-inline-size:0}`]})};export{oe as RefundList};
@@ -0,0 +1 @@
1
+ import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,Ir as wp,It as Us,Jr as zS,K as Ke,Nr as vd,Tn as fd,V as Iy,Wn as kS,Wr as y_,l as A_,lt as OS,mr as qT,pr as qS,qn as ky,rn as Zw,rr as nv,tn as ZT,vt as Py,w as Fb,z as Ip}from"./chunk-BAHiFuUo.js";import{r as N}from"./main-F7D3L737.js";import"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import"./chunk-D5qmP2Wu.js";import"./chunk-BzUDWIzm.js";import"./chunk-CReShp-B.js";import"./chunk-CfwFJLFh.js";import"./chunk-DsaNNeZe.js";import{t as l}from"./chunk-BVszSMJC.js";import{d as nr,f as or,h as yn,n as an,t as P}from"./chunk-CSkyOfSg.js";import"./chunk-B56nz2lI.js";import{t as k}from"./chunk-D5MFwK9L.js";import"./chunk-niXXbm7H.js";import"./chunk-NDpjbcAr2.js";import"./chunk-POMKwNf_.js";import{t as S}from"./chunk-aW8Vltn22.js";import"./chunk-Fc120Hsi2.js";import"./chunk-B6Rml85x2.js";import"./chunk-CEJjSd8-2.js";import{t as w}from"./chunk-Bb31fHqC2.js";import{t as S$1}from"./chunk-P1du2kWg2.js";import{t as v}from"./chunk-BGVaNZdj.js";function A(t,n){if(t&1&&(Us(0,`p`,2),y_(1),fd()),t&2){let e=qS(2);ZC(),nv(e.i18n.t(`billingWorkspace.unavailable`))}}function U(t,n){if(t&1&&Py(0,`app-document-preview`,4),t&2){let e=qS(3);Fy(`url`,n)(`title`,e.i18n.t(`backOffice.invoice.preview.frameTitle`))(`loadingLabel`,e.i18n.t(`documentPreview.loading`))(`errorLabel`,e.i18n.t(`documentPreview.error`))}}function G(t,n){if(t&1&&(Us(0,`p`,8),y_(1),fd()),t&2){let e=qS(4);ZC(),vd(` `,e.i18n.t(`billingWorkspace.confirmDocument`),` `)}}function J(t,n){if(t&1){let e=zS();Us(0,`button`,12),Gy(`click`,function(){Ip(e);return wp(qS(4).retry())}),y_(1),fd()}if(t&2){let e=qS(4);Fy(`disabled`,e.task.busy()),ZC(),vd(` `,e.i18n.t(`billingWorkspace.retrySame`),` `)}}function K(t,n){if(t&1){let e=zS();Us(0,`form`,6),Gy(`submit`,function(m){Ip(e);return wp(qS(3).save(m))}),Us(1,`label`),Py(2,`input`,7),qT(),y_(3),fd(),OS(4,G,2,1,`p`,8),Us(5,`div`,9)(6,`button`,10),y_(7),fd(),OS(8,J,2,2,`button`,11),fd()()}if(t&2){let e=qS(3);ZC(2),Fy(`formField`,e.issueForm.confirmed),ky(`aria-invalid`,e.issueForm.confirmed().touched()&&e.issueForm.confirmed().invalid()),ZT(),ZC(),vd(` `,e.i18n.t(`billingWorkspace.confirmDocument`)),ZC(),kS(e.issueForm.confirmed().touched()&&e.issueForm.confirmed().invalid()?4:-1),ZC(2),Fy(`disabled`,e.task.locked()),ZC(),vd(` `,e.i18n.t(`backOffice.invoice.issue`),` `),ZC(),kS(e.task.uncertain()?8:-1)}}function Q(t,n){if(t&1&&(OS(0,U,1,4,`app-document-preview`,4),Iy(1,K,9,7,`form`,5)),t&2){let e;kS((e=qS(2).preview())?0:-1,e),ZC(),Fy(`appCan`,`invoice.issue`)}}function R(t,n){if(t&1&&OS(0,A,2,1,`p`,2)(1,Q,2,2),t&2){let e=qS();kS(!e.eligible()&&!e.task.completed()?0:e.task.completed()?-1:1)}}function X(t,n){if(t&1){let e=zS();Us(0,`button`,13),Gy(`click`,function(){Ip(e);return wp(qS().reload())}),y_(1),fd()}if(t&2){let e=qS();Fy(`disabled`,e.task.busy()||e.task.loading()),ZC(),vd(` `,e.i18n.t(`listControls.reload`),` `)}}var $=class t{task=g(w);i18n=this.task.i18n;eligible=Ft(()=>this.task.invoice()?.status===`draft`);issueForm=nr(Ke({confirmed:!1}),n=>{an(n,()=>this.task.locked()||!this.eligible()),P(n.confirmed,({value:e})=>e()?void 0:{kind:`required`})});preview=Ft(()=>{let n=this.task.invoice();return n===void 0?void 0:`/api/invoices/${n.id}/revisions/${n.version}/preview`});attempt;save(n){n.preventDefault(),!this.task.locked()&&or(this.issueForm,{action:async()=>{let e=this.task.invoice();e?.status===`draft`&&(this.attempt={id:e.id,version:e.version},await this.retry())},onInvalid:()=>this.task.focusInvalid()})}async retry(){let n=this.attempt;n!==void 0&&await this.task.run(()=>this.task.api.issue(n.id,n.version),`backOffice.invoice.issueConfirm`,`issue`)}async reload(){this.task.uncertain()||this.task.busy()||await this.task.confirmation.request(this.i18n.t(`billingWorkspace.reloadConfirm`))&&(this.attempt=void 0,this.issueForm().reset({confirmed:!1}),await this.task.load())}canDeactivate(){return this.task.canDeactivate(this.issueForm().dirty())}static ɵfac=function(e){return new(e||t)};static ɵcmp=Fb({type:t,selectors:[[`app-invoice-issue`]],hostAttrs:[1,`page-container`],hostBindings:function(e,a){e&1&&Gy(`beforeunload`,function(y){return a.task.beforeUnload(y,a.issueForm().dirty())},Zw)},features:[A_([w])],decls:7,vars:4,consts:[[`aria-labelledby`,`issue-title`,1,`detail-page`,`form-page`],[`headingId`,`issue-title`,3,`heading`],[`appNotice`,``],[`appButton`,``,3,`disabled`],[3,`url`,`title`,`loadingLabel`,`errorLabel`],[`class`,`task-form ds-panel form-panel`,3,`submit`,4,`appCan`],[1,`task-form`,`ds-panel`,`form-panel`,3,`submit`],[`type`,`checkbox`,`aria-describedby`,`issue-confirm-error`,3,`formField`],[`id`,`issue-confirm-error`,1,`field-error`],[1,`actions`],[`appButton`,``,`variant`,`primary`,`type`,`submit`,3,`disabled`],[`appButton`,``,`type`,`button`,3,`disabled`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`],[`appButton`,``,3,`click`,`disabled`]],template:function(e,a){e&1&&(Us(0,`section`,0),Py(1,`app-invoice-task-header`,1),Us(2,`p`,2),y_(3),fd(),Py(4,`app-invoice-task-feedback`),OS(5,R,2,1),OS(6,X,2,2,`button`,3),fd()),e&2&&(ZC(),Fy(`heading`,a.i18n.t(`billingWorkspace.issueTitle`)),ZC(2),nv(a.i18n.t(`billingWorkspace.issueHint`)),ZC(2),kS(a.task.invoice()?5:-1),ZC(),kS(a.task.error()&&!a.task.completed()&&!a.task.uncertain()?6:-1))},dependencies:[l,N,k,S,yn,v,S$1],styles:[`[appListWorkspace][_ngcontent-%COMP%] > p[_ngcontent-%COMP%]{margin-block:0}header[_ngcontent-%COMP%], .actions[_ngcontent-%COMP%], .filters[_ngcontent-%COMP%], .chips[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--%NS%space-3)}header[_ngcontent-%COMP%]{justify-content:space-between;align-items:start}.billing-page[_ngcontent-%COMP%] > h1[_ngcontent-%COMP%]{font-size:var(--%NS%text-2xl);margin-block:var(--%NS%space-2)}h2[_ngcontent-%COMP%]{font-size:var(--%NS%text-xl)}.field[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-2);min-inline-size:0}.filters[_ngcontent-%COMP%]{align-items:end}.filters[_ngcontent-%COMP%] .search[_ngcontent-%COMP%]{flex:1 1 22rem}.filters[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]:not(.search){flex:1 1 10rem}.amount[_ngcontent-%COMP%]{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}td[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{display:block;color:var(--%NS%color-muted)}.muted[_ngcontent-%COMP%]{color:var(--%NS%color-muted)}.empty[_ngcontent-%COMP%], .bulk-actions[_ngcontent-%COMP%], .summary[_ngcontent-%COMP%]{padding:var(--%NS%space-4)}.task-form[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-5);inline-size:100%}.fields[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--%NS%space-4)}.field-error[_ngcontent-%COMP%]{color:var(--%NS%color-danger);font-size:var(--%NS%text-sm)}.field-error[_ngcontent-%COMP%]:empty{display:none}dl[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-3)}dl[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--%NS%space-2) var(--%NS%space-4)}dt[_ngcontent-%COMP%]{color:var(--%NS%color-muted)}dd[_ngcontent-%COMP%]{margin:0;overflow-wrap:anywhere}ol[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4)}.history-entry[_ngcontent-%COMP%]{padding:var(--%NS%space-4);overflow-wrap:anywhere}@media(max-width:40rem){.fields[_ngcontent-%COMP%]{grid-template-columns:1fr}}[_nghost-%COMP%]{display:block}.detail-page[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);min-inline-size:0;inline-size:100%;max-inline-size:var(--%NS%page-width-detail);margin-inline:auto;padding:var(--%NS%page-header-y) var(--%NS%page-x)}.detail-page.form-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-form)}.detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-wide)}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-2xl);overflow-wrap:anywhere}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-base);color:var(--%NS%color-muted);overflow-wrap:anywhere}.detail-page[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{justify-self:start}@media print{.detail-page[_ngcontent-%COMP%], .detail-page.form-page[_ngcontent-%COMP%], .detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:none}}`]})};export{$ as InvoiceIssue};
@@ -1 +1 @@
1
- import{Dn as g,H as JD,o as A,ot as OD}from"./chunk-BAHiFuUo.js";import{ct as Me,wi as wu}from"./chunk-BAe_07VM.js";import{Cu as yl,Zo as gl,gu as xl}from"./chunk-CjtJKrza.js";var f=class t{http=g(OD);async listQuotes(){return wu.decodeUnknownSync(gl)(await JD(this.http.get(`/api/client/quotes`)))}async listOrders(){return wu.decodeUnknownSync(yl)(await JD(this.http.get(`/api/client/orders`)))}async listInvoices(){return wu.decodeUnknownSync(xl)(await JD(this.http.get(`/api/client/invoices`)))}quotePdfUrl(n){return`/api/client/quotes/${n}/pdf`}invoicePdfUrl(n){return`/api/client/invoices/${n}/pdf`}orderPdfUrl(n){return`/api/client/orders/${n}/pdf`}static ɵfac=function(i){return new(i||t)};static ɵprov=A({token:t,factory:t.ɵfac,providedIn:`root`})};var m=wu.Literals([`all`,`quote`,`order`,`invoice`]);var y=wu.Literals([`all`,`open`,`completed`]);var k=wu.Literals([`none`,`reference-asc`,`reference-desc`,`kind-asc`,`kind-desc`,`status-asc`,`status-desc`,`date-asc`,`date-desc`,`amount-asc`,`amount-desc`]);var h=t=>({search:(t.get(`q`)??``).slice(0,120),kind:Me.getOrElse(wu.decodeUnknownOption(m)(t.get(`kind`)),()=>`all`),status:Me.getOrElse(wu.decodeUnknownOption(y)(t.get(`status`)),()=>`all`),sort:Me.getOrElse(wu.decodeUnknownOption(k)(t.get(`sort`)),()=>`none`)});var S=({search:t,kind:n,status:i,sort:s})=>({q:t||void 0,kind:n===`all`?void 0:n,status:i===`all`?void 0:i,sort:s===`none`?void 0:s});export{y as a,m as i,f as n,h as r,S as t};
1
+ import{Dn as g,H as JD,o as A,ot as OD}from"./chunk-BAHiFuUo.js";import{ct as Me,wi as wu}from"./chunk-BAe_07VM.js";import{Cu as yl,Zo as gl,gu as xl}from"./chunk-D5qmP2Wu.js";var f=class t{http=g(OD);async listQuotes(){return wu.decodeUnknownSync(gl)(await JD(this.http.get(`/api/client/quotes`)))}async listOrders(){return wu.decodeUnknownSync(yl)(await JD(this.http.get(`/api/client/orders`)))}async listInvoices(){return wu.decodeUnknownSync(xl)(await JD(this.http.get(`/api/client/invoices`)))}quotePdfUrl(n){return`/api/client/quotes/${n}/pdf`}invoicePdfUrl(n){return`/api/client/invoices/${n}/pdf`}orderPdfUrl(n){return`/api/client/orders/${n}/pdf`}static ɵfac=function(i){return new(i||t)};static ɵprov=A({token:t,factory:t.ɵfac,providedIn:`root`})};var m=wu.Literals([`all`,`quote`,`order`,`invoice`]);var y=wu.Literals([`all`,`open`,`completed`]);var k=wu.Literals([`none`,`reference-asc`,`reference-desc`,`kind-asc`,`kind-desc`,`status-asc`,`status-desc`,`date-asc`,`date-desc`,`amount-asc`,`amount-desc`]);var h=t=>({search:(t.get(`q`)??``).slice(0,120),kind:Me.getOrElse(wu.decodeUnknownOption(m)(t.get(`kind`)),()=>`all`),status:Me.getOrElse(wu.decodeUnknownOption(y)(t.get(`status`)),()=>`all`),sort:Me.getOrElse(wu.decodeUnknownOption(k)(t.get(`sort`)),()=>`none`)});var S=({search:t,kind:n,status:i,sort:s})=>({q:t||void 0,kind:n===`all`?void 0:n,status:i===`all`?void 0:i,sort:s===`none`?void 0:s});export{y as a,m as i,f as n,h as r,S as t};
@@ -0,0 +1 @@
1
+ import{n as m,t as l}from"./chunk-BwCtja5l.js";import{$t as ZC,A as Gy,At as S_,D as Fy,Dn as g,E as Ft$1,Gn as k_,H as JD,Ir as wp,It as Us,Jr as zS,Jt as Xy,K as Ke,Nr as vd,Nt as T_,Rn as jS,S as FS,Sr as rv,Tn as fd,V as Iy,Wn as kS,Wr as y_,X as LS,Xn as lv,_t as Pt$1,fn as av,ht as PS,lt as OS,mn as b_,mr as qT,o as A,ot as OD,pr as qS,qn as ky,rr as nv,sr as ov,tn as ZT,ut as O_,vt as Py,w as Fb,yn as cv,z as Ip}from"./chunk-BAHiFuUo.js";import{h as Ne,m as Ie,r as N}from"./main-F7D3L737.js";import{wi as wu}from"./chunk-BAe_07VM.js";import{n as m$1}from"./chunk-Dv9sNWWK.js";import{Do as em,Ha as am,Hs as lm,Jt as Ht$1,Qs as mm,Wa as ap,_o as dm,_s as jA,dt as Er,fa as ZA,gc as oi,ks as jt$1,kt as G,lc as nm,ms as ip,nl as rm,oo as cm,ps as im,us as ii,wa as _A,yc as om}from"./chunk-D5qmP2Wu.js";import"./chunk-DjewtV43.js";import{t as N$1}from"./chunk-B0bNirg2.js";import"./chunk-BzUDWIzm.js";import"./chunk-CczD0yXn.js";import{C as vn$1,_ as je,b as nt$1,d as Vn$1,g as bn$1,i as Dn$1,u as Lt$1}from"./chunk-CReShp-B.js";import{t as Ae}from"./chunk-DM5aibnW.js";import{t as E}from"./chunk-DsaNNeZe.js";import{t as l$1}from"./chunk-BVszSMJC.js";import{t as D$1}from"./chunk-AJOoJgZJ.js";import{t as u}from"./chunk-Bfx7EEIR.js";import{t as c}from"./chunk-enci06qG.js";import"./chunk-CSkyOfSg.js";import{t as g$1}from"./chunk-B56nz2lI.js";import{t as k}from"./chunk-D5MFwK9L.js";import{t as P}from"./chunk-niXXbm7H.js";import{t as a}from"./chunk-1ErswIDf.js";import"./chunk-CXHCUTDs.js";import"./chunk-ZBDWcE362.js";import"./chunk-CP-AnFGa2.js";import"./chunk-scbWWgLx2.js";import"./chunk-Bsy3r41y2.js";import"./chunk-DB6sOjsn2.js";import"./chunk-CABvk97t2.js";import{n as B}from"./chunk-CCqlW8pS2.js";import{t as M}from"./chunk-BAn0tBhX.js";var X=class a{http=g(OD);listAccounts(){return m$1(this.http.get(`/api/accounting/accounts`),ZA,G,`accounting.error`)}writeAccount(n,e){if(n===null)return m$1(this.http.post(`/api/accounting/accounts`,e),ii,G,`accounting.error`);return m$1(this.http.put(`/api/accounting/accounts/${n}`,e),ii,G,`accounting.error`)}listJournals(){return m$1(this.http.get(`/api/accounting/journals`),_A,G,`accounting.error`)}writeJournal(n,e){if(n===null)return m$1(this.http.post(`/api/accounting/journals`,e),Er,G,`accounting.error`);return m$1(this.http.put(`/api/accounting/journals/${n}`,e),Er,G,`accounting.error`)}listPeriods(){return m$1(this.http.get(`/api/accounting/periods`),jA,G,`accounting.error`)}createPeriod(n){return m$1(this.http.post(`/api/accounting/periods`,n),Ht$1,G,`accounting.error`)}transitionPeriod(n,e,r,t){let d=e===`reopen`?{expectedVersion:r,acknowledgement:t}:{expectedVersion:r};return m$1(this.http.post(`/api/accounting/periods/${n}/${e}`,d),Ht$1,G,`accounting.error`)}listEntries(){return m$1(this.http.get(`/api/accounting/entries`),em,G,`accounting.error`)}listLetterableLines(){return m$1(this.http.get(`/api/accounting/lettering/lines`),lm,G,`accounting.error`)}createLettering(n){return m$1(this.http.post(`/api/accounting/lettering`,n),mm,G,`accounting.error`)}createEntry(n){return m$1(this.http.post(`/api/accounting/entries`,n),jt$1,G,`accounting.error`)}commandEntry(n,e,r){return m$1(this.http.post(`/api/accounting/entries/${n}/${e}`,r),jt$1,G,`accounting.error`)}report(n){return m$1(this.http.get(`/api/accounting/reports/balance`,{params:this.params(n)}),rm,G,`accounting.error`)}ledger(n){return m$1(this.http.get(`/api/accounting/reports/ledger`,{params:this.params(n)}),om,G,`accounting.error`)}financial(n){return m$1(this.http.get(`/api/accounting/reports/financial-statements`,{params:this.params(n)}),nm,G,`accounting.error`)}tax(n){return m$1(this.http.get(`/api/accounting/reports/france/vat`,{params:this.params(n)}),im,G,`accounting.error`)}async fec(n){return JD(this.http.get(`/api/accounting/reports/fec`,{params:this.params(n),responseType:`text`})).then(e=>wu.decodeUnknownSync(wu.String)(JSON.parse(e)))}async ca3(n){return JD(this.http.get(`/api/accounting/reports/france/ca3`,{params:this.params(n),responseType:`text`})).then(e=>wu.decodeUnknownSync(wu.String)(JSON.parse(e)))}taxFilingSettings(){return m$1(this.http.get(`/api/accounting/tax-filing/settings`),ip,G,`accounting.error`)}updateTaxFilingSettings(n){return m$1(this.http.put(`/api/accounting/tax-filing/settings`,n),ip,G,`accounting.error`)}taxFilings(){return m$1(this.http.get(`/api/accounting/tax-filings`),am,G,`accounting.error`)}submitTaxFiling(n){return m$1(this.http.post(`/api/accounting/tax-filings`,m(l({},n),{requestId:crypto.randomUUID()})),ap,G,`accounting.error`)}previewOpening(n){return m$1(this.http.post(`/api/accounting/opening-balances/preview`,n),cm,G,`accounting.error`)}commitOpening(n){return m$1(this.http.post(`/api/accounting/opening-balances`,n),jt$1,G,`accounting.error`)}listEvidence(){return m$1(this.http.get(`/api/accounting/evidence`),dm,G,`accounting.error`)}createEvidence(n){return m$1(this.http.post(`/api/accounting/evidence`,n),oi,G,`accounting.error`)}downloadEvidence(n){return JD(this.http.get(`/api/accounting/evidence/${n}/download`,{responseType:`blob`}))}params(n){return new Pt$1().set(`startsOn`,n.startsOn).set(`endsOn`,n.endsOn)}static ɵfac=function(e){return new(e||a)};static ɵprov=A({token:a,factory:a.ɵfac,providedIn:`root`})};var Ge={columns:[{kind:`text`,key:`code`,value:a=>a.code},{kind:`text`,key:`label`,value:a=>a.label},{kind:`text`,key:`kind`,value:a=>a.kind},{kind:`text`,key:`status`,value:a=>a.archived?`archived`:`active`}],defaultSort:`codeAsc`,id:a=>a.id,searchKeys:[`code`,`label`],parameters:{q:`accountQ`,sort:`accountSort`,filter:`accountFilter`},filters:[{value:`active`,label:`accounting.active`},{value:`archived`,label:`accounting.archived`}],matchesFilter:(a,n)=>a.archived===(n===`archived`)};var Ye={columns:[{kind:`text`,key:`code`,value:a=>a.code},{kind:`text`,key:`label`,value:a=>a.label},{kind:`text`,key:`kind`,value:a=>a.kind},{kind:`text`,key:`status`,value:a=>a.archived?`archived`:`active`}],defaultSort:`codeAsc`,id:a=>a.id,searchKeys:[`code`,`label`],parameters:{q:`journalQ`,sort:`journalSort`,filter:`journalFilter`},filters:[{value:`active`,label:`accounting.active`},{value:`archived`,label:`accounting.archived`}],matchesFilter:(a,n)=>a.archived===(n===`archived`)};var Xe={columns:[{kind:`text`,key:`startsOn`,value:a=>a.startsOn},{kind:`text`,key:`label`,value:a=>a.label},{kind:`text`,key:`status`,value:a=>a.finalClosed?`final`:a.status}],defaultSort:`startsOnDesc`,id:a=>a.id,searchKeys:[`label`,`startsOn`,`endsOn`],parameters:{q:`periodQ`,sort:`periodSort`,filter:`periodFilter`},filters:[{value:`open`,label:`accounting.period.open`},{value:`locked`,label:`accounting.period.locked`},{value:`closed`,label:`accounting.period.closed`},{value:`final`,label:`accounting.period.final`}],matchesFilter:(a,n)=>n===`final`?a.finalClosed:a.status===n&&!a.finalClosed};var Ze={columns:[{kind:`text`,key:`date`,value:a=>a.entryDate},{kind:`text`,key:`reference`,value:a=>a.reference},{kind:`text`,key:`description`,value:a=>a.description},{kind:`text`,key:`status`,value:a=>a.status}],defaultSort:`dateDesc`,id:a=>a.id,searchKeys:[`reference`,`description`,`entryDate`],parameters:{q:`entryQ`,sort:`entrySort`,filter:`entryFilter`},filters:[{value:`draft`,label:`accounting.entry.draft`},{value:`posted`,label:`accounting.entry.posted`},{value:`reversed`,label:`accounting.entry.reversed`}],matchesFilter:(a,n)=>a.status===n};var $e={columns:[{kind:`text`,key:`date`,value:a=>a.entryDate},{kind:`text`,key:`reference`,value:a=>a.reference},{kind:`text`,key:`account`,value:a=>a.accountCode},{kind:`text`,key:`label`,value:a=>a.lineLabel},{kind:`number`,key:`debit`,value:a=>a.debitCents},{kind:`number`,key:`credit`,value:a=>a.creditCents},{kind:`text`,key:`lettering`,value:a=>a.letteringCode}],defaultSort:`dateDesc`,id:a=>a.lineId,searchKeys:[`reference`,`accountCode`,`lineLabel`,`letteringCode`],parameters:{q:`letteringQ`,sort:`letteringSort`,filter:`letteringFilter`},filters:[{value:`pending`,label:`accounting.lettering.pending`},{value:`completed`,label:`accounting.lettering.completed`}],matchesFilter:(a,n)=>a.letteringCode===null==(n===`pending`)};var et={columns:[{kind:`text`,key:`file`,value:a=>a.fileName},{kind:`text`,key:`entry`,value:a=>a.entryId},{kind:`text`,key:`mediaType`,value:a=>a.mediaType},{kind:`text`,key:`fingerprint`,value:a=>a.sha256}],defaultSort:`fileAsc`,id:a=>a.id,searchKeys:[`fileName`,`entryId`,`mediaType`,`sha256`],parameters:{q:`evidenceQ`,sort:`evidenceSort`,filter:`evidenceFilter`},filters:[{value:`pdf`,label:`accounting.evidence.pdf`},{value:`image`,label:`accounting.evidence.image`},{value:`other`,label:`accounting.evidence.other`}],matchesFilter:(a,n)=>n===`pdf`?a.mediaType===`application/pdf`:n===`image`?a.mediaType.startsWith(`image/`):a.mediaType!==`application/pdf`&&!a.mediaType.startsWith(`image/`)};var tt={columns:[{kind:`text`,key:`account`,value:a=>a.accountCode},{kind:`text`,key:`label`,value:a=>a.accountLabel},{kind:`number`,key:`debit`,value:a=>a.debitCents},{kind:`number`,key:`credit`,value:a=>a.creditCents},{kind:`number`,key:`balance`,value:a=>a.balanceCents}],defaultSort:`accountAsc`,id:a=>a.accountCode,searchKeys:[`accountCode`,`accountLabel`],parameters:{q:`balanceQ`,sort:`balanceSort`,filter:`balanceFilter`},filters:[{value:`debit`,label:`accounting.debit`},{value:`credit`,label:`accounting.credit`},{value:`balanced`,label:`accounting.balance.zero`}],matchesFilter:(a,n)=>n===`debit`?a.balanceCents>0:n===`credit`?a.balanceCents<0:a.balanceCents===0};var nt={columns:[{kind:`text`,key:`date`,value:a=>a.entryDate},{kind:`text`,key:`journal`,value:a=>a.journalCode},{kind:`text`,key:`reference`,value:a=>a.reference},{kind:`text`,key:`account`,value:a=>a.accountCode},{kind:`text`,key:`label`,value:a=>a.lineLabel},{kind:`number`,key:`debit`,value:a=>a.debitCents},{kind:`number`,key:`credit`,value:a=>a.creditCents}],defaultSort:`dateDesc`,id:a=>`${a.entryId}:${a.accountCode}:${a.lineLabel}`,searchKeys:[`journalCode`,`reference`,`description`,`accountCode`,`accountLabel`,`lineLabel`],parameters:{q:`ledgerQ`,sort:`ledgerSort`,filter:`ledgerFilter`},filters:[{value:`debit`,label:`accounting.debit`},{value:`credit`,label:`accounting.credit`}],matchesFilter:(a,n)=>n===`debit`?a.debitCents>0:a.creditCents>0};var ot=()=>[`code`,`label`,`kind`,`status`];var D=a=>({count:a});var ct=()=>[`asset`,`liability`,`equity`,`income`,`expense`];var lt=()=>[`sales`,`purchases`,`bank`,`general`,`opening`];var dt=()=>[`label`,`startsOn`,`endsOn`,`status`];var st=()=>[`date`,`reference`,`description`,`status`];var ut=()=>[`date`,`reference`,`account`,`label`,`debit`,`credit`,`lettering`];var pt=()=>[`account`,`label`,`debit`,`credit`,`balance`];var _t=()=>[`date`,`journal`,`reference`,`account`,`label`,`debit`,`credit`];var gt=()=>[`file`,`entry`,`mediaType`,`fingerprint`];var H=(a,n)=>n.item.id;var J=(a,n)=>n.id;var mt=(a,n)=>n.item.lineId;var yt=(a,n)=>n.item.accountCode;var bt=(a,n)=>n.code;var xt=(a,n)=>n.item.entryId+n.item.accountCode+n.item.lineLabel;function Ct(a,n){if(a&1&&(Us(0,`p`,4),y_(1),fd()),a&2){let e=qS();ZC(),nv(e.i18n.t(e.notice()))}}function vt(a,n){if(a&1&&(Us(0,`p`,5),y_(1),fd()),a&2){let e=qS();ZC(),nv(e.i18n.t(e.error()))}}function ft(a,n){if(a&1&&(Us(0,`p`,6),y_(1),fd()),a&2){let e=qS();ZC(),nv(e.i18n.t(`accounting.loading`))}}function ht(a,n){if(a&1&&(Us(0,`p`,5),y_(1),fd()),a&2){let e=qS();ZC(),nv(e.i18n.t(`accounting.loadError`))}}function wt(a,n){if(a&1&&(Us(0,`option`,25),y_(1),fd()),a&2){let e=n.$implicit,r=qS(3);Fy(`ngValue`,e),ZC(),nv(r.i18n.t(r.accountKindLabel(e)))}}function Tt(a,n){if(a&1){let e=zS();Us(0,`button`,29),Gy(`click`,function(){Ip(e);return wp(qS(3).resetAccount())}),y_(1),fd()}if(a&2){let e=qS(3);ZC(),vd(` `,e.i18n.t(`accounting.cancel`),` `)}}function St(a,n){if(a&1){let e=zS();Us(0,`div`,17)(1,`h2`),y_(2),fd(),Us(3,`div`,18)(4,`label`,19),y_(5),fd(),Us(6,`input`,20),cv(`ngModelChange`,function(t){Ip(e);let d=qS(2);return T_(d.accountForm.code,t)||(d.accountForm.code=t),wp(t)}),fd(),qT(),fd(),Us(7,`div`,18)(8,`label`,21),y_(9),fd(),Us(10,`input`,22),cv(`ngModelChange`,function(t){Ip(e);let d=qS(2);return T_(d.accountForm.label,t)||(d.accountForm.label=t),wp(t)}),fd(),qT(),fd(),Us(11,`div`,18)(12,`label`,23),y_(13),fd(),Us(14,`select`,24),cv(`ngModelChange`,function(t){Ip(e);let d=qS(2);return T_(d.accountForm.kind,t)||(d.accountForm.kind=t),wp(t)}),LS(15,wt,2,2,`option`,25,PS),fd(),qT(),fd(),Us(17,`div`,26)(18,`button`,27),Gy(`click`,function(){Ip(e);return wp(qS(2).saveAccount())}),y_(19),fd(),OS(20,Tt,2,1,`button`,28),fd()()}if(a&2){let e=qS(2);ZC(2),nv(e.i18n.t(e.accountHeading())),ZC(3),nv(e.i18n.t(`accounting.code`)),ZC(),av(`ngModel`,e.accountForm.code),ZT(),ZC(3),nv(e.i18n.t(`accounting.label`)),ZC(),av(`ngModel`,e.accountForm.label),ZT(),ZC(3),nv(e.i18n.t(`accounting.kind`)),ZC(),av(`ngModel`,e.accountForm.kind),ZT(),ZC(),jS(O_(10,ct)),ZC(3),Fy(`disabled`,e.busy()),ZC(),vd(` `,e.i18n.t(`accounting.save`)),ZC(),kS(e.accountForm.id?20:-1)}}function Et(a,n){if(a&1){let e=zS();Us(0,`div`,26)(1,`button`,29),Gy(`click`,function(){Ip(e),qS();let t=S_(0);return wp(qS(2).editAccount(t))}),y_(2),fd(),Us(3,`button`,29),Gy(`click`,function(){Ip(e),qS();let t=S_(0);return wp(qS(2).toggleAccount(t))}),y_(4),fd()()}if(a&2){qS();let e=S_(0),r=qS(2);ZC(2),vd(` `,r.i18n.t(`accounting.edit`)),ZC(2),vd(` `,r.i18n.t(r.archiveActionLabel(e.archived)),` `)}}function At(a,n){if(a&1&&(lv(0),Us(1,`tr`)(2,`th`,30),y_(3),fd(),Us(4,`td`),y_(5),fd(),Us(6,`td`),y_(7),fd(),Us(8,`td`),y_(9),fd(),Us(10,`td`),Iy(11,Et,5,2,`div`,31),fd()()),a&2){let e=n.$implicit,r=qS(2),t=b_(e.item);ZC(3),nv(t.code),ZC(2),nv(t.label),ZC(2),nv(r.i18n.t(r.accountKindLabel(t.kind))),ZC(2),nv(r.i18n.t(r.entityStatusLabel(t.archived))),ZC(2),Fy(`appCan`,`accounting.write`)}}function kt(a,n){if(a&1){let e=zS();Us(0,`section`,7),Iy(1,St,21,11,`div`,10),Us(2,`section`,11)(3,`app-workspace-table-tools`,12),Gy(`queryChange`,function(t){Ip(e);return wp(qS().accountTable.search(t))})(`filterChange`,function(t){Ip(e);return wp(qS().accountTable.filter(t))}),fd(),Us(4,`div`,13)(5,`table`)(6,`thead`)(7,`tr`)(8,`th`,14)(9,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().accountTable.sort(`code`))}),fd()(),Us(10,`th`,14)(11,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().accountTable.sort(`label`))}),fd()(),Us(12,`th`,14)(13,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().accountTable.sort(`kind`))}),fd()(),Us(14,`th`,14)(15,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().accountTable.sort(`status`))}),fd()(),Us(16,`th`,14),y_(17),fd()()(),Us(18,`tbody`),LS(19,At,12,6,`tr`,null,H),fd()()(),Us(21,`footer`,16)(22,`p`,6),y_(23),fd()()()()}if(a&2){let e=qS();ZC(),Fy(`appCan`,`accounting.write`),ZC(2),Fy(`query`,e.accountTable.query().q)(`filter`,e.accountTable.query().filter)(`filterLabel`,e.i18n.t(`accounting.status`))(`filterSummary`,e.accountTable.filterSummary())(`filterOptions`,e.accountTable.filterOptions())(`columns`,O_(23,ot))(`rows`,e.accountExport())(`pending`,e.busy()),ZC(5),ky(`aria-sort`,e.accountTable.direction(`code`)),ZC(),Fy(`label`,e.i18n.t(`accounting.code`))(`direction`,e.accountTable.direction(`code`)),ZC(),ky(`aria-sort`,e.accountTable.direction(`label`)),ZC(),Fy(`label`,e.i18n.t(`accounting.label`))(`direction`,e.accountTable.direction(`label`)),ZC(),ky(`aria-sort`,e.accountTable.direction(`kind`)),ZC(),Fy(`label`,e.i18n.t(`accounting.kind`))(`direction`,e.accountTable.direction(`kind`)),ZC(),ky(`aria-sort`,e.accountTable.direction(`status`)),ZC(),Fy(`label`,e.i18n.t(`accounting.status`))(`direction`,e.accountTable.direction(`status`)),ZC(2),nv(e.i18n.t(`accounting.actions`)),ZC(2),jS(e.accountTable.results()),ZC(4),vd(` `,e.i18n.plural(`accounting.rows`,k_(24,D,e.accountTable.results().length)),` `)}}function Ft(a,n){if(a&1&&(Us(0,`option`,25),y_(1),fd()),a&2){let e=n.$implicit,r=qS(3);Fy(`ngValue`,e),ZC(),nv(r.i18n.t(r.journalKindLabel(e)))}}function Vt(a,n){if(a&1){let e=zS();Us(0,`button`,29),Gy(`click`,function(){Ip(e);return wp(qS(3).resetJournal())}),y_(1),fd()}if(a&2){let e=qS(3);ZC(),vd(` `,e.i18n.t(`accounting.cancel`),` `)}}function It(a,n){if(a&1){let e=zS();Us(0,`div`,17)(1,`h2`),y_(2),fd(),Us(3,`div`,18)(4,`label`,33),y_(5),fd(),Us(6,`input`,34),cv(`ngModelChange`,function(t){Ip(e);let d=qS(2);return T_(d.journalForm.code,t)||(d.journalForm.code=t),wp(t)}),fd(),qT(),fd(),Us(7,`div`,18)(8,`label`,35),y_(9),fd(),Us(10,`input`,36),cv(`ngModelChange`,function(t){Ip(e);let d=qS(2);return T_(d.journalForm.label,t)||(d.journalForm.label=t),wp(t)}),fd(),qT(),fd(),Us(11,`div`,18)(12,`label`,37),y_(13),fd(),Us(14,`select`,38),cv(`ngModelChange`,function(t){Ip(e);let d=qS(2);return T_(d.journalForm.kind,t)||(d.journalForm.kind=t),wp(t)}),LS(15,Ft,2,2,`option`,25,PS),fd(),qT(),fd(),Us(17,`div`,26)(18,`button`,27),Gy(`click`,function(){Ip(e);return wp(qS(2).saveJournal())}),y_(19),fd(),OS(20,Vt,2,1,`button`,28),fd()()}if(a&2){let e=qS(2);ZC(2),nv(e.i18n.t(e.journalHeading())),ZC(3),nv(e.i18n.t(`accounting.code`)),ZC(),av(`ngModel`,e.journalForm.code),ZT(),ZC(3),nv(e.i18n.t(`accounting.label`)),ZC(),av(`ngModel`,e.journalForm.label),ZT(),ZC(3),nv(e.i18n.t(`accounting.kind`)),ZC(),av(`ngModel`,e.journalForm.kind),ZT(),ZC(),jS(O_(10,lt)),ZC(3),Fy(`disabled`,e.busy()),ZC(),vd(` `,e.i18n.t(`accounting.save`)),ZC(),kS(e.journalForm.id?20:-1)}}function Mt(a,n){if(a&1){let e=zS();Us(0,`div`,26)(1,`button`,29),Gy(`click`,function(){Ip(e),qS();let t=S_(0);return wp(qS(2).editJournal(t))}),y_(2),fd(),Us(3,`button`,29),Gy(`click`,function(){Ip(e),qS();let t=S_(0);return wp(qS(2).toggleJournal(t))}),y_(4),fd()()}if(a&2){qS();let e=S_(0),r=qS(2);ZC(2),vd(` `,r.i18n.t(`accounting.edit`)),ZC(2),vd(` `,r.i18n.t(r.archiveActionLabel(e.archived)),` `)}}function Lt(a,n){if(a&1&&(lv(0),Us(1,`tr`)(2,`th`,30),y_(3),fd(),Us(4,`td`),y_(5),fd(),Us(6,`td`),y_(7),fd(),Us(8,`td`),y_(9),fd(),Us(10,`td`),Iy(11,Mt,5,2,`div`,31),fd()()),a&2){let e=n.$implicit,r=qS(2),t=b_(e.item);ZC(3),nv(t.code),ZC(2),nv(t.label),ZC(2),nv(r.i18n.t(r.journalKindLabel(t.kind))),ZC(2),nv(r.i18n.t(r.entityStatusLabel(t.archived))),ZC(2),Fy(`appCan`,`accounting.write`)}}function Ot(a,n){if(a&1){let e=zS();Us(0,`section`,7),Iy(1,It,21,11,`div`,10),Us(2,`section`,11)(3,`app-workspace-table-tools`,32),Gy(`queryChange`,function(t){Ip(e);return wp(qS().journalTable.search(t))})(`filterChange`,function(t){Ip(e);return wp(qS().journalTable.filter(t))}),fd(),Us(4,`div`,13)(5,`table`)(6,`thead`)(7,`tr`)(8,`th`,14)(9,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().journalTable.sort(`code`))}),fd()(),Us(10,`th`,14)(11,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().journalTable.sort(`label`))}),fd()(),Us(12,`th`,14)(13,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().journalTable.sort(`kind`))}),fd()(),Us(14,`th`,14)(15,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().journalTable.sort(`status`))}),fd()(),Us(16,`th`,14),y_(17),fd()()(),Us(18,`tbody`),LS(19,Lt,12,6,`tr`,null,H),fd()()(),Us(21,`footer`,16)(22,`p`,6),y_(23),fd()()()()}if(a&2){let e=qS();ZC(),Fy(`appCan`,`accounting.write`),ZC(2),Fy(`query`,e.journalTable.query().q)(`filter`,e.journalTable.query().filter)(`filterLabel`,e.i18n.t(`accounting.status`))(`filterSummary`,e.journalTable.filterSummary())(`filterOptions`,e.journalTable.filterOptions())(`columns`,O_(23,ot))(`rows`,e.journalExport())(`pending`,e.busy()),ZC(5),ky(`aria-sort`,e.journalTable.direction(`code`)),ZC(),Fy(`label`,e.i18n.t(`accounting.code`))(`direction`,e.journalTable.direction(`code`)),ZC(),ky(`aria-sort`,e.journalTable.direction(`label`)),ZC(),Fy(`label`,e.i18n.t(`accounting.label`))(`direction`,e.journalTable.direction(`label`)),ZC(),ky(`aria-sort`,e.journalTable.direction(`kind`)),ZC(),Fy(`label`,e.i18n.t(`accounting.kind`))(`direction`,e.journalTable.direction(`kind`)),ZC(),ky(`aria-sort`,e.journalTable.direction(`status`)),ZC(),Fy(`label`,e.i18n.t(`accounting.status`))(`direction`,e.journalTable.direction(`status`)),ZC(2),nv(e.i18n.t(`accounting.actions`)),ZC(2),jS(e.journalTable.results()),ZC(4),vd(` `,e.i18n.plural(`accounting.rows`,k_(24,D,e.journalTable.results().length)),` `)}}function Pt(a,n){if(a&1){let e=zS();Us(0,`div`,17)(1,`h2`),y_(2),fd(),Us(3,`div`,18)(4,`label`,40),y_(5),fd(),Us(6,`input`,41),cv(`ngModelChange`,function(t){Ip(e);let d=qS(2);return T_(d.periodForm.label,t)||(d.periodForm.label=t),wp(t)}),fd(),qT(),fd(),Us(7,`div`,42)(8,`div`,18)(9,`label`,43),y_(10),fd(),Us(11,`input`,44),cv(`ngModelChange`,function(t){Ip(e);let d=qS(2);return T_(d.periodForm.startsOn,t)||(d.periodForm.startsOn=t),wp(t)}),fd(),qT(),fd(),Us(12,`div`,18)(13,`label`,45),y_(14),fd(),Us(15,`input`,46),cv(`ngModelChange`,function(t){Ip(e);let d=qS(2);return T_(d.periodForm.endsOn,t)||(d.periodForm.endsOn=t),wp(t)}),fd(),qT(),fd()(),Us(16,`button`,27),Gy(`click`,function(){Ip(e);return wp(qS(2).createPeriod())}),y_(17),fd()()}if(a&2){let e=qS(2);ZC(2),nv(e.i18n.t(`accounting.period.add`)),ZC(3),nv(e.i18n.t(`accounting.label`)),ZC(),av(`ngModel`,e.periodForm.label),ZT(),ZC(4),nv(e.i18n.t(`accounting.startsOn`)),ZC(),av(`ngModel`,e.periodForm.startsOn),ZT(),ZC(3),nv(e.i18n.t(`accounting.endsOn`)),ZC(),av(`ngModel`,e.periodForm.endsOn),ZT(),ZC(),Fy(`disabled`,e.busy()),ZC(),vd(` `,e.i18n.t(`accounting.create`),` `)}}function jt(a,n){if(a&1){let e=zS();Us(0,`button`,29),Gy(`click`,function(){Ip(e),qS(2);let t=S_(0);return wp(qS(2).transitionPeriod(t,`lock`))}),y_(1),fd()}if(a&2){let e=qS(4);ZC(),vd(` `,e.i18n.t(`accounting.lock`),` `)}}function Wt(a,n){if(a&1){let e=zS();Us(0,`button`,29),Gy(`click`,function(){Ip(e),qS(2);let t=S_(0);return wp(qS(2).transitionPeriod(t,`close`))}),y_(1),fd()}if(a&2){let e=qS(4);ZC(),vd(` `,e.i18n.t(`accounting.close`),` `)}}function qt(a,n){if(a&1){let e=zS();Us(0,`button`,48),Gy(`click`,function(){Ip(e),qS(2);let t=S_(0);return wp(qS(2).transitionPeriod(t,`reopen`))}),y_(1),fd()}if(a&2){let e=qS(4);ZC(),vd(` `,e.i18n.t(`accounting.reopen`),` `)}}function Dt(a,n){if(a&1){let e=zS();Us(0,`button`,48),Gy(`click`,function(){Ip(e),qS(2);let t=S_(0);return wp(qS(2).transitionPeriod(t,`final-close`))}),y_(1),fd()}if(a&2){let e=qS(4);ZC(),vd(` `,e.i18n.t(`accounting.finalClose`),` `)}}function Rt(a,n){if(a&1&&(Us(0,`div`,26),OS(1,jt,2,1,`button`,28),OS(2,Wt,2,1,`button`,28),OS(3,qt,2,1,`button`,47),OS(4,Dt,2,1,`button`,47),fd()),a&2){qS();let e=S_(0);ZC(),kS(e.status===`open`?1:-1),ZC(),kS(e.status!==`closed`?2:-1),ZC(),kS(e.status!==`open`&&!e.finalClosed?3:-1),ZC(),kS(e.status===`closed`&&!e.finalClosed?4:-1)}}function Nt(a,n){if(a&1&&(lv(0),Us(1,`tr`)(2,`th`,30),y_(3),fd(),Us(4,`td`),y_(5),fd(),Us(6,`td`),y_(7),fd(),Us(8,`td`),Iy(9,Rt,5,4,`div`,31),fd()()),a&2){let e=n.$implicit,r=qS(2),t=b_(e.item);ZC(3),nv(t.label),ZC(2),rv(``,t.startsOn,` — `,t.endsOn),ZC(2),nv(r.i18n.t(r.periodStatusLabel(t))),ZC(2),Fy(`appCan`,`accounting.close`)}}function Bt(a,n){if(a&1){let e=zS();Us(0,`section`,7),Iy(1,Pt,18,9,`div`,10),Us(2,`section`,11)(3,`app-workspace-table-tools`,39),Gy(`queryChange`,function(t){Ip(e);return wp(qS().periodTable.search(t))})(`filterChange`,function(t){Ip(e);return wp(qS().periodTable.filter(t))}),fd(),Us(4,`div`,13)(5,`table`)(6,`thead`)(7,`tr`)(8,`th`,14)(9,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().periodTable.sort(`label`))}),fd()(),Us(10,`th`,14)(11,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().periodTable.sort(`startsOn`))}),fd()(),Us(12,`th`,14)(13,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().periodTable.sort(`status`))}),fd()(),Us(14,`th`,14),y_(15),fd()()(),Us(16,`tbody`),LS(17,Nt,10,6,`tr`,null,H),fd()()(),Us(19,`footer`,16)(20,`p`,6),y_(21),fd()()()()}if(a&2){let e=qS();ZC(),Fy(`appCan`,`accounting.close`),ZC(2),Fy(`query`,e.periodTable.query().q)(`filter`,e.periodTable.query().filter)(`filterLabel`,e.i18n.t(`accounting.status`))(`filterSummary`,e.periodTable.filterSummary())(`filterOptions`,e.periodTable.filterOptions())(`columns`,O_(20,dt))(`rows`,e.periodExport())(`pending`,e.busy()),ZC(5),ky(`aria-sort`,e.periodTable.direction(`label`)),ZC(),Fy(`label`,e.i18n.t(`accounting.label`))(`direction`,e.periodTable.direction(`label`)),ZC(),ky(`aria-sort`,e.periodTable.direction(`startsOn`)),ZC(),Fy(`label`,e.i18n.t(`accounting.period`))(`direction`,e.periodTable.direction(`startsOn`)),ZC(),ky(`aria-sort`,e.periodTable.direction(`status`)),ZC(),Fy(`label`,e.i18n.t(`accounting.status`))(`direction`,e.periodTable.direction(`status`)),ZC(2),nv(e.i18n.t(`accounting.actions`)),ZC(2),jS(e.periodTable.results()),ZC(4),vd(` `,e.i18n.plural(`accounting.rows`,k_(21,D,e.periodTable.results().length)),` `)}}function Kt(a,n){if(a&1&&(Us(0,`option`,61),y_(1),fd()),a&2){let e=qS().$implicit;Fy(`value`,e.id),ZC(),rv(``,e.code,` — `,e.label)}}function Jt(a,n){if(a&1&&OS(0,Kt,2,3,`option`,61),a&2){let e=n.$implicit;kS(e.archived?-1:0)}}function Ut(a,n){if(a&1&&(Us(0,`option`,61),y_(1),fd()),a&2){let e=qS().$implicit;Fy(`value`,e.id),ZC(),nv(e.label)}}function Qt(a,n){if(a&1&&OS(0,Ut,2,2,`option`,61),a&2){let e=n.$implicit;kS(e.status===`open`?0:-1)}}function zt(a,n){if(a&1&&(Us(0,`option`,61),y_(1),fd()),a&2){let e=n.$implicit;Fy(`value`,e.id),ZC(),rv(``,e.code,` — `,e.label)}}function Ht(a,n){if(a&1){let e=zS();Us(0,`tr`)(1,`td`)(2,`select`,62),cv(`ngModelChange`,function(t){let d=Ip(e).$implicit;return T_(d.accountId,t)||(d.accountId=t),wp(t)}),Py(3,`option`,52),LS(4,zt,2,3,`option`,61,J),fd(),qT(),fd(),Us(6,`td`)(7,`input`,63),cv(`ngModelChange`,function(t){let d=Ip(e).$implicit;return T_(d.label,t)||(d.label=t),wp(t)}),fd(),qT(),fd(),Us(8,`td`)(9,`input`,64),cv(`ngModelChange`,function(t){let d=Ip(e).$implicit;return T_(d.debit,t)||(d.debit=t),wp(t)}),fd(),qT(),fd(),Us(10,`td`)(11,`input`,64),cv(`ngModelChange`,function(t){let d=Ip(e).$implicit;return T_(d.credit,t)||(d.credit=t),wp(t)}),fd(),qT(),fd(),Us(12,`td`)(13,`button`,65),Gy(`click`,function(){let t=Ip(e).$index;return wp(qS(3).removeEntryLine(t))}),y_(14),fd()()()}if(a&2){let e=n.$implicit,r=qS(3);ZC(2),av(`ngModel`,e.accountId),ZT(),ZC(2),jS(r.activeAccounts()),ZC(3),av(`ngModel`,e.label),ZT(),ZC(2),av(`ngModel`,e.debit),ZT(),ZC(2),av(`ngModel`,e.credit),ZT(),ZC(2),Fy(`disabled`,r.entryForm.lines.length<=2),ZC(),vd(` `,r.i18n.t(`accounting.remove`),` `)}}function Gt(a,n){if(a&1){let e=zS();Us(0,`div`,17)(1,`h2`),y_(2),fd(),Us(3,`div`,42)(4,`div`,18)(5,`label`,50),y_(6),fd(),Us(7,`select`,51),cv(`ngModelChange`,function(t){Ip(e);let d=qS(2);return T_(d.entryForm.journalId,t)||(d.entryForm.journalId=t),wp(t)}),Py(8,`option`,52),LS(9,Jt,1,1,null,null,J),fd(),qT(),fd(),Us(11,`div`,18)(12,`label`,53),y_(13),fd(),Us(14,`select`,54),cv(`ngModelChange`,function(t){Ip(e);let d=qS(2);return T_(d.entryForm.periodId,t)||(d.entryForm.periodId=t),wp(t)}),Py(15,`option`,52),LS(16,Qt,1,1,null,null,J),fd(),qT(),fd(),Us(18,`div`,18)(19,`label`,55),y_(20),fd(),Us(21,`input`,56),cv(`ngModelChange`,function(t){Ip(e);let d=qS(2);return T_(d.entryForm.entryDate,t)||(d.entryForm.entryDate=t),wp(t)}),fd(),qT(),fd()(),Us(22,`div`,42)(23,`div`,18)(24,`label`,57),y_(25),fd(),Us(26,`input`,58),cv(`ngModelChange`,function(t){Ip(e);let d=qS(2);return T_(d.entryForm.reference,t)||(d.entryForm.reference=t),wp(t)}),fd(),qT(),fd(),Us(27,`div`,18)(28,`label`,59),y_(29),fd(),Us(30,`input`,60),cv(`ngModelChange`,function(t){Ip(e);let d=qS(2);return T_(d.entryForm.description,t)||(d.entryForm.description=t),wp(t)}),fd(),qT(),fd()(),Us(31,`div`,13)(32,`table`)(33,`thead`)(34,`tr`)(35,`th`,14),y_(36),fd(),Us(37,`th`,14),y_(38),fd(),Us(39,`th`,14),y_(40),fd(),Us(41,`th`,14),y_(42),fd(),Us(43,`th`,14),y_(44),fd()()(),Us(45,`tbody`),LS(46,Ht,15,6,`tr`,null,FS),fd()()(),Us(48,`div`,26)(49,`button`,29),Gy(`click`,function(){Ip(e);return wp(qS(2).addEntryLine())}),y_(50),fd(),Us(51,`button`,27),Gy(`click`,function(){Ip(e);return wp(qS(2).createEntry())}),y_(52),fd()()()}if(a&2){let e=qS(2);ZC(2),nv(e.i18n.t(`accounting.entry.add`)),ZC(4),nv(e.i18n.t(`accounting.journal`)),ZC(),av(`ngModel`,e.entryForm.journalId),ZT(),ZC(2),jS(e.journals()),ZC(4),nv(e.i18n.t(`accounting.period`)),ZC(),av(`ngModel`,e.entryForm.periodId),ZT(),ZC(2),jS(e.periods()),ZC(4),nv(e.i18n.t(`accounting.date`)),ZC(),av(`ngModel`,e.entryForm.entryDate),ZT(),ZC(4),nv(e.i18n.t(`accounting.reference`)),ZC(),av(`ngModel`,e.entryForm.reference),ZT(),ZC(3),nv(e.i18n.t(`accounting.description`)),ZC(),av(`ngModel`,e.entryForm.description),ZT(),ZC(6),nv(e.i18n.t(`accounting.account`)),ZC(2),nv(e.i18n.t(`accounting.label`)),ZC(2),nv(e.i18n.t(`accounting.debit`)),ZC(2),nv(e.i18n.t(`accounting.credit`)),ZC(2),nv(e.i18n.t(`accounting.actions`)),ZC(2),jS(e.entryForm.lines),ZC(4),vd(` `,e.i18n.t(`accounting.line.add`)),ZC(),Fy(`disabled`,e.busy()),ZC(),vd(` `,e.i18n.t(`accounting.createDraft`),` `)}}function Yt(a,n){if(a&1){let e=zS();Us(0,`button`,68),Gy(`click`,function(){Ip(e),qS(2);let t=S_(0);return wp(qS(2).commandEntry(t,`post`))}),y_(1),fd()}if(a&2){let e=qS(4);ZC(),vd(` `,e.i18n.t(`accounting.post`),` `)}}function Xt(a,n){a&1&&Iy(0,Yt,2,1,`button`,67),a&2&&Fy(`appCan`,`accounting.validate`)}function Zt(a,n){if(a&1){let e=zS();Us(0,`button`,29),Gy(`click`,function(){Ip(e),qS(2);let t=S_(0);return wp(qS(2).commandEntry(t,`reverse`))}),y_(1),fd()}if(a&2){let e=qS(4);ZC(),vd(` `,e.i18n.t(`accounting.reverse`),` `)}}function $t(a,n){a&1&&Iy(0,Zt,2,1,`button`,69),a&2&&Fy(`appCan`,`accounting.validate`)}function en(a,n){if(a&1&&(lv(0),Us(1,`tr`)(2,`td`),y_(3),fd(),Us(4,`th`,30),y_(5),fd(),Us(6,`td`),y_(7),fd(),Us(8,`td`),y_(9),fd(),Us(10,`td`)(11,`div`,26),OS(12,Xt,1,1,`button`,66),OS(13,$t,1,1,`button`,28),fd()()()),a&2){let e=n.$implicit,r=qS(2),t=b_(e.item);ZC(3),nv(t.entryDate),ZC(2),nv(t.reference),ZC(2),nv(t.description),ZC(2),nv(r.i18n.t(r.entryStatusLabel(t))),ZC(3),kS(t.status===`draft`?12:-1),ZC(),kS(t.status===`posted`?13:-1)}}function tn(a,n){if(a&1){let e=zS();Us(0,`section`,8),Iy(1,Gt,53,19,`div`,10),Us(2,`section`,11)(3,`app-workspace-table-tools`,49),Gy(`queryChange`,function(t){Ip(e);return wp(qS().entryTable.search(t))})(`filterChange`,function(t){Ip(e);return wp(qS().entryTable.filter(t))}),fd(),Us(4,`div`,13)(5,`table`)(6,`thead`)(7,`tr`)(8,`th`,14)(9,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().entryTable.sort(`date`))}),fd()(),Us(10,`th`,14)(11,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().entryTable.sort(`reference`))}),fd()(),Us(12,`th`,14)(13,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().entryTable.sort(`description`))}),fd()(),Us(14,`th`,14)(15,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().entryTable.sort(`status`))}),fd()(),Us(16,`th`,14),y_(17),fd()()(),Us(18,`tbody`),LS(19,en,14,7,`tr`,null,H),fd()()(),Us(21,`footer`,16)(22,`p`,6),y_(23),fd()()()()}if(a&2){let e=qS();ZC(),Fy(`appCan`,`accounting.write`),ZC(2),Fy(`query`,e.entryTable.query().q)(`filter`,e.entryTable.query().filter)(`filterLabel`,e.i18n.t(`accounting.status`))(`filterSummary`,e.entryTable.filterSummary())(`filterOptions`,e.entryTable.filterOptions())(`columns`,O_(23,st))(`rows`,e.entryExport())(`pending`,e.busy()),ZC(5),ky(`aria-sort`,e.entryTable.direction(`date`)),ZC(),Fy(`label`,e.i18n.t(`accounting.date`))(`direction`,e.entryTable.direction(`date`)),ZC(),ky(`aria-sort`,e.entryTable.direction(`reference`)),ZC(),Fy(`label`,e.i18n.t(`accounting.reference`))(`direction`,e.entryTable.direction(`reference`)),ZC(),ky(`aria-sort`,e.entryTable.direction(`description`)),ZC(),Fy(`label`,e.i18n.t(`accounting.description`))(`direction`,e.entryTable.direction(`description`)),ZC(),ky(`aria-sort`,e.entryTable.direction(`status`)),ZC(),Fy(`label`,e.i18n.t(`accounting.status`))(`direction`,e.entryTable.direction(`status`)),ZC(2),nv(e.i18n.t(`accounting.actions`)),ZC(2),jS(e.entryTable.results()),ZC(4),vd(` `,e.i18n.plural(`accounting.rows`,k_(24,D,e.entryTable.results().length)),` `)}}function nn(a,n){if(a&1){let e=zS();Us(0,`button`,27),Gy(`click`,function(){Ip(e);return wp(qS(2).createLettering())}),y_(1),fd()}if(a&2){let e=qS(2);Fy(`disabled`,e.busy()||e.selectedLetteringLines().size<2),ZC(),vd(` `,e.i18n.t(`accounting.lettering.apply`),` `)}}function an(a,n){if(a&1){let e=zS();lv(0),Us(1,`tr`)(2,`td`)(3,`input`,73),Gy(`change`,function(t){Ip(e);let d=S_(0);return wp(qS(2).toggleLetteringLine(d.lineId,t.target.checked))}),fd()(),Us(4,`td`),y_(5),fd(),Us(6,`td`),y_(7),fd(),Us(8,`td`),y_(9),fd(),Us(10,`th`,30),y_(11),fd(),Us(12,`td`,74),y_(13),fd(),Us(14,`td`,74),y_(15),fd(),Us(16,`td`),y_(17),fd()()}if(a&2){let e=n.$implicit,r=qS(2),t=b_(e.item);ZC(3),Fy(`checked`,r.letteringSelected(t.lineId))(`disabled`,t.letteringCode!==null),ky(`aria-label`,r.i18n.t(`accounting.select`)),ZC(2),nv(t.entryDate),ZC(2),nv(t.reference),ZC(2),nv(t.accountCode),ZC(2),nv(t.lineLabel),ZC(2),nv(r.money(t.debitCents)),ZC(2),nv(r.money(t.creditCents)),ZC(2),nv(t.letteringCode)}}function on(a,n){if(a&1){let e=zS();Us(0,`section`,9)(1,`div`,17)(2,`h2`,70),y_(3),fd(),Us(4,`p`,2),y_(5),fd(),Iy(6,nn,2,2,`button`,71),fd(),Us(7,`section`,11)(8,`app-workspace-table-tools`,72),Gy(`queryChange`,function(t){Ip(e);return wp(qS().letteringTable.search(t))})(`filterChange`,function(t){Ip(e);return wp(qS().letteringTable.filter(t))}),fd(),Us(9,`div`,13)(10,`table`)(11,`thead`)(12,`tr`)(13,`th`,14),y_(14),fd(),Us(15,`th`,14)(16,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().letteringTable.sort(`date`))}),fd()(),Us(17,`th`,14)(18,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().letteringTable.sort(`reference`))}),fd()(),Us(19,`th`,14)(20,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().letteringTable.sort(`account`))}),fd()(),Us(21,`th`,14)(22,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().letteringTable.sort(`label`))}),fd()(),Us(23,`th`,14)(24,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().letteringTable.sort(`debit`))}),fd()(),Us(25,`th`,14)(26,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().letteringTable.sort(`credit`))}),fd()(),Us(27,`th`,14)(28,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().letteringTable.sort(`lettering`))}),fd()()()(),Us(29,`tbody`),LS(30,an,18,11,`tr`,null,mt),fd()()(),Us(32,`footer`,16)(33,`p`,6),y_(34),fd()()()()}if(a&2){let e=qS();ZC(3),nv(e.i18n.t(`accounting.lettering.title`)),ZC(2),nv(e.i18n.t(`accounting.lettering.hint`)),ZC(),Fy(`appCan`,`accounting.write`),ZC(2),Fy(`query`,e.letteringTable.query().q)(`filter`,e.letteringTable.query().filter)(`filterLabel`,e.i18n.t(`accounting.status`))(`filterSummary`,e.letteringTable.filterSummary())(`filterOptions`,e.letteringTable.filterOptions())(`columns`,O_(34,ut))(`rows`,e.letteringExport())(`pending`,e.busy()),ZC(6),nv(e.i18n.t(`accounting.select`)),ZC(),ky(`aria-sort`,e.letteringTable.direction(`date`)),ZC(),Fy(`label`,e.i18n.t(`accounting.date`))(`direction`,e.letteringTable.direction(`date`)),ZC(),ky(`aria-sort`,e.letteringTable.direction(`reference`)),ZC(),Fy(`label`,e.i18n.t(`accounting.reference`))(`direction`,e.letteringTable.direction(`reference`)),ZC(),ky(`aria-sort`,e.letteringTable.direction(`account`)),ZC(),Fy(`label`,e.i18n.t(`accounting.account`))(`direction`,e.letteringTable.direction(`account`)),ZC(),ky(`aria-sort`,e.letteringTable.direction(`label`)),ZC(),Fy(`label`,e.i18n.t(`accounting.label`))(`direction`,e.letteringTable.direction(`label`)),ZC(),ky(`aria-sort`,e.letteringTable.direction(`debit`)),ZC(),Fy(`label`,e.i18n.t(`accounting.debit`))(`direction`,e.letteringTable.direction(`debit`)),ZC(),ky(`aria-sort`,e.letteringTable.direction(`credit`)),ZC(),Fy(`label`,e.i18n.t(`accounting.credit`))(`direction`,e.letteringTable.direction(`credit`)),ZC(),ky(`aria-sort`,e.letteringTable.direction(`lettering`)),ZC(),Fy(`label`,e.i18n.t(`accounting.lettering.code`))(`direction`,e.letteringTable.direction(`lettering`)),ZC(2),jS(e.letteringTable.results()),ZC(4),vd(` `,e.i18n.plural(`accounting.rows`,k_(35,D,e.letteringTable.results().length)),` `)}}function rn(a,n){if(a&1){let e=zS();Us(0,`button`,29),Gy(`click`,function(){Ip(e);return wp(qS(2).downloadFec())}),y_(1),fd()}if(a&2){let e=qS(2);ZC(),vd(` `,e.i18n.t(`accounting.fec`),` `)}}function cn(a,n){if(a&1){let e=zS();Us(0,`button`,29),Gy(`click`,function(){Ip(e);return wp(qS(3).downloadCa3())}),y_(1),fd()}if(a&2){let e=qS(3);ZC(),vd(` `,e.i18n.t(`accounting.ca3`),` `)}}function ln(a,n){a&1&&Iy(0,cn,2,1,`button`,69),a&2&&Fy(`appCan`,`accounting.export`)}function dn(a,n){if(a&1){let e=zS();Us(0,`button`,29),Gy(`click`,function(){Ip(e);return wp(qS(4).loadTaxFiling())}),y_(1),fd()}if(a&2){let e=qS(4);ZC(),vd(` `,e.i18n.t(`accounting.taxFiling.load`),` `)}}function sn(a,n){if(a&1&&(Us(0,`small`),y_(1),fd()),a&2){let e=qS(6);ZC(),nv(e.i18n.t(`accounting.taxFiling.credentialStored`))}}function un(a,n){if(a&1){let e=zS();Us(0,`div`,18)(1,`label`,88),y_(2),fd(),Us(3,`input`,89),cv(`ngModelChange`,function(t){Ip(e);let d=qS(5);return T_(d.taxFilingForm.endpoint,t)||(d.taxFilingForm.endpoint=t),wp(t)}),fd(),qT(),fd(),Us(4,`div`,18)(5,`label`,90),y_(6),fd(),Us(7,`input`,91),cv(`ngModelChange`,function(t){Ip(e);let d=qS(5);return T_(d.taxFilingForm.apiKey,t)||(d.taxFilingForm.apiKey=t),wp(t)}),fd(),qT(),OS(8,sn,2,1,`small`),fd()}if(a&2){let e=qS(5);ZC(2),nv(e.i18n.t(`accounting.taxFiling.endpoint`)),ZC(),av(`ngModel`,e.taxFilingForm.endpoint),ZT(),ZC(3),nv(e.i18n.t(`accounting.taxFiling.apiKey`)),ZC(),av(`ngModel`,e.taxFilingForm.apiKey),ZT(),ZC(),kS(e.taxFilingSettings()?.credentialsPresent?8:-1)}}function pn(a,n){if(a&1){let e=zS();Us(0,`button`,65),Gy(`click`,function(){Ip(e);return wp(qS(5).saveTaxFilingSettings())}),y_(1),fd()}if(a&2){let e=qS(5);Fy(`disabled`,e.busy()),ZC(),vd(` `,e.i18n.t(`accounting.save`),` `)}}function _n(a,n){if(a&1){let e=zS();Us(0,`button`,27),Gy(`click`,function(){Ip(e);return wp(qS(5).submitTaxFiling())}),y_(1),fd()}if(a&2){let e=qS(5);Fy(`disabled`,e.busy()||!e.taxReport()),ZC(),vd(` `,e.i18n.t(`accounting.taxFiling.submit`),` `)}}function gn(a,n){if(a&1&&(Us(0,`li`),y_(1),fd()),a&2){let e=n.$implicit;ZC(),ov(``,e.startsOn,` — `,e.endsOn,` · `,e.providerReceipt)}}function mn(a,n){if(a&1){let e=zS();Us(0,`div`,42)(1,`div`,18)(2,`label`,83),y_(3),fd(),Us(4,`select`,84),cv(`ngModelChange`,function(t){Ip(e);let d=qS(4);return T_(d.taxFilingForm.adapter,t)||(d.taxFilingForm.adapter=t),wp(t)}),Us(5,`option`,85),y_(6),fd(),Us(7,`option`,86),y_(8),fd()(),qT(),fd(),OS(9,un,9,5),fd(),Us(10,`div`,26),Iy(11,pn,2,2,`button`,87)(12,_n,2,2,`button`,71),fd(),Us(13,`ul`),LS(14,gn,2,3,`li`,null,J),fd()}if(a&2){let e=qS(4);ZC(3),nv(e.i18n.t(`accounting.taxFiling.adapter`)),ZC(),av(`ngModel`,e.taxFilingForm.adapter),ZT(),ZC(2),nv(e.i18n.t(`accounting.taxFiling.local`)),ZC(2),nv(e.i18n.t(`accounting.taxFiling.http`)),ZC(),kS(e.taxFilingForm.adapter===`http`?9:-1),ZC(2),Fy(`appCan`,`accounting.close`),ZC(),Fy(`appCan`,`accounting.close`),ZC(2),jS(e.taxFilings())}}function yn(a,n){if(a&1&&(Us(0,`div`,17)(1,`h2`),y_(2),fd(),OS(3,dn,2,1,`button`,28)(4,mn,16,7),fd()),a&2){let e=qS(3);ZC(2),nv(e.i18n.t(`accounting.taxFiling`)),ZC(),kS(e.taxFilingSettings()?4:3)}}function bn(a,n){a&1&&Iy(0,yn,5,2,`div`,10),a&2&&Fy(`appCan`,`accounting.export`)}function xn(a,n){if(a&1&&(Us(0,`tr`)(1,`th`,30),y_(2),fd(),Us(3,`td`),y_(4),fd(),Us(5,`td`,74),y_(6),fd(),Us(7,`td`,74),y_(8),fd(),Us(9,`td`,74),y_(10),fd()()),a&2){let e=n.$implicit,r=qS(3),t=e.item;ZC(2),nv(t.accountCode),ZC(2),nv(t.accountLabel),ZC(2),nv(r.money(t.debitCents)),ZC(2),nv(r.money(t.creditCents)),ZC(2),nv(r.money(t.balanceCents))}}function Cn(a,n){if(a&1){let e=zS();Us(0,`section`,79)(1,`h2`,92),y_(2),fd(),Us(3,`app-workspace-table-tools`,93),Gy(`queryChange`,function(t){Ip(e);return wp(qS(2).balanceTable.search(t))})(`filterChange`,function(t){Ip(e);return wp(qS(2).balanceTable.filter(t))}),fd(),Us(4,`div`,13)(5,`table`)(6,`thead`)(7,`tr`)(8,`th`,14)(9,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS(2).balanceTable.sort(`account`))}),fd()(),Us(10,`th`,14)(11,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS(2).balanceTable.sort(`label`))}),fd()(),Us(12,`th`,14)(13,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS(2).balanceTable.sort(`debit`))}),fd()(),Us(14,`th`,14)(15,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS(2).balanceTable.sort(`credit`))}),fd()(),Us(16,`th`,14)(17,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS(2).balanceTable.sort(`balance`))}),fd()()()(),Us(18,`tbody`),LS(19,xn,11,5,`tr`,null,yt),fd(),Us(21,`tfoot`)(22,`tr`)(23,`th`,94),y_(24),fd(),Us(25,`td`,74),y_(26),fd(),Us(27,`td`,74),y_(28),fd(),Py(29,`td`),fd()()()(),Us(30,`footer`,16)(31,`p`,6),y_(32),fd()()()}if(a&2){let e=n,r=qS(2);ZC(2),nv(r.i18n.t(`accounting.balance`)),ZC(),Fy(`query`,r.balanceTable.query().q)(`filter`,r.balanceTable.query().filter)(`filterLabel`,r.i18n.t(`accounting.balance`))(`filterSummary`,r.balanceTable.filterSummary())(`filterOptions`,r.balanceTable.filterOptions())(`columns`,O_(28,pt))(`rows`,r.balanceExport())(`pending`,r.busy()),ZC(5),ky(`aria-sort`,r.balanceTable.direction(`account`)),ZC(),Fy(`label`,r.i18n.t(`accounting.account`))(`direction`,r.balanceTable.direction(`account`)),ZC(),ky(`aria-sort`,r.balanceTable.direction(`label`)),ZC(),Fy(`label`,r.i18n.t(`accounting.label`))(`direction`,r.balanceTable.direction(`label`)),ZC(),ky(`aria-sort`,r.balanceTable.direction(`debit`)),ZC(),Fy(`label`,r.i18n.t(`accounting.debit`))(`direction`,r.balanceTable.direction(`debit`)),ZC(),ky(`aria-sort`,r.balanceTable.direction(`credit`)),ZC(),Fy(`label`,r.i18n.t(`accounting.credit`))(`direction`,r.balanceTable.direction(`credit`)),ZC(),ky(`aria-sort`,r.balanceTable.direction(`balance`)),ZC(),Fy(`label`,r.i18n.t(`accounting.balance`))(`direction`,r.balanceTable.direction(`balance`)),ZC(2),jS(r.balanceTable.results()),ZC(5),nv(r.i18n.t(`accounting.total`)),ZC(2),nv(r.money(e.debitCents)),ZC(2),nv(r.money(e.creditCents)),ZC(4),vd(` `,r.i18n.plural(`accounting.rows`,k_(29,D,r.balanceTable.results().length)),` `)}}function vn(a,n){if(a&1&&(Us(0,`section`,80)(1,`h2`,95),y_(2),fd(),Us(3,`dl`)(4,`div`)(5,`dt`),y_(6),fd(),Us(7,`dd`),y_(8),fd()(),Us(9,`div`)(10,`dt`),y_(11),fd(),Us(12,`dd`),y_(13),fd()(),Us(14,`div`)(15,`dt`),y_(16),fd(),Us(17,`dd`),y_(18),fd()(),Us(19,`div`)(20,`dt`),y_(21),fd(),Us(22,`dd`),y_(23),fd()(),Us(24,`div`)(25,`dt`),y_(26),fd(),Us(27,`dd`),y_(28),fd()(),Us(29,`div`)(30,`dt`),y_(31),fd(),Us(32,`dd`),y_(33),fd()()()()),a&2){let e=n,r=qS(2);ZC(2),nv(r.i18n.t(`accounting.financialStatements`)),ZC(4),nv(r.i18n.t(`accounting.assets`)),ZC(2),nv(r.money(e.assets.totalCents)),ZC(3),nv(r.i18n.t(`accounting.liabilities`)),ZC(2),nv(r.money(e.liabilities.totalCents)),ZC(3),nv(r.i18n.t(`accounting.equity`)),ZC(2),nv(r.money(e.equity.totalCents)),ZC(3),nv(r.i18n.t(`accounting.income`)),ZC(2),nv(r.money(e.income.totalCents)),ZC(3),nv(r.i18n.t(`accounting.expenses`)),ZC(2),nv(r.money(e.expenses.totalCents)),ZC(3),nv(r.i18n.t(`accounting.netIncome`)),ZC(2),nv(r.money(e.netIncomeCents))}}function fn(a,n){if(a&1&&(Us(0,`div`)(1,`dt`),y_(2),fd(),Us(3,`dd`),y_(4),fd()()),a&2){let e=n.$implicit,r=qS(3);ZC(2),rv(``,e.code,` — `,r.i18n.t(r.taxBoxLabel(e.code))),ZC(2),nv(r.money(e.amountCents))}}function hn(a,n){if(a&1&&(Us(0,`section`,81)(1,`h2`,96),y_(2),fd(),Us(3,`dl`),LS(4,fn,5,3,`div`,null,bt),fd()()),a&2){let e=qS(2);ZC(2),nv(e.i18n.t(`accounting.vat`)),ZC(2),jS(n.ca3)}}function wn(a,n){if(a&1&&(Us(0,`tr`)(1,`td`),y_(2),fd(),Us(3,`td`),y_(4),fd(),Us(5,`td`),y_(6),fd(),Us(7,`td`),y_(8),fd(),Us(9,`th`,30),y_(10),fd(),Us(11,`td`,74),y_(12),fd(),Us(13,`td`,74),y_(14),fd()()),a&2){let e=n.$implicit,r=qS(3),t=e.item;ZC(2),nv(t.entryDate),ZC(2),nv(t.journalCode),ZC(2),nv(t.reference),ZC(2),nv(t.accountCode),ZC(2),nv(t.lineLabel),ZC(2),nv(r.money(t.debitCents)),ZC(2),nv(r.money(t.creditCents))}}function Tn(a,n){if(a&1){let e=zS();Us(0,`section`,82)(1,`h2`,97),y_(2),fd(),Us(3,`app-workspace-table-tools`,98),Gy(`queryChange`,function(t){Ip(e);return wp(qS(2).ledgerTable.search(t))})(`filterChange`,function(t){Ip(e);return wp(qS(2).ledgerTable.filter(t))}),fd(),Us(4,`div`,13)(5,`table`)(6,`thead`)(7,`tr`)(8,`th`,14)(9,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS(2).ledgerTable.sort(`date`))}),fd()(),Us(10,`th`,14)(11,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS(2).ledgerTable.sort(`journal`))}),fd()(),Us(12,`th`,14)(13,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS(2).ledgerTable.sort(`reference`))}),fd()(),Us(14,`th`,14)(15,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS(2).ledgerTable.sort(`account`))}),fd()(),Us(16,`th`,14)(17,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS(2).ledgerTable.sort(`label`))}),fd()(),Us(18,`th`,14)(19,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS(2).ledgerTable.sort(`debit`))}),fd()(),Us(20,`th`,14)(21,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS(2).ledgerTable.sort(`credit`))}),fd()()()(),Us(22,`tbody`),LS(23,wn,15,7,`tr`,null,xt),fd()()(),Us(25,`footer`,16)(26,`p`,6),y_(27),fd()()()}if(a&2){let e=qS(2);ZC(2),nv(e.i18n.t(`accounting.ledger`)),ZC(),Fy(`query`,e.ledgerTable.query().q)(`filter`,e.ledgerTable.query().filter)(`filterLabel`,e.i18n.t(`accounting.balance`))(`filterSummary`,e.ledgerTable.filterSummary())(`filterOptions`,e.ledgerTable.filterOptions())(`columns`,O_(31,_t))(`rows`,e.ledgerExport())(`pending`,e.busy()),ZC(5),ky(`aria-sort`,e.ledgerTable.direction(`date`)),ZC(),Fy(`label`,e.i18n.t(`accounting.date`))(`direction`,e.ledgerTable.direction(`date`)),ZC(),ky(`aria-sort`,e.ledgerTable.direction(`journal`)),ZC(),Fy(`label`,e.i18n.t(`accounting.journal`))(`direction`,e.ledgerTable.direction(`journal`)),ZC(),ky(`aria-sort`,e.ledgerTable.direction(`reference`)),ZC(),Fy(`label`,e.i18n.t(`accounting.reference`))(`direction`,e.ledgerTable.direction(`reference`)),ZC(),ky(`aria-sort`,e.ledgerTable.direction(`account`)),ZC(),Fy(`label`,e.i18n.t(`accounting.account`))(`direction`,e.ledgerTable.direction(`account`)),ZC(),ky(`aria-sort`,e.ledgerTable.direction(`label`)),ZC(),Fy(`label`,e.i18n.t(`accounting.label`))(`direction`,e.ledgerTable.direction(`label`)),ZC(),ky(`aria-sort`,e.ledgerTable.direction(`debit`)),ZC(),Fy(`label`,e.i18n.t(`accounting.debit`))(`direction`,e.ledgerTable.direction(`debit`)),ZC(),ky(`aria-sort`,e.ledgerTable.direction(`credit`)),ZC(),Fy(`label`,e.i18n.t(`accounting.credit`))(`direction`,e.ledgerTable.direction(`credit`)),ZC(2),jS(e.ledgerTable.results()),ZC(4),vd(` `,e.i18n.plural(`accounting.rows`,k_(32,D,e.ledgerTable.results().length)),` `)}}function Sn(a,n){if(a&1){let e=zS();Us(0,`section`,8)(1,`div`,17)(2,`h2`),y_(3),fd(),Us(4,`div`,42)(5,`div`,18)(6,`label`,75),y_(7),fd(),Us(8,`input`,76),cv(`ngModelChange`,function(t){Ip(e);let d=qS();return T_(d.reportForm.startsOn,t)||(d.reportForm.startsOn=t),wp(t)}),fd(),qT(),fd(),Us(9,`div`,18)(10,`label`,77),y_(11),fd(),Us(12,`input`,78),cv(`ngModelChange`,function(t){Ip(e);let d=qS();return T_(d.reportForm.endsOn,t)||(d.reportForm.endsOn=t),wp(t)}),fd(),qT(),fd()(),Us(13,`div`,26)(14,`button`,68),Gy(`click`,function(){Ip(e);return wp(qS().loadReport())}),y_(15),fd(),Iy(16,rn,2,1,`button`,69),OS(17,ln,1,1,`button`,28),fd()(),OS(18,bn,1,1,`div`,17),OS(19,Cn,33,31,`section`,79),OS(20,vn,34,13,`section`,80),OS(21,hn,6,1,`section`,81),OS(22,Tn,28,34,`section`,82),fd()}if(a&2){let e,r,t,d,M=qS();ZC(3),nv(M.i18n.t(`accounting.reports`)),ZC(4),nv(M.i18n.t(`accounting.startsOn`)),ZC(),av(`ngModel`,M.reportForm.startsOn),ZT(),ZC(3),nv(M.i18n.t(`accounting.endsOn`)),ZC(),av(`ngModel`,M.reportForm.endsOn),ZT(),ZC(3),vd(` `,M.i18n.t(`accounting.generate`)),ZC(),Fy(`appCan`,`accounting.export`),ZC(),kS(M.taxEnabled()?17:-1),ZC(),kS(M.taxEnabled()?18:-1),ZC(),kS((e=M.report())?19:-1,e),ZC(),kS((r=M.financialReport())?20:-1,r),ZC(),kS((t=M.taxReport())?21:-1,t),ZC(),kS((d=M.ledgerReport())?22:-1,d)}}function En(a,n){if(a&1&&(Us(0,`option`,61),y_(1),fd()),a&2){let e=qS().$implicit;Fy(`value`,e.id),ZC(),nv(e.label)}}function An(a,n){if(a&1&&OS(0,En,2,2,`option`,61),a&2){let e=n.$implicit;kS(e.kind===`opening`?0:-1)}}function kn(a,n){if(a&1&&(Us(0,`option`,61),y_(1),fd()),a&2){let e=qS().$implicit;Fy(`value`,e.id),ZC(),nv(e.label)}}function Fn(a,n){if(a&1&&OS(0,kn,2,2,`option`,61),a&2){let e=n.$implicit;kS(e.status===`open`?0:-1)}}function Vn(a,n){if(a&1){let e=zS();Us(0,`div`,17)(1,`h2`),y_(2),fd(),Us(3,`p`,100),y_(4),fd(),Us(5,`div`,18)(6,`label`,101),y_(7),fd(),Us(8,`input`,102),Gy(`change`,function(t){Ip(e);return wp(qS(2).readOpeningFile(t))}),fd()(),Us(9,`div`,42)(10,`div`,18)(11,`label`,103),y_(12),fd(),Us(13,`input`,104),cv(`ngModelChange`,function(t){Ip(e);let d=qS(2);return T_(d.openingForm.accountCode,t)||(d.openingForm.accountCode=t),wp(t)}),fd(),qT(),fd(),Us(14,`div`,18)(15,`label`,105),y_(16),fd(),Us(17,`input`,106),cv(`ngModelChange`,function(t){Ip(e);let d=qS(2);return T_(d.openingForm.accountLabel,t)||(d.openingForm.accountLabel=t),wp(t)}),fd(),qT(),fd(),Us(18,`div`,18)(19,`label`,107),y_(20),fd(),Us(21,`input`,108),cv(`ngModelChange`,function(t){Ip(e);let d=qS(2);return T_(d.openingForm.debit,t)||(d.openingForm.debit=t),wp(t)}),fd(),qT(),fd(),Us(22,`div`,18)(23,`label`,109),y_(24),fd(),Us(25,`input`,110),cv(`ngModelChange`,function(t){Ip(e);let d=qS(2);return T_(d.openingForm.credit,t)||(d.openingForm.credit=t),wp(t)}),fd(),qT(),fd()(),Us(26,`div`,42)(27,`div`,18)(28,`label`,111),y_(29),fd(),Us(30,`input`,112),cv(`ngModelChange`,function(t){Ip(e);let d=qS(2);return T_(d.openingForm.entryDate,t)||(d.openingForm.entryDate=t),wp(t)}),fd(),qT(),fd(),Us(31,`div`,18)(32,`label`,113),y_(33),fd(),Us(34,`select`,114),cv(`ngModelChange`,function(t){Ip(e);let d=qS(2);return T_(d.openingForm.journalId,t)||(d.openingForm.journalId=t),wp(t)}),Py(35,`option`,52),LS(36,An,1,1,null,null,J),fd(),qT(),fd(),Us(38,`div`,18)(39,`label`,115),y_(40),fd(),Us(41,`select`,116),cv(`ngModelChange`,function(t){Ip(e);let d=qS(2);return T_(d.openingForm.periodId,t)||(d.openingForm.periodId=t),wp(t)}),Py(42,`option`,52),LS(43,Fn,1,1,null,null,J),fd(),qT(),fd()(),Us(45,`button`,68),Gy(`click`,function(){Ip(e);return wp(qS(2).previewOpening())}),y_(46),fd()()}if(a&2){let e=qS(2);ZC(2),nv(e.i18n.t(`accounting.opening.title`)),ZC(2),nv(e.i18n.t(`accounting.opening.hint`)),ZC(3),nv(e.i18n.t(`accounting.file`)),ZC(5),nv(e.i18n.t(`accounting.opening.accountColumn`)),ZC(),av(`ngModel`,e.openingForm.accountCode),ZT(),ZC(3),nv(e.i18n.t(`accounting.opening.labelColumn`)),ZC(),av(`ngModel`,e.openingForm.accountLabel),ZT(),ZC(3),nv(e.i18n.t(`accounting.opening.debitColumn`)),ZC(),av(`ngModel`,e.openingForm.debit),ZT(),ZC(3),nv(e.i18n.t(`accounting.opening.creditColumn`)),ZC(),av(`ngModel`,e.openingForm.credit),ZT(),ZC(4),nv(e.i18n.t(`accounting.date`)),ZC(),av(`ngModel`,e.openingForm.entryDate),ZT(),ZC(3),nv(e.i18n.t(`accounting.journal`)),ZC(),av(`ngModel`,e.openingForm.journalId),ZT(),ZC(2),jS(e.journals()),ZC(4),nv(e.i18n.t(`accounting.period`)),ZC(),av(`ngModel`,e.openingForm.periodId),ZT(),ZC(2),jS(e.periods()),ZC(3),vd(` `,e.i18n.t(`accounting.preview`),` `)}}function In(a,n){if(a&1){let e=zS();Us(0,`button`,68),Gy(`click`,function(){Ip(e);return wp(qS(4).commitOpening())}),y_(1),fd()}if(a&2){let e=qS(4);ZC(),vd(` `,e.i18n.t(`accounting.commit`),` `)}}function Mn(a,n){a&1&&Iy(0,In,2,1,`button`,67),a&2&&Fy(`appCan`,`accounting.validate`)}function Ln(a,n){if(a&1&&(Us(0,`div`,99)(1,`h2`),y_(2),fd(),Us(3,`p`),y_(4),fd(),Us(5,`p`),y_(6),fd(),OS(7,Mn,1,1,`button`,66),fd()),a&2){let e=n,r=qS(2);ZC(2),nv(r.i18n.t(`accounting.preview`)),ZC(),Xy(`success-text`,e.balanced),ZC(),vd(` `,r.i18n.t(r.openingStatusLabel(e.balanced)),` `),ZC(2),rv(``,r.money(e.debitCents),` / `,r.money(e.creditCents)),ZC(),kS(e.balanced?7:-1)}}function On(a,n){if(a&1&&(Us(0,`section`,8),Iy(1,Vn,47,18,`div`,10),OS(2,Ln,8,7,`div`,99),fd()),a&2){let e,r=qS();ZC(),Fy(`appCan`,`accounting.write`),ZC(),kS((e=r.openingPreview())?2:-1,e)}}function Pn(a,n){if(a&1&&(Us(0,`option`,61),y_(1),fd()),a&2){let e=n.$implicit;Fy(`value`,e.id),ZC(),rv(``,e.reference,` — `,e.description)}}function jn(a,n){if(a&1){let e=zS();Us(0,`div`,17)(1,`h2`),y_(2),fd(),Us(3,`p`,100),y_(4),fd(),Us(5,`div`,18)(6,`label`,118),y_(7),fd(),Us(8,`select`,119),cv(`ngModelChange`,function(t){Ip(e);let d=qS(2);return T_(d.evidenceForm.entryId,t)||(d.evidenceForm.entryId=t),wp(t)}),Py(9,`option`,52),LS(10,Pn,2,3,`option`,61,J),fd(),qT(),fd(),Us(12,`div`,18)(13,`label`,120),y_(14),fd(),Us(15,`input`,121),Gy(`change`,function(t){Ip(e);return wp(qS(2).readEvidenceFile(t))}),fd()(),Us(16,`button`,68),Gy(`click`,function(){Ip(e);return wp(qS(2).addEvidence())}),y_(17),fd()()}if(a&2){let e=qS(2);ZC(2),nv(e.i18n.t(`accounting.evidence.add`)),ZC(2),nv(e.i18n.t(`accounting.evidence.retention`)),ZC(3),nv(e.i18n.t(`accounting.entry`)),ZC(),av(`ngModel`,e.evidenceForm.entryId),ZT(),ZC(2),jS(e.entries()),ZC(4),nv(e.i18n.t(`accounting.file`)),ZC(3),vd(` `,e.i18n.t(`accounting.add`),` `)}}function Wn(a,n){if(a&1){let e=zS();lv(0),Us(1,`tr`)(2,`th`,30),y_(3),fd(),Us(4,`td`),y_(5),fd(),Us(6,`td`),y_(7),fd(),Us(8,`td`)(9,`code`),y_(10),fd()(),Us(11,`td`)(12,`button`,65),Gy(`click`,function(){Ip(e);let t=S_(0);return wp(qS(2).downloadEvidence(t))}),y_(13),fd()()()}if(a&2){let e=n.$implicit,r=qS(2),t=b_(e.item);ZC(3),nv(t.fileName),ZC(2),nv(t.entryId),ZC(2),nv(t.mediaType),ZC(3),nv(t.sha256),ZC(2),Fy(`disabled`,r.busy()),ZC(),vd(` `,r.i18n.t(`accounting.download`),` `)}}function qn(a,n){if(a&1){let e=zS();Us(0,`section`,7),Iy(1,jn,18,6,`div`,10),Us(2,`section`,11)(3,`app-workspace-table-tools`,117),Gy(`queryChange`,function(t){Ip(e);return wp(qS().evidenceTable.search(t))})(`filterChange`,function(t){Ip(e);return wp(qS().evidenceTable.filter(t))}),fd(),Us(4,`div`,13)(5,`table`)(6,`thead`)(7,`tr`)(8,`th`,14)(9,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().evidenceTable.sort(`file`))}),fd()(),Us(10,`th`,14)(11,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().evidenceTable.sort(`entry`))}),fd()(),Us(12,`th`,14)(13,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().evidenceTable.sort(`mediaType`))}),fd()(),Us(14,`th`,14)(15,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().evidenceTable.sort(`fingerprint`))}),fd()(),Us(16,`th`,14),y_(17),fd()()(),Us(18,`tbody`),LS(19,Wn,14,7,`tr`,null,H),fd()()(),Us(21,`footer`,16)(22,`p`,6),y_(23),fd()()()()}if(a&2){let e=qS();ZC(),Fy(`appCan`,`accounting.evidence`),ZC(2),Fy(`query`,e.evidenceTable.query().q)(`filter`,e.evidenceTable.query().filter)(`filterLabel`,e.i18n.t(`accounting.mediaType`))(`filterSummary`,e.evidenceTable.filterSummary())(`filterOptions`,e.evidenceTable.filterOptions())(`columns`,O_(23,gt))(`rows`,e.evidenceExport())(`pending`,e.busy()),ZC(5),ky(`aria-sort`,e.evidenceTable.direction(`file`)),ZC(),Fy(`label`,e.i18n.t(`accounting.file`))(`direction`,e.evidenceTable.direction(`file`)),ZC(),ky(`aria-sort`,e.evidenceTable.direction(`entry`)),ZC(),Fy(`label`,e.i18n.t(`accounting.entry`))(`direction`,e.evidenceTable.direction(`entry`)),ZC(),ky(`aria-sort`,e.evidenceTable.direction(`mediaType`)),ZC(),Fy(`label`,e.i18n.t(`accounting.mediaType`))(`direction`,e.evidenceTable.direction(`mediaType`)),ZC(),ky(`aria-sort`,e.evidenceTable.direction(`fingerprint`)),ZC(),Fy(`label`,e.i18n.t(`accounting.fingerprint`))(`direction`,e.evidenceTable.direction(`fingerprint`)),ZC(2),nv(e.i18n.t(`accounting.actions`)),ZC(2),jS(e.evidenceTable.results()),ZC(4),vd(` `,e.i18n.plural(`accounting.rows`,k_(24,D,e.evidenceTable.results().length)),` `)}}var Dn=100;var Rn=`;`;var Nn=[`accounts`,`journals`,`periods`,`entries`,`lettering`,`reports`,`opening`,`evidence`];var ie=()=>({accountId:``,label:``,debit:``,credit:``});var it=()=>new Date().toISOString().slice(0,10);var ae=()=>{let a=new Date().getFullYear();return{startsOn:`${a}-01-01`,endsOn:`${a}-12-31`}};var at=class a$1{authentication=g(E);i18n=g(Ie);api=g(X);confirmation=g(P);taxEnabled=Ft$1(()=>this.authentication.account()?.enabledModules.includes(`tax`)===!0);state=Ke(`loading`);busy=Ke(!1);notice=Ke(null);error=Ke(null);tab=Ke(`accounts`);tabs=Ft$1(()=>Nn.map(n=>({id:n,label:this.i18n.t(this.tabLabel(n)),active:this.tab()===n})));accounts=Ke([]);journals=Ke([]);periods=Ke([]);entries=Ke([]);letterableLines=Ke([]);selectedLetteringLines=Ke(new Set);evidence=Ke([]);accountTable=N$1(this.accounts,Ge);journalTable=N$1(this.journals,Ye);periodTable=N$1(this.periods,Xe);entryTable=N$1(this.entries,Ze);letteringTable=N$1(this.letterableLines,$e);evidenceTable=N$1(this.evidence,et);activeAccounts=Ft$1(()=>this.accounts().filter(n=>!n.archived));accountForm={id:null,code:``,label:``,kind:`asset`,archived:!1,version:null};journalForm={id:null,code:``,label:``,kind:`general`,archived:!1,version:null};periodForm={label:``,startsOn:ae().startsOn,endsOn:ae().endsOn};entryForm={journalId:``,periodId:``,entryDate:it(),reference:``,description:``,lines:[ie(),ie()]};reportForm=ae();report=Ke(null);ledgerReport=Ke(null);balanceRows=Ft$1(()=>this.report()?.rows??[]);ledgerRows=Ft$1(()=>this.ledgerReport()?.rows??[]);balanceTable=N$1(this.balanceRows,tt);ledgerTable=N$1(this.ledgerRows,nt);financialReport=Ke(null);taxReport=Ke(null);taxFilingSettings=Ke(null);taxFilings=Ke([]);taxFilingForm={adapter:`local`,endpoint:``,apiKey:``};openingForm={csv:``,delimiter:Rn,accountCode:`account`,accountLabel:`label`,debit:`debit`,credit:`credit`,entryDate:it(),journalId:``,periodId:``};openingPreview=Ke(null);evidenceForm={entryId:``,fileName:``,mediaType:``,contentBase64:``};accountExport=Ft$1(()=>this.accountTable.rows().map(n=>[n.code,n.label,this.i18n.t(this.accountKindLabel(n.kind)),this.i18n.t(this.entityStatusLabel(n.archived))]));journalExport=Ft$1(()=>this.journalTable.rows().map(n=>[n.code,n.label,this.i18n.t(this.journalKindLabel(n.kind)),this.i18n.t(this.entityStatusLabel(n.archived))]));periodExport=Ft$1(()=>this.periodTable.rows().map(n=>[n.label,n.startsOn,n.endsOn,this.i18n.t(this.periodStatusLabel(n))]));entryExport=Ft$1(()=>this.entryTable.rows().map(n=>[n.entryDate,n.reference,n.description,this.i18n.t(this.entryStatusLabel(n))]));letteringExport=Ft$1(()=>this.letteringTable.rows().map(n=>[n.entryDate,n.reference,n.accountCode,n.lineLabel,n.debitCents,n.creditCents,n.letteringCode??``]));evidenceExport=Ft$1(()=>this.evidenceTable.rows().map(n=>[n.fileName,n.entryId,n.mediaType,n.sha256]));balanceExport=Ft$1(()=>this.balanceTable.rows().map(n=>[n.accountCode,n.accountLabel,n.debitCents,n.creditCents,n.balanceCents]));ledgerExport=Ft$1(()=>this.ledgerTable.rows().map(n=>[n.entryDate,n.journalCode,n.reference,n.accountCode,n.lineLabel,n.debitCents,n.creditCents]));constructor(){this.load()}async load(){this.state.set(`loading`);let[n,e,r,t,d,M]=await Promise.all([this.api.listAccounts(),this.api.listJournals(),this.api.listPeriods(),this.api.listEntries(),this.api.listLetterableLines(),this.api.listEvidence()]);if(!n.success||!e.success||!r.success||!t.success||!d.success||!M.success){this.state.set(`error`);return}this.accounts.set(n.result),this.journals.set(e.result),this.periods.set(r.result),this.entries.set(t.result),this.letterableLines.set(d.result),this.evidence.set(M.result),this.state.set(`ready`)}selectTab(n){let e=this.tabs().find(({id:r})=>r===n)?.id;e!==void 0&&(this.tab.set(e),this.clearMessages())}tabLabel(n){return`accounting.${n}`}accountHeading(){return this.accountForm.id?`accounting.account.edit`:`accounting.account.add`}journalHeading(){return this.journalForm.id?`accounting.journal.edit`:`accounting.journal.add`}entityStatusLabel(n){return n?`accounting.archived`:`accounting.active`}archiveActionLabel(n){return n?`accounting.reactivate`:`accounting.archive`}openingStatusLabel(n){return n?`accounting.opening.balanced`:`accounting.opening.unbalanced`}taxBoxLabel(n){return n===`16`?`accounting.ca3.box16`:n===`20`?`accounting.ca3.box20`:`accounting.ca3.box28`}accountKindLabel(n){return`accounting.accountKind.${n}`}journalKindLabel(n){return`accounting.journalKind.${n}`}periodStatusLabel(n){return n.finalClosed?`accounting.period.final`:`accounting.period.${n.status}`}entryStatusLabel(n){return`accounting.entry.${n.status}`}money(n){return Ne(n,this.i18n.language(),`EUR`)}editAccount(n){this.accountForm={id:n.id,code:n.code,label:n.label,kind:n.kind,archived:n.archived,version:n.version}}resetAccount(){this.accountForm={id:null,code:``,label:``,kind:`asset`,archived:!1,version:null}}async saveAccount(){await this.run(async()=>{let n=await this.api.writeAccount(this.accountForm.id,{code:this.accountForm.code,label:this.accountForm.label,kind:this.accountForm.kind,archived:this.accountForm.archived,expectedVersion:this.accountForm.version});return n.success?(this.replace(this.accounts,n.result),this.resetAccount(),!0):!1})}async toggleAccount(n){await this.run(async()=>{let e=await this.api.writeAccount(n.id,{code:n.code,label:n.label,kind:n.kind,archived:!n.archived,expectedVersion:n.version});return e.success?(this.replace(this.accounts,e.result),!0):!1})}editJournal(n){this.journalForm={id:n.id,code:n.code,label:n.label,kind:n.kind,archived:n.archived,version:n.version}}resetJournal(){this.journalForm={id:null,code:``,label:``,kind:`general`,archived:!1,version:null}}async saveJournal(){await this.run(async()=>{let n=await this.api.writeJournal(this.journalForm.id,{code:this.journalForm.code,label:this.journalForm.label,kind:this.journalForm.kind,archived:this.journalForm.archived,expectedVersion:this.journalForm.version});return n.success?(this.replace(this.journals,n.result),this.resetJournal(),!0):!1})}async toggleJournal(n){await this.run(async()=>{let e=await this.api.writeJournal(n.id,{code:n.code,label:n.label,kind:n.kind,archived:!n.archived,expectedVersion:n.version});return e.success?(this.replace(this.journals,e.result),!0):!1})}async createPeriod(){await this.run(async()=>{let n=await this.api.createPeriod(this.periodForm);return n.success?(this.periods.update(e=>[n.result,...e]),!0):!1})}async transitionPeriod(n,e){let r;if(e===`reopen`){if(!await this.confirmation.requestAcknowledgement(this.i18n.tf(`accounting.reopenWarning`,{label:n.label}),this.i18n.tf(`accounting.reopenAcknowledgement`,{label:n.label}),n.label,{acceptLabel:this.i18n.t(`accounting.reopen`),variant:`danger`}))return;r=n.label}await this.run(async()=>{let t=await this.api.transitionPeriod(n.id,e,n.version,r);return t.success?(this.replace(this.periods,t.result),!0):!1})}addEntryLine(){this.entryForm.lines.push(ie())}removeEntryLine(n){this.entryForm.lines.length>2&&this.entryForm.lines.splice(n,1)}async createEntry(){await this.run(async()=>{let n=this.entryForm.lines.map(r=>({accountId:r.accountId,label:r.label,debitCents:this.cents(r.debit),creditCents:this.cents(r.credit)})),e=await this.api.createEntry({requestId:crypto.randomUUID(),journalId:this.entryForm.journalId,periodId:this.entryForm.periodId,entryDate:this.entryForm.entryDate,reference:this.entryForm.reference,description:this.entryForm.description,lines:n});return e.success?(this.entries.update(r=>[e.result,...r]),!0):!1})}async commandEntry(n,e){await this.run(async()=>{let r=await this.api.commandEntry(n.id,e,{requestId:crypto.randomUUID(),expectedVersion:n.version});return r.success?(e===`reverse`?this.entries.update(t=>[r.result,...t.map(d=>d.id!==n.id?d:m(l({},d),{status:`reversed`,version:d.version+1}))]):this.replace(this.entries,r.result),!0):!1})}letteringSelected(n){return this.selectedLetteringLines().has(n)}toggleLetteringLine(n,e){this.selectedLetteringLines.update(r=>{let t=new Set(r);return e?t.add(n):t.delete(n),t})}async createLettering(){await this.run(async()=>{let n=[...this.selectedLetteringLines()],e=await this.api.createLettering({requestId:crypto.randomUUID(),lineIds:n});if(!e.success)return!1;let r=new Set(e.result.lineIds);return this.letterableLines.update(t=>t.map(d=>r.has(d.lineId)?m(l({},d),{letteringCode:e.result.code}):d)),this.selectedLetteringLines.set(new Set),!0})}async loadReport(){await this.run(async()=>{let[n,e,r]=await Promise.all([this.api.report(this.reportForm),this.api.ledger(this.reportForm),this.api.financial(this.reportForm)]);if(!n.success||!e.success||!r.success)return!1;if(this.report.set(n.result),this.ledgerReport.set(e.result),this.financialReport.set(r.result),this.taxEnabled()){let t=await this.api.tax(this.reportForm);if(!t.success)return!1;this.taxReport.set(t.result)}else this.taxReport.set(null);return!0})}async downloadFec(){await this.run(async()=>{let n=await this.api.fec(this.reportForm);return this.download(n,`fec.txt`,`text/plain;charset=utf-8`),!0})}async downloadCa3(){await this.run(async()=>{let n=await this.api.ca3(this.reportForm);return this.download(n,`ca3.json`,`application/json;charset=utf-8`),!0})}async loadTaxFiling(){let[n,e]=await Promise.all([this.api.taxFilingSettings(),this.api.taxFilings()]);if(!n.success||!e.success){this.error.set(`accounting.error`);return}this.taxFilingSettings.set(n.result),this.taxFilings.set(e.result),this.taxFilingForm.adapter=n.result.adapter,this.taxFilingForm.endpoint=n.result.endpoint??``}async saveTaxFilingSettings(){this.busy.set(!0);let n=await this.api.updateTaxFilingSettings({adapter:this.taxFilingForm.adapter,endpoint:this.taxFilingForm.adapter===`http`?this.taxFilingForm.endpoint:null,apiKey:this.taxFilingForm.apiKey||null});if(this.busy.set(!1),!n.success){this.error.set(`accounting.error`);return}this.taxFilingSettings.set(n.result),this.taxFilingForm.apiKey=``}async submitTaxFiling(){if(!await this.confirmation.request(this.i18n.t(`accounting.taxFiling.confirm`)))return;this.busy.set(!0);let e=await this.api.submitTaxFiling(this.reportForm);if(this.busy.set(!1),!e.success){this.error.set(`accounting.error`);return}this.taxFilings.update(r=>[e.result,...r]),this.notice.set(`accounting.taxFiling.submitted`)}async readOpeningFile(n){if(!(n.target instanceof HTMLInputElement))return;let e=n.target.files?.[0];e&&(this.openingForm.csv=await e.text(),this.openingPreview.set(null))}async previewOpening(){await this.run(async()=>{let n=await this.api.previewOpening(this.openingRequest());return n.success?(this.openingPreview.set(n.result),!0):!1})}async commitOpening(){await this.run(async()=>{let n=await this.api.commitOpening(m(l({},this.openingRequest()),{requestId:crypto.randomUUID(),journalId:this.openingForm.journalId,periodId:this.openingForm.periodId}));return n.success?(this.entries.update(e=>[n.result,...e]),!0):!1})}async readEvidenceFile(n){if(!(n.target instanceof HTMLInputElement))return;let e=n.target.files?.[0];if(!e)return;this.evidenceForm.fileName=e.name,this.evidenceForm.mediaType=e.type||`application/octet-stream`;let r=new Uint8Array(await e.arrayBuffer()),t=``;for(let d of r)t+=String.fromCharCode(d);this.evidenceForm.contentBase64=btoa(t)}async addEvidence(){await this.run(async()=>{let n=await this.api.createEvidence(this.evidenceForm);return n.success?(this.evidence.update(e=>[n.result,...e]),!0):!1})}async downloadEvidence(n){this.busy.set(!0),this.clearMessages();try{let e=await this.api.downloadEvidence(n.id);this.downloadBlob(e,n.fileName)}catch{this.error.set(`accounting.error`)}finally{this.busy.set(!1)}}openingRequest(){return{csv:this.openingForm.csv,delimiter:this.openingForm.delimiter,columns:{accountCode:this.openingForm.accountCode,accountLabel:this.openingForm.accountLabel,debit:this.openingForm.debit,credit:this.openingForm.credit},entryDate:this.openingForm.entryDate}}cents(n){let e=Number(n.replace(`,`,`.`));return Math.round(e*Dn)}replace(n,e){n.update(r=>r.map(t=>t.id===e.id?e:t))}async run(n){this.busy.set(!0),this.clearMessages();try{await n()?this.notice.set(`accounting.saved`):this.error.set(`accounting.error`)}catch{this.error.set(`accounting.error`)}finally{this.busy.set(!1)}}clearMessages(){this.notice.set(null),this.error.set(null)}download(n,e,r){this.downloadBlob(new Blob([n],{type:r}),e)}downloadBlob(n,e){let r=URL.createObjectURL(n),t=document.createElement(`a`);t.href=r,t.download=e,t.click(),URL.revokeObjectURL(r)}static ɵfac=function(e){return new(e||a$1)};static ɵcmp=Fb({type:a$1,selectors:[[`app-accounting`]],hostAttrs:[1,`page-container`],decls:19,vars:16,consts:[[`aria-labelledby`,`accounting-title`,1,`detail-page`,`wide-page`,`accounting-page`],[`id`,`accounting-title`],[1,`muted`],[3,`tabSelected`,`label`,`tabs`],[`appNotice`,``,`variant`,`success`,`role`,`status`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`role`,`status`],[1,`workspace-grid`],[1,`flow`],[`aria-labelledby`,`lettering-title`,1,`flow`],[`class`,`ds-panel form-panel`,4,`appCan`],[`appListWorkspace`,``],[`filename`,`accounting-accounts.csv`,3,`queryChange`,`filterChange`,`query`,`filter`,`filterLabel`,`filterSummary`,`filterOptions`,`columns`,`rows`,`pending`],[`appDataTable`,``,`tableLayout`,`fluid`],[`scope`,`col`],[`appTableSort`,``,3,`click`,`label`,`direction`],[1,`list-summary`],[1,`ds-panel`,`form-panel`],[1,`field`],[`for`,`account-code`],[`id`,`account-code`,1,`input`,3,`ngModelChange`,`ngModel`],[`for`,`account-label`],[`id`,`account-label`,1,`input`,3,`ngModelChange`,`ngModel`],[`for`,`account-kind`],[`appFilterSelect`,``,`id`,`account-kind`,1,`select`,3,`ngModelChange`,`ngModel`],[3,`ngValue`],[1,`button-row`],[`appButton`,``,`variant`,`primary`,`type`,`button`,3,`click`,`disabled`],[`appButton`,``,`type`,`button`],[`appButton`,``,`type`,`button`,3,`click`],[`scope`,`row`],[`class`,`button-row`,4,`appCan`],[`filename`,`accounting-journals.csv`,3,`queryChange`,`filterChange`,`query`,`filter`,`filterLabel`,`filterSummary`,`filterOptions`,`columns`,`rows`,`pending`],[`for`,`journal-code`],[`id`,`journal-code`,1,`input`,3,`ngModelChange`,`ngModel`],[`for`,`journal-label`],[`id`,`journal-label`,1,`input`,3,`ngModelChange`,`ngModel`],[`for`,`journal-kind`],[`appFilterSelect`,``,`id`,`journal-kind`,1,`select`,3,`ngModelChange`,`ngModel`],[`filename`,`accounting-periods.csv`,3,`queryChange`,`filterChange`,`query`,`filter`,`filterLabel`,`filterSummary`,`filterOptions`,`columns`,`rows`,`pending`],[`for`,`period-label`],[`id`,`period-label`,1,`input`,3,`ngModelChange`,`ngModel`],[1,`field-grid`],[`for`,`period-start`],[`id`,`period-start`,`type`,`date`,1,`input`,3,`ngModelChange`,`ngModel`],[`for`,`period-end`],[`id`,`period-end`,`type`,`date`,1,`input`,3,`ngModelChange`,`ngModel`],[`appButton`,``,`variant`,`danger`,`type`,`button`],[`appButton`,``,`variant`,`danger`,`type`,`button`,3,`click`],[`filename`,`accounting-entries.csv`,3,`queryChange`,`filterChange`,`query`,`filter`,`filterLabel`,`filterSummary`,`filterOptions`,`columns`,`rows`,`pending`],[`for`,`entry-journal`],[`appFilterSelect`,``,`id`,`entry-journal`,1,`select`,3,`ngModelChange`,`ngModel`],[`value`,``],[`for`,`entry-period`],[`appFilterSelect`,``,`id`,`entry-period`,1,`select`,3,`ngModelChange`,`ngModel`],[`for`,`entry-date`],[`id`,`entry-date`,`type`,`date`,1,`input`,3,`ngModelChange`,`ngModel`],[`for`,`entry-reference`],[`id`,`entry-reference`,1,`input`,3,`ngModelChange`,`ngModel`],[`for`,`entry-description`],[`id`,`entry-description`,1,`input`,3,`ngModelChange`,`ngModel`],[3,`value`],[`appFilterSelect`,``,1,`select`,3,`ngModelChange`,`ngModel`],[1,`input`,3,`ngModelChange`,`ngModel`],[`inputmode`,`decimal`,1,`input`,3,`ngModelChange`,`ngModel`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`],[`appButton`,``,`variant`,`primary`,`type`,`button`],[`appButton`,``,`variant`,`primary`,`type`,`button`,3,`click`,4,`appCan`],[`appButton`,``,`variant`,`primary`,`type`,`button`,3,`click`],[`appButton`,``,`type`,`button`,3,`click`,4,`appCan`],[`id`,`lettering-title`],[`appButton`,``,`variant`,`primary`,`type`,`button`,3,`disabled`,`click`,4,`appCan`],[`filename`,`accounting-lettering.csv`,3,`queryChange`,`filterChange`,`query`,`filter`,`filterLabel`,`filterSummary`,`filterOptions`,`columns`,`rows`,`pending`],[`type`,`checkbox`,3,`change`,`checked`,`disabled`],[1,`numeric`],[`for`,`report-start`],[`id`,`report-start`,`type`,`date`,1,`input`,3,`ngModelChange`,`ngModel`],[`for`,`report-end`],[`id`,`report-end`,`type`,`date`,1,`input`,3,`ngModelChange`,`ngModel`],[`appListWorkspace`,``,`aria-labelledby`,`balance-title`],[`aria-labelledby`,`financial-title`,1,`report-cards`],[`aria-labelledby`,`tax-title`,1,`report-cards`],[`appListWorkspace`,``,`aria-labelledby`,`ledger-title`],[`for`,`tax-filing-adapter`],[`appFilterSelect`,``,`id`,`tax-filing-adapter`,1,`select`,3,`ngModelChange`,`ngModel`],[`value`,`local`],[`value`,`http`],[`appButton`,``,`type`,`button`,3,`disabled`,`click`,4,`appCan`],[`for`,`tax-filing-endpoint`],[`id`,`tax-filing-endpoint`,`type`,`url`,1,`input`,3,`ngModelChange`,`ngModel`],[`for`,`tax-filing-key`],[`id`,`tax-filing-key`,`type`,`password`,`autocomplete`,`new-password`,1,`input`,3,`ngModelChange`,`ngModel`],[`id`,`balance-title`],[`filename`,`accounting-balance.csv`,3,`queryChange`,`filterChange`,`query`,`filter`,`filterLabel`,`filterSummary`,`filterOptions`,`columns`,`rows`,`pending`],[`colspan`,`2`],[`id`,`financial-title`],[`id`,`tax-title`],[`id`,`ledger-title`],[`filename`,`accounting-ledger.csv`,3,`queryChange`,`filterChange`,`query`,`filter`,`filterLabel`,`filterSummary`,`filterOptions`,`columns`,`rows`,`pending`],[1,`preview-surface`,`ds-panel`],[`appFieldHint`,``],[`for`,`opening-file`],[`id`,`opening-file`,`type`,`file`,`accept`,`text/csv,.csv`,1,`input`,3,`change`],[`for`,`opening-code`],[`id`,`opening-code`,1,`input`,3,`ngModelChange`,`ngModel`],[`for`,`opening-label`],[`id`,`opening-label`,1,`input`,3,`ngModelChange`,`ngModel`],[`for`,`opening-debit`],[`id`,`opening-debit`,1,`input`,3,`ngModelChange`,`ngModel`],[`for`,`opening-credit`],[`id`,`opening-credit`,1,`input`,3,`ngModelChange`,`ngModel`],[`for`,`opening-date`],[`id`,`opening-date`,`type`,`date`,1,`input`,3,`ngModelChange`,`ngModel`],[`for`,`opening-journal`],[`appFilterSelect`,``,`id`,`opening-journal`,1,`select`,3,`ngModelChange`,`ngModel`],[`for`,`opening-period`],[`appFilterSelect`,``,`id`,`opening-period`,1,`select`,3,`ngModelChange`,`ngModel`],[`filename`,`accounting-evidence.csv`,3,`queryChange`,`filterChange`,`query`,`filter`,`filterLabel`,`filterSummary`,`filterOptions`,`columns`,`rows`,`pending`],[`for`,`evidence-entry`],[`appFilterSelect`,``,`id`,`evidence-entry`,1,`select`,3,`ngModelChange`,`ngModel`],[`for`,`evidence-file`],[`id`,`evidence-file`,`type`,`file`,1,`input`,3,`change`]],template:function(e,r){e&1&&(Us(0,`main`,0)(1,`app-page-header`)(2,`h1`,1),y_(3),fd(),Us(4,`p`,2),y_(5),fd()(),Us(6,`app-tabs`,3),Gy(`tabSelected`,function(d){return r.selectTab(d)}),fd(),OS(7,Ct,2,1,`p`,4),OS(8,vt,2,1,`p`,5),OS(9,ft,2,1,`p`,6),OS(10,ht,2,1,`p`,5),OS(11,kt,24,26,`section`,7),OS(12,Ot,24,26,`section`,7),OS(13,Bt,22,23,`section`,7),OS(14,tn,24,26,`section`,8),OS(15,on,35,37,`section`,9),OS(16,Sn,23,13,`section`,8),OS(17,On,3,2,`section`,8),OS(18,qn,24,26,`section`,7),fd()),e&2&&(ZC(3),nv(r.i18n.t(`accounting.title`)),ZC(2),nv(r.i18n.t(`accounting.intro`)),ZC(),Fy(`label`,r.i18n.t(`accounting.sections`))(`tabs`,r.tabs()),ZC(),kS(r.notice()?7:-1),ZC(),kS(r.error()?8:-1),ZC(),kS(r.state()===`loading`?9:-1),ZC(),kS(r.state()===`error`?10:-1),ZC(),kS(r.state()===`ready`&&r.tab()===`accounts`?11:-1),ZC(),kS(r.state()===`ready`&&r.tab()===`journals`?12:-1),ZC(),kS(r.state()===`ready`&&r.tab()===`periods`?13:-1),ZC(),kS(r.state()===`ready`&&r.tab()===`entries`?14:-1),ZC(),kS(r.state()===`ready`&&r.tab()===`lettering`?15:-1),ZC(),kS(r.state()===`ready`&&r.tab()===`reports`?16:-1),ZC(),kS(r.state()===`ready`&&r.tab()===`opening`?17:-1),ZC(),kS(r.state()===`ready`&&r.tab()===`evidence`?18:-1))},dependencies:[Ae,a,M,N,l$1,c,bn$1,Vn$1,Dn$1,je,nt$1,vn$1,Lt$1,B,k,g$1,D$1,u],styles:[`.detail-page[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);min-inline-size:0;inline-size:100%;max-inline-size:var(--%NS%page-width-detail);margin-inline:auto;padding:var(--%NS%page-header-y) var(--%NS%page-x)}.detail-page.form-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-form)}.detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-wide)}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-2xl);overflow-wrap:anywhere}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-base);color:var(--%NS%color-muted);overflow-wrap:anywhere}.detail-page[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{justify-self:start}@media print{.detail-page[_ngcontent-%COMP%], .detail-page.form-page[_ngcontent-%COMP%], .detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:none}}[_nghost-%COMP%]{display:block}.workspace-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(16rem,22rem) minmax(0,1fr);gap:var(--%NS%space-5);align-items:start}.flow[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4)}.field[_ngcontent-%COMP%], .field-grid[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-2)}.field-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--%NS%space-4)}.button-row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:var(--%NS%space-2);align-items:center}.numeric[_ngcontent-%COMP%]{text-align:end;font-variant-numeric:tabular-nums}code[_ngcontent-%COMP%]{overflow-wrap:anywhere}.report-cards[_ngcontent-%COMP%] dl[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:var(--%NS%space-3)}.report-cards[_ngcontent-%COMP%] dl[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{padding:var(--%NS%space-3);border:1px solid var(--%NS%color-line);border-radius:var(--%NS%radius-sm)}.report-cards[_ngcontent-%COMP%] dt[_ngcontent-%COMP%]{color:var(--%NS%color-ink-muted)}.report-cards[_ngcontent-%COMP%] dd[_ngcontent-%COMP%]{margin:var(--%NS%space-1) 0 0;font-size:var(--%NS%text-lg);font-weight:700;font-variant-numeric:tabular-nums}@media(max-width:60rem){.workspace-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}`]})};export{at as Accounting};
@@ -0,0 +1 @@
1
+ import{n as m,t as l}from"./chunk-BwCtja5l.js";import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft$1,Ir as wp,It as Us,Jr as zS,Jt as Xy,K as Ke,Nr as vd,Rn as jS,Tn as fd,Wn as kS,Wr as y_,X as LS,dr as pe,ft as Ol,lt as OS,mr as qT,pr as qS,qn as ky,rn as Zw,rr as nv,tn as ZT,vt as Py,w as Fb,z as Ip}from"./chunk-BAHiFuUo.js";import{T as ue,m as Ie,o as U,r as N,v as Dt,y as G}from"./main-F7D3L737.js";import{ct as Me,wi as wu}from"./chunk-BAe_07VM.js";import{Ia as a,nr as Ni}from"./chunk-D5qmP2Wu.js";import{_ as te}from"./chunk-BzUDWIzm.js";import{t as d}from"./chunk-CfwFJLFh.js";import{d as nr,f as or,h as yn,n as an,o as gn,r as cn,t as P,u as mn}from"./chunk-CSkyOfSg.js";import{t as g$1}from"./chunk-B56nz2lI.js";import{t as k}from"./chunk-D5MFwK9L.js";import{t as P$1}from"./chunk-niXXbm7H.js";import{i as f,o as j,r as b,t as P$2}from"./chunk-CfcCxe_k.js";import{a as u,i as m$1,r as g$2}from"./chunk-Dx1NwQCW.js";var ft=(e,i)=>i.field;function vt(e,i){if(e&1&&(Us(0,`a`,2),y_(1),fd()),e&2){let t=qS();Fy(`routerLink`,t.backLink())(`queryParams`,t.backQuery()),ZC(),nv(t.i18n.t(`catalogWorkspace.back`))}}function yt(e,i){if(e&1&&(Us(0,`h2`,3),y_(1),fd()),e&2){let t=qS();ZC(),nv(t.i18n.t(`catalog.create`))}}function _t(e,i){if(e&1&&(Us(0,`h1`,3),y_(1),fd()),e&2){let t=qS();ZC(),nv(t.i18n.t(t.title()))}}function ht(e,i){e&1&&(Us(0,`p`),y_(1),fd()),e&2&&(ZC(),nv(i.description))}function Ct(e,i){if(e&1&&(Us(0,`span`,4),y_(1),fd()),e&2){let t=qS();ZC(),nv(t.i18n.t(t.availability()))}}function xt(e,i){if(e&1&&(Us(0,`p`,6),y_(1),fd()),e&2){let t=qS();ZC(),nv(t.i18n.t(`catalog.loading`))}}function bt(e,i){if(e&1&&(Us(0,`p`,7),y_(1),fd()),e&2){let t=qS();ZC(),nv(t.i18n.t(i))}}function kt(e,i){if(e&1){let t=zS();Us(0,`button`,9),Gy(`click`,function(){Ip(t);return wp(qS().load())}),y_(1),fd()}if(e&2){let t=qS();ZC(),nv(t.i18n.t(`catalogWorkspace.retry`))}}function Et(e,i){if(e&1&&(Us(0,`p`,10),y_(1),fd()),e&2){let t=qS(2);ZC(),nv(t.i18n.t(`catalog.saved`))}}function Pt(e,i){if(e&1&&y_(0),e&2)vd(` `,qS(3).i18n.t(`catalog.fieldInvalid`),` `)}function St(e,i){if(e&1&&y_(0),e&2){let t=qS().$implicit;vd(` `,qS(3).i18n.t(t.error),` `)}}function Mt(e,i){if(e&1&&(Us(0,`label`,18),y_(1),Py(2,`input`,24),qT(),Us(3,`span`,25),OS(4,St,1,1),fd()()),e&2){let t=i.$implicit,n=qS(3);Fy(`for`,t.id),ZC(),vd(``,n.i18n.t(t.label),` `),ZC(),Fy(`id`,t.id)(`formField`,n.itemForm[t.field]),ky(`aria-invalid`,n.invalid(t.field))(`aria-describedby`,t.id+`-error`),ZT(),ZC(),Fy(`id`,t.id+`-error`),ZC(),kS(n.invalid(t.field)?4:-1)}}function Nt(e,i){if(e&1&&(Us(0,`div`,13)(1,`fieldset`)(2,`legend`),y_(3),fd(),Us(4,`label`,26),Py(5,`input`,27),qT(),y_(6),fd(),Us(7,`p`,28),y_(8),fd()()()),e&2){let t=qS(3);ZC(3),nv(t.i18n.t(`catalogWorkspace.availability`)),ZC(2),Fy(`formField`,t.itemForm.archived),ZT(),ZC(),nv(t.i18n.t(`catalogWorkspace.archive`)),ZC(2),nv(t.i18n.t(`catalog.archiveHint`))}}function wt(e,i){if(e&1){let t=zS();Us(0,`button`,29),Gy(`click`,function(){Ip(t);return wp(qS(3).close())}),y_(1),fd()}if(e&2){let t=qS(3);Fy(`disabled`,t.saving()),ZC(),vd(` `,t.i18n.t(`catalogWorkspace.cancel`),` `)}}function It(e,i){if(e&1&&(Us(0,`a`,23),y_(1),fd()),e&2){let t=qS(3);Fy(`routerLink`,t.backLink())(`queryParams`,t.backQuery()),ZC(),nv(t.i18n.t(`catalogWorkspace.cancel`))}}function Ot(e,i){if(e&1){let t=zS();Us(0,`form`,12),Gy(`submit`,function(c){Ip(t);return wp(qS(2).save(c))}),Us(1,`div`,13)(2,`fieldset`)(3,`legend`),y_(4),fd(),Us(5,`label`,14),y_(6),Py(7,`input`,15),qT(),Us(8,`span`,16),OS(9,Pt,1,1),fd()()()(),Us(10,`div`,13)(11,`fieldset`)(12,`legend`),y_(13),fd(),Us(14,`div`,17),LS(15,Mt,5,8,`label`,18,ft),fd(),Us(17,`p`,19),y_(18),fd()()(),OS(19,Nt,9,4,`div`,13),Us(20,`div`,20)(21,`button`,21),y_(22),fd(),OS(23,wt,2,2,`button`,22)(24,It,2,3,`a`,23),fd()()}if(e&2){let t=qS(2);ZC(4),nv(t.i18n.t(`catalogWorkspace.service`)),ZC(2),vd(``,t.i18n.t(`catalog.description`),` `),ZC(),Fy(`formField`,t.itemForm.description),ky(`aria-invalid`,t.invalid(`description`)),ZT(),ZC(2),kS(t.invalid(`description`)?9:-1),ZC(4),nv(t.i18n.t(`catalogWorkspace.defaultValues`)),ZC(2),jS(t.amounts),ZC(3),nv(t.i18n.t(`catalogWorkspace.taxHint`)),ZC(),kS(t.editing()?19:-1),ZC(2),Fy(`disabled`,t.saving()||t.uncertain()),ZC(),vd(` `,t.i18n.t(t.saving()?`catalogWorkspace.saving`:t.dialog?`referenceEditor.saveCatalog`:`catalog.save`),` `),ZC(),kS(t.dialog?23:24)}}function Ft(e,i){if(e&1&&OS(0,Et,2,1,`p`,10)(1,Ot,25,11,`form`,11),e&2)kS(qS().completed()?0:1)}var gt=()=>({description:``,quantity:`1`,unitPrice:`0.00`,vatRate:`20.00`,archived:!1});var ut=class e{dialog=g(te,{optional:!0});i18n=g(Ie);api=g(f);route=g(G);router=g(ue);destroyRef=g(pe);confirmation=g(P$1);state=Ke(`loading`);item=Ke(void 0);editing=Ke(!1);title=Ft$1(()=>this.editing()?`catalogWorkspace.editTitle`:`catalog.create`);availability=Ft$1(()=>this.item()?.archived?`catalog.archived`:`catalogWorkspace.available`);intro=this.dialog?`referenceEditor.catalogIntro`:`catalogWorkspace.formIntro`;saving=Ke(!1);confirming=Ke(!1);completed=Ke(!1);uncertain=Ke(!1);error=Ke(void 0);model=Ke(gt());amounts=[{field:`quantity`,label:`catalog.quantity`,error:`catalogWorkspace.quantityInvalid`,id:`catalog-quantity`},{field:`unitPrice`,label:`catalog.price`,error:`catalogWorkspace.priceInvalid`,id:`catalog-price`},{field:`vatRate`,label:`catalog.tax`,error:`catalogWorkspace.taxInvalid`,id:`catalog-tax`}];itemForm=nr(this.model,i=>{an(i,()=>this.saving()||this.completed()||this.uncertain()||this.state()!==`ready`),gn(i.description),cn(i.description,160),mn(i.description,/\S/),P(i.quantity,({value:t})=>wu.is(Ni.fields.quantityMilli)(u(t(),3))?void 0:{kind:`quantity`}),P(i.unitPrice,({value:t})=>wu.is(Ni.fields.unitPriceCents)(u(t(),2))?void 0:{kind:`price`}),P(i.vatRate,({value:t})=>wu.is(Ni.fields.vatRateBasisPoints)(u(t(),2))?void 0:{kind:`tax`})});loadGeneration=0;constructor(){if(this.dialog){this.state.set(`ready`),this.dialog.backdropClick.pipe(U(this.destroyRef)).subscribe(()=>{this.close()}),this.dialog.keydownEvents.pipe(U(this.destroyRef)).subscribe(i=>{i.key===`Escape`&&(i.preventDefault(),this.close())});return}Ol(()=>this.route.paramMap.pipe(U(this.destroyRef)).subscribe(()=>{this.load()}))}backLink(){return[`/catalog`,j(this.route.snapshot.queryParamMap)]}backQuery(){return b(P$2(this.route.snapshot.queryParamMap))}async canDeactivate(){if(this.saving()||this.confirming())return!1;if(!this.uncertain()&&!this.itemForm().dirty())return!0;this.confirming.set(!0);try{return await this.confirmation.request(this.i18n.t(this.uncertain()?`referenceEditor.leaveUncertain`:`catalog.unsavedChanges`))}finally{this.confirming.set(!1)}}async close(){this.dialog&&await this.canDeactivate()&&!this.destroyRef.destroyed&&this.dialog.close()}preventUnsavedUnload(i){(this.saving()||this.confirming()||this.uncertain()||this.itemForm().dirty())&&i.preventDefault()}invalid(i){return this.itemForm[i]().invalid()&&this.itemForm[i]().touched()}async load(){if(this.saving()||this.confirming()||this.uncertain())return;let i=++this.loadGeneration,t=this.route.snapshot.paramMap.get(`itemId`);if(this.editing.set(t!==null),this.state.set(`loading`),this.error.set(void 0),this.item.set(void 0),this.completed.set(!1),this.model.set(gt()),this.itemForm().reset(),t===null){this.state.set(`ready`);return}let n=wu.decodeUnknownOption(a)(t);if(Me.isNone(n)){this.state.set(`error`),this.error.set(`catalog.not_found`);return}try{let c=await this.api.list();if(this.destroyRef.destroyed||i!==this.loadGeneration)return;let s=c.find(I=>I.id===n.value);if(s===void 0){this.state.set(`error`),this.error.set(`catalog.not_found`);return}this.item.set(s),this.model.set({description:s.description,quantity:g$2(s.quantityMilli,3),unitPrice:m$1(s.unitPriceCents,2),vatRate:m$1(s.vatRateBasisPoints,2),archived:s.archived}),this.itemForm().reset(),this.state.set(`ready`)}catch{if(this.destroyRef.destroyed||i!==this.loadGeneration)return;this.state.set(`error`),this.error.set(`catalogWorkspace.loadError`)}}save(i){if(i.preventDefault(),!(this.saving()||this.confirming()||this.completed()||this.uncertain()||this.state()!==`ready`)){if(this.itemForm().markAsTouched(),this.itemForm().invalid()){for(let t of[`description`,`quantity`,`unitPrice`,`vatRate`])if(this.itemForm[t]().invalid()){this.itemForm[t]().focusBoundControl();break}return}or(this.itemForm,async()=>{let t=this.model(),n=wu.decodeUnknownOption(Ni)({description:t.description.trim(),quantityMilli:u(t.quantity,3),unitPriceCents:u(t.unitPrice,2),vatRateBasisPoints:u(t.vatRate,2),currency:`EUR`});if(Me.isNone(n)){this.error.set(`catalog.invalid`);return}let c=this.item();this.error.set(void 0);try{if(c&&c.archived!==t.archived){this.confirming.set(!0);let I=await this.confirmation.request(this.i18n.t(t.archived?`catalogWorkspace.archiveConfirmation`:`catalogWorkspace.restoreConfirmation`));if(this.confirming.set(!1),!I||this.destroyRef.destroyed)return}this.saving.set(!0);let s=c?await this.api.update(c.id,m(l({},n.value),{expectedVersion:c.version,archived:t.archived})):await this.api.create(n.value);if(this.destroyRef.destroyed)return;if(!s.success){!c&&s.code===`catalog.error`?(this.uncertain.set(!0),this.error.set(`referenceEditor.catalogUncertain`)):this.error.set(s.code);return}this.item.set(s.result),this.itemForm().reset(),this.completed.set(!0)}catch{this.destroyRef.destroyed||(this.uncertain.set(!c),this.error.set(c?`catalog.error`:`referenceEditor.catalogUncertain`))}finally{this.confirming.set(!1),this.saving.set(!1)}this.completed()&&(this.dialog?this.dialog.close(this.item()):await this.router.navigate(this.backLink(),{queryParams:this.backQuery(),state:{catalogSaved:!0}}))})}}static ɵfac=function(t){return new(t||e)};static ɵcmp=Fb({type:e,selectors:[[`app-catalog-editor`]],hostVars:4,hostBindings:function(t,n){t&1&&Gy(`beforeunload`,function(s){return n.preventUnsavedUnload(s)},Zw),t&2&&Xy(`page-container`,!n.dialog)(`editor-dialog`,!!n.dialog)},decls:13,vars:12,consts:[[`aria-labelledby`,`catalog-editor-title`,1,`catalog-editor`],[`layout`,`stacked`],[`pageBack`,``,1,`back-link`,3,`routerLink`,`queryParams`],[`id`,`catalog-editor-title`],[`appBadge`,``,`pageBadges`,``],[1,`intro`],[`role`,`status`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`appButton`,``,`type`,`button`],[`appButton`,``,`type`,`button`,3,`click`],[`appNotice`,``,`variant`,`success`,`role`,`status`],[`novalidate`,``,1,`catalog-form`],[`novalidate`,``,1,`catalog-form`,3,`submit`],[1,`ds-panel`,`form-panel`],[`for`,`catalog-description`,1,`field`],[`id`,`catalog-description`,`autocomplete`,`off`,`aria-describedby`,`catalog-description-error`,1,`input`,3,`formField`],[`id`,`catalog-description-error`,1,`field-error`],[1,`amounts`],[1,`field`,3,`for`],[1,`hint`],[1,`actions`],[`appButton`,``,`variant`,`primary`,`type`,`submit`,3,`disabled`],[`appButton`,``,`type`,`button`,3,`disabled`],[`appLinkButton`,``,3,`routerLink`,`queryParams`],[`inputmode`,`decimal`,1,`input`,3,`id`,`formField`],[1,`field-error`,3,`id`],[1,`choice`],[`type`,`checkbox`,`aria-describedby`,`catalog-archive-hint`,3,`formField`],[`id`,`catalog-archive-hint`,1,`hint`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`]],template:function(t,n){if(t&1&&(Us(0,`section`,0)(1,`app-page-header`,1),OS(2,vt,2,3,`a`,2),OS(3,yt,2,1,`h2`,3)(4,_t,2,1,`h1`,3),OS(5,ht,2,1,`p`),OS(6,Ct,2,1,`span`,4),Us(7,`p`,5),y_(8),fd()(),OS(9,xt,2,1,`p`,6),OS(10,bt,2,1,`p`,7),OS(11,kt,2,1,`button`,8)(12,Ft,2,1),fd()),t&2){let c,s;Xy(`detail-page`,!n.dialog)(`form-page`,!n.dialog),ZC(2),kS(n.dialog?-1:2),ZC(),kS(n.dialog?3:4),ZC(2),kS((c=n.item())?5:-1,c),ZC(),kS(n.item()?6:-1),ZC(2),nv(n.i18n.t(n.intro)),ZC(),kS(n.state()===`loading`?9:-1),ZC(),kS((s=n.error())?10:-1,s),ZC(),kS(n.state()===`error`?11:n.state()===`ready`?12:-1)}},dependencies:[d,N,yn,k,g$1,Dt],styles:[`[_nghost-%COMP%]{display:block}.detail-page[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);min-inline-size:0;inline-size:100%;max-inline-size:var(--%NS%page-width-detail);margin-inline:auto;padding:var(--%NS%page-header-y) var(--%NS%page-x)}.detail-page.form-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-form)}.detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-wide)}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-2xl);overflow-wrap:anywhere}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-base);color:var(--%NS%color-muted);overflow-wrap:anywhere}.detail-page[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{justify-self:start}@media print{.detail-page[_ngcontent-%COMP%], .detail-page.form-page[_ngcontent-%COMP%], .detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:none}}.editor-dialog[_nghost-%COMP%]{max-block-size:calc(100dvh - 2rem);overflow:auto;overscroll-behavior:contain;border-radius:var(--%NS%radius-md);background:var(--%NS%color-surface);color:var(--%NS%color-ink);box-shadow:var(--%NS%shadow-page)}.editor-dialog[_nghost-%COMP%] .catalog-editor[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-6);padding:var(--%NS%space-6)}.editor-dialog[_nghost-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-xl)}.catalog-editor[_ngcontent-%COMP%]{justify-items:start}app-page-header[_ngcontent-%COMP%]{inline-size:100%}.catalog-form[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-8);inline-size:100%}fieldset[_ngcontent-%COMP%]{border:0;padding:0;margin:0;min-inline-size:0}legend[_ngcontent-%COMP%]{margin-block-end:var(--%NS%space-4);padding:0;font-weight:700}.field[_ngcontent-%COMP%]{display:grid;align-content:start;gap:var(--%NS%space-2);min-inline-size:0}.amounts[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--%NS%space-4)}.intro[_ngcontent-%COMP%], .hint[_ngcontent-%COMP%]{color:var(--%NS%color-muted)}.hint[_ngcontent-%COMP%]{margin-block-start:var(--%NS%space-3)}.field-error[_ngcontent-%COMP%]{color:var(--%NS%color-danger);font-size:var(--%NS%text-sm)}.field-error[_ngcontent-%COMP%]:empty{display:none}.actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:var(--%NS%space-3);border-block-start:1px solid var(--%NS%color-line);padding-block-start:var(--%NS%space-5)}@media(max-width:40rem){.amounts[_ngcontent-%COMP%]{grid-template-columns:1fr}}`]})};export{ut as t};
@@ -0,0 +1 @@
1
+ import{n as m,t as l}from"./chunk-BwCtja5l.js";import{$t as ZC,A as Gy,At as S_,D as Fy,Dn as g,Dr as t_,E as Ft$1,Gn as k_,Gr as yd,Ir as wp,It as Us,Jr as zS,K as Ke,Nr as vd,Rn as jS,Tn as fd,V as Iy,Wn as kS,Wr as y_,X as LS,Xn as lv,Zn as md,dr as pe,ft as Ol,l as A_,lt as OS,mn as b_,pr as qS,qn as ky,rn as Zw,rr as nv,vt as Py,w as Fb,z as Ip}from"./chunk-BAHiFuUo.js";import{S as gr,T as ue,a as T,c as O,h as Ne,l as r,m as Ie,o as U,r as N,v as Dt$1,y as G}from"./main-F7D3L737.js";import{ct as Me,wi as wu}from"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import{$n as Nd,Ia as a}from"./chunk-D5qmP2Wu.js";import{t as m$1}from"./chunk-DerJPaBw.js";import{t as y}from"./chunk-xTX16tt2.js";import"./chunk-DjewtV43.js";import{t as N$1}from"./chunk-B0bNirg2.js";import"./chunk-BzUDWIzm.js";import"./chunk-CczD0yXn.js";import"./chunk-CReShp-B.js";import"./chunk-DM5aibnW.js";import{t as d}from"./chunk-CfwFJLFh.js";import{t as E}from"./chunk-DsaNNeZe.js";import{t as l$1}from"./chunk-BVszSMJC.js";import{t as D}from"./chunk-AJOoJgZJ.js";import{t as u}from"./chunk-Bfx7EEIR.js";import{t as c}from"./chunk-enci06qG.js";import"./chunk-CSkyOfSg.js";import{t as g$1}from"./chunk-B56nz2lI.js";import{t as k}from"./chunk-D5MFwK9L.js";import{t as P}from"./chunk-niXXbm7H.js";import{n as u$1}from"./chunk-BHEFFEGN.js";import"./chunk-CXHCUTDs.js";import{n as m$2,t as d$1}from"./chunk-cTGENC4T2.js";import"./chunk-ZBDWcE362.js";import{t as Q}from"./chunk-HmRGBt692.js";import"./chunk-CP-AnFGa2.js";import"./chunk-scbWWgLx2.js";import{t as R}from"./chunk-NDpjbcAr2.js";import{t as h}from"./chunk-DGbo0App2.js";import{t as l$2}from"./chunk-Dl4EbYnM2.js";import"./chunk-Bsy3r41y2.js";import{t as Fe}from"./chunk-DB6sOjsn2.js";import{n as b,t as Z}from"./chunk-CABvk97t2.js";import{i as U$1,n as B$1,r as Q$1,t as $}from"./chunk-CCqlW8pS2.js";import{t as f}from"./chunk-RIi7_iVg.js";import{t as B$2}from"./chunk-qKosqkwC.js";import{t as y$1}from"./chunk-DZgf7AIe.js";import{t as d$2}from"./chunk-D1wrPwB5.js";import{t as R$1}from"./chunk-6jIo5mZ42.js";import{n as h$1,r as v,t as C}from"./chunk-CARNiCDb2.js";import{a as k$1,c as v$1,i as g$2,l as x,n as b$1,o as p,r as f$1,s,t as C$1,u as y$2}from"./chunk-DZgMGE6C.js";import{n as p$1,r as u$2,t as d$3}from"./chunk-CP9GxcYV.js";var at=t=>({clientId:t});var ot=t=>({id:`archive`,label:t,danger:!0});var rt=t=>[t];var H=t=>({count:t});var lt=t=>[`/affairs`,t];var ct=t=>[`/clients`,t,`access`,`new`];var st=(t,n)=>n.name;var B=(t,n)=>n.item.id;function dt(t,n){if(t&1&&(Us(0,`span`,8),y_(1),fd()),t&2){let e=qS();Fy(`variant`,e.statusVariant()),ZC(),nv(e.i18n.t(e.statusLabel()))}}function pt(t,n){if(t&1&&(Us(0,`a`,15),y_(1),fd()),t&2){let e=qS(2),i=qS();Fy(`queryParams`,k_(2,at,e.id)),ZC(),nv(i.i18n.t(`backOffice.dashboard.createQuote`))}}function _t(t,n){if(t&1){let e=zS();Us(0,`app-action-menu`,16),Gy(`actionSelected`,function(){Ip(e);return wp(qS(3).archive())}),fd()}if(t&2){let e=qS(3);Fy(`label`,e.i18n.t(`backOffice.clients.actions`))(`actions`,k_(5,rt,k_(3,ot,e.i18n.t(`backOffice.clients.archive`))))(`disabled`,e.archiving())}}function mt(t,n){t&1&&Iy(0,pt,2,4,`a`,13)(1,_t,1,7,`app-action-menu`,14),t&2&&(Fy(`appCan`,`quote.create`),ZC(),Fy(`appCan`,`client.archive`))}function ut(t,n){t&1&&OS(0,mt,2,2),t&2&&kS(n.archived?-1:0)}function ft(t,n){if(t&1&&(Us(0,`p`,10),y_(1),fd()),t&2){let e=qS();ZC(),nv(e.i18n.t(`backOffice.clientDetail.loading`))}}function yt(t,n){if(t&1){let e=zS();Us(0,`button`,24),Gy(`click`,function(){Ip(e);return wp(qS(3).reactivate())}),y_(1),fd()}if(t&2){let e=qS(3);Fy(`disabled`,e.reactivating()),ZC(),vd(` `,e.i18n.t(e.reactivateLabel()),` `)}}function Ct(t,n){if(t&1&&(Us(0,`div`,17)(1,`p`),y_(2),fd(),Iy(3,yt,2,2,`button`,23),fd()),t&2){let e=qS(2);ZC(2),nv(e.i18n.t(`backOffice.clientDetail.archived`)),ZC(),Fy(`appCan`,`client.archive`)}}function bt(t,n){if(t&1){let e=zS();Us(0,`div`,32),Gy(`editRequested`,function(){let a=Ip(e).$implicit;return wp(qS(3).editingField.set(a.name))})(`cancelRequested`,function(){Ip(e);return wp(qS(3).editingField.set(void 0))})(`saveRequested`,function(a){let m=Ip(e).$implicit;return wp(qS(3).saveField(m.name,a))}),fd()}if(t&2){let e=n.$implicit,i=qS(2),a=qS();Fy(`label`,a.i18n.t(e.label))(`value`,i[e.name])(`emptyValue`,a.i18n.t(`clientsWorkspace.notProvided`))(`editable`,a.canEditProfile())(`editing`,a.editingField()===e.name)(`saving`,a.savingField()===e.name)(`maximumLength`,e.maximumLength)}}function gt(t,n){if(t&1){let e=zS();Us(0,`section`,25)(1,`app-detail-panel`,26)(2,`dl`,27)(3,`div`,28),Gy(`editRequested`,function(){Ip(e);return wp(qS(2).editingField.set(`displayName`))})(`cancelRequested`,function(){Ip(e);return wp(qS(2).editingField.set(void 0))})(`saveRequested`,function(a){Ip(e);return wp(qS(2).saveField(`displayName`,a))}),fd(),Us(4,`div`,29),Gy(`editRequested`,function(){Ip(e);return wp(qS(2).editingField.set(`email`))})(`cancelRequested`,function(){Ip(e);return wp(qS(2).editingField.set(void 0))})(`saveRequested`,function(a){Ip(e);return wp(qS(2).saveField(`email`,a))}),fd(),Us(5,`div`,30),Gy(`editRequested`,function(){Ip(e);return wp(qS(2).editingField.set(`phone`))})(`cancelRequested`,function(){Ip(e);return wp(qS(2).editingField.set(void 0))})(`saveRequested`,function(a){Ip(e);return wp(qS(2).saveField(`phone`,a))}),fd()()(),Us(6,`app-detail-panel`,26)(7,`dl`,27),LS(8,bt,1,7,`div`,31,st),fd()()()}if(t&2){let e=qS(),i=qS();ZC(),Fy(`heading`,i.i18n.t(`clientsWorkspace.identity`)),ZC(2),Fy(`label`,i.i18n.t(`backOffice.clients.displayName`))(`value`,e.displayName)(`emptyValue`,i.i18n.t(`clientsWorkspace.notProvided`))(`editable`,i.canEditProfile())(`editing`,i.editingField()===`displayName`)(`saving`,i.savingField()===`displayName`)(`required`,!0)(`maximumLength`,120),ZC(),Fy(`label`,i.i18n.t(`backOffice.clients.email`))(`value`,e.email)(`emptyValue`,i.i18n.t(`clientsWorkspace.notProvided`))(`editable`,i.canEditProfile())(`editing`,i.editingField()===`email`)(`saving`,i.savingField()===`email`)(`maximumLength`,254),ZC(),Fy(`label`,i.i18n.t(`backOffice.clients.phone`))(`value`,e.phone)(`emptyValue`,i.i18n.t(`clientsWorkspace.notProvided`))(`editable`,i.canEditProfile())(`editing`,i.editingField()===`phone`)(`saving`,i.savingField()===`phone`)(`maximumLength`,64),ZC(),Fy(`heading`,i.i18n.t(`clientsWorkspace.address`)),ZC(2),jS(i.addressFields)}}function xt(t,n){if(t&1){let e=zS();Us(0,`app-filter-choice`,39),Gy(`committed`,function(a){Ip(e),qS();let m=t_(4);return qS(2).affairTable.filter(a),wp(m.close())}),fd()}if(t&2){let e=qS(3);Fy(`label`,e.i18n.t(`listWorkspace.searchChoices`))(`emptyLabel`,e.i18n.t(`listWorkspace.noChoices`))(`options`,e.affairTable.filterOptions())(`value`,e.affairTable.query().filter)}}function vt(t,n){if(t&1){let e=zS();Us(0,`button`,41),Gy(`click`,function(){Ip(e);return wp(qS(4).affairTable.search(``))}),fd()}if(t&2)Fy(`label`,qS(4).affairTable.query().q)}function ht(t,n){if(t&1){let e=zS();Us(0,`button`,41),Gy(`click`,function(){Ip(e);return wp(qS(4).affairTable.filter(`all`))}),fd()}if(t&2)Fy(`label`,qS(4).affairTable.filterSummary())}function Tt(t,n){if(t&1&&(Us(0,`div`,38),OS(1,vt,1,1,`button`,40),OS(2,ht,1,1,`button`,40),fd()),t&2){let e=qS(3);ZC(),kS(e.affairTable.query().q?1:-1),ZC(),kS(e.affairFilterCount()?2:-1)}}function kt(t,n){if(t&1&&(Us(0,`p`,10),y_(1),fd()),t&2){let e=qS(3);ZC(),nv(e.i18n.t(`backOffice.clientDetail.documentsLoading`))}}function Dt(t,n){if(t&1){let e=zS();Us(0,`p`,11),y_(1),fd(),Us(2,`button`,42),Gy(`click`,function(){Ip(e);return wp(qS(3).load())}),y_(3),fd()}if(t&2){let e=qS(3);ZC(),nv(e.i18n.t(`client.error`)),ZC(2),vd(` `,e.i18n.t(`backOffice.dashboard.retry`),` `)}}function Et(t,n){if(t&1&&Py(0,`app-empty-state`,43),t&2){let e=qS(4);Fy(`title`,e.i18n.t(e.affairEmptyLabel()))}}function wt(t,n){if(t&1&&(Us(0,`tr`)(1,`th`,48)(2,`div`,49),Py(3,`app-entity-icon`,50),Us(4,`div`)(5,`a`,51),y_(6),fd(),Us(7,`small`,52),y_(8),fd()()()(),Us(9,`td`)(10,`span`,53),y_(11),fd()(),Us(12,`td`)(13,`time`,54),y_(14),fd()()()),t&2){let e=n.$implicit,i=qS(5),a=e.item;ZC(5),Fy(`routerLink`,k_(8,lt,a.id))(`appSearchHighlight`,i.affairTable.match(e,`reference`)),ZC(),nv(a.reference),ZC(),Fy(`appSearchHighlight`,i.affairTable.match(e,`title`)),ZC(),nv(a.title),ZC(3),nv(i.affairStatus(a.status)),ZC(2),Fy(`dateTime`,a.updatedAt),ZC(),nv(i.formatDate(a.updatedAt))}}function St(t,n){if(t&1){let e=zS();Us(0,`div`,44)(1,`table`)(2,`thead`)(3,`tr`)(4,`th`,46)(5,`button`,47),Gy(`click`,function(){Ip(e);return wp(qS(4).affairTable.sort(`reference`))}),fd()(),Us(6,`th`,46)(7,`button`,47),Gy(`click`,function(){Ip(e);return wp(qS(4).affairTable.sort(`status`))}),fd()(),Us(8,`th`,46)(9,`button`,47),Gy(`click`,function(){Ip(e);return wp(qS(4).affairTable.sort(`date`))}),fd()()()(),Us(10,`tbody`),LS(11,wt,15,10,`tr`,null,B),fd()()()}if(t&2){let e=qS(4);ZC(4),ky(`aria-sort`,e.ariaSort(e.affairTable.direction(`reference`))),ZC(),Fy(`label`,e.i18n.t(`backOffice.clientDetail.document`))(`direction`,e.affairTable.direction(`reference`)),ZC(),ky(`aria-sort`,e.ariaSort(e.affairTable.direction(`status`))),ZC(),Fy(`label`,e.i18n.t(`clientTables.affairStatus`))(`direction`,e.affairTable.direction(`status`)),ZC(),ky(`aria-sort`,e.ariaSort(e.affairTable.direction(`date`))),ZC(),Fy(`label`,e.i18n.t(`clientTables.updatedAt`))(`direction`,e.affairTable.direction(`date`)),ZC(2),jS(e.affairTable.results())}}function Vt(t,n){if(t&1&&(OS(0,Et,1,1,`app-empty-state`,43)(1,St,13,9,`div`,44),Us(2,`footer`,45)(3,`p`,10),y_(4),fd()()),t&2){let e=qS(3);kS(e.affairTable.rows().length===0?0:1),ZC(4),vd(` `,e.i18n.plural(`clientTables.affairCount`,k_(2,H,e.affairTable.rows().length)),` `)}}function Lt(t,n){if(t&1){let e=zS();Us(0,`section`,33)(1,`app-list-toolbar`)(2,`app-list-search`,34),Gy(`valueChange`,function(a){Ip(e);return wp(qS(2).affairTable.search(a))}),fd(),Us(3,`app-filter-menu`,35,0),Iy(5,xt,1,4,`ng-template`,36),fd(),Py(6,`app-table-export`,37),fd(),OS(7,Tt,3,2,`div`,38),OS(8,kt,2,1,`p`,10)(9,Dt,4,2)(10,Vt,5,4),fd()}if(t&2){let e=qS(2);ZC(2),Fy(`label`,e.i18n.t(`clientTables.affairSearch`))(`value`,e.affairTable.query().q),ZC(),Fy(`label`,e.i18n.t(`listWorkspace.filters`))(`closeLabel`,e.i18n.t(`listWorkspace.closeFilters`))(`backLabel`,e.i18n.t(`listWorkspace.backFilters`))(`activeCount`,e.affairFilterCount())(`disabled`,e.documentsLoading()||e.affairsError()),ZC(2),Fy(`label`,e.i18n.t(`clientTables.affairStatus`))(`summary`,e.affairTable.filterSummary()),ZC(),Fy(`columns`,e.affairExportColumns())(`rows`,e.affairExportRows())(`label`,e.i18n.t(`listWorkspace.exportCsv`))(`emptyHint`,e.i18n.t(`listWorkspace.exportEmpty`))(`pendingHint`,e.i18n.t(`listWorkspace.exportPending`))(`pending`,e.documentsLoading()),ZC(),kS(e.affairTable.query().q||e.affairFilterCount()?7:-1),ZC(),kS(e.documentsLoading()?8:e.affairsError()?9:10)}}function Pt(t,n){if(t&1){let e=zS();Us(0,`app-filter-choice`,39),Gy(`committed`,function(a){Ip(e),qS();let m=t_(4);return qS(2).documentTable.filter(a),wp(m.close())}),fd()}if(t&2){let e=qS(3);Fy(`label`,e.i18n.t(`listWorkspace.searchChoices`))(`emptyLabel`,e.i18n.t(`listWorkspace.noChoices`))(`options`,e.documentTable.filterOptions())(`value`,e.documentTable.query().filter)}}function Ot(t,n){if(t&1){let e=zS();Us(0,`button`,41),Gy(`click`,function(){Ip(e);return wp(qS(4).documentTable.search(``))}),fd()}if(t&2)Fy(`label`,qS(4).documentTable.query().q)}function qt(t,n){if(t&1){let e=zS();Us(0,`button`,41),Gy(`click`,function(){Ip(e);return wp(qS(4).documentTable.filter(`all`))}),fd()}if(t&2)Fy(`label`,qS(4).documentTable.filterSummary())}function Mt(t,n){if(t&1&&(Us(0,`div`,38),OS(1,Ot,1,1,`button`,40),OS(2,qt,1,1,`button`,40),fd()),t&2){let e=qS(3);ZC(),kS(e.documentTable.query().q?1:-1),ZC(),kS(e.documentFilterCount()?2:-1)}}function Nt(t,n){if(t&1&&(Us(0,`p`,10),y_(1),fd()),t&2){let e=qS(3);ZC(),nv(e.i18n.t(`backOffice.clientDetail.documentsLoading`))}}function Ft(t,n){if(t&1){let e=zS();Us(0,`p`,11),y_(1),fd(),Us(2,`button`,42),Gy(`click`,function(){Ip(e);return wp(qS(3).load())}),y_(3),fd()}if(t&2){let e=qS(3);ZC(),nv(e.i18n.t(`client.error`)),ZC(2),vd(` `,e.i18n.t(`backOffice.dashboard.retry`),` `)}}function At(t,n){if(t&1&&Py(0,`app-empty-state`,57),t&2){let e=qS(4);Fy(`title`,e.i18n.t(e.documentEmptyLabel()))}}function Rt(t,n){if(t&1&&(Us(0,`tr`)(1,`th`,48)(2,`div`,49),Py(3,`app-entity-icon`,60),Us(4,`div`)(5,`a`,61),y_(6),Us(7,`span`,52),y_(8),fd()(),Us(9,`small`,52),y_(10),fd()()()(),Us(11,`td`)(12,`span`,53),y_(13),fd()(),Us(14,`td`)(15,`time`,54),y_(16),fd()(),Us(17,`td`,62),y_(18),fd()()),t&2){let e=n.$implicit,i=qS(5),a=e.item;ZC(5),Fy(`routerLink`,a.link),ZC(),vd(``,a.kind,` — `),ZC(),Fy(`appSearchHighlight`,i.documentTable.match(e,`reference`)),ZC(),nv(a.reference),ZC(),Fy(`appSearchHighlight`,i.documentTable.match(e,`title`)),ZC(),nv(a.title),ZC(3),nv(a.status),ZC(2),Fy(`dateTime`,a.updatedAt),ZC(),nv(i.formatDate(a.updatedAt)),ZC(2),nv(i.money(a.totalCents))}}function It(t,n){if(t&1){let e=zS();Us(0,`div`,44)(1,`table`)(2,`colgroup`),Py(3,`col`,58)(4,`col`)(5,`col`)(6,`col`),fd(),Us(7,`thead`)(8,`tr`)(9,`th`,46)(10,`button`,47),Gy(`click`,function(){Ip(e);return wp(qS(4).documentTable.sort(`reference`))}),fd()(),Us(11,`th`,46)(12,`button`,47),Gy(`click`,function(){Ip(e);return wp(qS(4).documentTable.sort(`status`))}),fd()(),Us(13,`th`,46)(14,`button`,47),Gy(`click`,function(){Ip(e);return wp(qS(4).documentTable.sort(`date`))}),fd()(),Us(15,`th`,59)(16,`button`,47),Gy(`click`,function(){Ip(e);return wp(qS(4).documentTable.sort(`amount`))}),fd()()()(),Us(17,`tbody`),LS(18,Rt,19,10,`tr`,null,B),fd()()()}if(t&2){let e=qS(4);ZC(9),ky(`aria-sort`,e.ariaSort(e.documentTable.direction(`reference`))),ZC(),Fy(`label`,e.i18n.t(`backOffice.clientDetail.document`))(`direction`,e.documentTable.direction(`reference`)),ZC(),ky(`aria-sort`,e.ariaSort(e.documentTable.direction(`status`))),ZC(),Fy(`label`,e.i18n.t(`backOffice.clientDetail.status`))(`direction`,e.documentTable.direction(`status`)),ZC(),ky(`aria-sort`,e.ariaSort(e.documentTable.direction(`date`))),ZC(),Fy(`label`,e.i18n.t(`clientTables.date`))(`direction`,e.documentTable.direction(`date`)),ZC(),ky(`aria-sort`,e.ariaSort(e.documentTable.direction(`amount`))),ZC(),Fy(`label`,e.i18n.t(`backOffice.clientDetail.total`))(`direction`,e.documentTable.direction(`amount`)),ZC(2),jS(e.documentTable.results())}}function Wt(t,n){if(t&1&&(OS(0,At,1,1,`app-empty-state`,57)(1,It,20,12,`div`,44),Us(2,`footer`,45)(3,`p`,10),y_(4),fd()()),t&2){let e=qS(3);kS(e.documentTable.rows().length===0?0:1),ZC(4),vd(` `,e.i18n.plural(`clientTables.documentCount`,k_(2,H,e.documentTable.rows().length)),` `)}}function Ht(t,n){if(t&1){let e=zS();Us(0,`section`,55)(1,`app-list-toolbar`)(2,`app-list-search`,34),Gy(`valueChange`,function(a){Ip(e);return wp(qS(2).documentTable.search(a))}),fd(),Us(3,`app-filter-menu`,35,1),Iy(5,Pt,1,4,`ng-template`,36),fd(),Py(6,`app-table-export`,56),fd(),OS(7,Mt,3,2,`div`,38),OS(8,Nt,2,1,`p`,10)(9,Ft,4,2)(10,Wt,5,4),fd()}if(t&2){let e=qS(2);ZC(2),Fy(`label`,e.i18n.t(`clientTables.documentSearch`))(`value`,e.documentTable.query().q),ZC(),Fy(`label`,e.i18n.t(`listWorkspace.filters`))(`closeLabel`,e.i18n.t(`listWorkspace.closeFilters`))(`backLabel`,e.i18n.t(`listWorkspace.backFilters`))(`activeCount`,e.documentFilterCount())(`disabled`,e.documentsLoading()||e.documentsError()),ZC(2),Fy(`label`,e.i18n.t(`clientTables.documentType`))(`summary`,e.documentTable.filterSummary()),ZC(),Fy(`columns`,e.documentExportColumns())(`rows`,e.documentExportRows())(`label`,e.i18n.t(`listWorkspace.exportCsv`))(`emptyHint`,e.i18n.t(`listWorkspace.exportEmpty`))(`pendingHint`,e.i18n.t(`listWorkspace.exportPending`))(`pending`,e.documentsLoading()),ZC(),kS(e.documentTable.query().q||e.documentFilterCount()?7:-1),ZC(),kS(e.documentsLoading()?8:e.documentsError()?9:10)}}function Bt(t,n){if(t&1){let e=zS();Us(0,`app-date-range-filter`,67),Gy(`rangeApplied`,function(a){Ip(e),qS();let m=t_(9);return qS(2).applyAccessPeriod(a),wp(m.close())}),fd()}if(t&2){let e=qS(3);Fy(`from`,e.accessPeriod().from)(`to`,e.accessPeriod().to)}}function $t(t,n){if(t&1){let e=zS();Us(0,`button`,41),Gy(`click`,function(){Ip(e);return wp(qS(4).accessTable.search(``))}),fd()}if(t&2)Fy(`label`,qS(4).accessTable.query().q)}function zt(t,n){if(t&1){let e=zS();Us(0,`button`,41),Gy(`click`,function(){Ip(e);return wp(qS(4).applyAccessPeriod({}))}),fd()}if(t&2)Fy(`label`,qS(4).accessPeriodSummary())}function Ut(t,n){if(t&1&&(Us(0,`div`,38),OS(1,$t,1,1,`button`,40),OS(2,zt,1,1,`button`,40),fd()),t&2){let e=qS(3);ZC(),kS(e.accessTable.query().q?1:-1),ZC(),kS(e.accessFilterCount()?2:-1)}}function Qt(t,n){if(t&1&&(Us(0,`p`,10),y_(1),fd()),t&2){let e=qS(3);ZC(),nv(e.i18n.t(`backOffice.clientDetail.accessListLoading`))}}function Kt(t,n){if(t&1){let e=zS();Us(0,`p`,11),y_(1),fd(),Us(2,`button`,42),Gy(`click`,function(){Ip(e);return wp(qS(3).load())}),y_(3),fd()}if(t&2){let e=qS(3);ZC(),nv(e.i18n.t(n)),ZC(2),vd(` `,e.i18n.t(`backOffice.dashboard.retry`),` `)}}function jt(t,n){if(t&1&&Py(0,`app-empty-state`,68),t&2){let e=qS(4);Fy(`title`,e.i18n.t(e.accessEmptyLabel()))}}function Gt(t,n){if(t&1){let e=zS();Us(0,`button`,73),Gy(`click`,function(){Ip(e),qS();let a=S_(0);return wp(qS(5).revokeAccess(a))}),y_(1),fd()}if(t&2){qS();let e=S_(0),i=qS(5);Fy(`disabled`,i.revokingAccessId()!==void 0),ZC(),vd(` `,i.i18n.t(i.revokeLabel(e)),` `)}}function Jt(t,n){if(t&1&&(lv(0),Us(1,`tr`)(2,`th`,48)(3,`span`,52),y_(4),fd()(),Us(5,`td`)(6,`time`,54),y_(7),fd()(),Us(8,`td`,71),Iy(9,Gt,2,2,`button`,72),fd()()),t&2){let e=n.$implicit,i=qS(5),a=b_(e.item);ZC(3),Fy(`appSearchHighlight`,i.accessTable.match(e,`email`)),ZC(),nv(a.email),ZC(2),Fy(`dateTime`,i.dateTime(a.createdAt)),ZC(),nv(i.formatDate(a.createdAt)),ZC(2),Fy(`appCan`,`client.access.manage`)}}function Xt(t,n){if(t&1){let e=zS();Us(0,`div`,69)(1,`table`)(2,`thead`)(3,`tr`)(4,`th`,46)(5,`button`,47),Gy(`click`,function(){Ip(e);return wp(qS(4).accessTable.sort(`email`))}),fd()(),Us(6,`th`,46)(7,`button`,47),Gy(`click`,function(){Ip(e);return wp(qS(4).accessTable.sort(`date`))}),fd()(),Us(8,`th`,70),y_(9),fd()()(),Us(10,`tbody`),LS(11,Jt,10,6,`tr`,null,B),fd()()()}if(t&2){let e=qS(4);ZC(4),ky(`aria-sort`,e.ariaSort(e.accessTable.direction(`email`))),ZC(),Fy(`label`,e.i18n.t(`backOffice.clientDetail.accessEmail`))(`direction`,e.accessTable.direction(`email`)),ZC(),ky(`aria-sort`,e.ariaSort(e.accessTable.direction(`date`))),ZC(),Fy(`label`,e.i18n.t(`backOffice.clientDetail.accessCreatedAt`))(`direction`,e.accessTable.direction(`date`)),ZC(2),vd(` `,e.i18n.t(`backOffice.clientDetail.actions`),` `),ZC(2),jS(e.accessTable.results())}}function Yt(t,n){if(t&1&&(OS(0,jt,1,1,`app-empty-state`,68)(1,Xt,13,7,`div`,69),Us(2,`footer`,45)(3,`p`,10),y_(4),fd()()),t&2){let e=qS(3);kS(e.accessTable.rows().length===0?0:1),ZC(4),vd(` `,e.i18n.plural(`clientTables.accessCount`,k_(2,H,e.accessTable.rows().length)),` `)}}function Zt(t,n){if(t&1&&(Us(0,`a`,65),y_(1),fd()),t&2){let e=qS(3),i=qS();Fy(`routerLink`,k_(2,ct,e.id)),ZC(),nv(i.i18n.t(`backOffice.clientDetail.accessCreate`))}}function ei(t,n){t&1&&Iy(0,Zt,2,4,`a`,74),t&2&&Fy(`appCan`,`client.access.manage`)}function ti(t,n){if(t&1&&(Us(0,`p`,66),y_(1),fd()),t&2){let e=qS(3);ZC(),nv(e.i18n.t(`backOffice.clientDetail.accessArchived`))}}function ii(t,n){if(t&1){let e=zS();Us(0,`section`,63)(1,`div`)(2,`h2`),y_(3),fd(),Us(4,`p`),y_(5),fd()(),Us(6,`app-list-toolbar`)(7,`app-list-search`,34),Gy(`valueChange`,function(a){Ip(e);return wp(qS(2).accessTable.search(a))}),fd(),Us(8,`app-filter-menu`,35,2),Iy(10,Bt,1,2,`ng-template`,36),fd(),Py(11,`app-table-export`,64),fd(),OS(12,Ut,3,2,`div`,38),OS(13,Qt,2,1,`p`,10)(14,Kt,4,2)(15,Yt,5,4),OS(16,ei,1,1,`a`,65)(17,ti,2,1,`p`,66),fd()}if(t&2){let e,i=qS(2);ZC(3),nv(i.i18n.t(`backOffice.clientDetail.accessTitle`)),ZC(2),nv(i.i18n.t(`backOffice.clientDetail.accessIntro`)),ZC(2),Fy(`label`,i.i18n.t(`clientTables.accessSearch`))(`value`,i.accessTable.query().q),ZC(),Fy(`label`,i.i18n.t(`listWorkspace.filters`))(`closeLabel`,i.i18n.t(`listWorkspace.closeFilters`))(`backLabel`,i.i18n.t(`listWorkspace.backFilters`))(`activeCount`,i.accessFilterCount())(`disabled`,i.accessesLoading()||i.accessesError()!==void 0),ZC(2),Fy(`label`,i.i18n.t(`backOffice.clientDetail.accessCreatedAt`))(`summary`,i.accessPeriodSummary()),ZC(),Fy(`columns`,i.accessExportColumns())(`rows`,i.accessExportRows())(`label`,i.i18n.t(`listWorkspace.exportCsv`))(`emptyHint`,i.i18n.t(`listWorkspace.exportEmpty`))(`pendingHint`,i.i18n.t(`listWorkspace.exportPending`))(`pending`,i.accessExportPending()),ZC(),kS(i.accessTable.query().q||i.accessFilterCount()?12:-1),ZC(),kS(i.accessesLoading()?13:(e=i.accessesError())?14:15,e),ZC(3),kS(i.archived()?17:16)}}function ni(t,n){if(t&1&&(OS(0,Ct,4,2,`div`,17),Py(1,`app-tabs`,18)(2,`router-outlet`),Iy(3,gt,10,24,`ng-template`,19)(4,Lt,11,17,`ng-template`,20)(5,Ht,11,17,`ng-template`,21)(6,ii,18,20,`ng-template`,22)),t&2){let e=qS();kS(e.archived()?0:-1),ZC(),Fy(`label`,e.i18n.t(`backOffice.clientDetail.tabs`))(`tabs`,e.tabs())(`preserveQuery`,!0)}}function ai(t,n){if(t&1&&(Us(0,`p`,11),y_(1),fd()),t&2){let e=qS();ZC(),nv(e.i18n.t(n))}}function oi(t,n){if(t&1){let e=zS();Us(0,`button`,42),Gy(`click`,function(){Ip(e);return wp(qS().load())}),y_(1),fd()}if(t&2){let e=qS();ZC(),vd(` `,e.i18n.t(`backOffice.dashboard.retry`),` `)}}var it=class t{authentication=g(E);confirmation=g(P);i18n=g(Ie);api=g(y);quotesApi=g(y$1);affairsApi=g(m$1);ordersApi=g(d$2);invoicesApi=g(R);route=g(G);router=g(ue);destroyRef=g(pe);queryParams=T(this.route.queryParamMap,{initialValue:this.route.snapshot.queryParamMap});backLink=Ft$1(()=>[`/clients`,d$3(this.queryParams().get(`view`))]);returnQuery=Ft$1(()=>u$2(p$1(this.queryParams())));loadGeneration=0;client=Ke(void 0);editingField=Ke(void 0);savingField=Ke(void 0);addressFields=[{name:`addressLine1`,label:`backOffice.clients.addressLine1`,maximumLength:160},{name:`addressLine2`,label:`backOffice.clients.addressLine2`,maximumLength:160},{name:`postalCode`,label:`backOffice.clients.postalCode`,maximumLength:32},{name:`city`,label:`backOffice.clients.city`,maximumLength:120},{name:`country`,label:`backOffice.clients.country`,maximumLength:120}];archiving=Ke(!1);documentsError=Ke(!1);affairsError=Ke(!1);tabs=Ft$1(()=>[`profile`,`affairs`,`documents`,`access`].filter(n=>n!==`access`||this.authentication.can(`client.access.manage`)).filter(n=>n!==`affairs`||this.authentication.can(`quote.read`)).map(n=>({path:n,id:`client-${n}-tab`,label:this.i18n.t(n===`affairs`?`clientsWorkspace.affairs`:`backOffice.clientDetail.tab.${n}`)})));quotes=Ke([]);orders=Ke([]);invoices=Ke([]);allAffairs=Ke([]);affairs=Ft$1(()=>this.allAffairs().filter(({clientId:n})=>n===this.client()?.id).map((n,e)=>m(l({},n),{position:e})));documentsLoading=Ke(!0);documents=Ft$1(()=>{let n=this.client()?.id;return n?[...this.quotes().filter(({clientId:e})=>e===n).map(e=>({id:`quote-${e.id}`,type:`quote`,kind:this.i18n.t(`backOffice.clientDetail.quote`),reference:e.reference,title:e.title,status:this.i18n.t(`backOffice.quote.status.${e.status}`),totalCents:e.totalCents,link:[`/quotes`,e.id],updatedAt:e.updatedAt})),...this.orders().filter(({clientId:e})=>e===n).map(e=>({id:`order-${e.id}`,type:`order`,kind:this.i18n.t(`backOffice.clientDetail.order`),reference:e.reference,title:e.title,status:this.i18n.t(`backOffice.clientDetail.confirmed`),totalCents:e.totalCents,link:[`/orders`,e.id],updatedAt:e.createdAt})),...this.invoices().filter(({clientId:e})=>e===n).map(e=>({id:`invoice-${e.id}`,type:`invoice`,kind:this.i18n.t(`backOffice.clientDetail.invoice`),reference:e.invoiceNumber??this.i18n.t(`commercialHeader.draftInvoice`),title:e.title,status:this.i18n.t(`backOffice.invoice.status.${e.status}`),totalCents:e.totalCents,link:[`/invoices`,e.id],updatedAt:e.updatedAt}))]:[]});accessesLoading=Ke(!0);accessesError=Ke(void 0);accesses=Ke([]);revokingAccessId=Ke(void 0);loading=Ke(!0);reactivating=Ke(!1);archived=Ft$1(()=>this.client()?.archived??!1);canEditProfile=Ft$1(()=>this.authentication.can(`client.update`)&&!this.archived());error=Ke(void 0);statusVariant=Ft$1(()=>this.archived()?`warning`:`success`);statusLabel=Ft$1(()=>this.archived()?`backOffice.clients.archived`:`backOffice.clients.active`);reactivateLabel=Ft$1(()=>this.reactivating()?`backOffice.clientDetail.reactivating`:`backOffice.clientDetail.reactivate`);affairTable=N$1(this.affairs,k$1);documentTable=N$1(this.documents,C$1);accessPeriod=Ft$1(()=>f$1(this.queryParams()));accessFilterCount=Ft$1(()=>+(this.accessPeriod().from!==void 0||this.accessPeriod().to!==void 0));accessPeriodSummary=Ft$1(()=>{let{from:n,to:e}=this.accessPeriod(),i=[];return n&&i.push(`${this.i18n.t(`dateRangeFilter.from`)} : ${u$1(n,this.i18n.language())}`),e&&i.push(`${this.i18n.t(`dateRangeFilter.to`)} : ${u$1(e,this.i18n.language())}`),i.join(` · `)||this.i18n.t(`configurationWorkspace.allRows`)});accessTable=N$1(Ft$1(()=>this.accesses().map((n,e)=>m(l({},n),{position:e})).filter(n=>y$2(n,this.accessPeriod()))),g$2);affairFilterCount=Ft$1(()=>+(this.affairTable.query().filter!==`all`));documentFilterCount=Ft$1(()=>+(this.documentTable.query().filter!==`all`));affairEmptyLabel=Ft$1(()=>this.affairs().length===0?`clientsWorkspace.affairsEmpty`:`clientTables.affairNoMatches`);documentEmptyLabel=Ft$1(()=>this.documents().length===0?`backOffice.clientDetail.documentsEmpty`:`clientTables.documentNoMatches`);accessEmptyLabel=Ft$1(()=>this.accesses().length===0?`backOffice.clientDetail.accessListEmpty`:`clientTables.accessNoMatches`);affairExportColumns=Ft$1(()=>[this.i18n.t(`clientTables.reference`),this.i18n.t(`clientTables.title`),this.i18n.t(`clientTables.affairStatus`),this.i18n.t(`clientTables.updatedAt`)]);documentExportColumns=Ft$1(()=>[this.i18n.t(`clientTables.documentType`),this.i18n.t(`clientTables.reference`),this.i18n.t(`clientTables.title`),this.i18n.t(`backOffice.clientDetail.status`),this.i18n.t(`backOffice.clientDetail.total`),this.i18n.t(`clientTables.date`)]);accessExportColumns=Ft$1(()=>[this.i18n.t(`backOffice.clientDetail.accessEmail`),this.i18n.t(`backOffice.clientDetail.accessCreatedAt`)]);affairExportRows=Ft$1(()=>this.documentsLoading()||this.affairsError()?[]:b$1(this.affairTable.rows(),this.i18n.language()));documentExportRows=Ft$1(()=>this.documentsLoading()||this.documentsError()?[]:v$1(this.documentTable.rows(),this.i18n.language()));accessExportPending=Ft$1(()=>this.accessesLoading()||this.revokingAccessId()!==void 0);accessExportRows=Ft$1(()=>this.accessExportPending()||this.accessesError()?[]:x(this.accessTable.rows()));constructor(){Ol(()=>this.route.paramMap.pipe(U(this.destroyRef)).subscribe(()=>{this.load()}))}async canDeactivate(){return!this.revokingAccessId()&&!this.archiving()&&!this.reactivating()&&!this.savingField()}preventUnsavedUnload(n){(this.revokingAccessId()||this.archiving()||this.reactivating()||this.savingField())&&n.preventDefault()}async saveField(n,e){let i=this.client();if(!i||this.savingField()||!this.canEditProfile())return;this.savingField.set(n),this.error.set(void 0);let a=await this.api.update(i.id,Nd.make({displayName:i.displayName,addressLine1:i.addressLine1,addressLine2:i.addressLine2,postalCode:i.postalCode,city:i.city,country:i.country,email:i.email,phone:i.phone,[n]:e,expectedUpdatedAt:i.updatedAt}));if(this.savingField.set(void 0),!a.success)return this.setError(a.code);this.client.set(a.result),this.editingField.set(void 0)}money(n){return Ne(n,this.i18n.language(),`EUR`)}quoteStatus(n){return this.i18n.t(`backOffice.quote.status.${n}`)}affairStatus(n){return this.i18n.t(`affair.${n}`)}formatDate(n){return u$1(new Date(n),this.i18n.language(),{dateStyle:`medium`})}dateTime(n){return new Date(n).toISOString()}ariaSort(n){return n===`none`?null:n}revokeLabel(n){return this.revokingAccessId()===n.id?`backOffice.clientDetail.accessRevoking`:`backOffice.clientDetail.accessRevoke`}applyAccessPeriod(n){let e=wu.decodeUnknownOption(s)(n);Me.isNone(e)||this.router.navigate([],{relativeTo:this.route,queryParams:p(e.value),queryParamsHandling:`merge`})}async revokeAccess(n){let e=this.client();if(e===void 0||this.revokingAccessId()!==void 0||!await this.confirmation.request(this.i18n.tf(`backOffice.clientDetail.accessRevokeConfirmation`,{email:n.email})))return;this.revokingAccessId.set(n.id),this.error.set(void 0);let i=await this.api.revokeAccess(e.id,n.id);if(this.revokingAccessId.set(void 0),!i.success){this.setError(i.code);return}this.accesses.update(a=>a.filter(({id:m})=>m!==n.id))}async reactivate(){let n=this.client();if(!n?.archived||this.reactivating())return;this.reactivating.set(!0),this.error.set(void 0);let e=await this.api.reactivate(n.id);if(this.reactivating.set(!1),!e.success)return this.setError(e.code);this.client.set(e.result),this.router.navigate([`access`],{relativeTo:this.route,queryParamsHandling:`preserve`})}async archive(){let n=this.client();if(!n||n.archived||this.archiving()||!await this.confirmation.request(this.i18n.t(`backOffice.clients.archiveConfirmation`),{variant:`danger`}))return;this.archiving.set(!0),this.error.set(void 0);let e=await this.api.archive(n.id);if(this.archiving.set(!1),!e.success)return this.setError(e.code);this.client.set(e.result)}async load(){let n=++this.loadGeneration;this.loading.set(!0),this.client.set(void 0),this.documentsLoading.set(!0),this.documentsError.set(!1),this.affairsError.set(!1),this.accessesError.set(void 0),this.quotes.set([]),this.allAffairs.set([]),this.orders.set([]),this.invoices.set([]),this.accesses.set([]),this.accessesLoading.set(!0),this.error.set(void 0);let e=wu.decodeUnknownOption(a)(this.route.snapshot.paramMap.get(`clientId`));if(Me.isNone(e)){this.error.set(`client.not_found`),this.loading.set(!1);return}let i=await this.api.get(e.value);if(n!==this.loadGeneration||this.destroyRef.destroyed)return;if(!i.success){this.setError(i.code),this.loading.set(!1);return}this.client.set(i.result),this.loading.set(!1);let a$1=this.authentication.can(`quote.read`)?this.affairsApi.list():Promise.resolve({success:!0,result:[]}),[m,T,M,N,L]=await Promise.allSettled([a$1,this.authentication.can(`quote.read`)?this.quotesApi.list():[],this.authentication.can(`order.read`)?this.ordersApi.list():[],this.authentication.can(`invoice.read`)?this.invoicesApi.list():[],this.authentication.can(`client.access.manage`)?this.api.listAccess(e.value):Promise.resolve({success:!0,result:[]})]);n!==this.loadGeneration||this.destroyRef.destroyed||(m.status===`fulfilled`&&m.value.success&&this.allAffairs.set(m.value.result),T.status===`fulfilled`&&this.quotes.set(T.value),M.status===`fulfilled`&&this.orders.set(M.value),N.status===`fulfilled`&&this.invoices.set(N.value),L.status===`fulfilled`?L.value.success?this.accesses.set(L.value.result):this.accessesError.set(L.value.code):this.accessesError.set(`client.error`),this.accessesLoading.set(!1),this.documentsError.set([T,M,N].some(({status:nt})=>nt===`rejected`)),this.affairsError.set(m.status===`rejected`||m.status===`fulfilled`&&!m.value.success),this.documentsLoading.set(!1))}setError(n){this.error.set(n)}static ɵfac=function(e){return new(e||t)};static ɵcmp=Fb({type:t,selectors:[[`app-client-detail`]],hostAttrs:[1,`page-container`],hostBindings:function(e,i){e&1&&Gy(`beforeunload`,function(m){return i.preventUnsavedUnload(m)},Zw)},features:[A_([d$1])],decls:16,vars:10,consts:[[`affairMenu`,``],[`documentMenu`,``],[`accessMenu`,``],[`appTabLayout`,``,`aria-labelledby`,`client-title`,1,`detail-page`,`wide-page`,`client-page`],[`layout`,`stacked`],[`pageBack`,``,3,`routerLink`,`queryParams`],[`id`,`client-title`],[`pageBadges`,``],[`appBadge`,``,3,`variant`],[`pageActions`,``,1,`client-primary-actions`],[`role`,`status`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`appButton`,``,`type`,`button`],[`appLinkButton`,``,`icon`,`file-plus`,`variant`,`primary`,`routerLink`,`/quotes/new`,3,`queryParams`,4,`appCan`],[3,`label`,`actions`,`disabled`,`actionSelected`,4,`appCan`],[`appLinkButton`,``,`icon`,`file-plus`,`variant`,`primary`,`routerLink`,`/quotes/new`,3,`queryParams`],[3,`actionSelected`,`label`,`actions`,`disabled`],[`appNotice`,``,`role`,`status`,1,`archived-notice`],[3,`label`,`tabs`,`preserveQuery`],[`appTabPanel`,`profile`],[`appTabPanel`,`affairs`],[`appTabPanel`,`documents`],[`appTabPanel`,`access`],[`appButton`,``,`type`,`button`,3,`disabled`,`click`,4,`appCan`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`],[`id`,`client-profile-panel`,`role`,`region`,`aria-labelledby`,`client-profile-tab`,`tabindex`,`0`,`appDetailGrid`,``,1,`profile`],[3,`heading`],[`appDetailList`,``],[`appInlineEdit`,``,3,`editRequested`,`cancelRequested`,`saveRequested`,`label`,`value`,`emptyValue`,`editable`,`editing`,`saving`,`required`,`maximumLength`],[`appInlineEdit`,``,`inputType`,`email`,3,`editRequested`,`cancelRequested`,`saveRequested`,`label`,`value`,`emptyValue`,`editable`,`editing`,`saving`,`maximumLength`],[`appInlineEdit`,``,`inputType`,`tel`,3,`editRequested`,`cancelRequested`,`saveRequested`,`label`,`value`,`emptyValue`,`editable`,`editing`,`saving`,`maximumLength`],[`appInlineEdit`,``,3,`label`,`value`,`emptyValue`,`editable`,`editing`,`saving`,`maximumLength`],[`appInlineEdit`,``,3,`editRequested`,`cancelRequested`,`saveRequested`,`label`,`value`,`emptyValue`,`editable`,`editing`,`saving`,`maximumLength`],[`appListWorkspace`,``,`id`,`client-affairs-panel`,`role`,`region`,`aria-labelledby`,`client-affairs-tab`,`tabindex`,`0`,1,`client-table`],[`listSearch`,``,3,`valueChange`,`label`,`value`],[`listFilters`,``,3,`label`,`closeLabel`,`backLabel`,`activeCount`,`disabled`],[`appFilterPanel`,``,3,`label`,`summary`],[`listActions`,``,`filename`,`client-affairs.csv`,3,`columns`,`rows`,`label`,`emptyHint`,`pendingHint`,`pending`],[1,`filter-chips`],[3,`committed`,`label`,`emptyLabel`,`options`,`value`],[`appFilterChip`,``,3,`label`],[`appFilterChip`,``,3,`click`,`label`],[`appButton`,``,`type`,`button`,3,`click`],[`icon`,`folder`,3,`title`],[`appDataTable`,``,`tableLayout`,`fluid`,1,`wide-table`],[1,`list-summary`],[`scope`,`col`],[`appTableSort`,``,3,`click`,`label`,`direction`],[`scope`,`row`],[1,`entity-label`],[`icon`,`folder`],[3,`routerLink`,`appSearchHighlight`],[3,`appSearchHighlight`],[`appBadge`,``],[3,`dateTime`],[`appListWorkspace`,``,`id`,`client-documents-panel`,`role`,`region`,`aria-labelledby`,`client-documents-tab`,`tabindex`,`0`,1,`client-table`],[`listActions`,``,`filename`,`client-documents.csv`,3,`columns`,`rows`,`label`,`emptyHint`,`pendingHint`,`pending`],[`icon`,`invoice`,3,`title`],[1,`document-column`],[`scope`,`col`,1,`amount`],[`icon`,`invoice`],[3,`routerLink`],[1,`amount`],[`appListWorkspace`,``,`id`,`client-access-panel`,`role`,`region`,`aria-labelledby`,`client-access-tab`,`tabindex`,`0`,1,`client-table`],[`listActions`,``,`filename`,`client-access.csv`,3,`columns`,`rows`,`label`,`emptyHint`,`pendingHint`,`pending`],[`appLinkButton`,``,`icon`,`plus`,`variant`,`primary`,`queryParamsHandling`,`preserve`,3,`routerLink`],[`appNotice`,``],[3,`rangeApplied`,`from`,`to`],[`icon`,`clients`,3,`title`],[`appDataTable`,``],[`scope`,`col`,1,`actions-column`],[1,`actions-column`],[`appButton`,``,`variant`,`danger`,`type`,`button`,3,`disabled`,`click`,4,`appCan`],[`appButton`,``,`variant`,`danger`,`type`,`button`,3,`click`,`disabled`],[`appLinkButton`,``,`icon`,`plus`,`variant`,`primary`,`queryParamsHandling`,`preserve`,3,`routerLink`,4,`appCan`]],template:function(e,i){if(e&1&&(Us(0,`section`,3)(1,`app-page-header`,4)(2,`a`,5),y_(3),fd(),Us(4,`h1`,6),y_(5),fd(),Us(6,`p`),y_(7),fd(),md(8,7),OS(9,dt,2,2,`span`,8),yd(),Us(10,`div`,9),OS(11,ut,1,1),fd()(),OS(12,ft,2,1,`p`,10)(13,ni,7,4),OS(14,ai,2,1,`p`,11),OS(15,oi,2,1,`button`,12),fd()),e&2){let a,m,T;ZC(2),Fy(`routerLink`,i.backLink())(`queryParams`,i.returnQuery()),ZC(),nv(i.i18n.t(`backOffice.backToClients`)),ZC(2),vd(` `,i.client()?.displayName??i.i18n.t(`backOffice.clientDetail.title`),` `),ZC(2),nv(i.i18n.t(`clientsWorkspace.documentsIntro`)),ZC(2),kS(i.client()?9:-1),ZC(2),kS((a=i.client())?11:-1,a),ZC(),kS(i.loading()?12:(m=i.client())?13:-1,m),ZC(2),kS((T=i.error())?14:-1,T),ZC(),kS(!i.loading()&&!i.client()?15:-1)}},dependencies:[l$1,Q,d,N,c,k,Dt$1,gr,O,r,D,g$1,f,l$2,R$1,U$1,B$1,Q$1,Z,b,Fe,h,B$2,C,v,h$1,u,$,m$2],styles:[`.entity-label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--%NS%space-2);min-inline-size:0}.entity-label[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:last-child{min-inline-size:0}[_nghost-%COMP%]{display:block}.detail-page[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);min-inline-size:0;inline-size:100%;max-inline-size:var(--%NS%page-width-detail);margin-inline:auto;padding:var(--%NS%page-header-y) var(--%NS%page-x)}.detail-page.form-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-form)}.detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-wide)}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-2xl);overflow-wrap:anywhere}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-base);color:var(--%NS%color-muted);overflow-wrap:anywhere}.detail-page[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{justify-self:start}@media print{.detail-page[_ngcontent-%COMP%], .detail-page.form-page[_ngcontent-%COMP%], .detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:none}}.archived-notice[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--%NS%space-3)}.notice[_ngcontent-%COMP%], .status[_ngcontent-%COMP%]{margin-top:var(--%NS%space-6)}.profile[_ngcontent-%COMP%]{margin-block-start:var(--%NS%space-6)}.client-primary-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:start;gap:var(--%NS%space-3)}.document-column[_ngcontent-%COMP%]{width:45%}.client-table[_ngcontent-%COMP%]{margin-block-start:var(--%NS%space-5)}.filter-chips[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--%NS%space-2)}.list-summary[_ngcontent-%COMP%]{color:var(--%NS%color-muted);font-size:var(--%NS%text-sm)}.client-table[_ngcontent-%COMP%] > :is(a[_ngcontent-%COMP%], button[_ngcontent-%COMP%]){justify-self:start}.amount[_ngcontent-%COMP%]{text-align:end;font-variant-numeric:tabular-nums}th[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{display:block;font-weight:400;color:var(--%NS%color-muted)}.actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--%NS%space-4)}[role=tabpanel][_ngcontent-%COMP%]{min-height:16rem;margin-top:var(--%NS%space-4)}[_nghost-%COMP%] [hidden][_ngcontent-%COMP%]{display:none}td[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{display:block;margin-top:var(--%NS%space-1);color:var(--%NS%color-muted)}.empty[_ngcontent-%COMP%]{padding:var(--%NS%space-5);color:var(--%NS%color-muted)}`]})};export{it as ClientDetail};
@@ -0,0 +1 @@
1
+ import{n as m,t as l}from"./chunk-BwCtja5l.js";import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,Fn as iv,Gn as k_,Ir as wp,It as Us,Jr as zS,K as Ke$1,Nr as vd,P as Hn,Rn as jS,Sr as rv,Tn as fd,V as Iy,Wn as kS,Wr as y_,X as LS,dr as pe,ft as Ol,lt as OS,mr as qT,mt as PH,pr as qS,qn as ky,rn as Zw,rr as nv,tn as ZT,vt as Py,w as Fb,z as Ip}from"./chunk-BAHiFuUo.js";import{T as ue,h as Ne$1,m as Ie,o as U,r as N,v as Dt,y as G}from"./main-F7D3L737.js";import{wi as wu}from"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import{$r as T,Ia as a,Yc as qt}from"./chunk-D5qmP2Wu.js";import"./chunk-BzUDWIzm.js";import"./chunk-CczD0yXn.js";import"./chunk-CReShp-B.js";import{t as Ae$1}from"./chunk-DM5aibnW.js";import"./chunk-DsaNNeZe.js";import{t as l$1}from"./chunk-BVszSMJC.js";import{a as fn,c as ir,d as nr,f as or,h as yn,n as an,o as gn,p as sr,r as cn,t as P,u as mn}from"./chunk-CSkyOfSg.js";import{t as g$1}from"./chunk-B56nz2lI.js";import{t as k}from"./chunk-D5MFwK9L.js";import{t as P$1}from"./chunk-niXXbm7H.js";import"./chunk-CXHCUTDs.js";import"./chunk-CP-AnFGa2.js";import"./chunk-scbWWgLx2.js";import{t as Of}from"./chunk-D8xHm8jb2.js";import{t as R}from"./chunk-NDpjbcAr2.js";import{a as u,i as m$1,r as g$2}from"./chunk-Dx1NwQCW.js";import{t as me}from"./chunk-CVHqiS63.js";import{t as d}from"./chunk-D1wrPwB5.js";import"./chunk-B6Rml85x2.js";import{t as B}from"./chunk-CEJjSd8-2.js";var Ne=t=>[`/invoices`,t];var Ee=t=>[`/clients`,t,`profile`];var ke=(t,i)=>i.id;function we(t,i){if(t&1&&(Us(0,`a`,3),y_(1),fd()),t&2){let e=qS();Fy(`routerLink`,k_(3,Ne,i.id))(`queryParams`,e.navigation.detailQuery()),ZC(),nv(e.i18n.t(`billingWorkspace.backDetail`))}}function Te(t,i){if(t&1&&(Us(0,`a`,3),y_(1),fd()),t&2){let e=qS();Fy(`routerLink`,e.navigation.listLink())(`queryParams`,e.navigation.listQuery()),ZC(),nv(e.i18n.t(`backOffice.backToBilling`))}}function Fe(t,i){if(t&1&&(Us(0,`p`),y_(1),Us(2,`a`,10),y_(3),fd()()),t&2){let e=i,n=qS();ZC(),rv(` `,n.i18n.t(`backOffice.affair.invoice`),` `,e.invoiceNumber??e.currentRevision.title,` · `),ZC(),Fy(`routerLink`,k_(4,Ee,e.clientId)),ZC(),nv(e.currentRevision.clientDisplayName)}}function Re(t,i){if(t&1&&(Us(0,`p`,5),y_(1),fd()),t&2){let e=qS();ZC(),nv(e.i18n.t(`backOffice.invoices.loading`))}}function qe(t,i){if(t&1&&(Us(0,`p`,7),y_(1),fd()),t&2){let e=qS();ZC(),nv(e.i18n.t(`billingWorkspace.stale`))}}function Le(t,i){if(t&1&&(Us(0,`p`,8),y_(1),fd()),t&2){let e=qS();ZC(),nv(e.i18n.t(i))}}function Ve(t,i){if(t&1&&(Us(0,`div`,12)(1,`a`,13),y_(2),fd()()),t&2){let e=qS(2);ZC(),Fy(`routerLink`,k_(3,Ne,i.id))(`queryParams`,e.navigation.detailQuery()),ZC(),nv(e.i18n.t(`billingWorkspace.backDetail`))}}function Ue(t,i){if(t&1&&(Us(0,`p`,11),y_(1),fd(),OS(2,Ve,3,5,`div`,12)),t&2){let e,n=qS();ZC(),nv(n.i18n.t(`billingWorkspace.completed`)),ZC(),kS((e=n.detail())?2:-1,e)}}function Be(t,i){if(t&1&&(Us(0,`p`,14),y_(1),fd()),t&2){let e=qS(2);ZC(),nv(e.i18n.t(`billingWorkspace.readonly`))}}function ze(t,i){if(t&1&&(Us(0,`option`,31),y_(1),fd()),t&2){let e=i.$implicit,n=qS(5);Fy(`value`,e.id),ZC(),iv(` `,e.reference,` · `,e.clientDisplayName,` · `,e.title,` · `,n.money(e.totalCents),` `)}}function Ae(t,i){if(t&1&&y_(0),t&2)vd(` `,qS(5).i18n.t(`backOffice.invoice.fieldRequired`),` `)}function Ke(t,i){if(t&1&&(Us(0,`p`,14),y_(1),fd()),t&2){let e=qS(5);ZC(),nv(e.i18n.t(`backOffice.invoice.noOrder`))}}function We(t,i){if(t&1&&(Us(0,`label`,20),y_(1),Us(2,`select`,29)(3,`option`,30),y_(4),fd(),LS(5,ze,2,5,`option`,31,ke),fd(),qT(),Us(7,`span`,32),OS(8,Ae,1,1),fd()(),OS(9,Ke,2,1,`p`,14)),t&2){let e=qS(4);ZC(),nv(e.i18n.t(`backOffice.invoice.order`)),ZC(),Fy(`formField`,e.invoiceForm.orderId),ky(`aria-invalid`,e.invoiceForm.orderId().invalid()&&e.invoiceForm.orderId().touched()),ZT(),ZC(2),nv(e.i18n.t(`backOffice.invoice.orderPlaceholder`)),ZC(),jS(e.orders()),ZC(3),kS(e.invoiceForm.orderId().invalid()&&e.invoiceForm.orderId().touched()?8:-1),ZC(),kS(e.orders().length===0?9:-1)}}function Qe(t,i){if(t&1&&y_(0),t&2)vd(` `,qS(5).i18n.t(`backOffice.invoice.fieldInvalid`),` `)}function He(t,i){if(t&1&&(Us(0,`label`,20),y_(1),Py(2,`input`,33),qT(),Us(3,`span`,34),OS(4,Qe,1,1),fd()()),t&2){let e=qS(4);ZC(),nv(e.i18n.t(`backOffice.invoice.title`)),ZC(),Fy(`formField`,e.invoiceForm.title),ky(`aria-invalid`,e.invoiceForm.title().invalid()&&e.invoiceForm.title().touched()),ZT(),ZC(2),kS(e.invoiceForm.title().invalid()&&e.invoiceForm.title().touched()?4:-1)}}function je(t,i){if(t&1&&y_(0),t&2)vd(` `,qS(4).i18n.t(`backOffice.invoice.dateInvalid`),` `)}function Je(t,i){if(t&1&&y_(0),t&2)vd(` `,qS(4).i18n.t(`backOffice.invoice.dueDateInvalid`),` `)}function $e(t,i){if(t&1&&y_(0),t&2)vd(` `,qS(4).i18n.t(`backOffice.invoice.fieldInvalid`),` `)}function Ge(t,i){if(t&1){let e=zS();Us(0,`section`,35)(1,`div`,36)(2,`h2`,37),y_(3),fd()(),Us(4,`app-document-line-editor`,38),Gy(`linesChange`,function(l){Ip(e);return wp(qS(4).setLines(l))}),fd()(),Us(5,`label`,39),Py(6,`input`,40),qT(),y_(7),fd()}if(t&2){let e=qS(4);ZC(3),nv(e.i18n.t(`backOffice.invoice.lines`)),ZC(),Fy(`lines`,e.invoiceForm.lines().value())(`currency`,e.detail()?.currentRevision?.currency??`EUR`)(`disabled`,e.saveDisabled()),ZC(2),Fy(`formField`,e.invoiceForm.refreshParties),ZT(),ZC(),vd(` `,e.i18n.t(`document.refreshParties`))}}function Xe(t,i){if(t&1&&(Us(0,`p`,8),y_(1),fd()),t&2){let e=qS(4);ZC(),nv(e.i18n.t(`backOffice.invoice.validation`))}}function Ye(t,i){if(t&1){let e=zS();Us(0,`form`,18),Gy(`submit`,function(l){Ip(e);return wp(qS(3).save(l))}),Us(1,`div`,19),OS(2,We,10,6)(3,He,5,4,`label`,20),Us(4,`div`,21)(5,`label`,20),y_(6),Py(7,`input`,22),qT(),Us(8,`span`,23),OS(9,je,1,1),fd()(),Us(10,`label`,20),y_(11),Py(12,`input`,24),qT(),Us(13,`span`,25),OS(14,Je,1,1),fd()()(),Us(15,`app-document-text-editor`,26),Gy(`presentationChange`,function(l){Ip(e);return wp(qS(3).setPaymentTermsPresentation(l))}),fd(),qT(),Us(16,`span`,27),OS(17,$e,1,1),fd()(),OS(18,Ge,8,6),OS(19,Xe,2,1,`p`,8),Us(20,`button`,28),y_(21),fd()()}if(t&2){let e=qS(3);ZC(2),kS(e.isNew()?2:3),ZC(4),nv(e.i18n.t(`backOffice.invoice.serviceDate`)),ZC(),Fy(`formField`,e.invoiceForm.serviceDate),ky(`aria-invalid`,e.invoiceForm.serviceDate().invalid()&&e.invoiceForm.serviceDate().touched()),ZT(),ZC(2),kS(e.invoiceForm.serviceDate().invalid()&&e.invoiceForm.serviceDate().touched()?9:-1),ZC(2),nv(e.i18n.t(`backOffice.invoice.dueDate`)),ZC(),Fy(`formField`,e.invoiceForm.dueDate),ky(`aria-invalid`,e.invoiceForm.dueDate().invalid()&&e.invoiceForm.dueDate().touched()),ZT(),ZC(2),kS(e.invoiceForm.dueDate().invalid()&&e.invoiceForm.dueDate().touched()?14:-1),ZC(),Fy(`label`,e.i18n.t(`backOffice.invoice.paymentTerms`))(`formField`,e.invoiceForm.paymentTerms)(`presentation`,e.paymentTermsPresentation()),ZT(),ZC(2),kS(e.invoiceForm.paymentTerms().invalid()&&e.invoiceForm.paymentTerms().touched()?17:-1),ZC(),kS(e.isNew()?-1:18),ZC(),kS(e.invoiceForm().invalid()&&e.invoiceForm().touched()?19:-1),ZC(),Fy(`disabled`,e.saveDisabled()||e.completed()&&!e.hasUnsavedChanges()),ZC(),vd(` `,e.i18n.t(e.saveKey()),` `)}}function Ze(t,i){if(t&1&&Iy(0,Ye,22,17,`form`,17),t&2)Fy(`appCan`,qS(2).writePermission())}function et(t,i){if(t&1&&(Us(0,`p`,14),y_(1),fd()),t&2){let e=qS(3);ZC(),nv(e.i18n.t(`backOffice.invoice.dirtyTotals`))}}function tt(t,i){if(t&1&&(Us(0,`section`,16)(1,`h2`),y_(2),fd(),OS(3,et,2,1,`p`,14),Us(4,`dl`)(5,`div`)(6,`dt`),y_(7),fd(),Us(8,`dd`),y_(9),fd()(),Us(10,`div`)(11,`dt`),y_(12),fd(),Us(13,`dd`),y_(14),fd()(),Us(15,`div`)(16,`dt`),y_(17),fd(),Us(18,`dd`),y_(19),fd()()()()),t&2){let e=i,n=qS(2);ZC(2),nv(n.i18n.t(`backOffice.invoice.total`)),ZC(),kS(n.totalsAreStale()?3:-1),ZC(4),nv(n.i18n.t(`backOffice.invoice.subtotal`)),ZC(2),nv(n.money(e.currentRevision.netTotalCents)),ZC(3),nv(n.i18n.t(`backOffice.invoice.tax`)),ZC(2),nv(n.money(e.currentRevision.vatTotalCents)),ZC(3),nv(n.i18n.t(`backOffice.invoice.total`)),ZC(2),nv(n.money(e.currentRevision.totalCents))}}function it(t,i){if(t&1&&(OS(0,Be,2,1,`p`,14)(1,Ze,1,1,`form`,15),OS(2,tt,20,8,`section`,16)),t&2){let e,n=qS();kS(n.editable()?1:0),ZC(2),kS((e=n.detail())?2:-1,e)}}function nt(t,i){if(t&1){let e=zS();Us(0,`button`,41),Gy(`click`,function(){Ip(e);return wp(qS().reload())}),y_(1),fd()}if(t&2){let e=qS();Fy(`disabled`,e.saving()),ZC(),vd(` `,e.i18n.t(`listControls.reload`),` `)}}var at=()=>({description:``,quantity:`1`,unitPrice:`0.00`,vatRate:`20.00`});var Me=()=>({refreshParties:!1,orderId:``,title:``,serviceDate:``,dueDate:``,paymentTerms:``,lines:[at()]});var Se=class t{writePermission=Ft(()=>this.isNew()?`invoice.create`:`invoice.update`);i18n=g(Ie);api=g(R);ordersApi=g(d);confirmation=g(P$1);route=g(G);navigation=new B(this.route);router=g(ue);element=g(Hn);destroyRef=g(pe);request=0;focusInvalid=Ke$1(!1);isNew=Ke$1(!1);titleKey=Ft(()=>this.isNew()?`backOffice.invoice.title.new`:`billingWorkspace.edit`);saveKey=Ft(()=>this.saving()?`backOffice.invoice.saving`:`backOffice.invoice.save`);orders=Ke$1([]);detail=Ke$1(void 0);loading=Ke$1(!0);saving=Ke$1(!1);unavailable=Ke$1(!1);stale=Ke$1(!1);completed=Ke$1(!1);error=Ke$1(void 0);model=Ke$1(Me());paymentTermsPresentation=Ft(()=>this.model().paymentTermsPresentation);baseline=Ke$1(JSON.stringify(this.model()));editable=Ft(()=>this.isNew()||this.detail()?.status===`draft`);saveDisabled=Ft(()=>!this.editable()||this.saving()||this.loading()||this.stale()||this.isNew()&&this.completed());invoiceForm=nr(this.model,i=>{an(i,()=>this.saveDisabled()),gn(i.orderId,{when:()=>this.isNew()}),gn(i.serviceDate),P(i.serviceDate,({value:e})=>wu.is(T)(e())?void 0:{kind:`date`}),gn(i.dueDate),P(i.dueDate,({value:e,valueOf:n})=>!wu.is(T)(e())||e()<n(i.serviceDate)?{kind:`date`}:void 0),cn(i.paymentTerms,2e3),P(i.paymentTerms,({value:e})=>qt(e(),this.model().paymentTermsPresentation?.format??`plain`)?void 0:{kind:`format`}),sr(i.title,()=>!this.isNew(),e=>{gn(e),cn(e,120),mn(e,/\S/)}),sr(i.lines,()=>!this.isNew(),e=>{fn(e,1),cn(e,20),ir(e,n=>{gn(n.description),cn(n.description,160),mn(n.description,/\S/),P(n.quantity,({value:l})=>{let s=u(l(),3);return s===void 0||s===0?{kind:`quantity`}:void 0}),P(n.unitPrice,({value:l})=>u(l(),2)===void 0?{kind:`unitPrice`}:void 0),P(n.vatRate,({value:l})=>{let s=u(l(),2);return s===void 0||s>1e4?{kind:`vatRate`}:void 0})})})});hasUnsavedChanges=Ft(()=>this.stale()||JSON.stringify(this.model())!==this.baseline()||this.invoiceForm().errorSummary().some(i=>i.kind===`parse`));totalsAreStale=Ft(()=>this.detail()!==void 0&&this.hasUnsavedChanges());constructor(){Ol(()=>this.route.paramMap.pipe(U(this.destroyRef)).subscribe(i=>{this.load(i.get(`invoiceId`))})),PH(()=>{this.focusInvalid()?(this.element.nativeElement.querySelector(`[aria-invalid="true"]`)?.focus(),this.focusInvalid.set(!1)):(this.error()||this.completed())&&this.element.nativeElement.querySelector(`[data-editor-feedback]`)?.focus()})}setLines(i){this.saveDisabled()||(this.model.update(e=>m(l({},e),{lines:[...i]})),this.invoiceForm().markAsDirty(),this.completed.set(!1))}async canDeactivate(){return this.completed()&&!this.hasUnsavedChanges()?!0:this.saving()?!1:!this.hasUnsavedChanges()||this.confirmation.request(this.i18n.t(`backOffice.invoice.unsavedChanges`))}setPaymentTermsPresentation(i){this.invoiceForm.paymentTerms().disabled()||(this.model.update(e=>m(l({},e),{paymentTermsPresentation:i})),this.invoiceForm.paymentTerms().markAsDirty())}beforeUnload(i){(this.saving()||this.hasUnsavedChanges())&&(i.preventDefault(),i.returnValue=``)}save(i){i.preventDefault(),!(this.saveDisabled()||this.completed()&&!this.hasUnsavedChanges())&&or(this.invoiceForm,{action:async()=>{if(!(!this.isNew()&&!this.hasUnsavedChanges())){this.saving.set(!0),this.error.set(void 0),this.completed.set(!1);try{let e=this.model(),n=this.detail();if(this.isNew()){if(!wu.is(a)(e.orderId)){this.error.set(`invoice.order_not_found`);return}let K={orderId:e.orderId,serviceDate:e.serviceDate,dueDate:e.dueDate,paymentTerms:e.paymentTerms},De=e.paymentTermsPresentation===void 0?K:m(l({},K),{paymentTermsPresentation:e.paymentTermsPresentation}),N=await this.api.create(De);if(this.destroyRef.destroyed)return;if(!N.success){if(N.failure?._tag===`InvoiceAlreadyExists`){this.resetForm(),this.completed.set(!0),await this.router.navigate([`/invoices`,N.failure.invoiceId],{replaceUrl:!0,queryParams:this.navigation.detailQuery()});return}this.error.set(N.code);return}this.resetForm(),this.completed.set(!0),await this.router.navigate([`/invoices`,N.result.id],{replaceUrl:!0,queryParams:this.navigation.detailQuery()});return}let l$2=this.parseLines();if(!n||!l$2){this.error.set(`invoice.error`);return}let s={expectedVersion:n.version,refreshParties:e.refreshParties,title:e.title.trim(),serviceDate:e.serviceDate,dueDate:e.dueDate,paymentTerms:e.paymentTerms,lines:l$2},R=e.paymentTermsPresentation===void 0?s:m(l({},s),{paymentTermsPresentation:e.paymentTermsPresentation}),S=await this.api.createRevision(n.id,R);if(this.destroyRef.destroyed)return;if(!S.success){this.error.set(S.code),this.stale.set(S.code===`invoice.version_conflict`||S.code===`invoice.not_editable`);return}this.applyDetail(S.result),this.completed.set(!0)}catch{this.destroyRef.destroyed||this.error.set(`invoice.error`)}finally{this.destroyRef.destroyed||this.saving.set(!1)}}},onInvalid:()=>this.focusInvalid.set(!0)})}async reload(){this.saving()||this.hasUnsavedChanges()&&!await this.confirmation.request(this.i18n.t(`billingWorkspace.reloadConfirm`))||await this.load(this.route.snapshot.paramMap.get(`invoiceId`))}async load(i){let e=++this.request;if(this.isNew.set(i===null),this.detail.set(void 0),this.loading.set(!0),this.unavailable.set(!1),this.error.set(void 0),this.stale.set(!1),this.completed.set(!1),this.model.set(Me()),this.resetForm(),i!==null&&!wu.is(a)(i)){this.unavailable.set(!0),this.error.set(`invoice.not_found`),this.loading.set(!1);return}try{if(i===null){let n=await this.ordersApi.list();if(e!==this.request||this.destroyRef.destroyed)return;this.orders.set(n.filter(s=>s.invoiceId===null));let l$3=this.route.snapshot.queryParamMap.get(`orderId`);l$3&&this.orders().some(s=>s.id===l$3)&&this.model.update(s=>m(l({},s),{orderId:l$3})),this.resetForm()}else{let n=await this.api.get(i);if(e!==this.request||this.destroyRef.destroyed)return;if(!n.success){this.error.set(n.code),this.unavailable.set(!0);return}this.applyDetail(n.result)}}catch{e===this.request&&!this.destroyRef.destroyed&&(this.error.set(`invoice.error`),this.unavailable.set(!0))}finally{e===this.request&&!this.destroyRef.destroyed&&this.loading.set(!1)}}applyDetail(i){this.detail.set(i);let e=i.currentRevision,n=this.i18n.language()===`fr`?`,`:`.`;this.model.set({orderId:i.orderId,refreshParties:!1,title:e.title,serviceDate:e.serviceDate,dueDate:e.dueDate,paymentTerms:e.paymentTerms,paymentTermsPresentation:e.paymentTermsPresentation,lines:e.lines.map(l=>({description:l.description,quantity:g$2(l.quantityMilli,3,n),unitPrice:m$1(l.unitPriceCents,2,n),vatRate:m$1(l.vatRateBasisPoints,2,n)}))}),this.resetForm()}resetForm(){this.baseline.set(JSON.stringify(this.model())),this.invoiceForm().reset()}parseLines(){let i=[];for(let e of this.model().lines){let n=u(e.quantity,3),l=u(e.unitPrice,2),s=u(e.vatRate,2);if(n===void 0||n===0||l===void 0||s===void 0||s>1e4)return;i.push({description:e.description.trim(),quantityMilli:n,unitPriceCents:l,vatRateBasisPoints:s})}return i}money(i){return Ne$1(i,this.i18n.language(),`EUR`)}static ɵfac=function(e){return new(e||t)};static ɵcmp=Fb({type:t,selectors:[[`app-invoice-editor`]],hostAttrs:[1,`page-container`],hostBindings:function(e,n){e&1&&Gy(`beforeunload`,function(s){return n.beforeUnload(s)},Zw)},decls:17,vars:9,consts:[[`aria-labelledby`,`invoice-title`,1,`detail-page`,`form-page`,`document-editor`],[`layout`,`stacked`],[`pageBack`,``],[1,`back-link`,3,`routerLink`,`queryParams`],[`id`,`invoice-title`],[`role`,`status`],[`data-editor-feedback`,``,`tabindex`,`-1`],[`appNotice`,``,`variant`,`warning`,`role`,`alert`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`appButton`,``,3,`disabled`],[3,`routerLink`],[`appNotice`,``,`variant`,`success`,`role`,`status`],[1,`spacer-x-3`],[`appLinkButton`,``,3,`routerLink`,`queryParams`],[`appNotice`,``],[`novalidate`,``],[1,`saved-summary`,`ds-panel`],[`novalidate`,``,3,`submit`,4,`appCan`],[`novalidate`,``,3,`submit`],[1,`invoice-terms`,`ds-panel`,`form-panel`],[1,`field`],[1,`date-fields`],[`type`,`date`,`aria-describedby`,`invoice-service-date-error`,1,`input`,3,`formField`],[`id`,`invoice-service-date-error`,1,`field-error`],[`type`,`date`,`aria-describedby`,`invoice-due-date-error`,1,`input`,3,`formField`],[`id`,`invoice-due-date-error`,1,`field-error`],[`controlId`,`invoice-payment-terms`,`descriptionId`,`invoice-payment-terms-error`,3,`presentationChange`,`label`,`formField`,`presentation`],[`id`,`invoice-payment-terms-error`,1,`field-error`],[`appButton`,``,`variant`,`primary`,`type`,`submit`,3,`disabled`],[`appFilterSelect`,``,`aria-describedby`,`invoice-order-error`,1,`input`,3,`formField`],[`value`,``],[3,`value`],[`id`,`invoice-order-error`,1,`field-error`],[`type`,`text`,`aria-describedby`,`invoice-title-error`,1,`input`,3,`formField`],[`id`,`invoice-title-error`,1,`field-error`],[`aria-labelledby`,`lines-title`,1,`lines`],[1,`section-heading`],[`id`,`lines-title`],[1,`document-lines`,3,`linesChange`,`lines`,`currency`,`disabled`],[1,`choice`],[`type`,`checkbox`,3,`formField`],[`appButton`,``,3,`click`,`disabled`]],template:function(e,n){if(e&1&&(Us(0,`section`,0)(1,`app-page-header`,1)(2,`div`,2),OS(3,we,2,5,`a`,3)(4,Te,2,3,`a`,3),fd(),Us(5,`h1`,4),y_(6),fd(),OS(7,Fe,4,6,`p`),Us(8,`p`),y_(9),fd()(),OS(10,Re,2,1,`p`,5),Us(11,`div`,6),OS(12,qe,2,1,`p`,7)(13,Le,2,1,`p`,8),OS(14,Ue,3,2),fd(),OS(15,it,3,2),OS(16,nt,2,2,`button`,9),fd()),e&2){let l,s,R;ZC(3),kS((l=n.detail())?3:4,l),ZC(3),nv(n.i18n.t(n.titleKey())),ZC(),kS((s=n.detail())?7:-1,s),ZC(2),nv(n.i18n.t(`billingWorkspace.noAutosave`)),ZC(),kS(n.loading()?10:-1),ZC(2),kS(n.stale()?12:(R=n.error())?13:-1,R),ZC(2),kS(n.completed()&&!n.hasUnsavedChanges()?14:-1),ZC(),kS(!n.loading()&&!n.unavailable()?15:-1),ZC(),kS(n.unavailable()||n.stale()?16:-1)}},dependencies:[Ae$1,l$1,N,yn,k,g$1,Dt,Of,me],styles:[`.document-editor[_ngcontent-%COMP%]{align-items:start}.document-editor[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{min-width:0}form[_ngcontent-%COMP%]{container-type:inline-size;min-width:0}.document-editor[_ngcontent-%COMP%] > form[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-5)}.document-editor[_ngcontent-%COMP%] > form[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{margin-block:0}.lines[_ngcontent-%COMP%] > *[_ngcontent-%COMP%] + *[_ngcontent-%COMP%]{margin-top:var(--%NS%space-5)}.section-heading[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--%NS%space-3)}.section-heading[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:var(--%NS%text-xl)}.external-link[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:var(--%NS%space-1)}.document-line[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--%NS%space-3);min-width:0;margin:0;padding:var(--%NS%space-4)}.document-line[_ngcontent-%COMP%] > .field[_ngcontent-%COMP%]{align-content:end}.document-line[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{justify-self:start}legend[_ngcontent-%COMP%]{padding:var(--%NS%space-1) var(--%NS%space-2);color:var(--%NS%color-muted);font-family:var(--%NS%font-mono);font-size:var(--%NS%text-xs);font-weight:700;letter-spacing:var(--%NS%tracking-label);text-transform:uppercase}.line-total[_ngcontent-%COMP%]{align-self:center;color:var(--%NS%color-muted);font-size:var(--%NS%text-sm);text-align:end;font-variant-numeric:tabular-nums}textarea[_ngcontent-%COMP%]{resize:vertical}.hint[_ngcontent-%COMP%]{margin-top:var(--%NS%space-2);color:var(--%NS%color-muted);font-size:var(--%NS%text-xs)}[appOutcomePanel].ds-panel[_ngcontent-%COMP%]{border:0;background:var(--%NS%color-panel);box-shadow:none}[appOutcomePanel][_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:var(--%NS%text-xl)}[appOutcomePanel][_ngcontent-%COMP%] h2[_ngcontent-%COMP%]:not(:first-child){margin-top:var(--%NS%space-6)}[appOutcomePanel][_ngcontent-%COMP%] h2[_ngcontent-%COMP%] + *[_ngcontent-%COMP%]{margin-top:var(--%NS%space-3)}dl[_ngcontent-%COMP%]{margin:var(--%NS%space-3) 0 0}dl[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:var(--%NS%space-4);padding-block:var(--%NS%space-2);border-bottom:1px solid var(--%NS%color-line-strong)}dd[_ngcontent-%COMP%]{min-width:0;margin:0;font-weight:700;font-variant-numeric:tabular-nums;text-align:end;overflow-wrap:anywhere}dl[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:last-child{color:var(--%NS%color-ink);font-size:var(--%NS%text-lg)}ol[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);padding-inline-start:var(--%NS%space-5)}ol[_ngcontent-%COMP%] li[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block;overflow-wrap:anywhere}ol[_ngcontent-%COMP%] li[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2){color:var(--%NS%color-muted);font-size:var(--%NS%text-xs)}.revision-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--%NS%space-2);margin-top:var(--%NS%space-2)}.preview[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{width:100%;height:clamp(28rem,80dvh,65rem);margin-top:var(--%NS%space-4);border:1px dashed var(--%NS%color-line-strong);border-radius:var(--%NS%radius-sm);background:#fff;box-shadow:var(--%NS%shadow-panel)}@container (min-width: 28rem){.document-line[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr))}.document-line[_ngcontent-%COMP%] > .description[_ngcontent-%COMP%]{grid-column:1/-1}.document-line[_ngcontent-%COMP%] > .line-total[_ngcontent-%COMP%]{grid-column:2/-1}}@media(min-width:64rem){.document-editor[_ngcontent-%COMP%]:has(>[appOutcomePanel]){grid-template-columns:minmax(0,1fr) 20rem}.document-editor[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{grid-column:1/-1}.document-editor[_ngcontent-%COMP%]:has(>[appOutcomePanel]) > form[_ngcontent-%COMP%]{grid-column:1}.document-editor[_ngcontent-%COMP%] > [appOutcomePanel][_ngcontent-%COMP%]{grid-column:2}}[_nghost-%COMP%]{display:block}.detail-page[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);min-inline-size:0;inline-size:100%;max-inline-size:var(--%NS%page-width-detail);margin-inline:auto;padding:var(--%NS%page-header-y) var(--%NS%page-x)}.detail-page.form-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-form)}.detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-wide)}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-2xl);overflow-wrap:anywhere}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-base);color:var(--%NS%color-muted);overflow-wrap:anywhere}.detail-page[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{justify-self:start}@media print{.detail-page[_ngcontent-%COMP%], .detail-page.form-page[_ngcontent-%COMP%], .detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:none}}.invoice-terms[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4)}.saved-summary[_ngcontent-%COMP%]{padding:var(--%NS%space-4)}.field-error[_ngcontent-%COMP%]:empty{display:none}[data-editor-feedback][_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-3)}.date-fields[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--%NS%space-4)}@container (max-width: 24rem){.date-fields[_ngcontent-%COMP%]{grid-template-columns:minmax(0,1fr)}}`]})};export{Se as InvoiceEditor};
@@ -0,0 +1 @@
1
+ import{n as m,t as l}from"./chunk-BwCtja5l.js";import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,Gn as k_,Ir as wp,It as Us,J as Ky,Jr as zS,K as Ke,Nr as vd,Rn as jS,Tn as fd,V as Iy,Vr as xH,W as KS,Wn as kS,Wr as y_,X as LS,dr as pe,en as ZS,ft as Ol,lt as OS,mr as qT,pr as qS,qn as ky,rn as Zw,rr as nv,tn as ZT,tt as Mn,vt as Py,w as Fb,xn as e_,z as Ip}from"./chunk-BAHiFuUo.js";import{T as ue,h as Ne,m as Ie,o as U,r as N,v as Dt,y as G}from"./main-F7D3L737.js";import{ct as Me,wi as wu}from"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import{Ia as a,Tt as Fp,Yc as qt$1}from"./chunk-D5qmP2Wu.js";import{t as y}from"./chunk-xTX16tt2.js";import"./chunk-DjewtV43.js";import"./chunk-B0bNirg2.js";import{m as is}from"./chunk-BzUDWIzm.js";import"./chunk-CczD0yXn.js";import"./chunk-CReShp-B.js";import{t as Ae}from"./chunk-DM5aibnW.js";import"./chunk-CfwFJLFh.js";import"./chunk-DsaNNeZe.js";import{t as l$1}from"./chunk-BVszSMJC.js";import{a as fn,c as ir,d as nr,f as or,h as yn,n as an,o as gn,r as cn,t as P,u as mn}from"./chunk-CSkyOfSg.js";import{t as g$1}from"./chunk-B56nz2lI.js";import{t as k}from"./chunk-D5MFwK9L.js";import{t as P$1}from"./chunk-niXXbm7H.js";import"./chunk-CPHUl7N2.js";import"./chunk-CXHCUTDs.js";import"./chunk-cTGENC4T2.js";import{t as K$1}from"./chunk-Ck6cItVE2.js";import"./chunk-CP-AnFGa2.js";import"./chunk-scbWWgLx2.js";import{t as Of}from"./chunk-D8xHm8jb2.js";import"./chunk-DpLF2wJ62.js";import"./chunk-POMKwNf_.js";import{i as f}from"./chunk-CfcCxe_k.js";import{a as u,i as m$1,r as g$2}from"./chunk-Dx1NwQCW.js";import{t as ut$1}from"./chunk-BQ7WWH4L.js";import{n as x}from"./chunk-DhkjPUn4.js";import{t as y$1}from"./chunk-DZgf7AIe.js";import{t as m$2}from"./chunk-BpZ7MSOP.js";import{t as ce}from"./chunk-BZZJ287h.js";import{t as me}from"./chunk-CVHqiS63.js";var $e=[`*`];var K=class i{static ɵfac=function(e){return new(e||i)};static ɵcmp=Fb({type:i,selectors:[[`aside`,`appOutcomePanel`,``]],ngContentSelectors:$e,decls:1,vars:0,template:function(e,n){e&1&&(ZS(),KS(0))},styles:[`[_nghost-%COMP%]{display:block;min-width:0;padding:var(--%NS%panel-padding);border:1px solid var(--%NS%color-line);border-radius:var(--%NS%radius-sm);background:var(--%NS%color-surface-raised);box-shadow:var(--%NS%shadow-panel)}`]})};var X=i=>[`/quotes`,i];var We=i=>[`/affairs`,i];var Je=i=>[`/clients`,i,`profile`];var Ze=i=>({version:i});var Ge=(i,t)=>t.id;function Xe(i,t){if(i&1&&(Us(0,`a`,3),y_(1),fd()),i&2){let e=qS();Fy(`routerLink`,k_(3,X,t.id))(`queryParams`,e.context()),ZC(),nv(e.i18n.t(`commercial.backQuote`))}}function Ye(i,t){if(i&1&&(Us(0,`a`,3),y_(1),fd()),i&2){let e=qS();Fy(`routerLink`,k_(3,We,e.context().view??`attention`))(`queryParams`,e.context()),ZC(),nv(e.i18n.t(`backOffice.backToAffairs`))}}function et(i,t){if(i&1&&(Us(0,`p`),y_(1),Us(2,`a`,6),y_(3),fd(),y_(4),fd()),i&2){let e=t,n=qS();ZC(),vd(` `,e.reference,` · `),ZC(),Fy(`routerLink`,k_(4,Je,e.clientId)),ZC(),nv(e.currentRevision.clientDisplayName),ZC(),vd(` · `,n.i18n.tf(`commercial.revision`,k_(6,Ze,e.version)),` `)}}function tt(i,t){if(i&1&&(Us(0,`p`,5),y_(1),fd()),i&2){let e=qS();ZC(),nv(e.i18n.t(`backOffice.quotes.loading`))}}function it(i,t){if(i&1&&(Us(0,`p`,7),y_(1),fd()),i&2){let e=qS(2);ZC(),nv(e.i18n.t(t))}}function nt(i,t){if(i&1){let e=zS();OS(0,it,2,1,`p`,7),Us(1,`button`,8),Gy(`click`,function(){Ip(e);return wp(qS().reload())}),y_(2),fd()}if(i&2){let e,n=qS();kS((e=n.error())?0:-1,e),ZC(2),vd(` `,n.i18n.t(`backOffice.affair.retry`),` `)}}function ot(i,t){if(i&1&&(Us(0,`a`,10),y_(1),fd()),i&2){let e=qS(2);Fy(`routerLink`,k_(3,X,t.id))(`queryParams`,e.context()),ZC(),nv(e.i18n.t(`commercial.backQuote`))}}function at(i,t){if(i&1&&(Us(0,`p`,9),y_(1),fd(),OS(2,ot,2,5,`a`,10)),i&2){let e,n=qS();ZC(),nv(n.i18n.t(`commercial.saved`)),ZC(),kS((e=n.detail())?2:-1,e)}}function rt(i,t){if(i&1&&(Us(0,`a`,10),y_(1),fd()),i&2){let e=qS(2);Fy(`routerLink`,k_(3,X,t.id))(`queryParams`,e.context()),ZC(),nv(e.i18n.t(`commercial.backQuote`))}}function st(i,t){if(i&1&&(Us(0,`p`,11),y_(1),fd(),OS(2,rt,2,5,`a`,10)),i&2){let e,n=qS();ZC(),nv(n.i18n.t(`commercial.readOnly`)),ZC(),kS((e=n.detail())?2:-1,e)}}function dt(i,t){if(i&1&&(Us(0,`option`,38),y_(1),fd()),i&2){let e=t.$implicit;Fy(`value`,e.id),ZC(),nv(e.displayName)}}function lt(i,t){if(i&1&&(Us(0,`span`,39),y_(1),fd()),i&2){let e=qS(4);ZC(),nv(e.i18n.t(`backOffice.quote.fieldRequired`))}}function ct(i,t){if(i&1&&(Us(0,`a`,41),y_(1),fd()),i&2){let e=qS(5);ZC(),nv(e.i18n.t(`backOffice.quote.manageClients`))}}function ut(i,t){if(i&1&&(Us(0,`p`,11),y_(1),Iy(2,ct,2,1,`a`,40),fd()),i&2){let e=qS(4);ZC(),vd(` `,e.i18n.t(`backOffice.quote.noClient`),` `),ZC(),Fy(`appCan`,`client.create`)}}function mt(i,t){if(i&1&&(Us(0,`label`,18),y_(1),Us(2,`select`,36)(3,`option`,37),y_(4),fd(),LS(5,dt,2,2,`option`,38,Ge),fd(),qT(),OS(7,lt,2,1,`span`,39),fd(),OS(8,ut,3,2,`p`,11)),i&2){let e=qS(3);ZC(),vd(``,e.i18n.t(`backOffice.quote.client`),` `),ZC(),Fy(`formField`,e.quoteForm.clientId),ky(`aria-invalid`,e.quoteForm.clientId().invalid()&&e.quoteForm.clientId().touched()),ZT(),ZC(2),nv(e.i18n.t(`backOffice.quote.clientPlaceholder`)),ZC(),jS(e.clients()),ZC(2),kS(e.quoteForm.clientId().invalid()&&e.quoteForm.clientId().touched()?7:-1),ZC(),kS(e.clients().length===0?8:-1)}}function pt(i,t){if(i&1&&(Us(0,`span`,20),y_(1),fd()),i&2){let e=qS(3);ZC(),nv(e.i18n.t(`backOffice.quote.fieldInvalid`))}}function ft(i,t){if(i&1){let e=zS();Us(0,`button`,42),Gy(`click`,function(){Ip(e);return wp(qS(3).createCatalogItem())}),y_(1),fd()}if(i&2){let e=qS(3);Fy(`disabled`,e.saveDisabled()||e.quoteForm.lines.length>=20),ZC(),vd(` `,e.i18n.t(`catalog.create`),` `)}}function _t(i,t){if(i&1){let e=zS();Us(0,`button`,43),Gy(`click`,function(){Ip(e);return wp(qS(3).createConditionPreset())}),y_(1),fd()}if(i&2){let e=qS(3);Fy(`disabled`,e.saveDisabled()),ZC(),vd(` `,e.i18n.t(`configurationWorkspace.newCondition`),` `)}}function gt(i,t){if(i&1&&(Us(0,`span`,33),y_(1),fd()),i&2){let e=qS(3);ZC(),nv(e.i18n.t(`backOffice.quote.fieldInvalid`))}}function yt(i,t){if(i&1&&(Us(0,`p`,9),y_(1),fd()),i&2){let e=qS(3);ZC(),nv(e.i18n.t(t))}}function vt(i,t){if(i&1&&(Us(0,`p`,7),y_(1),fd()),i&2){let e=qS(3);ZC(),nv(e.i18n.t(t))}}function ht(i,t){if(i&1){let e=zS();Us(0,`button`,45),Gy(`click`,function(){Ip(e);return wp(qS(4).reload())}),y_(1),fd()}if(i&2){let e=qS(4);Fy(`disabled`,e.saving()),ZC(),vd(` `,e.i18n.t(`commercial.loadLatest`),` `)}}function Ct(i,t){if(i&1&&(Us(0,`p`,7),y_(1),fd(),OS(2,ht,2,2,`button`,44)),i&2){let e=qS(3);ZC(),nv(e.i18n.t(t)),ZC(),kS(e.detail()&&!e.uncertain()?2:-1)}}function xt(i,t){if(i&1&&(Us(0,`p`,34),y_(1),fd()),i&2){let e=qS(3);ZC(),nv(e.i18n.t(`commercial.pending`))}}function bt(i,t){if(i&1&&(Us(0,`p`,15),y_(1),fd()),i&2){let e=qS(3);ZC(),nv(e.i18n.t(`document.quote.refreshHint`))}}function Pt(i,t){if(i&1){let e=zS();Us(0,`form`,16),Gy(`submit`,function(r){Ip(e);return wp(qS(2).save(r))}),Us(1,`div`,17),OS(2,mt,9,6),Us(3,`label`,18),y_(4),Py(5,`input`,19),qT(),OS(6,pt,2,1,`span`,20),fd(),Us(7,`label`,18),y_(8),Py(9,`input`,21),qT(),fd()(),Us(10,`section`,22)(11,`div`,23)(12,`h2`,24),y_(13),fd()(),Us(14,`app-document-line-editor`,25),Gy(`linesChange`,function(r){Ip(e);return wp(qS(2).setLines(r))}),fd(),Us(15,`div`,26)(16,`app-object-picker`,27),Gy(`selected`,function(r){Ip(e);return wp(qS(2).addCatalogItem(r))}),fd(),Iy(17,ft,2,2,`button`,28),fd(),Us(18,`p`,15),y_(19),fd()(),Us(20,`section`,29)(21,`div`,26)(22,`app-object-picker`,30),Gy(`selected`,function(r){Ip(e);return wp(qS(2).selectConditionPreset(r))}),fd(),Iy(23,_t,2,2,`button`,31),fd(),Us(24,`app-document-text-editor`,32),Gy(`presentationChange`,function(r){Ip(e);return wp(qS(2).setConditionsPresentation(r))}),fd(),qT(),OS(25,gt,2,1,`span`,33),fd(),OS(26,yt,2,1,`p`,9),OS(27,vt,2,1,`p`,7),OS(28,Ct,3,2),OS(29,xt,2,1,`p`,34),Us(30,`button`,35),y_(31),fd(),OS(32,bt,2,1,`p`,15),fd()}if(i&2){let e,n,r,a=qS(2);ZC(2),kS(a.isNew()?2:-1),ZC(2),vd(``,a.i18n.t(`backOffice.quote.title`),` `),ZC(),Fy(`formField`,a.quoteForm.title),ky(`aria-invalid`,a.quoteForm.title().invalid()&&a.quoteForm.title().touched()),ZT(),ZC(),kS(a.quoteForm.title().invalid()&&a.quoteForm.title().touched()?6:-1),ZC(2),vd(``,a.i18n.t(`backOffice.quote.currency`),` `),ZC(),Fy(`formField`,a.quoteForm.currency),ky(`aria-invalid`,a.quoteForm.currency().invalid()&&a.quoteForm.currency().touched()),ZT(),ZC(4),nv(a.i18n.t(`backOffice.quote.lines`)),ZC(),Fy(`lines`,a.quoteForm.lines().value())(`currency`,a.quoteForm.currency().value())(`disabled`,a.saveDisabled()||a.referenceBusy()),ZC(2),Fy(`label`,a.i18n.t(`catalog.add`))(`options`,a.catalogOptions())(`disabled`,a.saveDisabled()||a.quoteForm.lines.length>=20),ZC(),Fy(`appCan`,`catalog.manage`),ZC(2),nv(a.i18n.t(`catalog.snapshotHint`)),ZC(3),Fy(`label`,a.i18n.t(`backOffice.quote.conditionPreset`))(`options`,a.presetOptions())(`disabled`,a.saveDisabled()),ZC(),Fy(`appCan`,`condition.manage`),ZC(),Fy(`label`,a.i18n.t(`backOffice.quote.conditions`))(`formField`,a.quoteForm.conditions)(`presentation`,a.conditionsPresentation()),ZT(),ZC(),kS(a.quoteForm.conditions().invalid()&&a.quoteForm.conditions().touched()?25:-1),ZC(),kS((e=a.referenceNotice())?26:-1,e),ZC(),kS((n=a.referenceError())?27:-1,n),ZC(),kS((r=a.error())?28:-1,r),ZC(),kS(a.saving()?29:-1),ZC(),Fy(`disabled`,a.saveDisabled()||a.referenceBusy()),ZC(),vd(` `,a.i18n.t(a.saveKey()),` `),ZC(),kS(a.isNew()?-1:32)}}function qt(i,t){if(i&1&&(Us(0,`p`,46),y_(1),fd()),i&2){let e=qS(3);ZC(),nv(e.i18n.t(`backOffice.quote.dirtyTotals`))}}function Ot(i,t){if(i&1&&(OS(0,qt,2,1,`p`,46),Us(1,`dl`)(2,`div`)(3,`dt`),y_(4),fd(),Us(5,`dd`),y_(6),fd()(),Us(7,`div`)(8,`dt`),y_(9),fd(),Us(10,`dd`),y_(11),fd()(),Us(12,`div`)(13,`dt`),y_(14),fd(),Us(15,`dd`),y_(16),fd()()()),i&2){let e=t,n=qS(2);kS(n.totalsAreStale()?0:-1),ZC(4),nv(n.i18n.t(`backOffice.quote.subtotal`)),ZC(2),nv(n.money(e.currentRevision.netTotalCents)),ZC(3),nv(n.i18n.t(`backOffice.quote.tax`)),ZC(2),nv(n.money(e.currentRevision.vatTotalCents)),ZC(3),nv(n.i18n.t(`backOffice.quote.total`)),ZC(2),nv(n.money(e.currentRevision.totalCents))}}function Mt(i,t){if(i&1&&(Us(0,`p`,15),y_(1),fd()),i&2){let e=qS(2);ZC(),nv(e.i18n.t(`commercial.newTotals`))}}function Et(i,t){if(i&1&&(Iy(0,Pt,33,32,`form`,12),Us(1,`aside`,13)(2,`h2`,14),y_(3),fd(),OS(4,Ot,17,7)(5,Mt,2,1,`p`,15),Us(6,`p`,15),y_(7),fd()()),i&2){let e,n=qS();Fy(`appCan`,n.writePermission()),ZC(3),nv(n.i18n.t(`commercial.savedTotals`)),ZC(),kS((e=n.detail())?4:5,e),ZC(3),nv(n.i18n.t(`commercial.savedHint`))}}var Be=()=>({description:``,quantity:`1`,unitPrice:`0.00`,vatRate:`20.00`});var Ue=class i{lineEditor=xH.required(me);writePermission=Ft(()=>this.isNew()?`quote.create`:`quote.update`);confirmation=g(P$1);catalogApi=g(f);catalogItems=Ke([]);i18n=g(Ie);clientsApi=g(y);quotesApi=g(y$1);conditionPresetsApi=g(m$2);route=g(G);context=Ke(x(this.route.snapshot.queryParamMap));router=g(ue);destroyRef=g(pe);pendingTasks=g(Mn);dialogs=g(is);referenceDialog=Ke(void 0);referenceRequest=0;applyingConditions=Ke(!1);referenceBusy=Ft(()=>this.referenceDialog()!==void 0||this.applyingConditions());referenceError=Ke(void 0);referenceNotice=Ke(void 0);quoteId=Ke(void 0);affairId=Ke(void 0);routeRequest=0;isNew=Ke(!1);titleKey=Ft(()=>this.isNew()?`backOffice.quote.title.new`:`backOffice.quote.title.edit`);saveKey=Ft(()=>this.saving()?`backOffice.quote.saving`:`backOffice.quote.save`);clients=Ke([]);conditionPresets=Ke([]);detail=Ke(void 0);loading=Ke(!0);unavailable=Ke(!1);saving=Ke(!1);completed=Ke(!1);uncertain=Ke(!1);error=Ke(void 0);presetOptions=Ft(()=>this.conditionPresets().map(t=>{let e=Fp(t.conditions,t.conditionsPresentation);return{id:t.id,label:t.name,detail:e.length>160?`${e.slice(0,159)}\u2026`:e}}));model=Ke({clientId:``,currency:`EUR`,conditions:``,lines:[Be()],title:``});conditionsPresentation=Ft(()=>this.model().conditionsPresentation);catalogOptions=Ft(()=>this.catalogItems().filter(t=>t.currency===this.model().currency).map(t=>({id:t.id,label:t.description,detail:this.money(t.unitPriceCents)})));quoteForm=nr(this.model,t=>{an(t,{when:()=>!this.editable()||this.saving()||this.completed()||this.uncertain()||this.referenceBusy()}),an(t.clientId,{when:()=>this.affairId()!==void 0}),gn(t.clientId),gn(t.currency),cn(t.currency,3),mn(t.currency,/^[A-Z]{3}$/),gn(t.title),cn(t.title,120),mn(t.title,/\S/),cn(t.conditions,2e3),P(t.conditions,({value:e})=>qt$1(e(),this.model().conditionsPresentation?.format??`plain`)?void 0:{kind:`format`}),fn(t.lines,1),cn(t.lines,20),ir(t.lines,e=>{gn(e.description),cn(e.description,160),mn(e.description,/\S/),mn(e.quantity,/^\d+(?:[.,]\d{1,3})?$/),mn(e.unitPrice,/^\d+(?:[.,]\d{1,2})?$/),mn(e.vatRate,/^\d+(?:[.,]\d{1,2})?$/),P(e.quantity,({value:n})=>{let r=u(n(),3);return r===void 0||r===0?{kind:`quantity`,message:`invalid_quantity`}:void 0}),P(e.unitPrice,({value:n})=>u(n(),2)===void 0?{kind:`unitPrice`,message:`invalid_unit_price`}:void 0),P(e.vatRate,({value:n})=>{let r=u(n(),2);return r===void 0||r>1e4?{kind:`vatRate`,message:`invalid_vat_rate`}:void 0})})});editable=Ft(()=>this.isNew()||[`draft`,`expired`].includes(this.detail()?.status??``));saveDisabled=Ft(()=>this.saving()||this.loading()||!this.editable()||this.completed()||this.uncertain());totalsAreStale=Ft(()=>this.detail()!==void 0&&(this.quoteForm().dirty()||this.saving()||this.uncertain()));constructor(){this.destroyRef.onDestroy(()=>this.referenceDialog()?.close()),Ol(()=>{this.route.queryParamMap.pipe(U(this.destroyRef)).subscribe(t=>this.context.set(x(t))),this.route.paramMap.pipe(U(this.destroyRef)).subscribe(t=>{this.load(t.get(`quoteId`))})})}setLines(t){this.saveDisabled()||this.referenceBusy()||(this.model.update(e=>m(l({},e),{lines:[...t]})),this.quoteForm().markAsDirty())}addCatalogItem(t){let e=this.catalogItems().find(n=>n.id===t);this.saveDisabled()||this.referenceBusy()||this.model().lines.length>=20||e===void 0||e.archived||(this.model.update(n=>m(l({},n),{lines:[...n.lines,{description:e.description,quantity:g$2(e.quantityMilli,3),unitPrice:m$1(e.unitPriceCents,2),vatRate:m$1(e.vatRateBasisPoints,2)}]})),this.quoteForm().markAsDirty())}async selectConditionPreset(t){let e=this.conditionPresets().find(r=>r.id===t);if(e===void 0||this.saveDisabled()||this.referenceBusy())return;let n=this.routeRequest;this.applyingConditions.set(!0);try{if(this.model().conditions&&(this.model().conditions!==e.conditions||JSON.stringify(this.model().conditionsPresentation)!==JSON.stringify(e.conditionsPresentation))&&!await this.confirmation.request(this.i18n.t(`commercial.replaceConditions`))||this.destroyRef.destroyed||n!==this.routeRequest||this.saveDisabled())return;this.model.update(r=>m(l({},r),{conditions:e.conditions,conditionsPresentation:e.conditionsPresentation})),this.quoteForm().markAsDirty()}finally{this.applyingConditions.set(!1)}}setConditionsPresentation(t){this.quoteForm.conditions().disabled()||(this.model.update(e=>m(l({},e),{conditionsPresentation:t})),this.quoteForm.conditions().markAsDirty())}createCatalogItem(){if(this.saveDisabled()||this.referenceBusy()||this.model().lines.length>=20)return;let t=this.routeRequest,e=++this.referenceRequest;this.referenceError.set(void 0),this.referenceNotice.set(void 0);let n=this.dialogs.open(ut$1,{ariaLabelledBy:`catalog-editor-title`,ariaModal:!0,autoFocus:`#catalog-description`,restoreFocus:`#quote-create-catalog`,disableClose:!0,closeOnNavigation:!1,disableAnimations:!0,width:`48rem`,maxWidth:`calc(100vw - 2rem)`});this.referenceDialog.set(n),n.closed.subscribe(r=>{this.referenceDialog.set(void 0),!(this.destroyRef.destroyed||t!==this.routeRequest)&&(r?(this.catalogItems.update(a=>[...a.filter(g=>g.id!==r.id),r]),this.referenceNotice.set(`catalog.saved`),this.addCatalogItem(r.id)):this.refreshCatalog(t,e))})}createConditionPreset(){if(this.saveDisabled()||this.referenceBusy())return;let t=this.routeRequest,e=++this.referenceRequest;this.referenceError.set(void 0),this.referenceNotice.set(void 0);let n=this.dialogs.open(ce,{ariaLabelledBy:`condition-editor-title`,ariaModal:!0,autoFocus:`#preset-name`,restoreFocus:`#quote-create-conditions`,disableClose:!0,closeOnNavigation:!1,disableAnimations:!0,width:`56rem`,maxWidth:`calc(100vw - 2rem)`});this.referenceDialog.set(n),n.closed.subscribe(r=>{this.referenceDialog.set(void 0),!(this.destroyRef.destroyed||t!==this.routeRequest)&&(r?(this.conditionPresets.update(a=>[...a.filter(g=>g.id!==r.id),r]),this.referenceNotice.set(`referenceEditor.conditionsSaved`),this.selectConditionPreset(r.id)):this.refreshConditionPresets(t,e))})}async refreshCatalog(t,e){try{let n=await this.catalogApi.list();if(this.destroyRef.destroyed||t!==this.routeRequest||e!==this.referenceRequest)return;this.catalogItems.set(n.filter(r=>!r.archived))}catch{!this.destroyRef.destroyed&&t===this.routeRequest&&e===this.referenceRequest&&this.referenceError.set(`catalogWorkspace.loadError`)}}async refreshConditionPresets(t,e){try{let n=await this.conditionPresetsApi.list();if(this.destroyRef.destroyed||t!==this.routeRequest||e!==this.referenceRequest)return;this.conditionPresets.set(n)}catch{!this.destroyRef.destroyed&&t===this.routeRequest&&e===this.referenceRequest&&this.referenceError.set(`quote.error`)}}async canDeactivate(){return this.saving()||this.referenceBusy()?!1:this.uncertain()?this.confirmation.request(this.i18n.t(`commercial.leaveUncertain`)):this.completed()||!this.quoteForm().dirty()||await this.confirmation.request(this.i18n.t(`backOffice.quote.unsavedChanges`))}preventUnsavedUnload(t){(this.saving()||this.referenceBusy()||this.uncertain()||!this.completed()&&this.quoteForm().dirty())&&t.preventDefault()}save(t){if(t.preventDefault(),this.saveDisabled()||this.referenceBusy())return;let e=[this.quoteForm.clientId,this.quoteForm.title,this.quoteForm.currency,...Array.from(this.quoteForm.lines).flatMap(r=>[r.description,r.quantity,r.unitPrice,r.vatRate]),this.quoteForm.conditions];for(let r of e)r().markAsTouched();let n=[this.quoteForm.clientId,this.quoteForm.title,this.quoteForm.currency].find(r=>r().invalid());if(n)return n().focusBoundControl();if(!this.lineEditor().focusFirstInvalid(this.model().lines)){if(this.quoteForm.conditions().invalid())return this.quoteForm.conditions().focusBoundControl();or(this.quoteForm,async()=>{let r=this.parseLines();if(r===void 0){this.error.set(`backOffice.quote.validation`);return}this.saving.set(!0),this.error.set(void 0);let a=this.routeRequest;try{let g=this.model(),N={conditions:g.conditions,currency:g.currency,lines:r,title:g.title.trim()},b=g.conditionsPresentation===void 0?N:m(l({},N),{conditionsPresentation:g.conditionsPresentation}),w=this.quoteId();if(w===void 0){let H=this.decodeQuoteId(g.clientId);if(H===void 0){this.error.set(`backOffice.quote.validation`),this.saving.set(!1);return}let Y=this.affairId(),je=Y===void 0?m(l({},b),{clientId:H}):m(l({},b),{affairId:Y,clientId:H}),Q=await this.quotesApi.create(je);if(this.destroyRef.destroyed||a!==this.routeRequest)return;if(!Q.success){if(Q.code===`quote.error`){this.uncertain.set(!0),this.error.set(`commercial.saveUncertain`);return}return this.setError(Q.code)}this.detail.set(Q.result),this.completed.set(!0),this.quoteForm().reset(),this.saving.set(!1),await this.router.navigate([`/quotes`,Q.result.id],{replaceUrl:!0,queryParams:this.context()});return}let y=this.detail();if(y===void 0){this.error.set(`quote.error`),this.saving.set(!1);return}let ze=m(l({},b),{expectedVersion:y.version}),R=await this.quotesApi.createRevision(w,ze);if(this.destroyRef.destroyed||a!==this.routeRequest)return;if(!R.success)return this.setError(R.code);this.detail.set(R.result),this.model.set(this.modelFromDetail(R.result)),this.quoteForm().reset(),this.completed.set(!0),this.saving.set(!1),await this.router.navigate([`/quotes`,R.result.id],{queryParams:this.context()})}catch{if(this.destroyRef.destroyed||a!==this.routeRequest)return;this.quoteId()===void 0?(this.uncertain.set(!0),this.error.set(`commercial.saveUncertain`)):this.error.set(`quote.error`)}finally{a===this.routeRequest&&this.saving.set(!1)}})}}async reload(){if(this.saving()||this.uncertain()||this.referenceBusy())return;let t=this.routeRequest;this.quoteForm().dirty()&&!await this.confirmation.request(this.i18n.t(`commercial.reloadConfirm`))||this.destroyRef.destroyed||t!==this.routeRequest||this.saving()||this.referenceBusy()||await this.load(this.route.snapshot.paramMap.get(`quoteId`))}money(t){return Ne(t,this.i18n.language(),this.model().currency)}async load(t){let e=++this.routeRequest;this.referenceDialog()?.close(),this.referenceError.set(void 0),this.referenceNotice.set(void 0);let n=this.decodeQuoteId(this.route.snapshot.queryParamMap.get(`clientId`)),r=this.decodeQuoteId(this.route.snapshot.queryParamMap.get(`affairId`)),a=this.decodeQuoteId(t);if(this.quoteId.set(a),this.affairId.set(t===null?r:void 0),this.isNew.set(t===null),this.detail.set(void 0),this.saving.set(!1),this.completed.set(!1),this.uncertain.set(!1),this.error.set(void 0),this.unavailable.set(!1),this.loading.set(!0),this.model.set({clientId:``,currency:`EUR`,conditions:``,lines:[Be()],title:``}),this.quoteForm().reset(),t!==null&&a===void 0){this.error.set(`quote.not_found`),this.unavailable.set(!0),this.loading.set(!1);return}let g=this.pendingTasks.add();try{if(a===void 0){let[N,b,w]=await Promise.all([this.conditionPresetsApi.list(),this.clientsApi.list(),this.catalogApi.list()]);if(this.destroyRef.destroyed||e!==this.routeRequest)return;this.conditionPresets.set(N),this.clients.set(b.filter(y=>!y.archived)),n&&this.clients().some(y=>y.id===n)&&(this.model.update(y=>m(l({},y),{clientId:n})),this.quoteForm().reset()),this.catalogItems.set(w.filter(y=>!y.archived))}else{let[N,b,w]=await Promise.all([this.conditionPresetsApi.list(),this.quotesApi.get(a),this.catalogApi.list()]);if(this.destroyRef.destroyed||e!==this.routeRequest)return;if(this.conditionPresets.set(N),!b.success){this.setError(b.code),this.unavailable.set(!0);return}this.detail.set(b.result),this.catalogItems.set(w.filter(y=>!y.archived)),this.model.set(this.modelFromDetail(b.result)),this.quoteForm().reset()}}catch{if(this.destroyRef.destroyed||e!==this.routeRequest)return;this.error.set(`quote.error`),this.unavailable.set(!0)}finally{e===this.routeRequest&&this.loading.set(!1),g()}}parseLines(){let t=[];for(let e of this.model().lines){let n=u(e.quantity,3),r=u(e.unitPrice,2),a=u(e.vatRate,2);if(n===void 0||n===0||r===void 0||a===void 0||a>1e4)return;t.push({description:e.description.trim(),quantityMilli:n,unitPriceCents:r,vatRateBasisPoints:a})}return t}modelFromDetail(t){let e=this.i18n.language()===`fr`?`,`:`.`;return{clientId:t.clientId,currency:t.currentRevision.currency,conditions:t.currentRevision.conditions,conditionsPresentation:t.currentRevision.conditionsPresentation,title:t.currentRevision.title,lines:t.currentRevision.lines.map(n=>({description:n.description,quantity:g$2(n.quantityMilli,3,e),unitPrice:m$1(n.unitPriceCents,2,e),vatRate:m$1(n.vatRateBasisPoints,2,e)}))}}decodeQuoteId(t){if(t!==null)return Me.getOrUndefined(wu.decodeUnknownOption(a)(t))}setError(t){this.error.set(t)}static ɵfac=function(e){return new(e||i)};static ɵcmp=Fb({type:i,selectors:[[`app-quote-editor`]],viewQuery:function(e,n){e&1&&Ky(n.lineEditor,me,5),e&2&&e_()},hostAttrs:[1,`page-container`],hostBindings:function(e,n){e&1&&Gy(`beforeunload`,function(a){return n.preventUnsavedUnload(a)},Zw)},decls:15,vars:5,consts:[[`aria-labelledby`,`quote-title`,1,`detail-page`,`wide-page`,`document-editor`],[`layout`,`stacked`],[`pageBack`,``],[1,`back-link`,3,`routerLink`,`queryParams`],[`id`,`quote-title`],[`aria-live`,`polite`],[3,`routerLink`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`appButton`,``,`type`,`button`,3,`click`],[`appNotice`,``,`variant`,`success`,`role`,`status`],[`appLinkButton`,``,`variant`,`primary`,3,`routerLink`,`queryParams`],[`appNotice`,``],[`novalidate`,``,3,`submit`,4,`appCan`],[`appOutcomePanel`,``,`aria-labelledby`,`totals-title`,1,`ds-panel`,`notice-flow`],[`id`,`totals-title`],[1,`hint`],[`novalidate`,``,3,`submit`],[1,`quote-identity`,`ds-panel`,`form-panel`],[1,`field`],[`id`,`quote-name`,`type`,`text`,`aria-describedby`,`quote-name-error`,1,`input`,3,`formField`],[`id`,`quote-name-error`,1,`field-error`],[`autocapitalize`,`characters`,1,`input`,3,`formField`],[`aria-labelledby`,`lines-title`,1,`lines`],[1,`section-heading`],[`id`,`lines-title`],[1,`document-lines`,3,`linesChange`,`lines`,`currency`,`disabled`],[1,`condition-preset`,`spacer-x-3`],[1,`catalog-picker`,3,`selected`,`label`,`options`,`disabled`],[`appButton`,``,`type`,`button`,`id`,`quote-create-catalog`,3,`disabled`,`click`,4,`appCan`],[1,`conditions-section`,`ds-panel`,`form-panel`],[3,`selected`,`label`,`options`,`disabled`],[`appButton`,``,`type`,`button`,`id`,`quote-create-conditions`,3,`disabled`,`click`,4,`appCan`],[`controlId`,`quote-conditions`,`descriptionId`,`quote-conditions-error`,3,`presentationChange`,`label`,`formField`,`presentation`],[`id`,`quote-conditions-error`,1,`field-error`],[`role`,`status`],[`appButton`,``,`variant`,`primary`,`type`,`submit`,3,`disabled`],[`appFilterSelect`,``,`id`,`quote-client`,`aria-describedby`,`quote-client-error`,1,`input`,3,`formField`],[`value`,``],[3,`value`],[`id`,`quote-client-error`,1,`field-error`],[`routerLink`,`/clients/new`,4,`appCan`],[`routerLink`,`/clients/new`],[`appButton`,``,`type`,`button`,`id`,`quote-create-catalog`,3,`click`,`disabled`],[`appButton`,``,`type`,`button`,`id`,`quote-create-conditions`,3,`click`,`disabled`],[`appButton`,``,`type`,`button`,3,`disabled`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`],[`appNotice`,``,`role`,`status`]],template:function(e,n){if(e&1&&(Us(0,`section`,0)(1,`app-page-header`,1)(2,`div`,2),OS(3,Xe,2,5,`a`,3)(4,Ye,2,5,`a`,3),fd(),Us(5,`h1`,4),y_(6),fd(),OS(7,et,5,8,`p`),Us(8,`p`),y_(9),fd()(),OS(10,tt,2,1,`p`,5)(11,nt,3,2)(12,at,3,2)(13,st,3,2)(14,Et,8,4),fd()),e&2){let r,a;ZC(3),kS((r=n.detail())?3:4,r),ZC(3),nv(n.i18n.t(n.titleKey())),ZC(),kS((a=n.detail())?7:-1,a),ZC(2),nv(n.i18n.t(`billingWorkspace.noAutosave`)),ZC(),kS(n.loading()?10:n.unavailable()?11:n.completed()?12:n.editable()?14:13)}},dependencies:[Ae,l$1,N,yn,K$1,k,K,g$1,Dt,Of,me],styles:[`.document-editor[_ngcontent-%COMP%]{align-items:start}.document-editor[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{min-width:0}form[_ngcontent-%COMP%]{container-type:inline-size;min-width:0}.document-editor[_ngcontent-%COMP%] > form[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-5)}.document-editor[_ngcontent-%COMP%] > form[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{margin-block:0}.lines[_ngcontent-%COMP%] > *[_ngcontent-%COMP%] + *[_ngcontent-%COMP%]{margin-top:var(--%NS%space-5)}.section-heading[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--%NS%space-3)}.section-heading[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:var(--%NS%text-xl)}.external-link[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:var(--%NS%space-1)}.document-line[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--%NS%space-3);min-width:0;margin:0;padding:var(--%NS%space-4)}.document-line[_ngcontent-%COMP%] > .field[_ngcontent-%COMP%]{align-content:end}.document-line[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{justify-self:start}legend[_ngcontent-%COMP%]{padding:var(--%NS%space-1) var(--%NS%space-2);color:var(--%NS%color-muted);font-family:var(--%NS%font-mono);font-size:var(--%NS%text-xs);font-weight:700;letter-spacing:var(--%NS%tracking-label);text-transform:uppercase}.line-total[_ngcontent-%COMP%]{align-self:center;color:var(--%NS%color-muted);font-size:var(--%NS%text-sm);text-align:end;font-variant-numeric:tabular-nums}textarea[_ngcontent-%COMP%]{resize:vertical}.hint[_ngcontent-%COMP%]{margin-top:var(--%NS%space-2);color:var(--%NS%color-muted);font-size:var(--%NS%text-xs)}[appOutcomePanel].ds-panel[_ngcontent-%COMP%]{border:0;background:var(--%NS%color-panel);box-shadow:none}[appOutcomePanel][_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:var(--%NS%text-xl)}[appOutcomePanel][_ngcontent-%COMP%] h2[_ngcontent-%COMP%]:not(:first-child){margin-top:var(--%NS%space-6)}[appOutcomePanel][_ngcontent-%COMP%] h2[_ngcontent-%COMP%] + *[_ngcontent-%COMP%]{margin-top:var(--%NS%space-3)}dl[_ngcontent-%COMP%]{margin:var(--%NS%space-3) 0 0}dl[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:var(--%NS%space-4);padding-block:var(--%NS%space-2);border-bottom:1px solid var(--%NS%color-line-strong)}dd[_ngcontent-%COMP%]{min-width:0;margin:0;font-weight:700;font-variant-numeric:tabular-nums;text-align:end;overflow-wrap:anywhere}dl[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:last-child{color:var(--%NS%color-ink);font-size:var(--%NS%text-lg)}ol[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);padding-inline-start:var(--%NS%space-5)}ol[_ngcontent-%COMP%] li[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block;overflow-wrap:anywhere}ol[_ngcontent-%COMP%] li[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2){color:var(--%NS%color-muted);font-size:var(--%NS%text-xs)}.revision-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--%NS%space-2);margin-top:var(--%NS%space-2)}.preview[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{width:100%;height:clamp(28rem,80dvh,65rem);margin-top:var(--%NS%space-4);border:1px dashed var(--%NS%color-line-strong);border-radius:var(--%NS%radius-sm);background:#fff;box-shadow:var(--%NS%shadow-panel)}@container (min-width: 28rem){.document-line[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr))}.document-line[_ngcontent-%COMP%] > .description[_ngcontent-%COMP%]{grid-column:1/-1}.document-line[_ngcontent-%COMP%] > .line-total[_ngcontent-%COMP%]{grid-column:2/-1}}@media(min-width:64rem){.document-editor[_ngcontent-%COMP%]:has(>[appOutcomePanel]){grid-template-columns:minmax(0,1fr) 20rem}.document-editor[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{grid-column:1/-1}.document-editor[_ngcontent-%COMP%]:has(>[appOutcomePanel]) > form[_ngcontent-%COMP%]{grid-column:1}.document-editor[_ngcontent-%COMP%] > [appOutcomePanel][_ngcontent-%COMP%]{grid-column:2}}[_nghost-%COMP%]{display:block}.detail-page[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);min-inline-size:0;inline-size:100%;max-inline-size:var(--%NS%page-width-detail);margin-inline:auto;padding:var(--%NS%page-header-y) var(--%NS%page-x)}.detail-page.form-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-form)}.detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-wide)}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-2xl);overflow-wrap:anywhere}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-base);color:var(--%NS%color-muted);overflow-wrap:anywhere}.detail-page[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{justify-self:start}@media print{.detail-page[_ngcontent-%COMP%], .detail-page.form-page[_ngcontent-%COMP%], .detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:none}}.quote-identity[_ngcontent-%COMP%], .conditions-section[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4)}.lines[_ngcontent-%COMP%] > *[_ngcontent-%COMP%] + *[_ngcontent-%COMP%]{margin-top:var(--%NS%space-3)}form[_ngcontent-%COMP%] > button[type=submit][_ngcontent-%COMP%]{justify-self:start}@media(min-width:80rem){.document-editor[_ngcontent-%COMP%]:has(>[appOutcomePanel]){grid-template-columns:minmax(0,1fr) 20rem}[appOutcomePanel][_ngcontent-%COMP%]{position:sticky;top:var(--%NS%space-5)}}`]})};export{Ue as QuoteEditor};
@@ -1 +1 @@
1
- import{Dn as g,d as Ar,g as Cr,ln as ad,nt as NH,or as ou}from"./chunk-BAHiFuUo.js";import{Tn as cn}from"./chunk-BAe_07VM.js";import{t as E}from"./chunk-BWNhkOOr.js";var l=class i{appCan=NH.required();authentication=g(E);template=g(Cr);container=g(Ar);constructor(){ou(()=>{let n=cn.ensure(this.appCan()),e=n.length>0&&n.every(d=>this.authentication.can(d));e&&this.container.length===0?this.container.createEmbeddedView(this.template):e||this.container.clear()})}static ɵfac=function(e){return new(e||i)};static ɵdir=ad({type:i,selectors:[[``,`appCan`,``]],inputs:{appCan:[1,`appCan`]}})};export{l as t};
1
+ import{Dn as g,d as Ar,g as Cr,ln as ad,nt as NH,or as ou}from"./chunk-BAHiFuUo.js";import{Tn as cn}from"./chunk-BAe_07VM.js";import{t as E}from"./chunk-DsaNNeZe.js";var l=class i{appCan=NH.required();authentication=g(E);template=g(Cr);container=g(Ar);constructor(){ou(()=>{let n=cn.ensure(this.appCan()),e=n.length>0&&n.every(d=>this.authentication.can(d));e&&this.container.length===0?this.container.createEmbeddedView(this.template):e||this.container.clear()})}static ɵfac=function(e){return new(e||i)};static ɵdir=ad({type:i,selectors:[[``,`appCan`,``]],inputs:{appCan:[1,`appCan`]}})};export{l as t};
@@ -1 +1 @@
1
- import{Dn as g,o as A,ot as OD}from"./chunk-BAHiFuUo.js";import{Ei as Vi,It as Gt,Mr as Qg,er as Ng}from"./chunk-CjtJKrza.js";import{n as m}from"./chunk-Dv9sNWWK.js";var l=class r{http=g(OD);list(e){return m(this.http.get(`/api/banking/ledger`,{params:e}),Qg,Gt,`ledger.error`)}post(e){return m(this.http.post(`/api/banking/ledger`,e),Vi,Gt,`ledger.error`)}getEntry(e){return m(this.http.get(`/api/banking/ledger/entries/${e}`),Vi,Gt,`ledger.error`)}getSource(e,o){return m(this.http.get(`/api/banking/ledger/sources/${e}/${o}`),Ng,Gt,`ledger.error`)}reverse(e,o){return m(this.http.post(`/api/banking/ledger/${e}/reverse`,o),Vi,Gt,`ledger.error`)}static ɵfac=function(o){return new(o||r)};static ɵprov=A({token:r,factory:r.ɵfac,providedIn:`root`})};function K(r,e){if(r!==`ledger.error`)return r;switch(e){case`load`:return`ledger.loadError`;case`post`:return`ledger.postUnconfirmed`;case`reverse`:return`ledger.reverseUnconfirmed`}}export{l as n,K as t};
1
+ import{Dn as g,o as A,ot as OD}from"./chunk-BAHiFuUo.js";import{n as m}from"./chunk-Dv9sNWWK.js";import{Ei as Vi,It as Gt,Mr as Qg,er as Ng}from"./chunk-D5qmP2Wu.js";var l=class r{http=g(OD);list(e){return m(this.http.get(`/api/banking/ledger`,{params:e}),Qg,Gt,`ledger.error`)}post(e){return m(this.http.post(`/api/banking/ledger`,e),Vi,Gt,`ledger.error`)}getEntry(e){return m(this.http.get(`/api/banking/ledger/entries/${e}`),Vi,Gt,`ledger.error`)}getSource(e,o){return m(this.http.get(`/api/banking/ledger/sources/${e}/${o}`),Ng,Gt,`ledger.error`)}reverse(e,o){return m(this.http.post(`/api/banking/ledger/${e}/reverse`,o),Vi,Gt,`ledger.error`)}static ɵfac=function(o){return new(o||r)};static ɵprov=A({token:r,factory:r.ɵfac,providedIn:`root`})};function K(r,e){if(r!==`ledger.error`)return r;switch(e){case`load`:return`ledger.loadError`;case`post`:return`ledger.postUnconfirmed`;case`reverse`:return`ledger.reverseUnconfirmed`}}export{l as n,K as t};
@@ -0,0 +1 @@
1
+ import{n as m,t as l}from"./chunk-BwCtja5l.js";import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,Ir as wp,It as Us,Jr as zS,Jt as Xy,K as Ke,Nr as vd,Tn as fd,Wn as kS,Wr as y_,dr as pe$1,ft as Ol,lt as OS,mr as qT,pr as qS,qn as ky,rn as Zw,rr as nv,tn as ZT,vt as Py,w as Fb,z as Ip}from"./chunk-BAHiFuUo.js";import{T as ue$1,m as Ie,o as U,r as N,v as Dt,y as G}from"./main-F7D3L737.js";import{Tt as Fp,Yc as qt}from"./chunk-D5qmP2Wu.js";import{n as w,r as x}from"./chunk-B0bNirg2.js";import{_ as te}from"./chunk-BzUDWIzm.js";import{d as nr,f as or,h as yn,n as an,o as gn,r as cn,t as P,u as mn}from"./chunk-CSkyOfSg.js";import{t as g$1}from"./chunk-B56nz2lI.js";import{t as k}from"./chunk-D5MFwK9L.js";import{t as P$1}from"./chunk-niXXbm7H.js";import{t as g$2}from"./chunk-CPHUl7N2.js";import{t as Of}from"./chunk-D8xHm8jb2.js";import{o as s}from"./chunk-DpLF2wJ62.js";import{t as f}from"./chunk-POMKwNf_.js";import{t as m$1}from"./chunk-BpZ7MSOP.js";function le(t,i){if(t&1&&(Us(0,`h2`,5),y_(1),fd(),Us(2,`p`,6),y_(3),fd()),t&2){let e=qS();ZC(),nv(e.i18n.t(`configurationWorkspace.newCondition`)),ZC(2),nv(e.i18n.t(`referenceEditor.conditionsIntro`))}}function pe(t,i){if(t&1&&(Us(0,`app-page-header`,1),Py(1,`app-breadcrumbs`,7),Us(2,`h1`,5),y_(3),fd(),Us(4,`p`),y_(5),fd()()),t&2){let e=qS();ZC(),Fy(`label`,e.i18n.t(`backOfficeShell.breadcrumb`))(`items`,e.breadcrumbs())(`current`,e.i18n.t(e.title())),ZC(2),nv(e.i18n.t(e.title())),ZC(2),nv(e.i18n.t(`settingsHeader.conditionDescription`))}}function me(t,i){if(t&1){let e=zS();Us(0,`button`,10),Gy(`click`,function(){Ip(e);return wp(qS(2).load())}),y_(1),fd()}if(t&2){let e=qS(2);Fy(`disabled`,e.loading()),ZC(),vd(` `,e.i18n.t(`configurationWorkspace.reload`),` `)}}function ue(t,i){if(t&1&&(Us(0,`p`,8),y_(1),fd(),OS(2,me,2,2,`button`,9)),t&2){let e=qS();ZC(),nv(e.i18n.t(i)),ZC(),kS(e.ready()?-1:2)}}function fe(t,i){if(t&1&&(Us(0,`p`,2),y_(1),fd()),t&2){let e=qS();ZC(),nv(e.i18n.t(`backOffice.conditionPresets.loading`))}}function ge(t,i){if(t&1&&(Us(0,`p`,3),y_(1),fd()),t&2){let e=qS();ZC(),nv(e.i18n.t(`referenceEditor.conditionsSaved`))}}function he(t,i){if(t&1&&(Us(0,`p`,14),y_(1),fd()),t&2){let e=qS(2);ZC(),vd(` `,e.i18n.t(`backOffice.conditionPresets.nameInvalid`),` `)}}function ye(t,i){if(t&1&&(Us(0,`p`,16),y_(1),fd()),t&2){let e=qS(2);ZC(),vd(` `,e.i18n.t(`backOffice.conditionPresets.conditionsInvalid`),` `)}}function ve(t,i){if(t&1&&(Us(0,`h3`),y_(1),fd()),t&2){let e=qS(2);ZC(),nv(e.i18n.t(`configurationWorkspace.preview`))}}function _e(t,i){if(t&1&&(Us(0,`h2`),y_(1),fd()),t&2){let e=qS(2);ZC(),nv(e.i18n.t(`configurationWorkspace.preview`))}}function Ce(t,i){if(t&1&&Py(0,`app-document-text-view`,18),t&2){let e=qS(2);Fy(`source`,e.model().conditions)(`presentation`,e.model().conditionsPresentation)}}function be(t,i){if(t&1){let e=zS();Us(0,`button`,10),Gy(`click`,function(){Ip(e);return wp(qS(2).close())}),y_(1),fd()}if(t&2){let e=qS(2);Fy(`disabled`,e.saving()),ZC(),vd(` `,e.i18n.t(`backOffice.conditionPresets.cancel`),` `)}}function xe(t,i){if(t&1&&(Us(0,`a`,21),y_(1),fd()),t&2){let e=qS(2);Fy(`queryParams`,e.backQuery()),ZC(),nv(e.i18n.t(`backOffice.conditionPresets.cancel`))}}function Pe(t,i){if(t&1){let e=zS();Us(0,`form`,11),Gy(`submit`,function(a){Ip(e);return wp(qS().save(a))}),Us(1,`label`,12),y_(2),Py(3,`input`,13),qT(),fd(),OS(4,he,2,1,`p`,14),Us(5,`app-document-text-editor`,15),Gy(`presentationChange`,function(a){Ip(e);return wp(qS().setConditionsPresentation(a))}),fd(),qT(),OS(6,ye,2,1,`p`,16),Us(7,`section`,17),OS(8,ve,2,1,`h3`)(9,_e,2,1,`h2`),OS(10,Ce,1,2,`app-document-text-view`,18),fd(),Us(11,`div`,19)(12,`button`,20),y_(13),fd(),OS(14,be,2,2,`button`,9)(15,xe,2,2,`a`,21),fd()()}if(t&2){let e=qS();ZC(2),vd(``,e.i18n.t(`backOffice.conditionPresets.name`),` `),ZC(),Fy(`formField`,e.presetForm.name),ky(`aria-invalid`,e.invalid(`name`)),ZT(),ZC(),kS(e.invalid(`name`)?4:-1),ZC(),Fy(`label`,e.i18n.t(`backOffice.quote.conditions`))(`formField`,e.presetForm.conditions)(`presentation`,e.model().conditionsPresentation),ZT(),ZC(),kS(e.invalid(`conditions`)?6:-1),ZC(2),kS(e.dialog?8:9),ZC(2),kS(e.previewAvailable()?10:-1),ZC(2),Fy(`disabled`,e.saving()||e.uncertain()),ZC(),vd(` `,e.i18n.t(e.saving()?`catalogWorkspace.saving`:e.dialog?`referenceEditor.saveConditions`:e.editing()?`backOffice.conditionPresets.update`:`backOffice.conditionPresets.create`),` `),ZC(),kS(e.dialog?14:15)}}var ce=class t{dialog=g(te,{optional:!0});i18n=g(Ie);api=g(m$1);confirmation=g(P$1);route=g(G);router=g(ue$1);destroyRef=g(pe$1);model=Ke({name:``,conditions:``});loading=Ke(!0);ready=Ke(!1);saving=Ke(!1);completed=Ke(!1);uncertain=Ke(!1);confirming=Ke(!1);preset=Ke(void 0);editing=Ft(()=>this.preset()!==void 0);title=Ft(()=>this.editing()?`configurationWorkspace.editCondition`:`configurationWorkspace.newCondition`);breadcrumbs=Ft(()=>[{label:this.i18n.t(`backOffice.configuration.title`),path:`/configuration`},{label:this.i18n.t(`backOffice.configuration.conditions`),path:`/configuration/conditions`,queryParams:this.backQuery()}]);error=Ke(void 0);previewAvailable=Ft(()=>qt(this.model().conditions,this.model().conditionsPresentation?.format??`plain`));presetForm=nr(this.model,i=>{an(i,()=>!this.ready()||this.loading()||this.saving()||this.completed()||this.uncertain()),gn(i.name),cn(i.name,120),mn(i.name,/\S/),gn(i.conditions),cn(i.conditions,2e3),P(i.conditions,({value:e})=>qt(e(),this.model().conditionsPresentation?.format??`plain`)?void 0:{kind:`format`}),P(i.conditions,({value:e})=>{if(qt(e(),this.model().conditionsPresentation?.format??`plain`))return/\S/.test(Fp(e(),this.model().conditionsPresentation))?void 0:{kind:`required`}}),mn(i.conditions,/\S/)});loadGeneration=0;constructor(){if(this.dialog){this.loading.set(!1),this.ready.set(!0),this.dialog.backdropClick.pipe(U(this.destroyRef)).subscribe(()=>{this.close()}),this.dialog.keydownEvents.pipe(U(this.destroyRef)).subscribe(i=>{i.key===`Escape`&&(i.preventDefault(),this.close())});return}Ol(()=>this.route.paramMap.pipe(U(this.destroyRef)).subscribe(()=>{this.load()}))}backQuery(){return w(x(this.route.snapshot.queryParamMap,s),s)}async canDeactivate(){if(this.saving()||this.confirming())return!1;if(!this.uncertain()&&!this.presetForm().dirty())return!0;this.confirming.set(!0);try{return await this.confirmation.request(this.i18n.t(this.uncertain()?`referenceEditor.leaveUncertain`:`referenceEditor.unsavedConditions`))}finally{this.confirming.set(!1)}}async close(){this.dialog&&await this.canDeactivate()&&!this.destroyRef.destroyed&&this.dialog.close()}beforeUnload(i){(this.saving()||this.confirming()||this.uncertain()||this.presetForm().dirty())&&i.preventDefault()}invalid(i){return this.presetForm[i]().touched()&&this.presetForm[i]().invalid()}setConditionsPresentation(i){this.presetForm.conditions().disabled()||(this.model.update(e=>m(l({},e),{conditionsPresentation:i})),this.presetForm.conditions().markAsDirty())}async load(){if(this.saving()||this.confirming()||this.uncertain())return;let i=++this.loadGeneration;this.loading.set(!0),this.ready.set(!1),this.completed.set(!1),this.error.set(void 0),this.preset.set(void 0),this.model.set({name:``,conditions:``}),this.presetForm().reset();let e=this.route.snapshot.paramMap.get(`presetId`);if(e===null){this.ready.set(!0),this.loading.set(!1);return}try{let o=await this.api.list();if(this.destroyRef.destroyed||i!==this.loadGeneration)return;let a=o.find(p=>p.id===e);if(a===void 0){this.error.set(`configurationWorkspace.notFound`);return}this.preset.set(a),this.model.set({name:a.name,conditions:a.conditions,conditionsPresentation:a.conditionsPresentation}),this.presetForm().reset(),this.ready.set(!0)}catch{!this.destroyRef.destroyed&&i===this.loadGeneration&&this.error.set(`quote.error`)}finally{i===this.loadGeneration&&this.loading.set(!1)}}save(i){if(i.preventDefault(),!(this.loading()||this.saving()||this.confirming()||this.completed()||this.uncertain()||!this.ready())){if(this.presetForm().invalid()){this.presetForm().markAsTouched(),this.presetForm().errorSummary()[0]?.fieldTree().focusBoundControl();return}or(this.presetForm,async()=>{this.saving.set(!0),this.error.set(void 0);let e=this.loadGeneration,o=this.preset(),a=this.model(),p={name:a.name.trim(),conditions:a.conditions},q=a.conditionsPresentation===void 0?p:m(l({},p),{conditionsPresentation:a.conditionsPresentation});try{let x=o===void 0?await this.api.create(q):await this.api.update(o.id,q);if(this.destroyRef.destroyed||e!==this.loadGeneration)return;if(!x.success){!o&&x.code===`quote.error`?(this.uncertain.set(!0),this.error.set(`referenceEditor.conditionsUncertain`)):this.error.set(x.code);return}this.preset.set(x.result),this.presetForm().reset(),this.completed.set(!0)}catch{if(this.destroyRef.destroyed||e!==this.loadGeneration)return;this.uncertain.set(!o),this.error.set(o?`quote.error`:`referenceEditor.conditionsUncertain`)}finally{e===this.loadGeneration&&this.saving.set(!1)}this.completed()&&(this.dialog?this.dialog.close(this.preset()):await this.router.navigate([`/configuration/conditions`],{queryParams:this.backQuery()}))})}}static ɵfac=function(e){return new(e||t)};static ɵcmp=Fb({type:t,selectors:[[`app-condition-editor`]],hostVars:4,hostBindings:function(e,o){e&1&&Gy(`beforeunload`,function(p){return o.beforeUnload(p)},Zw),e&2&&Xy(`page-container`,!o.dialog)(`editor-dialog`,!!o.dialog)},decls:7,vars:7,consts:[[`aria-labelledby`,`condition-editor-title`,1,`presets-page`],[`layout`,`stacked`],[`role`,`status`],[`appNotice`,``,`variant`,`success`,`role`,`status`],[`novalidate`,``],[`id`,`condition-editor-title`],[1,`intro`],[`pageBack`,``,3,`label`,`items`,`current`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`appButton`,``,`type`,`button`,3,`disabled`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`],[`novalidate`,``,3,`submit`],[`for`,`preset-name`,1,`field`],[`id`,`preset-name`,`aria-describedby`,`preset-name-error`,1,`input`,3,`formField`],[`id`,`preset-name-error`,1,`field-error`],[`controlId`,`preset-conditions`,`descriptionId`,`preset-conditions-error`,3,`presentationChange`,`label`,`formField`,`presentation`],[`id`,`preset-conditions-error`,1,`field-error`],[1,`preview-surface`,`ds-panel`,`preview`],[3,`source`,`presentation`],[1,`form-actions`],[`appButton`,``,`variant`,`primary`,`type`,`submit`,3,`disabled`],[`appLinkButton`,``,`routerLink`,`/configuration/conditions`,3,`queryParams`]],template:function(e,o){if(e&1&&(Us(0,`section`,0),OS(1,le,4,2)(2,pe,6,5,`app-page-header`,1),OS(3,ue,3,2),OS(4,fe,2,1,`p`,2)(5,ge,2,1,`p`,3)(6,Pe,16,13,`form`,4),fd()),e&2){let a;Xy(`detail-page`,!o.dialog)(`form-page`,!o.dialog),ZC(),kS(o.dialog?1:2),ZC(2),kS((a=o.error())?3:-1,a),ZC(),kS(o.loading()?4:o.completed()?5:o.ready()?6:-1)}},dependencies:[N,k,yn,Dt,g$1,f,Of,g$2],styles:[`[_nghost-%COMP%]{display:block}.detail-page[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);min-inline-size:0;inline-size:100%;max-inline-size:var(--%NS%page-width-detail);margin-inline:auto;padding:var(--%NS%page-header-y) var(--%NS%page-x)}.detail-page.form-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-form)}.detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-wide)}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-2xl);overflow-wrap:anywhere}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-base);color:var(--%NS%color-muted);overflow-wrap:anywhere}.detail-page[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{justify-self:start}@media print{.detail-page[_ngcontent-%COMP%], .detail-page.form-page[_ngcontent-%COMP%], .detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:none}}.intro[_ngcontent-%COMP%]{color:var(--%NS%color-muted)}.field[_ngcontent-%COMP%]{display:grid;min-inline-size:0;gap:var(--%NS%space-2)}.form-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:var(--%NS%space-3)}form[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);inline-size:100%}.editor-dialog[_nghost-%COMP%]{max-block-size:calc(100dvh - 2rem);overflow:auto;overscroll-behavior:contain;border-radius:var(--%NS%radius-md);background:var(--%NS%color-surface);color:var(--%NS%color-ink);box-shadow:var(--%NS%shadow-page)}.editor-dialog[_nghost-%COMP%] .presets-page[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-6);padding:var(--%NS%space-6)}h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]{margin:0}h2[_ngcontent-%COMP%]{font-size:var(--%NS%text-xl)}h3[_ngcontent-%COMP%]{font-size:var(--%NS%text-lg)}form[_ngcontent-%COMP%] section[_ngcontent-%COMP%]{padding:var(--%NS%space-4)}.preview[_ngcontent-%COMP%]{display:block}.preview[_ngcontent-%COMP%] > :is(h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]){margin-block-end:var(--%NS%space-4)}`]})};export{ce as t};
@@ -0,0 +1 @@
1
+ import{Dn as g,E as Ft,K as Ke,P as Hn,dr as pe,ft as Ol,mt as PH,o as A}from"./chunk-BAHiFuUo.js";import{h as Ne,m as Ie,o as U,y as G}from"./main-F7D3L737.js";import{wi as wu}from"./chunk-BAe_07VM.js";import{Ia as a}from"./chunk-D5qmP2Wu.js";import{t as P}from"./chunk-niXXbm7H.js";import{t as R}from"./chunk-NDpjbcAr2.js";import{t as B}from"./chunk-CEJjSd8-2.js";var D=new Map(Object.entries({"authentication.required":`boundary`,"authentication.permission_denied":`boundary`,"request.rate_limited":`boundary`,"request.invalid_origin":`boundary`,"request.too_large":`boundary`,"invoice.credit_conflict":`business`,"invoice.credit_request_conflict":`business`,"invoice.payment_invalid":`business`,"invoice.not_found":`business`,"invoice.version_conflict":`business`,"invoice.invalid_dates":`business`,"invoice.exchange_rate_missing":`business`,"invoice.accounting_unavailable":`business`,"invoice.invalid_transition":`business`,"document.incomplete":`business`,"invoice.order_not_found":`unknown`,"invoice.already_exists":`unknown`,"invoice.not_editable":`unknown`,"invoice.amount_too_large":`unknown`,"document.not_found":`unknown`}));var M={issue:[`invoice.invalid_dates`,`invoice.exchange_rate_missing`,`invoice.accounting_unavailable`,`document.incomplete`],void:[`invoice.invalid_transition`],"record-payment":[`invoice.version_conflict`,`invoice.invalid_transition`],"cancel-payment":[`invoice.invalid_transition`],"issue-credit":[`invoice.credit_conflict`],refund:[`invoice.credit_conflict`],"cancel-refund":[`invoice.credit_conflict`],"cancel-allocation":[`invoice.credit_conflict`]};var T=(r,e)=>{let i=`unknown`;switch(e!==void 0&&(i=D.get(e)??`unknown`),i){case`unknown`:return`unknown`;case`boundary`:return`attempt-rejected`;case`business`:return M[r].some(n=>n===e)?`request-rejected`:`attempt-rejected`}};var w=class r{i18n=g(Ie);api=g(R);route=g(G);navigation=new B(this.route);confirmation=g(P);destroyRef=g(pe);element=g(Hn);invoice=Ke(void 0);loading=Ke(!0);busy=Ke(!1);completed=Ke(!1);stale=Ke(!1);uncertain=Ke(!1);error=Ke(void 0);issues=Ke([]);focusRequested=Ke(!1);locked=Ft(()=>this.loading()||this.busy()||this.completed()||this.stale()||this.uncertain());request=0;constructor(){Ol(()=>this.route.paramMap.pipe(U(this.destroyRef)).subscribe(()=>{this.load()})),PH(()=>{this.focusRequested()?(this.element.nativeElement.querySelector(`[aria-invalid="true"]`)?.focus(),this.focusRequested.set(!1)):(this.completed()||this.error()||this.stale()||this.uncertain())&&this.element.nativeElement.querySelector(`[data-task-feedback]`)?.focus()})}async load(){if(this.busy()||this.uncertain())return;let e=++this.request;this.loading.set(!0),this.invoice.set(void 0),this.error.set(void 0),this.issues.set([]),this.stale.set(!1),this.completed.set(!1);let i=this.route.snapshot.paramMap.get(`invoiceId`);if(!wu.is(a)(i)){this.error.set(`invoice.not_found`),this.loading.set(!1);return}try{let n=await this.api.get(i);if(this.destroyRef.destroyed||e!==this.request)return;n.success?this.invoice.set(n.result):this.error.set(n.code)}catch{!this.destroyRef.destroyed&&e===this.request&&this.error.set(`invoice.error`)}finally{e===this.request&&!this.destroyRef.destroyed&&this.loading.set(!1)}}async run(e,i,n){if(this.busy()||this.loading()||this.completed()||this.stale())return`skipped`;let u=this.uncertain(),a=!1;this.busy.set(!0);try{if(!await this.confirmation.request(this.i18n.t(i))||this.destroyRef.destroyed)return`skipped`;this.error.set(void 0),this.issues.set([]),a=!0;let s=await e();if(this.destroyRef.destroyed)return`unresolved`;if(s.success)return this.completed.set(!0),this.uncertain.set(!1),`resolved`;this.error.set(s.code??`invoice.error`),this.issues.set(s.failure?.issues??[]);let c=T(n,s.code);return this.uncertain.set(c===`unknown`||c===`attempt-rejected`&&u),this.stale.set(!this.uncertain()&&(s.code===`invoice.version_conflict`||s.code===`invoice.credit_conflict`||s.code===`invoice.invalid_transition`)),this.uncertain()?`unresolved`:`resolved`}catch{return this.destroyRef.destroyed||(this.error.set(`invoice.error`),this.uncertain.set(u||a)),a?`unresolved`:`skipped`}finally{this.destroyRef.destroyed||this.busy.set(!1)}}async canDeactivate(e){return this.busy()||this.uncertain()?!1:this.completed()?!0:!e&&!this.stale()||this.confirmation.request(this.i18n.t(`backOffice.invoice.unsavedChanges`))}beforeUnload(e,i){!this.completed()&&(i||this.busy()||this.uncertain()||this.stale())&&(e.preventDefault(),e.returnValue=``)}focusInvalid(){this.focusRequested.set(!0)}money(e){return Ne(e,this.i18n.language(),this.invoice()?.currentRevision.currency??`EUR`)}static ɵfac=function(i){return new(i||r)};static ɵprov=A({token:r,factory:r.ɵfac})};export{w as t};