@sachahjkl/backoffice 0.2.6 → 0.2.8

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 (289) hide show
  1. package/README.md +4 -2
  2. package/dist/demo-reset.cjs +14 -12
  3. package/dist/main.cjs +14 -12
  4. package/dist/migrate.cjs +8 -6
  5. package/dist/web/chunk-3MmwmyDh.js +1 -0
  6. package/dist/web/{chunk-DhkjPUn4.js → chunk-6-OG9zy0.js} +1 -1
  7. package/dist/web/chunk-6twPawwh.js +1 -0
  8. package/dist/web/{chunk-Bck0-DJt2.js → chunk-AE7J7wcH2.js} +1 -1
  9. package/dist/web/chunk-AZB0sMq_.js +1 -0
  10. package/dist/web/{chunk-CGfyD3XX2.js → chunk-B-2b7DJP.js} +1 -1
  11. package/dist/web/{chunk-BYjxXKZ4.js → chunk-B-XrDECw.js} +1 -1
  12. package/dist/web/chunk-B0Pr-tNT.js +1 -0
  13. package/dist/web/chunk-B1Kpw1um.js +1 -0
  14. package/dist/web/chunk-B2X87TB92.js +1 -0
  15. package/dist/web/chunk-B3fBH9Bt2.js +1 -0
  16. package/dist/web/chunk-B4KnJ14M2.js +1 -0
  17. package/dist/web/{chunk-DZgf7AIe.js → chunk-B4Vcwa9l.js} +1 -1
  18. package/dist/web/chunk-B4cAnuMM2.js +1 -0
  19. package/dist/web/chunk-B6mYbErA2.js +1 -0
  20. package/dist/web/chunk-B6trGhNK2.js +3 -0
  21. package/dist/web/chunk-B89j6ppg2.js +1 -0
  22. package/dist/web/chunk-B8tEtjeZ2.js +1 -0
  23. package/dist/web/chunk-BAYVC6mO2.js +1 -0
  24. package/dist/web/{chunk-MpUdRrak2.js → chunk-BCN3uL5S.js} +1 -1
  25. package/dist/web/chunk-BDmE_ZEe2.js +1 -0
  26. package/dist/web/{chunk-aW8Vltn22.js → chunk-BEYQDr-4.js} +1 -1
  27. package/dist/web/{chunk-CLHj5Ycx2.js → chunk-BEqSiNum.js} +1 -1
  28. package/dist/web/chunk-BHnrX0WJ.js +1 -0
  29. package/dist/web/chunk-BJ0yZa2G.js +1 -0
  30. package/dist/web/{chunk-Fc120Hsi2.js → chunk-BL3upDtA.js} +1 -1
  31. package/dist/web/{chunk-POMKwNf_.js → chunk-BMiFx1ci.js} +1 -1
  32. package/dist/web/{chunk--RuvStn6.js → chunk-BNS7t55s2.js} +1 -1
  33. package/dist/web/{chunk-D1wrPwB5.js → chunk-BO6tYuf8.js} +1 -1
  34. package/dist/web/{chunk-HmRGBt692.js → chunk-BPA6_4Vt.js} +1 -1
  35. package/dist/web/chunk-BRp_hGNk.js +1 -0
  36. package/dist/web/chunk-BSDpuA332.js +1 -0
  37. package/dist/web/chunk-BSKQUQGn.js +1 -0
  38. package/dist/web/{chunk-C0Ceu-vg.js → chunk-BTsDF4C6.js} +1 -1
  39. package/dist/web/{chunk-CDK48Khc.js → chunk-BVXF-FYe2.js} +1 -1
  40. package/dist/web/{chunk-BkvskoFt2.js → chunk-BWBbQ7HE2.js} +1 -1
  41. package/dist/web/{chunk-DTPC4JtI2.js → chunk-BYRTViky2.js} +1 -1
  42. package/dist/web/chunk-BZe5DpAa.js +1 -0
  43. package/dist/web/chunk-B_7K7EHr.js +1 -0
  44. package/dist/web/{chunk-D8xHm8jb2.js → chunk-B_pcpccF.js} +1 -1
  45. package/dist/web/{chunk-xTX16tt2.js → chunk-B_xlO55a2.js} +1 -1
  46. package/dist/web/{chunk-BKufCOYq.js → chunk-BfKP2Lf9.js} +1 -1
  47. package/dist/web/chunk-Bfm6z5eI2.js +1 -0
  48. package/dist/web/chunk-Bgl7kJgO2.js +1 -0
  49. package/dist/web/{chunk-enci06qG.js → chunk-Bh2Diab5.js} +1 -1
  50. package/dist/web/chunk-Bi9TDDm92.js +1 -0
  51. package/dist/web/chunk-Bit8ybhq.js +1 -0
  52. package/dist/web/chunk-BmfZmUis.js +1 -0
  53. package/dist/web/chunk-BpkPnQ2K.js +1 -0
  54. package/dist/web/chunk-Bq24rsxm2.js +1 -0
  55. package/dist/web/{chunk-C_QyIKvy.js → chunk-BqXhvdC0.js} +1 -1
  56. package/dist/web/{chunk-CCkaRRSy.js → chunk-Brog8aBK.js} +1 -1
  57. package/dist/web/{chunk-C-O6GrQC2.js → chunk-Bu0zsnWO.js} +1 -1
  58. package/dist/web/chunk-BurkPLm-2.js +1 -0
  59. package/dist/web/chunk-BuyEsqZU2.js +1 -0
  60. package/dist/web/{chunk-AJOoJgZJ.js → chunk-BwFjLr9D2.js} +1 -1
  61. package/dist/web/chunk-BwGtxWvC.js +1 -0
  62. package/dist/web/chunk-Bxrld4562.js +1 -0
  63. package/dist/web/{chunk-Bq2zV2_3.js → chunk-C01EdpX9.js} +1 -1
  64. package/dist/web/{chunk-Dl4EbYnM2.js → chunk-C0dwIYf0.js} +1 -1
  65. package/dist/web/{chunk-CfcCxe_k.js → chunk-C1BibNrz.js} +1 -1
  66. package/dist/web/{chunk-Dns8uMf32.js → chunk-C1gYDta1.js} +1 -1
  67. package/dist/web/{chunk-CubfQf-X2.js → chunk-C2i4N9dz.js} +1 -1
  68. package/dist/web/{chunk-DpLF2wJ62.js → chunk-C6M6lCrw2.js} +1 -1
  69. package/dist/web/{chunk-CK6Sjqig.js → chunk-C94w9Yq2.js} +1 -1
  70. package/dist/web/chunk-CA-xctoQ2.js +1 -0
  71. package/dist/web/chunk-CBcFgY8f2.js +1 -0
  72. package/dist/web/{chunk-DGbo0App2.js → chunk-CCItYukO.js} +1 -1
  73. package/dist/web/chunk-CGLHod2X2.js +1 -0
  74. package/dist/web/{chunk-Bfx7EEIR.js → chunk-CHUNlDss2.js} +1 -1
  75. package/dist/web/chunk-CJ10tvOm.js +1 -0
  76. package/dist/web/chunk-CJE3VBx5.js +1 -0
  77. package/dist/web/chunk-CL9McPWU.js +1 -0
  78. package/dist/web/chunk-CLzfpBlo2.js +1 -0
  79. package/dist/web/chunk-CM29tQ7z.js +1 -0
  80. package/dist/web/{chunk-Ck6cItVE2.js → chunk-CMC_2rEW.js} +1 -1
  81. package/dist/web/chunk-CMFGRRh02.js +1 -0
  82. package/dist/web/chunk-CO_ECkiv.js +1 -0
  83. package/dist/web/{chunk-D97UUzIx.js → chunk-CQvxhLmC2.js} +1 -1
  84. package/dist/web/chunk-CRDadWvH2.js +1 -0
  85. package/dist/web/chunk-CS69nNvh.js +1 -0
  86. package/dist/web/chunk-CXb1THnv2.js +1 -0
  87. package/dist/web/chunk-CZM1REvY.js +1 -0
  88. package/dist/web/chunk-C_4qOSvi2.js +1 -0
  89. package/dist/web/chunk-C_wLUbPJ2.js +1 -0
  90. package/dist/web/chunk-CdvoW0GI.js +1 -0
  91. package/dist/web/{chunk-CE9WzUCM.js → chunk-CecoTW2V.js} +1 -1
  92. package/dist/web/chunk-Cg6D1SkX2.js +1 -0
  93. package/dist/web/chunk-ChMWeKtk2.js +1 -0
  94. package/dist/web/chunk-CiQcqWHR.js +1 -0
  95. package/dist/web/chunk-Cjj8GJIb2.js +1 -0
  96. package/dist/web/{chunk-niXXbm7H.js → chunk-CkRw7h0_.js} +1 -1
  97. package/dist/web/{chunk-nC_XlFOG.js → chunk-Ckk2HUrT.js} +1 -1
  98. package/dist/web/chunk-Cl9ktebj.js +1 -0
  99. package/dist/web/chunk-ClviGHGr.js +1 -0
  100. package/dist/web/{chunk-BVszSMJC.js → chunk-Cm2UNqwE.js} +1 -1
  101. package/dist/web/chunk-CoUH4AfS2.js +1 -0
  102. package/dist/web/chunk-CpB8RIpf.js +1 -0
  103. package/dist/web/{chunk-BpZ7MSOP.js → chunk-CqreQVp_.js} +1 -1
  104. package/dist/web/{chunk-DEXzwHB0.js → chunk-CrwYH4R_2.js} +1 -1
  105. package/dist/web/{chunk-RIi7_iVg.js → chunk-CuVXI21d.js} +1 -1
  106. package/dist/web/{chunk-CvsVlcIU2.js → chunk-CwkgffnU.js} +1 -1
  107. package/dist/web/chunk-CxgCrZQl.js +1 -0
  108. package/dist/web/{chunk-DDCyjjcE.js → chunk-CyavDx9Z.js} +1 -1
  109. package/dist/web/{chunk-r6H-BfOd.js → chunk-D0MIkZdd2.js} +1 -1
  110. package/dist/web/{chunk-D5qmP2Wu.js → chunk-D8Ui_APT.js} +1 -1
  111. package/dist/web/{chunk-CPHUl7N2.js → chunk-D8VZRHVx.js} +1 -1
  112. package/dist/web/chunk-D9pT7T7E.js +1 -0
  113. package/dist/web/chunk-DD8ATIqT2.js +1 -0
  114. package/dist/web/chunk-DE4GLf5B.js +1 -0
  115. package/dist/web/{chunk-CkWd-yMn.js → chunk-DEYSMPA_2.js} +1 -1
  116. package/dist/web/chunk-DGXdMht2.js +1 -0
  117. package/dist/web/chunk-DJfwJBD6.js +1 -0
  118. package/dist/web/chunk-DJwuZjJg2.js +1 -0
  119. package/dist/web/chunk-DKDWoDXU.js +1 -0
  120. package/dist/web/chunk-DLH3RPM22.js +1 -0
  121. package/dist/web/{chunk-qKosqkwC.js → chunk-DQRDJtdh.js} +1 -1
  122. package/dist/web/chunk-DRY4w4Td.js +1 -0
  123. package/dist/web/chunk-DTRJLfq02.js +1 -0
  124. package/dist/web/{chunk-4ipZT9nT.js → chunk-DTj9NKPI.js} +1 -1
  125. package/dist/web/chunk-DVbkiKVh2.js +1 -0
  126. package/dist/web/chunk-DVu24rwt.js +1 -0
  127. package/dist/web/chunk-DWN606KF2.js +1 -0
  128. package/dist/web/chunk-DZvdrgcs2.js +1 -0
  129. package/dist/web/chunk-D_X9J-dz2.js +1 -0
  130. package/dist/web/{chunk-C0gTeWW62.js → chunk-DbL20WIB2.js} +1 -1
  131. package/dist/web/{chunk-Bb31fHqC2.js → chunk-DbcNGxba.js} +1 -1
  132. package/dist/web/chunk-Dc29tEgJ2.js +1 -0
  133. package/dist/web/{chunk-DboSVJMM.js → chunk-Dc8-8Og_.js} +1 -1
  134. package/dist/web/chunk-DdVUVFhX.js +1 -0
  135. package/dist/web/chunk-DeERUxjp.js +1 -0
  136. package/dist/web/chunk-Dfxr5EJU.js +1 -0
  137. package/dist/web/chunk-DgZvyF3s.js +1 -0
  138. package/dist/web/chunk-DgZxoBPB.js +1 -0
  139. package/dist/web/{chunk-DsaNNeZe.js → chunk-DhpMFMQw.js} +1 -1
  140. package/dist/web/{chunk-DOCau85G2.js → chunk-DlBNgzF8.js} +1 -1
  141. package/dist/web/{chunk-CVHqiS63.js → chunk-DlecOMbR.js} +1 -1
  142. package/dist/web/chunk-DnKyRGr_.js +1 -0
  143. package/dist/web/{chunk-DhLlQTD-2.js → chunk-DnYJfVdt.js} +1 -1
  144. package/dist/web/chunk-Dr_Uz6uR2.js +1 -0
  145. package/dist/web/{chunk-NDpjbcAr2.js → chunk-DvAE1Kdh2.js} +1 -1
  146. package/dist/web/chunk-DwSL7UNj.js +1 -0
  147. package/dist/web/{chunk-DZgMGE6C.js → chunk-Dyouu0xF.js} +1 -1
  148. package/dist/web/{chunk-CABvk97t2.js → chunk-DytjnC4n2.js} +1 -1
  149. package/dist/web/{chunk-CApvwK4D.js → chunk-Fo633neF.js} +1 -1
  150. package/dist/web/chunk-I2ekTEA32.js +1 -0
  151. package/dist/web/{chunk-D5MFwK9L.js → chunk-IrDYxRzS.js} +1 -1
  152. package/dist/web/chunk-JqPdfaO22.js +1 -0
  153. package/dist/web/chunk-LKcToPK62.js +1 -0
  154. package/dist/web/{chunk-CtmP6l7_2.js → chunk-Qweefwro2.js} +1 -1
  155. package/dist/web/chunk-U_cdbXaE2.js +1 -0
  156. package/dist/web/chunk-Ub2hjsmX.js +1 -0
  157. package/dist/web/chunk-WylMVh3d.js +1 -0
  158. package/dist/web/chunk-ZZuAWaLQ.js +1 -0
  159. package/dist/web/{chunk-C19Alcnx2.js → chunk-Zj43itle.js} +1 -1
  160. package/dist/web/chunk-ZoQD3eIP2.js +1 -0
  161. package/dist/web/chunk-ZxYSyP21.js +1 -0
  162. package/dist/web/{chunk-D_8jIApo.js → chunk-a58d-9ZM2.js} +1 -1
  163. package/dist/web/{chunk-pV57uiBu2.js → chunk-aGxrcUQJ2.js} +1 -1
  164. package/dist/web/chunk-bIBAi42v2.js +1 -0
  165. package/dist/web/{chunk-DIJSXeQC2.js → chunk-bQhJGrXj2.js} +1 -1
  166. package/dist/web/chunk-c57UHX0J.js +1 -0
  167. package/dist/web/chunk-eAm9Qkk4.js +1 -0
  168. package/dist/web/{chunk-WNYFaDlu2.js → chunk-f6C5Rz_B2.js} +1 -1
  169. package/dist/web/chunk-fLDt2Dc5.js +1 -0
  170. package/dist/web/{chunk-CmokTGIG.js → chunk-fY-2jgAh.js} +1 -1
  171. package/dist/web/{chunk-SZJG1lFa2.js → chunk-f_xeGTT7.js} +1 -1
  172. package/dist/web/chunk-fxkvCM0b.js +1 -0
  173. package/dist/web/{chunk-9X4vLcFh.js → chunk-k8jJDyGi.js} +1 -1
  174. package/dist/web/{chunk-DerJPaBw.js → chunk-mCmB-2Tr.js} +1 -1
  175. package/dist/web/{chunk-DXvlXoVT2.js → chunk-mqeSFXPY2.js} +1 -1
  176. package/dist/web/{chunk-D6k6pmdU.js → chunk-o83QpKCY.js} +1 -1
  177. package/dist/web/chunk-pffFf_PV2.js +1 -0
  178. package/dist/web/{chunk-XtjMOmku2.js → chunk-sAfSVia62.js} +1 -1
  179. package/dist/web/{chunk-CEJjSd8-2.js → chunk-xIoy5TmG2.js} +1 -1
  180. package/dist/web/{chunk-B8_dFe5w.js → chunk-xRsHYitB.js} +1 -1
  181. package/dist/web/index.csr.html +1 -1
  182. package/dist/web/{main-F7D3L737.js → main-LXYWXFW4.js} +2 -2
  183. package/package.json +1 -1
  184. package/dist/web/chunk-6jIo5mZ42.js +0 -1
  185. package/dist/web/chunk-9d_UD-MQ.js +0 -1
  186. package/dist/web/chunk-B0bNirg2.js +0 -1
  187. package/dist/web/chunk-B3OxeBLO2.js +0 -1
  188. package/dist/web/chunk-B5xzAYYx2.js +0 -1
  189. package/dist/web/chunk-B6Rml85x2.js +0 -1
  190. package/dist/web/chunk-B91VAo1J.js +0 -1
  191. package/dist/web/chunk-B9NV1rY62.js +0 -1
  192. package/dist/web/chunk-BAn0tBhX.js +0 -1
  193. package/dist/web/chunk-BGVaNZdj.js +0 -1
  194. package/dist/web/chunk-BHDXYrox.js +0 -1
  195. package/dist/web/chunk-BI9lIdFn.js +0 -1
  196. package/dist/web/chunk-BNksdK_D2.js +0 -1
  197. package/dist/web/chunk-BQ7WWH4L.js +0 -1
  198. package/dist/web/chunk-BQrmVphu2.js +0 -1
  199. package/dist/web/chunk-BR0demlX.js +0 -1
  200. package/dist/web/chunk-BT8KtCYG.js +0 -1
  201. package/dist/web/chunk-BZZJ287h.js +0 -1
  202. package/dist/web/chunk-BcUjdID-.js +0 -1
  203. package/dist/web/chunk-Bf3eV_su2.js +0 -1
  204. package/dist/web/chunk-BfSewUhY.js +0 -1
  205. package/dist/web/chunk-Bi4Jixry2.js +0 -1
  206. package/dist/web/chunk-BiECfDS7.js +0 -1
  207. package/dist/web/chunk-Bj7Oze2U2.js +0 -1
  208. package/dist/web/chunk-Bjo6eVnk.js +0 -1
  209. package/dist/web/chunk-Bn46cQyx.js +0 -1
  210. package/dist/web/chunk-Bn6RkvPA2.js +0 -1
  211. package/dist/web/chunk-Bsy3r41y2.js +0 -1
  212. package/dist/web/chunk-By2EFyNM.js +0 -1
  213. package/dist/web/chunk-CCqlW8pS2.js +0 -3
  214. package/dist/web/chunk-CCr_R2Cg.js +0 -1
  215. package/dist/web/chunk-CDS6LjBz2.js +0 -1
  216. package/dist/web/chunk-CG4Kbo1n2.js +0 -1
  217. package/dist/web/chunk-CKFB1V-p2.js +0 -1
  218. package/dist/web/chunk-CL02A9wI.js +0 -1
  219. package/dist/web/chunk-CLZ5xsSQ2.js +0 -1
  220. package/dist/web/chunk-CMvRZBpn.js +0 -1
  221. package/dist/web/chunk-CNfmNEak.js +0 -1
  222. package/dist/web/chunk-COTrF1xY2.js +0 -1
  223. package/dist/web/chunk-COXN76fu2.js +0 -1
  224. package/dist/web/chunk-CUqj_Bxs2.js +0 -1
  225. package/dist/web/chunk-CV_fLVFT.js +0 -1
  226. package/dist/web/chunk-CYGyIy7J.js +0 -1
  227. package/dist/web/chunk-CYRUKYKv2.js +0 -1
  228. package/dist/web/chunk-Ca3lwqEF.js +0 -1
  229. package/dist/web/chunk-CaJrmM9V.js +0 -1
  230. package/dist/web/chunk-CpXqQPuw.js +0 -1
  231. package/dist/web/chunk-CuepVIkm2.js +0 -1
  232. package/dist/web/chunk-CvMAjyvr2.js +0 -1
  233. package/dist/web/chunk-CwzCbuXH.js +0 -1
  234. package/dist/web/chunk-Cx07K71K.js +0 -1
  235. package/dist/web/chunk-D-VHaopx.js +0 -1
  236. package/dist/web/chunk-D1DvlGbP.js +0 -1
  237. package/dist/web/chunk-D3XjW5Cm.js +0 -1
  238. package/dist/web/chunk-D8kEdb5y2.js +0 -1
  239. package/dist/web/chunk-D8t0s8LD.js +0 -1
  240. package/dist/web/chunk-DB6sOjsn2.js +0 -1
  241. package/dist/web/chunk-DIBFSF2Z.js +0 -1
  242. package/dist/web/chunk-DKlxu0GP2.js +0 -1
  243. package/dist/web/chunk-DM4Wc9U7.js +0 -1
  244. package/dist/web/chunk-DM5aibnW.js +0 -1
  245. package/dist/web/chunk-DMXgU6Nc2.js +0 -1
  246. package/dist/web/chunk-DMskLhpk2.js +0 -1
  247. package/dist/web/chunk-DOinRyX_2.js +0 -1
  248. package/dist/web/chunk-DQp-2GVv.js +0 -1
  249. package/dist/web/chunk-DQr_9Q6T.js +0 -1
  250. package/dist/web/chunk-DSpA-ZPx.js +0 -1
  251. package/dist/web/chunk-DURq7J8U2.js +0 -1
  252. package/dist/web/chunk-DVJ4YZuU.js +0 -1
  253. package/dist/web/chunk-DVyDnsGh.js +0 -1
  254. package/dist/web/chunk-D_vyhgGx.js +0 -1
  255. package/dist/web/chunk-Db2zQ-8C.js +0 -1
  256. package/dist/web/chunk-DdOc1fs-.js +0 -1
  257. package/dist/web/chunk-DddDKWSn2.js +0 -1
  258. package/dist/web/chunk-Dh86w63y.js +0 -1
  259. package/dist/web/chunk-Di9FA_QV.js +0 -1
  260. package/dist/web/chunk-DjwvqY3z2.js +0 -1
  261. package/dist/web/chunk-Dl4V93zm2.js +0 -1
  262. package/dist/web/chunk-Dnzjseqf2.js +0 -1
  263. package/dist/web/chunk-DpI44v1z.js +0 -1
  264. package/dist/web/chunk-Dqhs2Pyw2.js +0 -1
  265. package/dist/web/chunk-DubWLqvO.js +0 -1
  266. package/dist/web/chunk-IlM3eTPp2.js +0 -1
  267. package/dist/web/chunk-IzGdqlW82.js +0 -1
  268. package/dist/web/chunk-P1du2kWg2.js +0 -1
  269. package/dist/web/chunk-PqGGk0JD.js +0 -1
  270. package/dist/web/chunk-XvyWOb2Q.js +0 -1
  271. package/dist/web/chunk-ZBDWcE362.js +0 -1
  272. package/dist/web/chunk-ZcJhJsoo.js +0 -1
  273. package/dist/web/chunk-a_Va_Nj7.js +0 -1
  274. package/dist/web/chunk-fYJ7OBkh.js +0 -1
  275. package/dist/web/chunk-k6TIcaIA.js +0 -1
  276. package/dist/web/chunk-owvOEsA9.js +0 -1
  277. package/dist/web/chunk-scbWWgLx2.js +0 -1
  278. package/dist/web/chunk-tDREPM-0.js +0 -1
  279. package/dist/web/chunk-y0Vyi0HZ.js +0 -1
  280. package/dist/web/chunk-yfBrkklv.js +0 -1
  281. /package/dist/web/{chunk-1ErswIDf.js → chunk-1ErswIDf2.js} +0 -0
  282. /package/dist/web/{chunk-CARNiCDb2.js → chunk-CARNiCDb.js} +0 -0
  283. /package/dist/web/{chunk-CGo7Fepz.js → chunk-CGo7Fepz2.js} +0 -0
  284. /package/dist/web/{chunk-CKxU-VJf.js → chunk-CKxU-VJf2.js} +0 -0
  285. /package/dist/web/{chunk-CP-AnFGa2.js → chunk-CP-AnFGa.js} +0 -0
  286. /package/dist/web/{chunk-CXHCUTDs.js → chunk-CXHCUTDs2.js} +0 -0
  287. /package/dist/web/{chunk-CczD0yXn.js → chunk-CczD0yXn2.js} +0 -0
  288. /package/dist/web/{chunk-CtcsJTAS2.js → chunk-CtcsJTAS.js} +0 -0
  289. /package/dist/web/{chunk-WJWN7A_V2.js → chunk-WJWN7A_V.js} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sachahjkl/backoffice",
