@sachahjkl/backoffice 0.2.6 → 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. package/README.md +4 -2
  2. package/dist/demo-reset.cjs +14 -12
  3. package/dist/main.cjs +14 -12
  4. package/dist/migrate.cjs +8 -6
  5. package/dist/web/chunk-3MmwmyDh.js +1 -0
  6. package/dist/web/{chunk-DhkjPUn4.js → chunk-6-OG9zy0.js} +1 -1
  7. package/dist/web/chunk-6twPawwh.js +1 -0
  8. package/dist/web/{chunk-Bck0-DJt2.js → chunk-AE7J7wcH2.js} +1 -1
  9. package/dist/web/chunk-AZB0sMq_.js +1 -0
  10. package/dist/web/{chunk-CGfyD3XX2.js → chunk-B-2b7DJP.js} +1 -1
  11. package/dist/web/{chunk-BYjxXKZ4.js → chunk-B-XrDECw.js} +1 -1
  12. package/dist/web/chunk-B0Pr-tNT.js +1 -0
  13. package/dist/web/chunk-B1Kpw1um.js +1 -0
  14. package/dist/web/chunk-B2X87TB92.js +1 -0
  15. package/dist/web/chunk-B3fBH9Bt2.js +1 -0
  16. package/dist/web/chunk-B4KnJ14M2.js +1 -0
  17. package/dist/web/{chunk-DZgf7AIe.js → chunk-B4Vcwa9l.js} +1 -1
  18. package/dist/web/chunk-B4cAnuMM2.js +1 -0
  19. package/dist/web/chunk-B6mYbErA2.js +1 -0
  20. package/dist/web/chunk-B6trGhNK2.js +3 -0
  21. package/dist/web/chunk-B89j6ppg2.js +1 -0
  22. package/dist/web/chunk-B8tEtjeZ2.js +1 -0
  23. package/dist/web/chunk-BAYVC6mO2.js +1 -0
  24. package/dist/web/{chunk-MpUdRrak2.js → chunk-BCN3uL5S.js} +1 -1
  25. package/dist/web/chunk-BDmE_ZEe2.js +1 -0
  26. package/dist/web/{chunk-aW8Vltn22.js → chunk-BEYQDr-4.js} +1 -1
  27. package/dist/web/{chunk-CLHj5Ycx2.js → chunk-BEqSiNum.js} +1 -1
  28. package/dist/web/chunk-BHnrX0WJ.js +1 -0
  29. package/dist/web/chunk-BJ0yZa2G.js +1 -0
  30. package/dist/web/{chunk-Fc120Hsi2.js → chunk-BL3upDtA.js} +1 -1
  31. package/dist/web/{chunk-POMKwNf_.js → chunk-BMiFx1ci.js} +1 -1
  32. package/dist/web/{chunk--RuvStn6.js → chunk-BNS7t55s2.js} +1 -1
  33. package/dist/web/{chunk-D1wrPwB5.js → chunk-BO6tYuf8.js} +1 -1
  34. package/dist/web/{chunk-HmRGBt692.js → chunk-BPA6_4Vt.js} +1 -1
  35. package/dist/web/chunk-BRp_hGNk.js +1 -0
  36. package/dist/web/chunk-BSDpuA332.js +1 -0
  37. package/dist/web/chunk-BSKQUQGn.js +1 -0
  38. package/dist/web/{chunk-C0Ceu-vg.js → chunk-BTsDF4C6.js} +1 -1
  39. package/dist/web/{chunk-CDK48Khc.js → chunk-BVXF-FYe2.js} +1 -1
  40. package/dist/web/{chunk-BkvskoFt2.js → chunk-BWBbQ7HE2.js} +1 -1
  41. package/dist/web/{chunk-DTPC4JtI2.js → chunk-BYRTViky2.js} +1 -1
  42. package/dist/web/chunk-BZe5DpAa.js +1 -0
  43. package/dist/web/chunk-B_7K7EHr.js +1 -0
  44. package/dist/web/{chunk-D8xHm8jb2.js → chunk-B_pcpccF.js} +1 -1
  45. package/dist/web/{chunk-xTX16tt2.js → chunk-B_xlO55a2.js} +1 -1
  46. package/dist/web/{chunk-BKufCOYq.js → chunk-BfKP2Lf9.js} +1 -1
  47. package/dist/web/chunk-Bfm6z5eI2.js +1 -0
  48. package/dist/web/chunk-Bgl7kJgO2.js +1 -0
  49. package/dist/web/{chunk-enci06qG.js → chunk-Bh2Diab5.js} +1 -1
  50. package/dist/web/chunk-Bi9TDDm92.js +1 -0
  51. package/dist/web/chunk-Bit8ybhq.js +1 -0
  52. package/dist/web/chunk-BmfZmUis.js +1 -0
  53. package/dist/web/chunk-BpkPnQ2K.js +1 -0
  54. package/dist/web/chunk-Bq24rsxm2.js +1 -0
  55. package/dist/web/{chunk-C_QyIKvy.js → chunk-BqXhvdC0.js} +1 -1
  56. package/dist/web/{chunk-CCkaRRSy.js → chunk-Brog8aBK.js} +1 -1
  57. package/dist/web/{chunk-C-O6GrQC2.js → chunk-Bu0zsnWO.js} +1 -1
  58. package/dist/web/chunk-BurkPLm-2.js +1 -0
  59. package/dist/web/chunk-BuyEsqZU2.js +1 -0
  60. package/dist/web/{chunk-AJOoJgZJ.js → chunk-BwFjLr9D2.js} +1 -1
  61. package/dist/web/chunk-BwGtxWvC.js +1 -0
  62. package/dist/web/chunk-Bxrld4562.js +1 -0
  63. package/dist/web/{chunk-Bq2zV2_3.js → chunk-C01EdpX9.js} +1 -1
  64. package/dist/web/{chunk-Dl4EbYnM2.js → chunk-C0dwIYf0.js} +1 -1
  65. package/dist/web/{chunk-CfcCxe_k.js → chunk-C1BibNrz.js} +1 -1
  66. package/dist/web/{chunk-Dns8uMf32.js → chunk-C1gYDta1.js} +1 -1
  67. package/dist/web/{chunk-CubfQf-X2.js → chunk-C2i4N9dz.js} +1 -1
  68. package/dist/web/{chunk-DpLF2wJ62.js → chunk-C6M6lCrw2.js} +1 -1
  69. package/dist/web/{chunk-CK6Sjqig.js → chunk-C94w9Yq2.js} +1 -1
  70. package/dist/web/chunk-CA-xctoQ2.js +1 -0
  71. package/dist/web/chunk-CBcFgY8f2.js +1 -0
  72. package/dist/web/{chunk-DGbo0App2.js → chunk-CCItYukO.js} +1 -1
  73. package/dist/web/chunk-CGLHod2X2.js +1 -0
  74. package/dist/web/{chunk-Bfx7EEIR.js → chunk-CHUNlDss2.js} +1 -1
  75. package/dist/web/chunk-CJ10tvOm.js +1 -0
  76. package/dist/web/chunk-CJE3VBx5.js +1 -0
  77. package/dist/web/chunk-CL9McPWU.js +1 -0
  78. package/dist/web/chunk-CLzfpBlo2.js +1 -0
  79. package/dist/web/chunk-CM29tQ7z.js +1 -0
  80. package/dist/web/{chunk-Ck6cItVE2.js → chunk-CMC_2rEW.js} +1 -1
  81. package/dist/web/chunk-CMFGRRh02.js +1 -0
  82. package/dist/web/chunk-CO_ECkiv.js +1 -0
  83. package/dist/web/{chunk-D97UUzIx.js → chunk-CQvxhLmC2.js} +1 -1
  84. package/dist/web/chunk-CRDadWvH2.js +1 -0
  85. package/dist/web/chunk-CS69nNvh.js +1 -0
  86. package/dist/web/chunk-CXb1THnv2.js +1 -0
  87. package/dist/web/chunk-CZM1REvY.js +1 -0
  88. package/dist/web/chunk-C_4qOSvi2.js +1 -0
  89. package/dist/web/chunk-C_wLUbPJ2.js +1 -0
  90. package/dist/web/chunk-CdvoW0GI.js +1 -0
  91. package/dist/web/{chunk-CE9WzUCM.js → chunk-CecoTW2V.js} +1 -1
  92. package/dist/web/chunk-Cg6D1SkX2.js +1 -0
  93. package/dist/web/chunk-ChMWeKtk2.js +1 -0
  94. package/dist/web/chunk-CiQcqWHR.js +1 -0
  95. package/dist/web/chunk-Cjj8GJIb2.js +1 -0
  96. package/dist/web/{chunk-niXXbm7H.js → chunk-CkRw7h0_.js} +1 -1
  97. package/dist/web/{chunk-nC_XlFOG.js → chunk-Ckk2HUrT.js} +1 -1
  98. package/dist/web/chunk-Cl9ktebj.js +1 -0
  99. package/dist/web/chunk-ClviGHGr.js +1 -0
  100. package/dist/web/{chunk-BVszSMJC.js → chunk-Cm2UNqwE.js} +1 -1
  101. package/dist/web/chunk-CoUH4AfS2.js +1 -0
  102. package/dist/web/chunk-CpB8RIpf.js +1 -0
  103. package/dist/web/{chunk-BpZ7MSOP.js → chunk-CqreQVp_.js} +1 -1
  104. package/dist/web/{chunk-DEXzwHB0.js → chunk-CrwYH4R_2.js} +1 -1
  105. package/dist/web/{chunk-RIi7_iVg.js → chunk-CuVXI21d.js} +1 -1
  106. package/dist/web/{chunk-CvsVlcIU2.js → chunk-CwkgffnU.js} +1 -1
  107. package/dist/web/chunk-CxgCrZQl.js +1 -0
  108. package/dist/web/{chunk-DDCyjjcE.js → chunk-CyavDx9Z.js} +1 -1
  109. package/dist/web/{chunk-r6H-BfOd.js → chunk-D0MIkZdd2.js} +1 -1
  110. package/dist/web/{chunk-D5qmP2Wu.js → chunk-D8Ui_APT.js} +1 -1
  111. package/dist/web/{chunk-CPHUl7N2.js → chunk-D8VZRHVx.js} +1 -1
  112. package/dist/web/chunk-D9pT7T7E.js +1 -0
  113. package/dist/web/chunk-DD8ATIqT2.js +1 -0
  114. package/dist/web/chunk-DE4GLf5B.js +1 -0
  115. package/dist/web/{chunk-CkWd-yMn.js → chunk-DEYSMPA_2.js} +1 -1
  116. package/dist/web/chunk-DGXdMht2.js +1 -0
  117. package/dist/web/chunk-DJfwJBD6.js +1 -0
  118. package/dist/web/chunk-DJwuZjJg2.js +1 -0
  119. package/dist/web/chunk-DKDWoDXU.js +1 -0
  120. package/dist/web/chunk-DLH3RPM22.js +1 -0
  121. package/dist/web/{chunk-qKosqkwC.js → chunk-DQRDJtdh.js} +1 -1
  122. package/dist/web/chunk-DRY4w4Td.js +1 -0
  123. package/dist/web/chunk-DTRJLfq02.js +1 -0
  124. package/dist/web/{chunk-4ipZT9nT.js → chunk-DTj9NKPI.js} +1 -1
  125. package/dist/web/chunk-DVbkiKVh2.js +1 -0
  126. package/dist/web/chunk-DVu24rwt.js +1 -0
  127. package/dist/web/chunk-DWN606KF2.js +1 -0
  128. package/dist/web/chunk-DZvdrgcs2.js +1 -0
  129. package/dist/web/chunk-D_X9J-dz2.js +1 -0
  130. package/dist/web/{chunk-C0gTeWW62.js → chunk-DbL20WIB2.js} +1 -1
  131. package/dist/web/{chunk-Bb31fHqC2.js → chunk-DbcNGxba.js} +1 -1
  132. package/dist/web/chunk-Dc29tEgJ2.js +1 -0
  133. package/dist/web/{chunk-DboSVJMM.js → chunk-Dc8-8Og_.js} +1 -1
  134. package/dist/web/chunk-DdVUVFhX.js +1 -0
  135. package/dist/web/chunk-DeERUxjp.js +1 -0
  136. package/dist/web/chunk-Dfxr5EJU.js +1 -0
  137. package/dist/web/chunk-DgZvyF3s.js +1 -0
  138. package/dist/web/chunk-DgZxoBPB.js +1 -0
  139. package/dist/web/{chunk-DsaNNeZe.js → chunk-DhpMFMQw.js} +1 -1
  140. package/dist/web/{chunk-DOCau85G2.js → chunk-DlBNgzF8.js} +1 -1
  141. package/dist/web/{chunk-CVHqiS63.js → chunk-DlecOMbR.js} +1 -1
  142. package/dist/web/chunk-DnKyRGr_.js +1 -0
  143. package/dist/web/{chunk-DhLlQTD-2.js → chunk-DnYJfVdt.js} +1 -1
  144. package/dist/web/chunk-Dr_Uz6uR2.js +1 -0
  145. package/dist/web/{chunk-NDpjbcAr2.js → chunk-DvAE1Kdh2.js} +1 -1
  146. package/dist/web/chunk-DwSL7UNj.js +1 -0
  147. package/dist/web/{chunk-DZgMGE6C.js → chunk-Dyouu0xF.js} +1 -1
  148. package/dist/web/{chunk-CABvk97t2.js → chunk-DytjnC4n2.js} +1 -1
  149. package/dist/web/{chunk-CApvwK4D.js → chunk-Fo633neF.js} +1 -1
  150. package/dist/web/chunk-I2ekTEA32.js +1 -0
  151. package/dist/web/{chunk-D5MFwK9L.js → chunk-IrDYxRzS.js} +1 -1
  152. package/dist/web/chunk-JqPdfaO22.js +1 -0
  153. package/dist/web/chunk-LKcToPK62.js +1 -0
  154. package/dist/web/{chunk-CtmP6l7_2.js → chunk-Qweefwro2.js} +1 -1
  155. package/dist/web/chunk-U_cdbXaE2.js +1 -0
  156. package/dist/web/chunk-Ub2hjsmX.js +1 -0
  157. package/dist/web/chunk-WylMVh3d.js +1 -0
  158. package/dist/web/chunk-ZZuAWaLQ.js +1 -0
  159. package/dist/web/{chunk-C19Alcnx2.js → chunk-Zj43itle.js} +1 -1
  160. package/dist/web/chunk-ZoQD3eIP2.js +1 -0
  161. package/dist/web/chunk-ZxYSyP21.js +1 -0
  162. package/dist/web/{chunk-D_8jIApo.js → chunk-a58d-9ZM2.js} +1 -1
  163. package/dist/web/{chunk-pV57uiBu2.js → chunk-aGxrcUQJ2.js} +1 -1
  164. package/dist/web/chunk-bIBAi42v2.js +1 -0
  165. package/dist/web/{chunk-DIJSXeQC2.js → chunk-bQhJGrXj2.js} +1 -1
  166. package/dist/web/chunk-c57UHX0J.js +1 -0
  167. package/dist/web/chunk-eAm9Qkk4.js +1 -0
  168. package/dist/web/{chunk-WNYFaDlu2.js → chunk-f6C5Rz_B2.js} +1 -1
  169. package/dist/web/chunk-fLDt2Dc5.js +1 -0
  170. package/dist/web/{chunk-CmokTGIG.js → chunk-fY-2jgAh.js} +1 -1
  171. package/dist/web/{chunk-SZJG1lFa2.js → chunk-f_xeGTT7.js} +1 -1
  172. package/dist/web/chunk-fxkvCM0b.js +1 -0
  173. package/dist/web/{chunk-9X4vLcFh.js → chunk-k8jJDyGi.js} +1 -1
  174. package/dist/web/{chunk-DerJPaBw.js → chunk-mCmB-2Tr.js} +1 -1
  175. package/dist/web/{chunk-DXvlXoVT2.js → chunk-mqeSFXPY2.js} +1 -1
  176. package/dist/web/{chunk-D6k6pmdU.js → chunk-o83QpKCY.js} +1 -1
  177. package/dist/web/chunk-pffFf_PV2.js +1 -0
  178. package/dist/web/{chunk-XtjMOmku2.js → chunk-sAfSVia62.js} +1 -1
  179. package/dist/web/{chunk-CEJjSd8-2.js → chunk-xIoy5TmG2.js} +1 -1
  180. package/dist/web/{chunk-B8_dFe5w.js → chunk-xRsHYitB.js} +1 -1
  181. package/dist/web/index.csr.html +1 -1
  182. package/dist/web/{main-F7D3L737.js → main-LXYWXFW4.js} +2 -2
  183. package/package.json +1 -1
  184. package/dist/web/chunk-6jIo5mZ42.js +0 -1
  185. package/dist/web/chunk-9d_UD-MQ.js +0 -1
  186. package/dist/web/chunk-B0bNirg2.js +0 -1
  187. package/dist/web/chunk-B3OxeBLO2.js +0 -1
  188. package/dist/web/chunk-B5xzAYYx2.js +0 -1
  189. package/dist/web/chunk-B6Rml85x2.js +0 -1
  190. package/dist/web/chunk-B91VAo1J.js +0 -1
  191. package/dist/web/chunk-B9NV1rY62.js +0 -1
  192. package/dist/web/chunk-BAn0tBhX.js +0 -1
  193. package/dist/web/chunk-BGVaNZdj.js +0 -1
  194. package/dist/web/chunk-BHDXYrox.js +0 -1
  195. package/dist/web/chunk-BI9lIdFn.js +0 -1
  196. package/dist/web/chunk-BNksdK_D2.js +0 -1
  197. package/dist/web/chunk-BQ7WWH4L.js +0 -1
  198. package/dist/web/chunk-BQrmVphu2.js +0 -1
  199. package/dist/web/chunk-BR0demlX.js +0 -1
  200. package/dist/web/chunk-BT8KtCYG.js +0 -1
  201. package/dist/web/chunk-BZZJ287h.js +0 -1
  202. package/dist/web/chunk-BcUjdID-.js +0 -1
  203. package/dist/web/chunk-Bf3eV_su2.js +0 -1
  204. package/dist/web/chunk-BfSewUhY.js +0 -1
  205. package/dist/web/chunk-Bi4Jixry2.js +0 -1
  206. package/dist/web/chunk-BiECfDS7.js +0 -1
  207. package/dist/web/chunk-Bj7Oze2U2.js +0 -1
  208. package/dist/web/chunk-Bjo6eVnk.js +0 -1
  209. package/dist/web/chunk-Bn46cQyx.js +0 -1
  210. package/dist/web/chunk-Bn6RkvPA2.js +0 -1
  211. package/dist/web/chunk-Bsy3r41y2.js +0 -1
  212. package/dist/web/chunk-By2EFyNM.js +0 -1
  213. package/dist/web/chunk-CCqlW8pS2.js +0 -3
  214. package/dist/web/chunk-CCr_R2Cg.js +0 -1
  215. package/dist/web/chunk-CDS6LjBz2.js +0 -1
  216. package/dist/web/chunk-CG4Kbo1n2.js +0 -1
  217. package/dist/web/chunk-CKFB1V-p2.js +0 -1
  218. package/dist/web/chunk-CL02A9wI.js +0 -1
  219. package/dist/web/chunk-CLZ5xsSQ2.js +0 -1
  220. package/dist/web/chunk-CMvRZBpn.js +0 -1
  221. package/dist/web/chunk-CNfmNEak.js +0 -1
  222. package/dist/web/chunk-COTrF1xY2.js +0 -1
  223. package/dist/web/chunk-COXN76fu2.js +0 -1
  224. package/dist/web/chunk-CUqj_Bxs2.js +0 -1
  225. package/dist/web/chunk-CV_fLVFT.js +0 -1
  226. package/dist/web/chunk-CYGyIy7J.js +0 -1
  227. package/dist/web/chunk-CYRUKYKv2.js +0 -1
  228. package/dist/web/chunk-Ca3lwqEF.js +0 -1
  229. package/dist/web/chunk-CaJrmM9V.js +0 -1
  230. package/dist/web/chunk-CpXqQPuw.js +0 -1
  231. package/dist/web/chunk-CuepVIkm2.js +0 -1
  232. package/dist/web/chunk-CvMAjyvr2.js +0 -1
  233. package/dist/web/chunk-CwzCbuXH.js +0 -1
  234. package/dist/web/chunk-Cx07K71K.js +0 -1
  235. package/dist/web/chunk-D-VHaopx.js +0 -1
  236. package/dist/web/chunk-D1DvlGbP.js +0 -1
  237. package/dist/web/chunk-D3XjW5Cm.js +0 -1
  238. package/dist/web/chunk-D8kEdb5y2.js +0 -1
  239. package/dist/web/chunk-D8t0s8LD.js +0 -1
  240. package/dist/web/chunk-DB6sOjsn2.js +0 -1
  241. package/dist/web/chunk-DIBFSF2Z.js +0 -1
  242. package/dist/web/chunk-DKlxu0GP2.js +0 -1
  243. package/dist/web/chunk-DM4Wc9U7.js +0 -1
  244. package/dist/web/chunk-DM5aibnW.js +0 -1
  245. package/dist/web/chunk-DMXgU6Nc2.js +0 -1
  246. package/dist/web/chunk-DMskLhpk2.js +0 -1
  247. package/dist/web/chunk-DOinRyX_2.js +0 -1
  248. package/dist/web/chunk-DQp-2GVv.js +0 -1
  249. package/dist/web/chunk-DQr_9Q6T.js +0 -1
  250. package/dist/web/chunk-DSpA-ZPx.js +0 -1
  251. package/dist/web/chunk-DURq7J8U2.js +0 -1
  252. package/dist/web/chunk-DVJ4YZuU.js +0 -1
  253. package/dist/web/chunk-DVyDnsGh.js +0 -1
  254. package/dist/web/chunk-D_vyhgGx.js +0 -1
  255. package/dist/web/chunk-Db2zQ-8C.js +0 -1
  256. package/dist/web/chunk-DdOc1fs-.js +0 -1
  257. package/dist/web/chunk-DddDKWSn2.js +0 -1
  258. package/dist/web/chunk-Dh86w63y.js +0 -1
  259. package/dist/web/chunk-Di9FA_QV.js +0 -1
  260. package/dist/web/chunk-DjwvqY3z2.js +0 -1
  261. package/dist/web/chunk-Dl4V93zm2.js +0 -1
  262. package/dist/web/chunk-Dnzjseqf2.js +0 -1
  263. package/dist/web/chunk-DpI44v1z.js +0 -1
  264. package/dist/web/chunk-Dqhs2Pyw2.js +0 -1
  265. package/dist/web/chunk-DubWLqvO.js +0 -1
  266. package/dist/web/chunk-IlM3eTPp2.js +0 -1
  267. package/dist/web/chunk-IzGdqlW82.js +0 -1
  268. package/dist/web/chunk-P1du2kWg2.js +0 -1
  269. package/dist/web/chunk-PqGGk0JD.js +0 -1
  270. package/dist/web/chunk-XvyWOb2Q.js +0 -1
  271. package/dist/web/chunk-ZBDWcE362.js +0 -1
  272. package/dist/web/chunk-ZcJhJsoo.js +0 -1
  273. package/dist/web/chunk-a_Va_Nj7.js +0 -1
  274. package/dist/web/chunk-fYJ7OBkh.js +0 -1
  275. package/dist/web/chunk-k6TIcaIA.js +0 -1
  276. package/dist/web/chunk-owvOEsA9.js +0 -1
  277. package/dist/web/chunk-scbWWgLx2.js +0 -1
  278. package/dist/web/chunk-tDREPM-0.js +0 -1
  279. package/dist/web/chunk-y0Vyi0HZ.js +0 -1
  280. package/dist/web/chunk-yfBrkklv.js +0 -1
  281. /package/dist/web/{chunk-1ErswIDf.js → chunk-1ErswIDf2.js} +0 -0
  282. /package/dist/web/{chunk-CARNiCDb2.js → chunk-CARNiCDb.js} +0 -0
  283. /package/dist/web/{chunk-CGo7Fepz.js → chunk-CGo7Fepz2.js} +0 -0
  284. /package/dist/web/{chunk-CKxU-VJf.js → chunk-CKxU-VJf2.js} +0 -0
  285. /package/dist/web/{chunk-CP-AnFGa2.js → chunk-CP-AnFGa.js} +0 -0
  286. /package/dist/web/{chunk-CXHCUTDs.js → chunk-CXHCUTDs2.js} +0 -0
  287. /package/dist/web/{chunk-CczD0yXn.js → chunk-CczD0yXn2.js} +0 -0
  288. /package/dist/web/{chunk-CtcsJTAS2.js → chunk-CtcsJTAS.js} +0 -0
  289. /package/dist/web/{chunk-WJWN7A_V2.js → chunk-WJWN7A_V.js} +0 -0
