@saooti/octopus-sdk 42.2.1 → 42.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (569) hide show
  1. package/dist/{AdvancedSearch-fO5eaqLJ.mjs → AdvancedSearch-C4segSRv.mjs} +6 -6
  2. package/dist/AdvancedSearch-C4segSRv.mjs.map +1 -0
  3. package/dist/AdvancedSearch-DD9tnLCw.mjs.map +1 -0
  4. package/dist/{CategoryFilter-Cu2a0YE9.mjs → CategoryFilter-CpplEC8n.mjs} +5 -5
  5. package/dist/CategoryFilter-CpplEC8n.mjs.map +1 -0
  6. package/dist/CategoryFilter-cbQR_ySd.mjs.map +1 -0
  7. package/dist/{CategoryList-DkxZDrO5.mjs → CategoryList-BTabY3vQ.mjs} +2 -2
  8. package/dist/CategoryList-BTabY3vQ.mjs.map +1 -0
  9. package/dist/CategoryList-DHEJoaez.mjs.map +1 -0
  10. package/dist/CategoryPage-BbsCC3Wr.mjs.map +1 -0
  11. package/dist/CategoryPage-BxvUmThb.mjs.map +1 -0
  12. package/dist/{CategoryPage-3HFz1i7_.mjs → CategoryPage-D755GvQZ.mjs} +3 -3
  13. package/dist/CategoryPage-D755GvQZ.mjs.map +1 -0
  14. package/dist/CategoryPage-DDBJ2krs.mjs.map +1 -0
  15. package/dist/CategoryPage-DRCYjOqG.mjs.map +1 -0
  16. package/dist/ChapteringModal-CSQqCWIk.mjs.map +1 -0
  17. package/dist/ChapteringModal-Dt8Rsauh.mjs.map +1 -0
  18. package/dist/{ChapteringModal-C-rdkbSz.mjs → ChapteringModal-ei6ZqVJU.mjs} +2 -2
  19. package/dist/ChapteringModal-ei6ZqVJU.mjs.map +1 -0
  20. package/dist/CheckIdentityModal-CNFVJVB_.mjs.map +1 -0
  21. package/dist/{CheckIdentityModal-N9h8yvhC.mjs → CheckIdentityModal-cpMOuJGv.mjs} +3 -3
  22. package/dist/CheckIdentityModal-cpMOuJGv.mjs.map +1 -0
  23. package/dist/ClipboardModal-2ZGF38VB.mjs.map +1 -0
  24. package/dist/{ClipboardModal-CnieIOJr.mjs → ClipboardModal-DzCUqSph.mjs} +2 -2
  25. package/dist/ClipboardModal-DzCUqSph.mjs.map +1 -0
  26. package/dist/CommentInput-CV46HJN8.mjs.map +1 -0
  27. package/dist/{CommentInput-CEioyN7X.mjs → CommentInput-D_p03L68.mjs} +6 -6
  28. package/dist/CommentInput-D_p03L68.mjs.map +1 -0
  29. package/dist/CommentInput-DwRbD74k.mjs.map +1 -0
  30. package/dist/CommentItem-B6_XUaFR.mjs.map +1 -0
  31. package/dist/CommentItem-CbbmwVXB.mjs.map +1 -0
  32. package/dist/CommentItem-DfKKazY0.mjs.map +1 -0
  33. package/dist/CommentItem-JRjSLmui.mjs.map +1 -0
  34. package/dist/{CommentItem-BefuRoxQ.mjs → CommentItem-MFN0JNW1.mjs} +8 -8
  35. package/dist/CommentItem-MFN0JNW1.mjs.map +1 -0
  36. package/dist/{CommentList-BsPwzqkf.mjs → CommentList-BkKy5ftL.mjs} +3 -3
  37. package/dist/CommentList-BkKy5ftL.mjs.map +1 -0
  38. package/dist/CommentList-BrP71Ug4.mjs.map +1 -0
  39. package/dist/CommentList-Ng_YXr74.mjs.map +1 -0
  40. package/dist/CommentList-tKA7NFHM.mjs.map +1 -0
  41. package/dist/CommentList-yarlxaXg.mjs.map +1 -0
  42. package/dist/{CommentMoreActions-C86aqy8M.mjs → CommentMoreActions-CBSvuOGJ.mjs} +5 -5
  43. package/dist/CommentMoreActions-CBSvuOGJ.mjs.map +1 -0
  44. package/dist/CommentMoreActions-D7guBdA7.mjs.map +1 -0
  45. package/dist/CommentName-frCHmngc.mjs.map +1 -0
  46. package/dist/{CommentName-DT1QyPi3.mjs → CommentName-zTMSdG4d.mjs} +3 -3
  47. package/dist/CommentName-zTMSdG4d.mjs.map +1 -0
  48. package/dist/{CommentParentInfo-9Fe-3e6c.mjs → CommentParentInfo-CRTYPb8P.mjs} +2 -2
  49. package/dist/CommentParentInfo-CRTYPb8P.mjs.map +1 -0
  50. package/dist/CommentParentInfo-D8qquB6k.mjs.map +1 -0
  51. package/dist/CommentParentInfo-DC4Q6wNO.mjs.map +1 -0
  52. package/dist/CommentParentInfo-temUvqNv.mjs.map +1 -0
  53. package/dist/{CommentPlayer-CiWQM64Y.mjs → CommentPlayer-BMuLmZdI.mjs} +3 -3
  54. package/dist/CommentPlayer-BMuLmZdI.mjs.map +1 -0
  55. package/dist/CommentPlayer-BPA_lEoE.mjs.map +1 -0
  56. package/dist/CommentPlayer-CUNi1Lxv.mjs.map +1 -0
  57. package/dist/{CommentSection-Be38YIkC.mjs → CommentSection-B91sHMDT.mjs} +5 -5
  58. package/dist/CommentSection-B91sHMDT.mjs.map +1 -0
  59. package/dist/CommentSection-CpYd7i8U.mjs.map +1 -0
  60. package/dist/CommentSection-CrqweNX4.mjs.map +1 -0
  61. package/dist/CommentSection-G8rMWPrM.mjs.map +1 -0
  62. package/dist/CommentSection-xjY6h7nn.mjs.map +1 -0
  63. package/dist/CommentStore-9WWuGwIj.mjs.map +1 -0
  64. package/dist/{CommentStore-Dv7j94Uo.mjs → CommentStore-ClU882RI.mjs} +2 -2
  65. package/dist/CommentStore-ClU882RI.mjs.map +1 -0
  66. package/dist/ContractPreviewModal-C4_20E99.mjs.map +1 -0
  67. package/dist/{ContractPreviewModal-CPT6bDpJ.mjs → ContractPreviewModal-Dn5MeLFo.mjs} +2 -2
  68. package/dist/ContractPreviewModal-Dn5MeLFo.mjs.map +1 -0
  69. package/dist/{DownloadPodcastButton-6D8qNAkT.mjs → DownloadPodcastButton-BI_sZWcJ.mjs} +3 -3
  70. package/dist/DownloadPodcastButton-BI_sZWcJ.mjs.map +1 -0
  71. package/dist/DownloadPodcastButton-CSRcg8Nl.mjs.map +1 -0
  72. package/dist/EditCommentModal-KAP1l9RK.mjs.map +1 -0
  73. package/dist/{EditCommentModal-aAcjhc0v.mjs → EditCommentModal-RbVMVDOp.mjs} +2 -2
  74. package/dist/EditCommentModal-RbVMVDOp.mjs.map +1 -0
  75. package/dist/{EmissionGroupChooser-Djt1IZg7.mjs → EmissionGroupChooser-BXqM4iXP.mjs} +2 -2
  76. package/dist/EmissionGroupChooser-BXqM4iXP.mjs.map +1 -0
  77. package/dist/EmissionGroupChooser-CO1WBOUi.mjs.map +1 -0
  78. package/dist/EmissionInlineList-B-r4eI3D.mjs.map +1 -0
  79. package/dist/{EmissionInlineList-BcrKpW8S.mjs → EmissionInlineList-Cy1lbYKY.mjs} +6 -6
  80. package/dist/EmissionInlineList-Cy1lbYKY.mjs.map +1 -0
  81. package/dist/EmissionInlineList-IKPyjBTQ.mjs.map +1 -0
  82. package/dist/EmissionItem-982WkWkg.mjs.map +1 -0
  83. package/dist/EmissionItem-B8q9hnN5.mjs.map +1 -0
  84. package/dist/{EmissionItem-DfkPRcPz.mjs → EmissionItem-BwXm3nNx.mjs} +5 -5
  85. package/dist/EmissionItem-BwXm3nNx.mjs.map +1 -0
  86. package/dist/EmissionItem-ZDlQ7B9S.mjs.map +1 -0
  87. package/dist/{EmissionList-DSuGp0JO.mjs → EmissionList-C8OxrndH.mjs} +6 -6
  88. package/dist/EmissionList-C8OxrndH.mjs.map +1 -0
  89. package/dist/EmissionList-C9-UUWMV.mjs.map +1 -0
  90. package/dist/EmissionList-Dk9xS4s_.mjs.map +1 -0
  91. package/dist/EmissionList-nrY7ASws.mjs.map +1 -0
  92. package/dist/EmissionList-vH4NX1NW.mjs.map +1 -0
  93. package/dist/EmissionPage-BHAPlZw-.mjs.map +1 -0
  94. package/dist/EmissionPage-B_2JalGG.mjs.map +1 -0
  95. package/dist/EmissionPage-D4PjyZzN.mjs.map +1 -0
  96. package/dist/EmissionPage-HGPCRuZD.mjs.map +1 -0
  97. package/dist/{EmissionPage-Bo9fK8HE.mjs → EmissionPage-nCNIiWCo.mjs} +25 -18
  98. package/dist/EmissionPage-nCNIiWCo.mjs.map +1 -0
  99. package/dist/EmissionPlayerItem-B_wRzikv.mjs.map +1 -0
  100. package/dist/{EmissionPlayerItem-D21OrPmm.mjs → EmissionPlayerItem-Degbnz9F.mjs} +5 -5
  101. package/dist/EmissionPlayerItem-Degbnz9F.mjs.map +1 -0
  102. package/dist/EmissionPlayerItem-Dkd0o1ee.mjs.map +1 -0
  103. package/dist/EmissionPresentationItem-BQ7HhOlC.mjs.map +1 -0
  104. package/dist/{EmissionPresentationItem-CwDIBurH.mjs → EmissionPresentationItem-CwBGPIgz.mjs} +2 -2
  105. package/dist/EmissionPresentationItem-CwBGPIgz.mjs.map +1 -0
  106. package/dist/{EmissionPresentationList-CASI5laP.mjs → EmissionPresentationList-BKI5mQdw.mjs} +4 -4
  107. package/dist/EmissionPresentationList-BKI5mQdw.mjs.map +1 -0
  108. package/dist/EmissionPresentationList-CLli23rs.mjs.map +1 -0
  109. package/dist/EmissionsPage-CO2xgVOR.mjs.map +1 -0
  110. package/dist/{EmissionsPage-Bw8Qtzlk.mjs → EmissionsPage-Cj7su56Z.mjs} +5 -5
  111. package/dist/EmissionsPage-Cj7su56Z.mjs.map +1 -0
  112. package/dist/EmissionsPage-DJdy0re_.mjs.map +1 -0
  113. package/dist/EmissionsPage-DR9r7_gH.mjs.map +1 -0
  114. package/dist/EmissionsPage-OVNfLKFu.mjs.map +1 -0
  115. package/dist/Error403Page-Ch535DfU.mjs.map +1 -0
  116. package/dist/{Error403Page-nTYCHwTi.mjs → Error403Page-DW2kK8ZZ.mjs} +2 -2
  117. package/dist/Error403Page-DW2kK8ZZ.mjs.map +1 -0
  118. package/dist/FooterGarSection-B76j-WZS.mjs.map +1 -0
  119. package/dist/{FooterGarSection-Cod8Key5.mjs → FooterGarSection-DVdF5RFq.mjs} +4 -4
  120. package/dist/FooterGarSection-DVdF5RFq.mjs.map +1 -0
  121. package/dist/FooterSection-BQiO-D1p.mjs.map +1 -0
  122. package/dist/{FooterSection-4WXBZj7c.mjs → FooterSection-CpYI9OGH.mjs} +5 -5
  123. package/dist/FooterSection-CpYI9OGH.mjs.map +1 -0
  124. package/dist/{HomeDropdown-CVe7yF6Y.mjs → HomeDropdown-D7FezAO8.mjs} +3 -3
  125. package/dist/HomeDropdown-D7FezAO8.mjs.map +1 -0
  126. package/dist/HomeDropdown-DQoMvBgU.mjs.map +1 -0
  127. package/dist/HomePage-BWs_az04.mjs.map +1 -0
  128. package/dist/HomePage-CMPKjRFA.mjs.map +1 -0
  129. package/dist/HomePage-CsXaeTCW.mjs.map +1 -0
  130. package/dist/HomePage-NH7OxpA_.mjs.map +1 -0
  131. package/dist/{HomePage-DupmOw6F.mjs → HomePage-vo6At2bL.mjs} +4 -4
  132. package/dist/HomePage-vo6At2bL.mjs.map +1 -0
  133. package/dist/{PodcastRubriqueList-BeTq7IRu.mjs → InlineRubriqueList-3ZVN9GJk.mjs} +14 -12
  134. package/dist/InlineRubriqueList-3ZVN9GJk.mjs.map +1 -0
  135. package/dist/InlineRubriqueList-D03VCzg8.mjs.map +1 -0
  136. package/dist/LikeSection-DtthHZj6.mjs.map +1 -0
  137. package/dist/{LikeSection-DAid96g9.mjs → LikeSection-jKjhnj88.mjs} +4 -4
  138. package/dist/LikeSection-jKjhnj88.mjs.map +1 -0
  139. package/dist/{ListPaginate-C9saxru9.mjs → ListPaginate-BXNnw_I8.mjs} +3 -3
  140. package/dist/ListPaginate-BXNnw_I8.mjs.map +1 -0
  141. package/dist/ListPaginate-COsL4t78.mjs.map +1 -0
  142. package/dist/ListPaginate-JuC0L113.mjs.map +1 -0
  143. package/dist/LiveHorizontalList-CFs9mGYs.mjs.map +1 -0
  144. package/dist/LiveHorizontalList-CWBQkS78.mjs.map +1 -0
  145. package/dist/LiveHorizontalList-DwPVmnvH.mjs.map +1 -0
  146. package/dist/LiveHorizontalList-jducN58c.mjs.map +1 -0
  147. package/dist/{LiveHorizontalList-OArlzudf.mjs → LiveHorizontalList-wgXkgFLv.mjs} +4 -4
  148. package/dist/LiveHorizontalList-wgXkgFLv.mjs.map +1 -0
  149. package/dist/LiveList-Bp-feBp9.mjs.map +1 -0
  150. package/dist/LiveList-ByyCyWUl.mjs.map +1 -0
  151. package/dist/{LiveList-EqIo_cye.mjs → LiveList-CA5n6VeN.mjs} +6 -6
  152. package/dist/LiveList-CA5n6VeN.mjs.map +1 -0
  153. package/dist/LiveList-Cah5VFun.mjs.map +1 -0
  154. package/dist/LiveList-DTAnN32j.mjs.map +1 -0
  155. package/dist/LivesPage-CNPMz3xS.mjs.map +1 -0
  156. package/dist/{LivesPage-BmHiBN8A.mjs → LivesPage-CTjXgU-Y.mjs} +5 -5
  157. package/dist/LivesPage-CTjXgU-Y.mjs.map +1 -0
  158. package/dist/LivesPage-CdhWyikV.mjs.map +1 -0
  159. package/dist/LivesPage-CwvFSl6G.mjs.map +1 -0
  160. package/dist/LivesPage-DyIfBEPX.mjs.map +1 -0
  161. package/dist/{MapPage-DcXKTGGh.mjs → MapPage-C_nGG0_5.mjs} +3 -3
  162. package/dist/MapPage-C_nGG0_5.mjs.map +1 -0
  163. package/dist/MapPage-DXV40zWN.mjs.map +1 -0
  164. package/dist/{MobileMenu-C0IYBWwF.mjs → MobileMenu-C95GAIm0.mjs} +4 -4
  165. package/dist/MobileMenu-C95GAIm0.mjs.map +1 -0
  166. package/dist/MobileMenu-CfHqWqsL.mjs.map +1 -0
  167. package/dist/NewsletterModal-4Lei4Y59.mjs.map +1 -0
  168. package/dist/{NewsletterModal-BzlUlz3P.mjs → NewsletterModal-B6ky7DBC.mjs} +2 -2
  169. package/dist/NewsletterModal-B6ky7DBC.mjs.map +1 -0
  170. package/dist/OrganisationChooser-BufDZsSd.mjs.map +1 -0
  171. package/dist/{OrganisationChooser-Bm4zqqCH.mjs → OrganisationChooser-CA0_LiTH.mjs} +3 -3
  172. package/dist/OrganisationChooser-CA0_LiTH.mjs.map +1 -0
  173. package/dist/{OrganisationChooserLight-BQ9B91mO.mjs → OrganisationChooserLight-BwG5mNdW.mjs} +2 -2
  174. package/dist/OrganisationChooserLight-BwG5mNdW.mjs.map +1 -0
  175. package/dist/OrganisationChooserLight-C2oGlc9Z.mjs.map +1 -0
  176. package/dist/{PageNotFound-BVQ8M8sO.mjs → PageNotFound-BHpjyNDo.mjs} +3 -3
  177. package/dist/PageNotFound-BHpjyNDo.mjs.map +1 -0
  178. package/dist/PageNotFound-IMnfLZqX.mjs.map +1 -0
  179. package/dist/{ParticipantInlineList-BQtQZFW1.mjs → ParticipantInlineList-A8UwjE4m.mjs} +5 -5
  180. package/dist/ParticipantInlineList-A8UwjE4m.mjs.map +1 -0
  181. package/dist/ParticipantInlineList-BpVOpEBm.mjs.map +1 -0
  182. package/dist/ParticipantInlineList-C5jWxedt.mjs.map +1 -0
  183. package/dist/ParticipantInlineList-C78uhskc.mjs.map +1 -0
  184. package/dist/ParticipantItem--Wv16z3V.mjs.map +1 -0
  185. package/dist/ParticipantItem-B3k4mf2V.mjs.map +1 -0
  186. package/dist/ParticipantItem-DAPOMGZD.mjs.map +1 -0
  187. package/dist/{ParticipantItem-EDPkxTT-.mjs → ParticipantItem-Szz8WXI6.mjs} +4 -4
  188. package/dist/ParticipantItem-Szz8WXI6.mjs.map +1 -0
  189. package/dist/ParticipantPage-BbKUwNKL.mjs.map +1 -0
  190. package/dist/ParticipantPage-Byq-9aCQ.mjs.map +1 -0
  191. package/dist/ParticipantPage-D4RVBlE-.mjs.map +1 -0
  192. package/dist/ParticipantPage-DfLxuZf-.mjs.map +1 -0
  193. package/dist/{ParticipantPage-BF-s1oof.mjs → ParticipantPage-y3OoBod8.mjs} +9 -9
  194. package/dist/ParticipantPage-y3OoBod8.mjs.map +1 -0
  195. package/dist/{ParticipantsPage-Bzt8Hxah.mjs → ParticipantsPage--BxmzVwz.mjs} +7 -7
  196. package/dist/ParticipantsPage--BxmzVwz.mjs.map +1 -0
  197. package/dist/ParticipantsPage-BEPHaCy5.mjs.map +1 -0
  198. package/dist/ParticipantsPage-BlQavFT6.mjs.map +1 -0
  199. package/dist/ParticipantsPage-D8ja25F9.mjs.map +1 -0
  200. package/dist/ParticipantsPage-R8LVrDFY.mjs.map +1 -0
  201. package/dist/{PlayerAnonymousModal-CbrqO1hs.mjs → PlayerAnonymousModal-BGPpTBPW.mjs} +3 -3
  202. package/dist/PlayerAnonymousModal-BGPpTBPW.mjs.map +1 -0
  203. package/dist/PlayerAnonymousModal-BW239BiA.mjs.map +1 -0
  204. package/dist/PlayerCompact-BFC95d7Y.mjs.map +1 -0
  205. package/dist/PlayerCompact-C-WCTFZN.mjs.map +1 -0
  206. package/dist/{PlayerCompact-BtKfz384.mjs → PlayerCompact-DnJns8S2.mjs} +4 -4
  207. package/dist/PlayerCompact-DnJns8S2.mjs.map +1 -0
  208. package/dist/PlayerComponent-B8AGq9pg.mjs.map +1 -0
  209. package/dist/{PlayerComponent-CxNkDcFc.mjs → PlayerComponent-BRBrXVjI.mjs} +27 -39
  210. package/dist/PlayerComponent-BRBrXVjI.mjs.map +1 -0
  211. package/dist/PlayerComponent-BbvNS7sy.mjs.map +1 -0
  212. package/dist/PlayerComponent-By_JAwx_.mjs.map +1 -0
  213. package/dist/PlayerComponent-C425OWjX.mjs.map +1 -0
  214. package/dist/PlayerComponent-C5PNQ3TW.mjs.map +1 -0
  215. package/dist/PlayerComponent-Cnk_vePj.mjs.map +1 -0
  216. package/dist/PlayerComponent-CovfufPB.mjs.map +1 -0
  217. package/dist/PlayerComponent-DC4jQIwE.mjs.map +1 -0
  218. package/dist/PlayerComponent-DEUmVv0M.mjs.map +1 -0
  219. package/dist/PlayerComponent-DOXY0vL0.mjs.map +1 -0
  220. package/dist/PlayerComponent-DajZbHv7.mjs.map +1 -0
  221. package/dist/PlayerComponent-DejSC061.mjs.map +1 -0
  222. package/dist/PlayerComponent-p7W2UNk6.mjs.map +1 -0
  223. package/dist/PlayerLarge-3zzN7qom.mjs.map +1 -0
  224. package/dist/{PlayerLarge-BH6BLQxk.mjs → PlayerLarge-B97rRmrJ.mjs} +12 -10
  225. package/dist/PlayerLarge-B97rRmrJ.mjs.map +1 -0
  226. package/dist/PlayerLarge-BzwrEgVR.mjs.map +1 -0
  227. package/dist/PlayerLarge-CLOwDO6Q.mjs.map +1 -0
  228. package/dist/PlayerLarge-Chv7pMOU.mjs.map +1 -0
  229. package/dist/PlayerLarge-CkWGaDiY.mjs.map +1 -0
  230. package/dist/PlayerLarge-D0NMzCRi.mjs.map +1 -0
  231. package/dist/PlayerLarge-D3obSnYt.mjs.map +1 -0
  232. package/dist/PlayerLarge-DLGXpE3K.mjs.map +1 -0
  233. package/dist/PlayerLarge-QtUrqNm5.mjs.map +1 -0
  234. package/dist/PlayerLarge-juuY9yOX.mjs.map +1 -0
  235. package/dist/PlayerLarge-n7zyM6b_.mjs.map +1 -0
  236. package/dist/PlayerLarge-o4FVk0QB.mjs.map +1 -0
  237. package/dist/PlayerLarge-tMW3v2La.mjs.map +1 -0
  238. package/dist/PlayerPlayButton-CTu0337E.mjs.map +1 -0
  239. package/dist/PlayerPlayButton-CfJWIpoP.mjs.map +1 -0
  240. package/dist/{PlayerPlayButton-DT2OdqnI.mjs → PlayerPlayButton-zKdHGzFr.mjs} +5 -5
  241. package/dist/PlayerPlayButton-zKdHGzFr.mjs.map +1 -0
  242. package/dist/{PlayerProgressBar-CSYnPjZb.mjs → PlayerProgressBar-BG5NG596.mjs} +4 -4
  243. package/dist/PlayerProgressBar-BG5NG596.mjs.map +1 -0
  244. package/dist/PlayerProgressBar-Cjv8JVY2.mjs.map +1 -0
  245. package/dist/PlayerProgressBar-Co0_YEF3.mjs.map +1 -0
  246. package/dist/PlayerStore-B-L2PQ_b.mjs.map +1 -0
  247. package/dist/PlayerStore-C2XzSrF5.mjs.map +1 -0
  248. package/dist/{PlayerStore-DukkcHI_.mjs → PlayerStore-vYmnOEA_.mjs} +3 -3
  249. package/dist/PlayerStore-vYmnOEA_.mjs.map +1 -0
  250. package/dist/PlayerVideo-DD6NaGkU.mjs.map +1 -0
  251. package/dist/{PlayerVideo-_Uz00K_T.mjs → PlayerVideo-Ds0oYeTC.mjs} +5 -5
  252. package/dist/PlayerVideo-Ds0oYeTC.mjs.map +1 -0
  253. package/dist/PlayerVideo-cYHZOYMv.mjs.map +1 -0
  254. package/dist/PlayerVideoDigiteka-BPJdJNEB.mjs.map +1 -0
  255. package/dist/{PlayerVideoDigiteka-CjfuxXBF.mjs → PlayerVideoDigiteka-C7xb0ndg.mjs} +3 -3
  256. package/dist/PlayerVideoDigiteka-C7xb0ndg.mjs.map +1 -0
  257. package/dist/PlayerVideoDigiteka-oqtYXqYK.mjs.map +1 -0
  258. package/dist/PlayerVideoHls-CB4psqbz.mjs.map +1 -0
  259. package/dist/{PlayerVideoHls-Dms7iTSo.mjs → PlayerVideoHls-xSNqzBEw.mjs} +4 -4
  260. package/dist/PlayerVideoHls-xSNqzBEw.mjs.map +1 -0
  261. package/dist/PlayerVideoHls-zNbegJFp.mjs.map +1 -0
  262. package/dist/PlaylistPage-BUj1Lzfp.mjs.map +1 -0
  263. package/dist/PlaylistPage-BhcJkM15.mjs.map +1 -0
  264. package/dist/PlaylistPage-BsHMB2nn.mjs.map +1 -0
  265. package/dist/{PlaylistPage-CQX0LhXn.mjs → PlaylistPage-D4mcAo00.mjs} +12 -12
  266. package/dist/PlaylistPage-D4mcAo00.mjs.map +1 -0
  267. package/dist/PlaylistPage-DjAgejp8.mjs.map +1 -0
  268. package/dist/PlaylistsPage-B3V5-WT9.mjs.map +1 -0
  269. package/dist/PlaylistsPage-DSjvWTw5.mjs.map +1 -0
  270. package/dist/{PlaylistsPage-Bd-u4qlc.mjs → PlaylistsPage-Dr6HKHf8.mjs} +7 -7
  271. package/dist/PlaylistsPage-Dr6HKHf8.mjs.map +1 -0
  272. package/dist/PodcastFilterList-C-8AF1Dn.mjs.map +1 -0
  273. package/dist/{PodcastFilterList-DkH6bqv_.mjs → PodcastFilterList-CYwPiGko.mjs} +3 -3
  274. package/dist/PodcastFilterList-CYwPiGko.mjs.map +1 -0
  275. package/dist/PodcastFilterList-C_d1SyTB.mjs.map +1 -0
  276. package/dist/PodcastFilterList-ClMsIUaO.mjs.map +1 -0
  277. package/dist/PodcastFilterList-DBS0kvW6.mjs.map +1 -0
  278. package/dist/PodcastImage-B8o3T5zK.mjs.map +1 -0
  279. package/dist/{PodcastImage-BtxcPlrh.mjs → PodcastImage-Bs1lpubL.mjs} +4 -4
  280. package/dist/PodcastImage-Bs1lpubL.mjs.map +1 -0
  281. package/dist/PodcastImage-DBB5689n.mjs.map +1 -0
  282. package/dist/PodcastImage-DNLZH0dY.mjs.map +1 -0
  283. package/dist/PodcastImage-DrV8oxG8.mjs.map +1 -0
  284. package/dist/{PodcastInlineList-CVWfH5np.mjs → PodcastInlineList-B7-2QswT.mjs} +2 -2
  285. package/dist/PodcastInlineList-B7-2QswT.mjs.map +1 -0
  286. package/dist/PodcastInlineList-BVMV6Wvd.mjs.map +1 -0
  287. package/dist/PodcastInlineList-BXPpF0YD.mjs.map +1 -0
  288. package/dist/PodcastInlineList-CLjO1SpD.mjs.map +1 -0
  289. package/dist/PodcastInlineList-Cf5YF0j9.mjs.map +1 -0
  290. package/dist/PodcastInlineListTemplate-BX0tXOFx.mjs.map +1 -0
  291. package/dist/{PodcastInlineListTemplate-BWw1Ix-7.mjs → PodcastInlineListTemplate-DCWn3r7s.mjs} +4 -4
  292. package/dist/PodcastInlineListTemplate-DCWn3r7s.mjs.map +1 -0
  293. package/dist/PodcastIsPlaying-BG1_FgVX.mjs.map +1 -0
  294. package/dist/{PodcastIsPlaying-B7YVeSyB.mjs → PodcastIsPlaying-BsObdQGR.mjs} +2 -2
  295. package/dist/PodcastIsPlaying-BsObdQGR.mjs.map +1 -0
  296. package/dist/PodcastIsPlaying-Csd-C2jr.mjs.map +1 -0
  297. package/dist/PodcastItem-CGmEwYT4.mjs.map +1 -0
  298. package/dist/PodcastItem-CN6gwARQ.mjs.map +1 -0
  299. package/dist/PodcastItem-CdLjZKxf.mjs.map +1 -0
  300. package/dist/PodcastItem-D1MwHzhE.mjs.map +1 -0
  301. package/dist/{PodcastItem-CFk8MX9D.mjs → PodcastItem-_8ErwIDG.mjs} +7 -7
  302. package/dist/PodcastItem-_8ErwIDG.mjs.map +1 -0
  303. package/dist/PodcastList-BXla7F3u.mjs.map +1 -0
  304. package/dist/PodcastList-BqE8dwdc.mjs.map +1 -0
  305. package/dist/PodcastList-BvC6iOS6.mjs.map +1 -0
  306. package/dist/PodcastList-CRwA-s7F.mjs.map +1 -0
  307. package/dist/PodcastList-CVFr9WNS.mjs.map +1 -0
  308. package/dist/PodcastList-DZKxDulS.mjs.map +1 -0
  309. package/dist/{PodcastList-BLXPFjvL.mjs → PodcastList-DgLQjL0d.mjs} +6 -6
  310. package/dist/PodcastList-DgLQjL0d.mjs.map +1 -0
  311. package/dist/{PodcastList-c0Iwzakm.mjs → PodcastList-DhKeiBbv.mjs} +5 -5
  312. package/dist/PodcastList-DhKeiBbv.mjs.map +1 -0
  313. package/dist/PodcastList-Dtq6kEG4.mjs.map +1 -0
  314. package/dist/PodcastList-Dx-mo7Wo.mjs.map +1 -0
  315. package/dist/{PodcastPage-C_d9FaS7.mjs → PodcastPage-C5OCwW8q.mjs} +23 -23
  316. package/dist/PodcastPage-C5OCwW8q.mjs.map +1 -0
  317. package/dist/PodcastPage-CsVqOGWc.mjs.map +1 -0
  318. package/dist/PodcastPage-DQInD9ry.mjs.map +1 -0
  319. package/dist/PodcastPage-Dka9GEzi.mjs.map +1 -0
  320. package/dist/PodcastPage-acKIH0vO.mjs.map +1 -0
  321. package/dist/PodcastPlayBar-AgtR8Ia9.mjs.map +1 -0
  322. package/dist/PodcastPlayBar-D7CyLEM4.mjs.map +1 -0
  323. package/dist/{PodcastPlayBar-WjGn_KlZ.mjs → PodcastPlayBar-DC5HCx76.mjs} +4 -4
  324. package/dist/PodcastPlayBar-DC5HCx76.mjs.map +1 -0
  325. package/dist/PodcastPlayBasicButton-DHYxw3NX.mjs.map +1 -0
  326. package/dist/{PodcastPlayBasicButton-BNKlqhGR.mjs → PodcastPlayBasicButton-PJHza4d_.mjs} +2 -2
  327. package/dist/PodcastPlayBasicButton-PJHza4d_.mjs.map +1 -0
  328. package/dist/PodcastPlayBasicButton-gK82n3YL.mjs.map +1 -0
  329. package/dist/{PodcastPlayButton-B9hWbPEk.mjs → PodcastPlayButton-1eaXWTlG.mjs} +4 -4
  330. package/dist/PodcastPlayButton-1eaXWTlG.mjs.map +1 -0
  331. package/dist/PodcastPlayButton-Bosq5ozq.mjs.map +1 -0
  332. package/dist/PodcastPlayButton-DIQi57Oh.mjs.map +1 -0
  333. package/dist/PodcastPlayButton-DcjbCnlT.mjs.map +1 -0
  334. package/dist/PodcastPlayButton-DgSCyhrd.mjs.map +1 -0
  335. package/dist/PodcastPlaylistInlineList-C0HZum5z.mjs.map +1 -0
  336. package/dist/PodcastPlaylistInlineList-CSziI2j4.mjs.map +1 -0
  337. package/dist/PodcastPlaylistInlineList-CvX2rauY.mjs.map +1 -0
  338. package/dist/PodcastPlaylistInlineList-H_rnCHag.mjs.map +1 -0
  339. package/dist/{PodcastPlaylistInlineList-_csxbYAx.mjs → PodcastPlaylistInlineList-XTbhC8OJ.mjs} +5 -5
  340. package/dist/PodcastPlaylistInlineList-XTbhC8OJ.mjs.map +1 -0
  341. package/dist/{PodcastPresentationList-BD8XmnW0.mjs → PodcastPresentationList-BUl5Rq83.mjs} +5 -5
  342. package/dist/PodcastPresentationList-BUl5Rq83.mjs.map +1 -0
  343. package/dist/PodcastPresentationList-BvkEDbtG.mjs.map +1 -0
  344. package/dist/PodcastPresentationList-C0n-xr5w.mjs.map +1 -0
  345. package/dist/PodcastPresentationList-CnrMkINf.mjs.map +1 -0
  346. package/dist/PodcastPresentationList-DC-Oi_eK.mjs.map +1 -0
  347. package/dist/PodcastProgressBar-CP-0ptRF.mjs.map +1 -0
  348. package/dist/{PodcastProgressBar-B3XOeeJx.mjs → PodcastProgressBar-VG-mRcpi.mjs} +4 -4
  349. package/dist/PodcastProgressBar-VG-mRcpi.mjs.map +1 -0
  350. package/dist/PodcastProgressBar-jY43GoFx.mjs.map +1 -0
  351. package/dist/PodcastRawTranscript-BAu-dt2V.mjs.map +1 -0
  352. package/dist/{PodcastRawTranscript-D0Nm7jGM.mjs → PodcastRawTranscript-Bf6f5yNd.mjs} +3 -3
  353. package/dist/PodcastRawTranscript-Bf6f5yNd.mjs.map +1 -0
  354. package/dist/{PodcastSwiperList-DJ0O3dqM.mjs → PodcastSwiperList-BhulNkN-.mjs} +5 -5
  355. package/dist/PodcastSwiperList-BhulNkN-.mjs.map +1 -0
  356. package/dist/PodcastSwiperList-CGeumBPj.mjs.map +1 -0
  357. package/dist/PodcastSwiperList-CzUkS6M6.mjs.map +1 -0
  358. package/dist/PodcastSwiperList-DLKOAjUS.mjs.map +1 -0
  359. package/dist/PodcastSwiperList-DaTHwrHm.mjs.map +1 -0
  360. package/dist/PodcastmakerHeader-BZT-U0KX.mjs.map +1 -0
  361. package/dist/{PodcastmakerHeader-DAATtOG_.mjs → PodcastmakerHeader-Df0g2dCr.mjs} +2 -2
  362. package/dist/PodcastmakerHeader-Df0g2dCr.mjs.map +1 -0
  363. package/dist/PodcastsPage-B-Qzlif0.mjs.map +1 -0
  364. package/dist/PodcastsPage-BoK55Z9G.mjs.map +1 -0
  365. package/dist/PodcastsPage-CTzbr2VD.mjs.map +1 -0
  366. package/dist/{PodcastsPage-ZhEVoMp1.mjs → PodcastsPage-DSJUPRZE.mjs} +5 -5
  367. package/dist/PodcastsPage-DSJUPRZE.mjs.map +1 -0
  368. package/dist/PodcastsPage-Jg_jAix6.mjs.map +1 -0
  369. package/dist/{ProductorSearch-xs0kzX_E.mjs → ProductorSearch-BTj9gIOs.mjs} +3 -3
  370. package/dist/ProductorSearch-BTj9gIOs.mjs.map +1 -0
  371. package/dist/ProductorSearch-ziDbxrDd.mjs.map +1 -0
  372. package/dist/ProgressBar-BOq9RfZ2.mjs.map +1 -0
  373. package/dist/{ProgressBar-0DSoUTwB.mjs → ProgressBar-BVc0_6Lv.mjs} +2 -2
  374. package/dist/ProgressBar-BVc0_6Lv.mjs.map +1 -0
  375. package/dist/ProgressBar-Cgt2PqnO.mjs.map +1 -0
  376. package/dist/QrCode-DNiPIFIA.mjs.map +1 -0
  377. package/dist/{QrCode-CUP2O18d.mjs → QrCode-MCv4t_Bn.mjs} +2 -2
  378. package/dist/QrCode-MCv4t_Bn.mjs.map +1 -0
  379. package/dist/{QrCodeModal-DXBCuki7.mjs → QrCodeModal-Be8E0JlC.mjs} +2 -2
  380. package/dist/QrCodeModal-Be8E0JlC.mjs.map +1 -0
  381. package/dist/QrCodeModal-DYDKLLuw.mjs.map +1 -0
  382. package/dist/RadioCurrently-BJOmCSby.mjs.map +1 -0
  383. package/dist/RadioCurrently-CZePLInZ.mjs.map +1 -0
  384. package/dist/{RadioCurrently-D5M81oIX.mjs → RadioCurrently-DWySwV64.mjs} +4 -4
  385. package/dist/RadioCurrently-DWySwV64.mjs.map +1 -0
  386. package/dist/RadioHistory-7EGvEAMx.mjs.map +1 -0
  387. package/dist/RadioHistory-BdMa013x.mjs.map +1 -0
  388. package/dist/{RadioHistory-BgOve4jk.mjs → RadioHistory-DlQFZYp2.mjs} +3 -3
  389. package/dist/RadioHistory-DlQFZYp2.mjs.map +1 -0
  390. package/dist/{RadioImage-CUTRr3DL.mjs → RadioImage-BIe2KpG_.mjs} +5 -5
  391. package/dist/RadioImage-BIe2KpG_.mjs.map +1 -0
  392. package/dist/RadioImage-CXFZXN1N.mjs.map +1 -0
  393. package/dist/RadioImage-CpJmuc8a.mjs.map +1 -0
  394. package/dist/{RadioList-CwzOFHc1.mjs → RadioList-B23gsiEF.mjs} +5 -5
  395. package/dist/RadioList-B23gsiEF.mjs.map +1 -0
  396. package/dist/RadioList-BwzgNcMO.mjs.map +1 -0
  397. package/dist/RadioList-KvAacjmD.mjs.map +1 -0
  398. package/dist/RadioPage-CM_4A1AQ.mjs.map +1 -0
  399. package/dist/RadioPage-DkBL81mI.mjs.map +1 -0
  400. package/dist/{RadioPage-DVflzCV-.mjs → RadioPage-Jg2kmtna.mjs} +11 -11
  401. package/dist/RadioPage-Jg2kmtna.mjs.map +1 -0
  402. package/dist/{RadioPlanning-CJ7Qqyhs.mjs → RadioPlanning-2aWTnbZb.mjs} +3 -3
  403. package/dist/RadioPlanning-2aWTnbZb.mjs.map +1 -0
  404. package/dist/RadioPlanning-DHxcBVQo.mjs.map +1 -0
  405. package/dist/RadioProgressBar-BHAawrHe.mjs.map +1 -0
  406. package/dist/RadioProgressBar-CPjLAoPB.mjs.map +1 -0
  407. package/dist/{RadioProgressBar-BmJbzzQA.mjs → RadioProgressBar-yIz1oI5d.mjs} +2 -2
  408. package/dist/RadioProgressBar-yIz1oI5d.mjs.map +1 -0
  409. package/dist/RecaptchaModal-DKugsU7h.mjs.map +1 -0
  410. package/dist/{RecaptchaModal-DX9rAHUg.mjs → RecaptchaModal-dfMCfebx.mjs} +2 -2
  411. package/dist/RecaptchaModal-dfMCfebx.mjs.map +1 -0
  412. package/dist/ReportAbuseModal-Bxr7NTvH.mjs.map +1 -0
  413. package/dist/{ReportAbuseModal-CYCRaFAY.mjs → ReportAbuseModal-DZKRbYXJ.mjs} +4 -4
  414. package/dist/ReportAbuseModal-DZKRbYXJ.mjs.map +1 -0
  415. package/dist/RightsIndicator-BgW0q3af.mjs.map +1 -0
  416. package/dist/RightsIndicator-BtzqiPWc.mjs.map +1 -0
  417. package/dist/{RightsIndicator-qIU4_wiF.mjs → RightsIndicator-D5I3DOfO.mjs} +2 -2
  418. package/dist/RightsIndicator-D5I3DOfO.mjs.map +1 -0
  419. package/dist/RightsIndicator-NOZ05rEh.mjs.map +1 -0
  420. package/dist/RightsWrapper-Cv41FXNO.mjs.map +1 -0
  421. package/dist/{RightsWrapper-Cs6prZ3E.mjs → RightsWrapper-HasUbnny.mjs} +3 -3
  422. package/dist/RightsWrapper-HasUbnny.mjs.map +1 -0
  423. package/dist/{RubriqueFilter-OA_DJKL1.mjs → RubriqueFilter-3SPVH4nT.mjs} +3 -3
  424. package/dist/RubriqueFilter-3SPVH4nT.mjs.map +1 -0
  425. package/dist/RubriqueFilter-B_F2fyA0.mjs.map +1 -0
  426. package/dist/RubriqueList-CalsqgcR.mjs.map +1 -0
  427. package/dist/{RubriqueList-B94NM5yi.mjs → RubriqueList-TnVM2-Ry.mjs} +3 -3
  428. package/dist/RubriqueList-TnVM2-Ry.mjs.map +1 -0
  429. package/dist/RubriquePage-BhneK7GY.mjs.map +1 -0
  430. package/dist/RubriquePage-CPV9lztT.mjs.map +1 -0
  431. package/dist/{RubriquePage-DyusiBmp.mjs → RubriquePage-D223TaA2.mjs} +5 -5
  432. package/dist/RubriquePage-D223TaA2.mjs.map +1 -0
  433. package/dist/RubriquePage-DriBVVmv.mjs.map +1 -0
  434. package/dist/RubriquePage-x_tOmQCH.mjs.map +1 -0
  435. package/dist/SearchPage-B-KDO-5r.mjs.map +1 -0
  436. package/dist/{SearchPage-BGOBGS4j.mjs → SearchPage-BH1gYkHn.mjs} +3 -3
  437. package/dist/SearchPage-BH1gYkHn.mjs.map +1 -0
  438. package/dist/SearchPage-CXOoJF_2.mjs.map +1 -0
  439. package/dist/SearchPage-DyX_tEm5.mjs.map +1 -0
  440. package/dist/SearchPage-IvX74fSJ.mjs.map +1 -0
  441. package/dist/{ShareAnonymous-Chfdzzra.mjs → ShareAnonymous-4UxjKrIe.mjs} +6 -6
  442. package/dist/ShareAnonymous-4UxjKrIe.mjs.map +1 -0
  443. package/dist/ShareAnonymous-C4xPMrgf.mjs.map +1 -0
  444. package/dist/{ShareModalPlayer-CLY_JFFD.mjs → ShareModalPlayer-B0wPlpdU.mjs} +2 -2
  445. package/dist/ShareModalPlayer-B0wPlpdU.mjs.map +1 -0
  446. package/dist/ShareModalPlayer-CEvDV-I_.mjs.map +1 -0
  447. package/dist/ShareNewsletter-Bno5t4ay.mjs.map +1 -0
  448. package/dist/{ShareNewsletter-B4dn4-jA.mjs → ShareNewsletter-Cf9w-I6c.mjs} +2 -2
  449. package/dist/ShareNewsletter-Cf9w-I6c.mjs.map +1 -0
  450. package/dist/SharePlayer-BLqYnywl.mjs.map +1 -0
  451. package/dist/{SharePlayer-wHDYsWYd.mjs → SharePlayer-Oy1pWckd.mjs} +4 -4
  452. package/dist/SharePlayer-Oy1pWckd.mjs.map +1 -0
  453. package/dist/{SharePlayerRadio-D3LXD_gK.mjs → SharePlayerRadio-CI6glNuI.mjs} +3 -3
  454. package/dist/SharePlayerRadio-CI6glNuI.mjs.map +1 -0
  455. package/dist/SharePlayerRadio-c_HFTupz.mjs.map +1 -0
  456. package/dist/SharePlayerTypes-Dkmmw2We.mjs.map +1 -0
  457. package/dist/{SharePlayerTypes-eYSeVl-W.mjs → SharePlayerTypes-cUgCFZ65.mjs} +2 -2
  458. package/dist/SharePlayerTypes-cUgCFZ65.mjs.map +1 -0
  459. package/dist/{ShareSocialsButtons-iHtSoQ3K.mjs → ShareSocialsButtons-BYsXc2Jr.mjs} +2 -2
  460. package/dist/ShareSocialsButtons-BYsXc2Jr.mjs.map +1 -0
  461. package/dist/ShareSocialsButtons-DZLZc1c6.mjs.map +1 -0
  462. package/dist/SimpleLayout-BCsUQENG.mjs.map +1 -0
  463. package/dist/SimpleLayout-BGKNHHjx.mjs.map +1 -0
  464. package/dist/SimpleLayout-BHIdltFB.mjs.map +1 -0
  465. package/dist/SimpleLayout-BKkwQmN6.mjs.map +1 -0
  466. package/dist/SimpleLayout-BORx9hRX.mjs.map +1 -0
  467. package/dist/{SimpleLayout-Bk74CAAr.mjs → SimpleLayout-BTJyAJO6.mjs} +3 -3
  468. package/dist/SimpleLayout-BTJyAJO6.mjs.map +1 -0
  469. package/dist/SimpleLayout-BvOAauzs.mjs.map +1 -0
  470. package/dist/SimpleLayout-C3xekYgM.mjs.map +1 -0
  471. package/dist/SimpleLayout-C4xNk0R4.mjs.map +1 -0
  472. package/dist/SimpleLayout-CDcsE-Be.mjs.map +1 -0
  473. package/dist/SimpleLayout-D3M_c1Eu.mjs.map +1 -0
  474. package/dist/SimpleLayout-DJgC3LcZ.mjs.map +1 -0
  475. package/dist/SimpleLayout-DkvEZxow.mjs.map +1 -0
  476. package/dist/SimpleLayout-gtbBGlVV.mjs.map +1 -0
  477. package/dist/SmartLinkPage-BF8hfaWZ.mjs.map +1 -0
  478. package/dist/{SmartLinkPage-DbuQT8GM.mjs → SmartLinkPage-DQljzYa-.mjs} +5 -5
  479. package/dist/SmartLinkPage-DQljzYa-.mjs.map +1 -0
  480. package/dist/SmartLinkPage-DmlqwhYP.mjs.map +1 -0
  481. package/dist/SubscribeButtons-DO4MRuDr.mjs.map +1 -0
  482. package/dist/{SubscribeButtons-rnonTVzT.mjs → SubscribeButtons-lAAMYQCm.mjs} +3 -3
  483. package/dist/SubscribeButtons-lAAMYQCm.mjs.map +1 -0
  484. package/dist/{SwiperList-C1v0T1wx.mjs → SwiperList-C51H-enh.mjs} +2 -2
  485. package/dist/SwiperList-C51H-enh.mjs.map +1 -0
  486. package/dist/SwiperList-Dsq1MFX6.mjs.map +1 -0
  487. package/dist/TagList-B5C9zojs.mjs.map +1 -0
  488. package/dist/{TagList-VeuYS_zJ.mjs → TagList-D3Bn2fIn.mjs} +2 -2
  489. package/dist/TagList-D3Bn2fIn.mjs.map +1 -0
  490. package/dist/TagPage-B71pZpRY.mjs.map +1 -0
  491. package/dist/{TagPage-Bd81QJHn.mjs → TagPage-Brw9iL1F.mjs} +4 -4
  492. package/dist/TagPage-Brw9iL1F.mjs.map +1 -0
  493. package/dist/TagPage-CWRyUZkD.mjs.map +1 -0
  494. package/dist/TagPage-DFo25ZeP.mjs.map +1 -0
  495. package/dist/TagPage-sI917OpV.mjs.map +1 -0
  496. package/dist/TopBar-CaCA8kOs.mjs.map +1 -0
  497. package/dist/{TopBar-CZVp2T7C.mjs → TopBar-DIdhyJi_.mjs} +7 -7
  498. package/dist/TopBar-DIdhyJi_.mjs.map +1 -0
  499. package/dist/{UserButtonContent-DmNyGmWr.mjs → UserButtonContent-D13cVA34.mjs} +7 -7
  500. package/dist/UserButtonContent-D13cVA34.mjs.map +1 -0
  501. package/dist/UserButtonContent-DMKyXEmF.mjs.map +1 -0
  502. package/dist/{VideoModuleBox-yJZpgCw6.mjs → VideoModuleBox-CFQmvPrA.mjs} +2 -2
  503. package/dist/VideoModuleBox-CFQmvPrA.mjs.map +1 -0
  504. package/dist/VideoModuleBox-DsBLAMrh.mjs.map +1 -0
  505. package/dist/VideoPage-CfJeWV-R.mjs.map +1 -0
  506. package/dist/VideoPage-CnIZYz-k.mjs.map +1 -0
  507. package/dist/VideoPage-D6UNKt2D.mjs.map +1 -0
  508. package/dist/{VideoPage-y6G4Y2Zi.mjs → VideoPage-DU9dJviO.mjs} +10 -10
  509. package/dist/VideoPage-DU9dJviO.mjs.map +1 -0
  510. package/dist/VideoPage-OIb28KAS.mjs.map +1 -0
  511. package/dist/classicApi-C70YSK8J.mjs.map +1 -0
  512. package/dist/classicApi-DuzZv1Wk.mjs.map +1 -1
  513. package/dist/{classicApi-CkDHWZG1.mjs → classicApi-xjOqAovv.mjs} +11 -8
  514. package/dist/classicApi-xjOqAovv.mjs.map +1 -0
  515. package/dist/downloadHelper-C4q0i5xN.mjs.map +1 -0
  516. package/dist/{downloadHelper-DLdkblYN.mjs → downloadHelper-DY3fF3dA.mjs} +2 -2
  517. package/dist/downloadHelper-DY3fF3dA.mjs.map +1 -0
  518. package/dist/index.mjs +102 -97
  519. package/dist/index.mjs.map +1 -1
  520. package/dist/tests.mjs +2 -2
  521. package/dist/{useAdvancedParamInit-B7G2Mvjv.mjs → useAdvancedParamInit-CCprE3H2.mjs} +6 -6
  522. package/dist/useAdvancedParamInit-CCprE3H2.mjs.map +1 -0
  523. package/dist/useAdvancedParamInit-CT8CdPFW.mjs.map +1 -0
  524. package/dist/useDayjs-BPXVSBns.mjs.map +1 -0
  525. package/dist/{useDayjs-C3cnTiDW.mjs → useDayjs-DPVjvJPN.mjs} +2 -2
  526. package/dist/useDayjs-DPVjvJPN.mjs.map +1 -0
  527. package/dist/useErrorHandler-BxQT9ZGf.mjs.map +1 -0
  528. package/dist/{useErrorHandler-DtLjD9t_.mjs → useErrorHandler-D3XVxUh6.mjs} +2 -2
  529. package/dist/useErrorHandler-D3XVxUh6.mjs.map +1 -0
  530. package/dist/{useImageProxy-Bj0cOCct.mjs → useImageProxy-BdQJmj4a.mjs} +2 -2
  531. package/dist/useImageProxy-BdQJmj4a.mjs.map +1 -0
  532. package/dist/useImageProxy-DROuweGY.mjs.map +1 -0
  533. package/dist/{useOrgaComputed-BLSpEDfb.mjs → useOrgaComputed-B2Bq0VBT.mjs} +2 -2
  534. package/dist/useOrgaComputed-B2Bq0VBT.mjs.map +1 -0
  535. package/dist/useOrgaComputed-CGomgs0r.mjs.map +1 -0
  536. package/dist/{usePlayerLogicProgress-75G9QMg_.mjs → usePlayerLogicProgress-DcHbYGOR.mjs} +3 -3
  537. package/dist/usePlayerLogicProgress-DcHbYGOR.mjs.map +1 -0
  538. package/dist/usePlayerLogicProgress-Dchl5sUO.mjs.map +1 -0
  539. package/dist/usePlayerLogicProgress-lqnQ5qNd.mjs.map +1 -0
  540. package/dist/{usePodcastView-BftS642h.mjs → usePodcastView-BDZ6CGQj.mjs} +4 -4
  541. package/dist/usePodcastView-BDZ6CGQj.mjs.map +1 -0
  542. package/dist/usePodcastView-CI5le-WW.mjs.map +1 -0
  543. package/dist/usePresentationItem-Cw9fBYUi.mjs.map +1 -0
  544. package/dist/{usePresentationItem-CNXIk-Sf.mjs → usePresentationItem-UwAuhVqo.mjs} +4 -4
  545. package/dist/usePresentationItem-UwAuhVqo.mjs.map +1 -0
  546. package/dist/useRights-D8CLzCMH.mjs.map +1 -0
  547. package/dist/{useRights-Co0TgD8y.mjs → useRights-DSZ-5pFg.mjs} +2 -2
  548. package/dist/useRights-DSZ-5pFg.mjs.map +1 -0
  549. package/dist/{useRubriquesFilterComputed-VsdTUNL6.mjs → useRubriquesFilterComputed-BkDeXTf-.mjs} +2 -2
  550. package/dist/useRubriquesFilterComputed-BkDeXTf-.mjs.map +1 -0
  551. package/dist/useRubriquesFilterComputed-Bkre15fg.mjs.map +1 -0
  552. package/dist/useRubriquesFilterParam-BmE8v1fS.mjs.map +1 -0
  553. package/dist/{useRubriquesFilterParam--x07HEw1.mjs → useRubriquesFilterParam-Delgf48y.mjs} +2 -2
  554. package/dist/useRubriquesFilterParam-Delgf48y.mjs.map +1 -0
  555. package/dist/{useSharePlatforms-CSSRTkTG.mjs → useSharePlatforms-07n3JYu2.mjs} +3 -3
  556. package/dist/useSharePlatforms-07n3JYu2.mjs.map +1 -0
  557. package/dist/useSharePlatforms-B_3OwBFv.mjs.map +1 -0
  558. package/dist/{useSimplePageParam-ClaGQ9yj.mjs → useSimplePageParam-CsY_ie3c.mjs} +2 -2
  559. package/dist/useSimplePageParam-CsY_ie3c.mjs.map +1 -0
  560. package/dist/useSimplePageParam-ki2VyM-X.mjs.map +1 -0
  561. package/dist/{useTranslation-BNshNMQT.mjs → useTranslation-ChEasnl9.mjs} +25 -8
  562. package/dist/useTranslation-ChEasnl9.mjs.map +1 -0
  563. package/dist/useTranslation-D0R0BSx9.mjs.map +1 -0
  564. package/dist/usefetchRadioData-BPmkztGC.mjs.map +1 -0
  565. package/dist/{usefetchRadioData-C2cwiaCP.mjs → usefetchRadioData-CkrAfN1c.mjs} +2 -2
  566. package/dist/usefetchRadioData-CkrAfN1c.mjs.map +1 -0
  567. package/package.json +1 -1
  568. package/src/components/composable/player/usePlayerLive.ts +8 -7
  569. package/src/stores/AuthStore.ts +2 -0
