@sachahjkl/backoffice 0.2.5 → 0.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (280) hide show
  1. package/README.md +3 -1
  2. package/bin/backoffice.mjs +2 -2
  3. package/dist/demo-reset.cjs +65895 -0
  4. package/dist/main.cjs +71 -39
  5. package/dist/migrate.cjs +17 -3
  6. package/dist/web/{chunk-Bans5XmP2.js → chunk--RuvStn6.js} +1 -1
  7. package/dist/web/{chunk-BidSGJER.js → chunk-4ipZT9nT.js} +1 -1
  8. package/dist/web/chunk-6jIo5mZ42.js +1 -0
  9. package/dist/web/{chunk-D0WfOSVe.js → chunk-9X4vLcFh.js} +1 -1
  10. package/dist/web/chunk-9d_UD-MQ.js +1 -0
  11. package/dist/web/{chunk-CuukTiS1.js → chunk-AJOoJgZJ.js} +1 -1
  12. package/dist/web/{chunk-2sHWWuzv2.js → chunk-B0bNirg2.js} +1 -1
  13. package/dist/web/chunk-B3OxeBLO2.js +1 -0
  14. package/dist/web/chunk-B5xzAYYx2.js +1 -0
  15. package/dist/web/{chunk-BQRlJCOd.js → chunk-B6Rml85x2.js} +1 -1
  16. package/dist/web/chunk-B8_dFe5w.js +1 -0
  17. package/dist/web/chunk-B91VAo1J.js +1 -0
  18. package/dist/web/chunk-B9NV1rY62.js +1 -0
  19. package/dist/web/chunk-BAn0tBhX.js +1 -0
  20. package/dist/web/chunk-BGVaNZdj.js +1 -0
  21. package/dist/web/chunk-BHDXYrox.js +1 -0
  22. package/dist/web/chunk-BI9lIdFn.js +1 -0
  23. package/dist/web/{chunk-CYB9QO85.js → chunk-BKufCOYq.js} +1 -1
  24. package/dist/web/chunk-BNksdK_D2.js +1 -0
  25. package/dist/web/chunk-BQ7WWH4L.js +1 -0
  26. package/dist/web/chunk-BQrmVphu2.js +1 -0
  27. package/dist/web/chunk-BR0demlX.js +1 -0
  28. package/dist/web/chunk-BT8KtCYG.js +1 -0
  29. package/dist/web/{chunk-Bm0a1bep.js → chunk-BVszSMJC.js} +1 -1
  30. package/dist/web/{chunk-CJDa7FT62.js → chunk-BYjxXKZ4.js} +1 -1
  31. package/dist/web/chunk-BZZJ287h.js +1 -0
  32. package/dist/web/chunk-Bb31fHqC2.js +1 -0
  33. package/dist/web/chunk-BcUjdID-.js +1 -0
  34. package/dist/web/{chunk-BzOWqX4m2.js → chunk-Bck0-DJt2.js} +1 -1
  35. package/dist/web/chunk-Bf3eV_su2.js +1 -0
  36. package/dist/web/chunk-BfSewUhY.js +1 -0
  37. package/dist/web/{chunk-osh5v_OU2.js → chunk-Bfx7EEIR.js} +1 -1
  38. package/dist/web/chunk-Bi4Jixry2.js +1 -0
  39. package/dist/web/chunk-BiECfDS7.js +1 -0
  40. package/dist/web/{chunk-CGgGK0-O2.js → chunk-Bj7Oze2U2.js} +1 -1
  41. package/dist/web/{chunk-BYalGDdQ.js → chunk-Bjo6eVnk.js} +1 -1
  42. package/dist/web/{chunk-BbKL19W02.js → chunk-BkvskoFt2.js} +1 -1
  43. package/dist/web/chunk-Bn46cQyx.js +1 -0
  44. package/dist/web/chunk-Bn6RkvPA2.js +1 -0
  45. package/dist/web/{chunk-B08xNtqD2.js → chunk-BpZ7MSOP.js} +1 -1
  46. package/dist/web/{chunk-DCE1ImZZ2.js → chunk-Bq2zV2_3.js} +1 -1
  47. package/dist/web/chunk-By2EFyNM.js +1 -0
  48. package/dist/web/{chunk-DQwyRMR6.js → chunk-C-O6GrQC2.js} +1 -1
  49. package/dist/web/{chunk-CtR8WyO5.js → chunk-C0Ceu-vg.js} +1 -1
  50. package/dist/web/chunk-C0gTeWW62.js +1 -0
  51. package/dist/web/{chunk-ClevJX5T2.js → chunk-C19Alcnx2.js} +1 -1
  52. package/dist/web/{chunk-BKWyrwrz.js → chunk-CABvk97t2.js} +1 -1
  53. package/dist/web/chunk-CApvwK4D.js +1 -0
  54. package/dist/web/chunk-CCkaRRSy.js +1 -0
  55. package/dist/web/chunk-CCqlW8pS2.js +3 -0
  56. package/dist/web/chunk-CCr_R2Cg.js +1 -0
  57. package/dist/web/chunk-CDK48Khc.js +1 -0
  58. package/dist/web/chunk-CDS6LjBz2.js +1 -0
  59. package/dist/web/chunk-CE9WzUCM.js +1 -0
  60. package/dist/web/chunk-CEJjSd8-2.js +1 -0
  61. package/dist/web/{chunk-Ce_TeGo52.js → chunk-CG4Kbo1n2.js} +1 -1
  62. package/dist/web/chunk-CGfyD3XX2.js +1 -0
  63. package/dist/web/chunk-CK6Sjqig.js +1 -0
  64. package/dist/web/chunk-CKFB1V-p2.js +1 -0
  65. package/dist/web/chunk-CL02A9wI.js +1 -0
  66. package/dist/web/{chunk-CrhlmMPy2.js → chunk-CLHj5Ycx2.js} +1 -1
  67. package/dist/web/chunk-CLZ5xsSQ2.js +1 -0
  68. package/dist/web/{chunk-JUTCkl5C2.js → chunk-CMvRZBpn.js} +1 -1
  69. package/dist/web/chunk-CNfmNEak.js +1 -0
  70. package/dist/web/chunk-COTrF1xY2.js +1 -0
  71. package/dist/web/{chunk-CC05ZHq-.js → chunk-COXN76fu2.js} +1 -1
  72. package/dist/web/{chunk-BkKRFLuX2.js → chunk-CPHUl7N2.js} +1 -1
  73. package/dist/web/chunk-CUqj_Bxs2.js +1 -0
  74. package/dist/web/{chunk-C2gUrdSR2.js → chunk-CVHqiS63.js} +1 -1
  75. package/dist/web/chunk-CV_fLVFT.js +1 -0
  76. package/dist/web/{chunk-CJKvPHwX.js → chunk-CYGyIy7J.js} +1 -1
  77. package/dist/web/chunk-CYRUKYKv2.js +1 -0
  78. package/dist/web/{chunk-xlLlHW0G2.js → chunk-C_QyIKvy.js} +1 -1
  79. package/dist/web/chunk-Ca3lwqEF.js +1 -0
  80. package/dist/web/chunk-CaJrmM9V.js +1 -0
  81. package/dist/web/{chunk-Ok502fV82.js → chunk-CfcCxe_k.js} +1 -1
  82. package/dist/web/chunk-Ck6cItVE2.js +2 -0
  83. package/dist/web/{chunk-S5Gmkpdy2.js → chunk-CkWd-yMn.js} +1 -1
  84. package/dist/web/{chunk-C7DvmZKC.js → chunk-CmokTGIG.js} +1 -1
  85. package/dist/web/chunk-CpXqQPuw.js +1 -0
  86. package/dist/web/{chunk-Dyia17vy.js → chunk-CtmP6l7_2.js} +1 -1
  87. package/dist/web/chunk-CubfQf-X2.js +1 -0
  88. package/dist/web/chunk-CuepVIkm2.js +1 -0
  89. package/dist/web/chunk-CvMAjyvr2.js +1 -0
  90. package/dist/web/chunk-CvsVlcIU2.js +1 -0
  91. package/dist/web/chunk-CwzCbuXH.js +1 -0
  92. package/dist/web/{chunk-BxQ7up-t.js → chunk-Cx07K71K.js} +1 -1
  93. package/dist/web/chunk-D-VHaopx.js +1 -0
  94. package/dist/web/chunk-D1DvlGbP.js +1 -0
  95. package/dist/web/{chunk-CfAqWkFp.js → chunk-D1wrPwB5.js} +1 -1
  96. package/dist/web/{chunk-BbWEBemE.js → chunk-D3XjW5Cm.js} +1 -1
  97. package/dist/web/{chunk-DRgIjFR6.js → chunk-D5MFwK9L.js} +1 -1
  98. package/dist/web/{chunk-CjtJKrza.js → chunk-D5qmP2Wu.js} +2 -2
  99. package/dist/web/{chunk-BbbRo5jM2.js → chunk-D6k6pmdU.js} +1 -1
  100. package/dist/web/chunk-D8kEdb5y2.js +1 -0
  101. package/dist/web/chunk-D8t0s8LD.js +1 -0
  102. package/dist/web/{chunk-Z9CNux5n2.js → chunk-D8xHm8jb2.js} +1 -1
  103. package/dist/web/{chunk-BMYHfrEK.js → chunk-D97UUzIx.js} +1 -1
  104. package/dist/web/chunk-DB6sOjsn2.js +1 -0
  105. package/dist/web/{chunk-D4J7xo6v.js → chunk-DDCyjjcE.js} +1 -1
  106. package/dist/web/chunk-DEXzwHB0.js +1 -0
  107. package/dist/web/{chunk-DODMV1QO.js → chunk-DGbo0App2.js} +1 -1
  108. package/dist/web/chunk-DIBFSF2Z.js +1 -0
  109. package/dist/web/{chunk-bP01prsY.js → chunk-DIJSXeQC2.js} +1 -1
  110. package/dist/web/{chunk-CvjKWUFl.js → chunk-DKlxu0GP2.js} +1 -1
  111. package/dist/web/{chunk-BtRCqgfa.js → chunk-DM4Wc9U7.js} +1 -1
  112. package/dist/web/{chunk-DUJbqlfC.js → chunk-DM5aibnW.js} +1 -1
  113. package/dist/web/chunk-DMXgU6Nc2.js +1 -0
  114. package/dist/web/chunk-DMskLhpk2.js +1 -0
  115. package/dist/web/{chunk-HhmMH02E.js → chunk-DOCau85G2.js} +1 -1
  116. package/dist/web/{chunk-B86wqImw.js → chunk-DOinRyX_2.js} +1 -1
  117. package/dist/web/chunk-DQp-2GVv.js +1 -0
  118. package/dist/web/chunk-DQr_9Q6T.js +1 -0
  119. package/dist/web/chunk-DSpA-ZPx.js +1 -0
  120. package/dist/web/chunk-DTPC4JtI2.js +1 -0
  121. package/dist/web/chunk-DURq7J8U2.js +1 -0
  122. package/dist/web/chunk-DVJ4YZuU.js +1 -0
  123. package/dist/web/chunk-DVyDnsGh.js +1 -0
  124. package/dist/web/{chunk-oS95kAu6.js → chunk-DXvlXoVT2.js} +1 -1
  125. package/dist/web/{chunk-CHUMIo442.js → chunk-DZgMGE6C.js} +1 -1
  126. package/dist/web/{chunk-BK0Mi7Tk.js → chunk-DZgf7AIe.js} +1 -1
  127. package/dist/web/{chunk-CBXOl0VL.js → chunk-D_8jIApo.js} +1 -1
  128. package/dist/web/chunk-D_vyhgGx.js +1 -0
  129. package/dist/web/chunk-Db2zQ-8C.js +1 -0
  130. package/dist/web/{chunk-BEAkjhZc2.js → chunk-DboSVJMM.js} +1 -1
  131. package/dist/web/chunk-DdOc1fs-.js +1 -0
  132. package/dist/web/chunk-DddDKWSn2.js +1 -0
  133. package/dist/web/{chunk-DAdKllIN.js → chunk-DerJPaBw.js} +1 -1
  134. package/dist/web/chunk-Dh86w63y.js +1 -0
  135. package/dist/web/{chunk-DXsw8_Za2.js → chunk-DhLlQTD-2.js} +1 -1
  136. package/dist/web/{chunk-9qDelKdu.js → chunk-DhkjPUn4.js} +1 -1
  137. package/dist/web/{chunk-BAKoExNF.js → chunk-Di9FA_QV.js} +1 -1
  138. package/dist/web/chunk-DjwvqY3z2.js +1 -0
  139. package/dist/web/{chunk-CH-_LXUF.js → chunk-Dl4EbYnM2.js} +1 -1
  140. package/dist/web/chunk-Dl4V93zm2.js +1 -0
  141. package/dist/web/{chunk-CsiZwjWr2.js → chunk-Dns8uMf32.js} +1 -1
  142. package/dist/web/chunk-Dnzjseqf2.js +1 -0
  143. package/dist/web/chunk-DpI44v1z.js +1 -0
  144. package/dist/web/{chunk-BqIPzI6E2.js → chunk-DpLF2wJ62.js} +1 -1
  145. package/dist/web/chunk-Dqhs2Pyw2.js +1 -0
  146. package/dist/web/{chunk-BWNhkOOr.js → chunk-DsaNNeZe.js} +1 -1
  147. package/dist/web/{chunk-GjZTRlHL.js → chunk-DubWLqvO.js} +1 -1
  148. package/dist/web/{chunk-DibPYvNu.js → chunk-Fc120Hsi2.js} +1 -1
  149. package/dist/web/{chunk-B23x0ZHj2.js → chunk-HmRGBt692.js} +1 -1
  150. package/dist/web/chunk-IlM3eTPp2.js +1 -0
  151. package/dist/web/chunk-IzGdqlW82.js +1 -0
  152. package/dist/web/{chunk-u_CBgBep.js → chunk-MpUdRrak2.js} +1 -1
  153. package/dist/web/{chunk-BlE9HnAo.js → chunk-NDpjbcAr2.js} +1 -1
  154. package/dist/web/chunk-P1du2kWg2.js +1 -0
  155. package/dist/web/{chunk-BCemdpJW.js → chunk-POMKwNf_.js} +1 -1
  156. package/dist/web/chunk-PqGGk0JD.js +1 -0
  157. package/dist/web/{chunk-BG9HC5MH2.js → chunk-RIi7_iVg.js} +1 -1
  158. package/dist/web/chunk-SZJG1lFa2.js +1 -0
  159. package/dist/web/{chunk-jEvWOBug.js → chunk-WNYFaDlu2.js} +1 -1
  160. package/dist/web/{chunk-Cx_tkq5a.js → chunk-XtjMOmku2.js} +1 -1
  161. package/dist/web/chunk-XvyWOb2Q.js +1 -0
  162. package/dist/web/{chunk-BPI0E5qw.js → chunk-ZcJhJsoo.js} +1 -1
  163. package/dist/web/{chunk-Dk7Fe34Y.js → chunk-aW8Vltn22.js} +1 -1
  164. package/dist/web/chunk-a_Va_Nj7.js +1 -0
  165. package/dist/web/{chunk-D83vXRZS2.js → chunk-enci06qG.js} +1 -1
  166. package/dist/web/chunk-fYJ7OBkh.js +1 -0
  167. package/dist/web/{chunk-THRzZN4s.js → chunk-k6TIcaIA.js} +1 -1
  168. package/dist/web/{chunk-BsXdvb75.js → chunk-nC_XlFOG.js} +1 -1
  169. package/dist/web/{chunk-DzxhjLIR.js → chunk-niXXbm7H.js} +1 -1
  170. package/dist/web/chunk-owvOEsA9.js +1 -0
  171. package/dist/web/{chunk-D8ywkT0Z2.js → chunk-pV57uiBu2.js} +1 -1
  172. package/dist/web/{chunk-CdEOFR_J.js → chunk-qKosqkwC.js} +1 -1
  173. package/dist/web/{chunk-BMsK7VjB2.js → chunk-r6H-BfOd.js} +1 -1
  174. package/dist/web/chunk-tDREPM-0.js +1 -0
  175. package/dist/web/{chunk-78yNgJiB.js → chunk-xTX16tt2.js} +1 -1
  176. package/dist/web/chunk-y0Vyi0HZ.js +1 -0
  177. package/dist/web/chunk-yfBrkklv.js +1 -0
  178. package/dist/web/index.csr.html +1 -1
  179. package/dist/web/{main-AJD2LGCE.js → main-F7D3L737.js} +4 -4
  180. package/package.json +1 -1
  181. package/dist/web/chunk-0C-62od6.js +0 -1
  182. package/dist/web/chunk-B1Kpw1um2.js +0 -1
  183. package/dist/web/chunk-B43WHzJp.js +0 -1
  184. package/dist/web/chunk-B6BtInzP2.js +0 -1
  185. package/dist/web/chunk-BAjZiy9u2.js +0 -1
  186. package/dist/web/chunk-BE8oALxd.js +0 -1
  187. package/dist/web/chunk-BIydbtyu.js +0 -1
  188. package/dist/web/chunk-BMU6gPN0.js +0 -1
  189. package/dist/web/chunk-BRUZgvLR2.js +0 -1
  190. package/dist/web/chunk-BSxXPdhz2.js +0 -1
  191. package/dist/web/chunk-BTDByxsO2.js +0 -1
  192. package/dist/web/chunk-BUnVNwR0.js +0 -1
  193. package/dist/web/chunk-BV-2_l7u2.js +0 -1
  194. package/dist/web/chunk-B_pX979y.js +0 -1
  195. package/dist/web/chunk-Ba4cFLiE2.js +0 -1
  196. package/dist/web/chunk-BaLdnNAA.js +0 -1
  197. package/dist/web/chunk-BhCP8fQA.js +0 -1
  198. package/dist/web/chunk-BhwbhxlY2.js +0 -1
  199. package/dist/web/chunk-Bjio-Q3F.js +0 -1
  200. package/dist/web/chunk-BjiyoDeK2.js +0 -1
  201. package/dist/web/chunk-BnPSwNBN.js +0 -1
  202. package/dist/web/chunk-BqbhE2jJ.js +0 -1
  203. package/dist/web/chunk-BrRhr7VS.js +0 -1
  204. package/dist/web/chunk-Bt1ivJuj2.js +0 -1
  205. package/dist/web/chunk-BtH61zrc.js +0 -1
  206. package/dist/web/chunk-BuKqE_YG2.js +0 -1
  207. package/dist/web/chunk-ByBw4qTD.js +0 -1
  208. package/dist/web/chunk-ByfP_6io2.js +0 -1
  209. package/dist/web/chunk-Bylz8GTy2.js +0 -1
  210. package/dist/web/chunk-C1jIGjiG.js +0 -1
  211. package/dist/web/chunk-C2WwmFiS.js +0 -1
  212. package/dist/web/chunk-C3v6o8sk.js +0 -1
  213. package/dist/web/chunk-C7TzEeP_2.js +0 -1
  214. package/dist/web/chunk-C8AJBuJL2.js +0 -1
  215. package/dist/web/chunk-C9_g77K0.js +0 -1
  216. package/dist/web/chunk-CAr--Z8G2.js +0 -1
  217. package/dist/web/chunk-CIIIDIUz.js +0 -1
  218. package/dist/web/chunk-CUvLKCob2.js +0 -1
  219. package/dist/web/chunk-CV-g60E82.js +0 -1
  220. package/dist/web/chunk-CV1Zh4JH.js +0 -1
  221. package/dist/web/chunk-CVZQi-q62.js +0 -1
  222. package/dist/web/chunk-CY4lfBdp2.js +0 -1
  223. package/dist/web/chunk-Cc534gtY.js +0 -1
  224. package/dist/web/chunk-CcvGqiZH.js +0 -1
  225. package/dist/web/chunk-CdDlz5SQ2.js +0 -1
  226. package/dist/web/chunk-CdeX3SOP.js +0 -1
  227. package/dist/web/chunk-CgThkMbX2.js +0 -1
  228. package/dist/web/chunk-Chasvinb.js +0 -1
  229. package/dist/web/chunk-CihZnkoG2.js +0 -1
  230. package/dist/web/chunk-ClYiqUra.js +0 -1
  231. package/dist/web/chunk-CmhHSFX72.js +0 -1
  232. package/dist/web/chunk-CsdHWYnL.js +0 -1
  233. package/dist/web/chunk-CuQMh9Mm2.js +0 -1
  234. package/dist/web/chunk-D2Albj_1.js +0 -1
  235. package/dist/web/chunk-D2P8u0ih2.js +0 -1
  236. package/dist/web/chunk-D2reBpeg2.js +0 -1
  237. package/dist/web/chunk-D6HQPG4L.js +0 -1
  238. package/dist/web/chunk-DFQAtlu22.js +0 -1
  239. package/dist/web/chunk-DIyfCN-v.js +0 -1
  240. package/dist/web/chunk-DK0GFIMr.js +0 -1
  241. package/dist/web/chunk-DMlYYeVV2.js +0 -3
  242. package/dist/web/chunk-DS8Gi0yV2.js +0 -1
  243. package/dist/web/chunk-DSIpVKzQ.js +0 -1
  244. package/dist/web/chunk-DT9HaYIg.js +0 -1
  245. package/dist/web/chunk-DU2qw7-O.js +0 -1
  246. package/dist/web/chunk-DZX7bq5d.js +0 -1
  247. package/dist/web/chunk-DiSSXeWw2.js +0 -1
  248. package/dist/web/chunk-DjQuCwaE.js +0 -1
  249. package/dist/web/chunk-DmBRHpbi2.js +0 -1
  250. package/dist/web/chunk-DpbG_pUL.js +0 -1
  251. package/dist/web/chunk-DqoyE916.js +0 -1
  252. package/dist/web/chunk-DsZGgyjH2.js +0 -1
  253. package/dist/web/chunk-DsbC92Ad2.js +0 -1
  254. package/dist/web/chunk-DuQk8dor2.js +0 -1
  255. package/dist/web/chunk-DxjwnDdp.js +0 -1
  256. package/dist/web/chunk-DyaBJhQt2.js +0 -1
  257. package/dist/web/chunk-H2FHxG4A.js +0 -1
  258. package/dist/web/chunk-KV_4fJOq.js +0 -2
  259. package/dist/web/chunk-NyAoR3GT.js +0 -1
  260. package/dist/web/chunk-Qhc5gzMT.js +0 -1
  261. package/dist/web/chunk-RRqL4AoW2.js +0 -1
  262. package/dist/web/chunk-THDcl3GX2.js +0 -1
  263. package/dist/web/chunk-TRzqZ7nT.js +0 -1
  264. package/dist/web/chunk-VKqyG94L.js +0 -1
  265. package/dist/web/chunk-cxgj3JaU2.js +0 -1
  266. package/dist/web/chunk-dClaCeUx.js +0 -1
  267. package/dist/web/chunk-kb-UZrxn2.js +0 -1
  268. package/dist/web/chunk-mI1TUlml.js +0 -1
  269. package/dist/web/chunk-tiVwZKxb.js +0 -1
  270. package/dist/web/chunk-uYhVCHeh2.js +0 -1
  271. package/dist/web/chunk-ynjMwOUq.js +0 -1
  272. package/dist/web/chunk-z-mghjkB.js +0 -1
  273. /package/dist/web/{chunk-BUoX0svL2.js → chunk-BUoX0svL.js} +0 -0
  274. /package/dist/web/{chunk-Bsy3r41y.js → chunk-Bsy3r41y2.js} +0 -0
  275. /package/dist/web/{chunk-CARNiCDb.js → chunk-CARNiCDb2.js} +0 -0
  276. /package/dist/web/{chunk-CGo7Fepz2.js → chunk-CGo7Fepz.js} +0 -0
  277. /package/dist/web/{chunk-CXHCUTDs2.js → chunk-CXHCUTDs.js} +0 -0
  278. /package/dist/web/{chunk-CtcsJTAS.js → chunk-CtcsJTAS2.js} +0 -0
  279. /package/dist/web/{chunk-WJWN7A_V.js → chunk-WJWN7A_V2.js} +0 -0
  280. /package/dist/web/{chunk-cTGENC4T.js → chunk-cTGENC4T2.js} +0 -0
