@saooti/octopus-sdk 42.1.2 → 42.2.0

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 (1509) hide show
  1. package/dist/AdvancedSearch-8-KQYWuv.mjs.map +1 -0
  2. package/dist/AdvancedSearch-B0cuNtOh.mjs.map +1 -0
  3. package/dist/AdvancedSearch-B906GvKN.mjs.map +1 -0
  4. package/dist/AdvancedSearch-CTVYYKqG.mjs.map +1 -0
  5. package/dist/AdvancedSearch-CZrfUO8f.mjs.map +1 -0
  6. package/dist/AdvancedSearch-DIKy8A4x.mjs +452 -0
  7. package/dist/AdvancedSearch-DIKy8A4x.mjs.map +1 -0
  8. package/dist/AdvancedSearch-DQkpBDRs.mjs.map +1 -0
  9. package/dist/AdvancedSearch-DkN9HIvk.mjs.map +1 -0
  10. package/dist/AdvancedSearch-Dli7j4mk.mjs.map +1 -0
  11. package/dist/AdvancedSearch-DvWyiUl1.mjs.map +1 -0
  12. package/dist/AdvancedSearch-hzq1op0v.mjs.map +1 -0
  13. package/dist/AdvancedSearch-ksEDWPSw.mjs.map +1 -0
  14. package/dist/CategoryFilter-BpZB6gy9.mjs +237 -0
  15. package/dist/CategoryFilter-BpZB6gy9.mjs.map +1 -0
  16. package/dist/CategoryFilter-C0oHxpLk.mjs.map +1 -0
  17. package/dist/CategoryFilter-CJeJt-Z4.mjs.map +1 -0
  18. package/dist/CategoryFilter-Cn6N_LEr.mjs.map +1 -0
  19. package/dist/CategoryFilter-D6YY4FE0.mjs.map +1 -0
  20. package/dist/CategoryFilter-DAa1ALAl.mjs.map +1 -0
  21. package/dist/CategoryFilter-DzzcHsVO.mjs.map +1 -0
  22. package/dist/CategoryFilter-mMOiHS6f.mjs.map +1 -0
  23. package/dist/CategoryList-BZKIusvs.mjs.map +1 -0
  24. package/dist/CategoryList-Bnfndttx.mjs.map +1 -0
  25. package/dist/CategoryList-DQsVPaGH.mjs.map +1 -0
  26. package/dist/CategoryList-IQKO-tO8.mjs +182 -0
  27. package/dist/CategoryList-IQKO-tO8.mjs.map +1 -0
  28. package/dist/CategoryList-KK01BluB.mjs.map +1 -0
  29. package/dist/CategoryList-PSN8E9C3.mjs.map +1 -0
  30. package/dist/CategoryList-dVk1Qdf-.mjs.map +1 -0
  31. package/dist/CategoryList-zigzQR5w.mjs.map +1 -0
  32. package/dist/CategoryPage-B9-hSANQ.mjs +57 -0
  33. package/dist/CategoryPage-B9-hSANQ.mjs.map +1 -0
  34. package/dist/CategoryPage-B_6fr90f.mjs.map +1 -0
  35. package/dist/CategoryPage-BaCXwiiO.mjs.map +1 -0
  36. package/dist/CategoryPage-BjZj0N4p.mjs.map +1 -0
  37. package/dist/CategoryPage-CTod1jGo.mjs.map +1 -0
  38. package/dist/CategoryPage-CoS87WfG.mjs.map +1 -0
  39. package/dist/CategoryPage-Crjrasms.mjs.map +1 -0
  40. package/dist/CategoryPage-DslgrLKx.mjs.map +1 -0
  41. package/dist/CategoryPage-FXpgAtMR.mjs.map +1 -0
  42. package/dist/CategoryPage-Lau7MKzW.mjs.map +1 -0
  43. package/dist/CategoryPage-SG6mbLkt.mjs.map +1 -0
  44. package/dist/ChapteringModal-BMudjbka.mjs.map +1 -0
  45. package/dist/ChapteringModal-BNLqCYLZ.mjs.map +1 -0
  46. package/dist/ChapteringModal-BxQwqN6-.mjs +82 -0
  47. package/dist/ChapteringModal-BxQwqN6-.mjs.map +1 -0
  48. package/dist/ChapteringModal-C5TDOeej.mjs.map +1 -0
  49. package/dist/ChapteringModal-C7Sfm5kO.mjs.map +1 -0
  50. package/dist/ChapteringModal-DmVwqkUC.mjs.map +1 -0
  51. package/dist/ChapteringModal-DtQOpN5a.mjs.map +1 -0
  52. package/dist/ChapteringModal-WiCrKFtF.mjs.map +1 -0
  53. package/dist/CheckIdentityModal-BT4bAjZH.mjs.map +1 -0
  54. package/dist/CheckIdentityModal-Bdaarn9z.mjs.map +1 -0
  55. package/dist/CheckIdentityModal-BmLHfifA.mjs.map +1 -0
  56. package/dist/CheckIdentityModal-CFetpilI.mjs +86 -0
  57. package/dist/CheckIdentityModal-CFetpilI.mjs.map +1 -0
  58. package/dist/CheckIdentityModal-CcQ-yIx1.mjs.map +1 -0
  59. package/dist/CheckIdentityModal-DWUSOi9U.mjs.map +1 -0
  60. package/dist/CheckIdentityModal-DfkabfeR.mjs.map +1 -0
  61. package/dist/CheckIdentityModal-n_pvPUHo.mjs.map +1 -0
  62. package/dist/ClassicAlert-dYigdfoZ.mjs +85 -0
  63. package/dist/ClipboardModal--RFsihO8.mjs.map +1 -0
  64. package/dist/ClipboardModal-4DyYAK9R.mjs.map +1 -0
  65. package/dist/ClipboardModal-BkAkLwiX.mjs.map +1 -0
  66. package/dist/ClipboardModal-CYB6DPmM.mjs.map +1 -0
  67. package/dist/ClipboardModal-DQjZO1T9.mjs +84 -0
  68. package/dist/ClipboardModal-DQjZO1T9.mjs.map +1 -0
  69. package/dist/ClipboardModal-DRPdNF4-.mjs.map +1 -0
  70. package/dist/ClipboardModal-I4ciABik.mjs.map +1 -0
  71. package/dist/ClipboardModal-jRe-s3Nq.mjs.map +1 -0
  72. package/dist/CommentBasicView-bNaLVdjT.mjs +129 -0
  73. package/dist/CommentInput-3tBdugWy.mjs.map +1 -0
  74. package/dist/CommentInput-BIMzw15T.mjs.map +1 -0
  75. package/dist/CommentInput-CvjgDqNj.mjs.map +1 -0
  76. package/dist/CommentInput-Cz6_b9L-.mjs.map +1 -0
  77. package/dist/CommentInput-D8tZkOG-.mjs +186 -0
  78. package/dist/CommentInput-D8tZkOG-.mjs.map +1 -0
  79. package/dist/CommentInput-DGFTWYsR.mjs.map +1 -0
  80. package/dist/CommentInput-DLHr5B2k.mjs.map +1 -0
  81. package/dist/CommentInput-DRFtGlfL.mjs.map +1 -0
  82. package/dist/CommentItem-B8KAYCXM.mjs.map +1 -0
  83. package/dist/CommentItem-BcDGIj4j.mjs.map +1 -0
  84. package/dist/CommentItem-CJizPyck.mjs.map +1 -0
  85. package/dist/CommentItem-CUplqibZ.mjs.map +1 -0
  86. package/dist/CommentItem-CWoKkkjw.mjs.map +1 -0
  87. package/dist/CommentItem-CZ-71XmG.mjs.map +1 -0
  88. package/dist/CommentItem-Ch41Z98I.mjs +232 -0
  89. package/dist/CommentItem-Ch41Z98I.mjs.map +1 -0
  90. package/dist/CommentItem-DPVn6d9G.mjs.map +1 -0
  91. package/dist/CommentItem-DPgO4tOH.mjs.map +1 -0
  92. package/dist/CommentItem-art5Jx5K.mjs.map +1 -0
  93. package/dist/CommentList-B-h1QlS6.mjs.map +1 -0
  94. package/dist/CommentList-B5mexnTc.mjs +302 -0
  95. package/dist/CommentList-B5mexnTc.mjs.map +1 -0
  96. package/dist/CommentList-B7XaNVz3.mjs.map +1 -0
  97. package/dist/CommentList-Cuf0OULL.mjs.map +1 -0
  98. package/dist/CommentList-D0LwsQbk.mjs.map +1 -0
  99. package/dist/CommentList-DFialBaE.mjs.map +1 -0
  100. package/dist/CommentList-DmnHO2lL.mjs.map +1 -0
  101. package/dist/CommentList-DoiH-YQS.mjs.map +1 -0
  102. package/dist/CommentList-Duun1VSS.mjs.map +1 -0
  103. package/dist/CommentList-_rPvd8-j.mjs.map +1 -0
  104. package/dist/CommentMoreActions-BJk7eXwo.mjs.map +1 -0
  105. package/dist/CommentMoreActions-Bllkl6AL.mjs.map +1 -0
  106. package/dist/CommentMoreActions-BsqvSj88.mjs.map +1 -0
  107. package/dist/CommentMoreActions-C228_ziZ.mjs.map +1 -0
  108. package/dist/CommentMoreActions-CZqt7Ebh.mjs +286 -0
  109. package/dist/CommentMoreActions-CZqt7Ebh.mjs.map +1 -0
  110. package/dist/CommentMoreActions-KcMao3px.mjs.map +1 -0
  111. package/dist/CommentMoreActions-YGdXAtRo.mjs.map +1 -0
  112. package/dist/CommentMoreActions-yh1EftdG.mjs.map +1 -0
  113. package/dist/CommentName-B5ZdVBJC.mjs.map +1 -0
  114. package/dist/CommentName-BD2azrrm.mjs.map +1 -0
  115. package/dist/CommentName-BYkiaMX_.mjs +96 -0
  116. package/dist/CommentName-BYkiaMX_.mjs.map +1 -0
  117. package/dist/CommentName-BqN7PAew.mjs.map +1 -0
  118. package/dist/CommentName-CucfZ1JU.mjs.map +1 -0
  119. package/dist/CommentName-DaIwG_1r.mjs.map +1 -0
  120. package/dist/CommentName-XprJ2e7m.mjs.map +1 -0
  121. package/dist/CommentName-uR2V1uBX.mjs.map +1 -0
  122. package/dist/CommentParentInfo-B-4IJZKq.mjs.map +1 -0
  123. package/dist/CommentParentInfo-B6QihN66.mjs.map +1 -0
  124. package/dist/CommentParentInfo-BXFmOZ3J.mjs.map +1 -0
  125. package/dist/CommentParentInfo-Br53Hnn_.mjs.map +1 -0
  126. package/dist/CommentParentInfo-BvXbU2AT.mjs.map +1 -0
  127. package/dist/CommentParentInfo-CJ4KEDxK.mjs.map +1 -0
  128. package/dist/CommentParentInfo-CTf8YGJo.mjs.map +1 -0
  129. package/dist/CommentParentInfo-CfLIKg-a.mjs +64 -0
  130. package/dist/CommentParentInfo-CfLIKg-a.mjs.map +1 -0
  131. package/dist/CommentParentInfo-CfftHGbK.mjs.map +1 -0
  132. package/dist/CommentParentInfo-CwLFPPLV.mjs.map +1 -0
  133. package/dist/CommentPlayer-BiHovckc.mjs.map +1 -0
  134. package/dist/CommentPlayer-CklZnbF-.mjs.map +1 -0
  135. package/dist/CommentPlayer-DOrCrOVs.mjs.map +1 -0
  136. package/dist/CommentPlayer-DcSLgaFs.mjs +86 -0
  137. package/dist/CommentPlayer-DcSLgaFs.mjs.map +1 -0
  138. package/dist/CommentPlayer-Dr_Q1wAp.mjs.map +1 -0
  139. package/dist/CommentPlayer-Mm8AHGK9.mjs.map +1 -0
  140. package/dist/CommentPlayer-vGqNfb9w.mjs.map +1 -0
  141. package/dist/CommentPlayer-zBrp41zL.mjs.map +1 -0
  142. package/dist/CommentSection-B7TEZHF7.mjs.map +1 -0
  143. package/dist/CommentSection-BIbRND09.mjs +141 -0
  144. package/dist/CommentSection-BIbRND09.mjs.map +1 -0
  145. package/dist/CommentSection-C2SMteiI.mjs.map +1 -0
  146. package/dist/CommentSection-D26c2dSY.mjs.map +1 -0
  147. package/dist/CommentSection-DJhCf4Tg.mjs.map +1 -0
  148. package/dist/CommentSection-Dot5tXUS.mjs.map +1 -0
  149. package/dist/CommentSection-MNW-Sgk9.mjs.map +1 -0
  150. package/dist/CommentSection-WOHdSA9i.mjs.map +1 -0
  151. package/dist/CommentSection-h5WRmElJ.mjs.map +1 -0
  152. package/dist/CommentSection-uUzVRMAv.mjs.map +1 -0
  153. package/dist/CommentStore-B7pzkLnJ.mjs.map +1 -0
  154. package/dist/CommentStore-B_XslEkb.mjs.map +1 -0
  155. package/dist/CommentStore-BsoQ8JE4.mjs.map +1 -0
  156. package/dist/CommentStore-CDafrQ9U.mjs.map +1 -0
  157. package/dist/CommentStore-CToql_kf.mjs.map +1 -0
  158. package/dist/CommentStore-D4aFuelo.mjs.map +1 -0
  159. package/dist/CommentStore-DY_JSo9-.mjs.map +1 -0
  160. package/dist/CommentStore-bKtPx6T5.mjs +355 -0
  161. package/dist/CommentStore-bKtPx6T5.mjs.map +1 -0
  162. package/dist/ContractPreviewModal-BIg6dTcF.mjs +101 -0
  163. package/dist/ContractPreviewModal-BIg6dTcF.mjs.map +1 -0
  164. package/dist/ContractPreviewModal-CAEx2t42.mjs.map +1 -0
  165. package/dist/ContractPreviewModal-CWzo13IS.mjs.map +1 -0
  166. package/dist/ContractPreviewModal-Cur6ifQn.mjs.map +1 -0
  167. package/dist/ContractPreviewModal-Cx2jOY0K.mjs.map +1 -0
  168. package/dist/ContractPreviewModal-DAubbTyX.mjs.map +1 -0
  169. package/dist/ContractPreviewModal-DJ9iuIRO.mjs.map +1 -0
  170. package/dist/ContractPreviewModal-TulGrNUs.mjs.map +1 -0
  171. package/dist/DownloadPodcastButton-BJFgMkGP.mjs.map +1 -0
  172. package/dist/DownloadPodcastButton-BTFYgyz4.mjs +53 -0
  173. package/dist/DownloadPodcastButton-BTFYgyz4.mjs.map +1 -0
  174. package/dist/DownloadPodcastButton-C49TUYY_.mjs.map +1 -0
  175. package/dist/DownloadPodcastButton-Cc1z8M72.mjs.map +1 -0
  176. package/dist/DownloadPodcastButton-CydCrTfy.mjs.map +1 -0
  177. package/dist/DownloadPodcastButton-D7aXh-rD.mjs.map +1 -0
  178. package/dist/DownloadPodcastButton-DWGsL65f.mjs.map +1 -0
  179. package/dist/DownloadPodcastButton-fUfwjwJ4.mjs.map +1 -0
  180. package/dist/EditCommentModal-BYUWBuPm.mjs.map +1 -0
  181. package/dist/EditCommentModal-Bb7urnA0.mjs.map +1 -0
  182. package/dist/EditCommentModal-BpEuISBJ.mjs.map +1 -0
  183. package/dist/EditCommentModal-BviwPlNi.mjs.map +1 -0
  184. package/dist/EditCommentModal-Cc8Ui6Cx.mjs +162 -0
  185. package/dist/EditCommentModal-Cc8Ui6Cx.mjs.map +1 -0
  186. package/dist/EditCommentModal-CgMvU9i5.mjs.map +1 -0
  187. package/dist/EditCommentModal-DMRkpZXe.mjs.map +1 -0
  188. package/dist/EditCommentModal-DlQjjiwI.mjs.map +1 -0
  189. package/dist/EmissionGroupChooser-4JVeuRE7.mjs.map +1 -0
  190. package/dist/EmissionGroupChooser-4JxjHyRy.mjs.map +1 -0
  191. package/dist/EmissionGroupChooser-5c7aD7hj.mjs +82 -0
  192. package/dist/EmissionGroupChooser-5c7aD7hj.mjs.map +1 -0
  193. package/dist/EmissionGroupChooser-BfqHSOeJ.mjs.map +1 -0
  194. package/dist/EmissionGroupChooser-BmVl7ww5.mjs.map +1 -0
  195. package/dist/EmissionGroupChooser-C44R_EK7.mjs.map +1 -0
  196. package/dist/EmissionGroupChooser-DcceBxVb.mjs.map +1 -0
  197. package/dist/EmissionGroupChooser-x_YFTdyX.mjs.map +1 -0
  198. package/dist/EmissionInlineList-B2WZU0tk.mjs.map +1 -0
  199. package/dist/EmissionInlineList-BI7_GMMn.mjs.map +1 -0
  200. package/dist/EmissionInlineList-BSJUVlop.mjs.map +1 -0
  201. package/dist/EmissionInlineList-C7O0r8HK.mjs.map +1 -0
  202. package/dist/EmissionInlineList-CRxNX4fl.mjs.map +1 -0
  203. package/dist/EmissionInlineList-D1Xsv_jA.mjs +188 -0
  204. package/dist/EmissionInlineList-D1Xsv_jA.mjs.map +1 -0
  205. package/dist/EmissionInlineList-DPXmDcbc.mjs.map +1 -0
  206. package/dist/EmissionInlineList-PJukOOru.mjs.map +1 -0
  207. package/dist/EmissionItem-3vn1MhKN.mjs.map +1 -0
  208. package/dist/EmissionItem-BNmzrbKU.mjs.map +1 -0
  209. package/dist/EmissionItem-Bd2IA2iK.mjs.map +1 -0
  210. package/dist/EmissionItem-BfBsk2Ch.mjs.map +1 -0
  211. package/dist/EmissionItem-Bft7IM7C.mjs +183 -0
  212. package/dist/EmissionItem-Bft7IM7C.mjs.map +1 -0
  213. package/dist/EmissionItem-BqkfUKmE.mjs.map +1 -0
  214. package/dist/EmissionItem-C9zqc2PQ.mjs.map +1 -0
  215. package/dist/EmissionItem-CQAB9kfZ.mjs.map +1 -0
  216. package/dist/EmissionItem-DPwRulfC.mjs.map +1 -0
  217. package/dist/EmissionItem-XbvPfojH.mjs.map +1 -0
  218. package/dist/EmissionList-B1SJIDcA.mjs.map +1 -0
  219. package/dist/EmissionList-B5cdTLCu.mjs.map +1 -0
  220. package/dist/EmissionList-Budx6wGr.mjs.map +1 -0
  221. package/dist/EmissionList-CsKEUEtb.mjs.map +1 -0
  222. package/dist/EmissionList-D6_r33dt.mjs.map +1 -0
  223. package/dist/EmissionList-DeHujYzJ.mjs.map +1 -0
  224. package/dist/EmissionList-GKZxghJ1.mjs.map +1 -0
  225. package/dist/EmissionList-PYqHKyad.mjs.map +1 -0
  226. package/dist/EmissionList-WLJL4eaJ.mjs.map +1 -0
  227. package/dist/EmissionList-ofS3nKr2.mjs +325 -0
  228. package/dist/EmissionList-ofS3nKr2.mjs.map +1 -0
  229. package/dist/EmissionPage-B2PQcnFH.mjs.map +1 -0
  230. package/dist/EmissionPage-BTxSGJj5.mjs.map +1 -0
  231. package/dist/EmissionPage-BZ50ZqRI.mjs.map +1 -0
  232. package/dist/EmissionPage-CLBPPbbB.mjs.map +1 -0
  233. package/dist/EmissionPage-CdlIsCg5.mjs +322 -0
  234. package/dist/EmissionPage-CdlIsCg5.mjs.map +1 -0
  235. package/dist/EmissionPage-D9wkUL1Y.mjs.map +1 -0
  236. package/dist/EmissionPage-DG-qKyj6.mjs.map +1 -0
  237. package/dist/EmissionPage-DNrzhRai.mjs.map +1 -0
  238. package/dist/EmissionPage-DVlt2bDB.mjs.map +1 -0
  239. package/dist/EmissionPage-De1hLTjf.mjs.map +1 -0
  240. package/dist/EmissionPage-DodwYSuK.mjs.map +1 -0
  241. package/dist/EmissionPage-oJCLeOwA.mjs.map +1 -0
  242. package/dist/EmissionPlayerItem-B3AA9DUG.mjs.map +1 -0
  243. package/dist/EmissionPlayerItem-B9nPhS0q.mjs +167 -0
  244. package/dist/EmissionPlayerItem-B9nPhS0q.mjs.map +1 -0
  245. package/dist/EmissionPlayerItem-BMsjj0mR.mjs.map +1 -0
  246. package/dist/EmissionPlayerItem-BfKXNH-8.mjs.map +1 -0
  247. package/dist/EmissionPlayerItem-Bkg_iKgu.mjs.map +1 -0
  248. package/dist/EmissionPlayerItem-D4hSP4g-.mjs.map +1 -0
  249. package/dist/EmissionPlayerItem-DXxYisqq.mjs.map +1 -0
  250. package/dist/EmissionPlayerItem-ZW4qsrH5.mjs.map +1 -0
  251. package/dist/EmissionPresentationItem-B4IO88Q5.mjs.map +1 -0
  252. package/dist/EmissionPresentationItem-Bix2Knlw.mjs.map +1 -0
  253. package/dist/EmissionPresentationItem-Btg6V02c.mjs.map +1 -0
  254. package/dist/EmissionPresentationItem-C6IUxgTa.mjs.map +1 -0
  255. package/dist/EmissionPresentationItem-D-Lv8tM_.mjs.map +1 -0
  256. package/dist/EmissionPresentationItem-GB4a2U55.mjs +78 -0
  257. package/dist/EmissionPresentationItem-GB4a2U55.mjs.map +1 -0
  258. package/dist/EmissionPresentationItem-c-pbVk_T.mjs.map +1 -0
  259. package/dist/EmissionPresentationItem-uMJB07l3.mjs.map +1 -0
  260. package/dist/EmissionPresentationList-7PqIDkc6.mjs.map +1 -0
  261. package/dist/EmissionPresentationList-B6PVvXwb.mjs.map +1 -0
  262. package/dist/EmissionPresentationList-B8o1I5tO.mjs.map +1 -0
  263. package/dist/EmissionPresentationList-COoLQosL.mjs.map +1 -0
  264. package/dist/EmissionPresentationList-CUdQrPW_.mjs.map +1 -0
  265. package/dist/EmissionPresentationList-Dt7u5Mla.mjs +125 -0
  266. package/dist/EmissionPresentationList-Dt7u5Mla.mjs.map +1 -0
  267. package/dist/EmissionPresentationList-JraWAUE3.mjs.map +1 -0
  268. package/dist/EmissionPresentationList-nUwmkWa7.mjs.map +1 -0
  269. package/dist/EmissionsPage--XXk91Dq.mjs.map +1 -0
  270. package/dist/EmissionsPage-AOA_2npV.mjs.map +1 -0
  271. package/dist/EmissionsPage-B4aRd98n.mjs.map +1 -0
  272. package/dist/EmissionsPage-BBh_t2QG.mjs.map +1 -0
  273. package/dist/EmissionsPage-BD9ucNwX.mjs.map +1 -0
  274. package/dist/EmissionsPage-BFLoIsdw.mjs.map +1 -0
  275. package/dist/EmissionsPage-BjLEwsfW.mjs.map +1 -0
  276. package/dist/EmissionsPage-BteDpLdX.mjs.map +1 -0
  277. package/dist/EmissionsPage-C55nLjOB.mjs.map +1 -0
  278. package/dist/EmissionsPage-D34ZU9Ce.mjs.map +1 -0
  279. package/dist/EmissionsPage-D7GU4S6G.mjs.map +1 -0
  280. package/dist/EmissionsPage-DQfu2UI-.mjs +203 -0
  281. package/dist/EmissionsPage-DQfu2UI-.mjs.map +1 -0
  282. package/dist/EmissionsPage-DgkUGrwU.mjs.map +1 -0
  283. package/dist/EmissionsPage-DpvPVwCI.mjs.map +1 -0
  284. package/dist/EmissionsPage-S-nMk436.mjs.map +1 -0
  285. package/dist/EmissionsPage-XQJ_lva0.mjs.map +1 -0
  286. package/dist/EmissionsPage-vd5bDbT3.mjs.map +1 -0
  287. package/dist/Error403Page-B419GrvA.mjs.map +1 -0
  288. package/dist/Error403Page-BF9K4EFP.mjs.map +1 -0
  289. package/dist/Error403Page-BselwjZ9.mjs.map +1 -0
  290. package/dist/Error403Page-CVbdhuN7.mjs.map +1 -0
  291. package/dist/Error403Page-CyWAyLFN.mjs.map +1 -0
  292. package/dist/Error403Page-cSGk6jdr.mjs.map +1 -0
  293. package/dist/Error403Page-xviuI62E.mjs.map +1 -0
  294. package/dist/Error403Page-yyOmweXn.mjs +69 -0
  295. package/dist/Error403Page-yyOmweXn.mjs.map +1 -0
  296. package/dist/ErrorMessage-DhSwu9H_.mjs +44 -0
  297. package/dist/FooterGarSection-BJ_nb3y-.mjs.map +1 -0
  298. package/dist/FooterGarSection-BKtQIAGm.mjs.map +1 -0
  299. package/dist/FooterGarSection-BX__olco.mjs.map +1 -0
  300. package/dist/FooterGarSection-BtCdH7Eh.mjs.map +1 -0
  301. package/dist/FooterGarSection-CTfWZV9U.mjs +71 -0
  302. package/dist/FooterGarSection-CTfWZV9U.mjs.map +1 -0
  303. package/dist/FooterGarSection-D4cPjQrK.mjs.map +1 -0
  304. package/dist/FooterGarSection-_nmbth7R.mjs.map +1 -0
  305. package/dist/FooterGarSection-syu-sY6D.mjs.map +1 -0
  306. package/dist/FooterSection-B7U-k8Y_.mjs +242 -0
  307. package/dist/FooterSection-B7U-k8Y_.mjs.map +1 -0
  308. package/dist/FooterSection-BCSsmDtK.mjs.map +1 -0
  309. package/dist/FooterSection-BTLGfXhO.mjs.map +1 -0
  310. package/dist/FooterSection-CzjmceG3.mjs.map +1 -0
  311. package/dist/FooterSection-DXN9hDpW.mjs.map +1 -0
  312. package/dist/FooterSection-VbNEwwAi.mjs.map +1 -0
  313. package/dist/FooterSection-oG2rsgql.mjs.map +1 -0
  314. package/dist/FooterSection-wV6U32yB.mjs.map +1 -0
  315. package/dist/HomeDropdown-35ltOXjq.mjs.map +1 -0
  316. package/dist/HomeDropdown-BBbLy3E2.mjs.map +1 -0
  317. package/dist/HomeDropdown-BEnuQwNk.mjs +110 -0
  318. package/dist/HomeDropdown-BEnuQwNk.mjs.map +1 -0
  319. package/dist/HomeDropdown-BVgXclga.mjs.map +1 -0
  320. package/dist/HomeDropdown-BoUAW1-A.mjs.map +1 -0
  321. package/dist/HomeDropdown-BrBAtaGS.mjs.map +1 -0
  322. package/dist/HomeDropdown-C1t9_37d.mjs.map +1 -0
  323. package/dist/HomeDropdown-CiHwBZRw.mjs.map +1 -0
  324. package/dist/HomePage-1oKIZIbD.mjs.map +1 -0
  325. package/dist/HomePage-5g1hu6m5.mjs.map +1 -0
  326. package/dist/HomePage-8kFIB9jy.mjs.map +1 -0
  327. package/dist/HomePage-BmYeT77a.mjs +166 -0
  328. package/dist/HomePage-BmYeT77a.mjs.map +1 -0
  329. package/dist/HomePage-Bp4D88it.mjs.map +1 -0
  330. package/dist/HomePage-BqCRtmCZ.mjs.map +1 -0
  331. package/dist/HomePage-CA_D6kWn.mjs.map +1 -0
  332. package/dist/HomePage-CdTp7bkN.mjs.map +1 -0
  333. package/dist/HomePage-DLgNoCiZ.mjs.map +1 -0
  334. package/dist/HomePage-MqWZ8gYT.mjs.map +1 -0
  335. package/dist/LikeSection-B6iTVM7V.mjs.map +1 -0
  336. package/dist/LikeSection-CfDZ9By_.mjs.map +1 -0
  337. package/dist/LikeSection-Cnqh3BHR.mjs.map +1 -0
  338. package/dist/LikeSection-CwImuD6V.mjs.map +1 -0
  339. package/dist/LikeSection-D2afnKgR.mjs.map +1 -0
  340. package/dist/LikeSection-a0Qwb0pP.mjs.map +1 -0
  341. package/dist/LikeSection-cjuHVDUb.mjs.map +1 -0
  342. package/dist/LikeSection-xxZrcE6h.mjs +167 -0
  343. package/dist/LikeSection-xxZrcE6h.mjs.map +1 -0
  344. package/dist/ListPaginate-B2GfJ2XG.mjs.map +1 -0
  345. package/dist/ListPaginate-B2sluwKR.mjs.map +1 -0
  346. package/dist/ListPaginate-BVgC_EZc.mjs.map +1 -0
  347. package/dist/ListPaginate-BXC7Wa9A.mjs.map +1 -0
  348. package/dist/ListPaginate-C9YUNHKq.mjs +202 -0
  349. package/dist/ListPaginate-C9YUNHKq.mjs.map +1 -0
  350. package/dist/ListPaginate-CXKYbF91.mjs.map +1 -0
  351. package/dist/ListPaginate-CZg4bNAV.mjs.map +1 -0
  352. package/dist/ListPaginate-Dahe7nCi.mjs.map +1 -0
  353. package/dist/LiveHorizontalList-4qHj8EkS.mjs +136 -0
  354. package/dist/LiveHorizontalList-4qHj8EkS.mjs.map +1 -0
  355. package/dist/LiveHorizontalList-BdKG9ZRq.mjs.map +1 -0
  356. package/dist/LiveHorizontalList-BjtpeOER.mjs.map +1 -0
  357. package/dist/LiveHorizontalList-BlOA_SQ-.mjs.map +1 -0
  358. package/dist/LiveHorizontalList-BrVLNbcs.mjs.map +1 -0
  359. package/dist/LiveHorizontalList-Bt6RBhFx.mjs.map +1 -0
  360. package/dist/LiveHorizontalList-CUeTCxa9.mjs.map +1 -0
  361. package/dist/LiveHorizontalList-DGsHkZXl.mjs.map +1 -0
  362. package/dist/LiveHorizontalList-DaAIBl8_.mjs.map +1 -0
  363. package/dist/LiveHorizontalList-KEcCCoFy.mjs.map +1 -0
  364. package/dist/LiveList-BAfaKtst.mjs.map +1 -0
  365. package/dist/LiveList-BNSIdMf6.mjs +324 -0
  366. package/dist/LiveList-BNSIdMf6.mjs.map +1 -0
  367. package/dist/LiveList-C2LaQd-X.mjs.map +1 -0
  368. package/dist/LiveList-C2MkulGa.mjs.map +1 -0
  369. package/dist/LiveList-DmPveHiA.mjs.map +1 -0
  370. package/dist/LiveList-DougZkb5.mjs.map +1 -0
  371. package/dist/LiveList-SQEyqtXv.mjs.map +1 -0
  372. package/dist/LiveList-d6sxftRL.mjs.map +1 -0
  373. package/dist/LiveList-n5YhfpuV.mjs.map +1 -0
  374. package/dist/LiveList-w_Uqo7pC.mjs.map +1 -0
  375. package/dist/LivesPage-8mNTX_aq.mjs.map +1 -0
  376. package/dist/LivesPage-B8A5oY3Z.mjs.map +1 -0
  377. package/dist/LivesPage-BGB4yHJJ.mjs.map +1 -0
  378. package/dist/LivesPage-Boq-efi1.mjs +76 -0
  379. package/dist/LivesPage-Boq-efi1.mjs.map +1 -0
  380. package/dist/LivesPage-CHKMYyz7.mjs.map +1 -0
  381. package/dist/LivesPage-CVHOjcu9.mjs.map +1 -0
  382. package/dist/LivesPage-ChSsKzdr.mjs.map +1 -0
  383. package/dist/LivesPage-DLRlZsFD.mjs.map +1 -0
  384. package/dist/LivesPage-DXsXeGhq.mjs.map +1 -0
  385. package/dist/LivesPage-y5cSmL9j.mjs.map +1 -0
  386. package/dist/MapPage-BTugok5X.mjs.map +1 -0
  387. package/dist/MapPage-BfFDi0lK.mjs.map +1 -0
  388. package/dist/MapPage-CSpj96-Z.mjs.map +1 -0
  389. package/dist/MapPage-DJqTgIys.mjs.map +1 -0
  390. package/dist/MapPage-DOYeoa-x.mjs +303 -0
  391. package/dist/MapPage-DOYeoa-x.mjs.map +1 -0
  392. package/dist/MapPage-FWrSf-_O.mjs.map +1 -0
  393. package/dist/MapPage-GzLpp82r.mjs.map +1 -0
  394. package/dist/MapPage-OY3Bjb-x.mjs.map +1 -0
  395. package/dist/MobileMenu-B9u1xQu8.mjs +187 -0
  396. package/dist/MobileMenu-B9u1xQu8.mjs.map +1 -0
  397. package/dist/MobileMenu-BRUze5FH.mjs.map +1 -0
  398. package/dist/MobileMenu-CLuWzQ3z.mjs.map +1 -0
  399. package/dist/MobileMenu-D0_AG2lW.mjs.map +1 -0
  400. package/dist/MobileMenu-DES01JNf.mjs.map +1 -0
  401. package/dist/MobileMenu-DyfgyHgN.mjs.map +1 -0
  402. package/dist/MobileMenu-S37TAWuK.mjs.map +1 -0
  403. package/dist/MobileMenu-crc2wKfq.mjs.map +1 -0
  404. package/dist/NewsletterModal-2kYChOhX.mjs.map +1 -0
  405. package/dist/NewsletterModal-CEYb1exr.mjs.map +1 -0
  406. package/dist/NewsletterModal-CV11PCGE.mjs +82 -0
  407. package/dist/NewsletterModal-CV11PCGE.mjs.map +1 -0
  408. package/dist/NewsletterModal-CkR4W1Ht.mjs.map +1 -0
  409. package/dist/NewsletterModal-D7HrTutI.mjs.map +1 -0
  410. package/dist/NewsletterModal-DZDCvN7c.mjs.map +1 -0
  411. package/dist/NewsletterModal-DvRTsz_F.mjs.map +1 -0
  412. package/dist/NewsletterModal-KW33yovN.mjs.map +1 -0
  413. package/dist/OrganisationChooser-C0eRYOpz.mjs.map +1 -0
  414. package/dist/OrganisationChooser-C8lM4mh-.mjs +190 -0
  415. package/dist/OrganisationChooser-C8lM4mh-.mjs.map +1 -0
  416. package/dist/OrganisationChooser-CEtiqAHc.mjs.map +1 -0
  417. package/dist/OrganisationChooser-Cw9yAxM1.mjs.map +1 -0
  418. package/dist/OrganisationChooser-DlUUt477.mjs.map +1 -0
  419. package/dist/OrganisationChooser-PPMxSop3.mjs.map +1 -0
  420. package/dist/OrganisationChooser-_-CAzQyG.mjs.map +1 -0
  421. package/dist/OrganisationChooser-wmM2dstX.mjs.map +1 -0
  422. package/dist/OrganisationChooserLight-2xITz8LG.mjs.map +1 -0
  423. package/dist/OrganisationChooserLight-B6Ffp6Z5.mjs.map +1 -0
  424. package/dist/OrganisationChooserLight-BI_H3aco.mjs.map +1 -0
  425. package/dist/OrganisationChooserLight-BN4PqeMz.mjs.map +1 -0
  426. package/dist/OrganisationChooserLight-BZRuebHC.mjs.map +1 -0
  427. package/dist/OrganisationChooserLight-B_Bn5uSJ.mjs +84 -0
  428. package/dist/OrganisationChooserLight-B_Bn5uSJ.mjs.map +1 -0
  429. package/dist/OrganisationChooserLight-D8dRc3o0.mjs.map +1 -0
  430. package/dist/OrganisationChooserLight-tifNDlC_.mjs.map +1 -0
  431. package/dist/PageNotFound-BcAeMiaz.mjs +58 -0
  432. package/dist/PageNotFound-BcAeMiaz.mjs.map +1 -0
  433. package/dist/PageNotFound-C-AtqE7u.mjs.map +1 -0
  434. package/dist/PageNotFound-CQoSdX4h.mjs.map +1 -0
  435. package/dist/PageNotFound-DCyGvvjK.mjs.map +1 -0
  436. package/dist/PageNotFound-DDu5NdY6.mjs.map +1 -0
  437. package/dist/PageNotFound-DMhQmfyW.mjs.map +1 -0
  438. package/dist/PageNotFound-DiO28Uji.mjs.map +1 -0
  439. package/dist/PageNotFound-sTlWzrAN.mjs.map +1 -0
  440. package/dist/ParticipantInlineList-B1vb8SQt.mjs.map +1 -0
  441. package/dist/ParticipantInlineList-B5MkLUnV.mjs.map +1 -0
  442. package/dist/ParticipantInlineList-BP9OjWPq.mjs +117 -0
  443. package/dist/ParticipantInlineList-BP9OjWPq.mjs.map +1 -0
  444. package/dist/ParticipantInlineList-BYdLxjB-.mjs.map +1 -0
  445. package/dist/ParticipantInlineList-C-OvFC-T.mjs.map +1 -0
  446. package/dist/ParticipantInlineList-DKfNcyCs.mjs.map +1 -0
  447. package/dist/ParticipantInlineList-DxR0tF8d.mjs.map +1 -0
  448. package/dist/ParticipantInlineList-IdQ4k-BB.mjs.map +1 -0
  449. package/dist/ParticipantInlineList-Jp6ZPUiC.mjs.map +1 -0
  450. package/dist/ParticipantInlineList-xr_f6rws.mjs.map +1 -0
  451. package/dist/ParticipantItem-1mjH8LQc.mjs.map +1 -0
  452. package/dist/ParticipantItem-B5LzNAVr.mjs.map +1 -0
  453. package/dist/ParticipantItem-B6rGq73q.mjs.map +1 -0
  454. package/dist/ParticipantItem-BT0kKsD_.mjs.map +1 -0
  455. package/dist/ParticipantItem-BsBOW5Yg.mjs.map +1 -0
  456. package/dist/ParticipantItem-C20V5K4U.mjs.map +1 -0
  457. package/dist/ParticipantItem-CKNqNtC5.mjs.map +1 -0
  458. package/dist/ParticipantItem-DROwf2Gt.mjs +138 -0
  459. package/dist/ParticipantItem-DROwf2Gt.mjs.map +1 -0
  460. package/dist/ParticipantItem-TDEi9-3v.mjs.map +1 -0
  461. package/dist/ParticipantItem-gqm3Owcx.mjs.map +1 -0
  462. package/dist/ParticipantPage-BGAqjBAA.mjs.map +1 -0
  463. package/dist/ParticipantPage-BQlW9QQ-.mjs.map +1 -0
  464. package/dist/ParticipantPage-BbhRQklZ.mjs.map +1 -0
  465. package/dist/ParticipantPage-Be2HlTm5.mjs.map +1 -0
  466. package/dist/ParticipantPage-BqPiczyZ.mjs.map +1 -0
  467. package/dist/ParticipantPage-By7Ypu8d.mjs.map +1 -0
  468. package/dist/ParticipantPage-C93DkNt5.mjs +203 -0
  469. package/dist/ParticipantPage-C93DkNt5.mjs.map +1 -0
  470. package/dist/ParticipantPage-CQ9hF05G.mjs.map +1 -0
  471. package/dist/ParticipantPage-DngwIHgZ.mjs.map +1 -0
  472. package/dist/ParticipantPage-cDn-E9VN.mjs.map +1 -0
  473. package/dist/ParticipantPage-hgT3P6p-.mjs.map +1 -0
  474. package/dist/ParticipantPage-zjsGF4KY.mjs.map +1 -0
  475. package/dist/ParticipantsPage-BIlXpxuX.mjs.map +1 -0
  476. package/dist/ParticipantsPage-Bb_0zdJj.mjs.map +1 -0
  477. package/dist/ParticipantsPage-BpN4nG3P.mjs.map +1 -0
  478. package/dist/ParticipantsPage-Bxm26IWx.mjs.map +1 -0
  479. package/dist/ParticipantsPage-C1VilJ_B.mjs.map +1 -0
  480. package/dist/ParticipantsPage-CHs_EUKe.mjs.map +1 -0
  481. package/dist/ParticipantsPage-CuIGt0hS.mjs +262 -0
  482. package/dist/ParticipantsPage-CuIGt0hS.mjs.map +1 -0
  483. package/dist/ParticipantsPage-DZRDaeeU.mjs.map +1 -0
  484. package/dist/ParticipantsPage-Dh4qxy53.mjs.map +1 -0
  485. package/dist/ParticipantsPage-DsSdBC7m.mjs.map +1 -0
  486. package/dist/ParticipantsPage-vriueLXv.mjs.map +1 -0
  487. package/dist/PlayerAnonymousModal-C_YX6p2e.mjs.map +1 -0
  488. package/dist/PlayerAnonymousModal-DID5SKut.mjs.map +1 -0
  489. package/dist/PlayerAnonymousModal-DJRBilzy.mjs.map +1 -0
  490. package/dist/PlayerAnonymousModal-DL5bX-br.mjs.map +1 -0
  491. package/dist/PlayerAnonymousModal-DS-xCiYS.mjs.map +1 -0
  492. package/dist/PlayerAnonymousModal-DShsz29z.mjs +84 -0
  493. package/dist/PlayerAnonymousModal-DShsz29z.mjs.map +1 -0
  494. package/dist/PlayerAnonymousModal-N7254PdP.mjs.map +1 -0
  495. package/dist/PlayerAnonymousModal-PSOxZM4G.mjs.map +1 -0
  496. package/dist/PlayerCompact-2c7jXoLe.mjs.map +1 -0
  497. package/dist/PlayerCompact-B6RkPvdB.mjs.map +1 -0
  498. package/dist/PlayerCompact-BKZC9_Q3.mjs.map +1 -0
  499. package/dist/PlayerCompact-BVSkJWnf.mjs +209 -0
  500. package/dist/PlayerCompact-BVSkJWnf.mjs.map +1 -0
  501. package/dist/PlayerCompact-BrA80Jz_.mjs.map +1 -0
  502. package/dist/PlayerCompact-CYykvc0T.mjs.map +1 -0
  503. package/dist/PlayerCompact-DLQYBn_3.mjs.map +1 -0
  504. package/dist/PlayerCompact-DbGxllSc.mjs.map +1 -0
  505. package/dist/PlayerComponent-BjkuZ9bv.mjs.map +1 -0
  506. package/dist/PlayerComponent-CLm4OApf.mjs.map +1 -0
  507. package/dist/PlayerComponent-D0kpJ6o7.mjs.map +1 -0
  508. package/dist/PlayerComponent-D56wEuQi.mjs.map +1 -0
  509. package/dist/PlayerComponent-DKwM8vDK.mjs.map +1 -0
  510. package/dist/PlayerComponent-DVnvB6Ky.mjs.map +1 -0
  511. package/dist/PlayerComponent-dU_bgj3K.mjs +929 -0
  512. package/dist/PlayerComponent-dU_bgj3K.mjs.map +1 -0
  513. package/dist/PlayerComponent-fTZlW3Ea.mjs.map +1 -0
  514. package/dist/PlayerLarge-B0qqu2xB.mjs.map +1 -0
  515. package/dist/PlayerLarge-BdsuxcfX.mjs.map +1 -0
  516. package/dist/PlayerLarge-Bl41fSG2.mjs.map +1 -0
  517. package/dist/PlayerLarge-BnsLvwU7.mjs +190 -0
  518. package/dist/PlayerLarge-BnsLvwU7.mjs.map +1 -0
  519. package/dist/PlayerLarge-C0XfCxlz.mjs.map +1 -0
  520. package/dist/PlayerLarge-DROavb5D.mjs.map +1 -0
  521. package/dist/PlayerLarge-DaZlXOLQ.mjs.map +1 -0
  522. package/dist/PlayerLarge-LCB9mX1V.mjs.map +1 -0
  523. package/dist/PlayerPlayButton-BYEFygUQ.mjs.map +1 -0
  524. package/dist/PlayerPlayButton-BuF91IV9.mjs.map +1 -0
  525. package/dist/PlayerPlayButton-CCpKjcaD.mjs.map +1 -0
  526. package/dist/PlayerPlayButton-DPAfPfHk.mjs +400 -0
  527. package/dist/PlayerPlayButton-DPAfPfHk.mjs.map +1 -0
  528. package/dist/PlayerPlayButton-DRhJLBkl.mjs.map +1 -0
  529. package/dist/PlayerPlayButton-DgJ9DiOR.mjs.map +1 -0
  530. package/dist/PlayerPlayButton-XEcwJsYc.mjs.map +1 -0
  531. package/dist/PlayerPlayButton-sOXhGXWT.mjs.map +1 -0
  532. package/dist/PlayerProgressBar-B44UhkFM.mjs.map +1 -0
  533. package/dist/PlayerProgressBar-BFOvttHk.mjs.map +1 -0
  534. package/dist/PlayerProgressBar-BFz7oBO4.mjs.map +1 -0
  535. package/dist/PlayerProgressBar-C4yp-pJs.mjs.map +1 -0
  536. package/dist/PlayerProgressBar-Ckvqrxxj.mjs.map +1 -0
  537. package/dist/PlayerProgressBar-JkhTTJ1j.mjs.map +1 -0
  538. package/dist/PlayerProgressBar-dPZf2Fgd.mjs +86 -0
  539. package/dist/PlayerProgressBar-dPZf2Fgd.mjs.map +1 -0
  540. package/dist/PlayerProgressBar-xos_D8_I.mjs.map +1 -0
  541. package/dist/PlayerStore-C0e_C1mg.mjs.map +1 -0
  542. package/dist/PlayerStore-CLBB4vTl.mjs.map +1 -0
  543. package/dist/PlayerStore-CNq7ffD-.mjs.map +1 -0
  544. package/dist/PlayerStore-CPx-OF46.mjs.map +1 -0
  545. package/dist/PlayerStore-D2kYKiYY.mjs.map +1 -0
  546. package/dist/PlayerStore-D75I--B4.mjs.map +1 -0
  547. package/dist/PlayerStore-DN54JPUv.mjs.map +1 -0
  548. package/dist/PlayerStore-PXL_fAz0.mjs +230 -0
  549. package/dist/PlayerStore-PXL_fAz0.mjs.map +1 -0
  550. package/dist/PlayerVideo--_Kz9vbZ.mjs +72 -0
  551. package/dist/PlayerVideo--_Kz9vbZ.mjs.map +1 -0
  552. package/dist/PlayerVideo-CGxMdLTE.mjs.map +1 -0
  553. package/dist/PlayerVideo-CSPWdFmf.mjs.map +1 -0
  554. package/dist/PlayerVideo-DN4cWeQP.mjs.map +1 -0
  555. package/dist/PlayerVideo-DPkWsgZo.mjs.map +1 -0
  556. package/dist/PlayerVideo-DT9wZfso.mjs.map +1 -0
  557. package/dist/PlayerVideo-Dbw8-jzi.mjs.map +1 -0
  558. package/dist/PlayerVideo-DcndZxyL.mjs.map +1 -0
  559. package/dist/PlayerVideoDigiteka-B0DM5dUQ.mjs.map +1 -0
  560. package/dist/PlayerVideoDigiteka-B4oUahid.mjs.map +1 -0
  561. package/dist/PlayerVideoDigiteka-BCstFOQv.mjs.map +1 -0
  562. package/dist/PlayerVideoDigiteka-BcXsqqhY.mjs.map +1 -0
  563. package/dist/PlayerVideoDigiteka-BgXoXF4i.mjs.map +1 -0
  564. package/dist/PlayerVideoDigiteka-C2P_Q4Fe.mjs +102 -0
  565. package/dist/PlayerVideoDigiteka-C2P_Q4Fe.mjs.map +1 -0
  566. package/dist/PlayerVideoDigiteka-CGHmdkUL.mjs.map +1 -0
  567. package/dist/PlayerVideoDigiteka-CPJ-l8KX.mjs.map +1 -0
  568. package/dist/PlayerVideoHls-BOZLkJA2.mjs.map +1 -0
  569. package/dist/PlayerVideoHls-BZm6iEVQ.mjs.map +1 -0
  570. package/dist/PlayerVideoHls-Csj2_tFT.mjs.map +1 -0
  571. package/dist/PlayerVideoHls-DPd15ZKL.mjs.map +1 -0
  572. package/dist/PlayerVideoHls-DZBGdNv8.mjs.map +1 -0
  573. package/dist/PlayerVideoHls-Dgxsarmp.mjs.map +1 -0
  574. package/dist/PlayerVideoHls-Dhc3_vMY.mjs.map +1 -0
  575. package/dist/PlayerVideoHls-Rk-hz2k-.mjs +232 -0
  576. package/dist/PlayerVideoHls-Rk-hz2k-.mjs.map +1 -0
  577. package/dist/PlaylistPage-CARz8SKq.mjs.map +1 -0
  578. package/dist/PlaylistPage-CdKGH_W2.mjs.map +1 -0
  579. package/dist/PlaylistPage-CvlY8R47.mjs.map +1 -0
  580. package/dist/PlaylistPage-CzgrhwRb.mjs.map +1 -0
  581. package/dist/PlaylistPage-Czoocs0q.mjs.map +1 -0
  582. package/dist/PlaylistPage-DN8FxJED.mjs.map +1 -0
  583. package/dist/PlaylistPage-DgbdClfy.mjs.map +1 -0
  584. package/dist/PlaylistPage-DvJjwvI_.mjs.map +1 -0
  585. package/dist/PlaylistPage-U_IMEiNw.mjs +228 -0
  586. package/dist/PlaylistPage-U_IMEiNw.mjs.map +1 -0
  587. package/dist/PlaylistPage-ubSxWN1i.mjs.map +1 -0
  588. package/dist/PlaylistPage-vPX_wwEO.mjs.map +1 -0
  589. package/dist/PlaylistsPage--BdUCleq.mjs.map +1 -0
  590. package/dist/PlaylistsPage-4p58SShT.mjs +395 -0
  591. package/dist/PlaylistsPage-4p58SShT.mjs.map +1 -0
  592. package/dist/PlaylistsPage-BHF-3tgl.mjs.map +1 -0
  593. package/dist/PlaylistsPage-BHkETgSa.mjs.map +1 -0
  594. package/dist/PlaylistsPage-C8RfANak.mjs.map +1 -0
  595. package/dist/PlaylistsPage-CQ3G3kWz.mjs.map +1 -0
  596. package/dist/PlaylistsPage-DImJmIkL.mjs.map +1 -0
  597. package/dist/PlaylistsPage-DPDsiGh5.mjs.map +1 -0
  598. package/dist/PlaylistsPage-dTb2DeOD.mjs.map +1 -0
  599. package/dist/PodcastFilterList-BNIGxX1P.mjs.map +1 -0
  600. package/dist/PodcastFilterList-BT0RdGZZ.mjs.map +1 -0
  601. package/dist/PodcastFilterList-CBWs4fv5.mjs.map +1 -0
  602. package/dist/PodcastFilterList-CQfMOODn.mjs.map +1 -0
  603. package/dist/PodcastFilterList-DR2-SQEy.mjs.map +1 -0
  604. package/dist/PodcastFilterList-Dl0aHVq0.mjs.map +1 -0
  605. package/dist/PodcastFilterList-Dp00QEzb.mjs.map +1 -0
  606. package/dist/PodcastFilterList-WhVuAT9m.mjs.map +1 -0
  607. package/dist/PodcastFilterList-b50X-KG5.mjs.map +1 -0
  608. package/dist/PodcastFilterList-gOQb-JT-.mjs +254 -0
  609. package/dist/PodcastFilterList-gOQb-JT-.mjs.map +1 -0
  610. package/dist/PodcastFilterList-k__beBra.mjs.map +1 -0
  611. package/dist/PodcastImage-3rt4Du7n.mjs.map +1 -0
  612. package/dist/PodcastImage-B6tLtLst.mjs.map +1 -0
  613. package/dist/PodcastImage-BNI3Vww3.mjs.map +1 -0
  614. package/dist/PodcastImage-CE22bv7L.mjs.map +1 -0
  615. package/dist/PodcastImage-CEBOyzBz.mjs.map +1 -0
  616. package/dist/PodcastImage-CznWyL4p.mjs.map +1 -0
  617. package/dist/PodcastImage-DdDPqcxA.mjs.map +1 -0
  618. package/dist/PodcastImage-Dg912wL7.mjs.map +1 -0
  619. package/dist/PodcastImage-DticDvGz.mjs +174 -0
  620. package/dist/PodcastImage-DticDvGz.mjs.map +1 -0
  621. package/dist/PodcastImage-PGYxErxr.mjs.map +1 -0
  622. package/dist/PodcastInlineList-BL3HG-jw.mjs.map +1 -0
  623. package/dist/PodcastInlineList-BjZOw0wI.mjs.map +1 -0
  624. package/dist/PodcastInlineList-C3vrMZAk.mjs.map +1 -0
  625. package/dist/PodcastInlineList-CTD_tFe2.mjs +138 -0
  626. package/dist/PodcastInlineList-CTD_tFe2.mjs.map +1 -0
  627. package/dist/PodcastInlineList-ChJ8ddi5.mjs.map +1 -0
  628. package/dist/PodcastInlineList-Cmu2cTOP.mjs.map +1 -0
  629. package/dist/PodcastInlineList-D38wBYK7.mjs.map +1 -0
  630. package/dist/PodcastInlineList-D5Dl0h8V.mjs.map +1 -0
  631. package/dist/PodcastInlineList-MHNlQLuq.mjs.map +1 -0
  632. package/dist/PodcastInlineList-tEw2WJmy.mjs.map +1 -0
  633. package/dist/PodcastInlineListTemplate-BfxRCala.mjs.map +1 -0
  634. package/dist/PodcastInlineListTemplate-Btey7iJS.mjs.map +1 -0
  635. package/dist/PodcastInlineListTemplate-C9_KNnaX.mjs +233 -0
  636. package/dist/PodcastInlineListTemplate-C9_KNnaX.mjs.map +1 -0
  637. package/dist/PodcastInlineListTemplate-CKXco61U.mjs.map +1 -0
  638. package/dist/PodcastInlineListTemplate-CW7XOFr2.mjs.map +1 -0
  639. package/dist/PodcastInlineListTemplate-D4ifVB1D.mjs.map +1 -0
  640. package/dist/PodcastInlineListTemplate-DxGdlfy4.mjs.map +1 -0
  641. package/dist/PodcastInlineListTemplate-a9VjM3GU.mjs.map +1 -0
  642. package/dist/PodcastIsPlaying-1o91KNzu.mjs +30 -0
  643. package/dist/PodcastIsPlaying-1o91KNzu.mjs.map +1 -0
  644. package/dist/PodcastIsPlaying-BIQLnXYe.mjs.map +1 -0
  645. package/dist/PodcastIsPlaying-C56D5WUb.mjs.map +1 -0
  646. package/dist/PodcastIsPlaying-CUZDPjY0.mjs.map +1 -0
  647. package/dist/PodcastIsPlaying-CcUQuYF2.mjs.map +1 -0
  648. package/dist/PodcastIsPlaying-Dar4_RJh.mjs.map +1 -0
  649. package/dist/PodcastIsPlaying-DlbPM1vB.mjs.map +1 -0
  650. package/dist/PodcastIsPlaying-XPmIL3mo.mjs.map +1 -0
  651. package/dist/PodcastItem-B7tNxSnJ.mjs.map +1 -0
  652. package/dist/PodcastItem-BLywqk77.mjs.map +1 -0
  653. package/dist/PodcastItem-BhCkyYQc.mjs.map +1 -0
  654. package/dist/PodcastItem-BjHbNB4_.mjs.map +1 -0
  655. package/dist/PodcastItem-Bxe64SHW.mjs.map +1 -0
  656. package/dist/PodcastItem-CVUC3kcq.mjs +287 -0
  657. package/dist/PodcastItem-CVUC3kcq.mjs.map +1 -0
  658. package/dist/PodcastItem-D-4uCT1T.mjs.map +1 -0
  659. package/dist/PodcastItem-D7cS1290.mjs.map +1 -0
  660. package/dist/PodcastItem-DRkTXsrb.mjs.map +1 -0
  661. package/dist/PodcastItem-R0ineZi1.mjs.map +1 -0
  662. package/dist/PodcastList-B3nkZx5X.mjs.map +1 -0
  663. package/dist/PodcastList-BPiaze5T.mjs.map +1 -0
  664. package/dist/PodcastList-BZPaW_8e.mjs.map +1 -0
  665. package/dist/PodcastList-BbNTOA48.mjs.map +1 -0
  666. package/dist/PodcastList-BgjMS4hk.mjs.map +1 -0
  667. package/dist/PodcastList-C3_ZT0bi.mjs.map +1 -0
  668. package/dist/PodcastList-CHCOgT9V.mjs.map +1 -0
  669. package/dist/PodcastList-CYST_dBw.mjs.map +1 -0
  670. package/dist/PodcastList-Cl8RvbI9.mjs +182 -0
  671. package/dist/PodcastList-Cl8RvbI9.mjs.map +1 -0
  672. package/dist/PodcastList-CqSK7CYJ.mjs.map +1 -0
  673. package/dist/PodcastList-CvI49Zla.mjs.map +1 -0
  674. package/dist/PodcastList-D3nOMQSq.mjs.map +1 -0
  675. package/dist/PodcastList-DIGFRh1_.mjs.map +1 -0
  676. package/dist/PodcastList-DdCswN5K.mjs.map +1 -0
  677. package/dist/PodcastList-Dr9xduuZ.mjs.map +1 -0
  678. package/dist/PodcastList-DwiKdU4Y.mjs +337 -0
  679. package/dist/PodcastList-DwiKdU4Y.mjs.map +1 -0
  680. package/dist/PodcastList-EUhESoCL.mjs.map +1 -0
  681. package/dist/PodcastList-Hu6r2Woc.mjs.map +1 -0
  682. package/dist/PodcastList-VjjRlCFP.mjs.map +1 -0
  683. package/dist/PodcastList-eqLNawaj.mjs.map +1 -0
  684. package/dist/PodcastList-vxE8PY8Y.mjs.map +1 -0
  685. package/dist/PodcastPage-2dDuJAeH.mjs.map +1 -0
  686. package/dist/PodcastPage-3RMuEQQb.mjs.map +1 -0
  687. package/dist/PodcastPage-BDWMnOpw.mjs.map +1 -0
  688. package/dist/PodcastPage-BQekxmbS.mjs.map +1 -0
  689. package/dist/PodcastPage-Ba8l7-aZ.mjs.map +1 -0
  690. package/dist/PodcastPage-BdI4XBWz.mjs.map +1 -0
  691. package/dist/PodcastPage-BmKOwWWI.mjs.map +1 -0
  692. package/dist/PodcastPage-Bs_N7lK9.mjs.map +1 -0
  693. package/dist/PodcastPage-BzLU5_P6.mjs +756 -0
  694. package/dist/PodcastPage-BzLU5_P6.mjs.map +1 -0
  695. package/dist/PodcastPage-C-vR6j8f.mjs.map +1 -0
  696. package/dist/PodcastPage-CVVpch4m.mjs.map +1 -0
  697. package/dist/PodcastPage-CaBpSV8P.mjs.map +1 -0
  698. package/dist/PodcastPage-CgVC5pkN.mjs.map +1 -0
  699. package/dist/PodcastPage-Ch9RnMIL.mjs.map +1 -0
  700. package/dist/PodcastPage-Chnk40S3.mjs.map +1 -0
  701. package/dist/PodcastPage-CxgDjPmw.mjs.map +1 -0
  702. package/dist/PodcastPage-D9oTXPQA.mjs.map +1 -0
  703. package/dist/PodcastPage-DArPlovn.mjs.map +1 -0
  704. package/dist/PodcastPage-DKkGchaE.mjs.map +1 -0
  705. package/dist/PodcastPage-D_JZDZKR.mjs.map +1 -0
  706. package/dist/PodcastPage-D_q-yXwq.mjs.map +1 -0
  707. package/dist/PodcastPage-Dp3jFm5s.mjs.map +1 -0
  708. package/dist/PodcastPage-DwsbnaXf.mjs.map +1 -0
  709. package/dist/PodcastPage-ZtKNDeYE.mjs.map +1 -0
  710. package/dist/PodcastPage-evNbROa8.mjs.map +1 -0
  711. package/dist/PodcastPage-i-nAt1zr.mjs.map +1 -0
  712. package/dist/PodcastPage-qoJOnX0L.mjs.map +1 -0
  713. package/dist/PodcastPlayBar-B1gj_epU.mjs.map +1 -0
  714. package/dist/PodcastPlayBar-BCxbApQ5.mjs.map +1 -0
  715. package/dist/PodcastPlayBar-CcpnX-tu.mjs.map +1 -0
  716. package/dist/PodcastPlayBar-CgN4QvcV.mjs.map +1 -0
  717. package/dist/PodcastPlayBar-DPEA8kyc.mjs.map +1 -0
  718. package/dist/PodcastPlayBar-DmF4hHVi.mjs.map +1 -0
  719. package/dist/PodcastPlayBar-hxLcx9MN.mjs +83 -0
  720. package/dist/PodcastPlayBar-hxLcx9MN.mjs.map +1 -0
  721. package/dist/PodcastPlayBar-ts50uiUL.mjs.map +1 -0
  722. package/dist/PodcastPlayBasicButton-0tMLmnJn.mjs +72 -0
  723. package/dist/PodcastPlayBasicButton-0tMLmnJn.mjs.map +1 -0
  724. package/dist/PodcastPlayBasicButton-CBxGHrsW.mjs.map +1 -0
  725. package/dist/PodcastPlayBasicButton-CMX3TEUr.mjs.map +1 -0
  726. package/dist/PodcastPlayBasicButton-Cfv99_Fm.mjs.map +1 -0
  727. package/dist/PodcastPlayBasicButton-D-2Jnu7W.mjs.map +1 -0
  728. package/dist/PodcastPlayBasicButton-DBNy6QvN.mjs.map +1 -0
  729. package/dist/PodcastPlayBasicButton-DzP7njbX.mjs.map +1 -0
  730. package/dist/PodcastPlayBasicButton-jP7W3Eew.mjs.map +1 -0
  731. package/dist/PodcastPlayButton-B1ZB8WY8.mjs +236 -0
  732. package/dist/PodcastPlayButton-B1ZB8WY8.mjs.map +1 -0
  733. package/dist/PodcastPlayButton-BP4NGIPP.mjs.map +1 -0
  734. package/dist/PodcastPlayButton-BRl3bOb1.mjs.map +1 -0
  735. package/dist/PodcastPlayButton-Bxx4WLzB.mjs.map +1 -0
  736. package/dist/PodcastPlayButton-D4QSivX3.mjs.map +1 -0
  737. package/dist/PodcastPlayButton-Dq4Sk28P.mjs.map +1 -0
  738. package/dist/PodcastPlayButton-G0560Ku_.mjs.map +1 -0
  739. package/dist/PodcastPlayButton-ZEsE86G2.mjs.map +1 -0
  740. package/dist/PodcastPlayButton-e5wAxIbl.mjs.map +1 -0
  741. package/dist/PodcastPlayButton-s3FCNszx.mjs.map +1 -0
  742. package/dist/PodcastPlaylistInlineList-BMxtKmsl.mjs.map +1 -0
  743. package/dist/PodcastPlaylistInlineList-Bc59FFVF.mjs.map +1 -0
  744. package/dist/PodcastPlaylistInlineList-BwHWwEba.mjs.map +1 -0
  745. package/dist/PodcastPlaylistInlineList-C0ZXsm08.mjs.map +1 -0
  746. package/dist/PodcastPlaylistInlineList-CNifljW-.mjs.map +1 -0
  747. package/dist/PodcastPlaylistInlineList-CgCUOZhg.mjs.map +1 -0
  748. package/dist/PodcastPlaylistInlineList-CvI8XIs3.mjs.map +1 -0
  749. package/dist/PodcastPlaylistInlineList-DD4mRTWL.mjs.map +1 -0
  750. package/dist/PodcastPlaylistInlineList-DjvqH3JD.mjs.map +1 -0
  751. package/dist/PodcastPlaylistInlineList-SZXCnYSe.mjs +115 -0
  752. package/dist/PodcastPlaylistInlineList-SZXCnYSe.mjs.map +1 -0
  753. package/dist/PodcastPresentationList-7I2gJ9sI.mjs.map +1 -0
  754. package/dist/PodcastPresentationList-B6EQonVG.mjs.map +1 -0
  755. package/dist/PodcastPresentationList-BNPI4ktk.mjs.map +1 -0
  756. package/dist/PodcastPresentationList-BU7ViJNL.mjs.map +1 -0
  757. package/dist/PodcastPresentationList-BYz-tlSL.mjs +200 -0
  758. package/dist/PodcastPresentationList-BYz-tlSL.mjs.map +1 -0
  759. package/dist/PodcastPresentationList-Bds0tZH_.mjs.map +1 -0
  760. package/dist/PodcastPresentationList-CXwTRtdd.mjs.map +1 -0
  761. package/dist/PodcastPresentationList-DNotAP8F.mjs.map +1 -0
  762. package/dist/PodcastPresentationList-DQ6VyYOF.mjs.map +1 -0
  763. package/dist/PodcastPresentationList-Dfr3aC06.mjs.map +1 -0
  764. package/dist/PodcastProgressBar-BJPSohh3.mjs.map +1 -0
  765. package/dist/PodcastProgressBar-Bv5JaE8d.mjs.map +1 -0
  766. package/dist/PodcastProgressBar-C1V8SzsN.mjs.map +1 -0
  767. package/dist/PodcastProgressBar-C2Q499e-.mjs.map +1 -0
  768. package/dist/PodcastProgressBar-DS_gFcxN.mjs.map +1 -0
  769. package/dist/PodcastProgressBar-DT95OgbR.mjs.map +1 -0
  770. package/dist/PodcastProgressBar-DknFfvhM.mjs.map +1 -0
  771. package/dist/PodcastProgressBar-DqPW_p3w.mjs +98 -0
  772. package/dist/PodcastProgressBar-DqPW_p3w.mjs.map +1 -0
  773. package/dist/PodcastRawTranscript-B3XploAN.mjs.map +1 -0
  774. package/dist/PodcastRawTranscript-Bn0uehDS.mjs.map +1 -0
  775. package/dist/PodcastRawTranscript-DHGG6P4H.mjs.map +1 -0
  776. package/dist/PodcastRawTranscript-DgNTVFR8.mjs.map +1 -0
  777. package/dist/PodcastRawTranscript-Q9E4SxfK.mjs.map +1 -0
  778. package/dist/PodcastRawTranscript-TWZD3G5q.mjs.map +1 -0
  779. package/dist/PodcastRawTranscript-X63ZILM7.mjs.map +1 -0
  780. package/dist/PodcastRawTranscript-a9_Oy3RK.mjs +184 -0
  781. package/dist/PodcastRawTranscript-a9_Oy3RK.mjs.map +1 -0
  782. package/dist/PodcastRubriqueList-BCyW3wEK.mjs.map +1 -0
  783. package/dist/PodcastRubriqueList-BTbcJXYx.mjs.map +1 -0
  784. package/dist/PodcastRubriqueList-C95GU8o5.mjs.map +1 -0
  785. package/dist/PodcastRubriqueList-Ccdnx6On.mjs.map +1 -0
  786. package/dist/PodcastRubriqueList-DI2csHW1.mjs +83 -0
  787. package/dist/PodcastRubriqueList-DI2csHW1.mjs.map +1 -0
  788. package/dist/PodcastRubriqueList-DVkFRxXq.mjs.map +1 -0
  789. package/dist/PodcastRubriqueList-Dl6QY0i8.mjs.map +1 -0
  790. package/dist/PodcastRubriqueList-_YhHNC47.mjs.map +1 -0
  791. package/dist/PodcastSwiperList-BS5c3FoG.mjs.map +1 -0
  792. package/dist/PodcastSwiperList-BX3Df01j.mjs.map +1 -0
  793. package/dist/PodcastSwiperList-BrhZmdlc.mjs.map +1 -0
  794. package/dist/PodcastSwiperList-ByjpnQxI.mjs +219 -0
  795. package/dist/PodcastSwiperList-ByjpnQxI.mjs.map +1 -0
  796. package/dist/PodcastSwiperList-Cz46EA8R.mjs.map +1 -0
  797. package/dist/PodcastSwiperList-DR9LRgSd.mjs.map +1 -0
  798. package/dist/PodcastSwiperList-DTyt7oEG.mjs.map +1 -0
  799. package/dist/PodcastSwiperList-Hcu_odVZ.mjs.map +1 -0
  800. package/dist/PodcastSwiperList-SuxAntDq.mjs.map +1 -0
  801. package/dist/PodcastSwiperList-lgJ0f6v-.mjs.map +1 -0
  802. package/dist/PodcastmakerHeader-BA4Li7Kn.mjs.map +1 -0
  803. package/dist/PodcastmakerHeader-BAegQW6Z.mjs.map +1 -0
  804. package/dist/PodcastmakerHeader-C4gFjX6v.mjs.map +1 -0
  805. package/dist/PodcastmakerHeader-CNfRgIK9.mjs.map +1 -0
  806. package/dist/PodcastmakerHeader-DLivShWW.mjs +58 -0
  807. package/dist/PodcastmakerHeader-DLivShWW.mjs.map +1 -0
  808. package/dist/PodcastmakerHeader-DYRMuK-v.mjs.map +1 -0
  809. package/dist/PodcastmakerHeader-MUM5IU8l.mjs.map +1 -0
  810. package/dist/PodcastmakerHeader-RXfyAHAn.mjs.map +1 -0
  811. package/dist/PodcastsPage-B3Bz8Tqk.mjs.map +1 -0
  812. package/dist/PodcastsPage-BIUMIU5y.mjs.map +1 -0
  813. package/dist/PodcastsPage-BIk-JeoA.mjs.map +1 -0
  814. package/dist/PodcastsPage-BZjvnYPf.mjs.map +1 -0
  815. package/dist/PodcastsPage-BalH_7Xq.mjs.map +1 -0
  816. package/dist/PodcastsPage-Bk2Ha9lT.mjs.map +1 -0
  817. package/dist/PodcastsPage-C4FPpWq6.mjs.map +1 -0
  818. package/dist/PodcastsPage-CZMG21RP.mjs +227 -0
  819. package/dist/PodcastsPage-CZMG21RP.mjs.map +1 -0
  820. package/dist/PodcastsPage-ClvhNA-n.mjs.map +1 -0
  821. package/dist/PodcastsPage-CnSrwx2a.mjs.map +1 -0
  822. package/dist/PodcastsPage-Cpu5ZFVk.mjs.map +1 -0
  823. package/dist/PodcastsPage-Cr82uGtg.mjs.map +1 -0
  824. package/dist/PodcastsPage-DXFl1i4y.mjs.map +1 -0
  825. package/dist/PodcastsPage-DcM9kL4U.mjs.map +1 -0
  826. package/dist/PodcastsPage-VA3YxWs-.mjs.map +1 -0
  827. package/dist/PodcastsPage-bvHqAuLo.mjs.map +1 -0
  828. package/dist/PodcastsPage-jRvQd8-H.mjs.map +1 -0
  829. package/dist/PodcastsPage-nijaUW3P.mjs.map +1 -0
  830. package/dist/PodcastsPage-qCVe5Xxr.mjs.map +1 -0
  831. package/dist/ProductorSearch-BqTnrQwN.mjs.map +1 -0
  832. package/dist/ProductorSearch-BrkwY0qW.mjs.map +1 -0
  833. package/dist/ProductorSearch-Cr79KkYG.mjs +161 -0
  834. package/dist/ProductorSearch-Cr79KkYG.mjs.map +1 -0
  835. package/dist/ProductorSearch-D70kZSKq.mjs.map +1 -0
  836. package/dist/ProductorSearch-DQeG0dsL.mjs.map +1 -0
  837. package/dist/ProductorSearch-Ybo6vZOo.mjs.map +1 -0
  838. package/dist/ProductorSearch-g0EL7GLW.mjs.map +1 -0
  839. package/dist/ProductorSearch-valGKmww.mjs.map +1 -0
  840. package/dist/ProgressBar-5tVxrk7d.mjs.map +1 -0
  841. package/dist/ProgressBar-B0xQNpFe.mjs.map +1 -0
  842. package/dist/ProgressBar-BCwW89su.mjs.map +1 -0
  843. package/dist/ProgressBar-CTtrIt8Y.mjs.map +1 -0
  844. package/dist/ProgressBar-D8VdS-u6.mjs.map +1 -0
  845. package/dist/ProgressBar-DrnLNpyr.mjs +158 -0
  846. package/dist/ProgressBar-DrnLNpyr.mjs.map +1 -0
  847. package/dist/ProgressBar-kqIwCrRr.mjs.map +1 -0
  848. package/dist/ProgressBar-yaX2X7j1.mjs.map +1 -0
  849. package/dist/QrCode-BABDzMVW.mjs.map +1 -0
  850. package/dist/QrCode-BbRm6Y4P.mjs.map +1 -0
  851. package/dist/QrCode-BjIGr_QB.mjs.map +1 -0
  852. package/dist/QrCode-BqkhBhIb.mjs.map +1 -0
  853. package/dist/QrCode-CWzLZn66.mjs.map +1 -0
  854. package/dist/QrCode-D9vjUGQT.mjs.map +1 -0
  855. package/dist/QrCode-DLNQDbZY.mjs.map +1 -0
  856. package/dist/QrCode-KyGeDUHb.mjs +177 -0
  857. package/dist/QrCode-KyGeDUHb.mjs.map +1 -0
  858. package/dist/QrCodeModal-B30STbET.mjs.map +1 -0
  859. package/dist/QrCodeModal-BO3ay0jp.mjs.map +1 -0
  860. package/dist/QrCodeModal-BdVui_h2.mjs.map +1 -0
  861. package/dist/QrCodeModal-Cp1tz2ux.mjs.map +1 -0
  862. package/dist/QrCodeModal-DR3qMvAj.mjs.map +1 -0
  863. package/dist/QrCodeModal-D_LLj88P.mjs.map +1 -0
  864. package/dist/QrCodeModal-ddgi5Dn-.mjs +64 -0
  865. package/dist/QrCodeModal-ddgi5Dn-.mjs.map +1 -0
  866. package/dist/QrCodeModal-hO9aeNia.mjs.map +1 -0
  867. package/dist/RadioCurrently-BDwQsuQN.mjs.map +1 -0
  868. package/dist/RadioCurrently-BFcQSGjK.mjs.map +1 -0
  869. package/dist/RadioCurrently-BTouyjMD.mjs.map +1 -0
  870. package/dist/RadioCurrently-COTK1cqr.mjs.map +1 -0
  871. package/dist/RadioCurrently-CYE7UwdY.mjs +112 -0
  872. package/dist/RadioCurrently-CYE7UwdY.mjs.map +1 -0
  873. package/dist/RadioCurrently-CpV5ZWBc.mjs.map +1 -0
  874. package/dist/RadioCurrently-DAZsZquE.mjs.map +1 -0
  875. package/dist/RadioCurrently-DBIDvpng.mjs.map +1 -0
  876. package/dist/RadioHistory-BmwiBDV4.mjs.map +1 -0
  877. package/dist/RadioHistory-C0O4_OsT.mjs.map +1 -0
  878. package/dist/RadioHistory-CKXFrZUS.mjs.map +1 -0
  879. package/dist/RadioHistory-CvFPMFbB.mjs.map +1 -0
  880. package/dist/RadioHistory-CzqQvmuY.mjs +139 -0
  881. package/dist/RadioHistory-CzqQvmuY.mjs.map +1 -0
  882. package/dist/RadioHistory-G_5_a-Xl.mjs.map +1 -0
  883. package/dist/RadioHistory-otNcHfao.mjs.map +1 -0
  884. package/dist/RadioHistory-wy9WCEk7.mjs.map +1 -0
  885. package/dist/RadioImage-B4vDVjGl.mjs.map +1 -0
  886. package/dist/RadioImage-CFNJKVmd.mjs +85 -0
  887. package/dist/RadioImage-CFNJKVmd.mjs.map +1 -0
  888. package/dist/RadioImage-CJD_1cPD.mjs.map +1 -0
  889. package/dist/RadioImage-CWpKxhp0.mjs.map +1 -0
  890. package/dist/RadioImage-D4wKkO8D.mjs.map +1 -0
  891. package/dist/RadioImage-DDpMbKJH.mjs.map +1 -0
  892. package/dist/RadioImage-Da9DH6AB.mjs.map +1 -0
  893. package/dist/RadioImage-yeXUrgI-.mjs.map +1 -0
  894. package/dist/RadioList-1z7A9-aH.mjs.map +1 -0
  895. package/dist/RadioList-BJzYpUIO.mjs.map +1 -0
  896. package/dist/RadioList-Bp3ghPVU.mjs.map +1 -0
  897. package/dist/RadioList-CABDJH_f.mjs +125 -0
  898. package/dist/RadioList-CABDJH_f.mjs.map +1 -0
  899. package/dist/RadioList-CvcGv1uh.mjs.map +1 -0
  900. package/dist/RadioList-CzNjPv84.mjs.map +1 -0
  901. package/dist/RadioList-DpQ5-u0P.mjs.map +1 -0
  902. package/dist/RadioList-WLBLb0YI.mjs.map +1 -0
  903. package/dist/RadioPage-274yP6hc.mjs.map +1 -0
  904. package/dist/RadioPage-BN2k0-YJ.mjs.map +1 -0
  905. package/dist/RadioPage-Bos6wYdE.mjs.map +1 -0
  906. package/dist/RadioPage-C0tjXJU4.mjs +137 -0
  907. package/dist/RadioPage-C0tjXJU4.mjs.map +1 -0
  908. package/dist/RadioPage-C_cF5sLf.mjs.map +1 -0
  909. package/dist/RadioPage-CgjOotgE.mjs.map +1 -0
  910. package/dist/RadioPage-CpOnONRu.mjs.map +1 -0
  911. package/dist/RadioPage-DqcfLNtb.mjs.map +1 -0
  912. package/dist/RadioPlanning-BpxOrpmV.mjs.map +1 -0
  913. package/dist/RadioPlanning-CJoFgQ8-.mjs.map +1 -0
  914. package/dist/RadioPlanning-CLaptMbp.mjs +290 -0
  915. package/dist/RadioPlanning-CLaptMbp.mjs.map +1 -0
  916. package/dist/RadioPlanning-Cb6CDxY7.mjs.map +1 -0
  917. package/dist/RadioPlanning-CdqYim8D.mjs.map +1 -0
  918. package/dist/RadioPlanning-Cj3YRRQH.mjs.map +1 -0
  919. package/dist/RadioPlanning-FBTDOSbe.mjs.map +1 -0
  920. package/dist/RadioPlanning-geMIOa5T.mjs.map +1 -0
  921. package/dist/RadioProgressBar-BCFytqQh.mjs.map +1 -0
  922. package/dist/RadioProgressBar-CIR3yuw_.mjs.map +1 -0
  923. package/dist/RadioProgressBar-CYPzhKXe.mjs.map +1 -0
  924. package/dist/RadioProgressBar-Cju0BWUv.mjs.map +1 -0
  925. package/dist/RadioProgressBar-DLovskzg.mjs.map +1 -0
  926. package/dist/RadioProgressBar-DZn1mktI.mjs +67 -0
  927. package/dist/RadioProgressBar-DZn1mktI.mjs.map +1 -0
  928. package/dist/RadioProgressBar-_tJ-CtG3.mjs.map +1 -0
  929. package/dist/RadioProgressBar-i5xByEQ-.mjs.map +1 -0
  930. package/dist/RecaptchaModal-BKuZ3qbr.mjs.map +1 -0
  931. package/dist/RecaptchaModal-BioW6OiC.mjs.map +1 -0
  932. package/dist/RecaptchaModal-BrpWu9K9.mjs +148 -0
  933. package/dist/RecaptchaModal-BrpWu9K9.mjs.map +1 -0
  934. package/dist/RecaptchaModal-CO1ksS7T.mjs.map +1 -0
  935. package/dist/RecaptchaModal-CQ3uCmJD.mjs.map +1 -0
  936. package/dist/RecaptchaModal-ChMI1DoR.mjs.map +1 -0
  937. package/dist/RecaptchaModal-Ci9nJ3yG.mjs.map +1 -0
  938. package/dist/RecaptchaModal-D4Vjj7y0.mjs.map +1 -0
  939. package/dist/ReportAbuseModal-BgwHjFg6.mjs.map +1 -0
  940. package/dist/ReportAbuseModal-COgkZmXt.mjs.map +1 -0
  941. package/dist/ReportAbuseModal-CRz91e0n.mjs.map +1 -0
  942. package/dist/ReportAbuseModal-ClwG80lC.mjs.map +1 -0
  943. package/dist/ReportAbuseModal-Cnl6Tvy8.mjs.map +1 -0
  944. package/dist/ReportAbuseModal-CqEVzw2M.mjs +134 -0
  945. package/dist/ReportAbuseModal-CqEVzw2M.mjs.map +1 -0
  946. package/dist/ReportAbuseModal-DKXVmm0o.mjs.map +1 -0
  947. package/dist/ReportAbuseModal-DewdNNiS.mjs.map +1 -0
  948. package/dist/RightsIndicator-8ke3GBY3.mjs.map +1 -0
  949. package/dist/RightsIndicator-AgrCCLI5.mjs.map +1 -0
  950. package/dist/RightsIndicator-BWb-HYqg.mjs.map +1 -0
  951. package/dist/RightsIndicator-Bq9-wJu7.mjs.map +1 -0
  952. package/dist/RightsIndicator-CVPQPbom.mjs.map +1 -0
  953. package/dist/RightsIndicator-CaR0p4ee.mjs +124 -0
  954. package/dist/RightsIndicator-CaR0p4ee.mjs.map +1 -0
  955. package/dist/RightsIndicator-Cyf2ER3f.mjs.map +1 -0
  956. package/dist/RightsIndicator-DEO8E_lt.mjs.map +1 -0
  957. package/dist/RightsIndicator-DOW0C2QN.mjs.map +1 -0
  958. package/dist/RightsIndicator-JiOk8W09.mjs.map +1 -0
  959. package/dist/RightsWrapper-4P5_44Zn.mjs.map +1 -0
  960. package/dist/RightsWrapper-B2MlGwl3.mjs.map +1 -0
  961. package/dist/RightsWrapper-BsBytnz4.mjs.map +1 -0
  962. package/dist/RightsWrapper-C7TGgPwH.mjs +212 -0
  963. package/dist/RightsWrapper-C7TGgPwH.mjs.map +1 -0
  964. package/dist/RightsWrapper-COCKm6yj.mjs.map +1 -0
  965. package/dist/RightsWrapper-CUxXGo2e.mjs.map +1 -0
  966. package/dist/RightsWrapper-CzKluSmc.mjs.map +1 -0
  967. package/dist/RightsWrapper-tKyPXHo-.mjs.map +1 -0
  968. package/dist/RubriqueFilter-B2Mmc1m_.mjs.map +1 -0
  969. package/dist/RubriqueFilter-B31kE1MN.mjs.map +1 -0
  970. package/dist/RubriqueFilter-BKhIFAjq.mjs +199 -0
  971. package/dist/RubriqueFilter-BKhIFAjq.mjs.map +1 -0
  972. package/dist/RubriqueFilter-BlPRTBZ9.mjs.map +1 -0
  973. package/dist/RubriqueFilter-Bw1CGja3.mjs.map +1 -0
  974. package/dist/RubriqueFilter-DN8fTOdd.mjs.map +1 -0
  975. package/dist/RubriqueFilter-DTZiHQNp.mjs.map +1 -0
  976. package/dist/RubriqueFilter-DYIUSPbb.mjs.map +1 -0
  977. package/dist/RubriqueList-B3yhWa4r.mjs.map +1 -0
  978. package/dist/RubriqueList-BcImnPxf.mjs.map +1 -0
  979. package/dist/RubriqueList-BoUBJnsM.mjs.map +1 -0
  980. package/dist/RubriqueList-CBcZOXmS.mjs.map +1 -0
  981. package/dist/RubriqueList-CQ35roJ9.mjs.map +1 -0
  982. package/dist/RubriqueList-D1HZo4h4.mjs.map +1 -0
  983. package/dist/RubriqueList-DJT7Jhvm.mjs.map +1 -0
  984. package/dist/RubriqueList-NVIfUrtO.mjs +206 -0
  985. package/dist/RubriqueList-NVIfUrtO.mjs.map +1 -0
  986. package/dist/RubriquePage-5yGiOukN.mjs.map +1 -0
  987. package/dist/RubriquePage-BAlehSIS.mjs +108 -0
  988. package/dist/RubriquePage-BAlehSIS.mjs.map +1 -0
  989. package/dist/RubriquePage-BNv6lKml.mjs.map +1 -0
  990. package/dist/RubriquePage-BUmG2wuU.mjs.map +1 -0
  991. package/dist/RubriquePage-Bf-8HP4Z.mjs.map +1 -0
  992. package/dist/RubriquePage-Biz4lmwe.mjs.map +1 -0
  993. package/dist/RubriquePage-C8mZVs_j.mjs.map +1 -0
  994. package/dist/RubriquePage-CC6UO9Xo.mjs.map +1 -0
  995. package/dist/RubriquePage-DEmTE5de.mjs.map +1 -0
  996. package/dist/RubriquePage-Y6qI3PgB.mjs.map +1 -0
  997. package/dist/RubriquePage-iYQBx70y.mjs.map +1 -0
  998. package/dist/RubriquePage-zyp_khGg.mjs.map +1 -0
  999. package/dist/SearchPage-B10P7WGB.mjs +77 -0
  1000. package/dist/SearchPage-B10P7WGB.mjs.map +1 -0
  1001. package/dist/SearchPage-BC1moAjg.mjs.map +1 -0
  1002. package/dist/SearchPage-BZzbnyke.mjs.map +1 -0
  1003. package/dist/SearchPage-BeaSjc-B.mjs.map +1 -0
  1004. package/dist/SearchPage-CByOHDuF.mjs.map +1 -0
  1005. package/dist/SearchPage-DFlPCYK2.mjs.map +1 -0
  1006. package/dist/SearchPage-DHIC3aR2.mjs.map +1 -0
  1007. package/dist/SearchPage-V6v_94HO.mjs.map +1 -0
  1008. package/dist/SearchPage-bw1krInj.mjs.map +1 -0
  1009. package/dist/SearchPage-guLaAWTY.mjs.map +1 -0
  1010. package/dist/SearchPage-wHxIUBu9.mjs.map +1 -0
  1011. package/dist/ShareAnonymous-Be_3QN-J.mjs.map +1 -0
  1012. package/dist/ShareAnonymous-BzgYARps.mjs.map +1 -0
  1013. package/dist/ShareAnonymous-CbH-OUhV.mjs.map +1 -0
  1014. package/dist/ShareAnonymous-DLvzh3bC.mjs.map +1 -0
  1015. package/dist/ShareAnonymous-DYLoT4gJ.mjs.map +1 -0
  1016. package/dist/ShareAnonymous-DjuoOwnz.mjs +321 -0
  1017. package/dist/ShareAnonymous-DjuoOwnz.mjs.map +1 -0
  1018. package/dist/ShareAnonymous-DnL1Cpgf.mjs.map +1 -0
  1019. package/dist/ShareAnonymous-J-PCflFR.mjs.map +1 -0
  1020. package/dist/ShareModalPlayer-BiqEpd9K.mjs.map +1 -0
  1021. package/dist/ShareModalPlayer-CTI3FHwP.mjs.map +1 -0
  1022. package/dist/ShareModalPlayer-CfkTBXcZ.mjs.map +1 -0
  1023. package/dist/ShareModalPlayer-CfzoCZMF.mjs.map +1 -0
  1024. package/dist/ShareModalPlayer-DVncOMoY.mjs.map +1 -0
  1025. package/dist/ShareModalPlayer-De600dAo.mjs.map +1 -0
  1026. package/dist/ShareModalPlayer-K2dfwTgr.mjs.map +1 -0
  1027. package/dist/ShareModalPlayer-iNhuzH6E.mjs +135 -0
  1028. package/dist/ShareModalPlayer-iNhuzH6E.mjs.map +1 -0
  1029. package/dist/ShareNewsletter-BRJ_CnPP.mjs.map +1 -0
  1030. package/dist/ShareNewsletter-BYS_t435.mjs.map +1 -0
  1031. package/dist/ShareNewsletter-BoTYibXG.mjs +211 -0
  1032. package/dist/ShareNewsletter-BoTYibXG.mjs.map +1 -0
  1033. package/dist/ShareNewsletter-D5PUaOO2.mjs.map +1 -0
  1034. package/dist/ShareNewsletter-DVNHTKeM.mjs.map +1 -0
  1035. package/dist/ShareNewsletter-DXLj05xD.mjs.map +1 -0
  1036. package/dist/ShareNewsletter-nYJ02EoC.mjs.map +1 -0
  1037. package/dist/ShareNewsletter-xyNkG-Eb.mjs.map +1 -0
  1038. package/dist/SharePlayer-BBp8Nx8-.mjs.map +1 -0
  1039. package/dist/SharePlayer-BRAOpDKS.mjs.map +1 -0
  1040. package/dist/SharePlayer-BkJ1Pd4K.mjs.map +1 -0
  1041. package/dist/SharePlayer-CpCp4Ww6.mjs.map +1 -0
  1042. package/dist/SharePlayer-D12X58FW.mjs.map +1 -0
  1043. package/dist/SharePlayer-D14yktq2.mjs.map +1 -0
  1044. package/dist/SharePlayer-ITriSrMH.mjs +378 -0
  1045. package/dist/SharePlayer-ITriSrMH.mjs.map +1 -0
  1046. package/dist/SharePlayer-OLpuLZ3x.mjs.map +1 -0
  1047. package/dist/SharePlayerRadio-3be6M1rf.mjs +127 -0
  1048. package/dist/SharePlayerRadio-3be6M1rf.mjs.map +1 -0
  1049. package/dist/SharePlayerRadio-B5csXZHh.mjs.map +1 -0
  1050. package/dist/SharePlayerRadio-BBgUkZJZ.mjs.map +1 -0
  1051. package/dist/SharePlayerRadio-BVxTgEry.mjs.map +1 -0
  1052. package/dist/SharePlayerRadio-DGlbi34G.mjs.map +1 -0
  1053. package/dist/SharePlayerRadio-D_Q6seua.mjs.map +1 -0
  1054. package/dist/SharePlayerRadio-HjAP-F05.mjs.map +1 -0
  1055. package/dist/SharePlayerRadio-kpYanrSh.mjs.map +1 -0
  1056. package/dist/SharePlayerTypes-Bv396CtZ.mjs.map +1 -0
  1057. package/dist/SharePlayerTypes-C8AP5NRT.mjs.map +1 -0
  1058. package/dist/SharePlayerTypes-CW3OGhRV.mjs.map +1 -0
  1059. package/dist/SharePlayerTypes-D0TyOBAl.mjs.map +1 -0
  1060. package/dist/SharePlayerTypes-D3Uf2kAl.mjs.map +1 -0
  1061. package/dist/SharePlayerTypes-DzgN0pmg.mjs.map +1 -0
  1062. package/dist/SharePlayerTypes-TbHoUtLq.mjs +232 -0
  1063. package/dist/SharePlayerTypes-TbHoUtLq.mjs.map +1 -0
  1064. package/dist/SharePlayerTypes-TjPFVlpg.mjs.map +1 -0
  1065. package/dist/ShareSocialsButtons-BX_kCrh9.mjs.map +1 -0
  1066. package/dist/ShareSocialsButtons-D93C1SNn.mjs.map +1 -0
  1067. package/dist/ShareSocialsButtons-D9olMoYw.mjs.map +1 -0
  1068. package/dist/ShareSocialsButtons-DMb-XPVy.mjs.map +1 -0
  1069. package/dist/ShareSocialsButtons-DSJodUeF.mjs.map +1 -0
  1070. package/dist/ShareSocialsButtons-DpL7wz2Q.mjs.map +1 -0
  1071. package/dist/ShareSocialsButtons-HUGfUozM.mjs.map +1 -0
  1072. package/dist/ShareSocialsButtons-nbnbNYrr.mjs +159 -0
  1073. package/dist/ShareSocialsButtons-nbnbNYrr.mjs.map +1 -0
  1074. package/dist/SimpleLayout-2agje2NP.mjs +41 -0
  1075. package/dist/SimpleLayout-2agje2NP.mjs.map +1 -0
  1076. package/dist/SimpleLayout-BCbramPg.mjs.map +1 -0
  1077. package/dist/SimpleLayout-D8o2yJwB.mjs.map +1 -0
  1078. package/dist/SimpleLayout-D8xymMDG.mjs.map +1 -0
  1079. package/dist/SimpleLayout-DZtaADQv.mjs.map +1 -0
  1080. package/dist/SimpleLayout-DZy2Ephk.mjs.map +1 -0
  1081. package/dist/SimpleLayout-DfM_kXS9.mjs.map +1 -0
  1082. package/dist/SimpleLayout-K46zNKJ3.mjs.map +1 -0
  1083. package/dist/SmartLinkPage-6yVwo41a.mjs.map +1 -0
  1084. package/dist/SmartLinkPage-B3oxc6A4.mjs.map +1 -0
  1085. package/dist/SmartLinkPage-BC6Wos_I.mjs.map +1 -0
  1086. package/dist/SmartLinkPage-Bf0nWA38.mjs +238 -0
  1087. package/dist/SmartLinkPage-Bf0nWA38.mjs.map +1 -0
  1088. package/dist/SmartLinkPage-C2iTEBxg.mjs.map +1 -0
  1089. package/dist/SmartLinkPage-CRU-ro5M.mjs.map +1 -0
  1090. package/dist/SmartLinkPage-CUSZPYPK.mjs.map +1 -0
  1091. package/dist/SmartLinkPage-CV9Gx4MZ.mjs.map +1 -0
  1092. package/dist/SubscribeButtons-B7ppg_Sy.mjs.map +1 -0
  1093. package/dist/SubscribeButtons-BiYqm52t.mjs.map +1 -0
  1094. package/dist/SubscribeButtons-BnL1HQJj.mjs.map +1 -0
  1095. package/dist/SubscribeButtons-CSvoc2J7.mjs +203 -0
  1096. package/dist/SubscribeButtons-CSvoc2J7.mjs.map +1 -0
  1097. package/dist/SubscribeButtons-ChJKNJqT.mjs.map +1 -0
  1098. package/dist/SubscribeButtons-D2QxU-Hz.mjs.map +1 -0
  1099. package/dist/SubscribeButtons-DJj_jStJ.mjs.map +1 -0
  1100. package/dist/SubscribeButtons-YXH0jr-u.mjs.map +1 -0
  1101. package/dist/SwiperList-B5iYhj9n.mjs.map +1 -0
  1102. package/dist/SwiperList-CTQ7Jt8y.mjs +207 -0
  1103. package/dist/SwiperList-CTQ7Jt8y.mjs.map +1 -0
  1104. package/dist/SwiperList-D8SO3Jhr.mjs.map +1 -0
  1105. package/dist/SwiperList-D9irPcis.mjs.map +1 -0
  1106. package/dist/SwiperList-DoOIgAp8.mjs.map +1 -0
  1107. package/dist/SwiperList-DozCqnS-.mjs.map +1 -0
  1108. package/dist/SwiperList-e2b8uKKS.mjs.map +1 -0
  1109. package/dist/SwiperList-oOWaXHrC.mjs.map +1 -0
  1110. package/dist/TagList-B7S-QXor.mjs.map +1 -0
  1111. package/dist/TagList-C1yqUuH4.mjs.map +1 -0
  1112. package/dist/TagList-C4X0npf5.mjs.map +1 -0
  1113. package/dist/TagList-CKqTDMGE.mjs.map +1 -0
  1114. package/dist/TagList-CYZO6nJO.mjs.map +1 -0
  1115. package/dist/TagList-DhUwbOtN.mjs.map +1 -0
  1116. package/dist/TagList-EwyNbw72.mjs +134 -0
  1117. package/dist/TagList-EwyNbw72.mjs.map +1 -0
  1118. package/dist/TagList-yzetMdZw.mjs.map +1 -0
  1119. package/dist/TagPage-4o8Pl0Qr.mjs.map +1 -0
  1120. package/dist/TagPage-B_qM5eJI.mjs.map +1 -0
  1121. package/dist/TagPage-BuXAtttP.mjs.map +1 -0
  1122. package/dist/TagPage-Cf0nrWee.mjs.map +1 -0
  1123. package/dist/TagPage-CkecFj3d.mjs +125 -0
  1124. package/dist/TagPage-CkecFj3d.mjs.map +1 -0
  1125. package/dist/TagPage-D02e7yAK.mjs.map +1 -0
  1126. package/dist/TagPage-DThhKzLf.mjs.map +1 -0
  1127. package/dist/TagPage-DVfKFiFB.mjs.map +1 -0
  1128. package/dist/TagPage-DbQ5ECdy.mjs.map +1 -0
  1129. package/dist/TagPage-DiS0Ac5-.mjs.map +1 -0
  1130. package/dist/TagPage-DqlSRAe7.mjs.map +1 -0
  1131. package/dist/TagPage-O77D8BO6.mjs.map +1 -0
  1132. package/dist/TopBar-B5hL24uV.mjs.map +1 -0
  1133. package/dist/TopBar-BEqykP88.mjs.map +1 -0
  1134. package/dist/TopBar-BIrteYP5.mjs.map +1 -0
  1135. package/dist/TopBar-BMtZjPfE.mjs.map +1 -0
  1136. package/dist/TopBar-C4_r5G9G.mjs.map +1 -0
  1137. package/dist/TopBar-CAtSy_fP.mjs.map +1 -0
  1138. package/dist/TopBar-CVz3PW30.mjs.map +1 -0
  1139. package/dist/TopBar-CsxgY0Pa.mjs.map +1 -0
  1140. package/dist/TopBar-DnOonBa9.mjs.map +1 -0
  1141. package/dist/TopBar-N9gAoWc2.mjs +760 -0
  1142. package/dist/TopBar-N9gAoWc2.mjs.map +1 -0
  1143. package/dist/TopBar-TSbSO80C.mjs.map +1 -0
  1144. package/dist/TopBar-dBIKNV4n.mjs.map +1 -0
  1145. package/dist/UserButtonContent-BJ9NQBQt.mjs.map +1 -0
  1146. package/dist/UserButtonContent-C1Z62rxI.mjs.map +1 -0
  1147. package/dist/UserButtonContent-CA-t3hC_.mjs.map +1 -0
  1148. package/dist/UserButtonContent-CInki_2X.mjs +185 -0
  1149. package/dist/UserButtonContent-CInki_2X.mjs.map +1 -0
  1150. package/dist/UserButtonContent-CORUo7UY.mjs.map +1 -0
  1151. package/dist/UserButtonContent-Qb0SDN0h.mjs.map +1 -0
  1152. package/dist/UserButtonContent-W2n-NsWg.mjs.map +1 -0
  1153. package/dist/UserButtonContent-c7YRiGp2.mjs.map +1 -0
  1154. package/dist/VideoModuleBox--kALH8J6.mjs.map +1 -0
  1155. package/dist/VideoModuleBox-BCXduPcv.mjs.map +1 -0
  1156. package/dist/VideoModuleBox-BMvUHgHs.mjs.map +1 -0
  1157. package/dist/VideoModuleBox-BQFnWOE9.mjs.map +1 -0
  1158. package/dist/VideoModuleBox-CAKcfyk0.mjs +85 -0
  1159. package/dist/VideoModuleBox-CAKcfyk0.mjs.map +1 -0
  1160. package/dist/VideoModuleBox-CHyezeSh.mjs.map +1 -0
  1161. package/dist/VideoModuleBox-Dxo7v9cw.mjs.map +1 -0
  1162. package/dist/VideoModuleBox-fepbn_Bw.mjs.map +1 -0
  1163. package/dist/VideoPage--jVboh2e.mjs.map +1 -0
  1164. package/dist/VideoPage-3OW3SyQI.mjs.map +1 -0
  1165. package/dist/VideoPage-B6gP9AJ_.mjs.map +1 -0
  1166. package/dist/VideoPage-B94V1DAX.mjs.map +1 -0
  1167. package/dist/VideoPage-BRSAQnkl.mjs +274 -0
  1168. package/dist/VideoPage-BRSAQnkl.mjs.map +1 -0
  1169. package/dist/VideoPage-CaP2fTTp.mjs.map +1 -0
  1170. package/dist/VideoPage-DKEG0fFH.mjs.map +1 -0
  1171. package/dist/VideoPage-DKuK-muU.mjs.map +1 -0
  1172. package/dist/VideoPage-DXMUgZcF.mjs.map +1 -0
  1173. package/dist/VideoPage-DaXRG9L9.mjs.map +1 -0
  1174. package/dist/classicApi-1jdxJdNn.mjs +1899 -0
  1175. package/dist/classicApi-1jdxJdNn.mjs.map +1 -0
  1176. package/dist/classicApi-BGITtHY6.mjs.map +1 -0
  1177. package/dist/classicApi-Bb7QgY_-.mjs.map +1 -0
  1178. package/dist/classicApi-CM1SG1hB.mjs.map +1 -0
  1179. package/dist/classicApi-CT-zOpO4.mjs.map +1 -0
  1180. package/dist/classicApi-DazNRZ5Q.mjs.map +1 -0
  1181. package/dist/classicApi-DhYbooR3.mjs.map +1 -0
  1182. package/dist/classicApi-DnmetKhT.mjs.map +1 -0
  1183. package/dist/downloadHelper-B-fqJ-zf.mjs.map +1 -0
  1184. package/dist/downloadHelper-B6m5pBKm.mjs.map +1 -0
  1185. package/dist/downloadHelper-B8D7SOOM.mjs.map +1 -0
  1186. package/dist/downloadHelper-CU_Wxd5U.mjs.map +1 -0
  1187. package/dist/downloadHelper-C_zKrGUc.mjs.map +1 -0
  1188. package/dist/downloadHelper-Dr10br-6.mjs.map +1 -0
  1189. package/dist/downloadHelper-LQW1LToj.mjs +36 -0
  1190. package/dist/downloadHelper-LQW1LToj.mjs.map +1 -0
  1191. package/dist/downloadHelper-y_M7FzoH.mjs.map +1 -0
  1192. package/dist/index.mjs +111 -100
  1193. package/dist/index.mjs.map +1 -1
  1194. package/dist/messages-BGiv9Gsb.mjs.map +1 -0
  1195. package/dist/messages-BRLdnntg.mjs.map +1 -0
  1196. package/dist/messages-BlwH5qG0.mjs.map +1 -0
  1197. package/dist/messages-BqVF4jGm.mjs +2763 -0
  1198. package/dist/messages-BqVF4jGm.mjs.map +1 -0
  1199. package/dist/messages-Bw2bPt8M.mjs.map +1 -0
  1200. package/dist/messages-BzSMoDq6.mjs.map +1 -0
  1201. package/dist/messages-Daql_N4V.mjs.map +1 -0
  1202. package/dist/tests.mjs +2 -2
  1203. package/dist/types-8roXR0of.mjs.map +1 -1
  1204. package/dist/types-DmxFXVJz.mjs +12 -0
  1205. package/dist/types-DmxFXVJz.mjs.map +1 -0
  1206. package/dist/useAdvancedParamInit-BFDxm4Zv.mjs.map +1 -0
  1207. package/dist/useAdvancedParamInit-C9i1OLKX.mjs.map +1 -0
  1208. package/dist/useAdvancedParamInit-COJzBPcY.mjs +168 -0
  1209. package/dist/useAdvancedParamInit-COJzBPcY.mjs.map +1 -0
  1210. package/dist/useAdvancedParamInit-CVy6xAhR.mjs.map +1 -0
  1211. package/dist/useAdvancedParamInit-CXubNin6.mjs.map +1 -0
  1212. package/dist/useAdvancedParamInit-CdHU32HT.mjs.map +1 -0
  1213. package/dist/useAdvancedParamInit-CfpyEfbz.mjs.map +1 -0
  1214. package/dist/useAdvancedParamInit-D4gIuSKD.mjs.map +1 -0
  1215. package/dist/useAdvancedParamInit-DV346TAD.mjs.map +1 -0
  1216. package/dist/useAdvancedParamInit-DbfEsrzA.mjs.map +1 -0
  1217. package/dist/useAdvancedParamInit-DcMypQh9.mjs.map +1 -0
  1218. package/dist/useAdvancedParamInit-X9_sZFbf.mjs.map +1 -0
  1219. package/dist/useAppleVideo-BGOd4QiN.mjs +30 -0
  1220. package/dist/useAppleVideo-BGOd4QiN.mjs.map +1 -0
  1221. package/dist/useAppleVideo-CpIdHjzn.mjs.map +1 -0
  1222. package/dist/useDayjs-BODPt2H7.mjs.map +1 -0
  1223. package/dist/useDayjs-BwARZ4CJ.mjs.map +1 -0
  1224. package/dist/useDayjs-Cl4mV4Zl.mjs.map +1 -0
  1225. package/dist/useDayjs-Cpj0Yeao.mjs.map +1 -0
  1226. package/dist/useDayjs-CqMtrxXh.mjs.map +1 -0
  1227. package/dist/useDayjs-DHkflClU.mjs.map +1 -0
  1228. package/dist/useDayjs-DPNxdkJX.mjs +32 -0
  1229. package/dist/useDayjs-DPNxdkJX.mjs.map +1 -0
  1230. package/dist/useDayjs-wjXHxuIo.mjs.map +1 -0
  1231. package/dist/useErrorHandler-BRfB3Nma.mjs +19 -0
  1232. package/dist/useErrorHandler-BRfB3Nma.mjs.map +1 -0
  1233. package/dist/useErrorHandler-CxSuHQ_9.mjs.map +1 -0
  1234. package/dist/useErrorHandler-DU-7-mwV.mjs.map +1 -0
  1235. package/dist/useErrorHandler-DpjCmJBr.mjs.map +1 -0
  1236. package/dist/useErrorHandler-NCoJhMs_.mjs.map +1 -0
  1237. package/dist/useErrorHandler-juiZ5M15.mjs.map +1 -0
  1238. package/dist/useErrorHandler-mgzIIgcg.mjs.map +1 -0
  1239. package/dist/useErrorHandler-sRvbreJI.mjs.map +1 -0
  1240. package/dist/useImageProxy-B8Fo5ez4.mjs.map +1 -0
  1241. package/dist/useImageProxy-C6MR_3fy.mjs.map +1 -0
  1242. package/dist/useImageProxy-CYWAbN4O.mjs.map +1 -0
  1243. package/dist/useImageProxy-Ce8Rqjw3.mjs +20 -0
  1244. package/dist/useImageProxy-Ce8Rqjw3.mjs.map +1 -0
  1245. package/dist/useImageProxy-D35x2zuV.mjs.map +1 -0
  1246. package/dist/useImageProxy-DHvBSxPl.mjs.map +1 -0
  1247. package/dist/useImageProxy-DXJ_9Ajv.mjs.map +1 -0
  1248. package/dist/useImageProxy-Dwmn4CPK.mjs.map +1 -0
  1249. package/dist/useOrgaComputed-BNyuoiqr.mjs.map +1 -0
  1250. package/dist/useOrgaComputed-CqtlhFcz.mjs.map +1 -0
  1251. package/dist/useOrgaComputed-Cu1TPM6V.mjs.map +1 -0
  1252. package/dist/useOrgaComputed-CzlYvP0I.mjs.map +1 -0
  1253. package/dist/useOrgaComputed-DF-_-Jrl.mjs.map +1 -0
  1254. package/dist/useOrgaComputed-DXB4jqMM.mjs +19 -0
  1255. package/dist/useOrgaComputed-DXB4jqMM.mjs.map +1 -0
  1256. package/dist/useOrgaComputed-DqALV5bw.mjs.map +1 -0
  1257. package/dist/useOrgaComputed-y75FS78u.mjs.map +1 -0
  1258. package/dist/usePlayerLogicProgress-BsOt5dL-.mjs +108 -0
  1259. package/dist/usePlayerLogicProgress-BsOt5dL-.mjs.map +1 -0
  1260. package/dist/usePlayerLogicProgress-Cq8T3M3-.mjs.map +1 -0
  1261. package/dist/usePlayerLogicProgress-D5ltA6Fq.mjs.map +1 -0
  1262. package/dist/usePlayerLogicProgress-DY9nXTmQ.mjs.map +1 -0
  1263. package/dist/usePlayerLogicProgress-HyplkwZi.mjs.map +1 -0
  1264. package/dist/usePlayerLogicProgress-onVpP8yQ.mjs.map +1 -0
  1265. package/dist/usePlayerLogicProgress-qPJXeMjl.mjs.map +1 -0
  1266. package/dist/usePlayerLogicProgress-xabvx5Dj.mjs.map +1 -0
  1267. package/dist/usePodcastView-73KBTBhj.mjs.map +1 -0
  1268. package/dist/usePodcastView-BGL-TWPy.mjs.map +1 -0
  1269. package/dist/usePodcastView-Bx-DxLIg.mjs.map +1 -0
  1270. package/dist/usePodcastView-C3EgP7ic.mjs.map +1 -0
  1271. package/dist/usePodcastView-CAIh0pHz.mjs.map +1 -0
  1272. package/dist/usePodcastView-DFnXBBfU.mjs.map +1 -0
  1273. package/dist/usePodcastView-DUG7H7_G.mjs +56 -0
  1274. package/dist/usePodcastView-DUG7H7_G.mjs.map +1 -0
  1275. package/dist/usePodcastView-DyJpgarZ.mjs.map +1 -0
  1276. package/dist/usePresentationItem-B1B3lv7I.mjs.map +1 -0
  1277. package/dist/usePresentationItem-BVFN9AaL.mjs.map +1 -0
  1278. package/dist/usePresentationItem-CDLqFMo6.mjs.map +1 -0
  1279. package/dist/usePresentationItem-CMkPxjL9.mjs.map +1 -0
  1280. package/dist/usePresentationItem-D51GV-y3.mjs.map +1 -0
  1281. package/dist/usePresentationItem-DPhrqvIO.mjs.map +1 -0
  1282. package/dist/usePresentationItem-Djtlqztv.mjs.map +1 -0
  1283. package/dist/usePresentationItem-vnaThjqU.mjs +190 -0
  1284. package/dist/usePresentationItem-vnaThjqU.mjs.map +1 -0
  1285. package/dist/useRights-BFzc-f5r.mjs.map +1 -0
  1286. package/dist/useRights-Bb6Lduj1.mjs.map +1 -0
  1287. package/dist/useRights-BtQenL-m.mjs.map +1 -0
  1288. package/dist/useRights-CacvXcg_.mjs +276 -0
  1289. package/dist/useRights-CacvXcg_.mjs.map +1 -0
  1290. package/dist/useRights-Cm7U9RVV.mjs.map +1 -0
  1291. package/dist/useRights-G8UGBWNE.mjs.map +1 -0
  1292. package/dist/useRights-ZfPDGUYq.mjs.map +1 -0
  1293. package/dist/useRights-pznf2MQ8.mjs.map +1 -0
  1294. package/dist/useRubriquesFilterComputed-7LToVEWh.mjs.map +1 -0
  1295. package/dist/useRubriquesFilterComputed-B4fRwCc2.mjs.map +1 -0
  1296. package/dist/useRubriquesFilterComputed-B6yAljnV.mjs +13 -0
  1297. package/dist/useRubriquesFilterComputed-B6yAljnV.mjs.map +1 -0
  1298. package/dist/useRubriquesFilterComputed-B94E8TMb.mjs.map +1 -0
  1299. package/dist/useRubriquesFilterComputed-BUhvHrds.mjs.map +1 -0
  1300. package/dist/useRubriquesFilterComputed-C6Cj-JB5.mjs.map +1 -0
  1301. package/dist/useRubriquesFilterComputed-CJf96968.mjs.map +1 -0
  1302. package/dist/useRubriquesFilterComputed-qsLiWlwD.mjs.map +1 -0
  1303. package/dist/useRubriquesFilterParam-BPlVhx7S.mjs.map +1 -0
  1304. package/dist/useRubriquesFilterParam-C6Ur8-pi.mjs.map +1 -0
  1305. package/dist/useRubriquesFilterParam-CIx0fFT-.mjs.map +1 -0
  1306. package/dist/useRubriquesFilterParam-CxWXo4lU.mjs.map +1 -0
  1307. package/dist/useRubriquesFilterParam-DGbdF4f8.mjs.map +1 -0
  1308. package/dist/useRubriquesFilterParam-DiwzHD1p.mjs.map +1 -0
  1309. package/dist/useRubriquesFilterParam-gXKJJk5a.mjs.map +1 -0
  1310. package/dist/useRubriquesFilterParam-vy-84z0z.mjs +36 -0
  1311. package/dist/useRubriquesFilterParam-vy-84z0z.mjs.map +1 -0
  1312. package/dist/useSharePlatforms-B8icj2ci.mjs.map +1 -0
  1313. package/dist/useSharePlatforms-BM2OkqJZ.mjs.map +1 -0
  1314. package/dist/useSharePlatforms-BR8_vXB0.mjs +468 -0
  1315. package/dist/useSharePlatforms-BR8_vXB0.mjs.map +1 -0
  1316. package/dist/useSharePlatforms-CIn_6DZg.mjs.map +1 -0
  1317. package/dist/useSharePlatforms-CLrC0mcY.mjs.map +1 -0
  1318. package/dist/useSharePlatforms-CdY4H5fa.mjs.map +1 -0
  1319. package/dist/useSharePlatforms-D3m8oP4P.mjs.map +1 -0
  1320. package/dist/useSharePlatforms-DLNWOmu1.mjs.map +1 -0
  1321. package/dist/useSimplePageParam-0gi4z_Dh.mjs.map +1 -0
  1322. package/dist/useSimplePageParam-4Tpbf3Aw.mjs.map +1 -0
  1323. package/dist/useSimplePageParam-5gqDFPw2.mjs +54 -0
  1324. package/dist/useSimplePageParam-5gqDFPw2.mjs.map +1 -0
  1325. package/dist/useSimplePageParam-BzTu0hr0.mjs.map +1 -0
  1326. package/dist/useSimplePageParam-ChJeNy7l.mjs.map +1 -0
  1327. package/dist/useSimplePageParam-CnI4TOgF.mjs.map +1 -0
  1328. package/dist/useSimplePageParam-D8JdiVAL.mjs.map +1 -0
  1329. package/dist/useSimplePageParam-DpL3Hy9p.mjs.map +1 -0
  1330. package/dist/useSimplePageParam-lFUxz3bl.mjs.map +1 -0
  1331. package/dist/useTranslation-6jVFDIJS.mjs.map +1 -0
  1332. package/dist/useTranslation-BFbcum1F.mjs.map +1 -0
  1333. package/dist/useTranslation-BasfWDh_.mjs.map +1 -0
  1334. package/dist/useTranslation-BtpS4E-y.mjs +205 -0
  1335. package/dist/useTranslation-BtpS4E-y.mjs.map +1 -0
  1336. package/dist/useTranslation-C_6AuQgJ.mjs.map +1 -0
  1337. package/dist/useTranslation-CuXwk0sO.mjs.map +1 -0
  1338. package/dist/useTranslation-DdpPHciF.mjs.map +1 -0
  1339. package/dist/useTranslation-OKjcLwgA.mjs.map +1 -0
  1340. package/dist/usefetchRadioData-BdkLvXty.mjs.map +1 -0
  1341. package/dist/usefetchRadioData-CJH2-YQo.mjs.map +1 -0
  1342. package/dist/usefetchRadioData-CQ1I7kfe.mjs.map +1 -0
  1343. package/dist/usefetchRadioData-CdnOaM6A.mjs +55 -0
  1344. package/dist/usefetchRadioData-CdnOaM6A.mjs.map +1 -0
  1345. package/dist/usefetchRadioData-DYfkhUsz.mjs.map +1 -0
  1346. package/dist/usefetchRadioData-DyDRwB3R.mjs.map +1 -0
  1347. package/dist/usefetchRadioData-N66E_KQK.mjs.map +1 -0
  1348. package/dist/usefetchRadioData-NZLt1-PL.mjs.map +1 -0
  1349. package/package.json +1 -1
  1350. package/src/components/composable/route/types.ts +8 -2
  1351. package/src/components/composable/route/useAdvancedParamInit.ts +10 -3
  1352. package/src/components/composable/useAppleVideo.ts +24 -0
  1353. package/src/components/display/filter/AdvancedSearch.vue +23 -1
  1354. package/src/components/display/playlist/PodcastList.vue +0 -1
  1355. package/src/components/display/podcasts/PodcastList.vue +6 -5
  1356. package/src/components/display/podcasts/PodcastModuleBox.vue +20 -8
  1357. package/src/components/misc/RightsScopeMenu.vue +6 -2
  1358. package/src/components/pages/PodcastPage.vue +3 -0
  1359. package/src/components/pages/PodcastsPage.vue +4 -1
  1360. package/src/locale/de.json +5 -4
  1361. package/src/locale/en.json +5 -4
  1362. package/src/locale/es.json +5 -4
  1363. package/src/locale/fr.json +4 -3
  1364. package/src/locale/it.json +5 -4
  1365. package/src/locale/sl.json +5 -4
  1366. package/src/router/utils.ts +1 -0
  1367. package/src/stores/AuthStore.ts +2 -0
  1368. package/src/stores/class/adserver/adserverConfig.ts +13 -5
  1369. package/src/stores/class/adserver/index.ts +3 -0
  1370. package/src/stores/class/general/category.ts +1 -0
  1371. package/src/stores/class/general/index.ts +2 -0
  1372. package/dist/AdvancedSearch-BDxs2o7K.mjs +0 -429
  1373. package/dist/CategoryFilter-BtvszT_D.mjs +0 -237
  1374. package/dist/CategoryList-BirNjSgi.mjs +0 -182
  1375. package/dist/CategoryPage-zRFFW7lm.mjs +0 -57
  1376. package/dist/ChapteringModal-DSrRb0wM.mjs +0 -82
  1377. package/dist/CheckIdentityModal-BeoPGlll.mjs +0 -86
  1378. package/dist/ClassicAlert-DUQplMvs.mjs +0 -85
  1379. package/dist/ClipboardModal-Dm9Z1sRK.mjs +0 -84
  1380. package/dist/CommentBasicView-BIiF59xV.mjs +0 -129
  1381. package/dist/CommentInput-yE5YpwPd.mjs +0 -186
  1382. package/dist/CommentItem-B95BndID.mjs +0 -232
  1383. package/dist/CommentList-l9y2S0t4.mjs +0 -302
  1384. package/dist/CommentMoreActions-tL6Uqw1X.mjs +0 -286
  1385. package/dist/CommentName-Dg4--t-W.mjs +0 -96
  1386. package/dist/CommentParentInfo-8jbjym0a.mjs +0 -64
  1387. package/dist/CommentPlayer-lesewf4s.mjs +0 -86
  1388. package/dist/CommentSection-BRUVbqPQ.mjs +0 -141
  1389. package/dist/CommentStore-C9bhViPU.mjs +0 -355
  1390. package/dist/ContractPreviewModal-DDJNYv49.mjs +0 -101
  1391. package/dist/DownloadPodcastButton-DXJGjfIn.mjs +0 -53
  1392. package/dist/EditCommentModal-Czp-qN4t.mjs +0 -162
  1393. package/dist/EmissionGroupChooser-ZdhmJ8Bp.mjs +0 -82
  1394. package/dist/EmissionInlineList-Bqvh02uF.mjs +0 -188
  1395. package/dist/EmissionItem-DoBM2Zk2.mjs +0 -183
  1396. package/dist/EmissionList-Bh3ZlvV4.mjs +0 -325
  1397. package/dist/EmissionPage-BG6RIWP2.mjs +0 -322
  1398. package/dist/EmissionPlayerItem-CvoVh-dC.mjs +0 -167
  1399. package/dist/EmissionPresentationItem-B2PbYGuW.mjs +0 -78
  1400. package/dist/EmissionPresentationList-BXNJsC5t.mjs +0 -125
  1401. package/dist/EmissionsPage-B1arrsZ7.mjs +0 -199
  1402. package/dist/Error403Page-Bv-DWyb6.mjs +0 -69
  1403. package/dist/ErrorMessage-D2XAzxpC.mjs +0 -44
  1404. package/dist/FooterGarSection-77dYJO_c.mjs +0 -71
  1405. package/dist/FooterSection-B1hXBiqI.mjs +0 -242
  1406. package/dist/HomeDropdown-87gJP-lN.mjs +0 -110
  1407. package/dist/HomePage-Brr9jjcQ.mjs +0 -166
  1408. package/dist/LikeSection-1P9-7FQ5.mjs +0 -167
  1409. package/dist/ListPaginate-CEgFM1e5.mjs +0 -202
  1410. package/dist/LiveHorizontalList-G4GVIv-L.mjs +0 -136
  1411. package/dist/LiveList-BiODr6Zp.mjs +0 -324
  1412. package/dist/LivesPage-vu6VOIIy.mjs +0 -76
  1413. package/dist/MapPage-DmEdjPRe.mjs +0 -303
  1414. package/dist/MobileMenu-xNe7tNdx.mjs +0 -187
  1415. package/dist/NewsletterModal-LqgD6CbF.mjs +0 -82
  1416. package/dist/OrganisationChooser-BiNMu3dn.mjs +0 -190
  1417. package/dist/OrganisationChooserLight-BJwIMZ6G.mjs +0 -84
  1418. package/dist/PageNotFound-ChQf6Ngj.mjs +0 -58
  1419. package/dist/ParticipantInlineList-CcCfd9rJ.mjs +0 -117
  1420. package/dist/ParticipantItem-Ch4_98y_.mjs +0 -138
  1421. package/dist/ParticipantPage-DtAxvp2W.mjs +0 -203
  1422. package/dist/ParticipantsPage-BzdpZCDO.mjs +0 -262
  1423. package/dist/PlayerAnonymousModal-BKaI6E9o.mjs +0 -84
  1424. package/dist/PlayerCompact-B-WRNyqn.mjs +0 -209
  1425. package/dist/PlayerComponent-CUHTRJic.mjs +0 -929
  1426. package/dist/PlayerLarge-Kt-pV6N_.mjs +0 -190
  1427. package/dist/PlayerPlayButton-CAElMmMV.mjs +0 -400
  1428. package/dist/PlayerProgressBar-DWAyhBWx.mjs +0 -86
  1429. package/dist/PlayerStore-7vhL8Npe.mjs +0 -230
  1430. package/dist/PlayerVideo-Dq7OHOig.mjs +0 -72
  1431. package/dist/PlayerVideoDigiteka-pNFWNrON.mjs +0 -102
  1432. package/dist/PlayerVideoHls-CE2SIkEn.mjs +0 -232
  1433. package/dist/PlaylistPage-Cb5ukqXZ.mjs +0 -228
  1434. package/dist/PlaylistsPage-DAVADzhL.mjs +0 -395
  1435. package/dist/PodcastFilterList-CmqrA2oC.mjs +0 -254
  1436. package/dist/PodcastImage-FhC5F4MR.mjs +0 -174
  1437. package/dist/PodcastInlineList-CDumc8n6.mjs +0 -138
  1438. package/dist/PodcastInlineListTemplate-CB3uZjwS.mjs +0 -233
  1439. package/dist/PodcastIsPlaying-DqnPEYSJ.mjs +0 -30
  1440. package/dist/PodcastItem-rF33x3wp.mjs +0 -287
  1441. package/dist/PodcastList-BewxderG.mjs +0 -330
  1442. package/dist/PodcastList-DYLAwHbt.mjs +0 -182
  1443. package/dist/PodcastPage-NMZSFjQm.mjs +0 -756
  1444. package/dist/PodcastPlayBar-D_b7qme_.mjs +0 -83
  1445. package/dist/PodcastPlayBasicButton-Br9wqAv7.mjs +0 -72
  1446. package/dist/PodcastPlayButton-Dgv5W72_.mjs +0 -236
  1447. package/dist/PodcastPlaylistInlineList-YDhy9TvO.mjs +0 -115
  1448. package/dist/PodcastPresentationList-DxUwH3dU.mjs +0 -200
  1449. package/dist/PodcastProgressBar-D_togvfJ.mjs +0 -98
  1450. package/dist/PodcastRawTranscript-CHnE4Q9g.mjs +0 -184
  1451. package/dist/PodcastRubriqueList-DqHgAzXW.mjs +0 -83
  1452. package/dist/PodcastSwiperList-PoinXUn2.mjs +0 -219
  1453. package/dist/PodcastmakerHeader-CTOmo93E.mjs +0 -58
  1454. package/dist/PodcastsPage-B1JUH1co.mjs +0 -217
  1455. package/dist/ProductorSearch-XQ1jGYQw.mjs +0 -161
  1456. package/dist/ProgressBar-CyddCXNJ.mjs +0 -158
  1457. package/dist/QrCode-6ZkgX9Ta.mjs +0 -177
  1458. package/dist/QrCodeModal-BNVatZWE.mjs +0 -64
  1459. package/dist/RadioCurrently-Bf-Pg-J_.mjs +0 -112
  1460. package/dist/RadioHistory-C7tOpvUk.mjs +0 -139
  1461. package/dist/RadioImage-CiIj65_a.mjs +0 -85
  1462. package/dist/RadioList-BotOeNwF.mjs +0 -125
  1463. package/dist/RadioPage-CcPPJUmX.mjs +0 -137
  1464. package/dist/RadioPlanning-C8MtglrL.mjs +0 -290
  1465. package/dist/RadioProgressBar-1PEu9PP_.mjs +0 -67
  1466. package/dist/RecaptchaModal-CHFdC9Sq.mjs +0 -148
  1467. package/dist/ReportAbuseModal-CRcYir1i.mjs +0 -134
  1468. package/dist/RightsIndicator-DeX5rK6p.mjs +0 -124
  1469. package/dist/RightsWrapper-B8WfUUyU.mjs +0 -212
  1470. package/dist/RubriqueFilter-DL_FXRSA.mjs +0 -199
  1471. package/dist/RubriqueList-CMOS69Vq.mjs +0 -206
  1472. package/dist/RubriquePage-TE1WN6Ij.mjs +0 -108
  1473. package/dist/SearchPage-DMmu7a0f.mjs +0 -77
  1474. package/dist/ShareAnonymous-BRlQaJhi.mjs +0 -321
  1475. package/dist/ShareModalPlayer-D98G_Ndx.mjs +0 -135
  1476. package/dist/ShareNewsletter-C-clOCKi.mjs +0 -211
  1477. package/dist/SharePlayer-ChACZKgH.mjs +0 -378
  1478. package/dist/SharePlayerRadio-CTMdvwN2.mjs +0 -127
  1479. package/dist/SharePlayerTypes-B7FLniHB.mjs +0 -232
  1480. package/dist/ShareSocialsButtons-DiJVocCJ.mjs +0 -159
  1481. package/dist/SimpleLayout-DLEAl9OH.mjs +0 -41
  1482. package/dist/SmartLinkPage-BJoMvpYI.mjs +0 -238
  1483. package/dist/SubscribeButtons-Va9APuBC.mjs +0 -203
  1484. package/dist/SwiperList-B20Vye8P.mjs +0 -207
  1485. package/dist/TagList-B4PT2uXD.mjs +0 -134
  1486. package/dist/TagPage-BUXelbn2.mjs +0 -125
  1487. package/dist/TopBar-Bg0jGbps.mjs +0 -760
  1488. package/dist/UserButtonContent-CPa7Icpi.mjs +0 -185
  1489. package/dist/VideoModuleBox-CIZ34N35.mjs +0 -85
  1490. package/dist/VideoPage-B-7n9a0w.mjs +0 -274
  1491. package/dist/classicApi-ChvwoPGT.mjs +0 -1906
  1492. package/dist/downloadHelper-CuFfOvc0.mjs +0 -36
  1493. package/dist/messages-C-3-wU0o.mjs +0 -2757
  1494. package/dist/types-8roXR0of.mjs +0 -11
  1495. package/dist/useAdvancedParamInit-DpFW5LOX.mjs +0 -162
  1496. package/dist/useDayjs-CK_TIXDt.mjs +0 -32
  1497. package/dist/useErrorHandler-BZkAkzNC.mjs +0 -19
  1498. package/dist/useImageProxy-DdK55qB4.mjs +0 -20
  1499. package/dist/useOrgaComputed-D5SfqMx9.mjs +0 -19
  1500. package/dist/usePlayerLogicProgress-C-gsD-ec.mjs +0 -108
  1501. package/dist/usePodcastView-DlzuYDsj.mjs +0 -56
  1502. package/dist/usePresentationItem-CUGbjF4i.mjs +0 -190
  1503. package/dist/useRights-DNL2VJUc.mjs +0 -276
  1504. package/dist/useRubriquesFilterComputed-Dg4HclyQ.mjs +0 -13
  1505. package/dist/useRubriquesFilterParam-BrWFpJhb.mjs +0 -36
  1506. package/dist/useSharePlatforms-BqPO-hyZ.mjs +0 -468
  1507. package/dist/useSimplePageParam-ByeUUq4Z.mjs +0 -54
  1508. package/dist/useTranslation-Dsw1HxX9.mjs +0 -205
  1509. package/dist/usefetchRadioData-3E5_FJJM.mjs +0 -55
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRights-CacvXcg_.mjs","names":[],"sources":["../src/components/composable/useRights.ts"],"sourcesContent":["import { Mix } from \"../../stores/class/radio/mix\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport type { Emission } from \"../../stores/class/general/emission\";\nimport type { Podcast } from \"../../stores/class/general/podcast\";\nimport { PlaylistMedia } from \"../../stores/class/radio/playlistMedia\";\nimport { Cartouchier } from \"../../stores/class/cartouchier/cartouchier\";\nimport { Media } from \"../../stores/class/general/media\";\nimport { Conference } from \"../../stores/class/conference/conference\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nimport { Rubriquage } from \"@/stores/class/rubrique/rubriquage\";\n\ntype Role =\n 'ADMIN'|'ORGANISATION'|\n 'PRODUCTION'|'RESTRICTED_PRODUCTION'|'PODCAST_CRUD'|'PODCAST_VALIDATION'|\n 'PLAYLISTS'|'ANIMATION'|'RESTRICTED_ANIMATION'|'RADIO'|'LIVE'|\n 'EDITION'\n ;\n\nexport enum ActionRight {\n /** User can perform the action */\n Allowed = 'allowed',\n /** User lacks the required role */\n DeniedNoRight = 'no_right', \n /** User has a restricted role but does not own the resource **/\n DeniedNotOwner = 'not_owner',\n /** User is scoped to specific rubriques */\n DeniedInsufficientScope = 'no_scope'\n}\n\n// Constraint type for the object passed to deriveCanFunctions.\n// any[] is intentional: it allows functions with any parameter signature to satisfy\n// the constraint while still enforcing that the return type is ActionRight.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype SyncRightFns = Record<string, (...args: any[]) => ActionRight>;\n\n// Maps every key of the form `get${A}Right` to `can${A}`, preserving the parameter\n// types of the original function but changing the return type to boolean.\n// Keys that do not match the naming convention are dropped (mapped to never).\ntype CanFns<T extends SyncRightFns> = {\n [K in keyof T as K extends `get${infer A}Right` ? `can${A}` : never]:\n T[K] extends (...args: infer P) => ActionRight ? (...args: P) => boolean : never;\n};\n\n/**\n * Generates boolean shortcut functions from a set of `getRightXxx` functions.\n *\n * Convention: `get${Action}Right(…args) → ActionRight`\n * becomes `can${Action}(…args) → boolean`\n *\n * The generated function returns true when the underlying getRightXxx returns\n * ActionRight.Allowed, and false otherwise. This means callers that only need\n * a simple yes/no answer can use canXxx(), while callers that need the specific\n * denial reason (DeniedNoRight vs DeniedNotOwner) can call getRightXxx() directly.\n *\n * Only synchronous functions should be passed here; async rights functions must\n * be wrapped manually.\n */\nfunction deriveCanFunctions<T extends SyncRightFns>(fns: T): CanFns<T> {\n const result = {} as CanFns<T>;\n for (const key of Object.keys(fns) as (keyof T & string)[]) {\n if (key.startsWith('get') && key.endsWith('Right')) {\n const canKey = `can${key.slice(3, -5)}` as keyof CanFns<T>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (result as any)[canKey] = (...args: unknown[]) =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (fns as any)[key](...args) === ActionRight.Allowed;\n }\n }\n return result;\n}\n\n/**\n * Composable to manage rights.\n * Based on AuthStore, but converts roles to easily usable tests for various\n * actions.\n */\nexport const useRights = () => {\n const authStore = useAuthStore();\n\n function roleContainsAny(...roles: Role[]): boolean {\n return (authStore.authRole as Role[]).findIndex((r: Role) => roles.includes(r)) > -1;\n }\n\n function hasSufficientScope(elementRubriques: Array<number> = [], parentRubriques: Array<number> = []): boolean {\n const ids = elementRubriques.concat(parentRubriques);\n const scope = authStore.userScope;\n if (scope.length === 0) {\n return true;\n }\n\n for (const id of scope) {\n if (ids.includes(id)) {\n return true;\n }\n }\n\n return false;\n }\n\n ////////////////////////////\n // Emission rights\n ////////////////////////////\n function getCreateEmissionRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RESTRICTED_PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditEmissionRight(emission: Emission): ActionRight {\n if (!hasSufficientScope(emission.rubriqueIds)) {\n return ActionRight.DeniedInsufficientScope;\n }\n \n if (\n (!emission.emissionId && getCreateEmissionRight() === ActionRight.Allowed) ||\n roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')\n ) {\n return ActionRight.Allowed;\n }\n\n if (roleContainsAny('RESTRICTED_PRODUCTION')) {\n return emission.createdByUserId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getDeleteEmissionRight(emission: Emission): ActionRight {\n // In case of restricted production, it will only delete podcasts\n // created by user, and delete the emission only if empty afterwards\n if (roleContainsAny('ADMIN', 'ORGANISATION')) {\n return ActionRight.Allowed;\n } else if (roleContainsAny('PRODUCTION', 'RESTRICTED_PRODUCTION')) {\n return hasSufficientScope(emission.rubriqueIds)\n ? ActionRight.Allowed\n : ActionRight.DeniedInsufficientScope;\n } else {\n return ActionRight.DeniedNoRight;\n }\n }\n\n function getEditCommentsConfigEmissionRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n // Podcast rights\n function getCreatePodcastRight(emission?: Emission): ActionRight {\n if(roleContainsAny('ADMIN', 'ORGANISATION')) {\n return ActionRight.Allowed;\n } else if (roleContainsAny('PRODUCTION', 'PODCAST_CRUD', 'RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION')) {\n return !emission || hasSufficientScope(emission.rubriqueIds)\n ? ActionRight.Allowed\n : ActionRight.DeniedInsufficientScope;\n } else {\n return ActionRight.DeniedNoRight;\n }\n }\n\n function getDuplicatePodcastRight(): ActionRight {\n // Same as creation but notably without PODCAST_CRUD and RESTRICTED_ANIMATION\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RESTRICTED_PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditPodcastRight(podcast: Podcast): ActionRight {\n if (!hasSufficientScope(podcast.rubriqueIds, podcast.emission.rubriqueIds)) {\n return ActionRight.DeniedInsufficientScope;\n }\n\n if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')) {\n return ActionRight.Allowed;\n }\n if (roleContainsAny('RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION')) {\n return podcast.createdByUserId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n if (roleContainsAny('PODCAST_CRUD')) {\n return podcast.valid === false && podcast.publisher?.userId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getDeletePodcastRight(podcast: Podcast): ActionRight {\n return getEditPodcastRight(podcast);\n }\n\n function getValidatePodcastRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'PODCAST_VALIDATION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditCommentsConfigPodcastRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n ////////////////////////////\n // Playlist rights\n ////////////////////////////\n function getCreatePlaylistRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PLAYLISTS')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditPlaylistRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PLAYLISTS')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getDeletePlaylistRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PLAYLISTS')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n ////////////////////////////\n // Participant rights\n ////////////////////////////\n function getCreateParticipantRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RESTRICTED_PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n async function getParticipantEditRight(participantId: number|undefined): Promise<ActionRight> {\n // New participants can be edited, and also with sufficient rights\n return (!participantId || roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RESTRICTED_PRODUCTION'))\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n async function canEditParticipant(participantId: number|undefined): Promise<boolean> {\n return await getParticipantEditRight(participantId) === ActionRight.Allowed;\n }\n\n async function canDeleteParticipant(participantId: number|undefined): Promise<boolean> {\n return await getParticipantEditRight(participantId) === ActionRight.Allowed;\n }\n\n ////////////////////////////\n // Rubriques/rubriquage rights\n ////////////////////////////\n function getCreateRubriquesRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'EDITION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n function getEditRubriquesRight(_element: Rubrique|Rubriquage): ActionRight {\n return getCreateRubriquesRight();\n }\n\n ////////////////////////////\n // Aggregator rights\n ////////////////////////////\n function getCreateAggregatorRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditAggregatorRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getDeleteAggregatorRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n ////////////////////////////\n // Cartouchier rights\n ////////////////////////////\n function getCreateCartouchierRight(): ActionRight {\n return roleContainsAny(\n 'ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION',\n 'PODCAST_CRUD', 'RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION'\n )\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditCartouchierRight(element: Cartouchier): ActionRight {\n if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION')) {\n return ActionRight.Allowed;\n }\n if (roleContainsAny('RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION', 'PODCAST_CRUD')) {\n return element.ownerId !== undefined && element.ownerId !== null && element.ownerId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getDeleteCartouchierRight(element: Cartouchier): ActionRight {\n return getEditCartouchierRight(element);\n }\n\n ////////////////////////////\n // PlaylistMedia rights\n ////////////////////////////\n function getCreatePlaylistMediaRight(): ActionRight {\n return roleContainsAny(\n 'ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION',\n 'PODCAST_CRUD', 'RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION'\n )\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditPlaylistMediaRight(element: PlaylistMedia): ActionRight {\n if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION')) {\n return ActionRight.Allowed;\n }\n if (roleContainsAny('RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION', 'PODCAST_CRUD')) {\n return element.ownerId !== undefined && element.ownerId !== null && element.ownerId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getDeletePlaylistMediaRight(element: PlaylistMedia): ActionRight {\n return getEditPlaylistMediaRight(element);\n }\n\n ////////////////////////////\n // Media rights\n ////////////////////////////\n function getCreateMediaRight(): ActionRight {\n return roleContainsAny(\n 'ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION',\n 'PODCAST_CRUD', 'RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION'\n )\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditMediaRight(element: Media): ActionRight {\n if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION')) {\n return ActionRight.Allowed;\n }\n if (roleContainsAny('RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION', 'PODCAST_CRUD')) {\n return element.ownerId !== undefined && element.ownerId !== null && element.ownerId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getDeleteMediaRight(element: Media): ActionRight {\n return getEditMediaRight(element);\n }\n\n ////////////////////////////\n // Mix rights\n ////////////////////////////\n function getCreateMixRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'RADIO')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditMixRight(_element: Mix): ActionRight {\n return getCreateMixRight();\n }\n\n function getDeleteMixRight(element: Mix): ActionRight {\n return getEditMixRight(element);\n }\n\n ////////////////////////////\n // Transcript/translation rights\n ////////////////////////////\n function getEditTranscriptRight(podcast: Podcast): ActionRight {\n if (!hasSufficientScope(podcast.rubriqueIds, podcast.emission.rubriqueIds)) {\n return ActionRight.DeniedInsufficientScope;\n }\n if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')) {\n return ActionRight.Allowed;\n }\n if (roleContainsAny('RESTRICTED_PRODUCTION', 'PODCAST_CRUD')) {\n return podcast.createdByUserId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getEditTranscriptVisibilityRight(podcast: Podcast): ActionRight {\n if (!hasSufficientScope(podcast.rubriqueIds, podcast.emission.rubriqueIds)) {\n return ActionRight.DeniedInsufficientScope;\n }\n\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditTranslationRight(podcast: Podcast): ActionRight {\n return getEditTranscriptRight(podcast);\n }\n\n ////////////////////////////\n // Live\n ////////////////////////////\n function getAccessRecordingRight(conference: Conference, isLive: boolean): ActionRight {\n if (isLive) {\n return roleContainsAny('LIVE') ? ActionRight.Allowed : ActionRight.DeniedNoRight;\n } else {\n return roleContainsAny('ANIMATION', 'RESTRICTED_ANIMATION') ? ActionRight.Allowed : ActionRight.DeniedNoRight;\n }\n }\n\n ////////////////////////////\n // Other action rights\n ////////////////////////////\n function getEditCodeInsertPlayerRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditChapteringRight(podcast: Podcast): ActionRight {\n return getEditPodcastRight(podcast);\n }\n\n function getCreatePromoVideoRight(podcast: Podcast): ActionRight {\n if (!hasSufficientScope(podcast.rubriqueIds, podcast.emission.rubriqueIds)) {\n return ActionRight.DeniedInsufficientScope;\n } else if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')) {\n return ActionRight.Allowed;\n } else {\n return ActionRight.DeniedNoRight;\n }\n }\n\n function getEditPromoVideoRight(podcast: Podcast): ActionRight {\n return getCreatePromoVideoRight(podcast);\n }\n\n function getDeletePromoVideoRight(podcast: Podcast): ActionRight {\n return getCreatePromoVideoRight(podcast);\n }\n\n // View/utility checks — outside the action pattern\n function canSeeHistory(): boolean {\n return roleContainsAny('ADMIN', 'ORGANISATION');\n }\n\n function isRestrictedProduction(): boolean {\n return roleContainsAny('RESTRICTED_PRODUCTION') && !roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION');\n }\n\n const rightFns = {\n // Emissions\n getCreateEmissionRight,\n getEditEmissionRight,\n getDeleteEmissionRight,\n getEditCommentsConfigEmissionRight,\n // Podcasts\n getCreatePodcastRight,\n getDuplicatePodcastRight,\n getEditPodcastRight,\n getDeletePodcastRight,\n getValidatePodcastRight,\n getEditCommentsConfigPodcastRight,\n // Playlists\n getCreatePlaylistRight,\n getEditPlaylistRight,\n getDeletePlaylistRight,\n // Participants (sync only)\n getCreateParticipantRight,\n // Rubriques/Rubriquages\n getCreateRubriquesRight,\n getEditRubriquesRight,\n // Aggregators\n getCreateAggregatorRight,\n getEditAggregatorRight,\n getDeleteAggregatorRight,\n // Cartouchier\n getCreateCartouchierRight,\n getEditCartouchierRight,\n getDeleteCartouchierRight,\n // PlaylistMedia\n getCreatePlaylistMediaRight,\n getEditPlaylistMediaRight,\n getDeletePlaylistMediaRight,\n // Media\n getCreateMediaRight,\n getEditMediaRight,\n getDeleteMediaRight,\n // Mix\n getCreateMixRight,\n getEditMixRight,\n getDeleteMixRight,\n // Translation/transcription\n getEditTranscriptRight,\n getEditTranscriptVisibilityRight,\n getEditTranslationRight,\n // Other\n getAccessRecordingRight,\n getEditCodeInsertPlayerRight,\n getEditChapteringRight,\n getCreatePromoVideoRight,\n getEditPromoVideoRight,\n getDeletePromoVideoRight\n };\n\n const canFns = deriveCanFunctions(rightFns);\n\n function canReadRSSRules(): boolean {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION');\n }\n\n function canEditRSSRules(): boolean {\n return canReadRSSRules();\n }\n\n return {\n ...rightFns,\n ...canFns,\n // Async participant (kept manually — async functions excluded from deriveCanFunctions)\n getParticipantEditRight,\n canEditParticipant,\n canDeleteParticipant,\n // RSS Rules (manual — outside the getRightXxx convention)\n canReadRSSRules,\n canEditRSSRules,\n // View/utility checks\n canSeeHistory,\n isRestrictedProduction,\n };\n};\n"],"mappings":";;AAkBA,IAAY,cAAL,yBAAA,aAAA;;CAEH,YAAA,aAAA;;CAEA,YAAA,mBAAA;;CAEA,YAAA,oBAAA;;CAEA,YAAA,6BAAA;;AACJ,EAAA,CAAA,CAAA;;;;;;;;;;;;;;;AA8BA,SAAS,mBAA2C,KAAmB;CACnE,MAAM,SAAS,CAAC;CAChB,KAAK,MAAM,OAAO,OAAO,KAAK,GAAG,GAC7B,IAAI,IAAI,WAAW,KAAK,KAAK,IAAI,SAAS,OAAO,GAAG;EAChD,MAAM,SAAS,MAAM,IAAI,MAAM,GAAG,EAAE;EAEpC,OAAgB,WAAW,GAAG,SAEzB,IAAY,KAAK,GAAG,IAAI,MAAA;CACjC;CAEJ,OAAO;AACX;;;;;;AAOA,IAAa,kBAAkB;CAC3B,MAAM,YAAY,aAAa;CAE/B,SAAS,gBAAgB,GAAG,OAAwB;EAChD,OAAQ,UAAU,SAAoB,WAAW,MAAY,MAAM,SAAS,CAAC,CAAC,IAAI;CACtF;CAEA,SAAS,mBAAmB,mBAAkC,CAAC,GAAG,kBAAiC,CAAC,GAAY;EAC5G,MAAM,MAAM,iBAAiB,OAAO,eAAe;EACnD,MAAM,QAAQ,UAAU;EACxB,IAAI,MAAM,WAAW,GACjB,OAAO;EAGX,KAAK,MAAM,MAAM,OACb,IAAI,IAAI,SAAS,EAAE,GACf,OAAO;EAIf,OAAO;CACX;CAKA,SAAS,yBAAsC;EAC3C,OAAO,gBAAgB,SAAS,gBAAgB,cAAc,uBAAuB,IAAA,YAAA;CAGzF;CAEA,SAAS,qBAAqB,UAAiC;EAC3D,IAAI,CAAC,mBAAmB,SAAS,WAAW,GACxC,OAAA;EAGJ,IACK,CAAC,SAAS,cAAc,uBAAuB,MAAA,aAChD,gBAAgB,SAAS,gBAAgB,YAAY,GAErD,OAAA;EAGJ,IAAI,gBAAgB,uBAAuB,GACvC,OAAO,SAAS,oBAAoB,UAAU,aAAa,SAAA,YAAA;EAI/D,OAAA;CACJ;CAEA,SAAS,uBAAuB,UAAiC;EAG7D,IAAI,gBAAgB,SAAS,cAAc,GACvC,OAAA;OACG,IAAI,gBAAgB,cAAc,uBAAuB,GAC5D,OAAO,mBAAmB,SAAS,WAAW,IAAA,YAAA;OAI9C,OAAA;CAER;CAEA,SAAS,qCAAkD;EACvD,OAAO,gBAAgB,SAAS,gBAAgB,YAAY,IAAA,YAAA;CAGhE;CAGA,SAAS,sBAAsB,UAAkC;EAC7D,IAAG,gBAAgB,SAAS,cAAc,GACtC,OAAA;OACG,IAAI,gBAAgB,cAAc,gBAAgB,yBAAyB,sBAAsB,GACpG,OAAO,CAAC,YAAY,mBAAmB,SAAS,WAAW,IAAA,YAAA;OAI3D,OAAA;CAER;CAEA,SAAS,2BAAwC;EAE7C,OAAO,gBAAgB,SAAS,gBAAgB,cAAc,uBAAuB,IAAA,YAAA;CAGzF;CAEA,SAAS,oBAAoB,SAA+B;EACxD,IAAI,CAAC,mBAAmB,QAAQ,aAAa,QAAQ,SAAS,WAAW,GACrE,OAAA;EAGJ,IAAI,gBAAgB,SAAS,gBAAgB,YAAY,GACrD,OAAA;EAEJ,IAAI,gBAAgB,yBAAyB,sBAAsB,GAC/D,OAAO,QAAQ,oBAAoB,UAAU,aAAa,SAAA,YAAA;EAI9D,IAAI,gBAAgB,cAAc,GAC9B,OAAO,QAAQ,UAAU,SAAS,QAAQ,WAAW,WAAW,UAAU,aAAa,SAAA,YAAA;EAI3F,OAAA;CACJ;CAEA,SAAS,sBAAsB,SAA+B;EAC1D,OAAO,oBAAoB,OAAO;CACtC;CAEA,SAAS,0BAAuC;EAC5C,OAAO,gBAAgB,SAAS,gBAAgB,cAAc,oBAAoB,IAAA,YAAA;CAGtF;CAEA,SAAS,oCAAiD;EACtD,OAAO,gBAAgB,SAAS,gBAAgB,YAAY,IAAA,YAAA;CAGhE;CAKA,SAAS,yBAAsC;EAC3C,OAAO,gBAAgB,SAAS,gBAAgB,WAAW,IAAA,YAAA;CAG/D;CAEA,SAAS,uBAAoC;EACzC,OAAO,gBAAgB,SAAS,gBAAgB,WAAW,IAAA,YAAA;CAG/D;CAEA,SAAS,yBAAsC;EAC3C,OAAO,gBAAgB,SAAS,gBAAgB,WAAW,IAAA,YAAA;CAG/D;CAKA,SAAS,4BAAyC;EAC9C,OAAO,gBAAgB,SAAS,gBAAgB,cAAc,uBAAuB,IAAA,YAAA;CAGzF;CAEA,eAAe,wBAAwB,eAAuD;EAE1F,OAAQ,CAAC,iBAAiB,gBAAgB,SAAS,gBAAgB,cAAc,uBAAuB,IAAA,YAAA;CAG5G;CAEA,eAAe,mBAAmB,eAAmD;EACjF,OAAO,MAAM,wBAAwB,aAAa,MAAA;CACtD;CAEA,eAAe,qBAAqB,eAAmD;EACnF,OAAO,MAAM,wBAAwB,aAAa,MAAA;CACtD;CAKA,SAAS,0BAAuC;EAC5C,OAAO,gBAAgB,SAAS,gBAAgB,SAAS,IAAA,YAAA;CAG7D;CAGA,SAAS,sBAAsB,UAA4C;EACvE,OAAO,wBAAwB;CACnC;CAKA,SAAS,2BAAwC;EAC7C,OAAO,gBAAgB,SAAS,cAAc,IAAA,YAAA;CAGlD;CAEA,SAAS,yBAAsC;EAC3C,OAAO,gBAAgB,SAAS,cAAc,IAAA,YAAA;CAGlD;CAEA,SAAS,2BAAwC;EAC7C,OAAO,gBAAgB,SAAS,cAAc,IAAA,YAAA;CAGlD;CAKA,SAAS,4BAAyC;EAC9C,OAAO,gBACH,SAAS,gBAAgB,cAAc,SAAS,aAChD,gBAAgB,yBAAyB,sBAC7C,IAAA,YAAA;CAGJ;CAEA,SAAS,wBAAwB,SAAmC;EAChE,IAAI,gBAAgB,SAAS,gBAAgB,cAAc,SAAS,WAAW,GAC3E,OAAA;EAEJ,IAAI,gBAAgB,yBAAyB,wBAAwB,cAAc,GAC/E,OAAO,QAAQ,YAAY,KAAA,KAAa,QAAQ,YAAY,QAAQ,QAAQ,YAAY,UAAU,aAAa,SAAA,YAAA;EAInH,OAAA;CACJ;CAEA,SAAS,0BAA0B,SAAmC;EAClE,OAAO,wBAAwB,OAAO;CAC1C;CAKA,SAAS,8BAA2C;EAChD,OAAO,gBACH,SAAS,gBAAgB,cAAc,SAAS,aAChD,gBAAgB,yBAAyB,sBAC7C,IAAA,YAAA;CAGJ;CAEA,SAAS,0BAA0B,SAAqC;EACpE,IAAI,gBAAgB,SAAS,gBAAgB,cAAc,SAAS,WAAW,GAC3E,OAAA;EAEJ,IAAI,gBAAgB,yBAAyB,wBAAwB,cAAc,GAC/E,OAAO,QAAQ,YAAY,KAAA,KAAa,QAAQ,YAAY,QAAQ,QAAQ,YAAY,UAAU,aAAa,SAAA,YAAA;EAInH,OAAA;CACJ;CAEA,SAAS,4BAA4B,SAAqC;EACtE,OAAO,0BAA0B,OAAO;CAC5C;CAKA,SAAS,sBAAmC;EACxC,OAAO,gBACH,SAAS,gBAAgB,cAAc,SAAS,aAChD,gBAAgB,yBAAyB,sBAC7C,IAAA,YAAA;CAGJ;CAEA,SAAS,kBAAkB,SAA6B;EACpD,IAAI,gBAAgB,SAAS,gBAAgB,cAAc,SAAS,WAAW,GAC3E,OAAA;EAEJ,IAAI,gBAAgB,yBAAyB,wBAAwB,cAAc,GAC/E,OAAO,QAAQ,YAAY,KAAA,KAAa,QAAQ,YAAY,QAAQ,QAAQ,YAAY,UAAU,aAAa,SAAA,YAAA;EAInH,OAAA;CACJ;CAEA,SAAS,oBAAoB,SAA6B;EACtD,OAAO,kBAAkB,OAAO;CACpC;CAKA,SAAS,oBAAiC;EACtC,OAAO,gBAAgB,SAAS,gBAAgB,OAAO,IAAA,YAAA;CAG3D;CAEA,SAAS,gBAAgB,UAA4B;EACjD,OAAO,kBAAkB;CAC7B;CAEA,SAAS,kBAAkB,SAA2B;EAClD,OAAO,gBAAgB,OAAO;CAClC;CAKA,SAAS,uBAAuB,SAA+B;EAC3D,IAAI,CAAC,mBAAmB,QAAQ,aAAa,QAAQ,SAAS,WAAW,GACrE,OAAA;EAEJ,IAAI,gBAAgB,SAAS,gBAAgB,YAAY,GACrD,OAAA;EAEJ,IAAI,gBAAgB,yBAAyB,cAAc,GACvD,OAAO,QAAQ,oBAAoB,UAAU,aAAa,SAAA,YAAA;EAI9D,OAAA;CACJ;CAEA,SAAS,iCAAiC,SAA+B;EACrE,IAAI,CAAC,mBAAmB,QAAQ,aAAa,QAAQ,SAAS,WAAW,GACrE,OAAA;EAGJ,OAAO,gBAAgB,SAAS,gBAAgB,YAAY,IAAA,YAAA;CAGhE;CAEA,SAAS,wBAAwB,SAA+B;EAC5D,OAAO,uBAAuB,OAAO;CACzC;CAKA,SAAS,wBAAwB,YAAwB,QAA8B;EACnF,IAAI,QACA,OAAO,gBAAgB,MAAM,IAAA,YAAA;OAE7B,OAAO,gBAAgB,aAAa,sBAAsB,IAAA,YAAA;CAElE;CAKA,SAAS,+BAA4C;EACjD,OAAO,gBAAgB,SAAS,cAAc,IAAA,YAAA;CAGlD;CAEA,SAAS,uBAAuB,SAA+B;EAC3D,OAAO,oBAAoB,OAAO;CACtC;CAEA,SAAS,yBAAyB,SAA+B;EAC7D,IAAI,CAAC,mBAAmB,QAAQ,aAAa,QAAQ,SAAS,WAAW,GACrE,OAAA;OACG,IAAI,gBAAgB,SAAS,gBAAgB,YAAY,GAC5D,OAAA;OAEA,OAAA;CAER;CAEA,SAAS,uBAAuB,SAA+B;EAC3D,OAAO,yBAAyB,OAAO;CAC3C;CAEA,SAAS,yBAAyB,SAA+B;EAC7D,OAAO,yBAAyB,OAAO;CAC3C;CAGA,SAAS,gBAAyB;EAC9B,OAAO,gBAAgB,SAAS,cAAc;CAClD;CAEA,SAAS,yBAAkC;EACvC,OAAO,gBAAgB,uBAAuB,KAAK,CAAC,gBAAgB,SAAS,gBAAgB,YAAY;CAC7G;CAEA,MAAM,WAAW;EAEb;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EAEA;EAEA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;CACJ;CAEA,MAAM,SAAS,mBAAmB,QAAQ;CAE1C,SAAS,kBAA2B;EAChC,OAAO,gBAAgB,SAAS,gBAAgB,YAAY;CAChE;CAEA,SAAS,kBAA2B;EAChC,OAAO,gBAAgB;CAC3B;CAEA,OAAO;EACH,GAAG;EACH,GAAG;EAEH;EACA;EACA;EAEA;EACA;EAEA;EACA;CACJ;AACJ"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRights-Cm7U9RVV.mjs","names":[],"sources":["../src/components/composable/useRights.ts"],"sourcesContent":["import { Mix } from \"../../stores/class/radio/mix\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport type { Emission } from \"../../stores/class/general/emission\";\nimport type { Podcast } from \"../../stores/class/general/podcast\";\nimport { PlaylistMedia } from \"../../stores/class/radio/playlistMedia\";\nimport { Cartouchier } from \"../../stores/class/cartouchier/cartouchier\";\nimport { Media } from \"../../stores/class/general/media\";\nimport { Conference } from \"../../stores/class/conference/conference\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nimport { Rubriquage } from \"@/stores/class/rubrique/rubriquage\";\n\ntype Role =\n 'ADMIN'|'ORGANISATION'|\n 'PRODUCTION'|'RESTRICTED_PRODUCTION'|'PODCAST_CRUD'|'PODCAST_VALIDATION'|\n 'PLAYLISTS'|'ANIMATION'|'RESTRICTED_ANIMATION'|'RADIO'|'LIVE'|\n 'EDITION'\n ;\n\nexport enum ActionRight {\n /** User can perform the action */\n Allowed = 'allowed',\n /** User lacks the required role */\n DeniedNoRight = 'no_right', \n /** User has a restricted role but does not own the resource **/\n DeniedNotOwner = 'not_owner',\n /** User is scoped to specific rubriques */\n DeniedInsufficientScope = 'no_scope'\n}\n\n// Constraint type for the object passed to deriveCanFunctions.\n// any[] is intentional: it allows functions with any parameter signature to satisfy\n// the constraint while still enforcing that the return type is ActionRight.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype SyncRightFns = Record<string, (...args: any[]) => ActionRight>;\n\n// Maps every key of the form `get${A}Right` to `can${A}`, preserving the parameter\n// types of the original function but changing the return type to boolean.\n// Keys that do not match the naming convention are dropped (mapped to never).\ntype CanFns<T extends SyncRightFns> = {\n [K in keyof T as K extends `get${infer A}Right` ? `can${A}` : never]:\n T[K] extends (...args: infer P) => ActionRight ? (...args: P) => boolean : never;\n};\n\n/**\n * Generates boolean shortcut functions from a set of `getRightXxx` functions.\n *\n * Convention: `get${Action}Right(…args) → ActionRight`\n * becomes `can${Action}(…args) → boolean`\n *\n * The generated function returns true when the underlying getRightXxx returns\n * ActionRight.Allowed, and false otherwise. This means callers that only need\n * a simple yes/no answer can use canXxx(), while callers that need the specific\n * denial reason (DeniedNoRight vs DeniedNotOwner) can call getRightXxx() directly.\n *\n * Only synchronous functions should be passed here; async rights functions must\n * be wrapped manually.\n */\nfunction deriveCanFunctions<T extends SyncRightFns>(fns: T): CanFns<T> {\n const result = {} as CanFns<T>;\n for (const key of Object.keys(fns) as (keyof T & string)[]) {\n if (key.startsWith('get') && key.endsWith('Right')) {\n const canKey = `can${key.slice(3, -5)}` as keyof CanFns<T>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (result as any)[canKey] = (...args: unknown[]) =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (fns as any)[key](...args) === ActionRight.Allowed;\n }\n }\n return result;\n}\n\n/**\n * Composable to manage rights.\n * Based on AuthStore, but converts roles to easily usable tests for various\n * actions.\n */\nexport const useRights = () => {\n const authStore = useAuthStore();\n\n function roleContainsAny(...roles: Role[]): boolean {\n return (authStore.authRole as Role[]).findIndex((r: Role) => roles.includes(r)) > -1;\n }\n\n function hasSufficientScope(elementRubriques: Array<number> = [], parentRubriques: Array<number> = []): boolean {\n const ids = elementRubriques.concat(parentRubriques);\n const scope = authStore.userScope;\n if (scope.length === 0) {\n return true;\n }\n\n for (const id of scope) {\n if (ids.includes(id)) {\n return true;\n }\n }\n\n return false;\n }\n\n ////////////////////////////\n // Emission rights\n ////////////////////////////\n function getCreateEmissionRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RESTRICTED_PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditEmissionRight(emission: Emission): ActionRight {\n if (!hasSufficientScope(emission.rubriqueIds)) {\n return ActionRight.DeniedInsufficientScope;\n }\n \n if (\n (!emission.emissionId && getCreateEmissionRight() === ActionRight.Allowed) ||\n roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')\n ) {\n return ActionRight.Allowed;\n }\n\n if (roleContainsAny('RESTRICTED_PRODUCTION')) {\n return emission.createdByUserId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getDeleteEmissionRight(emission: Emission): ActionRight {\n // In case of restricted production, it will only delete podcasts\n // created by user, and delete the emission only if empty afterwards\n if (roleContainsAny('ADMIN', 'ORGANISATION')) {\n return ActionRight.Allowed;\n } else if (roleContainsAny('PRODUCTION', 'RESTRICTED_PRODUCTION')) {\n return hasSufficientScope(emission.rubriqueIds)\n ? ActionRight.Allowed\n : ActionRight.DeniedInsufficientScope;\n } else {\n return ActionRight.DeniedNoRight;\n }\n }\n\n function getEditCommentsConfigEmissionRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n // Podcast rights\n function getCreatePodcastRight(emission?: Emission): ActionRight {\n if(roleContainsAny('ADMIN', 'ORGANISATION')) {\n return ActionRight.Allowed;\n } else if (roleContainsAny('PRODUCTION', 'PODCAST_CRUD', 'RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION')) {\n return !emission || hasSufficientScope(emission.rubriqueIds)\n ? ActionRight.Allowed\n : ActionRight.DeniedInsufficientScope;\n } else {\n return ActionRight.DeniedNoRight;\n }\n }\n\n function getDuplicatePodcastRight(): ActionRight {\n // Same as creation but notably without PODCAST_CRUD and RESTRICTED_ANIMATION\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RESTRICTED_PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditPodcastRight(podcast: Podcast): ActionRight {\n if (!hasSufficientScope(podcast.rubriqueIds, podcast.emission.rubriqueIds)) {\n return ActionRight.DeniedInsufficientScope;\n }\n\n if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')) {\n return ActionRight.Allowed;\n }\n if (roleContainsAny('RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION')) {\n return podcast.createdByUserId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n if (roleContainsAny('PODCAST_CRUD')) {\n return podcast.valid === false && podcast.publisher?.userId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getDeletePodcastRight(podcast: Podcast): ActionRight {\n return getEditPodcastRight(podcast);\n }\n\n function getValidatePodcastRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'PODCAST_VALIDATION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditCommentsConfigPodcastRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n ////////////////////////////\n // Playlist rights\n ////////////////////////////\n function getCreatePlaylistRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PLAYLISTS')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditPlaylistRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PLAYLISTS')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getDeletePlaylistRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PLAYLISTS')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n ////////////////////////////\n // Participant rights\n ////////////////////////////\n function getCreateParticipantRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RESTRICTED_PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n async function getParticipantEditRight(participantId: number|undefined): Promise<ActionRight> {\n // New participants can be edited, and also with sufficient rights\n return (!participantId || roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RESTRICTED_PRODUCTION'))\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n async function canEditParticipant(participantId: number|undefined): Promise<boolean> {\n return await getParticipantEditRight(participantId) === ActionRight.Allowed;\n }\n\n async function canDeleteParticipant(participantId: number|undefined): Promise<boolean> {\n return await getParticipantEditRight(participantId) === ActionRight.Allowed;\n }\n\n ////////////////////////////\n // Rubriques/rubriquage rights\n ////////////////////////////\n function getCreateRubriquesRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'EDITION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n function getEditRubriquesRight(_element: Rubrique|Rubriquage): ActionRight {\n return getCreateRubriquesRight();\n }\n\n ////////////////////////////\n // Aggregator rights\n ////////////////////////////\n function getCreateAggregatorRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditAggregatorRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getDeleteAggregatorRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n ////////////////////////////\n // Cartouchier rights\n ////////////////////////////\n function getCreateCartouchierRight(): ActionRight {\n return roleContainsAny(\n 'ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION',\n 'PODCAST_CRUD', 'RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION'\n )\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditCartouchierRight(element: Cartouchier): ActionRight {\n if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION')) {\n return ActionRight.Allowed;\n }\n if (roleContainsAny('RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION', 'PODCAST_CRUD')) {\n return element.ownerId !== undefined && element.ownerId !== null && element.ownerId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getDeleteCartouchierRight(element: Cartouchier): ActionRight {\n return getEditCartouchierRight(element);\n }\n\n ////////////////////////////\n // PlaylistMedia rights\n ////////////////////////////\n function getCreatePlaylistMediaRight(): ActionRight {\n return roleContainsAny(\n 'ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION',\n 'PODCAST_CRUD', 'RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION'\n )\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditPlaylistMediaRight(element: PlaylistMedia): ActionRight {\n if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION')) {\n return ActionRight.Allowed;\n }\n if (roleContainsAny('RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION', 'PODCAST_CRUD')) {\n return element.ownerId !== undefined && element.ownerId !== null && element.ownerId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getDeletePlaylistMediaRight(element: PlaylistMedia): ActionRight {\n return getEditPlaylistMediaRight(element);\n }\n\n ////////////////////////////\n // Media rights\n ////////////////////////////\n function getCreateMediaRight(): ActionRight {\n return roleContainsAny(\n 'ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION',\n 'PODCAST_CRUD', 'RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION'\n )\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditMediaRight(element: Media): ActionRight {\n if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION')) {\n return ActionRight.Allowed;\n }\n if (roleContainsAny('RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION', 'PODCAST_CRUD')) {\n return element.ownerId !== undefined && element.ownerId !== null && element.ownerId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getDeleteMediaRight(element: Media): ActionRight {\n return getEditMediaRight(element);\n }\n\n ////////////////////////////\n // Mix rights\n ////////////////////////////\n function getCreateMixRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'RADIO')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditMixRight(_element: Mix): ActionRight {\n return getCreateMixRight();\n }\n\n function getDeleteMixRight(element: Mix): ActionRight {\n return getEditMixRight(element);\n }\n\n ////////////////////////////\n // Transcript/translation rights\n ////////////////////////////\n function getEditTranscriptRight(podcast: Podcast): ActionRight {\n if (!hasSufficientScope(podcast.rubriqueIds, podcast.emission.rubriqueIds)) {\n return ActionRight.DeniedInsufficientScope;\n }\n if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')) {\n return ActionRight.Allowed;\n }\n if (roleContainsAny('RESTRICTED_PRODUCTION', 'PODCAST_CRUD')) {\n return podcast.createdByUserId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getEditTranscriptVisibilityRight(podcast: Podcast): ActionRight {\n if (!hasSufficientScope(podcast.rubriqueIds, podcast.emission.rubriqueIds)) {\n return ActionRight.DeniedInsufficientScope;\n }\n\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditTranslationRight(podcast: Podcast): ActionRight {\n return getEditTranscriptRight(podcast);\n }\n\n ////////////////////////////\n // Live\n ////////////////////////////\n function getAccessRecordingRight(conference: Conference, isLive: boolean): ActionRight {\n if (isLive) {\n return roleContainsAny('LIVE') ? ActionRight.Allowed : ActionRight.DeniedNoRight;\n } else {\n return roleContainsAny('ANIMATION', 'RESTRICTED_ANIMATION') ? ActionRight.Allowed : ActionRight.DeniedNoRight;\n }\n }\n\n ////////////////////////////\n // Other action rights\n ////////////////////////////\n function getEditCodeInsertPlayerRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditChapteringRight(podcast: Podcast): ActionRight {\n return getEditPodcastRight(podcast);\n }\n\n function getCreatePromoVideoRight(podcast: Podcast): ActionRight {\n if (!hasSufficientScope(podcast.rubriqueIds, podcast.emission.rubriqueIds)) {\n return ActionRight.DeniedInsufficientScope;\n } else if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')) {\n return ActionRight.Allowed;\n } else {\n return ActionRight.DeniedNoRight;\n }\n }\n\n function getEditPromoVideoRight(podcast: Podcast): ActionRight {\n return getCreatePromoVideoRight(podcast);\n }\n\n function getDeletePromoVideoRight(podcast: Podcast): ActionRight {\n return getCreatePromoVideoRight(podcast);\n }\n\n // View/utility checks — outside the action pattern\n function canSeeHistory(): boolean {\n return roleContainsAny('ADMIN', 'ORGANISATION');\n }\n\n function isRestrictedProduction(): boolean {\n return roleContainsAny('RESTRICTED_PRODUCTION') && !roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION');\n }\n\n const rightFns = {\n // Emissions\n getCreateEmissionRight,\n getEditEmissionRight,\n getDeleteEmissionRight,\n getEditCommentsConfigEmissionRight,\n // Podcasts\n getCreatePodcastRight,\n getDuplicatePodcastRight,\n getEditPodcastRight,\n getDeletePodcastRight,\n getValidatePodcastRight,\n getEditCommentsConfigPodcastRight,\n // Playlists\n getCreatePlaylistRight,\n getEditPlaylistRight,\n getDeletePlaylistRight,\n // Participants (sync only)\n getCreateParticipantRight,\n // Rubriques/Rubriquages\n getCreateRubriquesRight,\n getEditRubriquesRight,\n // Aggregators\n getCreateAggregatorRight,\n getEditAggregatorRight,\n getDeleteAggregatorRight,\n // Cartouchier\n getCreateCartouchierRight,\n getEditCartouchierRight,\n getDeleteCartouchierRight,\n // PlaylistMedia\n getCreatePlaylistMediaRight,\n getEditPlaylistMediaRight,\n getDeletePlaylistMediaRight,\n // Media\n getCreateMediaRight,\n getEditMediaRight,\n getDeleteMediaRight,\n // Mix\n getCreateMixRight,\n getEditMixRight,\n getDeleteMixRight,\n // Translation/transcription\n getEditTranscriptRight,\n getEditTranscriptVisibilityRight,\n getEditTranslationRight,\n // Other\n getAccessRecordingRight,\n getEditCodeInsertPlayerRight,\n getEditChapteringRight,\n getCreatePromoVideoRight,\n getEditPromoVideoRight,\n getDeletePromoVideoRight\n };\n\n const canFns = deriveCanFunctions(rightFns);\n\n function canReadRSSRules(): boolean {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION');\n }\n\n function canEditRSSRules(): boolean {\n return canReadRSSRules();\n }\n\n return {\n ...rightFns,\n ...canFns,\n // Async participant (kept manually — async functions excluded from deriveCanFunctions)\n getParticipantEditRight,\n canEditParticipant,\n canDeleteParticipant,\n // RSS Rules (manual — outside the getRightXxx convention)\n canReadRSSRules,\n canEditRSSRules,\n // View/utility checks\n canSeeHistory,\n isRestrictedProduction,\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRights-G8UGBWNE.mjs","names":[],"sources":["../src/components/composable/useRights.ts"],"sourcesContent":["import { Mix } from \"../../stores/class/radio/mix\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport type { Emission } from \"../../stores/class/general/emission\";\nimport type { Podcast } from \"../../stores/class/general/podcast\";\nimport { PlaylistMedia } from \"../../stores/class/radio/playlistMedia\";\nimport { Cartouchier } from \"../../stores/class/cartouchier/cartouchier\";\nimport { Media } from \"../../stores/class/general/media\";\nimport { Conference } from \"../../stores/class/conference/conference\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nimport { Rubriquage } from \"@/stores/class/rubrique/rubriquage\";\n\ntype Role =\n 'ADMIN'|'ORGANISATION'|\n 'PRODUCTION'|'RESTRICTED_PRODUCTION'|'PODCAST_CRUD'|'PODCAST_VALIDATION'|\n 'PLAYLISTS'|'ANIMATION'|'RESTRICTED_ANIMATION'|'RADIO'|'LIVE'|\n 'EDITION'\n ;\n\nexport enum ActionRight {\n /** User can perform the action */\n Allowed = 'allowed',\n /** User lacks the required role */\n DeniedNoRight = 'no_right', \n /** User has a restricted role but does not own the resource **/\n DeniedNotOwner = 'not_owner',\n /** User is scoped to specific rubriques */\n DeniedInsufficientScope = 'no_scope'\n}\n\n// Constraint type for the object passed to deriveCanFunctions.\n// any[] is intentional: it allows functions with any parameter signature to satisfy\n// the constraint while still enforcing that the return type is ActionRight.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype SyncRightFns = Record<string, (...args: any[]) => ActionRight>;\n\n// Maps every key of the form `get${A}Right` to `can${A}`, preserving the parameter\n// types of the original function but changing the return type to boolean.\n// Keys that do not match the naming convention are dropped (mapped to never).\ntype CanFns<T extends SyncRightFns> = {\n [K in keyof T as K extends `get${infer A}Right` ? `can${A}` : never]:\n T[K] extends (...args: infer P) => ActionRight ? (...args: P) => boolean : never;\n};\n\n/**\n * Generates boolean shortcut functions from a set of `getRightXxx` functions.\n *\n * Convention: `get${Action}Right(…args) → ActionRight`\n * becomes `can${Action}(…args) → boolean`\n *\n * The generated function returns true when the underlying getRightXxx returns\n * ActionRight.Allowed, and false otherwise. This means callers that only need\n * a simple yes/no answer can use canXxx(), while callers that need the specific\n * denial reason (DeniedNoRight vs DeniedNotOwner) can call getRightXxx() directly.\n *\n * Only synchronous functions should be passed here; async rights functions must\n * be wrapped manually.\n */\nfunction deriveCanFunctions<T extends SyncRightFns>(fns: T): CanFns<T> {\n const result = {} as CanFns<T>;\n for (const key of Object.keys(fns) as (keyof T & string)[]) {\n if (key.startsWith('get') && key.endsWith('Right')) {\n const canKey = `can${key.slice(3, -5)}` as keyof CanFns<T>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (result as any)[canKey] = (...args: unknown[]) =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (fns as any)[key](...args) === ActionRight.Allowed;\n }\n }\n return result;\n}\n\n/**\n * Composable to manage rights.\n * Based on AuthStore, but converts roles to easily usable tests for various\n * actions.\n */\nexport const useRights = () => {\n const authStore = useAuthStore();\n\n function roleContainsAny(...roles: Role[]): boolean {\n return (authStore.authRole as Role[]).findIndex((r: Role) => roles.includes(r)) > -1;\n }\n\n function hasSufficientScope(elementRubriques: Array<number> = [], parentRubriques: Array<number> = []): boolean {\n const ids = elementRubriques.concat(parentRubriques);\n const scope = authStore.userScope;\n if (scope.length === 0) {\n return true;\n }\n\n for (const id of scope) {\n if (ids.includes(id)) {\n return true;\n }\n }\n\n return false;\n }\n\n ////////////////////////////\n // Emission rights\n ////////////////////////////\n function getCreateEmissionRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RESTRICTED_PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditEmissionRight(emission: Emission): ActionRight {\n if (!hasSufficientScope(emission.rubriqueIds)) {\n return ActionRight.DeniedInsufficientScope;\n }\n \n if (\n (!emission.emissionId && getCreateEmissionRight() === ActionRight.Allowed) ||\n roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')\n ) {\n return ActionRight.Allowed;\n }\n\n if (roleContainsAny('RESTRICTED_PRODUCTION')) {\n return emission.createdByUserId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getDeleteEmissionRight(emission: Emission): ActionRight {\n // In case of restricted production, it will only delete podcasts\n // created by user, and delete the emission only if empty afterwards\n if (roleContainsAny('ADMIN', 'ORGANISATION')) {\n return ActionRight.Allowed;\n } else if (roleContainsAny('PRODUCTION', 'RESTRICTED_PRODUCTION')) {\n return hasSufficientScope(emission.rubriqueIds)\n ? ActionRight.Allowed\n : ActionRight.DeniedInsufficientScope;\n } else {\n return ActionRight.DeniedNoRight;\n }\n }\n\n function getEditCommentsConfigEmissionRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n // Podcast rights\n function getCreatePodcastRight(emission?: Emission): ActionRight {\n if(roleContainsAny('ADMIN', 'ORGANISATION')) {\n return ActionRight.Allowed;\n } else if (roleContainsAny('PRODUCTION', 'PODCAST_CRUD', 'RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION')) {\n return !emission || hasSufficientScope(emission.rubriqueIds)\n ? ActionRight.Allowed\n : ActionRight.DeniedInsufficientScope;\n } else {\n return ActionRight.DeniedNoRight;\n }\n }\n\n function getDuplicatePodcastRight(): ActionRight {\n // Same as creation but notably without PODCAST_CRUD and RESTRICTED_ANIMATION\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RESTRICTED_PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditPodcastRight(podcast: Podcast): ActionRight {\n if (!hasSufficientScope(podcast.rubriqueIds, podcast.emission.rubriqueIds)) {\n return ActionRight.DeniedInsufficientScope;\n }\n\n if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')) {\n return ActionRight.Allowed;\n }\n if (roleContainsAny('RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION')) {\n return podcast.createdByUserId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n if (roleContainsAny('PODCAST_CRUD')) {\n return podcast.valid === false && podcast.publisher?.userId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getDeletePodcastRight(podcast: Podcast): ActionRight {\n return getEditPodcastRight(podcast);\n }\n\n function getValidatePodcastRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'PODCAST_VALIDATION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditCommentsConfigPodcastRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n ////////////////////////////\n // Playlist rights\n ////////////////////////////\n function getCreatePlaylistRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PLAYLISTS')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditPlaylistRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PLAYLISTS')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getDeletePlaylistRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PLAYLISTS')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n ////////////////////////////\n // Participant rights\n ////////////////////////////\n function getCreateParticipantRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RESTRICTED_PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n async function getParticipantEditRight(participantId: number|undefined): Promise<ActionRight> {\n // New participants can be edited, and also with sufficient rights\n return (!participantId || roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RESTRICTED_PRODUCTION'))\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n async function canEditParticipant(participantId: number|undefined): Promise<boolean> {\n return await getParticipantEditRight(participantId) === ActionRight.Allowed;\n }\n\n async function canDeleteParticipant(participantId: number|undefined): Promise<boolean> {\n return await getParticipantEditRight(participantId) === ActionRight.Allowed;\n }\n\n ////////////////////////////\n // Rubriques/rubriquage rights\n ////////////////////////////\n function getCreateRubriquesRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'EDITION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n function getEditRubriquesRight(_element: Rubrique|Rubriquage): ActionRight {\n return getCreateRubriquesRight();\n }\n\n ////////////////////////////\n // Aggregator rights\n ////////////////////////////\n function getCreateAggregatorRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditAggregatorRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getDeleteAggregatorRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n ////////////////////////////\n // Cartouchier rights\n ////////////////////////////\n function getCreateCartouchierRight(): ActionRight {\n return roleContainsAny(\n 'ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION',\n 'PODCAST_CRUD', 'RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION'\n )\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditCartouchierRight(element: Cartouchier): ActionRight {\n if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION')) {\n return ActionRight.Allowed;\n }\n if (roleContainsAny('RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION', 'PODCAST_CRUD')) {\n return element.ownerId !== undefined && element.ownerId !== null && element.ownerId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getDeleteCartouchierRight(element: Cartouchier): ActionRight {\n return getEditCartouchierRight(element);\n }\n\n ////////////////////////////\n // PlaylistMedia rights\n ////////////////////////////\n function getCreatePlaylistMediaRight(): ActionRight {\n return roleContainsAny(\n 'ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION',\n 'PODCAST_CRUD', 'RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION'\n )\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditPlaylistMediaRight(element: PlaylistMedia): ActionRight {\n if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION')) {\n return ActionRight.Allowed;\n }\n if (roleContainsAny('RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION', 'PODCAST_CRUD')) {\n return element.ownerId !== undefined && element.ownerId !== null && element.ownerId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getDeletePlaylistMediaRight(element: PlaylistMedia): ActionRight {\n return getEditPlaylistMediaRight(element);\n }\n\n ////////////////////////////\n // Media rights\n ////////////////////////////\n function getCreateMediaRight(): ActionRight {\n return roleContainsAny(\n 'ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION',\n 'PODCAST_CRUD', 'RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION'\n )\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditMediaRight(element: Media): ActionRight {\n if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION')) {\n return ActionRight.Allowed;\n }\n if (roleContainsAny('RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION', 'PODCAST_CRUD')) {\n return element.ownerId !== undefined && element.ownerId !== null && element.ownerId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getDeleteMediaRight(element: Media): ActionRight {\n return getEditMediaRight(element);\n }\n\n ////////////////////////////\n // Mix rights\n ////////////////////////////\n function getCreateMixRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'RADIO')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditMixRight(_element: Mix): ActionRight {\n return getCreateMixRight();\n }\n\n function getDeleteMixRight(element: Mix): ActionRight {\n return getEditMixRight(element);\n }\n\n ////////////////////////////\n // Transcript/translation rights\n ////////////////////////////\n function getEditTranscriptRight(podcast: Podcast): ActionRight {\n if (!hasSufficientScope(podcast.rubriqueIds, podcast.emission.rubriqueIds)) {\n return ActionRight.DeniedInsufficientScope;\n }\n if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')) {\n return ActionRight.Allowed;\n }\n if (roleContainsAny('RESTRICTED_PRODUCTION', 'PODCAST_CRUD')) {\n return podcast.createdByUserId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getEditTranscriptVisibilityRight(podcast: Podcast): ActionRight {\n if (!hasSufficientScope(podcast.rubriqueIds, podcast.emission.rubriqueIds)) {\n return ActionRight.DeniedInsufficientScope;\n }\n\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditTranslationRight(podcast: Podcast): ActionRight {\n return getEditTranscriptRight(podcast);\n }\n\n ////////////////////////////\n // Live\n ////////////////////////////\n function getAccessRecordingRight(conference: Conference, isLive: boolean): ActionRight {\n if (isLive) {\n return roleContainsAny('LIVE') ? ActionRight.Allowed : ActionRight.DeniedNoRight;\n } else {\n return roleContainsAny('ANIMATION', 'RESTRICTED_ANIMATION') ? ActionRight.Allowed : ActionRight.DeniedNoRight;\n }\n }\n\n ////////////////////////////\n // Other action rights\n ////////////////////////////\n function getEditCodeInsertPlayerRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditChapteringRight(podcast: Podcast): ActionRight {\n return getEditPodcastRight(podcast);\n }\n\n function getCreatePromoVideoRight(podcast: Podcast): ActionRight {\n if (!hasSufficientScope(podcast.rubriqueIds, podcast.emission.rubriqueIds)) {\n return ActionRight.DeniedInsufficientScope;\n } else if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')) {\n return ActionRight.Allowed;\n } else {\n return ActionRight.DeniedNoRight;\n }\n }\n\n function getEditPromoVideoRight(podcast: Podcast): ActionRight {\n return getCreatePromoVideoRight(podcast);\n }\n\n function getDeletePromoVideoRight(podcast: Podcast): ActionRight {\n return getCreatePromoVideoRight(podcast);\n }\n\n // View/utility checks — outside the action pattern\n function canSeeHistory(): boolean {\n return roleContainsAny('ADMIN', 'ORGANISATION');\n }\n\n function isRestrictedProduction(): boolean {\n return roleContainsAny('RESTRICTED_PRODUCTION') && !roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION');\n }\n\n const rightFns = {\n // Emissions\n getCreateEmissionRight,\n getEditEmissionRight,\n getDeleteEmissionRight,\n getEditCommentsConfigEmissionRight,\n // Podcasts\n getCreatePodcastRight,\n getDuplicatePodcastRight,\n getEditPodcastRight,\n getDeletePodcastRight,\n getValidatePodcastRight,\n getEditCommentsConfigPodcastRight,\n // Playlists\n getCreatePlaylistRight,\n getEditPlaylistRight,\n getDeletePlaylistRight,\n // Participants (sync only)\n getCreateParticipantRight,\n // Rubriques/Rubriquages\n getCreateRubriquesRight,\n getEditRubriquesRight,\n // Aggregators\n getCreateAggregatorRight,\n getEditAggregatorRight,\n getDeleteAggregatorRight,\n // Cartouchier\n getCreateCartouchierRight,\n getEditCartouchierRight,\n getDeleteCartouchierRight,\n // PlaylistMedia\n getCreatePlaylistMediaRight,\n getEditPlaylistMediaRight,\n getDeletePlaylistMediaRight,\n // Media\n getCreateMediaRight,\n getEditMediaRight,\n getDeleteMediaRight,\n // Mix\n getCreateMixRight,\n getEditMixRight,\n getDeleteMixRight,\n // Translation/transcription\n getEditTranscriptRight,\n getEditTranscriptVisibilityRight,\n getEditTranslationRight,\n // Other\n getAccessRecordingRight,\n getEditCodeInsertPlayerRight,\n getEditChapteringRight,\n getCreatePromoVideoRight,\n getEditPromoVideoRight,\n getDeletePromoVideoRight\n };\n\n const canFns = deriveCanFunctions(rightFns);\n\n function canReadRSSRules(): boolean {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION');\n }\n\n function canEditRSSRules(): boolean {\n return canReadRSSRules();\n }\n\n return {\n ...rightFns,\n ...canFns,\n // Async participant (kept manually — async functions excluded from deriveCanFunctions)\n getParticipantEditRight,\n canEditParticipant,\n canDeleteParticipant,\n // RSS Rules (manual — outside the getRightXxx convention)\n canReadRSSRules,\n canEditRSSRules,\n // View/utility checks\n canSeeHistory,\n isRestrictedProduction,\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRights-ZfPDGUYq.mjs","names":[],"sources":["../src/components/composable/useRights.ts"],"sourcesContent":["import { Mix } from \"../../stores/class/radio/mix\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport type { Emission } from \"../../stores/class/general/emission\";\nimport type { Podcast } from \"../../stores/class/general/podcast\";\nimport { PlaylistMedia } from \"../../stores/class/radio/playlistMedia\";\nimport { Cartouchier } from \"../../stores/class/cartouchier/cartouchier\";\nimport { Media } from \"../../stores/class/general/media\";\nimport { Conference } from \"../../stores/class/conference/conference\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nimport { Rubriquage } from \"@/stores/class/rubrique/rubriquage\";\n\ntype Role =\n 'ADMIN'|'ORGANISATION'|\n 'PRODUCTION'|'RESTRICTED_PRODUCTION'|'PODCAST_CRUD'|'PODCAST_VALIDATION'|\n 'PLAYLISTS'|'ANIMATION'|'RESTRICTED_ANIMATION'|'RADIO'|'LIVE'|\n 'EDITION'\n ;\n\nexport enum ActionRight {\n /** User can perform the action */\n Allowed = 'allowed',\n /** User lacks the required role */\n DeniedNoRight = 'no_right', \n /** User has a restricted role but does not own the resource **/\n DeniedNotOwner = 'not_owner',\n /** User is scoped to specific rubriques */\n DeniedInsufficientScope = 'no_scope'\n}\n\n// Constraint type for the object passed to deriveCanFunctions.\n// any[] is intentional: it allows functions with any parameter signature to satisfy\n// the constraint while still enforcing that the return type is ActionRight.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype SyncRightFns = Record<string, (...args: any[]) => ActionRight>;\n\n// Maps every key of the form `get${A}Right` to `can${A}`, preserving the parameter\n// types of the original function but changing the return type to boolean.\n// Keys that do not match the naming convention are dropped (mapped to never).\ntype CanFns<T extends SyncRightFns> = {\n [K in keyof T as K extends `get${infer A}Right` ? `can${A}` : never]:\n T[K] extends (...args: infer P) => ActionRight ? (...args: P) => boolean : never;\n};\n\n/**\n * Generates boolean shortcut functions from a set of `getRightXxx` functions.\n *\n * Convention: `get${Action}Right(…args) → ActionRight`\n * becomes `can${Action}(…args) → boolean`\n *\n * The generated function returns true when the underlying getRightXxx returns\n * ActionRight.Allowed, and false otherwise. This means callers that only need\n * a simple yes/no answer can use canXxx(), while callers that need the specific\n * denial reason (DeniedNoRight vs DeniedNotOwner) can call getRightXxx() directly.\n *\n * Only synchronous functions should be passed here; async rights functions must\n * be wrapped manually.\n */\nfunction deriveCanFunctions<T extends SyncRightFns>(fns: T): CanFns<T> {\n const result = {} as CanFns<T>;\n for (const key of Object.keys(fns) as (keyof T & string)[]) {\n if (key.startsWith('get') && key.endsWith('Right')) {\n const canKey = `can${key.slice(3, -5)}` as keyof CanFns<T>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (result as any)[canKey] = (...args: unknown[]) =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (fns as any)[key](...args) === ActionRight.Allowed;\n }\n }\n return result;\n}\n\n/**\n * Composable to manage rights.\n * Based on AuthStore, but converts roles to easily usable tests for various\n * actions.\n */\nexport const useRights = () => {\n const authStore = useAuthStore();\n\n function roleContainsAny(...roles: Role[]): boolean {\n return (authStore.authRole as Role[]).findIndex((r: Role) => roles.includes(r)) > -1;\n }\n\n function hasSufficientScope(elementRubriques: Array<number> = [], parentRubriques: Array<number> = []): boolean {\n const ids = elementRubriques.concat(parentRubriques);\n const scope = authStore.userScope;\n if (scope.length === 0) {\n return true;\n }\n\n for (const id of scope) {\n if (ids.includes(id)) {\n return true;\n }\n }\n\n return false;\n }\n\n ////////////////////////////\n // Emission rights\n ////////////////////////////\n function getCreateEmissionRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RESTRICTED_PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditEmissionRight(emission: Emission): ActionRight {\n if (!hasSufficientScope(emission.rubriqueIds)) {\n return ActionRight.DeniedInsufficientScope;\n }\n \n if (\n (!emission.emissionId && getCreateEmissionRight() === ActionRight.Allowed) ||\n roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')\n ) {\n return ActionRight.Allowed;\n }\n\n if (roleContainsAny('RESTRICTED_PRODUCTION')) {\n return emission.createdByUserId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getDeleteEmissionRight(emission: Emission): ActionRight {\n // In case of restricted production, it will only delete podcasts\n // created by user, and delete the emission only if empty afterwards\n if (roleContainsAny('ADMIN', 'ORGANISATION')) {\n return ActionRight.Allowed;\n } else if (roleContainsAny('PRODUCTION', 'RESTRICTED_PRODUCTION')) {\n return hasSufficientScope(emission.rubriqueIds)\n ? ActionRight.Allowed\n : ActionRight.DeniedInsufficientScope;\n } else {\n return ActionRight.DeniedNoRight;\n }\n }\n\n function getEditCommentsConfigEmissionRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n // Podcast rights\n function getCreatePodcastRight(emission?: Emission): ActionRight {\n if(roleContainsAny('ADMIN', 'ORGANISATION')) {\n return ActionRight.Allowed;\n } else if (roleContainsAny('PRODUCTION', 'PODCAST_CRUD', 'RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION')) {\n return !emission || hasSufficientScope(emission.rubriqueIds)\n ? ActionRight.Allowed\n : ActionRight.DeniedInsufficientScope;\n } else {\n return ActionRight.DeniedNoRight;\n }\n }\n\n function getDuplicatePodcastRight(): ActionRight {\n // Same as creation but notably without PODCAST_CRUD and RESTRICTED_ANIMATION\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RESTRICTED_PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditPodcastRight(podcast: Podcast): ActionRight {\n if (!hasSufficientScope(podcast.rubriqueIds, podcast.emission.rubriqueIds)) {\n return ActionRight.DeniedInsufficientScope;\n }\n\n if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')) {\n return ActionRight.Allowed;\n }\n if (roleContainsAny('RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION')) {\n return podcast.createdByUserId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n if (roleContainsAny('PODCAST_CRUD')) {\n return podcast.valid === false && podcast.publisher?.userId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getDeletePodcastRight(podcast: Podcast): ActionRight {\n return getEditPodcastRight(podcast);\n }\n\n function getValidatePodcastRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'PODCAST_VALIDATION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditCommentsConfigPodcastRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n ////////////////////////////\n // Playlist rights\n ////////////////////////////\n function getCreatePlaylistRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PLAYLISTS')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditPlaylistRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PLAYLISTS')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getDeletePlaylistRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PLAYLISTS')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n ////////////////////////////\n // Participant rights\n ////////////////////////////\n function getCreateParticipantRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RESTRICTED_PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n async function getParticipantEditRight(participantId: number|undefined): Promise<ActionRight> {\n // New participants can be edited, and also with sufficient rights\n return (!participantId || roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RESTRICTED_PRODUCTION'))\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n async function canEditParticipant(participantId: number|undefined): Promise<boolean> {\n return await getParticipantEditRight(participantId) === ActionRight.Allowed;\n }\n\n async function canDeleteParticipant(participantId: number|undefined): Promise<boolean> {\n return await getParticipantEditRight(participantId) === ActionRight.Allowed;\n }\n\n ////////////////////////////\n // Rubriques/rubriquage rights\n ////////////////////////////\n function getCreateRubriquesRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'EDITION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n function getEditRubriquesRight(_element: Rubrique|Rubriquage): ActionRight {\n return getCreateRubriquesRight();\n }\n\n ////////////////////////////\n // Aggregator rights\n ////////////////////////////\n function getCreateAggregatorRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditAggregatorRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getDeleteAggregatorRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n ////////////////////////////\n // Cartouchier rights\n ////////////////////////////\n function getCreateCartouchierRight(): ActionRight {\n return roleContainsAny(\n 'ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION',\n 'PODCAST_CRUD', 'RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION'\n )\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditCartouchierRight(element: Cartouchier): ActionRight {\n if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION')) {\n return ActionRight.Allowed;\n }\n if (roleContainsAny('RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION', 'PODCAST_CRUD')) {\n return element.ownerId !== undefined && element.ownerId !== null && element.ownerId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getDeleteCartouchierRight(element: Cartouchier): ActionRight {\n return getEditCartouchierRight(element);\n }\n\n ////////////////////////////\n // PlaylistMedia rights\n ////////////////////////////\n function getCreatePlaylistMediaRight(): ActionRight {\n return roleContainsAny(\n 'ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION',\n 'PODCAST_CRUD', 'RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION'\n )\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditPlaylistMediaRight(element: PlaylistMedia): ActionRight {\n if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION')) {\n return ActionRight.Allowed;\n }\n if (roleContainsAny('RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION', 'PODCAST_CRUD')) {\n return element.ownerId !== undefined && element.ownerId !== null && element.ownerId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getDeletePlaylistMediaRight(element: PlaylistMedia): ActionRight {\n return getEditPlaylistMediaRight(element);\n }\n\n ////////////////////////////\n // Media rights\n ////////////////////////////\n function getCreateMediaRight(): ActionRight {\n return roleContainsAny(\n 'ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION',\n 'PODCAST_CRUD', 'RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION'\n )\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditMediaRight(element: Media): ActionRight {\n if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION')) {\n return ActionRight.Allowed;\n }\n if (roleContainsAny('RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION', 'PODCAST_CRUD')) {\n return element.ownerId !== undefined && element.ownerId !== null && element.ownerId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getDeleteMediaRight(element: Media): ActionRight {\n return getEditMediaRight(element);\n }\n\n ////////////////////////////\n // Mix rights\n ////////////////////////////\n function getCreateMixRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'RADIO')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditMixRight(_element: Mix): ActionRight {\n return getCreateMixRight();\n }\n\n function getDeleteMixRight(element: Mix): ActionRight {\n return getEditMixRight(element);\n }\n\n ////////////////////////////\n // Transcript/translation rights\n ////////////////////////////\n function getEditTranscriptRight(podcast: Podcast): ActionRight {\n if (!hasSufficientScope(podcast.rubriqueIds, podcast.emission.rubriqueIds)) {\n return ActionRight.DeniedInsufficientScope;\n }\n if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')) {\n return ActionRight.Allowed;\n }\n if (roleContainsAny('RESTRICTED_PRODUCTION', 'PODCAST_CRUD')) {\n return podcast.createdByUserId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getEditTranscriptVisibilityRight(podcast: Podcast): ActionRight {\n if (!hasSufficientScope(podcast.rubriqueIds, podcast.emission.rubriqueIds)) {\n return ActionRight.DeniedInsufficientScope;\n }\n\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditTranslationRight(podcast: Podcast): ActionRight {\n return getEditTranscriptRight(podcast);\n }\n\n ////////////////////////////\n // Live\n ////////////////////////////\n function getAccessRecordingRight(conference: Conference, isLive: boolean): ActionRight {\n if (isLive) {\n return roleContainsAny('LIVE') ? ActionRight.Allowed : ActionRight.DeniedNoRight;\n } else {\n return roleContainsAny('ANIMATION', 'RESTRICTED_ANIMATION') ? ActionRight.Allowed : ActionRight.DeniedNoRight;\n }\n }\n\n ////////////////////////////\n // Other action rights\n ////////////////////////////\n function getEditCodeInsertPlayerRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditChapteringRight(podcast: Podcast): ActionRight {\n return getEditPodcastRight(podcast);\n }\n\n function getCreatePromoVideoRight(podcast: Podcast): ActionRight {\n if (!hasSufficientScope(podcast.rubriqueIds, podcast.emission.rubriqueIds)) {\n return ActionRight.DeniedInsufficientScope;\n } else if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')) {\n return ActionRight.Allowed;\n } else {\n return ActionRight.DeniedNoRight;\n }\n }\n\n function getEditPromoVideoRight(podcast: Podcast): ActionRight {\n return getCreatePromoVideoRight(podcast);\n }\n\n function getDeletePromoVideoRight(podcast: Podcast): ActionRight {\n return getCreatePromoVideoRight(podcast);\n }\n\n // View/utility checks — outside the action pattern\n function canSeeHistory(): boolean {\n return roleContainsAny('ADMIN', 'ORGANISATION');\n }\n\n function isRestrictedProduction(): boolean {\n return roleContainsAny('RESTRICTED_PRODUCTION') && !roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION');\n }\n\n const rightFns = {\n // Emissions\n getCreateEmissionRight,\n getEditEmissionRight,\n getDeleteEmissionRight,\n getEditCommentsConfigEmissionRight,\n // Podcasts\n getCreatePodcastRight,\n getDuplicatePodcastRight,\n getEditPodcastRight,\n getDeletePodcastRight,\n getValidatePodcastRight,\n getEditCommentsConfigPodcastRight,\n // Playlists\n getCreatePlaylistRight,\n getEditPlaylistRight,\n getDeletePlaylistRight,\n // Participants (sync only)\n getCreateParticipantRight,\n // Rubriques/Rubriquages\n getCreateRubriquesRight,\n getEditRubriquesRight,\n // Aggregators\n getCreateAggregatorRight,\n getEditAggregatorRight,\n getDeleteAggregatorRight,\n // Cartouchier\n getCreateCartouchierRight,\n getEditCartouchierRight,\n getDeleteCartouchierRight,\n // PlaylistMedia\n getCreatePlaylistMediaRight,\n getEditPlaylistMediaRight,\n getDeletePlaylistMediaRight,\n // Media\n getCreateMediaRight,\n getEditMediaRight,\n getDeleteMediaRight,\n // Mix\n getCreateMixRight,\n getEditMixRight,\n getDeleteMixRight,\n // Translation/transcription\n getEditTranscriptRight,\n getEditTranscriptVisibilityRight,\n getEditTranslationRight,\n // Other\n getAccessRecordingRight,\n getEditCodeInsertPlayerRight,\n getEditChapteringRight,\n getCreatePromoVideoRight,\n getEditPromoVideoRight,\n getDeletePromoVideoRight\n };\n\n const canFns = deriveCanFunctions(rightFns);\n\n function canReadRSSRules(): boolean {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION');\n }\n\n function canEditRSSRules(): boolean {\n return canReadRSSRules();\n }\n\n return {\n ...rightFns,\n ...canFns,\n // Async participant (kept manually — async functions excluded from deriveCanFunctions)\n getParticipantEditRight,\n canEditParticipant,\n canDeleteParticipant,\n // RSS Rules (manual — outside the getRightXxx convention)\n canReadRSSRules,\n canEditRSSRules,\n // View/utility checks\n canSeeHistory,\n isRestrictedProduction,\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRights-pznf2MQ8.mjs","names":[],"sources":["../src/components/composable/useRights.ts"],"sourcesContent":["import { Mix } from \"../../stores/class/radio/mix\";\nimport { useAuthStore } from \"../../stores/AuthStore\";\nimport type { Emission } from \"../../stores/class/general/emission\";\nimport type { Podcast } from \"../../stores/class/general/podcast\";\nimport { PlaylistMedia } from \"../../stores/class/radio/playlistMedia\";\nimport { Cartouchier } from \"../../stores/class/cartouchier/cartouchier\";\nimport { Media } from \"../../stores/class/general/media\";\nimport { Conference } from \"../../stores/class/conference/conference\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nimport { Rubriquage } from \"@/stores/class/rubrique/rubriquage\";\n\ntype Role =\n 'ADMIN'|'ORGANISATION'|\n 'PRODUCTION'|'RESTRICTED_PRODUCTION'|'PODCAST_CRUD'|'PODCAST_VALIDATION'|\n 'PLAYLISTS'|'ANIMATION'|'RESTRICTED_ANIMATION'|'RADIO'|'LIVE'|\n 'EDITION'\n ;\n\nexport enum ActionRight {\n /** User can perform the action */\n Allowed = 'allowed',\n /** User lacks the required role */\n DeniedNoRight = 'no_right', \n /** User has a restricted role but does not own the resource **/\n DeniedNotOwner = 'not_owner',\n /** User is scoped to specific rubriques */\n DeniedInsufficientScope = 'no_scope'\n}\n\n// Constraint type for the object passed to deriveCanFunctions.\n// any[] is intentional: it allows functions with any parameter signature to satisfy\n// the constraint while still enforcing that the return type is ActionRight.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype SyncRightFns = Record<string, (...args: any[]) => ActionRight>;\n\n// Maps every key of the form `get${A}Right` to `can${A}`, preserving the parameter\n// types of the original function but changing the return type to boolean.\n// Keys that do not match the naming convention are dropped (mapped to never).\ntype CanFns<T extends SyncRightFns> = {\n [K in keyof T as K extends `get${infer A}Right` ? `can${A}` : never]:\n T[K] extends (...args: infer P) => ActionRight ? (...args: P) => boolean : never;\n};\n\n/**\n * Generates boolean shortcut functions from a set of `getRightXxx` functions.\n *\n * Convention: `get${Action}Right(…args) → ActionRight`\n * becomes `can${Action}(…args) → boolean`\n *\n * The generated function returns true when the underlying getRightXxx returns\n * ActionRight.Allowed, and false otherwise. This means callers that only need\n * a simple yes/no answer can use canXxx(), while callers that need the specific\n * denial reason (DeniedNoRight vs DeniedNotOwner) can call getRightXxx() directly.\n *\n * Only synchronous functions should be passed here; async rights functions must\n * be wrapped manually.\n */\nfunction deriveCanFunctions<T extends SyncRightFns>(fns: T): CanFns<T> {\n const result = {} as CanFns<T>;\n for (const key of Object.keys(fns) as (keyof T & string)[]) {\n if (key.startsWith('get') && key.endsWith('Right')) {\n const canKey = `can${key.slice(3, -5)}` as keyof CanFns<T>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (result as any)[canKey] = (...args: unknown[]) =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (fns as any)[key](...args) === ActionRight.Allowed;\n }\n }\n return result;\n}\n\n/**\n * Composable to manage rights.\n * Based on AuthStore, but converts roles to easily usable tests for various\n * actions.\n */\nexport const useRights = () => {\n const authStore = useAuthStore();\n\n function roleContainsAny(...roles: Role[]): boolean {\n return (authStore.authRole as Role[]).findIndex((r: Role) => roles.includes(r)) > -1;\n }\n\n function hasSufficientScope(elementRubriques: Array<number> = [], parentRubriques: Array<number> = []): boolean {\n const ids = elementRubriques.concat(parentRubriques);\n const scope = authStore.userScope;\n if (scope.length === 0) {\n return true;\n }\n\n for (const id of scope) {\n if (ids.includes(id)) {\n return true;\n }\n }\n\n return false;\n }\n\n ////////////////////////////\n // Emission rights\n ////////////////////////////\n function getCreateEmissionRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RESTRICTED_PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditEmissionRight(emission: Emission): ActionRight {\n if (!hasSufficientScope(emission.rubriqueIds)) {\n return ActionRight.DeniedInsufficientScope;\n }\n \n if (\n (!emission.emissionId && getCreateEmissionRight() === ActionRight.Allowed) ||\n roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')\n ) {\n return ActionRight.Allowed;\n }\n\n if (roleContainsAny('RESTRICTED_PRODUCTION')) {\n return emission.createdByUserId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getDeleteEmissionRight(emission: Emission): ActionRight {\n // In case of restricted production, it will only delete podcasts\n // created by user, and delete the emission only if empty afterwards\n if (roleContainsAny('ADMIN', 'ORGANISATION')) {\n return ActionRight.Allowed;\n } else if (roleContainsAny('PRODUCTION', 'RESTRICTED_PRODUCTION')) {\n return hasSufficientScope(emission.rubriqueIds)\n ? ActionRight.Allowed\n : ActionRight.DeniedInsufficientScope;\n } else {\n return ActionRight.DeniedNoRight;\n }\n }\n\n function getEditCommentsConfigEmissionRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n // Podcast rights\n function getCreatePodcastRight(emission?: Emission): ActionRight {\n if(roleContainsAny('ADMIN', 'ORGANISATION')) {\n return ActionRight.Allowed;\n } else if (roleContainsAny('PRODUCTION', 'PODCAST_CRUD', 'RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION')) {\n return !emission || hasSufficientScope(emission.rubriqueIds)\n ? ActionRight.Allowed\n : ActionRight.DeniedInsufficientScope;\n } else {\n return ActionRight.DeniedNoRight;\n }\n }\n\n function getDuplicatePodcastRight(): ActionRight {\n // Same as creation but notably without PODCAST_CRUD and RESTRICTED_ANIMATION\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RESTRICTED_PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditPodcastRight(podcast: Podcast): ActionRight {\n if (!hasSufficientScope(podcast.rubriqueIds, podcast.emission.rubriqueIds)) {\n return ActionRight.DeniedInsufficientScope;\n }\n\n if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')) {\n return ActionRight.Allowed;\n }\n if (roleContainsAny('RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION')) {\n return podcast.createdByUserId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n if (roleContainsAny('PODCAST_CRUD')) {\n return podcast.valid === false && podcast.publisher?.userId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getDeletePodcastRight(podcast: Podcast): ActionRight {\n return getEditPodcastRight(podcast);\n }\n\n function getValidatePodcastRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'PODCAST_VALIDATION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditCommentsConfigPodcastRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n ////////////////////////////\n // Playlist rights\n ////////////////////////////\n function getCreatePlaylistRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PLAYLISTS')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditPlaylistRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PLAYLISTS')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getDeletePlaylistRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PLAYLISTS')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n ////////////////////////////\n // Participant rights\n ////////////////////////////\n function getCreateParticipantRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RESTRICTED_PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n async function getParticipantEditRight(participantId: number|undefined): Promise<ActionRight> {\n // New participants can be edited, and also with sufficient rights\n return (!participantId || roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RESTRICTED_PRODUCTION'))\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n async function canEditParticipant(participantId: number|undefined): Promise<boolean> {\n return await getParticipantEditRight(participantId) === ActionRight.Allowed;\n }\n\n async function canDeleteParticipant(participantId: number|undefined): Promise<boolean> {\n return await getParticipantEditRight(participantId) === ActionRight.Allowed;\n }\n\n ////////////////////////////\n // Rubriques/rubriquage rights\n ////////////////////////////\n function getCreateRubriquesRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'EDITION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n function getEditRubriquesRight(_element: Rubrique|Rubriquage): ActionRight {\n return getCreateRubriquesRight();\n }\n\n ////////////////////////////\n // Aggregator rights\n ////////////////////////////\n function getCreateAggregatorRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditAggregatorRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getDeleteAggregatorRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n ////////////////////////////\n // Cartouchier rights\n ////////////////////////////\n function getCreateCartouchierRight(): ActionRight {\n return roleContainsAny(\n 'ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION',\n 'PODCAST_CRUD', 'RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION'\n )\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditCartouchierRight(element: Cartouchier): ActionRight {\n if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION')) {\n return ActionRight.Allowed;\n }\n if (roleContainsAny('RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION', 'PODCAST_CRUD')) {\n return element.ownerId !== undefined && element.ownerId !== null && element.ownerId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getDeleteCartouchierRight(element: Cartouchier): ActionRight {\n return getEditCartouchierRight(element);\n }\n\n ////////////////////////////\n // PlaylistMedia rights\n ////////////////////////////\n function getCreatePlaylistMediaRight(): ActionRight {\n return roleContainsAny(\n 'ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION',\n 'PODCAST_CRUD', 'RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION'\n )\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditPlaylistMediaRight(element: PlaylistMedia): ActionRight {\n if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION')) {\n return ActionRight.Allowed;\n }\n if (roleContainsAny('RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION', 'PODCAST_CRUD')) {\n return element.ownerId !== undefined && element.ownerId !== null && element.ownerId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getDeletePlaylistMediaRight(element: PlaylistMedia): ActionRight {\n return getEditPlaylistMediaRight(element);\n }\n\n ////////////////////////////\n // Media rights\n ////////////////////////////\n function getCreateMediaRight(): ActionRight {\n return roleContainsAny(\n 'ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION',\n 'PODCAST_CRUD', 'RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION'\n )\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditMediaRight(element: Media): ActionRight {\n if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION', 'RADIO', 'ANIMATION')) {\n return ActionRight.Allowed;\n }\n if (roleContainsAny('RESTRICTED_PRODUCTION', 'RESTRICTED_ANIMATION', 'PODCAST_CRUD')) {\n return element.ownerId !== undefined && element.ownerId !== null && element.ownerId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getDeleteMediaRight(element: Media): ActionRight {\n return getEditMediaRight(element);\n }\n\n ////////////////////////////\n // Mix rights\n ////////////////////////////\n function getCreateMixRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'RADIO')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditMixRight(_element: Mix): ActionRight {\n return getCreateMixRight();\n }\n\n function getDeleteMixRight(element: Mix): ActionRight {\n return getEditMixRight(element);\n }\n\n ////////////////////////////\n // Transcript/translation rights\n ////////////////////////////\n function getEditTranscriptRight(podcast: Podcast): ActionRight {\n if (!hasSufficientScope(podcast.rubriqueIds, podcast.emission.rubriqueIds)) {\n return ActionRight.DeniedInsufficientScope;\n }\n if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')) {\n return ActionRight.Allowed;\n }\n if (roleContainsAny('RESTRICTED_PRODUCTION', 'PODCAST_CRUD')) {\n return podcast.createdByUserId === authStore.authProfile?.userId\n ? ActionRight.Allowed\n : ActionRight.DeniedNotOwner;\n }\n return ActionRight.DeniedNoRight;\n }\n\n function getEditTranscriptVisibilityRight(podcast: Podcast): ActionRight {\n if (!hasSufficientScope(podcast.rubriqueIds, podcast.emission.rubriqueIds)) {\n return ActionRight.DeniedInsufficientScope;\n }\n\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditTranslationRight(podcast: Podcast): ActionRight {\n return getEditTranscriptRight(podcast);\n }\n\n ////////////////////////////\n // Live\n ////////////////////////////\n function getAccessRecordingRight(conference: Conference, isLive: boolean): ActionRight {\n if (isLive) {\n return roleContainsAny('LIVE') ? ActionRight.Allowed : ActionRight.DeniedNoRight;\n } else {\n return roleContainsAny('ANIMATION', 'RESTRICTED_ANIMATION') ? ActionRight.Allowed : ActionRight.DeniedNoRight;\n }\n }\n\n ////////////////////////////\n // Other action rights\n ////////////////////////////\n function getEditCodeInsertPlayerRight(): ActionRight {\n return roleContainsAny('ADMIN', 'ORGANISATION')\n ? ActionRight.Allowed\n : ActionRight.DeniedNoRight;\n }\n\n function getEditChapteringRight(podcast: Podcast): ActionRight {\n return getEditPodcastRight(podcast);\n }\n\n function getCreatePromoVideoRight(podcast: Podcast): ActionRight {\n if (!hasSufficientScope(podcast.rubriqueIds, podcast.emission.rubriqueIds)) {\n return ActionRight.DeniedInsufficientScope;\n } else if (roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION')) {\n return ActionRight.Allowed;\n } else {\n return ActionRight.DeniedNoRight;\n }\n }\n\n function getEditPromoVideoRight(podcast: Podcast): ActionRight {\n return getCreatePromoVideoRight(podcast);\n }\n\n function getDeletePromoVideoRight(podcast: Podcast): ActionRight {\n return getCreatePromoVideoRight(podcast);\n }\n\n // View/utility checks — outside the action pattern\n function canSeeHistory(): boolean {\n return roleContainsAny('ADMIN', 'ORGANISATION');\n }\n\n function isRestrictedProduction(): boolean {\n return roleContainsAny('RESTRICTED_PRODUCTION') && !roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION');\n }\n\n const rightFns = {\n // Emissions\n getCreateEmissionRight,\n getEditEmissionRight,\n getDeleteEmissionRight,\n getEditCommentsConfigEmissionRight,\n // Podcasts\n getCreatePodcastRight,\n getDuplicatePodcastRight,\n getEditPodcastRight,\n getDeletePodcastRight,\n getValidatePodcastRight,\n getEditCommentsConfigPodcastRight,\n // Playlists\n getCreatePlaylistRight,\n getEditPlaylistRight,\n getDeletePlaylistRight,\n // Participants (sync only)\n getCreateParticipantRight,\n // Rubriques/Rubriquages\n getCreateRubriquesRight,\n getEditRubriquesRight,\n // Aggregators\n getCreateAggregatorRight,\n getEditAggregatorRight,\n getDeleteAggregatorRight,\n // Cartouchier\n getCreateCartouchierRight,\n getEditCartouchierRight,\n getDeleteCartouchierRight,\n // PlaylistMedia\n getCreatePlaylistMediaRight,\n getEditPlaylistMediaRight,\n getDeletePlaylistMediaRight,\n // Media\n getCreateMediaRight,\n getEditMediaRight,\n getDeleteMediaRight,\n // Mix\n getCreateMixRight,\n getEditMixRight,\n getDeleteMixRight,\n // Translation/transcription\n getEditTranscriptRight,\n getEditTranscriptVisibilityRight,\n getEditTranslationRight,\n // Other\n getAccessRecordingRight,\n getEditCodeInsertPlayerRight,\n getEditChapteringRight,\n getCreatePromoVideoRight,\n getEditPromoVideoRight,\n getDeletePromoVideoRight\n };\n\n const canFns = deriveCanFunctions(rightFns);\n\n function canReadRSSRules(): boolean {\n return roleContainsAny('ADMIN', 'ORGANISATION', 'PRODUCTION');\n }\n\n function canEditRSSRules(): boolean {\n return canReadRSSRules();\n }\n\n return {\n ...rightFns,\n ...canFns,\n // Async participant (kept manually — async functions excluded from deriveCanFunctions)\n getParticipantEditRight,\n canEditParticipant,\n canDeleteParticipant,\n // RSS Rules (manual — outside the getRightXxx convention)\n canReadRSSRules,\n canEditRSSRules,\n // View/utility checks\n canSeeHistory,\n isRestrictedProduction,\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRubriquesFilterComputed-7LToVEWh.mjs","names":[],"sources":["../src/components/composable/route/useRubriquesFilterComputed.ts"],"sourcesContent":["import { RubriquageFilter } from '@/stores/class/rubrique/rubriquageFilter';\nimport { useFilterStore } from '../../../stores/FilterStore';\nimport { computed } from 'vue';\n\nexport const useRubriquesFilterComputed = ()=>{\n\n const filterStore = useFilterStore();\n\n const rubriqueQueryParam = computed(() => { \n if (filterStore.filterRubrique?.length) {\n return filterStore.filterRubrique\n .map(\n (value: RubriquageFilter) =>\n value.rubriquageId + \":\" + value.rubriqueId,\n )\n .join();\n }\n return undefined;\n });\n\n return {\n rubriqueQueryParam\n }\n}\n"],"mappings":";;;AAIA,IAAa,mCAAiC;CAE5C,MAAM,cAAe,eAAe;CAcpC,OAAO,EACL,oBAbyB,eAAe;EACxC,IAAI,YAAY,gBAAgB,QAC9B,OAAO,YAAY,eAChB,KACE,UACC,MAAM,eAAe,MAAM,MAAM,UACrC,EACC,KAAK;CAGZ,CAGE,EACF;AACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRubriquesFilterComputed-B4fRwCc2.mjs","names":[],"sources":["../src/components/composable/route/useRubriquesFilterComputed.ts"],"sourcesContent":["import { RubriquageFilter } from '@/stores/class/rubrique/rubriquageFilter';\nimport { useFilterStore } from '../../../stores/FilterStore';\nimport { computed } from 'vue';\n\nexport const useRubriquesFilterComputed = ()=>{\n\n const filterStore = useFilterStore();\n\n const rubriqueQueryParam = computed(() => { \n if (filterStore.filterRubrique?.length) {\n return filterStore.filterRubrique\n .map(\n (value: RubriquageFilter) =>\n value.rubriquageId + \":\" + value.rubriqueId,\n )\n .join();\n }\n return undefined;\n });\n\n return {\n rubriqueQueryParam\n }\n}\n"],"mappings":";;;AAIA,IAAa,mCAAiC;CAE5C,MAAM,cAAe,eAAe;CAcpC,OAAO,EACL,oBAbyB,eAAe;EACxC,IAAI,YAAY,gBAAgB,QAC9B,OAAO,YAAY,eAChB,KACE,UACC,MAAM,eAAe,MAAM,MAAM,UACrC,EACC,KAAK;CAGZ,CAGE,EACF;AACF"}
@@ -0,0 +1,13 @@
1
+ import { r as useFilterStore } from "./classicApi-1jdxJdNn.mjs";
2
+ import { computed } from "vue";
3
+ //#region src/components/composable/route/useRubriquesFilterComputed.ts
4
+ var useRubriquesFilterComputed = () => {
5
+ const filterStore = useFilterStore();
6
+ return { rubriqueQueryParam: computed(() => {
7
+ if (filterStore.filterRubrique?.length) return filterStore.filterRubrique.map((value) => value.rubriquageId + ":" + value.rubriqueId).join();
8
+ }) };
9
+ };
10
+ //#endregion
11
+ export { useRubriquesFilterComputed as t };
12
+
13
+ //# sourceMappingURL=useRubriquesFilterComputed-B6yAljnV.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRubriquesFilterComputed-B6yAljnV.mjs","names":[],"sources":["../src/components/composable/route/useRubriquesFilterComputed.ts"],"sourcesContent":["import { RubriquageFilter } from '@/stores/class/rubrique/rubriquageFilter';\nimport { useFilterStore } from '../../../stores/FilterStore';\nimport { computed } from 'vue';\n\nexport const useRubriquesFilterComputed = ()=>{\n\n const filterStore = useFilterStore();\n\n const rubriqueQueryParam = computed(() => { \n if (filterStore.filterRubrique?.length) {\n return filterStore.filterRubrique\n .map(\n (value: RubriquageFilter) =>\n value.rubriquageId + \":\" + value.rubriqueId,\n )\n .join();\n }\n return undefined;\n });\n\n return {\n rubriqueQueryParam\n }\n}\n"],"mappings":";;;AAIA,IAAa,mCAAiC;CAE5C,MAAM,cAAe,eAAe;CAcpC,OAAO,EACL,oBAbyB,eAAe;EACxC,IAAI,YAAY,gBAAgB,QAC9B,OAAO,YAAY,eAChB,KACE,UACC,MAAM,eAAe,MAAM,MAAM,UACrC,EACC,KAAK;CAGZ,CAGE,EACF;AACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRubriquesFilterComputed-B94E8TMb.mjs","names":[],"sources":["../src/components/composable/route/useRubriquesFilterComputed.ts"],"sourcesContent":["import { RubriquageFilter } from '@/stores/class/rubrique/rubriquageFilter';\nimport { useFilterStore } from '../../../stores/FilterStore';\nimport { computed } from 'vue';\n\nexport const useRubriquesFilterComputed = ()=>{\n\n const filterStore = useFilterStore();\n\n const rubriqueQueryParam = computed(() => { \n if (filterStore.filterRubrique?.length) {\n return filterStore.filterRubrique\n .map(\n (value: RubriquageFilter) =>\n value.rubriquageId + \":\" + value.rubriqueId,\n )\n .join();\n }\n return undefined;\n });\n\n return {\n rubriqueQueryParam\n }\n}\n"],"mappings":";;;AAIA,IAAa,mCAAiC;CAE5C,MAAM,cAAe,eAAe;CAcpC,OAAO,EACL,oBAbyB,eAAe;EACxC,IAAI,YAAY,gBAAgB,QAC9B,OAAO,YAAY,eAChB,KACE,UACC,MAAM,eAAe,MAAM,MAAM,UACrC,EACC,KAAK;CAGZ,CAGE,EACF;AACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRubriquesFilterComputed-BUhvHrds.mjs","names":[],"sources":["../src/components/composable/route/useRubriquesFilterComputed.ts"],"sourcesContent":["import { RubriquageFilter } from '@/stores/class/rubrique/rubriquageFilter';\nimport { useFilterStore } from '../../../stores/FilterStore';\nimport { computed } from 'vue';\n\nexport const useRubriquesFilterComputed = ()=>{\n\n const filterStore = useFilterStore();\n\n const rubriqueQueryParam = computed(() => { \n if (filterStore.filterRubrique?.length) {\n return filterStore.filterRubrique\n .map(\n (value: RubriquageFilter) =>\n value.rubriquageId + \":\" + value.rubriqueId,\n )\n .join();\n }\n return undefined;\n });\n\n return {\n rubriqueQueryParam\n }\n}\n"],"mappings":";;;AAIA,IAAa,mCAAiC;CAE5C,MAAM,cAAe,eAAe;CAcpC,OAAO,EACL,oBAbyB,eAAe;EACxC,IAAI,YAAY,gBAAgB,QAC9B,OAAO,YAAY,eAChB,KACE,UACC,MAAM,eAAe,MAAM,MAAM,UACrC,EACC,KAAK;CAGZ,CAGE,EACF;AACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRubriquesFilterComputed-C6Cj-JB5.mjs","names":[],"sources":["../src/components/composable/route/useRubriquesFilterComputed.ts"],"sourcesContent":["import { RubriquageFilter } from '@/stores/class/rubrique/rubriquageFilter';\nimport { useFilterStore } from '../../../stores/FilterStore';\nimport { computed } from 'vue';\n\nexport const useRubriquesFilterComputed = ()=>{\n\n const filterStore = useFilterStore();\n\n const rubriqueQueryParam = computed(() => { \n if (filterStore.filterRubrique?.length) {\n return filterStore.filterRubrique\n .map(\n (value: RubriquageFilter) =>\n value.rubriquageId + \":\" + value.rubriqueId,\n )\n .join();\n }\n return undefined;\n });\n\n return {\n rubriqueQueryParam\n }\n}\n"],"mappings":";;;AAIA,IAAa,mCAAiC;CAE5C,MAAM,cAAe,eAAe;CAcpC,OAAO,EACL,oBAbyB,eAAe;EACxC,IAAI,YAAY,gBAAgB,QAC9B,OAAO,YAAY,eAChB,KACE,UACC,MAAM,eAAe,MAAM,MAAM,UACrC,EACC,KAAK;CAGZ,CAGE,EACF;AACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRubriquesFilterComputed-CJf96968.mjs","names":[],"sources":["../src/components/composable/route/useRubriquesFilterComputed.ts"],"sourcesContent":["import { RubriquageFilter } from '@/stores/class/rubrique/rubriquageFilter';\nimport { useFilterStore } from '../../../stores/FilterStore';\nimport { computed } from 'vue';\n\nexport const useRubriquesFilterComputed = ()=>{\n\n const filterStore = useFilterStore();\n\n const rubriqueQueryParam = computed(() => { \n if (filterStore.filterRubrique?.length) {\n return filterStore.filterRubrique\n .map(\n (value: RubriquageFilter) =>\n value.rubriquageId + \":\" + value.rubriqueId,\n )\n .join();\n }\n return undefined;\n });\n\n return {\n rubriqueQueryParam\n }\n}\n"],"mappings":";;;AAIA,IAAa,mCAAiC;CAE5C,MAAM,cAAe,eAAe;CAcpC,OAAO,EACL,oBAbyB,eAAe;EACxC,IAAI,YAAY,gBAAgB,QAC9B,OAAO,YAAY,eAChB,KACE,UACC,MAAM,eAAe,MAAM,MAAM,UACrC,EACC,KAAK;CAGZ,CAGE,EACF;AACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRubriquesFilterComputed-qsLiWlwD.mjs","names":[],"sources":["../src/components/composable/route/useRubriquesFilterComputed.ts"],"sourcesContent":["import { RubriquageFilter } from '@/stores/class/rubrique/rubriquageFilter';\nimport { useFilterStore } from '../../../stores/FilterStore';\nimport { computed } from 'vue';\n\nexport const useRubriquesFilterComputed = ()=>{\n\n const filterStore = useFilterStore();\n\n const rubriqueQueryParam = computed(() => { \n if (filterStore.filterRubrique?.length) {\n return filterStore.filterRubrique\n .map(\n (value: RubriquageFilter) =>\n value.rubriquageId + \":\" + value.rubriqueId,\n )\n .join();\n }\n return undefined;\n });\n\n return {\n rubriqueQueryParam\n }\n}\n"],"mappings":";;;AAIA,IAAa,mCAAiC;CAE5C,MAAM,cAAe,eAAe;CAcpC,OAAO,EACL,oBAbyB,eAAe;EACxC,IAAI,YAAY,gBAAgB,QAC9B,OAAO,YAAY,eAChB,KACE,UACC,MAAM,eAAe,MAAM,MAAM,UACrC,EACC,KAAK;CAGZ,CAGE,EACF;AACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRubriquesFilterParam-BPlVhx7S.mjs","names":[],"sources":["../src/components/composable/route/useRubriquesFilterParam.ts"],"sourcesContent":["import { RubriquageFilter } from '@/stores/class/rubrique/rubriquageFilter';\nimport { useFilterStore } from '../../../stores/FilterStore';\nimport { useRouteUpdateParams } from './useRouteUpdateParams';\n\nexport const useRubriquesFilterParam = ()=>{\n\n const { updateFiltersParam, updateRouteParamAdvanced } = useRouteUpdateParams();\n\n const filterStore = useFilterStore();\n\n function stringifyRubriquesFilter(filter :Array<RubriquageFilter>|undefined): string{\n if(!filter){\n return \"\";\n }\n return filter\n .map((value) => value.rubriquageId + \":\" + value.rubriqueId)\n .join();\n }\n function returnValToUpdate(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){\n const newFilter = modifyFunction( Array.from(filterStore.filterRubrique));\n const queryString = stringifyRubriquesFilter(newFilter);\n return \"\" !== queryString ? queryString : undefined;\n }\n function modifyRubriquesFilter(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){\n const valToUpdate = returnValToUpdate(modifyFunction);\n updateFiltersParam({ rubriquesId: valToUpdate }, {r: valToUpdate});\n }\n\n function returnRubriquesFilter(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){\n const valToUpdate = returnValToUpdate(modifyFunction);\n return { rubriquesId: valToUpdate, r: valToUpdate };\n }\n\n\treturn {\n stringifyRubriquesFilter,\n modifyRubriquesFilter,\n updateRouteParamAdvanced,\n returnRubriquesFilter\n\t}\n}"],"mappings":";;;AAIA,IAAa,gCAA8B;CAEzC,MAAM,EAAE,oBAAoB,6BAA6B,qBAAqB;CAE9E,MAAM,cAAe,eAAe;CAEpC,SAAS,yBAAyB,QAAkD;EAClF,IAAG,CAAC,QACF,OAAO;EAET,OAAO,OACJ,KAAK,UAAU,MAAM,eAAe,MAAM,MAAM,UAAU,EAC1D,KAAK;CACV;CACA,SAAS,kBAAkB,gBAAuE;EAEhG,MAAM,cAAc,yBADF,eAAgB,MAAM,KAAK,YAAY,cAAc,CAC1B,CAAS;EACtD,OAAO,OAAO,cAAc,cAAc,KAAA;CAC5C;CACA,SAAS,sBAAsB,gBAAuE;EACpG,MAAM,cAAc,kBAAkB,cAAc;EACpD,mBAAmB,EAAE,aAAa,YAAY,GAAG,EAAC,GAAG,YAAW,CAAC;CACnE;CAEA,SAAS,sBAAsB,gBAAuE;EACpG,MAAM,cAAc,kBAAkB,cAAc;EACpD,OAAO;GAAE,aAAa;GAAa,GAAG;EAAY;CACpD;CAED,OAAO;EACJ;EACA;EACA;EACA;CACH;AACD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRubriquesFilterParam-C6Ur8-pi.mjs","names":[],"sources":["../src/components/composable/route/useRubriquesFilterParam.ts"],"sourcesContent":["import { RubriquageFilter } from '@/stores/class/rubrique/rubriquageFilter';\nimport { useFilterStore } from '../../../stores/FilterStore';\nimport { useRouteUpdateParams } from './useRouteUpdateParams';\n\nexport const useRubriquesFilterParam = ()=>{\n\n const { updateFiltersParam, updateRouteParamAdvanced } = useRouteUpdateParams();\n\n const filterStore = useFilterStore();\n\n function stringifyRubriquesFilter(filter :Array<RubriquageFilter>|undefined): string{\n if(!filter){\n return \"\";\n }\n return filter\n .map((value) => value.rubriquageId + \":\" + value.rubriqueId)\n .join();\n }\n function returnValToUpdate(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){\n const newFilter = modifyFunction( Array.from(filterStore.filterRubrique));\n const queryString = stringifyRubriquesFilter(newFilter);\n return \"\" !== queryString ? queryString : undefined;\n }\n function modifyRubriquesFilter(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){\n const valToUpdate = returnValToUpdate(modifyFunction);\n updateFiltersParam({ rubriquesId: valToUpdate }, {r: valToUpdate});\n }\n\n function returnRubriquesFilter(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){\n const valToUpdate = returnValToUpdate(modifyFunction);\n return { rubriquesId: valToUpdate, r: valToUpdate };\n }\n\n\treturn {\n stringifyRubriquesFilter,\n modifyRubriquesFilter,\n updateRouteParamAdvanced,\n returnRubriquesFilter\n\t}\n}"],"mappings":";;;AAIA,IAAa,gCAA8B;CAEzC,MAAM,EAAE,oBAAoB,6BAA6B,qBAAqB;CAE9E,MAAM,cAAe,eAAe;CAEpC,SAAS,yBAAyB,QAAkD;EAClF,IAAG,CAAC,QACF,OAAO;EAET,OAAO,OACJ,KAAK,UAAU,MAAM,eAAe,MAAM,MAAM,UAAU,EAC1D,KAAK;CACV;CACA,SAAS,kBAAkB,gBAAuE;EAEhG,MAAM,cAAc,yBADF,eAAgB,MAAM,KAAK,YAAY,cAAc,CAC1B,CAAS;EACtD,OAAO,OAAO,cAAc,cAAc,KAAA;CAC5C;CACA,SAAS,sBAAsB,gBAAuE;EACpG,MAAM,cAAc,kBAAkB,cAAc;EACpD,mBAAmB,EAAE,aAAa,YAAY,GAAG,EAAC,GAAG,YAAW,CAAC;CACnE;CAEA,SAAS,sBAAsB,gBAAuE;EACpG,MAAM,cAAc,kBAAkB,cAAc;EACpD,OAAO;GAAE,aAAa;GAAa,GAAG;EAAY;CACpD;CAED,OAAO;EACJ;EACA;EACA;EACA;CACH;AACD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRubriquesFilterParam-CIx0fFT-.mjs","names":[],"sources":["../src/components/composable/route/useRubriquesFilterParam.ts"],"sourcesContent":["import { RubriquageFilter } from '@/stores/class/rubrique/rubriquageFilter';\nimport { useFilterStore } from '../../../stores/FilterStore';\nimport { useRouteUpdateParams } from './useRouteUpdateParams';\n\nexport const useRubriquesFilterParam = ()=>{\n\n const { updateFiltersParam, updateRouteParamAdvanced } = useRouteUpdateParams();\n\n const filterStore = useFilterStore();\n\n function stringifyRubriquesFilter(filter :Array<RubriquageFilter>|undefined): string{\n if(!filter){\n return \"\";\n }\n return filter\n .map((value) => value.rubriquageId + \":\" + value.rubriqueId)\n .join();\n }\n function returnValToUpdate(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){\n const newFilter = modifyFunction( Array.from(filterStore.filterRubrique));\n const queryString = stringifyRubriquesFilter(newFilter);\n return \"\" !== queryString ? queryString : undefined;\n }\n function modifyRubriquesFilter(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){\n const valToUpdate = returnValToUpdate(modifyFunction);\n updateFiltersParam({ rubriquesId: valToUpdate }, {r: valToUpdate});\n }\n\n function returnRubriquesFilter(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){\n const valToUpdate = returnValToUpdate(modifyFunction);\n return { rubriquesId: valToUpdate, r: valToUpdate };\n }\n\n\treturn {\n stringifyRubriquesFilter,\n modifyRubriquesFilter,\n updateRouteParamAdvanced,\n returnRubriquesFilter\n\t}\n}"],"mappings":";;;AAIA,IAAa,gCAA8B;CAEzC,MAAM,EAAE,oBAAoB,6BAA6B,qBAAqB;CAE9E,MAAM,cAAe,eAAe;CAEpC,SAAS,yBAAyB,QAAkD;EAClF,IAAG,CAAC,QACF,OAAO;EAET,OAAO,OACJ,KAAK,UAAU,MAAM,eAAe,MAAM,MAAM,UAAU,EAC1D,KAAK;CACV;CACA,SAAS,kBAAkB,gBAAuE;EAEhG,MAAM,cAAc,yBADF,eAAgB,MAAM,KAAK,YAAY,cAAc,CAC1B,CAAS;EACtD,OAAO,OAAO,cAAc,cAAc,KAAA;CAC5C;CACA,SAAS,sBAAsB,gBAAuE;EACpG,MAAM,cAAc,kBAAkB,cAAc;EACpD,mBAAmB,EAAE,aAAa,YAAY,GAAG,EAAC,GAAG,YAAW,CAAC;CACnE;CAEA,SAAS,sBAAsB,gBAAuE;EACpG,MAAM,cAAc,kBAAkB,cAAc;EACpD,OAAO;GAAE,aAAa;GAAa,GAAG;EAAY;CACpD;CAED,OAAO;EACJ;EACA;EACA;EACA;CACH;AACD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRubriquesFilterParam-CxWXo4lU.mjs","names":[],"sources":["../src/components/composable/route/useRubriquesFilterParam.ts"],"sourcesContent":["import { RubriquageFilter } from '@/stores/class/rubrique/rubriquageFilter';\nimport { useFilterStore } from '../../../stores/FilterStore';\nimport { useRouteUpdateParams } from './useRouteUpdateParams';\n\nexport const useRubriquesFilterParam = ()=>{\n\n const { updateFiltersParam, updateRouteParamAdvanced } = useRouteUpdateParams();\n\n const filterStore = useFilterStore();\n\n function stringifyRubriquesFilter(filter :Array<RubriquageFilter>|undefined): string{\n if(!filter){\n return \"\";\n }\n return filter\n .map((value) => value.rubriquageId + \":\" + value.rubriqueId)\n .join();\n }\n function returnValToUpdate(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){\n const newFilter = modifyFunction( Array.from(filterStore.filterRubrique));\n const queryString = stringifyRubriquesFilter(newFilter);\n return \"\" !== queryString ? queryString : undefined;\n }\n function modifyRubriquesFilter(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){\n const valToUpdate = returnValToUpdate(modifyFunction);\n updateFiltersParam({ rubriquesId: valToUpdate }, {r: valToUpdate});\n }\n\n function returnRubriquesFilter(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){\n const valToUpdate = returnValToUpdate(modifyFunction);\n return { rubriquesId: valToUpdate, r: valToUpdate };\n }\n\n\treturn {\n stringifyRubriquesFilter,\n modifyRubriquesFilter,\n updateRouteParamAdvanced,\n returnRubriquesFilter\n\t}\n}"],"mappings":";;;AAIA,IAAa,gCAA8B;CAEzC,MAAM,EAAE,oBAAoB,6BAA6B,qBAAqB;CAE9E,MAAM,cAAe,eAAe;CAEpC,SAAS,yBAAyB,QAAkD;EAClF,IAAG,CAAC,QACF,OAAO;EAET,OAAO,OACJ,KAAK,UAAU,MAAM,eAAe,MAAM,MAAM,UAAU,EAC1D,KAAK;CACV;CACA,SAAS,kBAAkB,gBAAuE;EAEhG,MAAM,cAAc,yBADF,eAAgB,MAAM,KAAK,YAAY,cAAc,CAC1B,CAAS;EACtD,OAAO,OAAO,cAAc,cAAc,KAAA;CAC5C;CACA,SAAS,sBAAsB,gBAAuE;EACpG,MAAM,cAAc,kBAAkB,cAAc;EACpD,mBAAmB,EAAE,aAAa,YAAY,GAAG,EAAC,GAAG,YAAW,CAAC;CACnE;CAEA,SAAS,sBAAsB,gBAAuE;EACpG,MAAM,cAAc,kBAAkB,cAAc;EACpD,OAAO;GAAE,aAAa;GAAa,GAAG;EAAY;CACpD;CAED,OAAO;EACJ;EACA;EACA;EACA;CACH;AACD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRubriquesFilterParam-DGbdF4f8.mjs","names":[],"sources":["../src/components/composable/route/useRubriquesFilterParam.ts"],"sourcesContent":["import { RubriquageFilter } from '@/stores/class/rubrique/rubriquageFilter';\nimport { useFilterStore } from '../../../stores/FilterStore';\nimport { useRouteUpdateParams } from './useRouteUpdateParams';\n\nexport const useRubriquesFilterParam = ()=>{\n\n const { updateFiltersParam, updateRouteParamAdvanced } = useRouteUpdateParams();\n\n const filterStore = useFilterStore();\n\n function stringifyRubriquesFilter(filter :Array<RubriquageFilter>|undefined): string{\n if(!filter){\n return \"\";\n }\n return filter\n .map((value) => value.rubriquageId + \":\" + value.rubriqueId)\n .join();\n }\n function returnValToUpdate(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){\n const newFilter = modifyFunction( Array.from(filterStore.filterRubrique));\n const queryString = stringifyRubriquesFilter(newFilter);\n return \"\" !== queryString ? queryString : undefined;\n }\n function modifyRubriquesFilter(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){\n const valToUpdate = returnValToUpdate(modifyFunction);\n updateFiltersParam({ rubriquesId: valToUpdate }, {r: valToUpdate});\n }\n\n function returnRubriquesFilter(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){\n const valToUpdate = returnValToUpdate(modifyFunction);\n return { rubriquesId: valToUpdate, r: valToUpdate };\n }\n\n\treturn {\n stringifyRubriquesFilter,\n modifyRubriquesFilter,\n updateRouteParamAdvanced,\n returnRubriquesFilter\n\t}\n}"],"mappings":";;;AAIA,IAAa,gCAA8B;CAEzC,MAAM,EAAE,oBAAoB,6BAA6B,qBAAqB;CAE9E,MAAM,cAAe,eAAe;CAEpC,SAAS,yBAAyB,QAAkD;EAClF,IAAG,CAAC,QACF,OAAO;EAET,OAAO,OACJ,KAAK,UAAU,MAAM,eAAe,MAAM,MAAM,UAAU,EAC1D,KAAK;CACV;CACA,SAAS,kBAAkB,gBAAuE;EAEhG,MAAM,cAAc,yBADF,eAAgB,MAAM,KAAK,YAAY,cAAc,CAC1B,CAAS;EACtD,OAAO,OAAO,cAAc,cAAc,KAAA;CAC5C;CACA,SAAS,sBAAsB,gBAAuE;EACpG,MAAM,cAAc,kBAAkB,cAAc;EACpD,mBAAmB,EAAE,aAAa,YAAY,GAAG,EAAC,GAAG,YAAW,CAAC;CACnE;CAEA,SAAS,sBAAsB,gBAAuE;EACpG,MAAM,cAAc,kBAAkB,cAAc;EACpD,OAAO;GAAE,aAAa;GAAa,GAAG;EAAY;CACpD;CAED,OAAO;EACJ;EACA;EACA;EACA;CACH;AACD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRubriquesFilterParam-DiwzHD1p.mjs","names":[],"sources":["../src/components/composable/route/useRubriquesFilterParam.ts"],"sourcesContent":["import { RubriquageFilter } from '@/stores/class/rubrique/rubriquageFilter';\nimport { useFilterStore } from '../../../stores/FilterStore';\nimport { useRouteUpdateParams } from './useRouteUpdateParams';\n\nexport const useRubriquesFilterParam = ()=>{\n\n const { updateFiltersParam, updateRouteParamAdvanced } = useRouteUpdateParams();\n\n const filterStore = useFilterStore();\n\n function stringifyRubriquesFilter(filter :Array<RubriquageFilter>|undefined): string{\n if(!filter){\n return \"\";\n }\n return filter\n .map((value) => value.rubriquageId + \":\" + value.rubriqueId)\n .join();\n }\n function returnValToUpdate(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){\n const newFilter = modifyFunction( Array.from(filterStore.filterRubrique));\n const queryString = stringifyRubriquesFilter(newFilter);\n return \"\" !== queryString ? queryString : undefined;\n }\n function modifyRubriquesFilter(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){\n const valToUpdate = returnValToUpdate(modifyFunction);\n updateFiltersParam({ rubriquesId: valToUpdate }, {r: valToUpdate});\n }\n\n function returnRubriquesFilter(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){\n const valToUpdate = returnValToUpdate(modifyFunction);\n return { rubriquesId: valToUpdate, r: valToUpdate };\n }\n\n\treturn {\n stringifyRubriquesFilter,\n modifyRubriquesFilter,\n updateRouteParamAdvanced,\n returnRubriquesFilter\n\t}\n}"],"mappings":";;;AAIA,IAAa,gCAA8B;CAEzC,MAAM,EAAE,oBAAoB,6BAA6B,qBAAqB;CAE9E,MAAM,cAAe,eAAe;CAEpC,SAAS,yBAAyB,QAAkD;EAClF,IAAG,CAAC,QACF,OAAO;EAET,OAAO,OACJ,KAAK,UAAU,MAAM,eAAe,MAAM,MAAM,UAAU,EAC1D,KAAK;CACV;CACA,SAAS,kBAAkB,gBAAuE;EAEhG,MAAM,cAAc,yBADF,eAAgB,MAAM,KAAK,YAAY,cAAc,CAC1B,CAAS;EACtD,OAAO,OAAO,cAAc,cAAc,KAAA;CAC5C;CACA,SAAS,sBAAsB,gBAAuE;EACpG,MAAM,cAAc,kBAAkB,cAAc;EACpD,mBAAmB,EAAE,aAAa,YAAY,GAAG,EAAC,GAAG,YAAW,CAAC;CACnE;CAEA,SAAS,sBAAsB,gBAAuE;EACpG,MAAM,cAAc,kBAAkB,cAAc;EACpD,OAAO;GAAE,aAAa;GAAa,GAAG;EAAY;CACpD;CAED,OAAO;EACJ;EACA;EACA;EACA;CACH;AACD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRubriquesFilterParam-gXKJJk5a.mjs","names":[],"sources":["../src/components/composable/route/useRubriquesFilterParam.ts"],"sourcesContent":["import { RubriquageFilter } from '@/stores/class/rubrique/rubriquageFilter';\nimport { useFilterStore } from '../../../stores/FilterStore';\nimport { useRouteUpdateParams } from './useRouteUpdateParams';\n\nexport const useRubriquesFilterParam = ()=>{\n\n const { updateFiltersParam, updateRouteParamAdvanced } = useRouteUpdateParams();\n\n const filterStore = useFilterStore();\n\n function stringifyRubriquesFilter(filter :Array<RubriquageFilter>|undefined): string{\n if(!filter){\n return \"\";\n }\n return filter\n .map((value) => value.rubriquageId + \":\" + value.rubriqueId)\n .join();\n }\n function returnValToUpdate(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){\n const newFilter = modifyFunction( Array.from(filterStore.filterRubrique));\n const queryString = stringifyRubriquesFilter(newFilter);\n return \"\" !== queryString ? queryString : undefined;\n }\n function modifyRubriquesFilter(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){\n const valToUpdate = returnValToUpdate(modifyFunction);\n updateFiltersParam({ rubriquesId: valToUpdate }, {r: valToUpdate});\n }\n\n function returnRubriquesFilter(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){\n const valToUpdate = returnValToUpdate(modifyFunction);\n return { rubriquesId: valToUpdate, r: valToUpdate };\n }\n\n\treturn {\n stringifyRubriquesFilter,\n modifyRubriquesFilter,\n updateRouteParamAdvanced,\n returnRubriquesFilter\n\t}\n}"],"mappings":";;;AAIA,IAAa,gCAA8B;CAEzC,MAAM,EAAE,oBAAoB,6BAA6B,qBAAqB;CAE9E,MAAM,cAAe,eAAe;CAEpC,SAAS,yBAAyB,QAAkD;EAClF,IAAG,CAAC,QACF,OAAO;EAET,OAAO,OACJ,KAAK,UAAU,MAAM,eAAe,MAAM,MAAM,UAAU,EAC1D,KAAK;CACV;CACA,SAAS,kBAAkB,gBAAuE;EAEhG,MAAM,cAAc,yBADF,eAAgB,MAAM,KAAK,YAAY,cAAc,CAC1B,CAAS;EACtD,OAAO,OAAO,cAAc,cAAc,KAAA;CAC5C;CACA,SAAS,sBAAsB,gBAAuE;EACpG,MAAM,cAAc,kBAAkB,cAAc;EACpD,mBAAmB,EAAE,aAAa,YAAY,GAAG,EAAC,GAAG,YAAW,CAAC;CACnE;CAEA,SAAS,sBAAsB,gBAAuE;EACpG,MAAM,cAAc,kBAAkB,cAAc;EACpD,OAAO;GAAE,aAAa;GAAa,GAAG;EAAY;CACpD;CAED,OAAO;EACJ;EACA;EACA;EACA;CACH;AACD"}
@@ -0,0 +1,36 @@
1
+ import { r as useFilterStore } from "./classicApi-1jdxJdNn.mjs";
2
+ import { t as useRouteUpdateParams } from "./useRouteUpdateParams-DurlddRA.mjs";
3
+ //#region src/components/composable/route/useRubriquesFilterParam.ts
4
+ var useRubriquesFilterParam = () => {
5
+ const { updateFiltersParam, updateRouteParamAdvanced } = useRouteUpdateParams();
6
+ const filterStore = useFilterStore();
7
+ function stringifyRubriquesFilter(filter) {
8
+ if (!filter) return "";
9
+ return filter.map((value) => value.rubriquageId + ":" + value.rubriqueId).join();
10
+ }
11
+ function returnValToUpdate(modifyFunction) {
12
+ const queryString = stringifyRubriquesFilter(modifyFunction(Array.from(filterStore.filterRubrique)));
13
+ return "" !== queryString ? queryString : void 0;
14
+ }
15
+ function modifyRubriquesFilter(modifyFunction) {
16
+ const valToUpdate = returnValToUpdate(modifyFunction);
17
+ updateFiltersParam({ rubriquesId: valToUpdate }, { r: valToUpdate });
18
+ }
19
+ function returnRubriquesFilter(modifyFunction) {
20
+ const valToUpdate = returnValToUpdate(modifyFunction);
21
+ return {
22
+ rubriquesId: valToUpdate,
23
+ r: valToUpdate
24
+ };
25
+ }
26
+ return {
27
+ stringifyRubriquesFilter,
28
+ modifyRubriquesFilter,
29
+ updateRouteParamAdvanced,
30
+ returnRubriquesFilter
31
+ };
32
+ };
33
+ //#endregion
34
+ export { useRubriquesFilterParam as t };
35
+
36
+ //# sourceMappingURL=useRubriquesFilterParam-vy-84z0z.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRubriquesFilterParam-vy-84z0z.mjs","names":[],"sources":["../src/components/composable/route/useRubriquesFilterParam.ts"],"sourcesContent":["import { RubriquageFilter } from '@/stores/class/rubrique/rubriquageFilter';\nimport { useFilterStore } from '../../../stores/FilterStore';\nimport { useRouteUpdateParams } from './useRouteUpdateParams';\n\nexport const useRubriquesFilterParam = ()=>{\n\n const { updateFiltersParam, updateRouteParamAdvanced } = useRouteUpdateParams();\n\n const filterStore = useFilterStore();\n\n function stringifyRubriquesFilter(filter :Array<RubriquageFilter>|undefined): string{\n if(!filter){\n return \"\";\n }\n return filter\n .map((value) => value.rubriquageId + \":\" + value.rubriqueId)\n .join();\n }\n function returnValToUpdate(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){\n const newFilter = modifyFunction( Array.from(filterStore.filterRubrique));\n const queryString = stringifyRubriquesFilter(newFilter);\n return \"\" !== queryString ? queryString : undefined;\n }\n function modifyRubriquesFilter(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){\n const valToUpdate = returnValToUpdate(modifyFunction);\n updateFiltersParam({ rubriquesId: valToUpdate }, {r: valToUpdate});\n }\n\n function returnRubriquesFilter(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){\n const valToUpdate = returnValToUpdate(modifyFunction);\n return { rubriquesId: valToUpdate, r: valToUpdate };\n }\n\n\treturn {\n stringifyRubriquesFilter,\n modifyRubriquesFilter,\n updateRouteParamAdvanced,\n returnRubriquesFilter\n\t}\n}"],"mappings":";;;AAIA,IAAa,gCAA8B;CAEzC,MAAM,EAAE,oBAAoB,6BAA6B,qBAAqB;CAE9E,MAAM,cAAe,eAAe;CAEpC,SAAS,yBAAyB,QAAkD;EAClF,IAAG,CAAC,QACF,OAAO;EAET,OAAO,OACJ,KAAK,UAAU,MAAM,eAAe,MAAM,MAAM,UAAU,EAC1D,KAAK;CACV;CACA,SAAS,kBAAkB,gBAAuE;EAEhG,MAAM,cAAc,yBADF,eAAgB,MAAM,KAAK,YAAY,cAAc,CAC1B,CAAS;EACtD,OAAO,OAAO,cAAc,cAAc,KAAA;CAC5C;CACA,SAAS,sBAAsB,gBAAuE;EACpG,MAAM,cAAc,kBAAkB,cAAc;EACpD,mBAAmB,EAAE,aAAa,YAAY,GAAG,EAAC,GAAG,YAAW,CAAC;CACnE;CAEA,SAAS,sBAAsB,gBAAuE;EACpG,MAAM,cAAc,kBAAkB,cAAc;EACpD,OAAO;GAAE,aAAa;GAAa,GAAG;EAAY;CACpD;CAED,OAAO;EACJ;EACA;EACA;EACA;CACH;AACD"}