@@ -1,11 +1,11 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.mjs";
2
2
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
3
- import { b as groupsApi, i as useAuthStore, r as useFilterStore } from "./classicApi-CkDHWZG1.mjs";
3
+ import { b as groupsApi, i as useAuthStore, r as useFilterStore } from "./classicApi-xjOqAovv.mjs";
4
4
  import { t as useGeneralStore } from "./GeneralStore-CUlq_NjO.mjs";
5
5
  import { t as ROUTE_PARAMS } from "./types-DmxFXVJz.mjs";
6
- import { t as useOrgaComputed } from "./useOrgaComputed-BLSpEDfb.mjs";
7
- import { t as useRubriquesFilterParam } from "./useRubriquesFilterParam--x07HEw1.mjs";
8
- import { t as EmissionGroupChooser_default } from "./EmissionGroupChooser-Djt1IZg7.mjs";
6
+ import { t as useOrgaComputed } from "./useOrgaComputed-B2Bq0VBT.mjs";
7
+ import { t as useRubriquesFilterParam } from "./useRubriquesFilterParam-Delgf48y.mjs";
8
+ import { t as EmissionGroupChooser_default } from "./EmissionGroupChooser-BXqM4iXP.mjs";
9
9
  import { Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineAsyncComponent, defineComponent, normalizeClass, onMounted, openBlock, ref, toDisplayString, vShow, watch, withCtx, withDirectives } from "vue";
