@saooti/octopus-sdk 42.1.0 → 42.1.2

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 (1335) hide show
  1. package/dist/AdvancedSearch-BDxs2o7K.mjs +429 -0
  2. package/dist/AdvancedSearch-BDxs2o7K.mjs.map +1 -0
  3. package/dist/AdvancedSearch-BHnCcqYo.mjs.map +1 -0
  4. package/dist/AdvancedSearch-BKZL4Og4.mjs.map +1 -0
  5. package/dist/AdvancedSearch-CARbyVFc.mjs.map +1 -0
  6. package/dist/AdvancedSearch-CzWBQyRR.mjs.map +1 -0
  7. package/dist/AdvancedSearch-DM5MiCRf.mjs.map +1 -0
  8. package/dist/AdvancedSearch-Wbmubxbf.mjs.map +1 -0
  9. package/dist/CategoryFilter-BpAevuLH.mjs.map +1 -0
  10. package/dist/CategoryFilter-BpgBUxCX.mjs.map +1 -0
  11. package/dist/CategoryFilter-BtvszT_D.mjs +237 -0
  12. package/dist/CategoryFilter-BtvszT_D.mjs.map +1 -0
  13. package/dist/CategoryFilter-D-eWUCe_.mjs.map +1 -0
  14. package/dist/CategoryFilter-D38WmeC3.mjs.map +1 -0
  15. package/dist/CategoryFilter-DLSD7boE.mjs.map +1 -0
  16. package/dist/CategoryFilter-DbsUFHSn.mjs.map +1 -0
  17. package/dist/CategoryList-BirNjSgi.mjs +182 -0
  18. package/dist/CategoryList-BirNjSgi.mjs.map +1 -0
  19. package/dist/CategoryList-BrImjKgB.mjs.map +1 -0
  20. package/dist/CategoryList-BwqfZEqt.mjs.map +1 -0
  21. package/dist/CategoryList-C-v_Us7L.mjs.map +1 -0
  22. package/dist/CategoryList-CvNF6D7q.mjs.map +1 -0
  23. package/dist/CategoryList-DiSaK_Hw.mjs.map +1 -0
  24. package/dist/CategoryList-DpDoSFYT.mjs.map +1 -0
  25. package/dist/CategoryPage-BSD7wvZY.mjs.map +1 -0
  26. package/dist/CategoryPage-C5eTwFuy.mjs.map +1 -0
  27. package/dist/CategoryPage-Ck7xTJ1X.mjs.map +1 -0
  28. package/dist/CategoryPage-CmX_-CLt.mjs.map +1 -0
  29. package/dist/CategoryPage-CnGzdY2g.mjs.map +1 -0
  30. package/dist/CategoryPage-D5i0OhIn.mjs.map +1 -0
  31. package/dist/CategoryPage-D7FVaEMo.mjs.map +1 -0
  32. package/dist/CategoryPage-ymiYVbKH.mjs.map +1 -0
  33. package/dist/CategoryPage-zRFFW7lm.mjs +57 -0
  34. package/dist/CategoryPage-zRFFW7lm.mjs.map +1 -0
  35. package/dist/ChapteringModal-BT3rYLl7.mjs.map +1 -0
  36. package/dist/ChapteringModal-CZxza2Hl.mjs.map +1 -0
  37. package/dist/ChapteringModal-DF99rhXl.mjs.map +1 -0
  38. package/dist/ChapteringModal-DSrRb0wM.mjs +82 -0
  39. package/dist/ChapteringModal-DSrRb0wM.mjs.map +1 -0
  40. package/dist/ChapteringModal-DYg4Rsyc.mjs.map +1 -0
  41. package/dist/ChapteringModal-mbAIsypl.mjs.map +1 -0
  42. package/dist/ChapteringModal-nWgj6pH1.mjs.map +1 -0
  43. package/dist/CheckIdentityModal-9R4NGHGc.mjs.map +1 -0
  44. package/dist/CheckIdentityModal-B1TGBzW-.mjs.map +1 -0
  45. package/dist/CheckIdentityModal-BeoPGlll.mjs +86 -0
  46. package/dist/CheckIdentityModal-BeoPGlll.mjs.map +1 -0
  47. package/dist/CheckIdentityModal-C-LeNKnp.mjs.map +1 -0
  48. package/dist/CheckIdentityModal-CVh4TWaA.mjs.map +1 -0
  49. package/dist/CheckIdentityModal-DG5UwIww.mjs.map +1 -0
  50. package/dist/CheckIdentityModal-DgfR8eN8.mjs.map +1 -0
  51. package/dist/CheckIdentityModal-Du2Jqur2.mjs.map +1 -0
  52. package/dist/ClassicAlert-DUQplMvs.mjs +85 -0
  53. package/dist/ClassicInputText-D2wR2cwa.mjs +371 -0
  54. package/dist/ClassicInputText-D2wR2cwa.mjs.map +1 -0
  55. package/dist/ClassicWysiwyg-Bew6KMXn.mjs +230 -0
  56. package/dist/ClassicWysiwyg-Bew6KMXn.mjs.map +1 -0
  57. package/dist/ClipboardModal-7VJwXjk7.mjs.map +1 -0
  58. package/dist/ClipboardModal-BNGanHiD.mjs.map +1 -0
  59. package/dist/ClipboardModal-BXQoN3az.mjs.map +1 -0
  60. package/dist/ClipboardModal-BeGqMvLb.mjs.map +1 -0
  61. package/dist/ClipboardModal-CS-czxOJ.mjs.map +1 -0
  62. package/dist/ClipboardModal-Dm9Z1sRK.mjs +84 -0
  63. package/dist/ClipboardModal-Dm9Z1sRK.mjs.map +1 -0
  64. package/dist/ClipboardModal-PbKpLGXl.mjs.map +1 -0
  65. package/dist/CommentBasicView-BIiF59xV.mjs +129 -0
  66. package/dist/CommentInput-BHP1nNsj.mjs.map +1 -0
  67. package/dist/CommentInput-BJTzH-_a.mjs.map +1 -0
  68. package/dist/CommentInput-BS_2bqYB.mjs.map +1 -0
  69. package/dist/CommentInput-Bp_Tu2c1.mjs.map +1 -0
  70. package/dist/CommentInput-C5ZDqAmV.mjs.map +1 -0
  71. package/dist/CommentInput-CnLukNZs.mjs.map +1 -0
  72. package/dist/CommentInput-DRmRcSy-.mjs.map +1 -0
  73. package/dist/CommentInput-yE5YpwPd.mjs +186 -0
  74. package/dist/CommentInput-yE5YpwPd.mjs.map +1 -0
  75. package/dist/CommentItem-B3jrVyCL.mjs.map +1 -0
  76. package/dist/CommentItem-B95BndID.mjs +232 -0
  77. package/dist/CommentItem-B95BndID.mjs.map +1 -0
  78. package/dist/CommentItem-BbVr_2V6.mjs.map +1 -0
  79. package/dist/CommentItem-CYzCxLtJ.mjs.map +1 -0
  80. package/dist/CommentItem-Czdd1oCE.mjs.map +1 -0
  81. package/dist/CommentItem-D39oSH9h.mjs.map +1 -0
  82. package/dist/CommentItem-DCzZsT7J.mjs.map +1 -0
  83. package/dist/CommentItem-DPieWrkL.mjs.map +1 -0
  84. package/dist/CommentItem-DmyqQ7Z6.mjs.map +1 -0
  85. package/dist/CommentItem-Vvd1NE_W.mjs.map +1 -0
  86. package/dist/CommentItem-vMMaiTCB.mjs.map +1 -0
  87. package/dist/CommentList-AZvaBFne.mjs.map +1 -0
  88. package/dist/CommentList-AwpVcpBT.mjs.map +1 -0
  89. package/dist/CommentList-BcFHoPtE.mjs.map +1 -0
  90. package/dist/CommentList-BiDfTOiB.mjs.map +1 -0
  91. package/dist/CommentList-Bms6vEQA.mjs.map +1 -0
  92. package/dist/CommentList-CeoSTTP_.mjs.map +1 -0
  93. package/dist/CommentList-Cn5TPBet.mjs.map +1 -0
  94. package/dist/CommentList-D0WPAZgF.mjs.map +1 -0
  95. package/dist/CommentList-Dj_kHO7R.mjs.map +1 -0
  96. package/dist/CommentList-Iyun_PoW.mjs.map +1 -0
  97. package/dist/CommentList-l9y2S0t4.mjs +302 -0
  98. package/dist/CommentList-l9y2S0t4.mjs.map +1 -0
  99. package/dist/CommentMoreActions-BAroeo8E.mjs.map +1 -0
  100. package/dist/CommentMoreActions-BLA7K7Wk.mjs.map +1 -0
  101. package/dist/CommentMoreActions-BR4CRRey.mjs.map +1 -0
  102. package/dist/CommentMoreActions-CrVm5-lX.mjs.map +1 -0
  103. package/dist/CommentMoreActions-DL8XqQRk.mjs.map +1 -0
  104. package/dist/CommentMoreActions-Q4pEU-LO.mjs.map +1 -0
  105. package/dist/CommentMoreActions-Tqomh5Yr.mjs.map +1 -0
  106. package/dist/CommentMoreActions-tL6Uqw1X.mjs +286 -0
  107. package/dist/CommentMoreActions-tL6Uqw1X.mjs.map +1 -0
  108. package/dist/CommentName-5ZjKhTYa.mjs.map +1 -0
  109. package/dist/CommentName-BXD3T5EZ.mjs.map +1 -0
  110. package/dist/CommentName-D6y51EaZ.mjs.map +1 -0
  111. package/dist/CommentName-Dg4--t-W.mjs +96 -0
  112. package/dist/CommentName-Dg4--t-W.mjs.map +1 -0
  113. package/dist/CommentName-Dlnmhpr3.mjs.map +1 -0
  114. package/dist/CommentName-DxVYb9pg.mjs.map +1 -0
  115. package/dist/CommentName-RfqW4AQ6.mjs.map +1 -0
  116. package/dist/CommentName-sDkjL2pg.mjs.map +1 -0
  117. package/dist/CommentParentInfo-8jbjym0a.mjs +64 -0
  118. package/dist/CommentParentInfo-8jbjym0a.mjs.map +1 -0
  119. package/dist/CommentParentInfo-9pG8GbXZ.mjs.map +1 -0
  120. package/dist/CommentParentInfo-C8OdTBnA.mjs.map +1 -0
  121. package/dist/CommentParentInfo-CR723vnS.mjs.map +1 -0
  122. package/dist/CommentParentInfo-CbW6NDS2.mjs.map +1 -0
  123. package/dist/CommentParentInfo-CmJmczbB.mjs.map +1 -0
  124. package/dist/CommentParentInfo-DNRID2W9.mjs.map +1 -0
  125. package/dist/CommentParentInfo-DvhjIGxr.mjs.map +1 -0
  126. package/dist/CommentParentInfo-Sr7QsGrE.mjs.map +1 -0
  127. package/dist/CommentPlayer-BAqa0jnq.mjs.map +1 -0
  128. package/dist/CommentPlayer-CbcrWm1W.mjs.map +1 -0
  129. package/dist/CommentPlayer-Ckqy3Uy2.mjs.map +1 -0
  130. package/dist/CommentPlayer-DG-Vm9oa.mjs.map +1 -0
  131. package/dist/CommentPlayer-DWWiCxmf.mjs.map +1 -0
  132. package/dist/CommentPlayer-RqOzQeht.mjs.map +1 -0
  133. package/dist/CommentPlayer-lesewf4s.mjs +86 -0
  134. package/dist/CommentPlayer-lesewf4s.mjs.map +1 -0
  135. package/dist/CommentSection-0qvo2Lir.mjs.map +1 -0
  136. package/dist/CommentSection-B1No9DSa.mjs.map +1 -0
  137. package/dist/CommentSection-BH0240SR.mjs.map +1 -0
  138. package/dist/CommentSection-BRUVbqPQ.mjs +141 -0
  139. package/dist/CommentSection-BRUVbqPQ.mjs.map +1 -0
  140. package/dist/CommentSection-BW11Kkmw.mjs.map +1 -0
  141. package/dist/CommentSection-CGRHE7GP.mjs.map +1 -0
  142. package/dist/CommentSection-CLvjEX6w.mjs.map +1 -0
  143. package/dist/CommentSection-CRfcutkV.mjs.map +1 -0
  144. package/dist/CommentSection-ClFb7E4o.mjs.map +1 -0
  145. package/dist/CommentSection-CsyPvXiH.mjs.map +1 -0
  146. package/dist/CommentSection-DPMfFBSU.mjs.map +1 -0
  147. package/dist/CommentStore-B68P59zw.mjs.map +1 -0
  148. package/dist/CommentStore-BTml7qHF.mjs.map +1 -0
  149. package/dist/CommentStore-BwTJgPTy.mjs.map +1 -0
  150. package/dist/CommentStore-C1k1GX5R.mjs.map +1 -0
  151. package/dist/CommentStore-C9bhViPU.mjs +355 -0
  152. package/dist/CommentStore-C9bhViPU.mjs.map +1 -0
  153. package/dist/CommentStore-Ce-VQB6Q.mjs.map +1 -0
  154. package/dist/CommentStore-WgCnFHHi.mjs.map +1 -0
  155. package/dist/ContractPreviewModal-B9TjRP6t.mjs.map +1 -0
  156. package/dist/ContractPreviewModal-BrB9KaNH.mjs.map +1 -0
  157. package/dist/ContractPreviewModal-DB0Uv_bC.mjs.map +1 -0
  158. package/dist/ContractPreviewModal-DDJNYv49.mjs +101 -0
  159. package/dist/ContractPreviewModal-DDJNYv49.mjs.map +1 -0
  160. package/dist/ContractPreviewModal-Dlnmubps.mjs.map +1 -0
  161. package/dist/ContractPreviewModal-Duqx-yDT.mjs.map +1 -0
  162. package/dist/ContractPreviewModal-nMZHO_9q.mjs.map +1 -0
  163. package/dist/DownloadPodcastButton-BDYJT1At.mjs.map +1 -0
  164. package/dist/DownloadPodcastButton-C9RI5S7T.mjs.map +1 -0
  165. package/dist/DownloadPodcastButton-CQFTSstH.mjs.map +1 -0
  166. package/dist/DownloadPodcastButton-CvO14B8j.mjs.map +1 -0
  167. package/dist/DownloadPodcastButton-DAH2mwB3.mjs.map +1 -0
  168. package/dist/DownloadPodcastButton-DXJGjfIn.mjs +53 -0
  169. package/dist/DownloadPodcastButton-DXJGjfIn.mjs.map +1 -0
  170. package/dist/DownloadPodcastButton-DunrZi_3.mjs.map +1 -0
  171. package/dist/EditCommentModal-BHmUXtiy.mjs.map +1 -0
  172. package/dist/EditCommentModal-Bs7nuqdq.mjs.map +1 -0
  173. package/dist/EditCommentModal-Czp-qN4t.mjs +162 -0
  174. package/dist/EditCommentModal-Czp-qN4t.mjs.map +1 -0
  175. package/dist/EditCommentModal-D90FgueB.mjs.map +1 -0
  176. package/dist/EditCommentModal-DXo4LVcx.mjs.map +1 -0
  177. package/dist/EditCommentModal-SelQld7b.mjs.map +1 -0
  178. package/dist/EditCommentModal-dnPijKAh.mjs.map +1 -0
  179. package/dist/EditCommentModal-ntxMdZu5.mjs.map +1 -0
  180. package/dist/EmissionGroupChooser-BWcOXb7T.mjs.map +1 -0
  181. package/dist/EmissionGroupChooser-CFP7ChoW.mjs.map +1 -0
  182. package/dist/EmissionGroupChooser-DArypPDT.mjs.map +1 -0
  183. package/dist/EmissionGroupChooser-Dy1hnlF_.mjs.map +1 -0
  184. package/dist/EmissionGroupChooser-ZdhmJ8Bp.mjs +82 -0
  185. package/dist/EmissionGroupChooser-ZdhmJ8Bp.mjs.map +1 -0
  186. package/dist/EmissionGroupChooser-ylVvYy2W.mjs.map +1 -0
  187. package/dist/EmissionGroupChooser-zSxcBqKm.mjs.map +1 -0
  188. package/dist/EmissionInlineList-BH4EgEIF.mjs.map +1 -0
  189. package/dist/EmissionInlineList-B_HOW86o.mjs.map +1 -0
  190. package/dist/EmissionInlineList-Bqvh02uF.mjs +188 -0
  191. package/dist/EmissionInlineList-Bqvh02uF.mjs.map +1 -0
  192. package/dist/EmissionInlineList-CBmzKWGR.mjs.map +1 -0
  193. package/dist/EmissionInlineList-CO8i9b1t.mjs.map +1 -0
  194. package/dist/EmissionInlineList-Ciye_EZb.mjs.map +1 -0
  195. package/dist/EmissionInlineList-nNNANPRs.mjs.map +1 -0
  196. package/dist/EmissionItem-4CsF574w.mjs.map +1 -0
  197. package/dist/EmissionItem-BhghTyeT.mjs.map +1 -0
  198. package/dist/EmissionItem-Bv7O9sQY.mjs.map +1 -0
  199. package/dist/EmissionItem-DC_Gc-Yw.mjs.map +1 -0
  200. package/dist/EmissionItem-DoBM2Zk2.mjs +183 -0
  201. package/dist/EmissionItem-DoBM2Zk2.mjs.map +1 -0
  202. package/dist/EmissionItem-M-lMW-jg.mjs.map +1 -0
  203. package/dist/EmissionItem-VxhfrUve.mjs.map +1 -0
  204. package/dist/EmissionItem-aVrOlqEx.mjs.map +1 -0
  205. package/dist/EmissionItem-imaccCr_.mjs.map +1 -0
  206. package/dist/EmissionList-BQ1mTIYn.mjs.map +1 -0
  207. package/dist/EmissionList-BRPN4Bbj.mjs.map +1 -0
  208. package/dist/EmissionList-BYIBfZWr.mjs.map +1 -0
  209. package/dist/EmissionList-Bh3ZlvV4.mjs +325 -0
  210. package/dist/EmissionList-Bh3ZlvV4.mjs.map +1 -0
  211. package/dist/EmissionList-CCfo5-ne.mjs.map +1 -0
  212. package/dist/EmissionList-CyEpkgR4.mjs.map +1 -0
  213. package/dist/EmissionList-DCeUp8TW.mjs.map +1 -0
  214. package/dist/EmissionList-DJydSpE4.mjs.map +1 -0
  215. package/dist/EmissionList-WYL-BhnJ.mjs.map +1 -0
  216. package/dist/EmissionPage-B2oy9fmW.mjs.map +1 -0
  217. package/dist/EmissionPage-BG6RIWP2.mjs +322 -0
  218. package/dist/EmissionPage-BG6RIWP2.mjs.map +1 -0
  219. package/dist/EmissionPage-BTfSMrZf.mjs.map +1 -0
  220. package/dist/EmissionPage-BpAJ1yOV.mjs.map +1 -0
  221. package/dist/EmissionPage-BzQpG8xt.mjs.map +1 -0
  222. package/dist/EmissionPage-Cf529LJJ.mjs.map +1 -0
  223. package/dist/EmissionPage-CwwNOUrQ.mjs.map +1 -0
  224. package/dist/EmissionPage-DCdIpmQo.mjs.map +1 -0
  225. package/dist/EmissionPage-DFnA4TXs.mjs.map +1 -0
  226. package/dist/EmissionPlayerItem-C3gZhSS3.mjs.map +1 -0
  227. package/dist/EmissionPlayerItem-CX-QVZ9s.mjs.map +1 -0
  228. package/dist/EmissionPlayerItem-CmghDKRx.mjs.map +1 -0
  229. package/dist/EmissionPlayerItem-CoeKMQgN.mjs.map +1 -0
  230. package/dist/EmissionPlayerItem-CvoVh-dC.mjs +167 -0
  231. package/dist/EmissionPlayerItem-CvoVh-dC.mjs.map +1 -0
  232. package/dist/EmissionPlayerItem-D1Ebv-_R.mjs.map +1 -0
  233. package/dist/EmissionPlayerItem-D6BXdTio.mjs.map +1 -0
  234. package/dist/EmissionPresentationItem-B2PbYGuW.mjs +78 -0
  235. package/dist/EmissionPresentationItem-B2PbYGuW.mjs.map +1 -0
  236. package/dist/EmissionPresentationItem-BQo96is9.mjs.map +1 -0
  237. package/dist/EmissionPresentationItem-CC_LJc4L.mjs.map +1 -0
  238. package/dist/EmissionPresentationItem-CQvXZ8NH.mjs.map +1 -0
  239. package/dist/EmissionPresentationItem-DGNyBwfe.mjs.map +1 -0
  240. package/dist/EmissionPresentationItem-hWnX_Niv.mjs.map +1 -0
  241. package/dist/EmissionPresentationItem-qoHKghk0.mjs.map +1 -0
  242. package/dist/EmissionPresentationList-B2NzHsFl.mjs.map +1 -0
  243. package/dist/EmissionPresentationList-BQfeuKW5.mjs.map +1 -0
  244. package/dist/EmissionPresentationList-BXNJsC5t.mjs +125 -0
  245. package/dist/EmissionPresentationList-BXNJsC5t.mjs.map +1 -0
  246. package/dist/EmissionPresentationList-CHFD5_a2.mjs.map +1 -0
  247. package/dist/EmissionPresentationList-D0TKOmTK.mjs.map +1 -0
  248. package/dist/EmissionPresentationList-Ddvukpya.mjs.map +1 -0
  249. package/dist/EmissionPresentationList-DnnKYjsb.mjs.map +1 -0
  250. package/dist/EmissionsPage-4WdKVeuO.mjs.map +1 -0
  251. package/dist/EmissionsPage-A04HnSMy.mjs.map +1 -0
  252. package/dist/EmissionsPage-B1arrsZ7.mjs +199 -0
  253. package/dist/EmissionsPage-B1arrsZ7.mjs.map +1 -0
  254. package/dist/EmissionsPage-B6SUW-vO.mjs.map +1 -0
  255. package/dist/EmissionsPage-BvF7n3Yb.mjs.map +1 -0
  256. package/dist/EmissionsPage-CNFwsWQZ.mjs.map +1 -0
  257. package/dist/EmissionsPage-CduOfydR.mjs.map +1 -0
  258. package/dist/EmissionsPage-Cf94lGLe.mjs.map +1 -0
  259. package/dist/EmissionsPage-O86N2cgU.mjs.map +1 -0
  260. package/dist/Error403Page-B9KNl0uP.mjs.map +1 -0
  261. package/dist/Error403Page-BLJFuPG2.mjs.map +1 -0
  262. package/dist/Error403Page-BmdiuBiS.mjs.map +1 -0
  263. package/dist/Error403Page-Bpi0DQqg.mjs.map +1 -0
  264. package/dist/Error403Page-Bv-DWyb6.mjs +69 -0
  265. package/dist/Error403Page-Bv-DWyb6.mjs.map +1 -0
  266. package/dist/Error403Page-D4NmqstJ.mjs.map +1 -0
  267. package/dist/Error403Page-DO2cfKKn.mjs.map +1 -0
  268. package/dist/ErrorMessage-D2XAzxpC.mjs +44 -0
  269. package/dist/FooterGarSection-77dYJO_c.mjs +71 -0
  270. package/dist/FooterGarSection-77dYJO_c.mjs.map +1 -0
  271. package/dist/FooterGarSection-D4m9HB_o.mjs.map +1 -0
  272. package/dist/FooterGarSection-DQpsC2u3.mjs.map +1 -0
  273. package/dist/FooterGarSection-DVMJjVGm.mjs.map +1 -0
  274. package/dist/FooterGarSection-JoXm35Vy.mjs.map +1 -0
  275. package/dist/FooterGarSection-SpmxTFrf.mjs.map +1 -0
  276. package/dist/FooterGarSection-t4vNUGXJ.mjs.map +1 -0
  277. package/dist/FooterSection-B1hXBiqI.mjs +242 -0
  278. package/dist/FooterSection-B1hXBiqI.mjs.map +1 -0
  279. package/dist/FooterSection-BAJcoVwL.mjs.map +1 -0
  280. package/dist/FooterSection-Bq3lB2TI.mjs.map +1 -0
  281. package/dist/FooterSection-C5CqAdjV.mjs.map +1 -0
  282. package/dist/FooterSection-CsQxaQcK.mjs.map +1 -0
  283. package/dist/FooterSection-DuQdO0l0.mjs.map +1 -0
  284. package/dist/FooterSection-XGEgsnuF.mjs.map +1 -0
  285. package/dist/FooterSection-mtZULuem.mjs.map +1 -0
  286. package/dist/HomeDropdown-87gJP-lN.mjs +110 -0
  287. package/dist/HomeDropdown-87gJP-lN.mjs.map +1 -0
  288. package/dist/HomeDropdown-CDNruBUp.mjs.map +1 -0
  289. package/dist/HomeDropdown-COZXjE97.mjs.map +1 -0
  290. package/dist/HomeDropdown-CbsZFW4n.mjs.map +1 -0
  291. package/dist/HomeDropdown-CjYjgO1n.mjs.map +1 -0
  292. package/dist/HomeDropdown-CxQn-jPC.mjs.map +1 -0
  293. package/dist/HomeDropdown-DEIBKTqy.mjs.map +1 -0
  294. package/dist/HomePage-1jBFTx4x.mjs.map +1 -0
  295. package/dist/HomePage-B5guMcf_.mjs.map +1 -0
  296. package/dist/HomePage-BapL4kmy.mjs.map +1 -0
  297. package/dist/HomePage-Brr9jjcQ.mjs +166 -0
  298. package/dist/HomePage-Brr9jjcQ.mjs.map +1 -0
  299. package/dist/HomePage-C8nsZZ_c.mjs.map +1 -0
  300. package/dist/HomePage-CP_NQ_PF.mjs.map +1 -0
  301. package/dist/HomePage-DnHbPmY9.mjs.map +1 -0
  302. package/dist/HomePage-Dxhi0hWO.mjs.map +1 -0
  303. package/dist/HomePage-MPbx0_Rn.mjs.map +1 -0
  304. package/dist/LikeSection-1P9-7FQ5.mjs +167 -0
  305. package/dist/LikeSection-1P9-7FQ5.mjs.map +1 -0
  306. package/dist/LikeSection-BTmkwQD8.mjs.map +1 -0
  307. package/dist/LikeSection-BUY3_ffV.mjs.map +1 -0
  308. package/dist/LikeSection-B_WX9gZJ.mjs.map +1 -0
  309. package/dist/LikeSection-BaUfRdSh.mjs.map +1 -0
  310. package/dist/LikeSection-CComV07M.mjs.map +1 -0
  311. package/dist/LikeSection-Cdz0IJU0.mjs.map +1 -0
  312. package/dist/LikeSection-U8EqRJ-f.mjs.map +1 -0
  313. package/dist/ListPaginate-8oxuFw7s.mjs.map +1 -0
  314. package/dist/ListPaginate-Brg8Wr3w.mjs.map +1 -0
  315. package/dist/ListPaginate-CEgFM1e5.mjs +202 -0
  316. package/dist/ListPaginate-CEgFM1e5.mjs.map +1 -0
  317. package/dist/ListPaginate-COITr_yE.mjs.map +1 -0
  318. package/dist/ListPaginate-DdKoq0e5.mjs.map +1 -0
  319. package/dist/ListPaginate-FHXkQDy8.mjs.map +1 -0
  320. package/dist/ListPaginate-zVukPB6N.mjs.map +1 -0
  321. package/dist/LiveHorizontalList-7JGEvrpb.mjs.map +1 -0
  322. package/dist/LiveHorizontalList-B1SBPu5Q.mjs.map +1 -0
  323. package/dist/LiveHorizontalList-B2xa65mW.mjs.map +1 -0
  324. package/dist/LiveHorizontalList-BUvldEM0.mjs.map +1 -0
  325. package/dist/LiveHorizontalList-C1hlGGKj.mjs.map +1 -0
  326. package/dist/LiveHorizontalList-CE9LoLWi.mjs.map +1 -0
  327. package/dist/LiveHorizontalList-DPNeqKTt.mjs.map +1 -0
  328. package/dist/LiveHorizontalList-G4GVIv-L.mjs +136 -0
  329. package/dist/LiveHorizontalList-G4GVIv-L.mjs.map +1 -0
  330. package/dist/LiveHorizontalList-X8_qayl-.mjs.map +1 -0
  331. package/dist/LiveList-BbuHhQob.mjs.map +1 -0
  332. package/dist/LiveList-BiODr6Zp.mjs +324 -0
  333. package/dist/LiveList-BiODr6Zp.mjs.map +1 -0
  334. package/dist/LiveList-CPABb0tx.mjs.map +1 -0
  335. package/dist/LiveList-CR-jqjcU.mjs.map +1 -0
  336. package/dist/LiveList-DSogJX1N.mjs.map +1 -0
  337. package/dist/LiveList-DkZ1l2Xt.mjs.map +1 -0
  338. package/dist/LiveList-Dr_7cqG_.mjs.map +1 -0
  339. package/dist/LiveList-dc4ARAq2.mjs.map +1 -0
  340. package/dist/LiveList-oosaj9TJ.mjs.map +1 -0
  341. package/dist/LivesPage-BHmymrRD.mjs.map +1 -0
  342. package/dist/LivesPage-BPwVGQdv.mjs.map +1 -0
  343. package/dist/LivesPage-BfhAMY15.mjs.map +1 -0
  344. package/dist/LivesPage-CAa4XsJW.mjs.map +1 -0
  345. package/dist/LivesPage-CHLwG5gj.mjs.map +1 -0
  346. package/dist/LivesPage-DGA3L9AW.mjs.map +1 -0
  347. package/dist/LivesPage-DIjoqz-K.mjs.map +1 -0
  348. package/dist/LivesPage-LF5yGp4X.mjs.map +1 -0
  349. package/dist/LivesPage-vu6VOIIy.mjs +76 -0
  350. package/dist/LivesPage-vu6VOIIy.mjs.map +1 -0
  351. package/dist/MapPage-BAdp_uyS.mjs.map +1 -0
  352. package/dist/MapPage-BUwYdsZz.mjs.map +1 -0
  353. package/dist/MapPage-CP0LRWUV.mjs.map +1 -0
  354. package/dist/MapPage-DmEdjPRe.mjs +303 -0
  355. package/dist/MapPage-DmEdjPRe.mjs.map +1 -0
  356. package/dist/MapPage-Dr-Lo2xc.mjs.map +1 -0
  357. package/dist/MapPage-DsNW6bfn.mjs.map +1 -0
  358. package/dist/MapPage-acIILN8p.mjs.map +1 -0
  359. package/dist/MobileMenu-B8KrEHS7.mjs.map +1 -0
  360. package/dist/MobileMenu-BBX4HKwH.mjs.map +1 -0
  361. package/dist/MobileMenu-Bz6UhLWC.mjs.map +1 -0
  362. package/dist/MobileMenu-C3Ti4eGr.mjs.map +1 -0
  363. package/dist/MobileMenu-C4rmAeeO.mjs.map +1 -0
  364. package/dist/MobileMenu-D_oFeqsX.mjs.map +1 -0
  365. package/dist/MobileMenu-xNe7tNdx.mjs +187 -0
  366. package/dist/MobileMenu-xNe7tNdx.mjs.map +1 -0
  367. package/dist/NewsletterModal-C0yXR-kQ.mjs.map +1 -0
  368. package/dist/NewsletterModal-Cdyqy09L.mjs.map +1 -0
  369. package/dist/NewsletterModal-D586dru6.mjs.map +1 -0
  370. package/dist/NewsletterModal-DNrt2N6S.mjs.map +1 -0
  371. package/dist/NewsletterModal-LqgD6CbF.mjs +82 -0
  372. package/dist/NewsletterModal-LqgD6CbF.mjs.map +1 -0
  373. package/dist/NewsletterModal-nsrnL-nQ.mjs.map +1 -0
  374. package/dist/NewsletterModal-uv5C55km.mjs.map +1 -0
  375. package/dist/OrganisationChooser-BiNMu3dn.mjs +190 -0
  376. package/dist/OrganisationChooser-BiNMu3dn.mjs.map +1 -0
  377. package/dist/OrganisationChooser-CTkEs5Lk.mjs.map +1 -0
  378. package/dist/OrganisationChooser-D2PVq36_.mjs.map +1 -0
  379. package/dist/OrganisationChooser-D4pgbdT9.mjs.map +1 -0
  380. package/dist/OrganisationChooser-Df1zfiwF.mjs.map +1 -0
  381. package/dist/OrganisationChooser-DsfCK19O.mjs.map +1 -0
  382. package/dist/OrganisationChooser-RBwmBNhI.mjs.map +1 -0
  383. package/dist/OrganisationChooserLight-BJwIMZ6G.mjs +84 -0
  384. package/dist/OrganisationChooserLight-BJwIMZ6G.mjs.map +1 -0
  385. package/dist/OrganisationChooserLight-BsmG2mng.mjs.map +1 -0
  386. package/dist/OrganisationChooserLight-C1VGVe3p.mjs.map +1 -0
  387. package/dist/OrganisationChooserLight-CP3_D7XA.mjs.map +1 -0
  388. package/dist/OrganisationChooserLight-DI8OeLkm.mjs.map +1 -0
  389. package/dist/OrganisationChooserLight-Dpi7pho1.mjs.map +1 -0
  390. package/dist/OrganisationChooserLight-DyisKiU3.mjs.map +1 -0
  391. package/dist/PageNotFound-5He9oK3T.mjs.map +1 -0
  392. package/dist/PageNotFound-BILSb0NS.mjs.map +1 -0
  393. package/dist/PageNotFound-C-HodkyM.mjs.map +1 -0
  394. package/dist/PageNotFound-CJmz7PmV.mjs.map +1 -0
  395. package/dist/PageNotFound-ChQf6Ngj.mjs +58 -0
  396. package/dist/PageNotFound-ChQf6Ngj.mjs.map +1 -0
  397. package/dist/PageNotFound-D8OzzGBQ.mjs.map +1 -0
  398. package/dist/PageNotFound-Dl4pr9W6.mjs.map +1 -0
  399. package/dist/ParticipantInlineList-BEnBWVWR.mjs.map +1 -0
  400. package/dist/ParticipantInlineList-C0nBiyWg.mjs.map +1 -0
  401. package/dist/ParticipantInlineList-CRBcuszy.mjs.map +1 -0
  402. package/dist/ParticipantInlineList-CcCfd9rJ.mjs +117 -0
  403. package/dist/ParticipantInlineList-CcCfd9rJ.mjs.map +1 -0
  404. package/dist/ParticipantInlineList-Cnqgz2lu.mjs.map +1 -0
  405. package/dist/ParticipantInlineList-CrEivwtQ.mjs.map +1 -0
  406. package/dist/ParticipantInlineList-DR2ZAj4I.mjs.map +1 -0
  407. package/dist/ParticipantInlineList-NKPnosX0.mjs.map +1 -0
  408. package/dist/ParticipantInlineList-tRiCRhZT.mjs.map +1 -0
  409. package/dist/ParticipantItem-BUux9Sod.mjs.map +1 -0
  410. package/dist/ParticipantItem-Bo3lOYet.mjs.map +1 -0
  411. package/dist/ParticipantItem-CQkg9uA2.mjs.map +1 -0
  412. package/dist/ParticipantItem-CYD8mFKj.mjs.map +1 -0
  413. package/dist/ParticipantItem-Ch4_98y_.mjs +138 -0
  414. package/dist/ParticipantItem-Ch4_98y_.mjs.map +1 -0
  415. package/dist/ParticipantItem-Duf1Dqiy.mjs.map +1 -0
  416. package/dist/ParticipantItem-Py7gMJEO.mjs.map +1 -0
  417. package/dist/ParticipantItem-cWDpHBmw.mjs.map +1 -0
  418. package/dist/ParticipantItem-sU3HvxsO.mjs.map +1 -0
  419. package/dist/ParticipantPage-BjbzvT79.mjs.map +1 -0
  420. package/dist/ParticipantPage-CFOmsr7J.mjs.map +1 -0
  421. package/dist/ParticipantPage-CJF_q763.mjs.map +1 -0
  422. package/dist/ParticipantPage-CayKwqJR.mjs.map +1 -0
  423. package/dist/ParticipantPage-Cc6c48Re.mjs.map +1 -0
  424. package/dist/ParticipantPage-D-47wU1r.mjs.map +1 -0
  425. package/dist/ParticipantPage-DhEts9Fb.mjs.map +1 -0
  426. package/dist/ParticipantPage-DkQssmwq.mjs.map +1 -0
  427. package/dist/ParticipantPage-DtAxvp2W.mjs +203 -0
  428. package/dist/ParticipantPage-DtAxvp2W.mjs.map +1 -0
  429. package/dist/ParticipantsPage-BQWxk0kn.mjs.map +1 -0
  430. package/dist/ParticipantsPage-ByDJNNQP.mjs.map +1 -0
  431. package/dist/ParticipantsPage-BzdpZCDO.mjs +262 -0
  432. package/dist/ParticipantsPage-BzdpZCDO.mjs.map +1 -0
  433. package/dist/ParticipantsPage-C0zCaBAN.mjs.map +1 -0
  434. package/dist/ParticipantsPage-CMlr61eA.mjs.map +1 -0
  435. package/dist/ParticipantsPage-COkwBD_g.mjs.map +1 -0
  436. package/dist/ParticipantsPage-CxOpIszl.mjs.map +1 -0
  437. package/dist/ParticipantsPage-DbCJ_xh8.mjs.map +1 -0
  438. package/dist/ParticipantsPage-lPPbUyo7.mjs.map +1 -0
  439. package/dist/PlayerAnonymousModal-7vjldHzL.mjs.map +1 -0
  440. package/dist/PlayerAnonymousModal-BKSUU6ln.mjs.map +1 -0
  441. package/dist/PlayerAnonymousModal-BKaI6E9o.mjs +84 -0
  442. package/dist/PlayerAnonymousModal-BKaI6E9o.mjs.map +1 -0
  443. package/dist/PlayerAnonymousModal-BtghKP8M.mjs.map +1 -0
  444. package/dist/PlayerAnonymousModal-Bz_vt6vZ.mjs.map +1 -0
  445. package/dist/PlayerAnonymousModal-CnKXq6ez.mjs.map +1 -0
  446. package/dist/PlayerAnonymousModal-ZqyARAv3.mjs.map +1 -0
  447. package/dist/PlayerCompact-B-WRNyqn.mjs +209 -0
  448. package/dist/PlayerCompact-B-WRNyqn.mjs.map +1 -0
  449. package/dist/PlayerCompact-B-x6J7cl.mjs.map +1 -0
  450. package/dist/PlayerCompact-BzcQcgqX.mjs.map +1 -0
  451. package/dist/PlayerCompact-CcRdWagH.mjs.map +1 -0
  452. package/dist/PlayerCompact-D2p0ZIHQ.mjs.map +1 -0
  453. package/dist/PlayerCompact-aIbQLF3h.mjs.map +1 -0
  454. package/dist/PlayerCompact-gWt2fJaQ.mjs.map +1 -0
  455. package/dist/PlayerComponent-BzlYi_Ow.mjs.map +1 -0
  456. package/dist/PlayerComponent-CBZxYTU1.mjs.map +1 -0
  457. package/dist/PlayerComponent-CUHTRJic.mjs +929 -0
  458. package/dist/PlayerComponent-CUHTRJic.mjs.map +1 -0
  459. package/dist/PlayerComponent-D2h1w9z5.mjs.map +1 -0
  460. package/dist/PlayerComponent-D4U1OmjB.mjs.map +1 -0
  461. package/dist/PlayerComponent-Dnqs6S8R.mjs.map +1 -0
  462. package/dist/PlayerComponent-ZTo5F4BH.mjs.map +1 -0
  463. package/dist/PlayerLarge-2ekd361u.mjs.map +1 -0
  464. package/dist/PlayerLarge-BisiuTbM.mjs.map +1 -0
  465. package/dist/PlayerLarge-Cujee7Yx.mjs.map +1 -0
  466. package/dist/PlayerLarge-DUX0TfTs.mjs.map +1 -0
  467. package/dist/PlayerLarge-DmbtYNNk.mjs.map +1 -0
  468. package/dist/PlayerLarge-Kt-pV6N_.mjs +190 -0
  469. package/dist/PlayerLarge-Kt-pV6N_.mjs.map +1 -0
  470. package/dist/PlayerLarge-qjnmbVOv.mjs.map +1 -0
  471. package/dist/PlayerPlayButton-BPsfZCY3.mjs.map +1 -0
  472. package/dist/PlayerPlayButton-CAElMmMV.mjs +400 -0
  473. package/dist/PlayerPlayButton-CAElMmMV.mjs.map +1 -0
  474. package/dist/PlayerPlayButton-CCjszcz0.mjs.map +1 -0
  475. package/dist/PlayerPlayButton-Ch13_VDS.mjs.map +1 -0
  476. package/dist/PlayerPlayButton-Cyrw_cga.mjs.map +1 -0
  477. package/dist/PlayerPlayButton-XWMj19eH.mjs.map +1 -0
  478. package/dist/PlayerPlayButton-pCY5tl9N.mjs.map +1 -0
  479. package/dist/PlayerProgressBar-BAOBWS7y.mjs.map +1 -0
  480. package/dist/PlayerProgressBar-Bx_i6wnH.mjs.map +1 -0
  481. package/dist/PlayerProgressBar-CwMFzYDi.mjs.map +1 -0
  482. package/dist/PlayerProgressBar-D-cNkJmu.mjs.map +1 -0
  483. package/dist/PlayerProgressBar-DWAyhBWx.mjs +86 -0
  484. package/dist/PlayerProgressBar-DWAyhBWx.mjs.map +1 -0
  485. package/dist/PlayerProgressBar-Drigrm0o.mjs.map +1 -0
  486. package/dist/PlayerProgressBar-MfOUpxGI.mjs.map +1 -0
  487. package/dist/PlayerStore-7LlyIvl0.mjs.map +1 -0
  488. package/dist/PlayerStore-7vhL8Npe.mjs +230 -0
  489. package/dist/PlayerStore-7vhL8Npe.mjs.map +1 -0
  490. package/dist/PlayerStore-B6kwXQZ8.mjs.map +1 -0
  491. package/dist/PlayerStore-BvkLLLst.mjs.map +1 -0
  492. package/dist/PlayerStore-C1tm0Oar.mjs.map +1 -0
  493. package/dist/PlayerStore-DZiDRLQN.mjs.map +1 -0
  494. package/dist/PlayerStore-kuZWcb-U.mjs.map +1 -0
  495. package/dist/PlayerVideo-7nnfCTlR.mjs.map +1 -0
  496. package/dist/PlayerVideo-BofTa3uM.mjs.map +1 -0
  497. package/dist/PlayerVideo-BtkR6jg2.mjs.map +1 -0
  498. package/dist/PlayerVideo-CG_vQWU0.mjs.map +1 -0
  499. package/dist/PlayerVideo-CJ9eefTe.mjs.map +1 -0
  500. package/dist/PlayerVideo-Dq7OHOig.mjs +72 -0
  501. package/dist/PlayerVideo-Dq7OHOig.mjs.map +1 -0
  502. package/dist/PlayerVideo-DqT3hB5y.mjs.map +1 -0
  503. package/dist/PlayerVideoDigiteka-BFLGMVo-.mjs.map +1 -0
  504. package/dist/PlayerVideoDigiteka-CAmI0Em3.mjs.map +1 -0
  505. package/dist/PlayerVideoDigiteka-Cy0L4YOd.mjs.map +1 -0
  506. package/dist/PlayerVideoDigiteka-DnNkrWIT.mjs.map +1 -0
  507. package/dist/PlayerVideoDigiteka-Dt73T6Qs.mjs.map +1 -0
  508. package/dist/PlayerVideoDigiteka-Dud6Y4wc.mjs.map +1 -0
  509. package/dist/PlayerVideoDigiteka-pNFWNrON.mjs +102 -0
  510. package/dist/PlayerVideoDigiteka-pNFWNrON.mjs.map +1 -0
  511. package/dist/PlayerVideoHls-BDDiwxGb.mjs.map +1 -0
  512. package/dist/PlayerVideoHls-CE2SIkEn.mjs +232 -0
  513. package/dist/PlayerVideoHls-CE2SIkEn.mjs.map +1 -0
  514. package/dist/PlayerVideoHls-CoK72Ry1.mjs.map +1 -0
  515. package/dist/PlayerVideoHls-D-nrZlVs.mjs.map +1 -0
  516. package/dist/PlayerVideoHls-cotysRp5.mjs.map +1 -0
  517. package/dist/PlayerVideoHls-jOa02CyD.mjs.map +1 -0
  518. package/dist/PlayerVideoHls-k_3vIV-3.mjs.map +1 -0
  519. package/dist/PlaylistPage-BZx9ojty.mjs.map +1 -0
  520. package/dist/PlaylistPage-CBWEAkDm.mjs.map +1 -0
  521. package/dist/PlaylistPage-Cb5ukqXZ.mjs +228 -0
  522. package/dist/PlaylistPage-Cb5ukqXZ.mjs.map +1 -0
  523. package/dist/PlaylistPage-Cv15l4gs.mjs.map +1 -0
  524. package/dist/PlaylistPage-D6OVQKg7.mjs.map +1 -0
  525. package/dist/PlaylistPage-D__PNCOf.mjs.map +1 -0
  526. package/dist/PlaylistPage-Jv5rPWTt.mjs.map +1 -0
  527. package/dist/PlaylistPage-Le2dLhgP.mjs.map +1 -0
  528. package/dist/PlaylistPage-Tbq77bN4.mjs.map +1 -0
  529. package/dist/PlaylistsPage-BSD4BZop.mjs.map +1 -0
  530. package/dist/PlaylistsPage-C_aZ8Lzc.mjs.map +1 -0
  531. package/dist/PlaylistsPage-D8YgTvxe.mjs.map +1 -0
  532. package/dist/PlaylistsPage-DAVADzhL.mjs +395 -0
  533. package/dist/PlaylistsPage-DAVADzhL.mjs.map +1 -0
  534. package/dist/PlaylistsPage-DkkPMbPD.mjs.map +1 -0
  535. package/dist/PlaylistsPage-MqIyXNlI.mjs.map +1 -0
  536. package/dist/PlaylistsPage-W-eroSMe.mjs.map +1 -0
  537. package/dist/PodcastFilterList-CPtCzU9P.mjs.map +1 -0
  538. package/dist/PodcastFilterList-CmqrA2oC.mjs +254 -0
  539. package/dist/PodcastFilterList-CmqrA2oC.mjs.map +1 -0
  540. package/dist/PodcastFilterList-Co_yncww.mjs.map +1 -0
  541. package/dist/PodcastFilterList-CqqSn_UR.mjs.map +1 -0
  542. package/dist/PodcastFilterList-CsN5tLJ5.mjs.map +1 -0
  543. package/dist/PodcastFilterList-DluBCeUz.mjs.map +1 -0
  544. package/dist/PodcastFilterList-DooOZgn6.mjs.map +1 -0
  545. package/dist/PodcastFilterList-Dt-zeKoY.mjs.map +1 -0
  546. package/dist/PodcastFilterList-ScEWo73F.mjs.map +1 -0
  547. package/dist/PodcastImage-BeXlZu-M.mjs.map +1 -0
  548. package/dist/PodcastImage-C0y1-_Ef.mjs.map +1 -0
  549. package/dist/PodcastImage-C21I_lnU.mjs.map +1 -0
  550. package/dist/PodcastImage-CWKY72t1.mjs.map +1 -0
  551. package/dist/PodcastImage-CbOp5HBb.mjs.map +1 -0
  552. package/dist/PodcastImage-DamlmvBn.mjs.map +1 -0
  553. package/dist/PodcastImage-DsU_qbcI.mjs.map +1 -0
  554. package/dist/PodcastImage-FhC5F4MR.mjs +174 -0
  555. package/dist/PodcastImage-FhC5F4MR.mjs.map +1 -0
  556. package/dist/PodcastImage-fBx9FmaM.mjs.map +1 -0
  557. package/dist/PodcastInlineList-4uf55RGp.mjs.map +1 -0
  558. package/dist/PodcastInlineList-BFe-4rfk.mjs.map +1 -0
  559. package/dist/PodcastInlineList-BP-eXViR.mjs.map +1 -0
  560. package/dist/PodcastInlineList-CDumc8n6.mjs +138 -0
  561. package/dist/PodcastInlineList-CDumc8n6.mjs.map +1 -0
  562. package/dist/PodcastInlineList-CMLSSgCl.mjs.map +1 -0
  563. package/dist/PodcastInlineList-CoLPUU1O.mjs.map +1 -0
  564. package/dist/PodcastInlineList-DVEOw_jZ.mjs.map +1 -0
  565. package/dist/PodcastInlineList-NuchUq3F.mjs.map +1 -0
  566. package/dist/PodcastInlineList-TrVj1WsC.mjs.map +1 -0
  567. package/dist/PodcastInlineListTemplate-Bif2XHIx.mjs.map +1 -0
  568. package/dist/PodcastInlineListTemplate-CB3uZjwS.mjs +233 -0
  569. package/dist/PodcastInlineListTemplate-CB3uZjwS.mjs.map +1 -0
  570. package/dist/PodcastInlineListTemplate-CiXIYnv7.mjs.map +1 -0
  571. package/dist/PodcastInlineListTemplate-CpLRagzE.mjs.map +1 -0
  572. package/dist/PodcastInlineListTemplate-D9_3zHeM.mjs.map +1 -0
  573. package/dist/PodcastInlineListTemplate-DJSNNFOh.mjs.map +1 -0
  574. package/dist/PodcastInlineListTemplate-PnoLyihJ.mjs.map +1 -0
  575. package/dist/PodcastIsPlaying-640MMTTV.mjs.map +1 -0
  576. package/dist/PodcastIsPlaying-BfKDPivV.mjs.map +1 -0
  577. package/dist/PodcastIsPlaying-CjnQmJ0x.mjs.map +1 -0
  578. package/dist/PodcastIsPlaying-DMXKbEjS.mjs.map +1 -0
  579. package/dist/PodcastIsPlaying-DpUjmLlW.mjs.map +1 -0
  580. package/dist/PodcastIsPlaying-DqnPEYSJ.mjs +30 -0
  581. package/dist/PodcastIsPlaying-DqnPEYSJ.mjs.map +1 -0
  582. package/dist/PodcastIsPlaying-j9a5pcJu.mjs.map +1 -0
  583. package/dist/PodcastItem-B2omNjKA.mjs.map +1 -0
  584. package/dist/PodcastItem-BTKSsuZY.mjs.map +1 -0
  585. package/dist/PodcastItem-BUe2ZVg7.mjs.map +1 -0
  586. package/dist/PodcastItem-DlzucX-c.mjs.map +1 -0
  587. package/dist/PodcastItem-DqcitfgD.mjs.map +1 -0
  588. package/dist/PodcastItem-_eKhUVGk.mjs.map +1 -0
  589. package/dist/PodcastItem-a9u75Wpq.mjs.map +1 -0
  590. package/dist/PodcastItem-cssDzcpa.mjs.map +1 -0
  591. package/dist/PodcastItem-rF33x3wp.mjs +287 -0
  592. package/dist/PodcastItem-rF33x3wp.mjs.map +1 -0
  593. package/dist/PodcastList-3w_q0Qic.mjs.map +1 -0
  594. package/dist/PodcastList-5vsIa70L.mjs.map +1 -0
  595. package/dist/PodcastList-ATGmVU1-.mjs.map +1 -0
  596. package/dist/PodcastList-B20GtO2V.mjs.map +1 -0
  597. package/dist/PodcastList-BSKlfx8q.mjs.map +1 -0
  598. package/dist/PodcastList-BV902l6U.mjs.map +1 -0
  599. package/dist/PodcastList-BWYRh4OU.mjs.map +1 -0
  600. package/dist/PodcastList-BewxderG.mjs +330 -0
  601. package/dist/PodcastList-BewxderG.mjs.map +1 -0
  602. package/dist/PodcastList-CHOZ5sWV.mjs.map +1 -0
  603. package/dist/PodcastList-CMATMgPs.mjs.map +1 -0
  604. package/dist/PodcastList-CzAh_ZPT.mjs.map +1 -0
  605. package/dist/PodcastList-DYLAwHbt.mjs +182 -0
  606. package/dist/PodcastList-DYLAwHbt.mjs.map +1 -0
  607. package/dist/PodcastList-Dxg8A4ui.mjs.map +1 -0
  608. package/dist/PodcastList-NQ0QF4lo.mjs.map +1 -0
  609. package/dist/PodcastList-TLe8ef1p.mjs.map +1 -0
  610. package/dist/PodcastList-aeKPA2Pa.mjs.map +1 -0
  611. package/dist/PodcastList-w8j9w3A3.mjs.map +1 -0
  612. package/dist/PodcastList-zLoXrLjM.mjs.map +1 -0
  613. package/dist/PodcastPage-7TvhRhNY.mjs.map +1 -0
  614. package/dist/PodcastPage-9LBDV577.mjs.map +1 -0
  615. package/dist/PodcastPage-ASnAv0Hy.mjs.map +1 -0
  616. package/dist/PodcastPage-B8AKWW1N.mjs.map +1 -0
  617. package/dist/PodcastPage-BHnY1AyE.mjs.map +1 -0
  618. package/dist/PodcastPage-BOuG5LyA.mjs.map +1 -0
  619. package/dist/PodcastPage-BvRTyXh8.mjs.map +1 -0
  620. package/dist/PodcastPage-BwzigA-q.mjs.map +1 -0
  621. package/dist/PodcastPage-CQvLnC1G.mjs.map +1 -0
  622. package/dist/PodcastPage-C_8OMBPC.mjs.map +1 -0
  623. package/dist/PodcastPage-C_Eg4Zbc.mjs.map +1 -0
  624. package/dist/PodcastPage-CbwfzcE9.mjs.map +1 -0
  625. package/dist/PodcastPage-CgjKlSvp.mjs.map +1 -0
  626. package/dist/PodcastPage-CrF52JIi.mjs.map +1 -0
  627. package/dist/PodcastPage-Culwyrcp.mjs.map +1 -0
  628. package/dist/PodcastPage-D8kQEHyz.mjs.map +1 -0
  629. package/dist/PodcastPage-DPXR-5-z.mjs.map +1 -0
  630. package/dist/PodcastPage-DStxOLRd.mjs.map +1 -0
  631. package/dist/PodcastPage-DcvotAob.mjs.map +1 -0
  632. package/dist/PodcastPage-DlZWXScN.mjs.map +1 -0
  633. package/dist/PodcastPage-DoUwareI.mjs.map +1 -0
  634. package/dist/PodcastPage-NMZSFjQm.mjs +756 -0
  635. package/dist/PodcastPage-NMZSFjQm.mjs.map +1 -0
  636. package/dist/PodcastPage-V1XY5ICb.mjs.map +1 -0
  637. package/dist/PodcastPage-fC-hXh-c.mjs.map +1 -0
  638. package/dist/PodcastPage-k8D3U82P.mjs.map +1 -0
  639. package/dist/PodcastPage-wTylVERN.mjs.map +1 -0
  640. package/dist/PodcastPage-xjk1WBAv.mjs.map +1 -0
  641. package/dist/PodcastPlayBar-BEyKbC22.mjs.map +1 -0
  642. package/dist/PodcastPlayBar-Cggx8A-d.mjs.map +1 -0
  643. package/dist/PodcastPlayBar-DHIXjuJO.mjs.map +1 -0
  644. package/dist/PodcastPlayBar-D_b7qme_.mjs +83 -0
  645. package/dist/PodcastPlayBar-D_b7qme_.mjs.map +1 -0
  646. package/dist/PodcastPlayBar-N3TwfXUo.mjs.map +1 -0
  647. package/dist/PodcastPlayBar-_e0LCcGd.mjs.map +1 -0
  648. package/dist/PodcastPlayBar-lojf3mqg.mjs.map +1 -0
  649. package/dist/PodcastPlayBasicButton-BoFyO-5v.mjs.map +1 -0
  650. package/dist/PodcastPlayBasicButton-Br9wqAv7.mjs +72 -0
  651. package/dist/PodcastPlayBasicButton-Br9wqAv7.mjs.map +1 -0
  652. package/dist/PodcastPlayBasicButton-Ca7KCiwF.mjs.map +1 -0
  653. package/dist/PodcastPlayBasicButton-Cot0Hw7f.mjs.map +1 -0
  654. package/dist/PodcastPlayBasicButton-CuRUgSxj.mjs.map +1 -0
  655. package/dist/PodcastPlayBasicButton-D2RrMC3u.mjs.map +1 -0
  656. package/dist/PodcastPlayBasicButton-KJRkgfDO.mjs.map +1 -0
  657. package/dist/PodcastPlayButton-BE6hVdpb.mjs.map +1 -0
  658. package/dist/PodcastPlayButton-BL06-DcD.mjs.map +1 -0
  659. package/dist/PodcastPlayButton-CIlav88-.mjs.map +1 -0
  660. package/dist/PodcastPlayButton-CfbXWla-.mjs.map +1 -0
  661. package/dist/PodcastPlayButton-CkUupm2O.mjs.map +1 -0
  662. package/dist/PodcastPlayButton-Cwh7588y.mjs.map +1 -0
  663. package/dist/PodcastPlayButton-Dgv5W72_.mjs +236 -0
  664. package/dist/PodcastPlayButton-Dgv5W72_.mjs.map +1 -0
  665. package/dist/PodcastPlayButton-DwKPWtV0.mjs.map +1 -0
  666. package/dist/PodcastPlayButton-vspf9u4U.mjs.map +1 -0
  667. package/dist/PodcastPlaylistInlineList-B3cji_kZ.mjs.map +1 -0
  668. package/dist/PodcastPlaylistInlineList-BdfZY6Bi.mjs.map +1 -0
  669. package/dist/PodcastPlaylistInlineList-BxUy7Yg7.mjs.map +1 -0
  670. package/dist/PodcastPlaylistInlineList-C3khc2NN.mjs.map +1 -0
  671. package/dist/PodcastPlaylistInlineList-CQF7SZ6j.mjs.map +1 -0
  672. package/dist/PodcastPlaylistInlineList-D8VLeO5u.mjs.map +1 -0
  673. package/dist/PodcastPlaylistInlineList-D9PS9Z2X.mjs.map +1 -0
  674. package/dist/PodcastPlaylistInlineList-WISkRxKn.mjs.map +1 -0
  675. package/dist/PodcastPlaylistInlineList-YDhy9TvO.mjs +115 -0
  676. package/dist/PodcastPlaylistInlineList-YDhy9TvO.mjs.map +1 -0
  677. package/dist/PodcastPresentationList-6ZP8AnoX.mjs.map +1 -0
  678. package/dist/PodcastPresentationList-AP-ZURmT.mjs.map +1 -0
  679. package/dist/PodcastPresentationList-BC6cS2jK.mjs.map +1 -0
  680. package/dist/PodcastPresentationList-BfakxuQt.mjs.map +1 -0
  681. package/dist/PodcastPresentationList-CfsRs5zo.mjs.map +1 -0
  682. package/dist/PodcastPresentationList-Crr-1ywF.mjs.map +1 -0
  683. package/dist/PodcastPresentationList-Cvn11sIu.mjs.map +1 -0
  684. package/dist/PodcastPresentationList-DxUwH3dU.mjs +200 -0
  685. package/dist/PodcastPresentationList-DxUwH3dU.mjs.map +1 -0
  686. package/dist/PodcastPresentationList-V-rJhaqG.mjs.map +1 -0
  687. package/dist/PodcastProgressBar-BBwzkXWn.mjs.map +1 -0
  688. package/dist/PodcastProgressBar-C2Kbdsds.mjs.map +1 -0
  689. package/dist/PodcastProgressBar-CxWDWvG2.mjs.map +1 -0
  690. package/dist/PodcastProgressBar-DY-PA2H4.mjs.map +1 -0
  691. package/dist/PodcastProgressBar-D_togvfJ.mjs +98 -0
  692. package/dist/PodcastProgressBar-D_togvfJ.mjs.map +1 -0
  693. package/dist/PodcastProgressBar-lNHC70cW.mjs.map +1 -0
  694. package/dist/PodcastProgressBar-n2ASk6Jr.mjs.map +1 -0
  695. package/dist/PodcastRawTranscript-BXaXSOG0.mjs.map +1 -0
  696. package/dist/PodcastRawTranscript-Bp-DCioJ.mjs.map +1 -0
  697. package/dist/PodcastRawTranscript-CHnE4Q9g.mjs +184 -0
  698. package/dist/PodcastRawTranscript-CHnE4Q9g.mjs.map +1 -0
  699. package/dist/PodcastRawTranscript-Cl5YD7_I.mjs.map +1 -0
  700. package/dist/PodcastRawTranscript-D2eMeI5k.mjs.map +1 -0
  701. package/dist/PodcastRawTranscript-DyHxxFrC.mjs.map +1 -0
  702. package/dist/PodcastRawTranscript-yTs0EUKz.mjs.map +1 -0
  703. package/dist/PodcastRubriqueList-BSqs8IWw.mjs.map +1 -0
  704. package/dist/PodcastRubriqueList-BoQ3r-hl.mjs.map +1 -0
  705. package/dist/PodcastRubriqueList-D6UwV3RM.mjs.map +1 -0
  706. package/dist/PodcastRubriqueList-DHWcZB1k.mjs.map +1 -0
  707. package/dist/PodcastRubriqueList-DQhU9j2T.mjs.map +1 -0
  708. package/dist/PodcastRubriqueList-DqHgAzXW.mjs +83 -0
  709. package/dist/PodcastRubriqueList-DqHgAzXW.mjs.map +1 -0
  710. package/dist/PodcastRubriqueList-MKouh9FT.mjs.map +1 -0
  711. package/dist/PodcastSwiperList-BIlusV0y.mjs.map +1 -0
  712. package/dist/PodcastSwiperList-BcOEmb2L.mjs.map +1 -0
  713. package/dist/PodcastSwiperList-Bcl4Sr87.mjs.map +1 -0
  714. package/dist/PodcastSwiperList-CHiE_5Np.mjs.map +1 -0
  715. package/dist/PodcastSwiperList-CW7KHrXE.mjs.map +1 -0
  716. package/dist/PodcastSwiperList-CZ0_rjSj.mjs.map +1 -0
  717. package/dist/PodcastSwiperList-DlOf7qj-.mjs.map +1 -0
  718. package/dist/PodcastSwiperList-DwAm99HI.mjs.map +1 -0
  719. package/dist/PodcastSwiperList-PoinXUn2.mjs +219 -0
  720. package/dist/PodcastSwiperList-PoinXUn2.mjs.map +1 -0
  721. package/dist/PodcastmakerHeader-3PeM3wyF.mjs.map +1 -0
  722. package/dist/PodcastmakerHeader-BC7yZTRo.mjs.map +1 -0
  723. package/dist/PodcastmakerHeader-BVeOsj4_.mjs.map +1 -0
  724. package/dist/PodcastmakerHeader-C-vkFOcc.mjs.map +1 -0
  725. package/dist/PodcastmakerHeader-CLPAECC5.mjs.map +1 -0
  726. package/dist/PodcastmakerHeader-CTOmo93E.mjs +58 -0
  727. package/dist/PodcastmakerHeader-CTOmo93E.mjs.map +1 -0
  728. package/dist/PodcastmakerHeader-DOD21_py.mjs.map +1 -0
  729. package/dist/PodcastsPage-234XpWuj.mjs.map +1 -0
  730. package/dist/PodcastsPage-B1JUH1co.mjs +217 -0
  731. package/dist/PodcastsPage-B1JUH1co.mjs.map +1 -0
  732. package/dist/PodcastsPage-BNc0uI4a.mjs.map +1 -0
  733. package/dist/PodcastsPage-C601uah1.mjs.map +1 -0
  734. package/dist/PodcastsPage-CJHRB5IS.mjs.map +1 -0
  735. package/dist/PodcastsPage-Cp5g1lhW.mjs.map +1 -0
  736. package/dist/PodcastsPage-D7jjbbx6.mjs.map +1 -0
  737. package/dist/PodcastsPage-T8kmqhD6.mjs.map +1 -0
  738. package/dist/PodcastsPage-xZGU98Tj.mjs.map +1 -0
  739. package/dist/ProductorSearch-CTMYAxKp.mjs.map +1 -0
  740. package/dist/ProductorSearch-CeZ-1cW7.mjs.map +1 -0
  741. package/dist/ProductorSearch-D4fWcKog.mjs.map +1 -0
  742. package/dist/ProductorSearch-DCH0mawe.mjs.map +1 -0
  743. package/dist/ProductorSearch-DEQwq8Qp.mjs.map +1 -0
  744. package/dist/ProductorSearch-XQ1jGYQw.mjs +161 -0
  745. package/dist/ProductorSearch-XQ1jGYQw.mjs.map +1 -0
  746. package/dist/ProductorSearch-xyzEQY1e.mjs.map +1 -0
  747. package/dist/ProgressBar-6lP5chZK.mjs.map +1 -0
  748. package/dist/ProgressBar-Bt-AMFne.mjs.map +1 -0
  749. package/dist/ProgressBar-ButRLZKn.mjs.map +1 -0
  750. package/dist/ProgressBar-CyddCXNJ.mjs +158 -0
  751. package/dist/ProgressBar-CyddCXNJ.mjs.map +1 -0
  752. package/dist/ProgressBar-DSMOh1wT.mjs.map +1 -0
  753. package/dist/ProgressBar-NFkInTLb.mjs.map +1 -0
  754. package/dist/ProgressBar-Z51T1XCf.mjs.map +1 -0
  755. package/dist/QrCode-20OgUzN2.mjs.map +1 -0
  756. package/dist/QrCode-6ZkgX9Ta.mjs +177 -0
  757. package/dist/QrCode-6ZkgX9Ta.mjs.map +1 -0
  758. package/dist/QrCode-Bc2uQc55.mjs.map +1 -0
  759. package/dist/QrCode-CeV2SpH9.mjs.map +1 -0
  760. package/dist/QrCode-Do-uF9l1.mjs.map +1 -0
  761. package/dist/QrCode-LWqUFrdO.mjs.map +1 -0
  762. package/dist/QrCode-pbaY5gW1.mjs.map +1 -0
  763. package/dist/QrCodeModal-BHfET22K.mjs.map +1 -0
  764. package/dist/QrCodeModal-BNVatZWE.mjs +64 -0
  765. package/dist/QrCodeModal-BNVatZWE.mjs.map +1 -0
  766. package/dist/QrCodeModal-DFfNl0fW.mjs.map +1 -0
  767. package/dist/QrCodeModal-DemrNflK.mjs.map +1 -0
  768. package/dist/QrCodeModal-Do265wVe.mjs.map +1 -0
  769. package/dist/QrCodeModal-NiYU4p1I.mjs.map +1 -0
  770. package/dist/QrCodeModal-wRXhUjGf.mjs.map +1 -0
  771. package/dist/RadioCurrently-BFAEfLFX.mjs.map +1 -0
  772. package/dist/RadioCurrently-Bf-Pg-J_.mjs +112 -0
  773. package/dist/RadioCurrently-Bf-Pg-J_.mjs.map +1 -0
  774. package/dist/RadioCurrently-CXjYjO3m.mjs.map +1 -0
  775. package/dist/RadioCurrently-CZiABA2W.mjs.map +1 -0
  776. package/dist/RadioCurrently-CoOjRUyE.mjs.map +1 -0
  777. package/dist/RadioCurrently-JKL0a_SK.mjs.map +1 -0
  778. package/dist/RadioCurrently-hx7bw94i.mjs.map +1 -0
  779. package/dist/RadioHistory-BF-qlL2M.mjs.map +1 -0
  780. package/dist/RadioHistory-Bf2QIRr6.mjs.map +1 -0
  781. package/dist/RadioHistory-C7tOpvUk.mjs +139 -0
  782. package/dist/RadioHistory-C7tOpvUk.mjs.map +1 -0
  783. package/dist/RadioHistory-CQCcGdcs.mjs.map +1 -0
  784. package/dist/RadioHistory-D-xw6ZDO.mjs.map +1 -0
  785. package/dist/RadioHistory-D6niGKEI.mjs.map +1 -0
  786. package/dist/RadioHistory-mkQlj0G1.mjs.map +1 -0
  787. package/dist/RadioImage-6T5CmnKh.mjs.map +1 -0
  788. package/dist/RadioImage-BUvykGlw.mjs.map +1 -0
  789. package/dist/RadioImage-BrYBuloV.mjs.map +1 -0
  790. package/dist/RadioImage-CMtQaqiz.mjs.map +1 -0
  791. package/dist/RadioImage-CiIj65_a.mjs +85 -0
  792. package/dist/RadioImage-CiIj65_a.mjs.map +1 -0
  793. package/dist/RadioImage-DVwQNtMT.mjs.map +1 -0
  794. package/dist/RadioImage-XqoEXwZv.mjs.map +1 -0
  795. package/dist/RadioList-BotOeNwF.mjs +125 -0
  796. package/dist/RadioList-BotOeNwF.mjs.map +1 -0
  797. package/dist/RadioList-CjP-UN50.mjs.map +1 -0
  798. package/dist/RadioList-CroBp4d5.mjs.map +1 -0
  799. package/dist/RadioList-DUkyj-3T.mjs.map +1 -0
  800. package/dist/RadioList-Dp5kjFiW.mjs.map +1 -0
  801. package/dist/RadioList-DpSiNcDT.mjs.map +1 -0
  802. package/dist/RadioList-k2aCdh24.mjs.map +1 -0
  803. package/dist/RadioPage-BE4wCcA2.mjs.map +1 -0
  804. package/dist/RadioPage-BeTgvUPE.mjs.map +1 -0
  805. package/dist/RadioPage-CcPPJUmX.mjs +137 -0
  806. package/dist/RadioPage-CcPPJUmX.mjs.map +1 -0
  807. package/dist/RadioPage-Cqc1x0Ld.mjs.map +1 -0
  808. package/dist/RadioPage-Cvr1JY6T.mjs.map +1 -0
  809. package/dist/RadioPage-DwYxk45W.mjs.map +1 -0
  810. package/dist/RadioPage-IflTSXFQ.mjs.map +1 -0
  811. package/dist/RadioPlanning-BHklVGWm.mjs.map +1 -0
  812. package/dist/RadioPlanning-C5dPMP4_.mjs.map +1 -0
  813. package/dist/RadioPlanning-C8MtglrL.mjs +290 -0
  814. package/dist/RadioPlanning-C8MtglrL.mjs.map +1 -0
  815. package/dist/RadioPlanning-DCyp5l76.mjs.map +1 -0
  816. package/dist/RadioPlanning-Iw9vA8fj.mjs.map +1 -0
  817. package/dist/RadioPlanning-MiAA82P8.mjs.map +1 -0
  818. package/dist/RadioPlanning-zfc80hVQ.mjs.map +1 -0
  819. package/dist/RadioProgressBar-1PEu9PP_.mjs +67 -0
  820. package/dist/RadioProgressBar-1PEu9PP_.mjs.map +1 -0
  821. package/dist/RadioProgressBar-B1zJqxTH.mjs.map +1 -0
  822. package/dist/RadioProgressBar-BE7xpKuz.mjs.map +1 -0
  823. package/dist/RadioProgressBar-C7Lk7NWa.mjs.map +1 -0
  824. package/dist/RadioProgressBar-C7syfJeD.mjs.map +1 -0
  825. package/dist/RadioProgressBar-DKaDO8E3.mjs.map +1 -0
  826. package/dist/RadioProgressBar-DUwPmtUM.mjs.map +1 -0
  827. package/dist/RecaptchaModal-B4NgHMv8.mjs.map +1 -0
  828. package/dist/RecaptchaModal-Bh0R-LJQ.mjs.map +1 -0
  829. package/dist/RecaptchaModal-CHFdC9Sq.mjs +148 -0
  830. package/dist/RecaptchaModal-CHFdC9Sq.mjs.map +1 -0
  831. package/dist/RecaptchaModal-DDN7f19l.mjs.map +1 -0
  832. package/dist/RecaptchaModal-DZgBJsqv.mjs.map +1 -0
  833. package/dist/RecaptchaModal-D_Jsgg1Y.mjs.map +1 -0
  834. package/dist/RecaptchaModal-DeXzozPd.mjs.map +1 -0
  835. package/dist/ReportAbuseModal-BNmgx7J8.mjs.map +1 -0
  836. package/dist/ReportAbuseModal-CGdwy6AX.mjs.map +1 -0
  837. package/dist/ReportAbuseModal-CRcYir1i.mjs +134 -0
  838. package/dist/ReportAbuseModal-CRcYir1i.mjs.map +1 -0
  839. package/dist/ReportAbuseModal-Cd05gQRG.mjs.map +1 -0
  840. package/dist/ReportAbuseModal-DZZSuWJL.mjs.map +1 -0
  841. package/dist/ReportAbuseModal-Dhr0wNeN.mjs.map +1 -0
  842. package/dist/ReportAbuseModal-Jkua96nx.mjs.map +1 -0
  843. package/dist/ReportAbuseModal-fW3qVnqB.mjs.map +1 -0
  844. package/dist/RightsIndicator-BS3j-fVM.mjs.map +1 -0
  845. package/dist/RightsIndicator-BfnK3wyp.mjs.map +1 -0
  846. package/dist/RightsIndicator-CIvYsls2.mjs.map +1 -0
  847. package/dist/RightsIndicator-DCXOdtYK.mjs.map +1 -0
  848. package/dist/RightsIndicator-DeX5rK6p.mjs +124 -0
  849. package/dist/RightsIndicator-DeX5rK6p.mjs.map +1 -0
  850. package/dist/RightsIndicator-IodEqXTS.mjs.map +1 -0
  851. package/dist/RightsIndicator-Tp19E3wH.mjs.map +1 -0
  852. package/dist/RightsIndicator-UnNA-JnX.mjs.map +1 -0
  853. package/dist/RightsIndicator-fNFREWAW.mjs.map +1 -0
  854. package/dist/RightsWrapper-B8WfUUyU.mjs +212 -0
  855. package/dist/RightsWrapper-B8WfUUyU.mjs.map +1 -0
  856. package/dist/RightsWrapper-C4RmSfic.mjs.map +1 -0
  857. package/dist/RightsWrapper-CuyTiPNy.mjs.map +1 -0
  858. package/dist/RightsWrapper-CwfoSSsa.mjs.map +1 -0
  859. package/dist/RightsWrapper-Dfn3I70v.mjs.map +1 -0
  860. package/dist/RightsWrapper-Du_voV0a.mjs.map +1 -0
  861. package/dist/RightsWrapper-cUlJfjI3.mjs.map +1 -0
  862. package/dist/RubriqueFilter-CM7kr6ig.mjs.map +1 -0
  863. package/dist/RubriqueFilter-CZDYRGY1.mjs.map +1 -0
  864. package/dist/RubriqueFilter-ChiOg_xE.mjs.map +1 -0
  865. package/dist/RubriqueFilter-CmuKuprg.mjs.map +1 -0
  866. package/dist/RubriqueFilter-DL_FXRSA.mjs +199 -0
  867. package/dist/RubriqueFilter-DL_FXRSA.mjs.map +1 -0
  868. package/dist/RubriqueFilter-DrH0XXvc.mjs.map +1 -0
  869. package/dist/RubriqueFilter-MMI5yYaP.mjs.map +1 -0
  870. package/dist/RubriqueList-16-5nihG.mjs.map +1 -0
  871. package/dist/RubriqueList-BdfABEgq.mjs.map +1 -0
  872. package/dist/RubriqueList-BsPLy3ay.mjs.map +1 -0
  873. package/dist/RubriqueList-CJa6V4RB.mjs.map +1 -0
  874. package/dist/RubriqueList-CMOS69Vq.mjs +206 -0
  875. package/dist/RubriqueList-CMOS69Vq.mjs.map +1 -0
  876. package/dist/RubriqueList-CqwNtNAT.mjs.map +1 -0
  877. package/dist/RubriqueList-CwjcXWs4.mjs.map +1 -0
  878. package/dist/RubriquePage-08LTF55B.mjs.map +1 -0
  879. package/dist/RubriquePage-CCy-5tNr.mjs.map +1 -0
  880. package/dist/RubriquePage-CPZDxfSO.mjs.map +1 -0
  881. package/dist/RubriquePage-CuiSjNdT.mjs.map +1 -0
  882. package/dist/RubriquePage-D4eQhRIL.mjs.map +1 -0
  883. package/dist/RubriquePage-DB366qxe.mjs.map +1 -0
  884. package/dist/RubriquePage-DFHbwv9G.mjs.map +1 -0
  885. package/dist/RubriquePage-TE1WN6Ij.mjs +108 -0
  886. package/dist/RubriquePage-TE1WN6Ij.mjs.map +1 -0
  887. package/dist/RubriquePage-hjdDUqyU.mjs.map +1 -0
  888. package/dist/SearchPage-B8jX1vjG.mjs.map +1 -0
  889. package/dist/SearchPage-BwFLn1-g.mjs.map +1 -0
  890. package/dist/SearchPage-CPD8eLYV.mjs.map +1 -0
  891. package/dist/SearchPage-CUtOUZtw.mjs.map +1 -0
  892. package/dist/SearchPage-D21Gk42b.mjs.map +1 -0
  893. package/dist/SearchPage-DMmu7a0f.mjs +77 -0
  894. package/dist/SearchPage-DMmu7a0f.mjs.map +1 -0
  895. package/dist/SearchPage-DucZ1EKg.mjs.map +1 -0
  896. package/dist/SearchPage-DxnpnU0j.mjs.map +1 -0
  897. package/dist/SearchPage-oR9fUtW3.mjs.map +1 -0
  898. package/dist/ShareAnonymous---HePDRB.mjs.map +1 -0
  899. package/dist/ShareAnonymous-BRlQaJhi.mjs +321 -0
  900. package/dist/ShareAnonymous-BRlQaJhi.mjs.map +1 -0
  901. package/dist/ShareAnonymous-BW1VhJ2n.mjs.map +1 -0
  902. package/dist/ShareAnonymous-CsldJHoJ.mjs.map +1 -0
  903. package/dist/ShareAnonymous-DEGyPCUj.mjs.map +1 -0
  904. package/dist/ShareAnonymous-DiNPUc2X.mjs.map +1 -0
  905. package/dist/ShareAnonymous-eT0sUVWS.mjs.map +1 -0
  906. package/dist/ShareModalPlayer-BIwH-p5d.mjs.map +1 -0
  907. package/dist/ShareModalPlayer-CdUUtZ-5.mjs.map +1 -0
  908. package/dist/ShareModalPlayer-D98G_Ndx.mjs +135 -0
  909. package/dist/ShareModalPlayer-D98G_Ndx.mjs.map +1 -0
  910. package/dist/ShareModalPlayer-DANO4VOp.mjs.map +1 -0
  911. package/dist/ShareModalPlayer-DjvS43q5.mjs.map +1 -0
  912. package/dist/ShareModalPlayer-b-ZIHCWY.mjs.map +1 -0
  913. package/dist/ShareModalPlayer-o8Tnrbh1.mjs.map +1 -0
  914. package/dist/ShareNewsletter--cvmmWE0.mjs.map +1 -0
  915. package/dist/ShareNewsletter-C-clOCKi.mjs +211 -0
  916. package/dist/ShareNewsletter-C-clOCKi.mjs.map +1 -0
  917. package/dist/ShareNewsletter-CUcmJiot.mjs.map +1 -0
  918. package/dist/ShareNewsletter-Cp4-g5fA.mjs.map +1 -0
  919. package/dist/ShareNewsletter-D8_5L_AT.mjs.map +1 -0
  920. package/dist/ShareNewsletter-Je8-QirK.mjs.map +1 -0
  921. package/dist/ShareNewsletter-N55dIA_B.mjs.map +1 -0
  922. package/dist/SharePlayer-B4Ljxcx6.mjs.map +1 -0
  923. package/dist/SharePlayer-BxHten3Y.mjs.map +1 -0
  924. package/dist/SharePlayer-CD7oGqJ2.mjs.map +1 -0
  925. package/dist/SharePlayer-CE1qHkec.mjs.map +1 -0
  926. package/dist/SharePlayer-ChACZKgH.mjs +378 -0
  927. package/dist/SharePlayer-ChACZKgH.mjs.map +1 -0
  928. package/dist/SharePlayer-CltOR0Zh.mjs.map +1 -0
  929. package/dist/SharePlayer-CxoaWa3_.mjs.map +1 -0
  930. package/dist/SharePlayerRadio-BJVzAG1L.mjs.map +1 -0
  931. package/dist/SharePlayerRadio-Bixx8yFN.mjs.map +1 -0
  932. package/dist/SharePlayerRadio-CMsTpb_x.mjs.map +1 -0
  933. package/dist/SharePlayerRadio-CTMdvwN2.mjs +127 -0
  934. package/dist/SharePlayerRadio-CTMdvwN2.mjs.map +1 -0
  935. package/dist/SharePlayerRadio-DU35ed7Y.mjs.map +1 -0
  936. package/dist/SharePlayerRadio-Djz3HIfx.mjs.map +1 -0
  937. package/dist/SharePlayerRadio-Dn3ui9OK.mjs.map +1 -0
  938. package/dist/SharePlayerTypes-B7FLniHB.mjs +232 -0
  939. package/dist/SharePlayerTypes-B7FLniHB.mjs.map +1 -0
  940. package/dist/SharePlayerTypes-C8lDg7bE.mjs.map +1 -0
  941. package/dist/SharePlayerTypes-CFjDgT1d.mjs.map +1 -0
  942. package/dist/SharePlayerTypes-C_YQdJl2.mjs.map +1 -0
  943. package/dist/SharePlayerTypes-CzN4HZRH.mjs.map +1 -0
  944. package/dist/SharePlayerTypes-Dkw0Yqdu.mjs.map +1 -0
  945. package/dist/SharePlayerTypes-M9s8-uCs.mjs.map +1 -0
  946. package/dist/ShareSocialsButtons--KcYTi2-.mjs.map +1 -0
  947. package/dist/ShareSocialsButtons--haMp5t-.mjs.map +1 -0
  948. package/dist/ShareSocialsButtons-CGq1RtWh.mjs.map +1 -0
  949. package/dist/ShareSocialsButtons-DEojeSLw.mjs.map +1 -0
  950. package/dist/ShareSocialsButtons-DLb_GRG-.mjs.map +1 -0
  951. package/dist/ShareSocialsButtons-DiJVocCJ.mjs +159 -0
  952. package/dist/ShareSocialsButtons-DiJVocCJ.mjs.map +1 -0
  953. package/dist/ShareSocialsButtons-IJQ1CgrC.mjs.map +1 -0
  954. package/dist/SimpleLayout-BAZ05Zz6.mjs.map +1 -0
  955. package/dist/SimpleLayout-BDnreCwm.mjs.map +1 -0
  956. package/dist/SimpleLayout-BHNwX8pP.mjs.map +1 -0
  957. package/dist/SimpleLayout-CPmBnpo-.mjs.map +1 -0
  958. package/dist/SimpleLayout-CUVtAQSt.mjs.map +1 -0
  959. package/dist/SimpleLayout-CjDOkAVU.mjs.map +1 -0
  960. package/dist/SimpleLayout-DLEAl9OH.mjs +41 -0
  961. package/dist/SimpleLayout-DLEAl9OH.mjs.map +1 -0
  962. package/dist/SmartLinkPage-BJoMvpYI.mjs +238 -0
  963. package/dist/SmartLinkPage-BJoMvpYI.mjs.map +1 -0
  964. package/dist/SmartLinkPage-Bd0ODVRl.mjs.map +1 -0
  965. package/dist/SmartLinkPage-C_zq0_aw.mjs.map +1 -0
  966. package/dist/SmartLinkPage-D1QlrObF.mjs.map +1 -0
  967. package/dist/SmartLinkPage-Dd0BLsjZ.mjs.map +1 -0
  968. package/dist/SmartLinkPage-DfFv2Nmb.mjs.map +1 -0
  969. package/dist/SmartLinkPage-wnKKixdQ.mjs.map +1 -0
  970. package/dist/SubscribeButtons-6HA0Mk9a.mjs.map +1 -0
  971. package/dist/SubscribeButtons-B6i1IdLa.mjs.map +1 -0
  972. package/dist/SubscribeButtons-BZrXH39i.mjs.map +1 -0
  973. package/dist/SubscribeButtons-C64eSNCp.mjs.map +1 -0
  974. package/dist/SubscribeButtons-DQ5YmkQO.mjs.map +1 -0
  975. package/dist/SubscribeButtons-EUkx8pZP.mjs.map +1 -0
  976. package/dist/SubscribeButtons-Va9APuBC.mjs +203 -0
  977. package/dist/SubscribeButtons-Va9APuBC.mjs.map +1 -0
  978. package/dist/SwiperList-B20Vye8P.mjs +207 -0
  979. package/dist/SwiperList-B20Vye8P.mjs.map +1 -0
  980. package/dist/SwiperList-Bokt5AG5.mjs.map +1 -0
  981. package/dist/SwiperList-CFKov21b.mjs.map +1 -0
  982. package/dist/SwiperList-DkllmyUF.mjs.map +1 -0
  983. package/dist/SwiperList-F5w64QMB.mjs.map +1 -0
  984. package/dist/SwiperList-LZV53McU.mjs.map +1 -0
  985. package/dist/SwiperList-ek1fgcDE.mjs.map +1 -0
  986. package/dist/TagList-B4PT2uXD.mjs +134 -0
  987. package/dist/TagList-B4PT2uXD.mjs.map +1 -0
  988. package/dist/TagList-BGlKCk4Q.mjs.map +1 -0
  989. package/dist/TagList-BjCugYvL.mjs.map +1 -0
  990. package/dist/TagList-DNMyr3U9.mjs.map +1 -0
  991. package/dist/TagList-DgsYcSmt.mjs.map +1 -0
  992. package/dist/TagList-WMAlflFl.mjs.map +1 -0
  993. package/dist/TagList-aSS_8yRX.mjs.map +1 -0
  994. package/dist/TagPage-BNeE4Lhq.mjs.map +1 -0
  995. package/dist/TagPage-BUXelbn2.mjs +125 -0
  996. package/dist/TagPage-BUXelbn2.mjs.map +1 -0
  997. package/dist/TagPage-Bsc2U_3X.mjs.map +1 -0
  998. package/dist/TagPage-C2iQSROU.mjs.map +1 -0
  999. package/dist/TagPage-CgscaJP0.mjs.map +1 -0
  1000. package/dist/TagPage-DEHCzUJu.mjs.map +1 -0
  1001. package/dist/TagPage-DFQt2R7S.mjs.map +1 -0
  1002. package/dist/TagPage-DPjY0S19.mjs.map +1 -0
  1003. package/dist/TagPage-DRTznoWj.mjs.map +1 -0
  1004. package/dist/TopBar-Bg0jGbps.mjs +760 -0
  1005. package/dist/TopBar-Bg0jGbps.mjs.map +1 -0
  1006. package/dist/TopBar-Br6MU5NS.mjs.map +1 -0
  1007. package/dist/TopBar-C5xvL55I.mjs.map +1 -0
  1008. package/dist/TopBar-Ct2Wi2fl.mjs.map +1 -0
  1009. package/dist/TopBar-Ct9XAxTS.mjs.map +1 -0
  1010. package/dist/TopBar-sSswTZjE.mjs.map +1 -0
  1011. package/dist/TopBar-tJHG0wJq.mjs.map +1 -0
  1012. package/dist/UserButtonContent-CE-161kg.mjs.map +1 -0
  1013. package/dist/UserButtonContent-CPa7Icpi.mjs +185 -0
  1014. package/dist/UserButtonContent-CPa7Icpi.mjs.map +1 -0
  1015. package/dist/UserButtonContent-D4Gfs-j-.mjs.map +1 -0
  1016. package/dist/UserButtonContent-DPWKHiAu.mjs.map +1 -0
  1017. package/dist/UserButtonContent-DV8mGqxl.mjs.map +1 -0
  1018. package/dist/UserButtonContent-DoRcEYhc.mjs.map +1 -0
  1019. package/dist/UserButtonContent-Y-pBXCLI.mjs.map +1 -0
  1020. package/dist/VideoModuleBox-8vaXrEZb.mjs.map +1 -0
  1021. package/dist/VideoModuleBox-BBIipxxW.mjs.map +1 -0
  1022. package/dist/VideoModuleBox-CIZ34N35.mjs +85 -0
  1023. package/dist/VideoModuleBox-CIZ34N35.mjs.map +1 -0
  1024. package/dist/VideoModuleBox-Ckr0ogRq.mjs.map +1 -0
  1025. package/dist/VideoModuleBox-Dqiduxtz.mjs.map +1 -0
  1026. package/dist/VideoModuleBox-Gs2cRVCQ.mjs.map +1 -0
  1027. package/dist/VideoModuleBox-T3Fic5E1.mjs.map +1 -0
  1028. package/dist/VideoPage-5l2yCwzq.mjs.map +1 -0
  1029. package/dist/VideoPage-B-7n9a0w.mjs +274 -0
  1030. package/dist/VideoPage-B-7n9a0w.mjs.map +1 -0
  1031. package/dist/VideoPage-C9RjP0jZ.mjs.map +1 -0
  1032. package/dist/VideoPage-C_EGSeQr.mjs.map +1 -0
  1033. package/dist/VideoPage-Ck6UhhNl.mjs.map +1 -0
  1034. package/dist/VideoPage-CzK2E8of.mjs.map +1 -0
  1035. package/dist/VideoPage-DDW-8u0o.mjs.map +1 -0
  1036. package/dist/VideoPage-DVSiNd8a.mjs.map +1 -0
  1037. package/dist/VideoPage-Dr-rwYv9.mjs.map +1 -0
  1038. package/dist/VideoPage-Gr_u3MAh.mjs.map +1 -0
  1039. package/dist/VideoPage-w0OwVwV2.mjs.map +1 -0
  1040. package/dist/classicApi-BB-XyzeX.mjs.map +1 -0
  1041. package/dist/classicApi-BGltEbgE.mjs.map +1 -0
  1042. package/dist/classicApi-BTNeGEhM.mjs.map +1 -0
  1043. package/dist/classicApi-CaN5kdYr.mjs.map +1 -0
  1044. package/dist/classicApi-ChvwoPGT.mjs +1906 -0
  1045. package/dist/classicApi-ChvwoPGT.mjs.map +1 -0
  1046. package/dist/classicApi-CzfRsZHJ.mjs.map +1 -0
  1047. package/dist/classicApi-D1fMJl0J.mjs.map +1 -0
  1048. package/dist/downloadHelper-C64lrfkY.mjs.map +1 -0
  1049. package/dist/downloadHelper-CMi7-Uui.mjs.map +1 -0
  1050. package/dist/downloadHelper-COaLNbRP.mjs.map +1 -0
  1051. package/dist/downloadHelper-CVAsxSd_.mjs.map +1 -0
  1052. package/dist/downloadHelper-CuFfOvc0.mjs +36 -0
  1053. package/dist/downloadHelper-CuFfOvc0.mjs.map +1 -0
  1054. package/dist/downloadHelper-euySfVzt.mjs.map +1 -0
  1055. package/dist/downloadHelper-fJeVpKge.mjs.map +1 -0
  1056. package/dist/index.mjs +100 -100
  1057. package/dist/messages-BBXCgqNE.mjs.map +1 -0
  1058. package/dist/messages-BfcKCwbs.mjs.map +1 -0
  1059. package/dist/messages-C-3-wU0o.mjs +2757 -0
  1060. package/dist/messages-C-3-wU0o.mjs.map +1 -0
  1061. package/dist/messages-DFgZU_JY.mjs.map +1 -0
  1062. package/dist/messages-DI0RP16T.mjs.map +1 -0
  1063. package/dist/messages-ffqRcdFK.mjs.map +1 -0
  1064. package/dist/messages-tvu0LPPD.mjs.map +1 -0
  1065. package/dist/tests.mjs +2 -2
  1066. package/dist/useAdvancedParamInit-B0q6bEG9.mjs.map +1 -0
  1067. package/dist/useAdvancedParamInit-Bmasoyik.mjs.map +1 -0
  1068. package/dist/useAdvancedParamInit-BnHjPfDr.mjs.map +1 -0
  1069. package/dist/useAdvancedParamInit-Cqr0FvM6.mjs.map +1 -0
  1070. package/dist/useAdvancedParamInit-DpFW5LOX.mjs +162 -0
  1071. package/dist/useAdvancedParamInit-DpFW5LOX.mjs.map +1 -0
  1072. package/dist/useAdvancedParamInit-TYud_aDM.mjs.map +1 -0
  1073. package/dist/useAdvancedParamInit-TnnXwHRW.mjs.map +1 -0
  1074. package/dist/useDayjs-CK_TIXDt.mjs +32 -0
  1075. package/dist/useDayjs-CK_TIXDt.mjs.map +1 -0
  1076. package/dist/useDayjs-CXOnFQYE.mjs.map +1 -0
  1077. package/dist/useDayjs-D_JdvkuA.mjs.map +1 -0
  1078. package/dist/useDayjs-Dcl8o-f2.mjs.map +1 -0
  1079. package/dist/useDayjs-DfbYqqzw.mjs.map +1 -0
  1080. package/dist/useDayjs-DgjE7bQE.mjs.map +1 -0
  1081. package/dist/useDayjs-Qw7bsgun.mjs.map +1 -0
  1082. package/dist/useErrorHandler-B2omq-xn.mjs.map +1 -0
  1083. package/dist/useErrorHandler-BZkAkzNC.mjs +19 -0
  1084. package/dist/useErrorHandler-BZkAkzNC.mjs.map +1 -0
  1085. package/dist/useErrorHandler-BpXnCp74.mjs.map +1 -0
  1086. package/dist/useErrorHandler-Ccs5lCXK.mjs.map +1 -0
  1087. package/dist/useErrorHandler-DDjgV9tS.mjs.map +1 -0
  1088. package/dist/useErrorHandler-TP_xzyLW.mjs.map +1 -0
  1089. package/dist/useErrorHandler-hTEtFcs_.mjs.map +1 -0
  1090. package/dist/useImageProxy-B0l13vKR.mjs.map +1 -0
  1091. package/dist/useImageProxy-BCtwrFPB.mjs.map +1 -0
  1092. package/dist/useImageProxy-CFXtzue5.mjs.map +1 -0
  1093. package/dist/useImageProxy-CLgdcHCl.mjs.map +1 -0
  1094. package/dist/useImageProxy-CNYAGjLf.mjs.map +1 -0
  1095. package/dist/useImageProxy-DdK55qB4.mjs +20 -0
  1096. package/dist/useImageProxy-DdK55qB4.mjs.map +1 -0
  1097. package/dist/useImageProxy-Drr0R83A.mjs.map +1 -0
  1098. package/dist/useOrgaComputed-B07BGfc5.mjs.map +1 -0
  1099. package/dist/useOrgaComputed-CZYeUhPI.mjs.map +1 -0
  1100. package/dist/useOrgaComputed-Cvryrkbp.mjs.map +1 -0
  1101. package/dist/useOrgaComputed-D5SfqMx9.mjs +19 -0
  1102. package/dist/useOrgaComputed-D5SfqMx9.mjs.map +1 -0
  1103. package/dist/useOrgaComputed-D8Aak710.mjs.map +1 -0
  1104. package/dist/useOrgaComputed-Dcs2QQ4K.mjs.map +1 -0
  1105. package/dist/useOrgaComputed-dKPouMl1.mjs.map +1 -0
  1106. package/dist/usePlayerLogicProgress-Bb_pkMxz.mjs.map +1 -0
  1107. package/dist/usePlayerLogicProgress-BckKC1fU.mjs.map +1 -0
  1108. package/dist/usePlayerLogicProgress-C-gsD-ec.mjs +108 -0
  1109. package/dist/usePlayerLogicProgress-C-gsD-ec.mjs.map +1 -0
  1110. package/dist/usePlayerLogicProgress-DRrXB53_.mjs.map +1 -0
  1111. package/dist/usePlayerLogicProgress-KiC9MszQ.mjs.map +1 -0
  1112. package/dist/usePlayerLogicProgress-lypDuxfv.mjs.map +1 -0
  1113. package/dist/usePlayerLogicProgress-mpS1rYM1.mjs.map +1 -0
  1114. package/dist/usePodcastView-3dCNrbxq.mjs.map +1 -0
  1115. package/dist/usePodcastView-Bxbpf2Aj.mjs.map +1 -0
  1116. package/dist/usePodcastView-C4Ak6N5U.mjs.map +1 -0
  1117. package/dist/usePodcastView-CWnGApRW.mjs.map +1 -0
  1118. package/dist/usePodcastView-Cm6ruTDT.mjs.map +1 -0
  1119. package/dist/usePodcastView-DlzuYDsj.mjs +56 -0
  1120. package/dist/usePodcastView-DlzuYDsj.mjs.map +1 -0
  1121. package/dist/usePodcastView-_Gt7IKys.mjs.map +1 -0
  1122. package/dist/usePresentationItem-1wOfXOdb.mjs.map +1 -0
  1123. package/dist/usePresentationItem-BIoivvjV.mjs.map +1 -0
  1124. package/dist/usePresentationItem-BkAS8Vr0.mjs.map +1 -0
  1125. package/dist/usePresentationItem-CUGbjF4i.mjs +190 -0
  1126. package/dist/usePresentationItem-CUGbjF4i.mjs.map +1 -0
  1127. package/dist/usePresentationItem-D5rbUsCh.mjs.map +1 -0
  1128. package/dist/usePresentationItem-Dq1BLr6j.mjs.map +1 -0
  1129. package/dist/usePresentationItem-Dww8g4Vm.mjs.map +1 -0
  1130. package/dist/useRights-2iW8A6VG.mjs.map +1 -0
  1131. package/dist/useRights-Bh8pPIIT.mjs.map +1 -0
  1132. package/dist/useRights-C0SGDVHr.mjs.map +1 -0
  1133. package/dist/useRights-C_1sfdF_.mjs.map +1 -0
  1134. package/dist/useRights-ChjlGASZ.mjs.map +1 -0
  1135. package/dist/useRights-DNL2VJUc.mjs +276 -0
  1136. package/dist/useRights-DNL2VJUc.mjs.map +1 -0
  1137. package/dist/useRights-DeR0K7I4.mjs.map +1 -0
  1138. package/dist/useRubriquesFilterComputed-BORLAh8s.mjs.map +1 -0
  1139. package/dist/useRubriquesFilterComputed-CC3kqtFK.mjs.map +1 -0
  1140. package/dist/useRubriquesFilterComputed-CKezlYVc.mjs.map +1 -0
  1141. package/dist/useRubriquesFilterComputed-DHNQz04L.mjs.map +1 -0
  1142. package/dist/useRubriquesFilterComputed-DWgN-E8P.mjs.map +1 -0
  1143. package/dist/useRubriquesFilterComputed-Dg4HclyQ.mjs +13 -0
  1144. package/dist/useRubriquesFilterComputed-Dg4HclyQ.mjs.map +1 -0
  1145. package/dist/useRubriquesFilterComputed-NQGEdYXb.mjs.map +1 -0
  1146. package/dist/useRubriquesFilterParam-BGBTXNIe.mjs.map +1 -0
  1147. package/dist/useRubriquesFilterParam-BbLPbrFy.mjs.map +1 -0
  1148. package/dist/useRubriquesFilterParam-BjMqOyMg.mjs.map +1 -0
  1149. package/dist/useRubriquesFilterParam-BrWFpJhb.mjs +36 -0
  1150. package/dist/useRubriquesFilterParam-BrWFpJhb.mjs.map +1 -0
  1151. package/dist/useRubriquesFilterParam-DwnlkS0K.mjs.map +1 -0
  1152. package/dist/useRubriquesFilterParam-YXdzWQqQ.mjs.map +1 -0
  1153. package/dist/useRubriquesFilterParam-r0AJqZsJ.mjs.map +1 -0
  1154. package/dist/useSharePlatforms-BqPO-hyZ.mjs +468 -0
  1155. package/dist/useSharePlatforms-BqPO-hyZ.mjs.map +1 -0
  1156. package/dist/useSharePlatforms-CP7lHEZ0.mjs.map +1 -0
  1157. package/dist/useSharePlatforms-C_EB_xsb.mjs.map +1 -0
  1158. package/dist/useSharePlatforms-CcG4_k68.mjs.map +1 -0
  1159. package/dist/useSharePlatforms-CgGpSSII.mjs.map +1 -0
  1160. package/dist/useSharePlatforms-CrHyAS2m.mjs.map +1 -0
  1161. package/dist/useSharePlatforms-D81_zd1r.mjs.map +1 -0
  1162. package/dist/useSimplePageParam-9ps_YIpq.mjs.map +1 -0
  1163. package/dist/useSimplePageParam-ByeUUq4Z.mjs +54 -0
  1164. package/dist/useSimplePageParam-ByeUUq4Z.mjs.map +1 -0
  1165. package/dist/useSimplePageParam-C4qdDtdw.mjs.map +1 -0
  1166. package/dist/useSimplePageParam-COisq-R3.mjs.map +1 -0
  1167. package/dist/useSimplePageParam-DT1XPwfb.mjs.map +1 -0
  1168. package/dist/useSimplePageParam-DZIpRJUc.mjs.map +1 -0
  1169. package/dist/useSimplePageParam-Dw3p3GCC.mjs.map +1 -0
  1170. package/dist/useTranslation-BPLqy26U.mjs.map +1 -0
  1171. package/dist/useTranslation-C4rvyoXK.mjs.map +1 -0
  1172. package/dist/useTranslation-C8Dy1ma7.mjs.map +1 -0
  1173. package/dist/useTranslation-CLkN3q6e.mjs.map +1 -0
  1174. package/dist/useTranslation-COKe4d2D.mjs.map +1 -0
  1175. package/dist/useTranslation-Dsw1HxX9.mjs +205 -0
  1176. package/dist/useTranslation-Dsw1HxX9.mjs.map +1 -0
  1177. package/dist/useTranslation-kKZZLtgm.mjs.map +1 -0
  1178. package/dist/usefetchRadioData-3E5_FJJM.mjs +55 -0
  1179. package/dist/usefetchRadioData-3E5_FJJM.mjs.map +1 -0
  1180. package/dist/usefetchRadioData-B5vQJGHp.mjs.map +1 -0
  1181. package/dist/usefetchRadioData-Cb6piM3h.mjs.map +1 -0
  1182. package/dist/usefetchRadioData-Ch_otD17.mjs.map +1 -0
  1183. package/dist/usefetchRadioData-D5WFrvWd.mjs.map +1 -0
  1184. package/dist/usefetchRadioData-lhw_qPJh.mjs.map +1 -0
  1185. package/dist/usefetchRadioData-qr9F-158.mjs.map +1 -0
  1186. package/package.json +1 -1
  1187. package/src/components/display/podcasts/PodcastModuleBox.vue +293 -252
  1188. package/src/components/form/ClassicWysiwyg.vue +2 -4
  1189. package/src/components/misc/FooterSection.vue +3 -1
  1190. package/src/locale/de.json +3 -1
  1191. package/src/locale/en.json +3 -1
  1192. package/src/locale/es.json +3 -1
  1193. package/src/locale/fr.json +3 -0
  1194. package/src/locale/it.json +3 -1
  1195. package/src/locale/sl.json +3 -1
  1196. package/tests/components/display/podcasts/PodcastModuleBox.spec.ts +68 -0
  1197. package/dist/AdvancedSearch-C__BZuJX.mjs +0 -429
  1198. package/dist/CategoryFilter-DRXTrqyR.mjs +0 -237
  1199. package/dist/CategoryList-BeBPhibG.mjs +0 -182
  1200. package/dist/CategoryPage-CsabctRT.mjs +0 -57
  1201. package/dist/ChapteringModal-BCPmvaRT.mjs +0 -82
  1202. package/dist/CheckIdentityModal-fNecycn-.mjs +0 -86
  1203. package/dist/ClassicAlert-dYigdfoZ.mjs +0 -85
  1204. package/dist/ClassicInputText-B7EAwP2N.mjs +0 -371
  1205. package/dist/ClassicWysiwyg-BKq8ExjM.mjs +0 -230
  1206. package/dist/ClipboardModal-Bd_hrJu_.mjs +0 -84
  1207. package/dist/CommentBasicView-bNaLVdjT.mjs +0 -129
  1208. package/dist/CommentInput-B7qnp3is.mjs +0 -186
  1209. package/dist/CommentItem-DDCavfx_.mjs +0 -232
  1210. package/dist/CommentList-BbEaau4S.mjs +0 -302
  1211. package/dist/CommentMoreActions-CB8419fO.mjs +0 -286
  1212. package/dist/CommentName-DFzxl7mU.mjs +0 -96
  1213. package/dist/CommentParentInfo-BDSceNbu.mjs +0 -64
  1214. package/dist/CommentPlayer-D_cgM4oc.mjs +0 -86
  1215. package/dist/CommentSection-CfhzLqZE.mjs +0 -141
  1216. package/dist/CommentStore-DAa7RQ_3.mjs +0 -355
  1217. package/dist/ContractPreviewModal-CC3KTcFM.mjs +0 -101
  1218. package/dist/DownloadPodcastButton-DdWnV_YZ.mjs +0 -53
  1219. package/dist/EditCommentModal-7vDcLEPD.mjs +0 -162
  1220. package/dist/EmissionGroupChooser-ZJLNTZLc.mjs +0 -82
  1221. package/dist/EmissionInlineList-JQp7JC97.mjs +0 -188
  1222. package/dist/EmissionItem-9HFaHgWp.mjs +0 -183
  1223. package/dist/EmissionList-Clu9bigG.mjs +0 -325
  1224. package/dist/EmissionPage-DX_2HI0y.mjs +0 -322
  1225. package/dist/EmissionPlayerItem-C8IKeJ7q.mjs +0 -167
  1226. package/dist/EmissionPresentationItem-CmxIvauh.mjs +0 -78
  1227. package/dist/EmissionPresentationList-CIx49QaD.mjs +0 -125
  1228. package/dist/EmissionsPage-CxLXKG5S.mjs +0 -199
  1229. package/dist/Error403Page-DARTxoEK.mjs +0 -69
  1230. package/dist/ErrorMessage-DhSwu9H_.mjs +0 -44
  1231. package/dist/FooterGarSection-IH0ADl_V.mjs +0 -71
  1232. package/dist/FooterSection-r3Ehg0kp.mjs +0 -238
  1233. package/dist/HomeDropdown-B9Hg49uX.mjs +0 -110
  1234. package/dist/HomePage-C3t8bQ4X.mjs +0 -166
  1235. package/dist/LikeSection-KEHYZ6eH.mjs +0 -167
  1236. package/dist/ListPaginate-Dd3eeyMI.mjs +0 -202
  1237. package/dist/LiveHorizontalList-CiyK7eIx.mjs +0 -136
  1238. package/dist/LiveList-DnEolyFx.mjs +0 -324
  1239. package/dist/LivesPage-BjOGZLj4.mjs +0 -76
  1240. package/dist/MapPage-BO2h6OPn.mjs +0 -303
  1241. package/dist/MobileMenu-DzyIn4Ww.mjs +0 -187
  1242. package/dist/NewsletterModal-MVu7IC0K.mjs +0 -82
  1243. package/dist/OrganisationChooser-BZnwu6PU.mjs +0 -190
  1244. package/dist/OrganisationChooserLight-DtC9SY2k.mjs +0 -84
  1245. package/dist/PageNotFound-XkbxiC3R.mjs +0 -58
  1246. package/dist/ParticipantInlineList-D13FKP63.mjs +0 -117
  1247. package/dist/ParticipantItem-NaOJtacr.mjs +0 -138
  1248. package/dist/ParticipantPage-CVDQ4I-p.mjs +0 -203
  1249. package/dist/ParticipantsPage-CxDl6EWr.mjs +0 -262
  1250. package/dist/PlayerAnonymousModal-DstBQ-Zs.mjs +0 -84
  1251. package/dist/PlayerCompact-DgsZttBX.mjs +0 -209
  1252. package/dist/PlayerComponent-BDJQLPcs.mjs +0 -929
  1253. package/dist/PlayerLarge-CubFsFCt.mjs +0 -190
  1254. package/dist/PlayerPlayButton-DQBkOGod.mjs +0 -400
  1255. package/dist/PlayerProgressBar-AhqJPkUk.mjs +0 -86
  1256. package/dist/PlayerStore-S4mFfJ75.mjs +0 -230
  1257. package/dist/PlayerVideo-D-TYPaLL.mjs +0 -72
  1258. package/dist/PlayerVideoDigiteka-DMC8L6Mz.mjs +0 -102
  1259. package/dist/PlayerVideoHls-VFKtt3Qx.mjs +0 -232
  1260. package/dist/PlaylistPage-BrZuaX3e.mjs +0 -228
  1261. package/dist/PlaylistsPage-CAaiC48j.mjs +0 -395
  1262. package/dist/PodcastFilterList-YdyFX695.mjs +0 -254
  1263. package/dist/PodcastImage-CF7D3Alx.mjs +0 -174
  1264. package/dist/PodcastInlineList-C_dvAa4O.mjs +0 -138
  1265. package/dist/PodcastInlineListTemplate-DpveKzmq.mjs +0 -233
  1266. package/dist/PodcastIsPlaying-Dx_XNjz4.mjs +0 -30
  1267. package/dist/PodcastItem-C5U2vYiX.mjs +0 -287
  1268. package/dist/PodcastList-BHOJTVqP.mjs +0 -182
  1269. package/dist/PodcastList-Dkh7Kahu.mjs +0 -330
  1270. package/dist/PodcastPage-CTwEe_n7.mjs +0 -725
  1271. package/dist/PodcastPlayBar-BafidGw3.mjs +0 -83
  1272. package/dist/PodcastPlayBasicButton-DqomjSS_.mjs +0 -72
  1273. package/dist/PodcastPlayButton--X67hSEO.mjs +0 -236
  1274. package/dist/PodcastPlaylistInlineList-Csf1PwTQ.mjs +0 -115
  1275. package/dist/PodcastPresentationList-DSQebLtP.mjs +0 -200
  1276. package/dist/PodcastProgressBar-BoRBxgPF.mjs +0 -98
  1277. package/dist/PodcastRawTranscript-HOcGzqam.mjs +0 -184
  1278. package/dist/PodcastRubriqueList-C6IUkNSJ.mjs +0 -83
  1279. package/dist/PodcastSwiperList-B6Rb4sb3.mjs +0 -219
  1280. package/dist/PodcastmakerHeader-SuHA7pwQ.mjs +0 -58
  1281. package/dist/PodcastsPage-BA8vFVBZ.mjs +0 -217
  1282. package/dist/ProductorSearch-DXwssvrx.mjs +0 -161
  1283. package/dist/ProgressBar-BPdSp8k3.mjs +0 -158
  1284. package/dist/QrCode-DIUhV-JI.mjs +0 -177
  1285. package/dist/QrCodeModal-DsqDbf2S.mjs +0 -64
  1286. package/dist/RadioCurrently-2uhupYt4.mjs +0 -112
  1287. package/dist/RadioHistory-7HK9VIXU.mjs +0 -139
  1288. package/dist/RadioImage-DgrrJqhi.mjs +0 -85
  1289. package/dist/RadioList-5WLGZn1M.mjs +0 -125
  1290. package/dist/RadioPage-BLrZ2cZQ.mjs +0 -137
  1291. package/dist/RadioPlanning-CMSEqOnd.mjs +0 -290
  1292. package/dist/RadioProgressBar-imph2EDe.mjs +0 -67
  1293. package/dist/RecaptchaModal-CxDPhjIv.mjs +0 -148
  1294. package/dist/ReportAbuseModal-Cn4dKNYU.mjs +0 -134
  1295. package/dist/RightsIndicator-DMZt2V0j.mjs +0 -124
  1296. package/dist/RightsWrapper-CH6QzSWu.mjs +0 -212
  1297. package/dist/RubriqueFilter-BIBa9NNw.mjs +0 -199
  1298. package/dist/RubriqueList-7NFIBpzM.mjs +0 -206
  1299. package/dist/RubriquePage-Dh4NUQ2M.mjs +0 -108
  1300. package/dist/SearchPage-nupT1-eH.mjs +0 -77
  1301. package/dist/ShareAnonymous-BmIwbMz_.mjs +0 -321
  1302. package/dist/ShareModalPlayer-CKQAlhfC.mjs +0 -135
  1303. package/dist/ShareNewsletter-YyZJPmj3.mjs +0 -211
  1304. package/dist/SharePlayer-B-8165rs.mjs +0 -378
  1305. package/dist/SharePlayerRadio-CqLsQYYx.mjs +0 -127
  1306. package/dist/SharePlayerTypes-Bt2LQhZe.mjs +0 -232
  1307. package/dist/ShareSocialsButtons-CZtpG1zL.mjs +0 -159
  1308. package/dist/SimpleLayout-TPl5v_-v.mjs +0 -41
  1309. package/dist/SmartLinkPage-DsLBvlOf.mjs +0 -238
  1310. package/dist/SubscribeButtons-DTu2q9nM.mjs +0 -203
  1311. package/dist/SwiperList-DkzjytBq.mjs +0 -207
  1312. package/dist/TagList-CZwg6-Wl.mjs +0 -134
  1313. package/dist/TagPage-DX0T8dNu.mjs +0 -125
  1314. package/dist/TopBar-BshQ_eFb.mjs +0 -760
  1315. package/dist/UserButtonContent-BwvIN_8j.mjs +0 -185
  1316. package/dist/VideoModuleBox-CYxZFZQV.mjs +0 -85
  1317. package/dist/VideoPage-B1udtWP7.mjs +0 -274
  1318. package/dist/classicApi-DpwVUC0E.mjs +0 -1906
  1319. package/dist/downloadHelper-DNFvCWE7.mjs +0 -36
  1320. package/dist/messages-DxAfPLH1.mjs +0 -2745
  1321. package/dist/useAdvancedParamInit-XK-FI81b.mjs +0 -162
  1322. package/dist/useDayjs-CD7LNHpM.mjs +0 -32
  1323. package/dist/useErrorHandler-DpcjkDh_.mjs +0 -19
  1324. package/dist/useImageProxy-DI8RhM5W.mjs +0 -20
  1325. package/dist/useOrgaComputed-Cv6ZE0fR.mjs +0 -19
  1326. package/dist/usePlayerLogicProgress-DJXygp1R.mjs +0 -108
  1327. package/dist/usePodcastView-AB8-AjDO.mjs +0 -56
  1328. package/dist/usePresentationItem-BSIM0LPe.mjs +0 -190
  1329. package/dist/useRights-9acWcTMy.mjs +0 -276
  1330. package/dist/useRubriquesFilterComputed-Hr6ZScZJ.mjs +0 -13
  1331. package/dist/useRubriquesFilterParam-CHOhIyzc.mjs +0 -36
  1332. package/dist/useSharePlatforms-BS51_Mgp.mjs +0 -468
  1333. package/dist/useSimplePageParam-CWi9AKl0.mjs +0 -54
  1334. package/dist/useTranslation-Bw07I8Rj.mjs +0 -205
  1335. package/dist/usefetchRadioData-CoAFZngO.mjs +0 -55
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSimplePageParam-9ps_YIpq.mjs","names":[],"sources":["../src/components/composable/route/useSimplePageParam.ts"],"sourcesContent":["import { useFilterStore } from '../../../stores/FilterStore';\nimport { useRouteUpdateParams } from './useRouteUpdateParams';\nimport { computed, onMounted, Ref, ref, watch } from \"vue\";\n\nimport { RouteProps, ROUTE_PARAMS } from \"./types\";\n\nexport const useSimplePageParam = (props: RouteProps, force=false, advancedSearch=false)=>{\n\n const { updateRouteParam } = useRouteUpdateParams();\n\n const filterStore = useFilterStore();\n\n const isInit = ref(false);\n const searchPattern = ref(\"\");\n const organisationId: Ref<string|undefined> = ref(undefined);\n\n const searchMinSize = computed(() => getMinSize((props.routeQuery as string)));\n const paginateFirst = computed(() => {\n if(!props.pr || props.ps === undefined) {\n return 0;\n }\n return Math.max(((props.pr as number) - 1 ) * (props.ps as number), 0);\n });\n\n watch(searchPattern, () => {\n if(!advancedSearch){\n const query = getMinSize(searchPattern.value);\n updateRouteParam({\n [ROUTE_PARAMS.Query]: query.length ? query : undefined,\n }, force);\n }\n });\n\n // When changing global organisation, update organisation here\n watch(() => filterStore.filterOrgaId, () => {\n organisationId.value = filterStore.filterOrgaId;\n });\n\n onMounted(() => {\n initOrga();\n initSearchPattern();\n isInit.value = true;\n });\n\n function getMinSize(param:string){\n return param.length>3 ?param : \"\"\n }\n function initSearchPattern(){\n searchPattern.value = (props.routeQuery as string) ?? \"\";\n }\n function initOrga(){\n organisationId.value = filterStore.filterOrgaId ?? (props.routeOrga as string);\n }\n\n\n return {\n searchPattern,\n organisationId,\n searchMinSize,\n paginateFirst,\n initSearchPattern,\n initOrga,\n updateRouteParam,\n isInit\n };\n}\n"],"mappings":";;;;;AAMA,IAAa,sBAAsB,OAAmB,QAAM,OAAO,iBAAe,UAAQ;CAExF,MAAM,EAAE,qBAAqB,qBAAqB;CAElD,MAAM,cAAe,eAAe;CAEpC,MAAM,SAAS,IAAI,KAAK;CACxB,MAAM,gBAAgB,IAAI,EAAE;CAC5B,MAAM,iBAAwC,IAAI,KAAA,CAAS;CAE3D,MAAM,gBAAgB,eAAe,WAAY,MAAM,UAAqB,CAAC;CAC7E,MAAM,gBAAgB,eAAe;EACnC,IAAG,CAAC,MAAM,MAAM,MAAM,OAAO,KAAA,GAC3B,OAAO;EAET,OAAO,KAAK,KAAM,MAAM,KAAgB,KAAO,MAAM,IAAe,CAAC;CACvE,CAAC;CAED,MAAM,qBAAqB;EACzB,IAAG,CAAC,gBAAe;GACjB,MAAM,QAAQ,WAAW,cAAc,KAAK;GAC5C,iBAAiB,GACd,aAAa,QAAQ,MAAM,SAAS,QAAQ,KAAA,EAC/C,GAAG,KAAK;EACV;CACF,CAAC;CAGD,YAAY,YAAY,oBAAoB;EAC1C,eAAe,QAAQ,YAAY;CACrC,CAAC;CAED,gBAAgB;EACd,SAAS;EACT,kBAAkB;EAClB,OAAO,QAAQ;CACjB,CAAC;CAED,SAAS,WAAW,OAAa;EAC/B,OAAO,MAAM,SAAO,IAAG,QAAQ;CACjC;CACA,SAAS,oBAAmB;EAC1B,cAAc,QAAS,MAAM,cAAyB;CACxD;CACA,SAAS,WAAU;EACjB,eAAe,QAAQ,YAAY,gBAAiB,MAAM;CAC5D;CAGA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
@@ -0,0 +1,54 @@
1
+ import { r as useFilterStore } from "./classicApi-ChvwoPGT.mjs";
2
+ import { t as useRouteUpdateParams } from "./useRouteUpdateParams-DurlddRA.mjs";
3
+ import { t as ROUTE_PARAMS } from "./types-8roXR0of.mjs";
4
+ import { computed, onMounted, ref, watch } from "vue";
5
+ //#region src/components/composable/route/useSimplePageParam.ts
6
+ var useSimplePageParam = (props, force = false, advancedSearch = false) => {
7
+ const { updateRouteParam } = useRouteUpdateParams();
8
+ const filterStore = useFilterStore();
9
+ const isInit = ref(false);
10
+ const searchPattern = ref("");
11
+ const organisationId = ref(void 0);
12
+ const searchMinSize = computed(() => getMinSize(props.routeQuery));
13
+ const paginateFirst = computed(() => {
14
+ if (!props.pr || props.ps === void 0) return 0;
15
+ return Math.max((props.pr - 1) * props.ps, 0);
16
+ });
17
+ watch(searchPattern, () => {
18
+ if (!advancedSearch) {
19
+ const query = getMinSize(searchPattern.value);
20
+ updateRouteParam({ [ROUTE_PARAMS.Query]: query.length ? query : void 0 }, force);
21
+ }
22
+ });
23
+ watch(() => filterStore.filterOrgaId, () => {
24
+ organisationId.value = filterStore.filterOrgaId;
25
+ });
26
+ onMounted(() => {
27
+ initOrga();
28
+ initSearchPattern();
29
+ isInit.value = true;
30
+ });
31
+ function getMinSize(param) {
32
+ return param.length > 3 ? param : "";
33
+ }
34
+ function initSearchPattern() {
35
+ searchPattern.value = props.routeQuery ?? "";
36
+ }
37
+ function initOrga() {
38
+ organisationId.value = filterStore.filterOrgaId ?? props.routeOrga;
39
+ }
40
+ return {
41
+ searchPattern,
42
+ organisationId,
43
+ searchMinSize,
44
+ paginateFirst,
45
+ initSearchPattern,
46
+ initOrga,
47
+ updateRouteParam,
48
+ isInit
49
+ };
50
+ };
51
+ //#endregion
52
+ export { useSimplePageParam as t };
53
+
54
+ //# sourceMappingURL=useSimplePageParam-ByeUUq4Z.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSimplePageParam-ByeUUq4Z.mjs","names":[],"sources":["../src/components/composable/route/useSimplePageParam.ts"],"sourcesContent":["import { useFilterStore } from '../../../stores/FilterStore';\nimport { useRouteUpdateParams } from './useRouteUpdateParams';\nimport { computed, onMounted, Ref, ref, watch } from \"vue\";\n\nimport { RouteProps, ROUTE_PARAMS } from \"./types\";\n\nexport const useSimplePageParam = (props: RouteProps, force=false, advancedSearch=false)=>{\n\n const { updateRouteParam } = useRouteUpdateParams();\n\n const filterStore = useFilterStore();\n\n const isInit = ref(false);\n const searchPattern = ref(\"\");\n const organisationId: Ref<string|undefined> = ref(undefined);\n\n const searchMinSize = computed(() => getMinSize((props.routeQuery as string)));\n const paginateFirst = computed(() => {\n if(!props.pr || props.ps === undefined) {\n return 0;\n }\n return Math.max(((props.pr as number) - 1 ) * (props.ps as number), 0);\n });\n\n watch(searchPattern, () => {\n if(!advancedSearch){\n const query = getMinSize(searchPattern.value);\n updateRouteParam({\n [ROUTE_PARAMS.Query]: query.length ? query : undefined,\n }, force);\n }\n });\n\n // When changing global organisation, update organisation here\n watch(() => filterStore.filterOrgaId, () => {\n organisationId.value = filterStore.filterOrgaId;\n });\n\n onMounted(() => {\n initOrga();\n initSearchPattern();\n isInit.value = true;\n });\n\n function getMinSize(param:string){\n return param.length>3 ?param : \"\"\n }\n function initSearchPattern(){\n searchPattern.value = (props.routeQuery as string) ?? \"\";\n }\n function initOrga(){\n organisationId.value = filterStore.filterOrgaId ?? (props.routeOrga as string);\n }\n\n\n return {\n searchPattern,\n organisationId,\n searchMinSize,\n paginateFirst,\n initSearchPattern,\n initOrga,\n updateRouteParam,\n isInit\n };\n}\n"],"mappings":";;;;;AAMA,IAAa,sBAAsB,OAAmB,QAAM,OAAO,iBAAe,UAAQ;CAExF,MAAM,EAAE,qBAAqB,qBAAqB;CAElD,MAAM,cAAe,eAAe;CAEpC,MAAM,SAAS,IAAI,KAAK;CACxB,MAAM,gBAAgB,IAAI,EAAE;CAC5B,MAAM,iBAAwC,IAAI,KAAA,CAAS;CAE3D,MAAM,gBAAgB,eAAe,WAAY,MAAM,UAAqB,CAAC;CAC7E,MAAM,gBAAgB,eAAe;EACnC,IAAG,CAAC,MAAM,MAAM,MAAM,OAAO,KAAA,GAC3B,OAAO;EAET,OAAO,KAAK,KAAM,MAAM,KAAgB,KAAO,MAAM,IAAe,CAAC;CACvE,CAAC;CAED,MAAM,qBAAqB;EACzB,IAAG,CAAC,gBAAe;GACjB,MAAM,QAAQ,WAAW,cAAc,KAAK;GAC5C,iBAAiB,GACd,aAAa,QAAQ,MAAM,SAAS,QAAQ,KAAA,EAC/C,GAAG,KAAK;EACV;CACF,CAAC;CAGD,YAAY,YAAY,oBAAoB;EAC1C,eAAe,QAAQ,YAAY;CACrC,CAAC;CAED,gBAAgB;EACd,SAAS;EACT,kBAAkB;EAClB,OAAO,QAAQ;CACjB,CAAC;CAED,SAAS,WAAW,OAAa;EAC/B,OAAO,MAAM,SAAO,IAAG,QAAQ;CACjC;CACA,SAAS,oBAAmB;EAC1B,cAAc,QAAS,MAAM,cAAyB;CACxD;CACA,SAAS,WAAU;EACjB,eAAe,QAAQ,YAAY,gBAAiB,MAAM;CAC5D;CAGA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSimplePageParam-C4qdDtdw.mjs","names":[],"sources":["../src/components/composable/route/useSimplePageParam.ts"],"sourcesContent":["import { useFilterStore } from '../../../stores/FilterStore';\nimport { useRouteUpdateParams } from './useRouteUpdateParams';\nimport { computed, onMounted, Ref, ref, watch } from \"vue\";\n\nimport { RouteProps, ROUTE_PARAMS } from \"./types\";\n\nexport const useSimplePageParam = (props: RouteProps, force=false, advancedSearch=false)=>{\n\n const { updateRouteParam } = useRouteUpdateParams();\n\n const filterStore = useFilterStore();\n\n const isInit = ref(false);\n const searchPattern = ref(\"\");\n const organisationId: Ref<string|undefined> = ref(undefined);\n\n const searchMinSize = computed(() => getMinSize((props.routeQuery as string)));\n const paginateFirst = computed(() => {\n if(!props.pr || props.ps === undefined) {\n return 0;\n }\n return Math.max(((props.pr as number) - 1 ) * (props.ps as number), 0);\n });\n\n watch(searchPattern, () => {\n if(!advancedSearch){\n const query = getMinSize(searchPattern.value);\n updateRouteParam({\n [ROUTE_PARAMS.Query]: query.length ? query : undefined,\n }, force);\n }\n });\n\n // When changing global organisation, update organisation here\n watch(() => filterStore.filterOrgaId, () => {\n organisationId.value = filterStore.filterOrgaId;\n });\n\n onMounted(() => {\n initOrga();\n initSearchPattern();\n isInit.value = true;\n });\n\n function getMinSize(param:string){\n return param.length>3 ?param : \"\"\n }\n function initSearchPattern(){\n searchPattern.value = (props.routeQuery as string) ?? \"\";\n }\n function initOrga(){\n organisationId.value = filterStore.filterOrgaId ?? (props.routeOrga as string);\n }\n\n\n return {\n searchPattern,\n organisationId,\n searchMinSize,\n paginateFirst,\n initSearchPattern,\n initOrga,\n updateRouteParam,\n isInit\n };\n}\n"],"mappings":";;;;;AAMA,IAAa,sBAAsB,OAAmB,QAAM,OAAO,iBAAe,UAAQ;CAExF,MAAM,EAAE,qBAAqB,qBAAqB;CAElD,MAAM,cAAe,eAAe;CAEpC,MAAM,SAAS,IAAI,KAAK;CACxB,MAAM,gBAAgB,IAAI,EAAE;CAC5B,MAAM,iBAAwC,IAAI,KAAA,CAAS;CAE3D,MAAM,gBAAgB,eAAe,WAAY,MAAM,UAAqB,CAAC;CAC7E,MAAM,gBAAgB,eAAe;EACnC,IAAG,CAAC,MAAM,MAAM,MAAM,OAAO,KAAA,GAC3B,OAAO;EAET,OAAO,KAAK,KAAM,MAAM,KAAgB,KAAO,MAAM,IAAe,CAAC;CACvE,CAAC;CAED,MAAM,qBAAqB;EACzB,IAAG,CAAC,gBAAe;GACjB,MAAM,QAAQ,WAAW,cAAc,KAAK;GAC5C,iBAAiB,GACd,aAAa,QAAQ,MAAM,SAAS,QAAQ,KAAA,EAC/C,GAAG,KAAK;EACV;CACF,CAAC;CAGD,YAAY,YAAY,oBAAoB;EAC1C,eAAe,QAAQ,YAAY;CACrC,CAAC;CAED,gBAAgB;EACd,SAAS;EACT,kBAAkB;EAClB,OAAO,QAAQ;CACjB,CAAC;CAED,SAAS,WAAW,OAAa;EAC/B,OAAO,MAAM,SAAO,IAAG,QAAQ;CACjC;CACA,SAAS,oBAAmB;EAC1B,cAAc,QAAS,MAAM,cAAyB;CACxD;CACA,SAAS,WAAU;EACjB,eAAe,QAAQ,YAAY,gBAAiB,MAAM;CAC5D;CAGA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSimplePageParam-COisq-R3.mjs","names":[],"sources":["../src/components/composable/route/useSimplePageParam.ts"],"sourcesContent":["import { useFilterStore } from '../../../stores/FilterStore';\nimport { useRouteUpdateParams } from './useRouteUpdateParams';\nimport { computed, onMounted, Ref, ref, watch } from \"vue\";\n\nimport { RouteProps, ROUTE_PARAMS } from \"./types\";\n\nexport const useSimplePageParam = (props: RouteProps, force=false, advancedSearch=false)=>{\n\n const { updateRouteParam } = useRouteUpdateParams();\n\n const filterStore = useFilterStore();\n\n const isInit = ref(false);\n const searchPattern = ref(\"\");\n const organisationId: Ref<string|undefined> = ref(undefined);\n\n const searchMinSize = computed(() => getMinSize((props.routeQuery as string)));\n const paginateFirst = computed(() => {\n if(!props.pr || props.ps === undefined) {\n return 0;\n }\n return Math.max(((props.pr as number) - 1 ) * (props.ps as number), 0);\n });\n\n watch(searchPattern, () => {\n if(!advancedSearch){\n const query = getMinSize(searchPattern.value);\n updateRouteParam({\n [ROUTE_PARAMS.Query]: query.length ? query : undefined,\n }, force);\n }\n });\n\n // When changing global organisation, update organisation here\n watch(() => filterStore.filterOrgaId, () => {\n organisationId.value = filterStore.filterOrgaId;\n });\n\n onMounted(() => {\n initOrga();\n initSearchPattern();\n isInit.value = true;\n });\n\n function getMinSize(param:string){\n return param.length>3 ?param : \"\"\n }\n function initSearchPattern(){\n searchPattern.value = (props.routeQuery as string) ?? \"\";\n }\n function initOrga(){\n organisationId.value = filterStore.filterOrgaId ?? (props.routeOrga as string);\n }\n\n\n return {\n searchPattern,\n organisationId,\n searchMinSize,\n paginateFirst,\n initSearchPattern,\n initOrga,\n updateRouteParam,\n isInit\n };\n}\n"],"mappings":";;;;;AAMA,IAAa,sBAAsB,OAAmB,QAAM,OAAO,iBAAe,UAAQ;CAExF,MAAM,EAAE,qBAAqB,qBAAqB;CAElD,MAAM,cAAe,eAAe;CAEpC,MAAM,SAAS,IAAI,KAAK;CACxB,MAAM,gBAAgB,IAAI,EAAE;CAC5B,MAAM,iBAAwC,IAAI,KAAA,CAAS;CAE3D,MAAM,gBAAgB,eAAe,WAAY,MAAM,UAAqB,CAAC;CAC7E,MAAM,gBAAgB,eAAe;EACnC,IAAG,CAAC,MAAM,MAAM,MAAM,OAAO,KAAA,GAC3B,OAAO;EAET,OAAO,KAAK,KAAM,MAAM,KAAgB,KAAO,MAAM,IAAe,CAAC;CACvE,CAAC;CAED,MAAM,qBAAqB;EACzB,IAAG,CAAC,gBAAe;GACjB,MAAM,QAAQ,WAAW,cAAc,KAAK;GAC5C,iBAAiB,GACd,aAAa,QAAQ,MAAM,SAAS,QAAQ,KAAA,EAC/C,GAAG,KAAK;EACV;CACF,CAAC;CAGD,YAAY,YAAY,oBAAoB;EAC1C,eAAe,QAAQ,YAAY;CACrC,CAAC;CAED,gBAAgB;EACd,SAAS;EACT,kBAAkB;EAClB,OAAO,QAAQ;CACjB,CAAC;CAED,SAAS,WAAW,OAAa;EAC/B,OAAO,MAAM,SAAO,IAAG,QAAQ;CACjC;CACA,SAAS,oBAAmB;EAC1B,cAAc,QAAS,MAAM,cAAyB;CACxD;CACA,SAAS,WAAU;EACjB,eAAe,QAAQ,YAAY,gBAAiB,MAAM;CAC5D;CAGA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSimplePageParam-DT1XPwfb.mjs","names":[],"sources":["../src/components/composable/route/useSimplePageParam.ts"],"sourcesContent":["import { useFilterStore } from '../../../stores/FilterStore';\nimport { useRouteUpdateParams } from './useRouteUpdateParams';\nimport { computed, onMounted, Ref, ref, watch } from \"vue\";\n\nimport { RouteProps, ROUTE_PARAMS } from \"./types\";\n\nexport const useSimplePageParam = (props: RouteProps, force=false, advancedSearch=false)=>{\n\n const { updateRouteParam } = useRouteUpdateParams();\n\n const filterStore = useFilterStore();\n\n const isInit = ref(false);\n const searchPattern = ref(\"\");\n const organisationId: Ref<string|undefined> = ref(undefined);\n\n const searchMinSize = computed(() => getMinSize((props.routeQuery as string)));\n const paginateFirst = computed(() => {\n if(!props.pr || props.ps === undefined) {\n return 0;\n }\n return Math.max(((props.pr as number) - 1 ) * (props.ps as number), 0);\n });\n\n watch(searchPattern, () => {\n if(!advancedSearch){\n const query = getMinSize(searchPattern.value);\n updateRouteParam({\n [ROUTE_PARAMS.Query]: query.length ? query : undefined,\n }, force);\n }\n });\n\n // When changing global organisation, update organisation here\n watch(() => filterStore.filterOrgaId, () => {\n organisationId.value = filterStore.filterOrgaId;\n });\n\n onMounted(() => {\n initOrga();\n initSearchPattern();\n isInit.value = true;\n });\n\n function getMinSize(param:string){\n return param.length>3 ?param : \"\"\n }\n function initSearchPattern(){\n searchPattern.value = (props.routeQuery as string) ?? \"\";\n }\n function initOrga(){\n organisationId.value = filterStore.filterOrgaId ?? (props.routeOrga as string);\n }\n\n\n return {\n searchPattern,\n organisationId,\n searchMinSize,\n paginateFirst,\n initSearchPattern,\n initOrga,\n updateRouteParam,\n isInit\n };\n}\n"],"mappings":";;;;;AAMA,IAAa,sBAAsB,OAAmB,QAAM,OAAO,iBAAe,UAAQ;CAExF,MAAM,EAAE,qBAAqB,qBAAqB;CAElD,MAAM,cAAe,eAAe;CAEpC,MAAM,SAAS,IAAI,KAAK;CACxB,MAAM,gBAAgB,IAAI,EAAE;CAC5B,MAAM,iBAAwC,IAAI,KAAA,CAAS;CAE3D,MAAM,gBAAgB,eAAe,WAAY,MAAM,UAAqB,CAAC;CAC7E,MAAM,gBAAgB,eAAe;EACnC,IAAG,CAAC,MAAM,MAAM,MAAM,OAAO,KAAA,GAC3B,OAAO;EAET,OAAO,KAAK,KAAM,MAAM,KAAgB,KAAO,MAAM,IAAe,CAAC;CACvE,CAAC;CAED,MAAM,qBAAqB;EACzB,IAAG,CAAC,gBAAe;GACjB,MAAM,QAAQ,WAAW,cAAc,KAAK;GAC5C,iBAAiB,GACd,aAAa,QAAQ,MAAM,SAAS,QAAQ,KAAA,EAC/C,GAAG,KAAK;EACV;CACF,CAAC;CAGD,YAAY,YAAY,oBAAoB;EAC1C,eAAe,QAAQ,YAAY;CACrC,CAAC;CAED,gBAAgB;EACd,SAAS;EACT,kBAAkB;EAClB,OAAO,QAAQ;CACjB,CAAC;CAED,SAAS,WAAW,OAAa;EAC/B,OAAO,MAAM,SAAO,IAAG,QAAQ;CACjC;CACA,SAAS,oBAAmB;EAC1B,cAAc,QAAS,MAAM,cAAyB;CACxD;CACA,SAAS,WAAU;EACjB,eAAe,QAAQ,YAAY,gBAAiB,MAAM;CAC5D;CAGA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSimplePageParam-DZIpRJUc.mjs","names":[],"sources":["../src/components/composable/route/useSimplePageParam.ts"],"sourcesContent":["import { useFilterStore } from '../../../stores/FilterStore';\nimport { useRouteUpdateParams } from './useRouteUpdateParams';\nimport { computed, onMounted, Ref, ref, watch } from \"vue\";\n\nimport { RouteProps, ROUTE_PARAMS } from \"./types\";\n\nexport const useSimplePageParam = (props: RouteProps, force=false, advancedSearch=false)=>{\n\n const { updateRouteParam } = useRouteUpdateParams();\n\n const filterStore = useFilterStore();\n\n const isInit = ref(false);\n const searchPattern = ref(\"\");\n const organisationId: Ref<string|undefined> = ref(undefined);\n\n const searchMinSize = computed(() => getMinSize((props.routeQuery as string)));\n const paginateFirst = computed(() => {\n if(!props.pr || props.ps === undefined) {\n return 0;\n }\n return Math.max(((props.pr as number) - 1 ) * (props.ps as number), 0);\n });\n\n watch(searchPattern, () => {\n if(!advancedSearch){\n const query = getMinSize(searchPattern.value);\n updateRouteParam({\n [ROUTE_PARAMS.Query]: query.length ? query : undefined,\n }, force);\n }\n });\n\n // When changing global organisation, update organisation here\n watch(() => filterStore.filterOrgaId, () => {\n organisationId.value = filterStore.filterOrgaId;\n });\n\n onMounted(() => {\n initOrga();\n initSearchPattern();\n isInit.value = true;\n });\n\n function getMinSize(param:string){\n return param.length>3 ?param : \"\"\n }\n function initSearchPattern(){\n searchPattern.value = (props.routeQuery as string) ?? \"\";\n }\n function initOrga(){\n organisationId.value = filterStore.filterOrgaId ?? (props.routeOrga as string);\n }\n\n\n return {\n searchPattern,\n organisationId,\n searchMinSize,\n paginateFirst,\n initSearchPattern,\n initOrga,\n updateRouteParam,\n isInit\n };\n}\n"],"mappings":";;;;;AAMA,IAAa,sBAAsB,OAAmB,QAAM,OAAO,iBAAe,UAAQ;CAExF,MAAM,EAAE,qBAAqB,qBAAqB;CAElD,MAAM,cAAe,eAAe;CAEpC,MAAM,SAAS,IAAI,KAAK;CACxB,MAAM,gBAAgB,IAAI,EAAE;CAC5B,MAAM,iBAAwC,IAAI,KAAA,CAAS;CAE3D,MAAM,gBAAgB,eAAe,WAAY,MAAM,UAAqB,CAAC;CAC7E,MAAM,gBAAgB,eAAe;EACnC,IAAG,CAAC,MAAM,MAAM,MAAM,OAAO,KAAA,GAC3B,OAAO;EAET,OAAO,KAAK,KAAM,MAAM,KAAgB,KAAO,MAAM,IAAe,CAAC;CACvE,CAAC;CAED,MAAM,qBAAqB;EACzB,IAAG,CAAC,gBAAe;GACjB,MAAM,QAAQ,WAAW,cAAc,KAAK;GAC5C,iBAAiB,GACd,aAAa,QAAQ,MAAM,SAAS,QAAQ,KAAA,EAC/C,GAAG,KAAK;EACV;CACF,CAAC;CAGD,YAAY,YAAY,oBAAoB;EAC1C,eAAe,QAAQ,YAAY;CACrC,CAAC;CAED,gBAAgB;EACd,SAAS;EACT,kBAAkB;EAClB,OAAO,QAAQ;CACjB,CAAC;CAED,SAAS,WAAW,OAAa;EAC/B,OAAO,MAAM,SAAO,IAAG,QAAQ;CACjC;CACA,SAAS,oBAAmB;EAC1B,cAAc,QAAS,MAAM,cAAyB;CACxD;CACA,SAAS,WAAU;EACjB,eAAe,QAAQ,YAAY,gBAAiB,MAAM;CAC5D;CAGA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSimplePageParam-Dw3p3GCC.mjs","names":[],"sources":["../src/components/composable/route/useSimplePageParam.ts"],"sourcesContent":["import { useFilterStore } from '../../../stores/FilterStore';\nimport { useRouteUpdateParams } from './useRouteUpdateParams';\nimport { computed, onMounted, Ref, ref, watch } from \"vue\";\n\nimport { RouteProps, ROUTE_PARAMS } from \"./types\";\n\nexport const useSimplePageParam = (props: RouteProps, force=false, advancedSearch=false)=>{\n\n const { updateRouteParam } = useRouteUpdateParams();\n\n const filterStore = useFilterStore();\n\n const isInit = ref(false);\n const searchPattern = ref(\"\");\n const organisationId: Ref<string|undefined> = ref(undefined);\n\n const searchMinSize = computed(() => getMinSize((props.routeQuery as string)));\n const paginateFirst = computed(() => {\n if(!props.pr || props.ps === undefined) {\n return 0;\n }\n return Math.max(((props.pr as number) - 1 ) * (props.ps as number), 0);\n });\n\n watch(searchPattern, () => {\n if(!advancedSearch){\n const query = getMinSize(searchPattern.value);\n updateRouteParam({\n [ROUTE_PARAMS.Query]: query.length ? query : undefined,\n }, force);\n }\n });\n\n // When changing global organisation, update organisation here\n watch(() => filterStore.filterOrgaId, () => {\n organisationId.value = filterStore.filterOrgaId;\n });\n\n onMounted(() => {\n initOrga();\n initSearchPattern();\n isInit.value = true;\n });\n\n function getMinSize(param:string){\n return param.length>3 ?param : \"\"\n }\n function initSearchPattern(){\n searchPattern.value = (props.routeQuery as string) ?? \"\";\n }\n function initOrga(){\n organisationId.value = filterStore.filterOrgaId ?? (props.routeOrga as string);\n }\n\n\n return {\n searchPattern,\n organisationId,\n searchMinSize,\n paginateFirst,\n initSearchPattern,\n initOrga,\n updateRouteParam,\n isInit\n };\n}\n"],"mappings":";;;;;AAMA,IAAa,sBAAsB,OAAmB,QAAM,OAAO,iBAAe,UAAQ;CAExF,MAAM,EAAE,qBAAqB,qBAAqB;CAElD,MAAM,cAAe,eAAe;CAEpC,MAAM,SAAS,IAAI,KAAK;CACxB,MAAM,gBAAgB,IAAI,EAAE;CAC5B,MAAM,iBAAwC,IAAI,KAAA,CAAS;CAE3D,MAAM,gBAAgB,eAAe,WAAY,MAAM,UAAqB,CAAC;CAC7E,MAAM,gBAAgB,eAAe;EACnC,IAAG,CAAC,MAAM,MAAM,MAAM,OAAO,KAAA,GAC3B,OAAO;EAET,OAAO,KAAK,KAAM,MAAM,KAAgB,KAAO,MAAM,IAAe,CAAC;CACvE,CAAC;CAED,MAAM,qBAAqB;EACzB,IAAG,CAAC,gBAAe;GACjB,MAAM,QAAQ,WAAW,cAAc,KAAK;GAC5C,iBAAiB,GACd,aAAa,QAAQ,MAAM,SAAS,QAAQ,KAAA,EAC/C,GAAG,KAAK;EACV;CACF,CAAC;CAGD,YAAY,YAAY,oBAAoB;EAC1C,eAAe,QAAQ,YAAY;CACrC,CAAC;CAED,gBAAgB;EACd,SAAS;EACT,kBAAkB;EAClB,OAAO,QAAQ;CACjB,CAAC;CAED,SAAS,WAAW,OAAa;EAC/B,OAAO,MAAM,SAAO,IAAG,QAAQ;CACjC;CACA,SAAS,oBAAmB;EAC1B,cAAc,QAAS,MAAM,cAAyB;CACxD;CACA,SAAS,WAAU;EACjB,eAAe,QAAQ,YAAY,gBAAiB,MAAM;CAC5D;CAGA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTranslation-BPLqy26U.mjs","names":[],"sources":["../src/helper/language.ts","../src/stores/class/transcript/transcriptParams.ts","../src/components/composable/useTranslation.ts"],"sourcesContent":["/**\n * Utility function to retrieve most relevant language for the user\n * @params forceToKnown When set to true (default), will limit language to one\n * one of 6 known languages. When set to false, allow all\n * languages.\n * @returns The most relevant language\n */\nexport function getLanguage(forceToKnown = true): string {\n const nameEQ = \"octopus-language=\";\n const ca = document.cookie.split(\";\");\n\n let language = \"\";\n for (const valueCookie of ca) {\n let c = valueCookie;\n while (c.startsWith(\" \")) {\n c = c.substring(1, c.length);\n }\n if (0 === c.indexOf(nameEQ)) {\n language = c.substring(nameEQ.length, c.length);\n break;\n }\n }\n\n if (0 === language.length) {\n if (forceToKnown === true) {\n // Choose best avilable language\n for (const navigatorLang of navigator.languages) {\n if (navigatorLang.includes(\"fr\")) {\n language = \"fr\";\n break;\n } else if (navigatorLang.includes(\"en\")) {\n language = \"en\";\n break;\n } else if (navigatorLang.includes(\"it\")) {\n language = \"it\";\n break;\n } else if (navigatorLang.includes(\"sl\")) {\n language = \"sl\";\n break;\n } else if (navigatorLang.includes(\"es\")) {\n language = \"es\";\n break;\n } else if (navigatorLang.includes(\"de\")) {\n language = \"de\";\n break;\n }\n }\n if (!language) {\n language = \"fr\";\n }\n } else {\n language = navigator.language;\n }\n }\n\n return language;\n}\n","export interface TranscriptParams {\n automation: string; // super, {date}, false \n ttsParams: TtsParams;\n modifyPodcast: ModifyPodcastConfig\n translationConfig: TranslationConfiguration;\n}\nexport interface TtsParams {\n super: string;\n style: string;\n pitch: number;\n speed: number;\n voice: string;\n language: string;\n}\n\nexport interface ModifyPodcastConfig {\n modifyChaptering: ModifyPodcastEnum;\n modifyKeywords: ModifyPodcastEnum;\n modifyDescription: ModifyPodcastEnum;\n createDescriptionUsingAi: boolean;\n wordsNumber: number;\n}\n\nexport enum ModifyPodcastEnum {\n SUPER = \"SUPER\",\n NO = \"NO\",\n IF_EMPTY = \"IF_EMPTY\",\n OVERWRITE=\"OVERWRITE\"\n}\n\nexport interface TranslationConfiguration {\n createTranslation:{[lang:string]: CreateTranslation};\n otherLanguage:CreateTranslation; //Cannot be ALWAYS\n}\n\nexport enum CreateTranslation {\n NEVER = \"NEVER\",\n ON_DEMAND = \"ON_DEMAND\",\n ALWAYS = \"ALWAYS\",\n SUPER=\"SUPER\"\n}\n\nexport function defaultTtsParams(): TtsParams {\n return {\n super: \"true\",\n style: \"neutral\",\n pitch: 0,\n speed: 1,\n voice: \"\",\n language: \"\"\n };\n}\n\nexport function defaultModifyPodcastConfig(): ModifyPodcastConfig {\n return {\n modifyChaptering: ModifyPodcastEnum.NO,\n modifyKeywords:ModifyPodcastEnum.NO,\n modifyDescription:ModifyPodcastEnum.NO,\n createDescriptionUsingAi: false,\n wordsNumber: 100,\n };\n}\n\n/**\n * Create a default object of TranslationConfiguration\n * @param isEmission Optional, if set and true changes default values\n * @returns The object\n */\nexport function defaultTranslationConfig(isEmission?: boolean): TranslationConfiguration {\n return {\n createTranslation:{},\n otherLanguage: isEmission ? CreateTranslation.SUPER : CreateTranslation.NEVER\n };\n}\n\nexport interface Voice {\n name: string;\n locale: string;\n displayName: string;\n gender: string;\n audioExample?: string;\n styles?: [];\n provider: string;\n}\nexport interface ProviderTts {\n name: string;\n fullName: string;\n logoPath: string;\n description: string;\n}\n","import { getLanguage } from \"../../helper/language\";\nimport { transcriptionApi, TranslationState, type PodcastTranslationData } from \"../../api/transcriptionApi\";\nimport { CreateTranslation, defaultTranslationConfig, TranslationConfiguration } from \"../../stores/class/transcript/transcriptParams\";\nimport { podcastApi } from \"../../api/podcastApi\";\nimport { Emission } from \"../../stores/class/general/emission\";\nimport { OrganisationAttributes } from \"@/stores/class/general/organisation\";\nimport { organisationApi } from \"../../api/organisationApi\";\n\nconst DEFAULT_LANGUAGE = 'en';\n\ninterface RelevantLanguages {\n /** Language which already has a generated translation */\n ready: string;\n /** Language that is more relevant but its translation is not yet generated */\n available?: string;\n}\n\nenum Availability {\n Available,\n ToGenerate,\n Unavailable\n}\n\nexport const useTranslation = () => {\n\n /**\n * Convert SRT data to plain text\n * @param srt The data to convert\n * @returns The plain text\n */\n function convertSrtToPlainText(srt: string): string {\n const srtPattern =\n /\\d+\\n[\\d:,]+\\s+-{2}>\\s+[\\d:,]+\\n([\\s\\S]*?(?=\\n{2}|$))/gm;\n const result: Array<string> = [];\n let matches: string[];\n while ((matches = srtPattern.exec(srt)) != null) {\n result.push(matches[1] + \" \");\n }\n return result.join(\"\");\n }\n\n function getApplicationConf(language: string, conf: TranslationConfiguration): CreateTranslation {\n if (language in conf.createTranslation) {\n return conf.createTranslation[language];\n }\n\n return conf.otherLanguage;\n }\n\n /**\n * Retrieve the translation configuration for a given language\n */\n function getConfigurationFor(language: string, emissionConf: TranslationConfiguration, orgaConf: TranslationConfiguration): CreateTranslation {\n const emissionSetting = getApplicationConf(language, emissionConf);\n if (emissionSetting === CreateTranslation.SUPER) {\n return getApplicationConf(language, orgaConf);\n }\n return emissionSetting;\n }\n\n function parseOrDefault(data: string|undefined, isEmission = false): TranslationConfiguration {\n return data ? JSON.parse(data) : defaultTranslationConfig(isEmission);\n }\n\n /**\n * Indicates wether the language is available (either because generated or\n * because it can be generated)\n * @param language The language to check for\n * @param emission *(optional)* If set, will also check in emission settings\n * @returns Whether the language is available or not\n */\n function getTranslationConfig(language: string, emission: Emission, orgaAttributes: OrganisationAttributes): CreateTranslation {\n const emissionTranslation = parseOrDefault(emission.annotations?.['translation-config'] as string|undefined, true);\n const orgTranslation = parseOrDefault(orgaAttributes?.['translation-config']);\n\n return getConfigurationFor(language, emissionTranslation, orgTranslation);\n }\n\n function getLanguageAvailability(language: string, emission: Emission, orgaAttributes: OrganisationAttributes, translationData: PodcastTranslationData): Availability {\n \n // 1. If language of podcast == language of browser, use that language\n if (language === translationData.nativeLanguage) {\n return Availability.Available;\n } else {\n const langConfig = getTranslationConfig(language, emission, orgaAttributes);\n\n // 2. If the language of the browser is available, use it\n if (langConfig === CreateTranslation.ALWAYS) {\n return Availability.Available;\n }\n // 2b. If the language is on demand, check if generated\n else if (langConfig === CreateTranslation.ON_DEMAND) {\n // Check if translation is already generated\n if (translationData.translations.find(t => t.language === language && t.state === TranslationState.FINISHED)) {\n return Availability.Available;\n } else {\n return Availability.ToGenerate;\n }\n }\n }\n\n return Availability.Unavailable;\n }\n\n /**\n * Get the relevant language for the current user\n * @param translationData The translation data for the podcast\n * @returns An object with properties 'ready' and 'available'\n * - *ready* Is the best language already generated\n * - *available* Is the best language not yet generated (or\n * undefined if *ready* is better)\n */\n async function getMostRelevantLanguage(translationData: PodcastTranslationData): Promise<RelevantLanguages> {\n const userLanguage = getLanguage(false);\n\n // If user language is native, do not go further\n if (userLanguage === translationData.nativeLanguage) {\n return { ready: userLanguage };\n }\n\n // Compute all available languages. Use language set on site, then\n // languages defined on browser, then default, and finally native language\n const languages: string[] = [];\n [userLanguage, ...navigator.languages, DEFAULT_LANGUAGE, translationData.nativeLanguage].forEach(l => {\n // For each language, if it is a variant (for example fr-CH), use\n // only the base language\n if (l.includes('-')) {\n l = l.split('-')[0];\n }\n\n if (!languages.includes(l)) {\n languages.push(l);\n }\n });\n\n const podcast = await podcastApi.get(translationData.podcastId);\n const emission = podcast.emission;\n const orgaAttributes = await organisationApi.getAttributes(podcast.organisation.id);\n\n let bestReady: string|null = null;\n let bestAvailable: string|null = null;\n\n for (const language of languages) {\n const avaibility = getLanguageAvailability(language, emission, orgaAttributes, translationData);\n if (avaibility === Availability.Available && bestReady === null) {\n bestReady = language;\n break;\n }\n\n if (avaibility === Availability.ToGenerate && bestAvailable === null) {\n bestAvailable = language;\n }\n }\n\n return { ready: bestReady, available: bestAvailable ?? undefined };\n }\n\n /**\n * Get the relevant translation for the current user\n * @param translationData The translation data for the podcast\n * @returns The translation\n */\n async function getMostRelevantTranslation(translationData: PodcastTranslationData): Promise<string>;\n /**\n * Get the relevant translation for the current user\n * @param podcastId The ID of the podcast\n * @returns The translation\n */\n async function getMostRelevantTranslation(podcastId: number): Promise<string>;\n\n /**\n * Get the relevant translation for the current user\n * @param translationData The translation data for the podcast\n * @returns The translation\n */\n async function getMostRelevantTranslation(data: PodcastTranslationData|number): Promise<string> {\n let translationData: PodcastTranslationData;\n if (typeof data === 'number') {\n translationData = await transcriptionApi.getTranslations(data);\n } else {\n translationData = data;\n }\n\n const { ready } = await getMostRelevantLanguage(translationData);\n\n // Finally get translation with chosen language\n const podcastId = translationData.podcastId;\n return await transcriptionApi.getTranslation(podcastId, ready);\n }\n\n return {\n convertSrtToPlainText,\n getMostRelevantLanguage,\n getMostRelevantTranslation,\n getTranslationConfig\n }\n};\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTranslation-C4rvyoXK.mjs","names":[],"sources":["../src/helper/language.ts","../src/stores/class/transcript/transcriptParams.ts","../src/components/composable/useTranslation.ts"],"sourcesContent":["/**\n * Utility function to retrieve most relevant language for the user\n * @params forceToKnown When set to true (default), will limit language to one\n * one of 6 known languages. When set to false, allow all\n * languages.\n * @returns The most relevant language\n */\nexport function getLanguage(forceToKnown = true): string {\n const nameEQ = \"octopus-language=\";\n const ca = document.cookie.split(\";\");\n\n let language = \"\";\n for (const valueCookie of ca) {\n let c = valueCookie;\n while (c.startsWith(\" \")) {\n c = c.substring(1, c.length);\n }\n if (0 === c.indexOf(nameEQ)) {\n language = c.substring(nameEQ.length, c.length);\n break;\n }\n }\n\n if (0 === language.length) {\n if (forceToKnown === true) {\n // Choose best avilable language\n for (const navigatorLang of navigator.languages) {\n if (navigatorLang.includes(\"fr\")) {\n language = \"fr\";\n break;\n } else if (navigatorLang.includes(\"en\")) {\n language = \"en\";\n break;\n } else if (navigatorLang.includes(\"it\")) {\n language = \"it\";\n break;\n } else if (navigatorLang.includes(\"sl\")) {\n language = \"sl\";\n break;\n } else if (navigatorLang.includes(\"es\")) {\n language = \"es\";\n break;\n } else if (navigatorLang.includes(\"de\")) {\n language = \"de\";\n break;\n }\n }\n if (!language) {\n language = \"fr\";\n }\n } else {\n language = navigator.language;\n }\n }\n\n return language;\n}\n","export interface TranscriptParams {\n automation: string; // super, {date}, false \n ttsParams: TtsParams;\n modifyPodcast: ModifyPodcastConfig\n translationConfig: TranslationConfiguration;\n}\nexport interface TtsParams {\n super: string;\n style: string;\n pitch: number;\n speed: number;\n voice: string;\n language: string;\n}\n\nexport interface ModifyPodcastConfig {\n modifyChaptering: ModifyPodcastEnum;\n modifyKeywords: ModifyPodcastEnum;\n modifyDescription: ModifyPodcastEnum;\n createDescriptionUsingAi: boolean;\n wordsNumber: number;\n}\n\nexport enum ModifyPodcastEnum {\n SUPER = \"SUPER\",\n NO = \"NO\",\n IF_EMPTY = \"IF_EMPTY\",\n OVERWRITE=\"OVERWRITE\"\n}\n\nexport interface TranslationConfiguration {\n createTranslation:{[lang:string]: CreateTranslation};\n otherLanguage:CreateTranslation; //Cannot be ALWAYS\n}\n\nexport enum CreateTranslation {\n NEVER = \"NEVER\",\n ON_DEMAND = \"ON_DEMAND\",\n ALWAYS = \"ALWAYS\",\n SUPER=\"SUPER\"\n}\n\nexport function defaultTtsParams(): TtsParams {\n return {\n super: \"true\",\n style: \"neutral\",\n pitch: 0,\n speed: 1,\n voice: \"\",\n language: \"\"\n };\n}\n\nexport function defaultModifyPodcastConfig(): ModifyPodcastConfig {\n return {\n modifyChaptering: ModifyPodcastEnum.NO,\n modifyKeywords:ModifyPodcastEnum.NO,\n modifyDescription:ModifyPodcastEnum.NO,\n createDescriptionUsingAi: false,\n wordsNumber: 100,\n };\n}\n\n/**\n * Create a default object of TranslationConfiguration\n * @param isEmission Optional, if set and true changes default values\n * @returns The object\n */\nexport function defaultTranslationConfig(isEmission?: boolean): TranslationConfiguration {\n return {\n createTranslation:{},\n otherLanguage: isEmission ? CreateTranslation.SUPER : CreateTranslation.NEVER\n };\n}\n\nexport interface Voice {\n name: string;\n locale: string;\n displayName: string;\n gender: string;\n audioExample?: string;\n styles?: [];\n provider: string;\n}\nexport interface ProviderTts {\n name: string;\n fullName: string;\n logoPath: string;\n description: string;\n}\n","import { getLanguage } from \"../../helper/language\";\nimport { transcriptionApi, TranslationState, type PodcastTranslationData } from \"../../api/transcriptionApi\";\nimport { CreateTranslation, defaultTranslationConfig, TranslationConfiguration } from \"../../stores/class/transcript/transcriptParams\";\nimport { podcastApi } from \"../../api/podcastApi\";\nimport { Emission } from \"../../stores/class/general/emission\";\nimport { OrganisationAttributes } from \"@/stores/class/general/organisation\";\nimport { organisationApi } from \"../../api/organisationApi\";\n\nconst DEFAULT_LANGUAGE = 'en';\n\ninterface RelevantLanguages {\n /** Language which already has a generated translation */\n ready: string;\n /** Language that is more relevant but its translation is not yet generated */\n available?: string;\n}\n\nenum Availability {\n Available,\n ToGenerate,\n Unavailable\n}\n\nexport const useTranslation = () => {\n\n /**\n * Convert SRT data to plain text\n * @param srt The data to convert\n * @returns The plain text\n */\n function convertSrtToPlainText(srt: string): string {\n const srtPattern =\n /\\d+\\n[\\d:,]+\\s+-{2}>\\s+[\\d:,]+\\n([\\s\\S]*?(?=\\n{2}|$))/gm;\n const result: Array<string> = [];\n let matches: string[];\n while ((matches = srtPattern.exec(srt)) != null) {\n result.push(matches[1] + \" \");\n }\n return result.join(\"\");\n }\n\n function getApplicationConf(language: string, conf: TranslationConfiguration): CreateTranslation {\n if (language in conf.createTranslation) {\n return conf.createTranslation[language];\n }\n\n return conf.otherLanguage;\n }\n\n /**\n * Retrieve the translation configuration for a given language\n */\n function getConfigurationFor(language: string, emissionConf: TranslationConfiguration, orgaConf: TranslationConfiguration): CreateTranslation {\n const emissionSetting = getApplicationConf(language, emissionConf);\n if (emissionSetting === CreateTranslation.SUPER) {\n return getApplicationConf(language, orgaConf);\n }\n return emissionSetting;\n }\n\n function parseOrDefault(data: string|undefined, isEmission = false): TranslationConfiguration {\n return data ? JSON.parse(data) : defaultTranslationConfig(isEmission);\n }\n\n /**\n * Indicates wether the language is available (either because generated or\n * because it can be generated)\n * @param language The language to check for\n * @param emission *(optional)* If set, will also check in emission settings\n * @returns Whether the language is available or not\n */\n function getTranslationConfig(language: string, emission: Emission, orgaAttributes: OrganisationAttributes): CreateTranslation {\n const emissionTranslation = parseOrDefault(emission.annotations?.['translation-config'] as string|undefined, true);\n const orgTranslation = parseOrDefault(orgaAttributes?.['translation-config']);\n\n return getConfigurationFor(language, emissionTranslation, orgTranslation);\n }\n\n function getLanguageAvailability(language: string, emission: Emission, orgaAttributes: OrganisationAttributes, translationData: PodcastTranslationData): Availability {\n \n // 1. If language of podcast == language of browser, use that language\n if (language === translationData.nativeLanguage) {\n return Availability.Available;\n } else {\n const langConfig = getTranslationConfig(language, emission, orgaAttributes);\n\n // 2. If the language of the browser is available, use it\n if (langConfig === CreateTranslation.ALWAYS) {\n return Availability.Available;\n }\n // 2b. If the language is on demand, check if generated\n else if (langConfig === CreateTranslation.ON_DEMAND) {\n // Check if translation is already generated\n if (translationData.translations.find(t => t.language === language && t.state === TranslationState.FINISHED)) {\n return Availability.Available;\n } else {\n return Availability.ToGenerate;\n }\n }\n }\n\n return Availability.Unavailable;\n }\n\n /**\n * Get the relevant language for the current user\n * @param translationData The translation data for the podcast\n * @returns An object with properties 'ready' and 'available'\n * - *ready* Is the best language already generated\n * - *available* Is the best language not yet generated (or\n * undefined if *ready* is better)\n */\n async function getMostRelevantLanguage(translationData: PodcastTranslationData): Promise<RelevantLanguages> {\n const userLanguage = getLanguage(false);\n\n // If user language is native, do not go further\n if (userLanguage === translationData.nativeLanguage) {\n return { ready: userLanguage };\n }\n\n // Compute all available languages. Use language set on site, then\n // languages defined on browser, then default, and finally native language\n const languages: string[] = [];\n [userLanguage, ...navigator.languages, DEFAULT_LANGUAGE, translationData.nativeLanguage].forEach(l => {\n // For each language, if it is a variant (for example fr-CH), use\n // only the base language\n if (l.includes('-')) {\n l = l.split('-')[0];\n }\n\n if (!languages.includes(l)) {\n languages.push(l);\n }\n });\n\n const podcast = await podcastApi.get(translationData.podcastId);\n const emission = podcast.emission;\n const orgaAttributes = await organisationApi.getAttributes(podcast.organisation.id);\n\n let bestReady: string|null = null;\n let bestAvailable: string|null = null;\n\n for (const language of languages) {\n const avaibility = getLanguageAvailability(language, emission, orgaAttributes, translationData);\n if (avaibility === Availability.Available && bestReady === null) {\n bestReady = language;\n break;\n }\n\n if (avaibility === Availability.ToGenerate && bestAvailable === null) {\n bestAvailable = language;\n }\n }\n\n return { ready: bestReady, available: bestAvailable ?? undefined };\n }\n\n /**\n * Get the relevant translation for the current user\n * @param translationData The translation data for the podcast\n * @returns The translation\n */\n async function getMostRelevantTranslation(translationData: PodcastTranslationData): Promise<string>;\n /**\n * Get the relevant translation for the current user\n * @param podcastId The ID of the podcast\n * @returns The translation\n */\n async function getMostRelevantTranslation(podcastId: number): Promise<string>;\n\n /**\n * Get the relevant translation for the current user\n * @param translationData The translation data for the podcast\n * @returns The translation\n */\n async function getMostRelevantTranslation(data: PodcastTranslationData|number): Promise<string> {\n let translationData: PodcastTranslationData;\n if (typeof data === 'number') {\n translationData = await transcriptionApi.getTranslations(data);\n } else {\n translationData = data;\n }\n\n const { ready } = await getMostRelevantLanguage(translationData);\n\n // Finally get translation with chosen language\n const podcastId = translationData.podcastId;\n return await transcriptionApi.getTranslation(podcastId, ready);\n }\n\n return {\n convertSrtToPlainText,\n getMostRelevantLanguage,\n getMostRelevantTranslation,\n getTranslationConfig\n }\n};\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTranslation-C8Dy1ma7.mjs","names":[],"sources":["../src/helper/language.ts","../src/stores/class/transcript/transcriptParams.ts","../src/components/composable/useTranslation.ts"],"sourcesContent":["/**\n * Utility function to retrieve most relevant language for the user\n * @params forceToKnown When set to true (default), will limit language to one\n * one of 6 known languages. When set to false, allow all\n * languages.\n * @returns The most relevant language\n */\nexport function getLanguage(forceToKnown = true): string {\n const nameEQ = \"octopus-language=\";\n const ca = document.cookie.split(\";\");\n\n let language = \"\";\n for (const valueCookie of ca) {\n let c = valueCookie;\n while (c.startsWith(\" \")) {\n c = c.substring(1, c.length);\n }\n if (0 === c.indexOf(nameEQ)) {\n language = c.substring(nameEQ.length, c.length);\n break;\n }\n }\n\n if (0 === language.length) {\n if (forceToKnown === true) {\n // Choose best avilable language\n for (const navigatorLang of navigator.languages) {\n if (navigatorLang.includes(\"fr\")) {\n language = \"fr\";\n break;\n } else if (navigatorLang.includes(\"en\")) {\n language = \"en\";\n break;\n } else if (navigatorLang.includes(\"it\")) {\n language = \"it\";\n break;\n } else if (navigatorLang.includes(\"sl\")) {\n language = \"sl\";\n break;\n } else if (navigatorLang.includes(\"es\")) {\n language = \"es\";\n break;\n } else if (navigatorLang.includes(\"de\")) {\n language = \"de\";\n break;\n }\n }\n if (!language) {\n language = \"fr\";\n }\n } else {\n language = navigator.language;\n }\n }\n\n return language;\n}\n","export interface TranscriptParams {\n automation: string; // super, {date}, false \n ttsParams: TtsParams;\n modifyPodcast: ModifyPodcastConfig\n translationConfig: TranslationConfiguration;\n}\nexport interface TtsParams {\n super: string;\n style: string;\n pitch: number;\n speed: number;\n voice: string;\n language: string;\n}\n\nexport interface ModifyPodcastConfig {\n modifyChaptering: ModifyPodcastEnum;\n modifyKeywords: ModifyPodcastEnum;\n modifyDescription: ModifyPodcastEnum;\n createDescriptionUsingAi: boolean;\n wordsNumber: number;\n}\n\nexport enum ModifyPodcastEnum {\n SUPER = \"SUPER\",\n NO = \"NO\",\n IF_EMPTY = \"IF_EMPTY\",\n OVERWRITE=\"OVERWRITE\"\n}\n\nexport interface TranslationConfiguration {\n createTranslation:{[lang:string]: CreateTranslation};\n otherLanguage:CreateTranslation; //Cannot be ALWAYS\n}\n\nexport enum CreateTranslation {\n NEVER = \"NEVER\",\n ON_DEMAND = \"ON_DEMAND\",\n ALWAYS = \"ALWAYS\",\n SUPER=\"SUPER\"\n}\n\nexport function defaultTtsParams(): TtsParams {\n return {\n super: \"true\",\n style: \"neutral\",\n pitch: 0,\n speed: 1,\n voice: \"\",\n language: \"\"\n };\n}\n\nexport function defaultModifyPodcastConfig(): ModifyPodcastConfig {\n return {\n modifyChaptering: ModifyPodcastEnum.NO,\n modifyKeywords:ModifyPodcastEnum.NO,\n modifyDescription:ModifyPodcastEnum.NO,\n createDescriptionUsingAi: false,\n wordsNumber: 100,\n };\n}\n\n/**\n * Create a default object of TranslationConfiguration\n * @param isEmission Optional, if set and true changes default values\n * @returns The object\n */\nexport function defaultTranslationConfig(isEmission?: boolean): TranslationConfiguration {\n return {\n createTranslation:{},\n otherLanguage: isEmission ? CreateTranslation.SUPER : CreateTranslation.NEVER\n };\n}\n\nexport interface Voice {\n name: string;\n locale: string;\n displayName: string;\n gender: string;\n audioExample?: string;\n styles?: [];\n provider: string;\n}\nexport interface ProviderTts {\n name: string;\n fullName: string;\n logoPath: string;\n description: string;\n}\n","import { getLanguage } from \"../../helper/language\";\nimport { transcriptionApi, TranslationState, type PodcastTranslationData } from \"../../api/transcriptionApi\";\nimport { CreateTranslation, defaultTranslationConfig, TranslationConfiguration } from \"../../stores/class/transcript/transcriptParams\";\nimport { podcastApi } from \"../../api/podcastApi\";\nimport { Emission } from \"../../stores/class/general/emission\";\nimport { OrganisationAttributes } from \"@/stores/class/general/organisation\";\nimport { organisationApi } from \"../../api/organisationApi\";\n\nconst DEFAULT_LANGUAGE = 'en';\n\ninterface RelevantLanguages {\n /** Language which already has a generated translation */\n ready: string;\n /** Language that is more relevant but its translation is not yet generated */\n available?: string;\n}\n\nenum Availability {\n Available,\n ToGenerate,\n Unavailable\n}\n\nexport const useTranslation = () => {\n\n /**\n * Convert SRT data to plain text\n * @param srt The data to convert\n * @returns The plain text\n */\n function convertSrtToPlainText(srt: string): string {\n const srtPattern =\n /\\d+\\n[\\d:,]+\\s+-{2}>\\s+[\\d:,]+\\n([\\s\\S]*?(?=\\n{2}|$))/gm;\n const result: Array<string> = [];\n let matches: string[];\n while ((matches = srtPattern.exec(srt)) != null) {\n result.push(matches[1] + \" \");\n }\n return result.join(\"\");\n }\n\n function getApplicationConf(language: string, conf: TranslationConfiguration): CreateTranslation {\n if (language in conf.createTranslation) {\n return conf.createTranslation[language];\n }\n\n return conf.otherLanguage;\n }\n\n /**\n * Retrieve the translation configuration for a given language\n */\n function getConfigurationFor(language: string, emissionConf: TranslationConfiguration, orgaConf: TranslationConfiguration): CreateTranslation {\n const emissionSetting = getApplicationConf(language, emissionConf);\n if (emissionSetting === CreateTranslation.SUPER) {\n return getApplicationConf(language, orgaConf);\n }\n return emissionSetting;\n }\n\n function parseOrDefault(data: string|undefined, isEmission = false): TranslationConfiguration {\n return data ? JSON.parse(data) : defaultTranslationConfig(isEmission);\n }\n\n /**\n * Indicates wether the language is available (either because generated or\n * because it can be generated)\n * @param language The language to check for\n * @param emission *(optional)* If set, will also check in emission settings\n * @returns Whether the language is available or not\n */\n function getTranslationConfig(language: string, emission: Emission, orgaAttributes: OrganisationAttributes): CreateTranslation {\n const emissionTranslation = parseOrDefault(emission.annotations?.['translation-config'] as string|undefined, true);\n const orgTranslation = parseOrDefault(orgaAttributes?.['translation-config']);\n\n return getConfigurationFor(language, emissionTranslation, orgTranslation);\n }\n\n function getLanguageAvailability(language: string, emission: Emission, orgaAttributes: OrganisationAttributes, translationData: PodcastTranslationData): Availability {\n \n // 1. If language of podcast == language of browser, use that language\n if (language === translationData.nativeLanguage) {\n return Availability.Available;\n } else {\n const langConfig = getTranslationConfig(language, emission, orgaAttributes);\n\n // 2. If the language of the browser is available, use it\n if (langConfig === CreateTranslation.ALWAYS) {\n return Availability.Available;\n }\n // 2b. If the language is on demand, check if generated\n else if (langConfig === CreateTranslation.ON_DEMAND) {\n // Check if translation is already generated\n if (translationData.translations.find(t => t.language === language && t.state === TranslationState.FINISHED)) {\n return Availability.Available;\n } else {\n return Availability.ToGenerate;\n }\n }\n }\n\n return Availability.Unavailable;\n }\n\n /**\n * Get the relevant language for the current user\n * @param translationData The translation data for the podcast\n * @returns An object with properties 'ready' and 'available'\n * - *ready* Is the best language already generated\n * - *available* Is the best language not yet generated (or\n * undefined if *ready* is better)\n */\n async function getMostRelevantLanguage(translationData: PodcastTranslationData): Promise<RelevantLanguages> {\n const userLanguage = getLanguage(false);\n\n // If user language is native, do not go further\n if (userLanguage === translationData.nativeLanguage) {\n return { ready: userLanguage };\n }\n\n // Compute all available languages. Use language set on site, then\n // languages defined on browser, then default, and finally native language\n const languages: string[] = [];\n [userLanguage, ...navigator.languages, DEFAULT_LANGUAGE, translationData.nativeLanguage].forEach(l => {\n // For each language, if it is a variant (for example fr-CH), use\n // only the base language\n if (l.includes('-')) {\n l = l.split('-')[0];\n }\n\n if (!languages.includes(l)) {\n languages.push(l);\n }\n });\n\n const podcast = await podcastApi.get(translationData.podcastId);\n const emission = podcast.emission;\n const orgaAttributes = await organisationApi.getAttributes(podcast.organisation.id);\n\n let bestReady: string|null = null;\n let bestAvailable: string|null = null;\n\n for (const language of languages) {\n const avaibility = getLanguageAvailability(language, emission, orgaAttributes, translationData);\n if (avaibility === Availability.Available && bestReady === null) {\n bestReady = language;\n break;\n }\n\n if (avaibility === Availability.ToGenerate && bestAvailable === null) {\n bestAvailable = language;\n }\n }\n\n return { ready: bestReady, available: bestAvailable ?? undefined };\n }\n\n /**\n * Get the relevant translation for the current user\n * @param translationData The translation data for the podcast\n * @returns The translation\n */\n async function getMostRelevantTranslation(translationData: PodcastTranslationData): Promise<string>;\n /**\n * Get the relevant translation for the current user\n * @param podcastId The ID of the podcast\n * @returns The translation\n */\n async function getMostRelevantTranslation(podcastId: number): Promise<string>;\n\n /**\n * Get the relevant translation for the current user\n * @param translationData The translation data for the podcast\n * @returns The translation\n */\n async function getMostRelevantTranslation(data: PodcastTranslationData|number): Promise<string> {\n let translationData: PodcastTranslationData;\n if (typeof data === 'number') {\n translationData = await transcriptionApi.getTranslations(data);\n } else {\n translationData = data;\n }\n\n const { ready } = await getMostRelevantLanguage(translationData);\n\n // Finally get translation with chosen language\n const podcastId = translationData.podcastId;\n return await transcriptionApi.getTranslation(podcastId, ready);\n }\n\n return {\n convertSrtToPlainText,\n getMostRelevantLanguage,\n getMostRelevantTranslation,\n getTranslationConfig\n }\n};\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTranslation-CLkN3q6e.mjs","names":[],"sources":["../src/helper/language.ts","../src/stores/class/transcript/transcriptParams.ts","../src/components/composable/useTranslation.ts"],"sourcesContent":["/**\n * Utility function to retrieve most relevant language for the user\n * @params forceToKnown When set to true (default), will limit language to one\n * one of 6 known languages. When set to false, allow all\n * languages.\n * @returns The most relevant language\n */\nexport function getLanguage(forceToKnown = true): string {\n const nameEQ = \"octopus-language=\";\n const ca = document.cookie.split(\";\");\n\n let language = \"\";\n for (const valueCookie of ca) {\n let c = valueCookie;\n while (c.startsWith(\" \")) {\n c = c.substring(1, c.length);\n }\n if (0 === c.indexOf(nameEQ)) {\n language = c.substring(nameEQ.length, c.length);\n break;\n }\n }\n\n if (0 === language.length) {\n if (forceToKnown === true) {\n // Choose best avilable language\n for (const navigatorLang of navigator.languages) {\n if (navigatorLang.includes(\"fr\")) {\n language = \"fr\";\n break;\n } else if (navigatorLang.includes(\"en\")) {\n language = \"en\";\n break;\n } else if (navigatorLang.includes(\"it\")) {\n language = \"it\";\n break;\n } else if (navigatorLang.includes(\"sl\")) {\n language = \"sl\";\n break;\n } else if (navigatorLang.includes(\"es\")) {\n language = \"es\";\n break;\n } else if (navigatorLang.includes(\"de\")) {\n language = \"de\";\n break;\n }\n }\n if (!language) {\n language = \"fr\";\n }\n } else {\n language = navigator.language;\n }\n }\n\n return language;\n}\n","export interface TranscriptParams {\n automation: string; // super, {date}, false \n ttsParams: TtsParams;\n modifyPodcast: ModifyPodcastConfig\n translationConfig: TranslationConfiguration;\n}\nexport interface TtsParams {\n super: string;\n style: string;\n pitch: number;\n speed: number;\n voice: string;\n language: string;\n}\n\nexport interface ModifyPodcastConfig {\n modifyChaptering: ModifyPodcastEnum;\n modifyKeywords: ModifyPodcastEnum;\n modifyDescription: ModifyPodcastEnum;\n createDescriptionUsingAi: boolean;\n wordsNumber: number;\n}\n\nexport enum ModifyPodcastEnum {\n SUPER = \"SUPER\",\n NO = \"NO\",\n IF_EMPTY = \"IF_EMPTY\",\n OVERWRITE=\"OVERWRITE\"\n}\n\nexport interface TranslationConfiguration {\n createTranslation:{[lang:string]: CreateTranslation};\n otherLanguage:CreateTranslation; //Cannot be ALWAYS\n}\n\nexport enum CreateTranslation {\n NEVER = \"NEVER\",\n ON_DEMAND = \"ON_DEMAND\",\n ALWAYS = \"ALWAYS\",\n SUPER=\"SUPER\"\n}\n\nexport function defaultTtsParams(): TtsParams {\n return {\n super: \"true\",\n style: \"neutral\",\n pitch: 0,\n speed: 1,\n voice: \"\",\n language: \"\"\n };\n}\n\nexport function defaultModifyPodcastConfig(): ModifyPodcastConfig {\n return {\n modifyChaptering: ModifyPodcastEnum.NO,\n modifyKeywords:ModifyPodcastEnum.NO,\n modifyDescription:ModifyPodcastEnum.NO,\n createDescriptionUsingAi: false,\n wordsNumber: 100,\n };\n}\n\n/**\n * Create a default object of TranslationConfiguration\n * @param isEmission Optional, if set and true changes default values\n * @returns The object\n */\nexport function defaultTranslationConfig(isEmission?: boolean): TranslationConfiguration {\n return {\n createTranslation:{},\n otherLanguage: isEmission ? CreateTranslation.SUPER : CreateTranslation.NEVER\n };\n}\n\nexport interface Voice {\n name: string;\n locale: string;\n displayName: string;\n gender: string;\n audioExample?: string;\n styles?: [];\n provider: string;\n}\nexport interface ProviderTts {\n name: string;\n fullName: string;\n logoPath: string;\n description: string;\n}\n","import { getLanguage } from \"../../helper/language\";\nimport { transcriptionApi, TranslationState, type PodcastTranslationData } from \"../../api/transcriptionApi\";\nimport { CreateTranslation, defaultTranslationConfig, TranslationConfiguration } from \"../../stores/class/transcript/transcriptParams\";\nimport { podcastApi } from \"../../api/podcastApi\";\nimport { Emission } from \"../../stores/class/general/emission\";\nimport { OrganisationAttributes } from \"@/stores/class/general/organisation\";\nimport { organisationApi } from \"../../api/organisationApi\";\n\nconst DEFAULT_LANGUAGE = 'en';\n\ninterface RelevantLanguages {\n /** Language which already has a generated translation */\n ready: string;\n /** Language that is more relevant but its translation is not yet generated */\n available?: string;\n}\n\nenum Availability {\n Available,\n ToGenerate,\n Unavailable\n}\n\nexport const useTranslation = () => {\n\n /**\n * Convert SRT data to plain text\n * @param srt The data to convert\n * @returns The plain text\n */\n function convertSrtToPlainText(srt: string): string {\n const srtPattern =\n /\\d+\\n[\\d:,]+\\s+-{2}>\\s+[\\d:,]+\\n([\\s\\S]*?(?=\\n{2}|$))/gm;\n const result: Array<string> = [];\n let matches: string[];\n while ((matches = srtPattern.exec(srt)) != null) {\n result.push(matches[1] + \" \");\n }\n return result.join(\"\");\n }\n\n function getApplicationConf(language: string, conf: TranslationConfiguration): CreateTranslation {\n if (language in conf.createTranslation) {\n return conf.createTranslation[language];\n }\n\n return conf.otherLanguage;\n }\n\n /**\n * Retrieve the translation configuration for a given language\n */\n function getConfigurationFor(language: string, emissionConf: TranslationConfiguration, orgaConf: TranslationConfiguration): CreateTranslation {\n const emissionSetting = getApplicationConf(language, emissionConf);\n if (emissionSetting === CreateTranslation.SUPER) {\n return getApplicationConf(language, orgaConf);\n }\n return emissionSetting;\n }\n\n function parseOrDefault(data: string|undefined, isEmission = false): TranslationConfiguration {\n return data ? JSON.parse(data) : defaultTranslationConfig(isEmission);\n }\n\n /**\n * Indicates wether the language is available (either because generated or\n * because it can be generated)\n * @param language The language to check for\n * @param emission *(optional)* If set, will also check in emission settings\n * @returns Whether the language is available or not\n */\n function getTranslationConfig(language: string, emission: Emission, orgaAttributes: OrganisationAttributes): CreateTranslation {\n const emissionTranslation = parseOrDefault(emission.annotations?.['translation-config'] as string|undefined, true);\n const orgTranslation = parseOrDefault(orgaAttributes?.['translation-config']);\n\n return getConfigurationFor(language, emissionTranslation, orgTranslation);\n }\n\n function getLanguageAvailability(language: string, emission: Emission, orgaAttributes: OrganisationAttributes, translationData: PodcastTranslationData): Availability {\n \n // 1. If language of podcast == language of browser, use that language\n if (language === translationData.nativeLanguage) {\n return Availability.Available;\n } else {\n const langConfig = getTranslationConfig(language, emission, orgaAttributes);\n\n // 2. If the language of the browser is available, use it\n if (langConfig === CreateTranslation.ALWAYS) {\n return Availability.Available;\n }\n // 2b. If the language is on demand, check if generated\n else if (langConfig === CreateTranslation.ON_DEMAND) {\n // Check if translation is already generated\n if (translationData.translations.find(t => t.language === language && t.state === TranslationState.FINISHED)) {\n return Availability.Available;\n } else {\n return Availability.ToGenerate;\n }\n }\n }\n\n return Availability.Unavailable;\n }\n\n /**\n * Get the relevant language for the current user\n * @param translationData The translation data for the podcast\n * @returns An object with properties 'ready' and 'available'\n * - *ready* Is the best language already generated\n * - *available* Is the best language not yet generated (or\n * undefined if *ready* is better)\n */\n async function getMostRelevantLanguage(translationData: PodcastTranslationData): Promise<RelevantLanguages> {\n const userLanguage = getLanguage(false);\n\n // If user language is native, do not go further\n if (userLanguage === translationData.nativeLanguage) {\n return { ready: userLanguage };\n }\n\n // Compute all available languages. Use language set on site, then\n // languages defined on browser, then default, and finally native language\n const languages: string[] = [];\n [userLanguage, ...navigator.languages, DEFAULT_LANGUAGE, translationData.nativeLanguage].forEach(l => {\n // For each language, if it is a variant (for example fr-CH), use\n // only the base language\n if (l.includes('-')) {\n l = l.split('-')[0];\n }\n\n if (!languages.includes(l)) {\n languages.push(l);\n }\n });\n\n const podcast = await podcastApi.get(translationData.podcastId);\n const emission = podcast.emission;\n const orgaAttributes = await organisationApi.getAttributes(podcast.organisation.id);\n\n let bestReady: string|null = null;\n let bestAvailable: string|null = null;\n\n for (const language of languages) {\n const avaibility = getLanguageAvailability(language, emission, orgaAttributes, translationData);\n if (avaibility === Availability.Available && bestReady === null) {\n bestReady = language;\n break;\n }\n\n if (avaibility === Availability.ToGenerate && bestAvailable === null) {\n bestAvailable = language;\n }\n }\n\n return { ready: bestReady, available: bestAvailable ?? undefined };\n }\n\n /**\n * Get the relevant translation for the current user\n * @param translationData The translation data for the podcast\n * @returns The translation\n */\n async function getMostRelevantTranslation(translationData: PodcastTranslationData): Promise<string>;\n /**\n * Get the relevant translation for the current user\n * @param podcastId The ID of the podcast\n * @returns The translation\n */\n async function getMostRelevantTranslation(podcastId: number): Promise<string>;\n\n /**\n * Get the relevant translation for the current user\n * @param translationData The translation data for the podcast\n * @returns The translation\n */\n async function getMostRelevantTranslation(data: PodcastTranslationData|number): Promise<string> {\n let translationData: PodcastTranslationData;\n if (typeof data === 'number') {\n translationData = await transcriptionApi.getTranslations(data);\n } else {\n translationData = data;\n }\n\n const { ready } = await getMostRelevantLanguage(translationData);\n\n // Finally get translation with chosen language\n const podcastId = translationData.podcastId;\n return await transcriptionApi.getTranslation(podcastId, ready);\n }\n\n return {\n convertSrtToPlainText,\n getMostRelevantLanguage,\n getMostRelevantTranslation,\n getTranslationConfig\n }\n};\n"],"mappings":";;;;;;;;;AAOA,SAAgB,YAAY,eAAe,MAAc;CACrD,MAAM,SAAS;CACf,MAAM,KAAK,SAAS,OAAO,MAAM,GAAG;CAEpC,IAAI,WAAW;CACf,KAAK,MAAM,eAAe,IAAI;EAC1B,IAAI,IAAI;EACR,OAAO,EAAE,WAAW,GAAG,GACnB,IAAI,EAAE,UAAU,GAAG,EAAE,MAAM;EAE/B,IAAI,MAAM,EAAE,QAAQ,MAAM,GAAG;GACzB,WAAW,EAAE,UAAU,IAAe,EAAE,MAAM;GAC9C;EACJ;CACJ;CAEA,IAAI,MAAM,SAAS,QACf,IAAI,iBAAiB,MAAM;EAEvB,KAAK,MAAM,iBAAiB,UAAU,WAClC,IAAI,cAAc,SAAS,IAAI,GAAG;GAC9B,WAAW;GACX;EACJ,OAAO,IAAI,cAAc,SAAS,IAAI,GAAG;GACrC,WAAW;GACX;EACJ,OAAO,IAAI,cAAc,SAAS,IAAI,GAAG;GACrC,WAAW;GACX;EACJ,OAAO,IAAI,cAAc,SAAS,IAAI,GAAG;GACrC,WAAW;GACX;EACJ,OAAO,IAAI,cAAc,SAAS,IAAI,GAAG;GACrC,WAAW;GACX;EACJ,OAAO,IAAI,cAAc,SAAS,IAAI,GAAG;GACrC,WAAW;GACX;EACJ;EAEJ,IAAI,CAAC,UACD,WAAW;CAEnB,OACI,WAAW,UAAU;CAI7B,OAAO;AACX;;;ACjCA,IAAY,oBAAL,yBAAA,mBAAA;CACL,kBAAA,WAAA;CACA,kBAAA,QAAA;CACA,kBAAA,cAAA;CACA,kBAAA,eAAA;;AACF,EAAA,CAAA,CAAA;AAOA,IAAY,oBAAL,yBAAA,mBAAA;CACL,kBAAA,WAAA;CACA,kBAAA,eAAA;CACA,kBAAA,YAAA;CACA,kBAAA,WAAA;;AACF,EAAA,CAAA,CAAA;AAEA,SAAgB,mBAA8B;CAC5C,OAAO;EACL,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,UAAU;CACZ;AACF;AAEA,SAAgB,6BAAkD;CAChE,OAAO;EACL,kBAAA;EACA,gBAAA;EACA,mBAAA;EACA,0BAA0B;EAC1B,aAAa;CACf;AACF;;;;;;AAOA,SAAgB,yBAAyB,YAAgD;CACvF,OAAO;EACL,mBAAkB,CAAC;EACnB,eAAe,aAAA,UAAA;CACjB;AACF;;;ACjEA,IAAM,mBAAmB;AAezB,IAAa,uBAAuB;;;;;;CAOhC,SAAS,sBAAsB,KAAqB;EAChD,MAAM,aACF;EACJ,MAAM,SAAwB,CAAC;EAC/B,IAAI;EACJ,QAAQ,UAAU,WAAW,KAAK,GAAG,MAAM,MACvC,OAAO,KAAK,QAAQ,KAAK,GAAG;EAEhC,OAAO,OAAO,KAAK,EAAE;CACzB;CAEA,SAAS,mBAAmB,UAAkB,MAAmD;EAC7F,IAAI,YAAY,KAAK,mBACjB,OAAO,KAAK,kBAAkB;EAGlC,OAAO,KAAK;CAChB;;;;CAKA,SAAS,oBAAoB,UAAkB,cAAwC,UAAuD;EAC1I,MAAM,kBAAkB,mBAAmB,UAAU,YAAY;EACjE,IAAI,oBAAoB,kBAAkB,OACtC,OAAO,mBAAmB,UAAU,QAAQ;EAEhD,OAAO;CACX;CAEA,SAAS,eAAe,MAAwB,aAAa,OAAiC;EAC1F,OAAO,OAAO,KAAK,MAAM,IAAI,IAAI,yBAAyB,UAAU;CACxE;;;;;;;;CASA,SAAS,qBAAqB,UAAkB,UAAoB,gBAA2D;EAI3H,OAAO,oBAAoB,UAHC,eAAe,SAAS,cAAc,uBAA2C,IAGxE,GAFd,eAAe,iBAAiB,qBAEG,CAAc;CAC5E;CAEA,SAAS,wBAAwB,UAAkB,UAAoB,gBAAwC,iBAAuD;EAGlK,IAAI,aAAa,gBAAgB,gBAC7B,OAAA;OACG;GACH,MAAM,aAAa,qBAAqB,UAAU,UAAU,cAAc;GAG1E,IAAI,eAAe,kBAAkB,QACjC,OAAA;QAGC,IAAI,eAAe,kBAAkB,WAEtC,IAAI,gBAAgB,aAAa,MAAK,MAAK,EAAE,aAAa,YAAY,EAAE,UAAU,iBAAiB,QAAQ,GACvG,OAAA;QAEA,OAAA;EAGZ;EAEA,OAAA;CACJ;;;;;;;;;CAUA,eAAe,wBAAwB,iBAAqE;EACxG,MAAM,eAAe,YAAY,KAAK;EAGtC,IAAI,iBAAiB,gBAAgB,gBACjC,OAAO,EAAE,OAAO,aAAa;EAKjC,MAAM,YAAsB,CAAC;EAC7B;GAAC;GAAc,GAAG,UAAU;GAAW;GAAkB,gBAAgB;EAAc,EAAE,SAAQ,MAAK;GAGlG,IAAI,EAAE,SAAS,GAAG,GACd,IAAI,EAAE,MAAM,GAAG,EAAE;GAGrB,IAAI,CAAC,UAAU,SAAS,CAAC,GACrB,UAAU,KAAK,CAAC;EAExB,CAAC;EAED,MAAM,UAAU,MAAM,WAAW,IAAI,gBAAgB,SAAS;EAC9D,MAAM,WAAW,QAAQ;EACzB,MAAM,iBAAiB,MAAM,gBAAgB,cAAc,QAAQ,aAAa,EAAE;EAElF,IAAI,YAAyB;EAC7B,IAAI,gBAA6B;EAEjC,KAAK,MAAM,YAAY,WAAW;GAC9B,MAAM,aAAa,wBAAwB,UAAU,UAAU,gBAAgB,eAAe;GAC9F,IAAI,eAAA,KAAyC,cAAc,MAAM;IAC7D,YAAY;IACZ;GACJ;GAEA,IAAI,eAAA,KAA0C,kBAAkB,MAC5D,gBAAgB;EAExB;EAEA,OAAO;GAAE,OAAO;GAAW,WAAW,iBAAiB,KAAA;EAAU;CACrE;;;;;;CAoBA,eAAe,2BAA2B,MAAsD;EAC5F,IAAI;EACJ,IAAI,OAAO,SAAS,UAChB,kBAAkB,MAAM,iBAAiB,gBAAgB,IAAI;OAE7D,kBAAkB;EAGtB,MAAM,EAAE,UAAU,MAAM,wBAAwB,eAAe;EAG/D,MAAM,YAAY,gBAAgB;EAClC,OAAO,MAAM,iBAAiB,eAAe,WAAW,KAAK;CACjE;CAEA,OAAO;EACH;EACA;EACA;EACA;CACJ;AACJ"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTranslation-COKe4d2D.mjs","names":[],"sources":["../src/helper/language.ts","../src/stores/class/transcript/transcriptParams.ts","../src/components/composable/useTranslation.ts"],"sourcesContent":["/**\n * Utility function to retrieve most relevant language for the user\n * @params forceToKnown When set to true (default), will limit language to one\n * one of 6 known languages. When set to false, allow all\n * languages.\n * @returns The most relevant language\n */\nexport function getLanguage(forceToKnown = true): string {\n const nameEQ = \"octopus-language=\";\n const ca = document.cookie.split(\";\");\n\n let language = \"\";\n for (const valueCookie of ca) {\n let c = valueCookie;\n while (c.startsWith(\" \")) {\n c = c.substring(1, c.length);\n }\n if (0 === c.indexOf(nameEQ)) {\n language = c.substring(nameEQ.length, c.length);\n break;\n }\n }\n\n if (0 === language.length) {\n if (forceToKnown === true) {\n // Choose best avilable language\n for (const navigatorLang of navigator.languages) {\n if (navigatorLang.includes(\"fr\")) {\n language = \"fr\";\n break;\n } else if (navigatorLang.includes(\"en\")) {\n language = \"en\";\n break;\n } else if (navigatorLang.includes(\"it\")) {\n language = \"it\";\n break;\n } else if (navigatorLang.includes(\"sl\")) {\n language = \"sl\";\n break;\n } else if (navigatorLang.includes(\"es\")) {\n language = \"es\";\n break;\n } else if (navigatorLang.includes(\"de\")) {\n language = \"de\";\n break;\n }\n }\n if (!language) {\n language = \"fr\";\n }\n } else {\n language = navigator.language;\n }\n }\n\n return language;\n}\n","export interface TranscriptParams {\n automation: string; // super, {date}, false \n ttsParams: TtsParams;\n modifyPodcast: ModifyPodcastConfig\n translationConfig: TranslationConfiguration;\n}\nexport interface TtsParams {\n super: string;\n style: string;\n pitch: number;\n speed: number;\n voice: string;\n language: string;\n}\n\nexport interface ModifyPodcastConfig {\n modifyChaptering: ModifyPodcastEnum;\n modifyKeywords: ModifyPodcastEnum;\n modifyDescription: ModifyPodcastEnum;\n createDescriptionUsingAi: boolean;\n wordsNumber: number;\n}\n\nexport enum ModifyPodcastEnum {\n SUPER = \"SUPER\",\n NO = \"NO\",\n IF_EMPTY = \"IF_EMPTY\",\n OVERWRITE=\"OVERWRITE\"\n}\n\nexport interface TranslationConfiguration {\n createTranslation:{[lang:string]: CreateTranslation};\n otherLanguage:CreateTranslation; //Cannot be ALWAYS\n}\n\nexport enum CreateTranslation {\n NEVER = \"NEVER\",\n ON_DEMAND = \"ON_DEMAND\",\n ALWAYS = \"ALWAYS\",\n SUPER=\"SUPER\"\n}\n\nexport function defaultTtsParams(): TtsParams {\n return {\n super: \"true\",\n style: \"neutral\",\n pitch: 0,\n speed: 1,\n voice: \"\",\n language: \"\"\n };\n}\n\nexport function defaultModifyPodcastConfig(): ModifyPodcastConfig {\n return {\n modifyChaptering: ModifyPodcastEnum.NO,\n modifyKeywords:ModifyPodcastEnum.NO,\n modifyDescription:ModifyPodcastEnum.NO,\n createDescriptionUsingAi: false,\n wordsNumber: 100,\n };\n}\n\n/**\n * Create a default object of TranslationConfiguration\n * @param isEmission Optional, if set and true changes default values\n * @returns The object\n */\nexport function defaultTranslationConfig(isEmission?: boolean): TranslationConfiguration {\n return {\n createTranslation:{},\n otherLanguage: isEmission ? CreateTranslation.SUPER : CreateTranslation.NEVER\n };\n}\n\nexport interface Voice {\n name: string;\n locale: string;\n displayName: string;\n gender: string;\n audioExample?: string;\n styles?: [];\n provider: string;\n}\nexport interface ProviderTts {\n name: string;\n fullName: string;\n logoPath: string;\n description: string;\n}\n","import { getLanguage } from \"../../helper/language\";\nimport { transcriptionApi, TranslationState, type PodcastTranslationData } from \"../../api/transcriptionApi\";\nimport { CreateTranslation, defaultTranslationConfig, TranslationConfiguration } from \"../../stores/class/transcript/transcriptParams\";\nimport { podcastApi } from \"../../api/podcastApi\";\nimport { Emission } from \"../../stores/class/general/emission\";\nimport { OrganisationAttributes } from \"@/stores/class/general/organisation\";\nimport { organisationApi } from \"../../api/organisationApi\";\n\nconst DEFAULT_LANGUAGE = 'en';\n\ninterface RelevantLanguages {\n /** Language which already has a generated translation */\n ready: string;\n /** Language that is more relevant but its translation is not yet generated */\n available?: string;\n}\n\nenum Availability {\n Available,\n ToGenerate,\n Unavailable\n}\n\nexport const useTranslation = () => {\n\n /**\n * Convert SRT data to plain text\n * @param srt The data to convert\n * @returns The plain text\n */\n function convertSrtToPlainText(srt: string): string {\n const srtPattern =\n /\\d+\\n[\\d:,]+\\s+-{2}>\\s+[\\d:,]+\\n([\\s\\S]*?(?=\\n{2}|$))/gm;\n const result: Array<string> = [];\n let matches: string[];\n while ((matches = srtPattern.exec(srt)) != null) {\n result.push(matches[1] + \" \");\n }\n return result.join(\"\");\n }\n\n function getApplicationConf(language: string, conf: TranslationConfiguration): CreateTranslation {\n if (language in conf.createTranslation) {\n return conf.createTranslation[language];\n }\n\n return conf.otherLanguage;\n }\n\n /**\n * Retrieve the translation configuration for a given language\n */\n function getConfigurationFor(language: string, emissionConf: TranslationConfiguration, orgaConf: TranslationConfiguration): CreateTranslation {\n const emissionSetting = getApplicationConf(language, emissionConf);\n if (emissionSetting === CreateTranslation.SUPER) {\n return getApplicationConf(language, orgaConf);\n }\n return emissionSetting;\n }\n\n function parseOrDefault(data: string|undefined, isEmission = false): TranslationConfiguration {\n return data ? JSON.parse(data) : defaultTranslationConfig(isEmission);\n }\n\n /**\n * Indicates wether the language is available (either because generated or\n * because it can be generated)\n * @param language The language to check for\n * @param emission *(optional)* If set, will also check in emission settings\n * @returns Whether the language is available or not\n */\n function getTranslationConfig(language: string, emission: Emission, orgaAttributes: OrganisationAttributes): CreateTranslation {\n const emissionTranslation = parseOrDefault(emission.annotations?.['translation-config'] as string|undefined, true);\n const orgTranslation = parseOrDefault(orgaAttributes?.['translation-config']);\n\n return getConfigurationFor(language, emissionTranslation, orgTranslation);\n }\n\n function getLanguageAvailability(language: string, emission: Emission, orgaAttributes: OrganisationAttributes, translationData: PodcastTranslationData): Availability {\n \n // 1. If language of podcast == language of browser, use that language\n if (language === translationData.nativeLanguage) {\n return Availability.Available;\n } else {\n const langConfig = getTranslationConfig(language, emission, orgaAttributes);\n\n // 2. If the language of the browser is available, use it\n if (langConfig === CreateTranslation.ALWAYS) {\n return Availability.Available;\n }\n // 2b. If the language is on demand, check if generated\n else if (langConfig === CreateTranslation.ON_DEMAND) {\n // Check if translation is already generated\n if (translationData.translations.find(t => t.language === language && t.state === TranslationState.FINISHED)) {\n return Availability.Available;\n } else {\n return Availability.ToGenerate;\n }\n }\n }\n\n return Availability.Unavailable;\n }\n\n /**\n * Get the relevant language for the current user\n * @param translationData The translation data for the podcast\n * @returns An object with properties 'ready' and 'available'\n * - *ready* Is the best language already generated\n * - *available* Is the best language not yet generated (or\n * undefined if *ready* is better)\n */\n async function getMostRelevantLanguage(translationData: PodcastTranslationData): Promise<RelevantLanguages> {\n const userLanguage = getLanguage(false);\n\n // If user language is native, do not go further\n if (userLanguage === translationData.nativeLanguage) {\n return { ready: userLanguage };\n }\n\n // Compute all available languages. Use language set on site, then\n // languages defined on browser, then default, and finally native language\n const languages: string[] = [];\n [userLanguage, ...navigator.languages, DEFAULT_LANGUAGE, translationData.nativeLanguage].forEach(l => {\n // For each language, if it is a variant (for example fr-CH), use\n // only the base language\n if (l.includes('-')) {\n l = l.split('-')[0];\n }\n\n if (!languages.includes(l)) {\n languages.push(l);\n }\n });\n\n const podcast = await podcastApi.get(translationData.podcastId);\n const emission = podcast.emission;\n const orgaAttributes = await organisationApi.getAttributes(podcast.organisation.id);\n\n let bestReady: string|null = null;\n let bestAvailable: string|null = null;\n\n for (const language of languages) {\n const avaibility = getLanguageAvailability(language, emission, orgaAttributes, translationData);\n if (avaibility === Availability.Available && bestReady === null) {\n bestReady = language;\n break;\n }\n\n if (avaibility === Availability.ToGenerate && bestAvailable === null) {\n bestAvailable = language;\n }\n }\n\n return { ready: bestReady, available: bestAvailable ?? undefined };\n }\n\n /**\n * Get the relevant translation for the current user\n * @param translationData The translation data for the podcast\n * @returns The translation\n */\n async function getMostRelevantTranslation(translationData: PodcastTranslationData): Promise<string>;\n /**\n * Get the relevant translation for the current user\n * @param podcastId The ID of the podcast\n * @returns The translation\n */\n async function getMostRelevantTranslation(podcastId: number): Promise<string>;\n\n /**\n * Get the relevant translation for the current user\n * @param translationData The translation data for the podcast\n * @returns The translation\n */\n async function getMostRelevantTranslation(data: PodcastTranslationData|number): Promise<string> {\n let translationData: PodcastTranslationData;\n if (typeof data === 'number') {\n translationData = await transcriptionApi.getTranslations(data);\n } else {\n translationData = data;\n }\n\n const { ready } = await getMostRelevantLanguage(translationData);\n\n // Finally get translation with chosen language\n const podcastId = translationData.podcastId;\n return await transcriptionApi.getTranslation(podcastId, ready);\n }\n\n return {\n convertSrtToPlainText,\n getMostRelevantLanguage,\n getMostRelevantTranslation,\n getTranslationConfig\n }\n};\n"],"mappings":"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"}
@@ -0,0 +1,205 @@
1
+ import { S as transcriptionApi, m as podcastApi, x as TranslationState, y as organisationApi } from "./classicApi-ChvwoPGT.mjs";
2
+ //#region src/helper/language.ts
3
+ /**
4
+ * Utility function to retrieve most relevant language for the user
5
+ * @params forceToKnown When set to true (default), will limit language to one
6
+ * one of 6 known languages. When set to false, allow all
7
+ * languages.
8
+ * @returns The most relevant language
9
+ */
10
+ function getLanguage(forceToKnown = true) {
11
+ const nameEQ = "octopus-language=";
12
+ const ca = document.cookie.split(";");
13
+ let language = "";
14
+ for (const valueCookie of ca) {
15
+ let c = valueCookie;
16
+ while (c.startsWith(" ")) c = c.substring(1, c.length);
17
+ if (0 === c.indexOf(nameEQ)) {
18
+ language = c.substring(17, c.length);
19
+ break;
20
+ }
21
+ }
22
+ if (0 === language.length) if (forceToKnown === true) {
23
+ for (const navigatorLang of navigator.languages) if (navigatorLang.includes("fr")) {
24
+ language = "fr";
25
+ break;
26
+ } else if (navigatorLang.includes("en")) {
27
+ language = "en";
28
+ break;
29
+ } else if (navigatorLang.includes("it")) {
30
+ language = "it";
31
+ break;
32
+ } else if (navigatorLang.includes("sl")) {
33
+ language = "sl";
34
+ break;
35
+ } else if (navigatorLang.includes("es")) {
36
+ language = "es";
37
+ break;
38
+ } else if (navigatorLang.includes("de")) {
39
+ language = "de";
40
+ break;
41
+ }
42
+ if (!language) language = "fr";
43
+ } else language = navigator.language;
44
+ return language;
45
+ }
46
+ //#endregion
47
+ //#region src/stores/class/transcript/transcriptParams.ts
48
+ var ModifyPodcastEnum = /* @__PURE__ */ function(ModifyPodcastEnum) {
49
+ ModifyPodcastEnum["SUPER"] = "SUPER";
50
+ ModifyPodcastEnum["NO"] = "NO";
51
+ ModifyPodcastEnum["IF_EMPTY"] = "IF_EMPTY";
52
+ ModifyPodcastEnum["OVERWRITE"] = "OVERWRITE";
53
+ return ModifyPodcastEnum;
54
+ }({});
55
+ var CreateTranslation = /* @__PURE__ */ function(CreateTranslation) {
56
+ CreateTranslation["NEVER"] = "NEVER";
57
+ CreateTranslation["ON_DEMAND"] = "ON_DEMAND";
58
+ CreateTranslation["ALWAYS"] = "ALWAYS";
59
+ CreateTranslation["SUPER"] = "SUPER";
60
+ return CreateTranslation;
61
+ }({});
62
+ function defaultTtsParams() {
63
+ return {
64
+ super: "true",
65
+ style: "neutral",
66
+ pitch: 0,
67
+ speed: 1,
68
+ voice: "",
69
+ language: ""
70
+ };
71
+ }
72
+ function defaultModifyPodcastConfig() {
73
+ return {
74
+ modifyChaptering: "NO",
75
+ modifyKeywords: "NO",
76
+ modifyDescription: "NO",
77
+ createDescriptionUsingAi: false,
78
+ wordsNumber: 100
79
+ };
80
+ }
81
+ /**
82
+ * Create a default object of TranslationConfiguration
83
+ * @param isEmission Optional, if set and true changes default values
84
+ * @returns The object
85
+ */
86
+ function defaultTranslationConfig(isEmission) {
87
+ return {
88
+ createTranslation: {},
89
+ otherLanguage: isEmission ? "SUPER" : "NEVER"
90
+ };
91
+ }
92
+ //#endregion
93
+ //#region src/components/composable/useTranslation.ts
94
+ var DEFAULT_LANGUAGE = "en";
95
+ var useTranslation = () => {
96
+ /**
97
+ * Convert SRT data to plain text
98
+ * @param srt The data to convert
99
+ * @returns The plain text
100
+ */
101
+ function convertSrtToPlainText(srt) {
102
+ const srtPattern = /\d+\n[\d:,]+\s+-{2}>\s+[\d:,]+\n([\s\S]*?(?=\n{2}|$))/gm;
103
+ const result = [];
104
+ let matches;
105
+ while ((matches = srtPattern.exec(srt)) != null) result.push(matches[1] + " ");
106
+ return result.join("");
107
+ }
108
+ function getApplicationConf(language, conf) {
109
+ if (language in conf.createTranslation) return conf.createTranslation[language];
110
+ return conf.otherLanguage;
111
+ }
112
+ /**
113
+ * Retrieve the translation configuration for a given language
114
+ */
115
+ function getConfigurationFor(language, emissionConf, orgaConf) {
116
+ const emissionSetting = getApplicationConf(language, emissionConf);
117
+ if (emissionSetting === CreateTranslation.SUPER) return getApplicationConf(language, orgaConf);
118
+ return emissionSetting;
119
+ }
120
+ function parseOrDefault(data, isEmission = false) {
121
+ return data ? JSON.parse(data) : defaultTranslationConfig(isEmission);
122
+ }
123
+ /**
124
+ * Indicates wether the language is available (either because generated or
125
+ * because it can be generated)
126
+ * @param language The language to check for
127
+ * @param emission *(optional)* If set, will also check in emission settings
128
+ * @returns Whether the language is available or not
129
+ */
130
+ function getTranslationConfig(language, emission, orgaAttributes) {
131
+ return getConfigurationFor(language, parseOrDefault(emission.annotations?.["translation-config"], true), parseOrDefault(orgaAttributes?.["translation-config"]));
132
+ }
133
+ function getLanguageAvailability(language, emission, orgaAttributes, translationData) {
134
+ if (language === translationData.nativeLanguage) return 0;
135
+ else {
136
+ const langConfig = getTranslationConfig(language, emission, orgaAttributes);
137
+ if (langConfig === CreateTranslation.ALWAYS) return 0;
138
+ else if (langConfig === CreateTranslation.ON_DEMAND) if (translationData.translations.find((t) => t.language === language && t.state === TranslationState.FINISHED)) return 0;
139
+ else return 1;
140
+ }
141
+ return 2;
142
+ }
143
+ /**
144
+ * Get the relevant language for the current user
145
+ * @param translationData The translation data for the podcast
146
+ * @returns An object with properties 'ready' and 'available'
147
+ * - *ready* Is the best language already generated
148
+ * - *available* Is the best language not yet generated (or
149
+ * undefined if *ready* is better)
150
+ */
151
+ async function getMostRelevantLanguage(translationData) {
152
+ const userLanguage = getLanguage(false);
153
+ if (userLanguage === translationData.nativeLanguage) return { ready: userLanguage };
154
+ const languages = [];
155
+ [
156
+ userLanguage,
157
+ ...navigator.languages,
158
+ DEFAULT_LANGUAGE,
159
+ translationData.nativeLanguage
160
+ ].forEach((l) => {
161
+ if (l.includes("-")) l = l.split("-")[0];
162
+ if (!languages.includes(l)) languages.push(l);
163
+ });
164
+ const podcast = await podcastApi.get(translationData.podcastId);
165
+ const emission = podcast.emission;
166
+ const orgaAttributes = await organisationApi.getAttributes(podcast.organisation.id);
167
+ let bestReady = null;
168
+ let bestAvailable = null;
169
+ for (const language of languages) {
170
+ const avaibility = getLanguageAvailability(language, emission, orgaAttributes, translationData);
171
+ if (avaibility === 0 && bestReady === null) {
172
+ bestReady = language;
173
+ break;
174
+ }
175
+ if (avaibility === 1 && bestAvailable === null) bestAvailable = language;
176
+ }
177
+ return {
178
+ ready: bestReady,
179
+ available: bestAvailable ?? void 0
180
+ };
181
+ }
182
+ /**
183
+ * Get the relevant translation for the current user
184
+ * @param translationData The translation data for the podcast
185
+ * @returns The translation
186
+ */
187
+ async function getMostRelevantTranslation(data) {
188
+ let translationData;
189
+ if (typeof data === "number") translationData = await transcriptionApi.getTranslations(data);
190
+ else translationData = data;
191
+ const { ready } = await getMostRelevantLanguage(translationData);
192
+ const podcastId = translationData.podcastId;
193
+ return await transcriptionApi.getTranslation(podcastId, ready);
194
+ }
195
+ return {
196
+ convertSrtToPlainText,
197
+ getMostRelevantLanguage,
198
+ getMostRelevantTranslation,
199
+ getTranslationConfig
200
+ };
201
+ };
202
+ //#endregion
203
+ export { defaultTranslationConfig as a, defaultModifyPodcastConfig as i, CreateTranslation as n, defaultTtsParams as o, ModifyPodcastEnum as r, getLanguage as s, useTranslation as t };
204
+
205
+ //# sourceMappingURL=useTranslation-Dsw1HxX9.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTranslation-Dsw1HxX9.mjs","names":[],"sources":["../src/helper/language.ts","../src/stores/class/transcript/transcriptParams.ts","../src/components/composable/useTranslation.ts"],"sourcesContent":["/**\n * Utility function to retrieve most relevant language for the user\n * @params forceToKnown When set to true (default), will limit language to one\n * one of 6 known languages. When set to false, allow all\n * languages.\n * @returns The most relevant language\n */\nexport function getLanguage(forceToKnown = true): string {\n const nameEQ = \"octopus-language=\";\n const ca = document.cookie.split(\";\");\n\n let language = \"\";\n for (const valueCookie of ca) {\n let c = valueCookie;\n while (c.startsWith(\" \")) {\n c = c.substring(1, c.length);\n }\n if (0 === c.indexOf(nameEQ)) {\n language = c.substring(nameEQ.length, c.length);\n break;\n }\n }\n\n if (0 === language.length) {\n if (forceToKnown === true) {\n // Choose best avilable language\n for (const navigatorLang of navigator.languages) {\n if (navigatorLang.includes(\"fr\")) {\n language = \"fr\";\n break;\n } else if (navigatorLang.includes(\"en\")) {\n language = \"en\";\n break;\n } else if (navigatorLang.includes(\"it\")) {\n language = \"it\";\n break;\n } else if (navigatorLang.includes(\"sl\")) {\n language = \"sl\";\n break;\n } else if (navigatorLang.includes(\"es\")) {\n language = \"es\";\n break;\n } else if (navigatorLang.includes(\"de\")) {\n language = \"de\";\n break;\n }\n }\n if (!language) {\n language = \"fr\";\n }\n } else {\n language = navigator.language;\n }\n }\n\n return language;\n}\n","export interface TranscriptParams {\n automation: string; // super, {date}, false \n ttsParams: TtsParams;\n modifyPodcast: ModifyPodcastConfig\n translationConfig: TranslationConfiguration;\n}\nexport interface TtsParams {\n super: string;\n style: string;\n pitch: number;\n speed: number;\n voice: string;\n language: string;\n}\n\nexport interface ModifyPodcastConfig {\n modifyChaptering: ModifyPodcastEnum;\n modifyKeywords: ModifyPodcastEnum;\n modifyDescription: ModifyPodcastEnum;\n createDescriptionUsingAi: boolean;\n wordsNumber: number;\n}\n\nexport enum ModifyPodcastEnum {\n SUPER = \"SUPER\",\n NO = \"NO\",\n IF_EMPTY = \"IF_EMPTY\",\n OVERWRITE=\"OVERWRITE\"\n}\n\nexport interface TranslationConfiguration {\n createTranslation:{[lang:string]: CreateTranslation};\n otherLanguage:CreateTranslation; //Cannot be ALWAYS\n}\n\nexport enum CreateTranslation {\n NEVER = \"NEVER\",\n ON_DEMAND = \"ON_DEMAND\",\n ALWAYS = \"ALWAYS\",\n SUPER=\"SUPER\"\n}\n\nexport function defaultTtsParams(): TtsParams {\n return {\n super: \"true\",\n style: \"neutral\",\n pitch: 0,\n speed: 1,\n voice: \"\",\n language: \"\"\n };\n}\n\nexport function defaultModifyPodcastConfig(): ModifyPodcastConfig {\n return {\n modifyChaptering: ModifyPodcastEnum.NO,\n modifyKeywords:ModifyPodcastEnum.NO,\n modifyDescription:ModifyPodcastEnum.NO,\n createDescriptionUsingAi: false,\n wordsNumber: 100,\n };\n}\n\n/**\n * Create a default object of TranslationConfiguration\n * @param isEmission Optional, if set and true changes default values\n * @returns The object\n */\nexport function defaultTranslationConfig(isEmission?: boolean): TranslationConfiguration {\n return {\n createTranslation:{},\n otherLanguage: isEmission ? CreateTranslation.SUPER : CreateTranslation.NEVER\n };\n}\n\nexport interface Voice {\n name: string;\n locale: string;\n displayName: string;\n gender: string;\n audioExample?: string;\n styles?: [];\n provider: string;\n}\nexport interface ProviderTts {\n name: string;\n fullName: string;\n logoPath: string;\n description: string;\n}\n","import { getLanguage } from \"../../helper/language\";\nimport { transcriptionApi, TranslationState, type PodcastTranslationData } from \"../../api/transcriptionApi\";\nimport { CreateTranslation, defaultTranslationConfig, TranslationConfiguration } from \"../../stores/class/transcript/transcriptParams\";\nimport { podcastApi } from \"../../api/podcastApi\";\nimport { Emission } from \"../../stores/class/general/emission\";\nimport { OrganisationAttributes } from \"@/stores/class/general/organisation\";\nimport { organisationApi } from \"../../api/organisationApi\";\n\nconst DEFAULT_LANGUAGE = 'en';\n\ninterface RelevantLanguages {\n /** Language which already has a generated translation */\n ready: string;\n /** Language that is more relevant but its translation is not yet generated */\n available?: string;\n}\n\nenum Availability {\n Available,\n ToGenerate,\n Unavailable\n}\n\nexport const useTranslation = () => {\n\n /**\n * Convert SRT data to plain text\n * @param srt The data to convert\n * @returns The plain text\n */\n function convertSrtToPlainText(srt: string): string {\n const srtPattern =\n /\\d+\\n[\\d:,]+\\s+-{2}>\\s+[\\d:,]+\\n([\\s\\S]*?(?=\\n{2}|$))/gm;\n const result: Array<string> = [];\n let matches: string[];\n while ((matches = srtPattern.exec(srt)) != null) {\n result.push(matches[1] + \" \");\n }\n return result.join(\"\");\n }\n\n function getApplicationConf(language: string, conf: TranslationConfiguration): CreateTranslation {\n if (language in conf.createTranslation) {\n return conf.createTranslation[language];\n }\n\n return conf.otherLanguage;\n }\n\n /**\n * Retrieve the translation configuration for a given language\n */\n function getConfigurationFor(language: string, emissionConf: TranslationConfiguration, orgaConf: TranslationConfiguration): CreateTranslation {\n const emissionSetting = getApplicationConf(language, emissionConf);\n if (emissionSetting === CreateTranslation.SUPER) {\n return getApplicationConf(language, orgaConf);\n }\n return emissionSetting;\n }\n\n function parseOrDefault(data: string|undefined, isEmission = false): TranslationConfiguration {\n return data ? JSON.parse(data) : defaultTranslationConfig(isEmission);\n }\n\n /**\n * Indicates wether the language is available (either because generated or\n * because it can be generated)\n * @param language The language to check for\n * @param emission *(optional)* If set, will also check in emission settings\n * @returns Whether the language is available or not\n */\n function getTranslationConfig(language: string, emission: Emission, orgaAttributes: OrganisationAttributes): CreateTranslation {\n const emissionTranslation = parseOrDefault(emission.annotations?.['translation-config'] as string|undefined, true);\n const orgTranslation = parseOrDefault(orgaAttributes?.['translation-config']);\n\n return getConfigurationFor(language, emissionTranslation, orgTranslation);\n }\n\n function getLanguageAvailability(language: string, emission: Emission, orgaAttributes: OrganisationAttributes, translationData: PodcastTranslationData): Availability {\n \n // 1. If language of podcast == language of browser, use that language\n if (language === translationData.nativeLanguage) {\n return Availability.Available;\n } else {\n const langConfig = getTranslationConfig(language, emission, orgaAttributes);\n\n // 2. If the language of the browser is available, use it\n if (langConfig === CreateTranslation.ALWAYS) {\n return Availability.Available;\n }\n // 2b. If the language is on demand, check if generated\n else if (langConfig === CreateTranslation.ON_DEMAND) {\n // Check if translation is already generated\n if (translationData.translations.find(t => t.language === language && t.state === TranslationState.FINISHED)) {\n return Availability.Available;\n } else {\n return Availability.ToGenerate;\n }\n }\n }\n\n return Availability.Unavailable;\n }\n\n /**\n * Get the relevant language for the current user\n * @param translationData The translation data for the podcast\n * @returns An object with properties 'ready' and 'available'\n * - *ready* Is the best language already generated\n * - *available* Is the best language not yet generated (or\n * undefined if *ready* is better)\n */\n async function getMostRelevantLanguage(translationData: PodcastTranslationData): Promise<RelevantLanguages> {\n const userLanguage = getLanguage(false);\n\n // If user language is native, do not go further\n if (userLanguage === translationData.nativeLanguage) {\n return { ready: userLanguage };\n }\n\n // Compute all available languages. Use language set on site, then\n // languages defined on browser, then default, and finally native language\n const languages: string[] = [];\n [userLanguage, ...navigator.languages, DEFAULT_LANGUAGE, translationData.nativeLanguage].forEach(l => {\n // For each language, if it is a variant (for example fr-CH), use\n // only the base language\n if (l.includes('-')) {\n l = l.split('-')[0];\n }\n\n if (!languages.includes(l)) {\n languages.push(l);\n }\n });\n\n const podcast = await podcastApi.get(translationData.podcastId);\n const emission = podcast.emission;\n const orgaAttributes = await organisationApi.getAttributes(podcast.organisation.id);\n\n let bestReady: string|null = null;\n let bestAvailable: string|null = null;\n\n for (const language of languages) {\n const avaibility = getLanguageAvailability(language, emission, orgaAttributes, translationData);\n if (avaibility === Availability.Available && bestReady === null) {\n bestReady = language;\n break;\n }\n\n if (avaibility === Availability.ToGenerate && bestAvailable === null) {\n bestAvailable = language;\n }\n }\n\n return { ready: bestReady, available: bestAvailable ?? undefined };\n }\n\n /**\n * Get the relevant translation for the current user\n * @param translationData The translation data for the podcast\n * @returns The translation\n */\n async function getMostRelevantTranslation(translationData: PodcastTranslationData): Promise<string>;\n /**\n * Get the relevant translation for the current user\n * @param podcastId The ID of the podcast\n * @returns The translation\n */\n async function getMostRelevantTranslation(podcastId: number): Promise<string>;\n\n /**\n * Get the relevant translation for the current user\n * @param translationData The translation data for the podcast\n * @returns The translation\n */\n async function getMostRelevantTranslation(data: PodcastTranslationData|number): Promise<string> {\n let translationData: PodcastTranslationData;\n if (typeof data === 'number') {\n translationData = await transcriptionApi.getTranslations(data);\n } else {\n translationData = data;\n }\n\n const { ready } = await getMostRelevantLanguage(translationData);\n\n // Finally get translation with chosen language\n const podcastId = translationData.podcastId;\n return await transcriptionApi.getTranslation(podcastId, ready);\n }\n\n return {\n convertSrtToPlainText,\n getMostRelevantLanguage,\n getMostRelevantTranslation,\n getTranslationConfig\n }\n};\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTranslation-kKZZLtgm.mjs","names":[],"sources":["../src/helper/language.ts","../src/stores/class/transcript/transcriptParams.ts","../src/components/composable/useTranslation.ts"],"sourcesContent":["/**\n * Utility function to retrieve most relevant language for the user\n * @params forceToKnown When set to true (default), will limit language to one\n * one of 6 known languages. When set to false, allow all\n * languages.\n * @returns The most relevant language\n */\nexport function getLanguage(forceToKnown = true): string {\n const nameEQ = \"octopus-language=\";\n const ca = document.cookie.split(\";\");\n\n let language = \"\";\n for (const valueCookie of ca) {\n let c = valueCookie;\n while (c.startsWith(\" \")) {\n c = c.substring(1, c.length);\n }\n if (0 === c.indexOf(nameEQ)) {\n language = c.substring(nameEQ.length, c.length);\n break;\n }\n }\n\n if (0 === language.length) {\n if (forceToKnown === true) {\n // Choose best avilable language\n for (const navigatorLang of navigator.languages) {\n if (navigatorLang.includes(\"fr\")) {\n language = \"fr\";\n break;\n } else if (navigatorLang.includes(\"en\")) {\n language = \"en\";\n break;\n } else if (navigatorLang.includes(\"it\")) {\n language = \"it\";\n break;\n } else if (navigatorLang.includes(\"sl\")) {\n language = \"sl\";\n break;\n } else if (navigatorLang.includes(\"es\")) {\n language = \"es\";\n break;\n } else if (navigatorLang.includes(\"de\")) {\n language = \"de\";\n break;\n }\n }\n if (!language) {\n language = \"fr\";\n }\n } else {\n language = navigator.language;\n }\n }\n\n return language;\n}\n","export interface TranscriptParams {\n automation: string; // super, {date}, false \n ttsParams: TtsParams;\n modifyPodcast: ModifyPodcastConfig\n translationConfig: TranslationConfiguration;\n}\nexport interface TtsParams {\n super: string;\n style: string;\n pitch: number;\n speed: number;\n voice: string;\n language: string;\n}\n\nexport interface ModifyPodcastConfig {\n modifyChaptering: ModifyPodcastEnum;\n modifyKeywords: ModifyPodcastEnum;\n modifyDescription: ModifyPodcastEnum;\n createDescriptionUsingAi: boolean;\n wordsNumber: number;\n}\n\nexport enum ModifyPodcastEnum {\n SUPER = \"SUPER\",\n NO = \"NO\",\n IF_EMPTY = \"IF_EMPTY\",\n OVERWRITE=\"OVERWRITE\"\n}\n\nexport interface TranslationConfiguration {\n createTranslation:{[lang:string]: CreateTranslation};\n otherLanguage:CreateTranslation; //Cannot be ALWAYS\n}\n\nexport enum CreateTranslation {\n NEVER = \"NEVER\",\n ON_DEMAND = \"ON_DEMAND\",\n ALWAYS = \"ALWAYS\",\n SUPER=\"SUPER\"\n}\n\nexport function defaultTtsParams(): TtsParams {\n return {\n super: \"true\",\n style: \"neutral\",\n pitch: 0,\n speed: 1,\n voice: \"\",\n language: \"\"\n };\n}\n\nexport function defaultModifyPodcastConfig(): ModifyPodcastConfig {\n return {\n modifyChaptering: ModifyPodcastEnum.NO,\n modifyKeywords:ModifyPodcastEnum.NO,\n modifyDescription:ModifyPodcastEnum.NO,\n createDescriptionUsingAi: false,\n wordsNumber: 100,\n };\n}\n\n/**\n * Create a default object of TranslationConfiguration\n * @param isEmission Optional, if set and true changes default values\n * @returns The object\n */\nexport function defaultTranslationConfig(isEmission?: boolean): TranslationConfiguration {\n return {\n createTranslation:{},\n otherLanguage: isEmission ? CreateTranslation.SUPER : CreateTranslation.NEVER\n };\n}\n\nexport interface Voice {\n name: string;\n locale: string;\n displayName: string;\n gender: string;\n audioExample?: string;\n styles?: [];\n provider: string;\n}\nexport interface ProviderTts {\n name: string;\n fullName: string;\n logoPath: string;\n description: string;\n}\n","import { getLanguage } from \"../../helper/language\";\nimport { transcriptionApi, TranslationState, type PodcastTranslationData } from \"../../api/transcriptionApi\";\nimport { CreateTranslation, defaultTranslationConfig, TranslationConfiguration } from \"../../stores/class/transcript/transcriptParams\";\nimport { podcastApi } from \"../../api/podcastApi\";\nimport { Emission } from \"../../stores/class/general/emission\";\nimport { OrganisationAttributes } from \"@/stores/class/general/organisation\";\nimport { organisationApi } from \"../../api/organisationApi\";\n\nconst DEFAULT_LANGUAGE = 'en';\n\ninterface RelevantLanguages {\n /** Language which already has a generated translation */\n ready: string;\n /** Language that is more relevant but its translation is not yet generated */\n available?: string;\n}\n\nenum Availability {\n Available,\n ToGenerate,\n Unavailable\n}\n\nexport const useTranslation = () => {\n\n /**\n * Convert SRT data to plain text\n * @param srt The data to convert\n * @returns The plain text\n */\n function convertSrtToPlainText(srt: string): string {\n const srtPattern =\n /\\d+\\n[\\d:,]+\\s+-{2}>\\s+[\\d:,]+\\n([\\s\\S]*?(?=\\n{2}|$))/gm;\n const result: Array<string> = [];\n let matches: string[];\n while ((matches = srtPattern.exec(srt)) != null) {\n result.push(matches[1] + \" \");\n }\n return result.join(\"\");\n }\n\n function getApplicationConf(language: string, conf: TranslationConfiguration): CreateTranslation {\n if (language in conf.createTranslation) {\n return conf.createTranslation[language];\n }\n\n return conf.otherLanguage;\n }\n\n /**\n * Retrieve the translation configuration for a given language\n */\n function getConfigurationFor(language: string, emissionConf: TranslationConfiguration, orgaConf: TranslationConfiguration): CreateTranslation {\n const emissionSetting = getApplicationConf(language, emissionConf);\n if (emissionSetting === CreateTranslation.SUPER) {\n return getApplicationConf(language, orgaConf);\n }\n return emissionSetting;\n }\n\n function parseOrDefault(data: string|undefined, isEmission = false): TranslationConfiguration {\n return data ? JSON.parse(data) : defaultTranslationConfig(isEmission);\n }\n\n /**\n * Indicates wether the language is available (either because generated or\n * because it can be generated)\n * @param language The language to check for\n * @param emission *(optional)* If set, will also check in emission settings\n * @returns Whether the language is available or not\n */\n function getTranslationConfig(language: string, emission: Emission, orgaAttributes: OrganisationAttributes): CreateTranslation {\n const emissionTranslation = parseOrDefault(emission.annotations?.['translation-config'] as string|undefined, true);\n const orgTranslation = parseOrDefault(orgaAttributes?.['translation-config']);\n\n return getConfigurationFor(language, emissionTranslation, orgTranslation);\n }\n\n function getLanguageAvailability(language: string, emission: Emission, orgaAttributes: OrganisationAttributes, translationData: PodcastTranslationData): Availability {\n \n // 1. If language of podcast == language of browser, use that language\n if (language === translationData.nativeLanguage) {\n return Availability.Available;\n } else {\n const langConfig = getTranslationConfig(language, emission, orgaAttributes);\n\n // 2. If the language of the browser is available, use it\n if (langConfig === CreateTranslation.ALWAYS) {\n return Availability.Available;\n }\n // 2b. If the language is on demand, check if generated\n else if (langConfig === CreateTranslation.ON_DEMAND) {\n // Check if translation is already generated\n if (translationData.translations.find(t => t.language === language && t.state === TranslationState.FINISHED)) {\n return Availability.Available;\n } else {\n return Availability.ToGenerate;\n }\n }\n }\n\n return Availability.Unavailable;\n }\n\n /**\n * Get the relevant language for the current user\n * @param translationData The translation data for the podcast\n * @returns An object with properties 'ready' and 'available'\n * - *ready* Is the best language already generated\n * - *available* Is the best language not yet generated (or\n * undefined if *ready* is better)\n */\n async function getMostRelevantLanguage(translationData: PodcastTranslationData): Promise<RelevantLanguages> {\n const userLanguage = getLanguage(false);\n\n // If user language is native, do not go further\n if (userLanguage === translationData.nativeLanguage) {\n return { ready: userLanguage };\n }\n\n // Compute all available languages. Use language set on site, then\n // languages defined on browser, then default, and finally native language\n const languages: string[] = [];\n [userLanguage, ...navigator.languages, DEFAULT_LANGUAGE, translationData.nativeLanguage].forEach(l => {\n // For each language, if it is a variant (for example fr-CH), use\n // only the base language\n if (l.includes('-')) {\n l = l.split('-')[0];\n }\n\n if (!languages.includes(l)) {\n languages.push(l);\n }\n });\n\n const podcast = await podcastApi.get(translationData.podcastId);\n const emission = podcast.emission;\n const orgaAttributes = await organisationApi.getAttributes(podcast.organisation.id);\n\n let bestReady: string|null = null;\n let bestAvailable: string|null = null;\n\n for (const language of languages) {\n const avaibility = getLanguageAvailability(language, emission, orgaAttributes, translationData);\n if (avaibility === Availability.Available && bestReady === null) {\n bestReady = language;\n break;\n }\n\n if (avaibility === Availability.ToGenerate && bestAvailable === null) {\n bestAvailable = language;\n }\n }\n\n return { ready: bestReady, available: bestAvailable ?? undefined };\n }\n\n /**\n * Get the relevant translation for the current user\n * @param translationData The translation data for the podcast\n * @returns The translation\n */\n async function getMostRelevantTranslation(translationData: PodcastTranslationData): Promise<string>;\n /**\n * Get the relevant translation for the current user\n * @param podcastId The ID of the podcast\n * @returns The translation\n */\n async function getMostRelevantTranslation(podcastId: number): Promise<string>;\n\n /**\n * Get the relevant translation for the current user\n * @param translationData The translation data for the podcast\n * @returns The translation\n */\n async function getMostRelevantTranslation(data: PodcastTranslationData|number): Promise<string> {\n let translationData: PodcastTranslationData;\n if (typeof data === 'number') {\n translationData = await transcriptionApi.getTranslations(data);\n } else {\n translationData = data;\n }\n\n const { ready } = await getMostRelevantLanguage(translationData);\n\n // Finally get translation with chosen language\n const podcastId = translationData.podcastId;\n return await transcriptionApi.getTranslation(podcastId, ready);\n }\n\n return {\n convertSrtToPlainText,\n getMostRelevantLanguage,\n getMostRelevantTranslation,\n getTranslationConfig\n }\n};\n"],"mappings":"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"}