@@ -0,0 +1 @@
1
+ import{n as m,t as l}from"./chunk-BwCtja5l.js";import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,Gn as k_,Ir as wp,It as Us,Jr as zS,K as Ke$1,Nr as vd,Sr as rv,Tn as fd,W as KS,Wn as kS,Wr as y_,dr as pe,en as ZS,ft as Ol,kn as hd,lt as OS,mr as qT,nt as NH,o as A,pr as qS,qn as ky,rn as Zw,rr as nv,tn as ZT,tt as Mn,ur as pd,vt as Py,w as Fb,z as Ip}from"./chunk-BAHiFuUo.js";import{T as ue,h as Ne,m as Ie,o as U,r as N,v as Dt,y as G}from"./main-F7D3L737.js";import{ct as Me,wi as wu}from"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import{Ar as Qa,Ia as a,qi as Xg,ul as sg}from"./chunk-D5qmP2Wu.js";import{t as y}from"./chunk-xTX16tt2.js";import"./chunk-DjewtV43.js";import"./chunk-BzUDWIzm.js";import"./chunk-CczD0yXn.js";import"./chunk-CReShp-B.js";import"./chunk-DM5aibnW.js";import"./chunk-DsaNNeZe.js";import{d as nr,f as or,h as yn,m as un,n as an,o as gn,r as cn,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{n as u}from"./chunk-BHEFFEGN.js";import{t as g$2}from"./chunk-CPHUl7N2.js";import{t as l$1}from"./chunk-C0Ceu-vg.js";import"./chunk-CXHCUTDs.js";import{t as O}from"./chunk-PqGGk0JD.js";import{t as u$1}from"./chunk-DboSVJMM.js";import{n as l$2,t as i}from"./chunk-CLHj5Ycx2.js";import{a as S,i as R,n as E}from"./chunk-Dns8uMf32.js";import"./chunk-cTGENC4T2.js";import{t as K}from"./chunk-Ck6cItVE2.js";import{t as f}from"./chunk-DOCau85G2.js";import{t as q}from"./chunk-XtjMOmku2.js";import"./chunk-ZBDWcE362.js";import{t as Q}from"./chunk-HmRGBt692.js";import"./chunk-CP-AnFGa2.js";import"./chunk-scbWWgLx2.js";import{t as Of}from"./chunk-D8xHm8jb2.js";import{t as R$1}from"./chunk-NDpjbcAr2.js";var We=i=>i.status!==`issued`||i.creditedCents>0?0:i.currentRevision.totalCents-i.payments.reduce((t,e)=>e.cancelledAt!==null?t:t+e.amountCents,0);var L=class i{invoices=g(R$1);clients=g(y);i18n=g(Ie);async prepare(t){let e=await this.invoices.get(t);if(!e.success)return;let r=We(e.result),n=e.result.invoiceNumber;if(r<=0||n===null)return;let v=await this.clients.get(e.result.clientId);if(!v.success)return;let S=this.i18n.language();return{recipient:v.result.email,reference:n,subject:this.i18n.tf(`emails.reminderSubject`,{reference:n}),body:this.i18n.tf(`emails.reminderBody`,{reference:n,amount:Ne(r,S,e.result.currentRevision.currency),dueDate:u(e.result.currentRevision.dueDate,S,{dateStyle:`long`})}),bodyFormat:`plain`}}static ɵfac=function(e){return new(e||i)};static ɵprov=A({token:i,factory:i.ɵfac,providedIn:`root`})};var Ae=[`*`];function Be(i,t){if(i&1&&(pd(0,`p`),y_(1),hd()),i&2){let e=qS();ZC(),nv(e.description())}}var z=class i{legend=NH.required();description=NH(``);static ɵfac=function(e){return new(e||i)};static ɵcmp=Fb({type:i,selectors:[[`fieldset`,`appFieldGroup`,``]],inputs:{legend:[1,`legend`],description:[1,`description`]},ngContentSelectors:Ae,decls:5,vars:2,consts:[[1,`fields`]],template:function(e,r){e&1&&(ZS(),pd(0,`legend`),y_(1),hd(),OS(2,Be,2,1,`p`),pd(3,`div`,0),KS(4),hd()),e&2&&(ZC(),nv(r.legend()),ZC(),kS(r.description()?2:-1))},styles:[`[_nghost-%COMP%]{display:block;min-inline-size:0;margin:0;padding:0;border:0}legend[_ngcontent-%COMP%]{padding:0;font-family:var(--%NS%font-display);font-size:var(--%NS%text-lg);font-weight:600}p[_ngcontent-%COMP%]{margin-block:var(--%NS%space-2) var(--%NS%space-4);color:var(--%NS%color-muted)}.fields[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);margin-block-start:var(--%NS%space-3)}`]})};var Le=i=>[`/emails/messages`,i];function ze(i,t){if(i&1&&(Us(0,`p`,4),y_(1),fd()),i&2){let e=qS();ZC(),nv(e.i18n.t(t))}}function Ue(i,t){if(i&1&&(Us(0,`p`,5),y_(1),fd()),i&2){let e=qS();ZC(),nv(e.i18n.t(`integrations.loading`))}}function Ge(i,t){if(i&1){let e=zS();Us(0,`div`)(1,`button`,6),Gy(`click`,function(){Ip(e);return wp(qS().load())}),y_(2),fd()()}if(i&2){let e=qS();ZC(2),nv(e.i18n.t(`integrations.reload`))}}function Qe(i,t){if(i&1&&(Us(0,`a`,8),y_(1),fd()),i&2){let e=qS(2);Fy(`routerLink`,k_(2,Le,t.id)),ZC(),nv(e.i18n.t(`emailsWorkspace.viewMessage`))}}function He(i,t){if(i&1&&(Us(0,`p`,7),y_(1),fd(),OS(2,Qe,2,4,`a`,8)),i&2){let e,r=qS();ZC(),vd(` `,r.i18n.t(r.operation()?`emails.simulated`:r.archived()?`emailsWorkspace.draftArchived`:`emailDraft.saved`),` `),ZC(),kS((e=r.operation())?2:-1,e)}}function Ke(i,t){if(i&1&&(Us(0,`p`,9),y_(1),fd()),i&2){let e=qS(2);ZC(),nv(e.i18n.t(`emails.reminderReview`))}}function Je(i,t){if(i&1){let e=zS();Us(0,`p`,23),y_(1),fd(),Us(2,`div`)(3,`button`,32),Gy(`click`,function(){Ip(e);return wp(qS(2).retry())}),y_(4),fd()()}if(i&2){let e=qS(2);ZC(),nv(e.i18n.t(`emailsWorkspace.pending`)),ZC(2),Fy(`disabled`,e.busy()||e.mode()!==`simulation`||t.expectedMode!==`simulation`),ZC(),vd(` `,e.i18n.t(`emails.retry`),` `)}}function Xe(i,t){if(i&1&&y_(0),i&2)vd(` `,qS(2).i18n.t(`emailsWorkspace.recipientInvalid`),` `)}function Ye(i,t){if(i&1&&y_(0),i&2)vd(` `,qS(2).i18n.t(`emailsWorkspace.shortTextInvalid`),` `)}function Ze(i,t){if(i&1&&(Us(0,`p`,23),y_(1),fd()),i&2){let e=qS(2);ZC(),nv(e.i18n.t(t))}}function $e(i,t){if(i&1&&y_(0),i&2)vd(` `,qS(2).i18n.t(`emailsWorkspace.shortTextInvalid`),` `)}function et(i,t){if(i&1&&y_(0),i&2)vd(` `,qS(3).i18n.t(`emailsWorkspace.bodyInvalid`),` `)}function tt(i,t){if(i&1&&(Us(0,`label`,14),y_(1),Py(2,`textarea`,35),qT(),Us(3,`span`,36),OS(4,et,1,1),fd()()),i&2){let e=qS(2);ZC(),nv(e.i18n.t(`emails.body`)),ZC(),Fy(`formField`,e.messageForm.body),ky(`aria-invalid`,e.invalid(`body`)),ZT(),ZC(2),kS(e.invalid(`body`)?4:-1)}}function it(i,t){if(i&1&&y_(0),i&2)vd(` `,qS(3).i18n.t(`emailsWorkspace.bodyInvalid`),` `)}function nt(i,t){if(i&1&&(Py(0,`app-document-text-editor`,37),qT(),Us(1,`span`,36),OS(2,it,1,1),fd()),i&2){let e=qS(2);Fy(`label`,e.i18n.t(`emails.body`))(`formField`,e.messageForm.body)(`presentation`,e.bodyPresentation())(`showPlacement`,!1),ZT(),ZC(2),kS(e.invalid(`body`)?2:-1)}}function rt(i,t){if(i&1){let e=zS();Us(0,`app-action-menu`,38),Gy(`actionSelected`,function(){Ip(e);return wp(qS(2).archive())}),fd()}if(i&2){let e=qS(2);Fy(`label`,e.i18n.t(`listControls.moreActions`))(`actions`,e.draftActions())(`disabled`,e.busy()||e.pending()!==void 0)}}function at(i,t){if(i&1){let e=zS();OS(0,Ke,2,1,`p`,9),OS(1,Je,5,3),Us(2,`form`,10),Gy(`submit`,function(n){Ip(e);return wp(qS().save(n))}),Us(3,`div`,11)(4,`fieldset`,12)(5,`div`,13)(6,`label`,14),y_(7),Py(8,`input`,15),qT(),Us(9,`span`,16),OS(10,Xe,1,1),fd()(),Us(11,`label`,14),y_(12),Py(13,`input`,17),qT(),Us(14,`span`,18),OS(15,Ye,1,1),fd()()()()(),Us(16,`div`,19)(17,`div`,20)(18,`app-object-picker`,21),Gy(`selected`,function(n){Ip(e);return wp(qS().applyTemplate(n))}),fd(),Us(19,`a`,22),y_(20),fd()(),OS(21,Ze,2,1,`p`,23),Us(22,`label`,14),y_(23),Py(24,`input`,24),qT(),Us(25,`span`,25),OS(26,$e,1,1),fd()(),Us(27,`app-segmented-control`,26),Gy(`valueChange`,function(n){Ip(e);return wp(qS().changeBodyFormat(n))}),fd(),OS(28,tt,5,4,`label`,14)(29,nt,3,5),fd(),Us(30,`section`,27)(31,`h2`,28),y_(32),fd(),Us(33,`strong`),y_(34),fd(),Us(35,`p`,29),y_(36),fd(),Py(37,`app-document-text-view`,30),fd(),Us(38,`div`,20)(39,`button`,31),y_(40),fd(),Us(41,`button`,32),Gy(`click`,function(){Ip(e);return wp(qS().saveDraft())}),y_(42),fd(),OS(43,rt,1,3,`app-action-menu`,33),Us(44,`a`,34),y_(45),fd()()()}if(i&2){let e,r,n=qS();kS(n.reminderPrepared()?0:-1),ZC(),kS((e=n.pending())?1:-1,e),ZC(3),Fy(`legend`,n.i18n.t(`emailsWorkspace.addressing`)),ZC(3),nv(n.i18n.t(`emails.recipient`)),ZC(),Fy(`formField`,n.messageForm.recipient),ky(`aria-invalid`,n.invalid(`recipient`)),ZT(),ZC(2),kS(n.invalid(`recipient`)?10:-1),ZC(2),nv(n.i18n.t(`emails.reference`)),ZC(),Fy(`formField`,n.messageForm.reference),ky(`aria-invalid`,n.invalid(`reference`)),ZT(),ZC(2),kS(n.invalid(`reference`)?15:-1),ZC(3),Fy(`label`,n.i18n.t(`emailsWorkspace.chooseTemplate`))(`options`,n.templateOptions())(`disabled`,n.busy()||n.pending()!==void 0),ZC(2),nv(n.i18n.t(`emailsWorkspace.manageTemplates`)),ZC(),kS((r=n.templateError())?21:-1,r),ZC(2),nv(n.i18n.t(`emails.subject`)),ZC(),Fy(`formField`,n.messageForm.subject),ky(`aria-invalid`,n.invalid(`subject`)),ZT(),ZC(2),kS(n.invalid(`subject`)?26:-1),ZC(),Fy(`label`,n.i18n.t(`emailsWorkspace.bodyFormat`))(`options`,n.bodyFormatOptions())(`value`,n.model().bodyFormat)(`disabled`,n.busy()||n.pending()!==void 0),ZC(),kS(n.model().bodyFormat===`plain`?28:29),ZC(4),nv(n.i18n.t(`emailsWorkspace.preview`)),ZC(2),nv(n.model().subject),ZC(2),rv(``,n.model().recipient,` — `,n.model().reference),ZC(),Fy(`source`,n.model().body)(`presentation`,n.bodyPresentation()),ZC(2),Fy(`disabled`,n.busy()||n.pending()!==void 0),ZC(),vd(` `,n.i18n.t(n.busy()?`emailsWorkspace.saving`:`emails.recordSimulation`)),ZC(),Fy(`disabled`,n.busy()||n.pending()!==void 0),ZC(),vd(` `,n.i18n.t(`emailDraft.save`)),ZC(),kS(n.draft()?43:-1),ZC(),Fy(`routerLink`,n.backLink())(`queryParams`,n.backQuery()),ZC(),nv(n.i18n.t(`catalogWorkspace.cancel`))}}var qe=()=>({recipient:``,reference:``,subject:``,body:``,bodyFormat:`plain`});var Ve=class i$1{i18n=g(Ie);api=g(f);draftsApi=g(l$1);templatesApi=g(u$1);reminder=g(L);recovery=g(q);confirmation=g(P);route=g(G);router=g(ue);destroyRef=g(pe);pendingTasks=g(Mn);state=Ke$1(`loading`);busy=Ke$1(!1);confirming=Ke$1(!1);error=Ke$1(void 0);templateError=Ke$1(void 0);mode=Ke$1(void 0);pending=Ke$1(void 0);completed=Ke$1(!1);archived=Ke$1(!1);operation=Ke$1(void 0);draft=Ke$1(void 0);titleLabel=Ft(()=>this.draft()?`emailsWorkspace.editDraft`:`emailsWorkspace.newMessage`);reminderPrepared=Ke$1(!1);prepared=Ke$1(!1);templates=Ke$1([]);draftActions=Ft(()=>[{id:`archive`,label:this.i18n.t(`emailDraft.archive`),danger:!0}]);templateOptions=Ft(()=>this.templates().map(t=>({id:t.id,label:t.subject})));model=Ke$1(qe());bodyPresentation=Ft(()=>i(this.model().bodyFormat));bodyFormatOptions=Ft(()=>[{value:`plain`,label:this.i18n.t(`emailsWorkspace.plainText`)},{value:`blocks`,label:this.i18n.t(`emailsWorkspace.formattedText`)}]);messageForm=nr(this.model,t=>{an(t,()=>this.busy()||this.pending()!==void 0||this.completed()||this.state()!==`ready`),gn(t.recipient),un(t.recipient),cn(t.recipient,254),gn(t.reference),mn(t.reference,/\S/),cn(t.reference,160),gn(t.subject),mn(t.subject,/\S/),cn(t.subject,160),gn(t.body),mn(t.body,/\S/),cn(t.body,2e4)});store;draftId;generation=0;constructor(){Ol(()=>this.route.paramMap.pipe(U(this.destroyRef)).subscribe(()=>{this.pendingTasks.run(()=>this.load())}))}backLink(){return[`/emails`,S(this.route.snapshot.queryParamMap.get(`view`))]}backQuery(){return R(E(this.route.snapshot.queryParamMap))}invalid(t){return this.messageForm[t]().invalid()&&this.messageForm[t]().touched()}unsaved(){return!this.completed()&&(this.messageForm().dirty()||this.prepared()||this.pending()!==void 0)}async canDeactivate(){return!this.busy()&&!this.confirming()&&(!this.unsaved()||await this.confirmation.request(this.i18n.t(`emailsWorkspace.unsaved`)))}preventUnload(t){(this.busy()||this.confirming()||this.unsaved())&&t.preventDefault()}async load(){let t=++this.generation;this.state.set(`loading`),this.error.set(void 0),this.templateError.set(void 0),this.completed.set(!1),this.archived.set(!1),this.operation.set(void 0),this.draft.set(void 0),this.draftId=void 0,this.prepared.set(!1),this.reminderPrepared.set(!1),this.pending.set(void 0),this.model.set(qe()),this.messageForm().reset();try{let e=await this.recovery.businessEmail();if(this.destroyRef.destroyed||t!==this.generation)return;this.store=e;let r=e.read();r&&(this.pending.set(r),this.model.set(r));let[n,v]=await Promise.all([this.api.status(),this.templatesApi.list()]);if(this.destroyRef.destroyed||t!==this.generation)return;if(this.mode.set(n.find(h=>h.kind===`email`)?.mode),v.success?this.templates.set(v.result):this.templateError.set(v.code),r){let h=await this.api.list(`email`);if(this.destroyRef.destroyed||t!==this.generation)return;let c=h.find(w=>w.request.requestId===r.requestId);c?.request.kind===`email`&&c.receipt!==null&&c.request.recipient===r.recipient&&c.request.reference===r.reference&&c.request.subject===r.subject&&c.request.body===r.body&&c.request.bodyFormat===r.bodyFormat&&c.request.expectedMode===r.expectedMode&&(e.clear(),this.pending.set(void 0),this.completed.set(!0),this.operation.set(c),this.messageForm().reset()),this.state.set(`ready`);return}let S=this.route.snapshot.paramMap.get(`draftId`);if(S!==null){if(!wu.is(Qa)(S)){this.error.set(`email_draft.not_found`),this.state.set(`error`);return}let h=await this.draftsApi.list();if(this.destroyRef.destroyed||t!==this.generation)return;if(!h.success){this.error.set(h.code),this.state.set(`error`);return}let c=h.result.find(w=>w.id===S);if(!c){this.error.set(`email_draft.not_found`),this.state.set(`error`);return}this.draft.set(c),this.draftId=c.id,this.model.set(c),this.reminderPrepared.set(c.reminder)}else{let h=this.route.snapshot.queryParamMap.get(`invoice`);if(h!==null){let c=wu.decodeUnknownOption(a)(h),w=Me.isSome(c)?await this.reminder.prepare(c.value):void 0;if(this.destroyRef.destroyed||t!==this.generation)return;if(!w){this.error.set(`emails.reminderFailed`),this.state.set(`error`);return}this.model.set(w),this.reminderPrepared.set(!0),this.prepared.set(!0)}}this.messageForm().reset(),this.state.set(`ready`)}catch{!this.destroyRef.destroyed&&t===this.generation&&(this.error.set(`emailsWorkspace.recoveryError`),this.state.set(`error`))}}async applyTemplate(t){let e=this.templates().find(r=>r.id===t);if(!(!e||this.busy()||this.confirming()||this.pending()||this.completed())){this.confirming.set(!0);try{if((this.model().subject||this.model().body)&&!await this.confirmation.request(this.i18n.t(`emailsWorkspace.replaceTemplate`)))return}finally{this.confirming.set(!1)}this.destroyRef.destroyed||(this.model.update(r=>m(l({},r),{subject:e.subject,body:e.body,bodyFormat:e.bodyFormat})),this.prepared.set(!0))}}changeBodyFormat(t){this.busy()||this.pending()||this.completed()||this.state()!==`ready`||(this.model.update(e=>m(l({},e),{body:l$2(e.body,e.bodyFormat,t),bodyFormat:t})),this.prepared.set(!0))}async persistDraft(){let t=wu.decodeUnknownOption(Xg)(m(l({},this.model()),{reminder:this.reminderPrepared(),expectedVersion:this.draft()?.version??0}));if(Me.isNone(t))return this.error.set(`emails.invalid`),!1;this.draftId??=crypto.randomUUID();let e=await this.draftsApi.save(this.draftId,t.value);return e.success?(this.draft.set(e.result),this.prepared.set(!1),this.messageForm().reset(),!0):(this.error.set(e.code),!1)}async saveDraft(){if(!(this.busy()||this.pending()||this.completed()||this.state()!==`ready`)){this.busy.set(!0),this.error.set(void 0);try{await this.persistDraft()&&this.completed.set(!0)}catch{this.error.set(`emailDraft.error`)}finally{this.busy.set(!1)}this.completed()&&await this.router.navigate([`/emails/drafts`],{queryParams:this.backQuery()})}}save(t){if(t.preventDefault(),!(this.busy()||this.pending()||this.completed()||this.state()!==`ready`)){this.messageForm().markAsTouched();for(let e of[`recipient`,`reference`,`subject`,`body`])if(this.messageForm[e]().invalid()){this.messageForm[e]().focusBoundControl();return}if(this.mode()!==`simulation`){this.error.set(`emailsWorkspace.simulationOnly`);return}or(this.messageForm,async()=>{this.busy.set(!0),this.error.set(void 0);try{if(!await this.persistDraft())return;let e=wu.decodeUnknownOption(sg)(m(l({},this.model()),{kind:`email`,requestId:this.draftId,expectedMode:`simulation`}));if(Me.isNone(e)||!this.store){this.error.set(`emails.invalid`);return}this.store.write(e.value),this.pending.set(e.value)}catch{this.error.set(`emailsWorkspace.recoveryError`)}finally{this.busy.set(!1)}this.pending()&&await this.retry()})}}async retry(){let t=this.pending();if(!t||!this.store||this.busy()||t.expectedMode!==`simulation`||this.mode()!==`simulation`)return;this.busy.set(!0),this.error.set(void 0);try{let r=await this.api.submit(t);if(!r.success){this.error.set(r.code);return}this.store.clear(),this.operation.set(r.result),this.pending.set(void 0),this.prepared.set(!1),this.completed.set(!0),this.messageForm().reset()}catch{this.error.set(`emails.error`)}finally{this.busy.set(!1)}let e=this.operation();e&&await this.router.navigate([`/emails/messages`,e.id])}async archive(){let t=this.draft();if(!(!t||this.busy()||this.confirming()||this.pending()||this.completed())){this.confirming.set(!0);try{if(!await this.confirmation.request(this.i18n.t(`emailDraft.archiveConfirm`)))return}finally{this.confirming.set(!1)}if(!this.destroyRef.destroyed){this.busy.set(!0),this.error.set(void 0);try{let e=await this.draftsApi.archive(t);e.success?(this.archived.set(!0),this.completed.set(!0),this.prepared.set(!1),this.messageForm().reset()):this.error.set(e.code)}catch{this.error.set(`emailDraft.error`)}finally{this.busy.set(!1)}this.completed()&&await this.router.navigate([`/emails/drafts`])}}}static ɵfac=function(e){return new(e||i$1)};static ɵcmp=Fb({type:i$1,selectors:[[`app-email-composer`]],hostAttrs:[1,`page-container`],hostBindings:function(e,r){e&1&&Gy(`beforeunload`,function(v){return r.preventUnload(v)},Zw)},decls:13,vars:7,consts:[[`aria-labelledby`,`composer-title`,1,`detail-page`,`form-page`],[`layout`,`stacked`],[`pageBack`,``,3,`routerLink`,`queryParams`],[`id`,`composer-title`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`role`,`status`],[`appButton`,``,`type`,`button`,3,`click`],[`appNotice`,``,`variant`,`success`,`role`,`status`],[3,`routerLink`],[`appNotice`,``],[`novalidate`,``,1,`task-form`,`composer`,3,`submit`],[1,`ds-panel`,`form-panel`],[`appFieldGroup`,``,3,`legend`],[1,`fields`],[1,`field`],[`id`,`email-recipient`,`type`,`email`,`autocomplete`,`off`,`aria-describedby`,`email-recipient-error`,1,`input`,3,`formField`],[`id`,`email-recipient-error`,1,`field-error`],[`id`,`email-reference`,`aria-describedby`,`email-reference-error`,1,`input`,3,`formField`],[`id`,`email-reference-error`,1,`field-error`],[1,`message-fields`,`ds-panel`,`form-panel`],[1,`actions`],[3,`selected`,`label`,`options`,`disabled`],[`routerLink`,`/emails/templates`],[`appNotice`,``,`variant`,`warning`],[`id`,`email-subject`,`aria-describedby`,`email-subject-error`,1,`input`,3,`formField`],[`id`,`email-subject-error`,1,`field-error`],[`controlId`,`email-body-format`,`variant`,`default`,3,`valueChange`,`label`,`options`,`value`,`disabled`],[`aria-labelledby`,`message-preview-title`,1,`message-preview`,`preview-surface`,`ds-panel`],[`id`,`message-preview-title`],[1,`muted`],[3,`source`,`presentation`],[`appButton`,``,`variant`,`primary`,`type`,`submit`,3,`disabled`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`],[3,`label`,`actions`,`disabled`],[`appLinkButton`,``,3,`routerLink`,`queryParams`],[`id`,`email-body`,`rows`,`10`,`aria-describedby`,`email-body-error`,1,`input`,3,`formField`],[`id`,`email-body-error`,1,`field-error`],[`controlId`,`email-body`,`descriptionId`,`email-body-error`,3,`label`,`formField`,`presentation`,`showPlacement`],[3,`actionSelected`,`label`,`actions`,`disabled`]],template:function(e,r){if(e&1&&(Us(0,`section`,0)(1,`app-page-header`,1)(2,`a`,2),y_(3),fd(),Us(4,`h1`,3),y_(5),fd(),Us(6,`p`),y_(7),fd()(),OS(8,ze,2,1,`p`,4),OS(9,Ue,2,1,`p`,5)(10,Ge,3,1,`div`)(11,He,3,2)(12,at,46,39),fd()),e&2){let n;ZC(2),Fy(`routerLink`,r.backLink())(`queryParams`,r.backQuery()),ZC(),nv(r.i18n.t(`emailsWorkspace.back`)),ZC(2),nv(r.i18n.t(r.titleLabel())),ZC(2),nv(r.i18n.t(`emailsWorkspace.simulationOnly`)),ZC(),kS((n=r.error())?8:-1,n),ZC(),kS(r.state()===`loading`?9:r.state()===`error`?10:r.completed()?11:12)}},dependencies:[Q,N,Of,g$2,z,yn,k,K,g$1,Dt,O],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}}.task-form[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-6);inline-size:100%}.field[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-2);min-inline-size:0}.fields[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--%NS%space-4)}.actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:var(--%NS%space-3);align-items:center}.muted[_ngcontent-%COMP%]{color:var(--%NS%color-muted)}.field-error[_ngcontent-%COMP%]{color:var(--%NS%color-danger);font-size:var(--%NS%text-sm)}.field-error[_ngcontent-%COMP%]:empty{display:none}.message-body[_ngcontent-%COMP%]{white-space:pre-wrap;overflow-wrap:anywhere}.message-preview[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-3);padding:var(--%NS%space-4);background:var(--%NS%color-surface-raised)}dl[_ngcontent-%COMP%]{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--%NS%space-3) var(--%NS%space-5)}dt[_ngcontent-%COMP%]{color:var(--%NS%color-muted)}dd[_ngcontent-%COMP%]{margin:0;overflow-wrap:anywhere}fieldset[_ngcontent-%COMP%]{border:0;padding:0;margin:0;min-inline-size:0}legend[_ngcontent-%COMP%]{padding:0;margin-block-end:var(--%NS%space-4);font-weight:700}@media(max-width:40rem){.fields[_ngcontent-%COMP%]{grid-template-columns:1fr}dl[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:var(--%NS%space-2)}}.message-fields[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4)}.message-preview[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:var(--%NS%text-lg)}`]})};export{Ve as EmailComposer};
@@ -1 +1 @@
1
- import{Dn as g,H as JD,o as A,ot as OD}from"./chunk-BAHiFuUo.js";import{wi as wu}from"./chunk-BAe_07VM.js";import{Ii as We,V as Cu,fu as xa,ls as ig,zs as ku}from"./chunk-CjtJKrza.js";import{n as m}from"./chunk-Dv9sNWWK.js";var f=class e{http=g(OD);async retries(){return wu.decodeUnknownSync(ig)(await JD(this.http.get(`/api/integrations/retries`)))}async status(){return wu.decodeUnknownSync(ku)(await JD(this.http.get(`/api/integrations`)))}async list(t){return wu.decodeUnknownSync(Cu)(await JD(this.http.get(`/api/integrations/operations`,{params:t===void 0?{}:{kind:t}})))}submit(t){return m(this.http.post(`/api/integrations/operations`,t),xa,We,`integrations.error`)}static ɵfac=function(d){return new(d||e)};static ɵprov=A({token:e,factory:e.ɵfac,providedIn:`root`})};export{f as t};
1
+ import{Dn as g,H as JD,o as A,ot as OD}from"./chunk-BAHiFuUo.js";import{wi as wu}from"./chunk-BAe_07VM.js";import{n as m}from"./chunk-Dv9sNWWK.js";import{Ii as We,V as Cu,fu as xa,ls as ig,zs as ku}from"./chunk-D5qmP2Wu.js";var f=class e{http=g(OD);async retries(){return wu.decodeUnknownSync(ig)(await JD(this.http.get(`/api/integrations/retries`)))}async status(){return wu.decodeUnknownSync(ku)(await JD(this.http.get(`/api/integrations`)))}async list(t){return wu.decodeUnknownSync(Cu)(await JD(this.http.get(`/api/integrations/operations`,{params:t===void 0?{}:{kind:t}})))}submit(t){return m(this.http.post(`/api/integrations/operations`,t),xa,We,`integrations.error`)}static ɵfac=function(d){return new(d||e)};static ɵprov=A({token:e,factory:e.ɵfac,providedIn:`root`})};export{f as t};
@@ -1 +1 @@
1
- import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,Gn as k_,Ir as wp,It as Us,Jr as zS,K as Ke,M as H_,Nr as vd,Sr as rv,Tn as fd,V as Iy,Wn as kS,Wr as y_,dr as pe$1,ft as Ol,l as A_,lt as OS,pr as qS,rr as nv,ut as O_,vt as Py,w as Fb,xt as Qg,z as Ip,zn as j_}from"./chunk-BAHiFuUo.js";import{a as T,h as Ne,m as Ie,o as U,r as N,v as Dt,y as G}from"./main-AJD2LGCE.js";import{t as D}from"./chunk-CuukTiS1.js";import{t as g$1}from"./chunk-B56nz2lI.js";import"./chunk-BzUDWIzm.js";import{t as k}from"./chunk-DRgIjFR6.js";import"./chunk-BAe_07VM.js";import{t as P$1}from"./chunk-DzxhjLIR.js";import{Ni as WT}from"./chunk-CjtJKrza.js";import"./chunk-Dv9sNWWK.js";import{t as d}from"./chunk-CfwFJLFh.js";import{t as E}from"./chunk-BWNhkOOr.js";import{t as l}from"./chunk-Bm0a1bep.js";import"./chunk-DjewtV43.js";import{t as p}from"./chunk-BHEFFEGN.js";import"./chunk-BqIPzI6E2.js";import"./chunk-2sHWWuzv2.js";import{i as f,n as O,o as x,r as R}from"./chunk-Dyia17vy.js";import{t as f$1}from"./chunk-ClYiqUra.js";import{n as m,t as l$1}from"./chunk-DU2qw7-O.js";var P=()=>({dateStyle:`medium`,timeStyle:`short`});var de=e=>[`/invoices`,e];var le=()=>[`integration.configure`,`invoice.read`];function se(e,r){if(e&1&&(Us(0,`span`,3),y_(1),fd()),e&2){let n=qS();ZC(),nv(n.i18n.t(n.statusLabel(r.status)))}}function pe(e,r){if(e&1&&(Us(0,`p`,5),y_(1),fd()),e&2){let n=qS();ZC(),nv(n.i18n.t(`checkout.paused`))}}function ue(e,r){e&1&&(Us(0,`p`),y_(1),fd()),e&2&&(ZC(),nv(r.invoiceNumber))}function me(e,r){if(e&1&&(Us(0,`p`,6),y_(1),fd()),e&2){let n=qS();ZC(),nv(n.i18n.t(n.historyLabel()))}}function ge(e,r){if(e&1&&(Us(0,`p`,7),y_(1),fd()),e&2){let n=qS();ZC(),nv(n.i18n.t(r))}}function he(e,r){if(e&1&&(Us(0,`p`,5),y_(1),fd()),e&2){let n=qS(2);ZC(),nv(n.i18n.t(r))}}function _e(e,r){if(e&1&&(Us(0,`dt`),y_(1),fd(),Us(2,`dd`),y_(3),j_(4,`localizedDate`),fd()),e&2){let n=qS(2);ZC(),nv(n.i18n.t(`checkout.nextAttempt`)),ZC(2),vd(` `,H_(4,2,r,n.i18n.language(),O_(6,P)),` `)}}function ye(e,r){if(e&1){let n=zS();Us(0,`button`,15),Gy(`click`,function(){Ip(n);return wp(qS(3).reconcile())}),y_(1),fd()}if(e&2){let n=qS(3);Fy(`disabled`,n.reconciling()),ZC(),vd(` `,n.i18n.t(`checkout.reconcile`),` `)}}function fe(e,r){e&1&&Iy(0,ye,2,2,`button`,14),e&2&&Fy(`appCan`,O_(1,le))}function Ce(e,r){if(e&1&&(Us(0,`a`,11),y_(1),fd()),e&2){let n=qS(),s=qS();Fy(`href`,n.checkoutUrl,Qg),ZC(),nv(s.i18n.t(`checkout.openStripe`))}}function xe(e,r){if(e&1&&(Us(0,`p`),y_(1),fd()),e&2){let n=qS(3);ZC(),nv(n.i18n.t(`checkout.reconcileHint`))}}function ve(e,r){e&1&&Iy(0,xe,2,1,`p`,16),e&2&&Fy(`appCan`,O_(1,le))}function ke(e,r){if(e&1&&(Us(0,`p`),y_(1),fd()),e&2){let n=qS(2);ZC(),nv(n.i18n.t(`checkout.testCard`))}}function be(e,r){if(e&1&&(OS(0,he,2,1,`p`,5),Us(1,`dl`)(2,`dt`),y_(3),fd(),Us(4,`dd`),y_(5),fd(),Us(6,`dt`),y_(7),fd(),Us(8,`dd`),y_(9),fd(),Us(10,`dt`),y_(11),fd(),Us(12,`dd`),y_(13),j_(14,`localizedDate`),fd(),Us(15,`dt`),y_(16),fd(),Us(17,`dd`),y_(18),j_(19,`localizedDate`),fd(),OS(20,_e,5,7),fd(),Us(21,`div`,8),OS(22,fe,1,2,`button`,9),Us(23,`a`,10),y_(24),fd(),OS(25,Ce,2,2,`a`,11),fd(),OS(26,ve,1,2,`p`),OS(27,ke,2,1,`p`),Us(28,`p`),y_(29),fd(),Us(30,`section`,12)(31,`h2`,13),y_(32),fd(),Us(33,`dl`)(34,`dt`),y_(35),fd(),Us(36,`dd`)(37,`code`),y_(38),fd()(),Us(39,`dt`),y_(40),fd(),Us(41,`dd`)(42,`code`),y_(43),fd()()()()),e&2){let n,s,d=r,l=qS();kS((n=d.error)?0:-1,n),ZC(3),nv(l.i18n.t(`checkout.amount`)),ZC(2),nv(l.money(d.amountCents)),ZC(2),nv(l.i18n.t(`checkout.attempts`)),ZC(2),nv(d.attempts),ZC(2),nv(l.i18n.t(`checkout.expiresAt`)),ZC(2),vd(` `,H_(14,22,d.expiresAt,l.i18n.language(),O_(30,P)),` `),ZC(3),nv(l.i18n.t(`checkout.updatedAt`)),ZC(2),vd(` `,H_(19,26,d.updatedAt,l.i18n.language(),O_(31,P)),` `),ZC(2),kS((s=d.nextAttemptAt)?20:-1,s),ZC(2),kS(l.canReconcile(d)?22:-1),ZC(),Fy(`routerLink`,k_(32,de,d.request.invoiceId)),ZC(),nv(l.i18n.t(`checkout.viewInvoice`)),ZC(),kS(l.canOpen(d)?25:-1),ZC(),kS(l.canReconcile(d)?26:-1),ZC(),kS(l.canOpen(d)?27:-1),ZC(2),nv(l.i18n.t(`checkout.returnHint`)),ZC(3),nv(l.i18n.t(`checkout.identifiers`)),ZC(3),nv(l.i18n.t(`checkout.requestId`)),ZC(3),nv(d.request.requestId),ZC(2),nv(l.i18n.t(`checkout.sessionId`)),ZC(3),nv(d.sessionId??`—`)}}var ce=class e{authentication=g(E);confirmation=g(P$1);reconcileAllowed=Ft(()=>this.authentication.can(`integration.configure`)&&this.authentication.can(`invoice.read`));i18n=g(Ie);history=g(f$1);api=g(f);reconciling=Ke(!1);reconcileError=Ke(void 0);reconcileErrorMessage=Ft(()=>O(this.reconcileError()));canReconcile=WT;route=g(G);params=T(this.route.paramMap,{requireSync:!0});queryParams=T(this.route.queryParamMap,{requireSync:!0});testParams=Ft(()=>l$1(`stripe`,this.queryParams()));tabs=Ft(()=>m(`stripe`,this.i18n,this.params().get(`requestId`)));current=Ft(()=>this.history.operations().find(r=>r.request.requestId===this.params().get(`requestId`)));statusLabel=x;canOpen=R;historyLabel=Ft(()=>this.history.loaded()?`checkout.requestNotFound`:this.history.paused()?`checkout.historyUnknown`:`checkout.historyLoading`);destroyRef=g(pe$1);constructor(){Ol(()=>{this.history.watch(()=>this.reconciling()).pipe(U(this.destroyRef)).subscribe()})}async reconcile(){let r=this.current(),n=this.authentication.account();if(!(!n||!this.reconcileAllowed()||!r||!WT(r)||this.reconciling())){this.reconciling.set(!0),this.reconcileError.set(void 0);try{if(!await this.confirmation.request(this.i18n.t(`checkout.reconcileHint`),{acceptLabel:this.i18n.t(`checkout.reconcile`)})||this.destroyRef.destroyed)return;let s=await this.authentication.refreshAccount(),d=this.current();if(this.destroyRef.destroyed||s?.userId!==n.userId||!this.reconcileAllowed()||!d||!WT(d)||d.request.requestId!==r.request.requestId)return;this.history.invalidate();let l=await this.api.reconcile(r.request.requestId);if(this.destroyRef.destroyed)return;l.success?this.history.record(l.result):this.reconcileError.set(l.code)}catch{this.destroyRef.destroyed||this.reconcileError.set(`checkout.error`)}finally{this.destroyRef.destroyed||(this.reconciling.set(!1),this.reconcileAllowed()&&this.history.refresh())}}}money(r){return Ne(r,this.i18n.language(),`EUR`)}static ɵfac=function(n){return new(n||e)};static ɵcmp=Fb({type:e,selectors:[[`app-checkout-detail`]],hostAttrs:[1,`page-container`],features:[A_([f$1])],decls:15,vars:14,consts:[[1,`detail-page`,`form-page`],[`layout`,`stacked`],[`pageBack`,``,`routerLink`,`/services/stripe/tests`,3,`queryParams`],[`appBadge`,``,`pageBadges`,``,`role`,`status`],[3,`label`,`tabs`,`preserveQuery`,`preserveFragment`],[`appNotice`,``,`variant`,`warning`],[`role`,`status`],[`appNotice`,``,`variant`,`danger`],[1,`spacer-x-4`],[`appButton`,``,`type`,`button`,3,`disabled`],[3,`routerLink`],[`appLinkButton`,``,`variant`,`primary`,`rel`,`noreferrer noopener`,`target`,`_blank`,3,`href`],[`aria-labelledby`,`checkout-identifiers-title`,1,`identifiers`],[`id`,`checkout-identifiers-title`],[`appButton`,``,`type`,`button`,3,`disabled`,`click`,4,`appCan`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`],[4,`appCan`]],template:function(n,s){if(n&1&&(Us(0,`section`,0)(1,`app-page-header`,1)(2,`a`,2),y_(3),fd(),Us(4,`h1`),y_(5),fd(),Us(6,`p`),y_(7),fd(),OS(8,se,2,1,`span`,3),fd(),Py(9,`app-tabs`,4),OS(10,pe,2,1,`p`,5),OS(11,ue,2,1,`p`)(12,me,2,1,`p`,6),OS(13,ge,2,1,`p`,7),OS(14,be,44,34),fd()),n&2){let d,l,O,I;ZC(2),Fy(`queryParams`,s.testParams()),ZC(),nv(s.i18n.t(`configurationWorkspace.backTests`)),ZC(2),rv(``,s.i18n.t(`connections.stripe`),` — `,s.i18n.t(`configurationWorkspace.testDetail`)),ZC(2),nv(s.i18n.t(`checkout.historyHint`)),ZC(),kS((d=s.current())?8:-1,d),ZC(),Fy(`label`,s.i18n.t(`configurationWorkspace.services`))(`tabs`,s.tabs())(`preserveQuery`,!0)(`preserveFragment`,!0),ZC(),kS(s.history.paused()?10:-1),ZC(),kS((l=s.current())?11:12,l),ZC(2),kS((O=s.reconcileErrorMessage())?13:-1,O),ZC(),kS((I=s.current())?14:-1,I)}},dependencies:[l,N,d,k,Dt,g$1,D,p],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}[_nghost-%COMP%] > section[_ngcontent-%COMP%]:not(.detail-page){padding:var(--%NS%space-6) var(--%NS%page-x)}section[_ngcontent-%COMP%]:not(.detail-page) > *[_ngcontent-%COMP%] + *[_ngcontent-%COMP%]{margin-block-start:var(--%NS%space-6)}h2[_ngcontent-%COMP%]{font-size:var(--%NS%text-xl)}h3[_ngcontent-%COMP%]{font-size:var(--%NS%text-lg)}p[_ngcontent-%COMP%]{text-wrap:pretty}.actions[_ngcontent-%COMP%]{display:flex;align-items:center;flex-wrap:wrap;gap:var(--%NS%space-4)}button[_ngcontent-%COMP%], a[_ngcontent-%COMP%]{overflow-wrap:anywhere}button[_ngcontent-%COMP%]{white-space:normal}code[_ngcontent-%COMP%], dd[_ngcontent-%COMP%]{overflow-wrap:anywhere}dl[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(8rem,14rem) minmax(0,1fr);gap:var(--%NS%space-2) var(--%NS%space-4)}dt[_ngcontent-%COMP%]{font-weight:600}dd[_ngcontent-%COMP%]{margin:0}.ds-panel[_ngcontent-%COMP%]{padding:var(--%NS%space-4)}.ds-panel[_ngcontent-%COMP%] > *[_ngcontent-%COMP%] + *[_ngcontent-%COMP%]{margin-block-start:var(--%NS%space-3)}@media(max-width:40rem){dl[_ngcontent-%COMP%]{grid-template-columns:minmax(0,1fr)}dd[_ngcontent-%COMP%] + dt[_ngcontent-%COMP%]{margin-block-start:var(--%NS%space-2)}}p[_ngcontent-%COMP%]{max-inline-size:none}form[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);justify-items:start}.field[_ngcontent-%COMP%]{width:100%}.field-error[_ngcontent-%COMP%]:empty{display:none}tbody[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{background:inherit;color:inherit;font-size:inherit;text-transform:none}th[_ngcontent-%COMP%], td[_ngcontent-%COMP%]{vertical-align:top}.identifiers[_ngcontent-%COMP%]{color:var(--%NS%color-muted);font-size:var(--%NS%text-sm)}.identifiers[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:var(--%NS%text-base)}.identifiers[_ngcontent-%COMP%] dl[_ngcontent-%COMP%]{margin-block-start:var(--%NS%space-3)}`]})};export{ce as CheckoutDetail};
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,M as H_,Nr as vd,Sr as rv,Tn as fd,V as Iy,Wn as kS,Wr as y_,dr as pe$1,ft as Ol,l as A_,lt as OS,pr as qS,rr as nv,ut as O_,vt as Py,w as Fb,xt as Qg,z as Ip,zn as j_}from"./chunk-BAHiFuUo.js";import{a as T,h as Ne,m as Ie,o as U,r as N,v as Dt,y as G}from"./main-F7D3L737.js";import"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import{Ni as WT}from"./chunk-D5qmP2Wu.js";import"./chunk-DjewtV43.js";import"./chunk-B0bNirg2.js";import"./chunk-BzUDWIzm.js";import{t as d}from"./chunk-CfwFJLFh.js";import{t as E}from"./chunk-DsaNNeZe.js";import{t as l}from"./chunk-BVszSMJC.js";import{t as D}from"./chunk-AJOoJgZJ.js";import{t as g$1}from"./chunk-B56nz2lI.js";import{t as k}from"./chunk-D5MFwK9L.js";import{t as P$1}from"./chunk-niXXbm7H.js";import{t as p}from"./chunk-BHEFFEGN.js";import"./chunk-DpLF2wJ62.js";import{i as f,n as O,o as x,r as R}from"./chunk-CtmP6l7_2.js";import{t as f$1}from"./chunk-CDK48Khc.js";import{n as m,t as l$1}from"./chunk-9d_UD-MQ.js";var P=()=>({dateStyle:`medium`,timeStyle:`short`});var de=e=>[`/invoices`,e];var le=()=>[`integration.configure`,`invoice.read`];function se(e,r){if(e&1&&(Us(0,`span`,3),y_(1),fd()),e&2){let n=qS();ZC(),nv(n.i18n.t(n.statusLabel(r.status)))}}function pe(e,r){if(e&1&&(Us(0,`p`,5),y_(1),fd()),e&2){let n=qS();ZC(),nv(n.i18n.t(`checkout.paused`))}}function ue(e,r){e&1&&(Us(0,`p`),y_(1),fd()),e&2&&(ZC(),nv(r.invoiceNumber))}function me(e,r){if(e&1&&(Us(0,`p`,6),y_(1),fd()),e&2){let n=qS();ZC(),nv(n.i18n.t(n.historyLabel()))}}function ge(e,r){if(e&1&&(Us(0,`p`,7),y_(1),fd()),e&2){let n=qS();ZC(),nv(n.i18n.t(r))}}function he(e,r){if(e&1&&(Us(0,`p`,5),y_(1),fd()),e&2){let n=qS(2);ZC(),nv(n.i18n.t(r))}}function _e(e,r){if(e&1&&(Us(0,`dt`),y_(1),fd(),Us(2,`dd`),y_(3),j_(4,`localizedDate`),fd()),e&2){let n=qS(2);ZC(),nv(n.i18n.t(`checkout.nextAttempt`)),ZC(2),vd(` `,H_(4,2,r,n.i18n.language(),O_(6,P)),` `)}}function ye(e,r){if(e&1){let n=zS();Us(0,`button`,15),Gy(`click`,function(){Ip(n);return wp(qS(3).reconcile())}),y_(1),fd()}if(e&2){let n=qS(3);Fy(`disabled`,n.reconciling()),ZC(),vd(` `,n.i18n.t(`checkout.reconcile`),` `)}}function fe(e,r){e&1&&Iy(0,ye,2,2,`button`,14),e&2&&Fy(`appCan`,O_(1,le))}function Ce(e,r){if(e&1&&(Us(0,`a`,11),y_(1),fd()),e&2){let n=qS(),s=qS();Fy(`href`,n.checkoutUrl,Qg),ZC(),nv(s.i18n.t(`checkout.openStripe`))}}function xe(e,r){if(e&1&&(Us(0,`p`),y_(1),fd()),e&2){let n=qS(3);ZC(),nv(n.i18n.t(`checkout.reconcileHint`))}}function ve(e,r){e&1&&Iy(0,xe,2,1,`p`,16),e&2&&Fy(`appCan`,O_(1,le))}function ke(e,r){if(e&1&&(Us(0,`p`),y_(1),fd()),e&2){let n=qS(2);ZC(),nv(n.i18n.t(`checkout.testCard`))}}function be(e,r){if(e&1&&(OS(0,he,2,1,`p`,5),Us(1,`dl`)(2,`dt`),y_(3),fd(),Us(4,`dd`),y_(5),fd(),Us(6,`dt`),y_(7),fd(),Us(8,`dd`),y_(9),fd(),Us(10,`dt`),y_(11),fd(),Us(12,`dd`),y_(13),j_(14,`localizedDate`),fd(),Us(15,`dt`),y_(16),fd(),Us(17,`dd`),y_(18),j_(19,`localizedDate`),fd(),OS(20,_e,5,7),fd(),Us(21,`div`,8),OS(22,fe,1,2,`button`,9),Us(23,`a`,10),y_(24),fd(),OS(25,Ce,2,2,`a`,11),fd(),OS(26,ve,1,2,`p`),OS(27,ke,2,1,`p`),Us(28,`p`),y_(29),fd(),Us(30,`section`,12)(31,`h2`,13),y_(32),fd(),Us(33,`dl`)(34,`dt`),y_(35),fd(),Us(36,`dd`)(37,`code`),y_(38),fd()(),Us(39,`dt`),y_(40),fd(),Us(41,`dd`)(42,`code`),y_(43),fd()()()()),e&2){let n,s,d=r,l=qS();kS((n=d.error)?0:-1,n),ZC(3),nv(l.i18n.t(`checkout.amount`)),ZC(2),nv(l.money(d.amountCents)),ZC(2),nv(l.i18n.t(`checkout.attempts`)),ZC(2),nv(d.attempts),ZC(2),nv(l.i18n.t(`checkout.expiresAt`)),ZC(2),vd(` `,H_(14,22,d.expiresAt,l.i18n.language(),O_(30,P)),` `),ZC(3),nv(l.i18n.t(`checkout.updatedAt`)),ZC(2),vd(` `,H_(19,26,d.updatedAt,l.i18n.language(),O_(31,P)),` `),ZC(2),kS((s=d.nextAttemptAt)?20:-1,s),ZC(2),kS(l.canReconcile(d)?22:-1),ZC(),Fy(`routerLink`,k_(32,de,d.request.invoiceId)),ZC(),nv(l.i18n.t(`checkout.viewInvoice`)),ZC(),kS(l.canOpen(d)?25:-1),ZC(),kS(l.canReconcile(d)?26:-1),ZC(),kS(l.canOpen(d)?27:-1),ZC(2),nv(l.i18n.t(`checkout.returnHint`)),ZC(3),nv(l.i18n.t(`checkout.identifiers`)),ZC(3),nv(l.i18n.t(`checkout.requestId`)),ZC(3),nv(d.request.requestId),ZC(2),nv(l.i18n.t(`checkout.sessionId`)),ZC(3),nv(d.sessionId??`—`)}}var ce=class e{authentication=g(E);confirmation=g(P$1);reconcileAllowed=Ft(()=>this.authentication.can(`integration.configure`)&&this.authentication.can(`invoice.read`));i18n=g(Ie);history=g(f$1);api=g(f);reconciling=Ke(!1);reconcileError=Ke(void 0);reconcileErrorMessage=Ft(()=>O(this.reconcileError()));canReconcile=WT;route=g(G);params=T(this.route.paramMap,{requireSync:!0});queryParams=T(this.route.queryParamMap,{requireSync:!0});testParams=Ft(()=>l$1(`stripe`,this.queryParams()));tabs=Ft(()=>m(`stripe`,this.i18n,this.params().get(`requestId`)));current=Ft(()=>this.history.operations().find(r=>r.request.requestId===this.params().get(`requestId`)));statusLabel=x;canOpen=R;historyLabel=Ft(()=>this.history.loaded()?`checkout.requestNotFound`:this.history.paused()?`checkout.historyUnknown`:`checkout.historyLoading`);destroyRef=g(pe$1);constructor(){Ol(()=>{this.history.watch(()=>this.reconciling()).pipe(U(this.destroyRef)).subscribe()})}async reconcile(){let r=this.current(),n=this.authentication.account();if(!(!n||!this.reconcileAllowed()||!r||!WT(r)||this.reconciling())){this.reconciling.set(!0),this.reconcileError.set(void 0);try{if(!await this.confirmation.request(this.i18n.t(`checkout.reconcileHint`),{acceptLabel:this.i18n.t(`checkout.reconcile`)})||this.destroyRef.destroyed)return;let s=await this.authentication.refreshAccount(),d=this.current();if(this.destroyRef.destroyed||s?.userId!==n.userId||!this.reconcileAllowed()||!d||!WT(d)||d.request.requestId!==r.request.requestId)return;this.history.invalidate();let l=await this.api.reconcile(r.request.requestId);if(this.destroyRef.destroyed)return;l.success?this.history.record(l.result):this.reconcileError.set(l.code)}catch{this.destroyRef.destroyed||this.reconcileError.set(`checkout.error`)}finally{this.destroyRef.destroyed||(this.reconciling.set(!1),this.reconcileAllowed()&&this.history.refresh())}}}money(r){return Ne(r,this.i18n.language(),`EUR`)}static ɵfac=function(n){return new(n||e)};static ɵcmp=Fb({type:e,selectors:[[`app-checkout-detail`]],hostAttrs:[1,`page-container`],features:[A_([f$1])],decls:15,vars:14,consts:[[1,`detail-page`,`form-page`],[`layout`,`stacked`],[`pageBack`,``,`routerLink`,`/services/stripe/tests`,3,`queryParams`],[`appBadge`,``,`pageBadges`,``,`role`,`status`],[3,`label`,`tabs`,`preserveQuery`,`preserveFragment`],[`appNotice`,``,`variant`,`warning`],[`role`,`status`],[`appNotice`,``,`variant`,`danger`],[1,`spacer-x-4`],[`appButton`,``,`type`,`button`,3,`disabled`],[3,`routerLink`],[`appLinkButton`,``,`variant`,`primary`,`rel`,`noreferrer noopener`,`target`,`_blank`,3,`href`],[`aria-labelledby`,`checkout-identifiers-title`,1,`identifiers`],[`id`,`checkout-identifiers-title`],[`appButton`,``,`type`,`button`,3,`disabled`,`click`,4,`appCan`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`],[4,`appCan`]],template:function(n,s){if(n&1&&(Us(0,`section`,0)(1,`app-page-header`,1)(2,`a`,2),y_(3),fd(),Us(4,`h1`),y_(5),fd(),Us(6,`p`),y_(7),fd(),OS(8,se,2,1,`span`,3),fd(),Py(9,`app-tabs`,4),OS(10,pe,2,1,`p`,5),OS(11,ue,2,1,`p`)(12,me,2,1,`p`,6),OS(13,ge,2,1,`p`,7),OS(14,be,44,34),fd()),n&2){let d,l,O,I;ZC(2),Fy(`queryParams`,s.testParams()),ZC(),nv(s.i18n.t(`configurationWorkspace.backTests`)),ZC(2),rv(``,s.i18n.t(`connections.stripe`),` — `,s.i18n.t(`configurationWorkspace.testDetail`)),ZC(2),nv(s.i18n.t(`checkout.historyHint`)),ZC(),kS((d=s.current())?8:-1,d),ZC(),Fy(`label`,s.i18n.t(`configurationWorkspace.services`))(`tabs`,s.tabs())(`preserveQuery`,!0)(`preserveFragment`,!0),ZC(),kS(s.history.paused()?10:-1),ZC(),kS((l=s.current())?11:12,l),ZC(2),kS((O=s.reconcileErrorMessage())?13:-1,O),ZC(),kS((I=s.current())?14:-1,I)}},dependencies:[l,N,d,k,Dt,g$1,D,p],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}[_nghost-%COMP%] > section[_ngcontent-%COMP%]:not(.detail-page){padding:var(--%NS%space-6) var(--%NS%page-x)}section[_ngcontent-%COMP%]:not(.detail-page) > *[_ngcontent-%COMP%] + *[_ngcontent-%COMP%]{margin-block-start:var(--%NS%space-6)}h2[_ngcontent-%COMP%]{font-size:var(--%NS%text-xl)}h3[_ngcontent-%COMP%]{font-size:var(--%NS%text-lg)}p[_ngcontent-%COMP%]{text-wrap:pretty}.actions[_ngcontent-%COMP%]{display:flex;align-items:center;flex-wrap:wrap;gap:var(--%NS%space-4)}button[_ngcontent-%COMP%], a[_ngcontent-%COMP%]{overflow-wrap:anywhere}button[_ngcontent-%COMP%]{white-space:normal}code[_ngcontent-%COMP%], dd[_ngcontent-%COMP%]{overflow-wrap:anywhere}dl[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(8rem,14rem) minmax(0,1fr);gap:var(--%NS%space-2) var(--%NS%space-4)}dt[_ngcontent-%COMP%]{font-weight:600}dd[_ngcontent-%COMP%]{margin:0}.ds-panel[_ngcontent-%COMP%]{padding:var(--%NS%space-4)}.ds-panel[_ngcontent-%COMP%] > *[_ngcontent-%COMP%] + *[_ngcontent-%COMP%]{margin-block-start:var(--%NS%space-3)}@media(max-width:40rem){dl[_ngcontent-%COMP%]{grid-template-columns:minmax(0,1fr)}dd[_ngcontent-%COMP%] + dt[_ngcontent-%COMP%]{margin-block-start:var(--%NS%space-2)}}p[_ngcontent-%COMP%]{max-inline-size:none}form[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);justify-items:start}.field[_ngcontent-%COMP%]{width:100%}.field-error[_ngcontent-%COMP%]:empty{display:none}tbody[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{background:inherit;color:inherit;font-size:inherit;text-transform:none}th[_ngcontent-%COMP%], td[_ngcontent-%COMP%]{vertical-align:top}.identifiers[_ngcontent-%COMP%]{color:var(--%NS%color-muted);font-size:var(--%NS%text-sm)}.identifiers[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:var(--%NS%text-base)}.identifiers[_ngcontent-%COMP%] dl[_ngcontent-%COMP%]{margin-block-start:var(--%NS%space-3)}`]})};export{ce as CheckoutDetail};
@@ -0,0 +1 @@
1
+ import{n as m,t as l}from"./chunk-BwCtja5l.js";import{$ as MH,$t as ZC,A as Gy,At as S_,D as Fy,Dn as g,Dr as t_,E as Ft,Gn as k_,H as JD,Ir as wp,It as Us,Jr as zS,K as Ke$1,Lt as Uy,Nr as vd,Rn as jS,Sr as rv,Tn as fd,V as Iy,W as KS,Wn as kS,Wr as y_,X as LS,Xn as lv,dr as pe,en as ZS,ft as Ol,j as H,l as A_,lt as OS,mn as b_,mr as qT,nt as NH,o as A,ot as OD,pr as qS,qn as ky,rr as nv,tn as ZT,vt as Py,w as Fb,z as Ip}from"./chunk-BAHiFuUo.js";import{C as oe,T as ue,h as Ne,m as Ie,o as U,r as N,v as Dt,y as G$1}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{t as d}from"./chunk-CfwFJLFh.js";import"./chunk-DsaNNeZe.js";import{t as l$1}from"./chunk-BVszSMJC.js";import"./chunk-AJOoJgZJ.js";import{t as u}from"./chunk-Bfx7EEIR.js";import{t as c}from"./chunk-enci06qG.js";import{d as nr,h as yn}from"./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$1,t as d$1}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$2}from"./chunk-Dl4EbYnM2.js";import"./chunk-Bsy3r41y2.js";import{t as Fe}from"./chunk-DB6sOjsn2.js";import{n as b,t as Z}from"./chunk-CABvk97t2.js";import{i as U$1,n as B,r as Q,t as $}from"./chunk-CCqlW8pS2.js";import{t as B$1}from"./chunk-qKosqkwC.js";import{a as K,d as V,g as q,h as i,m as h,n as D,o as N$1,p as g$2,s as P,t as A$1,u as T,v as w}from"./chunk-B6Rml85x2.js";import{c as W}from"./chunk-CEJjSd8-2.js";import{t as d$2}from"./chunk-Bj7Oze2U2.js";var Ke=[`*`];var j=class n{count=NH.required();selectionLabel=NH.required();clearLabel=NH.required();clearSelection=MH();static ɵfac=function(e){return new(e||n)};static ɵcmp=Fb({type:n,selectors:[[`app-bulk-selection`]],hostVars:1,hostBindings:function(e,i){e&2&&Uy(`hidden`,i.count()===0)},inputs:{count:[1,`count`],selectionLabel:[1,`selectionLabel`],clearLabel:[1,`clearLabel`]},outputs:{clearSelection:`clearSelection`},ngContentSelectors:Ke,decls:6,vars:2,consts:[[1,`actions`],[`appButton`,``,`type`,`button`,3,`click`]],template:function(e,i){e&1&&(ZS(),Us(0,`p`),y_(1),fd(),Us(2,`div`,0),KS(3),Us(4,`button`,1),Gy(`click`,function(){return i.clearSelection.emit()}),y_(5),fd()()),e&2&&(ZC(),nv(i.selectionLabel()),ZC(4),nv(i.clearLabel()))},dependencies:[N],styles:[`[_nghost-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--%NS%space-3);padding-block:var(--%NS%space-3);border-block:1px solid var(--%NS%color-line-strong)}[hidden][_nghost-%COMP%]{display:none}.actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:var(--%NS%space-2);margin-inline-start:auto}`]})};var L=class n{http=g(OD);document=g(H);destroyRef=g(pe);downloads=new Map;pending=Ke$1(!1);failed=Ke$1(!1);constructor(){this.destroyRef.onDestroy(()=>{for(let[t,e]of this.downloads)clearTimeout(e),URL.revokeObjectURL(t);this.downloads.clear()})}async download(t){if(this.pending()||this.destroyRef.destroyed)return;let e=t.filter(i=>i.pdf?.status===`ready`);if(e.length!==0){this.pending.set(!0),this.failed.set(!1);try{for(let i of e){let a=await JD(this.http.get(`/api/invoices/${i.id}/revisions/${i.version}/pdf`,{responseType:`blob`}).pipe(U(this.destroyRef)));if(this.destroyRef.destroyed)return;if(a.type!==`application/pdf`){this.failed.set(!0);return}let s=URL.createObjectURL(a);this.downloads.set(s,setTimeout(()=>{URL.revokeObjectURL(s),this.downloads.delete(s)},1e3));let h=this.document.createElement(`a`);h.href=s,h.download=`${i.invoiceNumber??i.id}-v${i.version}.pdf`,h.hidden=!0,this.document.body.append(h);try{h.click()}finally{h.remove()}}}catch{this.destroyRef.destroyed||this.failed.set(!0)}finally{this.destroyRef.destroyed||this.pending.set(!1)}}}static ɵfac=function(e){return new(e||n)};static ɵprov=A({token:n,factory:n.ɵfac})};var G=n=>({count:n});var Qe=n=>({invoice:n});var Ge=n=>({reference:n});var Je=n=>[`/invoices`,n];var Xe=(n,t)=>t[0];var Ye=(n,t)=>t.id;var Ze=(n,t)=>t.item.id;function et(n,t){if(n&1&&(Us(0,`a`,14),y_(1),fd()),n&2){let e=qS();Fy(`queryParams`,e.detailQuery()),ZC(),nv(e.i18n.t(`backOffice.invoices.new`))}}function tt(n,t){if(n&1){let e=zS();Us(0,`app-filter-choice`,15),Gy(`committed`,function(){Ip(e);let a=qS(),s=t_(12);return a.updateFilters(),wp(s.close())}),fd(),qT()}if(n&2){let e=qS();Fy(`label`,e.i18n.t(`listWorkspace.searchChoices`))(`emptyLabel`,e.i18n.t(`listWorkspace.noChoices`))(`options`,e.statusOptions())(`formField`,e.filters.status),ZT()}}function it(n,t){if(n&1){let e=zS();Us(0,`app-filter-choice`,15),Gy(`committed`,function(){Ip(e);let a=qS(),s=t_(12);return a.updateFilters(),wp(s.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.filters.client),ZT()}}function nt(n,t){if(n&1){let e=zS();Us(0,`app-filter-choice`,15),Gy(`committed`,function(){Ip(e);let a=qS(),s=t_(12);return a.updateFilters(),wp(s.close())}),fd(),qT()}if(n&2){let e=qS();Fy(`label`,e.i18n.t(`listWorkspace.searchChoices`))(`emptyLabel`,e.i18n.t(`listWorkspace.noChoices`))(`options`,e.dueOptions())(`formField`,e.filters.due),ZT()}}function rt(n,t){if(n&1){let e=zS();Us(0,`app-filter-choice`,15),Gy(`committed`,function(){Ip(e);let a=qS(),s=t_(12);return a.updateFilters(),wp(s.close())}),fd(),qT()}if(n&2){let e=qS();Fy(`label`,e.i18n.t(`listWorkspace.searchChoices`))(`emptyLabel`,e.i18n.t(`listWorkspace.noChoices`))(`options`,e.creditOptions())(`formField`,e.filters.credit),ZT()}}function at(n,t){if(n&1){let e=zS();Us(0,`app-date-range-filter`,16),Gy(`rangeApplied`,function(a){Ip(e);let s=qS(),h=t_(12);return s.applyPeriod(a),wp(h.close())}),fd()}if(n&2){let e=qS();Fy(`from`,e.filters.from().value()||void 0)(`to`,e.filters.to().value()||void 0)}}function ot(n,t){if(n&1){let e=zS();Us(0,`button`,18),Gy(`click`,function(){let a=Ip(e).$implicit;return wp(qS(2).clearFilter(a[0]))}),y_(1),fd()}if(n&2){let e=t.$implicit,i=qS(2);ky(`aria-label`,i.i18n.t(`billingWorkspace.removeFilter`)+` : `+i.filterLabel(e[0],e[1])),ZC(),vd(` `,i.filterLabel(e[0],e[1]),` × `)}}function lt(n,t){if(n&1){let e=zS();Us(0,`div`,12),LS(1,ot,2,2,`button`,17,Xe),Us(3,`button`,18),Gy(`click`,function(){Ip(e);return wp(qS().clearFilter())}),y_(4),fd()()}if(n&2){let e=qS();ZC(),jS(e.activeFilters()),ZC(3),vd(` `,e.i18n.t(`billingWorkspace.clear`),` `)}}function st(n,t){if(n&1&&(Us(0,`p`,13),y_(1),fd()),n&2){let e=qS();ZC(),nv(e.i18n.t(`backOffice.invoices.loading`))}}function ct(n,t){if(n&1){let e=zS();Us(0,`p`,19),y_(1),fd(),Us(2,`button`,20),Gy(`click`,function(){Ip(e);return wp(qS().load())}),y_(3),fd()}if(n&2){let e=qS();ZC(),nv(e.i18n.t(`billingWorkspace.loadError`)),ZC(2),nv(e.i18n.t(`backOffice.invoices.retry`))}}function dt(n,t){if(n&1){let e=zS();Us(0,`button`,26),Gy(`click`,function(){Ip(e);return wp(qS(3).preparingReminders.set(!0))}),y_(1),fd()}if(n&2){let e=qS(3);Fy(`disabled`,e.reminders().length===0),ZC(),rv(` `,e.i18n.t(`billingWorkspace.prepareReminders`),` (`,e.reminders().length,`) `)}}function pt(n,t){if(n&1&&(Us(0,`p`,19),y_(1),fd()),n&2){let e=qS(3);ZC(),vd(` `,e.i18n.t(`billingWorkspace.pdfDownloadFailed`),` `)}}function mt(n,t){if(n&1&&(Us(0,`a`,29),y_(1),fd()),n&2){let e=qS().$implicit;Fy(`queryParams`,k_(3,Qe,e.id)),ZC(),rv(``,e.invoiceNumber,` · `,e.clientDisplayName)}}function ut(n,t){n&1&&(Us(0,`li`),Iy(1,mt,2,5,`a`,28),fd()),n&2&&(ZC(),Fy(`appCan`,`email.draft.manage`))}function _t(n,t){if(n&1&&(Us(0,`p`),y_(1),fd(),Us(2,`ul`),LS(3,ut,2,1,`li`,null,Ye),fd()),n&2){let e=qS(3);ZC(),nv(e.i18n.t(`billingWorkspace.remindersHint`)),ZC(2),jS(e.reminders())}}function ft(n,t){if(n&1){let e=zS();Us(0,`section`,21)(1,`app-bulk-selection`,25),Gy(`clearSelection`,function(){Ip(e);return wp(qS(2).clearSelection())}),Us(2,`button`,26),Gy(`click`,function(){Ip(e);return wp(qS(2).exportSelected())}),y_(3),fd(),Iy(4,dt,2,3,`button`,27),fd(),OS(5,pt,2,1,`p`,19),OS(6,_t,5,1),fd()}if(n&2){let e=qS(2);ZC(),Fy(`count`,e.selected().length)(`selectionLabel`,e.i18n.plural(`billingWorkspace.selection`,k_(9,G,e.selected().length)))(`clearLabel`,e.i18n.t(`billingWorkspace.clearSelection`)),ZC(),Fy(`disabled`,e.exportCount()===0||e.pdf.pending()),ky(`aria-busy`,e.pdf.pending()),ZC(),vd(` `,e.i18n.plural(`backOffice.billing.bulkExport`,k_(11,G,e.exportCount())),` `),ZC(),Fy(`appCan`,`email.draft.manage`),ZC(),kS(e.pdf.failed()?5:-1),ZC(),kS(e.preparingReminders()?6:-1)}}function gt(n,t){if(n&1&&(Us(0,`p`,22),y_(1),fd()),n&2){let e=qS(2);ZC(),nv(e.i18n.t(e.emptyKey()))}}function yt(n,t){n&1&&(Us(0,`small`),y_(1),fd()),n&2&&(ZC(),nv(t))}function bt(n,t){if(n&1){let e=zS();lv(0),Us(1,`tr`)(2,`td`)(3,`input`,34,2),Gy(`change`,function(){Ip(e);let a=t_(4),s=S_(0);return wp(qS(3).toggle(s.id,a.checked))}),fd()(),Us(5,`td`)(6,`div`,35),Py(7,`app-entity-icon`,36),Us(8,`div`)(9,`a`,37)(10,`strong`,38),y_(11),fd()(),Us(12,`small`)(13,`span`,38),y_(14),fd(),y_(15,` · `),Us(16,`span`,38),y_(17),fd()()()()(),Us(18,`td`,38),y_(19),fd(),Us(20,`td`)(21,`span`,39),y_(22),fd()(),Us(23,`td`),y_(24),fd(),Us(25,`td`),y_(26),OS(27,yt,2,1,`small`),fd(),Us(28,`td`,40),y_(29),fd(),Us(30,`td`,40),y_(31),fd()()}if(n&2){let e,i=t.$implicit,a=qS(3),s=b_(i.item);ZC(3),Fy(`checked`,a.selectedIds().has(s.id)),ky(`aria-label`,a.i18n.tf(`backOffice.billing.selectInvoice`,k_(20,Ge,s.invoiceNumber??s.orderReference))),ZC(4),Fy(`variant`,a.iconVariant(s)),ZC(2),Fy(`routerLink`,k_(22,Je,s.id))(`queryParams`,a.detailQuery()),ZC(),Fy(`appSearchHighlight`,a.matchIndices(i,a.invoiceMatchKey(s))),ZC(),nv(s.invoiceNumber??s.title),ZC(2),Fy(`appSearchHighlight`,a.matchIndices(i,`title`)),ZC(),nv(s.title),ZC(2),Fy(`appSearchHighlight`,a.matchIndices(i,`orderReference`)),ZC(),nv(s.orderReference),ZC(),Fy(`appSearchHighlight`,a.matchIndices(i,`clientDisplayName`)),ZC(),vd(` `,s.clientDisplayName,` `),ZC(3),nv(a.filterLabel(`status`,a.documentStatus(s.status))),ZC(2),nv(a.i18n.t(a.financialStatus(s))),ZC(2),vd(` `,s.dueDate,` `),ZC(),kS((e=a.dueLabel(s))?27:-1,e),ZC(2),nv(a.money(s.totalCents)),ZC(2),nv(a.money(a.remaining(s)))}}function vt(n,t){if(n&1){let e=zS();Us(0,`div`,23)(1,`table`)(2,`thead`)(3,`tr`)(4,`th`)(5,`input`,30,1),Gy(`change`,function(){Ip(e);let a=t_(6);return wp(qS(2).selectVisible(a.checked))}),fd()(),Us(7,`th`,31)(8,`button`,32),Gy(`click`,function(){Ip(e);return wp(qS(2).sortBy(`number`))}),fd()(),Us(9,`th`,31)(10,`button`,32),Gy(`click`,function(){Ip(e);return wp(qS(2).sortBy(`client`))}),fd()(),Us(11,`th`,31)(12,`button`,32),Gy(`click`,function(){Ip(e);return wp(qS(2).sortBy(`status`))}),fd()(),Us(13,`th`,31)(14,`button`,32),Gy(`click`,function(){Ip(e);return wp(qS(2).sortBy(`financial`))}),fd()(),Us(15,`th`,31)(16,`button`,32),Gy(`click`,function(){Ip(e);return wp(qS(2).sortBy(`due`))}),fd()(),Us(17,`th`,33)(18,`button`,32),Gy(`click`,function(){Ip(e);return wp(qS(2).sortBy(`total`))}),fd()(),Us(19,`th`,33)(20,`button`,32),Gy(`click`,function(){Ip(e);return wp(qS(2).sortBy(`remaining`))}),fd()()()(),Us(21,`tbody`),LS(22,bt,32,24,`tr`,null,Ze),fd()()()}if(n&2){let e=qS(2);ZC(5),Fy(`checked`,e.allSelected())(`indeterminate`,e.selected().length>0&&!e.allSelected()),ky(`aria-label`,e.i18n.t(`backOffice.billing.selectAll`)),ZC(2),ky(`aria-sort`,e.sortDirection(e.sort(),`number`)),ZC(),Fy(`label`,e.i18n.t(`backOffice.invoices.number`))(`direction`,e.sortDirection(e.sort(),`number`)),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(),`status`)),ZC(),Fy(`label`,e.i18n.t(`billingWorkspace.documentStatus`))(`direction`,e.sortDirection(e.sort(),`status`)),ZC(),ky(`aria-sort`,e.sortDirection(e.sort(),`financial`)),ZC(),Fy(`label`,e.i18n.t(`billingWorkspace.financialStatus`))(`direction`,e.sortDirection(e.sort(),`financial`)),ZC(),ky(`aria-sort`,e.sortDirection(e.sort(),`due`)),ZC(),Fy(`label`,e.i18n.t(`billingWorkspace.due`))(`direction`,e.sortDirection(e.sort(),`due`)),ZC(),ky(`aria-sort`,e.sortDirection(e.sort(),`total`)),ZC(),Fy(`label`,e.i18n.t(`backOffice.invoices.total`))(`direction`,e.sortDirection(e.sort(),`total`)),ZC(),ky(`aria-sort`,e.sortDirection(e.sort(),`remaining`)),ZC(),Fy(`label`,e.i18n.t(`payment.remaining`))(`direction`,e.sortDirection(e.sort(),`remaining`)),ZC(2),jS(e.results())}}function ht(n,t){if(n&1&&(OS(0,ft,7,13,`section`,21),OS(1,gt,2,1,`p`,22)(2,vt,24,24,`div`,23),Us(3,`footer`,24)(4,`p`,13),y_(5),fd()()),n&2){let e=qS();kS(e.selected().length?0:-1),ZC(),kS(e.visible().length===0?1:2),ZC(4),nv(e.i18n.plural(`entityList.invoices`,k_(3,G,e.visible().length)))}}var Ae=class n{i18n=g(Ie);pdf=g(L);api=g(R);router=g(ue);route=g(G$1);destroyRef=g(pe);state=Ke$1(`loading`);invoices=Ke$1([]);filters=nr(Ke$1(w(this.route.snapshot.queryParamMap)));sort=Ke$1(T(this.route.snapshot.queryParamMap));detailQuery=Ft(()=>W(`invoices`,oe(m(l({},this.filters().value()),{sort:this.sort()}))));emptyKey=Ft(()=>this.invoices().length===0?`billingWorkspace.empty`:`billingWorkspace.noMatches`);sortDirection=P;matchIndices=V;selectedIds=Ke$1(new Set);preparingReminders=Ke$1(!1);searchResults=Ft$1(this.invoices,Ft(()=>this.filters.q().value()),{keys:[`invoiceNumber`,`title`,`clientDisplayName`,`orderReference`],ignoreDiacritics:!0,ignoreLocation:!0,includeMatches:!0,threshold:.35});results=Ft(()=>{let t=new Intl.Collator(this.i18n.language(),{numeric:!0,sensitivity:`base`});return this.searchResults().filter(({item:e})=>q(e,this.filters().value(),N$1())).toSorted((e,i)=>K(e.item,i.item,this.sort(),t,a=>this.i18n.t(a)))});visible=Ft(()=>this.results().map(({item:t})=>t));csvColumns=Ft(()=>[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(`billingWorkspace.documentStatus`),this.i18n.t(`billingWorkspace.financialStatus`),this.i18n.t(`billingWorkspace.due`),`${this.i18n.t(`backOffice.invoices.total`)} (EUR)`,`${this.i18n.t(`payment.remaining`)} (EUR)`]);csvRows=Ft(()=>this.state()!==`ready`?[]:this.visible().map(t=>[t.invoiceNumber,t.title,t.orderReference,t.clientDisplayName,this.filterLabel(`status`,g$2(t.status)),this.i18n.t(D(t)),t.dueDate,t.totalCents/100,i(t)/100]));clients=Ft(()=>[...new Map(this.invoices().map(t=>[t.clientId,t.clientDisplayName])).entries()]);clientOptions=Ft(()=>[{value:``,label:this.i18n.t(`billingWorkspace.all`)},...this.clients().map(([t,e])=>({value:t,label:e}))]);statusOptions=Ft(()=>[``,`draft`,`issued`,`void`].map(t=>({value:t,label:this.filterLabel(`status`,t)})));dueOptions=Ft(()=>[``,`overdue`,`upcoming`].map(t=>({value:t,label:this.filterLabel(`due`,t)})));creditOptions=Ft(()=>[``,`with`,`without`].map(t=>({value:t,label:this.filterLabel(`credit`,t)})));selected=Ft(()=>this.visible().filter(t=>this.selectedIds().has(t.id)));allSelected=Ft(()=>this.visible().length>0&&this.selected().length===this.visible().length);reminders=Ft(()=>this.selected().filter(t=>A$1(t,N$1())));exportCount=Ft(()=>this.selected().filter(t=>t.pdf?.status===`ready`).length);periodSummary=Ft(()=>{let{from:t,to:e}=this.filters().value();return[t?`${this.i18n.t(`dateRangeFilter.from`)} : ${t}`:``,e?`${this.i18n.t(`dateRangeFilter.to`)} : ${e}`:``].filter(Boolean).join(` · `)||this.i18n.t(`billingWorkspace.all`)});activeFilters=Ft(()=>{let t=this.filters().value(),e=Object.entries(t).filter(([i,a])=>i!==`from`&&i!==`to`&&a!==``);return(t.from||t.to)&&e.push([`period`,this.periodSummary()]),e});filterCount=Ft(()=>this.activeFilters().filter(([t])=>t!==`q`).length);documentStatus=g$2;financialStatus=D;remaining=i;businessDate=N$1();request=0;iconVariant(t){return t.status===`draft`?`default`:t.status===`void`?`danger`:t.creditedCents>0?`default`:i(t)===0?`success`:t.dueDate<this.businessDate?`danger`:t.recordedPaidCents>0?`warning`:`info`}invoiceMatchKey(t){return t.invoiceNumber===null?`title`:`invoiceNumber`}dueLabel(t){return t.status!==`issued`||i(t)<=0||t.creditedCents!==0?``:this.filterLabel(`due`,t.dueDate<this.businessDate?`overdue`:`upcoming`)}constructor(){this.route.queryParamMap.pipe(U()).subscribe(t=>{this.filters().reset(w(t)),this.sort.set(T(t)),this.selectedIds.set(new Set),this.preparingReminders.set(!1)}),Ol(()=>{this.load()})}updateFilters(){let t=this.sort();this.router.navigate([],{relativeTo:this.route,queryParams:m(l({},this.filters().value()),{sort:t===`none`?null:t}),queryParamsHandling:`merge`,replaceUrl:!0})}setSearch(t){this.filters.q().value.set(t.slice(0,160)),this.updateFilters()}applyPeriod(t){this.filters().reset(m(l({},this.filters().value()),{from:t.from??``,to:t.to??``})),this.updateFilters()}clearFilter(t){let e=this.filters().value();this.filters().reset(t===void 0?{q:``,status:``,client:``,due:``,credit:``,from:``,to:``}:t===`period`?m(l({},e),{from:``,to:``}):m(l({},e),{[t]:``})),this.updateFilters()}sortBy(t){this.sort.set(h(this.sort(),t)),this.updateFilters()}clearSelection(){this.selectedIds.set(new Set),this.preparingReminders.set(!1)}filterLabel(t,e){return e===``?this.i18n.t(`billingWorkspace.all`):t===`client`?this.clients().find(([i])=>i===e)?.[1]??e:t===`status`&&(e===`draft`||e===`issued`||e===`void`)?this.i18n.t(`backOffice.invoice.status.${e}`):t===`due`?this.i18n.t(e===`overdue`?`billingWorkspace.overdue`:`billingWorkspace.upcoming`):t===`credit`?this.i18n.t(e===`with`?`billingWorkspace.hasCredit`:`billingWorkspace.noCredit`):e}toggle(t,e){let i=new Set(this.selectedIds());e?i.add(t):i.delete(t),this.selectedIds.set(i)}selectVisible(t){this.selectedIds.set(new Set(t?this.visible().map(e=>e.id):[]))}exportSelected(){this.pdf.download(this.selected())}money(t){return Ne(t,this.i18n.language(),`EUR`)}async load(){let t=++this.request;this.state.set(`loading`);try{let e=await this.api.list();if(t!==this.request||this.destroyRef.destroyed)return;this.invoices.set(e),this.state.set(`ready`)}catch{!this.destroyRef.destroyed&&t===this.request&&this.state.set(`error`)}}static ɵfac=function(e){return new(e||n)};static ɵcmp=Fb({type:n,selectors:[[`app-billing`]],hostAttrs:[1,`page-container`],features:[A_([d$1,L])],decls:23,vars:28,consts:[[`menu`,``],[`all`,``],[`selected`,``],[`aria-labelledby`,`billing-title`,1,`detail-page`,`wide-page`,`billing-page`],[`id`,`billing-title`],[1,`muted`],[`pageActions`,``,`appLinkButton`,``,`icon`,`file-plus`,`variant`,`primary`,`routerLink`,`/invoices/new`,3,`queryParams`,4,`appCan`],[`appListWorkspace`,``],[`listSearch`,``,3,`valueChange`,`label`,`value`],[`listFilters`,``,3,`label`,`closeLabel`,`backLabel`,`activeCount`,`disabled`],[`appFilterPanel`,``,3,`label`,`summary`],[`listActions`,``,`filename`,`invoices.csv`,3,`columns`,`rows`,`label`,`emptyHint`,`pendingHint`,`pending`],[1,`chips`],[`role`,`status`],[`pageActions`,``,`appLinkButton`,``,`icon`,`file-plus`,`variant`,`primary`,`routerLink`,`/invoices/new`,3,`queryParams`],[3,`committed`,`label`,`emptyLabel`,`options`,`formField`],[3,`rangeApplied`,`from`,`to`],[`appButton`,``,`type`,`button`],[`appButton`,``,`type`,`button`,3,`click`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`appButton`,``,3,`click`],[1,`bulk-actions`,`ds-panel`],[1,`empty`,`ds-panel`],[`appDataTable`,``],[1,`list-summary`],[3,`clearSelection`,`count`,`selectionLabel`,`clearLabel`],[`appButton`,``,3,`click`,`disabled`],[`appButton`,``,3,`disabled`,`click`,4,`appCan`],[`routerLink`,`/emails/new`,3,`queryParams`,4,`appCan`],[`routerLink`,`/emails/new`,3,`queryParams`],[`type`,`checkbox`,3,`change`,`checked`,`indeterminate`],[`scope`,`col`],[`appTableSort`,``,3,`click`,`label`,`direction`],[`scope`,`col`,1,`amount`],[`type`,`checkbox`,3,`change`,`checked`],[1,`entity-label`],[`icon`,`invoice`,3,`variant`],[3,`routerLink`,`queryParams`],[3,`appSearchHighlight`],[`appBadge`,``],[1,`amount`]],template:function(e,i){if(e&1&&(Us(0,`section`,3)(1,`app-page-header`)(2,`h1`,4),y_(3),fd(),Us(4,`p`,5),y_(5),fd(),Iy(6,et,2,2,`a`,6),fd(),Py(7,`app-billing-nav`),Us(8,`section`,7)(9,`app-list-toolbar`)(10,`app-list-search`,8),Gy(`valueChange`,function(s){return i.setSearch(s)}),fd(),Us(11,`app-filter-menu`,9,0),Iy(13,tt,1,4,`ng-template`,10)(14,it,1,4,`ng-template`,10)(15,nt,1,4,`ng-template`,10)(16,rt,1,4,`ng-template`,10)(17,at,1,2,`ng-template`,10),fd(),Py(18,`app-table-export`,11),fd(),OS(19,lt,5,1,`div`,12),OS(20,st,2,1,`p`,13)(21,ct,4,2)(22,ht,6,5),fd()()),e&2){let a;ZC(3),nv(i.i18n.t(`backOffice.billing.title`)),ZC(2),nv(i.i18n.t(`backOffice.billing.intro`)),ZC(),Fy(`appCan`,`invoice.create`),ZC(4),Fy(`label`,i.i18n.t(`billingWorkspace.search`))(`value`,i.filters.q().value()),ZC(),Fy(`label`,i.i18n.t(`listWorkspace.filters`))(`closeLabel`,i.i18n.t(`listWorkspace.closeFilters`))(`backLabel`,i.i18n.t(`listWorkspace.backFilters`))(`activeCount`,i.filterCount())(`disabled`,i.state()!==`ready`),ZC(2),Fy(`label`,i.i18n.t(`billingWorkspace.documentStatus`))(`summary`,i.filterLabel(`status`,i.filters.status().value())),ZC(),Fy(`label`,i.i18n.t(`backOffice.invoices.client`))(`summary`,i.filterLabel(`client`,i.filters.client().value())),ZC(),Fy(`label`,i.i18n.t(`billingWorkspace.due`))(`summary`,i.filterLabel(`due`,i.filters.due().value())),ZC(),Fy(`label`,i.i18n.t(`credit.title`))(`summary`,i.filterLabel(`credit`,i.filters.credit().value())),ZC(),Fy(`label`,i.i18n.t(`billingWorkspace.duePeriod`))(`summary`,i.periodSummary()),ZC(),Fy(`columns`,i.csvColumns())(`rows`,i.csvRows())(`label`,i.i18n.t(`listWorkspace.exportCsv`))(`emptyHint`,i.i18n.t(`listWorkspace.exportEmpty`))(`pendingHint`,i.i18n.t(`listWorkspace.exportPending`))(`pending`,i.state()===`loading`),ZC(),kS(i.activeFilters().length?19:-1),ZC(),kS((a=i.state())===`loading`?20:a===`error`?21:a===`ready`?22:-1)}},dependencies:[l$1,l$2,d,N,c,yn,k,g$1,Dt,d$2,j,u,m$1,U$1,B,Q,Z,b,Fe,B$1,$],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{Ae as Billing};
@@ -0,0 +1 @@
1
+ import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,Gn as k_,Ir as wp,It as Us,Jr as zS,K as Ke,Nr as vd,Rn as jS,Tn as fd,V as Iy,Vn as jt,Wn as kS,Wr as y_,X as LS,dr as pe$1,ft as Ol,lt as OS,mr as qT,pr as qS,qn as ky,rr as nv,tn as ZT,vt as Py,w as Fb,z as Ip}from"./chunk-BAHiFuUo.js";import{E as x,S as gr,T as ue$1,c as O,l as r,m as Ie,o as U,r as N,v as Dt,y as G}from"./main-F7D3L737.js";import{wi as wu}from"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import{Ia as a,Uc as qi}from"./chunk-D5qmP2Wu.js";import{t as m}from"./chunk-DerJPaBw.js";import{t as y}from"./chunk-xTX16tt2.js";import"./chunk-DjewtV43.js";import{t as N$1}from"./chunk-B0bNirg2.js";import"./chunk-BzUDWIzm.js";import"./chunk-CczD0yXn.js";import"./chunk-CReShp-B.js";import{t as Ae}from"./chunk-DM5aibnW.js";import{t as d}from"./chunk-CfwFJLFh.js";import"./chunk-DsaNNeZe.js";import{t as l}from"./chunk-BVszSMJC.js";import{t as D}from"./chunk-AJOoJgZJ.js";import{t as u}from"./chunk-Bfx7EEIR.js";import{t as c}from"./chunk-enci06qG.js";import{d as nr,h as yn,o as gn,r as cn}from"./chunk-CSkyOfSg.js";import{t as g$1}from"./chunk-B56nz2lI.js";import{t as k}from"./chunk-D5MFwK9L.js";var de=t=>({count:t});var fe=t=>[`/affairs`,t];var pe=(t,i)=>i.id;var me=(t,i)=>i.item.id;function ue(t,i){if(t&1&&(Us(0,`option`,12),y_(1),fd()),t&2){let e=i.$implicit;Fy(`value`,e.id),ZC(),nv(e.displayName)}}function _e(t,i){if(t&1){let e=zS();Us(0,`section`,6)(1,`h2`,7),y_(2),fd(),Us(3,`form`,8),Gy(`submit`,function(l){Ip(e);return wp(qS().create(l))}),Us(4,`label`,9),y_(5),Us(6,`select`,10)(7,`option`,11),y_(8),fd(),LS(9,ue,2,2,`option`,12,pe),fd(),qT(),fd(),Us(11,`label`,9),y_(12),Py(13,`input`,13),qT(),fd(),Us(14,`div`,14)(15,`button`,15),y_(16),fd()()()()}if(t&2){let e=qS();ZC(2),nv(e.i18n.t(`affair.create`)),ZC(3),vd(``,e.i18n.t(`backOffice.invoices.client`),` `),ZC(),Fy(`formField`,e.createForm.clientId),ZT(),ZC(2),nv(e.i18n.t(`affair.selectClient`)),ZC(),jS(e.clients()),ZC(3),vd(``,e.i18n.t(`backOffice.invoice.title`),` `),ZC(),Fy(`formField`,e.createForm.title),ZT(),ZC(2),Fy(`disabled`,e.saving()),ZC(),vd(` `,e.i18n.t(`affair.create`),` `)}}function be(t,i){if(t&1&&(Us(0,`p`,16),y_(1),fd()),t&2){let e=qS(2);ZC(),nv(e.i18n.t(`backOffice.affair.loading`))}}function ye(t,i){if(t&1){let e=zS();Us(0,`p`,17),y_(1),fd(),Us(2,`button`,18),Gy(`click`,function(){Ip(e);return wp(qS(2).load())}),y_(3),fd()}if(t&2){let e=qS(2);ZC(),nv(e.i18n.t(`affair.error`)),ZC(2),nv(e.i18n.t(`listControls.reload`))}}function ve(t,i){if(t&1&&(Us(0,`tr`)(1,`th`,23)(2,`a`,24),y_(3),fd()(),Us(4,`td`),y_(5),fd(),Us(6,`td`),y_(7),fd(),Us(8,`td`)(9,`span`,25),y_(10),fd()(),Us(11,`td`),y_(12),fd()()),t&2){let e=i.$implicit,o=qS(3),l=e.item;ZC(2),Fy(`routerLink`,k_(7,fe,l.id)),ZC(),nv(l.reference),ZC(2),nv(l.title),ZC(2),nv(l.clientDisplayName),ZC(2),Fy(`variant`,l.status===`closed`?`default`:`success`),ZC(),vd(` `,o.i18n.t(l.status===`closed`?`affair.closed`:`affair.open`),` `),ZC(2),vd(` `,l.quoteIds.length+l.orderIds.length+l.invoiceIds.length,` `)}}function xe(t,i){if(t&1&&(Us(0,`tr`)(1,`td`,26),y_(2),fd()()),t&2){let e=qS(3);ZC(2),nv(e.i18n.t(`billingWorkspace.empty`))}}function ge(t,i){if(t&1){let e=zS();Us(0,`div`,19)(1,`table`)(2,`thead`)(3,`tr`)(4,`th`,20)(5,`button`,21),Gy(`click`,function(){Ip(e);return wp(qS(2).table.sort(`reference`))}),fd()(),Us(6,`th`,20)(7,`button`,21),Gy(`click`,function(){Ip(e);return wp(qS(2).table.sort(`title`))}),fd()(),Us(8,`th`,20)(9,`button`,21),Gy(`click`,function(){Ip(e);return wp(qS(2).table.sort(`client`))}),fd()(),Us(10,`th`,20)(11,`button`,21),Gy(`click`,function(){Ip(e);return wp(qS(2).table.sort(`status`))}),fd()(),Us(12,`th`,20)(13,`button`,21),Gy(`click`,function(){Ip(e);return wp(qS(2).table.sort(`documents`))}),fd()()()(),Us(14,`tbody`),LS(15,ve,13,9,`tr`,null,me,!1,xe,3,1,`tr`),fd()()(),Us(18,`footer`,22)(19,`p`,16),y_(20),fd()()}if(t&2){let e=qS(2);ZC(4),ky(`aria-sort`,e.table.direction(`reference`)),ZC(),Fy(`label`,e.i18n.t(`affair.reference`))(`direction`,e.table.direction(`reference`)),ZC(),ky(`aria-sort`,e.table.direction(`title`)),ZC(),Fy(`label`,e.i18n.t(`backOffice.invoice.title`))(`direction`,e.table.direction(`title`)),ZC(),ky(`aria-sort`,e.table.direction(`client`)),ZC(),Fy(`label`,e.i18n.t(`backOffice.invoices.client`))(`direction`,e.table.direction(`client`)),ZC(),ky(`aria-sort`,e.table.direction(`status`)),ZC(),Fy(`label`,e.i18n.t(`billingWorkspace.financialStatus`))(`direction`,e.table.direction(`status`)),ZC(),ky(`aria-sort`,e.table.direction(`documents`)),ZC(),Fy(`label`,e.i18n.t(`affair.documents`))(`direction`,e.table.direction(`documents`)),ZC(2),jS(e.table.results()),ZC(5),vd(` `,e.i18n.plural(`entityList.affairs`,k_(17,de,e.table.results().length)),` `)}}function he(t,i){if(t&1&&OS(0,be,2,1,`p`,16)(1,ye,4,2)(2,ge,21,19),t&2){let e;kS((e=qS().state())===`loading`?0:e===`error`?1:e===`ready`?2:-1)}}var Ce={columns:[{kind:`text`,key:`reference`,value:t=>t.reference},{kind:`text`,key:`title`,value:t=>t.title},{kind:`text`,key:`client`,value:t=>t.clientDisplayName},{kind:`text`,key:`status`,value:t=>t.status},{kind:`number`,key:`documents`,value:t=>t.quoteIds.length+t.orderIds.length+t.invoiceIds.length}],defaultSort:`referenceDesc`,id:t=>t.id,searchKeys:[`reference`,`title`,`clientDisplayName`]};var se=class t{i18n=g(Ie);api=g(m);clientsApi=g(y);route=g(G);router=g(ue$1);destroyRef=g(pe$1);state=Ke(`loading`);affairs=Ke([]);clients=Ke([]);view=Ke(`attention`);model=Ke({clientId:``,title:``});createForm=nr(this.model,i=>{gn(i.clientId),gn(i.title),cn(i.title,160)});saving=Ke(!1);tabs=Ft(()=>[this.tab(`attention`,`backOffice.affairs.attention`),this.tab(`active`,`backOffice.affairs.active`),this.tab(`completed`,`backOffice.affairs.completed`),this.tab(`all`,`backOffice.affairs.all`)]);visible=Ft(()=>{let i=this.view();return this.affairs().filter(e=>i===`all`?!0:i===`completed`?e.status===`closed`:i===`attention`?e.status===`open`&&e.quoteIds.length===0:e.status===`open`)});table=N$1(this.visible,Ce);constructor(){Ol(()=>{this.readView(),this.router.events.pipe(jt(i=>i instanceof x),U(this.destroyRef)).subscribe(()=>this.readView()),this.load()})}readView(){let i=this.route.firstChild?.snapshot.url[0]?.path;this.view.set(i===`active`||i===`completed`||i===`all`?i:`attention`)}async load(){this.state.set(`loading`);try{let[i,e]=await Promise.all([this.api.list(),this.clientsApi.list()]);if(!i.success){this.state.set(`error`);return}this.affairs.set(i.result),this.clients.set(e.filter(o=>!o.archived)),this.state.set(`ready`)}catch{this.state.set(`error`)}}async create(i){if(i.preventDefault(),!(this.createForm().invalid()||this.saving())){this.saving.set(!0);try{let e=this.model(),o=await this.api.create(qi.make({requestId:crypto.randomUUID(),clientId:wu.decodeUnknownSync(a)(e.clientId),title:e.title.trim()}));if(!o.success){this.state.set(`error`);return}this.affairs.update(l=>[o.result,...l]),this.createForm().reset({clientId:``,title:``}),await this.router.navigate([`/affairs`,o.result.id])}finally{this.saving.set(!1)}}}tab(i,e){return{path:i,id:`affairs-${i}-tab`,label:this.i18n.t(e)}}static ɵfac=function(e){return new(e||t)};static ɵcmp=Fb({type:t,selectors:[[`app-affairs`]],hostAttrs:[1,`page-container`],decls:10,vars:6,consts:[[`appTabLayout`,``,`aria-labelledby`,`affairs-title`,1,`detail-page`,`wide-page`],[`id`,`affairs-title`],[1,`muted`],[`class`,`ds-panel form-panel`,`aria-labelledby`,`affair-create-title`,4,`appCan`],[3,`tabs`,`label`,`preserveQuery`],[`appTabPanel`,`affairs`],[`aria-labelledby`,`affair-create-title`,1,`ds-panel`,`form-panel`],[`id`,`affair-create-title`],[1,`field-grid`,3,`submit`],[1,`field`],[`appFilterSelect`,``,1,`input`,3,`formField`],[`value`,``],[3,`value`],[1,`input`,3,`formField`],[1,`actions`],[`appButton`,``,`type`,`submit`,`variant`,`primary`,`icon`,`plus`,3,`disabled`],[`role`,`status`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`appButton`,``,`type`,`button`,3,`click`],[`appDataTable`,``],[`scope`,`col`],[`appTableSort`,``,3,`click`,`label`,`direction`],[1,`list-summary`],[`scope`,`row`],[3,`routerLink`],[`appBadge`,``,3,`variant`],[`colspan`,`5`]],template:function(e,o){e&1&&(Us(0,`section`,0)(1,`app-page-header`)(2,`h1`,1),y_(3),fd(),Us(4,`p`,2),y_(5),fd()(),Iy(6,_e,17,8,`section`,3),Py(7,`app-tabs`,4)(8,`router-outlet`),Iy(9,he,3,1,`ng-template`,5),fd()),e&2&&(ZC(3),nv(o.i18n.t(`backOffice.affairs.title`)),ZC(2),nv(o.i18n.t(`affair.intro`)),ZC(),Fy(`appCan`,`affair.create`),ZC(),Fy(`tabs`,o.tabs())(`label`,o.i18n.t(`backOffice.affairs.title`))(`preserveQuery`,!0))},dependencies:[Ae,l,d,N,c,yn,k,g$1,Dt,gr,D,O,r,u],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}.affairs-page[_ngcontent-%COMP%]{padding:var(--%NS%page-header-y) var(--%NS%page-x)}#affairs-panel[_ngcontent-%COMP%]{min-height:20rem}.reference[_ngcontent-%COMP%]{white-space:nowrap}.title[_ngcontent-%COMP%]{min-inline-size:14rem;max-inline-size:30rem;overflow-wrap:anywhere}.filter-summary[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--%NS%space-3)}.amount[_ngcontent-%COMP%]{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}th.amount[_ngcontent-%COMP%]{justify-content:flex-end}`]})};export{se as Affairs};
@@ -0,0 +1 @@
1
+ import{n as m,t as l}from"./chunk-BwCtja5l.js";import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,Ir as wp,It as Us,Jr as zS,K as Ke,Nr as vd,Sr as rv,Tn as fd,V as Iy,Wn as kS,Wr as y_,l as A_,lt as OS,mr as qT,or as ou,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{ct as Me,wi as wu}from"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import{$r as T,ac as nc}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"./chunk-CfwFJLFh.js";import"./chunk-DsaNNeZe.js";import{t as l$1}from"./chunk-BVszSMJC.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"./chunk-B56nz2lI.js";import{t as k}from"./chunk-D5MFwK9L.js";import"./chunk-niXXbm7H.js";import"./chunk-NDpjbcAr2.js";import"./chunk-POMKwNf_.js";import{a as u,i as m$1}from"./chunk-Dx1NwQCW.js";import"./chunk-Fc120Hsi2.js";import{_ as v,o as N$1,r as E}from"./chunk-B6Rml85x2.js";import"./chunk-CEJjSd8-2.js";import{t as w}from"./chunk-Bb31fHqC2.js";import{t as S}from"./chunk-P1du2kWg2.js";import{t as v$1}from"./chunk-BGVaNZdj.js";function le(i,n){if(i&1&&(Us(0,`p`,2),y_(1),fd()),i&2){let e=qS(2);ZC(),nv(e.i18n.t(`billingWorkspace.unavailable`))}}function de(i,n){if(i&1&&y_(0),i&2)vd(` `,qS(4).i18n.t(`billingWorkspace.amountInvalid`),` `)}function ce(i,n){if(i&1&&y_(0),i&2)vd(` `,qS(4).i18n.t(`billingWorkspace.dateInvalid`),` `)}function se(i,n){if(i&1&&y_(0),i&2)vd(` `,qS(4).i18n.t(`billingWorkspace.referenceInvalid`),` `)}function me(i,n){if(i&1){let e=zS();Us(0,`button`,19),Gy(`click`,function(){Ip(e);return wp(qS(4).retry())}),y_(1),fd()}if(i&2){let e=qS(4);Fy(`disabled`,e.task.busy()),ZC(),vd(` `,e.i18n.t(`billingWorkspace.retrySame`),` `)}}function pe(i,n){if(i&1){let e=zS();Us(0,`form`,5),Gy(`submit`,function(m){Ip(e);return wp(qS(3).save(m))}),Us(1,`div`,6)(2,`label`,7),y_(3),Py(4,`input`,8),qT(),Us(5,`span`,9),OS(6,de,1,1),fd()(),Us(7,`label`,7),y_(8),Py(9,`input`,10),qT(),Us(10,`span`,11),OS(11,ce,1,1),fd()(),Us(12,`label`,7),y_(13),Us(14,`select`,12)(15,`option`,13),y_(16),fd(),Us(17,`option`,13),y_(18),fd(),Us(19,`option`,13),y_(20),fd(),Us(21,`option`,13),y_(22),fd(),Us(23,`option`,13),y_(24),fd()(),qT(),fd(),Us(25,`label`,7),y_(26),Py(27,`input`,14),qT(),Us(28,`span`,15),OS(29,se,1,1),fd()()(),Us(30,`div`,16)(31,`button`,17),y_(32),fd(),OS(33,me,2,2,`button`,18),fd()()}if(i&2){let e=qS(3);ZC(3),nv(e.i18n.t(`payment.amount`)),ZC(),Fy(`formField`,e.paymentForm.amount),ky(`aria-invalid`,e.paymentForm.amount().touched()&&e.paymentForm.amount().invalid()),ZT(),ZC(2),kS(e.paymentForm.amount().touched()&&e.paymentForm.amount().invalid()?6:-1),ZC(2),nv(e.i18n.t(`payment.date`)),ZC(),Fy(`formField`,e.paymentForm.paidOn),ky(`aria-invalid`,e.paymentForm.paidOn().touched()&&e.paymentForm.paidOn().invalid()),ZT(),ZC(2),kS(e.paymentForm.paidOn().touched()&&e.paymentForm.paidOn().invalid()?11:-1),ZC(2),nv(e.i18n.t(`payment.method`)),ZC(),Fy(`formField`,e.paymentForm.method),ZT(),ZC(),Fy(`value`,`transfer`),ZC(),nv(e.i18n.t(`payment.transfer`)),ZC(),Fy(`value`,`card`),ZC(),nv(e.i18n.t(`payment.card`)),ZC(),Fy(`value`,`cash`),ZC(),nv(e.i18n.t(`payment.cash`)),ZC(),Fy(`value`,`cheque`),ZC(),nv(e.i18n.t(`payment.cheque`)),ZC(),Fy(`value`,`other`),ZC(),nv(e.i18n.t(`payment.other`)),ZC(2),nv(e.i18n.t(`payment.reference`)),ZC(),Fy(`formField`,e.paymentForm.reference),ky(`aria-invalid`,e.paymentForm.reference().touched()&&e.paymentForm.reference().invalid()),ZT(),ZC(2),kS(e.paymentForm.reference().touched()&&e.paymentForm.reference().invalid()?29:-1),ZC(2),Fy(`disabled`,e.task.locked()),ZC(),vd(` `,e.i18n.t(`payment.save`),` `),ZC(),kS(e.task.uncertain()?33:-1)}}function ue(i,n){if(i&1&&(Us(0,`p`)(1,`strong`),y_(2),fd()(),Iy(3,pe,34,27,`form`,4)),i&2){let e=qS(2);ZC(2),rv(``,e.i18n.t(`payment.remaining`),` : `,e.task.money(e.balance())),ZC(),Fy(`appCan`,`invoice.mark-paid`)}}function ye(i,n){if(i&1&&OS(0,le,2,1,`p`,2)(1,ue,4,3),i&2)kS(qS().eligible()?1:0)}function fe(i,n){if(i&1){let e=zS();Us(0,`button`,20),Gy(`click`,function(){Ip(e);return wp(qS().reload())}),y_(1),fd()}if(i&2){let e=qS();Fy(`disabled`,e.task.busy()||e.task.loading()),ZC(),vd(` `,e.i18n.t(`listControls.reload`),` `)}}var oe=()=>({amount:``,paidOn:``,method:`transfer`,reference:``});var re=class i{task=g(w);i18n=this.task.i18n;balance=Ft(()=>{let n=this.task.invoice();return n?v(n):0});eligible=Ft(()=>this.task.invoice()?.status===`issued`&&this.balance()>0);model=Ke(oe());baseline=JSON.stringify(this.model());initializedFullAmount=!1;paymentForm=nr(this.model,n=>{an(n,()=>this.task.locked()||!this.eligible()),gn(n.amount),P(n.amount,({value:e})=>{let a=u(e(),2);return a===void 0||a<=0||a>this.balance()?{kind:`amount`}:void 0}),gn(n.paidOn),P(n.paidOn,({value:e})=>{let a=this.task.invoice()?.issuedAt;return!wu.is(T)(e())||e()>N$1()||a!=null&&e()<E(a)?{kind:`date`}:void 0}),gn(n.reference),mn(n.reference,/\S/),cn(n.reference,160)});constructor(){ou(()=>{let n=this.balance();this.initializedFullAmount||this.task.route.snapshot.queryParamMap.get(`mode`)!==`full`||n<=0||(this.initializedFullAmount=!0,this.model.update(e=>m(l({},e),{amount:m$1(n,2)})),this.baseline=JSON.stringify(this.model()))})}hasUnsavedChanges=Ft(()=>JSON.stringify(this.model())!==this.baseline||this.paymentForm().errorSummary().some(n=>n.kind===`parse`));attempt;save(n){n.preventDefault(),!(this.task.locked()||!this.eligible())&&or(this.paymentForm,{action:async()=>{let e=this.task.invoice();if(!e)return;let a=this.paymentForm().value(),m$2=wu.decodeUnknownOption(nc)(m(l({},a),{amountCents:u(a.amount,2),reference:a.reference.trim(),expectedVersion:e.version,requestId:crypto.randomUUID()}));if(Me.isNone(m$2)){this.task.error.set(`invoice.payment_invalid`);return}this.attempt=m$2.value,await this.retry()},onInvalid:()=>this.task.focusInvalid()})}async retry(){let n=this.task.invoice(),e=this.attempt;if(!n||!e)return;await this.task.run(()=>this.task.api.recordPayment(n.id,e),`payment.confirm`,`record-payment`)===`resolved`&&(this.attempt=void 0)}async reload(){this.task.uncertain()||this.task.busy()||await this.task.confirmation.request(this.i18n.t(`billingWorkspace.reloadConfirm`))&&(this.attempt=void 0,this.paymentForm().reset(oe()),await this.task.load())}canDeactivate(){return this.task.canDeactivate(this.hasUnsavedChanges())}static ɵfac=function(e){return new(e||i)};static ɵcmp=Fb({type:i,selectors:[[`app-payment-editor`]],hostAttrs:[1,`page-container`],hostBindings:function(e,a){e&1&&Gy(`beforeunload`,function(O){return a.task.beforeUnload(O,a.hasUnsavedChanges())},Zw)},features:[A_([w])],decls:7,vars:4,consts:[[`aria-labelledby`,`payment-title`,1,`detail-page`,`form-page`],[`headingId`,`payment-title`,3,`heading`],[`appNotice`,``],[`appButton`,``,3,`disabled`],[`class`,`task-form ds-panel form-panel`,3,`submit`,4,`appCan`],[1,`task-form`,`ds-panel`,`form-panel`,3,`submit`],[1,`fields`],[1,`field`],[`inputmode`,`decimal`,`aria-describedby`,`payment-amount-error`,1,`input`,3,`formField`],[`id`,`payment-amount-error`,1,`field-error`],[`type`,`date`,`aria-describedby`,`payment-date-error`,1,`input`,3,`formField`],[`id`,`payment-date-error`,1,`field-error`],[`appFilterSelect`,``,1,`input`,3,`formField`],[3,`value`],[`aria-describedby`,`payment-reference-error`,1,`input`,3,`formField`],[`id`,`payment-reference-error`,1,`field-error`],[1,`actions`],[`appButton`,``,`type`,`submit`,`variant`,`primary`,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,ye,2,1),OS(6,fe,2,2,`button`,3),fd()),e&2&&(ZC(),Fy(`heading`,a.i18n.t(`billingWorkspace.recordReceipt`)),ZC(2),nv(a.i18n.t(`billingWorkspace.receiptHint`)),ZC(2),kS(a.task.invoice()&&!a.task.completed()?5:-1),ZC(),kS(a.task.error()&&!a.task.completed()&&!a.task.uncertain()?6:-1))},dependencies:[Ae,l$1,N,k,yn,v$1,S],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{re as PaymentEditor};
@@ -0,0 +1 @@
1
+ import{n as m,t as l}from"./chunk-BwCtja5l.js";import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,Gr as yd,Ir as wp,It as Us,J as Ky,Jr as zS,K as Ke,M as H_,Nr as vd,Rt as V_,Sr as rv,Tn as fd,V as Iy,Vr as xH,Wn as kS,Wr as y_,Zn as md,dr as pe,ft as Ol,lt as OS,mr as qT,mt as PH,pr as qS,qn as ky,rn as Zw,rr as nv,tn as ZT,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{h as Ne$1,m as Ie$1,o as U,r as N,v as Dt,y as G}from"./main-F7D3L737.js";import{wi as wu}from"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import{$r as T,Ia as a}from"./chunk-D5qmP2Wu.js";import"./chunk-BzUDWIzm.js";import"./chunk-CReShp-B.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{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{n as l$2,t as K}from"./chunk-BYjxXKZ4.js";import{d as Q,g as _,h as Y,i as H,m as V,r as F}from"./chunk-CMvRZBpn.js";import{t as P$1}from"./chunk-niXXbm7H.js";import{t as p}from"./chunk-BHEFFEGN.js";var Le=[`result`];var Pe=()=>({dateStyle:`medium`,timeStyle:`short`});function we(i,r){if(i&1&&(Us(0,`div`,5,0)(2,`p`,8),y_(3),fd()()),i&2){let e=qS();ZC(3),nv(e.i18n.t(`ledger.saved`))}}function Ee(i,r){if(i&1){let e=zS();Us(0,`div`)(1,`button`,10),Gy(`click`,function(){Ip(e);return wp(qS(2).refresh())}),y_(2),fd()()}if(i&2){let e=qS(2);ZC(),Fy(`disabled`,e.busy()),ZC(),vd(` `,e.i18n.t(`bank.reload`),` `)}}function Ie(i,r){if(i&1&&(Us(0,`p`,9),y_(1),fd(),OS(2,Ee,3,2,`div`)),i&2){let e=qS();ZC(),nv(e.i18n.t(r)),ZC(),kS(e.state()===`ready`&&!e.pending()?2:-1)}}function Ne(i,r){if(i&1&&(Us(0,`p`,6),y_(1),fd()),i&2){let e=qS();ZC(),nv(e.i18n.t(`ledger.loading`))}}function Oe(i,r){if(i&1){let e=zS();Us(0,`div`)(1,`button`,11),Gy(`click`,function(){Ip(e);return wp(qS().load())}),y_(2),fd()()}if(i&2){let e=qS();ZC(2),nv(e.i18n.t(`bank.reload`))}}function Re(i,r){if(i&1&&(Us(0,`a`,16),y_(1),fd()),i&2){let e=qS(),t=qS();Fy(`routerLink`,t.sourceLink(e.sourceKind,e.sourceId))(`queryParams`,t.backQuery),ZC(),rv(``,t.i18n.t(`bankWorkspace.sourceType`),` : `,t.i18n.t(t.sourceLabel(e.sourceKind)))}}function Te(i,r){if(i&1&&(Us(0,`p`),y_(1),Us(2,`a`,16),y_(3),fd()()),i&2){let e=r,t=qS(2);ZC(),vd(` `,t.i18n.t(`ledger.reverses`),` `),ZC(),Fy(`routerLink`,t.entryLink(e))(`queryParams`,t.backQuery),ZC(),nv(e)}}function De(i,r){if(i&1&&(Us(0,`p`),y_(1),Us(2,`a`,16),y_(3),fd()()),i&2){let e=r,t=qS(2);ZC(),vd(` `,t.i18n.t(`ledger.reversed`),` `),ZC(),Fy(`routerLink`,t.entryLink(e))(`queryParams`,t.backQuery),ZC(),nv(e)}}function ze(i,r){if(i&1&&y_(0),i&2)vd(` `,qS(4).i18n.t(`bankWorkspace.reversalReasonInvalid`),` `)}function Fe(i,r){if(i&1&&y_(0),i&2)vd(` `,qS(4).i18n.t(`bankWorkspace.reversalDateInvalid`),` `)}function qe(i,r){if(i&1&&(Us(0,`p`,24),y_(1),fd()),i&2){let e=qS(4);ZC(),nv(e.i18n.t(`bankWorkspace.retryHint`))}}function Be(i,r){if(i&1){let e=zS();md(0),Us(1,`p`),y_(2),fd(),Us(3,`form`,18),Gy(`submit`,function(s){Ip(e);return wp(qS(3).reverse(s))}),Us(4,`label`,19),y_(5),Py(6,`textarea`,20),qT(),Us(7,`span`,21),OS(8,ze,1,1),fd()(),Us(9,`label`,19),y_(10),Py(11,`input`,22),qT(),Us(12,`span`,23),OS(13,Fe,1,1),fd()(),OS(14,qe,2,1,`p`,24),Us(15,`div`)(16,`button`,25),y_(17),fd()()(),yd()}if(i&2){let e=qS(3);ZC(2),nv(e.i18n.t(`ledger.confirmReverse`)),ZC(3),nv(e.i18n.t(`ledger.reason`)),ZC(),Fy(`formField`,e.reversalForm.reason),ky(`aria-invalid`,e.invalid(`reason`)),ZT(),ZC(2),kS(e.invalid(`reason`)?8:-1),ZC(2),nv(e.i18n.t(`ledger.date`)),ZC(),Fy(`formField`,e.reversalForm.bookedOn),ky(`aria-invalid`,e.invalid(`bookedOn`)),ZT(),ZC(2),kS(e.invalid(`bookedOn`)?13:-1),ZC(),kS(e.pending()?14:-1),ZC(2),Fy(`disabled`,e.busy()),ZC(),vd(` `,e.i18n.t(e.submitLabel()),` `)}}function We(i,r){i&1&&Iy(0,Be,18,12,`ng-container`,17),i&2&&Fy(`appCan`,`ledger.post`)}function Ue(i,r){if(i&1&&(Us(0,`div`,7)(1,`aside`,12)(2,`h2`),y_(3),fd(),Us(4,`dl`)(5,`div`)(6,`dt`),y_(7),fd(),Us(8,`dd`),y_(9),fd()(),Us(10,`div`)(11,`dt`),y_(12),fd(),Us(13,`dd`),y_(14),j_(15,`localizedDate`),fd()(),Us(16,`div`)(17,`dt`),y_(18),fd(),Us(19,`dd`),y_(20),fd()(),Us(21,`div`)(22,`dt`),y_(23),fd(),Us(24,`dd`),y_(25),fd()(),Us(26,`div`)(27,`dt`),y_(28),fd(),Us(29,`dd`),y_(30),fd()(),Us(31,`div`)(32,`dt`),y_(33),fd(),Us(34,`dd`),y_(35),j_(36,`localizedDate`),fd()()(),Us(37,`span`,13),y_(38),fd(),Iy(39,Re,2,4,`a`,14),fd(),Us(40,`div`,15),OS(41,Te,4,4,`p`)(42,De,4,4,`p`)(43,We,1,1,`ng-container`),fd()()),i&2){let e,t=r,s=qS();ZC(3),nv(t.label),ZC(4),nv(s.i18n.t(`ledger.entryId`)),ZC(2),nv(t.id),ZC(3),nv(s.i18n.t(`bankWorkspace.date`)),ZC(2),nv(V_(15,17,t.bookedOn,s.i18n.language())),ZC(4),nv(s.i18n.t(`bankWorkspace.amount`)),ZC(2),nv(s.money(t.amountCents)),ZC(3),nv(s.i18n.t(`ledger.debitAccount`)),ZC(2),nv(t.debitAccount),ZC(3),nv(s.i18n.t(`ledger.creditAccount`)),ZC(2),nv(t.creditAccount),ZC(3),nv(s.i18n.t(`ledger.actor`)),ZC(2),rv(` `,t.recordedByUserId,` · `,H_(36,20,t.recordedAt,s.i18n.language(),O_(24,Pe)),` `),ZC(3),nv(s.i18n.t(s.statusLabel(t))),ZC(),Fy(`appCan`,`ledger.post`),ZC(2),kS((e=t.reversesId)?41:(e=t.reversalId)?42:43,e)}}var Se=()=>({reason:``,bookedOn:``});var Me=class i{authentication=g(E);titleLabel=Ft(()=>this.authentication.can(`ledger.post`)?`bankWorkspace.reverseTitle`:`bankWorkspace.entries`);i18n=g(Ie$1);api=g(l$2);confirmation=g(P$1);route=g(G);destroyRef=g(pe);pendingTasks=g(Mn);result=xH(`result`);state=Ke(`loading`);busy=Ke(!1);error=Ke(void 0);errorMessage=Ft(()=>K(this.error(),this.state()===`ready`?`reverse`:`load`));entry=Ke(void 0);completed=Ke(void 0);pending=Ke(void 0);model=Ke(Se());baseline=JSON.stringify(this.model());reversalForm=nr(this.model,r=>{gn(r.reason),mn(r.reason,/\S/),cn(r.reason,160),gn(r.bookedOn),P(r.bookedOn,({value:e})=>{let t=e(),s=this.entry(),u=new Intl.DateTimeFormat(`en-CA`,{timeZone:`Europe/Paris`,year:`numeric`,month:`2-digit`,day:`2-digit`}).format(new Date);return wu.is(T)(t)&&s!==void 0&&t>=s.bookedOn&&t<=u?void 0:{kind:`date`}}),an(r,()=>this.busy()||this.state()!==`ready`||!!this.pending()||!!this.completed())});hasUnsavedChanges=Ft(()=>JSON.stringify(this.model())!==this.baseline||this.reversalForm().errorSummary().some(r=>r.kind===`parse`));backQuery=H(F(this.route.snapshot.queryParamMap));entryLink=_;sourceLink=Y;sourceLabel=V;statusLabel=Q;submitLabel=Ft(()=>this.pending()?`bankWorkspace.retry`:`ledger.reverse`);generation=0;requestKey;constructor(){PH(()=>{this.completed()&&this.result()?.nativeElement.focus()}),Ol(()=>this.route.paramMap.pipe(U(this.destroyRef)).subscribe(()=>{this.pendingTasks.run(()=>this.load())}))}async load(){if(this.busy())return;let r=++this.generation;this.state.set(`loading`),this.error.set(void 0),this.entry.set(void 0),this.completed.set(void 0),this.pending.set(void 0),this.requestKey=void 0,this.reversalForm().reset(Se());let e=this.route.snapshot.paramMap.get(`entryId`);if(!wu.is(a)(e)){this.error.set(`bankWorkspace.entryMissing`),this.state.set(`error`);return}try{let t=await this.api.getEntry(e);if(r!==this.generation||this.destroyRef.destroyed)return;if(!t.success){this.error.set(t.code===`ledger.conflict`?`bankWorkspace.entryMissing`:t.code),this.state.set(`error`);return}this.entry.set(t.result),this.state.set(`ready`)}catch{r===this.generation&&!this.destroyRef.destroyed&&(this.error.set(`ledger.error`),this.state.set(`error`))}}reverse(r){r.preventDefault();let e=this.entry();if(!(this.busy()||this.completed()||this.state()!==`ready`||!e||e.reversalId||e.reversesId)){if(this.pending()){this.send(!1);return}this.reversalForm().markAsTouched();for(let t of[`reason`,`bookedOn`])if(this.reversalForm[t]().invalid()){this.reversalForm[t]().focusBoundControl();return}or(this.reversalForm,async()=>{let t=m(l({},this.model()),{reason:this.model().reason.trim()}),s=JSON.stringify(t);this.requestKey?.fingerprint!==s&&(this.requestKey={fingerprint:s,id:crypto.randomUUID()}),this.pending.set(m(l({},t),{requestId:this.requestKey.id})),await this.send()})}}async refresh(){this.pending()||await this.canDeactivate()&&await this.load()}async send(r=!0){let e=this.pending(),t=this.entry();if(!(!e||!t||this.busy())){this.busy.set(!0),this.error.set(void 0);try{if(r&&!await this.confirmation.request(this.i18n.t(`ledger.confirmReverse`))){this.pending.set(void 0);return}let s=await this.api.reverse(t.id,e);if(this.destroyRef.destroyed)return;if(!s.success){this.error.set(s.code),s.code!==`ledger.error`&&this.pending.set(void 0);return}this.completed.set(s.result),this.entry.set(m(l({},t),{reversalId:s.result.id})),this.pending.set(void 0),this.reversalForm().reset()}catch{this.destroyRef.destroyed||this.error.set(`ledger.error`)}finally{this.destroyRef.destroyed||this.busy.set(!1)}}}invalid(r){return this.reversalForm[r]().touched()&&this.reversalForm[r]().invalid()}money(r){return Ne$1(r,this.i18n.language(),`EUR`)}async canDeactivate(){return this.busy()?!1:this.completed()?!0:!this.hasUnsavedChanges()&&!this.pending()||this.confirmation.request(this.i18n.t(`bankWorkspace.unsaved`))}beforeUnload(r){(this.busy()||!this.completed()&&(this.hasUnsavedChanges()||this.pending()))&&r.preventDefault()}static ɵfac=function(e){return new(e||i)};static ɵcmp=Fb({type:i,selectors:[[`app-ledger-reversal`]],viewQuery:function(e,t){e&1&&Ky(t.result,Le,5),e&2&&e_()},hostAttrs:[1,`page-container`],hostBindings:function(e,t){e&1&&Gy(`beforeunload`,function(u){return t.beforeUnload(u)},Zw)},decls:13,vars:7,consts:[[`result`,``],[`aria-labelledby`,`reversal-title`,1,`detail-page`,`form-page`],[`layout`,`stacked`],[`pageBack`,``,`routerLink`,`/banking/ledger`,3,`queryParams`],[`id`,`reversal-title`],[`tabindex`,`-1`,`role`,`status`],[`role`,`status`],[1,`context`],[`appNotice`,``,`variant`,`success`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`],[`appButton`,``,`type`,`button`,3,`click`],[1,`ds-panel`,`task-panel`],[`appBadge`,``],[3,`routerLink`,`queryParams`,4,`appCan`],[1,`bank-section`],[3,`routerLink`,`queryParams`],[4,`appCan`],[`novalidate`,``,1,`task-form`,3,`submit`],[1,`field`],[`rows`,`3`,`aria-describedby`,`reversal-reason-error`,1,`input`,3,`formField`],[`id`,`reversal-reason-error`,1,`field-error`],[`type`,`date`,`aria-describedby`,`reversal-date-error`,1,`input`,3,`formField`],[`id`,`reversal-date-error`,1,`field-error`],[`appNotice`,``,`variant`,`warning`],[`appButton`,``,`type`,`submit`,`variant`,`warning`,3,`disabled`]],template:function(e,t){if(e&1&&(Us(0,`section`,1)(1,`app-page-header`,2)(2,`a`,3),y_(3),fd(),Us(4,`h1`,4),y_(5),fd(),Us(6,`p`),y_(7),fd()(),OS(8,we,4,1,`div`,5),OS(9,Ie,3,2),OS(10,Ne,2,1,`p`,6)(11,Oe,3,1,`div`)(12,Ue,44,25,`div`,7),fd()),e&2){let s,u;ZC(2),Fy(`queryParams`,t.backQuery),ZC(),nv(t.i18n.t(`bankWorkspace.backLedger`)),ZC(2),nv(t.i18n.t(t.titleLabel())),ZC(2),nv(t.i18n.t(`bankWorkspace.ledgerScope`)),ZC(),kS(t.completed()?8:-1),ZC(),kS((s=t.errorMessage())?9:-1,s),ZC(),kS(t.state()===`loading`?10:t.state()===`error`?11:(u=t.entry())?12:-1,u)}},dependencies:[l$1,d,N,yn,k,g$1,Dt,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{Me as LedgerReversal};
@@ -0,0 +1 @@
1
+ import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,It as Us,K as Ke,Nr as vd,Rn as jS,Sr as rv,Tn as fd,Wn as kS,Wr as y_,X as LS,hr as q_,l as A_,lt as OS,mr as qT,pr as qS,rr as nv,tn as ZT,vt as Py,w as Fb}from"./chunk-BAHiFuUo.js";import{T as ue,r as N}from"./main-F7D3L737.js";import{ct as Me,wi as wu}from"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import{Ai as Vu}from"./chunk-D5qmP2Wu.js";import"./chunk-BzUDWIzm.js";import"./chunk-CczD0yXn.js";import{C as vn,_ as je,b as nt,d as Vn,g as bn,h as _n,i as Dn,l as Je,n as Bt,o as Et,r as Cn,u as Lt}from"./chunk-CReShp-B.js";import{t as Ae}from"./chunk-DM5aibnW.js";import"./chunk-CfwFJLFh.js";import"./chunk-B56nz2lI.js";import{t as k}from"./chunk-D5MFwK9L.js";import"./chunk-niXXbm7H.js";import{t as R}from"./chunk-NDpjbcAr2.js";import"./chunk-POMKwNf_.js";import{a as u}from"./chunk-Dx1NwQCW.js";import{o as N$1}from"./chunk-B6Rml85x2.js";import{t as u$1}from"./chunk-MpUdRrak2.js";import"./chunk-CEJjSd8-2.js";import{t as w}from"./chunk-Bb31fHqC2.js";import{t as S}from"./chunk-P1du2kWg2.js";var te=(o,i)=>i.id;function ie(o,i){if(o&1&&(Us(0,`p`,2),y_(1),fd()),o&2){let t=qS();ZC(),nv(t.i18n.t(`invoice.credit_conflict`))}}function ne(o,i){if(o&1&&(Us(0,`option`,7),y_(1),fd()),o&2){let t=i.$implicit,e=qS();Fy(`value`,t.id),ZC(),rv(` `,t.invoiceNumber,` — `,e.task.money(t.totalCents-t.recordedPaidCents-t.creditedCents),` `)}}var ee=class o{task=g(w);i18n=this.task.i18n;creditsApi=g(u$1);invoicesApi=g(R);router=g(ue);credits=q_({params:()=>this.task.invoice()?.id,loader:({params:i})=>this.creditsApi.get(i)});invoices=q_({loader:()=>this.invoicesApi.list()});balance=Ft(()=>{let i=this.credits.hasValue()?this.credits.value():void 0;return i?.success?i.result.refundableCents:0});targets=Ft(()=>{let i=this.task.invoice();return i===void 0||!this.invoices.hasValue()?[]:this.invoices.value().filter(t=>t.id!==i.id&&t.clientId===i.clientId&&t.currency===i.currentRevision.currency&&t.status===`issued`&&t.totalCents-t.recordedPaidCents-t.creditedCents>0)});targetInvoiceId=Ke(``);amount=Ke(``);allocatedOn=Ke(N$1());reference=Ke(``);busy=Ke(!1);error=Ke(!1);async save(i){i.preventDefault();let t=this.task.invoice();if(t===void 0||this.busy())return;let e=wu.decodeUnknownOption(Vu)({requestId:crypto.randomUUID(),targetInvoiceId:this.targetInvoiceId(),amountCents:u(this.amount(),2),allocatedOn:this.allocatedOn(),reference:this.reference().trim()});if(Me.isNone(e)||e.value.amountCents>this.balance()){this.error.set(!0);return}this.busy.set(!0);let p=await this.creditsApi.allocate(t.id,e.value);if(this.busy.set(!1),!p.success){this.error.set(!0);return}await this.router.navigate([`/invoices`,t.id],{queryParams:this.task.navigation.detailQuery()})}canDeactivate(){return!this.busy()}static ɵfac=function(t){return new(t||o)};static ɵcmp=Fb({type:o,selectors:[[`app-credit-allocation-editor`]],hostAttrs:[1,`page-container`],features:[A_([w])],decls:23,vars:14,consts:[[`aria-labelledby`,`credit-allocation-title`,1,`detail-page`,`form-page`],[`headingId`,`credit-allocation-title`,3,`heading`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[1,`ds-panel`,`form-panel`,3,`submit`],[`for`,`credit-allocation-target`,1,`field`],[`appFilterSelect`,``,`id`,`credit-allocation-target`,`required`,``,`name`,`targetInvoiceId`,3,`ngModelChange`,`ngModel`],[`value`,``],[3,`value`],[`for`,`credit-allocation-amount`,1,`field`],[`id`,`credit-allocation-amount`,`required`,``,`inputmode`,`decimal`,`name`,`amount`,3,`ngModelChange`,`ngModel`],[`for`,`credit-allocation-date`,1,`field`],[`id`,`credit-allocation-date`,`required`,``,`type`,`date`,`name`,`allocatedOn`,3,`ngModelChange`,`ngModel`],[`for`,`credit-allocation-reference`,1,`field`],[`id`,`credit-allocation-reference`,`required`,``,`maxlength`,`160`,`name`,`reference`,3,`ngModelChange`,`ngModel`],[`appButton`,``,`variant`,`primary`,`type`,`submit`,3,`disabled`]],template:function(t,e){t&1&&(Us(0,`section`,0),Py(1,`app-invoice-task-header`,1),OS(2,ie,2,1,`p`,2),Us(3,`form`,3),Gy(`submit`,function(l){return e.save(l)}),Us(4,`p`),y_(5),fd(),Us(6,`label`,4),y_(7),Us(8,`select`,5),Gy(`ngModelChange`,function(l){return e.targetInvoiceId.set(l)}),Py(9,`option`,6),LS(10,ne,2,3,`option`,7,te),fd(),qT(),fd(),Us(12,`label`,8),y_(13),Us(14,`input`,9),Gy(`ngModelChange`,function(l){return e.amount.set(l)}),fd(),qT(),fd(),Us(15,`label`,10),y_(16),Us(17,`input`,11),Gy(`ngModelChange`,function(l){return e.allocatedOn.set(l)}),fd(),qT(),fd(),Us(18,`label`,12),y_(19),Us(20,`input`,13),Gy(`ngModelChange`,function(l){return e.reference.set(l)}),fd(),qT(),fd(),Us(21,`button`,14),y_(22),fd()()()),t&2&&(ZC(),Fy(`heading`,e.i18n.t(`credit.allocate`)),ZC(),kS(e.error()?2:-1),ZC(3),rv(``,e.i18n.t(`credit.refundable`),` `,e.task.money(e.balance())),ZC(2),vd(``,e.i18n.t(`credit.targetInvoice`),` `),ZC(),Fy(`ngModel`,e.targetInvoiceId()),ZT(),ZC(2),jS(e.targets()),ZC(3),vd(``,e.i18n.t(`credit.amount`),` `),ZC(),Fy(`ngModel`,e.amount()),ZT(),ZC(2),vd(``,e.i18n.t(`credit.allocatedOn`),` `),ZC(),Fy(`ngModel`,e.allocatedOn()),ZT(),ZC(2),vd(``,e.i18n.t(`credit.reference`),` `),ZC(),Fy(`ngModel`,e.reference()),ZT(),ZC(),Fy(`disabled`,e.busy()||e.balance()<=0),ZC(),vd(` `,e.i18n.t(`credit.allocate`),` `))},dependencies:[Ae,N,bn,Cn,Vn,Dn,je,nt,vn,_n,Je,Et,Lt,Bt,S,k],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}}`]})};export{ee as CreditAllocationEditor};
@@ -0,0 +1 @@
1
+ import{n as m,t as l}from"./chunk-BwCtja5l.js";import{$t as ZC,A as Gy,At as S_,D as Fy,Dn as g,Dr as t_,E as Ft,Gn as k_,Ir as wp,It as Us,Jr as zS,K as Ke$1,M as H_,Nr as vd,Rn as jS,Tn as fd,V as Iy,Wn as kS,Wr as y_,X as LS,Xn as lv,dr as pe,ft as Ol,l as A_,lt as OS,mn as b_,mr as qT,pr as qS,qn as ky,rn as Zw,rr as nv,tn as ZT,ut as O_,vt as Py,w as Fb,z as Ip,zn as j_}from"./chunk-BAHiFuUo.js";import{S as gr,T as ue,c as O,l as r,m as Ie,o as U,r as N,v as Dt$1,y as G}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{t}from"./chunk-CKxU-VJf.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 E}from"./chunk-DsaNNeZe.js";import{t as l$1}from"./chunk-BVszSMJC.js";import{t as D}from"./chunk-AJOoJgZJ.js";import{t as u}from"./chunk-Bfx7EEIR.js";import{t as c}from"./chunk-enci06qG.js";import{d as nr,h as yn}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{n as u$1,t as p}from"./chunk-BHEFFEGN.js";import{t as l$2}from"./chunk-C0Ceu-vg.js";import"./chunk-CXHCUTDs.js";import{t as u$2}from"./chunk-DboSVJMM.js";import{a as S,c as h,d as u$3,f as x,i as R,l as k$1,n as E$1,o as T,r as O$1,s as W,t as D$1,u as m$1}from"./chunk-Dns8uMf32.js";import{n as m$2,t as d$1}from"./chunk-cTGENC4T2.js";import{t as f}from"./chunk-DOCau85G2.js";import"./chunk-ZBDWcE362.js";import"./chunk-CP-AnFGa2.js";import"./chunk-scbWWgLx2.js";import{t as h$1}from"./chunk-DGbo0App2.js";import{t as l$3}from"./chunk-Dl4EbYnM2.js";import"./chunk-Bsy3r41y2.js";import{t as Fe}from"./chunk-DB6sOjsn2.js";import{n as b,t as Z}from"./chunk-CABvk97t2.js";import{i as U$1,n as B,r as Q,t as $}from"./chunk-CCqlW8pS2.js";import{t as f$1}from"./chunk-RIi7_iVg.js";import{t as B$1}from"./chunk-qKosqkwC.js";import{n as s,t as T$1}from"./chunk-DDCyjjcE.js";var Xe=i=>({query:i});var Ke=i=>({date:i});var Ye=i=>({count:i});var Ge=i=>[`/emails/messages`,i];var j=()=>({dateStyle:`medium`,timeStyle:`short`});var Ze=i=>[`/emails/drafts`,i,`edit`];var et=i=>[`/emails/templates`,i,`edit`];var tt=i=>[`/invoices`,i];var H=(i,t)=>t.item.id;function it(i,t){if(i&1&&(Us(0,`a`,7),y_(1),fd()),i&2){let e=qS();Fy(`routerLink`,e.createLink())(`queryParams`,e.returnQuery(e.currentView())),ZC(),nv(e.i18n.t(e.createLabel()))}}function nt(i,t){if(i&1){let e=zS();Us(0,`app-filter-choice`,17),Gy(`committed`,function(a){Ip(e),qS(2);let c=t_(4);return qS(2).setState(a),wp(c.close())}),fd()}if(i&2){let e=qS(3).tab,n=qS();Fy(`label`,n.i18n.t(`listWorkspace.searchChoices`))(`emptyLabel`,n.i18n.t(`listWorkspace.noChoices`))(`options`,n.filterChoices(e))(`value`,n.query().state)}}function at(i,t){if(i&1&&Iy(0,nt,1,4,`ng-template`,12),i&2){let e=qS(3);Fy(`label`,e.i18n.t(`emailsWorkspace.status`))(`summary`,e.i18n.t(e.stateLabels[e.query().state]))}}function rt(i,t){if(i&1){let e=zS();Us(0,`app-date-range-filter`,18),Gy(`rangeApplied`,function(a){Ip(e),qS();let c=t_(4);return qS(2).applyPeriod(a),wp(c.close())}),fd(),Us(1,`p`,3),y_(2),fd()}if(i&2){let e=qS(3);Fy(`from`,e.query().from)(`to`,e.query().to),ZC(2),nv(e.i18n.t(`emailsWorkspace.dateFilterHint`))}}function ot(i,t){if(i&1){let e=zS();Us(0,`button`,20),Gy(`click`,function(){Ip(e);return wp(qS(4).clearSearch())}),fd()}if(i&2){let e=qS(4);Fy(`label`,e.i18n.tf(`emailsWorkspace.searchFilter`,k_(1,Xe,e.query().q)))}}function st(i,t){if(i&1){let e=zS();Us(0,`button`,20),Gy(`click`,function(){Ip(e);return wp(qS(4).clearState())}),fd()}if(i&2){let e=qS(4);Fy(`label`,e.i18n.t(e.stateLabels[e.query().state]))}}function lt(i,t){if(i&1){let e=zS();Us(0,`button`,20),Gy(`click`,function(){Ip(e);return wp(qS(4).clearDate(`from`))}),fd()}if(i&2)Fy(`label`,qS(4).i18n.tf(`emailsWorkspace.fromFilter`,k_(1,Ke,t)))}function ct(i,t){if(i&1){let e=zS();Us(0,`button`,20),Gy(`click`,function(){Ip(e);return wp(qS(4).clearDate(`to`))}),fd()}if(i&2)Fy(`label`,qS(4).i18n.tf(`emailsWorkspace.toFilter`,k_(1,Ke,t)))}function dt(i,t){if(i&1&&(Us(0,`div`,14),OS(1,ot,1,3,`button`,19),OS(2,st,1,1,`button`,19),OS(3,lt,1,3,`button`,19),OS(4,ct,1,3,`button`,19),fd()),i&2){let e,n,a=qS(3);ZC(),kS(a.query().q?1:-1),ZC(),kS(a.query().state!==`all`?2:-1),ZC(),kS((e=a.query().from)?3:-1,e),ZC(),kS((n=a.query().to)?4:-1,n)}}function mt(i,t){if(i&1&&(Us(0,`p`,15),y_(1),fd()),i&2){let e=qS(3);ZC(),nv(e.i18n.t(`emailsWorkspace.dateRange`))}}function pt(i,t){if(i&1&&(Us(0,`p`,15),y_(1),fd()),i&2){let e=qS(3);ZC(),nv(e.i18n.t(t))}}function _t(i,t){if(i&1&&(Us(0,`p`,16),y_(1),fd()),i&2){let e=qS(3);ZC(),nv(e.i18n.t(`integrations.loading`))}}function ut(i,t){if(i&1){let e=zS();Us(0,`p`,15),y_(1),fd(),Us(2,`div`)(3,`button`,21),Gy(`click`,function(){Ip(e);let a=qS(2).tab;return wp(qS().load(a))}),y_(4),fd()()}if(i&2){let e=qS(3);ZC(),nv(e.i18n.t(`emailsWorkspace.loadError`)),ZC(3),vd(` `,e.i18n.t(`integrations.reload`),` `)}}function yt(i,t){if(i&1&&(Us(0,`app-empty-state`,22)(1,`p`),y_(2),fd()()),i&2){let e=qS(4);Fy(`title`,e.i18n.t(e.query().q||e.filterCount()?`emailsWorkspace.noMatches`:`emailsWorkspace.empty`)),ZC(2),vd(` `,e.i18n.t(e.query().q||e.filterCount()?`emailsWorkspace.changeSearch`:`emailsWorkspace.emptyHint`),` `)}}function ft(i,t){if(i&1){let e=zS();Us(0,`th`,25)(1,`button`,26),Gy(`click`,function(){Ip(e);return wp(qS(5).sortBy(`recipient`))}),fd()()}if(i&2){let e=qS(5);ky(`aria-sort`,e.sortDirection(`recipient`)),ZC(),Fy(`label`,e.i18n.t(`emails.recipient`))(`direction`,e.sortDirection(`recipient`))}}function ht(i,t){if(i&1){let e=zS();Us(0,`th`,25)(1,`button`,26),Gy(`click`,function(){Ip(e);return wp(qS(5).sortBy(`state`))}),fd()()}if(i&2){let e=qS(5);ky(`aria-sort`,e.sortDirection(`state`)),ZC(),Fy(`label`,e.i18n.t(`emailsWorkspace.status`))(`direction`,e.sortDirection(`state`))}}function gt(i,t){if(i&1&&(Us(0,`th`,25),y_(1),fd()),i&2){let e=qS(5);ZC(),nv(e.i18n.t(`emailsWorkspace.action`))}}function xt(i,t){if(i&1&&(Us(0,`tr`)(1,`th`,27)(2,`div`,28),Py(3,`app-entity-icon`,29),Us(4,`div`)(5,`a`,30),y_(6),fd(),Us(7,`small`),y_(8),fd()()()(),Us(9,`td`),y_(10),fd(),Us(11,`td`)(12,`span`,31),y_(13),fd()(),Us(14,`td`),y_(15),j_(16,`localizedDate`),fd()()),i&2){let e=qS().$implicit,n=S_(0),a=qS(5).tab,c=qS();ZC(3),Fy(`variant`,c.iconVariant(n)),ZC(2),Fy(`routerLink`,k_(13,Ge,n.id))(`queryParams`,c.returnQuery(a))(`appSearchHighlight`,e.indices),ZC(),nv(n.request.subject),ZC(2),nv(n.request.reference),ZC(2),nv(n.request.recipient),ZC(3),nv(c.i18n.t(c.status(n))),ZC(2),vd(` `,H_(16,9,n.createdAt,c.i18n.language(),O_(15,j)),` `)}}function bt(i,t){if(i&1&&(lv(0),OS(1,xt,17,16,`tr`)),i&2){let e=t.$implicit,n=b_(e.item);ZC(),kS(n.request.kind===`email`?1:-1)}}function Ct(i,t){if(i&1&&LS(0,bt,2,2,null,null,H),i&2)jS(qS(5).messages())}function vt(i,t){if(i&1&&(Us(0,`tr`)(1,`th`,27)(2,`div`,28),Py(3,`app-entity-icon`,32),Us(4,`div`)(5,`a`,30),y_(6),fd(),Us(7,`small`),y_(8),fd()()()(),Us(9,`td`),y_(10),fd(),Us(11,`td`)(12,`span`,31),y_(13),fd()(),Us(14,`td`),y_(15),j_(16,`localizedDate`),fd()()),i&2){let e=t.$implicit,n=qS(5).tab,a=qS(),c=e.item;ZC(5),Fy(`routerLink`,k_(12,Ze,c.id))(`queryParams`,a.returnQuery(n))(`appSearchHighlight`,e.indices),ZC(),nv(c.subject||a.i18n.t(`emailDraft.unnamed`)),ZC(2),nv(c.reference),ZC(2),nv(c.recipient||`—`),ZC(3),nv(a.i18n.t(c.reminder?`emailsWorkspace.reminderDraft`:`emailsWorkspace.draft`)),ZC(2),vd(` `,H_(16,8,c.updatedAt,a.i18n.language(),O_(14,j)),` `)}}function Et(i,t){if(i&1&&LS(0,vt,17,15,`tr`,null,H),i&2)jS(qS(5).draftResults())}function St(i,t){if(i&1&&(Us(0,`tr`)(1,`th`,27)(2,`div`,28),Py(3,`app-entity-icon`,32),Us(4,`a`,30),y_(5),fd()()(),Us(6,`td`),y_(7),j_(8,`localizedDate`),fd()()),i&2){let e=t.$implicit,n=qS(5).tab,a=qS(),c=e.item;ZC(4),Fy(`routerLink`,k_(9,et,c.id))(`queryParams`,a.returnQuery(n))(`appSearchHighlight`,e.indices),ZC(),nv(c.subject),ZC(2),vd(` `,H_(8,5,c.updatedAt,a.i18n.language(),O_(11,j)),` `)}}function kt(i,t){if(i&1&&LS(0,St,9,12,`tr`,null,H),i&2)jS(qS(5).templateResults())}function wt(i,t){if(i&1&&(Us(0,`small`),y_(1),fd()),i&2){let e=qS(7);ZC(),nv(e.i18n.t(e.reminderReasons[t]))}}function qt(i,t){if(i&1){let e=zS();Us(0,`button`,36),Gy(`click`,function(){Ip(e),qS();let a=S_(0);return wp(qS(6).cancelReminder(a))}),y_(1),fd()}if(i&2){let e=qS(7);Fy(`disabled`,e.busy()),ZC(),vd(` `,e.i18n.t(`reminder.cancel`),` `)}}function Tt(i,t){if(i&1&&(Us(0,`a`,35),y_(1),fd()),i&2){qS();let e=S_(0),n=qS(6);Fy(`routerLink`,k_(2,Ge,e.operationId)),ZC(),nv(n.i18n.t(`emailsWorkspace.viewMessage`))}}function Vt(i,t){if(i&1&&(lv(0),Us(1,`tr`)(2,`th`,27)(3,`div`,28),Py(4,`app-entity-icon`,29),Us(5,`div`)(6,`a`,33),y_(7),fd(),Us(8,`small`),y_(9),fd()()()(),Us(10,`td`)(11,`span`,31),y_(12),fd(),OS(13,wt,2,1,`small`),fd(),Us(14,`td`),y_(15),j_(16,`localizedDate`),fd(),Us(17,`td`),OS(18,qt,2,2,`button`,34)(19,Tt,2,4,`a`,35),fd()()),i&2){let e,n=t.$implicit,a=qS(6),c=b_(n.item);ZC(4),Fy(`variant`,a.reminderIconVariant(c)),ZC(2),Fy(`routerLink`,k_(14,tt,c.invoiceId))(`appSearchHighlight`,n.indices),ZC(),nv(c.invoiceReference),ZC(2),nv(a.i18n.t(c.expectedMode===`simulation`?`emailsWorkspace.simulation`:`emailsWorkspace.submitted`)),ZC(3),nv(a.i18n.t(a.reminderStatuses[c.status])),ZC(),kS((e=c.reason)?13:-1,e),ZC(2),vd(` `,H_(16,10,c.sendAt,a.i18n.language(),O_(16,j)),` `),ZC(3),kS(c.status===`scheduled`?18:c.operationId?19:-1)}}function Dt(i,t){if(i&1&&LS(0,Vt,20,17,`tr`,null,H),i&2)jS(qS(5).reminderResults())}function Rt(i,t){if(i&1){let e=zS();Us(0,`div`,23)(1,`table`)(2,`thead`)(3,`tr`)(4,`th`,25)(5,`button`,26),Gy(`click`,function(){Ip(e);return wp(qS(4).sortBy(`subject`))}),fd()(),OS(6,ft,2,3,`th`,25),OS(7,ht,2,3,`th`,25),Us(8,`th`,25)(9,`button`,26),Gy(`click`,function(){Ip(e);return wp(qS(4).sortBy(`date`))}),fd()(),OS(10,gt,2,1,`th`,25),fd()(),Us(11,`tbody`),OS(12,Ct,2,0)(13,Et,2,0)(14,kt,2,0)(15,Dt,2,0),fd()()()}if(i&2){let e,n=qS(3).tab,a=qS();ZC(4),ky(`aria-sort`,a.sortDirection(`subject`)),ZC(),Fy(`label`,a.i18n.t(n===`reminders`?`emailsWorkspace.invoice`:`emails.subject`))(`direction`,a.sortDirection(`subject`)),ZC(),kS(n===`messages`||n===`drafts`?6:-1),ZC(),kS(n!==`templates`?7:-1),ZC(),ky(`aria-sort`,a.sortDirection(`date`)),ZC(),Fy(`label`,a.i18n.t(n===`reminders`?`emailsWorkspace.scheduledDate`:`emailsWorkspace.date`))(`direction`,a.sortDirection(`date`)),ZC(),kS(n===`reminders`?10:-1),ZC(2),kS((e=n)===`messages`?12:e===`drafts`?13:e===`templates`?14:e===`reminders`?15:-1)}}function Wt(i,t){if(i&1&&(OS(0,yt,3,2,`app-empty-state`,22)(1,Rt,16,10,`div`,23),Us(2,`footer`,24)(3,`p`,16),y_(4),fd()()),i&2){let e=qS(2).tab,n=qS();kS(n.count(e)===0?0:1),ZC(4),vd(` `,n.i18n.plural(e===`messages`?`emailsWorkspace.messageCount`:e===`reminders`?`emailsWorkspace.reminderCount`:`emailsWorkspace.count`,k_(2,Ye,n.count(e))),` `)}}function Mt(i,t){if(i&1){let e=zS();Us(0,`section`,9)(1,`app-list-toolbar`)(2,`app-list-search`,10),Gy(`valueChange`,function(a){Ip(e);return wp(qS(2).setSearch(a))}),fd(),qT(),Us(3,`app-filter-menu`,11,0),OS(5,at,1,2,null,12),Iy(6,rt,3,3,`ng-template`,12),fd(),Py(7,`app-table-export`,13),fd(),OS(8,dt,5,4,`div`,14),OS(9,mt,2,1,`p`,15),OS(10,pt,2,1,`p`,15),OS(11,_t,2,1,`p`,16)(12,ut,5,2)(13,Wt,5,4),fd()}if(i&2){let e,n=qS().tab,a=qS();ky(`aria-labelledby`,`email-`+n+`-tab`),ZC(2),Fy(`label`,a.i18n.t(`emailsWorkspace.search`))(`formField`,a.filters.search),ZT(),ZC(),Fy(`label`,a.i18n.t(`listWorkspace.filters`))(`closeLabel`,a.i18n.t(`listWorkspace.closeFilters`))(`backLabel`,a.i18n.t(`listWorkspace.backFilters`))(`activeCount`,a.filterCount()),ZC(2),kS(n!==`templates`?5:-1),ZC(),Fy(`label`,a.i18n.t(`dateRangeFilter.label`))(`summary`,a.periodSummary()),ZC(),Fy(`columns`,a.exportColumns(n))(`rows`,a.exportRows(n))(`filename`,`courriels-`+n+`.csv`)(`label`,a.i18n.t(`emailsWorkspace.export`))(`emptyHint`,a.i18n.t(`listWorkspace.exportEmpty`))(`pendingHint`,a.i18n.t(`listWorkspace.exportPending`))(`pending`,a.viewState(n)!==`ready`||a.busy()),ZC(),kS(a.query().q||a.filterCount()?8:-1),ZC(),kS(a.invalidRange()?9:-1),ZC(),kS((e=a.actionErrorMessage())?10:-1,e),ZC(),kS(a.viewState(n)===`loading`?11:a.viewState(n)===`error`?12:13)}}function Lt(i,t){if(i&1&&Iy(0,Mt,14,21,`section`,8),i&2){let e=t.tab;Fy(`appCan`,qS().viewPermissions(e))}}var Ue=class i{authentication=g(E);viewPermissions(t){switch(t){case`messages`:return[`integration.manage`];case`drafts`:return[`email.draft.manage`];case`templates`:return[`email.template.manage`];case`reminders`:return[`email.reminder.manage`,`invoice.read`,`client.read`,`integration.manage`]}}i18n=g(Ie);api=g(f);draftsApi=g(l$2);templatesApi=g(u$2);remindersApi=g(s);confirmation=g(P);route=g(G);router=g(ue);destroyRef=g(pe);states=Ke$1({messages:`loading`,drafts:`loading`,reminders:`loading`,templates:`loading`});operations=Ke$1([]);drafts=Ke$1([]);templates=Ke$1([]);reminders=Ke$1([]);busy=Ke$1(!1);confirming=Ke$1(!1);actionError=Ke$1(void 0);actionErrorMessage=Ft(()=>T$1(this.actionError(),`cancel`));query=Ke$1(E$1(this.route.snapshot.queryParamMap));filterCount=Ft(()=>+(this.query().state!==`all`)+ +(this.query().from!==void 0)+ +(this.query().to!==void 0));periodSummary=Ft(()=>{let{from:t,to:e}=this.query(),n=a=>u$1(a,this.i18n.language());return t&&e?`${n(t)} \u2013 ${n(e)}`:t?this.i18n.tf(`emailsWorkspace.fromFilter`,{date:n(t)}):e?this.i18n.tf(`emailsWorkspace.toFilter`,{date:n(e)}):this.i18n.t(`emailsWorkspace.anyPeriod`)});invalidRange=Ft(()=>{let{from:t,to:e}=this.query();return t!==void 0&&e!==void 0&&t>e});searchModel=Ke$1({search:this.query().q});filters=nr(this.searchModel);stateLabels=x;tabs=Ft(()=>u$3.filter(t=>this.viewPermissions(t).every(e=>this.authentication.can(e))).map(t=>({path:t,id:`email-${t}-tab`,label:this.i18n.t(`emailsWorkspace.${t}`)})));messageSearch=Ft$1(this.operations,Ft(()=>this.filters.search().value()),{keys:[`request.subject`,`request.recipient`,`request.reference`],ignoreLocation:!0,ignoreDiacritics:!0,includeMatches:!0,threshold:.35});messages=Ft(()=>this.messageSearch().filter(({item:t})=>h(t.createdAt,this.query())).filter(({item:t})=>this.query().state===`all`||this.query().state===(t.receipt?.status??`pending`)).map(t=>({item:t.item,indices:t.matches?.find(e=>e.key===`request.subject`)?.indices??[]})).toSorted((t,e)=>O$1(this.messageSortRow(t.item),this.messageSortRow(e.item),this.query().sort,this.i18n.language())));draftSearch=Ft$1(this.drafts,Ft(()=>this.filters.search().value()),{keys:[`subject`,`recipient`,`reference`],ignoreLocation:!0,ignoreDiacritics:!0,threshold:.35,includeMatches:!0});draftResults=Ft(()=>this.draftSearch().filter(({item:t})=>h(t.updatedAt,this.query())).filter(({item:t})=>this.query().state===`all`||(t.reminder?`reminder`:`draft`)===this.query().state).map(t=>({item:t.item,indices:t.matches?.find(e=>e.key===`subject`)?.indices??[]})).toSorted((t,e)=>O$1(m(l({},t.item),{date:t.item.updatedAt,state:this.i18n.t(t.item.reminder?`emailsWorkspace.reminderDraft`:`emailsWorkspace.draft`)}),m(l({},e.item),{date:e.item.updatedAt,state:this.i18n.t(e.item.reminder?`emailsWorkspace.reminderDraft`:`emailsWorkspace.draft`)}),this.query().sort,this.i18n.language())));templateSearch=Ft$1(this.templates,Ft(()=>this.filters.search().value()),{keys:[`subject`],ignoreLocation:!0,ignoreDiacritics:!0,threshold:.35,includeMatches:!0});templateResults=Ft(()=>this.templateSearch().filter(({item:t})=>h(t.updatedAt,this.query())).map(t=>({item:t.item,indices:t.matches?.find(e=>e.key===`subject`)?.indices??[]})).toSorted((t,e)=>O$1(m(l({},t.item),{date:t.item.updatedAt}),m(l({},e.item),{date:e.item.updatedAt}),this.query().sort,this.i18n.language())));reminderSearch=Ft$1(this.reminders,Ft(()=>this.filters.search().value()),{keys:[`invoiceReference`],ignoreLocation:!0,ignoreDiacritics:!0,threshold:.35,includeMatches:!0});reminderResults=Ft(()=>this.reminderSearch().filter(({item:t})=>h(t.sendAt,this.query())).filter(({item:t})=>this.query().state===`all`||t.status===this.query().state).map(t=>({item:t.item,indices:t.matches?.find(e=>e.key===`invoiceReference`)?.indices??[]})).toSorted((t,e)=>O$1({id:t.item.id,subject:t.item.invoiceReference,date:t.item.sendAt,state:this.i18n.t(T[t.item.status])},{id:e.item.id,subject:e.item.invoiceReference,date:e.item.sendAt,state:this.i18n.t(T[e.item.status])},this.query().sort,this.i18n.language())));status=W;reminderStatuses=T;reminderReasons=D$1;generations={messages:0,drafts:0,reminders:0,templates:0};constructor(){Ol(()=>{this.route.queryParamMap.pipe(U(this.destroyRef)).subscribe(t=>{let e=E$1(t);this.stateOptions(this.currentView()).includes(e.state)||(e.state=`all`),(this.currentView()===`templates`&&(e.sort.startsWith(`state-`)||e.sort.startsWith(`recipient-`))||this.currentView()===`reminders`&&e.sort.startsWith(`recipient-`))&&(e.sort=`none`),this.query.set(e),this.searchModel.set({search:e.q})});for(let t of u$3)this.load(t)})}currentView(){return S(this.route.firstChild?.snapshot.url[0]?.path)}viewState(t){return this.states()[t]}iconVariant(t){return t.receipt===null?`warning`:t.receipt.mode===`simulation`?`info`:`success`}reminderIconVariant(t){return t.status===`cancelled`?`default`:t.status===`skipped`?`warning`:`info`}createLink(){let t=this.currentView();return t===`templates`?`/emails/templates/new`:t===`reminders`?`/emails/reminders/new`:`/emails/new`}createLabel(){let t=this.currentView();return t===`templates`?`emailsWorkspace.newTemplate`:t===`reminders`?`emailsWorkspace.newReminder`:`emailsWorkspace.newMessage`}returnQuery(t){return m(l({},R(this.query())),{view:t})}count(t){switch(t){case`messages`:return this.messages().length;case`drafts`:return this.draftResults().length;case`templates`:return this.templateResults().length;case`reminders`:return this.reminderResults().length}}setSearch(t){let e=t.slice(0,120);this.searchModel.set({search:e}),this.query.update(n=>m(l({},n),{q:e})),this.updateQuery()}stateOptions(t){switch(t){case`messages`:return[`all`,`pending`,`simulated`,`submitted`];case`drafts`:return[`all`,`draft`,`reminder`];case`reminders`:return[`all`,`scheduled`,`cancelled`,`skipped`,`queued`];case`templates`:return[`all`]}}setState(t){this.query.update(e=>m(l({},e),{state:k$1(t)})),this.updateQuery()}clearState(){this.setState(`all`),this.filters.search().focusBoundControl()}setDate(t,e){this.query.update(n=>m(l({},n),{[t]:m$1(e)})),this.updateQuery()}applyPeriod(t){this.query.update(e=>m(l({},e),{from:m$1(t.from),to:m$1(t.to)})),this.updateQuery()}filterChoices(t){return this.stateOptions(t).map(e=>({value:e,label:this.i18n.t(x[e])}))}clearDate(t){this.setDate(t,``),this.filters.search().focusBoundControl()}exportColumns(t){let e=this.i18n.t(t===`reminders`?`emailsWorkspace.scheduledDate`:`emailsWorkspace.date`);return t===`templates`?[this.i18n.t(`emails.subject`),e]:t===`reminders`?[this.i18n.t(`emailsWorkspace.invoice`),this.i18n.t(`emailsWorkspace.status`),e]:[this.i18n.t(`emails.subject`),this.i18n.t(`emails.reference`),this.i18n.t(`emails.recipient`),this.i18n.t(`emailsWorkspace.status`),e]}exportRows(t){switch(t){case`messages`:return this.messages().flatMap(({item:e})=>e.request.kind===`email`?[[e.request.subject,e.request.reference,e.request.recipient,this.i18n.t(W(e)),e.createdAt]]:[]);case`drafts`:return this.draftResults().map(({item:e})=>[e.subject,e.reference,e.recipient,this.i18n.t(e.reminder?`emailsWorkspace.reminderDraft`:`emailsWorkspace.draft`),e.updatedAt]);case`templates`:return this.templateResults().map(({item:e})=>[e.subject,e.updatedAt]);case`reminders`:return this.reminderResults().map(({item:e})=>[e.invoiceReference,this.i18n.t(T[e.status]),e.sendAt])}}messageSortRow(t){return{id:t.id,date:t.createdAt,subject:t.request.kind===`email`?t.request.subject:``,recipient:t.request.kind===`email`?t.request.recipient:``,state:this.i18n.t(W(t))}}sortDirection(t){return this.query().sort.startsWith(`${t}-`)?this.query().sort.endsWith(`-asc`)?`ascending`:`descending`:`none`}sortBy(t$1){let e=t(this.query().sort,`${t$1}-asc`,`${t$1}-desc`);this.query.update(n=>m(l({},n),{sort:e})),this.router.navigate([],{relativeTo:this.route,queryParams:{sort:e===`none`?null:e},queryParamsHandling:`merge`,replaceUrl:!0})}updateQuery(){this.router.navigate([],{relativeTo:this.route,queryParams:R(this.query()),replaceUrl:!0})}clearSearch(){this.setSearch(``),this.filters.search().focusBoundControl()}async load(t){if(!this.viewPermissions(t).every(n=>this.authentication.can(n)))return;let e=++this.generations[t];this.states.update(n=>m(l({},n),{[t]:`loading`}));try{if(t===`messages`){let n=await this.api.list(`email`);if(this.destroyRef.destroyed||e!==this.generations[t])return;this.operations.set(n.filter(a=>a.request.kind===`email`))}else if(t===`drafts`){let n=await this.draftsApi.list();if(this.destroyRef.destroyed||e!==this.generations[t])return;if(!n.success)throw new Error(`email.drafts.unavailable`);this.drafts.set(n.result)}else if(t===`templates`){let n=await this.templatesApi.list();if(this.destroyRef.destroyed||e!==this.generations[t])return;if(!n.success)throw new Error(`email.templates.unavailable`);this.templates.set(n.result)}else{let n=await this.remindersApi.list();if(this.destroyRef.destroyed||e!==this.generations[t])return;if(!n.success)throw new Error(`email.reminders.unavailable`);this.reminders.set(n.result)}this.states.update(n=>m(l({},n),{[t]:`ready`}))}catch{!this.destroyRef.destroyed&&e===this.generations[t]&&this.states.update(n=>m(l({},n),{[t]:`error`}))}}async cancelReminder(t){if(!(this.busy()||this.confirming()||t.status!==`scheduled`)){this.confirming.set(!0);try{if(!await this.confirmation.request(this.i18n.t(`reminder.cancelConfirm`)))return}finally{this.confirming.set(!1)}if(!this.destroyRef.destroyed){this.busy.set(!0),this.actionError.set(void 0);try{let e=await this.remindersApi.cancel(t.id);if(this.destroyRef.destroyed)return;e.success?this.reminders.update(n=>n.map(a=>a.id===t.id?e.result:a)):this.actionError.set(e.code)}catch{this.actionError.set(`reminder.error`)}finally{this.busy.set(!1)}}}}canDeactivate(){return!this.busy()&&!this.confirming()}preventUnload(t){(this.busy()||this.confirming())&&t.preventDefault()}static ɵfac=function(e){return new(e||i)};static ɵcmp=Fb({type:i,selectors:[[`app-emails`]],hostAttrs:[1,`page-container`],hostBindings:function(e,n){e&1&&Gy(`beforeunload`,function(c){return n.preventUnload(c)},Zw)},features:[A_([d$1])],decls:10,vars:6,consts:[[`filterMenu`,``],[`appTabLayout`,``,`aria-labelledby`,`emails-title`,1,`email-list`],[`id`,`emails-title`],[1,`muted`],[`pageActions`,``,`appLinkButton`,``,`icon`,`mail`,`variant`,`primary`,3,`routerLink`,`queryParams`,4,`appCan`],[3,`label`,`tabs`,`disabled`],[`appTabPanel`,`emails`],[`pageActions`,``,`appLinkButton`,``,`icon`,`mail`,`variant`,`primary`,3,`routerLink`,`queryParams`],[`appListWorkspace`,``,`class`,`results`,4,`appCan`],[`appListWorkspace`,``,1,`results`],[`listSearch`,``,3,`valueChange`,`label`,`formField`],[`listFilters`,``,3,`label`,`closeLabel`,`backLabel`,`activeCount`],[`appFilterPanel`,``,3,`label`,`summary`],[`listActions`,``,3,`columns`,`rows`,`filename`,`label`,`emptyHint`,`pendingHint`,`pending`],[1,`active-filters`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`role`,`status`],[3,`committed`,`label`,`emptyLabel`,`options`,`value`],[3,`rangeApplied`,`from`,`to`],[`appFilterChip`,``,3,`label`],[`appFilterChip`,``,3,`click`,`label`],[`appButton`,``,`type`,`button`,3,`click`],[`icon`,`mail`,3,`title`],[`appDataTable`,``,`tableLayout`,`fluid`,1,`wide-table`],[1,`list-summary`],[`scope`,`col`],[`appTableSort`,``,3,`click`,`label`,`direction`],[`scope`,`row`],[1,`entity-label`],[`icon`,`mail`,3,`variant`],[3,`routerLink`,`queryParams`,`appSearchHighlight`],[`appBadge`,``],[`icon`,`mail`],[3,`routerLink`,`appSearchHighlight`],[`appButton`,``,`type`,`button`,3,`disabled`],[3,`routerLink`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`]],template:function(e,n){e&1&&(Us(0,`section`,1)(1,`app-page-header`)(2,`h1`,2),y_(3),fd(),Us(4,`p`,3),y_(5),fd(),Iy(6,it,2,3,`a`,4),fd(),Py(7,`app-tabs`,5)(8,`router-outlet`),Iy(9,Lt,1,1,`ng-template`,6),fd()),e&2&&(ZC(3),nv(n.i18n.t(`emails.title`)),ZC(2),nv(n.i18n.t(`emailsWorkspace.intro`)),ZC(),Fy(`appCan`,n.viewPermissions(n.currentView())),ZC(),Fy(`label`,n.i18n.t(`emails.title`))(`tabs`,n.tabs())(`disabled`,n.busy()))},dependencies:[l$1,l$3,d,N,c,f$1,h$1,yn,U$1,B,Q,Z,b,Fe,B$1,$,k,g$1,Dt$1,gr,m$2,D,O,r,u,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}.email-list[_ngcontent-%COMP%]{padding:var(--%NS%page-header-y) var(--%NS%page-x)}.results[_ngcontent-%COMP%]{min-inline-size:0}.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)}.active-filters[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:var(--%NS%space-2)}small[_ngcontent-%COMP%]{display:block;margin-block-start:var(--%NS%space-1);font-size:var(--%NS%text-sm);font-weight:400}`]})};export{Ue as Emails};
@@ -0,0 +1 @@
1
+ import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,Gn as k_,Ir as wp,It as Us,Jr as zS,K as Ke,Nr as vd,Rn as jS,Tn as fd,V as Iy,Wn as kS,Wr as y_,X as LS,ft as Ol,lt as OS,pr as qS,rr as nv,vt as Py,w as Fb,z as Ip}from"./chunk-BAHiFuUo.js";import{T as ue,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"./chunk-BzUDWIzm.js";import"./chunk-DsaNNeZe.js";import{t as l}from"./chunk-BVszSMJC.js";import{t as c}from"./chunk-enci06qG.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 f}from"./chunk-POMKwNf_.js";import{t as n}from"./chunk-CkWd-yMn.js";var V=e=>({count:e});var j=e=>[e,`edit`];var q=(e,n)=>n.id;function H(e,n){if(e&1&&(Us(0,`a`,8),y_(1),fd()),e&2){let t=qS();ZC(),nv(t.i18n.t(`role.create`))}}function W(e,n){if(e&1&&(Us(0,`p`,5),y_(1),fd()),e&2){let t=qS();ZC(),nv(t.i18n.t(n))}}function G(e,n){if(e&1&&(Us(0,`p`,6),y_(1),fd()),e&2){let t=qS();ZC(),nv(t.i18n.t(n))}}function J(e,n){if(e&1&&(Us(0,`p`,7),y_(1),fd()),e&2){let t=qS();ZC(),nv(t.i18n.t(`role.loading`))}}function Q(e,n){if(e&1&&(Us(0,`a`,15),y_(1),fd()),e&2){let t=qS().$implicit,d=qS(2);Fy(`routerLink`,k_(2,j,t.id)),ZC(),nv(d.i18n.t(`role.edit`))}}function U(e,n){if(e&1){let t=zS();Us(0,`button`,16),Gy(`click`,function(){Ip(t);let c=qS().$implicit;return wp(qS(2).remove(c))}),y_(1),fd()}if(e&2){let t=qS(3);Fy(`disabled`,t.busy()),ZC(),vd(` `,t.i18n.t(`role.delete`),` `)}}function X(e,n){if(e&1&&(Us(0,`tr`)(1,`th`,11),y_(2),fd(),Us(3,`td`),y_(4),fd(),Us(5,`td`)(6,`div`,12),Iy(7,Q,2,4,`a`,13)(8,U,2,2,`button`,14),fd()()()),e&2){let t=n.$implicit;ZC(2),nv(t.name),ZC(2),nv(t.permissions.length),ZC(3),Fy(`appCan`,`role.manage`),ZC(),Fy(`appCan`,`role.manage`)}}function Y(e,n){if(e&1&&(Us(0,`tr`)(1,`td`,17),y_(2),fd()()),e&2){let t=qS(2);ZC(2),nv(t.i18n.t(`role.empty`))}}function Z(e,n){if(e&1&&(Us(0,`div`,9)(1,`table`)(2,`thead`)(3,`tr`)(4,`th`,10),y_(5),fd(),Us(6,`th`,10),y_(7),fd(),Us(8,`th`,10),y_(9),fd()()(),Us(10,`tbody`),LS(11,X,9,4,`tr`,null,q,!1,Y,3,1,`tr`),fd()()(),Us(14,`p`,7),y_(15),fd()),e&2){let t=qS();ZC(5),nv(t.i18n.t(`role.name`)),ZC(2),nv(t.i18n.t(`role.permissions`)),ZC(2),nv(t.i18n.t(`configurationWorkspace.actions`)),ZC(2),jS(t.roles()),ZC(4),nv(t.i18n.plural(`role.count`,k_(5,V,t.roles().length)))}}var K=class e{i18n=g(Ie);api=g(n);confirmation=g(P);router=g(ue);notice=this.savedNotice();roles=Ke([]);loading=Ke(!0);busy=Ke(!1);error=Ke(void 0);breadcrumbs=Ft(()=>[{label:this.i18n.t(`team.title`),path:`/team`}]);savedNotice(){let n=this.router.getCurrentNavigation()?.extras.state?.roleNotice;return n===`role.created`||n===`role.updated`?n:void 0}constructor(){Ol(()=>{this.load()})}async load(){this.loading.set(!0),this.error.set(void 0);try{let n=await this.api.list();n.success?this.roles.set(n.result):this.error.set(n.code)}catch{this.error.set(`role.error`)}finally{this.loading.set(!1)}}async remove(n){if(!this.busy()&&await this.confirmation.request(this.i18n.tf(`role.deleteConfirm`,{name:n.name}))){this.busy.set(!0),this.error.set(void 0);try{let t=await this.api.remove(n.id);t.success?this.roles.update(d=>d.filter(({id:c})=>c!==n.id)):this.error.set(t.code)}catch{this.error.set(`role.error`)}finally{this.busy.set(!1)}}}static ɵfac=function(t){return new(t||e)};static ɵcmp=Fb({type:e,selectors:[[`app-roles`]],hostAttrs:[1,`page-container`],decls:12,vars:9,consts:[[`aria-labelledby`,`roles-title`,1,`detail-page`,`wide-page`],[`layout`,`stacked`],[`pageBack`,``,3,`label`,`items`,`current`],[`id`,`roles-title`],[`pageActions`,``,`appLinkButton`,``,`icon`,`plus`,`variant`,`primary`,`routerLink`,`new`,4,`appCan`],[`appNotice`,``,`variant`,`success`,`role`,`status`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`role`,`status`],[`pageActions`,``,`appLinkButton`,``,`icon`,`plus`,`variant`,`primary`,`routerLink`,`new`],[`appDataTable`,``],[`scope`,`col`],[`scope`,`row`],[1,`spacer-x-2`],[`appLinkButton`,``,3,`routerLink`,4,`appCan`],[`appButton`,``,`type`,`button`,3,`disabled`,`click`,4,`appCan`],[`appLinkButton`,``,3,`routerLink`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`],[`colspan`,`3`]],template:function(t,d){if(t&1&&(Us(0,`section`,0)(1,`app-page-header`,1),Py(2,`app-breadcrumbs`,2),Us(3,`h1`,3),y_(4),fd(),Us(5,`p`),y_(6),fd(),Iy(7,H,2,1,`a`,4),fd(),OS(8,W,2,1,`p`,5),OS(9,G,2,1,`p`,6),OS(10,J,2,1,`p`,7)(11,Z,16,7),fd()),t&2){let c,g;ZC(2),Fy(`label`,d.i18n.t(`backOfficeShell.breadcrumb`))(`items`,d.breadcrumbs())(`current`,d.i18n.t(`role.title`)),ZC(2),nv(d.i18n.t(`role.title`)),ZC(2),nv(d.i18n.t(`role.intro`)),ZC(),Fy(`appCan`,`role.manage`),ZC(),kS((c=d.notice)?8:-1,c),ZC(),kS((g=d.error())?9:-1,g),ZC(),kS(d.loading()?10:11)}},dependencies:[f,N,l,c,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}}`]})};export{K as RolesPage};
@@ -1 +1 @@
1
- import{Dn as g,E as Ft,K as Ke,dr as pe,o as A}from"./chunk-BAHiFuUo.js";import{t as E}from"./chunk-BWNhkOOr.js";var m=class r{authentication=g(E);destroyRef=g(pe);queue=Ke([]);timers=new Map;messages=this.queue.asReadonly();mode=Ft(()=>this.authentication.account()?.preferences.flashMode??`inline`);constructor(){this.destroyRef.onDestroy(()=>{for(let e of this.timers.values())e.state===`running`&&clearTimeout(e.handle);this.timers.clear()})}show(e,t=`info`){let i=crypto.randomUUID(),n=t===`info`||t===`success`?6e3:void 0;return this.queue.update(c=>[...c,{id:i,text:e,variant:t,timeoutMillis:n}]),n!==void 0&&this.startTimer(i,n),i}dismiss(e){let t=this.timers.get(e);t?.state===`running`&&clearTimeout(t.handle),this.timers.delete(e),this.queue.update(i=>i.filter(n=>n.id!==e))}pause(e){let t=this.timers.get(e);if(t?.state!==`running`)return;clearTimeout(t.handle),this.timers.delete(e);let i=Date.now()-t.startedAt;this.timers.set(e,{state:`paused`,remainingMillis:Math.max(0,t.remainingMillis-i)})}resume(e){let t=this.timers.get(e);t?.state===`paused`&&this.startTimer(e,t.remainingMillis)}startTimer(e,t){let i=setTimeout(()=>this.dismiss(e),t);this.timers.set(e,{state:`running`,startedAt:Date.now(),remainingMillis:t,handle:i})}static ɵfac=function(t){return new(t||r)};static ɵprov=A({token:r,factory:r.ɵfac,providedIn:`root`})};export{m as t};
1
+ import{Dn as g,E as Ft,K as Ke,dr as pe,o as A}from"./chunk-BAHiFuUo.js";import{t as E}from"./chunk-DsaNNeZe.js";var m=class r{authentication=g(E);destroyRef=g(pe);queue=Ke([]);timers=new Map;messages=this.queue.asReadonly();mode=Ft(()=>this.authentication.account()?.preferences.flashMode??`inline`);constructor(){this.destroyRef.onDestroy(()=>{for(let e of this.timers.values())e.state===`running`&&clearTimeout(e.handle);this.timers.clear()})}show(e,t=`info`){let i=crypto.randomUUID(),n=t===`info`||t===`success`?6e3:void 0;return this.queue.update(c=>[...c,{id:i,text:e,variant:t,timeoutMillis:n}]),n!==void 0&&this.startTimer(i,n),i}dismiss(e){let t=this.timers.get(e);t?.state===`running`&&clearTimeout(t.handle),this.timers.delete(e),this.queue.update(i=>i.filter(n=>n.id!==e))}pause(e){let t=this.timers.get(e);if(t?.state!==`running`)return;clearTimeout(t.handle),this.timers.delete(e);let i=Date.now()-t.startedAt;this.timers.set(e,{state:`paused`,remainingMillis:Math.max(0,t.remainingMillis-i)})}resume(e){let t=this.timers.get(e);t?.state===`paused`&&this.startTimer(e,t.remainingMillis)}startTimer(e,t){let i=setTimeout(()=>this.dismiss(e),t);this.timers.set(e,{state:`running`,startedAt:Date.now(),remainingMillis:t,handle:i})}static ɵfac=function(t){return new(t||r)};static ɵprov=A({token:r,factory:r.ɵfac,providedIn:`root`})};export{m as t};
@@ -1 +1 @@
1
- import{_ as o,h as Ne}from"./main-AJD2LGCE.js";import{ct as Me,wi as wu}from"./chunk-BAe_07VM.js";import{$r as T}from"./chunk-CjtJKrza.js";var s=wu.Struct({from:wu.optional(T),to:wu.optional(T)}).check(wu.makeFilter(({from:e,to:t})=>e===void 0||t===void 0||e<=t));function f(e){let t=n=>e.getAll(n).length===1?e.get(n)??void 0:void 0;return Me.getOrElse(wu.decodeUnknownOption(s)({from:t(`clientAccessFrom`),to:t(`clientAccessTo`)}),()=>({}))}function p(e){return{clientAccessFrom:e.from??null,clientAccessTo:e.to??null}}function y(e,t){if(t.from===void 0&&t.to===void 0)return!0;let n=new Date(e.createdAt),o=`${String(n.getFullYear()).padStart(4,`0`)}-${String(n.getMonth()+1).padStart(2,`0`)}-${String(n.getDate()).padStart(2,`0`)}`;return(t.from===void 0||o>=t.from)&&(t.to===void 0||o<=t.to)}var k={columns:[{kind:`number`,key:`position`,value:e=>e.position},{kind:`text`,key:`reference`,value:e=>e.reference},{kind:`text`,key:`status`,value:(e,t)=>o(t,`affair.${e.status}`)},{kind:`number`,key:`date`,value:e=>Date.parse(e.updatedAt)}],defaultSort:`positionAsc`,id:e=>e.id,searchKeys:[`reference`,`title`],parameters:{q:`clientAffairQ`,sort:`clientAffairSort`,filter:`clientAffairStatus`},filters:[{value:`open`,label:`affair.open`},{value:`closed`,label:`affair.closed`}],matchesFilter:(e,t)=>e.status===t};var C={columns:[{kind:`text`,key:`reference`,value:e=>e.reference},{kind:`text`,key:`status`,value:e=>e.status},{kind:`number`,key:`amount`,value:e=>e.totalCents},{kind:`number`,key:`date`,value:e=>Date.parse(e.updatedAt)}],defaultSort:`dateDesc`,id:e=>e.id,searchKeys:[`reference`,`title`],parameters:{q:`clientDocumentQ`,sort:`clientDocumentSort`,filter:`clientDocumentType`},filters:[{value:`quote`,label:`backOffice.clientDetail.quote`},{value:`order`,label:`backOffice.clientDetail.order`},{value:`invoice`,label:`backOffice.clientDetail.invoice`}],matchesFilter:(e,t)=>e.type===t};var g={columns:[{kind:`number`,key:`position`,value:e=>e.position},{kind:`text`,key:`email`,value:e=>e.email},{kind:`number`,key:`date`,value:e=>e.createdAt}],defaultSort:`positionAsc`,id:e=>e.id,searchKeys:[`email`],parameters:{q:`clientAccessQ`,sort:`clientAccessSort`,filter:`clientAccessFilter`}};function b(e,t){return e.map(n=>[n.reference,n.title,o(t,`affair.${n.status}`),n.updatedAt])}function v(e,t){return e.map(n=>[n.kind,n.reference,n.title,n.status,Ne(n.totalCents,t,`EUR`),n.updatedAt])}function x(e){return e.map(t=>[t.email,new Date(t.createdAt).toISOString()])}export{k as a,v as c,g as i,x as l,b as n,p as o,f as r,s,C as t,y as u};
1
+ import{_ as o,h as Ne}from"./main-F7D3L737.js";import{ct as Me,wi as wu}from"./chunk-BAe_07VM.js";import{$r as T}from"./chunk-D5qmP2Wu.js";var s=wu.Struct({from:wu.optional(T),to:wu.optional(T)}).check(wu.makeFilter(({from:e,to:t})=>e===void 0||t===void 0||e<=t));function f(e){let t=n=>e.getAll(n).length===1?e.get(n)??void 0:void 0;return Me.getOrElse(wu.decodeUnknownOption(s)({from:t(`clientAccessFrom`),to:t(`clientAccessTo`)}),()=>({}))}function p(e){return{clientAccessFrom:e.from??null,clientAccessTo:e.to??null}}function y(e,t){if(t.from===void 0&&t.to===void 0)return!0;let n=new Date(e.createdAt),o=`${String(n.getFullYear()).padStart(4,`0`)}-${String(n.getMonth()+1).padStart(2,`0`)}-${String(n.getDate()).padStart(2,`0`)}`;return(t.from===void 0||o>=t.from)&&(t.to===void 0||o<=t.to)}var k={columns:[{kind:`number`,key:`position`,value:e=>e.position},{kind:`text`,key:`reference`,value:e=>e.reference},{kind:`text`,key:`status`,value:(e,t)=>o(t,`affair.${e.status}`)},{kind:`number`,key:`date`,value:e=>Date.parse(e.updatedAt)}],defaultSort:`positionAsc`,id:e=>e.id,searchKeys:[`reference`,`title`],parameters:{q:`clientAffairQ`,sort:`clientAffairSort`,filter:`clientAffairStatus`},filters:[{value:`open`,label:`affair.open`},{value:`closed`,label:`affair.closed`}],matchesFilter:(e,t)=>e.status===t};var C={columns:[{kind:`text`,key:`reference`,value:e=>e.reference},{kind:`text`,key:`status`,value:e=>e.status},{kind:`number`,key:`amount`,value:e=>e.totalCents},{kind:`number`,key:`date`,value:e=>Date.parse(e.updatedAt)}],defaultSort:`dateDesc`,id:e=>e.id,searchKeys:[`reference`,`title`],parameters:{q:`clientDocumentQ`,sort:`clientDocumentSort`,filter:`clientDocumentType`},filters:[{value:`quote`,label:`backOffice.clientDetail.quote`},{value:`order`,label:`backOffice.clientDetail.order`},{value:`invoice`,label:`backOffice.clientDetail.invoice`}],matchesFilter:(e,t)=>e.type===t};var g={columns:[{kind:`number`,key:`position`,value:e=>e.position},{kind:`text`,key:`email`,value:e=>e.email},{kind:`number`,key:`date`,value:e=>e.createdAt}],defaultSort:`positionAsc`,id:e=>e.id,searchKeys:[`email`],parameters:{q:`clientAccessQ`,sort:`clientAccessSort`,filter:`clientAccessFilter`}};function b(e,t){return e.map(n=>[n.reference,n.title,o(t,`affair.${n.status}`),n.updatedAt])}function v(e,t){return e.map(n=>[n.kind,n.reference,n.title,n.status,Ne(n.totalCents,t,`EUR`),n.updatedAt])}function x(e){return e.map(t=>[t.email,new Date(t.createdAt).toISOString()])}export{k as a,v as c,g as i,x as l,b as n,p as o,f as r,s,C as t,y as u};
@@ -1 +1 @@
1
- import{Dn as g,H as JD,o as A,ot as OD}from"./chunk-BAHiFuUo.js";import{wi as wu}from"./chunk-BAe_07VM.js";import{Ks as lu,Lu as zo,Ou as yu,Ys as ma,bl as tk,ka as _e,y as Ap}from"./chunk-CjtJKrza.js";import{n as m}from"./chunk-Dv9sNWWK.js";var y=class a{http=g(OD);async list(){return wu.decodeUnknownSync(yu)(await JD(this.http.get(`/api/quotes`)))}async get(e){return m(this.http.get(`/api/quotes/${e}`),zo,tk,`quote.error`)}async listAffairEvents(e){let t=await JD(this.http.get(`/api/affairs/${e}/events`));return wu.decodeUnknownSync(wu.Array(_e))(t)}async create(e){return m(this.http.post(`/api/quotes`,e),zo,tk,`quote.error`)}async createRevision(e,t){return m(this.http.post(`/api/quotes/${e}/revisions`,t),zo,tk,`quote.error`)}async renderPdf(e,t){return m(this.http.post(`/api/quotes/${e}/revisions/${t}/pdf`,void 0),Ap,tk,`quote.error`)}async send(e,t){return m(this.http.post(`/api/quotes/${e}/send`,t),ma,tk,`quote.error`)}async linkState(e){return m(this.http.get(`/api/quotes/${e}/signature-link`),wu.NullOr(lu),tk,`quote.error`)}async replaceLink(e,t){return m(this.http.post(`/api/quotes/${e}/signature-link`,t),ma,tk,`quote.error`)}async cancel(e,t){return m(this.http.post(`/api/quotes/${e}/cancel`,t),zo,tk,`quote.error`)}static ɵfac=function(t){return new(t||a)};static ɵprov=A({token:a,factory:a.ɵfac,providedIn:`root`})};export{y as t};
1
+ import{Dn as g,H as JD,o as A,ot as OD}from"./chunk-BAHiFuUo.js";import{wi as wu}from"./chunk-BAe_07VM.js";import{n as m}from"./chunk-Dv9sNWWK.js";import{Ks as lu,Lu as zo,Ou as yu,Ys as ma,bl as tk,ka as _e,y as Ap}from"./chunk-D5qmP2Wu.js";var y=class a{http=g(OD);async list(){return wu.decodeUnknownSync(yu)(await JD(this.http.get(`/api/quotes`)))}async get(e){return m(this.http.get(`/api/quotes/${e}`),zo,tk,`quote.error`)}async listAffairEvents(e){let t=await JD(this.http.get(`/api/affairs/${e}/events`));return wu.decodeUnknownSync(wu.Array(_e))(t)}async create(e){return m(this.http.post(`/api/quotes`,e),zo,tk,`quote.error`)}async createRevision(e,t){return m(this.http.post(`/api/quotes/${e}/revisions`,t),zo,tk,`quote.error`)}async renderPdf(e,t){return m(this.http.post(`/api/quotes/${e}/revisions/${t}/pdf`,void 0),Ap,tk,`quote.error`)}async send(e,t){return m(this.http.post(`/api/quotes/${e}/send`,t),ma,tk,`quote.error`)}async linkState(e){return m(this.http.get(`/api/quotes/${e}/signature-link`),wu.NullOr(lu),tk,`quote.error`)}async replaceLink(e,t){return m(this.http.post(`/api/quotes/${e}/signature-link`,t),ma,tk,`quote.error`)}async cancel(e,t){return m(this.http.post(`/api/quotes/${e}/cancel`,t),zo,tk,`quote.error`)}static ɵfac=function(t){return new(t||a)};static ɵprov=A({token:a,factory:a.ɵfac,providedIn:`root`})};export{y as t};
@@ -1 +1 @@
1
- import{Dn as g,H as JD,o as A,ot as OD,un as ae}from"./chunk-BAHiFuUo.js";import{wi as wu}from"./chunk-BAe_07VM.js";import{Lo as fg,Xs as mg,lu as wu$1,pt as Eu}from"./chunk-CjtJKrza.js";import{n as m}from"./chunk-Dv9sNWWK.js";var f=class e{http=g(OD);connections(){return JD(this.http.get(`/api/integrations/connections`).pipe(ae(t=>wu.decodeUnknownSync(mg)(t))))}emailTests(){return this.http.get(`/api/integrations/email-tests`).pipe(ae(t=>wu.decodeUnknownSync(fg)(t)))}sendEmailTest(t){return m(this.http.post(`/api/integrations/email-tests`,t),Eu,wu$1,`emailTest.error`)}static ɵfac=function(d){return new(d||e)};static ɵprov=A({token:e,factory:e.ɵfac,providedIn:`root`})};export{f as t};
1
+ import{Dn as g,H as JD,o as A,ot as OD,un as ae}from"./chunk-BAHiFuUo.js";import{wi as wu}from"./chunk-BAe_07VM.js";import{n as m}from"./chunk-Dv9sNWWK.js";import{Lo as fg,Xs as mg,lu as wu$1,pt as Eu}from"./chunk-D5qmP2Wu.js";var f=class e{http=g(OD);connections(){return JD(this.http.get(`/api/integrations/connections`).pipe(ae(t=>wu.decodeUnknownSync(mg)(t))))}emailTests(){return this.http.get(`/api/integrations/email-tests`).pipe(ae(t=>wu.decodeUnknownSync(fg)(t)))}sendEmailTest(t){return m(this.http.post(`/api/integrations/email-tests`,t),Eu,wu$1,`emailTest.error`)}static ɵfac=function(d){return new(d||e)};static ɵprov=A({token:e,factory:e.ɵfac,providedIn:`root`})};export{f as t};
@@ -0,0 +1 @@
1
+ import{n as m,t as l}from"./chunk-BwCtja5l.js";import{$ as MH,$t as ZC,A as Gy,D as Fy,Dn as g,Dr as t_,E as Ft,Gn as k_,Ir as wp,It as Us,J as Ky,Jr as zS,K as Ke,Lt as Uy,N as Hb,Nr as vd,P as Hn,Rn as jS,Tn as fd,V as Iy,Vr as xH,Wr as y_,X as LS,b as E,c as AH,ct as OH,ft as Ol,in as Zy,l as A_,ln as ad,lr as pN,mt as PH,nt as NH,pr as qS,qn as ky,rr as nv,vt as Py,w as Fb,xn as e_,z as Ip}from"./chunk-BAHiFuUo.js";import{i as r,m as Ie,r as N}from"./main-F7D3L737.js";import{t as Ft$1}from"./chunk-DjewtV43.js";import{i as H,l as W}from"./chunk-BzUDWIzm.js";import{n as m$1,t as d}from"./chunk-cTGENC4T2.js";import{l as y}from"./chunk-CP-AnFGa2.js";import{i as U,n as D,r as M,t as B}from"./chunk-Bsy3r41y2.js";var w=(()=>{class n{static ɵfac=function(t){return new(t||n)};static ɵdir=ad({type:n,selectors:[[`ng-template`,`ngAccordionContent`,``]],features:[Hb([U])]})}return n})();var ce=(()=>{class n{_elementRef=g(Hn);element=this._elementRef.nativeElement;_deferredContentAware=g(M);_accordionContent=OH(w);id=NH(g(W).getId(`ng-accordion-panel-`,!0));visible=Ft(()=>this._pattern?.expanded()===!0);_pattern;constructor(){PH({write:()=>{this._deferredContentAware.contentVisible.set(this.visible())}})}expand(){this._pattern?.open()}collapse(){this._pattern?.close()}toggle(){this._pattern?.toggle()}static ɵfac=function(t){return new(t||n)};static ɵdir=ad({type:n,selectors:[[``,`ngAccordionPanel`,``]],contentQueries:function(t,i,m){t&1&&Zy(m,i._accordionContent,w,5),t&2&&e_()},hostAttrs:[`role`,`region`],hostVars:3,hostBindings:function(t,i){t&2&&ky(`id`,i.id())(`aria-labelledby`,i._pattern?.id())(`inert`,i.visible()?null:!0)},inputs:{id:[1,`id`]},exportAs:[`ngAccordionPanel`],features:[Hb([{directive:M,inputs:[`preserveContent`,`preserveContent`]}])]})}return n})();var le=new E(`ACCORDION_GROUP`);var pe=(()=>{class n{_elementRef=g(Hn);element=this._elementRef.nativeElement;_collection=new y;_triggerPatterns=Ft(()=>this._collection.orderedItems().map(e=>e._pattern));textDirection=g(H).valueSignal;disabled=NH(!1,{transform:pN});multiExpandable=NH(!0,{transform:pN});softDisabled=NH(!0,{transform:pN});wrap=NH(!1,{transform:pN});_pattern=new B(m(l({},this),{element:()=>this.element,activeItem:Ke(void 0),items:this._triggerPatterns,orientation:()=>`vertical`}));constructor(){Ol(()=>{this._collection.startObserving(this.element)})}ngOnDestroy(){this._collection.stopObserving()}expandAll(){this._pattern.expandAll()}collapseAll(){this._pattern.collapseAll()}static ɵfac=function(t){return new(t||n)};static ɵdir=ad({type:n,selectors:[[``,`ngAccordionGroup`,``]],hostBindings:function(t,i){t&1&&Gy(`keydown`,function(c){return i._pattern.onKeydown(c)})(`click`,function(c){return i._pattern.onClick(c)})(`focusin`,function(c){return i._pattern.onFocus(c)})},inputs:{disabled:[1,`disabled`],multiExpandable:[1,`multiExpandable`],softDisabled:[1,`softDisabled`],wrap:[1,`wrap`]},exportAs:[`ngAccordionGroup`],features:[A_([{provide:le,useExisting:n}])]})}return n})();var me=(()=>{class n{_elementRef=g(Hn);element=this._elementRef.nativeElement;_accordionGroup=g(le);panel=NH.required();id=NH(g(W).getId(`ng-accordion-trigger-`,!0));panelId=Ft(()=>this.panel().id());disabled=NH(!1,{transform:pN});expanded=AH(!1);active=Ft(()=>this._pattern.active());_pattern;constructor(){this.element.tagName===`BUTTON`&&!this.element.hasAttribute(`type`)&&this.element.setAttribute(`type`,`button`)}ngOnInit(){this._pattern=new D(m(l({},this),{element:()=>this.element,accordionGroup:()=>this._accordionGroup._pattern,accordionPanelId:this.panelId})),this.panel()._pattern=this._pattern,this._accordionGroup._collection.register(this)}ngOnDestroy(){this.panel()._pattern=void 0,this._accordionGroup._collection.unregister(this)}expand(){this._pattern.open()}collapse(){this._pattern.close()}toggle(){this._pattern.toggle()}static ɵfac=function(t){return new(t||n)};static ɵdir=ad({type:n,selectors:[[``,`ngAccordionTrigger`,``]],hostAttrs:[`role`,`button`],hostVars:7,hostBindings:function(t,i){t&2&&(Uy(`id`,i.id()),ky(`data-active`,i.active())(`aria-expanded`,i.expanded())(`aria-controls`,i._pattern.controls())(`aria-disabled`,i._pattern.disabled())(`disabled`,i._pattern.hardDisabled()?!0:null)(`tabindex`,i._pattern.tabIndex()))},inputs:{panel:[1,`panel`],id:[1,`id`],disabled:[1,`disabled`],expanded:[1,`expanded`]},outputs:{expanded:`expandedChange`},exportAs:[`ngAccordionTrigger`]})}return n})();var he=[`searchInput`];var _e=n=>({count:n});var ve=(n,r)=>r.domain;var ye=(n,r)=>r.item.code;function be(n,r){if(n&1){let e=zS();Us(0,`label`,16)(1,`input`,17,2),Gy(`change`,function(){let i=Ip(e).$implicit,m=t_(2);return wp(qS(3).selectionChange.emit({code:i.item.code,selected:m.checked}))}),fd(),Us(3,`span`)(4,`code`,18),y_(5),fd(),Us(6,`span`,19),y_(7),fd()()()}if(n&2){let e=r.$implicit,t=qS(3);ZC(),Fy(`checked`,t.selected(e.item.code)),ZC(3),Fy(`appSearchHighlight`,e.codeMatches),ZC(),nv(e.item.code),ZC(),Fy(`appSearchHighlight`,e.descriptionMatches),ZC(),nv(e.item.description)}}function Ce(n,r){if(n&1&&LS(0,be,8,5,`label`,16,ye),n&2){let e=qS().$implicit;jS(e.permissions)}}function xe(n,r){if(n&1){let e=zS();Us(0,`div`,7)(1,`h3`)(2,`button`,9),Gy(`expandedChange`,function(i){let m=Ip(e).$implicit;return wp(qS().setExpanded(m.domain,i))}),Us(3,`span`,10)(4,`code`),y_(5),fd(),Us(6,`span`,11),y_(7,` · `),fd(),Us(8,`span`),y_(9),fd()(),Us(10,`span`,12),y_(11),fd(),Py(12,`app-icon`,13),fd()(),Us(13,`div`,14,1),Iy(15,Ce,2,0,`ng-template`,15),fd()()}if(n&2){let e=r.$implicit,t=t_(14);ZC(2),Fy(`panel`,t)(`expanded`,e.expanded),ZC(3),nv(e.domain),ZC(4),nv(e.description),ZC(2),nv(e.selectionLabel),ZC(2),Fy(`preserveContent`,!0)}}function Pe(n,r){if(n&1&&(Us(0,`p`),y_(1),fd()),n&2){let e=qS();ZC(),nv(e.i18n.t(`backOffice.apiTokens.permissionEmpty`))}}var ue=[];var Me=[`affair`,`integration`,`ledger`,`invoice`,`email`,`bank`,`catalog`,`issuer`,`company`,`condition`,`payment`,`client`,`supplier`,`supplier-invoice`,`quote`,`order`,`template`,`document`,`user`,`role`,`session`,`api-token`,`audit`,`accounting`,`demo`];var ge=class n{i18n=g(Ie);options=NH.required();selectedCodes=NH.required();disabled=NH(!1);selectionChange=MH();query=Ke(``);expandedDomains=Ke(new Set);searchInput=xH.required(`searchInput`);searchResults=Ft$1(this.options,this.query,{keys:[{name:`code`,weight:.45},{name:`description`,weight:.55}],ignoreDiacritics:!0,ignoreLocation:!0,includeMatches:!0,threshold:.35});groups=Ft(()=>{let r=this.searchResults().map(({item:e,matches:t=[]})=>({item:e,codeMatches:t.find(({key:i})=>i===`code`)?.indices??ue,descriptionMatches:t.find(({key:i})=>i===`description`)?.indices??ue}));return Me.map(e=>({domain:e,description:this.i18n.t(`permission.group.${e}`),expanded:this.expandedDomains().has(e),selectionLabel:this.i18n.plural(`configurationWorkspace.permissionSelection`,{count:this.selectedCodes().filter(t=>t.startsWith(`${e}.`)).length,total:this.options().filter(({code:t})=>t.startsWith(`${e}.`)).length}),permissions:r.filter(({item:t})=>t.code.startsWith(`${e}.`))})).filter(({permissions:e})=>e.length>0)});focusSearch(){this.searchInput().nativeElement.focus()}updateQuery(r){this.query.set(r.value.slice(0,120)),this.query().trim()&&this.expandedDomains.update(e=>new Set([...e,...this.groups().map(({domain:t})=>t)]))}setExpanded(r,e){this.expandedDomains.update(t=>{let i=new Set(t);return e?i.add(r):i.delete(r),i})}selected(r){return this.selectedCodes().includes(r)}static ɵfac=function(e){return new(e||n)};static ɵcmp=Fb({type:n,selectors:[[`app-permission-picker`]],viewQuery:function(e,t){e&1&&Ky(t.searchInput,he,5),e&2&&e_()},inputs:{options:[1,`options`],selectedCodes:[1,`selectedCodes`],disabled:[1,`disabled`]},outputs:{selectionChange:`selectionChange`},features:[A_([d])],decls:13,vars:10,consts:[[`searchInput`,``],[`panel`,`ngAccordionPanel`],[`permission`,``],[3,`disabled`],[1,`field`],[`id`,`permission-search`,`type`,`search`,1,`input`,3,`input`,`placeholder`,`value`],[`ngAccordionGroup`,``,1,`permission-groups`,3,`multiExpandable`],[1,`permission-group`],[`role`,`status`],[`appButton`,``,`type`,`button`,`ngAccordionTrigger`,``,1,`permission-toggle`,3,`expandedChange`,`panel`,`expanded`],[1,`permission-domain`],[`aria-hidden`,`true`],[1,`permission-count`],[`name`,`chevron-right`],[`ngAccordionPanel`,``,1,`permission-panel`,3,`preserveContent`],[`ngAccordionContent`,``],[1,`permission-option`],[`type`,`checkbox`,3,`change`,`checked`],[3,`appSearchHighlight`],[1,`permission-description`,3,`appSearchHighlight`]],template:function(e,t){if(e&1){let i=zS();Us(0,`fieldset`,3)(1,`legend`),y_(2),fd(),Us(3,`label`,4),y_(4),Us(5,`input`,5,0),Gy(`input`,function(){Ip(i);let c=t_(6);return wp(t.updateQuery(c))}),fd()(),Us(7,`div`,6),LS(8,xe,16,6,`div`,7,ve,!1,Pe,2,1,`p`),fd(),Us(11,`p`,8),y_(12),fd()()}e&2&&(Fy(`disabled`,t.disabled()),ZC(2),nv(t.i18n.t(`backOffice.apiTokens.permissions`)),ZC(2),vd(` `,t.i18n.t(`backOffice.apiTokens.permissionSearch`),` `),ZC(),Fy(`placeholder`,t.i18n.t(`backOffice.apiTokens.permissionSearchPlaceholder`))(`value`,t.query()),ZC(2),Fy(`multiExpandable`,!0),ZC(),jS(t.groups()),ZC(4),vd(` `,t.i18n.plural(`configurationWorkspace.permissionCount`,k_(8,_e,t.selectedCodes().length)),` `))},dependencies:[w,pe,ce,me,N,r,m$1],styles:[`fieldset[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-3);min-inline-size:0;margin:0;padding:0;border:0}legend[_ngcontent-%COMP%]{padding:0;margin-block-end:var(--%NS%space-3);font-weight:700}.permission-groups[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--%NS%space-3)}.permission-toggle[_ngcontent-%COMP%]{inline-size:100%;text-align:start;gap:var(--%NS%space-3)}.permission-domain[_ngcontent-%COMP%]{flex:1 1 auto;min-inline-size:0;overflow-wrap:anywhere}.permission-domain[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:last-child{color:var(--%NS%color-muted);font-size:var(--%NS%text-sm);font-weight:400}.permission-count[_ngcontent-%COMP%]{min-inline-size:0;color:var(--%NS%color-muted);font-size:var(--%NS%text-sm);font-weight:400;white-space:normal}.permission-toggle[_ngcontent-%COMP%] app-icon[_ngcontent-%COMP%]{flex:none}.permission-toggle[aria-expanded=true][_ngcontent-%COMP%] app-icon[_ngcontent-%COMP%]{rotate:90deg}.permission-panel[_ngcontent-%COMP%]{padding:var(--%NS%space-2) var(--%NS%space-3)}.permission-panel[inert][_ngcontent-%COMP%]{display:none}.permission-option[_ngcontent-%COMP%]{display:flex;align-items:start;gap:var(--%NS%space-3);padding-block:var(--%NS%space-2)}.permission-option[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{margin-top:.25rem}.permission-description[_ngcontent-%COMP%]{display:block;overflow-wrap:anywhere;color:var(--%NS%color-muted);font-size:var(--%NS%text-sm)}`]})};export{ge as t};
@@ -0,0 +1 @@
1
+ import{n as m,t as l}from"./chunk-BwCtja5l.js";import{$t as ZC,A as Gy,D as Fy,Dn as g,Ir as wp,It as Us,Jr as zS,K as Ke,Nr as vd,Tn as fd,Wn as kS,Wr as y_,ft as Ol,lt as OS,mr as qT,pr as qS,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"./chunk-Dv9sNWWK.js";import"./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{d as nr,f as or,h as yn,t as P}from"./chunk-CSkyOfSg.js";import{t as g$1}from"./chunk-B56nz2lI.js";import{t as k}from"./chunk-D5MFwK9L.js";import{t as P$1}from"./chunk-niXXbm7H.js";import{t as S}from"./chunk-D6k6pmdU.js";import{t as f}from"./chunk-POMKwNf_.js";function q(n,t){if(n&1&&(Us(0,`p`,4),y_(1),fd()),n&2){let e=qS();ZC(),nv(e.i18n.t(t))}}function L(n,t){if(n&1&&(Us(0,`p`,5),y_(1),fd()),n&2){let e=qS();ZC(),vd(` `,e.i18n.t(`supplierInvoice.analysisSettings.saved`),` `)}}function R(n,t){if(n&1&&(Us(0,`p`,6),y_(1),fd()),n&2){let e=qS();ZC(),nv(e.i18n.t(`supplierInvoice.analysisSettings.loading`))}}function W(n,t){if(n&1&&(Us(0,`label`,16),y_(1),Py(2,`input`,17),qT(),fd(),Us(3,`label`,18),y_(4),Py(5,`input`,19),qT(),fd(),Us(6,`p`,20),y_(7),fd()),n&2){let e=qS(2);ZC(),nv(e.i18n.t(`supplierInvoice.analysisSettings.endpoint`)),ZC(),Fy(`formField`,e.settingsForm.endpoint),ZT(),ZC(2),nv(e.i18n.t(`supplierInvoice.analysisSettings.apiKey`)),ZC(),Fy(`formField`,e.settingsForm.apiKey),ZT(),ZC(2),nv(e.credentialState())}}function G(n,t){if(n&1){let e=zS();Us(0,`form`,8),Gy(`submit`,function(p){Ip(e);return wp(qS().save(p))}),Us(1,`div`,9)(2,`label`,10),y_(3),Us(4,`select`,11)(5,`option`,12),y_(6),fd(),Us(7,`option`,13),y_(8),fd()(),qT(),fd(),OS(9,W,8,5),fd(),Us(10,`div`,14)(11,`button`,15),y_(12),fd()()()}if(n&2){let e=qS();ZC(3),nv(e.i18n.t(`supplierInvoice.analysisSettings.adapter`)),ZC(),Fy(`formField`,e.settingsForm.adapter),ZT(),ZC(2),nv(e.i18n.t(`supplierInvoice.analysisSettings.local`)),ZC(2),nv(e.i18n.t(`supplierInvoice.analysisSettings.openai`)),ZC(),kS(e.external()?9:-1),ZC(2),Fy(`disabled`,e.saving()),ZC(),vd(` `,e.i18n.t(`supplierInvoice.analysisSettings.save`),` `)}}var J=n=>{try{let t=new URL(n);return t.protocol===`https:`&&t.username.length===0&&t.password.length===0}catch{return!1}};var j=class n{i18n=g(Ie);api=g(S);confirmation=g(P$1);breadcrumbs=Ke([{label:this.i18n.t(`backOffice.configuration.title`),path:`/configuration`}]);model=Ke({adapter:`local`,endpoint:``,apiKey:``});settingsForm=nr(this.model,t=>{P(t.endpoint,({value:e})=>this.model().adapter===`openai`&&!J(e())?{kind:`url`}:void 0)});settings=Ke(void 0);loading=Ke(!0);saving=Ke(!1);saved=Ke(!1);error=Ke(void 0);constructor(){Ol(()=>{this.load()})}async canDeactivate(){return this.saving()?!1:this.settingsForm().dirty()?this.confirmation.request(this.i18n.t(`supplierInvoice.analysisSettings.unsavedChanges`)):!0}preventUnsavedUnload(t){(this.saving()||this.settingsForm().dirty())&&t.preventDefault()}external(){return this.model().adapter===`openai`}credentialState(){return this.i18n.t(this.settings()?.credentialsPresent?`supplierInvoice.analysisSettings.credentialPresent`:`supplierInvoice.analysisSettings.credentialMissing`)}save(t){if(t.preventDefault(),this.saving()||this.settingsForm().invalid()){this.settingsForm().markAsTouched();return}or(this.settingsForm,async()=>{this.saving.set(!0),this.saved.set(!1),this.error.set(void 0);try{let e=this.model(),a={adapter:e.adapter,endpoint:e.adapter===`openai`?e.endpoint:null};e.apiKey.length>0&&(a=m(l({},a),{apiKey:e.apiKey}));let p=await this.api.updateAnalysisSettings(a);if(!p.success){this.error.set(p.code);return}this.apply(p.result),this.saved.set(!0)}catch{this.error.set(`supplierInvoice.analysisSettings.error`)}finally{this.saving.set(!1)}})}async load(){try{let t=await this.api.analysisSettings();t.success?this.apply(t.result):this.error.set(t.code)}catch{this.error.set(`supplierInvoice.analysisSettings.error`)}finally{this.loading.set(!1)}}apply(t){this.settings.set(t),this.model.set({adapter:t.adapter,endpoint:t.endpoint??``,apiKey:``}),this.settingsForm().reset()}static ɵfac=function(e){return new(e||n)};static ɵcmp=Fb({type:n,selectors:[[`app-supplier-invoice-analysis-settings`]],hostAttrs:[1,`page-container`],hostBindings:function(e,a){e&1&&Gy(`beforeunload`,function(h){return a.preventUnsavedUnload(h)},Zw)},decls:11,vars:8,consts:[[`aria-labelledby`,`analysis-settings-title`,1,`detail-page`,`form-page`],[`layout`,`stacked`],[`pageBack`,``,3,`label`,`items`,`current`],[`id`,`analysis-settings-title`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`appNotice`,``,`variant`,`success`,`role`,`status`],[`role`,`status`],[`novalidate`,``],[`novalidate`,``,3,`submit`],[1,`ds-panel`,`form-panel`],[`for`,`analysis-adapter`,1,`field`],[`appFilterSelect`,``,`id`,`analysis-adapter`,1,`select`,3,`formField`],[`value`,`local`],[`value`,`openai`],[1,`actions`],[`appButton`,``,`variant`,`primary`,`type`,`submit`,3,`disabled`],[`for`,`analysis-endpoint`,1,`field`],[`id`,`analysis-endpoint`,`type`,`url`,`inputmode`,`url`,1,`input`,3,`formField`],[`for`,`analysis-api-key`,1,`field`],[`id`,`analysis-api-key`,`type`,`password`,`autocomplete`,`new-password`,1,`input`,3,`formField`],[1,`muted`]],template:function(e,a){if(e&1&&(Us(0,`section`,0)(1,`app-page-header`,1),Py(2,`app-breadcrumbs`,2),Us(3,`h1`,3),y_(4),fd(),Us(5,`p`),y_(6),fd()(),OS(7,q,2,1,`p`,4),OS(8,L,2,1,`p`,5),OS(9,R,2,1,`p`,6)(10,G,13,7,`form`,7),fd()),e&2){let p;ZC(2),Fy(`label`,a.i18n.t(`backOfficeShell.breadcrumb`))(`items`,a.breadcrumbs())(`current`,a.i18n.t(`supplierInvoice.analysisSettings.title`)),ZC(2),nv(a.i18n.t(`supplierInvoice.analysisSettings.title`)),ZC(2),nv(a.i18n.t(`supplierInvoice.analysisSettings.intro`)),ZC(),kS((p=a.error())?7:-1,p),ZC(),kS(a.saved()?8:-1),ZC(),kS(a.loading()?9:10)}},dependencies:[Ae,f,N,yn,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}}.field[_ngcontent-%COMP%] + .field[_ngcontent-%COMP%], .actions[_ngcontent-%COMP%]{margin-block-start:var(--%NS%space-4)}`]})};export{j as SupplierInvoiceAnalysisSettingsPage};
@@ -1 +1 @@
1
- import{Dn as g,H as JD,o as A,ot as OD}from"./chunk-BAHiFuUo.js";import{vc as ol,vn as Ka,wc as oy}from"./chunk-CjtJKrza.js";import{n as m,t as d}from"./chunk-Dv9sNWWK.js";var u=class r{http=g(OD);list(){return m(this.http.get(`/api/email-templates`),oy,Ka,`emailTemplate.error`)}save(e,t){return m(this.http.put(`/api/email-templates/${e}`,t),ol,Ka,`emailTemplate.error`)}async archive(e){try{return await JD(this.http.post(`/api/email-templates/${e.id}/archive`,{expectedVersion:e.version})),{success:!0}}catch(t){return d({cause:t},Ka,`emailTemplate.error`)}}static ɵfac=function(t){return new(t||r)};static ɵprov=A({token:r,factory:r.ɵfac,providedIn:`root`})};export{u as t};
1
+ import{Dn as g,H as JD,o as A,ot as OD}from"./chunk-BAHiFuUo.js";import{n as m,t as d}from"./chunk-Dv9sNWWK.js";import{vc as ol,vn as Ka,wc as oy}from"./chunk-D5qmP2Wu.js";var u=class r{http=g(OD);list(){return m(this.http.get(`/api/email-templates`),oy,Ka,`emailTemplate.error`)}save(e,t){return m(this.http.put(`/api/email-templates/${e}`,t),ol,Ka,`emailTemplate.error`)}async archive(e){try{return await JD(this.http.post(`/api/email-templates/${e.id}/archive`,{expectedVersion:e.version})),{success:!0}}catch(t){return d({cause:t},Ka,`emailTemplate.error`)}}static ɵfac=function(t){return new(t||r)};static ɵprov=A({token:r,factory:r.ɵfac,providedIn:`root`})};export{u as t};
@@ -0,0 +1 @@
1
+ import{$t as ZC,A as Gy,C as F_,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,Tn as fd,V as Iy,Wn as kS,Wr as y_,dr as pe$1,ft as Ol,lt as OS,mr as qT,pr as qS,qn as ky,rn as Zw,rr as nv,tn as ZT,vt as Py,w as Fb,z as Ip}from"./chunk-BAHiFuUo.js";import{T as ue$1,a as T,m as Ie,o as U,r as N,v as Dt,y as G}from"./main-F7D3L737.js";import{ct as Me,wi as wu}from"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import{Ia as a,Zr as Ss}from"./chunk-D5qmP2Wu.js";import{t as y}from"./chunk-xTX16tt2.js";import"./chunk-DjewtV43.js";import"./chunk-B0bNirg2.js";import"./chunk-BzUDWIzm.js";import"./chunk-CReShp-B.js";import"./chunk-DsaNNeZe.js";import{t as l}from"./chunk-BVszSMJC.js";import{a as fn,d as nr,f as or,h as yn,m as un,n as an,o as gn,r as cn}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$1}from"./chunk-1ErswIDf.js";import"./chunk-DZgMGE6C.js";import"./chunk-CP9GxcYV.js";import{t as b}from"./chunk-BfSewUhY.js";var se=i=>[`/clients`,i,`profile`];var ce=(i,t)=>({min:i,max:t});var de=i=>({max:i});var le=(i,t)=>({count:i,min:t});function pe(i,t){if(i&1&&(Us(0,`p`)(1,`a`,7),y_(2),fd()()),i&2){let e=t,a=qS();ZC(),Fy(`routerLink`,k_(3,se,e.id))(`queryParams`,a.returnQuery()),ZC(),nv(e.displayName)}}function me(i,t){if(i&1&&(Us(0,`p`,4),y_(1),fd()),i&2){let e=qS();ZC(),nv(e.i18n.t(`backOffice.clientDetail.loading`))}}function ue(i,t){if(i&1&&(Us(0,`p`,5),y_(1),fd()),i&2){let e=qS();ZC(),nv(e.i18n.t(`backOffice.clientDetail.accessArchived`))}}function fe(i,t){if(i&1&&(Us(0,`span`,12),y_(1),fd()),i&2){let e=qS(3);ZC(),nv(e.i18n.t(`backOffice.clientDetail.emailInvalid`))}}function ge(i,t){if(i&1&&(Us(0,`span`,16),y_(1),fd()),i&2){let e=qS(3);ZC(),nv(e.passwordLength()>e.passwordConfig.maxLength?e.i18n.tf(`backOffice.clientDetail.passwordTooLong`,k_(1,de,e.passwordConfig.maxLength)):e.i18n.plural(`backOffice.clientDetail.passwordTooShort`,F_(3,le,e.passwordLength(),e.passwordConfig.minLength)))}}function ye(i,t){if(i&1){let e=zS();Us(0,`form`,9),Gy(`submit`,function(y){Ip(e);return wp(qS(2).save(y))}),Us(1,`label`,10),y_(2),Py(3,`input`,11),qT(),OS(4,fe,2,1,`span`,12),fd(),Us(5,`label`,13),y_(6),Py(7,`input`,14),qT(),Us(8,`span`,15),y_(9),fd(),OS(10,ge,2,6,`span`,16),fd(),Us(11,`div`,17)(12,`button`,18),y_(13),fd(),Us(14,`a`,19),y_(15),fd()()()}if(i&2){let e=qS(2);ZC(2),vd(``,e.i18n.t(`backOffice.email`),` `),ZC(),Fy(`formField`,e.accessForm.email),ky(`aria-invalid`,e.invalid(`email`))(`aria-describedby`,e.invalid(`email`)?`client-account-email-error`:null),ZT(),ZC(),kS(e.invalid(`email`)?4:-1),ZC(2),vd(``,e.i18n.t(`backOffice.password`),` `),ZC(),Fy(`formField`,e.accessForm.password),ky(`aria-invalid`,e.invalid(`password`)),ZT(),ZC(2),nv(e.i18n.tf(`backOffice.clientDetail.passwordRequirements`,F_(15,ce,e.passwordConfig.minLength,e.passwordConfig.maxLength))),ZC(),kS(e.invalid(`password`)?10:-1),ZC(2),Fy(`disabled`,e.pending()||e.completed()),ZC(),vd(` `,e.i18n.t(e.pending()?`backOffice.clientDetail.accessCreating`:`backOffice.clientDetail.accessCreate`)),ZC(),Fy(`routerLink`,e.backLink())(`queryParams`,e.returnQuery()),ZC(),nv(e.i18n.t(`clientsWorkspace.cancel`))}}function he(i,t){if(i&1&&(Us(0,`p`),y_(1),fd(),Iy(2,ye,16,18,`form`,8)),i&2){let e=qS();ZC(),nv(e.i18n.t(`clientsWorkspace.accessCreateIntro`)),ZC(),Fy(`appCan`,`client.access.manage`)}}function ve(i,t){if(i&1&&(Us(0,`p`,6),y_(1),fd()),i&2){let e=qS();ZC(),nv(e.i18n.t(t))}}var oe=class i{i18n=g(Ie);api=g(y);route=g(G);router=g(ue$1);destroyRef=g(pe$1);confirmation=g(P);queryParams=T(this.route.queryParamMap,{initialValue:this.route.snapshot.queryParamMap});returnQuery=Ft(()=>b(this.queryParams()));client=Ke(void 0);loading=Ke(!0);pending=Ke(!1);completed=Ke(!1);error=Ke(void 0);passwordConfig=Ss;model=Ke({email:``,password:``});passwordLength=Ft(()=>this.model().password.length);backLink=Ft(()=>{let t=this.client();return t?[`/clients`,t.id,`access`]:[`/clients`,this.returnQuery().view??`active`]});accessForm=nr(this.model,t=>{an(t,()=>this.loading()||this.pending()||this.completed()||!this.client()||this.client()?.archived===!0),gn(t.email),un(t.email),cn(t.email,254),gn(t.password),fn(t.password,Ss.minLength),cn(t.password,Ss.maxLength)});loadGeneration=0;constructor(){Ol(()=>this.route.paramMap.pipe(U(this.destroyRef)).subscribe(()=>{this.load()}))}async canDeactivate(){return!this.pending()&&(this.completed()||!this.accessForm().dirty()||await this.confirmation.request(this.i18n.t(`backOffice.clientDetail.unsavedChanges`)))}preventUnsavedUnload(t){(this.pending()||!this.completed()&&this.accessForm().dirty())&&t.preventDefault()}invalid(t){return this.accessForm[t]().touched()&&this.accessForm[t]().invalid()}async load(){let t=++this.loadGeneration;this.loading.set(!0),this.error.set(void 0),this.client.set(void 0),this.completed.set(!1),this.model.set({email:``,password:``}),this.accessForm().reset();let e=wu.decodeUnknownOption(a)(this.route.snapshot.paramMap.get(`clientId`));if(Me.isNone(e)){this.error.set(`client.not_found`),this.loading.set(!1);return}try{let a=await this.api.get(e.value);if(this.destroyRef.destroyed||t!==this.loadGeneration)return;a.success?this.client.set(a.result):this.error.set(a.code)}catch{!this.destroyRef.destroyed&&t===this.loadGeneration&&this.error.set(`client.error`)}finally{!this.destroyRef.destroyed&&t===this.loadGeneration&&this.loading.set(!1)}}save(t){t.preventDefault();let e=this.client();if(!(!e||e.archived||this.loading()||this.pending()||this.completed())){if(this.accessForm().markAsTouched(),this.accessForm().invalid()){this.accessForm().errorSummary()[0]?.fieldTree().focusBoundControl();return}or(this.accessForm,async()=>{this.pending.set(!0),this.error.set(void 0);try{let a=await this.api.createAccess(e.id,this.model());if(this.destroyRef.destroyed)return;if(!a.success){this.error.set(a.code);return}this.completed.set(!0),this.model.set({email:``,password:``}),this.accessForm().reset()}catch{this.destroyRef.destroyed||this.error.set(`client.error`)}finally{this.pending.set(!1)}this.completed()&&await this.router.navigate(this.backLink(),{queryParams:this.returnQuery(),queryParamsHandling:`replace`})})}}static ɵfac=function(e){return new(e||i)};static ɵcmp=Fb({type:i,selectors:[[`app-client-access-editor`]],hostAttrs:[1,`page-container`],hostBindings:function(e,a){e&1&&Gy(`beforeunload`,function(u){return a.preventUnsavedUnload(u)},Zw)},decls:11,vars:7,consts:[[`aria-labelledby`,`access-editor-title`,1,`detail-page`,`form-page`,`access-editor`],[`layout`,`stacked`],[`pageBack`,``,`queryParamsHandling`,`replace`,3,`routerLink`,`queryParams`],[`id`,`access-editor-title`],[`role`,`status`],[`appNotice`,``],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`queryParamsHandling`,`replace`,3,`routerLink`,`queryParams`],[`class`,`ds-panel form-panel`,`novalidate`,``,3,`submit`,4,`appCan`],[`novalidate`,``,1,`ds-panel`,`form-panel`,3,`submit`],[`for`,`client-account-email`,1,`field`],[`id`,`client-account-email`,`type`,`email`,`autocomplete`,`username`,1,`input`,3,`formField`],[`id`,`client-account-email-error`,1,`field-error`],[`for`,`client-account-password`,1,`field`],[`id`,`client-account-password`,`type`,`password`,`autocomplete`,`new-password`,`aria-describedby`,`client-account-password-requirements client-account-password-error`,1,`input`,3,`formField`],[`id`,`client-account-password-requirements`,`appFieldHint`,``],[`id`,`client-account-password-error`,1,`field-error`],[1,`actions`],[`appButton`,``,`variant`,`primary`,`type`,`submit`,3,`disabled`],[`appLinkButton`,``,`queryParamsHandling`,`replace`,3,`routerLink`,`queryParams`]],template:function(e,a){if(e&1&&(Us(0,`section`,0)(1,`app-page-header`,1)(2,`a`,2),y_(3),fd(),Us(4,`h1`,3),y_(5),fd(),OS(6,pe,3,5,`p`),fd(),OS(7,me,2,1,`p`,4)(8,ue,2,1,`p`,5)(9,he,3,2),OS(10,ve,2,1,`p`,6),fd()),e&2){let y,u;ZC(2),Fy(`routerLink`,a.backLink())(`queryParams`,a.returnQuery()),ZC(),nv(a.i18n.t(`clientsWorkspace.accessBack`)),ZC(2),nv(a.i18n.t(`clientsWorkspace.accessCreateTitle`)),ZC(),kS((y=a.client())?6:-1,y),ZC(),kS(a.loading()?7:a.client()?.archived?8:a.client()?9:-1),ZC(3),kS((u=a.error())?10:-1,u)}},dependencies:[l,N,a$1,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}}form[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-5)}.input[_ngcontent-%COMP%]{inline-size:100%}.actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:var(--%NS%space-3)}.field-error[_ngcontent-%COMP%]{color:var(--%NS%color-danger);font-size:var(--%NS%text-sm)}`]})};export{oe as ClientAccessEditor};
@@ -0,0 +1 @@
1
+ import{n as m,t as l}from"./chunk-BwCtja5l.js";import{$t as ZC,A as Gy,C as F_,D as Fy,Dn as g,Dr as t_,E as Ft,Ir as wp,It as Us,J as Ky,Jr as zS,Jt as Xy,K as Ke,Nr as vd,Rn as jS,Rt as V_,Sr as rv,Tn as fd,Vr as xH,Wn as kS,Wr as y_,X as LS,dr as pe,lt as OS,mr as qT,mt as PH,pr as qS,qn as ky,rn as Zw,rr as nv,tn as ZT,vt as Py,w as Fb,xn as e_,z as Ip,zn as j_}from"./chunk-BAHiFuUo.js";import{T as ue,a as T,h as Ne$1,m as Ie$1,r as N,v as Dt,y as G}from"./main-F7D3L737.js";import"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import{Vs as lk}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 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,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,c as M,i as H,s as L,y as k$1}from"./chunk-CMvRZBpn.js";import{t as P}from"./chunk-niXXbm7H.js";import{t as p}from"./chunk-BHEFFEGN.js";import{t as w}from"./chunk-Bq2zV2_3.js";var _e=[`statementFile`];var he=[`stage`];var Ce=(l,n)=>({added:l,existing:n});var Se=(l,n)=>n.key;var we=(l,n)=>n.reference;function Ie(l,n){if(l&1&&(Us(0,`p`,7),y_(1),fd()),l&2){let e=qS();ZC(),nv(e.i18n.t(n))}}function Me(l,n){if(l&1){let e=zS();Us(0,`p`,10),y_(1),fd(),Us(2,`div`,11)(3,`button`,12),Gy(`click`,function(){Ip(e);return wp(qS().again())}),y_(4),fd()()}if(l&2){let e=qS();ZC(),nv(e.i18n.tf(`bankWorkspace.importDone`,n)),ZC(3),vd(` `,e.i18n.t(`bankWorkspace.importAgain`),` `)}}function Ee(l,n){if(l&1){let e=zS();Us(0,`th`,18)(1,`button`,19),Gy(`click`,function(){let s=Ip(e).$implicit;return wp(qS(2).sortBy(s.key))}),fd()()}if(l&2){let e=n.$implicit,a=qS(2);Xy(`amount`,e.kind===`number`),ky(`aria-sort`,a.sortDirection(e.key)),ZC(),Fy(`label`,a.i18n.t(e.label))(`direction`,a.sortDirection(e.key))}}function Fe(l,n){if(l&1&&(Us(0,`tr`)(1,`th`,20),y_(2),fd(),Us(3,`td`,21),y_(4),fd(),Us(5,`td`),y_(6),j_(7,`localizedDate`),fd(),Us(8,`td`,22),y_(9),fd(),Us(10,`td`),y_(11),fd()()),l&2){let e=n.$implicit,a=qS(2);ZC(2),nv(e.reference),ZC(2),nv(e.description),ZC(2),nv(V_(7,5,e.bookedOn,a.i18n.language())),ZC(3),nv(a.money(e.amountCents,e.currency)),ZC(2),nv(a.i18n.t(e.existing?`bankWorkspace.existing`:`bankWorkspace.new`))}}function Be(l,n){if(l&1){let e=zS();Us(0,`p`),y_(1),fd(),Us(2,`p`,13),y_(3),fd(),Us(4,`p`,9),y_(5),fd(),Us(6,`div`,11)(7,`button`,14),Gy(`click`,function(){Ip(e);return wp(qS().confirm())}),y_(8),fd(),Us(9,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS().edit())}),y_(10),fd()(),Us(11,`div`,16)(12,`table`)(13,`caption`),y_(14),fd(),Us(15,`thead`)(16,`tr`),LS(17,Ee,2,5,`th`,17,Se),fd()(),Us(19,`tbody`),LS(20,Fe,12,8,`tr`,null,we),fd()()()}if(l&2){let e=n,a=qS();ZC(),rv(``,a.filename(),` · `,a.importForm.account().value()),ZC(2),nv(a.i18n.t(`bankWorkspace.validationHint`)),ZC(2),vd(` `,a.i18n.tf(`bankWorkspace.importCounts`,F_(9,Ce,e.added,e.existing)),` `),ZC(2),Fy(`disabled`,a.busy()),ZC(),vd(` `,a.i18n.t(`bankWorkspace.confirmImport`)),ZC(),Fy(`disabled`,a.busy()),ZC(),vd(` `,a.i18n.t(`bankWorkspace.changeFile`),` `),ZC(4),vd(` `,a.i18n.t(`bankWorkspace.preview`),` `),ZC(3),jS(a.columns),ZC(3),jS(a.previewRows())}}function Pe(l,n){if(l&1&&y_(0),l&2)vd(` `,qS(2).i18n.t(`bankWorkspace.accountInvalid`),` `)}function Ne(l,n){if(l&1&&(Us(0,`fieldset`,32)(1,`legend`),y_(2),fd(),Us(3,`label`,25),y_(4),Us(5,`select`,35)(6,`option`,36),y_(7),fd(),Us(8,`option`,37),y_(9),fd(),Us(10,`option`,38),y_(11),fd()(),qT(),fd(),Us(12,`label`,25),y_(13),Py(14,`input`,39),qT(),fd(),Us(15,`label`,25),y_(16),Py(17,`input`,39),qT(),fd(),Us(18,`label`,25),y_(19),Py(20,`input`,39),qT(),fd(),Us(21,`label`,25),y_(22),Py(23,`input`,39),qT(),fd(),Us(24,`label`,25),y_(25),Py(26,`input`,39),qT(),fd(),Us(27,`label`,25),y_(28),Us(29,`select`,35)(30,`option`,40),y_(31,`AAAA-MM-JJ`),fd(),Us(32,`option`,41),y_(33,`JJ/MM/AAAA`),fd()(),qT(),fd(),Us(34,`label`,25),y_(35),Us(36,`select`,35)(37,`option`,42),y_(38,`1 234.56`),fd(),Us(39,`option`,36),y_(40,`1 234,56`),fd()(),qT(),fd(),Us(41,`a`,43),y_(42),fd()()),l&2){let e=qS(2);ZC(2),nv(e.i18n.t(`bankWorkspace.csvConfiguration`)),ZC(2),nv(e.i18n.t(`bankWorkspace.delimiter`)),ZC(),Fy(`formField`,e.importForm.delimiter),ZT(),ZC(2),nv(e.i18n.t(`bankWorkspace.comma`)),ZC(2),nv(e.i18n.t(`bankWorkspace.semicolon`)),ZC(),Fy(`value`,` `),ZC(),nv(e.i18n.t(`bankWorkspace.tab`)),ZC(2),nv(e.i18n.t(`bankWorkspace.referenceColumn`)),ZC(),Fy(`formField`,e.importForm.referenceColumn),ZT(),ZC(2),nv(e.i18n.t(`bankWorkspace.dateColumn`)),ZC(),Fy(`formField`,e.importForm.bookedOnColumn),ZT(),ZC(2),nv(e.i18n.t(`bankWorkspace.amountColumn`)),ZC(),Fy(`formField`,e.importForm.amountColumn),ZT(),ZC(2),nv(e.i18n.t(`bankWorkspace.currencyColumn`)),ZC(),Fy(`formField`,e.importForm.currencyColumn),ZT(),ZC(2),nv(e.i18n.t(`bankWorkspace.descriptionColumn`)),ZC(),Fy(`formField`,e.importForm.descriptionColumn),ZT(),ZC(2),nv(e.i18n.t(`bankWorkspace.dateFormat`)),ZC(),Fy(`formField`,e.importForm.dateFormat),ZT(),ZC(6),nv(e.i18n.t(`bankWorkspace.decimalSeparator`)),ZC(),Fy(`formField`,e.importForm.decimalSeparator),ZT(),ZC(6),nv(e.i18n.t(`bank.template`))}}function Oe(l,n){if(l&1&&(Us(0,`p`),y_(1),fd()),l&2){let e=qS(2);ZC(),nv(e.filename())}}function Te(l,n){if(l&1){let e=zS();Us(0,`form`,23),Gy(`submit`,function(s){Ip(e);return wp(qS().validate(s))}),Us(1,`p`,24),y_(2),fd(),Us(3,`label`,25),y_(4),Py(5,`input`,26),qT(),Us(6,`span`,27),OS(7,Pe,1,1),fd()(),Us(8,`label`,25),y_(9),Us(10,`select`,28)(11,`option`,29),y_(12,`CAMT.053`),fd(),Us(13,`option`,30),y_(14,`OFX`),fd(),Us(15,`option`,31),y_(16,`CSV`),fd()(),qT(),fd(),OS(17,Ne,43,22,`fieldset`,32),Us(18,`label`,25),y_(19),Us(20,`input`,33,1),Gy(`change`,function(){Ip(e);let s=t_(21);return wp(qS().readFile(s))}),fd()(),OS(22,Oe,2,1,`p`),Us(23,`div`)(24,`button`,34),y_(25),fd()()()}if(l&2){let e=qS();ZC(2),nv(e.i18n.t(`bankWorkspace.statementHint`)),ZC(2),nv(e.i18n.t(`bankWorkspace.account`)),ZC(),Fy(`formField`,e.importForm.account),ky(`aria-invalid`,e.importForm.account().touched()&&e.importForm.account().invalid()),ZT(),ZC(2),kS(e.importForm.account().touched()&&e.importForm.account().invalid()?7:-1),ZC(2),nv(e.i18n.t(`bankWorkspace.format`)),ZC(),Fy(`formField`,e.importForm.format),ZT(),ZC(7),kS(e.importForm.format().value()===`csv`?17:-1),ZC(2),nv(e.i18n.t(`bank.file`)),ZC(),Fy(`disabled`,e.busy()),ZC(2),kS(e.filename()?22:-1),ZC(2),Fy(`disabled`,e.busy()||e.reading()),ZC(),vd(` `,e.i18n.t(`bankWorkspace.validate`),` `)}}function We(l,n){if(l&1&&(Us(0,`p`,9),y_(1),fd()),l&2){let e=qS();ZC(),nv(e.i18n.t(`bank.loading`))}}var ke=class l$1{i18n=g(Ie$1);api=g(w);route=g(G);router=g(ue);params=T(this.route.queryParamMap,{initialValue:this.route.snapshot.queryParamMap});destroyRef=g(pe);confirmation=g(P);busy=Ke(!1);reading=Ke(!1);error=Ke(void 0);filename=Ke(``);preview=Ke(void 0);result=Ke(void 0);stageLabel=Ft(()=>this.result()?`bankWorkspace.doneStep`:this.preview()?`bankWorkspace.reviewStep`:`bankWorkspace.fileStep`);columns=M;previewSort=Ft(()=>k$1(this.params().get(`previewSort`),M));previewRows=Ft(()=>(this.preview()?.rows??[]).toSorted(I(this.previewSort(),M,this.i18n.language(),n=>n.reference)));model=Ke(l({account:this.route.snapshot.queryParamMap.get(`account`)??``,format:`csv`,content:``},lk));importForm=nr(this.model,n=>{gn(n.account),mn(n.account,/\S/),cn(n.account,100),gn(n.content),cn(n.content,5e5),gn(n.referenceColumn),gn(n.bookedOnColumn),gn(n.amountColumn),gn(n.descriptionColumn),an(n,()=>this.busy()||this.reading()||this.preview()!==void 0)});backQuery=H(q(this.route.snapshot.queryParamMap));fileInput=xH(`statementFile`);stage=xH(`stage`);prepared;fileGeneration=0;constructor(){PH(()=>{(this.preview()||this.result())&&this.stage()?.nativeElement.focus()})}async readFile(n){if(this.busy())return;let e=++this.fileGeneration;this.preview.set(void 0),this.prepared=void 0,this.result.set(void 0),this.model.update(s=>m(l({},s),{content:``})),this.filename.set(``),this.error.set(void 0);let a=n.files?.[0];if(!a||a.size===0||a.size>5e5){this.reading.set(!1),this.error.set(`bankWorkspace.fileInvalid`);return}this.reading.set(!0);try{let s=new TextDecoder(`utf-8`,{fatal:!0}).decode(await a.arrayBuffer());if(e!==this.fileGeneration||this.destroyRef.destroyed)return;this.model.update(m$1=>m(l({},m$1),{content:s})),this.filename.set(a.name)}catch{e===this.fileGeneration&&!this.destroyRef.destroyed&&this.error.set(`bankWorkspace.fileInvalid`)}finally{e===this.fileGeneration&&!this.destroyRef.destroyed&&this.reading.set(!1)}}validate(n){if(n.preventDefault(),!(this.busy()||this.reading()||this.preview())){if(this.importForm().markAsTouched(),this.importForm.account().invalid()){this.importForm.account().focusBoundControl();return}if(this.importForm.content().invalid()){this.error.set(`bankWorkspace.fileInvalid`),this.fileInput()?.nativeElement.focus();return}or(this.importForm,async()=>{let e=this.model(),a={account:e.account.trim(),format:e.format,content:e.content,csvConfiguration:e.format===`csv`?{delimiter:e.delimiter,referenceColumn:e.referenceColumn.trim(),bookedOnColumn:e.bookedOnColumn.trim(),amountColumn:e.amountColumn.trim(),currencyColumn:e.currencyColumn.trim(),descriptionColumn:e.descriptionColumn.trim(),dateFormat:e.dateFormat,decimalSeparator:e.decimalSeparator}:null};this.busy.set(!0),this.error.set(void 0);try{let s=await this.api.previewStatement(a);if(this.destroyRef.destroyed)return;if(!s.success){this.error.set(s.code);return}this.prepared=a,this.preview.set(s.result)}catch{this.destroyRef.destroyed||this.error.set(`bank.error`)}finally{this.destroyRef.destroyed||this.busy.set(!1)}})}}async confirm(){let n=this.prepared;if(!(!n||!this.preview()||this.busy())){this.busy.set(!0),this.error.set(void 0);try{let e=await this.api.importStatement(n);if(this.destroyRef.destroyed)return;if(!e.success){this.error.set(e.code);return}this.result.set(e.result),this.preview.set(void 0),this.prepared=void 0,this.importForm().reset(l({account:n.account,format:n.format,content:``},lk)),this.filename.set(``)}catch{this.destroyRef.destroyed||this.error.set(`bank.error`)}finally{this.destroyRef.destroyed||this.busy.set(!1)}}}edit(){this.busy()||(this.preview.set(void 0),this.prepared=void 0)}again(){this.busy()||this.result.set(void 0)}sortDirection(n){return x(this.previewSort(),n)}sortBy(n){let e=L(this.previewSort(),n);this.router.navigate([],{relativeTo:this.route,queryParams:{previewSort:e===`none`?null:e},queryParamsHandling:`merge`,replaceUrl:!0})}money(n,e){return Ne$1(n,this.i18n.language(),e)}unsaved(){return!this.result()&&(this.importForm().dirty()||this.model().content!==``||this.preview()!==void 0)}async canDeactivate(){return!this.busy()&&!this.reading()&&(!this.unsaved()||await this.confirmation.request(this.i18n.t(`bankWorkspace.unsaved`)))}beforeUnload(n){(this.busy()||this.reading()||this.unsaved())&&n.preventDefault()}static ɵfac=function(e){return new(e||l$1)};static ɵcmp=Fb({type:l$1,selectors:[[`app-bank-import`]],viewQuery:function(e,a){e&1&&Ky(a.fileInput,_e,5)(a.stage,he,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:16,vars:8,consts:[[`stage`,``],[`statementFile`,``],[`aria-labelledby`,`import-title`,1,`detail-page`,`wide-page`],[`layout`,`stacked`],[`pageBack`,``,`routerLink`,`/banking`,3,`queryParams`],[`id`,`import-title`],[`tabindex`,`-1`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`novalidate`,``,1,`task-form`],[`role`,`status`],[`appNotice`,``,`variant`,`success`,`role`,`status`],[1,`actions`],[`appButton`,``,`type`,`button`,3,`click`],[`appNotice`,``,`variant`,`info`],[`appButton`,``,`variant`,`primary`,`type`,`button`,3,`click`,`disabled`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`],[`appDataTable`,``,`tableLayout`,`fluid`,1,`wide-table`],[`scope`,`col`,3,`amount`],[`scope`,`col`],[`appTableSort`,``,3,`click`,`label`,`direction`],[`scope`,`row`],[1,`pre-wrap`],[1,`amount`],[`novalidate`,``,1,`task-form`,3,`submit`],[`id`,`statement-hint`],[1,`field`],[`id`,`bank-account`,`aria-describedby`,`account-error`,1,`input`,3,`formField`],[`id`,`account-error`,1,`field-error`],[`appFilterSelect`,``,`id`,`bank-format`,1,`input`,3,`formField`],[`value`,`camt.053`],[`value`,`ofx`],[`value`,`csv`],[1,`field-grid`,`ds-panel`,`form-panel`],[`id`,`bank-file`,`type`,`file`,`accept`,`.csv,.xml,.ofx,text/csv,application/xml,text/xml,application/x-ofx`,`aria-describedby`,`statement-hint`,3,`change`,`disabled`],[`appButton`,``,`variant`,`primary`,`type`,`submit`,3,`disabled`],[`appFilterSelect`,``,1,`input`,3,`formField`],[`value`,`,`],[`value`,`;`],[3,`value`],[1,`input`,3,`formField`],[`value`,`yyyy-MM-dd`],[`value`,`dd/MM/yyyy`],[`value`,`.`],[`href`,`/bank-statement-template.csv`,`download`,``]],template:function(e,a){if(e&1&&(Us(0,`section`,2)(1,`app-page-header`,3)(2,`a`,4),y_(3),fd(),Us(4,`h1`,5),y_(5),fd(),Us(6,`p`),y_(7),fd()(),Us(8,`h2`,6,0),y_(10),fd(),OS(11,Ie,2,1,`p`,7),OS(12,Me,5,2)(13,Be,22,12)(14,Te,26,13,`form`,8),OS(15,We,2,1,`p`,9),fd()),e&2){let s,m;ZC(2),Fy(`queryParams`,a.backQuery),ZC(),nv(a.i18n.t(`bankWorkspace.back`)),ZC(2),nv(a.i18n.t(`bank.import`)),ZC(2),nv(a.i18n.t(`bankWorkspace.accountHint`)),ZC(3),nv(a.i18n.t(a.stageLabel())),ZC(),kS((s=a.error())?11:-1,s),ZC(),kS((m=a.result())?12:(m=a.preview())?13:14,m),ZC(3),kS(a.busy()||a.reading()?15:-1)}},dependencies:[Ae,N,c,yn,k,g$1,Dt,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{ke as BankImport};
@@ -1 +1 @@
1
- import{Dn as g,o as A,ot as OD}from"./chunk-BAHiFuUo.js";import{wi as wu}from"./chunk-BAe_07VM.js";import{Xn as N0,a as $h,ka as _e,mi as Ui}from"./chunk-CjtJKrza.js";import{n as m$1}from"./chunk-Dv9sNWWK.js";var m=class i{http=g(OD);list(){return m$1(this.http.get(`/api/affairs`),$h,N0,`affair.error`)}get(t){return m$1(this.http.get(`/api/affairs/${t}`),Ui,N0,`affair.error`)}create(t){return m$1(this.http.post(`/api/affairs`,t),Ui,N0,`affair.error`)}update(t,f){return m$1(this.http.put(`/api/affairs/${t}`,f),Ui,N0,`affair.error`)}events(t){return m$1(this.http.get(`/api/affairs/${t}/events`),wu.Array(_e),N0,`affair.error`)}static ɵfac=function(f){return new(f||i)};static ɵprov=A({token:i,factory:i.ɵfac,providedIn:`root`})};export{m as t};
1
+ import{Dn as g,o as A,ot as OD}from"./chunk-BAHiFuUo.js";import{wi as wu}from"./chunk-BAe_07VM.js";import{n as m$1}from"./chunk-Dv9sNWWK.js";import{Xn as N0,a as $h,ka as _e,mi as Ui}from"./chunk-D5qmP2Wu.js";var m=class i{http=g(OD);list(){return m$1(this.http.get(`/api/affairs`),$h,N0,`affair.error`)}get(t){return m$1(this.http.get(`/api/affairs/${t}`),Ui,N0,`affair.error`)}create(t){return m$1(this.http.post(`/api/affairs`,t),Ui,N0,`affair.error`)}update(t,f){return m$1(this.http.put(`/api/affairs/${t}`,f),Ui,N0,`affair.error`)}events(t){return m$1(this.http.get(`/api/affairs/${t}/events`),wu.Array(_e),N0,`affair.error`)}static ɵfac=function(f){return new(f||i)};static ɵprov=A({token:i,factory:i.ɵfac,providedIn:`root`})};export{m as t};
@@ -0,0 +1 @@
1
+ import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,Gn as k_,Ir as wp,It as Us,J as Ky,Jr as zS,K as Ke,Nr as vd,P as Hn,Sr as rv,Tn as fd,Vr as xH,Wn as kS,Wr as y_,dr as pe$1,ft as Ol,l as A_,lt as OS,mt as PH,pr as qS,rn as Zw,rr as nv,vt as Py,w as Fb,xn as e_,z as Ip}from"./chunk-BAHiFuUo.js";import{a as T,h as Ne,m as Ie,o as U,r as N,v as Dt,y as G}from"./main-F7D3L737.js";import"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import"./chunk-D5qmP2Wu.js";import"./chunk-DjewtV43.js";import"./chunk-B0bNirg2.js";import"./chunk-BzUDWIzm.js";import"./chunk-CReShp-B.js";import"./chunk-DsaNNeZe.js";import{t as D}from"./chunk-AJOoJgZJ.js";import{d as nr,n as an,o as gn}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"./chunk-cTGENC4T2.js";import{t as K}from"./chunk-Ck6cItVE2.js";import{t as q}from"./chunk-XtjMOmku2.js";import{t as R}from"./chunk-NDpjbcAr2.js";import"./chunk-DpLF2wJ62.js";import{a as q$1,i as f,o as x,t as L}from"./chunk-CtmP6l7_2.js";import{t as f$1}from"./chunk-CDK48Khc.js";import{n as m,t as l}from"./chunk-9d_UD-MQ.js";var ce=[`progress`];var de=o=>[`/services/stripe/tests`,o];var se=o=>[`/invoices`,o];function le(o,n){if(o&1){let t=zS();Us(0,`p`,8),y_(1),fd(),Us(2,`button`,9),Gy(`click`,function(){Ip(t);return wp(qS().load())}),y_(3),fd()}if(o&2){let t=qS();ZC(),nv(t.i18n.t(n)),ZC(),Fy(`disabled`,t.loading()||t.saving()),ZC(),vd(` `,t.i18n.t(`checkout.refresh`),` `)}}function pe(o,n){if(o&1&&(Us(0,`p`),y_(1),fd(),Us(2,`p`),y_(3),fd()),o&2){let t=n,e=qS();ZC(),nv(e.i18n.t(e.keyLabel(t))),ZC(2),nv(e.i18n.t(e.webhookLabel(t)))}}function ue(o,n){if(o&1&&(Us(0,`p`,11,0),y_(2),fd()),o&2){let t=n,e=qS(2);ZC(2),rv(` `,t.invoiceNumber,` — `,e.i18n.t(e.statusLabel(t.status)),` `)}}function me(o,n){if(o&1&&(Us(0,`p`,10),y_(1),fd(),OS(2,ue,3,2,`p`,11),Us(3,`a`,12),y_(4),fd()),o&2){let t,e=qS();ZC(),nv(e.i18n.t(`configurationWorkspace.testComplete`)),ZC(),kS((t=e.current())?2:-1,t),ZC(),Fy(`routerLink`,k_(5,de,e.selected()))(`queryParams`,e.testParams()),ZC(),nv(e.i18n.t(`configurationWorkspace.testDetail`))}}function he(o,n){if(o&1&&(Us(0,`p`,15),y_(1),fd()),o&2){let t=qS(2);ZC(),nv(t.i18n.t(`checkout.noInvoices`))}}function ve(o,n){if(o&1&&y_(0),o&2)vd(` `,qS(2).i18n.t(`checkout.invoiceRequired`),` `)}function ge(o,n){if(o&1&&(Us(0,`section`,18)(1,`h2`),y_(2),fd(),Us(3,`dl`)(4,`dt`),y_(5),fd(),Us(6,`dd`),y_(7),fd(),Us(8,`dt`),y_(9),fd(),Us(10,`dd`),y_(11),fd(),Us(12,`dt`),y_(13),fd(),Us(14,`dd`),y_(15),fd(),Us(16,`dt`),y_(17),fd(),Us(18,`dd`),y_(19),fd(),Us(20,`dt`),y_(21),fd(),Us(22,`dd`),y_(23),fd(),Us(24,`dt`),y_(25),fd(),Us(26,`dd`),y_(27),fd()()(),Us(28,`a`,19),y_(29),fd()),o&2){let t=n,e=qS(2);ZC(2),nv(e.i18n.t(`configurationWorkspace.preview`)),ZC(3),nv(e.i18n.t(`checkout.invoice`)),ZC(2),nv(t.invoiceNumber),ZC(2),nv(e.i18n.t(`checkout.client`)),ZC(2),nv(t.clientDisplayName),ZC(2),nv(e.i18n.t(`checkout.total`)),ZC(2),nv(e.money(t.totalCents)),ZC(2),nv(e.i18n.t(`checkout.recordedPaid`)),ZC(2),nv(e.money(t.recordedPaidCents)),ZC(2),nv(e.i18n.t(`checkout.amount`)),ZC(2),nv(e.money(e.balance(t))),ZC(2),nv(e.i18n.t(`checkout.version`)),ZC(2),nv(t.version),ZC(),Fy(`routerLink`,k_(15,se,t.id)),ZC(),nv(e.i18n.t(`checkout.viewInvoice`))}}function ye(o,n){if(o&1&&(Us(0,`p`,15),y_(1),fd()),o&2){let t=qS(2);ZC(),nv(t.i18n.t(`checkout.active`))}}function fe(o,n){if(o&1&&(Us(0,`p`,6),y_(1),fd()),o&2){let t=qS(2);ZC(),nv(t.i18n.t(`checkout.pending`))}}function _e(o,n){if(o&1){let t=zS();Us(0,`form`,13),Gy(`submit`,function(l){Ip(t);return wp(qS().create(l))}),Us(1,`app-object-picker`,14),Gy(`selected`,function(l){Ip(t);return wp(qS().chooseInvoice(l))}),fd(),OS(2,he,2,1,`p`,15),Us(3,`p`,16),OS(4,ve,1,1),fd(),OS(5,ge,30,17),Us(6,`p`),y_(7),fd(),OS(8,ye,2,1,`p`,15),OS(9,fe,2,1,`p`,6),Us(10,`button`,17),y_(11),fd()()}if(o&2){let t,e=qS();ZC(),Fy(`label`,e.i18n.t(`checkout.chooseInvoice`))(`options`,e.invoiceOptions())(`disabled`,e.saving()||e.loading()||!e.recoveryReady()||e.pending()!==void 0),ZC(),kS(!e.loading()&&e.invoices().length===0?2:-1),ZC(2),kS(e.checkoutForm.invoiceId().touched()&&e.checkoutForm.invoiceId().invalid()?4:-1),ZC(),kS((t=e.invoice())?5:-1,t),ZC(2),nv(e.i18n.t(`checkout.transmitted`)),ZC(),kS(e.active()?8:-1),ZC(),kS(e.pending()?9:-1),ZC(),Fy(`disabled`,e.saving()||e.loading()||!e.ready()||!e.recoveryReady()||!e.connection()?.testKey||e.active()&&!e.pending()),ZC(),vd(` `,e.i18n.t(e.submitLabel()),` `)}}function Ce(o,n){if(o&1&&(Us(0,`p`,6),y_(1),fd()),o&2){let t=qS();ZC(),nv(t.i18n.t(`checkout.paused`))}}var re=class o{i18n=g(Ie);api=g(f);invoicesApi=g(R);confirmation=g(P);destroyRef=g(pe$1);requests=g(q);route=g(G);history=g(f$1);completed=Ke(!1);requestStore;recoveryReady=Ke(!1);connection=Ke(void 0);invoices=Ke([]);queryParams=T(this.route.queryParamMap,{requireSync:!0});testParams=Ft(()=>l(`stripe`,this.queryParams()));tabs=Ft(()=>m(`stripe`,this.i18n,this.selected()));loading=Ke(!0);ready=Ke(!1);saving=Ke(!1);error=Ke(void 0);pending=Ke(void 0);selected=Ke(void 0);current=Ft(()=>this.history.operations().find(n=>n.request.requestId===this.selected()));model=Ke({invoiceId:``});checkoutForm=nr(this.model,n=>{gn(n.invoiceId),an(n.invoiceId,()=>this.saving()||!this.recoveryReady()||this.pending()!==void 0||this.completed())});invoice=Ft(()=>this.invoices().find(n=>n.id===this.model().invoiceId));invoiceOptions=Ft(()=>this.invoices().map(n=>({id:n.id,label:`${n.invoiceNumber} \u2014 ${n.clientDisplayName}`,detail:this.money(this.balance(n))})));active=Ft(()=>this.history.operations().some(n=>n.request.invoiceId===this.model().invoiceId&&[`queued`,`creating`,`retrying`,`open`].includes(n.status)));statusLabel=x;keyLabel=q$1;webhookLabel=L;submitLabel=Ft(()=>this.saving()?`checkout.saving`:this.pending()?`checkout.retryRequest`:`checkout.create`);progress=xH(`progress`,{read:Hn});invoiceInput=xH(K);constructor(){PH(()=>{this.completed()&&this.progress()?.nativeElement.focus()}),Ol(()=>{this.load(),this.history.watch(()=>this.saving()).pipe(U(this.destroyRef)).subscribe(n=>{this.reconcileRequest(n)})})}async restoreRequest(){this.recoveryReady.set(!1);try{this.requestStore=await this.requests.checkout();let n=this.requestStore.read();n!==void 0&&(this.pending.set(n),this.model.set({invoiceId:n.invoiceId}),this.selected.set(n.requestId)),this.recoveryReady.set(!0),this.reconcileRequest(this.history.operations())}catch{this.error.set(`checkout.recoveryUnavailable`)}}reconcileRequest(n){let t=this.pending();t===void 0||!n.some(e=>e.request.requestId===t.requestId)||!this.clearPending()||(this.selected.set(t.requestId),this.completed.set(!0),this.checkoutForm().reset(),this.error.set(void 0))}clearPending(){try{if(this.requestStore===void 0)throw new Error(`pending_request.storage_unavailable`);return this.requestStore.clear(),this.pending.set(void 0),!0}catch{return this.error.set(`checkout.recoveryUnavailable`),!1}}async load(){this.loading.set(!0),this.ready.set(!1),this.error.set(void 0),this.history.refresh(),this.recoveryReady()||await this.restoreRequest();try{let[n,t]=await Promise.all([this.api.connection(),this.invoicesApi.list()]);this.connection.set(n),this.ready.set(!0),this.invoices.set(t.filter(e=>e.status===`issued`&&e.creditedCents===0&&this.balance(e)>=50&&this.balance(e)<=99999999))}catch{this.error.set(`checkout.loadError`)}finally{this.loading.set(!1)}}balance(n){return n.totalCents-n.recordedPaidCents}money(n){return Ne(n,this.i18n.language(),`EUR`)}chooseInvoice(n){this.saving()||this.pending()||this.completed()||!this.recoveryReady()||this.invoices().some(t=>t.id===n)&&(this.model.set({invoiceId:n}),this.checkoutForm.invoiceId().markAsDirty())}async create(n){if(n.preventDefault(),this.saving()||this.completed()||this.loading()||!this.ready()||!this.recoveryReady()||!this.connection()?.testKey)return;let t=this.invoice();if(this.pending()===void 0&&(this.checkoutForm().invalid()||t===void 0)){this.checkoutForm.invoiceId().markAsTouched(),this.invoiceInput()?.focus();return}if(!(this.pending()===void 0&&this.active())){this.saving.set(!0),this.history.invalidate();try{let e=this.pending()??(t===void 0?void 0:{requestId:crypto.randomUUID(),invoiceId:t.id,expectedVersion:t.version});if(e===void 0||!await this.confirmation.request(this.i18n.t(`checkout.confirm`),{acceptLabel:this.i18n.t(`checkout.create`)}))return;try{if(this.requestStore===void 0)throw new Error(`pending_request.storage_unavailable`);this.requestStore.write(e)}catch{this.error.set(`checkout.recoveryUnavailable`);return}this.pending.set(e),this.error.set(void 0);let l=await this.api.create(e);if(!l.success){this.error.set(l.code),l.code!==`checkout.error`&&this.clearPending();return}this.clearPending(),this.history.record(l.result),this.selected.set(e.requestId),this.completed.set(!0),this.checkoutForm().reset(),this.history.refresh(),this.progress()?.nativeElement.focus()}finally{this.history.invalidate(),this.saving.set(!1)}}}canDeactivate(){return!this.saving()&&(!this.checkoutForm().dirty()&&this.pending()===void 0||this.confirmation.request(this.i18n.t(`checkout.unsaved`)))}beforeUnload(n){(this.saving()||this.checkoutForm().dirty()||this.pending()!==void 0)&&n.preventDefault()}static ɵfac=function(t){return new(t||o)};static ɵcmp=Fb({type:o,selectors:[[`app-checkout`]],viewQuery:function(t,e){t&1&&Ky(e.progress,ce,5,Hn)(e.invoiceInput,K,5),t&2&&e_(2)},hostAttrs:[1,`page-container`],hostBindings:function(t,e){t&1&&Gy(`beforeunload`,function(v){return e.beforeUnload(v)},Zw)},features:[A_([f$1])],decls:16,vars:15,consts:[[`progress`,``],[`aria-labelledby`,`checkout-title`,1,`detail-page`,`form-page`],[`layout`,`stacked`],[`pageBack`,``,`routerLink`,`/services/stripe/tests`,3,`queryParams`],[`id`,`checkout-title`],[3,`label`,`tabs`,`preserveQuery`,`preserveFragment`,`disabled`],[`appNotice`,``,`variant`,`warning`],[`novalidate`,``],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`],[`appNotice`,``,`variant`,`success`],[`role`,`status`,`tabindex`,`-1`],[`appLinkButton`,``,`variant`,`primary`,3,`routerLink`,`queryParams`],[`novalidate`,``,3,`submit`],[3,`selected`,`label`,`options`,`disabled`],[`appNotice`,``],[`id`,`checkout-invoice-error`,1,`field-error`],[`appButton`,``,`variant`,`primary`,`type`,`submit`,3,`disabled`],[1,`preview-surface`,`ds-panel`],[3,`routerLink`]],template:function(t,e){if(t&1&&(Us(0,`section`,1)(1,`app-page-header`,2)(2,`a`,3),y_(3),fd(),Us(4,`h1`,4),y_(5),fd(),Us(6,`p`),y_(7),fd()(),Py(8,`app-tabs`,5),Us(9,`p`,6),y_(10),fd(),OS(11,le,4,3),OS(12,pe,4,2),OS(13,me,5,7)(14,_e,12,11,`form`,7),OS(15,Ce,2,1,`p`,6),fd()),t&2){let l,v;ZC(2),Fy(`queryParams`,e.testParams()),ZC(),nv(e.i18n.t(`configurationWorkspace.backTests`)),ZC(2),rv(` `,e.i18n.t(`connections.stripe`),` — `,e.i18n.t(`configurationWorkspace.newTest`),` `),ZC(2),nv(e.i18n.t(`checkout.invoiceHint`)),ZC(),Fy(`label`,e.i18n.t(`configurationWorkspace.services`))(`tabs`,e.tabs())(`preserveQuery`,!0)(`preserveFragment`,!0)(`disabled`,e.saving()),ZC(2),nv(e.i18n.t(`checkout.safety`)),ZC(),kS((l=e.error())?11:-1,l),ZC(),kS((v=e.connection())?12:-1,v),ZC(),kS(e.completed()?13:14),ZC(2),kS(e.history.paused()?15:-1)}},dependencies:[Dt,N,k,K,g$1,D],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}[_nghost-%COMP%] > section[_ngcontent-%COMP%]:not(.detail-page){padding:var(--%NS%space-6) var(--%NS%page-x)}section[_ngcontent-%COMP%]:not(.detail-page) > *[_ngcontent-%COMP%] + *[_ngcontent-%COMP%]{margin-block-start:var(--%NS%space-6)}h2[_ngcontent-%COMP%]{font-size:var(--%NS%text-xl)}h3[_ngcontent-%COMP%]{font-size:var(--%NS%text-lg)}p[_ngcontent-%COMP%]{text-wrap:pretty}.actions[_ngcontent-%COMP%]{display:flex;align-items:center;flex-wrap:wrap;gap:var(--%NS%space-4)}button[_ngcontent-%COMP%], a[_ngcontent-%COMP%]{overflow-wrap:anywhere}button[_ngcontent-%COMP%]{white-space:normal}code[_ngcontent-%COMP%], dd[_ngcontent-%COMP%]{overflow-wrap:anywhere}dl[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(8rem,14rem) minmax(0,1fr);gap:var(--%NS%space-2) var(--%NS%space-4)}dt[_ngcontent-%COMP%]{font-weight:600}dd[_ngcontent-%COMP%]{margin:0}.ds-panel[_ngcontent-%COMP%]{padding:var(--%NS%space-4)}.ds-panel[_ngcontent-%COMP%] > *[_ngcontent-%COMP%] + *[_ngcontent-%COMP%]{margin-block-start:var(--%NS%space-3)}@media(max-width:40rem){dl[_ngcontent-%COMP%]{grid-template-columns:minmax(0,1fr)}dd[_ngcontent-%COMP%] + dt[_ngcontent-%COMP%]{margin-block-start:var(--%NS%space-2)}}p[_ngcontent-%COMP%]{max-inline-size:none}form[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);justify-items:start}.field[_ngcontent-%COMP%]{width:100%}.field-error[_ngcontent-%COMP%]:empty{display:none}tbody[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{background:inherit;color:inherit;font-size:inherit;text-transform:none}th[_ngcontent-%COMP%], td[_ngcontent-%COMP%]{vertical-align:top}`]})};export{re as Checkout};