10
10
  import { useI18n } from "vue-i18n";
11
11
  import ChevronDownIcon from "vue-material-design-icons/ChevronDown.vue";
@@ -100,7 +100,7 @@ var AdvancedSearch_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
100
100
  __expose();
101
101
  const MonetizableFilter = defineAsyncComponent(() => import("./MonetizableFilter-BGQTUtwX.mjs"));
102
102
  const CategorySearchFilter = defineAsyncComponent(() => import("./CategorySearchFilter-CEGWqMSt.mjs"));
103
- const RubriqueFilter = defineAsyncComponent(() => import("./RubriqueFilter-OA_DJKL1.mjs"));
103
+ const RubriqueFilter = defineAsyncComponent(() => import("./RubriqueFilter-3SPVH4nT.mjs"));
104
104
  const ClassicSelect = defineAsyncComponent(() => import("./ClassicSelect-BaY2yvwP.mjs").then((n) => n.n));
105
105
  const ClassicTagInput = defineAsyncComponent(() => import("./ClassicTagInput-HM3VUbHp.mjs"));
106
106
  const ClassicCheckbox = defineAsyncComponent(() => import("./ClassicCheckbox-BHKCPtLR.mjs").then((n) => n.n));
@@ -449,4 +449,4 @@ var AdvancedSearch_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Adv
449
449
  //#endregion
450
450
  export { AdvancedSearch_exports as n, AdvancedSearch_default as t };
451
451
 