@@ -0,0 +1 @@
1
+ import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,Ir as wp,It as Us,Jr as zS,K as Ke,Nr as vd,Sr as rv,Tn as fd,V as Iy,Wn as kS,Wr as y_,hr as q_,l as A_,lt as OS,mr as qT,pr as qS,qn as ky,rn as Zw,rr as nv,tn as ZT,vt as Py,w as Fb,z as Ip}from"./chunk-BAHiFuUo.js";import{r as N}from"./main-LXYWXFW4.js";import{ct as Me,wi as wu}from"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import{$r as T,Hi as Wu}from"./chunk-D8Ui_APT.js";import"./chunk-BMiFx1ci.js";import"./chunk-B56nz2lI.js";import{t as k}from"./chunk-IrDYxRzS.js";import"./chunk-CfwFJLFh.js";import"./chunk-BzUDWIzm.js";import"./chunk-CkRw7h0_.js";import"./chunk-DhpMFMQw.js";import{t as l}from"./chunk-Cm2UNqwE.js";import"./chunk-CReShp-B.js";import{d as nr,f as or,h as yn,n as an,o as gn,r as cn,t as P,u as mn}from"./chunk-CSkyOfSg.js";import{o as N$1,r as E}from"./chunk-BAYVC6mO2.js";import"./chunk-xIoy5TmG2.js";import"./chunk-DvAE1Kdh2.js";import"./chunk-BL3upDtA.js";import{t as w}from"./chunk-DbcNGxba.js";import{t as v}from"./chunk-CpB8RIpf.js";import{a as u}from"./chunk-Dx1NwQCW.js";import{t as S}from"./chunk-CJE3VBx5.js";import{t as u$1}from"./chunk-BCN3uL5S.js";function ie(t,n){if(t&1&&(Us(0,`p`,3),y_(1),fd()),t&2){let e=qS();ZC(),nv(e.i18n.t(`backOffice.invoices.loading`))}}function ae(t,n){if(t&1&&(Us(0,`p`,4),y_(1),fd()),t&2){let e=qS();ZC(),nv(e.i18n.t(`credit.loadError`))}}function re(t,n){if(t&1&&(Us(0,`p`,2),y_(1),fd()),t&2){let e=qS(2);ZC(),nv(e.i18n.t(`billingWorkspace.unavailable`))}}function oe(t,n){if(t&1&&y_(0),t&2)vd(` `,qS(4).i18n.t(`billingWorkspace.amountInvalid`),` `)}function de(t,n){if(t&1&&y_(0),t&2)vd(` `,qS(4).i18n.t(`billingWorkspace.dateInvalid`),` `)}function le(t,n){if(t&1&&y_(0),t&2)vd(` `,qS(4).i18n.t(`billingWorkspace.referenceInvalid`),` `)}function ce(t,n){if(t&1){let e=zS();Us(0,`button`,19),Gy(`click`,function(){Ip(e);return wp(qS(4).retry())}),y_(1),fd()}if(t&2){let e=qS(4);Fy(`disabled`,e.task.busy()),ZC(),vd(` `,e.i18n.t(`billingWorkspace.retrySame`),` `)}}function se(t,n){if(t&1){let e=zS();Us(0,`form`,7),Gy(`submit`,function(c){Ip(e);return wp(qS(3).save(c))}),Us(1,`div`,8)(2,`label`,9),y_(3),Py(4,`input`,10),qT(),Us(5,`span`,11),OS(6,oe,1,1),fd()(),Us(7,`label`,9),y_(8),Py(9,`input`,12),qT(),Us(10,`span`,13),OS(11,de,1,1),fd()()(),Us(12,`label`,9),y_(13),Py(14,`input`,14),qT(),Us(15,`span`,15),OS(16,le,1,1),fd()(),Us(17,`div`,16)(18,`button`,17),y_(19),fd(),OS(20,ce,2,2,`button`,18),fd()()}if(t&2){let e=qS(3);ZC(3),nv(e.i18n.t(`credit.amount`)),ZC(),Fy(`formField`,e.refundForm.amount),ky(`aria-invalid`,e.refundForm.amount().touched()&&e.refundForm.amount().invalid()),ZT(),ZC(2),kS(e.refundForm.amount().touched()&&e.refundForm.amount().invalid()?6:-1),ZC(2),nv(e.i18n.t(`credit.refundedOn`)),ZC(),Fy(`formField`,e.refundForm.refundedOn),ky(`aria-invalid`,e.refundForm.refundedOn().touched()&&e.refundForm.refundedOn().invalid()),ZT(),ZC(2),kS(e.refundForm.refundedOn().touched()&&e.refundForm.refundedOn().invalid()?11:-1),ZC(2),nv(e.i18n.t(`credit.reference`)),ZC(),Fy(`formField`,e.refundForm.reference),ky(`aria-invalid`,e.refundForm.reference().touched()&&e.refundForm.reference().invalid()),ZT(),ZC(2),kS(e.refundForm.reference().touched()&&e.refundForm.reference().invalid()?16:-1),ZC(2),Fy(`disabled`,e.task.locked()),ZC(),vd(` `,e.i18n.t(`credit.recordRefund`),` `),ZC(),kS(e.task.uncertain()?20:-1)}}function ue(t,n){if(t&1&&(Us(0,`p`)(1,`strong`),y_(2),fd()(),Iy(3,se,21,15,`form`,6)),t&2){let e=qS(2);ZC(2),rv(``,e.i18n.t(`credit.refundable`),` `,e.task.money(e.balance())),ZC(),Fy(`appCan`,`invoice.refund`)}}function me(t,n){if(t&1&&OS(0,re,2,1,`p`,2)(1,ue,4,3),t&2)kS(qS().eligible()?1:0)}function pe(t,n){if(t&1){let e=zS();Us(0,`button`,20),Gy(`click`,function(){Ip(e);return wp(qS().reload())}),y_(1),fd()}if(t&2){let e=qS();Fy(`disabled`,e.task.busy()||e.task.loading()),ZC(),vd(` `,e.i18n.t(`listControls.reload`),` `)}}var te=()=>({amount:``,refundedOn:``,reference:``});var ne=class t{task=g(w);i18n=this.task.i18n;api=g(u$1);credits=q_({params:()=>this.task.invoice()?.id,loader:({params:n})=>this.api.get(n)});creditState=Ft(()=>{let n=this.credits.hasValue()?this.credits.value():void 0;return n?.success?n.result:void 0});balance=Ft(()=>this.creditState()?.refundableCents??0);eligible=Ft(()=>this.balance()>0);model=Ke(te());baseline=JSON.stringify(this.model());refundForm=nr(this.model,n=>{an(n,()=>this.task.locked()||!this.eligible()),gn(n.amount),P(n.amount,({value:e})=>{let i=u(e(),2);return i===void 0||i<=0||i>this.balance()?{kind:`amount`}:void 0}),gn(n.refundedOn),P(n.refundedOn,({value:e})=>{let i=this.creditState()?.creditNotes.filter(c=>c.status===`issued`).map(c=>c.issuedAt).filter(c=>c!==null).sort()[0];return!wu.is(T)(e())||e()>N$1()||i!==void 0&&e()<E(i)?{kind:`date`}:void 0}),gn(n.reference),mn(n.reference,/\S/),cn(n.reference,160)});hasUnsavedChanges=Ft(()=>JSON.stringify(this.model())!==this.baseline||this.refundForm().errorSummary().some(n=>n.kind===`parse`));attempt;save(n){n.preventDefault(),!(this.task.locked()||!this.eligible())&&or(this.refundForm,{action:async()=>{let e=this.refundForm().value(),i=wu.decodeUnknownOption(Wu)({amountCents:u(e.amount,2),refundedOn:e.refundedOn,reference:e.reference.trim(),requestId:crypto.randomUUID()});if(Me.isNone(i)){this.task.error.set(`invoice.credit_conflict`);return}this.attempt=i.value,await this.retry()},onInvalid:()=>this.task.focusInvalid()})}async retry(){let n=this.task.invoice(),e=this.attempt;if(!n||!e)return;await this.task.run(()=>this.api.refund(n.id,e),`credit.confirmRefund`,`refund`)===`resolved`&&(this.attempt=void 0)}async reload(){this.task.uncertain()||this.task.busy()||await this.task.confirmation.request(this.i18n.t(`billingWorkspace.reloadConfirm`))&&(this.attempt=void 0,this.refundForm().reset(te()),await this.task.load(),this.credits.reload())}canDeactivate(){return this.task.canDeactivate(this.hasUnsavedChanges())}static ɵfac=function(e){return new(e||t)};static ɵcmp=Fb({type:t,selectors:[[`app-refund-editor`]],hostAttrs:[1,`page-container`],hostBindings:function(e,i){e&1&&Gy(`beforeunload`,function(M){return i.task.beforeUnload(M,i.hasUnsavedChanges())},Zw)},features:[A_([w])],decls:9,vars:4,consts:[[`aria-labelledby`,`refund-title`,1,`detail-page`,`form-page`],[`headingId`,`refund-title`,3,`heading`],[`appNotice`,``],[`role`,`status`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`appButton`,``,3,`disabled`],[`class`,`task-form ds-panel form-panel`,3,`submit`,4,`appCan`],[1,`task-form`,`ds-panel`,`form-panel`,3,`submit`],[1,`fields`],[1,`field`],[`inputmode`,`decimal`,`aria-describedby`,`refund-amount-error`,1,`input`,3,`formField`],[`id`,`refund-amount-error`,1,`field-error`],[`type`,`date`,`aria-describedby`,`refund-date-error`,1,`input`,3,`formField`],[`id`,`refund-date-error`,1,`field-error`],[`aria-describedby`,`refund-reference-error`,1,`input`,3,`formField`],[`id`,`refund-reference-error`,1,`field-error`],[1,`actions`],[`appButton`,``,`type`,`submit`,`variant`,`primary`,3,`disabled`],[`appButton`,``,`type`,`button`,3,`disabled`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`],[`appButton`,``,3,`click`,`disabled`]],template:function(e,i){e&1&&(Us(0,`section`,0),Py(1,`app-invoice-task-header`,1),Us(2,`p`,2),y_(3),fd(),Py(4,`app-invoice-task-feedback`),OS(5,ie,2,1,`p`,3)(6,ae,2,1,`p`,4)(7,me,2,1),OS(8,pe,2,2,`button`,5),fd()),e&2&&(ZC(),Fy(`heading`,i.i18n.t(`credit.recordRefund`)),ZC(2),nv(i.i18n.t(`billingWorkspace.refundHint`)),ZC(2),kS(i.credits.isLoading()?5:i.task.invoice()&&!i.creditState()?6:i.task.invoice()&&!i.task.completed()?7:-1),ZC(3),kS(i.task.error()&&!i.task.completed()&&!i.task.uncertain()?8:-1))},dependencies:[l,N,k,yn,v,S],styles:[`[appListWorkspace][_ngcontent-%COMP%] > p[_ngcontent-%COMP%]{margin-block:0}header[_ngcontent-%COMP%], .actions[_ngcontent-%COMP%], .filters[_ngcontent-%COMP%], .chips[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--%NS%space-3)}header[_ngcontent-%COMP%]{justify-content:space-between;align-items:start}.billing-page[_ngcontent-%COMP%] > h1[_ngcontent-%COMP%]{font-size:var(--%NS%text-2xl);margin-block:var(--%NS%space-2)}h2[_ngcontent-%COMP%]{font-size:var(--%NS%text-xl)}.field[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-2);min-inline-size:0}.filters[_ngcontent-%COMP%]{align-items:end}.filters[_ngcontent-%COMP%] .search[_ngcontent-%COMP%]{flex:1 1 22rem}.filters[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]:not(.search){flex:1 1 10rem}.amount[_ngcontent-%COMP%]{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}td[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{display:block;color:var(--%NS%color-muted)}.muted[_ngcontent-%COMP%]{color:var(--%NS%color-muted)}.empty[_ngcontent-%COMP%], .bulk-actions[_ngcontent-%COMP%], .summary[_ngcontent-%COMP%]{padding:var(--%NS%space-4)}.task-form[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-5);inline-size:100%}.fields[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--%NS%space-4)}.field-error[_ngcontent-%COMP%]{color:var(--%NS%color-danger);font-size:var(--%NS%text-sm)}.field-error[_ngcontent-%COMP%]:empty{display:none}dl[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-3)}dl[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--%NS%space-2) var(--%NS%space-4)}dt[_ngcontent-%COMP%]{color:var(--%NS%color-muted)}dd[_ngcontent-%COMP%]{margin:0;overflow-wrap:anywhere}ol[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4)}.history-entry[_ngcontent-%COMP%]{padding:var(--%NS%space-4);overflow-wrap:anywhere}@media(max-width:40rem){.fields[_ngcontent-%COMP%]{grid-template-columns:1fr}}[_nghost-%COMP%]{display:block}.detail-page[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);min-inline-size:0;inline-size:100%;max-inline-size:var(--%NS%page-width-detail);margin-inline:auto;padding:var(--%NS%page-header-y) var(--%NS%page-x)}.detail-page.form-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-form)}.detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-wide)}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-2xl);overflow-wrap:anywhere}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-base);color:var(--%NS%color-muted);overflow-wrap:anywhere}.detail-page[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{justify-self:start}@media print{.detail-page[_ngcontent-%COMP%], .detail-page.form-page[_ngcontent-%COMP%], .detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:none}}`]})};export{ne as RefundEditor};
@@ -0,0 +1 @@
1
+ import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,Ir as wp,It as Us,Jr as zS,K as Ke,Nr as vd,Tn as fd,V as Iy,Wn as kS,Wr as y_,l as A_,lt as OS,mr as qT,pr as qS,qn as ky,rn as Zw,rr as nv,tn as ZT,vt as Py,w as Fb,z as Ip}from"./chunk-BAHiFuUo.js";import{r as N}from"./main-LXYWXFW4.js";import"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import"./chunk-D8Ui_APT.js";import"./chunk-BMiFx1ci.js";import"./chunk-B56nz2lI.js";import{t as k}from"./chunk-IrDYxRzS.js";import"./chunk-CfwFJLFh.js";import"./chunk-BzUDWIzm.js";import"./chunk-CkRw7h0_.js";import"./chunk-DhpMFMQw.js";import{t as l}from"./chunk-Cm2UNqwE.js";import"./chunk-CReShp-B.js";import{d as nr,f as or,h as yn,n as an,t as P}from"./chunk-CSkyOfSg.js";import"./chunk-BAYVC6mO2.js";import"./chunk-xIoy5TmG2.js";import"./chunk-DvAE1Kdh2.js";import"./chunk-BL3upDtA.js";import{t as w}from"./chunk-DbcNGxba.js";import{t as v}from"./chunk-CpB8RIpf.js";import{t as S}from"./chunk-CJE3VBx5.js";function L(t,n){if(t&1&&(Us(0,`p`,2),y_(1),fd()),t&2){let e=qS(2);ZC(),nv(e.i18n.t(`billingWorkspace.unavailable`))}}function U(t,n){if(t&1&&y_(0),t&2)vd(` `,qS(4).i18n.t(`billingWorkspace.confirmDocument`),` `)}function G(t,n){if(t&1){let e=zS();Us(0,`button`,12),Gy(`click`,function(){Ip(e);return wp(qS(4).retry())}),y_(1),fd()}if(t&2){let e=qS(4);Fy(`disabled`,e.task.busy()),ZC(),vd(` `,e.i18n.t(`billingWorkspace.retrySame`),` `)}}function J(t,n){if(t&1){let e=zS();Us(0,`form`,6),Gy(`submit`,function(s){Ip(e);return wp(qS(3).save(s))}),Us(1,`label`),Py(2,`input`,7),qT(),y_(3),fd(),Us(4,`span`,8),OS(5,U,1,1),fd(),Us(6,`div`,9)(7,`button`,10),y_(8),fd(),OS(9,G,2,2,`button`,11),fd()()}if(t&2){let e=qS(3);ZC(2),Fy(`formField`,e.voidForm.confirmed),ky(`aria-invalid`,e.voidForm.confirmed().touched()&&e.voidForm.confirmed().invalid()),ZT(),ZC(),vd(` `,e.i18n.t(`billingWorkspace.confirmDocument`)),ZC(2),kS(e.voidForm.confirmed().touched()&&e.voidForm.confirmed().invalid()?5:-1),ZC(2),Fy(`disabled`,e.task.locked()),ZC(),vd(` `,e.i18n.t(`backOffice.invoice.void`),` `),ZC(),kS(e.task.uncertain()?9:-1)}}function K(t,n){t&1&&Iy(0,J,10,7,`form`,5),t&2&&Fy(`appCan`,`invoice.void`)}function Q(t,n){if(t&1&&OS(0,L,2,1,`p`,2)(1,K,1,1,`form`,4),t&2)kS(qS().eligible()?1:0)}function R(t,n){if(t&1){let e=zS();Us(0,`button`,13),Gy(`click`,function(){Ip(e);return wp(qS().reload())}),y_(1),fd()}if(t&2){let e=qS();Fy(`disabled`,e.task.busy()||e.task.loading()),ZC(),vd(` `,e.i18n.t(`listControls.reload`),` `)}}var A=class t{task=g(w);i18n=this.task.i18n;eligible=Ft(()=>{let n=this.task.invoice();return n?.status===`issued`&&n.creditedCents===0&&n.payments.length===0});voidForm=nr(Ke({confirmed:!1}),n=>{an(n,()=>this.task.locked()||!this.eligible()),P(n.confirmed,({value:e})=>e()?void 0:{kind:`required`})});attempt;save(n){n.preventDefault(),!(this.task.locked()||!this.eligible())&&or(this.voidForm,{action:async()=>{let e=this.task.invoice();e&&(this.attempt={id:e.id,version:e.version},await this.retry())},onInvalid:()=>this.task.focusInvalid()})}async retry(){let n=this.attempt;n&&await this.task.run(()=>this.task.api.void(n.id,{expectedVersion:n.version}),`backOffice.invoice.voidConfirm`,`void`)}async reload(){this.task.uncertain()||this.task.busy()||await this.task.confirmation.request(this.i18n.t(`billingWorkspace.reloadConfirm`))&&(this.attempt=void 0,this.voidForm().reset({confirmed:!1}),await this.task.load())}canDeactivate(){return this.task.canDeactivate(this.voidForm().dirty())}static ɵfac=function(e){return new(e||t)};static ɵcmp=Fb({type:t,selectors:[[`app-invoice-void`]],hostAttrs:[1,`page-container`],hostBindings:function(e,o){e&1&&Gy(`beforeunload`,function(y){return o.task.beforeUnload(y,o.voidForm().dirty())},Zw)},features:[A_([w])],decls:7,vars:4,consts:[[`aria-labelledby`,`void-title`,1,`detail-page`,`form-page`],[`headingId`,`void-title`,3,`heading`],[`appNotice`,``],[`appButton`,``,3,`disabled`],[1,`task-form`,`ds-panel`,`form-panel`],[`class`,`task-form ds-panel form-panel`,3,`submit`,4,`appCan`],[1,`task-form`,`ds-panel`,`form-panel`,3,`submit`],[`type`,`checkbox`,`aria-describedby`,`void-error`,3,`formField`],[`id`,`void-error`,1,`field-error`],[1,`actions`],[`appButton`,``,`variant`,`danger`,`type`,`submit`,3,`disabled`],[`appButton`,``,`type`,`button`,3,`disabled`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`],[`appButton`,``,3,`click`,`disabled`]],template:function(e,o){e&1&&(Us(0,`section`,0),Py(1,`app-invoice-task-header`,1),Us(2,`p`,2),y_(3),fd(),Py(4,`app-invoice-task-feedback`),OS(5,Q,2,1),OS(6,R,2,2,`button`,3),fd()),e&2&&(ZC(),Fy(`heading`,o.i18n.t(`backOffice.invoice.void`)),ZC(2),nv(o.i18n.t(`billingWorkspace.voidHint`)),ZC(2),kS(o.task.invoice()&&!o.task.completed()?5:-1),ZC(),kS(o.task.error()&&!o.task.completed()&&!o.task.uncertain()?6:-1))},dependencies:[l,N,k,yn,v,S],styles:[`[appListWorkspace][_ngcontent-%COMP%] > p[_ngcontent-%COMP%]{margin-block:0}header[_ngcontent-%COMP%], .actions[_ngcontent-%COMP%], .filters[_ngcontent-%COMP%], .chips[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--%NS%space-3)}header[_ngcontent-%COMP%]{justify-content:space-between;align-items:start}.billing-page[_ngcontent-%COMP%] > h1[_ngcontent-%COMP%]{font-size:var(--%NS%text-2xl);margin-block:var(--%NS%space-2)}h2[_ngcontent-%COMP%]{font-size:var(--%NS%text-xl)}.field[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-2);min-inline-size:0}.filters[_ngcontent-%COMP%]{align-items:end}.filters[_ngcontent-%COMP%] .search[_ngcontent-%COMP%]{flex:1 1 22rem}.filters[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]:not(.search){flex:1 1 10rem}.amount[_ngcontent-%COMP%]{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}td[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{display:block;color:var(--%NS%color-muted)}.muted[_ngcontent-%COMP%]{color:var(--%NS%color-muted)}.empty[_ngcontent-%COMP%], .bulk-actions[_ngcontent-%COMP%], .summary[_ngcontent-%COMP%]{padding:var(--%NS%space-4)}.task-form[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-5);inline-size:100%}.fields[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--%NS%space-4)}.field-error[_ngcontent-%COMP%]{color:var(--%NS%color-danger);font-size:var(--%NS%text-sm)}.field-error[_ngcontent-%COMP%]:empty{display:none}dl[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-3)}dl[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--%NS%space-2) var(--%NS%space-4)}dt[_ngcontent-%COMP%]{color:var(--%NS%color-muted)}dd[_ngcontent-%COMP%]{margin:0;overflow-wrap:anywhere}ol[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4)}.history-entry[_ngcontent-%COMP%]{padding:var(--%NS%space-4);overflow-wrap:anywhere}@media(max-width:40rem){.fields[_ngcontent-%COMP%]{grid-template-columns:1fr}}[_nghost-%COMP%]{display:block}.detail-page[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);min-inline-size:0;inline-size:100%;max-inline-size:var(--%NS%page-width-detail);margin-inline:auto;padding:var(--%NS%page-header-y) var(--%NS%page-x)}.detail-page.form-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-form)}.detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-wide)}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-2xl);overflow-wrap:anywhere}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-base);color:var(--%NS%color-muted);overflow-wrap:anywhere}.detail-page[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{justify-self:start}@media print{.detail-page[_ngcontent-%COMP%], .detail-page.form-page[_ngcontent-%COMP%], .detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:none}}`]})};export{A as InvoiceVoid};
@@ -0,0 +1 @@
1
+ import{Dn as g,K as Ke,o as A}from"./chunk-BAHiFuUo.js";import{t as f$1}from"./chunk-a58d-9ZM2.js";var i=class e{api=g(f$1);connections=Ke([]);loading=Ke(!0);error=Ke(!1);async load(){this.loading.set(!0),this.error.set(!1);try{this.connections.set(await this.api.connections())}catch{this.error.set(!0)}finally{this.loading.set(!1)}}static ɵfac=function(c){return new(c||e)};static ɵprov=A({token:e,factory:e.ɵfac})};function f(e){return`connections.${e}`}function m(e){return{resend:`connections.email`,stripe:`connections.payment`,signwell:`connections.signature`,superpdp:`connections.electronicInvoice`}[e]}function u(e){return e.credentialsPresent?`connections.present`:`connections.missing`}function v(e){return e.mode===`restricted-test`?`connections.restricted`:`connections.notConnected`}export{v as a,u as i,i as n,m as r,f as t};
@@ -1 +1 @@
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-F7D3L737.js";import"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import"./chunk-D5qmP2Wu.js";import"./chunk-DsaNNeZe.js";import{t as m}from"./chunk-DXvlXoVT2.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
+ 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-LXYWXFW4.js";import"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import"./chunk-D8Ui_APT.js";import"./chunk-DhpMFMQw.js";import{t as m}from"./chunk-mqeSFXPY2.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 +1 @@
1
- import{Dn as g,E as Ft,K as Ke,P as Hn,dr as pe,ft as Ol,mt as PH,o as A}from"./chunk-BAHiFuUo.js";import{h as Ne,m as Ie,o as U,y as G}from"./main-F7D3L737.js";import{wi as wu}from"./chunk-BAe_07VM.js";import{Ia as a}from"./chunk-D5qmP2Wu.js";import{t as P}from"./chunk-niXXbm7H.js";import{t as R}from"./chunk-NDpjbcAr2.js";import{t as B}from"./chunk-CEJjSd8-2.js";var D=new Map(Object.entries({"authentication.required":`boundary`,"authentication.permission_denied":`boundary`,"request.rate_limited":`boundary`,"request.invalid_origin":`boundary`,"request.too_large":`boundary`,"invoice.credit_conflict":`business`,"invoice.credit_request_conflict":`business`,"invoice.payment_invalid":`business`,"invoice.not_found":`business`,"invoice.version_conflict":`business`,"invoice.invalid_dates":`business`,"invoice.exchange_rate_missing":`business`,"invoice.accounting_unavailable":`business`,"invoice.invalid_transition":`business`,"document.incomplete":`business`,"invoice.order_not_found":`unknown`,"invoice.already_exists":`unknown`,"invoice.not_editable":`unknown`,"invoice.amount_too_large":`unknown`,"document.not_found":`unknown`}));var M={issue:[`invoice.invalid_dates`,`invoice.exchange_rate_missing`,`invoice.accounting_unavailable`,`document.incomplete`],void:[`invoice.invalid_transition`],"record-payment":[`invoice.version_conflict`,`invoice.invalid_transition`],"cancel-payment":[`invoice.invalid_transition`],"issue-credit":[`invoice.credit_conflict`],refund:[`invoice.credit_conflict`],"cancel-refund":[`invoice.credit_conflict`],"cancel-allocation":[`invoice.credit_conflict`]};var T=(r,e)=>{let i=`unknown`;switch(e!==void 0&&(i=D.get(e)??`unknown`),i){case`unknown`:return`unknown`;case`boundary`:return`attempt-rejected`;case`business`:return M[r].some(n=>n===e)?`request-rejected`:`attempt-rejected`}};var w=class r{i18n=g(Ie);api=g(R);route=g(G);navigation=new B(this.route);confirmation=g(P);destroyRef=g(pe);element=g(Hn);invoice=Ke(void 0);loading=Ke(!0);busy=Ke(!1);completed=Ke(!1);stale=Ke(!1);uncertain=Ke(!1);error=Ke(void 0);issues=Ke([]);focusRequested=Ke(!1);locked=Ft(()=>this.loading()||this.busy()||this.completed()||this.stale()||this.uncertain());request=0;constructor(){Ol(()=>this.route.paramMap.pipe(U(this.destroyRef)).subscribe(()=>{this.load()})),PH(()=>{this.focusRequested()?(this.element.nativeElement.querySelector(`[aria-invalid="true"]`)?.focus(),this.focusRequested.set(!1)):(this.completed()||this.error()||this.stale()||this.uncertain())&&this.element.nativeElement.querySelector(`[data-task-feedback]`)?.focus()})}async load(){if(this.busy()||this.uncertain())return;let e=++this.request;this.loading.set(!0),this.invoice.set(void 0),this.error.set(void 0),this.issues.set([]),this.stale.set(!1),this.completed.set(!1);let i=this.route.snapshot.paramMap.get(`invoiceId`);if(!wu.is(a)(i)){this.error.set(`invoice.not_found`),this.loading.set(!1);return}try{let n=await this.api.get(i);if(this.destroyRef.destroyed||e!==this.request)return;n.success?this.invoice.set(n.result):this.error.set(n.code)}catch{!this.destroyRef.destroyed&&e===this.request&&this.error.set(`invoice.error`)}finally{e===this.request&&!this.destroyRef.destroyed&&this.loading.set(!1)}}async run(e,i,n){if(this.busy()||this.loading()||this.completed()||this.stale())return`skipped`;let u=this.uncertain(),a=!1;this.busy.set(!0);try{if(!await this.confirmation.request(this.i18n.t(i))||this.destroyRef.destroyed)return`skipped`;this.error.set(void 0),this.issues.set([]),a=!0;let s=await e();if(this.destroyRef.destroyed)return`unresolved`;if(s.success)return this.completed.set(!0),this.uncertain.set(!1),`resolved`;this.error.set(s.code??`invoice.error`),this.issues.set(s.failure?.issues??[]);let c=T(n,s.code);return this.uncertain.set(c===`unknown`||c===`attempt-rejected`&&u),this.stale.set(!this.uncertain()&&(s.code===`invoice.version_conflict`||s.code===`invoice.credit_conflict`||s.code===`invoice.invalid_transition`)),this.uncertain()?`unresolved`:`resolved`}catch{return this.destroyRef.destroyed||(this.error.set(`invoice.error`),this.uncertain.set(u||a)),a?`unresolved`:`skipped`}finally{this.destroyRef.destroyed||this.busy.set(!1)}}async canDeactivate(e){return this.busy()||this.uncertain()?!1:this.completed()?!0:!e&&!this.stale()||this.confirmation.request(this.i18n.t(`backOffice.invoice.unsavedChanges`))}beforeUnload(e,i){!this.completed()&&(i||this.busy()||this.uncertain()||this.stale())&&(e.preventDefault(),e.returnValue=``)}focusInvalid(){this.focusRequested.set(!0)}money(e){return Ne(e,this.i18n.language(),this.invoice()?.currentRevision.currency??`EUR`)}static ɵfac=function(i){return new(i||r)};static ɵprov=A({token:r,factory:r.ɵfac})};export{w as t};
1
+ import{Dn as g,E as Ft,K as Ke,P as Hn,dr as pe,ft as Ol,mt as PH,o as A}from"./chunk-BAHiFuUo.js";import{h as Ne,m as Ie,o as U,y as G}from"./main-LXYWXFW4.js";import{wi as wu}from"./chunk-BAe_07VM.js";import{Ia as a}from"./chunk-D8Ui_APT.js";import{t as P}from"./chunk-CkRw7h0_.js";import{t as B}from"./chunk-xIoy5TmG2.js";import{t as R}from"./chunk-DvAE1Kdh2.js";var D=new Map(Object.entries({"authentication.required":`boundary`,"authentication.permission_denied":`boundary`,"request.rate_limited":`boundary`,"request.invalid_origin":`boundary`,"request.too_large":`boundary`,"invoice.credit_conflict":`business`,"invoice.credit_request_conflict":`business`,"invoice.payment_invalid":`business`,"invoice.not_found":`business`,"invoice.version_conflict":`business`,"invoice.invalid_dates":`business`,"invoice.exchange_rate_missing":`business`,"invoice.accounting_unavailable":`business`,"invoice.invalid_transition":`business`,"document.incomplete":`business`,"invoice.order_not_found":`unknown`,"invoice.already_exists":`unknown`,"invoice.not_editable":`unknown`,"invoice.amount_too_large":`unknown`,"document.not_found":`unknown`}));var M={issue:[`invoice.invalid_dates`,`invoice.exchange_rate_missing`,`invoice.accounting_unavailable`,`document.incomplete`],void:[`invoice.invalid_transition`],"record-payment":[`invoice.version_conflict`,`invoice.invalid_transition`],"cancel-payment":[`invoice.invalid_transition`],"issue-credit":[`invoice.credit_conflict`],refund:[`invoice.credit_conflict`],"cancel-refund":[`invoice.credit_conflict`],"cancel-allocation":[`invoice.credit_conflict`]};var T=(r,e)=>{let i=`unknown`;switch(e!==void 0&&(i=D.get(e)??`unknown`),i){case`unknown`:return`unknown`;case`boundary`:return`attempt-rejected`;case`business`:return M[r].some(n=>n===e)?`request-rejected`:`attempt-rejected`}};var w=class r{i18n=g(Ie);api=g(R);route=g(G);navigation=new B(this.route);confirmation=g(P);destroyRef=g(pe);element=g(Hn);invoice=Ke(void 0);loading=Ke(!0);busy=Ke(!1);completed=Ke(!1);stale=Ke(!1);uncertain=Ke(!1);error=Ke(void 0);issues=Ke([]);focusRequested=Ke(!1);locked=Ft(()=>this.loading()||this.busy()||this.completed()||this.stale()||this.uncertain());request=0;constructor(){Ol(()=>this.route.paramMap.pipe(U(this.destroyRef)).subscribe(()=>{this.load()})),PH(()=>{this.focusRequested()?(this.element.nativeElement.querySelector(`[aria-invalid="true"]`)?.focus(),this.focusRequested.set(!1)):(this.completed()||this.error()||this.stale()||this.uncertain())&&this.element.nativeElement.querySelector(`[data-task-feedback]`)?.focus()})}async load(){if(this.busy()||this.uncertain())return;let e=++this.request;this.loading.set(!0),this.invoice.set(void 0),this.error.set(void 0),this.issues.set([]),this.stale.set(!1),this.completed.set(!1);let i=this.route.snapshot.paramMap.get(`invoiceId`);if(!wu.is(a)(i)){this.error.set(`invoice.not_found`),this.loading.set(!1);return}try{let n=await this.api.get(i);if(this.destroyRef.destroyed||e!==this.request)return;n.success?this.invoice.set(n.result):this.error.set(n.code)}catch{!this.destroyRef.destroyed&&e===this.request&&this.error.set(`invoice.error`)}finally{e===this.request&&!this.destroyRef.destroyed&&this.loading.set(!1)}}async run(e,i,n){if(this.busy()||this.loading()||this.completed()||this.stale())return`skipped`;let u=this.uncertain(),a=!1;this.busy.set(!0);try{if(!await this.confirmation.request(this.i18n.t(i))||this.destroyRef.destroyed)return`skipped`;this.error.set(void 0),this.issues.set([]),a=!0;let s=await e();if(this.destroyRef.destroyed)return`unresolved`;if(s.success)return this.completed.set(!0),this.uncertain.set(!1),`resolved`;this.error.set(s.code??`invoice.error`),this.issues.set(s.failure?.issues??[]);let c=T(n,s.code);return this.uncertain.set(c===`unknown`||c===`attempt-rejected`&&u),this.stale.set(!this.uncertain()&&(s.code===`invoice.version_conflict`||s.code===`invoice.credit_conflict`||s.code===`invoice.invalid_transition`)),this.uncertain()?`unresolved`:`resolved`}catch{return this.destroyRef.destroyed||(this.error.set(`invoice.error`),this.uncertain.set(u||a)),a?`unresolved`:`skipped`}finally{this.destroyRef.destroyed||this.busy.set(!1)}}async canDeactivate(e){return this.busy()||this.uncertain()?!1:this.completed()?!0:!e&&!this.stale()||this.confirmation.request(this.i18n.t(`backOffice.invoice.unsavedChanges`))}beforeUnload(e,i){!this.completed()&&(i||this.busy()||this.uncertain()||this.stale())&&(e.preventDefault(),e.returnValue=``)}focusInvalid(){this.focusRequested.set(!0)}money(e){return Ne(e,this.i18n.language(),this.invoice()?.currentRevision.currency??`EUR`)}static ɵfac=function(i){return new(i||r)};static ɵprov=A({token:r,factory:r.ɵfac})};export{w as t};
@@ -0,0 +1 @@
1
+ import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,Gr as yd,Ir as wp,It as Us,Jr as zS,K as Ke,M as H_,Nr as vd,Tn as fd,Wn as kS,Wr as y_,Zn as md,dr as pe,ft as Ol,lt as OS,pr as qS,rn as Zw,rr as nv,tt as Mn,ut as O_,vt as Py,w as Fb,z as Ip,zn as j_}from"./chunk-BAHiFuUo.js";import{m as Ie,o as U,r as N,v as Dt,y as G}from"./main-LXYWXFW4.js";import"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import"./chunk-D8Ui_APT.js";import{t as g$1}from"./chunk-B56nz2lI.js";import{t as k}from"./chunk-IrDYxRzS.js";import{t as d}from"./chunk-CfwFJLFh.js";import{t as p}from"./chunk-BHEFFEGN.js";import{i as R,n as E,s as W}from"./chunk-C1gYDta1.js";import{t as f}from"./chunk-DlBNgzF8.js";import{t as i}from"./chunk-BEqSiNum.js";import{t as g$2}from"./chunk-D8VZRHVx.js";var Z=()=>({dateStyle:`long`,timeStyle:`short`});function $(t,i){if(t&1&&(Us(0,`p`),y_(1),fd()),t&2){let e=qS();ZC(),nv(e.request.subject)}}function ee(t,i){t&1&&OS(0,$,2,1,`p`),t&2&&kS(i.request.kind===`email`?0:-1)}function te(t,i){if(t&1&&(Us(0,`span`,7),y_(1),fd()),t&2){let e=qS(),n=qS();ZC(),nv(n.i18n.t(n.status(e)))}}function ie(t,i){t&1&&OS(0,te,2,1,`span`,7),t&2&&kS(i.request.kind===`email`?0:-1)}function ne(t,i){if(t&1&&(Us(0,`p`,5),y_(1),fd()),t&2){let e=qS();ZC(),nv(e.i18n.t(`integrations.loading`))}}function ae(t,i){if(t&1&&(Us(0,`p`,6),y_(1),fd()),t&2){let e=qS();ZC(),nv(e.i18n.t(i))}}function oe(t,i){if(t&1){let e=zS();Us(0,`p`,11),y_(1),fd(),Us(2,`div`)(3,`button`,12),Gy(`click`,function(){Ip(e);return wp(qS(3).retry())}),y_(4),fd()()}if(t&2){let e=qS(2),n=qS();ZC(),nv(n.i18n.t(`integrationRetry.info`)),ZC(2),Fy(`disabled`,n.busy()||!n.simulation()||e.request.expectedMode!==`simulation`),ZC(),vd(` `,n.i18n.t(`emails.retry`),` `)}}function re(t,i){if(t&1&&(Us(0,`p`,8),y_(1),fd(),Us(2,`dl`)(3,`dt`),y_(4),fd(),Us(5,`dd`),y_(6),fd(),Us(7,`dt`),y_(8),fd(),Us(9,`dd`),y_(10),fd(),Us(11,`dt`),y_(12),fd(),Us(13,`dd`),y_(14),j_(15,`localizedDate`),fd(),Us(16,`dt`),y_(17),fd(),Us(18,`dd`),y_(19),fd()(),Us(20,`article`,9),Py(21,`app-document-text-view`,10),fd(),OS(22,oe,5,3)),t&2){let e=qS(),n=qS();ZC(),vd(` `,n.i18n.t(e.receipt?.mode===`simulation`?`emails.simulated`:`emailsWorkspace.receiptHint`),` `),ZC(3),nv(n.i18n.t(`emails.recipient`)),ZC(2),nv(e.request.recipient),ZC(2),nv(n.i18n.t(`emails.reference`)),ZC(2),nv(e.request.reference),ZC(2),nv(n.i18n.t(`emailsWorkspace.date`)),ZC(2),vd(` `,H_(15,12,e.createdAt,n.i18n.language(),O_(16,Z)),` `),ZC(3),nv(n.i18n.t(`emailsWorkspace.requestId`)),ZC(2),nv(e.request.requestId),ZC(2),Fy(`source`,e.request.body)(`presentation`,n.bodyPresentation(e.request.bodyFormat)),ZC(),kS(e.receipt===null?22:-1)}}function le(t,i){t&1&&OS(0,re,23,17),t&2&&kS(i.request.kind===`email`?0:-1)}function de(t,i){if(t&1){let e=zS();Us(0,`div`)(1,`button`,13),Gy(`click`,function(){Ip(e);return wp(qS().load())}),y_(2),fd()()}if(t&2){let e=qS();ZC(2),nv(e.i18n.t(`integrations.reload`))}}var Y=class t{bodyPresentation=i;i18n=g(Ie);api=g(f);route=g(G);destroyRef=g(pe);pendingTasks=g(Mn);operation=Ke(void 0);title=Ft(()=>{let i=this.operation()?.request;return i?.kind===`email`?i.reference:this.i18n.t(`emailsWorkspace.message`)});loading=Ke(!0);busy=Ke(!1);error=Ke(void 0);simulation=Ke(!1);status=W;backQuery(){return R(E(this.route.snapshot.queryParamMap))}generation=0;constructor(){Ol(()=>this.route.paramMap.pipe(U(this.destroyRef)).subscribe(()=>{this.pendingTasks.run(()=>this.load())}))}async load(){let i=++this.generation;this.loading.set(!0),this.error.set(void 0),this.operation.set(void 0);try{let[e,n]=await Promise.all([this.api.list(`email`),this.api.status()]);if(this.destroyRef.destroyed||i!==this.generation)return;this.simulation.set(n.find(u=>u.kind===`email`)?.mode===`simulation`);let p=e.find(u=>u.id===this.route.snapshot.paramMap.get(`operationId`)&&u.request.kind===`email`);p?this.operation.set(p):this.error.set(`emailsWorkspace.messageUnavailable`)}catch{!this.destroyRef.destroyed&&i===this.generation&&this.error.set(`emailsWorkspace.loadError`)}finally{!this.destroyRef.destroyed&&i===this.generation&&this.loading.set(!1)}}async retry(){let i=this.operation();if(!(!i||i.receipt!==null||i.request.kind!==`email`||i.request.expectedMode!==`simulation`||!this.simulation()||this.busy())){this.busy.set(!0),this.error.set(void 0);try{let e=await this.api.submit(i.request);e.success?this.operation.set(e.result):this.error.set(e.code)}catch{this.error.set(`emails.error`)}finally{this.busy.set(!1)}}}canDeactivate(){return!this.busy()}preventUnload(i){this.busy()&&i.preventDefault()}static ɵfac=function(e){return new(e||t)};static ɵcmp=Fb({type:t,selectors:[[`app-email-detail`]],hostAttrs:[1,`page-container`],hostBindings:function(e,n){e&1&&Gy(`beforeunload`,function(u){return n.preventUnload(u)},Zw)},decls:13,vars:8,consts:[[`aria-labelledby`,`email-detail-title`,1,`detail-page`,`form-page`],[`layout`,`stacked`],[`pageBack`,``,`routerLink`,`/emails/messages`,3,`queryParams`],[`id`,`email-detail-title`],[`pageBadges`,``],[`role`,`status`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`appBadge`,``],[`appNotice`,``],[`aria-labelledby`,`email-detail-title`],[3,`source`,`presentation`],[1,`muted`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`],[`appButton`,``,`type`,`button`,3,`click`]],template:function(e,n){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,ee,1,1),md(7,4),OS(8,ie,1,1),yd(),fd(),OS(9,ne,2,1,`p`,5),OS(10,ae,2,1,`p`,6),OS(11,le,1,1)(12,de,3,1,`div`),fd()),e&2){let p,u,b,S;ZC(2),Fy(`queryParams`,n.backQuery()),ZC(),nv(n.i18n.t(`emailsWorkspace.back`)),ZC(2),nv(n.title()),ZC(),kS((p=n.operation())?6:-1,p),ZC(2),kS((u=n.operation())?8:-1,u),ZC(),kS(n.loading()?9:-1),ZC(),kS((b=n.error())?10:-1,b),ZC(),kS((S=n.operation())?11:n.loading()?-1:12,S)}},dependencies:[d,N,g$2,k,g$1,Dt,p],styles:[`[_nghost-%COMP%]{display:block}.detail-page[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);min-inline-size:0;inline-size:100%;max-inline-size:var(--%NS%page-width-detail);margin-inline:auto;padding:var(--%NS%page-header-y) var(--%NS%page-x)}.detail-page.form-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-form)}.detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-wide)}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-2xl);overflow-wrap:anywhere}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-base);color:var(--%NS%color-muted);overflow-wrap:anywhere}.detail-page[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{justify-self:start}@media print{.detail-page[_ngcontent-%COMP%], .detail-page.form-page[_ngcontent-%COMP%], .detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:none}}.task-form[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-6);inline-size:100%}.field[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-2);min-inline-size:0}.fields[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--%NS%space-4)}.actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:var(--%NS%space-3);align-items:center}.muted[_ngcontent-%COMP%]{color:var(--%NS%color-muted)}.field-error[_ngcontent-%COMP%]{color:var(--%NS%color-danger);font-size:var(--%NS%text-sm)}.field-error[_ngcontent-%COMP%]:empty{display:none}.message-body[_ngcontent-%COMP%]{white-space:pre-wrap;overflow-wrap:anywhere}.message-preview[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-3);padding:var(--%NS%space-4);background:var(--%NS%color-surface-raised)}dl[_ngcontent-%COMP%]{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--%NS%space-3) var(--%NS%space-5)}dt[_ngcontent-%COMP%]{color:var(--%NS%color-muted)}dd[_ngcontent-%COMP%]{margin:0;overflow-wrap:anywhere}fieldset[_ngcontent-%COMP%]{border:0;padding:0;margin:0;min-inline-size:0}legend[_ngcontent-%COMP%]{padding:0;margin-block-end:var(--%NS%space-4);font-weight:700}@media(max-width:40rem){.fields[_ngcontent-%COMP%]{grid-template-columns:1fr}dl[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:var(--%NS%space-2)}}article[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4)}`]})};export{Y as EmailDetail};
@@ -1 +1 @@
1
- import{Dn as g,H as JD,o as A,ot as OD}from"./chunk-BAHiFuUo.js";import{n as m,t as d}from"./chunk-Dv9sNWWK.js";import{vc as ol,vn as Ka,wc as oy}from"./chunk-D5qmP2Wu.js";var u=class r{http=g(OD);list(){return m(this.http.get(`/api/email-templates`),oy,Ka,`emailTemplate.error`)}save(e,t){return m(this.http.put(`/api/email-templates/${e}`,t),ol,Ka,`emailTemplate.error`)}async archive(e){try{return await JD(this.http.post(`/api/email-templates/${e.id}/archive`,{expectedVersion:e.version})),{success:!0}}catch(t){return d({cause:t},Ka,`emailTemplate.error`)}}static ɵfac=function(t){return new(t||r)};static ɵprov=A({token:r,factory:r.ɵfac,providedIn:`root`})};export{u as t};
1
+ import{Dn as g,H as JD,o as A,ot as OD}from"./chunk-BAHiFuUo.js";import{n as m,t as d}from"./chunk-Dv9sNWWK.js";import{vc as ol,vn as Ka,wc as oy}from"./chunk-D8Ui_APT.js";var u=class r{http=g(OD);list(){return m(this.http.get(`/api/email-templates`),oy,Ka,`emailTemplate.error`)}save(e,t){return m(this.http.put(`/api/email-templates/${e}`,t),ol,Ka,`emailTemplate.error`)}async archive(e){try{return await JD(this.http.post(`/api/email-templates/${e.id}/archive`,{expectedVersion:e.version})),{success:!0}}catch(t){return d({cause:t},Ka,`emailTemplate.error`)}}static ɵfac=function(t){return new(t||r)};static ɵprov=A({token:r,factory:r.ɵfac,providedIn:`root`})};export{u as t};
@@ -0,0 +1 @@
1
+ import{t as 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,P as Hn,Sr as rv,Tn as fd,Vr as xH,Wn as kS,Wr as y_,dr as pe$1,ft as Ol,l as A_,lt as OS,mr as qT,mt as PH,pr as qS,qn as ky,rn as Zw,rr as nv,tn as ZT,vt as Py,w as Fb,xn as e_,z as Ip}from"./chunk-BAHiFuUo.js";import{a as T,m as Ie,o as U,r as N,v as Dt,y as G}from"./main-LXYWXFW4.js";import"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import{ys as jT}from"./chunk-D8Ui_APT.js";import{t as g$1}from"./chunk-B56nz2lI.js";import{t as k}from"./chunk-IrDYxRzS.js";import"./chunk-BzUDWIzm.js";import{t as P}from"./chunk-CkRw7h0_.js";import"./chunk-DhpMFMQw.js";import"./chunk-DjewtV43.js";import"./chunk-CReShp-B.js";import{d as nr,f as or,h as yn,i as dn,n as an,o as gn,r as cn,u as mn}from"./chunk-CSkyOfSg.js";import{t as D}from"./chunk-BwFjLr9D2.js";import"./chunk-C6M6lCrw2.js";import"./chunk-DVbkiKVh2.js";import{t as q}from"./chunk-sAfSVia62.js";import{n as m,t as l$1}from"./chunk-DJwuZjJg2.js";import{t as f}from"./chunk-a58d-9ZM2.js";import{n as c,r as w}from"./chunk-U_cdbXaE2.js";var pe=[`progress`];var ue=[`subjectInput`];var ge=[`bodyInput`];var ve=i=>[`/services/resend/tests`,i];function ye(i,t){if(i&1){let e=zS();Us(0,`p`,10),y_(1),fd(),Us(2,`button`,11),Gy(`click`,function(){Ip(e);return wp(qS().refresh())}),y_(3),fd()}if(i&2){let e=qS();ZC(),nv(e.i18n.t(t)),ZC(),Fy(`disabled`,e.saving()),ZC(),vd(` `,e.i18n.t(`emailTest.refresh`),` `)}}function fe(i,t){if(i&1&&(Us(0,`p`,13,0),y_(2),fd()),i&2){let e=qS(2);ZC(2),nv(e.i18n.t(e.statusLabel(t.status)))}}function he(i,t){if(i&1&&(Us(0,`p`,12),y_(1),fd(),OS(2,fe,3,1,`p`,13),Us(3,`a`,14),y_(4),fd()),i&2){let e,a=qS();ZC(),nv(a.i18n.t(`configurationWorkspace.testComplete`)),ZC(),kS((e=a.current())?2:-1,e),ZC(),Fy(`routerLink`,k_(5,ve,a.selected()))(`queryParams`,a.testParams()),ZC(),nv(a.i18n.t(`configurationWorkspace.testDetail`))}}function be(i,t){if(i&1&&y_(0),i&2)vd(` `,qS(2).i18n.t(`emailTest.subjectInvalid`),` `)}function _e(i,t){if(i&1&&y_(0),i&2)vd(` `,qS(2).i18n.t(`emailTest.bodyInvalid`),` `)}function xe(i,t){if(i&1&&(Us(0,`p`,8),y_(1),fd()),i&2){let e=qS(2);ZC(),nv(e.i18n.t(`emailTest.credentialsMissing`))}}function Ce(i,t){if(i&1&&(Us(0,`p`,9),y_(1),fd()),i&2){let e=qS(2);ZC(),nv(e.i18n.t(`emailTest.active`))}}function Pe(i,t){if(i&1&&(Us(0,`p`,8),y_(1),fd()),i&2){let e=qS(2);ZC(),nv(e.i18n.t(`emailTest.pendingRequest`))}}function Te(i,t){if(i&1){let e=zS();Us(0,`dl`)(1,`dt`),y_(2),fd(),Us(3,`dd`),y_(4),fd(),Us(5,`dt`),y_(6),fd(),Us(7,`dd`),y_(8),fd(),Us(9,`dt`),y_(10),fd(),Us(11,`dd`),y_(12),fd()(),Us(13,`div`,15)(14,`form`,16),Gy(`submit`,function(c){Ip(e);return wp(qS().send(c))}),Us(15,`label`,17),y_(16),Py(17,`input`,18,1),qT(),fd(),Us(19,`p`,19),OS(20,be,1,1),fd(),Us(21,`label`,20),y_(22),Py(23,`textarea`,21,2),qT(),fd(),Us(25,`p`,22),OS(26,_e,1,1),fd(),OS(27,xe,2,1,`p`,8),OS(28,Ce,2,1,`p`,9),OS(29,Pe,2,1,`p`,8),Us(30,`button`,23),y_(31),fd(),Us(32,`p`),y_(33),fd()(),Us(34,`aside`,24)(35,`h2`),y_(36),fd(),Us(37,`p`,25),y_(38),fd(),Us(39,`p`,26),y_(40),fd()()()}if(i&2){let e=qS();ZC(2),nv(e.i18n.t(`emailTest.from`)),ZC(2),nv(e.addresses.from),ZC(2),nv(e.i18n.t(`emailTest.replyTo`)),ZC(2),nv(e.addresses.replyTo),ZC(2),nv(e.i18n.t(`emailTest.recipient`)),ZC(2),nv(e.addresses.recipient),ZC(4),vd(``,e.i18n.t(`emailTest.subject`),` `),ZC(),Fy(`formField`,e.messageForm.subject),ky(`aria-invalid`,e.invalid(`subject`)),ZT(),ZC(3),kS(e.invalid(`subject`)?20:-1),ZC(2),vd(``,e.i18n.t(`emailTest.body`),` `),ZC(),Fy(`formField`,e.messageForm.body),ky(`aria-invalid`,e.invalid(`body`)),ZT(),ZC(3),kS(e.invalid(`body`)?26:-1),ZC(),kS(!e.credentialsPresent()&&!e.history.loading()?27:-1),ZC(),kS(e.active()?28:-1),ZC(),kS(e.pending()?29:-1),ZC(),Fy(`disabled`,e.saving()||e.history.loading()||e.active()||!e.credentialsPresent()||!e.recoveryReady()),ZC(),vd(` `,e.i18n.t(e.submitLabel()),` `),ZC(2),nv(e.i18n.t(`emailTest.recoveryHint`)),ZC(3),nv(e.i18n.t(`emailTest.preview`)),ZC(2),nv(`[Test] `+e.model().subject),ZC(2),nv(e.model().body)}}function Me(i,t){if(i&1&&(Us(0,`p`,9),y_(1),fd()),i&2){let e=qS();ZC(),nv(e.i18n.t(`emailTest.paused`))}}var me=class i{i18n=g(Ie);api=g(f);confirmation=g(P);destroyRef=g(pe$1);requests=g(q);route=g(G);history=g(c);completed=Ke(!1);requestStore;recoveryReady=Ke(!1);addresses=jT;saving=Ke(!1);pending=Ke(void 0);credentialsPresent=Ke(!1);error=Ke(void 0);queryParams=T(this.route.queryParamMap,{requireSync:!0});testParams=Ft(()=>l$1(`resend`,this.queryParams()));tabs=Ft(()=>m(`resend`,this.i18n,this.selected()));selected=Ke(void 0);current=Ft(()=>this.history.operations().find(t=>t.request.requestId===this.selected()));active=Ft(()=>this.history.operations().some(t=>[`queued`,`sending`,`retrying`].includes(t.status)));model=Ke({subject:this.i18n.t(`emailTest.defaultSubject`),body:this.i18n.t(`emailTest.defaultBody`)});messageForm=nr(this.model,t=>{an(t,()=>this.saving()||!this.recoveryReady()||this.completed()),dn(t,()=>this.pending()!==void 0),gn(t.subject),mn(t.subject,/\S/),mn(t.subject,/^[^\r\n]*$/),cn(t.subject,160),gn(t.body),mn(t.body,/\S/),cn(t.body,2e4)});statusLabel=w;submitLabel=Ft(()=>this.saving()?`emailTest.saving`:this.pending()?`emailTest.resume`:`emailTest.send`);progress=xH(`progress`,{read:Hn});subjectInput=xH(`subjectInput`,{read:Hn});bodyInput=xH(`bodyInput`,{read:Hn});constructor(){PH(()=>{this.completed()&&this.progress()?.nativeElement.focus()}),Ol(()=>{this.loadConnections(),this.restoreRequest(),this.history.watch(()=>this.saving()).pipe(U(this.destroyRef)).subscribe(t=>{this.reconcileRequest(t)})})}async restoreRequest(){this.recoveryReady.set(!1);try{this.requestStore=await this.requests.email();let t=this.requestStore.read();t!==void 0&&(this.pending.set(t),this.model.set({subject:t.subject,body:t.body}),this.selected.set(t.requestId)),this.recoveryReady.set(!0),this.reconcileRequest(this.history.operations())}catch{this.error.set(`emailTest.recoveryUnavailable`)}}reconcileRequest(t){let e=this.pending();e===void 0||!t.some(a=>a.request.requestId===e.requestId)||!this.clearPending()||(this.selected.set(e.requestId),this.completed.set(!0),this.messageForm().reset(),this.error.set(void 0))}clearPending(){try{if(this.requestStore===void 0)throw new Error(`pending_request.storage_unavailable`);return this.requestStore.clear(),this.pending.set(void 0),!0}catch{return this.error.set(`emailTest.recoveryUnavailable`),!1}}async loadConnections(){this.credentialsPresent.set(!1);try{this.credentialsPresent.set((await this.api.connections()).some(t=>t.provider===`resend`&&t.credentialsPresent))}catch{this.error.set(`connections.error`)}}refresh(){this.history.refresh(),this.error.set(void 0),this.loadConnections(),this.recoveryReady()||this.restoreRequest()}invalid(t){return this.messageForm[t]().invalid()&&this.messageForm[t]().touched()}async canDeactivate(){return!this.saving()&&(!this.messageForm().dirty()&&this.pending()===void 0||await this.confirmation.request(this.i18n.t(`emailTest.unsaved`)))}beforeUnload(t){(this.messageForm().dirty()||this.saving()||this.pending()!==void 0)&&t.preventDefault()}send(t){if(t.preventDefault(),!(this.saving()||this.completed()||this.active()||!this.credentialsPresent()||this.history.loading()||!this.recoveryReady())){if(this.messageForm().invalid()){this.messageForm.subject().markAsTouched(),this.messageForm.body().markAsTouched(),(this.messageForm.subject().invalid()?this.subjectInput():this.bodyInput())?.nativeElement.focus();return}or(this.messageForm,async()=>{this.saving.set(!0),this.history.invalidate();try{if(!await this.confirmation.request(this.i18n.t(`emailTest.confirm`),{acceptLabel:this.i18n.t(`emailTest.send`)}))return;this.error.set(void 0);let e=this.model(),a=this.pending()??l({requestId:crypto.randomUUID()},e);try{if(this.requestStore===void 0)throw new Error(`pending_request.storage_unavailable`);this.requestStore.write(a)}catch{this.error.set(`emailTest.recoveryUnavailable`);return}this.pending.set(a);let c=await this.api.sendEmailTest(a);if(!c.success){this.error.set(c.code),c.code!==`emailTest.error`&&this.clearPending();return}this.clearPending(),this.history.record(c.result),this.selected.set(a.requestId),this.completed.set(!0),this.messageForm().reset(),this.history.refresh(),this.progress()?.nativeElement.focus()}finally{this.history.invalidate(),this.saving.set(!1)}})}}static ɵfac=function(e){return new(e||i)};static ɵcmp=Fb({type:i,selectors:[[`app-email-test`]],viewQuery:function(e,a){e&1&&Ky(a.progress,pe,5,Hn)(a.subjectInput,ue,5,Hn)(a.bodyInput,ge,5,Hn),e&2&&e_(3)},hostAttrs:[1,`page-container`],hostBindings:function(e,a){e&1&&Gy(`beforeunload`,function(P){return a.beforeUnload(P)},Zw)},features:[A_([c])],decls:15,vars:14,consts:[[`progress`,``],[`subjectInput`,``],[`bodyInput`,``],[`aria-labelledby`,`email-test-title`,1,`detail-page`],[`layout`,`stacked`],[`pageBack`,``,`routerLink`,`/services/resend/tests`,3,`queryParams`],[`id`,`email-test-title`],[3,`label`,`tabs`,`preserveQuery`,`preserveFragment`,`disabled`],[`appNotice`,``,`variant`,`warning`],[`appNotice`,``],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`],[`appNotice`,``,`variant`,`success`],[`role`,`status`,`tabindex`,`-1`],[`appLinkButton`,``,`variant`,`primary`,3,`routerLink`,`queryParams`],[1,`compose-grid`],[`novalidate`,``,3,`submit`],[`for`,`email-test-subject`,1,`field`],[`id`,`email-test-subject`,`aria-describedby`,`email-test-subject-error`,1,`input`,3,`formField`],[`id`,`email-test-subject-error`,1,`field-error`],[`for`,`email-test-body`,1,`field`],[`id`,`email-test-body`,`rows`,`10`,`aria-describedby`,`email-test-body-error`,1,`input`,3,`formField`],[`id`,`email-test-body-error`,1,`field-error`],[`appButton`,``,`variant`,`primary`,`type`,`submit`,3,`disabled`],[1,`preview-surface`,`ds-panel`],[1,`preview-subject`],[1,`message-preview`]],template:function(e,a){if(e&1&&(Us(0,`section`,3)(1,`app-page-header`,4)(2,`a`,5),y_(3),fd(),Us(4,`h1`,6),y_(5),fd(),Us(6,`p`),y_(7),fd()(),Py(8,`app-tabs`,7),Us(9,`p`,8),y_(10),fd(),OS(11,ye,4,3),OS(12,he,5,7)(13,Te,41,23),OS(14,Me,2,1,`p`,9),fd()),e&2){let c;ZC(2),Fy(`queryParams`,a.testParams()),ZC(),nv(a.i18n.t(`configurationWorkspace.backTests`)),ZC(2),rv(` `,a.i18n.t(`connections.resend`),` — `,a.i18n.t(`configurationWorkspace.newTest`),` `),ZC(2),nv(a.i18n.t(`emailTest.intro`)),ZC(),Fy(`label`,a.i18n.t(`configurationWorkspace.services`))(`tabs`,a.tabs())(`preserveQuery`,!0)(`preserveFragment`,!0)(`disabled`,a.saving()),ZC(2),nv(a.i18n.t(`emailTest.safety`)),ZC(),kS((c=a.error())?11:-1,c),ZC(),kS(a.completed()?12:13),ZC(2),kS(a.history.paused()?14:-1)}},dependencies:[Dt,N,k,yn,g$1,D],styles:[`.detail-page[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);min-inline-size:0;inline-size:100%;max-inline-size:var(--%NS%page-width-detail);margin-inline:auto;padding:var(--%NS%page-header-y) var(--%NS%page-x)}.detail-page.form-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-form)}.detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-wide)}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-2xl);overflow-wrap:anywhere}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-base);color:var(--%NS%color-muted);overflow-wrap:anywhere}.detail-page[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{justify-self:start}@media print{.detail-page[_ngcontent-%COMP%], .detail-page.form-page[_ngcontent-%COMP%], .detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:none}}[_nghost-%COMP%]{display:block}[_nghost-%COMP%] > section[_ngcontent-%COMP%]:not(.detail-page){padding:var(--%NS%space-6) var(--%NS%page-x)}section[_ngcontent-%COMP%]:not(.detail-page) > *[_ngcontent-%COMP%] + *[_ngcontent-%COMP%]{margin-block-start:var(--%NS%space-6)}h2[_ngcontent-%COMP%]{font-size:var(--%NS%text-xl)}h3[_ngcontent-%COMP%]{font-size:var(--%NS%text-lg)}p[_ngcontent-%COMP%]{text-wrap:pretty}.actions[_ngcontent-%COMP%]{display:flex;align-items:center;flex-wrap:wrap;gap:var(--%NS%space-4)}button[_ngcontent-%COMP%], a[_ngcontent-%COMP%]{overflow-wrap:anywhere}button[_ngcontent-%COMP%]{white-space:normal}code[_ngcontent-%COMP%], dd[_ngcontent-%COMP%]{overflow-wrap:anywhere}dl[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(8rem,14rem) minmax(0,1fr);gap:var(--%NS%space-2) var(--%NS%space-4)}dt[_ngcontent-%COMP%]{font-weight:600}dd[_ngcontent-%COMP%]{margin:0}.ds-panel[_ngcontent-%COMP%]{padding:var(--%NS%space-4)}.ds-panel[_ngcontent-%COMP%] > *[_ngcontent-%COMP%] + *[_ngcontent-%COMP%]{margin-block-start:var(--%NS%space-3)}@media(max-width:40rem){dl[_ngcontent-%COMP%]{grid-template-columns:minmax(0,1fr)}dd[_ngcontent-%COMP%] + dt[_ngcontent-%COMP%]{margin-block-start:var(--%NS%space-2)}}p[_ngcontent-%COMP%]{max-inline-size:none}.compose-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--%NS%space-6);align-items:start}form[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4)}.field[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-2)}label[_ngcontent-%COMP%]{font-weight:600}input[_ngcontent-%COMP%], textarea[_ngcontent-%COMP%]{inline-size:100%;min-inline-size:0;font-size:1rem}textarea[_ngcontent-%COMP%]{resize:vertical}.hint[_ngcontent-%COMP%]{color:var(--%NS%color-muted);font-weight:400;font-size:var(--%NS%text-sm)}.field-error[_ngcontent-%COMP%]{color:var(--%NS%color-danger)}.field-error[_ngcontent-%COMP%]:empty{display:none}.message-preview[_ngcontent-%COMP%]{white-space:pre-wrap;overflow-wrap:anywhere}.preview-subject[_ngcontent-%COMP%]{font-weight:600;overflow-wrap:anywhere}.numeric[_ngcontent-%COMP%]{font-variant-numeric:tabular-nums}th[_ngcontent-%COMP%], td[_ngcontent-%COMP%]{padding:var(--%NS%space-3);text-align:start;vertical-align:top;overflow-wrap:anywhere}tbody[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{background:inherit;color:inherit;text-transform:none;font-size:inherit}@media(max-width:55rem){.compose-grid[_ngcontent-%COMP%]{grid-template-columns:minmax(0,1fr)}}`]})};export{me as EmailTest};
@@ -0,0 +1 @@
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-LXYWXFW4.js";import"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import"./chunk-D8Ui_APT.js";import{t as c}from"./chunk-Bh2Diab5.js";import{t as g$1}from"./chunk-B56nz2lI.js";import{t as k}from"./chunk-IrDYxRzS.js";import{t as p}from"./chunk-BHEFFEGN.js";import{t as h}from"./chunk-CCItYukO.js";import"./chunk-BzUDWIzm.js";import"./chunk-CP-AnFGa.js";import"./chunk-Bit8ybhq.js";import"./chunk-DjewtV43.js";import"./chunk-DwSL7UNj.js";import"./chunk-CReShp-B.js";import"./chunk-CSkyOfSg.js";import{t as Fe}from"./chunk-CO_ECkiv.js";import"./chunk-CczD0yXn2.js";import"./chunk-B4KnJ14M2.js";import{n as b,t as Z}from"./chunk-DytjnC4n2.js";import"./chunk-CXHCUTDs2.js";import{i as U$1,n as B,r as Q,t as $}from"./chunk-B6trGhNK2.js";import{n as m,t as d}from"./chunk-cTGENC4T2.js";import{t as D}from"./chunk-BwFjLr9D2.js";import{t as u}from"./chunk-CHUNlDss2.js";import{t as c$1}from"./chunk-C6M6lCrw2.js";import{t as N$1}from"./chunk-DVbkiKVh2.js";import{o as x}from"./chunk-Qweefwro2.js";import{t as f}from"./chunk-BVXF-FYe2.js";import{n as m$1}from"./chunk-DJwuZjJg2.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$1);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,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};
@@ -0,0 +1 @@
1
+ import{n as m,t as l}from"./chunk-BwCtja5l.js";import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,Ir as wp,It as Us,Jr as zS,K as Ke,Nr as vd,Tn as fd,Wn as kS,Wr as y_,ft as Ol,lt as OS,mr as qT,pr as qS,rn as Zw,rr as nv,tn as ZT,vt as Py,w as Fb,z as Ip}from"./chunk-BAHiFuUo.js";import{T as ue,m as Ie,r as N,v as Dt,y as G}from"./main-LXYWXFW4.js";import"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import{or as OA}from"./chunk-D8Ui_APT.js";import{t as f}from"./chunk-BMiFx1ci.js";import{t as g$1}from"./chunk-B56nz2lI.js";import{t as k}from"./chunk-IrDYxRzS.js";import"./chunk-BzUDWIzm.js";import{t as P}from"./chunk-CkRw7h0_.js";import"./chunk-CP-AnFGa.js";import"./chunk-Bit8ybhq.js";import"./chunk-DjewtV43.js";import"./chunk-CReShp-B.js";import{d as nr,f as or,h as yn,o as gn,r as cn,u as mn}from"./chunk-CSkyOfSg.js";import"./chunk-CczD0yXn2.js";import"./chunk-cTGENC4T2.js";import{t as ge}from"./chunk-DD8ATIqT2.js";import{t as n}from"./chunk-DEYSMPA_2.js";function Q(r,t){if(r&1&&(Us(0,`p`,4),y_(1),fd()),r&2){let e=qS();ZC(),nv(e.i18n.t(t))}}function X(r,t){if(r&1&&(Us(0,`p`,5),y_(1),fd()),r&2){let e=qS();ZC(),nv(e.i18n.t(`role.loading`))}}function Y(r,t){if(r&1){let e=zS();Us(0,`form`,7),Gy(`submit`,function(s){Ip(e);return wp(qS().save(s))}),Us(1,`div`,8)(2,`label`,9),y_(3),Py(4,`input`,10),qT(),fd()(),Us(5,`div`,11)(6,`app-permission-picker`,12),Gy(`selectionChange`,function(s){Ip(e);return wp(qS().changePermission(s))}),fd()(),Us(7,`div`,13)(8,`button`,14),y_(9),fd(),Us(10,`a`,15),y_(11),fd()()()}if(r&2){let e=qS();ZC(3),nv(e.i18n.t(`role.name`)),ZC(),Fy(`formField`,e.roleForm.name),ZT(),ZC(2),Fy(`options`,e.permissionOptions())(`selectedCodes`,e.roleForm.permissions().value())(`disabled`,e.saving()),ZC(2),Fy(`disabled`,e.saving()),ZC(),vd(` `,e.i18n.t(`role.save`)),ZC(2),nv(e.i18n.t(`role.cancel`))}}var J=class r{i18n=g(Ie);api=g(n);route=g(G);router=g(ue);confirmation=g(P);roleId=this.route.snapshot.paramMap.get(`roleId`);createRequestId=crypto.randomUUID();version=Ke(void 0);editing=this.roleId!==null;model=Ke({name:``,permissions:[]});roleForm=nr(this.model,t=>{gn(t.name),mn(t.name,/\S/),cn(t.name,80)});permissionOptions=Ft(()=>OA.map(t=>({code:t,description:this.i18n.t(`permission.${t}`)})));loading=Ke(this.editing);saving=Ke(!1);error=Ke(void 0);breadcrumbs=Ft(()=>[{label:this.i18n.t(`team.title`),path:`/team`},{label:this.i18n.t(`role.title`),path:`/team/roles`}]);constructor(){Ol(()=>{this.roleId&&this.load(this.roleId)})}title(){return this.i18n.t(this.editing?`role.editTitle`:`role.createTitle`)}changePermission(t){let e=OA.find(i=>i===t.code);e!==void 0&&(this.roleForm.permissions().markAsDirty(),this.model.update(i=>m(l({},i),{permissions:t.selected?[...i.permissions,e]:i.permissions.filter(s=>s!==e)})))}save(t){if(t.preventDefault(),this.saving()||this.roleForm().invalid()){this.roleForm().markAsTouched();return}or(this.roleForm,async()=>{this.saving.set(!0),this.error.set(void 0);try{let e=this.roleId?await this.api.update(this.roleId,m(l({},this.model()),{expectedVersion:this.version()??0})):await this.api.create(m(l({},this.model()),{requestId:this.createRequestId}));if(!e.success){this.error.set(e.code);return}this.roleForm().reset(this.model()),this.saving.set(!1),await this.router.navigate([`/team/roles`],{state:{roleNotice:this.editing?`role.updated`:`role.created`}})}catch{this.error.set(`role.error`)}finally{this.saving.set(!1)}})}canDeactivate(){return this.saving()?!1:!this.roleForm().dirty()||this.confirmation.request(this.i18n.t(`role.unsavedChanges`))}beforeUnload(t){(this.saving()||this.roleForm().dirty())&&t.preventDefault()}async load(t){try{let e=await this.api.get(t);if(!e.success){this.error.set(e.code);return}this.version.set(e.result.version),this.roleForm().reset({name:e.result.name,permissions:e.result.permissions})}catch{this.error.set(`role.error`)}finally{this.loading.set(!1)}}static ɵfac=function(e){return new(e||r)};static ɵcmp=Fb({type:r,selectors:[[`app-role-editor`]],hostAttrs:[1,`page-container`],hostBindings:function(e,i){e&1&&Gy(`beforeunload`,function(u){return i.beforeUnload(u)},Zw)},decls:10,vars:7,consts:[[`aria-labelledby`,`role-editor-title`,1,`detail-page`,`form-page`],[`layout`,`stacked`],[`pageBack`,``,3,`label`,`items`,`current`],[`id`,`role-editor-title`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`role`,`status`],[`novalidate`,``],[`novalidate`,``,3,`submit`],[1,`ds-panel`,`form-panel`],[`for`,`role-name`,1,`field`],[`id`,`role-name`,1,`input`,3,`formField`],[1,`ds-panel`,`form-panel`,`permissions`],[3,`selectionChange`,`options`,`selectedCodes`,`disabled`],[1,`spacer-x-2`],[`appButton`,``,`variant`,`primary`,`type`,`submit`,3,`disabled`],[`appLinkButton`,``,`routerLink`,`/team/roles`]],template:function(e,i){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,X,2,1,`p`,5)(9,Y,12,8,`form`,6),fd()),e&2){let s;ZC(2),Fy(`label`,i.i18n.t(`backOfficeShell.breadcrumb`))(`items`,i.breadcrumbs())(`current`,i.title()),ZC(2),nv(i.title()),ZC(2),nv(i.i18n.t(`role.editorIntro`)),ZC(),kS((s=i.error())?7:-1,s),ZC(),kS(i.loading()?8:9)}},dependencies:[f,N,yn,k,g$1,ge,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-panel[_ngcontent-%COMP%] + .form-panel[_ngcontent-%COMP%], .spacer-x-2[_ngcontent-%COMP%]{margin-block-start:var(--%NS%space-4)}`]})};export{J as RoleEditor};
@@ -0,0 +1 @@
1
+ import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,Ir as wp,It as Us,Jr as zS,K as Ke,Nr as vd,Sr as rv,Tn as fd,V as Iy,Wn as kS,Wr as y_,hr as q_,l as A_,lt as OS,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}from"./chunk-BAHiFuUo.js";import{r as N}from"./main-LXYWXFW4.js";import"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import"./chunk-D8Ui_APT.js";import"./chunk-BMiFx1ci.js";import"./chunk-B56nz2lI.js";import{t as k}from"./chunk-IrDYxRzS.js";import"./chunk-CfwFJLFh.js";import"./chunk-BzUDWIzm.js";import"./chunk-CkRw7h0_.js";import"./chunk-DhpMFMQw.js";import{t as l}from"./chunk-Cm2UNqwE.js";import"./chunk-CReShp-B.js";import{d as nr,f as or,h as yn,n as an,o as gn,r as cn,u as mn}from"./chunk-CSkyOfSg.js";import"./chunk-BAYVC6mO2.js";import"./chunk-xIoy5TmG2.js";import"./chunk-DvAE1Kdh2.js";import"./chunk-BL3upDtA.js";import{t as w}from"./chunk-DbcNGxba.js";import{t as v}from"./chunk-CpB8RIpf.js";import{t as S}from"./chunk-CJE3VBx5.js";import{t as i}from"./chunk-Brog8aBK.js";import{t as u}from"./chunk-BCN3uL5S.js";var X=()=>({count:500});function Y(n,t){if(n&1&&(Us(0,`p`)(1,`strong`),y_(2),fd(),y_(3),fd()),n&2){let e=t,i=qS();ZC(2),nv(e.reference),ZC(),rv(` · `,i.task.money(e.amountCents),` · `,e.paidOn,` `)}}function Z(n,t){if(n&1&&(Us(0,`p`,4),y_(1),fd()),n&2){let e=qS(2);ZC(),nv(e.i18n.t(`credit.loadError`))}}function $(n,t){if(n&1&&(Us(0,`p`,2),y_(1),fd()),n&2){let e=qS(2);ZC(),nv(e.i18n.t(`billingWorkspace.unavailable`))}}function ee(n,t){if(n&1&&y_(0),n&2)vd(` `,qS(4).i18n.t(`billingWorkspace.reasonInvalid`),` `)}function te(n,t){if(n&1){let e=zS();Us(0,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS(4).retry())}),y_(1),fd()}if(n&2){let e=qS(4);Fy(`disabled`,e.task.busy()),ZC(),vd(` `,e.i18n.t(`billingWorkspace.retrySame`),` `)}}function ne(n,t){if(n&1){let e=zS();Us(0,`form`,7),Gy(`submit`,function(s){Ip(e);return wp(qS(3).save(s))}),Us(1,`label`,8),y_(2),Py(3,`textarea`,9),qT(),Us(4,`small`,10),y_(5),fd(),Us(6,`span`,11),OS(7,ee,1,1),fd()(),Us(8,`div`,12)(9,`button`,13),y_(10),fd(),OS(11,te,2,2,`button`,14),fd()()}if(n&2){let e=qS(3);ZC(2),nv(e.i18n.t(`payment.cancel_reason`)),ZC(),Fy(`formField`,e.cancelForm.reason),ky(`aria-invalid`,e.cancelForm.reason().invalid()&&e.cancelForm.reason().touched()),ZT(),ZC(2),nv(e.i18n.tf(`billingWorkspace.limit`,O_(8,X))),ZC(2),kS(e.cancelForm.reason().invalid()&&e.cancelForm.reason().touched()?7:-1),ZC(2),Fy(`disabled`,e.task.locked()),ZC(),vd(` `,e.i18n.t(`payment.cancel`),` `),ZC(),kS(e.task.uncertain()?11:-1)}}function ie(n,t){n&1&&Iy(0,ne,12,9,`form`,6),n&2&&Fy(`appCan`,`invoice.mark-paid`)}function ae(n,t){if(n&1&&OS(0,Z,2,1,`p`,4)(1,$,2,1,`p`,2)(2,ie,1,1,`form`,5),n&2){let e=qS();kS(e.creditState()?e.eligible()?2:1:0)}}function oe(n,t){if(n&1){let e=zS();Us(0,`button`,16),Gy(`click`,function(){Ip(e);return wp(qS().reload())}),y_(1),fd()}if(n&2){let e=qS();Fy(`disabled`,e.task.busy()||e.task.loading()),ZC(),vd(` `,e.i18n.t(`listControls.reload`),` `)}}var Q=class n{task=g(w);i18n=this.task.i18n;creditsApi=g(u);credits=q_({params:()=>{let t=this.task.invoice();if(t)return{invoiceId:t.id,version:t.version}},loader:({params:t})=>this.creditsApi.get(t.invoiceId)});creditState=Ft(()=>{if(this.credits.isLoading())return;let t=this.credits.hasValue()?this.credits.value():void 0;return t?.success?t.result:void 0});payment=Ft(()=>this.task.invoice()?.payments.find(t=>t.id===this.task.route.snapshot.paramMap.get(`paymentId`)));eligible=Ft(()=>i(this.task.invoice(),this.payment(),this.creditState()));cancelForm=nr(Ke({reason:``}),t=>{gn(t.reason),mn(t.reason,/\S/),cn(t.reason,500),an(t,()=>this.task.locked()||!this.eligible())});attempt;save(t){t.preventDefault(),!(this.task.locked()||!this.eligible())&&or(this.cancelForm,{action:async()=>{let e=this.task.invoice();e&&(this.attempt={expectedVersion:e.version,reason:this.cancelForm().value().reason.trim()},await this.retry())},onInvalid:()=>this.task.focusInvalid()})}async retry(){let t=this.task.invoice(),e=this.payment(),i=this.attempt;if(!t||!e||!i)return;await this.task.run(()=>this.task.api.cancelPayment(t.id,e.id,i),`payment.cancel_confirm`,`cancel-payment`)===`resolved`&&(this.attempt=void 0)}async reload(){this.task.uncertain()||this.task.busy()||await this.task.confirmation.request(this.i18n.t(`billingWorkspace.reloadConfirm`))&&(this.attempt=void 0,this.cancelForm().reset({reason:``}),await this.task.load(),this.credits.reload())}canDeactivate(){return this.task.canDeactivate(this.cancelForm().dirty())}static ɵfac=function(e){return new(e||n)};static ɵcmp=Fb({type:n,selectors:[[`app-receipt-cancel`]],hostAttrs:[1,`page-container`],hostBindings:function(e,i){e&1&&Gy(`beforeunload`,function(x){return i.task.beforeUnload(x,i.cancelForm().dirty())},Zw)},features:[A_([w])],decls:8,vars:5,consts:[[`aria-labelledby`,`cancel-title`,1,`detail-page`,`form-page`],[`headingId`,`cancel-title`,3,`heading`],[`appNotice`,``],[`appButton`,``,3,`disabled`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[1,`task-form`,`ds-panel`,`form-panel`],[`class`,`task-form ds-panel form-panel`,3,`submit`,4,`appCan`],[1,`task-form`,`ds-panel`,`form-panel`,3,`submit`],[1,`field`],[`rows`,`4`,`aria-describedby`,`cancel-reason-hint cancel-reason-error`,1,`input`,3,`formField`],[`id`,`cancel-reason-hint`],[`id`,`cancel-reason-error`,1,`field-error`],[1,`actions`],[`appButton`,``,`variant`,`danger`,`type`,`submit`,3,`disabled`],[`appButton`,``,`type`,`button`,3,`disabled`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`],[`appButton`,``,3,`click`,`disabled`]],template:function(e,i){if(e&1&&(Us(0,`section`,0),Py(1,`app-invoice-task-header`,1),Us(2,`p`,2),y_(3),fd(),Py(4,`app-invoice-task-feedback`),OS(5,Y,4,3,`p`),OS(6,ae,3,1),OS(7,oe,2,2,`button`,3),fd()),e&2){let s;ZC(),Fy(`heading`,i.i18n.t(`payment.cancel`)),ZC(2),nv(i.i18n.t(`billingWorkspace.cancelReceiptHint`)),ZC(2),kS((s=i.payment())?5:-1,s),ZC(),kS(i.task.invoice()&&!i.task.completed()&&!i.credits.isLoading()?6:-1),ZC(),kS(i.task.error()&&!i.task.completed()&&!i.task.uncertain()?7:-1)}},dependencies:[l,N,k,yn,v,S],styles:[`[appListWorkspace][_ngcontent-%COMP%] > p[_ngcontent-%COMP%]{margin-block:0}header[_ngcontent-%COMP%], .actions[_ngcontent-%COMP%], .filters[_ngcontent-%COMP%], .chips[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--%NS%space-3)}header[_ngcontent-%COMP%]{justify-content:space-between;align-items:start}.billing-page[_ngcontent-%COMP%] > h1[_ngcontent-%COMP%]{font-size:var(--%NS%text-2xl);margin-block:var(--%NS%space-2)}h2[_ngcontent-%COMP%]{font-size:var(--%NS%text-xl)}.field[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-2);min-inline-size:0}.filters[_ngcontent-%COMP%]{align-items:end}.filters[_ngcontent-%COMP%] .search[_ngcontent-%COMP%]{flex:1 1 22rem}.filters[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]:not(.search){flex:1 1 10rem}.amount[_ngcontent-%COMP%]{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}td[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{display:block;color:var(--%NS%color-muted)}.muted[_ngcontent-%COMP%]{color:var(--%NS%color-muted)}.empty[_ngcontent-%COMP%], .bulk-actions[_ngcontent-%COMP%], .summary[_ngcontent-%COMP%]{padding:var(--%NS%space-4)}.task-form[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-5);inline-size:100%}.fields[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--%NS%space-4)}.field-error[_ngcontent-%COMP%]{color:var(--%NS%color-danger);font-size:var(--%NS%text-sm)}.field-error[_ngcontent-%COMP%]:empty{display:none}dl[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-3)}dl[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--%NS%space-2) var(--%NS%space-4)}dt[_ngcontent-%COMP%]{color:var(--%NS%color-muted)}dd[_ngcontent-%COMP%]{margin:0;overflow-wrap:anywhere}ol[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4)}.history-entry[_ngcontent-%COMP%]{padding:var(--%NS%space-4);overflow-wrap:anywhere}@media(max-width:40rem){.fields[_ngcontent-%COMP%]{grid-template-columns:1fr}}[_nghost-%COMP%]{display:block}.detail-page[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);min-inline-size:0;inline-size:100%;max-inline-size:var(--%NS%page-width-detail);margin-inline:auto;padding:var(--%NS%page-header-y) var(--%NS%page-x)}.detail-page.form-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-form)}.detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-wide)}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-2xl);overflow-wrap:anywhere}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-base);color:var(--%NS%color-muted);overflow-wrap:anywhere}.detail-page[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{justify-self:start}@media print{.detail-page[_ngcontent-%COMP%], .detail-page.form-page[_ngcontent-%COMP%], .detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:none}}`]})};export{Q as ReceiptCancel};
@@ -0,0 +1 @@
1
+ import{n as m,t as l}from"./chunk-BwCtja5l.js";import{$t as ZC,A as Gy,At as S_,D as Fy,Dn as g,Dr as t_,E as Ft,Fn as iv,Gn as k_,Ir as wp,It as Us,J as Ky,Jr as zS,Jt as Xy,K as Ke$1,Nr as vd,P as Hn,Rn as jS,Rt as V_,Tn as fd,V as Iy,Vr as xH,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,mt as PH,pr as qS,qn as ky,rr as nv,tn as ZT,tt as Mn,vt as Py,w as Fb,xn as e_,xt as Qg,z as Ip,zn as j_}from"./chunk-BAHiFuUo.js";import{T as ue,h as Ne,i as r,m as Ie,o as U,r as N,v as Dt,y as G}from"./main-LXYWXFW4.js";import{wi as wu}from"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import{Ca as Zu}from"./chunk-D8Ui_APT.js";import{t as c}from"./chunk-Bh2Diab5.js";import{t as g$1}from"./chunk-B56nz2lI.js";import{t as k}from"./chunk-IrDYxRzS.js";import{t as d}from"./chunk-CfwFJLFh.js";import{t as p}from"./chunk-BHEFFEGN.js";import{t as f}from"./chunk-CuVXI21d.js";import{t as h}from"./chunk-CCItYukO.js";import"./chunk-BzUDWIzm.js";import{t as E}from"./chunk-DhpMFMQw.js";import{t as Ft$1}from"./chunk-DjewtV43.js";import"./chunk-CReShp-B.js";import{d as nr,h as yn}from"./chunk-CSkyOfSg.js";import{t as B}from"./chunk-DQRDJtdh.js";import"./chunk-CczD0yXn2.js";import"./chunk-B4KnJ14M2.js";import{n as b,t as Z}from"./chunk-DytjnC4n2.js";import{t as D}from"./chunk-CXHCUTDs2.js";import{i as U$1,n as B$1,r as Q,t as $}from"./chunk-B6trGhNK2.js";import{n as m$1,t as d$1}from"./chunk-cTGENC4T2.js";import{t as D$1}from"./chunk-BwFjLr9D2.js";import{t as u}from"./chunk-CHUNlDss2.js";import{S as x,_ as h$1,a as I,f as R,g as _,h as Y,i as H,l as N$1,r as F,s as L,y as k$1}from"./chunk-D9pT7T7E.js";import{n as l$1,t as K}from"./chunk-B-XrDECw.js";var je=[`periodError`];var Ke=r=>({count:r});var Ue=(r,n)=>n.key;var Qe=(r,n)=>n.item.sourceKind+n.item.sourceId;var Ge=(r,n)=>n.item.id;function Je(r,n){if(r&1&&(Us(0,`p`,21,0),y_(2),fd()),r&2){let e=qS(2);ZC(2),vd(` `,e.i18n.t(`bankWorkspace.ledgerPeriodRequired`),` `)}}function Xe(r,n){if(r&1){let e=zS();Us(0,`p`,4),y_(1),fd(),Us(2,`app-date-range-filter`,20),Gy(`focusin`,function(){Ip(e);return wp(qS().periodRequired.set(!1))})(`rangeApplied`,function(s){Ip(e);return wp(qS().applyPeriod(s))}),fd(),OS(3,Je,3,1,`p`,21)}if(r&2){let e=qS();ZC(),nv(e.i18n.t(`bankWorkspace.ledgerPeriodRequired`)),ZC(),Fy(`from`,e.query().from||void 0)(`to`,e.query().to||void 0),ZC(),kS(e.periodRequired()?3:-1)}}function Ye(r,n){if(r&1&&(Us(0,`app-hint`,13,1)(2,`a`,22),Py(3,`app-icon`,23),y_(4),fd()()),r&2){let e=t_(1),t=qS();Fy(`text`,t.i18n.t(`bankWorkspace.periodExportHint`)),ZC(2),Fy(`href`,n,Qg),ky(`aria-describedby`,e.id),ZC(2),nv(t.i18n.t(`bankWorkspace.periodExport`))}}function Ze(r,n){if(r&1){let e=zS();Us(0,`div`,14)(1,`button`,24),Gy(`click`,function(){Ip(e);return wp(qS().search(``))}),fd()()}if(r&2){let e=qS();ZC(),Fy(`label`,e.query().q)}}function et(r,n){if(r&1&&(Us(0,`p`,15),y_(1),fd()),r&2){let e=qS();ZC(),nv(e.i18n.t(n))}}function tt(r,n){if(r&1&&(Us(0,`p`,16),y_(1),fd()),r&2){let e=qS();ZC(),nv(e.i18n.t(`ledger.loading`))}}function nt(r,n){if(r&1){let e=zS();Us(0,`div`)(1,`button`,25),Gy(`click`,function(){Ip(e);return wp(qS().load())}),y_(2),fd()()}if(r&2){let e=qS();ZC(2),nv(e.i18n.t(`bank.reload`))}}function rt(r,n){if(r&1&&Py(0,`app-empty-state`,17),r&2){let e=qS();Fy(`title`,e.i18n.t(e.query().q?`bankWorkspace.ledgerNoMatches`:e.query().view===`journal`?`bankWorkspace.journalEmpty`:`bankWorkspace.sourceEmpty`))}}function it(r,n){if(r&1){let e=zS();Us(0,`th`,27)(1,`button`,28),Gy(`click`,function(){let s=Ip(e).$implicit;return wp(qS(2).sortBy(s.key))}),fd()()}if(r&2){let e=n.$implicit,t=qS(2);Xy(`amount`,e.kind===`number`),ky(`aria-sort`,t.sortDirection(e.key)),ZC(),Fy(`label`,t.i18n.t(e.label))(`direction`,t.sortDirection(e.key))}}function at(r,n){if(r&1&&(Us(0,`a`,30),y_(1),fd()),r&2){let e=qS().$implicit,t=S_(0),s=qS(2);Fy(`routerLink`,s.sourceLink(t.sourceKind,t.sourceId))(`queryParams`,s.queryParams())(`appSearchHighlight`,e.indices),ZC(),nv(t.reference)}}function ot(r,n){if(r&1&&(Us(0,`span`,31),y_(1),fd()),r&2){let e=qS().$implicit,t=S_(0);Fy(`appSearchHighlight`,e.indices),ZC(),nv(t.reference)}}function st(r,n){if(r&1&&(lv(0),Us(1,`tr`)(2,`th`,29),OS(3,at,2,4,`a`,30)(4,ot,2,2,`span`,31),fd(),Us(5,`td`),y_(6),fd(),Us(7,`td`),y_(8),fd(),Us(9,`td`),y_(10),j_(11,`localizedDate`),fd(),Us(12,`td`,32),y_(13),fd()()),r&2){let e=n.$implicit,t=qS(2),s=b_(e.item);ZC(3),kS(t.authentication.can(`ledger.post`)?3:4),ZC(3),nv(s.account),ZC(2),nv(t.i18n.t(s.sourceKind===`fee`?`ledger.fee`:`ledger.debit`)),ZC(2),nv(V_(11,6,s.bookedOn,t.i18n.language())),ZC(3),nv(t.money(s.amountCents))}}function lt(r,n){if(r&1&&(Us(0,`div`,18)(1,`table`)(2,`thead`)(3,`tr`),LS(4,it,2,5,`th`,26,Ue),fd()(),Us(6,`tbody`),LS(7,st,14,9,`tr`,null,Qe),fd()()()),r&2){let e=qS();ZC(4),jS(e.sourceColumns),ZC(3),jS(e.sourceResults())}}function dt(r,n){if(r&1){let e=zS();Us(0,`th`,27)(1,`button`,28),Gy(`click`,function(){let s=Ip(e).$implicit;return wp(qS(2).sortBy(s.key))}),fd()()}if(r&2){let e=n.$implicit,t=qS(2);Xy(`amount`,e.kind===`number`),ky(`aria-sort`,t.sortDirection(e.key)),ZC(),Fy(`label`,t.i18n.t(e.label))(`direction`,t.sortDirection(e.key))}}function ct(r,n){if(r&1&&(Us(0,`tr`)(1,`th`,29)(2,`a`,30),y_(3),fd(),Us(4,`small`),y_(5),fd()(),Us(6,`td`)(7,`span`,31),y_(8),fd()(),Us(9,`td`),y_(10),j_(11,`localizedDate`),fd(),Us(12,`td`),y_(13),fd(),Us(14,`td`),y_(15),fd(),Us(16,`td`)(17,`span`,33),y_(18),fd()(),Us(19,`td`,32),y_(20),fd()()),r&2){let e=n.$implicit,t=qS(2),s=e.item;ZC(2),Fy(`routerLink`,t.entryLink(s.id))(`queryParams`,t.queryParams())(`appSearchHighlight`,e.indices),ZC(),nv(s.label),ZC(2),nv(s.id),ZC(2),Fy(`appSearchHighlight`,e.referenceIndices),ZC(),nv(s.sourceReference),ZC(2),nv(V_(11,12,s.bookedOn,t.i18n.language())),ZC(3),nv(s.debitAccount),ZC(2),nv(s.creditAccount),ZC(3),nv(t.i18n.t(s.reversesId?`bankWorkspace.reversalEntry`:s.reversalId?`bankWorkspace.reversedEntry`:`bankWorkspace.activeEntry`)),ZC(2),nv(t.money(s.amountCents))}}function pt(r,n){if(r&1&&(Us(0,`div`,18)(1,`table`)(2,`thead`)(3,`tr`),LS(4,dt,2,5,`th`,26,Ue),fd()(),Us(6,`tbody`),LS(7,ct,21,15,`tr`,null,Ge),fd()()()),r&2){let e=qS();ZC(4),jS(e.entryColumns),ZC(3),jS(e.entryResults())}}function ut(r,n){if(r&1&&(Us(0,`p`,16),y_(1),fd()),r&2){let e=qS();ZC(),nv(e.i18n.plural(`bankWorkspace.entryCount`,k_(1,Ke,e.count())))}}var Ae=class r$1{authentication=g(E);i18n=g(Ie);api=g(l$1);route=g(G);router=g(ue);destroyRef=g(pe);pendingTasks=g(Mn);state=Ke$1(`loading`);error=Ke$1(void 0);errorMessage=Ft(()=>K(this.error(),`load`));records=Ke$1({entries:[],sources:[]});query=Ke$1(F(this.route.snapshot.queryParamMap));queryParams=Ft(()=>H(this.query()));periodRequired=Ke$1(!1);periodError=xH(`periodError`,{read:Hn});searchForm=nr(Ke$1({q:this.query().q}));activeFilterCount=Ft(()=>+(this.query().from!==``||this.query().to!==``));filterMenu=xH(Z);searchControl=xH(Q);tabs=Ft(()=>N$1(this.i18n,n=>this.authentication.can(n)));viewTabs=Ft(()=>[`sources`,`journal`].map(n=>({path:`.`,id:`bank-${n}-tab`,label:this.i18n.t(`bankWorkspace.${n}`),queryParams:this.viewQuery(n),active:this.query().view===n})));sourceLink=Y;entryLink=_;sourceColumns=h$1;entryColumns=R;sources=Ft(()=>this.records().sources.filter(n=>n.entryId===null));sourceSearch=Ft$1(this.sources,Ft(()=>this.query().q),{keys:[`reference`,`account`],includeMatches:!0,ignoreLocation:!0,ignoreDiacritics:!0,threshold:.35});sourceResults=Ft(()=>{let n=I(k$1(this.query().sort,h$1),h$1,this.i18n.language(),e=>`${e.sourceId}/${e.sourceKind}`);return this.sourceSearch().toSorted((e,t)=>n(e.item,t.item)).map(e=>({item:e.item,indices:e.matches?.find(t=>t.key===`reference`)?.indices??[]}))});entrySearch=Ft$1(Ft(()=>this.records().entries),Ft(()=>this.query().q),{keys:[`label`,`id`,`sourceReference`],includeMatches:!0,ignoreLocation:!0,ignoreDiacritics:!0,threshold:.35});entryResults=Ft(()=>{let n=I(k$1(this.query().sort,R),R,this.i18n.language(),e=>e.id);return this.entrySearch().toSorted((e,t)=>n(e.item,t.item)).map(e=>({item:e.item,indices:e.matches?.find(t=>t.key===`label`)?.indices??[],referenceIndices:e.matches?.find(t=>t.key===`sourceReference`)?.indices??[]}))});count=Ft(()=>this.query().view===`journal`?this.entryResults().length:this.sourceResults().length);exportColumns=Ft(()=>this.query().view===`journal`?[`entry_id`,`label`,`source_reference`,`booked_on`,`debit_account`,`credit_account`,`status`,`amount_cents`,`currency`]:[`source_kind`,`source_id`,`reference`,`account`,`booked_on`,`amount_cents`,`currency`]);exportRows=Ft(()=>this.state()!==`ready`?[]:this.query().view===`journal`?this.entryResults().map(({item:n})=>[n.id,n.label,n.sourceReference,n.bookedOn,n.debitAccount,n.creditAccount,n.reversesId?`reversal`:n.reversalId?`reversed`:`active`,n.amountCents,`EUR`]):this.sourceResults().map(({item:n})=>[n.sourceKind,n.sourceId,n.reference,n.account,n.bookedOn,n.amountCents,`EUR`]));exportUrl=Ft(()=>this.state()===`ready`?`/api/banking/ledger/export?${new URLSearchParams({from:this.query().from,to:this.query().to})}`:void 0);loadedKey=``;generation=0;constructor(){PH(()=>{this.periodRequired()&&this.periodError()?.nativeElement.focus()}),Ol(()=>this.route.queryParamMap.pipe(U(this.destroyRef)).subscribe(n=>{let e=F(n);this.query.set(e),this.searchForm().reset({q:e.q});let t=`${e.from}/${e.to}`;t!==this.loadedKey&&(this.loadedKey=t,this.pendingTasks.run(()=>this.load()))}))}async load(){let n=++this.generation,e={from:this.query().from,to:this.query().to};if(!wu.is(Zu)(e)){this.state.set(`error`),this.error.set(`bankWorkspace.periodInvalid`);return}this.state.set(`loading`),this.error.set(void 0);try{let t=await this.api.list(e);if(n!==this.generation||this.destroyRef.destroyed)return;if(!t.success){this.error.set(t.code),this.state.set(`error`);return}this.records.set(t.result),this.state.set(`ready`)}catch{n===this.generation&&!this.destroyRef.destroyed&&(this.error.set(`ledger.error`),this.state.set(`error`))}}applyPeriod(n){let e={from:n.from??``,to:n.to??``};if(!wu.is(Zu)(e)){this.periodRequired.set(!0);return}this.periodRequired.set(!1),this.router.navigate([],{relativeTo:this.route,queryParams:H(l(l({},this.query()),e)),queryParamsHandling:`merge`}),this.filterMenu()?.close()}search(n){this.router.navigate([],{relativeTo:this.route,queryParams:H(m(l({},this.query()),{q:n})),queryParamsHandling:`merge`,replaceUrl:!0}),n===``&&this.searchControl()?.focus()}viewQuery(n){let e=n===`journal`?k$1(this.query().sort,R):k$1(this.query().sort,h$1);return H(m(l({},this.query()),{view:n,sort:e}))}sortDirection(n){return x(this.query().sort,n)}sortBy(n){this.router.navigate([],{relativeTo:this.route,queryParams:H({sort:L(this.query().sort,n)}),queryParamsHandling:`merge`,replaceUrl:!0})}money(n){return Ne(n,this.i18n.language(),`EUR`)}static ɵfac=function(e){return new(e||r$1)};static ɵcmp=Fb({type:r$1,selectors:[[`app-bank-ledger`]],viewQuery:function(e,t){e&1&&Ky(t.periodError,je,5,Hn)(t.filterMenu,Z,5)(t.searchControl,Q,5),e&2&&e_(3)},hostAttrs:[1,`page-container`],features:[A_([d$1])],decls:31,vars:34,consts:[[`periodError`,``],[`periodExportHint`,``],[`aria-labelledby`,`ledger-title`,1,`bank-page`],[`id`,`ledger-title`],[1,`muted`],[3,`label`,`tabs`],[`appNotice`,``,`variant`,`info`],[`appListWorkspace`,``],[`listSearch`,``,3,`valueChange`,`label`,`formField`],[`listFilters`,``,3,`label`,`closeLabel`,`backLabel`,`activeCount`,`disabled`],[`appFilterPanel`,``,3,`label`,`summary`],[`listActions`,``,1,`actions`],[3,`columns`,`rows`,`filename`,`label`,`emptyHint`,`pendingHint`,`pending`],[3,`text`],[1,`chips`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[`role`,`status`],[3,`title`],[`appDataTable`,``,`tableLayout`,`fluid`,1,`wide-table`],[1,`list-summary`,`spacer-y-2`],[3,`focusin`,`rangeApplied`,`from`,`to`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`,`tabindex`,`-1`],[`appLinkButton`,``,`download`,``,3,`href`],[`name`,`download`],[`appFilterChip`,``,3,`click`,`label`],[`appButton`,``,`type`,`button`,3,`click`],[`scope`,`col`,3,`amount`],[`scope`,`col`],[`appTableSort`,``,3,`click`,`label`,`direction`],[`scope`,`row`],[3,`routerLink`,`queryParams`,`appSearchHighlight`],[3,`appSearchHighlight`],[1,`amount`],[`appBadge`,``]],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()(),Py(6,`app-tabs`,5),Us(7,`p`,6),y_(8),fd(),Us(9,`p`,4),y_(10),fd(),Us(11,`section`,7),Py(12,`app-tabs`,5),Us(13,`app-list-toolbar`)(14,`app-list-search`,8),Gy(`valueChange`,function(m){return t.search(m)}),fd(),qT(),Us(15,`app-filter-menu`,9),Iy(16,Xe,4,4,`ng-template`,10),fd(),Us(17,`div`,11),Py(18,`app-table-export`,12),OS(19,Ye,5,4,`app-hint`,13),fd()(),OS(20,Ze,2,1,`div`,14),OS(21,et,2,1,`p`,15),OS(22,tt,2,1,`p`,16)(23,nt,3,1,`div`)(24,rt,1,1,`app-empty-state`,17)(25,lt,9,0,`div`,18)(26,pt,9,0,`div`,18),Us(27,`footer`,19),OS(28,ut,2,3,`p`,16),Us(29,`p`),y_(30),fd()()()()),e&2){let s,m;ZC(3),nv(t.i18n.t(`bank.title`)),ZC(2),nv(t.i18n.t(`bankWorkspace.intro`)),ZC(),Fy(`label`,t.i18n.t(`bank.title`))(`tabs`,t.tabs()),ZC(2),nv(t.i18n.t(`bankWorkspace.ledgerScope`)),ZC(2),nv(t.i18n.t(`bankWorkspace.ledgerSortLoaded`)),ZC(),ky(`aria-label`,t.i18n.t(`bankWorkspace.entries`)),ZC(),Fy(`label`,t.i18n.t(`bankWorkspace.entries`))(`tabs`,t.viewTabs()),ZC(2),Fy(`label`,t.i18n.t(`bankWorkspace.ledgerSearch`))(`formField`,t.searchForm.q),ZT(),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.state()===`loading`),ZC(),Fy(`label`,t.i18n.t(`dateRangeFilter.label`))(`summary`,(t.query().from||`…`)+` → `+(t.query().to||`…`)),ZC(2),Fy(`columns`,t.exportColumns())(`rows`,t.exportRows())(`filename`,t.query().view===`journal`?`bank-journal-results.csv`:`bank-source-results.csv`)(`label`,t.i18n.t(`listWorkspace.exportCsv`))(`emptyHint`,t.i18n.t(`listWorkspace.exportEmpty`))(`pendingHint`,t.i18n.t(`listWorkspace.exportPending`))(`pending`,t.state()===`loading`),ZC(),kS((s=t.exportUrl())?19:-1,s),ZC(),kS(t.query().q?20:-1),ZC(),kS((m=t.errorMessage())?21:-1,m),ZC(),kS(t.state()===`loading`?22:t.state()===`error`?23:t.count()?t.query().view===`sources`?25:26:24),ZC(6),kS(t.state()===`ready`?28:-1),ZC(2),iv(` `,t.i18n.t(`ledger.from`),` : `,t.query().from,` · `,t.i18n.t(`ledger.to`),` : `,t.query().to,` `)}},dependencies:[d,N,c,f,h,yn,U$1,B$1,Q,Z,b,B,$,D,r,k,g$1,Dt,m$1,D$1,u,p],styles:[`[_nghost-%COMP%]{display:block}.bank-page[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);padding:var(--%NS%page-header-y) var(--%NS%page-x);min-inline-size:0}.bank-section[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);min-inline-size:0}.actions[_ngcontent-%COMP%], .chips[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:var(--%NS%space-3);align-items:end}.field[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-2);min-inline-size:0}.muted[_ngcontent-%COMP%], small[_ngcontent-%COMP%]{color:var(--%NS%color-muted)}small[_ngcontent-%COMP%]{display:block;font-size:var(--%NS%text-sm);font-weight:400}.amount[_ngcontent-%COMP%]{text-align:end;white-space:nowrap;font-variant-numeric:tabular-nums}.field-error[_ngcontent-%COMP%]{color:var(--%NS%color-danger);font-size:var(--%NS%text-sm)}.task-form[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4)}.task-panel[_ngcontent-%COMP%]{padding:var(--%NS%space-5);display:grid;gap:var(--%NS%space-4);min-inline-size:0}.context[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(16rem,1fr) minmax(0,2fr);gap:var(--%NS%space-6);align-items:start}dl[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-3)}dt[_ngcontent-%COMP%]{color:var(--%NS%color-muted);font-size:var(--%NS%text-sm)}dd[_ngcontent-%COMP%]{margin:0;overflow-wrap:anywhere}input[_ngcontent-%COMP%], select[_ngcontent-%COMP%], textarea[_ngcontent-%COMP%]{min-inline-size:0;max-inline-size:100%}.pre-wrap[_ngcontent-%COMP%]{white-space:pre-wrap;overflow-wrap:anywhere}button[_ngcontent-%COMP%]{max-inline-size:100%;white-space:normal}[tabindex="-1"][_ngcontent-%COMP%]:focus{outline:2px solid var(--%NS%color-button-primary-highlight);outline-offset:var(--%NS%space-1)}@media(max-width:60rem){.context[_ngcontent-%COMP%]{grid-template-columns:minmax(0,1fr)}}`]})};export{Ae as BankLedger};
@@ -1 +1 @@
1
- import{n as m,t as l$1}from"./chunk-BwCtja5l.js";import{Dn as g,E as Ft,H as JD,Hr as xU,K as Ke,Kr as yo,Nn as ie,Qn as n8,Xt as Yn,ft as Ol,gn as ce,j as H,o as A,or as ou,ot as OD}from"./chunk-BAHiFuUo.js";import{m as Ie,n as v,t as o}from"./main-F7D3L737.js";import{wi as wu}from"./chunk-BAe_07VM.js";import{n as m$1,t as d}from"./chunk-Dv9sNWWK.js";import{F as Ck,Fa as _u,ki as Vt,ln as Jc,mt as Ey,s as $n,to as by,xi as Vc}from"./chunk-D5qmP2Wu.js";var x=`froment.software.theme`;var l=class a{document=g(H);meta=g(n8);injector=g(ce);current=Ke(`light`);constructor(){Ol(()=>this.apply(this.detect(),!1),{injector:this.injector})}toggle(){this.set(this.current()===`dark`?`light`:`dark`)}set(e){this.apply(e)}detect(){let e=this.document.defaultView,t=null;try{t=e?.localStorage.getItem(x)??null}catch{}return t===`light`||t===`dark`?t:e?.matchMedia?.(`(prefers-color-scheme: dark)`).matches?`dark`:`light`}apply(e,t=!0){if(this.current.set(e),this.document.documentElement.dataset.theme=e,this.meta.updateTag({name:`theme-color`,content:e===`dark`?`#17171f`:`#f3f2f6`}),t)try{this.document.defaultView?.localStorage.setItem(x,e)}catch{}}static ɵfac=function(t){return new(t||a)};static ɵprov=A({token:a,factory:a.ɵfac,providedIn:`root`})};var E=class a{http=g(OD);isBrowser=xU(g(yo));sessions=g(v);cookieLock=g(o);i18n=g(Ie);theme=g(l);accountObserved=Ke(!1);accountRefresh=Ke(0);accountKey=Ft(()=>({identity:this.sessions.identity(),session:this.sessions.revision(),refresh:this.accountRefresh()}));accountCache=Ke(void 0);accountRequest;settledAccountKey;account=Ft(()=>{let e=this.accountCache();return!this.sessions.refreshing()&&e?.key===this.accountKey()?e.value:void 0});constructor(){ou(()=>{this.accountKey(),!(!this.accountObserved()||this.sessions.refreshing())&&ie(()=>{this.sessions.mode()!==void 0&&this.settledAccountKey!==this.accountKey()&&this.currentAccount()})})}can(e){return this.account()?.permissions.includes(e)===!0}refreshAccount(){return this.accountRequest?.identity===this.sessions.identity()?this.accountRequest.promise:(this.accountRefresh.update(e=>e+1),this.currentAccount())}async authenticatePasskey(e){try{return await this.cookieLock.run(async()=>{let t=await e(),n=await JD(this.http.post(`/api/auth/passkeys/login/verify`,t)),s=wu.decodeUnknownSync(Vt)(n);return this.sessions.set(s),{success:!0,mode:s.mode}})}catch(t){return d({cause:t},by,`passkey.error`)}}async sessionMode(){if(this.isBrowser)try{return this.sessions.mode()??await this.sessions.refresh()}catch{return}}async confirmDocumentSession(){if(!this.isBrowser||this.sessions.mode()===void 0&&await this.sessions.refresh()===void 0)return!1;for(let e=0;e<2;e+=1)try{return await JD(this.http.head(`/api/auth/account`)),!0}catch(t){if(e!==0||!(t instanceof Yn)||t.status!==401||await this.sessions.refresh()===void 0)return!1}return!1}currentAccount(){if(!this.isBrowser||(this.accountObserved.set(!0),!this.sessions.refreshing()&&this.sessions.mode()===void 0))return Promise.resolve(void 0);let e=this.sessions.identity(),t=this.account();if(t!==void 0)return Promise.resolve(t);if(this.accountRequest?.identity===e)return this.accountRequest.promise;let n=this.loadAccount(e);return this.accountRequest={identity:e,promise:n},n}async loadAccount(e){let t=this.accountCache(),n=t?.key.identity===e?t.value.userId:void 0;try{for(let s=0;s<2;s+=1){if(this.sessions.refreshing()&&await this.sessions.refresh(),this.sessions.identity()!==e||this.sessions.mode()===void 0)return;let i=this.accountKey(),A;try{A=await JD(this.http.get(`/api/auth/account`))}catch(P){if(s!==0||!(P instanceof Yn)||P.status!==401||this.sessions.identity()!==e)return;(this.sessions.revision()===i.session||this.sessions.refreshing())&&await this.sessions.refresh();continue}if(this.sessions.identity()!==e)return;if(this.accountKey()!==i||this.sessions.refreshing())continue;let c=wu.decodeUnknownSync(Vc)(A);if(c.mode!==this.sessions.mode()||n!==void 0&&c.userId!==n){this.sessions.clear();return}return this.accountCache.set({key:i,value:c}),this.theme.set(c.preferences.theme),this.i18n.setLanguage(c.preferences.language),c}return}catch{return}finally{this.sessions.identity()===e&&(this.settledAccountKey=this.accountKey()),this.accountRequest?.identity===e&&(this.accountRequest=void 0)}}async updatePreferences(e){if(this.account()===void 0)return!1;try{let n=await JD(this.http.put(`/api/auth/preferences`,e)),s=wu.decodeUnknownSync($n)(n),i=this.accountCache();return i!==void 0&&this.accountCache.set(m(l$1({},i),{value:m(l$1({},i.value),{preferences:s})})),this.theme.set(s.theme),this.i18n.setLanguage(s.language),!0}catch{return!1}}async authenticate(e,t){if(!this.isBrowser)return{success:!1,code:`authentication.error`};let n;try{n=wu.decodeUnknownSync(Jc)({email:e,password:t})}catch{return{success:!1,code:`authentication.invalid_credentials`}}try{return await this.cookieLock.run(async()=>{let s=await JD(this.http.post(`/api/auth/login`,n)),i=wu.decodeUnknownSync(Vt)(s);return this.sessions.set(i),{success:!0,mode:i.mode}})}catch(s){return d({cause:s},by,`authentication.error`)}}async signOut(){return this.isBrowser?this.cookieLock.run(async()=>{this.sessions.clear();try{return await JD(this.http.post(`/api/auth/logout`,void 0)),!0}catch{return!1}}):!1}async changePassword(e){try{return await this.cookieLock.run(async()=>(await JD(this.http.post(`/api/auth/password`,e)),this.sessions.clear(),{success:!0}))}catch(t){return d({cause:t},Ey,`authentication.error`)}}async listSessions(){return m$1(this.http.get(`/api/auth/sessions`),_u,Ck,`authentication.error`)}async revokeSession(e){try{return await JD(this.http.post(`/api/auth/sessions/${e}/revoke`,void 0)),{success:!0}}catch(t){return d({cause:t},Ck,`authentication.error`)}}static ɵfac=function(t){return new(t||a)};static ɵprov=A({token:a,factory:a.ɵfac,providedIn:`root`})};export{l as n,E as t};
1
+ import{n as m,t as l$1}from"./chunk-BwCtja5l.js";import{Dn as g,E as Ft,H as JD,Hr as xU,K as Ke,Kr as yo,Nn as ie,Qn as n8,Xt as Yn,ft as Ol,gn as ce,j as H,o as A,or as ou,ot as OD}from"./chunk-BAHiFuUo.js";import{m as Ie,n as v,t as o}from"./main-LXYWXFW4.js";import{wi as wu}from"./chunk-BAe_07VM.js";import{n as m$1,t as d}from"./chunk-Dv9sNWWK.js";import{F as Ck,Fa as _u,ki as Vt,ln as Jc,mt as Ey,s as $n,to as by,xi as Vc}from"./chunk-D8Ui_APT.js";var x=`froment.software.theme`;var l=class a{document=g(H);meta=g(n8);injector=g(ce);current=Ke(`light`);constructor(){Ol(()=>this.apply(this.detect(),!1),{injector:this.injector})}toggle(){this.set(this.current()===`dark`?`light`:`dark`)}set(e){this.apply(e)}detect(){let e=this.document.defaultView,t=null;try{t=e?.localStorage.getItem(x)??null}catch{}return t===`light`||t===`dark`?t:e?.matchMedia?.(`(prefers-color-scheme: dark)`).matches?`dark`:`light`}apply(e,t=!0){if(this.current.set(e),this.document.documentElement.dataset.theme=e,this.meta.updateTag({name:`theme-color`,content:e===`dark`?`#17171f`:`#f3f2f6`}),t)try{this.document.defaultView?.localStorage.setItem(x,e)}catch{}}static ɵfac=function(t){return new(t||a)};static ɵprov=A({token:a,factory:a.ɵfac,providedIn:`root`})};var E=class a{http=g(OD);isBrowser=xU(g(yo));sessions=g(v);cookieLock=g(o);i18n=g(Ie);theme=g(l);accountObserved=Ke(!1);accountRefresh=Ke(0);accountKey=Ft(()=>({identity:this.sessions.identity(),session:this.sessions.revision(),refresh:this.accountRefresh()}));accountCache=Ke(void 0);accountRequest;settledAccountKey;account=Ft(()=>{let e=this.accountCache();return!this.sessions.refreshing()&&e?.key===this.accountKey()?e.value:void 0});constructor(){ou(()=>{this.accountKey(),!(!this.accountObserved()||this.sessions.refreshing())&&ie(()=>{this.sessions.mode()!==void 0&&this.settledAccountKey!==this.accountKey()&&this.currentAccount()})})}can(e){return this.account()?.permissions.includes(e)===!0}refreshAccount(){return this.accountRequest?.identity===this.sessions.identity()?this.accountRequest.promise:(this.accountRefresh.update(e=>e+1),this.currentAccount())}async authenticatePasskey(e){try{return await this.cookieLock.run(async()=>{let t=await e(),n=await JD(this.http.post(`/api/auth/passkeys/login/verify`,t)),s=wu.decodeUnknownSync(Vt)(n);return this.sessions.set(s),{success:!0,mode:s.mode}})}catch(t){return d({cause:t},by,`passkey.error`)}}async sessionMode(){if(this.isBrowser)try{return this.sessions.mode()??await this.sessions.refresh()}catch{return}}async confirmDocumentSession(){if(!this.isBrowser||this.sessions.mode()===void 0&&await this.sessions.refresh()===void 0)return!1;for(let e=0;e<2;e+=1)try{return await JD(this.http.head(`/api/auth/account`)),!0}catch(t){if(e!==0||!(t instanceof Yn)||t.status!==401||await this.sessions.refresh()===void 0)return!1}return!1}currentAccount(){if(!this.isBrowser||(this.accountObserved.set(!0),!this.sessions.refreshing()&&this.sessions.mode()===void 0))return Promise.resolve(void 0);let e=this.sessions.identity(),t=this.account();if(t!==void 0)return Promise.resolve(t);if(this.accountRequest?.identity===e)return this.accountRequest.promise;let n=this.loadAccount(e);return this.accountRequest={identity:e,promise:n},n}async loadAccount(e){let t=this.accountCache(),n=t?.key.identity===e?t.value.userId:void 0;try{for(let s=0;s<2;s+=1){if(this.sessions.refreshing()&&await this.sessions.refresh(),this.sessions.identity()!==e||this.sessions.mode()===void 0)return;let i=this.accountKey(),A;try{A=await JD(this.http.get(`/api/auth/account`))}catch(P){if(s!==0||!(P instanceof Yn)||P.status!==401||this.sessions.identity()!==e)return;(this.sessions.revision()===i.session||this.sessions.refreshing())&&await this.sessions.refresh();continue}if(this.sessions.identity()!==e)return;if(this.accountKey()!==i||this.sessions.refreshing())continue;let c=wu.decodeUnknownSync(Vc)(A);if(c.mode!==this.sessions.mode()||n!==void 0&&c.userId!==n){this.sessions.clear();return}return this.accountCache.set({key:i,value:c}),this.theme.set(c.preferences.theme),this.i18n.setLanguage(c.preferences.language),c}return}catch{return}finally{this.sessions.identity()===e&&(this.settledAccountKey=this.accountKey()),this.accountRequest?.identity===e&&(this.accountRequest=void 0)}}async updatePreferences(e){if(this.account()===void 0)return!1;try{let n=await JD(this.http.put(`/api/auth/preferences`,e)),s=wu.decodeUnknownSync($n)(n),i=this.accountCache();return i!==void 0&&this.accountCache.set(m(l$1({},i),{value:m(l$1({},i.value),{preferences:s})})),this.theme.set(s.theme),this.i18n.setLanguage(s.language),!0}catch{return!1}}async authenticate(e,t){if(!this.isBrowser)return{success:!1,code:`authentication.error`};let n;try{n=wu.decodeUnknownSync(Jc)({email:e,password:t})}catch{return{success:!1,code:`authentication.invalid_credentials`}}try{return await this.cookieLock.run(async()=>{let s=await JD(this.http.post(`/api/auth/login`,n)),i=wu.decodeUnknownSync(Vt)(s);return this.sessions.set(i),{success:!0,mode:i.mode}})}catch(s){return d({cause:s},by,`authentication.error`)}}async signOut(){return this.isBrowser?this.cookieLock.run(async()=>{this.sessions.clear();try{return await JD(this.http.post(`/api/auth/logout`,void 0)),!0}catch{return!1}}):!1}async changePassword(e){try{return await this.cookieLock.run(async()=>(await JD(this.http.post(`/api/auth/password`,e)),this.sessions.clear(),{success:!0}))}catch(t){return d({cause:t},Ey,`authentication.error`)}}async listSessions(){return m$1(this.http.get(`/api/auth/sessions`),_u,Ck,`authentication.error`)}async revokeSession(e){try{return await JD(this.http.post(`/api/auth/sessions/${e}/revoke`,void 0)),{success:!0}}catch(t){return d({cause:t},Ck,`authentication.error`)}}static ɵfac=function(t){return new(t||a)};static ɵprov=A({token:a,factory:a.ɵfac,providedIn:`root`})};export{l as n,E as t};
@@ -1 +1 @@
1
- import{Dn as g,H as JD,o as A,ot as OD}from"./chunk-BAHiFuUo.js";import{wi as wu}from"./chunk-BAe_07VM.js";import{n as m}from"./chunk-Dv9sNWWK.js";import{Ii as We,V as Cu,fu as xa,ls as ig,zs as ku}from"./chunk-D5qmP2Wu.js";var f=class e{http=g(OD);async retries(){return wu.decodeUnknownSync(ig)(await JD(this.http.get(`/api/integrations/retries`)))}async status(){return wu.decodeUnknownSync(ku)(await JD(this.http.get(`/api/integrations`)))}async list(t){return wu.decodeUnknownSync(Cu)(await JD(this.http.get(`/api/integrations/operations`,{params:t===void 0?{}:{kind:t}})))}submit(t){return m(this.http.post(`/api/integrations/operations`,t),xa,We,`integrations.error`)}static ɵfac=function(d){return new(d||e)};static ɵprov=A({token:e,factory:e.ɵfac,providedIn:`root`})};export{f as t};
1
+ import{Dn as g,H as JD,o as A,ot as OD}from"./chunk-BAHiFuUo.js";import{wi as wu}from"./chunk-BAe_07VM.js";import{n as m}from"./chunk-Dv9sNWWK.js";import{Ii as We,V as Cu,fu as xa,ls as ig,zs as ku}from"./chunk-D8Ui_APT.js";var f=class e{http=g(OD);async retries(){return wu.decodeUnknownSync(ig)(await JD(this.http.get(`/api/integrations/retries`)))}async status(){return wu.decodeUnknownSync(ku)(await JD(this.http.get(`/api/integrations`)))}async list(t){return wu.decodeUnknownSync(Cu)(await JD(this.http.get(`/api/integrations/operations`,{params:t===void 0?{}:{kind:t}})))}submit(t){return m(this.http.post(`/api/integrations/operations`,t),xa,We,`integrations.error`)}static ɵfac=function(d){return new(d||e)};static ɵprov=A({token:e,factory:e.ɵfac,providedIn:`root`})};export{f as t};
@@ -1,2 +1,2 @@
1
- import{n as m,t as l}from"./chunk-BwCtja5l.js";import{$ as MH,$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,Gn as k_,H as JD,Ir as wp,It as Us,Jr as zS,K as Ke,Nr as vd,P as Hn,Rn as jS,S as FS,Tn as fd,Wn as kS,Wr as y_,X as LS,dr as pe,lt as OS,mr as qT,nt as NH,pr as qS,qn as ky,rr as nv,sr as ov,tn as ZT,vt as Py,w as Fb,z as Ip}from"./chunk-BAHiFuUo.js";import{h as Ne,m as Ie,r as N}from"./main-F7D3L737.js";import{_ as te,h as pi,m as is}from"./chunk-BzUDWIzm.js";import{d as nr,f as or,h as yn,o as gn,r as cn,t as P,u as mn}from"./chunk-CSkyOfSg.js";import{a as u,i as m$1,n as f,t as b}from"./chunk-Dx1NwQCW.js";var S=c=>({number:c});function ge(c,o){if(c&1&&(Us(0,`p`,5),y_(1),fd()),c&2){let n=qS();ZC(),nv(n.i18n.t(`documentLine.invalid`))}}function be(c,o){if(c&1&&(Us(0,`span`,12),y_(1),fd()),c&2){let n=qS().$index,e=qS();Fy(`id`,`line-description-error-`+n),ZC(),vd(` `,e.i18n.t(`documentLine.descriptionInvalid`),` `)}}function fe(c,o){if(c&1&&(Us(0,`span`,12),y_(1),fd()),c&2){let n=qS().$index,e=qS();Fy(`id`,`line-quantity-error-`+n),ZC(),vd(` `,e.i18n.t(`documentLine.quantityInvalid`),` `)}}function he(c,o){if(c&1&&(Us(0,`span`,12),y_(1),fd()),c&2){let n=qS().$index,e=qS();Fy(`id`,`line-price-error-`+n),ZC(),vd(` `,e.i18n.t(`documentLine.unitPriceInvalid`),` `)}}function Ee(c,o){if(c&1&&(Us(0,`span`,12),y_(1),fd()),c&2){let n=qS().$index,e=qS();Fy(`id`,`line-vat-error-`+n),ZC(),vd(` `,e.i18n.t(`documentLine.vatRateInvalid`),` `)}}function Ce(c,o){if(c&1&&y_(0),c&2)vd(` `,qS(2).money(o.totalCents),` `)}function De(c,o){if(c&1){let n=zS();Us(0,`tr`)(1,`td`,9)(2,`label`,10),y_(3),fd(),Us(4,`input`,11),Gy(`input`,function(t){let a=Ip(n).$index;return wp(qS().update(a,`description`,t))}),fd(),OS(5,be,2,2,`span`,12),fd(),Us(6,`td`,13)(7,`label`,10),y_(8),fd(),Us(9,`input`,14),Gy(`input`,function(t){let a=Ip(n).$index;return wp(qS().update(a,`quantity`,t))})(`keydown`,function(t){let a=Ip(n).$index;return wp(qS().step(a,`quantity`,t))}),fd(),OS(10,fe,2,2,`span`,12),fd(),Us(11,`td`,15)(12,`label`,10),y_(13),fd(),Us(14,`input`,14),Gy(`input`,function(t){let a=Ip(n).$index;return wp(qS().update(a,`unitPrice`,t))})(`keydown`,function(t){let a=Ip(n).$index;return wp(qS().step(a,`unitPrice`,t))}),fd(),OS(15,he,2,2,`span`,12),fd(),Us(16,`td`,16)(17,`label`,10),y_(18),fd(),Us(19,`input`,14),Gy(`input`,function(t){let a=Ip(n).$index;return wp(qS().update(a,`vatRate`,t))})(`keydown`,function(t){let a=Ip(n).$index;return wp(qS().step(a,`vatRate`,t))}),fd(),OS(20,Ee,2,2,`span`,12),fd(),Us(21,`td`,17),OS(22,Ce,1,1),fd(),Us(23,`td`)(24,`button`,18),Gy(`click`,function(){let t=Ip(n).$index;return wp(qS().remove(t))}),y_(25),fd()()()}if(c&2){let n,e=o.$implicit,t=o.$index,a=qS();ZC(2),Fy(`for`,`line-description-`+t),ZC(),vd(` `,a.i18n.tf(`documentLine.descriptionNumber`,k_(36,S,t+1)),` `),ZC(),Fy(`id`,`line-description-`+t)(`placeholder`,a.i18n.t(`documentLine.descriptionPlaceholder`))(`value`,e.description)(`disabled`,a.disabled()),ky(`aria-invalid`,a.showError(t,`description`,e.description))(`aria-describedby`,a.showError(t,`description`,e.description)?`line-description-error-`+t:null),ZC(),kS(a.showError(t,`description`,e.description)?5:-1),ZC(2),Fy(`for`,`line-quantity-`+t),ZC(),vd(` `,a.i18n.tf(`documentLine.quantityNumber`,k_(38,S,t+1)),` `),ZC(),Fy(`id`,`line-quantity-`+t)(`value`,e.quantity)(`disabled`,a.disabled()),ky(`aria-invalid`,a.showError(t,`quantity`,e.quantity))(`aria-describedby`,a.showError(t,`quantity`,e.quantity)?`line-quantity-error-`+t:null),ZC(),kS(a.showError(t,`quantity`,e.quantity)?10:-1),ZC(2),Fy(`for`,`line-price-`+t),ZC(),vd(` `,a.i18n.tf(`documentLine.unitPriceNumber`,k_(40,S,t+1)),` `),ZC(),Fy(`id`,`line-price-`+t)(`value`,e.unitPrice)(`disabled`,a.disabled()),ky(`aria-invalid`,a.showError(t,`unitPrice`,e.unitPrice))(`aria-describedby`,a.showError(t,`unitPrice`,e.unitPrice)?`line-price-error-`+t:null),ZC(),kS(a.showError(t,`unitPrice`,e.unitPrice)?15:-1),ZC(2),Fy(`for`,`line-vat-`+t),ZC(),vd(` `,a.i18n.tf(`documentLine.vatRateNumber`,k_(42,S,t+1)),` `),ZC(),Fy(`id`,`line-vat-`+t)(`value`,e.vatRate)(`disabled`,a.disabled()),ky(`aria-invalid`,a.showError(t,`vatRate`,e.vatRate))(`aria-describedby`,a.showError(t,`vatRate`,e.vatRate)?`line-vat-error-`+t:null),ZC(),kS(a.showError(t,`vatRate`,e.vatRate)?20:-1),ZC(2),kS((n=a.lineAmounts()[t])?22:-1,n),ZC(2),Fy(`disabled`,a.disabled()||a.lines().length===1),ZC(),vd(` `,a.i18n.t(`documentLine.remove`),` `)}}function Le(c,o){if(c&1&&(Us(0,`tr`)(1,`th`,19),y_(2),fd(),Us(3,`td`,17),y_(4),fd(),Py(5,`td`),fd(),Us(6,`tr`)(7,`th`,19),y_(8),fd(),Us(9,`td`,17),y_(10),fd(),Py(11,`td`),fd(),Us(12,`tr`,20)(13,`th`,19),y_(14),fd(),Us(15,`td`,17),y_(16),fd(),Py(17,`td`),fd()),c&2){let n=o,e=qS();ZC(2),nv(e.i18n.t(`documentLine.subtotal`)),ZC(2),nv(e.money(n.netTotalCents)),ZC(4),nv(e.i18n.t(`documentLine.vatTotal`)),ZC(2),nv(e.money(n.vatTotalCents)),ZC(4),nv(e.i18n.t(`documentLine.totalWithTax`)),ZC(2),nv(e.money(n.totalCents))}}function Se(c,o){if(c&1&&(Us(0,`p`,17),y_(1),fd()),c&2){let n=qS(2);ZC(),nv(n.money(o.totalCents))}}function we(c,o){if(c&1){let n=zS();Us(0,`li`,6)(1,`div`)(2,`strong`),y_(3),fd(),Us(4,`p`),y_(5),fd(),OS(6,Se,2,1,`p`,17),fd(),Us(7,`div`,21)(8,`button`,4),Gy(`click`,function(){let t=Ip(n).$index;return wp(qS().edit(t))}),y_(9),fd(),Us(10,`button`,18),Gy(`click`,function(){let t=Ip(n).$index;return wp(qS().remove(t))}),y_(11),fd()()()}if(c&2){let n,e=o.$implicit,t=o.$index,a=qS();ZC(3),nv(e.description||a.i18n.tf(`documentLine.number`,k_(9,S,t+1))),ZC(2),ov(``,e.quantity,` × `,e.unitPrice,` · `,e.vatRate,` %`),ZC(),kS((n=a.lineAmounts()[t])?6:-1,n),ZC(2),Fy(`disabled`,a.disabled()),ZC(),vd(` `,a.i18n.t(`documentLine.edit`),` `),ZC(),Fy(`disabled`,a.disabled()||a.lines().length===1),ZC(),vd(` `,a.i18n.t(`documentLine.remove`),` `)}}function Pe(c,o){if(c&1&&(Us(0,`dl`,8)(1,`div`)(2,`dt`),y_(3),fd(),Us(4,`dd`),y_(5),fd()(),Us(6,`div`)(7,`dt`),y_(8),fd(),Us(9,`dd`),y_(10),fd()(),Us(11,`div`,20)(12,`dt`),y_(13),fd(),Us(14,`dd`),y_(15),fd()()()),c&2){let n=o,e=qS();ZC(3),nv(e.i18n.t(`documentLine.subtotal`)),ZC(2),nv(e.money(n.netTotalCents)),ZC(3),nv(e.i18n.t(`documentLine.vatTotal`)),ZC(2),nv(e.money(n.vatTotalCents)),ZC(3),nv(e.i18n.t(`documentLine.totalWithTax`)),ZC(2),nv(e.money(n.totalCents))}}var Me=()=>({description:``,quantity:`1`,unitPrice:`0.00`,vatRate:`20.00`});var H=class c{i18n=g(Ie);data=g(pi);dialog=g(te);value=Ke(this.data.line);lineForm=nr(this.value,o=>{gn(o.description),cn(o.description,160),mn(o.description,/\S/),P(o.quantity,({value:n})=>{let e=u(n(),3);return e===void 0||e===0?{kind:`quantity`}:void 0}),P(o.unitPrice,({value:n})=>u(n(),2)===void 0?{kind:`unitPrice`}:void 0),P(o.vatRate,({value:n})=>{let e=u(n(),2);return e===void 0||e>1e4?{kind:`vatRate`}:void 0})});save(o){o.preventDefault(),or(this.lineForm,async()=>this.dialog.close(this.value()))}static ɵfac=function(n){return new(n||c)};static ɵcmp=Fb({type:c,selectors:[[`app-document-line-dialog`]],decls:21,vars:15,consts:[[3,`submit`],[`id`,`document-line-dialog-title`],[1,`field`],[1,`input`,3,`placeholder`,`formField`],[`inputmode`,`decimal`,1,`input`,3,`formField`],[`role`,`alert`,1,`field-error`],[1,`dialog-actions`],[`appButton`,``,`type`,`button`,3,`click`],[`appButton`,``,`variant`,`primary`,`type`,`submit`]],template:function(n,e){n&1&&(Us(0,`form`,0),Gy(`submit`,function(a){return e.save(a)}),Us(1,`h2`,1),y_(2),fd(),Us(3,`label`,2),y_(4),Py(5,`input`,3),qT(),fd(),Us(6,`label`,2),y_(7),Py(8,`input`,4),qT(),fd(),Us(9,`label`,2),y_(10),Py(11,`input`,4),qT(),fd(),Us(12,`label`,2),y_(13),Py(14,`input`,4),qT(),fd(),OS(15,ge,2,1,`p`,5),Us(16,`div`,6)(17,`button`,7),Gy(`click`,function(){return e.dialog.close()}),y_(18),fd(),Us(19,`button`,8),y_(20),fd()()()),n&2&&(ZC(2),vd(` `,e.i18n.tf(`documentLine.editNumber`,k_(13,S,e.data.number)),` `),ZC(2),vd(` `,e.i18n.t(`documentLine.description`),` `),ZC(),Fy(`placeholder`,e.i18n.t(`documentLine.descriptionPlaceholder`))(`formField`,e.lineForm.description),ZT(),ZC(2),vd(` `,e.i18n.t(`documentLine.quantity`),` `),ZC(),Fy(`formField`,e.lineForm.quantity),ZT(),ZC(2),vd(` `,e.i18n.t(`documentLine.unitPrice`),` `),ZC(),Fy(`formField`,e.lineForm.unitPrice),ZT(),ZC(2),vd(` `,e.i18n.t(`documentLine.vatRate`),` `),ZC(),Fy(`formField`,e.lineForm.vatRate),ZT(),ZC(),kS(e.lineForm().invalid()&&e.lineForm().touched()?15:-1),ZC(3),vd(` `,e.i18n.t(`documentLine.cancel`),` `),ZC(2),nv(e.i18n.t(`documentLine.save`)))},dependencies:[N,yn],styles:[`[_nghost-%COMP%]{display:block;max-block-size:calc(100dvh - 2rem);overflow:auto;overscroll-behavior:contain;padding:var(--%NS%space-5);border-radius:var(--%NS%radius-md);background:var(--%NS%color-surface);color:var(--%NS%color-ink);box-shadow:var(--%NS%shadow-page)}form[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4)}h2[_ngcontent-%COMP%]{margin:0}.dialog-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:var(--%NS%space-3);justify-content:flex-end}`]})};var me=class c{i18n=g(Ie);element=g(Hn);dialogs=g(is);destroyRef=g(pe);lines=NH.required();currency=NH.required();disabled=NH(!1);maximumLines=NH(20);linesChange=MH();activeDialog;touched=Ke(new Set);addDisabled=Ft(()=>this.disabled()||this.lines().length>=this.maximumLines());lineAmounts=Ft(()=>this.lines().map(o=>f(o.quantity,o.unitPrice,o.vatRate)));summary=Ft(()=>b(this.lines()));constructor(){this.destroyRef.onDestroy(()=>this.activeDialog?.close())}add(){this.addDisabled()||this.linesChange.emit([...this.lines(),Me()])}remove(o){this.disabled()||this.lines().length===1||(this.touched.set(new Set),this.linesChange.emit(this.lines().filter((n,e)=>e!==o)))}update(o,n,e){let t=e.target;if(this.disabled()||!(t instanceof HTMLInputElement))return;this.touched.update(s=>new Set([...s,`${o}:${n}`]));let a=this.lines().map((s,f)=>f===o?m(l({},s),{[n]:t.value}):s);this.linesChange.emit(a)}step(o,n,e){if(this.disabled()||e.key!==`ArrowUp`&&e.key!==`ArrowDown`)return;let t=this.lines()[o];if(t===void 0)return;let a=n===`quantity`?3:2,s=u(t[n],a);if(s===void 0)return;let f=10**a,D=n===`quantity`?1:0,pe=n===`vatRate`?1e4:Number.MAX_SAFE_INTEGER,ye=e.key===`ArrowUp`?f:-f,G=Math.min(pe,Math.max(D,s+ye));if(G===s)return;e.preventDefault();let U=t[n].includes(`,`)?`,`:`.`,_e=t[n].split(/[.,]/)[1]?.length??0,O=m$1(G,a,U).replace(new RegExp(`0{0,${a-_e}}$`),``),ve=O.endsWith(U)?O.slice(0,-1):O;this.touched.update(F=>new Set([...F,`${o}:${n}`])),this.linesChange.emit(this.lines().map((F,xe)=>xe===o?m(l({},F),{[n]:ve}):F))}invalid(o,n){if(o===`description`)return n.trim().length===0||n.length>160;let t=u(n,o===`quantity`?3:2);return t===void 0?!0:o===`quantity`?t===0:o===`vatRate`&&t>1e4}showError(o,n,e){return this.touched().has(`${o}:${n}`)&&this.invalid(n,e)}focusFirstInvalid(o=this.lines()){let n=[`description`,`quantity`,`unitPrice`,`vatRate`],e=o.flatMap((s,f)=>n.filter(D=>this.invalid(D,s[D])).map(D=>({field:D,index:f})));if(e.length===0)return!1;this.touched.set(new Set(e.map(({field:s,index:f})=>`${f}:${s}`)));let t=e[0],a=t.field===`unitPrice`?`line-price-${t.index}`:t.field===`vatRate`?`line-vat-${t.index}`:`line-${t.field}-${t.index}`;return this.element.nativeElement.querySelector(`#${a}`)?.focus(),!0}money(o){return Ne(o,this.i18n.language(),this.currency())}async edit(o){if(this.disabled()||this.activeDialog!==void 0)return;let n=this.lines()[o];if(n===void 0)return;let e=this.dialogs.open(H,{data:{line:n,number:o+1},role:`dialog`,ariaModal:!0,ariaLabelledBy:`document-line-dialog-title`,autoFocus:`input`,restoreFocus:!0,hasBackdrop:!0,disableClose:!1,disableAnimations:!0,width:`32rem`,maxWidth:`calc(100vw - 2rem)`});this.activeDialog=e;try{let t=await JD(e.closed,{defaultValue:void 0});t!==void 0&&!this.destroyRef.destroyed&&this.linesChange.emit(this.lines().map((a,s)=>s===o?t:a))}finally{this.activeDialog=void 0}}static ɵfac=function(n){return new(n||c)};static ɵcmp=Fb({type:c,selectors:[[`app-document-line-editor`]],inputs:{lines:[1,`lines`],currency:[1,`currency`],disabled:[1,`disabled`],maximumLines:[1,`maximumLines`]},outputs:{linesChange:`linesChange`},decls:31,vars:12,consts:[[1,`desktop-lines`],[`scope`,`col`],[1,`add-line-row`],[`colspan`,`6`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`],[1,`mobile-lines`],[1,`ds-panel`],[`appButton`,``,`type`,`button`,1,`mobile-add`,3,`click`,`disabled`],[1,`mobile-summary`,`ds-panel`],[1,`description-cell`],[1,`visually-hidden`,3,`for`],[1,`input`,3,`input`,`id`,`placeholder`,`value`,`disabled`],[1,`field-error`,3,`id`],[1,`quantity-cell`],[`inputmode`,`decimal`,1,`input`,3,`input`,`keydown`,`id`,`value`,`disabled`],[1,`unit-price-cell`],[1,`vat-cell`],[1,`amount`],[`appButton`,``,`variant`,`danger`,`type`,`button`,3,`click`,`disabled`],[`colspan`,`4`,`scope`,`row`],[1,`grand-total`],[1,`line-actions`,`spacer-x-2`]],template:function(n,e){if(n&1&&(Us(0,`div`,0)(1,`table`)(2,`thead`)(3,`tr`)(4,`th`,1),y_(5),fd(),Us(6,`th`,1),y_(7),fd(),Us(8,`th`,1),y_(9),fd(),Us(10,`th`,1),y_(11),fd(),Us(12,`th`,1),y_(13),fd(),Us(14,`th`,1),y_(15),fd()()(),Us(16,`tbody`),LS(17,De,26,44,`tr`,null,FS),fd(),Us(19,`tfoot`)(20,`tr`,2)(21,`td`,3)(22,`button`,4),Gy(`click`,function(){return e.add()}),y_(23),fd()()(),OS(24,Le,18,6),fd()()(),Us(25,`ol`,5),LS(26,we,12,11,`li`,6,FS),fd(),Us(28,`button`,7),Gy(`click`,function(){return e.add()}),y_(29),fd(),OS(30,Pe,16,6,`dl`,8)),n&2){let t,a;ZC(5),nv(e.i18n.t(`documentLine.description`)),ZC(2),nv(e.i18n.t(`documentLine.quantity`)),ZC(2),nv(e.i18n.t(`documentLine.unitPrice`)),ZC(2),nv(e.i18n.t(`documentLine.vatRate`)),ZC(2),nv(e.i18n.t(`documentLine.total`)),ZC(2),nv(e.i18n.t(`documentLine.actions`)),ZC(2),jS(e.lines()),ZC(5),Fy(`disabled`,e.addDisabled()),ZC(),vd(` `,e.i18n.t(`documentLine.add`),` `),ZC(),kS((t=e.summary())?24:-1,t),ZC(2),jS(e.lines()),ZC(2),Fy(`disabled`,e.addDisabled()),ZC(),vd(` `,e.i18n.t(`documentLine.add`),`
1
+ import{n as m,t as l}from"./chunk-BwCtja5l.js";import{$ as MH,$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,Gn as k_,H as JD,Ir as wp,It as Us,Jr as zS,K as Ke,Nr as vd,P as Hn,Rn as jS,S as FS,Tn as fd,Wn as kS,Wr as y_,X as LS,dr as pe,lt as OS,mr as qT,nt as NH,pr as qS,qn as ky,rr as nv,sr as ov,tn as ZT,vt as Py,w as Fb,z as Ip}from"./chunk-BAHiFuUo.js";import{h as Ne,m as Ie,r as N}from"./main-LXYWXFW4.js";import{_ as te,h as pi,m as is}from"./chunk-BzUDWIzm.js";import{d as nr,f as or,h as yn,o as gn,r as cn,t as P,u as mn}from"./chunk-CSkyOfSg.js";import{a as u,i as m$1,n as f,t as b}from"./chunk-Dx1NwQCW.js";var S=c=>({number:c});function ge(c,o){if(c&1&&(Us(0,`p`,5),y_(1),fd()),c&2){let n=qS();ZC(),nv(n.i18n.t(`documentLine.invalid`))}}function be(c,o){if(c&1&&(Us(0,`span`,12),y_(1),fd()),c&2){let n=qS().$index,e=qS();Fy(`id`,`line-description-error-`+n),ZC(),vd(` `,e.i18n.t(`documentLine.descriptionInvalid`),` `)}}function fe(c,o){if(c&1&&(Us(0,`span`,12),y_(1),fd()),c&2){let n=qS().$index,e=qS();Fy(`id`,`line-quantity-error-`+n),ZC(),vd(` `,e.i18n.t(`documentLine.quantityInvalid`),` `)}}function he(c,o){if(c&1&&(Us(0,`span`,12),y_(1),fd()),c&2){let n=qS().$index,e=qS();Fy(`id`,`line-price-error-`+n),ZC(),vd(` `,e.i18n.t(`documentLine.unitPriceInvalid`),` `)}}function Ee(c,o){if(c&1&&(Us(0,`span`,12),y_(1),fd()),c&2){let n=qS().$index,e=qS();Fy(`id`,`line-vat-error-`+n),ZC(),vd(` `,e.i18n.t(`documentLine.vatRateInvalid`),` `)}}function Ce(c,o){if(c&1&&y_(0),c&2)vd(` `,qS(2).money(o.totalCents),` `)}function De(c,o){if(c&1){let n=zS();Us(0,`tr`)(1,`td`,9)(2,`label`,10),y_(3),fd(),Us(4,`input`,11),Gy(`input`,function(t){let a=Ip(n).$index;return wp(qS().update(a,`description`,t))}),fd(),OS(5,be,2,2,`span`,12),fd(),Us(6,`td`,13)(7,`label`,10),y_(8),fd(),Us(9,`input`,14),Gy(`input`,function(t){let a=Ip(n).$index;return wp(qS().update(a,`quantity`,t))})(`keydown`,function(t){let a=Ip(n).$index;return wp(qS().step(a,`quantity`,t))}),fd(),OS(10,fe,2,2,`span`,12),fd(),Us(11,`td`,15)(12,`label`,10),y_(13),fd(),Us(14,`input`,14),Gy(`input`,function(t){let a=Ip(n).$index;return wp(qS().update(a,`unitPrice`,t))})(`keydown`,function(t){let a=Ip(n).$index;return wp(qS().step(a,`unitPrice`,t))}),fd(),OS(15,he,2,2,`span`,12),fd(),Us(16,`td`,16)(17,`label`,10),y_(18),fd(),Us(19,`input`,14),Gy(`input`,function(t){let a=Ip(n).$index;return wp(qS().update(a,`vatRate`,t))})(`keydown`,function(t){let a=Ip(n).$index;return wp(qS().step(a,`vatRate`,t))}),fd(),OS(20,Ee,2,2,`span`,12),fd(),Us(21,`td`,17),OS(22,Ce,1,1),fd(),Us(23,`td`)(24,`button`,18),Gy(`click`,function(){let t=Ip(n).$index;return wp(qS().remove(t))}),y_(25),fd()()()}if(c&2){let n,e=o.$implicit,t=o.$index,a=qS();ZC(2),Fy(`for`,`line-description-`+t),ZC(),vd(` `,a.i18n.tf(`documentLine.descriptionNumber`,k_(36,S,t+1)),` `),ZC(),Fy(`id`,`line-description-`+t)(`placeholder`,a.i18n.t(`documentLine.descriptionPlaceholder`))(`value`,e.description)(`disabled`,a.disabled()),ky(`aria-invalid`,a.showError(t,`description`,e.description))(`aria-describedby`,a.showError(t,`description`,e.description)?`line-description-error-`+t:null),ZC(),kS(a.showError(t,`description`,e.description)?5:-1),ZC(2),Fy(`for`,`line-quantity-`+t),ZC(),vd(` `,a.i18n.tf(`documentLine.quantityNumber`,k_(38,S,t+1)),` `),ZC(),Fy(`id`,`line-quantity-`+t)(`value`,e.quantity)(`disabled`,a.disabled()),ky(`aria-invalid`,a.showError(t,`quantity`,e.quantity))(`aria-describedby`,a.showError(t,`quantity`,e.quantity)?`line-quantity-error-`+t:null),ZC(),kS(a.showError(t,`quantity`,e.quantity)?10:-1),ZC(2),Fy(`for`,`line-price-`+t),ZC(),vd(` `,a.i18n.tf(`documentLine.unitPriceNumber`,k_(40,S,t+1)),` `),ZC(),Fy(`id`,`line-price-`+t)(`value`,e.unitPrice)(`disabled`,a.disabled()),ky(`aria-invalid`,a.showError(t,`unitPrice`,e.unitPrice))(`aria-describedby`,a.showError(t,`unitPrice`,e.unitPrice)?`line-price-error-`+t:null),ZC(),kS(a.showError(t,`unitPrice`,e.unitPrice)?15:-1),ZC(2),Fy(`for`,`line-vat-`+t),ZC(),vd(` `,a.i18n.tf(`documentLine.vatRateNumber`,k_(42,S,t+1)),` `),ZC(),Fy(`id`,`line-vat-`+t)(`value`,e.vatRate)(`disabled`,a.disabled()),ky(`aria-invalid`,a.showError(t,`vatRate`,e.vatRate))(`aria-describedby`,a.showError(t,`vatRate`,e.vatRate)?`line-vat-error-`+t:null),ZC(),kS(a.showError(t,`vatRate`,e.vatRate)?20:-1),ZC(2),kS((n=a.lineAmounts()[t])?22:-1,n),ZC(2),Fy(`disabled`,a.disabled()||a.lines().length===1),ZC(),vd(` `,a.i18n.t(`documentLine.remove`),` `)}}function Le(c,o){if(c&1&&(Us(0,`tr`)(1,`th`,19),y_(2),fd(),Us(3,`td`,17),y_(4),fd(),Py(5,`td`),fd(),Us(6,`tr`)(7,`th`,19),y_(8),fd(),Us(9,`td`,17),y_(10),fd(),Py(11,`td`),fd(),Us(12,`tr`,20)(13,`th`,19),y_(14),fd(),Us(15,`td`,17),y_(16),fd(),Py(17,`td`),fd()),c&2){let n=o,e=qS();ZC(2),nv(e.i18n.t(`documentLine.subtotal`)),ZC(2),nv(e.money(n.netTotalCents)),ZC(4),nv(e.i18n.t(`documentLine.vatTotal`)),ZC(2),nv(e.money(n.vatTotalCents)),ZC(4),nv(e.i18n.t(`documentLine.totalWithTax`)),ZC(2),nv(e.money(n.totalCents))}}function Se(c,o){if(c&1&&(Us(0,`p`,17),y_(1),fd()),c&2){let n=qS(2);ZC(),nv(n.money(o.totalCents))}}function we(c,o){if(c&1){let n=zS();Us(0,`li`,6)(1,`div`)(2,`strong`),y_(3),fd(),Us(4,`p`),y_(5),fd(),OS(6,Se,2,1,`p`,17),fd(),Us(7,`div`,21)(8,`button`,4),Gy(`click`,function(){let t=Ip(n).$index;return wp(qS().edit(t))}),y_(9),fd(),Us(10,`button`,18),Gy(`click`,function(){let t=Ip(n).$index;return wp(qS().remove(t))}),y_(11),fd()()()}if(c&2){let n,e=o.$implicit,t=o.$index,a=qS();ZC(3),nv(e.description||a.i18n.tf(`documentLine.number`,k_(9,S,t+1))),ZC(2),ov(``,e.quantity,` × `,e.unitPrice,` · `,e.vatRate,` %`),ZC(),kS((n=a.lineAmounts()[t])?6:-1,n),ZC(2),Fy(`disabled`,a.disabled()),ZC(),vd(` `,a.i18n.t(`documentLine.edit`),` `),ZC(),Fy(`disabled`,a.disabled()||a.lines().length===1),ZC(),vd(` `,a.i18n.t(`documentLine.remove`),` `)}}function Pe(c,o){if(c&1&&(Us(0,`dl`,8)(1,`div`)(2,`dt`),y_(3),fd(),Us(4,`dd`),y_(5),fd()(),Us(6,`div`)(7,`dt`),y_(8),fd(),Us(9,`dd`),y_(10),fd()(),Us(11,`div`,20)(12,`dt`),y_(13),fd(),Us(14,`dd`),y_(15),fd()()()),c&2){let n=o,e=qS();ZC(3),nv(e.i18n.t(`documentLine.subtotal`)),ZC(2),nv(e.money(n.netTotalCents)),ZC(3),nv(e.i18n.t(`documentLine.vatTotal`)),ZC(2),nv(e.money(n.vatTotalCents)),ZC(3),nv(e.i18n.t(`documentLine.totalWithTax`)),ZC(2),nv(e.money(n.totalCents))}}var Me=()=>({description:``,quantity:`1`,unitPrice:`0.00`,vatRate:`20.00`});var H=class c{i18n=g(Ie);data=g(pi);dialog=g(te);value=Ke(this.data.line);lineForm=nr(this.value,o=>{gn(o.description),cn(o.description,160),mn(o.description,/\S/),P(o.quantity,({value:n})=>{let e=u(n(),3);return e===void 0||e===0?{kind:`quantity`}:void 0}),P(o.unitPrice,({value:n})=>u(n(),2)===void 0?{kind:`unitPrice`}:void 0),P(o.vatRate,({value:n})=>{let e=u(n(),2);return e===void 0||e>1e4?{kind:`vatRate`}:void 0})});save(o){o.preventDefault(),or(this.lineForm,async()=>this.dialog.close(this.value()))}static ɵfac=function(n){return new(n||c)};static ɵcmp=Fb({type:c,selectors:[[`app-document-line-dialog`]],decls:21,vars:15,consts:[[3,`submit`],[`id`,`document-line-dialog-title`],[1,`field`],[1,`input`,3,`placeholder`,`formField`],[`inputmode`,`decimal`,1,`input`,3,`formField`],[`role`,`alert`,1,`field-error`],[1,`dialog-actions`],[`appButton`,``,`type`,`button`,3,`click`],[`appButton`,``,`variant`,`primary`,`type`,`submit`]],template:function(n,e){n&1&&(Us(0,`form`,0),Gy(`submit`,function(a){return e.save(a)}),Us(1,`h2`,1),y_(2),fd(),Us(3,`label`,2),y_(4),Py(5,`input`,3),qT(),fd(),Us(6,`label`,2),y_(7),Py(8,`input`,4),qT(),fd(),Us(9,`label`,2),y_(10),Py(11,`input`,4),qT(),fd(),Us(12,`label`,2),y_(13),Py(14,`input`,4),qT(),fd(),OS(15,ge,2,1,`p`,5),Us(16,`div`,6)(17,`button`,7),Gy(`click`,function(){return e.dialog.close()}),y_(18),fd(),Us(19,`button`,8),y_(20),fd()()()),n&2&&(ZC(2),vd(` `,e.i18n.tf(`documentLine.editNumber`,k_(13,S,e.data.number)),` `),ZC(2),vd(` `,e.i18n.t(`documentLine.description`),` `),ZC(),Fy(`placeholder`,e.i18n.t(`documentLine.descriptionPlaceholder`))(`formField`,e.lineForm.description),ZT(),ZC(2),vd(` `,e.i18n.t(`documentLine.quantity`),` `),ZC(),Fy(`formField`,e.lineForm.quantity),ZT(),ZC(2),vd(` `,e.i18n.t(`documentLine.unitPrice`),` `),ZC(),Fy(`formField`,e.lineForm.unitPrice),ZT(),ZC(2),vd(` `,e.i18n.t(`documentLine.vatRate`),` `),ZC(),Fy(`formField`,e.lineForm.vatRate),ZT(),ZC(),kS(e.lineForm().invalid()&&e.lineForm().touched()?15:-1),ZC(3),vd(` `,e.i18n.t(`documentLine.cancel`),` `),ZC(2),nv(e.i18n.t(`documentLine.save`)))},dependencies:[N,yn],styles:[`[_nghost-%COMP%]{display:block;max-block-size:calc(100dvh - 2rem);overflow:auto;overscroll-behavior:contain;padding:var(--%NS%space-5);border-radius:var(--%NS%radius-md);background:var(--%NS%color-surface);color:var(--%NS%color-ink);box-shadow:var(--%NS%shadow-page)}form[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4)}h2[_ngcontent-%COMP%]{margin:0}.dialog-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:var(--%NS%space-3);justify-content:flex-end}`]})};var me=class c{i18n=g(Ie);element=g(Hn);dialogs=g(is);destroyRef=g(pe);lines=NH.required();currency=NH.required();disabled=NH(!1);maximumLines=NH(20);linesChange=MH();activeDialog;touched=Ke(new Set);addDisabled=Ft(()=>this.disabled()||this.lines().length>=this.maximumLines());lineAmounts=Ft(()=>this.lines().map(o=>f(o.quantity,o.unitPrice,o.vatRate)));summary=Ft(()=>b(this.lines()));constructor(){this.destroyRef.onDestroy(()=>this.activeDialog?.close())}add(){this.addDisabled()||this.linesChange.emit([...this.lines(),Me()])}remove(o){this.disabled()||this.lines().length===1||(this.touched.set(new Set),this.linesChange.emit(this.lines().filter((n,e)=>e!==o)))}update(o,n,e){let t=e.target;if(this.disabled()||!(t instanceof HTMLInputElement))return;this.touched.update(s=>new Set([...s,`${o}:${n}`]));let a=this.lines().map((s,f)=>f===o?m(l({},s),{[n]:t.value}):s);this.linesChange.emit(a)}step(o,n,e){if(this.disabled()||e.key!==`ArrowUp`&&e.key!==`ArrowDown`)return;let t=this.lines()[o];if(t===void 0)return;let a=n===`quantity`?3:2,s=u(t[n],a);if(s===void 0)return;let f=10**a,D=n===`quantity`?1:0,pe=n===`vatRate`?1e4:Number.MAX_SAFE_INTEGER,ye=e.key===`ArrowUp`?f:-f,G=Math.min(pe,Math.max(D,s+ye));if(G===s)return;e.preventDefault();let U=t[n].includes(`,`)?`,`:`.`,_e=t[n].split(/[.,]/)[1]?.length??0,O=m$1(G,a,U).replace(new RegExp(`0{0,${a-_e}}$`),``),ve=O.endsWith(U)?O.slice(0,-1):O;this.touched.update(F=>new Set([...F,`${o}:${n}`])),this.linesChange.emit(this.lines().map((F,xe)=>xe===o?m(l({},F),{[n]:ve}):F))}invalid(o,n){if(o===`description`)return n.trim().length===0||n.length>160;let t=u(n,o===`quantity`?3:2);return t===void 0?!0:o===`quantity`?t===0:o===`vatRate`&&t>1e4}showError(o,n,e){return this.touched().has(`${o}:${n}`)&&this.invalid(n,e)}focusFirstInvalid(o=this.lines()){let n=[`description`,`quantity`,`unitPrice`,`vatRate`],e=o.flatMap((s,f)=>n.filter(D=>this.invalid(D,s[D])).map(D=>({field:D,index:f})));if(e.length===0)return!1;this.touched.set(new Set(e.map(({field:s,index:f})=>`${f}:${s}`)));let t=e[0],a=t.field===`unitPrice`?`line-price-${t.index}`:t.field===`vatRate`?`line-vat-${t.index}`:`line-${t.field}-${t.index}`;return this.element.nativeElement.querySelector(`#${a}`)?.focus(),!0}money(o){return Ne(o,this.i18n.language(),this.currency())}async edit(o){if(this.disabled()||this.activeDialog!==void 0)return;let n=this.lines()[o];if(n===void 0)return;let e=this.dialogs.open(H,{data:{line:n,number:o+1},role:`dialog`,ariaModal:!0,ariaLabelledBy:`document-line-dialog-title`,autoFocus:`input`,restoreFocus:!0,hasBackdrop:!0,disableClose:!1,disableAnimations:!0,width:`32rem`,maxWidth:`calc(100vw - 2rem)`});this.activeDialog=e;try{let t=await JD(e.closed,{defaultValue:void 0});t!==void 0&&!this.destroyRef.destroyed&&this.linesChange.emit(this.lines().map((a,s)=>s===o?t:a))}finally{this.activeDialog=void 0}}static ɵfac=function(n){return new(n||c)};static ɵcmp=Fb({type:c,selectors:[[`app-document-line-editor`]],inputs:{lines:[1,`lines`],currency:[1,`currency`],disabled:[1,`disabled`],maximumLines:[1,`maximumLines`]},outputs:{linesChange:`linesChange`},decls:31,vars:12,consts:[[1,`desktop-lines`],[`scope`,`col`],[1,`add-line-row`],[`colspan`,`6`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`],[1,`mobile-lines`],[1,`ds-panel`],[`appButton`,``,`type`,`button`,1,`mobile-add`,3,`click`,`disabled`],[1,`mobile-summary`,`ds-panel`],[1,`description-cell`],[1,`visually-hidden`,3,`for`],[1,`input`,3,`input`,`id`,`placeholder`,`value`,`disabled`],[1,`field-error`,3,`id`],[1,`quantity-cell`],[`inputmode`,`decimal`,1,`input`,3,`input`,`keydown`,`id`,`value`,`disabled`],[1,`unit-price-cell`],[1,`vat-cell`],[1,`amount`],[`appButton`,``,`variant`,`danger`,`type`,`button`,3,`click`,`disabled`],[`colspan`,`4`,`scope`,`row`],[1,`grand-total`],[1,`line-actions`,`spacer-x-2`]],template:function(n,e){if(n&1&&(Us(0,`div`,0)(1,`table`)(2,`thead`)(3,`tr`)(4,`th`,1),y_(5),fd(),Us(6,`th`,1),y_(7),fd(),Us(8,`th`,1),y_(9),fd(),Us(10,`th`,1),y_(11),fd(),Us(12,`th`,1),y_(13),fd(),Us(14,`th`,1),y_(15),fd()()(),Us(16,`tbody`),LS(17,De,26,44,`tr`,null,FS),fd(),Us(19,`tfoot`)(20,`tr`,2)(21,`td`,3)(22,`button`,4),Gy(`click`,function(){return e.add()}),y_(23),fd()()(),OS(24,Le,18,6),fd()()(),Us(25,`ol`,5),LS(26,we,12,11,`li`,6,FS),fd(),Us(28,`button`,7),Gy(`click`,function(){return e.add()}),y_(29),fd(),OS(30,Pe,16,6,`dl`,8)),n&2){let t,a;ZC(5),nv(e.i18n.t(`documentLine.description`)),ZC(2),nv(e.i18n.t(`documentLine.quantity`)),ZC(2),nv(e.i18n.t(`documentLine.unitPrice`)),ZC(2),nv(e.i18n.t(`documentLine.vatRate`)),ZC(2),nv(e.i18n.t(`documentLine.total`)),ZC(2),nv(e.i18n.t(`documentLine.actions`)),ZC(2),jS(e.lines()),ZC(5),Fy(`disabled`,e.addDisabled()),ZC(),vd(` `,e.i18n.t(`documentLine.add`),` `),ZC(),kS((t=e.summary())?24:-1,t),ZC(2),jS(e.lines()),ZC(2),Fy(`disabled`,e.addDisabled()),ZC(),vd(` `,e.i18n.t(`documentLine.add`),`
2
2
  `),ZC(),kS((a=e.summary())?30:-1,a)}},dependencies:[N],styles:[`[_nghost-%COMP%]{display:grid;container-type:inline-size;gap:var(--%NS%space-3)}.desktop-lines[_ngcontent-%COMP%]{overflow-x:auto}table[_ngcontent-%COMP%]{width:100%;border-collapse:separate;border-spacing:var(--%NS%space-2)}th[_ngcontent-%COMP%]{text-align:start}.description-cell[_ngcontent-%COMP%]{width:100%}.description-cell[_ngcontent-%COMP%] .input[_ngcontent-%COMP%]{inline-size:100%;min-inline-size:16rem}.quantity-cell[_ngcontent-%COMP%] .input[_ngcontent-%COMP%], .vat-cell[_ngcontent-%COMP%] .input[_ngcontent-%COMP%]{inline-size:5rem}.unit-price-cell[_ngcontent-%COMP%] .input[_ngcontent-%COMP%]{inline-size:7rem}td[_ngcontent-%COMP%] .field-error[_ngcontent-%COMP%]{display:block;margin-block-start:var(--%NS%space-1);max-inline-size:12rem}tfoot[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{text-align:end;font-weight:500}.add-line-row[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding-block:var(--%NS%space-1) var(--%NS%space-3)}.add-line-row[_ngcontent-%COMP%] + tr[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{border-block-start:1px solid var(--%NS%color-line);padding-block-start:var(--%NS%space-3)}.grand-total[_ngcontent-%COMP%]{font-weight:700}.mobile-lines[_ngcontent-%COMP%]{display:none;margin:0;padding:0;list-style:none}.mobile-summary[_ngcontent-%COMP%]{display:none;gap:var(--%NS%space-2);margin:0;padding:var(--%NS%space-3)}.mobile-add[_ngcontent-%COMP%]{display:none;justify-self:start}.mobile-summary[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:var(--%NS%space-3)}.mobile-summary[_ngcontent-%COMP%] dd[_ngcontent-%COMP%]{margin:0;font-variant-numeric:tabular-nums}.mobile-lines[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-3);padding:var(--%NS%space-3)}.mobile-lines[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:var(--%NS%space-1) 0 0}.line-actions[_ngcontent-%COMP%]{flex-wrap:wrap}@container (max-width: 38rem){.desktop-lines[_ngcontent-%COMP%]{display:none}.mobile-lines[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-3)}.mobile-summary[_ngcontent-%COMP%]{display:grid}.mobile-add[_ngcontent-%COMP%]{display:inline-flex}}`]})};export{me as t};
@@ -0,0 +1 @@
1
+ import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,It as Us,Nr as vd,Tn as fd,Wn as kS,Wr as y_,lt as OS,mr as qT,pr as qS,rn as Zw,rr as nv,tn as ZT,w as Fb,wn as fa}from"./chunk-BAHiFuUo.js";import{m as Ie,r as N}from"./main-LXYWXFW4.js";import"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import"./chunk-D8Ui_APT.js";import{t as g$1}from"./chunk-B56nz2lI.js";import{t as k}from"./chunk-IrDYxRzS.js";import"./chunk-BzUDWIzm.js";import{t as P}from"./chunk-CkRw7h0_.js";import{n as l,t as E}from"./chunk-DhpMFMQw.js";import"./chunk-CReShp-B.js";import{d as nr,f as or,h as yn,n as an,o as gn,u as mn}from"./chunk-CSkyOfSg.js";import"./chunk-CczD0yXn2.js";import{t as m}from"./chunk-mqeSFXPY2.js";import{t as Ae}from"./chunk-C_4qOSvi2.js";function $(d,n){if(d&1&&(Us(0,`p`,9),y_(1),fd()),d&2){let s=qS();ZC(),nv(s.i18n.t(`adminPages.preferencesInvalid`))}}var O=class d{i18n=g(Ie);theme=g(l);authentication=g(E);confirmation=g(P);flash=g(m);model=fa(()=>({theme:this.authentication.account()?.preferences.theme??this.theme.current(),language:this.authentication.account()?.preferences.language??this.i18n.language(),flashMode:this.authentication.account()?.preferences.flashMode??`inline`}));preferencesForm=nr(this.model,n=>{an(n,({state:s})=>s.submitting()),gn(n.theme),mn(n.theme,/^(light|dark)$/),gn(n.language),mn(n.language,/^(fr|en)$/),gn(n.flashMode),mn(n.flashMode,/^(inline|toast|snack)$/)});hasChanges=Ft(()=>{let n=this.authentication.account()?.preferences;return n!==void 0&&(this.model().theme!==n.theme||this.model().language!==n.language||this.model().flashMode!==n.flashMode)});apply(n){if(n.preventDefault(),!this.preferencesForm().submitting()){if(this.preferencesForm().invalid()){this.preferencesForm().markAsTouched(),this.preferencesForm().errorSummary()[0]?.fieldTree().focusBoundControl();return}or(this.preferencesForm,async()=>{if(!await this.authentication.updatePreferences(this.model())){this.flash.show(this.i18n.t(`adminPages.preferencesError`),`danger`);return}this.preferencesForm().reset(),this.flash.show(this.i18n.t(`adminPages.preferencesApplied`),`success`)})}}async canDeactivate(){return this.preferencesForm().submitting()?!1:!this.hasChanges()||await this.confirmation.request(this.i18n.t(`configurationWorkspace.unsaved`))}beforeUnload(n){(this.preferencesForm().submitting()||this.hasChanges())&&n.preventDefault()}static ɵfac=function(s){return new(s||d)};static ɵcmp=Fb({type:d,selectors:[[`app-account-preferences`]],hostBindings:function(s,t){s&1&&Gy(`beforeunload`,function(g){return t.beforeUnload(g)},Zw)},decls:34,vars:25,consts:[[`aria-labelledby`,`account-preferences-title`],[`id`,`account-preferences-title`],[1,`muted`],[`novalidate`,``,3,`submit`],[1,`field`],[`appFilterSelect`,``,1,`select`,3,`formField`],[3,`value`],[`lang`,`fr`,3,`value`],[`lang`,`en`,3,`value`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[1,`spacer-x-3`],[`appButton`,``,`variant`,`primary`,`type`,`submit`,3,`disabled`]],template:function(s,t){s&1&&(Us(0,`section`,0)(1,`app-page-header`)(2,`h2`,1),y_(3),fd(),Us(4,`p`,2),y_(5),fd()(),Us(6,`form`,3),Gy(`submit`,function(g){return t.apply(g)}),Us(7,`label`,4),y_(8),Us(9,`select`,5)(10,`option`,6),y_(11),fd(),Us(12,`option`,6),y_(13),fd()(),qT(),fd(),Us(14,`label`,4),y_(15),Us(16,`select`,5)(17,`option`,6),y_(18),fd(),Us(19,`option`,6),y_(20),fd(),Us(21,`option`,6),y_(22),fd()(),qT(),fd(),Us(23,`label`,4),y_(24),Us(25,`select`,5)(26,`option`,7),y_(27),fd(),Us(28,`option`,8),y_(29),fd()(),qT(),fd(),OS(30,$,2,1,`p`,9),Us(31,`div`,10)(32,`button`,11),y_(33),fd()()()()),s&2&&(ZC(3),nv(t.i18n.t(`configurationWorkspace.preferences`)),ZC(2),nv(t.i18n.t(`adminPages.preferencesHint`)),ZC(3),vd(` `,t.i18n.t(`adminPages.theme`),` `),ZC(),Fy(`formField`,t.preferencesForm.theme),ZT(),ZC(),Fy(`value`,`light`),ZC(),nv(t.i18n.t(`adminPages.lightTheme`)),ZC(),Fy(`value`,`dark`),ZC(),nv(t.i18n.t(`adminPages.darkTheme`)),ZC(2),vd(` `,t.i18n.t(`adminPages.flashMode`),` `),ZC(),Fy(`formField`,t.preferencesForm.flashMode),ZT(),ZC(),Fy(`value`,`inline`),ZC(),nv(t.i18n.t(`adminPages.flashInline`)),ZC(),Fy(`value`,`toast`),ZC(),nv(t.i18n.t(`adminPages.flashToast`)),ZC(),Fy(`value`,`snack`),ZC(),nv(t.i18n.t(`adminPages.flashSnack`)),ZC(2),vd(` `,t.i18n.t(`configurationWorkspace.language`),` `),ZC(),Fy(`formField`,t.preferencesForm.language),ZT(),ZC(),Fy(`value`,`fr`),ZC(),nv(t.i18n.t(`lang.fr`)),ZC(),Fy(`value`,`en`),ZC(),nv(t.i18n.t(`lang.en`)),ZC(),kS(t.preferencesForm().touched()&&t.preferencesForm().invalid()?30:-1),ZC(2),Fy(`disabled`,t.preferencesForm().submitting()),ZC(),vd(` `,t.i18n.t(`adminPages.applyPreferences`),` `))},dependencies:[Ae,N,yn,k,g$1],styles:[`[_nghost-%COMP%]{display:block;padding:var(--%NS%space-6) var(--%NS%page-x)}section[_ngcontent-%COMP%], form[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-5)}`]})};export{O as AccountPreferences};
@@ -1 +1 @@
1
- import{$t as ZC,Dn as g,It as Us,Tn as fd,Wr as y_,qn as ky,rr as nv,w as Fb}from"./chunk-BAHiFuUo.js";import{m as Ie,r as N,v as Dt}from"./main-F7D3L737.js";var u=class l{i18n=g(Ie);static ɵfac=function(r){return new(r||l)};static ɵcmp=Fb({type:l,selectors:[[`app-not-found`]],hostAttrs:[1,`page-container`],decls:16,vars:5,consts:[[`aria-labelledby`,`not-found-title`,1,`not-found`],[1,`not-found-content`],[`aria-hidden`,`true`,1,`error-code`],[`id`,`not-found-title`],[1,`not-found-lead`],[`appLinkButton`,``,`variant`,`primary`,`routerLink`,`/login`],[`href`,`mailto:contact@froment.software`]],template:function(r,a){r&1&&(Us(0,`section`,0)(1,`div`,1)(2,`p`,2),y_(3,`404`),fd(),Us(4,`h1`,3),y_(5),fd(),Us(6,`p`,4),y_(7),fd(),Us(8,`nav`)(9,`ul`)(10,`li`)(11,`a`,5),y_(12),fd()(),Us(13,`li`)(14,`a`,6),y_(15),fd()()()()()()),r&2&&(ZC(5),nv(a.i18n.t(`not_found.title`)),ZC(2),nv(a.i18n.t(`not_found.lead`)),ZC(),ky(`aria-label`,a.i18n.t(`not_found.links_label`)),ZC(4),nv(a.i18n.t(`backOffice.title`)),ZC(3),nv(a.i18n.t(`not_found.contact`)))},dependencies:[N,Dt],styles:[`[_nghost-%COMP%]{display:block}.not-found[_ngcontent-%COMP%]{padding:var(--%NS%page-header-y) var(--%NS%page-x)}.error-code[_ngcontent-%COMP%]{color:var(--%NS%color-muted);font-family:var(--%NS%font-mono)}h1[_ngcontent-%COMP%]{margin-top:var(--%NS%space-2)}.not-found-lead[_ngcontent-%COMP%]{margin-top:var(--%NS%space-4);color:var(--%NS%color-ink-soft);font-size:var(--%NS%text-lg)}nav[_ngcontent-%COMP%]{margin-top:var(--%NS%space-6)}ul[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--%NS%space-3);margin:0;padding:0;list-style:none}@media(max-width:34rem){ul[_ngcontent-%COMP%], li[_ngcontent-%COMP%]:not(:last-child), [appLinkButton][_ngcontent-%COMP%]{width:100%}}`],changeDetection:1})};export{u as NotFoundComponent};
1
+ import{$t as ZC,Dn as g,It as Us,Tn as fd,Wr as y_,qn as ky,rr as nv,w as Fb}from"./chunk-BAHiFuUo.js";import{m as Ie,r as N,v as Dt}from"./main-LXYWXFW4.js";var u=class l{i18n=g(Ie);static ɵfac=function(r){return new(r||l)};static ɵcmp=Fb({type:l,selectors:[[`app-not-found`]],hostAttrs:[1,`page-container`],decls:16,vars:5,consts:[[`aria-labelledby`,`not-found-title`,1,`not-found`],[1,`not-found-content`],[`aria-hidden`,`true`,1,`error-code`],[`id`,`not-found-title`],[1,`not-found-lead`],[`appLinkButton`,``,`variant`,`primary`,`routerLink`,`/login`],[`href`,`mailto:contact@froment.software`]],template:function(r,a){r&1&&(Us(0,`section`,0)(1,`div`,1)(2,`p`,2),y_(3,`404`),fd(),Us(4,`h1`,3),y_(5),fd(),Us(6,`p`,4),y_(7),fd(),Us(8,`nav`)(9,`ul`)(10,`li`)(11,`a`,5),y_(12),fd()(),Us(13,`li`)(14,`a`,6),y_(15),fd()()()()()()),r&2&&(ZC(5),nv(a.i18n.t(`not_found.title`)),ZC(2),nv(a.i18n.t(`not_found.lead`)),ZC(),ky(`aria-label`,a.i18n.t(`not_found.links_label`)),ZC(4),nv(a.i18n.t(`backOffice.title`)),ZC(3),nv(a.i18n.t(`not_found.contact`)))},dependencies:[N,Dt],styles:[`[_nghost-%COMP%]{display:block}.not-found[_ngcontent-%COMP%]{padding:var(--%NS%page-header-y) var(--%NS%page-x)}.error-code[_ngcontent-%COMP%]{color:var(--%NS%color-muted);font-family:var(--%NS%font-mono)}h1[_ngcontent-%COMP%]{margin-top:var(--%NS%space-2)}.not-found-lead[_ngcontent-%COMP%]{margin-top:var(--%NS%space-4);color:var(--%NS%color-ink-soft);font-size:var(--%NS%text-lg)}nav[_ngcontent-%COMP%]{margin-top:var(--%NS%space-6)}ul[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--%NS%space-3);margin:0;padding:0;list-style:none}@media(max-width:34rem){ul[_ngcontent-%COMP%], li[_ngcontent-%COMP%]:not(:last-child), [appLinkButton][_ngcontent-%COMP%]{width:100%}}`],changeDetection:1})};export{u as NotFoundComponent};
@@ -0,0 +1 @@
1
+ import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,Ir as wp,It as Us,Jr as zS,K as Ke,Nr as vd,Sr as rv,Tn as fd,V as Iy,Wn as kS,Wr as y_,hr as q_,l as A_,lt as OS,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}from"./chunk-BAHiFuUo.js";import{r as N}from"./main-LXYWXFW4.js";import"./chunk-BAe_07VM.js";import"./chunk-Dv9sNWWK.js";import"./chunk-D8Ui_APT.js";import"./chunk-BMiFx1ci.js";import"./chunk-B56nz2lI.js";import{t as k}from"./chunk-IrDYxRzS.js";import"./chunk-CfwFJLFh.js";import"./chunk-BzUDWIzm.js";import"./chunk-CkRw7h0_.js";import"./chunk-DhpMFMQw.js";import{t as l}from"./chunk-Cm2UNqwE.js";import"./chunk-CReShp-B.js";import{d as nr,f as or,h as yn,n as an,o as gn,r as cn,u as mn}from"./chunk-CSkyOfSg.js";import"./chunk-BAYVC6mO2.js";import"./chunk-xIoy5TmG2.js";import"./chunk-DvAE1Kdh2.js";import"./chunk-BL3upDtA.js";import{t as w}from"./chunk-DbcNGxba.js";import{t as v}from"./chunk-CpB8RIpf.js";import{t as S}from"./chunk-CJE3VBx5.js";import{t as u}from"./chunk-BCN3uL5S.js";var Q=()=>({count:500});function X(n,t){if(n&1&&(Us(0,`p`)(1,`strong`),y_(2),fd(),y_(3),fd()),n&2){let e=t,i=qS();ZC(2),nv(e.reference),ZC(),rv(` · `,i.task.money(e.amountCents),` · `,i.entryDate(),` `)}}function Y(n,t){if(n&1&&(Us(0,`p`,4),y_(1),fd()),n&2){let e=qS(2);ZC(),nv(e.i18n.t(`credit.loadError`))}}function Z(n,t){if(n&1&&(Us(0,`p`,2),y_(1),fd()),n&2){let e=qS(2);ZC(),nv(e.i18n.t(`billingWorkspace.unavailable`))}}function $(n,t){if(n&1&&y_(0),n&2)vd(` `,qS(4).i18n.t(`billingWorkspace.reasonInvalid`),` `)}function ee(n,t){if(n&1){let e=zS();Us(0,`button`,15),Gy(`click`,function(){Ip(e);return wp(qS(4).retry())}),y_(1),fd()}if(n&2){let e=qS(4);Fy(`disabled`,e.task.busy()),ZC(),vd(` `,e.i18n.t(`billingWorkspace.retrySame`),` `)}}function te(n,t){if(n&1){let e=zS();Us(0,`form`,7),Gy(`submit`,function(d){Ip(e);return wp(qS(3).save(d))}),Us(1,`label`,8),y_(2),Py(3,`textarea`,9),qT(),Us(4,`small`,10),y_(5),fd(),Us(6,`span`,11),OS(7,$,1,1),fd()(),Us(8,`div`,12)(9,`button`,13),y_(10),fd(),OS(11,ee,2,2,`button`,14),fd()()}if(n&2){let e=qS(3);ZC(2),nv(e.i18n.t(`credit.cancelReason`)),ZC(),Fy(`formField`,e.cancelForm.reason),ky(`aria-invalid`,e.cancelForm.reason().invalid()&&e.cancelForm.reason().touched()),ZT(),ZC(2),nv(e.i18n.tf(`billingWorkspace.limit`,O_(8,Q))),ZC(2),kS(e.cancelForm.reason().invalid()&&e.cancelForm.reason().touched()?7:-1),ZC(2),Fy(`disabled`,e.task.locked()),ZC(),vd(` `,e.heading(),` `),ZC(),kS(e.task.uncertain()?11:-1)}}function ne(n,t){n&1&&Iy(0,te,12,9,`form`,6),n&2&&Fy(`appCan`,`invoice.refund`)}function ie(n,t){if(n&1&&OS(0,Y,2,1,`p`,4)(1,Z,2,1,`p`,2)(2,ne,1,1,`form`,5),n&2){let e=qS();kS(e.creditState()?e.eligible()?2:1:0)}}function ae(n,t){if(n&1){let e=zS();Us(0,`button`,16),Gy(`click`,function(){Ip(e);return wp(qS().reload())}),y_(1),fd()}if(n&2){let e=qS();Fy(`disabled`,e.task.busy()||e.task.loading()),ZC(),vd(` `,e.i18n.t(`listControls.reload`),` `)}}var K=class n{task=g(w);i18n=this.task.i18n;api=g(u);credits=q_({params:()=>this.task.invoice()?.id,loader:({params:t})=>this.api.get(t)});creditState=Ft(()=>{let t=this.credits.hasValue()?this.credits.value():void 0;return t?.success?t.result:void 0});refund=Ft(()=>this.creditState()?.refunds.find(t=>t.id===this.task.route.snapshot.paramMap.get(`refundId`)));allocation=Ft(()=>this.creditState()?.allocations.find(t=>t.id===this.task.route.snapshot.paramMap.get(`allocationId`)));isAllocation=this.task.route.snapshot.paramMap.has(`allocationId`);entry=Ft(()=>this.allocation()??this.refund());eligible=Ft(()=>this.entry()?.cancelledAt===null);heading=Ft(()=>this.i18n.t(this.isAllocation?`credit.cancelAllocation`:`credit.cancelRefund`));hint=Ft(()=>this.i18n.t(this.isAllocation?`credit.cancelAllocationHint`:`billingWorkspace.cancelRefundHint`));entryDate=Ft(()=>{let t=this.entry();return t===void 0?``:`allocatedOn`in t?t.allocatedOn:t.refundedOn});cancelForm=nr(Ke({reason:``}),t=>{gn(t.reason),mn(t.reason,/\S/),cn(t.reason,500),an(t,()=>this.task.locked()||!this.eligible())});attempt;save(t){t.preventDefault(),!(this.task.locked()||!this.eligible())&&or(this.cancelForm,{action:async()=>{this.attempt=this.cancelForm().value().reason.trim(),await this.retry()},onInvalid:()=>this.task.focusInvalid()})}async retry(){let t=this.task.invoice(),e=this.entry(),i=this.attempt;if(!t||!e||i===void 0)return;await this.task.run(()=>this.isAllocation?this.api.cancelAllocation(t.id,e.id,i):this.api.cancel(t.id,e.id,i),`credit.confirmCancel`,this.isAllocation?`cancel-allocation`:`cancel-refund`)===`resolved`&&(this.attempt=void 0)}async reload(){this.task.uncertain()||this.task.busy()||await this.task.confirmation.request(this.i18n.t(`billingWorkspace.reloadConfirm`))&&(this.attempt=void 0,this.cancelForm().reset({reason:``}),await this.task.load(),this.credits.reload())}canDeactivate(){return this.task.canDeactivate(this.cancelForm().dirty())}static ɵfac=function(e){return new(e||n)};static ɵcmp=Fb({type:n,selectors:[[`app-refund-cancel`]],hostAttrs:[1,`page-container`],hostBindings:function(e,i){e&1&&Gy(`beforeunload`,function(b){return i.task.beforeUnload(b,i.cancelForm().dirty())},Zw)},features:[A_([w])],decls:8,vars:5,consts:[[`aria-labelledby`,`cancel-title`,1,`detail-page`,`form-page`],[`headingId`,`cancel-title`,3,`heading`],[`appNotice`,``],[`appButton`,``,3,`disabled`],[`appNotice`,``,`variant`,`danger`,`role`,`alert`],[1,`task-form`,`ds-panel`,`form-panel`],[`class`,`task-form ds-panel form-panel`,3,`submit`,4,`appCan`],[1,`task-form`,`ds-panel`,`form-panel`,3,`submit`],[1,`field`],[`rows`,`4`,`aria-describedby`,`cancel-reason-hint cancel-reason-error`,1,`input`,3,`formField`],[`id`,`cancel-reason-hint`],[`id`,`cancel-reason-error`,1,`field-error`],[1,`actions`],[`appButton`,``,`variant`,`danger`,`type`,`submit`,3,`disabled`],[`appButton`,``,`type`,`button`,3,`disabled`],[`appButton`,``,`type`,`button`,3,`click`,`disabled`],[`appButton`,``,3,`click`,`disabled`]],template:function(e,i){if(e&1&&(Us(0,`section`,0),Py(1,`app-invoice-task-header`,1),Us(2,`p`,2),y_(3),fd(),Py(4,`app-invoice-task-feedback`),OS(5,X,4,3,`p`),OS(6,ie,3,1),OS(7,ae,2,2,`button`,3),fd()),e&2){let d;ZC(),Fy(`heading`,i.heading()),ZC(2),nv(i.hint()),ZC(2),kS((d=i.entry())?5:-1,d),ZC(),kS(i.task.invoice()&&!i.task.completed()&&!i.credits.isLoading()?6:-1),ZC(),kS(i.task.error()&&!i.task.completed()&&!i.task.uncertain()?7:-1)}},dependencies:[l,N,k,yn,v,S],styles:[`[appListWorkspace][_ngcontent-%COMP%] > p[_ngcontent-%COMP%]{margin-block:0}header[_ngcontent-%COMP%], .actions[_ngcontent-%COMP%], .filters[_ngcontent-%COMP%], .chips[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--%NS%space-3)}header[_ngcontent-%COMP%]{justify-content:space-between;align-items:start}.billing-page[_ngcontent-%COMP%] > h1[_ngcontent-%COMP%]{font-size:var(--%NS%text-2xl);margin-block:var(--%NS%space-2)}h2[_ngcontent-%COMP%]{font-size:var(--%NS%text-xl)}.field[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-2);min-inline-size:0}.filters[_ngcontent-%COMP%]{align-items:end}.filters[_ngcontent-%COMP%] .search[_ngcontent-%COMP%]{flex:1 1 22rem}.filters[_ngcontent-%COMP%] .field[_ngcontent-%COMP%]:not(.search){flex:1 1 10rem}.amount[_ngcontent-%COMP%]{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}td[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{display:block;color:var(--%NS%color-muted)}.muted[_ngcontent-%COMP%]{color:var(--%NS%color-muted)}.empty[_ngcontent-%COMP%], .bulk-actions[_ngcontent-%COMP%], .summary[_ngcontent-%COMP%]{padding:var(--%NS%space-4)}.task-form[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-5);inline-size:100%}.fields[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--%NS%space-4)}.field-error[_ngcontent-%COMP%]{color:var(--%NS%color-danger);font-size:var(--%NS%text-sm)}.field-error[_ngcontent-%COMP%]:empty{display:none}dl[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-3)}dl[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--%NS%space-2) var(--%NS%space-4)}dt[_ngcontent-%COMP%]{color:var(--%NS%color-muted)}dd[_ngcontent-%COMP%]{margin:0;overflow-wrap:anywhere}ol[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4)}.history-entry[_ngcontent-%COMP%]{padding:var(--%NS%space-4);overflow-wrap:anywhere}@media(max-width:40rem){.fields[_ngcontent-%COMP%]{grid-template-columns:1fr}}[_nghost-%COMP%]{display:block}.detail-page[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-4);min-inline-size:0;inline-size:100%;max-inline-size:var(--%NS%page-width-detail);margin-inline:auto;padding:var(--%NS%page-header-y) var(--%NS%page-x)}.detail-page.form-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-form)}.detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:var(--%NS%page-width-wide)}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-2xl);overflow-wrap:anywhere}app-page-header[data-header-layout=stacked][_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:var(--%NS%text-base);color:var(--%NS%color-muted);overflow-wrap:anywhere}.detail-page[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{justify-self:start}@media print{.detail-page[_ngcontent-%COMP%], .detail-page.form-page[_ngcontent-%COMP%], .detail-page.wide-page[_ngcontent-%COMP%]{max-inline-size:none}}`]})};export{K as RefundCancel};
@@ -1 +1 @@
1
- import{Dn as g,H as JD,o as A,ot as OD}from"./chunk-BAHiFuUo.js";import{wi as wu}from"./chunk-BAe_07VM.js";import{n as m}from"./chunk-Dv9sNWWK.js";import{Ct as Fl,Gt as Hl,Ho as fr,O as Bl,Pn as Ll,Tr as Pl,Wt as Hk,X as Dl,hi as Uk,ri as Tl,tc as mr}from"./chunk-D5qmP2Wu.js";var c=wu.Union([Uk,fr]);var R=class a{http=g(OD);receipts(){return m(this.http.get(`/api/invoice-payments`),Pl,c,`invoice.error`)}credits(){return m(this.http.get(`/api/credit-notes`),Dl,c,`invoice.error`)}refunds(){return m(this.http.get(`/api/invoice-refunds`),Fl,c,`invoice.error`)}history(e){return m(this.http.get(`/api/invoices/${e}/history`),Hl,c,`invoice.error`)}async cancelPayment(e,t,k){return m(this.http.post(`/api/invoices/${e}/payments/${t}/cancel`,k),mr,Uk,`invoice.error`)}async exportPayments(e){return m(this.http.get(`/api/invoice-payments/export`,{params:{from:e.from,to:e.to},responseType:`text`}),wu.String,wu.fromJsonString(Hk),`payment.export_error`)}async list(){return wu.decodeUnknownSync(Ll)(await JD(this.http.get(`/api/invoices`)))}async get(e){return m(this.http.get(`/api/invoices/${e}`),mr,Uk,`invoice.error`)}async create(e){return m(this.http.post(`/api/invoices`,e),mr,Uk,`invoice.error`)}async createRevision(e,t){return m(this.http.post(`/api/invoices/${e}/revisions`,t),mr,Uk,`invoice.error`)}async issue(e,t){return m(this.http.post(`/api/invoices/${e}/issue`,{expectedVersion:t}),Tl,Uk,`invoice.error`)}async recordPayment(e,t){return m(this.http.post(`/api/invoices/${e}/payments`,t),mr,Uk,`invoice.error`)}async void(e,t){return m(this.http.post(`/api/invoices/${e}/void`,t),mr,Uk,`invoice.error`)}async renderPdf(e,t){return m(this.http.post(`/api/invoices/${e}/revisions/${t}/pdf`,void 0),Bl,Uk,`invoice.error`)}static ɵfac=function(t){return new(t||a)};static ɵprov=A({token:a,factory:a.ɵfac,providedIn:`root`})};export{R as t};
1
+ import{Dn as g,H as JD,o as A,ot as OD}from"./chunk-BAHiFuUo.js";import{wi as wu}from"./chunk-BAe_07VM.js";import{n as m}from"./chunk-Dv9sNWWK.js";import{Ct as Fl,Gt as Hl,Ho as fr,O as Bl,Pn as Ll,Tr as Pl,Wt as Hk,X as Dl,hi as Uk,ri as Tl,tc as mr}from"./chunk-D8Ui_APT.js";var c=wu.Union([Uk,fr]);var R=class a{http=g(OD);receipts(){return m(this.http.get(`/api/invoice-payments`),Pl,c,`invoice.error`)}credits(){return m(this.http.get(`/api/credit-notes`),Dl,c,`invoice.error`)}refunds(){return m(this.http.get(`/api/invoice-refunds`),Fl,c,`invoice.error`)}history(e){return m(this.http.get(`/api/invoices/${e}/history`),Hl,c,`invoice.error`)}async cancelPayment(e,t,k){return m(this.http.post(`/api/invoices/${e}/payments/${t}/cancel`,k),mr,Uk,`invoice.error`)}async exportPayments(e){return m(this.http.get(`/api/invoice-payments/export`,{params:{from:e.from,to:e.to},responseType:`text`}),wu.String,wu.fromJsonString(Hk),`payment.export_error`)}async list(){return wu.decodeUnknownSync(Ll)(await JD(this.http.get(`/api/invoices`)))}async get(e){return m(this.http.get(`/api/invoices/${e}`),mr,Uk,`invoice.error`)}async create(e){return m(this.http.post(`/api/invoices`,e),mr,Uk,`invoice.error`)}async createRevision(e,t){return m(this.http.post(`/api/invoices/${e}/revisions`,t),mr,Uk,`invoice.error`)}async issue(e,t){return m(this.http.post(`/api/invoices/${e}/issue`,{expectedVersion:t}),Tl,Uk,`invoice.error`)}async recordPayment(e,t){return m(this.http.post(`/api/invoices/${e}/payments`,t),mr,Uk,`invoice.error`)}async void(e,t){return m(this.http.post(`/api/invoices/${e}/void`,t),mr,Uk,`invoice.error`)}async renderPdf(e,t){return m(this.http.post(`/api/invoices/${e}/revisions/${t}/pdf`,void 0),Bl,Uk,`invoice.error`)}static ɵfac=function(t){return new(t||a)};static ɵprov=A({token:a,factory:a.ɵfac,providedIn:`root`})};export{R as t};
@@ -0,0 +1 @@
1
+ import{n as m,t as l}from"./chunk-BwCtja5l.js";import{t as A}from"./chunk-BzUDWIzm.js";import{a as b,i as _,n as I$1,o as f,r as S}from"./chunk-CP-AnFGa.js";var c=class{inputs;rangeStartIndex=I$1(0);rangeEndIndex=I$1(0);selectedItems=f(()=>this.inputs.items().filter(t=>this.inputs.value().includes(t.value())));constructor(t){this.inputs=t}select(t,e={anchor:!0}){if(t=t??this.inputs.focusManager.inputs.activeItem(),!t||t.disabled()||!t.selectable()||!this.inputs.focusManager.isFocusable(t)||this.inputs.value().includes(t.value()))return;this.inputs.multi()||this.deselectAll();let i=this.inputs.items().findIndex(n=>n===t);e.anchor&&this.beginRangeSelection(i),this.inputs.value.update(n=>n.concat(t.value()))}deselect(t){t=t??this.inputs.focusManager.inputs.activeItem(),t&&!t.disabled()&&t.selectable()&&this.inputs.value.update(e=>e.filter(i=>i!==t.value()))}toggle(t){t=t??this.inputs.focusManager.inputs.activeItem(),t&&(this.inputs.value().includes(t.value())?this.deselect(t):this.select(t))}toggleOne(){let t=this.inputs.focusManager.inputs.activeItem();t&&(this.inputs.value().includes(t.value())?this.deselect():this.selectOne())}selectAll(){if(this.inputs.multi()){for(let t of this.inputs.items())this.select(t,{anchor:!1});this.beginRangeSelection()}}deselectAll(){for(let t of this.inputs.value()){let e=this.inputs.items().find(i=>i.value()===t);e?this.deselect(e):this.inputs.value.update(i=>i.filter(n=>n!==t))}}toggleAll(){this.inputs.items().filter(e=>!e.disabled()&&e.selectable()&&this.inputs.focusManager.isFocusable(e)).map(e=>e.value()).every(e=>this.inputs.value().includes(e))?this.deselectAll():this.selectAll()}selectOne(){let t=this.inputs.focusManager.inputs.activeItem();t&&(t.disabled()||!t.selectable())||(this.deselectAll(),!(this.inputs.value().length>0&&!this.inputs.multi())&&this.select())}selectRange(t={anchor:!0}){this.inputs.focusManager.prevActiveIndex()===this.rangeStartIndex()&&t.anchor&&this.beginRangeSelection(this.inputs.focusManager.prevActiveIndex());let i=this._getItemsFromIndex(this.rangeStartIndex()),n=this._getItemsFromIndex(this.rangeEndIndex()).filter(a=>!i.includes(a));for(let a of n)this.deselect(a);for(let a of i)this.select(a,{anchor:!1});if(i.length){let a=i.pop(),l=this.inputs.items().findIndex(x=>x===a);this.rangeEndIndex.set(l)}}beginRangeSelection(t=this.inputs.focusManager.activeIndex()){this.rangeStartIndex.set(t),this.rangeEndIndex.set(t)}_getItemsFromIndex(t){if(t===-1)return[];let e=Math.max(this.inputs.focusManager.activeIndex(),t),i=Math.min(this.inputs.focusManager.activeIndex(),t),n=[];for(let a=i;a<=e;a++)n.push(this.inputs.items()[a]);return this.inputs.focusManager.activeIndex()<t?n.reverse():n}};var v=class{inputs;timeout;focusManager;isTyping=f(()=>this._query().length>0);_query=I$1(``);_startIndex=I$1(void 0);constructor(t){this.inputs=t,this.focusManager=t.focusManager}search(t){if(t.length!==1||!this.isTyping()&&t===` `)return!1;this._startIndex()===void 0&&this._startIndex.set(this.focusManager.activeIndex()),clearTimeout(this.timeout),this._query.update(i=>i+t.toLowerCase());let e=this._getItem();return e&&this.focusManager.focus(e),this.timeout=setTimeout(()=>{this._query.set(``),this._startIndex.set(void 0)},this.inputs.typeaheadDelay()),!0}_getItem(){let t=this.focusManager.inputs.items(),e=t.length,i=this._startIndex();for(let n=0;n<e;n++){let l=t[(i+1+n)%e];if(this.focusManager.isFocusable(l)&&l.searchTerm().toLowerCase().startsWith(this._query()))return l}}};var d=class{inputs;navigationBehavior;selectionBehavior;typeaheadBehavior;focusBehavior;disabled=f(()=>this.focusBehavior.isListDisabled());activeDescendant=f(()=>this.focusBehavior.getActiveDescendant());tabIndex=f(()=>this.focusBehavior.getListTabIndex());activeIndex=f(()=>this.focusBehavior.activeIndex());_anchorIndex=I$1(0);_wrap=I$1(!0);constructor(t){this.inputs=t,this.focusBehavior=new _(t),this.selectionBehavior=new c(m(l({},t),{focusManager:this.focusBehavior})),this.typeaheadBehavior=new v(m(l({},t),{focusManager:this.focusBehavior})),this.navigationBehavior=new S(m(l({},t),{focusManager:this.focusBehavior,wrap:f(()=>this._wrap()&&this.inputs.wrap())}))}getItemTabindex(t){return this.focusBehavior.getItemTabIndex(t)}first(t){this._navigate(t,()=>this.navigationBehavior.first(t))}last(t){this._navigate(t,()=>this.navigationBehavior.last(t))}next(t){this._navigate(t,()=>this.navigationBehavior.next(t))}prev(t){this._navigate(t,()=>this.navigationBehavior.prev(t))}goto(t,e){this._navigate(e,()=>this.navigationBehavior.goto(t,e))}unfocus(){this.inputs.activeItem.set(void 0)}anchor(t){this._anchorIndex.set(t)}search(t,e){this._navigate(e,()=>this.typeaheadBehavior.search(t))}isTyping(){return this.typeaheadBehavior.isTyping()}select(t){this.selectionBehavior.select(t)}selectOne(){this.selectionBehavior.selectOne()}deselect(t){this.selectionBehavior.deselect(t)}deselectAll(){this.selectionBehavior.deselectAll()}toggle(t){this.selectionBehavior.toggle(t)}toggleOne(){this.selectionBehavior.toggleOne()}toggleAll(){this.selectionBehavior.toggleAll()}isFocusable(t){return this.focusBehavior.isFocusable(t)}updateSelection(t={anchor:!0}){t.toggle&&this.selectionBehavior.toggle(),t.select&&this.selectionBehavior.select(),t.selectOne&&this.selectionBehavior.selectOne(),t.selectRange&&this.selectionBehavior.selectRange(),t.anchor||this.anchor(this.selectionBehavior.rangeStartIndex())}_navigate(t={},e){t?.selectRange&&(this._wrap.set(!1),this.selectionBehavior.rangeStartIndex.set(this._anchorIndex())),e()&&(this.updateSelection(t),t?.selectRange||this.anchor(this.activeIndex())),this._wrap.set(!0)}};var B=class{inputs;listBehavior;hasBeenInteracted=I$1(!1);orientation;softDisabled;disabled=f(()=>this.listBehavior.disabled());tabIndex=f(()=>this.listBehavior.tabIndex());activeDescendant=f(()=>this.listBehavior.activeDescendant());activeItem=()=>this.listBehavior.inputs.activeItem();_prevKey=f(()=>this.inputs.orientation()===`vertical`?`ArrowUp`:this.inputs.textDirection()===`rtl`?`ArrowRight`:`ArrowLeft`);_nextKey=f(()=>this.inputs.orientation()===`vertical`?`ArrowDown`:this.inputs.textDirection()===`rtl`?`ArrowLeft`:`ArrowRight`);_altPrevKey=f(()=>this.inputs.orientation()===`vertical`?this.inputs.textDirection()===`rtl`?`ArrowRight`:`ArrowLeft`:`ArrowUp`);_altNextKey=f(()=>this.inputs.orientation()===`vertical`?this.inputs.textDirection()===`rtl`?`ArrowLeft`:`ArrowRight`:`ArrowDown`);_keydown=f(()=>new b().on(this._nextKey,()=>this.listBehavior.next(),{ignoreRepeat:!1}).on(this._prevKey,()=>this.listBehavior.prev(),{ignoreRepeat:!1}).on(this._altNextKey,()=>this._groupNext(),{ignoreRepeat:!1}).on(this._altPrevKey,()=>this._groupPrev(),{ignoreRepeat:!1}).on(` `,()=>this.select()).on(`Enter`,()=>this.select()).on(`Home`,()=>this.listBehavior.first()).on(`End`,()=>this.listBehavior.last()));_groupNext(){let t=this.inputs.activeItem()?.group(),e=this.listBehavior.navigationBehavior.peekNext()?.group();if(t){if(t!==e){this.listBehavior.goto(this.listBehavior.navigationBehavior.peekFirst({items:t.inputs.items()}));return}this.listBehavior.next()}}_groupPrev(){let t=this.inputs.activeItem()?.group(),e=this.listBehavior.navigationBehavior.peekPrev()?.group();if(t){if(t!==e){this.listBehavior.goto(this.listBehavior.navigationBehavior.peekLast({items:t.inputs.items()}));return}this.listBehavior.prev()}}_goto(t){let e=this.inputs.getItem(A(t));e&&(this.listBehavior.goto(e),this.select())}select(){let t=this.inputs.activeItem()?.group();t?.multi()||t?.inputs.items().forEach(e=>this.listBehavior.deselect(e)),this.listBehavior.toggle()}constructor(t){this.inputs=t,this.orientation=t.orientation,this.softDisabled=t.softDisabled,this.listBehavior=new d(m(l({},t),{multi:()=>!0,focusMode:()=>`roving`,selectionMode:()=>`explicit`,typeaheadDelay:()=>0}))}validate(){let t=[],e=this.inputs.items().map(n=>n.value()),i=e.filter((n,a)=>e.indexOf(n)!==a);return i.length>0&&t.push(`Duplicate value '${i[0]}' detected inside ngToolbar.`),t}onKeydown(t){this.disabled()||(this.hasBeenInteracted.set(!0),this._keydown().handle(t))}onPointerdown(t){this.hasBeenInteracted.set(!0),t.preventDefault()}onFocusIn(){this.hasBeenInteracted.set(!0)}onClick(t){this.disabled()||t.pointerType===``||this._goto(t)}setDefaultState(){let t=this.listBehavior.navigationBehavior.peekFirst({items:this.inputs.items()});t&&this.inputs.activeItem.set(t)}setDefaultStateEffect(){this.hasBeenInteracted()||this.inputs.items().length>0&&this.setDefaultState()}};var I=class{inputs;id=()=>this.inputs.id();element=()=>this.inputs.element();disabled=()=>this.inputs.disabled()||this.group()?.disabled()||!1;group=()=>this.inputs.group();toolbar=()=>this.inputs.toolbar();tabIndex=f(()=>this.toolbar().listBehavior.getItemTabindex(this));searchTerm=()=>``;value=()=>this.inputs.value();selectable=()=>!0;index=f(()=>this.toolbar().inputs.items().indexOf(this)??-1);selected=f(()=>this.toolbar().listBehavior.inputs.value().includes(this.value()));active=f(()=>this.toolbar().activeItem()===this);constructor(t){this.inputs=t}};export{I as n,d as r,B as t};
@@ -1 +1 @@
1
- import{_ as o,h as Ne}from"./main-F7D3L737.js";import{ct as Me,wi as wu}from"./chunk-BAe_07VM.js";import{$r as T}from"./chunk-D5qmP2Wu.js";var s=wu.Struct({from:wu.optional(T),to:wu.optional(T)}).check(wu.makeFilter(({from:e,to:t})=>e===void 0||t===void 0||e<=t));function f(e){let t=n=>e.getAll(n).length===1?e.get(n)??void 0:void 0;return Me.getOrElse(wu.decodeUnknownOption(s)({from:t(`clientAccessFrom`),to:t(`clientAccessTo`)}),()=>({}))}function p(e){return{clientAccessFrom:e.from??null,clientAccessTo:e.to??null}}function y(e,t){if(t.from===void 0&&t.to===void 0)return!0;let n=new Date(e.createdAt),o=`${String(n.getFullYear()).padStart(4,`0`)}-${String(n.getMonth()+1).padStart(2,`0`)}-${String(n.getDate()).padStart(2,`0`)}`;return(t.from===void 0||o>=t.from)&&(t.to===void 0||o<=t.to)}var k={columns:[{kind:`number`,key:`position`,value:e=>e.position},{kind:`text`,key:`reference`,value:e=>e.reference},{kind:`text`,key:`status`,value:(e,t)=>o(t,`affair.${e.status}`)},{kind:`number`,key:`date`,value:e=>Date.parse(e.updatedAt)}],defaultSort:`positionAsc`,id:e=>e.id,searchKeys:[`reference`,`title`],parameters:{q:`clientAffairQ`,sort:`clientAffairSort`,filter:`clientAffairStatus`},filters:[{value:`open`,label:`affair.open`},{value:`closed`,label:`affair.closed`}],matchesFilter:(e,t)=>e.status===t};var C={columns:[{kind:`text`,key:`reference`,value:e=>e.reference},{kind:`text`,key:`status`,value:e=>e.status},{kind:`number`,key:`amount`,value:e=>e.totalCents},{kind:`number`,key:`date`,value:e=>Date.parse(e.updatedAt)}],defaultSort:`dateDesc`,id:e=>e.id,searchKeys:[`reference`,`title`],parameters:{q:`clientDocumentQ`,sort:`clientDocumentSort`,filter:`clientDocumentType`},filters:[{value:`quote`,label:`backOffice.clientDetail.quote`},{value:`order`,label:`backOffice.clientDetail.order`},{value:`invoice`,label:`backOffice.clientDetail.invoice`}],matchesFilter:(e,t)=>e.type===t};var g={columns:[{kind:`number`,key:`position`,value:e=>e.position},{kind:`text`,key:`email`,value:e=>e.email},{kind:`number`,key:`date`,value:e=>e.createdAt}],defaultSort:`positionAsc`,id:e=>e.id,searchKeys:[`email`],parameters:{q:`clientAccessQ`,sort:`clientAccessSort`,filter:`clientAccessFilter`}};function b(e,t){return e.map(n=>[n.reference,n.title,o(t,`affair.${n.status}`),n.updatedAt])}function v(e,t){return e.map(n=>[n.kind,n.reference,n.title,n.status,Ne(n.totalCents,t,`EUR`),n.updatedAt])}function x(e){return e.map(t=>[t.email,new Date(t.createdAt).toISOString()])}export{k as a,v as c,g as i,x as l,b as n,p as o,f as r,s,C as t,y as u};
1
+ import{_ as o,h as Ne}from"./main-LXYWXFW4.js";import{ct as Me,wi as wu}from"./chunk-BAe_07VM.js";import{$r as T}from"./chunk-D8Ui_APT.js";var s=wu.Struct({from:wu.optional(T),to:wu.optional(T)}).check(wu.makeFilter(({from:e,to:t})=>e===void 0||t===void 0||e<=t));function f(e){let t=n=>e.getAll(n).length===1?e.get(n)??void 0:void 0;return Me.getOrElse(wu.decodeUnknownOption(s)({from:t(`clientAccessFrom`),to:t(`clientAccessTo`)}),()=>({}))}function p(e){return{clientAccessFrom:e.from??null,clientAccessTo:e.to??null}}function y(e,t){if(t.from===void 0&&t.to===void 0)return!0;let n=new Date(e.createdAt),o=`${String(n.getFullYear()).padStart(4,`0`)}-${String(n.getMonth()+1).padStart(2,`0`)}-${String(n.getDate()).padStart(2,`0`)}`;return(t.from===void 0||o>=t.from)&&(t.to===void 0||o<=t.to)}var k={columns:[{kind:`number`,key:`position`,value:e=>e.position},{kind:`text`,key:`reference`,value:e=>e.reference},{kind:`text`,key:`status`,value:(e,t)=>o(t,`affair.${e.status}`)},{kind:`number`,key:`date`,value:e=>Date.parse(e.updatedAt)}],defaultSort:`positionAsc`,id:e=>e.id,searchKeys:[`reference`,`title`],parameters:{q:`clientAffairQ`,sort:`clientAffairSort`,filter:`clientAffairStatus`},filters:[{value:`open`,label:`affair.open`},{value:`closed`,label:`affair.closed`}],matchesFilter:(e,t)=>e.status===t};var C={columns:[{kind:`text`,key:`reference`,value:e=>e.reference},{kind:`text`,key:`status`,value:e=>e.status},{kind:`number`,key:`amount`,value:e=>e.totalCents},{kind:`number`,key:`date`,value:e=>Date.parse(e.updatedAt)}],defaultSort:`dateDesc`,id:e=>e.id,searchKeys:[`reference`,`title`],parameters:{q:`clientDocumentQ`,sort:`clientDocumentSort`,filter:`clientDocumentType`},filters:[{value:`quote`,label:`backOffice.clientDetail.quote`},{value:`order`,label:`backOffice.clientDetail.order`},{value:`invoice`,label:`backOffice.clientDetail.invoice`}],matchesFilter:(e,t)=>e.type===t};var g={columns:[{kind:`number`,key:`position`,value:e=>e.position},{kind:`text`,key:`email`,value:e=>e.email},{kind:`number`,key:`date`,value:e=>e.createdAt}],defaultSort:`positionAsc`,id:e=>e.id,searchKeys:[`email`],parameters:{q:`clientAccessQ`,sort:`clientAccessSort`,filter:`clientAccessFilter`}};function b(e,t){return e.map(n=>[n.reference,n.title,o(t,`affair.${n.status}`),n.updatedAt])}function v(e,t){return e.map(n=>[n.kind,n.reference,n.title,n.status,Ne(n.totalCents,t,`EUR`),n.updatedAt])}function x(e){return e.map(t=>[t.email,new Date(t.createdAt).toISOString()])}export{k as a,v as c,g as i,x as l,b as n,p as o,f as r,s,C as t,y as u};
@@ -1 +1 @@
1
- import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,Ft as U_,Ir as wp,It as Us,J as Ky,Jr as zS,K as Ke,L as IN,P as Hn,Rn as jS,Tn as fd,Un as kH,V as Iy,Vr as xH,Wn as kS,Wr as y_,X as LS,dr as pe$1,ft as Ol,g as Cr,gn as ce$1,ht as PS,in as Zy,ln as ad,lt as OS,m as By,nt as NH,pr as qS,pt as Op,qn as ky,rr as nv,u as Ao,vt as Py,w as Fb,xn as e_,z as Ip}from"./chunk-BAHiFuUo.js";import{i as r,r as N}from"./main-F7D3L737.js";import{l as W,m as is,o as Po}from"./chunk-BzUDWIzm.js";import{r as st,t as Oe}from"./chunk-ZBDWcE362.js";var b=class n{label=NH.required();summary=NH(``);template=g(Cr);static ɵfac=function(e){return new(e||n)};static ɵdir=ad({type:n,selectors:[[`ng-template`,`appFilterPanel`,``]],inputs:{label:[1,`label`],summary:[1,`summary`]}})};var ne=[`content`];var ie=[`trigger`];var ae=[`panelContent`];var oe=[`backButton`];function re(n,i){if(n&1&&(Us(0,`span`,6),y_(1),fd()),n&2){let e=qS();ZC(),nv(e.activeCount())}}function le(n,i){if(n&1){let e=zS();Us(0,`button`,15,2),Gy(`click`,function(){Ip(e);return wp(qS(2).back())}),Op(),Us(2,`svg`,16),Py(3,`path`,17),fd()()}if(n&2){let e=qS(2);Fy(`iconOnly`,!0),ky(`aria-label`,e.backLabel())}}function ce(n,i){n&1&&(Us(0,`div`,13,3),By(2,18),fd()),n&2&&(ZC(2),Fy(`ngTemplateOutlet`,i.template))}function de(n,i){if(n&1&&(Us(0,`span`,22),y_(1),fd()),n&2){let e=qS().$implicit;ZC(),nv(e.summary())}}function se(n,i){if(n&1){let e=zS();Us(0,`button`,20),Gy(`cdkMenuItemTriggered`,function(){let l=Ip(e).$implicit;return wp(qS(3).showPanel(l))}),Us(1,`span`,21),y_(2),fd(),OS(3,de,2,1,`span`,22),Op(),Us(4,`svg`,16),Py(5,`path`,17),fd()()}if(n&2){let e=i.$implicit;Fy(`cdkMenuitemTypeaheadLabel`,e.label()),ZC(2),nv(e.label()),ZC(),kS(e.summary()?3:-1)}}function ue(n,i){if(n&1&&(Us(0,`div`,14),LS(1,se,6,3,`button`,19,PS),fd()),n&2){let e=qS(2);ky(`aria-label`,e.label()),ZC(),jS(e.panels())}}function pe(n,i){if(n&1){let e=zS();Us(0,`div`,7)(1,`div`,8),OS(2,le,4,2,`button`,9),Us(3,`h2`,10),y_(4),fd(),Us(5,`button`,11),Gy(`click`,function(){Ip(e);return wp(qS().close())}),Py(6,`app-icon`,12),fd()(),OS(7,ce,3,1,`div`,13)(8,ue,3,1,`div`,14),fd()}if(n&2){let e,t=qS();ZC(2),kS(t.activePanel()?2:-1),ZC(),Fy(`id`,t.headingId),ZC(),nv(t.activePanel()?.label()??t.label()),ZC(),Fy(`iconOnly`,!0),ky(`aria-label`,t.closeLabel()),ZC(2),kS((e=t.activePanel())?7:8,e)}}var Z=class n{label=NH.required();closeLabel=NH.required();backLabel=NH.required();activeCount=NH(0);disabled=NH(!1);opened=Ke(!1);panels=kH(b);activePanel=Ke(void 0);triggerLabel=Ft(()=>this.activeCount()>0?`${this.label()} (${this.activeCount()})`:this.label());dialogId=g(W).getId(`list-filters-`);headingId=`${this.dialogId}-heading`;dialogs=g(is);overlay=g(Po);injector=g(ce$1);renderer=g(Ao);content=xH.required(`content`);trigger=xH.required(`trigger`,{read:Hn});categories=xH(st);panelContent=xH(`panelContent`);backButton=xH(`backButton`,{read:Hn});dialog;constructor(){g(pe$1).onDestroy(()=>this.dialog?.close())}open(){if(this.disabled()||this.dialog||this.panels().length===0)return;this.activePanel.set(void 0);let i=this.overlay.position().flexibleConnectedTo(this.trigger()).withPositions([{originX:`start`,originY:`bottom`,overlayX:`start`,overlayY:`top`,offsetY:8},{originX:`end`,originY:`bottom`,overlayX:`end`,overlayY:`top`,offsetY:8},{originX:`start`,originY:`top`,overlayX:`start`,overlayY:`bottom`,offsetY:-8},{originX:`end`,originY:`top`,overlayX:`end`,overlayY:`bottom`,offsetY:-8}]).withViewportMargin(8).withPush(!0),e=this.dialogs.open(this.content(),{id:this.dialogId,ariaLabelledBy:this.headingId,ariaModal:!0,autoFocus:`dialog`,restoreFocus:this.trigger().nativeElement,disableAnimations:!0,backdropClass:`cdk-overlay-transparent-backdrop`,positionStrategy:i,width:`20rem`,maxWidth:`calc(100vw - 1rem)`});this.dialog=e,this.opened.set(!0),Ol(()=>{this.dialog!==e||this.activePanel()||this.categories()?.focusFirstItem()},{injector:this.injector});let t=this.renderer.listen(e.overlayRef.overlayElement,`keydown`,l=>{l.key===`Escape`&&(l.preventDefault(),l.stopPropagation(),e.close())},{capture:!0});e.closed.subscribe(()=>{t(),this.dialog=void 0,this.opened.set(!1),this.activePanel.set(void 0)})}showPanel(i){let e=this.dialog;e&&(this.activePanel.set(i),Ol(()=>{if(this.dialog!==e)return;e.overlayRef.updatePosition(),(this.panelContent()?.nativeElement.querySelector(`:is(input:not([type="hidden"]), select, textarea, button, [cdkFocusInitial]):not(:disabled)`)??this.backButton()?.nativeElement)?.focus()},{injector:this.injector}))}back(){let i=this.dialog,e=this.activePanel();if(!i||!e)return;let t=this.panels().indexOf(e);this.activePanel.set(void 0),Ol(()=>{this.dialog===i&&(i.overlayRef.updatePosition(),this.categories()?.setActiveMenuItem(Math.max(0,t)))},{injector:this.injector})}close(){this.dialog?.close()}static ɵfac=function(e){return new(e||n)};static ɵcmp=Fb({type:n,selectors:[[`app-filter-menu`]],contentQueries:function(e,t,l){e&1&&Zy(l,t.panels,b,4),e&2&&e_()},viewQuery:function(e,t){e&1&&Ky(t.content,ne,5)(t.trigger,ie,5,Hn)(t.categories,st,5)(t.panelContent,ae,5)(t.backButton,oe,5,Hn),e&2&&e_(5)},inputs:{label:[1,`label`],closeLabel:[1,`closeLabel`],backLabel:[1,`backLabel`],activeCount:[1,`activeCount`],disabled:[1,`disabled`]},decls:8,vars:6,consts:[[`trigger`,``],[`content`,``],[`backButton`,``],[`panelContent`,``],[`appButton`,``,`type`,`button`,`aria-haspopup`,`dialog`,3,`click`,`disabled`],[`name`,`filter`],[`aria-hidden`,`true`,1,`count`],[1,`panel`],[1,`heading`],[`appButton`,``,`type`,`button`,1,`back`,3,`iconOnly`],[3,`id`],[`appButton`,``,`type`,`button`,1,`close`,3,`click`,`iconOnly`],[`name`,`close`],[1,`content`],[`cdkMenu`,``,1,`categories`],[`appButton`,``,`type`,`button`,1,`back`,3,`click`,`iconOnly`],[`viewBox`,`0 0 16 16`,`aria-hidden`,`true`,`focusable`,`false`,1,`direction`],[`d`,`m6 3 5 5-5 5`],[3,`ngTemplateOutlet`],[`cdkMenuItem`,``,`type`,`button`,1,`category`,3,`cdkMenuitemTypeaheadLabel`],[`cdkMenuItem`,``,`type`,`button`,1,`category`,3,`cdkMenuItemTriggered`,`cdkMenuitemTypeaheadLabel`],[1,`category-label`],[1,`summary`]],template:function(e,t){e&1&&(Us(0,`button`,4,0),Gy(`click`,function(){return t.open()}),Py(2,`app-icon`,5),Us(3,`span`),y_(4),fd(),OS(5,re,2,1,`span`,6),fd(),Iy(6,pe,9,6,`ng-template`,null,1,U_)),e&2&&(Fy(`disabled`,t.disabled()||t.panels().length===0),ky(`aria-label`,t.triggerLabel())(`aria-expanded`,t.opened())(`aria-controls`,t.opened()?t.dialogId:null),ZC(4),nv(t.label()),ZC(),kS(t.activeCount()>0?5:-1))},dependencies:[N,st,Oe,r,IN],styles:[`[_nghost-%COMP%]{display:inline-flex;min-inline-size:0}.count[_ngcontent-%COMP%]{min-inline-size:1.25rem;padding-inline:var(--%NS%space-1);border:1px solid var(--%NS%color-line-strong);border-radius:var(--%NS%radius-xs);background:var(--%NS%color-surface-raised);color:var(--%NS%color-ink);font-variant-numeric:tabular-nums}.panel[_ngcontent-%COMP%]{display:grid;min-inline-size:0;max-block-size:min(26rem,100dvh - 1rem);overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--%NS%color-line-strong);border-radius:var(--%NS%radius-sm);background:linear-gradient(var(--%NS%color-surface-raised),var(--%NS%color-surface));color:var(--%NS%color-ink);box-shadow:var(--%NS%shadow-page)}.heading[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--%NS%space-2);min-block-size:2.5rem;padding:var(--%NS%space-1) var(--%NS%space-2);border-block-end:1px solid var(--%NS%color-line)}h2[_ngcontent-%COMP%]{flex:1;min-inline-size:0;margin:0;font-size:var(--%NS%text-sm);font-weight:700}.heading[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{flex:none;inline-size:2rem;min-block-size:2rem}.direction[_ngcontent-%COMP%]{flex:none;inline-size:1rem;block-size:1rem;fill:none;stroke:currentColor;stroke-width:1.5}.back[_ngcontent-%COMP%] .direction[_ngcontent-%COMP%]{transform:scaleX(-1)}.content[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-2);min-inline-size:0;padding:var(--%NS%space-2)}.categories[_ngcontent-%COMP%]{display:grid;min-inline-size:0;padding:var(--%NS%space-1)}.category[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--%NS%space-2);min-inline-size:0;min-block-size:2.25rem;padding:var(--%NS%space-1) var(--%NS%space-2);border:0;border-radius:var(--%NS%radius-xs);background:transparent;color:var(--%NS%color-ink);font:inherit;font-size:var(--%NS%text-sm);text-align:start;cursor:pointer}.category-label[_ngcontent-%COMP%]{flex:1}.summary[_ngcontent-%COMP%]{max-inline-size:50%;overflow:hidden;color:var(--%NS%color-muted);text-overflow:ellipsis;white-space:nowrap}.category[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--%NS%color-focus);outline-offset:-2px}@media(hover:hover){.category[_ngcontent-%COMP%]:hover{background:var(--%NS%color-surface-sunken)}}@media(pointer:coarse){button[_ngcontent-%COMP%], .heading[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{min-inline-size:2.75rem;min-block-size:2.75rem}}[dir=rtl][_nghost-%COMP%] .back[_ngcontent-%COMP%] .direction[_ngcontent-%COMP%], [dir=rtl] [_nghost-%COMP%] .back[_ngcontent-%COMP%] .direction[_ngcontent-%COMP%]{transform:none}[dir=rtl][_nghost-%COMP%] .category[_ngcontent-%COMP%] .direction[_ngcontent-%COMP%], [dir=rtl] [_nghost-%COMP%] .category[_ngcontent-%COMP%] .direction[_ngcontent-%COMP%]{transform:scaleX(-1)}`]})};export{b as n,Z as t};
1
+ import{$t as ZC,A as Gy,D as Fy,Dn as g,E as Ft,Ft as U_,Ir as wp,It as Us,J as Ky,Jr as zS,K as Ke,L as IN,P as Hn,Rn as jS,Tn as fd,Un as kH,V as Iy,Vr as xH,Wn as kS,Wr as y_,X as LS,dr as pe$1,ft as Ol,g as Cr,gn as ce$1,ht as PS,in as Zy,ln as ad,lt as OS,m as By,nt as NH,pr as qS,pt as Op,qn as ky,rr as nv,u as Ao,vt as Py,w as Fb,xn as e_,z as Ip}from"./chunk-BAHiFuUo.js";import{i as r,r as N}from"./main-LXYWXFW4.js";import{l as W,m as is,o as Po}from"./chunk-BzUDWIzm.js";import{r as st,t as Oe}from"./chunk-B4KnJ14M2.js";var b=class n{label=NH.required();summary=NH(``);template=g(Cr);static ɵfac=function(e){return new(e||n)};static ɵdir=ad({type:n,selectors:[[`ng-template`,`appFilterPanel`,``]],inputs:{label:[1,`label`],summary:[1,`summary`]}})};var ne=[`content`];var ie=[`trigger`];var ae=[`panelContent`];var oe=[`backButton`];function re(n,i){if(n&1&&(Us(0,`span`,6),y_(1),fd()),n&2){let e=qS();ZC(),nv(e.activeCount())}}function le(n,i){if(n&1){let e=zS();Us(0,`button`,15,2),Gy(`click`,function(){Ip(e);return wp(qS(2).back())}),Op(),Us(2,`svg`,16),Py(3,`path`,17),fd()()}if(n&2){let e=qS(2);Fy(`iconOnly`,!0),ky(`aria-label`,e.backLabel())}}function ce(n,i){n&1&&(Us(0,`div`,13,3),By(2,18),fd()),n&2&&(ZC(2),Fy(`ngTemplateOutlet`,i.template))}function de(n,i){if(n&1&&(Us(0,`span`,22),y_(1),fd()),n&2){let e=qS().$implicit;ZC(),nv(e.summary())}}function se(n,i){if(n&1){let e=zS();Us(0,`button`,20),Gy(`cdkMenuItemTriggered`,function(){let l=Ip(e).$implicit;return wp(qS(3).showPanel(l))}),Us(1,`span`,21),y_(2),fd(),OS(3,de,2,1,`span`,22),Op(),Us(4,`svg`,16),Py(5,`path`,17),fd()()}if(n&2){let e=i.$implicit;Fy(`cdkMenuitemTypeaheadLabel`,e.label()),ZC(2),nv(e.label()),ZC(),kS(e.summary()?3:-1)}}function ue(n,i){if(n&1&&(Us(0,`div`,14),LS(1,se,6,3,`button`,19,PS),fd()),n&2){let e=qS(2);ky(`aria-label`,e.label()),ZC(),jS(e.panels())}}function pe(n,i){if(n&1){let e=zS();Us(0,`div`,7)(1,`div`,8),OS(2,le,4,2,`button`,9),Us(3,`h2`,10),y_(4),fd(),Us(5,`button`,11),Gy(`click`,function(){Ip(e);return wp(qS().close())}),Py(6,`app-icon`,12),fd()(),OS(7,ce,3,1,`div`,13)(8,ue,3,1,`div`,14),fd()}if(n&2){let e,t=qS();ZC(2),kS(t.activePanel()?2:-1),ZC(),Fy(`id`,t.headingId),ZC(),nv(t.activePanel()?.label()??t.label()),ZC(),Fy(`iconOnly`,!0),ky(`aria-label`,t.closeLabel()),ZC(2),kS((e=t.activePanel())?7:8,e)}}var Z=class n{label=NH.required();closeLabel=NH.required();backLabel=NH.required();activeCount=NH(0);disabled=NH(!1);opened=Ke(!1);panels=kH(b);activePanel=Ke(void 0);triggerLabel=Ft(()=>this.activeCount()>0?`${this.label()} (${this.activeCount()})`:this.label());dialogId=g(W).getId(`list-filters-`);headingId=`${this.dialogId}-heading`;dialogs=g(is);overlay=g(Po);injector=g(ce$1);renderer=g(Ao);content=xH.required(`content`);trigger=xH.required(`trigger`,{read:Hn});categories=xH(st);panelContent=xH(`panelContent`);backButton=xH(`backButton`,{read:Hn});dialog;constructor(){g(pe$1).onDestroy(()=>this.dialog?.close())}open(){if(this.disabled()||this.dialog||this.panels().length===0)return;this.activePanel.set(void 0);let i=this.overlay.position().flexibleConnectedTo(this.trigger()).withPositions([{originX:`start`,originY:`bottom`,overlayX:`start`,overlayY:`top`,offsetY:8},{originX:`end`,originY:`bottom`,overlayX:`end`,overlayY:`top`,offsetY:8},{originX:`start`,originY:`top`,overlayX:`start`,overlayY:`bottom`,offsetY:-8},{originX:`end`,originY:`top`,overlayX:`end`,overlayY:`bottom`,offsetY:-8}]).withViewportMargin(8).withPush(!0),e=this.dialogs.open(this.content(),{id:this.dialogId,ariaLabelledBy:this.headingId,ariaModal:!0,autoFocus:`dialog`,restoreFocus:this.trigger().nativeElement,disableAnimations:!0,backdropClass:`cdk-overlay-transparent-backdrop`,positionStrategy:i,width:`20rem`,maxWidth:`calc(100vw - 1rem)`});this.dialog=e,this.opened.set(!0),Ol(()=>{this.dialog!==e||this.activePanel()||this.categories()?.focusFirstItem()},{injector:this.injector});let t=this.renderer.listen(e.overlayRef.overlayElement,`keydown`,l=>{l.key===`Escape`&&(l.preventDefault(),l.stopPropagation(),e.close())},{capture:!0});e.closed.subscribe(()=>{t(),this.dialog=void 0,this.opened.set(!1),this.activePanel.set(void 0)})}showPanel(i){let e=this.dialog;e&&(this.activePanel.set(i),Ol(()=>{if(this.dialog!==e)return;e.overlayRef.updatePosition(),(this.panelContent()?.nativeElement.querySelector(`:is(input:not([type="hidden"]), select, textarea, button, [cdkFocusInitial]):not(:disabled)`)??this.backButton()?.nativeElement)?.focus()},{injector:this.injector}))}back(){let i=this.dialog,e=this.activePanel();if(!i||!e)return;let t=this.panels().indexOf(e);this.activePanel.set(void 0),Ol(()=>{this.dialog===i&&(i.overlayRef.updatePosition(),this.categories()?.setActiveMenuItem(Math.max(0,t)))},{injector:this.injector})}close(){this.dialog?.close()}static ɵfac=function(e){return new(e||n)};static ɵcmp=Fb({type:n,selectors:[[`app-filter-menu`]],contentQueries:function(e,t,l){e&1&&Zy(l,t.panels,b,4),e&2&&e_()},viewQuery:function(e,t){e&1&&Ky(t.content,ne,5)(t.trigger,ie,5,Hn)(t.categories,st,5)(t.panelContent,ae,5)(t.backButton,oe,5,Hn),e&2&&e_(5)},inputs:{label:[1,`label`],closeLabel:[1,`closeLabel`],backLabel:[1,`backLabel`],activeCount:[1,`activeCount`],disabled:[1,`disabled`]},decls:8,vars:6,consts:[[`trigger`,``],[`content`,``],[`backButton`,``],[`panelContent`,``],[`appButton`,``,`type`,`button`,`aria-haspopup`,`dialog`,3,`click`,`disabled`],[`name`,`filter`],[`aria-hidden`,`true`,1,`count`],[1,`panel`],[1,`heading`],[`appButton`,``,`type`,`button`,1,`back`,3,`iconOnly`],[3,`id`],[`appButton`,``,`type`,`button`,1,`close`,3,`click`,`iconOnly`],[`name`,`close`],[1,`content`],[`cdkMenu`,``,1,`categories`],[`appButton`,``,`type`,`button`,1,`back`,3,`click`,`iconOnly`],[`viewBox`,`0 0 16 16`,`aria-hidden`,`true`,`focusable`,`false`,1,`direction`],[`d`,`m6 3 5 5-5 5`],[3,`ngTemplateOutlet`],[`cdkMenuItem`,``,`type`,`button`,1,`category`,3,`cdkMenuitemTypeaheadLabel`],[`cdkMenuItem`,``,`type`,`button`,1,`category`,3,`cdkMenuItemTriggered`,`cdkMenuitemTypeaheadLabel`],[1,`category-label`],[1,`summary`]],template:function(e,t){e&1&&(Us(0,`button`,4,0),Gy(`click`,function(){return t.open()}),Py(2,`app-icon`,5),Us(3,`span`),y_(4),fd(),OS(5,re,2,1,`span`,6),fd(),Iy(6,pe,9,6,`ng-template`,null,1,U_)),e&2&&(Fy(`disabled`,t.disabled()||t.panels().length===0),ky(`aria-label`,t.triggerLabel())(`aria-expanded`,t.opened())(`aria-controls`,t.opened()?t.dialogId:null),ZC(4),nv(t.label()),ZC(),kS(t.activeCount()>0?5:-1))},dependencies:[N,st,Oe,r,IN],styles:[`[_nghost-%COMP%]{display:inline-flex;min-inline-size:0}.count[_ngcontent-%COMP%]{min-inline-size:1.25rem;padding-inline:var(--%NS%space-1);border:1px solid var(--%NS%color-line-strong);border-radius:var(--%NS%radius-xs);background:var(--%NS%color-surface-raised);color:var(--%NS%color-ink);font-variant-numeric:tabular-nums}.panel[_ngcontent-%COMP%]{display:grid;min-inline-size:0;max-block-size:min(26rem,100dvh - 1rem);overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--%NS%color-line-strong);border-radius:var(--%NS%radius-sm);background:linear-gradient(var(--%NS%color-surface-raised),var(--%NS%color-surface));color:var(--%NS%color-ink);box-shadow:var(--%NS%shadow-page)}.heading[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--%NS%space-2);min-block-size:2.5rem;padding:var(--%NS%space-1) var(--%NS%space-2);border-block-end:1px solid var(--%NS%color-line)}h2[_ngcontent-%COMP%]{flex:1;min-inline-size:0;margin:0;font-size:var(--%NS%text-sm);font-weight:700}.heading[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{flex:none;inline-size:2rem;min-block-size:2rem}.direction[_ngcontent-%COMP%]{flex:none;inline-size:1rem;block-size:1rem;fill:none;stroke:currentColor;stroke-width:1.5}.back[_ngcontent-%COMP%] .direction[_ngcontent-%COMP%]{transform:scaleX(-1)}.content[_ngcontent-%COMP%]{display:grid;gap:var(--%NS%space-2);min-inline-size:0;padding:var(--%NS%space-2)}.categories[_ngcontent-%COMP%]{display:grid;min-inline-size:0;padding:var(--%NS%space-1)}.category[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--%NS%space-2);min-inline-size:0;min-block-size:2.25rem;padding:var(--%NS%space-1) var(--%NS%space-2);border:0;border-radius:var(--%NS%radius-xs);background:transparent;color:var(--%NS%color-ink);font:inherit;font-size:var(--%NS%text-sm);text-align:start;cursor:pointer}.category-label[_ngcontent-%COMP%]{flex:1}.summary[_ngcontent-%COMP%]{max-inline-size:50%;overflow:hidden;color:var(--%NS%color-muted);text-overflow:ellipsis;white-space:nowrap}.category[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--%NS%color-focus);outline-offset:-2px}@media(hover:hover){.category[_ngcontent-%COMP%]:hover{background:var(--%NS%color-surface-sunken)}}@media(pointer:coarse){button[_ngcontent-%COMP%], .heading[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{min-inline-size:2.75rem;min-block-size:2.75rem}}[dir=rtl][_nghost-%COMP%] .back[_ngcontent-%COMP%] .direction[_ngcontent-%COMP%], [dir=rtl] [_nghost-%COMP%] .back[_ngcontent-%COMP%] .direction[_ngcontent-%COMP%]{transform:none}[dir=rtl][_nghost-%COMP%] .category[_ngcontent-%COMP%] .direction[_ngcontent-%COMP%], [dir=rtl] [_nghost-%COMP%] .category[_ngcontent-%COMP%] .direction[_ngcontent-%COMP%]{transform:scaleX(-1)}`]})};export{b as n,Z as t};