3
- "version": "0.2.6",
3
+ "version": "0.2.8",
4
4
  "description": "Standalone Froment Software backoffice server and web application",
5
5
  "license": "UNLICENSED",
6
6
  "bin": {
@@ -1 +0,0 @@
1
- import{$ as MH,$t as ZC,A as Gy,D as Fy,Dn as g,Gn as k_,Ir as wp,It as Us,Jr as zS,Jt as Xy,Rn as jS,Tn as fd,Wn as kS,Wr as y_,X as LS,lt as OS,nt as NH,pr as qS,qn as ky,rr as nv,vt as Py,w as Fb,wn as fa,z as Ip}from"./chunk-BAHiFuUo.js";import{i as r,m as Ie,r as N}from"./main-F7D3L737.js";import{l as W}from"./chunk-BzUDWIzm.js";import{t as Ae}from"./chunk-DM5aibnW.js";import{t as D}from"./chunk-CXHCUTDs.js";var z=t=>({field:t});var L=(t,n)=>n.value;function F(t,n){if(t&1&&(Us(0,`option`,12),y_(1),fd()),t&2){let e=n.$implicit;Fy(`value`,e.value),ZC(),nv(e.label)}}function B(t,n){if(t&1){let e=zS();Us(0,`select`,11),Gy(`change`,function(c){Ip(e);return wp(qS(2).draft.set(c.target.value))}),LS(1,F,2,2,`option`,12,L),fd()}if(t&2){let e=qS(2);Fy(`id`,e.controlId)(`value`,e.draft())(`disabled`,e.saving()||e.disabled()),ky(`aria-labelledby`,e.labelId),ZC(),jS(e.options())}}function $(t,n){if(t&1){let e=zS();Us(0,`input`,13),Gy(`input`,function(c){Ip(e);return wp(qS(2).draft.set(c.target.value))}),fd()}if(t&2){let e=qS(2);Fy(`id`,e.controlId)(`type`,e.inputType())(`value`,e.draft())(`required`,e.required())(`maxLength`,e.maximumLength()??null)(`disabled`,e.saving()||e.disabled()),ky(`aria-labelledby`,e.labelId)}}function H(t,n){if(t&1){let e=zS();Us(0,`form`,1),Gy(`submit`,function(c){Ip(e);return wp(qS().submit(c))}),Us(1,`div`,2),OS(2,B,3,4,`select`,3)(3,$,1,7,`input`,4),Us(4,`div`,5)(5,`app-hint`,6)(6,`button`,7),Py(7,`app-icon`,8),fd()(),Us(8,`app-hint`,6)(9,`button`,9),Gy(`click`,function(){Ip(e);return wp(qS().cancelRequested.emit())}),Py(10,`app-icon`,10),fd()()()()()}if(t&2){let e=qS();ZC(2),kS(e.options().length>0?2:3),ZC(3),Fy(`text`,e.i18n.t(`inlineEdit.save`)),ZC(),Fy(`iconOnly`,!0)(`disabled`,e.saving()||e.disabled()),ky(`aria-label`,e.i18n.t(`inlineEdit.save`)),ZC(2),Fy(`text`,e.i18n.t(`inlineEdit.cancel`)),ZC(),Fy(`iconOnly`,!0)(`disabled`,e.saving()||e.disabled()),ky(`aria-label`,e.i18n.t(`inlineEdit.cancel`))}}function j(t,n){if(t&1){let e=zS();Us(0,`button`,9),Gy(`click`,function(){Ip(e);return wp(qS(2).editRequested.emit())}),Py(1,`app-icon`,15),fd()}if(t&2){let e=qS(2);Fy(`iconOnly`,!0)(`disabled`,e.disabled()),ky(`aria-label`,e.i18n.tf(`inlineEdit.editField`,k_(3,z,e.label())))}}function A(t,n){if(t&1&&(Us(0,`span`),y_(1),fd(),OS(2,j,2,5,`button`,14)),t&2){let e=qS();ZC(),nv(e.displayValue()||e.value()||e.emptyValue()),ZC(),kS(e.editable()?2:-1)}}var R=class t{i18n=g(Ie);controlId=g(W).getId(`inline-edit-`);labelId=`${this.controlId}-label`;label=NH.required();value=NH.required();displayValue=NH();emptyValue=NH.required();editable=NH(!0);disabled=NH(!1);editing=NH(!1);saving=NH(!1);required=NH(!1);inputType=NH(`text`);maximumLength=NH();options=NH([]);editRequested=MH();cancelRequested=MH();saveRequested=MH();draft=fa(()=>this.value());submit(n){if(n.preventDefault(),this.disabled())return;let e=this.draft().trim();this.required()&&e===``||this.saveRequested.emit(e)}static ɵfac=function(e){return new(e||t)};static ɵcmp=Fb({type:t,selectors:[[`div`,`appInlineEdit`,``]],hostVars:3,hostBindings:function(e,o){e&2&&(ky(`aria-disabled`,o.disabled()?`true`:null),Xy(`is-disabled`,o.disabled()))},inputs:{label:[1,`label`],value:[1,`value`],displayValue:[1,`displayValue`],emptyValue:[1,`emptyValue`],editable:[1,`editable`],disabled:[1,`disabled`],editing:[1,`editing`],saving:[1,`saving`],required:[1,`required`],inputType:[1,`inputType`],maximumLength:[1,`maximumLength`],options:[1,`options`]},outputs:{editRequested:`editRequested`,cancelRequested:`cancelRequested`,saveRequested:`saveRequested`},decls:5,vars:3,consts:[[3,`id`],[3,`submit`],[1,`edit-control`],[`appFilterSelect`,``,1,`select`,3,`id`,`value`,`disabled`],[1,`input`,3,`id`,`type`,`value`,`required`,`maxLength`,`disabled`],[1,`edit-actions`],[3,`text`],[`appButton`,``,`type`,`submit`,`variant`,`ghost`,3,`iconOnly`,`disabled`],[`name`,`check`],[`appButton`,``,`type`,`button`,`variant`,`ghost`,3,`click`,`iconOnly`,`disabled`],[`name`,`close`],[`appFilterSelect`,``,1,`select`,3,`change`,`id`,`value`,`disabled`],[3,`value`],[1,`input`,3,`input`,`id`,`type`,`value`,`required`,`maxLength`,`disabled`],[`appButton`,``,`type`,`button`,`variant`,`ghost`,3,`iconOnly`,`disabled`],[`name`,`pencil`]],template:function(e,o){e&1&&(Us(0,`dt`,0),y_(1),fd(),Us(2,`dd`),OS(3,H,11,9,`form`)(4,A,3,2),fd()),e&2&&(Fy(`id`,o.labelId),ZC(),nv(o.label()),ZC(2),kS(o.editing()?3:4))},dependencies:[Ae,N,D,r],styles:[`[_nghost-%COMP%]{display:block}.inline-edit-compact[_nghost-%COMP%]{display:inline-flex;align-items:center;min-inline-size:0}.inline-edit-compact[_nghost-%COMP%] dt[_ngcontent-%COMP%]{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.inline-edit-compact[_nghost-%COMP%] dd[_ngcontent-%COMP%]{inline-size:auto;min-block-size:0;margin:0}.inline-edit-compact[_nghost-%COMP%] form[_ngcontent-%COMP%]{inline-size:min(20rem,100vw - 4rem)}dt[_ngcontent-%COMP%]{color:var(--%NS%color-muted);font-size:var(--%NS%text-sm)}dd[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--%NS%space-2) var(--%NS%space-3);min-block-size:var(--%NS%control-height);inline-size:min(100%,28rem);margin:var(--%NS%space-1) 0 0;overflow-wrap:anywhere}.is-disabled[_nghost-%COMP%] dd[_ngcontent-%COMP%]{color:var(--%NS%color-muted)}form[_ngcontent-%COMP%]{inline-size:100%}.edit-control[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--%NS%space-2)}.edit-control[_ngcontent-%COMP%] :is(.input[_ngcontent-%COMP%], .select[_ngcontent-%COMP%]){inline-size:100%}.edit-actions[_ngcontent-%COMP%]{display:flex;align-items:center}.edit-actions[_ngcontent-%COMP%] app-hint[_ngcontent-%COMP%], .edit-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{block-size:var(--%NS%control-height)}`]})};export{R as t};
@@ -1 +0,0 @@
1
- import{n as w,r as x}from"./chunk-B0bNirg2.js";import{s as u,t as c}from"./chunk-DpLF2wJ62.js";function m(e,r,i){if(e!==`stripe`&&e!==`resend`)return[];let s=`/services/${e}`;return[{id:`${e}-connection`,path:s,label:r.t(`configurationWorkspace.connection`),queryParams:i?{request:i}:void 0},{id:`${e}-tests`,path:`${s}/tests`,label:r.t(`configurationWorkspace.tests`),exact:!1}]}function l(e,r){switch(e){case`stripe`:return w(x(r,c),c);case`resend`:return w(x(r,u),u);default:return{}}}export{m as n,l as t};
@@ -1 +0,0 @@
1
- import{t as l}from"./chunk-BwCtja5l.js";import{Dn as g,E as Ft}from"./chunk-BAHiFuUo.js";import{T as ue,a as T,m as Ie,y as G}from"./main-F7D3L737.js";import{ct as Me,wi as wu}from"./chunk-BAe_07VM.js";import{t as Ft$1}from"./chunk-DjewtV43.js";import{t}from"./chunk-CKxU-VJf.js";var k={q:`q`,sort:`sort`,filter:`filter`};var O=wu.String.check(wu.isMaxLength(120));var x=(n,r)=>{let a=r.parameters??k,s=wu.Literals(r.columns.flatMap(({key:t})=>[`${t}Asc`,`${t}Desc`])),i=wu.Literals([`all`,...(r.filters??[]).map(({value:t})=>t)]),d=(t,g,o)=>n.getAll(t).length!==1?o:Me.getOrElse(wu.decodeUnknownOption(g)(n.get(t)),()=>o);return{q:d(a.q,O,``),sort:d(a.sort,s,`none`),filter:d(a.filter,i,`all`)}};var w=(n,r)=>{let a=r.parameters??k,s={};return n.q!==``&&(s[a.q]=n.q),n.sort!==`none`&&(s[a.sort]=n.sort),n.filter!==`all`&&(s[a.filter]=n.filter),s};var M=(n,r,a,s)=>{a===`none`&&(a=r.defaultSort);let i=r.columns.find(({key:o})=>a===`${o}Asc`||a===`${o}Desc`);if(i===void 0)throw new Error(`workspace.invalid_sort`);let d=new Intl.Collator(s,{numeric:!0,sensitivity:`base`}),t=a.endsWith(`Desc`)?-1:1,g=i.kind===`number`?(o,m)=>{let c=i.value(o),l=i.value(m);return c===null?l===null?0:1:l===null?-1:t*(c-l)}:(o,m)=>{let c=i.value(o,s),l=i.value(m,s);return c===null?l===null?0:1:l===null?-1:t*d.compare(c,l)};return n.toSorted((o,m)=>{let c=g(o.item,m.item),l=r.id(o.item),e=r.id(m.item);return c||(l<e?-1:l>e?1:0)})};var P=(n,r,a)=>n.matches?.find(s=>s.key===r&&(a===void 0||s.refIndex===a))?.indices??[];var N=(n,r)=>{let a=g(G),s=g(ue),i=g(Ie),d=T(a.queryParamMap,{requireSync:!0}),t$1=Ft(()=>x(d(),r)),o=Ft$1(Ft(()=>n().filter(e=>t$1().filter===`all`||r.matchesFilter?.(e,t$1().filter)===!0)),Ft(()=>t$1().q),{keys:r.searchKeys,includeMatches:!0,ignoreDiacritics:!0,ignoreLocation:!0,threshold:.35}),m=Ft(()=>M(o(),r,t$1().sort,i.language())),c=Ft(()=>[{value:`all`,label:i.t(`configurationWorkspace.allRows`)},...(r.filters??[]).map(({value:e,label:f})=>({value:e,label:i.t(f)}))]),l$1=(e,f=!1)=>{let b=r.parameters??k;s.navigate([],{relativeTo:a,queryParams:l({[b.q]:null,[b.sort]:null,[b.filter]:null},w(l(l({},t$1()),e),r)),queryParamsHandling:`merge`,replaceUrl:f})};return{query:t$1,results:m,rows:Ft(()=>m().map(({item:e})=>e)),params:Ft(()=>w(t$1(),r)),filterOptions:c,filterSummary:Ft(()=>c().find(({value:e})=>e===t$1().filter)?.label??``),match:P,direction:e=>t$1().sort===`${e}Asc`?`ascending`:t$1().sort===`${e}Desc`?`descending`:`none`,sort:e=>{r.columns.some(({key:f})=>f===e)&&l$1({sort:t(t$1().sort,`${e}Asc`,`${e}Desc`)})},search:e=>l$1({q:e.slice(0,120)},!0),filter:e=>{(e===`all`||r.filters?.some(f=>f.value===e))&&l$1({filter:e})}}};export{w as n,x as r,N as t};
@@ -1 +0,0 @@
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,Dr as t_,E as Ft,Ir as wp,It as Us,Jr as zS,K as Ke,Nr as vd,Rn as jS,Tn as fd,V as Iy,W as KS,Wn as kS,Wr as y_,X as LS,en as ZS,lt as OS,mr as qT,nt as NH,o as A,pr as qS,qn as ky,tn as ZT,w as Fb,z as Ip}from"./chunk-BAHiFuUo.js";import{T as ue,m as Ie,o as U,r as N,y as G}from"./main-F7D3L737.js";import{d as nr,h as yn}from"./chunk-CSkyOfSg.js";import{t as Fe}from"./chunk-DB6sOjsn2.js";import{n as b,t as Z$1}from"./chunk-CABvk97t2.js";import{i as U$1,r as Q}from"./chunk-CCqlW8pS2.js";import{t as B}from"./chunk-qKosqkwC.js";import{b as y}from"./chunk-B6Rml85x2.js";var ee=[[[``,`listActions`,``]]];var te=[`[listActions]`];var ie=(n,t)=>t[0];function ne(n,t){if(n&1){let e=zS();Us(0,`app-filter-choice`,6),Gy(`committed`,function(){Ip(e);let r=qS(),a=t_(3);return r.state.update(),wp(a.close())}),fd(),qT()}if(n&2){let e=qS();Fy(`label`,e.i18n.t(`listWorkspace.searchChoices`))(`emptyLabel`,e.i18n.t(`listWorkspace.noChoices`))(`options`,e.clientOptions())(`formField`,e.state.fields.client),ZT()}}function re(n,t){if(n&1){let e=zS();Us(0,`app-filter-choice`,6),Gy(`committed`,function(){Ip(e);let r=qS(2),a=t_(3);return r.state.update(),wp(a.close())}),fd(),qT()}if(n&2){let e=qS(2);Fy(`label`,e.i18n.t(`listWorkspace.searchChoices`))(`emptyLabel`,e.i18n.t(`listWorkspace.noChoices`))(`options`,e.statusOptions())(`formField`,e.state.fields.status),ZT()}}function ae(n,t){if(n&1&&Iy(0,re,1,4,`ng-template`,3),n&2){let e=qS();Fy(`label`,e.i18n.t(`billingWorkspace.financialStatus`))(`summary`,e.label(`status`,e.state.fields.status().value()))}}function le(n,t){if(n&1){let e=zS();Us(0,`app-date-range-filter`,7),Gy(`rangeApplied`,function(r){Ip(e);let a=qS(),h=t_(3);return a.state.applyPeriod(r),wp(h.close())}),fd()}if(n&2){let e=qS();Fy(`from`,e.state.fields.from().value()||void 0)(`to`,e.state.fields.to().value()||void 0)}}function oe(n,t){if(n&1){let e=zS();Us(0,`button`,9),Gy(`click`,function(){let r=Ip(e).$implicit;return wp(qS(2).state.clear(r[0]))}),y_(1),fd()}if(n&2){let e=t.$implicit,i=qS(2);ky(`aria-label`,i.i18n.t(`billingWorkspace.removeFilter`)+` : `+i.label(e[0],e[1])),ZC(),vd(` `,i.label(e[0],e[1]),` × `)}}function se(n,t){if(n&1){let e=zS();Us(0,`div`,5),LS(1,oe,2,2,`button`,8,ie),Us(3,`button`,9),Gy(`click`,function(){Ip(e);return wp(qS().state.clear())}),y_(4),fd()()}if(n&2){let e=qS();ZC(),jS(e.state.active()),ZC(3),vd(` `,e.i18n.t(`billingWorkspace.clear`),` `)}}var Y=n=>l({q:(n.get(`q`)??``).slice(0,160),status:n.get(`status`)??``,client:n.get(`client`)??``},y(n));var P=class n{i18n=g(Ie);route=g(G);router=g(ue);params=Ke(this.route.snapshot.queryParamMap);fields=nr(Ke(Y(this.route.snapshot.queryParamMap)));periodSummary=Ft(()=>{let{from:t,to:e}=this.fields().value();return[t?`${this.i18n.t(`dateRangeFilter.from`)} : ${t}`:``,e?`${this.i18n.t(`dateRangeFilter.to`)} : ${e}`:``].filter(Boolean).join(` · `)||this.i18n.t(`billingWorkspace.all`)});active=Ft(()=>{let t=this.fields().value(),e=Object.entries(t).filter(([i,r])=>i!==`from`&&i!==`to`&&r!==``);return(t.from||t.to)&&e.push([`period`,this.periodSummary()]),e});filterCount=Ft(()=>this.active().filter(([t])=>t!==`q`).length);constructor(){this.route.queryParamMap.pipe(U()).subscribe(t=>{this.params.set(t),this.fields().reset(Y(t))})}update(){this.router.navigate([],{relativeTo:this.route,queryParams:this.fields().value(),queryParamsHandling:`merge`,replaceUrl:!0})}setSearch(t){this.fields.q().value.set(t.slice(0,160)),this.update()}applyPeriod(t){this.fields().reset(m(l({},this.fields().value()),{from:t.from??``,to:t.to??``})),this.update()}updateSort(t){this.router.navigate([],{relativeTo:this.route,queryParams:m(l({},this.fields().value()),{sort:t===`none`?null:t}),queryParamsHandling:`merge`,replaceUrl:!0})}clear(t){this.fields().reset(t===void 0?{q:``,status:``,client:``,from:``,to:``}:t===`period`?m(l({},this.fields().value()),{from:``,to:``}):m(l({},this.fields().value()),{[t]:``})),this.update()}passes(t,e){let{status:i,client:r,from:a,to:h}=this.fields().value();return(!r||t.clientId===r)&&(!a||e>=a)&&(!h||e<=h)&&(!i||!(`cancelledAt`in t)||(i===`cancelled`?t.cancelledAt!=null:t.cancelledAt===null))}static ɵfac=function(e){return new(e||n)};static ɵprov=A({token:n,factory:n.ɵfac})};var Z=class n{state=g(P);i18n=g(Ie);clients=NH.required();periodLabel=NH.required();showStatus=NH(!0);disabled=NH(!1);clientOptions=Ft(()=>[{value:``,label:this.i18n.t(`billingWorkspace.all`)},...this.clients().map(([t,e])=>({value:t,label:e}))]);statusOptions=Ft(()=>[``,`active`,`cancelled`].map(t=>({value:t,label:this.label(`status`,t)})));label(t,e){return e===``?this.i18n.t(`billingWorkspace.all`):t===`client`?this.clients().find(([i])=>i===e)?.[1]??e:t===`status`?this.i18n.t(e===`cancelled`?`billingWorkspace.cancelled`:`billingWorkspace.active`):e}static ɵfac=function(e){return new(e||n)};static ɵcmp=Fb({type:n,selectors:[[`app-billing-entry-filters`]],hostAttrs:[2,`display`,`contents`],inputs:{clients:[1,`clients`],periodLabel:[1,`periodLabel`],showStatus:[1,`showStatus`],disabled:[1,`disabled`]},ngContentSelectors:te,decls:10,vars:13,consts:[[`menu`,``],[`listSearch`,``,3,`valueChange`,`label`,`value`],[`listFilters`,``,3,`label`,`closeLabel`,`backLabel`,`activeCount`,`disabled`],[`appFilterPanel`,``,3,`label`,`summary`],[`listActions`,``],[1,`chips`],[3,`committed`,`label`,`emptyLabel`,`options`,`formField`],[3,`rangeApplied`,`from`,`to`],[`appButton`,``,`type`,`button`],[`appButton`,``,`type`,`button`,3,`click`]],template:function(e,i){e&1&&(ZS(ee),Us(0,`app-list-toolbar`)(1,`app-list-search`,1),Gy(`valueChange`,function(a){return i.state.setSearch(a)}),fd(),Us(2,`app-filter-menu`,2,0),Iy(4,ne,1,4,`ng-template`,3),OS(5,ae,1,2,null,3),Iy(6,le,1,2,`ng-template`,3),fd(),Us(7,`div`,4),KS(8),fd()(),OS(9,se,5,1,`div`,5)),e&2&&(ZC(),Fy(`label`,i.i18n.t(`billingWorkspace.search`))(`value`,i.state.fields.q().value()),ZC(),Fy(`label`,i.i18n.t(`listWorkspace.filters`))(`closeLabel`,i.i18n.t(`listWorkspace.closeFilters`))(`backLabel`,i.i18n.t(`listWorkspace.backFilters`))(`activeCount`,i.state.filterCount())(`disabled`,i.disabled()),ZC(2),Fy(`label`,i.i18n.t(`backOffice.invoices.client`))(`summary`,i.label(`client`,i.state.fields.client().value())),ZC(),kS(i.showStatus()?5:-1),ZC(),Fy(`label`,i.periodLabel())(`summary`,i.state.periodSummary()),ZC(3),kS(i.state.active().length?9:-1))},dependencies:[yn,N,U$1,Q,Z$1,b,Fe,B],styles:[`.chips[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:end;gap:var(--%NS%space-3)}`]})};export{Z as n,P as t};
@@ -1 +0,0 @@
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,Dr as t_,E as Ft$1,Er as sv,Fn as iv,Gn as k_,Ir as wp,It as Us,J as Ky,Jr as zS,Jt as Xy,K as Ke,M as H_,Nr as vd,Rn as jS,Rt as V_,Sr as rv,Tn as fd,V as Iy,Vr as xH,Wn as kS,Wr as y_,X as LS,dr as pe,ft as Ol,gn as ce,j as H,lt as OS,mr as qT,mt as PH,pr as qS,qn as ky,rn as Zw,rr as nv,sr as ov,tn as ZT,tt as Mn,ut as O_,vt as Py,w as Fb,xn as e_,z as Ip,zn as j_}from"./chunk-BAHiFuUo.js";import{T as ue,a as T,h as Ne,m as Ie,o as U,r as N,v as Dt$1,y as G}from"./main-F7D3L737.js";import{wi as wu}from"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import{Ia as a}from"./chunk-D5qmP2Wu.js";import"./chunk-BzUDWIzm.js";import"./chunk-CczD0yXn.js";import"./chunk-CReShp-B.js";import{t as Ae}from"./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 u}from"./chunk-Bfx7EEIR.js";import{t as c}from"./chunk-enci06qG.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{S as x,a as I,b as q,i as H$1,n as D,p as T$1,s as L$1,u as O,v as j,y as k$1}from"./chunk-CMvRZBpn.js";import{t as P$1}from"./chunk-niXXbm7H.js";import{t as p}from"./chunk-BHEFFEGN.js";import{t as R}from"./chunk-NDpjbcAr2.js";import{t as w}from"./chunk-Bq2zV2_3.js";import{a as u$1,i as m$1}from"./chunk-Dx1NwQCW.js";var je=[`result`];var Je=[`cancelReason`];var Xe=n=>[`/purchases`,n];var ne=n=>[`/invoices`,n];var Ge=()=>({dateStyle:`medium`,timeStyle:`short`});var Ye=(n,t)=>t.batchId+t.invoiceId;var L=(n,t)=>t.id;var Ze=(n,t)=>t.paymentId;var Qe=(n,t)=>t.key;var et=(n,t)=>t.matchId;function tt(n,t){if(n&1&&(Us(0,`div`,7,0)(2,`p`,9),y_(3),fd()()),n&2){let e=qS();ZC(3),nv(e.i18n.t(`bank.saved`))}}function nt(n,t){if(n&1){let e=zS();Us(0,`div`)(1,`button`,11),Gy(`click`,function(){Ip(e);return wp(qS(2).refresh())}),y_(2),fd()()}if(n&2){let e=qS(2);ZC(),Fy(`disabled`,e.busy()),ZC(),vd(` `,e.i18n.t(`bank.reload`),` `)}}function it(n,t){if(n&1&&(Us(0,`p`,10),y_(1),fd(),OS(2,nt,3,2,`div`)),n&2){let e=qS();ZC(),nv(e.i18n.t(t)),ZC(),kS(e.state()===`ready`&&!e.pendingMatch()&&!e.pendingCancellation()?2:-1)}}function at(n,t){if(n&1&&(Us(0,`p`,8),y_(1),fd()),n&2){let e=qS();ZC(),nv(e.i18n.t(`bank.loading`))}}function ot(n,t){if(n&1){let e=zS();Us(0,`div`)(1,`button`,12),Gy(`click`,function(){Ip(e);return wp(qS().load())}),y_(2),fd()()}if(n&2){let e=qS();ZC(2),nv(e.i18n.t(`bank.reload`))}}function rt(n,t){if(n&1&&(Us(0,`div`)(1,`dt`),y_(2),fd(),Us(3,`dd`),y_(4),fd()(),Us(5,`div`)(6,`dt`),y_(7),fd(),Us(8,`dd`),y_(9),fd()()),n&2){let e=qS(),a=qS();ZC(2),nv(a.i18n.t(`bank.allocated`)),ZC(2),nv(a.money(e.matchedCents)),ZC(3),nv(a.i18n.t(`bank.remaining`)),ZC(2),nv(a.money(a.remaining()))}}function ct(n,t){if(n&1&&(Us(0,`p`),y_(1),fd()),n&2){let e=qS(4);ZC(),nv(e.i18n.t(`bankWorkspace.noSupplierPayments`))}}function lt(n,t){if(n&1){let e=zS();Us(0,`li`)(1,`button`,11),Gy(`click`,function(){let l=Ip(e).$implicit;return wp(qS(4).matchSupplier(l))}),y_(2),fd()()}if(n&2){let e=t.$implicit,a=qS(4);ZC(),Fy(`disabled`,a.busy()),ZC(),ov(` `,e.reference,` · `,e.supplierName,` · `,a.money(e.availableCents),` `)}}function st(n,t){if(n&1){let e=zS();Us(0,`button`,11),Gy(`click`,function(){Ip(e);let l=qS().$implicit;return wp(qS(5).unmatchSupplier(l))}),y_(1),fd()}if(n&2){let e=qS(6);Fy(`disabled`,e.busy()),ZC(),vd(` `,e.i18n.t(`bankWorkspace.unmatch`),` `)}}function dt(n,t){if(n&1&&(Us(0,`tr`)(1,`th`,34)(2,`a`,35),y_(3),fd()(),Us(4,`td`),y_(5),fd(),Us(6,`td`),y_(7),fd(),Us(8,`td`),OS(9,st,2,2,`button`,36),fd()()),n&2){let e=t.$implicit,a=qS(5);ZC(2),Fy(`routerLink`,k_(5,Xe,e.invoiceId)),ZC(),nv(e.invoiceId),ZC(2),nv(a.money(e.amountCents)),ZC(2),nv(e.cancelledAt),ZC(2),kS(e.cancelledAt?-1:9)}}function mt(n,t){if(n&1&&(Us(0,`h3`),y_(1),fd(),Us(2,`div`,32)(3,`table`)(4,`thead`)(5,`tr`)(6,`th`,33),y_(7),fd(),Us(8,`th`,33),y_(9),fd(),Us(10,`th`,33),y_(11),fd(),Us(12,`th`,33),y_(13),fd()()(),Us(14,`tbody`),LS(15,dt,10,7,`tr`,null,L),fd()()()),n&2){let e=qS(4);ZC(),nv(e.i18n.t(`bankWorkspace.supplierMatchHistory`)),ZC(6),nv(e.i18n.t(`bank.invoice`)),ZC(2),nv(e.i18n.t(`bankWorkspace.amount`)),ZC(2),nv(e.i18n.t(`bankWorkspace.status`)),ZC(2),nv(e.i18n.t(`bankWorkspace.actions`)),ZC(2),jS(e.supplierMatches())}}function pt(n,t){if(n&1&&(Us(0,`section`,21)(1,`h2`,30),y_(2),fd(),Us(3,`p`,18),y_(4),fd(),OS(5,ct,2,1,`p`),Us(6,`ul`,31),LS(7,lt,3,4,`li`,null,Ye),fd(),OS(9,mt,17,5),fd()),n&2){let e=qS(3);ZC(2),nv(e.i18n.t(`bankWorkspace.supplierPayments`)),ZC(2),nv(e.i18n.t(`bankWorkspace.supplierPaymentsHint`)),ZC(),kS(e.supplierPayments().length?-1:5),ZC(2),jS(e.supplierPayments()),ZC(2),kS(e.supplierMatches().length?9:-1)}}function ut(n,t){n&1&&Iy(0,pt,10,4,`section`,29),n&2&&Fy(`appCan`,`bank.reconcile`)}function _t(n,t){if(n&1&&(Us(0,`p`,8),y_(1),fd()),n&2){let e=qS(4);ZC(),nv(e.i18n.t(`bankWorkspace.suggestionsLoading`))}}function yt(n,t){if(n&1){let e=zS();Us(0,`li`)(1,`button`,57),Gy(`click`,function(){let l=Ip(e).$implicit;return wp(qS(5).applySuggestion(l))}),y_(2),fd()()}if(n&2){let e=t.$implicit,a=qS(5);ZC(2),iv(` `,e.invoiceNumber,` · `,e.clientDisplayName,` · `,a.money(e.amountCents),` · `,e.score,`% `)}}function ht(n,t){if(n&1&&(Us(0,`section`,39)(1,`h3`,56),y_(2),fd(),Us(3,`p`,18),y_(4),fd(),Us(5,`ul`),LS(6,yt,3,4,`li`,null,Ze),fd()()),n&2){let e=qS(4);ZC(2),nv(e.i18n.t(`bankWorkspace.suggestions`)),ZC(2),nv(e.i18n.t(`bankWorkspace.suggestionsHint`)),ZC(2),jS(e.suggestions())}}function ft(n,t){if(n&1){let e=zS();Us(0,`p`,10),y_(1),fd(),Us(2,`div`)(3,`button`,12),Gy(`click`,function(){Ip(e);return wp(qS(4).loadInvoices())}),y_(4),fd()()}if(n&2){let e=qS(4);ZC(),nv(e.i18n.t(`bank.error`)),ZC(3),vd(` `,e.i18n.t(`bank.reload`),` `)}}function xt(n,t){if(n&1&&(Us(0,`p`,8),y_(1),fd()),n&2){let e=qS(4);ZC(),nv(e.i18n.t(`bank.loading`))}}function vt(n,t){if(n&1&&(Us(0,`p`),y_(1),fd()),n&2){let e=qS(4);ZC(),nv(e.i18n.t(`bankWorkspace.noInvoices`))}}function bt(n,t){if(n&1&&(Us(0,`option`,44),y_(1),fd()),n&2){let e=t.$implicit;Fy(`value`,e.id),ZC(),rv(` `,e.invoiceNumber,` — `,e.title,` `)}}function Ct(n,t){if(n&1&&y_(0),n&2)vd(` `,qS(4).i18n.t(`bankWorkspace.invoiceInvalid`),` `)}function gt(n,t){if(n&1&&(Us(0,`a`,35),y_(1),fd()),n&2){let e=qS(4);Fy(`routerLink`,k_(2,ne,e.matchForm.invoiceId().value())),ZC(),nv(e.i18n.t(`bankWorkspace.viewInvoice`))}}function kt(n,t){if(n&1&&(Us(0,`p`,8),y_(1),fd()),n&2){let e=qS(4);ZC(),nv(e.i18n.t(`bank.loading`))}}function St(n,t){if(n&1){let e=zS();Us(0,`p`,10),y_(1),fd(),Us(2,`div`)(3,`button`,12),Gy(`click`,function(){Ip(e);let l=qS(4);return wp(l.selectInvoice(l.matchForm.invoiceId().value()))}),y_(4),fd()()}if(n&2){let e=qS(4);ZC(),nv(e.i18n.t(`bank.error`)),ZC(3),vd(` `,e.i18n.t(`bank.reload`),` `)}}function It(n,t){if(n&1&&(Us(0,`p`),y_(1),fd()),n&2){let e=qS(4);ZC(),nv(e.i18n.t(`bankWorkspace.noPayments`))}}function Bt(n,t){if(n&1&&(Us(0,`option`,44),y_(1),j_(2,`localizedDate`),fd()),n&2){let e=t.$implicit,a=qS(4);Fy(`value`,e.id),ZC(),ov(` `,e.reference,` — `,V_(2,4,e.paidOn,a.i18n.language()),` — `,a.money(e.availableCents),` `)}}function Et(n,t){if(n&1&&y_(0),n&2)vd(` `,qS(4).i18n.t(`bankWorkspace.paymentInvalid`),` `)}function Mt(n,t){if(n&1&&y_(0),n&2)vd(` `,qS(4).i18n.t(`bankWorkspace.amountInvalid`),` `)}function Rt(n,t){if(n&1&&y_(0),n&2)vd(` `,qS(4).i18n.t(`bankWorkspace.feeInvalid`),` `)}function wt(n,t){if(n&1&&(Us(0,`p`),y_(1),fd()),n&2){let e=qS(4);ZC(),rv(``,e.i18n.t(`bankWorkspace.net`),` : `,e.money(e.net()??0))}}function Tt(n,t){if(n&1&&y_(0),n&2)vd(` `,qS(4).i18n.t(`bankWorkspace.netInvalid`),` `)}function Pt(n,t){if(n&1&&(Us(0,`p`,54),y_(1),fd()),n&2){let e=qS(4);ZC(),nv(e.i18n.t(`bankWorkspace.retryHint`))}}function Ft(n,t){if(n&1){let e=zS();Us(0,`section`,22)(1,`h2`,38),y_(2),fd(),Us(3,`p`),y_(4),fd(),Us(5,`p`,18),y_(6),fd(),OS(7,_t,2,1,`p`,8)(8,ht,8,2,`section`,39),OS(9,ft,5,2)(10,xt,2,1,`p`,8)(11,vt,2,1,`p`),Us(12,`form`,40),Gy(`submit`,function(l){Ip(e);return wp(qS(3).reconcile(l))}),Us(13,`label`,41),y_(14),Us(15,`select`,42,1),Gy(`change`,function(){Ip(e);let l=t_(16);return wp(qS(3).selectInvoice(l.value))}),Us(17,`option`,43),y_(18),fd(),LS(19,bt,2,3,`option`,44,L),fd(),qT(),Us(21,`span`,45),OS(22,Ct,1,1),fd()(),OS(23,gt,2,4,`a`,35),OS(24,kt,2,1,`p`,8)(25,St,5,2)(26,It,2,1,`p`),Us(27,`label`,41),y_(28),Us(29,`select`,46)(30,`option`,43),y_(31),fd(),LS(32,Bt,3,7,`option`,44,L),fd(),qT(),Us(34,`span`,47),OS(35,Et,1,1),fd()(),Us(36,`label`,41),y_(37),Py(38,`input`,48),qT(),Us(39,`span`,49),OS(40,Mt,1,1),fd()(),Us(41,`label`,41),y_(42),Py(43,`input`,50),qT(),Us(44,`span`,51),OS(45,Rt,1,1),fd()(),Us(46,`p`,52),y_(47),fd(),OS(48,wt,2,2,`p`),Us(49,`p`,53),OS(50,Tt,1,1),fd(),OS(51,Pt,2,1,`p`,54),Us(52,`div`)(53,`button`,55),y_(54),fd()()()()}if(n&2){let e=qS(3);ZC(2),nv(e.i18n.t(`bankWorkspace.allocate`)),ZC(2),nv(e.i18n.t(`bankWorkspace.groupHint`)),ZC(2),nv(e.i18n.t(`bankWorkspace.paymentHint`)),ZC(),kS(e.suggestionState()===`loading`?7:e.suggestions().length>0?8:-1),ZC(2),kS(e.invoicesFailed()?9:e.invoicesLoading()?10:e.invoices().length?-1:11),ZC(5),nv(e.i18n.t(`bank.invoice`)),ZC(),Fy(`formField`,e.matchForm.invoiceId),ky(`aria-invalid`,e.invalid(`invoiceId`)),ZT(),ZC(3),nv(e.i18n.t(`bank.chooseInvoice`)),ZC(),jS(e.invoices()),ZC(3),kS(e.invalid(`invoiceId`)?22:-1),ZC(),kS(e.matchForm.invoiceId().value()?23:-1),ZC(),kS(e.paymentState()===`loading`?24:e.paymentState()===`error`?25:e.paymentState()===`ready`&&!e.payments().length?26:-1),ZC(4),nv(e.i18n.t(`bankWorkspace.payment`)),ZC(),Fy(`formField`,e.matchForm.paymentId),ky(`aria-invalid`,e.invalid(`paymentId`)),ZT(),ZC(2),nv(e.i18n.t(`bankWorkspace.choosePayment`)),ZC(),jS(e.payments()),ZC(3),kS(e.invalid(`paymentId`)?35:-1),ZC(2),nv(e.i18n.t(`bank.allocationAmount`)),ZC(),Fy(`formField`,e.matchForm.amount),ky(`aria-invalid`,e.invalid(`amount`)||e.netInvalid()),ZT(),ZC(2),kS(e.invalid(`amount`)?40:-1),ZC(2),nv(e.i18n.t(`bank.feeAmount`)),ZC(),Fy(`formField`,e.matchForm.fee),ky(`aria-invalid`,e.invalid(`fee`)),ZT(),ZC(2),kS(e.invalid(`fee`)?45:-1),ZC(2),nv(e.i18n.t(`bank.feeHint`)),ZC(),kS(e.net()!==void 0?48:-1),ZC(2),kS(e.netInvalid()?50:-1),ZC(),kS(e.pendingMatch()?51:-1),ZC(2),Fy(`disabled`,e.busy()||!!e.cancelling()||e.invoicesLoading()||e.paymentState()===`loading`),ZC(),vd(` `,e.i18n.t(e.pendingMatch()?`bankWorkspace.retry`:`bank.reconcile`),` `)}}function Nt(n,t){n&1&&Iy(0,Ft,55,31,`section`,37),n&2&&Fy(`appCan`,`bank.reconcile`)}function Dt(n,t){if(n&1&&(Us(0,`p`),y_(1),fd()),n&2){let e=qS(2);ZC(),nv(e.i18n.t(`bankWorkspace.noAllocations`))}}function Wt(n,t){if(n&1){let e=zS();Us(0,`th`,33)(1,`button`,59),Gy(`click`,function(){let l=Ip(e).$implicit;return wp(qS(3).sortBy(`allocation`,l.key))}),fd()()}if(n&2){let e=t.$implicit,a=qS(3);Xy(`amount`,e.kind===`number`),ky(`aria-sort`,a.sortDirection(`allocation`,e.key)),ZC(),Fy(`label`,a.i18n.t(e.label))(`direction`,a.sortDirection(`allocation`,e.key))}}function Vt(n,t){if(n&1&&(Us(0,`small`),y_(1),fd()),n&2){let e=qS(4);ZC(),nv(e.i18n.t(`bank.paymentCancelled`))}}function Ot(n,t){if(n&1){let e=zS();Us(0,`button`,62),Gy(`click`,function(){Ip(e);let l=qS().$implicit;return wp(qS(3).selectCancellation(l))}),y_(1),fd()}if(n&2){let e=qS(4);Fy(`disabled`,e.busy()||!!e.pendingMatch()||!!e.pendingCancellation()),ZC(),vd(` `,e.i18n.t(`bankWorkspace.cancelAllocation`),` `)}}function Lt(n,t){if(n&1&&(Us(0,`tr`)(1,`th`,34)(2,`a`,35),y_(3),fd(),OS(4,Vt,2,1,`small`),fd(),Us(5,`td`),y_(6),fd(),Us(7,`td`,60),y_(8),fd(),Us(9,`td`,60),y_(10),fd(),Us(11,`td`),Iy(12,Ot,2,2,`button`,61),fd()()),n&2){let e=t.$implicit,a=qS(3);ZC(2),Fy(`routerLink`,k_(7,ne,e.invoiceId)),ZC(),nv(e.invoiceNumber),ZC(),kS(e.paymentCancelled?4:-1),ZC(2),nv(e.paymentId),ZC(2),nv(a.money(e.amountCents)),ZC(2),nv(a.money(e.feeCents)),ZC(2),Fy(`appCan`,`bank.reconcile`)}}function At(n,t){if(n&1&&(Us(0,`div`,25)(1,`table`)(2,`thead`)(3,`tr`),LS(4,Wt,2,5,`th`,58,Qe),Us(6,`th`,33),y_(7),fd()()(),Us(8,`tbody`),LS(9,Lt,13,9,`tr`,null,et),fd()()()),n&2){let e=qS(2);ZC(4),jS(e.allocationColumns),ZC(3),nv(e.i18n.t(`bank.allocation`)),ZC(2),jS(e.sortedAllocations())}}function Ht(n,t){if(n&1&&y_(0),n&2)vd(` `,qS(4).i18n.t(`bankWorkspace.reasonInvalid`),` `)}function qt(n,t){if(n&1&&(Us(0,`p`,54),y_(1),fd()),n&2){let e=qS(4);ZC(),nv(e.i18n.t(`bankWorkspace.retryHint`))}}function zt(n,t){if(n&1){let e=zS();Us(0,`form`,64),Gy(`submit`,function(l){Ip(e);return wp(qS(3).cancelAllocation(l))}),Us(1,`h3`),y_(2),fd(),Us(3,`p`),y_(4),fd(),Us(5,`p`),y_(6),fd(),Us(7,`a`,19),y_(8),fd(),Us(9,`label`,41),y_(10),Py(11,`textarea`,65,2),qT(),Us(13,`span`,66),OS(14,Ht,1,1),fd()(),OS(15,qt,2,1,`p`,54),Us(16,`div`,67)(17,`button`,68),y_(18),fd(),Us(19,`button`,11),Gy(`click`,function(){Ip(e);return wp(qS(3).closeCancellation())}),y_(20),fd()()()}if(n&2){let e=qS(),a=qS(2);ZC(2),nv(a.i18n.t(`bankWorkspace.cancelContext`)),ZC(2),sv(` `,e.invoiceNumber,` · `,e.paymentId,` · `,a.money(e.amountCents),` · `,a.i18n.t(`bank.fees`),` `,a.money(e.feeCents),` `),ZC(2),nv(a.i18n.t(`bankWorkspace.feePosted`)),ZC(),Fy(`queryParams`,a.ledgerQuery()),ZC(),nv(a.i18n.t(`bankWorkspace.viewFees`)),ZC(2),nv(a.i18n.t(`bank.reason`)),ZC(),Fy(`formField`,a.cancelForm.reason),ky(`aria-invalid`,a.cancelForm.reason().touched()&&a.cancelForm.reason().invalid()),ZT(),ZC(3),kS(a.cancelForm.reason().touched()&&a.cancelForm.reason().invalid()?14:-1),ZC(),kS(a.pendingCancellation()?15:-1),ZC(2),Fy(`disabled`,a.busy()),ZC(),vd(` `,a.i18n.t(a.pendingCancellation()?`bankWorkspace.retry`:`bankWorkspace.cancelAllocation`)),ZC(),Fy(`disabled`,a.busy()||!!a.pendingCancellation()),ZC(),vd(` `,a.i18n.t(`bankWorkspace.cancelClose`),` `)}}function $t(n,t){n&1&&Iy(0,zt,21,18,`form`,63),n&2&&Fy(`appCan`,`bank.reconcile`)}function Ut(n,t){if(n&1&&(Us(0,`p`,8),y_(1),fd()),n&2){let e=qS(2);ZC(),nv(e.i18n.t(`bank.loading`))}}function Gt(n,t){if(n&1){let e=zS();Us(0,`p`,10),y_(1),fd(),Us(2,`div`)(3,`button`,12),Gy(`click`,function(){Ip(e);return wp(qS(2).loadHistory())}),y_(4),fd()()}if(n&2){let e=qS(2);ZC(),nv(e.i18n.t(`bank.error`)),ZC(3),nv(e.i18n.t(`bank.reload`))}}function Qt(n,t){if(n&1&&(Us(0,`p`),y_(1),fd()),n&2){let e=qS(2);ZC(),nv(e.i18n.t(`bank.historyEmpty`))}}function Kt(n,t){if(n&1){let e=zS();Us(0,`th`,33)(1,`button`,59),Gy(`click`,function(){let l=Ip(e).$implicit;return wp(qS(3).sortBy(`history`,l.key))}),fd()()}if(n&2){let e=t.$implicit,a=qS(3);Xy(`amount`,e.kind===`number`),ky(`aria-sort`,a.sortDirection(`history`,e.key)),ZC(),Fy(`label`,a.i18n.t(e.label))(`direction`,a.sortDirection(`history`,e.key))}}function jt(n,t){if(n&1&&(y_(0),j_(1,`localizedDate`),Us(2,`small`),y_(3),fd(),Us(4,`p`,16),y_(5),fd()),n&2){let e=qS().$implicit,a=qS(3);vd(` `,H_(1,3,e.cancelledAt,a.i18n.language(),O_(7,Ge))),ZC(3),nv(e.cancelledByUserId),ZC(2),nv(e.cancellationReason)}}function Jt(n,t){n&1&&y_(0,` — `)}function Xt(n,t){if(n&1&&(Us(0,`tr`)(1,`th`,34)(2,`a`,35),y_(3),fd(),Us(4,`small`),y_(5),fd()(),Us(6,`td`),y_(7),j_(8,`localizedDate`),Us(9,`small`),y_(10),fd()(),Us(11,`td`,60),y_(12),fd(),Us(13,`td`,60),y_(14),fd(),Us(15,`td`),OS(16,jt,6,8)(17,Jt,1,0),fd()()),n&2){let e=t.$implicit,a=qS(3);ZC(2),Fy(`routerLink`,k_(12,ne,e.invoiceId)),ZC(),nv(e.invoiceNumber),ZC(2),nv(e.paymentId),ZC(2),vd(` `,H_(8,8,e.matchedAt,a.i18n.language(),O_(14,Ge))),ZC(3),nv(e.matchedByUserId),ZC(2),nv(a.money(e.amountCents)),ZC(2),nv(a.money(e.feeCents)),ZC(2),kS(e.cancelledAt!==null?16:17)}}function Yt(n,t){if(n&1&&(Us(0,`div`,25)(1,`table`)(2,`thead`)(3,`tr`),LS(4,Kt,2,5,`th`,58,Qe),fd()(),Us(6,`tbody`),LS(7,Xt,18,15,`tr`,null,L),fd()()()),n&2){let e=qS(2);ZC(4),jS(e.historyColumns),ZC(3),jS(e.sortedHistory())}}function Zt(n,t){if(n&1&&(Us(0,`div`,13)(1,`aside`,14)(2,`h2`,15),y_(3),fd(),Us(4,`p`,16),y_(5),fd(),Us(6,`dl`)(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),j_(17,`localizedDate`),fd()(),Us(18,`div`)(19,`dt`),y_(20),fd(),Us(21,`dd`),y_(22),fd()(),Us(23,`div`)(24,`dt`),y_(25),fd(),Us(26,`dd`)(27,`span`,17),y_(28),fd()()(),OS(29,rt,10,4),fd(),Us(30,`p`,18),y_(31),fd(),Us(32,`a`,19),y_(33),fd()(),Us(34,`div`,20),OS(35,ut,1,1,`section`,21),OS(36,Nt,1,1,`section`,22),Us(37,`section`,23)(38,`h2`,24),y_(39),fd(),Us(40,`p`,18),y_(41),fd(),OS(42,Dt,2,1,`p`)(43,At,11,1,`div`,25),OS(44,$t,1,1,`form`,26),fd()()(),Us(45,`section`,27)(46,`h2`,28),y_(47),fd(),Us(48,`p`,18),y_(49),fd(),Us(50,`p`,18),y_(51),fd(),OS(52,Ut,2,1,`p`,8)(53,Gt,5,2)(54,Qt,2,1,`p`)(55,Yt,9,0,`div`,25),fd()),n&2){let e,a=t,l=qS();ZC(3),nv(a.reference),ZC(2),nv(a.description),ZC(4),nv(l.i18n.t(`bankWorkspace.account`)),ZC(2),nv(a.account),ZC(3),nv(l.i18n.t(`bankWorkspace.date`)),ZC(2),nv(V_(17,24,a.bookedOn,l.i18n.language())),ZC(4),nv(l.i18n.t(`bankWorkspace.amount`)),ZC(2),nv(l.money(a.amountCents)),ZC(3),nv(l.i18n.t(`bankWorkspace.status`)),ZC(3),nv(l.i18n.t(l.status())),ZC(),kS(a.amountCents>0?29:-1),ZC(2),nv(l.i18n.t(`bankWorkspace.accountHint`)),ZC(),Fy(`queryParams`,l.ledgerQuery()),ZC(),nv(l.i18n.t(`bankWorkspace.entries`)),ZC(2),kS(a.amountCents<0?35:-1),ZC(),kS(a.amountCents>0&&l.remaining()>0?36:-1),ZC(3),nv(l.i18n.t(`bankWorkspace.allocations`)),ZC(2),nv(l.i18n.t(`bankWorkspace.immutable`)),ZC(),kS(a.allocations.length?43:42),ZC(2),kS((e=l.cancelling())?44:-1,e),ZC(3),nv(l.i18n.t(`bank.history`)),ZC(2),nv(l.i18n.t(`bank.historyHint`)),ZC(2),nv(l.i18n.t(`bankWorkspace.historySortLoaded`)),ZC(),kS(l.historyState()===`loading`?52:l.historyState()===`error`?53:l.history().length?55:54)}}var te=()=>({invoiceId:``,paymentId:``,amount:``,fee:`0.00`});var Ue=class n{authentication=g(E);i18n=g(Ie);api=g(w);invoicesApi=g(R);route=g(G);router=g(ue);params=T(this.route.queryParamMap,{initialValue:this.route.snapshot.queryParamMap});confirmation=g(P$1);document=g(H);injector=g(ce);destroyRef=g(pe);pendingTasks=g(Mn);result=xH(`result`);cancelReason=xH(`cancelReason`);state=Ke(`loading`);busy=Ke(!1);error=Ke(void 0);saved=Ke(!1);transaction=Ke(void 0);titleLabel=Ft$1(()=>!this.authentication.can(`bank.reconcile`)||(this.transaction()?.amountCents??0)<0?`bankWorkspace.context`:`bankWorkspace.reconciliation`);invoices=Ke([]);invoicesFailed=Ke(!1);invoicesLoading=Ke(!1);payments=Ke([]);paymentState=Ke(`idle`);history=Ke([]);suggestions=Ke([]);supplierPayments=Ke([]);supplierMatches=Ke([]);suggestionState=Ke(`loading`);allocationColumns=O;historyColumns=j;allocationSort=Ft$1(()=>k$1(this.params().get(`allocationSort`),O));historySort=Ft$1(()=>k$1(this.params().get(`historySort`),j));sortedAllocations=Ft$1(()=>(this.transaction()?.allocations??[]).toSorted(I(this.allocationSort(),O,this.i18n.language(),t=>t.matchId,`invoice-asc`)));sortedHistory=Ft$1(()=>this.history().toSorted(I(this.historySort(),j,this.i18n.language(),t=>t.id)));historyState=Ke(`loading`);cancelling=Ke(void 0);pendingMatch=Ke(void 0);pendingCancellation=Ke(void 0);model=Ke(te());matchForm=nr(this.model,t=>{an(t,()=>this.busy()||this.state()!==`ready`||this.pendingMatch()!==void 0||this.cancelling()!==void 0),gn(t.invoiceId),P(t.invoiceId,({value:e})=>this.invoices().some(a=>a.id===e())?void 0:{kind:`invoice`}),gn(t.paymentId),P(t.paymentId,({value:e})=>this.payments().some(a=>a.id===e())?void 0:{kind:`payment`}),gn(t.amount),P(t.amount,({value:e,valueOf:a})=>{let l=u$1(e(),2),m=this.payments().find(Ke=>Ke.id===a(t.paymentId));return l!==void 0&&l>0&&m!==void 0&&l<=m.availableCents?void 0:{kind:`amount`}}),gn(t.fee),P(t.fee,({value:e,valueOf:a})=>{let l=u$1(e(),2),m=u$1(a(t.amount),2);return l!==void 0&&l>=0&&m!==void 0&&l<m?void 0:{kind:`fee`}})});cancelForm=nr(Ke({reason:``}),t=>{gn(t.reason),mn(t.reason,/\S/),cn(t.reason,500),an(t,()=>this.busy()||this.pendingCancellation()!==void 0)});net=Ft$1(()=>{let t=u$1(this.model().amount,2),e=u$1(this.model().fee,2);return t===void 0||e===void 0?void 0:t-e});remaining=Ft$1(()=>{let t=this.transaction();return t?t.amountCents-t.matchedCents:0});netInvalid=Ft$1(()=>{let t=this.net();return t!==void 0&&t>this.remaining()});status=Ft$1(()=>{let t=this.transaction();return D(t?T$1(t):`unmatched`)});backQuery=H$1(q(this.route.snapshot.queryParamMap));generation=0;paymentGeneration=0;historyGeneration=0;matchKey;constructor(){PH(()=>{this.saved()&&this.result()?.nativeElement.focus()}),PH(()=>{this.cancelling()&&this.cancelReason()?.nativeElement.focus()}),Ol(()=>this.route.paramMap.pipe(U(this.destroyRef)).subscribe(()=>{this.pendingTasks.run(()=>this.load())}))}async load(){if(this.busy())return;let t=++this.generation;++this.paymentGeneration,this.state.set(`loading`),this.error.set(void 0),this.saved.set(!1),this.transaction.set(void 0),this.suggestions.set([]),this.supplierPayments.set([]),this.supplierMatches.set([]),this.suggestionState.set(`loading`),this.payments.set([]),this.paymentState.set(`idle`),this.cancelling.set(void 0),this.pendingMatch.set(void 0),this.pendingCancellation.set(void 0),this.matchKey=void 0,this.matchForm().reset(te()),this.cancelForm().reset({reason:``});let e=this.route.snapshot.paramMap.get(`transactionId`);if(!wu.is(a)(e)){this.error.set(`bank.transaction_not_found`),this.state.set(`error`);return}try{let a=await this.api.get(e);if(t!==this.generation||this.destroyRef.destroyed)return;if(!a.success){this.error.set(a.code),this.state.set(`error`);return}this.transaction.set(a.result),this.resetMatch(),this.state.set(`ready`);let l=[this.loadHistory(),this.loadInvoices(),this.loadSuggestions(e)];a.result.amountCents<0&&l.push(this.loadSupplierPayments(e)),await Promise.all(l)}catch{t===this.generation&&!this.destroyRef.destroyed&&(this.error.set(`bank.error`),this.state.set(`error`))}}async loadSuggestions(t){try{let e=await this.api.suggestions(t);if(this.transaction()?.id!==t||this.destroyRef.destroyed)return;if(!e.success){this.suggestionState.set(`error`);return}this.suggestions.set(e.result),this.suggestionState.set(`ready`)}catch{this.transaction()?.id===t&&!this.destroyRef.destroyed&&this.suggestionState.set(`error`)}}async loadSupplierPayments(t){let[e,a]=await Promise.all([this.api.supplierPayments(t),this.api.supplierMatches(t)]);this.transaction()?.id!==t||this.destroyRef.destroyed||(e.success&&this.supplierPayments.set(e.result),a.success&&this.supplierMatches.set(a.result))}async matchSupplier(t){let e=this.transaction();if(e===void 0||this.busy()||!await this.confirmation.request(this.i18n.t(`bankWorkspace.supplierConfirm`)))return;this.busy.set(!0);let l=Math.min(t.availableCents,-e.amountCents);try{let m=await this.api.matchSupplier(e.id,{requestId:crypto.randomUUID(),batchId:t.batchId,invoiceId:t.invoiceId,amountCents:l});m.success?(this.supplierPayments.set(m.result),await this.loadSupplierPayments(e.id),this.saved.set(!0)):this.error.set(m.code)}catch{this.error.set(`bank.error`)}finally{this.busy.set(!1)}}async unmatchSupplier(t){let e=this.transaction();if(!(e===void 0||this.busy()||!await this.confirmation.request(this.i18n.t(`bankWorkspace.supplierUnmatchConfirm`)))){this.busy.set(!0);try{let l=await this.api.unmatchSupplier(e.id,t.id,this.i18n.t(`bankWorkspace.supplierUnmatchReason`));l.success?(this.supplierPayments.set(l.result),await this.loadSupplierPayments(e.id),this.saved.set(!0)):this.error.set(l.code)}catch{this.error.set(`bank.error`)}finally{this.busy.set(!1)}}}async applySuggestion(t){await this.selectInvoice(t.invoiceId),this.payments().some(e=>e.id===t.paymentId)&&this.model.update(e=>m(l({},e),{invoiceId:t.invoiceId,paymentId:t.paymentId,amount:m$1(t.amountCents,2),fee:`0.00`}))}async loadInvoices(){if(!this.authentication.can(`bank.reconcile`)||!this.authentication.can(`invoice.read`))return;let t=this.generation;this.invoicesFailed.set(!1),this.invoicesLoading.set(!0);try{let e=await this.invoicesApi.list();t===this.generation&&!this.destroyRef.destroyed&&this.invoices.set(e.filter(a=>a.status===`issued`||a.status===`paid`))}catch{t===this.generation&&!this.destroyRef.destroyed&&this.invoicesFailed.set(!0)}finally{t===this.generation&&!this.destroyRef.destroyed&&this.invoicesLoading.set(!1)}}async refresh(){this.pendingMatch()||this.pendingCancellation()||await this.canDeactivate()&&await this.load()}async selectInvoice(t){if(this.busy()||this.pendingMatch())return;let e=++this.paymentGeneration;if(this.model.update(a=>m(l({},a),{invoiceId:t,paymentId:``})),this.payments.set([]),this.paymentState.set(`idle`),!!this.invoices().some(a=>a.id===t)){this.paymentState.set(`loading`);try{let a=await this.api.payments(t);if(e!==this.paymentGeneration||this.destroyRef.destroyed)return;if(!a.success){this.paymentState.set(`error`);return}this.payments.set(a.result.filter(l=>l.availableCents>0)),this.paymentState.set(`ready`)}catch{e===this.paymentGeneration&&!this.destroyRef.destroyed&&this.paymentState.set(`error`)}}}invalid(t){return this.matchForm[t]().touched()&&this.matchForm[t]().invalid()}reconcile(t){if(t.preventDefault(),!(this.busy()||this.cancelling()||this.paymentState()===`loading`||this.state()!==`ready`)){if(this.pendingMatch()){this.sendMatch(!1);return}this.matchForm().markAsTouched();for(let e of[`invoiceId`,`paymentId`,`amount`,`fee`])if(this.matchForm[e]().invalid()){this.matchForm[e]().focusBoundControl();return}if(this.netInvalid()){this.matchForm.amount().focusBoundControl();return}or(this.matchForm,async()=>{let e=u$1(this.model().amount,2),a=u$1(this.model().fee,2);if(e===void 0||a===void 0)return;let l$2={paymentId:this.model().paymentId,amountCents:e,feeCents:a},m$2=JSON.stringify(l$2);this.matchKey?.fingerprint!==m$2&&(this.matchKey={fingerprint:m$2,id:crypto.randomUUID()}),this.pendingMatch.set(m(l({},l$2),{requestId:this.matchKey.id})),await this.sendMatch()})}}async sendMatch(t=!0){let e=this.transaction(),a=this.pendingMatch();if(!(!e||!a||this.busy())){this.busy.set(!0),this.error.set(void 0),this.saved.set(!1);try{if(t&&!await this.confirmation.request(this.i18n.t(`bankWorkspace.confirmMatch`))){this.pendingMatch.set(void 0);return}let l=await this.api.match(e.id,a);if(this.destroyRef.destroyed)return;if(!l.success){this.error.set(l.code),l.code!==`bank.error`&&this.pendingMatch.set(void 0);return}this.pendingMatch.set(void 0),this.matchKey=void 0,await this.complete(e.id,l.result)}catch{this.destroyRef.destroyed||this.error.set(`bank.error`)}finally{this.destroyRef.destroyed||this.busy.set(!1)}}}async selectCancellation(t){if(this.busy()||this.pendingMatch()||this.pendingCancellation())return;let e=this.cancelForm().dirty()||this.matchForm().dirty(),a=this.document.activeElement;this.busy.set(!0);try{if(e&&!await this.confirmation.request(this.i18n.t(`bankWorkspace.unsaved`))){this.destroyRef.destroyed||Ol(()=>{!this.busy()&&a instanceof HTMLElement&&a.isConnected&&a.focus()},{injector:this.injector});return}if(this.destroyRef.destroyed||!this.transaction()?.allocations.some(l=>l.matchId===t.matchId))return;this.resetMatch(),this.cancelling.set(t),this.cancelForm().reset({reason:``})}finally{this.destroyRef.destroyed||this.busy.set(!1)}}async closeCancellation(){this.busy()||this.pendingCancellation()||this.cancelForm().dirty()&&!await this.confirmation.request(this.i18n.t(`bankWorkspace.unsaved`))||(this.cancelling.set(void 0),this.cancelForm().reset({reason:``}))}cancelAllocation(t){if(t.preventDefault(),!this.busy()){if(this.pendingCancellation()){this.sendCancellation(!1);return}if(this.cancelForm().markAsTouched(),this.cancelForm.reason().invalid()){this.cancelForm.reason().focusBoundControl();return}or(this.cancelForm,async()=>{let e=this.transaction(),a=this.cancelling(),l=this.cancelForm().value().reason.trim();!e||!a||(this.pendingCancellation.set({matchId:a.matchId,reason:l}),await this.sendCancellation())})}}async sendCancellation(t=!0){let e=this.transaction(),a=this.pendingCancellation();if(!(!e||!a||this.busy())){this.busy.set(!0),this.saved.set(!1),this.error.set(void 0);try{if(t&&!await this.confirmation.request(this.i18n.t(`bankWorkspace.confirmUnmatch`))){this.pendingCancellation.set(void 0);return}let l=await this.api.unmatch(e.id,a.matchId,a.reason);if(this.destroyRef.destroyed)return;if(!l.success){this.error.set(l.code),l.code!==`bank.error`&&this.pendingCancellation.set(void 0);return}this.pendingCancellation.set(void 0),this.cancelling.set(void 0),this.cancelForm().reset({reason:``}),await this.complete(e.id,l.result)}catch{this.destroyRef.destroyed||this.error.set(`bank.error`)}finally{this.destroyRef.destroyed||this.busy.set(!1)}}}async complete(t,e){let a=e.find(l=>l.id===t);if(a)this.transaction.set(a);else{let l=await this.api.get(t);if(this.destroyRef.destroyed)return;if(!l.success){this.error.set(l.code),this.state.set(`error`);return}this.transaction.set(l.result)}this.resetMatch(),this.saved.set(!0),await this.loadHistory()}resetMatch(){++this.paymentGeneration,this.payments.set([]),this.paymentState.set(`idle`),this.matchForm().reset(m(l({},te()),{amount:m$1(Math.max(0,this.remaining()),2,`.`)}))}async loadHistory(){let t=this.transaction()?.id;if(!t)return;let e=++this.historyGeneration;this.history.set([]),this.historyState.set(`loading`);try{let a=await this.api.history(t);if(e!==this.historyGeneration||this.destroyRef.destroyed||this.transaction()?.id!==t)return;if(!a.success){this.historyState.set(`error`);return}this.history.set(a.result),this.historyState.set(`ready`)}catch{e===this.historyGeneration&&!this.destroyRef.destroyed&&this.historyState.set(`error`)}}ledgerQuery(){let t=this.transaction();return{from:t?.bookedOn,to:t?.bookedOn,q:t?.reference}}sortDirection(t,e){return x(t===`allocation`?this.allocationSort():this.historySort(),e)}sortBy(t,e){let l=L$1(t===`allocation`?this.allocationSort():this.historySort(),e);this.router.navigate([],{relativeTo:this.route,queryParams:{[t===`allocation`?`allocationSort`:`historySort`]:l===`none`?null:l},queryParamsHandling:`merge`,replaceUrl:!0})}money(t){let e=this.transaction()?.currency??`EUR`;return Ne(t,this.i18n.language(),e)}dirty(){return this.matchForm().dirty()||this.cancelForm().dirty()||this.pendingMatch()!==void 0||this.pendingCancellation()!==void 0}async canDeactivate(){return!this.busy()&&(!this.dirty()||await this.confirmation.request(this.i18n.t(`bankWorkspace.unsaved`)))}beforeUnload(t){(this.busy()||this.dirty())&&t.preventDefault()}static ɵfac=function(e){return new(e||n)};static ɵcmp=Fb({type:n,selectors:[[`app-bank-reconciliation`]],viewQuery:function(e,a){e&1&&Ky(a.result,je,5)(a.cancelReason,Je,5),e&2&&e_(2)},hostAttrs:[1,`page-container`],hostBindings:function(e,a){e&1&&Gy(`beforeunload`,function(m){return a.beforeUnload(m)},Zw)},decls:13,vars:7,consts:[[`result`,``],[`invoice`,``],[`cancelReason`,``],[`aria-labelledby`,`match-title`,1,`detail-page`,`wide-page`],[`layout`,`stacked`],[`pageBack`,``,`routerLink`,`/banking`,3,`queryParams`],[`id`,`match-title`],[`tabindex`,`-1`,`role`,`status`],[`role`,`status`],[`appNotice`,``,`variant`,`success`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`],[`appButton`,``,`type`,`button`,3,`click`],[1,`context`],[`aria-labelledby`,`transaction-title`,1,`ds-panel`,`task-panel`],[`id`,`transaction-title`],[1,`pre-wrap`],[`appBadge`,``],[1,`muted`],[`routerLink`,`/banking/ledger`,3,`queryParams`],[1,`bank-section`],[`aria-labelledby`,`supplier-match-title`,1,`bank-section`],[`aria-labelledby`,`allocation-title`,1,`bank-section`],[`aria-labelledby`,`allocations-title`,1,`bank-section`],[`id`,`allocations-title`],[`appDataTable`,``,`tableLayout`,`fluid`,1,`wide-table`],[`novalidate`,``,1,`ds-panel`,`task-panel`,`task-form`],[`aria-labelledby`,`history-title`,1,`bank-section`],[`id`,`history-title`],[`class`,`bank-section`,`aria-labelledby`,`supplier-match-title`,4,`appCan`],[`id`,`supplier-match-title`],[1,`suggestions`],[`appDataTable`,``,`tableLayout`,`fluid`],[`scope`,`col`],[`scope`,`row`],[3,`routerLink`],[`appButton`,``,`type`,`button`,3,`disabled`],[`class`,`bank-section`,`aria-labelledby`,`allocation-title`,4,`appCan`],[`id`,`allocation-title`],[`aria-labelledby`,`bank-suggestions-title`,1,`suggestions`],[`novalidate`,``,1,`task-form`,3,`submit`],[1,`field`],[`appFilterSelect`,``,`aria-describedby`,`invoice-error`,1,`select`,3,`change`,`formField`],[`value`,``],[3,`value`],[`id`,`invoice-error`,1,`field-error`],[`appFilterSelect`,``,`aria-describedby`,`payment-error`,1,`select`,3,`formField`],[`id`,`payment-error`,1,`field-error`],[`inputmode`,`decimal`,`aria-describedby`,`amount-error net-error`,1,`input`,3,`formField`],[`id`,`amount-error`,1,`field-error`],[`inputmode`,`decimal`,`aria-describedby`,`fee-error fee-hint`,1,`input`,3,`formField`],[`id`,`fee-error`,1,`field-error`],[`id`,`fee-hint`],[`id`,`net-error`,1,`field-error`],[`appNotice`,``,`variant`,`warning`],[`appButton`,``,`type`,`submit`,`variant`,`primary`,3,`disabled`],[`id`,`bank-suggestions-title`],[`appButton`,``,`type`,`button`,`variant`,`ghost`,3,`click`],[`scope`,`col`,3,`amount`],[`appTableSort`,``,3,`click`,`label`,`direction`],[1,`amount`],[`appButton`,``,`type`,`button`,`variant`,`warning`,3,`disabled`,`click`,4,`appCan`],[`appButton`,``,`type`,`button`,`variant`,`warning`,3,`click`,`disabled`],[`class`,`ds-panel task-panel task-form`,`novalidate`,``,3,`submit`,4,`appCan`],[`novalidate`,``,1,`ds-panel`,`task-panel`,`task-form`,3,`submit`],[`rows`,`3`,`aria-describedby`,`reason-error`,1,`input`,3,`formField`],[`id`,`reason-error`,1,`field-error`],[1,`actions`],[`appButton`,``,`type`,`submit`,`variant`,`warning`,3,`disabled`]],template:function(e,a){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()(),OS(8,tt,4,1,`div`,7),OS(9,it,3,2),OS(10,at,2,1,`p`,8)(11,ot,3,1,`div`)(12,Zt,56,27),fd()),e&2){let l,m;ZC(2),Fy(`queryParams`,a.backQuery),ZC(),nv(a.i18n.t(`bankWorkspace.back`)),ZC(2),nv(a.i18n.t(a.titleLabel())),ZC(2),nv(a.i18n.t(`bank.noTransfer`)),ZC(),kS(a.saved()?8:-1),ZC(),kS((l=a.error())?9:-1,l),ZC(),kS(a.state()===`loading`?10:a.state()===`error`?11:(m=a.transaction())?12:-1,m)}},dependencies:[Ae,l$1,d,N,c,yn,k,g$1,Dt$1,u,p],styles:[`.bank-page[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);padding:var(--%NS%page-header-y) var(--%NS%page-x);min-inline-size:0}.bank-section[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);min-inline-size:0}.actions[_ngcontent-%COMP%], .chips[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:var(--%NS%space-3);align-items:end}.field[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-2);min-inline-size:0}.muted[_ngcontent-%COMP%], small[_ngcontent-%COMP%]{color:var(--%NS%color-muted)}small[_ngcontent-%COMP%]{display:block;font-size:var(--%NS%text-sm);font-weight:400}.amount[_ngcontent-%COMP%]{text-align:end;white-space:nowrap;font-variant-numeric:tabular-nums}.field-error[_ngcontent-%COMP%]{color:var(--%NS%color-danger);font-size:var(--%NS%text-sm)}.task-form[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4)}.task-panel[_ngcontent-%COMP%]{padding:var(--%NS%space-5);display:grid;gap:var(--%NS%space-4);min-inline-size:0}.context[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(16rem,1fr) minmax(0,2fr);gap:var(--%NS%space-6);align-items:start}dl[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-3)}dt[_ngcontent-%COMP%]{color:var(--%NS%color-muted);font-size:var(--%NS%text-sm)}dd[_ngcontent-%COMP%]{margin:0;overflow-wrap:anywhere}input[_ngcontent-%COMP%], select[_ngcontent-%COMP%], textarea[_ngcontent-%COMP%]{min-inline-size:0;max-inline-size:100%}.pre-wrap[_ngcontent-%COMP%]{white-space:pre-wrap;overflow-wrap:anywhere}button[_ngcontent-%COMP%]{max-inline-size:100%;white-space:normal}[tabindex="-1"][_ngcontent-%COMP%]:focus{outline:2px solid var(--%NS%color-button-primary-highlight);outline-offset:var(--%NS%space-1)}@media(max-width:60rem){.context[_ngcontent-%COMP%]{grid-template-columns:minmax(0,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{Ue as BankReconciliation};
@@ -1 +0,0 @@
1
- import{t as l}from"./chunk-BwCtja5l.js";import{wi as wu}from"./chunk-BAe_07VM.js";import{$r as T$1}from"./chunk-D5qmP2Wu.js";import{t}from"./chunk-CKxU-VJf.js";function f(t,e){let r=t.get(`sort`);for(let a of e){if(r===`${a}-asc`)return`${a}-asc`;if(r===`${a}-desc`)return`${a}-desc`}return`none`}function P(t,e){return t===`${e}-asc`?`ascending`:t===`${e}-desc`?`descending`:`none`}function h(t$1,e){return t(t$1,`${e}-asc`,`${e}-desc`)}function V(t,e){return t.matches?.find(r=>r.key===e)?.indices??[]}var y=t=>{let e=t.get(`from`),r=t.get(`to`);return{from:wu.is(T$1)(e)?e:``,to:wu.is(T$1)(r)?r:``}};var S=[`number`,`client`,`status`,`financial`,`due`,`total`,`remaining`];var T=t=>f(t,S);var K=(t,e,r,a,c)=>{let n=r===`none`?`due-asc`:r,o;if(n.startsWith(`due-`))o=Date.parse(t.dueDate)-Date.parse(e.dueDate);else if(n.startsWith(`total-`))o=t.totalCents-e.totalCents;else if(n.startsWith(`remaining-`))o=i(t)-i(e);else{let d=s=>n.startsWith(`client-`)?s.clientDisplayName:n.startsWith(`status-`)?c(x(s.status)):n.startsWith(`financial-`)?c(D(s)):s.invoiceNumber??s.title;o=a.compare(d(t),d(e))}return(n.endsWith(`-desc`)?-o:o)||t.id.localeCompare(e.id)};var w=t=>l({q:(t.get(`q`)??``).slice(0,160),status:t.get(`status`)??``,client:t.get(`client`)??``,due:t.get(`due`)??``,credit:t.get(`credit`)??``},y(t));var g=t=>t===`paid`?`issued`:t;var x=t=>`backOffice.invoice.status.${g(t)}`;var R=t=>`payment.${t}`;var i=t=>t.status===`draft`||t.status===`void`?0:Math.max(0,t.totalCents-t.creditedCents-t.recordedPaidCents);var I=t=>t.payments.reduce((e,r)=>e+(r.cancelledAt===null?r.amountCents:0),0);var v=t=>t.status===`draft`||t.status===`void`?0:Math.max(0,t.currentRevision.totalCents-t.creditedCents-I(t));var D=t=>t.status===`draft`||t.status===`void`?`billingWorkspace.notApplicable`:t.creditedCents>0?`billingWorkspace.credited`:t.recordedPaidCents>=t.totalCents?`billingWorkspace.paid`:t.recordedPaidCents>0?`billingWorkspace.partial`:`billingWorkspace.unpaid`;var A=(t,e)=>t.status===`issued`&&t.creditedCents===0&&i(t)>0&&t.dueDate<e;var q=(t,e,r)=>!(e.status&&g(t.status)!==e.status||e.client&&t.clientId!==e.client||e.from&&t.dueDate<e.from||e.to&&t.dueDate>e.to||e.credit===`with`&&t.creditedCents===0||e.credit===`without`&&t.creditedCents>0||e.due&&(t.status!==`issued`||i(t)===0)||e.due===`overdue`&&t.dueDate>=r||e.due===`upcoming`&&t.dueDate<r);var C=new Intl.DateTimeFormat(`en-CA`,{timeZone:`Europe/Paris`,year:`numeric`,month:`2-digit`,day:`2-digit`});var E=t=>C.format(new Date(t));var N=()=>C.format(new Date);export{v as _,K as a,y as b,R as c,V as d,f,q as g,i as h,I as i,S as l,h as m,D as n,N as o,g as p,E as r,P as s,A as t,T as u,w as v,x as y};
@@ -1 +0,0 @@
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,Dr as t_,Ir as wp,It as Us,Jr as zS,K as Ke,Nr as vd,Rn as jS,Sr as rv,Tn as fd,V as Iy,Wn as kS,Wr as y_,X as LS,ft as Ol,ht as PS,lt as OS,mr as qT,o as A,ot as OD,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{m as Ie,r as N}from"./main-F7D3L737.js";import"./chunk-BAe_07VM.js";import{n as m$1}from"./chunk-Dv9sNWWK.js";import{in as Is,uu as wy,yl as ti,z as Cs}from"./chunk-D5qmP2Wu.js";import"./chunk-BzUDWIzm.js";import"./chunk-CczD0yXn.js";import"./chunk-CReShp-B.js";import"./chunk-DsaNNeZe.js";import{t as l$1}from"./chunk-BVszSMJC.js";import{d as nr,f as or,h as yn,l as ln,n as an,o as gn,s as hn,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}from"./chunk-niXXbm7H.js";import{t as a}from"./chunk-1ErswIDf.js";import{t as D}from"./chunk-CXHCUTDs.js";import{a as u,i as m$2}from"./chunk-Dx1NwQCW.js";var I=class i{http=g(OD);async get(){return m$1(this.http.get(`/api/company`),ti,wy,`company.error`)}async update(t){return m$1(this.http.put(`/api/company`,t),ti,wy,`company.error`)}async initializeAccounting(t){return m$1(this.http.post(`/api/company/accounting/initialize`,t),ti,wy,`company.error`)}async listExchangeRates(){return m$1(this.http.get(`/api/company/exchange-rates`),Cs,wy,`company.error`)}async setExchangeRate(t){return m$1(this.http.put(`/api/company/exchange-rates`,t),Is,wy,`company.error`)}async importExchangeRates(){return m$1(this.http.post(`/api/company/exchange-rates/ecb`,null),Cs,wy,`company.error`)}static ɵfac=function(e){return new(e||i)};static ɵprov=A({token:i,factory:i.ɵfac,providedIn:`root`})};var me=(i,t)=>t.id;function ue(i,t){if(i&1&&(Us(0,`p`,4),y_(1),fd()),i&2){let e=qS();ZC(),nv(e.i18n.t(`company.loading`))}}function ge(i,t){if(i&1){let e=zS();Us(0,`div`,5)(1,`p`,6),y_(2),fd(),Us(3,`button`,7),Gy(`click`,function(){Ip(e);return wp(qS().load())}),y_(4),fd()()}if(i&2){let e=qS();ZC(2),nv(e.i18n.t(e.error())),ZC(2),vd(` `,e.i18n.t(`backOffice.dashboard.retry`),` `)}}function ye(i,t){if(i&1&&(Us(0,`p`,8),y_(1),fd()),i&2){let e=qS(2);ZC(),nv(e.i18n.t(`company.saved`))}}function xe(i,t){if(i&1&&(Us(0,`p`,6),y_(1),fd()),i&2){let e=qS(2);ZC(),nv(e.i18n.t(t))}}function he(i,t){if(i&1){let e=zS();Us(0,`app-hint`,21,0)(2,`label`)(3,`input`,35),Gy(`change`,function(a){let m=Ip(e).$implicit;return wp(qS(2).setModule(m,a))}),fd(),y_(4),fd()()}if(i&2){let e=t.$implicit,l=t_(1),a=qS(2);Fy(`text`,a.moduleHint(e)),ZC(3),Fy(`checked`,a.moduleEnabled(e)),ky(`aria-describedby`,l.id),ZC(),nv(a.moduleLabel(e))}}function fe(i,t){if(i&1&&(Us(0,`button`,36),y_(1),fd()),i&2){let e=qS(2);Fy(`disabled`,e.saving()),ZC(),vd(` `,e.i18n.t(`company.save`),` `)}}function _e(i,t){if(i&1){let e=zS();Us(0,`button`,37),Gy(`click`,function(){Ip(e);return wp(qS(3).initializeAccounting())}),y_(1),fd()}if(i&2){let e=qS(3);Fy(`disabled`,e.initializing()),ZC(),vd(` `,e.i18n.t(`company.initializeAccounting`),` `)}}function Ce(i,t){i&1&&Iy(0,_e,2,2,`button`,31),i&2&&Fy(`appCan`,`company.update`)}function ve(i,t){if(i&1){let e=zS();Us(0,`button`,37),Gy(`click`,function(){Ip(e);return wp(qS(2).importExchangeRates())}),y_(1),fd()}if(i&2){let e=qS(2);Fy(`disabled`,e.exchangeRateBusy()),ZC(),vd(` `,e.i18n.t(`company.exchangeRateImport`),` `)}}function be(i,t){if(i&1&&(Us(0,`p`,6),y_(1),fd()),i&2){let e=qS(2);ZC(),nv(e.i18n.t(t))}}function Se(i,t){if(i&1){let e=zS();Us(0,`form`,38),Gy(`submit`,function(a){Ip(e);return wp(qS(2).saveExchangeRate(a))}),Us(1,`label`,39),y_(2),Us(3,`input`,40),Gy(`input`,function(a){Ip(e);return wp(qS(2).setExchangeRateField(`date`,a))}),fd()(),Us(4,`label`,39),y_(5),Us(6,`input`,41),Gy(`input`,function(a){Ip(e);return wp(qS(2).setExchangeRateField(`currency`,a))}),fd()(),Us(7,`label`,39),y_(8),Us(9,`input`,42),Gy(`input`,function(a){Ip(e);return wp(qS(2).setExchangeRateField(`value`,a))}),fd()(),Us(10,`button`,36),y_(11),fd()()}if(i&2){let e=qS(2);ZC(2),vd(` `,e.i18n.t(`company.exchangeRateDate`),` `),ZC(),Fy(`value`,e.exchangeRateDate()),ZC(2),vd(` `,e.i18n.t(`company.exchangeRateCurrency`),` `),ZC(),Fy(`value`,e.exchangeRateCurrency()),ZC(2),vd(` `,e.i18n.t(`company.exchangeRateValue`),` `),ZC(),Fy(`value`,e.exchangeRateValue()),ZC(),Fy(`disabled`,e.exchangeRateBusy()),ZC(),vd(` `,e.i18n.t(`company.exchangeRateOverride`),` `)}}function Re(i,t){if(i&1&&(Us(0,`tr`)(1,`td`),y_(2),fd(),Us(3,`td`),y_(4),fd(),Us(5,`td`,43),y_(6),fd(),Us(7,`td`),y_(8),fd()()),i&2){let e=t.$implicit,l=qS(2);ZC(2),nv(e.rateDate),ZC(2),rv(``,e.functionalCurrency,`/`,e.foreignCurrency),ZC(2),nv(l.rateValue(e)),ZC(2),nv(l.rateSource(e))}}function Ee(i,t){if(i&1&&(Us(0,`tr`)(1,`td`,44),y_(2),fd()()),i&2){let e=qS(2);ZC(2),nv(e.i18n.t(`company.exchangeRateEmpty`))}}function Me(i,t){if(i&1){let e=zS();OS(0,ye,2,1,`p`,8),OS(1,xe,2,1,`p`,6),Us(2,`form`,9),Gy(`submit`,function(a){Ip(e);return wp(qS().save(a))}),Us(3,`fieldset`,10)(4,`legend`),y_(5),fd(),Us(6,`label`,11),y_(7),Py(8,`input`,12),fd(),Us(9,`label`,13),y_(10),Py(11,`input`,14),qT(),fd(),Us(12,`p`,15),y_(13),fd()(),Us(14,`fieldset`,10)(15,`legend`),y_(16),fd(),Us(17,`label`,16),y_(18),Py(19,`input`,17),qT(),fd(),Us(20,`label`,18),y_(21),Py(22,`input`,19),qT(),fd(),Us(23,`p`,15),y_(24),fd()(),Us(25,`fieldset`,10)(26,`legend`),y_(27),fd(),Us(28,`div`,20),LS(29,he,5,4,`app-hint`,21,PS),fd()(),Us(31,`fieldset`,10)(32,`legend`),y_(33),fd(),Us(34,`label`,22),y_(35),Py(36,`input`,23),qT(),fd(),Us(37,`p`,15),y_(38),fd()(),Us(39,`div`,24),Iy(40,fe,2,2,`button`,25),OS(41,Ce,1,1,`button`,26),fd()(),Us(42,`section`,27)(43,`div`,28)(44,`div`)(45,`h2`,29),y_(46),fd(),Us(47,`p`,30),y_(48),fd()(),Iy(49,ve,2,2,`button`,31),fd(),OS(50,be,2,1,`p`,6),Iy(51,Se,12,8,`form`,32),Us(52,`div`,33)(53,`table`)(54,`thead`)(55,`tr`)(56,`th`,34),y_(57),fd(),Us(58,`th`,34),y_(59),fd(),Us(60,`th`,34),y_(61),fd(),Us(62,`th`,34),y_(63),fd()()(),Us(64,`tbody`),LS(65,Re,9,5,`tr`,null,me,!1,Ee,3,1,`tr`),fd()()()()}if(i&2){let e,l,a=qS();kS(a.saved()?0:-1),ZC(),kS((e=a.error())?1:-1,e),ZC(4),nv(a.i18n.t(`company.legal`)),ZC(2),nv(a.i18n.t(`company.jurisdiction`)),ZC(),Fy(`value`,a.model().jurisdiction),ZC(2),nv(a.i18n.t(`company.functionalCurrency`)),ZC(),Fy(`formField`,a.settingsForm.functionalCurrency),ZT(),ZC(2),nv(a.accountingState()),ZC(3),nv(a.i18n.t(`company.fiscalYear`)),ZC(2),nv(a.i18n.t(`company.fiscalMonth`)),ZC(),Fy(`formField`,a.settingsForm.fiscalYearStartMonth),ZT(),ZC(2),nv(a.i18n.t(`company.fiscalDay`)),ZC(),Fy(`formField`,a.settingsForm.fiscalYearStartDay),ZT(),ZC(2),nv(a.i18n.t(`company.fiscalDuration`)),ZC(3),nv(a.i18n.t(`company.modules`)),ZC(2),jS(a.modules),ZC(4),nv(a.i18n.t(`company.retention`)),ZC(2),nv(a.i18n.t(`company.retentionYears`)),ZC(),Fy(`formField`,a.settingsForm.retentionYears),ZT(),ZC(2),nv(a.i18n.t(`company.retentionExplanation`)),ZC(2),Fy(`appCan`,`company.update`),ZC(),kS(a.currencyLocked()?-1:41),ZC(5),nv(a.i18n.t(`company.exchangeRates`)),ZC(2),nv(a.i18n.t(`company.exchangeRatesHint`)),ZC(),Fy(`appCan`,`company.update`),ZC(),kS((l=a.exchangeRateError())?50:-1,l),ZC(),Fy(`appCan`,`company.update`),ZC(6),nv(a.i18n.t(`company.exchangeRateDate`)),ZC(2),nv(a.i18n.t(`company.exchangeRatePair`)),ZC(2),nv(a.i18n.t(`company.exchangeRateValue`)),ZC(2),nv(a.i18n.t(`company.exchangeRateSource`)),ZC(2),jS(a.exchangeRates())}}var Pe=[`sales`,`purchasing`,`banking`,`accounting`,`tax`,`ai`,`demonstration`];var Ve=()=>({jurisdiction:`FR`,functionalCurrency:`EUR`,fiscalYearStartMonth:1,fiscalYearStartDay:1,enabledModules:[],retentionYears:10});var se=class i{i18n=g(Ie);api=g(I);confirmation=g(P);modules=Pe;state=Ke(`loading`);settings=Ke(void 0);model=Ke(Ve());settingsForm=nr(this.model,t=>{gn(t.functionalCurrency),mn(t.functionalCurrency,/^[A-Z]{3}$/),an(t.functionalCurrency,()=>this.currencyLocked()),hn(t.fiscalYearStartMonth,1),ln(t.fiscalYearStartMonth,12),hn(t.fiscalYearStartDay,1),ln(t.fiscalYearStartDay,31),hn(t.retentionYears,10)});saving=Ke(!1);initializing=Ke(!1);exchangeRates=Ke([]);exchangeRateDate=Ke(``);exchangeRateCurrency=Ke(``);exchangeRateValue=Ke(``);exchangeRateBusy=Ke(!1);exchangeRateError=Ke(void 0);saved=Ke(!1);error=Ke(void 0);constructor(){Ol(()=>{this.load()})}async canDeactivate(){return this.saving()||this.initializing()||this.exchangeRateBusy()?!1:this.settingsForm().dirty()?this.confirmation.request(this.i18n.t(`company.unsavedChanges`)):!0}preventUnsavedUnload(t){(this.saving()||this.initializing()||this.exchangeRateBusy()||this.settingsForm().dirty())&&t.preventDefault()}moduleEnabled(t){return this.model().enabledModules.includes(t)}setModule(t,e){if(!(e.currentTarget instanceof HTMLInputElement))return;let l$2=e.currentTarget.checked;this.model.update(a=>m(l({},a),{enabledModules:l$2?[...a.enabledModules,t]:a.enabledModules.filter(m=>m!==t)}))}moduleLabel(t){return this.i18n.t(`company.module.${t}`)}moduleHint(t){return this.i18n.t(`company.module.${t}.hint`)}currencyLocked(){return this.settings()?.accountingInitialized===!0}accountingState(){return this.i18n.t(this.currencyLocked()?`company.accountingInitialized`:`company.accountingNotInitialized`)}async load(){this.state.set(`loading`),this.error.set(void 0);let t=await this.api.get();if(!t.success){this.error.set(t.code),this.state.set(`error`);return}this.apply(t.result),this.state.set(`ready`),await this.loadExchangeRates()}save(t){if(t.preventDefault(),this.saving()||this.settingsForm().invalid()){this.settingsForm().markAsTouched();return}let e=this.settings();e&&or(this.settingsForm,async()=>{this.saving.set(!0),this.saved.set(!1),this.error.set(void 0);try{let l$3=await this.api.update(m(l({},this.model()),{expectedVersion:e.version}));if(!l$3.success){this.error.set(l$3.code);return}this.apply(l$3.result),this.saved.set(!0)}catch{this.error.set(`company.error`)}finally{this.saving.set(!1)}})}async initializeAccounting(){let t=this.settings();if(!(!t||t.accountingInitialized||this.initializing())&&await this.confirmation.request(this.i18n.t(`company.initializeConfirm`))){this.initializing.set(!0),this.error.set(void 0);try{let e=await this.api.initializeAccounting({functionalCurrency:this.model().functionalCurrency,expectedVersion:t.version});if(!e.success){this.error.set(e.code);return}this.apply(e.result),this.saved.set(!0)}catch{this.error.set(`company.error`)}finally{this.initializing.set(!1)}}}rateValue(t){return m$2(t.foreignUnitsPerFunctionalUnitNanos,9).replace(/\.?0+$/,``)}rateSource(t){return this.i18n.t(t.source===`ecb`?`company.exchangeRateEcb`:`company.exchangeRateManual`)}setExchangeRateField(t,e){e.currentTarget instanceof HTMLInputElement&&(t===`date`&&this.exchangeRateDate.set(e.currentTarget.value),t===`currency`&&this.exchangeRateCurrency.set(e.currentTarget.value.toUpperCase()),t===`value`&&this.exchangeRateValue.set(e.currentTarget.value))}async saveExchangeRate(t){t.preventDefault();let e=u(this.exchangeRateValue(),9);if(this.exchangeRateBusy()||!/^\d{4}-\d{2}-\d{2}$/.test(this.exchangeRateDate())||!/^[A-Z]{3}$/.test(this.exchangeRateCurrency())||e===void 0||e===0){this.exchangeRateError.set(`company.exchangeRateInvalid`);return}this.exchangeRateBusy.set(!0),this.exchangeRateError.set(void 0);try{let l=await this.api.setExchangeRate({rateDate:this.exchangeRateDate(),foreignCurrency:this.exchangeRateCurrency(),foreignUnitsPerFunctionalUnitNanos:e});if(!l.success){this.exchangeRateError.set(l.code);return}await this.loadExchangeRates()}catch{this.exchangeRateError.set(`company.error`)}finally{this.exchangeRateBusy.set(!1)}}async importExchangeRates(){if(!this.exchangeRateBusy()){this.exchangeRateBusy.set(!0),this.exchangeRateError.set(void 0);try{let t=await this.api.importExchangeRates();if(!t.success){this.exchangeRateError.set(t.code);return}this.exchangeRates.set(t.result)}catch{this.exchangeRateError.set(`company.error`)}finally{this.exchangeRateBusy.set(!1)}}}async loadExchangeRates(){try{let t=await this.api.listExchangeRates();t.success?this.exchangeRates.set(t.result):this.exchangeRateError.set(t.code)}catch{this.exchangeRateError.set(`company.error`)}}apply(t){this.settings.set(t),this.settingsForm().reset({jurisdiction:t.jurisdiction,functionalCurrency:t.functionalCurrency,fiscalYearStartMonth:t.fiscalYearStartMonth,fiscalYearStartDay:t.fiscalYearStartDay,enabledModules:t.enabledModules,retentionYears:t.retentionYears})}static ɵfac=function(e){return new(e||i)};static ɵcmp=Fb({type:i,selectors:[[`app-company-settings`]],hostAttrs:[1,`page-container`],hostBindings:function(e,l){e&1&&Gy(`beforeunload`,function(m){return l.preventUnsavedUnload(m)},Zw)},decls:9,vars:3,consts:[[`moduleHelp`,``],[`aria-labelledby`,`company-settings-title`,1,`detail-page`,`form-page`],[`layout`,`stacked`],[`id`,`company-settings-title`],[`role`,`status`],[1,`notice-flow`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`appButton`,``,`type`,`button`,3,`click`],[`appNotice`,``,`variant`,`success`,`role`,`status`],[`novalidate`,``,3,`submit`],[1,`field-grid`,`ds-panel`],[`for`,`company-jurisdiction`,1,`field`],[`id`,`company-jurisdiction`,`type`,`text`,`readonly`,``,1,`input`,3,`value`],[`for`,`company-currency`,1,`field`],[`id`,`company-currency`,`type`,`text`,1,`input`,3,`formField`],[`appFieldHint`,``,1,`wide`],[`for`,`company-fiscal-month`,1,`field`],[`id`,`company-fiscal-month`,`type`,`number`,`step`,`1`,1,`input`,3,`formField`],[`for`,`company-fiscal-day`,1,`field`],[`id`,`company-fiscal-day`,`type`,`number`,`step`,`1`,1,`input`,3,`formField`],[1,`module-grid`,`wide`],[3,`text`],[`for`,`company-retention`,1,`field`,`wide`],[`id`,`company-retention`,`type`,`number`,`step`,`1`,1,`input`,3,`formField`],[1,`actions`,`spacer-x-2`],[`appButton`,``,`variant`,`primary`,`type`,`submit`,3,`disabled`,4,`appCan`],[`appButton`,``,`type`,`button`,3,`disabled`],[`aria-labelledby`,`exchange-rates-title`,1,`ds-panel`,`form-panel`,`exchange-rates`],[1,`section-heading`],[`id`,`exchange-rates-title`],[1,`muted`],[`appButton`,``,`type`,`button`,3,`disabled`,`click`,4,`appCan`],[`class`,`rate-form`,3,`submit`,4,`appCan`],[1,`table-scroll`],[`scope`,`col`],[`type`,`checkbox`,3,`change`,`checked`],[`appButton`,``,`variant`,`primary`,`type`,`submit`,3,`disabled`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`],[1,`rate-form`,3,`submit`],[1,`field`],[`type`,`date`,`required`,``,1,`input`,3,`input`,`value`],[`maxlength`,`3`,`pattern`,`[A-Z]{3}`,`required`,``,1,`input`,3,`input`,`value`],[`inputmode`,`decimal`,`required`,``,1,`input`,3,`input`,`value`],[1,`amount`],[`colspan`,`4`]],template:function(e,l){e&1&&(Us(0,`section`,1)(1,`app-page-header`,2)(2,`h1`,3),y_(3),fd(),Us(4,`p`),y_(5),fd()(),OS(6,ue,2,1,`p`,4)(7,ge,5,2,`div`,5)(8,Me,68,31),fd()),e&2&&(ZC(3),nv(l.i18n.t(`company.title`)),ZC(2),nv(l.i18n.t(`company.intro`)),ZC(),kS(l.state()===`loading`?6:l.state()===`error`?7:8))},dependencies:[N,l$1,a,yn,D,k,g$1],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}}form[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-5)}fieldset[_ngcontent-%COMP%]{min-inline-size:0;margin:0;padding:var(--%NS%space-5)}.module-grid[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-3);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.module-grid[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:flex;gap:var(--%NS%space-2);align-items:center}.module-grid[_ngcontent-%COMP%] app-hint[_ngcontent-%COMP%], .module-grid[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{inline-size:100%}.exchange-rates[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);margin-block-start:var(--%NS%space-4)}.section-heading[_ngcontent-%COMP%], .rate-form[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--%NS%space-4)}.section-heading[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .section-heading[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0}.rate-form[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]{flex:1 1 10rem}.table-scroll[_ngcontent-%COMP%]{max-block-size:24rem;overflow:auto}table[_ngcontent-%COMP%]{width:100%}th[_ngcontent-%COMP%]{text-align:start}thead[_ngcontent-%COMP%]{position:sticky;z-index:1;inset-block-start:0;background:var(--%NS%color-panel)}`]})};export{se as CompanySettingsPage};
@@ -1 +0,0 @@
1
- import{$t as ZC,A as Gy,At as S_,C as F_,D as Fy,Dn as g,Dr as t_,E as Ft,Gn as k_,Ir as wp,It as Us,Jr as zS,K as Ke,M as H_,Nr as vd,Rn as jS,Sr as rv,St as Qy,Tn as fd,V as Iy,Wn as kS,Wr as y_,X as LS,Xn as lv,dr as pe,ft as Ol,ht as PS,l as A_,lt as OS,mn as b_,pr as qS,qn as ky,rn as Zw,rr as nv,ut as O_,vt as Py,w as Fb,z as Ip,zn as j_}from"./chunk-BAHiFuUo.js";import{m as Ie$1,r as N,v as Dt}from"./main-F7D3L737.js";import"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import"./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"./chunk-CReShp-B.js";import{t as d}from"./chunk-CfwFJLFh.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 p}from"./chunk-BHEFFEGN.js";import"./chunk-CXHCUTDs.js";import{n as m,t as d$1}from"./chunk-cTGENC4T2.js";import"./chunk-ZBDWcE362.js";import"./chunk-CP-AnFGa2.js";import"./chunk-scbWWgLx2.js";import{r as l}from"./chunk-DpLF2wJ62.js";import{t as h}from"./chunk-DGbo0App2.js";import{t as l$1}from"./chunk-Dl4EbYnM2.js";import"./chunk-Bsy3r41y2.js";import{t as Fe$1}from"./chunk-DB6sOjsn2.js";import{n as b,t as Z}from"./chunk-CABvk97t2.js";import{i as U,n as B,r as Q,t as $}from"./chunk-CCqlW8pS2.js";import{t as f}from"./chunk-RIi7_iVg.js";import{n as V,r as b$1,t as E}from"./chunk-IzGdqlW82.js";var xe=()=>[`name`,`permissions`,`createdAt`,`expiresAt`,`lastUsedAt`,`status`];var he=o=>({count:o});var I=()=>({dateStyle:`short`,timeStyle:`short`});var Ce=(o,i)=>({count:o,total:i});var Te=(o,i)=>i.item.id;function Se(o,i){if(o&1){let e=zS();Us(0,`app-filter-choice`,19),Gy(`committed`,function(a){Ip(e);let m=qS(),ve=t_(15);return m.table.filter(a),wp(ve.close())}),fd()}if(o&2){let e=qS();Fy(`label`,e.i18n.t(`listWorkspace.searchChoices`))(`emptyLabel`,e.i18n.t(`listWorkspace.noChoices`))(`options`,e.table.filterOptions())(`value`,e.table.query().filter)(`disabled`,e.loading())}}function Ee(o,i){if(o&1){let e=zS();Us(0,`div`,12)(1,`button`,20),Gy(`click`,function(){Ip(e);let a=qS(),m=t_(13);return a.table.filter(`all`),wp(m.focus())}),fd()()}if(o&2){let e=qS();ZC(),Fy(`label`,e.table.filterSummary())(`disabled`,e.loading())}}function we(o,i){if(o&1&&(Us(0,`p`,13),y_(1),fd()),o&2){let e=qS();ZC(),nv(e.i18n.t(i))}}function Ae(o,i){if(o&1&&(Us(0,`p`,14),y_(1),fd()),o&2){let e=qS();ZC(),nv(e.i18n.t(`backOffice.apiTokens.loading`))}}function Oe(o,i){if(o&1&&(Us(0,`app-empty-state`,15)(1,`p`),y_(2),fd(),Us(3,`a`,21),y_(4),fd()()),o&2){let e=qS();Fy(`title`,e.i18n.t(`backOffice.apiTokens.empty`)),ZC(2),nv(e.i18n.t(`backOffice.apiTokens.emptyIntro`)),ZC(),Fy(`queryParams`,e.navigation.params()),ZC(),nv(e.i18n.t(`backOffice.apiTokens.create`))}}function Me(o,i){if(o&1&&(Us(0,`li`)(1,`code`,27),y_(2),fd(),Us(3,`span`),y_(4),fd()()),o&2){let e=i.$implicit,t=i.$index,a=qS().$implicit,m=qS(2);ZC(),Fy(`appSearchHighlight`,m.table.match(a,`permissions`,t)),ZC(),nv(e),ZC(2),nv(m.i18n.t(m.permissionLabel(e)))}}function Pe(o,i){if(o&1&&y_(0),o&2)vd(` `,qS(3).i18n.t(`backOffice.apiTokens.never`),` `)}function Ne(o,i){if(o&1&&(y_(0),j_(1,`localizedDate`)),o&2){qS();let e=S_(0),t=qS(2);vd(` `,H_(1,1,t.date(e.lastUsedAt),t.i18n.language(),O_(5,I)),` `)}}function Ve(o,i){if(o&1){let e=zS();Us(0,`button`,36),Gy(`click`,function(){Ip(e),qS();let a=S_(0);return wp(qS(2).revoke(a))}),y_(1),fd()}if(o&2){qS();let e=S_(0),t=qS(2);Fy(`disabled`,t.revoking()),ky(`aria-label`,t.i18n.t(`backOffice.apiTokens.revoke`)+` `+e.name),ZC(),vd(` `,t.i18n.t(`backOffice.apiTokens.revoke`),` `)}}function Ie(o,i){if(o&1&&(lv(0),Us(1,`tr`)(2,`th`,24)(3,`div`,25),Py(4,`app-entity-icon`,26),Us(5,`span`,27),y_(6),fd()()(),Us(7,`td`)(8,`button`,28),y_(9),fd(),Us(10,`div`,29)(11,`div`,30)(12,`h2`,31),y_(13),fd(),Us(14,`button`,32),y_(15),fd()(),Us(16,`ul`,33),LS(17,Me,5,3,`li`,null,PS),fd()()(),Us(19,`td`),y_(20),j_(21,`localizedDate`),fd(),Us(22,`td`),y_(23),j_(24,`localizedDate`),fd(),Us(25,`td`),OS(26,Pe,1,1)(27,Ne,2,6),fd(),Us(28,`td`)(29,`span`,34),y_(30),fd()(),Us(31,`td`),OS(32,Ve,2,3,`button`,35),fd()()),o&2){let e=i.$implicit,t=qS(2),a=b_(e.item);ZC(4),Fy(`variant`,t.statusVariant(a)),ZC(),Fy(`appSearchHighlight`,t.table.match(e,`name`)),ZC(),nv(a.name),ZC(2),Qy(`anchor-name`,`--token-permissions-`+a.id),ky(`popovertarget`,`token-permissions-`+a.id),ZC(),vd(` `,t.i18n.plural(`configurationWorkspace.permissionCount`,k_(31,he,a.permissions.length)),` `),ZC(),Qy(`position-anchor`,`--token-permissions-`+a.id),Fy(`id`,`token-permissions-`+a.id),ky(`aria-labelledby`,`token-permissions-title-`+a.id),ZC(2),Fy(`id`,`token-permissions-title-`+a.id),ZC(),rv(` `,t.i18n.t(`backOffice.apiTokens.permissions`),` — `,a.name,` `),ZC(),ky(`popovertarget`,`token-permissions-`+a.id),ZC(),vd(` `,t.i18n.t(`adminPages.closePermissions`),` `),ZC(2),jS(a.permissions),ZC(3),vd(` `,H_(21,23,t.date(a.createdAt),t.i18n.language(),O_(33,I)),` `),ZC(3),vd(` `,H_(24,27,t.date(a.expiresAt),t.i18n.language(),O_(34,I)),` `),ZC(3),kS(a.lastUsedAt===null?26:27),ZC(3),Fy(`variant`,t.statusVariant(a)),ZC(),nv(t.i18n.t(t.statusLabel(a))),ZC(2),kS(t.status(a)!==`revoked`?32:-1)}}function De(o,i){if(o&1){let e=zS();Us(0,`div`,16)(1,`table`)(2,`thead`)(3,`tr`)(4,`th`,22)(5,`button`,23),Gy(`click`,function(){Ip(e);return wp(qS().table.sort(`name`))}),fd()(),Us(6,`th`,22),y_(7),fd(),Us(8,`th`,22)(9,`button`,23),Gy(`click`,function(){Ip(e);return wp(qS().table.sort(`date`))}),fd()(),Us(10,`th`,22)(11,`button`,23),Gy(`click`,function(){Ip(e);return wp(qS().table.sort(`expires`))}),fd()(),Us(12,`th`,22)(13,`button`,23),Gy(`click`,function(){Ip(e);return wp(qS().table.sort(`used`))}),fd()(),Us(14,`th`,22),y_(15),fd(),Us(16,`th`,22),y_(17),fd()()(),Us(18,`tbody`),LS(19,Ie,33,35,`tr`,null,Te),fd()()()}if(o&2){let e=qS();ZC(4),ky(`aria-sort`,e.table.direction(`name`)),ZC(),Fy(`label`,e.i18n.t(`backOffice.apiTokens.name`))(`direction`,e.table.direction(`name`)),ZC(2),nv(e.i18n.t(`backOffice.apiTokens.permissions`)),ZC(),ky(`aria-sort`,e.table.direction(`date`)),ZC(),Fy(`label`,e.i18n.t(`backOffice.apiTokens.createdAt`))(`direction`,e.table.direction(`date`)),ZC(),ky(`aria-sort`,e.table.direction(`expires`)),ZC(),Fy(`label`,e.i18n.t(`backOffice.apiTokens.expiresAt`))(`direction`,e.table.direction(`expires`)),ZC(),ky(`aria-sort`,e.table.direction(`used`)),ZC(),Fy(`label`,e.i18n.t(`backOffice.apiTokens.lastUsedAt`))(`direction`,e.table.direction(`used`)),ZC(2),nv(e.i18n.t(`backOffice.apiTokens.status`)),ZC(2),nv(e.i18n.t(`backOffice.apiTokens.actions`)),ZC(2),jS(e.table.results())}}function Le(o,i){if(o&1&&(Us(0,`footer`,17)(1,`p`,14),y_(2),fd()()),o&2){let e=qS();ZC(2),vd(` `,e.i18n.plural(`adminPages.tokensCount`,F_(1,Ce,e.table.results().length,e.tokens().length)),` `)}}function Fe(o,i){if(o&1){let e=zS();Us(0,`button`,37),Gy(`click`,function(){Ip(e);return wp(qS().loadMore())}),y_(1),fd()}if(o&2){let e=qS();Fy(`disabled`,e.loadingMore()),ZC(),vd(` `,e.i18n.t(`backOffice.apiTokens.loadMore`),` `)}}var ye=class o{confirmation=g(P);i18n=g(Ie$1);navigation=g(b$1);api=g(V);destroyRef=g(pe);tokens=Ke([]);table=N$1(this.tokens,l);filterCount=Ft(()=>+(this.table.query().filter!==`all`));tokenExport=Ft(()=>this.table.rows().map(i=>[i.name,i.permissions.join(`, `),new Date(i.createdAt).toISOString(),new Date(i.expiresAt).toISOString(),i.lastUsedAt===null?null:new Date(i.lastUsedAt).toISOString(),this.status(i)]));nextCursor=Ke(null);loading=Ke(!0);loadingMore=Ke(!1);revoking=Ke(!1);pageError=Ke(void 0);errorOperation=Ke(`load`);errorMessage=Ft(()=>E(this.pageError(),this.errorOperation()));now=Ke(Date.now());expirationTimer;constructor(){Ol(()=>{this.load()}),this.destroyRef.onDestroy(()=>{this.expirationTimer!==void 0&&clearTimeout(this.expirationTimer)})}permissionLabel(i){return`permission.${i}`}async revoke(i){if(this.revoking()||!await this.confirmation.request(this.i18n.t(`backOffice.apiTokens.revokeConfirmation`)))return;this.revoking.set(!0),this.pageError.set(void 0);let e=await this.api.revoke(i.id);if(this.revoking.set(!1),!e.success){this.errorOperation.set(`revoke`),this.pageError.set(e.code);return}this.tokens.update(t=>t.map(a=>a.id===e.result.id?e.result:a)),this.scheduleExpiration()}status(i){return i.revokedAt!==null?`revoked`:i.expiresAt<=this.now()?`expired`:`active`}statusLabel(i){return`backOffice.apiTokens.status.${this.status(i)}`}statusVariant(i){let e=this.status(i);return e===`active`?`success`:e===`expired`?`warning`:`danger`}date(i){return new Date(i)}async loadMore(){let i=this.nextCursor();if(!(i===null||this.loadingMore())){this.loadingMore.set(!0),this.pageError.set(void 0);try{let e=await this.api.list(i);this.appendMissingTokens(e.items),this.nextCursor.set(e.nextCursor),this.scheduleExpiration()}catch{this.errorOperation.set(`load`),this.pageError.set(`api_token.error`)}finally{this.loadingMore.set(!1)}}}canDeactivate(){return!this.revoking()}beforeUnload(i){this.revoking()&&i.preventDefault()}async load(){try{let i=await this.api.list();this.appendMissingTokens(i.items),this.nextCursor.set(i.nextCursor),this.scheduleExpiration()}catch{this.errorOperation.set(`load`),this.pageError.set(`api_token.error`)}finally{this.loading.set(!1)}}appendMissingTokens(i){this.tokens.update(e=>{let t=new Set(e.map(({id:a})=>a));return[...e,...i.filter(({id:a})=>!t.has(a))]})}scheduleExpiration(){this.expirationTimer!==void 0&&clearTimeout(this.expirationTimer);let i=Date.now();this.now.set(i);let e=this.tokens().filter(({expiresAt:t,revokedAt:a})=>a===null&&t>i).reduce((t,{expiresAt:a})=>t===void 0||a<t?a:t,void 0);if(e===void 0){this.expirationTimer=void 0;return}this.expirationTimer=setTimeout(()=>this.scheduleExpiration(),Math.min(e-i+1,2147483647))}static ɵfac=function(e){return new(e||o)};static ɵcmp=Fb({type:o,selectors:[[`app-api-tokens`]],hostAttrs:[1,`page-container`],hostBindings:function(e,t){e&1&&Gy(`beforeunload`,function(m){return t.beforeUnload(m)},Zw)},features:[A_([d$1,b$1])],decls:25,vars:26,consts:[[`tokenSearch`,``],[`tokenMenu`,``],[`aria-labelledby`,`api-tokens-title`,1,`tokens-page`],[`id`,`api-tokens-title`],[1,`muted`],[`pageActions`,``,`appLinkButton`,``,`icon`,`plus`,`variant`,`primary`,`routerLink`,`new`,3,`queryParams`],[`href`,`/api/docs`,`target`,`_blank`,`rel`,`noopener noreferrer`],[`appListWorkspace`,``],[`listSearch`,``,3,`valueChange`,`label`,`value`],[`listFilters`,``,3,`label`,`closeLabel`,`backLabel`,`activeCount`,`disabled`],[`appFilterPanel`,``,3,`label`,`summary`],[`listActions`,``,`filename`,`api-token-permissions.csv`,3,`columns`,`rows`,`label`,`emptyHint`,`pendingHint`,`pending`],[1,`spacer-x-3`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`role`,`status`],[`icon`,`secrets`,3,`title`],[`appDataTable`,``],[1,`list-summary`,`spacer-y-2`],[`appButton`,``,`type`,`button`,3,`disabled`],[3,`committed`,`label`,`emptyLabel`,`options`,`value`,`disabled`],[`appFilterChip`,``,3,`click`,`label`,`disabled`],[`emptyActions`,``,`appLinkButton`,``,`icon`,`plus`,`routerLink`,`new`,3,`queryParams`],[`scope`,`col`],[`appTableSort`,``,3,`click`,`label`,`direction`],[`scope`,`row`],[1,`entity-label`],[`icon`,`secrets`,3,`variant`],[3,`appSearchHighlight`],[`appButton`,``,`type`,`button`,`aria-haspopup`,`dialog`],[`popover`,`auto`,`role`,`dialog`,`tabindex`,`0`,1,`permissions-popover`,3,`id`],[1,`permissions-heading`,`spacer-x-3`],[3,`id`],[`appButton`,``,`type`,`button`,`popovertargetaction`,`hide`,`autofocus`,``],[1,`permissions-list`],[`appBadge`,``,3,`variant`],[`appButton`,``,`variant`,`danger`,`type`,`button`,3,`disabled`],[`appButton`,``,`variant`,`danger`,`type`,`button`,3,`click`,`disabled`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`]],template:function(e,t){if(e&1&&(Us(0,`section`,2)(1,`app-page-header`)(2,`h1`,3),y_(3),fd(),Us(4,`p`,4),y_(5),fd(),Us(6,`a`,5),y_(7),fd()(),Us(8,`a`,6),y_(9),fd(),Us(10,`div`,7)(11,`app-list-toolbar`)(12,`app-list-search`,8,0),Gy(`valueChange`,function(m){return t.table.search(m)}),fd(),Us(14,`app-filter-menu`,9,1),Iy(16,Se,1,5,`ng-template`,10),fd(),Py(17,`app-table-export`,11),fd(),OS(18,Ee,2,2,`div`,12),OS(19,we,2,1,`p`,13),OS(20,Ae,2,1,`p`,14)(21,Oe,5,4,`app-empty-state`,15)(22,De,21,15,`div`,16),OS(23,Le,3,4,`footer`,17),OS(24,Fe,2,2,`button`,18),fd()()),e&2){let a;ZC(3),nv(t.i18n.t(`backOffice.apiTokens.title`)),ZC(2),nv(t.i18n.t(`backOffice.apiTokens.intro`)),ZC(),Fy(`queryParams`,t.navigation.params()),ZC(),nv(t.i18n.t(`backOffice.apiTokens.create`)),ZC(2),nv(t.i18n.t(`backOffice.apiTokens.documentation`)),ZC(3),Fy(`label`,t.i18n.t(`configurationWorkspace.searchTokens`))(`value`,t.table.query().q),ZC(2),Fy(`label`,t.i18n.t(`listWorkspace.filters`))(`closeLabel`,t.i18n.t(`listWorkspace.closeFilters`))(`backLabel`,t.i18n.t(`listWorkspace.backFilters`))(`activeCount`,t.filterCount())(`disabled`,t.loading()),ZC(2),Fy(`label`,t.i18n.t(`configurationWorkspace.status`))(`summary`,t.table.filterSummary()),ZC(),Fy(`columns`,O_(25,xe))(`rows`,t.tokenExport())(`label`,t.i18n.t(`listWorkspace.exportCsv`))(`emptyHint`,t.i18n.t(`listWorkspace.exportEmpty`))(`pendingHint`,t.i18n.t(`listWorkspace.exportPending`))(`pending`,t.loading()||t.loadingMore()||t.revoking()||t.pageError()!==void 0),ZC(),kS(t.filterCount()?18:-1),ZC(),kS((a=t.errorMessage())?19:-1,a),ZC(),kS(t.loading()?20:t.table.results().length===0&&!t.pageError()?21:22),ZC(3),kS(t.loading()?-1:23),ZC(),kS(t.nextCursor()!==null?24:-1)}},dependencies:[d,N,c,l$1,f,k,g$1,Dt,u,U,B,Q,Z,b,Fe$1,h,$,m,p],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}.tokens-page[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-5);padding:var(--%NS%page-header-y) var(--%NS%page-x)}.permissions-heading[_ngcontent-%COMP%]{justify-content:space-between}.permissions-heading[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:var(--%NS%text-lg)}.permissions-popover[_ngcontent-%COMP%]{position:fixed;position-area:block-end;position-try-fallbacks:flip-block,block-end span-inline-start,block-start span-inline-start,block-end span-inline-end,block-start span-inline-end;inset:auto;inline-size:min(36rem,100vw - 2rem);max-block-size:min(32rem,100dvh - 4rem);overflow:auto;overscroll-behavior:contain;margin:var(--%NS%space-2);padding:var(--%NS%space-4);border:1px solid var(--%NS%color-line-strong);border-radius:var(--%NS%radius-md);background:var(--%NS%color-surface-raised);color:var(--%NS%color-ink);box-shadow:var(--%NS%shadow-page);overflow-wrap:anywhere}.permissions-list[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-3);margin-block:var(--%NS%space-4) 0;padding-inline-start:var(--%NS%space-5)}.permissions-list[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block;color:var(--%NS%color-muted);font-size:var(--%NS%text-sm)}.field[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-2)}fieldset[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-3);min-width:0;margin:0;padding:var(--%NS%space-4)}.permission-grid[_ngcontent-%COMP%]{max-height:min(26rem,50dvh);overflow:auto}.permission-search[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-2)}.permission-grid[_ngcontent-%COMP%] table[_ngcontent-%COMP%]{width:100%;min-width:38rem}.permission-grid[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:last-child, .permission-selection[_ngcontent-%COMP%]{width:7rem;text-align:center}.permission-selection[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:1.1rem;height:1.1rem}`]})};export{ye as ApiTokens};
@@ -1 +0,0 @@
1
- import{$ as MH,$t as ZC,A as Gy,D as Fy,Dn as g,Dr as t_,Ir as wp,It as Us,Jr as zS,Tn as fd,V as Iy,nt as NH,pr as qS,vt as Py,w as Fb,z as Ip}from"./chunk-BAHiFuUo.js";import{m as Ie}from"./main-F7D3L737.js";import{t as Fe}from"./chunk-DB6sOjsn2.js";import{n as b,t as Z}from"./chunk-CABvk97t2.js";import{i as U,r as Q,t as $}from"./chunk-CCqlW8pS2.js";function N(r,u){if(r&1){let t=zS();Us(0,`app-filter-choice`,5),Gy(`committed`,function(c){Ip(t);let s=qS(),S=t_(3);return s.filterChange.emit(c),wp(S.close())}),fd()}if(r&2){let t=qS();Fy(`label`,t.i18n.t(`listWorkspace.searchChoices`))(`emptyLabel`,t.i18n.t(`listWorkspace.noChoices`))(`options`,t.filterOptions())(`value`,t.filter())(`disabled`,t.pending())}}var M=class r{i18n=g(Ie);query=NH.required();filter=NH.required();filterLabel=NH.required();filterSummary=NH.required();filterOptions=NH.required();columns=NH.required();rows=NH.required();filename=NH.required();pending=NH(!1);queryChange=MH();filterChange=MH();static ɵfac=function(t){return new(t||r)};static ɵcmp=Fb({type:r,selectors:[[`app-workspace-table-tools`]],hostAttrs:[2,`display`,`contents`],inputs:{query:[1,`query`],filter:[1,`filter`],filterLabel:[1,`filterLabel`],filterSummary:[1,`filterSummary`],filterOptions:[1,`filterOptions`],columns:[1,`columns`],rows:[1,`rows`],filename:[1,`filename`],pending:[1,`pending`]},outputs:{queryChange:`queryChange`,filterChange:`filterChange`},decls:6,vars:17,consts:[[`menu`,``],[`listSearch`,``,3,`valueChange`,`label`,`value`,`disabled`],[`listFilters`,``,3,`label`,`closeLabel`,`backLabel`,`activeCount`,`disabled`],[`appFilterPanel`,``,3,`label`,`summary`],[`listActions`,``,3,`columns`,`rows`,`filename`,`label`,`emptyHint`,`pendingHint`,`pending`],[3,`committed`,`label`,`emptyLabel`,`options`,`value`,`disabled`]],template:function(t,e){t&1&&(Us(0,`app-list-toolbar`)(1,`app-list-search`,1),Gy(`valueChange`,function(s){return e.queryChange.emit(s)}),fd(),Us(2,`app-filter-menu`,2,0),Iy(4,N,1,5,`ng-template`,3),fd(),Py(5,`app-table-export`,4),fd()),t&2&&(ZC(),Fy(`label`,e.i18n.t(`listWorkspace.search`))(`value`,e.query())(`disabled`,e.pending()),ZC(),Fy(`label`,e.i18n.t(`listWorkspace.filters`))(`closeLabel`,e.i18n.t(`listWorkspace.closeFilters`))(`backLabel`,e.i18n.t(`listWorkspace.backFilters`))(`activeCount`,e.filter()===`all`?0:1)(`disabled`,e.pending()),ZC(2),Fy(`label`,e.filterLabel())(`summary`,e.filterSummary()),ZC(),Fy(`columns`,e.columns())(`rows`,e.rows())(`filename`,e.filename())(`label`,e.i18n.t(`listWorkspace.exportCsv`))(`emptyHint`,e.i18n.t(`listWorkspace.exportEmpty`))(`pendingHint`,e.i18n.t(`listWorkspace.exportPending`))(`pending`,e.pending()))},dependencies:[Fe,Z,b,Q,U,$],encapsulation:2})};export{M as t};
@@ -1 +0,0 @@
1
- import{$t as ZC,D as Fy,Dn as g,It as Us,Nr as vd,Tn as fd,Wn as kS,Wr as y_,lt as OS,pr as qS,rr as nv,vt as Py,w as Fb}from"./chunk-BAHiFuUo.js";import{t as k}from"./chunk-D5MFwK9L.js";import{t as N$1}from"./chunk-Fc120Hsi2.js";import{t as w}from"./chunk-Bb31fHqC2.js";function T(e,i){if(e&1&&(Us(0,`p`,1),y_(1),fd()),e&2){let t=qS();ZC(),nv(t.task.i18n.t(`backOffice.invoices.loading`))}}function I(e,i){if(e&1&&(Us(0,`p`,1),y_(1),fd()),e&2){let t=qS();ZC(),nv(t.task.i18n.t(`billingWorkspace.pending`))}}function F(e,i){if(e&1&&(Us(0,`p`,2),y_(1),fd()),e&2){let t=qS();ZC(),vd(` `,t.task.i18n.t(`billingWorkspace.completed`),` `)}}function S(e,i){if(e&1&&(Us(0,`p`,3),y_(1),fd()),e&2){let t=qS();ZC(),nv(t.task.i18n.t(`billingWorkspace.stale`))}}function E(e,i){if(e&1&&(Us(0,`p`,3),y_(1),fd()),e&2){let t=qS();ZC(),vd(` `,t.task.i18n.t(`billingWorkspace.uncertain`),` `)}}function N(e,i){if(e&1&&(Us(0,`p`,4),y_(1),fd()),e&2){let t=qS();ZC(),nv(t.task.i18n.t(i))}}function D(e,i){if(e&1&&Py(0,`app-document-issues`,5),e&2)Fy(`issues`,qS().task.issues())(`clientId`,i.clientId)}var v=class e{task=g(w);static ɵfac=function(t){return new(t||e)};static ɵcmp=Fb({type:e,selectors:[[`app-invoice-task-feedback`]],decls:8,vars:5,consts:[[`data-task-feedback`,``,`tabindex`,`-1`,1,`feedback`],[`role`,`status`],[`appNotice`,``,`variant`,`success`,`role`,`status`],[`appNotice`,``,`variant`,`warning`,`role`,`alert`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`kind`,`invoice`,3,`issues`,`clientId`]],template:function(t,a){if(t&1&&(Us(0,`div`,0),OS(1,T,2,1,`p`,1),OS(2,I,2,1,`p`,1),OS(3,F,2,1,`p`,2),OS(4,S,2,1,`p`,3)(5,E,2,1,`p`,3)(6,N,2,1,`p`,4),OS(7,D,1,2,`app-document-issues`,5),fd()),t&2){let k,u;ZC(),kS(a.task.loading()?1:-1),ZC(),kS(a.task.busy()?2:-1),ZC(),kS(a.task.completed()?3:-1),ZC(),kS(a.task.stale()?4:a.task.uncertain()?5:(k=!a.task.issues().length&&a.task.error())?6:-1,k),ZC(3),kS((u=a.task.issues().length&&a.task.invoice())?7:-1,u)}},dependencies:[k,N$1],styles:[`.feedback[_ngcontent-%COMP%]{display:grid;justify-items:start;gap:var(--%NS%space-3)}p[_ngcontent-%COMP%]{margin:0}app-document-issues[_ngcontent-%COMP%]{margin:0}`]})};export{v as t};
@@ -1 +0,0 @@
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};
@@ -1 +0,0 @@
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 +0,0 @@
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};
@@ -1 +0,0 @@
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};