@sachahjkl/backoffice 0.2.5 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (280) hide show
  1. package/README.md +3 -1
  2. package/bin/backoffice.mjs +2 -2
  3. package/dist/demo-reset.cjs +65895 -0
  4. package/dist/main.cjs +71 -39
  5. package/dist/migrate.cjs +17 -3
  6. package/dist/web/{chunk-Bans5XmP2.js → chunk--RuvStn6.js} +1 -1
  7. package/dist/web/{chunk-BidSGJER.js → chunk-4ipZT9nT.js} +1 -1
  8. package/dist/web/chunk-6jIo5mZ42.js +1 -0
  9. package/dist/web/{chunk-D0WfOSVe.js → chunk-9X4vLcFh.js} +1 -1
  10. package/dist/web/chunk-9d_UD-MQ.js +1 -0
  11. package/dist/web/{chunk-CuukTiS1.js → chunk-AJOoJgZJ.js} +1 -1
  12. package/dist/web/{chunk-2sHWWuzv2.js → chunk-B0bNirg2.js} +1 -1
  13. package/dist/web/chunk-B3OxeBLO2.js +1 -0
  14. package/dist/web/chunk-B5xzAYYx2.js +1 -0
  15. package/dist/web/{chunk-BQRlJCOd.js → chunk-B6Rml85x2.js} +1 -1
  16. package/dist/web/chunk-B8_dFe5w.js +1 -0
  17. package/dist/web/chunk-B91VAo1J.js +1 -0
  18. package/dist/web/chunk-B9NV1rY62.js +1 -0
  19. package/dist/web/chunk-BAn0tBhX.js +1 -0
  20. package/dist/web/chunk-BGVaNZdj.js +1 -0
  21. package/dist/web/chunk-BHDXYrox.js +1 -0
  22. package/dist/web/chunk-BI9lIdFn.js +1 -0
  23. package/dist/web/{chunk-CYB9QO85.js → chunk-BKufCOYq.js} +1 -1
  24. package/dist/web/chunk-BNksdK_D2.js +1 -0
  25. package/dist/web/chunk-BQ7WWH4L.js +1 -0
  26. package/dist/web/chunk-BQrmVphu2.js +1 -0
  27. package/dist/web/chunk-BR0demlX.js +1 -0
  28. package/dist/web/chunk-BT8KtCYG.js +1 -0
  29. package/dist/web/{chunk-Bm0a1bep.js → chunk-BVszSMJC.js} +1 -1
  30. package/dist/web/{chunk-CJDa7FT62.js → chunk-BYjxXKZ4.js} +1 -1
  31. package/dist/web/chunk-BZZJ287h.js +1 -0
  32. package/dist/web/chunk-Bb31fHqC2.js +1 -0
  33. package/dist/web/chunk-BcUjdID-.js +1 -0
  34. package/dist/web/{chunk-BzOWqX4m2.js → chunk-Bck0-DJt2.js} +1 -1
  35. package/dist/web/chunk-Bf3eV_su2.js +1 -0
  36. package/dist/web/chunk-BfSewUhY.js +1 -0
  37. package/dist/web/{chunk-osh5v_OU2.js → chunk-Bfx7EEIR.js} +1 -1
  38. package/dist/web/chunk-Bi4Jixry2.js +1 -0
  39. package/dist/web/chunk-BiECfDS7.js +1 -0
  40. package/dist/web/{chunk-CGgGK0-O2.js → chunk-Bj7Oze2U2.js} +1 -1
  41. package/dist/web/{chunk-BYalGDdQ.js → chunk-Bjo6eVnk.js} +1 -1
  42. package/dist/web/{chunk-BbKL19W02.js → chunk-BkvskoFt2.js} +1 -1
  43. package/dist/web/chunk-Bn46cQyx.js +1 -0
  44. package/dist/web/chunk-Bn6RkvPA2.js +1 -0
  45. package/dist/web/{chunk-B08xNtqD2.js → chunk-BpZ7MSOP.js} +1 -1
  46. package/dist/web/{chunk-DCE1ImZZ2.js → chunk-Bq2zV2_3.js} +1 -1
  47. package/dist/web/chunk-By2EFyNM.js +1 -0
  48. package/dist/web/{chunk-DQwyRMR6.js → chunk-C-O6GrQC2.js} +1 -1
  49. package/dist/web/{chunk-CtR8WyO5.js → chunk-C0Ceu-vg.js} +1 -1
  50. package/dist/web/chunk-C0gTeWW62.js +1 -0
  51. package/dist/web/{chunk-ClevJX5T2.js → chunk-C19Alcnx2.js} +1 -1
  52. package/dist/web/{chunk-BKWyrwrz.js → chunk-CABvk97t2.js} +1 -1
  53. package/dist/web/chunk-CApvwK4D.js +1 -0
  54. package/dist/web/chunk-CCkaRRSy.js +1 -0
  55. package/dist/web/chunk-CCqlW8pS2.js +3 -0
  56. package/dist/web/chunk-CCr_R2Cg.js +1 -0
  57. package/dist/web/chunk-CDK48Khc.js +1 -0
  58. package/dist/web/chunk-CDS6LjBz2.js +1 -0
  59. package/dist/web/chunk-CE9WzUCM.js +1 -0
  60. package/dist/web/chunk-CEJjSd8-2.js +1 -0
  61. package/dist/web/{chunk-Ce_TeGo52.js → chunk-CG4Kbo1n2.js} +1 -1
  62. package/dist/web/chunk-CGfyD3XX2.js +1 -0
  63. package/dist/web/chunk-CK6Sjqig.js +1 -0
  64. package/dist/web/chunk-CKFB1V-p2.js +1 -0
  65. package/dist/web/chunk-CL02A9wI.js +1 -0
  66. package/dist/web/{chunk-CrhlmMPy2.js → chunk-CLHj5Ycx2.js} +1 -1
  67. package/dist/web/chunk-CLZ5xsSQ2.js +1 -0
  68. package/dist/web/{chunk-JUTCkl5C2.js → chunk-CMvRZBpn.js} +1 -1
  69. package/dist/web/chunk-CNfmNEak.js +1 -0
  70. package/dist/web/chunk-COTrF1xY2.js +1 -0
  71. package/dist/web/{chunk-CC05ZHq-.js → chunk-COXN76fu2.js} +1 -1
  72. package/dist/web/{chunk-BkKRFLuX2.js → chunk-CPHUl7N2.js} +1 -1
  73. package/dist/web/chunk-CUqj_Bxs2.js +1 -0
  74. package/dist/web/{chunk-C2gUrdSR2.js → chunk-CVHqiS63.js} +1 -1
  75. package/dist/web/chunk-CV_fLVFT.js +1 -0
  76. package/dist/web/{chunk-CJKvPHwX.js → chunk-CYGyIy7J.js} +1 -1
  77. package/dist/web/chunk-CYRUKYKv2.js +1 -0
  78. package/dist/web/{chunk-xlLlHW0G2.js → chunk-C_QyIKvy.js} +1 -1
  79. package/dist/web/chunk-Ca3lwqEF.js +1 -0
  80. package/dist/web/chunk-CaJrmM9V.js +1 -0
  81. package/dist/web/{chunk-Ok502fV82.js → chunk-CfcCxe_k.js} +1 -1
  82. package/dist/web/chunk-Ck6cItVE2.js +2 -0
  83. package/dist/web/{chunk-S5Gmkpdy2.js → chunk-CkWd-yMn.js} +1 -1
  84. package/dist/web/{chunk-C7DvmZKC.js → chunk-CmokTGIG.js} +1 -1
  85. package/dist/web/chunk-CpXqQPuw.js +1 -0
  86. package/dist/web/{chunk-Dyia17vy.js → chunk-CtmP6l7_2.js} +1 -1
  87. package/dist/web/chunk-CubfQf-X2.js +1 -0
  88. package/dist/web/chunk-CuepVIkm2.js +1 -0
  89. package/dist/web/chunk-CvMAjyvr2.js +1 -0
  90. package/dist/web/chunk-CvsVlcIU2.js +1 -0
  91. package/dist/web/chunk-CwzCbuXH.js +1 -0
  92. package/dist/web/{chunk-BxQ7up-t.js → chunk-Cx07K71K.js} +1 -1
  93. package/dist/web/chunk-D-VHaopx.js +1 -0
  94. package/dist/web/chunk-D1DvlGbP.js +1 -0
  95. package/dist/web/{chunk-CfAqWkFp.js → chunk-D1wrPwB5.js} +1 -1
  96. package/dist/web/{chunk-BbWEBemE.js → chunk-D3XjW5Cm.js} +1 -1
  97. package/dist/web/{chunk-DRgIjFR6.js → chunk-D5MFwK9L.js} +1 -1
  98. package/dist/web/{chunk-CjtJKrza.js → chunk-D5qmP2Wu.js} +2 -2
  99. package/dist/web/{chunk-BbbRo5jM2.js → chunk-D6k6pmdU.js} +1 -1
  100. package/dist/web/chunk-D8kEdb5y2.js +1 -0
  101. package/dist/web/chunk-D8t0s8LD.js +1 -0
  102. package/dist/web/{chunk-Z9CNux5n2.js → chunk-D8xHm8jb2.js} +1 -1
  103. package/dist/web/{chunk-BMYHfrEK.js → chunk-D97UUzIx.js} +1 -1
  104. package/dist/web/chunk-DB6sOjsn2.js +1 -0
  105. package/dist/web/{chunk-D4J7xo6v.js → chunk-DDCyjjcE.js} +1 -1
  106. package/dist/web/chunk-DEXzwHB0.js +1 -0
  107. package/dist/web/{chunk-DODMV1QO.js → chunk-DGbo0App2.js} +1 -1
  108. package/dist/web/chunk-DIBFSF2Z.js +1 -0
  109. package/dist/web/{chunk-bP01prsY.js → chunk-DIJSXeQC2.js} +1 -1
  110. package/dist/web/{chunk-CvjKWUFl.js → chunk-DKlxu0GP2.js} +1 -1
  111. package/dist/web/{chunk-BtRCqgfa.js → chunk-DM4Wc9U7.js} +1 -1
  112. package/dist/web/{chunk-DUJbqlfC.js → chunk-DM5aibnW.js} +1 -1
  113. package/dist/web/chunk-DMXgU6Nc2.js +1 -0
  114. package/dist/web/chunk-DMskLhpk2.js +1 -0
  115. package/dist/web/{chunk-HhmMH02E.js → chunk-DOCau85G2.js} +1 -1
  116. package/dist/web/{chunk-B86wqImw.js → chunk-DOinRyX_2.js} +1 -1
  117. package/dist/web/chunk-DQp-2GVv.js +1 -0
  118. package/dist/web/chunk-DQr_9Q6T.js +1 -0
  119. package/dist/web/chunk-DSpA-ZPx.js +1 -0
  120. package/dist/web/chunk-DTPC4JtI2.js +1 -0
  121. package/dist/web/chunk-DURq7J8U2.js +1 -0
  122. package/dist/web/chunk-DVJ4YZuU.js +1 -0
  123. package/dist/web/chunk-DVyDnsGh.js +1 -0
  124. package/dist/web/{chunk-oS95kAu6.js → chunk-DXvlXoVT2.js} +1 -1
  125. package/dist/web/{chunk-CHUMIo442.js → chunk-DZgMGE6C.js} +1 -1
  126. package/dist/web/{chunk-BK0Mi7Tk.js → chunk-DZgf7AIe.js} +1 -1
  127. package/dist/web/{chunk-CBXOl0VL.js → chunk-D_8jIApo.js} +1 -1
  128. package/dist/web/chunk-D_vyhgGx.js +1 -0
  129. package/dist/web/chunk-Db2zQ-8C.js +1 -0
  130. package/dist/web/{chunk-BEAkjhZc2.js → chunk-DboSVJMM.js} +1 -1
  131. package/dist/web/chunk-DdOc1fs-.js +1 -0
  132. package/dist/web/chunk-DddDKWSn2.js +1 -0
  133. package/dist/web/{chunk-DAdKllIN.js → chunk-DerJPaBw.js} +1 -1
  134. package/dist/web/chunk-Dh86w63y.js +1 -0
  135. package/dist/web/{chunk-DXsw8_Za2.js → chunk-DhLlQTD-2.js} +1 -1
  136. package/dist/web/{chunk-9qDelKdu.js → chunk-DhkjPUn4.js} +1 -1
  137. package/dist/web/{chunk-BAKoExNF.js → chunk-Di9FA_QV.js} +1 -1
  138. package/dist/web/chunk-DjwvqY3z2.js +1 -0
  139. package/dist/web/{chunk-CH-_LXUF.js → chunk-Dl4EbYnM2.js} +1 -1
  140. package/dist/web/chunk-Dl4V93zm2.js +1 -0
  141. package/dist/web/{chunk-CsiZwjWr2.js → chunk-Dns8uMf32.js} +1 -1
  142. package/dist/web/chunk-Dnzjseqf2.js +1 -0
  143. package/dist/web/chunk-DpI44v1z.js +1 -0
  144. package/dist/web/{chunk-BqIPzI6E2.js → chunk-DpLF2wJ62.js} +1 -1
  145. package/dist/web/chunk-Dqhs2Pyw2.js +1 -0
  146. package/dist/web/{chunk-BWNhkOOr.js → chunk-DsaNNeZe.js} +1 -1
  147. package/dist/web/{chunk-GjZTRlHL.js → chunk-DubWLqvO.js} +1 -1
  148. package/dist/web/{chunk-DibPYvNu.js → chunk-Fc120Hsi2.js} +1 -1
  149. package/dist/web/{chunk-B23x0ZHj2.js → chunk-HmRGBt692.js} +1 -1
  150. package/dist/web/chunk-IlM3eTPp2.js +1 -0
  151. package/dist/web/chunk-IzGdqlW82.js +1 -0
  152. package/dist/web/{chunk-u_CBgBep.js → chunk-MpUdRrak2.js} +1 -1
  153. package/dist/web/{chunk-BlE9HnAo.js → chunk-NDpjbcAr2.js} +1 -1
  154. package/dist/web/chunk-P1du2kWg2.js +1 -0
  155. package/dist/web/{chunk-BCemdpJW.js → chunk-POMKwNf_.js} +1 -1
  156. package/dist/web/chunk-PqGGk0JD.js +1 -0
  157. package/dist/web/{chunk-BG9HC5MH2.js → chunk-RIi7_iVg.js} +1 -1
  158. package/dist/web/chunk-SZJG1lFa2.js +1 -0
  159. package/dist/web/{chunk-jEvWOBug.js → chunk-WNYFaDlu2.js} +1 -1
  160. package/dist/web/{chunk-Cx_tkq5a.js → chunk-XtjMOmku2.js} +1 -1
  161. package/dist/web/chunk-XvyWOb2Q.js +1 -0
  162. package/dist/web/{chunk-BPI0E5qw.js → chunk-ZcJhJsoo.js} +1 -1
  163. package/dist/web/{chunk-Dk7Fe34Y.js → chunk-aW8Vltn22.js} +1 -1
  164. package/dist/web/chunk-a_Va_Nj7.js +1 -0
  165. package/dist/web/{chunk-D83vXRZS2.js → chunk-enci06qG.js} +1 -1
  166. package/dist/web/chunk-fYJ7OBkh.js +1 -0
  167. package/dist/web/{chunk-THRzZN4s.js → chunk-k6TIcaIA.js} +1 -1
  168. package/dist/web/{chunk-BsXdvb75.js → chunk-nC_XlFOG.js} +1 -1
  169. package/dist/web/{chunk-DzxhjLIR.js → chunk-niXXbm7H.js} +1 -1
  170. package/dist/web/chunk-owvOEsA9.js +1 -0
  171. package/dist/web/{chunk-D8ywkT0Z2.js → chunk-pV57uiBu2.js} +1 -1
  172. package/dist/web/{chunk-CdEOFR_J.js → chunk-qKosqkwC.js} +1 -1
  173. package/dist/web/{chunk-BMsK7VjB2.js → chunk-r6H-BfOd.js} +1 -1
  174. package/dist/web/chunk-tDREPM-0.js +1 -0
  175. package/dist/web/{chunk-78yNgJiB.js → chunk-xTX16tt2.js} +1 -1
  176. package/dist/web/chunk-y0Vyi0HZ.js +1 -0
  177. package/dist/web/chunk-yfBrkklv.js +1 -0
  178. package/dist/web/index.csr.html +1 -1
  179. package/dist/web/{main-AJD2LGCE.js → main-F7D3L737.js} +4 -4
  180. package/package.json +1 -1
  181. package/dist/web/chunk-0C-62od6.js +0 -1
  182. package/dist/web/chunk-B1Kpw1um2.js +0 -1
  183. package/dist/web/chunk-B43WHzJp.js +0 -1
  184. package/dist/web/chunk-B6BtInzP2.js +0 -1
  185. package/dist/web/chunk-BAjZiy9u2.js +0 -1
  186. package/dist/web/chunk-BE8oALxd.js +0 -1
  187. package/dist/web/chunk-BIydbtyu.js +0 -1
  188. package/dist/web/chunk-BMU6gPN0.js +0 -1
  189. package/dist/web/chunk-BRUZgvLR2.js +0 -1
  190. package/dist/web/chunk-BSxXPdhz2.js +0 -1
  191. package/dist/web/chunk-BTDByxsO2.js +0 -1
  192. package/dist/web/chunk-BUnVNwR0.js +0 -1
  193. package/dist/web/chunk-BV-2_l7u2.js +0 -1
  194. package/dist/web/chunk-B_pX979y.js +0 -1
  195. package/dist/web/chunk-Ba4cFLiE2.js +0 -1
  196. package/dist/web/chunk-BaLdnNAA.js +0 -1
  197. package/dist/web/chunk-BhCP8fQA.js +0 -1
  198. package/dist/web/chunk-BhwbhxlY2.js +0 -1
  199. package/dist/web/chunk-Bjio-Q3F.js +0 -1
  200. package/dist/web/chunk-BjiyoDeK2.js +0 -1
  201. package/dist/web/chunk-BnPSwNBN.js +0 -1
  202. package/dist/web/chunk-BqbhE2jJ.js +0 -1
  203. package/dist/web/chunk-BrRhr7VS.js +0 -1
  204. package/dist/web/chunk-Bt1ivJuj2.js +0 -1
  205. package/dist/web/chunk-BtH61zrc.js +0 -1
  206. package/dist/web/chunk-BuKqE_YG2.js +0 -1
  207. package/dist/web/chunk-ByBw4qTD.js +0 -1
  208. package/dist/web/chunk-ByfP_6io2.js +0 -1
  209. package/dist/web/chunk-Bylz8GTy2.js +0 -1
  210. package/dist/web/chunk-C1jIGjiG.js +0 -1
  211. package/dist/web/chunk-C2WwmFiS.js +0 -1
  212. package/dist/web/chunk-C3v6o8sk.js +0 -1
  213. package/dist/web/chunk-C7TzEeP_2.js +0 -1
  214. package/dist/web/chunk-C8AJBuJL2.js +0 -1
  215. package/dist/web/chunk-C9_g77K0.js +0 -1
  216. package/dist/web/chunk-CAr--Z8G2.js +0 -1
  217. package/dist/web/chunk-CIIIDIUz.js +0 -1
  218. package/dist/web/chunk-CUvLKCob2.js +0 -1
  219. package/dist/web/chunk-CV-g60E82.js +0 -1
  220. package/dist/web/chunk-CV1Zh4JH.js +0 -1
  221. package/dist/web/chunk-CVZQi-q62.js +0 -1
  222. package/dist/web/chunk-CY4lfBdp2.js +0 -1
  223. package/dist/web/chunk-Cc534gtY.js +0 -1
  224. package/dist/web/chunk-CcvGqiZH.js +0 -1
  225. package/dist/web/chunk-CdDlz5SQ2.js +0 -1
  226. package/dist/web/chunk-CdeX3SOP.js +0 -1
  227. package/dist/web/chunk-CgThkMbX2.js +0 -1
  228. package/dist/web/chunk-Chasvinb.js +0 -1
  229. package/dist/web/chunk-CihZnkoG2.js +0 -1
  230. package/dist/web/chunk-ClYiqUra.js +0 -1
  231. package/dist/web/chunk-CmhHSFX72.js +0 -1
  232. package/dist/web/chunk-CsdHWYnL.js +0 -1
  233. package/dist/web/chunk-CuQMh9Mm2.js +0 -1
  234. package/dist/web/chunk-D2Albj_1.js +0 -1
  235. package/dist/web/chunk-D2P8u0ih2.js +0 -1
  236. package/dist/web/chunk-D2reBpeg2.js +0 -1
  237. package/dist/web/chunk-D6HQPG4L.js +0 -1
  238. package/dist/web/chunk-DFQAtlu22.js +0 -1
  239. package/dist/web/chunk-DIyfCN-v.js +0 -1
  240. package/dist/web/chunk-DK0GFIMr.js +0 -1
  241. package/dist/web/chunk-DMlYYeVV2.js +0 -3
  242. package/dist/web/chunk-DS8Gi0yV2.js +0 -1
  243. package/dist/web/chunk-DSIpVKzQ.js +0 -1
  244. package/dist/web/chunk-DT9HaYIg.js +0 -1
  245. package/dist/web/chunk-DU2qw7-O.js +0 -1
  246. package/dist/web/chunk-DZX7bq5d.js +0 -1
  247. package/dist/web/chunk-DiSSXeWw2.js +0 -1
  248. package/dist/web/chunk-DjQuCwaE.js +0 -1
  249. package/dist/web/chunk-DmBRHpbi2.js +0 -1
  250. package/dist/web/chunk-DpbG_pUL.js +0 -1
  251. package/dist/web/chunk-DqoyE916.js +0 -1
  252. package/dist/web/chunk-DsZGgyjH2.js +0 -1
  253. package/dist/web/chunk-DsbC92Ad2.js +0 -1
  254. package/dist/web/chunk-DuQk8dor2.js +0 -1
  255. package/dist/web/chunk-DxjwnDdp.js +0 -1
  256. package/dist/web/chunk-DyaBJhQt2.js +0 -1
  257. package/dist/web/chunk-H2FHxG4A.js +0 -1
  258. package/dist/web/chunk-KV_4fJOq.js +0 -2
  259. package/dist/web/chunk-NyAoR3GT.js +0 -1
  260. package/dist/web/chunk-Qhc5gzMT.js +0 -1
  261. package/dist/web/chunk-RRqL4AoW2.js +0 -1
  262. package/dist/web/chunk-THDcl3GX2.js +0 -1
  263. package/dist/web/chunk-TRzqZ7nT.js +0 -1
  264. package/dist/web/chunk-VKqyG94L.js +0 -1
  265. package/dist/web/chunk-cxgj3JaU2.js +0 -1
  266. package/dist/web/chunk-dClaCeUx.js +0 -1
  267. package/dist/web/chunk-kb-UZrxn2.js +0 -1
  268. package/dist/web/chunk-mI1TUlml.js +0 -1
  269. package/dist/web/chunk-tiVwZKxb.js +0 -1
  270. package/dist/web/chunk-uYhVCHeh2.js +0 -1
  271. package/dist/web/chunk-ynjMwOUq.js +0 -1
  272. package/dist/web/chunk-z-mghjkB.js +0 -1
  273. /package/dist/web/{chunk-BUoX0svL2.js → chunk-BUoX0svL.js} +0 -0
  274. /package/dist/web/{chunk-Bsy3r41y.js → chunk-Bsy3r41y2.js} +0 -0
  275. /package/dist/web/{chunk-CARNiCDb.js → chunk-CARNiCDb2.js} +0 -0
  276. /package/dist/web/{chunk-CGo7Fepz2.js → chunk-CGo7Fepz.js} +0 -0
  277. /package/dist/web/{chunk-CXHCUTDs2.js → chunk-CXHCUTDs.js} +0 -0
  278. /package/dist/web/{chunk-CtcsJTAS.js → chunk-CtcsJTAS2.js} +0 -0
  279. /package/dist/web/{chunk-WJWN7A_V.js → chunk-WJWN7A_V2.js} +0 -0
  280. /package/dist/web/{chunk-cTGENC4T.js → chunk-cTGENC4T2.js} +0 -0
