@saooti/octopus-sdk 42.0.3 → 42.0.5

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 (1065) hide show
  1. package/dist/AccessibilityModal-Bk-lyxlI.mjs +119 -0
  2. package/dist/AccessibilityModal-Bk-lyxlI.mjs.map +1 -0
  3. package/dist/AccessibilityModal-DqRtmHwG.mjs.map +1 -0
  4. package/dist/AdsProgressBar-B6Mi09W8.mjs +28 -0
  5. package/dist/AdsProgressBar-B6Mi09W8.mjs.map +1 -0
  6. package/dist/AdsProgressBar-CAP7Zj--.mjs.map +1 -0
  7. package/dist/AdvancedSearch-CVglkFkt.mjs.map +1 -0
  8. package/dist/AdvancedSearch-D6vwfxo5.mjs +317 -0
  9. package/dist/AdvancedSearch-D6vwfxo5.mjs.map +1 -0
  10. package/dist/AdvancedSearch-DINUCkA8.mjs.map +1 -0
  11. package/dist/AdvancedSearch-XvvmHfah.mjs.map +1 -0
  12. package/dist/AmazonMusicIcon-BbyyRbP4.mjs +49 -0
  13. package/dist/AmazonMusicIcon-BbyyRbP4.mjs.map +1 -0
  14. package/dist/AmazonMusicIcon-D5vNh4HG.mjs.map +1 -0
  15. package/dist/ApplePodcastIcon-Cq5SSyRm.mjs +51 -0
  16. package/dist/ApplePodcastIcon-Cq5SSyRm.mjs.map +1 -0
  17. package/dist/ApplePodcastIcon-DtC4TS8H.mjs.map +1 -0
  18. package/dist/CategoryChooser-DWEL9V5p.mjs.map +1 -0
  19. package/dist/CategoryChooser-DklLXzrz.mjs +216 -0
  20. package/dist/CategoryChooser-DklLXzrz.mjs.map +1 -0
  21. package/dist/CategoryFilter-BYG8Fnzn.mjs.map +1 -0
  22. package/dist/CategoryFilter-Bg279Zhp.mjs.map +1 -0
  23. package/dist/CategoryFilter-CmS3Ny_9.mjs +205 -0
  24. package/dist/CategoryFilter-CmS3Ny_9.mjs.map +1 -0
  25. package/dist/CategoryList-CfMKagU8.mjs +153 -0
  26. package/dist/CategoryList-CfMKagU8.mjs.map +1 -0
  27. package/dist/CategoryList-CtYJ1Otd.mjs.map +1 -0
  28. package/dist/CategoryList-fb__vBIZ.mjs.map +1 -0
  29. package/dist/CategoryPage-BXpFZSoD.mjs.map +1 -0
  30. package/dist/CategoryPage-CjFCzM5T.mjs.map +1 -0
  31. package/dist/CategoryPage-D8ZeqW_O.mjs +41 -0
  32. package/dist/CategoryPage-D8ZeqW_O.mjs.map +1 -0
  33. package/dist/CategoryPage-DOpUFF1y.mjs.map +1 -0
  34. package/dist/CategorySearchFilter-1oMd2Mm5.mjs +54 -0
  35. package/dist/CategorySearchFilter-1oMd2Mm5.mjs.map +1 -0
  36. package/dist/CategorySearchFilter-CEGWqMSt.mjs.map +1 -0
  37. package/dist/ChapteringModal-Bj_VrtB1.mjs.map +1 -0
  38. package/dist/ChapteringModal-C35ILBs7.mjs +64 -0
  39. package/dist/ChapteringModal-C35ILBs7.mjs.map +1 -0
  40. package/dist/ChapteringModal-CN-qJH9j.mjs.map +1 -0
  41. package/dist/CheckIdentityModal-4XD5uK5v.mjs.map +1 -0
  42. package/dist/CheckIdentityModal-RQYssX9o.mjs.map +1 -0
  43. package/dist/CheckIdentityModal-ekQqQKIU.mjs +62 -0
  44. package/dist/CheckIdentityModal-ekQqQKIU.mjs.map +1 -0
  45. package/dist/ChooseEpisodesNumber-BbsEFK07.mjs +50 -0
  46. package/dist/ChooseEpisodesNumber-BbsEFK07.mjs.map +1 -0
  47. package/dist/ChooseEpisodesNumber-OlhXXsCa.mjs.map +1 -0
  48. package/dist/ClassicAccordion-H690GTb-.mjs +87 -0
  49. package/dist/ClassicAccordion-H690GTb-.mjs.map +1 -0
  50. package/dist/ClassicAccordion-S0e-IhFa.mjs.map +1 -0
  51. package/dist/ClassicAlert-D51F43qS.mjs +57 -0
  52. package/dist/ClassicAlert-D51F43qS.mjs.map +1 -0
  53. package/dist/ClassicAlert-DUQplMvs.mjs.map +1 -0
  54. package/dist/ClassicBigChip-BbWdjK3W.mjs.map +1 -0
  55. package/dist/ClassicBigChip-CMefjO08.mjs.map +1 -0
  56. package/dist/ClassicBigChip-CaUJ5EI5.mjs +33 -0
  57. package/dist/ClassicBigChip-CaUJ5EI5.mjs.map +1 -0
  58. package/dist/ClassicCheckbox-BHKCPtLR.mjs.map +1 -0
  59. package/dist/ClassicCheckbox-CqA5WUGc.mjs +113 -0
  60. package/dist/ClassicCheckbox-CqA5WUGc.mjs.map +1 -0
  61. package/dist/ClassicContentEditable-BSsnA6oo.mjs.map +1 -0
  62. package/dist/ClassicContentEditable-R2O8-zPZ.mjs +52 -0
  63. package/dist/ClassicContentEditable-R2O8-zPZ.mjs.map +1 -0
  64. package/dist/ClassicCopyButton-M9AP3MKD.mjs.map +1 -0
  65. package/dist/ClassicCopyButton-y5PyWjLR.mjs +69 -0
  66. package/dist/ClassicCopyButton-y5PyWjLR.mjs.map +1 -0
  67. package/dist/ClassicDatePicker-CS5ufjLj.mjs +226 -0
  68. package/dist/ClassicDatePicker-CS5ufjLj.mjs.map +1 -0
  69. package/dist/ClassicDatePicker-DWVn4oHu.mjs.map +1 -0
  70. package/dist/ClassicEmojiPicker-BJeHH_oM.mjs +74 -0
  71. package/dist/ClassicEmojiPicker-BJeHH_oM.mjs.map +1 -0
  72. package/dist/ClassicEmojiPicker-EQy5H_zL.mjs.map +1 -0
  73. package/dist/ClassicHelpButton-B6jXpEKT.mjs.map +1 -0
  74. package/dist/ClassicHelpButton-DkCQoPpA.mjs +57 -0
  75. package/dist/ClassicHelpButton-DkCQoPpA.mjs.map +1 -0
  76. package/dist/ClassicInputText-B7EAwP2N.mjs.map +1 -0
  77. package/dist/ClassicInputText-adAE0MPy.mjs +335 -0
  78. package/dist/ClassicInputText-adAE0MPy.mjs.map +1 -0
  79. package/dist/ClassicLazy-7mFHxG6O.mjs.map +1 -0
  80. package/dist/ClassicLazy-DKgiCdDI.mjs +92 -0
  81. package/dist/ClassicLazy-DKgiCdDI.mjs.map +1 -0
  82. package/dist/ClassicLoading-Crlw7cAx.mjs.map +1 -0
  83. package/dist/ClassicLoading-DZLIyuUd.mjs +52 -0
  84. package/dist/ClassicLoading-DZLIyuUd.mjs.map +1 -0
  85. package/dist/ClassicModal-CilwHp9p.mjs.map +1 -0
  86. package/dist/ClassicModal-DbRPVcJr.mjs +87 -0
  87. package/dist/ClassicModal-DbRPVcJr.mjs.map +1 -0
  88. package/dist/ClassicModalInBody-BkaRcZZx.mjs.map +1 -0
  89. package/dist/ClassicModalInBody-Dq9PBoaB.mjs +77 -0
  90. package/dist/ClassicModalInBody-Dq9PBoaB.mjs.map +1 -0
  91. package/dist/ClassicMultiselect-BEY-HpGk.mjs.map +1 -0
  92. package/dist/ClassicMultiselect-wJ9U_4b2.mjs +246 -0
  93. package/dist/ClassicMultiselect-wJ9U_4b2.mjs.map +1 -0
  94. package/dist/ClassicNav-Dvm8faD9.mjs.map +1 -0
  95. package/dist/ClassicNav-P2h4OFEY.mjs +65 -0
  96. package/dist/ClassicNav-P2h4OFEY.mjs.map +1 -0
  97. package/dist/ClassicPopover-BIyLKorz.mjs.map +1 -0
  98. package/dist/ClassicPopover-Bk5kf37e.mjs +261 -0
  99. package/dist/ClassicPopover-Bk5kf37e.mjs.map +1 -0
  100. package/dist/ClassicRadio-BwylgGYF.mjs.map +1 -0
  101. package/dist/ClassicRadio-Dr6od5uM.mjs +78 -0
  102. package/dist/ClassicRadio-Dr6od5uM.mjs.map +1 -0
  103. package/dist/ClassicRadioLabel-DIij8S-y.mjs +86 -0
  104. package/dist/ClassicRadioLabel-DIij8S-y.mjs.map +1 -0
  105. package/dist/ClassicRadioLabel-ynBzFxC2.mjs.map +1 -0
  106. package/dist/ClassicSearch-BPWOTzhw.mjs +76 -0
  107. package/dist/ClassicSearch-BPWOTzhw.mjs.map +1 -0
  108. package/dist/ClassicSearch-D5yT0JRA.mjs.map +1 -0
  109. package/dist/ClassicSelect-BaY2yvwP.mjs.map +1 -0
  110. package/dist/ClassicSelect-BeCuKMad.mjs +138 -0
  111. package/dist/ClassicSelect-BeCuKMad.mjs.map +1 -0
  112. package/dist/ClassicSpinner-CL99QR-h.mjs +39 -0
  113. package/dist/ClassicSpinner-CL99QR-h.mjs.map +1 -0
  114. package/dist/ClassicSpinner-lNq7TnmD.mjs.map +1 -0
  115. package/dist/ClassicTabs-Bcine4_p.mjs.map +1 -0
  116. package/dist/ClassicTabs-sNP268jp.mjs +52 -0
  117. package/dist/ClassicTabs-sNP268jp.mjs.map +1 -0
  118. package/dist/ClassicTagInput-DrIZVI0X.mjs +82 -0
  119. package/dist/ClassicTagInput-DrIZVI0X.mjs.map +1 -0
  120. package/dist/ClassicTagInput-HM3VUbHp.mjs.map +1 -0
  121. package/dist/ClassicWysiwyg-BKq8ExjM.mjs.map +1 -0
  122. package/dist/ClassicWysiwyg-CRx5L0lR.mjs +200 -0
  123. package/dist/ClassicWysiwyg-CRx5L0lR.mjs.map +1 -0
  124. package/dist/ClipboardModal-DcUIqJGT.mjs +64 -0
  125. package/dist/ClipboardModal-DcUIqJGT.mjs.map +1 -0
  126. package/dist/ClipboardModal-MJw-Q5H5.mjs.map +1 -0
  127. package/dist/ClipboardModal-VRWz6S2A.mjs.map +1 -0
  128. package/dist/CommentBasicView-BIiF59xV.mjs.map +1 -0
  129. package/dist/CommentBasicView-CmDziW-M.mjs +103 -0
  130. package/dist/CommentBasicView-CmDziW-M.mjs.map +1 -0
  131. package/dist/CommentInput-BH-j4xYE.mjs.map +1 -0
  132. package/dist/CommentInput-CCpv7RF8.mjs +150 -0
  133. package/dist/CommentInput-CCpv7RF8.mjs.map +1 -0
  134. package/dist/CommentInput-DOuugk5A.mjs.map +1 -0
  135. package/dist/CommentItem-B1wXPEZZ.mjs +194 -0
  136. package/dist/CommentItem-B1wXPEZZ.mjs.map +1 -0
  137. package/dist/CommentItem-DuJsZoIk.mjs.map +1 -0
  138. package/dist/CommentItem-XLeueLaZ.mjs.map +1 -0
  139. package/dist/CommentList-ByBLWHYE.mjs.map +1 -0
  140. package/dist/CommentList-CIoNgXiD.mjs.map +1 -0
  141. package/dist/CommentList-dSoD09Di.mjs +262 -0
  142. package/dist/CommentList-dSoD09Di.mjs.map +1 -0
  143. package/dist/CommentMoreActions-CnczLaid.mjs +248 -0
  144. package/dist/CommentMoreActions-CnczLaid.mjs.map +1 -0
  145. package/dist/CommentMoreActions-CyEIOrzQ.mjs.map +1 -0
  146. package/dist/CommentMoreActions-X9tC_I0A.mjs.map +1 -0
  147. package/dist/CommentName-CkGKXK3_.mjs +73 -0
  148. package/dist/CommentName-CkGKXK3_.mjs.map +1 -0
  149. package/dist/CommentName-rapSs0fp.mjs.map +1 -0
  150. package/dist/CommentName-sabBJAA8.mjs.map +1 -0
  151. package/dist/CommentParentInfo-CQXTtdBn.mjs.map +1 -0
  152. package/dist/CommentParentInfo-D3nI0C85.mjs.map +1 -0
  153. package/dist/CommentParentInfo-J1vHOCm3.mjs +47 -0
  154. package/dist/CommentParentInfo-J1vHOCm3.mjs.map +1 -0
  155. package/dist/CommentPlayer-70dIz2Rg.mjs +67 -0
  156. package/dist/CommentPlayer-70dIz2Rg.mjs.map +1 -0
  157. package/dist/CommentPlayer-BVhVIPgD.mjs.map +1 -0
  158. package/dist/CommentPlayer-Cfa-z5qQ.mjs.map +1 -0
  159. package/dist/CommentSection-2kJz9TRg.mjs.map +1 -0
  160. package/dist/CommentSection-Bz6q4N6d.mjs +113 -0
  161. package/dist/CommentSection-Bz6q4N6d.mjs.map +1 -0
  162. package/dist/CommentSection-DRpvhHqB.mjs.map +1 -0
  163. package/dist/CommentStore-BFkEAz_S.mjs.map +1 -0
  164. package/dist/CommentStore-BjQ0AGHa.mjs +355 -0
  165. package/dist/CommentStore-BjQ0AGHa.mjs.map +1 -0
  166. package/dist/ContractPreviewModal-DhoEBsqo.mjs +75 -0
  167. package/dist/ContractPreviewModal-DhoEBsqo.mjs.map +1 -0
  168. package/dist/ContractPreviewModal-DjCwrq7e.mjs.map +1 -0
  169. package/dist/ContractPreviewModal-Dqyo5xUg.mjs.map +1 -0
  170. package/dist/CountDown-CAUtA0Vp.mjs.map +1 -0
  171. package/dist/CountDown-Ce0nxiby.mjs +28 -0
  172. package/dist/CountDown-Ce0nxiby.mjs.map +1 -0
  173. package/dist/CountdownOctopus-CR9zvBmW.mjs +34 -0
  174. package/dist/CountdownOctopus-CR9zvBmW.mjs.map +1 -0
  175. package/dist/CountdownOctopus-i6-l0aLA.mjs.map +1 -0
  176. package/dist/DateFilter-DD9cY_la.mjs.map +1 -0
  177. package/dist/DateFilter-DkU1MSa-.mjs +101 -0
  178. package/dist/DateFilter-DkU1MSa-.mjs.map +1 -0
  179. package/dist/DeezerIcon-BUdIKeqN.mjs.map +1 -0
  180. package/dist/DeezerIcon-D4cq4iPQ.mjs +49 -0
  181. package/dist/DeezerIcon-D4cq4iPQ.mjs.map +1 -0
  182. package/dist/DownloadPodcastButton-C5jl5QoM.mjs.map +1 -0
  183. package/dist/DownloadPodcastButton-Cbtq6s60.mjs.map +1 -0
  184. package/dist/DownloadPodcastButton-DLMz5Siw.mjs +39 -0
  185. package/dist/DownloadPodcastButton-DLMz5Siw.mjs.map +1 -0
  186. package/dist/EditCommentModal-3jlBtPco.mjs.map +1 -0
  187. package/dist/EditCommentModal-B5xc_AC2.mjs.map +1 -0
  188. package/dist/EditCommentModal-_iEit4p4.mjs +134 -0
  189. package/dist/EditCommentModal-_iEit4p4.mjs.map +1 -0
  190. package/dist/EditFtpIcon-D5VaHXWl.mjs.map +1 -0
  191. package/dist/EditFtpIcon-Do2G7rmM.mjs +47 -0
  192. package/dist/EditFtpIcon-Do2G7rmM.mjs.map +1 -0
  193. package/dist/EmissionGroupChooser-CQ6wTihw.mjs.map +1 -0
  194. package/dist/EmissionGroupChooser-D3xCu4tW.mjs +55 -0
  195. package/dist/EmissionGroupChooser-D3xCu4tW.mjs.map +1 -0
  196. package/dist/EmissionGroupChooser-DheKnUrA.mjs.map +1 -0
  197. package/dist/EmissionInlineList-CPgw-_jC.mjs +129 -0
  198. package/dist/EmissionInlineList-CPgw-_jC.mjs.map +1 -0
  199. package/dist/EmissionInlineList-CeCcnsfP.mjs.map +1 -0
  200. package/dist/EmissionInlineList-DD5tKHdg.mjs.map +1 -0
  201. package/dist/EmissionItem-Cl53in7H.mjs +144 -0
  202. package/dist/EmissionItem-Cl53in7H.mjs.map +1 -0
  203. package/dist/EmissionItem-DO1G4P7I.mjs.map +1 -0
  204. package/dist/EmissionItem-Dyamdgqm.mjs.map +1 -0
  205. package/dist/EmissionItem-NQh_dIN1.mjs.map +1 -0
  206. package/dist/EmissionList-CNizEXC9.mjs.map +1 -0
  207. package/dist/EmissionList-D4DFhKPt.mjs +286 -0
  208. package/dist/EmissionList-D4DFhKPt.mjs.map +1 -0
  209. package/dist/EmissionList-DfhK6dgl.mjs.map +1 -0
  210. package/dist/EmissionList-JEE2Remj.mjs.map +1 -0
  211. package/dist/EmissionPage-B1OhP9b5.mjs.map +1 -0
  212. package/dist/EmissionPage-B3fju1Sc.mjs +247 -0
  213. package/dist/EmissionPage-B3fju1Sc.mjs.map +1 -0
  214. package/dist/EmissionPage-Cizyfg77.mjs.map +1 -0
  215. package/dist/EmissionPage-Dq4ECbbk.mjs.map +1 -0
  216. package/dist/EmissionPlayerItem-BzFck8k6.mjs +148 -0
  217. package/dist/EmissionPlayerItem-BzFck8k6.mjs.map +1 -0
  218. package/dist/EmissionPlayerItem-DhOuAEBr.mjs.map +1 -0
  219. package/dist/EmissionPlayerItem-DiM1VHun.mjs.map +1 -0
  220. package/dist/EmissionPresentationItem-CEjtj9mf.mjs +54 -0
  221. package/dist/EmissionPresentationItem-CEjtj9mf.mjs.map +1 -0
  222. package/dist/EmissionPresentationItem-DSCyFHjR.mjs.map +1 -0
  223. package/dist/EmissionPresentationItem-TpmURnni.mjs.map +1 -0
  224. package/dist/EmissionPresentationList-C80QlXif.mjs.map +1 -0
  225. package/dist/EmissionPresentationList-D1UcWrLn.mjs +104 -0
  226. package/dist/EmissionPresentationList-D1UcWrLn.mjs.map +1 -0
  227. package/dist/EmissionPresentationList-uApAVXPy.mjs.map +1 -0
  228. package/dist/EmissionsPage-B-Lgftdx.mjs.map +1 -0
  229. package/dist/EmissionsPage-CQm8C671.mjs +120 -0
  230. package/dist/EmissionsPage-CQm8C671.mjs.map +1 -0
  231. package/dist/EmissionsPage-CiV3jjrr.mjs.map +1 -0
  232. package/dist/EmissionsPage-Dop7rOfp.mjs.map +1 -0
  233. package/dist/Error403Page-8Z8InpBQ.mjs.map +1 -0
  234. package/dist/Error403Page-B4wfiYPh.mjs +56 -0
  235. package/dist/Error403Page-B4wfiYPh.mjs.map +1 -0
  236. package/dist/Error403Page-Du1eHk-4.mjs.map +1 -0
  237. package/dist/ErrorMessage-D2XAzxpC.mjs.map +1 -0
  238. package/dist/ErrorMessage-DcUdnqSU.mjs +33 -0
  239. package/dist/ErrorMessage-DcUdnqSU.mjs.map +1 -0
  240. package/dist/FooterGarSection-BlQXLOSL.mjs.map +1 -0
  241. package/dist/FooterGarSection-CFtIQW51.mjs.map +1 -0
  242. package/dist/FooterGarSection-DSu-iiPb.mjs +54 -0
  243. package/dist/FooterGarSection-DSu-iiPb.mjs.map +1 -0
  244. package/dist/FooterSection-CAGk8GmW.mjs +196 -0
  245. package/dist/FooterSection-CAGk8GmW.mjs.map +1 -0
  246. package/dist/FooterSection-CYVlRfnp.mjs.map +1 -0
  247. package/dist/FooterSection-LpLoB0-0.mjs.map +1 -0
  248. package/dist/GeneralStore-CUlq_NjO.mjs +45 -0
  249. package/dist/GeneralStore-CUlq_NjO.mjs.map +1 -0
  250. package/dist/HomeDropdown-DWCPphGw.mjs.map +1 -0
  251. package/dist/HomeDropdown-Dcyt9IM6.mjs +81 -0
  252. package/dist/HomeDropdown-Dcyt9IM6.mjs.map +1 -0
  253. package/dist/HomeDropdown-j5CLhQP9.mjs.map +1 -0
  254. package/dist/HomePage-D947-CtJ.mjs.map +1 -0
  255. package/dist/HomePage-DoZG25gj.mjs +142 -0
  256. package/dist/HomePage-DoZG25gj.mjs.map +1 -0
  257. package/dist/HomePage-DvbT5DWY.mjs.map +1 -0
  258. package/dist/HomePage-o7H3mupQ.mjs.map +1 -0
  259. package/dist/IHeartIcon-70F_rHQh.mjs.map +1 -0
  260. package/dist/IHeartIcon-D9X-Udgq.mjs +53 -0
  261. package/dist/IHeartIcon-D9X-Udgq.mjs.map +1 -0
  262. package/dist/LikeButton-DFkrvbgE.mjs.map +1 -0
  263. package/dist/LikeButton-gkh5hlOU.mjs +61 -0
  264. package/dist/LikeButton-gkh5hlOU.mjs.map +1 -0
  265. package/dist/LikeSection-BLrRZGlp.mjs +137 -0
  266. package/dist/LikeSection-BLrRZGlp.mjs.map +1 -0
  267. package/dist/LikeSection-DGKUdmkX.mjs.map +1 -0
  268. package/dist/LikeSection-no5OlBSF.mjs.map +1 -0
  269. package/dist/ListPaginate-BWWtCWZX.mjs +174 -0
  270. package/dist/ListPaginate-BWWtCWZX.mjs.map +1 -0
  271. package/dist/ListPaginate-DwmCOplg.mjs.map +1 -0
  272. package/dist/ListPaginate-QZ7t7y81.mjs.map +1 -0
  273. package/dist/LiveHorizontalList-BObeVsFj.mjs.map +1 -0
  274. package/dist/LiveHorizontalList-CDS6piq6.mjs +111 -0
  275. package/dist/LiveHorizontalList-CDS6piq6.mjs.map +1 -0
  276. package/dist/LiveHorizontalList-D_GkeFWa.mjs.map +1 -0
  277. package/dist/LiveHorizontalList-bMtchMkz.mjs.map +1 -0
  278. package/dist/LiveList-Bf2IwhCb.mjs +265 -0
  279. package/dist/LiveList-Bf2IwhCb.mjs.map +1 -0
  280. package/dist/LiveList-CLi1Bq0h.mjs.map +1 -0
  281. package/dist/LiveList-DZy0OfFl.mjs.map +1 -0
  282. package/dist/LiveList-uGUcdGMJ.mjs.map +1 -0
  283. package/dist/LivesPage-4xpcvJSQ.mjs.map +1 -0
  284. package/dist/LivesPage-BqEg0zT2.mjs.map +1 -0
  285. package/dist/LivesPage-CNPiAlnt.mjs.map +1 -0
  286. package/dist/LivesPage-CfYmRxnV.mjs +55 -0
  287. package/dist/LivesPage-CfYmRxnV.mjs.map +1 -0
  288. package/dist/MapPage-BDhnH1Kl.mjs.map +1 -0
  289. package/dist/MapPage-DjLcn4uk.mjs +276 -0
  290. package/dist/MapPage-DjLcn4uk.mjs.map +1 -0
  291. package/dist/MapPage-gETfgUu-.mjs.map +1 -0
  292. package/dist/MessageModal-B35dCbWB.mjs.map +1 -0
  293. package/dist/MessageModal-BWI3HTM0.mjs +116 -0
  294. package/dist/MessageModal-BWI3HTM0.mjs.map +1 -0
  295. package/dist/MobileMenu-B51ClvR4.mjs.map +1 -0
  296. package/dist/MobileMenu-BPtGG3Nt.mjs.map +1 -0
  297. package/dist/MobileMenu-CdvJhI_5.mjs +162 -0
  298. package/dist/MobileMenu-CdvJhI_5.mjs.map +1 -0
  299. package/dist/MonetizableFilter-BGQTUtwX.mjs.map +1 -0
  300. package/dist/MonetizableFilter-DOlNz4IP.mjs +66 -0
  301. package/dist/MonetizableFilter-DOlNz4IP.mjs.map +1 -0
  302. package/dist/NewsletterModal-3Hv1lNuN.mjs.map +1 -0
  303. package/dist/NewsletterModal-Cit-Ckrg.mjs.map +1 -0
  304. package/dist/NewsletterModal-Cq-ZW_Y_.mjs +64 -0
  305. package/dist/NewsletterModal-Cq-ZW_Y_.mjs.map +1 -0
  306. package/dist/OctopusMultiselect-CDijfV8W.mjs +325 -0
  307. package/dist/OctopusMultiselect-CDijfV8W.mjs.map +1 -0
  308. package/dist/OctopusMultiselect-tXNIWVpp.mjs.map +1 -0
  309. package/dist/OrganisationChooser-CH20oK8w.mjs +164 -0
  310. package/dist/OrganisationChooser-CH20oK8w.mjs.map +1 -0
  311. package/dist/OrganisationChooser-foPC-Rwo.mjs.map +1 -0
  312. package/dist/OrganisationChooser-m6bJKDBa.mjs.map +1 -0
  313. package/dist/OrganisationChooserLight-BGPuDaCx.mjs.map +1 -0
  314. package/dist/OrganisationChooserLight-DJHyYp6k.mjs.map +1 -0
  315. package/dist/OrganisationChooserLight-DqO0gfx7.mjs +63 -0
  316. package/dist/OrganisationChooserLight-DqO0gfx7.mjs.map +1 -0
  317. package/dist/PageLogout-Bc8zBpoo.mjs.map +1 -0
  318. package/dist/PageLogout-xQXWO2UF.mjs +21 -0
  319. package/dist/PageLogout-xQXWO2UF.mjs.map +1 -0
  320. package/dist/PageNotFound-BPFW-fzo.mjs.map +1 -0
  321. package/dist/PageNotFound-Dpv0tY-G.mjs +45 -0
  322. package/dist/PageNotFound-Dpv0tY-G.mjs.map +1 -0
  323. package/dist/PageNotFound-r_6Ei8S9.mjs.map +1 -0
  324. package/dist/PaginateParams-CbAaMAAM.mjs.map +1 -0
  325. package/dist/PaginateParams-CjJoKjUD.mjs +90 -0
  326. package/dist/PaginateParams-CjJoKjUD.mjs.map +1 -0
  327. package/dist/PaginateSection-BJ6iQai2.mjs.map +1 -0
  328. package/dist/PaginateSection-I875HiC5.mjs +184 -0
  329. package/dist/PaginateSection-I875HiC5.mjs.map +1 -0
  330. package/dist/ParticipantDescription-BsS6OEz9.mjs +57 -0
  331. package/dist/ParticipantDescription-BsS6OEz9.mjs.map +1 -0
  332. package/dist/ParticipantDescription-CwREwvZy.mjs.map +1 -0
  333. package/dist/ParticipantInlineList-BmE7OeIA.mjs.map +1 -0
  334. package/dist/ParticipantInlineList-C1BElB13.mjs +95 -0
  335. package/dist/ParticipantInlineList-C1BElB13.mjs.map +1 -0
  336. package/dist/ParticipantInlineList-DasTqo5z.mjs.map +1 -0
  337. package/dist/ParticipantItem-B3n9mXtJ.mjs +113 -0
  338. package/dist/ParticipantItem-B3n9mXtJ.mjs.map +1 -0
  339. package/dist/ParticipantItem-BOYW9dkV.mjs.map +1 -0
  340. package/dist/ParticipantItem-DiD5ANdf.mjs.map +1 -0
  341. package/dist/ParticipantPage-DI9J2hc9.mjs +161 -0
  342. package/dist/ParticipantPage-DI9J2hc9.mjs.map +1 -0
  343. package/dist/ParticipantPage-Dd0RQWvi.mjs.map +1 -0
  344. package/dist/ParticipantPage-DpEOyLsF.mjs.map +1 -0
  345. package/dist/ParticipantPage-KSNX-i8c.mjs.map +1 -0
  346. package/dist/ParticipantsPage-CC--r1ny.mjs.map +1 -0
  347. package/dist/ParticipantsPage-CVfRUkIM.mjs +215 -0
  348. package/dist/ParticipantsPage-CVfRUkIM.mjs.map +1 -0
  349. package/dist/ParticipantsPage-DF_C3M6I.mjs.map +1 -0
  350. package/dist/PlayVideoIcon-CQJTc1O7.mjs.map +1 -0
  351. package/dist/PlayVideoIcon-QfmloAS6.mjs +50 -0
  352. package/dist/PlayVideoIcon-QfmloAS6.mjs.map +1 -0
  353. package/dist/PlayerAnonymousModal-B_IyhbMR.mjs +67 -0
  354. package/dist/PlayerAnonymousModal-B_IyhbMR.mjs.map +1 -0
  355. package/dist/PlayerAnonymousModal-C_13dRO7.mjs.map +1 -0
  356. package/dist/PlayerAnonymousModal-DH3k1hXl.mjs.map +1 -0
  357. package/dist/PlayerCommonParameters-BF8-HN2S.mjs +32 -0
  358. package/dist/PlayerCommonParameters-BF8-HN2S.mjs.map +1 -0
  359. package/dist/PlayerCommonParameters-Dn-OIiO8.mjs.map +1 -0
  360. package/dist/PlayerCompact-BFLLRuDe.mjs.map +1 -0
  361. package/dist/PlayerCompact-DEeOaAfG.mjs.map +1 -0
  362. package/dist/PlayerCompact-DdCp2i_P.mjs +157 -0
  363. package/dist/PlayerCompact-DdCp2i_P.mjs.map +1 -0
  364. package/dist/PlayerComponent-BA2dlmRD.mjs.map +1 -0
  365. package/dist/PlayerComponent-CWtN6Je1.mjs +894 -0
  366. package/dist/PlayerComponent-CWtN6Je1.mjs.map +1 -0
  367. package/dist/PlayerComponent-im3MzRzo.mjs.map +1 -0
  368. package/dist/PlayerFmIcon-BGCKu8Y2.mjs +49 -0
  369. package/dist/PlayerFmIcon-BGCKu8Y2.mjs.map +1 -0
  370. package/dist/PlayerFmIcon-BxQ1g45P.mjs.map +1 -0
  371. package/dist/PlayerLarge-3OMY0_Tt.mjs.map +1 -0
  372. package/dist/PlayerLarge-BqjHyRf7.mjs.map +1 -0
  373. package/dist/PlayerLarge-I7FONG3B.mjs +153 -0
  374. package/dist/PlayerLarge-I7FONG3B.mjs.map +1 -0
  375. package/dist/PlayerParameters-fpNIoYO9.mjs.map +1 -0
  376. package/dist/PlayerParameters-y4IXdHiE.mjs +195 -0
  377. package/dist/PlayerParameters-y4IXdHiE.mjs.map +1 -0
  378. package/dist/PlayerPlayButton-Bm6Rp8bS.mjs +327 -0
  379. package/dist/PlayerPlayButton-Bm6Rp8bS.mjs.map +1 -0
  380. package/dist/PlayerPlayButton-DdIezDHQ.mjs.map +1 -0
  381. package/dist/PlayerPlayButton-T1Fr5nWh.mjs.map +1 -0
  382. package/dist/PlayerProgressBar-5jLv6Y7S.mjs.map +1 -0
  383. package/dist/PlayerProgressBar-8Q9iCyLs.mjs.map +1 -0
  384. package/dist/PlayerProgressBar-C38YCi9Z.mjs +75 -0
  385. package/dist/PlayerProgressBar-C38YCi9Z.mjs.map +1 -0
  386. package/dist/PlayerStore-BVK7ItEM.mjs.map +1 -0
  387. package/dist/PlayerStore-DB5dkc3c.mjs +230 -0
  388. package/dist/PlayerStore-DB5dkc3c.mjs.map +1 -0
  389. package/dist/PlayerVideo-Bud1rcxU.mjs +52 -0
  390. package/dist/PlayerVideo-Bud1rcxU.mjs.map +1 -0
  391. package/dist/PlayerVideo-CX3JS9bK.mjs.map +1 -0
  392. package/dist/PlayerVideo-D0mTmRCq.mjs.map +1 -0
  393. package/dist/PlayerVideoDigiteka-CiTtloWK.mjs +82 -0
  394. package/dist/PlayerVideoDigiteka-CiTtloWK.mjs.map +1 -0
  395. package/dist/PlayerVideoDigiteka-DjlfXgIZ.mjs.map +1 -0
  396. package/dist/PlayerVideoDigiteka-Dn3neAtr.mjs.map +1 -0
  397. package/dist/PlayerVideoHls-BJj1m924.mjs.map +1 -0
  398. package/dist/PlayerVideoHls-D909ECaY.mjs.map +1 -0
  399. package/dist/PlayerVideoHls-DjAlSV39.mjs +199 -0
  400. package/dist/PlayerVideoHls-DjAlSV39.mjs.map +1 -0
  401. package/dist/PlayerYoutubeEmbed-D0A4EWhU.mjs.map +1 -0
  402. package/dist/PlayerYoutubeEmbed-D5ZhaHbv.mjs +32 -0
  403. package/dist/PlayerYoutubeEmbed-D5ZhaHbv.mjs.map +1 -0
  404. package/dist/PlaylistPage-B-qoOMDN.mjs.map +1 -0
  405. package/dist/PlaylistPage-Botg5_jv.mjs.map +1 -0
  406. package/dist/PlaylistPage-C56-smtp.mjs.map +1 -0
  407. package/dist/PlaylistPage-aIWF8InW.mjs +180 -0
  408. package/dist/PlaylistPage-aIWF8InW.mjs.map +1 -0
  409. package/dist/PlaylistsPage-BSNE0BZ9.mjs.map +1 -0
  410. package/dist/PlaylistsPage-D2QbHMQu.mjs.map +1 -0
  411. package/dist/PlaylistsPage-Pnn895N-.mjs +322 -0
  412. package/dist/PlaylistsPage-Pnn895N-.mjs.map +1 -0
  413. package/dist/PocketCastIcon-Nm45VN7b.mjs.map +1 -0
  414. package/dist/PocketCastIcon-RfG93aY3.mjs +49 -0
  415. package/dist/PocketCastIcon-RfG93aY3.mjs.map +1 -0
  416. package/dist/PodcastAddictIcon-DRF7w4QM.mjs.map +1 -0
  417. package/dist/PodcastAddictIcon-v149CijV.mjs +52 -0
  418. package/dist/PodcastAddictIcon-v149CijV.mjs.map +1 -0
  419. package/dist/PodcastFilterList-CQ8vxYW7.mjs.map +1 -0
  420. package/dist/PodcastFilterList-CZzD028O.mjs.map +1 -0
  421. package/dist/PodcastFilterList-Khjz0Dny.mjs +179 -0
  422. package/dist/PodcastFilterList-Khjz0Dny.mjs.map +1 -0
  423. package/dist/PodcastFilterList-NSECjEDk.mjs.map +1 -0
  424. package/dist/PodcastImage-B-_N0gS4.mjs.map +1 -0
  425. package/dist/PodcastImage-BrfDAORW.mjs +148 -0
  426. package/dist/PodcastImage-BrfDAORW.mjs.map +1 -0
  427. package/dist/PodcastImage-DTrISr_U.mjs.map +1 -0
  428. package/dist/PodcastInlineList-BkHA9K7I.mjs +126 -0
  429. package/dist/PodcastInlineList-BkHA9K7I.mjs.map +1 -0
  430. package/dist/PodcastInlineList-Bq-uF-n4.mjs.map +1 -0
  431. package/dist/PodcastInlineList-DOkuKLLe.mjs.map +1 -0
  432. package/dist/PodcastInlineList-cWF3ymZw.mjs.map +1 -0
  433. package/dist/PodcastInlineListTemplate-BWUKzZU9.mjs.map +1 -0
  434. package/dist/PodcastInlineListTemplate-Bc479tGK.mjs.map +1 -0
  435. package/dist/PodcastInlineListTemplate-CiuRCR7t.mjs +206 -0
  436. package/dist/PodcastInlineListTemplate-CiuRCR7t.mjs.map +1 -0
  437. package/dist/PodcastIsPlaying-B2uIZI7V.mjs.map +1 -0
  438. package/dist/PodcastIsPlaying-DEviEW23.mjs +21 -0
  439. package/dist/PodcastIsPlaying-DEviEW23.mjs.map +1 -0
  440. package/dist/PodcastIsPlaying-DzzRwggt.mjs.map +1 -0
  441. package/dist/PodcastItem-6qkOg90q.mjs +213 -0
  442. package/dist/PodcastItem-6qkOg90q.mjs.map +1 -0
  443. package/dist/PodcastItem-DLD5hfk7.mjs.map +1 -0
  444. package/dist/PodcastItem-ltLOqm-_.mjs.map +1 -0
  445. package/dist/PodcastItem-naoxNwra.mjs.map +1 -0
  446. package/dist/PodcastList-5vFekv1m.mjs.map +1 -0
  447. package/dist/PodcastList-B60tYB2G.mjs.map +1 -0
  448. package/dist/PodcastList-B9xZlEH4.mjs +152 -0
  449. package/dist/PodcastList-B9xZlEH4.mjs.map +1 -0
  450. package/dist/PodcastList-BYBjpOL8.mjs.map +1 -0
  451. package/dist/PodcastList-BuDcObSr.mjs.map +1 -0
  452. package/dist/PodcastList-DQanN0Bb.mjs.map +1 -0
  453. package/dist/PodcastList-gdQbPtGY.mjs +234 -0
  454. package/dist/PodcastList-gdQbPtGY.mjs.map +1 -0
  455. package/dist/PodcastList-jCzCt_eR.mjs.map +1 -0
  456. package/dist/PodcastPage-B5WpXRPn.mjs.map +1 -0
  457. package/dist/PodcastPage-BFjlYZGL.mjs.map +1 -0
  458. package/dist/PodcastPage-BUlluWvM.mjs.map +1 -0
  459. package/dist/PodcastPage-D3aBkgdA.mjs +585 -0
  460. package/dist/PodcastPage-D3aBkgdA.mjs.map +1 -0
  461. package/dist/PodcastPlannedSpinner-BJDQ4VPx.mjs +20 -0
  462. package/dist/PodcastPlannedSpinner-BJDQ4VPx.mjs.map +1 -0
  463. package/dist/PodcastPlannedSpinner-BN7unEqf.mjs.map +1 -0
  464. package/dist/PodcastPlayBar-BotWFQoJ.mjs.map +1 -0
  465. package/dist/PodcastPlayBar-C7pDzmXr.mjs +65 -0
  466. package/dist/PodcastPlayBar-C7pDzmXr.mjs.map +1 -0
  467. package/dist/PodcastPlayBar-Dc71_DSn.mjs.map +1 -0
  468. package/dist/PodcastPlayBasicButton-9u92vEzq.mjs.map +1 -0
  469. package/dist/PodcastPlayBasicButton-BRbHFpVR.mjs +52 -0
  470. package/dist/PodcastPlayBasicButton-BRbHFpVR.mjs.map +1 -0
  471. package/dist/PodcastPlayBasicButton-Ds_kg-b1.mjs.map +1 -0
  472. package/dist/PodcastPlayButton-CMaudNx5.mjs +203 -0
  473. package/dist/PodcastPlayButton-CMaudNx5.mjs.map +1 -0
  474. package/dist/PodcastPlayButton-RjnyBBYO.mjs.map +1 -0
  475. package/dist/PodcastPlayButton-TpwW09jp.mjs.map +1 -0
  476. package/dist/PodcastPlaylistInlineList-BLAD7cMN.mjs.map +1 -0
  477. package/dist/PodcastPlaylistInlineList-BllOtctp.mjs +82 -0
  478. package/dist/PodcastPlaylistInlineList-BllOtctp.mjs.map +1 -0
  479. package/dist/PodcastPlaylistInlineList-CSITiCoX.mjs.map +1 -0
  480. package/dist/PodcastPlaylistInlineList-kO0naL9A.mjs.map +1 -0
  481. package/dist/PodcastPresentationList-BcKJ9XZ7.mjs +152 -0
  482. package/dist/PodcastPresentationList-BcKJ9XZ7.mjs.map +1 -0
  483. package/dist/PodcastPresentationList-CRCO4abw.mjs.map +1 -0
  484. package/dist/PodcastPresentationList-CSWhzlnX.mjs.map +1 -0
  485. package/dist/PodcastProgressBar-Ctp0I77F.mjs.map +1 -0
  486. package/dist/PodcastProgressBar-Dih-EtLn.mjs.map +1 -0
  487. package/dist/PodcastProgressBar-xAMieMIt.mjs +80 -0
  488. package/dist/PodcastProgressBar-xAMieMIt.mjs.map +1 -0
  489. package/dist/PodcastRawTranscript-BbCPFt3l.mjs.map +1 -0
  490. package/dist/PodcastRawTranscript-CdKhzP8l.mjs +146 -0
  491. package/dist/PodcastRawTranscript-CdKhzP8l.mjs.map +1 -0
  492. package/dist/PodcastRawTranscript-Cp0XSlnz.mjs.map +1 -0
  493. package/dist/PodcastRubriqueList-BGiDpOsb.mjs.map +1 -0
  494. package/dist/PodcastRubriqueList-BqhnhoEz.mjs +65 -0
  495. package/dist/PodcastRubriqueList-BqhnhoEz.mjs.map +1 -0
  496. package/dist/PodcastRubriqueList-CPaVKHY5.mjs.map +1 -0
  497. package/dist/PodcastSeasonInfo-BwD--f9z.mjs +37 -0
  498. package/dist/PodcastSeasonInfo-BwD--f9z.mjs.map +1 -0
  499. package/dist/PodcastSeasonInfo-DL_CsYTY.mjs.map +1 -0
  500. package/dist/PodcastSwiperList-C2H-uWk9.mjs.map +1 -0
  501. package/dist/PodcastSwiperList-CY2NOyCN.mjs.map +1 -0
  502. package/dist/PodcastSwiperList-Cj4G10ln.mjs.map +1 -0
  503. package/dist/PodcastSwiperList-DI-90c4F.mjs +191 -0
  504. package/dist/PodcastSwiperList-DI-90c4F.mjs.map +1 -0
  505. package/dist/PodcastmakerHeader-BubtZY7u.mjs.map +1 -0
  506. package/dist/PodcastmakerHeader-CURC8nyy.mjs.map +1 -0
  507. package/dist/PodcastmakerHeader-DLy0YSgm.mjs +46 -0
  508. package/dist/PodcastmakerHeader-DLy0YSgm.mjs.map +1 -0
  509. package/dist/PodcastsPage-CYG8bXaW.mjs.map +1 -0
  510. package/dist/PodcastsPage-DZlGTlaX.mjs +135 -0
  511. package/dist/PodcastsPage-DZlGTlaX.mjs.map +1 -0
  512. package/dist/PodcastsPage-PTwwATNT.mjs.map +1 -0
  513. package/dist/PodcastsPage-dOgLCDY5.mjs.map +1 -0
  514. package/dist/PresentationLayout-BWueEtST.mjs +70 -0
  515. package/dist/PresentationLayout-BWueEtST.mjs.map +1 -0
  516. package/dist/PresentationLayout-BmcVqEo8.mjs.map +1 -0
  517. package/dist/ProductorSearch-Bp7S8Sut.mjs.map +1 -0
  518. package/dist/ProductorSearch-ir5rkehT.mjs +132 -0
  519. package/dist/ProductorSearch-ir5rkehT.mjs.map +1 -0
  520. package/dist/ProductorSearch-yQPCj7Pa.mjs.map +1 -0
  521. package/dist/ProgressBar-B6z6oHHm.mjs.map +1 -0
  522. package/dist/ProgressBar-DLbzpY3L.mjs.map +1 -0
  523. package/dist/ProgressBar-ubd7c7H0.mjs +135 -0
  524. package/dist/ProgressBar-ubd7c7H0.mjs.map +1 -0
  525. package/dist/QrCode-BR3jPdJS.mjs +140 -0
  526. package/dist/QrCode-BR3jPdJS.mjs.map +1 -0
  527. package/dist/QrCode-C7IL9c3c.mjs.map +1 -0
  528. package/dist/QrCode-D86qgrdm.mjs.map +1 -0
  529. package/dist/QrCodeModal-9PCWJenP.mjs.map +1 -0
  530. package/dist/QrCodeModal-Cf1O9nwT.mjs.map +1 -0
  531. package/dist/QrCodeModal-DnREe0Jk.mjs +48 -0
  532. package/dist/QrCodeModal-DnREe0Jk.mjs.map +1 -0
  533. package/dist/RadioCurrently-BNzaJNoY.mjs +89 -0
  534. package/dist/RadioCurrently-BNzaJNoY.mjs.map +1 -0
  535. package/dist/RadioCurrently-Bz4kKaGc.mjs.map +1 -0
  536. package/dist/RadioCurrently-COaGoNF8.mjs.map +1 -0
  537. package/dist/RadioHistory-B_PBz6hY.mjs.map +1 -0
  538. package/dist/RadioHistory-DMGTXE4V.mjs +116 -0
  539. package/dist/RadioHistory-DMGTXE4V.mjs.map +1 -0
  540. package/dist/RadioHistory-Yhqmee1d.mjs.map +1 -0
  541. package/dist/RadioImage-B5jrzD8s.mjs.map +1 -0
  542. package/dist/RadioImage-BgrUZZIa.mjs +66 -0
  543. package/dist/RadioImage-BgrUZZIa.mjs.map +1 -0
  544. package/dist/RadioImage-D2MFmuqR.mjs.map +1 -0
  545. package/dist/RadioList-Bab4Pj9m.mjs.map +1 -0
  546. package/dist/RadioList-Bh8ub58m.mjs +95 -0
  547. package/dist/RadioList-Bh8ub58m.mjs.map +1 -0
  548. package/dist/RadioList-Ctbf98I9.mjs.map +1 -0
  549. package/dist/RadioPage-BY7YU_yL.mjs.map +1 -0
  550. package/dist/RadioPage-BtsGEI5i.mjs +105 -0
  551. package/dist/RadioPage-BtsGEI5i.mjs.map +1 -0
  552. package/dist/RadioPage-DtS3r-48.mjs.map +1 -0
  553. package/dist/RadioPlanning-B-sRUVGb.mjs.map +1 -0
  554. package/dist/RadioPlanning-D2RNEdEQ.mjs.map +1 -0
  555. package/dist/RadioPlanning-DMighzUU.mjs +257 -0
  556. package/dist/RadioPlanning-DMighzUU.mjs.map +1 -0
  557. package/dist/RadioProgressBar-4MT37o9a.mjs.map +1 -0
  558. package/dist/RadioProgressBar-CiapCPN-.mjs +47 -0
  559. package/dist/RadioProgressBar-CiapCPN-.mjs.map +1 -0
  560. package/dist/RadioProgressBar-DrxSXvmY.mjs.map +1 -0
  561. package/dist/RadiolineIcon-CIePjE9k.mjs.map +1 -0
  562. package/dist/RadiolineIcon-QP88nzG8.mjs +50 -0
  563. package/dist/RadiolineIcon-QP88nzG8.mjs.map +1 -0
  564. package/dist/RecaptchaModal-BThWkUuj.mjs.map +1 -0
  565. package/dist/RecaptchaModal-BkETInqb.mjs.map +1 -0
  566. package/dist/RecaptchaModal-DlThDzSF.mjs +119 -0
  567. package/dist/RecaptchaModal-DlThDzSF.mjs.map +1 -0
  568. package/dist/ReportAbuseModal-BfYBle6z.mjs.map +1 -0
  569. package/dist/ReportAbuseModal-Bnhfpowa.mjs.map +1 -0
  570. package/dist/ReportAbuseModal-Pd8P9tNB.mjs +107 -0
  571. package/dist/ReportAbuseModal-Pd8P9tNB.mjs.map +1 -0
  572. package/dist/RightsIndicator-COEtdoj_.mjs.map +1 -0
  573. package/dist/RightsIndicator-CZtSrb5K.mjs.map +1 -0
  574. package/dist/RightsIndicator-DNmA3L9O.mjs.map +1 -0
  575. package/dist/RightsIndicator-DYhqEbAB.mjs +69 -0
  576. package/dist/RightsIndicator-DYhqEbAB.mjs.map +1 -0
  577. package/dist/RightsWrapper-BHIinXXL.mjs.map +1 -0
  578. package/dist/RightsWrapper-CewAJoDY.mjs.map +1 -0
  579. package/dist/RightsWrapper-Cz5TnSUC.mjs +164 -0
  580. package/dist/RightsWrapper-Cz5TnSUC.mjs.map +1 -0
  581. package/dist/RubriqueChoice-BN4nirmx.mjs +120 -0
  582. package/dist/RubriqueChoice-BN4nirmx.mjs.map +1 -0
  583. package/dist/RubriqueChoice-BxmZoBZL.mjs.map +1 -0
  584. package/dist/RubriqueChoice-C4rglHV1.mjs.map +1 -0
  585. package/dist/RubriqueChooser-BceFw2x2.mjs.map +1 -0
  586. package/dist/RubriqueChooser-BgIvDDv7.mjs +213 -0
  587. package/dist/RubriqueChooser-BgIvDDv7.mjs.map +1 -0
  588. package/dist/RubriqueFilter-BwBU4kpV.mjs +168 -0
  589. package/dist/RubriqueFilter-BwBU4kpV.mjs.map +1 -0
  590. package/dist/RubriqueFilter-C7lAoJNq.mjs.map +1 -0
  591. package/dist/RubriqueFilter-CKF-seUZ.mjs.map +1 -0
  592. package/dist/RubriqueFilter-oDd4AytG.mjs.map +1 -0
  593. package/dist/RubriqueList-Cr0vXMew.mjs.map +1 -0
  594. package/dist/RubriqueList-D2PPns3m.mjs +169 -0
  595. package/dist/RubriqueList-D2PPns3m.mjs.map +1 -0
  596. package/dist/RubriqueList-zHKQE6OL.mjs.map +1 -0
  597. package/dist/RubriquePage-2ITwxYLr.mjs.map +1 -0
  598. package/dist/RubriquePage-Bpt2wwjK.mjs.map +1 -0
  599. package/dist/RubriquePage-CFrQ5Hw-.mjs +86 -0
  600. package/dist/RubriquePage-CFrQ5Hw-.mjs.map +1 -0
  601. package/dist/RubriquePage-Cf9QJQJB.mjs.map +1 -0
  602. package/dist/SearchOrder-CJ0Fj6Wd.mjs.map +1 -0
  603. package/dist/SearchOrder-CLl5slg5.mjs +70 -0
  604. package/dist/SearchOrder-CLl5slg5.mjs.map +1 -0
  605. package/dist/SearchPage-BopqRW_4.mjs.map +1 -0
  606. package/dist/SearchPage-BskiH0Hg.mjs +58 -0
  607. package/dist/SearchPage-BskiH0Hg.mjs.map +1 -0
  608. package/dist/SearchPage-D0Tz8ELe.mjs.map +1 -0
  609. package/dist/SearchPage-DLj9zYeL.mjs.map +1 -0
  610. package/dist/ShareAnonymous-B16PsWEJ.mjs +249 -0
  611. package/dist/ShareAnonymous-B16PsWEJ.mjs.map +1 -0
  612. package/dist/ShareAnonymous-CBVGRI6L.mjs.map +1 -0
  613. package/dist/ShareAnonymous-DmDaW3PH.mjs.map +1 -0
  614. package/dist/ShareModalPlayer-BV_1CKus.mjs.map +1 -0
  615. package/dist/ShareModalPlayer-SIkm_vpv.mjs.map +1 -0
  616. package/dist/ShareModalPlayer-lGW9vRFS.mjs +111 -0
  617. package/dist/ShareModalPlayer-lGW9vRFS.mjs.map +1 -0
  618. package/dist/ShareNewsletter-BigVU8EV.mjs.map +1 -0
  619. package/dist/ShareNewsletter-CRQBK_3P.mjs +181 -0
  620. package/dist/ShareNewsletter-CRQBK_3P.mjs.map +1 -0
  621. package/dist/ShareNewsletter-CleivWOu.mjs.map +1 -0
  622. package/dist/SharePlayer-CGlvYVn4.mjs.map +1 -0
  623. package/dist/SharePlayer-CSKYsE9H.mjs.map +1 -0
  624. package/dist/SharePlayer-Cdjz1NrC.mjs +319 -0
  625. package/dist/SharePlayer-Cdjz1NrC.mjs.map +1 -0
  626. package/dist/SharePlayerColors-D-9MoYm6.mjs.map +1 -0
  627. package/dist/SharePlayerColors-p_LreBcc.mjs +61 -0
  628. package/dist/SharePlayerColors-p_LreBcc.mjs.map +1 -0
  629. package/dist/SharePlayerRadio-BJBbDNn5.mjs.map +1 -0
  630. package/dist/SharePlayerRadio-DbHw7Vcn.mjs +99 -0
  631. package/dist/SharePlayerRadio-DbHw7Vcn.mjs.map +1 -0
  632. package/dist/SharePlayerRadio-OMXyRc4D.mjs.map +1 -0
  633. package/dist/SharePlayerTypes-BTWxUJWi.mjs +206 -0
  634. package/dist/SharePlayerTypes-BTWxUJWi.mjs.map +1 -0
  635. package/dist/SharePlayerTypes-C2_JNU6C.mjs.map +1 -0
  636. package/dist/SharePlayerTypes-DBERUe0_.mjs.map +1 -0
  637. package/dist/ShareSocialsButtons-Bwh9bMoR.mjs +132 -0
  638. package/dist/ShareSocialsButtons-Bwh9bMoR.mjs.map +1 -0
  639. package/dist/ShareSocialsButtons-CMOEQdYB.mjs.map +1 -0
  640. package/dist/ShareSocialsButtons-D0b8OawP.mjs.map +1 -0
  641. package/dist/SimpleLayout-BRjk598k.mjs.map +1 -0
  642. package/dist/SimpleLayout-D9uJF7mS.mjs +28 -0
  643. package/dist/SimpleLayout-D9uJF7mS.mjs.map +1 -0
  644. package/dist/SimpleLayout-b-QQv5aQ.mjs.map +1 -0
  645. package/dist/SmartLinkPage-CSTfusv3.mjs.map +1 -0
  646. package/dist/SmartLinkPage-CeGDzza8.mjs +187 -0
  647. package/dist/SmartLinkPage-CeGDzza8.mjs.map +1 -0
  648. package/dist/SmartLinkPage-DGRvD-vv.mjs.map +1 -0
  649. package/dist/SnackBar-DdE1dYhi.mjs.map +1 -0
  650. package/dist/SnackBar-jRnNt--Z.mjs +150 -0
  651. package/dist/SnackBar-jRnNt--Z.mjs.map +1 -0
  652. package/dist/SubscribeButtons-CHsq-Vk7.mjs +160 -0
  653. package/dist/SubscribeButtons-CHsq-Vk7.mjs.map +1 -0
  654. package/dist/SubscribeButtons-CJhlLSWX.mjs.map +1 -0
  655. package/dist/SubscribeButtons-ChrHIXBv.mjs.map +1 -0
  656. package/dist/SwiperList-BKiF8jIc.mjs +170 -0
  657. package/dist/SwiperList-BKiF8jIc.mjs.map +1 -0
  658. package/dist/SwiperList-BoALb00d.mjs.map +1 -0
  659. package/dist/SwiperList-DBmjvvCX.mjs.map +1 -0
  660. package/dist/TagList-BECg0vNz.mjs.map +1 -0
  661. package/dist/TagList-DRJvO9Gr.mjs.map +1 -0
  662. package/dist/TagList-DiGc-7Rj.mjs +110 -0
  663. package/dist/TagList-DiGc-7Rj.mjs.map +1 -0
  664. package/dist/TagPage-Bn2cVKpN.mjs.map +1 -0
  665. package/dist/TagPage-C9x5XWOd.mjs.map +1 -0
  666. package/dist/TagPage-DchdAQV2.mjs.map +1 -0
  667. package/dist/TagPage-Vd8JH7-r.mjs +99 -0
  668. package/dist/TagPage-Vd8JH7-r.mjs.map +1 -0
  669. package/dist/TopBar-B20_SqNY.mjs.map +1 -0
  670. package/dist/TopBar-DRclhhd6.mjs.map +1 -0
  671. package/dist/TopBar-FHuZ4j9H.mjs +358 -0
  672. package/dist/TopBar-FHuZ4j9H.mjs.map +1 -0
  673. package/dist/TuninIcon-BplDWgtD.mjs.map +1 -0
  674. package/dist/TuninIcon-SHr7Y1qJ.mjs +49 -0
  675. package/dist/TuninIcon-SHr7Y1qJ.mjs.map +1 -0
  676. package/dist/UserButtonContent-B-AMExwJ.mjs.map +1 -0
  677. package/dist/UserButtonContent-Btivzl2V.mjs.map +1 -0
  678. package/dist/UserButtonContent-I7ahjnuS.mjs +163 -0
  679. package/dist/UserButtonContent-I7ahjnuS.mjs.map +1 -0
  680. package/dist/VastStore-BPwOrXvb.mjs +80 -0
  681. package/dist/VastStore-BPwOrXvb.mjs.map +1 -0
  682. package/dist/VideoModuleBox-Bw0xu9_f.mjs.map +1 -0
  683. package/dist/VideoModuleBox-C8zDhbqA.mjs.map +1 -0
  684. package/dist/VideoModuleBox-Cl6YoznO.mjs +70 -0
  685. package/dist/VideoModuleBox-Cl6YoznO.mjs.map +1 -0
  686. package/dist/VideoPage-B-lgTFnX.mjs.map +1 -0
  687. package/dist/VideoPage-B5Tp2PMs.mjs +222 -0
  688. package/dist/VideoPage-B5Tp2PMs.mjs.map +1 -0
  689. package/dist/VideoPage-X3dZyaQH.mjs.map +1 -0
  690. package/dist/XIcon-DAVMitPh.mjs +49 -0
  691. package/dist/XIcon-DAVMitPh.mjs.map +1 -0
  692. package/dist/XIcon-Dz4rI_Hd.mjs.map +1 -0
  693. package/dist/_plugin-vue_export-helper-BOaGB7Aw.mjs +8 -0
  694. package/dist/aggregatorsApi-hyFtV8aL.mjs.map +1 -0
  695. package/dist/api-tznrp2lH.mjs.map +1 -0
  696. package/dist/apiUtils-D4ULJJbh.mjs.map +1 -0
  697. package/dist/buttons-cdGcewjB.mjs.map +1 -0
  698. package/dist/buttons-kyb_6P3e.mjs.map +1 -0
  699. package/dist/buttons-uGrbDDaA.mjs +113 -0
  700. package/dist/buttons-uGrbDDaA.mjs.map +1 -0
  701. package/dist/classicApi-BKNiWOG4.mjs +1790 -0
  702. package/dist/classicApi-BKNiWOG4.mjs.map +1 -0
  703. package/dist/classicApi-DC7iamat.mjs.map +1 -0
  704. package/dist/config-C73GMJpz.mjs +9 -0
  705. package/dist/config-C73GMJpz.mjs.map +1 -0
  706. package/dist/cookiesHelper-BQksSais.mjs +23 -0
  707. package/dist/cookiesHelper-BQksSais.mjs.map +1 -0
  708. package/dist/displayHelper-CpXshNzz.mjs +22 -0
  709. package/dist/displayHelper-CpXshNzz.mjs.map +1 -0
  710. package/dist/domHelper-DTMIrMbs.mjs +15 -0
  711. package/dist/domHelper-DTMIrMbs.mjs.map +1 -0
  712. package/dist/downloadHelper-CWLRMcjc.mjs +36 -0
  713. package/dist/downloadHelper-CWLRMcjc.mjs.map +1 -0
  714. package/dist/downloadHelper-DB969RNb.mjs.map +1 -0
  715. package/dist/educationen-B0PNsHqt.mjs +18 -0
  716. package/dist/educationen-B0PNsHqt.mjs.map +1 -0
  717. package/dist/educationfr-DnXyASTX.mjs +6 -0
  718. package/dist/educationfr-DnXyASTX.mjs.map +1 -0
  719. package/dist/emission-ByePXT9Y.mjs +33 -0
  720. package/dist/emission-ByePXT9Y.mjs.map +1 -0
  721. package/dist/emissionApi-WS6yl56a.mjs.map +1 -0
  722. package/dist/groupsApi-CecqFbyg.mjs.map +1 -0
  723. package/dist/i18n-l4HCrPF3.mjs.map +1 -0
  724. package/dist/icons-1GR2yFzw.mjs.map +1 -0
  725. package/dist/icons-B4eHXcRy.mjs +18 -0
  726. package/dist/icons-B4eHXcRy.mjs.map +1 -0
  727. package/dist/index.css +7208 -2
  728. package/dist/index.d.ts +1 -0
  729. package/dist/index.mjs +735 -408
  730. package/dist/index.mjs.map +1 -0
  731. package/dist/keys-TjlLYNQE.mjs +18 -0
  732. package/dist/keys-TjlLYNQE.mjs.map +1 -0
  733. package/dist/localisation-iXoGtJ3j.mjs +13 -0
  734. package/dist/localisation-iXoGtJ3j.mjs.map +1 -0
  735. package/dist/logo_saooti_play_black-BLx_RUuM.mjs +6 -0
  736. package/dist/logo_saooti_play_black-BLx_RUuM.mjs.map +1 -0
  737. package/dist/messages-Czjqh0tU.mjs +2679 -0
  738. package/dist/messages-Czjqh0tU.mjs.map +1 -0
  739. package/dist/organisation-CxyRYjC0.mjs +19 -0
  740. package/dist/organisation-CxyRYjC0.mjs.map +1 -0
  741. package/dist/ouest_france_logo-WOgdbVGH.mjs +6 -0
  742. package/dist/ouest_france_logo-WOgdbVGH.mjs.map +1 -0
  743. package/dist/playlistApi-LcxgQmJH.mjs.map +1 -0
  744. package/dist/podcast-Da9L7I5Q.mjs +76 -0
  745. package/dist/podcast-Da9L7I5Q.mjs.map +1 -0
  746. package/dist/podcastApi-5-MtD1l_.mjs.map +1 -0
  747. package/dist/rolldown-runtime-D7D4PA-g.mjs +13 -0
  748. package/dist/src/components/composable/usePresentationItem.d.ts +1 -1
  749. package/dist/src/i18n.d.ts +8 -1
  750. package/dist/src/locale/messages.d.ts +30 -0
  751. package/dist/src/stores/ParamSdkStore.d.ts +6 -1
  752. package/dist/src/stores/class/general/organisation.d.ts +2 -0
  753. package/dist/stringHelper-DFr4Khve.mjs +15 -0
  754. package/dist/stringHelper-DFr4Khve.mjs.map +1 -0
  755. package/dist/tests-mocks.mjs +16 -14
  756. package/dist/tests-mocks.mjs.map +1 -0
  757. package/dist/tests.mjs +86 -51
  758. package/dist/tests.mjs.map +1 -0
  759. package/dist/transcriptionApi-Drk3sv6J.mjs.map +1 -0
  760. package/dist/types-8roXR0of.mjs +11 -0
  761. package/dist/types-8roXR0of.mjs.map +1 -0
  762. package/dist/useAdvancedParamInit-Ci4c333p.mjs +162 -0
  763. package/dist/useAdvancedParamInit-Ci4c333p.mjs.map +1 -0
  764. package/dist/useAdvancedParamInit-CpNDHede.mjs.map +1 -0
  765. package/dist/useCountdown-DPweZzmz.mjs +51 -0
  766. package/dist/useCountdown-DPweZzmz.mjs.map +1 -0
  767. package/dist/useDayjs-BqojyoqU.mjs +32 -0
  768. package/dist/useDayjs-BqojyoqU.mjs.map +1 -0
  769. package/dist/useDayjs-zt5R5ZIe.mjs.map +1 -0
  770. package/dist/useErrorHandler-DNz9da5N.mjs +19 -0
  771. package/dist/useErrorHandler-DNz9da5N.mjs.map +1 -0
  772. package/dist/useErrorHandler-Nce0QKlB.mjs.map +1 -0
  773. package/dist/useImageProxy-B2vNJKgd.mjs +20 -0
  774. package/dist/useImageProxy-B2vNJKgd.mjs.map +1 -0
  775. package/dist/useImageProxy-C7wjiN0F.mjs.map +1 -0
  776. package/dist/useOrgaComputed-D8ikvtGw.mjs.map +1 -0
  777. package/dist/useOrgaComputed-T8Mhcne0.mjs +19 -0
  778. package/dist/useOrgaComputed-T8Mhcne0.mjs.map +1 -0
  779. package/dist/usePlayerLogicProgress-CSdUmqxN.mjs +108 -0
  780. package/dist/usePlayerLogicProgress-CSdUmqxN.mjs.map +1 -0
  781. package/dist/usePlayerLogicProgress-DnNbZCWg.mjs.map +1 -0
  782. package/dist/usePodcastView-BJw3J1sE.mjs.map +1 -0
  783. package/dist/usePodcastView-DR83HM0j.mjs +56 -0
  784. package/dist/usePodcastView-DR83HM0j.mjs.map +1 -0
  785. package/dist/usePresentationItem-BLUjp4Le.mjs.map +1 -0
  786. package/dist/usePresentationItem-C28KKH4P.mjs.map +1 -0
  787. package/dist/usePresentationItem-rJkFlZFu.mjs +144 -0
  788. package/dist/usePresentationItem-rJkFlZFu.mjs.map +1 -0
  789. package/dist/useResizePhone-CpfFUmfV.mjs +37 -0
  790. package/dist/useResizePhone-CpfFUmfV.mjs.map +1 -0
  791. package/dist/useRights-JVTbEOUh.mjs +276 -0
  792. package/dist/useRights-JVTbEOUh.mjs.map +1 -0
  793. package/dist/useRights-Z6_G-y4s.mjs.map +1 -0
  794. package/dist/useRouteUpdateParams-DurlddRA.mjs +59 -0
  795. package/dist/useRouteUpdateParams-DurlddRA.mjs.map +1 -0
  796. package/dist/useRubriquesFilterComputed-CQxqKOWL.mjs.map +1 -0
  797. package/dist/useRubriquesFilterComputed-CWUxRSYK.mjs +13 -0
  798. package/dist/useRubriquesFilterComputed-CWUxRSYK.mjs.map +1 -0
  799. package/dist/useRubriquesFilterParam-D7JQhKT5.mjs.map +1 -0
  800. package/dist/useRubriquesFilterParam-U-wcZUul.mjs +36 -0
  801. package/dist/useRubriquesFilterParam-U-wcZUul.mjs.map +1 -0
  802. package/dist/useSeasonsManagement-D-ngDipg.mjs +44 -0
  803. package/dist/useSeasonsManagement-D-ngDipg.mjs.map +1 -0
  804. package/dist/useSelenium-DwQtyBRt.mjs +11 -0
  805. package/dist/useSelenium-DwQtyBRt.mjs.map +1 -0
  806. package/dist/useSeoTitleUrl-CrM1YzAc.mjs +31 -0
  807. package/dist/useSeoTitleUrl-CrM1YzAc.mjs.map +1 -0
  808. package/dist/useSharePath-Vh29oc9Z.mjs +70 -0
  809. package/dist/useSharePath-Vh29oc9Z.mjs.map +1 -0
  810. package/dist/useSharePlatforms-B8R3fZy9.mjs.map +1 -0
  811. package/dist/useSharePlatforms-D0v8XOk3.mjs.map +1 -0
  812. package/dist/useSharePlatforms-aq487WBa.mjs +415 -0
  813. package/dist/useSharePlatforms-aq487WBa.mjs.map +1 -0
  814. package/dist/useSimplePageParam-CL9Tbu3B.mjs.map +1 -0
  815. package/dist/useSimplePageParam-CPjjYD88.mjs +54 -0
  816. package/dist/useSimplePageParam-CPjjYD88.mjs.map +1 -0
  817. package/dist/useTagOf-JxYdEyRm.mjs +20 -0
  818. package/dist/useTagOf-JxYdEyRm.mjs.map +1 -0
  819. package/dist/useTranslation-B-nJSPAk.mjs +205 -0
  820. package/dist/useTranslation-B-nJSPAk.mjs.map +1 -0
  821. package/dist/useTranslation-DjbHwIm7.mjs.map +1 -0
  822. package/dist/usefetchRadioData-CHglTIFu.mjs.map +1 -0
  823. package/dist/usefetchRadioData-gMdg1_Yh.mjs +55 -0
  824. package/dist/usefetchRadioData-gMdg1_Yh.mjs.map +1 -0
  825. package/dist/youtubeVideoHelper-DOeaXxVp.mjs +16 -0
  826. package/dist/youtubeVideoHelper-DOeaXxVp.mjs.map +1 -0
  827. package/package.json +8 -8
  828. package/src/components/composable/usePresentationItem.ts +3 -1
  829. package/src/components/display/live/RadioCurrently.vue +3 -4
  830. package/src/components/layouts/PresentationItem.vue +8 -1
  831. package/src/components/layouts/PresentationLayout.vue +9 -3
  832. package/src/components/misc/ProgressBar.vue +0 -1
  833. package/src/components/misc/player/ads/AdsProgressBar.vue +17 -1
  834. package/src/components/misc/player/radio/RadioProgressBar.vue +16 -0
  835. package/src/stores/AuthStore.ts +10 -1
  836. package/dist/AccessibilityModal-CBIb3UQS.mjs +0 -93
  837. package/dist/AdsProgressBar-BwRrrKOT.mjs +0 -19
  838. package/dist/AdvancedSearch-CRM10skn.mjs +0 -249
  839. package/dist/AmazonMusicIcon-6zqZK6Q9.mjs +0 -39
  840. package/dist/ApplePodcastIcon-C3ogP5y5.mjs +0 -40
  841. package/dist/CategoryChooser-Ct0No4RM.mjs +0 -173
  842. package/dist/CategoryFilter-Brp-KFg7.mjs +0 -146
  843. package/dist/CategoryList-CMOJ2PnA.mjs +0 -107
  844. package/dist/CategoryPage-Bc37UcZy.mjs +0 -28
  845. package/dist/CategorySearchFilter-BRfxF0yK.mjs +0 -39
  846. package/dist/ChapteringModal-CyH6QLeE.mjs +0 -46
  847. package/dist/CheckIdentityModal-CHV9trKX.mjs +0 -51
  848. package/dist/ChooseEpisodesNumber-CXJO5dfs.mjs +0 -33
  849. package/dist/ClassicAccordion-Czni43ek.mjs +0 -71
  850. package/dist/ClassicAlert-1IB6N33c.mjs +0 -35
  851. package/dist/ClassicBigChip-D6QO8W-G.mjs +0 -25
  852. package/dist/ClassicCheckbox-xPu56Drn.mjs +0 -89
  853. package/dist/ClassicContentEditable-CWmtRihd.mjs +0 -45
  854. package/dist/ClassicCopyButton-DJ9T09fS.mjs +0 -52
  855. package/dist/ClassicDatePicker-BrPx6CHY.mjs +0 -187
  856. package/dist/ClassicEmojiPicker-2c55qjy6.mjs +0 -63
  857. package/dist/ClassicHelpButton-DdEJu6tX.mjs +0 -34
  858. package/dist/ClassicInputText-ILQDQz8R.mjs +0 -270
  859. package/dist/ClassicLazy-DhdsXyI4.mjs +0 -56
  860. package/dist/ClassicLoading-CXfMjpyl.mjs +0 -40
  861. package/dist/ClassicModal-Dl2IdzXZ.mjs +0 -63
  862. package/dist/ClassicModalInBody-D5-RfQ8Z.mjs +0 -58
  863. package/dist/ClassicMultiselect-DKdQdAtp.mjs +0 -201
  864. package/dist/ClassicNav-DYez6p1J.mjs +0 -47
  865. package/dist/ClassicPopover-6uo-YUgO.mjs +0 -167
  866. package/dist/ClassicRadio-BbJEgMB7.mjs +0 -61
  867. package/dist/ClassicRadioLabel-DgimkkQe.mjs +0 -76
  868. package/dist/ClassicSearch-CtL1cpnF.mjs +0 -63
  869. package/dist/ClassicSelect-BpA0jKN6.mjs +0 -111
  870. package/dist/ClassicSpinner-DFRDD51g.mjs +0 -28
  871. package/dist/ClassicTabs-DYOZLNK2.mjs +0 -40
  872. package/dist/ClassicTagInput-DiRwA8CF.mjs +0 -62
  873. package/dist/ClassicWysiwyg-CbBzD-21.mjs +0 -164
  874. package/dist/ClipboardModal-B0Jt9ME7.mjs +0 -56
  875. package/dist/CommentBasicView-CJgGRZXW.mjs +0 -76
  876. package/dist/CommentInput-ChEnqzNa.mjs +0 -111
  877. package/dist/CommentItem-BE3-5CFl.mjs +0 -155
  878. package/dist/CommentList-B0fDtqIH.mjs +0 -204
  879. package/dist/CommentMoreActions-DFTHxzHB.mjs +0 -191
  880. package/dist/CommentName-ByE5TV4u.mjs +0 -56
  881. package/dist/CommentParentInfo-DyzP495k.mjs +0 -36
  882. package/dist/CommentPlayer-2eRUFpll.mjs +0 -47
  883. package/dist/CommentSection-DQx3qX6H.mjs +0 -79
  884. package/dist/CommentStore-C4lkShsH.mjs +0 -279
  885. package/dist/ContractPreviewModal-BxOE6aiU.mjs +0 -53
  886. package/dist/CountDown-o6ye6yv1.mjs +0 -17
  887. package/dist/CountdownOctopus-D0X5hVBu.mjs +0 -23
  888. package/dist/DateFilter-67VvJ4ez.mjs +0 -79
  889. package/dist/DeezerIcon-CybxfijL.mjs +0 -39
  890. package/dist/DownloadPodcastButton-Dcgt8FfA.mjs +0 -30
  891. package/dist/EditCommentModal-K6D1-4gU.mjs +0 -114
  892. package/dist/EditFtpIcon-B1FO4hqc.mjs +0 -39
  893. package/dist/EmissionGroupChooser-B0UXS-d_.mjs +0 -44
  894. package/dist/EmissionInlineList-CRJ4pIxb.mjs +0 -113
  895. package/dist/EmissionItem-8WTkKsCa.mjs +0 -116
  896. package/dist/EmissionList-ucpW_ejS.mjs +0 -230
  897. package/dist/EmissionPage-B8Nlb52Y.mjs +0 -188
  898. package/dist/EmissionPlayerItem-BzuNcAsq.mjs +0 -119
  899. package/dist/EmissionPresentationItem-ZU93UKW2.mjs +0 -41
  900. package/dist/EmissionPresentationList-LY-FEWC2.mjs +0 -92
  901. package/dist/EmissionsPage-wzpDLmzO.mjs +0 -112
  902. package/dist/Error403Page-DLaOyud0.mjs +0 -40
  903. package/dist/ErrorMessage-B4gtlriP.mjs +0 -22
  904. package/dist/FooterGarSection-BwFRytaV.mjs +0 -39
  905. package/dist/FooterSection-VGdzyEZf.mjs +0 -148
  906. package/dist/GeneralStore-Darfv4af.mjs +0 -39
  907. package/dist/HomeDropdown-CNSPuJot.mjs +0 -66
  908. package/dist/HomePage-CGaCXQBm.mjs +0 -106
  909. package/dist/IHeartIcon-DP1otYre.mjs +0 -42
  910. package/dist/LikeButton-Cu8jAJHx.mjs +0 -40
  911. package/dist/LikeSection-D_q391TU.mjs +0 -96
  912. package/dist/ListPaginate-B-PYbP3K.mjs +0 -147
  913. package/dist/LiveHorizontalList-CDIDwBWJ.mjs +0 -77
  914. package/dist/LiveList-Dvxk12Cc.mjs +0 -206
  915. package/dist/LivesPage-BByFveAd.mjs +0 -40
  916. package/dist/MapPage-w7hUFr9g.mjs +0 -240
  917. package/dist/MessageModal-BcqS77v6.mjs +0 -101
  918. package/dist/MobileMenu-D19pTUkT.mjs +0 -136
  919. package/dist/MonetizableFilter-B7NHzXEY.mjs +0 -58
  920. package/dist/NewsletterModal-BekCWfJB.mjs +0 -53
  921. package/dist/OctopusMultiselect-CaLjXg_3.mjs +0 -234
  922. package/dist/OrganisationChooser-ywDaRPU9.mjs +0 -133
  923. package/dist/OrganisationChooserLight-CMNA-YR5.mjs +0 -48
  924. package/dist/PageLogout-CVZHOw8c.mjs +0 -12
  925. package/dist/PageNotFound-kY0Vk237.mjs +0 -37
  926. package/dist/PaginateParams-Bjz3ZI-5.mjs +0 -75
  927. package/dist/PaginateSection-Oip_5JHt.mjs +0 -137
  928. package/dist/ParticipantDescription-DVSfKvtg.mjs +0 -46
  929. package/dist/ParticipantInlineList-n3IcMXXU.mjs +0 -84
  930. package/dist/ParticipantItem-CoS5qVct.mjs +0 -91
  931. package/dist/ParticipantPage-CqwpZDjv.mjs +0 -129
  932. package/dist/ParticipantsPage-BzZFxuAX.mjs +0 -168
  933. package/dist/PlayVideoIcon-BhTQpMyL.mjs +0 -40
  934. package/dist/PlayerAnonymousModal-Clf2m_PO.mjs +0 -61
  935. package/dist/PlayerCommonParameters-x0zV7AoW.mjs +0 -27
  936. package/dist/PlayerCompact-ff2-h0Ys.mjs +0 -128
  937. package/dist/PlayerComponent-BIZ29VAP.mjs +0 -592
  938. package/dist/PlayerFmIcon-D7gURz4r.mjs +0 -39
  939. package/dist/PlayerLarge-C958Fkm_.mjs +0 -128
  940. package/dist/PlayerParameters-kVBMXQIb.mjs +0 -173
  941. package/dist/PlayerPlayButton-DL0e7DAU.mjs +0 -231
  942. package/dist/PlayerProgressBar-DK9ClWaE.mjs +0 -67
  943. package/dist/PlayerStore-DlQZRxsf.mjs +0 -166
  944. package/dist/PlayerVideo-BRkaIXH7.mjs +0 -35
  945. package/dist/PlayerVideoDigiteka-CNfWw0hs.mjs +0 -59
  946. package/dist/PlayerVideoHls-Czu2Xvob.mjs +0 -125
  947. package/dist/PlayerYoutubeEmbed-D-UrFhXm.mjs +0 -25
  948. package/dist/PlaylistPage-BV_3q5Pg.mjs +0 -135
  949. package/dist/PlaylistsPage-g82vXz51.mjs +0 -254
  950. package/dist/PocketCastIcon-CM5NDsDa.mjs +0 -39
  951. package/dist/PodcastAddictIcon-CW3Uxj4I.mjs +0 -42
  952. package/dist/PodcastFilterList-CpH9ALL0.mjs +0 -139
  953. package/dist/PodcastImage-Kr7qE9PW.mjs +0 -115
  954. package/dist/PodcastInlineList-CSPSuPXn.mjs +0 -117
  955. package/dist/PodcastInlineListTemplate-CBGWengl.mjs +0 -180
  956. package/dist/PodcastIsPlaying-CvZMCgrV.mjs +0 -17
  957. package/dist/PodcastItem-B6xZ9spO.mjs +0 -158
  958. package/dist/PodcastList-DM2kODR9.mjs +0 -113
  959. package/dist/PodcastList-DN7U6G3x.mjs +0 -184
  960. package/dist/PodcastPage-ClPlzjJY.mjs +0 -409
  961. package/dist/PodcastPlannedSpinner-DcDDays8.mjs +0 -12
  962. package/dist/PodcastPlayBar-C-7lR6Or.mjs +0 -39
  963. package/dist/PodcastPlayBasicButton-akh9XtTL.mjs +0 -44
  964. package/dist/PodcastPlayButton-CqjJC_GT.mjs +0 -118
  965. package/dist/PodcastPlaylistInlineList-DTJpiuMG.mjs +0 -63
  966. package/dist/PodcastPresentationList-B0D9wjP2.mjs +0 -130
  967. package/dist/PodcastProgressBar-CIf_zX6H.mjs +0 -66
  968. package/dist/PodcastRawTranscript-EqIv2k5F.mjs +0 -100
  969. package/dist/PodcastRubriqueList-DCchX3n9.mjs +0 -46
  970. package/dist/PodcastSeasonInfo-DDGSqj8M.mjs +0 -28
  971. package/dist/PodcastSwiperList-PSwifeRx.mjs +0 -164
  972. package/dist/PodcastmakerHeader-DpCkSoQE.mjs +0 -33
  973. package/dist/PodcastsPage-CSWymx6J.mjs +0 -123
  974. package/dist/PresentationLayout-LcZqb8bn.mjs +0 -62
  975. package/dist/ProductorSearch-l_LHvS3J.mjs +0 -91
  976. package/dist/ProgressBar-CB9kEepm.mjs +0 -112
  977. package/dist/QrCode-D-3wdYEC.mjs +0 -105
  978. package/dist/QrCodeModal-BAk2VQzU.mjs +0 -43
  979. package/dist/RadioCurrently-r21pyYBe.mjs +0 -57
  980. package/dist/RadioHistory-BNqw7gzG.mjs +0 -89
  981. package/dist/RadioImage-IbBgMDUL.mjs +0 -46
  982. package/dist/RadioList-CLjDwo6u.mjs +0 -70
  983. package/dist/RadioPage-Bx4i1Mpi.mjs +0 -72
  984. package/dist/RadioPlanning-Br27Ttix.mjs +0 -183
  985. package/dist/RadioProgressBar-Cb3AfYLQ.mjs +0 -31
  986. package/dist/RadiolineIcon-CxHZGhfr.mjs +0 -40
  987. package/dist/RecaptchaModal-CxtAdOpC.mjs +0 -95
  988. package/dist/ReportAbuseModal-iggcskxa.mjs +0 -92
  989. package/dist/RightsIndicator-D_7amy65.mjs +0 -58
  990. package/dist/RightsWrapper-Bo6Xza5_.mjs +0 -104
  991. package/dist/RubriqueChoice-DWvVVaMg.mjs +0 -101
  992. package/dist/RubriqueChooser-B7wvJeQc.mjs +0 -165
  993. package/dist/RubriqueFilter-CJDRNtiD.mjs +0 -119
  994. package/dist/RubriqueList-CISdSdFN.mjs +0 -117
  995. package/dist/RubriquePage-C8CF_iFS.mjs +0 -71
  996. package/dist/SearchOrder-D_dAhj9M.mjs +0 -62
  997. package/dist/SearchPage-DvLjGwKI.mjs +0 -38
  998. package/dist/ShareAnonymous-GQ600Owz.mjs +0 -189
  999. package/dist/ShareModalPlayer-pB-HAwc-.mjs +0 -87
  1000. package/dist/ShareNewsletter-Cdyw0GB9.mjs +0 -143
  1001. package/dist/SharePlayer-XribbnSm.mjs +0 -210
  1002. package/dist/SharePlayerColors-BpdifsHh.mjs +0 -49
  1003. package/dist/SharePlayerRadio-Co0G90iE.mjs +0 -66
  1004. package/dist/SharePlayerTypes-Crlc6fV2.mjs +0 -148
  1005. package/dist/ShareSocialsButtons-oPwpAJiG.mjs +0 -100
  1006. package/dist/SimpleLayout-DO6e66-u.mjs +0 -22
  1007. package/dist/SmartLinkPage-Bfe3J2rs.mjs +0 -131
  1008. package/dist/SnackBar-BL-mLRun.mjs +0 -128
  1009. package/dist/SubscribeButtons-BsUSeVE2.mjs +0 -120
  1010. package/dist/SwiperList-05VP6fwg.mjs +0 -119
  1011. package/dist/TagList-CpH_cvNv.mjs +0 -80
  1012. package/dist/TagPage-B7mbRbqr.mjs +0 -79
  1013. package/dist/TopBar-DljepaOt.mjs +0 -260
  1014. package/dist/TuninIcon-DENNxlP8.mjs +0 -39
  1015. package/dist/UserButtonContent-B20fPV-J.mjs +0 -125
  1016. package/dist/VastStore-8IiEgtQW.mjs +0 -71
  1017. package/dist/VideoModuleBox-DJdYQGMX.mjs +0 -58
  1018. package/dist/VideoPage-Bllo2Q-Y.mjs +0 -148
  1019. package/dist/XIcon-DNBT2Zgf.mjs +0 -39
  1020. package/dist/_plugin-vue_export-helper-B3ysoDQm.mjs +0 -8
  1021. package/dist/buttons-CWMRsA_g.mjs +0 -79
  1022. package/dist/classicApi-CT9k0xvp.mjs +0 -1176
  1023. package/dist/config-DMjLBcZ2.mjs +0 -7
  1024. package/dist/cookiesHelper-BQ3M1-Xr.mjs +0 -20
  1025. package/dist/displayHelper-DQtoqc_6.mjs +0 -11
  1026. package/dist/domHelper-BPw2kGCL.mjs +0 -12
  1027. package/dist/downloadHelper-DkfB6XQg.mjs +0 -23
  1028. package/dist/educationen-KT401RLo.mjs +0 -16
  1029. package/dist/educationfr-BIafOUp-.mjs +0 -4
  1030. package/dist/emission-CQ1VuxRc.mjs +0 -22
  1031. package/dist/icons-aOUoelo6.mjs +0 -11
  1032. package/dist/keys-CV5SBM1i.mjs +0 -4
  1033. package/dist/localisation-CBnt682X.mjs +0 -9
  1034. package/dist/logo_saooti_play_black-Doe3es2H.mjs +0 -4
  1035. package/dist/messages-DxUrH00s.mjs +0 -2677
  1036. package/dist/organisation-JgfYj1Jp.mjs +0 -17
  1037. package/dist/ouest_france_logo-9dPaEPNA.mjs +0 -4
  1038. package/dist/podcast-BoNHyuLe.mjs +0 -53
  1039. package/dist/rolldown-runtime-Dy4uBu1J.mjs +0 -11
  1040. package/dist/stringHelper-8Cu4x0-T.mjs +0 -13
  1041. package/dist/types-BMNwRfo9.mjs +0 -8
  1042. package/dist/useAdvancedParamInit-Y3eC3aep.mjs +0 -111
  1043. package/dist/useCountdown-vXzlLAgF.mjs +0 -32
  1044. package/dist/useDayjs-ayZHsoc2.mjs +0 -28
  1045. package/dist/useErrorHandler-Chh24Net.mjs +0 -12
  1046. package/dist/useImageProxy-C_wlfbSP.mjs +0 -16
  1047. package/dist/useOrgaComputed-CmlIJ5XC.mjs +0 -16
  1048. package/dist/usePlayerLogicProgress-B0mjPIEj.mjs +0 -68
  1049. package/dist/usePodcastView-wkow7peQ.mjs +0 -31
  1050. package/dist/usePresentationItem-C37nsJnQ.mjs +0 -100
  1051. package/dist/useResizePhone-4hSkK5pa.mjs +0 -28
  1052. package/dist/useRights-CXa0yDii.mjs +0 -221
  1053. package/dist/useRouteUpdateParams-DJLm3IAI.mjs +0 -55
  1054. package/dist/useRubriquesFilterComputed-goozXeIB.mjs +0 -11
  1055. package/dist/useRubriquesFilterParam-CrsdD0Oj.mjs +0 -32
  1056. package/dist/useSeasonsManagement-DwbmJywJ.mjs +0 -24
  1057. package/dist/useSelenium-DAM6EF3J.mjs +0 -9
  1058. package/dist/useSeoTitleUrl-UfPXDCPa.mjs +0 -25
  1059. package/dist/useSharePath-D9G8Jdlb.mjs +0 -40
  1060. package/dist/useSharePlatforms-B7Xnf_If.mjs +0 -322
  1061. package/dist/useSimplePageParam-D6TmZIPG.mjs +0 -39
  1062. package/dist/useTagOf-Btweq3v2.mjs +0 -17
  1063. package/dist/useTranslation-D3t40JaE.mjs +0 -139
  1064. package/dist/usefetchRadioData-knVpkZCB.mjs +0 -48
  1065. package/dist/youtubeVideoHelper-Cdlokujb.mjs +0 -14