452
- //# sourceMappingURL=AdvancedSearch-fO5eaqLJ.mjs.map
452
+ //# sourceMappingURL=AdvancedSearch-C4segSRv.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdvancedSearch-C4segSRv.mjs","names":[],"sources":["../src/components/display/filter/AdvancedSearch.vue","../src/components/display/filter/AdvancedSearch.vue"],"sourcesContent":["<template>\n <div id=\"advanced-search\" class=\"d-flex flex-column justify-content-center align-items-center\">\n <!-- Button to open the advanced filters -->\n <button\n class=\"d-flex justify-content-center align-items-center mb-3 text-secondary btn-transparent\"\n @click=\"clickShowFilters\"\n >\n <div>{{ t(\"Advanced filters\") }}</div>\n <ChevronDownIcon :class=\"{ 'arrow-transform': showFilters }\" />\n </button>\n\n <!-- Filters -->\n <Transition name=\"advanced-search\">\n <div\n v-if=\"firstLoaded\"\n v-show=\"showFilters\"\n class=\"advanced-search-container\"\n >\n <fieldset class=\"d-flex flex-column flex-grow-3\">\n <legend class=\"text-primary mb-2\">\n {{ t(\"Filter\") }}\n </legend>\n <MonetizableFilter\n v-if=\"!isPodcastmaker && !generalStore.platformEducation\"\n :is-emission=\"isEmission\"\n :monetisable=\"monetisable\"\n @update:monetisable=\"updateMonetisable\"\n />\n <CategorySearchFilter :iab-id=\"iabId\" @update:iab-id=\"updateIab\" />\n <RubriqueFilter\n :rubrique-filter=\"rubriqueFilter\"\n @update:rubrique-filter=\"updateRubriquageFilter\"\n />\n\n <!-- Group filters -->\n <div v-if=\"showEmissionGroups\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n v-model:text-init=\"emissionGroupCheckbox\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-emission-groups-checkbox\"\n :label=\"t('Filters - Emission groups')\"\n />\n\n <EmissionGroupChooser\n v-if=\"emissionGroupCheckbox\"\n class=\"ms-4 flex-grow-1\"\n :organisation-id=\"organisationId\"\n :groups=\"emissionGroups\"\n @update:groups=\"updateEmissionGroupFilter\"\n />\n </div>\n\n <!-- Date -->\n <DateFilter\n :is-emission=\"isEmission\"\n :from-date=\"fromDate\"\n :to-date=\"toDate\"\n @update-dates=\"updateDates($event)\"\n />\n\n <!-- Rights holders/beneficiaries -->\n <div v-if=\"beneficiariesEnabled\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-beneficiaries-checkbox\"\n :label=\"t('Filters - Beneficiaries')\"\n @update:text-init=\"updateBeneficiariesCheckbox\"\n />\n\n <ClassicTagInput\n v-if=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"ms-4 flex-grow-1\"\n :tags=\"beneficiaries\"\n @update:tags=\"updateBeneficiaries\"\n />\n </div>\n\n <!-- 14876 - Only my episodes -->\n <div v-if=\"!isEmission && !isPodcastmaker\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"onlyMyEpisodes\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-onlymine-checkbox\"\n :label=\"t('Filters - Only my episodes')\"\n @update:text-init=\"updateOnlyMineCheckbox\"\n />\n </div>\n\n <div\n v-if=\"organisation && organisationRight && !isPodcastmaker\"\n class=\"d-flex flex-column mt-3\"\n >\n <ClassicCheckbox\n :text-init=\"includeHidden\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-future-checkbox\"\n :label=\"textNotVisible\"\n :is-disabled=\"isSelectValidity && 'true'!==validity\"\n @update:text-init=\"updateIncludeHidden\"\n />\n </div>\n\n <ClassicSelect\n v-if=\"isSelectValidity\"\n :text-init=\"validity\"\n id-select=\"valid-episodes-select\"\n :label=\"t('Episodes to validate')+' :'\"\n :display-label=\"true\"\n class-label=\"flex-shrink-0 me-1\"\n class=\"d-flex align-items-center mt-3 mb-0\"\n :options=\"[\n { title: t('Display only episodes to validate'), value: 'false' },\n { title: t('Display episodes to validate'), value: '' },\n { title: t('Do not display episodes to validate'), value: 'true' },\n ]\"\n @update:text-init=\"updateValidity\"\n />\n\n <!-- Only with video -->\n <ClassicCheckbox\n v-if=\"!isEmission\"\n :text-init=\"onlyVideo\"\n class=\"flex-shrink-0 mt-3\"\n id-checkbox=\"only-video-checkbox\"\n :label=\"t('Show only episodes with video')\"\n @update:text-init=\"updateOnlyVideo\"\n />\n </fieldset>\n\n <!-- Sort -->\n <SearchOrder\n :is-emission=\"isEmission\"\n :sort=\"sort\"\n @update:sort=\"updateSort\"\n />\n </div>\n </Transition>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ChevronDownIcon from \"vue-material-design-icons/ChevronDown.vue\";\nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport { RubriquageFilter } from \"@/stores/class/rubrique/rubriquageFilter\";\nimport { defineAsyncComponent, ref, computed, watch, onMounted } from \"vue\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { useI18n } from \"vue-i18n\";\nconst MonetizableFilter = defineAsyncComponent(\n () => import(\"./MonetizableFilter.vue\"),\n);\nconst CategorySearchFilter = defineAsyncComponent(\n () => import(\"./CategorySearchFilter.vue\"),\n);\nconst RubriqueFilter = defineAsyncComponent(\n () => import(\"./RubriqueFilter.vue\"),\n);\nconst ClassicSelect = defineAsyncComponent(\n () => import(\"../../form/ClassicSelect.vue\"),\n);\nconst ClassicTagInput = defineAsyncComponent(\n () => import(\"../../form/ClassicTagInput.vue\"),\n);\nconst ClassicCheckbox = defineAsyncComponent(\n () => import(\"../../form/ClassicCheckbox.vue\"),\n);\nconst DateFilter = defineAsyncComponent(() => import(\"./DateFilter.vue\"));\nconst SearchOrder = defineAsyncComponent(() => import(\"./SearchOrder.vue\"));\nimport { ROUTE_PARAMS } from '../../composable/route/types';\nimport { EmissionGroup, groupsApi } from \"../../../api/groupsApi\";\nimport EmissionGroupChooser from \"../emission/EmissionGroupChooser.vue\";\n\n//Props \nconst props = withDefaults(defineProps<{\n organisationId?: string;\n /** Indicates that the filters apply to emissions */\n isEmission?: boolean;\n includeHidden?: boolean;\n sort?: string;\n onlyVideo?: boolean;\n monetisable?: string;\n iabId?: number;\n searchPattern?: string;\n fromDate?: string;\n toDate?: string;\n validity?: string;\n /** The filter on beneficiaries */\n beneficiaries?: Array<string>;\n /** The filter for only my episodes */\n onlyMyEpisodes?: boolean;\n rubriqueFilter?: Array<RubriquageFilter>;\n /** The filter on groups */\n emissionGroups?: Array<EmissionGroup>;\n /** Force hide the emission group filter */\n hideEmissionGroups?: boolean;\n}>(), {\n sort: \"DATE\",\n monetisable: \"UNDEFINED\",\n searchPattern: \"\",\n validity: \"\"\n});\n\n//Emits\nconst emit = defineEmits([\n \"update:toDate\",\n \"update:fromDate\",\n \"update:monetisable\",\n \"update:iabId\",\n \"update:sort\",\n \"update:includeHidden\",\n \"update:validity\",\n \"update:rubriqueFilter\",\n \"update:onlyVideo\",\n \"update:beneficiaries\",\n \"update:emission-groups\",\n \"update:only-my-episodes\"\n]);\n\n//Data \nconst showFilters = ref(false);\nconst firstLoaded = ref(false);\nconst showEmissionGroups = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker, isEditRights } = useOrgaComputed();\nconst { stringifyRubriquesFilter,updateRouteParamAdvanced } = useRubriquesFilterParam();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst authStore = useAuthStore();\n\nonMounted(async() => {\n if (props.hideEmissionGroups) {\n showEmissionGroups.value = false;\n return;\n }\n // Only show emission groups if there are some\n const nbGroups = await groupsApi.count({\n organisationIds: [props.organisationId]\n });\n showEmissionGroups.value = nbGroups > 0;\n});\n\n//Computed\nconst organisationRight = computed(() => isEditRights(props.organisationId));\nconst organisation = computed(() => props.organisationId ?? filterStore.filterOrgaId);\nconst textNotVisible = computed(() => props.isEmission ? t(\"Consider podcasts no visible\"): t(\"See podcasts no visible\"));\nconst isSelectValidity = computed(() => {\n return (\n undefined !== organisation.value &&\n organisationRight.value &&\n (authStore.isRoleContribution || authStore.isRolePublication) &&\n !isPodcastmaker.value &&\n !props.isEmission &&\n props.includeHidden\n );\n});\n\n/** The beneficiaries filter is only displayed if beneficiaries are enabled */\nconst beneficiariesEnabled = computed(() => {\n return authStore.authOrganisation.attributes['beneficiaries.enabled'] === 'true';\n});\n\n//Watch\nwatch(organisation, async () => {\n const hidden = undefined !== organisation.value && organisationRight.value && !props.isEmission;\n if (hidden !== props.includeHidden) {\n updateIncludeHidden(hidden);\n }\n});\n\nwatch(()=>props.searchPattern, (value: string) => {\n const search = value.trim();\n let valSort = \"SCORE\"\n if(search.length <= 3){\n valSort = props.isEmission? \"LAST_PODCAST_DESC\" : \"DATE\";\n }\n updateRouteParamAdvanced({\n q: search.length ? search : undefined,\n s: valSort,\n });\n});\n\n//Methods\nfunction updateMonetisable(value: string): void {\n emit(\"update:monetisable\", value);\n updateRouteParamAdvanced({ m: \"UNDEFINED\" !== value ? value : undefined });\n}\n\nfunction updateIab(value: number | undefined) {\n emit(\"update:iabId\", 0 !== value ? value : undefined);\n let filterIab = {};\n if (filterStore.filterIab && filterStore.filterIab.id !== value) {\n filterIab = { iabId: undefined };\n }\n updateRouteParamAdvanced({\n ...{ i: value ? value.toString() : undefined },\n ...filterIab,\n });\n}\n\nfunction updateSort(value: string) {\n emit(\"update:sort\", value);\n updateRouteParamAdvanced({ s: value });\n}\n\nfunction updateIncludeHidden(value: boolean) {\n emit(\"update:includeHidden\", value);\n updateRouteParamAdvanced({ h: value.toString() });\n}\n\nfunction updateValidity(value: boolean) {\n emit(\"update:validity\", value);\n updateRouteParamAdvanced({ vl: value.toString() });\n}\n\nfunction updateOnlyVideo(value: boolean) {\n emit(\"update:onlyVideo\", value);\n updateRouteParamAdvanced({ v: value ? \"true\" : undefined });\n}\n\nfunction updateDates(value: {\n from: string | undefined;\n to: string | undefined;\n}): void {\n emit(\"update:fromDate\", value.from);\n emit(\"update:toDate\", value.to);\n updateRouteParamAdvanced({ from: value.from, to: value.to });\n}\n\nfunction updateRubriquageFilter(value: Array<RubriquageFilter>) {\n emit(\"update:rubriqueFilter\", value);\n let filterRubriques = {};\n const valueString = stringifyRubriquesFilter(value);\n if (\n filterStore.filterRubrique.length &&\n stringifyRubriquesFilter(filterStore.filterRubrique) !== valueString\n ) {\n filterRubriques = { rubriquesId: undefined };\n }\n updateRouteParamAdvanced({\n r: valueString.length ? valueString : undefined,\n ...filterRubriques,\n });\n}\n\n/** Manage the checkbox enabling filtering on groups */\nconst emissionGroupCheckbox = computed({\n get(): boolean {\n return props.emissionGroups !== undefined && props.emissionGroups !== null;\n },\n set(value: boolean): void {\n if (value) {\n updateEmissionGroupFilter([]);\n } else {\n updateEmissionGroupFilter(undefined);\n }\n }\n});\n\n/** Update selected groups */\nfunction updateEmissionGroupFilter(groups: Array<EmissionGroup>|undefined): void {\n if (groups !== undefined && groups.length === 0) {\n emit('update:emission-groups', []);\n } else {\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.EmissionGroups]: groups?.map(g => g.groupId)\n });\n emit('update:emission-groups', groups);\n }\n}\n\n/** Update the beneficiaries filter */\nfunction updateBeneficiaries(value: string[]|undefined): void {\n emit('update:beneficiaries', value);\n if (value === undefined) {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: undefined });\n } else {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: value });\n }\n}\n\n/** Update the value of the beneficiaries checkbox */\nfunction updateBeneficiariesCheckbox(value: boolean): void {\n if (value === true) {\n emit('update:beneficiaries', []);\n } else {\n updateBeneficiaries(undefined);\n }\n}\n\n/** Update the value of the 'only mine' checkbox */\nfunction updateOnlyMineCheckbox(value: boolean): void {\n emit('update:only-my-episodes', value);\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.OnlyMyEpisodes]: value || undefined\n });\n}\n\nfunction clickShowFilters(): void {\n if (!firstLoaded.value) {\n firstLoaded.value = true;\n }\n showFilters.value = !showFilters.value;\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n .advanced-search-container {\n background: var(--octopus-background);\n display: flex;\n width: 100%;\n padding-bottom: 1rem;\n justify-content: space-around;\n\n @media (width <= 720px) {\n flex-wrap: wrap;\n }\n }\n\n .advanced-search-enter-active,\n .advanced-search-leave-active {\n transition: 0.3s all;\n opacity: 1;\n max-height: 900px;\n height: auto;\n overflow: hidden;\n }\n\n .advanced-search-enter-from,\n .advanced-search-leave-to {\n opacity: 0;\n max-height: 0;\n overflow: hidden;\n }\n}\n</style>\n","<template>\n <div id=\"advanced-search\" class=\"d-flex flex-column justify-content-center align-items-center\">\n <!-- Button to open the advanced filters -->\n <button\n class=\"d-flex justify-content-center align-items-center mb-3 text-secondary btn-transparent\"\n @click=\"clickShowFilters\"\n >\n <div>{{ t(\"Advanced filters\") }}</div>\n <ChevronDownIcon :class=\"{ 'arrow-transform': showFilters }\" />\n </button>\n\n <!-- Filters -->\n <Transition name=\"advanced-search\">\n <div\n v-if=\"firstLoaded\"\n v-show=\"showFilters\"\n class=\"advanced-search-container\"\n >\n <fieldset class=\"d-flex flex-column flex-grow-3\">\n <legend class=\"text-primary mb-2\">\n {{ t(\"Filter\") }}\n </legend>\n <MonetizableFilter\n v-if=\"!isPodcastmaker && !generalStore.platformEducation\"\n :is-emission=\"isEmission\"\n :monetisable=\"monetisable\"\n @update:monetisable=\"updateMonetisable\"\n />\n <CategorySearchFilter :iab-id=\"iabId\" @update:iab-id=\"updateIab\" />\n <RubriqueFilter\n :rubrique-filter=\"rubriqueFilter\"\n @update:rubrique-filter=\"updateRubriquageFilter\"\n />\n\n <!-- Group filters -->\n <div v-if=\"showEmissionGroups\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n v-model:text-init=\"emissionGroupCheckbox\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-emission-groups-checkbox\"\n :label=\"t('Filters - Emission groups')\"\n />\n\n <EmissionGroupChooser\n v-if=\"emissionGroupCheckbox\"\n class=\"ms-4 flex-grow-1\"\n :organisation-id=\"organisationId\"\n :groups=\"emissionGroups\"\n @update:groups=\"updateEmissionGroupFilter\"\n />\n </div>\n\n <!-- Date -->\n <DateFilter\n :is-emission=\"isEmission\"\n :from-date=\"fromDate\"\n :to-date=\"toDate\"\n @update-dates=\"updateDates($event)\"\n />\n\n <!-- Rights holders/beneficiaries -->\n <div v-if=\"beneficiariesEnabled\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-beneficiaries-checkbox\"\n :label=\"t('Filters - Beneficiaries')\"\n @update:text-init=\"updateBeneficiariesCheckbox\"\n />\n\n <ClassicTagInput\n v-if=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"ms-4 flex-grow-1\"\n :tags=\"beneficiaries\"\n @update:tags=\"updateBeneficiaries\"\n />\n </div>\n\n <!-- 14876 - Only my episodes -->\n <div v-if=\"!isEmission && !isPodcastmaker\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"onlyMyEpisodes\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-onlymine-checkbox\"\n :label=\"t('Filters - Only my episodes')\"\n @update:text-init=\"updateOnlyMineCheckbox\"\n />\n </div>\n\n <div\n v-if=\"organisation && organisationRight && !isPodcastmaker\"\n class=\"d-flex flex-column mt-3\"\n >\n <ClassicCheckbox\n :text-init=\"includeHidden\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-future-checkbox\"\n :label=\"textNotVisible\"\n :is-disabled=\"isSelectValidity && 'true'!==validity\"\n @update:text-init=\"updateIncludeHidden\"\n />\n </div>\n\n <ClassicSelect\n v-if=\"isSelectValidity\"\n :text-init=\"validity\"\n id-select=\"valid-episodes-select\"\n :label=\"t('Episodes to validate')+' :'\"\n :display-label=\"true\"\n class-label=\"flex-shrink-0 me-1\"\n class=\"d-flex align-items-center mt-3 mb-0\"\n :options=\"[\n { title: t('Display only episodes to validate'), value: 'false' },\n { title: t('Display episodes to validate'), value: '' },\n { title: t('Do not display episodes to validate'), value: 'true' },\n ]\"\n @update:text-init=\"updateValidity\"\n />\n\n <!-- Only with video -->\n <ClassicCheckbox\n v-if=\"!isEmission\"\n :text-init=\"onlyVideo\"\n class=\"flex-shrink-0 mt-3\"\n id-checkbox=\"only-video-checkbox\"\n :label=\"t('Show only episodes with video')\"\n @update:text-init=\"updateOnlyVideo\"\n />\n </fieldset>\n\n <!-- Sort -->\n <SearchOrder\n :is-emission=\"isEmission\"\n :sort=\"sort\"\n @update:sort=\"updateSort\"\n />\n </div>\n </Transition>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ChevronDownIcon from \"vue-material-design-icons/ChevronDown.vue\";\nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport { RubriquageFilter } from \"@/stores/class/rubrique/rubriquageFilter\";\nimport { defineAsyncComponent, ref, computed, watch, onMounted } from \"vue\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { useI18n } from \"vue-i18n\";\nconst MonetizableFilter = defineAsyncComponent(\n () => import(\"./MonetizableFilter.vue\"),\n);\nconst CategorySearchFilter = defineAsyncComponent(\n () => import(\"./CategorySearchFilter.vue\"),\n);\nconst RubriqueFilter = defineAsyncComponent(\n () => import(\"./RubriqueFilter.vue\"),\n);\nconst ClassicSelect = defineAsyncComponent(\n () => import(\"../../form/ClassicSelect.vue\"),\n);\nconst ClassicTagInput = defineAsyncComponent(\n () => import(\"../../form/ClassicTagInput.vue\"),\n);\nconst ClassicCheckbox = defineAsyncComponent(\n () => import(\"../../form/ClassicCheckbox.vue\"),\n);\nconst DateFilter = defineAsyncComponent(() => import(\"./DateFilter.vue\"));\nconst SearchOrder = defineAsyncComponent(() => import(\"./SearchOrder.vue\"));\nimport { ROUTE_PARAMS } from '../../composable/route/types';\nimport { EmissionGroup, groupsApi } from \"../../../api/groupsApi\";\nimport EmissionGroupChooser from \"../emission/EmissionGroupChooser.vue\";\n\n//Props \nconst props = withDefaults(defineProps<{\n organisationId?: string;\n /** Indicates that the filters apply to emissions */\n isEmission?: boolean;\n includeHidden?: boolean;\n sort?: string;\n onlyVideo?: boolean;\n monetisable?: string;\n iabId?: number;\n searchPattern?: string;\n fromDate?: string;\n toDate?: string;\n validity?: string;\n /** The filter on beneficiaries */\n beneficiaries?: Array<string>;\n /** The filter for only my episodes */\n onlyMyEpisodes?: boolean;\n rubriqueFilter?: Array<RubriquageFilter>;\n /** The filter on groups */\n emissionGroups?: Array<EmissionGroup>;\n /** Force hide the emission group filter */\n hideEmissionGroups?: boolean;\n}>(), {\n sort: \"DATE\",\n monetisable: \"UNDEFINED\",\n searchPattern: \"\",\n validity: \"\"\n});\n\n//Emits\nconst emit = defineEmits([\n \"update:toDate\",\n \"update:fromDate\",\n \"update:monetisable\",\n \"update:iabId\",\n \"update:sort\",\n \"update:includeHidden\",\n \"update:validity\",\n \"update:rubriqueFilter\",\n \"update:onlyVideo\",\n \"update:beneficiaries\",\n \"update:emission-groups\",\n \"update:only-my-episodes\"\n]);\n\n//Data \nconst showFilters = ref(false);\nconst firstLoaded = ref(false);\nconst showEmissionGroups = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker, isEditRights } = useOrgaComputed();\nconst { stringifyRubriquesFilter,updateRouteParamAdvanced } = useRubriquesFilterParam();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst authStore = useAuthStore();\n\nonMounted(async() => {\n if (props.hideEmissionGroups) {\n showEmissionGroups.value = false;\n return;\n }\n // Only show emission groups if there are some\n const nbGroups = await groupsApi.count({\n organisationIds: [props.organisationId]\n });\n showEmissionGroups.value = nbGroups > 0;\n});\n\n//Computed\nconst organisationRight = computed(() => isEditRights(props.organisationId));\nconst organisation = computed(() => props.organisationId ?? filterStore.filterOrgaId);\nconst textNotVisible = computed(() => props.isEmission ? t(\"Consider podcasts no visible\"): t(\"See podcasts no visible\"));\nconst isSelectValidity = computed(() => {\n return (\n undefined !== organisation.value &&\n organisationRight.value &&\n (authStore.isRoleContribution || authStore.isRolePublication) &&\n !isPodcastmaker.value &&\n !props.isEmission &&\n props.includeHidden\n );\n});\n\n/** The beneficiaries filter is only displayed if beneficiaries are enabled */\nconst beneficiariesEnabled = computed(() => {\n return authStore.authOrganisation.attributes['beneficiaries.enabled'] === 'true';\n});\n\n//Watch\nwatch(organisation, async () => {\n const hidden = undefined !== organisation.value && organisationRight.value && !props.isEmission;\n if (hidden !== props.includeHidden) {\n updateIncludeHidden(hidden);\n }\n});\n\nwatch(()=>props.searchPattern, (value: string) => {\n const search = value.trim();\n let valSort = \"SCORE\"\n if(search.length <= 3){\n valSort = props.isEmission? \"LAST_PODCAST_DESC\" : \"DATE\";\n }\n updateRouteParamAdvanced({\n q: search.length ? search : undefined,\n s: valSort,\n });\n});\n\n//Methods\nfunction updateMonetisable(value: string): void {\n emit(\"update:monetisable\", value);\n updateRouteParamAdvanced({ m: \"UNDEFINED\" !== value ? value : undefined });\n}\n\nfunction updateIab(value: number | undefined) {\n emit(\"update:iabId\", 0 !== value ? value : undefined);\n let filterIab = {};\n if (filterStore.filterIab && filterStore.filterIab.id !== value) {\n filterIab = { iabId: undefined };\n }\n updateRouteParamAdvanced({\n ...{ i: value ? value.toString() : undefined },\n ...filterIab,\n });\n}\n\nfunction updateSort(value: string) {\n emit(\"update:sort\", value);\n updateRouteParamAdvanced({ s: value });\n}\n\nfunction updateIncludeHidden(value: boolean) {\n emit(\"update:includeHidden\", value);\n updateRouteParamAdvanced({ h: value.toString() });\n}\n\nfunction updateValidity(value: boolean) {\n emit(\"update:validity\", value);\n updateRouteParamAdvanced({ vl: value.toString() });\n}\n\nfunction updateOnlyVideo(value: boolean) {\n emit(\"update:onlyVideo\", value);\n updateRouteParamAdvanced({ v: value ? \"true\" : undefined });\n}\n\nfunction updateDates(value: {\n from: string | undefined;\n to: string | undefined;\n}): void {\n emit(\"update:fromDate\", value.from);\n emit(\"update:toDate\", value.to);\n updateRouteParamAdvanced({ from: value.from, to: value.to });\n}\n\nfunction updateRubriquageFilter(value: Array<RubriquageFilter>) {\n emit(\"update:rubriqueFilter\", value);\n let filterRubriques = {};\n const valueString = stringifyRubriquesFilter(value);\n if (\n filterStore.filterRubrique.length &&\n stringifyRubriquesFilter(filterStore.filterRubrique) !== valueString\n ) {\n filterRubriques = { rubriquesId: undefined };\n }\n updateRouteParamAdvanced({\n r: valueString.length ? valueString : undefined,\n ...filterRubriques,\n });\n}\n\n/** Manage the checkbox enabling filtering on groups */\nconst emissionGroupCheckbox = computed({\n get(): boolean {\n return props.emissionGroups !== undefined && props.emissionGroups !== null;\n },\n set(value: boolean): void {\n if (value) {\n updateEmissionGroupFilter([]);\n } else {\n updateEmissionGroupFilter(undefined);\n }\n }\n});\n\n/** Update selected groups */\nfunction updateEmissionGroupFilter(groups: Array<EmissionGroup>|undefined): void {\n if (groups !== undefined && groups.length === 0) {\n emit('update:emission-groups', []);\n } else {\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.EmissionGroups]: groups?.map(g => g.groupId)\n });\n emit('update:emission-groups', groups);\n }\n}\n\n/** Update the beneficiaries filter */\nfunction updateBeneficiaries(value: string[]|undefined): void {\n emit('update:beneficiaries', value);\n if (value === undefined) {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: undefined });\n } else {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: value });\n }\n}\n\n/** Update the value of the beneficiaries checkbox */\nfunction updateBeneficiariesCheckbox(value: boolean): void {\n if (value === true) {\n emit('update:beneficiaries', []);\n } else {\n updateBeneficiaries(undefined);\n }\n}\n\n/** Update the value of the 'only mine' checkbox */\nfunction updateOnlyMineCheckbox(value: boolean): void {\n emit('update:only-my-episodes', value);\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.OnlyMyEpisodes]: value || undefined\n });\n}\n\nfunction clickShowFilters(): void {\n if (!firstLoaded.value) {\n firstLoaded.value = true;\n }\n showFilters.value = !showFilters.value;\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n .advanced-search-container {\n background: var(--octopus-background);\n display: flex;\n width: 100%;\n padding-bottom: 1rem;\n justify-content: space-around;\n\n @media (width <= 720px) {\n flex-wrap: wrap;\n }\n }\n\n .advanced-search-enter-active,\n .advanced-search-leave-active {\n transition: 0.3s all;\n opacity: 1;\n max-height: 900px;\n height: auto;\n overflow: hidden;\n }\n\n .advanced-search-enter-from,\n .advanced-search-leave-to {\n opacity: 0;\n max-height: 0;\n overflow: hidden;\n }\n}\n</style>\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdvancedSearch-DD9tnLCw.mjs","names":[],"sources":["../src/components/display/filter/AdvancedSearch.vue","../src/components/display/filter/AdvancedSearch.vue"],"sourcesContent":["<template>\n <div id=\"advanced-search\" class=\"d-flex flex-column justify-content-center align-items-center\">\n <!-- Button to open the advanced filters -->\n <button\n class=\"d-flex justify-content-center align-items-center mb-3 text-secondary btn-transparent\"\n @click=\"clickShowFilters\"\n >\n <div>{{ t(\"Advanced filters\") }}</div>\n <ChevronDownIcon :class=\"{ 'arrow-transform': showFilters }\" />\n </button>\n\n <!-- Filters -->\n <Transition name=\"advanced-search\">\n <div\n v-if=\"firstLoaded\"\n v-show=\"showFilters\"\n class=\"advanced-search-container\"\n >\n <fieldset class=\"d-flex flex-column flex-grow-3\">\n <legend class=\"text-primary mb-2\">\n {{ t(\"Filter\") }}\n </legend>\n <MonetizableFilter\n v-if=\"!isPodcastmaker && !generalStore.platformEducation\"\n :is-emission=\"isEmission\"\n :monetisable=\"monetisable\"\n @update:monetisable=\"updateMonetisable\"\n />\n <CategorySearchFilter :iab-id=\"iabId\" @update:iab-id=\"updateIab\" />\n <RubriqueFilter\n :rubrique-filter=\"rubriqueFilter\"\n @update:rubrique-filter=\"updateRubriquageFilter\"\n />\n\n <!-- Group filters -->\n <div v-if=\"showEmissionGroups\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n v-model:text-init=\"emissionGroupCheckbox\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-emission-groups-checkbox\"\n :label=\"t('Filters - Emission groups')\"\n />\n\n <EmissionGroupChooser\n v-if=\"emissionGroupCheckbox\"\n class=\"ms-4 flex-grow-1\"\n :organisation-id=\"organisationId\"\n :groups=\"emissionGroups\"\n @update:groups=\"updateEmissionGroupFilter\"\n />\n </div>\n\n <!-- Date -->\n <DateFilter\n :is-emission=\"isEmission\"\n :from-date=\"fromDate\"\n :to-date=\"toDate\"\n @update-dates=\"updateDates($event)\"\n />\n\n <!-- Rights holders/beneficiaries -->\n <div v-if=\"beneficiariesEnabled\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-beneficiaries-checkbox\"\n :label=\"t('Filters - Beneficiaries')\"\n @update:text-init=\"updateBeneficiariesCheckbox\"\n />\n\n <ClassicTagInput\n v-if=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"ms-4 flex-grow-1\"\n :tags=\"beneficiaries\"\n @update:tags=\"updateBeneficiaries\"\n />\n </div>\n\n <!-- 14876 - Only my episodes -->\n <div v-if=\"!isEmission && !isPodcastmaker\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"onlyMyEpisodes\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-onlymine-checkbox\"\n :label=\"t('Filters - Only my episodes')\"\n @update:text-init=\"updateOnlyMineCheckbox\"\n />\n </div>\n\n <div\n v-if=\"organisation && organisationRight && !isPodcastmaker\"\n class=\"d-flex flex-column mt-3\"\n >\n <ClassicCheckbox\n :text-init=\"includeHidden\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-future-checkbox\"\n :label=\"textNotVisible\"\n :is-disabled=\"isSelectValidity && 'true'!==validity\"\n @update:text-init=\"updateIncludeHidden\"\n />\n </div>\n\n <ClassicSelect\n v-if=\"isSelectValidity\"\n :text-init=\"validity\"\n id-select=\"valid-episodes-select\"\n :label=\"t('Episodes to validate')+' :'\"\n :display-label=\"true\"\n class-label=\"flex-shrink-0 me-1\"\n class=\"d-flex align-items-center mt-3 mb-0\"\n :options=\"[\n { title: t('Display only episodes to validate'), value: 'false' },\n { title: t('Display episodes to validate'), value: '' },\n { title: t('Do not display episodes to validate'), value: 'true' },\n ]\"\n @update:text-init=\"updateValidity\"\n />\n\n <!-- Only with video -->\n <ClassicCheckbox\n v-if=\"!isEmission\"\n :text-init=\"onlyVideo\"\n class=\"flex-shrink-0 mt-3\"\n id-checkbox=\"only-video-checkbox\"\n :label=\"t('Show only episodes with video')\"\n @update:text-init=\"updateOnlyVideo\"\n />\n </fieldset>\n\n <!-- Sort -->\n <SearchOrder\n :is-emission=\"isEmission\"\n :sort=\"sort\"\n @update:sort=\"updateSort\"\n />\n </div>\n </Transition>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ChevronDownIcon from \"vue-material-design-icons/ChevronDown.vue\";\nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport { RubriquageFilter } from \"@/stores/class/rubrique/rubriquageFilter\";\nimport { defineAsyncComponent, ref, computed, watch, onMounted } from \"vue\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { useI18n } from \"vue-i18n\";\nconst MonetizableFilter = defineAsyncComponent(\n () => import(\"./MonetizableFilter.vue\"),\n);\nconst CategorySearchFilter = defineAsyncComponent(\n () => import(\"./CategorySearchFilter.vue\"),\n);\nconst RubriqueFilter = defineAsyncComponent(\n () => import(\"./RubriqueFilter.vue\"),\n);\nconst ClassicSelect = defineAsyncComponent(\n () => import(\"../../form/ClassicSelect.vue\"),\n);\nconst ClassicTagInput = defineAsyncComponent(\n () => import(\"../../form/ClassicTagInput.vue\"),\n);\nconst ClassicCheckbox = defineAsyncComponent(\n () => import(\"../../form/ClassicCheckbox.vue\"),\n);\nconst DateFilter = defineAsyncComponent(() => import(\"./DateFilter.vue\"));\nconst SearchOrder = defineAsyncComponent(() => import(\"./SearchOrder.vue\"));\nimport { ROUTE_PARAMS } from '../../composable/route/types';\nimport { EmissionGroup, groupsApi } from \"../../../api/groupsApi\";\nimport EmissionGroupChooser from \"../emission/EmissionGroupChooser.vue\";\n\n//Props \nconst props = withDefaults(defineProps<{\n organisationId?: string;\n /** Indicates that the filters apply to emissions */\n isEmission?: boolean;\n includeHidden?: boolean;\n sort?: string;\n onlyVideo?: boolean;\n monetisable?: string;\n iabId?: number;\n searchPattern?: string;\n fromDate?: string;\n toDate?: string;\n validity?: string;\n /** The filter on beneficiaries */\n beneficiaries?: Array<string>;\n /** The filter for only my episodes */\n onlyMyEpisodes?: boolean;\n rubriqueFilter?: Array<RubriquageFilter>;\n /** The filter on groups */\n emissionGroups?: Array<EmissionGroup>;\n /** Force hide the emission group filter */\n hideEmissionGroups?: boolean;\n}>(), {\n sort: \"DATE\",\n monetisable: \"UNDEFINED\",\n searchPattern: \"\",\n validity: \"\"\n});\n\n//Emits\nconst emit = defineEmits([\n \"update:toDate\",\n \"update:fromDate\",\n \"update:monetisable\",\n \"update:iabId\",\n \"update:sort\",\n \"update:includeHidden\",\n \"update:validity\",\n \"update:rubriqueFilter\",\n \"update:onlyVideo\",\n \"update:beneficiaries\",\n \"update:emission-groups\",\n \"update:only-my-episodes\"\n]);\n\n//Data \nconst showFilters = ref(false);\nconst firstLoaded = ref(false);\nconst showEmissionGroups = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker, isEditRights } = useOrgaComputed();\nconst { stringifyRubriquesFilter,updateRouteParamAdvanced } = useRubriquesFilterParam();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst authStore = useAuthStore();\n\nonMounted(async() => {\n if (props.hideEmissionGroups) {\n showEmissionGroups.value = false;\n return;\n }\n // Only show emission groups if there are some\n const nbGroups = await groupsApi.count({\n organisationIds: [props.organisationId]\n });\n showEmissionGroups.value = nbGroups > 0;\n});\n\n//Computed\nconst organisationRight = computed(() => isEditRights(props.organisationId));\nconst organisation = computed(() => props.organisationId ?? filterStore.filterOrgaId);\nconst textNotVisible = computed(() => props.isEmission ? t(\"Consider podcasts no visible\"): t(\"See podcasts no visible\"));\nconst isSelectValidity = computed(() => {\n return (\n undefined !== organisation.value &&\n organisationRight.value &&\n (authStore.isRoleContribution || authStore.isRolePublication) &&\n !isPodcastmaker.value &&\n !props.isEmission &&\n props.includeHidden\n );\n});\n\n/** The beneficiaries filter is only displayed if beneficiaries are enabled */\nconst beneficiariesEnabled = computed(() => {\n return authStore.authOrganisation.attributes['beneficiaries.enabled'] === 'true';\n});\n\n//Watch\nwatch(organisation, async () => {\n const hidden = undefined !== organisation.value && organisationRight.value && !props.isEmission;\n if (hidden !== props.includeHidden) {\n updateIncludeHidden(hidden);\n }\n});\n\nwatch(()=>props.searchPattern, (value: string) => {\n const search = value.trim();\n let valSort = \"SCORE\"\n if(search.length <= 3){\n valSort = props.isEmission? \"LAST_PODCAST_DESC\" : \"DATE\";\n }\n updateRouteParamAdvanced({\n q: search.length ? search : undefined,\n s: valSort,\n });\n});\n\n//Methods\nfunction updateMonetisable(value: string): void {\n emit(\"update:monetisable\", value);\n updateRouteParamAdvanced({ m: \"UNDEFINED\" !== value ? value : undefined });\n}\n\nfunction updateIab(value: number | undefined) {\n emit(\"update:iabId\", 0 !== value ? value : undefined);\n let filterIab = {};\n if (filterStore.filterIab && filterStore.filterIab.id !== value) {\n filterIab = { iabId: undefined };\n }\n updateRouteParamAdvanced({\n ...{ i: value ? value.toString() : undefined },\n ...filterIab,\n });\n}\n\nfunction updateSort(value: string) {\n emit(\"update:sort\", value);\n updateRouteParamAdvanced({ s: value });\n}\n\nfunction updateIncludeHidden(value: boolean) {\n emit(\"update:includeHidden\", value);\n updateRouteParamAdvanced({ h: value.toString() });\n}\n\nfunction updateValidity(value: boolean) {\n emit(\"update:validity\", value);\n updateRouteParamAdvanced({ vl: value.toString() });\n}\n\nfunction updateOnlyVideo(value: boolean) {\n emit(\"update:onlyVideo\", value);\n updateRouteParamAdvanced({ v: value ? \"true\" : undefined });\n}\n\nfunction updateDates(value: {\n from: string | undefined;\n to: string | undefined;\n}): void {\n emit(\"update:fromDate\", value.from);\n emit(\"update:toDate\", value.to);\n updateRouteParamAdvanced({ from: value.from, to: value.to });\n}\n\nfunction updateRubriquageFilter(value: Array<RubriquageFilter>) {\n emit(\"update:rubriqueFilter\", value);\n let filterRubriques = {};\n const valueString = stringifyRubriquesFilter(value);\n if (\n filterStore.filterRubrique.length &&\n stringifyRubriquesFilter(filterStore.filterRubrique) !== valueString\n ) {\n filterRubriques = { rubriquesId: undefined };\n }\n updateRouteParamAdvanced({\n r: valueString.length ? valueString : undefined,\n ...filterRubriques,\n });\n}\n\n/** Manage the checkbox enabling filtering on groups */\nconst emissionGroupCheckbox = computed({\n get(): boolean {\n return props.emissionGroups !== undefined && props.emissionGroups !== null;\n },\n set(value: boolean): void {\n if (value) {\n updateEmissionGroupFilter([]);\n } else {\n updateEmissionGroupFilter(undefined);\n }\n }\n});\n\n/** Update selected groups */\nfunction updateEmissionGroupFilter(groups: Array<EmissionGroup>|undefined): void {\n if (groups !== undefined && groups.length === 0) {\n emit('update:emission-groups', []);\n } else {\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.EmissionGroups]: groups?.map(g => g.groupId)\n });\n emit('update:emission-groups', groups);\n }\n}\n\n/** Update the beneficiaries filter */\nfunction updateBeneficiaries(value: string[]|undefined): void {\n emit('update:beneficiaries', value);\n if (value === undefined) {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: undefined });\n } else {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: value });\n }\n}\n\n/** Update the value of the beneficiaries checkbox */\nfunction updateBeneficiariesCheckbox(value: boolean): void {\n if (value === true) {\n emit('update:beneficiaries', []);\n } else {\n updateBeneficiaries(undefined);\n }\n}\n\n/** Update the value of the 'only mine' checkbox */\nfunction updateOnlyMineCheckbox(value: boolean): void {\n emit('update:only-my-episodes', value);\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.OnlyMyEpisodes]: value || undefined\n });\n}\n\nfunction clickShowFilters(): void {\n if (!firstLoaded.value) {\n firstLoaded.value = true;\n }\n showFilters.value = !showFilters.value;\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n .advanced-search-container {\n background: var(--octopus-background);\n display: flex;\n width: 100%;\n padding-bottom: 1rem;\n justify-content: space-around;\n\n @media (width <= 720px) {\n flex-wrap: wrap;\n }\n }\n\n .advanced-search-enter-active,\n .advanced-search-leave-active {\n transition: 0.3s all;\n opacity: 1;\n max-height: 900px;\n height: auto;\n overflow: hidden;\n }\n\n .advanced-search-enter-from,\n .advanced-search-leave-to {\n opacity: 0;\n max-height: 0;\n overflow: hidden;\n }\n}\n</style>\n","<template>\n <div id=\"advanced-search\" class=\"d-flex flex-column justify-content-center align-items-center\">\n <!-- Button to open the advanced filters -->\n <button\n class=\"d-flex justify-content-center align-items-center mb-3 text-secondary btn-transparent\"\n @click=\"clickShowFilters\"\n >\n <div>{{ t(\"Advanced filters\") }}</div>\n <ChevronDownIcon :class=\"{ 'arrow-transform': showFilters }\" />\n </button>\n\n <!-- Filters -->\n <Transition name=\"advanced-search\">\n <div\n v-if=\"firstLoaded\"\n v-show=\"showFilters\"\n class=\"advanced-search-container\"\n >\n <fieldset class=\"d-flex flex-column flex-grow-3\">\n <legend class=\"text-primary mb-2\">\n {{ t(\"Filter\") }}\n </legend>\n <MonetizableFilter\n v-if=\"!isPodcastmaker && !generalStore.platformEducation\"\n :is-emission=\"isEmission\"\n :monetisable=\"monetisable\"\n @update:monetisable=\"updateMonetisable\"\n />\n <CategorySearchFilter :iab-id=\"iabId\" @update:iab-id=\"updateIab\" />\n <RubriqueFilter\n :rubrique-filter=\"rubriqueFilter\"\n @update:rubrique-filter=\"updateRubriquageFilter\"\n />\n\n <!-- Group filters -->\n <div v-if=\"showEmissionGroups\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n v-model:text-init=\"emissionGroupCheckbox\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-emission-groups-checkbox\"\n :label=\"t('Filters - Emission groups')\"\n />\n\n <EmissionGroupChooser\n v-if=\"emissionGroupCheckbox\"\n class=\"ms-4 flex-grow-1\"\n :organisation-id=\"organisationId\"\n :groups=\"emissionGroups\"\n @update:groups=\"updateEmissionGroupFilter\"\n />\n </div>\n\n <!-- Date -->\n <DateFilter\n :is-emission=\"isEmission\"\n :from-date=\"fromDate\"\n :to-date=\"toDate\"\n @update-dates=\"updateDates($event)\"\n />\n\n <!-- Rights holders/beneficiaries -->\n <div v-if=\"beneficiariesEnabled\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-beneficiaries-checkbox\"\n :label=\"t('Filters - Beneficiaries')\"\n @update:text-init=\"updateBeneficiariesCheckbox\"\n />\n\n <ClassicTagInput\n v-if=\"beneficiaries !== null && beneficiaries !== undefined\"\n class=\"ms-4 flex-grow-1\"\n :tags=\"beneficiaries\"\n @update:tags=\"updateBeneficiaries\"\n />\n </div>\n\n <!-- 14876 - Only my episodes -->\n <div v-if=\"!isEmission && !isPodcastmaker\" class=\"mt-3 d-flex\">\n <ClassicCheckbox\n :text-init=\"onlyMyEpisodes\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-onlymine-checkbox\"\n :label=\"t('Filters - Only my episodes')\"\n @update:text-init=\"updateOnlyMineCheckbox\"\n />\n </div>\n\n <div\n v-if=\"organisation && organisationRight && !isPodcastmaker\"\n class=\"d-flex flex-column mt-3\"\n >\n <ClassicCheckbox\n :text-init=\"includeHidden\"\n class=\"flex-shrink-0\"\n id-checkbox=\"search-future-checkbox\"\n :label=\"textNotVisible\"\n :is-disabled=\"isSelectValidity && 'true'!==validity\"\n @update:text-init=\"updateIncludeHidden\"\n />\n </div>\n\n <ClassicSelect\n v-if=\"isSelectValidity\"\n :text-init=\"validity\"\n id-select=\"valid-episodes-select\"\n :label=\"t('Episodes to validate')+' :'\"\n :display-label=\"true\"\n class-label=\"flex-shrink-0 me-1\"\n class=\"d-flex align-items-center mt-3 mb-0\"\n :options=\"[\n { title: t('Display only episodes to validate'), value: 'false' },\n { title: t('Display episodes to validate'), value: '' },\n { title: t('Do not display episodes to validate'), value: 'true' },\n ]\"\n @update:text-init=\"updateValidity\"\n />\n\n <!-- Only with video -->\n <ClassicCheckbox\n v-if=\"!isEmission\"\n :text-init=\"onlyVideo\"\n class=\"flex-shrink-0 mt-3\"\n id-checkbox=\"only-video-checkbox\"\n :label=\"t('Show only episodes with video')\"\n @update:text-init=\"updateOnlyVideo\"\n />\n </fieldset>\n\n <!-- Sort -->\n <SearchOrder\n :is-emission=\"isEmission\"\n :sort=\"sort\"\n @update:sort=\"updateSort\"\n />\n </div>\n </Transition>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ChevronDownIcon from \"vue-material-design-icons/ChevronDown.vue\";\nimport {useOrgaComputed} from \"../../composable/useOrgaComputed\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport { RubriquageFilter } from \"@/stores/class/rubrique/rubriquageFilter\";\nimport { defineAsyncComponent, ref, computed, watch, onMounted } from \"vue\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { useI18n } from \"vue-i18n\";\nconst MonetizableFilter = defineAsyncComponent(\n () => import(\"./MonetizableFilter.vue\"),\n);\nconst CategorySearchFilter = defineAsyncComponent(\n () => import(\"./CategorySearchFilter.vue\"),\n);\nconst RubriqueFilter = defineAsyncComponent(\n () => import(\"./RubriqueFilter.vue\"),\n);\nconst ClassicSelect = defineAsyncComponent(\n () => import(\"../../form/ClassicSelect.vue\"),\n);\nconst ClassicTagInput = defineAsyncComponent(\n () => import(\"../../form/ClassicTagInput.vue\"),\n);\nconst ClassicCheckbox = defineAsyncComponent(\n () => import(\"../../form/ClassicCheckbox.vue\"),\n);\nconst DateFilter = defineAsyncComponent(() => import(\"./DateFilter.vue\"));\nconst SearchOrder = defineAsyncComponent(() => import(\"./SearchOrder.vue\"));\nimport { ROUTE_PARAMS } from '../../composable/route/types';\nimport { EmissionGroup, groupsApi } from \"../../../api/groupsApi\";\nimport EmissionGroupChooser from \"../emission/EmissionGroupChooser.vue\";\n\n//Props \nconst props = withDefaults(defineProps<{\n organisationId?: string;\n /** Indicates that the filters apply to emissions */\n isEmission?: boolean;\n includeHidden?: boolean;\n sort?: string;\n onlyVideo?: boolean;\n monetisable?: string;\n iabId?: number;\n searchPattern?: string;\n fromDate?: string;\n toDate?: string;\n validity?: string;\n /** The filter on beneficiaries */\n beneficiaries?: Array<string>;\n /** The filter for only my episodes */\n onlyMyEpisodes?: boolean;\n rubriqueFilter?: Array<RubriquageFilter>;\n /** The filter on groups */\n emissionGroups?: Array<EmissionGroup>;\n /** Force hide the emission group filter */\n hideEmissionGroups?: boolean;\n}>(), {\n sort: \"DATE\",\n monetisable: \"UNDEFINED\",\n searchPattern: \"\",\n validity: \"\"\n});\n\n//Emits\nconst emit = defineEmits([\n \"update:toDate\",\n \"update:fromDate\",\n \"update:monetisable\",\n \"update:iabId\",\n \"update:sort\",\n \"update:includeHidden\",\n \"update:validity\",\n \"update:rubriqueFilter\",\n \"update:onlyVideo\",\n \"update:beneficiaries\",\n \"update:emission-groups\",\n \"update:only-my-episodes\"\n]);\n\n//Data \nconst showFilters = ref(false);\nconst firstLoaded = ref(false);\nconst showEmissionGroups = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { isPodcastmaker, isEditRights } = useOrgaComputed();\nconst { stringifyRubriquesFilter,updateRouteParamAdvanced } = useRubriquesFilterParam();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst authStore = useAuthStore();\n\nonMounted(async() => {\n if (props.hideEmissionGroups) {\n showEmissionGroups.value = false;\n return;\n }\n // Only show emission groups if there are some\n const nbGroups = await groupsApi.count({\n organisationIds: [props.organisationId]\n });\n showEmissionGroups.value = nbGroups > 0;\n});\n\n//Computed\nconst organisationRight = computed(() => isEditRights(props.organisationId));\nconst organisation = computed(() => props.organisationId ?? filterStore.filterOrgaId);\nconst textNotVisible = computed(() => props.isEmission ? t(\"Consider podcasts no visible\"): t(\"See podcasts no visible\"));\nconst isSelectValidity = computed(() => {\n return (\n undefined !== organisation.value &&\n organisationRight.value &&\n (authStore.isRoleContribution || authStore.isRolePublication) &&\n !isPodcastmaker.value &&\n !props.isEmission &&\n props.includeHidden\n );\n});\n\n/** The beneficiaries filter is only displayed if beneficiaries are enabled */\nconst beneficiariesEnabled = computed(() => {\n return authStore.authOrganisation.attributes['beneficiaries.enabled'] === 'true';\n});\n\n//Watch\nwatch(organisation, async () => {\n const hidden = undefined !== organisation.value && organisationRight.value && !props.isEmission;\n if (hidden !== props.includeHidden) {\n updateIncludeHidden(hidden);\n }\n});\n\nwatch(()=>props.searchPattern, (value: string) => {\n const search = value.trim();\n let valSort = \"SCORE\"\n if(search.length <= 3){\n valSort = props.isEmission? \"LAST_PODCAST_DESC\" : \"DATE\";\n }\n updateRouteParamAdvanced({\n q: search.length ? search : undefined,\n s: valSort,\n });\n});\n\n//Methods\nfunction updateMonetisable(value: string): void {\n emit(\"update:monetisable\", value);\n updateRouteParamAdvanced({ m: \"UNDEFINED\" !== value ? value : undefined });\n}\n\nfunction updateIab(value: number | undefined) {\n emit(\"update:iabId\", 0 !== value ? value : undefined);\n let filterIab = {};\n if (filterStore.filterIab && filterStore.filterIab.id !== value) {\n filterIab = { iabId: undefined };\n }\n updateRouteParamAdvanced({\n ...{ i: value ? value.toString() : undefined },\n ...filterIab,\n });\n}\n\nfunction updateSort(value: string) {\n emit(\"update:sort\", value);\n updateRouteParamAdvanced({ s: value });\n}\n\nfunction updateIncludeHidden(value: boolean) {\n emit(\"update:includeHidden\", value);\n updateRouteParamAdvanced({ h: value.toString() });\n}\n\nfunction updateValidity(value: boolean) {\n emit(\"update:validity\", value);\n updateRouteParamAdvanced({ vl: value.toString() });\n}\n\nfunction updateOnlyVideo(value: boolean) {\n emit(\"update:onlyVideo\", value);\n updateRouteParamAdvanced({ v: value ? \"true\" : undefined });\n}\n\nfunction updateDates(value: {\n from: string | undefined;\n to: string | undefined;\n}): void {\n emit(\"update:fromDate\", value.from);\n emit(\"update:toDate\", value.to);\n updateRouteParamAdvanced({ from: value.from, to: value.to });\n}\n\nfunction updateRubriquageFilter(value: Array<RubriquageFilter>) {\n emit(\"update:rubriqueFilter\", value);\n let filterRubriques = {};\n const valueString = stringifyRubriquesFilter(value);\n if (\n filterStore.filterRubrique.length &&\n stringifyRubriquesFilter(filterStore.filterRubrique) !== valueString\n ) {\n filterRubriques = { rubriquesId: undefined };\n }\n updateRouteParamAdvanced({\n r: valueString.length ? valueString : undefined,\n ...filterRubriques,\n });\n}\n\n/** Manage the checkbox enabling filtering on groups */\nconst emissionGroupCheckbox = computed({\n get(): boolean {\n return props.emissionGroups !== undefined && props.emissionGroups !== null;\n },\n set(value: boolean): void {\n if (value) {\n updateEmissionGroupFilter([]);\n } else {\n updateEmissionGroupFilter(undefined);\n }\n }\n});\n\n/** Update selected groups */\nfunction updateEmissionGroupFilter(groups: Array<EmissionGroup>|undefined): void {\n if (groups !== undefined && groups.length === 0) {\n emit('update:emission-groups', []);\n } else {\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.EmissionGroups]: groups?.map(g => g.groupId)\n });\n emit('update:emission-groups', groups);\n }\n}\n\n/** Update the beneficiaries filter */\nfunction updateBeneficiaries(value: string[]|undefined): void {\n emit('update:beneficiaries', value);\n if (value === undefined) {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: undefined });\n } else {\n updateRouteParamAdvanced({ [ROUTE_PARAMS.Beneficiaries]: value });\n }\n}\n\n/** Update the value of the beneficiaries checkbox */\nfunction updateBeneficiariesCheckbox(value: boolean): void {\n if (value === true) {\n emit('update:beneficiaries', []);\n } else {\n updateBeneficiaries(undefined);\n }\n}\n\n/** Update the value of the 'only mine' checkbox */\nfunction updateOnlyMineCheckbox(value: boolean): void {\n emit('update:only-my-episodes', value);\n updateRouteParamAdvanced({\n [ROUTE_PARAMS.OnlyMyEpisodes]: value || undefined\n });\n}\n\nfunction clickShowFilters(): void {\n if (!firstLoaded.value) {\n firstLoaded.value = true;\n }\n showFilters.value = !showFilters.value;\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n .advanced-search-container {\n background: var(--octopus-background);\n display: flex;\n width: 100%;\n padding-bottom: 1rem;\n justify-content: space-around;\n\n @media (width <= 720px) {\n flex-wrap: wrap;\n }\n }\n\n .advanced-search-enter-active,\n .advanced-search-leave-active {\n transition: 0.3s all;\n opacity: 1;\n max-height: 900px;\n height: auto;\n overflow: hidden;\n }\n\n .advanced-search-enter-from,\n .advanced-search-leave-to {\n opacity: 0;\n max-height: 0;\n overflow: hidden;\n }\n}\n</style>\n"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
2
- import { r as useFilterStore } from "./classicApi-CkDHWZG1.mjs";
2
+ import { r as useFilterStore } from "./classicApi-xjOqAovv.mjs";
3
3
  import { t as useRouteUpdateParams } from "./useRouteUpdateParams-DurlddRA.mjs";