@@ -1 +0,0 @@
1
- import{n as m,t as l}from"./chunk-BwCtja5l.js";import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,Gn as k_,Ir as wp,It as Us,J as Ky,Jr as zS,K as Ke,Nr as vd,Rn as jS,Tn as fd,V as Iy,Vr as xH,W as KS,Wn as kS,Wr as y_,X as LS,dr as pe,en as ZS,ft as Ol,lt as OS,mr as qT,pr as qS,qn as ky,rn as Zw,rr as nv,tn as ZT,tt as Mn,vt as Py,w as Fb,xn as e_,z as Ip}from"./chunk-BAHiFuUo.js";import{T as ue,h as Ne,m as Ie,o as U,r as N,v as Dt,y as G}from"./main-AJD2LGCE.js";import{t as g$1}from"./chunk-B56nz2lI.js";import{m as is}from"./chunk-BzUDWIzm.js";import"./chunk-CczD0yXn.js";import"./chunk-CReShp-B.js";import{t as Ae}from"./chunk-DUJbqlfC.js";import{t as k}from"./chunk-DRgIjFR6.js";import{ct as Me,wi as wu}from"./chunk-BAe_07VM.js";import{t as P}from"./chunk-DzxhjLIR.js";import{Ia as a,Tt as Fp,Yc as qt$1}from"./chunk-CjtJKrza.js";import"./chunk-Dv9sNWWK.js";import{a as u,i as m$1,r as g$2}from"./chunk-Dx1NwQCW.js";import"./chunk-BCemdpJW.js";import"./chunk-CfwFJLFh.js";import"./chunk-BWNhkOOr.js";import{t as l$1}from"./chunk-Bm0a1bep.js";import{a as fn,c as ir,d as nr,f as or,h as yn,n as an,o as gn,r as cn,t as P$1,u as mn}from"./chunk-CSkyOfSg.js";import"./chunk-cTGENC4T.js";import"./chunk-DjewtV43.js";import{t as K$1}from"./chunk-KV_4fJOq.js";import"./chunk-CXHCUTDs2.js";import"./chunk-BkKRFLuX2.js";import"./chunk-CP-AnFGa2.js";import"./chunk-scbWWgLx2.js";import{t as Of}from"./chunk-Z9CNux5n2.js";import{t as m$2}from"./chunk-B08xNtqD2.js";import"./chunk-BqIPzI6E2.js";import"./chunk-2sHWWuzv2.js";import{t as y}from"./chunk-BK0Mi7Tk.js";import{t as y$1}from"./chunk-78yNgJiB.js";import{n as x}from"./chunk-9qDelKdu.js";import{i as f}from"./chunk-Ok502fV82.js";import{t as ut$1}from"./chunk-C7TzEeP_2.js";import{t as ce}from"./chunk-CUvLKCob2.js";import{t as me}from"./chunk-C2gUrdSR2.js";var $e=[`*`];var K=class i{static ɵfac=function(e){return new(e||i)};static ɵcmp=Fb({type:i,selectors:[[`aside`,`appOutcomePanel`,``]],ngContentSelectors:$e,decls:1,vars:0,template:function(e,n){e&1&&(ZS(),KS(0))},styles:[`[_nghost-%COMP%]{display:block;min-width:0;padding:var(--%NS%panel-padding);border:1px solid var(--%NS%color-line);border-radius:var(--%NS%radius-sm);background:var(--%NS%color-surface-raised);box-shadow:var(--%NS%shadow-panel)}`]})};var X=i=>[`/quotes`,i];var We=i=>[`/affairs`,i];var Je=i=>[`/clients`,i,`profile`];var Ze=i=>({version:i});var Ge=(i,t)=>t.id;function Xe(i,t){if(i&1&&(Us(0,`a`,3),y_(1),fd()),i&2){let e=qS();Fy(`routerLink`,k_(3,X,t.id))(`queryParams`,e.context()),ZC(),nv(e.i18n.t(`commercial.backQuote`))}}function Ye(i,t){if(i&1&&(Us(0,`a`,3),y_(1),fd()),i&2){let e=qS();Fy(`routerLink`,k_(3,We,e.context().view??`attention`))(`queryParams`,e.context()),ZC(),nv(e.i18n.t(`backOffice.backToAffairs`))}}function et(i,t){if(i&1&&(Us(0,`p`),y_(1),Us(2,`a`,6),y_(3),fd(),y_(4),fd()),i&2){let e=t,n=qS();ZC(),vd(` `,e.reference,` · `),ZC(),Fy(`routerLink`,k_(4,Je,e.clientId)),ZC(),nv(e.currentRevision.clientDisplayName),ZC(),vd(` · `,n.i18n.tf(`commercial.revision`,k_(6,Ze,e.version)),` `)}}function tt(i,t){if(i&1&&(Us(0,`p`,5),y_(1),fd()),i&2){let e=qS();ZC(),nv(e.i18n.t(`backOffice.quotes.loading`))}}function it(i,t){if(i&1&&(Us(0,`p`,7),y_(1),fd()),i&2){let e=qS(2);ZC(),nv(e.i18n.t(t))}}function nt(i,t){if(i&1){let e=zS();OS(0,it,2,1,`p`,7),Us(1,`button`,8),Gy(`click`,function(){Ip(e);return wp(qS().reload())}),y_(2),fd()}if(i&2){let e,n=qS();kS((e=n.error())?0:-1,e),ZC(2),vd(` `,n.i18n.t(`backOffice.affair.retry`),` `)}}function ot(i,t){if(i&1&&(Us(0,`a`,10),y_(1),fd()),i&2){let e=qS(2);Fy(`routerLink`,k_(3,X,t.id))(`queryParams`,e.context()),ZC(),nv(e.i18n.t(`commercial.backQuote`))}}function at(i,t){if(i&1&&(Us(0,`p`,9),y_(1),fd(),OS(2,ot,2,5,`a`,10)),i&2){let e,n=qS();ZC(),nv(n.i18n.t(`commercial.saved`)),ZC(),kS((e=n.detail())?2:-1,e)}}function rt(i,t){if(i&1&&(Us(0,`a`,10),y_(1),fd()),i&2){let e=qS(2);Fy(`routerLink`,k_(3,X,t.id))(`queryParams`,e.context()),ZC(),nv(e.i18n.t(`commercial.backQuote`))}}function st(i,t){if(i&1&&(Us(0,`p`,11),y_(1),fd(),OS(2,rt,2,5,`a`,10)),i&2){let e,n=qS();ZC(),nv(n.i18n.t(`commercial.readOnly`)),ZC(),kS((e=n.detail())?2:-1,e)}}function dt(i,t){if(i&1&&(Us(0,`option`,38),y_(1),fd()),i&2){let e=t.$implicit;Fy(`value`,e.id),ZC(),nv(e.displayName)}}function lt(i,t){if(i&1&&(Us(0,`span`,39),y_(1),fd()),i&2){let e=qS(4);ZC(),nv(e.i18n.t(`backOffice.quote.fieldRequired`))}}function ct(i,t){if(i&1&&(Us(0,`a`,41),y_(1),fd()),i&2){let e=qS(5);ZC(),nv(e.i18n.t(`backOffice.quote.manageClients`))}}function ut(i,t){if(i&1&&(Us(0,`p`,11),y_(1),Iy(2,ct,2,1,`a`,40),fd()),i&2){let e=qS(4);ZC(),vd(` `,e.i18n.t(`backOffice.quote.noClient`),` `),ZC(),Fy(`appCan`,`client.create`)}}function mt(i,t){if(i&1&&(Us(0,`label`,18),y_(1),Us(2,`select`,36)(3,`option`,37),y_(4),fd(),LS(5,dt,2,2,`option`,38,Ge),fd(),qT(),OS(7,lt,2,1,`span`,39),fd(),OS(8,ut,3,2,`p`,11)),i&2){let e=qS(3);ZC(),vd(``,e.i18n.t(`backOffice.quote.client`),` `),ZC(),Fy(`formField`,e.quoteForm.clientId),ky(`aria-invalid`,e.quoteForm.clientId().invalid()&&e.quoteForm.clientId().touched()),ZT(),ZC(2),nv(e.i18n.t(`backOffice.quote.clientPlaceholder`)),ZC(),jS(e.clients()),ZC(2),kS(e.quoteForm.clientId().invalid()&&e.quoteForm.clientId().touched()?7:-1),ZC(),kS(e.clients().length===0?8:-1)}}function pt(i,t){if(i&1&&(Us(0,`span`,20),y_(1),fd()),i&2){let e=qS(3);ZC(),nv(e.i18n.t(`backOffice.quote.fieldInvalid`))}}function ft(i,t){if(i&1){let e=zS();Us(0,`button`,42),Gy(`click`,function(){Ip(e);return wp(qS(3).createCatalogItem())}),y_(1),fd()}if(i&2){let e=qS(3);Fy(`disabled`,e.saveDisabled()||e.quoteForm.lines.length>=20),ZC(),vd(` `,e.i18n.t(`catalog.create`),` `)}}function _t(i,t){if(i&1){let e=zS();Us(0,`button`,43),Gy(`click`,function(){Ip(e);return wp(qS(3).createConditionPreset())}),y_(1),fd()}if(i&2){let e=qS(3);Fy(`disabled`,e.saveDisabled()),ZC(),vd(` `,e.i18n.t(`configurationWorkspace.newCondition`),` `)}}function gt(i,t){if(i&1&&(Us(0,`span`,33),y_(1),fd()),i&2){let e=qS(3);ZC(),nv(e.i18n.t(`backOffice.quote.fieldInvalid`))}}function yt(i,t){if(i&1&&(Us(0,`p`,9),y_(1),fd()),i&2){let e=qS(3);ZC(),nv(e.i18n.t(t))}}function vt(i,t){if(i&1&&(Us(0,`p`,7),y_(1),fd()),i&2){let e=qS(3);ZC(),nv(e.i18n.t(t))}}function ht(i,t){if(i&1){let e=zS();Us(0,`button`,45),Gy(`click`,function(){Ip(e);return wp(qS(4).reload())}),y_(1),fd()}if(i&2){let e=qS(4);Fy(`disabled`,e.saving()),ZC(),vd(` `,e.i18n.t(`commercial.loadLatest`),` `)}}function Ct(i,t){if(i&1&&(Us(0,`p`,7),y_(1),fd(),OS(2,ht,2,2,`button`,44)),i&2){let e=qS(3);ZC(),nv(e.i18n.t(t)),ZC(),kS(e.detail()&&!e.uncertain()?2:-1)}}function xt(i,t){if(i&1&&(Us(0,`p`,34),y_(1),fd()),i&2){let e=qS(3);ZC(),nv(e.i18n.t(`commercial.pending`))}}function bt(i,t){if(i&1&&(Us(0,`p`,15),y_(1),fd()),i&2){let e=qS(3);ZC(),nv(e.i18n.t(`document.quote.refreshHint`))}}function Pt(i,t){if(i&1){let e=zS();Us(0,`form`,16),Gy(`submit`,function(r){Ip(e);return wp(qS(2).save(r))}),Us(1,`div`,17),OS(2,mt,9,6),Us(3,`label`,18),y_(4),Py(5,`input`,19),qT(),OS(6,pt,2,1,`span`,20),fd(),Us(7,`label`,18),y_(8),Py(9,`input`,21),qT(),fd()(),Us(10,`section`,22)(11,`div`,23)(12,`h2`,24),y_(13),fd()(),Us(14,`app-document-line-editor`,25),Gy(`linesChange`,function(r){Ip(e);return wp(qS(2).setLines(r))}),fd(),Us(15,`div`,26)(16,`app-object-picker`,27),Gy(`selected`,function(r){Ip(e);return wp(qS(2).addCatalogItem(r))}),fd(),Iy(17,ft,2,2,`button`,28),fd(),Us(18,`p`,15),y_(19),fd()(),Us(20,`section`,29)(21,`div`,26)(22,`app-object-picker`,30),Gy(`selected`,function(r){Ip(e);return wp(qS(2).selectConditionPreset(r))}),fd(),Iy(23,_t,2,2,`button`,31),fd(),Us(24,`app-document-text-editor`,32),Gy(`presentationChange`,function(r){Ip(e);return wp(qS(2).setConditionsPresentation(r))}),fd(),qT(),OS(25,gt,2,1,`span`,33),fd(),OS(26,yt,2,1,`p`,9),OS(27,vt,2,1,`p`,7),OS(28,Ct,3,2),OS(29,xt,2,1,`p`,34),Us(30,`button`,35),y_(31),fd(),OS(32,bt,2,1,`p`,15),fd()}if(i&2){let e,n,r,a=qS(2);ZC(2),kS(a.isNew()?2:-1),ZC(2),vd(``,a.i18n.t(`backOffice.quote.title`),` `),ZC(),Fy(`formField`,a.quoteForm.title),ky(`aria-invalid`,a.quoteForm.title().invalid()&&a.quoteForm.title().touched()),ZT(),ZC(),kS(a.quoteForm.title().invalid()&&a.quoteForm.title().touched()?6:-1),ZC(2),vd(``,a.i18n.t(`backOffice.quote.currency`),` `),ZC(),Fy(`formField`,a.quoteForm.currency),ky(`aria-invalid`,a.quoteForm.currency().invalid()&&a.quoteForm.currency().touched()),ZT(),ZC(4),nv(a.i18n.t(`backOffice.quote.lines`)),ZC(),Fy(`lines`,a.quoteForm.lines().value())(`currency`,a.quoteForm.currency().value())(`disabled`,a.saveDisabled()||a.referenceBusy()),ZC(2),Fy(`label`,a.i18n.t(`catalog.add`))(`options`,a.catalogOptions())(`disabled`,a.saveDisabled()||a.quoteForm.lines.length>=20),ZC(),Fy(`appCan`,`catalog.manage`),ZC(2),nv(a.i18n.t(`catalog.snapshotHint`)),ZC(3),Fy(`label`,a.i18n.t(`backOffice.quote.conditionPreset`))(`options`,a.presetOptions())(`disabled`,a.saveDisabled()),ZC(),Fy(`appCan`,`condition.manage`),ZC(),Fy(`label`,a.i18n.t(`backOffice.quote.conditions`))(`formField`,a.quoteForm.conditions)(`presentation`,a.conditionsPresentation()),ZT(),ZC(),kS(a.quoteForm.conditions().invalid()&&a.quoteForm.conditions().touched()?25:-1),ZC(),kS((e=a.referenceNotice())?26:-1,e),ZC(),kS((n=a.referenceError())?27:-1,n),ZC(),kS((r=a.error())?28:-1,r),ZC(),kS(a.saving()?29:-1),ZC(),Fy(`disabled`,a.saveDisabled()||a.referenceBusy()),ZC(),vd(` `,a.i18n.t(a.saveKey()),` `),ZC(),kS(a.isNew()?-1:32)}}function qt(i,t){if(i&1&&(Us(0,`p`,46),y_(1),fd()),i&2){let e=qS(3);ZC(),nv(e.i18n.t(`backOffice.quote.dirtyTotals`))}}function Ot(i,t){if(i&1&&(OS(0,qt,2,1,`p`,46),Us(1,`dl`)(2,`div`)(3,`dt`),y_(4),fd(),Us(5,`dd`),y_(6),fd()(),Us(7,`div`)(8,`dt`),y_(9),fd(),Us(10,`dd`),y_(11),fd()(),Us(12,`div`)(13,`dt`),y_(14),fd(),Us(15,`dd`),y_(16),fd()()()),i&2){let e=t,n=qS(2);kS(n.totalsAreStale()?0:-1),ZC(4),nv(n.i18n.t(`backOffice.quote.subtotal`)),ZC(2),nv(n.money(e.currentRevision.netTotalCents)),ZC(3),nv(n.i18n.t(`backOffice.quote.tax`)),ZC(2),nv(n.money(e.currentRevision.vatTotalCents)),ZC(3),nv(n.i18n.t(`backOffice.quote.total`)),ZC(2),nv(n.money(e.currentRevision.totalCents))}}function Mt(i,t){if(i&1&&(Us(0,`p`,15),y_(1),fd()),i&2){let e=qS(2);ZC(),nv(e.i18n.t(`commercial.newTotals`))}}function Et(i,t){if(i&1&&(Iy(0,Pt,33,32,`form`,12),Us(1,`aside`,13)(2,`h2`,14),y_(3),fd(),OS(4,Ot,17,7)(5,Mt,2,1,`p`,15),Us(6,`p`,15),y_(7),fd()()),i&2){let e,n=qS();Fy(`appCan`,n.writePermission()),ZC(3),nv(n.i18n.t(`commercial.savedTotals`)),ZC(),kS((e=n.detail())?4:5,e),ZC(3),nv(n.i18n.t(`commercial.savedHint`))}}var Be=()=>({description:``,quantity:`1`,unitPrice:`0.00`,vatRate:`20.00`});var Ue=class i{lineEditor=xH.required(me);writePermission=Ft(()=>this.isNew()?`quote.create`:`quote.update`);confirmation=g(P);catalogApi=g(f);catalogItems=Ke([]);i18n=g(Ie);clientsApi=g(y$1);quotesApi=g(y);conditionPresetsApi=g(m$2);route=g(G);context=Ke(x(this.route.snapshot.queryParamMap));router=g(ue);destroyRef=g(pe);pendingTasks=g(Mn);dialogs=g(is);referenceDialog=Ke(void 0);referenceRequest=0;applyingConditions=Ke(!1);referenceBusy=Ft(()=>this.referenceDialog()!==void 0||this.applyingConditions());referenceError=Ke(void 0);referenceNotice=Ke(void 0);quoteId=Ke(void 0);affairId=Ke(void 0);routeRequest=0;isNew=Ke(!1);titleKey=Ft(()=>this.isNew()?`backOffice.quote.title.new`:`backOffice.quote.title.edit`);saveKey=Ft(()=>this.saving()?`backOffice.quote.saving`:`backOffice.quote.save`);clients=Ke([]);conditionPresets=Ke([]);detail=Ke(void 0);loading=Ke(!0);unavailable=Ke(!1);saving=Ke(!1);completed=Ke(!1);uncertain=Ke(!1);error=Ke(void 0);presetOptions=Ft(()=>this.conditionPresets().map(t=>{let e=Fp(t.conditions,t.conditionsPresentation);return{id:t.id,label:t.name,detail:e.length>160?`${e.slice(0,159)}\u2026`:e}}));model=Ke({clientId:``,currency:`EUR`,conditions:``,lines:[Be()],title:``});conditionsPresentation=Ft(()=>this.model().conditionsPresentation);catalogOptions=Ft(()=>this.catalogItems().filter(t=>t.currency===this.model().currency).map(t=>({id:t.id,label:t.description,detail:this.money(t.unitPriceCents)})));quoteForm=nr(this.model,t=>{an(t,{when:()=>!this.editable()||this.saving()||this.completed()||this.uncertain()||this.referenceBusy()}),an(t.clientId,{when:()=>this.affairId()!==void 0}),gn(t.clientId),gn(t.currency),cn(t.currency,3),mn(t.currency,/^[A-Z]{3}$/),gn(t.title),cn(t.title,120),mn(t.title,/\S/),cn(t.conditions,2e3),P$1(t.conditions,({value:e})=>qt$1(e(),this.model().conditionsPresentation?.format??`plain`)?void 0:{kind:`format`}),fn(t.lines,1),cn(t.lines,20),ir(t.lines,e=>{gn(e.description),cn(e.description,160),mn(e.description,/\S/),mn(e.quantity,/^\d+(?:[.,]\d{1,3})?$/),mn(e.unitPrice,/^\d+(?:[.,]\d{1,2})?$/),mn(e.vatRate,/^\d+(?:[.,]\d{1,2})?$/),P$1(e.quantity,({value:n})=>{let r=u(n(),3);return r===void 0||r===0?{kind:`quantity`,message:`invalid_quantity`}:void 0}),P$1(e.unitPrice,({value:n})=>u(n(),2)===void 0?{kind:`unitPrice`,message:`invalid_unit_price`}:void 0),P$1(e.vatRate,({value:n})=>{let r=u(n(),2);return r===void 0||r>1e4?{kind:`vatRate`,message:`invalid_vat_rate`}:void 0})})});editable=Ft(()=>this.isNew()||[`draft`,`expired`].includes(this.detail()?.status??``));saveDisabled=Ft(()=>this.saving()||this.loading()||!this.editable()||this.completed()||this.uncertain());totalsAreStale=Ft(()=>this.detail()!==void 0&&(this.quoteForm().dirty()||this.saving()||this.uncertain()));constructor(){this.destroyRef.onDestroy(()=>this.referenceDialog()?.close()),Ol(()=>{this.route.queryParamMap.pipe(U(this.destroyRef)).subscribe(t=>this.context.set(x(t))),this.route.paramMap.pipe(U(this.destroyRef)).subscribe(t=>{this.load(t.get(`quoteId`))})})}setLines(t){this.saveDisabled()||this.referenceBusy()||(this.model.update(e=>m(l({},e),{lines:[...t]})),this.quoteForm().markAsDirty())}addCatalogItem(t){let e=this.catalogItems().find(n=>n.id===t);this.saveDisabled()||this.referenceBusy()||this.model().lines.length>=20||e===void 0||e.archived||(this.model.update(n=>m(l({},n),{lines:[...n.lines,{description:e.description,quantity:g$2(e.quantityMilli,3),unitPrice:m$1(e.unitPriceCents,2),vatRate:m$1(e.vatRateBasisPoints,2)}]})),this.quoteForm().markAsDirty())}async selectConditionPreset(t){let e=this.conditionPresets().find(r=>r.id===t);if(e===void 0||this.saveDisabled()||this.referenceBusy())return;let n=this.routeRequest;this.applyingConditions.set(!0);try{if(this.model().conditions&&(this.model().conditions!==e.conditions||JSON.stringify(this.model().conditionsPresentation)!==JSON.stringify(e.conditionsPresentation))&&!await this.confirmation.request(this.i18n.t(`commercial.replaceConditions`))||this.destroyRef.destroyed||n!==this.routeRequest||this.saveDisabled())return;this.model.update(r=>m(l({},r),{conditions:e.conditions,conditionsPresentation:e.conditionsPresentation})),this.quoteForm().markAsDirty()}finally{this.applyingConditions.set(!1)}}setConditionsPresentation(t){this.quoteForm.conditions().disabled()||(this.model.update(e=>m(l({},e),{conditionsPresentation:t})),this.quoteForm.conditions().markAsDirty())}createCatalogItem(){if(this.saveDisabled()||this.referenceBusy()||this.model().lines.length>=20)return;let t=this.routeRequest,e=++this.referenceRequest;this.referenceError.set(void 0),this.referenceNotice.set(void 0);let n=this.dialogs.open(ut$1,{ariaLabelledBy:`catalog-editor-title`,ariaModal:!0,autoFocus:`#catalog-description`,restoreFocus:`#quote-create-catalog`,disableClose:!0,closeOnNavigation:!1,disableAnimations:!0,width:`48rem`,maxWidth:`calc(100vw - 2rem)`});this.referenceDialog.set(n),n.closed.subscribe(r=>{this.referenceDialog.set(void 0),!(this.destroyRef.destroyed||t!==this.routeRequest)&&(r?(this.catalogItems.update(a=>[...a.filter(g=>g.id!==r.id),r]),this.referenceNotice.set(`catalog.saved`),this.addCatalogItem(r.id)):this.refreshCatalog(t,e))})}createConditionPreset(){if(this.saveDisabled()||this.referenceBusy())return;let t=this.routeRequest,e=++this.referenceRequest;this.referenceError.set(void 0),this.referenceNotice.set(void 0);let n=this.dialogs.open(ce,{ariaLabelledBy:`condition-editor-title`,ariaModal:!0,autoFocus:`#preset-name`,restoreFocus:`#quote-create-conditions`,disableClose:!0,closeOnNavigation:!1,disableAnimations:!0,width:`56rem`,maxWidth:`calc(100vw - 2rem)`});this.referenceDialog.set(n),n.closed.subscribe(r=>{this.referenceDialog.set(void 0),!(this.destroyRef.destroyed||t!==this.routeRequest)&&(r?(this.conditionPresets.update(a=>[...a.filter(g=>g.id!==r.id),r]),this.referenceNotice.set(`referenceEditor.conditionsSaved`),this.selectConditionPreset(r.id)):this.refreshConditionPresets(t,e))})}async refreshCatalog(t,e){try{let n=await this.catalogApi.list();if(this.destroyRef.destroyed||t!==this.routeRequest||e!==this.referenceRequest)return;this.catalogItems.set(n.filter(r=>!r.archived))}catch{!this.destroyRef.destroyed&&t===this.routeRequest&&e===this.referenceRequest&&this.referenceError.set(`catalogWorkspace.loadError`)}}async refreshConditionPresets(t,e){try{let n=await this.conditionPresetsApi.list();if(this.destroyRef.destroyed||t!==this.routeRequest||e!==this.referenceRequest)return;this.conditionPresets.set(n)}catch{!this.destroyRef.destroyed&&t===this.routeRequest&&e===this.referenceRequest&&this.referenceError.set(`quote.error`)}}async canDeactivate(){return this.saving()||this.referenceBusy()?!1:this.uncertain()?this.confirmation.request(this.i18n.t(`commercial.leaveUncertain`)):this.completed()||!this.quoteForm().dirty()||await this.confirmation.request(this.i18n.t(`backOffice.quote.unsavedChanges`))}preventUnsavedUnload(t){(this.saving()||this.referenceBusy()||this.uncertain()||!this.completed()&&this.quoteForm().dirty())&&t.preventDefault()}save(t){if(t.preventDefault(),this.saveDisabled()||this.referenceBusy())return;let e=[this.quoteForm.clientId,this.quoteForm.title,this.quoteForm.currency,...Array.from(this.quoteForm.lines).flatMap(r=>[r.description,r.quantity,r.unitPrice,r.vatRate]),this.quoteForm.conditions];for(let r of e)r().markAsTouched();let n=[this.quoteForm.clientId,this.quoteForm.title,this.quoteForm.currency].find(r=>r().invalid());if(n)return n().focusBoundControl();if(!this.lineEditor().focusFirstInvalid(this.model().lines)){if(this.quoteForm.conditions().invalid())return this.quoteForm.conditions().focusBoundControl();or(this.quoteForm,async()=>{let r=this.parseLines();if(r===void 0){this.error.set(`backOffice.quote.validation`);return}this.saving.set(!0),this.error.set(void 0);let a=this.routeRequest;try{let g=this.model(),N={conditions:g.conditions,currency:g.currency,lines:r,title:g.title.trim()},b=g.conditionsPresentation===void 0?N:m(l({},N),{conditionsPresentation:g.conditionsPresentation}),w=this.quoteId();if(w===void 0){let H=this.decodeQuoteId(g.clientId);if(H===void 0){this.error.set(`backOffice.quote.validation`),this.saving.set(!1);return}let Y=this.affairId(),je=Y===void 0?m(l({},b),{clientId:H}):m(l({},b),{affairId:Y,clientId:H}),Q=await this.quotesApi.create(je);if(this.destroyRef.destroyed||a!==this.routeRequest)return;if(!Q.success){if(Q.code===`quote.error`){this.uncertain.set(!0),this.error.set(`commercial.saveUncertain`);return}return this.setError(Q.code)}this.detail.set(Q.result),this.completed.set(!0),this.quoteForm().reset(),this.saving.set(!1),await this.router.navigate([`/quotes`,Q.result.id],{replaceUrl:!0,queryParams:this.context()});return}let y=this.detail();if(y===void 0){this.error.set(`quote.error`),this.saving.set(!1);return}let ze=m(l({},b),{expectedVersion:y.version}),R=await this.quotesApi.createRevision(w,ze);if(this.destroyRef.destroyed||a!==this.routeRequest)return;if(!R.success)return this.setError(R.code);this.detail.set(R.result),this.model.set(this.modelFromDetail(R.result)),this.quoteForm().reset(),this.completed.set(!0),this.saving.set(!1),await this.router.navigate([`/quotes`,R.result.id],{queryParams:this.context()})}catch{if(this.destroyRef.destroyed||a!==this.routeRequest)return;this.quoteId()===void 0?(this.uncertain.set(!0),this.error.set(`commercial.saveUncertain`)):this.error.set(`quote.error`)}finally{a===this.routeRequest&&this.saving.set(!1)}})}}async reload(){if(this.saving()||this.uncertain()||this.referenceBusy())return;let t=this.routeRequest;this.quoteForm().dirty()&&!await this.confirmation.request(this.i18n.t(`commercial.reloadConfirm`))||this.destroyRef.destroyed||t!==this.routeRequest||this.saving()||this.referenceBusy()||await this.load(this.route.snapshot.paramMap.get(`quoteId`))}money(t){return Ne(t,this.i18n.language(),this.model().currency)}async load(t){let e=++this.routeRequest;this.referenceDialog()?.close(),this.referenceError.set(void 0),this.referenceNotice.set(void 0);let n=this.decodeQuoteId(this.route.snapshot.queryParamMap.get(`clientId`)),r=this.decodeQuoteId(this.route.snapshot.queryParamMap.get(`affairId`)),a=this.decodeQuoteId(t);if(this.quoteId.set(a),this.affairId.set(t===null?r:void 0),this.isNew.set(t===null),this.detail.set(void 0),this.saving.set(!1),this.completed.set(!1),this.uncertain.set(!1),this.error.set(void 0),this.unavailable.set(!1),this.loading.set(!0),this.model.set({clientId:``,currency:`EUR`,conditions:``,lines:[Be()],title:``}),this.quoteForm().reset(),t!==null&&a===void 0){this.error.set(`quote.not_found`),this.unavailable.set(!0),this.loading.set(!1);return}let g=this.pendingTasks.add();try{if(a===void 0){let[N,b,w]=await Promise.all([this.conditionPresetsApi.list(),this.clientsApi.list(),this.catalogApi.list()]);if(this.destroyRef.destroyed||e!==this.routeRequest)return;this.conditionPresets.set(N),this.clients.set(b.filter(y=>!y.archived)),n&&this.clients().some(y=>y.id===n)&&(this.model.update(y=>m(l({},y),{clientId:n})),this.quoteForm().reset()),this.catalogItems.set(w.filter(y=>!y.archived))}else{let[N,b,w]=await Promise.all([this.conditionPresetsApi.list(),this.quotesApi.get(a),this.catalogApi.list()]);if(this.destroyRef.destroyed||e!==this.routeRequest)return;if(this.conditionPresets.set(N),!b.success){this.setError(b.code),this.unavailable.set(!0);return}this.detail.set(b.result),this.catalogItems.set(w.filter(y=>!y.archived)),this.model.set(this.modelFromDetail(b.result)),this.quoteForm().reset()}}catch{if(this.destroyRef.destroyed||e!==this.routeRequest)return;this.error.set(`quote.error`),this.unavailable.set(!0)}finally{e===this.routeRequest&&this.loading.set(!1),g()}}parseLines(){let t=[];for(let e of this.model().lines){let n=u(e.quantity,3),r=u(e.unitPrice,2),a=u(e.vatRate,2);if(n===void 0||n===0||r===void 0||a===void 0||a>1e4)return;t.push({description:e.description.trim(),quantityMilli:n,unitPriceCents:r,vatRateBasisPoints:a})}return t}modelFromDetail(t){let e=this.i18n.language()===`fr`?`,`:`.`;return{clientId:t.clientId,currency:t.currentRevision.currency,conditions:t.currentRevision.conditions,conditionsPresentation:t.currentRevision.conditionsPresentation,title:t.currentRevision.title,lines:t.currentRevision.lines.map(n=>({description:n.description,quantity:g$2(n.quantityMilli,3,e),unitPrice:m$1(n.unitPriceCents,2,e),vatRate:m$1(n.vatRateBasisPoints,2,e)}))}}decodeQuoteId(t){if(t!==null)return Me.getOrUndefined(wu.decodeUnknownOption(a)(t))}setError(t){this.error.set(t)}static ɵfac=function(e){return new(e||i)};static ɵcmp=Fb({type:i,selectors:[[`app-quote-editor`]],viewQuery:function(e,n){e&1&&Ky(n.lineEditor,me,5),e&2&&e_()},hostAttrs:[1,`page-container`],hostBindings:function(e,n){e&1&&Gy(`beforeunload`,function(a){return n.preventUnsavedUnload(a)},Zw)},decls:15,vars:5,consts:[[`aria-labelledby`,`quote-title`,1,`detail-page`,`wide-page`,`document-editor`],[`layout`,`stacked`],[`pageBack`,``],[1,`back-link`,3,`routerLink`,`queryParams`],[`id`,`quote-title`],[`aria-live`,`polite`],[3,`routerLink`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`appButton`,``,`type`,`button`,3,`click`],[`appNotice`,``,`variant`,`success`,`role`,`status`],[`appLinkButton`,``,`variant`,`primary`,3,`routerLink`,`queryParams`],[`appNotice`,``],[`novalidate`,``,3,`submit`,4,`appCan`],[`appOutcomePanel`,``,`aria-labelledby`,`totals-title`,1,`ds-panel`,`notice-flow`],[`id`,`totals-title`],[1,`hint`],[`novalidate`,``,3,`submit`],[1,`quote-identity`,`ds-panel`,`form-panel`],[1,`field`],[`id`,`quote-name`,`type`,`text`,`aria-describedby`,`quote-name-error`,1,`input`,3,`formField`],[`id`,`quote-name-error`,1,`field-error`],[`autocapitalize`,`characters`,1,`input`,3,`formField`],[`aria-labelledby`,`lines-title`,1,`lines`],[1,`section-heading`],[`id`,`lines-title`],[1,`document-lines`,3,`linesChange`,`lines`,`currency`,`disabled`],[1,`condition-preset`,`spacer-x-3`],[1,`catalog-picker`,3,`selected`,`label`,`options`,`disabled`],[`appButton`,``,`type`,`button`,`id`,`quote-create-catalog`,3,`disabled`,`click`,4,`appCan`],[1,`conditions-section`,`ds-panel`,`form-panel`],[3,`selected`,`label`,`options`,`disabled`],[`appButton`,``,`type`,`button`,`id`,`quote-create-conditions`,3,`disabled`,`click`,4,`appCan`],[`controlId`,`quote-conditions`,`descriptionId`,`quote-conditions-error`,3,`presentationChange`,`label`,`formField`,`presentation`],[`id`,`quote-conditions-error`,1,`field-error`],[`role`,`status`],[`appButton`,``,`variant`,`primary`,`type`,`submit`,3,`disabled`],[`appFilterSelect`,``,`id`,`quote-client`,`aria-describedby`,`quote-client-error`,1,`input`,3,`formField`],[`value`,``],[3,`value`],[`id`,`quote-client-error`,1,`field-error`],[`routerLink`,`/clients/new`,4,`appCan`],[`routerLink`,`/clients/new`],[`appButton`,``,`type`,`button`,`id`,`quote-create-catalog`,3,`click`,`disabled`],[`appButton`,``,`type`,`button`,`id`,`quote-create-conditions`,3,`click`,`disabled`],[`appButton`,``,`type`,`button`,3,`disabled`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`],[`appNotice`,``,`role`,`status`]],template:function(e,n){if(e&1&&(Us(0,`section`,0)(1,`app-page-header`,1)(2,`div`,2),OS(3,Xe,2,5,`a`,3)(4,Ye,2,5,`a`,3),fd(),Us(5,`h1`,4),y_(6),fd(),OS(7,et,5,8,`p`),Us(8,`p`),y_(9),fd()(),OS(10,tt,2,1,`p`,5)(11,nt,3,2)(12,at,3,2)(13,st,3,2)(14,Et,8,4),fd()),e&2){let r,a;ZC(3),kS((r=n.detail())?3:4,r),ZC(3),nv(n.i18n.t(n.titleKey())),ZC(),kS((a=n.detail())?7:-1,a),ZC(2),nv(n.i18n.t(`billingWorkspace.noAutosave`)),ZC(),kS(n.loading()?10:n.unavailable()?11:n.completed()?12:n.editable()?14:13)}},dependencies:[Ae,l$1,N,yn,K$1,k,K,g$1,Dt,Of,me],styles:[`.document-editor[_ngcontent-%COMP%]{align-items:start}.document-editor[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{min-width:0}form[_ngcontent-%COMP%]{container-type:inline-size;min-width:0}.document-editor[_ngcontent-%COMP%] > form[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-5)}.document-editor[_ngcontent-%COMP%] > form[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{margin-block:0}.lines[_ngcontent-%COMP%] > *[_ngcontent-%COMP%] + *[_ngcontent-%COMP%]{margin-top:var(--%NS%space-5)}.section-heading[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--%NS%space-3)}.section-heading[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:var(--%NS%text-xl)}.external-link[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:var(--%NS%space-1)}.document-line[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--%NS%space-3);min-width:0;margin:0;padding:var(--%NS%space-4)}.document-line[_ngcontent-%COMP%] > .field[_ngcontent-%COMP%]{align-content:end}.document-line[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{justify-self:start}legend[_ngcontent-%COMP%]{padding:var(--%NS%space-1) var(--%NS%space-2);color:var(--%NS%color-muted);font-family:var(--%NS%font-mono);font-size:var(--%NS%text-xs);font-weight:700;letter-spacing:var(--%NS%tracking-label);text-transform:uppercase}.line-total[_ngcontent-%COMP%]{align-self:center;color:var(--%NS%color-muted);font-size:var(--%NS%text-sm);text-align:end;font-variant-numeric:tabular-nums}textarea[_ngcontent-%COMP%]{resize:vertical}.hint[_ngcontent-%COMP%]{margin-top:var(--%NS%space-2);color:var(--%NS%color-muted);font-size:var(--%NS%text-xs)}[appOutcomePanel].ds-panel[_ngcontent-%COMP%]{border:0;background:var(--%NS%color-panel);box-shadow:none}[appOutcomePanel][_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:var(--%NS%text-xl)}[appOutcomePanel][_ngcontent-%COMP%] h2[_ngcontent-%COMP%]:not(:first-child){margin-top:var(--%NS%space-6)}[appOutcomePanel][_ngcontent-%COMP%] h2[_ngcontent-%COMP%] + *[_ngcontent-%COMP%]{margin-top:var(--%NS%space-3)}dl[_ngcontent-%COMP%]{margin:var(--%NS%space-3) 0 0}dl[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:var(--%NS%space-4);padding-block:var(--%NS%space-2);border-bottom:1px solid var(--%NS%color-line-strong)}dd[_ngcontent-%COMP%]{min-width:0;margin:0;font-weight:700;font-variant-numeric:tabular-nums;text-align:end;overflow-wrap:anywhere}dl[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:last-child{color:var(--%NS%color-ink);font-size:var(--%NS%text-lg)}ol[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);padding-inline-start:var(--%NS%space-5)}ol[_ngcontent-%COMP%] li[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block;overflow-wrap:anywhere}ol[_ngcontent-%COMP%] li[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2){color:var(--%NS%color-muted);font-size:var(--%NS%text-xs)}.revision-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--%NS%space-2);margin-top:var(--%NS%space-2)}.preview[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{width:100%;height:clamp(28rem,80dvh,65rem);margin-top:var(--%NS%space-4);border:1px dashed var(--%NS%color-line-strong);border-radius:var(--%NS%radius-sm);background:#fff;box-shadow:var(--%NS%shadow-panel)}@container (min-width: 28rem){.document-line[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr))}.document-line[_ngcontent-%COMP%] > .description[_ngcontent-%COMP%]{grid-column:1/-1}.document-line[_ngcontent-%COMP%] > .line-total[_ngcontent-%COMP%]{grid-column:2/-1}}@media(min-width:64rem){.document-editor[_ngcontent-%COMP%]:has(>[appOutcomePanel]){grid-template-columns:minmax(0,1fr) 20rem}.document-editor[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{grid-column:1/-1}.document-editor[_ngcontent-%COMP%]:has(>[appOutcomePanel]) > form[_ngcontent-%COMP%]{grid-column:1}.document-editor[_ngcontent-%COMP%] > [appOutcomePanel][_ngcontent-%COMP%]{grid-column:2}}[_nghost-%COMP%]{display:block}.detail-page[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);min-inline-size:0;inline-size:100%;max-inline-size:var(--%NS%page-width-detail);margin-inline:auto;padding:var(--%NS%page-header-y) var(--%NS%page-x)}.detail-page.form-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-form)}.detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-wide)}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-2xl);overflow-wrap:anywhere}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-base);color:var(--%NS%color-muted);overflow-wrap:anywhere}.detail-page[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{justify-self:start}@media print{.detail-page[_ngcontent-%COMP%], .detail-page.form-page[_ngcontent-%COMP%], .detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:none}}.quote-identity[_ngcontent-%COMP%], .conditions-section[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4)}.lines[_ngcontent-%COMP%] > *[_ngcontent-%COMP%] + *[_ngcontent-%COMP%]{margin-top:var(--%NS%space-3)}form[_ngcontent-%COMP%] > button[type=submit][_ngcontent-%COMP%]{justify-self:start}@media(min-width:80rem){.document-editor[_ngcontent-%COMP%]:has(>[appOutcomePanel]){grid-template-columns:minmax(0,1fr) 20rem}[appOutcomePanel][_ngcontent-%COMP%]{position:sticky;top:var(--%NS%space-5)}}`]})};export{Ue as QuoteEditor};
@@ -1 +0,0 @@
1
- import{$t as ZC,A as Gy,At as S_,C as F_,D as Fy,Dn as g,Dr as t_,E as Ft,Gn as k_,Ir as wp,It as Us,Jr as zS,K as Ke,M as H_,Nr as vd,Rn as jS,Sr as rv,St as Qy,Tn as fd,V as Iy,Wn as kS,Wr as y_,X as LS,Xn as lv,dr as pe,ft as Ol,ht as PS,l as A_,lt as OS,mn as b_,pr as qS,qn as ky,rn as Zw,rr as nv,ut as O_,vt as Py,w as Fb,z as Ip,zn as j_}from"./chunk-BAHiFuUo.js";import{m as Ie$1,r as N,v as Dt}from"./main-AJD2LGCE.js";import{t as g$1}from"./chunk-B56nz2lI.js";import"./chunk-BzUDWIzm.js";import"./chunk-CczD0yXn.js";import"./chunk-CReShp-B.js";import{t as k}from"./chunk-DRgIjFR6.js";import"./chunk-BAe_07VM.js";import{t as P}from"./chunk-DzxhjLIR.js";import"./chunk-CjtJKrza.js";import"./chunk-Dv9sNWWK.js";import{t as d}from"./chunk-CfwFJLFh.js";import"./chunk-CSkyOfSg.js";import{n as m,t as d$1}from"./chunk-cTGENC4T.js";import"./chunk-DjewtV43.js";import{t as p}from"./chunk-BHEFFEGN.js";import"./chunk-CXHCUTDs2.js";import"./chunk-ZBDWcE362.js";import"./chunk-CP-AnFGa2.js";import"./chunk-scbWWgLx2.js";import{r as l}from"./chunk-BqIPzI6E2.js";import{t as N$1}from"./chunk-2sHWWuzv2.js";import{i as U,n as B,r as Q,t as $}from"./chunk-DMlYYeVV2.js";import{t as u}from"./chunk-osh5v_OU2.js";import{t as c}from"./chunk-D83vXRZS2.js";import{t as f}from"./chunk-BG9HC5MH2.js";import{t as h}from"./chunk-DODMV1QO.js";import{n as b,t as Z}from"./chunk-BKWyrwrz.js";import{t as l$1}from"./chunk-CH-_LXUF.js";import"./chunk-Bsy3r41y.js";import{t as Fe$1}from"./chunk-C3v6o8sk.js";import{n as V,r as b$1,t as E}from"./chunk-CcvGqiZH.js";var xe=()=>[`name`,`permissions`,`createdAt`,`expiresAt`,`lastUsedAt`,`status`];var he=o=>({count:o});var I=()=>({dateStyle:`short`,timeStyle:`short`});var Ce=(o,i)=>({count:o,total:i});var Te=(o,i)=>i.item.id;function Se(o,i){if(o&1){let e=zS();Us(0,`app-filter-choice`,19),Gy(`committed`,function(a){Ip(e);let m=qS(),ve=t_(15);return m.table.filter(a),wp(ve.close())}),fd()}if(o&2){let e=qS();Fy(`label`,e.i18n.t(`listWorkspace.searchChoices`))(`emptyLabel`,e.i18n.t(`listWorkspace.noChoices`))(`options`,e.table.filterOptions())(`value`,e.table.query().filter)(`disabled`,e.loading())}}function Ee(o,i){if(o&1){let e=zS();Us(0,`div`,12)(1,`button`,20),Gy(`click`,function(){Ip(e);let a=qS(),m=t_(13);return a.table.filter(`all`),wp(m.focus())}),fd()()}if(o&2){let e=qS();ZC(),Fy(`label`,e.table.filterSummary())(`disabled`,e.loading())}}function we(o,i){if(o&1&&(Us(0,`p`,13),y_(1),fd()),o&2){let e=qS();ZC(),nv(e.i18n.t(i))}}function Ae(o,i){if(o&1&&(Us(0,`p`,14),y_(1),fd()),o&2){let e=qS();ZC(),nv(e.i18n.t(`backOffice.apiTokens.loading`))}}function Oe(o,i){if(o&1&&(Us(0,`app-empty-state`,15)(1,`p`),y_(2),fd(),Us(3,`a`,21),y_(4),fd()()),o&2){let e=qS();Fy(`title`,e.i18n.t(`backOffice.apiTokens.empty`)),ZC(2),nv(e.i18n.t(`backOffice.apiTokens.emptyIntro`)),ZC(),Fy(`queryParams`,e.navigation.params()),ZC(),nv(e.i18n.t(`backOffice.apiTokens.create`))}}function Me(o,i){if(o&1&&(Us(0,`li`)(1,`code`,27),y_(2),fd(),Us(3,`span`),y_(4),fd()()),o&2){let e=i.$implicit,t=i.$index,a=qS().$implicit,m=qS(2);ZC(),Fy(`appSearchHighlight`,m.table.match(a,`permissions`,t)),ZC(),nv(e),ZC(2),nv(m.i18n.t(m.permissionLabel(e)))}}function Pe(o,i){if(o&1&&y_(0),o&2)vd(` `,qS(3).i18n.t(`backOffice.apiTokens.never`),` `)}function Ne(o,i){if(o&1&&(y_(0),j_(1,`localizedDate`)),o&2){qS();let e=S_(0),t=qS(2);vd(` `,H_(1,1,t.date(e.lastUsedAt),t.i18n.language(),O_(5,I)),` `)}}function Ve(o,i){if(o&1){let e=zS();Us(0,`button`,36),Gy(`click`,function(){Ip(e),qS();let a=S_(0);return wp(qS(2).revoke(a))}),y_(1),fd()}if(o&2){qS();let e=S_(0),t=qS(2);Fy(`disabled`,t.revoking()),ky(`aria-label`,t.i18n.t(`backOffice.apiTokens.revoke`)+` `+e.name),ZC(),vd(` `,t.i18n.t(`backOffice.apiTokens.revoke`),` `)}}function Ie(o,i){if(o&1&&(lv(0),Us(1,`tr`)(2,`th`,24)(3,`div`,25),Py(4,`app-entity-icon`,26),Us(5,`span`,27),y_(6),fd()()(),Us(7,`td`)(8,`button`,28),y_(9),fd(),Us(10,`div`,29)(11,`div`,30)(12,`h2`,31),y_(13),fd(),Us(14,`button`,32),y_(15),fd()(),Us(16,`ul`,33),LS(17,Me,5,3,`li`,null,PS),fd()()(),Us(19,`td`),y_(20),j_(21,`localizedDate`),fd(),Us(22,`td`),y_(23),j_(24,`localizedDate`),fd(),Us(25,`td`),OS(26,Pe,1,1)(27,Ne,2,6),fd(),Us(28,`td`)(29,`span`,34),y_(30),fd()(),Us(31,`td`),OS(32,Ve,2,3,`button`,35),fd()()),o&2){let e=i.$implicit,t=qS(2),a=b_(e.item);ZC(4),Fy(`variant`,t.statusVariant(a)),ZC(),Fy(`appSearchHighlight`,t.table.match(e,`name`)),ZC(),nv(a.name),ZC(2),Qy(`anchor-name`,`--token-permissions-`+a.id),ky(`popovertarget`,`token-permissions-`+a.id),ZC(),vd(` `,t.i18n.plural(`configurationWorkspace.permissionCount`,k_(31,he,a.permissions.length)),` `),ZC(),Qy(`position-anchor`,`--token-permissions-`+a.id),Fy(`id`,`token-permissions-`+a.id),ky(`aria-labelledby`,`token-permissions-title-`+a.id),ZC(2),Fy(`id`,`token-permissions-title-`+a.id),ZC(),rv(` `,t.i18n.t(`backOffice.apiTokens.permissions`),` — `,a.name,` `),ZC(),ky(`popovertarget`,`token-permissions-`+a.id),ZC(),vd(` `,t.i18n.t(`adminPages.closePermissions`),` `),ZC(2),jS(a.permissions),ZC(3),vd(` `,H_(21,23,t.date(a.createdAt),t.i18n.language(),O_(33,I)),` `),ZC(3),vd(` `,H_(24,27,t.date(a.expiresAt),t.i18n.language(),O_(34,I)),` `),ZC(3),kS(a.lastUsedAt===null?26:27),ZC(3),Fy(`variant`,t.statusVariant(a)),ZC(),nv(t.i18n.t(t.statusLabel(a))),ZC(2),kS(t.status(a)!==`revoked`?32:-1)}}function De(o,i){if(o&1){let e=zS();Us(0,`div`,16)(1,`table`)(2,`thead`)(3,`tr`)(4,`th`,22)(5,`button`,23),Gy(`click`,function(){Ip(e);return wp(qS().table.sort(`name`))}),fd()(),Us(6,`th`,22),y_(7),fd(),Us(8,`th`,22)(9,`button`,23),Gy(`click`,function(){Ip(e);return wp(qS().table.sort(`date`))}),fd()(),Us(10,`th`,22)(11,`button`,23),Gy(`click`,function(){Ip(e);return wp(qS().table.sort(`expires`))}),fd()(),Us(12,`th`,22)(13,`button`,23),Gy(`click`,function(){Ip(e);return wp(qS().table.sort(`used`))}),fd()(),Us(14,`th`,22),y_(15),fd(),Us(16,`th`,22),y_(17),fd()()(),Us(18,`tbody`),LS(19,Ie,33,35,`tr`,null,Te),fd()()()}if(o&2){let e=qS();ZC(4),ky(`aria-sort`,e.table.direction(`name`)),ZC(),Fy(`label`,e.i18n.t(`backOffice.apiTokens.name`))(`direction`,e.table.direction(`name`)),ZC(2),nv(e.i18n.t(`backOffice.apiTokens.permissions`)),ZC(),ky(`aria-sort`,e.table.direction(`date`)),ZC(),Fy(`label`,e.i18n.t(`backOffice.apiTokens.createdAt`))(`direction`,e.table.direction(`date`)),ZC(),ky(`aria-sort`,e.table.direction(`expires`)),ZC(),Fy(`label`,e.i18n.t(`backOffice.apiTokens.expiresAt`))(`direction`,e.table.direction(`expires`)),ZC(),ky(`aria-sort`,e.table.direction(`used`)),ZC(),Fy(`label`,e.i18n.t(`backOffice.apiTokens.lastUsedAt`))(`direction`,e.table.direction(`used`)),ZC(2),nv(e.i18n.t(`backOffice.apiTokens.status`)),ZC(2),nv(e.i18n.t(`backOffice.apiTokens.actions`)),ZC(2),jS(e.table.results())}}function Le(o,i){if(o&1&&(Us(0,`footer`,17)(1,`p`,14),y_(2),fd()()),o&2){let e=qS();ZC(2),vd(` `,e.i18n.plural(`adminPages.tokensCount`,F_(1,Ce,e.table.results().length,e.tokens().length)),` `)}}function Fe(o,i){if(o&1){let e=zS();Us(0,`button`,37),Gy(`click`,function(){Ip(e);return wp(qS().loadMore())}),y_(1),fd()}if(o&2){let e=qS();Fy(`disabled`,e.loadingMore()),ZC(),vd(` `,e.i18n.t(`backOffice.apiTokens.loadMore`),` `)}}var ye=class o{confirmation=g(P);i18n=g(Ie$1);navigation=g(b$1);api=g(V);destroyRef=g(pe);tokens=Ke([]);table=N$1(this.tokens,l);filterCount=Ft(()=>+(this.table.query().filter!==`all`));tokenExport=Ft(()=>this.table.rows().map(i=>[i.name,i.permissions.join(`, `),new Date(i.createdAt).toISOString(),new Date(i.expiresAt).toISOString(),i.lastUsedAt===null?null:new Date(i.lastUsedAt).toISOString(),this.status(i)]));nextCursor=Ke(null);loading=Ke(!0);loadingMore=Ke(!1);revoking=Ke(!1);pageError=Ke(void 0);errorOperation=Ke(`load`);errorMessage=Ft(()=>E(this.pageError(),this.errorOperation()));now=Ke(Date.now());expirationTimer;constructor(){Ol(()=>{this.load()}),this.destroyRef.onDestroy(()=>{this.expirationTimer!==void 0&&clearTimeout(this.expirationTimer)})}permissionLabel(i){return`permission.${i}`}async revoke(i){if(this.revoking()||!await this.confirmation.request(this.i18n.t(`backOffice.apiTokens.revokeConfirmation`)))return;this.revoking.set(!0),this.pageError.set(void 0);let e=await this.api.revoke(i.id);if(this.revoking.set(!1),!e.success){this.errorOperation.set(`revoke`),this.pageError.set(e.code);return}this.tokens.update(t=>t.map(a=>a.id===e.result.id?e.result:a)),this.scheduleExpiration()}status(i){return i.revokedAt!==null?`revoked`:i.expiresAt<=this.now()?`expired`:`active`}statusLabel(i){return`backOffice.apiTokens.status.${this.status(i)}`}statusVariant(i){let e=this.status(i);return e===`active`?`success`:e===`expired`?`warning`:`danger`}date(i){return new Date(i)}async loadMore(){let i=this.nextCursor();if(!(i===null||this.loadingMore())){this.loadingMore.set(!0),this.pageError.set(void 0);try{let e=await this.api.list(i);this.appendMissingTokens(e.items),this.nextCursor.set(e.nextCursor),this.scheduleExpiration()}catch{this.errorOperation.set(`load`),this.pageError.set(`api_token.error`)}finally{this.loadingMore.set(!1)}}}canDeactivate(){return!this.revoking()}beforeUnload(i){this.revoking()&&i.preventDefault()}async load(){try{let i=await this.api.list();this.appendMissingTokens(i.items),this.nextCursor.set(i.nextCursor),this.scheduleExpiration()}catch{this.errorOperation.set(`load`),this.pageError.set(`api_token.error`)}finally{this.loading.set(!1)}}appendMissingTokens(i){this.tokens.update(e=>{let t=new Set(e.map(({id:a})=>a));return[...e,...i.filter(({id:a})=>!t.has(a))]})}scheduleExpiration(){this.expirationTimer!==void 0&&clearTimeout(this.expirationTimer);let i=Date.now();this.now.set(i);let e=this.tokens().filter(({expiresAt:t,revokedAt:a})=>a===null&&t>i).reduce((t,{expiresAt:a})=>t===void 0||a<t?a:t,void 0);if(e===void 0){this.expirationTimer=void 0;return}this.expirationTimer=setTimeout(()=>this.scheduleExpiration(),Math.min(e-i+1,2147483647))}static ɵfac=function(e){return new(e||o)};static ɵcmp=Fb({type:o,selectors:[[`app-api-tokens`]],hostAttrs:[1,`page-container`],hostBindings:function(e,t){e&1&&Gy(`beforeunload`,function(m){return t.beforeUnload(m)},Zw)},features:[A_([d$1,b$1])],decls:25,vars:26,consts:[[`tokenSearch`,``],[`tokenMenu`,``],[`aria-labelledby`,`api-tokens-title`,1,`tokens-page`],[`id`,`api-tokens-title`],[1,`muted`],[`pageActions`,``,`appLinkButton`,``,`icon`,`plus`,`variant`,`primary`,`routerLink`,`new`,3,`queryParams`],[`href`,`/api/docs`,`target`,`_blank`,`rel`,`noopener noreferrer`],[`appListWorkspace`,``],[`listSearch`,``,3,`valueChange`,`label`,`value`],[`listFilters`,``,3,`label`,`closeLabel`,`backLabel`,`activeCount`,`disabled`],[`appFilterPanel`,``,3,`label`,`summary`],[`listActions`,``,`filename`,`api-token-permissions.csv`,3,`columns`,`rows`,`label`,`emptyHint`,`pendingHint`,`pending`],[1,`spacer-x-3`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`role`,`status`],[`icon`,`secrets`,3,`title`],[`appDataTable`,``],[1,`list-summary`,`spacer-y-2`],[`appButton`,``,`type`,`button`,3,`disabled`],[3,`committed`,`label`,`emptyLabel`,`options`,`value`,`disabled`],[`appFilterChip`,``,3,`click`,`label`,`disabled`],[`emptyActions`,``,`appLinkButton`,``,`icon`,`plus`,`routerLink`,`new`,3,`queryParams`],[`scope`,`col`],[`appTableSort`,``,3,`click`,`label`,`direction`],[`scope`,`row`],[1,`entity-label`],[`icon`,`secrets`,3,`variant`],[3,`appSearchHighlight`],[`appButton`,``,`type`,`button`,`aria-haspopup`,`dialog`],[`popover`,`auto`,`role`,`dialog`,`tabindex`,`0`,1,`permissions-popover`,3,`id`],[1,`permissions-heading`,`spacer-x-3`],[3,`id`],[`appButton`,``,`type`,`button`,`popovertargetaction`,`hide`,`autofocus`,``],[1,`permissions-list`],[`appBadge`,``,3,`variant`],[`appButton`,``,`variant`,`danger`,`type`,`button`,3,`disabled`],[`appButton`,``,`variant`,`danger`,`type`,`button`,3,`click`,`disabled`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`]],template:function(e,t){if(e&1&&(Us(0,`section`,2)(1,`app-page-header`)(2,`h1`,3),y_(3),fd(),Us(4,`p`,4),y_(5),fd(),Us(6,`a`,5),y_(7),fd()(),Us(8,`a`,6),y_(9),fd(),Us(10,`div`,7)(11,`app-list-toolbar`)(12,`app-list-search`,8,0),Gy(`valueChange`,function(m){return t.table.search(m)}),fd(),Us(14,`app-filter-menu`,9,1),Iy(16,Se,1,5,`ng-template`,10),fd(),Py(17,`app-table-export`,11),fd(),OS(18,Ee,2,2,`div`,12),OS(19,we,2,1,`p`,13),OS(20,Ae,2,1,`p`,14)(21,Oe,5,4,`app-empty-state`,15)(22,De,21,15,`div`,16),OS(23,Le,3,4,`footer`,17),OS(24,Fe,2,2,`button`,18),fd()()),e&2){let a;ZC(3),nv(t.i18n.t(`backOffice.apiTokens.title`)),ZC(2),nv(t.i18n.t(`backOffice.apiTokens.intro`)),ZC(),Fy(`queryParams`,t.navigation.params()),ZC(),nv(t.i18n.t(`backOffice.apiTokens.create`)),ZC(2),nv(t.i18n.t(`backOffice.apiTokens.documentation`)),ZC(3),Fy(`label`,t.i18n.t(`configurationWorkspace.searchTokens`))(`value`,t.table.query().q),ZC(2),Fy(`label`,t.i18n.t(`listWorkspace.filters`))(`closeLabel`,t.i18n.t(`listWorkspace.closeFilters`))(`backLabel`,t.i18n.t(`listWorkspace.backFilters`))(`activeCount`,t.filterCount())(`disabled`,t.loading()),ZC(2),Fy(`label`,t.i18n.t(`configurationWorkspace.status`))(`summary`,t.table.filterSummary()),ZC(),Fy(`columns`,O_(25,xe))(`rows`,t.tokenExport())(`label`,t.i18n.t(`listWorkspace.exportCsv`))(`emptyHint`,t.i18n.t(`listWorkspace.exportEmpty`))(`pendingHint`,t.i18n.t(`listWorkspace.exportPending`))(`pending`,t.loading()||t.loadingMore()||t.revoking()||t.pageError()!==void 0),ZC(),kS(t.filterCount()?18:-1),ZC(),kS((a=t.errorMessage())?19:-1,a),ZC(),kS(t.loading()?20:t.table.results().length===0&&!t.pageError()?21:22),ZC(3),kS(t.loading()?-1:23),ZC(),kS(t.nextCursor()!==null?24:-1)}},dependencies:[d,N,c,l$1,f,k,g$1,Dt,u,U,B,Q,Z,b,Fe$1,h,$,m,p],styles:[`.entity-label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--%NS%space-2);min-inline-size:0}.entity-label[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:last-child{min-inline-size:0}[_nghost-%COMP%]{display:block}.tokens-page[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-5);padding:var(--%NS%page-header-y) var(--%NS%page-x)}.permissions-heading[_ngcontent-%COMP%]{justify-content:space-between}.permissions-heading[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:var(--%NS%text-lg)}.permissions-popover[_ngcontent-%COMP%]{position:fixed;position-area:block-end;position-try-fallbacks:flip-block,block-end span-inline-start,block-start span-inline-start,block-end span-inline-end,block-start span-inline-end;inset:auto;inline-size:min(36rem,100vw - 2rem);max-block-size:min(32rem,100dvh - 4rem);overflow:auto;overscroll-behavior:contain;margin:var(--%NS%space-2);padding:var(--%NS%space-4);border:1px solid var(--%NS%color-line-strong);border-radius:var(--%NS%radius-md);background:var(--%NS%color-surface-raised);color:var(--%NS%color-ink);box-shadow:var(--%NS%shadow-page);overflow-wrap:anywhere}.permissions-list[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-3);margin-block:var(--%NS%space-4) 0;padding-inline-start:var(--%NS%space-5)}.permissions-list[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block;color:var(--%NS%color-muted);font-size:var(--%NS%text-sm)}.field[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-2)}fieldset[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-3);min-width:0;margin:0;padding:var(--%NS%space-4)}.permission-grid[_ngcontent-%COMP%]{max-height:min(26rem,50dvh);overflow:auto}.permission-search[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-2)}.permission-grid[_ngcontent-%COMP%] table[_ngcontent-%COMP%]{width:100%;min-width:38rem}.permission-grid[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:last-child, .permission-selection[_ngcontent-%COMP%]{width:7rem;text-align:center}.permission-selection[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:1.1rem;height:1.1rem}`]})};export{ye as ApiTokens};
@@ -1 +0,0 @@
1
- import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,Gn as k_,Ir as wp,It as Us,Jr as zS,K as Ke,Nr as vd,Rn as jS,Tn as fd,Wn as kS,Wr as y_,X as LS,dr as pe$1,ft as Ol,l as A_,lt as OS,pr as qS,qn as ky,rr as nv,ut as O_,vt as Py,w as Fb,z as Ip}from"./chunk-BAHiFuUo.js";import{h as Ne,m as Ie,r as N,v as Dt}from"./main-AJD2LGCE.js";import"./chunk-CuukTiS1.js";import{t as g$1}from"./chunk-B56nz2lI.js";import"./chunk-BzUDWIzm.js";import"./chunk-CczD0yXn.js";import"./chunk-CReShp-B.js";import{t as k}from"./chunk-DRgIjFR6.js";import"./chunk-BAe_07VM.js";import"./chunk-CjtJKrza.js";import{d as V,m as h,s as P}from"./chunk-BQRlJCOd.js";import{c as W,i as K,l as q,n as C,o as N$1,r as F,u as w}from"./chunk-mI1TUlml.js";import"./chunk-Dv9sNWWK.js";import{t as R}from"./chunk-BlE9HnAo.js";import"./chunk-BWNhkOOr.js";import"./chunk-CSkyOfSg.js";import{n as m,t as d}from"./chunk-cTGENC4T.js";import{t as Ft$1}from"./chunk-DjewtV43.js";import"./chunk-CXHCUTDs2.js";import"./chunk-ZBDWcE362.js";import"./chunk-CP-AnFGa2.js";import"./chunk-scbWWgLx2.js";import{n as B,t as $}from"./chunk-DMlYYeVV2.js";import{t as u}from"./chunk-osh5v_OU2.js";import{t as c}from"./chunk-D83vXRZS2.js";import"./chunk-CdEOFR_J.js";import"./chunk-BKWyrwrz.js";import{t as l}from"./chunk-CH-_LXUF.js";import"./chunk-Bsy3r41y.js";import"./chunk-C3v6o8sk.js";import{n as Z,t as P$1}from"./chunk-DsbC92Ad2.js";import{t as d$1}from"./chunk-CGgGK0-O2.js";var se=()=>({credit:`with`});var ce=s=>({count:s});var le=s=>[`/invoices`,s];var de=(s,n)=>n.item.id;function pe(s,n){if(s&1&&(Us(0,`p`,7),y_(1),fd()),s&2){let e=qS();ZC(),nv(e.i18n.t(`backOffice.invoices.loading`))}}function me(s,n){if(s&1){let e=zS();Us(0,`p`,8),y_(1),fd(),Us(2,`button`,9),Gy(`click`,function(){Ip(e);return wp(qS().load())}),y_(3),fd()}if(s&2){let e=qS();ZC(),nv(e.i18n.t(`billingWorkspace.loadError`)),ZC(2),nv(e.i18n.t(`listControls.reload`))}}function ue(s,n){if(s&1){let e=zS();Us(0,`p`,8),y_(1),fd(),Us(2,`button`,9),Gy(`click`,function(){Ip(e);return wp(qS().load())}),y_(3),fd()}if(s&2){let e=qS();ZC(),nv(e.i18n.t(`billingWorkspace.limitExceeded`)),ZC(2),nv(e.i18n.t(`listControls.reload`))}}function fe(s,n){if(s&1&&(Us(0,`tr`)(1,`td`)(2,`div`,15),Py(3,`app-entity-icon`,16),Us(4,`a`,17),y_(5),fd()()(),Us(6,`td`)(7,`span`,18),y_(8),fd(),Us(9,`small`)(10,`span`,18),y_(11),fd(),y_(12,` · `),Us(13,`span`,18),y_(14),fd()()(),Us(15,`td`,18),y_(16),fd(),Us(17,`td`),y_(18),fd(),Us(19,`td`),y_(20),fd(),Us(21,`td`,19),y_(22),fd()()),s&2){let e=n.$implicit,i=qS(2),r=e.item;ZC(3),Fy(`variant`,i.iconVariant(r)),ZC(),Fy(`routerLink`,k_(17,le,r.invoiceId))(`queryParams`,i.detailQuery())(`fragment`,r.id)(`appSearchHighlight`,i.matchIndices(e,`reference`)),ZC(),nv(r.reference),ZC(2),Fy(`appSearchHighlight`,i.matchIndices(e,`invoiceNumber`)),ZC(),nv(r.invoiceNumber),ZC(2),Fy(`appSearchHighlight`,i.matchIndices(e,`title`)),ZC(),nv(r.title),ZC(2),Fy(`appSearchHighlight`,i.matchIndices(e,`orderReference`)),ZC(),nv(r.orderReference),ZC(),Fy(`appSearchHighlight`,i.matchIndices(e,`clientDisplayName`)),ZC(),vd(` `,r.clientDisplayName,` `),ZC(2),nv(r.refundedOn),ZC(2),nv(i.i18n.t(i.entryStatusKey(r))),ZC(2),nv(i.money(r.amountCents))}}function ye(s,n){if(s&1&&(Us(0,`tr`)(1,`td`,20),y_(2),fd()()),s&2){let e=qS(2);ZC(2),nv(e.i18n.t(e.emptyKey()))}}function ge(s,n){if(s&1){let e=zS();Us(0,`div`,10)(1,`table`)(2,`thead`)(3,`tr`)(4,`th`,11)(5,`button`,12),Gy(`click`,function(){Ip(e);return wp(qS().sortBy(`reference`))}),fd()(),Us(6,`th`,11)(7,`button`,12),Gy(`click`,function(){Ip(e);return wp(qS().sortBy(`invoice`))}),fd()(),Us(8,`th`,11)(9,`button`,12),Gy(`click`,function(){Ip(e);return wp(qS().sortBy(`client`))}),fd()(),Us(10,`th`,11)(11,`button`,12),Gy(`click`,function(){Ip(e);return wp(qS().sortBy(`date`))}),fd()(),Us(12,`th`,11)(13,`button`,12),Gy(`click`,function(){Ip(e);return wp(qS().sortBy(`status`))}),fd()(),Us(14,`th`,13)(15,`button`,12),Gy(`click`,function(){Ip(e);return wp(qS().sortBy(`amount`))}),fd()()()(),Us(16,`tbody`),LS(17,fe,23,19,`tr`,null,de,!1,ye,3,1,`tr`),fd()()(),Us(20,`footer`,14)(21,`p`,7),y_(22),fd()()}if(s&2){let e=qS();ZC(4),ky(`aria-sort`,e.sortDirection(e.sort(),`reference`)),ZC(),Fy(`label`,e.i18n.t(`credit.reference`))(`direction`,e.sortDirection(e.sort(),`reference`)),ZC(),ky(`aria-sort`,e.sortDirection(e.sort(),`invoice`)),ZC(),Fy(`label`,e.i18n.t(`backOffice.invoices.number`))(`direction`,e.sortDirection(e.sort(),`invoice`)),ZC(),ky(`aria-sort`,e.sortDirection(e.sort(),`client`)),ZC(),Fy(`label`,e.i18n.t(`backOffice.invoices.client`))(`direction`,e.sortDirection(e.sort(),`client`)),ZC(),ky(`aria-sort`,e.sortDirection(e.sort(),`date`)),ZC(),Fy(`label`,e.i18n.t(`credit.refundedOn`))(`direction`,e.sortDirection(e.sort(),`date`)),ZC(),ky(`aria-sort`,e.sortDirection(e.sort(),`status`)),ZC(),Fy(`label`,e.i18n.t(`billingWorkspace.financialStatus`))(`direction`,e.sortDirection(e.sort(),`status`)),ZC(),ky(`aria-sort`,e.sortDirection(e.sort(),`amount`)),ZC(),Fy(`label`,e.i18n.t(`credit.amount`))(`direction`,e.sortDirection(e.sort(),`amount`)),ZC(2),jS(e.visible()),ZC(5),nv(e.i18n.plural(`entityList.refunds`,k_(20,ce,e.visible().length)))}}var oe=class s{i18n=g(Ie);api=g(R);destroyRef=g(pe$1);filters=g(P$1);detailQuery=Ft(()=>W(`refunds`,this.filters.params(),`credit`));entryStatusKey=F;emptyKey=Ft(()=>w(this.rows().length));exportEmptyKey=Ft(()=>q(this.state()));rows=Ke([]);sort=Ft(()=>K(this.filters.params(),C));sortDirection=P;matchIndices=V;searchResults=Ft$1(this.rows,Ft(()=>this.filters.fields.q().value()),{keys:[`reference`,`invoiceNumber`,`title`,`clientDisplayName`,`orderReference`],ignoreDiacritics:!0,ignoreLocation:!0,includeMatches:!0,threshold:.35});visible=Ft(()=>{let n=new Intl.Collator(this.i18n.language(),{numeric:!0,sensitivity:`base`});return this.searchResults().filter(({item:e})=>this.filters.passes(e,e.refundedOn)).toSorted((e,i)=>N$1(e.item,i.item,this.sort(),n,r=>this.i18n.t(r)))});sortBy(n){this.filters.updateSort(h(this.sort(),n))}iconVariant(n){return n.cancelledAt===null?`success`:`danger`}clients=Ft(()=>[...new Map(this.rows().map(n=>[n.clientId,n.clientDisplayName])).entries()]);state=Ke(`loading`);csvColumns=Ft(()=>[this.i18n.t(`credit.reference`),this.i18n.t(`backOffice.invoices.number`),this.i18n.t(`backOffice.invoice.title`),this.i18n.t(`backOffice.invoice.order`),this.i18n.t(`backOffice.invoices.client`),this.i18n.t(`credit.refundedOn`),this.i18n.t(`billingWorkspace.financialStatus`),`${this.i18n.t(`credit.amount`)} (EUR)`]);csvRows=Ft(()=>this.state()!==`ready`?[]:this.visible().map(({item:n})=>[n.reference,n.invoiceNumber,n.title,n.orderReference,n.clientDisplayName,n.refundedOn,this.i18n.t(F(n)),n.amountCents/100]));constructor(){Ol(()=>{this.load()})}async load(){this.state.set(`loading`),this.rows.set([]);try{let n=await this.api.refunds();if(this.destroyRef.destroyed)return;n.success?(this.rows.set(n.result),this.state.set(`ready`)):this.state.set(n.code===`invoice.workspace_limit`?`limit`:`error`)}catch{this.destroyRef.destroyed||this.state.set(`error`)}}money(n){return Ne(n,this.i18n.language(),`EUR`)}static ɵfac=function(e){return new(e||s)};static ɵcmp=Fb({type:s,selectors:[[`app-refund-list`]],hostAttrs:[1,`page-container`],features:[A_([P$1,d])],decls:18,vars:16,consts:[[`aria-labelledby`,`refunds-title`,1,`detail-page`,`wide-page`,`billing-page`],[`id`,`refunds-title`],[1,`muted`],[`pageActions`,``,`appLinkButton`,``,`icon`,`invoice`,`variant`,`primary`,`routerLink`,`/billing`,3,`queryParams`],[`appListWorkspace`,``],[3,`clients`,`disabled`,`periodLabel`],[`listActions`,``,`filename`,`refunds.csv`,3,`columns`,`rows`,`label`,`emptyHint`,`pendingHint`,`pending`],[`role`,`status`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`appButton`,``,3,`click`],[`appDataTable`,``],[`scope`,`col`],[`appTableSort`,``,3,`click`,`label`,`direction`],[`scope`,`col`,1,`amount`],[1,`list-summary`],[1,`entity-label`],[`icon`,`bank`,3,`variant`],[3,`routerLink`,`queryParams`,`fragment`,`appSearchHighlight`],[3,`appSearchHighlight`],[1,`amount`],[`colspan`,`6`]],template:function(e,i){if(e&1&&(Us(0,`section`,0)(1,`app-page-header`)(2,`h1`,1),y_(3),fd(),Us(4,`p`,2),y_(5),fd(),Us(6,`a`,3),y_(7),fd()(),Py(8,`app-billing-nav`),Us(9,`section`,4)(10,`app-billing-entry-filters`,5),Py(11,`app-table-export`,6),fd(),OS(12,pe,2,1,`p`,7)(13,me,4,2)(14,ue,4,2)(15,ge,23,22),fd(),Us(16,`p`,2),y_(17),fd()()),e&2){let r;ZC(3),nv(i.i18n.t(`backOffice.billing.title`)),ZC(2),nv(i.i18n.t(`backOffice.billing.intro`)),ZC(),Fy(`queryParams`,O_(15,se)),ZC(),nv(i.i18n.t(`billingWorkspace.chooseInvoice`)),ZC(3),Fy(`clients`,i.clients())(`disabled`,i.state()!==`ready`)(`periodLabel`,i.i18n.t(`billingWorkspace.refundPeriod`)),ZC(),Fy(`columns`,i.csvColumns())(`rows`,i.csvRows())(`label`,i.i18n.t(`listWorkspace.exportCsv`))(`emptyHint`,i.i18n.t(i.exportEmptyKey()))(`pendingHint`,i.i18n.t(`listWorkspace.exportPending`))(`pending`,i.state()===`loading`),ZC(),kS((r=i.state())===`loading`?12:r===`error`?13:r===`limit`?14:r===`ready`?15:-1),ZC(5),nv(i.i18n.t(`billingWorkspace.refundHint`))}},dependencies:[l,N,k,g$1,c,Dt,d$1,Z,u,m,B,$],styles:[`[_nghost-%COMP%]{display:block}[appListWorkspace][_ngcontent-%COMP%] > p[_ngcontent-%COMP%]{margin-block:0}header[_ngcontent-%COMP%], .actions[_ngcontent-%COMP%], .filters[_ngcontent-%COMP%], .chips[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--%NS%space-3)}header[_ngcontent-%COMP%]{justify-content:space-between;align-items:start}.billing-page[_ngcontent-%COMP%] > h1[_ngcontent-%COMP%]{font-size:var(--%NS%text-2xl);margin-block:var(--%NS%space-2)}h2[_ngcontent-%COMP%]{font-size:var(--%NS%text-xl)}.field[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-2);min-inline-size:0}.filters[_ngcontent-%COMP%]{align-items:end}.filters[_ngcontent-%COMP%] .search[_ngcontent-%COMP%]{flex:1 1 22rem}.filters[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]:not(.search){flex:1 1 10rem}.amount[_ngcontent-%COMP%]{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}td[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{display:block;color:var(--%NS%color-muted)}.muted[_ngcontent-%COMP%]{color:var(--%NS%color-muted)}.empty[_ngcontent-%COMP%], .bulk-actions[_ngcontent-%COMP%], .summary[_ngcontent-%COMP%]{padding:var(--%NS%space-4)}.task-form[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-5);inline-size:100%}.fields[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--%NS%space-4)}.field-error[_ngcontent-%COMP%]{color:var(--%NS%color-danger);font-size:var(--%NS%text-sm)}.field-error[_ngcontent-%COMP%]:empty{display:none}dl[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-3)}dl[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--%NS%space-2) var(--%NS%space-4)}dt[_ngcontent-%COMP%]{color:var(--%NS%color-muted)}dd[_ngcontent-%COMP%]{margin:0;overflow-wrap:anywhere}ol[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4)}.history-entry[_ngcontent-%COMP%]{padding:var(--%NS%space-4);overflow-wrap:anywhere}@media(max-width:40rem){.fields[_ngcontent-%COMP%]{grid-template-columns:1fr}}.entity-label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--%NS%space-2);min-inline-size:0}.entity-label[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:last-child{min-inline-size:0}`]})};export{oe as RefundList};
@@ -1 +0,0 @@
1
- import{$t as ZC,A as Gy,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-AJD2LGCE.js";import{t as g$1}from"./chunk-B56nz2lI.js";import"./chunk-BzUDWIzm.js";import"./chunk-CReShp-B.js";import{t as k}from"./chunk-DRgIjFR6.js";import{ct as Me,wi as wu}from"./chunk-BAe_07VM.js";import{t as P}from"./chunk-DzxhjLIR.js";import{Ia as a,Zr as Ss}from"./chunk-CjtJKrza.js";import"./chunk-Dv9sNWWK.js";import"./chunk-BWNhkOOr.js";import{t as l}from"./chunk-Bm0a1bep.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"./chunk-DjewtV43.js";import"./chunk-2sHWWuzv2.js";import{t as y}from"./chunk-78yNgJiB.js";import"./chunk-CP9GxcYV.js";import{t as a$1}from"./chunk-1ErswIDf.js";import"./chunk-CHUMIo442.js";import{t as b}from"./chunk-DpbG_pUL.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};
@@ -1 +0,0 @@
1
- import{$t as ZC,A as Gy,Dn as g,E as Ft,Ir as wp,It as Us,Jr as zS,Jt as Xy,K as Ke,Rn as jS,St as Qy,Tn as fd,Wn as kS,Wr as y_,X as LS,lt as OS,nt as NH,pr as qS,qn as ky,rr as nv,vt as Py,w as Fb,x as Es,z as Ip}from"./chunk-BAHiFuUo.js";import{i as r,m as Ie}from"./main-AJD2LGCE.js";import"./chunk-BAe_07VM.js";import"./chunk-CjtJKrza.js";import"./chunk-Dv9sNWWK.js";import"./chunk-BWNhkOOr.js";import{t as m}from"./chunk-oS95kAu6.js";var z=(s,t)=>t.id;function I(s,t){s&1&&Py(0,`span`,6)}function D(s,t){if(s&1){let e=zS();Us(0,`div`,1),Es(`flash-enter`),Us(1,`div`,2)(2,`article`,3),Gy(`pointerdown`,function(a){let i=Ip(e).$implicit;return wp(qS(2).dragStart(a,i))})(`pointermove`,function(a){let i=Ip(e).$implicit;return wp(qS(2).dragMove(a,i))})(`pointerup`,function(a){let i=Ip(e).$implicit;return wp(qS(2).dragEnd(a,i))})(`pointercancel`,function(a){let i=Ip(e).$implicit;return wp(qS(2).dragEnd(a,i))})(`mouseenter`,function(){let a=Ip(e).$implicit;return wp(qS(2).pause(a))})(`mouseleave`,function(a){let i=Ip(e).$implicit;return wp(qS(2).resume(a,i))})(`focusin`,function(){let a=Ip(e).$implicit;return wp(qS(2).pause(a))})(`focusout`,function(a){let i=Ip(e).$implicit;return wp(qS(2).resume(a,i))}),Us(3,`p`),y_(4),fd(),Us(5,`button`,4),Gy(`click`,function(){let a=Ip(e).$implicit;return wp(qS(2).flash.dismiss(a.id))}),Py(6,`app-icon`,5),fd(),OS(7,I,1,0,`span`,6),fd()()()}if(s&2){let e=t.$implicit,n=qS(2);ZC(2),Qy(`--%NS%flash-duration`,e.timeoutMillis?e.timeoutMillis+`ms`:null),Xy(`dragging`,n.dragging(e)),ky(`data-variant`,e.variant),ZC(),ky(`role`,n.role(e)),ZC(),nv(e.text),ZC(),ky(`aria-label`,n.i18n.t(`notice.dismiss`)),ZC(2),kS(e.timeoutMillis?7:-1)}}function X(s,t){if(s&1&&(Us(0,`section`,0),LS(1,D,8,9,`div`,1,z),fd()),s&2){let e=qS();ky(`aria-label`,e.i18n.t(`flash.messages`)),ZC(),jS(e.flash.messages())}}var $=class s{flash=g(m);i18n=g(Ie);mode=NH();displayMode=Ft(()=>this.mode()??this.flash.mode());drag=Ke(void 0);role(t){return t.variant===`danger`||t.variant===`warning`?`alert`:`status`}dragStart(t,e){t.pointerType!==`mouse`&&t.currentTarget instanceof HTMLElement&&(this.flash.pause(e.id),this.drag.set({id:e.id,startX:t.clientX}),t.currentTarget.setPointerCapture(t.pointerId))}dragMove(t,e){let n=this.drag();n?.id===e.id&&t.currentTarget instanceof HTMLElement&&t.currentTarget.style.setProperty(`--flash-drag`,`${t.clientX-n.startX}px`)}dragEnd(t,e){let n=this.drag();if(n?.id!==e.id||!(t.currentTarget instanceof HTMLElement))return;this.drag.set(void 0);let a=t.clientX-n.startX;if(t.currentTarget.style.removeProperty(`--flash-drag`),Math.abs(a)>=64){this.flash.dismiss(e.id);return}this.resumeIfIdle(t.currentTarget,e,!1)}pause(t){this.flash.pause(t.id)}resume(t,e){t.currentTarget instanceof HTMLElement&&this.resumeIfIdle(t.currentTarget,e,!0)}dragging(t){return this.drag()?.id===t.id}resumeIfIdle(t,e,n){this.dragging(e)||n&&t.matches(`:hover`)||t.contains(t.ownerDocument.activeElement)||this.flash.resume(e.id)}static ɵfac=function(e){return new(e||s)};static ɵcmp=Fb({type:s,selectors:[[`app-flash-outlet`]],hostVars:1,hostBindings:function(e,n){e&2&&ky(`data-flash-mode`,n.displayMode())},inputs:{mode:[1,`mode`]},decls:1,vars:1,consts:[[1,`flash-stack`],[1,`flash-slot`],[1,`flash-slot-inner`],[`tabindex`,`0`,1,`flash-message`,3,`pointerdown`,`pointermove`,`pointerup`,`pointercancel`,`mouseenter`,`mouseleave`,`focusin`,`focusout`],[`type`,`button`,1,`flash-dismiss`,3,`click`],[`name`,`close`],[`aria-hidden`,`true`,1,`flash-progress`]],template:function(e,n){e&1&&OS(0,X,3,1,`section`,0),e&2&&kS(n.flash.messages().length?0:-1)},dependencies:[r],styles:[`[_nghost-%COMP%]{display:block;min-inline-size:0}.flash-stack[_ngcontent-%COMP%]{display:grid;margin:0 auto var(--%NS%space-4);padding-inline:var(--%NS%page-x);max-inline-size:var(--%NS%layout-max)}.flash-slot[_ngcontent-%COMP%]{display:grid;min-inline-size:0;grid-template-rows:1fr}.flash-slot-inner[_ngcontent-%COMP%]{min-block-size:0;overflow:hidden;padding-block-end:var(--%NS%space-3)}.flash-slot[_ngcontent-%COMP%]:last-child .flash-slot-inner[_ngcontent-%COMP%]{padding-block-end:0}[data-flash-mode=toast][_nghost-%COMP%], [data-flash-mode=snack][_nghost-%COMP%]{position:fixed;z-index:1000;inset-inline-end:var(--%NS%space-4);inset-block-start:var(--%NS%space-4);max-inline-size:min(24rem,100vw - 2rem)}[data-flash-mode=snack][_nghost-%COMP%]{inset-inline:50% auto;inset-block:auto var(--%NS%space-4);translate:-50% 0;inline-size:min(32rem,100vw - 2rem)}[_nghost-%COMP%]:is([data-flash-mode=toast],[data-flash-mode=snack]) .flash-stack[_ngcontent-%COMP%]{margin:0;padding:0}.flash-message[_ngcontent-%COMP%]{--%NS%flash-accent: var(--%NS%color-info);position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--%NS%space-3);overflow:hidden;padding:var(--%NS%space-3) var(--%NS%space-4);border:1px solid color-mix(in oklab,var(--%NS%flash-accent),var(--%NS%color-line) 55%);border-radius:var(--%NS%radius-sm);background:color-mix(in oklab,var(--%NS%flash-accent) 10%,var(--%NS%color-surface-raised));box-shadow:var(--%NS%shadow-panel);transform:translate(var(--%NS%flash-drag, 0));touch-action:pan-y}.flash-enter[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_flash-enter .18s ease-out both}.flash-message[data-variant=success][_ngcontent-%COMP%]{--%NS%flash-accent: var(--%NS%color-success)}.flash-message[data-variant=warning][_ngcontent-%COMP%]{--%NS%flash-accent: var(--%NS%color-warning)}.flash-message[data-variant=danger][_ngcontent-%COMP%]{--%NS%flash-accent: var(--%NS%color-danger)}.flash-message[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0}.flash-dismiss[_ngcontent-%COMP%]{display:inline-grid;align-self:start;min-inline-size:2.75rem;min-block-size:2.75rem;margin:calc(-1 * var(--%NS%space-2));padding:0;border:0;border-radius:var(--%NS%radius-sm);place-items:center;background:transparent;color:inherit;cursor:pointer;transition:background-color .12s ease,transform .12s ease}.flash-dismiss[_ngcontent-%COMP%]:hover{background:color-mix(in oklab,currentColor 10%,transparent)}.flash-dismiss[_ngcontent-%COMP%]:active{transform:scale(.9)}.flash-progress[_ngcontent-%COMP%]{position:absolute;inset-inline-start:0;inset-block-end:0;block-size:.2rem;inline-size:100%;background:var(--%NS%flash-accent);transform-origin:left;animation:_ngcontent-%COMP%_flash-timeout var(--%NS%flash-duration) linear forwards}.flash-message[_ngcontent-%COMP%]:is(:hover,:focus-within,.dragging) .flash-progress[_ngcontent-%COMP%]{animation-play-state:paused}@keyframes _ngcontent-%COMP%_flash-enter{0%{grid-template-rows:0fr;opacity:0;transform:translateY(-.5rem)}}@keyframes _ngcontent-%COMP%_flash-timeout{to{transform:scaleX(0)}}@media(prefers-reduced-motion:reduce){.flash-enter[_ngcontent-%COMP%]{animation-duration:1ms}.flash-dismiss[_ngcontent-%COMP%]{transition:none}.flash-progress[_ngcontent-%COMP%]{animation-timing-function:steps(1,end)}}`]})};export{$ as FlashOutlet};
@@ -1,3 +0,0 @@
1
- import{$ as MH,$t as ZC,A as Gy,D as Fy,Dn as g,Dr as t_,E as Ft,It as Us,J as Ky,St as Qy,Tn as fd,Vr as xH,W as KS,Wr as y_,c as AH,dr as pe,en as ZS,j as H,kn as hd,ln as ad,mr as qT,nt as NH,qn as ky,rr as nv,tn as ZT,ur as pd,vt as Py,w as Fb,xn as e_}from"./chunk-BAHiFuUo.js";import{i as r,r as N}from"./main-AJD2LGCE.js";import{d as nr,h as yn,n as an}from"./chunk-CSkyOfSg.js";import{t as D}from"./chunk-CXHCUTDs2.js";var W=[[[``,`listSearch`,``]],[[``,`listFilters`,``]],`*`,[[``,`listActions`,``]]];var G=[`[listSearch]`,`[listFilters]`,`*`,`[listActions]`];var U=class i{static ɵfac=function(e){return new(e||i)};static ɵcmp=Fb({type:i,selectors:[[`app-list-toolbar`]],ngContentSelectors:G,decls:8,vars:0,consts:[[1,`controls`],[1,`search`],[1,`filters`],[1,`actions`]],template:function(e,n){e&1&&(ZS(W),pd(0,`div`,0)(1,`div`,1),KS(2),hd(),pd(3,`div`,2),KS(4,1),KS(5,2),hd(),pd(6,`div`,3),KS(7,3),hd()())},styles:[`[_nghost-%COMP%]{display:block;min-inline-size:0}.controls[_ngcontent-%COMP%], .filters[_ngcontent-%COMP%], .actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--%NS%space-3);min-inline-size:0}.search[_ngcontent-%COMP%]{display:grid;flex:1 1 18rem;min-inline-size:0}.actions[_ngcontent-%COMP%]{margin-inline-start:auto}[_ngcontent-%COMP%]:is(.search,.filters,.actions):empty{display:none}@media(max-width:40rem){.search[_ngcontent-%COMP%]{flex-basis:100%}}`]})};var B=class i{static ɵfac=function(e){return new(e||i)};static ɵdir=ad({type:i,selectors:[[``,`appListWorkspace`,``]],hostVars:8,hostBindings:function(e,n){e&2&&Qy(`display`,`grid`)(`gap`,`var(--space-4)`)(`min-inline-size`,`0`)(`align-content`,`start`)}})};var J=[`control`];var Q=class i{label=NH.required();placeholder=NH(``);value=AH(``);disabled=NH(!1);touch=MH();search=nr(this.value,t=>{an(t,()=>this.disabled())});control=xH.required(`control`);focus(t){this.control().nativeElement.focus(t)}static ɵfac=function(e){return new(e||i)};static ɵcmp=Fb({type:i,selectors:[[`app-list-search`]],viewQuery:function(e,n){e&1&&Ky(n.control,J,5),e&2&&e_()},inputs:{label:[1,`label`],placeholder:[1,`placeholder`],value:[1,`value`],disabled:[1,`disabled`]},outputs:{value:`valueChange`,touch:`touch`},decls:7,vars:3,consts:[[`control`,``],[1,`field`],[1,`sr-only`],[1,`control`],[`name`,`search`],[`type`,`search`,`autocomplete`,`off`,1,`input`,3,`blur`,`formField`,`placeholder`]],template:function(e,n){e&1&&(Us(0,`label`,1)(1,`span`,2),y_(2),fd(),Us(3,`span`,3),Py(4,`app-icon`,4),Us(5,`input`,5,0),Gy(`blur`,function(){return n.touch.emit()}),fd(),qT(),fd()()),e&2&&(ZC(2),nv(n.label()),ZC(3),Fy(`formField`,n.search)(`placeholder`,n.placeholder()||n.label()),ZT())},dependencies:[yn,r],styles:[`[_nghost-%COMP%]{display:block;min-inline-size:0;inline-size:100%}.field[_ngcontent-%COMP%]{gap:0}.sr-only[_ngcontent-%COMP%]{position:absolute;inline-size:1px;block-size:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.control[_ngcontent-%COMP%]{display:grid;align-items:center;min-inline-size:0}.input[_ngcontent-%COMP%], app-icon[_ngcontent-%COMP%]{grid-area:1/1}.input[_ngcontent-%COMP%]{inline-size:100%;padding-inline-start:calc(var(--%NS%space-3) + 1rem + var(--%NS%space-2))}app-icon[_ngcontent-%COMP%]{z-index:1;margin-inline-start:var(--%NS%space-3);color:var(--%NS%color-muted);pointer-events:none}@media(pointer:coarse){.input[_ngcontent-%COMP%]{min-block-size:2.75rem;font-size:var(--%NS%text-base)}}`]})};function K(i){let t=String(i??``),e=t.trimStart();return`"${(!Number.isFinite(i)&&(/^[=+\-@=+-@]/u.test(e)||e.charCodeAt(0)<32||/^[\t\r\n]/u.test(t))?`'${t}`:t).replaceAll(`"`,`""`)}"`}function V(i,t){if(i.length===0)throw new RangeError(`csv-columns-required`);if(t.some(e=>e.length!==i.length))throw new RangeError(`csv-row-width`);return`\uFEFF${[i,...t].map(e=>e.map(K).join(`,`)).join(`\r
2
- `)}\r
3
- `}var $=class i{columns=NH.required();rows=NH.required();filename=NH.required();label=NH.required();emptyHint=NH.required();pendingHint=NH.required();pending=NH(!1);unavailable=Ft(()=>this.pending()||this.rows().length===0);hintText=Ft(()=>this.pending()?this.pendingHint():this.rows().length===0?this.emptyHint():this.label());document=g(H);downloads=new Map;constructor(){g(pe).onDestroy(()=>{for(let[t,e]of this.downloads)clearTimeout(e),URL.revokeObjectURL(t);this.downloads.clear()})}download(){if(this.unavailable())return;let t=new Blob([V(this.columns(),this.rows())],{type:`text/csv;charset=utf-8`}),e=URL.createObjectURL(t);this.downloads.set(e,setTimeout(()=>{URL.revokeObjectURL(e),this.downloads.delete(e)},1e3));let n=this.document.createElement(`a`);n.href=e,n.download=this.filename(),n.hidden=!0,this.document.body.append(n);try{n.click()}finally{n.remove()}}static ɵfac=function(e){return new(e||i)};static ɵcmp=Fb({type:i,selectors:[[`app-table-export`]],inputs:{columns:[1,`columns`],rows:[1,`rows`],filename:[1,`filename`],label:[1,`label`],emptyHint:[1,`emptyHint`],pendingHint:[1,`pendingHint`],pending:[1,`pending`]},decls:4,vars:5,consts:[[`hint`,``],[3,`text`],[`appButton`,``,`type`,`button`,3,`click`,`iconOnly`],[`name`,`download`]],template:function(e,n){if(e&1&&(Us(0,`app-hint`,1,0)(2,`button`,2),Gy(`click`,function(){return n.download()}),Py(3,`app-icon`,3),fd()()),e&2){let p=t_(1);Fy(`text`,n.hintText()),ZC(2),Fy(`iconOnly`,!0),ky(`aria-label`,n.label())(`aria-describedby`,p.id)(`aria-disabled`,n.unavailable())}},dependencies:[N,D,r],styles:[`[_nghost-%COMP%]{display:inline-flex}@media(pointer:coarse){button[_ngcontent-%COMP%]{min-inline-size:2.75rem;min-block-size:2.75rem}}`]})};export{U as i,B as n,Q as r,$ as t};
@@ -1 +0,0 @@
1
- import{n as m,t as l}from"./chunk-BwCtja5l.js";import{$t as ZC,A as Gy,At as S_,C as F_,D as Fy,Dn as g,Dr as t_,E as Ft,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{m as Ie,r as N,v as Dt}from"./main-AJD2LGCE.js";import{t as g$1}from"./chunk-B56nz2lI.js";import"./chunk-BzUDWIzm.js";import"./chunk-CczD0yXn.js";import"./chunk-CReShp-B.js";import{t as Ae$1}from"./chunk-DUJbqlfC.js";import{t as k}from"./chunk-DRgIjFR6.js";import{ct as Me,wi as wu}from"./chunk-BAe_07VM.js";import{t as P}from"./chunk-DzxhjLIR.js";import{T as Ba}from"./chunk-CjtJKrza.js";import"./chunk-Dv9sNWWK.js";import{t as E}from"./chunk-BWNhkOOr.js";import{t as l$1}from"./chunk-Bm0a1bep.js";import{d as nr,h as yn,n as an}from"./chunk-CSkyOfSg.js";import{n as m$1,t as d}from"./chunk-cTGENC4T.js";import"./chunk-DjewtV43.js";import{t as p}from"./chunk-BHEFFEGN.js";import"./chunk-CXHCUTDs2.js";import"./chunk-ZBDWcE362.js";import"./chunk-CP-AnFGa2.js";import"./chunk-scbWWgLx2.js";import{a as r,i as n}from"./chunk-BqIPzI6E2.js";import{t as N$1}from"./chunk-2sHWWuzv2.js";import{i as U,n as B,r as Q,t as $}from"./chunk-DMlYYeVV2.js";import{t as u}from"./chunk-osh5v_OU2.js";import{t as c}from"./chunk-D83vXRZS2.js";import{t as h}from"./chunk-DODMV1QO.js";import{n as b,t as Z}from"./chunk-BKWyrwrz.js";import{t as l$2}from"./chunk-CH-_LXUF.js";import"./chunk-Bsy3r41y.js";import{t as Fe}from"./chunk-C3v6o8sk.js";import{n as u$1,t as b$1}from"./chunk-BbKL19W02.js";import{t as m$2}from"./chunk-oS95kAu6.js";import{t as u$2}from"./chunk-BjiyoDeK2.js";var Ne=()=>[`profile`,`status`,`version`];var We=()=>[`profile`,`createdAt`,`expiresAt`,`status`];var Oe=(a,i)=>({count:a,total:i});var Pe=()=>({dateStyle:`medium`,timeStyle:`short`});var Ve=(a,i)=>i.item.id;var Ae=(a,i)=>i.id;function De(a,i){if(a&1&&(Us(0,`a`,25),y_(1),fd()),a&2){let t=qS();Fy(`queryParams`,t.navigation.params()),ZC(),nv(t.i18n.t(`configurationWorkspace.newInvitation`))}}function He(a,i){if(a&1&&(Us(0,`a`,26),y_(1),fd()),a&2){let t=qS();ZC(),nv(t.i18n.t(`role.title`))}}function Be(a,i){if(a&1){let t=zS();Us(0,`p`,27),y_(1),fd(),Us(2,`button`,28),Gy(`click`,function(){Ip(t);return wp(qS().reload())}),y_(3),fd()}if(a&2){let t=qS();ZC(),nv(t.i18n.t(i)),ZC(),Fy(`disabled`,t.busy()||t.loading()),ZC(),vd(` `,t.i18n.t(`team.reload`),` `)}}function Re(a,i){if(a&1){let t=zS();Us(0,`app-filter-choice`,29),Gy(`committed`,function(l){Ip(t);let p=qS(),S=t_(19);return p.members.filter(l),wp(S.close())}),fd()}if(a&2){let t=qS();Fy(`label`,t.i18n.t(`listWorkspace.searchChoices`))(`emptyLabel`,t.i18n.t(`listWorkspace.noChoices`))(`options`,t.members.filterOptions())(`value`,t.members.query().filter)(`disabled`,t.loading()||t.busy())}}function qe(a,i){if(a&1){let t=zS();Us(0,`div`,17)(1,`button`,30),Gy(`click`,function(){Ip(t);let l=qS(),p=t_(17);return l.members.filter(`all`),wp(p.focus())}),fd()()}if(a&2){let t=qS();ZC(),Fy(`label`,t.members.filterSummary())(`disabled`,t.loading()||t.busy())}}function Ue(a,i){if(a&1&&(Us(0,`option`,37),y_(1),fd()),a&2){let t=i.$implicit;Fy(`value`,`custom:`+t.id),ZC(),nv(t.name)}}function $e(a,i){if(a&1){let t=zS();Us(0,`button`,28),Gy(`click`,function(){Ip(t),qS();let l=S_(0);return wp(qS().applyProfile(l))}),y_(1),fd()}if(a&2){let t=qS(2);Fy(`disabled`,t.busy()||t.loading()),ZC(),vd(` `,t.i18n.t(`configurationWorkspace.applyProfile`),` `)}}function ze(a,i){if(a&1){let t=zS();Us(0,`button`,40),Gy(`click`,function(){Ip(t),qS();let l=S_(0);return wp(qS().update(l,l.profile,l.disabledAt===null))}),y_(1),fd()}if(a&2){qS();let t=S_(0),e=qS();Fy(`variant`,e.memberAccessVariant(t))(`disabled`,e.busy()||e.loading()),ZC(),vd(` `,e.i18n.t(t.disabledAt===null?`team.disable`:`team.enable`),` `)}}function je(a,i){if(a&1&&(lv(0),Us(1,`tr`)(2,`th`,31)(3,`div`,32),Py(4,`app-entity-icon`,33),Us(5,`span`,34),y_(6),fd()()(),Us(7,`td`)(8,`span`,34),y_(9),fd()(),Us(10,`td`)(11,`label`,35),y_(12),Us(13,`select`,36)(14,`option`,37),y_(15),fd(),Us(16,`option`,37),y_(17),fd(),Us(18,`option`,37),y_(19),fd(),Us(20,`option`,37),y_(21),fd(),LS(22,Ue,2,2,`option`,37,Ae),fd(),qT(),fd()(),Us(24,`td`),y_(25),fd(),Us(26,`td`)(27,`div`,17),Iy(28,$e,2,2,`button`,38)(29,ze,2,3,`button`,39),fd()()()),a&2){let t=i.$implicit,e=qS(),l=b_(t.item);ZC(4),Fy(`variant`,e.memberIconVariant(l)),ZC(),Fy(`appSearchHighlight`,e.members.match(t,`displayName`)),ZC(),nv(l.displayName),ZC(2),Fy(`appSearchHighlight`,e.members.match(t,`email`)),ZC(),nv(l.email),ZC(3),vd(``,e.i18n.t(`configurationWorkspace.memberProfile`),` `),ZC(),Fy(`formField`,e.profileForm[l.id]),ZT(),ZC(),Fy(`value`,`accountant`),ZC(),nv(e.i18n.t(`team.accountant`)),ZC(),Fy(`value`,`accounting-validator`),ZC(),vd(` `,e.i18n.t(`team.accountingValidator`),` `),ZC(),Fy(`value`,`accounting-reader`),ZC(),vd(` `,e.i18n.t(`team.accountingReader`),` `),ZC(),Fy(`value`,`collaborator`),ZC(),nv(e.i18n.t(`team.collaborator`)),ZC(),jS(e.data().roles),ZC(3),nv(e.i18n.t(l.disabledAt===null?`team.active`:`team.disabled`)),ZC(3),Fy(`appCan`,`user.update`),ZC(),Fy(`appCan`,`user.update`)}}function Ke(a,i){if(a&1&&(Us(0,`tr`)(1,`td`,41),y_(2),fd()()),a&2){let t=qS();ZC(2),nv(t.i18n.t(`team.empty`))}}function Ge(a,i){if(a&1&&(Us(0,`footer`,21)(1,`p`,42),y_(2),fd()()),a&2){let t=qS();ZC(2),vd(` `,t.i18n.plural(`adminPages.membersCount`,F_(1,Oe,t.members.results().length,t.data().members.length)),` `)}}function Je(a,i){if(a&1){let t=zS();Us(0,`app-filter-choice`,29),Gy(`committed`,function(l){Ip(t);let p=qS(),S=t_(49);return p.invitations.filter(l),wp(S.close())}),fd()}if(a&2){let t=qS();Fy(`label`,t.i18n.t(`listWorkspace.searchChoices`))(`emptyLabel`,t.i18n.t(`listWorkspace.noChoices`))(`options`,t.invitations.filterOptions())(`value`,t.invitations.query().filter)(`disabled`,t.loading()||t.busy())}}function Qe(a,i){if(a&1){let t=zS();Us(0,`div`,17)(1,`button`,30),Gy(`click`,function(){Ip(t);let l=qS(),p=t_(47);return l.invitations.filter(`all`),wp(p.focus())}),fd()()}if(a&2){let t=qS();ZC(),Fy(`label`,t.invitations.filterSummary())(`disabled`,t.loading()||t.busy())}}function Xe(a,i){if(a&1&&y_(0),a&2)vd(` `,qS(2).i18n.t(`team.accepted`),` `)}function Ye(a,i){if(a&1&&y_(0),a&2)vd(` `,qS(2).i18n.t(`team.cancelled`),` `)}function Ze(a,i){if(a&1&&y_(0),a&2)vd(` `,qS(2).i18n.t(`team.expired`),` `)}function et(a,i){if(a&1){let t=zS();Us(0,`button`,28),Gy(`click`,function(){Ip(t),qS(2);let l=S_(0);return wp(qS().cancel(l.id))}),y_(1),fd()}if(a&2){let t=qS(3);Fy(`disabled`,t.busy()||t.loading()),ZC(),vd(` `,t.i18n.t(`team.cancel`),` `)}}function tt(a,i){a&1&&Iy(0,et,2,2,`button`,38),a&2&&Fy(`appCan`,`user.create`)}function it(a,i){if(a&1&&(lv(0),Us(1,`tr`)(2,`th`,31)(3,`div`,32),Py(4,`app-entity-icon`,43),Us(5,`span`,34),y_(6),fd()()(),Us(7,`td`)(8,`span`,34),y_(9),fd()(),Us(10,`td`),y_(11),fd(),Us(12,`td`),y_(13),j_(14,`localizedDate`),fd(),Us(15,`td`),y_(16),j_(17,`localizedDate`),fd(),Us(18,`td`),OS(19,Xe,1,1)(20,Ye,1,1)(21,Ze,1,1)(22,tt,1,1,`button`,44),fd()()),a&2){let t=i.$implicit,e=qS(),l=b_(t.item);ZC(4),Fy(`variant`,e.invitationIconVariant(l)),ZC(),Fy(`appSearchHighlight`,e.invitations.match(t,`displayName`)),ZC(),nv(l.displayName),ZC(2),Fy(`appSearchHighlight`,e.invitations.match(t,`email`)),ZC(),nv(l.email),ZC(2),nv(e.profileLabel(l.profile)),ZC(2),vd(` `,H_(14,10,e.date(l.createdAt),e.i18n.language(),O_(18,Pe)),` `),ZC(3),vd(` `,H_(17,14,e.date(l.expiresAt),e.i18n.language(),O_(19,Pe)),` `),ZC(3),kS(l.acceptedAt!==null?19:l.cancelledAt!==null?20:l.expiresAt<=e.now()?21:22)}}function nt(a,i){if(a&1&&(Us(0,`tr`)(1,`td`,45),y_(2),fd()()),a&2){let t=qS();ZC(2),nv(t.i18n.t(`team.empty`))}}function at(a,i){if(a&1&&(Us(0,`footer`,21)(1,`p`,42),y_(2),fd()()),a&2){let t=qS();ZC(2),vd(` `,t.i18n.plural(`adminPages.invitationsCount`,F_(1,Oe,t.invitations.results().length,t.data().invitations.length)),` `)}}var Le=class a{authentication=g(E);memberIconVariant(i){return i.disabledAt===null?`success`:`default`}memberAccessVariant(i){return i.disabledAt===null?`danger`:`success`}invitationIconVariant(i){return i.acceptedAt!==null?`success`:i.cancelledAt!==null?`default`:i.expiresAt<=this.now()?`warning`:`info`}i18n=g(Ie);navigation=g(u$2);api=g(u$1);confirmation=g(P);destroyRef=g(pe);flash=g(m$2);data=Ke$1({members:[],invitations:[],roles:[]});members=N$1(Ft(()=>this.data().members),r);invitations=N$1(Ft(()=>this.data().invitations),n);memberFilterCount=Ft(()=>+(this.members.query().filter!==`all`));invitationFilterCount=Ft(()=>+(this.invitations.query().filter!==`all`));memberExport=Ft(()=>this.members.rows().map(i=>[i.profile,i.disabledAt===null?`active`:`disabled`,i.version]));invitationExport=Ft(()=>this.invitations.rows().map(i=>[i.profile,new Date(i.createdAt).toISOString(),new Date(i.expiresAt).toISOString(),i.acceptedAt!==null?`accepted`:i.cancelledAt!==null?`cancelled`:i.expiresAt<=this.now()?`expired`:`pending`]));busy=Ke$1(!1);loading=Ke$1(!0);error=Ke$1(void 0);errorOperation=Ke$1(`load`);errorMessage=Ft(()=>b$1(this.error(),this.errorOperation()));now=Ke$1(Date.now());profiles=Ke$1({});hasUnsavedChanges=Ft(()=>this.data().members.some(i=>this.profiles()[i.id]!==i.profile));profileForm=nr(this.profiles,i=>{an(i,()=>!this.authentication.can(`user.update`)||this.busy()||this.loading())});constructor(){Ol(()=>{this.load()})}async readTeam(){try{let i=await this.api.list();if(this.destroyRef.destroyed)return;if(i.success)return this.error.set(void 0),this.now.set(Date.now()),i.result;this.errorOperation.set(`load`),this.error.set(i.code)}catch{this.destroyRef.destroyed||(this.errorOperation.set(`load`),this.error.set(`team.error`))}}async load(){this.loading.set(!0);let i=await this.readTeam();i&&(this.data.set(i),this.profiles.set(Object.fromEntries(i.members.map(t=>[t.id,t.profile]))),this.profileForm().reset()),this.loading.set(!1)}async reload(){if(!(this.busy()||this.loading())){this.busy.set(!0);try{if(this.hasUnsavedChanges()&&!await this.confirmation.request(this.i18n.t(`team.reloadConfirm`))||this.destroyRef.destroyed)return;await this.load()}catch{this.destroyRef.destroyed||(this.errorOperation.set(`load`),this.error.set(`team.error`))}finally{this.busy.set(!1)}}}async cancel(i){if(!(this.busy()||this.loading())){this.busy.set(!0);try{if(!await this.confirmation.request(this.i18n.t(`team.confirmCancel`))||this.destroyRef.destroyed)return;let t=await this.api.cancel(i);if(this.destroyRef.destroyed)return;if(!t.success){this.errorOperation.set(`cancel`),this.error.set(t.code);return}let e=await this.readTeam();if(!e)return;this.data.update(l$3=>m(l({},l$3),{invitations:e.invitations})),this.showSaved()}catch{this.destroyRef.destroyed||(this.errorOperation.set(`cancel`),this.error.set(`team.error`))}finally{this.busy.set(!1)}}}async update(i,t,e){if(this.busy()||this.loading())return;let l$4=this.profiles()[i.id]===t;this.busy.set(!0);try{if(!await this.confirmation.request(this.i18n.t(`team.confirmUpdate`))||this.destroyRef.destroyed)return;let p=await this.api.update(i.id,{expectedVersion:i.version,profile:t,disabled:e});if(this.destroyRef.destroyed)return;if(!p.success){this.errorOperation.set(`update`),this.error.set(p.code);return}let S=await this.readTeam();if(!S)return;let L=S.members.find(M=>M.id===i.id);if(!L){this.errorOperation.set(`load`),this.error.set(`team.error`);return}this.data.update(M=>m(l({},M),{members:M.members.map(U=>U.id===i.id?L:U)})),l$4&&this.profileForm[i.id]().reset(L.profile),this.showSaved()}catch{this.destroyRef.destroyed||(this.errorOperation.set(`update`),this.error.set(`team.error`))}finally{this.busy.set(!1)}}async applyProfile(i){let t=wu.decodeUnknownOption(Ba)(this.profiles()[i.id]);Me.isSome(t)&&await this.update(i,t.value,i.disabledAt!==null)}showSaved(){this.flash.show(this.i18n.t(`team.saved`),`success`)}profileLabel(i){return i===`accountant`?this.i18n.t(`team.accountant`):i===`accounting-validator`?this.i18n.t(`team.accountingValidator`):i===`accounting-reader`?this.i18n.t(`team.accountingReader`):i===`collaborator`?this.i18n.t(`team.collaborator`):this.data().roles.find(({id:t})=>i===`custom:${t}`)?.name??i}date(i){return new Date(i)}canDeactivate(){return this.busy()||this.loading()?!1:!this.hasUnsavedChanges()||this.confirmation.request(this.i18n.t(`team.leave`))}beforeUnload(i){(this.busy()||this.hasUnsavedChanges())&&(i.preventDefault(),i.returnValue=``)}static ɵfac=function(t){return new(t||a)};static ɵcmp=Fb({type:a,selectors:[[`app-team`]],hostAttrs:[1,`page-container`],hostBindings:function(t,e){t&1&&Gy(`beforeunload`,function(p){return e.beforeUnload(p)},Zw)},features:[A_([d,u$2])],decls:74,vars:75,consts:[[`memberSearch`,``],[`memberMenu`,``],[`invitationSearch`,``],[`invitationMenu`,``],[`aria-labelledby`,`team-title`,1,`team-page`],[`id`,`team-title`],[1,`muted`],[`pageActions`,``,1,`spacer-x-3`],[`appLinkButton`,``,`icon`,`mail`,`variant`,`primary`,`routerLink`,`invitations/new`,3,`queryParams`,4,`appCan`],[`appLinkButton`,``,`icon`,`user`,`routerLink`,`roles`,4,`appCan`],[`appNotice`,``,`variant`,`info`],[`appListWorkspace`,``,`aria-labelledby`,`members-title`],[`id`,`members-title`],[`listSearch`,``,3,`valueChange`,`label`,`value`],[`listFilters`,``,3,`label`,`closeLabel`,`backLabel`,`activeCount`,`disabled`],[`appFilterPanel`,``,3,`label`,`summary`],[`listActions`,``,`filename`,`team-members.csv`,3,`columns`,`rows`,`label`,`emptyHint`,`pendingHint`,`pending`],[1,`spacer-x-3`],[`appDataTable`,``],[`scope`,`col`],[`appTableSort`,``,3,`click`,`label`,`direction`],[1,`list-summary`,`spacer-y-2`],[`appListWorkspace`,``,`aria-labelledby`,`invitations-title`],[`id`,`invitations-title`],[`listActions`,``,`filename`,`team-invitations.csv`,3,`columns`,`rows`,`label`,`emptyHint`,`pendingHint`,`pending`],[`appLinkButton`,``,`icon`,`mail`,`variant`,`primary`,`routerLink`,`invitations/new`,3,`queryParams`],[`appLinkButton`,``,`icon`,`user`,`routerLink`,`roles`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`],[3,`committed`,`label`,`emptyLabel`,`options`,`value`,`disabled`],[`appFilterChip`,``,3,`click`,`label`,`disabled`],[`scope`,`row`],[1,`entity-label`],[`icon`,`user`,3,`variant`],[3,`appSearchHighlight`],[1,`field`],[`appFilterSelect`,``,1,`select`,3,`formField`],[3,`value`],[`appButton`,``,`type`,`button`,3,`disabled`,`click`,4,`appCan`],[`appButton`,``,`type`,`button`,3,`variant`,`disabled`,`click`,4,`appCan`],[`appButton`,``,`type`,`button`,3,`click`,`variant`,`disabled`],[`colspan`,`5`],[`role`,`status`],[`icon`,`mail`,3,`variant`],[`appButton`,``,`type`,`button`,3,`disabled`],[`colspan`,`6`]],template:function(t,e){if(t&1&&(Us(0,`section`,4)(1,`app-page-header`)(2,`h1`,5),y_(3),fd(),Us(4,`p`,6),y_(5),fd(),Us(6,`div`,7),Iy(7,De,2,2,`a`,8)(8,He,2,1,`a`,9),fd()(),Us(9,`p`,10),y_(10),fd(),OS(11,Be,4,3),Us(12,`section`,11)(13,`h2`,12),y_(14),fd(),Us(15,`app-list-toolbar`)(16,`app-list-search`,13,0),Gy(`valueChange`,function(p){return e.members.search(p)}),fd(),Us(18,`app-filter-menu`,14,1),Iy(20,Re,1,5,`ng-template`,15),fd(),Py(21,`app-table-export`,16),fd(),OS(22,qe,2,2,`div`,17),Us(23,`div`,18)(24,`table`)(25,`thead`)(26,`tr`)(27,`th`,19)(28,`button`,20),Gy(`click`,function(){return e.members.sort(`name`)}),fd()(),Us(29,`th`,19)(30,`button`,20),Gy(`click`,function(){return e.members.sort(`email`)}),fd()(),Us(31,`th`,19)(32,`button`,20),Gy(`click`,function(){return e.members.sort(`profile`)}),fd()(),Us(33,`th`,19)(34,`button`,20),Gy(`click`,function(){return e.members.sort(`status`)}),fd()(),Us(35,`th`,19),y_(36),fd()()(),Us(37,`tbody`),LS(38,je,30,19,`tr`,null,Ve,!1,Ke,3,1,`tr`),fd()()(),OS(41,Ge,3,4,`footer`,21),fd(),Us(42,`section`,22)(43,`h2`,23),y_(44),fd(),Us(45,`app-list-toolbar`)(46,`app-list-search`,13,2),Gy(`valueChange`,function(p){return e.invitations.search(p)}),fd(),Us(48,`app-filter-menu`,14,3),Iy(50,Je,1,5,`ng-template`,15),fd(),Py(51,`app-table-export`,24),fd(),OS(52,Qe,2,2,`div`,17),Us(53,`div`,18)(54,`table`)(55,`thead`)(56,`tr`)(57,`th`,19)(58,`button`,20),Gy(`click`,function(){return e.invitations.sort(`name`)}),fd()(),Us(59,`th`,19)(60,`button`,20),Gy(`click`,function(){return e.invitations.sort(`email`)}),fd()(),Us(61,`th`,19)(62,`button`,20),Gy(`click`,function(){return e.invitations.sort(`profile`)}),fd()(),Us(63,`th`,19)(64,`button`,20),Gy(`click`,function(){return e.invitations.sort(`date`)}),fd()(),Us(65,`th`,19)(66,`button`,20),Gy(`click`,function(){return e.invitations.sort(`expires`)}),fd()(),Us(67,`th`,19),y_(68),fd()()(),Us(69,`tbody`),LS(70,it,23,20,`tr`,null,Ve,!1,nt,3,1,`tr`),fd()()(),OS(73,at,3,4,`footer`,21),fd()()),t&2){let l;ZC(3),nv(e.i18n.t(`team.title`)),ZC(2),nv(e.i18n.t(`team.intro`)),ZC(2),Fy(`appCan`,`user.create`),ZC(),Fy(`appCan`,`role.read`),ZC(2),nv(e.i18n.t(`team.profiles`)),ZC(),kS((l=e.errorMessage())?11:-1,l),ZC(3),nv(e.i18n.t(`team.members`)),ZC(2),Fy(`label`,e.i18n.t(`configurationWorkspace.searchMembers`))(`value`,e.members.query().q),ZC(2),Fy(`label`,e.i18n.t(`listWorkspace.filters`))(`closeLabel`,e.i18n.t(`listWorkspace.closeFilters`))(`backLabel`,e.i18n.t(`listWorkspace.backFilters`))(`activeCount`,e.memberFilterCount())(`disabled`,e.loading()||e.busy()),ZC(2),Fy(`label`,e.i18n.t(`configurationWorkspace.status`))(`summary`,e.members.filterSummary()),ZC(),Fy(`columns`,O_(73,Ne))(`rows`,e.memberExport())(`label`,e.i18n.t(`listWorkspace.exportCsv`)+` — `+e.i18n.t(`configurationWorkspace.teamExportScope`))(`emptyHint`,e.i18n.t(`listWorkspace.exportEmpty`))(`pendingHint`,e.i18n.t(`listWorkspace.exportPending`))(`pending`,e.loading()||e.busy()||e.error()!==void 0),ZC(),kS(e.memberFilterCount()?22:-1),ZC(5),ky(`aria-sort`,e.members.direction(`name`)),ZC(),Fy(`label`,e.i18n.t(`team.name`))(`direction`,e.members.direction(`name`)),ZC(),ky(`aria-sort`,e.members.direction(`email`)),ZC(),Fy(`label`,e.i18n.t(`team.email`))(`direction`,e.members.direction(`email`)),ZC(),ky(`aria-sort`,e.members.direction(`profile`)),ZC(),Fy(`label`,e.i18n.t(`team.profile`))(`direction`,e.members.direction(`profile`)),ZC(),ky(`aria-sort`,e.members.direction(`status`)),ZC(),Fy(`label`,e.i18n.t(`configurationWorkspace.status`))(`direction`,e.members.direction(`status`)),ZC(2),nv(e.i18n.t(`configurationWorkspace.actions`)),ZC(2),jS(e.members.results()),ZC(3),kS(e.loading()?-1:41),ZC(3),nv(e.i18n.t(`team.invitations`)),ZC(2),Fy(`label`,e.i18n.t(`configurationWorkspace.searchInvitations`))(`value`,e.invitations.query().q),ZC(2),Fy(`label`,e.i18n.t(`listWorkspace.filters`))(`closeLabel`,e.i18n.t(`listWorkspace.closeFilters`))(`backLabel`,e.i18n.t(`listWorkspace.backFilters`))(`activeCount`,e.invitationFilterCount())(`disabled`,e.loading()||e.busy()),ZC(2),Fy(`label`,e.i18n.t(`team.profile`))(`summary`,e.invitations.filterSummary()),ZC(),Fy(`columns`,O_(74,We))(`rows`,e.invitationExport())(`label`,e.i18n.t(`listWorkspace.exportCsv`)+` — `+e.i18n.t(`configurationWorkspace.teamExportScope`))(`emptyHint`,e.i18n.t(`listWorkspace.exportEmpty`))(`pendingHint`,e.i18n.t(`listWorkspace.exportPending`))(`pending`,e.loading()||e.busy()||e.error()!==void 0),ZC(),kS(e.invitationFilterCount()?52:-1),ZC(5),ky(`aria-sort`,e.invitations.direction(`name`)),ZC(),Fy(`label`,e.i18n.t(`team.name`))(`direction`,e.invitations.direction(`name`)),ZC(),ky(`aria-sort`,e.invitations.direction(`email`)),ZC(),Fy(`label`,e.i18n.t(`team.email`))(`direction`,e.invitations.direction(`email`)),ZC(),ky(`aria-sort`,e.invitations.direction(`profile`)),ZC(),Fy(`label`,e.i18n.t(`team.profile`))(`direction`,e.invitations.direction(`profile`)),ZC(),ky(`aria-sort`,e.invitations.direction(`date`)),ZC(),Fy(`label`,e.i18n.t(`configurationWorkspace.createdAt`))(`direction`,e.invitations.direction(`date`)),ZC(),ky(`aria-sort`,e.invitations.direction(`expires`)),ZC(),Fy(`label`,e.i18n.t(`team.expires`))(`direction`,e.invitations.direction(`expires`)),ZC(2),nv(e.i18n.t(`configurationWorkspace.status`)),ZC(2),jS(e.invitations.results()),ZC(3),kS(e.loading()?-1:73)}},dependencies:[Ae$1,l$1,yn,N,k,g$1,Dt,c,l$2,u,U,B,Q,Z,b,Fe,h,$,m$1,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}.team-page[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-6);padding:var(--%NS%page-header-y) var(--%NS%page-x)}.team-link[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4)}.team-link[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{justify-self:start}form[_ngcontent-%COMP%], label[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]{display:grid;gap:.75rem}ul[_ngcontent-%COMP%]{list-style:none;padding:0}li[_ngcontent-%COMP%]{overflow-wrap:anywhere;display:grid;gap:var(--%NS%space-3);justify-items:start;padding:var(--%NS%panel-padding)}`]})};export{Le as Team};
@@ -1 +0,0 @@
1
- import{$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,M as H_,Nr as vd,Rn as jS,Tn as fd,V as Iy,Vr as xH,Wn as kS,Wr as y_,X as LS,dr as pe,ft as Ol,l as A_,lt as OS,pr as qS,qn as ky,rr as nv,ut as O_,vt as Py,w as Fb,xn as e_,z as Ip,zn as j_}from"./chunk-BAHiFuUo.js";import{h as Ne,m as Ie,o as U,r as N,v as Dt}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"./chunk-CczD0yXn.js";import"./chunk-CReShp-B.js";import{t as k}from"./chunk-DRgIjFR6.js";import"./chunk-BAe_07VM.js";import"./chunk-CjtJKrza.js";import"./chunk-Dv9sNWWK.js";import"./chunk-CSkyOfSg.js";import{n as m,t as d}from"./chunk-cTGENC4T.js";import"./chunk-DjewtV43.js";import{t as p}from"./chunk-BHEFFEGN.js";import"./chunk-CXHCUTDs2.js";import"./chunk-ZBDWcE362.js";import"./chunk-CP-AnFGa2.js";import"./chunk-scbWWgLx2.js";import{t as c}from"./chunk-BqIPzI6E2.js";import{t as N$1}from"./chunk-2sHWWuzv2.js";import{i as U$1,n as B,r as Q,t as $}from"./chunk-DMlYYeVV2.js";import{t as u}from"./chunk-osh5v_OU2.js";import{t as c$1}from"./chunk-D83vXRZS2.js";import{t as h}from"./chunk-DODMV1QO.js";import{n as b,t as Z}from"./chunk-BKWyrwrz.js";import"./chunk-Bsy3r41y.js";import{t as Fe}from"./chunk-C3v6o8sk.js";import{o as x}from"./chunk-Dyia17vy.js";import{t as f}from"./chunk-ClYiqUra.js";import{n as m$1}from"./chunk-DU2qw7-O.js";var ue=()=>[`invoiceNumber`,`createdAt`,`amountCents`,`status`];var ge=i=>({count:i});var _e=i=>[`/services/stripe/tests`,i];var be=()=>({dateStyle:`medium`,timeStyle:`short`});var he=(i,o)=>o.item.request.requestId;function ye(i,o){if(i&1){let e=zS();Us(0,`app-filter-choice`,12),Gy(`committed`,function(l){Ip(e);let k=qS(),me=t_(14);return k.table.filter(l),wp(me.close())}),fd()}if(i&2){let e=qS();Fy(`label`,e.i18n.t(`listWorkspace.searchChoices`))(`emptyLabel`,e.i18n.t(`listWorkspace.noChoices`))(`options`,e.table.filterOptions())(`value`,e.table.query().filter)(`disabled`,e.history.loading())}}function Ce(i,o){if(i&1){let e=zS();Us(0,`button`,13),Gy(`click`,function(){Ip(e);return wp(qS().removeFilter())}),fd()}if(i&2)Fy(`label`,qS().table.filterSummary())}function ve(i,o){if(i&1&&(Us(0,`p`,10),y_(1),fd()),i&2){let e=qS();ZC(),nv(e.i18n.t(`checkout.paused`))}}function fe(i,o){if(i&1&&(Us(0,`p`,11),y_(1),fd()),i&2){let e=qS();ZC(),nv(e.i18n.t(e.historyLabel()))}}function ke(i,o){if(i&1&&(Us(0,`tr`)(1,`th`,18)(2,`a`,19),y_(3),fd()(),Us(4,`td`),y_(5),j_(6,`localizedDate`),fd(),Us(7,`td`),y_(8),fd(),Us(9,`td`),y_(10),fd()()),i&2){let e=o.$implicit,t=qS(2),l=e.item;ZC(2),Fy(`routerLink`,k_(11,_e,l.request.requestId))(`queryParams`,t.table.params())(`appSearchHighlight`,t.table.match(e,`invoiceNumber`)),ZC(),nv(l.invoiceNumber),ZC(2),vd(` `,H_(6,7,l.createdAt,t.i18n.language(),O_(13,be)),` `),ZC(3),nv(t.money(l.amountCents)),ZC(2),nv(t.i18n.t(t.statusLabel(l.status)))}}function xe(i,o){if(i&1&&(Us(0,`tr`)(1,`td`,20),y_(2),fd()()),i&2){let e=qS(2);ZC(2),nv(e.i18n.t(`checkout.noTests`))}}function Pe(i,o){if(i&1){let e=zS();Us(0,`div`,14)(1,`table`)(2,`thead`)(3,`tr`)(4,`th`,15)(5,`button`,16),Gy(`click`,function(){Ip(e);return wp(qS().table.sort(`invoice`))}),fd()(),Us(6,`th`,15)(7,`button`,16),Gy(`click`,function(){Ip(e);return wp(qS().table.sort(`date`))}),fd()(),Us(8,`th`,15)(9,`button`,16),Gy(`click`,function(){Ip(e);return wp(qS().table.sort(`amount`))}),fd()(),Us(10,`th`,15)(11,`button`,16),Gy(`click`,function(){Ip(e);return wp(qS().table.sort(`status`))}),fd()()()(),Us(12,`tbody`),LS(13,ke,11,14,`tr`,null,he,!1,xe,3,1,`tr`),fd()()(),Us(16,`footer`,17)(17,`p`,11),y_(18),fd()()}if(i&2){let e=qS();ZC(4),ky(`aria-sort`,e.table.direction(`invoice`)),ZC(),Fy(`label`,e.i18n.t(`checkout.invoice`))(`direction`,e.table.direction(`invoice`)),ZC(),ky(`aria-sort`,e.table.direction(`date`)),ZC(),Fy(`label`,e.i18n.t(`checkout.createdAt`))(`direction`,e.table.direction(`date`)),ZC(),ky(`aria-sort`,e.table.direction(`amount`)),ZC(),Fy(`label`,e.i18n.t(`checkout.amount`))(`direction`,e.table.direction(`amount`)),ZC(),ky(`aria-sort`,e.table.direction(`status`)),ZC(),Fy(`label`,e.i18n.t(`checkout.status`))(`direction`,e.table.direction(`status`)),ZC(2),jS(e.table.results()),ZC(5),nv(e.i18n.plural(`entityList.tests`,k_(14,ge,e.table.results().length)))}}var de=class i{i18n=g(Ie);history=g(f);table=N$1(this.history.operations,c);tabs=Ft(()=>m$1(`stripe`,this.i18n));statusLabel=x;activeFilterCount=Ft(()=>+(this.table.query().filter!==`all`));historyLabel=Ft(()=>this.history.paused()?`checkout.historyUnknown`:`checkout.historyLoading`);exportPending=Ft(()=>!this.history.loaded()||this.history.paused());search=xH(Q);destroyRef=g(pe);testExport=Ft(()=>this.table.rows().map(o=>[o.invoiceNumber,o.createdAt,o.amountCents,o.status]));constructor(){Ol(()=>{this.history.watch().pipe(U(this.destroyRef)).subscribe()})}removeFilter(){this.table.filter(`all`),this.search()?.focus()}money(o){return Ne(o,this.i18n.language(),`EUR`)}static ɵfac=function(e){return new(e||i)};static ɵcmp=Fb({type:i,selectors:[[`app-checkout-list`]],viewQuery:function(e,t){e&1&&Ky(t.search,Q,5),e&2&&e_()},hostAttrs:[1,`page-container`],features:[A_([d,f])],decls:21,vars:27,consts:[[`testMenu`,``],[`pageActions`,``,1,`spacer-x-3`],[`appLinkButton`,``,`icon`,`plus`,`variant`,`primary`,`routerLink`,`/services/stripe/tests/new`,3,`queryParams`],[3,`label`,`tabs`,`preserveQuery`,`preserveFragment`],[`appListWorkspace`,``],[`listSearch`,``,3,`valueChange`,`label`,`value`],[`listFilters`,``,3,`label`,`closeLabel`,`backLabel`,`activeCount`,`disabled`],[`appFilterPanel`,``,3,`label`,`summary`],[`appFilterChip`,``,`listFilters`,``,3,`label`],[`listActions`,``,`filename`,`stripe-tests.csv`,3,`columns`,`rows`,`label`,`emptyHint`,`pendingHint`,`pending`],[`appNotice`,``,`variant`,`warning`],[`role`,`status`],[3,`committed`,`label`,`emptyLabel`,`options`,`value`,`disabled`],[`appFilterChip`,``,`listFilters`,``,3,`click`,`label`],[`appDataTable`,``],[`scope`,`col`],[`appTableSort`,``,3,`click`,`label`,`direction`],[1,`list-summary`],[`scope`,`row`],[3,`routerLink`,`queryParams`,`appSearchHighlight`],[`colspan`,`4`]],template:function(e,t){e&1&&(Us(0,`section`)(1,`app-page-header`)(2,`h1`),y_(3),fd(),Us(4,`p`),y_(5),fd(),Us(6,`div`,1)(7,`a`,2),y_(8),fd()()(),Py(9,`app-tabs`,3),Us(10,`div`,4)(11,`app-list-toolbar`)(12,`app-list-search`,5),Gy(`valueChange`,function(k){return t.table.search(k)}),fd(),Us(13,`app-filter-menu`,6,0),Iy(15,ye,1,5,`ng-template`,7),fd(),OS(16,Ce,1,1,`button`,8),Py(17,`app-table-export`,9),fd(),OS(18,ve,2,1,`p`,10),OS(19,fe,2,1,`p`,11)(20,Pe,19,16),fd()()),e&2&&(ZC(3),nv(t.i18n.t(`connections.stripe`)),ZC(2),nv(t.i18n.t(`checkout.historyHint`)),ZC(2),Fy(`queryParams`,t.table.params()),ZC(),nv(t.i18n.t(`configurationWorkspace.newTest`)),ZC(),Fy(`label`,t.i18n.t(`configurationWorkspace.services`))(`tabs`,t.tabs())(`preserveQuery`,!0)(`preserveFragment`,!0),ZC(3),Fy(`label`,t.i18n.t(`configurationWorkspace.searchTests`))(`value`,t.table.query().q),ZC(),Fy(`label`,t.i18n.t(`listWorkspace.filters`))(`closeLabel`,t.i18n.t(`listWorkspace.closeFilters`))(`backLabel`,t.i18n.t(`listWorkspace.backFilters`))(`activeCount`,t.activeFilterCount())(`disabled`,t.history.loading()),ZC(2),Fy(`label`,t.i18n.t(`checkout.status`))(`summary`,t.table.filterSummary()),ZC(),kS(t.activeFilterCount()>0?16:-1),ZC(),Fy(`columns`,O_(26,ue))(`rows`,t.testExport())(`label`,t.i18n.t(`listWorkspace.exportCsv`))(`emptyHint`,t.i18n.t(`listWorkspace.exportEmpty`))(`pendingHint`,t.i18n.t(`listWorkspace.exportPending`))(`pending`,t.exportPending()),ZC(),kS(t.history.paused()?18:-1),ZC(),kS(t.history.loaded()?20:19))},dependencies:[N,k,Dt,c$1,u,U$1,B,Q,Z,b,Fe,$,m,g$1,D,h,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}[appListWorkspace][_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{margin-block-start:0}`]})};export{de as CheckoutList};
@@ -1 +0,0 @@
1
- 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,Rn as jS,Tn as fd,Wn as kS,Wr as y_,X as LS,ft as Ol,lt as OS,mr as qT,pr as qS,rr as nv,tn as ZT,vt as Py,w as Fb,z as Ip}from"./chunk-BAHiFuUo.js";import{T as ue,m as Ie,r as N}from"./main-AJD2LGCE.js";import{t as g$1}from"./chunk-B56nz2lI.js";import"./chunk-BzUDWIzm.js";import"./chunk-CczD0yXn.js";import"./chunk-CReShp-B.js";import{t as Ae}from"./chunk-DUJbqlfC.js";import{t as k}from"./chunk-DRgIjFR6.js";import"./chunk-BAe_07VM.js";import"./chunk-CjtJKrza.js";import"./chunk-Dv9sNWWK.js";import{t as f}from"./chunk-BCemdpJW.js";import{d as nr,f as or,h as yn,o as gn}from"./chunk-CSkyOfSg.js";import{t as S}from"./chunk-BbbRo5jM2.js";import{t as c}from"./chunk-BsXdvb75.js";var K=(i,t)=>t.id;function $(i,t){if(i&1&&(Us(0,`p`,4),y_(1),fd()),i&2){let e=qS();ZC(),nv(e.i18n.t(t))}}function G(i,t){if(i&1&&(Us(0,`p`,5),y_(1),fd()),i&2){let e=qS();ZC(),nv(e.i18n.t(`supplierInvoice.analysis.loading`))}}function J(i,t){if(i&1&&(Us(0,`option`,12),y_(1),fd()),i&2){let e=t.$implicit;Fy(`value`,e.id),ZC(),nv(e.displayName)}}function Q(i,t){if(i&1&&(Us(0,`p`,18),y_(1),fd(),Us(2,`label`,19),Py(3,`input`,20),qT(),y_(4),fd()),i&2){let e=qS(2);ZC(),nv(e.i18n.t(`supplierInvoice.analysis.externalNotice`)),ZC(2),Fy(`formField`,e.analysisForm.consent),ZT(),ZC(),nv(e.i18n.t(`supplierInvoice.analysis.consent`))}}function W(i,t){if(i&1&&(Us(0,`p`,15),y_(1),fd()),i&2){let e=qS(2);ZC(),nv(e.i18n.t(`supplierInvoice.analysis.localNotice`))}}function X(i,t){if(i&1){let e=zS();Us(0,`form`,7),Gy(`submit`,function(s){Ip(e);return wp(qS().analyze(s))}),Us(1,`div`,8)(2,`label`,9),y_(3),Us(4,`select`,10)(5,`option`,11),y_(6),fd(),LS(7,J,2,2,`option`,12,K),fd(),qT(),fd(),Us(9,`label`,13),y_(10),Us(11,`input`,14),Gy(`change`,function(s){Ip(e);return wp(qS().selectFile(s))}),fd()(),OS(12,Q,5,3)(13,W,2,1,`p`,15),fd(),Us(14,`div`,16)(15,`button`,17),y_(16),fd()()()}if(i&2){let e=qS();ZC(3),nv(e.i18n.t(`supplierInvoice.supplier`)),ZC(),Fy(`formField`,e.analysisForm.supplierId),ZT(),ZC(2),nv(e.i18n.t(`supplierInvoice.chooseSupplier`)),ZC(),jS(e.suppliers()),ZC(3),nv(e.i18n.t(`supplierInvoice.analysis.file`)),ZC(2),kS(e.external()?12:13),ZC(3),Fy(`disabled`,e.submitting()),ZC(),vd(` `,e.i18n.t(`supplierInvoice.analysis.submit`),` `)}}var Y=[`application/pdf`,`image/jpeg`,`image/png`,`image/webp`];var I=`,`;var Z=`supplier-invoice-analysis-file-read`;var q=i=>Y.some(t=>t===i);var ee=i=>new Promise((t,e)=>{let n=new FileReader;n.addEventListener(`error`,()=>e(n.error)),n.addEventListener(`load`,()=>{let s=n.result;if(!s.includes(I))return e(new Error(Z));t(s.slice(s.indexOf(I)+I.length))}),n.readAsDataURL(i)});var H=class i{i18n=g(Ie);invoicesApi=g(S);suppliersApi=g(c);router=g(ue);breadcrumbs=Ke([{label:this.i18n.t(`supplierInvoice.title`),path:`/purchases`}]);model=Ke({supplierId:``,consent:!1});analysisForm=nr(this.model,t=>gn(t.supplierId));suppliers=Ke([]);settings=Ke(void 0);file=Ke(void 0);loading=Ke(!0);submitting=Ke(!1);error=Ke(void 0);constructor(){Ol(()=>{this.load()})}external(){return this.settings()?.external===!0}selectFile(t){let e=t.currentTarget;if(!(e instanceof HTMLInputElement))return;let n=e.files?.item(0)??void 0;this.file.set(n),n&&!q(n.type)?this.error.set(`supplierInvoice.analysis.invalidFile`):this.error.set(void 0)}analyze(t){t.preventDefault();let e=this.file();if(this.submitting()||this.analysisForm().invalid()||e===void 0){this.analysisForm().markAsTouched(),e===void 0&&this.error.set(`supplierInvoice.analysis.fileRequired`);return}if(!q(e.type)){this.error.set(`supplierInvoice.analysis.invalidFile`);return}let n=e.type;or(this.analysisForm,async()=>{this.submitting.set(!0),this.error.set(void 0);try{let s=await this.invoicesApi.analyze({requestId:crypto.randomUUID(),supplierId:this.model().supplierId,fileName:e.name,mediaType:n,contentBase64:await ee(e),consent:this.model().consent});if(!s.success){this.error.set(s.code);return}await this.router.navigate([`/purchases`,s.result.id])}catch{this.error.set(`supplierInvoice.analysis.failed`)}finally{this.submitting.set(!1)}})}async load(){try{let[t,e]=await Promise.all([this.suppliersApi.list(),this.invoicesApi.analysisStatus()]);this.suppliers.set(t.filter(n=>!n.archived)),e.success?this.settings.set(e.result):this.error.set(e.code)}catch{this.error.set(`supplierInvoice.analysis.failed`)}finally{this.loading.set(!1)}}static ɵfac=function(e){return new(e||i)};static ɵcmp=Fb({type:i,selectors:[[`app-supplier-invoice-analysis`]],hostAttrs:[1,`page-container`],decls:10,vars:7,consts:[[`aria-labelledby`,`supplier-invoice-analysis-title`,1,`detail-page`,`form-page`],[`layout`,`stacked`],[`pageBack`,``,3,`label`,`items`,`current`],[`id`,`supplier-invoice-analysis-title`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`role`,`status`],[`novalidate`,``],[`novalidate`,``,3,`submit`],[1,`ds-panel`,`form-panel`],[`for`,`analysis-supplier`,1,`field`],[`appFilterSelect`,``,`id`,`analysis-supplier`,1,`select`,3,`formField`],[`value`,``],[3,`value`],[`for`,`analysis-file`,1,`field`],[`id`,`analysis-file`,`type`,`file`,`accept`,`application/pdf,image/jpeg,image/png,image/webp`,1,`input`,3,`change`],[1,`muted`],[1,`actions`,`spacer-x-2`],[`appButton`,``,`variant`,`primary`,`type`,`submit`,3,`disabled`],[`appNotice`,``,`variant`,`warning`],[1,`consent`],[`type`,`checkbox`,3,`formField`]],template:function(e,n){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,$,2,1,`p`,4),OS(8,G,2,1,`p`,5)(9,X,17,7,`form`,6),fd()),e&2){let s;ZC(2),Fy(`label`,n.i18n.t(`backOfficeShell.breadcrumb`))(`items`,n.breadcrumbs())(`current`,n.i18n.t(`supplierInvoice.analysis.title`)),ZC(2),nv(n.i18n.t(`supplierInvoice.analysis.title`)),ZC(2),nv(n.i18n.t(`supplierInvoice.analysis.intro`)),ZC(),kS((s=n.error())?7:-1,s),ZC(),kS(n.loading()?8:9)}},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%], .field[_ngcontent-%COMP%] + [appNotice][_ngcontent-%COMP%], .consent[_ngcontent-%COMP%], .actions[_ngcontent-%COMP%]{margin-block-start:var(--%NS%space-4)}.consent[_ngcontent-%COMP%]{display:flex;gap:var(--%NS%space-2);align-items:start}`]})};export{H as SupplierInvoiceAnalysisPage};
@@ -1 +0,0 @@
1
- import{s as u,t as c}from"./chunk-BqIPzI6E2.js";import{n as w,r as x}from"./chunk-2sHWWuzv2.js";function m(e,r,i){if(e!==`stripe`&&e!==`resend`)return[];let s=`/services/${e}`;return[{id:`${e}-connection`,path:s,label:r.t(`configurationWorkspace.connection`),queryParams:i?{request:i}:void 0},{id:`${e}-tests`,path:`${s}/tests`,label:r.t(`configurationWorkspace.tests`),exact:!1}]}function l(e,r){switch(e){case`stripe`:return w(x(r,c),c);case`resend`:return w(x(r,u),u);default:return{}}}export{m as n,l as t};
@@ -1 +0,0 @@
1
- import{$ as MH,$t as ZC,A as Gy,D as Fy,Dn as g,Gn as k_,Ir as wp,It as Us,Jr as zS,Jt as Xy,Rn as jS,Tn as fd,Wn as kS,Wr as y_,X as LS,lt as OS,nt as NH,pr as qS,qn as ky,rr as nv,vt as Py,w as Fb,wn as fa,z as Ip}from"./chunk-BAHiFuUo.js";import{i as r,m as Ie,r as N}from"./main-AJD2LGCE.js";import{l as W}from"./chunk-BzUDWIzm.js";import{t as Ae}from"./chunk-DUJbqlfC.js";import{t as D}from"./chunk-CXHCUTDs2.js";var z=t=>({field:t});var L=(t,n)=>n.value;function F(t,n){if(t&1&&(Us(0,`option`,12),y_(1),fd()),t&2){let e=n.$implicit;Fy(`value`,e.value),ZC(),nv(e.label)}}function B(t,n){if(t&1){let e=zS();Us(0,`select`,11),Gy(`change`,function(c){Ip(e);return wp(qS(2).draft.set(c.target.value))}),LS(1,F,2,2,`option`,12,L),fd()}if(t&2){let e=qS(2);Fy(`id`,e.controlId)(`value`,e.draft())(`disabled`,e.saving()||e.disabled()),ky(`aria-labelledby`,e.labelId),ZC(),jS(e.options())}}function $(t,n){if(t&1){let e=zS();Us(0,`input`,13),Gy(`input`,function(c){Ip(e);return wp(qS(2).draft.set(c.target.value))}),fd()}if(t&2){let e=qS(2);Fy(`id`,e.controlId)(`type`,e.inputType())(`value`,e.draft())(`required`,e.required())(`maxLength`,e.maximumLength()??null)(`disabled`,e.saving()||e.disabled()),ky(`aria-labelledby`,e.labelId)}}function H(t,n){if(t&1){let e=zS();Us(0,`form`,1),Gy(`submit`,function(c){Ip(e);return wp(qS().submit(c))}),Us(1,`div`,2),OS(2,B,3,4,`select`,3)(3,$,1,7,`input`,4),Us(4,`div`,5)(5,`app-hint`,6)(6,`button`,7),Py(7,`app-icon`,8),fd()(),Us(8,`app-hint`,6)(9,`button`,9),Gy(`click`,function(){Ip(e);return wp(qS().cancelRequested.emit())}),Py(10,`app-icon`,10),fd()()()()()}if(t&2){let e=qS();ZC(2),kS(e.options().length>0?2:3),ZC(3),Fy(`text`,e.i18n.t(`inlineEdit.save`)),ZC(),Fy(`iconOnly`,!0)(`disabled`,e.saving()||e.disabled()),ky(`aria-label`,e.i18n.t(`inlineEdit.save`)),ZC(2),Fy(`text`,e.i18n.t(`inlineEdit.cancel`)),ZC(),Fy(`iconOnly`,!0)(`disabled`,e.saving()||e.disabled()),ky(`aria-label`,e.i18n.t(`inlineEdit.cancel`))}}function j(t,n){if(t&1){let e=zS();Us(0,`button`,9),Gy(`click`,function(){Ip(e);return wp(qS(2).editRequested.emit())}),Py(1,`app-icon`,15),fd()}if(t&2){let e=qS(2);Fy(`iconOnly`,!0)(`disabled`,e.disabled()),ky(`aria-label`,e.i18n.tf(`inlineEdit.editField`,k_(3,z,e.label())))}}function A(t,n){if(t&1&&(Us(0,`span`),y_(1),fd(),OS(2,j,2,5,`button`,14)),t&2){let e=qS();ZC(),nv(e.displayValue()||e.value()||e.emptyValue()),ZC(),kS(e.editable()?2:-1)}}var R=class t{i18n=g(Ie);controlId=g(W).getId(`inline-edit-`);labelId=`${this.controlId}-label`;label=NH.required();value=NH.required();displayValue=NH();emptyValue=NH.required();editable=NH(!0);disabled=NH(!1);editing=NH(!1);saving=NH(!1);required=NH(!1);inputType=NH(`text`);maximumLength=NH();options=NH([]);editRequested=MH();cancelRequested=MH();saveRequested=MH();draft=fa(()=>this.value());submit(n){if(n.preventDefault(),this.disabled())return;let e=this.draft().trim();this.required()&&e===``||this.saveRequested.emit(e)}static ɵfac=function(e){return new(e||t)};static ɵcmp=Fb({type:t,selectors:[[`div`,`appInlineEdit`,``]],hostVars:3,hostBindings:function(e,o){e&2&&(ky(`aria-disabled`,o.disabled()?`true`:null),Xy(`is-disabled`,o.disabled()))},inputs:{label:[1,`label`],value:[1,`value`],displayValue:[1,`displayValue`],emptyValue:[1,`emptyValue`],editable:[1,`editable`],disabled:[1,`disabled`],editing:[1,`editing`],saving:[1,`saving`],required:[1,`required`],inputType:[1,`inputType`],maximumLength:[1,`maximumLength`],options:[1,`options`]},outputs:{editRequested:`editRequested`,cancelRequested:`cancelRequested`,saveRequested:`saveRequested`},decls:5,vars:3,consts:[[3,`id`],[3,`submit`],[1,`edit-control`],[`appFilterSelect`,``,1,`select`,3,`id`,`value`,`disabled`],[1,`input`,3,`id`,`type`,`value`,`required`,`maxLength`,`disabled`],[1,`edit-actions`],[3,`text`],[`appButton`,``,`type`,`submit`,`variant`,`ghost`,3,`iconOnly`,`disabled`],[`name`,`check`],[`appButton`,``,`type`,`button`,`variant`,`ghost`,3,`click`,`iconOnly`,`disabled`],[`name`,`close`],[`appFilterSelect`,``,1,`select`,3,`change`,`id`,`value`,`disabled`],[3,`value`],[1,`input`,3,`input`,`id`,`type`,`value`,`required`,`maxLength`,`disabled`],[`appButton`,``,`type`,`button`,`variant`,`ghost`,3,`iconOnly`,`disabled`],[`name`,`pencil`]],template:function(e,o){e&1&&(Us(0,`dt`,0),y_(1),fd(),Us(2,`dd`),OS(3,H,11,9,`form`)(4,A,3,2),fd()),e&2&&(Fy(`id`,o.labelId),ZC(),nv(o.label()),ZC(2),kS(o.editing()?3:4))},dependencies:[Ae,N,D,r],styles:[`[_nghost-%COMP%]{display:block}.inline-edit-compact[_nghost-%COMP%]{display:inline-flex;align-items:center;min-inline-size:0}.inline-edit-compact[_nghost-%COMP%] dt[_ngcontent-%COMP%]{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.inline-edit-compact[_nghost-%COMP%] dd[_ngcontent-%COMP%]{inline-size:auto;min-block-size:0;margin:0}.inline-edit-compact[_nghost-%COMP%] form[_ngcontent-%COMP%]{inline-size:min(20rem,100vw - 4rem)}dt[_ngcontent-%COMP%]{color:var(--%NS%color-muted);font-size:var(--%NS%text-sm)}dd[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--%NS%space-2) var(--%NS%space-3);min-block-size:var(--%NS%control-height);inline-size:min(100%,28rem);margin:var(--%NS%space-1) 0 0;overflow-wrap:anywhere}.is-disabled[_nghost-%COMP%] dd[_ngcontent-%COMP%]{color:var(--%NS%color-muted)}form[_ngcontent-%COMP%]{inline-size:100%}.edit-control[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--%NS%space-2)}.edit-control[_ngcontent-%COMP%] :is(.input[_ngcontent-%COMP%], .select[_ngcontent-%COMP%]){inline-size:100%}.edit-actions[_ngcontent-%COMP%]{display:flex;align-items:center}.edit-actions[_ngcontent-%COMP%] app-hint[_ngcontent-%COMP%], .edit-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{block-size:var(--%NS%control-height)}`]})};export{R as t};
@@ -1 +0,0 @@
1
- import{$t as ZC,A as Gy,At as S_,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,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_,pr as qS,qn as ky,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{h as Ne$1,m as Ie,r as N,v as Dt}from"./main-AJD2LGCE.js";import"./chunk-CuukTiS1.js";import{t as g$1}from"./chunk-B56nz2lI.js";import"./chunk-BzUDWIzm.js";import"./chunk-CczD0yXn.js";import"./chunk-CReShp-B.js";import{t as k}from"./chunk-DRgIjFR6.js";import"./chunk-BAe_07VM.js";import"./chunk-CjtJKrza.js";import{d as V,m as h,r as E,s as P}from"./chunk-BQRlJCOd.js";import{c as W,i as K,l as q,o as N$1,s as S,u as w}from"./chunk-mI1TUlml.js";import"./chunk-Dv9sNWWK.js";import{t as R}from"./chunk-BlE9HnAo.js";import"./chunk-BWNhkOOr.js";import{t as l}from"./chunk-Bm0a1bep.js";import"./chunk-CSkyOfSg.js";import{n as m,t as d}from"./chunk-cTGENC4T.js";import{t as Ft$1}from"./chunk-DjewtV43.js";import{t as p}from"./chunk-BHEFFEGN.js";import"./chunk-CXHCUTDs2.js";import"./chunk-ZBDWcE362.js";import"./chunk-CP-AnFGa2.js";import"./chunk-scbWWgLx2.js";import{n as B,t as $}from"./chunk-DMlYYeVV2.js";import{t as u}from"./chunk-osh5v_OU2.js";import{t as c}from"./chunk-D83vXRZS2.js";import"./chunk-CdEOFR_J.js";import"./chunk-BKWyrwrz.js";import{t as l$1}from"./chunk-CH-_LXUF.js";import"./chunk-Bsy3r41y.js";import"./chunk-C3v6o8sk.js";import{n as Z,t as P$1}from"./chunk-DsbC92Ad2.js";import{t as d$1}from"./chunk-CGgGK0-O2.js";var fe=()=>({status:`issued`,credit:`without`});var ve=r=>({count:r});var be=(r,i)=>[`/invoices`,r,`credits`,i,`edit`];var Ce=()=>({dateStyle:`medium`});var xe=()=>[`document.download`,`invoice.read`];var he=(r,i)=>i.item.id;function Se(r,i){if(r&1&&(Us(0,`p`,7),y_(1),fd()),r&2){let e=qS();ZC(),nv(e.i18n.t(`backOffice.invoices.loading`))}}function Ne(r,i){if(r&1){let e=zS();Us(0,`p`,8),y_(1),fd(),Us(2,`button`,9),Gy(`click`,function(){Ip(e);return wp(qS().load())}),y_(3),fd()}if(r&2){let e=qS();ZC(),nv(e.i18n.t(`billingWorkspace.loadError`)),ZC(2),nv(e.i18n.t(`listControls.reload`))}}function we(r,i){if(r&1){let e=zS();Us(0,`p`,8),y_(1),fd(),Us(2,`button`,9),Gy(`click`,function(){Ip(e);return wp(qS().load())}),y_(3),fd()}if(r&2){let e=qS();ZC(),nv(e.i18n.t(`billingWorkspace.limitExceeded`)),ZC(2),nv(e.i18n.t(`listControls.reload`))}}function ke(r,i){if(r&1&&(Us(0,`a`,20),y_(1),fd()),r&2){qS(2);let e=S_(0),n=qS(2);Fy(`href`,`/api/credit-notes/`+e.id+`/pdf`,Qg),ZC(),nv(n.i18n.t(`credit.pdf`))}}function Me(r,i){r&1&&Iy(0,ke,2,2,`a`,21),r&2&&Fy(`appCan`,O_(1,xe))}function Pe(r,i){if(r&1&&(Us(0,`span`),y_(1),fd()),r&2){let e=qS(3);ZC(),nv(e.i18n.t(`credit.draft`))}}function Oe(r,i){if(r&1&&(lv(0),Us(1,`tr`)(2,`td`)(3,`div`,15),Py(4,`app-entity-icon`,16),Us(5,`div`)(6,`a`,17),y_(7),fd(),Us(8,`small`,18),y_(9),fd()()()(),Us(10,`td`)(11,`span`,18),y_(12),fd()(),Us(13,`td`,18),y_(14),fd(),Us(15,`td`),y_(16),j_(17,`localizedDate`),fd(),Us(18,`td`,19),y_(19),fd(),Us(20,`td`),OS(21,Me,1,2,`a`,20)(22,Pe,2,1,`span`),fd()()),r&2){let e=i.$implicit,n=qS(2),a=b_(e.item);ZC(6),Fy(`routerLink`,F_(18,be,a.sourceInvoiceIds[0],a.id))(`queryParams`,n.detailQuery())(`appSearchHighlight`,n.matchIndices(e,`number`)),ZC(),nv(a.number??n.i18n.t(`credit.draft`)),ZC(),Fy(`appSearchHighlight`,n.matchIndices(e,`reason`)),ZC(),nv(a.reason),ZC(2),Fy(`appSearchHighlight`,n.matchIndices(e,`sourceInvoiceNumbers`)),ZC(),nv(a.sourceInvoiceNumbers.join(` · `)),ZC(),Fy(`appSearchHighlight`,n.matchIndices(e,`clientDisplayName`)),ZC(),vd(` `,a.clientDisplayName,` `),ZC(2),vd(` `,H_(17,14,a.issuedAt??a.createdAt,n.i18n.language(),O_(21,Ce)),` `),ZC(3),nv(n.money(a.totalCents,a.currency)),ZC(2),kS(a.status===`issued`?21:22)}}function Ee(r,i){if(r&1&&(Us(0,`tr`)(1,`td`,22),y_(2),fd()()),r&2){let e=qS(2);ZC(2),nv(e.i18n.t(e.emptyKey()))}}function De(r,i){if(r&1){let e=zS();Us(0,`div`,10)(1,`table`)(2,`thead`)(3,`tr`)(4,`th`,11)(5,`button`,12),Gy(`click`,function(){Ip(e);return wp(qS().sortBy(`reference`))}),fd()(),Us(6,`th`,11)(7,`button`,12),Gy(`click`,function(){Ip(e);return wp(qS().sortBy(`invoice`))}),fd()(),Us(8,`th`,11)(9,`button`,12),Gy(`click`,function(){Ip(e);return wp(qS().sortBy(`client`))}),fd()(),Us(10,`th`,11)(11,`button`,12),Gy(`click`,function(){Ip(e);return wp(qS().sortBy(`date`))}),fd()(),Us(12,`th`,13)(13,`button`,12),Gy(`click`,function(){Ip(e);return wp(qS().sortBy(`amount`))}),fd()(),Us(14,`th`),y_(15),fd()()(),Us(16,`tbody`),LS(17,Oe,23,22,`tr`,null,he,!1,Ee,3,1,`tr`),fd()()(),Us(20,`footer`,14)(21,`p`,7),y_(22),fd()()}if(r&2){let e=qS();ZC(4),ky(`aria-sort`,e.sortDirection(e.sort(),`reference`)),ZC(),Fy(`label`,e.i18n.t(`credit.title`))(`direction`,e.sortDirection(e.sort(),`reference`)),ZC(),ky(`aria-sort`,e.sortDirection(e.sort(),`invoice`)),ZC(),Fy(`label`,e.i18n.t(`backOffice.invoices.number`))(`direction`,e.sortDirection(e.sort(),`invoice`)),ZC(),ky(`aria-sort`,e.sortDirection(e.sort(),`client`)),ZC(),Fy(`label`,e.i18n.t(`backOffice.invoices.client`))(`direction`,e.sortDirection(e.sort(),`client`)),ZC(),ky(`aria-sort`,e.sortDirection(e.sort(),`date`)),ZC(),Fy(`label`,e.i18n.t(`billingWorkspace.issuedAt`))(`direction`,e.sortDirection(e.sort(),`date`)),ZC(),ky(`aria-sort`,e.sortDirection(e.sort(),`amount`)),ZC(),Fy(`label`,e.i18n.t(`backOffice.invoice.total`))(`direction`,e.sortDirection(e.sort(),`amount`)),ZC(2),nv(e.i18n.t(`billingWorkspace.document`)),ZC(2),jS(e.visible()),ZC(5),nv(e.i18n.plural(`entityList.credits`,k_(18,ve,e.visible().length)))}}var _e=class r{i18n=g(Ie);api=g(R);destroyRef=g(pe);filters=g(P$1);emptyKey=Ft(()=>w(this.rows().length));exportEmptyKey=Ft(()=>q(this.state()));rows=Ke([]);sort=Ft(()=>K(this.filters.params(),S));detailQuery=Ft(()=>W(`credits`,this.filters.params()));sortDirection=P;matchIndices=V;searchResults=Ft$1(this.rows,Ft(()=>this.filters.fields.q().value()),{keys:[`number`,`reason`,`sourceInvoiceNumbers`,`clientDisplayName`],ignoreDiacritics:!0,ignoreLocation:!0,includeMatches:!0,threshold:.35});visible=Ft(()=>{let i=new Intl.Collator(this.i18n.language(),{numeric:!0,sensitivity:`base`});return this.searchResults().filter(({item:e})=>this.filters.passes(e,E(e.issuedAt??e.createdAt))).toSorted((e,n)=>N$1(e.item,n.item,this.sort(),i,a=>this.i18n.t(a)))});sortBy(i){this.filters.updateSort(h(this.sort(),i))}clients=Ft(()=>[...new Map(this.rows().map(i=>[i.clientId,i.clientDisplayName])).entries()]);state=Ke(`loading`);csvColumns=Ft(()=>[this.i18n.t(`credit.title`),this.i18n.t(`credit.reason`),this.i18n.t(`backOffice.invoices.number`),this.i18n.t(`backOffice.invoices.client`),this.i18n.t(`billingWorkspace.financialStatus`),this.i18n.t(`billingWorkspace.issuedAt`),`${this.i18n.t(`backOffice.invoice.total`)} (EUR)`]);csvRows=Ft(()=>this.state()!==`ready`?[]:this.visible().map(({item:i})=>[i.number,i.reason,i.sourceInvoiceNumbers.join(` · `),i.clientDisplayName,this.i18n.t(i.status===`draft`?`credit.draft`:`credit.issued`),i.issuedAt??i.createdAt,i.totalCents/100]));constructor(){Ol(()=>{this.load()})}async load(){this.state.set(`loading`),this.rows.set([]);try{let i=await this.api.credits();if(this.destroyRef.destroyed)return;i.success?(this.rows.set(i.result),this.state.set(`ready`)):this.state.set(i.code===`invoice.workspace_limit`?`limit`:`error`)}catch{this.destroyRef.destroyed||this.state.set(`error`)}}money(i,e){return Ne$1(i,this.i18n.language(),e)}static ɵfac=function(e){return new(e||r)};static ɵcmp=Fb({type:r,selectors:[[`app-credit-notes`]],hostAttrs:[1,`page-container`],features:[A_([P$1,d])],decls:18,vars:17,consts:[[`aria-labelledby`,`credits-title`,1,`detail-page`,`wide-page`,`billing-page`],[`id`,`credits-title`],[1,`muted`],[`pageActions`,``,`appLinkButton`,``,`icon`,`invoice`,`variant`,`primary`,`routerLink`,`/billing`,3,`queryParams`],[`appListWorkspace`,``],[3,`periodLabel`,`clients`,`showStatus`,`disabled`],[`listActions`,``,`filename`,`credit-notes.csv`,3,`columns`,`rows`,`label`,`emptyHint`,`pendingHint`,`pending`],[`role`,`status`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`appButton`,``,3,`click`],[`appDataTable`,``],[`scope`,`col`],[`appTableSort`,``,3,`click`,`label`,`direction`],[`scope`,`col`,1,`amount`],[1,`list-summary`],[1,`entity-label`],[`icon`,`invoice`],[3,`routerLink`,`queryParams`,`appSearchHighlight`],[3,`appSearchHighlight`],[1,`amount`],[`download`,``,3,`href`],[`download`,``,3,`href`,4,`appCan`],[`colspan`,`6`]],template:function(e,n){if(e&1&&(Us(0,`section`,0)(1,`app-page-header`)(2,`h1`,1),y_(3),fd(),Us(4,`p`,2),y_(5),fd(),Us(6,`a`,3),y_(7),fd()(),Py(8,`app-billing-nav`),Us(9,`section`,4)(10,`app-billing-entry-filters`,5),Py(11,`app-table-export`,6),fd(),OS(12,Se,2,1,`p`,7)(13,Ne,4,2)(14,we,4,2)(15,De,23,20),fd(),Us(16,`p`,2),y_(17),fd()()),e&2){let a;ZC(3),nv(n.i18n.t(`backOffice.billing.title`)),ZC(2),nv(n.i18n.t(`backOffice.billing.intro`)),ZC(),Fy(`queryParams`,O_(16,fe)),ZC(),nv(n.i18n.t(`billingWorkspace.chooseInvoice`)),ZC(3),Fy(`periodLabel`,n.i18n.t(`billingWorkspace.creditPeriod`))(`clients`,n.clients())(`showStatus`,!1)(`disabled`,n.state()!==`ready`),ZC(),Fy(`columns`,n.csvColumns())(`rows`,n.csvRows())(`label`,n.i18n.t(`listWorkspace.exportCsv`))(`emptyHint`,n.i18n.t(n.exportEmptyKey()))(`pendingHint`,n.i18n.t(`listWorkspace.exportPending`))(`pending`,n.state()===`loading`),ZC(),kS((a=n.state())===`loading`?12:a===`error`?13:a===`limit`?14:a===`ready`?15:-1),ZC(5),nv(n.i18n.t(`billingWorkspace.creditHint`))}},dependencies:[l,l$1,N,k,g$1,c,Dt,d$1,Z,u,m,B,$,p],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{_e as CreditNotes};
@@ -1 +0,0 @@
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-AJD2LGCE.js";import"./chunk-B56nz2lI.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-DUJbqlfC.js";import{t as k}from"./chunk-DRgIjFR6.js";import{ct as Me,wi as wu}from"./chunk-BAe_07VM.js";import"./chunk-DzxhjLIR.js";import{Ai as Vu}from"./chunk-CjtJKrza.js";import{o as N$1}from"./chunk-BQRlJCOd.js";import"./chunk-mI1TUlml.js";import"./chunk-Dv9sNWWK.js";import{t as R}from"./chunk-BlE9HnAo.js";import{t as w}from"./chunk-B43WHzJp.js";import{a as u}from"./chunk-Dx1NwQCW.js";import"./chunk-BCemdpJW.js";import"./chunk-CfwFJLFh.js";import{t as S}from"./chunk-Bjio-Q3F.js";import{t as u$1}from"./chunk-u_CBgBep.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};
@@ -1 +0,0 @@
1
- import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,Gn as k_,Ir as wp,It as Us,Jr as zS,K as Ke,Nr as vd,Rn as jS,Tn as fd,Wn as kS,Wr as y_,X as LS,ft as Ol,lt as OS,pr as qS,qn as ky,rr as nv,vt as Py,w as Fb,xt as Qg,z as Ip}from"./chunk-BAHiFuUo.js";import{h as Ne,m as Ie,r as N,v as Dt}from"./main-AJD2LGCE.js";import{t as g$1}from"./chunk-B56nz2lI.js";import{t as k}from"./chunk-DRgIjFR6.js";import"./chunk-BAe_07VM.js";import"./chunk-CjtJKrza.js";import"./chunk-Dv9sNWWK.js";import{t as f}from"./chunk-BCemdpJW.js";import{t as c}from"./chunk-D83vXRZS2.js";import{t as S}from"./chunk-BbbRo5jM2.js";var $=o=>({reference:o});var j=o=>[`/purchases`,o];var A=(o,n)=>n.id;function q(o,n){if(o&1&&(Us(0,`p`,4),y_(1),fd()),o&2){let e=qS();ZC(),nv(e.i18n.t(n))}}function K(o,n){if(o&1&&(Us(0,`p`,5),y_(1),Us(2,`a`,7),y_(3),fd()()),o&2){let e=qS();ZC(),vd(` `,e.i18n.t(`supplierPaymentBatch.created`),` `),ZC(),Fy(`href`,`/api/supplier-payment-batches/`+n.id+`/download`,Qg),ZC(),nv(e.i18n.t(`supplierPaymentBatch.download`))}}function G(o,n){if(o&1&&(Us(0,`p`,6),y_(1),fd()),o&2){let e=qS();ZC(),nv(e.i18n.t(`supplierPaymentBatch.loading`))}}function J(o,n){if(o&1){let e=zS();Us(0,`tr`)(1,`td`)(2,`input`,17),Gy(`change`,function(d){let m=Ip(e).$implicit;return wp(qS(2).select(m.id,d))}),fd()(),Us(3,`th`,18)(4,`a`,19),y_(5),fd()(),Us(6,`td`),y_(7),fd(),Us(8,`td`),y_(9),fd(),Us(10,`td`),y_(11),fd()()}if(o&2){let e=n.$implicit,c=qS(2);ZC(2),Fy(`checked`,c.isSelected(e.id)),ky(`aria-label`,c.i18n.tf(`supplierPaymentBatch.selectInvoice`,k_(7,$,e.reference))),ZC(2),Fy(`routerLink`,k_(9,j,e.id)),ZC(),nv(e.reference),ZC(2),nv(e.supplierName),ZC(2),nv(e.dueDate),ZC(2),nv(c.money(e.totalCents))}}function Q(o,n){if(o&1&&(Us(0,`tr`)(1,`td`,20),y_(2),fd()()),o&2){let e=qS(2);ZC(2),nv(e.i18n.t(`supplierPaymentBatch.emptyEligible`))}}function W(o,n){if(o&1&&(Us(0,`tr`)(1,`th`,18),y_(2),fd(),Us(3,`td`),y_(4),fd(),Us(5,`td`),y_(6),fd(),Us(7,`td`),y_(8),fd(),Us(9,`td`)(10,`a`,7),y_(11),fd()()()),o&2){let e=n.$implicit,c=qS(2);ZC(2),nv(e.messageId),ZC(2),nv(e.executionDate),ZC(2),nv(e.transactionCount),ZC(2),nv(c.money(e.controlSumCents)),ZC(2),Fy(`href`,`/api/supplier-payment-batches/`+e.id+`/download`,Qg),ZC(),nv(c.i18n.t(`supplierPaymentBatch.download`))}}function X(o,n){if(o&1&&(Us(0,`tr`)(1,`td`,20),y_(2),fd()()),o&2){let e=qS(2);ZC(2),nv(e.i18n.t(`supplierPaymentBatch.emptyHistory`))}}function Y(o,n){if(o&1){let e=zS();Us(0,`section`,8)(1,`h2`,9),y_(2),fd(),Us(3,`label`,10),y_(4),Us(5,`input`,11),Gy(`input`,function(d){Ip(e);return wp(qS().setExecutionDate(d))}),fd()(),Us(6,`div`,12)(7,`table`)(8,`thead`)(9,`tr`)(10,`th`,13),y_(11),fd(),Us(12,`th`,13),y_(13),fd(),Us(14,`th`,13),y_(15),fd(),Us(16,`th`,13),y_(17),fd(),Us(18,`th`,13),y_(19),fd()()(),Us(20,`tbody`),LS(21,J,12,11,`tr`,null,A,!1,Q,3,1,`tr`),fd()()(),Us(24,`button`,14),Gy(`click`,function(){Ip(e);return wp(qS().create())}),y_(25),fd()(),Us(26,`section`,15)(27,`h2`,16),y_(28),fd(),Us(29,`div`,12)(30,`table`)(31,`thead`)(32,`tr`)(33,`th`,13),y_(34),fd(),Us(35,`th`,13),y_(36),fd(),Us(37,`th`,13),y_(38),fd(),Us(39,`th`,13),y_(40),fd(),Us(41,`th`,13),y_(42),fd()()(),Us(43,`tbody`),LS(44,W,12,6,`tr`,null,A,!1,X,3,1,`tr`),fd()()()()}if(o&2){let e=qS();ZC(2),nv(e.i18n.t(`supplierPaymentBatch.createTitle`)),ZC(2),vd(` `,e.i18n.t(`supplierPaymentBatch.executionDate`),` `),ZC(),Fy(`value`,e.executionDate()),ZC(6),nv(e.i18n.t(`supplierPaymentBatch.select`)),ZC(2),nv(e.i18n.t(`supplierInvoice.reference`)),ZC(2),nv(e.i18n.t(`supplierInvoice.supplier`)),ZC(2),nv(e.i18n.t(`supplierInvoice.dueDate`)),ZC(2),nv(e.i18n.t(`supplierInvoice.total`)),ZC(2),jS(e.eligibleInvoices()),ZC(3),Fy(`disabled`,!e.canCreate()),ZC(),vd(` `,e.i18n.t(`supplierPaymentBatch.create`),` `),ZC(3),nv(e.i18n.t(`supplierPaymentBatch.history`)),ZC(6),nv(e.i18n.t(`supplierPaymentBatch.messageId`)),ZC(2),nv(e.i18n.t(`supplierPaymentBatch.executionDate`)),ZC(2),nv(e.i18n.t(`supplierPaymentBatch.transactionCount`)),ZC(2),nv(e.i18n.t(`supplierPaymentBatch.controlSum`)),ZC(2),nv(e.i18n.t(`supplierPaymentBatch.file`)),ZC(2),jS(e.batches())}}var L=class o{i18n=g(Ie);api=g(S);invoices=Ke([]);batches=Ke([]);selectedIds=Ke([]);executionDate=Ke(``);loading=Ke(!0);busy=Ke(!1);error=Ke(void 0);created=Ke(void 0);eligibleInvoices=Ft(()=>this.invoices().filter(n=>n.status===`approved`&&n.currency===`EUR`));canCreate=Ft(()=>this.selectedIds().length>0&&this.executionDate()!==``&&!this.busy());breadcrumbs=Ft(()=>[{label:this.i18n.t(`supplierInvoice.title`),path:`/purchases`}]);constructor(){Ol(()=>{this.load()})}money(n){return Ne(n,this.i18n.language(),`EUR`)}isSelected(n){return this.selectedIds().includes(n)}select(n,e){let c=e.target instanceof HTMLInputElement&&e.target.checked;this.selectedIds.update(d=>c?[...d,n]:d.filter(m=>m!==n)),this.created.set(void 0)}setExecutionDate(n){n.target instanceof HTMLInputElement&&this.executionDate.set(n.target.value),this.created.set(void 0)}async create(){if(this.canCreate()){this.busy.set(!0),this.error.set(void 0),this.created.set(void 0);try{let n=await this.api.createPaymentBatch({requestId:crypto.randomUUID(),executionDate:this.executionDate(),invoiceIds:this.selectedIds()});if(!n.success){this.error.set(n.code);return}this.created.set(n.result),this.batches.update(e=>[n.result,...e]),this.selectedIds.set([])}catch{this.error.set(`supplierInvoice.error`)}finally{this.busy.set(!1)}}}async load(){this.loading.set(!0),this.error.set(void 0);try{let[n,e]=await Promise.all([this.api.list(),this.api.paymentBatches()]);n.success?e.success?(this.invoices.set(n.result),this.batches.set(e.result)):this.error.set(e.code):this.error.set(n.code)}catch{this.error.set(`supplierInvoice.error`)}finally{this.loading.set(!1)}}static ɵfac=function(e){return new(e||o)};static ɵcmp=Fb({type:o,selectors:[[`app-supplier-payment-batches`]],hostAttrs:[1,`page-container`],decls:11,vars:8,consts:[[`aria-labelledby`,`supplier-payment-batches-title`,1,`detail-page`,`wide-page`],[`layout`,`stacked`],[`pageBack`,``,3,`label`,`items`,`current`],[`id`,`supplier-payment-batches-title`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`appNotice`,``,`variant`,`success`,`role`,`status`],[`role`,`status`],[3,`href`],[`aria-labelledby`,`supplier-payment-create-title`,1,`ds-panel`,`form-panel`],[`id`,`supplier-payment-create-title`],[`for`,`supplier-payment-execution-date`,1,`field`],[`id`,`supplier-payment-execution-date`,`type`,`date`,`required`,``,1,`input`,3,`input`,`value`],[`appDataTable`,``],[`scope`,`col`],[`appButton`,``,`variant`,`primary`,`type`,`button`,3,`click`,`disabled`],[`aria-labelledby`,`supplier-payment-history-title`,1,`spacer-y-4`],[`id`,`supplier-payment-history-title`],[`type`,`checkbox`,3,`change`,`checked`],[`scope`,`row`],[3,`routerLink`],[`colspan`,`5`]],template:function(e,c){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,K,4,3,`p`,5),OS(9,G,2,1,`p`,6)(10,Y,47,18),fd()),e&2){let d,m;ZC(2),Fy(`label`,c.i18n.t(`backOfficeShell.breadcrumb`))(`items`,c.breadcrumbs())(`current`,c.i18n.t(`supplierPaymentBatch.title`)),ZC(2),nv(c.i18n.t(`supplierPaymentBatch.title`)),ZC(2),nv(c.i18n.t(`supplierPaymentBatch.intro`)),ZC(),kS((d=c.error())?7:-1,d),ZC(),kS((m=c.created())?8:-1,m),ZC(),kS(c.loading()?9:10)}},dependencies:[f,N,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{L as SupplierPaymentBatchesPage};
@@ -1 +0,0 @@
1
- import{n as m,t as l}from"./chunk-BwCtja5l.js";import{n as w,r as x}from"./chunk-2sHWWuzv2.js";import{n as p,r as u,t as d}from"./chunk-CP9GxcYV.js";import{a as k,i as g,r as f,t as C}from"./chunk-CHUMIo442.js";function b(e){let i=w(x(e,k),k),n=w(x(e,C),C),s=w(x(e,g),g),f$1=f(e),a=d(e.get(`view`));return m(l({},u(p(e))),{view:a===`active`?void 0:a,clientAffairQ:i.clientAffairQ,clientAffairSort:i.clientAffairSort,clientAffairStatus:i.clientAffairStatus,clientDocumentQ:n.clientDocumentQ,clientDocumentSort:n.clientDocumentSort,clientDocumentType:n.clientDocumentType,clientAccessQ:s.clientAccessQ,clientAccessSort:s.clientAccessSort,clientAccessFrom:f$1.from,clientAccessTo:f$1.to})}export{b as t};
@@ -1 +0,0 @@
1
- import{n as m,t as l}from"./chunk-BwCtja5l.js";import{$t as ZC,A as Gy,At as S_,D as Fy,Dn as g,Dr as t_,E as Ft$1,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,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,rr as nv,tn as ZT,vt as Py,w as Fb,z as Ip}from"./chunk-BAHiFuUo.js";import{S as gr,T as ue,c as O,h as Ne,l as r,m as Ie,o as U,r as N,v as Dt$1,y as G}from"./main-AJD2LGCE.js";import{t as D}from"./chunk-CuukTiS1.js";import{t as g$1}from"./chunk-B56nz2lI.js";import"./chunk-BzUDWIzm.js";import"./chunk-CczD0yXn.js";import"./chunk-CReShp-B.js";import{t as k}from"./chunk-DRgIjFR6.js";import"./chunk-BAe_07VM.js";import{t}from"./chunk-CKxU-VJf.js";import"./chunk-CjtJKrza.js";import"./chunk-Dv9sNWWK.js";import{i as m$1}from"./chunk-Dx1NwQCW.js";import{t as d}from"./chunk-CfwFJLFh.js";import{t as E}from"./chunk-BWNhkOOr.js";import{t as l$1}from"./chunk-Bm0a1bep.js";import{d as nr,h as yn}from"./chunk-CSkyOfSg.js";import{n as m$2,t as d$1}from"./chunk-cTGENC4T.js";import{t as Ft$2}from"./chunk-DjewtV43.js";import"./chunk-CXHCUTDs2.js";import"./chunk-ZBDWcE362.js";import"./chunk-CP-AnFGa2.js";import"./chunk-scbWWgLx2.js";import{i as U$1,n as B,r as Q,t as $}from"./chunk-DMlYYeVV2.js";import{t as u}from"./chunk-osh5v_OU2.js";import{t as c}from"./chunk-D83vXRZS2.js";import{t as f}from"./chunk-BG9HC5MH2.js";import{t as h}from"./chunk-DODMV1QO.js";import{n as b,t as Z}from"./chunk-BKWyrwrz.js";import{t as l$2}from"./chunk-CH-_LXUF.js";import"./chunk-Bsy3r41y.js";import{t as Fe}from"./chunk-C3v6o8sk.js";import{a as h$1,i as f$1,n as V,r as b$1,t as P}from"./chunk-Ok502fV82.js";var Pt=a=>({query:a});var Mt=a=>({rate:a});var Vt=a=>({count:a});var Dt=a=>[`/catalog`,a,`edit`];var Wt=(a,i)=>i.item.id;function Lt(a,i){if(a&1&&(Us(0,`a`,8),y_(1),fd()),a&2){let t=qS();Fy(`queryParams`,t.createQuery()),ZC(),nv(t.i18n.t(`catalog.create`))}}function It(a,i){if(a&1&&(Us(0,`p`,6),y_(1),fd()),a&2){let t=qS();ZC(),nv(t.i18n.t(`catalog.saved`))}}function Ft(a,i){if(a&1){let t=zS();Us(0,`app-filter-choice`,17),Gy(`committed`,function(n){Ip(t),qS();let p=t_(5);return qS().setTax(n),wp(p.close())}),fd(),qT()}if(a&2){let t=qS(2);Fy(`label`,t.i18n.t(`listWorkspace.searchChoices`))(`emptyLabel`,t.i18n.t(`listWorkspace.noChoices`))(`options`,t.taxChoices())(`formField`,t.filters.tax),ZT()}}function Rt(a,i){if(a&1){let t=zS();Us(0,`button`,19),Gy(`click`,function(){Ip(t);return wp(qS(3).clearSearch())}),fd()}if(a&2){let t=qS(3);Fy(`label`,t.i18n.tf(`catalogWorkspace.searchFilter`,k_(1,Pt,t.query().q)))}}function Bt(a,i){if(a&1){let t=zS();Us(0,`button`,19),Gy(`click`,function(){Ip(t);return wp(qS(3).clearTax())}),fd()}if(a&2){qS(2);let t=S_(0),e=qS();Fy(`label`,e.i18n.tf(`catalogWorkspace.taxFilter`,k_(1,Mt,e.decimal(t,2))))}}function Nt(a,i){if(a&1&&(Us(0,`div`,14),OS(1,Rt,1,3,`button`,18),OS(2,Bt,1,3,`button`,18),fd()),a&2){qS();let t=S_(0),e=qS();ZC(),kS(e.query().q?1:-1),ZC(),kS(t!==null?2:-1)}}function Qt(a,i){if(a&1&&(Us(0,`p`,15),y_(1),fd()),a&2){let t=qS(2);ZC(),nv(t.i18n.t(`catalog.loading`))}}function At(a,i){if(a&1){let t=zS();Us(0,`div`,16)(1,`p`,20),y_(2),fd(),Us(3,`button`,21),Gy(`click`,function(){Ip(t);return wp(qS(2).load())}),y_(4),fd()()}if(a&2){let t=qS(2);ZC(2),nv(t.i18n.t(`catalogWorkspace.loadError`)),ZC(2),vd(` `,t.i18n.t(`catalogWorkspace.retry`),` `)}}function Ht(a,i){if(a&1){let t=zS();Us(0,`button`,27),Gy(`click`,function(){Ip(t);return wp(qS(4).resetFilters())}),y_(1),fd()}if(a&2){let t=qS(4);ZC(),vd(` `,t.i18n.t(`catalogWorkspace.resetFilters`),` `)}}function Ot(a,i){if(a&1&&(Us(0,`a`,26),y_(1),fd()),a&2){let t=qS(4).tab,e=qS();Fy(`queryParams`,e.editorQuery(t)),ZC(),nv(e.i18n.t(`catalog.create`))}}function $t(a,i){a&1&&Iy(0,Ot,2,2,`a`,28),a&2&&Fy(`appCan`,`catalog.manage`)}function zt(a,i){if(a&1&&(Us(0,`app-empty-state`,22)(1,`p`),y_(2),fd(),OS(3,Ht,2,1,`button`,25)(4,$t,1,1,`a`,26),fd()),a&2){let t=qS(2).tab,e=qS();Fy(`title`,e.i18n.t(e.filtered()?`catalogWorkspace.noMatches`:t===`archived`?`catalogWorkspace.noArchived`:`catalogWorkspace.empty`)),ZC(2),vd(` `,e.i18n.t(e.filtered()?`catalogWorkspace.changeSearch`:t===`archived`?`catalogWorkspace.archiveIntro`:`catalogWorkspace.emptyIntro`),` `),ZC(),kS(e.filtered()?3:t!==`archived`?4:-1)}}function Gt(a,i){if(a&1&&(Us(0,`a`,38),y_(1),fd()),a&2){let t=qS().$implicit,e=S_(0),n=qS(3).tab,p=qS();Fy(`routerLink`,k_(4,Dt,e.id))(`queryParams`,p.editorQuery(n))(`appSearchHighlight`,t.matches),ZC(),nv(e.description)}}function Ut(a,i){if(a&1&&(Us(0,`span`,39),y_(1),fd()),a&2){let t=qS().$implicit,e=S_(0);Fy(`appSearchHighlight`,t.matches),ZC(),nv(e.description)}}function jt(a,i){if(a&1&&(lv(0),Us(1,`tr`)(2,`th`,35)(3,`div`,36),Py(4,`app-entity-icon`,37),OS(5,Gt,2,6,`a`,38)(6,Ut,2,2,`span`,39),fd()(),Us(7,`td`,40),y_(8),fd(),Us(9,`td`,40),y_(10),fd(),Us(11,`td`,40),y_(12),fd(),Us(13,`td`)(14,`span`,41),y_(15),fd()()()),a&2){let t=i.$implicit,e=qS(4),n=b_(t.item);ZC(4),Fy(`variant`,e.iconVariant(n)),ZC(),kS(e.authentication.can(`catalog.manage`)?5:6),ZC(3),nv(e.decimal(n.quantityMilli,3)),ZC(2),nv(e.money(n.unitPriceCents)),ZC(2),vd(``,e.decimal(n.vatRateBasisPoints,2),` %`),ZC(3),nv(e.i18n.t(n.archived?`catalog.archived`:`catalogWorkspace.available`))}}function Jt(a,i){if(a&1){let t=zS();Us(0,`div`,23)(1,`table`)(2,`colgroup`),Py(3,`col`,29)(4,`col`,30)(5,`col`,31)(6,`col`)(7,`col`),fd(),Us(8,`thead`)(9,`tr`)(10,`th`,32)(11,`button`,33),Gy(`click`,function(){Ip(t);return wp(qS(3).sortBy(`description`))}),fd()(),Us(12,`th`,34)(13,`button`,33),Gy(`click`,function(){Ip(t);return wp(qS(3).sortBy(`quantity`))}),fd()(),Us(14,`th`,34)(15,`button`,33),Gy(`click`,function(){Ip(t);return wp(qS(3).sortBy(`price`))}),fd()(),Us(16,`th`,34)(17,`button`,33),Gy(`click`,function(){Ip(t);return wp(qS(3).sortBy(`tax`))}),fd()(),Us(18,`th`,32)(19,`button`,33),Gy(`click`,function(){Ip(t);return wp(qS(3).sortBy(`status`))}),fd()()()(),Us(20,`tbody`),LS(21,jt,16,7,`tr`,null,Wt),fd()()()}if(a&2){let t=qS(2).tab,e=qS();ZC(10),ky(`aria-sort`,e.sortDirection(`description`)===`none`?null:e.sortDirection(`description`)),ZC(),Fy(`label`,e.i18n.t(`catalog.description`))(`direction`,e.sortDirection(`description`)),ZC(),ky(`aria-sort`,e.sortDirection(`quantity`)===`none`?null:e.sortDirection(`quantity`)),ZC(),Fy(`label`,e.i18n.t(`catalog.quantity`))(`direction`,e.sortDirection(`quantity`)),ZC(),ky(`aria-sort`,e.sortDirection(`price`)===`none`?null:e.sortDirection(`price`)),ZC(),Fy(`label`,e.i18n.t(`catalogWorkspace.price`))(`direction`,e.sortDirection(`price`)),ZC(),ky(`aria-sort`,e.sortDirection(`tax`)===`none`?null:e.sortDirection(`tax`)),ZC(),Fy(`label`,e.i18n.t(`catalog.tax`))(`direction`,e.sortDirection(`tax`)),ZC(),ky(`aria-sort`,e.sortDirection(`status`)===`none`?null:e.sortDirection(`status`)),ZC(),Fy(`label`,e.i18n.t(`catalogWorkspace.status`))(`direction`,e.sortDirection(`status`)),ZC(2),jS(e.visibleItems(t))}}function Kt(a,i){if(a&1&&(OS(0,zt,5,3,`app-empty-state`,22)(1,Jt,23,15,`div`,23),Us(2,`footer`,24)(3,`p`,15),y_(4),fd()()),a&2){let t=qS().tab,e=qS();kS(e.visibleItems(t).length===0?0:1),ZC(4),vd(` `,e.i18n.plural(`catalogWorkspace.count`,k_(2,Vt,e.visibleItems(t).length)),` `)}}function Xt(a,i){if(a&1){let t=zS();lv(0),Us(1,`section`,9)(2,`app-list-toolbar`)(3,`app-list-search`,10),Gy(`valueChange`,function(n){Ip(t);return wp(qS().setSearch(n))}),fd(),qT(),Us(4,`app-filter-menu`,11,0),Iy(6,Ft,1,4,`ng-template`,12),fd(),Py(7,`app-table-export`,13),fd(),OS(8,Nt,3,2,`div`,14),OS(9,Qt,2,1,`p`,15)(10,At,5,2,`div`,16)(11,Kt,5,4),fd()}if(a&2){let t,e=i.tab,n=qS(),p=b_(n.query().tax);ZC(),ky(`aria-labelledby`,`catalog-`+e+`-tab`),ZC(2),Fy(`label`,n.i18n.t(`catalog.search`))(`formField`,n.filters.search),ZT(),ZC(),Fy(`label`,n.i18n.t(`listWorkspace.filters`))(`closeLabel`,n.i18n.t(`listWorkspace.closeFilters`))(`backLabel`,n.i18n.t(`listWorkspace.backFilters`))(`activeCount`,p===null?0:1)(`disabled`,n.state()!==`ready`),ZC(2),Fy(`label`,n.i18n.t(`catalog.tax`))(`summary`,p===null?n.i18n.t(`catalogWorkspace.allTaxRates`):n.decimal(p,2)+` %`),ZC(),Fy(`columns`,n.exportColumns())(`rows`,n.exportRows(e))(`label`,n.i18n.t(`listWorkspace.exportCsv`))(`emptyHint`,n.i18n.t(`listWorkspace.exportEmpty`))(`pendingHint`,n.i18n.t(`listWorkspace.exportPending`))(`pending`,n.state()!==`ready`),ZC(),kS(n.filtered()?8:-1),ZC(),kS((t=n.state())===`loading`?9:t===`error`?10:t===`ready`?11:-1)}}var Et=class a{authentication=g(E);i18n=g(Ie);api=g(f$1);route=g(G);router=g(ue);destroyRef=g(pe);state=Ke(`loading`);items=Ke([]);query=Ke(P(this.route.snapshot.queryParamMap));filterModel=Ke({search:this.query().q,tax:this.query().tax?.toString()??``});filters=nr(this.filterModel);filtered=Ft$1(()=>this.query().q!==``||this.query().tax!==null);taxRates=Ft$1(()=>{let{tax:i}=this.query();return[...new Set([...this.items().map(t=>t.vatRateBasisPoints),...i===null?[]:[i]])].sort((t,e)=>t-e)});exportColumns=Ft$1(()=>[this.i18n.t(`catalog.description`),this.i18n.t(`catalog.quantity`),this.i18n.t(`catalogWorkspace.exportPrice`),this.i18n.t(`catalog.tax`),this.i18n.t(`catalogWorkspace.status`)]);taxChoices=Ft$1(()=>[{value:``,label:this.i18n.t(`catalogWorkspace.allTaxRates`)},...this.taxRates().map(i=>({value:String(i),label:`${this.decimal(i,2)} %`}))]);saved=this.router.currentNavigation()?.extras.state?.catalogSaved===!0;tabs=Ft$1(()=>[`active`,`archived`,`all`].map(i=>({path:i,id:`catalog-${i}-tab`,label:this.i18n.t(`catalogWorkspace.${i}`)})));searchResults=Ft$2(this.items,Ft$1(()=>this.filters.search().value()),{keys:[`description`],ignoreDiacritics:!0,ignoreLocation:!0,includeMatches:!0,threshold:.35});results=Ft$1(()=>{let i=this.query().sort===`none`?`description-asc`:this.query().sort,t=i.endsWith(`desc`)?-1:1,e=new Intl.Collator(this.i18n.language(),{numeric:!0,sensitivity:`base`});return this.searchResults().toSorted((n,p)=>{let v;return i.startsWith(`quantity`)?v=n.item.quantityMilli-p.item.quantityMilli:i.startsWith(`price`)?v=n.item.unitPriceCents-p.item.unitPriceCents:i.startsWith(`tax`)?v=n.item.vatRateBasisPoints-p.item.vatRateBasisPoints:i.startsWith(`status`)?v=Number(n.item.archived)-Number(p.item.archived):v=e.compare(n.item.description,p.item.description),t*v||n.item.id.localeCompare(p.item.id)}).map(n=>({item:n.item,matches:n.matches?.find(p=>p.key===`description`)?.indices??[]}))});loadGeneration=0;constructor(){Ol(()=>{this.route.queryParamMap.pipe(U(this.destroyRef)).subscribe(i=>{let t=P(i);this.query.set(t),this.filterModel.set({search:t.q,tax:t.tax?.toString()??``})}),this.load()})}visibleItems(i){let{tax:t}=this.query();return this.results().filter(({item:e})=>(i===`all`||e.archived===(i===`archived`))&&(t===null||e.vatRateBasisPoints===t))}iconVariant(i){return i.archived?`warning`:`success`}exportRows(i){return this.state()!==`ready`?[]:this.visibleItems(i).map(({item:t})=>[t.description,m$1(t.quantityMilli,3),m$1(t.unitPriceCents,2),m$1(t.vatRateBasisPoints,2),this.i18n.t(t.archived?`catalog.archived`:`catalogWorkspace.available`)])}editorQuery(i){return m(l({},b$1(this.query())),{view:i})}createQuery(){return this.editorQuery(h$1(this.route.firstChild?.snapshot.url[0]?.path))}setSearch(i){let t=i.slice(0,120);this.filterModel.update(e=>m(l({},e),{search:t})),this.query.update(e=>m(l({},e),{q:t})),this.updateQuery()}clearSearch(){this.setSearch(``),this.filters.search().focusBoundControl()}setTax(i){let t=V(i);this.filterModel.update(e=>m(l({},e),{tax:t?.toString()??``})),this.query.update(e=>m(l({},e),{tax:t})),this.updateQuery()}clearTax(){this.setTax(``),this.filters.search().focusBoundControl()}resetFilters(){this.filterModel.set({search:``,tax:``}),this.query.update(i=>m(l({},i),{q:``,tax:null})),this.updateQuery(),this.filters.search().focusBoundControl()}sortDirection(i){let{sort:t}=this.query();return t===`${i}-asc`?`ascending`:t===`${i}-desc`?`descending`:`none`}sortBy(i){let t$1=t(this.query().sort,`${i}-asc`,`${i}-desc`);this.query.update(e=>m(l({},e),{sort:t$1})),this.router.navigate([],{relativeTo:this.route,queryParams:{sort:t$1===`none`?null:t$1},queryParamsHandling:`merge`,replaceUrl:!0})}updateQuery(){this.router.navigate([],{relativeTo:this.route,queryParams:b$1(this.query()),replaceUrl:!0})}async load(){let i=++this.loadGeneration;this.state.set(`loading`);try{let t=await this.api.list();if(this.destroyRef.destroyed||i!==this.loadGeneration)return;this.items.set(t),this.state.set(`ready`)}catch{!this.destroyRef.destroyed&&i===this.loadGeneration&&this.state.set(`error`)}}money(i){return Ne(i,this.i18n.language(),`EUR`)}decimal(i,t){return m$1(i,t,this.i18n.language()===`fr`?`,`:`.`)}static ɵfac=function(t){return new(t||a)};static ɵcmp=Fb({type:a,selectors:[[`app-catalog`]],hostAttrs:[1,`page-container`],features:[A_([d$1])],decls:11,vars:7,consts:[[`filterMenu`,``],[`appTabLayout`,``,`aria-labelledby`,`catalog-title`,1,`catalog-page`],[`id`,`catalog-title`],[1,`muted`],[`pageActions`,``,`appLinkButton`,``,`icon`,`plus`,`variant`,`primary`,`routerLink`,`/catalog/new`,3,`queryParams`,4,`appCan`],[3,`label`,`tabs`,`preserveQuery`],[`appNotice`,``,`variant`,`success`,`role`,`status`],[`appTabPanel`,`catalog`],[`pageActions`,``,`appLinkButton`,``,`icon`,`plus`,`variant`,`primary`,`routerLink`,`/catalog/new`,3,`queryParams`],[`appListWorkspace`,``,`id`,`catalog-panel`,`role`,`region`],[`listSearch`,``,3,`valueChange`,`label`,`formField`],[`listFilters`,``,3,`label`,`closeLabel`,`backLabel`,`activeCount`,`disabled`],[`appFilterPanel`,``,3,`label`,`summary`],[`listActions`,``,`filename`,`catalog.csv`,3,`columns`,`rows`,`label`,`emptyHint`,`pendingHint`,`pending`],[1,`active-filters`],[`role`,`status`],[1,`notice-flow`],[3,`committed`,`label`,`emptyLabel`,`options`,`formField`],[`appFilterChip`,``,3,`label`],[`appFilterChip`,``,3,`click`,`label`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`appButton`,``,`type`,`button`,3,`click`],[`icon`,`catalog`,3,`title`],[`appDataTable`,``,`tableLayout`,`fluid`,1,`items`,`wide-table`],[1,`list-summary`],[`emptyActions`,``,`appButton`,``,`type`,`button`],[`emptyActions`,``,`appLinkButton`,``,`icon`,`plus`,`routerLink`,`/catalog/new`,3,`queryParams`],[`emptyActions`,``,`appButton`,``,`type`,`button`,3,`click`],[`emptyActions`,``,`appLinkButton`,``,`icon`,`plus`,`routerLink`,`/catalog/new`,3,`queryParams`,4,`appCan`],[1,`description-column`],[1,`quantity-column`],[1,`price-column`],[`scope`,`col`],[`appTableSort`,``,3,`click`,`label`,`direction`],[`scope`,`col`,1,`numeric`],[`scope`,`row`],[1,`entity-label`],[`icon`,`catalog`,3,`variant`],[3,`routerLink`,`queryParams`,`appSearchHighlight`],[3,`appSearchHighlight`],[1,`numeric`],[`appBadge`,``]],template:function(t,e){t&1&&(Us(0,`section`,1)(1,`app-page-header`)(2,`h1`,2),y_(3),fd(),Us(4,`p`,3),y_(5),fd(),Iy(6,Lt,2,2,`a`,4),fd(),Py(7,`app-tabs`,5),OS(8,It,2,1,`p`,6),Py(9,`router-outlet`),Iy(10,Xt,12,19,`ng-template`,7),fd()),t&2&&(ZC(3),nv(e.i18n.t(`catalog.title`)),ZC(2),nv(e.i18n.t(`catalogWorkspace.intro`)),ZC(),Fy(`appCan`,`catalog.manage`),ZC(),Fy(`label`,e.i18n.t(`catalogWorkspace.views`))(`tabs`,e.tabs())(`preserveQuery`,!0),ZC(),kS(e.saved?8:-1))},dependencies:[l$1,l$2,d,N,c,f,h,Z,b,Fe,yn,Q,U$1,B,k,g$1,Dt$1,gr,m$2,$,u,O,r,D],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}.catalog-page[_ngcontent-%COMP%]{padding:var(--%NS%page-header-y) var(--%NS%page-x)}.field[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-2);min-inline-size:0}.numeric[_ngcontent-%COMP%]{text-align:end;font-variant-numeric:tabular-nums}.description-column[_ngcontent-%COMP%]{inline-size:35%}.quantity-column[_ngcontent-%COMP%]{inline-size:18%}.price-column[_ngcontent-%COMP%]{inline-size:22%}.active-filters[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:var(--%NS%space-2)}`]})};export{Et as Catalog};
@@ -1 +0,0 @@
1
- import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,Gn as k_,Gr as yd,Ir as wp,It as Us,Jr as zS,K as Ke,Rn as jS,Sr as rv,Tn as fd,Wn as kS,Wr as y_,X as LS,Zn as md,dr as pe$1,ft as Ol,lt as OS,pr as qS,rr as nv,w as Fb,xt as Qg,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-AJD2LGCE.js";import{t as g$1}from"./chunk-B56nz2lI.js";import{t as k}from"./chunk-DRgIjFR6.js";import{ct as Me,wi as wu}from"./chunk-BAe_07VM.js";import{Ia as a}from"./chunk-CjtJKrza.js";import{t as d}from"./chunk-CfwFJLFh.js";import{n as u}from"./chunk-BHEFFEGN.js";import{n as f,r as h,t as S}from"./chunk-CYB9QO85.js";import{n as m,t as i}from"./chunk-BUoX0svL2.js";var Z=t=>[`/client/documents/quote`,t];var ee=t=>[`/client/documents/invoice`,t];var te=t=>[`/client/documents/order`,t];var ne=(t,i)=>i.id;function ie(t,i){t&1&&(Us(0,`p`),y_(1),fd()),t&2&&(ZC(),nv(i.title))}function ae(t,i){if(t&1&&(Us(0,`span`,5),y_(1),fd()),t&2){let e=qS();ZC(),nv(e.status())}}function oe(t,i){if(t&1&&(Us(0,`a`,7),y_(1),fd()),t&2){let e=qS();Fy(`href`,i,Qg),ZC(),nv(e.i18n.t(`backOffice.client.pdf`))}}function re(t,i){if(t&1&&(Us(0,`p`,8),y_(1),fd()),t&2){let e=qS();ZC(),nv(e.i18n.t(`backOffice.client.loading`))}}function ce(t,i){if(t&1&&(Us(0,`p`,9),y_(1),fd()),t&2){let e=qS();ZC(),nv(e.i18n.t(`portalWorkspace.notFound`))}}function de(t,i){if(t&1){let e=zS();Us(0,`p`,9),y_(1),fd(),Us(2,`button`,10),Gy(`click`,function(){Ip(e);return wp(qS().load())}),y_(3),fd()}if(t&2){let e=qS();ZC(),nv(e.i18n.t(`backOffice.client.error`)),ZC(2),nv(e.i18n.t(`backOffice.client.retry`))}}function le(t,i){if(t&1&&(Us(0,`p`,14),y_(1),fd()),t&2){let e=qS(3);ZC(),nv(e.i18n.t(`backOffice.client.unavailable`))}}function me(t,i){if(t&1&&(Us(0,`p`,14),y_(1),fd()),t&2){let e=qS(3);ZC(),nv(e.i18n.t(`portalWorkspace.signatureLink`))}}function se(t,i){if(t&1&&(Us(0,`a`,16),y_(1),fd()),t&2){let e=qS(),o=qS(3);Fy(`routerLink`,k_(3,ee,e.invoiceId))(`queryParams`,o.returnQuery()),ZC(),nv(o.i18n.t(`backOffice.client.invoice.available`))}}function pe(t,i){if(t&1&&(Us(0,`p`),y_(1),fd()),t&2){let e=qS(4);ZC(),nv(e.i18n.t(`backOffice.client.invoice.pending`))}}function ue(t,i){if(t&1&&(Us(0,`section`,15)(1,`h2`),y_(2),fd(),Us(3,`a`,16),y_(4),fd(),Us(5,`h2`),y_(6),fd(),OS(7,se,2,5,`a`,16)(8,pe,2,1,`p`),fd()),t&2){let e=i,o=qS(3);ZC(2),nv(o.i18n.t(`backOffice.client.quotes`)),ZC(),Fy(`routerLink`,k_(6,Z,e.quoteId))(`queryParams`,o.returnQuery()),ZC(),nv(e.quoteReference),ZC(2),nv(o.i18n.t(`backOffice.client.invoice`)),ZC(),kS(e.invoiceId?7:8)}}function _e(t,i){if(t&1&&(Us(0,`li`)(1,`a`,21),y_(2),fd()()),t&2){let e=i.$implicit,o=qS(5);ZC(),Fy(`href`,`/api/client/credit-notes/`+e.id+`/pdf`,Qg),ZC(),rv(``,e.number,` · `,o.i18n.t(`credit.pdf`))}}function fe(t,i){if(t&1&&(Us(0,`p`),y_(1),fd(),Us(2,`ul`),LS(3,_e,3,3,`li`,null,ne),fd()),t&2){let e=qS(),o=qS(3);ZC(),rv(``,o.i18n.t(`credit.credited`),` `,o.money(e.creditedCents,e.currency)),ZC(2),jS(e.creditNotes)}}function xe(t,i){if(t&1&&(Us(0,`p`,20),y_(1),fd()),t&2){let e=qS(4);ZC(),nv(e.i18n.t(`backOffice.client.invoice.historicalPaid`))}}function Ce(t,i){if(t&1&&(Us(0,`p`,20),y_(1),fd()),t&2){let e=qS(4);ZC(),nv(e.i18n.t(`backOffice.client.invoice.voidBalance`))}}function ve(t,i){if(t&1&&(Us(0,`section`,17)(1,`h2`,18),y_(2),fd(),Us(3,`dl`,19)(4,`div`)(5,`dt`),y_(6),fd(),Us(7,`dd`),y_(8),fd()(),Us(9,`div`)(10,`dt`),y_(11),fd(),Us(12,`dd`),y_(13),fd()(),Us(14,`div`)(15,`dt`),y_(16),fd(),Us(17,`dd`)(18,`strong`),y_(19),fd()()(),Us(20,`div`)(21,`dt`),y_(22),fd(),Us(23,`dd`),y_(24),fd()()(),OS(25,fe,5,2),OS(26,xe,2,1,`p`,20),OS(27,Ce,2,1,`p`,20),fd(),Us(28,`section`,15)(29,`h2`),y_(30),fd(),Us(31,`a`,16),y_(32),fd()()),t&2){let e=i,o=qS(3);ZC(2),nv(o.i18n.t(`backOffice.client.invoice.remaining`)),ZC(4),nv(o.i18n.t(`backOffice.client.invoice.total`)),ZC(2),nv(o.money(e.totalCents,e.currency)),ZC(3),nv(o.i18n.t(`backOffice.client.invoice.recordedPaid`)),ZC(2),nv(o.money(e.recordedPaidCents,e.currency)),ZC(3),nv(o.i18n.t(`backOffice.client.invoice.remaining`)),ZC(3),nv(o.money(e.remainingCents,e.currency)),ZC(3),nv(o.i18n.t(`backOffice.client.dueDate`)),ZC(2),nv(o.date(e.dueDate)),ZC(),kS(e.creditedCents>0?25:-1),ZC(),kS(e.status===`paid`&&e.recordedPaidCents<e.totalCents?26:-1),ZC(),kS(e.status===`void`?27:-1),ZC(3),nv(o.i18n.t(`backOffice.client.orders`)),ZC(),Fy(`routerLink`,k_(16,te,e.orderId))(`queryParams`,o.returnQuery()),ZC(),nv(e.orderReference)}}function ye(t,i){if(t&1&&(Us(0,`dl`,11)(1,`div`)(2,`dt`),y_(3),fd(),Us(4,`dd`),y_(5),fd()(),Us(6,`div`)(7,`dt`),y_(8),fd(),Us(9,`dd`)(10,`time`,12),y_(11),fd()()()(),Us(12,`p`,13),y_(13),fd(),OS(14,le,2,1,`p`,14),OS(15,me,2,1,`p`,14),OS(16,ue,9,8,`section`,15),OS(17,ve,33,18)),t&2){let e,o,m=i,u=qS(2);ZC(3),nv(u.i18n.t(`backOffice.client.amount`)),ZC(2),nv(u.money(m.totalCents,m.currency)),ZC(3),nv(u.i18n.t(m.order?`portalWorkspace.created`:`portalWorkspace.updated`)),ZC(2),Fy(`dateTime`,m.date),ZC(),nv(u.date(m.date)),ZC(2),nv(u.i18n.t(`portalWorkspace.snapshot`)),ZC(),kS(m.pdfAvailable?-1:14),ZC(),kS(m.quote?.status===`sent`?15:-1),ZC(),kS((e=m.order)?16:-1,e),ZC(),kS((o=m.invoice)?17:-1,o)}}function ge(t,i){if(t&1&&OS(0,ye,18,10),t&2){let e;kS((e=qS().document())?0:-1,e)}}var Y=class t{i18n=g(Ie);api=g(f);route=g(G);destroyRef=g(pe$1);queryParams=T(this.route.queryParamMap,{initialValue:this.route.snapshot.queryParamMap});returnQuery=Ft(()=>S(h(this.queryParams())));state=Ke(`loading`);document=Ke(void 0);pdfUrl=Ft(()=>{let i=this.document();if(i?.pdfAvailable){if(i.quote)return this.api.quotePdfUrl(i.quote.id);if(i.order)return this.api.orderPdfUrl(i.order.id);if(i.invoice)return this.api.invoicePdfUrl(i.invoice.id)}});status=Ft(()=>{let i=this.document();return i?.quote?this.i18n.t(`backOffice.quote.status.${i.quote.status}`):i?.invoice?this.i18n.t(`backOffice.invoice.status.${i.invoice.status}`):this.i18n.t(`backOffice.client.confirmed`)});loadGeneration=0;constructor(){Ol(()=>this.route.paramMap.pipe(U(this.destroyRef)).subscribe(()=>{this.load()}))}money(i,e){return Ne(i,this.i18n.language(),e)}date(i){return u(i,this.i18n.language(),{dateStyle:`medium`})}async load(){let i$1=++this.loadGeneration;this.state.set(`loading`),this.document.set(void 0);let e=wu.decodeUnknownOption(m)(this.route.snapshot.paramMap.get(`kind`)),o=wu.decodeUnknownOption(a)(this.route.snapshot.paramMap.get(`documentId`));if(Me.isNone(e)||Me.isNone(o)){this.state.set(`missing`);return}try{let m=e.value===`quote`?i(await this.api.listQuotes(),[],[]):e.value===`order`?i([],await this.api.listOrders(),[]):i([],[],await this.api.listInvoices());if(this.destroyRef.destroyed||i$1!==this.loadGeneration)return;let u=m.find(f=>f.id===o.value);this.document.set(u),this.state.set(u?`ready`:`missing`)}catch{!this.destroyRef.destroyed&&i$1===this.loadGeneration&&this.state.set(`error`)}}static ɵfac=function(e){return new(e||t)};static ɵcmp=Fb({type:t,selectors:[[`app-customer-document-detail`]],hostAttrs:[1,`page-container`],decls:15,vars:7,consts:[[`aria-labelledby`,`document-title`,1,`detail-page`],[`layout`,`stacked`],[`pageBack`,``,`routerLink`,`/client`,3,`queryParams`],[`id`,`document-title`],[`pageBadges`,``],[`appBadge`,``],[`pageActions`,``],[`appLinkButton`,``,`icon`,`download`,`variant`,`primary`,`download`,``,3,`href`],[`role`,`status`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`appButton`,``,`type`,`button`,3,`click`],[1,`document-facts`],[3,`dateTime`],[1,`snapshot-note`],[`appNotice`,``],[1,`related`],[3,`routerLink`,`queryParams`],[`aria-labelledby`,`invoice-balance-title`,1,`invoice-details`],[`id`,`invoice-balance-title`],[1,`invoice-balance`],[`appNotice`,``,1,`payment-note`],[`download`,``,3,`href`]],template:function(e,o){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,ie,2,1,`p`),md(7,4),OS(8,ae,2,1,`span`,5),yd(),md(9,6),OS(10,oe,2,2,`a`,7),yd(),fd(),OS(11,re,2,1,`p`,8)(12,ce,2,1,`p`,9)(13,de,4,2)(14,ge,1,1),fd()),e&2){let m,u,f;ZC(2),Fy(`queryParams`,o.returnQuery()),ZC(),nv(o.i18n.t(`portalWorkspace.back`)),ZC(2),nv(o.document()?.reference??o.i18n.t(`portalWorkspace.detail`)),ZC(),kS((m=o.document())?6:-1,m),ZC(2),kS(o.document()?8:-1),ZC(2),kS((u=o.pdfUrl())?10:-1,u),ZC(),kS((f=o.state())===`loading`?11:f===`missing`?12:f===`error`?13:f===`ready`?14:-1)}},dependencies:[d,N,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}}h2[_ngcontent-%COMP%]{font-size:var(--%NS%text-lg)}.document-facts[_ngcontent-%COMP%], .invoice-balance[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:var(--%NS%space-5);margin-block:var(--%NS%space-5)}dt[_ngcontent-%COMP%], .snapshot-note[_ngcontent-%COMP%]{color:var(--%NS%color-muted);font-size:var(--%NS%text-sm)}dd[_ngcontent-%COMP%]{margin:var(--%NS%space-1) 0 0;font-variant-numeric:tabular-nums}.related[_ngcontent-%COMP%], .invoice-details[_ngcontent-%COMP%]{margin-block-start:var(--%NS%space-6)}.related[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-3)}.payment-note[_ngcontent-%COMP%]{margin-block:var(--%NS%space-4)}`]})};export{Y as CustomerDocumentDetail};
@@ -1 +0,0 @@
1
- import{n as m,t as l}from"./chunk-BwCtja5l.js";import{$t as ZC,A as Gy,D as Fy,Dn as g,Dr as t_,E as Ft,Ir as wp,It as Us,Jr as zS,K as Ke,Nr as vd,Rn as jS,Tn as fd,V as Iy,W as KS,Wn as kS,Wr as y_,X as LS,en as ZS,lt as OS,mr as qT,nt as NH,o as A,pr as qS,qn as ky,tn as ZT,w as Fb,z as Ip}from"./chunk-BAHiFuUo.js";import{T as ue,m as Ie,o as U,r as N,y as G}from"./main-AJD2LGCE.js";import{b as y}from"./chunk-BQRlJCOd.js";import{d as nr,h as yn}from"./chunk-CSkyOfSg.js";import{i as U$1,r as Q}from"./chunk-DMlYYeVV2.js";import{t as B}from"./chunk-CdEOFR_J.js";import{n as b,t as Z$1}from"./chunk-BKWyrwrz.js";import{t as Fe}from"./chunk-C3v6o8sk.js";var ee=[[[``,`listActions`,``]]];var te=[`[listActions]`];var ie=(n,t)=>t[0];function ne(n,t){if(n&1){let e=zS();Us(0,`app-filter-choice`,6),Gy(`committed`,function(){Ip(e);let r=qS(),a=t_(3);return r.state.update(),wp(a.close())}),fd(),qT()}if(n&2){let e=qS();Fy(`label`,e.i18n.t(`listWorkspace.searchChoices`))(`emptyLabel`,e.i18n.t(`listWorkspace.noChoices`))(`options`,e.clientOptions())(`formField`,e.state.fields.client),ZT()}}function re(n,t){if(n&1){let e=zS();Us(0,`app-filter-choice`,6),Gy(`committed`,function(){Ip(e);let r=qS(2),a=t_(3);return r.state.update(),wp(a.close())}),fd(),qT()}if(n&2){let e=qS(2);Fy(`label`,e.i18n.t(`listWorkspace.searchChoices`))(`emptyLabel`,e.i18n.t(`listWorkspace.noChoices`))(`options`,e.statusOptions())(`formField`,e.state.fields.status),ZT()}}function ae(n,t){if(n&1&&Iy(0,re,1,4,`ng-template`,3),n&2){let e=qS();Fy(`label`,e.i18n.t(`billingWorkspace.financialStatus`))(`summary`,e.label(`status`,e.state.fields.status().value()))}}function le(n,t){if(n&1){let e=zS();Us(0,`app-date-range-filter`,7),Gy(`rangeApplied`,function(r){Ip(e);let a=qS(),h=t_(3);return a.state.applyPeriod(r),wp(h.close())}),fd()}if(n&2){let e=qS();Fy(`from`,e.state.fields.from().value()||void 0)(`to`,e.state.fields.to().value()||void 0)}}function oe(n,t){if(n&1){let e=zS();Us(0,`button`,9),Gy(`click`,function(){let r=Ip(e).$implicit;return wp(qS(2).state.clear(r[0]))}),y_(1),fd()}if(n&2){let e=t.$implicit,i=qS(2);ky(`aria-label`,i.i18n.t(`billingWorkspace.removeFilter`)+` : `+i.label(e[0],e[1])),ZC(),vd(` `,i.label(e[0],e[1]),` × `)}}function se(n,t){if(n&1){let e=zS();Us(0,`div`,5),LS(1,oe,2,2,`button`,8,ie),Us(3,`button`,9),Gy(`click`,function(){Ip(e);return wp(qS().state.clear())}),y_(4),fd()()}if(n&2){let e=qS();ZC(),jS(e.state.active()),ZC(3),vd(` `,e.i18n.t(`billingWorkspace.clear`),` `)}}var Y=n=>l({q:(n.get(`q`)??``).slice(0,160),status:n.get(`status`)??``,client:n.get(`client`)??``},y(n));var P=class n{i18n=g(Ie);route=g(G);router=g(ue);params=Ke(this.route.snapshot.queryParamMap);fields=nr(Ke(Y(this.route.snapshot.queryParamMap)));periodSummary=Ft(()=>{let{from:t,to:e}=this.fields().value();return[t?`${this.i18n.t(`dateRangeFilter.from`)} : ${t}`:``,e?`${this.i18n.t(`dateRangeFilter.to`)} : ${e}`:``].filter(Boolean).join(` · `)||this.i18n.t(`billingWorkspace.all`)});active=Ft(()=>{let t=this.fields().value(),e=Object.entries(t).filter(([i,r])=>i!==`from`&&i!==`to`&&r!==``);return(t.from||t.to)&&e.push([`period`,this.periodSummary()]),e});filterCount=Ft(()=>this.active().filter(([t])=>t!==`q`).length);constructor(){this.route.queryParamMap.pipe(U()).subscribe(t=>{this.params.set(t),this.fields().reset(Y(t))})}update(){this.router.navigate([],{relativeTo:this.route,queryParams:this.fields().value(),queryParamsHandling:`merge`,replaceUrl:!0})}setSearch(t){this.fields.q().value.set(t.slice(0,160)),this.update()}applyPeriod(t){this.fields().reset(m(l({},this.fields().value()),{from:t.from??``,to:t.to??``})),this.update()}updateSort(t){this.router.navigate([],{relativeTo:this.route,queryParams:m(l({},this.fields().value()),{sort:t===`none`?null:t}),queryParamsHandling:`merge`,replaceUrl:!0})}clear(t){this.fields().reset(t===void 0?{q:``,status:``,client:``,from:``,to:``}:t===`period`?m(l({},this.fields().value()),{from:``,to:``}):m(l({},this.fields().value()),{[t]:``})),this.update()}passes(t,e){let{status:i,client:r,from:a,to:h}=this.fields().value();return(!r||t.clientId===r)&&(!a||e>=a)&&(!h||e<=h)&&(!i||!(`cancelledAt`in t)||(i===`cancelled`?t.cancelledAt!=null:t.cancelledAt===null))}static ɵfac=function(e){return new(e||n)};static ɵprov=A({token:n,factory:n.ɵfac})};var Z=class n{state=g(P);i18n=g(Ie);clients=NH.required();periodLabel=NH.required();showStatus=NH(!0);disabled=NH(!1);clientOptions=Ft(()=>[{value:``,label:this.i18n.t(`billingWorkspace.all`)},...this.clients().map(([t,e])=>({value:t,label:e}))]);statusOptions=Ft(()=>[``,`active`,`cancelled`].map(t=>({value:t,label:this.label(`status`,t)})));label(t,e){return e===``?this.i18n.t(`billingWorkspace.all`):t===`client`?this.clients().find(([i])=>i===e)?.[1]??e:t===`status`?this.i18n.t(e===`cancelled`?`billingWorkspace.cancelled`:`billingWorkspace.active`):e}static ɵfac=function(e){return new(e||n)};static ɵcmp=Fb({type:n,selectors:[[`app-billing-entry-filters`]],hostAttrs:[2,`display`,`contents`],inputs:{clients:[1,`clients`],periodLabel:[1,`periodLabel`],showStatus:[1,`showStatus`],disabled:[1,`disabled`]},ngContentSelectors:te,decls:10,vars:13,consts:[[`menu`,``],[`listSearch`,``,3,`valueChange`,`label`,`value`],[`listFilters`,``,3,`label`,`closeLabel`,`backLabel`,`activeCount`,`disabled`],[`appFilterPanel`,``,3,`label`,`summary`],[`listActions`,``],[1,`chips`],[3,`committed`,`label`,`emptyLabel`,`options`,`formField`],[3,`rangeApplied`,`from`,`to`],[`appButton`,``,`type`,`button`],[`appButton`,``,`type`,`button`,3,`click`]],template:function(e,i){e&1&&(ZS(ee),Us(0,`app-list-toolbar`)(1,`app-list-search`,1),Gy(`valueChange`,function(a){return i.state.setSearch(a)}),fd(),Us(2,`app-filter-menu`,2,0),Iy(4,ne,1,4,`ng-template`,3),OS(5,ae,1,2,null,3),Iy(6,le,1,2,`ng-template`,3),fd(),Us(7,`div`,4),KS(8),fd()(),OS(9,se,5,1,`div`,5)),e&2&&(ZC(),Fy(`label`,i.i18n.t(`billingWorkspace.search`))(`value`,i.state.fields.q().value()),ZC(),Fy(`label`,i.i18n.t(`listWorkspace.filters`))(`closeLabel`,i.i18n.t(`listWorkspace.closeFilters`))(`backLabel`,i.i18n.t(`listWorkspace.backFilters`))(`activeCount`,i.state.filterCount())(`disabled`,i.disabled()),ZC(2),Fy(`label`,i.i18n.t(`backOffice.invoices.client`))(`summary`,i.label(`client`,i.state.fields.client().value())),ZC(),kS(i.showStatus()?5:-1),ZC(),Fy(`label`,i.periodLabel())(`summary`,i.state.periodSummary()),ZC(3),kS(i.state.active().length?9:-1))},dependencies:[yn,N,U$1,Q,Z$1,b,Fe,B],styles:[`.chips[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:end;gap:var(--%NS%space-3)}`]})};export{Z as n,P as t};