@@ -0,0 +1,213 @@
1
+ import { E as state } from "./classicApi-BKNiWOG4.mjs";
2
+ import { n as debounce } from "./useResizePhone-CpfFUmfV.mjs";
3
+ import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
4
+ import { t as displayHelper_default } from "./displayHelper-CpXshNzz.mjs";
5
+ import { t as useOrgaComputed } from "./useOrgaComputed-T8Mhcne0.mjs";
6
+ import { t as useDayjs } from "./useDayjs-BqojyoqU.mjs";
7
+ import { t as RightsIndicator_default } from "./RightsIndicator-DYhqEbAB.mjs";
8
+ import { t as PodcastSeasonInfo_default } from "./PodcastSeasonInfo-BwD--f9z.mjs";
9
+ import { t as PodcastImage_default } from "./PodcastImage-BrfDAORW.mjs";
10
+ import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineAsyncComponent, defineComponent, nextTick, normalizeClass, onBeforeMount, openBlock, ref, resolveComponent, toDisplayString, unref, useTemplateRef, withCtx } from "vue";
11
+ import { useI18n } from "vue-i18n";
12
+ import dayjs from "dayjs";
13
+ //#region src/components/display/podcasts/AnimatorsItem.vue?vue&type=script&setup=true&lang.ts
14
+ var _hoisted_1$2 = {
15
+ key: 0,
16
+ class: "d-flex align-items-center justify-content-start animators-item"
17
+ };
18
+ //#endregion
19
+ //#region src/components/display/podcasts/AnimatorsItem.vue
20
+ var AnimatorsItem_default = /* @__PURE__ */ defineComponent({
21
+ __name: "AnimatorsItem",
22
+ props: { animator: {
23
+ default: void 0,
24
+ type: Object
25
+ } },
26
+ setup(__props) {
27
+ const props = __props;
28
+ const { t } = useI18n();
29
+ const animatorName = computed(() => `${props.animator?.firstName ?? ""} ${props.animator?.lastName ?? ""}`.trim());
30
+ return (_ctx, _cache) => {
31
+ const _component_router_link = resolveComponent("router-link");
32
+ return __props.animator ? (openBlock(), createElementBlock("div", _hoisted_1$2, [createVNode(_component_router_link, {
33
+ to: {
34
+ name: "participant",
35
+ params: { participantId: __props.animator.participantId }
36
+ },
37
+ title: unref(t)("Participant name page", { name: animatorName.value }),
38
+ class: "podcast-item-animator text-truncate"
39
+ }, {
40
+ default: withCtx(() => [createTextVNode(toDisplayString(animatorName.value), 1)]),
41
+ _: 1
42
+ }, 8, ["to", "title"])])) : createCommentVNode("", true);
43
+ };
44
+ }
45
+ });
46
+ //#endregion
47
+ //#region src/components/display/podcasts/PodcastItemInfo.vue?vue&type=script&setup=true&lang.ts
48
+ var _hoisted_1$1 = { class: "podcast-item-info" };
49
+ var _hoisted_2$1 = { class: "podcast-item-status text-secondary h6 mx-2" };
50
+ var _hoisted_3 = ["datetime"];
51
+ var _hoisted_4 = { class: "mx-2 d-flex align-items-center justify-content-between mt-2" };
52
+ var _hoisted_5 = {
53
+ key: 0,
54
+ class: "useless-div-for-podcastmaker"
55
+ };
56
+ //#endregion
57
+ //#region src/components/display/podcasts/PodcastItemInfo.vue
58
+ var PodcastItemInfo_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
59
+ __name: "PodcastItemInfo",
60
+ props: { podcast: {
61
+ default: () => ({}),
62
+ type: Object
63
+ } },
64
+ setup(__props) {
65
+ const PodcastPlayBar = defineAsyncComponent(() => import("./PodcastPlayBar-C7pDzmXr.mjs"));
66
+ const props = __props;
67
+ const { t } = useI18n();
68
+ const { isPodcastmaker } = useOrgaComputed();
69
+ const { formatDate } = useDayjs();
70
+ const date = computed(() => {
71
+ return formatDate(props.podcast.pubDate);
72
+ });
73
+ const orgaNameDisplay = computed(() => {
74
+ if (props.podcast.organisation.name.length > 30) return props.podcast.organisation.name.substring(0, 30) + "...";
75
+ return props.podcast.organisation.name;
76
+ });
77
+ return (_ctx, _cache) => {
78
+ const _component_router_link = resolveComponent("router-link");
79
+ return openBlock(), createElementBlock("div", _hoisted_1$1, [
80
+ createElementVNode("div", _hoisted_2$1, [createElementVNode("time", { datetime: __props.podcast.pubDate }, toDisplayString(date.value), 9, _hoisted_3), createVNode(PodcastSeasonInfo_default, { podcast: __props.podcast }, null, 8, ["podcast"])]),
81
+ createVNode(_component_router_link, {
82
+ to: {
83
+ name: "podcast",
84
+ params: { podcastId: __props.podcast.podcastId }
85
+ },
86
+ class: "text-dark flex-grow-1 title-podcast-item basic-line-clamp three-line",
87
+ title: unref(t)("Episode name page", { name: __props.podcast.title })
88
+ }, {
89
+ default: withCtx(() => [createVNode(RightsIndicator_default, {
90
+ inline: "",
91
+ podcast: __props.podcast,
92
+ action: "edit"
93
+ }, null, 8, ["podcast"]), createTextVNode(" " + toDisplayString(__props.podcast.title), 1)]),
94
+ _: 1
95
+ }, 8, ["to", "title"]),
96
+ unref(state).emissionsPage.progressBar ? (openBlock(), createBlock(unref(PodcastPlayBar), {
97
+ key: 0,
98
+ "display-buton-play": true,
99
+ podcast: __props.podcast,
100
+ class: "me-2"
101
+ }, null, 8, ["podcast"])) : createCommentVNode("", true),
102
+ createElementVNode("div", _hoisted_4, [
103
+ unref(isPodcastmaker) ? (openBlock(), createElementBlock("div", _hoisted_5)) : createCommentVNode("", true),
104
+ __props.podcast.animators && 0 !== __props.podcast.animators.length ? (openBlock(), createBlock(AnimatorsItem_default, {
105
+ key: 1,
106
+ class: "w-0 flex-grow-1",
107
+ animator: __props.podcast.animators[0]
108
+ }, null, 8, ["animator"])) : createCommentVNode("", true),
109
+ !unref(isPodcastmaker) ? (openBlock(), createBlock(_component_router_link, {
110
+ key: 2,
111
+ to: {
112
+ name: "productor",
113
+ params: { productorId: __props.podcast.organisation.id }
114
+ },
115
+ class: "text-dark producer-podcast-item"
116
+ }, {
117
+ default: withCtx(() => [createTextVNode(toDisplayString("© " + orgaNameDisplay.value), 1)]),
118
+ _: 1
119
+ }, 8, ["to"])) : createCommentVNode("", true)
120
+ ])
121
+ ]);
122
+ };
123
+ }
124
+ }), [["__scopeId", "data-v-a6132bd8"]]);
125
+ //#endregion
126
+ //#region src/components/display/podcasts/PodcastItem.vue?vue&type=script&setup=true&lang.ts
127
+ var _hoisted_1 = ["data-pubdate", "data-count"];
128
+ var _hoisted_2 = ["innerHTML"];
129
+ //#endregion
130
+ //#region src/components/display/podcasts/PodcastItem.vue
131
+ var PodcastItem_default = /* @__PURE__ */ defineComponent({
132
+ __name: "PodcastItem",
133
+ props: {
134
+ podcast: {},
135
+ fetchConference: {}
136
+ },
137
+ setup(__props) {
138
+ const props = __props;
139
+ const isMobile = ref(false);
140
+ const firstDisplayDesc = ref(false);
141
+ const hoverDesc = ref(false);
142
+ const arrowDirection = ref("up");
143
+ const isDescriptionBig = ref(false);
144
+ const debounceShowDescriptionEvent = ref(void 0);
145
+ const debounceHideDescriptionEvent = ref(void 0);
146
+ const descriptionPodcastRef = useTemplateRef("descriptionPodcast");
147
+ const descriptionPodcastContainerRef = useTemplateRef("descriptionPodcastContainer");
148
+ const displayDate = computed(() => dayjs(props.podcast.pubDate).format());
149
+ const description = computed(() => props.podcast.description ?? "");
150
+ onBeforeMount(() => {
151
+ isMobile.value = window.matchMedia("(hover: none)").matches;
152
+ debounceShowDescriptionEvent.value = debounce(showDescription, 100);
153
+ debounceHideDescriptionEvent.value = debounce(hideDescription, 100);
154
+ });
155
+ function initDescription() {
156
+ if (firstDisplayDesc.value) return;
157
+ const podcastDesc = descriptionPodcastRef?.value;
158
+ const podcastDescContainer = descriptionPodcastContainerRef?.value;
159
+ if (podcastDesc?.clientHeight > podcastDescContainer?.clientHeight) isDescriptionBig.value = true;
160
+ firstDisplayDesc.value = true;
161
+ }
162
+ function showDescription() {
163
+ arrowDirection.value = "down";
164
+ hoverDesc.value = true;
165
+ nextTick(() => {
166
+ initDescription();
167
+ });
168
+ }
169
+ function hideDescription() {
170
+ arrowDirection.value = "up";
171
+ hoverDesc.value = false;
172
+ }
173
+ return (_ctx, _cache) => {
174
+ return openBlock(), createElementBlock("article", {
175
+ class: "podcast-item-container border",
176
+ "data-pubdate": displayDate.value,
177
+ "data-count": __props.podcast.downloadCount
178
+ }, [
179
+ createVNode(PodcastImage_default, {
180
+ podcast: __props.podcast,
181
+ "hide-play": hoverDesc.value && 0 !== description.value.length,
182
+ "display-description": 0 !== description.value.length,
183
+ "arrow-direction": arrowDirection.value,
184
+ "fetch-conference": __props.fetchConference,
185
+ onHideDescription: hideDescription,
186
+ onShowDescription: showDescription
187
+ }, null, 8, [
188
+ "podcast",
189
+ "hide-play",
190
+ "display-description",
191
+ "arrow-direction",
192
+ "fetch-conference"
193
+ ]),
194
+ hoverDesc.value ? (openBlock(), createElementBlock("div", {
195
+ key: 0,
196
+ ref: "descriptionPodcastContainer",
197
+ class: normalizeClass(["element-description description-podcast-item html-wysiwyg-content", [hoverDesc.value && "" !== description.value ? "visible" : "invisible", !isMobile.value && isDescriptionBig.value ? "after-element-description" : "mobile-description-podcast-item"]])
198
+ }, [createElementVNode("div", {
199
+ ref: "descriptionPodcast",
200
+ innerHTML: unref(displayHelper_default).urlify(description.value)
201
+ }, null, 8, _hoisted_2)], 2)) : createCommentVNode("", true),
202
+ createElementVNode("div", {
203
+ onMouseenter: _cache[0] || (_cache[0] = (...args) => debounceShowDescriptionEvent.value && debounceShowDescriptionEvent.value(...args)),
204
+ onMouseleave: _cache[1] || (_cache[1] = (...args) => debounceHideDescriptionEvent.value && debounceHideDescriptionEvent.value(...args))
205
+ }, [createVNode(PodcastItemInfo_default, { podcast: __props.podcast }, null, 8, ["podcast"])], 32)
206
+ ], 8, _hoisted_1);
207
+ };
208
+ }
209
+ });
210
+ //#endregion
211
+ export { PodcastItem_default as t };
212
+
213
+ //# sourceMappingURL=PodcastItem-6qkOg90q.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PodcastItem-6qkOg90q.mjs","names":[],"sources":["../src/components/display/podcasts/AnimatorsItem.vue","../src/components/display/podcasts/AnimatorsItem.vue","../src/components/display/podcasts/PodcastItemInfo.vue","../src/components/display/podcasts/PodcastItemInfo.vue","../src/components/display/podcasts/PodcastItem.vue","../src/components/display/podcasts/PodcastItem.vue"],"sourcesContent":["<template>\n <div\n v-if=\"animator\"\n class=\"d-flex align-items-center justify-content-start animators-item\"\n >\n <router-link\n :to=\"{\n name: 'participant',\n params: { participantId: animator.participantId },\n }\"\n :title=\"t('Participant name page', { name: animatorName })\"\n class=\"podcast-item-animator text-truncate\"\n >\n {{ animatorName }}\n </router-link>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { Participant } from \"@/stores/class/general/participant\";\nimport { computed } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n animator: { default: undefined, type: Object as () => Participant },\n})\n\n//Composables\nconst { t } = useI18n();\n\n//Computed\nconst animatorName = computed(() => `${props.animator?.firstName ?? \"\"} ${ props.animator?.lastName ?? \"\"}`.trim());\n\n</script>\n\n<style lang=\"scss\">\n.octopus-app .podcast-item-animator {\n font-size: 0.55rem;\n font-weight: 300;\n text-transform: capitalize;\n}\n</style>\n","<template>\n <div\n v-if=\"animator\"\n class=\"d-flex align-items-center justify-content-start animators-item\"\n >\n <router-link\n :to=\"{\n name: 'participant',\n params: { participantId: animator.participantId },\n }\"\n :title=\"t('Participant name page', { name: animatorName })\"\n class=\"podcast-item-animator text-truncate\"\n >\n {{ animatorName }}\n </router-link>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { Participant } from \"@/stores/class/general/participant\";\nimport { computed } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n animator: { default: undefined, type: Object as () => Participant },\n})\n\n//Composables\nconst { t } = useI18n();\n\n//Computed\nconst animatorName = computed(() => `${props.animator?.firstName ?? \"\"} ${ props.animator?.lastName ?? \"\"}`.trim());\n\n</script>\n\n<style lang=\"scss\">\n.octopus-app .podcast-item-animator {\n font-size: 0.55rem;\n font-weight: 300;\n text-transform: capitalize;\n}\n</style>\n","<template>\n <div class=\"podcast-item-info\">\n <div class=\"podcast-item-status text-secondary h6 mx-2\">\n <time :datetime=\"podcast.pubDate\">\n {{ date }}\n </time>\n\n <PodcastSeasonInfo :podcast=\"podcast\" />\n </div>\n\n <router-link\n :to=\"{\n name: 'podcast',\n params: { podcastId: podcast.podcastId },\n }\"\n class=\"text-dark flex-grow-1 title-podcast-item basic-line-clamp three-line\"\n :title=\"t('Episode name page', { name: podcast.title })\"\n >\n <RightsIndicator\n inline\n :podcast=\"podcast\"\n action=\"edit\"\n />\n {{ podcast.title }}\n </router-link>\n\n <PodcastPlayBar\n v-if=\"state.emissionsPage.progressBar\"\n :display-buton-play=\"true\"\n :podcast=\"podcast\"\n class=\"me-2\"\n />\n\n <div class=\"mx-2 d-flex align-items-center justify-content-between mt-2\">\n <div v-if=\"isPodcastmaker\" class=\"useless-div-for-podcastmaker\" />\n <AnimatorsItem\n v-if=\"podcast.animators && 0 !== podcast.animators.length\"\n class=\"w-0 flex-grow-1\"\n :animator=\"podcast.animators[0]\"\n />\n <router-link\n v-if=\"!isPodcastmaker\"\n :to=\"{\n name: 'productor',\n params: { productorId: podcast.organisation.id },\n }\"\n class=\"text-dark producer-podcast-item\"\n >\n {{ \"© \" + orgaNameDisplay }}\n </router-link>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport AnimatorsItem from \"./AnimatorsItem.vue\";\nimport RightsIndicator from \"../RightsIndicator.vue\"; \nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport { computed, defineAsyncComponent } from \"vue\";\nimport { Podcast } from \"../../../stores/class/general/podcast\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport { useI18n } from \"vue-i18n\";\nimport PodcastSeasonInfo from \"./PodcastSeasonInfo.vue\";\nimport { useDayjs } from \"../../composable/useDayjs\";\n\nconst PodcastPlayBar = defineAsyncComponent(\n () => import(\"./PodcastPlayBar.vue\"),\n);\n\n//Props \nconst props = defineProps({\n podcast: { default: () => ({}), type: Object as () => Podcast },\n})\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker } = useOrgaComputed();\n\n//Computed\nconst { formatDate } = useDayjs();\n\nconst date = computed((): string => {\n return formatDate(props.podcast.pubDate);\n});\n\nconst orgaNameDisplay = computed(() =>{\n if (props.podcast.organisation.name.length > 30) {\n return props.podcast.organisation.name.substring(0, 30) + \"...\";\n }\n return props.podcast.organisation.name;\n});\n</script>\n\n<style scoped lang=\"scss\">\n.title-podcast-item {\n font-weight: 700;\n margin: 0.25rem 0.5rem 0.5rem;\n flex-grow: 1;\n font-size: 0.9rem;\n min-height: 3rem;\n line-height: 1rem;\n}\n\n.producer-podcast-item {\n font-size: 0.55rem;\n color: var(--octopus-gray-text);\n flex-shrink: 0;\n}\n\n.podcast-item-status {\n display: flex;\n justify-content: space-between;\n}\n</style>\n","<template>\n <div class=\"podcast-item-info\">\n <div class=\"podcast-item-status text-secondary h6 mx-2\">\n <time :datetime=\"podcast.pubDate\">\n {{ date }}\n </time>\n\n <PodcastSeasonInfo :podcast=\"podcast\" />\n </div>\n\n <router-link\n :to=\"{\n name: 'podcast',\n params: { podcastId: podcast.podcastId },\n }\"\n class=\"text-dark flex-grow-1 title-podcast-item basic-line-clamp three-line\"\n :title=\"t('Episode name page', { name: podcast.title })\"\n >\n <RightsIndicator\n inline\n :podcast=\"podcast\"\n action=\"edit\"\n />\n {{ podcast.title }}\n </router-link>\n\n <PodcastPlayBar\n v-if=\"state.emissionsPage.progressBar\"\n :display-buton-play=\"true\"\n :podcast=\"podcast\"\n class=\"me-2\"\n />\n\n <div class=\"mx-2 d-flex align-items-center justify-content-between mt-2\">\n <div v-if=\"isPodcastmaker\" class=\"useless-div-for-podcastmaker\" />\n <AnimatorsItem\n v-if=\"podcast.animators && 0 !== podcast.animators.length\"\n class=\"w-0 flex-grow-1\"\n :animator=\"podcast.animators[0]\"\n />\n <router-link\n v-if=\"!isPodcastmaker\"\n :to=\"{\n name: 'productor',\n params: { productorId: podcast.organisation.id },\n }\"\n class=\"text-dark producer-podcast-item\"\n >\n {{ \"© \" + orgaNameDisplay }}\n </router-link>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport AnimatorsItem from \"./AnimatorsItem.vue\";\nimport RightsIndicator from \"../RightsIndicator.vue\"; \nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport { computed, defineAsyncComponent } from \"vue\";\nimport { Podcast } from \"../../../stores/class/general/podcast\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport { useI18n } from \"vue-i18n\";\nimport PodcastSeasonInfo from \"./PodcastSeasonInfo.vue\";\nimport { useDayjs } from \"../../composable/useDayjs\";\n\nconst PodcastPlayBar = defineAsyncComponent(\n () => import(\"./PodcastPlayBar.vue\"),\n);\n\n//Props \nconst props = defineProps({\n podcast: { default: () => ({}), type: Object as () => Podcast },\n})\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker } = useOrgaComputed();\n\n//Computed\nconst { formatDate } = useDayjs();\n\nconst date = computed((): string => {\n return formatDate(props.podcast.pubDate);\n});\n\nconst orgaNameDisplay = computed(() =>{\n if (props.podcast.organisation.name.length > 30) {\n return props.podcast.organisation.name.substring(0, 30) + \"...\";\n }\n return props.podcast.organisation.name;\n});\n</script>\n\n<style scoped lang=\"scss\">\n.title-podcast-item {\n font-weight: 700;\n margin: 0.25rem 0.5rem 0.5rem;\n flex-grow: 1;\n font-size: 0.9rem;\n min-height: 3rem;\n line-height: 1rem;\n}\n\n.producer-podcast-item {\n font-size: 0.55rem;\n color: var(--octopus-gray-text);\n flex-shrink: 0;\n}\n\n.podcast-item-status {\n display: flex;\n justify-content: space-between;\n}\n</style>\n","<template>\n <article\n class=\"podcast-item-container border\"\n :data-pubdate=\"displayDate\"\n :data-count=\"podcast.downloadCount\"\n >\n <PodcastImage\n :podcast=\"podcast\"\n :hide-play=\"hoverDesc && 0 !== description.length\"\n :display-description=\"0 !== description.length\"\n :arrow-direction=\"arrowDirection\"\n :fetch-conference=\"fetchConference\"\n @hide-description=\"hideDescription\"\n @show-description=\"showDescription\"\n />\n <div\n v-if=\"hoverDesc\"\n ref=\"descriptionPodcastContainer\"\n class=\"element-description description-podcast-item html-wysiwyg-content\"\n :class=\"[\n hoverDesc && '' !== description ? 'visible' : 'invisible',\n !isMobile && isDescriptionBig ? 'after-element-description' : 'mobile-description-podcast-item',\n ]\"\n >\n <!-- eslint-disable vue/no-v-html -->\n <div ref=\"descriptionPodcast\" v-html=\"displayHelper.urlify(description)\" />\n <!-- eslint-enable -->\n </div>\n <div\n @mouseenter=\"debounceShowDescriptionEvent\"\n @mouseleave=\"debounceHideDescriptionEvent\"\n >\n <PodcastItemInfo\n :podcast=\"podcast\"\n />\n </div>\n </article>\n</template>\n\n<script setup lang=\"ts\">\nimport debounce from '../../../helper/debounceHelper';\nimport PodcastItemInfo from \"./PodcastItemInfo.vue\";\nimport PodcastImage from \"./PodcastImage.vue\";\nimport dayjs from \"dayjs\";\nimport { Podcast } from \"../../../stores/class/general/podcast\";\nimport { computed, nextTick, onBeforeMount, ref, Ref, useTemplateRef } from \"vue\";\nimport { Conference } from \"@/stores/class/conference/conference\";\n\nimport displayHelper from \"../../../helper/displayHelper\";\n\n//Props \nconst props = defineProps<{\n podcast: Podcast;\n fetchConference?: Conference;\n}>();\n\n//Data \nconst isMobile = ref(false);\nconst firstDisplayDesc = ref(false);\nconst hoverDesc = ref(false);\nconst arrowDirection = ref(\"up\");\nconst isDescriptionBig = ref(false);\nconst debounceShowDescriptionEvent: Ref< undefined | (() => void)> = ref(undefined);\nconst debounceHideDescriptionEvent: Ref< undefined | (() => void)> = ref(undefined);\nconst descriptionPodcastRef = useTemplateRef('descriptionPodcast');\nconst descriptionPodcastContainerRef = useTemplateRef('descriptionPodcastContainer');\n\n//Computed\nconst displayDate = computed(() => dayjs(props.podcast.pubDate).format());\nconst description = computed(() => props.podcast.description ?? \"\");\n\nonBeforeMount(()=>{\n isMobile.value = window.matchMedia(\"(hover: none)\").matches;\n debounceShowDescriptionEvent.value = debounce(showDescription, 100);\n debounceHideDescriptionEvent.value = debounce(hideDescription, 100);\n})\n\n//Methods\nfunction initDescription(): void {\n if (firstDisplayDesc.value) {\n return;\n }\n const podcastDesc = descriptionPodcastRef?.value as HTMLElement;\n const podcastDescContainer = descriptionPodcastContainerRef?.value as HTMLElement;\n if (podcastDesc?.clientHeight > podcastDescContainer?.clientHeight) {\n isDescriptionBig.value = true;\n }\n firstDisplayDesc.value = true;\n}\nfunction showDescription(): void {\n arrowDirection.value = \"down\";\n hoverDesc.value = true;\n nextTick(() => {\n initDescription();\n });\n}\nfunction hideDescription(): void {\n arrowDirection.value = \"up\";\n hoverDesc.value = false;\n}\n</script>\n\n<style lang=\"scss\">\n\n.octopus-app {\n .podcast-item-container {\n display: flex;\n flex-direction: column;\n border-radius: var(--octopus-border-radius);\n position: relative;\n width: var(--octopus-podcast-size);\n height: 20.5rem;\n overflow: hidden;\n text-align: left;\n background: var(--octopus-background);\n flex-shrink: 0;\n\n .description-podcast-item {\n --octopus-max-height-description: var(--octopus-podcast-size);\n\n padding: 1rem;\n background-color: oklch(from var(--octopus-background) l c h / 90%);\n position: absolute;\n width: var(--octopus-podcast-size);\n height: var(--octopus-podcast-size);\n margin-top:0;\n\n &.mobile-description-podcast-item {\n overflow: auto;\n }\n }\n\n @media (width <= 450px) {\n width: var(--octopus-image-size);\n height: 19rem;\n\n .description-podcast-item {\n height: var(--octopus-image-size);\n width: var(--octopus-image-size);\n }\n }\n }\n}\n</style>\n","<template>\n <article\n class=\"podcast-item-container border\"\n :data-pubdate=\"displayDate\"\n :data-count=\"podcast.downloadCount\"\n >\n <PodcastImage\n :podcast=\"podcast\"\n :hide-play=\"hoverDesc && 0 !== description.length\"\n :display-description=\"0 !== description.length\"\n :arrow-direction=\"arrowDirection\"\n :fetch-conference=\"fetchConference\"\n @hide-description=\"hideDescription\"\n @show-description=\"showDescription\"\n />\n <div\n v-if=\"hoverDesc\"\n ref=\"descriptionPodcastContainer\"\n class=\"element-description description-podcast-item html-wysiwyg-content\"\n :class=\"[\n hoverDesc && '' !== description ? 'visible' : 'invisible',\n !isMobile && isDescriptionBig ? 'after-element-description' : 'mobile-description-podcast-item',\n ]\"\n >\n <!-- eslint-disable vue/no-v-html -->\n <div ref=\"descriptionPodcast\" v-html=\"displayHelper.urlify(description)\" />\n <!-- eslint-enable -->\n </div>\n <div\n @mouseenter=\"debounceShowDescriptionEvent\"\n @mouseleave=\"debounceHideDescriptionEvent\"\n >\n <PodcastItemInfo\n :podcast=\"podcast\"\n />\n </div>\n </article>\n</template>\n\n<script setup lang=\"ts\">\nimport debounce from '../../../helper/debounceHelper';\nimport PodcastItemInfo from \"./PodcastItemInfo.vue\";\nimport PodcastImage from \"./PodcastImage.vue\";\nimport dayjs from \"dayjs\";\nimport { Podcast } from \"../../../stores/class/general/podcast\";\nimport { computed, nextTick, onBeforeMount, ref, Ref, useTemplateRef } from \"vue\";\nimport { Conference } from \"@/stores/class/conference/conference\";\n\nimport displayHelper from \"../../../helper/displayHelper\";\n\n//Props \nconst props = defineProps<{\n podcast: Podcast;\n fetchConference?: Conference;\n}>();\n\n//Data \nconst isMobile = ref(false);\nconst firstDisplayDesc = ref(false);\nconst hoverDesc = ref(false);\nconst arrowDirection = ref(\"up\");\nconst isDescriptionBig = ref(false);\nconst debounceShowDescriptionEvent: Ref< undefined | (() => void)> = ref(undefined);\nconst debounceHideDescriptionEvent: Ref< undefined | (() => void)> = ref(undefined);\nconst descriptionPodcastRef = useTemplateRef('descriptionPodcast');\nconst descriptionPodcastContainerRef = useTemplateRef('descriptionPodcastContainer');\n\n//Computed\nconst displayDate = computed(() => dayjs(props.podcast.pubDate).format());\nconst description = computed(() => props.podcast.description ?? \"\");\n\nonBeforeMount(()=>{\n isMobile.value = window.matchMedia(\"(hover: none)\").matches;\n debounceShowDescriptionEvent.value = debounce(showDescription, 100);\n debounceHideDescriptionEvent.value = debounce(hideDescription, 100);\n})\n\n//Methods\nfunction initDescription(): void {\n if (firstDisplayDesc.value) {\n return;\n }\n const podcastDesc = descriptionPodcastRef?.value as HTMLElement;\n const podcastDescContainer = descriptionPodcastContainerRef?.value as HTMLElement;\n if (podcastDesc?.clientHeight > podcastDescContainer?.clientHeight) {\n isDescriptionBig.value = true;\n }\n firstDisplayDesc.value = true;\n}\nfunction showDescription(): void {\n arrowDirection.value = \"down\";\n hoverDesc.value = true;\n nextTick(() => {\n initDescription();\n });\n}\nfunction hideDescription(): void {\n arrowDirection.value = \"up\";\n hoverDesc.value = false;\n}\n</script>\n\n<style lang=\"scss\">\n\n.octopus-app {\n .podcast-item-container {\n display: flex;\n flex-direction: column;\n border-radius: var(--octopus-border-radius);\n position: relative;\n width: var(--octopus-podcast-size);\n height: 20.5rem;\n overflow: hidden;\n text-align: left;\n background: var(--octopus-background);\n flex-shrink: 0;\n\n .description-podcast-item {\n --octopus-max-height-description: var(--octopus-podcast-size);\n\n padding: 1rem;\n background-color: oklch(from var(--octopus-background) l c h / 90%);\n position: absolute;\n width: var(--octopus-podcast-size);\n height: var(--octopus-podcast-size);\n margin-top:0;\n\n &.mobile-description-podcast-item {\n overflow: auto;\n }\n }\n\n @media (width <= 450px) {\n width: var(--octopus-image-size);\n height: 19rem;\n\n .description-podcast-item {\n height: var(--octopus-image-size);\n width: var(--octopus-image-size);\n }\n }\n }\n}\n</style>\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PodcastItem-DLD5hfk7.mjs","names":[],"sources":["../src/components/display/podcasts/AnimatorsItem.vue","../src/components/display/podcasts/AnimatorsItem.vue","../src/components/display/podcasts/PodcastItemInfo.vue","../src/components/display/podcasts/PodcastItemInfo.vue","../src/components/display/podcasts/PodcastItem.vue","../src/components/display/podcasts/PodcastItem.vue"],"sourcesContent":["<template>\n <div\n v-if=\"animator\"\n class=\"d-flex align-items-center justify-content-start animators-item\"\n >\n <router-link\n :to=\"{\n name: 'participant',\n params: { participantId: animator.participantId },\n }\"\n :title=\"t('Participant name page', { name: animatorName })\"\n class=\"podcast-item-animator text-truncate\"\n >\n {{ animatorName }}\n </router-link>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { Participant } from \"@/stores/class/general/participant\";\nimport { computed } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n animator: { default: undefined, type: Object as () => Participant },\n})\n\n//Composables\nconst { t } = useI18n();\n\n//Computed\nconst animatorName = computed(() => `${props.animator?.firstName ?? \"\"} ${ props.animator?.lastName ?? \"\"}`.trim());\n\n</script>\n\n<style lang=\"scss\">\n.octopus-app .podcast-item-animator {\n font-size: 0.55rem;\n font-weight: 300;\n text-transform: capitalize;\n}\n</style>\n","<template>\n <div\n v-if=\"animator\"\n class=\"d-flex align-items-center justify-content-start animators-item\"\n >\n <router-link\n :to=\"{\n name: 'participant',\n params: { participantId: animator.participantId },\n }\"\n :title=\"t('Participant name page', { name: animatorName })\"\n class=\"podcast-item-animator text-truncate\"\n >\n {{ animatorName }}\n </router-link>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { Participant } from \"@/stores/class/general/participant\";\nimport { computed } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n animator: { default: undefined, type: Object as () => Participant },\n})\n\n//Composables\nconst { t } = useI18n();\n\n//Computed\nconst animatorName = computed(() => `${props.animator?.firstName ?? \"\"} ${ props.animator?.lastName ?? \"\"}`.trim());\n\n</script>\n\n<style lang=\"scss\">\n.octopus-app .podcast-item-animator {\n font-size: 0.55rem;\n font-weight: 300;\n text-transform: capitalize;\n}\n</style>\n","<template>\n <div class=\"podcast-item-info\">\n <div class=\"podcast-item-status text-secondary h6 mx-2\">\n <time :datetime=\"podcast.pubDate\">\n {{ date }}\n </time>\n\n <PodcastSeasonInfo :podcast=\"podcast\" />\n </div>\n\n <router-link\n :to=\"{\n name: 'podcast',\n params: { podcastId: podcast.podcastId },\n }\"\n class=\"text-dark flex-grow-1 title-podcast-item basic-line-clamp three-line\"\n :title=\"t('Episode name page', { name: podcast.title })\"\n >\n <RightsIndicator\n inline\n :podcast=\"podcast\"\n action=\"edit\"\n />\n {{ podcast.title }}\n </router-link>\n\n <PodcastPlayBar\n v-if=\"state.emissionsPage.progressBar\"\n :display-buton-play=\"true\"\n :podcast=\"podcast\"\n class=\"me-2\"\n />\n\n <div class=\"mx-2 d-flex align-items-center justify-content-between mt-2\">\n <div v-if=\"isPodcastmaker\" class=\"useless-div-for-podcastmaker\" />\n <AnimatorsItem\n v-if=\"podcast.animators && 0 !== podcast.animators.length\"\n class=\"w-0 flex-grow-1\"\n :animator=\"podcast.animators[0]\"\n />\n <router-link\n v-if=\"!isPodcastmaker\"\n :to=\"{\n name: 'productor',\n params: { productorId: podcast.organisation.id },\n }\"\n class=\"text-dark producer-podcast-item\"\n >\n {{ \"© \" + orgaNameDisplay }}\n </router-link>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport AnimatorsItem from \"./AnimatorsItem.vue\";\nimport RightsIndicator from \"../RightsIndicator.vue\"; \nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport { computed, defineAsyncComponent } from \"vue\";\nimport { Podcast } from \"../../../stores/class/general/podcast\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport { useI18n } from \"vue-i18n\";\nimport PodcastSeasonInfo from \"./PodcastSeasonInfo.vue\";\nimport { useDayjs } from \"../../composable/useDayjs\";\n\nconst PodcastPlayBar = defineAsyncComponent(\n () => import(\"./PodcastPlayBar.vue\"),\n);\n\n//Props \nconst props = defineProps({\n podcast: { default: () => ({}), type: Object as () => Podcast },\n})\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker } = useOrgaComputed();\n\n//Computed\nconst { formatDate } = useDayjs();\n\nconst date = computed((): string => {\n return formatDate(props.podcast.pubDate);\n});\n\nconst orgaNameDisplay = computed(() =>{\n if (props.podcast.organisation.name.length > 30) {\n return props.podcast.organisation.name.substring(0, 30) + \"...\";\n }\n return props.podcast.organisation.name;\n});\n</script>\n\n<style scoped lang=\"scss\">\n.title-podcast-item {\n font-weight: 700;\n margin: 0.25rem 0.5rem 0.5rem;\n flex-grow: 1;\n font-size: 0.9rem;\n min-height: 3rem;\n line-height: 1rem;\n}\n\n.producer-podcast-item {\n font-size: 0.55rem;\n color: var(--octopus-gray-text);\n flex-shrink: 0;\n}\n\n.podcast-item-status {\n display: flex;\n justify-content: space-between;\n}\n</style>\n","<template>\n <div class=\"podcast-item-info\">\n <div class=\"podcast-item-status text-secondary h6 mx-2\">\n <time :datetime=\"podcast.pubDate\">\n {{ date }}\n </time>\n\n <PodcastSeasonInfo :podcast=\"podcast\" />\n </div>\n\n <router-link\n :to=\"{\n name: 'podcast',\n params: { podcastId: podcast.podcastId },\n }\"\n class=\"text-dark flex-grow-1 title-podcast-item basic-line-clamp three-line\"\n :title=\"t('Episode name page', { name: podcast.title })\"\n >\n <RightsIndicator\n inline\n :podcast=\"podcast\"\n action=\"edit\"\n />\n {{ podcast.title }}\n </router-link>\n\n <PodcastPlayBar\n v-if=\"state.emissionsPage.progressBar\"\n :display-buton-play=\"true\"\n :podcast=\"podcast\"\n class=\"me-2\"\n />\n\n <div class=\"mx-2 d-flex align-items-center justify-content-between mt-2\">\n <div v-if=\"isPodcastmaker\" class=\"useless-div-for-podcastmaker\" />\n <AnimatorsItem\n v-if=\"podcast.animators && 0 !== podcast.animators.length\"\n class=\"w-0 flex-grow-1\"\n :animator=\"podcast.animators[0]\"\n />\n <router-link\n v-if=\"!isPodcastmaker\"\n :to=\"{\n name: 'productor',\n params: { productorId: podcast.organisation.id },\n }\"\n class=\"text-dark producer-podcast-item\"\n >\n {{ \"© \" + orgaNameDisplay }}\n </router-link>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport AnimatorsItem from \"./AnimatorsItem.vue\";\nimport RightsIndicator from \"../RightsIndicator.vue\"; \nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport { computed, defineAsyncComponent } from \"vue\";\nimport { Podcast } from \"../../../stores/class/general/podcast\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport { useI18n } from \"vue-i18n\";\nimport PodcastSeasonInfo from \"./PodcastSeasonInfo.vue\";\nimport { useDayjs } from \"../../composable/useDayjs\";\n\nconst PodcastPlayBar = defineAsyncComponent(\n () => import(\"./PodcastPlayBar.vue\"),\n);\n\n//Props \nconst props = defineProps({\n podcast: { default: () => ({}), type: Object as () => Podcast },\n})\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker } = useOrgaComputed();\n\n//Computed\nconst { formatDate } = useDayjs();\n\nconst date = computed((): string => {\n return formatDate(props.podcast.pubDate);\n});\n\nconst orgaNameDisplay = computed(() =>{\n if (props.podcast.organisation.name.length > 30) {\n return props.podcast.organisation.name.substring(0, 30) + \"...\";\n }\n return props.podcast.organisation.name;\n});\n</script>\n\n<style scoped lang=\"scss\">\n.title-podcast-item {\n font-weight: 700;\n margin: 0.25rem 0.5rem 0.5rem;\n flex-grow: 1;\n font-size: 0.9rem;\n min-height: 3rem;\n line-height: 1rem;\n}\n\n.producer-podcast-item {\n font-size: 0.55rem;\n color: var(--octopus-gray-text);\n flex-shrink: 0;\n}\n\n.podcast-item-status {\n display: flex;\n justify-content: space-between;\n}\n</style>\n","<template>\n <article\n class=\"podcast-item-container border\"\n :data-pubdate=\"displayDate\"\n :data-count=\"podcast.downloadCount\"\n >\n <PodcastImage\n :podcast=\"podcast\"\n :hide-play=\"hoverDesc && 0 !== description.length\"\n :display-description=\"0 !== description.length\"\n :arrow-direction=\"arrowDirection\"\n :fetch-conference=\"fetchConference\"\n @hide-description=\"hideDescription\"\n @show-description=\"showDescription\"\n />\n <div\n v-if=\"hoverDesc\"\n ref=\"descriptionPodcastContainer\"\n class=\"element-description description-podcast-item html-wysiwyg-content\"\n :class=\"[\n hoverDesc && '' !== description ? 'visible' : 'invisible',\n !isMobile && isDescriptionBig ? 'after-element-description' : 'mobile-description-podcast-item',\n ]\"\n >\n <!-- eslint-disable vue/no-v-html -->\n <div ref=\"descriptionPodcast\" v-html=\"displayHelper.urlify(description)\" />\n <!-- eslint-enable -->\n </div>\n <div\n @mouseenter=\"debounceShowDescriptionEvent\"\n @mouseleave=\"debounceHideDescriptionEvent\"\n >\n <PodcastItemInfo\n :podcast=\"podcast\"\n />\n </div>\n </article>\n</template>\n\n<script setup lang=\"ts\">\nimport debounce from '../../../helper/debounceHelper';\nimport PodcastItemInfo from \"./PodcastItemInfo.vue\";\nimport PodcastImage from \"./PodcastImage.vue\";\nimport dayjs from \"dayjs\";\nimport { Podcast } from \"../../../stores/class/general/podcast\";\nimport { computed, nextTick, onBeforeMount, ref, Ref, useTemplateRef } from \"vue\";\nimport { Conference } from \"@/stores/class/conference/conference\";\n\nimport displayHelper from \"../../../helper/displayHelper\";\n\n//Props \nconst props = defineProps<{\n podcast: Podcast;\n fetchConference?: Conference;\n}>();\n\n//Data \nconst isMobile = ref(false);\nconst firstDisplayDesc = ref(false);\nconst hoverDesc = ref(false);\nconst arrowDirection = ref(\"up\");\nconst isDescriptionBig = ref(false);\nconst debounceShowDescriptionEvent: Ref< undefined | (() => void)> = ref(undefined);\nconst debounceHideDescriptionEvent: Ref< undefined | (() => void)> = ref(undefined);\nconst descriptionPodcastRef = useTemplateRef('descriptionPodcast');\nconst descriptionPodcastContainerRef = useTemplateRef('descriptionPodcastContainer');\n\n//Computed\nconst displayDate = computed(() => dayjs(props.podcast.pubDate).format());\nconst description = computed(() => props.podcast.description ?? \"\");\n\nonBeforeMount(()=>{\n isMobile.value = window.matchMedia(\"(hover: none)\").matches;\n debounceShowDescriptionEvent.value = debounce(showDescription, 100);\n debounceHideDescriptionEvent.value = debounce(hideDescription, 100);\n})\n\n//Methods\nfunction initDescription(): void {\n if (firstDisplayDesc.value) {\n return;\n }\n const podcastDesc = descriptionPodcastRef?.value as HTMLElement;\n const podcastDescContainer = descriptionPodcastContainerRef?.value as HTMLElement;\n if (podcastDesc?.clientHeight > podcastDescContainer?.clientHeight) {\n isDescriptionBig.value = true;\n }\n firstDisplayDesc.value = true;\n}\nfunction showDescription(): void {\n arrowDirection.value = \"down\";\n hoverDesc.value = true;\n nextTick(() => {\n initDescription();\n });\n}\nfunction hideDescription(): void {\n arrowDirection.value = \"up\";\n hoverDesc.value = false;\n}\n</script>\n\n<style lang=\"scss\">\n\n.octopus-app {\n .podcast-item-container {\n display: flex;\n flex-direction: column;\n border-radius: var(--octopus-border-radius);\n position: relative;\n width: var(--octopus-podcast-size);\n height: 20.5rem;\n overflow: hidden;\n text-align: left;\n background: var(--octopus-background);\n flex-shrink: 0;\n\n .description-podcast-item {\n --octopus-max-height-description: var(--octopus-podcast-size);\n\n padding: 1rem;\n background-color: oklch(from var(--octopus-background) l c h / 90%);\n position: absolute;\n width: var(--octopus-podcast-size);\n height: var(--octopus-podcast-size);\n margin-top:0;\n\n &.mobile-description-podcast-item {\n overflow: auto;\n }\n }\n\n @media (width <= 450px) {\n width: var(--octopus-image-size);\n height: 19rem;\n\n .description-podcast-item {\n height: var(--octopus-image-size);\n width: var(--octopus-image-size);\n }\n }\n }\n}\n</style>\n","<template>\n <article\n class=\"podcast-item-container border\"\n :data-pubdate=\"displayDate\"\n :data-count=\"podcast.downloadCount\"\n >\n <PodcastImage\n :podcast=\"podcast\"\n :hide-play=\"hoverDesc && 0 !== description.length\"\n :display-description=\"0 !== description.length\"\n :arrow-direction=\"arrowDirection\"\n :fetch-conference=\"fetchConference\"\n @hide-description=\"hideDescription\"\n @show-description=\"showDescription\"\n />\n <div\n v-if=\"hoverDesc\"\n ref=\"descriptionPodcastContainer\"\n class=\"element-description description-podcast-item html-wysiwyg-content\"\n :class=\"[\n hoverDesc && '' !== description ? 'visible' : 'invisible',\n !isMobile && isDescriptionBig ? 'after-element-description' : 'mobile-description-podcast-item',\n ]\"\n >\n <!-- eslint-disable vue/no-v-html -->\n <div ref=\"descriptionPodcast\" v-html=\"displayHelper.urlify(description)\" />\n <!-- eslint-enable -->\n </div>\n <div\n @mouseenter=\"debounceShowDescriptionEvent\"\n @mouseleave=\"debounceHideDescriptionEvent\"\n >\n <PodcastItemInfo\n :podcast=\"podcast\"\n />\n </div>\n </article>\n</template>\n\n<script setup lang=\"ts\">\nimport debounce from '../../../helper/debounceHelper';\nimport PodcastItemInfo from \"./PodcastItemInfo.vue\";\nimport PodcastImage from \"./PodcastImage.vue\";\nimport dayjs from \"dayjs\";\nimport { Podcast } from \"../../../stores/class/general/podcast\";\nimport { computed, nextTick, onBeforeMount, ref, Ref, useTemplateRef } from \"vue\";\nimport { Conference } from \"@/stores/class/conference/conference\";\n\nimport displayHelper from \"../../../helper/displayHelper\";\n\n//Props \nconst props = defineProps<{\n podcast: Podcast;\n fetchConference?: Conference;\n}>();\n\n//Data \nconst isMobile = ref(false);\nconst firstDisplayDesc = ref(false);\nconst hoverDesc = ref(false);\nconst arrowDirection = ref(\"up\");\nconst isDescriptionBig = ref(false);\nconst debounceShowDescriptionEvent: Ref< undefined | (() => void)> = ref(undefined);\nconst debounceHideDescriptionEvent: Ref< undefined | (() => void)> = ref(undefined);\nconst descriptionPodcastRef = useTemplateRef('descriptionPodcast');\nconst descriptionPodcastContainerRef = useTemplateRef('descriptionPodcastContainer');\n\n//Computed\nconst displayDate = computed(() => dayjs(props.podcast.pubDate).format());\nconst description = computed(() => props.podcast.description ?? \"\");\n\nonBeforeMount(()=>{\n isMobile.value = window.matchMedia(\"(hover: none)\").matches;\n debounceShowDescriptionEvent.value = debounce(showDescription, 100);\n debounceHideDescriptionEvent.value = debounce(hideDescription, 100);\n})\n\n//Methods\nfunction initDescription(): void {\n if (firstDisplayDesc.value) {\n return;\n }\n const podcastDesc = descriptionPodcastRef?.value as HTMLElement;\n const podcastDescContainer = descriptionPodcastContainerRef?.value as HTMLElement;\n if (podcastDesc?.clientHeight > podcastDescContainer?.clientHeight) {\n isDescriptionBig.value = true;\n }\n firstDisplayDesc.value = true;\n}\nfunction showDescription(): void {\n arrowDirection.value = \"down\";\n hoverDesc.value = true;\n nextTick(() => {\n initDescription();\n });\n}\nfunction hideDescription(): void {\n arrowDirection.value = \"up\";\n hoverDesc.value = false;\n}\n</script>\n\n<style lang=\"scss\">\n\n.octopus-app {\n .podcast-item-container {\n display: flex;\n flex-direction: column;\n border-radius: var(--octopus-border-radius);\n position: relative;\n width: var(--octopus-podcast-size);\n height: 20.5rem;\n overflow: hidden;\n text-align: left;\n background: var(--octopus-background);\n flex-shrink: 0;\n\n .description-podcast-item {\n --octopus-max-height-description: var(--octopus-podcast-size);\n\n padding: 1rem;\n background-color: oklch(from var(--octopus-background) l c h / 90%);\n position: absolute;\n width: var(--octopus-podcast-size);\n height: var(--octopus-podcast-size);\n margin-top:0;\n\n &.mobile-description-podcast-item {\n overflow: auto;\n }\n }\n\n @media (width <= 450px) {\n width: var(--octopus-image-size);\n height: 19rem;\n\n .description-podcast-item {\n height: var(--octopus-image-size);\n width: var(--octopus-image-size);\n }\n }\n }\n}\n</style>\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PodcastItem-ltLOqm-_.mjs","names":[],"sources":["../src/components/display/podcasts/AnimatorsItem.vue","../src/components/display/podcasts/AnimatorsItem.vue","../src/components/display/podcasts/PodcastItemInfo.vue","../src/components/display/podcasts/PodcastItemInfo.vue","../src/components/display/podcasts/PodcastItem.vue","../src/components/display/podcasts/PodcastItem.vue"],"sourcesContent":["<template>\n <div\n v-if=\"animator\"\n class=\"d-flex align-items-center justify-content-start animators-item\"\n >\n <router-link\n :to=\"{\n name: 'participant',\n params: { participantId: animator.participantId },\n }\"\n :title=\"t('Participant name page', { name: animatorName })\"\n class=\"podcast-item-animator text-truncate\"\n >\n {{ animatorName }}\n </router-link>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { Participant } from \"@/stores/class/general/participant\";\nimport { computed } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n animator: { default: undefined, type: Object as () => Participant },\n})\n\n//Composables\nconst { t } = useI18n();\n\n//Computed\nconst animatorName = computed(() => `${props.animator?.firstName ?? \"\"} ${ props.animator?.lastName ?? \"\"}`.trim());\n\n</script>\n\n<style lang=\"scss\">\n.octopus-app .podcast-item-animator {\n font-size: 0.55rem;\n font-weight: 300;\n text-transform: capitalize;\n}\n</style>\n","<template>\n <div\n v-if=\"animator\"\n class=\"d-flex align-items-center justify-content-start animators-item\"\n >\n <router-link\n :to=\"{\n name: 'participant',\n params: { participantId: animator.participantId },\n }\"\n :title=\"t('Participant name page', { name: animatorName })\"\n class=\"podcast-item-animator text-truncate\"\n >\n {{ animatorName }}\n </router-link>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { Participant } from \"@/stores/class/general/participant\";\nimport { computed } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n animator: { default: undefined, type: Object as () => Participant },\n})\n\n//Composables\nconst { t } = useI18n();\n\n//Computed\nconst animatorName = computed(() => `${props.animator?.firstName ?? \"\"} ${ props.animator?.lastName ?? \"\"}`.trim());\n\n</script>\n\n<style lang=\"scss\">\n.octopus-app .podcast-item-animator {\n font-size: 0.55rem;\n font-weight: 300;\n text-transform: capitalize;\n}\n</style>\n","<template>\n <div class=\"podcast-item-info\">\n <div class=\"podcast-item-status text-secondary h6 mx-2\">\n <time :datetime=\"podcast.pubDate\">\n {{ date }}\n </time>\n\n <PodcastSeasonInfo :podcast=\"podcast\" />\n </div>\n\n <router-link\n :to=\"{\n name: 'podcast',\n params: { podcastId: podcast.podcastId },\n }\"\n class=\"text-dark flex-grow-1 title-podcast-item basic-line-clamp three-line\"\n :title=\"t('Episode name page', { name: podcast.title })\"\n >\n <RightsIndicator\n inline\n :podcast=\"podcast\"\n action=\"edit\"\n />\n {{ podcast.title }}\n </router-link>\n\n <PodcastPlayBar\n v-if=\"state.emissionsPage.progressBar\"\n :display-buton-play=\"true\"\n :podcast=\"podcast\"\n class=\"me-2\"\n />\n\n <div class=\"mx-2 d-flex align-items-center justify-content-between mt-2\">\n <div v-if=\"isPodcastmaker\" class=\"useless-div-for-podcastmaker\" />\n <AnimatorsItem\n v-if=\"podcast.animators && 0 !== podcast.animators.length\"\n class=\"w-0 flex-grow-1\"\n :animator=\"podcast.animators[0]\"\n />\n <router-link\n v-if=\"!isPodcastmaker\"\n :to=\"{\n name: 'productor',\n params: { productorId: podcast.organisation.id },\n }\"\n class=\"text-dark producer-podcast-item\"\n >\n {{ \"© \" + orgaNameDisplay }}\n </router-link>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport AnimatorsItem from \"./AnimatorsItem.vue\";\nimport RightsIndicator from \"../RightsIndicator.vue\"; \nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport { computed, defineAsyncComponent } from \"vue\";\nimport { Podcast } from \"../../../stores/class/general/podcast\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport { useI18n } from \"vue-i18n\";\nimport PodcastSeasonInfo from \"./PodcastSeasonInfo.vue\";\nimport { useDayjs } from \"../../composable/useDayjs\";\n\nconst PodcastPlayBar = defineAsyncComponent(\n () => import(\"./PodcastPlayBar.vue\"),\n);\n\n//Props \nconst props = defineProps({\n podcast: { default: () => ({}), type: Object as () => Podcast },\n})\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker } = useOrgaComputed();\n\n//Computed\nconst { formatDate } = useDayjs();\n\nconst date = computed((): string => {\n return formatDate(props.podcast.pubDate);\n});\n\nconst orgaNameDisplay = computed(() =>{\n if (props.podcast.organisation.name.length > 30) {\n return props.podcast.organisation.name.substring(0, 30) + \"...\";\n }\n return props.podcast.organisation.name;\n});\n</script>\n\n<style scoped lang=\"scss\">\n.title-podcast-item {\n font-weight: 700;\n margin: 0.25rem 0.5rem 0.5rem;\n flex-grow: 1;\n font-size: 0.9rem;\n min-height: 3rem;\n line-height: 1rem;\n}\n\n.producer-podcast-item {\n font-size: 0.55rem;\n color: var(--octopus-gray-text);\n flex-shrink: 0;\n}\n\n.podcast-item-status {\n display: flex;\n justify-content: space-between;\n}\n</style>\n","<template>\n <div class=\"podcast-item-info\">\n <div class=\"podcast-item-status text-secondary h6 mx-2\">\n <time :datetime=\"podcast.pubDate\">\n {{ date }}\n </time>\n\n <PodcastSeasonInfo :podcast=\"podcast\" />\n </div>\n\n <router-link\n :to=\"{\n name: 'podcast',\n params: { podcastId: podcast.podcastId },\n }\"\n class=\"text-dark flex-grow-1 title-podcast-item basic-line-clamp three-line\"\n :title=\"t('Episode name page', { name: podcast.title })\"\n >\n <RightsIndicator\n inline\n :podcast=\"podcast\"\n action=\"edit\"\n />\n {{ podcast.title }}\n </router-link>\n\n <PodcastPlayBar\n v-if=\"state.emissionsPage.progressBar\"\n :display-buton-play=\"true\"\n :podcast=\"podcast\"\n class=\"me-2\"\n />\n\n <div class=\"mx-2 d-flex align-items-center justify-content-between mt-2\">\n <div v-if=\"isPodcastmaker\" class=\"useless-div-for-podcastmaker\" />\n <AnimatorsItem\n v-if=\"podcast.animators && 0 !== podcast.animators.length\"\n class=\"w-0 flex-grow-1\"\n :animator=\"podcast.animators[0]\"\n />\n <router-link\n v-if=\"!isPodcastmaker\"\n :to=\"{\n name: 'productor',\n params: { productorId: podcast.organisation.id },\n }\"\n class=\"text-dark producer-podcast-item\"\n >\n {{ \"© \" + orgaNameDisplay }}\n </router-link>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport AnimatorsItem from \"./AnimatorsItem.vue\";\nimport RightsIndicator from \"../RightsIndicator.vue\"; \nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport { computed, defineAsyncComponent } from \"vue\";\nimport { Podcast } from \"../../../stores/class/general/podcast\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport { useI18n } from \"vue-i18n\";\nimport PodcastSeasonInfo from \"./PodcastSeasonInfo.vue\";\nimport { useDayjs } from \"../../composable/useDayjs\";\n\nconst PodcastPlayBar = defineAsyncComponent(\n () => import(\"./PodcastPlayBar.vue\"),\n);\n\n//Props \nconst props = defineProps({\n podcast: { default: () => ({}), type: Object as () => Podcast },\n})\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker } = useOrgaComputed();\n\n//Computed\nconst { formatDate } = useDayjs();\n\nconst date = computed((): string => {\n return formatDate(props.podcast.pubDate);\n});\n\nconst orgaNameDisplay = computed(() =>{\n if (props.podcast.organisation.name.length > 30) {\n return props.podcast.organisation.name.substring(0, 30) + \"...\";\n }\n return props.podcast.organisation.name;\n});\n</script>\n\n<style scoped lang=\"scss\">\n.title-podcast-item {\n font-weight: 700;\n margin: 0.25rem 0.5rem 0.5rem;\n flex-grow: 1;\n font-size: 0.9rem;\n min-height: 3rem;\n line-height: 1rem;\n}\n\n.producer-podcast-item {\n font-size: 0.55rem;\n color: var(--octopus-gray-text);\n flex-shrink: 0;\n}\n\n.podcast-item-status {\n display: flex;\n justify-content: space-between;\n}\n</style>\n","<template>\n <article\n class=\"podcast-item-container border\"\n :data-pubdate=\"displayDate\"\n :data-count=\"podcast.downloadCount\"\n >\n <PodcastImage\n :podcast=\"podcast\"\n :hide-play=\"hoverDesc && 0 !== description.length\"\n :display-description=\"0 !== description.length\"\n :arrow-direction=\"arrowDirection\"\n :fetch-conference=\"fetchConference\"\n @hide-description=\"hideDescription\"\n @show-description=\"showDescription\"\n />\n <div\n v-if=\"hoverDesc\"\n ref=\"descriptionPodcastContainer\"\n class=\"element-description description-podcast-item html-wysiwyg-content\"\n :class=\"[\n hoverDesc && '' !== description ? 'visible' : 'invisible',\n !isMobile && isDescriptionBig ? 'after-element-description' : 'mobile-description-podcast-item',\n ]\"\n >\n <!-- eslint-disable vue/no-v-html -->\n <div ref=\"descriptionPodcast\" v-html=\"displayHelper.urlify(description)\" />\n <!-- eslint-enable -->\n </div>\n <div\n @mouseenter=\"debounceShowDescriptionEvent\"\n @mouseleave=\"debounceHideDescriptionEvent\"\n >\n <PodcastItemInfo\n :podcast=\"podcast\"\n />\n </div>\n </article>\n</template>\n\n<script setup lang=\"ts\">\nimport debounce from '../../../helper/debounceHelper';\nimport PodcastItemInfo from \"./PodcastItemInfo.vue\";\nimport PodcastImage from \"./PodcastImage.vue\";\nimport dayjs from \"dayjs\";\nimport { Podcast } from \"../../../stores/class/general/podcast\";\nimport { computed, nextTick, onBeforeMount, ref, Ref, useTemplateRef } from \"vue\";\nimport { Conference } from \"@/stores/class/conference/conference\";\n\nimport displayHelper from \"../../../helper/displayHelper\";\n\n//Props \nconst props = defineProps<{\n podcast: Podcast;\n fetchConference?: Conference;\n}>();\n\n//Data \nconst isMobile = ref(false);\nconst firstDisplayDesc = ref(false);\nconst hoverDesc = ref(false);\nconst arrowDirection = ref(\"up\");\nconst isDescriptionBig = ref(false);\nconst debounceShowDescriptionEvent: Ref< undefined | (() => void)> = ref(undefined);\nconst debounceHideDescriptionEvent: Ref< undefined | (() => void)> = ref(undefined);\nconst descriptionPodcastRef = useTemplateRef('descriptionPodcast');\nconst descriptionPodcastContainerRef = useTemplateRef('descriptionPodcastContainer');\n\n//Computed\nconst displayDate = computed(() => dayjs(props.podcast.pubDate).format());\nconst description = computed(() => props.podcast.description ?? \"\");\n\nonBeforeMount(()=>{\n isMobile.value = window.matchMedia(\"(hover: none)\").matches;\n debounceShowDescriptionEvent.value = debounce(showDescription, 100);\n debounceHideDescriptionEvent.value = debounce(hideDescription, 100);\n})\n\n//Methods\nfunction initDescription(): void {\n if (firstDisplayDesc.value) {\n return;\n }\n const podcastDesc = descriptionPodcastRef?.value as HTMLElement;\n const podcastDescContainer = descriptionPodcastContainerRef?.value as HTMLElement;\n if (podcastDesc?.clientHeight > podcastDescContainer?.clientHeight) {\n isDescriptionBig.value = true;\n }\n firstDisplayDesc.value = true;\n}\nfunction showDescription(): void {\n arrowDirection.value = \"down\";\n hoverDesc.value = true;\n nextTick(() => {\n initDescription();\n });\n}\nfunction hideDescription(): void {\n arrowDirection.value = \"up\";\n hoverDesc.value = false;\n}\n</script>\n\n<style lang=\"scss\">\n\n.octopus-app {\n .podcast-item-container {\n display: flex;\n flex-direction: column;\n border-radius: var(--octopus-border-radius);\n position: relative;\n width: var(--octopus-podcast-size);\n height: 20.5rem;\n overflow: hidden;\n text-align: left;\n background: var(--octopus-background);\n flex-shrink: 0;\n\n .description-podcast-item {\n --octopus-max-height-description: var(--octopus-podcast-size);\n\n padding: 1rem;\n background-color: oklch(from var(--octopus-background) l c h / 90%);\n position: absolute;\n width: var(--octopus-podcast-size);\n height: var(--octopus-podcast-size);\n margin-top:0;\n\n &.mobile-description-podcast-item {\n overflow: auto;\n }\n }\n\n @media (width <= 450px) {\n width: var(--octopus-image-size);\n height: 19rem;\n\n .description-podcast-item {\n height: var(--octopus-image-size);\n width: var(--octopus-image-size);\n }\n }\n }\n}\n</style>\n","<template>\n <article\n class=\"podcast-item-container border\"\n :data-pubdate=\"displayDate\"\n :data-count=\"podcast.downloadCount\"\n >\n <PodcastImage\n :podcast=\"podcast\"\n :hide-play=\"hoverDesc && 0 !== description.length\"\n :display-description=\"0 !== description.length\"\n :arrow-direction=\"arrowDirection\"\n :fetch-conference=\"fetchConference\"\n @hide-description=\"hideDescription\"\n @show-description=\"showDescription\"\n />\n <div\n v-if=\"hoverDesc\"\n ref=\"descriptionPodcastContainer\"\n class=\"element-description description-podcast-item html-wysiwyg-content\"\n :class=\"[\n hoverDesc && '' !== description ? 'visible' : 'invisible',\n !isMobile && isDescriptionBig ? 'after-element-description' : 'mobile-description-podcast-item',\n ]\"\n >\n <!-- eslint-disable vue/no-v-html -->\n <div ref=\"descriptionPodcast\" v-html=\"displayHelper.urlify(description)\" />\n <!-- eslint-enable -->\n </div>\n <div\n @mouseenter=\"debounceShowDescriptionEvent\"\n @mouseleave=\"debounceHideDescriptionEvent\"\n >\n <PodcastItemInfo\n :podcast=\"podcast\"\n />\n </div>\n </article>\n</template>\n\n<script setup lang=\"ts\">\nimport debounce from '../../../helper/debounceHelper';\nimport PodcastItemInfo from \"./PodcastItemInfo.vue\";\nimport PodcastImage from \"./PodcastImage.vue\";\nimport dayjs from \"dayjs\";\nimport { Podcast } from \"../../../stores/class/general/podcast\";\nimport { computed, nextTick, onBeforeMount, ref, Ref, useTemplateRef } from \"vue\";\nimport { Conference } from \"@/stores/class/conference/conference\";\n\nimport displayHelper from \"../../../helper/displayHelper\";\n\n//Props \nconst props = defineProps<{\n podcast: Podcast;\n fetchConference?: Conference;\n}>();\n\n//Data \nconst isMobile = ref(false);\nconst firstDisplayDesc = ref(false);\nconst hoverDesc = ref(false);\nconst arrowDirection = ref(\"up\");\nconst isDescriptionBig = ref(false);\nconst debounceShowDescriptionEvent: Ref< undefined | (() => void)> = ref(undefined);\nconst debounceHideDescriptionEvent: Ref< undefined | (() => void)> = ref(undefined);\nconst descriptionPodcastRef = useTemplateRef('descriptionPodcast');\nconst descriptionPodcastContainerRef = useTemplateRef('descriptionPodcastContainer');\n\n//Computed\nconst displayDate = computed(() => dayjs(props.podcast.pubDate).format());\nconst description = computed(() => props.podcast.description ?? \"\");\n\nonBeforeMount(()=>{\n isMobile.value = window.matchMedia(\"(hover: none)\").matches;\n debounceShowDescriptionEvent.value = debounce(showDescription, 100);\n debounceHideDescriptionEvent.value = debounce(hideDescription, 100);\n})\n\n//Methods\nfunction initDescription(): void {\n if (firstDisplayDesc.value) {\n return;\n }\n const podcastDesc = descriptionPodcastRef?.value as HTMLElement;\n const podcastDescContainer = descriptionPodcastContainerRef?.value as HTMLElement;\n if (podcastDesc?.clientHeight > podcastDescContainer?.clientHeight) {\n isDescriptionBig.value = true;\n }\n firstDisplayDesc.value = true;\n}\nfunction showDescription(): void {\n arrowDirection.value = \"down\";\n hoverDesc.value = true;\n nextTick(() => {\n initDescription();\n });\n}\nfunction hideDescription(): void {\n arrowDirection.value = \"up\";\n hoverDesc.value = false;\n}\n</script>\n\n<style lang=\"scss\">\n\n.octopus-app {\n .podcast-item-container {\n display: flex;\n flex-direction: column;\n border-radius: var(--octopus-border-radius);\n position: relative;\n width: var(--octopus-podcast-size);\n height: 20.5rem;\n overflow: hidden;\n text-align: left;\n background: var(--octopus-background);\n flex-shrink: 0;\n\n .description-podcast-item {\n --octopus-max-height-description: var(--octopus-podcast-size);\n\n padding: 1rem;\n background-color: oklch(from var(--octopus-background) l c h / 90%);\n position: absolute;\n width: var(--octopus-podcast-size);\n height: var(--octopus-podcast-size);\n margin-top:0;\n\n &.mobile-description-podcast-item {\n overflow: auto;\n }\n }\n\n @media (width <= 450px) {\n width: var(--octopus-image-size);\n height: 19rem;\n\n .description-podcast-item {\n height: var(--octopus-image-size);\n width: var(--octopus-image-size);\n }\n }\n }\n}\n</style>\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PodcastItem-naoxNwra.mjs","names":[],"sources":["../src/components/display/podcasts/AnimatorsItem.vue","../src/components/display/podcasts/AnimatorsItem.vue","../src/components/display/podcasts/PodcastItemInfo.vue","../src/components/display/podcasts/PodcastItemInfo.vue","../src/components/display/podcasts/PodcastItem.vue","../src/components/display/podcasts/PodcastItem.vue"],"sourcesContent":["<template>\n <div\n v-if=\"animator\"\n class=\"d-flex align-items-center justify-content-start animators-item\"\n >\n <router-link\n :to=\"{\n name: 'participant',\n params: { participantId: animator.participantId },\n }\"\n :title=\"t('Participant name page', { name: animatorName })\"\n class=\"podcast-item-animator text-truncate\"\n >\n {{ animatorName }}\n </router-link>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { Participant } from \"@/stores/class/general/participant\";\nimport { computed } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n animator: { default: undefined, type: Object as () => Participant },\n})\n\n//Composables\nconst { t } = useI18n();\n\n//Computed\nconst animatorName = computed(() => `${props.animator?.firstName ?? \"\"} ${ props.animator?.lastName ?? \"\"}`.trim());\n\n</script>\n\n<style lang=\"scss\">\n.octopus-app .podcast-item-animator {\n font-size: 0.55rem;\n font-weight: 300;\n text-transform: capitalize;\n}\n</style>\n","<template>\n <div\n v-if=\"animator\"\n class=\"d-flex align-items-center justify-content-start animators-item\"\n >\n <router-link\n :to=\"{\n name: 'participant',\n params: { participantId: animator.participantId },\n }\"\n :title=\"t('Participant name page', { name: animatorName })\"\n class=\"podcast-item-animator text-truncate\"\n >\n {{ animatorName }}\n </router-link>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { Participant } from \"@/stores/class/general/participant\";\nimport { computed } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n animator: { default: undefined, type: Object as () => Participant },\n})\n\n//Composables\nconst { t } = useI18n();\n\n//Computed\nconst animatorName = computed(() => `${props.animator?.firstName ?? \"\"} ${ props.animator?.lastName ?? \"\"}`.trim());\n\n</script>\n\n<style lang=\"scss\">\n.octopus-app .podcast-item-animator {\n font-size: 0.55rem;\n font-weight: 300;\n text-transform: capitalize;\n}\n</style>\n","<template>\n <div class=\"podcast-item-info\">\n <div class=\"podcast-item-status text-secondary h6 mx-2\">\n <time :datetime=\"podcast.pubDate\">\n {{ date }}\n </time>\n\n <PodcastSeasonInfo :podcast=\"podcast\" />\n </div>\n\n <router-link\n :to=\"{\n name: 'podcast',\n params: { podcastId: podcast.podcastId },\n }\"\n class=\"text-dark flex-grow-1 title-podcast-item basic-line-clamp three-line\"\n :title=\"t('Episode name page', { name: podcast.title })\"\n >\n <RightsIndicator\n inline\n :podcast=\"podcast\"\n action=\"edit\"\n />\n {{ podcast.title }}\n </router-link>\n\n <PodcastPlayBar\n v-if=\"state.emissionsPage.progressBar\"\n :display-buton-play=\"true\"\n :podcast=\"podcast\"\n class=\"me-2\"\n />\n\n <div class=\"mx-2 d-flex align-items-center justify-content-between mt-2\">\n <div v-if=\"isPodcastmaker\" class=\"useless-div-for-podcastmaker\" />\n <AnimatorsItem\n v-if=\"podcast.animators && 0 !== podcast.animators.length\"\n class=\"w-0 flex-grow-1\"\n :animator=\"podcast.animators[0]\"\n />\n <router-link\n v-if=\"!isPodcastmaker\"\n :to=\"{\n name: 'productor',\n params: { productorId: podcast.organisation.id },\n }\"\n class=\"text-dark producer-podcast-item\"\n >\n {{ \"© \" + orgaNameDisplay }}\n </router-link>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport AnimatorsItem from \"./AnimatorsItem.vue\";\nimport RightsIndicator from \"../RightsIndicator.vue\"; \nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport { computed, defineAsyncComponent } from \"vue\";\nimport { Podcast } from \"../../../stores/class/general/podcast\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport { useI18n } from \"vue-i18n\";\nimport PodcastSeasonInfo from \"./PodcastSeasonInfo.vue\";\nimport { useDayjs } from \"../../composable/useDayjs\";\n\nconst PodcastPlayBar = defineAsyncComponent(\n () => import(\"./PodcastPlayBar.vue\"),\n);\n\n//Props \nconst props = defineProps({\n podcast: { default: () => ({}), type: Object as () => Podcast },\n})\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker } = useOrgaComputed();\n\n//Computed\nconst { formatDate } = useDayjs();\n\nconst date = computed((): string => {\n return formatDate(props.podcast.pubDate);\n});\n\nconst orgaNameDisplay = computed(() =>{\n if (props.podcast.organisation.name.length > 30) {\n return props.podcast.organisation.name.substring(0, 30) + \"...\";\n }\n return props.podcast.organisation.name;\n});\n</script>\n\n<style scoped lang=\"scss\">\n.title-podcast-item {\n font-weight: 700;\n margin: 0.25rem 0.5rem 0.5rem;\n flex-grow: 1;\n font-size: 0.9rem;\n min-height: 3rem;\n line-height: 1rem;\n}\n\n.producer-podcast-item {\n font-size: 0.55rem;\n color: var(--octopus-gray-text);\n flex-shrink: 0;\n}\n\n.podcast-item-status {\n display: flex;\n justify-content: space-between;\n}\n</style>\n","<template>\n <div class=\"podcast-item-info\">\n <div class=\"podcast-item-status text-secondary h6 mx-2\">\n <time :datetime=\"podcast.pubDate\">\n {{ date }}\n </time>\n\n <PodcastSeasonInfo :podcast=\"podcast\" />\n </div>\n\n <router-link\n :to=\"{\n name: 'podcast',\n params: { podcastId: podcast.podcastId },\n }\"\n class=\"text-dark flex-grow-1 title-podcast-item basic-line-clamp three-line\"\n :title=\"t('Episode name page', { name: podcast.title })\"\n >\n <RightsIndicator\n inline\n :podcast=\"podcast\"\n action=\"edit\"\n />\n {{ podcast.title }}\n </router-link>\n\n <PodcastPlayBar\n v-if=\"state.emissionsPage.progressBar\"\n :display-buton-play=\"true\"\n :podcast=\"podcast\"\n class=\"me-2\"\n />\n\n <div class=\"mx-2 d-flex align-items-center justify-content-between mt-2\">\n <div v-if=\"isPodcastmaker\" class=\"useless-div-for-podcastmaker\" />\n <AnimatorsItem\n v-if=\"podcast.animators && 0 !== podcast.animators.length\"\n class=\"w-0 flex-grow-1\"\n :animator=\"podcast.animators[0]\"\n />\n <router-link\n v-if=\"!isPodcastmaker\"\n :to=\"{\n name: 'productor',\n params: { productorId: podcast.organisation.id },\n }\"\n class=\"text-dark producer-podcast-item\"\n >\n {{ \"© \" + orgaNameDisplay }}\n </router-link>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport AnimatorsItem from \"./AnimatorsItem.vue\";\nimport RightsIndicator from \"../RightsIndicator.vue\"; \nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport { computed, defineAsyncComponent } from \"vue\";\nimport { Podcast } from \"../../../stores/class/general/podcast\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport { useI18n } from \"vue-i18n\";\nimport PodcastSeasonInfo from \"./PodcastSeasonInfo.vue\";\nimport { useDayjs } from \"../../composable/useDayjs\";\n\nconst PodcastPlayBar = defineAsyncComponent(\n () => import(\"./PodcastPlayBar.vue\"),\n);\n\n//Props \nconst props = defineProps({\n podcast: { default: () => ({}), type: Object as () => Podcast },\n})\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker } = useOrgaComputed();\n\n//Computed\nconst { formatDate } = useDayjs();\n\nconst date = computed((): string => {\n return formatDate(props.podcast.pubDate);\n});\n\nconst orgaNameDisplay = computed(() =>{\n if (props.podcast.organisation.name.length > 30) {\n return props.podcast.organisation.name.substring(0, 30) + \"...\";\n }\n return props.podcast.organisation.name;\n});\n</script>\n\n<style scoped lang=\"scss\">\n.title-podcast-item {\n font-weight: 700;\n margin: 0.25rem 0.5rem 0.5rem;\n flex-grow: 1;\n font-size: 0.9rem;\n min-height: 3rem;\n line-height: 1rem;\n}\n\n.producer-podcast-item {\n font-size: 0.55rem;\n color: var(--octopus-gray-text);\n flex-shrink: 0;\n}\n\n.podcast-item-status {\n display: flex;\n justify-content: space-between;\n}\n</style>\n","<template>\n <article\n class=\"podcast-item-container border\"\n :data-pubdate=\"displayDate\"\n :data-count=\"podcast.downloadCount\"\n >\n <PodcastImage\n :podcast=\"podcast\"\n :hide-play=\"hoverDesc && 0 !== description.length\"\n :display-description=\"0 !== description.length\"\n :arrow-direction=\"arrowDirection\"\n :fetch-conference=\"fetchConference\"\n @hide-description=\"hideDescription\"\n @show-description=\"showDescription\"\n />\n <div\n v-if=\"hoverDesc\"\n ref=\"descriptionPodcastContainer\"\n class=\"element-description description-podcast-item html-wysiwyg-content\"\n :class=\"[\n hoverDesc && '' !== description ? 'visible' : 'invisible',\n !isMobile && isDescriptionBig ? 'after-element-description' : 'mobile-description-podcast-item',\n ]\"\n >\n <!-- eslint-disable vue/no-v-html -->\n <div ref=\"descriptionPodcast\" v-html=\"displayHelper.urlify(description)\" />\n <!-- eslint-enable -->\n </div>\n <div\n @mouseenter=\"debounceShowDescriptionEvent\"\n @mouseleave=\"debounceHideDescriptionEvent\"\n >\n <PodcastItemInfo\n :podcast=\"podcast\"\n />\n </div>\n </article>\n</template>\n\n<script setup lang=\"ts\">\nimport debounce from '../../../helper/debounceHelper';\nimport PodcastItemInfo from \"./PodcastItemInfo.vue\";\nimport PodcastImage from \"./PodcastImage.vue\";\nimport dayjs from \"dayjs\";\nimport { Podcast } from \"../../../stores/class/general/podcast\";\nimport { computed, nextTick, onBeforeMount, ref, Ref, useTemplateRef } from \"vue\";\nimport { Conference } from \"@/stores/class/conference/conference\";\n\nimport displayHelper from \"../../../helper/displayHelper\";\n\n//Props \nconst props = defineProps<{\n podcast: Podcast;\n fetchConference?: Conference;\n}>();\n\n//Data \nconst isMobile = ref(false);\nconst firstDisplayDesc = ref(false);\nconst hoverDesc = ref(false);\nconst arrowDirection = ref(\"up\");\nconst isDescriptionBig = ref(false);\nconst debounceShowDescriptionEvent: Ref< undefined | (() => void)> = ref(undefined);\nconst debounceHideDescriptionEvent: Ref< undefined | (() => void)> = ref(undefined);\nconst descriptionPodcastRef = useTemplateRef('descriptionPodcast');\nconst descriptionPodcastContainerRef = useTemplateRef('descriptionPodcastContainer');\n\n//Computed\nconst displayDate = computed(() => dayjs(props.podcast.pubDate).format());\nconst description = computed(() => props.podcast.description ?? \"\");\n\nonBeforeMount(()=>{\n isMobile.value = window.matchMedia(\"(hover: none)\").matches;\n debounceShowDescriptionEvent.value = debounce(showDescription, 100);\n debounceHideDescriptionEvent.value = debounce(hideDescription, 100);\n})\n\n//Methods\nfunction initDescription(): void {\n if (firstDisplayDesc.value) {\n return;\n }\n const podcastDesc = descriptionPodcastRef?.value as HTMLElement;\n const podcastDescContainer = descriptionPodcastContainerRef?.value as HTMLElement;\n if (podcastDesc?.clientHeight > podcastDescContainer?.clientHeight) {\n isDescriptionBig.value = true;\n }\n firstDisplayDesc.value = true;\n}\nfunction showDescription(): void {\n arrowDirection.value = \"down\";\n hoverDesc.value = true;\n nextTick(() => {\n initDescription();\n });\n}\nfunction hideDescription(): void {\n arrowDirection.value = \"up\";\n hoverDesc.value = false;\n}\n</script>\n\n<style lang=\"scss\">\n\n.octopus-app {\n .podcast-item-container {\n display: flex;\n flex-direction: column;\n border-radius: var(--octopus-border-radius);\n position: relative;\n width: var(--octopus-podcast-size);\n height: 20.5rem;\n overflow: hidden;\n text-align: left;\n background: var(--octopus-background);\n flex-shrink: 0;\n\n .description-podcast-item {\n --octopus-max-height-description: var(--octopus-podcast-size);\n\n padding: 1rem;\n background-color: oklch(from var(--octopus-background) l c h / 90%);\n position: absolute;\n width: var(--octopus-podcast-size);\n height: var(--octopus-podcast-size);\n margin-top:0;\n\n &.mobile-description-podcast-item {\n overflow: auto;\n }\n }\n\n @media (width <= 450px) {\n width: var(--octopus-image-size);\n height: 19rem;\n\n .description-podcast-item {\n height: var(--octopus-image-size);\n width: var(--octopus-image-size);\n }\n }\n }\n}\n</style>\n","<template>\n <article\n class=\"podcast-item-container border\"\n :data-pubdate=\"displayDate\"\n :data-count=\"podcast.downloadCount\"\n >\n <PodcastImage\n :podcast=\"podcast\"\n :hide-play=\"hoverDesc && 0 !== description.length\"\n :display-description=\"0 !== description.length\"\n :arrow-direction=\"arrowDirection\"\n :fetch-conference=\"fetchConference\"\n @hide-description=\"hideDescription\"\n @show-description=\"showDescription\"\n />\n <div\n v-if=\"hoverDesc\"\n ref=\"descriptionPodcastContainer\"\n class=\"element-description description-podcast-item html-wysiwyg-content\"\n :class=\"[\n hoverDesc && '' !== description ? 'visible' : 'invisible',\n !isMobile && isDescriptionBig ? 'after-element-description' : 'mobile-description-podcast-item',\n ]\"\n >\n <!-- eslint-disable vue/no-v-html -->\n <div ref=\"descriptionPodcast\" v-html=\"displayHelper.urlify(description)\" />\n <!-- eslint-enable -->\n </div>\n <div\n @mouseenter=\"debounceShowDescriptionEvent\"\n @mouseleave=\"debounceHideDescriptionEvent\"\n >\n <PodcastItemInfo\n :podcast=\"podcast\"\n />\n </div>\n </article>\n</template>\n\n<script setup lang=\"ts\">\nimport debounce from '../../../helper/debounceHelper';\nimport PodcastItemInfo from \"./PodcastItemInfo.vue\";\nimport PodcastImage from \"./PodcastImage.vue\";\nimport dayjs from \"dayjs\";\nimport { Podcast } from \"../../../stores/class/general/podcast\";\nimport { computed, nextTick, onBeforeMount, ref, Ref, useTemplateRef } from \"vue\";\nimport { Conference } from \"@/stores/class/conference/conference\";\n\nimport displayHelper from \"../../../helper/displayHelper\";\n\n//Props \nconst props = defineProps<{\n podcast: Podcast;\n fetchConference?: Conference;\n}>();\n\n//Data \nconst isMobile = ref(false);\nconst firstDisplayDesc = ref(false);\nconst hoverDesc = ref(false);\nconst arrowDirection = ref(\"up\");\nconst isDescriptionBig = ref(false);\nconst debounceShowDescriptionEvent: Ref< undefined | (() => void)> = ref(undefined);\nconst debounceHideDescriptionEvent: Ref< undefined | (() => void)> = ref(undefined);\nconst descriptionPodcastRef = useTemplateRef('descriptionPodcast');\nconst descriptionPodcastContainerRef = useTemplateRef('descriptionPodcastContainer');\n\n//Computed\nconst displayDate = computed(() => dayjs(props.podcast.pubDate).format());\nconst description = computed(() => props.podcast.description ?? \"\");\n\nonBeforeMount(()=>{\n isMobile.value = window.matchMedia(\"(hover: none)\").matches;\n debounceShowDescriptionEvent.value = debounce(showDescription, 100);\n debounceHideDescriptionEvent.value = debounce(hideDescription, 100);\n})\n\n//Methods\nfunction initDescription(): void {\n if (firstDisplayDesc.value) {\n return;\n }\n const podcastDesc = descriptionPodcastRef?.value as HTMLElement;\n const podcastDescContainer = descriptionPodcastContainerRef?.value as HTMLElement;\n if (podcastDesc?.clientHeight > podcastDescContainer?.clientHeight) {\n isDescriptionBig.value = true;\n }\n firstDisplayDesc.value = true;\n}\nfunction showDescription(): void {\n arrowDirection.value = \"down\";\n hoverDesc.value = true;\n nextTick(() => {\n initDescription();\n });\n}\nfunction hideDescription(): void {\n arrowDirection.value = \"up\";\n hoverDesc.value = false;\n}\n</script>\n\n<style lang=\"scss\">\n\n.octopus-app {\n .podcast-item-container {\n display: flex;\n flex-direction: column;\n border-radius: var(--octopus-border-radius);\n position: relative;\n width: var(--octopus-podcast-size);\n height: 20.5rem;\n overflow: hidden;\n text-align: left;\n background: var(--octopus-background);\n flex-shrink: 0;\n\n .description-podcast-item {\n --octopus-max-height-description: var(--octopus-podcast-size);\n\n padding: 1rem;\n background-color: oklch(from var(--octopus-background) l c h / 90%);\n position: absolute;\n width: var(--octopus-podcast-size);\n height: var(--octopus-podcast-size);\n margin-top:0;\n\n &.mobile-description-podcast-item {\n overflow: auto;\n }\n }\n\n @media (width <= 450px) {\n width: var(--octopus-image-size);\n height: 19rem;\n\n .description-podcast-item {\n height: var(--octopus-image-size);\n width: var(--octopus-image-size);\n }\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;EAwBA,MAAM,QAAQ;EAKd,MAAM,EAAE,MAAM,QAAQ;EAGtB,MAAM,eAAe,eAAe,GAAG,MAAM,UAAU,aAAa,GAAG,GAAI,MAAM,UAAU,YAAY,KAAK,KAAK,CAAC;;;UA9BxG,QAAA,YAAA,UAAA,GADR,mBAcM,OAdN,cAcM,CAVJ,YASc,wBAAA;IARX,IAAE;;8BAAkE,QAAA,SAAS,cAAa;;IAI1F,OAAO,MAAA,CAAA,EAAC,yBAAA,EAAA,MAAkC,aAAA,MAAY,CAAA;IACvD,OAAM;;2BAEY,CAAA,gBAAA,gBAAf,aAAA,KAAY,GAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;EEoDrB,MAAM,iBAAiB,2BACb,OAAO,gCACjB;EAGA,MAAM,QAAQ;EAKd,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,EAAE,mBAAmB,gBAAgB;EAG3C,MAAM,EAAE,eAAe,SAAS;EAEhC,MAAM,OAAO,eAAuB;GAChC,OAAO,WAAW,MAAM,QAAQ,OAAO;EAC3C,CAAC;EAED,MAAM,kBAAkB,eAAc;GAClC,IAAI,MAAM,QAAQ,aAAa,KAAK,SAAS,IACzC,OAAO,MAAM,QAAQ,aAAa,KAAK,UAAU,GAAG,EAAE,IAAI;GAE9D,OAAO,MAAM,QAAQ,aAAa;EACtC,CAAC;;;uBAzFG,mBAkDM,OAlDN,cAkDM;IAjDF,mBAMM,OANN,cAMM,CALF,mBAEO,QAAA,EAFA,UAAU,QAAA,QAAQ,QAAA,GAAA,gBAClB,KAAA,KAAI,GAAA,GAAA,UAAA,GAGX,YAAwC,2BAAA,EAApB,SAAS,QAAA,QAAO,GAAA,MAAA,GAAA,CAAA,SAAA,CAAA,CAAA,CAAA;IAGxC,YAcc,wBAAA;KAbT,IAAE;;2BAA0E,QAAA,QAAQ,UAAS;;KAI9F,OAAM;KACL,OAAO,MAAA,CAAA,EAAC,qBAAA,EAAA,MAA8B,QAAA,QAAQ,MAAK,CAAA;;4BAMlD,CAJF,YAIE,yBAAA;MAHE,QAAA;MACC,SAAS,QAAA;MACV,QAAO;+CACT,MACF,gBAAG,QAAA,QAAQ,KAAK,GAAA,CAAA,CAAA,CAAA;;;IAIV,MAAA,KAAA,EAAM,cAAc,eAAA,UAAA,GAD9B,YAKE,MAAA,cAAA,GAAA;;KAHG,sBAAoB;KACpB,SAAS,QAAA;KACV,OAAM;;IAGV,mBAiBM,OAjBN,YAiBM;KAhBS,MAAA,cAAA,KAAA,UAAA,GAAX,mBAAkE,OAAlE,UAAkE,KAAA,mBAAA,IAAA,IAAA;KAExD,QAAA,QAAQ,aAAS,MAAU,QAAA,QAAQ,UAAU,UAAA,UAAA,GADvD,YAIE,uBAAA;;MAFE,OAAM;MACL,UAAU,QAAA,QAAQ,UAAS;;MAGrB,MAAA,cAAA,KAAA,UAAA,GADX,YASc,wBAAA;;MAPT,IAAE;;8BAAsF,QAAA,QAAQ,aAAa,GAAE;;MAIhH,OAAM;;6BAEsB,CAAA,gBAAA,gBAAA,OAAlB,gBAAA,KAAe,GAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;EEGzC,MAAM,QAAQ;EAMd,MAAM,WAAW,IAAI,KAAK;EAC1B,MAAM,mBAAmB,IAAI,KAAK;EAClC,MAAM,YAAY,IAAI,KAAK;EAC3B,MAAM,iBAAiB,IAAI,IAAI;EAC/B,MAAM,mBAAmB,IAAI,KAAK;EAClC,MAAM,+BAA+D,IAAI,KAAA,CAAS;EAClF,MAAM,+BAA+D,IAAI,KAAA,CAAS;EAClF,MAAM,wBAAwB,eAAe,oBAAoB;EACjE,MAAM,iCAAiC,eAAe,6BAA6B;EAGnF,MAAM,cAAc,eAAe,MAAM,MAAM,QAAQ,OAAO,EAAE,OAAO,CAAC;EACxE,MAAM,cAAc,eAAe,MAAM,QAAQ,eAAe,EAAE;EAElE,oBAAkB;GAChB,SAAS,QAAQ,OAAO,WAAW,eAAe,EAAE;GACpD,6BAA6B,QAAQ,SAAS,iBAAiB,GAAG;GAClE,6BAA6B,QAAQ,SAAS,iBAAiB,GAAG;EACpE,CAAC;EAGD,SAAS,kBAAwB;GAC/B,IAAI,iBAAiB,OACnB;GAEF,MAAM,cAAc,uBAAuB;GAC3C,MAAM,uBAAuB,gCAAgC;GAC7D,IAAI,aAAa,eAAe,sBAAsB,cACpD,iBAAiB,QAAQ;GAE3B,iBAAiB,QAAQ;EAC3B;EACA,SAAS,kBAAwB;GAC/B,eAAe,QAAQ;GACvB,UAAU,QAAQ;GAClB,eAAe;IACb,gBAAgB;GAClB,CAAC;EACH;EACA,SAAS,kBAAwB;GAC/B,eAAe,QAAQ;GACvB,UAAU,QAAQ;EACpB;;uBAlGE,mBAmCU,WAAA;IAlCR,OAAM;IACL,gBAAc,YAAA;IACd,cAAY,QAAA,QAAQ;;IAErB,YAQE,sBAAA;KAPC,SAAS,QAAA;KACT,aAAW,UAAA,SAAS,MAAU,YAAA,MAAY;KAC1C,uBAAmB,MAAQ,YAAA,MAAY;KACvC,mBAAiB,eAAA;KACjB,oBAAkB,QAAA;KAClB,mBAAkB;KAClB,mBAAkB;;;;;;;;IAGb,UAAA,SAAA,UAAA,GADR,mBAYM,OAAA;;KAVJ,KAAI;KACJ,OAAK,eAAA,CAAC,qEAAmE,CACvD,UAAA,SAAS,OAAW,YAAA,QAAW,YAAA,aAAA,CAAqC,SAAA,SAAY,iBAAA,QAAgB,8BAAA,iCAAA,CAAA,CAAA;QAMlH,mBAA2E,OAAA;KAAtE,KAAI;KAAqB,WAAQ,MAAA,qBAAA,EAAc,OAAO,YAAA,KAAW;;IAGxE,mBAOM,OAAA;KANH,cAAU,OAAA,OAAA,OAAA,MAAA,GAAA,SAAE,6BAAA,SAAA,6BAAA,MAAA,GAAA,IAAA;KACZ,cAAU,OAAA,OAAA,OAAA,MAAA,GAAA,SAAE,6BAAA,SAAA,6BAAA,MAAA,GAAA,IAAA;QAEb,YAEE,yBAAA,EADC,SAAS,QAAA,QAAO,GAAA,MAAA,GAAA,CAAA,SAAA,CAAA,CAAA,GAAA,EAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PodcastList-5vFekv1m.mjs","names":[],"sources":["../src/components/display/playlist/PodcastList.vue","../src/components/display/playlist/PodcastList.vue"],"sourcesContent":["<!--\n Component displaying a list of podcasts IN A PLAYLIST\n Do not confuse this with PodcastList from podcasts\n-->\n<template>\n <div>\n <h3 class=\"mb-3 align-self-baseline\">\n {{ titleList }}\n </h3>\n\n <ClassicSearch\n v-if=\"!loading && notEmptyPlaylist\"\n v-model:text-init=\"searchPattern\"\n class=\"align-self-baseline mb-2\"\n id-search=\"podcast-list-search\"\n :label=\"t('Search')\"\n />\n\n <ListPaginate\n id=\"podcastPlaylistListPaginate\"\n v-model:first=\"dfirst\"\n v-model:rows-per-page=\"dsize\"\n v-model:is-mobile=\"isMobile\"\n :text-count=\"\n podcasts.length > 1\n ? `${t('Number podcasts', { nb: podcasts.length })}`\n : undefined\n \"\n :total-count=\"podcasts.length\"\n :loading=\"loading\"\n :loading-text=\"loading ? t('Loading podcasts ...') : undefined\"\n :error-text=\"\n !loading && !podcasts.length && notEmptyPlaylist\n ? t(`No podcast match your query`)\n : undefined\n \"\n :player-responsive=\"true\"\n :force-update-parameters=\"true\"\n >\n <template #list>\n <div class=\"octopus-element-list\">\n <ClassicLazy\n v-for=\"p in podcastsDisplay\"\n :key=\"p.podcastId\"\n :min-height=\"410\"\n >\n <PodcastItem\n v-if=\"0 !== p.podcastId\"\n :podcast=\"p\"\n />\n\n <template #preview>\n <router-link\n :to=\"{\n name: 'podcast',\n params: { podcastId: p.podcastId },\n }\"\n :title=\"t('Episode name page', { name: p.title })\"\n >\n {{ p.title }}\n </router-link>\n </template>\n </ClassicLazy>\n </div>\n </template>\n </ListPaginate>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ListPaginate from \"../list/ListPaginate.vue\";\nimport {useErrorHandler} from \"../../composable/useErrorHandler\";\nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport classicApi from \"../../../api/classicApi\";\nimport PodcastItem from \"../podcasts/PodcastItem.vue\";\nimport ClassicSearch from \"../../form/ClassicSearch.vue\";\nimport ClassicLazy from \"../../misc/ClassicLazy.vue\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport { computed, onBeforeMount, Ref, ref, watch } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useI18n } from \"vue-i18n\";\nimport { playlistApi } from \"../../../api/playlistApi\";\n\n//Props \nconst props = defineProps({\n playlist: { default: () => ({}), type: Object as () => Playlist },\n first: { default: 0, type: Number },\n size: { default: 30, type: Number },\n query: { default: undefined, type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"update:query\"]);\n\n//Data \nconst loading = ref(true);\nconst podcasts: Ref<Array<Podcast>> = ref([]);\nconst podcastsQuery: Ref<Array<Podcast>> = ref([]);\nconst dfirst = ref(props.first);\nconst dsize = ref(props.size);\nconst searchPattern = ref(\"\");\nconst isMobile = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst {handle403} = useErrorHandler();\nconst { isEditRights } = useOrgaComputed();\n\n//Computed\nconst titleList = computed(() => notEmptyPlaylist.value? t(\"Podcasts in the playlist\"): t(\"No podcasts in the playlist\"));\nconst notEmptyPlaylist = computed(() => 0 !== Object.keys(props.playlist.samplingViews ?? []).length);\nconst podcastsDisplay = computed(() => {\n if (isMobile.value) {\n return podcastsQuery.value.slice(\n 0,\n Math.min(dfirst.value + dsize.value, podcasts.value.length),\n );\n }\n return podcastsQuery.value.slice(\n dfirst.value,\n Math.min(dfirst.value + dsize.value, podcasts.value.length),\n );\n});\nconst editRight = computed(() =>isEditRights(props.playlist.organisation?.id));\n\n//Watch\nwatch(searchPattern,() => {\n emit('update:query', searchPattern.value);\n if (\"\" !== searchPattern.value) {\n podcastsQuery.value = podcasts.value.filter((el: Podcast) => {\n return el.title\n .toLowerCase()\n .includes(searchPattern.value.toLowerCase());\n });\n } else {\n podcastsQuery.value = podcasts.value;\n }\n});\n\nonBeforeMount(fetchContent);\n\n\n//Methods\nasync function fetchContent(): Promise<void> {\n if (notEmptyPlaylist.value) {\n podcasts.value.length = 0;\n loading.value = true;\n try {\n podcasts.value = await playlistApi.getContentFull(props.playlist.playlistId);\n if (!editRight.value) {\n podcasts.value = podcasts.value.filter((p: Podcast | null) => {\n return (\n null !== p &&\n (!p.availability || true === p.availability.visibility)\n );\n });\n }\n podcastsQuery.value = podcasts.value;\n searchPattern.value = props.query ?? \"\";\n } catch (error) {\n handle403(error as AxiosError);\n }\n }\n loading.value = false;\n}\n</script>\n\n","<!--\n Component displaying a list of podcasts IN A PLAYLIST\n Do not confuse this with PodcastList from podcasts\n-->\n<template>\n <div>\n <h3 class=\"mb-3 align-self-baseline\">\n {{ titleList }}\n </h3>\n\n <ClassicSearch\n v-if=\"!loading && notEmptyPlaylist\"\n v-model:text-init=\"searchPattern\"\n class=\"align-self-baseline mb-2\"\n id-search=\"podcast-list-search\"\n :label=\"t('Search')\"\n />\n\n <ListPaginate\n id=\"podcastPlaylistListPaginate\"\n v-model:first=\"dfirst\"\n v-model:rows-per-page=\"dsize\"\n v-model:is-mobile=\"isMobile\"\n :text-count=\"\n podcasts.length > 1\n ? `${t('Number podcasts', { nb: podcasts.length })}`\n : undefined\n \"\n :total-count=\"podcasts.length\"\n :loading=\"loading\"\n :loading-text=\"loading ? t('Loading podcasts ...') : undefined\"\n :error-text=\"\n !loading && !podcasts.length && notEmptyPlaylist\n ? t(`No podcast match your query`)\n : undefined\n \"\n :player-responsive=\"true\"\n :force-update-parameters=\"true\"\n >\n <template #list>\n <div class=\"octopus-element-list\">\n <ClassicLazy\n v-for=\"p in podcastsDisplay\"\n :key=\"p.podcastId\"\n :min-height=\"410\"\n >\n <PodcastItem\n v-if=\"0 !== p.podcastId\"\n :podcast=\"p\"\n />\n\n <template #preview>\n <router-link\n :to=\"{\n name: 'podcast',\n params: { podcastId: p.podcastId },\n }\"\n :title=\"t('Episode name page', { name: p.title })\"\n >\n {{ p.title }}\n </router-link>\n </template>\n </ClassicLazy>\n </div>\n </template>\n </ListPaginate>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ListPaginate from \"../list/ListPaginate.vue\";\nimport {useErrorHandler} from \"../../composable/useErrorHandler\";\nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport classicApi from \"../../../api/classicApi\";\nimport PodcastItem from \"../podcasts/PodcastItem.vue\";\nimport ClassicSearch from \"../../form/ClassicSearch.vue\";\nimport ClassicLazy from \"../../misc/ClassicLazy.vue\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { Playlist } from \"@/stores/class/general/playlist\";\nimport { computed, onBeforeMount, Ref, ref, watch } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useI18n } from \"vue-i18n\";\nimport { playlistApi } from \"../../../api/playlistApi\";\n\n//Props \nconst props = defineProps({\n playlist: { default: () => ({}), type: Object as () => Playlist },\n first: { default: 0, type: Number },\n size: { default: 30, type: Number },\n query: { default: undefined, type: String },\n})\n\n//Emits\nconst emit = defineEmits([\"update:query\"]);\n\n//Data \nconst loading = ref(true);\nconst podcasts: Ref<Array<Podcast>> = ref([]);\nconst podcastsQuery: Ref<Array<Podcast>> = ref([]);\nconst dfirst = ref(props.first);\nconst dsize = ref(props.size);\nconst searchPattern = ref(\"\");\nconst isMobile = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst {handle403} = useErrorHandler();\nconst { isEditRights } = useOrgaComputed();\n\n//Computed\nconst titleList = computed(() => notEmptyPlaylist.value? t(\"Podcasts in the playlist\"): t(\"No podcasts in the playlist\"));\nconst notEmptyPlaylist = computed(() => 0 !== Object.keys(props.playlist.samplingViews ?? []).length);\nconst podcastsDisplay = computed(() => {\n if (isMobile.value) {\n return podcastsQuery.value.slice(\n 0,\n Math.min(dfirst.value + dsize.value, podcasts.value.length),\n );\n }\n return podcastsQuery.value.slice(\n dfirst.value,\n Math.min(dfirst.value + dsize.value, podcasts.value.length),\n );\n});\nconst editRight = computed(() =>isEditRights(props.playlist.organisation?.id));\n\n//Watch\nwatch(searchPattern,() => {\n emit('update:query', searchPattern.value);\n if (\"\" !== searchPattern.value) {\n podcastsQuery.value = podcasts.value.filter((el: Podcast) => {\n return el.title\n .toLowerCase()\n .includes(searchPattern.value.toLowerCase());\n });\n } else {\n podcastsQuery.value = podcasts.value;\n }\n});\n\nonBeforeMount(fetchContent);\n\n\n//Methods\nasync function fetchContent(): Promise<void> {\n if (notEmptyPlaylist.value) {\n podcasts.value.length = 0;\n loading.value = true;\n try {\n podcasts.value = await playlistApi.getContentFull(props.playlist.playlistId);\n if (!editRight.value) {\n podcasts.value = podcasts.value.filter((p: Podcast | null) => {\n return (\n null !== p &&\n (!p.availability || true === p.availability.visibility)\n );\n });\n }\n podcastsQuery.value = podcasts.value;\n searchPattern.value = props.query ?? \"\";\n } catch (error) {\n handle403(error as AxiosError);\n }\n }\n loading.value = false;\n}\n</script>\n\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PodcastList-B60tYB2G.mjs","names":[],"sources":["../src/components/display/podcasts/PodcastList.vue","../src/components/display/podcasts/PodcastList.vue"],"sourcesContent":["<!--\n Component displaying a list of podcast\n DO NOT confuse this with PodcastList from playlist\n-->\n<template>\n <ListPaginate\n id=\"podcastListPaginate\"\n v-model:first=\"dfirst\"\n v-model:rows-per-page=\"dsize\"\n v-model:is-mobile=\"isMobile\"\n :text-count=\"\n showCount && podcasts.length > 1\n ? t('Number podcasts', { nb: totalCount }) + sortText\n : undefined\n \"\n :total-count=\"totalCount\"\n :loading=\"loading\"\n :loading-text=\"loading ? t('Loading podcasts ...') : undefined\"\n :error-text=\"\n !loading && !podcasts.length\n ? t(`No podcast match your query`)\n : undefined\n \"\n :just-size-chosen=\"justSizeChosen\"\n :player-responsive=\"true\"\n :force-update-parameters=\"forceUpdateParameters\"\n >\n <template #list>\n <div class=\"octopus-element-list\">\n <ClassicLazy\n v-for=\"p in displayArray\"\n :key=\"p.podcastId\"\n :min-height=\"410\"\n >\n <PodcastItem\n v-if=\"0 !== p.podcastId\"\n :podcast=\"p\"\n />\n <template #preview>\n <router-link\n :to=\"{\n name: 'podcast',\n params: { podcastId: p.podcastId },\n }\"\n :title=\"t('Episode name page', { name: p.title })\"\n >\n {{ p.title }}\n </router-link>\n </template>\n </ClassicLazy>\n </div>\n </template>\n </ListPaginate>\n</template>\n\n<script setup lang=\"ts\">\nimport ListPaginate from \"../list/ListPaginate.vue\";\nimport {useErrorHandler} from \"../../composable/useErrorHandler\";\nimport PodcastItem from \"./PodcastItem.vue\";\nimport ClassicLazy from \"../../misc/ClassicLazy.vue\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { Podcast, PodcastProcessingStatus, emptyPodcastData } from \"../../../stores/class/general/podcast\";\nimport { computed, onBeforeMount, Ref, ref, watch } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useI18n } from \"vue-i18n\";\nimport { podcastApi, PodcastMonetisation, PodcastSearchOptions, PodcastSort } from \"../../../api/podcastApi\";\nimport { EmissionGroup } from \"@/api/groupsApi\";\n\n//Props \nconst props = withDefaults(defineProps<{\n first?: number;\n size?: number;\n organisationId?: Array<string>;\n emissionId?: number;\n iabId?: number;\n participantId?: number;\n query?: string;\n monetisable?: PodcastMonetisation;\n popularSort?: boolean;\n reload?: boolean;\n before?: string;\n after?: string;\n includeHidden?: boolean;\n /** Enable the display of number of items in ListPaginate */\n showCount?: boolean;\n displaySortText?: boolean;\n /** Criteria to sort on */\n sortCriteria?: PodcastSort;\n validity?: 'true'|'false'|''|boolean; // TODO improve this\n rubriqueId?: Array<number>;\n rubriquageId?: Array<number>;\n noRubriquageId?: Array<number>;\n justSizeChosen?: boolean;\n withVideo?: boolean;\n includeTag?: Array<string>;\n forceUpdateParameters?: boolean;\n /** The beneficiaries to filter on */\n beneficiaries?: Array<string>;\n /** The emission groups to filter on */\n emissionGroups?: Array<EmissionGroup>;\n /** The seasons to filter on */\n seasons?: Array<number>;\n}>(), {\n first: 0,\n size: 30,\n popularSort: false,\n reload: false,\n includeHidden: false,\n showCount: false,\n displaySortText: true,\n validity: '',\n justSizeChosen: false,\n withVideo: undefined,\n forceUpdateParameters: false\n});\n\n//Emits\nconst emit = defineEmits([\"fetch\", \"emptyList\"]);\n\n//Data \nconst loading = ref(true);\nconst dfirst = ref(props.first);\nconst dsize = ref(props.size);\nconst totalCount = ref(0);\nconst isMobile = ref(false);\nconst podcasts: Ref<Array<Podcast>> = ref([]);\n\n//Composables\nconst { t } = useI18n();\nconst {handle403} = useErrorHandler();\nconst filterStore = useFilterStore();\n\n//Computed\nconst displayArray = computed(() => {\n if (isMobile.value || props.justSizeChosen) {\n return podcasts.value;\n }\n return podcasts.value.slice(\n dfirst.value,\n Math.min(dfirst.value + dsize.value, totalCount.value),\n );\n});\nconst changePaginate = computed(() => `${props.first}|${props.size}`);\nconst changed = computed(() => {\n return `${organisation.value}|${props.emissionId}|${props.sortCriteria}|${sort.value}\n ${props.iabId}|${props.participantId}|${props.query}|${props.monetisable}|${props.popularSort}|\n ${props.rubriqueId}|${props.rubriquageId}|${props.before}|${props.after}|${props.includeHidden}|${props.noRubriquageId}|${props.validity}|\n ${props.withVideo}|${props.includeTag}|${props.beneficiaries}|${props.emissionGroups}`;\n});\nconst organisation = computed(() => {\n if (props.organisationId) {\n return props.organisationId;\n }\n return filterStore.filterOrgaId ? [filterStore.filterOrgaId] : [];\n});\nconst sort = computed(() => props.popularSort ? PodcastSort.POPULARITY : (props.sortCriteria ?? PodcastSort.DATE));\nconst sortText = computed(() => {\n if (!props.displaySortText) {\n return \"\";\n }\n switch (props.sortCriteria) {\n case \"SCORE\":\n return \" \" + t(\"sort by score\");\n case \"DATE\":\n return \" \" + t(\"sort by date\");\n case \"NAME\":\n return \" \" + t(\"sort by alphabetical\");\n default:\n return \" \" + t(\"sort by date\");\n }\n});\n\n//Watch\nwatch(changePaginate, () => {\n dfirst.value = props.first;\n dsize.value = props.size;\n});\nwatch(changed, () => fetchContent(true));\nwatch(()=>props.reload, () => fetchContent(true));\nwatch(dsize, () => fetchContent(true));\nwatch(dfirst, () => {\n if (\n !podcasts.value[dfirst.value] ||\n 0 === podcasts.value[dfirst.value].podcastId\n ) {\n fetchContent(false);\n }\n});\n\nonBeforeMount(()=>fetchContent(false))\n\n//Methods\nasync function fetchContent(reset: boolean): Promise<void> {\n loading.value = true;\n\n // Sadly we kinda have no idea what will be passed as 'validity', we need to\n // handle multiple cases.\n let validity: undefined|boolean = undefined;\n if (props.validity !== undefined && props.validity !== '') {\n validity = props.validity === 'true' || props.validity === true;\n }\n \n const param: PodcastSearchOptions = {\n first: reset ? 0 : dfirst.value,\n size: dsize.value,\n organisationId: organisation.value,\n emissionId: props.emissionId,\n groupId: props.emissionGroups?.map(g => g.groupId),\n iabId: props.iabId,\n participantId: props.participantId,\n query: props.query,\n monetisable: props.monetisable,\n sort: sort.value,\n pubDateBefore: props.before,\n pubDateAfter: props.after,\n noRubriquageId: props.noRubriquageId?.length\n ? props.noRubriquageId\n : undefined,\n rubriqueId: props.rubriqueId?.length ? props.rubriqueId : undefined,\n rubriquageId: props.rubriquageId?.length ? props.rubriquageId : undefined,\n includeHidden: props.includeHidden,\n validity,\n /* publisherId:\n !this.onlyValid && !authStore.isRoleProduction\n ? authStore.authProfile?.userId\n : undefined, */\n processingStatus: [PodcastProcessingStatus.Ready, PodcastProcessingStatus.Processing],\n withVideo: props.withVideo,\n tags: props.includeTag?.length ? props.includeTag : undefined,\n beneficiaries: props.beneficiaries ?? undefined,\n season: props.seasons\n };\n\n try {\n const data = await podcastApi.searchFull(param, true);\n afterFetching(reset, data);\n } catch (error) {\n if (error instanceof AxiosError) {\n handle403(error as AxiosError);\n } else {\n console.error('error', error);\n }\n }\n}\nfunction afterFetching(\n reset: boolean,\n data: { count: number; result: Array<Podcast>; sort: string },\n): void {\n if (reset) {\n dfirst.value = 0;\n podcasts.value.length = 0;\n }\n if (dfirst.value > podcasts.value.length) {\n for (\n let i = podcasts.value.length - 1, len = dfirst.value + dsize.value;\n i < len;\n i++\n ) {\n podcasts.value.push(emptyPodcastData());\n }\n }\n const responsePodcasts = data.result.filter((p: Podcast | null) => {\n return null !== p;\n });\n podcasts.value = podcasts.value\n .slice(0, dfirst.value)\n .concat(responsePodcasts)\n .concat(\n podcasts.value.slice(dfirst.value + dsize.value, podcasts.value.length),\n );\n emit(\"fetch\", podcasts.value);\n totalCount.value = props.justSizeChosen ? props.size : data.count;\n if (0 === podcasts.value.length) {\n emit(\"emptyList\");\n }\n loading.value = false;\n}\n</script>\n","<!--\n Component displaying a list of podcast\n DO NOT confuse this with PodcastList from playlist\n-->\n<template>\n <ListPaginate\n id=\"podcastListPaginate\"\n v-model:first=\"dfirst\"\n v-model:rows-per-page=\"dsize\"\n v-model:is-mobile=\"isMobile\"\n :text-count=\"\n showCount && podcasts.length > 1\n ? t('Number podcasts', { nb: totalCount }) + sortText\n : undefined\n \"\n :total-count=\"totalCount\"\n :loading=\"loading\"\n :loading-text=\"loading ? t('Loading podcasts ...') : undefined\"\n :error-text=\"\n !loading && !podcasts.length\n ? t(`No podcast match your query`)\n : undefined\n \"\n :just-size-chosen=\"justSizeChosen\"\n :player-responsive=\"true\"\n :force-update-parameters=\"forceUpdateParameters\"\n >\n <template #list>\n <div class=\"octopus-element-list\">\n <ClassicLazy\n v-for=\"p in displayArray\"\n :key=\"p.podcastId\"\n :min-height=\"410\"\n >\n <PodcastItem\n v-if=\"0 !== p.podcastId\"\n :podcast=\"p\"\n />\n <template #preview>\n <router-link\n :to=\"{\n name: 'podcast',\n params: { podcastId: p.podcastId },\n }\"\n :title=\"t('Episode name page', { name: p.title })\"\n >\n {{ p.title }}\n </router-link>\n </template>\n </ClassicLazy>\n </div>\n </template>\n </ListPaginate>\n</template>\n\n<script setup lang=\"ts\">\nimport ListPaginate from \"../list/ListPaginate.vue\";\nimport {useErrorHandler} from \"../../composable/useErrorHandler\";\nimport PodcastItem from \"./PodcastItem.vue\";\nimport ClassicLazy from \"../../misc/ClassicLazy.vue\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { Podcast, PodcastProcessingStatus, emptyPodcastData } from \"../../../stores/class/general/podcast\";\nimport { computed, onBeforeMount, Ref, ref, watch } from \"vue\";\nimport { AxiosError } from \"axios\";\nimport { useI18n } from \"vue-i18n\";\nimport { podcastApi, PodcastMonetisation, PodcastSearchOptions, PodcastSort } from \"../../../api/podcastApi\";\nimport { EmissionGroup } from \"@/api/groupsApi\";\n\n//Props \nconst props = withDefaults(defineProps<{\n first?: number;\n size?: number;\n organisationId?: Array<string>;\n emissionId?: number;\n iabId?: number;\n participantId?: number;\n query?: string;\n monetisable?: PodcastMonetisation;\n popularSort?: boolean;\n reload?: boolean;\n before?: string;\n after?: string;\n includeHidden?: boolean;\n /** Enable the display of number of items in ListPaginate */\n showCount?: boolean;\n displaySortText?: boolean;\n /** Criteria to sort on */\n sortCriteria?: PodcastSort;\n validity?: 'true'|'false'|''|boolean; // TODO improve this\n rubriqueId?: Array<number>;\n rubriquageId?: Array<number>;\n noRubriquageId?: Array<number>;\n justSizeChosen?: boolean;\n withVideo?: boolean;\n includeTag?: Array<string>;\n forceUpdateParameters?: boolean;\n /** The beneficiaries to filter on */\n beneficiaries?: Array<string>;\n /** The emission groups to filter on */\n emissionGroups?: Array<EmissionGroup>;\n /** The seasons to filter on */\n seasons?: Array<number>;\n}>(), {\n first: 0,\n size: 30,\n popularSort: false,\n reload: false,\n includeHidden: false,\n showCount: false,\n displaySortText: true,\n validity: '',\n justSizeChosen: false,\n withVideo: undefined,\n forceUpdateParameters: false\n});\n\n//Emits\nconst emit = defineEmits([\"fetch\", \"emptyList\"]);\n\n//Data \nconst loading = ref(true);\nconst dfirst = ref(props.first);\nconst dsize = ref(props.size);\nconst totalCount = ref(0);\nconst isMobile = ref(false);\nconst podcasts: Ref<Array<Podcast>> = ref([]);\n\n//Composables\nconst { t } = useI18n();\nconst {handle403} = useErrorHandler();\nconst filterStore = useFilterStore();\n\n//Computed\nconst displayArray = computed(() => {\n if (isMobile.value || props.justSizeChosen) {\n return podcasts.value;\n }\n return podcasts.value.slice(\n dfirst.value,\n Math.min(dfirst.value + dsize.value, totalCount.value),\n );\n});\nconst changePaginate = computed(() => `${props.first}|${props.size}`);\nconst changed = computed(() => {\n return `${organisation.value}|${props.emissionId}|${props.sortCriteria}|${sort.value}\n ${props.iabId}|${props.participantId}|${props.query}|${props.monetisable}|${props.popularSort}|\n ${props.rubriqueId}|${props.rubriquageId}|${props.before}|${props.after}|${props.includeHidden}|${props.noRubriquageId}|${props.validity}|\n ${props.withVideo}|${props.includeTag}|${props.beneficiaries}|${props.emissionGroups}`;\n});\nconst organisation = computed(() => {\n if (props.organisationId) {\n return props.organisationId;\n }\n return filterStore.filterOrgaId ? [filterStore.filterOrgaId] : [];\n});\nconst sort = computed(() => props.popularSort ? PodcastSort.POPULARITY : (props.sortCriteria ?? PodcastSort.DATE));\nconst sortText = computed(() => {\n if (!props.displaySortText) {\n return \"\";\n }\n switch (props.sortCriteria) {\n case \"SCORE\":\n return \" \" + t(\"sort by score\");\n case \"DATE\":\n return \" \" + t(\"sort by date\");\n case \"NAME\":\n return \" \" + t(\"sort by alphabetical\");\n default:\n return \" \" + t(\"sort by date\");\n }\n});\n\n//Watch\nwatch(changePaginate, () => {\n dfirst.value = props.first;\n dsize.value = props.size;\n});\nwatch(changed, () => fetchContent(true));\nwatch(()=>props.reload, () => fetchContent(true));\nwatch(dsize, () => fetchContent(true));\nwatch(dfirst, () => {\n if (\n !podcasts.value[dfirst.value] ||\n 0 === podcasts.value[dfirst.value].podcastId\n ) {\n fetchContent(false);\n }\n});\n\nonBeforeMount(()=>fetchContent(false))\n\n//Methods\nasync function fetchContent(reset: boolean): Promise<void> {\n loading.value = true;\n\n // Sadly we kinda have no idea what will be passed as 'validity', we need to\n // handle multiple cases.\n let validity: undefined|boolean = undefined;\n if (props.validity !== undefined && props.validity !== '') {\n validity = props.validity === 'true' || props.validity === true;\n }\n \n const param: PodcastSearchOptions = {\n first: reset ? 0 : dfirst.value,\n size: dsize.value,\n organisationId: organisation.value,\n emissionId: props.emissionId,\n groupId: props.emissionGroups?.map(g => g.groupId),\n iabId: props.iabId,\n participantId: props.participantId,\n query: props.query,\n monetisable: props.monetisable,\n sort: sort.value,\n pubDateBefore: props.before,\n pubDateAfter: props.after,\n noRubriquageId: props.noRubriquageId?.length\n ? props.noRubriquageId\n : undefined,\n rubriqueId: props.rubriqueId?.length ? props.rubriqueId : undefined,\n rubriquageId: props.rubriquageId?.length ? props.rubriquageId : undefined,\n includeHidden: props.includeHidden,\n validity,\n /* publisherId:\n !this.onlyValid && !authStore.isRoleProduction\n ? authStore.authProfile?.userId\n : undefined, */\n processingStatus: [PodcastProcessingStatus.Ready, PodcastProcessingStatus.Processing],\n withVideo: props.withVideo,\n tags: props.includeTag?.length ? props.includeTag : undefined,\n beneficiaries: props.beneficiaries ?? undefined,\n season: props.seasons\n };\n\n try {\n const data = await podcastApi.searchFull(param, true);\n afterFetching(reset, data);\n } catch (error) {\n if (error instanceof AxiosError) {\n handle403(error as AxiosError);\n } else {\n console.error('error', error);\n }\n }\n}\nfunction afterFetching(\n reset: boolean,\n data: { count: number; result: Array<Podcast>; sort: string },\n): void {\n if (reset) {\n dfirst.value = 0;\n podcasts.value.length = 0;\n }\n if (dfirst.value > podcasts.value.length) {\n for (\n let i = podcasts.value.length - 1, len = dfirst.value + dsize.value;\n i < len;\n i++\n ) {\n podcasts.value.push(emptyPodcastData());\n }\n }\n const responsePodcasts = data.result.filter((p: Podcast | null) => {\n return null !== p;\n });\n podcasts.value = podcasts.value\n .slice(0, dfirst.value)\n .concat(responsePodcasts)\n .concat(\n podcasts.value.slice(dfirst.value + dsize.value, podcasts.value.length),\n );\n emit(\"fetch\", podcasts.value);\n totalCount.value = props.justSizeChosen ? props.size : data.count;\n if (0 === podcasts.value.length) {\n emit(\"emptyList\");\n }\n loading.value = false;\n}\n</script>\n"],"mappings":"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"}