4
4
  import { t as useGeneralStore } from "./GeneralStore-CUlq_NjO.mjs";
5
- import { t as useRubriquesFilterParam } from "./useRubriquesFilterParam--x07HEw1.mjs";
5
+ import { t as useRubriquesFilterParam } from "./useRubriquesFilterParam-Delgf48y.mjs";
6
6
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineAsyncComponent, defineComponent, normalizeClass, normalizeStyle, openBlock, ref, renderList, toDisplayString, vShow, watch, withDirectives } from "vue";
7
7
  import { useI18n } from "vue-i18n";
8
8
  import { useRoute } from "vue-router";
@@ -11,8 +11,8 @@ var CategoryFilter_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
11
11
  __name: "CategoryFilter",
12
12
  setup(__props, { expose: __expose }) {
13
13
  __expose();
14
- const CategoryList = defineAsyncComponent(() => import("./CategoryList-DkxZDrO5.mjs"));
15
- const RubriqueList = defineAsyncComponent(() => import("./RubriqueList-B94NM5yi.mjs"));
14
+ const CategoryList = defineAsyncComponent(() => import("./CategoryList-BTabY3vQ.mjs"));
15
+ const RubriqueList = defineAsyncComponent(() => import("./RubriqueList-TnVM2-Ry.mjs"));
16
16
  const RubriqueChooser = defineAsyncComponent(() => import("./RubriqueChooser-BceFw2x2.mjs"));
17
17
  const isCategories = ref(false);
18
18
  const { t } = useI18n();
@@ -234,4 +234,4 @@ var CategoryFilter_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Cat
234
234
  //#endregion
235
235
  export { CategoryFilter_default as default };
236
236
 
237
- //# sourceMappingURL=CategoryFilter-Cu2a0YE9.mjs.map
237
+ //# sourceMappingURL=CategoryFilter-CpplEC8n.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategoryFilter-CpplEC8n.mjs","names":[],"sources":["../src/components/display/categories/CategoryFilter.vue","../src/components/display/categories/CategoryFilter.vue"],"sourcesContent":["<template>\n <section\n v-show=\"isHeaderDisplay\"\n class=\"header-img flex-column justify-content-end\"\n :style=\"backgroundDisplay\"\n >\n <h1 v-if=\"isHeaderDisplay\" v-show=\"titleDisplay\">\n {{ titleDisplay ?? t(\"Home\") }}\n </h1>\n <div\n v-show=\"isDisplay\"\n class=\"d-flex-low-importance flex-column justify-content-end\"\n >\n <ol\n v-if=\"filterStore.filterIab || filterStore.filterRubrique.length\"\n class=\"octopus-breadcrumb\"\n >\n <li class=\"octopus-breadcrumb-li\">\n <a href=\"#\" @click=\"removeFilter(-1, $event)\">{{ t(\"All\") }}</a>\n </li>\n <li v-if=\"filterStore.filterIab\" class=\"octopus-breadcrumb-li\">\n {{ filterStore.filterIab.name }}\n </li>\n <li\n v-for=\"(filter, index) in filterStore.filterRubrique\"\n :key=\"filter.rubriqueId\"\n class=\"octopus-breadcrumb-li\"\n :class=\"filterStore.filterRubrique.length - 1 === index ? 'active' : ''\"\n >\n <a\n v-if=\"filterStore.filterRubrique.length - 1 !== index\"\n href=\"#\"\n @click=\"removeFilter(index, $event)\"\n >{{ filter.nameRubriquage }}</a\n >\n <div v-else class=\"fw-bold\">\n {{ filter.nameRubriquage }}\n </div>\n <div class=\"mx-1\">:</div>\n <RubriqueChooser\n v-if=\"getRubriquesLength(filter.rubriquageId)\"\n :id=\"'rubrique-chooser'+filter.rubriquageId\"\n class=\"ms-2 multiselect-transparent multiselect-white\"\n :multiple=\"false\"\n :rubrique-selected=\"filter.rubriqueId\"\n :all-rubriques=\"getRubriques(filter.rubriquageId)\"\n width=\"auto\"\n @selected=\"onRubriqueSelected(index, $event)\"\n />\n </li>\n </ol>\n <CategoryList\n v-if=\"!filterStore.filterIab && !rubriquageFilter.length\"\n :is-filter=\"true\"\n :is-display=\"isDisplay\"\n @categories-length=\"checkIfCategories\"\n />\n <RubriqueList\n v-else-if=\"\n isDisplay && rubriquageFilter.length !== filterStore.filterRubrique.length\n \"\n :rubriquages=\"rubriquageFilter\"\n />\n </div>\n </section>\n <section v-if=\"!isDisplay\" class=\"category-filter-no-filter\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { useI18n } from \"vue-i18n\";\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport { useRouteUpdateParams } from \"../../composable/route/useRouteUpdateParams\";\nimport { Rubriquage } from \"@/stores/class/rubrique/rubriquage\";\nimport { RubriquageFilter } from \"@/stores/class/rubrique/rubriquageFilter\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { defineAsyncComponent, ref, computed, watch } from \"vue\";\nimport { Category } from \"@/stores/class/general/category\";\nimport { useRoute } from \"vue-router\";\nconst CategoryList = defineAsyncComponent(() => import(\"./CategoryList.vue\"));\nconst RubriqueList = defineAsyncComponent(\n () => import(\"./../rubriques/RubriqueList.vue\"),\n);\nconst RubriqueChooser = defineAsyncComponent(\n () => import(\"../rubriques/RubriqueChooser.vue\"),\n);\n\n//Data \nconst isCategories = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { updateFiltersParam } = useRouteUpdateParams();\nconst { modifyRubriquesFilter } = useRubriquesFilterParam();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst route = useRoute();\n\n//Computed\nconst isDisplay = computed(() => {\n return (\n (\"homePriv\" === route.name ||\n \"home\" === route.name ||\n \"podcasts\" === route.name ||\n \"emissions\" === route.name) &&\n (isCategories.value ||\n undefined !== filterStore.filterIab ||\n 0 !== filterStore.filterRubrique.length ||\n 0 !== rubriquageFilter.value.length)\n );\n});\nconst isHeaderDisplay = computed(() => {\n return (\n isDisplay.value ||\n \"participants\" === route.name ||\n \"playlists\" === route.name\n );\n});\nconst rubriquageFilter = computed(() => filterStore.filterOrgaId ? filterStore.filterRubriquage : []);\nconst titleDisplay = computed(() => {\n switch (route.name) {\n case \"podcasts\":\n return t(\"All podcasts\");\n case \"emissions\":\n return t(\"All emissions\");\n case \"participants\":\n return t(\"All participants\");\n case \"playlists\":\n return t(\"All playlists\");\n default:\n return undefined;\n }\n});\nconst backgroundDisplay = computed(() => {\n let imgName = \"home\";\n switch (route.name) {\n case \"podcasts\":\n imgName = \"podcasts\";\n break;\n case \"emissions\":\n imgName = \"emissions\";\n break;\n case \"participants\":\n imgName = \"intervenants\";\n break;\n case \"playlists\":\n imgName = \"playlists\";\n break;\n default:\n break;\n }\n return `background-image: url('/img/header-${imgName}.webp');`;\n});\nconst routeFilterIab = computed(() => route.query.iabId);\nconst routeRubriques = computed(() => route.query.rubriquesId);\n\n\n//Watch\nwatch(routeFilterIab, () => {\n if (routeFilterIab.value && \"string\" === typeof routeFilterIab.value) {\n const iabId = parseInt(routeFilterIab.value, 10);\n const category = generalStore.storedCategories.filter((c: Category) => {\n return c.id === iabId;\n });\n if (category.length) {\n filterStore.filterUpdateIab(category[0]);\n }\n } else {\n filterStore.filterUpdateIab();\n }\n}, {deep: true, immediate: true});\nwatch(routeRubriques, () => {\n if (0 === filterStore.filterRubriquage.length) {\n return;\n }\n const rubriquesFilter: Array<RubriquageFilter> = [];\n if (\n route.query.rubriquesId &&\n \"string\" === typeof route.query.rubriquesId\n ) {\n const arrayFilter = route.query.rubriquesId.split(\",\");\n const filterLength = arrayFilter.length;\n for (let index = 0; index < filterLength; index++) {\n const rubriqueFilter = arrayFilter[index].split(\":\");\n const rubriquage = filterStore.filterRubriquage.find((x: Rubriquage) => {\n return x.rubriquageId === parseInt(rubriqueFilter[0]);\n });\n if (rubriquage) {\n const rubrique = rubriquage.rubriques.find((x: Rubrique) => {\n return x.rubriqueId === parseInt(rubriqueFilter[1]);\n });\n rubriquesFilter.push({\n rubriquageId: rubriquage.rubriquageId,\n rubriqueId: rubrique?.rubriqueId,\n nameRubriquage: rubriquage.title,\n nameRubrique: rubrique?.name,\n });\n }\n }\n }\n filterStore.filterUpdateRubrique(rubriquesFilter);\n}, {deep: true, immediate: true});\n\n\n//Methods\nfunction checkIfCategories(length: number): void {\n isCategories.value = 0 !== length;\n}\nfunction onRubriqueSelected(index: number, rubrique: Rubrique): void {\n if (\n !rubrique ||\n filterStore.filterRubrique[index].rubriqueId === rubrique.rubriqueId\n ) {\n return;\n }\n modifyRubriquesFilter((a) => {\n a[index].rubriqueId = rubrique.rubriqueId ?? 0;\n return a;\n });\n}\nfunction getRubriques(rubriquageId: number): Array<Rubrique> {\n const rubriquage = filterStore.filterRubriquage.find((x: Rubriquage) => {\n return x.rubriquageId === rubriquageId;\n });\n return rubriquage ? rubriquage.rubriques : [];\n}\nfunction getRubriquesLength(rubriquageId: number): number {\n const rubriquage = filterStore.filterRubriquage.find((x: Rubriquage) => {\n return x.rubriquageId === rubriquageId;\n });\n return rubriquage ? rubriquage.rubriques.length : 0;\n}\nfunction removeFilter(index: number, event?: { preventDefault: () => void }): void {\n if (filterStore.filterIab) {\n if (route.query.iabId) {\n updateFiltersParam({ iabId: undefined }, { i: undefined });\n }\n } else {\n modifyRubriquesFilter((a) => {\n a.splice(index + 1);\n return a;\n });\n }\n if (event) {\n event.preventDefault();\n }\n}\n</script>\n<style lang=\"scss\">\n.octopus-app {\n .header-img {\n display: flex;\n min-height: 10rem;\n background-size: cover;\n background-position: center;\n\n h1 {\n margin: auto 1rem;\n font-size: 2rem;\n color: white;\n }\n\n @media (width <= 960px) {\n min-height: 6rem;\n }\n }\n\n .octopus-breadcrumb {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n padding: 1rem;\n\n .octopus-breadcrumb-li {\n display: flex;\n align-items: center;\n list-style: none;\n color: white !important;\n\n a {\n color: white !important;\n font-weight: bold;\n }\n\n &::after {\n content: \"-\";\n margin: 0 0.5rem;\n }\n\n &:last-child {\n &::after {\n content: \"\";\n }\n }\n }\n }\n}\n</style>\n","<template>\n <section\n v-show=\"isHeaderDisplay\"\n class=\"header-img flex-column justify-content-end\"\n :style=\"backgroundDisplay\"\n >\n <h1 v-if=\"isHeaderDisplay\" v-show=\"titleDisplay\">\n {{ titleDisplay ?? t(\"Home\") }}\n </h1>\n <div\n v-show=\"isDisplay\"\n class=\"d-flex-low-importance flex-column justify-content-end\"\n >\n <ol\n v-if=\"filterStore.filterIab || filterStore.filterRubrique.length\"\n class=\"octopus-breadcrumb\"\n >\n <li class=\"octopus-breadcrumb-li\">\n <a href=\"#\" @click=\"removeFilter(-1, $event)\">{{ t(\"All\") }}</a>\n </li>\n <li v-if=\"filterStore.filterIab\" class=\"octopus-breadcrumb-li\">\n {{ filterStore.filterIab.name }}\n </li>\n <li\n v-for=\"(filter, index) in filterStore.filterRubrique\"\n :key=\"filter.rubriqueId\"\n class=\"octopus-breadcrumb-li\"\n :class=\"filterStore.filterRubrique.length - 1 === index ? 'active' : ''\"\n >\n <a\n v-if=\"filterStore.filterRubrique.length - 1 !== index\"\n href=\"#\"\n @click=\"removeFilter(index, $event)\"\n >{{ filter.nameRubriquage }}</a\n >\n <div v-else class=\"fw-bold\">\n {{ filter.nameRubriquage }}\n </div>\n <div class=\"mx-1\">:</div>\n <RubriqueChooser\n v-if=\"getRubriquesLength(filter.rubriquageId)\"\n :id=\"'rubrique-chooser'+filter.rubriquageId\"\n class=\"ms-2 multiselect-transparent multiselect-white\"\n :multiple=\"false\"\n :rubrique-selected=\"filter.rubriqueId\"\n :all-rubriques=\"getRubriques(filter.rubriquageId)\"\n width=\"auto\"\n @selected=\"onRubriqueSelected(index, $event)\"\n />\n </li>\n </ol>\n <CategoryList\n v-if=\"!filterStore.filterIab && !rubriquageFilter.length\"\n :is-filter=\"true\"\n :is-display=\"isDisplay\"\n @categories-length=\"checkIfCategories\"\n />\n <RubriqueList\n v-else-if=\"\n isDisplay && rubriquageFilter.length !== filterStore.filterRubrique.length\n \"\n :rubriquages=\"rubriquageFilter\"\n />\n </div>\n </section>\n <section v-if=\"!isDisplay\" class=\"category-filter-no-filter\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { useI18n } from \"vue-i18n\";\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport { useRouteUpdateParams } from \"../../composable/route/useRouteUpdateParams\";\nimport { Rubriquage } from \"@/stores/class/rubrique/rubriquage\";\nimport { RubriquageFilter } from \"@/stores/class/rubrique/rubriquageFilter\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { defineAsyncComponent, ref, computed, watch } from \"vue\";\nimport { Category } from \"@/stores/class/general/category\";\nimport { useRoute } from \"vue-router\";\nconst CategoryList = defineAsyncComponent(() => import(\"./CategoryList.vue\"));\nconst RubriqueList = defineAsyncComponent(\n () => import(\"./../rubriques/RubriqueList.vue\"),\n);\nconst RubriqueChooser = defineAsyncComponent(\n () => import(\"../rubriques/RubriqueChooser.vue\"),\n);\n\n//Data \nconst isCategories = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { updateFiltersParam } = useRouteUpdateParams();\nconst { modifyRubriquesFilter } = useRubriquesFilterParam();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst route = useRoute();\n\n//Computed\nconst isDisplay = computed(() => {\n return (\n (\"homePriv\" === route.name ||\n \"home\" === route.name ||\n \"podcasts\" === route.name ||\n \"emissions\" === route.name) &&\n (isCategories.value ||\n undefined !== filterStore.filterIab ||\n 0 !== filterStore.filterRubrique.length ||\n 0 !== rubriquageFilter.value.length)\n );\n});\nconst isHeaderDisplay = computed(() => {\n return (\n isDisplay.value ||\n \"participants\" === route.name ||\n \"playlists\" === route.name\n );\n});\nconst rubriquageFilter = computed(() => filterStore.filterOrgaId ? filterStore.filterRubriquage : []);\nconst titleDisplay = computed(() => {\n switch (route.name) {\n case \"podcasts\":\n return t(\"All podcasts\");\n case \"emissions\":\n return t(\"All emissions\");\n case \"participants\":\n return t(\"All participants\");\n case \"playlists\":\n return t(\"All playlists\");\n default:\n return undefined;\n }\n});\nconst backgroundDisplay = computed(() => {\n let imgName = \"home\";\n switch (route.name) {\n case \"podcasts\":\n imgName = \"podcasts\";\n break;\n case \"emissions\":\n imgName = \"emissions\";\n break;\n case \"participants\":\n imgName = \"intervenants\";\n break;\n case \"playlists\":\n imgName = \"playlists\";\n break;\n default:\n break;\n }\n return `background-image: url('/img/header-${imgName}.webp');`;\n});\nconst routeFilterIab = computed(() => route.query.iabId);\nconst routeRubriques = computed(() => route.query.rubriquesId);\n\n\n//Watch\nwatch(routeFilterIab, () => {\n if (routeFilterIab.value && \"string\" === typeof routeFilterIab.value) {\n const iabId = parseInt(routeFilterIab.value, 10);\n const category = generalStore.storedCategories.filter((c: Category) => {\n return c.id === iabId;\n });\n if (category.length) {\n filterStore.filterUpdateIab(category[0]);\n }\n } else {\n filterStore.filterUpdateIab();\n }\n}, {deep: true, immediate: true});\nwatch(routeRubriques, () => {\n if (0 === filterStore.filterRubriquage.length) {\n return;\n }\n const rubriquesFilter: Array<RubriquageFilter> = [];\n if (\n route.query.rubriquesId &&\n \"string\" === typeof route.query.rubriquesId\n ) {\n const arrayFilter = route.query.rubriquesId.split(\",\");\n const filterLength = arrayFilter.length;\n for (let index = 0; index < filterLength; index++) {\n const rubriqueFilter = arrayFilter[index].split(\":\");\n const rubriquage = filterStore.filterRubriquage.find((x: Rubriquage) => {\n return x.rubriquageId === parseInt(rubriqueFilter[0]);\n });\n if (rubriquage) {\n const rubrique = rubriquage.rubriques.find((x: Rubrique) => {\n return x.rubriqueId === parseInt(rubriqueFilter[1]);\n });\n rubriquesFilter.push({\n rubriquageId: rubriquage.rubriquageId,\n rubriqueId: rubrique?.rubriqueId,\n nameRubriquage: rubriquage.title,\n nameRubrique: rubrique?.name,\n });\n }\n }\n }\n filterStore.filterUpdateRubrique(rubriquesFilter);\n}, {deep: true, immediate: true});\n\n\n//Methods\nfunction checkIfCategories(length: number): void {\n isCategories.value = 0 !== length;\n}\nfunction onRubriqueSelected(index: number, rubrique: Rubrique): void {\n if (\n !rubrique ||\n filterStore.filterRubrique[index].rubriqueId === rubrique.rubriqueId\n ) {\n return;\n }\n modifyRubriquesFilter((a) => {\n a[index].rubriqueId = rubrique.rubriqueId ?? 0;\n return a;\n });\n}\nfunction getRubriques(rubriquageId: number): Array<Rubrique> {\n const rubriquage = filterStore.filterRubriquage.find((x: Rubriquage) => {\n return x.rubriquageId === rubriquageId;\n });\n return rubriquage ? rubriquage.rubriques : [];\n}\nfunction getRubriquesLength(rubriquageId: number): number {\n const rubriquage = filterStore.filterRubriquage.find((x: Rubriquage) => {\n return x.rubriquageId === rubriquageId;\n });\n return rubriquage ? rubriquage.rubriques.length : 0;\n}\nfunction removeFilter(index: number, event?: { preventDefault: () => void }): void {\n if (filterStore.filterIab) {\n if (route.query.iabId) {\n updateFiltersParam({ iabId: undefined }, { i: undefined });\n }\n } else {\n modifyRubriquesFilter((a) => {\n a.splice(index + 1);\n return a;\n });\n }\n if (event) {\n event.preventDefault();\n }\n}\n</script>\n<style lang=\"scss\">\n.octopus-app {\n .header-img {\n display: flex;\n min-height: 10rem;\n background-size: cover;\n background-position: center;\n\n h1 {\n margin: auto 1rem;\n font-size: 2rem;\n color: white;\n }\n\n @media (width <= 960px) {\n min-height: 6rem;\n }\n }\n\n .octopus-breadcrumb {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n padding: 1rem;\n\n .octopus-breadcrumb-li {\n display: flex;\n align-items: center;\n list-style: none;\n color: white !important;\n\n a {\n color: white !important;\n font-weight: bold;\n }\n\n &::after {\n content: \"-\";\n margin: 0 0.5rem;\n }\n\n &:last-child {\n &::after {\n content: \"\";\n }\n }\n }\n }\n}\n</style>\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategoryFilter-cbQR_ySd.mjs","names":[],"sources":["../src/components/display/categories/CategoryFilter.vue","../src/components/display/categories/CategoryFilter.vue"],"sourcesContent":["<template>\n <section\n v-show=\"isHeaderDisplay\"\n class=\"header-img flex-column justify-content-end\"\n :style=\"backgroundDisplay\"\n >\n <h1 v-if=\"isHeaderDisplay\" v-show=\"titleDisplay\">\n {{ titleDisplay ?? t(\"Home\") }}\n </h1>\n <div\n v-show=\"isDisplay\"\n class=\"d-flex-low-importance flex-column justify-content-end\"\n >\n <ol\n v-if=\"filterStore.filterIab || filterStore.filterRubrique.length\"\n class=\"octopus-breadcrumb\"\n >\n <li class=\"octopus-breadcrumb-li\">\n <a href=\"#\" @click=\"removeFilter(-1, $event)\">{{ t(\"All\") }}</a>\n </li>\n <li v-if=\"filterStore.filterIab\" class=\"octopus-breadcrumb-li\">\n {{ filterStore.filterIab.name }}\n </li>\n <li\n v-for=\"(filter, index) in filterStore.filterRubrique\"\n :key=\"filter.rubriqueId\"\n class=\"octopus-breadcrumb-li\"\n :class=\"filterStore.filterRubrique.length - 1 === index ? 'active' : ''\"\n >\n <a\n v-if=\"filterStore.filterRubrique.length - 1 !== index\"\n href=\"#\"\n @click=\"removeFilter(index, $event)\"\n >{{ filter.nameRubriquage }}</a\n >\n <div v-else class=\"fw-bold\">\n {{ filter.nameRubriquage }}\n </div>\n <div class=\"mx-1\">:</div>\n <RubriqueChooser\n v-if=\"getRubriquesLength(filter.rubriquageId)\"\n :id=\"'rubrique-chooser'+filter.rubriquageId\"\n class=\"ms-2 multiselect-transparent multiselect-white\"\n :multiple=\"false\"\n :rubrique-selected=\"filter.rubriqueId\"\n :all-rubriques=\"getRubriques(filter.rubriquageId)\"\n width=\"auto\"\n @selected=\"onRubriqueSelected(index, $event)\"\n />\n </li>\n </ol>\n <CategoryList\n v-if=\"!filterStore.filterIab && !rubriquageFilter.length\"\n :is-filter=\"true\"\n :is-display=\"isDisplay\"\n @categories-length=\"checkIfCategories\"\n />\n <RubriqueList\n v-else-if=\"\n isDisplay && rubriquageFilter.length !== filterStore.filterRubrique.length\n \"\n :rubriquages=\"rubriquageFilter\"\n />\n </div>\n </section>\n <section v-if=\"!isDisplay\" class=\"category-filter-no-filter\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { useI18n } from \"vue-i18n\";\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport { useRouteUpdateParams } from \"../../composable/route/useRouteUpdateParams\";\nimport { Rubriquage } from \"@/stores/class/rubrique/rubriquage\";\nimport { RubriquageFilter } from \"@/stores/class/rubrique/rubriquageFilter\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { defineAsyncComponent, ref, computed, watch } from \"vue\";\nimport { Category } from \"@/stores/class/general/category\";\nimport { useRoute } from \"vue-router\";\nconst CategoryList = defineAsyncComponent(() => import(\"./CategoryList.vue\"));\nconst RubriqueList = defineAsyncComponent(\n () => import(\"./../rubriques/RubriqueList.vue\"),\n);\nconst RubriqueChooser = defineAsyncComponent(\n () => import(\"../rubriques/RubriqueChooser.vue\"),\n);\n\n//Data \nconst isCategories = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { updateFiltersParam } = useRouteUpdateParams();\nconst { modifyRubriquesFilter } = useRubriquesFilterParam();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst route = useRoute();\n\n//Computed\nconst isDisplay = computed(() => {\n return (\n (\"homePriv\" === route.name ||\n \"home\" === route.name ||\n \"podcasts\" === route.name ||\n \"emissions\" === route.name) &&\n (isCategories.value ||\n undefined !== filterStore.filterIab ||\n 0 !== filterStore.filterRubrique.length ||\n 0 !== rubriquageFilter.value.length)\n );\n});\nconst isHeaderDisplay = computed(() => {\n return (\n isDisplay.value ||\n \"participants\" === route.name ||\n \"playlists\" === route.name\n );\n});\nconst rubriquageFilter = computed(() => filterStore.filterOrgaId ? filterStore.filterRubriquage : []);\nconst titleDisplay = computed(() => {\n switch (route.name) {\n case \"podcasts\":\n return t(\"All podcasts\");\n case \"emissions\":\n return t(\"All emissions\");\n case \"participants\":\n return t(\"All participants\");\n case \"playlists\":\n return t(\"All playlists\");\n default:\n return undefined;\n }\n});\nconst backgroundDisplay = computed(() => {\n let imgName = \"home\";\n switch (route.name) {\n case \"podcasts\":\n imgName = \"podcasts\";\n break;\n case \"emissions\":\n imgName = \"emissions\";\n break;\n case \"participants\":\n imgName = \"intervenants\";\n break;\n case \"playlists\":\n imgName = \"playlists\";\n break;\n default:\n break;\n }\n return `background-image: url('/img/header-${imgName}.webp');`;\n});\nconst routeFilterIab = computed(() => route.query.iabId);\nconst routeRubriques = computed(() => route.query.rubriquesId);\n\n\n//Watch\nwatch(routeFilterIab, () => {\n if (routeFilterIab.value && \"string\" === typeof routeFilterIab.value) {\n const iabId = parseInt(routeFilterIab.value, 10);\n const category = generalStore.storedCategories.filter((c: Category) => {\n return c.id === iabId;\n });\n if (category.length) {\n filterStore.filterUpdateIab(category[0]);\n }\n } else {\n filterStore.filterUpdateIab();\n }\n}, {deep: true, immediate: true});\nwatch(routeRubriques, () => {\n if (0 === filterStore.filterRubriquage.length) {\n return;\n }\n const rubriquesFilter: Array<RubriquageFilter> = [];\n if (\n route.query.rubriquesId &&\n \"string\" === typeof route.query.rubriquesId\n ) {\n const arrayFilter = route.query.rubriquesId.split(\",\");\n const filterLength = arrayFilter.length;\n for (let index = 0; index < filterLength; index++) {\n const rubriqueFilter = arrayFilter[index].split(\":\");\n const rubriquage = filterStore.filterRubriquage.find((x: Rubriquage) => {\n return x.rubriquageId === parseInt(rubriqueFilter[0]);\n });\n if (rubriquage) {\n const rubrique = rubriquage.rubriques.find((x: Rubrique) => {\n return x.rubriqueId === parseInt(rubriqueFilter[1]);\n });\n rubriquesFilter.push({\n rubriquageId: rubriquage.rubriquageId,\n rubriqueId: rubrique?.rubriqueId,\n nameRubriquage: rubriquage.title,\n nameRubrique: rubrique?.name,\n });\n }\n }\n }\n filterStore.filterUpdateRubrique(rubriquesFilter);\n}, {deep: true, immediate: true});\n\n\n//Methods\nfunction checkIfCategories(length: number): void {\n isCategories.value = 0 !== length;\n}\nfunction onRubriqueSelected(index: number, rubrique: Rubrique): void {\n if (\n !rubrique ||\n filterStore.filterRubrique[index].rubriqueId === rubrique.rubriqueId\n ) {\n return;\n }\n modifyRubriquesFilter((a) => {\n a[index].rubriqueId = rubrique.rubriqueId ?? 0;\n return a;\n });\n}\nfunction getRubriques(rubriquageId: number): Array<Rubrique> {\n const rubriquage = filterStore.filterRubriquage.find((x: Rubriquage) => {\n return x.rubriquageId === rubriquageId;\n });\n return rubriquage ? rubriquage.rubriques : [];\n}\nfunction getRubriquesLength(rubriquageId: number): number {\n const rubriquage = filterStore.filterRubriquage.find((x: Rubriquage) => {\n return x.rubriquageId === rubriquageId;\n });\n return rubriquage ? rubriquage.rubriques.length : 0;\n}\nfunction removeFilter(index: number, event?: { preventDefault: () => void }): void {\n if (filterStore.filterIab) {\n if (route.query.iabId) {\n updateFiltersParam({ iabId: undefined }, { i: undefined });\n }\n } else {\n modifyRubriquesFilter((a) => {\n a.splice(index + 1);\n return a;\n });\n }\n if (event) {\n event.preventDefault();\n }\n}\n</script>\n<style lang=\"scss\">\n.octopus-app {\n .header-img {\n display: flex;\n min-height: 10rem;\n background-size: cover;\n background-position: center;\n\n h1 {\n margin: auto 1rem;\n font-size: 2rem;\n color: white;\n }\n\n @media (width <= 960px) {\n min-height: 6rem;\n }\n }\n\n .octopus-breadcrumb {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n padding: 1rem;\n\n .octopus-breadcrumb-li {\n display: flex;\n align-items: center;\n list-style: none;\n color: white !important;\n\n a {\n color: white !important;\n font-weight: bold;\n }\n\n &::after {\n content: \"-\";\n margin: 0 0.5rem;\n }\n\n &:last-child {\n &::after {\n content: \"\";\n }\n }\n }\n }\n}\n</style>\n","<template>\n <section\n v-show=\"isHeaderDisplay\"\n class=\"header-img flex-column justify-content-end\"\n :style=\"backgroundDisplay\"\n >\n <h1 v-if=\"isHeaderDisplay\" v-show=\"titleDisplay\">\n {{ titleDisplay ?? t(\"Home\") }}\n </h1>\n <div\n v-show=\"isDisplay\"\n class=\"d-flex-low-importance flex-column justify-content-end\"\n >\n <ol\n v-if=\"filterStore.filterIab || filterStore.filterRubrique.length\"\n class=\"octopus-breadcrumb\"\n >\n <li class=\"octopus-breadcrumb-li\">\n <a href=\"#\" @click=\"removeFilter(-1, $event)\">{{ t(\"All\") }}</a>\n </li>\n <li v-if=\"filterStore.filterIab\" class=\"octopus-breadcrumb-li\">\n {{ filterStore.filterIab.name }}\n </li>\n <li\n v-for=\"(filter, index) in filterStore.filterRubrique\"\n :key=\"filter.rubriqueId\"\n class=\"octopus-breadcrumb-li\"\n :class=\"filterStore.filterRubrique.length - 1 === index ? 'active' : ''\"\n >\n <a\n v-if=\"filterStore.filterRubrique.length - 1 !== index\"\n href=\"#\"\n @click=\"removeFilter(index, $event)\"\n >{{ filter.nameRubriquage }}</a\n >\n <div v-else class=\"fw-bold\">\n {{ filter.nameRubriquage }}\n </div>\n <div class=\"mx-1\">:</div>\n <RubriqueChooser\n v-if=\"getRubriquesLength(filter.rubriquageId)\"\n :id=\"'rubrique-chooser'+filter.rubriquageId\"\n class=\"ms-2 multiselect-transparent multiselect-white\"\n :multiple=\"false\"\n :rubrique-selected=\"filter.rubriqueId\"\n :all-rubriques=\"getRubriques(filter.rubriquageId)\"\n width=\"auto\"\n @selected=\"onRubriqueSelected(index, $event)\"\n />\n </li>\n </ol>\n <CategoryList\n v-if=\"!filterStore.filterIab && !rubriquageFilter.length\"\n :is-filter=\"true\"\n :is-display=\"isDisplay\"\n @categories-length=\"checkIfCategories\"\n />\n <RubriqueList\n v-else-if=\"\n isDisplay && rubriquageFilter.length !== filterStore.filterRubrique.length\n \"\n :rubriquages=\"rubriquageFilter\"\n />\n </div>\n </section>\n <section v-if=\"!isDisplay\" class=\"category-filter-no-filter\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { useI18n } from \"vue-i18n\";\nimport { useRubriquesFilterParam } from \"../../composable/route/useRubriquesFilterParam\";\nimport { useRouteUpdateParams } from \"../../composable/route/useRouteUpdateParams\";\nimport { Rubriquage } from \"@/stores/class/rubrique/rubriquage\";\nimport { RubriquageFilter } from \"@/stores/class/rubrique/rubriquageFilter\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { defineAsyncComponent, ref, computed, watch } from \"vue\";\nimport { Category } from \"@/stores/class/general/category\";\nimport { useRoute } from \"vue-router\";\nconst CategoryList = defineAsyncComponent(() => import(\"./CategoryList.vue\"));\nconst RubriqueList = defineAsyncComponent(\n () => import(\"./../rubriques/RubriqueList.vue\"),\n);\nconst RubriqueChooser = defineAsyncComponent(\n () => import(\"../rubriques/RubriqueChooser.vue\"),\n);\n\n//Data \nconst isCategories = ref(false);\n\n//Composables\nconst { t } = useI18n();\nconst { updateFiltersParam } = useRouteUpdateParams();\nconst { modifyRubriquesFilter } = useRubriquesFilterParam();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst route = useRoute();\n\n//Computed\nconst isDisplay = computed(() => {\n return (\n (\"homePriv\" === route.name ||\n \"home\" === route.name ||\n \"podcasts\" === route.name ||\n \"emissions\" === route.name) &&\n (isCategories.value ||\n undefined !== filterStore.filterIab ||\n 0 !== filterStore.filterRubrique.length ||\n 0 !== rubriquageFilter.value.length)\n );\n});\nconst isHeaderDisplay = computed(() => {\n return (\n isDisplay.value ||\n \"participants\" === route.name ||\n \"playlists\" === route.name\n );\n});\nconst rubriquageFilter = computed(() => filterStore.filterOrgaId ? filterStore.filterRubriquage : []);\nconst titleDisplay = computed(() => {\n switch (route.name) {\n case \"podcasts\":\n return t(\"All podcasts\");\n case \"emissions\":\n return t(\"All emissions\");\n case \"participants\":\n return t(\"All participants\");\n case \"playlists\":\n return t(\"All playlists\");\n default:\n return undefined;\n }\n});\nconst backgroundDisplay = computed(() => {\n let imgName = \"home\";\n switch (route.name) {\n case \"podcasts\":\n imgName = \"podcasts\";\n break;\n case \"emissions\":\n imgName = \"emissions\";\n break;\n case \"participants\":\n imgName = \"intervenants\";\n break;\n case \"playlists\":\n imgName = \"playlists\";\n break;\n default:\n break;\n }\n return `background-image: url('/img/header-${imgName}.webp');`;\n});\nconst routeFilterIab = computed(() => route.query.iabId);\nconst routeRubriques = computed(() => route.query.rubriquesId);\n\n\n//Watch\nwatch(routeFilterIab, () => {\n if (routeFilterIab.value && \"string\" === typeof routeFilterIab.value) {\n const iabId = parseInt(routeFilterIab.value, 10);\n const category = generalStore.storedCategories.filter((c: Category) => {\n return c.id === iabId;\n });\n if (category.length) {\n filterStore.filterUpdateIab(category[0]);\n }\n } else {\n filterStore.filterUpdateIab();\n }\n}, {deep: true, immediate: true});\nwatch(routeRubriques, () => {\n if (0 === filterStore.filterRubriquage.length) {\n return;\n }\n const rubriquesFilter: Array<RubriquageFilter> = [];\n if (\n route.query.rubriquesId &&\n \"string\" === typeof route.query.rubriquesId\n ) {\n const arrayFilter = route.query.rubriquesId.split(\",\");\n const filterLength = arrayFilter.length;\n for (let index = 0; index < filterLength; index++) {\n const rubriqueFilter = arrayFilter[index].split(\":\");\n const rubriquage = filterStore.filterRubriquage.find((x: Rubriquage) => {\n return x.rubriquageId === parseInt(rubriqueFilter[0]);\n });\n if (rubriquage) {\n const rubrique = rubriquage.rubriques.find((x: Rubrique) => {\n return x.rubriqueId === parseInt(rubriqueFilter[1]);\n });\n rubriquesFilter.push({\n rubriquageId: rubriquage.rubriquageId,\n rubriqueId: rubrique?.rubriqueId,\n nameRubriquage: rubriquage.title,\n nameRubrique: rubrique?.name,\n });\n }\n }\n }\n filterStore.filterUpdateRubrique(rubriquesFilter);\n}, {deep: true, immediate: true});\n\n\n//Methods\nfunction checkIfCategories(length: number): void {\n isCategories.value = 0 !== length;\n}\nfunction onRubriqueSelected(index: number, rubrique: Rubrique): void {\n if (\n !rubrique ||\n filterStore.filterRubrique[index].rubriqueId === rubrique.rubriqueId\n ) {\n return;\n }\n modifyRubriquesFilter((a) => {\n a[index].rubriqueId = rubrique.rubriqueId ?? 0;\n return a;\n });\n}\nfunction getRubriques(rubriquageId: number): Array<Rubrique> {\n const rubriquage = filterStore.filterRubriquage.find((x: Rubriquage) => {\n return x.rubriquageId === rubriquageId;\n });\n return rubriquage ? rubriquage.rubriques : [];\n}\nfunction getRubriquesLength(rubriquageId: number): number {\n const rubriquage = filterStore.filterRubriquage.find((x: Rubriquage) => {\n return x.rubriquageId === rubriquageId;\n });\n return rubriquage ? rubriquage.rubriques.length : 0;\n}\nfunction removeFilter(index: number, event?: { preventDefault: () => void }): void {\n if (filterStore.filterIab) {\n if (route.query.iabId) {\n updateFiltersParam({ iabId: undefined }, { i: undefined });\n }\n } else {\n modifyRubriquesFilter((a) => {\n a.splice(index + 1);\n return a;\n });\n }\n if (event) {\n event.preventDefault();\n }\n}\n</script>\n<style lang=\"scss\">\n.octopus-app {\n .header-img {\n display: flex;\n min-height: 10rem;\n background-size: cover;\n background-position: center;\n\n h1 {\n margin: auto 1rem;\n font-size: 2rem;\n color: white;\n }\n\n @media (width <= 960px) {\n min-height: 6rem;\n }\n }\n\n .octopus-breadcrumb {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n padding: 1rem;\n\n .octopus-breadcrumb-li {\n display: flex;\n align-items: center;\n list-style: none;\n color: white !important;\n\n a {\n color: white !important;\n font-weight: bold;\n }\n\n &::after {\n content: \"-\";\n margin: 0 0.5rem;\n }\n\n &:last-child {\n &::after {\n content: \"\";\n }\n }\n }\n }\n}\n</style>\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
2
- import { A as state, r as useFilterStore, t as classicApi_default } from "./classicApi-CkDHWZG1.mjs";
2
+ import { A as state, r as useFilterStore, t as classicApi_default } from "./classicApi-xjOqAovv.mjs";
3
3
  import { t as useRouteUpdateParams } from "./useRouteUpdateParams-DurlddRA.mjs";
4
4
  import { t as useGeneralStore } from "./GeneralStore-CUlq_NjO.mjs";
5
5
  import { t as ClassicPopover_default } from "./ClassicPopover-BIyLKorz.mjs";
@@ -179,4 +179,4 @@ var CategoryList_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Categ
179
179
  //#endregion
180
180
  export { CategoryList_default as default };
181
181
 
182
- //# sourceMappingURL=CategoryList-DkxZDrO5.mjs.map
182
+ //# sourceMappingURL=CategoryList-BTabY3vQ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategoryList-BTabY3vQ.mjs","names":[],"sources":["../src/components/display/categories/CategoryList.vue","../src/components/display/categories/CategoryList.vue"],"sourcesContent":["<template>\n <div\n v-if=\"categories.length\"\n class=\"d-inline-flex w-100 mb-3 ps-3 pe-3 category-list hide-phone\"\n >\n <div ref=\"categoryListContainer\" class=\"category-list-container\">\n <button\n v-for=\"category in categories\"\n :id=\"'category' + category.id\"\n :key=\"category.id\"\n class=\"btn btn-primary btn-on-dark m-1\"\n @click=\"checkIfFilter(category)\"\n >\n {{ category.name }}\n </button>\n </div>\n <button\n v-show=\"hidenCategories.length\"\n id=\"categories-dropdown\"\n class=\"btn btn-primary btn-on-dark m-1\"\n :title=\"t('See more')\"\n >\n <PlusIcon />\n </button>\n <ClassicPopover\n target=\"categories-dropdown\"\n :only-click=\"true\"\n :left-pos=\"true\"\n >\n <button\n v-for=\"category in hidenCategories\"\n :key=\"category.id\"\n class=\"me-3 octopus-dropdown-item\"\n @keydown.enter=\"checkIfFilter(category)\"\n @mousedown=\"checkIfFilter(category)\"\n >\n {{ category.name }}\n </button>\n </ClassicPopover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport PlusIcon from \"vue-material-design-icons/Plus.vue\";\nimport { useRouteUpdateParams } from \"../../composable/route/useRouteUpdateParams\";\nimport classicApi from \"../../../api/classicApi\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport ClassicPopover from \"../../misc/ClassicPopover.vue\";\nimport { Category } from \"@/stores/class/general/category\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { computed, nextTick, onMounted, onUnmounted, Ref, ref, useTemplateRef, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute, useRouter } from \"vue-router\";\n\n//Props \nconst props = defineProps({\n isFilter: { default: false, type: Boolean },\n isDisplay: { default: false, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits([\"categoriesLength\"]);\n\n//Data \nconst hidenCategories: Ref<Array<Category>> = ref([]);\nconst categoryListRef = useTemplateRef('categoryListContainer');\n\n//Composables\nconst { t, locale } = useI18n();\nconst { updateFiltersParam } = useRouteUpdateParams();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst router = useRouter();\nconst route = useRoute();\n\n//Computed\nconst categories = computed(() => {\n let arrayCategories: Array<Category> = [];\n if (filterStore.filterOrgaId) {\n arrayCategories = generalStore.storedCategoriesOrga.filter((c: Category) => {\n return c.podcastOrganisationCount;\n });\n } else {\n arrayCategories = generalStore.storedCategories.filter((c: Category) => {\n if (state.generalParameters.podcastmaker) return c.podcastOrganisationCount;\n return c.podcastCount;\n });\n }\n emit(\"categoriesLength\", arrayCategories.length);\n return arrayCategories;\n});\nconst watchVariable = computed(() => `${props.isDisplay}|${categories.value}`);\nconst reloadVariable = computed(() => `${filterStore.filterOrgaId}|${generalStore.storedCategories}`);\n\n\n//Watch\nwatch(watchVariable, () => {\n nextTick(() => {\n resizeWindow();\n });\n}, {deep: true, immediate: true});\nwatch(reloadVariable, () => {\n if (filterStore.filterOrgaId) {\n fetchCategories(filterStore.filterOrgaId);\n }\n}, {deep: true, immediate: true});\n\n\nonMounted(()=>window.addEventListener(\"resize\", resizeWindow))\nonUnmounted(()=>window.removeEventListener(\"resize\", resizeWindow))\n\n\n//Methods\nfunction checkIfFilter(category: Category): void {\n if (!props.isFilter) {\n router.push({\n name: \"category\",\n params: { iabId: category.id.toString() },\n });\n return;\n }\n const queries = route.query;\n if (\n !queries.iabId ||\n (\"string\" === typeof queries.iabId &&\n parseInt(queries.iabId, 10) !== category.id)\n ) {\n updateFiltersParam(\n { iabId: category.id.toString() },\n { i: category.id.toString() },\n );\n }\n}\nfunction resizeWindow(): void {\n const categoryList = categoryListRef?.value as HTMLElement;\n if (null === categoryList || !categoryList) {\n return;\n }\n categoryList.style.justifyContent = \"flex-start\";\n hidenCategories.value.length = 0;\n categories.value.forEach((element: Category) => {\n const el = categoryList.querySelector('#category' + element.id);\n if (!el) return;\n if (el.classList.contains(\"hid\")) {\n el.classList.remove(\"hid\");\n }\n });\n categories.value.forEach((element: Category) => {\n const el = categoryList.querySelector('#category' + element.id);\n if (!el) return;\n const parent = el.parentElement;\n if (\n parent &&\n el.offsetLeft + el.clientWidth <= parent.clientWidth - 20\n ) {\n return;\n }\n hidenCategories.value.push(element);\n if (!el.classList.contains(\"hid\")) {\n el.className += \" hid\";\n }\n });\n if (!hidenCategories.value.length) {\n categoryList.style.justifyContent = \"center\";\n }\n}\nasync function fetchCategories(organisationId: string): Promise<void> {\n const data = await classicApi.fetchData<Array<Category>>({\n api: 0,\n path: `iab/list/${organisationId}`,\n parameters: { lang: locale.value },\n });\n generalStore.storedUpdateCategoriesOrga(data);\n}\n</script>\n<style lang=\"scss\">\n.octopus-app {\n .category-list-container {\n display: inline-flex;\n justify-content: flex-start;\n overflow: hidden;\n flex-grow: 1;\n width: 0;\n }\n}\n</style>\n","<template>\n <div\n v-if=\"categories.length\"\n class=\"d-inline-flex w-100 mb-3 ps-3 pe-3 category-list hide-phone\"\n >\n <div ref=\"categoryListContainer\" class=\"category-list-container\">\n <button\n v-for=\"category in categories\"\n :id=\"'category' + category.id\"\n :key=\"category.id\"\n class=\"btn btn-primary btn-on-dark m-1\"\n @click=\"checkIfFilter(category)\"\n >\n {{ category.name }}\n </button>\n </div>\n <button\n v-show=\"hidenCategories.length\"\n id=\"categories-dropdown\"\n class=\"btn btn-primary btn-on-dark m-1\"\n :title=\"t('See more')\"\n >\n <PlusIcon />\n </button>\n <ClassicPopover\n target=\"categories-dropdown\"\n :only-click=\"true\"\n :left-pos=\"true\"\n >\n <button\n v-for=\"category in hidenCategories\"\n :key=\"category.id\"\n class=\"me-3 octopus-dropdown-item\"\n @keydown.enter=\"checkIfFilter(category)\"\n @mousedown=\"checkIfFilter(category)\"\n >\n {{ category.name }}\n </button>\n </ClassicPopover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport PlusIcon from \"vue-material-design-icons/Plus.vue\";\nimport { useRouteUpdateParams } from \"../../composable/route/useRouteUpdateParams\";\nimport classicApi from \"../../../api/classicApi\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport ClassicPopover from \"../../misc/ClassicPopover.vue\";\nimport { Category } from \"@/stores/class/general/category\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { computed, nextTick, onMounted, onUnmounted, Ref, ref, useTemplateRef, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute, useRouter } from \"vue-router\";\n\n//Props \nconst props = defineProps({\n isFilter: { default: false, type: Boolean },\n isDisplay: { default: false, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits([\"categoriesLength\"]);\n\n//Data \nconst hidenCategories: Ref<Array<Category>> = ref([]);\nconst categoryListRef = useTemplateRef('categoryListContainer');\n\n//Composables\nconst { t, locale } = useI18n();\nconst { updateFiltersParam } = useRouteUpdateParams();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst router = useRouter();\nconst route = useRoute();\n\n//Computed\nconst categories = computed(() => {\n let arrayCategories: Array<Category> = [];\n if (filterStore.filterOrgaId) {\n arrayCategories = generalStore.storedCategoriesOrga.filter((c: Category) => {\n return c.podcastOrganisationCount;\n });\n } else {\n arrayCategories = generalStore.storedCategories.filter((c: Category) => {\n if (state.generalParameters.podcastmaker) return c.podcastOrganisationCount;\n return c.podcastCount;\n });\n }\n emit(\"categoriesLength\", arrayCategories.length);\n return arrayCategories;\n});\nconst watchVariable = computed(() => `${props.isDisplay}|${categories.value}`);\nconst reloadVariable = computed(() => `${filterStore.filterOrgaId}|${generalStore.storedCategories}`);\n\n\n//Watch\nwatch(watchVariable, () => {\n nextTick(() => {\n resizeWindow();\n });\n}, {deep: true, immediate: true});\nwatch(reloadVariable, () => {\n if (filterStore.filterOrgaId) {\n fetchCategories(filterStore.filterOrgaId);\n }\n}, {deep: true, immediate: true});\n\n\nonMounted(()=>window.addEventListener(\"resize\", resizeWindow))\nonUnmounted(()=>window.removeEventListener(\"resize\", resizeWindow))\n\n\n//Methods\nfunction checkIfFilter(category: Category): void {\n if (!props.isFilter) {\n router.push({\n name: \"category\",\n params: { iabId: category.id.toString() },\n });\n return;\n }\n const queries = route.query;\n if (\n !queries.iabId ||\n (\"string\" === typeof queries.iabId &&\n parseInt(queries.iabId, 10) !== category.id)\n ) {\n updateFiltersParam(\n { iabId: category.id.toString() },\n { i: category.id.toString() },\n );\n }\n}\nfunction resizeWindow(): void {\n const categoryList = categoryListRef?.value as HTMLElement;\n if (null === categoryList || !categoryList) {\n return;\n }\n categoryList.style.justifyContent = \"flex-start\";\n hidenCategories.value.length = 0;\n categories.value.forEach((element: Category) => {\n const el = categoryList.querySelector('#category' + element.id);\n if (!el) return;\n if (el.classList.contains(\"hid\")) {\n el.classList.remove(\"hid\");\n }\n });\n categories.value.forEach((element: Category) => {\n const el = categoryList.querySelector('#category' + element.id);\n if (!el) return;\n const parent = el.parentElement;\n if (\n parent &&\n el.offsetLeft + el.clientWidth <= parent.clientWidth - 20\n ) {\n return;\n }\n hidenCategories.value.push(element);\n if (!el.classList.contains(\"hid\")) {\n el.className += \" hid\";\n }\n });\n if (!hidenCategories.value.length) {\n categoryList.style.justifyContent = \"center\";\n }\n}\nasync function fetchCategories(organisationId: string): Promise<void> {\n const data = await classicApi.fetchData<Array<Category>>({\n api: 0,\n path: `iab/list/${organisationId}`,\n parameters: { lang: locale.value },\n });\n generalStore.storedUpdateCategoriesOrga(data);\n}\n</script>\n<style lang=\"scss\">\n.octopus-app {\n .category-list-container {\n display: inline-flex;\n justify-content: flex-start;\n overflow: hidden;\n flex-grow: 1;\n width: 0;\n }\n}\n</style>\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategoryList-DHEJoaez.mjs","names":[],"sources":["../src/components/display/categories/CategoryList.vue","../src/components/display/categories/CategoryList.vue"],"sourcesContent":["<template>\n <div\n v-if=\"categories.length\"\n class=\"d-inline-flex w-100 mb-3 ps-3 pe-3 category-list hide-phone\"\n >\n <div ref=\"categoryListContainer\" class=\"category-list-container\">\n <button\n v-for=\"category in categories\"\n :id=\"'category' + category.id\"\n :key=\"category.id\"\n class=\"btn btn-primary btn-on-dark m-1\"\n @click=\"checkIfFilter(category)\"\n >\n {{ category.name }}\n </button>\n </div>\n <button\n v-show=\"hidenCategories.length\"\n id=\"categories-dropdown\"\n class=\"btn btn-primary btn-on-dark m-1\"\n :title=\"t('See more')\"\n >\n <PlusIcon />\n </button>\n <ClassicPopover\n target=\"categories-dropdown\"\n :only-click=\"true\"\n :left-pos=\"true\"\n >\n <button\n v-for=\"category in hidenCategories\"\n :key=\"category.id\"\n class=\"me-3 octopus-dropdown-item\"\n @keydown.enter=\"checkIfFilter(category)\"\n @mousedown=\"checkIfFilter(category)\"\n >\n {{ category.name }}\n </button>\n </ClassicPopover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport PlusIcon from \"vue-material-design-icons/Plus.vue\";\nimport { useRouteUpdateParams } from \"../../composable/route/useRouteUpdateParams\";\nimport classicApi from \"../../../api/classicApi\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport ClassicPopover from \"../../misc/ClassicPopover.vue\";\nimport { Category } from \"@/stores/class/general/category\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { computed, nextTick, onMounted, onUnmounted, Ref, ref, useTemplateRef, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute, useRouter } from \"vue-router\";\n\n//Props \nconst props = defineProps({\n isFilter: { default: false, type: Boolean },\n isDisplay: { default: false, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits([\"categoriesLength\"]);\n\n//Data \nconst hidenCategories: Ref<Array<Category>> = ref([]);\nconst categoryListRef = useTemplateRef('categoryListContainer');\n\n//Composables\nconst { t, locale } = useI18n();\nconst { updateFiltersParam } = useRouteUpdateParams();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst router = useRouter();\nconst route = useRoute();\n\n//Computed\nconst categories = computed(() => {\n let arrayCategories: Array<Category> = [];\n if (filterStore.filterOrgaId) {\n arrayCategories = generalStore.storedCategoriesOrga.filter((c: Category) => {\n return c.podcastOrganisationCount;\n });\n } else {\n arrayCategories = generalStore.storedCategories.filter((c: Category) => {\n if (state.generalParameters.podcastmaker) return c.podcastOrganisationCount;\n return c.podcastCount;\n });\n }\n emit(\"categoriesLength\", arrayCategories.length);\n return arrayCategories;\n});\nconst watchVariable = computed(() => `${props.isDisplay}|${categories.value}`);\nconst reloadVariable = computed(() => `${filterStore.filterOrgaId}|${generalStore.storedCategories}`);\n\n\n//Watch\nwatch(watchVariable, () => {\n nextTick(() => {\n resizeWindow();\n });\n}, {deep: true, immediate: true});\nwatch(reloadVariable, () => {\n if (filterStore.filterOrgaId) {\n fetchCategories(filterStore.filterOrgaId);\n }\n}, {deep: true, immediate: true});\n\n\nonMounted(()=>window.addEventListener(\"resize\", resizeWindow))\nonUnmounted(()=>window.removeEventListener(\"resize\", resizeWindow))\n\n\n//Methods\nfunction checkIfFilter(category: Category): void {\n if (!props.isFilter) {\n router.push({\n name: \"category\",\n params: { iabId: category.id.toString() },\n });\n return;\n }\n const queries = route.query;\n if (\n !queries.iabId ||\n (\"string\" === typeof queries.iabId &&\n parseInt(queries.iabId, 10) !== category.id)\n ) {\n updateFiltersParam(\n { iabId: category.id.toString() },\n { i: category.id.toString() },\n );\n }\n}\nfunction resizeWindow(): void {\n const categoryList = categoryListRef?.value as HTMLElement;\n if (null === categoryList || !categoryList) {\n return;\n }\n categoryList.style.justifyContent = \"flex-start\";\n hidenCategories.value.length = 0;\n categories.value.forEach((element: Category) => {\n const el = categoryList.querySelector('#category' + element.id);\n if (!el) return;\n if (el.classList.contains(\"hid\")) {\n el.classList.remove(\"hid\");\n }\n });\n categories.value.forEach((element: Category) => {\n const el = categoryList.querySelector('#category' + element.id);\n if (!el) return;\n const parent = el.parentElement;\n if (\n parent &&\n el.offsetLeft + el.clientWidth <= parent.clientWidth - 20\n ) {\n return;\n }\n hidenCategories.value.push(element);\n if (!el.classList.contains(\"hid\")) {\n el.className += \" hid\";\n }\n });\n if (!hidenCategories.value.length) {\n categoryList.style.justifyContent = \"center\";\n }\n}\nasync function fetchCategories(organisationId: string): Promise<void> {\n const data = await classicApi.fetchData<Array<Category>>({\n api: 0,\n path: `iab/list/${organisationId}`,\n parameters: { lang: locale.value },\n });\n generalStore.storedUpdateCategoriesOrga(data);\n}\n</script>\n<style lang=\"scss\">\n.octopus-app {\n .category-list-container {\n display: inline-flex;\n justify-content: flex-start;\n overflow: hidden;\n flex-grow: 1;\n width: 0;\n }\n}\n</style>\n","<template>\n <div\n v-if=\"categories.length\"\n class=\"d-inline-flex w-100 mb-3 ps-3 pe-3 category-list hide-phone\"\n >\n <div ref=\"categoryListContainer\" class=\"category-list-container\">\n <button\n v-for=\"category in categories\"\n :id=\"'category' + category.id\"\n :key=\"category.id\"\n class=\"btn btn-primary btn-on-dark m-1\"\n @click=\"checkIfFilter(category)\"\n >\n {{ category.name }}\n </button>\n </div>\n <button\n v-show=\"hidenCategories.length\"\n id=\"categories-dropdown\"\n class=\"btn btn-primary btn-on-dark m-1\"\n :title=\"t('See more')\"\n >\n <PlusIcon />\n </button>\n <ClassicPopover\n target=\"categories-dropdown\"\n :only-click=\"true\"\n :left-pos=\"true\"\n >\n <button\n v-for=\"category in hidenCategories\"\n :key=\"category.id\"\n class=\"me-3 octopus-dropdown-item\"\n @keydown.enter=\"checkIfFilter(category)\"\n @mousedown=\"checkIfFilter(category)\"\n >\n {{ category.name }}\n </button>\n </ClassicPopover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport PlusIcon from \"vue-material-design-icons/Plus.vue\";\nimport { useRouteUpdateParams } from \"../../composable/route/useRouteUpdateParams\";\nimport classicApi from \"../../../api/classicApi\";\nimport { state } from \"../../../stores/ParamSdkStore\";\nimport ClassicPopover from \"../../misc/ClassicPopover.vue\";\nimport { Category } from \"@/stores/class/general/category\";\nimport { useFilterStore } from \"../../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { computed, nextTick, onMounted, onUnmounted, Ref, ref, useTemplateRef, watch } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { useRoute, useRouter } from \"vue-router\";\n\n//Props \nconst props = defineProps({\n isFilter: { default: false, type: Boolean },\n isDisplay: { default: false, type: Boolean },\n})\n\n//Emits\nconst emit = defineEmits([\"categoriesLength\"]);\n\n//Data \nconst hidenCategories: Ref<Array<Category>> = ref([]);\nconst categoryListRef = useTemplateRef('categoryListContainer');\n\n//Composables\nconst { t, locale } = useI18n();\nconst { updateFiltersParam } = useRouteUpdateParams();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\nconst router = useRouter();\nconst route = useRoute();\n\n//Computed\nconst categories = computed(() => {\n let arrayCategories: Array<Category> = [];\n if (filterStore.filterOrgaId) {\n arrayCategories = generalStore.storedCategoriesOrga.filter((c: Category) => {\n return c.podcastOrganisationCount;\n });\n } else {\n arrayCategories = generalStore.storedCategories.filter((c: Category) => {\n if (state.generalParameters.podcastmaker) return c.podcastOrganisationCount;\n return c.podcastCount;\n });\n }\n emit(\"categoriesLength\", arrayCategories.length);\n return arrayCategories;\n});\nconst watchVariable = computed(() => `${props.isDisplay}|${categories.value}`);\nconst reloadVariable = computed(() => `${filterStore.filterOrgaId}|${generalStore.storedCategories}`);\n\n\n//Watch\nwatch(watchVariable, () => {\n nextTick(() => {\n resizeWindow();\n });\n}, {deep: true, immediate: true});\nwatch(reloadVariable, () => {\n if (filterStore.filterOrgaId) {\n fetchCategories(filterStore.filterOrgaId);\n }\n}, {deep: true, immediate: true});\n\n\nonMounted(()=>window.addEventListener(\"resize\", resizeWindow))\nonUnmounted(()=>window.removeEventListener(\"resize\", resizeWindow))\n\n\n//Methods\nfunction checkIfFilter(category: Category): void {\n if (!props.isFilter) {\n router.push({\n name: \"category\",\n params: { iabId: category.id.toString() },\n });\n return;\n }\n const queries = route.query;\n if (\n !queries.iabId ||\n (\"string\" === typeof queries.iabId &&\n parseInt(queries.iabId, 10) !== category.id)\n ) {\n updateFiltersParam(\n { iabId: category.id.toString() },\n { i: category.id.toString() },\n );\n }\n}\nfunction resizeWindow(): void {\n const categoryList = categoryListRef?.value as HTMLElement;\n if (null === categoryList || !categoryList) {\n return;\n }\n categoryList.style.justifyContent = \"flex-start\";\n hidenCategories.value.length = 0;\n categories.value.forEach((element: Category) => {\n const el = categoryList.querySelector('#category' + element.id);\n if (!el) return;\n if (el.classList.contains(\"hid\")) {\n el.classList.remove(\"hid\");\n }\n });\n categories.value.forEach((element: Category) => {\n const el = categoryList.querySelector('#category' + element.id);\n if (!el) return;\n const parent = el.parentElement;\n if (\n parent &&\n el.offsetLeft + el.clientWidth <= parent.clientWidth - 20\n ) {\n return;\n }\n hidenCategories.value.push(element);\n if (!el.classList.contains(\"hid\")) {\n el.className += \" hid\";\n }\n });\n if (!hidenCategories.value.length) {\n categoryList.style.justifyContent = \"center\";\n }\n}\nasync function fetchCategories(organisationId: string): Promise<void> {\n const data = await classicApi.fetchData<Array<Category>>({\n api: 0,\n path: `iab/list/${organisationId}`,\n parameters: { lang: locale.value },\n });\n generalStore.storedUpdateCategoriesOrga(data);\n}\n</script>\n<style lang=\"scss\">\n.octopus-app {\n .category-list-container {\n display: inline-flex;\n justify-content: flex-start;\n overflow: hidden;\n flex-grow: 1;\n width: 0;\n }\n}\n</style>\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategoryPage-BbsCC3Wr.mjs","names":[],"sources":["../src/components/pages/CategoryPage.vue","../src/components/pages/CategoryPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <h1>{{ title }}</h1>\n <PodcastList\n :first=\"0\"\n :size=\"30\"\n :iab-id=\"iabId\"\n :organisation-id=\"orgaArray\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { computed, watch } from \"vue\";\nimport { Category } from \"@/stores/class/general/category\";\n\n\n//Props \nconst props = defineProps({\n iabId: { default: undefined, type: Number },\n})\n\n//Composables\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\n\n//Computed\nconst orgaArray = computed(() => filterStore.filterOrgaId ? [filterStore.filterOrgaId] : []);\nconst title = computed(() => {\n const matchCategories = generalStore.storedCategories.filter(\n (c: Category) => c.id === props.iabId,\n );\n if (1 !== matchCategories.length) return \"\";\n return matchCategories[0][\"name\"];\n});\n\n\n//Watch\nwatch(title, () => {\n document.title = title.value + ' - ' + generalStore.metaTitle\n}, {immediate: true});\n\n</script>\n","<template>\n <section class=\"page-box\">\n <h1>{{ title }}</h1>\n <PodcastList\n :first=\"0\"\n :size=\"30\"\n :iab-id=\"iabId\"\n :organisation-id=\"orgaArray\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { computed, watch } from \"vue\";\nimport { Category } from \"@/stores/class/general/category\";\n\n\n//Props \nconst props = defineProps({\n iabId: { default: undefined, type: Number },\n})\n\n//Composables\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\n\n//Computed\nconst orgaArray = computed(() => filterStore.filterOrgaId ? [filterStore.filterOrgaId] : []);\nconst title = computed(() => {\n const matchCategories = generalStore.storedCategories.filter(\n (c: Category) => c.id === props.iabId,\n );\n if (1 !== matchCategories.length) return \"\";\n return matchCategories[0][\"name\"];\n});\n\n\n//Watch\nwatch(title, () => {\n document.title = title.value + ' - ' + generalStore.metaTitle\n}, {immediate: true});\n\n</script>\n"],"mappings":";;;;;;;;;;;;;;EAqBA,MAAM,QAAQ;EAKd,MAAM,eAAe,gBAAgB;EACrC,MAAM,cAAc,eAAe;EAGnC,MAAM,YAAY,eAAe,YAAY,eAAe,CAAC,YAAY,YAAY,IAAI,CAAC,CAAC;EAC3F,MAAM,QAAQ,eAAe;GAC3B,MAAM,kBAAkB,aAAa,iBAAiB,QACnD,MAAgB,EAAE,OAAO,MAAM,KAClC;GACA,IAAI,MAAM,gBAAgB,QAAQ,OAAO;GACzC,OAAO,gBAAgB,GAAG;EAC5B,CAAC;EAID,MAAM,aAAa;GACjB,SAAS,QAAQ,MAAM,QAAQ,QAAQ,aAAa;EACtD,GAAG,EAAC,WAAW,KAAI,CAAC;;;;;;;;;;;;;;;;;;mBC1CT,OAAM,WAAU;;qBAAzB,mBAQU,WARV,YAQU,CAPR,mBAAoB,MAAA,MAAA,gBAAb,OAAA,KAAK,GAAA,CAAA,GACZ,YAKE,OAAA,gBAAA;EAJC,OAAO;EACP,MAAM;EACN,UAAQ,OAAA;EACR,mBAAiB,OAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategoryPage-BxvUmThb.mjs","names":[],"sources":["../src/components/pages/CategoryPage.vue","../src/components/pages/CategoryPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <h1>{{ title }}</h1>\n <PodcastList\n :first=\"0\"\n :size=\"30\"\n :iab-id=\"iabId\"\n :organisation-id=\"orgaArray\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { computed, watch } from \"vue\";\nimport { Category } from \"@/stores/class/general/category\";\n\n\n//Props \nconst props = defineProps({\n iabId: { default: undefined, type: Number },\n})\n\n//Composables\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\n\n//Computed\nconst orgaArray = computed(() => filterStore.filterOrgaId ? [filterStore.filterOrgaId] : []);\nconst title = computed(() => {\n const matchCategories = generalStore.storedCategories.filter(\n (c: Category) => c.id === props.iabId,\n );\n if (1 !== matchCategories.length) return \"\";\n return matchCategories[0][\"name\"];\n});\n\n\n//Watch\nwatch(title, () => {\n document.title = title.value + ' - ' + generalStore.metaTitle\n}, {immediate: true});\n\n</script>\n","<template>\n <section class=\"page-box\">\n <h1>{{ title }}</h1>\n <PodcastList\n :first=\"0\"\n :size=\"30\"\n :iab-id=\"iabId\"\n :organisation-id=\"orgaArray\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { computed, watch } from \"vue\";\nimport { Category } from \"@/stores/class/general/category\";\n\n\n//Props \nconst props = defineProps({\n iabId: { default: undefined, type: Number },\n})\n\n//Composables\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\n\n//Computed\nconst orgaArray = computed(() => filterStore.filterOrgaId ? [filterStore.filterOrgaId] : []);\nconst title = computed(() => {\n const matchCategories = generalStore.storedCategories.filter(\n (c: Category) => c.id === props.iabId,\n );\n if (1 !== matchCategories.length) return \"\";\n return matchCategories[0][\"name\"];\n});\n\n\n//Watch\nwatch(title, () => {\n document.title = title.value + ' - ' + generalStore.metaTitle\n}, {immediate: true});\n\n</script>\n"],"mappings":";;;;;;;;;;;;;;EAqBA,MAAM,QAAQ;EAKd,MAAM,eAAe,gBAAgB;EACrC,MAAM,cAAc,eAAe;EAGnC,MAAM,YAAY,eAAe,YAAY,eAAe,CAAC,YAAY,YAAY,IAAI,CAAC,CAAC;EAC3F,MAAM,QAAQ,eAAe;GAC3B,MAAM,kBAAkB,aAAa,iBAAiB,QACnD,MAAgB,EAAE,OAAO,MAAM,KAClC;GACA,IAAI,MAAM,gBAAgB,QAAQ,OAAO;GACzC,OAAO,gBAAgB,GAAG;EAC5B,CAAC;EAID,MAAM,aAAa;GACjB,SAAS,QAAQ,MAAM,QAAQ,QAAQ,aAAa;EACtD,GAAG,EAAC,WAAW,KAAI,CAAC;;;;;;;;;;;;;;;;;;mBC1CT,OAAM,WAAU;;qBAAzB,mBAQU,WARV,YAQU,CAPR,mBAAoB,MAAA,MAAA,gBAAb,OAAA,KAAK,GAAA,CAAA,GACZ,YAKE,OAAA,gBAAA;EAJC,OAAO;EACP,MAAM;EACN,UAAQ,OAAA;EACR,mBAAiB,OAAA"}
@@ -1,7 +1,7 @@
1
1
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
2
- import { r as useFilterStore } from "./classicApi-CkDHWZG1.mjs";
2
+ import { r as useFilterStore } from "./classicApi-xjOqAovv.mjs";
3
3
  import { t as useGeneralStore } from "./GeneralStore-CUlq_NjO.mjs";
4
- import { t as PodcastList_default } from "./PodcastList-c0Iwzakm.mjs";
4
+ import { t as PodcastList_default } from "./PodcastList-DhKeiBbv.mjs";
5
5
  import { computed, createElementBlock, createElementVNode, createVNode, defineComponent, openBlock, toDisplayString, watch } from "vue";
6
6
  //#region src/components/pages/CategoryPage.vue?vue&type=script&setup=true&lang.ts
7
7
  var CategoryPage_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
@@ -54,4 +54,4 @@ var CategoryPage_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Categ
54
54
  //#endregion
55
55
  export { CategoryPage_default as default };
56
56
 
57
- //# sourceMappingURL=CategoryPage-3HFz1i7_.mjs.map
57
+ //# sourceMappingURL=CategoryPage-D755GvQZ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategoryPage-D755GvQZ.mjs","names":[],"sources":["../src/components/pages/CategoryPage.vue","../src/components/pages/CategoryPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <h1>{{ title }}</h1>\n <PodcastList\n :first=\"0\"\n :size=\"30\"\n :iab-id=\"iabId\"\n :organisation-id=\"orgaArray\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { computed, watch } from \"vue\";\nimport { Category } from \"@/stores/class/general/category\";\n\n\n//Props \nconst props = defineProps({\n iabId: { default: undefined, type: Number },\n})\n\n//Composables\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\n\n//Computed\nconst orgaArray = computed(() => filterStore.filterOrgaId ? [filterStore.filterOrgaId] : []);\nconst title = computed(() => {\n const matchCategories = generalStore.storedCategories.filter(\n (c: Category) => c.id === props.iabId,\n );\n if (1 !== matchCategories.length) return \"\";\n return matchCategories[0][\"name\"];\n});\n\n\n//Watch\nwatch(title, () => {\n document.title = title.value + ' - ' + generalStore.metaTitle\n}, {immediate: true});\n\n</script>\n","<template>\n <section class=\"page-box\">\n <h1>{{ title }}</h1>\n <PodcastList\n :first=\"0\"\n :size=\"30\"\n :iab-id=\"iabId\"\n :organisation-id=\"orgaArray\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { computed, watch } from \"vue\";\nimport { Category } from \"@/stores/class/general/category\";\n\n\n//Props \nconst props = defineProps({\n iabId: { default: undefined, type: Number },\n})\n\n//Composables\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\n\n//Computed\nconst orgaArray = computed(() => filterStore.filterOrgaId ? [filterStore.filterOrgaId] : []);\nconst title = computed(() => {\n const matchCategories = generalStore.storedCategories.filter(\n (c: Category) => c.id === props.iabId,\n );\n if (1 !== matchCategories.length) return \"\";\n return matchCategories[0][\"name\"];\n});\n\n\n//Watch\nwatch(title, () => {\n document.title = title.value + ' - ' + generalStore.metaTitle\n}, {immediate: true});\n\n</script>\n"],"mappings":";;;;;;;;;;;;;;EAqBA,MAAM,QAAQ;EAKd,MAAM,eAAe,gBAAgB;EACrC,MAAM,cAAc,eAAe;EAGnC,MAAM,YAAY,eAAe,YAAY,eAAe,CAAC,YAAY,YAAY,IAAI,CAAC,CAAC;EAC3F,MAAM,QAAQ,eAAe;GAC3B,MAAM,kBAAkB,aAAa,iBAAiB,QACnD,MAAgB,EAAE,OAAO,MAAM,KAClC;GACA,IAAI,MAAM,gBAAgB,QAAQ,OAAO;GACzC,OAAO,gBAAgB,GAAG;EAC5B,CAAC;EAID,MAAM,aAAa;GACjB,SAAS,QAAQ,MAAM,QAAQ,QAAQ,aAAa;EACtD,GAAG,EAAC,WAAW,KAAI,CAAC;;;;;;;;;;;;;;;;;;mBC1CT,OAAM,WAAU;;qBAAzB,mBAQU,WARV,YAQU,CAPR,mBAAoB,MAAA,MAAA,gBAAb,OAAA,KAAK,GAAA,CAAA,GACZ,YAKE,OAAA,gBAAA;EAJC,OAAO;EACP,MAAM;EACN,UAAQ,OAAA;EACR,mBAAiB,OAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategoryPage-DDBJ2krs.mjs","names":[],"sources":["../src/components/pages/CategoryPage.vue","../src/components/pages/CategoryPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <h1>{{ title }}</h1>\n <PodcastList\n :first=\"0\"\n :size=\"30\"\n :iab-id=\"iabId\"\n :organisation-id=\"orgaArray\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { computed, watch } from \"vue\";\nimport { Category } from \"@/stores/class/general/category\";\n\n\n//Props \nconst props = defineProps({\n iabId: { default: undefined, type: Number },\n})\n\n//Composables\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\n\n//Computed\nconst orgaArray = computed(() => filterStore.filterOrgaId ? [filterStore.filterOrgaId] : []);\nconst title = computed(() => {\n const matchCategories = generalStore.storedCategories.filter(\n (c: Category) => c.id === props.iabId,\n );\n if (1 !== matchCategories.length) return \"\";\n return matchCategories[0][\"name\"];\n});\n\n\n//Watch\nwatch(title, () => {\n document.title = title.value + ' - ' + generalStore.metaTitle\n}, {immediate: true});\n\n</script>\n","<template>\n <section class=\"page-box\">\n <h1>{{ title }}</h1>\n <PodcastList\n :first=\"0\"\n :size=\"30\"\n :iab-id=\"iabId\"\n :organisation-id=\"orgaArray\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { computed, watch } from \"vue\";\nimport { Category } from \"@/stores/class/general/category\";\n\n\n//Props \nconst props = defineProps({\n iabId: { default: undefined, type: Number },\n})\n\n//Composables\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\n\n//Computed\nconst orgaArray = computed(() => filterStore.filterOrgaId ? [filterStore.filterOrgaId] : []);\nconst title = computed(() => {\n const matchCategories = generalStore.storedCategories.filter(\n (c: Category) => c.id === props.iabId,\n );\n if (1 !== matchCategories.length) return \"\";\n return matchCategories[0][\"name\"];\n});\n\n\n//Watch\nwatch(title, () => {\n document.title = title.value + ' - ' + generalStore.metaTitle\n}, {immediate: true});\n\n</script>\n"],"mappings":";;;;;;;;;;;;;;EAqBA,MAAM,QAAQ;EAKd,MAAM,eAAe,gBAAgB;EACrC,MAAM,cAAc,eAAe;EAGnC,MAAM,YAAY,eAAe,YAAY,eAAe,CAAC,YAAY,YAAY,IAAI,CAAC,CAAC;EAC3F,MAAM,QAAQ,eAAe;GAC3B,MAAM,kBAAkB,aAAa,iBAAiB,QACnD,MAAgB,EAAE,OAAO,MAAM,KAClC;GACA,IAAI,MAAM,gBAAgB,QAAQ,OAAO;GACzC,OAAO,gBAAgB,GAAG;EAC5B,CAAC;EAID,MAAM,aAAa;GACjB,SAAS,QAAQ,MAAM,QAAQ,QAAQ,aAAa;EACtD,GAAG,EAAC,WAAW,KAAI,CAAC;;;;;;;;;;;;;;;;;;mBC1CT,OAAM,WAAU;;qBAAzB,mBAQU,WARV,YAQU,CAPR,mBAAoB,MAAA,MAAA,gBAAb,OAAA,KAAK,GAAA,CAAA,GACZ,YAKE,OAAA,gBAAA;EAJC,OAAO;EACP,MAAM;EACN,UAAQ,OAAA;EACR,mBAAiB,OAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategoryPage-DRCYjOqG.mjs","names":[],"sources":["../src/components/pages/CategoryPage.vue","../src/components/pages/CategoryPage.vue"],"sourcesContent":["<template>\n <section class=\"page-box\">\n <h1>{{ title }}</h1>\n <PodcastList\n :first=\"0\"\n :size=\"30\"\n :iab-id=\"iabId\"\n :organisation-id=\"orgaArray\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { computed, watch } from \"vue\";\nimport { Category } from \"@/stores/class/general/category\";\n\n\n//Props \nconst props = defineProps({\n iabId: { default: undefined, type: Number },\n})\n\n//Composables\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\n\n//Computed\nconst orgaArray = computed(() => filterStore.filterOrgaId ? [filterStore.filterOrgaId] : []);\nconst title = computed(() => {\n const matchCategories = generalStore.storedCategories.filter(\n (c: Category) => c.id === props.iabId,\n );\n if (1 !== matchCategories.length) return \"\";\n return matchCategories[0][\"name\"];\n});\n\n\n//Watch\nwatch(title, () => {\n document.title = title.value + ' - ' + generalStore.metaTitle\n}, {immediate: true});\n\n</script>\n","<template>\n <section class=\"page-box\">\n <h1>{{ title }}</h1>\n <PodcastList\n :first=\"0\"\n :size=\"30\"\n :iab-id=\"iabId\"\n :organisation-id=\"orgaArray\"\n />\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport PodcastList from \"../display/podcasts/PodcastList.vue\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { computed, watch } from \"vue\";\nimport { Category } from \"@/stores/class/general/category\";\n\n\n//Props \nconst props = defineProps({\n iabId: { default: undefined, type: Number },\n})\n\n//Composables\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\n\n//Computed\nconst orgaArray = computed(() => filterStore.filterOrgaId ? [filterStore.filterOrgaId] : []);\nconst title = computed(() => {\n const matchCategories = generalStore.storedCategories.filter(\n (c: Category) => c.id === props.iabId,\n );\n if (1 !== matchCategories.length) return \"\";\n return matchCategories[0][\"name\"];\n});\n\n\n//Watch\nwatch(title, () => {\n document.title = title.value + ' - ' + generalStore.metaTitle\n}, {immediate: true});\n\n</script>\n"],"mappings":";;;;;;;;;;;;;;EAqBA,MAAM,QAAQ;EAKd,MAAM,eAAe,gBAAgB;EACrC,MAAM,cAAc,eAAe;EAGnC,MAAM,YAAY,eAAe,YAAY,eAAe,CAAC,YAAY,YAAY,IAAI,CAAC,CAAC;EAC3F,MAAM,QAAQ,eAAe;GAC3B,MAAM,kBAAkB,aAAa,iBAAiB,QACnD,MAAgB,EAAE,OAAO,MAAM,KAClC;GACA,IAAI,MAAM,gBAAgB,QAAQ,OAAO;GACzC,OAAO,gBAAgB,GAAG;EAC5B,CAAC;EAID,MAAM,aAAa;GACjB,SAAS,QAAQ,MAAM,QAAQ,QAAQ,aAAa;EACtD,GAAG,EAAC,WAAW,KAAI,CAAC;;;;;;;;;;;;;;;;;;mBC1CT,OAAM,WAAU;;qBAAzB,mBAQU,WARV,YAQU,CAPR,mBAAoB,MAAA,MAAA,gBAAb,OAAA,KAAK,GAAA,CAAA,GACZ,YAKE,OAAA,gBAAA;EAJC,OAAO;EACP,MAAM;EACN,UAAQ,OAAA;EACR,mBAAiB,OAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChapteringModal-CSQqCWIk.mjs","names":[],"sources":["../src/components/misc/player/chaptering/ChapteringModal.vue","../src/components/misc/player/chaptering/ChapteringModal.vue"],"sourcesContent":["<template>\n <ClassicModal\n id-modal=\"chaptering-modal\"\n :title-modal=\"t('Chaptering')\"\n @close=\"closePopup\"\n >\n <template #body>\n <div class=\"d-flex flex-column\">\n <button\n v-for=\"(chapter, index) in playerStore.playerChapteringPercent\"\n :key=\"chapter\"\n class=\"btn d-flex flex-nowrap align-items-center p-2 mt-1 c-hand text-truncate mb-1\"\n :class=\"actualChapter === index ? 'chapter-selected' : 'border'\"\n @click=\"goToChapter(index)\"\n >\n <div class=\"d-flex align-items-center me-auto\">\n <WaveformIcon v-if=\"actualChapter === index\" />\n <div v-else>{{ index + 1 }}</div>\n <div class=\"ms-2\">{{ \"- \" + chapter.title }}</div>\n </div>\n <div>{{ chapter.startDisplay }}</div>\n </button>\n </div>\n </template>\n <template #footer>\n <button class=\"btn m-1\" @click=\"closePopup\">\n {{ t(\"Close\") }}\n </button>\n </template>\n </ClassicModal>\n</template>\n\n<script setup lang=\"ts\">\nimport WaveformIcon from \"vue-material-design-icons/Waveform.vue\";\nimport { usePlayerStore } from \"../../../../stores/PlayerStore\";\nimport ClassicModal from \"../../modal/ClassicModal.vue\";\nimport { onMounted, Ref, ref } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \ndefineProps({\n actualChapter: { default: -1, type: Number }\n})\n\n//Emits\nconst emit = defineEmits([\"close\"]);\n\n//Data \nconst audioPlayer : Ref<HTMLAudioElement | null>= ref(null);\n\n//Composables\nconst { t } = useI18n();\nconst playerStore = usePlayerStore();\n\n\nonMounted(()=>{\n audioPlayer.value = document.querySelector(\"#audio-player\");\n})\n\n//Methods\nfunction closePopup(): void {\n emit(\"close\");\n}\nfunction goToChapter(index: number) {\n if (!playerStore.playerChapteringPercent || !audioPlayer.value) {\n return;\n }\n const seekTime =\n playerStore.playerTotal *\n (playerStore.playerChapteringPercent[index].startPercent / 100);\n playerStore.playerUpdateSeekTime(seekTime);\n if (0 === seekTime) {\n playerStore.playerUpdateElapsed(0);\n }\n audioPlayer.value.currentTime = seekTime;\n}\n</script>\n<style lang=\"scss\">\n\n.octopus-app .chapter-selected {\n border: var(--octopus-primary) 3px solid;\n}\n</style>\n","<template>\n <ClassicModal\n id-modal=\"chaptering-modal\"\n :title-modal=\"t('Chaptering')\"\n @close=\"closePopup\"\n >\n <template #body>\n <div class=\"d-flex flex-column\">\n <button\n v-for=\"(chapter, index) in playerStore.playerChapteringPercent\"\n :key=\"chapter\"\n class=\"btn d-flex flex-nowrap align-items-center p-2 mt-1 c-hand text-truncate mb-1\"\n :class=\"actualChapter === index ? 'chapter-selected' : 'border'\"\n @click=\"goToChapter(index)\"\n >\n <div class=\"d-flex align-items-center me-auto\">\n <WaveformIcon v-if=\"actualChapter === index\" />\n <div v-else>{{ index + 1 }}</div>\n <div class=\"ms-2\">{{ \"- \" + chapter.title }}</div>\n </div>\n <div>{{ chapter.startDisplay }}</div>\n </button>\n </div>\n </template>\n <template #footer>\n <button class=\"btn m-1\" @click=\"closePopup\">\n {{ t(\"Close\") }}\n </button>\n </template>\n </ClassicModal>\n</template>\n\n<script setup lang=\"ts\">\nimport WaveformIcon from \"vue-material-design-icons/Waveform.vue\";\nimport { usePlayerStore } from \"../../../../stores/PlayerStore\";\nimport ClassicModal from \"../../modal/ClassicModal.vue\";\nimport { onMounted, Ref, ref } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \ndefineProps({\n actualChapter: { default: -1, type: Number }\n})\n\n//Emits\nconst emit = defineEmits([\"close\"]);\n\n//Data \nconst audioPlayer : Ref<HTMLAudioElement | null>= ref(null);\n\n//Composables\nconst { t } = useI18n();\nconst playerStore = usePlayerStore();\n\n\nonMounted(()=>{\n audioPlayer.value = document.querySelector(\"#audio-player\");\n})\n\n//Methods\nfunction closePopup(): void {\n emit(\"close\");\n}\nfunction goToChapter(index: number) {\n if (!playerStore.playerChapteringPercent || !audioPlayer.value) {\n return;\n }\n const seekTime =\n playerStore.playerTotal *\n (playerStore.playerChapteringPercent[index].startPercent / 100);\n playerStore.playerUpdateSeekTime(seekTime);\n if (0 === seekTime) {\n playerStore.playerUpdateElapsed(0);\n }\n audioPlayer.value.currentTime = seekTime;\n}\n</script>\n<style lang=\"scss\">\n\n.octopus-app .chapter-selected {\n border: var(--octopus-primary) 3px solid;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;EA6CA,MAAM,OAAO;EAGb,MAAM,cAA4C,IAAI,IAAI;EAG1D,MAAM,EAAE,MAAM,QAAQ;EACtB,MAAM,cAAc,eAAe;EAGnC,gBAAc;GACZ,YAAY,QAAQ,SAAS,cAAc,eAAe;EAC5D,CAAC;EAGD,SAAS,aAAmB;GAC1B,KAAK,OAAO;EACd;EACA,SAAS,YAAY,OAAe;GAClC,IAAI,CAAC,YAAY,2BAA2B,CAAC,YAAY,OACvD;GAEF,MAAM,WACN,YAAY,eACT,YAAY,wBAAwB,OAAO,eAAe;GAC7D,YAAY,qBAAqB,QAAQ;GACzC,IAAI,MAAM,UACR,YAAY,oBAAoB,CAAC;GAEnC,YAAY,MAAM,cAAc;EAClC;;;;;;;;;;;;;;;;;;;;mBCpEW,OAAM,qBAAoB;;mBAQtB,OAAM,oCAAmC;;mBAGvC,OAAM,OAAM;;qBAjB3B,YA4Be,OAAA,iBAAA;EA3Bb,YAAS;EACR,eAAa,OAAA,EAAC,YAAA;EACd,SAAO,OAAA;;EAEG,MAAI,cAgBP,CAfN,mBAeM,OAfN,YAeM,EAAA,UAAA,IAAA,GAdJ,mBAaS,UAAA,MAAA,WAZoB,OAAA,YAAY,0BAA/B,SAAS,UAAK;uBADxB,mBAaS,UAAA;IAXN,KAAK;IACN,OAAK,eAAA,CAAC,gFACE,OAAA,kBAAkB,QAAK,qBAAA,QAAA,CAAA;IAC9B,UAAK,WAAE,OAAA,YAAY,KAAK;OAEzB,mBAIM,OAJN,YAIM,CAHgB,OAAA,kBAAkB,SAAA,UAAA,GAAtC,YAA+C,OAAA,iBAAA,EAAA,KAAA,EAAA,CAAA,MAAA,UAAA,GAC/C,mBAAiC,OAAA,YAAA,gBAAlB,QAAK,CAAA,GAAA,CAAA,IACpB,mBAAkD,OAAlD,YAAkD,gBAAA,OAAtB,QAAQ,KAAK,GAAA,CAAA,CAAA,CAAA,GAE3C,mBAAqC,OAAA,MAAA,gBAA7B,QAAQ,YAAY,GAAA,CAAA,CAAA,GAAA,IAAA,UAAA;;EAIvB,QAAM,cAGN,CAFT,mBAES,UAAA;GAFD,OAAM;GAAW,SAAO,OAAA;qBAC3B,OAAA,EAAC,OAAA,CAAA,GAAA,CAAA,CAAA,CAAA"}